CN110609822B - 数据流处理方法、设备和计算机程序产品 - Google Patents

数据流处理方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN110609822B
CN110609822B CN201810623466.5A CN201810623466A CN110609822B CN 110609822 B CN110609822 B CN 110609822B CN 201810623466 A CN201810623466 A CN 201810623466A CN 110609822 B CN110609822 B CN 110609822B
Authority
CN
China
Prior art keywords
data stream
processing
replica
data unit
snapshot
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
CN201810623466.5A
Other languages
English (en)
Other versions
CN110609822A (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.)
EMC Corp
Original Assignee
EMC IP Holding Co 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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810623466.5A priority Critical patent/CN110609822B/zh
Priority to US16/394,863 priority patent/US11157178B2/en
Publication of CN110609822A publication Critical patent/CN110609822A/zh
Application granted granted Critical
Publication of CN110609822B publication Critical patent/CN110609822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

本公开的实施例涉及一种数据流处理方法、设备和计算机程序产品。在此描述的方法包括响应于接收到来自第一数据源的第一输入数据流中的起始第一预定义标签,通过向处理过程的副本处理过程复制处理过程的状态来激活副本处理过程。该方法还包括由副本处理过程仅处理来自第二数据源的第二输入数据流中的在结尾第二预定义标签之前的数据单元,而不中断处理过程对第一输入数据流和第二输入数据流的处理。第二数据源不同于第一数据源。该方法还包括响应于接收到第二输入数据流中的结尾第二预定义标签,创建副本处理过程的快照用于处理过程的失效恢复。

Description

数据流处理方法、设备和计算机程序产品
技术领域
本公开的实施例涉及存储系统,并更为具体地涉及数据流处理方 法、设备和计算机程序产品。
背景技术
在大数据分析领域中,采用数据流处理来取代传统的基于批处理 的数据处理成为一种新趋势。相比于基于批处理的数据处理,数据流 处理可以以低延迟获得处理结果,并且能够处理无限的数据集。在数 据流处理期间,确保数据流中的数据单元刚好被处理一次以获得准确 的处理结果是非常重要的。某些应用场景要求以极低延迟获得处理结 果并同时保持数据单元刚好被处理一次的特性。然而,目前可用的系 统无法满足这一要求。
发明内容
本公开的实施例提供了数据流处理方法、设备以及计算机程序产 品。
在本公开的第一方面,提供了一种数据流处理方法。该方法包括 响应于接收到来自第一数据源的第一输入数据流中的起始第一预定 义标签,通过向处理过程的副本处理过程复制处理过程的状态来激活 副本处理过程。该方法还包括由副本处理过程仅处理来自第二数据源 的第二输入数据流中的在结尾第二预定义标签之前的数据单元,而不 中断处理过程对第一输入数据流和第二输入数据流的处理。第二数据 源不同于第一数据源。该方法还包括响应于接收到第二输入数据流中 的结尾第二预定义标签,创建副本处理过程的快照用于处理过程的失 效恢复。
在一些实施例中,处理过程对第一输入数据流和第二输入数据流 的处理包括:基于第一输入数据流中的数据单元和第二输入数据流中 的数据单元生成第一输出数据单元,第一输出数据单元包括标识位, 标识位被设置为第一状态以指示第一输出数据单元由处理过程生成。
在一些实施例中,由副本处理过程仅处理在结尾第二预定义标签 之前的数据单元包括:基于在结尾第二预定义标签之前的数据单元生 成第二输出数据单元,第二输出数据单元包括标识位,标识位被设置 为第二状态以指示第二输出数据单元由副本处理过程生成。
在一些实施例中,该方法进一步包括:向去往处理过程的后继处 理过程的输出数据流中依次添加起始第一预定义标签和结尾第二预 定义标签;以及在起始第一预定义标签和结尾第二预定义标签之间添 加第一输出数据单元和第二输出数据单元。
在一些实施例中,该方法进一步包括在创建快照之后,使副本处 理过程失效。
在本公开的第二方面,提供了一种数据流处理方法。该方法包括 响应于接收到来自处理过程的前序处理过程的数据流中的起始第一 预定义标签,通过向处理过程的副本处理过程复制处理过程的状态来 激活副本处理过程。该方法还包括基于数据流中的数据单元的标识位 的状态,确定由处理过程还是由副本处理过程来处理数据单元。该方 法还包括响应于接收到数据流中的结尾第二预定义标签,创建处理过 程的副本处理过程的快照用于处理过程的失效恢复。
在一些实施例中,基于数据单元的标识位的状态,确定由处理过 程还是由副本处理过程来处理数据单元包括:响应于检测到标识位的 第一状态,确定由处理过程处理数据单元,第一状态指示数据单元由 前序处理过程生成;以及响应于检测到标识位的第二状态,确定由副 本处理过程处理数据单元,第二状态指示数据单元由前序处理过程的 副本处理过程生成。
在一些实施例中,该方法进一步包括在创建快照之后,使副本处 理过程失效。
在本公开的第三方面,提供了一种电子设备。该设备包括至少一 个处理器、以及包括计算机程序指令的至少一个存储器。至少一个存 储器和计算机程序指令被配置为,与至少一个处理器一起,使得设备: 响应于接收到来自第一数据源的第一输入数据流中的起始第一预定 义标签,通过向处理过程的副本处理过程复制处理过程的状态来激活 副本处理过程;由副本处理过程仅处理来自第二数据源的第二输入数 据流中的在结尾第二预定义标签之前的数据单元,而不中断处理过程 对第一输入数据流和第二输入数据流的处理,第二数据源不同于第一 数据源;以及响应于接收到第二输入数据流中的结尾第二预定义标 签,创建副本处理过程的快照用于处理过程的失效恢复。
在本公开的第四方面,提供了一种电子设备。该设备包括至少一 个处理器、以及包括计算机程序指令的至少一个存储器。至少一个存 储器和计算机程序指令被配置为,与至少一个处理器一起,使得设备: 响应于接收到来自处理过程的前序处理过程的数据流中的起始第一 预定义标签,通过向处理过程的副本处理过程复制处理过程的状态来 激活副本处理过程;基于数据流中的数据单元的标识位的状态,确定 由处理过程还是由副本处理过程来处理数据单元;以及响应于接收到 数据流中的结尾第二预定义标签,创建处理过程的副本处理过程的快 照用于处理过程的失效恢复。
在本公开的第五方面,提供了一种计算机程序产品。该计算机程 序产品被有形地存储在非易失性计算机可读介质上并且包括机器可 执行指令。机器可执行指令在被执行时使机器执行根据第一方面的方 法的步骤。
在本公开的第六方面,提供了一种计算机程序产品。该计算机程 序产品被有形地存储在非易失性计算机可读介质上并且包括机器可 执行指令。机器可执行指令在被执行时使机器执行根据第二方面的方 法的步骤。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们 在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本 公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开 的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开 示例性实施例中,相同的参考标号通常代表相同部件。
图1a至图1c示出了传统方案中处理过程的快照创建过程的示意 图;
图2a至图2c示出了传统方案中处理过程的另一快照创建过程的 示意图;
图3示出了根据本公开的实施例的数据流处理的示意图;
图4示出了根据本公开的实施例的数据流处理方法的流程图;
图5示出了根据本公开的实施例的数据流处理中激活副本处理过 程的示意图;
图6示出了根据本公开的实施例的数据流处理中处理过程及其副 本处理过程的处理的示意图;
图7示出了根据本公开的实施例的数据流处理中处理过程及其副 本处理过程的处理的示意图;
图8示出了根据本公开的实施例的数据流处理中创建副本处理过 程的快照的示意图;
图9示出了根据本公开的实施例的数据流处理方法的流程图;
图10示出了根据本公开的实施例的数据流处理的示意图;以及
图11示出了可以被用来实施本公开的实施例的设备的示意性框 图。
贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相 似的组件。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中 显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本 公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为 了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给 本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包 括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基 于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实 施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至 少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同 的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在本文中使用的术语“数据流”是指数据单元的有序序列。该有 序序列可以是任意多个数据单元的无限序列。
在本文中使用的术语“预定义标签”是指在数据流中插入的特殊 数据单元,处理过程响应于接收到该特殊数据单元而执行预定义的操 作。
在本文中使用的术语“后继处理过程”是指其处理的开始需要在 另一处理过程完成之后的过程。在先完成的处理过程也被称作在后完 成的处理过程的“前序处理过程”。
目前,通常采用分布式处理系统来进行数据流处理。由于分布式 处理系统中用于执行数据流处理的硬件并不具有绝对的可靠性,因此 需要在处理过程中保存分布式处理系统的状态,以实现失效恢复。为 了保存分布式处理系统的状态,目前采用创建分布式快照的方式。
图1a至图1c示出了传统方案中处理过程的快照创建过程的示意 图。如图1a所示,分布式处理系统中的处理过程101从两个不同的 数据源分别接收第一数据流110和第二数据流120,对接收的数据流 进行处理,并向后继处理过程输出数据流130。第一数据流110包括 数据单元111至113的有序序列以及快照标签110a。第二数据流120 包括数据单元121至123的有序序列以及快照标签120a。
由于处理过程101对数据流110和120的处理速度不同,因此处 理过程101接收到数据流110和120中的快照标签的时间也不同。处 理过程101首先接收到数据流110中的快照标签110a。此后,处理过 程101暂停对数据流110中的在快照标签110a之后的数据单元111 至113的处理,并继续处理数据流120中的数据单元,直至接收到数 据流120中的快照标签120a。例如,如图1b所示,处理过程101对 数据流120中的数据单元121进行处理而获得数据单元131,并在输 出数据流130中输出数据单元131。
如图1c所示,当处理过程101接收到数据流120中的快照标签 120a时,处理过程101的快照140被创建,从而将处理过程101的状 态保存到永久存储器中。在快照140中可以记录数据流110中的数据 单元111的位置信息和数据流120中的数据单元123的位置信息。
此外,在处理过程101接收到数据流110中的快照标签110a并 且接收到数据流120中的快照标签120a后,处理过程101会将快照 标签110a和快照标签120a之一的副本110a’添加到去往后继处理过 程的输出数据流130中,如图1c所示。由此,处理过程101的后继 处理过程可以在接收到数据流130中的快照标签110a’后创建自身的 快照。以此方式,分布式处理系统中的各个处理过程可以在本地创建 自身的快照,从而可以周期性地获得整个处理的一致视图。当分布式 处理系统中的任何一个处理过程失效而重新启动时,可以利用处理过 程的快照,将处理过程的状态设置为创建快照时的状态,使得处理过 程可以从快照标签之后的数据单元(例如数据单元111和123)开始 继续进行处理。
处理过程101在一个快照标签后暂停对包含该快照标签的输入数 据流的处理、直至接收到所有输入数据流中的快照标签后再创建快照 的过程被称作输入数据流的同步过程。虽然该同步过程通常仅占用几 毫秒的时间,但是对于总是要求以极低延迟获得处理结果的应用场景 而言也是无法接受的。为了避免同步过程所带来的延迟,目前提出了 在不执行同步过程的情况下创建快照的方案,如下文参考图2a至图 2c所描述的。
如图2a所示,分布式处理系统中的处理过程201从第一数据源 接收第一数据流210以及从第二数据源接收第二数据流220,第一数 据源不同于第二数据源。第一数据流210包括数据单元211至213的 有序序列以及快照标签210a。第二数据流220包括数据单元221至 223的有序序列以及快照标签220a。处理过程201对接收的数据流210 和220进行处理而获得数据单元231至233,将数据单元231至233 添加到输出数据流230中,并向后继处理过程203输出。
处理过程202从第三数据源接收第三数据流240,第三数据源不 同于第一数据源和第二数据源。第三数据流240包括数据单元241至 243的有序序列以及快照标签240a。处理过程202对接收的数据流240 进行处理而获得数据单元251至253,将数据单元251至253添加到 输出数据流250中,并向后继处理过程203输出。
处理过程203对接收的数据流230和250进行处理,将处理结果 添加到输出数据流260中,并向后继处理过程(未示出)输出。
类似于图1a中的处理过程101,处理过程201接收到数据流210 和220中的快照标签的时间也不同。如图2a所示,处理过程201首 先接收到数据流210中的快照标签210a。此后,与图1a至图1c所示 的快照创建过程所不同的是,处理过程201并不暂停对数据流210中的在快照标签210a之后的数据单元的处理,而是继续处理数据流210 中的数据单元并且继续处理数据流220中的数据单元,以等待接收数 据流220中的快照标签220a。
例如,如图2b所示,处理过程201对数据流210中的在快照标 签210a之后的数据单元211进行处理而获得数据单元234,对数据流 220中的在快照标签220a之前的数据单元221进行处理而获得数据单 元235,将数据单元234和235添加到输出数据流230中,并向后继 处理过程203输出。此外,处理过程201还将快照标签210a的副本 (即,快照标签210a’)添加到输出数据流230中。
当处理过程201接收到数据流220中的快照标签220a时,处理 过程201的快照270被创建,从而将处理过程201的状态保存到永久 存储器中。在快照270中可以记录数据流210中的数据单元212的位 置信息和数据流220中的数据单元222的位置信息,从而可以在任何 一个处理过程失效而重新启动时,可以利用处理过程的快照,设置数 据源到处理过程的状态,使得处理过程可以从数据单元212和222开 始继续进行处理。
如图2c所示,当处理过程203接收到数据流230中的快照标签 210a’而没有接收到数据流250中的快照标签240a’时,类似于处理过 程201的处理,处理过程203也不暂停对数据流230中的在快照标签 210a’之后的数据单元236至238的处理,而是继续处理数据流230中的数据单元236至238并且继续处理数据流250中的数据单元252 至254,以等待接收数据流250中的快照标签240a’。
处理过程201在不执行同步过程的情况下创建快照的操作对其自 身并不会带来影响,而会影响其后继处理过程203的失效恢复过程。 处理过程201作为处理过程203的前驱处理过程,其快照270中已经 记录了对数据单元212和222之前的数据单元进行了处理。因而,在 对处理过程203进行失效恢复时,只要令处理过程201从数据单元212 和222开始继续进行处理,处理过程201便能在去往处理过程203的 数据流230中输出数据单元233至235,从而恢复处理过程203的处 理。然而,快照270中并没有记录数据单元235之后的数据单元236 至238是由数据流210和220中的哪些数据单元生成的。因此,在对 处理过程203进行失效恢复时,只能令处理过程201从数据单元212 和222开始继续进行处理,使得处理过程203不得不再次处理数据单 元236至238。由此,打破了数据流中的数据单元刚好被处理一次的 特性,导致最终的处理结果错误。
为了至少部分地解决上述问题以及其他潜在问题,本公开的实施 例提供了一种数据流处理方案。根据本公开的各种示例实施例,来自 每个数据源的输入数据流中被插入一对彼此紧邻的触发标签(也被称 作第一预定义标签)和快照标签(也被称作第二预定义标签)。处理 过程在接收到第一输入数据流中的第一个触发标签(也称作起始触发 标签)后,通过将自身的状态复制到处理过程的副本处理过程而激活 该副本处理过程。由副本处理过程仅处理第二输入数据流中的在结尾 快照标签之前的数据单元,而不中断处理过程对第一输入数据流和第 二输入数据流的处理。在从第二数据源接收到结尾快照标签后创建副 本处理过程的快照用于处理过程的失效恢复。
基于这样的数据流处理机制,处理过程在接收到起始触发标签后 不中断对第一输入数据流和第二输入数据流的处理,因而能够确保数 据流的连续处理,从而能够以极低延迟提供数据流处理服务。副本处 理过程仅处理第二输入数据流中的在结尾快照标签之前的数据单元 而没有处理第一输入数据流中的在起始触发标签之后的数据单元。因 而,在从第二数据源接收到结尾快照标签后创建的副本处理过程的快 照能够保持快照的语义。由此,在利用副本处理过程的快照对处理过 程进行失效恢复时,能够确保数据流中的任何数据单元被刚好处理一 次,避免了最终错误的处理结果。下面将参考图3至图10详细描述 根据本公开实施例的数据流处理方法。
图3示出了根据本公开的实施例的数据流处理的示意图。如图所 示,处理过程301从第一数据源接收第一输入数据流310以及从第二 数据源接收第二输入数据流320,第一数据源不同于第二数据源。作 为示例,第一输入数据流310可以包括温度数据流,第二输入数据流 320可以包括湿度数据流。当然,这仅为示例,根据具体应用场景, 第一输入数据流310和第二输入数据流320可以包括任意适当待处理 的数据流。
第一输入数据流310包括数据单元311至313的有序序列、触发 标签310a以及快照标签310b。触发标签310a紧邻快照标签310b并 且位于快照标签310b之前。第二输入数据流320包括数据单元321 至323的有序序列、触发标签320a以及快照标签320b。触发标签320a紧邻快照标签320b并且位于快照标签320b之前。处理过程301对接 收的数据流310和320进行处理而获得数据单元331,将数据单元331 添加到输出数据流330中,并向后继处理过程(未示出)输出。
应当理解,尽管图3中描绘了处理过程301对来自两个数据源的 输入数据流进行处理,但是该具体数目仅为示例,无意以任何方式限 定本公开的实施例的范围。在其他实施例中,处理过程301可以对来 自任何适当数目的数据源的数据流进行处理。
在一些实施例中,处理过程301可以在计算设备集群中的计算设 备上被执行。在其他实施例中,处理过程301可以在云环境中被执行。 备选地或附加地,处理过程301可以部分或者全部基于硬件来实现, 例如基于现场可编程门阵列(FPGA)来实现。本公开的范围在此方 面不受限制。
例如,由于第一数据源和第二数据源的采样时间不同或者处理过 程301对数据流310和320的处理速度不同,因此处理过程301接收 到数据流310和320中的触发标签和快照标签的时间也不同。如图3 所示,处理过程301首先接收到数据流310中的触发标签310a和快 照标签310b,随后才会接收到数据流320中的触发标签320a和快照 标签320b。在下文中,为了便于讨论,处理过程301所接收到的多个 触发标签中的第一个触发标签(例如触发标签310a)被称作“起始触 发标签”,处理过程301所接收到的多个快照标签中的最后一个快照 标签(例如快照标签320b)被称作“结尾快照标签”。
在一些实施例中,可以通过设置第一计数器和第二计数器来分别 对接收的触发标签和快照标签的数目进行计数,以便确定多个触发标 签中的起始触发标签和多个快照标签中的结尾快照标签。
起始触发标签指示处理过程301通过向副本处理过程复制处理过 程301的状态来激活处理过程301的副本处理过程。结尾快照标签指 示处理过程301创建副本处理过程的快照用于处理过程301的失效恢 复。在接收到起始触发标签以外的触发标签和结尾快照标签以外的快 照标签后,处理过程301并不执行相应操作,因此可以丢弃这些触发 标签和快照标签。
图4示出了根据本公开的一些实施例的数据流处理方法400的流 程图。图5至图8示出了根据本公开的实施例的数据流处理的示意图。 在一些实施例中,方法400可以通过图3中的处理过程301实现。应 当理解的是,方法300还可以包括未示出的附加步骤和/或可以省略所 示出的步骤,本公开的范围在此方面不受限制。为了方便讨论,将结 合图3以及图5至图8来讨论方法400。
在410,处理过程301在接收到来自第一数据源的第一输入数据 流310中的起始触发标签(例如触发标签310a)后,通过向处理过程 301的副本处理过程复制处理过程301的状态来激活副本处理过程。
例如,参考图5,处理过程301通过向处理过程301的副本处理 过程302复制处理过程301的状态来激活副本处理过程302。在图5 的示例中,处理过程301的处理状态为已经对第一输入数据流310中 的在触发标签310a之前的数据单元以及第二输入数据流310中的在数据单元321之前的数据单元进行了处理,经激活的副本处理过程 302同样具有该处理状态。然而,应当理解,此后由于处理过程301 及其副本处理过程302对不同的数据单元进行处理,因而二者的状态 将会不同。
在一些实施例中,在接收到起始触发标签310a后,处理过程301 可以向去往后继处理过程的输出数据流中添加该起始触发标签310a, 以便后继处理过程可以在接收到该起始触发标签310a后激活自身的 副本处理过程,如下文参考图9和图10所描述的。
继续参考图4,在420,由副本处理过程302仅处理第二输入数 据流320中的在结尾快照标签320b之前的数据单元,而不中断处理 过程301对第一输入数据流310和第二输入数据流320的处理。
处理过程301继续对第一输入数据流310中的在起始触发标签 310a之后的数据单元进行处理。例如,参考图6,处理过程301基于 在起始触发标签310a之后的数据单元311生成输出数据单元332,并 将输出数据单元332添加到去往后继处理过程的输出数据流330中。
此外,处理过程301继续对第二输入数据流320进行处理。例如, 参考图7,处理过程301基于第二输入数据流320中的在结尾快照标 签320b之前的数据单元321和322生成输出数据单元333和334,并 将输出数据单元333和334添加到去往后继处理过程的输出数据流 330中。
由于处理过程301在接收到起始触发标签310a后不中断对第一 输入数据流310和第二输入数据流320的处理,因而能够确保对数据 流的连续处理,从而能够以极低延迟提供数据流处理服务。
副本处理过程302并不对第一输入数据流310进行处理,而仅对 第二输入数据流320中的在结尾快照标签320b之前的数据单元进行 处理。例如,参考图7,副本处理过程302基于在结尾快照标签320b 之前的数据单元321和322生成输出数据单元3X1和3X2,并将输出 数据单元3X1和3X2添加到去往后继处理过程的输出数据流330中。
返回到图4,在430,处理过程301在接收到第二输入数据流320 中的结尾快照标签320b后创建副本处理过程302的快照,用于处理 过程301的失效恢复。
例如,参考图8,副本处理过程302的快照340被创建。副本处 理过程302仅处理第二输入数据流320中的在结尾快照标签320b之 前的数据单元而没有处理第一输入数据流310中的在起始触发标签 310a之后的数据单元。因而,在接收到结尾快照标签320b后创建的 副本处理过程302的快照340能够保持快照的语义。由此,在利用副 本处理过程302的快照340对处理过程301进行失效恢复时,能够确 保数据流中的任何数据单元被刚好处理一次,避免了最终错误的处理 结果。
由于处理过程301和副本处理过程302均对第二输入数据流320 中的在结尾快照标签320b之前的数据单元进行了处理而生成了各自 的输出数据单元,因此可以通过在输出数据单元中设置标识位来区分 输出数据单元的来源。例如,处理过程301可以将其所生成的数据单 元332、333和334中的标识位设置为第一状态,以指示该输出数据 单元是由自身生成的。类似地,副本处理过程302可以将其所生成的 数据单元3X1和3X2中的标识位设置为与第一状态不同的第二状态, 以指示该输出数据单元是由自身生成的。当然,以其他方式来自区分 输出数据单元的来源也是可行的,本公开实施例的范围在此方面不受 限制。
在一些实施例中,在创建了副本处理过程302的快照340之后, 可以使副本处理过程302失效,以避免副本处理过程继续消耗计算资 源。此外,可以理解,在创建了副本处理过程302的快照340之后, 处理过程301将继续对第一输入数据流310中的后续数据单元312至 314以及第二输入数据流320中的后续数据单元323至325进行处理。
在一些实施例中,在接收到结尾快照标签320b后,处理过程301 可以向去往后继处理过程的输出数据流中添加该结尾快照标签320b, 以便后继处理过程可以在接收到该结尾快照标签320b后创建自身的 副本处理过程的快照,如下文参考图9和图10所描述的。
如前所述,处理过程301的后继处理过程可以在接收到来自处理 过程301的数据流中的起始触发标签后激活自身的副本处理过程、以 及在接收到结尾快照标签后创建自身的副本处理过程的快照,下面将 参考图9和图10对此进行描述。
图9示出了根据本公开的其他实施例的数据流处理方法900的流 程图。图10示出了根据本公开的实施例的数据流处理的示意图。在 一些实施例中,方法900可以通过图3中的处理过程301的后继处理 过程实现。应当理解的是,方法900还可以包括未示出的附加步骤和 /或可以省略所示出的步骤,本公开的范围在此方面不受限制。为了方 便讨论,将结合图10来讨论方法900。
在910,处理过程在接收到来自处理过程的前序处理过程的数据 流中的起始触发标签后,通过向该处理过程的副本处理过程复制自身 的状态来激活其副本处理过程。
例如,参考图10,处理过程303接收来自其前序处理过程301的 数据流330。数据流330包括数据单元331至335、3X1和3X2的有 序序列、以及起始触发标签310a和结尾快照标签320b。在接收到起 始触发标签310a后,处理过程303通过向处理过程303的副本处理 过程304复制自身的状态来激活副本处理过程304。
在一些实施例中,处理过程303可以在计算设备集群中的计算设 备上被执行。在其他实施例中,处理过程303可以在云环境中被执行。 备选地或附加地,处理过程303可以部分或者全部基于硬件来实现, 例如基于现场可编程门阵列(FPGA)来实现。本公开的范围在此方 面不受限制。
继续参考图9,在920,处理过程基于数据流中的数据单元的标 识位的状态,确定由该处理过程还是由副本处理过程来处理该数据单 元。
例如,在图10的示例中,处理过程303基于数据流330中的数 据单元331至335、3X1和3X2的标识位的状态,确定由处理过程303 还是由副本处理过程304来处理该数据单元。如上文参考图8所描述 的,处理过程301可以将其所生成的数据单元332、333和334中的 标识位设置为第一状态,以指示该输出数据单元是由自身生成的。类 似地,副本处理过程302可以将其所生成的数据单元3X1和3X2中 的标识位设置为与第一状态不同的第二状态,以指示该输出数据单元 是由自身生成的。由此,如果处理过程303检测到数据单元331至335的标识位的第一状态,则可以确定由自身来处理这些数据单元。如果 处理过程303检测到数据单元3X1和3X2的标识位的第二状态,则 可以确定由副本处理过程304来处理这些数据单元。
返回到图9,在930,处理过程在接收到数据流中的结尾快照标 签后创建处理过程的副本处理过程的快照用于处理过程的失效恢复。
例如,在图10的示例中,处理过程303在接收到数据流330中 的结尾快照标签后创建副本处理过程304的快照用于处理过程303的 失效恢复。
在本公开的实施例中,处理过程303仅处理由其前序处理过程 301生成的输出数据单元,而其副本处理过程304仅处理由前序处理 过程301的副本处理过程302生成的输出数据单元。因而,在接收到 结尾快照标签320b后创建的副本处理过程304的快照能够保持快照 的语义。由此,在利用副本处理过程304的快照对处理过程303进行 失效恢复时,能够确保数据流中的任何数据单元被刚好处理一次,避 免了最终错误的处理结果。
在一些实施例中,在创建了副本处理过程304的快照之后,可以 使副本处理过程304失效,以避免副本处理过程继续消耗计算资源。
图11示意性地示出了一种可以被用来实施本公开的实施例的设 备1100的框图。如图11中所示出的,设备1100包括中央处理单元 (CPU)1101,其可以根据存储在只读存储设备(ROM)1102中的 计算机程序指令或者从存储单元1108加载到随机访问存储设备(RAM)1103中的计算机程序指令,来执行各种适当的动作和处理。 在RAM 1103中,还可存储设备1100操作所需的各种程序和数据。 CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输 入/输出(I/O)接口1105也连接至总线1104。
设备1100中的多个部件连接至I/O接口1105,包括:输入单元 1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、 扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109, 例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备 交换信息/数据。
上文所描述的各个过程和处理,例如方法400、900,可由处理单 元1101来执行。例如,在一些实施例中,方法400、900可被实现为 计算机软件程序,其被有形地包含于机器可读介质,例如存储单元 1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算 机程序被加载到RAM1103并由CPU 1101执行时,可以执行上文描 述的方法400、900的一个或多个步骤。
如本文所使用的,术语“包括”及其类似用语应当理解为开放性 包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地 基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个 实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对 象。本文还可能包括其他明确的和隐含的定义。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确 定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、 数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括 接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。 此外,“确定”可以包括解析、选择、选取、建立等。
应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件 的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存 储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计 硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用 计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编 程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样 的代码。
此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但 是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必 须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的 步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多 个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。 还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个 装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步 划分为由多个装置来具体化。
虽然已经参考若干具体实施例描述了本公开,但是应当理解,本 公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精 神和范围内所包括的各种修改和等效布置。

Claims (18)

1.一种数据流处理方法,包括:
响应于接收到来自第一数据源的第一输入数据流中的起始第一预定义标签,通过向处理过程的副本处理过程复制所述处理过程的状态来激活所述副本处理过程;
由所述副本处理过程仅处理来自第二数据源的第二输入数据流中的在结尾第二预定义标签之前的数据单元,而不中断所述处理过程对所述第一输入数据流和所述第二输入数据流的处理,所述第二数据源不同于所述第一数据源;以及
响应于接收到所述第二输入数据流中的所述结尾第二预定义标签,创建所述副本处理过程的快照用于所述处理过程的失效恢复。
2.根据权利要求1所述的方法,其中所述处理过程对所述第一输入数据流和所述第二输入数据流的处理包括:
基于所述第一输入数据流中的数据单元和所述第二输入数据流中的数据单元生成第一输出数据单元,所述第一输出数据单元包括标识位,所述标识位被设置为第一状态以指示所述第一输出数据单元由所述处理过程生成。
3.根据权利要求2所述的方法,其中由所述副本处理过程仅处理在所述结尾第二预定义标签之前的所述数据单元包括:
基于在所述结尾第二预定义标签之前的所述数据单元生成第二输出数据单元,所述第二输出数据单元包括所述标识位,所述标识位被设置为第二状态以指示所述第二输出数据单元由所述副本处理过程生成。
4.根据权利要求3所述的方法,进一步包括:
向去往所述处理过程的后继处理过程的输出数据流中依次添加所述起始第一预定义标签和所述结尾第二预定义标签;以及
在所述起始第一预定义标签和所述结尾第二预定义标签之间添加所述第一输出数据单元和所述第二输出数据单元。
5.根据权利要求1所述的方法,进一步包括:
在创建所述快照之后,使所述副本处理过程失效。
6.一种数据流处理方法,包括:
响应于接收到来自处理过程的前序处理过程的数据流中的起始第一预定义标签,通过向所述处理过程的副本处理过程复制所述处理过程的状态来激活所述副本处理过程;
基于所述数据流中的数据单元的标识位的状态,确定由所述处理过程还是由所述副本处理过程来处理所述数据单元;以及
响应于接收到所述数据流中的结尾第二预定义标签,创建所述处理过程的所述副本处理过程的快照用于所述处理过程的失效恢复。
7.根据权利要求6所述的方法,其中基于所述数据单元的所述标识位的所述状态,确定由所述处理过程还是由所述副本处理过程来处理所述数据单元包括:
响应于检测到所述标识位的第一状态,确定由所述处理过程处理所述数据单元,所述第一状态指示所述数据单元由所述前序处理过程生成;以及
响应于检测到所述标识位的第二状态,确定由所述副本处理过程处理所述数据单元,所述第二状态指示所述数据单元由所述前序处理过程的副本处理过程生成。
8.根据权利要求6所述的方法,进一步包括:
在创建所述快照之后,使所述副本处理过程失效。
9.一种电子设备,包括:
至少一个处理器;以及
包括计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述设备:
响应于接收到来自第一数据源的第一输入数据流中的起始第一预定义标签,通过向处理过程的副本处理过程复制所述处理过程的状态来激活所述副本处理过程;
由所述副本处理过程仅处理来自第二数据源的第二输入数据流中的在结尾第二预定义标签之前的数据单元,而不中断所述处理过程对所述第一输入数据流和所述第二输入数据流的处理,所述第二数据源不同于所述第一数据源;以及
响应于接收到所述第二输入数据流中的所述结尾第二预定义标签,创建所述副本处理过程的快照用于所述处理过程的失效恢复。
10.根据权利要求9所述的电子设备,其中所述处理过程对所述第一输入数据流和所述第二输入数据流的处理包括:
基于所述第一输入数据流中的数据单元和所述第二输入数据流中的数据单元生成第一输出数据单元,所述第一输出数据单元包括标识位,所述标识位被设置为第一状态以指示所述第一输出数据单元由所述处理过程生成。
11.根据权利要求10所述的电子设备,其中由所述副本处理过程仅处理在所述结尾第二预定义标签之前的所述数据单元包括:
基于在所述结尾第二预定义标签之前的所述数据单元生成第二输出数据单元,所述第二输出数据单元包括所述标识位,所述标识位被设置为第二状态以指示所述第二输出数据单元由所述副本处理过程生成。
12.根据权利要求11所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,进一步使得所述设备:
向去往所述处理过程的后继处理过程的输出数据流中依次添加所述起始第一预定义标签和所述结尾第二预定义标签;以及
在所述起始第一预定义标签和所述结尾第二预定义标签之间添加所述第一输出数据单元和所述第二输出数据单元。
13.根据权利要求9所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,进一步使得所述设备:
在创建所述快照之后,使所述副本处理过程失效。
14.一种电子设备,包括:
至少一个处理器;以及
包括计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述设备:
响应于接收到来自处理过程的前序处理过程的数据流中的起始第一预定义标签,通过向所述处理过程的副本处理过程复制所述处理过程的状态来激活所述副本处理过程;
基于所述数据流中的数据单元的标识位的状态,确定由所述处理过程还是由所述副本处理过程来处理所述数据单元;以及
响应于接收到所述数据流中的结尾第二预定义标签,创建所述处理过程的所述副本处理过程的快照用于所述处理过程的失效恢复。
15.根据权利要求14所述的电子设备,其中基于所述数据单元的所述标识位的所述状态,确定由所述处理过程还是由所述副本处理过程来处理所述数据单元包括:
响应于检测到所述标识位的第一状态,确定由所述处理过程处理所述数据单元,所述第一状态指示所述数据单元由所述前序处理过程生成;以及
响应于检测到所述标识位的第二状态,确定由所述副本处理过程处理所述数据单元,所述第二状态指示所述数据单元由所述前序处理过程的副本处理过程生成。
16.根据权利要求14所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,进一步使得所述设备:
在创建所述快照之后,使所述副本处理过程失效。
17.一种非瞬态计算机可读介质,所述非瞬态计算机可读介质具有存储于其上的计算机可读指令集合,所述计算机可读指令集合在由至少一个处理器执行时使设备执行根据权利要求1至5中任一项所述的方法。
18.一种非瞬态计算机可读介质,所述非瞬态计算机可读介质具有存储于其上的计算机可读指令集合,所述计算机可读指令集合在由至少一个处理器执行时使设备执行根据权利要求6至8中任一项所述的方法。
CN201810623466.5A 2018-06-15 2018-06-15 数据流处理方法、设备和计算机程序产品 Active CN110609822B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810623466.5A CN110609822B (zh) 2018-06-15 2018-06-15 数据流处理方法、设备和计算机程序产品
US16/394,863 US11157178B2 (en) 2018-06-15 2019-04-25 Method, device and computer program product for data stream processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810623466.5A CN110609822B (zh) 2018-06-15 2018-06-15 数据流处理方法、设备和计算机程序产品

