开放异构多隧道自适应数据通信方法、设备和存储介质转让专利

申请号 : CN202010427062.6

文献号 : CN111343072B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈传宝马维士郝伟万会来李岩刘加瑞

申请人 : 北京华云安信息技术有限公司

摘要 :

本公开的实施例提供了开放异构多隧道自适应数据通信方法、设备和计算机可读存储介质。所述方法包括:始发节点接收当前用户端发送的通讯数据流,所述通讯数据流包括接收端的通信地址链接;对所述通讯数据流进行重定向,对所述通讯数据流中包括的通信地址链接进行更改;对重定向后的通讯数据流进行调制,将重定向后的通讯数据流重组为多个数据包;对于所述多个数据包中的一个,从预先创建的多条通讯隧道中选取一条当前通讯隧道,作为目标通讯隧道;通过所述目标通讯隧道,将所述数据包发送至所述接收端。以此方式,可以实现网络通讯难以被旁路侦听,充分解决防通讯数据泄密的需求。

权利要求 :

1.一种开放异构多隧道自适应数据通信方法,其特征在于,包括:始发节点接收当前用户端发送的通讯数据流,所述通讯数据流包括接收端的通信地址链接;

对所述通讯数据流进行重定向,对所述通讯数据流中包括的通信地址链接进行更改;

对重定向后的通讯数据流进行调制,将重定向后的通讯数据流重组为多个数据包,包括:利用随机跳变算法,从重定向后的通讯数据流中选取数据流片段,根据选取的数据流片段重组为数据包;

对于所述多个数据包中的一个,从预先创建的多条通讯隧道中选取一条当前通讯隧道,作为目标通讯隧道;

通过所述目标通讯隧道,将所述数据包发送至所述接收端。

2.根据权利要求1所述的开放异构多隧道自适应数据通信方法,其特征在于,在所述从预先创建的多条通讯隧道中选取一条当前通讯隧道之后,还包括:判断所述当前通讯隧道的创建时间是否超过预设阈值;

响应于所述当前通讯隧道的创建时间超过预设阈值,重新从预先确定的多条通讯隧道中选取一条作为当前通讯隧道。

3.根据权利要求2所述的开放异构多隧道自适应数据通信方法,其特征在于,所述通讯隧道通过以下方法创建:将异构网络中的节点随机划分为多个节点池;

从每个节点池中选取性能最优的一个节点作为转发节点,使得选取的转发节点构成连接所述始发节点和所述接收端的通讯隧道。

4.根据权利要求2所述的开放异构多隧道自适应数据通信方法,其特征在于,所述通讯隧道通过以下方法创建:将异构网络中的节点随机划分为多个节点池,每个节点池中的节点按照性能进一步划分为多个节点集,从每个节点池中的性能最优的节点集中随机选取一个节点作为转发节点,使得选取的转发节点构成连接所述始发节点和所述接收端的通讯隧道。

5.根据权利要求3或4所述的开放异构多隧道自适应数据通信方法,其特征在于,还包括:节点池内的节点按照预设时间段更新自身的安全状态,所述安全状态用于表征节点自身的安全级别,并当安全级别满足预设条件时,发送报警信息。

6.根据权利要求5所述的开放异构多隧道自适应数据通信方法,特征在于,同一节点池内的节点存储有其他节点的通信地址的列表,当接收到其他节点发送的报警信息后,从所述列表中将该节点的通信地址删除。

7.根据权利要求6所述的开放异构多隧道自适应数据通信方法,其特征在于,在所述对所述通讯数据流进行重定向之后,还包括:采用加密算法对重定向后的通讯数据流进行加密。

8.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1 7中任一项所述的方法。

~

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1 7中任一项所述的方法。

~

说明书 :

开放异构多隧道自适应数据通信方法、设备和存储介质

技术领域

[0001] 本公开的实施例一般涉及通信领域,并且更具体地,涉及开放异构多隧道自适应数据通信方法、设备和存储介质。

背景技术

[0002] 网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。通信是人与人之间通过某种媒体进行的信息交流与传递。网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信,但现在在网络通信领域存在着安全性问题,是目前最为棘手且亟待解决的问题。
[0003] 现有的技术方案,通过构建VPN或TOR等私有隐匿网络解决防通讯数据泄密的需求。
[0004] 以TOR技术为例,TOR是美国海军研究实验室的科学家开始开发一种匿名技术,可以避免人们的行迹在Internet上被追踪到。他们把这个技术叫做“TOR路由”。“TOR路由”利用P2P网络,把网络流量随机的通过P2P的节点进行转发,这样可以掩盖源地址与目标地址的路径。使得在Internet上难以确定使用者的身份和地址。但是由于TOR路由节点是中心化管理,一旦某个中心节点被黑客攻占,他就能获取所有节点信息,伪造路由,获取通讯数据。
[0005] 因此,现有技术仍不能满足防通讯数据泄密的需求。

