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

一种分布式应用程序的事务数据一致性存储方法与流程

2022-07-19 21:26:31 来源:中国专利 TAG:


1.本发明涉及p2p网络中的分布式存储技术,特别是涉及一种分布式应用程序的事务数据一致性存储方法。
2.

背景技术:

3.分布式存储是区块链技术的一个重要组成部分,分布式存储的一致性问题关系到分布式存储的效果和性能。本发明分布式应用程序的事务数据一致性存储方法保证了p2p网络上事务数据的存储节点有效分布式对称存储,并达到了多节点同步存储数据的一致性存储效果。
4.

技术实现要素:

5.为了弥补现有技术的不足,本发明所要解决的技术问题是设计一种方法简单、实现方便的一种分布式事务数据存储的同步技术解决方案,以解决现有kademlia协议下的一种分布式一致性存储的有效性。
6.本发明的技术问题通过以下技术方案予以解决。
7.一种分布式应用程序的事务数据一致性存储方法,包括基于p2p网络kademlia协议的事务数据的分布式一致性存储方法,其特征在于:一个节点可以将一个《key,value》键值对事务数据,存储到p2p网络上满足节点逻辑异或距离相对最近的多个节点,以保证p2p网络上事务数据的存储节点有效分布式对称存储,算法步骤如下:第一步:构建事务数据data的《key,value》键值对关系设一个事务发起节点a,产生一个事务数据data定义《key,value》键值对,令事务数据data的哈希值为主键:key = hash (data)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
事务数据data为值:value = data第二步:将key定义为资源id(resourceid),令
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
resourceid = key第三步:先从事务发起节点a的kademlia路由表中,寻找出k个与资源id(resourceid)逻辑异或距离最近的本地邻居节点(localclosednodeidi,i=1~k),有
ꢀꢀꢀꢀꢀꢀꢀꢀ
localclosednodeid
i = xor(nodeidi,resourceid)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
i ϵ [1~k]根据kademlia协议,事务发起节点a用find node查找命令向p2p网络的这k个本地邻居节点(localclosednodeidi,i=1~k)查找资源id(resourceid);第四步:这k个邻居节点接收到事务发起节点a的find node查找命令后,分别根据
自己的kademlia路由表,按第三步的方法再次找到k个与资源id(resourceid)逻辑异或距离最近的k个邻居节点(closednodeid i
,i=1~k),并回复给事务发起节点a;第五步:事务发起节点a共收到k个本地邻居节点发来的自已的k个最近的邻居节点,共计n个 (closednodeidj,j = 1~n),有closednodeidjꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
j ϵ [1~n]第六步:事务发起节点a从这n个最近的邻居节点中,随机选择1个作为事务服务节点(workservicenode);同时将《key,value》键值对事务数据和n个最近的邻居节点(closednodeidj,j = 1~n)消息发给事务服务节点(workservicenode);第七步:事务服务节点(workservicenode)接收到事务发起节点a的《key,value》键值对事务数据和n个最近的邻居节点(closednodeidj,j = 1~n)消息后,并负责将《key,value》键值对事务数据在本地进行相关的业务处理;第八步:事务服务节点(workservicenode)完成本地相关业务处理后,将《key,value》键值对事务数据发给这n个最近的邻居节点(closednodeidj,j = 1~n);第九步:这n个最近的邻居节点(closednodeidj,j = 1~n)各自接收到事务服务节点(workservicenode)发来的《key,value》键值对事务数据后,保存到本地数据库,再用kademlia协议的store命令存储到p2p网络上;本发明的技术问题通过以下进一步的技术方案予以解决。
[0008]
所述的异或距离最近的邻居节点是当前kademlia协议路由表中节点id值与资源id(resourceid)值进行异或运算结果值,并从高位开始统计连续位为零的计数值,零的个数愈多其值愈小。
[0009]
本发明的技术问题通过以下再进一步的技术方案予以解决。
[0010]
所述的k个最近的邻居节点的k值通常取3或5。
[0011]
这种分布式应用程序的事务数据一致性存储方法的特点是:本发明的特点是设计一种方法简单、实现方便的一种分布式一致性存储的技术解决方案,以解决现有kademlia协议下的一种分布式一致性存储的有效性。
[0012]
本发明与现有技术相比的有益效果是:本发明分布式应用程序的事务数据一致性存储方法,确保了p2p网络上事务数据的存储节点有效分布式对称存储,并达到了多节点同步存储数据存取时的一致性存储效果。
[0013]
附图说明
[0014]
图1是分布式应用程序的事务数据一致性存储流程图;图2是分布式应用程序的事务数据一致性存储时序图;
具体实施方式
[0015]
下面结合具体实施方式并对照附图对本发明进行说明。
[0016]
本具体实施方式的所述分布式应用程序的事务数据一致性存储方法,包括基于p2p网络kademlia协议的事务数据的分布式一致性存储方法,其特征在于:一个节点可以将
一个《key,value》键值对事务数据,存储到p2p网络上满足节点逻辑异或距离相对最近的多个节点,以保证p2p网络上事务数据的存储节点有效分布式对称存储,算法步骤如下:第一步:构建事务数据data的《key,value》键值对关系设一个事务发起节点a,产生一个事务数据data定义《key,value》键值对,令事务数据data的哈希值为主键:key = hash (data)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
事务数据data为值:value = data第二步:将key定义为资源id(resourceid),令
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
resourceid = key第三步:先从事务发起节点a的kademlia路由表中,寻找出k个与资源id(resourceid)逻辑异或距离最近的本地邻居节点(localclosednodeidi,i=1~k),有
ꢀꢀꢀꢀꢀꢀꢀꢀ
localclosednodeid
i = xor(nodeidi,resourceid)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
i ϵ [1~k]根据kademlia协议,事务发起节点a用find node查找命令向p2p网络的这k个本地邻居节点(localclosednodeidi,i=1~k)查找资源id(resourceid);第四步:这k个邻居节点接收到事务发起节点a的find node查找命令后,分别根据自己的kademlia路由表,按第三步的方法再次找到k个与资源id(resourceid)逻辑异或距离最近的k个邻居节点(closednodeid i
,i=1~k),并回复给事务发起节点a;第五步:事务发起节点a共收到k个本地邻居节点发来的自已的k个最近的邻居节点,共计n个 (closednodeidj,j = 1~n),有closednodeidjꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
j ϵ [1~n]第六步:事务发起节点a从这n个最近的邻居节点中,随机选择1个作为事务服务节点(workservicenode);同时将《key,value》键值对事务数据和n个最近的邻居节点(closednodeidj,j = 1~n)消息发给事务服务节点(workservicenode);第七步:事务服务节点(workservicenode)接收到事务发起节点a的《key,value》键值对事务数据和n个最近的邻居节点(closednodeidj,j = 1~n)消息后,并负责将《key,value》键值对事务数据在本地进行相关的业务处理;第八步:事务服务节点(workservicenode)完成本地相关业务处理后,将《key,value》键值对事务数据发给这n个最近的邻居节点(closednodeidj,j = 1~n);第九步:这n个最近的邻居节点(closednodeidj,j = 1~n)各自接收到事务服务节点(workservicenode)发来的《key,value》键值对事务数据后,保存到本地数据库,再用kademlia协议的store命令存储到p2p网络上。
[0017]
本具体实施方式的所述异或距离最近的邻居节点是当前kademlia协议路由表中节点id值与资源id(resourceid)值进行异或运算结果值,并从高位开始统计连续位为零的计数值,零的个数愈多其值愈小。
[0018]
本具体实施方式的所述k个最近的邻居节点的k值通常取3或5。
[0019]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱
离本发明构思的前提下做出若干等同替代或明显变更,而且性能或用途相同,都应当视为属于本发明所提交的权利要求书确定的专利保护范围。
再多了解一些

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

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

相关文献