一种基于区块链的数据同步方法及相关装置与流程

allin2023-04-11  126



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.一种基于区块链的数据同步方法,区块链网络包括多个核心云节点和边缘计算节点,所述方法包括:
31.所述边缘节点获取待同步数据,以及,确定哈希值;
32.生成包含有所述待同步数据和所述哈希值的数据同步请求;
33.分别将所述数据同步请求发送给所述多个核心云节点,以使所述多个核心云节点分别响应于所述边缘节点发送的数据同步请求,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果,获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定所述边缘节点的节点验证结果,基于所述节点验证结果,对所述待同步数据进行数据同步。
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.处理模块,用于分别将所述数据同步请求发送给所述多个核心云节点,以使所述多个核心云节点分别响应于所述边缘节点发送的数据同步请求,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果,获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定所述边缘节点的节点验证结果,基于所述节点验证结果,对所述待同步数据进行数据同步。
60.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于区块链的数据同步方法的步骤。
61.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的数据同步方法的步骤。
62.本技术实施例中,任意一个核心云节点响应于边缘节点发送的数据同步请求,对数据同步请求中的哈希值进行验证,确定哈希值对应的哈希值验证结果,数据同步请求中包括边缘节点获取到的待同步数据和哈希值,获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定边缘节点的节点验证结果,基于节点验证结果,对待同步数据进行数据同步。这样,当边缘节点发起数据同步请求时,需要基于组内的各核心云节点各自对应的哈希值验证结果,确定边缘节点的节点验证结果,并基于节点验证结果实现数据同步,将单点认证转化为变为分布式的验证,即使边缘节点被攻破,也无法通过所有核心云节点的认证,从而能够提高数据同步的安全性。
附图说明
63.图1为本技术实施例中一种基于区块链的数据同步方法的场景示意图;
64.图2为本技术实施例中一种基于区块链的数据同步方法的流程示意图;
65.图3为本技术实施例中区块链区块构成图;
66.图4为本技术实施例中基于区块链的数据同步方法的另一流程图;
67.图5为本技术实施例中基于区块链的数据同步装置的结构示意图;
68.图6为本技术实施例中另一种基于区块链的数据同步装置的结构示意图;
69.图7为本技术实施例中电子设备的结构示意图。
具体实施方式
70.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,并不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
71.随着企业的数字化转型升级,产业互联网的迅速发展,越来越多的应用需要向边缘部署,以实现更靠近用户,更迅捷的互动,更无损的资讯传递,例如,远程医疗、工业控制、车联网等场景。边缘云是云计算当前发展的一大趋势。
72.边缘云实现将计算、存储、网络能力更贴近用户分布式部署。云边协同场景的边缘计算中,需要大量的信息在核心云节点和边缘节点之间传递,云边协同是边缘计算中非常
重要的特性和需求,包括资源协同、应用协同、数据协同、智能协同等多种协同。
73.在云边协同的数据同步中,由于边缘节点的数量较多,而且边缘节点的安全措施相比于核心云节点相对较弱,因此,在数据同步的过程中,从边缘节点泄露和违规非法数据从边缘节点上传风险必须加以防控。
74.相关技术中,在进行云边协同的数据同步时,通常可以通过以下两种方式实现数据同步。
75.第一种方式:边缘节点对于从用户侧传输的数据,通过加密通道向最近的核心云节点上传同步,或向归属的核心云节点上传同步,然后,核心云节点通过加密通道接收数据,验证接收到的数据不存在问题时,将数据存储至系统数据库中,根据系统和应用的实际要求,由核心云节点决定是否将数据同步到其它边缘节点。
76.第二种方式:边缘节点对于从用户侧传输的数据,通过数据加密方式向最近的核心云节点上传同步,或向归属的核心云节点上传同步,然后,核心云节点对于接收到的数据进行解密,验证接收到的数据不存在问题时,将数据存储至系统数据库中,根据系统和应用的实际要求,由核心云节点决定是否将数据同步到其它边缘节点。
77.然而,相关技术中的云边协同场景的数据同步方式,本质上仍旧是单点验证的更新方式,也集,对于一个边缘节点和一个核心云节点之间的通道进行加密,或对于一个边缘节点和一个核心云节点之间传输的数据进行加密,因此,当边缘节点被攻破后,可以向核心云节点发起非法的数据同步请求,从而引起整个系统数据被篡改损毁或被监听盗取,安全风险较大,降低了数据同步的安全性。
78.为了解决上述问题,本技术实施例中,提供了一种基于区块链的数据同步方法,任意一个核心云节点响应于边缘节点发送的数据同步请求,对数据同步请求中的哈希值进行验证,确定哈希值对应的哈希值验证结果,数据同步请求中包括边缘节点获取到的待同步数据和哈希值,获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定边缘节点的节点验证结果,基于节点验证结果,对待同步数据进行数据同步。这样,数据同步由单点加密和单点认证,变成分布式的验证和认证,任何一个边缘节点发起数据同步请求,均需要经过组内所有核心云节点的验证,才能进行数据的同步,从而能够提高数据同步的安全性。
79.基于上述实施例,参阅图1所示,为本技术实施例中一种基于区块链的数据同步方法的场景示意图,具体包括:
80.对原有的云计算内的各核心云节点和各边缘节点进行分组和分类,每个边缘节点归属为一组核心云节点,因此,区块链网络中包含有多个节点组,每个节点组中包含有一个边缘节点和多个核心云节点。
81.如图1所示,区块链网络中的各核心云节点分别为a、b、c、d、e,各边缘节点分别为a、b、c、d、e、f、g、h、i、j、k,对各核心云节点和各边缘节点进行分组和分类,将边缘节点a、核心云节点a、核心云节点b和核心云节点c分为一组,将边缘节点f、核心云节点b、核心云节点c和核心云节点d分为一组,将边缘节点j、核心云节点c、核心云节点d和核心云节点e分为一组。
82.一组内的各核心云节点,作为区块链的股东节点,指定授权一组内的一部分核心云节点具备区块链记账和数据存储的权力,各核心云节点分别对数据同步请求中的哈希值
进行验证,确定哈希值对应的哈希值验证结果,获取一组内其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定边缘节点的节点验证结果,基于节点验证结果,对待同步数据进行数据同步。
83.一组内的边缘计算节点,作为区块链的普通节点,接收到来自用户或来自系统自动获取的待同步数据,并基于待同步数据生成数据同步请求,向一组内的各核心云节点分别发送数据同步请求。
84.基于上述实施例,参阅图2所示,为本技术实施例中一种基于区块链的数据同步方法的流程示意图,具体包括:
85.s20:任意一个核心云节点响应于边缘节点发送的数据同步请求,对数据同步请求中的哈希值进行验证,确定哈希值对应的哈希值验证结果。
86.其中,数据同步请求中包括边缘节点获取到的待同步数据和哈希值。
87.本技术实施例中,区块链网络中包括多个核心云节点和一个边缘节点,边缘节点向区块链网络中的各核心云节点发送数据同步请求,从而任意一个核心云节点在接收到边缘节点发送的数据同步请求后,响应于接收到的数据同步请求,对数据同步请求中的哈希值进行验证,从而获得哈希值对应的哈希值验证结果。
88.其中,待同步数据为边缘节点接收到的来自用户或来自系统自动获取的更新数据,更新数据例如可以为工业传感器获取到的当地的温度、湿度等信息,本技术实施例中对此并不进行限制。
89.可选的,本技术实施例中,为确定哈希值对应的哈希值验证结果提供了一种可能的实施方式,下面对本技术实施例中确定哈希值验证结果的过程进行详细阐述,具体包括:
90.s201:基于任意一个核心云节点对应的节点标识,确定出相应的哈希值顺序信息。
91.本技术实施例中,由于区块链网络中的每个核心云节点均对应一个节点哈希值,并且,哈希值是由各核心云节点各自对应的节点哈希值按照预设顺序排列生成的,因此,每个核心云节点关联有相应的哈希值顺序信息,从而能够基于任意一个核心云节点对应的节点标识,确定出该核心云节点关联的哈希值顺序信息。
92.需要说明的是,本技术实施例中的哈希值顺序信息用于指示某一个核心云节点对应的节点哈希值在哈希值中的顺序。
93.另外,需要说明的是,本技术实施例中,每个核心云节点对应有一个哈希值顺序信息,例如,核心云节点a的节点标识为1,节点标识1关联的哈希值顺序信息为第一,则该核心云节点对应的节点哈希值排列在各节点哈希值中的第一位。
94.s202:基于哈希值顺序信息,从哈希值中,确定出对应的节点哈希值。
95.其中,哈希值中包括每个核心云节点各自对应的节点哈希值,各节点哈希值是基于预设顺序排列的。
96.本技术实施例中,在获得哈希值顺序信息之后,就能够从各个按照顺序排列的节点哈希值中,确定出相应的节点哈希值。
97.例如,假设哈希值为99,100,20,31,其中,核心云节点a对应的节点标识为1,核心云节点b对应的节点标识为2,核心云节点c对应的节点标识为3,核心云节点d对应的节点标识为4。若该核心云节点为核心云节点b,则根据核心云节点b对应的节点标识2,确定出相应的哈希值顺序信息为第三,因此,根据哈希值顺序信息,从哈希值中,确定出核心云节点对
应的节点哈希值为20。
98.需要说明的是,本技术实施例中,组内的不同核心云节点各自设置有不同的区块链验证密码,节点哈希值为根据核心云节点对应的区块链验证密码,结合哈希算法生成的。由于本技术实施例中的区块链验证密码是通过哈希算法计算后进行传输的,而并非是通过明文传送,因此,能够提高数据同步的安全性。
99.s203:基于节点哈希值,结合预设的哈希值认证规则,确定哈希值验证结果。
100.本技术实施例中,基于节点哈希值,结合预设的哈希值认证规则,确定哈希值验证结果,具体地,可以通过对应的节点哈希值验证结果,确定哈希值验证结果。
101.可选的,本技术实施例中,为确定哈希值验证结果提供了一种可能的实施方式,下面对本技术实施例中,确定哈希值验证结果的过程进行详细阐述,具体包括:
102.s203-1:若确定节点哈希值与预先存储的标准节点哈希值相同,则确定对应的哈希值验证结果为通过。
103.本技术实施例中,判断节点哈希值与预先存储的标准节点哈希值是否相同,若确定节点哈希值与预先存储的标准节点哈希值相同,则确定对应的哈希值验证结果为通过。
104.s203-2:若确定节点哈希值与标准节点哈希值不相同,则确定对应的哈希值验证结果为未通过。
105.本技术实施例中,判断节点哈希值与预先存储的标准节点哈希值是否相同,若确定节点哈希值与预先存储的标准节点哈希值不同,则确定对应的哈希值验证结果为未通过。
106.需要说明的是,本技术实施例中,还会对待同步数据本技术的合法性以及合规性进行校验,从而保证待同步数据为合法数据。
107.s21:获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定所述边缘节点的节点验证结果。
108.本技术实施例中,获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定边缘节点的节点验证结果。
109.可选的,本技术实施例中,为确定核心云节点各自对应的哈希值验证结果,提供了一种可能的实施方式,下面对本技术实施例中确定边缘节点的节点验证结果的过程进行详细说明,具体包括:
110.s211:从各哈希值验证结果中,确定出哈希值验证结果为通过的数量,作为边缘节点对应的结果数量。
111.本技术实施例中,由于哈希值验证结果分为通过和未通过,因此,统计各哈希值验证结果中,哈希值验证结果为通过的数量,并将确定出的数量作为边缘节点对应的结果数量。
112.例如,假设核心云节点a对应的哈希值验证结果为通过,核心云节点b对应的哈希值验证结果为通过,核心云节点c对应的哈希值验证结果为未通过,核心云节点d对应的哈希值验证结果为通过,则确定哈希值验证结果为通过的数量为3,因此,边缘节点对应的结果数量为3。
113.s212:若确定结果数量不小于预设的数量阈值,则确定边缘节点对应的节点验证结果为通过。
114.本技术实施例中,判断结果数量是否不小于预设的数量阈值,若确定结果数量不小于预设的数量阈值,则确定边缘节点对应的节点验证结果为通过。
115.例如,假设结果数量为10,预设的数量阈值为9,则确定边缘节点对应的节点验证结果为通过。
116.需要说明的是,本技术实施例中的数量阈值是基于核心云节点的数量和验证成功百分比确定出的。
117.例如,假设核心云节点的数量为20,验证成功百分比为90%,则计算出的数量阈值为18,也即,若确定结果数量大于等于18,则确定边缘节点对应的节点验证结果为通过,若确定结果数量小于18,则确定边缘节点对应的节点验证结果为未通过。
118.s213:若确定结果数量小于预设的数量阈值,则确定边缘节点对应的节点验证结果为未通过。
119.本技术实施例中,判断结果数量是否不小于预设的数量阈值,若确定结果数量小于预设的数量阈值,则确定边缘节点对应的节点验证结果为未通过。
120.例如,假设结果数量为7,预设的数量阈值为9,则确定边缘节点对应的节点验证结果为未通过。
121.可选的,本技术实施例中,为确定边缘节点对应的节点验证结果还提供了一种可能的实施方式,具体为:统计各哈希值验证结果为通过的数量,并根据各哈希值验证结果为通过对应的结果数量,确定通过数量与所有核心云节点的节点数量之间的比值,若确定计算出的比值不小于预设的比值阈值,则确定边缘节点对应的节点验证结果为通过,若确定计算出的比值小于预设的比值阈值,则确定边缘节点对应的节点验证结果为未通过。
122.例如,假设统计出的各哈希值验证结果为通过的数量为10,共有20个核心云节点,则各哈希值验证结果为通过对应的结果数量为10,计算通过数量与所有核心云节点的数量之间的比值为0.5,确定计算出的比值0.5小于预设的比值阈值0.8,则确定边缘节点对应的节点验证结果为未通过。
123.又例如,假设统计出的哈希值验证结果为通过的数量为9,共有10个核心云节点,则各哈希值验证结果为通过对应的结果数量为9,计算通过数量与所有核心云节点的数量之间的比值为0.9,确定计算出的比值0.9大于预设的比值阈值0.8,则确定组内核心云节点的哈希值验证结果为通过占比达到比值阈值,确定边缘节点对应的节点验证结果为通过,该边缘节点通过认证。
124.s22:基于节点验证结果,对待同步数据进行数据同步。
125.本技术实施例中,在获得节点验证结果后,即可基于节点验证结果,对数据同步请求中的待同步数据进行数据同步。
126.可选的,本技术实施例中,为基于节点验证结果,对待同步数据进行数据同步,提供了一种可能的实施方式,下面对本技术实施例中对待同步数据进行数据同步过程进行详细阐述,具体包括:
127.s221:若确定节点验证结果为通过,则采用预设的数据同步方式,对待同步数据进行数据同步。
128.s2211:读取节点权限类型。
129.其中,节点权限类型为具有打包权限和无权限。
130.本技术实施例中,每个核心云节点对应有节点权限类型,节点权限类型分为具有打包权限和无权限,因此,读取其自身的节点权限类型。
131.其中,具体打包权限表征核心云节点具有对待同步数据进行打包的权限,无权限表征核心云节点未具有对待同步数据进行打包的权限。
132.s2212:若确定节点权限类型为具有打包权限,则对待同步数据进行打包,获得更新数据,并将更新数据存储至预设的系统数据库中。
133.本技术实施例中,若确定节点权限类型为具有打包权限,则对数据同步请求中的待同步数据进行打包上链,获得更新数据,并将更新数据存储至预设的系统数据库中。
134.s2213:若确定节点权限类型为无权限,则向节点权限类型为具有打包权限的核心云节点发送同步指令,以使节点权限类型为具有打包权限的核心云节点对待同步数据进行打包,获得更新数据,并将更新数据存储至系统数据库中。
135.本技术实施例中,若确定节点权限类型为无权限,则向节点权限类型为具有打包权限的核心云节点发送同步指令,使得节点权限类型为具有打包权限对应的核心云节点对待同步数据进行打包,获得更新数据,并将更新数据存储至系统数据库中,从而实现对待同步数据的同步处理。
136.例如,参阅图3所示,为本技术实施例中区块链区块构成图,每个区块用于打包验证和数据更新信息,并由各节点哈希值组成哈希值。
137.s222:若确定节点验证结果为未通过,则确定边缘节点为问题节点,并基于节点验证结果,生成告警信息,将告警信息发送至客户端进行展示。
138.本技术实施例中,判断节点验证结果是否为未通过,则确定边缘节点为问题节点,并基于节点验证结果生成相关的告警信息,将生成的告警信息发送至客户端进行展示,从而管理员确定该边缘节点的工作状态,并决定是否需要让该边缘节点退出服务。
139.本技术实施例中,将数据同步过程由原来的单点加密和单点认证,变成分布式的验证和认证,任何一个边缘节点发起数据同步,均需要经过组内所有核心云节点的验证,只有哈希值验证结果为通过的数量超过预设数量阈值的核心云节点通过验证,才能进行数据的同步,从而能够保证数据同步的安全性,并且,本技术实施例中,采用多密码哈希的认证,每个核心云节点的验证密码均不相同,因此,每个核心云节点的节点哈希值均不相同,避免了单一验证密码容易被穷举攻击和破解的风险,另外,本技术实施例中,在数据同步请求中,验证密码非明文发送,对各节点哈希值的结果按顺序进行排列,报文及时被截获也无法破解密码,进一步提高了数据同步的安全性。
140.基于上述实施例,参阅图4所示,为本技术实施例中基于区块链的数据同步方法的另一流程图,具体包括:
141.s40:获取待同步数据,以及,确定哈希值。
142.本技术实施例中,边缘节点接收待同步数据,以及,确定各核心云节点对应的哈希值。
143.需要说明的是,边缘节点在接收待同步数据时,可以分为以下两种方式,第一种方式,接收用户上传的待同步数据;第二种方式,接收系统自动获取的待同步数据。
144.其中,待同步数据例如可以为如工业传感器获取的当地的温、湿度等信息,本技术实施例中对此并不进行限制。
145.s41:生成包含有待同步数据和哈希值的数据同步请求。
146.本技术实施例中,基于待同步数据和哈希值,生成数据同步请求,因此,生成数据同步请求中包含有待同步数据和哈希值。
147.s42:分别将数据同步请求发送给多个核心云节点,以使多个核心云节点分别响应于边缘节点发送的数据同步请求,对数据同步请求中的哈希值进行验证,确定哈希值对应的哈希值验证结果,获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定边缘节点的节点验证结果,基于节点验证结果,对待同步数据进行数据同步。
148.本技术实施例中,分别将数据同步请求发送给组内的多个核心云节点,从而多个核心云节点在接收到数据同步请求后,分别响应于边缘节点发送的数据同步请求,对数据同步请求中的哈希值进行验证,确定哈希值对应的哈希值验证结果,然后,获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果确定边缘节点对应的节点验证结果,从而就能够基于节点验证结果确定是否能够对边缘节点上传的待同步数据进行数据同步。
149.进一步地,本技术实施例中,边缘节点还可以接收核心云节点发送的数据,本技术实施例中对此并不进行限制。
150.基于同一发明构思,本技术实施例中还提供了一种基于区块链的数据同步装置,该基于区块链的数据同步装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图5所示,本技术实施例中基于区块链的数据同步装置的结构示意图,具体包括:
151.验证模块500,用于任意一个核心云节点响应于所述边缘节点发送的数据同步请求,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果;其中,所述数据同步请求中包括所述边缘节点获取到的待同步数据和哈希值;
152.确定模块510,用于获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定所述边缘节点的节点验证结果;
153.处理模块520,用于基于所述节点验证结果,对所述待同步数据进行数据同步。
154.可选的,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果,所述验证模块500还用于:
155.基于所述任意一个核心云节点对应的节点标识,确定出相应的哈希值顺序信息;
156.基于所述哈希值顺序信息,从所述哈希值中,确定出对应的节点哈希值,其中,所述哈希值中包括每个核心云节点各自对应的节点哈希值,各节点哈希值是基于预设顺序排列的;
157.基于所述节点哈希值,结合预设的哈希值认证规则,确定哈希值验证结果。
158.可选的,确定哈希值验证结果时,所述验证模块500还用于:
159.若确定所述节点哈希值与预先存储的标准节点哈希值相同,则确定对应的哈希值验证结果为通过;
160.若确定所述节点哈希值与所述标准节点哈希值不相同,则确定对应的哈希值验证结果为未通过。
161.可选的,基于各哈希值验证结果,确定所述边缘节点的节点验证结果时,所述确定
模块510还用于:
162.从各哈希值验证结果中,确定出哈希值验证结果为通过的数量,作为所述边缘节点对应的结果数量;
163.若确定所述结果数量不小于预设的数量阈值,则确定所述边缘节点对应的节点验证结果为通过;
164.若确定所述结果数量小于预设的数量阈值,则确定所述边缘节点对应的节点验证结果为未通过。
165.可选的,所述处理模块520还用于:
166.若确定所述节点验证结果为通过,则对采用预设的数据同步方式,对待同步数据进行数据同步;
167.若确定所述节点验证结果为未通过,则确定所述边缘节点为问题节点,并基于所述节点验证结果,生成告警信息,将所述告警信息发送至客户端进行展示。
168.可选的,采用预设的数据同步方式,对待同步数据进行数据同步时,所述处理模块520还用于:
169.读取节点权限类型,其中,所述节点权限类型为具有打包权限和无权限;
170.若确定所述节点权限类型为具有打包权限,则对所述待同步数据进行打包,获得更新数据,并将所述更新数据存储至预设的系统数据库中;
171.若确定所述节点权限类型为无权限,则向所述节点权限类型为具有打包权限的核心云节点发送同步指令,以使所述节点权限类型为具有打包权限的核心云节点对所述待同步数据进行打包,获得更新数据,并将所述更新数据存储至所述系统数据库中。
172.基于同一发明构思,本技术实施例中还提供了另一种基于区块链的数据同步装置,该基于区块链的数据同步装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图6所示,本技术实施例中另一种基于区块链的数据同步装置的结构示意图,具体包括:
173.获取模块600,用于获取待同步数据,以及,确定哈希值;
174.生成模块610,用于生成包含有所述待同步数据和所述哈希值的数据同步请求;
175.处理模块620,用于分别将所述数据同步请求发送给所述多个核心云节点,以使所述多个核心云节点分别响应于所述边缘节点发送的数据同步请求,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果,获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定所述边缘节点的节点验证结果,基于所述节点验证结果,对所述待同步数据进行数据同步。
176.基于上述实施例,参阅图7所示为本技术实施例中电子设备的结构示意图。
177.本技术实施例提供了一种电子设备,该电子设备可以包括处理器710(center processing unit,cpu)、存储器720、输入设备730和输出设备740等,输入设备730可以包括键盘、鼠标、触摸屏等,输出设备740可以包括显示设备,如液晶显示器(liquid crystal display,lcd)、阴极射线管(cathode ray tube,crt)等。
178.存储器720可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器710提供存储器720中存储的程序指令和数据。在本技术实施例中,存储器720可以用于存储本技术实施例中任一种基于区块链的数据同步方法的程序。
179.处理器710通过调用存储器720存储的程序指令,处理器710用于按照获得的程序指令执行本技术实施例中任一种基于区块链的数据同步方法。
180.基于上述实施例,本技术实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的基于区块链的数据同步方法。
181.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
182.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
183.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
184.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
185.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。

