一种基于混合存储的流式数据自适应持久化方法及系统技术方案

技术编号:13585245 阅读:50 留言:0更新日期:2016-08-24 15:28
本发明专利技术一种基于混合存储的流式数据自适应持久化方法及系统,包括实时采集流式数据处理系统的状态特征信息;建立基于机器学习的多元线性回归模型,根据采集的状态特征信息估计模型参数;根据当前流式数据处理系统状态特征信息和建立的回归模型,计算得出当前状态下流式数据处理系统的最优持久化窗口大小;流式数据处理系统根据第得出的持久化窗口大小更改其当前的持久化窗口,将流数据处理过程中的中间状态或计算结果保存到固态硬盘中;当固态硬盘中的数据容量达到一定程度时,再将固态硬盘中的数据保存到普通硬盘上。本发明专利技术可以根据当前及历史状态信息,计算出此刻持久化窗口的大小,进而动态适配流式数据速率不稳定的情况,保证了系统在易用性和一致性之间的平衡。

【技术实现步骤摘要】

本专利技术涉及一种基于混合存储的流式数据自适应持久化方法及系统,属于软件

技术介绍
随着云计算、物联网、社交媒体等信息技术和应用模式的快速发展,流式数据逐渐成为信息化系统中一类关键的数据形式。典型运用领域中,流式大数据具有实时性、易失性、突发性、无序性和无限性等特征(参见文献:孙大为,张广艳,郑纬民.大数据流式计算:关键技术及系统实例[J].软件学报,2014,25(4):839-862.)。在诸如物联网领域,我们需要将数据流快速存储到非易失介质中,而在可靠性要求较高的金融领域;我们需要将节点的中间状态和计算结果存储下来,保存到非易失存储介质中以便能够进行失效恢复:流式数据处理中,数据如何及时有效的存入到非易失介质中是应用建设的一个重点。在存储数据时,主流的商业产品一般有两种存储方式:同步存储和异步存储。同步存储是指在数据写入内存的同时,持久化到非易失存储介质中,如果持久化到非易失存储介质失败,则数据写入内存也失败,这种方式具有高可靠性保证,但易用性差,延迟较高;异步存储是指数据先缓存到例如队列这样的数据结构中,等到持久化周期到来时,一次性将这些数据写入到非易失存储介质中,这种方法具有高吞吐量,易用性好等特点,但是非易失存储介质中的数据相比内存中的数据会存在一定的延迟,一致性差。以上两种方法无论是在流数据处理情景还是在批量数据情景下都是较为通用的方法。对数据准确性要求高而系统处理能力要求低的系统,偏向于选择同步存储的方法;而对于数据准确性要求宽松系统处理能力要求高的系统,偏向于选择异步存储的方法。大多数流式数据处理系统如Hazelcast,Puma都提供了这两种解决方案供用户选择。针对异步存储,较为通用的做法是设置存储窗口,当窗口到达持久化存储触发条件时,一次性将窗口中的数据持久化到非易失存储介质中。此阶段中,窗口大小的设置成为影响系统处理性能和数据一致性的关键问题所在。一方面,当窗口较小时,持久化周期短,触发频率高,这样非易失存储介质中的数据一致性高,延迟低,但频繁的触发持久化,会较多的占用CPU等系统资源,影响系统的处理性能,系统可用性降低;另一方面,当窗口较大时,持久化周期长,触发频率低,批量写入非易失存储介质的量大,平均写入速度快,但数据的一致性低。在流式数据处理需要存储数据(可能是流式数据本身,也可能是处理过程中产生的中间状态和计算结果)的场景中,其处理性能一方面受限于持久化窗口的大小,另外一方面受限于非持久化存储介质的读写性能。固态硬盘(SSD)在最近几年得到越来越多的关注,各大互联网公司都有大量基于固态硬盘的运用,比较成功的案例是SAP公司推出的内存计算产品HANA系统使用的就是固态硬盘作为存储解决方案,非常适用于需要快速存储和读取数据的场景。而流式数据对系统的性能要求高,需要能够快速的处理和存储中间状态和处理结果,这使得采用固态硬盘作为存储介质能够快速保存流式数据处理节点的中间状态和处理结果。而且失效恢复时,能够快速的从固态硬盘中读取数据进行恢复。主流的商业产品中,都提供了流式数据的持久化接口,方便用户能够及时将内存中的数据备份到非易失存储介质中,然而这些持久化接口中关于持久化窗口大小的配置都是固定值。用户给定的固定值具有以下几个缺点:(1)固定值往往很难确定,缺乏经验的用户往往无法一次性给定较为合理的窗口大小值,而且即使是经验较为丰富的用户,在面临复杂的运用场景中,也无法准确估计窗口大小;(2)流式数据具有突发性的特征,即数据源发送的数据的速率往往不是一成不变的,而是会有较大的波动,固定窗口无法自适应这种波动,若给定的窗口太小,则触发持久化的频率过高,会占用较多的CPU等系统资源,使得节点的处理能力下降;若给定的窗口过大,而流式数据的速率较慢,则使得系统资源闲置,且机器宕机时,丢失的信息较多,可靠性差;
技术实现思路
本专利技术的目的在于:克服现有的流式数据持久化中窗口固定不变的问题,提出一种基于混合存储的流式数据自适应持久化方法,可以根据当前及历史状态信息,计算出此刻持久化窗口的大小,进而动态适配流式数据速率不稳定的情况,保证了系统在易用性和一致性之间的平衡。为了达到上述技术目的,本专利技术采用如下技术方案:一种基于混合存储的流式数据自适应持久化方法,包括以下步骤:1)实时采集流式数据处理系统的状态特征信息;2)建立基于机器学习的多元线性回归模型,根据采集的状态特征信息估计模型参数;3)根据当前流式数据处理系统状态特征信息和第(2)步建立的回归模型,计算得出当前状态下流式数据处理系统的最优持久化窗口大小;4)流式数据处理系统根据第(3)步得出的持久化窗口大小更改其当前的持久化窗口,将流数据处理过程中的中间状态或计算结果保存到固态硬盘中;5)当固态硬盘中的数据容量达到一定程度(固态硬盘的使用率占到了80%)时,再将固态硬盘中的数据保存到普通硬盘上。上述步骤中构建一个系统性能评价模型的方法为:1、选取流式数据处理系统的状态特征从流式数据处理系统内部运行状态和非易失性数据库运行状态这两方面来提取特征,结果如表1所示:表1.流式数据处理系统特征表采集到以上八种系统状态特征,按照系统易用性相关和系统一致性相关分为两类:系统易用性相关:CPU使用率(C),内存使用率(M),网络速率(F),固态硬盘使用率(U);系统一致性相关:流式数据进入内存的速率(V),流式数据进入内存的延迟(D),系统写入固态硬盘的速率(P),系统写入固态硬盘的延迟(Z)。2、构建系统性能评价模型在选定评价系统性能特征和采集对应的参数后,将问题简化为根据X=(C,M,F,U,V,D,P,Z),来预测窗口大小W的值。这是一个多元回归分析模型。本专利技术采用简单实用、应用广泛的多元线性回归模型作为回归模型,采用逐步回归方法来解模。具体方法如下:W和X(C,M,F,U,V,D,P,Z)的线性回归模型为:w=β0+β1x1+β2x2+β3x3+…+βnxn+ε (3.1)注:这里为了叙述方便,X向量的各个分量(C,M,F,U,V,D,P,Z)分别用(x1,x2,...,xn)来表示。β0为回归常数,βi(1≤i≤n)为偏回归系数,ε为随机误差,ε~(0,σ2)。对于m组观察数据(xi,1,xi,2,xi,2,...,xi,n:wi),i=1,2,3,...,m,线性回归模型(3.1)式可以表示为:wi=β0+β1xi,1+β2xi,2+β3xi,3+…+βnxi,n+εi,i=1,2,...,m (3.2)写成矩阵形式为:W=XΒ+Ε (3.3)回归理论模型确定后,利用收集、整理的样本数据对模型的未知参数给出估计。这里采用逐步回归法构建线性模型,由于模型中变量较多而且每个变量的预测能力不同,变量之间有存在多重共线性会降低模型精度,逐步回归是一种常用的消除多重共线性,构建最优回归模型的方法。其基本思想是采用F检验逐个引入自变量,引入的条件是该自变量经F检验是显著的。每次引入一个变量,需要对已经选入的变量进行检验,如果已有变量由于新变量的引入变得不再显著,就将其剔除。反复执行这个过程,直到不再有变量被选入或剔除位置。(参考文献:Wang Y,Witten I H.Pace regression[J].1999.)上述步骤中构建基本文档来自技高网
...

