流式计算的增量持久化方法及其装置制造方法及图纸

技术编号:24333888 阅读:27 留言:0更新日期:2020-05-29 21:13
本发明专利技术提出一种流式计算的增量持久化方法及其装置、计算机程序产品、存储介质。其中,流式计算由多个节点进行,方法包括:获取当前节点的新增数据,并将新增数据根据操作类型分为多个数据单元,将多个数据单元存入存储系统。根据操作类型对存入存储系统的多个数据单元进行合并,以获得当前节点的持久化数据。由此,本发明专利技术实施例实现了在将数据存入存储系统后,将合并后的存储数据作为持久化数据,从而减少了存储系统中持久化数据的数据总量,降低了对系统存储资源的消耗,解决了现有技术中持久化数据总量过大的技术问题。

Incremental persistence method and device for flow computing

【技术实现步骤摘要】
流式计算的增量持久化方法及其装置
本专利技术涉及分布式计算
,尤其涉及一种流式计算的增量持久化方法及其装置。
技术介绍
流式计算是一种实时分布式计算方法,广泛应用于信息流、广告、网页建库、地图等领域。但随着计算复杂度的增加,流式计算系统对计算结果的要求越来越高,需要将历史计算结果进行持久化来保证流式计算计算结果的准确度。相关技术中,对流式计算结果采用全量持久化机制。然而该机制的持久化过程需要将之前产生的全部数据进行存储。由此可以看出目前的全量持久化机制对于系统资源的消耗极大,对流式计算的实时性能造成影响。为此,研究人员又提出了增量持久化机制,现有的增量持久化机制虽然在持久化过程中只对新增数据进行存储,减少了每一次存储过程中对系统的资源消耗,但是数据存储总量会随着新增数据的增加而不断增加,依然会消耗大量的系统存储资源。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的第一个目的在于提出一种流式计算的增量持久化方法,以实现在数据恢复时,使用合并后的持久化数据进行计算状态恢复,减少了计算状态恢复时的系统工作量,降低了对系统资源的消耗。本专利技术的第二个目的在于提出一种流式计算的增量持久化装置。本专利技术的第三个目的在于提出一种计算机程序产品。本专利技术的第四个目的在于提出一种非临时性计算机可读存储介质。为达上述目的,本专利技术第一方面实施例提出了一种流式计算的增量持久化方法,包括:获取当前节点的新增数据,并将所述新增数据根据操作类型分为多个数据单元;将所述多个数据单元存入存储系统;以及根据所述操作类型对存入所述存储系统的所述多个数据单元进行合并,以获得所述当前节点的持久化数据。和现有技术相比,本专利技术实施例在对新增数据进行存储时,将新增数据根据操作类型分为多个数据单元,将新增数据存入存储系统后,根据不同的操作类型对数据单元进行合并,减少了当前节点需要存储的持久化数据。另外,本专利技术实施例的流式计算的增量持久化方法,还具有如下附加的技术特征:可选地,在所述获得所述当前节点的持久化数据之后,还包括:根据所述当前节点的持久化数据,对所述当前节点的计算状态进行恢复。可选地,所述新增数据包括当前节点的输出结果数据、当前节点的用户状态修改数据、定时器数据中的一种或者多种。可选地,所述将所述多个数据单元存入存储系统,包括:将所述多个数据单元打包为数据块;根据预设的传输大小阈值和传输时间阈值将多个所述数据块打包为数据组;将所述数据组存入所述存储系统中当前节点所对应的服务器。可选地,所述将所述数据组存入所述存储系统中当前节点所对应的服务器,包括:获取所述数据组中所述数据单元的数据标识;根据所述数据标识将所述数据组存入当前节点所对应的服务器。可选地,所述操作类型包括插入和删除,所述数据单元包括数据内容,所述根据所述操作类型对所述数据单元进行合并,以获得所述当前节点的持久化数据,包括:将所述插入类型的数据单元与所述删除类型的数据单元进行比对,以获取数据内容相同的所述插入类型的数据单元与所述删除类型的数据单元;将所述数据内容相同的所述插入类型的数据单元与所述删除类型的数据单元进行删除,以获得所述当前节点的持久化数据。可选地,所述根据所述当前节点的持久化数据,对所述当前节点的计算状态进行恢复,包括:判断当前节点是否存在异常;若所述当前节点存在异常,则在所述存储系统中查找所述当前节点的持久化数据;根据查找的所述当前节点的持久化数据,将所述当前节点的计算状态恢复正常。可选地,所述当前节点的持久化数据包括当前节点的用户状态修改数据,定时器数据中的一种或者两种,在所述将所述当前节点的计算状态恢复正常之后,还包括:获取所述当前节点的上一节点的输出结果数据;根据所述当前节点的上一节点的输出结果数据,计算所述当前节点的输出结果数据;以及在所述存储系统中删除上一节点的输出结果数据;将所述当前节点的输出结果数据传输给下一节点。可选地,所述获取所述当前节点的上一节点的输出结果数据,包括:从所述上一节点获取所述上一节点的输出结果数据,或者从所述存储系统中获取所述上一节点的输出结果数据。本专利技术第二方面实施例提出了一种流式计算的增量持久化装置,包括:获取模块,用于获取当前节点的新增数据,并将所述新增数据根据操作类型分为多个数据单元;存入模块,用于将所述多个数据单元存入存储系统;以及合并模块,用于根据所述操作类型对存入所述存储系统的所述多个数据单元进行合并,以获得所述当前节点的持久化数据。另外,本专利技术实施例的流式计算的增量持久化装置,还具有如下附加的技术特征:可选地,所述装置还包括:恢复模块,用于根据所述当前节点的持久化数据,对所述当前节点的计算状态进行恢复。可选地,所述存入模块包括:第一打包单元,用于将所述多个数据单元打包为数据块;第二打包单元,用于根据预设的传输大小阈值和传输时间阈值将多个所述数据块打包为数据组;存入单元,用于将所述数据组存入所述存储系统中当前节点所对应的服务器。可选地,所述存入单元,包括:获取子单元,用于获取所述数据组中所述数据单元的数据标识;存入子单元,用于根据所述数据标识将所述数据组存入当前节点所对应的服务器。可选地,所述操作类型包括插入和删除,所述数据单元包括数据内容,所述合并模块包括:比对单元,用于将所述插入类型的数据单元与所述删除类型的数据单元进行比对,以获取数据内容相同的所述插入类型的数据单元与所述删除类型的数据单元;第一删除单元,用于将所述数据内容相同的所述插入类型的数据单元与所述删除类型的数据单元进行删除,以获得所述当前节点的持久化数据。可选地,所述恢复模块包括:判断单元,用于判断当前节点是否存在异常;查找单元,用于当所述判断单元确定所述当前节点存在异常时,在所述存储系统中查找所述当前节点的持久化数据;恢复单元,用于根据查找的所述当前节点的持久化数据,将所述当前节点的计算状态恢复正常。可选地,所述当前节点的持久化数据包括当前节点的用户状态修改数据,定时器数据中的一种或者两种,所述恢复模块还包括:获取单元,用于获取所述当前节点的上一节点的输出结果数据;计算单元,用于根据所述当前节点的上一节点的输出结果数据,计算所述当前节点的输出结果数据;第二删除单元,用于在所述存储系统中删除上一节点的输出结果数据;以及传输单元,用于将所述当前节点的输出结果数据传输给下一节点。可选地,所述获取单元,用于从所述上一节点获取所述上一节点的输出结果数据,或者从所述存储系统中获取所述上一节点的输出结果数据。本专利技术第三方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时实现如前述方法实施例所述的流式计算的增量持久化方法。本专利技术第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述方法实施例所述的流式计算的增量持久化方法。本专利技术附加的方面和优点将在下面的描本文档来自技高网...

