面向实时数据分析的流式图数据处理系统及方法

文档序号:9730256阅读:588来源:国知局
面向实时数据分析的流式图数据处理系统及方法
【技术领域】
[0001] 本发明设及大数据处理技术领域,尤其设及一种面向实时数据分析的流式图数据 处理系统及方法。
【背景技术】
[0002] 最近几年,Twitter Jacebook、微博等社交网络日渐兴起,占据了互联网企业的重 要席位,人们对社交网络的依赖性日益增强,包括和朋友聊天、向别人发布自己的状态,W 及了解最新的信息和新闻等等。由于社交网络的应用需要能够对大规模社交网络图进行实 时分析,例如,需要依据网络拓扑图的实时变化进行朋友推荐、新鲜事排序、广告投放或者 实时捜索,因此社交网络的应用需要一种实时性很高的图处理系统。
[0003] 目前流行的图计算模型是全局的、批量的计算模型,由于社交网络的规模比较大, 单次基于图的运算需要很长时间,因此不能满足社交网络应用的实时性需求。为满足实时 性需求,图1为现有的一种流式图数据处理系统结构图,结合图1,该系统对流式图数据的处 理过程为:首先数据加工节点(图示η个)将原始图数据切分后按照索引分配到各个图存储 与计算节点(图示多个)上,图结构与图数据分开保存,在流式更新数据(即图更新数据)到 来后,数据加工节点将流式更新数据识别处理为图结构更新操作后发送到图存储与计算节 点,同时在识别处理图结构更新操作的过程中,为该更新操作设置一个序号并将该更新操 作W及对应的序号发送至更新进度表中,每隔一段时间,快照产生器会读取更新进度表中 的数据获取最新操作的序号,然后将小于最新操作的序号的操作合并后发送给每一图存储 与计算节点作为增量算法的输入,由每一图存储与计算节点中的计算单元进行计算。
[0004] 上述流式图数据处理过程中,由于流式图数据中普遍存在热点数据(如突发事件、 爆炸性新闻等),热点数据更新频繁,会占用大量的计算资源,因此会导致计算倾斜,如某些 图存储与计算节点的数据计算量远高于其他图存储与计算节点的数据计算量,使得总的处 理时间延长,处理效率不高。

【发明内容】

[0005] 本发明提供一种面向实时数据分析的流式图数据处理系统及方法,采用热点检测 与热点数据迁移的优化方式保证数据处理的高效性,从而解决了现有技术中处理效率不高 的问题。
[0006] 第一方面,本发明提供一种面向实时数据分析的流式图数据处理系统,包括:
[0007] 原始数据分析器、热点检测器、热点负载均衡器、协同调度器和Ν个计算分区,每一 个计算分区包括用于存储静态图数据的图结构存储区和更新操作缓存区;
[000引所述原始数据分析器用于:将一个时间片内接收到的流式更新数据转化为图更新 数据,并将所述图更新数据发送到热点检测器,同时根据数据迁移记录表和基于索引的切 分方法将所述图更新数据切分为Ν个数据块,将所述Ν个数据块发送到对应的计算分区的更 新操作缓存区中;
[0009] 所述热点检测器用于检测所述图更新数据是否为热点数据;
[0010] 所述热点负载均衡器用于周期性地对所述热点检测器在预设时间段内检测到的 所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,并将 进行数据迁移的热点数据通知给所述原始数据分析器;
[0011] 所述原始数据分析器还用于将进行数据迁移的热点数据记录在所述数据迁移记 录表中;
[0012] 所述协同调度器用于:检测到有应用发出计算请求后,根据所有计算分区中的数 据得到当前图结构数据,调用所述应用的算法并将所述当前图结构数据作为输入执行所述 应用的算法。
[0013] 进一步地,所述协同调度器具体用于:
[0014] 通知每个计算分区将自身的更新操作缓存区中的数据块合并到图结构存储区中, 将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。
[0015] 进一步地,所述热点检测器具体用于:
[0016] 统计所述图更新数据在t到t+1时刻的更新次数UT(t+l),通过如下公式计算所述 图更新数据在t+1时刻的热度HR(t+l):
[0017] HR(t+l)=AHR(t)+UT(t+l);
[0018] 接着通过公式:
计算所述图更新数据的标准分score;
[0019 ]其中,λ为热度的衰减系数,λ< 1,μ (t)与σ (t)分别为t时刻HR( t)的均值与标准差;
[0020] 若score的值大于预设阔值,则确定所述图更新数据是热点数据,若否,则确定所 述图更新数据不是热点数据。
[0021] 进一步地,所述热点负载均衡器具体用于:
[0022] 通过公式cost =皿· AEdges%十算在预设时间段内检测到的所有热点数据的计算 开销cost,其中,AEdges为热点数据的邻接的边的数目,α为传播系数;
[0023] 确定是否是第一次执行负载均衡操作,若是,则将全部热点数据按照cost从大到 小排序,遍历全部热点数据,对于每个热点数据,将其分配给当前已分配的总计算开销最小 的计算分区;
[0024] 若否,循环执行如下操作:
[0025] S1、将已分配到每个计算分区的热点数据按照cost从大到小排序,确定出总cost 最大的和总cost最小的计算分区;
[00%] S2、确定出k,满足排在前k的热点数据的cost总和大于总cost最小的计算分区的 总cost;
[0027] S3、若k小于总cost最小的计算分区的热点数据个数,将cost排在第k+1的热点数 据迁移到总cost最小的计算分区上,继续执行S1;
[002引 S4、否则,循环终止。
[0029] 进一步地,所述协同调度器包括数据存储单元,所述数据存储单元用于存储注册 到所述系统的每一应用的计算执行频率和上一次的执行时刻:
[0030] 所述协同调度器还用于:
[0031] 检测到有多个应用发出计算请求时,调度多个应用依次执行,在调度每一应用执 行时,通知每个计算分区将自身的更新操作缓存区中从上一次执行时刻到当前时刻的全部 数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到所 述当前图结构数据。
[0032] 第二方面,本发明提供一种面向实时数据分析的流式图数据处理方法,包括:
[0033] 将一个时间片内接收到的流式更新数据转化为图更新数据;
[0034] 根据数据迁移记录表和基于索引的切分方法将所述图更新数据切分为N个数据 块,将所述N个数据块发送到对应的计算分区的更新操作缓存区中,所述计算分区有N个,每 一个计算分区包括用于存储静态图数据的图结构存储区和更新操作缓存区;
[0035] 检测所述图更新数据是否为热点数据;
[0036] 周期性地对在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点 负载均衡进行计算分区之间的数据迁移,并将进行数据迁移的热点数据记录在所述数据迁 移记录表中;
[0037] 检测到有应用发出计算请求后,根据所有计算分区中的数据得到当前图结构数 据,调用所述应用的算法并将所述当前图结构数据作为输入执行所述应用的算法。
[0038] 进一步地,所述根据所有计算分区中的数据得到当前图结构数据,包括:
[0039] 通知每个计算分区将自身的更新操作缓存区中的数据块合并到图结构存储区中, 将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。
[0040] 进一步地,所述检测所述图更新数据是否为热点数据,包括:
[0041] 统计所述图更新数据在t到t+1时刻的更新次数UT(t+l),通过如下公式计算所述 图更新数据在t+1时刻的热度HR(t+l):
[0042] HR(t+l)=AHR(t)+UT(t+l);
[0043] 接着通过公式
开算所述图更新数据的标准分score;
[0044] 其中,λ为热度的衰减系数,λ< 1,μ (t)与σ (t)分别为t时刻HR( t)的均值与标准差;
[0045] 若score的值大于预设阔值,则确定所述图更新数据是热点数据,若否,则确定所 述图更新数据不是热点数据。
[0046] 进一步地,所述周期性地对在预设时间段内检测到的所有热点数据进行热点负载 均衡,根据热点负载均衡进行计算分区之间的数据迁移,包括:
[0047] 通过公式:cost =皿· AEdges%十算在预设时间段内检测到的所有热点数据的计 算开销cost,其中,AEdges为热点数据的邻接的边的数目,α为传播系数;
[004引确定是否是第一次执行负载均衡操作,若是,则将全部热点数据按照cost从大到 小排序,遍历全部热点数据,对于每个热点数据,将其分配给当前已分配的总计算开销最小 的计算分区;
[0049] 若否,循环执行如下操作:
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1