一种物联网设备数据共识方法及装置与流程

未命名 08-05 阅读:89 评论:0


1.本技术涉及通信领域,物联网技术领域,尤其涉及一种物联网设备数据共识方法及装置。


背景技术:

2.在物联网通信领域中,常需要将数据以通信的方式发送至网络中的各个设备中,以实现各个设备的数据同步。目前,在物联网通信中的数据传输常规的采用对对点的方式逐个进行数据的传输(发送-应答-确认)。然而,在实际应用过程中,通常会涉及到多个设备同时进行数据的传输,那么常规的点对点的传输只能需要一个设备相对一个设备进行数据同步,因为,常规的点对点的数据传输方式会使得数据的同步时间长,效率低,甚至会造成网络中数据的乱序。
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.当所述共识数据块的赋值为不可信,将所述共识数据块的发送次数定义为负数,将所述共识数据块的接收次数定义为0;当所述共识数据块的赋值为可信,直接获取所述共识数块的发送次数。
31.在此实施例中,所述方法还包括:
32.当所述共识数据块的赋值为不可信,将所述共识数据块通过所述共识模块同步给网络中其他通信节点;及将所述共识数据块同步给网络中其他通信节点后,包括:
33.当所述其他通信节点中的所述共识数据的赋值为可信时,则修改所述其他通信节点中的所述共识数据的发送次数为0,以继续进行其他通信节点中的所述共识数据的同步发送处理;
34.当所述其他通信节点中的所述共识数据的赋值为不可信时,则将其他通信节点中的所述共识数据块通过所述共识模块继续同步出去。
35.在一些实施例中,所述根据所述共识数据块的发送次数确定对所述共识数据块的同步发送处理,包括:
36.当所述共识数据块的发送次数达到预设值时,停止对所述共识数据块的发送。
37.在此实施例中,所述方法还包括:
38.获取所述共识数据块的接收次数;
39.当所述共识数据块的接收次数达到了最大接收阈时,则对所述共识数据块的发送次数的预设值进行降低调整,或增大所述发送次数。
40.在一些实施例中,所述方法还包括:
41.对所述共识数据块进行至少一次的有效发送处理,并对所述共识数据块进行发送次数计数。
42.在一些实施例中,所述方法还包括:所述共识模块还可以具有一个插入共识模块;所述插入共识模块通过数据插入接口接收从物联网路设备节点获取的核心数据块。
43.在一些实施例中,所述方法还包括:
44.当所述数据插入接口确认到所述核心数据块时,在所述核心数据块前部添加共识唯一标识,在所述核心数据块后部添加共识校验块,以形成插入数据的共识数据块;
45.对所述插入数据的共识数据块按照所述共识存储规则存储于所述数据存储链表中,并对所述共识据数据块的字段进行赋初值。
46.在此实施例中,所述在所述核心数据块前部添加共识唯一标识,在所述核心数据块后部添加共识校验块,包括:
47.将所述核心数据块的数据源和数据时间戳共同组成所述插入数据的共识数据块,其中所述数据时间戳是根据同一个同步时间计时单元确定的;
48.将根据所述插入数据的共识数据块的链表校验值标记所述插入数据的共识数据块的赋值,以形成所述共识校验块。
49.在一些实施例中,所述方法还包括:
50.所述共识模块还具有一个共识检索接口;
51.所述插入共识模块通过共识检索接口从所述数据存储链表中提取同步共识后的核心数据块。
52.本公开的第二方面提供了一种物联网设备数据共识装置,应用于上述第一方面任意可能实现的方法,所述装置包括:接收单元,用于通过共识模块接收共识数据块,将所述共识数据块按照共识存储规则存储于所述共识数据存储链表中,其中每个所述共识模块内至少包含一个共识数据存储链表;确定单元,用于确定所述共识数据块的赋值,并根据所述共识数据块的赋值确定所述共识数据块的发送次数;获取单元,用于获取所述共识数据块的发送次数;处理单元,用于根据所述共识数据块的发送次数确定对所述共识数据块的同步发送处理。
53.在一些实施例中,所述确定单元,包括:赋值确定单元,用于
54.确定前一个共识数据块的链表校验值;
55.确定所述共识数据块的基本信息,其中所述共识数据块的基本信息至少包括本共识数据块的共识唯一标识、核心数据块、共识校验块;
56.根据所述前一个共识数据块的链表校验值和所述共识数据块的基本信息确定所述共识数据块的链表校验值;
57.当所述共识数据块的链表校验值为可选结果时,标记所述共识数据块的赋值为可信。
58.在一些实施例中,所述确定单元,包括:发送次数确定单元,用于
59.当所述共识数据块的赋值为不可信,将所述共识数据块的发送次数定义为负数,将所述共识数据块的接收次数定义为0;当所述共识数据块的赋值为可信,直接获取所述共识数块的发送次数。
60.在一些实施例中,所述处理单元,用于当所述共识数据块的发送次数达到预设值时,停止对所述共识数据块的发送。
61.在一些实施例中,所述处理单元还用于:获取所述共识数据块的接收次数;
62.当所述共识数据块的接收次数达到了最大接收阈时,则对所述共识数据块的发送次数的预设值进行降低调整,或增大所述发送次数。
63.在一些实施例中,所述装置还包括:
64.插入单元,用于所述共识模块还可以具有一个插入共识模块;
65.所述插入共识模块通过数据插入接口接收从物联网路设备节点获取的核心数据块。
66.在一些实施例中,所述装置还包括:
67.检索单元,用于所述共识模块还具有一个共识检索接口;
68.所述插入共识模块通过共识检索接口从所述数据存储链表中提取同步共识后的核心数据块。
69.本公开的第三方面提供了一种通信设备,包括:用于存储处理器可执行指令的存储器;处理器,与所述存储器连接;其中,所述处理器被配置为执行第一方面任意可能实现的方法。
70.本公开的第四方面提供了一种通信设备,当所述存储介质中的指令由计算机的处理器执行时,使得计算机能够执行如第一方面任意可能实现的方法。
71.本公开的实施例提供的技术方案可以包括以下有益效果:
72.应用本公开的方法只需要管理好共识数据存储链表,按照本方法并利用每个共识模块的共识通信发送端口和共识通信接口端口进行共识数据块的发送和接收,即可实现所有节点的数据快速可靠的形成同步共识。
附图说明
73.以下将结合附图和优选实施例来对本公开进行进一步详细描述,但是本领域技术人员将领会的是,这些附图仅是出于解释优选实施例的目的而绘制的,并且因此不应当作为对本公开范围的限制。
74.图1是根据一示例性实施例示出的共识数据存储链表的示意图;
75.图2是根据一示例性实施例示出的一种物联网设备数据共识方法的流程的示意图;
76.图3是根据一示例性实施例示出的共识模块的示意图;
77.图4是根据一示例性实施例示出的数据存储单元的示意图;
78.图5是根据一示例性实施例示出的共识数据块的示意图;
79.图6是根据一示例性实施例示出的共识唯一标识的示意图;
80.图7是根据一示例性实施例示出的共识校验块的示意图;
81.图8是根据一示例性实施例示出的收发控制块的示意图;
82.图9根据一示例性实施例示出的共识数据块的示意图;
83.图10根据一示例性实施例示出的共识模块的示意图;
84.图11根据一示例性实施例示出的链表校验方式的示意图;
85.图12根据一示例性实施例示出的数据校验方式的示意图;
86.图13是本技术实施例提供的一种通信装置的结构示意图;
87.图14是本技术实施例提供的一种通信设备的结构示意图。
具体实施方式
88.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
89.本公开的物联网设备数据共识方法可以适用于所有具有通信接口和能力的系统、设备、产品中,可以利用任何的具有通信接口和能力的物联网系统、设备、产品、软硬件等方式实现本方法。
90.应用本公开的方法只需要管理好共识数据存储链表,按照本方法并利用每个共识模块的共识通信发送端口和共识通信接口端口进行共识数据块的发送和接收,即可实现所有节点的数据快速可靠的形成同步共识。
91.本公开的实施例的共识数据存储链表可以为一个二维数组,也可以为一个二维链表,通过一个链表头管理多个数据源的共识数据存储链表,如图1所示的共识数据存储链表的示意图,每个数据源的共识数据存储链表后面管理多个共识数据块。
92.本发明公开了一种物联网设备数据共识方法,实现了通信网络和物联网络中的所有设备数据的共识存储和记录,保证了所有设备节点生成的所有数据能够快速的同步到其它设备节点中,完成数据在全网同步共识存储。
93.本发明描述的一种物联网设备数据共识方法,如图2所示物联网设备数据共识方法的流程的示意图,本发明中每个物联网设备包含一个共识模块,每个共识模块内包含至少一个共识数据存储链表、至少一个共识通信发送端口和至少一个共识通信接收端口。如图3所示的共识模块的示意图,本实施例公开了一种物联网设备数据共识方法,所述的方法包括以下步骤:
94.s310:通过共识模块接收共识数据块,将所述共识数据块按照共识存储规则存储于所述共识数据存储链表中,其中每个所述共识模块内至少包含一个共识数据存储链表;
95.s320:确定所述共识数据块的赋值,并根据所述共识数据块的赋值确定所述共识数据块的发送次数;
96.s330:获取所述共识数据块的发送次数;
97.s340:根据所述共识数据块的发送次数确定对所述共识数据块的发送处理。
98.在此实施例中,通过共识模块可以从任意共识通信接收端口接收到的共识数据块存储到共识数据存储链表中。在接收该共识数据块后,共识模块会确定该共识数据块赋值,进一步的需要根据该共识数据块的赋值情况确定该共识数据块的发送次数等信息,或在共识数据块的发送次数不被重新定义时可以直接获取共识数据块的发送次数。最后,根据该共识数据块的发送次数,确定对该共识数据块的同步发送处理。这里的同步发送指的是将共识数据块从所有的共识通信接口发送出去。在此过程中,共识模块在接收共识数据块时不做应答处理,同步发送该共识数据块时也不进行确认等待。因此,可以高效的完成同时数
据块在物联网络中的同步。
99.在本公开中,共识模块还可以对共识数据块进行存储和发送,且该共识模块在共识数据块的接收、存储、发送的过程中保持共识数据块原封不动、不做修改。
100.本公开的共识通信发送端口和共识通信接收端口泛指任何可以进行信息和数据传递的物理的、逻辑的、硬件的、软件的介质、线路和接口。本公开将这些可以进行信息和数据传递的介质、线路和接口统称为共识接口。
101.本公开的共识通信发送端口和共识通信接收端口由至少1个共识接口的集合组成,这个共识接口集合可以是不同介质、不同线路、不同接口的组合。
102.在一些实施例中,本实施例公开了一种物联网设备数据共识方法,所述方法还包括:
103.共识数据存储链表以链表的形式存储至少一个数据存储单元,其中所述数据存储单元包含一个共识数据块和一个收发控制块;
104.通过所述链表的形式从所述任意共识通信接收端口接收所述共识数据块;
105.通过所述收发控制块来处理对所述共识数据块的接收和发送处理。
106.数据存储链表以链表的形式存储多个数据存储单元,用以存储从共识通信接收端口获取的共识数据块。其中,如图4所示的数据存储单元,每个数据存储单元包含一个共识数据块和一个收发控制块。因此,可以通过链表的方式将共识模块从任意共识通信接收端口接收到的共识数据块存储进入链表中,并由收发控制块来管理该共识数据块的发送和接收。
107.本公开的共识数据块至少包含:共识唯一标识,核心数据块以及共识校验块。并且,如图5所示的共识数据块的示意图,共识唯一标识位于核心数据块的前部,共识校验块位于核心数据块的后部,共识唯一标识,核心数据块以及共识校验块可以共同组成共识数据块
108.其中,共识唯一标识用于唯一标识物联网络中需要进行同步共识的核心数据块。在整个网络中所有的设备节点生成的不同的数据该共识唯一标识不同。
109.其中,核心数据块为需要利用共识模块通过共识方式传输到网络中所有其它共识模块的核心数据内容。核心数据块可以是某个物联网设备节点内部生成或者外部生成的。
110.其中,共识校验块用于校验共识数据块的准确性、真实性,防止数据在传输、存储过程中出现误码和被修改的情况出现。
111.本公开的共识唯一标识,如图6所示共识唯一标识的示意图,至少由数据源和数据时间戳两个部分组成。
112.其中,数据源用于标识核心数据块的数据来源编码,可以为设备id、设备地址码、uuid编码、ip地址编码等能够标识数据来源的设备编码,在本发明中可以优先的将数据源采用共识模块的设备节点的id编码。
113.其中,数据时间戳为核心数据块由插入数据接口插入进入共识模块时的时间点,该时间点由一个高精度的同步时间计时单元确定,根据网络系统的精度要求,该高精度的同步时间计时单元可以为毫秒、微妙或者纳秒级精度。
114.当物联网设备节点有多个核心数据块需要插入共识模块时,按照核心数据生成的时间先后顺序逐个的从数据插入接口进行插入,并在核心数据块前部添加共识唯一标识,
该共识唯一标识能够唯一的标识核心数据块的唯一性。
115.本公开的共识校验块,如图7所示的共识唯一标识的示意图,至少由数据校验和链表校验两个部分组成。
116.其中,链表校验用于对共识数据块存储的共识数据存储链表进行滚动式校验,以验证数据的真实性,防止数据误码或者非法手段对核心数据的篡改。
117.其中,数据校验用于对共识数据块中共识唯一标识、核心数据块、链表校验值进行校验,以保证共识数据块的准确性;本公开对于数据校验不正确的数据直接丢弃。
118.本公开的收发控制块,包含数据发送计数和数据接收计数两个部分。
119.数据发送计数用于记录共识数据存储链表中共识数据块从共识通信发送端口的发送计数,该共识数据块每发送一次就将发送计数+1。
120.数据接收计数用于记录共识数据存储链表中共识数据块从共识通信接收端口的接收计数,该共识数据块每接收到一次就将接收计数+1。
121.进一步的,如图8所示的收发控制块的示意图,收发控制块还可以包含数据可信标志,该字段用于标识数据存储链表中对应的共识数据块的链表校验值是否正确,即用于标识共识数据块的数据是否为可信。
122.在一些实施例中,本实施例公开了一种物联网设备数据共识方法,本公开所涉及到的共识存储规则包括:
123.将相同的共识数据块存储在同一个数据存储链表的数据存储单元中;
124.将从同一数据源获得的共识数据存储在相同的数据存储链表中,其中一个物联网设备节点对应一个数据存储链表;
125.将所述共识数据块根据数据生成时间的顺序在所述数据存储链表中进行依次存储,并形成链表。
126.在此实施例中,相同的共识数据块存储在共识数据存储链表的同一个数据存储单元中,利用数据接收计数进行接收统计计数。这里相同的共识数据块根据共识数据块中核心数据块的信息进行判断的。
127.不同数据源的共识数据块存储在不同共识数据存储链表中,相同数据源的共识数据块存储在同一个共识数据存储链表中。这里的数据源的共识数据块则是通过共识数据块中共识唯一标记的数据源进行判断的。
128.并且,网络中有多少个物联网设备节点就有多少个共识数据存储链表,每一个物联网设备节点对应一个数据存储链表。
129.根据时间优先原则将共识数据块在链表中的存储按照共识数据块的数据块生成时间先后的顺序进行存储并组成链表。其中,这里的时间来源于数据源,并且以数据块的生成时间定义。
130.在此实施例中,本公开所涉及到的共识存储规则还包括:
131.在确认共识数据块时,确定该共识数据块的数据校验值;
132.根据该共识数据块的数据校验值确定对该共识数据块进行存储或丢弃处理;
133.当该数据校验值验证正确,则对该共识数据块进行存储。
134.当该数据校验值验证不正确时,则对该共识数据直接丢弃。
135.在一些实施例中,本实施例公开了一种物联网设备数据共识方法,确定共识数据
块的赋值,包括:
136.确定前一个共识数据块的链表校验值;
137.确定共识数据块的基本信息,其中共识数据块的基本信息至少包括本共识数据块的共识唯一标识、核心数据块、共识校验块;
138.根据前一个共识数据块的链表校验值和该共识数据块的基本信息确定该共识数据块的链表校验值;
139.当该共识数据块的链表校验值为可选结果时,标记该共识数据块的赋值为可信。
140.获取前一个共识数据块的链表校验值。或者当共识数据存储链表的第一个共识数据块存储和链表校验处理时,由于链表中没有前一个共识数据块,将前一个共识数据块的链表校验值取值为0进行链表校验计算。
141.将前一个共识数据块的链表校验值、以及本共识数据块的共识唯一标识、核心数据块、数据校验值一起进行校验计算,获得一个新的链表校验值,该新的链表校验值即为该共识数据块的链表校验值。
142.进一步的,共识数据块由共识通信接收端口接收进入共识模块时,会进行链表校验值的验证,可选的链表校验值正确则将收发控制块的数据可信标志标记为可信,否则将数据可信标志标记为不可信。
143.由于该校验计算过程包含了前一个共识数据块的链表校验值,因此共识数据存储链表中的共识数据块通过滚动关联校验的方式进行了校验存储,共识数据块一旦存储进入共识数据存储链表后将不再允许修改,保证了数据的真实有效性;一旦修改链表后续所有的校验值不对,同时其它设备节点的链表数据也会和该设备链表数据不一致。
144.需要说明的是,在本公开中,所涉及到的共识方法的共识通信发送端口进行共识数据块的发送、共识通信接收端口进行共识数据块的接收都按照时间优先原则进行处理。
145.共识通信接收端口接收到共识数据块时,会根据数据源遍历相应数据源的共识数据存储链表,比较判断该共识数据块是否已经存储在链表中,若是则直接将接收计数+1;否则表明该共识数据块在该共识模块中属于一个新的共识数据块,按照时间优先原则和共识存储规则将共识数据块存储在链表中。
146.共识通信发送端口进行共识数据块的发送时,会遍历共识模块中所有的共识数据存储链表,查找时间最老的、且发送计数次数未达到预设值的共识数据块进行发送处理。其中预设值可以为预先设置的最大发送阈值。
147.在此实施例中,一种物联网设备数据共识方法,还包括:
148.设置一个最大可信延迟时间;
149.当赋值为不可信的共识数据块在最大可信延长时间内没有更新为可信的赋值状态,则由共识模块通过共识方式发起可信异常请求。
150.在本公开中,共识数据块的数据可信标志一旦被标识为数据可信后,该共识数据块将不能以任何方式被修改,且共识数据存储链表中只有前置共识数据块可信后,后面的共识数据块才可信。在本公开中,共识数据块采用链表进行滚动校验的方式进行存储,共识数据的链表校验值正确与否受前一个共识数据块的链表校验值的影响,若某个共识数据块由于前一个共识数据块异常丢失或者错误后会导致链表校验值异常,则该共识数据块的数据可信标志为不可信状态,且共识数据存储链表发生中断,链表后续所有的共识数据块都
将处于不可信状态。本公开的共识模块会定时进行该共识数据块的链表校验值的检查和可信状态的判断,以期望前一个共识数据块能够通过网络设备节点的共识机制恢复正常。
151.因此,在本公开中,给定的最大可信延迟时间,若处于不可信状态的共识数据块在这个给定的延迟时间后,依然没有恢复到可信状态,则(如图9)该共识模块会通过共识方式发起可信异常请求指令。
152.本发明的可信异常请求指令是:共识模块将共识数据块中的链表校验字段数据填充为00,数据发送计数赋值为负数、数据接收计数赋值为0,随后共识模块的发送端口会根据发送计数次数和数据时间戳重新启动该共识数据的传输,以此来实现可信异常请求指令的发送。
153.在一些实施例中,根据该共识数据块的赋值确定该共识数据块的发送次数,包括:
154.当该共识数据块的赋值为不可信,将该共识数据块的发送次数定义为负数,将该共识数据块的接收次数定义为0;当该共识数据块的赋值为可信,直接获取该共识数块的发送次数。
155.进一步的,在此实施例中,该方法还包括:
156.当该共识数据块的赋值为不可信,将该共识数据块通过共识模块同步给网络中其他通信节点;
157.当所述其他通信节点中的所述共识数据的赋值为可信时,则修改所述其他通信节点中的所述共识数据的发送次数为0,以继续进行其他通信节点中的所述共识数据的同步发送处理;
158.当所述其他通信节点中的所述共识数据的赋值为不可信时,则将其他通信节点中的所述共识数据块通过所述共识模块继续同步出去。
159.在本公开中,当该共识数据块的赋值为不可信,将该共识数据块的发送次数定义为负数,将该共识数据块的接收次数定义为0,并且将不可信的共识数据块的共识唯一标识和不可信状态均通过共识机制发送出去,以通知网络中其它通信节点重新进行数据共识。
160.当其它通信节点的该共识数据为可信状态时,修改该共识数据块的发送次数为0,重新发起共识数据发送,其它通信节点的该共识数据为不可信状态时,按照上述不可信处理。
161.根据上述实施例中,通过共识模块向网络中其他设备节点发送异常请求指令后,会检查该请求中的共识数据块在本共识模块中是否处于可信状态,或当确定共识数据块的赋值为不可信时。
162.若共识数据块的赋值处于可信状态,则将该共识数据块的前一共识数据块的数据发送计数赋值为负数、数据接收计数赋值为0,以重新启动前一共识数据块的同步共识。
163.若共识数据块的赋值处于不可信状态,则将该共识数据块中的链表校验字段数据填充为00、数据发送计数赋值为0、数据接收计数赋值为0,以通过共识方式将请求指令同步到数据可信节点,由数据可信的节点恢复数据不可信节点的共识数据块。
164.如此通过可信异常请求指令可以保证数据共识过程中的数据自恢复,本发明根据网络节点的最大传输延迟确定最大可信延迟时间,该时间默认设定为网络节点最大传输延迟的3倍。
165.在另一些实施例中,本公开的方法利用对共识数据块的存储特征,可以应用于本
分布式记账中。
166.在物联网设备的区块链的分布记账方法的应用中,每个通信节点的数据存储链表不仅能够存储本节点的数据,还能够存储网络中其它节点的数据。设备节点的多个共识数据块通过链表校验字段进行滚动校验,保证分布式记账的真实性。多个节点进行分布式记账是,遇到数据不一致、校验不正确时,可以通过数据可信标志以及可信异常请求指令让分布式记账的数据恢复到可信状态。
167.因此,将本公开的方法应用于分布记账方法中,能够保证网络中的数据真实、有效、可信,一旦出现误码、丢失、被篡改之后,数据通过可信标志和可信异常请求机制实现数据恢复和复原。采用采用链表的方式,将每个设备生成的原始数据按照时间戳的顺序进行滚动式的校验验证,为信息朔源、时间线跟踪等需求的应用,提供了最原始的基础数据,且该数据不可更改。相较于基于pc机的区块链,本方法采用最简易和轻量级的链表方式进行数据的存储分布式记账,可以让便宜的、低成本的单片机、嵌入式系统、物联网设备都能够轻易的实现区块链应用,无需高运算能力、高耗能的大型处理器系统。相较于基于pc机的区块链,该分布式记账方法从数据的采集源头就可以进行区块链数据加密,降低了数据在传输过程中误码和被篡改的机会,最大限度的保证了数据从源头到传输、到使用整个过程中的真实有效性,且无需人工参与。
168.在此实施例中,根据所述共识数据块的发送次数确定对所述共识数据块的同步发送处理包括:当所述共识数据块的发送次数达到预设值时,停止对所述共识数据块的发送。
169.在此实施例中,该方法还包括:进一步获取该共识数据块的接收次数;当该共识数据块的接收次数达到了最大接收阈时,则对该共识数据块的发送次数的预设值进行降低调整,或增大所述发送次数;
170.在对该共识数据块进行发送或停止发送处理前,会判断该共识数据块的接收计数次数是否达到与最大接收阈。当该共识数据块的达到最大接收阈值则调整减少发送次数的预设值,即最大发送阈值。然后再判断发送计数次数是否达到该最大发送阈值,若发送次数未达到预设值则发送该共识数据块,发送完毕后将对应数据存储单元的发送计数+1;若发送次数达到则停止发送该共识数据块。
171.或者,当该接收次数达到最大接收阈值后,可以按照预设设置降低所述最大发送阈值,也可以增大其发送次数,以使得数据块的发送次数能够快速的达到最大发送阈值。其中可以在控制模块中通过自动设置最大发送阈值,或者按照一定规则设置数据块的发送次数,能够实现通过接收次数来判断和控制提前减少发送次数,使得数据块的发送次数最有效的达到最大发送阈值。
172.在本公开的实施例的最大发送阈值设置为2、最大接收阈值设置为网络节点数量的一半。
173.在一些实施例中,一种物联网设备数据共识方法还包括:
174.对共识数据块进行至少一次的有效发送处理,并对该共识数据块进行发送次数计数。
175.其中,对于从共识通信接口进入的共识数据块,将数据发送计数赋值为0,数据接收计数赋值为1。进一步,可选的数据可信标志在做完链表校验验证后,根据验证结果赋值为可信和不可信。
176.本公开中的有效发送处理是指所述的通信节点至少一次发送操作过程中,通信节点能够可靠的将所述通信数据块发送到通信介质中,而不被阻塞在通信节点内部。
177.本公开的共识模块针对每个需要发送的共识数据块进行发送时,进行至少1次发送操作并进行发送次数计数,当发送次数计数达到一个给定的预设值后,就停止该共识数据块的发送。
178.本公开的共识模块接收到其它任意共识模块的共识数据块后,将共识数据块按照共识存储规则存储到共识数据存储链表中并进行接收次数计数。在此过程中,针对共识数据块的接收不对发送节点进行应答,且同样按照上述步骤做发送处理并无需等待其它任意共识模块的应答。
179.在一些实施例中,一种物联网设备数据共识方法还包括:
180.共识模块还可以具有一个插入共识模块;
181.插入共识模块通过数据插入接口接收从物联网路设备节点获取的核心数据块。
182.在此实施例中,一种物联网设备数据共识方法还包括:
183.当数据插入接口确认到所述核心数据块时,在核心数据块前部添加共识唯一标识,在核心数据块后部添加共识校验块,以形成插入数据的共识数据块。
184.对插入数据的共识数据块按照共识存储规则存储于所述数据存储链表中,并对共识据数据块的字段进行赋初值。
185.如图10所示,本公开的共识模块具有一个数据插入接口,该接口用于将物联网设备节点内部生成或者外部生成的、需要利用共识模块通过共识方式传输到网络中所有其它共识模块的核心数据内容插入到共识模块。
186.该数据插入接口在核心数据块插入共识模块时,会在核心数据块前部添加共识唯一标识,在核心数据块后部添加共识校验块,以组成可以进行共识传输的共识数据块。插入数据的共识数据块一旦生成之后,将共识数据块按照共识存储规则存储到共识数据存储链表,并对发送控制块的各个字段进行赋初值。
187.其中,当核心数据块由数据插入接口插入进入共识模块时,在按照共识存储规则存储到共识数据存储链表前,需要在核心数据块前部添加共识唯一标识后会进行链表校验值的计算和数据校验值的计算,将计算结果添加在核心数据块后部,组成可以进行共识传输的共识数据块再存入链表中。
188.在此实施例中,在核心数据块前部添加共识唯一标识,在所述核心数据块后部添加共识校验块,包括:
189.将所述核心数据块的数据源和数据时间戳共同组成所述插入数据的共识数据块,其中所述数据时间戳是根据同一个同步时间计时单元确定的;
190.将根据所述插入数据的共识数据块的链表校验值标记所述插入数据的共识数据块的赋值,以形成所述共识校验块。
191.进一步的结合图5-7,插入数据的共识数据块中的共识唯一标识,至少由数据源和数据时间戳两个部分组成。其中,数据源用于标识核心数据块的数据来源编码。其中,数据时间戳为核心数据块由插入数据接口插入进入共识模块时的时间点,该时间点由一个高精度的同步时间计时单元确定,根据网络系统的精度要求,该高精度的同步时间计时单元可以为毫秒、微妙或者纳秒级精度。
192.插入数据的共识数据块中的共识校验块,至少由数据校验和链表校验两个部分组成。其中,链表校验用于对共识数据块存储的共识数据存储链表进行滚动式校验,以验证数据的真实性,防止数据误码或者非法手段对核心数据的篡改。因此,本公开的物联网设备节点的数据一旦通过数据插入接口进入共识模块,进行链表校验值计算处理并存储后,该数据会立即通过共识方法同步到网络中的所有设备节点的共识模块之中并进行存储,以此达到网络数据的快速同步共识且无法进行数据篡改的目的。
193.在此实施例中,一种物联网设备数据共识方法还包括:
194.共识模块还具有一个共识检索接口;
195.本公开的共识模块还具有一个共识检索接口,该接口用于物联网设备节点从共识数据存储链表中提取同步共识后的核心数据。
196.在另一些实施例中,本公开的方法利用对共识机制,可以应用于物联网设备数据端口镜像的方法中。
197.在该方法中,物联网设备的共识数据存储链表会存储网络中所有设备节点的所有数据,在其中某一个设备上,开启一个数据镜像端口,利用共识检索接口从共识数据存储链表中检索出指定或者全部节点的指定或全部数据,以实现对相应物联网设备数据的端口镜像功能。
198.方法利用端口镜像功能,能够实现物联网设备联网误码率、数据传输可靠性、传感器设备采集稳定性、以及对物联网设备数据的监管,当前的物联网的设备受限于网络的异构化,数据的私密化,导致物联网设备的数据无法得到有效监管,有极大的危害到国家安全风险。
199.在一些实施例中,在有新的共识数据块存入共识数据存储链表中时,会对收发控制块进行赋初值处理。
200.对于从数据插入接口进入的核心数据组成的共识数据块,将数据发送计数赋值为负数,将数据接收计数赋值为0。进一步可选的数据可信标志在做完链表校验计算后赋值为可信。
201.对于从共识通信接口进入的共识数据块,将数据发送计数赋值为0,数据接收计数赋值为1。进一步可选的数据可信标志在做完链表校验验证后,根据验证结果赋值为可信和不可信。
202.需要说明的是,物联网设备节点的共识数据存储链表会越来越大,为了避免数据存储空间被占满,本发明设定以一定的时间周期定期的清理或者备份老时间的共识数据块数据,清理或备份的周期可以为天、周、月或者年。
203.需要说明的是,本公开的共识方法的共识数据的发送,存储和接收均是采用时间优先原则进行相应处理。
204.采用时间优先原则进行共识通信的发送和接收,从一个设备节点发送的共识数据块一定是按照时间先后顺序依次发出的,并且在传输介质中也是依次传输的、接收节点也按照时间顺序依次接收和转发、共识数据存储链表也是按时间顺序依次存储。因此,本公开的所有共识数据块的共识传输都是按照时间顺序进行处理的。即使由于网络传输延迟的因素,节点距离较近的新共识数据块会早于节点距离较远的老共识数据块到达,但由于共识数据存储链表是按照数据源分多个链表进行共识数据块的存储,本公开的网络中的所有设
备节点共识数据存储链表的共识数据块均与数据源设备节点的顺序相同且校验值相同。
205.根据时间优先原则,网络中的所有共识数据块都会老的数据优先于新的数据进行发送,即使少量的新数据由于传输延迟短的原因先到达,被标记为不可信数据,一旦老的数据后续到达后,将共识数据存储链表补齐后,数据会同步完整。
206.在本公开的一些实施例中,如图1所示,共识数据存储链表可以为一个二维数组,也可以为一个二维链表,通过一个链表头管理多个数据源的共识数据存储链表,每个数据源的共识数据存储链表后面管理多个共识数据块。
207.链表校验方式的共识数据块的链表校验字段用于对链表的完整性和数据的可信进行校验。对于校验不通过的共识数据块不丢弃,而是用数据可信标志标记为不可信,等待可信异常请求指令进行链表和数据的恢复和修正。
208.如图11所示,数据源a的共识数据块1的链表校验1的值由初始值00、数据源a、数据时间戳1、核心数据块1进行校验计算获得。数据源a的共识数据块2的链表校验2的值由链表校验1、数据源a、数据时间戳2、核心数据块2进行校验计算获得。
209.如此类推,每个共识数据块的链表校验的值的计算都由前一个共识数据块的链表校验值参与计算组成相互滚动的校验方式,一旦链表中任何一个数据出现误码或者被入侵修改,链表校验值就会出错,导致链表中断,同时网络中的每个设备节点都会存储网络中所有设备节点的共识数据存储链表,且每个设备存储的链表都保持了一致性,因此想入侵修改某个或者某几个设备节点的数据是无法实现的,而且各个节点之间还会通过数据可信标志进行数据的恢复和修正,保证了网络的健壮性和数据可可靠性、可恢复性、可朔源性。
210.在本公开的一些实施例中,共识数据块的数据校验字段仅对共识数据块的正确性进行校验,数据校验错误时,该共识数据块认定为错误数据,直接丢弃。
211.如图12所示的校验方式,例如,数据校验2的值由数据源a、数据时间戳2、核心数据块2、链表校验2进行校验计算获得。
212.在本公开的一些实施例中,数据插入接口在核心数据块插入共识模块流程:
213.1、核心数据块有效性检查,数据块无效直接退出;
214.2、获取数据源信息,记录插入的时间计时单元的当前时间值为数据时间戳;
215.3、在共识数据存储链表中查找数据源的链表,在该数据源链表尾部创建一个数据存储单元空间;
216.4、将数据源、数据时间戳、核心数据块存入数据存储单元空间的共识数据块中;
217.5、计算共识数据块的链表校验值和数据校验值并进行存储;
218.6、将收发控制块的数据发送计数赋值为-1、数据接收计数赋值为0、数据可信标志赋值为可信状态;
219.7、结束退出。
220.在本公开的一些实施例中,共识通信接收端口接收到一个共识数据块的流程:
221.1、利用共识数据块的数据校验字段对共识数据块进行正确性校验,校验失败该共识数据块直接丢弃,然后结束退出;
222.2、提取共识数据块中的数据源和数据时间戳;
223.3、根据数据源在共识数据存储链表中查找数据源的链表;
224.4、根据数据时间戳在数据源链表中查找该共识数据块是否存在;
225.5、若该共识数据块存在则将数据接收次数+1,然后结束退出;
226.6、若该共识数据块不存在,则根据按照时间顺序将该共识数据块插入到链表中,数据发送次数赋值为0、数据接收次数赋值为1;
227.7、利用共识数据块的链表校验字段进行链表可信性进行校验,校验正确,将数据可信标志置位可信状态;校验失败,将数据可信标志置位不可信状态;
228.8、结束退出。
229.在本公开的一些实施例中,共识通信发送端口发送一个共识数据块的流程:
230.1、记录设备节点时间计时单元的当前时间值为临时数据时间戳;
231.2、遍历共识数据存储链表中查找数据时间戳最老且发送次数未达到最大发送阈值sendcount_max的共识数据块;
232.3、判断数据接收计数次数是否达到最大接收阈值recvcount_max;
233.4、若数据接收次数达到最大接收阈值则调整新的最大发送阈值sendcount_max为当前值的一半;
234.5、判断数据发送计数是否达到新的最大发送阈值sendcount_max,达到则将数据发送计数赋值为原最大发送阈值sendcount_max后结束退出;
235.6、若未达到则通过共识通信发送端口发送该共识数据;
236.7、发送完毕后将数据发送计数+1;
237.8、结束退出。
238.本公开的第二方面提供了一种物联网设备数据共识装置,如图13所示的装置示意图,应用于上述第一方面任意可能实现的方法,所述装置包括:接收单元,用于通过共识模块接收共识数据块,将所述共识数据块按照共识存储规则存储于所述共识数据存储链表中,其中每个所述共识模块内至少包含一个共识数据存储链表;确定单元,用于确定所述共识数据块的赋值;获取单元,用于获取所述共识数据块的发送次数;处理单元,用于根据所述共识数据块的赋值与所述共识数据块的发送次数确定对所述共识数据块的同步发送处理。
239.本公开的第三方面提供了一种通信设备,包括:用于存储处理器可执行指令的存储器;处理器,与所述存储器连接;其中,所述处理器被配置为执行第一方面任意可能实现的方法。进一步的,该方法的应用不限于本公开所指的处理器,也可以在相应的逻辑芯片中执行。
240.本公开的第四方面提供了一种通信设备,当所述存储介质中的指令由计算机的处理器执行时,使得计算机能够执行如第一方面任意可能实现的方法。
241.图14是根据一示例性实施例示出的一种通信设备600的框图。根据本公开实施例的方法或装置也可以借助于计算设备的架构来实现。图14示出了根据本公开实施例的示例性计算设备的架构的示意图。如14所示,计算设备600可以包括总线601、一个或多个cpu602、只读存储器(rom)603、随机存取存储器(ram)604、连接到网络的通信端口605、输入/输出组件606、硬盘607等。计算设备600中的存储设备,例如rom603或硬盘607可以存储本公开提供的基于节点间数据共享的数据处理方法的处理和/或通信使用的各种数据或文件以及cpu所执行的程序指令。计算设备600还可以包括用户界面608。当然,图14所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图14示出的计算设备中的
一个或多个组件。
242.根据本公开的又一方面,还提供了一种计算机可读存储介质。
243.所述计算机存储介质上存储有计算机可读指令。当所述计算机可读指令由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的基于节点间数据共享的数据处理方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。
244.本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
245.此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。所述单元仅是说明性的,并且所述系统和方法的不同方面可以使用不同单元。
246.本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
247.除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
248.以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。

