基于点对点通信的数据流传输系统转让专利

申请号 : CN202310041164.8

文献号 : CN115955358B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 请求不公布姓名

申请人 : 北京唯科致远科技有限公司

摘要 :

本申请公开了一种基于点对点通信的数据流传输系统,包括:后台服务器和若干终端设备;后台服务器基于终端设备的连接请求获取组网的各终端设备的密匙并下发给各终端设备;各终端设备按照密匙传输顺序依次向各自对应的目标终端发送前面终端和自身的密匙以及对源终端的密匙进行验证,并由第一位和最后一位终端设备将通过密匙传输收集到的所有密匙上传至后台服务器;由后台服务器对上传的密匙进行验证,验证通过后确定至少两个终端设备组成一个终端组,并将分配给终端组的通信频段下发给终端组的各成员。通过快速安全的方式实现了多个终端设备间的组网,组网后的终端设备通过指定的通信频段实现点对点通信,提高了数据传输的安全性和隐蔽性。

权利要求 :

1.一种基于点对点通信的数据流传输系统,其特征在于,包括:后台服务器和若干终端设备;

终端设备向所述后台服务器发送连接请求,所述连接请求中包括至少两个终端设备的终端标识;

所述后台服务器基于所述连接请求中的终端标识,获取各终端设备的密匙,基于所述至少两个终端设备的密匙传输顺序确定各终端设备分别对应的源终端和目标终端,向各终端设备发送各终端设备分别对应的密匙、源终端和目标终端;其中,所述密匙传输顺序中排在第一位的第一终端设备的源终端为最后一位终端设备,除所述第一终端设备以外的任一终端设备的源终端为排在该终端设备前一位的终端设备,最后一位终端设备的目标终端为所述第一终端设备,除所述最后一位终端设备以外的任一终端设备的目标终端为排在该终端设备后一位的终端设备;

所述第一终端设备将所述第一终端设备的密匙发送给所述第一终端设备对应的目标终端;

除所述第一终端设备以外的任一终端设备在收到对应的源终端发送的密匙后对源终端的密匙进行验证,验证通过后将收到的源终端发送的密匙和所述任一终端设备的密匙一起发送给对应的目标终端;

所述最后一位终端设备将发送给对应的目标终端的密匙上传至所述后台服务器;

所述第一终端设备在收到对应的源终端发送的密匙后,对源终端的密匙进行验证,验证通过后将收到的源终端发送的密匙上传至所述后台服务器;

所述后台服务器对所述第一终端设备和所述最后一位终端设备上传的密匙进行验证,验证通过后确定所述至少两个终端设备组成一个终端组,并将分配给所述终端组的通信频段下发给所述终端组的各成员,使得所述终端组的各成员之间基于所述通信频段进行端到端数据流传输。

2.根据权利要求1所述的系统,其特征在于,所述至少两个终端设备中的任一终端设备若未在指定时间内收到对应的源终端设备发送的密匙,则向所述后台服务器上报连接失败信息。

3.根据权利要求1所述的系统,其特征在于,所述密匙包括:后台服务器信息、随机认证信息以及终端设备的认证信息;

各终端设备将各终端设备的认证码随密匙一起发送给对应的目标终端;

各终端设备从对应的源终端的密匙中获取后台服务器信息、源终端的认证信息,基于获取的后台服务器信息判断密匙是否为指定后台服务器发放的,判断获取的源终端的认证信息和源终端发送的认证码是否一致,若密匙是指定后台服务器发放的且认证信息和认证码一致,则密匙验证通过,否则终止本次连接并向所述后台服务器上报非法连接告警;

所述后台服务器对所述第一终端设备和所述最后一位终端设备上传的密匙中的随机认证信息进行验证,若上传的随机认证信息与所述后台服务器下发的随机认证信息一致,则密匙验证通过,否则终止本次连接并向各终端设备返回非法连接告警。

4.根据权利要求1所述的系统,其特征在于,所述后台服务器对所述第一终端设备和所述最后一位终端设备上传的密匙验证通过后,将指定加密方式发送给所述终端组的各成员,使得所述终端组的各成员通过所述指定加密方式对传输的数据流进行加密。

5.根据权利要求1至4任一所述的系统,其特征在于,每个终端设备包括5G通信模块,所述至少两个终端设备之间基于5G通信模块在所述通信频段上进行端到端数据流传输。

6.根据权利要求1至4任一所述的系统,其特征在于,所述若干终端设备包括控制终端和数据采集终端;