发明内容

[0006] 根据本公开的实施例,提供了一种满足防通讯数据泄密的需求的方案。
[0007] 在本公开的第一方面,提供了一种开放异构多隧道自适应数据通信方法。该方法包括:
[0008] 始发节点接收当前用户端发送的通讯数据流,所述通讯数据流包括接收端的通信地址链接;
[0009] 对所述通讯数据流进行重定向,对所述通讯数据流中包括的通信地址链接进行更改;
[0010] 对重定向后的通讯数据流进行调制,将重定向后的通讯数据流重组为多个数据包;
[0011] 对于所述多个数据包中的一个,从预先创建的多条通讯隧道中选取一条当前通讯隧道,作为目标通讯隧道;
[0012] 通过所述目标通讯隧道,将所述数据包发送至所述接收端。
[0013] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述对重定向后的通讯数据流进行调制,将重定向后的通讯数据流重组为多个数据包,包括:
[0014] 利用随机跳变算法,从重定向后的通讯数据流中选取数据流片段,根据选取的数据流片段重组为数据包,进而将重定向后的通讯数据流重组为多个数据包。
[0015] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述从预先创建的多条通讯隧道中选取一条当前通讯隧道之后,还包括:
[0016] 判断所述当前通讯隧道的创建时间是否超过预设阈值;
[0017] 响应于所述当前通讯隧道的创建时间超过预设阈值,重新从预先确定的多条通讯隧道中选取一条作为当前通讯隧道。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述通讯隧道通过以下方法创建:
[0018] 将异构网络中的节点随机划分为多个节点池,从每个节点池中选取性能最优的一个节点作为转发节点,使得选取的转发节点构成连接所述始发节点和所述接收端的通讯隧道。
[0019] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述通讯隧道通过以下方法创建:
[0020] 将异构网络中的节点随机划分为多个节点池,每个节点池中的节点按照性能进一步划分为多个节点集,从每个节点池中的性能最优的节点集中随机选取一个节点作为转发节点,使得选取的转发节点构成连接所述始发节点和所述接收端的通讯隧道。
[0021] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,还包括:
[0022] 节点池内的节点按照预设时间段更新自身的安全状态,所述安全状态用于表征节点自身的安全级别,并当安全级别满足预设条件时,发送报警信息。
[0023] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,同一节点池内的节点存储有其他节点的通信地址的列表,当接收到其他节点发送的报警信息后,从所述列表中将该节点的通信地址删除。
[0024] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述对所述通讯数据流进行重定向之后,还包括:
[0025] 采用加密算法对重定向后的通讯数据流进行加密。
[0026] 在本公开的第二方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
[0027] 在本公开的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
[0028] 应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
[0029] 本公开的实施例,能够实现网络通讯难以被旁路侦听,充分解决防通讯数据泄密的需求。

附图说明

[0030] 结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
[0031] 图1示出了本公开实施例一的开放异构多隧道自适应数据通信方法的流程图;
[0032] 图2示出了本公开实施例二的开放异构多隧道自适应数据通信方法的流程图;
[0033] 图3示出了本公开实施例三的开放异构多隧道自适应数据通信方法的一个具体实例的示意图;
[0034] 图4示出了本公开实施例四的开放异构多隧道自适应数据通信设备的结构示意图。

具体实施方式

