CN112699639B - 整数数据的存储方法、装置及存储介质 - Google Patents

整数数据的存储方法、装置及存储介质 Download PDF

Info

Publication number
CN112699639B
CN112699639B CN202110177677.2A CN202110177677A CN112699639B CN 112699639 B CN112699639 B CN 112699639B CN 202110177677 A CN202110177677 A CN 202110177677A CN 112699639 B CN112699639 B CN 112699639B
Authority
CN
China
Prior art keywords
byte
integer
integer data
length
array
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
Application number
CN202110177677.2A
Other languages
English (en)
Other versions
CN112699639A (zh
Inventor
胡俊飞
童兆丰
樊兴华
任政
薛锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ThreatBook Technology Co Ltd
Original Assignee
Beijing ThreatBook Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ThreatBook Technology Co Ltd filed Critical Beijing ThreatBook Technology Co Ltd
Priority to CN202110177677.2A priority Critical patent/CN112699639B/zh
Publication of CN112699639A publication Critical patent/CN112699639A/zh
Application granted granted Critical
Publication of CN112699639B publication Critical patent/CN112699639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种整数数据的存储方法、装置及存储介质,用于数据库中的整数数据存储。方法包括:接收输入到数据库的整数数据;将接收的整数数据转换为字节数组,在字节数组的第1个字节中,第1位表示整数数据属于非负整数或负整数,第2至4位表示补字节长度,第5至8位表示整数数据的最高4位,字节数组的长度等于补字节长度加1,整数数据的绝对值由补值和差值相加组成,字节数组除第1个字节外,后续的字节与第1个字节的第5至8位一起组成整数的差值,补值根据补字节长度来决定;将转换为字节数组的整数数据存入数据库。本发明实现以变长字节数组存储整数数据,以及直接基于字节数组来比较相同符号下的整数数据大小。

Description

整数数据的存储方法、装置及存储介质
技术领域
本申请涉及数据存储领域,特别是涉及一种整数数据的存储方法、装置及存储介质。
背景技术
目前,NoSQL数据库中,如HBase、RocksDB、LevelDB等底层都是主要支持字节数组的数据格式,其他数据类型需要转换为字节数组再进行存储。对于整数,一般是按整数类型转换为固定长度的字节数组,比如整型(Integer)转换为4个字节的数组,而长整型(Long)转换为8个字节的数组。
转换为固定长度字节数组可以实现通过直接对字节数组的比较来比较整数的大小,不需要将值字节数组提前转换为整数。但是,很多时候由于不确定整数是否超过4个字节(即最大值4294967295),又需要直接比较的情况下,会统一采用长整型,即8个字节来存储整数,在整数值大部分比较小的情况下,会出现占用空间浪费的情况。
在一些数据库或者存储引擎中,通过将整数最低到高每7位编码到一个字节的后7位里,同时以该字节的首位是否置为1来区分该字节是否最后一个字节。这种编码方式既实现了变长字节存储,又实现了根据字节特征识别整数编码边界的作用,即根据字节最高位来判断字节数组中编码为某一个整数的字节长度,这种场景适用于将整数与其他值编码到一起的场景。但这种编码方式无法实现按字节数组直接对整数进行排序。
因此,亟待设计一种方案将整数数据转换为字节数组,使得根据字节数组首字节即可知道整数所占用的字节长度,并可以直接按字节数组对整数大小进行排序。
发明内容
基于变长编码、字节数组序排序、整数编码边界等多个需求进行分析,本发明设计了一种编码方式,该编码方式支持变长编码,最小长度只需要1个字节,最大长度需要8个字节,编码最大值为1157442765409226767,最小值为-1157442765409226767,超过60位大小,足以支持大部分整数场景;支持字节数组序排序,根据对字节数组进行排序比较,即可实现对相同符号内所编码整数的比较;支持整数编码边界,根据字节数组首字节即可知道整数所占用的字节长度。这种编码方式在一定场景下,既能实现低存储,查询。
第一方面,本申请设计了一种整数数据的存储方法,用于数据库中的整数数据存储,其特征在于:接收输入到数据库的整数数据;
将接收的所述整数数据转换为字节数组,在所述字节数组的第1个字节中,第1位表示所述整数数据属于非负整数或负整数,第2至4位表示补字节长度,第5至8位表示所述整数数据的最高4位,所述字节数组的长度等于所述补字节长度加1,所述整数数据的绝对值由补值和差值相加组成,所述字节数组除第1个字节外,后续的字节与所述第1个字节的第5至8位一起组成所述整数的差值,所述补值根据所述补字节长度来决定,其中以字节长度由小到大的顺序,每个字节长度的补值为上一个字节长度所表达的最大值加1,其中最短字节数组的长度为1个字节,最长字节数组的长度为8个字节;将转换为字节数组的所述整数数据存入所述数据库中。
在一种可选的实施方式中,其进一步包括:所述整数数据的绝对值数值越小,则所述整数数据转换后的字节数组的长度越短。
在一种可选的实施方式中,其进一步包括:所述以字节长度由小到大的顺序表示相同符号下的整数大小顺序,所述符号包括非负整数和负整数。
在一种可选的实施方式中,其进一步包括:对不同符号下的整数数据分开进行由小到大的排序,非负整数以顺序进行排序,负整数以逆序进行排序,以实现相同符号下的整数的有序比较。
第二方面,本申请设计了一种整数数据的存储装置,用于数据库中的整数数据存储,其特征在于:接收装置,其用于接收输入到数据库的整数数据;转换装置,其用于将接收的所述整数数据转换为字节数组,在所述字节数组的第1个字节中,第1位表示所述整数数据属于非负整数或负整数,第2至4位表示补字节长度,第5至8位表示所述整数数据的最高4位,所述字节数组的长度等于所述补字节长度加1,所述整数数据的绝对值由补值和差值相加组成,所述字节数组除第1个字节外,后续的字节与所述第1个字节的第5至8位一起组成所述整数的差值,所述补值根据所述补字节长度来决定,其中以字节长度由小到大的顺序,每个字节长度的补值为上一个字节长度所表达的最大值加1,其中最短字节数组的长度为1个字节,最长字节数组的长度为8个字节;存储装置,其用于将转换为字节数组的所述整数数据存入所述数据库中。
在一种可选的实施方式中,其进一步包括:所述整数数据的绝对值数值越小,则所述整数数据转换后的字节数组的长度越短。
在一种可选的实施方式中,其进一步包括:所述以字节长度由小到大的顺序表示相同符号下的整数大小顺序,所述符号包括非负整数和负整数。
在一种可选的实施方式中,其进一步包括:对不同符号下的整数数据分开进行由小到大的排序,非负整数以顺序进行排序,负整数以逆序进行排序,以实现相同符号下的整数的有序比较。
第三方面,本申请设计了一种整数数据的存储装置,用于数据库中的整数数据存储,其特征在于:包括处理器和存储器;所述存储器存储计算机程序,所述处理器执行所述计算机程序以实现如本申请第一方面所述的方法。
第四方面,本申请设计了一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如本申请第一方面所述的方法。
本发明通过对输入数据库的整数数据进行字节数组变长编码,通过字节数组的第1字节就可以确认所述字节数组的字节长度,并通过所述字节数组直接就可以进行所述字节数组对应的整数数据之间的大小比较。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所公开的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。
图1示出了根据本发明的整数数据的存储方法的流程示意图。
图2示出了根据本发明的整数数据的存储装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
请参考图1,其示出了根据本发明的整数数据的存储方法的流程示意图。
S101,接收输入到数据库的整数数据。其中数据库包括NoSQL数据库,如HBsae、RocksDB、LevelDB等KV数据库,在这些数据库中,值是以字节数组的形式来存储的。
S102,将接收的整数数据转换为字节数组。
其中字节数组的每个字节包括8比特位,在所述字节数组的第1个字节中,第1位表示所述字节数组对应的整数数据属于非负整数或负整数,第2至4位表示补字节长度,第5至8位表示所述整数数据的最高4位。每个整数数据转换后的字节数组的字节长度等于所述字节数组第1字节中的补字节长度加1,整数数据的绝对值由补值和差值相加组成,所述字节数组除第1个字节外,后续的字节与所述第1个字节的第5至8位一起组成所述整数的差值,所述补值根据所述补字节长度来决定,其中以字节长度由小到大的顺序,每个字节长度的补值为上一个字节长度所表达的最大值加1,其中最短字节数组的长度为1个字节,最长字节数组的长度为8个字节。
例如,整数7编码为1个字节的字节数组,该字节的第1位为1,表示其为非负整数,其中0编码为字节数组时也作为非负整数来设置,负整数则其第1字节的第1位为0,表示其为负整数,整数7对应的字节的第2至4位都为0,表示其补字节长度为0,加上1即为该整数对应的字节数组长度1,第5至8位分别为0,1,1,1。而整数20编码为2个字节的字节数组,第1字节的第1位为1,表示为非负整数,第2至4位分别为0,0,1,表示其补字节长度为1,补字节长度加上1就为其对应的字节长度2,第5至8位分别为0,0,0,0,第2字节的第1至8位为0,0,0,0,0,1,0,0,第1字节的后四位和第2字节组成整数的差值4,其补值为上一个字节长度也就是1个字节长度表达的最大值加1,1个字节长度所表达的最大值是15,加上1就是16,差值4加上补值16即获得该字节数组所表达的整数数据的绝对值20,其他字节数依次类推,不再赘述。
对于字节数组的长度,整数数据的绝对值数值越小,则所述整数数据转换后的字节数组的长度越短。
为实现相同符号下的有序比较和查询,所述符号包括非负整数数据和负整数数据,以字节长度由小到大的顺序通常表示相同符号下的整数大小顺序,对不同符号下的整数数据分开进行由小到大的排序,非负整数以顺序进行排序,负整数以逆序进行排序,从而实现相同符号下的整数的有序比较。
S103,将转换为字节数组的所述整数数据存入所述数据库中。
本发明整数数据的存储方法的具体编码规则如下:
1)字节数组的第1个字节中,第1位表示正负,第2至4位表示补字节长度,第5-8位表示整数值最高4位。
2)字节数组的长度根据第1个字节中补字节长度来决定,即字节数组长度等于补字节长度加1。
3)整数值的绝对值由补值和差值相加组成。字节数组除第1个字节外,后续的字节与第1个字节的第5-8位一起组成整数值的差值;补值则根据补字节长度来决定。
4)以字节长度由小到大的顺序,每一个字节长度的补值为上一个字节长度所能表达的最大值加1;而当前字节长度所能表达的最大值为补值加上当前字节数组中数据部分所能表达的整数最大值(即差值的最大值)。
编码算法如下:
Figure GDA0003447506750000051
Figure GDA0003447506750000061
Figure GDA0003447506750000071
解码算法如下:
Figure GDA0003447506750000072
Figure GDA0003447506750000081
设v为整数值,L为编码之后的字节数组长度,C为补字节数组长度。由编码规则可知:L=C+1。
针对某字节数组长度区间,V表示数值大小,CV表示补值大小,DV表示差值大小,MAXV和MINV表示该区间所能表示整数的最大值和最小值,MAXCV和MINCV表示补值的最大值和最小值,MAXDV和MINDV表示差值的最大值和最小值,R为区间的值域。证明过程如下:
一、在非负数整数情况下,证明唯一性和有序性。
1、表示唯一性,即证明唯一一个整数值与唯一一个字节数组相对应,包含如下两部分:
a.证明任意不同的字节数组表示的整数值不同且唯一,证明如下:
1)若Lm和Ln相邻,即Ln=Lm+1,则根据规则,MINVn=MAXVm+1,即Rm与Rn连续无重合。
2)若Lm和Ln不相邻,则可以找出Lm和Ln之间的连续区间,即L(m+1)、L(m+2)、L(m+3)…L(n-1),从而组成连续的值域空间,证明Rm与Rn无重合。
3)由以上两条可知,不同长度的字节数组表示了不同区间的整数值,而由规则可知不同长度的字节数组其首位字节必然不同。
4)由于区间内的任意一个值V=CV+DV。区间内CV相同,而字节数组的数值部分如果不同,则DV不同,从而导致V不同。即任一字节数组只能表示为唯一一个整数。
b.证明任意不同的整数值所编码的字节数组不同,证明如下:
1)根据编码规则和算法,任意一个整数值V,其编码的字节数组长度由其值所在的区间来决定,即一个整数值V不会同时编码为不同长度的字节数组中去。
2)根据V=CV+DV,且区间内CV值相同。即任意一个整数值V,其DV值唯一,所以只能编码为唯一的字节数组中的数值部分。
3)结合以上两条,即任意一个整数只对应唯一的一个字节数组。
2、有序性,即证明字节序大小代表整数值大小。设字节数组Bj由值j转换而成,Bi由值i转换而成,字节序上Bj>Bi,证明如下:
1)若字节数组的首字节前4位不同,即(Bj1>>>4)>(Bi1>>>4),则由编码规则得知,字节数组长度不同。设Bj属于长度n,Bi属于长度m。由于字节数组长度的大小与区间值的递增顺序一致,即若n>m,则值域Rn全部大于Rm。由此得证,j>i。
2)若字节数组的首字节前4位相同,即(Bj1>>>4)=(Bi1>>>4),则由编码规则得知,字节数组的数值部分的位值是不同的。设两者的位值为BVj和BVi,即BVj大于BVi,则值的大小顺序相同,即j>i。
二、以上证明都是以非负数为前提进行,需要证明负数与非负数的数组区间不交叉,同时负数的区间仍然满足以上唯一性和有序性。
1、无交叉性,证明如下:
因负数与非负数的首字节首位不同,即负数与非负数的区间不会存在交叉。
2、唯一性,证明如下:
1)对任一负数V,根据之前的证明,其绝对值-V都由唯一的一个字节数组表示,且首字节首位为1。则对V,都由唯一的一个字节数组表示,除了将首字节首位置为0外,其字节数组值与-V的字节数组值相同。
2)对任一字节数组,若其首字节首位为1,则根据之前的证明,其表示唯一的非负整数值V。若其首字节首位为0,则将其首字节首位置为1时表示的唯一值设为V,原始字节数组表示的唯一负整数值为-V。
3、有序性,设字节数组Bj由值j转换而成,Bi由值i转换而成,字节序上Bj>Bi,且i和j都为负整数。证明如下:
1)由于首字节首位相同,将首字节首位置为1时,值分别为-i和-j。
2)若Bj>Bi,则-j>-i,即i>j。由此得知,在两个值都是负整数时,满足字节数组的逆序性,即字节数组的字节序越大,则负整数值越小。
根据编码规则可知,绝对值越小的数值,字节数组长度越小,且根据首字节即可判断所表示整数的字节数组长度边界;根据以上证明结果,该编码方式可以实现相同符号情况下的整数值大小与编码字节序的一致性(非负整数时为顺序,负整数时为逆序),可以实现相同符号下的有序范围比较和查询。
这种编码方式的缺点是针对不同符号下的整数,其有序性不同。此种情况下的一个解决方案是,可以分为非负整数比较部分和负整数比较部分,分两次进行有序比较,仍然可以在一定程度上减少比较顺序和存储顺序不一致带来的性能损失。
图2示出了根据本发明的整数数据的存储装置的结构示意图,该装置用于数据库中的整数数据存储。
接收装置201,用于接收输入到数据库的整数数据。其中数据库包括NoSQL数据库,如HBsae、RocksDB、LevelDB等KV数据库,在这些数据库中,值是以字节数组的形式来存储的。
转换装置202,用于将接收的整数数据转换为字节数组。
其中字节数组的每个字节包括8比特位,在所述字节数组的第1个字节中,第1位表示所述字节数组对应的整数数据属于非负整数或负整数,第2至4位表示补字节长度,第5至8位表示所述整数数据的最高4位。每个整数数据转换后的字节数组的字节长度等于所述字节数组第1字节中的补字节长度加1,整数数据的绝对值由补值和差值相加组成,所述字节数组除第1个字节外,后续的字节与所述第1个字节的第5至8位一起组成所述整数的差值,所述补值根据所述补字节长度来决定,其中以字节长度由小到大的顺序,每个字节长度的补值为上一个字节长度所表达的最大值加1,其中最短字节数组的长度为1个字节,最长字节数组的长度为8个字节。
对于字节数组的长度,整数数据的绝对值数值越小,则所述整数数据转换后的字节数组的长度越短。
为实现相同符号下的有序比较和查询,所述符号包括非负整数数据和负整数数据,以字节长度由小到大的顺序通常表示相同符号下的整数大小顺序,对不同符号下的整数数据分开进行由小到大的排序,非负整数以顺序进行排序,负整数以逆序进行排序,从而实现相同符号下的整数的有序比较。
存储装置203,用于将转换为字节数组的所述整数数据存入所述数据库中。
应当理解,上述示例的整数数据的存储装置的结构仅为本发明实施例提供的一个例子,其可具有比示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。如在数据库中,包括处理器和存储器,所述存储器存储计算机程序,所述处理器执行所述计算机程序以实现本发明所述的整数数据的存储方法。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(英文:Random Access Memory,RAM)、闪存、只读存储器(英文:Read Only Memory,ROM)、可擦除可编程只读存储器(英文:ErasableProgrammable ROM,EPROM)、电可擦可编程只读存储器(英文:Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。
以上对本发明的实施例进行了描述。但是这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。本发明的范围由所附权利要求及其等价物限定。不脱离本发明的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本发明公开的范围之内。

Claims (10)

1.一种整数数据的存储方法,用于数据库中的整数数据存储,其特征在于,所述整数数据的存储方法包括:
接收输入到数据库的整数数据;
将接收的所述整数数据转换为字节数组,在所述字节数组的第1个字节中,第1位表示所述整数数据属于非负整数或负整数,第2至4位表示补字节长度,第5至8位表示所述整数数据的最高4位,所述字节数组的长度等于所述补字节长度加1,所述整数数据的绝对值由补值和差值相加组成,所述字节数组除第1个字节外,后续的字节与所述第1个字节的第5至8位一起组成所述整数的差值,所述补值根据所述补字节长度来决定,其中以字节长度由小到大的顺序,每个字节长度的补值为上一个字节长度所表达的最大值加1,其中最短字节数组的长度为1个字节,最长字节数组的长度为8个字节;
将转换为字节数组的所述整数数据存入所述数据库中。
2.一种如权利要求1所述的方法,其特征在于:所述整数数据的绝对值数值越小,则所述整数数据转换后的字节数组的长度越短。
3.一种如权利要求1所述的方法,其特征在于:所述以字节长度由小到大的顺序表示相同符号下的整数大小顺序,所述符号包括非负整数和负整数。
4.一种如权利要求3所述的方法,其特征在于:对不同符号下的整数数据分开进行由小到大的排序,非负整数以顺序进行排序,负整数以逆序进行排序,以实现相同符号下的整数的有序比较。
5.一种整数数据的存储装置,用于数据库中的整数数据存储,其特征在于,所述整数数据的存储装置包括:
接收装置,其用于接收输入到数据库的整数数据;
转换装置,其用于将接收的所述整数数据转换为字节数组,在所述字节数组的第1个字节中,第1位表示所述整数数据属于非负整数或负整数,第2至4位表示补字节长度,第5至8位表示所述整数数据的最高4位,所述字节数组的长度等于所述补字节长度加1,所述整数数据的绝对值由补值和差值相加组成,所述字节数组除第1个字节外,后续的字节与所述第1个字节的第5至8位一起组成所述整数的差值,所述补值根据所述补字节长度来决定,其中以字节长度由小到大的顺序,每个字节长度的补值为上一个字节长度所表达的最大值加1,其中最短字节数组的长度为1个字节,最长字节数组的长度为8个字节;
存储装置,其用于将转换为字节数组的所述整数数据存入所述数据库中。
6.一种如权利要求5所述的装置,其特征在于:所述整数数据的绝对值数值越小,则所述整数数据转换后的字节数组的长度越短。
7.一种如权利要求5所述的装置,其特征在于:所述以字节长度由小到大的顺序表示相同符号下的整数大小顺序,所述符号包括非负整数和负整数。
8.一种如权利要求7所述的装置,其特征在于:对不同符号下的整数数据分开进行由小到大的排序,非负整数以顺序进行排序,负整数以逆序进行排序,以实现相同符号下的整数的有序比较。
9.一种整数数据的存储装置,用于数据库中的整数数据存储,其特征在于:
包括处理器和存储器;
所述存储器存储计算机程序,所述处理器执行所述计算机程序以实现如权利要求1-4任一所述的方法。
10.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一所述的方法。
CN202110177677.2A 2021-02-09 2021-02-09 整数数据的存储方法、装置及存储介质 Active CN112699639B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110177677.2A CN112699639B (zh) 2021-02-09 2021-02-09 整数数据的存储方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110177677.2A CN112699639B (zh) 2021-02-09 2021-02-09 整数数据的存储方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112699639A CN112699639A (zh) 2021-04-23
CN112699639B true CN112699639B (zh) 2022-03-04

Family

ID=75516697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110177677.2A Active CN112699639B (zh) 2021-02-09 2021-02-09 整数数据的存储方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112699639B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070241948A1 (en) * 2005-02-25 2007-10-18 Research In Motion Limited Method and apparatus for data encoding
CN101937448A (zh) * 2009-06-28 2011-01-05 Sap股份公司 用于主存储器列存储装置的基于字典的保持顺序的串压缩
CN102460976A (zh) * 2009-05-19 2012-05-16 诺基亚公司 用于可变长度编码的方法和设备
CN103248367A (zh) * 2012-02-03 2013-08-14 展讯通信(上海)有限公司 码流数据的编码、解码方法和装置
CN105306063A (zh) * 2015-10-12 2016-02-03 浙江大学 一种记录型数据存储空间的优化与恢复方法
US20190394485A1 (en) * 2017-02-23 2019-12-26 Realnetworks, Inc. Coding block bitstream structure and syntax in video coding systems and methods
CN110825323A (zh) * 2019-10-25 2020-02-21 上海钒兆钛智能科技有限公司 浮点数数据的存储、读取方法和计算机可读存储介质
CN111600610A (zh) * 2020-05-26 2020-08-28 北京思特奇信息技术股份有限公司 一种变长整数的通用编码方法、系统及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495318C (zh) * 2007-01-30 2009-06-03 金蝶软件(中国)有限公司 整型数据的压缩方法、装置及解压缩方法、装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070241948A1 (en) * 2005-02-25 2007-10-18 Research In Motion Limited Method and apparatus for data encoding
CN102460976A (zh) * 2009-05-19 2012-05-16 诺基亚公司 用于可变长度编码的方法和设备
CN101937448A (zh) * 2009-06-28 2011-01-05 Sap股份公司 用于主存储器列存储装置的基于字典的保持顺序的串压缩
CN103248367A (zh) * 2012-02-03 2013-08-14 展讯通信(上海)有限公司 码流数据的编码、解码方法和装置
CN105306063A (zh) * 2015-10-12 2016-02-03 浙江大学 一种记录型数据存储空间的优化与恢复方法
US20190394485A1 (en) * 2017-02-23 2019-12-26 Realnetworks, Inc. Coding block bitstream structure and syntax in video coding systems and methods
CN110825323A (zh) * 2019-10-25 2020-02-21 上海钒兆钛智能科技有限公司 浮点数数据的存储、读取方法和计算机可读存储介质
CN111600610A (zh) * 2020-05-26 2020-08-28 北京思特奇信息技术股份有限公司 一种变长整数的通用编码方法、系统及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Dynamic Byte Encoding Genetic Algorithm for Numerical Optimization;Xianyue Gang 等;《2008 3rd International Conference on Innovative Computing Information and Control》;20080822;全文 *
XML数据编码与存储管理关键技术研究;汪陈应;《中国优秀博士学位论文全文数据库 信息科技辑(月刊)》;20110715(第7期);全文 *

Also Published As

Publication number Publication date
CN112699639A (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
US8659451B2 (en) Indexing compressed data
Williams et al. Compressing integers for fast file access
US20130099947A1 (en) Data Compression Utilizing Variable and Limited Length Codes
US9336225B2 (en) Encoding of variable-length data with unary formats
KR20110090972A (ko) 고속 직렬 링크를 이용하는 메모리 시스템의 코딩 시스템
US20060004858A1 (en) Self-Adaptive Prefix Encoding for Stable Node Identifiers
Kärkkäinen et al. Hybrid compression of bitvectors for the FM-index
US9584156B1 (en) Creating a dynamic Huffman table
Walder et al. Fast decoding algorithms for variable-lengths codes
US9236881B2 (en) Compression of bitmaps and values
JPS6356726B2 (zh)
CN111699480A (zh) 数据库系统中的加速过滤、分组和聚合
US7068192B1 (en) System and method for encoding and decoding variable-length data
CN112527951B (zh) 整数数据的存储方法、装置及存储介质
CN112699639B (zh) 整数数据的存储方法、装置及存储介质
KR20220054651A (ko) 다중 심볼 디코더
JPH03204234A (ja) 圧縮データ復元方法
CN113630123A (zh) 一种数据压缩系统及方法
US7127595B1 (en) Method and system for configuring to a desired order the order of a data array
CN110798689B (zh) 一种将nv12+格式转换为p010格式的方法
Rani et al. An Enhanced Text Compression System Based on ASCII Values and Huffman Coding
JPH0738447A (ja) ハフマン符号の符号化でのランレングス抽出方法、ハフマン符号変換方法およびmh符号化処理方法
JP2003273746A (ja) 可変長符号復号装置
CN115630063A (zh) 一种b+树存储空间优化方法及设备
CN112417815A (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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Storage method, device and storage medium of integer data

Effective date of registration: 20220928

Granted publication date: 20220304

Pledgee: Bank of Hangzhou Limited by Share Ltd. Beijing Zhongguancun branch

Pledgor: BEIJING THREATBOOK TECHNOLOGY CO.,LTD.

Registration number: Y2022990000674