CN106708749A - 一种数据查找方法 - Google Patents
一种数据查找方法 Download PDFInfo
- Publication number
- CN106708749A CN106708749A CN201611208410.0A CN201611208410A CN106708749A CN 106708749 A CN106708749 A CN 106708749A CN 201611208410 A CN201611208410 A CN 201611208410A CN 106708749 A CN106708749 A CN 106708749A
- Authority
- CN
- China
- Prior art keywords
- data
- cpu
- cache
- internal memory
- fractal tree
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据查找方法,所述数据采用分形树原理来组织存储,包括以下步骤:CPU接收数据读取请求;先在Cache Line中查找所请求的数据;若Cache line中命中,则读取数据并查找结束;若Cache Line中没有命中,则通过数值比较,确定数据在CPU Cache中的可能存储位置;根据CPU Cache的可能存储位置,到CPU Cache中的相应区间上,查找数据;若在CPU Cache中命中,则读取数据并查找结束;若在CPU Cache中没有命中,则经过数值比较,确定数据在内存中的可能存储位置;根据该位置,在内存中相应区间中查找;若在内存中命中,则读取命中数据并查找结束;若在内存中未命中,则进一步到硬盘中查找。本方法能减少缓存和内存之间数据交换的次数,进而提高CPU速度。
Description
技术领域
本发明涉及数据检索技术领域,尤其涉及一种数据查找方法。
背景技术
计算机的硬件系统主要由CPU、存储器、输入输出控制系统和各种外部设备组成。CPU是对信息进行高速运算处理的主要部件,其处理速度可达每秒几亿次以上操作,为了保证CPU可以迅速取得可处理数据,所以在CPU内部设有CPU缓存,用于与内存交互。内存主要用于储存一些临时文件,具有快速交互的特点。而硬盘具有断电后也可以保存数据的特点,所以其对数据的读取和保存速度慢于内存。
在大数据时代,系统进行数据检索一般是海量数据(万亿字节级别,103倍于GB)。当CPU在CPU缓存中无法查找到所需的数据,则需要到内存中重新加载数据;当内存中也无法查找到所需的数据,则需要到硬盘中查找,由此产生的数据交换行为是数据查找运算速度的瓶颈之一。因此,CPU缓存与内存间的数据交互、内存与硬盘间的数据交互,极大的限制了CPU计算速度的发挥。
现有技术中,为了克服内存与硬盘的交互速度上来带的效能损失,采用了增加内存数量或将一部分组件放置于内存上的方式来克服。但是由于算法问题,目前,没有很好的克服缓存与内存间数据交互的问题。本发明提供一种数据查找方法,克服CPU缓存容量有限的情况下很难一次加载全部数据,因此需要多次从内存读取,进而导致数据查找速度慢的问题。
发明内容
鉴于上述的分析,本发明旨在提供一种数据查找方法,用以解决现有方法需要多次从内存读取,进而导致数据查找速度慢的问题。
本发明的目的主要是通过以下技术方案实现的:
提供一种数据查找方法,所述数据采用分形树原理来组织数据存储,方法包括以下步骤:
步骤S1.CPU接收数据读取请求;
步骤S2.CPU在Cache Line中查找所请求的数据;若在Cache line中命中,则读取数据,并查找结束;若在Cache Line中没有命中,则通过数值比较,确定数据在CPU Cache中的取值空间位置,并进行下一步;
步骤S3.根据CPU Cache中的取值空间位置,到CPU Cache中分形树的相应区间上,查找数据;若在CPU Cache中命中,则读取数据,并查找结束;若在CPU Cache中没有命中,则经过数值比较,确定数据在内存中的取值空间位置,并进行下一步;
步骤S4.根据内存中的取值空间位置,在内存中分形树的相应区间中查找;若在内存中命中,则读取命中数据,并查找结束;若在内存中未命中,则进一步到硬盘中进行查找。
其中,所述采用分形树原理来组织数据存储是:
从第n+1个数开始,以n+1为间距、等距选取的n个数;以该n个数据组成根节点,n个数将数轴划分为n+1个取值空间,根节点的每个子节点对应一个取值空间,将其余数放在对应取值空间的节点中,且等距离、有序排列,以此建立一级分形树,该一级分形树能覆盖m=(n+1)2-1个值;再以一级分形树中的m个数作为一组,采用上述方法建立二级分形树,并以此扩展,建立第n级分形树;
选择满足Cache Line、CPU Cache及内存存储大小的对应级别的分形树,分别存储到Cache Line、CPU Cache及内存中。
优选地,所述根据Cache Line的存储大小确定分形树的基本节点中的数据数量。
优选地,所述CPU Cache中的数据查找是逐级进行的。
优选地,所述在内存中的数据查找也是逐级进行的。
具体地,所述确定数据在CPU Cache或内存中的可能存储位置是指:确定所请求的数据在更高一级分形树中的可能存储位置。
具体地,CPU Cache中加载的分形树的级别数是根据Cache Line中分形树基本节点中的数据量、以及CPU Cache存储量来决定。
本发明还提供一种制品,包括存储指令的非暂态机器可读介质,如果由机器执行所述指令,所述指令用于使所述机器执行上述方法。
本发明有益效果如下:采用分形树原理存储和查找数据,在数据查找和存储过程中,数据本身既作为数值存储,也起到了索引的作用。在数据比较时,能进一步确定数据在下一级分形树中的位置,进而能准确的抓取所请求查找的数据及其周边的数据,实现了减少缓存和内存之间的数据交互次数的目的,提高CPU处理速度。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为以3个数为一组建立一级分形树的示例;
图2示出了本发明数据查找的顺序。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
根据本发明的一个具体实施例,公开了一种数据查找方法,其中计算机中的数据采用分形树原理进行数据存储。所述分形树原理是:
假设以n个数据为一组,根据分行树原理,建立数据之间的存储关系。该n个有序树将取值空间划分成n+1个,根据分形理论,建立一级分形树,该一级分形树能覆盖m=(n+1)2-1个值,分为m/n个组。其中,由n个数据组成的根节点,即基本节点,是从取第n+1个数开始,以n+1为间距、等距选取的n个数。n个数将数轴划分为n+1个取值空间。每个子节点对应一个取值空间。其余数放在对应取值空间的节点中,且等距离、有序排列。其中,若缺数则相应位置为空。
进一步的,以上述m个数为一组,根据分形理论,建立二级分形树,该二级分形树可以覆盖k=(m+1)2-1个数,分为k/m组。
以此类推,按照上述规则,分形树可以进一步向上扩展为更高级别的分形树。
上述n个数据,可以作为一级分形数进一步向下细化,作为以个数为一组所建立起的前一级分形树的全部取值。以此类推,进一步细化,直到每组中数的个数到1为止。
计算机中的数据以上述分形树原理建立数据存储,每一个节点内部的数据既是本级分形树的节点,又是前一级分形树覆盖的数据;节点内部的数据不仅作为数据本身的存储位置,数据本身还作为索引,通过数据大小比较能指示待查找的数据的存储位置。根据数据大小比较,能够确定数据的查找方向,进而找到数据的存储位置,起到了索引的目的。优选的,数据以深度优先进行遍历。
以下用实例进行原理说明:
以n取3为例,3个有序数数为一组建立一级分形树,可以覆盖1~15这15个数,具体分为5组。根节点(即基本节点)中从第4个数(即4开始),以4为间距,选取的4、8、12这3个数,这3个数将取值空间划分成4个,具体是x<4,4<x<8,8<x<12,12<x。其余数按照取值空间,放入对应取值空间的节点中。
表1示出了覆盖的15个数的排列、组织和分组情况,分组分别记为h0、h1、h2、h3、h4。具体建立的分形树如图1。
表1分形树示例
该15个数可以继续向上扩展:具体以该15个数为一组,建立二级分形树,进一步能覆盖255个数,这255个数具体可以分为17组。
上述3个有序数,可以向下细化,每一组中的3个数可以继续采用上述分形原理再进行分组,直到每组中数的个数到1为止。
基于上述分形树原理存储的数据,数据查找是一个递归过程(如图2)。首先,在第0组中查找,如果第0组中找到,则返回,完成搜索。如果没有找到,则通过数值比较,定位出所要查找的数据位于哪一个取值空间,进而得出该取值空间的组号,到该编号所对应的组中继续查找。每组中所有的数值依然可以使用分形理论进行下一次分形,当组中只有一个元素时,则直接比较组内唯一元素和所要查找的数据,如若相等则返回。
本实施例是以应用于CPU的数据查找为例,基于上述分形树的数据存储方法进行数据查找的方法示例。实施例具体采用CPU的最小缓存单位(Cache Line)为16data(64b),CPU Cache(CPU缓存)为128×103data(512kb),查找的数据范围约7.0×109data(约28GB)为例进行说明。其中,data和字节转换为1:4即1data=4byte。
实施例中,约7.0×109data(约28GB)的计算机数据均采用分形树原理来组织数据存储,以Cache Line的16data为分形树的基本节点,则建立的各级分形树覆盖的数据如下:
(16+1)2-1=288data=1152b 一级分形树
(288+1)2-1=83520data≈330kb 二级分形树
(83520+1)2-1=6975590400data≈28GB 三级分形树
选择满足Cache Line、CPU Cache及内存存储大小的对应级别的分形树,分别存储到Cache Line、CPU Cache及内存中。故一级分形树存储在Cache Line中,二级分形树存储在CPU Cache中,三级分形树存储在内存中。
数据查找方法,具体包括以下步骤:
步骤S1.CPU接收数据读取请求。
步骤S2.CPU在Cache line中查找所请求的数据;判断是否在Cache line中命中,若在Cache line中命中,则CPU直接在Cache line中读取数据,供CPU使用,查找结束;若在Cache Line中没有命中,则通过数值比较,确定数据在CPU Cache中的可能存储位置,并进行下一步。
本实施例CPU的最小缓存单位(Cache Line)为16data,因此以16个有序数作为一组,作为分形树的基本节点,但本发明并不局限于将分形树的基本节点限定在16个数上,仅以16个数为例。上述Cache Line中加载的就是分形树基本节点中的这一组16个有序数。若在Cache Line中加载的分形树基本节点中没有命中,则将请求的数据与Cache Line中的数据进行比较,根据分形树的存储原理,确定所请求的数据位于Cache Line中哪两个数据中间,进而确定了所请求的数据在第一级分形树中的取值空间位置,即确定了所请求的数据在CPU Cache中的可能存储位置。
步骤S3.根据上一步骤中确定的可能存储位置,到CPU Cache中分形树的相应位置上,查找所请求的数据;若在CPU Cache中命中,则读取数据,以供CPU使用,查找结束;若在CPU Cache中没有命中,则将所请求的数与CPU Cache中的数进行数值大小比较,确定所请求的数所处的取值空间,进而确定数据在内存中的取值空间位置,即可能存储位置,并进行下一步。
具体的,CPU Cache中的数据查找是逐级进行的,即首先根据可能存储位置到上述基本节点组成的一级分形树中查找,若命中则读取数据,若未命中,则通过数值比较,确定请求的数据在下一级分形树(二级分形树)中的可能位置,再到下一级分形树(二级分形树)中进行查找,直到逐级查找到CPU Cache中加载的最高级分形树后,仍未命中,则再通过数值比较,确定所请求的数据在内存中更高一级分形树中的可能存储位置。
需要说明的是,CPU Cache中加载的分形树的级别可以根据Cache Line中存储的分形树基本节点中的数据量、以及CPU Cache存储量来决定的。优选的,以Cache Line的存储量和CPU Cache的存储量来共同决定。
实施例的具体示例如下,以Cache Line中的16个有序数作为分形树的基本节点,由其组成的一级分形树能覆盖(16+1)2-1=288个数据(288data);再以这288个数据作为一组,向上扩展,组成二级分形树,能覆盖(288+1)2-1=83520个数据(data),约等于8.3×103data(即8.3Kdata)。如果以这83520个数据作为一组,进一步向上扩展,组成三级分形树,该三级分形树能覆盖(83520+1)2-1=6975590400个数据(data),约28GB。
根据本实施例的CPU Cache的大小为512kb,根据1:4的换算关系,能存储128×103data。可见,CPU Cache中仅能加载二级分形树所覆盖的全部数据,无法容纳下三级分形树所覆盖的全部数据。因此,根据CPU Cache存储量大小,选择二级分形树作为CPU Cache加载的最高级别分形树,CPU Cache中加载的二级分形树覆盖约8.3×103data。当然,如果分形树基本节点中的数据量不是16,而选择其他数据量,则CPU Cache中加载的分形树的最高级别也会相应变化。
步骤S4.根据上一步中确定的可能存储位置,在内存中对应分形树位置中查找;若在内存中命中,则读取命中数据,以供CPU使用,查找结束;若在内存中未命中,则进一步到硬盘中进行查找。
在内存中的数据查找也是逐级进行的。即根据步骤S3中确定的存储位置,首先到相比于CPU Cache中最高级分形树更高一级别的分形树中查找,若命中则读取数据,若未命中,则通过数值比较,确定请求的数据在下一级分形树中的可能位置,并以此类推。在本实施例中,最高到三级分形树即可查找到对应数据,因此无需到四级分形树中进行查找。
根据本实施例的设计,二级分形树覆盖的数据加载到CPU Cache中,三级分形树覆盖的数据加载到内存中。本步骤在内存中的,根据步骤S3中确定的位置,三级分形树中进行查找。
优选的,假如CPU具有二级缓存,则所述方法按照一级缓存、二级缓存、内存、硬盘的查找次序。
本发明所公开的数据查找方法以用于计算机中缓存数据存储、检索方式的改进方面为例。计算机的CPU在要读取某一数据是,会先从Cache Line,再到CPU Cache中查找需要的数据。如果找到了则直接执行,找不到的话则从内存中找。当需要从内存中调取数据的情况发生时,则发生了一次的Page Miss。由于CPU Cache的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。而Page Miss越多就意味着要更多进行内存的读取。这会显著的降低计算机的运算速度。采用本发明公开的数据查找方法,通过分形原理存储数据并查找数据,能显著降低Page Miss发生的次数,提高CPU运算速度,进而提升计算机的运算速度。但本发明不限于此,更广泛的能用于CPU,GPU,FPGA,ASIC等所有基于冯诺依曼架构计算单元。
实施例以Cache Line的大小为16data,CPU Cache大小为128×103data为例,当搜索一个包含6.98×109data的内存时,在Cache Line中加载分形树的基本节点中的16个数据,CPU Cache中加载二级分形树所包含的数据,内存中加载的数据包含在三级分形树覆盖的数据范围内,则出现Page Miss的次数最多为1次,即需要到内存中查找数据的词数最多为1次。在同样的情况下,采用线性二项树的数据查找方法,则最多需要14次Page Miss。综上例子所述,采用本发明的方法查找6.98×109data、约28G的数据,最多发生1次PageMiss。
综上所述,本发明实施例提供了一种数据查找方法,采用分形树原理存储和查找数据,在数据查找和存储过程中,引入了由数据取值空间确定数据存储位置的想法,数据本身既作为数值存储,也起到了索引的作用。在数据比较时,能进一步确定数据在下一级分形树中的位置,进而能准确的抓取所请求查找的数据及其周边的数据,如此能减少缓存和内存之间的数据交互次数,提高CPU处理速度。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
某些操作可由硬件组件执行,或者可具体化在机器可执行或电路可执行指令中,这些操作可用于使得和/或者导致机器、电路或硬件组件(例如,处理器、处理器的部分、电路等)利用执行操作的指令被编程。也可以可选地由硬件和软件的组合来执行这些操作。处理器、机器、电路、或硬件可包括可用于执行和/或处理指令且响应于该指令存储结果的专用或特定电路或者其他逻辑(例如,潜在地与固件和/或软件组合的硬件)。
一些实施例包括制品(例如,计算机程序产品),该制品包括机器可读介质。该介质可包括以机器可读的形式提供(例如,存储)信息的机制。机器可读介质可提供指令或指令序列或者可在该机器可读介质上存储了指令或指令序列,如果和/或当由机器执行该指令或指令序列,该指令或指令序列用于使该机器执行和/或导致该机器执行本文中所公开的一种或多种操作、方法、或技术。该机器可读介质可存储或以其他方式提供执行本发明的一个或多个实施例中所公开方法的指令。
在一些实施例中,该机器可读介质可包括有形的和/或非暂态的机器可读存储介质。例如,有形的和/或非暂态机器可读存储介质可包括:软盘、光存储介质、光盘、光学数据存储设备、CD-ROM、磁盘、磁光盘、只读存储器(ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、闪存、相变化存储器、相变化数据存储材料、非易失性存储器、非易失性数据存储设备、非暂态存储器、或暂态数据存储设备等。
合适机器的示例包括但不限于,CPU,GPU,FPGA,ASIC等所有基于冯诺依曼架构计算单元。合适的机器的另一些示例包括,包含处理器、指令处理装置、数字逻辑电路或集成电路的计算设备或其他电子设备。此类计算设备和电子设备的示例包括但不限于,台式计算机、膝上型计算机、笔记本计算机、平板计算机、上网本、智能电话、蜂窝电话、服务器、网络设备(例如,路由器)、移动网络设备(MID)、媒体播放器、智能电视、上网机、机顶盒和视频游戏控制器。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种数据查找方法,其特征在于,所述数据采用分形树原理组织数据存储,方法包括以下步骤:
步骤S1.CPU接收数据读取请求;
步骤S2.CPU在Cache Line中查找所请求的数据;若在Cache line中命中,则读取数据,并查找结束;若在Cache Line中没有命中,则通过数值比较,确定数据在CPU Cache中的取值空间位置,并进行下一步;
步骤S3.根据CPU Cache中的取值空间位置,到CPU Cache中分形树的相应区间上,查找数据;若在CPU Cache中命中,则CPU直接从CPU Cache中读取数据;若没有在CPU Cache中命中,则经过数值比较,确定数据在内存中的取值空间位置;
步骤S4.根据内存中的取值空间位置,在内存中分形树的相应区间中查找;若在内存中命中,则读取命中数据,并查找结束;若在内存中未命中,则进一步到硬盘中进行查找。
2.根据权利要求1所述的数据查找方法,其特征在于,所述采用分形树原理组织数据存储具体包括:
从第n+1个数开始,以n+1为间距、等距选取的n个数;以该n个数据组成根节点,n个数将数轴划分为n+1个取值空间,根节点的每个子节点对应一个取值空间,将其余数放在对应取值空间的节点中,且等距离、有序排列,以此建立一级分形树,该一级分形树能覆盖m=(n+1)2-1个值;再以一级分形树中的m个数作为一组,采用上述方法建立二级分形树,并依次扩展,建立第n级分形树;
选择满足Cache Line、CPU Cache及内存存储大小的对应级别的分形树,分别存储到Cache Line、CPU Cache及内存中。
3.根据权利要求2所述的数据查找方法,其特征在于,所述根据Cache Line的存储大小确定分形树的基本节点中的数据数量。
4.根据权利要求1所述的数据查找方法,其特征在于,所述CPU Cache中的数据查找是逐级进行的。
5.根据权利要求1或4所述的数据查找方法,其特征在于,所述在内存中的数据查找也是逐级进行的。
6.根据权利要求5所述的数据查找方法,其特征在于,所述确定数据在CPU Cache或内存中的可能存储位置是指:确定所请求的数据在更高一级分形树中的可能存储位置。
7.根据根据权利要求1所述的数据查找方法,其特征在于,CPU Cache中加载的分形树的级别数是根据Cache Line中分形树基本节点中的数据量、以及CPU Cache存储量来决定。
8.一种制品,包括存储指令的非暂态机器可读介质,如果由机器执行所述指令,所述指令用于使所述机器执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611208410.0A CN106708749B (zh) | 2016-12-23 | 2016-12-23 | 一种数据查找方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611208410.0A CN106708749B (zh) | 2016-12-23 | 2016-12-23 | 一种数据查找方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708749A true CN106708749A (zh) | 2017-05-24 |
CN106708749B CN106708749B (zh) | 2019-08-23 |
Family
ID=58895648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611208410.0A Expired - Fee Related CN106708749B (zh) | 2016-12-23 | 2016-12-23 | 一种数据查找方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708749B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113868244A (zh) * | 2020-06-30 | 2021-12-31 | 慧与发展有限责任合伙企业 | 生成键-值索引快照 |
US11461299B2 (en) | 2020-06-30 | 2022-10-04 | Hewlett Packard Enterprise Development Lp | Key-value index with node buffers |
US11461240B2 (en) | 2020-10-01 | 2022-10-04 | Hewlett Packard Enterprise Development Lp | Metadata cache for storing manifest portion |
TWI836239B (zh) * | 2021-07-19 | 2024-03-21 | 美商光禾科技股份有限公司 | 用於二分搜尋的方法和系統 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11853577B2 (en) | 2021-09-28 | 2023-12-26 | Hewlett Packard Enterprise Development Lp | Tree structure node compaction prioritization |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190468A1 (en) * | 2005-02-24 | 2006-08-24 | International Business Machines Corporation | Techniques for improving memory access patterns in tree-based data index structures |
CN101141389A (zh) * | 2007-09-29 | 2008-03-12 | 华为技术有限公司 | 增强多位Trie树查找方法和装置 |
US20140215155A1 (en) * | 2012-03-15 | 2014-07-31 | Pure Storage, Inc. | Fractal layout of data blocks across multiple devices |
CN104346294A (zh) * | 2013-07-31 | 2015-02-11 | 华为技术有限公司 | 基于多级缓存的数据读/写方法、装置和计算机系统 |
CN104508637A (zh) * | 2012-07-30 | 2015-04-08 | 华为技术有限公司 | 用于对等缓存转发的方法 |
CN105045528A (zh) * | 2015-06-24 | 2015-11-11 | 武汉烽火众智数字技术有限责任公司 | 一种快速的fat32磁盘分区遍历及文件查找方法 |
-
2016
- 2016-12-23 CN CN201611208410.0A patent/CN106708749B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190468A1 (en) * | 2005-02-24 | 2006-08-24 | International Business Machines Corporation | Techniques for improving memory access patterns in tree-based data index structures |
CN101141389A (zh) * | 2007-09-29 | 2008-03-12 | 华为技术有限公司 | 增强多位Trie树查找方法和装置 |
US20140215155A1 (en) * | 2012-03-15 | 2014-07-31 | Pure Storage, Inc. | Fractal layout of data blocks across multiple devices |
CN104508637A (zh) * | 2012-07-30 | 2015-04-08 | 华为技术有限公司 | 用于对等缓存转发的方法 |
CN104346294A (zh) * | 2013-07-31 | 2015-02-11 | 华为技术有限公司 | 基于多级缓存的数据读/写方法、装置和计算机系统 |
CN105045528A (zh) * | 2015-06-24 | 2015-11-11 | 武汉烽火众智数字技术有限责任公司 | 一种快速的fat32磁盘分区遍历及文件查找方法 |
Non-Patent Citations (1)
Title |
---|
SHIMIN CHEN: ""Fractal Prefetching B+-Trees: Optimizing Both Cache and Disk Performance"", 《SIGMOD 2002》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113868244A (zh) * | 2020-06-30 | 2021-12-31 | 慧与发展有限责任合伙企业 | 生成键-值索引快照 |
US11461299B2 (en) | 2020-06-30 | 2022-10-04 | Hewlett Packard Enterprise Development Lp | Key-value index with node buffers |
US11556513B2 (en) | 2020-06-30 | 2023-01-17 | Hewlett Packard Enterprise Development Lp | Generating snapshots of a key-value index |
CN113868244B (zh) * | 2020-06-30 | 2023-08-04 | 慧与发展有限责任合伙企业 | 生成键-值索引快照 |
US11461240B2 (en) | 2020-10-01 | 2022-10-04 | Hewlett Packard Enterprise Development Lp | Metadata cache for storing manifest portion |
US11803483B2 (en) | 2020-10-01 | 2023-10-31 | Hewlett Packard Enterprise Development Lp | Metadata cache for storing manifest portion |
TWI836239B (zh) * | 2021-07-19 | 2024-03-21 | 美商光禾科技股份有限公司 | 用於二分搜尋的方法和系統 |
Also Published As
Publication number | Publication date |
---|---|
CN106708749B (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708749A (zh) | 一种数据查找方法 | |
US9639458B2 (en) | Reducing memory accesses for enhanced in-memory parallel operations | |
Liptay | Structural aspects of the System/360 Model 85, II: The cache | |
CN102792285B (zh) | 用于处理数据的装置和方法 | |
US10114908B2 (en) | Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data | |
KR102144491B1 (ko) | 계층적 메모리 시스템을 위한 메모리 관리 | |
CN107273042B (zh) | 重复删除dram系统算法架构的存储器模块及方法 | |
US7577819B2 (en) | Vector indexed memory unit and method | |
US20120066473A1 (en) | Memory Architecture with Policy Based Data Storage | |
CN105117351B (zh) | 向缓存写入数据的方法及装置 | |
US9606746B2 (en) | Shiftable memory supporting in-memory data structures | |
CN112000846B (zh) | 基于gpu分组lsm树索引的方法 | |
US11036635B2 (en) | Selecting resources to make available in local queues for processors to use | |
CN116010299B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
JPS62113234A (ja) | レコ−ドセツト分類方法 | |
US20220350514A1 (en) | Memory mapping of activations for convolutional neural network executions | |
US20160328328A1 (en) | Semiconductor apparatus and operating method thereof | |
CN114238226A (zh) | 一种基于simd指令的nvm本地文件管理系统及方法 | |
US6807618B1 (en) | Address translation | |
CN104298471A (zh) | 一种高速缓存的数据写入方法及装置 | |
EA005269B1 (ru) | Способ организации и хранения данных в базе данных и база данных | |
EP0170442A2 (en) | A method for searching sparse databases using an associative technique | |
CN113721839B (zh) | 用于处理图数据的计算系统和存储分层方法 | |
US9165088B2 (en) | Apparatus and method for multi-mode storage | |
US20230113460A1 (en) | Systems and Methods for Key-based Indexing in Storage Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190823 Termination date: 20211223 |
|
CF01 | Termination of patent right due to non-payment of annual fee |