CN103370691B - 管理缓冲器溢出状况 - Google Patents

管理缓冲器溢出状况 Download PDF

Info

Publication number
CN103370691B
CN103370691B CN201280009223.3A CN201280009223A CN103370691B CN 103370691 B CN103370691 B CN 103370691B CN 201280009223 A CN201280009223 A CN 201280009223A CN 103370691 B CN103370691 B CN 103370691B
Authority
CN
China
Prior art keywords
buffer
data element
data
storage
computing systems
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
CN201280009223.3A
Other languages
English (en)
Other versions
CN103370691A (zh
Inventor
C.W.斯坦菲尔
C.R.范曼
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.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
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 Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of CN103370691A publication Critical patent/CN103370691A/zh
Application granted granted Critical
Publication of CN103370691B publication Critical patent/CN103370691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

在某些实现方式中,系统和技术包括:一种计算机实现的方法,所述方法响应于检测到第一缓冲器的溢出状况(306),在第二缓冲器(112)中存储在所述第一缓冲器(110)中存在的数据元素的部分(308),其中根据预定的顺序将所述第一缓冲器中的数据元素排序,以及在所述第一缓冲器中插入代理数据元素以便表示存储到所述第二缓冲器的数据元素的部分。

Description

管理缓冲器溢出状况
相关申请的交叉引用
本申请对2011年2月18日提交的、名称为“Managing Buffer Conditions”的美国申请序列No.13/031,034要求优先权,所述美国申请的全部内容通过引用合并于此。
技术领域
本描述涉及管理缓冲器状况。
背景技术
与各种数据处理技术类似,缓冲器管理技术在许多应用中起重要作用。在一个实现方式中,缓冲器溢出状况可以在计算机系统中引起重大干扰,例如,当试图存储超过存储器容量的数据量时,处理可能变慢或彻底停止。为了阻止溢出,可以将数据写到可能已被迫用于其他目的的其他存储区域中,从而也可能引起处理的放缓或终止。
发明内容
在一个方面中,通常,计算机实现的方法可以包括响应于检测到第一缓冲器的溢出状况,将在所述第一缓冲器中存在的数据元素的部分存储在第二缓冲器中,其中所述第一缓冲器中的数据元素根据预定的顺序排序,并且在所述第一缓冲器中插入代理数据元素来表示存储到所述第二缓冲器的数据元素的部分。
多个方面可以包括下列内容中的一个或多个。
第一缓冲器中数据元素的预定的顺序可以包括从第一缓冲器中移除数据元素的优先级顺序。存储到第二缓冲器的数据元素的部分可以基本上根据预定的顺序排序。存储到第二缓冲器的数据元素的部分可以包括至少一半存储在第一缓冲器中的数据元素。所述方法可以包括在与保存到第二缓冲器的数据元素的部分对应的第一缓冲器的位置中存储数据元素。所述方法可以包括根据预定的顺序从第一缓冲器移除一个或多个数据元素;以及提供从第一缓冲器移除的一个或多个数据元素作为基本上根据预定的顺序排序的数据元素的输出流。所述方法可以包括响应于代理数据元素变为第一缓冲器中存储的元素的最高优先级数据元素,将来自第二缓冲器的一个或多个数据元素与第一缓冲器中的数据元素合并。所述方法可以包括响应于代理数据元素被识别以用于将从第一缓冲器移除,将来自第二缓冲器的一个或多个数据元素与第一缓冲器中的数据元素合并。可以基于预定的顺序将所合并的数据元素排序。合并可以与产生输出数据元素基本上同时发生。代理数据元素可以是来自第二缓冲器的用于从第二缓冲器移除具有最高优先级的元素的副本。所移除的一个或多个数据元素可以包括来自第一缓冲器的表示第一缓冲器中的元素的最小值的数据元素。所移除的一个或多个数据元素可以包括来自第一缓冲器的表示第一缓冲器中的元素的最大值的数据元素。所述方法可以包括将边界条件应用于在第一缓冲器中存储的数据元素,并基于所述边界条件从第一缓冲器驱出(eject)一个或多个数据元素作为根据预定的优先级顺序排序的数据元素的输出流。
每个数据元素可以表示数据记录产生时间。将边界条件应用于在第一缓冲器中存储的数据元素可以包括识别作为表示在第一缓冲器中存储的数据元素的最小值的数据元素,并确定表示最小值的数据元素和接收到的进入第一缓冲器的数据元素之间的差。基于边界条件从第一缓冲器驱出一个或多个数据元素可以包括确定一个或多个数据元素是否超过预定的值;以及如果所述一个或多个数据元素超过预定的值,则从第一缓冲器驱出所述一个或多个数据元素。可以通过跳跃列表数据结构实现第一和第二缓冲器中的至少一个。可以通过二叉树堆(treap)数据结构实现第一和第二缓冲器中的至少一个。第一和第二缓冲器中的各个数据元素中的一个或多个可以从输入到基于图的计算系统中的组件的数据记录导出。
在另一方面中,通常,一种存储用于将数据元素排序的计算机程序的计算机可读存储介质可以包括这样的指令,其使得计算系统响应于检测到第一缓冲器的溢出状况在第二缓冲器中存储在第一缓冲器中存在的数据元素的部分,其中根据预定的顺序将在第一缓冲器中的数据元素排序;以及在第一缓冲器中插入代理数据元素来表示存储到第二缓冲器的数据元素的部分。
在另一方面中,通常,一种用于将数据元素排序的计算系统可以包括:数据存储系统,其用于在第二缓冲器中存储在第一缓冲器中存在的数据元素的部分,以及至少一个处理器,其耦接到数据存储系统并被配置为处理接收到的数据元素流。所述处理可以包括响应于检测到第一缓冲器的溢出状况在第二缓冲器中存储在第一缓冲器中存在的数据元素的部分,其中根据预定的顺序将第一缓冲器中的数据元素排序,并且在第一缓冲器中插入代理数据元素来表示存储到第二缓冲器的数据元素的部分。
在另一方面中,通常,一种用于将数据元素排序的计算系统包括:用于在第二缓冲器中存储在第一缓冲器中存在的数据元素的装置,以及用于处理接收到的数据元素流的装置。所述处理可以包括响应于检测到第一缓冲器的溢出状况在第二缓冲器中存储在第一缓冲器中存在的数据元素的部分,其中根据预定的顺序将第一缓冲器中的数据元素排序,并且在第一缓冲器中插入代理数据元素来表示存储到第二缓冲器的数据元素的部分。
多个方面可以包括下列优点中的一个或多个。
在某些示例中,可以在例如随机存取存储器(RAM)的快速存储器中存储第一缓冲器及其内容。在操作期间,可能更希望在较慢的存储器(例如,硬盘)中存储第一缓冲器的某些部分。例如,可能不立即需要主缓冲器中的某些元素,从而可以移除到可以在较慢的存储器中存储的第二缓冲器。可以采用一个或多个次级缓冲器来临时存储不立即需要的元素。当在第一缓冲器中存在的基本上相等数量的数据不再存在,从而为这些元素提供适当的空间时,所述这些元素可以被重新存储到第一缓冲器。
此外,在涉及大部分排序的接收到的数据元素流的某些实现方式中,除了不与大多数元素一样按适当顺序的少数元素以外,所述元素可能大部分按排序顺序。通过在接收到流的每个单独的数据元素之后将边界条件应用于在主缓冲器中存储的数据元素,可以产生根据预定的顺序排序的数据元素的输出流。
根据下列描述和根据权利要求,本发明的其他特征和优点将变得明显。
附图说明
图1是缓冲器管理系统的框图。
图2图示通过一系列管理操作的缓冲器。
图3是缓冲器管理过程的流程图。
具体实现方式
参考图1,示例缓冲器管理系统100包括在计算机系统104(例如,诸如服务一个或多个客户端系统的Web服务器的服务器)上执行的、在存储设备108中存储数据元素106a-n(总地106)的应用102(例如,排序应用)。存储设备108可以是例如具有多个缓冲器(如以两个缓冲器110、112所示)的硬盘驱动存储器或其他可移除存储介质,并且可以被实现为计算机系统104的部分或单独的独立存储设备。在某些示例中,第一缓冲器110可以位于例如随机存取存储器的第一存储器中,并且第二缓冲器112可以位于硬盘中。
元素106可以表示各种类型的信息,例如被分配到由排序应用102生成的数据记录(未示出)的一个或多个属性的值。在某些实现方式中,元素106可以表示由对一个或多个数据记录执行的计算产生的值。可以由元素106表示的其他信息可以包括时间戳,例如当由排序应用102创建对应的数据记录时的相应的时间。
虽然排序应用102可以提供各种不同的功能,但是在一个示例中,排序应用102可以是在共同未决的美国申请序列No.13/031,056中进一步详细描述地窗口排序应用,所述申请的内容通过引用整体合并于此。在某些示例中,排序应用102可能不产生数据元素106,但可选地从第二个不同的应用114(例如,在计算机系统116上执行)接收数据元素106用于排序。
在此,排序指代将接收到的流的元素106置于特定顺序的过程。例如,排序应用102可以按元素数值递增的顺序输出所述元素。在操作中,排序应用102在被称为主缓冲器的缓冲器110中存储未排序的元素(例如,从数据源应用114到达的元素)的输入流。可以基本上按排序方式将元素存储为存储的元素118a-b(总地118)。然而,在输入流中可能存在相对大量的元素(例如,百万),其显然可以使得主缓冲器110变为不能存储所有提供的元素。例如,主缓冲器110可能达到基于其最大物理存储器大小的容量。作为这样的情况的结果,主缓冲器110可能溢出并使得干扰并可能停止计算机系统104的操作。为了缓解这样的问题,可以采用例如缓冲器112的一个或多个“溢出盆(spill-over basin)”或第二缓冲器来临时存储在图1中被表示为元素120a-b(总地120)的溢出元素。
在某些示例中,可以在例如随机存取存储器(RAM)的快速存储器中存储主缓冲器及其内容。在操作期间,可能更希望在较慢的存储器(例如,硬盘)中存储主缓冲器的某些部分。例如,可能不立即需要主缓冲器中的某些元素,从而可以移除到可以在较慢的存储器中存储的第二缓冲器。为了解决这样的情况,可以采用例如缓冲器112的一个或多个次级缓冲器来将不立即需要的元素临时存储为元素120a-b。
当在主缓冲器110中存在的基本上相等数量的元素不再存在(例如,驱出的元素122a-b),从而为元素120提供适当的空间时,可以将这些元素120重新存储到(例如,合并回到)主缓冲器110。
为了提供排序的输出,排序应用102执行操作来保证驱出的元素122基本上是按排序顺序的。例如,驱出的元素122被驱出以使得首先驱出较小(或较大,取决于优选的输出)值的元素,其次驱出较大(较小)值的元素。对于元素表示时间戳值的示例,可以从缓冲器驱出与最近的时间戳(或最早的,取决于优选的输出)相关联的元素。如所示,可以向由另一计算机系统126执行的接收应用124提供驱出的元素122用于附加的处理。接收应用120表示能够接收和处理驱出的元素122的类型的软件应用。
图2是图示用于管理缓冲器溢出的操作的一对缓冲器210和212(例如,图1中示出的主缓冲器110和次级缓冲器112)的状态202-208的图解表示。可以按各种顺序提供输入元素的顺序,例如完全随机顺序或稍微确定(例如,部分排序、大部分排序等)的顺序。在大部分排序的情况下,除了少数离群值(与大多数相比)以外,对于大部分元素可以按排序顺序。为了量化这样的离群值,对于具有相对大量元素(例如,百万)的流,大约0.1-10%的元素可以是乱序的。为了高效地将这样的离群元素插入具有大量元素的流内的适当位置中,排序应用可以利用大多数元素按适当顺序到达的事实。例如,可以按排序方式在主缓冲器210中存储(例如,通过排序应用102)包括离群值的输入元素。对于已经被排序的到达的大多数元素,在缓冲器210中存储元素是相对高效的过程。然而,当离群值到达缓冲器并需要被插入主缓冲器210内的适当位置中时,可能需要额外的时间。
通常,基于一个或多个规则从主缓冲器210驱出存储的元素。例如,与每个存储的元素相关联的值(例如,数值)可以被用于确定是否应该驱出对应的元素。存储元素的顺序也可以是确定是否从主缓冲器210驱出一个或多个元素的因素。在适当时间,排序应用102根据排序顺序(例如,递增顺序、递减顺序等)以优先级方式驱出主缓冲器210中的元素。此外,当违反施加于存储的元素上的条件(例如,任何两个存储的元素之间的最大允许差)时,可以驱出元素。一旦从主缓冲器210驱出,得到的元素形成排序的元素的输出流。
如果根据数值递增的顺序将元素排序,则最初可以驱出较小的元素,而在稍后的时间可以驱出较大值的元素。类似地,对于根据递减顺序排序的元素,在较早的时间可以驱出较大的元素,而稍后可以驱出较小值的元素。与每个元素相关联的这样的数值可以表示一个或多个量。
可以通过用于按特定的排序顺序存储数据元素和驱出元素的一种或多种类型的数据结构和架构(例如,优先级队列数据结构)来实现缓冲器210、212。在一个实现方式中,排序应用102能够提供用于使用所述数据结构将数据元素排序的各种功能。例如,在一种布置中,关于被选择来定义主缓冲器和次级缓冲器的数据结构可以主要使用三种功能。
对于三种功能中的一种,排序应用102能够在如通过在所述结构中存储的元素的现行(prevailing)排序顺序确定的数据结构中的适当位置中插入元素。例如,考虑按其数值递增的顺序布置的存储的元素。排序应用102能够基于输入元素的数值在数据结构中的适当位置中插入新的输入元素。作为第二种功能,排序应用能够基于驱出优先级顺序(例如,驱出缓冲器中最小或最大数据元素)识别将从所述结构驱出的一个或多个元素。第三,排序应用可以提供开始驱出存在于所述结构中的识别的一个或多个元素的功能。
在一种布置中,主缓冲器210和次级缓冲器212中的每一个可以是平衡二叉树数据结构(例如,堆二叉树数据结构)。通常,堆二叉树数据结构(通常仅被称为堆)满足两个条件。一个条件可以是在树结构中包括的子节点的优先级至少和父节点的优先级一样大。第二个条件可以是堆是“完全树”,即每行都是满的树,即可能除了最下面一行以外在叶节点之间不存在间隙(即,未填充的节点)。
在某些示例中,可以通过跳跃列表数据结构实现缓冲器210、212。通常,跳跃列表数据结构和与其相关联的算法是线性链表的变体,并且可以在需要频繁插入带键的(keyed)数据元素的情况下改进排序性能。跳跃列表数据结构可以包括数据元素(或节点)的顺序线性链表,其中某些元素具有跳过中间数据元素的附加的指针,因此增加数据元素的搜索速度和效率。
通过将缓冲器210、212实现为跳跃列表数据结构,检索最小数据元素的检索时间可以是O(1)时间。可能需要O(1)时间的插入时间来适当地插入数据元素(例如,与最近插入的元素相邻地插入元素)。如果插入位置与最近插入的元素不相邻,则插入时间可以是O(log N)时间。读出“k”个元素(例如,具有最大值的元素)的驱出时间可以是O(k)时间。在William Pugh的、名称为“Skip lists:A probabilistic alternative to Balancedtrees”,Communications of the ACM,June1990,pp.668-676的论文中进一步详细描述了跳跃列表数据结构,所述论文的内容通过引用整体合并于此。
还可以使用其他技术,例如可以通过二叉树堆数据结构实现缓冲器210、212。二叉树堆数据结构是每个节点具有随机分配的优先级属性以及键的二叉搜索树。如在典型的二叉搜索树中一样,节点按关于其键的顺序。即关于键节点的左子树仅包含具有小于所述节点的键的键的节点,而节点的右子树仅包含具有大于或等于所述节点的键的键的节点。此外,节点按关于其优先级属性的“堆顺序”,使得每个子节点具有至少和父节点的优先级属性一样大的优先级属性。在Aragon、Cecilia R.和Seidel,Raimund的、名称为“RandomizedSearch Trees”,Proc.30th Symp.Foundations of Computer Science(FOCS1989)的论文中进一步描述了二叉树堆数据结构,所述论文的内容通过引用整体合并于此。
在一个实现方式中,排序应用102可以引起将应用于主缓冲器210的边界条件,其被用于确定是否将从主缓冲器驱出元素和何时将从主缓冲器驱出元素。边界条件可以采取允许在主缓冲器中存储的元素值的“窗口”的形式。窗口可以表示主缓冲器中任何两个存储的数据元素之间的最大可允许差。这样,窗口的“宽度”表示在主缓冲器中允许的值的范围。例如,窗口宽度可以通过计算主缓冲器210中的最小和最大元素之间的差来定义。
因为边界条件可以被认为满足或不满足(例如,违反),所以所述条件可以被认为是二元的。例如,只要没有输入数据使得超过窗口宽度,边界条件就可以被视为被满足。相反,如果超过窗口宽度,则边界条件可以被视为被违反。在违反边界条件时,可以执行一个或多个动作,例如根据驱出优先级顺序可以驱出主缓冲器210中的一个或多个元素。
为了定义与窗口相关联的参数可以使用各种技术,例如可以由用户指定或预定窗口宽度。例如可以基于具体应用(例如,基于电话呼叫终止时间的排序)定义窗口宽度。在某些上下文中,窗口宽度与“乱序”的测度对应,例如可以容忍离群元素的测度。例如,考虑涉及时间戳数据元素的上下文。窗口宽度指示相对于当前缓冲器中的时间戳元素(例如,最小或最大时间戳元素)可以向主缓冲器提供多晚的时间戳元素。在一种布置中,如果窗口宽度(以时间为单位)是4小时,则主缓冲器210可以存储在4小时窗口内的所有时间戳元素(如通过主缓冲器中的最小时间戳元素定义的)。可以对在4小时以外到达的时间戳元素进行丢弃、单独处理等。
如图2中所示,为每个状态202-208提供关于主缓冲器210的各个内容、主缓冲器210的窗口宽度(利用标签W标记)、当前在主缓冲器210中的最小元素(利用标签S标记)以及当前输出数据元素的信息。在这个示例中,按递增顺序存储元素,并且输入流大部分按递增顺序排序出现。基于所述排序,提供基本上按递增顺序排序的输出流。为了演示的目的,示例被示出为关于大约十三个元素的流操作,然而,所述过程可以关于具有更多或更少元素的流操作,例如可以由所述过程输入并将元素的连续流排序。
在初始状态202中,窗口宽度值被预定为20(例如,主缓冲器210中最小和最大元素之间的差不超过或等于20的值)。如所示,主缓冲器210是满的,从而不能存储任何更多的元素。主缓冲器210中的当前最小值元素具有0的值(并且在状态202中由S=0表示)。因为未驱出元素,所以由“NIL”表示当前输出,即不存在输出数据元素。此外,次级缓冲器212当前为空。
在状态204中,将在主缓冲器210中插入具有16的值的下一个输入元素。然而,虽然元素16的适当位置在值17和14的元素之间,但是主缓冲器210当前缺少插入所述元素所需的空间,其中可以移动值17的元素来为值16的元素腾出空间。为了腾出空间,可以移除主缓冲器210中存储的元素的预定的部分(例如,一半),并将其提供到次级缓冲器212,并且可以在主缓冲器210中新的可用位置中存储值16的元素。例如,可以将存储的元素的较大的一半(即,值17、14、11、10、9的元素)移动到次级缓冲器212。在某些示例中,基于预定的规则选择预定的部分。
移除存储的元素的较大的一半的一个优点是最大化将元素合并回主缓冲器210中所需要的时间。移除元素并将其写到次级缓冲器212所需要的时间是O(k)时间的量级,其中k是移除的元素的数量。还可以按排序顺序在次级缓冲器212中存储移除的元素。此外,可以在适当的位置将代理元素(例如,在主缓冲器中被标示为S9)插入主缓冲器210中。代理元素用于表示(例如,在主缓冲器210内)已移除并存储在次级缓冲器212中的元素。可以以各种方式表示代理元素,例如通过改变附加于表示代理元素的数据元素的布尔字段(标记)。可以通过主缓冲器210中的剩余元素的现行顺序来设立代理元素的位置。例如,在这个演示中,因为移除的元素的最小值具有9的值,所以可以在新插入的值16的元素和值8的元素之间插入代理元素S9。对于状态204,因为主缓冲器210中最小和最大元素之间的差是16,其仍然小于窗口宽度20,则不认为违反边界条件,从而不需要驱出数据元素。
在状态206中,如所示,主缓冲器210中若干位置已变为可以用于存储元素。值20的下一个输入元素被插入主缓冲器中适当的位置处,即在值16的元素之后。基于这个插入,主缓冲器210中的最小和最大元素之间的差是20,这等于窗口宽度20,因此违反边界条件。这样,只要违反边界条件,按元素的驱出优先级的顺序(例如,递增顺序)从主缓冲器210驱出元素。主缓冲器210中的最小元素是值0,其被驱出。现在下一个最小元素是值1。因为对于这种状态主缓冲器210中最小和最大元素之间的差是19,其小于窗口宽度20,则不违反边界条件。因此,不需要从主缓冲器210驱出更多的元素。
在状态208中,当将值29的元素插入主缓冲器210中时,最小和最大元素之间的差变为28(即,29减去1),这大于窗口宽度20。违反边界条件,从而从主缓冲器210驱出值1、6、7和8的元素。因为29减去9是20,所以代理元素S9现在也违反边界条件。
在这种情况下,来自次级缓冲器212的元素可以返回与主缓冲器210中的元素合并,使得按顺序存储组合的元素。为了方便读者,利用加粗的和带下划线的字体示出主缓冲器210中新合并的元素。通常,对于通过跳跃列表数据结构实现的主缓冲器210,将元素合并回主缓冲器210中所需要的时间是O(k log(n/k))时间的量级,其中“n”是主缓冲器210中元素的数量,并且“k”是合并的元素的数量。在合并完成之后,因为这个元素导致违反边界条件(29减去9是20),所以可以从缓冲器驱出值9的元素。像这样,现在缓冲器中的最小元素是值10,其不违反边界条件。因此,不从主缓冲器驱出更多的元素。
通常,当合并发生时,从主缓冲器驱出的元素的数量等于在次级缓冲器中存在的元素的数量。例如,从主缓冲器驱出四个元素以便为来自次级缓冲器的四个元素(在合并之后驱出值9的第五个元素)提供空间。
可以在某些实现方式中实现例如数量的缓冲器架构中的变化。例如可以使用一个主缓冲器和两个或多个次级缓冲器。与多个缓冲器类似,可以在主缓冲器中存储多个代理元素,每个代理元素与存储元素的多个次级缓冲器对应。当代理元素变为主缓冲器中的最高驱出优先级元素时,来自对应的次级缓冲器的元素被合并到主缓冲器中。
在某些示例中,可以填满次级缓冲器的容量,并且另一个不同的缓冲器(例如,第三缓冲器)可以被用于存储溢出元素。可以在次级缓冲器中的适当位置处插入代理元素来表示在第三缓冲器中存储的溢出元素。
次级缓冲器的长度(从而与这些缓冲器对应的文件大小)取决于当溢出状况发生时从主缓冲器移除的元素的数量。例如,最佳文件大小涉及从主缓冲器移除与将允许有效使用主缓冲器一样多的元素(例如,多达元素的数量的至少一半)。进一步的考虑是最小化移除和合并操作的数量。
现在参考图3,示出表示用于管理缓冲器的溢出状况的示例缓冲器溢出管理过程300的操作的流程图。在实现方式中,可以由在计算机系统上执行的软件应用进行下面概述的步骤。作为初步事项,通过使用一种或多种技术初始化主缓冲器和次级缓冲器(步骤302)。例如,初始化可以包括指定用于存储输入元素的存储区域,例如多个连续的存储器地址。作为初始化的一部分,可以关于主缓冲器指定边界条件。例如,可以定义变量来保持与主缓冲器的窗口对应的值。窗口宽度可以表示主缓冲器中任何两个存储的数据元素值之间的最大可允许差。
在定义关于主缓冲器的边界条件之后,主缓冲器准备好接收数据元素的输入流(步骤304)。然而,当主缓冲器达到容量时,溢出状况发生(步骤306)。当主缓冲器中不能容纳更多的元素时,溢出状况发生。在这种情况下,可以移除主缓冲器中存储的元素的部分(例如,一半),并将其存储在次级缓冲器中(步骤308)。可以使用一种或多种技术来在主缓冲器(例如,第一缓冲器)中插入代理数据元素来表示在次级缓冲器(例如,第二缓冲器)中存储的数据元素的部分。例如,可以通过可以被插入到主缓冲器中的适当位置处来表示移除的元素的标志(sentinel)提供代理元素。当需要从缓冲器驱出代理元素时,次级缓冲器中存储的元素按排序顺序合并到主缓冲器中(步骤310)。只要存在输入元素,就可以对于每个输入元素重复过程300。
可以使用用于在计算机上执行的软件来实现在这里描述的技术。例如,所述软件形成在一个或多个编程或可编程计算机系统(其可以是例如分布式、客户端/服务器、或网格的各种架构)上执行的一个或多个计算机程序中的过程,每个计算机系统包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备或端口以及至少一个输出设备或端口。所述软件可以形成例如提供与计算图的设计和配置有关的其他服务的更大的程序的一个或多个模块。图的节点和元素可以被实现为在计算机可读介质中存储的数据结构或符合在数据储存库中存储的数据模型的其他有组织的数据。
可以在例如CD-ROM的可以由通用或专用可编程计算机读取的存储介质上提供所述软件,或可以经由到执行所述软件的计算机的网络的通信介质递送(被编码在传播信号中)所述软件。可以在专用计算机上、或使用例如协处理器的专用硬件执行所有功能。可以以由不同的计算机执行由所述软件指定的计算的不同部分的分布式的方式实现所述软件。每个这样的计算机程序被优选地存储在或下载到可以由通用或专用可编程计算机读取的存储介质或设备(例如,固态存储器或介质、或磁性或光学介质),用于当由计算机系统读取存储介质或设备时配置和操作计算机,以便执行在这里描述的过程。本发明系统还可以被认为被实现为使用计算机程序配置的计算机可读存储介质,其中这样配置存储介质使得以具体和预定方式操作计算机系统以便执行在这里描述的功能。
已描述了本发明的许多实施例。然而,将理解可以进行各种修改而不背离本发明的精神和范围。例如,上面描述的步骤中的某些可以是顺序无关的,从而可以以不同于描述的顺序的顺序执行。
应理解上述描述意图图示而并不限制本发明的范围,本发明的范围由所附权利要求的范围定义。例如,可以以不同的顺序执行上面描述的许多功能步骤,而不实质上影响整体处理。其他实施例在下列权利要求的范围内。

Claims (57)

1.一种计算机实现的方法,包括:
响应于检测到第一缓冲器的溢出状况,将在所述第一缓冲器中存储的一个或多个数据元素移动到第二缓冲器中,其中根据预定的顺序将在所述第一缓冲器中存储的数据元素排序;以及
在所述第一缓冲器中创建引用移动到所述第二缓冲器中的数据元素的代理元素;以及
基于在所述第一缓冲器中所述代理元素的位置将在所述第二缓冲器中存储的数据元素中的一个或多个移动到所述第一缓冲器中,其中移动到所述第一缓冲器中的数据元素在所述第一缓冲器中根据所述预定的顺序存储。
2.如权利要求1所述的方法,其中移动到所述第二缓冲器中的一个或多个数据元素基本上根据基于所述预定的顺序的顺序排序。
3.如权利要求1所述的方法,其中移动到所述第二缓冲器中的数据元素包括存储在所述第一缓冲器中的数据元素的至少一半。
4.如权利要求1所述的方法,还包括:
在与移动到所述第二缓冲器中的数据元素对应的第一缓冲器的位置中存储一个或多个数据元素。
5.如权利要求1所述的方法,还包括:
根据所述预定的顺序从所述第一缓冲器驱出一个或多个数据元素;以及
提供从所述第一缓冲器驱出的一个或多个数据元素作为基本上根据所述预定的顺序排序的数据元素的输出流。
6.如权利要求1所述的方法,包括:
合并移动到所述第一缓冲器中的一个或多个数据元素与在所述第一缓冲器中存储的数据元素。
7.如权利要求6所述的方法,其中根据所述预定的顺序将所合并的数据元素排序。
8.如权利要求6所述的方法,其中合并基本上与产生输出数据元素同时发生。
9.如权利要求1所述的方法,其中所述代理元素引用来自所述第二缓冲器的具有从所述第二缓冲器移除的最高优先级的数据元素。
10.如权利要求5所述的方法,其中所驱出的一个或多个数据元素包括表示在所述第一缓冲器中存储的数据元素的最小值的数据元素。
11.如权利要求5所述的方法,其中所驱出的一个或多个数据元素包括表示在所述第一缓冲器中存储的数据元素的最大值的数据元素。
12.如权利要求1所述的方法,还包括:
将边界条件应用于在所述第一缓冲器中存储的数据元素;以及
基于所述边界条件从所述第一缓冲器驱出一个或多个数据元素作为根据预定的优先级顺序排序的数据元素的输出流。
13.如权利要求12所述的方法,其中每个数据元素表示数据记录产生时间。
14.如权利要求12所述的方法,其中基于所述边界条件从所述第一缓冲器驱出一个或多个数据元素包括:
确定在所述第一缓冲器中存储的数据元素中的一个或多个是否超过预定的值;以及
如果所述一个或多个数据元素超过所述预定的值,则从所述第一缓冲器驱出所述一个或多个数据元素。
15.如权利要求1所述的方法,其中通过跳跃列表数据结构实现所述第一缓冲器和第二缓冲器中的至少一个。
16.如权利要求1所述的方法,其中通过二叉树堆数据结构实现所述第一缓冲器和第二缓冲器中的至少一个。
17.如权利要求1所述的方法,其中数据元素中的一个或多个从输入基于图的计算系统中的组件的数据记录导出。
18.如权利要求1所述的方法,包括:
将边界条件应用于在所述第一缓冲器中存储的数据元素,其中所述边界条件表示在所述第一缓冲器中存储的数据元素中的两个或多个之间的关系。
19.如权利要求18所述的方法,包括:
当不满足所述边界条件时,从所述第一缓冲器驱出一个或多个数据元素。
20.如权利要求19所述的方法,其中所述预定的顺序是从所述第一缓冲器驱出所述数据元素的优先级顺序。
21.如权利要求20所述的方法,包括:
响应于所述代理元素变为高优先级数据元素,合并移动到所述第一缓冲器中的一个或多个数据元素与在所述第一缓冲器中存储的数据元素。
22.如权利要求19所述的方法,其中从所述第一缓冲器驱出的一个或多个数据元素是一个或多个高优先级数据元素。
23.如权利要求22所述的方法,其中从所述第一缓冲器驱出一个或多个高优先级数据元素包括:提供从所述第一缓冲器驱出的一个或多个高优先级数据元素,作为基本上根据所述预定的顺序排序的数据元素的输出流。
24.如权利要求18所述的方法,其中将边界条件应用于在所述第一缓冲器中存储的一个或多个数据元素包括:
确定表示在所述第一缓冲器中存储的一个或多个数据元素的最小或最大值的数据元素的值和接收到的数据元素的值之间的差。
25.如权利要求18所述的方法,其中所述边界条件表示在所述第一缓冲器中存储的第一数据元素的值与在所述第一缓冲器中存储的第二数据元素的值之间的可允许差。
26.如权利要求6所述的方法,包括:
当识别所述代理元素用于从所述第一缓冲器驱出时合并所述一个或多个数据元素。
27.如权利要求1所述的方法,其中创建代理元素包括将所述代理元素插入到所述第一缓冲器中。
28.一种计算系统,包括:
数据存储系统,其用于在第一缓冲器和第二缓冲器中存储数据元素;以及
至少一个处理器,其耦接到所述数据存储系统并被配置为处理接收到的数据元素流,所述处理包括:
响应于检测到第一缓冲器的溢出状况,将在所述第一缓冲器中存储的一个或多个数据元素移动到所述第二缓冲器中,其中根据预定的顺序将在所述第一缓冲器中存储的数据元素排序;以及
在所述第一缓冲器中创建引用移动到所述第二缓冲器中的数据元素的代理元素;以及
基于在所述第一缓冲器中所述代理元素的位置将在所述第二缓冲器中存储的数据元素中的一个或多个移动到所述第一缓冲器中,其中移动到所述第一缓冲器中的数据元素在所述第一缓冲器中根据所述预定的顺序存储。
29.如权利要求28所述的计算系统,其中所述处理包括:
将边界条件应用于在所述第一缓冲器中存储的数据元素,其中所述边界条件表示在所述第一缓冲器中存储的数据元素中的两个或多个之间的关系。
30.如权利要求29所述的计算系统,其中所述处理包括:
当不满足所述边界条件时,从所述第一缓冲器驱出一个或多个数据元素。
31.如权利要求30所述的计算系统,其中所述预定的顺序是用于从所述第一缓冲器驱出所述数据元素的优先级顺序。
32.如权利要求31所述的计算系统,其中所述处理包括:
响应于所述代理元素变为高优先级数据元素,合并移动到所述第一缓冲器中的一个或多个数据元素与在所述第一缓冲器中存储的数据元素。
33.如权利要求30所述的计算系统,其中从所述第一缓冲器驱出的一个或多个数据元素是一个或多个高优先级数据元素。
34.如权利要求33所述的计算系统,其中从所述第一缓冲器驱出一个或多个高优先级数据元素包括:提供从所述第一缓冲器驱出的一个或多个高优先级数据元素,作为基本上根据所述预定的顺序排序的数据元素的输出流。
35.如权利要求29所述的计算系统,其中将边界条件应用于在所述第一缓冲器中存储的一个或多个数据元素包括:
确定表示在所述第一缓冲器中存储的一个或多个数据元素的最小或最大值的数据元素的值和接收到的数据元素的值之间的差。
36.如权利要求29所述的计算系统,其中所述边界条件表示在所述第一缓冲器中存储的第一数据元素的值与在所述第一缓冲器中存储的第二数据元素的值之间的可允许差。
37.如权利要求28所述的计算系统,其中所述代理元素引用来自所述第二缓冲器的具有从所述第二缓冲器移除的最高优先级的数据元素。
38.如权利要求28所述的计算系统,其中移动到所述第二缓冲器中的一个或多个数据元素基本上根据基于所述预定的顺序的顺序排序。
39.如权利要求28所述的计算系统,其中所述处理包括:
合并移动到所述第一缓冲器中的一个或多个数据元素与在所述第一缓冲器中存储的数据元素。
40.如权利要求39所述的计算系统,其中根据所述预定的顺序将所合并的数据元素排序。
41.如权利要求39所述的计算系统,其中所述处理包括:
当识别所述代理元素用于从所述第一缓冲器驱出时合并所述一个或多个数据元素。
42.如权利要求28所述的计算系统,其中创建代理元素包括将所述代理元素插入到所述第一缓冲器中。
43.一种计算系统,包括:
用于响应于检测到第一缓冲器的溢出状况,将在所述第一缓冲器中存储的一个或多个数据元素移动到第二缓冲器中的装置,其中根据预定的顺序将在所述第一缓冲器中存储的数据元素排序;用于在所述第一缓冲器中创建引用移动到所述第二缓冲器中的数据元素的代理元素的装置;以及
用于基于在所述第一缓冲器中所述代理元素的位置将在所述第二缓冲器中存储的数据元素中的一个或多个移动到所述第一缓冲器中的装置,其中移动到所述第一缓冲器中的数据元素在所述第一缓冲器中根据所述预定的顺序存储。
44.如权利要求43所述的计算系统,包括:
用于将边界条件应用于在所述第一缓冲器中存储的数据元素的装置,其中所述边界条件表示在所述第一缓冲器中存储的数据元素中的两个或多个之间的关系。
45.如权利要求44所述的计算系统,包括:
用于当不满足所述边界条件时、从所述第一缓冲器驱出一个或多个数据元素的装置。
46.如权利要求45所述的计算系统,其中所述预定的顺序是用于从所述第一缓冲器驱出所述数据元素的优先级顺序。
47.如权利要求46所述的计算系统,包括:
用于响应于所述代理元素变为高优先级数据元素、合并移动到所述第一缓冲器中的一个或多个数据元素与在所述第一缓冲器中存储的数据元素的装置。
48.如权利要求45所述的计算系统,其中从所述第一缓冲器驱出的一个或多个数据元素是一个或多个高优先级数据元素。
49.如权利要求48所述的计算系统,其中从所述第一缓冲器驱出一个或多个高优先级数据元素包括:提供从所述第一缓冲器驱出的一个或多个高优先级数据元素,作为基本上根据所述预定的顺序排序的数据元素的输出流。
50.如权利要求44所述的计算系统,其中将边界条件应用于在所述第一缓冲器中存储的一个或多个数据元素包括:
确定表示在所述第一缓冲器中存储的一个或多个数据元素的最小或最大值的数据元素的值和接收到的数据元素的值之间的差。
51.如权利要求44所述的计算系统,其中所述边界条件表示在所述第一缓冲器中存储的第一数据元素的值与在所述第一缓冲器中存储的第二数据元素的值之间的可允许差。
52.如权利要求43所述的计算系统,其中所述代理元素引用来自所述第二缓冲器的具有从所述第二缓冲器移除的最高优先级的数据元素。
53.如权利要求43所述的计算系统,其中移动到所述第二缓冲器中的一个或多个数据元素基本上根据基于所述预定的顺序的顺序排序。
54.如权利要求43所述的计算系统,包括:
用于合并移动到所述第一缓冲器中的一个或多个数据元素与在所述第一缓冲器中存储的数据元素的装置。
55.如权利要求54所述的计算系统,其中根据所述预定的顺序将所合并的数据元素排序。
56.如权利要求54所述的计算系统,包括:
用于当识别所述代理元素用于从所述第一缓冲器驱出时合并所述一个或多个数据元素的装置。
57.如权利要求43所述的计算系统,其中创建代理元素包括将所述代理元素插入到所述第一缓冲器中。
CN201280009223.3A 2011-02-18 2012-02-16 管理缓冲器溢出状况 Active CN103370691B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/031,034 US8447901B2 (en) 2011-02-18 2011-02-18 Managing buffer conditions through sorting
US13/031,034 2011-02-18
PCT/US2012/025441 WO2012112772A1 (en) 2011-02-18 2012-02-16 Managing buffer overflow conditions

Publications (2)

Publication Number Publication Date
CN103370691A CN103370691A (zh) 2013-10-23
CN103370691B true CN103370691B (zh) 2017-02-15

Family

ID=45888467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280009223.3A Active CN103370691B (zh) 2011-02-18 2012-02-16 管理缓冲器溢出状况

Country Status (8)

Country Link
US (2) US8447901B2 (zh)
EP (1) EP2676196B1 (zh)
JP (1) JP5977263B2 (zh)
KR (2) KR101734883B1 (zh)
CN (1) CN103370691B (zh)
AU (1) AU2012217645B2 (zh)
CA (1) CA2827312C (zh)
WO (1) WO2012112772A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003084B2 (en) 2011-02-18 2015-04-07 Ab Initio Technology Llc Sorting
US8447901B2 (en) 2011-02-18 2013-05-21 Ab Initio Technology Llc Managing buffer conditions through sorting
US9836358B2 (en) 2014-03-17 2017-12-05 Splunk Inc. Ephemeral remote data store for dual-queue systems
US9838346B2 (en) 2014-03-17 2017-12-05 Splunk Inc. Alerting on dual-queue systems
US9772921B2 (en) 2014-03-17 2017-09-26 Silver Spring Networks, Inc. Techniques for collecting and analyzing notifications received from neighboring nodes across multiple channels
US9838467B2 (en) * 2014-03-17 2017-12-05 Splunk Inc. Dynamically instantiating dual-queue systems
US9753818B2 (en) 2014-09-19 2017-09-05 Splunk Inc. Data forwarding using multiple data pipelines
US9660930B2 (en) 2014-03-17 2017-05-23 Splunk Inc. Dynamic data server nodes
KR101666307B1 (ko) * 2015-05-14 2016-10-13 영남대학교 산학협력단 메모리 장치 기반의 힙 정렬 방법 및 장치
JP6860965B2 (ja) * 2015-06-12 2021-04-21 任天堂株式会社 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法
US10795875B2 (en) * 2015-08-12 2020-10-06 Industry-University Cooperation Foundation Hanyang University Data storing method using multi-version based data structure
KR102532645B1 (ko) * 2016-09-20 2023-05-15 삼성전자 주식회사 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치
CN108614798B (zh) * 2016-12-12 2021-05-07 中国航空工业集团公司西安航空计算技术研究所 PCIe链路弹性缓冲区电路
US10897516B2 (en) * 2017-11-15 2021-01-19 Cisco Technology, Inc. Application buffering of packets by fog computing node for deterministic network transport
US11354094B2 (en) 2017-11-30 2022-06-07 International Business Machines Corporation Hierarchical sort/merge structure using a request pipe
US10936283B2 (en) 2017-11-30 2021-03-02 International Business Machines Corporation Buffer size optimization in a hierarchical structure
US10896022B2 (en) 2017-11-30 2021-01-19 International Business Machines Corporation Sorting using pipelined compare units
US11048475B2 (en) 2017-11-30 2021-06-29 International Business Machines Corporation Multi-cycle key compares for keys and records of variable length
US11483244B2 (en) * 2020-03-18 2022-10-25 Marvell Israel (M.I.S.L) Ltd. Packet buffer spill-over in network devices
KR20230106920A (ko) * 2022-01-07 2023-07-14 삼성전자주식회사 스토리지 시스템 및 이를 포함하는 컴퓨팅 시스템

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218670A (en) 1990-08-31 1993-06-08 Texas Instruments Incorporated Apparatus and methods for the handling of banded frame buffer overflows
JPH04205418A (ja) * 1990-11-30 1992-07-27 Matsushita Electric Ind Co Ltd 記憶装置およびアンダーフロー処理方法
US5872769A (en) 1995-07-19 1999-02-16 Fujitsu Network Communications, Inc. Linked list structures for multiple levels of control in an ATM switch
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
JP3213697B2 (ja) * 1997-01-14 2001-10-02 株式会社ディジタル・ビジョン・ラボラトリーズ 中継ノードシステム及び同システムにおける中継制御方法
US5996031A (en) 1997-03-31 1999-11-30 Ericsson Inc. System and method for the real time switching of an isochronous data stream
US6088716A (en) 1997-04-28 2000-07-11 Ab Initio Software Corporation Method for preventing buffer deadlock in dataflow computations
JP3544127B2 (ja) * 1997-10-24 2004-07-21 キヤノン株式会社 画像形成装置および画像形成装置の制御方法
JPH11175281A (ja) 1997-12-15 1999-07-02 Hitachi Information Technology Co Ltd 印刷データバッファ制御方式
US6161155A (en) 1998-07-20 2000-12-12 Hewlett-Packard Company Apparatus and method for storing retrievable boundary information into a buffer memory of a receiving device
AU9240598A (en) 1998-11-16 2000-05-18 Ericsson Australia Pty Ltd Method and system for scheduling packets in a telecommunications network
US6401147B1 (en) 1999-05-24 2002-06-04 Advanced Micro Devices, Inc. Split-queue architecture with a first queue area and a second queue area and queue overflow area having a trickle mode and an overflow mode based on prescribed threshold values
US7301954B1 (en) 1999-09-24 2007-11-27 United States Of America As Represented By The Secretary Of The Navy Multiple-buffer queueing of data packets with high throughput rate
JP2002024035A (ja) * 2000-07-04 2002-01-25 Nec Corp プロセス間通信装置及び方法
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US7213087B1 (en) * 2000-08-31 2007-05-01 Hewlett-Packard Development Company, L.P. Mechanism to control the allocation of an N-source shared buffer
US6842800B2 (en) 2001-08-30 2005-01-11 Marconi Intellectual Property (Ringfence) Inc. System and method for managing configurable buffer sizes
US7162546B2 (en) * 2001-12-27 2007-01-09 Intel Corporation Reordering unrelated transactions from an ordered interface
US6925539B2 (en) * 2002-02-06 2005-08-02 Seagate Technology Llc Data transfer performance through resource allocation
US6877048B2 (en) * 2002-03-12 2005-04-05 International Business Machines Corporation Dynamic memory allocation between inbound and outbound buffers in a protocol handler
TWI313412B (en) 2002-11-25 2009-08-11 Ibm Method and apparatus for intermediate buffer segmentation and reassembly
US7003597B2 (en) 2003-07-09 2006-02-21 International Business Machines Corporation Dynamic reallocation of data stored in buffers based on packet size
US7958292B2 (en) * 2004-06-23 2011-06-07 Marvell World Trade Ltd. Disk drive system on chip with integrated buffer memory and support for host memory access
KR20070076726A (ko) 2006-01-19 2007-07-25 삼성전자주식회사 엔드포인트 제어 장치 및 방법
US7496707B2 (en) 2006-08-22 2009-02-24 International Business Machines Corporation Dynamically scalable queues for performance driven PCI express memory traffic
US8839271B2 (en) * 2006-10-11 2014-09-16 International Business Machines Corporation Call stack sampling to obtain information for analyzing idle states in a data processing system
US7937419B2 (en) 2008-06-26 2011-05-03 Tatu Ylonen Oy Garbage collection via multiobjects
JP2010211880A (ja) * 2009-03-11 2010-09-24 Sharp Corp ディスクドライブ装置、その制御方法、プログラム、及び、記録媒体
US8447901B2 (en) 2011-02-18 2013-05-21 Ab Initio Technology Llc Managing buffer conditions through sorting
US9003084B2 (en) 2011-02-18 2015-04-07 Ab Initio Technology Llc Sorting

Also Published As

Publication number Publication date
EP2676196B1 (en) 2021-09-15
EP2676196A1 (en) 2013-12-25
US20130297904A1 (en) 2013-11-07
KR101734883B1 (ko) 2017-05-12
KR20150042296A (ko) 2015-04-20
CN103370691A (zh) 2013-10-23
US8762604B2 (en) 2014-06-24
US8447901B2 (en) 2013-05-21
AU2012217645B2 (en) 2015-10-22
US20120215997A1 (en) 2012-08-23
JP5977263B2 (ja) 2016-08-24
KR20140003517A (ko) 2014-01-09
CA2827312C (en) 2017-08-29
WO2012112772A1 (en) 2012-08-23
JP2014505959A (ja) 2014-03-06
AU2012217645A1 (en) 2013-05-02
CA2827312A1 (en) 2012-08-23

Similar Documents

Publication Publication Date Title
CN103370691B (zh) 管理缓冲器溢出状况
CN103392169B (zh) 排序方法和系统
JP6025149B2 (ja) データを管理するシステムおよび方法
CN104317928A (zh) 一种基于分布式数据库的业务etl方法及系统
CN103020255A (zh) 分级存储方法和装置
CN107273195A (zh) 一种大数据的批处理方法、装置及计算机系统
CN110704438B (zh) 一种区块链中布隆过滤器的生成方法及装置
CN103765381A (zh) 对b+树的并行操作
CN110134646B (zh) 知识平台服务数据存储与集成方法及系统
CN108062235A (zh) 数据处理方法及装置
CN109033365A (zh) 一种数据处理方法及相关设备
CN106201918B (zh) 一种基于大数据量和大规模缓存快速释放的方法和系统
CN109800074A (zh) 任务数据并发执行方法、装置以及电子设备
CN109725852B (zh) 一种限流计数的优化方法及终端
CN107346342A (zh) 一种基于存储计算的文件调用方法与系统
CN105468304A (zh) 一种Native存储卡及其管理方法
CN109189343A (zh) 一种元数据落盘方法、装置、设备及计算机可读存储介质
CN110059075A (zh) 一种数据库迁移的方法、装置、设备及计算机可读介质
CN104932982A (zh) 一种消息访存的编译方法及相关装置
CN102571564A (zh) 静态介质接入控制地址的老化方法、装置及设备
CN115080536A (zh) 一种数据迁移方法、装置、控制设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant