CN109033365B - 一种数据处理方法及相关设备 - Google Patents
一种数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN109033365B CN109033365B CN201810837236.9A CN201810837236A CN109033365B CN 109033365 B CN109033365 B CN 109033365B CN 201810837236 A CN201810837236 A CN 201810837236A CN 109033365 B CN109033365 B CN 109033365B
- Authority
- CN
- China
- Prior art keywords
- target
- tree
- data
- memory
- memory nodes
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 19
- 238000011010 flushing procedure Methods 0.000 claims description 7
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 230000001680 brushing effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据处理方法及相关设备,可以提高内存中元数据的下刷效率。该方法包括:获取目标B+树中存储的数据量,所述目标B+树为内存中元数据的数据结构,所述目标B+树中包括至少一个内存节点;判断所述目标B+树中存储的数据量是否达到预设阈值;若是,获取目标数据组,所述目标数据组中包括预设数目个内存节点,所述预设数目个内存节点为所述目标B+树中的内存节点;通过多线程将所述目标数据组中各个内存节点的数据下刷至目标磁盘,所述目标磁盘与所述目标B+树具有关联关系,所述多线程与预设数目具有关联关系。
Description
技术领域
本发明涉及存储领域,特别涉及一种数据处理方法及相关设备。
背景技术
在大数据时代,海量数据的存储需要文件***的支持,文件***的元数据性能成为影响文件访问性能的关键。
为了保证存储性能,一种存储***元数据组织与管理方法是元数据在内存磁盘中都以B+树形式,内存中B+树作为磁盘B+树的增量。当内存中B+树存储的数据量达到一定阈值时,则需要将内存B+树的数据下刷到磁盘,以便释放内存资源用于保存新的增量数据。
传统的下刷元数据的方案是将内存中以B+树的元数据的每一个内存节点逐个下刷到磁盘,下刷完成之后,更新新的B+树的root地址作为访问磁盘元数据的入口地址。但是这样存在的问题是随着业务的不断扩大,磁盘上保存的元数据会不断扩大,此时如果按照内存B+树逐个内存节点下刷到磁盘,会导致整元数据整体下刷时间过长,内存资源来不及回收,从而导致性能下降等问题。
发明内容
本发明实施例提供了一种数据处理方法及装置,可以提高内存中元数据的下刷效率。
本发明实施例第一方面提供了一种数据处理方法,具体包括:
获取目标B+树中存储的数据量,所述目标B+树为内存中元数据的数据结构,所述目标B+树中包括至少一个内存节点;
判断所述目标B+树中存储的数据量是否达到预设阈值;
若是,获取目标数据组,所述目标数据组中包括预设数目个内存节点,所述预设数目个内存节点为所述目标B+树中的内存节点;
通过多线程将所述目标数据组中各个内存节点的数据下刷至目标磁盘,所述目标磁盘与所述目标B+树具有关联关系,所述多线程与预设数目具有关联关系。
可选地,所述获取目标数据组包括:
从所述目标B+树中获取所述预设数目个内存节点;
根据所述预设数目个内存节点生成所述目标数据组。
可选地,所述通过多线程将所述目标数据组中的数据下刷至目标磁盘之后,所述方法还包括:
判断所述目标B+树中的所有内存节点的数据是否全部下刷;
若是,则发出提示信息。
可选地,所述目标数据组中包含的内存节点的数量与所述目标B+树中内存节点的entry数量具有关联关系。
本申请实施例第二方面提供了一种数据处理的装置,具体包括:
第一获取单元,用于获取目标B+树中存储的数据量,所述目标B+树为内存中元数据的数据结构,所述目标B+树中包括至少一个内存节点;
第一判断单元,用于判断所述目标B+树中存储的数据量是否达到预设阈值;
第二获取单元,用于当所述目标+树中存储的数据量达到预设阈值时,获取目标数据组,所述目标数据组中包括预设数目个内存节点,所述预设数目个内存节点为所述目标B+树中的内存节点;
处理单元,用于通过多线程将所述目标数据组中各个内存节点的数据下刷至目标磁盘,所述目标磁盘与所述目标B+树具有关联关系,所述多线程与预设数目具有关联关系。
可选地,所述第二获取单元具体用于:
从所述目标B+树中获取所述预设数目个内存节点;
根据所述预设数目个内存节点生成所述目标数据组。
可选地,所述装置还包括:
第二判断单元,用于判断所述目标B+树中的所有内存节点的数据是否全部下刷;
提示单元,用于当所述目标B+树中的所有内存节点的数据全部下刷时,发出提示信息。
可选地,所述目标数据组中包含的内存节点的数量与所述目标B+树中内存节点的entry数量具有关联关系。
本发明实施例第三方面提供了一种处理器,所述处理器用于运行计算机程序,所述计算机程序运行时执行如上述所述数据处理方法的步骤。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时上述所述数据处理方法的步骤。
综上所述,可以看出,本申请实施例中,元数据在内存和磁盘中都以B+树形式组织,内存B+树作为磁盘B+树的增量,当内存B+树达到一定阈值时,需要将内存B+树中的数据下刷到磁盘,将内存B+树数据按照组的形式进行下刷,每个组包括预设数目个内存节点,即将内存B+树中的多个内存节点合并到一起下刷,并且采用多线程并发处理,通过这种方法可以大幅提高元数据下刷的速度,提高内存中元数据的下刷效率。
附图说明
图1为本发明实施例提供的数据处理方法的实施例示意图;
图2为本发明实施例提供的数据处理装置的实施例示意图;
图3为本发明实施例提供的数据处理设备的硬件设备结构示意图;
图4为本发明实施例提供的一种电子设备的实施例示意图;
图5为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
具体实施方式
本发明实施例提供了一种数据处理方法及数据处理装置,可以提高内存中元数据的下刷效率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面从数据处理装置的角度对数据处理方法进行描述,该数据处理装置可以为服务器,也可以为服务器中的服务单元,具体不做限定。
请参阅图1,图1为本发明实施例提供的数据处理方法的一个实施例示意图,包括:
101、获取目标B+树中存储的数据量。
本实施例中,数据处理装置可以获取目标B+树中存储的数据量的大小,其中该目标B+树为内存中元数据的数据结构,目标B+树中包括至少一个内存节点。B+树是为磁盘或其他直接存取辅助设备而设计的一种平衡查找树,在B+树中,所有记录内存节点都是按键值的大小顺序存放在同一层的叶内存节点中,通过各叶内存节点指针进行连接。也就是说,元数据在内存以及磁盘中都以B+树的形式存在,内存中B+树作为磁盘B+树的增量。
102、判断目标B+树中存储的数据量是否达到预设阈值,若是,则执行步骤103,若否,则执行步骤步骤105。
本实施例中,当数据处理装置获取到目标B+树中存储的数据量时,可以判断该目标B+树中存储的数据量是否达到预设阈值,例如判断目标B+树中存储的数据量是否达到800兆,当目标B+树中存储的数据量达到预设阈值时,执行步骤103,当目标B+树中存储的数据量未达到预设阈值时,执行步骤105。
103、获取目标数据组。
本实施例中,当确定目标B+树中存储的数据量达到预设阈值时,可以获取目标数据组,具体的,从目标B+树中获取预设数目个内存节点,根据预设数目个内存节点生成目标数据组,其中,目标数据组中包括预设数目个内存节点,该预设数目个内存节点为目标B+树中的内存节点。
需要说明的是,目标数据组中包含的内存节点的数量与目标B+树中内存节点的entry数量具有关联关系,也就是说,假如内存节点的entry数量为16,则目标数据组中包括16个内存节点。当然也还可以是其他的对应关系,具体不做限定。也即将目标B+树中预设数目个内存节点通过IO聚合的方式组织成一个group,该group中内存节点个数为目标B+树中内存节点e的entry数目,将group的所有内存节点进行内存连接得到目标数据组。
104、通过多线程将所述目标数据组中各个内存节点的数据下刷至目标磁盘。
本实施例中,数据处理装置可以通过多线程将目标数据组中各个内存节点的数据下刷至目标磁盘,其中目标磁盘与目标B+树具有关联关系,多线程与预设数目具有关联关系。也就是说,对目标数据组中的各个内存节点的数据通过多线程进行并发处理,保证同时下刷所有内存节点的数据。
需要说明的是,下刷结束后对下层返回的磁盘地址采用起始地址加上偏移量的方法对目标数据组中的每个内存节点依次更新对应磁盘的地址,更新磁盘的B+树中的内存节点对应kv值对应的V值中。由于在B+树中的各个节点的大小均是相同的,因此只要知道了起始地址,然后就可以通过起始地址加上每个内存节点的偏移量得到每个内存节点在磁盘中的地址。此步骤的目的是为了,目标数据组中的各个内存节点的数据下刷到磁盘之后,可以通过磁盘中对应的内存节点的地址找到该下刷的数据。
还需要说明的是,通过多线程将目标数据组中各个内存节点的数据下刷至目标磁盘之后,还可以判断目标B+树中的所有内存节点的数据是否全部下刷;当目标B+树中的所有内存节点的数据均下刷完成,则发出提示信息。也就是说,可以实时判断目标B+树是否还存在有内存节点未下刷(也可以通过判断是否可以在目标B+树中获取到内存节点来判断是否目标B+树中的内存节点是否下刷完成,当在目标B+树中不能获取到内存节点,则说明目标B+树中的内存节点已经全部下刷完成,否则表示没有),当目标B+树中不存在有内存节点之后,可以发出提示信息,该提示信息用于提示用户内存中的元数据已经全部下刷至磁盘中,同时,该提示信息中还可以携带有下刷数据在磁盘的地址,以方便后续使用该下刷数据时,可以直接通过地址从磁盘中查找。
还需要说明的是,在得到一个目标数据组之后,即对该得到的目标数据组进行下刷,当然也可以在得到多个目标数据组的时候,同时对多个目标数据组进行下刷,具体不做限定。
105、执行其他操作。
本实施例中,当目标B+树中存储的数据量未达到预设阈值,则可以继续向该目标B+树中添加内存节点,直至目标B+树中的数据量达到预设阈值,然后执行步骤103至步骤104,进行下刷数据,上面已经进行详细说明,具体此处不再赘述。
综上所述,可以看出,本申请实施例中,元数据在内存和磁盘中都以B+树形式组织,内存B+树作为磁盘B+树的增量,当内存B+树存储的数据量达到一定阈值时,需要将内存B+树中的数据下刷到磁盘,将内存B+树数据按照组的形式进行下刷,每个组包括预设数目个内存节点,即将内存B+树中的多个内存节点合并到一起下刷,并且采用多线程并发处理,通过这种方法可以大幅提高元数据下刷的速度,提高内存中元数据的下刷效率。
上面从数据处理方法的角度对本发明实施例进行说明,下面从数据处理装置的角度对本发明实施例进行说明。
请参阅图2,图2为本发明实施例提供的数据处理装置的实施例示意图,具体包括:
第一获取单元201,用于获取目标B+树中存储的数据量,所述目标B+树为内存中元数据的数据结构,所述目标B+树中包括至少一个内存节点;
第一判断单元202,用于判断所述目标B+树中存储的数据量是否达到预设阈值;
第二获取单元203,用于当所述目标+树中存储的数据量达到预设阈值时,获取目标数据组,所述目标数据组中包括预设数目个内存节点,所述预设数目个内存节点为所述目标B+树中的内存节点;
处理单元204,用于通过多线程将所述目标数据组中各个内存节点的数据下刷至目标磁盘,所述目标磁盘与所述目标B+树具有关联关系,所述多线程与预设数目具有关联关系。
可选地,所述第二获取203单元具体用于:
从所述目标B+树中获取所述预设数目个内存节点;
根据所述预设数目个内存节点生成所述目标数据组。
可选地,所述装置还包括:
第二判断单元205,用于判断所述目标B+树中的所有内存节点的数据是否全部下刷;
提示单元206,用于当所述目标B+树中的所有内存节点的数据全部下刷时,发出提示信息。
可选地,所述目标数据组中包含的内存节点的数量与所述目标B+树中内存节点的entry数量具有关联关系。
本实施例中的数据处理装置的各单元之间的交互方式如前述图1所示实施例中的描述,具体此处不再赘述。
综上所述,可以看出,本申请实施例中,元数据在内存和磁盘中都以B+树形式组织,内存B+树作为磁盘B+树的增量,当内存B+树达到一定阈值时,需要将内存B+树中的数据下刷到磁盘,将内存B+树数据按照组的形式进行下刷,每个组包括预设数目个内存节点,即将内存B+树中的多个内存节点合并到一起下刷,并且采用多线程并发处理,通过这种方法可以大幅提高元数据下刷的速度,提高内存中元数据的下刷效率。
上面从模块化功能实体的角度对本发明实施例中的数据处理装置进行了描述,下面从硬件设备处理的角度对本发明实施例中的数据处理装置进行描述。
请参阅图3,本发明实施例中的数据处理设备300一个实施例,包括:
输入装置301、输出装置302、处理器303和存储器304(其中处理器303的数量可以一个或多个,图3中以一个处理器303为例)。在本发明的一些实施例中,输入装置301、输出装置302、处理器303和存储器304可通过总线或其它方式连接,其中,图3中以通过总线连接为例。
其中,通过调用存储器304存储的操作指令,处理器303,用于执行如下步骤:
获取目标B+树中存储的数据量,所述目标B+树为内存中元数据的数据结构,所述目标B+树中包括至少一个内存节点;
判断所述目标B+树中存储的数据量是否达到预设阈值;
若是,获取目标数据组,所述目标数据组中包括预设数目个内存节点,所述预设数目个内存节点为所述目标B+树中的内存节点;
通过多线程将所述目标数据组中各个内存节点的数据下刷至目标磁盘,所述目标磁盘与所述目标B+树具有关联关系,所述多线程与预设数目具有关联关系。
在具体实施过程中,调用存储器304存储的操作指令,处理器303可以实现图1对应的实施例中任一实施方式。
请参阅图4,图4为本发明实施例提供的电子设备的实施例示意图。
如图4所示,本发明实施例提供了一种电子设备400,包括存储器410、处理器420及存储在存储器410上并可在处理器420上运行的计算机程序411,处理器420执行计算机程序411时实现以下步骤:
获取目标B+树中存储的数据量,所述目标B+树为内存中元数据的数据结构,所述目标B+树中包括至少一个内存节点;
判断所述目标B+树中存储的数据量是否达到预设阈值;
若是,获取目标数据组,所述目标数据组中包括预设数目个内存节点,所述预设数目个内存节点为所述目标B+树中的内存节点;
通过多线程将所述目标数据组中各个内存节点的数据下刷至目标磁盘,所述目标磁盘与所述目标B+树具有关联关系,所述多线程与预设数目具有关联关系。
在具体实施过程中,处理器420执行计算机程序411时,可以实现图1对应的实施例中任一实施方式。
由于本实施例所介绍的电子设备为实施本发明实施例中数据处理方法所采用的设备,故而基于本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本发明所欲保护的范围。
请参阅图5,图5为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
如图5所示,本实施例提供了一种计算机可读存储介质500,其上存储有计算机程序511,该计算机程序511被处理器执行时实现如下步骤:
将所述计算机***的物理内存划分为内核区、共享内存区以及独享内存区,所述内核区为所述计算机***内核的运行区域,所述共享内存区以及所述独享内存区为所述计算机***中的进程的运行区域;
获取目标B+树中存储的数据量,所述目标B+树为内存中元数据的数据结构,所述目标B+树中包括至少一个内存节点;
判断所述目标B+树中存储的数据量是否达到预设阈值;
若是,获取目标数据组,所述目标数据组中包括预设数目个内存节点,所述预设数目个内存节点为所述目标B+树中的内存节点;
通过多线程将所述目标数据组中各个内存节点的数据下刷至目标磁盘,所述目标磁盘与所述目标B+树具有关联关系,所述多线程与预设数目具有关联关系。
在具体实施过程中,该计算机程序511被处理器执行时可以实现图1对应的实施例中任一实施方式。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件设备实施例、完全软件实施例、或结合软件和硬件设备方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、块闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相匹配要素。
本领域技术人员应明白,本发明的实施例可提供为方法、***或计算机程序产品。因此,本发明可采用完全硬件设备实施例、完全软件实施例或结合软件和硬件设备方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (8)
1.一种数据处理方法,其特征在于,包括:
获取目标B+树中存储的数据量,所述目标B+树为内存中元数据的数据结构,所述目标B+树中包括至少一个内存节点;
判断所述目标B+树中存储的数据量是否达到预设阈值;
若是,获取目标数据组,所述目标数据组中包括预设数目个内存节点,所述预设数目个内存节点为所述目标B+树中的内存节点;所述获取目标数据组包括:从所述目标B+树中获取所述预设数目个内存节点;将预设数目个内存节点通过IO聚合的方式组织成一个数据组,将所述数据组的所有内存节点进行内存连接得到目标数据组;
对所述目标数据组中的各个内存节点的数据通过多线程进行并发处理,同时下刷所述目标数据组中的所有内存节点的数据至目标磁盘;所述目标磁盘与所述目标B+树具有关联关系,所述多线程与预设数目具有关联关系;
若否,则继续向所述目标B+树中添加内存节点,直至所述目标B+树中存储的数据量达到预设阈值。
2.根据权利要求1所述的方法,其特征在于,所述通过多线程将所述目标数据组中的数据下刷至目标磁盘之后,所述方法还包括:
判断所述目标B+树中的所有内存节点的数据是否全部下刷;
若是,则发出提示信息。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述目标数据组中包含的内存节点的数量与所述目标B+树中内存节点的entry数量具有关联关系。
4.一种数据处理的装置,其特征在于,包括:
第一获取单元,用于获取目标B+树中存储的数据量,所述目标B+树为内存中元数据的数据结构,所述目标B+树中包括至少一个内存节点;
第一判断单元,用于判断所述目标B+树中存储的数据量是否达到预设阈值;
第二获取单元,用于当所述目标B+树中存储的数据量达到预设阈值时,获取目标数据组,所述目标数据组中包括预设数目个内存节点,所述预设数目个内存节点为所述目标B+树中的内存节点;其中,当所述目标B+树中存储的数据量未达到预设阈值时,继续向所述目标B+树中添加内存节点,直至所述目标B+树中存储的数据量达到预设阈值;
处理单元,用于对所述目标数据组中的各个内存节点的数据通过多线程进行并发处理,同时下刷所述目标数据组中的所有内存节点的数据至目标磁盘;所述目标磁盘与所述目标B+树具有关联关系,所述多线程与预设数目具有关联关系;
所述第二获取单元具体用于:
从所述目标B+树中获取所述预设数目个内存节点;
将预设数目个内存节点通过IO聚合的方式组织成一个数据组,将所述数据组的所有内存节点进行内存连接得到目标数据组。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
第二判断单元,用于判断所述目标B+树中的所有内存节点的数据是否全部下刷;
提示单元,用于当所述目标B+树中的所有内存节点的数据全部下刷时,发出提示信息。
6.根据权利要求4至5中任一项所述的装置,其特征在于,所述目标数据组中包含的内存节点的数量与所述目标B+树中内存节点的entry数量具有关联关系。
7.一种处理器,其特征在于,所述处理器用于运行计算机程序,所述计算机程序运行时执行如权利要求1至3中任意一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至3中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810837236.9A CN109033365B (zh) | 2018-07-26 | 2018-07-26 | 一种数据处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810837236.9A CN109033365B (zh) | 2018-07-26 | 2018-07-26 | 一种数据处理方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109033365A CN109033365A (zh) | 2018-12-18 |
CN109033365B true CN109033365B (zh) | 2022-03-08 |
Family
ID=64645754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810837236.9A Active CN109033365B (zh) | 2018-07-26 | 2018-07-26 | 一种数据处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033365B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147204B (zh) * | 2019-05-22 | 2020-03-10 | 苏州浪潮智能科技有限公司 | 一种元数据落盘方法、装置、***及计算机可读存储介质 |
CN110502457B (zh) * | 2019-08-23 | 2022-02-18 | 北京浪潮数据技术有限公司 | 一种元数据存储方法及装置 |
CN112800050A (zh) * | 2019-11-13 | 2021-05-14 | 北京清红微谷技术开发有限责任公司 | 基于状态树的交易数据存储方法、***、装置及p2p网络 |
CN111142803B (zh) * | 2019-12-29 | 2022-07-08 | 北京浪潮数据技术有限公司 | 一种元数据刷盘方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708442A (zh) * | 2016-12-30 | 2017-05-24 | 武汉安嘉颐科技有限公司 | 同时适应磁盘与固态硬盘读写特性的海量数据存储方法 |
CN106897119A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种虚拟化平台中磁盘树优化方法及*** |
CN107463447A (zh) * | 2017-08-21 | 2017-12-12 | 中国人民解放军国防科技大学 | 一种基于远程直接非易失内存访问的b+树管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904688B2 (en) * | 2014-09-30 | 2018-02-27 | International Business Machines Corporation | Buffering and replicating data written to a distributed storage system |
-
2018
- 2018-07-26 CN CN201810837236.9A patent/CN109033365B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708442A (zh) * | 2016-12-30 | 2017-05-24 | 武汉安嘉颐科技有限公司 | 同时适应磁盘与固态硬盘读写特性的海量数据存储方法 |
CN106897119A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种虚拟化平台中磁盘树优化方法及*** |
CN107463447A (zh) * | 2017-08-21 | 2017-12-12 | 中国人民解放军国防科技大学 | 一种基于远程直接非易失内存访问的b+树管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109033365A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11710131B2 (en) | Method and apparatus of identifying a transaction risk | |
CN109033365B (zh) | 一种数据处理方法及相关设备 | |
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
CN106897342B (zh) | 一种数据校验方法和设备 | |
CN111813805A (zh) | 一种数据处理方法及装置 | |
CN108959118B (zh) | 一种数据写入的方法及装置 | |
CN112581018B (zh) | 一种流程任务管理方法、***、装置以及存储介质 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
CN109634524B (zh) | 一种数据处理守护进程的数据分区配置方法、装置及设备 | |
CN110688065A (zh) | 一种存储空间管理方法、***、电子设备及存储介质 | |
CN109829678B (zh) | 一种回滚处理方法、装置以及电子设备 | |
CN113157600A (zh) | 一种叠瓦式硬盘的空间分配方法、文件存储***及服务器 | |
CN110019357B (zh) | 数据库查询脚本生成方法及装置 | |
CN110908587B (zh) | 一种用于存储时序数据的方法及其装置 | |
CN110928941A (zh) | 一种数据分片抽取方法及装置 | |
CN114281242B (zh) | 存储器负载均衡的方法、装置和设备 | |
CN111125087A (zh) | 数据的存储方法及装置 | |
CN115086757B (zh) | 一种历史剪辑操作的回撤方法、装置、设备及存储介质 | |
US10198209B2 (en) | Memory storage recycling | |
WO2020192290A1 (zh) | 一种数据库迁移的方法、装置、设备及计算机可读介质 | |
CN113821193B (zh) | 一种信息生成的方法、装置和存储介质 | |
CN113886342A (zh) | 文件的格式转换方法、装置、存储介质及处理器 | |
CN107766216A (zh) | 一种用于获取应用执行信息的方法与设备 | |
CN109582938B (zh) | 报表生成方法和装置 | |
CN111367461B (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 |