Publications (2)

Publication Number Publication Date
CN110609822A CN110609822A (zh) 2019-12-24
CN110609822B true CN110609822B (zh) 2023-02-28

Family

ID=68839495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810623466.5A Active CN110609822B (zh) 2018-06-15 2018-06-15 数据流处理方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11157178B2 (zh)
CN (1) CN110609822B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112417522A (zh) * 2020-12-01 2021-02-26 北京华大智宝电子系统有限公司 一种数据处理方法、安全芯片装置和嵌入式系统
JP2022152813A (ja) * 2021-03-29 2022-10-12 富士通株式会社 データ処理プログラム、情報処理システム及びデータ処理方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1602469A (zh) * 2001-12-14 2005-03-30 皇家飞利浦电子股份有限公司 用在多处理器数据处理系统中的数据处理方法和相应的数据处理系统
CN101013362A (zh) * 2004-10-01 2007-08-08 微软公司 用于设计工作流的可扩展框架
CN101091217A (zh) * 2005-10-17 2007-12-19 株式会社东芝 信息存储介质、信息再现设备、和信息再现方法
CN101512495A (zh) * 2006-09-07 2009-08-19 国际商业机器公司 用于改进的同步数据镜像交换的装置、系统和方法
CN101911564A (zh) * 2008-01-02 2010-12-08 思科技术公司 分组差错处理
CN102804206A (zh) * 2009-05-04 2012-11-28 奥布隆工业有限公司 包括数据表示、操作和交换的基于姿势的控制系统
US9015121B1 (en) * 2013-01-15 2015-04-21 Emc Corporation Unified virtual machine and data storage snapshots
CN106933698A (zh) * 2015-12-29 2017-07-07 伊姆西公司 一种用于存储系统的方法和装置
US9823973B1 (en) * 2014-12-22 2017-11-21 EMC IP Holding Company LLC Creating consistent snapshots in a virtualized environment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643654B1 (en) * 2001-06-25 2003-11-04 Network Appliance, Inc. System and method for representing named data streams within an on-disk structure of a file system
US7020800B2 (en) * 2002-01-24 2006-03-28 Hewlett-Packard Development Company L.P. System and method for memory failure recovery using lockstep processes
US7216135B2 (en) * 2002-02-15 2007-05-08 International Business Machines Corporation File system for providing access to a snapshot dataset where disk address in the inode is equal to a ditto address for indicating that the disk address is invalid disk address
JP2003280964A (ja) * 2002-03-22 2003-10-03 Hitachi Ltd スナップショット取得方法、ストレージシステム及びディスク装置
EP1967002B1 (en) * 2005-12-23 2011-07-13 Koninklijke Philips Electronics N.V. A device for and a method of processing a data stream
US7680836B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US8935206B2 (en) * 2007-01-31 2015-01-13 Hewlett-Packard Development Company, L.P. Snapshots in distributed storage systems
US7882068B2 (en) * 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US10255141B2 (en) * 2015-10-22 2019-04-09 Oracle International Corporation Event batching, output sequencing, and log based state storage in continuous query processing

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1602469A (zh) * 2001-12-14 2005-03-30 皇家飞利浦电子股份有限公司 用在多处理器数据处理系统中的数据处理方法和相应的数据处理系统
CN101013362A (zh) * 2004-10-01 2007-08-08 微软公司 用于设计工作流的可扩展框架
CN101091217A (zh) * 2005-10-17 2007-12-19 株式会社东芝 信息存储介质、信息再现设备、和信息再现方法
CN101512495A (zh) * 2006-09-07 2009-08-19 国际商业机器公司 用于改进的同步数据镜像交换的装置、系统和方法
CN101911564A (zh) * 2008-01-02 2010-12-08 思科技术公司 分组差错处理
CN102804206A (zh) * 2009-05-04 2012-11-28 奥布隆工业有限公司 包括数据表示、操作和交换的基于姿势的控制系统
US9015121B1 (en) * 2013-01-15 2015-04-21 Emc Corporation Unified virtual machine and data storage snapshots
US9823973B1 (en) * 2014-12-22 2017-11-21 EMC IP Holding Company LLC Creating consistent snapshots in a virtualized environment
CN106933698A (zh) * 2015-12-29 2017-07-07 伊姆西公司 一种用于存储系统的方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Placement strategies for internet-scale data stream systems;Geetika T. Lakshmanan等;《IEEE Internet Computing》;20081111;第12卷(第6期);第50-60页 *
不同数据源之间数据同步的几种实现方式;iteye_14323;《https://blog.csdn.net/iteye_14323/article/details/82040636》;20110402;第1页 *
智慧协同网络下基于需求感知的资源适配方法研究;徐雅琨;《中国博士学位论文全文数据库信息科技辑》;20170915(第9期);第I139-1页 *
电气化铁道远动系统数据采集与功能实现的分析与设计;吴改燕;《中国优秀硕士学位论文全文数据库信息科技辑》;20120915(第9期);第I140-383页 *

