CN113608670B - 基于公平性和访问热度的区块链数据存储方法 - Google Patents
基于公平性和访问热度的区块链数据存储方法 Download PDFInfo
- Publication number
- CN113608670B CN113608670B CN202110572523.3A CN202110572523A CN113608670B CN 113608670 B CN113608670 B CN 113608670B CN 202110572523 A CN202110572523 A CN 202110572523A CN 113608670 B CN113608670 B CN 113608670B
- Authority
- CN
- China
- Prior art keywords
- data
- time
- storage
- transaction
- fairness
- 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 73
- 238000013500 data storage Methods 0.000 title claims abstract description 39
- 239000011159 matrix material Substances 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000011084 recovery Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 22
- 238000012545 processing Methods 0.000 abstract description 5
- 238000012856 packing Methods 0.000 description 18
- 238000004806 packaging method and process Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 235000019633 pungent taste Nutrition 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于公平性和访问热度的区块链数据存储方法,包括:1)获取交易集合;2)对交易集合按照属性GASPrice的大小降序排序;将数据的元数据信息存储在区块链中;3)以文件的访问热度hot(d)阈值T区别冷数据与热数据;4)对于冷数据,将数据上传到分布式文件系统,并返回Hash值,对数据进行纠删码编码;5)对于热数据,查找存储地址信息,返回存储地址信息;6)用户访问数据时,访问区块链获取数据对应的Hash值,根据存储信息获取数据返回数据结果。本发明结合区块链内的特点和IPFS存储的特点提出了基于公平性和访问热度的数据存储方法,能优化以太坊区块链交易处理流程,提高进行存储交易过程中系统的公平性,同时保证IPFS存储数据的可靠性和可用性。
Description
技术领域
本发明涉及区块链与数据存储技术领域,具体地指一种基于公平性和访问热度的区块链数据存储方法。
技术背景
近年来,互联网、物联网等技术的快速发展,用户和设备产生的数据也越来越多。例如全球物联网中的设备数量飞速增长,这些设备的大量使用会产生大量的数据信息。数据量级也越来越大,逐渐发展到PB或EB甚至更高,数据类型也变得越来越复杂等等。与此同时,随着购物、医疗、住房等日常生活与互联网结合的越来越密切,在网络中用户个人数据和隐私数据越来越多。因此对于庞大的个人数据和隐私数据,安全可靠的存储和管理就显得尤为重要。例如医院病人的医疗数据对病人来说十分重要,并且个人的医疗数据所有权应该属于个人所有,因此医疗数据应该可靠安全的存储保证不被泄露,并且数据访问者应该经过病人同意才能访问数据。针对庞大的数据规模和可靠安全的存储要求,单机的存储系统或是网络存储系统都很难满足要求。而传统的集中式云服务器存储,虽然可以收集和控制庞大的数据资源,但是需要很高的存储容量和成本。同时集中式的数据存储方式也面临着敏感数据泄露的问题。例如,服务器可能在不通知数据所有者的情况下与其他实体交换敏感数据。面对海量的数据和物联网设备数量的飞速增长,相对于集中式存储而言,分布式存储更加能够满足存储需求。然而在传统的分布式存储中,仍然需要可信的第三方完成对数据的完整性校验,这种方式存在第三方审计机构被恶意冒充,给数据安全造成威胁。除此之外,随着移动互联网的发展,形成许多强大的中心化平台(如谷歌、脸书等),这些平台掌握着大量的用户数据,而用户却很难有效的管理自己的个人数据。因此中心化的数据存储和管理方式,面临着重要的安全问题。
区块链的数据存储是当前的重要研究,研究区块链的数据存储方法具有重要的意义。然而使用区块链进行数据存储仍然存在一些弊端,其中,最重要的就是存储空间有限,无法大量存储数据。由于区块链是一个去中心化的分布式账本,在区块链网络上的所有交易事务都要被记录在账本上,因此区块链数据会不断的增加。同时为了保证数据不被篡改,区块链的每个节点都会同步整个网络数据,导致单个节点的数据越来越多,等待确认的交易队列也会变得越来越长,使得整个区块链网络变得臃肿。目前对于存储数据量少和节点同步数据过多的解决方法有两种思路。一种是扩展块并增加每个块的容量,但是随着单个块中数据量的增加,节点之间同步数据的过程变得更加缓慢和臃肿。另一种方法是减小块的大小,虽然可以提高节点同步数据的速度,但这会使容量变小。因此这两种方法都很难满足存储需求和解决问题。
发明内容
本发明的目的在于克服现有技术的不足,提出一种基于公平性和访问热度的区块链数据存储方法,提高进行存储交易过程中系统的公平性,同时保证分布式文件系统IPFS存储数据的可靠性和可用性。
为实现上述目的,本发明所设计的基于公平性和访问热度的区块链数据存储方法,其特殊之处在于,所述方法包括如下步骤:
1)获取与以太坊区块链进行交易的集合{Ti}以及交易集合中每条交易的发送时间集合{s}以及当前时间集合{tc};
2)对所述交易集合{Ti}按照属性GASPrice的大小降序排序获取交易集合{T'};按照该交易集合的顺序将数据的元数据信息存储在区块链中;
3)对存储的数据进行热度计算,以文件的访问热度hot(d)阈值T 区别冷数据与热数据;
4)对于所述冷数据,将数据上传到分布式文件系统IPFS,并返回Hash值,对数据进行纠删码编码;将数据块分别存储到可用的存储节点,并将备份信息、矩阵和文件Hash值等信息写入区块链,返回存储地址信息;
5)对于所述热数据,判断是否存在备份信息是则删除备份信息,查找存储地址信息,否则直接查找存储地址信息,返回存储地址信息;
6)用户访问数据时,访问区块链获取数据对应的Hash值,根据存储信息获取数据返回数据结果。
优选地,所述步骤2)中对于属性GASPrice相同的交易按照等待时间逆序排序。
优选地,所述步骤3)中所述文件的访问热度hot(d)的计算方法为:
其中Ntime_period为上次访问时间到现在的时间间隔所经过了多少个时间段,number为文件访问频率。
优选地,所述步骤4)中,对于所述冷数据,使用RS纠删码对区块链和分布式文件系统IPFS中的冷数据分块进行分片存储,通过计算n块原始的数据元素得到m块冗余元素,对于n+m块的元素,当原始数据和冗余数据中任意的m块元素出错时,通过响应的重构算法恢复原始的n块数据。
优选地,所述步骤6)中用户访问数据的具体步骤包括:
6.1)根据文件名称信息从区块链中获取Hash值;
6.2)根据Hash值从分布式文件系统IPFS中获取数据;
6.3)如果数据完整获取则进入步骤6.4),否则进入步骤6.5);
6.4)直接返回数据文件;
6.5)从区块链中获取备份列表信息以及恢复矩阵,从备份列表中找到该文件对应的备份信息,获取可用的数据分块,然后进行纠删码解码恢复原数据。
优选地,所述等待时间wi的计算方法为:
wi=tc-si
其中,tc为当前时间,si是交易池中每条交易的发送时间。
优选地,所述步骤3)间隔时间段Ntime_period的计算方法为:
Ntime_period=time_period/time
其中,时间段time的大小根据系统要求定义,time_period为创建时间到当前时间间隔。
优选地,对于所述文件访问频率number的计算方法为:
其中,NTime表示此时与数据创建时间间隔为多少时间段,表示数据块d在时间段t的访问频率,/>表示访问频率/>的权重。
优选地,此时与数据创建时间间隔为多少时间段NTime的计算方法为:
其中,time_now为现在的时间。
优选地,对于n'+m'块的元素,使用一个(n'+m')*n'二维矩阵,所述二维矩阵上部n'行是一个单位矩阵,下部矩阵选择范德蒙德矩阵或柯西矩阵;根据下部矩阵类型将RS纠删码分成范德蒙RS编码和柯西 RS编码两类。
本发明提出的基于公平性和访问热度的区块链数据存储方法的有益效果为:
1、本发明结合区块链的特点和IPFS存储的特点提出来基于公平性和访问热度的区块链数据存储方法,能提高进行存储交易过程中系统的公平性以及在IPFS存储过程中保证冷数据的可靠性和可用性。
2、本发明提出的存储方法适用于区块链环境下的数据存储,它将区块链在存储过程中产生的交易操作在打包交易过程中对满足nonce值的等待打包交易集合进行GASPrice降序排序,为了实现系统的最大公平性,对GASPrice相同的交易按照等待时间逆序排序,对等待时间长的交易先进行打包。
3、本发明提出的打包算法在原有以太坊打包算法的基础上,考虑交易等待时间,对交易打包顺序进行合理排序,从而提高交易打包流程的公平性。
4、本发明通过计算数据访问热度,结合IPFS存储机制,对冷数据进行纠删码分块存储,在一定程度上提高了数据存储的可靠性。
附图说明
图1为本发明中基于访问热度的数据存储方法的算法流程图。
图2基于交易公平性模型的区块链打包算法流程图。
图3为本发明RS纠删码编码过程。
具体实施方式
以下结合附图和具体实施例对本发明作进一步的详细描述。
如图1所示,本发明提出的基于公平性和访问热度的区块链数据存储方法,是以区块链链上交易为基础,结合链下IPFS存储机制特性而提出来的。算法包括如下步骤:
1)获取交易池中等待打包的所有交易,形成交易集合{Ti},gasi表示Ti交易的GASPrice,每当区块链进行每一笔交易,系统都会生成一个交易所需要的价格gasi;获取交易池中每条交易的发送时间集合{si} 以及当前时间tc;
2)对交易集合{Ti}中待打包的交易按照GASPrice进行降序排序;如果存在GASPrice相同的交易事务组合,则按照等待时延降序排序;获取更新之后的打包交易集合T',按照该交易集合的顺序将数据的元数据信息存储在区块链中。
对GASPrice相同的交易按照等待时间逆序排序,对等待时间长的交易先进行打包,如图2所示,其方法的正确性证明为:
2.1)为了定义交易事务的公平性,这里采用Jain公平性指数。Jain 平滑指数用来评估将资源分配给一组用户或者设备的公平性。假设有 n个用户共享网络资源服务,xi为第i个用户的吞吐量,而Jain公平性指数定义为:
2.2)根据Jain公平性指数对交易公平性定义如下:
假设有n个已经过系统处理的交易x1,x2,…xn,响应时间为t1,t2,…tn。则系统的公平性定义为:
其中ti为xi的响应时间,假设交易xi在时间si提交到区块链网络并在时间ei确认,则xi的响应时间ti定义为:
ti=ei-si
2.3)假设一个已提交的交易xi提交的时间为si,那么在时间tc时,交易xi的等待时间wi为:
wi=tc-si
给定个n'交易x1,x2,x3,...,xn'在交易缓存池中的等待时间为w1,w2,w3,...,wn'和每个块打包m'个事务,采用打包等待时间最长的前m'个事务的打包策略能够实现最大的公平性,后续为该方法的证明过程。
2.4)假设给定交易缓存池中的交易事务按照等待时间降序排序,得到交易事务集合为t1,t2,t3,...,tn',其中p个交易事务的等待时间分别为 w1,w2,...,wp。定义strage1为上述打包策略,即将等待时间最长的前q个事务的事务打包。
假设存在另一种打包策略strage2,该策略能够实现更大的公平性。该策略的打包交易顺序为k1,k2,...,kp,其中a为不同与上一种打包方式的排列顺序。根据上述假设可以得到:
同时按照两种打包策略,每次选择q个事务打包成块,因此该交易事务集合可以得到个块。根据对两种策略的打包方式可以得到公式如下。
然而虽然打包方式不同,但是此刻的打包对象都是该交易集合,因此可以得到公式(2-1)。
假设将一批交易事务打包成块确认的时间为tb,使用strage1打包策略的每笔交易响应时间为使用strage2 打包策略的每笔交易响应时间为/>因此两种策略的公平性结果如公式(3-2)和公式(3-3)所示。
由于假设strage2能够实现更大的公平性,因此得到:
Fstrage1<Fstrage2 (2-4)
由于两种策略是作用在同一交易事务集合上,因此可以得到:
根据公式(2-2)、公式(2-3)、公式(2-4)和公式(2-6)可以得到:
将公式(2-7)展开可以得到公式(2-8)
由公式(3-5)和公式(3-8)可得:
将公式(3-1)和公式(3-2)相加可得:
将公式(3-9)和公式(3-10)相加可以得到:
由公式(3-11)化简可得公式(3-12)
显然公式(2-12)与公式(2-5)相矛盾,因此得出结论,不存在比strage1更大的公平性实现策略,即将交易事务按照等待时间排序,选择等待时间最长的事务进行打包,能够实现系统公平性最大。
3)在进行数据存储时,利用文件的访问热度hot(d)来区别冷数据,并对冷数据进行备份存储,其中一个数据块d的热度hot(d)计算方式如下:
其中Ntime_period为上次访问时间到现在的时间间隔所经过了多少个时间段,而时间段time的大小可以根据系统要求定义。
3.1)当文件创建时间较短,从创建时间到当前时间间隔没有一个时间段的话,time_period计算方式如下。
time_period=time_now-time_create
如果文件创建时间比较久远,那time_period就等于当前时间减去上次访问时间:
time_period=time_now-time_last
3.2)number为文件访问频率,该值除了考虑了该时间周期内的来自不同节点的访问量还有历史时间段内的访问量。因此number的计算方式如下。
上式中表示数据块d在时间段t的访问频率,/>表示访问频率/>的权重。
3.3)NTime表示此时与数据创建时间间隔为多少时间段,计算方式如下。
4)根据上述计算方法得到每个文件的访问热度,同时系统为数据冷热分类设置一个阈值T。
4)对于冷数据,将数据上传到分布式文件系统IPFS,并返回Hash 值,对数据进行纠删码编码;将数据块分别存储到可用的存储节点,并将备份信息、矩阵和文件Hash值等信息写入区块链,返回存储地址信息;
如图3所示,依据计算结果对冷数据进行纠删码数据分片备份存储,其存储具体过程如下:
4.1)获取存储文件F、IPFS存储节点N的信息,查询文件的访问热度信息。判断文件热度是否高于阈值,如果高于阈值则进入步骤 7.2,否则进入步骤7.3。
4.2)如果文件的访问热度高于阈值,则判断文件是否存在备份信息,如果存在备份,则删除备份信息,然后查询存储地址信息,将其作为存储地址信息。
4.3)如果文件的访问热度低于阈值,则该文件是冷数据,将该数据上传到IPFS,并返回Hash值,对数据进行纠删码编码;然后将数据块分别存储到可用的存储节点,最后将备份信息、矩阵和文件Hash 值等信息写入区块链,返回存储地址信息。
4.4)当用户需要访问数据时,首先需要通过与区块链交互,获取目标文件名所对应的Hash值。使用Hash值获取数据时,如果根据存储信息能够成功获取数据则返回数据结果即可,如果由于节点下线造成数据获取失败,那么接着从区块链中获取备份列表信息以及恢复矩阵,从备份列表中找到该文件对应的备份信息,获取可用的数据分块,然后进行纠删码解码恢复原数据。
5)对于热数据,判断是否存在备份信息是则删除备份信息,查找存储地址信息,否则直接查找存储地址信息,返回存储地址信息;
6)用户访问数据时,访问区块链获取数据对应的Hash值,根据存储信息获取数据返回数据结果。具体步骤包括:
6.1)根据文件名称信息从区块链中获取Hash值;
6.2)根据Hash值从IPFS中获取数据;
6.3)如果数据可以完整获取则进入步骤6.4),否则进入步骤6.5);
6.4)直接返回数据文件;
6.5)如果数据不能直接获取,那么从区块链中获取备份列表信息以及恢复矩阵,从备份列表中找到该文件对应的备份信息,获取可用的数据分块,然后进行纠删码解码恢复原数据。
这一数据存储方法充分考虑了区块链交易处理流程中存在的问题,为此优化以太坊区块链交易处理流程,提高进行存储交易过程中系统的公平性;另外,这一发明也考虑了IPFS链下存储过程中数据的安全性和可审计性,设计了基于访问热度的数据存储方法,对冷数据进行纠删码冗余备份,从而保证冷数据的可靠性和可用性。
下面详述本发明的研究过程:
使用以太坊进行数据存储实现的区块链技术,在存储过程中存储请求等操作与智能合约进行交互,会在区块链中产生一系列的交易操作,而在进行大量的存储交易时,会存在大量交易费用相同的情况。而当交易的GASPrice相同情况时以太坊是进行随机打包,这样可能出现部分交易等待时间过长而迟迟没有被处理,影响系统响应时间公平性。另外链下IPFS存储中存在数据存储不可靠问题。首先,IPFS 提供了一种块存储模型,当IPFS的服务器崩溃时,该模型很容易丢失数据的可靠性和可用性。本发明提出的基于公平性和访问热度的区块链数据存储方法,考虑了区块链交易过程中的系统响应时间公平性和数据存储的可靠性。首先在交易公平性的过程中,证明了对 GASPrice相同的交易按照等待时间逆序排序,对等待时间长的交易先进行打包的正确性;另外在基于访问热度的数据存储方法中,首先对冷数据进行处理,将数据文件存储到IPFS中返回其Hash值,并将冷数据进行RS纠删码编码成数据块。将生成的数据块依次存储到可用节点中,并记录节点信息、数据块Hash值以及原始文件信息,并将上述信息和恢复矩阵写入区块链中。对热度高于阈值T的文件代表数据文件已经存储在系统中,但是对热度值刚升高超过阈值的数据,需要改变存储状态,将原有的备份信息删除,最后返回区块链存储记录地址。本发明提出的基于公平性和访问热度的区块链数据存储方法能够有效保证交易过程的公平性,同时保证链下IPFS存储中的可靠性问题。
本发明提出的基于公平性和访问热度的区块链数据存储方法模型由两部分组成:(1)基于交易打包公平性的区块链存储设计,该设计针对使用以太坊作为区块链技术进行数据存储过程用遇到的问题,本方法建立交易公平性模型,设计以太坊区块链打包算法,优化以太坊区块链交易处理流程,提高进行存储交易过程中系统的公平性。其方法流程如图2所示。(2)基于访问热度的数据存储方法,该方法在区块链中保存IPFS存储节点信息,同时数据备份后的信息也存储在区块链中。数据提供商将数据上传到IPFS存储之后可以得到数据内容的Hash地址,然后将该信息以及存储位置通过智能合约写入到区块链中。数据写入智能合约之后,为了对数据热度进行计算,对数据的访问频率进行统计,通过热度计算模型对数据热度进行计算,依据计算结果对冷数据进行纠删码数据分片备份存储。
存储方法中的相关参数定义
(1)区块链的交易GASPrice为gas:本发明考虑区块链交易过程的公平性,其中公平性的第一部分按照gas值对待打包的交易进行降序排序,在以太坊系统底层,为每一个规定操作和合约方法都确定了 gas数量消耗。
(2)公平性的第二部分为由GASPrice相同的交易按照等待时间逆序排序,其中等待时间wi由公式(1)给出。
wi=tc-si (1)
其中tc为当前时间,si是交易池中每条交易的发送时间。
(3)数据的访问热度hot(d):hot(d)由公式(2)给出,Ntime_period为上次访问时间到现在的时间间隔所经过了多少个时间段,由公式(3) 给出,而number为文件访问频率,number的计算方法如公式(4)。
(4)间隔时间段Ntime_period:Ntime_period由公式(3)所示。其中,时间段time的大小可以根据系统要求定义。time_period为创建时间到当前时间间隔。
Ntime_period=time_period/time (3)
(5)文件访问频率number:该值除了考虑了该时间周期内的来自不同节点的访问量还有历史时间段内的访问量,其计算方法如公式(4) 所示。
表示数据块d在时间段t的访问频率,/>表示访问频率/>的权重,NTime表示此时与数据创建时间间隔为多少时间段,计算方法如公式(5)所示。
本发明提出的基于公平性和访问热度的区块链数据存储方法,本方法首先等待打包交易集合进行GASPrice降序排序,然后在GASPrice 值相同的情况下按照公式(1)进行逆序排序来保证交易过程了公平性。在进行基于访问热度的数据存储时,公式(2)为数据的访问热度计算方式,访问热度的阈值T则由系统进行设置。然后对低于阈值的数据进行纠删码存储。
本方法的伪代码描述
由算法的伪代码描述可以得到,第1行获取交易集合T、交易池中每条交易的发送时间s和当前时间tc;第2到4行,将交易集合按照GASPrice进行降序排序;第5到20行获取GASPrice相同的交易事务组合并将GASPrice相同的交易按照等待时延降序排序,获取满足公平性打包原则的交易集合T'。第21行获取存储数据的访问热度,通过访问热度和阈值的比较来筛选冷数据。第22到30行对冷数据进行纠删码存储,并获取存储地址。第31行到33行,当数据不是冷数据时,删除备份信息,并直接从区块链中查找存储地址。该方法在采用链上和链下结合方式进行存储过程中,链上区块链存储过程考虑了交易的公平性,链下IPFS存储采用基于文件访问热度的存储方法,对存储的数据进行热度计算,根据文件热度,对冷数据进行纠删码冗余备份,从而保证冷数据的可靠性和可用性。
本发明提出的种基于公平性和访问热度的区块链数据存储方法,能优化以太坊区块链交易处理流程,提高进行存储交易过程中系统的公平性,同时保证IPFS存储数据的可靠性和可用性。本发明结合区块链内的特点和IPFS存储的特点提出了基于公平性和访问热度的数据存储方法。本数据存储方法适用于区块链和IPFS的链上链下结合方式的数据存储,它是基于以太坊打包交易流程,对满足nonce值的等待打包交易集合进行GASPrice降序排序,对GASPrice相同的交易按照等待时间逆序排序,以此来实现系统的最大公平性。在进行基于访问热度的数据存储时,数据的元数据信息存储在区块链中,原始数据上传到IPFS网络进行存储。为了让数据访问更加便捷,在区块链中保存IPFS存储节点信息,同时数据备份后的信息也存储在区块链中。数据提供商将数据上传到IPFS存储之后可以得到数据内容的Hash 地址,然后将该信息以及存储位置通过智能合约写入到区块链中,同时由于IPFS具有将数据分块的功能,因此对每个块的存储信息也在区块链中进行了记录。
最后需要说明的是,以上具体实施方式仅用以说明本专利技术方案而非限制,尽管参照较佳实施例对本专利进行了详细说明,本领域的普通技术人员应当理解,可以对本专利的技术方案进行修改或者等同替换,而不脱离本专利技术方案的精神和范围,其均应涵盖在本专利的权利要求范围当中。无服务器计算环境中基于一致性哈希的缓存包调度优化算法。
Claims (4)
1.一种基于公平性和访问热度的区块链数据存储方法,其特征在于,所述方法包括如下步骤:
1)获取与以太坊区块链进行交易的集合{Ti}以及交易集合中每条交易的发送时间集合{s}以及当前时间集合{tc};
2)对所述交易集合{Ti}按照属性GASPrice的大小降序排序获取交易集合{T'};按照该交易集合的顺序将数据的元数据信息存储在区块链中;对于属性GASPrice相同的交易按照等待时间逆序排序,所述等待时间wi的计算方法为:
wi=tc-si
其中,tc为当前时间,si是交易池中每条交易的发送时间
3)对存储的数据进行热度计算,以文件的访问热度hot(d)阈值T区别冷数据与热数据;所述文件的访问热度hot(d)的计算方法为:
其中Ntime_period为上次访问时间到现在的时间间隔所经过了多少个时间段,number为文件访问频率;
对于所述文件访问频率number的计算方法为:
其中,NTime表示此时与数据创建时间间隔为多少时间段,表示数据块d在时间段t的访问频率,/>表示访问频率/>的权重;
4)对于所述冷数据,将数据上传到分布式文件系统IPFS,并返回Hash值,对数据进行纠删码编码;将数据块分别存储到可用的存储节点,并将备份信息、矩阵和文件Hash值信息写入区块链,返回存储地址信息;对于所述冷数据,使用RS纠删码对区块链和分布式文件系统IPFS中的冷数据分块进行分片存储,通过计算n块原始的数据元素得到m块冗余元素,对于n+m块的元素,当原始数据和冗余数据中任意的m块元素出错时,通过响应的重构算法恢复原始的n块数据;
5)对于所述热数据,判断是否存在备份信息,是则删除备份信息,查找存储地址信息,否则直接查找存储地址信息,返回存储地址信息;
6)用户访问数据时,访问区块链获取数据对应的Hash值,根据存储信息获取数据返回数据结果;用户访问数据的具体步骤包括:
6.1)根据文件名称信息从区块链中获取Hash值;
6.2)根据Hash值从分布式文件系统IPFS中获取数据;
6.3)如果数据完整获取则进入步骤6.4),否则进入步骤6.5);
6.4)直接返回数据文件;
6.5)从区块链中获取备份列表信息以及恢复矩阵,从备份列表中找到该文件对应的备份信息,获取可用的数据分块,然后进行纠删码解码恢复原数据。
2.根据权利要求1所述的基于公平性和访问热度的区块链数据存储方法,其特征在于:所述步骤3)间隔时间段Ntime_period的计算方法为:
Ntime_period=time_period/time
其中,时间段time的大小根据系统要求定义,time_period为创建时间到当前时间间隔。
3.根据权利要求1所述的基于公平性和访问热度的区块链数据存储方法,其特征在于:此时与数据创建时间间隔为多少时间段NTime的计算方法为:
其中,time_now为现在的时间。
4.根据权利要求1所述的基于公平性和访问热度的区块链数据存储方法,其特征在于:对于n+m块的元素,使用一个(n+m)*n二维矩阵,所述二维矩阵上部n行是一个单位矩阵,下部矩阵选择范德蒙德矩阵或柯西矩阵;根据下部矩阵类型将RS纠删码分成范德蒙RS编码和柯西RS编码两类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572523.3A CN113608670B (zh) | 2021-05-25 | 2021-05-25 | 基于公平性和访问热度的区块链数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572523.3A CN113608670B (zh) | 2021-05-25 | 2021-05-25 | 基于公平性和访问热度的区块链数据存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113608670A CN113608670A (zh) | 2021-11-05 |
CN113608670B true CN113608670B (zh) | 2023-10-27 |
Family
ID=78336459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110572523.3A Active CN113608670B (zh) | 2021-05-25 | 2021-05-25 | 基于公平性和访问热度的区块链数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608670B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114594911B (zh) * | 2022-03-13 | 2024-03-29 | 西安电子科技大学 | 基于链下纠删码分布式存储的区块链数据存储系统及方法 |
CN115037755B (zh) * | 2022-04-27 | 2023-04-07 | 东北大学 | 基于数据重分布和动态节点策略的区块链轻量存储方法 |
CN114915377B (zh) * | 2022-05-12 | 2024-04-02 | 中国人民解放军国防科技大学 | 一种基于喷泉码的联盟链存储系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012167642A1 (en) * | 2011-06-09 | 2012-12-13 | Tsinghua University | Wear leveling method and apparatus |
KR101533340B1 (ko) * | 2014-04-09 | 2015-07-06 | 인하대학교 산학협력단 | 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법 |
CN109871366A (zh) * | 2019-01-17 | 2019-06-11 | 华东师范大学 | 一种基于纠删码的区块链分片存储与查询方法 |
CN112699142A (zh) * | 2020-12-29 | 2021-04-23 | 平安普惠企业管理有限公司 | 冷热数据处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-05-25 CN CN202110572523.3A patent/CN113608670B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012167642A1 (en) * | 2011-06-09 | 2012-12-13 | Tsinghua University | Wear leveling method and apparatus |
KR101533340B1 (ko) * | 2014-04-09 | 2015-07-06 | 인하대학교 산학협력단 | 클라우드 스토리지 시스템에서 데이터 접근빈도와 소거 코드를 이용한 데이터 복제 방법 |
CN109871366A (zh) * | 2019-01-17 | 2019-06-11 | 华东师范大学 | 一种基于纠删码的区块链分片存储与查询方法 |
CN112699142A (zh) * | 2020-12-29 | 2021-04-23 | 平安普惠企业管理有限公司 | 冷热数据处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
云计算系统中数据中心的节能算法研究;张小庆;贺忠堂;李春林;张恒喜;钱琼芬;;计算机应用研究(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113608670A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113608670B (zh) | 基于公平性和访问热度的区块链数据存储方法 | |
US10678642B2 (en) | Unfavorable storage growth rate abatement | |
US11256558B1 (en) | Prioritized data rebuilding in a dispersed storage network based on consistency requirements | |
US10089036B2 (en) | Migrating data in a distributed storage network | |
US10387382B2 (en) | Estimating a number of entries in a dispersed hierarchical index | |
CN106233259B (zh) | 在分散存储网络中检索多世代存储数据的方法和系统 | |
CN103353867B (zh) | 具有网络服务客户接口的分布式存储系统 | |
CN110262922B (zh) | 基于副本数据日志的纠删码更新方法及系统 | |
CN109783016A (zh) | 一种分布式存储系统中的弹性多维度冗余方法 | |
CN107807796A (zh) | 一种基于超融合存储系统的数据分层方法、终端及系统 | |
EP3944556B1 (en) | Block data storage method and apparatus, and block data access method and apparatus | |
CN110019280A (zh) | 用于分布式数据库系统的系统范围检查点避免 | |
CN106716335A (zh) | 映射信息的异步处理 | |
CN103916459A (zh) | 一种大数据归档存储系统 | |
CN109597903A (zh) | 图像文件处理装置和方法、文件存储系统及存储介质 | |
Xiong et al. | HaDaap: a hotness‐aware data placement strategy for improving storage efficiency in heterogeneous Hadoop clusters | |
US12019532B2 (en) | Distributed file system performance optimization for path-level settings using machine learning | |
CN106547484A (zh) | 一种基于raid5的实现内存数据可靠性方法及系统 | |
US11281532B1 (en) | Synchronously storing data in a dispersed storage network | |
CN113778346B (zh) | 数据读取方法、装置、设备和存储介质 | |
CN114760328A (zh) | 一种数据存储方法、系统、电子设备和存储介质 | |
CN102209964A (zh) | 动态管理数据中心搜索的系统和方法 | |
CN111880900A (zh) | 一种面向超融合设备的近数据处理系统的设计方法 | |
CN109960588A (zh) | 一种针对异构内存集群的读请求调度方法及系统 | |
Zhao et al. | A fast adaptive replica recovery algorithm based on access frequency and environment awareness |
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 |