基于Storm的CVFDT在CDN运维预测中的算法

文档序号:10471011阅读:337来源:国知局
基于Storm的CVFDT在CDN运维预测中的算法
【专利摘要】本发明公开了基于Storm的CVFDT在CDN运维预测中的算法,主要用于CDN运维领域,通过对Storm拓扑进行相应建模,对高强度的应用下的磁盘或者刀片服务器出现故障的可能性进行预判。从而提高用户感受,提升服务质量。同时也为后台人员迁移数据,动态调整负载等等方面提供了一个更可靠的标准。
【专利说明】
基于storm的CVFDT在CDN运维预测中的算法
技术领域
[0001 ] 本发明设及CDN(Content Delivery化twork,内容分发网络)设备故障预测领域, 具体是通过基于Storm的CVFDT在CDN运维预测中的算法。
【背景技术】
[0002] 在CDN运维领域,当前大数据环境下的数据交互量是多样、高速、海量的,运对服务 器磁盘或者刀片服务器的负载带来了巨大的压力,同时溫度、湿度W及用户的点播行为等 因素都是难W预知的,机器出现故障的概率逐渐增加。如果等到刀片或者磁盘损坏才进行 更换,无疑会严重降低使用者的感受,给服务器运维方面带来很大的不利影响。因此当前急 需研发一套算法对刀片服务器、磁盘未来是否发生故障做出提前预判,运样后台可W迁移 数据、动态调整负载等等手段来提高可用性。

【发明内容】

