CN112637330B - 区块链大文件副本选址方法、系统、设备及存储介质 - Google Patents
区块链大文件副本选址方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112637330B CN112637330B CN202011525557.9A CN202011525557A CN112637330B CN 112637330 B CN112637330 B CN 112637330B CN 202011525557 A CN202011525557 A CN 202011525557A CN 112637330 B CN112637330 B CN 112637330B
- Authority
- CN
- China
- Prior art keywords
- storage
- block chain
- cost
- large file
- storage node
- 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
- 238000010187 selection method Methods 0.000 title abstract description 4
- 238000012795 verification Methods 0.000 claims description 42
- 238000013500 data storage Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 7
- 238000004880 explosion Methods 0.000 abstract description 5
- 230000002035 prolonged effect Effects 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种区块链大文件副本选址方法,应用于P2P存储网络中,包括:建立区块链应用系统,区块链应用系统中的多个区块链节点共同维护共享账本,所述共享账本中记录用户请求存储的大文件对应的哈希值;建立P2P存储网络,所述P2P存储网络中的若干存储节点为区块链提供链下存储;获取共享账本记账权的区块链节点根据P2P存储网络中存储节点的最终代价确定大文件备份的存储节点集,本发明还提出了一种区块链大文件副本选址系统、设备及存储介质,减少区块链中存储的数据量,提升P2P存储网络对外服务的响应时间,同时避免出现由于存储不均衡导致某个存储节点存储爆炸问题。
Description
技术领域
本发明属于区块链技术领域,尤其是涉及一种区块链大文件副本选址方法、系统、设备及存储介质。
背景技术
区块链作为一种去中心化的分布式存储账本,能够为链上数据提供可追溯的安全存储。但由于传统区块链系统为保障数据安全使用全副本存储的方法,为节点带来很大存储开销。同时,伴随着区块链技术被广泛应用到医疗、政务等领域,区块链出现了越来越多的电子病历、电子证件等大文件存储需求,进一步加剧了存储开销和网络通信开销。
为解决这一问题,现有技术中从采用“链上”+“链下”存储模式的角度出发,有两种主流的解决方案。一种解决方案是只在区块链上记录文件所有人及所在地址,将数据的管理权转移到个人,比较有代表性的项目是Blockstack(基于比特币网络的开发平台),其将数据完全交由用户保管,数据存储和数据访问都由用户控制。但这与区块链去中心化的要求相悖,文件不再公开,文件所有人可以拒绝提供文件甚至销毁文件,这会使得区块链上的数据不再可靠。
另一种方案,主张建立一个独立于区块链网络之外的P2P(Peer-to-Peer)存储网络(一种网络存储,将很多机器用对等的方式组织起来共同为用户提供超大容量的数据存储服务),使用链下的存储节点维护多份大文件原始数据,链上仅存储大文件的摘要和其他必要信息。此方案在极大减少区块链上存储开销的同时保证的大文件原始数据不被随意篡改。
因此,在面对迫切的大文件的存储需求,使用分布式P2P存储网络进行链下存储是一个不错的解决方案。但是大部分的链下解决方案都没有考虑到由于大文件副本存放位置不当带来的存储不均衡和访问延迟问题,因此,亟需一个副本选址策略来优化这些问题。
发明内容
本发明为了解决现有技术中存在的问题,创新提出了一种区块链大文件副本选址方法、系统、设备及存储介质,有效解决分布式P2P存储网络没有考虑到由于大文件副本存放位置不当带来的存储不均衡和访问延迟问题,减少区块链中存储的数据量,提升P2P存储网络对外服务的响应时间,同时避免出现由于存储不均衡导致某个存储节点存储爆炸问题。
本发明第一方面提供了一种区块链大文件副本选址方法,应用于P2P存储网络中,包括:
建立区块链应用系统,区块链应用系统中的多个区块链节点共同维护共享账本,所述共享账本中记录用户请求存储的大文件对应的哈希值;
建立P2P存储网络,所述P2P存储网络中的若干存储节点为区块链提供链下存储;
获取共享账本记账权的区块链节点根据P2P存储网络中存储节点的最终代价确定大文件备份的存储节点集。
可选地,建立区块链应用系统,区块链应用系统中的多个区块链节点共同维护共享账本,所述共享账本中记录用户请求存储的大文件对应的哈希值具体包括:
建立区块链应用系统,部署多个区块链节点;
当用户以交易的形式发起大文件存储请求时,区块链节点验证用户身份后,经过全部区块链节点的共识机制处理,将大文件对应的哈希值记录在区块链上的共享账本中,所述共享账本由全部区块链节点共同维护。
可选地,获取共享账本记账权的区块链节点根据P2P存储网络中存储节点的最终代价表确定大文件备份的存储节点集具体包括:
获取P2P存储网络中每个存储节点的存储代价、服务代价、业务负载系数;
根据每个存储节点的存储代价、服务代价、业务负载系数确定每个存储节点进行数据存储的最终代价;
确定最终代价数值小于预设代价数值的若干存储节点作为大文件备份的存储节点集。
进一步地,根据每个存储节点的存储代价、服务代价、业务负载系数确定每个存储节点进行数据存储的最终代价具体是:
建立最终代价模型,具体是:
Si=Ci+LiFi,其中,Si为存储节点i进行数据存储的最终代价,Ci为存储节点i进行数据存储的存储代价,Li为存储节点i进行数据存储的服务代价,Fi为存储节点i进行数据存储的业务负载系数。
可选地,还包括:
将确定大文件备份的存储节点集的信息封装在备份请求消息中并广播给确定的大文件备份的存储节点集;若获取共享账本记账权的区块链节点在忍耐时间内收集到发送存储反馈信息的存储节点的数量大于第一阈值,则备份任务结束;若获取共享账本记账权的区块链节点在忍耐时间内收集到发送反馈信息的存储节点的数量不大于第一阈值,获取共享账本记账权的区块链节点强制更新最终代价表,并重新确定大文件备份的存储节点集。
可选地,还包括:
在存储节点接收到用户发送的存储请求后,经过第一验证后接收待备份的大文件并为用户提供存储证明;
在存储节点接收到区块链节点发送的备份请求后,经过第二验证且本地有备份任务时,获取待备份的大文件,进行大文件备份,并向区块链节点发送反馈信息。
进一步地,第一验证具体包括:用户公钥验证、权限验证、存储空间验证、存储验证;第二验证包括区块链节点公钥验证、备份任务验证、存储空间验证、待存储的大文件验证。
本发明第二方面提供了一种区块链大文件副本选址系统,应用于P2P存储网络中,包括:
第一建立模块,用于建立区块链应用系统,区块链应用系统中的多个区块链节点共同维护共享账本,所述共享账本中记录用户请求存储的大文件对应的哈希值;
第二建立模块,用于建立P2P存储网络,所述P2P存储网络中的若干存储节点为区块链提供链下存储;
确定模块,用于获取共享账本记账权的区块链节点根据P2P存储网络中存储节点的最终代价确定大文件备份的存储节点集。
本发明第三方面提供了一种区块链大文件副本选址设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现本发明第一方面所述的区块链大文件副本选址方法的步骤。
本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明第一方面所述的区块链大文件副本选址方法的步骤。
本发明采用的技术方案包括以下技术效果:
1、本发明有效解决分布式P2P存储网络没有考虑到由于大文件副本存放位置不当带来的存储不均衡和访问延迟问题,减少区块链中存储的数据量,提升P2P存储网络对外服务的响应时间,同时避免出现由于存储不均衡导致某个存储节点存储爆炸问题。
2、本发明技术方案中区块链上仅存储文件哈希值(hash)以减少存储开销并保证文件不被篡改,链下使用改进的P2P存储网络存储多份大文件副本,保证良好的文件多点提供能力和可追溯性。
3、本发明的副本选址策略综合考虑了存储节点的存储资源、服务能力和业务负载,使得整体的链下存储备份情况更公平、用户访问速度更快。
应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方案中实施例一方法的一流程示意图;
图2为本发明方案中实施例一方法中步骤S1的流程示意图;
图3为本发明方案中实施例一方法中步骤S3的流程示意图;
图4为本发明方案中实施例一方法中的另一流程示意图;
图5为本发明方案中实施例一方法中的另一流程示意图;
图6为本发明方案中实施例二中系统的结构示意图;
图7为本发明方案中实施例三中设备的结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例一
如图1所示,本发明提供了一种区块链大文件副本选址方法,应用于P2P存储网络中,包括:
S1,建立区块链应用系统,区块链应用系统中的多个区块链节点共同维护共享账本,所述共享账本中记录用户请求存储的大文件对应的哈希值;
S2,建立P2P存储网络,所述P2P存储网络中的若干存储节点为区块链提供链下存储;
S3,获取共享账本记账权的区块链节点根据P2P存储网络中存储节点的最终代价确定大文件备份的存储节点集。
其中,如图2所示,在步骤S1中,具体包括:
S11,建立区块链应用系统,部署多个区块链节点;
S12,当用户以交易的形式发起大文件存储请求时,区块链节点验证用户身份后响应用户的大文件存储请求,经过全部区块链节点的共识机制处理,将大文件对应的哈希值记录在区块链上的共享账本中,所述共享账本由全部区块链节点共同维护。
在步骤S2中,P2P存储网络中部署若干存储节点,若干存储节点为区块链中的大文件提供链下存储。
如图3所示,步骤S3具体包括:
S31,获取P2P存储网络中每个存储节点的存储代价、服务代价、业务负载系数;
S32,根据每个存储节点的存储代价、服务代价、业务负载系数确定每个存储节点进行数据存储的最终代价;
S33,确定最终代价数值小于预设代价数值的若干存储节点作为大文件备份的存储节点集。
在步骤S31中,P2P存储网络中每个存储节点的存储代价,其中,存储代价表示将数据存储在该位置(存储节点)所需要付出的成本代价,存储代价可以由区块链节点预先存储在本地的存储代价表中获取,存储代价表为每个存储节点及其对应的存储代价之间的建立的键值映射表,其中存储代价表中每个元素的值Ci表示存储节点i的存储代价,存储节点i的存储代价的其中一种获取方式可以利用存储代价公式计算得到。其中,c(i)是存储节点i已使用的存储容量,ctol(i)是存储节点i的总存储容量;存储节点i的存储容量等存储情况信息可以由区块链节点向存储节点i发送请求信息,存储节点i响应区块链节点的请求信息,并将存储情况信息以向量组的形式返回给区块链节点。需要说明的是,本发明实施例仅给出了一种存储节点i的存储代价计算方式,也可以通过其他方式获取(其他公式、参数或者途径)获取,本发明在此不做限制。
P2P存储网络中每个存储节点的服务代价,其中,服务代价指的是依据当前存储节点对外提供存储服务的能力将数据存储该位置(存储节点)的可能性,服务代价可以由区块链节点预先存储在本地的服务代价表中获取,服务代价表为每个存储节点及其对应的服务代价之间的建立的键值映射表,其中服务代价表中每个元素的值Fi表示存储节点i的服务代价,存储节点i的服务储代价的其中一种获取方式可以利用服务代价公式计算得到。其中,V为全部存储节点i的集合。wi为存储节点i使用“测速心跳”消息得到的当前存储节点i与所有相邻存储节点间的传输带宽之和;存储节点i的传输带宽等服务能力情况信息可以由区块链节点向存储节点i发送请求信息,存储节点i响应区块链节点的请求信息,并将服务能力情况信息以向量组的形式返回给区块链节点。需要说明的是,本发明实施例仅给出了一种存储节点i的服务代价计算方式,也可以通过其他方式获取(其他公式、参数或者途径)获取,本发明在此不做限制。
P2P存储网络中每个存储节点的业务负载系数,其中,业务负载系数是影响服务代价的权重系数,因为有更多存储业务的存储节点应当获得更多的数据分配以及更低的数据延迟。业务负载系数可以由区块链节点预先存储在本地的业务负载系数表中获取,业务负载系数表为每个存储节点及其对应的业务负载系数之间的建立的键值映射表,其中业务负载系数表中每个元素的值Li表示存储节点i的业务负载系数,存储节点i的业务负载系数的其中一种获取方式可以利用业务负载系数公式Li=PiecewiseFunc(li)来构建。li是存储节点i中每秒的业务访问数。PiecewiseFunc(li)是一个可以根据实际的网络流量负载进行选择的分段函数;存储节点i的网络流量负载等业务负载情况信息可以由区块链节点向存储节点i发送请求信息,存储节点i响应区块链节点的请求信息,并将业务负载情况信息以向量组的形式返回给区块链节点。需要说明的是,本发明实施例仅给出了一种存储节点i的业务负载系数计算方式,也可以通过其他方式获取(其他公式、参数或者途径)获取,本发明在此不做限制。
进一步地,步骤S32中,根据每个存储节点的存储代价、服务代价、业务负载系数确定每个存储节点进行数据存储的最终代价具体是:
建立最终代价模型,具体是:
Si=Ci+LiFi,其中,Si为存储节点i进行数据存储的最终代价,Ci为存储节点i进行数据存储的存储代价,Li为存储节点i进行数据存储的服务代价,Fi为存储节点i进行数据存储的业务负载系数。本发明中最终代价模型也可以是其他模型公式,可以根据实际情况灵活调整最终代价与存储代价、服务代价、业务负载系数之间的关系表达式,本发明在此不做限制。
在步骤S33中,确定最终代价数值小于预设代价数值的若干存储节点作为大文件备份的存储节点集,其中,预设代价数值可以为最终代价数值最小的若干个存储节点(存储节点集),如果最终代价数值最小值对应的存储节点集中节点数量或存储空间达不到要求,则按最终代价数值由小到大顺序依次选择,直至存储节点集中节点数量或存储空间达到要求为止。
进一步地,如图4所示,步骤S3之后还包括:
S4,将确定大文件备份的存储节点集的信息封装在备份请求消息中并广播给确定的大文件备份的存储节点集;
S5,判断获取共享账本记账权的区块链节点在忍耐时间内收集到发送存储反馈信息的存储节点的数量是否大于第一阈值,如果判断结果为是,则执行步骤S6,如果判断结果为否,则执行步骤S7;
S6,则备份任务结束;
S7,获取共享账本记账权的区块链节点强制更新最终代价表,并重新确定大文件备份的存储节点集,即返回步骤S3。
在步骤S4-S7中,备份请求消息格式可以为<BACKUP_REQUEST,hash(W),slist,t,pk,sig>;存储反馈信息为当前存储节点存储成功的证明,即存储证明,其具体格式可以是<BACKUP_RESPONSE,proof(W),t,pk,sig>;第一阈值可以是存储节点集中存储节点数量的一半,也可以是其他数值,可以根据实际情况进行灵活调整,本发明在此不做限制。
进一步地,如图5所示,步骤S3之后还包括:
S8,在存储节点接收到用户发送的存储请求后,经过第一验证后接收待备份的大文件并为用户提供存储证明;
S9,在存储节点接收到区块链节点发送的备份请求后,经过第二验证且本地有备份任务时,获取待备份的大文件,进行大文件备份,并向区块链节点发送反馈信息。
其中,第一验证具体包括:用户公钥验证、权限验证、存储空间验证、存储验证。用户公钥验证,验证用户公钥是否正确匹配(通过私钥),也可以通过签名进行验证;权限验证为验证用户是否有相应的权限;存储空间验证为验证存储节点本地是否有足够的存储空间存储大文件;存储验证为验证当前是否进行存储大文件。第一验证通过后生成并返回用户当前大文件W的存储证明proof(W),返回信息格式可以为<FILE_PROOF,proof(W),t,pk,sig>。
其中,第二验证包括区块链节点公钥验证、备份任务验证、存储空间验证、待存储的大文件验证。区块链节点公钥验证,验证区块链节点公钥是否正确匹配(通过私钥),也可以通过签名进行验证;备份任务验证为查看当前节点是否存在备份任务;存储空间验证为是否有足够的存储空间;待存储的大文件验证为待备份的大文件是否存在。
进一步地,当第二验证通过后,待备份的大文件可以通过内容寻址的方法获取。第二验证通过后反馈信息格式可以为<BACKUP_RESPONSE,proof(W),t,pk,sig>。
需要说明的,以上描述的所有信息格式中,t表示发信时间,pk和sig分别表示当前信息发送方的公钥及签名。
本发明有效解决分布式P2P存储网络没有考虑到由于大文件副本存放位置不当带来的存储不均衡和访问延迟问题,减少区块链中存储的数据量,提升P2P存储网络对外服务的响应时间,同时避免出现由于存储不均衡导致某个存储节点存储爆炸问题。
本发明技术方案中区块链上仅存储文件哈希值(hash)以减少存储开销并保证文件不被篡改,链下使用改进的P2P存储网络存储多份大文件副本,保证良好的文件多点提供能力和可追溯性。
本发明的副本选址策略综合考虑了存储节点的存储资源、服务能力和业务负载,使得整体的链下存储备份情况更公平、用户访问速度更快。
实施例二
如图6所示,本发明技术方案还提供了一种区块链大文件副本选址系统,应用于P2P存储网络中,包括:
第一建立模块11,用于建立区块链应用系统,区块链应用系统中的多个区块链节点共同维护共享账本,所述共享账本中记录用户请求存储的大文件对应的哈希值;
第二建立模块12,用于建立P2P存储网络,所述P2P存储网络中的若干存储节点为区块链提供链下存储;
确定模块13,用于获取共享账本记账权的区块链节点根据P2P存储网络中存储节点的最终代价确定大文件备份的存储节点集。
本发明有效解决分布式P2P存储网络没有考虑到由于大文件副本存放位置不当带来的存储不均衡和访问延迟问题,减少区块链中存储的数据量,提升P2P存储网络对外服务的响应时间,同时避免出现由于存储不均衡导致某个存储节点存储爆炸问题。
本发明技术方案中区块链上仅存储文件哈希值(hash)以减少存储开销并保证文件不被篡改,链下使用改进的P2P存储网络存储多份大文件副本,保证良好的文件多点提供能力和可追溯性。
本发明的副本选址策略综合考虑了存储节点的存储资源、服务能力和业务负载,使得整体的链下存储备份情况更公平、用户访问速度更快。
实施例三
如图7所示,本发明技术方案还提供了一种区块链大文件副本选址设备,包括:存储器21,用于存储计算机程序;处理器22,用于执行所述计算机程序以实现如实施例一所述的区块链大文件副本选址方法的步骤。
实施例四
本发明技术方案还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如实施例一所述的区块链大文件副本选址方法的步骤。
本发明计算机可读存储介质具体实施例与上述基于区块链大文件副本选址方法的各实施例基本相同,在此不再详细赘述。
结合本文中所公开的实施例描述的方法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (8)
1.一种区块链大文件副本选址方法,应用于P2P存储网络中,其特征是,包括:
建立区块链应用系统,区块链应用系统中的多个区块链节点共同维护共享账本,所述共享账本中记录用户请求存储的大文件对应的哈希值;
建立P2P存储网络,所述P2P存储网络中的若干存储节点为区块链提供链下存储;
获取共享账本记账权的区块链节点根据P2P存储网络中存储节点的最终代价确定大文件备份的存储节点集;其中,获取共享账本记账权的区块链节点根据P2P存储网络中存储节点的最终代价表确定大文件备份的存储节点集具体包括:
获取P2P存储网络中每个存储节点的存储代价、服务代价、业务负载系数;
根据每个存储节点的存储代价、服务代价、业务负载系数确定每个存储节点进行数据存储的最终代价;其中,根据每个存储节点的存储代价、服务代价、业务负载系数确定每个存储节点进行数据存储的最终代价具体是:
建立最终代价模型,具体是:
Si=Ci+LiFi,其中,Si为存储节点i进行数据存储的最终代价,Ci为存储节点i进行数据存储的存储代价,Fi为存储节点i进行数据存储的服务代价,Li为存储节点i进行数据存储的业务负载系数;其中,存储节点i进行数据存储的服务代价V为全部存储节点i的集合,wi为存储节点i使用“测速心跳”消息得到的当前存储节点i与所有相邻存储节点间的传输带宽之和;
确定最终代价数值小于预设代价数值的若干存储节点作为大文件备份的存储节点集。
2.根据权利要求1所述的区块链大文件副本选址方法,其特征是,建立区块链应用系统,区块链应用系统中的多个区块链节点共同维护共享账本,所述共享账本中记录用户请求存储的大文件对应的哈希值具体包括:
建立区块链应用系统,部署多个区块链节点;
当用户以交易的形式发起大文件存储请求时,区块链节点验证用户身份后,经过全部区块链节点的共识机制处理,将大文件对应的哈希值记录在区块链上的共享账本中,所述共享账本由全部区块链节点共同维护。
3.根据权利要求1所述的区块链大文件副本选址方法,其特征是,还包括:
将确定大文件备份的存储节点集的信息封装在备份请求消息中并广播给确定的大文件备份的存储节点集;若获取共享账本记账权的区块链节点在忍耐时间内收集到发送存储反馈信息的存储节点的数量大于第一阈值,则备份任务结束;若获取共享账本记账权的区块链节点在忍耐时间内收集到发送反馈信息的存储节点的数量不大于第一阈值,获取共享账本记账权的区块链节点强制更新最终代价表,并重新确定大文件备份的存储节点集。
4.根据权利要求1所述的区块链大文件副本选址方法,其特征是,还包括:
在存储节点接收到用户发送的存储请求后,经过第一验证后接收待备份的大文件并为用户提供存储证明;
在存储节点接收到区块链节点发送的备份请求后,经过第二验证且本地有备份任务时,获取待备份的大文件,进行大文件备份,并向区块链节点发送反馈信息。
5.根据权利要求4所述的区块链大文件副本选址方法,其特征是,第一验证具体包括:用户公钥验证、权限验证、存储空间验证、存储验证;第二验证包括区块链节点公钥验证、备份任务验证、存储空间验证、待存储的大文件验证。
6.一种区块链大文件副本选址系统,应用于P2P存储网络中,其特征是,包括:
第一建立模块,用于建立区块链应用系统,区块链应用系统中的多个区块链节点共同维护共享账本,所述共享账本中记录用户请求存储的大文件对应的哈希值;
第二建立模块,用于建立P2P存储网络,所述P2P存储网络中的若干存储节点为区块链提供链下存储;
确定模块,用于获取共享账本记账权的区块链节点根据P2P存储网络中存储节点的最终代价确定大文件备份的存储节点集;其中,确定模块用于执行的步骤具体包括:
获取P2P存储网络中每个存储节点的存储代价、服务代价、业务负载系数;
根据每个存储节点的存储代价、服务代价、业务负载系数确定每个存储节点进行数据存储的最终代价;其中,根据每个存储节点的存储代价、服务代价、业务负载系数确定每个存储节点进行数据存储的最终代价具体是:
建立最终代价模型,具体是:
Si=Ci+LiFi,其中,Si为存储节点i进行数据存储的最终代价,Ci为存储节点i进行数据存储的存储代价,Fi为存储节点i进行数据存储的服务代价,Li为存储节点i进行数据存储的业务负载系数;其中,存储节点i进行数据存储的服务代价V为全部存储节点i的集合,wi为存储节点i使用“测速心跳”消息得到的当前存储节点i与所有相邻存储节点间的传输带宽之和;
确定最终代价数值小于预设代价数值的若干存储节点作为大文件备份的存储节点集。
7.一种区块链大文件副本选址设备,其特征是,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现如权利要求1至5任一项所述的区块链大文件副本选址方法的步骤。
8.一种计算机可读存储介质,其特征是,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的区块链大文件副本选址方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011525557.9A CN112637330B (zh) | 2020-12-22 | 2020-12-22 | 区块链大文件副本选址方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011525557.9A CN112637330B (zh) | 2020-12-22 | 2020-12-22 | 区块链大文件副本选址方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112637330A CN112637330A (zh) | 2021-04-09 |
CN112637330B true CN112637330B (zh) | 2022-05-10 |
Family
ID=75320665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011525557.9A Active CN112637330B (zh) | 2020-12-22 | 2020-12-22 | 区块链大文件副本选址方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112637330B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379464B (zh) * | 2021-06-29 | 2023-12-05 | 北京百度网讯科技有限公司 | 基于区块链的网点选址方法、装置、设备和存储介质 |
CN113328920B (zh) * | 2021-08-04 | 2021-10-29 | 成都飞机工业(集团)有限责任公司 | 一种对设备数据的采集与存储方法 |
CN114301804B (zh) * | 2021-12-30 | 2022-07-26 | 桂林瑞威赛德科技有限公司 | 一种基于区块链的实验室数据安全预警方法及系统 |
CN114356236A (zh) * | 2021-12-31 | 2022-04-15 | 杭州趣链科技有限公司 | 区块链数据存储和读取方法、区块链数据存取系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111225045A (zh) * | 2019-12-31 | 2020-06-02 | 苏州浪潮智能科技有限公司 | 一种hive高可用预警方法,设备及计算机可读存储介质 |
WO2020109907A1 (en) * | 2018-11-27 | 2020-06-04 | nChain Holdings Limited | Systems and methods for efficient and secure processing, accessing and transmission of data via a blockchain network |
CN111314494A (zh) * | 2020-05-09 | 2020-06-19 | 湖南天河国云科技有限公司 | 一种基于区块链的分布式存储贡献判定方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763363B (zh) * | 2014-01-14 | 2017-01-11 | 南京邮电大学 | 一种云存储系统及基于该系统的文件副本部署方法 |
CN107169764A (zh) * | 2017-05-10 | 2017-09-15 | 山东大学 | 基于区块链的公平数据交易方法 |
US10761877B2 (en) * | 2017-07-21 | 2020-09-01 | Intel Corporation | Apparatuses, methods, and systems for blockchain transaction acceleration |
CN107945880B (zh) * | 2017-12-12 | 2020-05-15 | 海南大学 | 一种面向边缘计算的类型化医疗资源处理系统设计方法 |
CN109325855B (zh) * | 2018-08-16 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 区块链网络、部署方法及存储介质 |
CN110061838B (zh) * | 2019-04-28 | 2022-07-19 | 广州大学 | 一种dns资源记录的去中心化存储系统及其实现方法 |
CN110445827B (zh) * | 2019-06-06 | 2021-05-18 | 中国科学院上海微系统与信息技术研究所 | 基于分布式账本技术的传感网的安全管理方法及安全系统 |
CN111753321A (zh) * | 2020-06-29 | 2020-10-09 | 山东大学 | 一种基于区块链的数据安全共享方法及系统 |
-
2020
- 2020-12-22 CN CN202011525557.9A patent/CN112637330B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020109907A1 (en) * | 2018-11-27 | 2020-06-04 | nChain Holdings Limited | Systems and methods for efficient and secure processing, accessing and transmission of data via a blockchain network |
CN111225045A (zh) * | 2019-12-31 | 2020-06-02 | 苏州浪潮智能科技有限公司 | 一种hive高可用预警方法,设备及计算机可读存储介质 |
CN111314494A (zh) * | 2020-05-09 | 2020-06-19 | 湖南天河国云科技有限公司 | 一种基于区块链的分布式存储贡献判定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112637330A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112637330B (zh) | 区块链大文件副本选址方法、系统、设备及存储介质 | |
CN112862612B (zh) | 一种跨链发送资源的方法和装置 | |
CN112003703B (zh) | 一种跨链发送可认证消息的方法和装置 | |
CN107193490B (zh) | 一种基于区块链的分布式数据存储系统及方法 | |
CN110399338B (zh) | 基于区块链的分布式文件索引系统及方法、云存储服务器 | |
EP3813321A1 (en) | Blockchain-based node management method and device | |
CN109246211B (zh) | 一种区块链中的资源上传和资源请求方法 | |
Mišić et al. | Adapting PBFT for use with blockchain-enabled IoT systems | |
US7552176B2 (en) | Reducing unwanted and unsolicited electronic messages by exchanging electronic message transmission policies and solving and verifying solutions to computational puzzles | |
CN109819068B (zh) | 用户终端及其区块链域名解析方法、计算机设备、计算机可读存储介质 | |
US20050044146A1 (en) | Protection of the distribution of digital documents in a peer to peer network | |
CN109951482B (zh) | 用户终端及其区块链域名解析方法 | |
CN112235420A (zh) | 基于区块链的数据同步方法、系统及相关设备 | |
CN111711711A (zh) | 基于区块链的顶级域名管理和解析方法及系统 | |
CN110599142A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN111966967A (zh) | 一种基于区块链技术和cdn的版权存证方法及系统 | |
JP4801169B2 (ja) | 分散サービスサイトの登録方法および登録システム | |
CN112699136B (zh) | 一种跨链存证方法及相关装置 | |
CN110839077A (zh) | 文件请求处理方法、请求反馈信息处理方法及相关组件 | |
CN109995853A (zh) | 一种基于私有云的数据传输中心及方法 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN110868466B (zh) | 一种用于分布式存储网络的存储方法、系统及设备 | |
CN110071966B (zh) | 基于云平台的区块链组网及数据处理方法 | |
CN109818912B (zh) | 防范泛洪攻击的方法、装置、负载均衡设备和存储介质 | |
CN112804357B (zh) | 一种基于中继设备网络跨链读取数据的方法和装置 |
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 |