CN108021606A - 基于对象突变事件确定系统信息 - Google Patents
基于对象突变事件确定系统信息 Download PDFInfo
- Publication number
- CN108021606A CN108021606A CN201711043133.7A CN201711043133A CN108021606A CN 108021606 A CN108021606 A CN 108021606A CN 201711043133 A CN201711043133 A CN 201711043133A CN 108021606 A CN108021606 A CN 108021606A
- Authority
- CN
- China
- Prior art keywords
- event
- container
- sets
- medium
- flow
- 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
- 230000005540 biological transmission Effects 0.000 claims abstract description 23
- 238000012790 confirmation Methods 0.000 claims abstract description 15
- 238000006116 polymerization reaction Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 10
- 230000008439 repair process Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 11
- 230000015654 memory Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/20—Control channels or signalling for resource management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及基于对象突变事件确定系统信息。具体而言,消费者发送与从事件流检索出的初始事件集合对应的系统更新集合。消费者确定尚未接收到初始事件集合的传输的确认。消费者执行另一个检索操作,以从事件流检索事件,这导致检索更新后的事件集合。更新后的事件集合包括初始事件集合以及一个或多个附加事件。消费者修整更新后的事件集合,以移除所述一个或多个附加事件并获得初始事件集合。消费者重新确定并重新发送与通过修整更新后的事件集合所获得的初始事件集合对应的系统更新。
Description
技术领域
本公开涉及维护和更新存储系统信息。特别地,本公开涉及基于事件流中公布的对象突变事件来确定和发送系统信息更新。
背景技术
对象可以被存储在根据各种存储体系架构的存储系统中。存储体系架构的示例包括对象存储装置、文件系统、块存储装置和/或数据库。
对象可以包括数据和元数据。对象数据包括例如由最终用户和/或业务应用使用的信息。作为示例,用于销售应用的数据可以包括关于客户、产品和销售的信息。作为另一个示例,用于人力资源应用的数据可以包括关于员工、部门和工资的信息。对象元数据可以描述关于数据的信息。作为示例,对象元数据可以指示数据如何被设置、结构化和/或存储。对象元数据可以指示数据何时被生成或数据何时被修改。对象元数据可以被用来操纵和/或管理存储系统中的对象。
对象可以被添加到数据库中、从数据库中删除或被修改。添加、删除或修改对象在本文中可以被称为对象突变事件(OME)。描述针对特定对象的OME的信息可以在事件流集合之一中连续地发布。
本节中描述的方法是可以追求的方法,但不一定是先前已经构想或追求的方法。因此,除非另有说明,否则不应当假定本节中描述的任何方法仅仅因为它们被纳入本节中就符合作为现有技术。
附图说明
在附图的各个图中,实施例是作为示例而不是作为限制进行图示的。应当注意的是,本公开中对“一个”实施例的引用不一定是指相同的实施例,而是它们意味着至少一个。在附图中:
图1A-1B图示了根据一个或多个实施例的系统信息管理体系架构;
图2A-2E图示了根据一个或多个实施例的、用于基于对象突变事件来确定和发送系统更新的操作;以及
图3示出了图示根据一个或多个实施例的计算机系统的框图。
具体实施方式
在以下描述中,为了说明的目的,阐述了许多具体细节以便提供透彻的理解。可以在没有这些具体细节的情况下实践一个或多个实施例。在一个实施例中描述的特征可以与在不同的实施例中描述的特征组合。在一些示例中,众所周知的结构和设备参考框图形式描述,以避免不必要地模糊本发明。
1.一般概述
2.系统信息管理体系架构
3.基于对象突变事件确定和发送系统更新
4.其他事项;扩展
5.硬件概述
1.一般概述
一个或多个实施例包括基于在事件流中发布的对象突变事件来确定和发送系统更新。对象突变事件可以包括但不限于在容器中插入对象、从容器中删除对象以及修改容器中的对象。基于对象突变事件的系统更新可以指定容器中对象的数量的改变或容器的尺寸的改变。
发布者将对象突变事件发布到事件流。消费者执行初始检索操作,以从事件流检索事件。通过执行初始检索操作检索的事件包括(a)与由开始读指针识别出的偏移量对应的特定事件,以及(b)在事件流中在初始检索操作时的特定事件之后已经发布的事件。消费者基于初始检索出的事件集合来确定和发送系统更新集合。消费者确定尚未接收到针对系统更新集合的传输的确认。响应于确定尚未接收到确认,消费者执行第二检索操作,以从事件流检索事件。执行第二检索操作包括消费者在执行第二检索操作时检索事件流中的一些事件。具体而言,第二检索操作导致检索包括先前检索出的第一事件集合和一个或多个附加事件的更新的事件集合。一个或多个附加事件由发布者在消费者执行初始检索操作的时间和消费者执行第二检索操作的时间之间发布。消费者通过移除一个或多个附加事件来修整更新的事件集合,以重新获得先前检索出的第一事件集合。消费者基于第一事件集合重新确定并重新发送系统更新集合。
本说明书中描述和/或权利要求中阐述的一个或多个实施例可以不包括在这个“一般概述”部分中。
2.系统信息管理体系架构
在实施例中,供应商管理用于存储数据并向多个租户提供服务的云环境。每个租户可以从供应商购买数据存储空间和服务。供应商可以使用数据隔离技术来分离与不同租户对应的数据。作为示例,与一个租户相关联的服务或部件可以被限制为仅访问与该同一租户对应的数据。供应商可以实现如本文所述的系统信息管理体系架构,以维护和更新用于被用来存储数据和/或提供服务的系统的系统信息。系统信息经由基于对象突变事件(OME)确定的系统更新来被更新,如下所述。
用来存储数据或提供服务的系统可以维护数据库对象(在本文中可以被称为“对象”)。数据库对象是数据库中包括数据的任何定义的数据结构。数据库对象的一些示例包括表、视图、集群、序列、索引和同义词。数据库对象可以指表中的单行数据。
在实施例中,对象突变事件(OME)是与对象相关联的事件。OME可以包括但不限于对象创建事件、对象修改事件和对象删除事件。对象创建事件是将新对象存储到数据库的事件。可以执行“放入(put)”命令来执行对象创建事件。新对象在数据库内可以是唯一的,或者可以是已经在数据库中的另一个对象的副本(以不同的标识符存储)。对象删除事件是从数据库中删除对象的事件。删除可以指例如将对象标记为要删除、删除对象的指针,或者回收为存储对象而分配的存储器。可以执行“删除(delete)”命令来执行对象删除事件。对象修改事件是当前存储在数据库中的对象被修改的事件。对象的修改可以包括通过重写与对象对应的存储在物理存储器中的数据来重写该对象。对象的修改可以包括将对象的新版本添加到数据库而不重写对象的先前版本。与执行“删除”命令以删除同一对象的先前版本相结合,可以执行“放入”命令来将对象的新版本添加到数据库。
在实施例中,数据库对象可以被分组到容器集合之一中。容器与用于对象的组织、管理、分析和/或操纵的逻辑分组、物理存储器分组或任何其它类型的分组对应。容器的每个集合还可以被分组到帐户集合的特定帐户中。每个帐户可以与租户帐户或客户帐户对应。
供应商可以实现如本文所述的系统信息管理体系架构,以维护和更新用于被用来存储数据和/或提供服务的系统的系统信息。系统信息可以包括但不限于与特定租户对应的数据对象的数量、与特定租户对应的数据对象的尺寸、与特定租户对应的数据对象的尺寸的总和以及与特定租户对应的每个容器(具有数据对象)的尺寸。本文的实施例描述了确定和更新系统信息的技术。系统信息可以用于任何目的,包括向租户收费、预测租户未来的使用需求以及向租户提供建议。
如上所述的OME可以导致对系统信息的更新。容器中每个对象的相应尺寸可以被合计,以确定容器的尺寸。当对象被添加到容器时,容器的尺寸基于所添加的对象的尺寸而增加。当从容器中删除对象时,容器的尺寸根据被删除的对象的尺寸而减小。当对象的尺寸被修改时,容器的尺寸根据对象尺寸的改变而被修改。容器内的对象的数量可以基于对象的添加和删除来被维护和更新。
作为示例,OME可以指示对象X(尺寸为10KB)被添加到容器Y(尺寸为100KB)。基于OME的系统更新可以指示:“容器Y+10KB”。基于系统更新,将容器Y的尺寸识别为100KB的系统信息可以被更新为指示容器Y的尺寸为110KB。如果稍后OME指示对象被修改,这种修改导致对象X的尺寸从10KB减小到8KB,那么第二系统更新可以指示“容器Y-2KB”。基于第二系统更新,将容器Y的尺寸识别为100KB的系统信息可以被更新为指示容器Y的尺寸为108KB。然后尺寸为20KB的对象Z可以从容器Y中删除。第三系统更新可以基于从容器Y中删除对象Z而指示:“容器Y-20KB”。基于第三系统更新,将容器Y的尺寸识别为108KB的系统信息可以被更新为指示容器Y的尺寸为88KB。
作为另一个示例,系统信息可以指示与租户相关联的特定容器内或容器集合内的对象的数量。系统更新可以基于OME反映对容器内的对象数量的更新。系统更新可以指示“C1:+1”,由此表示容器C1中增加一个对象。系统更新可以指示“C2:+0”,由此表示容器C2中的对象数量没有变化。如本领域技术人员所理解的,系统更新或系统信息的实际内容可以比本文所述的示例更简洁、更详细或者不同。为了解释的目的,本文中阐述简单或过度一般化的示例。
图1A和1B图示了表示根据一个或多个实施例的系统信息管理体系架构的框图。如本文所提到的,系统信息管理体系架构包括用于基于在事件流中发布的对象突变事件(OME)来确定和应用系统更新的部件。系统信息管理体系架构可以包括但不限于发布服务102、消费者分区(例如,消费者分区104-108)、一阶段消费者(例如,消费者110-114)、容器分区(例如,容器分区116-118)、二阶段消费者(例如,消费者120-122)以及容器服务124。
在一个或多个实施例中,对象管理体系架构100和101可以包括比图1A和1B中分别示出的部件更多或更少的部件。图1A和1B中所示的部件可以在彼此本地或彼此远离。图1A和1B中所示的部件可以用软件和/或硬件来实现。每个部件可以分布在多个应用和/或机器上。多个部件可以被组合到一个应用和/或机器中。关于一个部件描述的操作可以代替地由另一个部件执行。
在一个或多个实施例中,发布服务102是发布关于OME的信息的过程。为了清楚和解释的目的,发布关于OME的信息在本文中可以被称为发布OME本身。发布服务102可以从存储系统内的任何部件接收关于要由发布服务102发布的OME的信息。作为示例,确定是否可以执行OME的元数据层的部件可以向发布服务102提供OME信息,或者可以自己实现发布服务102。作为另一个示例,请求执行OME的部件,诸如面向客户端的数据库前端,可以向发布服务102提供OME信息,或者可以自己实现发布服务102。发布服务102可以接收关于OME的信息和/或可以响应于OME的执行和/或在OME的执行之后发布关于OME的信息。
发布服务102可以将OME发布到事件流(在本文中也称为“改变流”)。如本文所提到的事件流包括描述OME的持续更新的信息集合。每个事件流存储在相应的消费者分区(例如,消费者分区104、106和108)中。消费者分区可以指包括由一阶段消费者(例如,消费者110、112和114)消费的OME的软件和/或硬件存储部件。作为示例,消费者分区可以指要由相应消费者消费的OME信息的阵列。消费者分区可以指分配用于存储要由相应消费者消费的OME的特定存储器区域。
一阶段消费者是完成与系统信息管理体系架构相关联的第一阶段的消费者。第一阶段包括一阶段消费者消费来自相应的消费者分区的OME。消费OME包括一阶段消费者从消费者分区检索OME并基于该OME确定系统更新。
在实施例中,一阶段消费者相对于容器确定系统更新。一阶段消费者关于容器确定对OME的影响。作为示例,一阶段消费者可以基于OME来确定容器的尺寸的总体改变。在另一个示例中,一阶段消费者可以基于如由OME所指示的容器中对象的添加(例如,改变=“+1”)、修改(例如,改变=“0”)或删除(例如,改变=“-1”)来确定容器中对象数量的改变。一阶段消费者关于容器将系统更新存储在对应的容器分区(例如,容器分区116)中。下面将参考图2进一步描述第一阶段。
在实施例中,二阶段消费者从容器分区消费与相应容器对应的系统更新。二阶段消费者聚合针对容器的系统更新,以确定对于容器的净更新。二阶段消费者将净更新发送到容器服务(例如,容器服务124)。容器服务根据净更新来更新系统信息。
作为示例,二阶段消费者如下识别针对容器C1的系统更新:C1:0、C1:+1和C1:+1。第一个系统更新C1:0指示没有由于对应OME引起的对象数量的改变。第二个系统更新C1:+1指示将一个对象添加到容器C1。第三个系统更新C1:+1也指示将一个对象添加到容器C1。根据这三个更新确定的净更新为C1:+2。净更新C1:+2指示向容器C1添加两个对象。二阶段消费者将净更新发送到容器服务,用于更新系统信息。具体而言,容器C1的对象的总数增加2。
3.基于对象突变事件确定和发送系统更新
图2A-2E图示了根据一个或多个实施例的、用于基于对象突变事件来确定和发送系统更新的操作的示例集合。参考图2A或图2B描述的一个或多个操作或图示可以被修改、重新排列或完全省略。因而,下面的特定描述不应当被解释为限制一个或多个实施例的范围。
实施例包括消费者从事件流检索对象突变事件(在本文可互换地称为“事件”和“OME”)的当前集合(操作202)。
图2B中图示了事件流的示例。事件252-256基于发布的时间以时间次序示出。发布服务将事件流250发布到消费者分区。图2B将事件252-256示出为已经发布到事件流250。此外,事件258将由发布服务发布到事件流。
从事件流检索出的当前事件集合包括事件流中与开始读指针的当前值对应的特定事件。开始读指针的当前值是比前一检索操作的结束偏移量值大一的开始偏移量值。当前事件集合还包括事件流中在检索操作时的特定事件之后的事件。当前事件集合可以包括事件流中在特定事件之后的所有事件,或者可以包括高达在任何检索操作期间可以被检索的事件的最大数量的后续事件。当前事件集合不包括该特定事件之前发布的事件。为了解释的目的,在操作202中检索出的当前事件集合在本文被称为“初始事件集合”;但是,应当理解的是,在初始事件集合之前可以已经发布了其它事件。
作为示例,在时间T0,事件流250可以包括直到事件262的事件集合,如图2C中所示。开始读指针251可以引用特定事件254。基于开始读指针251,用于检索当前事件集合的检索操作可以导致检索事件流中的事件254和事件254之后的事件254-262。在与开始读取点251对应的事件254之前发布的事件不作为初始事件集合的一部分来被检索。因而,事件252不作为初始事件集合的一部分来被检索。
在实施例中,响应于初始事件集合的检索,开始读指针可以前进到检索出的初始事件集合之后的下一个事件。继续上述示例,事件264和266已经在时间T1之前被添加到事件流,如图2D中所示。此外,开始读指针251前进到在先前检索出的初始事件集合280中的事件之后已经发布的事件264。
在实施例中,消费者基于检索出的事件集合来确定和发布系统更新(操作204)。如上面所指出的,在操作202中检索出的事件在本文被称为初始事件集合。因而,消费者基于初始事件集合来确定和发送系统更新。系统更新被发送到可以根据系统更新来更新系统信息的任何实体。基于事件确定和发送系统更新在上面参考图1A和1B详细描述过了。
消费者还确定是否已经接收到对所发送的系统更新的确认(操作206)。确定是否已经接收到确认可以包括为接收确认而等待超时时段。如果在发送系统更新之后超时时段已经过期并且还没有收到确认,那么确定系统更新的传输已经失败。
作为另一个示例,确定和发送系统更新的消费者在系统更新的传输之后本身可能出故障。消费者在系统更新的传输之前出故障并且没有接收到与系统更新的传输对应的确认。出故障的消费者被重新引导启动或以其它方式被校正,以返回到正常工作状态。可替代地,另一个消费者可以接管出故障的消费者的状态并恢复由出故障的消费者执行的操作。消费者(经校正的消费者或替换消费者)可以识别尚未被确认的所有系统更新传输(诸如上文参考操作204描述的传输)。尚未被确认的系统更新传输可以被识别为失败的传输。
响应于确定尚未接收到与系统更新的传输对应的确认,消费者可以进入故障模式。在故障模式下,消费者可以根据需要执行和/或重新执行操作(例如,操作208-214),直到接收到系统更新集合的确认。在实施例中,故障模式可以包括消费者暂停从除与未确认的系统更新相关联的特定错误分区之外的消费者分区的读取。暂停从消费者分区(错误分区除外)读取可以允许消费者将可用资源集中在校正错误上。暂停从其它消费者分区(与错误分区不同)读取可以包括在发送和接收与所述其它分区对应的系统更新的确认之后暂停读取。
在实施例中,开始读指针被反转(操作208)。开始读指针被反转到在先前检索出的初始事件集合中上面被称为“特定事件”的第一事件。反转开始读指针确保,当另一个检索操作被执行时,先前检索出的事件被再次检索(操作210)。再次执行检索操作导致在重新执行检索操作时检索当前事件集合。当检索操作被重新执行时,当前事件集合与更新后的事件集合对应。更新后的事件集合包括特定事件和该特定事件之后的所有事件。特定事件之后的事件可以包括事件流中自事件的先前检索以来已经发布的一个或多个附加事件,上面参考操作202进行了描述。因而,更新后的事件集合可以包括先前检索出的初始事件集合和一个或多个附加事件。
继续上述示例,开始读指针251从事件264反转到事件254,如图2E中所示。消费者执行另一个检索操作,以从事件流250检索当前事件。当前事件现在与更新后的事件集合282对应。更新后的事件集合282包括初始事件集合280,另外还包括事件264和事件266。
在另一个实施例中,在接收到系统更新的传输的确认之前,开始读指针不能前进。如果在接收到系统更新的传输的确认之前开始读点不前进,那么可能不需要如上所述的开始读指针的反转。
在一个或多个实施例中,消费者从更新后的事件集合修整一个或多个附加事件,以获得先前检索出的初始事件集合(操作212)。如上面所指出的,初始事件集合和更新后的事件集合都包括相同的特定事件作为每个相应事件集合中的第一事件。消费者识别初始事件集合中与先前发送且未确认的系统更新对应的对应最后一个事件的偏移量或标识符。消费者修整更新后的事件集中在从初始事件集合中识别出的最后一个事件之后发布的任何事件。要修整的事件是与初始事件集合中的最后一个事件的偏移量之后的偏移量对应的事件。修正更新后的事件集合导致消费者获得先前检索出的初始事件集合。作为解释,初始事件集合可以通过修整更新后的事件集来获得,或者初始事件集合可以从存储初始事件集合的高速缓存中获得。但是,在至少一个实施例中,初始事件集合是通过修整更新后的事件集合来获得的。作为示例,当消费者出故障时,高速缓存被删除。消费者丢失存储在高速缓存中的初始事件集合。通过获得并修整更新后的事件集合,消费者能够获得先前检索出的初始事件集合。然后,消费者重新确定并重新发送与初始事件集合对应的系统更新(操作214)。操作214类似于上述操作204。系统更新的重新传输由接收实体确认(操作216)。
继续上述示例,更新后的事件集合282包括初始事件集合280以及附加事件264和266。消费者确定事件262是初始事件集合中与先前发送并且未确认的系统更新对应的最后一个事件。消费者将更新后的事件集合中在事件262之后的所有事件都识别为要修整的事件。消费者从更新后的事件集合282修整附加事件264和266,以获得初始事件集合280。然后消费者基于初始事件集合280重新确定系统更新,并基于初始事件集合280重新发送系统更新。
在实施例中,如上文参考图2A-2E所描述的,由一阶段消费者发送的系统更新存储在容器分区(例如,图1A和1B中所示的容器分区116和118)中。二阶段消费者从该容器分区聚合与容器对应的系统更新,并且将针对容器的聚合系统更新发送到容器服务(或其它服务或部件),用于更新系统信息。
在实施例中,每个特定的系统更新集合由一阶段消费者以一定的偏移量(或其它标识符)存储在容器分区中。偏移量与对应事件集合中用来确定特定系统更新集合的最后发布的事件对应。二阶段消费者获得存储在容器分区中的每个特定的系统更新集合。二阶段消费者确定存储特定的系统更新集合的偏移量。如果先前由二阶段消费者聚合到容器服务的任何系统更新集合都与相同的偏移量相关联,那么该特定的系统更新集合被确定为重复。重复的系统更新集合丢弃,不被二阶段消费者做进一步处理。如果存储特定的系统更新集合的偏移量与先前由二阶段消费者聚合的任何系统更新都不关联,那么二阶段消费者聚合该特定的系统更新集合,以生成聚合的系统更新。
在实施例中,二阶段消费者将聚合的系统更新发送到容器服务,用于更新系统信息。聚合的系统更新和与对应于聚合的系统更新的系统更新集合对应的标识符一起被发送。标识符可以识别系统更新集合中与聚合的系统更新对应的最后一个更新。容器服务可以向二阶段消费者发送确认,以确认接收到聚合的系统更新。容器服务还可以指示聚合的系统更新已被应用于相应的系统信息。可替代地,如果聚合的系统更新先前被容器服务接收并应用,那么容器服务可以拒绝该聚合的系统更新。如果聚合的系统更新先前由容器服务接收并应用,那么容器服务丢弃该聚合的系统更新,而不再重新应用。一旦从容器服务接收到确认,二阶段消费者就消费容器分区中的下一个系统更新集合并重新迭代该过程。如果二阶段消费者没有从容器服务接收到接收聚合的系统更新的任何确认,那么二阶段消费者可以重新发送聚合的系统更新,直到接收到确认。二阶段消费者也可以提醒管理员排查问题。
本文描述的实施例可以被用来实现“确切一次”汇总(roll-up)机制,以用于汇总用于更新系统信息的系统更新。确切一次汇总机制确保相同的系统更新不会多次应用于系统信息集合。
4.杂项;扩展
实施例针对具有一个或多个设备的系统,设备包括硬件处理器并且被配置为执行本文描述的和/或下面权利要求中任何一项所述的任何操作。
在实施例中,非瞬态计算机可读存储介质包括指令,该指令在由一个或多个硬件处理器执行时,使得执行本文描述的和/或权利要求中任何一项所述的任何操作。
根据一个或多个实施例,可以使用本文描述的特征和功能的任何组合。在前面的说明书中,已经参考因实现而异的许多具体细节描述了实施例。因此,说明书和附图应当被认为是说明性的而不是限制性的。本发明的范围的唯一且排他的指标以及申请人预期作为本发明的范围的内容是从本申请发出的权利要求集合以这种权利要求发出的具体形式的字面和等同范围,包括任何后续的更正。
5.硬件概述
根据一个实施例,本文所描述的技术由一个或多个专用计算设备来实现。专用计算设备可以是硬连线的以执行技术,或者可以包括诸如被永久性地编程以执行技术的一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)或网络处理单元(NPU)的数字电子设备,或者可以包括编程为根据固件、存储器、其它存储装置或组合中的程序指令执行技术的一个或多个通用硬件处理器。这些专用计算设备还可以将定制的硬接线逻辑、ASIC、FPGA或NPU与定制的编程组合来实现技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持式设备、联网设备或结合硬连线和/或程序逻辑来实现技术的任何其它设备。
例如,图3是图示可以在其上实现本发明的实施例的计算机系统300的框图。计算机系统300包括总线302或用于传送信息的其它通信机制,以及与总线302耦合以用于处理信息的硬件处理器304。硬件处理器304可以是例如通用微处理器。
计算机系统300还包括耦合到总线302以用于存储信息和要由处理器304执行的指令的主存储器306,诸如随机存取存储器(RAM)或其它动态存储设备。主存储器306也可以用于在要由处理器304执行的指令执行期间存储临时变量或其它中间信息。当这些指令被存储在处理器304可访问的非暂态存储介质中时,这些指令使计算机系统300成为被定制以执行指令中指定的操作的专用机器。
计算机系统300还包括耦合到总线302用于存储用于处理器304的静态信息和指令的只读存储器(ROM)308或其它静态存储设备。提供了诸如磁盘或光盘的存储设备310,并且存储设备310被耦合到总线302,以用于存储信息和指令。
计算机系统300可以经由总线302耦合到显示器312,诸如阴极射线管(CRT),以用于向计算机用户显示信息。输入设备314(其包括字母数字和其它键)被耦合到总线302,以用于将信息和命令选择传送到处理器304。另一种类型的用户输入设备是光标控件316,诸如鼠标、轨迹球、或光标方向键,以用于向处理器304传送方向信息和命令选择并且用于控制光标在显示器312上的移动。这种输入设备通常具有在两个轴(第一轴(例如,x)和第二轴(例如,y))中的两个自由度,以允许设备在平面中指定位置。
计算机系统300可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文描述的技术,这些定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统结合使计算机系统300成为或将计算机系统300编程为专用机器。根据一个实施例,本文的技术由计算机系统300响应于处理器304执行主存储器306中包含的一条或多条指令的一个或多个序列而执行。这些指令可以从另一个存储介质(诸如存储设备310)读取到主存储器306中。包含在主存储器306中的指令序列的执行使处理器304执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路系统代替软件指令或与软件指令组合使用。
如本文所使用的术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非瞬态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备310。易失性介质包括动态存储器,诸如主存储器306。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储器芯片或盒带、内容可寻址存储器(CAM)和三元内容可寻址存储器(TCAM)。
存储介质与传输介质不同但可以与传输介质结合使用。传输介质参与在存储介质之间传输信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线302的线缆。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些波。
各种形式的介质可以涉及将一条或多条指令的一个或多个序列携带到处理器304以供执行。例如,指令最初可以在远程计算机的磁盘或固态驱动器上携带。远程计算机可以将指令加载到其动态存储器中,并且使用调制解调器经电话线发送指令。计算机系统300本地的调制解调器可以接收电话线上的数据,并且使用红外线发射器将数据转换为红外线信号。红外线探测器可以接收在红外线信号中携带的数据,并且适当的电路系统可以将数据放在总线302上。总线302将数据携带到主存储器306,处理器304从该主存储器306检索并执行指令。由主存储器306接收到的指令可以可选地在被处理器304执行之前或执行之后被存储在存储设备310上。
计算机系统300还包括耦合到总线302的通信接口318。通信接口318提供耦合到网络链路320的双向数据通信,其中网络链路320连接到本地网络322。例如,通信接口318可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器、或向对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口318可以是提供到兼容的局域网(LAN)的数据通信连接的LAN卡。也可以实现无线链路。在任何这种实现中,通信接口318都发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
网络链路320通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路320可以通过本地网络322提供到主计算机324或到由互联网服务提供商(ISP)326操作的数据设备的连接。ISP 326又通过现在通常称为“互联网”328的世界范围的分组数据通信网络提供数据通信服务。本地网络322和互联网328都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路320上并且通过通信接口318的信号是传输介质的示例形式,其中该信号将数字数据携带到计算机系统300或者携带来自计算机系统300的数字数据。
计算机系统300可以通过(一个或多个)网络、网络链路320和通信接口318发送消息和接收数据,包括程序代码。在互联网示例中,服务器330可以通过互联网328、ISP 326、本地网络322和通信接口318传送对应用程序的请求代码。
接收到的代码可以在其被接收到时由处理器304执行,和/或存储在存储设备310或其它非易失性存储器中以供以后执行。
在前面的说明书中,已经参考因实现而异的许多具体细节描述了实施例。因此,说明书和附图应当被认为是说明性的而不是限制性的。本发明的范围的唯一且排他的指标以及申请人预期作为本发明的范围的内容是从本申请发出的权利要求集合以这种权利要求发出的具体形式的字面和等同范围,包括任何后续的更正。
Claims (20)
1.一种包括指令的非暂态计算机可读介质,所述指令当由一个或多个硬件处理器执行时,使得执行包括以下的操作:
执行第一检索操作,以从事件流检索事件,其中执行第一检索操作包括从事件流检索第一事件集合,第一事件集合包括事件流中的特定事件以及事件流中所述特定事件之后的事件;
确定与第一事件集合对应的第一系统更新集合;
发送与第一事件集合对应的第一系统更新集合;
响应于确定尚未接收到与第一系统更新集合的传输对应的确认,执行至少操作(a)-(d):
(a)执行第二检索操作,以从事件流检索事件,其中执行第二检索操作包括从事件流检索第二事件集合,第二事件集合包括(a)第一事件集合和(b)不包括在第一事件集合中的一个或多个附加事件;
(b)通过从第二事件集合中移除所述一个或多个附加事件来修整第二事件集合,以获得先前检索出的第一事件集合;
(c)重新确定与第一事件集合对应的第一系统更新集合;
(d)重新发送与第一事件集合对应的第一系统更新集合;
接收与第一系统更新集合的重新传输对应的确认。
2.如权利要求1所述的介质,
其中第一事件集合由以下确定:(a)基于与事件流相关联的、识别与特定事件对应的偏移量的开始读指针的当前值来选择要包括在第一事件集合中的所述特定事件,以及(b)在执行第一检索操作时选择事件流中所述特定事件之后的事件。
3.如权利要求2所述的介质,
其中,基于第一检索操作的执行,开始读指针的当前值被配置为紧跟在第一事件集合中最后发布的事件的偏移量之后的新偏移量。
4.如权利要求3所述的介质,
其中第二事件集合通过以下确定:(a)将开始读指针的当前值配置为与所述特定事件对应的偏移量,(b)基于识别与所述特定事件对应的偏移量的开始读指针的当前值来选择要包括在第二事件集合中的所述特定事件,以及(c)当执行第二检索操作时,选择事件流中发布的在所述特定事件之后的事件。
5.如权利要求1所述的介质,其中操作还包括:与第一系统更新集合一起发送指示事件流中与第一事件集合中最后发布的事件对应的偏移量的结束读指针。
6.如权利要求1所述的介质,其中确定第一系统更新集合包括通过聚合来自第一事件集合中的至少两个事件的信息来确定至少一个系统更新。
7.如权利要求1所述的介质,其中,在第一事件集合中,事件指示与容器内的对象相关联的操作。
8.如权利要求1所述的介质,其中确定第一系统更新集合包括基于与特定容器内的两个相应对象相关联的至少两个事件来确定用于所述特定容器的系统更新。
9.如权利要求8所述的介质,其中,所述至少两个事件中的一个事件指定向所述特定容器添加第一对象或从所述特定容器删除第二对象。
10.如权利要求1所述的介质,其中来自事件流的所有事件由单个消费者消费。
11.如权利要求1所述的介质,其中与特定容器中的对象相关联的事件分布在多个事件流中的两个或更多个事件流上。
12.如权利要求1所述的介质,其中与特定租户中的对象相关联的事件分布在多个事件流中的两个或更多个事件流上。
13.如权利要求1所述的介质,其中修整第二事件集合包括从第二事件集合选择第一事件集合,并且将第一事件集合与第二事件集合分开存储。
14.如权利要求1所述的介质,其中检索和修整第二事件集合是响应于确定第一事件集合在高速缓存中不可用的。
15.如权利要求1所述的介质,其中重新确定与第一事件集合对应的第一系统更新集合是响应于确定第一系统更新集合在高速缓存中不可用的。
16.如权利要求1所述的介质,其中发送第一系统更新集合包括向与第一容器相关联的第一容器分区发送第一系统更新集合,其中第一容器包括与第一系统更新集合对应的对象。
17.如权利要求16所述的介质,其中相同的特定消费者将第一系统更新集合发送到与第一容器相关联的第一容器分区,并且将第二系统更新集合发送到与第二容器相关联的第二容器分区。
18.如权利要求1所述的介质,
其中第一事件集合通过以下确定:(a)基于与事件流相关联的、识别与所述特定事件对应的偏移量的开始读指针的当前值来选择要包括在第一事件集合中的所述特定事件,以及(b)在执行第一检索操作时,选择事件流中在所述特定事件之后的事件;
其中,基于第一检索操作的执行,开始读指针的当前值被配置为紧跟在第一事件集合中最后发布的事件的偏移量之后的新偏移量;
其中第二事件集合通过以下确定:(a)将开始读指针的当前值配置为与所述特定事件对应的偏移量,(b)基于识别与所述特定事件对应的偏移量的开始读指针的当前值来选择要包括在第二事件集合中的所述特定事件,以及(c)当执行第二检索操作时,选择事件流中发布的在所述特定事件之后的事件;
其中操作还包括:与第一系统更新集合一起发送指示事件流中与第一事件集合中最后发布的事件对应的偏移量的结束读指针;
其中确定第一系统更新集合包括通过聚合来自第一事件集合中的至少两个事件的信息来确定至少一个系统更新;
其中确定第一系统更新集合包括基于与特定容器内的两个相应对象相关联的至少两个事件来确定用于所述特定容器的系统更新;
其中,所述至少两个事件中的一个事件指定向所述特定容器添加第一对象或从所述特定容器删除第二对象;
其中来自事件流的所有事件由单个消费者消费;
其中修整第二事件集合包括从第二事件集合选择第一事件集合,并且将第一事件集合与第二事件集合分开存储;
其中检索和修整第二事件集合是响应于确定第一事件集合在高速缓存中不可用的;
其中重新确定与第一事件集合对应的第一系统更新集合是响应于确定第一系统更新集合在高速缓存中不可用的;
其中发送第一系统更新集合包括向与第一容器相关联的第一容器分区发送第一系统更新集合,其中第一容器包括与第一系统更新集合对应的对象;以及
其中相同的特定消费者将第一系统更新集合发送到与第一容器相关联的第一容器分区,并且将第二系统更新集合发送到与第二容器相关联的第二容器分区。
19.一种包括指令的非暂态计算机可读介质,所述指令当由一个或多个硬件处理器执行时,使得执行包括以下的操作:
接收用于发送用于更新系统信息的系统更新集合的请求,其中系统更新集合与特定标识符相关联,所述特定标识符与事件集合中用于确定所述系统更新集合的最后发布的事件对应;
确定先前发送的系统更新集合中是否有任何一个与所述特定标识符相关联;
响应于确定先前发送的系统更新集合都不与所述特定标识符相关联,发送用于更新系统信息的所述系统更新集合;以及
响应于确定先前发送的系统更新集合之一与所述特定标识符相关联,避免发送用于更新系统信息的所述系统更新集合。
20.一种方法,包括如权利要求1-18中任一项所述的操作;
其中所述方法由包括硬件处理器的至少一个设备执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310984908.XA CN116955323A (zh) | 2016-10-31 | 2017-10-31 | 基于对象突变事件确定系统信息 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/338,697 | 2016-10-31 | ||
US15/338,697 US10180863B2 (en) | 2016-10-31 | 2016-10-31 | Determining system information based on object mutation events |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310984908.XA Division CN116955323A (zh) | 2016-10-31 | 2017-10-31 | 基于对象突变事件确定系统信息 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108021606A true CN108021606A (zh) | 2018-05-11 |
CN108021606B CN108021606B (zh) | 2023-09-01 |
Family
ID=62021515
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711043133.7A Active CN108021606B (zh) | 2016-10-31 | 2017-10-31 | 基于对象突变事件确定系统信息 |
CN202310984908.XA Pending CN116955323A (zh) | 2016-10-31 | 2017-10-31 | 基于对象突变事件确定系统信息 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310984908.XA Pending CN116955323A (zh) | 2016-10-31 | 2017-10-31 | 基于对象突变事件确定系统信息 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10180863B2 (zh) |
CN (2) | CN108021606B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157612A (en) * | 1995-04-03 | 2000-12-05 | Lucent Technologies Inc. | Fast fading packet diversity transmission method and system |
US6714553B1 (en) * | 1998-04-15 | 2004-03-30 | Top Layer Networks, Inc. | System and process for flexible queuing of data packets in network switching |
GB0507102D0 (en) * | 2002-09-27 | 2005-05-11 | Agilent Technologies Inc | Event management system |
CN1938703A (zh) * | 2004-03-30 | 2007-03-28 | 甲骨文国际公司 | 管理数据库系统中的事件-条件-操作规则 |
US20110013631A1 (en) * | 2009-07-14 | 2011-01-20 | Frydman Daniel Nathan | System and method for efficient delivery of multi-unicast communication traffic |
CN102200932A (zh) * | 2010-03-26 | 2011-09-28 | 微软公司 | 预测性和持久性事件流 |
CN102254238A (zh) * | 2010-05-21 | 2011-11-23 | 微软公司 | 带有聚集器中的去重复的可缩放记帐 |
US20130042001A1 (en) * | 2008-09-29 | 2013-02-14 | Christopher M. Gould | Event queues |
CN103678471A (zh) * | 2012-09-24 | 2014-03-26 | 国际商业机器公司 | 对用于分布式抓取的搜索空间进行分区的方法和装置 |
US20140280986A1 (en) * | 2013-03-12 | 2014-09-18 | Sas Institute Inc. | Delivery acknowledgment in event stream processing |
US20150134796A1 (en) * | 2013-11-11 | 2015-05-14 | Amazon Technologies, Inc. | Dynamic partitioning techniques for data streams |
CN104778196A (zh) * | 2014-01-09 | 2015-07-15 | 商业对象软件有限公司 | 用于数据分析的输入模式的动态数据驱动生成与修改 |
US20150278092A1 (en) * | 2014-03-31 | 2015-10-01 | Oracle International Corporation | Cache probe request to optimize i/o directed caching |
Family Cites Families (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4965825A (en) | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
JPH077431B2 (ja) | 1992-02-14 | 1995-01-30 | 三菱電機株式会社 | 順次確定生産計画システム |
US5395629A (en) | 1992-11-12 | 1995-03-07 | Nestec S.A. | Preparation of butterfat and vegetable butter substitutes |
US5680640A (en) | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
US20010016843A1 (en) | 1999-02-08 | 2001-08-23 | Todd Olson | Method and apparatus for accessing data |
US7165252B1 (en) | 1999-06-21 | 2007-01-16 | Jia Xu | Method of scheduling executions of processes with various types of timing properties and constraints |
US6460052B1 (en) | 1999-08-20 | 2002-10-01 | Oracle Corporation | Method and system for performing fine grain versioning |
US6658367B2 (en) | 2001-03-28 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | System for time-bucketing of baselined data collector data |
US7656908B1 (en) * | 2005-09-30 | 2010-02-02 | At&T Corp. | System and method for delivering content in a unicast/multicast manner |
US7245624B2 (en) | 2002-02-28 | 2007-07-17 | Agere Systems Inc. | Processor with table-based scheduling using software-controlled interval computation |
US7707151B1 (en) | 2002-08-02 | 2010-04-27 | Emc Corporation | Method and apparatus for migrating data |
US7035971B1 (en) | 2002-09-23 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Request scheduling to mirrored heterogeneous storage arrays |
US7424514B2 (en) | 2002-11-08 | 2008-09-09 | The Regents Of The University Of Michigan | Peer-to-peer method and system for performing and managing backups in a network of nodes |
US7263593B2 (en) | 2002-11-25 | 2007-08-28 | Hitachi, Ltd. | Virtualization controller and data transfer control method |
US7490113B2 (en) | 2003-08-27 | 2009-02-10 | International Business Machines Corporation | Database log capture that publishes transactions to multiple targets to handle unavailable targets by separating the publishing of subscriptions and subsequently recombining the publishing |
US7287133B2 (en) | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
US7209933B2 (en) | 2003-12-12 | 2007-04-24 | Oracle International Corporation | Object versioning |
GB0406076D0 (en) | 2004-03-17 | 2004-04-21 | Guaranteed Markets Ltd | A transaction management system and method |
US7958093B2 (en) | 2004-09-17 | 2011-06-07 | International Business Machines Corporation | Optimizing a storage system to support short data lifetimes |
US7933868B2 (en) * | 2004-11-04 | 2011-04-26 | Microsoft Corporation | Method and system for partition level cleanup of replication conflict metadata |
US7970729B2 (en) | 2004-11-18 | 2011-06-28 | Sap Aktiengesellschaft | Enterprise architecture analysis framework database |
JP4074296B2 (ja) | 2005-03-25 | 2008-04-09 | 株式会社東芝 | スケジューリング可能性判定方法、リアルタイムシステム及びプログラム |
US20060271420A1 (en) | 2005-05-27 | 2006-11-30 | Peter Anselmann | System and method for performing capacity checks and resource scheduling within a supply chain management system |
US7716171B2 (en) | 2005-08-18 | 2010-05-11 | Emc Corporation | Snapshot indexing |
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US9032164B2 (en) | 2006-02-17 | 2015-05-12 | Emulex Corporation | Apparatus for performing storage virtualization |
US8588466B2 (en) | 2007-07-05 | 2013-11-19 | Nec Corporation | Object area detection system, device, method, and program for detecting an object |
US7956899B2 (en) | 2007-08-29 | 2011-06-07 | Sanyo Electric Co., Ltd. | Imaging device and image processing apparatus |
US8484162B2 (en) * | 2008-06-24 | 2013-07-09 | Commvault Systems, Inc. | De-duplication systems and methods for application-specific data |
JP4555879B2 (ja) | 2008-08-11 | 2010-10-06 | 株式会社日立製作所 | メモリ管理方法、メモリ管理プログラム、および、メモリ管理装置 |
FR2939985B1 (fr) | 2008-12-17 | 2011-02-11 | Commissariat Energie Atomique | Circuit integrateur a multifenetrage temporel |
US8082258B2 (en) | 2009-02-10 | 2011-12-20 | Microsoft Corporation | Updating an inverted index in a real time fashion |
EP2239727A1 (en) | 2009-04-08 | 2010-10-13 | Yamaha Corporation | Musical performance apparatus and program |
JP5250482B2 (ja) | 2009-05-21 | 2013-07-31 | 株式会社日立製作所 | 省電力制御装置及び方法 |
US20110119100A1 (en) | 2009-10-20 | 2011-05-19 | Jan Matthias Ruhl | Method and System for Displaying Anomalies in Time Series Data |
US8868508B2 (en) | 2010-02-09 | 2014-10-21 | Google Inc. | Storage of data in a distributed storage system |
US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
WO2011142762A1 (en) | 2010-05-13 | 2011-11-17 | Hewlett-Packard Development Company, L.P. | File system migration |
US8396852B2 (en) | 2010-09-20 | 2013-03-12 | International Business Machines Corporation | Evaluating execution plan changes after a wakeup threshold time |
US9805108B2 (en) | 2010-12-23 | 2017-10-31 | Mongodb, Inc. | Large distributed database clustering systems and methods |
US20120191724A1 (en) | 2011-01-26 | 2012-07-26 | Tucek Joseph A | Storage of data objects based on a time of creation |
US9384199B2 (en) | 2011-03-31 | 2016-07-05 | Microsoft Technology Licensing, Llc | Distributed file system |
US8832394B2 (en) | 2011-03-31 | 2014-09-09 | Emc Corporation | System and method for maintaining consistent points in file systems |
US8874515B2 (en) | 2011-04-11 | 2014-10-28 | Sandisk Enterprise Ip Llc | Low level object version tracking using non-volatile memory write generations |
JP5708262B2 (ja) | 2011-05-31 | 2015-04-30 | 富士通株式会社 | 予測プログラム、予測装置および予測方法 |
EP2754053A4 (en) | 2011-09-07 | 2015-12-23 | Nec Corp | STORAGE SYSTEM |
US20130091266A1 (en) | 2011-10-05 | 2013-04-11 | Ajit Bhave | System for organizing and fast searching of massive amounts of data |
US9710501B2 (en) | 2012-03-30 | 2017-07-18 | Kinaxis Inc. | Enhanced performance for large versioned databases |
US20130311555A1 (en) | 2012-05-18 | 2013-11-21 | Telefonica, S.A. | Method for distributing long-tail content |
US9003031B2 (en) | 2012-05-29 | 2015-04-07 | Tata Consultancy Services Limited | Method and system for network transaction monitoring using transaction flow signatures |
US8768977B2 (en) | 2012-07-31 | 2014-07-01 | Hewlett-Packard Development Company, L.P. | Data management using writeable snapshots in multi-versioned distributed B-trees |
CN103794006B (zh) | 2012-10-31 | 2016-12-21 | 国际商业机器公司 | 用于处理多个传感器的时序数据的方法和装置 |
US20140180461A1 (en) | 2012-12-20 | 2014-06-26 | Oliver Heck | Real-time activity planning and monitoring of activity execution |
US9501507B1 (en) | 2012-12-27 | 2016-11-22 | Palantir Technologies Inc. | Geo-temporal indexing and searching |
US20150234897A1 (en) | 2013-01-10 | 2015-08-20 | Hitachi, Ltd. | Time series data processing apparatus and method, and storage medium |
KR102028708B1 (ko) | 2013-01-18 | 2019-10-07 | 한국전자통신연구원 | 대용량 이벤트 파일에서 시간 관계를 병렬 탐사하기 위한 방법 |
US9811529B1 (en) | 2013-02-06 | 2017-11-07 | Quantcast Corporation | Automatically redistributing data of multiple file systems in a distributed storage system |
US9547459B1 (en) | 2013-06-27 | 2017-01-17 | EMC IP Holding Company LLC | Techniques for data relocation based on access patterns |
US20160255139A1 (en) | 2016-03-12 | 2016-09-01 | Yogesh Chunilal Rathod | Structured updated status, requests, user data & programming based presenting & accessing of connections or connectable users or entities and/or link(s) |
US9507843B1 (en) | 2013-09-20 | 2016-11-29 | Amazon Technologies, Inc. | Efficient replication of distributed storage changes for read-only nodes of a distributed database |
US9972038B2 (en) | 2013-10-22 | 2018-05-15 | Paypal, Inc. | Shopping assistant with account balance limit display |
KR20150088531A (ko) | 2014-01-24 | 2015-08-03 | 삼성에스디에스 주식회사 | 시계열 데이터 버켓 구성 및 디스플레이 방법과 그 장치 |
US9268787B2 (en) | 2014-01-31 | 2016-02-23 | EyeGroove, Inc. | Methods and devices for synchronizing and sharing media items |
US9311012B2 (en) | 2014-02-19 | 2016-04-12 | Hitachi, Ltd. | Storage system and method for migrating the same |
US9524302B2 (en) | 2014-03-05 | 2016-12-20 | Scality, S.A. | Distributed consistent database implementation within an object store |
US20150302432A1 (en) | 2014-04-17 | 2015-10-22 | Sas Institute Inc. | Classifying, Clustering, and Grouping Demand Series |
GB2541625A (en) | 2014-05-23 | 2017-02-22 | Datarobot | Systems and techniques for predictive data analytics |
US20150339314A1 (en) | 2014-05-25 | 2015-11-26 | Brian James Collins | Compaction mechanism for file system |
JP6476600B2 (ja) | 2014-06-10 | 2019-03-06 | 日本電気株式会社 | 情報表示処理システム、情報表示処理方法および情報表示処理プログラム |
US9798754B1 (en) | 2014-06-12 | 2017-10-24 | EMC IP Holding Company LLC | Method to efficiently track I/O access history using efficient memory data structures |
GB2527296A (en) | 2014-06-16 | 2015-12-23 | Ibm | A method for restoring data in a HSM system |
US9710186B2 (en) | 2014-06-20 | 2017-07-18 | Ca, Inc. | Performing online data migration with concurrent active user access to the data |
US9369406B2 (en) * | 2014-07-03 | 2016-06-14 | Sas Institute Inc. | Resource server providing a rapidly changing resource |
US10469396B2 (en) * | 2014-10-10 | 2019-11-05 | Pegasystems, Inc. | Event processing with enhanced throughput |
US9846655B1 (en) | 2014-12-23 | 2017-12-19 | EMC IP Holding Company LLC | Managing processing tasks in storage systems |
US9465387B2 (en) | 2015-01-09 | 2016-10-11 | Hitachi Power Solutions Co., Ltd. | Anomaly diagnosis system and anomaly diagnosis method |
US20170351543A1 (en) | 2015-01-29 | 2017-12-07 | Hewlett Packard Enterprise Development Lp | Heap data structure |
US9928281B2 (en) * | 2015-03-20 | 2018-03-27 | International Business Machines Corporation | Lightweight table comparison |
US20160306822A1 (en) | 2015-04-17 | 2016-10-20 | Samsung Electronics Co., Ltd. | Load balancing of queries in replication enabled ssd storage |
US10229150B2 (en) | 2015-04-23 | 2019-03-12 | Splunk Inc. | Systems and methods for concurrent summarization of indexed data |
US9892005B2 (en) | 2015-05-21 | 2018-02-13 | Zerto Ltd. | System and method for object-based continuous data protection |
US9864774B2 (en) | 2015-06-23 | 2018-01-09 | International Business Machines Corporation | Granular buffering of metadata changes for journaling file systems |
US9881040B2 (en) | 2015-08-20 | 2018-01-30 | Vmware, Inc. | Tracking data of virtual disk snapshots using tree data structures |
US10346360B1 (en) | 2015-09-30 | 2019-07-09 | EMP IP Holding Company LLC | Managing prefetching of data in storage systems |
US10296593B2 (en) | 2016-06-24 | 2019-05-21 | International Business Machines Corporation | Managing storage system metadata during data migration |
US10255305B2 (en) | 2016-09-09 | 2019-04-09 | Intel Corporation | Technologies for object-based data consistency in distributed architectures |
-
2016
- 2016-10-31 US US15/338,697 patent/US10180863B2/en active Active
-
2017
- 2017-10-31 CN CN201711043133.7A patent/CN108021606B/zh active Active
- 2017-10-31 CN CN202310984908.XA patent/CN116955323A/zh active Pending
-
2018
- 2018-11-20 US US16/196,845 patent/US10664329B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157612A (en) * | 1995-04-03 | 2000-12-05 | Lucent Technologies Inc. | Fast fading packet diversity transmission method and system |
US6714553B1 (en) * | 1998-04-15 | 2004-03-30 | Top Layer Networks, Inc. | System and process for flexible queuing of data packets in network switching |
GB0507102D0 (en) * | 2002-09-27 | 2005-05-11 | Agilent Technologies Inc | Event management system |
CN1938703A (zh) * | 2004-03-30 | 2007-03-28 | 甲骨文国际公司 | 管理数据库系统中的事件-条件-操作规则 |
US20130042001A1 (en) * | 2008-09-29 | 2013-02-14 | Christopher M. Gould | Event queues |
US20110013631A1 (en) * | 2009-07-14 | 2011-01-20 | Frydman Daniel Nathan | System and method for efficient delivery of multi-unicast communication traffic |
CN102200932A (zh) * | 2010-03-26 | 2011-09-28 | 微软公司 | 预测性和持久性事件流 |
CN102254238A (zh) * | 2010-05-21 | 2011-11-23 | 微软公司 | 带有聚集器中的去重复的可缩放记帐 |
CN103678471A (zh) * | 2012-09-24 | 2014-03-26 | 国际商业机器公司 | 对用于分布式抓取的搜索空间进行分区的方法和装置 |
US20140280986A1 (en) * | 2013-03-12 | 2014-09-18 | Sas Institute Inc. | Delivery acknowledgment in event stream processing |
US20150134796A1 (en) * | 2013-11-11 | 2015-05-14 | Amazon Technologies, Inc. | Dynamic partitioning techniques for data streams |
CN104778196A (zh) * | 2014-01-09 | 2015-07-15 | 商业对象软件有限公司 | 用于数据分析的输入模式的动态数据驱动生成与修改 |
US20150278092A1 (en) * | 2014-03-31 | 2015-10-01 | Oracle International Corporation | Cache probe request to optimize i/o directed caching |
Also Published As
Publication number | Publication date |
---|---|
US10664329B2 (en) | 2020-05-26 |
US10180863B2 (en) | 2019-01-15 |
CN116955323A (zh) | 2023-10-27 |
CN108021606B (zh) | 2023-09-01 |
US20190087242A1 (en) | 2019-03-21 |
US20180121264A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678494B (zh) | 客户端同步服务端数据的方法及装置 | |
US7657575B2 (en) | Sequencing updates to business objects | |
US9275069B1 (en) | Managing disconnected investigations | |
CN104272247B (zh) | 元数据驱动的撤销方法和系统 | |
CN106663038A (zh) | 用于机器学习的特征处理配方 | |
CN106575246A (zh) | 机器学习服务 | |
CN109716324A (zh) | 存储器内数据库中的直接表关联 | |
CN108055343A (zh) | 用于机房的数据同步方法及装置 | |
CN104636130B (zh) | 用于生成事件树的方法和系统 | |
WO2014159296A1 (en) | A method, system and program product for matching of transaction records | |
CN106575251B (zh) | 流数据的推测数据处理 | |
CN107113341A (zh) | 用于数据划分的分布式关系数据库管理系统中事务的高吞吐量处理的系统 | |
CN110196758A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
CN109391646A (zh) | 消息中间件消息获取方法、装置和系统 | |
CN108647357A (zh) | 数据查询的方法及装置 | |
CN108573014A (zh) | 一种文件同步方法、装置、电子设备及可读存储介质 | |
CN108108486A (zh) | 一种数据表查询方法、装置、终端设备及存储介质 | |
CN108154024A (zh) | 一种数据检索方法、装置及电子设备 | |
AU2015331028A1 (en) | Electronic processing system for electronic document and electronic file | |
US10860534B2 (en) | Executing a conditional command on an object stored in a storage system | |
CN108021606A (zh) | 基于对象突变事件确定系统信息 | |
CN105378709A (zh) | 由移动计算设备进行文件管理的系统和方法 | |
CN103914505B (zh) | 信息管理方法和信息管理装置 | |
CN110457332A (zh) | 一种信息处理方法及相关设备 | |
CN110008243A (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 |