[0003] 为了解决上述问题,本发明提供一种基于storm的CV抑T在CDN运维预测中的算法, 帮助运维人员对服务器磁盘或者刀片服务器的负载情况和故障发生率实现提前预判,为后 台迁移数据、动态调整负载等等手段提高可用性。
[0004] 分布式流计算系统storm是一套分布式的、可靠的,可容错的用于处理流式数据的 系统。它提供的最基本的处理流数据的原语是Spout(消息源)和Bolt(处理逻辑),通常 Spout会从外部数据源(队列、数据库等)读取数据,然后封装成元组的形式,之后发送到数 据流中。Bolt处理输入的数据流,并产生新的输出数据流。它可W执行过滤、函数操作、连接 操作数据库等任何操作。Storm系统的运些原语大大简化了并行实时数据处理,是为了适应 用海量数据和大规模计算等新需求而发展出来的模型架构。一方面它在编写和运行大型分 布式程序计算方面具有很大的优势,主要是它具有的方便和简捷的特性。另一方面,Storm 系统具有良好的容错性和很高的健壮性等特点,运些特点使Storm在研究领域和应用领域 都受到了极大的欢迎,并且得到了广泛的应用。
[0005] 基于Storm的CVFDT在CDN运维预测中的算法,包括W下步骤:
[0006] A1、启动storm拓扑,设置数据喷发节点并分配并发数;
[0007] A2、将采集的磁盘状态数据读取到训练数据源Spout,训练数据源SpoutW流的形 式把数据样本传递给预处理Bolt进行处理;
[000引 A3、在预处理Bolt中设置数据属性集并分配Bolt的并发数,预处理Bolt将样本属 性值和属性集进行匹配,将样本流中属性和类标签完整的数据元组转换成实例类,将处理 好的实例数据元组传递给建树Bolt建立预测模型;
[0009] A4、建树Bol t存储接收到的实例数据元组,基于化eff ding不等式建立决策树:达 到初始建树条件时,初始化一个窗口W,并基于当前的窗口上初始化一个根节点,当样本集 合的最佳属性和次佳属性差值满足化effding不等式时,模型叶子节点自动分裂并不断更 新,同时产生相应的替代子树防止概念漂移的发生;树的最底层叶子节点存储类别标记值 (YES,NO),YES代表磁盘未来一小时内可能会损坏,NO代表不会损坏;快速决策树算法周期 性的将最新的预测模型存入Redis缓存数据库中;
[0010] A5、快速决策树算法设置检测有效性的间隔,周期性的检测决策树的每个内部节 点及其替代子树的有效性,当用户点播行为或环境的突变影响了磁盘状态数据的分布时, 即认为发生了概念漂移,此时当前的预测模型可能与磁盘状态数据不匹配;
[0011] A6、窗口W保存实时进入的新的磁盘数据样本,同时删除先进入窗口的旧的磁盘数 据样本;重新寻找最佳分裂属性,新的属性成为一个替代子树的根节点,并且依据该根节点 建立替代子树;如果后继滑动窗口的样本在替代子树上的分类精度高于原先的决策树,贝U 替代子树取代原先的决策树,W维持滑动窗口的样本和更新后的决策树的一致性;
[0012] A7、对服务器后续出现故障的可能性进行预判时,决策树Spout从Redis数据库中 读取出决策树模型,传递给分类Bolt,由分类数据Spout喷发出待分类数据,同样先经过预 处理Bolt处理后将实例数据元组传递给分类Bolt,分类Bolt调用分类的方法得到元组对应 的决策树叶子节点的类别标签即实现了输入的磁盘状态数据未来的预测标记值(YES,N0)。
[0013]所述基于化effding不等式建立决策树过程为:使用化effding边界量化叶节点中 确定最优分裂属性所需要的样本个数,其中化effding边界描述如下:对一个真值随机变量 r,其取值范围为R,假定对r取了 η个独立的观察值,并计算了它们的平均值其化effding ·:.................. 约束对于可信度1-δ,变量r的真实值至少是?--气其中S 运里的r是信息增益,R的 取值范围是l〇g2#Classes,Classes是类别的数量;Hoeffding树中每个叶节点的内存占用 为O(dvc),其中,d为属性数目,V为每个属性可能的最大取值数目,C为类别数目。
[0014] 本发明能够快速的处理实时的流数据,对服务器状态高效分析并构建出实时精确 的预测模型;快速决策树算法分类模型输入海量的服务器状态数据,能迅速得出故障预测 结果(YES,N0);预测模型不随着时间变化的背后推动因素失去精确性,解决了概念漂移的 问题。
【附图说明】
[0015] 图1为本发明实施例基于storm的CVFDT在CDN运维预测中的算法结构图;
[0016] 图2为图1中实施例的流程图;
[0017] 图3为图1中实施例的时序图。
【具体实施方式】
[0018] 为了使本发明的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用W解释本发明,并 不用于限定本发明。
[0019] 参照图1、图2、图3所示,基于storm的CV抑T在CDN运维预测中的算法的过程是:
[0020] 1、启动一个拓扑,设置数据喷发节点并分配并发数。
[0021] 2、将采集的磁盘状态数据读取到训练数据源Spout,训练数据源Spout将W流的形 式把数据传递给后继的Bo 11进行处理。
[0022] 3、设置服务器数据集属性和数据预处理Bolt并分配并发数,预处理Bolt将样本属 性值和属性集进行匹配,将符合要求的数据元组转换成实例类,随后将处理好的实例数据 元组传递给建树Bolt建立预测模型。
[0023] 4、建树Bo 11存储接收到的实例数据元组。初始化根节点,滑动窗口 W和分裂间隔、 检测有效性间隔等各项参数,并将训练样本(U,y),ID)不断的添加到窗口W中。当满足 化effding边界条件时,叶子节点自动分裂并不断更新,同时产生相应的替代子树防止概念 漂移的发生。最终的叶子节点将存储类别标记值(YES,N0),YES代表磁盘未来一小时内可能 会损坏,NO代表不会损坏。快速决策树算法会周期性的将最新的预测模型存入Redis缓存数 据库中,供W后的预测使用。
[0024] 5、窗口W未满时,服务器状态数据流不断添加至窗口中,当窗口满时,删除样本所 经过节点的统计值,并从窗口中删除旧的样本更新窗口,保证了当前窗口上模型的实时性。
[0025] 6、快速决策树算法设置一个检测有效性的间隔,周期性的检测决策树的每个内部 节点及其替代子树,当用户点播行为或环境等背后推动因素的突变影响了磁盘状态数据的 分布时,即认为发生了概念漂移,此时当前的预测模型可能与当前的磁盘状态数据产生不 匹配的问题。
[0026] 7、预测模型随着数据流不断更新,当替代子树中的样本数达到f,统计接下来到达 的测试样本,来比较在此节点下所有替代子树的精度。如果最佳替代树的精度比原叶节点 还高,即发生了概念漂移,原叶子节点将会被最精确的替代子树替代。
[0027] 8、序列化Bolt将实时更新的决策树转换为二进制格式存入Redis数据库中供读取 分类器的Spout使用。
[00%] 9、当进行预测时,读取分类器Spout从Redis数据库中读取出决策树模型,传递给 分类Bolt,由分类数据Spout喷发出待分类数据,同样先经过预处理Bolt处理后将实例数据 元组传递给分类Bolt,分类Bolt调用分类的方法得到元组对应的决策树叶子节点的类别标 签即实现了输入的磁盘状态数据未来的预测标记值(YES,N0)。
[0029]本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括 由W上技术特征任意组合所组成的技术方案。
【主权项】
1. 基于Storm的CVFDT在⑶N运维预测中的算法,其特征在于,包括以下步骤: A1、启动storm拓扑,设置数据喷发节点并分配并发数; A2、将采集的磁盘状态数据读取到训练数据源Spout,训练数据源Spout以流的形式把 数据样本传递给预处理Bolt进行处理; A3、在预处理Bolt中设置数据属性集并分配Bolt的并发数,预处理Bolt将样本属性值 和属性集进行匹配,将样本流中属性和类标签完整的数据元组转换成实例类,将处理好的 实例数据元组传递给建树Bolt建立预测模型; A4、建树此11:存储接收到的实例数据元组,基于!1〇6打(1;[1^不等式建立决策树:达到初 始建树条件时,初始化一个窗口W,并基于当前的窗口上初始化一个根节点,当样本集合的 最佳属性和次佳属性差值满足Hoeffding不等式时,模型叶子节点自动分裂并不断更新,同 时产生相应的替代子树防止概念漂移的发生;树的最底层叶子节点存储类别标记值(YES, NO),YES代表磁盘未来一小时内可能会损坏,NO代表不会损坏;快速决策树算法周期性的将 最新的预测模型存入Redis缓存数据库中; A5、快速决策树算法设置检测有效性的间隔,周期性的检测决策树的每个内部节点及 其替代子树的有效性,当用户点播行为或环境的突变影响了磁盘状态数据的分布时,即认 为发生了概念漂移,此时当前的预测模型可能与磁盘状态数据不匹配; A6、窗口 W保存实时进入的新的磁盘数据样本,同时删除先进入窗口的旧的磁盘数据样 本;重新寻找最佳分裂属性,新的属性成为一个替代子树的根节点,并且依据该根节点建立 替代子树;如果后继滑动窗口的样本在替代子树上的分类精度高于原先的决策树,则替代 子树取代原先的决策树,以维持滑动窗口的样本和更新后的决策树的一致性; A7、对服务器后续出现故障的可能性进行预判时,决策树Spout从Redis数据库中读取 出决策树模型,传递给分类Bolt,由分类数据Spout喷发出待分类数据,同样先经过预处理 Bolt处理后将实例数据元组传递给分类Bolt,分类Bolt调用分类的方法得到元组对应的决 策树叶子节点的类别标签即实现了输入的磁盘状态数据未来的预测标记值(YES,N0)。2. 根据权利要求1所述的基于Storm的CVroT在CDN运维预测中的算法,其特征在于,所 述基于Hoeffding不等式建立决策树过程为:使用Hoeffding边界量化叶节点中确定最优分 裂属性所需要的样本个数,其中Hoeffding边界描述如下:对一个真值随机变量r,其取值范 围为R,假定对r取了η个独立的观察值,并计算了它们的平均值^其Hoeffding约束对于可 信度1-S变量r的真实值至少是这里的r是信息增益,R的取值范围是 log2#Classes,Classes是类别的数量;Hoeffding树中每个叶节点的内存占用为O(dvc),其 中,d为属性数目,v为每个属性可能的最大取值数目,c为类别数目。
【文档编号】G06F11/07GK105824715SQ201610147855
【公开日】2016年8月3日
【申请日】2016年3月15日
【发明人】季木, 季一木, 郎贤波, 王汝传, 谈海宇, 岳栋, 张殿超, 张永潘
【申请人】南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1