首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 区块头 / 一种区块链虚拟子网分段存储的方法

一种链虚拟子网分段存储的方法

阅读:710发布:2020-05-13

专利汇可以提供一种链虚拟子网分段存储的方法专利检索,专利查询,专利分析的服务。并且一种 区 块 链 虚拟子网分段存储的方法,通过划分子网一定数量的 节点 进行同一区块数据存储,实现区块防篡改及区块数据冗余,存储特定区块,降低单节点存储区块压 力 ,使得单节点存储能力大幅提升,同时保证了区块链的各类特性,为区块链的广泛、大规模应用提供一种可行的存储解决方法。,下面是一种链虚拟子网分段存储的方法专利的具体信息内容。

1.一种链虚拟子网分段存储的方法,其特征在于,包括如下步骤:
a)通过公式N/M=O计算子网最大节点数量O,式中N为区块链系统最大节点总数,M为划分的虚拟子网数,每一子网中最小节点数为K,当O小于K时,该子网不参与区块链数据存储,当O大于K时,执行步骤b);
b)当新节点加入区块链系统时,从区块链系统中第一个虚拟子网开始构造UDP数据报文,该UDP数据报文指定接收方为第一个虚拟子网后广播UDP数据报文,新节点尝试加入第一个虚拟子网,第一个虚拟子网内的所有节点收到该报文后,获取第一个虚拟子网的区块头信息;
c)如果区块头信息中记录的第一个虚拟子网中节点数量尚未达到O,则构造UDP响应包确认新节点可以加入第一个虚拟子网,第一个虚拟子网内各节点更新节点数量+1,新节点加入第一个虚拟子网成功后,下载第一个虚拟子网内节点所存储的交易区块链数据和子网区块链数据;
d)如果区块头信息中记录的子网数量达到O,则构造UDP响应包拒绝新节点加入,新节点继续构造UDP报文尝试加入下一个虚拟子网,该UDP数据报文指定接收方为下一个虚拟子网后广播UDP数据报文,下一个虚拟子网内的所有节点收到该报文后,获取自身虚拟子网的区块头信息;
e)如果区块头信息中记录的子网数量达到O,则构造UDP响应包拒绝新节点加入,当解析返回的报文发现子网数量与尝试加入的子网个数相同,则区块链系统中开辟一个新的子网,该子网为M+1,构造创建新虚拟子网广播UDP报文,广播通知所有节点已创建M+1虚拟子网,各节点记录当前虚拟子网个数为M+1;
f)区块链系统各节点产生交易,在各节点争取打包记录权限之前,将符合存储要求的各个虚拟子网的各个节点通过当前区块的顺序编号与虚拟子网的个数取余数,余数为具有该区块存储权限的虚拟子网编号;
g)获取存储权限的虚拟子网内所有节点对该区块进行打包后存储记录该区块编号,存储完成后将子网编号加区块编号封装为UDP报文并广播全网,区块链系统中各个节点根据区块链竞争机制获取区块记录权限,当区块链系统中某一节点获取权限后添加区块头,该区块头表头中除区块链所需必要信息外还包含一个当前区块链表头所对应存储当前区块头的子网编号及区块编号,存储成功后,广播区块链表头,区块链系统中所有节点进行更新;
h)当需要查看某笔交易时,在本节点的区块链对应的区块头中获取存储的区块存储信息后封装区块体请求UDP报文,该区块体请求UDP报文指明了该区块存储的子网编号及区块编号,将区块体请求UDP广播全网,相关虚拟子网收到该请求后通过区块链验证技术验证通过后,相关虚拟子网内任一节点通过区块编号查询所存储区块,获取该区块并封装为UDP响应数据,将UDP响应数据发送至请求的节点,请求节点获取到该区块数据之后即可完成交易查询动作。
2.根据权利要求1所述的区块链虚拟子网分段存储的方法,其特征在于:步骤b)中第一个虚拟子网内的所有节点收到该报文后通过区块链验证机制验证报文合法性,验证通过后解析确认该保温的目的子网与本子网是否一致,如果一致则查询子网区块链,并获取第一个虚拟子网的区块头信息。
3.根据权利要求1所述的区块链虚拟子网分段存储的方法,其特征在于,在步骤b)之后增加如下步骤:)若规定时间内由新节点发送的UDP数据报文未收到任何子网反馈信息,则认定为当区块链系统之不存在任何子网,系统默认开辟第一个虚拟子网后后执行步骤c)。
4.根据权利要求1所述的区块链虚拟子网分段存储的方法,其特征在于,步骤c)中新节点收到子网允许加入的报文之后,构造加入子网成功报文,子网成功报文记录新节点的信息、子网信息以及加入时间,将子网成功报文广播至待加入的第一个虚拟子网,第一个虚拟子网内各节点收到报文之后记录该子网变动事件并将本子网节点数累加。
5.根据权利要求1所述的区块链虚拟子网分段存储的方法,其特征在于:当区块链中节点离线时,构造离线UDP报文并向该节点所在的虚拟子网进行广播,该虚拟子网的其他各节点收到离线报文后记录该网络变动并更新节点数量。

说明书全文

一种链虚拟子网分段存储的方法

技术领域

[0001] 本发明涉及区块链技术领域,具体涉及一种区块链虚拟子网分段存储的方法。

背景技术

[0002] 随着我国将区块链技术列为国家战略,预计在未来区块链将被更大规模地应用于各类领域,当前电子支付飞速发展,在5G等各类高速传输技术的支持下,区块链中区块生成的数量越来越多,速度越来越快,需要节点存储的区块链数据越来越大,如现有的区块链系统比特币系统中,新加入的节点需下载180G的交易记录,普通节点设备无法实现长久存储区块链数据。
[0003] 现有技术方案大致分两种,一种针对节点设备加装更大的存储空间,该方式花费较高且操作繁琐.第二种是通过单台节点存储自身或全部交易区块,降低数据存储空间,该种方式下,若该节点离线或出现问题,将导致该节点存储的区块数据无法正常使用且存在被篡改险。

发明内容

[0004] 本发明为了克服以上技术的不足,提供了一种通过划分子网,存储特定区块,使单节点存储能大幅提高的区块链虚拟子网分段存储的方法。
[0005] 本发明克服其技术问题所采用的技术方案是:一种区块链虚拟子网分段存储的方法,其特征在于,包括如下步骤:
a)通过公式N/M=O计算子网最大节点数量O,式中N为区块链系统最大节点总数,M为划分的虚拟子网数,每一子网中最小节点数为K,当O小于K时,该子网不参与区块链数据存储,当O大于K时,执行步骤b);
b)当新节点加入区块链系统时,从区块链系统中第一个虚拟子网开始构造UDP数据报文,该UDP数据报文指定接收方为第一个虚拟子网后广播UDP数据报文,新节点尝试加入第一个虚拟子网,第一个虚拟子网内的所有节点收到该报文后,获取第一个虚拟子网的区块头信息;
c)如果区块头信息中记录的第一个虚拟子网中节点数量尚未达到O,则构造UDP响应包确认新节点可以加入第一个虚拟子网,第一个虚拟子网内各节点更新节点数量+1,新节点加入第一个虚拟子网成功后,下载第一个虚拟子网内节点所存储的交易区块链数据和子网区块链数据;
d)如果区块头信息中记录的子网数量达到O,则构造UDP响应包拒绝新节点加入,新节点继续构造UDP报文尝试加入下一个虚拟子网,该UDP数据报文指定接收方为下一个虚拟子网后广播UDP数据报文,下一个虚拟子网内的所有节点收到该报文后,获取自身虚拟子网的区块头信息;
e)如果区块头信息中记录的子网数量达到O,则构造UDP响应包拒绝新节点加入,当解析返回的报文发现子网数量与尝试加入的子网个数相同,则区块链系统中开辟一个新的子网,该子网为M+1,构造创建新虚拟子网广播UDP报文,广播通知所有节点已创建M+1虚拟子网,各节点记录当前虚拟子网个数为M+1;
f)区块链系统各节点产生交易,在各节点争取打包记录权限之前,将符合存储要求的各个虚拟子网的各个节点通过当前区块的顺序编号与虚拟子网的个数取余数,余数为具有该区块存储权限的虚拟子网编号;
g)获取存储权限的虚拟子网内所有节点对该区块进行打包后存储记录该区块编号,存储完成后将子网编号加区块编号封装为UDP报文并广播全网,区块链系统中各个节点根据区块链竞争机制获取区块记录权限,当区块链系统中某一节点获取权限后添加区块头,该区块头表头中除区块链所需必要信息外还包含一个当前区块链表头所对应存储当前区块头的子网编号及区块编号,存储成功后,广播区块链表头,区块链系统中所有节点进行更新;
h)当需要查看某笔交易时,在本节点的区块链对应的区块头中获取存储的区块存储信息后封装区块体请求UDP报文,该区块体请求UDP报文指明了该区块存储的子网编号及区块编号,将区块体请求UDP广播全网,相关虚拟子网收到该请求后通过区块链验证技术验证通过后,相关虚拟子网内任一节点通过区块编号查询所存储区块,获取该区块并封装为UDP响应数据,将UDP响应数据发送至请求的节点,请求节点获取到该区块数据之后即可完成交易查询动作。
[0006] 进一步的,步骤b)中第一个虚拟子网内的所有节点收到该报文后通过区块链验证机制验证报文合法性,验证通过后解析确认该保温的目的子网与本子网是否一致,如果一致则查询子网区块链,并获取第一个虚拟子网的区块头信息。
[0007] 进一步的,在步骤b)之后增加如下步骤:)若规定时间内由新节点发送的UDP数据报文未收到任何子网反馈信息,则认定为当区块链系统之不存在任何子网,系统默认开辟第一个虚拟子网后后执行步骤c)。
[0008] 进一步的,步骤c)中新节点收到子网允许加入的报文之后,构造加入子网成功报文,子网成功报文记录新节点的信息、子网信息以及加入时间,将子网成功报文广播至待加入的第一个虚拟子网,第一个虚拟子网内各节点收到报文之后记录该子网变动事件并将本子网节点数累加。
[0009] 进一步的,当区块链中节点离线时,构造离线UDP报文并向该节点所在的虚拟子网进行广播,该虚拟子网的其他各节点收到离线报文后记录该网络变动并更新节点数量。
[0010] 本发明的有益效果是:通过划分虚拟子网,一定数量的节点进行同一区块数据存储,实现区块防篡改及区块数据冗余。一旦有篡改区块数据行为,该子网内所有节点可进行数据的验证,当某一台或多台节点离线或出现问题时,其他节点仍能提供防篡改功能及区块数据查询服务。在保证传统区块链正常运作的情况下实现区块随机网络分段存储。根据存储最优化及节点数最大化原则进行虚拟子网划分,既要保证划分后的子网可实现存储最大限度的区块数据,又能够保证子网节点具备一定的数量,实现多节点共识防篡改及区块数据冗余。各子网公平的对新区块进行顺序存储,子网内节点通过计算验证当前子网是否拥有最新区块数据存储权限。若拥有权限则子网内所有节点对该最新区块进行存储。节点的存储竞争可抽象为虚拟子网的存储竞争,竞争获得存储权后,虚拟子网内全部节点对当前区块进行存储。存储采用公平顺序存储机制,保证各子网的公平性。封装索引特定子网和区块的区块数据并实现区块数据读取。区块链只进行区块头的广播,区块头中加入指向该区块数据所存储的子网和区块编号,读取该区块数据时根据各节点存储的子网及区块编号,构造查询报文,去到指定的子网,获取指定的区块数据。

具体实施方式

[0011] 下面对本发明做进一步说明。
[0012] 一种区块链虚拟子网分段存储的方法,其特征在于,包括如下步骤:a)通过公式N/M=O计算子网最大节点数量O,式中N为区块链系统最大节点总数,M为划分的虚拟子网数,每一子网中最小节点数为K,当O小于K时,该子网不参与区块链数据存储,当O大于K时,执行步骤b);
b)当新节点加入区块链系统时,从区块链系统中第一个虚拟子网开始构造UDP数据报文,该UDP数据报文指定接收方为第一个虚拟子网后广播UDP数据报文,新节点尝试加入第一个虚拟子网,第一个虚拟子网内的所有节点收到该报文后,获取第一个虚拟子网的区块头信息;
c)如果区块头信息中记录的第一个虚拟子网中节点数量尚未达到O,则构造UDP响应包确认新节点可以加入第一个虚拟子网,第一个虚拟子网内各节点更新节点数量+1,新节点加入第一个虚拟子网成功后,下载第一个虚拟子网内节点所存储的交易区块链数据和子网区块链数据;
d)如果区块头信息中记录的子网数量达到O,则构造UDP响应包拒绝新节点加入,新节点继续构造UDP报文尝试加入下一个虚拟子网,该UDP数据报文指定接收方为下一个虚拟子网后广播UDP数据报文,下一个虚拟子网内的所有节点收到该报文后,获取自身虚拟子网的区块头信息;
e)如果区块头信息中记录的子网数量达到O,则构造UDP响应包拒绝新节点加入,当解析返回的报文发现子网数量与尝试加入的子网个数相同,则区块链系统中开辟一个新的子网,该子网为M+1,构造创建新虚拟子网广播UDP报文,广播通知所有节点已创建M+1虚拟子网,各节点记录当前虚拟子网个数为M+1;
f)区块链系统各节点产生交易,在各节点争取打包记录权限之前,将符合存储要求的各个虚拟子网的各个节点通过当前区块的顺序编号与虚拟子网的个数取余数,余数为具有该区块存储权限的虚拟子网编号(假设区块编号为10,虚拟子网个数为4,则余数为2,那么就由第二个虚拟子网来进行该区块的存储);
g)获取存储权限的虚拟子网内所有节点对该区块进行打包后存储记录该区块编号,存储完成后将子网编号加区块编号封装为UDP报文并广播全网,区块链系统中各个节点根据区块链竞争机制获取区块记录权限,当区块链系统中某一节点获取权限后添加区块头,该区块头表头中除区块链所需必要信息外还包含一个当前区块链表头所对应存储当前区块头的子网编号及区块编号,存储成功后,广播区块链表头,区块链系统中所有节点进行更新;
h)当需要查看某笔交易时,在本节点的区块链对应的区块头中获取存储的区块存储信息后封装区块体请求UDP报文,该区块体请求UDP报文指明了该区块存储的子网编号及区块编号,将区块体请求UDP广播全网,相关虚拟子网收到该请求后通过区块链验证技术验证通过后,相关虚拟子网内任一节点通过区块编号查询所存储区块,获取该区块并封装为UDP响应数据,将UDP响应数据发送至请求的节点,请求节点获取到该区块数据之后即可完成交易查询动作。
[0013] 通过划分虚拟子网,一定数量的节点进行同一区块数据存储,实现区块防篡改及区块数据冗余。一旦有篡改区块数据行为,该子网内所有节点可进行数据的验证,当某一台或多台节点离线或出现问题时,其他节点仍能提供防篡改功能及区块数据查询服务。在保证传统区块链正常运作的情况下实现区块随机网络分段存储。根据存储最优化及节点数最大化原则进行虚拟子网划分,既要保证划分后的子网可实现存储最大限度的区块数据,又能够保证子网节点具备一定的数量,实现多节点共识防篡改及区块数据冗余。各子网公平的对新区块进行顺序存储,子网内节点通过计算验证当前子网是否拥有最新区块数据存储权限。若拥有权限则子网内所有节点对该最新区块进行存储。节点的存储竞争可抽象为虚拟子网的存储竞争,竞争获得存储权后,虚拟子网内全部节点对当前区块进行存储。存储采用公平顺序存储机制,保证各子网的公平性。封装索引特定子网和区块的区块数据并实现区块数据读取。区块链只进行区块头的广播,区块头中加入指向该区块数据所存储的子网和区块编号,读取该区块数据时根据各节点存储的子网及区块编号,构造查询报文,去到指定的子网,获取指定的区块数据。
[0014] 通过划分子网,存储特定区块,降低单节点存储区块压力,使得单节点存储能力大幅提升,同时保证了区块链的各类特性,为区块链的广泛、大规模应用提供一种可行的存储解决方法。
[0015] 进一步的,步骤b)中第一个虚拟子网内的所有节点收到该报文后通过区块链验证机制验证报文合法性,验证通过后解析确认该保温的目的子网与本子网是否一致,如果一致则查询子网区块链,并获取第一个虚拟子网的区块头信息。
[0016] 进一步的,在步骤b)之后增加如下步骤:)若规定时间内由新节点发送的UDP数据报文未收到任何子网反馈信息,则认定为当区块链系统之不存在任何子网,系统默认开辟第一个虚拟子网后后执行步骤c)。
[0017] 进一步的,步骤c)中新节点收到子网允许加入的报文之后,构造加入子网成功报文,子网成功报文记录新节点的信息、子网信息以及加入时间,将子网成功报文广播至待加入的第一个虚拟子网,第一个虚拟子网内各节点收到报文之后记录该子网变动事件并将本子网节点数累加。
[0018] 进一步的,当区块链中节点离线时,构造离线UDP报文并向该节点所在的虚拟子网进行广播,该虚拟子网的其他各节点收到离线报文后记录该网络变动并更新节点数量。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