技术特征:
1.一种物联网设备数据共识方法,其特征在于,通过共识模块接收共识数据块,将所述共识数据块按照共识存储规则存储于所述共识数据存储链表中,其中每个所述共识模块内至少包含一个共识数据存储链表;确定所述共识数据块的赋值,并根据所述共识数据块的赋值确定所述共识数据块的发送次数;获取所述共识数据块的发送次数;根据所述共识数据块的发送次数确定对所述共识数据块的同步发送处理。2.根据权利要求1所述的一种物联网设备数据共识方法,其特征在于,所述方法还包括:所述共识数据存储链表以链表的形式存储至少一个数据存储单元,其中所述数据存储单元包含一个共识数据块和一个收发控制块;通过所述链表的形式从所述任意共识通信接收端口接收所述共识数据块;通过所述收发控制块来处理对所述共识数据块的接收和发送处理。3.根据权利要求1所述的一种物联网设备数据共识方法,其特征在于,所述共识存储规则包括:将相同的所述共识数据块存储在同一个所述数据存储链表的数据存储单元中;将从同一数据源获得的所述共识数据存储在相同的所述数据存储链表中,其中一个物联网设备节点对应一个所述数据存储链表;将所述共识数据块根据数据生成时间的顺序在所述数据存储链表中进行依次存储,并形成链表。4.根据权利要求3所述的一种物联网设备数据共识方法,其特征在于,所述方法还包括:在确认所述共识数据块时,确定所述共识数据块的数据校验值;根据所述共识数据块的数据校验值确定对所述共识数据块进行存储或丢弃处理;当所述数据校验值验证正确,则对所述共识数据块进行存储。5.根据权利要求1所述的一种物联网设备数据共识方法,其特征在于,所述确定所述共识数据块的赋值,包括:确定前一个共识数据块的链表校验值;确定所述共识数据块的基本信息,其中所述共识数据块的基本信息至少包括本共识数据块的共识唯一标识、核心数据块、共识校验块;根据所述前一个共识数据块的链表校验值和所述共识数据块的基本信息确定所述共识数据块的链表校验值;当所述共识数据块的链表校验值为可选结果时,标记所述共识数据块的赋值为可信。6.根据权利要求5所述的一种物联网设备数据共识方法,其特征在于,所述方法还包括:设置一个最大可信延迟时间;当所述赋值为不可信的共识数据块在所述最大可信延长时间内没有更新为可信的赋值状态,则由所述共识模块通过共识方式发起可信异常请求。7.根据权利要求1所述的一种物联网设备数据共识方法,其特征在于,所述根据所述共识数据块的赋值确定所述共识数据块的发送次数,包括:
当所述共识数据块的赋值为不可信,将所述共识数据块的发送次数定义为负数,将所述共识数据块的接收次数定义为0;当所述共识数据块的赋值为可信,直接获取所述共识数块的发送次数。8.根据权利要求7所述的一种物联网设备数据共识方法,其特征在于,所述方法还包括:当所述共识数据块的赋值为不可信,将所述共识数据块通过所述共识模块同步给网络中其他通信节点;当所述其他通信节点中的所述共识数据的赋值为可信时,则修改所述其他通信节点中的所述共识数据的发送次数为0,以继续进行其他通信节点中的所述共识数据的同步发送处理;当所述其他通信节点中的所述共识数据的赋值为不可信时,则将其他通信节点中的所述共识数据块通过所述共识模块继续同步出去。9.根据权利要求1所述的一种物联网设备数据共识方法,其特征在于,所述根据所述共识数据块的发送次数确定对所述共识数据块的同步发送处理,包括:当所述共识数据块的发送次数达到预设值时,停止对所述共识数据块的发送。10.根据权利要求9所述的一种物联网设备数据共识方法,其特征在于,所述方法还包括:获取所述共识数据块的接收次数;当所述共识数据块的接收次数达到了最大接收阈时,则对所述共识数据块的发送次数的预设值进行降低调整,或增大所述发送次数。11.根据权利要求1所述的一种物联网设备数据共识方法,其特征在于,所述方法还包括:对所述共识数据块进行至少一次的有效发送处理,并对所述共识数据块进行发送次数计数。12.根据权利要求1所述的一种物联网设备数据共识方法,其特征在于,所述方法还包括:所述共识模块还可以具有一个插入共识模块;所述插入共识模块通过数据插入接口接收从物联网路设备节点获取的核心数据块。13.根据权利要求12所述的一种物联网设备数据共识方法,其特征在于,所述方法还包括:当所述数据插入接口确认到所述核心数据块时,在所述核心数据块前部添加共识唯一标识,在所述核心数据块后部添加共识校验块,以形成插入数据的共识数据块;对所述插入数据的共识数据块按照所述共识存储规则存储于所述数据存储链表中,并对所述共识据数据块的字段进行赋初值。14.根据权利要求13所述的一种物联网设备数据共识方法,其特征在于,所述在所述核心数据块前部添加共识唯一标识,在所述核心数据块后部添加共识校验块,包括:将所述核心数据块的数据源和数据时间戳共同组成所述插入数据的共识数据块,其中所述数据时间戳是根据同一个同步时间计时单元确定的;将根据所述插入数据的共识数据块的链表校验值标记所述插入数据的共识数据块的赋值,以形成所述共识校验块。
15.根据权利要求1所述的一种物联网设备数据共识方法,其特征在于,所述方法还包括:所述共识模块还具有一个共识检索接口;所述插入共识模块通过共识检索接口从所述数据存储链表中提取同步共识后的核心数据块。16.一种物联网设备数据共识装置,应用于所述权利要求1至15所述的一种物联网设备数据共识方法,其特征在于,所述装置包括:接收单元,用于通过共识模块接收共识数据块,将所述共识数据块按照共识存储规则存储于所述共识数据存储链表中,其中每个所述共识模块内至少包含一个共识数据存储链表;确定单元,用于确定所述共识数据块的赋值,并根据所述共识数据块的赋值确定所述共识数据块的发送次数;获取单元,用于获取所述共识数据块的发送次数;处理单元,用于根据所述共识数据块的发送次数确定对所述共识数据块的同步发送处理。17.根据权利要求16所述的一种物联网设备数据共识装置,其特征在于,所述确定单元,包括:赋值确定单元,用于确定前一个共识数据块的链表校验值;确定所述共识数据块的基本信息,其中所述共识数据块的基本信息至少包括本共识数据块的共识唯一标识、核心数据块、共识校验块;根据所述前一个共识数据块的链表校验值和所述共识数据块的基本信息确定所述共识数据块的链表校验值;当所述共识数据块的链表校验值为可选结果时,标记所述共识数据块的赋值为可信。18.根据权利要求16所述的一种物联网设备数据共识装置,其特征在于,所述确定单元,包括:发送次数确定单元,用于当所述共识数据块的赋值为不可信,将所述共识数据块的发送次数定义为负数,将所述共识数据块的接收次数定义为0;当所述共识数据块的赋值为可信,直接获取所述共识数块的发送次数。19.根据权利要求16所述的一种物联网设备数据共识装置,其特征在于,所述处理单元,用于当所述共识数据块的发送次数达到预设值时,停止对所述共识数据块的发送。20.根据权利要求19所述的一种物联网设备数据共识装置,其特征在于,所述处理单元还用于:获取所述共识数据块的接收次数;当所述共识数据块的接收次数达到了最大接收阈时,则对所述共识数据块的发送次数的预设值进行降低调整,或增大所述发送次数。21.根据权利要求16所述的一种物联网设备数据共识装置,其特征在于,所述装置还包括:插入单元,用于所述共识模块还可以具有一个插入共识模块;所述插入共识模块通过数据插入接口接收从物联网路设备节点获取的核心数据块。22.根据权利要求16所述的一种物联网设备数据共识装置,其特征在于,所述装置还包括:
检索单元,用于所述共识模块还具有一个共识检索接口;所述插入共识模块通过共识检索接口从所述数据存储链表中提取同步共识后的核心数据块。23.一种通信设备,其特征在于,包括:用于存储处理器可执行指令的存储器;处理器,与所述存储器连接;其中,所述处理器被配置为执行如权利要求1至15中任一项所述的方法。24.一种非临时性计算机可读存储介质,当所述存储介质中的指令由计算机的处理器执行时,使得计算机能够执行如权利要求1至15中任一项所述的方法。

技术总结
本公开提供了一种物联网设备数据共识方法及装置,该方法通过共识模块接收共识数据块,将共识数据块按照共识存储规则存储于共识数据存储链表中,其中每个共识模块内至少包含一个共识数据存储链表;确定共识数据块的赋值,并根据共识数据块的赋值确定共识数据块的发送次数;获取共识数据块的发送次数;根据共识数据块的发送次数确定对共识数据块的同步发送处理。利用本公开的方法,只需要管理好共识数据存储链表,按照本方法并利用每个共识模块的共识通信发送端口和共识通信接口端口进行共识数据块的发送和接收,即可实现所有节点的数据快速可靠的形成同步共识。的数据快速可靠的形成同步共识。的数据快速可靠的形成同步共识。


技术研发人员:潘进
受保护的技术使用者:武汉微智创大科技有限公司
技术研发日:2022.01.25
技术公布日:2023/8/4
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