[0035] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
[0036] 另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0037] 本公开的实施例中,通过采用对通信数据进行调制、加密、通过采用特定算法构建异构网络隧道,采取双向通讯隔离等手段,确保相关通讯数据包,无法在单一节点获取全部信息,进而使得在单一节点获取的信息无法还原和解密。
[0038] 具体地,如图1所示,为本公开实施例一的开放异构多隧道自适应数据通信方法的流程图。从图1中可以看出,本实施例的开放异构多隧道自适应数据通信方法,可以包括以下步骤:
[0039] S101:始发节点接收当前用户端发送的通讯数据流,所述通讯数据流包括接收端的通信地址链接。
[0040] 在本实施例中,当用户需要通过网络向目标终端发送通讯数据时,例如发送邮件、传送语音流信息或者视频流信息(例如微信语音或视频或者其他类似通讯数据),或者邮件和语音流或者视频流的结合等,通常需要知道接收端的通信地址,并在传输数据的数据包中承载接收端的通信地址,负责中转传输的节点可以根据接收端的通信地址构建通信链路,实现数据传输。在本实施例中,当用户通过用户端向目标终端发送通讯数据时,离用户端最近的节点(即始发节点),首先接收当前用户端发送的通讯数据流。
[0041] S102:对所述通讯数据流进行重定向,对所述通讯数据流中包括的通信地址链接进行更改。
[0042] 在始发节点接收到当前用户端发送的通讯数据流后,需要利用重定向技术对所述通讯数据流进行重定向,将所述通讯数据流中包括的通信地址链接进行更改。由于本公开的技术方案是利用特定算法构建异构网络隧道,采取双向通讯隔离等手段,即在用户端发送通讯数据流给始发节点时,传输通讯数据流的通讯隧道是不确定的,因此需要对所述通讯数据流进行重定向。关于传输通讯数据流的通讯隧道的创建参见后续实施例,这里不再说明。
[0043] S103:对重定向后的通讯数据流进行调制,将重定向后的通讯数据流重组为多个数据包。
[0044] 在本实施例中,在始发节点对所述通讯数据流进行重定向后,可以进一步对重定向后的通讯数据流进行调制,即利用随机跳变算法,从重定向后的通讯数据流中选取数据流片段,根据选取的数据流片段重组为数据包,进而将重定向后的通讯数据流重组为多个数据包。
[0045] 具体地,可以先将通讯数据流切分为多个数据流片段,这些数据流片段的大小可以不同,当然在其他实施例中,这些数据流片段的大小也可以相同。然后利用随机跳变算法,从这些数据流片段中随机挑选一个或多个数据流片段,重组为数据包。
[0046] S104:对于所述多个数据包中的一个,从预先创建的多条通讯隧道中选取一条当前通讯隧道,作为目标通讯隧道。
[0047] 在将重定向后的通讯数据流重组为多个数据包后,对于每个数据包,在发送的时候,都要选取一条通讯隧道,例如,数据包有n个(n为正整数),在发送第i-1个数据包时(i小于等于n且为正整数),要从预先创建的多条通讯隧道中选取一条当前通讯隧道,作为发送第i-1个数据包的目标通讯隧道,在发送第i个数据包时,则重新从预先创建的多条通讯隧道中选取一条当前通讯隧道,作为发送第i个数据包的目标通讯隧道。
[0048] 这样,可以保证发送通讯数据流的每个数据包的通讯隧道都是随机动态选择的,并且数据包是由原通讯数据流的随机片段组成的,这样,即使在某条通讯隧道的节点截取到了数据包,也难以还原原通讯数据流,从而实现通讯数据流的传输安全。
[0049] S105:通过所述目标通讯隧道,将所述数据包发送至所述接收端。
[0050] 在确定传输每个数据包的通讯隧道后,通过对应的通讯隧道将对应的数据包发送至接收端。
[0051] 本实施例的开放异构多隧道自适应数据通信方法,通过采用对通信数据进行调制、加密、通过采用特定算法构建异构网络隧道,采取双向通讯隔离等手段,确保相关通讯数据包,无法在单一节点获取全部信息,进而使得在单一节点获取的信息无法还原和解密。
[0052] 继续参见图2,图2示出了本公开实施例二的开放异构多隧道自适应数据通信方法的流程图。为了进一步提高通过通讯隧道发送数据包的安全性,需要对用户端和接收端之间预先创建的通讯隧道进行调整,即不长时间通过一条通讯隧道发送数据包,避免该通讯隧道被攻击破坏造成的数据包大量被截取。具体地,可以包括以下步骤:
[0053] S201:始发节点接收当前用户端发送的通讯数据流,所述通讯数据流包括接收端的通信地址链接。
[0054] S202:对所述通讯数据流进行重定向,对所述通讯数据流中包括的通信地址链接进行更改。
[0055] S203:对重定向后的通讯数据流进行调制,将重定向后的通讯数据流重组为多个数据包。
[0056] S204:对于所述多个数据包中的一个,从预先创建的多条通讯隧道中选取一条当前通讯隧道,作为目标通讯隧道。
[0057] 上述步骤与实施例一种的步骤S101至步骤S104相类似,这里不再重复说明。此外,本实施例还包括以下步骤;
[0058] S205:判断所述当前通讯隧道的创建时间是否超过预设阈值,若所述当前通讯隧道的创建时间超过预设阈值,则进入步骤S206,所述当前通讯隧道的创建时间没有超过预设阈值,则进入步骤S207。
[0059] 如前所述,为了避免多次重复通过同一通讯隧道发送数据包,避免该通讯隧道被攻击破坏造成的数据包大量被截取,在确定目标通讯隧道时,需要判断选取的当前通讯隧道的创建时间是否超过预设阈值。这里的预设阈值可以由用户自定义。当然也可以根据通讯数据流的数据量动态调整,避免多次选取目标通讯隧道造成的数据传输延迟,提高传输效率,进而提高用户体验。
[0060] S206:响应于所述当前通讯隧道的创建时间超过预设阈值,重新从预先确定的多条通讯隧道中选取一条作为当前通讯隧道。
[0061] 当当前通讯隧道的创建时间超过预设阈值时,这需要重新从预先确定的多条通讯隧道中选取一条作为目标通讯隧道,并返回步骤205,重新判断新选取的通讯隧道的创建时间是否超过预设阈值。
[0062] S207:将当前通讯隧道,作为目标通讯隧道。
[0063] S208:通过所述目标通讯隧道,将所述数据包发送至所述接收端。
[0064] 本实施例的开放异构多隧道自适应数据通信方法,通过采用对通信数据进行调制、加密、通过采用特定算法构建异构网络隧道,采取双向通讯隔离等手段,确保相关通讯数据包,无法在单一节点获取全部信息,进而使得在单一节点获取的信息无法还原和解密。
[0065] 作为本公开的一个可选实施例,在上述实施例中提及的通讯隧道通过以下方法创建:
[0066] 将异构网络中的节点随机划分为多个节点池,从每个节点池中选取性能最优的一个节点作为转发节点,使得选取的转发节点构成连接所述始发节点和所述接收端的通讯隧道。
[0067] 在本公开的一些其他可选实施例中,所述通讯隧道也可以通过以下方法创建:
[0068] 将异构网络中的节点随机划分为多个节点池,每个节点池中的节点按照性能进一步划分为多个节点集,从每个节点池中的性能最优的节点集中随机选取一个节点作为转发节点,使得选取的转发节点构成连接所述始发节点和所述接收端的通讯隧道。
[0069] 并且,节点池内的节点按照预设时间段更新自身的安全状态,所述安全状态用于表征节点自身的安全级别,并当安全级别满足预设条件时,发送报警信息。同时,同一节点池内的节点存储有其他节点的通信地址的列表,当接收到其他节点发送的报警信息后,从所述列表中将该节点的通信地址删除。
[0070] 在本公开的一些其他可选实施例中,在所述对所述通讯数据流进行重定向之后,还包括:
[0071] 采用加密算法对重定向后的通讯数据流进行加密。在本公开的实施例中,一般采用对称加密算法对重定向后的通讯数据流进行加密,当然,在其他实施例中,也可以采用非对称加密算法对重定向后的通讯数据流进行加密。
[0072] 在本公开的第二方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
[0073] 在本公开的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
[0074] 图3示出了本公开实施例三的开放异构多隧道自适应数据通信方法的一个具体实例的示意图。在本实例中,用户端将通讯数据流发送给始发节点,始发节点对通讯数据流进行接收、加密和调制后,转发给中转节点,图3中中转节点之间的箭头表示数据包的传输放向,在目标接收到用户端发送的通讯数据流后,可以通过同样的通讯隧道选取方式传输针对用户端发送的通讯数据流的应答数据。这样,采取双向通讯隔离等手段,确保相关通讯数据包,无法在单一节点获取全部信息,进而使得在单一节点获取的信息无法还原和解密。
[0075] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
[0076] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0077] 图4示出了本公开实施例四的开放异构多隧道自适应数据通信设备的结构示意图。图4示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0078] 如图4所示,计算机系统包括CPU(中央处理单元)401,其可以基于存储在ROM(只读存储器)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有系统操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
[0079] 以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也基于需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,基于需要安装在驱动器410上,以便于从其上读出的计算机程序基于需要被安装入存储部分408。
[0080] 特别地,基于本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被CPU(中央处理单元)401执行时,执行本申请的方法中限定的上述功能。
[0081] 本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
[0082] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0083] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0084] 此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0085] 尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。