技术特征:
1.一种基于区块链的数据同步方法,其特征在于,区块链网络包括多个核心云节点和边缘节点,所述方法包括:任意一个核心云节点响应于所述边缘节点发送的数据同步请求,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果;其中,所述数据同步请求中包括所述边缘节点获取到的待同步数据和哈希值;获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定所述边缘节点的节点验证结果;基于所述节点验证结果,对所述待同步数据进行数据同步。2.如权利要求1所述的方法,其特征在于,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果,具体包括:基于所述任意一个核心云节点对应的节点标识,确定出相应的哈希值顺序信息;基于所述哈希值顺序信息,从所述哈希值中,确定出对应的节点哈希值,其中,所述哈希值中包括每个核心云节点各自对应的节点哈希值,各节点哈希值是基于预设顺序排列的;基于所述节点哈希值,结合预设的哈希值认证规则,确定哈希值验证结果。3.如权利要求2所述的方法,其特征在于,确定哈希值验证结果,具体包括:若确定所述节点哈希值与预先存储的标准节点哈希值相同,则确定对应的哈希值验证结果为通过;若确定所述节点哈希值与所述标准节点哈希值不相同,则确定对应的哈希值验证结果为未通过。4.如权利要求3所述的方法,其特征在于,基于各哈希值验证结果,确定所述边缘节点的节点验证结果,具体包括:从各哈希值验证结果中,确定出哈希值验证结果为通过的数量,作为所述边缘节点对应的结果数量;若确定所述结果数量不小于预设的数量阈值,则确定所述边缘节点对应的节点验证结果为通过;若确定所述结果数量小于预设的数量阈值,则确定所述边缘节点对应的节点验证结果为未通过。5.如权利要求1所述的方法,其特征在于,基于所述节点验证结果,对所述待同步数据进行数据同步,具体包括:若确定所述节点验证结果为通过,则采用预设的数据同步方式,对待同步数据进行数据同步;若确定所述节点验证结果为未通过,则确定所述边缘节点为问题节点,并基于所述节点验证结果,生成告警信息,将所述告警信息发送至客户端进行展示。6.如权利要求5所述的方法,其特征在于,采用预设的数据同步方式,对待同步数据进行数据同步,具体包括:读取节点权限类型,其中,所述节点权限类型为具有打包权限和无权限;若确定所述节点权限类型为具有打包权限,则对所述待同步数据进行打包,获得更新数据,并将所述更新数据存储至预设的系统数据库中;
若确定所述节点权限类型为无权限,则向所述节点权限类型为具有打包权限的核心云节点发送同步指令,以使所述节点权限类型为具有打包权限的核心云节点对所述待同步数据进行打包,获得更新数据,并将所述更新数据存储至所述系统数据库中。7.一种基于区块链的数据同步方法,其特征在于,区块链网络包括多个核心云节点和边缘计算节点,所述方法包括:所述边缘节点获取待同步数据,以及,确定哈希值;生成包含有所述待同步数据和所述哈希值的数据同步请求;分别将所述数据同步请求发送给所述多个核心云节点,以使所述多个核心云节点分别响应于所述边缘节点发送的数据同步请求,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果,获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定所述边缘节点的节点验证结果,基于所述节点验证结果,对所述待同步数据进行数据同步。8.一种基于区块链的数据同步装置,其特征在于,区块链网络包括多个核心云节点和边缘节点,所述装置应用于任意一个核心云节点,所述装置包括:验证模块,用于任意一个核心云节点响应于所述边缘节点发送的数据同步请求,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果;其中,所述数据同步请求中包括所述边缘节点获取到的待同步数据和哈希值;确定模块,用于获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定所述边缘节点的节点验证结果;处理模块,用于基于所述节点验证结果,对所述待同步数据进行数据同步。9.一种基于区块链的数据同步装置,其特征在于,区块链网络包括多个核心云节点和边缘节点,所述装置应用于所述边缘节点,所述装置包括:获取模块,用于获取待同步数据,以及,确定哈希值;生成模块,用于生成包含有所述待同步数据和所述哈希值的数据同步请求;处理模块,用于分别将所述数据同步请求发送给所述多个核心云节点,以使所述多个核心云节点分别响应于所述边缘节点发送的数据同步请求,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果,获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定所述边缘节点的节点验证结果,基于所述节点验证结果,对所述待同步数据进行数据同步。10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。

技术总结
本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据同步方法及相关装置,区块链网络包括多个核心云节点和边缘计算节点,任意一个核心云节点响应于所述边缘节点发送的数据同步请求,对所述数据同步请求中的哈希值进行验证,确定所述哈希值对应的哈希值验证结果;其中,所述数据同步请求中包括所述边缘节点获取到的待同步数据和哈希值;获取其它各核心云节点各自对应的哈希值验证结果,并基于各哈希值验证结果,确定所述边缘节点的节点验证结果;基于所述节点验证结果,对所述待同步数据进行数据同步,这样,能够提高数据同步的安全性。全性。全性。


技术研发人员:熊学涛 陈升
受保护的技术使用者:北京世纪互联宽带数据中心有限公司
技术研发日:2022.04.08
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-10260.html

最新回复(0)