当一个控制终端为多个终端组的成员时,控制终端将当前使用的终端组添加到第一组别,将当前不使用的终端组添加到第二组别,其中,控制终端与第一组别中的终端组的成员之间进行数据流传输,控制终端与第二组别中的终端组的成员之间保持睡眠连接状态。

7.根据权利要求6所述的系统,其特征在于,所述控制终端若检测到与控制终端连接且向控制终端传输数据流的数据采集终端的数量大于所述控制终端的最大终端接入数量,则生成提示接入终端数量超过上限的告警信息。

8.根据权利要求6所述的系统,其特征在于,当一个终端组包含多个控制终端时,终端组内的数据采集终端获取各控制终端在终端组内的控制优先级,若收到至少两个控制终端的指令,则按照所述至少两个控制终端的控制优先级从高到低的顺序依次响应各控制终端的指令。

9.根据权利要求8所述的系统,其特征在于,当一个数据采集终端需要同时向多个控制终端传输数据流时,数据采集终端按照多个控制终端的优先级从高到低的顺序,依次为各控制终端分配传输数据流所需的通信资源,直至数据采集终端的通信资源分配完毕。

10.根据权利要求9所述的系统,其特征在于,未分配到带宽的终端组的第二控制终端向接收到数据采集终端的数据流的第一控制终端发送数据获取请求;

所述第一控制终端响应所述数据获取请求,将接收到的数据采集终端发送的数据流推送给所述第二控制终端。

说明书 :

基于点对点通信的数据流传输系统

技术领域

[0001] 本申请涉及通信技术领域,尤其涉及一种基于点对点通信的数据流传输系统。

背景技术

[0002] 随着物联网技术的日益成熟,物联网终端设备已经进入各行各业和千家万户,为用户带来了极大的便捷。以网络视频推流为例,用户可以在授权的情况下通过网络平台随时查看到目标设备提供的实时图像,这种远程访问、易于集成、易于开发、同时具有较强的灵活性就是基于互联网视频技术的优势。但是,随着物联网终端设备的广泛应用,大量用户访问网络平台容易造成网络拥堵,通过公网传输数据也存在较大的安全风险。因此,如何安全快速地读取物联网终端上的数据信息或者对物联网终端进行本地监控和调试,已成为亟待解决的问题,尤其是在无线网络带宽较窄的环境中。

发明内容

