CN103186668B - 基于键值数据库的数据处理方法与装置以及数据存储系统 - Google Patents
基于键值数据库的数据处理方法与装置以及数据存储系统 Download PDFInfo
- Publication number
- CN103186668B CN103186668B CN201310076541.8A CN201310076541A CN103186668B CN 103186668 B CN103186668 B CN 103186668B CN 201310076541 A CN201310076541 A CN 201310076541A CN 103186668 B CN103186668 B CN 103186668B
- Authority
- CN
- China
- Prior art keywords
- groove
- data block
- key name
- meta data
- data entry
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于键值数据库的数据处理方法与装置以及数据存储系统,能够提高键值数据库的文件访问效率,并有助于延长磁盘寿命。该方法包括:按照预先设置的槽与数据条目的键名之间的对应关系,在索引文件中查找对应于当前待存储的数据条目的键名的槽,将所述当前待存储的数据条目的元数据块向该槽中保存,在所述对应关系中,一个槽对应于多个数据条目的键名;一个槽对应的数据条目的数量预先设定,并且每个槽中包含记录区域,用来记录与本槽链接的扩展槽的地址;在所述该槽已满的情况下,将所述当前待存储的数据条目的元数据块保存在所述该槽的未满的扩展槽中。
Description
技术领域
本发明涉及一种基于键值数据库的数据处理方法与装置以及数据存储系统。
背景技术
键值数据库是一种常用的数据库,其中的数据条目以键名-键值(Key-Value)方式保存。在存储海量数据的情况下,通常采用图1所示的存储系统的形式,图1是根据现有技术中的存储系统的基本结构的示意图。如图1所示,存储系统10划分为多个存储单元11、12……1N,每个存储单元中包含索引文件和数据文件。索引文件中保存多个数据条目的元数据块,数据文件中保存多个数据条目的键值。随着数据条目的不断保存,数据文件的大小也在增加。为了避免单个数据文件过大,可以设定数据文件的大小,到达该大小时新建数据文件。参考图1,例如存储单元11中包含两个数据文件111、112。
在对数据库进行随机读写时,对于需要读写的数据条目,首先找到包含键名的元数据块,再根据该元数据块中的内容访问数据条目。为此,在保存元数据块时,对键名进行数值计算例如取哈希值,得到一个正整数,然后按预设的方式取其中的两段数字来确定元数据块被保存到的存储单元和元数据块在索引文件中的位置。在这里,索引文件被预先划分为若干个位置。这样,例如某订单数据条目,以订单号作为其键名,订单号为H12345,对H12345进行哈希计算得到87276292,则将其保存到第92个存储单元的第762号位置上。这里预设的取两段数字的方式具体是取末两位作为存储单元号以及取末第三至第五位作为位置号。可以通过取模计算来得到。
有两个数据条目的键名经过数值计算后发现它们所在的元数据块需要保存到同一个索引文件的同一个位置上,例如数值计算的结果分别是87276292和95176292,则在第92个存储单元的第762号位置上保存其中一个键名所在的元数据块,在索引文件的末尾建立一个新位置,将另一个键名所在的元数据块保存在该新位置上,并且在第92个存储单元的第762号位置上的元数据块中记录上述新位置的地址,即以“原位置指向新位置”的方式链式保存两个元数据块。
在有N个数据条目的元数据块需要保存到同一个索引文件的同一个位置上的情况下,按上述链式保存的方式导致的“跳越式读取”的跳跃次数为N-1。目前通常的数据库中,数据条目一般都具有很大的数量,导致往往有多个数据条目的元数据块需要保存到同一个索引文件的同一个位置上,从而上述的跳跃次数巨大,存储装置的磁盘指针移动频繁,导致数据库的文件访问效率低下,并影响磁盘寿命。
发明内容
有鉴于此,本发明提供一种基于键值数据库的数据处理方法与装置以及数据存储系统,能够提高键值数据库的文件访问效率,并有助于延长磁盘寿命。
为实现上述目的,根据本发明的一个方面,提供了一种基于键值数据库的数据处理方法。
本发明的基于键值数据库的数据处理方法包括:按照预先设置的槽与数据条目的键名之间的对应关系,在索引文件中查找对应于当前待存储的数据条目的键名的槽,将所述当前待存储的数据条目的元数据块向该槽中保存,在所述对应关系中,一个槽对应于多个数据条目的键名;一个槽对应的数据条目的数量预先设定,并且每个槽中包含记录区域,用来记录与本槽链接的扩展槽的地址;在所述该槽已满的情况下,将所述当前待存储的数据条目的元数据块保存在所述该槽的未满的扩展槽中。
可选地,还包括:根据需要访问的数据条目的键名和所述对应关系确定槽,遍历该槽中的元数据块以确定包含有该键名的元数据块;在该槽中没有所述包含有该键名的元数据块的情况下,遍历该槽的扩展槽中的元数据块以确定包含有该键名的元数据块;根据所述包含有该键名的元数据块中的信息确定需要访问的数据条目的位置。
可选地,所述对应关系包括:槽的编号以及该槽所在存储单元的编号与数据条目的键名经过数值计算得到的正整数中的预定位置的两段数字之间的对应关系。
根据本发明的另一方面,提供了一种基于键值数据库的数据处理装置。
本发明的基于键值数据库的数据处理装置包括:查找模块,用于按照预先设置的槽与数据条目的键名之间的对应关系,在索引文件中查找对应于当前待存储的数据条目的键名的槽;其中一个槽对应的数据条目的数量预先设定,并且每个槽中包含记录区域,用来记录与本槽链接的扩展槽的地址;在所述对应关系中,一个槽对应于多个数据条目的键名;元数据块保存模块,用于将所述当前待存储的数据条目的元数据块向所述查找模块查找到的槽中保存,并且在该槽已满的情况下,将该元数据块保存在该槽的未满的扩展槽中。
可选地,还包括遍历模块和访问模块,其中,所述遍历模块,用于:根据需要访问的数据条目的键名和所述对应关系确定槽,遍历该槽中的元数据块以确定包含有该键名的元数据块,在该槽中没有所述包含有该键名的元数据块的情况下,遍历该槽的扩展槽中的元数据块以确定包含有该键名的元数据块;所述访问模块,用于根据所述遍历模块确定出的元数据块中的信息确定需要访问的数据条目的位置。
可选地,所述对应关系包括:槽的编号以及该槽所在存储单元的编号与数据条目的键名经过数值计算得到的正整数中的预定位置的两段数字之间的对应关系。
根据本发明的又一方面,提供了一种基于键值数据库的数据存储系统。
在本发明的基于键值数据库的数据存储系统中,所述数据存储系统包含多个存储单元,各个所述存储单元包含索引文件和数据文件;各个所述索引文件中包含多个用于保存数据条目的元数据块的槽以及一个或多个链式链接的扩展槽,每个槽保存的元数据块由预先设置的槽与数据条目的键名之间的对应关系确定,并且每个槽保存的元数据块的数量预先设定,各个槽中包含记录区域,用来记录与本槽链接的扩展槽的地址,所述扩展槽用于在所述本槽已满的情况下代替该本槽保存元数据块。
可选地,所述索引文件中包含记录区域,用来记录当前新增扩展槽时该扩展槽在索引文件中的偏移量。
可选地,各个槽的槽头中记录与本槽链接的扩展槽的地址以及本槽保存的元数据块的数量。
可选地,所述对应关系包括:槽的编号以及该槽所在存储单元的编号与数据条目的键名经过数值计算得到的正整数中的预定位置的两段数字之间的对应关系。
根据本发明的技术方案,在键值数据库的索引文件中建立槽,根据预设的对应关系,将多个元数据块保存到同一个槽中,这样在保存和查找元数据块时,在同一个槽中是顺序进行,只有查找和保存涉及一个以上的槽地才发生跳转,有助于减少磁盘指针的跳转次数,从而提高对于索引文件的访问效率并且延长磁盘的使用寿命。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据现有技术中的存储系统的基本结构的示意图;
图2是根据本发明实施例的槽以及扩展槽之间的关系的示意图;
图3是根据本发明实施例的槽的结构的示意图;
图4是根据本发明实施例的基于键值数据库的数据处理方法的一种流程的示意图;
图5A是根据现有技术中的访问元数据块时磁盘指针跳转的示意图;
图5B是根据本发明实施例的访问元数据块时磁盘指针跳转的示意图;
图6是根据本发明实施例的访问元数据块的基本步骤的示意图;
图7是根据本发明实施例的元数据块的一种结构的示意图;
图8是根据本发明实施例的一个数据文件的结构的示意图;
图9是根据本发明实施例的索引文件的结构的示意图;
图10是根据本发明实施例的基于键值数据库的数据处理装置的基本结构的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本发明实施例中,采用类似于图1所示的存储系统的基本结构,但在索引文件中,采用槽来保存数据条目的元数据块。槽的大小固定,用来保存确定数量(例如1000个)的元数据块,可以看作是一群元数据块的集合。这样用槽来代替图1中的索引文件111内的单独的元数据块,在槽内按一定方式存储元数据块,当某个槽满了以后,在索引的末尾动态的开辟空间作为该槽的扩展槽,当扩展槽满了之后,同样再开辟空间作为该槽的扩展槽,并且使各个槽前后链式链接,即一个槽只与一个扩展槽链接,可以在槽头记录扩展槽的地址。
参考图2和图3,图2是根据本发明实施例的槽以及扩展槽之间的关系的示意图,其中索引文件20中的槽21链接到扩展槽22,后者又链接到扩展槽23。图3是根据本发明实施例的槽的结构的示意图。各个槽的结构类似,例如槽21的槽头210中有槽21的扩展槽22的地址2101和元数据块数目2102,槽的主体是用来储存N个元数据块,即元数据块211、212……21N。
在将一个新的元数据块写入索引文件时,可以采用图4所示的步骤。图4是根据本发明实施例的基于键值数据库的数据处理方法的一种流程的示意图。该流程主要是用于在数据库的索引文件中保存元数据块。
步骤S41:按照预先设置的槽与数据条目的键名之间的对应关系,在索引文件中查找对应于当前待存储的数据条目的键名的槽。这里的对应关系可以灵活设定,可以是槽的编号以及该槽所在存储单元的编号与数据条目的键名经过数值计算得到的正整数中的预定位置的两段数字之间的对应关系。例如,采用哈希法作为数值计算的方法,对两个键名计算得到的哈希值分别是531082和671082,并且设定的对应关系是末两位对应于存储单元的编号,从末位起第三至四位是槽的编号,则包含上述两个键名的元数据块都要存放到第82号存储单元的第10号槽内。但是在存放时可能遇到第10号槽已满的情况,因此在步骤S42中要进行判断。
步骤S42:判断查找到的槽是否已满。如果未满,进入步骤S43;否则进入步骤S44。以下将上述查找到的槽称作槽A。
步骤S43:将当前待存储的数据条目的元数据块保存到槽A中。本步骤之后即结束流程。
步骤S44:判断槽A是否链接了扩展槽。若是,进入步骤S45,否则进入步骤S46。
步骤S45:判断从槽A起依次链接的位于末位的扩展槽X是否已满。若是,进入步骤S46,否则进入步骤S48。
步骤S46:开辟一个扩展槽M,将其链接到槽X上。然后转入步骤S47。
步骤S47:将当前待存储的数据条目的元数据块保存到扩展槽M中。本步骤之后即结束流程。
步骤S48:将当前待存储的数据条目的元数据块保存到扩展槽X中。本步骤之后即结束流程。
从上述步骤中可以看出,因为总是等到当前已有的槽(包括槽A及其扩展槽)满之后再开辟扩展槽,所以在步骤S45中是访问位于末位的扩展槽X。应用图4所示的流程存储元数据块,有助于使访问元数据块时减小磁盘指针跳转的次数。以下结合图5A和图5B加以说明。图5A是根据现有技术中的访问元数据块时磁盘指针跳转的示意图;图5B是根据本发明实施例的访问元数据块时磁盘指针跳转的示意图。例如有16个数据条目的键名经过数值计算后发现它们所在的元数据块需要保存到同一个索引文件的同一个位置上,例如计算结果是87276292、95176292……等,则如图5A所示,如要访问第16个元数据块,则磁盘指针500需要从位置501起依次跳过位置502、503……直至位置516,共跳转15次;而如图5B所示,对于容量为储存1000个元数据块的槽,如上例计算结果是87276292、95176292……等的情形,则这些元数据块531、532……546它们都被先后储存到第92号槽550中,如果92号槽中还剩16个以上的空位置,则在该92号槽中能够直接访问到16个数据条目的键名所在的元数据块;即使92号槽中的空位置少于16个,磁盘指针500也只需跳转1次到92号槽链接的98号槽560中即可。访问元数据块的流程可参考图6,图6是根据本发明实施例的访问元数据块的基本步骤的示意图。
步骤S61:根据需要访问的数据条目的键名确定槽。此处的确定槽即根据步骤S41中的对应关系来确定。以下将本步骤中确定出的槽称作槽E,上述键名为K。槽E即为保存了需要访问的数据条目的元数据块的槽。
步骤S62:遍历槽E中的元数据块以确定包含有K的元数据块。本步骤之后根据遍历结果进行判断。即进入步骤S63。
步骤S63:判断槽E中是否有包含K的元数据块。若是,进入步骤S64,否则进入步骤S65。
步骤S64:从槽E中读取包含K的元数据块。
步骤S65:遍历槽E的扩展槽直到找到包含有K的元数据块。在本步骤中,依次遍历可能不止一个扩展槽,但在各槽内的遍历是顺序进行,磁盘指针不发生跳转,因此效率较高。因为一个槽可以容纳很多元数据块,所以槽的数目一般不大,因此磁盘指针跳转次数总的来说比较少。本步骤之后进入步骤S66。
步骤S66:从槽E的扩展槽中读取包含K的元数据块。
元数据块内可以采用图7所示的结构。图7是根据本发明实施例的元数据块的一种结构的示意图。如图7所示,元数据块70中包含6个字节,其中字节71表示键名的长度;字节72表示键值所在的数据文件;字节73表示键值在其所在数据文件中的位置;字节74表示键值的数据量;字节75表示该键值是否被删除;字节76是键名。
读取元数据块之后,可以根据其中的键名来访问数据文件中的键值。数据文件的一种可选结构如图8所示,图8是根据本发明实施例的一个数据文件的结构的示意图。
在图8中,数据文件80中包含数据块81、82、83和84,每个数据块是一个数据条目的键值。每次保存数据块时,直接将数据块追加保存在数据文件末尾。这样数据文件的大小就会不断增加,当增加到一个预设值时,新建一个数据文件,然后向该新建的数据文件中保存数据块。这样,一个存储单元中可能有多个数据文件,各个数据文件具有编号,有关数据文件的一些信息记录在索引文件中。索引文件的一种可选结构如图9所示,图9是根据本发明实施例的索引文件的结构的示意图。
图9中示出了索引文件90中包含的索引头91、第0槽92、第1槽93……第N槽94,以及与第0槽92链接的第0扩展槽95、与第0扩展槽链接的第1扩展槽96、与第1槽92链接的第2扩展槽97……第N扩展槽98。图9中的链接关系仅为示例。索引头中包含3个字段,第1个字段表示编号最大的数据文件的编号;第2个字段表示编号最大的数据文件末尾的位置,从而使新的数据块追加到该位置;第3个字段表示当前新增扩展槽时该扩展槽在索引文件中的偏移量,即接下来要新增的扩展槽在索引文件中的位置,因为扩展槽也是不断地追加在索引文件的当前末尾。
经过测试,采用本发明实施例的技术方案得到的相关数据如表1所示。从表1可以看出,该技术方案在读写小数据时的性能尤为突出。
表1
图10是根据本发明实施例的基于键值数据库的数据处理装置的基本结构的示意图。如图10所示,基于键值数据库的数据处理装置100包括查找模块101和元数据块保存模块102。
查找模块101用于按照预先设置的槽与数据条目的键名之间的对应关系,在索引文件中查找对应于当前待存储的数据条目的键名的槽;其中一个槽对应的数据条目的数量预先设定,并且每个槽中包含记录区域,用来记录与本槽链接的扩展槽的地址;在所述对应关系中,一个槽对应于多个数据条目的键名;元数据块保存模块102用于将所述当前待存储的数据条目的元数据块向所述查找模块查找到的槽中保存,并且在该槽已满的情况下,将该元数据块保存在该槽的未满的扩展槽中。
基于键值数据库的数据处理装置101还可以包括遍历模块和访问模块(图中未示出)。其中遍历模块用于:根据需要访问的数据条目的键名和所述对应关系确定槽,遍历该槽中的元数据块以确定包含有该键名的元数据块,在该槽中没有所述包含有该键名的元数据块的情况下,遍历该槽的扩展槽中的元数据块以确定包含有该键名的元数据块;所述访问模块用于根据所述遍历模块确定出的元数据块中的信息确定需要访问的数据条目的位置。
根据本发明实施例的技术方案,在键值数据库的索引文件中建立槽,根据预设的对应关系,将多个元数据块保存到同一个槽中,这样在保存和查找元数据块时,在同一个槽中是顺序进行,只有查找和保存涉及一个以上的槽地才发生跳转,有助于减少磁盘指针的跳转次数,从而提高对于索引文件的访问效率并且延长磁盘的使用寿命。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和设备的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来开发出的任何存储介质。
还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种基于键值数据库的数据处理方法,其特征在于,包括:
按照预先设置的槽与数据条目的键名之间的对应关系,在索引文件中查找对应于当前待存储的数据条目的键名的槽,将所述当前待存储的数据条目的元数据块向该槽中保存,在所述对应关系中,一个槽对应于多个数据条目的键名;
一个槽对应的数据条目的数量预先设定,并且每个槽中包含记录区域,用来记录与本槽链接的扩展槽的地址;在所述该槽已满的情况下,将所述当前待存储的数据条目的元数据块保存在所述该槽的未满的扩展槽中。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据需要访问的数据条目的键名和所述对应关系确定槽,遍历该槽中的元数据块以确定包含有该键名的元数据块;
在该槽中没有所述包含有该键名的元数据块的情况下,遍历该槽的扩展槽中的元数据块以确定包含有该键名的元数据块;
根据所述包含有该键名的元数据块中的信息确定需要访问的数据条目的位置。
3.根据权利要求1或2所述的方法,其特征在于,所述对应关系包括:槽的编号以及该槽所在存储单元的编号与数据条目的键名经过数值计算得到的正整数中的预定位置的两段数字之间的对应关系。
4.一种基于键值数据库的数据处理装置,其特征在于,包括:
查找模块,用于按照预先设置的槽与数据条目的键名之间的对应关系,在索引文件中查找对应于当前待存储的数据条目的键名的槽;其中一个槽对应的数据条目的数量预先设定,并且每个槽中包含记录区域,用来记录与本槽链接的扩展槽的地址;在所述对应关系中,一个槽对应于多个数据条目的键名;
元数据块保存模块,用于将所述当前待存储的数据条目的元数据块向所述查找模块查找到的槽中保存,并且在该槽已满的情况下,将该元数据块保存在该槽的未满的扩展槽中。
5.根据权利要求4所述的装置,其特征在于,还包括遍历模块和访问模块,其中,
所述遍历模块,用于:
根据需要访问的数据条目的键名和所述对应关系确定槽,遍历该槽中的元数据块以确定包含有该键名的元数据块,
在该槽中没有所述包含有该键名的元数据块的情况下,遍历该槽的扩展槽中的元数据块以确定包含有该键名的元数据块;
所述访问模块,用于根据所述遍历模块确定出的元数据块中的信息确定需要访问的数据条目的位置。
6.根据权利要求4或5所述的装置,其特征在于,所述对应关系包括:槽的编号以及该槽所在存储单元的编号与数据条目的键名经过数值计算得到的正整数中的预定位置的两段数字之间的对应关系。
7.一种基于键值数据库的数据存储系统,其特征在于,
所述数据存储系统包含多个存储单元,各个所述存储单元包含索引文件和数据文件;
各个所述索引文件中包含多个用于保存数据条目的元数据块的槽以及一个或多个链式链接的扩展槽,每个槽保存的元数据块由预先设置的槽与数据条目的键名之间的对应关系确定,并且每个槽保存的元数据块的数量预先设定,各个槽中包含记录区域,用来记录与本槽链接的扩展槽的地址,所述扩展槽用于在所述本槽已满的情况下代替该本槽保存元数据块。
8.根据权利要求7所述的数据存储系统,其特征在于,所述索引文件中包含记录区域,用来记录当前新增扩展槽时该扩展槽在索引文件中的偏移量。
9.根据权利要求7所述的数据存储系统,其特征在于,各个槽的槽头中记录与本槽链接的扩展槽的地址以及本槽保存的元数据块的数量。
10.根据权利要求7,8或9所述的数据存储系统,其特征在于,所述对应关系包括:槽的编号以及该槽所在存储单元的编号与数据条目的键名经过数值计算得到的正整数中的预定位置的两段数字之间的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310076541.8A CN103186668B (zh) | 2013-03-11 | 2013-03-11 | 基于键值数据库的数据处理方法与装置以及数据存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310076541.8A CN103186668B (zh) | 2013-03-11 | 2013-03-11 | 基于键值数据库的数据处理方法与装置以及数据存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103186668A CN103186668A (zh) | 2013-07-03 |
CN103186668B true CN103186668B (zh) | 2016-02-10 |
Family
ID=48677835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310076541.8A Active CN103186668B (zh) | 2013-03-11 | 2013-03-11 | 基于键值数据库的数据处理方法与装置以及数据存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103186668B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593477A (zh) * | 2013-11-29 | 2014-02-19 | 华为技术有限公司 | 一种哈希数据库的配置方法和装置 |
CN105516367B (zh) * | 2016-02-02 | 2018-02-13 | 北京百度网讯科技有限公司 | 分布式数据存储系统、方法和装置 |
CN107301177B (zh) * | 2016-04-14 | 2020-02-18 | 杭州海康威视数字技术股份有限公司 | 一种文件存储方法及装置 |
CN107870940B (zh) * | 2016-09-28 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 一种文件存储方法及装置 |
CN109947669A (zh) * | 2017-12-21 | 2019-06-28 | 北京忆恒创源科技有限公司 | Kv存储设备的地址转换方法与系统 |
CN110764705B (zh) * | 2019-10-22 | 2023-08-04 | 北京锐安科技有限公司 | 一种数据的读写方法、装置、设备和存储介质 |
CN111814166B (zh) * | 2020-07-10 | 2023-09-12 | 上海淇毓信息科技有限公司 | 一种数据加密方法、装置和电子设备 |
CN114282073B (zh) * | 2022-03-02 | 2022-07-15 | 支付宝(杭州)信息技术有限公司 | 数据存储方法及装置、数据读取方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436420A (zh) * | 2010-10-20 | 2012-05-02 | 微软公司 | 使用辅助存储器的低ram空间、高吞吐量的持久键值存储 |
CN102682116A (zh) * | 2012-05-14 | 2012-09-19 | 中兴通讯股份有限公司 | 基于哈希表的表项处理方法及其装置 |
-
2013
- 2013-03-11 CN CN201310076541.8A patent/CN103186668B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436420A (zh) * | 2010-10-20 | 2012-05-02 | 微软公司 | 使用辅助存储器的低ram空间、高吞吐量的持久键值存储 |
CN102682116A (zh) * | 2012-05-14 | 2012-09-19 | 中兴通讯股份有限公司 | 基于哈希表的表项处理方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103186668A (zh) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103186668B (zh) | 基于键值数据库的数据处理方法与装置以及数据存储系统 | |
US11238098B2 (en) | Heterogenous key-value sets in tree database | |
US7689574B2 (en) | Index and method for extending and querying index | |
CN103605805B (zh) | 一种海量时序数据的存储方法 | |
US7853770B2 (en) | Storage system, data relocation method thereof, and recording medium that records data relocation program | |
US6003036A (en) | Interval-partitioning method for multidimensional data | |
CN102867071B (zh) | 一种网管海量历史数据管理方法 | |
US20120323867A1 (en) | Systems and methods for querying column oriented databases | |
US20040205044A1 (en) | Method for storing inverted index, method for on-line updating the same and inverted index mechanism | |
CN110018983A (zh) | 一种元数据查询方法及装置 | |
CN110196847A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
CN107045531A (zh) | 一种优化hdfs小文件存取的系统及方法 | |
CN102375853A (zh) | 分布式数据库系统、在其中建立索引的方法和查询方法 | |
CN104615594B (zh) | 一种数据更新方法及装置 | |
CN102024047A (zh) | 数据检索方法及装置 | |
CN105912687A (zh) | 海量分布式数据库存储单元 | |
CN102779138B (zh) | 实时数据的硬盘存取方法 | |
Lomet | A simple bounded disorder file organization with good performance | |
CN102654863A (zh) | 一种实时数据库历史数据组织管理方式 | |
WO2006095356A1 (en) | A method of logging transactions and a method of reversing a transaction | |
CN114116612B (zh) | 一种基于b+树索引归档文件的存取方法 | |
CN106874329A (zh) | 数据库表索引的实现方法和装置 | |
CN106547484A (zh) | 一种基于raid5的实现内存数据可靠性方法及系统 | |
CN109634520B (zh) | 一种基于hdfs光盘库的存储系统 | |
CN104750743A (zh) | 一种交易文件勾对系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |