发明内容
本公开的目的是提供一种基于DHT网络的数据传输方法、装置、电子设备和存储介质,用以解决现有技术中数据传输中通信主体的隐匿程度低的问题。
为了实现上述目的,根据本公开实施例的第一方面,提供一种基于DHT网络的数据传输方法,应用于发送端,所述方法包括:
当存在待发送消息时,根据第一私有通道信息指示的第一标志位键值,查询分布式哈希表DHT网络中与所述发送端对应的中继节点上的标志位,所述第一标志位键值用于指示所述标志位在所述中继节点上的DHT中存储的位置;
在所述标志位为已发状态时,根据所述第一私有通道信息指示的第一信息键值,将所述待发送消息按照预设的会话密钥发送至所述中继节点,以便接收端根据所述第一信息键值,按照所述会话密钥从所述中继节点获取所述待发送消息,所述第一信息键值用于指示所述待发送消息在所述中继节点上的DHT中存储的位置,所述已发状态表示所述中继节点中存储的上一次发送的待发送消息已被所述接收端接收;
在所述标志位为未发状态时,重复执行所述根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与所述发送端对应的中继节点上的标志位的步骤,直至所述标志位为已发状态,所述未发状态表示所述中继节点中存储的上一次发送的待发送消息未被所述接收端接收。
可选地,在所述根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与所述发送端对应的中继节点上的标志位之前,所述方法还包括:
通过公有通道向所述DHT网络发送监听信息,所述监听信息包括所述中继节点的地址信息;
通过所述公有通道接收所述接收端发送的连接请求,所述连接请求为所述接收端在根据接收到的所述监听信息建立第一私有通道之后发送的,所述连接请求包括所述第一私有通道的所述第一私有通道信息,所述第一私有通道用于所述发送端通过所述中继节点向所述接收端发送消息。
可选地,所述连接请求还包括所述接收端的第一认证信息,在所述通过所述公有通道接收所述接收端发送的连接请求之后,所述方法还包括:
当所述第一认证信息通过认证时,创建第二私有通道,并根据所述第一私有通道信息将连接响应发送至所述接收端,所述连接响应包括所述第二私有通道的第二私有通道信息和所述发送端的第二认证信息,所述第二私有通道用于所述发送端通过所述中继节点接收由所述接收端发送的消息。
可选地,在所述创建第二私有通道,并根据所述第一私有通道信息将连接响应发送至所述接收端之后,所述方法还包括:
根据所述第二私有通道信息接收所述接收端在通过认证所述第二认证信息后发送的所述接收端的第一公钥,以根据所述第一公钥和所述发送端的第二公钥确定所述会话密钥;
根据所述第一私有通道信息向所述接收端发送所述第二公钥和发送端就绪指令,以便所述接收端根据所述第一公钥和所述第二公钥确定所述会话密钥,并向所述发送端发送所述接收端就绪指令。
可选地,所述方法还包括:
按照预设的跳变周期,在所述DHT网络中选取新的中继节点,以将所述发送端对应的中继节点更新为所述新的中继节点;
根据更新后的所述中继节点建立第四私有通道,所述第四私有通道用于所述发送端通过所述更新后的中继节点接收由所述接收端发送的消息;
根据所述第一私有通道信息向所述接收端发送所述第四私有通道的所述第四私有通道信息,以便所述接收端根据所述第四私有通道信息建立第三私有通道,并将所述第三私有通道的第三私有通道信息发送至所述发送端,所述第三私有通道用于所述发送端通过所述更新后的中继节点向所述接收端发送消息;
当存在新待发送消息时,根据第三私有通道信息指示的第三标志位键值,查询所述更新后的中继节点上的标志位,所述第三标志位键值用于指示所述标志位在所述更新后的中继节点上的DHT中存储的位置;
在所述标志位为已发状态时,根据所述第三私有通道信息指示的第三信息键值,将所述新待发送消息按照所述会话密钥发送至所述更新后的中继节点,以便接收端根据所述第三信息键值,按照所述会话密钥从所述更新后的中继节点获取所述新待发送消息,所述第三信息键值用于指示所述待发送消息在所述更新后的中继节点上的DHT中存储的位置;
在所述标志位为未发状态时,重复执行所述根据第三私有通道信息指示的第三标志位键值,查询所述更新后的中继节点上的标志位的步骤,直至所述标志位为已发状态。
根据本公开实施例的第二方面,提供一种基于DHT网络的数据传输方法,应用于接收端,所述方法包括:
根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与发送端对应的中继节点上的标志位,所述第一标志位键值用于指示所述标志位在所述中继节点上的DHT中存储的位置;
在所述标志位为未发状态时,根据所述第一私有通道信息指示的第一信息键值,按照预设的会话密钥从所述中继节点获取待接收消息,所述第一信息键值用于指示所述待接收消息在所述中继节点上的DHT中存储的位置,所述待接收消息为所述发送端根据所述第一信息键值,按照所述会话密钥发送至所述中继节点的消息,所述未发状态表示所述中继节点中存储的上一次发送的待发送消息未被所述接收端接收;
在所述标志位为已发状态时,重复执行所述根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与所述发送端对应的中继节点上的标志位的步骤,直至所述标志位为未发状态,所述已发状态表示所述中继节点中存储的上一次发送的待发送消息已被所述接收端接收。
可选地,在所述根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与所述发送端对应的中继节点上的标志位之前,所述方法还包括:
通过公有通道接收所述发送端向所述DHT网络发送的监听信息,所述监听信息包括所述中继节点的地址信息;
根据所述监听信息建立第一私有通道,所述第一私有通道用于所述接收端通过所述中继节点接收所述发送端发送的消息;
通过所述公有通道向所述发送端发送连接请求,所述连接请求包括所述第一私有通道的所述第一私有通道信息。
可选地,所述连接请求还包括所述接收端的第一认证信息,在所述通过所述公有通道向所述发送端发送连接请求之后,所述方法还包括:
接收所述发送端发送的连接响应,所述连接响应为所述发送端在通过认证所述第一认证信息,并建立第二私有通道之后发送的,所述连接响应包括所述第二私有通道的第二私有通道信息和所述发送端的第二认证信息,所述第二私有通道用于所述接收端通过所述中继节点向所述发送端发送消息。
可选地,在所述接收所述发送端发送的连接响应之后,所述方法还包括:
当所述第二认证信息通过验证时,根据所述第二私有通道信息将所述接收端的第一公钥发送至所述发送端,以便所述发送端根据所述第一公钥和所述发送端的第二公钥确定所述会话密钥;
根据所述第一私有通道信息接收所述发送端发送的第二公钥和发送端就绪指令,以根据所述第一公钥和所述第二公钥确定所述会话密钥,并根据所述第二私有通道信息将接收端就绪指令发送至所述发送端。
根据本公开实施例的第三方面,提供一种基于DHT网络的数据传输装置,应用于发送端,所述装置包括:
查询模块,用于当存在待发送消息时,根据第一私有通道信息指示的第一标志位键值,查询分布式哈希表DHT网络中与所述发送端对应的中继节点上的标志位,所述第一标志位键值用于指示所述标志位在所述中继节点上的DHT中存储的位置;
发送模块,用于在所述标志位为已发状态时,根据所述第一私有通道信息指示的第一信息键值,将所述待发送消息按照预设的会话密钥发送至所述中继节点,以便接收端根据所述第一信息键值,按照所述会话密钥从所述中继节点获取所述待发送消息,所述第一信息键值用于指示所述待发送消息在所述中继节点上的DHT中存储的位置,所述已发状态表示所述中继节点中存储的上一次发送的待发送消息已被所述接收端接收;
轮询模块,用于在所述标志位为未发状态时,重复执行所述根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与所述发送端对应的中继节点上的标志位的步骤,直至所述标志位为已发状态,所述未发状态表示所述中继节点中存储的上一次发送的待发送消息未被所述接收端接收。
可选地,所述装置还包括:
广播模块,用于在所述根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与所述发送端对应的中继节点上的标志位之前,通过公有通道向所述DHT网络发送监听信息,所述监听信息包括所述中继节点的地址信息;
连接模块,用于通过所述公有通道接收所述接收端发送的连接请求,所述连接请求为所述接收端在根据接收到的所述监听信息建立第一私有通道之后发送的,所述连接请求包括所述第一私有通道的所述第一私有通道信息,所述第一私有通道用于所述发送端通过所述中继节点向所述接收端发送消息。
可选地,所述连接请求还包括所述接收端的第一认证信息,所述装置还包括:
创建模块,用于在所述通过所述公有通道接收所述接收端发送的连接请求之后,当所述第一认证信息通过认证时,创建第二私有通道,并根据所述第一私有通道信息将连接响应发送至所述接收端,所述连接响应包括所述第二私有通道的第二私有通道信息和所述发送端的第二认证信息,所述第二私有通道用于所述发送端通过所述中继节点接收由所述接收端发送的消息。
可选地,所述连接模块还用于:
在所述创建第二私有通道,并根据所述第一私有通道信息将连接响应发送至所述接收端之后,根据所述第二私有通道信息接收所述接收端在通过认证所述第二认证信息后发送的所述接收端的第一公钥,以根据所述第一公钥和所述发送端的第二公钥确定所述会话密钥;
根据所述第一私有通道信息向所述接收端发送所述第二公钥和发送端就绪指令,以便所述接收端根据所述第一公钥和所述第二公钥确定所述会话密钥,并向所述发送端发送所述接收端就绪指令。
可选地,所述装置还包括:
跳变模块,用于按照预设的跳变周期,在所述DHT网络中选取新的中继节点,以将所述发送端对应的中继节点更新为所述新的中继节点;
所述跳变模块,还用于根据更新后的所述中继节点建立第四私有通道,所述第四私有通道用于所述发送端通过所述更新后的中继节点接收由所述接收端发送的消息;
所述跳变模块,还用于根据所述第一私有通道信息向所述接收端发送所述第四私有通道的所述第四私有通道信息,以便所述接收端根据所述第四私有通道信息建立第三私有通道,并将所述第三私有通道的第三私有通道信息发送至所述发送端,所述第三私有通道用于所述发送端通过所述更新后的中继节点向所述接收端发送消息;
所述查询模块,还用于当存在新待发送消息时,根据第三私有通道信息指示的第三标志位键值,查询所述更新后的中继节点上的标志位,所述第三标志位键值用于指示所述标志位在所述更新后的中继节点上的DHT中存储的位置;
所述发送模块,还用于在所述标志位为已发状态时,根据所述第三私有通道信息指示的第三信息键值,将所述新待发送消息按照所述会话密钥发送至所述更新后的中继节点,以便接收端根据所述第三信息键值,按照所述会话密钥从所述更新后的中继节点获取所述新待发送消息,所述第三信息键值用于指示所述待发送消息在所述更新后的中继节点上的DHT中存储的位置;
所述轮询模块,还用于在所述标志位为未发状态时,重复执行所述根据第三私有通道信息指示的第三标志位键值,查询所述更新后的中继节点上的标志位的步骤,直至所述标志位为已发状态。
根据本公开实施例的第四方面,提供一种基于DHT网络的数据传输装置,应用于接收端,所述装置包括:
查询模块,用于根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与发送端对应的中继节点上的标志位,所述第一标志位键值用于指示所述标志位在所述中继节点上的DHT中存储的位置;
接收模块,用于在所述标志位为未发状态时,根据所述第一私有通道信息指示的第一信息键值,按照预设的会话密钥从所述中继节点获取待接收消息,所述第一信息键值用于指示所述待接收消息在所述中继节点上的DHT中存储的位置,所述待接收消息为所述发送端根据所述第一信息键值,按照所述会话密钥发送至所述中继节点的消息,所述未发状态表示所述中继节点中存储的上一次发送的待发送消息未被所述接收端接收;
轮询模块,用于在所述标志位为已发状态时,重复执行所述根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与所述发送端对应的中继节点上的标志位的步骤,直至所述标志位为未发状态,所述已发状态表示所述中继节点中存储的上一次发送的待发送消息已被所述接收端接收。
可选地,所述装置还包括:
广播模块,用于在所述根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与所述发送端对应的中继节点上的标志位之前,通过公有通道接收所述发送端向所述DHT网络发送的监听信息,所述监听信息包括所述中继节点的地址信息;
创建模块,用于根据所述监听信息建立第一私有通道,所述第一私有通道用于所述接收端通过所述中继节点接收所述发送端发送的消息;
连接模块,用于通过所述公有通道向所述发送端发送连接请求,所述连接请求包括所述第一私有通道的所述第一私有通道信息。
可选地,所述连接请求还包括所述接收端的第一认证信息,所述连接模块还用于:
在所述通过所述公有通道向所述发送端发送连接请求之后,接收所述发送端发送的连接响应,所述连接响应为所述发送端在通过认证所述第一认证信息,并建立第二私有通道之后发送的,所述连接响应包括所述第二私有通道的第二私有通道信息和所述发送端的第二认证信息,所述第二私有通道用于所述接收端通过所述中继节点向所述发送端发送消息。
可选地,所述连接模块还用于:
在所述接收所述发送端发送的连接响应之后,当所述第二认证信息通过验证时,根据所述第二私有通道信息将所述接收端的第一公钥发送至所述发送端,以便所述发送端根据所述第一公钥和所述发送端的第二公钥确定所述会话密钥;
根据所述第一私有通道信息接收所述发送端发送的第二公钥和发送端就绪指令,以根据所述第一公钥和所述第二公钥确定所述会话密钥,并根据所述第二私有通道信息将接收端就绪指令发送至所述发送端。
根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面提供的基于DHT网络的数据传输方法的步骤。
根据本公开实施例的第六方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面提供的基于DHT网络的数据传输方法的步骤。
根据本公开实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第二方面提供的基于DHT网络的数据传输的步骤。
根据本公开实施例的第八方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第二方面提供的基于DHT网络的数据传输方法的步骤。
通过上述技术方案,本公开在发送端上存在待发送消息时,根据第一私有通道信息指示的第一标志位键值,查询DHT网络中和发送端对应的中继节点上的标志位,在标志位为已发状态时,根据第一私有通道信息指示的第一信息键值,将待发送消息按照预设的会话密钥发送至中继节点,使得接收端根据第一信息键值,按照会话密钥从中继节点获取待发送消息,在标志位为未发状态时,重复查询中继节点上的标志位,直至标志位为已发状态。其中,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置,第一信息键值用于指示待发送消息在中继节点上的DHT中存储的位置。在接收端上,根据第一私有通道信息指示的第一标志位键值,查询中继节点上的标志位,在标志位为未发状态时,根据第一私有通道信息指示的第一信息键值,按照会话密钥从中继节点获取待发送消息,在标志位为已发状态时,重复查询中继节点上的标志位,直至标志位为未发状态。通过利用DHT网络中的大量分散的中继节点作为数据传输的中转,能够提高数据传输过程中的通信主体的隐匿程度和安全度,同时不需要部署特定的网络结构,能够降低成本和被控制的可能性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本公开提供的基于DHT网络的数据传输方法、装置、电子设备和存储介质之前,首先对本公开中各个实施例所涉及的应用场景进行介绍,该应用场景中包括发送端、与发送端对应的中继节点和接收端,发送端、中继节点和接收端均为DHT(英文:DistributedHash Table,中文:分布式哈希表)网络中的任一节点,发送端可以按照预设的规则选取对应的中继节点,例如可以是在DHT网络中随机选取任一个可以通信的节点,也可以根据预设的跳频图案来选取中继节点,或者在路由表中随机选择任一个长期活跃的节点,还可以根据区块链智能合约中预先存储的规则来选取中继节点。其中,DHT网络可以是基于P2P(英文:Peer-to-peer networking,中文:对等网络)通信方式的IPFS(英文:InterPlanetaryFile System,中文:星际文件系统)网络或BT(英文:Bit Torrent,中文:比特流)网络,数据传输过程中的规则和资源都可以存储在区块链智能合约中,也可以存储在其他类型的数据库中。发送端、中继节点和接收端均可以是智能手机、平板电脑、智能电视、智能手表、PDA(英文:Personal Digital Assistant,中文:个人数字助理)、便携计算机等移动终端,也可以是台式计算机等固定终端。
图1是根据一示例性实施例示出的一种基于DHT网络的数据传输方法的流程图,如图1所示,该方法应用于发送端,包括:
步骤101,当存在待发送消息时,根据第一私有通道信息指示的第一标志位键值,查询分布式哈希表DHT网络中与发送端对应的中继节点上的标志位,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置。
举例来说,在发送端与接收端进行数据传输之前,发送端与接收端之间预先可以通过DHT网络中与发送端对应的中继节点建立连接,使得发送端和接收端之间能够传输数据。可以在接收端上创建第一私有通道,用于发送端通过中继节点向接收端发送消息(即用于接收端通过中继节点接收发送端发送的消息),同时,在发送端上可以创建第二私有通道,用于发送端通过中继节点接收接收端发送的消息(即用于接收端通过中继节点向发送端发送消息)。接收端可以预先将第一私有通道的第一私有通道信息告知发送端,同时,发送端可以预先将第二私有通道的第二私有通道信息告知接收端,其中,第一私有通道信息用于描述第一私有通道,例如可以包括中继节点的地址信息、第一标志位键值和第一信息键值,第二私有通道信息用于描述第二私有通道,例如可以包括中继节点的地址信息、第二标志位键值和第二信息键值,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置,第一信息键值用于指示待发送消息在中继节点上的DHT中存储的位置。
当发送端上存在待发送消息要发送至接收端时,根据第一私有通道信息指示的第一标志位键值,在中继节点的DHT中查询第一标志键值所指示的标志位。由于DHT是分布式数据库(英文:distributed data base,缩写:DDB),是非结构化的数据存储方式,因此只能通过唯一的键值来读取DHT中存储的数据,第一标志位键值即为能够唯一标识标志位的键值,同理,第一信息键值即为能够唯一标识待发送消息的键值。
步骤102,在标志位为已发状态时,根据第一私有通道信息指示的第一信息键值,将待发送消息按照预设的会话密钥发送至中继节点,以便接收端根据第一信息键值,按照会话密钥从中继节点获取待发送消息,第一信息键值用于指示待发送消息在中继节点上的DHT中存储的位置。
步骤103,在标志位为未发状态时,重复执行步骤101,直至标志位为已发状态。
示例的,标志位可以有两种状态:已发状态和未发状态(可以用old和new来区分),其中,已发状态表示中继节点中存储的上一次发送的待发送消息已被接收端接收,未发状态表示中继节点中存储的上一次发送的待发送消息还未被接收端接收。当标志位为已发状态(即标志位为old)时,发送端将待发送消息按照预设的会话密钥进行加密,并发送至中继节点上的DHT中第一信息键值所指示的位置进行存储。以便接收端按照约定的会话密钥从中继节点上的DHT中第一信息键值指示的位置处获取待发送消息。当标志位为未发状态(即标志位为new)时,重复执行步骤101,查询中继节点上的标志位,直至标志位变为已发状态,从而将待发送消息发送至中继节点。需要说明的是,可以预先设置一个预设时长(例如可以是10s)的定时器,初始状态从零开始计时,在标志位为未发状态时一直计时,在标志位变为已发状态时进行清零。当定时器到达预设时长(即标志位保持未发状态超过预设时长)时,可以确认接收端已下线(例如:接收端从DHT网络中断开)。进一步的,为了保证发送端和接收端在正常情况下,能够保持正常通信状态,在没有待发送消息传输时,可以按照预设的心跳周期(例如可以是2s)发送心跳信息。
需要说明的是,第一标志位键值和标志位,第一信息键值和待发送消息可以按照{key,value}的格式存储在中继节点的DHT中,一个{key,value}对应一个slot。例如:第一标志位键值和标志位可以是DHT中的slot0{1001101,new},第一信息键值和待发送消息可以是DHT中的slot1{1100110,“测试信号”}。
由于DHT网络中每个节点只负责一个小范围的路由,并且DHT网络中存在大量的数据传输,发起数据传输的节点可能来自世界各地,因此很难通过对数据的分析推断出真实的通信主体(即发送端和接收端),同时由于发送端和接收端之间通过中继节点来转发待发送消息,进一步隐藏了通信主体,从而提高了数据传输过程中的通信主体的隐匿程度和安全度。同时,由于DHT网络无需预先部署特定的网络结构,因此,能够降低数据传输的成本和被控制的可能性。
综上所述,本公开在发送端上存在待发送消息时,根据第一私有通道信息指示的第一标志位键值,查询DHT网络中和发送端对应的中继节点上的标志位,在标志位为已发状态时,根据第一私有通道信息指示的第一信息键值,将待发送消息按照预设的会话密钥发送至中继节点,使得接收端根据第一信息键值,按照会话密钥从中继节点获取待发送消息,在标志位为未发状态时,重复查询中继节点上的标志位,直至标志位为已发状态。其中,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置,第一信息键值用于指示待发送消息在中继节点上的DHT中存储的位置。通过利用DHT网络中的大量分散的中继节点作为数据传输的中转,能够提高数据传输过程中的通信主体的隐匿程度和安全度,同时不需要部署特定的网络结构,能够降低成本和被控制的可能性。
图2是根据一示例性实施例示出的另一种基于DHT网络的数据传输方法的流程图,如图2所示,在步骤101之前,该方法还包括:
步骤104,通过公有通道向DHT网络发送监听信息,监听信息包括中继节点的地址信息。
步骤105,通过公有通道接收接收端发送的连接请求,连接请求为接收端在根据接收到的监听信息建立第一私有通道之后发送的,连接请求包括第一私有通道的第一私有通道信息,第一私有通道用于发送端通过中继节点向接收端发送消息。
举例来说,在发送端与接收端进行数据传输之前,发送端与接收端之间预先可以通过DHT网络中与发送端对应的中继节点建立连接,使得发送端和接收端之间能够传输数据。首先,发送端通过公有通道向DHT网络发送包含了中继节点的地址信息的监听信息,监听信息还可以包括接收端的标识号(缩写:ID,英文:Identity),以确定DHT网络中众多节点中的接收端。其中公有通道为公开的通道,DHT网络中的任一节点都能够通过公有通道进行数据的传输。在接收端收到监听信息后,根据监听信息中的中继节点的地址信息建立第一私有通道,用于发送端通过中继节点向接收端发送消息(即用于接收端通过中继节点接收发送端发送的消息),并将包含第一私有通道的第一私有通道信息的连接请求通过公有通道发送给发送端。发送端通过公有通道接收到连接请求,能够得知第一私有通道信息,即能够通过第一私有通道将待发送消息发送给接收端。其中,第一私有通道信息用于描述第一私有通道,例如可以包括中继节点的地址信息、第一标志位键值和第一信息键值。
图3是根据一示例性实施例示出的另一种基于DHT网络的数据传输方法的流程图,连接请求还包括接收端的第一认证信息,如图3所示,在步骤105之后,该方法还包括:
步骤106,当第一认证信息通过认证时,创建第二私有通道,并根据第一私有通道信息将连接响应发送至接收端,连接响应包括第二私有通道的第二私有通道信息和发送端的第二认证信息,第二私有通道用于发送端通过中继节点接收由接收端发送的消息。
举例来说,为了进一步提高数据传输的安全度,接收端发送的连接请求中还可以包括接收端的第一认证信息,第一认证信息例如可以包括接收端的标识号和预先约定好的字符串(例如可以根据区块链智能合约中设置的规则生成的字符串),发送端能够根据第一认证信息验证待发送消息是否要发送给接收端,并且验证接收端的合法性。当第一认证信息通过认证时,表示待发送消息是发送给接收端的,并且接收端合法。此时,发送端创建第二私有通道,用于发送端通过中继节点接收由接收端发送的消息(即用于接收端通过中继节点向发送端发送消息)。再将包含了第二私有通道的第二私有通道信息和发送端的第二认证信息的连接响应根据第一私有通道信息通过中继节点发送至接收端,即通过第一私有通道发送连接响应。
图4是根据一示例性实施例示出的另一种基于DHT网络的数据传输方法的流程图,如图4所示,在步骤106之后,该方法还可以包括以下步骤:
步骤107,根据第二私有通道信息接收接收端在通过认证第二认证信息后发送的接收端的第一公钥,以根据第一公钥和发送端的第二公钥确定会话密钥。
步骤108,根据第一私有通道信息向接收端发送第二公钥和发送端就绪指令,以便接收端根据第一公钥和第二公钥确定会话密钥,并向发送端发送接收端就绪指令。
示例的,在发送端将连接响应发送至接收端之后,接收端对第二认证信息进行认证,在第二认证信息通过接收端的认证后,接收端将接收端本地存储的第一公钥通过第二私有通道发送至发送端,发送端接收到第一公钥后根据第一公钥和发送端本地存储的第二公钥,按照预设的算法确定会话密钥。进一步的,发送端会将第二公钥和发送端就绪指令通过第一私有通道发送至接收端,使得接收端通过第一私有通道收到第二公钥,并根据第一公钥和第二公钥按照预设的算法确定会话密钥,并向发送端发送接收端就绪指令。其中,可以采用非对称加密算法确定会话密钥,例如:会话密钥=哈希函数(第一公钥*第二公钥*接收端随机数*发送端随机数)。在发送端接收到接收端就绪指令,接收端接收到发送端就绪指令之后,发送端和接收端之间已经建立了能够实现数据传输的通道,即发送端通过第一私有通道向接收端发送数据,接收端通过第一私有通道接收数据,接收端通过第二私有通道向发送端发送数据,发送端通过第二私有通道接收数据。进一步的,接收端和发送端都可以发起关闭通信指令,以停止数据传输,即关闭第一私有通道和第二私有通道。
图5a是根据一示例性实施例示出的另一种基于DHT网络的数据传输方法的流程图,如图5a所示,该方法还可以包括以下步骤:
步骤109,按照预设的跳变周期,在DHT网络中选取新的中继节点,以将发送端对应的中继节点更新为新的中继节点。
步骤110,根据更新后的中继节点建立第四私有通道,第四私有通道用于发送端通过更新后的中继节点接收由接收端发送的消息。
步骤111,根据第一私有通道信息向接收端发送第四私有通道的第四私有通道信息,以便接收端根据第四私有通道信息建立第三私有通道,并将第三私有通道的第三私有通道信息发送至发送端,第三私有通道用于发送端通过更新后的中继节点向接收端发送消息。
举例来说,为了进一步提高数据传输过程中通信主体的隐匿程度和安全度,可以按照预设的跳变周期(例如:50s)来更新中继节点,即将发送端对应的中继节点更新为选取的新的中继节点,以增加定位通信主体、干扰通信过程的难度。其中发送端可以按照预设的规则在DHT网络中选取新的中继节点,例如可以是在DHT网络中随机选取任一个可以通信且不与当前中继节点相同的节点,也可以根据预设的跳频图案来选取新的中继节点,或者在路由表中随机选择任一个长期活跃且不与当前中继节点相同的节点,还可以根据区块链智能合约中预先存储的下一跳地址来选取新的中继节点。之后发送端根据更新后的中继节点,建立用于发送端通过更新后的中继节点接收由接收端发送的消息的第四私有通道,并通过第一私有通道将第四私有通道的第四私有通道信息发送至接收端,使得接收端根据第四私有通道信息,建立用于发送端通过更新后的中继节点向接收端发送消息的第三私有通道,并将第三私有通道的第三私有通道信息发送至发送端。
步骤101a,当存在新待发送消息时,根据第三私有通道信息指示的第三标志位键值,查询更新后的中继节点上的标志位,第三标志位键值用于指示标志位在更新后的中继节点上的DHT中存储的位置。
步骤102a,在标志位为已发状态时,根据第三私有通道信息指示的第三信息键值,将新待发送消息按照会话密钥发送至更新后的中继节点,以便接收端根据第三信息键值,按照会话密钥从更新后的中继节点获取新待发送消息,第三信息键值用于指示待发送消息在更新后的中继节点上的DHT中存储的位置。
步骤103a,在标志位为未发状态时,重复执行步骤101a,直至标志位为已发状态。
示例的,在步骤109至步骤111执行完成后,发送端和接收端均已知第三私有通道信息和第四私有通道信息,即可以通过更新后的中继节点使用第三私有通道和第四私有通道进行数据传输。使用第三私有通道和第四私有通道进行数据传输的步骤101a、102a和103a与相应的步骤101、102和103相同,此处不再赘述。
其中,发送端建立第四私有通道和接收端建立第三私有通道的过程可以如图5b中所示。
步骤A,首先由发送端更新中继节点,由于在数据传输过程中,发送端和接收端是可以互换的,即发送端也可以接收数据信息,接收端也可以发送数据信息,因此也可以由接收端更新中继节点,以先发起更新的一端所选取的中继节点为准,若两端同时发起更新,可以按照预设规则选取距离最近的中继节点作为更新后的中继节点。
步骤B,发送端根据更新后的中继节点建立第四私有通道,并通过第一私有通道发送包含了更新后的中继节点的地址信息和第四私有通道的第四私有通道信息的HOP(中文:跳变)消息至接收端。
步骤C,接收端根据HOP消息建立第三私有通道,并通过第二私有通道将三私有通道的第三私有通道信息发送至发送端。
步骤D,发送端收到第三私有通道信息后通过第二私有通道发送ACK(中文:响应)消息至接收端。
步骤E,接收端收到ACK消息后,通过第四私有通道发送接收端就绪指令至发送端。
步骤F,发送端收到接收端就绪指令后,通过第三私有通道发送ACK消息和发送端就绪指令至接收端。
步骤G,接收端接收到ACK消息和发送端就绪指令后,通过第四私有通道发送ACK消息至发送端。
至此,发送端建立了第四私有通道,接收端建立了第三私有通道,可以通过更新后的中继节点使用第三私有通道和第四私有通道进行数据传输。在建立第三私有通道和第四私有通道的过程中,任一步骤执行失败或超时,若中继节点已经更新,那么可以将中继节点回退至更新前的中继节点,以保证数据传输的正常进行。由于中继节点会按照跳变周期进行改变,相应的更新前的中继节点的DHT中存储的数据会自动删除,因此,进一步提高了数据传输过程中的通信主体的隐匿程度和安全度。
需要说明的是,在本公开实施例中,接收端和发送端之间传输数据(例如:待发送消息、第一私有通道信息、第二私有通道信息、监听信息、连接请求、连接响应等数据)的结构可以是:
typedef struct{
uint8 Magic; //魔术数字
uint8 Ver; //协议版本字符串
uint8 Type; //数据类型
uint32 ID; //数据ID
uint32 Seq; //数据序列号
uint32 CheckSum; //数据内容CRC校验码
byte Content; //数据内容
}
其中,数据的类型可以包括为:NOP:心跳信息,用于指示节点当前处于活动状态。STATUS:标志位键值,用于指示数据是否已被取走,数据内容可以为“new”或者“old”。PUBLIC:通过公共通道发送的信息,例如监听信息。AUTH:可以是连接请求。READY:可以是发送端就绪指令或接收端就绪指令,用于指示通道是否就绪。ACK:响应消息,用于回复确认信号。CRYPTO:秘钥协商指令,用于发送秘钥协商的随机数。MESSAGE:待发送消息(或待接收消息),数据内容可以使用会话秘钥进行加密。HOP:跳变消息。CLOSE:关闭通信指令,用于指示停止数据传输。
综上所述,本公开在发送端上存在待发送消息时,根据第一私有通道信息指示的第一标志位键值,查询DHT网络中和发送端对应的中继节点上的标志位,在标志位为已发状态时,根据第一私有通道信息指示的第一信息键值,将待发送消息按照预设的会话密钥发送至中继节点,使得接收端根据第一信息键值,按照会话密钥从中继节点获取待发送消息,在标志位为未发状态时,重复查询中继节点上的标志位,直至标志位为已发状态。其中,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置,第一信息键值用于指示待发送消息在中继节点上的DHT中存储的位置。通过利用DHT网络中的大量分散的中继节点作为数据传输的中转,能够提高数据传输过程中的通信主体的隐匿程度和安全度,同时不需要部署特定的网络结构,能够降低成本和被控制的可能性。
图6是根据一示例性实施例示出的一种基于DHT网络的数据传输方法的流程图,如图6所示,该方法应用于接收端,包括:
步骤201,根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与发送端对应的中继节点上的标志位,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置。
步骤202,在标志位为未发状态时,根据第一私有通道信息指示的第一信息键值,按照预设的会话密钥从中继节点获取待接收消息,第一信息键值用于指示待接收消息在中继节点上的DHT中存储的位置,待接收消息为发送端根据第一信息键值,按照会话密钥发送至中继节点的消息。
步骤203,在标志位为已发状态时,重复执行步骤201,直至标志位为未发状态。
举例来说,接收端根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与发送端对应的中继节点上的标志位,当标志位为未发状态(即标志位为new)时,表示中继节点中存储有待接收消息还未接收,接收端按照预先约定的会话密钥从中继节点上的DHT中第一信息键值指示的位置处获取待发送消息。当标志位为已发状态(即标志位为old)时,表示中继节点中存储的待接收消息已经被接收,那么重复执行步骤201,等待标志位变为未发状态。其中,待接收消息为发送端根据第一信息键值,按照会话密钥发送至中继节点的消息(即为发送端中的待发送消息)。
图7是根据一示例性实施例示出的另一种基于DHT网络的数据传输方法的流程图,如图7所示,在步骤201之前该方法还包括:
步骤204,通过公有通道接收发送端向DHT网络发送的监听信息,监听信息包括中继节点的地址信息。
步骤205,根据监听信息建立第一私有通道,第一私有通道用于接收端通过中继节点接收发送端发送的消息。
步骤206,通过公有通道向发送端发送连接请求,连接请求包括第一私有通道的第一私有通道信息。
示例的,在发送端与接收端进行数据传输之前,发送端与接收端之间预先可以通过DHT网络中与发送端对应的中继节点建立连接,使得发送端和接收端之间能够传输数据。首先,发送端通过公有通道向DHT网络发送包含了中继节点的地址信息的监听信息,还可以包括接收端的标识号(缩写:ID,英文:Identity),以使确定DHT网络中众多节点中的接收端。之后,接收端收到监听信息后,根据监听信息中的中继节点的地址信息建立第一私有通道,用于发送端通过中继节点向接收端发送消息(即用于接收端通过中继节点接收发送端发送的消息),并将包含第一私有通道的第一私有通道信息的连接请求通过公有通道发送给发送端。发送端通过公有通道接收到连接请求,能够得知第一私有通道信息,即能够通过第一私有通道将待发送消息发送给接收端。
图8是根据一示例性实施例示出的另一种基于DHT网络的数据传输方法的流程图,如图8所示,连接请求还包括接收端的第一认证信息,在步骤206之后,该方法还包括:
步骤207,接收发送端发送的连接响应,连接响应为发送端在通过认证第一认证信息,并建立第二私有通道之后发送的,连接响应包括第二私有通道的第二私有通道信息和发送端的第二认证信息,第二私有通道用于接收端通过中继节点向发送端发送消息。
示例的,为了进一步提高数据传输的安全度,接收端发送的连接请求中还可以包括接收端的第一认证信息,当第一认证信息通过认证时,发送端创建第二私有通道,用于发送端通过中继节点接收由接收端发送的消息(即用于接收端通过中继节点向发送端发送消息)。发送端再将包含了第二私有通道的第二私有通道信息和发送端的第二认证信息的连接响应根据第一私有通道信息通过中继节点发送至接收端,即通过第一私有通道发送连接响应。接收端接收发送端发送的连接响应。
图9是根据一示例性实施例示出的另一种基于DHT网络的数据传输方法的流程图,如图9所示,在步骤207之后,该方法还包括以下步骤:
步骤208,当第二认证信息通过验证时,根据第二私有通道信息将接收端的第一公钥发送至发送端,以便发送端根据第一公钥和发送端的第二公钥确定会话密钥。
步骤209,根据第一私有通道信息接收发送端发送的第二公钥和发送端就绪指令,以根据第一公钥和第二公钥确定会话密钥,并根据第二私有通道信息将接收端就绪指令发送至发送端。
举例来说,在接收端收到连接响应之后,对第二认证信息进行认证,在第二认证信息通过认证后,接收端将接收端的第一公钥通过第二私有通道发送至发送端,发送端接收到第一公钥后根据第一公钥和发送端的第二公钥,按照预设的算法确定会话密钥。进一步的,发送端会将第二公钥和发送端就绪指令通过第一私有通道发送至接收端,接收端通过第一私有通道收到第二公钥,并根据第一公钥和第二公钥按照预设的算法确定会话密钥,并向发送端发送接收端就绪指令。其中,可以采用非对称加密算法确定会话密钥,例如:会话密钥=哈希函数(第一公钥*第二公钥*接收端随机数*发送端随机数)。
综上所述,本公开在接收端上,根据第一私有通道信息指示的第一标志位键值,查询中继节点上的标志位,在标志位为未发状态时,根据第一私有通道信息指示的第一信息键值,按照会话密钥从中继节点获取待接收消息,在标志位为已发状态时,重复查询中继节点上的标志位,直至标志位为未发状态。其中,待接收消息为发送端根据第一信息键值,按照会话密钥发送至中继节点的消息,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置,第一信息键值用于指示待发送消息在中继节点上的DHT中存储的位置。通过利用DHT网络中的大量分散的中继节点作为数据传输的中转,能够提高数据传输过程中的通信主体的隐匿程度和安全度,同时不需要部署特定的网络结构,能够降低成本和被控制的可能性。
图10是根据一示例性实施例示出的一种基于DHT网络的数据传输装置的框图,如图10所示,该装置300应用于发送端,包括:
查询模块301,用于当存在待发送消息时,根据第一私有通道信息指示的第一标志位键值,查询分布式哈希表DHT网络中与发送端对应的中继节点上的标志位,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置。
发送模块302,用于在标志位为已发状态时,根据第一私有通道信息指示的第一信息键值,将待发送消息按照预设的会话密钥发送至中继节点,以便接收端根据第一信息键值,按照会话密钥从中继节点获取待发送消息,第一信息键值用于指示待发送消息在中继节点上的DHT中存储的位置。
轮询模块303,用于在标志位为未发状态时,重复执行根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与发送端对应的中继节点上的标志位的步骤,直至标志位为已发状态。
图11是根据一示例性实施例示出的另一种基于DHT网络的数据传输装置的框图,如图11所示,该装置300还包括:
广播模块304,用于在根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与发送端对应的中继节点上的标志位之前,通过公有通道向DHT网络发送监听信息,监听信息包括中继节点的地址信息。
连接模块305,用于通过公有通道接收接收端发送的连接请求,连接请求为接收端在根据接收到的监听信息建立第一私有通道之后发送的,连接请求包括第一私有通道的第一私有通道信息,第一私有通道用于发送端通过中继节点向接收端发送消息。
图12是根据一示例性实施例示出的另一种基于DHT网络的数据传输装置的框图,连接请求还包括接收端的第一认证信息,该装置300还包括:
创建模块306,用于在通过公有通道接收接收端发送的连接请求之后,当第一认证信息通过认证时,创建第二私有通道,并根据第一私有通道信息将连接响应发送至接收端,连接响应包括第二私有通道的第二私有通道信息和发送端的第二认证信息,第二私有通道用于发送端通过中继节点接收由接收端发送的消息。
可选地,连接模块305还用于执行以下步骤:
1)在创建第二私有通道,并根据第一私有通道信息将连接响应发送至接收端之后,根据第二私有通道信息接收接收端在通过认证第二认证信息后发送的接收端的第一公钥,以根据第一公钥和发送端的第二公钥确定会话密钥。
2)根据第一私有通道信息向接收端发送第二公钥和发送端就绪指令,以便接收端根据第一公钥和第二公钥确定会话密钥,并向发送端发送接收端就绪指令。
图13是根据一示例性实施例示出的另一种基于DHT网络的数据传输装置的框图,该装置300还包括:
跳变模块307,用于按照预设的跳变周期,在DHT网络中选取新的中继节点,以将发送端对应的中继节点更新为新的中继节点。
跳变模块307,还用于根据更新后的中继节点建立第四私有通道,第四私有通道用于发送端通过更新后的中继节点接收由接收端发送的消息。
跳变模块307,还用于根据第一私有通道信息向接收端发送第四私有通道的第四私有通道信息,以便接收端根据第四私有通道信息建立第三私有通道,并将第三私有通道的第三私有通道信息发送至发送端,第三私有通道用于发送端通过更新后的中继节点向接收端发送消息。
查询模块301,还用于当存在新待发送消息时,根据第三私有通道信息指示的第三标志位键值,查询更新后的中继节点上的标志位,第三标志位键值用于指示标志位在更新后的中继节点上的DHT中存储的位置。
发送模块302,还用于在标志位为已发状态时,根据第三私有通道信息指示的第三信息键值,将新待发送消息按照会话密钥发送至更新后的中继节点,以便接收端根据第三信息键值,按照会话密钥从更新后的中继节点获取新待发送消息,第三信息键值用于指示待发送消息在更新后的中继节点上的DHT中存储的位置。
轮询模块303,还用于在标志位为未发状态时,重复执行根据第三私有通道信息指示的第三标志位键值,查询更新后的中继节点上的标志位的步骤,直至标志位为已发状态。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开在发送端上存在待发送消息时,根据第一私有通道信息指示的第一标志位键值,查询DHT网络中和发送端对应的中继节点上的标志位,在标志位为已发状态时,根据第一私有通道信息指示的第一信息键值,将待发送消息按照预设的会话密钥发送至中继节点,使得接收端根据第一信息键值,按照会话密钥从中继节点获取待发送消息,在标志位为未发状态时,重复查询中继节点上的标志位,直至标志位为已发状态。其中,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置,第一信息键值用于指示待发送消息在中继节点上的DHT中存储的位置。通过利用DHT网络中的大量分散的中继节点作为数据传输的中转,能够提高数据传输过程中的通信主体的隐匿程度和安全度,同时不需要部署特定的网络结构,能够降低成本和被控制的可能性。
图14是根据一示例性实施例示出的一种基于DHT网络的数据传输装置的框图,如图14所示,该装置400应用于接收端,包括:
查询模块401,用于根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与发送端对应的中继节点上的标志位,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置。
接收模块402,用于在标志位为未发状态时,根据第一私有通道信息指示的第一信息键值,按照预设的会话密钥从中继节点获取待接收消息,第一信息键值用于指示待接收消息在中继节点上的DHT中存储的位置,待接收消息为发送端根据第一信息键值,按照会话密钥发送至中继节点的消息。
轮询模块403,用于在标志位为已发状态时,重复执行根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与发送端对应的中继节点上的标志位的步骤,直至标志位为未发状态。
图15是根据一示例性实施例示出的另一种基于DHT网络的数据传输装置的框图,如图15所示,该装置还包括:
广播模块404,用于在根据第一私有通道信息指示的第一标志位键值,查询DHT网络中与发送端对应的中继节点上的标志位之前,通过公有通道接收发送端向DHT网络发送的监听信息,监听信息包括中继节点的地址信息。
创建模块405,用于根据监听信息建立第一私有通道,第一私有通道用于接收端通过中继节点接收发送端发送的消息。
连接模块406,用于通过公有通道向发送端发送连接请求,连接请求包括第一私有通道的第一私有通道信息。
可选地,连接请求还包括接收端的第一认证信息,连接模块406还用于执行以下步骤:
1)在通过公有通道向发送端发送连接请求之后,接收发送端发送的连接响应,连接响应为发送端在通过认证第一认证信息,并建立第二私有通道之后发送的,连接响应包括第二私有通道的第二私有通道信息和发送端的第二认证信息,第二私有通道用于接收端通过中继节点向发送端发送消息。
可选地,连接模块406还用于执行以下步骤:
2)在接收发送端发送的连接响应之后,当第二认证信息通过验证时,根据第二私有通道信息将接收端的第一公钥发送至发送端,以便发送端根据第一公钥和发送端的第二公钥确定会话密钥。
3)根据第一私有通道信息接收发送端发送的第二公钥和发送端就绪指令,以根据第一公钥和第二公钥确定会话密钥,并根据第二私有通道信息将接收端就绪指令发送至发送端。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开在接收端上,根据第一私有通道信息指示的第一标志位键值,查询中继节点上的标志位,在标志位为未发状态时,根据第一私有通道信息指示的第一信息键值,按照会话密钥从中继节点获取待接收消息,在标志位为已发状态时,重复查询中继节点上的标志位,直至标志位为未发状态。其中,待接收消息为发送端根据第一信息键值,按照会话密钥发送至中继节点的消息,第一标志位键值用于指示标志位在中继节点上的DHT中存储的位置,第一信息键值用于指示待发送消息在中继节点上的DHT中存储的位置。通过利用DHT网络中的大量分散的中继节点作为数据传输的中转,能够提高数据传输过程中的通信主体的隐匿程度和安全度,同时不需要部署特定的网络结构,能够降低成本和被控制的可能性。
图16是根据一示例性实施例示出的一种电子设备500的框图。如图16所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,处理器501用于控制该电子设备500的整体操作,以完成上述的图1至图9中所示的任一种基于DHT网络的数据传输方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图1至图9中所示的任一种基于DHT网络的数据传输方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的图1至图9中所示的任一种基于DHT网络的数据传输方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的图1至图9中所示的任一种基于DHT网络的数据传输方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其它实施方案,均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。同时本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。本公开并不局限于上面已经描述出的精确结构,本公开的范围仅由所附的权利要求来限制。