CN112307127B - 一种物流区块链数据存储方法和系统 - Google Patents
一种物流区块链数据存储方法和系统 Download PDFInfo
- Publication number
- CN112307127B CN112307127B CN202011329195.6A CN202011329195A CN112307127B CN 112307127 B CN112307127 B CN 112307127B CN 202011329195 A CN202011329195 A CN 202011329195A CN 112307127 B CN112307127 B CN 112307127B
- Authority
- CN
- China
- Prior art keywords
- block
- logistics
- blocks
- node
- block chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013500 data storage Methods 0.000 title claims abstract description 28
- 230000000694 effects Effects 0.000 claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims description 13
- 230000008520 organization Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 10
- 238000005457 optimization Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种物流区块链数据存储方法和系统,在提高物流信息安全性、可靠性以及不可篡改性的同时,缓解物流行业在结合区块链技术后众多节点的不断增长的存储压力。其技术方案为:计算所有区块的价值密度;设定价值密度的第一阈值和第二阈值;根据计算出的区块的价值密度,对连续区块的数据采取不同的存储方式;将物流区块链分为多个不同的区域,每个区域内的物流区块链节点依据地址按序形成环;对价值密度在第一阈值和第二阈值之间的连续区块,使用纠删码生成区块的编码块;根据编码块分配规则,区域内的物流区块链节点保留自己应存储的编码块;作为物流区块链节点,参与物流区块链活动。
Description
技术领域
本发明涉及一种应用在快递物流领域的区块链技术,具体涉及一种物流区块链数据存储方法和系统。
背景技术
在当前电商迅速发展的情况下,快递业务保持着较高增速。根据国家邮政局数据,2019年1-8月,中国快递服务企业业务量累计完成383.1亿件,同比增长26.6%;业务收入累计完成4621.8亿元,同比增长24.4%。2019年9月17日,国家邮政局局长马军胜表示,2019年中国快递业务量有望突破600亿件。与此同时,快递物流信息在现有机制下,实时性差,物流信息的真实性得不到保障。
随着比特币和其他加密货币的发展势头愈发强劲,区块链作为这些加密货币的背后技术成为许多行业创新与发展的突破口。区块链的核心是一个分布式账本,区块链记录了网络中发生的所有交易。区块链网络中的节点都需要维护一份区块链帐本,因此区块链也被称为去中心化的。除了去中心化的特性以外,区块链还具有不可篡改的特性,这一特性保证了一旦交易被添加至区块链中将无法篡改,进而保证了这些信息的安全性。
如果能在物流行业中应用区块链技术,则将提升物流信息的实时性、安全性以及真实性。但是,经过这几年的发展,区块链的可扩展性问题逐渐显露出来,尤其是存储的可扩展性。在比特币、以太坊等区块链平台背后的区块链技术中,每个节点都需要维护一份完整的区块链帐本,当任意一个节点遭到篡改,都不会影响区块链的正常运行,只要恶意节点小于等于49%。这种特性增加了区块链的不可篡改性,但同时也增加了节点的存储负担。从2009年1月至2019年10月,比特币帐本的大小已经达到了247GB;同样地,从2015年7月至2019年10月,以太坊帐本的大小也达到了108GB。中国的物流行业正在快速发展中,以当前的物流业务量计算,物流区块链账本的大小将会非常大。
因此,寻找一种使得物流区块链可以正常运行,同时每个物流节点的存储压力也得到缓解的存储方法,是十分有意义的!
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种物流区块链数据存储方法和系统,通过区块链技术提高物流信息安全性、可靠性以及不可篡改性的同时,改进传统物流区块链区块数据的存储方式,缓解了物流行业在结合区块链技术后众多节点的不断增长的存储压力。
本发明的技术方案为:本发明揭示了一种物流区块链数据存储方法,方法包括:
步骤1:计算所有区块的价值密度;
步骤2:设定价值密度的第一阈值和第二阈值;
步骤3:根据步骤1中计算出的区块的价值密度,对连续区块的数据采取不同的存储方式;
步骤4:将物流区块链分为多个不同的区域,每个区域内的物流区块链节点依据地址按序形成环;
步骤5:对价值密度在第一阈值和第二阈值之间的连续区块,使用纠删码生成区块的编码块;
步骤6:根据编码块分配规则,区域内的物流区块链节点保留自己应存储的编码块;
步骤7:作为物流区块链节点,参与物流区块链活动。
根据本发明的物流区块链数据存储方法的一实施例,步骤1中,计算区块的价值密度:
其中,m为区块Bi中物流数据的个数;βj为物流信息产生时间权重系数,为区块Bi中第j条信息产生的时间;/>为区块Bi中第j条信息的访问次数,αj为物流信息权重系数;为物流数据提交者的级别;λ为价值密度系数。
根据本发明的物流区块链数据存储方法的一实施例,步骤3中,不同的存储方式包括:
(1)当价值密度≥VDH,连续的物流区块由区域内的节点采用全副本策略存储,全副本策略存储是指区域内所有的物流区块链节点都保存完整的区块头和区块体;
(2)当VDH≥价值密度≥VDL,连续的物流区块由区域内节点采用协作式存储,区域内的节点不需要存储完整的副本,每个节点存储部分账本,当需要访问自己未存储的账本部分请求其他节点;
(3)当价值密度≤VDL,连续的物流区块采用归档方式存储,归档存储是指所有区域内的物流区块链节点本地不再存储,而由构成物流区块链的联盟或单一组织统一存储;
VDH为第一阈值,VDL为第二阈值。
根据本发明的物流区块链数据存储方法的一实施例,步骤5中,使用纠删码生成区块的编码块的方式为:区块头仍由区域内的各节点存储,区域内各节点根据纠删码生成矩阵对区块体以实际若干条物流信息为单位编码,记区块Block=(H,B)=(H,I1,…,Ix),
其中,I1~Ix以及C1~Cr为生成的编码块。
根据本发明的物流区块链数据存储方法的一实施例,步骤6中,编码块分配规则为:
1)计算编码块hash与区域内结点地址的距离,即编码块hash与节点地址异或:
2)节点选择与地址距离最近的编码包C:
distanceC,j=min{distancei,j,i∈[1,x+r]}
3)将编码包传输给后t个节点,即编码包采用多副本策略:
Tj={i|min{distancei,j-r},r∈[0,t-1],i∈[1,x+r]};
其中,i是编码块的编号,x是编码块的个数,r是编码块冗余数,Nodej是指节点j,Addr(Nodej)是指节点j的地址,distancei,j是节点j与编码块i之间的距离,Tj是节点j最终选取的编码包集合。
本发明还揭示了一种物流区块链数据存储系统,系统包括:
价值密度计算模块,计算所有区块的价值密度;
阈值设定模块,设定价值密度的第一阈值和第二阈值;
连续区块数据存储模块,根据计算出的区块的价值密度,对连续区块的数据采取不同的存储方式;
区域划分模块,将物流区块链分为多个不同的区域,每个区域内的物流区块链节点依据地址按序形成环;
编码块生成模块,对价值密度在第一阈值和第二阈值之间的连续区块,使用纠删码生成区块的编码块;
编码块分配模块,根据编码块分配规则,区域内的物流区块链节点保留自己应存储的编码块;
区块链活动模块,作为物流区块链节点,参与物流区块链活动。
根据本发明的物流区块链数据存储系统的一实施例,价值密度计算模块计算区块的价值密度:
其中,m为区块Bi中物流数据的个数;βj为物流信息产生时间权重系数,为区块Bi中第j条信息产生的时间;/>为区块Bi中第j条信息的访问次数,αj为物流信息权重系数;为物流数据提交者的级别;λ为价值密度系数。
根据本发明的物流区块链数据存储系统的一实施例,连续区块数据存储模块中不同的存储方式包括:
(1)当价值密度≥VDH,连续的物流区块由区域内的节点采用全副本策略存储,全副本策略存储是指区域内所有的物流区块链节点都保存完整的区块头和区块体;
(2)当VDH≥价值密度≥VDL,连续的物流区块由区域内节点采用协作式存储;
(3)当价值密度≤VDL,连续的物流区块采用归档方式存储,归档存储是指所有区域内的物流区块链节点本地不再存储,而由构成物流区块链的联盟或单一组织统一存储;
VDH为第一阈值,VDL为第二阈值。
根据本发明的物流区块链数据存储系统的一实施例,编码块生成模块使用纠删码生成区块的编码块的方式为:区块头仍由区域内的各节点存储,区域内各节点根据纠删码生成矩阵对区块体以实际若干条物流信息为单位编码,记区块Block=(H,B)=(H,I1,…,Ix),
其中,I1~Ix以及C1~Cr为生成的编码块。
根据本发明的物流区块链数据存储系统的一实施例,编码块分配模块中的编码块分配规则为:
1)计算编码块hash与区域内结点地址的距离,即编码块hash与节点地址异或:
2)节点选择与地址距离最近的编码包C:
distanceC,j=min{distancei,j,i∈[1,x+r]}
3)将编码包传输给后t个节点,即编码包采用多副本策略:
Tj={i|min{distancei,j-r},r∈[0,t-1],i∈[1,x+r]};
其中,i是编码块的编号,x是编码块的个数,r是编码块冗余数,Nodej是指节点j,Addr(Nodej)是指节点j的地址,distancei,j是节点j与编码块i之间的距离,Tj是节点j最终选取的编码包集合。
本发明对比现有技术有如下的有益效果:本发明的方案涉及基于价值密度的区块链数据存储机制,通过采用多维存储方式,避免了历史数据占用大量存储资源的问题。此外,本发明还提出了基于距离的编码块分配技术,对原始区块进行编码,不需要额外维护编码块与节点的关系,减少了节点的存储压力并提高了区域中的容错能力,对缓解物流行业中区块链节点存储压力具有很好的帮助。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了本发明的物流区块链数据存储方法的一实施例的流程图。
图2示出了本发明的物流区块的结构图。
图3示出了本发明的物流区块链数据存储方法一实施例的对物流区块链新节点的区块链重构的流程图。
图4示出了本发明的物流区块链数据存储方法一实施例的对物流区块链老节点的区块存储优化的流程图。
图5示出了本发明的物流区块链数据存储系统的一实施例的原理图。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
图1示出了本发明的物流区块链数据存储方法的一实施例的流程。请参见图1,本实施例的物流区块链数据存储方法的实施步骤如下。
步骤1:计算所有区块的价值密度。
如图2所示,区块链中的区块包括区块头和区块体两个部分,其中区块头包含版本号、时间戳、前一区块哈希和区块体哈希,区块体包含若干条物流信息,物流信息包括但不限于订单信息、物品信息、天气信息、物流信息、位置信息以及签收信息。
计算区块的价值密度的方法如下:
其中,m为区块Bi中物流数据的个数;βj为物流信息产生时间权重系数,为区块Bi中第j条信息产生的时间;/>为区块Bi中第j条信息的访问次数,αj为物流信息权重系数;为物流数据提交者的级别;λ为价值密度系数。λ为常数,其余皆为自定义变量。
从上式中看出,区块的价值密度与物流数据提交者的级别/>成正比,与物流数据访问次数/>成正比,与物流数据产生时间/>成反比,k为价值密度系数,αj为物流信息权重系数,βk为物流信息产生时间权重系数。
步骤2:设定价值密度的阈值VDH和VDL,价值密度阈值VDH≥VDL。价值密度阈值用于后续步骤中对数据采取不同存储方式的判断依据。
步骤3:根据步骤1中计算出的区块的价值密度,对连续区块的数据采取不同的存储方式。
不同的存储方式具体如下:
(1)当价值密度≥VDH,连续的xh个物流区块由区域内的节点采用全副本策略存储,全副本策略存储是指区域内所有的物流区块链节点都保存完整的区块头和区块体;
(2)当VDH≥价值密度≥VDL,连续的xm个物流区块由区域内节点采用协作式存储,区域内的节点不需要存储完整的副本,每个节点存储部分账本,当需要访问自己未存储的账本部分请求其他节点。
(3)当价值密度≤VDL,连续的xl个物流区块采用归档方式存储,归档存储是指所有区域内的物流区块链节点本地不再存储,而由构成物流区块链的联盟或单一组织统一存储。
步骤4:将物流区块链分为a个不同的区域,每个区域内的物流区块链节点依据地址按序形成环,其中a为整数。
物流区块链中节点(各级子公司)根据实际业务需求,划分成a个地位相等的区域,区域内按照节点id顺序形成环,每个节点保存区域内其他节点地址的路由表。
步骤5:对价值密度大于等于VDL,小于等于VDH的连续区块,使用纠删码生成区块的编码块。
使用纠删码生成区块的编码块的方式为:区块头仍由区域内的各节点存储,区域内各节点根据纠删码生成矩阵对区块体以实际若干条物流信息为单位编码,记区块Block=(H,B)=(H,I1,…,Ix),
其中,I1~Ix以及C1~Cr为生成的编码块。H是指区块的区块头,B是指区块的区块体,E是指恒等矩阵,G是指纠删码生成矩阵。
步骤6:根据编码块分配规则,区域内的物流区块链节点保留自己应存储的编码块。
编码块分配规则如下:
1)计算编码块hash与区域内结点地址的距离,即编码块hash与节点地址异或:
2)节点选择与地址距离最近的编码包C:
distanceC,j=min{distancei,j,i∈[1,x+r]}
3)将编码包传输给后t个节点,即编码包采用多副本策略:
Tj={i|min{distancei,j-r},r∈[0,t-1],i∈[1,x+r]}
其中,i是编码块的编号,x是编码块的个数,r是编码块冗余数,Nodej是指节点j,Addr(Nodej)是指节点j的地址,distancei,j是节点j与编码块i之间的距离,Tj是节点j最终选取的编码包集合。
步骤7:作为物流区块链节点,参与物流区块链活动。
在具体的实施中,本发明的物流区块链数据存储方法可分为如图3所示的新节点加入区块链时的区块链重构方法,以及如图4所示的老节点的存储优化方法。
物流区块链新节点的区块链重构方法的实施步骤如下:
步骤S11:新节点加入物流区块链系统后,先从区域内其他节点处下载完整的区块链区块头链表。
步骤S12:从区域内其他节点处下载大于价值密度阈值VDH的最新的所有完整区块体。
步骤S13:从区域内其他节点处下载价值密度在范围(VDL,VDH)中的历史区块编码块,并根据纠删码生成矩阵逆矩阵重构出原始区块体。
步骤S14:将区块体与区块头进行比对,判断是否属于同一区块,若是,进行步骤S15;若不是,回到步骤S11。
步骤S15:根据自身存储条件,若存储资源充足,跳转至步骤S16;若存储资源有限,则跳转至步骤S17。
步骤S16:根据区域内制定的编码块分配规则,保留符合自身存储条件的相应区块的编码块(数据块或校验块)。
步骤S17:作为节点,参与物流区块链活动。
物流区块链老节点的存储优化方法的实施步骤如下。
步骤S21:当节点的自身存储空间与所存储的物流区块链帐本之差小于设定的阈值TStorage时,启动存储优化方法。
步骤S22:设定本地价值密度阈值VDLocal(本地价值密度阈值VDLocal≥全局价值密度阈值VDH),从区块链末尾开始反向计算每个区块的价值密度。
步骤S23:下载价值密度在范围(x,y)中的历史区块编码块,并根据纠删码生成矩阵逆矩阵重构出原始区块体。
步骤S24:根据区域内纠删码生成矩阵对区块体进行编码,生成相应的编码块(数据块和校验块)。
步骤S25:根据区域内制定的编码块分配规则,存储属于自己的编码块(数据块或编码块),计算此时所剩存储空间,根据自身需求,删除剩余编码块。
步骤S26:继续参与物流区块链活动。
图5示出了本发明的物流区块链数据存储系统的一实施例的原理。请参见图5,本实施例的系统包括:价值密度计算模块、阈值设定模块、连续区块数据存储模块、区域划分模块、编码块生成模块、编码块分配模块、区块链活动模块。
价值密度计算模块,计算所有区块的价值密度。
如图2所示,区块链中的区块包括区块头和区块体两个部分,其中区块头包含版本号、时间戳、前一区块哈希和区块体哈希,区块体包含若干条物流信息,物流信息包括但不限于订单信息、物品信息、天气信息、物流信息、位置信息以及签收信息。
价值密度计算模块计算区块的价值密度:
其中,m为区块Bi中物流数据的个数;βj为物流信息产生时间权重系数,为区块Bi中第j条信息产生的时间;/>为区块Bi中第j条信息的访问次数,αj为物流信息权重系数;/>为物流数据提交者的级别;λ为价值密度系数。λ为常数,其余皆为自定义变量。
从上式中看出,区块的价值密度与物流数据提交者的级别/>成正比,与物流数据访问次数/>成正比,与物流数据产生时间/>成反比,k为价值密度系数,αj为物流信息权重系数,βk为物流信息产生时间权重系数。
阈值设定模块,设定价值密度的第一阈值和第二阈值,VDH为第一阈值,VDL为第二阈值。
连续区块数据存储模块,根据计算出的区块的价值密度,对连续区块的数据采取不同的存储方式。
连续区块数据存储模块中不同的存储方式包括:
(1)当价值密度≥VDH,连续的物流区块由区域内的节点采用全副本策略存储,全副本策略存储是指区域内所有的物流区块链节点都保存完整的区块头和区块体;
(2)当VDH≥价值密度≥VDL,连续的物流区块由区域内节点采用协作式存储;
(3)当价值密度≤VDL,连续的物流区块采用归档方式存储,归档存储是指所有区域内的物流区块链节点本地不再存储,而由构成物流区块链的联盟或单一组织统一存储。
区域划分模块,将物流区块链分为多个不同的区域,每个区域内的物流区块链节点依据地址按序形成环。
物流区块链中节点(各级子公司)根据实际业务需求,划分成a个地位相等的区域,区域内按照节点id顺序形成环,每个节点保存区域内其他节点地址的路由表。
编码块生成模块,对价值密度在第一阈值和第二阈值之间的连续区块,使用纠删码生成区块的编码块。
编码块生成模块使用纠删码生成区块的编码块的方式为:区块头仍由区域内的各节点存储,区域内各节点根据纠删码生成矩阵对区块体以实际若干条物流信息为单位编码,记区块Block=(H,B)=(H,I1,…,Ix),
其中,I1~Ix以及C1~Cr为生成的编码块。
编码块分配模块,根据编码块分配规则,区域内的物流区块链节点保留自己应存储的编码块。
编码块分配模块中的编码块分配规则为:
1)计算编码块hash与区域内结点地址的距离,即编码块hash与节点地址异或:
2)节点选择与地址距离最近的编码包C:
distanceC,j=min{distancei,j,i∈[1,x+r]}
3)将编码包传输给后t个节点,即编码包采用多副本策略:
Tj={i|min{distancei,j-r},r∈[0,t-1],i∈[1,x+r]}。
区块链活动模块,作为物流区块链节点,参与物流区块链活动。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (8)
1.一种物流区块链数据存储方法,其特征在于,方法包括:
步骤1:计算所有区块的价值密度;
步骤2:设定价值密度的第一阈值和第二阈值;
步骤3:根据步骤1中计算出的区块的价值密度,对连续区块的数据采取不同的存储方式;
步骤4:将物流区块链分为多个不同的区域,每个区域内的物流区块链节点依据地址按序形成环;
步骤5:对价值密度在第一阈值和第二阈值之间的连续区块,使用纠删码生成区块的编码块;
步骤6:根据编码块分配规则,区域内的物流区块链节点保留自己应存储的编码块;
步骤7:作为物流区块链节点,参与物流区块链活动;
其中步骤3中的不同的存储方式包括:
(1)当价值密度,连续的物流区块由区域内的节点采用全副本策略存储,全副本策略存储是指区域内所有的物流区块链节点都保存完整的区块头和区块体;
(2)当价值密度/>,连续的物流区块由区域内节点采用协作式存储,区域内的节点不需要存储完整的副本,每个节点存储部分账本,当需要访问自己未存储的账本部分请求其他节点;
(3)当价值密度,连续的物流区块采用归档方式存储,归档存储是指所有区域内的物流区块链节点本地不再存储,而由构成物流区块链的联盟或单一组织统一存储;
为第一阈值,/>为第二阈值。
2.根据权利要求1所述的物流区块链数据存储方法,其特征在于,步骤1中,计算区块的价值密度:
,
其中,为区块/>中物流数据的个数;/>为物流信息产生时间权重系数,/>为区块/>中第j条信息产生的时间;/>为区块/>中第j条信息的访问次数,/>为物流信息权重系数;/>为物流数据提交者的级别;/>为价值密度系数。
3.根据权利要求1所述的物流区块链数据存储方法,其特征在于,步骤5中,使用纠删码生成区块的编码块的方式为:区块头仍由区域内的各节点存储,区域内各节点根据纠删码生成矩阵对区块体以实际若干条物流信息为单位编码,记区块,
,
其中,以及/>为生成的编码块。
4.根据权利要求3所述的物流区块链数据存储方法,其特征在于,步骤6中,编码块分配规则为:
1)计算编码块hash与区域内结点地址的距离,即编码块hash与节点地址异或:
,
2)节点选择与地址距离最近的编码包C:
,
3)将编码包传输给后t个节点,即编码包采用多副本策略:
;
其中,是编码块的编号,/>是编码块的个数,/>是编码块冗余数,/>是指节点/>,是指节点/>的地址,/>是节点/>与编码块/>之间的距离,/>是节点/>最终选取的编码包集合。
5.一种物流区块链数据存储系统,其特征在于,系统包括:
价值密度计算模块,计算所有区块的价值密度;
阈值设定模块,设定价值密度的第一阈值和第二阈值;
连续区块数据存储模块,根据计算出的区块的价值密度,对连续区块的数据采取不同的存储方式;
区域划分模块,将物流区块链分为多个不同的区域,每个区域内的物流区块链节点依据地址按序形成环;
编码块生成模块,对价值密度在第一阈值和第二阈值之间的连续区块,使用纠删码生成区块的编码块;
编码块分配模块,根据编码块分配规则,区域内的物流区块链节点保留自己应存储的编码块;
区块链活动模块,作为物流区块链节点,参与物流区块链活动;
其中,连续区块数据存储模块中不同的存储方式包括:
(1)当价值密度,连续的物流区块由区域内的节点采用全副本策略存储,全副本策略存储是指区域内所有的物流区块链节点都保存完整的区块头和区块体;
(2)当价值密度/>,连续的物流区块由区域内节点采用协作式存储;
(3)当价值密度,连续的物流区块采用归档方式存储,归档存储是指所有区域内的物流区块链节点本地不再存储,而由构成物流区块链的联盟或单一组织统一存储;
为第一阈值,/>为第二阈值。
6.根据权利要求5所述的物流区块链数据存储系统,其特征在于,价值密度计算模块计算区块的价值密度:
,
其中,为区块/>中物流数据的个数;/>为物流信息产生时间权重系数,/>为区块/>中第j条信息产生的时间;/>为区块/>中第j条信息的访问次数,/>为物流信息权重系数;/>为物流数据提交者的级别;/>为价值密度系数。
7.根据权利要求5所述的物流区块链数据存储系统,其特征在于,编码块生成模块使用纠删码生成区块的编码块的方式为:区块头仍由区域内的各节点存储,区域内各节点根据纠删码生成矩阵对区块体以实际若干条物流信息为单位编码,记区块,
,
其中,以及/>为生成的编码块。
8.根据权利要求7所述的物流区块链数据存储系统,其特征在于,编码块分配模块中的编码块分配规则为:
1)计算编码块hash与区域内结点地址的距离,即编码块hash与节点地址异或:
,
2)节点选择与地址距离最近的编码包C:
,
3)将编码包传输给后t个节点,即编码包采用多副本策略:
;
其中,是编码块的编号,/>是编码块的个数,/>是编码块冗余数,/>是指节点/>,是指节点/>的地址,/>是节点/>与编码块/>之间的距离,/>是节点/>最终选取的编码包集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011329195.6A CN112307127B (zh) | 2020-11-24 | 2020-11-24 | 一种物流区块链数据存储方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011329195.6A CN112307127B (zh) | 2020-11-24 | 2020-11-24 | 一种物流区块链数据存储方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112307127A CN112307127A (zh) | 2021-02-02 |
CN112307127B true CN112307127B (zh) | 2024-04-02 |
Family
ID=74335676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011329195.6A Active CN112307127B (zh) | 2020-11-24 | 2020-11-24 | 一种物流区块链数据存储方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307127B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107360156A (zh) * | 2017-07-10 | 2017-11-17 | 广东工业大学 | 一种大数据环境下基于区块链的p2p网络云端存储方法 |
CN111611315A (zh) * | 2020-05-25 | 2020-09-01 | 辽宁大学 | 面向金融大数据的多叉树结构区块链集成优化存储方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017036546A1 (en) * | 2015-09-04 | 2017-03-09 | Nec Europe Ltd. | Method for storing an object on a plurality of storage nodes |
-
2020
- 2020-11-24 CN CN202011329195.6A patent/CN112307127B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107360156A (zh) * | 2017-07-10 | 2017-11-17 | 广东工业大学 | 一种大数据环境下基于区块链的p2p网络云端存储方法 |
CN111611315A (zh) * | 2020-05-25 | 2020-09-01 | 辽宁大学 | 面向金融大数据的多叉树结构区块链集成优化存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112307127A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107528886B (zh) | 区块链全网拆分方法与系统 | |
Khalaf et al. | Optimized dynamic storage of data (ODSD) in IoT based on blockchain for wireless sensor networks | |
CN110602148B (zh) | 一种区块的状态树的生成和链上数据验证的方法及装置 | |
US20210176072A1 (en) | Blockchain post-quantum signature scheme | |
CN109391645B (zh) | 区块链轻量化处理方法、区块链节点及存储介质 | |
CN109359223A (zh) | 基于纠删码实现的区块链账本分布式存储技术 | |
CN110321074B (zh) | 基于区块链和分布式存储系统的安全存储证明的共识方法 | |
CN107885612B (zh) | 数据处理方法和系统及装置 | |
CN108881488B (zh) | 一种基于分域的区块链交易处理方法及网络 | |
CN106897352B (zh) | 在拓展中进行修改的区块链的生成方法及系统 | |
CN109194646B (zh) | 一种基于区块链的安全认证数据存取方法 | |
CN116628083B (zh) | 区块链交易数据扩容存储方法及系统 | |
CN106951340B (zh) | 一种基于局部性优先的rs纠删码数据布局方法及系统 | |
CN109684337B (zh) | 一种基于多级缓存的区块链状态数据存储和读取方法 | |
US20220407728A1 (en) | Systems and methods for processing blockchain transactions | |
CN111582885A (zh) | 一种基于区块链的疫苗管理方法及存储介质 | |
CN111033491A (zh) | 基于纠错编码存储共享的区块链数据 | |
CN112988073A (zh) | 一种可降低区块链存储开销的阶梯式数据存储方法及系统 | |
US20240080181A1 (en) | Blockchain Data Structures and Systems and Methods Therefor for Multipath Transaction Management | |
CN113901069A (zh) | 一种分布式数据库的数据存储方法和装置 | |
CN117527834B (zh) | 一种基于信誉评分机制的改进pbft共识方法 | |
CN112307127B (zh) | 一种物流区块链数据存储方法和系统 | |
CN117149508A (zh) | 一种基于纠删码的区块链存储优化方法及系统 | |
CN111224747A (zh) | 可降低修复带宽和磁盘读取开销的编码方法及其修复方法 | |
CN116233132A (zh) | 基于改进Raft共识机制的能源区块链节点共识方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |