一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于分布式网络的多方通信方法及分布式网络与流程

2021-11-26 22:08:00 来源:中国专利 TAG:


1.本发明涉及通信技术领域,尤其涉及一种用于分布式网络的多方通信方法及分布式网络。


背景技术:

2.随着网络服务形态的多元化,网络的信息量的增长,中心化网络结构不再适应技术的发展,因此需要发展分布式网络模型。现有的分布式网络中节点间的通信存在效率低下的问题。例如,比特币采用gossip协议来传播交易和区块信息,在确认交易时需要分布式网络中的所有节点进行交互,得到全网确认后,交易才算完成,因此使用gossip协议会造成不可避免的消息延迟,这种方式不适合用在对实时性要求较高的场景下。


技术实现要素:

3.本发明的主要目的在于提供一种用于分布式网络的多方通信方法及分布式网络,旨在解决现有技术中分布式网络中节点间的通信效率较低的技术问题。
4.为实现上述目的,本发明实施例提供一种用于分布式网络的多方通信方法,所述用于分布式网络的多方通信方法包括:
5.发起节点通过公共信道发布广播信息,所述广播信息包含所述发起节点的通讯信息;
6.当其他节点在所述公共信道上收到所述广播信息时,所述其他节点中确定参与通信的参与节点基于所述通讯信息对应的发起节点的私有信道,将参与节点的响应信息发送给所述发起节点;
7.发起节点基于接收到的参与节点的响应信息确定出网络中多方通信节点的数量,并构建用于多方通信的通信列表,所述通信列表包括发起节点以及参与节点的私有信道;
8.发起节点基于所述多方通信节点的数量生成编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;
9.发起节点基于通信列表中包含的参与节点的私有信道将所述通信列表、编码串发送到参与节点;
10.参与节点接收所述通信列表、编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;
11.当所述多方通信的节点间进行通信时,发信节点使用收信节点对应密钥对通信信息加密后,基于所述通信列表中包含的收信节点的私有信道,发送至所述收信节点,所述收信节点根据本节点对应的密钥对加密后的通信信息进行解密。
12.可选的,所述广播信息还包含所述发起节点的时钟信息,所述用于分布式网络的多方通信方法还包括:
13.当其他节点在所述公共信道上收到所述广播信息时,所述其他节点中确定参与通信的参与节点基于所述时钟信息与所述发起节点进行时钟同步。
14.可选的,所述基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥包括:
15.基于所述编码串中的第一子编码串生成二维矩阵,所述二维矩阵由第一字符以及第二字符组成;
16.将所述编码串中的第二子编码串依次填入所述第一字符所在位置,得到待完善二维矩阵;
17.基于预设规则对所述第二字符所在位置的数据进行求解,得到完善二维矩阵;
18.将所述完善二维矩阵分为多个区域,每个区域构成一个密钥,多个密钥构成密钥组,根据分配规则将密钥组中的密钥分配给各节点。
19.可选的,所述通信信息中包含发信节点的身份标识信息。
20.此外,为实现上述目的,本发明实施例还提供一种分布式网络,所述分布式网络包括:
21.发起节点,用于通过公共信道发布广播信息,所述广播信息包含所述发起节点的通讯信息;
22.当其他节点在所述公共信道上收到所述广播信息时,所述其他节点中确定参与通信的参与节点,用于基于所述通讯信息对应的发起节点的私有信道,将参与节点的响应信息发送给所述发起节点;
23.发起节点,用于基于接收到的参与节点的响应信息确定出网络中多方通信节点的数量,并构建用于多方通信的通信列表,所述通信列表包括发起节点以及参与节点的私有信道;
24.发起节点,用于基于所述多方通信节点的数量生成编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;
25.发起节点,用于基于通信列表中包含的参与节点的私有信道将所述通信列表、编码串发送到参与节点;
26.参与节点,用于接收所述通信列表、编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;
27.当所述多方通信的节点间进行通信时,发信节点使用收信节点对应密钥对通信信息加密后,基于所述通信列表中包含的收信节点的私有信道,发送至所述收信节点,所述收信节点根据本节点对应的密钥对加密后的通信信息进行解密。
28.可选的,所述广播信息还包含所述发起节点的时钟信息,当其他节点在所述公共信道上收到所述广播信息时,所述其他节点中确定参与通信的参与节点基于所述时钟信息与所述发起节点进行时钟同步。
29.可选的,发起节点和/或参与节点用于:
30.基于所述编码串中的第一子编码串生成二维矩阵,所述二维矩阵由第一字符以及第二字符组成;
31.将所述编码串中的第二子编码串依次填入所述第一字符所在位置,得到待完善二维矩阵;
32.基于预设规则对所述第二字符所在位置的数据进行求解,得到完善二维矩阵;
33.将所述完善二维矩阵分为多个区域,每个区域构成一个密钥,多个密钥构成密钥
组,根据分配规则将密钥组中的密钥分配给各节点。
34.可选的,所述通信信息中包含发信节点的身份标识信息。
35.本发明中,发起节点通过公共信道发布广播信息,所述广播信息包含所述发起节点的通讯信息;当其他节点在所述公共信道上收到所述广播信息时,所述其他节点中确定参与通信的参与节点基于所述通讯信息对应的发起节点的私有信道,将参与节点的响应信息发送给所述发起节点;发起节点基于接收到的参与节点的响应信息确定出网络中多方通信节点的数量,并构建用于多方通信的通信列表,所述通信列表包括发起节点以及参与节点的私有信道;发起节点基于所述多方通信节点的数量生成编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;发起节点基于通信列表中包含的参与节点的私有信道将所述通信列表、编码串发送到参与节点;参与节点接收所述通信列表、编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;当所述多方通信的节点间进行通信时,发信节点使用收信节点对应密钥对通信信息加密后,基于所述通信列表中包含的收信节点的私有信道,发送至所述收信节点,所述收信节点根据本节点对应的密钥对加密后的通信信息进行解密。通过本发明,分布式网络中的节点可以根据实际需求自适应组网实现多方通信,从而使得信息的传递仅仅发生在自组通信网络中的各个节点间,无需全网节点参与,提高通信效率,且对通信信息进行加密传输提高了信息安全性。
附图说明
36.图1为本发明用于分布式网络的多方通信方法一实施例的流程示意图;
37.图2为一实施例中二维矩阵的第一子编码串前两行的示意图;
38.图3为一实施例中二维矩阵的第二子串填充后的前两行的示意图;
39.图4为一实施例中待完善的二维矩阵的示意图;
40.图5为一实施例中完善二维矩阵的示意图;
41.图6为一实施例中对密钥组进行分配的示意图。
42.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
43.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
44.参照图1,图1为本发明用于分布式网络的多方通信方法一实施例的流程示意图。在一实施例中,用于分布式网络的多方通信方法包括:
45.步骤s10,发起节点通过公共信道发布广播信息,所述广播信息包含所述发起节点的通讯信息;
46.本实施例中,分布式网络中存在至少一个公共信道,分布式网络中的各个节点可以在公共信道上发布广播信息以及接收公共信道上的广播信息。同时,每个节点还对应有至少一个私有信道,其他节点可基于该私有信道与之进行通信。当某个节点需要发起通信,比如抢票、投票、拍卖等,该发起节点通过公共信道发布广播信息,其中,广播信息包含发起节点的通讯信息,该通讯信息包含发起节点的私有信道等信息。
47.步骤s20,当其他节点在所述公共信道上收到所述广播信息时,所述其他节点中确
定参与通信的参与节点基于所述通讯信息对应的发起节点的私有信道,将参与节点的响应信息发送给所述发起节点;
48.本实施例中,其他节点指分布式网络中除去该发起节点以外的节点,由于其他节点实时对公共信道进行监听,因此,可收到该广播信息。例如,发起节点为节点1,其他节点为节点2至节点100。某时刻,节点2至节点100收到节点1发布的广播信息,若其中节点2至节点10想要与节点1进行通信,则节点2至节点10即为其他节点中确定参与通信的参与节点。由于广播信息中包含发起节点的私有信道信息,则参与节点(节点2至节点10)可以基于私有信道信息对应的私有信道将本节点的响应信息发送给发起节点。其中,参与节点的响应信息中可以包括参与节点的身份标识信息、参与节点的私有信道信息等。
49.步骤s30,发起节点基于接收到的参与节点的响应信息确定出网络中多方通信节点的数量,并构建用于多方通信的通信列表,所述通信列表包括发起节点以及参与节点的私有信道。
50.本实施例中,发起节点接收到参与节点的响应信息后,便可根据接收到的响应信息确定出网络中参与多方通信的节点数量,并构建用于多方通信的通信列表,通信列表包括发起节点以及参与节点的私有信道。例如,发起节点为节点1,参与节点为节点2至节点10,则节点1会接收到节点2至节点10发送的共计9条参与节点的响应信息,从而确定网络中参与多方通信的节点数量为10。然后,基于各个响应信息中包含的参与节点的身份标识、私有信道等信息,以及本节点的身份标识、私有信道信息,得到包括发起节点以及参与节点的私有信道的通信列表。
51.步骤s40,发起节点基于所述多方通信节点的数量生成编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥。
52.本实施例中,发起节点根据参与节点的响应信息确定出网络中多方通信的节点数量,根据多方通信节点的数量生成编码串,基于编码串生成密钥组,根据密钥组分配各节点对应的密钥。其中,编码串的长度与节点数量呈正相关关系,即节点数量越多编码串的长度越长。
53.步骤s50,发起节点基于通信列表中包含的参与节点的私有信道将所述通信列表、编码串发送到参与节点;
54.本实施例中,由于通信列表中包含各个参与节点的私有信道,基于此,发起节点便可基于通信列表中包含的参与节点的私有信道将通信列表、编码串发送到参与节点。
55.步骤s60,参与节点接收所述通信列表、编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;
56.本实施例中,参与节点接收到通信列表后,则多方通信的每个节点本地都保存有通信列表,即每个节点均知晓其他节点的私有信道,节点间便可进行自由通信。参与节点接收到编码串后,便可基于编码串生成密钥组,根据密钥组分配各节点对应的密钥。
57.步骤s70,当所述多方通信的节点间进行通信时,发信节点使用收信节点对应密钥对通信信息加密后,基于所述通信列表中包含的收信节点的私有信道,发送至所述收信节点,所述收信节点根据本节点对应的密钥对加密后的通信信息进行解密。
58.本实施例中,经过步骤s60,各个节点在本地生成密钥组,且每个节点均知道多方通信中各个节点所使用的密钥,以及各个节点对应的私有信道。因此节点间进行通信时,发
送信息的节点(发信节点)使用接收信息的节点(收信节点)对应的密钥对通信信息进行加密后通过收信节点的私有信道发送至收信节点,收信节点根据本节点对应的密钥对加密后的通信信息进行解密,从而得到通信信息。例如第一节点与第二、第三节点进行通信,当第一节点需要向第二以及第三节点发信息时,第一节点通过第二节点对应的密钥对通信信息进行加密后发送至第二节点,第二节点接收到该加密信息后,使用自身对应的密钥对加密信息进行解密,即可得到通信信息,同理,第一节点通过第三节点对应的密钥对通信信息进行加密后发送至第三节点,第三节点接收到该加密信息后,使用自身对应的密钥对加密信息进行解密,即可得到通信信息。这种加密通信方式,提高了通信信息的安全性。
59.本实施例中,发起节点通过公共信道发布广播信息,所述广播信息包含所述发起节点的通讯信息;当其他节点在所述公共信道上收到所述广播信息时,所述其他节点中确定参与通信的参与节点基于所述通讯信息对应的发起节点的私有信道,将参与节点的响应信息发送给所述发起节点;发起节点基于接收到的参与节点的响应信息确定出网络中多方通信节点的数量,并构建用于多方通信的通信列表,所述通信列表包括发起节点以及参与节点的私有信道;发起节点基于所述多方通信节点的数量生成编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;发起节点基于通信列表中包含的参与节点的私有信道将所述通信列表、编码串发送到参与节点;参与节点接收所述通信列表、编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;当所述多方通信的节点间进行通信时,发信节点使用收信节点对应密钥对通信信息加密后,基于所述通信列表中包含的收信节点的私有信道,发送至所述收信节点,所述收信节点根据本节点对应的密钥对加密后的通信信息进行解密。通过本实施例,分布式网络中的节点可以根据实际需求自组多方通信网络,从而使得信息的传递仅仅发生在自组多方通信网络中的各个节点间,无需全网节点参与,提高了通信效率,且对通信信息进行加密传输提高了信息安全性。
60.进一步地,一实施例中,所述广播信息还包含所述发起节点的时钟信息,所述用于分布式网络的多方通信方法还包括:
61.当其他节点在所述公共信道上收到所述广播信息时,所述其他节点中确定参与通信的参与节点基于所述时钟信息与所述发起节点进行时钟同步。
62.由于现有的分布式网络中关于时间同步的问题没有提出好的解决方案,节点的时钟信息是从时间同步服务器获取或使用本地时钟,由于分布式网络中各节点地理位置、网络延迟等问题各个节点的时钟信息可能存在差异,在实时性要求高的通信场景会出现一致性问题。因此,本实施例中,通过在广播信息中携带发起节点的时钟信息,使得参与节点可基于时钟信息与发起节点进行时钟同步,无需时间同步服务器参与,且保证了多方通信的各个节点的时间一致性。
63.进一步地,一实施例中,所述基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥包括:
64.基于所述编码串中的第一子编码串生成二维矩阵,所述二维矩阵由第一字符以及第二字符组成;将所述编码串中的第二子编码串依次填入所述第一字符所在位置,得到待完善二维矩阵;基于预设规则对所述第二字符所在位置的数据进行求解,得到完善二维矩阵;将所述完善二维矩阵分为多个区域,每个区域构成一个密钥,多个密钥构成密钥组,根
据分配规则将密钥组中的密钥分配给各节点。
65.本实施例中,编码串由第一子编码串以及第二子编码串组成。其中,第一子编码串用于生成二维矩阵,且第一子编码串由若干第一字符和若干第二字符组成,则相应的二维矩阵由第一字符以及第二字符组成。例如,第一字符为“1”,第二字符为“0”,第一子编码的长度为256位(根据实际需求长度可变化),其中第一子编码串的前32位具体为:1000 1001 1001 0001 0101 0010 0100 1010。则对应的二维矩阵的前两行如图2所示。图2为一实施例中二维矩阵的第一子编码串前两行的示意图。容易理解的是,按照相同的方法即可生成完整的由“1”和“0”组成的二维矩阵。在此,第一字符为“1”,第二字符为“0”仅为示意性说明,第一字符以及第二字符也可以为其他字符。
66.第二子编码串所表示的字符的数量与第一子编码串中第一字符的数量相同。如图2所示,在二维矩阵的前两行中第一字符的数量为12个,则二维矩阵的前两行中第一字符位置处对应部分的第二子编码串所表示的字符的数量也为12个。例如,该部分第二子编码串为:1111 1000 0110 1010 0101 0000 0110 1001 1011 0001 1111 0101。将其填入第一字符所在位置后,得到二维矩阵的前两行如图3所示,图3为一实施例中二维矩阵的第二子串填充后的前两行的示意图。容易理解的是,按照相同方法即可生成待完善的二维矩阵。如图4所示,图4为一实施例中待完善的二维矩阵的示意图。在生成如图4所示的待完善的二维矩阵后,根据规则,每一行的编码(0~f)不能重复,每一列的编码(0~f)不能重复,每个4*4(根据矩阵大小而定)区域内的编码(0~f)不能重复,则可以对应形成一个完整的二维矩阵。如图5所示,图5为一实施例中完善二维矩阵的示意图。
67.生成该二维矩阵后,便根据分配规则将二维矩阵分为若干区域,该分配规则可以是平均分配规则,也可以是随机分配规则,即每个区域的大小可以相等也可以不相等。如图6所示,图6为一实施例中对密钥组进行分配的示意图。图6中,将二维矩阵分成了16个4
×
4的区域。然后为每个节点指定对应的区域,每个节点对应的区域可以相同也可以不同。例如,节点1对应区域1,节点2对应区域2
……
依次类推。也可以是,节点1和节点2都对应区域1,节点3节点5都对应区域3,节点4对应区域2
……
可根据实际需要为节点指定对应的区域,在此不做限制。每个区域内的数据可构成一个密钥,多个密钥组成密钥组,然后为每个节点指定对应使用的密钥。
68.为了进一步保证通信安全,上述实施例中,编码串可以根据实际需要进行更新,例如检测到网络存在风险时,发起节点生成新的编码串,并基于新的编码串生成新的密钥组,同时将新的编码串发送给参与节点,以供参与节点在本地生成新的密钥组,还可以是,每隔一段时间,自动对编码串进行更新,或是在接收到更新指令时,对编码串进行更新。其中,对编码串进行更新相当于对每个节点所使用的密钥进行更新。
69.进一步地,一实施例中,所述通信信息中包含发信节点的身份标识信息。
70.本实施例中,通信信息中包含发信节点的身份标识信息,如此一来,当收信节点得到通信信息后,便可根据通信信息中的身份标识信息确定当前的通信信息来自哪个节点。其中,身份标识信息直接从节点的系统信息中获取,该身份标识信息可以唯一标识对应的节点的身份,例如以唯一机器识别码作为节点的身份标识信息。使得发信节点无法冒充其他节点给收信节点发送信息。
71.本发明实施例还公开一种分布式网络,所述分布式网络包括:
72.发起节点,用于通过公共信道发布广播信息,所述广播信息包含所述发起节点的通讯信息;
73.当其他节点在所述公共信道上收到所述广播信息时,所述其他节点中确定参与通信的参与节点,用于基于所述通讯信息对应的发起节点的私有信道,将参与节点的响应信息发送给所述发起节点;
74.发起节点,用于基于接收到的参与节点的响应信息确定出网络中多方通信节点的数量,并构建用于多方通信的通信列表,所述通信列表包括发起节点以及参与节点的私有信道;
75.发起节点,用于基于所述多方通信节点的数量生成编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;
76.发起节点,用于基于通信列表中包含的参与节点的私有信道将所述通信列表、编码串发送到参与节点;
77.参与节点,用于接收所述通信列表、编码串,基于所述编码串生成密钥组,基于所述密钥组分配每个节点对应的密钥;
78.当所述多方通信的节点间进行通信时,发信节点使用收信节点对应密钥对通信信息加密后,基于所述通信列表中包含的收信节点的私有信道,发送至所述收信节点,所述收信节点根据本节点对应的密钥对加密后的通信信息进行解密。
79.进一步地,一实施例中,所述广播信息还包含所述发起节点的时钟信息,当其他节点在所述公共信道上收到所述广播信息时,所述其他节点中确定参与通信的参与节点基于所述时钟信息与所述发起节点进行时钟同步。
80.进一步地,一实施例中,发起节点和/或参与节点用于:
81.基于所述编码串中的第一子编码串生成二维矩阵,所述二维矩阵由第一字符以及第二字符组成;
82.将所述编码串中的第二子编码串依次填入所述第一字符所在位置,得到待完善二维矩阵;
83.基于预设规则对所述第二字符所在位置的数据进行求解,得到完善二维矩阵;
84.将所述完善二维矩阵分为多个区域,每个区域构成一个密钥,多个密钥构成密钥组,根据分配规则将密钥组中的密钥分配给各节点。
85.进一步地,一实施例中,所述通信信息中包含发信节点的身份标识信息。
86.本发明分布式网络的具体实施例与上述用于分布式网络的多方通信方法的各个实施例基本相同,在此不做赘述。
87.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
88.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
89.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下
前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
90.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献