【技术保护点】
一种基于混合存储的流式数据自适应持久化方法,其特征在于包括以下步骤:(1)实时采集流式数据处理系统的状态特征信息;状态特征信息分为两类:一种是系统易用性相关信息和系统一致性相关信息,系统易用性相关信息包括CPU使用率(C),内存使用率(M),网络速率(F),固态硬盘使用率(U);系统一致性相关包括流式数据进入内存的速率(V),流式数据进入内存的延迟(D),系统写入固态硬盘的速率(P),系统写入固态硬盘的延迟(Z);(2)建立基于机器学习的多元线性回归模型,根据采集的流式数据处理系统的状态特征信息采用逐步回归方法估计模型参数;(3)根据当前流式数据处理系统状态特征信息和步骤(2)建立的多元线性回归模型,计算得出当前状态下流式数据处理系统的最优持久化窗口大小;(4)流式数据处理系统根据步骤(3)得出的持久化窗口大小更改当前的持久化窗口,将流数据处理过程中的中间状态或计算结果等数据保存到固态硬盘中;(5)当固态硬盘中的数据达到一定程度即固态硬盘的使用率占到了80%时,再将固态硬盘中的数据转移到普通硬盘上。

【技术特征摘要】
1.一种基于混合存储的流式数据自适应持久化方法,其特征在于包括以下步骤:(1)实时采集流式数据处理系统的状态特征信息;状态特征信息分为两类:一种是系统易用性相关信息和系统一致性相关信息,系统易用性相关信息包括CPU使用率(C),内存使用率(M),网络速率(F),固态硬盘使用率(U);系统一致性相关包括流式数据进入内存的速率(V),流式数据进入内存的延迟(D),系统写入固态硬盘的速率(P),系统写入固态硬盘的延迟(Z);(2)建立基于机器学习的多元线性回归模型,根据采集的流式数据处理系统的状态特征信息采用逐步回归方法估计模型参数;(3)根据当前流式数据处理系统状态特征信息和步骤(2)建立的多元线性回归模型,计算得出当前状态下流式数据处理系统的最优持久化窗口大小;(4)流式数据处理系统根据步骤(3)得出的持久化窗口大小更改当前的持久化窗口,将流数据处理过程中的中间状态或计算结果等数据保存到固态硬盘中;(5)当固态硬盘中的数据达到一定程度即固态硬盘的使用率占到了80%时,再将固态硬盘中的数据转移到普通硬盘上。2.根据权利要求1所述的基于混合存储的流式数据自适应持久化方法,其特征在于:所述步骤(2)建立基于机器学习的多元线性回归模型,根据采集的状态特征信息估计模型参数的过程为:(21)建立的多元线性回归模型为:W=β0+β1x1+β2x2+β3x3+β4x4+β5x5+β6x6+β7x7+β8x8+∈xi,1≤i≤8为采集的流式数据处理系统的8种状态特征信息值,即CPU使用率(C),内存使用率(M),网络速率(F),固态硬盘使用率(U);系统一致性相关包括流式数据进入内存的速率(V),流式数据进入内存的延迟(D),系统写入固态硬盘的速率(P),系统写入固态硬盘的延迟(Z);β0为回归常数,βi,1≤i≤8为偏回归系数,∈为随机误差,∈~(0,σ2);W为最优持久化窗口大小;(22)采集一段时间内的流式数据处理系统的状态特征信息,设采集了m组样本数据(xi,1,xi,2,xi,2,…,xi,n:wi),i=1,2,3,…,m;n=8;xi,k表示的是第i组数据的第k分量;wi表示第i组数据的持久化窗口大小;(23)采用逐步回归方法迭代选取最优的系统状态特征集合,进而求解多元线性回归模型,基本方法为:将最优的系统状态特征集合初始化为空集,每次从剩余的系统状态特征中选取一个经过F检验为显著的特征信息加入到该集合中,重复执行这样的选择过程,直到所选取的系统状态特征集合的性能无法提升为止,由此得到最优系统状态特征集合并根据该集合计算得到回归模型的解为:3.根据权利要求1所述的基于混合存储的流式数据自适应持久化方法,其特征在于:所述步骤(3)根据当前流式数据处理系统状态特征信息和步骤(2)建立的多元线性回归模型,计算得出当前状态下流式数据处理系统的最优持久化窗口大小的过程:(31)采集当前的流式数据处理系统的状态特征信息,假设其值为(C,M,F,U,V,D,P,Z);(32)将当前流式数据处理系统的状态特征值代入到上述采用逐步回归方法...

【专利技术属性】
技术研发人员:黄涛钟华魏峻王伟唐震段世凯
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京;11

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

1