您好, 访客   登录/注册

云计算下多源异构大数据算法研究

来源:用户上传      作者:张志强

  摘要:在互联网技术迅速普及的大潮下,信息数据呈指数增长趋势,如何对这些异构数据进行高效处理和调度,成为当今大数据处理的一个研究热点,针对这一热点,该文提出云计算下多源异构大数据的优化算法,首先通过阈值对比预取大数据源,接着进行数据调度优先级计算,最后按优先权值确定调度顺序,选择合理处理器执行。通过本算法与传统大数据调度方法对比实验,证明本算法具有更高的加速比和吞吐量的优点。
  关键词:云计算;异构数据;数据源
  中图分类号:TP391 文献标识码:A
  文章编号:1009-3044(2022)15-0025-03
  1 引言
  在互联网技术迅速普及的大潮下,信息数据呈指数增长趋势,庞大的数据由于来源不一、分布不一,其数据结构具有多样性、多源性、异构性、复制性的特点[1]。如何对这些异构数据进行高效处理和调度,成为当今大数据处理的一个研究热点,其中对大数据跨源调度算法的研究更是广大相关学者广泛关注的一个课题。
  现今,大数据多源异构体结构一般包括三种形式:DBMS异构形式、SELECT异构形式以及FROM 异构形式[2]。目前国内相关研究重点是围绕这三种形式关于如何解决大数据多源异构合理调度和有效对接方面 [3]。如夏明等虽然提出对全部变量进行更新处理,将所有待调度多源异构子流的质量以权重的方式重新组合排列,然后从排列出来的多源异构子流群里优先选择高质量的子流来作为传输的数据,通过反复操作后,最终把所有的调度的多源异构子全部处理完毕[4],但对各类多源异构数据差异性研究不足,不能解决大量复杂多源异构数据的有效调度问题;刘运提出结合采集和融合手段,先构建统一的数据模型标准,然后再按照数据分类构造各个分类体系,包括数据结构、运营机制、约束方法等,最后把纵向多源异构数据和横向多源异构数据相互融合在一起,以解决其一致性的问题[5],但此算法开销太大,对系统的负荷过重,算法运行速度过慢;岳婧文等将渲染应用特点以及作业调度算法相结合,将任务划分为不同的子任务,引入Min-min 以及Max-min 思想构建时间负载均衡模型[6],该方法虽然解决了开销问题,但适用范围十分有限,对于并行度高的大数据调度很难达到理想的效果。本文针对云计算下的复杂多源异构大数据,提出首先通过冲突检测预取异构数据,然后利用标准方差值计算数据调度优先级,最后依据优先权值确定调度顺序,选择合理处理器执行。实验证明本文算法与传统调度算法在相同的硬件环境下,具有更高的平均加速比,调度时间更短的优点。当丢包率不断增高时,本算法还能保持十分理想的吞吐量,从而证明本文算法相比其他算法具备更高的调度能力。
  2 云计算下多源异构大数据的跨源调度算法
  2.1 云计算下的多源异构大数据预取
  由于多源异构大数据源的数据体烦琐、凌乱,所以需要先进行前期的归一整理,即预取操作,通过预取算法,缩短数据源开始的计算时间,减少系统运行成本[7]。由于多源异构大数据具备数据源差异的特征,可以认为每个数据源来自不同的任务。使用[Map]来表示数据源的任务,通过完成的[Map]任务数与[Map]任务总数的比率来计算[Map]比率,然后设置一个预定的阈值。当比率达到预定阈值时,实现多源异构大数据源的预取操作,如式(1)所示。
  [Ratemap=MapNumsfinishedMapNumstotal] (1)
   在式(1)中,[MapNumsfinished]表示完成的映射任务数;[MapNumstotal]表示所有映射总任务数。在整个预取算法运行过程中,很容易会出现多个节点同一时间从相同的输出结果中预取数据,形成竞争状态,从而降低预取的效率。为解决上述问题,可以通过加入冲突判断算法来提供数据预取的效率。当另一个任务在该任务预取数据的节点中预取数据时,将丢弃该数据,并预取其他节点上所需的数据。如果在某个时间段内,系统占用了所有的节点,那么,算法就会错开一个时间,再进行读取,算法如下:
  [WaitingTime=rateTIME] (2)
  [rate=DatafinishedDatatotal] (3)
  在式(2)和式(3)中,稻[Datafinished]用于描述已预取的数据,[Datatotal]用于描述全部需要预取的数据;[TIME]为时间常量,主要作用是代表在多源异构的环境里传输所有数据所需的时间;[WaitingTime]代表的是等待的时间,该时间与预取异构数据的速度成正比关系。如果预取数据的速度不断增加,那么[WaitingTime]的值也就越大。
  2.2 多源异构大数据跨源调度算法
  2.2.1 数据调度优先级计算
  上述算法在计算异构数据调度优先级的过程时,会把出口节点作为出发点向上迭代来得到每个节点的优先权值[rankj],然后实现异构数据调度的排序方式,因此,节点[rankj]的计算公式如式(4)。
  [rankjQi=maxωi×δi+Z(Qi)O(QI)+rankj(QJ)rankjQexit=ωexit×δexit] (4)
  式(4)中,[δi]代表对变量[Qi]进行计算所需要系统开销的标准方差;[O(Qi)]代表变量[Qi]所有后继节点的数目;[Z(Qi)]代表算法的总系统开销。从式(4)可以看出,[δi]能比较有效地反映同一数据在不同处理器中的差异值,当差异值增大时,[δi]的值也会提高,这时系统的调度效果越好。如果把[δi]与节点的平均值相乘,并将所得结果作为计算权重,可以确保算法在一定系统开销上的公平性。如果把总系统开销[Z(Qi)]除以传出量,那么,得到的商可以作为系统的通信开销权重。上述算法与传统通信权重算法相比,更能确保数据计算差异和通信开销之间的平衡关系,从而提高在多源异构环境中跨源数据调度的稳定性。

nlc202207151202



转载注明来源:https://www.xzbu.com/8/view-15436000.htm

相关文章