CN106575251A - 流数据的推测数据处理 - Google Patents

流数据的推测数据处理 Download PDF

Info

Publication number
CN106575251A
CN106575251A CN201580040477.5A CN201580040477A CN106575251A CN 106575251 A CN106575251 A CN 106575251A CN 201580040477 A CN201580040477 A CN 201580040477A CN 106575251 A CN106575251 A CN 106575251A
Authority
CN
China
Prior art keywords
affairs
derivative
source
records
record
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
Application number
CN201580040477.5A
Other languages
English (en)
Other versions
CN106575251B (zh
Inventor
塞勒斯沃尔·克里希纳穆尔斯
马杜·库马尔
阿米特·巴特
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN106575251A publication Critical patent/CN106575251A/zh
Application granted granted Critical
Publication of CN106575251B publication Critical patent/CN106575251B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • 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/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Abstract

在实施例中,方法包括:从一个或多个源计算机接收多个源数据记录,其中,一个或多个第一源数据记录与第一源事务相关联,并且一个或多个第二源数据记录与第二源事务相关联;基于多个源数据记录生成包括一个或多个第一衍生记录的第一衍生事务;生成第一衍生事务和第一源事务之间的第一事务映射;生成第一衍生事务和第二源事务之间的第二事务映射;确定第一衍生事务已结束,并作为响应,将包括一个或多个第一衍生记录的第一衍生事务提交到永久存储装置;接收与第一源事务相关联的第一结束标点符号,并作为响应,将第一源事务提交到永久存储装置,第一源事务包括与第一源事务相关联的一个或多个第一源数据记录;以及在提交第一衍生事务之后,确定第二源事务发生故障,并作为响应执行下列操作:确定第一衍生事务应基于第二事务映射被重新生成,并作为响应,重新生成第一衍生事务。

Description

流数据的推测数据处理
技术领域
本公开涉及在对计算机网络的管理中有用的计算机和计算机实现的技术,该计算机网络包括与分析有关的网络管理数据库。本公开更具体地涉及用于热切地处理对网络管理数据的连续查询和针对迟到数据或故障的修正的技术。
背景技术
本节描述的方法可被推行,但不必是之前已被构思或推行的方法。因此,除非本文另有说明,否则本节描述的方法不构成本申请中的权利要求书的现有技术,并且不因包含在本节中而被承认为现有技术。
数据通信网络可包括接收、处理、以及相互发送数据流的“节点”的层级。数据流可以是随时间发送的无界数据集。例如,“源”节点可将无界数据集(“源”数据)发送到“处理”节点。处理节点可随着源数据被接收而处理源数据、基于源数据生成新的无界“衍生”数据集、并将衍生数据发送到下游节点。层级可被称为“工作流”或“流工作流”。
流工作流可具有许多优势。例如,在流工作流中,随着源数据被接收,每个节点可基于源数据来生成并发送衍生数据,从而减少延迟。
然而,建立强健且可恢复的工作流可能是有挑战性的。例如,处理节点可能接收迟到的或乱序的源数据。在意外地终止源流之前,源节点可能将部分数量的源数据发送到处理节点。因此,处理节点可能基于乱序的或不完整的源数据来生成并发送衍生数据。
一个可能的方法是使得处理节点延迟处理源数据,直到确定源数据是完整的。然后,处理节点可以根据需要对数据进行重新排序并处理数据。然而,该方法可能将延迟增加到无法接受的等级。例如,节点可能处理时间关键型数据,例如,联网、功率、或火箭遥测数据。若处理节点被强迫等待从源节点接收额外的源数据,则下游处理节点或设备可能无法正确地执行其功能,或可能由于缺少针对暂停节点接收的数据而衍生误导数据。例如,下游节点或设备可能确定网络是关闭的或火箭已失去联系,然而,尚未发送的源数据可能指示网络具有与一个或多个其他网络的优秀连接,或火箭正在任务参数内执行。此外,处理节点可能仍然异常地接收迟到的源数据,而这些迟到的源数据无法被合并在已被生成并发送的衍生数据中。
流工作流中早期的误差可能剧烈地影响流工作流中较晚生成的数据。例如,若第一处理节点在生成并向下游发送衍生数据之后接收到源数据,则衍生数据可能是不精确的或错误的。此外,下游处理节点可能基于上游生成的不精确的或错误的衍生数据来生成额外的衍生数据。额外的衍生数据因此也可能是不精确的或错误的。因此,在流工作流中得体并高效地处理数据是有价值的。
附图说明
在附图中:
图1示出了示例实施例中的用于在流工作流中处理数据的系统。
图2示出了示例实施例中的用于在流工作流中推测地处理数据并传播修正的过程。
图3示出了示例实施例中的用于在流工作流中处理记录的过程。
图4示出了示例实施例中的用于更新衍生事务并贯穿工作流来传播衍生事务的过程。
图5示出了计算机系统,实施例可以在该计算机系统上被实现。
尽管附图中的每个附图为了示出清楚示例的目的示出了具体实施例,但其他实施例可省略、添加、重新排序、和/或修改附图中示出的任意要素。为了示出清楚示例的目的,一个或多个附图可参考一个或多个其他附图来描述,但在其他实施例中不要求使用一个或多个其他附图中示出的特定布置。
具体实施方式
用于经由一个或多个网络来分发和处理独立数据流的技术被描述。在下列描述中,为了解释的目的,许多具体细节被阐述以便提供对本发明的透彻的理解。然而,对于本领域技术人员将显而易见的是,本发明可以在没有这些具体细节的情况下被实施。在其他实例中,公知的结构和设备以框图的形式被示出以便避免不必要地模糊本发明。
本文根据下列大纲来描述实施例:
1.0概览
2.0结构和功能概览
2.1事务
2.1.1标点符号(punctuation)
2.1.2将记录分配给事务
2.2示例多节点流工作流
2.2.1源处理逻辑
2.2.2衍生数据逻辑
2.2.3事务映射数据存储装置
2.2.4离线修正逻辑
3.0过程概览
3.1生成事务
3.2处理源记录
3.3生成衍生事务
3.4提交源事务
3.5确定源事务已发生故障
3.6重新生成衍生事务
3.7恢复处理节点故障
4.0根据示例实施例的额外示例
4.1调解(reconciling)发生故障的源流
4.2从系统故障恢复
4.3调解迟到的源记录
5.0实现机制——硬件概览
6.0扩展和替代
---
1.0概览
在实施例中,计算机系统包括:存储器;耦合于存储器的处理器;耦合于存储器和处理器的处理逻辑,并被配置为:从一个或多个源计算机接收多个源数据记录,其中,一个或多个第一源数据记录与第一源事务相关联并且一个或多个第二源数据记录与第二源事务相关联;基于多个源数据记录生成包括一个或多个第一衍生记录的第一衍生事务;生成第一衍生事务和第一源事务之间的第一事务映射;生成第一衍生事务和第二源事务之间的第二事务映射;确定第一衍生事务已结束,并作为响应,将包括一个或多个第一衍生纪录的第一衍生事务提交到永久存储装置;接收与第一源事务相关联的第一结束标点符号,并作为响应,将包括与第一源事务相关联的一个或多个第一源数据记录的第一源事务提交到永久存储装置;在提交第一衍生事务之后,确定第二源事务发生故障,并作为响应执行下列操作:确定第一衍生事务应基于第二衍生映射被重新生成,并作为响应,通过执行下列项操作来重新生成第一衍生事务:生成基于一个或多个第一源数据记录而不基于一个或多个第二源数据记录的一个或多个第二衍生记录;将一个或多个第二衍生记录提交到永久存储装置。
在实施例中,方法包括:从一个或多个源计算机接收多个源数据记录,其中,一个或多个第一源数据记录与第一源事务相关联并且一个或多个第二源数据记录与第二源事务相关联;基于多个源数据记录生成包括一个或多个第一衍生记录的第一衍生事务;生成第一衍生事务和第一源事务之间的第一事务映射;生成第一衍生事务和第二源事务之间的第二事务映射;确定第一衍生事务已结束,并作为响应,将包括一个或多个第一衍生纪录的第一衍生事务提交到永久存储装置;接收与第一源事务相关联的第一结束标点符号,并作为响应,将包括与第一源事务相关联的一个或多个第一源数据记录的第一源事务提交到永久存储装置;在提交第一衍生事务之后,确定第二源事务发生故障,并作为响应执行下列操作:确定第一衍生事务应基于第二衍生映射被重新生成,并作为响应,通过执行下列操作来重新生成第一衍生事务:生成基于一个或多个第一源数据记录而不基于一个或多个第二源数据记录的一个或多个第二衍生记录;将一个或多个第二衍生记录提交到永久存储装置。
在实施例中,方法包括:在提交一个或多个第一衍生记录之后,接收与第一源事务相关联的迟到源记录;确定迟到源记录应该已经基于第一源事务和第一衍生事务之间的第一事务映射、利用第一衍生事务被处理,并作为响应,标记将被重新生成的第一衍生事务。
在实施例中,方法包括:将一个或多个第一衍生记录与标识第一衍生事务的标识符相关联;响应于确定第一衍生事务已结束,将一个或多个第一衍生记录发送到具有标识符的下游设备;响应于确定第二源事务发生故障并生成一个或多个第二衍生记录而执行下列操作:将一个或多个第二衍生记录与标识符相关联;通知下游设备与标识符相关联的第一衍生事务被重新生成。
2.0结构和功能概览
一个或多个系统和方法在本文被讨论以便通过下列操作来在流工作流中处理数据:贯穿工作流,对衍生数据使用推测数据处理并传播修正来最小化延迟。工作流包括一个或多个源节点和一个或多个处理节点。节点可以是模块、计算机、计算机组件、计算设备、数据库、数据存储装置、路由器、交换机、和/或网络互连基础设施的其他元件。节点可包括逻辑和/或指令,当逻辑和/或指令被执行时,执行本文讨论的方法中的一个或多个方法。节点可通过电路、一个或多个软件指令、查询、和/或连续查询来定义。
连续查询是针对数据的查询,包括对数据库的查询,该数据库定义在流输入数据上执行的一个或多个功能。连续查询所定义的一个或多个功能可以是数据库专用功能、联网功能、多媒体功能、或任意其他流数据功能。例如,连续查询可在网络管理应用中指定总结、聚合或过滤网络分析数据。此外,连续查询可定义记录被发送到后续节点、存储装置、存储器、或其他连续查询的频率。与数据等待被查询的传统数据库相比,连续查询等待数据到达,以便对数据进行处理并输出衍生的、经处理的数据。
源节点可以是将数据流发送到一个或多个节点的节点。数据流可包括随时间发送的一个或多个记录。记录可包括电子数据,例如,网络延迟、路由器连接性、或火箭遥测。记录中的数据可根据标准和/或专有模式来组织。为了示出清楚示例的目的,来自源节点的数据流在本文可被称为“源流”,并且从源节点接收的记录在本文可被称为“源记录”。
处理节点可以是这样的节点:该节点接收一个或多个源数据流、处理源记录、并基于源记录来生成一个或多个新的数据流。为了示出清楚示例的目的,处理节点所生成的数据流在本文可被称为“衍生流”,并且处理节点所生成的记录在本文可被称为“衍生记录”。处理节点还可以是用于流工作流中的下游的处理的源节点。
2.1事务
数据流可包括一个或多个事务。事务可包括一个或多个记录,该一个或多个记录构成完整的数据集。例如,路由器可以是将网络遥测数据发送到处理节点(例如,网络管理员的计算机)的源节点。路由器可每秒发送包括下列三个记录的事务:指示平均网络吞吐量的第一记录、指示平均网络延迟的第二记录、以及指示当前连接的设备的总数的第三记录。同一事务中的记录可随时间被单独地发送。
从源节点接收的事务在本文可被称为“源事务”。处理节点所生成的事务在本文可被称为“衍生事务”。
2.1.1标点符号
数据流中的事务可通过一个或多个“标点符号”来标定(demarcated)。标点符号可包括标识事务的数据。例如,标点符号可包括事务标识符,例如,唯一编号和/或时间戳。标点符号中的数据可根据标准和/或专有模式来组织。标点符号的模式可以不同于标点符号所标定的事务中的记录的模式。
源节点可发送标点符号来指示事务的开始(在本文被称为“开始标点符号”)和/或事务的结束(在本文被称为“结束标点符号”)。结束标点符号可包括标识开始标点符号的数据,例如,匹配事务标识符。
单一标点符号既可指示第一事务的结束也可指示第二事务的开始。例如,若处理节点接收具有第一事务标识符的第一标点符号,并较晚接收具有第二事务标识符的第二标点符号,则处理节点可执行本文讨论的与接收结束标点符号相关联的方法中的一个或多个方法以及本文讨论的与接收开始标点符号相关联的方法中的一个或多个方法。
标点符号可作为记录的一部分被发送。例如,记录可包括指示记录是事务的开始和/或结束的额外字段,该额外字段不需要被包括在一个或多个其他记录中。
事务可以是空的并且不需要包括记录。因此,在不发送一个或多个记录的情况下,可在开始标点符号被发送之后发送结束标点符号。类似地,在不接收一个或多个记录的情况下,可在开始标点符号被接收之后接收结束标点符号。
2.1.2将记录分配给事务
处理节点可基于源记录中的数据来确定与源记录相对应的(一个或多个)事务。例如,处理节点可接收具有时间范围的开始标点符号。每个记录可包括指示时间的字段。具有时间范围内的时间的每个记录可被分配给开始标点符号所标定的事务。额外地或替代地,标点符号可包括事务标识符,并且具有事务标识符的每个记录可通过源节点和/或处理节点被分配相应的事务。
额外地或替代地,处理节点可确定源记录隐式地所属的(一个或多个)事务。例如,处理节点可接收指示特定事务的开始的开始标点符号,然后接收一个或多个记录,再然后接收结束标点符号。处理节点可将在开始标点符号和结束标点符号之间接收的每个源记录分配给特定的事务。处理节点可使用一个或多个技术来将源记录分配给源事务。例如,处理节点可将具有相应源事务的事务标识符的字段添加到源记录。
同一事务中的记录可以(但不需要)被一起发送。例如,源节点可发送开始标点符号,然后随时间发送一个或多个记录。随后,源节点可发送结束标点符号。
2.2示例多节点流工作流
图1示出了示例实施例中的用于在流工作流中处理数据的系统。在图1中,系统100包括经由一个或多个计算机网络被通信地耦合的源节点计算机192、源节点计算机194、流处理节点计算机102、以及下游节点计算机198。计算机可以是一个或多个软件模块、计算机、计算机组件、计算设备、数据库、数据存储装置、路由器、交换机、和/或网络互连基础设施的其他元件。除非被明确地表述为“单一”计算机,否则计算机可以是一个或多个计算机。
尽管上面列出的组件中的一个或多个组件可被示出为在相互分离的远程计算机上运行,但上面列出的组件中的一个或多个组件可以是同一计算机的一部分和/或在同一计算机上被执行。例如,源节点计算机192、流处理节点计算机102、和/或下游节点计算机198、和/或其中包括的任意设备、逻辑、和/或模块可以在相同的单一计算机、局域网、和/或广域网上被执行。
在实施例中,流处理节点计算机102的功能单元中的每个功能单元可使用结合图5在本文被进一步描述的技术中的任意技术来实现;例如,流处理节点计算机102可包括利用一个或多个所存储的程序(当被执行时,使得执行针对中间计算机在本文所描述的功能)来配置的通用计算机、或者具有被配置为执行功能的数字逻辑或其他计算设备中所使用的数字逻辑的专用计算机。尽管附图包括指示各个设备和/或模块被通信地耦合的线,但计算机、设备、模块、逻辑、存储装置、以及配置中的每项可相互通信地耦合。
源节点计算机192和源节点计算机194各自可以是远程网络上的路由器,将源数据流送到流处理节点计算机102。额外地或替代地,源节点计算机192和源节点计算机194各自可以是从工作流中的一个或多个上游源节点接收数据的处理节点。
下游节点计算机198可以是流处理节点计算机102下游的处理节点计算机。下游节点计算机198可以是工作流中未示出的其他下游节点的源计算机。
流处理节点计算机102包括源处理逻辑110、输入数据存储装置115、衍生数据逻辑130、衍生数据存储装置135、事务映射数据存储装置150、以及离线修正逻辑160。尽管上面列出的组件中的每个组件被示出为包括在单一计算机中,但组件中的一个或多个组件可位于被通信地耦合于流处理节点计算机102和/或其组件的一个或多个其他计算机上和/或在被通信地耦合于流处理节点计算机102和/或其组件的一个或多个其他计算机上被执行。此外,尽管上面列出的模块、逻辑、以及数据存储装置中的每项被示出为单独的单元,但一个或多个模块、逻辑、和/或数据存储装置可被组合。例如,输入数据存储装置115、衍生数据存储装置135、以及事务映射数据存储装置150可被包括在同一永久存储设备中和/或可以是同一永久存储设备的一部分。
2.2.1源处理逻辑
源处理逻辑可以是处理来自一个或多个源节点的一个或多个源流的逻辑。例如,源处理逻辑110可从源节点计算机192和源节点计算机194接收标点符号,并生成和存储一个或多个源事务。源处理逻辑110可从源节点计算机192和源节点计算机194接收一个或多个源记录,并将每个源记录分配给一个或多个源事务。源处理逻辑110可基于接收一个或多个标点符号来确定源事务中的每个源记录何时已被接收。源处理逻辑110可将每个源事务及所有其相关联的记录提交到永久存储装置中,例如,输入数据存储装置115。
源处理逻辑可修改源记录和/或将源记录发送到衍生数据逻辑以供处理。例如,源处理逻辑110可通过添加事务标识符、时间戳、和/或任意其他数据来修改源记录以指示源记录所属的(一个或多个)事务,以便标识或确定源记录相关联的和/或所应用到的(一个或多个)源事务和/或(一个或多个)衍生事务。源处理逻辑110可将源记录发送到衍生数据逻辑130以供进一步处理。
2.2.2衍生数据逻辑
衍生数据逻辑可以是接收连续查询并执行连续查询中所定义的一个或多个功能的逻辑。例如,衍生数据逻辑130可从数据库模块、网络监测系统、和/或用户(例如,网络管理员)接收连续查询,该连续查询定义了操作应据以被执行的一个或多个操作和/或条件。衍生数据逻辑130可相应地执行连续查询。
衍生数据逻辑可推测地处理源记录并生成一个或多个衍生记录。推测地处理源记录可表示在不确定源记录所属的源事务是否已被接收和/或提交的情况下处理源记录。
推测地处理源记录减少被发送到下游节点的衍生记录的延迟。例如,衍生数据逻辑130可接收与来自源处理逻辑110的源事务相关联的源记录。衍生数据逻辑130可基于源记录来处理源记录、生成一个或多个新的衍生记录、和/或在源处理逻辑110确定源记录所属的整个源事务已被接收和/或提交之前,将衍生记录发送到下游节点计算机198。
衍生数据逻辑可确定衍生事务的开始和/或结束。例如,连续查询可定义衍生事务应何时开始和/或结束、和/或衍生事务应据以开始和/或结束的条件。响应于确定新的事务应开始,衍生数据逻辑130可生成新的事务标识符,并将事务标识符存储在事务映射数据存储装置150中。响应于确定衍生事务应结束,衍生数据逻辑130可将衍生事务、以及与衍生事务相关联的和/或在衍生事务期间生成的每个衍生记录(若存在的话)提交到衍生数据存储装置135。
衍生数据逻辑可更新事务映射数据存储装置。例如,当与特定源事务相关联的源记录从源处理逻辑110被接收时,衍生数据逻辑130可更新事务映射数据存储装置150以指示来自特定源事务的一个或多个记录被用于生成当前衍生事务中的一个或多个衍生记录。额外地或替代地,源处理逻辑(例如,源处理逻辑110)可更新事务映射数据存储装置以指示源事务、和/或源事务的一部分在尚未被提交的一个或多个衍生事务期间被接收。
衍生数据逻辑可将衍生标点符号和衍生记录发送到下游节点。例如,针对所生成的每个衍生事务,衍生数据逻辑130可将开始标点符号和结束标点符号发送到下游节点计算机198。
2.2.3事务映射数据存储装置
同一工作流中的节点可相互独立地生成事务。例如,处理节点计算机可接收两个源流,每个源流来自不同的源节点计算机。第一源节点计算机可基于发送特定数目的所生成的记录来生成事务。第二节点计算机可基于第一时间间隔来生成事务。处理节点计算机可基于不同的第二时间间隔来生成事务。因此,来自一个或多个源事务的一个或多个源记录可被用于生成单一衍生事务。此外,来自单一源事务的源记录可被用于生成一个或多个衍生事务。
事务映射数据存储装置可以是将一个或多个源事务映射到一个或多个衍生事务的一个或多个记录的集合。例如,事务映射数据存储装置150可包括之前被提交和/或当前正被生成的每个衍生事务的记录。额外地或替代地,事务映射数据存储装置150可包括被提交和/或被部分地接收的每个源事务的记录。额外地或替代地,事务映射数据存储装置150可包括将一个或多个衍生事务映射到一个或多个源事务的数据和/或一个或多个记录。额外地或替代地,与源事务相对应的每个记录可指示相应的源事务是否被提交或发生故障。额外地或替代地,与衍生事务相对应的每个记录可指示相应的衍生事务是否应被重新生成。
2.2.4离线修正逻辑
离线修正逻辑重新生成已被标记的衍生事务。例如,离线修正逻辑160可向事务映射数据存储装置150查询应被重新生成的任意衍生事务。对于每个被标记的衍生事务,离线修正逻辑160可删除衍生数据存储装置135中的衍生事务、重新生成被标记的衍生事务、和/或提交衍生数据存储装置135中被重新生成的衍生事务。离线修正逻辑160可在衍生事务已被重新生成之后清除与衍生事务相对应的标记。
离线修正逻辑可传播重新生成的衍生事务。例如,在重新生成和/或提交特定衍生事务之后,离线修正逻辑160可向下游节点计算机198发送通知,该通知指示特定衍生事务被重新生成并准备好由下游节点计算机198处理。下游节点计算机198可下载重新生成的事务,并重新生成下游节点计算机198基于特定衍生事务生成的任意衍生事务。
为了示出清楚示例的目的,离线修正逻辑160在本文被示出和讨论为是与衍生数据逻辑130不同的逻辑集。然而,在实施例中,离线修正逻辑160和衍生数据逻辑130可以是相同的逻辑。
3.0过程概览
图2示出了示例实施例中的用于在流工作流中预测地处理数据并传播修正的过程。为了示出清楚示例的目的,假设下列事实:源节点计算机192是第一任务关键型网络的路由器并且正在执行第一连续查询。第一连续查询使得源节点计算机192连续地将记录向工作流中的下游发送到流处理节点计算机102,这些记录指示已通过源节点计算机192被发送和/或接收的一些数据。源节点计算机192所发送的每个记录包括指示数据被发送和/或接收的时间的时间戳、以及指示记录所属的源事务的源事务标识符。第一连续查询使得源节点计算机192每秒钟生成新的源事务。源节点计算机194还可处理第一连续查询并执行类似操作。然而,为了示出清楚示例的目的,源节点计算机194未在所有下面的示例中被讨论。衍生数据逻辑130正在执行第二连续查询,该第二连续查询是第一连续查询的超级查询。第二连续查询使得衍生数据逻辑130每两秒钟计算每个网络的平均吞吐量。
3.1生成事务
在步骤210中,处理节点计算机接收开始标点符号。例如,源处理逻辑110可从源节点计算机192接收具有第一源事务标识符的第一开始标点符号。作为响应,源处理逻辑110可针对新的源事务分配流处理节点计算机102上的存储器。
在当前示例中,源处理逻辑110正单独从源节点计算机192接收源事务。然而,源处理逻辑110可从多于一个的源节点计算机(例如,源节点计算机194)接收源事务记录。为了区分从每个源节点计算机接收的源事务,响应于接收具有原始源事务标识符的开始标点符号,源处理逻辑110可生成新的源事务标识符,新的源事务标识符是基于开始标点符号从其中被接收的源节点的。例如,源处理逻辑110可生成包括下列项的新的源事务标识符:原始事务标识符、互联网协议地址、名称、模型、和/或与开始标点符号从其中被接收的源节点相关联的任意其他属性。
源处理逻辑110可将映射每个原始源事务标识符与新的源事务标识符的映射存储在输入数据存储装置115中。响应于源处理逻辑110接收到具有原始源事务标识符的记录和/或结束标点符号,源处理逻辑110可将新的源事务标识符添加到记录和/或结束标点符号。额外地或替代地,源处理逻辑110可将记录和/或结束标点符号中的原始源事务标识符改变为新的源事务标识符。
在步骤220中,处理节点计算机生成事务映射。为了示出清楚示例的目的,假设衍生数据逻辑130已经创建具有第一唯一衍生事务标识符的第一衍生事务,以及与事务映射数据存储装置150中的第一衍生事务相对应的记录。源处理逻辑可将第一源事务标识符发送到衍生数据逻辑130。衍生数据逻辑可生成与源事务相对应的记录,以及使用第一源事务标识符和第一衍生事务标识符来映射第一源事务和第一衍生事务的映射记录。衍生数据逻辑130可将映射记录存储在事务映射数据存储装置150中。
3.2处理源记录
在步骤230中,处理节点处理随时间接收的一个或多个源记录。图3示出了示例实施例中的用于在流工作流中处理记录的过程。步骤320、340、和/或360及其后续步骤中的每个步骤可被串行地或并行地执行。随着每个源记录被接收,本文讨论的每个步骤可被重复。由于处理节点计算机可随着每个源记录被接收而对其进行处理,流处理节点计算机可在生成、发送、和/或提交一个或多个衍生记录和/或事务时减少延迟。
在步骤310中,处理节点计算机接收源事务。例如,源处理逻辑110可从源节点计算机192接收记录。
在步骤320中,处理节点计算机确定记录是否“迟到”。若相关联的源事务已被提交,则源记录可能是迟到的。额外地或替代地,若之前被提交和/或发送的衍生事务可能已经基于源记录,则源记录可能是迟到的。例如,源处理逻辑110可向输入数据存储装置115查询已被提交的事务,该已被提交的事务具有与记录中的源事务标识符相匹配的源事务标识符。若发现被提交的事务,则控制可前进到步骤325,并将源记录提交到输入数据存储装置。例如,源处理逻辑110可将所接收的记录提交到输入数据存储装置115中,所接收的记录具有源记录中所标识的事务。
若源处理逻辑110接收到迟到记录,则源处理逻辑110不需要确定是否重新生成衍生事务,这是由于衍生事务的边界可能是独立于源事务边界的。因此,即使源记录在相关联的源事务被提交之后被接收,若记录与当前打开的衍生事务的标准相匹配,则衍生数据逻辑130仍可处理该记录。
在步骤340中,处理节点确定源记录是否与当前正被处理的衍生事务相对应。若源记录满足衍生事务的(一个或多个)条件,则源记录可与衍生事务相对应,该(一个或多个)条件是在衍生数据逻辑130当前正在处理的连续查询中定义的。
在当前示例中,源记录具有时间戳,并且当前打开的衍生事务具有连续查询所定义的特定开始时间和结束时间。若源记录中的时间戳是在开始时间和结束时间所定义的时间段之内,则衍生数据逻辑130可确定源记录是否满足衍生事务的(一个或多个)条件。若满足,则衍生数据逻辑130可前进到步骤345。
在该示例中,连续查询通过时间间隔来定义每个衍生事务的边界。然而,连续查询可通过一个或多个其他条件来定义衍生事务的边界。
在步骤345中,处理节点计算机处理源记录。例如,衍生数据逻辑130可更新代表源节点计算机192在当前打开的衍生事务期间所发送和/或接收的数据的总数的值。额外地或替代地,衍生数据逻辑130可生成指示源节点计算机192在当前衍生事务期间所发送和/或接收的数据的当前总数、和/或平均数的衍生记录。额外地或替代地,衍生数据逻辑130可更新事务映射数据存储装置150以指示源事务中的一个或多个源记录被用于生成当前衍生事务。
在步骤360中,处理节点确定源记录是否与一个或多个之前的衍生事务相对应。例如,若需要,则源处理逻辑110可将源记录发送到衍生数据逻辑130。衍生数据逻辑130可向事务映射数据存储装置150查询具有源事务标识符的映射。若有任何映射指示一个或多个之前提交的衍生事务是基于与记录的源事务标识符相匹配的源事务的,则控制可前进到步骤365。
在步骤365中,处理节点更新事务映射数据存储装置以指示应被重新生成的衍生事务(若存在)。衍生数据逻辑130可标记将被重新生成的步骤360中的一个或多个之前提交的衍生事务中的每个衍生事务。
如本文讨论的,衍生事务边界可独立于源事务边界。因此,源事务的边界可跨越一个或多个衍生事务的边界,反之亦然。因此,事务映射数据存储装置150可将特定源事务映射到一个或多个衍生事务。然而,特定源事务中的单一记录不需要影响一个或多个所映射的衍生事务中的每个衍生事务。因此,衍生数据逻辑130可确定记录可应用到的一个或多个所映射的衍生事务中的衍生事务,并标记将被重新生成的那些事务,而不标记将被重新生成的一个或多个衍生事务的其余衍生事务(若存在)。
在图3示出的示例实施例中,一个或多个衍生事务可能重叠;因此,步骤360可被执行,而不管步骤340的结果。然而,在实施例中,每个衍生事务不需要重叠,在这种情况下,若源记录满足打开的衍生事务的条件,则控制不需要前进到步骤360或步骤365。
3.3生成衍生事务
现在返回图2,在步骤240中,处理节点随时间异步地生成一个或多个衍生事务。如本文讨论的,衍生事务边界可通过连续查询和/或一个或多个其他因素来确定,并且可独立于任意源事务边界。例如,衍生数据逻辑130可确定自衍生事务的开始已消逝的特定量的时间。作为响应,衍生数据逻辑130可生成一个或多个衍生记录和/或将一个或多个衍生记录发送到下游节点计算机198。额外地或替代地,衍生数据逻辑130可生成结束标点符号和/或将结束标点符号发送到具有与之前发送的相应开始标点符号相匹配的标识符的下游节点计算机198。额外地或替代地,衍生数据逻辑130可将衍生事务提交到衍生数据存储装置135。额外地或替代地,衍生数据逻辑130可更新事务映射数据存储装置150以指示被提交的衍生事务和/或被处理以生成所提交的衍生事务的(一个或多个)源事务。
为了减小时间敏感工作流的延迟,衍生数据逻辑130可预测地生成、发送、和/或提交一个或多个衍生记录和/或衍生事务。衍生数据逻辑130不需要确定一个或多个源事务是否发生故障(可能导致衍生事务较晚被重新生成)。因此,衍生数据逻辑130不需要等待潜在的迟到源记录。
当衍生事务结束时,处理节点可打开新的衍生事务。例如,衍生数据逻辑130可生成新的唯一衍生事务标识符。额外地或替代地,衍生数据逻辑130可重置其状态。额外地或替代地,衍生数据逻辑130可将新的开始标点符号发送到具有新的唯一衍生事务标识符的下游节点计算机198。额外地或替代地,衍生数据逻辑130可通过生成与新打开的衍生事务相对应的新记录来为新事务准备事务映射数据存储装置150。新记录可包括新的唯一衍生事务标识符,该新的唯一衍生事务标识符可被映射到用于预测地生成新衍生事务中的一个或多个衍生记录的一个或多个源事务。
3.4提交源事务
现在返回图2,在步骤250中,处理节点异步地提交源事务。例如,源处理逻辑110可从源节点计算机192接收基于源事务标识符与打开的源事务相对应的结束标点符号。作为响应,源处理逻辑110可将包括与源事务相关联的任意源记录(若存在)的源事务提交到输入数据存储装置115中。
3.5确定源事务已发生故障
若结束标点符号未被及时接收,则处理节点计算机可确定源事务发生故障。例如,若从开始标点符号被接收和/或源记录被接收的时间经过了阈值量的时间,则源处理逻辑110可确定与开始标点符号相对应的源事务发生故障。额外地或替代地,源处理逻辑110可从源节点计算机192接收误差信号,该误差信号指示当前源事务、和/或源节点计算机192已发生故障。
时间的阈值量可通过连续查询、开始标点符号中的数据、和/或来自用户的输入来设定。例如,处理节点正在执行的连续查询可将阈值时间定义为十秒。还例如,开始标点符号可指示相应的结束标点符号应在十五秒内被接收。
结束标点符号可能由于许多原因而未被接收。例如,源节点计算机192可能关机,用户可能由于用户输入、竞争资源、和/或任意其他原因而终止在源节点计算机192上执行的连续查询。
响应于确定源事务已发生故障,处理节点计算机可标记将被重新生成的一个或多个衍生事务。例如,响应于确定打开的源事务已发生故障,源处理逻辑110可利用事务映射数据存储装置150中的到故障源事务的映射来标记每个衍生事务。
标记衍生事务可表示在事务映射数据存储装置150中设定与衍生事务相对应的记录中的值。额外地或替代地,标记衍生事务可表示向离线修正逻辑160发送衍生事务标识符,该衍生事务标识符指示离线修正逻辑160应重新生成与衍生事务标识符相对应的衍生事务。
3.6重新生成衍生事务
现在返回图2,在步骤260中,处理节点随时间异步地重新生成一个或多个衍生事务。例如,若一个或多个中央处理单元(CPU)和/或其他计算机资源未正被使用,则离线修正逻辑160可重新生成所标记的衍生事务。额外地或替代地,离线修正逻辑160可定期地检查和/或重新生成所标记的衍生事务。额外地或替代地,离线修正逻辑160可响应于来自下游节点计算机198和/或任意其他逻辑、模块、和/或计算机的请求来检查和/或重新生成所标记的衍生事务。
图4示出了示例实施例中的用于更新衍生事务并贯穿工作流来传播衍生事务的过程。在步骤410中,处理节点确定之前的衍生事务应基于一个或多个事务映射被重新生成。例如,离线修正逻辑160可向事务映射数据存储装置150查询所标记的事务。为了示出清楚示例的目的,假设具有特定衍生事务标识符的特定衍生事务被标记。
在步骤420中,处理节点确定应被用于重新生成之前的衍生事务的源事务。例如,离线修正逻辑160可向事务映射数据存储装置150查询特定衍生事务和一个或多个所提交的源事务之间的映射。为了示出清楚示例的目的,假设事务映射数据存储装置150将两个映射返回到离线修正逻辑160,该两个映射将特定衍生事务映射到两个源事务。还假设第一源事务被提交,但第二源事务发生故障。第一映射可指示第一源事务被提交,但第二映射可指示第二源事务发生故障。额外地或替代地,离线修正逻辑160可查询输入数据存储装置115中的两个源事务。由于第一源事务被提交并且第二源事务发生故障,则输入数据存储装置115可返回第一源事务,但不返回第二源事务。
在步骤430中,处理节点重新生成之前的衍生事务。为了示出清楚示例的目的,假设之前的衍生事务是根据具有一个或多个条件的特定连续查询被生成的。离线修正逻辑160可确定满足连续查询中的(一个或多个)条件的所提交的(一个或多个)源事务中的源记录(若存在)。离线修正逻辑160可通过处理满足(一个或多个)连续查询条件的源记录、并根据连续查询生成一个或多个新的衍生记录来重新生成衍生事务。
在步骤440中,处理节点提交新衍生的记录并删除之前的衍生事务的旧的衍生记录。例如,离线修正逻辑160可将来自步骤430的一个或多个新的衍生记录提交到衍生数据存储装置135。离线修正逻辑160还可从衍生数据存储装置135删除之前的衍生记录。
在步骤450中,处理节点将重新生成的衍生事务发送到(一个或多个)下游设备。为了示出清楚示例的目的,假设下游节点计算机198具有与流处理节点计算机102相同的模块、逻辑、以及存储装置。离线修正逻辑160可将重新生成的事务发送到下游节点计算机198中的源处理逻辑。下游节点计算机198中的接收源处理逻辑可将新接收的重新生成的事务提交到下游节点计算机198上的输入数据存储装置中。接收源处理逻辑可确定下游节点计算机198基于新提交的事务所生成的下游衍生事务。下游节点计算机198中的离线修正逻辑可重新生成下游衍生事务,并相应地将那些重新生成的事务发送到更远的(一个或多个)下游设备,以此类推。因此,流工作流中的下游设备被递归地更新。
额外地或替代地,离线修正逻辑160可向下游节点计算机198发送通知,该通知指示特定衍生事务被重新生成并准备好由下游节点计算机198处理。作为响应,下游节点计算机198可删除下游节点计算机198基于通知中所标识的事务生成的一个或多个下游事务。下游节点计算机198可下载被重新生成的事务,并基于特定衍生事务来重新生成一个或多个下游事务。
在实施例中,将衍生事务映射到一个或多个故障源事务的映射可被删除。例如,在衍生事务被重新生成之后,事务映射数据存储装置150中的将衍生事务映射到一个或多个故障源事务的任意映射可被删除。然而,在实施例中,将衍生事务映射到一个或多个故障源事务的映射不需要被删除。因此,若之前的故障源事务较晚被接收,则所映射的衍生事务可使用所接收的源事务被重新生成。
在实施例中,处理节点可确定特定衍生事务是否需要响应于来自下游节点的特定衍生事务的请求而被重新生成。处理节点可重新生成特定衍生事务并将重新生成的衍生事务发送到下游节点。
3.7恢复处理节点故障
处理节点可能发生故障并丢失状态以及使用所提交的衍生事务来重新获得状态。为了示出清楚示例的目的,假设流处理节点计算机102除了每两秒钟计算每个网络的平均吞吐量之外,还每十分钟计算每个网络的吞吐量的移动平均数。若流处理节点计算机102离线,当流处理节点102返回在线时,则衍生数据逻辑130可通过处理在过去的十分钟之内被提交到衍生数据存储装置135的任意衍生事务来重新获得状态。
处理节点可从一个或多个源节点请求丢失的源事务。例如,在流处理节点计算机102离线时,源处理逻辑110可请求源节点计算机192所生成的任意源事务(若存在)。
处理节点可使用事务映射来恢复部分状态。例如,衍生数据逻辑130可向事务映射数据存储装置150查询被用于生成衍生事务的任意所提交的源事务,该衍生事务在流处理节点计算机102离线时被中断。衍生数据逻辑130可直接地或通过一个或多个其他组件(例如,源处理逻辑110)来从输入数据存储装置115请求所提交的源事务。对于未被提交到输入数据存储装置115中的每个源事务,衍生数据逻辑130可使得源处理逻辑110使用被存储在事务映射数据存储装置150中的未提交源事务的标识符来从源节点计算机192请求未提交的源事务。
4.0根据示例实施例的额外示例
为了根据不同的示例实施例示出另一清楚示例的目的,做出下列假设:处理节点计算机接收<A,B>形式的源记录,其中,A是数值,并且B是时间戳。源记录来自于下列两个源流:S1和S2。S1包括下列记录,这些记录由处理节点计算机按下列顺序从第一源节点计算机接收:<A1,09:10>、<A2,09:29>。S2包括下列记录,这些记录由处理节点计算机按下列顺序从第二源节点计算机接收:<A3,09:05>、<A4,10:02>。处理节点计算机以<X,Y>的形式每小时生产衍生记录,其中,Y是时间范围,并且X是在该时间范围内接收的值的总和。时间范围可以是(K-L]的形式,其中,K是未被包括在该范围内的第一时间戳,并且L是被包括在该范围内的第二时间。例如,十点钟的时间范围可被表示为(9:00-10:00]。随着每个源记录被接收,处理节点计算机通过源记录中的时间戳来确定时间。例如,当衍生数据逻辑130接收源记录<A2,09:45>时,则处理节点计算机可确定当前时间为09:45。
响应于接收到S1中的<A1,09:10>,处理节点计算机可创建在本文被称为DR1的第一衍生记录<A1,(9:00-10:00]>。处理节点计算机可创建事务映射并将事务映射存储在可包括永久存储装置的事务映射数据存储装置中。事务映射在本文可被表示为<DR1,[S1],(09:00-10:00],BEGIN>,其中,方括号中引用的(一个或多个)流是被处理以生成DR1的具有一个或多个记录的(一个或多个)流。额外地或替代地,处理节点计算机可将包括范围(9:00-10:00]的第一开始标点符号发送到下游设备。
BEGIN(开始)是可被用于指示包括DR1的衍生事务被打开但尚未结束的示例标志。标志可以是布尔值、整数、和/或指示相应的衍生事务的状态的任意其他值。
响应于接收到S1中的<A2,09:29>,处理节点计算机可将DR1更新为<A1+A2,(09:00-10:00]>。为了示出清楚示例的目的,假设S1如所期望的在没有任何误差的情况下结束。作为响应,处理节点计算机可通过将S1中接收到的每个记录提交到永久存储装置来提交S1。
响应于接收到S2中的<A3,09:05>,处理节点计算机可将DR1更新为<A1+A2+A3,(09:00-10:00]>。此外,由于处理节点计算机之前尚未针对DR1来处理S2中的记录,则处理节点计算机可将相应的事务映射更新为<DR1,[S1,S2],(09:00-10:00],BEGIN>。
响应于接收到S2中的<A4,10:02>,处理节点计算机可确定时间是10:02,这超过了DR1的范围。因此,处理节点计算机可将DR1发送到一个或多个下游设备。处理节点计算机可将相应的事务映射更新为<DR1,[S1,S2],(09:00-10:00],END>。处理节点计算机可将DR1提交到永久存储装置。处理节点计算机可将DR1和/或与第一开始标点符号相对应的第一结束标点符号发送到一个或多个下游设备。
END(结束)是可被用于指示衍生事务已结束的示例标志。额外地或替代地,END标志可指示衍生事务被提交到永久存储装置和/或应被提交到永久存储装置、和/或被发送到一个或多个下游设备。标志可以是布尔值、整数、和/或指示相应的衍生事务的状态的任意其他值。
4.1调解发生故障的源流
处理节点计算机可在源流发生故障时调解衍生事务。为了示出清楚示例的目的,假设处理节点计算机确定S2发生故障。作为响应,处理节点计算机不需要将S2和/或S2中所接收的记录提交到永久存储装置。处理节点计算机可更新引用S2的任意事务映射,以指示(一个或多个)衍生事务不应是基于S2的,并且与(一个或多个)衍生事务相关联的衍生记录应被重新生成。因此,处理节点计算机可将与DR1相对应的事务映射更新为<DR1,[S1],(09:00-10:00],REGENERATE>,指示DR1应基于S1被重新生成。处理节点计算机可从永久存储装置中删除DR1。处理节点计算机可基于S1中被提交到永久存储装置的一个或多个源记录来重新生成DR1并重新提交DR1为<A1+A2,(09:00-10:00]>。
REGENERATE(重新生成)是可被用于指示衍生事务应被重新生成的示例标志。然而,标志可以是布尔值、整数、和/或指示相应的衍生事务的状态的任意其他值。在实施例中,衍生事务映射可以是<DR1,[S1],(09:00-10:00],END,REGENERATE>,其指示事务结束并被提交到永久存储装置,但应被重新生成。处理节点计算机可使用所提交的(一个或多个)源事务(在该示例中是S1)来重新生成DR1。
在实施例中,响应于确定S2发生故障,处理节点计算机可将事务映射更新为<DR1,[S1,S2],(09:00-10:00],REGENERATE>。S2中的(一个或多个)源记录由于S2发生故障而未被提交。因此,即使S2仍被包括在事务映射中,重新生成的DR1不需要使用S2来重新生成,这是由于S2中的(一个或多个)源记录未被提交到永久存储装置中。
4.2从系统故障恢复
处理节点计算机可通过使用事务映射重新生成(一个或多个)打开的衍生事务来从系统故障恢复。为了示出清楚示例的目的,假设下列事实:处理节点计算机在处理S1中的<A1,09:10>和<A2,09:29>以及S2中的<A3,09:05>之后丢失功率并发生故障。S1在处理节点计算机发生故障,并且S1被提交到永久存储装置之前成功结束。S2在处理节点计算机发生故障时尚未结束,并且S2未被提交到永久存储装置。DR1的当前事务仍是打开的,并且由于<A4,10:02>在处理节点计算机发生故障之前尚未被接收和/或处理而未被提交。与DR1相对应的事务映射是<DR1,[S1,S2],(09:00-10:00],BEGIN>。
在处理节点计算机被重新开始之后,处理节点计算机确定在处理节点计算机发生故障时不完整的(一个或多个)事务。响应于确定DR1的事务映射不具有END标志,处理节点计算机可基于被包括在事务映射中并被永久存储的(一个或多个)源事务(在该示例中是S1而非S2)来重新生成DR1。额外地或替代地,响应于确定DR1映射存在但在永久存储装置中未发现DR1,则处理节点计算机可基于被包括在事务映射中并被永久存储的(一个或多个)源事务(在该示例中是S1而非S2)来重新生成DR1。额外地或替代地,处理节点计算机可更新事务映射以移除S2。在实施例中,事务映射可通过删除之前的事务映射并创建新的事务映射来被更新。在实施例中,在接收和/或处理新的源记录和/或源事务之前,处理节点计算机可重新生成一个或多个打开的、未被提交的衍生事务中每个衍生事务。
在实施例中,处理节点计算机可确定S2在处理节点计算机发生故障之前未被提交。作为响应,处理节点计算机可从第二源计算机请求S2。
4.3调解迟到的源记录
处理节点计算机可在迟到源记录被接收时调解衍生事务。为了示出调解迟到源记录的清楚示例的目的,做出下列假设:处理节点计算机接收、处理、并提交S1和S2。处理节点计算机提交DR1为<A1+A2+A3,(09:00-10:00]>,并生成下列对应的事务映射:<DR1,[S1,S2],(09:00-10:00],END>。处理节点计算机接收包括两个记录(<A5,09:45>和<A6,10:01>)的第三流S3。
响应于接收盗S3中的<A5,09:45>,处理节点计算机可创建在本文被称为DR2的第二衍生记录<A5,(09:00-10:00]>。处理节点计算机在事务映射存储装置中可创建事务映射。事务映射在本文可被表示为<DR2,[S3],(09:00-10:00],BEGIN>。处理节点计算机可将包括范围(09:00-10:00]的第二开始标点符号发送到下游设备。
响应于接收到S2中的<A6,10:02>,处理节点计算接可确定时间是10:01,这超出了DR2的范围。因此,处理节点计算机可将DR2发送到一个或多个下游设备。处理节点计算机可将相应的事务映射更新为<DR2,[S3],(09:00-10:00],END>。处理节点计算机可将DR2提交到永久存储装置。处理节点计算机可将DR2和/或与第二开始标点符号相对应的第二结束标点符号发送到一个或多个下游设备。
DR2可以与DR1结合。例如,在DR2被提交之后,处理节点计算机可生成在本文被称为DR3的单一衍生记录<A1+A2+A3+A5,(09:00-10:00]>,其表示具有相同时间段的所有事务(在该示例中是DR1和DR2)的总和。处理节点计算机可生成下列相应的事务映射:<DR3,[S1,S2,S3],(09:00-10:00],END>,其合并了每个衍生记录DR1和DR2的事务映射中列出的源。处理节点计算机可删除DR1和/或DR2。处理节点计算机可删除DR1和DR2的相应的事务映射。响应于来自具有范围(09:00-10:00]的事务的下游设备的请求,处理节点计算机可将DR3发送到下游设备。
5.0实现机制——硬件概览
根据一个实施例,本文描述的技术通过一个或多个专用计算设备来实现。专用计算设备可以是硬连线的以执行技术,或可包括数字电子设备,例如,被永久地编程以便执行技术的一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA),或可包括被编程为依照固件、存储器、其他存储设备、或组合中的程序指令来执行技术的一个或多个通用硬件处理器。这类专用计算设备还可将定制硬连线逻辑、ASIC、或FPGA与定制编程相结合以完成技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备或结合硬连线和/或程序逻辑以实现技术的任意其他设备。
例如,图5是示出了计算机系统500的框图,本发明的实施例在计算机系统500上可被实现。计算机系统500包括用于传送信息的总线502或其他通信机制,以及与总线502相耦合并用于处理信息的硬件处理器504。例如,硬件处理器504可以是通用微处理器。
计算机系统500还包括耦合于总线502并用于存储信息和处理器504所执行的指令的主存储器506,例如,随机存取存储器(RAM)或其他动态存储设备。主存储器506还可用于在指令由处理器504执行期间存储临时变量或其他中间信息。当被存储在处理器504可访问的非暂态存储介质中时,这类指令将计算机系统500转化为被定制为执行指令中所指定的操作的专用机器。
计算机系统500还包括耦合于总线502并用于存储静态信息和处理器504的指令的只读存储器(ROM)508或其他静态存储设备。诸如磁盘或光盘之类的存储设备510被提供并耦合于总线502以便用于存储信息和指令。
计算机系统500可经由总线502耦合于显示器512(例如,阴极射线管(CRT)),以便向计算机用户显示信息。包括字母数字键和其他键的输入设备514被耦合于总线502以便将信息和命令选择传送到处理器504。另一类型的用户输入设备是光标控制设备516,例如,鼠标、轨迹球、或用于将方向信息和命令选择传送到处理器504并用于控制光标在显示器512上的运动的光标方向键。该输入设备通常具有允许设备在平面中来指定位置的两个轴(第一轴(例如,x)和第二轴(例如,y))上的两个自由度。
计算机系统500可使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文描述的技术,这些项与计算机系统相结合使得计算机系统500为专用机器或将计算机系统500编程为专用机器。根据一个实施例,本文的技术响应于处理器504执行主存储器506中所包含的一个或多个指令的一个或多个序列,而由计算机系统500来执行。这类指令可从另一存储介质(例如,存储设备510)被读取到主存储器506中。主存储器506中所包含的指令的序列的执行使得处理器504执行本文描述的处理步骤。在替代实施例中,硬连线电路可替代或结合软件指令来使用。
本文使用的术语“存储介质”指存储使得机器以特定方试操作的数据和/或指令的任意非暂态介质。这类存储介质可包括非易失性介质和/或易失性介质。例如,非易失性介质包括光盘或磁盘,例如,存储设备510。易失性介质包括动态存储器,例如,主存储器506。例如,一般形式的存储介质包括软盘、软磁盘、硬盘、固态硬盘、磁带、或任意其他磁数据存储介质、CD-ROM、任意其他光数据存储介质、具有孔图案(patterns of holes)的任意物理介质、RAM、PROM、以及EPROM、FLASH-EPROM、NVRAM、任意其他存储器芯片或内存匣。
存储介质与传输介质不同,但可结合传输介质来使用。传输介质参与在存储介质之间传输信息。例如,传输介质包括将包括总线502的线包括在内的同轴电缆、铜线以及光纤。传输介质还可采取声波或光波的形式,例如,在无线电波和红外数据传送期间生成的那些声波或光波。
各个形式的介质可涉及将一个或多个指令的一个或多个序列运载到处理器504以便执行。例如,指令可被初始地运载在远程计算机的磁盘或固态硬盘上。远程计算机可将指令加载到其动态存储器中并使用调制解调器经由电话线来发送指令。计算机系统500本地的调制解调器可接收电话线上的数据并使用红外发射器来将数据转换为红外信号。红外检测器可接收红外信号中运载的数据,并且适当的电路可以将数据放置在总线502上。总线502将数据运载到主存储器506,处理器504从主存储器506取回数据并执行指令。主存储器506所接收的指令可选地可以在被处理器504执行之前或之后被存储在存储设备510上。
计算机系统500还包括耦合于总线502的通信接口518。通信接口518提供到连接于本地网络522的网络链路520的两路数据通信耦合。例如,通信接口518可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器、或提供到相应类型的电话线的数据通信连接的调制解调器。作为另一示例,通信接口518可以是提供到兼容局域网(LAN)的数据通信连接的LAN卡。无线链路还可被实现。在任意这类实现方式中,通信接口518发送和接收运载表示各种类型的信息的数字数据流的电子、电磁或光信号。
网络链路520通常通过一个或多个网络来提供到其他数据设备的数据通信。例如,网络链路520可通过本地网络522来提供到主机计算机524或因特网服务提供商(ISP)526所操作的数据装置的连接。ISP 526反过来通过世界范围分组数据通信网络(现在通常称为“因特网”)528来提供数据通信服务。本地网络522和因特网528都使用运载电子数据流的电子、电磁或光信号。将数字数据运载到计算机系统500以及从计算机系统500运载数字数据的贯穿各个网络的信号和网络链路520上的信号以及贯穿通信接口518的信号是传输介质的示例形式。
计算机系统500可通过(一个或多个)网络、网络链路520以及通信接口518来发送消息并接收包括程序代码的数据。在因特网示例中,服务器530可通过因特网528、ISP 526、本地网络522以及通信接口518来传输应用程序的请求代码。
所接收的代码在其被接收时可由处理器504执行、和/或被存储在存储设备510、或其他非易失性存储设备中用于较晚执行。
6.0扩展和替代
在上述说明书中,本发明的实施例参考许多特定细节(可以随实施例而变化)已被描述。因此,本发明的内容、以及本申请预期将作为本发明的内容的唯一且独有的指示,是由本申请以下列特定形式产生的一组权利要求:这些权利要求包括任意后续的修正。针对这些权利要求中所包含的术语而在本文被明确阐述的任意定义,应支配这些权利要求中所使用的这类术语的意义。因此,权利要求中未明确叙述的限制、要素、性质、特征、优势或属性不应以任何方式限制该权利要求的范围。因此,说明书和附图将被视为说明性的而非限制性的。

