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

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

Info

Publication number
CN105491117A
CN105491117A CN201510844913.6A CN201510844913A CN105491117A CN 105491117 A CN105491117 A CN 105491117A CN 201510844913 A CN201510844913 A CN 201510844913A CN 105491117 A CN105491117 A CN 105491117A
Authority
CN
China
Prior art keywords
data
hot spot
calculating
subregion
graph structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510844913.6A
Other languages
English (en)
Other versions
CN105491117B (zh
Inventor
李建欣
琚午阳
于伟仁
张日崇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yixin Yiyi Technology Co.,Ltd.
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201510844913.6A priority Critical patent/CN105491117B/zh
Publication of CN105491117A publication Critical patent/CN105491117A/zh
Application granted granted Critical
Publication of CN105491117B publication Critical patent/CN105491117B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种面向实时数据分析的流式图数据处理系统及方法。该系统包括:原始数据分析器、热点检测器、热点负载均衡器、协同调度器和N个计算分区。本发明提供的面向实时数据分析的流式图数据处理系统及方法,由于对图更新数据进行了热点检测与热点数据迁移,避免了不同计算分区的计算倾斜,因此保证了数据处理的高效性。

Description

面向实时数据分析的流式图数据处理系统及方法
技术领域
本发明涉及大数据处理技术领域,尤其涉及一种面向实时数据分析的流式图数据处理系统及方法。
背景技术
最近几年,Twitter、Facebook、微博等社交网络日渐兴起,占据了互联网企业的重要席位,人们对社交网络的依赖性日益增强,包括和朋友聊天、向别人发布自己的状态,以及了解最新的信息和新闻等等。由于社交网络的应用需要能够对大规模社交网络图进行实时分析,例如,需要依据网络拓扑图的实时变化进行朋友推荐、新鲜事排序、广告投放或者实时搜索,因此社交网络的应用需要一种实时性很高的图处理系统。
目前流行的图计算模型是全局的、批量的计算模型,由于社交网络的规模比较大,单次基于图的运算需要很长时间,因此不能满足社交网络应用的实时性需求。为满足实时性需求,图1为现有的一种流式图数据处理系统结构图,结合图1,该系统对流式图数据的处理过程为:首先数据加工节点(图示n个)将原始图数据切分后按照索引分配到各个图存储与计算节点(图示多个)上,图结构与图数据分开保存,在流式更新数据(即图更新数据)到来后,数据加工节点将流式更新数据识别处理为图结构更新操作后发送到图存储与计算节点,同时在识别处理图结构更新操作的过程中,为该更新操作设置一个序号并将该更新操作以及对应的序号发送至更新进度表中,每隔一段时间,快照产生器会读取更新进度表中的数据获取最新操作的序号,然后将小于最新操作的序号的操作合并后发送给每一图存储与计算节点作为增量算法的输入,由每一图存储与计算节点中的计算单元进行计算。
上述流式图数据处理过程中,由于流式图数据中普遍存在热点数据(如突发事件、爆炸性新闻等),热点数据更新频繁,会占用大量的计算资源,因此会导致计算倾斜,如某些图存储与计算节点的数据计算量远高于其他图存储与计算节点的数据计算量,使得总的处理时间延长,处理效率不高。
发明内容
本发明提供一种面向实时数据分析的流式图数据处理系统及方法,采用热点检测与热点数据迁移的优化方式保证数据处理的高效性,从而解决了现有技术中处理效率不高的问题。
第一方面,本发明提供一种面向实时数据分析的流式图数据处理系统,包括:
原始数据分析器、热点检测器、热点负载均衡器、协同调度器和N个计算分区,每一个计算分区包括用于存储静态图数据的图结构存储区和更新操作缓存区;
所述原始数据分析器用于:将一个时间片内接收到的流式更新数据转化为图更新数据,并将所述图更新数据发送到热点检测器,同时根据数据迁移记录表和基于索引的切分方法将所述图更新数据切分为N个数据块,将所述N个数据块发送到对应的计算分区的更新操作缓存区中;
所述热点检测器用于检测所述图更新数据是否为热点数据;
所述热点负载均衡器用于周期性地对所述热点检测器在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,并将进行数据迁移的热点数据通知给所述原始数据分析器;
所述原始数据分析器还用于将进行数据迁移的热点数据记录在所述数据迁移记录表中;
所述协同调度器用于:检测到有应用发出计算请求后,根据所有计算分区中的数据得到当前图结构数据,调用所述应用的算法并将所述当前图结构数据作为输入执行所述应用的算法。
进一步地,所述协同调度器具体用于:
通知每个计算分区将自身的更新操作缓存区中的数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。
进一步地,所述热点检测器具体用于:
统计所述图更新数据在t到t+1时刻的更新次数UT(t+1),通过如下公式计算所述图更新数据在t+1时刻的热度HR(t+1):
HR(t+1)=λHR(t)+UT(t+1);
接着通过公式:计算所述图更新数据的标准分score;
其中,λ为热度的衰减系数,λ<1,μ(t)与σ(t)分别为t时刻HR(t)的均值与标准差;
若score的值大于预设阈值,则确定所述图更新数据是热点数据,若否,则确定所述图更新数据不是热点数据。
进一步地,所述热点负载均衡器具体用于:
通过公式cost=HR·AEdgesα计算在预设时间段内检测到的所有热点数据的计算开销cost,其中,AEdges为热点数据的邻接的边的数目,α为传播系数;
确定是否是第一次执行负载均衡操作,若是,则将全部热点数据按照cost从大到小排序,遍历全部热点数据,对于每个热点数据,将其分配给当前已分配的总计算开销最小的计算分区;
若否,循环执行如下操作:
S1、将已分配到每个计算分区的热点数据按照cost从大到小排序,确定出总cost最大的和总cost最小的计算分区;
S2、确定出k,满足排在前k的热点数据的cost总和大于总cost最小的计算分区的总cost;
S3、若k小于总cost最小的计算分区的热点数据个数,将cost排在第k+1的热点数据迁移到总cost最小的计算分区上,继续执行S1;
S4、否则,循环终止。
进一步地,所述协同调度器包括数据存储单元,所述数据存储单元用于存储注册到所述系统的每一应用的计算执行频率和上一次的执行时刻:
所述协同调度器还用于:
检测到有多个应用发出计算请求时,调度多个应用依次执行,在调度每一应用执行时,通知每个计算分区将自身的更新操作缓存区中从上一次执行时刻到当前时刻的全部数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。
第二方面,本发明提供一种面向实时数据分析的流式图数据处理方法,包括:
将一个时间片内接收到的流式更新数据转化为图更新数据;
根据数据迁移记录表和基于索引的切分方法将所述图更新数据切分为N个数据块,将所述N个数据块发送到对应的计算分区的更新操作缓存区中,所述计算分区有N个,每一个计算分区包括用于存储静态图数据的图结构存储区和更新操作缓存区;
检测所述图更新数据是否为热点数据;
周期性地对在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,并将进行数据迁移的热点数据记录在所述数据迁移记录表中;
检测到有应用发出计算请求后,根据所有计算分区中的数据得到当前图结构数据,调用所述应用的算法并将所述当前图结构数据作为输入执行所述应用的算法。
进一步地,所述根据所有计算分区中的数据得到当前图结构数据,包括:
通知每个计算分区将自身的更新操作缓存区中的数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。
进一步地,所述检测所述图更新数据是否为热点数据,包括:
统计所述图更新数据在t到t+1时刻的更新次数UT(t+1),通过如下公式计算所述图更新数据在t+1时刻的热度HR(t+1):
HR(t+1)=λHR(t)+UT(t+1);
接着通过公式计算所述图更新数据的标准分score;
其中,λ为热度的衰减系数,λ<1,μ(t)与σ(t)分别为t时刻HR(t)的均值与标准差;
若score的值大于预设阈值,则确定所述图更新数据是热点数据,若否,则确定所述图更新数据不是热点数据。
进一步地,所述周期性地对在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,包括:
通过公式:cost=HR·AEdgesα计算在预设时间段内检测到的所有热点数据的计算开销cost,其中,AEdges为热点数据的邻接的边的数目,α为传播系数;
确定是否是第一次执行负载均衡操作,若是,则将全部热点数据按照cost从大到小排序,遍历全部热点数据,对于每个热点数据,将其分配给当前已分配的总计算开销最小的计算分区;
若否,循环执行如下操作:
S1、将已分配到每个计算分区的热点数据按照cost从大到小排序,确定出总cost最大的和总cost最小的计算分区;
S2、确定出k,满足排在前k的热点数据的cost总和大于总cost最小的计算分区的总cost;
S3、若k小于总cost最小的计算分区的热点数据个数,将cost排在第k+1的热点数据迁移到总cost最小的计算分区上,继续执行S1;
S4、否则,循环终止。
进一步地,还包括:
接收到应用的注册请求后,存储所述应用的计算执行频率和上一次的执行时刻:
检测到有多个应用发出计算请求时,调度多个应用依次执行,在调度每一应用执行时,所述根据所有计算分区中的数据得到当前图结构数据,包括:
通知每个计算分区将自身的更新操作缓存区中从上一次执行时刻到当前时刻的全部数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。
本发明提供的面向实时数据分析的流式图数据处理系统及方法,通过原始数据分析器将图更新数据发送到热点检测器,同时根据数据迁移记录表和基于索引的切分方法将图更新数据切分为N个数据块,将N个数据块发送到对应的计算分区的更新操作缓存区中,热点检测器检测该图更新数据是否为热点数据,热点负载均衡器周期性地对热点检测器在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,并将进行数据迁移的热点数据通知给原始数据分析器存储在数据迁移记录表中,最后协同调度器在检测到有应用发出计算请求后,根据所有计算分区中的数据得到当前图结构数据,调用应用的算法并将当前图结构数据作为输入执行应用的算法。由于对图更新数据进行了热点检测与热点数据迁移,避免了不同计算分区的计算倾斜,因此保证了数据处理的高效性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有的一种流式图数据处理系统结构图;
图2为本发明面向实时数据分析的流式图数据处理系统实施例一的结构示意图;
图3为本实施例中基于Hash的二维图切分方法的切分过程示意图;
图4为本实施例中第一次执行负载均衡操作的示意图;
图5示出了执行上述算法的结果示意图;
图6为协同调度器调度两个应用时的一个计算分区中的数据块合并示意图;
图7为本发明面向实时数据分析的流式图数据处理方法实施例一的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明面向实时数据分析的流式图数据处理系统实施例一的结构示意图,如图2所示,本实施例的系统可以包括:原始数据分析器10、热点检测器11、热点负载均衡器12、协同调度器13和N个计算分区,每一个计算分区包括用于存储静态图数据的图结构存储区和更新操作缓存区。更新操作缓存区用于存储流式图的更新数据,每一个时间片中得到的更新数据按顺序分数据块保存。
其中,原始数据分析器10用于:将一个时间片内接收到的流式更新数据转化为图更新数据(比如添加一个点,改变一条边的属性等),并将图更新数据发送到热点检测器,同时根据数据迁移记录表和基于索引的切分方法将图更新数据切分为N个数据块,将N个数据块发送到对应的计算分区的更新操作缓存区中,每个数据块与计算分区一一对应,数据迁移记录表存储在原始数据分析器10中,用于存储进行了数据迁移的热点数据。
其中,为了使图的存储结构能够随机存取以支持图的细粒度与高效率更新,本实施例中采用基于Hash的二维图切分方法,且方法使用了点切分方式。
本实施例中的切分方法基于以下的计算模型:给定一个N×N的图的稀疏邻接矩阵E(X轴表示边的起点,Y轴表示边的终点)以及P=K×L个计算分区,最终目标是将这些边均匀的分配到这P个计算分区中同时最小化每个点被切分存储到不同分区的个数。因为这P个计算分区被划分为了一个矩阵的形式,所以任意点被切分存储到不同分区的个数得到了限制,由此造成的通信开销也就得到了约束。
本实施例中的切分方法具体可以分为两步:首先,用边的起点的标识对K求Hash值,这样就根据起点将所有的边初步分为了K个部分,之后对这K个部分进一步切分,用每一条边的终点的标识对L求Hash值,将每一部分又进一步切分为了L个部分,至此,所有的边被均匀的分配到了这P个计算分区中,而且对于每一个点,在最坏情况下它需要存储的副本个数是K+L-1。
图3为本实施例中基于Hash的二维图切分方法的切分过程示意图,如图3所示,本实施例中以将一个8×8的稀疏邻接矩阵中表示的边切分到2×2个计算分区中的过程,不同的形状表示了不同的计算分区,图3(a)示出了原始的邻接矩阵,图3(b)示出了经过第一步切分之后的结果,图3(c)示出了经过第二步切分之后的结果。
热点检测器11用于检测该图更新数据是否为热点数据。具体地,按照如下操作检测:
统计图更新数据在t到t+1时刻的更新次数UT(t+1),通过如下公式计算图更新数据在t+1时刻的热度HR(t+1):
HR(t+1)=λHR(t)+UT(t+1)。
接着通过公式:计算图更新数据的标准分score。
其中,λ为热度的衰减系数,λ<1,μ(t)与σ(t)分别为t时刻HR(t)的均值与标准差。若score的值大于预设阈值,则确定图更新数据是热点数据,若否,则确定图更新数据不是热点数据。
热点负载均衡器12用于周期性地对热点检测器11在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,并将进行数据迁移的热点数据通知给原始数据分析器10。热点数据的负载均衡的根本目标是让每个分区的热点的总计算开销尽量保持接近,考虑到热点数据的持续性以及减少性能开销,热点数据的检测与负载均衡会在一个相对较长的时间周期内执行一次(比如30分钟),具体地,热点负载均衡器12首先通过公式cost=HR·AEdgesα计算在预设时间段内检测到的所有热点数据的计算开销cost,其中,AEdges为热点数据的邻接的边的数目,α为传播系数,经过大量实验本实施例中将其设定为1.5,预设时间为预设的周期,例如设为30分钟。接着确定是否是第一次执行负载均衡操作,若是,则将全部热点数据按照cost从大到小排序,遍历全部热点数据,对于每个热点数据,将其分配给当前已分配的总计算开销最小的计算分区。本发明中称上述算法为贪心算法,图4为本实施例中第一次执行负载均衡操作的示意图,如图4所示,4个计算分区,11个热点数据的cost从大到小排序,执行负载均衡操作后,每个热点数据分配到4个计算分区如图4所示。
若否,采用基于贪心和交换的负载均衡算法,循环执行如下操作:
S1、将已分配到每个计算分区的热点数据按照cost从大到小排序,确定出总cost最大的和总cost最小的计算分区;
S2、确定出k,满足排在前k的热点数据的cost总和大于总cost最小的计算分区的总cost;
S3、若k小于总cost最小的计算分区的热点数据个数,将cost排在第k+1的热点数据迁移到总cost最小的计算分区上,继续执行S1;
S4、否则,循环终止。
图5示出了执行上述算法的结果示意图,如图5所示,第一次循环过程将计算分区0中计算开销为2的热点迁移到了计算分区1中,第二次循环过程将计算分区2中计算开销为3的热点迁移到了计算分区3中,第三次循环过程将计算分区0中计算开销为1的热点迁移到了计算分区2中,至此算法结束。
原始数据分析器10还用于将进行数据迁移的热点数据记录在数据迁移记录表中,这样可保证图更新数据切分的正确性。
协同调度器13用于:检测到有应用发出计算请求后,根据所有计算分区中的数据得到当前图结构数据,调用应用的算法并将当前图结构数据作为输入执行应用的算法。其中,协同调度器13根据所有计算分区中的数据得到当前图结构数据,具体为:通知每个计算分区将自身的更新操作缓存区中的数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到当前图结构数据。
可以看出,按照本实施例提供的面向实时数据分析的流式图数据处理系统,系统的操作是按照时间片划分,在某一个时间片内的更新数据会积攒起来一起处理,这样可以提高系统的执行效率。
本实施例提供的面向实时数据分析的流式图数据处理系统,通过原始数据分析器将图更新数据发送到热点检测器,同时根据数据迁移记录表和基于索引的切分方法将图更新数据切分为N个数据块,将N个数据块发送到对应的计算分区的更新操作缓存区中,热点检测器检测该图更新数据是否为热点数据,热点负载均衡器周期性地对热点检测器在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,并将进行数据迁移的热点数据通知给原始数据分析器存储在数据迁移记录表中,最后协同调度器在检测到有应用发出计算请求后,根据所有计算分区中的数据得到当前图结构数据,调用应用的算法并将当前图结构数据作为输入执行应用的算法。由于对图更新数据进行了热点检测与热点数据迁移,避免了不同计算分区的计算倾斜,因此保证了数据处理的高效性。
进一步地,现有技术中还存在一缺陷,当存在多个有不同计算请求频率的应用(比如应用A每5秒进行一次计算,应用B每10秒进行一次计算)同时在系统上运行时,现有的处理系统无法应对。为解决这一问题,本发明的协同调度器可应对有不同计算请求频率的多应用的运行,协同调度器13控制每个计算分区中更新操作缓存区中的数据块合并到底层图结构中的时间以及释放的时间。在图2所示系统结构的基础上,协同调度器13包括数据存储单元,所述数据存储单元用于存储注册到所述系统的每一应用的计算执行频率和上一次的执行时刻。此时协同调度器13还用于:检测到有多个应用发出计算请求时,调度多个应用依次执行,在调度每一应用执行时,通知每个计算分区将自身的更新操作缓存区中从上一次执行时刻到当前时刻的全部数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。接着调用对应应用的算法并将所述当前图结构数据作为输入执行该应用的算法。
具体来说,当一个应用注册本发明的系统时,针对每一个应用,系统会创建一个数据存储单元来存储应用相关的信息,包括应用的计算执行频率、上一次的执行时刻,也可以包括下一次的调用时刻(即就是上一次执行时刻加上计算执行频率),同时,系统还会维护一个全局变量,用来保存上一次将数据块合并入底层图结构的时刻。对某一时刻而言,如果协同调度器13检测到没有任何应用发出计算请求,将什么也不做。如果有计算请求的话,将进行如下操作:
控制每个计算分区,将从上一次数据块合并时刻到当前时刻的所有计算分区中的数据块中的数据合并入底层图结构,为了提高系统效率,依旧采用批处理的方式,即将每一计算分区中的数据块合并成为一个整体,然后再将所有计算分区合并后的整体合并入底层图结构。最后,合并时间被更新为当前时刻。
协同调度器13调度多个应用依次执行,对于增量计算模式,每个应用的算法输入就是从上一次执行时刻到当前时刻的全部计算分区中的数据,在应用算法执行完毕之后,应用相应的上一次执行时刻为当前时刻,下一次执行时刻也会相应的进行更新。在完成所有的应用调用之后,协同调度器13会遍历检查所有应用的上一次执行时刻并且得到最久远的一个,在这个时刻之前的所有计算分区中的数据块的数据会被释放,因为它们不可能再被使用。图6为协同调度器调度两个应用时的一个计算分区中的数据块合并示意图,协同调度器上有两个应用,执行频率分别为2和3,如图6所示,t0为初始时刻,那么在t2时刻数据块1和数据块2中的数据会被合并入底层图结构,在t2时刻数据块3会被合并入底层图结构并且数据块1和数据块2会被释放,以此类推。
通过协同调度器的调度,本实施例提供的面向实时数据分析的流式图数据处理系统可以应对有不同计算请求频率的多应用的运行。
图7为本发明面向实时数据分析的流式图数据处理方法实施例一的流程图,如图7所示,本实施例的方法可以包括:
S101、将一个时间片内接收到的流式更新数据转化为图更新数据。
S102、根据数据迁移记录表和基于索引的切分方法将图更新数据切分为N个数据块,将N个数据块发送到对应的计算分区的更新操作缓存区中,计算分区有N个,每一个计算分区包括用于存储静态图数据的图结构存储区和更新操作缓存区。
S103、检测图更新数据是否为热点数据。
具体地,包括以下步骤:
统计图更新数据在t到t+1时刻的更新次数UT(t+1),通过如下公式计算图更新数据在t+1时刻的热度HR(t+1):
HR(t+1)=λHR(t)+UT(t+1);
接着通过公式计算图更新数据的标准分score;
其中,λ为热度的衰减系数,λ<1,μ(t)与σ(t)分别为t时刻HR(t)的均值与标准差;
若score的值大于预设阈值,则确定图更新数据是热点数据,若否,则确定图更新数据不是热点数据。
S104、周期性地对在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,并将进行数据迁移的热点数据记录在数据迁移记录表中。
其中,周期性地对在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,具体包括:
通过公式:cost=HR·AEdgesα计算在预设时间段内检测到的所有热点数据的计算开销cost,其中,AEdges为热点数据的邻接的边的数目,α为传播系数;
确定是否是第一次执行负载均衡操作,若是,则将全部热点数据按照cost从大到小排序,遍历全部热点数据,对于每个热点数据,将其分配给当前已分配的总计算开销最小的计算分区;
若否,循环执行如下操作:
S1、将已分配到每个计算分区的热点数据按照cost从大到小排序,确定出总cost最大的和总cost最小的计算分区;
S2、确定出k,满足排在前k的热点数据的cost总和大于总cost最小的计算分区的总cost;
S3、若k小于总cost最小的计算分区的热点数据个数,将cost排在第k+1的热点数据迁移到总cost最小的计算分区上,继续执行S1;
S4、否则,循环终止。
S105、检测到有应用发出计算请求后,根据所有计算分区中的数据得到当前图结构数据,调用应用的算法并将当前图结构数据作为输入执行应用的算法。
其中,根据所有计算分区中的数据得到当前图结构数据,可以为:通知每个计算分区将自身的更新操作缓存区中的数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到当前图结构数据。
本实施例提供的面向实时数据分析的流式图数据处理方法,通过将一个时间片内接收到的流式更新数据转化为图更新数据,根据数据迁移记录表和基于索引的切分方法将图更新数据切分为N个数据块,将N个数据块发送到对应的计算分区的更新操作缓存区中,并检测该图更新数据是否为热点数据,周期性地对热点检测器在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,并将进行数据迁移的热点数据存储在数据迁移记录表中,最后在检测到有应用发出计算请求后,根据所有计算分区中的数据得到当前图结构数据,调用应用的算法并将当前图结构数据作为输入执行应用的算法。由于对图更新数据进行了热点检测与热点数据迁移,避免了不同计算分区的计算倾斜,因此保证了数据处理的高效性。
进一步地,现有技术中还存在一缺陷,当存在多个有不同计算请求频率的应用(比如应用A每5秒进行一次计算,应用B每10秒进行一次计算)同时在系统上运行时,现有的处理系统无法应对。为解决这一问题,本实施例在图7所示方法的基础上,还包括:
接收到应用的注册请求后,存储应用的计算执行频率和上一次的执行时刻。
检测到有多个应用发出计算请求时,调度多个应用依次执行,在调度每一应用执行时,根据所有计算分区中的数据得到当前图结构数据,具体包括:
通知每个计算分区将自身的更新操作缓存区中从上一次执行时刻到当前时刻的全部数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到当前图结构数据。接着调用对应应用的算法并将当前图结构数据作为输入执行该应用的算法。
通过本实施例中的调度多个应用依次执行的过程,可以应对有不同计算请求频率的多应用的运行。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种面向实时数据分析的流式图数据处理系统,其特征在于,包括:
原始数据分析器、热点检测器、热点负载均衡器、协同调度器和N个计算分区,每一个计算分区包括用于存储静态图数据的图结构存储区和更新操作缓存区;
所述原始数据分析器用于:将一个时间片内接收到的流式更新数据转化为图更新数据,并将所述图更新数据发送到热点检测器,同时根据数据迁移记录表和基于索引的切分方法将所述图更新数据切分为N个数据块,将所述N个数据块发送到对应的计算分区的更新操作缓存区中;
所述热点检测器用于检测所述图更新数据是否为热点数据;
所述热点负载均衡器用于周期性地对所述热点检测器在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,并将进行数据迁移的热点数据通知给所述原始数据分析器;
所述原始数据分析器还用于将进行数据迁移的热点数据记录在所述数据迁移记录表中;
所述协同调度器用于:检测到有应用发出计算请求后,根据所有计算分区中的数据得到当前图结构数据,调用所述应用的算法并将所述当前图结构数据作为输入执行所述应用的算法。
2.根据权利要求1所述的系统,其特征在于,所述协同调度器具体用于:
通知每个计算分区将自身的更新操作缓存区中的数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。
3.根据权利要求1所述的系统,其特征在于,所述热点检测器具体用于:
统计所述图更新数据在t到t+1时刻的更新次数UT(t+1),通过如下公式计算所述图更新数据在t+1时刻的热度HR(t+1):
HR(t+1)=λHR(t)+UT(t+1);
接着通过公式:计算所述图更新数据的标准分score;
其中,λ为热度的衰减系数,λ<1,μ(t)与σ(t)分别为t时刻HR(t)的均值与标准差;
若score的值大于预设阈值,则确定所述图更新数据是热点数据,若否,则确定所述图更新数据不是热点数据。
4.根据权利要求3所述的系统,其特征在于,所述热点负载均衡器具体用于:
通过公式cost=HR·AEdgesα计算在预设时间段内检测到的所有热点数据的计算开销cost,其中,AEdges为热点数据的邻接的边的数目,α为传播系数;
确定是否是第一次执行负载均衡操作,若是,则将全部热点数据按照cost从大到小排序,遍历全部热点数据,对于每个热点数据,将其分配给当前已分配的总计算开销最小的计算分区;
若否,循环执行如下操作:
S1、将已分配到每个计算分区的热点数据按照cost从大到小排序,确定出总cost最大的和总cost最小的计算分区;
S2、确定出k,满足排在前k的热点数据的cost总和大于总cost最小的计算分区的总cost;
S3、若k小于总cost最小的计算分区的热点数据个数,将cost排在第k+1的热点数据迁移到总cost最小的计算分区上,继续执行S1;
S4、否则,循环终止。
5.根据权利要求2-4任一项所述的系统,其特征在于,所述协同调度器包括数据存储单元,所述数据存储单元用于存储注册到所述系统的每一应用的计算执行频率和上一次的执行时刻:
所述协同调度器还用于:
检测到有多个应用发出计算请求时,调度多个应用依次执行,在调度每一应用执行时,通知每个计算分区将自身的更新操作缓存区中从上一次执行时刻到当前时刻的全部数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。
6.一种面向实时数据分析的流式图数据处理方法,其特征在于,包括:
将一个时间片内接收到的流式更新数据转化为图更新数据;
根据数据迁移记录表和基于索引的切分方法将所述图更新数据切分为N个数据块,将所述N个数据块发送到对应的计算分区的更新操作缓存区中,所述计算分区有N个,每一个计算分区包括用于存储静态图数据的图结构存储区和更新操作缓存区;
检测所述图更新数据是否为热点数据;
周期性地对在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,并将进行数据迁移的热点数据记录在所述数据迁移记录表中;
检测到有应用发出计算请求后,根据所有计算分区中的数据得到当前图结构数据,调用所述应用的算法并将所述当前图结构数据作为输入执行所述应用的算法。
7.根据权利要求6所述的方法,其特征在于,所述根据所有计算分区中的数据得到当前图结构数据,包括:
通知每个计算分区将自身的更新操作缓存区中的数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。
8.根据权利要求6所述的方法,其特征在于,所述检测所述图更新数据是否为热点数据,包括:
统计所述图更新数据在t到t+1时刻的更新次数UT(t+1),通过如下公式计算所述图更新数据在t+1时刻的热度HR(t+1):
HR(t+1)=λHR(t)+UT(t+1);
接着通过公式计算所述图更新数据的标准分score;
其中,λ为热度的衰减系数,λ<1,μ(t)与σ(t)分别为t时刻HR(t)的均值与标准差;
若score的值大于预设阈值,则确定所述图更新数据是热点数据,若否,则确定所述图更新数据不是热点数据。
9.根据权利要求8所述的方法,其特征在于,所述周期性地对在预设时间段内检测到的所有热点数据进行热点负载均衡,根据热点负载均衡进行计算分区之间的数据迁移,包括:
通过公式:cost=HR·AEdgesα计算在预设时间段内检测到的所有热点数据的计算开销cost,其中,AEdges为热点数据的邻接的边的数目,α为传播系数;
确定是否是第一次执行负载均衡操作,若是,则将全部热点数据按照cost从大到小排序,遍历全部热点数据,对于每个热点数据,将其分配给当前已分配的总计算开销最小的计算分区;
若否,循环执行如下操作:
S1、将已分配到每个计算分区的热点数据按照cost从大到小排序,确定出总cost最大的和总cost最小的计算分区;
S2、确定出k,满足排在前k的热点数据的cost总和大于总cost最小的计算分区的总cost;
S3、若k小于总cost最小的计算分区的热点数据个数,将cost排在第k+1的热点数据迁移到总cost最小的计算分区上,继续执行S1;
S4、否则,循环终止。
10.根据权利要求7-9任一项所述的方法,其特征在于,还包括:
接收到应用的注册请求后,存储所述应用的计算执行频率和上一次的执行时刻:
检测到有多个应用发出计算请求时,调度多个应用依次执行,在调度每一应用执行时,所述根据所有计算分区中的数据得到当前图结构数据,包括:
通知每个计算分区将自身的更新操作缓存区中从上一次执行时刻到当前时刻的全部数据块合并到图结构存储区中,将所有计算分区的图结构存储区中的数据进行合并得到所述当前图结构数据。
CN201510844913.6A 2015-11-26 2015-11-26 面向实时数据分析的流式图数据处理系统及方法 Active CN105491117B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510844913.6A CN105491117B (zh) 2015-11-26 2015-11-26 面向实时数据分析的流式图数据处理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510844913.6A CN105491117B (zh) 2015-11-26 2015-11-26 面向实时数据分析的流式图数据处理系统及方法

Publications (2)

Publication Number Publication Date
CN105491117A true CN105491117A (zh) 2016-04-13
CN105491117B CN105491117B (zh) 2018-12-21

Family

ID=55677827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510844913.6A Active CN105491117B (zh) 2015-11-26 2015-11-26 面向实时数据分析的流式图数据处理系统及方法

Country Status (1)

Country Link
CN (1) CN105491117B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815080A (zh) * 2017-01-09 2017-06-09 北京航空航天大学 分布式图数据处理方法和装置
CN107623702A (zh) * 2016-07-13 2018-01-23 阿里巴巴集团控股有限公司 一种数据缓存方法、装置及系统
CN107783720A (zh) * 2016-08-24 2018-03-09 深圳市深信服电子科技有限公司 一种数据均衡方法及存储设备
WO2020019314A1 (zh) * 2018-07-27 2020-01-30 浙江天猫技术有限公司 一种图数据存储方法、系统及电子设备
WO2020024944A1 (zh) * 2018-08-03 2020-02-06 杭州海康威视系统技术有限公司 热点数据的识别方法、装置、设备及存储介质
CN111061744A (zh) * 2018-10-17 2020-04-24 百度在线网络技术(北京)有限公司 图数据的更新方法、装置、计算机设备及存储介质
CN112153221A (zh) * 2020-09-16 2020-12-29 北京邮电大学 一种基于社交网络图计算的通信行为识别方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0958540B1 (en) * 1997-02-06 2003-06-25 BRITISH TELECOMMUNICATIONS public limited company Adaptive distributed information network
CN101158957A (zh) * 2007-10-23 2008-04-09 浙江大学 互联网热点主题相关性挖掘方法
CN101477556A (zh) * 2009-01-22 2009-07-08 苏州智讯科技有限公司 一种从互联网海量信息中发现热点的方法
WO2013189254A1 (zh) * 2012-06-20 2013-12-27 北京奇虎科技有限公司 热点聚合方法及装置
CN104281608A (zh) * 2013-07-08 2015-01-14 上海锐英软件技术有限公司 基于微博的突发事件分析方法
CN104462613A (zh) * 2012-06-20 2015-03-25 北京奇虎科技有限公司 热点聚合方法及装置
CN104504081A (zh) * 2014-12-25 2015-04-08 北京东方剪报国际信息咨询有限公司 全媒体检测及监播大数据行为智能分析系统
CN104504150A (zh) * 2015-01-09 2015-04-08 成都布林特信息技术有限公司 新闻舆情监测系统
CN104537097A (zh) * 2015-01-09 2015-04-22 成都布林特信息技术有限公司 微博舆情监测系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0958540B1 (en) * 1997-02-06 2003-06-25 BRITISH TELECOMMUNICATIONS public limited company Adaptive distributed information network
CN101158957A (zh) * 2007-10-23 2008-04-09 浙江大学 互联网热点主题相关性挖掘方法
CN101477556A (zh) * 2009-01-22 2009-07-08 苏州智讯科技有限公司 一种从互联网海量信息中发现热点的方法
WO2013189254A1 (zh) * 2012-06-20 2013-12-27 北京奇虎科技有限公司 热点聚合方法及装置
CN104462613A (zh) * 2012-06-20 2015-03-25 北京奇虎科技有限公司 热点聚合方法及装置
CN104281608A (zh) * 2013-07-08 2015-01-14 上海锐英软件技术有限公司 基于微博的突发事件分析方法
CN104504081A (zh) * 2014-12-25 2015-04-08 北京东方剪报国际信息咨询有限公司 全媒体检测及监播大数据行为智能分析系统
CN104504150A (zh) * 2015-01-09 2015-04-08 成都布林特信息技术有限公司 新闻舆情监测系统
CN104537097A (zh) * 2015-01-09 2015-04-22 成都布林特信息技术有限公司 微博舆情监测系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAIFEI HUANG, JIANXIN LI, RICHONG ZHANG, WEIREN YU, WUYANG JU: "LiveIndex: A distributed online index system for temporal microblog data", 《2015 IEEE 17TH INTERNATIONAL CONFERENCE ON HPCC, 2015 IEEE 7TH INTERNATIONAL SYMPOSIUM ON CSS, AND 2015 IEEE 12TH ON ICESS》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107623702A (zh) * 2016-07-13 2018-01-23 阿里巴巴集团控股有限公司 一种数据缓存方法、装置及系统
CN107623702B (zh) * 2016-07-13 2020-09-11 阿里巴巴集团控股有限公司 一种数据缓存方法、装置及系统
CN107783720A (zh) * 2016-08-24 2018-03-09 深圳市深信服电子科技有限公司 一种数据均衡方法及存储设备
CN106815080A (zh) * 2017-01-09 2017-06-09 北京航空航天大学 分布式图数据处理方法和装置
CN106815080B (zh) * 2017-01-09 2020-01-14 北京航空航天大学 分布式图数据处理方法和装置
WO2020019314A1 (zh) * 2018-07-27 2020-01-30 浙江天猫技术有限公司 一种图数据存储方法、系统及电子设备
WO2020024944A1 (zh) * 2018-08-03 2020-02-06 杭州海康威视系统技术有限公司 热点数据的识别方法、装置、设备及存储介质
CN110795026A (zh) * 2018-08-03 2020-02-14 杭州海康威视系统技术有限公司 热点数据的识别方法、装置、设备及存储介质
CN110795026B (zh) * 2018-08-03 2021-04-27 杭州海康威视系统技术有限公司 热点数据的识别方法、装置、设备及存储介质
CN111061744A (zh) * 2018-10-17 2020-04-24 百度在线网络技术(北京)有限公司 图数据的更新方法、装置、计算机设备及存储介质
CN112153221A (zh) * 2020-09-16 2020-12-29 北京邮电大学 一种基于社交网络图计算的通信行为识别方法

Also Published As

Publication number Publication date
CN105491117B (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN105491117A (zh) 面向实时数据分析的流式图数据处理系统及方法
CN112685170B (zh) 备份策略的动态优化
US20130151683A1 (en) Load balancing in cluster storage systems
CN106407207B (zh) 一种实时新增数据更新方法和装置
CN103595805A (zh) 一种基于分布式集群的数据放置方法
US11086657B2 (en) Method and system for scheduling transactions in a data system
CN106445677A (zh) 负载均衡方法及设备
CN106055630A (zh) 日志存储的方法及装置
CN109978290A (zh) 一种业务流程回退处理方法、流程引擎和业务系统
CN107241380A (zh) 用于基于时间调整的负载均衡的方法和设备
CN110019298B (zh) 数据处理方法和装置
JP2018515844A (ja) データ処理方法及びシステム
CN112748993A (zh) 任务执行方法、装置、存储介质及电子设备
CN106899564B (zh) 一种登录方法和装置
CN106973091B (zh) 分布式内存数据重分布方法及系统、主控服务器
CN112818399B (zh) 大数据访问权限动态调整方法及大数据访问控制设备
CN114048186A (zh) 一种基于海量数据的数据迁移方法及系统
CN104281587B (zh) 一种建立连接的方法及装置
CN111124619B (zh) 一种面向二次调度的容器调度方法
CN108197323A (zh) 应用于分布式系统地图数据处理方法
CN107402812A (zh) 集群资源调度方法、装置、设备及存储介质
CN112258129A (zh) 配送路径预测网络训练、配送资源调度方法及装置
CN115442262B (zh) 一种资源评估方法、装置、电子设备及存储介质
CN105897828A (zh) 节点缓存机制的确定方法及系统
CN115994029A (zh) 容器资源调度方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210601

Address after: 100020 room 0801, block a, Chaowai SOHO, no.6, chaoyangmenwai street, Chaoyang District, Beijing

Patentee after: Beijing Yixin Yiyi Technology Co.,Ltd.

Address before: 100191 box 7-28, Beijing University of Aeronautics and Astronautics, Haidian District, Beijing

Patentee before: BEIHANG University

TR01 Transfer of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data processing system and method of stream graph for real-time data analysis

Effective date of registration: 20221026

Granted publication date: 20181221

Pledgee: Xiamen International Bank Co.,Ltd. Beijing Branch

Pledgor: Beijing Yixin Yiyi Technology Co.,Ltd.

Registration number: Y2022990000746

PE01 Entry into force of the registration of the contract for pledge of patent right