[0003] 本申请实施例提供一种基于点对点通信的数据流传输系统,通过快速安全的方式实现了多个终端设备间的组网,组网后的终端设备通过指定的通信频段实现点对点通信,提高了数据传输的安全性和隐蔽性。
[0004] 本申请实施例提供的一种基于点对点通信的数据流传输系统,包括:后台服务器和若干终端设备;
[0005] 终端设备向所述后台服务器发送连接请求,所述连接请求中包括至少两个终端设备的终端标识;
[0006] 所述后台服务器基于所述连接请求中的终端标识,获取各终端设备的密匙,基于所述至少两个终端设备的密匙传输顺序确定各终端设备分别对应的源终端和目标终端,向各终端设备发送各终端设备分别对应的密匙、源终端和目标终端;其中,所述密匙传输顺序中排在第一位的第一终端设备的源终端为最后一位终端设备,除所述第一终端设备以外的任一终端设备的源终端为排在该终端设备前一位的终端设备,最后一位终端设备的目标终端为所述第一终端设备,除所述最后一位终端设备以外的任一终端设备的目标终端为排在该终端设备后一位的终端设备;
[0007] 所述第一终端设备将所述第一终端设备的密匙发送给所述第一终端设备对应的目标终端;
[0008] 除所述第一终端设备以外的任一终端设备在收到对应的源终端发送的密匙后对源终端的密匙进行验证,验证通过后将收到的源终端发送的密匙和所述任一终端设备的密匙一起发送给对应的目标终端;
[0009] 所述最后一位终端设备将发送给对应的目标终端的密匙上传至所述后台服务器;
[0010] 所述第一终端设备在收到对应的源终端发送的密匙后,对源终端的密匙进行验证,验证通过后将收到的源终端发送的密匙上传至所述后台服务器;
[0011] 所述后台服务器对所述第一终端设备和所述最后一位终端设备上传的密匙进行验证,验证通过后确定所述至少两个终端设备组成一个终端组,并将分配给所述终端组的通信频段下发给所述终端组的各成员,使得所述终端组的各成员之间基于所述通信频段进行端到端数据流传输。
[0012] 可选地,所述至少两个终端设备中的任一终端设备若未在指定时间内收到对应的源终端设备发送的密匙,则向所述后台服务器上报连接失败信息。
[0013] 可选地,所述密匙包括:后台服务器信息、随机认证信息以及终端设备的认证信息;
[0014] 各终端设备将各终端设备的认证码随密匙一起发送给对应的目标终端;
[0015] 各终端设备从对应的源终端的密匙中获取后台服务器信息、源终端的认证信息,基于获取的后台服务器信息判断密匙是否为指定后台服务器发放的,判断获取的源终端的认证信息和源终端发送的认证码是否一致,若密匙是指定后台服务器发放的且认证信息和认证码一致,则密匙验证通过,否则终止本次连接并向所述后台服务器上报非法连接告警;
[0016] 所述后台服务器对所述第一终端设备和所述最后一位终端设备上传的密匙中的随机认证信息进行验证,若上传的随机认证信息与所述后台服务器下发的随机认证信息一致,则密匙验证通过,否则终止本次连接并向各终端设备返回非法连接告警。
[0017] 可选地,所述后台服务器对所述第一终端设备和所述最后一位终端设备上传的密匙验证通过后,将指定加密方式发送给所述终端组的各成员,使得所述终端组的各成员通过所述指定加密方式对传输的数据流进行加密。
[0018] 可选地,每个终端设备包括5G通信模块,所述至少两个终端设备之间基于5G通信模块在所述通信频段上进行端到端数据流传输。
[0019] 可选地,所述若干终端设备包括控制终端和数据采集终端;
[0020] 当一个控制终端为多个终端组的成员时,控制终端将当前使用的终端组添加到第一组别,将当前不使用的终端组添加到第二组别,其中,控制终端与第一组别中的终端组的成员之间进行数据流传输,控制终端与第二组别中的终端组的成员之间保持睡眠连接状态。
[0021] 可选地,所述控制终端若检测到与控制终端连接且向控制终端传输数据流的数据采集终端的数量大于所述控制终端的最大终端接入数量,则生成提示接入终端数量超过上限的告警信息。
[0022] 可选地,当一个终端组包含多个控制终端时,终端组内的数据采集终端获取各控制终端在终端组内的控制优先级,若收到至少两个控制终端的指令,则按照所述至少两个控制终端的控制优先级从高到低的顺序依次响应各控制终端的指令。
[0023] 可选地,当一个数据采集终端需要同时向多个控制终端传输数据流时,数据采集终端按照多个控制终端的优先级从高到低的顺序,依次为各控制终端分配传输数据流所需的通信资源,直至数据采集终端的通信资源分配完毕。
[0024] 可选地,未分配到带宽的终端组的第二控制终端向接收到数据采集终端的数据流的第一控制终端发送数据获取请求;
[0025] 所述第一控制终端响应所述数据获取请求,将接收到的数据采集终端发送的数据流推送给所述第二控制终端。
[0026] 本申请实施例提供的基于点对点通信的数据流传输系统,使得组网的多个终端设备之间可通过后台服务器下发的密匙进行身份认证,身份认证过程不需要终端设备具备公网IP,保证了终端设备的安全性,在身份认证过程中组网的多个终端设备通过顺序传递密匙的方式快速完成了密匙的交换,并在传递密匙的同时由各终端设备对密匙进行逐一验证,提高了认证效率和组网安全性,组网成功后各终端设备通过指定的通信频段实现点对点通信,传输的数据不会再通过后台服务器或者公网,这将大大提高数据传输的安全性和隐蔽性。

附图说明

[0027] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028] 图1为本申请实施例提供的基于点对点通信的数据流传输系统的结构示意图; 图2为本申请实施例提供的基于点对点通信的数据流传输系统的工作流程示意图。

具体实施方式

[0029] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
[0030] 随着物联网技术的日益成熟,物联网终端设备已经进入各行各业和千家万户,为用户带来了极大的便捷。以网络视频推流为例,用户可以在授权的情况下通过网络平台随时查看到目标设备提供的实时图像,这种远程访问、易于集成、易于开发、同时具有较强的灵活性就是基于互联网视频技术的优势。但是,随着物联网终端设备的广泛应用,大量用户访问网络平台容易造成网络拥堵,通过公网传输数据也存在较大的安全风险。因此,如何安全快速地读取物联网终端上的数据信息或者对物联网终端进行本地监控和调试,已成为亟待解决的问题,尤其是在无线网络带宽较窄的环境中。
[0031] 参考图1,本申请实施例提供了一种基于点对点通信的数据流传输系统,包括:后台服务器和若干终端设备。
[0032] 本申请实施例中的后台服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视、视频监控设备、无人机、机器人等电子设备。每个终端设备都可以连接后台服务器,后台服务器会为每个终端设备分配对接的接口,后台服务器通过这些接口给终端设备发送信息。
[0033] 基于点对点通信的数据流传输系统内的终端设备上均安装有硬件通信模块和通信子系统,各终端设备可通过硬件通信模块与其他终端设备进行通信,终端设备可以连接公网,也具有组网能力,多个终端设备之间可以建立局域网,通过局域网实现通信。在一些实施方式中,终端设备内的硬件通信模块可以是5G通信模块,终端设备之间可基于5G通信模块在指定的通信频段上进行端到端数据流传输,以提高数据传输效率。
[0034] 为了保证终端设备的隐私安全,连接在后台服务器的终端设备不具备公网IP和其他终端设备的信息,当终端设备需要与其他终端设备连接时,可向后台服务器发起连接请求,由后台服务器协助需要连接的多个终端设备完成一系列列验证后,再将多个终端设备的地址和信息发送给彼此,从而完成端到端的认证和连接,只有经过后台服务器搭线牵手后,被牵线的终端设备才能组建私域网,终端设备组网连接成功后,终端设备间传输的数据不会再通过后台服务器或者公网,实现端到端的数据流传输,大大提高数据的安全性和隐蔽性,保证数据传输的安全性。
[0035] 在一些实施方式中,后台服务器主要包含认证子系统和加密子系统。认证子系统主要用于对接入后台服务器的终端设备进行身份认证和管理,以及对请求组网的终端设备进行端到端的认证并协助终端设备实现组网。加密子系统会将指定加密方式交付给认证并连接成功的终端设备,使得终端设备可以对传输信息进行单独加密,解码方式仅成功连接的终端设备相互享有,增强了数据传输的安全性。
[0036] 在一些实施方式中,基于点对点通信的数据流传输系统使用的终端设备可分成两类:数据采集终端和控制终端。数据采集终端携带有环境采集系统,主要用于识别数据采集终端周围环境,采集的环境数据包括但不限于图像、音频、视频、三维点云等数据。控制终端用于从数据采集终端获取数据流,后续还可以对获取的数据进行分析处理等。在一些实施方式中,控制终端还可以获取其所在终端组内的其他终端的相关信息,并对组内的数据采集终端进行管理。例如,控制终端通过硬件通信模块接收数据采集终端发送的环境数据,方便控制终端的使用者对数据采集终端所处环境进行进一步分析判断,并通过控制终端对数据采集终端进行指令的发布。
[0037] 在一些实施方式中,一个终端设备可以处于一个或多个终端组中,每个终端设备只能获取所在终端组的信息。每个终端设备都具有线路协商模块,用于处理建立多路连接后可能存在的信息冲突,具体处理方法在后续的实施方式中详细阐述。
[0038] 参考图2,基于图1所示的基于点对点通信的数据流传输系统的工作流程包括以下步骤:
[0039] S201、终端设备向后台服务器发送连接请求,连接请求中包括至少两个终端设备的终端标识。
[0040] 其中,连接请求用于请求为至少两个终端设备建立通信连接。
[0041] 具体实施时,需要接入后台服务器的终端设备可向后台服务器发送接入请求,接入请求中包括终端设备的设备信息,设备信息包括但不限于终端标识、端口信息、身份信息、终端类型等。后台服务器对终端设备的身份和安全性进行认证,在确认终端设备的身份和安全性后,为该终端设备分配接口,为终端设备生成唯一对应的认证码,将该终端设备的相关信息存储在后台服务器,通过分配给该终端设备的接口向终端设备发动成功接入后台服务器的提示信息,该提示信息中包括终端设备的认证码。终端设备的相关信息包括但不限于:设备信息、接口信息、认证码等。
[0042] 需要说明的是,在终端设备未与其他终端设备连接之前,只有终端设备自身和后台服务器持有该终端设备的认证码,持有后台服务器下发的认证码的终端设备才是后台服务器认证过的合法终端。
[0043] 在一些实施方式中,用户可通过终端设备登录后台服务器,查看该用户有权限使用的终端设备,用户可从这些终端设备中选取本次需要连接的一个或多个终端设备,获取用户所选择的终端设备的终端标识,向后台服务器发起连接请求,连接请求中包括用户选择的终端设备的终端标识。用户选择的终端设备可以包括用户当前使用的终端设备,也可以不包括用户当前使用的终端设备。
[0044] S202、后台服务器基于连接请求中的终端标识,获取各终端设备的密匙,基于至少两个终端设备的密匙传输顺序确定各终端设备分别对应的源终端和目标终端,向各终端设备发送各终端设备分别对应的密匙、源终端和目标终端。
[0045] 其中,连接请求中涉及的每个终端设备都可以获得各自的密匙,该密匙用于后续对终端设备的身份认证。
[0046] 在一些实施方式中,后台服务器根据终端标识查找到终端设备的相关信息,基于终端设备的相关信息生成该终端设备唯一对应的密匙,并通过该终端设备的接口将密匙发送给该终端设备。
[0047] 后台服务器对连接请求涉及的终端设备进行排序,以确定各个终端设备在认证过程中密匙的传输顺序,该排序结果即为密匙传输顺序,各个终端设备基于密匙传输顺序逐一传递各自获得的密匙,密匙的传输顺序是从排在第一位的终端设备开始逐一向后传递密匙,直至最后一位终端设备收到上一位传递的密匙后再将密匙传递给第一位终端设备。后台服务器可以采用任意一种排序方式对连接请求涉及的终端设备进行排序,本申请实施例不做限定。基于密匙传输顺序即可确定各终端设备分别对应的源终端和目标终端,密匙传输顺序中排在第一位的第一终端设备的源终端为最后一位终端设备,除第一终端设备以外的任一终端设备的源终端为排在该终端设备前一位的终端设备,最后一位终端设备的目标终端为第一终端设备,除最后一位终端设备以外的任一终端设备的目标终端为排在该终端设备后一位的终端设备。后台服务器向各终端设备发送各自对应的源终端和目标终端,每个终端设备在收到自身对应的源终端发送的密匙后才会向对应的目标终端发送密匙。需要说明的是,密匙传输顺序中排在第一位的终端设备在收到自己的密匙后直接向其目标终端发送密匙,后台服务器会在向排在第一位的终端设备下发的信息中标记其为密匙传输顺序中排在第一位的终端设备。
[0048] 示例性地,请求终端设备1、终端设备2、终端设备3和终端设备4组成一个终端组,后台服务器确定的密匙传输顺序为终端设备1→终端设备2→终端设备3→终端设备4,则终端设备1的目标终端为终端设备2,终端设备2的源终端为终端设备1、目标终端为终端设备3,终端设备3的源终端为终端设备2、目标终端为终端设备4,终端设备4的源终端为终端设备3、目标终端为终端设备1,终端设备1的源终端为终端设备4。
[0049] S203、第一终端设备将第一终端设备的密匙发送给第一终端设备对应的目标终端。
[0050] S204、第二终端设备在收到对应的源终端发送的密匙后对源终端的密匙进行验证,验证通过后将收到的源终端发送的密匙和第二终端设备的密匙一起发送给对应的目标终端。
[0051] 其中,第二终端设备为除第一终端设备以外的任一终端设备。每个终端设备在接收到其对应的源终端发送的密匙时,只会对上一个终端设备的密匙进行验证,验证通过后再将自己的密匙和之前所有终端设备的密匙一起发送给对应的目标终端。
[0052] S205、最后一位终端设备将发送给对应的目标终端的密匙上传至后台服务器。
[0053] S206、第一终端设备在收到对应的源终端发送的密匙后,对源终端的密匙进行验证,验证通过后将收到的源终端发送的密匙上传至后台服务器。
[0054] 示例性地,终端设备1先向终端设备2发送终端设备1的密匙K1;终端设备2收到终端设备1发送的密匙K1后,对K1进行验证,验证通过后再向终端设备3传递密匙K1和终端设备2的密匙K2;终端设备3收到终端设备2发送的密匙K1和K2后,对K2进行验证,验证通过后再向终端设备4传递密匙K1、K2以及终端设备3的密匙K3;终端设备4收到终端设备3发送的密匙K1、K2、K3后,对K3进行验证,验证通过后再将密匙K1、K2、K3和K4一起发送给终端设备1;终端设备1收到终端设备4发送的密匙K1、K2、K3和K4后,对K4进行验证,验证通过后即完成了整个密匙传输。这样终端设备1和终端设备4都可以获取到所有终端设备的密匙,随后终端设备1和终端设备4分别将密匙K1、K2、K3和K4上传至后台服务器。
[0055] 在传递密匙的过程中,每个终端设备都会对其对应的源终端的密匙进行验证,一旦验证不通过,终端设备会立即停止向密匙传递,并向后台服务器上报非法连接告警。此时,后台服务器可以终止本次连接,并通知发起连接请求的用户;或者,后台服务器可以暂停本次连接,并立即通知用户或相关人员进行干预,在排除风险后再由后台服务器下发继续执行的指令,由之前上报非法连接告警的终端设备继续向后传递密匙;或者,后台服务器可以暂停本次连接,并立即通知用户或相关人员进行干预,在排除风险后由后台服务器重新响应连接请求向各终端设备下发密匙,并执行后续的步骤。
[0056] 通过顺序传递密匙的方式,可以使得第一位和最后一位终端设备快速获得连接请求中所有终端设备的密匙,并在密匙传递的过程中对每个终端设备进行认证,在提高认证效率的同时,保证了加入终端组的终端设备都是可信的,提高了组网安全性。
[0057] S207、后台服务器对第一终端设备和最后一位终端设备上传的密匙进行验证,验证通过后确定至少两个终端设备组成一个终端组,并将分配给终端组的通信频段下发给终端组的各成员,使得终端组的各成员之间基于通信频段进行端到端数据流传输。
[0058] 在全组终端设备完成密匙传输后,第一终端设备和最后一位终端设备均获得全组的密匙,第一终端设备和最后一位终端设备分别将获得的全组的密匙上传到后台服务器,由后台服务器分别对第一终端设备和最后一位终端上传的密匙进行验证,若都通过验证,则确定当前通信环境内的终端设备为正确连接目标,允许终端设备组成一个独立的网络,并为该终端组分配唯一的通信频段,终端组内的各终端设备可通过该通信频段实现点对点通信。终端设备组网连接成功后,终端设备间传输的数据不会再通过后台服务器或者公网,这将大大提高数据的安全性和隐蔽性。
[0059] 具体实施时,终端设备之间可基于5G通信模块在指定的通信频段上进行端到端数据流传输,依托5G网络的高带宽和低延时的基础能力,实现高带宽视频流的点对点传输,有效降低数据传输过程中的延时。以视频流为例,预计视频流延时可以从3s降低到0.3s。
[0060] 在一些实施方式中,在后台服务器向连接请求中的各终端设备下发密匙后,若连接请求中的任一终端设备若未在指定时间内收到对应的源终端发送的密匙,则向后台服务器上报连接失败信息。
[0061] 具体实施时,连接请求中涉及的每个终端设备可分别对应一个指定时间,每个终端设备的指定时间可以是基于终端设备的密匙传输顺序以及终端设备间信息传递所需时间确定的,排序越靠前的终端设备对应的指定时间越小,反之排序越靠后的终端设备对应的指定时间越大。需要说明的是,因为排在第一位的终端设备最后一个才会收到最后一位终端设备发送的密匙,因此排在第一位的终端设备的指定时间最长。
[0062] 具体实施时,连接请求中涉及的每个终端设备均对应同一个指定时间,可预估完成密匙传递所需时间,即预估从第一终端设备传递密匙开始到第一终端设备收到所有终端设备的密匙为止所花费的时间,指定时间略大于完成密匙传递所需时间。
[0063] 在一些实施方式中,后台服务器下发给各终端设备的密匙包括:后台服务器信息、随机认证信息以及终端设备的认证信息。其中,后台服务器信息用于验证密匙的来源,即验证提供密钥的后台服务器的身份。随机认证信息是由后台服务器在每次下发密匙前随机为每个终端设备生成的,以便对密匙的合法性和时效性进行验证。认证信息是后台服务器存储的终端设备的认证码,用于验证终端设备的身份。同时后台服务器会根据终端设备的密匙传输顺序,将各终端设备对应的源终端和目标终端的端口信息一起下发给各终端设备,各终端设备基于其对应的源终端的端口信息与源终端连接并接收源终端发送的密匙,对收到的密匙验证通过后,再基于目标终端的端口信息向目标终端发送密匙。在认证过程中,终端设备只可以通过后台服务器下发的源终端和目标终端的端口信息,与源终端和目标终端进行通信。
[0064] 为此,终端设备在按序传递密匙时,会将自身存储的认证码连同密匙一起发送给后一位终端设备。各终端设备对其对应的源终端的密匙进行验证的过程包括:各终端设备从其对应的源终端的密匙中获取后台服务器信息、源终端的随机认证信息和认证信息,基于获取的后台服务器信息判断密匙是否为指定后台服务器发放的,判断源终端的认证信息和认证码是否一致,若密匙是指定后台服务器发放的且认证信息和认证码一致,则验证通过,否则终止本次连接并向后台服务器上报非法连接告警。
[0065] 在一些实施方式中,终端设备若收到源终端以外的其他终端设备发送的密匙、或者多次收到包括源终端在内的终端设备发送的密匙,则认为当前通信环境出现异常,立即中断密匙传递过程,向后台服务器上报非法连接告警。
[0066] 后台服务器在收到第一终端设备和最后一位终端设备上传的密匙后,分别对第一终端设备和最后一位终端设备上传的密匙中的随机认证信息进行验证,若第一终端设备和最后一位终端设备上传的各终端设备的随机认证信息均与后台服务器下发的随机认证信息一致,则验证通过,否则终止本次连接并向各终端设备返回非法连接告警。需要说明的是,第一终端设备和最后一个终端设备上传的随机认证信息均包括连接请求中所有终端设备的随机认证信息,后台服务器需要对所有的随机认证信息进行一一验证。
[0067] 在一些实施方式中,后台服务器对第一终端设备和最后一位终端设备上传的密匙验证通过后,将指定加密方式发送给连接请求中的各个终端设备,这些终端设备通过指定加密方式对在终端组中传输的数据流进行加密。每个终端组都对应唯一的密钥,只有同一终端组中的终端设备才具有解码方式,终端设备连接成功后,终端组内互相传输的数据流不会再通过后台服务器,加密使用的密钥也只有组内成员知晓,因此可以大大提高数据的安全性和隐蔽性。
[0068] 具体实施时,终端组内的终端设备可通过SRTP(SecureReal‑timeTransport Protocol,安全实时传输协议)或DTLS(DatagramTransport Layer Security,数据包传输层安全性协议)对传输过程中的数据流或控制指令信号进行加密,提高传输的安全性。
[0069] 示例性地,当连接请求中仅包含两个终端设备时,两个终端设备只需要交换自己的密匙,并对对方的密匙进行验证。具体过程包括:用户向后台服务器发送连接请求,连接请求中包括终端设备A和终端设备B的终端标识;后台服务器将终端设备A的密匙KA发送给终端设备A,将密匙KB发送给终端设备B;终端设备A获取终端设备B的端口信息,通过终端设备B的端口信息将密匙KA和终端设备A的认证码发送给终端设备B;终端设备B以同样的方式将密匙KB和终端设备B的认证码发送给终端设备A;终端设备A检验密匙KB是否为指定后台服务器发放,并验证终端设备B的认证码和密匙KB中的认证信息是否一致,若密匙是指定后台服务器发放的且认证码和认证信息一致,则验证通过,否则终止本次连接并向后台服务器上报非法连接告警;终端设备B以同样的方式对密匙KA进行验证;若终端设备A或终端设备B未在指定时间内收到对方的密匙,则向后台服务器上报连接失败信息;终端设备A验证密匙KB通过后,将密匙KB中的随机认证信息上传到后台服务器进行验证,终端设备B验证密匙KA通过后,将密匙KA中的随机认证信息上传到后台服务器进行验证;后台服务器验证终端设备A和终端设备B上传的随机认证信息,若上传的随机认证信息与后台服务器发放的随机认证信息不一致,则后台服务器将终止本次连接并向用户发送告警信息;在经过后台服务器验证终端设备A和终端设备B回传的随机认证信息无误后,后台服务器向两终端设备发送确认指令,随后后台服务器将双方的地址和信息发送给对方、或者将通信频段下发给终端设备A和终端设备B,从而完成端到端的认证和连接。同时云端数据中心加密系统会将指定加密方式交付给认证成功的终端设备A和终端设备B,双方可以对传输信息进行单独加密,解码方式仅成功连接的终端相互享有,增强了数据传输的安全性。
[0070] 在一些实施方式中,一个终端组包括至少一个控制终端以及至少一个数据采集终端。一个控制终端可以同时加入多个终端组,一个数据采集终端也可以同时加入多个终端组。
[0071] 当一个控制终端为多个终端组的成员时,控制终端可以将多个终端组分成两种不同优先级的组别,第一组别包括控制终端当前正在使用的终端组,第二组别包括不属于第一组别的终端组,控制终端与属于第二组别的终端组内的其他终端设备保持一种睡眠连接状态,并不进行数据流的交换,当属于第二组别的终端组转变到第一组别时,控制终端才会与该终端组内的其他终端设备进行数据流传输。为此,控制终端会将当前使用的终端组添加到第一组别,将当前不使用的终端组添加到第二组别,其中,控制终端与第一组别中的终端组的成员之间进行数据流传输,控制终端与第二组别中的终端组的成员之间保持睡眠连接状态。
[0072] 在一些实施方式中,由于单个终端设备可使用的通信资源有限,因此,可根据控制终端所支持的最大通信资源确定控制终端的最大终端接入数量,若与控制终端连接且向控制终端传输数据流的数据采集终端的数量大于最大终端接入数量,则生成提示接入终端数量超过上限的告警信息,以提示用户添加新的控制终端来接收多余的数据采集终端传输的数据流,或者减少控制终端当前正在使用的数据采集终端。
[0073] 具体实施时,用户可通过控制终端U1向后台服务器发送在终端组内添加新的控制终端U2的新增终端请求,新增终端请求中包括终端组的组标识和控制终端U2的终端标识。后台服务器响应该新增终端请求,将控制终端U1的密匙K1发送给控制终端U1,将控制终端U2的密匙K2发送给控制终端U2;控制终端U1和控制终端U2要交换各自的密匙,并对对方的密匙进行验证,具体验证过程可参考两个终端连接的情况,不再赘述。控制终端U1和控制终端U2通过密匙验证后,由控制终端U1或后台服务器将控制终端U1所属终端组使用的通信频段和加密方式下发给控制终端U2,使得控制终端U2可以加入控制终端U1所属终端组,与终端组内其他终端进行点对点通信,这样控制终端U2可以接收终端组内部分数据采集终端的数据流,为控制终端U1分流。
[0074] 在一些实施方式中,当一个终端组包含多个控制终端时,终端组内的数据采集终端获取各控制终端在终端组内的控制优先级,若收到至少两个控制终端的指令,则按照至少两个控制终端的控制优先级从高到低的顺序依次响应各控制终端的指令。。
[0075] 具体实施时,对于多个控制终端加入一个终端组的情况,可根据各控制终端加入终端组的时间顺序,确定各控制终端的控制优先级。例如,最先连入的终端组的控制终端在本终端组内具有最高的控制优先级,越晚加入终端组的控制终端在本终端组的控制优先级越低。或者,可根据应用场景、控制终端类型、传输的数据流类型等,预先为控制终端分配级别,在同一各终端组内,级别越高的控制终端的控制优先级越高。
[0076] 在一些实施方式中,在同一终端组内,一个控制终端可以设置调整自身以及控制优先级比自身低的控制终端的控制优先级。例如,控制优先级最高的控制终端可以调整组内任何一个控制终端的控制优先级,甚至将最高的控制优先级移交给组内其他的控制终端;控制优先级第二高的控制终端可以对除了控制优先级最高控制终端以外的任一控制终端进行控制优先级调整。
[0077] 在一些实施方式中,当一个数据采集终端需要同时向多个控制终端传输数据流时,数据采集终端按照多个控制终端的优先级从高到低的顺序,依次为各控制终端分配传输数据流所需的通信资源,直至数据采集终端的通信资源分配完毕。具体实施时,对于属于同一终端组的多个控制终端,可按照终端组内的控制优先级确定这多个控制终端在同一数据采集终端处的优先级;对于分属于不同终端组的控制终端,可按照后台服务器预先为各控制终端分配的级别确定各控制终端的优先级,若后台服务器未分配级别,则随机分配优先级或者按照与数据采集终端连接的先后顺序逐渐降低控制终端的优先级。
[0078] 进一步地,如果数据采集终端的通信资源分配完毕后,仍存在未获得通信资源的终端设备,则这些终端设备可以从已获得通信资源的控制终端处获取整合后的推流数据。具体地,未分配到带宽的第二控制终端向接收到数据采集终端的数据流的第一控制终端发送数据获取请求;第一控制终端响应数据获取请求,将接收到的数据采集终端发送的数据流推送给第二控制终端,其中,数据获取请求包括第二终端需要获取的数据流所属的数据采集终端。
[0079] 示例性地,数据采集终端C需要同时向控制终端U1、U2、U3传输数据流,控制终端U1的优先级最高,控制终端U3的优先级最低,数据采集终端C优先将通信资源分配给控制终端U1,再将剩余的通信资源分配给控制终端U2,数据采集终端C可同时向控制终端U1、U2传输数据流。由于通信资源有限,控制终端U3未获得通信资源,控制终端U3可以向控制终端U1或U2发送数据获取请求,控制终端U1或U2基于数据获取请求将数据采集终端C的数据流推送给控制终端U3。
[0080] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于:移动存储设备、随机存取存储器(RAM,RandomAccess Memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等各种可以存储程序代码的介质。
[0081] 或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、随机存取存储器(RAM,RandomAccess Memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等各种可以存储程序代码的介质。以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。