Claims (18)

1.一种计算机系统,包括:
存储器;
处理器,所述处理器耦合于所述存储器;
处理逻辑,所述处理逻辑耦合于所述存储器和所述处理器,并被配置为执行下列操作:
从一个或多个源计算机接收多个源数据记录,其中,一个或多个第一源数据记录与第一源事务相关联,并且一个或多个第二源数据记录与第二源事务相关联;
基于所述多个源数据记录生成包括一个或多个第一衍生记录的第一衍生事务;
生成所述第一衍生事务和所述第一源事务之间的第一事务映射;
生成所述第一衍生事务和所述第二源事务之间的第二事务映射;
确定所述第一衍生事务已结束,并作为响应,将包括所述一个或多个第一衍生记录的第一衍生事务提交到永久存储装置;
接收与所述第一源事务相关联的第一结束标点符号,并作为响应,将所述第一源事务提交到所述永久存储装置,所述第一源事务包括与所述第一源事务相关联的所述一个或多个第一源数据记录;以及
在提交所述第一衍生事务之后,确定所述第二源事务发生故障,并作为响应执行下列操作:
确定所述第一衍生事务应基于所述第二事务映射被重新生成,并作为响应,通过执行下列操作来重新生成所述第一衍生事务:
生成一个或多个第二衍生记录,所述一个或多个第二衍生记录是基于所述一个或多个第一源数据记录的,而不是基于所述一个或多个第二源数据记录的;以及
将所述一个或多个第二衍生记录提交到所述永久存储装置。
2.如权利要求1所述的计算机系统,其中,所述处理逻辑被配置为:响应于确定所述第一衍生事务已结束,在未确定所述第二源事务已发生故障的情况下,将所述一个或多个第一衍生纪录发送到下游设备。
3.如权利要求1所述的计算机系统,其中,所述处理逻辑被配置为执行下列操作:
从第一源计算机接收与所述第一源事务相关联的第一开始标点符号,其中,所述一个或多个第一源数据记录是从所述第一源计算机被接收的;以及
响应于接收到所述第一结束标点符号,更新所述第一事务映射以指示所述第一源事务是完整的。
4.如权利要求1所述的计算机系统,其中,在提交所述一个或多个第一衍生记录之后,所述处理逻辑被配置为执行下列操作:
接收与所述第一源事务相关联的迟到源记录;以及
确定所述迟到源记录已经基于所述第一源事务和所述第一衍生事务之间的所述第一事务映射、使用所述第一衍生事务被处理,并作为响应,标记将被重新生成的所述第一衍生事务。
5.如权利要求1所述的计算机系统,其中,所述处理逻辑被配置为执行下列操作:
将所述一个或多个第一衍生记录中的每个记录与所述第一衍生事务相关联;以及
响应于确定所述第二源事务发生故障,从所述永久存储装置中删除与所述第一衍生事务相关联的每个记录。
6.如权利要求1所述的计算机系统,其中,所述处理逻辑被配置为在重新生成所述第一衍生事务之后,将所述一个或多个第二衍生记录发送到下游设备。
7.如权利要求1所述的计算机系统,其中,所述处理逻辑被配置为执行下列操作:
将所述一个或多个第一衍生记录与标识所述第一衍生事务的标识符相关联;
响应于确定所述第一衍生事务已结束,将所述一个或多个第一衍生记录发送到具有所述标识符的下游设备;以及
响应于确定所述第二源事务发生故障并生成所述一个或多个第二衍生记录而执行下列操作:
将所述一个或多个第二衍生记录与所述标识符相关联;以及
通知所述下游设备与所述标识符相关联的所述第一衍生事务被重新生成。
8.如权利要求1所述的计算机系统,其中,所述处理逻辑被配置为接收针对所述第一衍生事务的请求,并作为响应,确定所述第一衍生事务是否应被重新生成。
9.如权利要求1所述的计算机系统,其中,所述处理逻辑被配置为执行下列操作:
将标识符与所述第一衍生事务相关联;
响应于确定所述第一衍生事务已结束,将所述一个或多个第一衍生记录发送到具有所述标识符的下游设备;
将所述一个或多个第二衍生记录与所述标识符相关联;以及
在生成所述一个或多个第二衍生记录之后,执行下列操作:
从所述下游设备接收具有所述标识符的请求;以及
响应于接收到所述请求,将所述一个或多个第二衍生记录发送到所述下游设备,但不将所述一个或多个第一衍生记录发送到所述下游设备。
10.一种方法,包括:
从一个或多个源计算机接收多个源数据记录,其中,一个或多个第一源数据记录与第一源事务相关联,并且一个或多个第二源数据记录与第二源事务相关联;
基于所述多个源数据记录生成包括一个或多个第一衍生记录的第一衍生事务;
生成所述第一衍生事务和所述第一源事务之间的第一事务映射;
生成所述第一衍生事务和所述第二源事务之间的第二事务映射;
确定所述第一衍生事务已结束,并作为响应,将包括所述一个或多个第一衍生记录的第一衍生事务提交到永久存储装置;
接收与所述第一源事务相关联的第一结束标点符号,并作为响应,将所述第一源事务提交到所述永久存储装置,所述第一源事务包括与所述第一源事务相关联的所述一个或多个第一源数据记录;以及
在提交所述第一衍生事务之后,确定所述第二源事务发生故障,并作为响应执行下列操作:
确定所述第一衍生事务应基于所述第二事务映射被重新生成,并作为响应,通过执行下列操作来重新生成所述第一衍生事务:
生成一个或多个第二衍生记录,所述一个或多个第二衍生记录是基于所述一个或多个第一源数据记录的,而不是基于所述一个或多个第二源数据记录的;以及
将所述一个或多个第二衍生记录提交到所述永久存储装置;
其中,所述方法由一个或多个计算设备执行。
11.如权利要求10所述的方法,包括响应于确定所述第一衍生事务已结束,在未确定所述第二源事务已发生故障的情况下,将所述一个或多个第一衍生纪录发送到下游设备。
12.如权利要求10所述的方法,包括:
从第一源计算机接收与所述第一源事务相关联的第一开始标点符号,其中,所述一个或多个第一源数据记录是从所述第一源计算机被接收的;以及
响应于接收到所述第一结束标点符号,更新所述第一事务映射以指示所述第一源事务是完整的。
13.如权利要求10所述的方法,包括:
在提交所述一个或多个第一衍生记录之后,接收与所述第一源事务相关联的迟到源记录;以及
确定所述迟到源记录应该已经基于所述第一源事务和所述第一衍生事务之间的所述第一事务映射、使用所述第一衍生事务被处理,并作为响应,标记将被重新生成的所述第一衍生事务。
14.如权利要求10所述的方法,包括:
将所述一个或多个第一衍生记录中的每个记录与所述第一衍生事务相关联;以及
响应于确定所述第二源事务发生故障,从所述永久存储装置中删除与所述第一衍生事务相关联的每个记录。
15.如权利要求10所述的方法,包括在重新生成所述第一衍生事务之后,将所述一个或多个第二衍生记录发送到下游设备。
16.如权利要求10所述的方法,包括:
将所述一个或多个第一衍生记录与标识所述第一衍生事务的标识符相关联;
响应于确定所述第一衍生事务已结束,将所述一个或多个第一衍生记录发送到具有所述标识符的下游设备;以及
响应于确定所述第二源事务发生故障并生成所述一个或多个第二衍生记录而执行下列操作:
将所述一个或多个第二衍生记录与所述标识符相关联;以及
通知所述下游设备与所述标识符相关联的所述第一衍生事务被重新生成。
17.如权利要求10所述的方法,包括接收针对所述第一衍生事务的请求,并作为响应,确定所述第一衍生事务是否应被重新生成。
18.如权利要求10所述的方法,包括:
将标识符与所述第一衍生事务相关联;
响应于确定所述第一衍生事务已结束,将所述一个或多个第一衍生记录发送到具有所述标识符的下游设备;
将所述一个或多个第二衍生记录与所述标识符相关联;以及
在生成所述一个或多个第二衍生记录之后,执行下列操作:
从所述下游设备接收具有所述标识符的请求;以及
响应于接收到所述请求,将所述一个或多个第二衍生记录发送到所述下游设备,但不将所述一个或多个第一衍生记录发送到所述下游设备。
CN201580040477.5A 2014-07-25 2015-07-16 流数据的推测数据处理 Expired - Fee Related CN106575251B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/341,436 US9438676B2 (en) 2014-07-25 2014-07-25 Speculative data processing of streaming data
US14/341,436 2014-07-25
PCT/US2015/040735 WO2016014334A1 (en) 2014-07-25 2015-07-16 Speculative data processing of streaming data

Publications (2)

Publication Number Publication Date
CN106575251A true CN106575251A (zh) 2017-04-19
CN106575251B CN106575251B (zh) 2020-06-09

Family

ID=53776977

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580040477.5A Expired - Fee Related CN106575251B (zh) 2014-07-25 2015-07-16 流数据的推测数据处理

Country Status (4)

Country Link
US (1) US9438676B2 (zh)
EP (1) EP3172668B1 (zh)
CN (1) CN106575251B (zh)
WO (1) WO2016014334A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9910896B2 (en) 2013-03-15 2018-03-06 Cisco Technology, Inc. Suspending and resuming continuous queries over data streams
US9959301B2 (en) 2014-07-25 2018-05-01 Cisco Technology, Inc. Distributing and processing streams over one or more networks for on-the-fly schema evolution
US10585869B2 (en) * 2015-05-22 2020-03-10 Open Text Holdings, Inc. System and method for generating, maintaining, and querying a database for computer investigations
US10122788B2 (en) * 2016-03-29 2018-11-06 Amazon Technologies, Inc. Managed function execution for processing data streams in real time
CN107665155B (zh) 2016-07-28 2021-07-09 华为技术有限公司 处理数据的方法和装置
US10355853B1 (en) * 2016-08-25 2019-07-16 The United States Of America As Represented By The Secretary Of The Navy Multilayered obstructed brokered (MOB) embedded cyber security architecture
US10459922B2 (en) 2016-11-08 2019-10-29 At&T Intellectual Property I, L.P. Unique identification generation for records in a data streaming processing system
US11301456B2 (en) * 2020-05-07 2022-04-12 Sap Se Processing consistency validations of conditional foreign-key relations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110167148A1 (en) * 2010-01-04 2011-07-07 International Business Machines Corporation System and method for merging monitoring data streams from a server and a client of the server
CN102193987A (zh) * 2011-03-25 2011-09-21 北京世纪互联工程技术服务有限公司 基于oltp的增加节点数据关系的方法及系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990477B2 (en) 2001-03-28 2006-01-24 International Business Machines Corporation Method, system, and program for implementing scrollable cursors in a distributed database system
US7383253B1 (en) 2004-12-17 2008-06-03 Coral 8, Inc. Publish and subscribe capable continuous query processor for real-time data streams
US7818313B1 (en) 2005-07-18 2010-10-19 Sybase, Inc. Method for distributing processing of queries over a cluster of servers in a continuous processing system
US7756805B2 (en) 2006-03-29 2010-07-13 Alcatel-Lucent Usa Inc. Method for distributed tracking of approximate join size and related summaries
AU2007252225A1 (en) 2006-05-24 2007-11-29 National Ict Australia Limited Selectivity estimation
US7984043B1 (en) 2007-07-24 2011-07-19 Amazon Technologies, Inc. System and method for distributed query processing using configuration-independent query plans
US8812487B2 (en) 2008-03-06 2014-08-19 Cisco Technology, Inc. Addition and processing of continuous SQL queries in a streaming relational database management system
US20100131745A1 (en) * 2008-11-25 2010-05-27 Microsoft Corporation Exceptional events
US8601458B2 (en) * 2009-05-14 2013-12-03 International Business Machines Corporation Profile-driven data stream processing
US8688683B2 (en) 2009-11-30 2014-04-01 Business Objects Software Ltd. Query plan reformulation
JP4967014B2 (ja) 2009-12-16 2012-07-04 株式会社日立製作所 ストリームデータ処理装置及び方法
US9003110B2 (en) * 2010-01-13 2015-04-07 International Business Machines Corporation Dividing incoming data into multiple data streams and transforming the data for storage in a logical data object
US8484243B2 (en) 2010-05-05 2013-07-09 Cisco Technology, Inc. Order-independent stream query processing
US20110314019A1 (en) 2010-06-18 2011-12-22 Universidad Politecnica De Madrid Parallel processing of continuous queries on data streams
US8260826B2 (en) 2010-09-23 2012-09-04 Hewlett-Packard Development Company, L.P. Data processing system and method
US9514159B2 (en) * 2010-10-27 2016-12-06 International Business Machines Corporation Database insertions in a stream database environment
US9355148B2 (en) 2011-04-29 2016-05-31 Hewlett Packard Enterprise Development Lp Systems and methods for in-memory processing of events
US8745434B2 (en) * 2011-05-16 2014-06-03 Microsoft Corporation Platform for continuous mobile-cloud services
US8682860B2 (en) 2011-08-12 2014-03-25 Splunk Inc. Data volume management
US10055483B2 (en) 2012-03-08 2018-08-21 Telefonaktiebolaget Lm Ericsson (Publ) Data stream management systems
US9239864B2 (en) 2012-04-17 2016-01-19 Cisco Technology, Inc. Distributing and processing streams over one or more networks
US9910896B2 (en) 2013-03-15 2018-03-06 Cisco Technology, Inc. Suspending and resuming continuous queries over data streams
US9959301B2 (en) 2014-07-25 2018-05-01 Cisco Technology, Inc. Distributing and processing streams over one or more networks for on-the-fly schema evolution

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110167148A1 (en) * 2010-01-04 2011-07-07 International Business Machines Corporation System and method for merging monitoring data streams from a server and a client of the server
CN102193987A (zh) * 2011-03-25 2011-09-21 北京世纪互联工程技术服务有限公司 基于oltp的增加节点数据关系的方法及系统

