采用HASH链存储数据的方法及数据写入、读取方法技术

技术编号:28128522 阅读:27 留言:0更新日期:2021-04-19 11:46
本发明专利技术涉及一种采用HASH链存储数据的方法及数据写入、读取方法,其中,存储数据的方法步骤包括穷举固定长度的所有数据块,采用HASH算法计算所有标准数据块的HASH值,形成具有若干HASH值的索引表,并且使待存储的数据文件在存储系统内以其所包含的标准数据块的HASH索引链的形态进行存储。本发明专利技术在对数据文件的读写处理时均只对文件的HASH索引链操作,从而降低数据文件在系统内实际存储容量的同时,还可提高数据读写效率;同时,于系统内或系统间进行数据传递,均仅需传递数据HASH索引链记录,从而降低系统内、系统间数据传输的带宽需求;此外,便于灵活地在分布式系统中部署,易于构建分布式、大规模的存储系统。大规模的存储系统。大规模的存储系统。

【技术实现步骤摘要】
采用HASH链存储数据的方法及数据写入、读取方法


[0001]本专利技术涉及计算机存储
,尤其涉及一种采用HASH链存储数据的方法以及数据写入方法、数据读取方法。

技术介绍

[0002]计算机存储技术的发展需要基于计算机硬件系统的存储单元,而我们所熟知的计算机硬件系统一般则由运算器、控制器、存储器、输入和输出设备构成,存储性能优劣受到多方面的影响,其中即包括存储单元的存储容量与存储方式。对于日益复杂的大数据应用及快速增长的数据量,存储设备的性能、容量乃至数据传输带宽在现代计算机系统中都捉襟见肘,逐渐成为整个计算机系统的发展瓶颈。
[0003]其中,存储容量会直接关系到存储系统的性能优劣,主要原因在于,随着计算机CPU运算性能的不断加强,CPU性能已经超过了内存系统能够满足的范围,另一方面,多媒体、面向对象数据库、Web服务器等大量应用使得内存要求迅速增加,与处理器高速发展不相适应的内存系统已经限制了许多应用领域,并且这一制约效果还在继续增大,这一事实说明,若无法解决内存系统的性能瓶颈问题,单纯地继续提高机器主频和算术逻辑功能,其投入与产出比可能会越来越大,因而,对于一些研究项目和主要硬件设备厂商的研究部门,内存系统研究成为取代CPU设计的新热点。
[0004]本专利技术技术方案之设计人员所施以开发的技术手段便是着重于以上所提到的另一个关键部分,即存储方式,这也符合集成电路技术快速发展这一背景之下的研究需求,由于集成了运算器、控制器功能的微处理器性能几乎以每十八个月性能翻一番、价格下降一倍的速率飞速发展,而受限于存储设备硬盘机械寻道速度的影响,数据读写效率的提升远远落后于计算机系统运算能力的提升。
[0005]随着大数据时代的到来,计算机系统需要处理的数据越来越庞大,CPU和存储设备之间的性能鸿沟问题就更加凸显。虽然业内已采取外置存储设备、专用存储网络、性能更高的存储介质等方法应对,但是,海量的数据存储需要大量的存储设备,存储设备的能耗问题、空间占用问题日益凸显。根据Google公司的一项研究,在其数据中心内,存储设备的功耗达到了整机的30%,如果加上内存功耗,存储系统的功耗占比甚至超过了CPU。显然,提高数据读写效率、提升数据存储空间利用率,已成为计算机系统发展的一大挑战。
[0006]本专利技术技术方案之设计人员针对目前计算机系统存储方式的优劣之处进行总结之后发现,大量千变万化的数据文件无法施以有序、精简、有特征性地存储而导致其数据文件存储形态给存储系统带来巨大的压力,并且在应用时所暴露出的劣处具有普遍性,包括:
[0007]⑴
目前的计算机存储系统经常受到千变万化的大量数据文件的影响且这些数据文件存储突显出无序性,因而,无法大幅压缩所需存储的数据,最终导致实际存储空间占用比例非常高;
[0008]⑵
无论是写数据时、还是读取数据时,都需要写入实际的数据块,这会立刻降低数据存储效率,同时,受到数据块部署缺乏参照的影响,读取数据时效率非常低;
[0009]⑶
现有的存储系统当写入数据块时,还需要进行适当的较验和纠错,对于大量数据文件,这并不利于构建大规模的存储系统;
[0010]⑷
此外,以往的数据存储方式既并不利于系统内的数据传输,也不利于系统间的数据传输,于系统内的数据传递会存在着较大的数据传输压力,同时,当需要通信的两个计算机系统之间传递数据时,会受到所传输的繁冗数据文件的影响,系统间数据传输带宽需求显然无法满足。
[0011]本专利技术技术方案正是针对以上问题展开相应的解决方案,合理地利用哈希HASH索引,提出一种采用HASH链存储数据的方法,其于计算机系统中生成和保存一份标准数据块与其HASH值的索引表,而千变万化的数据文件则由表示数据块顺序的HASH索引链构成,与此同时,基于该HASH链存储方法,分别提出相应的数据写入方法、数据读取方法,使系统读、写文件均只对该数据文件的HASH链进行操作,当系统内或采用该同样数据存储方法的系统间传输数据文件时,也仅传输数据文件的HASH链,从而大幅降低系统中实际数据存储容量,提高数据处理效率,并且大大降低计算机系统数据传输带宽的需求。当然,经过实践应用表明,本专利技术所提出的技术方案能够缓解、部分解决或完全解决现有技术存在的问题。