【技术保护点】
1.一种流式计算的增量持久化方法,其特征在于,所述流式计算由多个节点进行,所述方法包括:/n获取当前节点的新增数据,并将所述新增数据根据操作类型分为多个数据单元;/n将所述多个数据单元存入存储系统;以及/n根据所述操作类型对存入所述存储系统的所述多个数据单元进行合并,以获得所述当前节点的持久化数据。/n

【技术特征摘要】
1.一种流式计算的增量持久化方法,其特征在于,所述流式计算由多个节点进行,所述方法包括:
获取当前节点的新增数据,并将所述新增数据根据操作类型分为多个数据单元;
将所述多个数据单元存入存储系统;以及
根据所述操作类型对存入所述存储系统的所述多个数据单元进行合并,以获得所述当前节点的持久化数据。


2.如权利要求1所述的方法,其特征在于,在所述获得所述当前节点的持久化数据之后,还包括:
根据所述当前节点的持久化数据,对所述当前节点的计算状态进行恢复。


3.如权利要求2所述的方法,其特征在于,所述新增数据包括当前节点的输出结果数据、当前节点的用户状态修改数据、定时器数据中的一种或者多种。


4.如权利要求3所述的方法,其特征在于,所述将所述多个数据单元存入存储系统,包括:
将所述多个数据单元打包为数据块;
根据预设的传输大小阈值和传输时间阈值将多个所述数据块打包为数据组;
将所述数据组存入所述存储系统中当前节点所对应的服务器。


5.如权利要求4所述的方法,其特征在于,所述将所述数据组存入所述存储系统中当前节点所对应的服务器,包括:
获取所述数据组中所述数据单元的数据标识;
根据所述数据标识将所述数据组存入当前节点所对应的服务器。


6.如权利要求1-5中任一项所述的方法,其特征在于,所述操作类型包括插入和删除,所述数据单元包括数据内容,所述根据所述操作类型对所述数据单元进行合并,以获得所述当前节点的持久化数据,包括:
将所述插入类型的数据单元与所述删除类型的数据单元进行比对,以获取数据内容相同的所述插入类型的数据单元与所述删除类型的数据单元;
将所述数据内容相同的所述插入类型的数据单元与所述删除类型的数据单元进行删除,以获得所述当前节点的持久化数据。


7.如权利要求2所述的方法,其特征在于,所述根据所述当前节点的持久化数据,对所述当前节点的计算状态进行恢复,包括:
判断当前节点是否存在异常;
若所述当前节点存在异常,则在所述存储系统中查找所述当前节点的持久化数据;
根据查找的所述当前节点的持久化数据,将所述当前节点的计算状态恢复正常。


8.如权利要求7所述的方法,其特征在于,所述当前节点的持久化数据包括当前节点的用户状态修改数据,定时器数据中的一种或者两种,在所述将所述当前节点的计算状态恢复正常之后,还包括:
获取所述当前节点的上一节点的输出结果数据;
根据所述当前节点的上一节点的输出结果数据,计算所述当前节点的输出结果数据;
在所述存储系统中删除上一节点的输出结果数据;以及
将所述当前节点的输出结果数据传输给下一节点。


9.如权利要求8所述的方法,其特征在于,所述获取所述当前节点的上一节点的输出结果数据,包括:
从所述上一节点获取所述上一节点的输出结果数据,或者
从所述存储系统中获取所述上一节点的输出结果数据。


10.一种流式计算的增量持久化装置,其特征在于,所述装置包括:
获...

【专利技术属性】
技术研发人员:程怡石然高伟康
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利