Also Published As

Publication number Publication date
CN106575251B (zh) 2020-06-09
EP3172668A1 (en) 2017-05-31
WO2016014334A1 (en) 2016-01-28
US9438676B2 (en) 2016-09-06
EP3172668B1 (en) 2018-09-12
US20160026530A1 (en) 2016-01-28

Similar Documents

Publication Publication Date Title
CN106575251A (zh) 流数据的推测数据处理
US7546333B2 (en) Methods and systems for predictive change management for access paths in networks
CN104272247B (zh) 元数据驱动的撤销方法和系统
US8775387B2 (en) Methods and systems for validating accessibility and currency of replicated data
CN108681565B (zh) 区块链数据并行处理方法、装置、设备和存储介质
CN104584524B (zh) 聚合中介系统中的数据
CN102272736B (zh) 提高资源监视数据的消费者系统和生产者系统之间的规模
CN102202087B (zh) 一种标识存储设备的方法及系统
CN106575244A (zh) 确保云应用的高可用性的修补过程
CN108900353A (zh) 故障告警方法及终端设备
CN109302495A (zh) 一种数据存储方法及装置
CN103136322B (zh) 用于配置查询的装置和方法
CN105074660B (zh) 部署数据‑路径相关插件
CN106537347A (zh) 在一个或多个网络上针对传输过程中的模式演进分发和处理流
CN102299814B (zh) 一种snmp代理上管理信息库的升级方法和系统
US11250420B2 (en) Transferring data using a smart reconciliation system
CN109951508A (zh) 基于Zookeeper的请求协调方法及装置、计算机设备及存储介质
CN112037055B (zh) 交易处理方法、装置、电子设备及可读存储介质
CN109462507A (zh) 配置更新方法、装置、系统及电子设备
CN103684841A (zh) 一种网管服务器和链路发现的比对方法
CN102298560A (zh) 设备管理装置、设备管理方法和设备管理系统
CN106506647A (zh) 一种客户端具有数据备份装置的智慧社区云存储系统
CN104516790B (zh) 一种分布式环境下检查点记录和恢复的系统及方法
CN115983991A (zh) 一种流程调整方法、装置、设备及介质
CN112506705B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200609

Termination date: 20210716

CF01 Termination of patent right due to non-payment of annual fee