技术实现思路

[0012]为克服上述问题或者至少部分地解决上述问题,本专利技术提供一种采用HASH链存储数据的方法以及数据写入方法、数据读取方法,通过在计算机系统内生成和保存一份标准数据块与其HASH值的索引表,并且数据文件在系统内以其所包含的标准数据块的HASH索引链的形式进行存储,以便对数据文件的读写处理时均只对文件的HASH索引链操作,从而降低数据文件在系统内实际存储容量的同时,还可提高数据读写效率。
[0013]为实现上述目的,本专利技术采用以下技术方案:
[0014]一种采用HASH链存储数据的方法,其在进行数据存储之初,首先于计算机系统内生成并保存一份标准数据块,再引入HASH算法针对标准数据块进行相应的计算,该方法包括以下步骤:
[0015]穷举固定长度的所有数据块,采用HASH算法计算所有标准数据块的HASH值,形成具有若干HASH值的索引表,并且使待存储的数据文件在存储系统内以其所包含的标准数据块的HASH索引链的形态进行存储;
[0016]其中,若计算出的HASH值有冲突,需对HASH值冲突的数据块进行编号、保存、记录。
[0017]通过对以上方法的实施,所得到的技术方案可进一步施以不同的技术手段,包括:
[0018]针对HASH值冲突的数据块进行编号、保存之后,记录于由HASH值索引的记录里;
[0019]若计算出的HASH值有冲突,还可对该数据块再次采用正交的HASH算法,计算两个HASH值进行区分;
[0020]其中,数据文件在存储系统中仅保存表示数据块顺序的HASH索引链以及必要的算法信息。
[0021]以上技术方案在具体应用时,例如,于系统内或系统间进行数据传递,均仅需传递数据HASH索引链记录。
[0022]以上技术方案在具体应用时,例如,于并发性要求高的系统中进行数据存储的步骤包括,可在一个节点内生成多份标准数据块HASH索引表或者分布式部署在多个节点上,
各节点的标准数据块HASH索引表无需进行任何较验操作。
[0023]本专利技术在基于采用HASH链存储数据的方法此同一构思的基础上,还包含其它技术方案:
[0024]一种数据写入方法,其适用于采取HASH链存储数据的存储系统,包括以下步骤:
[0025]⑴
存储系统将数据文件按照固定长度切成标准数据块,采用HASH算法计算所有标准数据块的HASH值,最后一个数据块的长度如达不到标准固定长度,可补0或1后计算HASH值,并记录下最后一个数据块的实际长度;
[0026]⑵
检出该HASH值对应的标准数据块HASH索引表中的记录,若记录有HASH冲突的数据块,则与有H本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种采用HASH链存储数据的方法,其在进行数据存储之初,首先于计算机系统内生成并保存一份标准数据块,再引入HASH算法针对标准数据块进行相应的计算,其特征在于,所述采用HASH链存储数据的方法包括以下步骤:穷举固定长度的所有数据块,采用HASH算法计算所有标准数据块的HASH值,形成具有若干HASH值的索引表,并且使待存储的数据文件在存储系统内以其所包含的标准数据块的HASH索引链的形态进行存储;其中,若计算出的HASH值有冲突,需对HASH值冲突的数据块进行编号、保存、记录。2.根据权利要求1所述的采用HASH链存储数据的方法,其特征在于:针对HASH值冲突的数据块进行编号、保存之后,记录于由HASH值索引的记录里。3.根据权利要求1所述的采用HASH链存储数据的方法,其特征在于:其中,若计算出的HASH值有冲突,可对该数据块再次采用正交的HASH算法,计算两个HASH值进行区分。4.根据权利要求1

3任一项所述的采用HASH链存储数据的方法,其特征在于:所述数据文件在存储系统中仅保存表示数据块顺序的HASH索引链以及必要的算法信息。5.根据权利要求4所述的采用HASH链存储数据的方法,其特征在于:采用该方法于系统内或系统间进行数据传递,均仅需传递数据HASH索引链记录。6.根据权利要求1

3任一项所述的采用HASH链存储数据的方法,其特征在于,于并发性要求高的系统中进行数据存储的步骤包括,可在一个节点内生成多份标准数据块HASH索引表或者分布式部署在多个节点上,各节点的标准数据块HASH索引表无需进行任何较验操作。7.一种数据写入方法,其适用于采...

【专利技术属性】
技术研发人员:蔡云霞
申请(专利权)人:深圳创新科技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1