CN106294357B - 数据处理方法和流计算系统 - Google Patents
数据处理方法和流计算系统 Download PDFInfo
- Publication number
- CN106294357B CN106294357B CN201510246697.5A CN201510246697A CN106294357B CN 106294357 B CN106294357 B CN 106294357B CN 201510246697 A CN201510246697 A CN 201510246697A CN 106294357 B CN106294357 B CN 106294357B
- Authority
- CN
- China
- Prior art keywords
- data
- checkpoint
- valid data
- processing module
- valid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种数据处理方法和流计算系统,该数据处理方法包括数据接收模块接收到要处理的数据后,将所述数据写入文件系统中,并在所述数据被写入文件系统后,发送所述数据给逻辑处理模块;逻辑处理模块根据对数据的接收情况获取有效数据,并且,定期对预设的检查点进行更新;以及,在发生失效转移时,确定最新的检查点,获取与所述最新的检查点对应的有效数据,并恢复所述有效数据。该方法能够满足对外服务化的诉求,以及在发生失效转移时避免数据源头重发。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法和流计算系统。
背景技术
流计算是指利用分布式的思想和方法,对海量“流”式数据进行实时处理,它源自对海量数据“时效”价值上的挖掘诉求。流计算针对的数据可以称为流数据,流数据是没有边界的、未知的,而计算是事先定义(已知)的,流计算系统按照已定义的计算逻辑来处理流数据。
现在最常用的流计算系统是Storm,在实际应用中常常和消息中间件(如Kafka)或存储系统(如HBase)结合,通过拉数据模式来获取数据,其缺点在于和消息中间件紧耦合,难以满足对外服务化的诉求。此外,Storm在失效转移(Failover)时,采用“源头重发”的消息机制,这种方式的缺点是故障恢复代价高,在某些场景下可能会造成雪崩效应,集群规模在水平扩展性上有较多局限。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的一个目的在于提出一种数据处理方法,该方法在处理流数据时可以满足对外服务化的诉求,以及在发生失效转移时避免数据源头重发。
本申请的另一个目的在于提出一种流计算系统。
为达到上述目的,本申请第一方面实施例提出的数据处理方法,包括:数据接收模块接收到要处理的数据后,将所述数据写入文件系统中,并在所述数据被写入文件系统后,发送所述数据给逻辑处理模块;逻辑处理模块根据对数据的接收情况获取有效数据,并且,定期对预设的检查点进行更新;以及,在发生失效转移时,确定最新的检查点,获取与所述最新的检查点对应的有效数据,并恢复所述有效数据。
本申请第一方面实施例提出的数据处理方法,通过不设置消息中间件,从而满足对外服务化的诉求;通过将数据写入文件系统中,实现数据落地,进而实现数据与后续的流计算分离,落地的数据可以应用到其他系统;通过记录检查点和有效数据,可以在发生失效转移时,恢复相应的有效数据,避免数据源头重发。
为达到上述目的,本申请第二方面实施例提出的流计算系统,包括:数据接收模块和逻辑处理模块;所述数据接收模块用于接收到要处理的数据后,将所述数据写入文件系统中,并在所述数据被写入文件系统后,发送所述数据给逻辑处理模块;所述逻辑处理模块用于根据对数据的接收情况获取有效数据,并且,定期对预设的检查点进行更新;以及,在发生失效转移时,确定最新的检查点,获取与所述最新的检查点对应的有效数据,并恢复所述有效数据。
本申请第二方面实施例提出的流计算系统,通过不设置消息中间件,从而满足对外服务化的诉求;通过将数据写入文件系统中,实现数据落地,进而实现数据与后续的流计算分离,落地的数据可以应用到其他系统;通过记录检查点和有效数据,可以在发生失效转移时,恢复相应的有效数据,避免数据源头重发。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请一实施例提出的数据处理方法的流程示意图;
图2是本申请另一实施例提出的数据处理方法的流程示意图;
图3是图2对应的流计算系统的结构示意图;
图4是本申请实施例中检查点的示意图;
图5是本申请另一实施例提出的流计算系统的结果示意图;
图6是本申请另一实施例提出的流计算系统的结果示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本申请一实施例提出的数据处理方法的流程示意图,该方法可以应用到流计算系统中,用于流数据的处理,该方法包括:
S11:数据接收模块接收到要处理的数据后,将所述数据写入文件系统中,并在所述数据被写入文件系统后,发送所述数据给逻辑处理模块。
要处理的数据可以是流数据。
文件系统可以具体是指分布式文件系统,分布式文件系统(Distributed FileSystem)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。
现有技术中,流数据通过消息中间件传输给流计算系统,而本实施例中,没有设置消息中间件,支持两种数据接入方式,一种是推,用户从自己的数据源,通过Restful API把数据推(push)过来,此时逻辑由用户在外部实现;另一种是拉,此时用户只需要在自己的数据源开放拉数据的接口,在本系统的拓扑(topology)中实现拉数据的逻辑即可获取数据。无论哪种方式都不依赖特定的消息中间件,不同用户可以使用不同的数据来源。数据接收模块通过提供Restful API实现对外服务。
另外,本实施例通过将数据写入文件系统中,可以实现数据落地,写入文件系统中的数据还可以用于其他系统,例如,写入文件系统的数据作为批量计算的源数据。
数据接收模块在将数据写入文件系统后,将数据发送给逻辑处理模块进行具体的流计算。
可选的,所述将所述数据写入文件系统中,包括:
将所述数据以记录为粒度进行划分,得到至少一条记录,并为每条记录生成版本号,以及将所述记录与所述版本号对应写入文件系统中。
可选的,所述发送所述数据给逻辑处理模块,包括:
将所述数据以块为粒度进行划分,得到至少一个块,并为每个块生成块标识,以及将所述块与所述块标识对应发送给逻辑处理模块,其中,每个块包括至少一条记录。
S12:逻辑处理模块根据对数据的接收情况获取有效数据,并且,定期对预设的检查点进行更新;以及,在发生失效转移时,确定最新的检查点,获取与所述最新的检查点对应的有效数据,并恢复所述有效数据。
其中,有效数据是指未发生丢失且不重复(简称为不丢不重)的数据。
接收情况可以包括:接收到未发生丢失且不重复的数据,发生数据丢失或者发生数据重复。其中,当发生数据丢失时,可以通过补数据保证不丢失,发生数据重复时,通过数据去重保证不重复。
可选的,所述根据对数据的接收情况获取有效数据,包括:
判断是否发生数据丢失和数据重复中的至少一项;
如果未发生数据丢失和数据重复中的任一项,则将接收的未丢失且不重复的数据,确定为有效数据;
如果发生数据丢失和数据重复中的至少一项,则对应执行如下项中的至少一项,并将处理后的数据确定为有效数据:
如果发生数据丢失,则确定丢失的版本号,并从所述文件系统中补入所述丢失的版本号对应的数据;
如果发生数据重复,则去掉重复的数据。
可选的,所述记录所述有效数据,包括:
将所述有效数据记录在重做日志文件中,所述重做日志文件中还包含所述有效数据对应的重做日志文件元数据;
且,所述检查点中包含重做日志文件元数据;
所述获取与所述最新的检查点对应的有效数据,包括:
根据所述最新的检查点中包含的重做日志文件元数据,从所述重做日志文件中,获取与所述重做日志文件元数据对应的有效数据。
具体的,本实施例中可以设置检查点(CheckPoint),检查点中可以记录重做日志文件元数据(RedoLogMeta),以及有效数据可以记录在重做日志文件(RedoLog)中,并与RedoLogMeta对应记录。因此,在发生失效转移(Failover)时,可以先查找到CheckPoint中记录的RedoLogMeta,再在RedoLog中查找到与查找到的RedoLogMeta对应的有效数据,并恢复查找到的有效数据,从而可以避免源头重发。
本实施例中,通过不设置消息中间件,从而满足对外服务化的诉求;通过将数据写入文件系统中,实现数据落地,进而实现数据与后续的流计算分离,落地的数据可以应用到其他系统;通过记录检查点和有效数据,可以在发生失效转移时,恢复相应的有效数据,避免数据源头重发。
图2是本申请另一实施例提出的数据处理方法的流程示意图,图3是图2对应的流计算系统的结构示意图。
通常流计算系统包括作为前端(frontend)的超文本传输协议(HyperTextTransfer Protocol,HTTP)服务器,以及作为后端(backend)的用于处理数据以及应用逻辑的服务器。
本实施例中主要针对用于处理数据以及应用逻辑的服务器进行优化,因此,为了简化说明,本实施例中的流计算系统具体是指用于处理数据以及应用逻辑的服务器。
本实施例的流计算系统可以包括数据接收模块和逻辑处理模块,数据接收模块和逻辑处理模块可以由软件实现,当然,可以理解的是,该软件也可以基于硬件资源安装以及运行。参见图3,数据接收模块用Shard 31表示,逻辑处理模块包括:AppContainer 32和Processors 33。AppContainer(作业容器)包含多个Task运行实例,Processors(处理器组)包含多个Processor(处理器),每个Processor对应一个Task运行实例,Task是数据和应用逻辑处理的抽象单元。
另外,参见图3,流计算系统还包括:分布式文件系统34。
流计算中,每个应用实现的计算逻辑称为拓扑(Topology),一个Topology可以包含多级任务(Task),Task是流计算中的逻辑处理单元,一个Task可以有多个物理运行实例(instance)。
本实施例的流计算系统支持多级Task,由于通常首级Task处理的数据格式和处理逻辑比较特殊,因此,本实施例中,将Task分为首级Task和非首级Task,相应的,逻辑处理模块分为用于处理首级Task的逻辑处理模块和用于处理非首级Task的逻辑处理模块。如图3所示,用于处理首级Task的逻辑处理模块用AppContainer表示,用于处理非首级Task的逻辑处理模块用Processors表示。
数据处理涉及三个功能组件:Shard、AppContainer和Processors。Shard用于接收客户端数据,它先把数据写到分布式文件系统中,保证数据正常落地(这一层落地的数据同时可以用于其他服务,比如离线计算),然后再发送给AppContainer。一个AppContainer包含一个或多个Task的运行实例。Task是流计算中的逻辑处理单元,一个Task可以有多个物理运行实例(Instance)。由于首级Task处理的数据格式和处理逻辑的特殊性,所以把它和其他Task区别开。其他的Task都在功能模块Processors中。每个Processor接收到数据后,会先写RedoLog(通常称为重做日志文件),该RedoLog类似于传统数据库的RedoLog,它包含数据及其元信息,可以在发生失效转移(failover)时用于恢复系统,再把数据发给Task执行计算处理。Task之间的数据流称为Pipe(数据管道)。
参见图2,本实施例的数据处理流程包括:
S201:Shard接收到数据后,为数据分配版本号,并将数据与版本号对应写入分布式文件系统中。
其中,数据可以具体是指流数据,参见图3,流数据可以来自上游业务。
版本号可以用<BatchID,SequenceID>表示。BatchID和时间轴相关,比如每100ms递增一次,SequenceID表示一条记录在这个Batch中的序号。分布式文件系统中,可以以记录(record)为粒度记录数据,每条记录由一个版本号<BatchID,SequenceID>唯一标识。
S202:Shard将数据写入分布式文件系统后,将数据发送给AppContainer。
本实施例中,Shard将数据发送给AppContainer时,可以以块(Block)为单位进行数据传输,每个块包括一条或者多条记录(record),每个块对应唯一的块标识(BlockID)。
Shard在传输数据之前,可以将一条或多条记录封装为一个数据块(Block)(以下可以简称为块),并为每个块分配唯一的块标识。Shard还可以维护一个块缓存(BlockBuffer),块缓存用于缓存数据块,例如,Shard在将数据封装为块后,可以将块(Block)缓存到内存中,后台线程会不断读取缓存到内存中的块并广播发给AppContainer。
Shard先把数据写到分布式文件系统中,落地成功后再发给流计算处理,这种方式可以实现数据落地和流计算处理分离,保证数据正常落地,不会受到后续流计算的影响(比如系统Failover)。
S203:AppContainer获取不丢不重的数据后,发送给本机的Task进行处理。
其中,AppContainer会保存已接收的最新块标识(LatestBlockID),当接收到的BlockID<=LatestBlockID时,它会判断该Block为重复数据,直接丢弃,保证数据不重。
BlockID是连续值,当BlockID>LatestBlockID+1时,则表示中间数据丢失(在两种情况下会发生,一是buffer满时会丢掉部分数据,二是网络异常),AppContainer会通过读取Shard落地的数据来补数据,保证数据不丢。例如,AppContainer接收的数据不仅包括BlockID,还包括版本号<BatchID,SequenceID>,在发现数据丢失后,可以先确定丢失数据的<BatchID,SequenceID>,之后再从分布式文件系统中获取丢失数据的<BatchID,SequenceID>对应的数据,实现补数据。
AppContainer可以通过文件句柄将不丢不重的数据发送给本机的Task。
S204:Task对数据进行处理,把处理后的需要发送给下一级Task的数据向上发送给Appcontainer。
由于系统对外服务,Task中运行着用户代码,为了保证系统安全,Task是在受限的沙箱环境中运行,禁止访问网络,所以每级Task是通过把数据向上发送给本机的AppContainer或Processor进行中转,再发送给下一级Task。
由于Task的数据是来自本机的AppContainer,在AppContainer保证数据不丢后,Task也可以保证数据不丢,该步骤只需再保证数据不重。Task会持有已接收的最新版本号<LatestBatchID,LastetSequenceID>。类似地,通过比较接收到版本号的和最新版本号,可以判断数据是否重复并去重。
S205:如果下一级Task位于processor内,AppContainer将数据发送给Processor。
S206:Processor对数据进行去重处理,把去重后的数据写入分布式文件系统内的RedoLog中。
由于对一条记录的处理,系统支持输出多条记录,因此对版本号添加一个标记OutputID,即版本号<BatchID,SequenceID,OutputID>可以唯一标识输出的一条数据。Processor保存了最新的版本号<LatestBatchID,LatestSequenceID,LatestOutputID>,在接收到数据后,它会先通过版本号进行去重,然后写RedoLog。
另外,Shard在写数据时,具体也可以是写入分布式文件系统内的Shard对应的RedoLog中。
Processor保存了接收到的数据的<BatchID,SequenceID,OutputID>,这个三元组是有序递增的。当Processor接收数据时,会先通过版本号<BatchID,SequenceID,OutputID>判断数据是否重复,如果重复则丢弃,保证不重;如果是新数据,则会把数据写到分布式文件系统中,然后返回给AppContainer成功,保证不丢。基于以上分析,RedoLog可以保证数据不丢不重。
S207:Processor在将数据写入RedoLog后,将数据发送给本机的Task进行处理。
另外,在发生失效转移(Failover)时,如果Processor发现数据丢失,则可以从之前记录的RedoLog中读取数据。
S208:Task对数据进行处理,把处理后的需要发送给下一级Task的数据向上发送给Processor。
S209:如果下一级Task位于Processor内,Processor将数据发送给下一级的Processor。
S207-S209的具体内容可以参照AppContainer的流程类似处理。
需要说明的是,由于Task是运行在AppContainer或Processor中的,因此,本实施例中接收到数据并将数据发送给本机Task的AppContainer可以具体是指AppContainer内的父进程(或者称为父单元),AppContainer内的Task是子进程(或者称为子单元),类似的,接收到数据并将数据发送给本机Task的Processor可以具体是指Processor内的父进程(或者称为父单元),Processor内的task是子进程(或者称为子单元)。
另外,在上述的数据处理过程中,Shard会定时写CheckPoint,比如Shard的CheckPoint信息如下:
另外,逻辑处理模块内部包括父单元和子单元,例如,上述的AppContainer是父单元,AppContainer内的Task是对应AppContainer的子单元,上述的Processor是父单元,Processor内的Task是对应Processor的子单元。
对应父单元,所述定期对预设的检查点进行更新,包括:
定期生成检查点,并判断是否需要对生成的检查点进行持久化;
如果确定需要对生成的检查点进行持久化,将预设的检查点更新为需要持久化的检查点。
可选的,在记录所述有效数据时还记录所述有效数据的版本号,所述版本号包括批编号,所述判断是否需要对生成的检查点进行持久化,包括:
获取第一批编号和第二批编号,所述第一批编号是所述父单元自身记录的最新的有效数据的批编号,所述第二批编号是所述子单元记录的最新的有效数据的批编号;
如果所述第一批编号小于或等于所述第二批编号,确定需要对生成的检查点进行持久化。
可选的,当所述第一批编号大于所述第二批编号时,所述方法还包括:
所述父单元在恢复自身的有效数据后,继续获取新数据,并将所述新数据发送给所述子单元;
所述子单元在恢复自身的有效数据后,对接收的新数据中的重复数据进行去重处理。
具体的,Task会根据用户逻辑,写CheckPoint。AppContainter会定时生成CheckPoint,它会依赖Task的CheckPoint中BatchID,判断是否要对自己的CheckPoint持久化。当AppContainer的CheckPoint BatchID<=Task CheckPoint BatchID时,AppContainer会写CheckPoint;否则判断生成的CheckPoint无效,不做持久化。
这样在Failover时,AppContainer和Task分别加载自己的CheckPoint恢复快照,AppContainer会重复发送部分数据(如图4中重发部分),Task通过比较版本号,丢弃重复数据。
Processor的写CheckPoint机制和AppContainer类似。
这样在整个过程中,通过RedoLog、CheckPoint和版本号,保证流数据处理的不丢不重,并且在Failover时,可以通过RedoLog和CheckPoint快速恢复,避免了从源头重发数据。
本实施例中,Shard将数据写入分布式文件系统,实现数据落地;通过为数据分配版本号以及块标识,保证数据不丢不重;通过CheckPoint和RedoLog避免源头重发。
图5是本申请另一实施例提出的流计算系统的结果示意图,该系统50包括:数据接收模块51和逻辑处理模块52。
所述数据接收模块51用于接收到要处理的数据后,将所述数据写入文件系统中,并在所述数据被写入文件系统后,发送所述数据给逻辑处理模块52;
要处理的数据可以是流数据。
文件系统可以具体是指分布式文件系统,分布式文件系统(Distributed FileSystem)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。
现有技术中,流数据通过消息中间件传输给流计算系统,而本实施例中,没有设置消息中间件,支持两种数据接入方式,一种是推,用户从自己的数据源,通过Restful API把数据推(push)过来,此时逻辑由用户在外部实现;另一种是拉,此时用户只需要在自己的数据源开放拉数据的接口,在本系统的拓扑(topology)中实现拉数据的逻辑即可获取数据。无论哪种方式都不依赖特定的消息中间件,不同用户可以使用不同的数据来源。数据接收模块通过提供Restful API实现对外服务。
另外,本实施例通过将数据写入文件系统中,可以实现数据落地,写入文件系统中的数据还可以用于其他系统,例如,写入文件系统的数据作为批量计算的源数据。
数据接收模块在将数据写入文件系统后,将数据发送给逻辑处理模块进行具体的流计算。
可选的,所述数据接收模块51用于将所述数据写入文件系统中,包括:
将所述数据以记录为粒度进行划分,得到至少一条记录,并为每条记录生成版本号,以及将所述记录与所述版本号对应写入文件系统中。
可选的,所述数据接收模块51用于发送所述数据给逻辑处理模块,包括:
将所述数据以块为粒度进行划分,得到至少一个块,并为每个块生成块标识,以及将所述块与所述块标识对应发送给逻辑处理模块,其中,每个块包括至少一条记录。
本实施例中的数据接收模块对应上述方法实施例中的Shard,具体流程可以参见方法实施例,在此不再赘述。
所述逻辑处理模块52用于根据对数据的接收情况获取有效数据,并且,定期对预设的检查点进行更新;以及,在发生失效转移时,确定最新的检查点,获取与所述最新的检查点对应的有效数据,并恢复所述有效数据。
其中,有效数据是指未发生丢失且不重复(简称为不丢不重)的数据。
接收情况可以包括:接收到未发生丢失且不重复的数据,发生数据丢失或者发生数据重复。其中,当发生数据丢失时,可以通过补数据保证不丢失,发生数据重复时,通过数据去重保证不重复。
可选的,所述逻辑处理模块52用于根据对数据的接收情况获取有效数据,包括:
判断是否发生数据丢失和数据重复中的至少一项;
如果未发生数据丢失和数据重复中的任一项,则将接收的未丢失且不重复的数据,确定为有效数据;
如果发生数据丢失和数据重复中的至少一项,则对应执行如下项中的至少一项,并将处理后的数据确定为有效数据:
如果发生数据丢失,则确定丢失的版本号,并从所述文件系统中补入所述丢失的版本号对应的数据;
如果发生数据重复,则去掉重复的数据。
可选的,所述逻辑处理模块52用于记录所述有效数据,包括:
将所述有效数据记录在重做日志文件中,所述重做日志文件中还包含所述有效数据对应的重做日志文件元数据;
且,所述检查点中包含重做日志文件元数据;
所述逻辑处理模块用于获取与所述最新的检查点对应的有效数据,包括:
根据所述最新的检查点中包含的重做日志文件元数据,从所述重做日志文件中,获取与所述重做日志文件元数据对应的有效数据。
具体的,本实施例中可以设置检查点(CheckPoint),检查点中可以记录重做日志文件元数据(RedoLogMeta),以及有效数据可以记录在重做日志文件(RedoLog)中,并与RedoLogMeta对应记录。因此,在发生失效转移(Failover)时,可以先查找到CheckPoint中记录的RedoLogMeta,再在RedoLog中查找到与查找到的RedoLogMeta对应的有效数据,并恢复查找到的有效数据,从而可以避免源头重发。
参见图6,所述逻辑处理模块52内部包括父单元521和子单元522,所述父单元521用于定期对预设的检查点进行更新,包括:
定期生成检查点,并判断是否需要对生成的检查点进行持久化;
如果确定需要对生成的检查点进行持久化,将预设的检查点更新为需要持久化的检查点。
可选的,所述父单元521用于判断是否需要对生成的检查点进行持久化,包括:
获取第一批编号和第二批编号,所述第一批编号是所述父单元自身记录的最新的有效数据的批编号,所述第二批编号是所述子单元记录的最新的有效数据的批编号;
如果所述第一批编号小于或等于所述第二批编号,确定需要对生成的检查点进行持久化。
可选的,当所述第一批编号大于所述第二批编号时,所述父单元521还用于:在恢复自身的有效数据后,继续获取新数据,并将所述新数据发送给所述子单元;所述子单元522还用于:在恢复自身的有效数据后,对接收的新数据中的重复数据进行去重处理。
本实施例中的逻辑处理模块可以对应方法实施例中的AppContainer和Processors,父单元和子单元分别是指AppContainer和本机内的Task,以及Processor和本机内的Task,具体流程可以参见方法实施例,在此不再赘述。
本实施例中,通过不设置消息中间件,从而满足对外服务化的诉求;通过将数据写入文件系统中,实现数据落地,进而实现数据与后续的流计算分离,落地的数据可以应用到其他系统;通过记录检查点和有效数据,可以在发生失效转移时,恢复相应的有效数据,避免数据源头重发。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个逻辑处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
数据接收模块接收到要处理的数据后,将所述数据写入文件系统中,并在所述数据被写入文件系统后,发送所述数据给逻辑处理模块;
逻辑处理模块根据对数据的接收情况获取有效数据,其中,所述根据对数据的接收情况获取有效数据,包括:判断是否发生数据丢失和数据重复中的至少一项;如果未发生数据丢失和数据重复中的任一项,则将接收的未丢失且不重复的数据,确定为有效数据;如果发生数据丢失和数据重复中的至少一项,则对应执行如下项中的至少一项,并将处理后的数据确定为有效数据:如果发生数据丢失,则确定丢失的版本号,并从所述文件系统中补入所述丢失的版本号对应的数据;如果发生数据重复,则去掉重复的数据;
并且所述逻辑处理模块定期对预设的检查点进行更新;以及,在发生失效转移时,确定最新的检查点,获取与所述最新的检查点对应的有效数据,并恢复所述有效数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述数据写入文件系统中,包括:
将所述数据以记录为粒度进行划分,得到至少一条记录,并为每条记录生成版本号,以及将所述记录与所述版本号对应写入文件系统中。
3.根据权利要求2所述的方法,其特征在于,所述发送所述数据给逻辑处理模块,包括:
将所述数据以块为粒度进行划分,得到至少一个块,并为每个块生成块标识,以及将所述块与所述块标识对应发送给逻辑处理模块,其中,每个块包括至少一条记录。
4.根据权利要求1所述的方法,其特征在于,所述逻辑处理模块内部包括父单元和子单元,对应父单元,所述定期对预设的检查点进行更新,包括:
定期生成检查点,并判断是否需要对生成的检查点进行持久化;
如果确定需要对生成的检查点进行持久化,将预设的检查点更新为需要持久化的检查点。
5.根据权利要求4所述的方法,其特征在于,在记录所述有效数据时还记录所述有效数据的版本号,所述版本号包括批编号,所述判断是否需要对生成的检查点进行持久化,包括:
获取第一批编号和第二批编号,所述第一批编号是所述父单元自身记录的最新的有效数据的批编号,所述第二批编号是所述子单元记录的最新的有效数据的批编号;
如果所述第一批编号小于或等于所述第二批编号,确定需要对生成的检查点进行持久化。
6.根据权利要求5所述的方法,其特征在于,当所述第一批编号大于所述第二批编号时,所述方法还包括:
所述父单元在恢复自身的有效数据后,继续获取新数据,并将所述新数据发送给所述子单元;
所述子单元在恢复自身的有效数据后,对接收的新数据中的重复数据进行去重处理。
7.根据权利要求1所述的方法,其特征在于,
记录所述有效数据,包括:将所述有效数据记录在重做日志文件中,所述重做日志文件中还包含所述有效数据对应的重做日志文件元数据;
且,所述检查点中包含重做日志文件元数据;
所述获取与所述最新的检查点对应的有效数据,包括:
根据所述最新的检查点中包含的重做日志文件元数据,从所述重做日志文件中,获取与所述重做日志文件元数据对应的有效数据。
8.一种流计算系统,其特征在于,包括:
数据接收模块和逻辑处理模块;
所述数据接收模块用于接收到要处理的数据后,将所述数据写入文件系统中,并在所述数据被写入文件系统后,发送所述数据给逻辑处理模块;
所述逻辑处理模块用于根据对数据的接收情况获取有效数据,其中,所述逻辑处理模块用于根据对数据的接收情况获取有效数据,包括:判断是否发生数据丢失和数据重复中的至少一项;如果未发生数据丢失和数据重复中的任一项,则将接收的未丢失且不重复的数据,确定为有效数据;如果发生数据丢失和数据重复中的至少一项,则对应执行如下项中的至少一项,并将处理后的数据确定为有效数据:如果发生数据丢失,则确定丢失的版本号,并从所述文件系统中补入所述丢失的版本号对应的数据;如果发生数据重复,则去掉重复的数据;
并且所述逻辑处理模块还用于定期对预设的检查点进行更新;以及,在发生失效转移时,确定最新的检查点,获取与所述最新的检查点对应的有效数据,并恢复所述有效数据。
9.根据权利要求8所述的系统,其特征在于,所述数据接收模块用于将所述数据写入文件系统中,包括:
将所述数据以记录为粒度进行划分,得到至少一条记录,并为每条记录生成版本号,以及将所述记录与所述版本号对应写入文件系统中。
10.根据权利要求9所述的系统,其特征在于,所述数据接收模块用于发送所述数据给逻辑处理模块,包括:
将所述数据以块为粒度进行划分,得到至少一个块,并为每个块生成块标识,以及将所述块与所述块标识对应发送给逻辑处理模块,其中,每个块包括至少一条记录。
11.根据权利要求8所述的系统,其特征在于,所述逻辑处理模块内部包括父单元和子单元,所述父单元用于定期对预设的检查点进行更新,包括:
定期生成检查点,并判断是否需要对生成的检查点进行持久化;
如果确定需要对生成的检查点进行持久化,将预设的检查点更新为需要持久化的检查点。
12.根据权利要求11所述的系统,其特征在于,所述父单元用于判断是否需要对生成的检查点进行持久化,包括:
获取第一批编号和第二批编号,所述第一批编号是所述父单元自身记录的最新的有效数据的批编号,所述第二批编号是所述子单元记录的最新的有效数据的批编号;
如果所述第一批编号小于或等于所述第二批编号,确定需要对生成的检查点进行持久化。
13.根据权利要求12所述的系统,其特征在于,当所述第一批编号大于所述第二批编号时,所述父单元还用于:在恢复自身的有效数据后,继续获取新数据,并将所述新数据发送给所述子单元;所述子单元还用于:在恢复自身的有效数据后,对接收的新数据中的重复数据进行去重处理。
14.根据权利要求8所述的系统,其特征在于,所述逻辑处理模块用于记录所述有效数据,包括:将所述有效数据记录在重做日志文件中,所述重做日志文件中还包含所述有效数据对应的重做日志文件元数据;
且,所述检查点中包含重做日志文件元数据;
所述逻辑处理模块用于获取与所述最新的检查点对应的有效数据,包括:
根据所述最新的检查点中包含的重做日志文件元数据,从所述重做日志文件中,获取与所述重做日志文件元数据对应的有效数据。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510246697.5A CN106294357B (zh) | 2015-05-14 | 2015-05-14 | 数据处理方法和流计算系统 |
TW104142282A TWI710897B (zh) | 2015-05-14 | 2015-12-16 | 資料處理方法和流計算系統 |
US15/154,891 US10877935B2 (en) | 2015-05-14 | 2016-05-13 | Stream computing system and method |
EP16793645.9A EP3295294A4 (en) | 2015-05-14 | 2016-05-13 | Stream computing system and method |
PCT/US2016/032508 WO2016183507A1 (en) | 2015-05-14 | 2016-05-13 | Stream computing system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510246697.5A CN106294357B (zh) | 2015-05-14 | 2015-05-14 | 数据处理方法和流计算系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106294357A CN106294357A (zh) | 2017-01-04 |
CN106294357B true CN106294357B (zh) | 2019-07-09 |
Family
ID=57249533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510246697.5A Active CN106294357B (zh) | 2015-05-14 | 2015-05-14 | 数据处理方法和流计算系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10877935B2 (zh) |
EP (1) | EP3295294A4 (zh) |
CN (1) | CN106294357B (zh) |
TW (1) | TWI710897B (zh) |
WO (1) | WO2016183507A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073642A (zh) * | 2016-11-18 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 数据写入和读取的方法、装置及系统、数据交互系统 |
US10447763B2 (en) * | 2016-12-08 | 2019-10-15 | Nanning Fugui Precision Industrial Co., Ltd. | Distributed storage method and system |
CN106817295B (zh) * | 2016-12-08 | 2020-06-05 | 上海有孚网络股份有限公司 | 一种消息处理装置和方法 |
CN106775989B (zh) * | 2016-12-31 | 2019-07-02 | 北京神州绿盟信息安全科技股份有限公司 | 一种job控制方法及装置 |
CN106874133B (zh) * | 2017-01-17 | 2020-06-23 | 北京百度网讯科技有限公司 | 流式计算系统中计算节点的故障处理 |
TWI626548B (zh) * | 2017-03-31 | 2018-06-11 | 東森信息科技股份有限公司 | 資料收集與儲存系統及其方法 |
CN107689958B (zh) * | 2017-09-03 | 2021-07-13 | 中国南方电网有限责任公司 | 一种应用于云审计系统的网络审计子系统 |
CN108270860A (zh) * | 2018-01-16 | 2018-07-10 | 宇星科技发展(深圳)有限公司 | 环境质量在线监测数据的采集系统及方法 |
CN108600300B (zh) * | 2018-03-06 | 2021-11-12 | 北京思空科技有限公司 | 日志数据处理方法及装置 |
CN110213317B (zh) * | 2018-07-18 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 消息存储的方法、装置及存储介质 |
US10965750B2 (en) * | 2018-09-27 | 2021-03-30 | International Business Machines Corporation | Distributed management of dynamic processing element connections in streaming applications |
CN110032569B (zh) * | 2019-01-17 | 2023-06-27 | 创新先进技术有限公司 | 变更数据检查方法、装置、设备及系统 |
CN110046131A (zh) * | 2019-01-23 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 数据的流式处理方法、装置及分布式文件系统hdfs |
CN111125121B (zh) * | 2020-03-30 | 2020-07-03 | 四川新网银行股份有限公司 | 基于HBase表的实时数据显示方法 |
CN111209299A (zh) * | 2020-04-20 | 2020-05-29 | 四川新网银行股份有限公司 | 金融反欺诈的实时判断方法 |
CN113064869B (zh) * | 2021-03-23 | 2023-06-13 | 网易(杭州)网络有限公司 | 日志处理方法、装置、发送端、接收端设备及存储介质 |
CN113821407B (zh) * | 2021-09-15 | 2023-08-01 | 浙江浙大网新软件产业集团有限公司 | 一种Storm分布式实时计算方法及系统 |
CN116662325B (zh) * | 2023-07-24 | 2023-11-10 | 宁波森浦信息技术有限公司 | 一种数据处理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256526A (zh) * | 2008-03-10 | 2008-09-03 | 清华大学 | 检查点容错技术中文件状态一致性维护的实现方法 |
CN102934114A (zh) * | 2010-06-15 | 2013-02-13 | 微软公司 | 用于文件系统的检查点 |
CN102937964A (zh) * | 2012-09-28 | 2013-02-20 | 无锡江南计算技术研究所 | 基于分布式系统的智能数据服务方法 |
CN103631815A (zh) * | 2012-08-27 | 2014-03-12 | 深圳市腾讯计算机系统有限公司 | 块同步并行计算中实现检查点的方法、装置和系统 |
CN103984609A (zh) * | 2014-05-28 | 2014-08-13 | 华为技术有限公司 | 一种基于写时复制的文件系统中回收检查点的方法和装置 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5403639A (en) * | 1992-09-02 | 1995-04-04 | Storage Technology Corporation | File server having snapshot application data groups |
US5913927A (en) * | 1995-12-15 | 1999-06-22 | Mylex Corporation | Method and apparatus for management of faulty data in a raid system |
EP0936617A1 (en) * | 1998-02-12 | 1999-08-18 | Hewlett-Packard Company | Write pass identifier |
US6144999A (en) * | 1998-05-29 | 2000-11-07 | Sun Microsystems, Incorporated | Method and apparatus for file system disaster recovery |
WO2000060445A1 (fr) * | 1999-03-30 | 2000-10-12 | Matsushita Electric Industrial Co., Ltd. | Systeme de traitement de donnees, dispositif emetteur/recepteur de donnees et support enregistre |
US20030088807A1 (en) * | 2001-11-07 | 2003-05-08 | Mathiske Bernd J.W. | Method and apparatus for facilitating checkpointing of an application through an interceptor library |
BR0206807A (pt) * | 2001-11-30 | 2004-02-03 | Matsushita Electric Ind Co Ltd | Método e aparelho para conversão de fluxo, método e aparelho para registro de dados e meio de registro de dados |
US20030225899A1 (en) * | 2002-05-28 | 2003-12-04 | Murphy Walter Vincent | Enhancing system performance using a network-based multi-processing technique |
US7627688B1 (en) * | 2002-07-09 | 2009-12-01 | Vignette Corporation | Method and system for detecting gaps in a data stream |
JP3974538B2 (ja) * | 2003-02-20 | 2007-09-12 | 株式会社日立製作所 | 情報処理システム |
US8452929B2 (en) * | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
US20060271457A1 (en) * | 2005-05-26 | 2006-11-30 | Romain Martin R | Identity theft monitoring and prevention |
US8422850B2 (en) * | 2007-04-09 | 2013-04-16 | Mitusbishi Electric Corporation | Information recording apparatus, information recording method, information record medium, information reproducing apparatus, information reproducing method, information transmitting apparatus, and information transmitting method |
US9047305B2 (en) * | 2012-11-12 | 2015-06-02 | Quantum Corporation | Methods and systems for vectored data de-duplication |
US20090276476A1 (en) * | 2008-05-05 | 2009-11-05 | Chris Jolly | Peer-to-peer data archiving and retrieval system |
US8639592B1 (en) * | 2008-06-20 | 2014-01-28 | Card Compliant, LLC | Methods and systems for optimizing escheat and derecognition of prepaid cards, stored value cards, credit memos and electronic payment instruments |
US8099571B1 (en) * | 2008-08-06 | 2012-01-17 | Netapp, Inc. | Logical block replication with deduplication |
US9178935B2 (en) * | 2009-03-05 | 2015-11-03 | Paypal, Inc. | Distributed steam processing |
US8731190B2 (en) * | 2009-06-09 | 2014-05-20 | Emc Corporation | Segment deduplication system with encryption and compression of segments |
US8880725B2 (en) * | 2010-05-26 | 2014-11-04 | Microsoft Corporation | Continuous replication for session initiation protocol based communication systems |
US20110307444A1 (en) * | 2010-06-11 | 2011-12-15 | Microsoft Corporation | Replicating server configuration data in distributed server environments |
US8280860B2 (en) * | 2010-11-15 | 2012-10-02 | Quantum Corporation | Method for increasing deduplication speed on data streams fragmented by shuffling |
US8639919B2 (en) * | 2011-01-18 | 2014-01-28 | Via Technologies, Inc. | Tracer configuration and enablement by reset microcode |
US8713282B1 (en) * | 2011-03-31 | 2014-04-29 | Emc Corporation | Large scale data storage system with fault tolerance |
US9251021B2 (en) * | 2011-05-23 | 2016-02-02 | Bradley Gene Calder | Asynchronous replication in a distributed storage environment |
US8706710B2 (en) | 2011-05-24 | 2014-04-22 | Red Lambda, Inc. | Methods for storing data streams in a distributed environment |
US8924366B2 (en) * | 2011-09-16 | 2014-12-30 | Symantec Corporation | Data storage deduplication systems and methods |
US8762718B2 (en) * | 2012-08-03 | 2014-06-24 | Palo Alto Research Center Incorporated | Broadcast deduplication for satellite broadband |
CN103547329B (zh) * | 2012-12-12 | 2016-11-02 | 华为技术有限公司 | 集群系统中数据处理方法及装置 |
KR102025757B1 (ko) * | 2013-07-10 | 2019-09-27 | 삼성전자주식회사 | 데이터 전송 방법 및 장치, 데이터 수신 방법 및 장치 및 기록 매체 |
US9098453B2 (en) * | 2013-07-11 | 2015-08-04 | International Business Machines Corporation | Speculative recovery using storage snapshot in a clustered database |
US20150178164A1 (en) * | 2013-12-19 | 2015-06-25 | Violin Memory Inc. | Reconstructing an indirection table from logged media addresses |
US11341288B2 (en) * | 2014-06-06 | 2022-05-24 | Ptc Inc. | Methods and system for incremental exploration of design changes in large computer-aided design models |
US10423498B2 (en) * | 2014-06-26 | 2019-09-24 | Sybase, Inc. | Zero data loss transfer protocol |
US10205670B2 (en) * | 2014-09-12 | 2019-02-12 | Qualcomm Incorporated | Selective storage and deletion in mobile content delivery networks |
-
2015
- 2015-05-14 CN CN201510246697.5A patent/CN106294357B/zh active Active
- 2015-12-16 TW TW104142282A patent/TWI710897B/zh active
-
2016
- 2016-05-13 WO PCT/US2016/032508 patent/WO2016183507A1/en active Application Filing
- 2016-05-13 US US15/154,891 patent/US10877935B2/en active Active
- 2016-05-13 EP EP16793645.9A patent/EP3295294A4/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256526A (zh) * | 2008-03-10 | 2008-09-03 | 清华大学 | 检查点容错技术中文件状态一致性维护的实现方法 |
CN102934114A (zh) * | 2010-06-15 | 2013-02-13 | 微软公司 | 用于文件系统的检查点 |
CN103631815A (zh) * | 2012-08-27 | 2014-03-12 | 深圳市腾讯计算机系统有限公司 | 块同步并行计算中实现检查点的方法、装置和系统 |
CN102937964A (zh) * | 2012-09-28 | 2013-02-20 | 无锡江南计算技术研究所 | 基于分布式系统的智能数据服务方法 |
CN103984609A (zh) * | 2014-05-28 | 2014-08-13 | 华为技术有限公司 | 一种基于写时复制的文件系统中回收检查点的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3295294A1 (en) | 2018-03-21 |
US20160335287A1 (en) | 2016-11-17 |
WO2016183507A1 (en) | 2016-11-17 |
EP3295294A4 (en) | 2018-04-18 |
CN106294357A (zh) | 2017-01-04 |
TW201640352A (zh) | 2016-11-16 |
US10877935B2 (en) | 2020-12-29 |
TWI710897B (zh) | 2020-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294357B (zh) | 数据处理方法和流计算系统 | |
US10467105B2 (en) | Chained replication techniques for large-scale data streams | |
CN106662983B (zh) | 分布式存储系统中的数据重建的方法、装置和系统 | |
CN113037823B (zh) | 消息传递系统和方法 | |
US9244983B2 (en) | Platform for continuous graph update and computation | |
JP6716727B2 (ja) | ストリーミングデータ分散処理方法及び装置 | |
WO2020062211A1 (zh) | 一种融合区块链技术拟态存储防篡改日志的方法及系统 | |
US9684524B1 (en) | Service-oriented system optimization using trace data | |
US20190007208A1 (en) | Encrypting existing live unencrypted data using age-based garbage collection | |
US20200052990A1 (en) | Method and device for fingerprint based status detection in a distributed processing system | |
JP2017531250A (ja) | 粒状同期/半同期アーキテクチャ | |
KR101632817B1 (ko) | 클라우드 컴퓨팅 보안 데이터 저장 | |
EP3285186B1 (en) | Methods and procedures for timestamp-based indexing of items in real-time storage | |
CN107451012A (zh) | 一种数据备份方法及流计算系统 | |
AU2021309929B2 (en) | Anomaly detection in network topology | |
CN113826084A (zh) | 流媒体数据的高效进程外重组 | |
CN104579765A (zh) | 一种集群系统的容灾方法和装置 | |
US20180262408A1 (en) | Anchor shortening across streaming nodes | |
CN104618304A (zh) | 数据处理方法及数据处理系统 | |
CN107153526B (zh) | 一种流式计算环境下的并行数据回流方法 | |
CN107818106B (zh) | 一种大数据离线计算数据质量校验方法和装置 | |
KR101499890B1 (ko) | Low Latency 프레임워크 시스템 | |
Lei et al. | Integrating consortium blockchain into edge server to defense against ransomware attack | |
US11388250B1 (en) | Reduction of data transmissions based on end-user content | |
CN117643015A (zh) | 基于日志记录的客户端密钥修改的快照跨一系列节点管理密钥 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1232975 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |