CN113297219A - 一种字段存储方法、装置、设备及存储介质 - Google Patents
一种字段存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113297219A CN113297219A CN202110559373.2A CN202110559373A CN113297219A CN 113297219 A CN113297219 A CN 113297219A CN 202110559373 A CN202110559373 A CN 202110559373A CN 113297219 A CN113297219 A CN 113297219A
- Authority
- CN
- China
- Prior art keywords
- field
- binary information
- label
- determining
- hash
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000009826 distribution Methods 0.000 description 10
- 238000012795 verification Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000013144 data compression Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种字段存储方法,该方法包括:获取待存储的第一字段;根据哈希位宽确定第一字段的第一哈希值;确定与第一字段对应的第一二进制信息;从第一二进制信息中确定原文标签,其中,该原文标签的位数为第一二进制信息的总位数与哈希位宽之差;利用第一哈希值将原文标签存储至哈希表。可见,本方案在存储字段时,通过原文标签替换字段的二进制信息进行存储,由于原文标签的位数比字段的二进制信息的位数少,因此本方案可节省存储空间;本发明还公开了一种字段存储装置、设备及存储介质,同样可以实现上述技术效果。
Description
技术领域
本发明涉及数据存储技术领域,更具体地说,涉及一种字段存储方法、装置、设备及存储介质。
背景技术
随着云计算对传统计算架构的替代,数据存储的结构也在发生变化,计算资源和存储资源将进一步向头部的数据中心聚合,进一步给服务器存储带来压力。面对这些持续增加的海量数据,数据压缩成为减轻服务器存储负担,降低存储成本的有效方法之一。数据压缩主要体现在重复冗余数据的压缩处理,可分为两步实现:首先,查找重复数据,判断前文中是否有与当前数据相同的段落,并得到前文的地址。然后表征重复数据,按照一定的规则表示重复数据,通常利用游程编码表征。
目前,硬件电路实现数据压缩,需要对当前字段之前一定长度的前文缓存。通常将前文划分为若干个字段,将每个字段的信息独立缓存,需要存储的信息包括:字段的文字内容及字段的偏移地址。目前主流的数据压缩算法都是基于Hash计算查找重复数据,其实现原理为:计算当前字段X的Hash值H(X),以H(X)为索引寻址查询Hash表是否存在与当前字段相同的重复数据,如果有重复数据,记录所有重复数据的地址。可见,目前压缩算法需要通过字段的Hash值及原文信息进行重复数据查找,因此Hash表中需要存储与每个字段对应的Hash值及原文信息,占用了较多的存储空间。
发明内容
本发明的目的在于提供一种字段存储方法、装置、设备及存储介质,以减少存储字段所占用的存储空间。
为实现上述目的,本发明提供的一种字段存储方法,包括:
获取待存储的第一字段;
根据哈希位宽确定所述第一字段的第一哈希值;
确定与所述第一字段对应的第一二进制信息;
从所述第一二进制信息中确定原文标签,其中,所述原文标签的位数为所述第一二进制信息的总位数与所述哈希位宽之差;
利用所述第一哈希值将所述原文标签存储至哈希表。
其中,从所述第一二进制信息中确定原文标签,包括:
从所述第一二进制信息的低位中截取低位信息作为所述原文标签。
其中,从所述第一二进制信息中确定原文标签,包括:
从所述第一二进制信息的高位中截取高位信息作为所述原文标签。
其中,所述第一二进制信息的总位数的确定方法包括:
确定所述第一字段的总字节数;
将所述总字节数与8的乘积作为所述总位数。
其中,利用所述第一哈希值将所述原文标签存储至哈希表之后,还包括:
接收数据查重指令;所述数据查重指令中携带待查重的第二字段;
根据所述哈希位宽确定所述第二字段的第二哈希值;
确定与所述第二字段对应的第二二进制信息;
从所述第二二进制信息中确定待查重标签,其中,所述待查重标签的位数为所述第二二进制信息的总位数与所述哈希位宽之差;
判断所述待查重标签与所述哈希表中存储的与所述第二哈希值对应的原文标签是否相同;
若相同,则判定所述第二字段为重复字段;若不相同,则判定所述第二字段为非重复字段。
为实现上述目的,本发明还提供一种字段存储装置,包括:
获取模块,用于获取待存储的第一字段;
第一哈希值确定模块,用于根据哈希位宽确定所述第一字段的第一哈希值;
第一二进制信息确定模块,用于确定与所述第一字段对应的第一二进制信息;
第一标签确定模块,用于从所述第一二进制信息中确定原文标签,其中,所述原文标签的位数为所述第一二进制信息的总位数与所述哈希位宽之差;
存储模块,用于利用所述第一哈希值将所述原文标签存储至哈希表。
其中,所述标签确定模块包括:
第一标签确定单元,用于从所述第一二进制信息的低位中截取低位信息作为所述原文标签。
其中,所述标签确定模块包括:
第二标签确定单元,用于从所述第一二进制信息的高位中截取高位信息作为所述原文标签。
为实现上述目的,本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述字段存储方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述字段存储方法的步骤。
通过以上方案可知,本发明实施例提供了一种字段存储方法,该方法包括:获取待存储的第一字段;根据哈希位宽确定第一字段的第一哈希值;确定与第一字段对应的第一二进制信息;从第一二进制信息中确定原文标签,其中,该原文标签的位数为第一二进制信息的总位数与哈希位宽之差;利用第一哈希值将原文标签存储至哈希表。可见,本方案在存储字段时,通过原文标签替换字段的二进制信息进行存储,由于原文标签的位数比字段的二进制信息的位数少,因此本方案可节省存储空间;本发明还公开了一种字段存储装置、设备及存储介质,同样可以实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种字段存储方法流程示意图;
图2a为本发明实施例公开的一种Hash值频率的分布曲线示意图;
图2b为本发明实施例公开的另一种Hash值频率的分布曲线示意图;
图2c为本发明实施例公开的另一种Hash值频率的分布曲线示意图;
图2d为本发明实施例公开的另一种Hash值频率的分布曲线示意图;
图2e为本发明实施例公开的另一种Hash值频率的分布曲线示意图;
图2f为本发明实施例公开的另一种Hash值频率的分布曲线示意图;
图3为本发明实施例公开的一种采用低位信息标签方案的数据保存流程示意图;
图4为本发明实施例公开的一种字段存储装置结构示意图;
图5为本发明实施例公开的一种电子设备结构示意图。
具体实施方式
目前主流的数据压缩算法包括:LZ77、LZ4、Deflate、Gzip等等,都是基于Hash计算查找重复数据。Hash计算的作用是对字段进行分类,可以加速查找重复的流程,因此会把字段根据Hash值分类存储,从而得到Hash表,参见表1,为本发明实施例提供的Hash表。
表1
通过表1可见,表1中存储了与每个hash值对应的原文及地址,在进行重复数据查找时,需要计算当前字段X的Hash值H(X),并以H(X)为索引寻址查询Hash表中是否存在与当前字段X相同的原文字段,若存在,则判定该当前字段X为重复数据,否则不是重复数据。例如:若当前字段X计算出的Hash值H(X)为0,则判断hash表的lit_0_a、lit_0_b、lit_0_c是否与当前字段X相同,若相同,则当前字段X为重复数据,否则,不是重复数据。
Hash值计算的公式如下:
H(X)=[(2n-1)&(a*X)]>>(n-m); (1)
基于当前主流存储方案,假设字段X由N个Byte构成,保存字段X的原文需要n=8*Nbits。由于前文数据已按照Hash值分类存储,Hash值通过公式1计算得到,X的Hash值可以表述H(X)当前的存储方案,看似保存的是原文信息,但从实质上讲是用<H(X),X>来表征X的原文,即用n+m bits的标签来描述一个m bits的字段。从信息论角度来看,当前的存储方案,无疑存在信息冗余,理论上有m bits的信息冗余。因此,本发明实施例提供一种字段存储方法、装置、设备及存储介质,以减少存储空间。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,目前hash表中存储原文的目的,是为了判断后续文字是否与前文重复,若后续文字与hash表中存储的原文相同,则说明后续文字与前文重复,否则不重复。也即:hash表中存储的原文类似于标签,本方案为了减少hash表中原文所占的存储空间,提供了一种用于减小存储空间且与原文具有一一对应关系的新标签,在此通过如下实施例对本申请具体说明。
参见图1,为本发明实施例提供的一种字段存储方法流程示意图,该方法包括:
S101、获取待存储的第一字段;
具体来说,本实施例中的第一字段为待存储的原文字段X,原文字段X是由N个字节组成的,如:该待存储的第一字段可以为由4个字节组成的“abcd”;需要说明的是,在本实施例中,并不具体限定N的具体数值,N的具体数值可根据字段的划分情况等因素进行调整。
S102、根据哈希位宽确定第一字段的第一哈希值;
在本实施例中,该哈希位宽为公式1中的m,并且,该哈希位宽为执行存储操作之前预先确定的。第一字段可通过上述公式1计算对应的第一哈希值。在现有方案中,计算第一哈希值后,便将第一字段的二进制信息存储至哈希表中,但是这种存储方式,会存在较多的信息冗余,因此在本方案中,需要通过S103~S104确定与第一字段对应的原文标签后,将该原文标签替代第一字段的二进制信息进行存储,从而减少存储内存。
S103、确定与第一字段对应的第一二进制信息;
在本实施例中,将第一字段对应的二进制信息作为第一二进制信息,如:若第一字段为:“abcd”,则与第一字段对应的第一二进制信息为:“01100001 01100010 0110001101100100”。
S104、从第一二进制信息中确定原文标签,其中,原文标签的位数为第一二进制信息的总位数与哈希位宽之差;
需要说明的是,现有方案中,实质是用<H(X),X>来标识字段X,存在信息冗余,且冗余量与Hash值的哈希位宽m相关。如前文所述,若确定与原文对应的标签,同样可以实现数据找重。字段与标签的关系可当作某种函数关系,在本实施例中,将字段X的标签表示为Label(X),也就是说:本方案可通过<H(X),Label(X)>替代<H(X),X>来标识字段X。
具体来说,本方案为了确定字段X的标签Label(X),首先分析了Hash计算的分布特性,以字段X为4Byte为例,假设Hash值位宽为m,统计所有4Byte字段(总计232种,即0到232-1)的Hash值,直方图分析Hash值频率的分布特性,以下为实现该过程的伪代码:
其中,上述伪代码中,calc_hash(X,m)为计算字段X的Hash值公式。参见图2a、图2b、图2c、图2d、图2e和图2f,为本发明实施例提供的Hash值频率的分布曲线示意图,各个图中m的取值不同,在本实施例中仅以常见的m取值为例进行说明。图2a~图2f的x轴方向表示Hash值,y轴方向表示每个Hash值的概率,从图2a~图2f可以看出,在Hash值位宽m取值为10、12、14、16、18、20时,Hash值的频率服从均匀分布。对于选定的Hash位宽m,Hash值的值域为(0~2m-1),任意一个Hash值的出现频率都相同为232-m,该出现概率表示了每个Hash值出现的次数,也就是说:232-m个原文字段的Hash值均相同,因此,每个Hash值对应的原文字段总数都为232-m,所以,理论上用(32-m)bits的数字作为标签,就可以替代对应的原文字段。也即:通过(8*N-m)bits的标签可替代原文字段。
进一步,本方案还需要提供一种编码方案,该编码方案需要满足如下两个条件:一、编码方案产生数据标签需要用(8*N-m)bits的数字标识,编码方案尽可能简单。二、编码方案对任意一个Hash值对应的原文字段产生的标签,必须满足一一对应关系,即:一个标签有且只有一个对应的原文字段。在满足上述两个条件的基础上,本实施例提供了从字段的二进制信息中截取(8*N-m)bits作为标签的一种编码方案,如:可以从字段的二进制信息中截取(8*N-m)bits的高位信息作为标签,还可以从字段的二进制信息中截取(8*N-m)bits的低位信息作为标签等等。
S105、利用第一哈希值将原文标签存储至哈希表。
本实施例确定与第一字段唯一对应的原文标签后,便可通过原文标签替代第一字段的二进制信息进行存储,在存储时,可将第一哈希值作为索引寻址查找哈希表,把原文标签保存至哈希表,以备后续数据查重时使用。具体来说,数据查重过程与现有方案相似,该过程具体包括:接收数据查重指令;该数据查重指令中携带待查重的第二字段;根据哈希位宽确定第二字段的第二哈希值;确定与第二字段对应的第二二进制信息,从第二二进制信息中确定待查重标签,其中,待查重标签的位数为第二二进制信息的总位数与哈希位宽之差;判断待查重标签与哈希表中存储的与第二哈希值对应的原文标签是否相同;若相同,则判定第二字段为重复字段;若不相同,则判定第二字段为非重复字段。其中,在本实施例中,从第二二进制信息中确定待查重标签的方式与从第一二进制信息中确定原文标签的方式相同,在此便不赘述。
综上可见,本方案在存储字段时,通过原文标签替换字段的二进制信息进行存储,由于原文标签的位数比字段的二进制信息少,因此可以节省存储空间,如对于4byte数据,常见的哈希位宽为16bit,则数据的标签为8*4-16=16,因此,4byte数据对应的标签为16bit,与现有方案中存储32bit数据的方式相比,可以节省50%的存储空间。
基于上述实施例,在本实施例中,从第一二进制信息中确定原文标签时,具体可以从第一二进制信息的低位中截取低位信息作为原文标签,或者,从第一二进制信息的高位中截取高位信息作为原文标签。
具体来说,在本实施例中提供了两种从第一二进制信息中截取原文标签的方式,一种为截取低位信息作为原文标签,另一种为截取高位信息作为原文标签;通过这两种方式得到的原文标签,均可满足原文标签与原文字段具有一一对应关系,在此,通过对第一种截取原文标签的方式为例进行分析。
通过上文可知,本实施例提供的编码方案需要满足如下两个条件:一、编码方案产生数据标签需要用(8*N-m)bits的数字标识,编码方案尽可能简单。二、编码方案对任意一个Hash值对应的原文字段产生的标签,必须满足一一对应关系。由于本实施例提供的截取低位信息作为原文标签的方式,原文标签的位数为第一二进制信息的总位数与哈希位宽之差,即:(8*N-m)bits,因此该方式已经满足第一个条件,在此,对原文标签与原文字段是否满足一一对应关系进行验证。对于任意一个特定字段只存在唯一的标签,只需验证任意一个标签只存在唯一的源数据,验证方式的伪代码如下:
其中,label=(232-m-1)&num,其中,num表示原文字段,&表示按位与,在该实验中,N为4Byte,n为32。在验证过程中,需要统计所有源数据的标签(mat的坐标)的频率分布。由上述条件2可知,如果标签编码方案可行,就意味着每个标签的出现频率必须为1,即mat中的每个元素都必须为1,因此本方案通过分析sum的值就判断标签方案是否可行:sum的值为0,标签方案可行。在验证时,当hash值位宽m取值从1到31时,运用以上伪代码计算各自的sum的值,最终发现sum的计算值始终为0,这表明,采用低位信息可以对实现源数据的标签功能。
进一步,以上验证方式是以4Byte数据为例分析低位信息编码方案的可行性,在此还需验证低位信息通用性,也即:验证本方案对于其他类型的数据,低位信息编码方案是都依然有效。具体来说,对于N Byte的字段Y,设Hash值为的位宽m,低位信息标签Label(Y)的计算公式为:Label(Y)=(28*N-m-1)&Y,并通过如下验证方式进行验证,其伪代码如下:
经验证后发现,低位信息编码方案对于N取值为2到10Byte的数据普遍有效。在此,通过一具体实施例对低位信息编码方案进行具体说明:
在本实施例中,首先需要确定第一字段X:“abcd”,第一字段对应的第一二进制信息为:“01100001 01100010 01100011 01100100”,其中,二进制信息总位数的确定方法为:确定第一字段的总字节数,将总字节数与8的乘积作为总位数,如:本方案中第一字段X的总字节数为4,因此总位数为4*8=32。若Hash值的哈希位宽设为17,则原文标签的位数为32-17=15,若通过低位信息编码方案确定原文标签,则字段X的标签为15bit的数“110001101100100”;若Hash值的哈希位宽设为20,则原文标签的位数为32-20=12,若通过低位信息编码方案确定原文标签,则字段X的标签为12bit的数“001101100100”。参见图3,为本发明实施例提供的一种采用低位信息标签方案的数据保存流程示意图。获得原文字段x后,可利用公式1计算得到X的Hash值H,同时用X的低位信息生成标签Label(X),最后用H作为索引寻址查表,把Label(X)保存作为参考数据,以备后后续参考。
综上可见,本方案利用标签来标识原文字段,由于标签的位宽比原文字段少,因此可以节省缓存内存。本发明利用低位信息或者高位信息作为数据标签,算法简单,实现方案简单高效。本方案还可通过硬件实现截取低位信息的功能,电路设计简单,容易实现。
下面对本发明实施例提供的字段存储装置、设备及存储介质进行介绍,下文描述的字段存储装置、设备及存储介质与上文描述的字段存储方法可以相互参照。
参见图4,本发明实施例提供的一种字段存储装置结构示意图,包括:
获取模块100,用于获取待存储的第一字段;
第一哈希值确定模块200,用于根据哈希位宽确定所述第一字段的第一哈希值;
第一二进制信息确定模块300,用于确定与所述第一字段对应的第一二进制信息;
第一标签确定模块400,用于从所述第一二进制信息中确定原文标签,其中,所述原文标签的位数为所述第一二进制信息的总位数与所述哈希位宽之差;
存储模块500,用于利用所述第一哈希值将所述原文标签存储至哈希表。
其中,所述标签确定模块包括:
第一标签确定单元,用于从所述第一二进制信息的低位中截取低位信息作为所述原文标签。
其中,所述标签确定模块包括:
第二标签确定单元,用于从所述第一二进制信息的高位中截取高位信息作为所述原文标签。
其中,所述装置还包括:
总位数确定模块,用于确定所述第一字段的总字节数,将所述总字节数与8的乘积作为所述总位数。
其中,所述装置还包括:
指令接收模块,用于接收数据查重指令;所述数据查重指令中携带待查重的第二字段;
第二哈希值确定模块,用于根据所述哈希位宽确定所述第二字段的第二哈希值;
第二二进制信息确定模块,用于确定与所述第二字段对应的第二二进制信息;
第二标签确定模块,用于从所述第二二进制信息中确定待查重标签,其中,所述待查重标签的位数为所述第二二进制信息的总位数与所述哈希位宽之差;
判断模块,用于判断所述待查重标签与所述哈希表中存储的与所述第二哈希值对应的原文标签是否相同;若相同,则判定所述第二字段为重复字段;若不相同,则判定所述第二字段为非重复字段。
参见图5,为本发明实施例提供的一种电子设备结构示意图,包括:
存储器11,用于存储计算机程序;
处理器12,用于执行所述计算机程序时实现上述任意方法实施例所述的字段存储方法的步骤。
在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如执行字段存储方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行字段存储方法的程序代码等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口15,用户接口15可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口15还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件11-15的设备,本领域技术人员可以理解的是,图5示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的字段存储方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种字段存储方法,其特征在于,包括:
获取待存储的第一字段;
根据哈希位宽确定所述第一字段的第一哈希值;
确定与所述第一字段对应的第一二进制信息;
从所述第一二进制信息中确定原文标签,其中,所述原文标签的位数为所述第一二进制信息的总位数与所述哈希位宽之差;
利用所述第一哈希值将所述原文标签存储至哈希表。
2.根据权利要求1所述的字段存储方法,其特征在于,从所述第一二进制信息中确定原文标签,包括:
从所述第一二进制信息的低位中截取低位信息作为所述原文标签。
3.根据权利要求1所述的字段存储方法,其特征在于,从所述第一二进制信息中确定原文标签,包括:
从所述第一二进制信息的高位中截取高位信息作为所述原文标签。
4.根据权利要求2所述的字段存储方法,其特征在于,所述第一二进制信息的总位数的确定方法包括:
确定所述第一字段的总字节数;
将所述总字节数与8的乘积作为所述总位数。
5.根据权利要求1至4中任意一项所述的字段存储方法,其特征在于,利用所述第一哈希值将所述原文标签存储至哈希表之后,还包括:
接收数据查重指令;所述数据查重指令中携带待查重的第二字段;
根据所述哈希位宽确定所述第二字段的第二哈希值;
确定与所述第二字段对应的第二二进制信息;
从所述第二二进制信息中确定待查重标签,其中,所述待查重标签的位数为所述第二二进制信息的总位数与所述哈希位宽之差;
判断所述待查重标签与所述哈希表中存储的与所述第二哈希值对应的原文标签是否相同;
若相同,则判定所述第二字段为重复字段;若不相同,则判定所述第二字段为非重复字段。
6.一种字段存储装置,其特征在于,包括:
获取模块,用于获取待存储的第一字段;
第一哈希值确定模块,用于根据哈希位宽确定所述第一字段的第一哈希值;
第一二进制信息确定模块,用于确定与所述第一字段对应的第一二进制信息;
第一标签确定模块,用于从所述第一二进制信息中确定原文标签,其中,所述原文标签的位数为所述第一二进制信息的总位数与所述哈希位宽之差;
存储模块,用于利用所述第一哈希值将所述原文标签存储至哈希表。
7.根据权利要求6所述的字段存储装置,其特征在于,所述标签确定模块包括:
第一标签确定单元,用于从所述第一二进制信息的低位中截取低位信息作为所述原文标签。
8.根据权利要求6所述的字段存储装置,其特征在于,所述标签确定模块包括:
第二标签确定单元,用于从所述第一二进制信息的高位中截取高位信息作为所述原文标签。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的字段存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的字段存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110559373.2A CN113297219A (zh) | 2021-05-21 | 2021-05-21 | 一种字段存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110559373.2A CN113297219A (zh) | 2021-05-21 | 2021-05-21 | 一种字段存储方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113297219A true CN113297219A (zh) | 2021-08-24 |
Family
ID=77323780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110559373.2A Pending CN113297219A (zh) | 2021-05-21 | 2021-05-21 | 一种字段存储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297219A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034412A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种信息存储的方法、信息查找的方法及引擎装置 |
CN104182393A (zh) * | 2013-05-21 | 2014-12-03 | 中兴通讯股份有限公司 | 基于hash表的关键字映射处理方法和装置 |
CN111428180A (zh) * | 2020-03-20 | 2020-07-17 | 名创优品(横琴)企业管理有限公司 | 一种网页去重方法、装置和设备 |
CN112256704A (zh) * | 2020-10-23 | 2021-01-22 | 山东超越数控电子股份有限公司 | 一种快速join方法、存储介质及计算机 |
-
2021
- 2021-05-21 CN CN202110559373.2A patent/CN113297219A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034412A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种信息存储的方法、信息查找的方法及引擎装置 |
CN104182393A (zh) * | 2013-05-21 | 2014-12-03 | 中兴通讯股份有限公司 | 基于hash表的关键字映射处理方法和装置 |
CN111428180A (zh) * | 2020-03-20 | 2020-07-17 | 名创优品(横琴)企业管理有限公司 | 一种网页去重方法、装置和设备 |
CN112256704A (zh) * | 2020-10-23 | 2021-01-22 | 山东超越数控电子股份有限公司 | 一种快速join方法、存储介质及计算机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112541338A (zh) | 相似文本匹配方法、装置、电子设备及计算机存储介质 | |
US8316041B1 (en) | Generation and processing of numerical identifiers | |
WO2021101451A1 (en) | Method and apparatus for storing data, and computer device and storage medium thereof | |
CN111708771A (zh) | 数据查重方法、装置、设备及计算机存储介质 | |
CN111897831A (zh) | 业务报文的生成方法、装置、电子设备及存储介质 | |
CN113868528A (zh) | 资讯推荐方法、装置、电子设备及可读存储介质 | |
CN116094548A (zh) | 基于测试数据的电缆传输性能分析方法、装置及电子设备 | |
CN112702228A (zh) | 服务限流响应方法、装置、电子设备及可读存储介质 | |
CN112464619B (zh) | 大数据处理方法、装置、设备及计算机可读存储介质 | |
CN113468175B (zh) | 数据压缩方法、装置、电子设备及存储介质 | |
CN113656690B (zh) | 产品推荐方法、装置、电子设备及可读存储介质 | |
CN113495886A (zh) | 用于模型训练的污染样本数据的检测方法及装置 | |
CN112667636A (zh) | 索引建立方法、装置及存储介质 | |
CN113297219A (zh) | 一种字段存储方法、装置、设备及存储介质 | |
CN116610731A (zh) | 一种大数据分布式存储方法、装置、电子设备及存储介质 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN116578696A (zh) | 文本摘要生成方法、装置、设备及存储介质 | |
CN113204556A (zh) | 基于低位哈希标签的存储方法、系统、终端及存储介质 | |
CN111339063A (zh) | 假设数据智能管理方法、装置及计算机可读存储介 | |
CN113641769A (zh) | 一种数据处理方法及装置 | |
CN112506931A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
US10185718B1 (en) | Index compression and decompression | |
CN113625953B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN113590856B (zh) | 标签查询方法、装置、电子设备及可读存储介质 | |
CN113672483B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210824 |