CN106796588A - 索引表的更新方法和设备 - Google Patents
索引表的更新方法和设备 Download PDFInfo
- Publication number
- CN106796588A CN106796588A CN201580001281.5A CN201580001281A CN106796588A CN 106796588 A CN106796588 A CN 106796588A CN 201580001281 A CN201580001281 A CN 201580001281A CN 106796588 A CN106796588 A CN 106796588A
- Authority
- CN
- China
- Prior art keywords
- concordance list
- index
- record
- density
- data
- 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.)
- Granted
Links
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/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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/2272—Management thereof
-
- 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/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/328—Management therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种索引表的更新方法和设备。该方法包括:确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,其中,所述第二索引表的索引密度为所述第二索引表包括的索引记录的条数与外部存储器中的第一索引表包括的索引记录的条数的比例,所述第二索引表按照所述索引密度在所述第一索引表进行索引记录更新时同步进行索引记录更新;按照调整后的所述索引密度从所述第一索引表中筛选索引记录,以筛选出的索引记录更新所述第二索引表;从而根据内存存储空间占用情况动态调整第二索引表,进而保障系统性能和检索效率。
Description
本发明实施例涉及存储领域,尤其涉及索引表的更新方法和设备。
数据处理设备的处理器工作时,为避免通过磁盘输入/输出端口(Input/Output,简称I/O)访问硬盘来从硬盘遍历查找数据,也为了加速数据查找,一般会在内存中建立内存数据库,该内存数据库中的索引表存储有索引记录,通过该索引记录可索引硬盘中的数据;这样,在采用关键字查找数据时,先根据该关键字值查找内存中的索引表对应记录的索引记录,如果该索引记录中的指针直接指向该关键字值映射的数据,根据查找到的索引记录读取数据;如果该索引记录中的指针不是直接指向该关键字值映射的数据,可根据该索引记录缩小查找该数据的查找范围,并进一步结合硬盘中的映射表查找该数据的索引记录,该硬盘中的映射表的索引记录包括指向该数据的指针,并根据指针读取该关键字值映射的数据。其中,查找到该关键字对应的索引记录后,再查找内存中是否存储有该索引记录对应的数据,如果存储有,处理器直接从内存读取该数据,如果未存储有该数据,处理器根据该索引记录从硬盘读取该数据。
大数据应用场景下的数据量较大,但内存中用于保存索引记录的存储空间有限,通常该存储空间远远小于硬盘的存储容量,无法把硬盘中所有索引记录都加载到内存中来提高查询性能;需采用合理策略确定将硬盘中哪些索引记录加载到内存中来提高检索效率,进而提高系统性能。
发明内容
有鉴于此,本发明实施例提供了一种索引表的更新方法和设备;在内存中用于存储索引表的存储空间有限的情况下,及时调整索引密度保证检索的效率。
第一方面,本发明实施例提供了一种索引表的更新方法,所述索引表的
更新方法包括:
确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,其中,所述第二索引表的索引密度为所述第二索引表包括的索引记录的条数与外部存储器中的第一索引表包括的索引记录的条数的比例,所述第二索引表按照所述索引密度在所述第一索引表进行索引记录更新时同步进行索引记录更新;
按照调整后的所述索引密度从所述第一索引表中筛选索引记录,以筛选出的索引记录更新所述第二索引表。
结合第一方面,在第一种可能的实现方式中,所述确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:
如果确认内存中的所述第二索引表占用的存储空间达到所述预设范围的上限,则减小所述第二索引表的索引密度。
结合第一方面或者第一方面的的第一种可能的实现方式,在第二种可能的实现方式中,所述确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:
如果确认内存中的所述第二索引表占用的存储空间小于所述预设范围的下限、且所述索引密度小于1,则增大所述第二索引表的索引密度。
结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:
当删除所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录;
当增加所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步增加所述第二索引表中的索引记录。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
在根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录时,删除内存中与同步删除的索引记录对应的数据。
第二方面,本发明实施例提供了一种数据处理器,所述数据处理器包括:
索引密度调整单元,用于确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,其中,所述第二索引表的索引密度为所述第二索引表包括的索引记录的条数与外部存储器中的第一索引表包括的索引记录的条数的比例,所述第二索引表按照所述索引密度在所述第一索引表进行索引记录更新时同步进行索引记录更新;
第二索引表更新单元,用于按照调整后的所述索引密度从所述第一索引表中筛选索引记录,以筛选出的索引记录更新所述第二索引表。
结合第二方面,在第一种可能的实现方式中,所述索引密度调整单元,用于确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:
所述索引密度调整单元,用于如果确认内存中的所述第二索引表占用的存储空间达到所述预设范围的上限,则减小所述第二索引表的索引密度。
结合第二方面或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述索引密度调整单元,用于确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:
所述索引密度调整单元,用于如果确认内存中的所述第二索引表占用的存储空间小于所述预设范围的下限、且所述索引密度小于1,则增大所述第二索引表的索引密度。
结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述数据处理器,还包括:
同步更新单元,用于当删除所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录;
所述同步更新单元,用于当增加所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步增加所述第二索引表中的索引记录。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述同步更新单元,还用于在根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录时,删除内存中与同步删除的索引记录对应
的数据。
第三方面,本发明实施例提供了一种数据处理设备,所述数据处理设备包括处理器和存储器,所述处理器与所述存储器通过总线连接;
所述存储器用于存储计算机执行指令,当所述数据处理设备运行时,所述处理器读取所述存储器中的所述计算机执行指令,以使所述数据处理设备执行第一方面或者第一方面的任一种可能的实施方式提供的索引表的更新方法。
通过上述方案,内存中的第二索引表与外部存储器中的第一索引表同步更新的过程中,如果所述第二索引表占用的内存存储空间达到预设范围的上限或下限,则调整索引密度,按照调整的索引密度从第一索引表重新筛选索引记录,以重新筛选出的索引记录更新第二索引表,从而根据内存存储空间占用情况动态调整第二索引表,进而保障系统性能和检索效率。
图1为索引表的更新方法的应用场景的系统逻辑结构示意图;
图2A为根据外部存储器的索引表在内存中建立稀疏索引表的实现示意图;
图2B为根据外部存储器的索引表在内存中建立稀疏索引表的实现示意图;
图3为从数据处理器角度提供的索引表的更新方法的一种示范性流程图;
图4为对图3提供的索引表的更新方法的一种可选细化流程图;
图5为数据处理器500的逻辑结构示意图;
图6为对数据处理器500的一种可选细化逻辑结构示意图;
图7为数据处理设备700的硬件结构示意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示的系统100,包括数据处理器101、内存102和外部存储器103。
对于图1中的外部存储器103,为软盘、U盘、硬盘、磁盘整列等存储介质,对外部存储器103具体为哪种存储介质构成,不做限定,但外部存储器103需具有在掉电时数据不消失的特性,用于保存数据。通常,数据处理设备的驱动程序、数据处理设备的启动程序、以及数据量大的数据都存储在外部存储器103中。如果处理器101与外部存储器103未解耦,处理器数据处理器101与外部存储器103通过总线连接,数据处理器101可通过磁盘输入/输出端口(Input/Output,简称I/O)访问外部存储器103,对外部存储器103执行读取数据、写入数据等操作。如果处理器101与外部存储器103解耦,则处理器101首先与外部存储器103包括的控制器建立通信连接后,再与外部存储器103之间通过消息实现数据交互,该消息用于载有数据。
对于图1中的内存102,是数据处理设备中重要部件之一,用于暂时存放数据处理器101运行时的运算数据(包括计算机指令)、以及与硬盘等外部存储器103交换的数据,因此它是外部存储器103与数据处理器101进行沟通的桥梁;因此,数据处理设备中程序的运行是基于内存进行的,内存的性能(例如内存的大小,尤其是内存中用于存储索引记录的存储空间的大小)对计算机的影响非常大。例如,数据处理设备在运行中,数据处理器101首先把外部存储器103中需运算的数据调到内存102中进行运算,运算完成后,数据处理器101再将运算结果写入外部存储器103,内存102的运行性能也一定程度上决定了数据处理设备的运行性能。
对于图1中的数据处理器101,数据处理器101可以是中央处理器(CPU,Central Processing Unit),该CPU作为数据处理设备的控制核心,解释并执行计算机指令,处理计算机中软件的数据和/或硬件的数据;数据处理器101可以是协处理器,例如众核架构处理器(Many Integrated Core,简称MIC),处理特定任务甚至特定代码段以协助处于控制核心的CPU。数据处理器101可访问内存102和外部存储器103,访问内存102所需的时间小于访问外部存储器103所需的时间。
可选地,如果数据处理器101与外部存储器103解耦,数据处理器101属于处理器池、外部存储器103属于存储池;数据处理器101与外部存储器103
包括的控制器建立通信连接后,与外部存储器103之间通过消息进行数据交互;其中,该数据交互包括索引记录的交互,实现内存中的索引表与外部存储器中的索引表的同步更新;
举例说明,数据处理器101向外部存储器103发送请求数据的消息;外部存储器103的控制器,接收该消息并从该消息中解析出该请求,生成载有该请求指定的数据的响应消息,将该响应消息向数据处理器101发送;数据处理器101从该响应消息中解析出数据,并将解析出的数据写入内存102,继而数据处理器101需再次获取该数据时,可直接从内存102读取,提高读取效率;类似地,数据处理器101可生成载有数据处理器101处理该数据所得的处理结果的消息,外部存储器103的控制器将该处理结果写入外部存储器103的存储空间中。
本发明一实施例,提供了索引表的更新方法的一种实现举例,下面详述该索引表的更新方法如下:
首先,在外部存储器中针对一张数据表建立一个索引表,针对该数据表中每条数据在该索引表中建立一条索引记录;并且,根据内存中建立索引表所能占用的内存空间大小,在内存中针对该张数据表建立一个索引表,从外部存储器中的索引表中筛选部分或全部索引记录添加到内存中的索引表。
本实施例中,定义索引密度为:内存中的索引表包括的索引记录的条数与外部存储器的索引表包括的索引记录的条数的比例;即所述索引密度等于:第一条数(第一条数为内存中的索引表包括的索引记录的条数)除以第二条数(第二条数为外部存储器的索引表包括的索引记录的条数)所得的比值。
外部存储器的索引表存储有每个数据的索引记录,根据内存中的索引表是否包含外部存储器的索引表中所有的索引记录,将在内存中建立的索引表分为稀疏索引(英文全称:Sparse Index)表和稠密索引(英文全称:Dense Index)表。
其中,稀疏索引表的建立方式为:将外部存储器中一个数据表包含的所有数据按照关键字值分成多个组,一个组包括该数据表中的多个数据,按照关键字值对外部存储器中该数据表包含的所有数据对应的索引记录排序后,从外部存储器的索引表包括的一组数据对应的索引记录中选择排序在前的第一个索引
记录添加到内存中的索引表;在内存中的索引表中,对于外部存储器的索引表中与一组包含多个关键字值的数据对应的索引记录,仅一个索引记录保存在内存中的索引表;因此,稀疏索引的索引密度小于1。以图2A为例,图2A中,对外部存储器的索引表中的关键字排序,对数据表中不同数据的该关键字所具有的关键字值排序后,依次排序的关键字值为{10,14,27,30,40,48,…,70,79,83},从外部存储器的索引表中每间隔两个关键字值选出一个索引记录添加到内存中的索引表,因此在内存中的索引表包含的索引记录所具有的关键字值依次为{10,30,…,70}。
其中,稠密索引的建立方式为:针对数据表中的每个数据,并将外部存储器的索引表中每个数据的索引记录均添加到内存中的索引表;因此,稀疏索引的索引密度等于1。以图2B为例,图2B中,对外部存储器的索引表中的关键字所具有的关键字值排序,依次排序的关键字值为{30,40,…,48},将外部存储器的索引表包含的每个关键字值都添加到内存中的索引表,因此在内存中的索引表包含的索引记录所具有的关键字值依次为{30,40,…,48}。
在内存建立索引表后,数据处理器更改外部存储器的数据表包含的数据时如果内存中缓存有该数据,数据处理器会同步更改内存中的该数据,更改数据表包含的数据时,与该数据对应的索引记录可能被更改,也可能没有被更改;
举例说明,假设该索引记录仅包含关键字值,如果更改该数据,该数据的关键字值未被修改,不用更改该数据的索引记录;假设该索引记录仅包含关键字值和指针(指向该数据的存储地址的指针),如果更改该数据,该数据的关键字值未被修改,不用更改该数据的索引记录;假设该索引记录包含关键字值、指针(指向该数据的存储地址的指针)、部分或全部该数据,如果更改该数据,仅需更改该索引记录中的已更改数据。
在内存建立索引表后,如果数据处理器删除外部存储器中该数据表包含的数据,则相应地会删除外部存储器的索引表中该数据的索引记录;如果内存的数据表中也存储有该数据的索引记录,删除内存中该数据的索引记录;可选地,内存中还存储有该数据,删除该数据,一种可能是,在内存中用于存储索引记录的存储空间存储有该数据,则删除该存储空间存储的该数据。
在内存建立索引表后,如果数据处理器向外部存储器中该数据表写入了新数据,需针对该新数据建立一条索引记录,该索引记录包括该新数据包含的关键字值,该索引记录还可以包括该新数据在外部存储器中的存储地址(例如指向该存储地址的指针),该索引记录还可以包括全部或部分该新数据。另外,还根据当前的索引密度判断是否将该新数据的索引记录添加到内存中的索引表;如果索引密度等于1,即建立的内存中的索引表为稠密索引表,则将在外部存储器中该数据表中每次新添的索引记录复制到内存中的索引表;如果索引密度小于1,即建立的内存中的索引表为稀疏索引表,在外部存储器中该数据表中新添的索引记录为多条,则根据索引密度间隔地从该多条索引记录中筛选出需添加入内存的索引表中的索引记录,将筛选出的索引记录添加入内存中的索引表,例如,索引密度为三分之一,则每在外部存储器中该数据表中新添三条索引记录,则将该三条索引记录中的第一条索引记录添加到内存中的索引表。
本实施例中,内存中用于存储索引记录的存储空间是有限的,针对有限的存储空间设置了预设范围,例如,内存中用于存储索引记录的存储空间最多能存储N条索引记录,确定N的80%为该预设范围的上限,确定N的40%为该预设范围的下限。
数据处理器处理数据表中的数据的过程中,本发明更新内存中的索引表有以下三种情况:
第一种情况,如果数据处理器删除外部存储器中该数据表包含的数据,则会删除外部存储器的索引表中该数据的索引记录,内存中的索引表也存储有该数据的索引记录时,删除内存中该数据的索引记录,如果内存中删除索引记录后剩余的索引记录所占用的存储空间小于预设范围的下限,判断内存中的索引表相对于外部存储器的索引表是否为稠密索引表,即判断内存中的索引表的索引密度是否等于1,如果内存中的索引表相对于外部存储器的索引表不为稠密索引表(内存中的索引表的索引密度小于1),则增加索引密度,并按照增加后的索引密度重新从外部存储器的索引表包含的已按关键字值排序的索引记录中间隔地抽取索引记录,并以抽取的索引记录替换内存中的索引表的索引记录,完成针对增加的索引密度更新内存中的索引表。
第二种情况,如果数据处理器向外部存储器中该数据表写入新数据,则在
外部存储器的索引表中增加该新数据的索引记录,该索引记录包括该新数据包含的关键字值,该索引记录还可以包括该新数据在外部存储器中的存储地址(例如指向该存储地址的指针),该索引记录还可以包括全部或部分该新数据;另外,还根据当前的索引密度判断是否将该新数据的索引记录添加到内存中的索引表。假如数据处理器持续向外部存储器中该数据表写入新数据,根据当前的索引密度将该新数据的索引记录添加到内存中的索引表,实现对内存中的索引表的同步更新,一旦内存中的索引表所占用的存储空间达到预设范围的上限,则减小索引密度,并按照减小后的索引密度重新从外部存储器的索引表包含的已按关键字值排序的索引记录中间隔地抽取索引记录,并以抽取的索引记录替换内存中的索引表的索引记录,完成针对减小的索引密度更新内存中的索引表。
第三种情况,数据处理器持续删除外部存储器中该数据表包含的数据、并删除外部存储器的索引表中该数据的索引记录的过程中,如果内存中的索引表中也存储有该数据的索引记录,则同步删除内存中该数据的索引记录,如果内存中删除索引记录后剩余的索引记录所占用的存储空间大于预设范围的下限,不调整索引密度。另外,数据处理器持续向外部存储器中该数据表写入新数据、并在外部存储器的索引表中添加该新数据的索引记录的过程中,根据当前的索引密度同步将该新数据的索引记录添加到内存中的索引表,但内存中的索引表所占用的存储空间仍小于预设范围的上限,不调整索引密度。
本实施例能在内存中用于存储索引记录的存储空间有限的情况下,在内存中的索引表所占用的存储空间达到预设范围的上限或下限时,调整索引密度,按照调整的索引密度重新从外部存储器的索引表筛选索引记录,以重新筛选的索引记录更新内存中的索引表。这样,在内存中用于存储索引记录的存储空间有限的条件下,通过调整索引密度来重建内存中的索引表,更改内存中的索引表与外部存储器的索引表的映射关系,使得根据内存中的索引表能够效率地检索到外部存储器的索引表中的每条索引记录,提高了检索效率。
作为一具体实施例,数据处理器启动时,从外部存储器的索引表持续读取索引记录,并将读取的索引记录写入内存中用于缓存索引记录的存储空间,因该存储空间有限,采用上述实施例的方式根据该存储空间设置了预设范围。
在将外部存储器的索引表中的索引记录拷贝到内存以建立内存中的索引表的过程中,一开始是将外部存储器的索引表中的索引记录逐条拷贝到内存中并在内存中建立稠密索引表,如果内存中用于缓存索引记录的存储空间不足,直到内存中的索引表所占用的存储空间达到预设范围的上限,调整索引密度,以调整的索引密度更新内存中的索引表并继续以调整的索引密度从外部存储器的索引表筛选索引记录并将筛选出的索引记录添加到内存中的索引表,以此类推,在将外部存储器的索引表中的索引记录拷贝到内存以建立内存中的索引表的过程中可能会一次或多次调整索引密度,最后建立的内存中的索引表为稀疏索引表;如果内存中用于缓存索引记录的存储空间足够大,直到完成将外部存储器的索引表中的索引记录完全拷贝到内存,并建立稠密索引表。
本实施例是在数据处理器的启动阶段,将外部存储器的索引表拷贝到内存以建立内存中的索引表的过程中,一旦内存中的索引表所占用的存储空间达到预设范文的上限,调整一次索引密度,使得最后建立的内存中的索引表能够覆盖并映射完整的外部存储器的索引表,保证的根据内存中的索引表检索关键字的效率。
本发明一实施例,对上述实施例作相应扩展,得到实现索引表的更新方法的基础工作流程,如图3所示,但为了便于描述,仅示出了与本发明实施例相关的部分。如图3所示的索引表的更新方法是从数据处理器的角度给出的,图3提供的基础工作流程包括:步骤A301和步骤A302。
步骤A301,确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,其中,所述第二索引表的索引密度为所述第二索引表包括的索引记录的条数与外部存储器中的第一索引表包括的索引记录的条数的比例,所述第二索引表按照所述索引密度在所述第一索引表进行索引记录更新时同步进行索引记录更新;
步骤A302,按照调整后的所述索引密度从所述第一索引表中筛选索引记录,以筛选出的索引记录更新所述第二索引表。
在本实施例中,第一索引表为外部存储器的索引表,第二索引表为内存中的索引表;并且,本实施例对索引密度作如下定义,所述索引密度为所述
第二索引表包括的索引记录的条数与所述第一索引表包括的索引记录的条数的比例。
如果同一索引记录在外部存储器的第一索引表和内存的第二索引表中均存储有,再更新该索引记录时,是对第一索引表包含的该索引记录和第二索引表包含的该索引记录同步更新的。
另外,如果数据处理器期望删除的某条索引记录,同时外部存储器的第一索引表和内存的第二索引表中均存储有该条索引记录,则同步删除第一索引表中的该条索引记录和第二索引表中的该条索引记录。
另外,如果数据处理器期望添加在第一索引表中添加某条索引记录,根据当前的索引密度确定是否将该条索引记录添加到内存中的索引表,如果确定为需要将该条索引记录添加到内存中的索引表,同步地在第一索引表和第二索引表添加该条索引记录;如果确定为不需要将该条索引记录添加到内存中的索引表中,在第一索引表添加该条索引记录。
与上述实施例相同,因内存中用于存储索引记录的存储空间是有限的,本实施例根据该有限存储空间(用于存储索引记录的存储空间)进一步确定预设范围,预设范围的上限小于该有限存储空间的存储容量,例如预设范围的上限为该有限存储空间的80%。
更新第二索引表的索引记录时,如果第二索引表所占用的存储空间发生变化,则需要判断变化后第二索引表所占用的存储空间是否超出预设范围;通常,如果所述第二索引表所占用的存储空间增加到预设范围的上限、或者所述第二索引表所占用的存储空间减少到预设范围的下限,则调整索引密度,根据调整后的索引密度重新从所述第一索引表筛选索引记录,采用重新筛选的索引记录替换第二索引表中的索引记录,实现第二索引表的更新;更新后的第二索引表包含的索引记录的条数,属于该预设范围,但并不等于该预设范围的上限或下限;在满足上述条件和效果时,对调整该索引密度的调整幅度不做限定。
本实施例中,更新数据表中的数据时,会同步更新外部存储器的第一索引表和内存的第二索引表;更新第二索引表时,如果第二索引表占用的存储空间达到预设范围的上限或者下限,调整索引密度,重新根据调整的索引密
度从第一索引表筛选索引记录,以重新筛选的索引记录更新第二索引表;更新得到的第二索引表占用的存储空间,属于预设范围但不等于该预设范围的上限或者下限;并且实时保证根据第二索引表进行关键字检索时,能够效率地定位到第一索引表中的索引记录,并根据定位到的索引记录从内存或者外部存储器读取该索引记录对应的数据(即根据该关键字检索出的数据),其中,该数据在内存中缓存有时,数据处理器直接从内存读取该数据并作为根据该关键字检索所得的结果,如果内存中没有缓存该数据,数据处理器需从外部存储器读取该数据并作为根据该关键字检索所得的结果。
可选地,针对同步更新第一索引表和第二索引表,对图3提供的方法做一可选改进,所述方法还包括步骤A401和步骤A402;其中,步骤A401与步骤A402是独立执行的,没有先后顺序。
步骤A401,当删除所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录。
具体地,数据处理器删除外部存储器中该数据表包含的数据,会删除外部存储器的第一索引表中该数据的索引记录,若内存的第二索引表中也存储有该数据的索引记录,同步删除内存的第二索引表中该数据的索引记录。
步骤A402,当增加所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步增加所述第二索引表中的索引记录。
具体地,数据处理器向外部存储器中该数据表写入新数据,则在外部存储器的第一索引表中增加该新数据的索引记录,该索引记录包括该新数据包含的关键字值,该索引记录还可以包括该新数据在外部存储器中的存储地址(例如指向该存储地址的指针),该索引记录还可以包括全部或部分该新数据;另外,还根据当前的索引密度判断是否将该新数据的索引记录添加到内存的第二索引表中。假如数据处理器持续向外部存储器中该数据表写入新数据,并根据当前的索引密度同步将该新数据的索引记录添加到内存的第二索引表,一旦内存的第二索引表所占用的存储空间达到预设范围的上限,则减小索引密度,并按照减小后的索引密度重新从外部存储器的第一索引表包含的已按关键字值排序的索引记录中间隔地抽取索引记录,并以抽取的索引记录替换内存的第二索引表
中的索引记录,完成针对减小的索引密度更新内存的第二索引表。
可选地,对图3提供的索引表的更新方法做一细化改进,参见图4,如果同步更新第一索引表和第二索引表,所述方法还包括步骤A303。
步骤A303,在根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录时,删除内存中与同步删除的索引记录对应的数据。
执行步骤A401,数据处理器删除外部存储器中该数据表包含的数据,同步删除外部存储器的第一索引表中和内存的第二索引表中该数据的索引记录时,如果内存中存储有该数据,一种可能是内存中用于存储索引记录的存储空间存有该数据,执行步骤A303删除内存中的该数据。
这样,可以释放内存中存储该数据的存储空间,将该存储空间用于其他数据的缓存。
可选地,针对第二索引表占用的存储空间达到所述预设范围的上限这一情况,基于图3中步骤A301做一细化改进,所述确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:
步骤A3011,如果确认内存中的所述第二索引表占用的存储空间达到所述预设范围的上限,则减小所述第二索引表的索引密度。
具体地,数据处理器向外部存储器中的数据表写入新数据、并在外部存储器的第一索引表中增加该新数据的索引记录,根据当前的索引密度将该新数据的索引记录添加到内存的第二索引表,一旦第二索引表占用的存储空间达到预设范围的上限,则减小索引密度;此处对索引密度的减小幅度不做限定,但重建的第二索引表(由根据减小后的索引密度从第一索引表筛选的索引记录组成)所占用的存储空间需大于预设范围的下限而小于该预设范围的上限。
具体地,步骤A3011减小所述索引密度后,步骤A302更新第二索引表的过程具体为:
根据减小的索引密度重新从所述第一索引表筛选索引记录,采用重新筛选的索引记录替换第二索引表中的索引记录,完成对第二索引表的更新;采用重新筛选的索引记录替换第二索引表中的索引记录的替换方式至少包括以下两种,在此不做限定。
一种可选的替换方式为:以重新筛选的索引记录替换第二索引表中所有的索引记录,完成对第二索引表的更新。
又一种可选的替换方式为:根据减小的索引密度重新从所述第一索引表重新筛选出索引记录后,对于第二索引表中与筛选出的索引记录相同的索引记录,在第二索引表中保留该相同的索引记录;对于第二索引表中与筛选出的索引记录不相同的索引记录,删除该不相同的索引记录,再将筛选出的索引记录中与第二索引表不相同的索引记录添加到第二索引表中,完成对第二索引表的更新。
又一种可选的替换方式为:如果步骤A3011减小前的索引密度与步骤A3011减小后的索引密度成倍数关系,则按照该倍数关系等间隔删除第二索引表中的索引记录,完成对第二索引表的更新;按照该倍数关系等间隔删除第二索引表中的索引记录,具体为:根据该倍数关系计算出间隔个数,在第二索引表中每间隔该间隔个数删除一个索引记录。
可选地,针对第二索引表占用的存储空间达到所述预设范围的下限这一情况,基于图3中步骤A301继续做一细化改进,所述确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:
步骤A3012,如果确认内存中的所述第二索引表占用的存储空间小于所述预设范围的下限、且所述索引密度小于1,则增大所述第二索引表的索引密度;增大后的所述索引密度小于或等于1。
具体地,数据处理器删除外部存储器中该数据表包含的数据、删除外部存储器的第一索引表中该数据的索引记录的过程中,如果内存的第二索引表中也存储有该数据的索引记录,同步删除第二索引表中该数据的索引记录,删除索引记录后,如果第二索引表中剩余的索引记录所占用的存储空间小于预设范围的下限,判断第二索引表相对于外部存储器的第一索引表是否为稠密索引表(即判断第二索引表的索引密度是否等于1),如果第二索引表相对于第一索引表不为稠密索引表(内存的第二索引表的索引密度小于1),则增加索引密度,此处对索引密度的增加幅度不做限定,但重建的第二索引表(由根据增加后的索引密度从第一索引表筛选的索引记录组成)所占用的存储空间需大于预设范围的
下限而小于该预设范围的上限。
具体地,步骤A3012增大所述索引密度后,步骤A302更新第二索引表的过程具体为:
根据增大的索引密度重新从所述第一索引表筛选索引记录,采用重新筛选的索引记录替换第二索引表中的索引记录,完成对第二索引表的更新;采用重新筛选的索引记录替换第二索引表中的索引记录的替换方式至少包括以下两种,在此不做限定。
一种可选的替换方式为:以重新筛选的索引记录替换第二索引表中所有的索引记录,完成对第二索引表的更新。
又一种可选的替换方式为:根据增大的索引密度重新从所述第一索引表重新筛选出索引记录后,对于第二索引表中与筛选出的索引记录相同的索引记录,在第二索引表中保留该相同的索引记录;对于第二索引表中与筛选出的索引记录不相同的索引记录,删除该不相同的索引记录,再将筛选出的索引记录中与第二索引表不相同的索引记录添加到第二索引表中,完成对第二索引表的更新。
本实施例中,内存中用于存储索引记录的存储空间是有限的,可根据存储索引记录的需求更改该存储空间的大小,相应地更改了该存储空间最多能够存储的索引记录的条数。进一步地,该预设范围的上限小于该有限存储空间(内存中用于存储索引记录的存储空间),例如预设范围的上限这一数值,等于:该有限存储空间这一数值的80%;因此,在确定该有限存储空间,也相应地确定了预设范围的上限。
对于预设范围的下限,可人为设定;预设范围的下限越大,更新第二数据表的索引记录时,重新确定索引密度的概率越大,继而以重新确定的索引密度根据第一索引表重新生成内存的第二索引表的次数越多,系统开销越大,数据处理器的负荷越大;预设范围的下限越小,更新第二数据表的索引记录时,重新确定索引密度的概率越小,继而以重新确定的索引密度根据第一索引表重新生成内存的第二索引表的次数越少,系统开销越小,数据处理器的负荷越小。
本发明一实施例,提供一种数据处理器500,图5示出了依据本实施例提供的该数据处理器500的逻辑结构示意图,但为了便于描述,图5仅示出了与本发明实施例相关的部分。
参见图5,所述数据处理器500包括:
索引密度调整单元501,用于确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,其中,所述第二索引表的索引密度为所述第二索引表包括的索引记录的条数与外部存储器中的第一索引表包括的索引记录的条数的比例,所述第二索引表按照所述索引密度在所述第一索引表进行索引记录更新时同步进行索引记录更新;
第二索引表更新单元502,用于按照调整后的所述索引密度从所述第一索引表中筛选索引记录,以筛选出的索引记录更新所述第二索引表。
可选地,所述索引密度调整单元501,用于确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:
所述索引密度调整单元501,用于如果确认内存中的所述第二索引表占用的存储空间达到所述预设范围的上限,则减小所述第二索引表的索引密度。
可选地,所述索引密度调整单元501,用于确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:
所述索引密度调整单元501,用于如果确认内存中的所述第二索引表占用的存储空间小于所述预设范围的下限、且所述索引密度小于1,则增大所述第二索引表的索引密度。
可选地,参见图6,所述数据处理器500还包括:
同步更新单元503,用于当删除所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录;
所述同步更新单元503,用于当增加所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步增加所述第二索引表中的索引记录。
进一步可选地,所述同步更新单元503,还用于在根据所述第一索引表
按照所述索引密度同步删除所述第二索引表中的索引记录时,删除内存中与同步删除的索引记录对应的数据。
本发明一实施例,图7是本实施例提供的数据处理设备700的硬件结构示意图,示出了所述数据处理设备700的一种硬件结构。
如图7所示,所述数据处理设备700包括处理器701和存储器702,所述处理器701与所述存储器702通过总线703连接;
所述存储器702用于存储计算机执行指令,当所述数据处理设备700运行时,所述处理器701读取所述存储器702中的所述计算机执行指令,以使所述数据处理设备700执行权利上述实施例提供的索引表的更新方法。该索引表的更新方法的具体实现,参见上述各实施例提供的索引表的更新方法的流程,在此不再赘述。
其中,处理器701可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案,包括执行上述发明实施例和实施例提供的索引表的更新方法。
其中,存储器702可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器702可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器702中,包括将应用于所述数据处理设备700的上述实施例提供的索引表的更新方法的程序代码保存在存储器702中,并由处理器701来执行。
其中,总线703可包括一通路,用于在所述数据处理设备700中各个部件(例如处理器701和存储器702)之间传送信息。例如,总线703将处理器701与存储器702连接,处理器701通过总线703访问存储器702,包括处理器701向存储器702写入数据,还包括处理器701从存储器702读取数据。
可选地,所述数据处理设备700还包括输入/输出接口705,输入/输出接口705用于接收输入的数据和信息,输出操作结果等数据。
可选地,通信接口704使用例如但不限于收发器一类的收发装置,来实现所述数据处理设备700与其他设备或通信网络之间的网络通信;可选地,通信接口704可以是用于接入网络的各种接口,如用于接入以太网的以太网接口,该以太网接口包括但不限于RJ-45接口、RJ-11接口、SC光纤接口、FDDI接口、AUI接口、BNC接口和Console接口等。
应注意,尽管图7所示的所述数据处理设备700仅仅示出了处理器701、存储器702以及总线703,但是在具体实现过程中,本领域的技术人员应当明白,所述数据处理设备700还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,所述数据处理设备700还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,所述数据处理设备700也可仅仅包含实现本发明实施例所必须的器件,而不必包含图7中所示的全部器件。
在本申请所提供的几个实施例中,应该理解到,所揭露的数据处理器,设备和方法,可以通过其它的方式实现。例如,以上所描述的数据处理器实施例仅仅是示意性的,例如,所述模块和单元的划分,仅仅为一种逻辑功能划分,实现时可以有另外的划分方式,例如多个模块或单元或组件可以结合或者可以集成到另一个系统或设备,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件
功能单元的形式实现。
上述以软件功能单元的形式实现集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的外部存储器包括:移动硬盘、只读存储器(英文:Read-Only Memory,简称ROM)、随机存取存储器(英文:Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (11)
- 一种索引表的更新方法,其特征在于,所述索引表的更新方法包括:确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,其中,所述第二索引表的索引密度为所述第二索引表包括的索引记录的条数与外部存储器中的第一索引表包括的索引记录的条数的比例,所述第二索引表按照所述索引密度在所述第一索引表进行索引记录更新时同步进行索引记录更新;按照调整后的所述索引密度从所述第一索引表中筛选索引记录,以筛选出的索引记录更新所述第二索引表。
- 根据权利要求1所述的方法,其特征在于,所述确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:如果确认内存中的所述第二索引表占用的存储空间达到所述预设范围的上限,则减小所述第二索引表的索引密度。
- 根据权利要求1或2所述的方法,其特征在于,所述确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:如果确认内存中的所述第二索引表占用的存储空间小于所述预设范围的下限、且所述索引密度小于1,则增大所述第二索引表的索引密度。
- 根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:当删除所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录;当增加所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步增加所述第二索引表中的索引记录。
- 根据权利要求4所述的方法,其特征在于,所述方法还包括:在根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录时,删除内存中与同步删除的索引记录对应的数据。
- 一种数据处理器,其特征在于,所述数据处理器包括:索引密度调整单元,用于确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,其中,所述第二索引表的索引密度为所述第二索引表包括的索引记录的条数与外部存储器中的第一索引表包括的索引记录的条数的比例,所述第二索引表按照所述索引密度在所述第一索引表进行索引记录更新时同步进行索引记录更新;第二索引表更新单元,用于按照调整后的所述索引密度从所述第一索引表中筛选索引记录,以筛选出的索引记录更新所述第二索引表。
- 根据权利要求6所述的数据处理器,其特征在于,所述索引密度调整单元,用于确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:所述索引密度调整单元,用于如果确认内存中的所述第二索引表占用的存储空间达到所述预设范围的上限,则减小所述第二索引表的索引密度。
- 根据权利要求6或7所述的数据处理器,其特征在于,所述索引密度调整单元,用于确认内存中的第二索引表占用的存储空间达到预设范围的上限或下限时,调整所述第二索引表的索引密度,具体包括:所述索引密度调整单元,用于如果确认内存中的所述第二索引表占用的存储空间小于所述预设范围的下限、且所述索引密度小于1,则增大所述第二索引表的索引密度。
- 根据权利要求6至8任一项所述的数据处理器,其特征在于,所述数据处理器,还包括:同步更新单元,用于当删除所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录;所述同步更新单元,用于当增加所述第一索引表中的索引记录时,根据所述第一索引表按照所述索引密度同步增加所述第二索引表中的索引记录。
- 根据权利要求9所述的数据处理器,其特征在于,所述同步更新单元,还用于在根据所述第一索引表按照所述索引密度同步删除所述第二索引表中的索引记录时,删除内存中与同步删除的索引记录对应的数据。
- 一种数据处理设备,其特征在于,所述数据处理设备包括处理器和存储器,所述处理器与所述存储器通过总线连接;所述存储器用于存储计算机执行指令,当所述数据处理设备运行时,所述处理器读取所述存储器中的所述计算机执行指令,以使所述数据处理设备执行权利要求1至5任一项所述的索引表的更新方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/080694 WO2016192057A1 (zh) | 2015-06-03 | 2015-06-03 | 索引表的更新方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106796588A true CN106796588A (zh) | 2017-05-31 |
CN106796588B CN106796588B (zh) | 2019-11-22 |
Family
ID=57439975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580001281.5A Active CN106796588B (zh) | 2015-06-03 | 2015-06-03 | 索引表的更新方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10642817B2 (zh) |
CN (1) | CN106796588B (zh) |
WO (1) | WO2016192057A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209884A (zh) * | 2018-01-10 | 2019-09-06 | 杭州海康威视数字技术股份有限公司 | 一种索引校对方法和装置 |
CN113641780A (zh) * | 2021-10-15 | 2021-11-12 | 阿里云计算有限公司 | 搜索方法、系统、设备、存储介质和计算机程序产品 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078680B (zh) * | 2018-10-18 | 2023-09-26 | 杭州海康威视数字技术股份有限公司 | 表格信息处理方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315628A (zh) * | 2007-06-01 | 2008-12-03 | 华为技术有限公司 | 内存数据库系统及实现内存数据库的方法和装置 |
US20120102298A1 (en) * | 2010-10-20 | 2012-04-26 | Microsoft Corporation | Low RAM Space, High-Throughput Persistent Key-Value Store using Secondary Memory |
CN104077380A (zh) * | 2014-06-26 | 2014-10-01 | 深圳信息职业技术学院 | 一种重复数据删除方法、装置及系统 |
CN104133781A (zh) * | 2013-05-03 | 2014-11-05 | 富鸿康科技(深圳)有限公司 | 网络存储设备及其提高数据存取速度的方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0884688A3 (en) | 1997-06-16 | 2005-06-22 | Koninklijke Philips Electronics N.V. | Sparse index search method |
US6901417B2 (en) * | 2002-01-11 | 2005-05-31 | International Business Machines Corporation | Method, system, and program for updating records in a database when applications have different version levels |
US7827160B2 (en) * | 2007-03-30 | 2010-11-02 | Sap Ag | Managing distributed index data |
US8397014B2 (en) * | 2008-02-04 | 2013-03-12 | Apple Inc. | Memory mapping restore and garbage collection operations |
US8977601B2 (en) | 2010-11-11 | 2015-03-10 | International Business Machines Corporation | Disappearing index for more efficient processing of a database query |
US8566333B2 (en) | 2011-01-12 | 2013-10-22 | International Business Machines Corporation | Multiple sparse index intelligent table organization |
CN102402617A (zh) * | 2011-12-23 | 2012-04-04 | 天津神舟通用数据技术有限公司 | 一种利用分片及稀疏位图的易压缩数据库索引存储系统及其相应的构建、调度和查询处理方法 |
CN103368817A (zh) * | 2012-03-31 | 2013-10-23 | 国际商业机器公司 | 电子邮件发送、接收方法及装置 |
US10095765B1 (en) * | 2013-04-10 | 2018-10-09 | Marvell International Ltd. | Method and apparatus for a hardware-implemented AVL tree module |
US20140317093A1 (en) * | 2013-04-22 | 2014-10-23 | Salesforce.Com, Inc. | Facilitating dynamic creation of multi-column index tables and management of customer queries in an on-demand services environment |
CN104092670A (zh) * | 2014-06-25 | 2014-10-08 | 北京蓝汛通信技术有限责任公司 | 网络缓存服务器处理文件的方法及处理缓存文件的设备 |
CN104133867A (zh) * | 2014-07-18 | 2014-11-05 | 中国科学院计算技术研究所 | 分布式顺序表片内二级索引方法及系统 |
US9489132B2 (en) * | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
-
2015
- 2015-06-03 WO PCT/CN2015/080694 patent/WO2016192057A1/zh active Application Filing
- 2015-06-03 CN CN201580001281.5A patent/CN106796588B/zh active Active
-
2017
- 2017-09-26 US US15/715,585 patent/US10642817B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315628A (zh) * | 2007-06-01 | 2008-12-03 | 华为技术有限公司 | 内存数据库系统及实现内存数据库的方法和装置 |
US20120102298A1 (en) * | 2010-10-20 | 2012-04-26 | Microsoft Corporation | Low RAM Space, High-Throughput Persistent Key-Value Store using Secondary Memory |
CN104133781A (zh) * | 2013-05-03 | 2014-11-05 | 富鸿康科技(深圳)有限公司 | 网络存储设备及其提高数据存取速度的方法 |
CN104077380A (zh) * | 2014-06-26 | 2014-10-01 | 深圳信息职业技术学院 | 一种重复数据删除方法、装置及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209884A (zh) * | 2018-01-10 | 2019-09-06 | 杭州海康威视数字技术股份有限公司 | 一种索引校对方法和装置 |
CN110209884B (zh) * | 2018-01-10 | 2022-08-05 | 杭州海康威视数字技术股份有限公司 | 一种索引校对方法和装置 |
CN113641780A (zh) * | 2021-10-15 | 2021-11-12 | 阿里云计算有限公司 | 搜索方法、系统、设备、存储介质和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN106796588B (zh) | 2019-11-22 |
US20180018361A1 (en) | 2018-01-18 |
US10642817B2 (en) | 2020-05-05 |
WO2016192057A1 (zh) | 2016-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6553649B2 (ja) | クラスタリング記憶方法および装置 | |
US8751547B2 (en) | Multiple file system and/or multi-host single instance store techniques | |
US7890716B2 (en) | Method of managing time-based differential snapshot | |
CN109299113B (zh) | 具有存储感知的混合索引的范围查询方法 | |
EP2863310B1 (en) | Data processing method and apparatus, and shared storage device | |
US20030195895A1 (en) | Storage system having partitioned migratable metadata | |
JP7058132B2 (ja) | 最大化された重複除去メモリのためのシステム及び方法 | |
CN109690522B (zh) | 一种基于b+树索引的数据更新方法、装置及存储装置 | |
EP2901316A2 (en) | Method and system for memory efficient, update optimized, transactional full-text index view maintenance | |
CN111651424B (zh) | 一种数据处理方法、装置、数据节点及存储介质 | |
CN104598652B (zh) | 一种数据库查询方法及装置 | |
CN106796588A (zh) | 索引表的更新方法和设备 | |
CN103530067B (zh) | 一种数据操作的方法和设备 | |
CN112148736A (zh) | 缓存数据的方法、设备及存储介质 | |
US10558636B2 (en) | Index page with latch-free access | |
US20200042501A1 (en) | Method and apparatus for maximized dedupable memory | |
CN107430546B (zh) | 一种文件更新方法及存储设备 | |
DE102021131101A1 (de) | Speichereinrichtung mit Datendeduplizierung, Betriebsverfahren der Speichereinrichtung und Betriebsverfahren eines Speicherservers | |
CN108804571B (zh) | 一种数据存储方法、装置以及设备 | |
WO2015129109A1 (ja) | インデックス管理装置 | |
CN114895850A (zh) | 一种数据湖优化写的方法 | |
CN110413617B (zh) | 一种根据数据量的大小动态调节哈希表组的方法 | |
US9824105B2 (en) | Adaptive probabilistic indexing with skip lists | |
CN111711531B (zh) | 集群数据管理方法、存储介质 | |
CN116069263B (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 |