Also Published As

Publication number Publication date
US11157178B2 (en) 2021-10-26
CN110609822A (zh) 2019-12-24
US20190384502A1 (en) 2019-12-19

Similar Documents

Publication Publication Date Title
CN106572173B (zh) 一种配置信息更新方法、装置和系统
US9800685B2 (en) Automatic data request recovery after session failure
US20170351435A1 (en) Data synchronization methid, apparatus, and system
US20200019543A1 (en) Method, apparatus and device for updating data, and medium
US9465685B2 (en) Identifying solutions to application execution problems in distributed computing environments
CN108959199B (zh) 一种日志的突出显示方法、装置、存储介质及安卓终端
CN110750592B (zh) 数据同步的方法、装置和终端设备
US20210256015A1 (en) Blockchain-based data processing method and apparatus, device, and medium
CN110609822B (zh) 数据流处理方法、设备和计算机程序产品
US20220188214A1 (en) Dynamic distributed tracing instrumentation in a microservice architecture
US20070118597A1 (en) Processing proposed changes to data
US9043283B2 (en) Opportunistic database duplex operations
CN112100070A (zh) 版本缺陷的检测方法、装置、服务器及存储介质
CN112835885A (zh) 一种分布式表格存储的处理方法、装置及系统
CN113315750B (zh) 一种Kafka消息发布方法、装置及存储介质
US20180060273A1 (en) Disk access operation recovery techniques
JP2007206955A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
CN111200654A (zh) 客户端请求错误处理方法及装置
CN105760283A (zh) 一种日志输出方法和装置
CN112261072B (zh) 一种服务调用方法、装置、设备和存储介质
CN110085237B (zh) 交互过程的恢复方法、装置及设备
EP3289544A1 (en) Insertion of unsaved content via content channel
CN105574020B (zh) 一种数据库操作方法和装置
WO2022022446A1 (zh) 一种打印日志的方法、装置及系统
CN112559243B (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