CN111813542B - 一种并行处理大规模图分析任务的负载均衡方法及其装置 - Google Patents
一种并行处理大规模图分析任务的负载均衡方法及其装置 Download PDFInfo
- Publication number
- CN111813542B CN111813542B CN202010556854.3A CN202010556854A CN111813542B CN 111813542 B CN111813542 B CN 111813542B CN 202010556854 A CN202010556854 A CN 202010556854A CN 111813542 B CN111813542 B CN 111813542B
- Authority
- CN
- China
- Prior art keywords
- node
- graph analysis
- working
- working node
- graph
- 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.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 title claims abstract description 32
- 238000003860 storage Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 4
- 238000011840 criminal investigation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种处理大图分析任务的负载均衡方法及装置,方法包括根据大规模图分析的需求,在N个服务器上部署图分析任务的业务逻辑程序,其中一个服务器作为图任务的协调节点,其余N‑1个服务器作为图分析任务的工作节点,所有工作节点均可以同等地访问基于Neo4j集群的图结构存储系统;每个工作节点建立属于本身的统计信息,统计信息记录了该工作节点的当前状态;每隔一段时间T,协调节点向所有工作节点拉取节点的统计信息,根据公式计算出工作节点i的负载分数Li;协调节点通过工作节点i的负载分数Li来决定图分析任务的分配概率,该方法有效地改善由于任务分配不均造成大图分析并行处理服务集群性能降低的问题,提升了系统资源利用率,从而提高系统吞吐率。
Description
技术领域
本发明涉及大数据处理技术领域,尤其是涉及一种并行处理大规模图分析任务的负载均衡方法及其装置。
背景技术
节点和关系构成的节点关系网络在现实社会中的应用十分广泛。例如,网站中的超链接、社交网络用户、手机通信录等,均可当作一个由节点和关系构成的图状结构。随着节点关系网络规模的增大,其异构性、动态性、复杂性等特征都给其分析和研究带来了巨大的挑战。对大规模节点关系网络的分析又称大图分析,如何及时、快速地获取大图结构的拓扑信息,生成清晰稳定的拓扑图,以及如何理解、分析大图结构的整体状况和发现存在于大图拓扑中的潜在规律,是大规模节点关系网络研究的重点和难点内容。
现阶段,图分析广泛应用在刑侦、网络安全、社交网络等多个领域。在图的节点关系结构中,存在很多有价值的结构特征,这些结构特征在一些领域能发挥重大的作用。在刑侦系统中,可以利用社团挖掘算法找出潜在的犯罪嫌疑人,为刑侦提供了便利;在网络安全中,异常检测可以检测节点的异常行为,找到可能被黑客攻击的节点;在社交网络中,通过节点嵌入算法,计算节点的相似度,可以发现用户潜在的喜好,进而实现精准推荐等。
传统的处理大图分析任务是采用单点式服务器,单点式服务器计算具有性能低、交互性弱的缺点。单节点的服务器计算能力无法满足大规模图分析系统的运行负载,单任务的执行方式也无法满足系统使用者的交互需求,所以多服务器并行处理大图分析任务有效改善了系统的执行效率。
在多服务器并行处理大图分析任务中,负载均衡机制是并行处理大图分析任务的难点,它要求协调节点(Coordinator)对工作节点(Worker)的当前服务器负载能力进行评估,并选择较空闲的工作节点安排任务,以此增大系统资源的使用率,提高系统的吞吐率。
发明内容
本发明所要解决的技术问题是提供一种并行处理大规模图分析任务的负载均衡方法,该方法能够在并行处理大图分析任务时,提升系统资源利用率,从而提高系统吞吐率。
本发明所采用的技术方案是,一种处理大图分析任务的负载均衡方法,该方法包括下列步骤:
(1)、根据大规模图分析的需求,在N个服务器上部署图分析任务的业务逻辑程序,其中一个服务器作为图任务的协调节点,其余N-1个服务器作为图分析任务的工作节点,所有工作节点均可以同等地访问基于Neo4j集群的图结构存储系统;
(2)、每个工作节点建立属于本身的统计信息,该统计信息记录了该工作节点的当前状态,统计信息的数据结构为{indexi,datai},即表示索引为indexi的统计信息数据,其中i表示第i个工作节点;
(3)、每隔一段时间T,协调节点向所有工作节点拉取节点的统计信息,并根据公式计算出工作节点i的负载分数Li;
(4)、协调节点通过工作节点i的负载分数Li来决定图分析任务的分配概率。
作为优先,在步骤(2)中,工作节点统计信息的收集过程包括下列步骤:
(2-1)、各个工作节点的CPU使用率设定为C,CPU使用率可以通过固定时间间隔执行shell脚本来获取,CPU使用率在统计信息中的索引名命名为cpu_rate;
(2-2)、各个工作节点的内存使用率设定为M,内存使用率可以通过固定时间间隔执行shell脚本来获取,内存使用率在统计信息中的索引名命名为memory_rate;
(2-3)、各个工作节点当前执行图分析任务数设定为Q,工作节点通过RPC接收到来自协调节点的任务请求时,会更新图分析任务数,图分析任务数在统计信息中的索引名命名为task_cnt;
(2-4)、各个工作节点正在执行的图分析任务需要处理的图规模,包含两个特征,图的边数Edges和节点数Nodes,在统计信息中的索引名命名为scales,数据结构表示为:{scales:[{edges:number1,nodes:number2},...]}。
作为优先,在步骤(3)中,计算工作节点i的负载分数Li所根据的公式如下:
该公式包含四部分,即CPU使用率C、内存使用率M、图分析任务数占比/>图分析边数占比图分析节点数占比/>
作为优先,步骤(4)中,根据工作节点i的负载分数Li,计算图分析任务分配概率,任务分配给工作节点i的概率Pi和工作节点i的负载分数呈反比,,可以表示为:
作为优先,所述的协调节点和工作节点间的通信方式采用RPC方式。
作为优先,步骤(1)中,基于Neo4j集群的图结构存储系统为存储介质,该存储介质包括程序,当所述程序被执行时,上述处理大图分析任务的负载均衡方法被执行。
本发明的有益效果是:提供了一种并行处理大规模图分析任务的负载均衡方法,让大规模图分析协调服务器从包括节点和边数的多个维度分析一个工作节点的负载情况,实时定量计算工作节点当前负载分数,这样就能够有效地改善由于任务分配不均造成大图分析并行处理服务集群性能降低的问题,提升了系统资源利用率,从而提高了系统吞吐率。并且在整个负载均衡的过程中,通信方式使用不断开网络连接的RPC方式,效率极高。
本发明还提供了一种并行处理大规模图分析任务的负载均衡装置,该装置包括:
缓存模块,用于各工作节点i存储统计信息,为协调节点提供负载均衡的数据基础;
RPC模块,协调节点通过远程过程调用的方式来获取工作节点的统计信息,了解工作节点的工作状态。
通过上述并行处理大规模图分析任务的负载均衡装置,能够有效地改善由于任务分配不均造成大图分析并行处理服务集群性能降低的问题,提升了系统资源利用率,从而提高了系统吞吐率。
附图说明
图1为本发明一种并行处理大规模图分析任务的负载均衡方法示意图;
图2为本发明中基于Neo4j集群的图结构存储系统示意图;
图3为本发明中工作节点统计信息字段示意图;
具体实施方式
以下参照附图并结合具体实施方式来进一步描述发明,以令本领域技术人员参照说明书文字能够据以实施,本发明保护范围并不受限于该具体实施方式。
本发明涉及一种处理大图分析任务的负载均衡方法,该方法包括下列步骤:
(1)、如图1所示,根据大规模图分析的需求,在N个服务器上部署图分析任务业务逻辑程序,其中一个服务器作为图任务的协调节点,其余N-1个服务器作为图分析任务的工作节点,协调节点通过本发明提出一种处理大图分析任务的负载均衡方法,动态地将图分析任务返发给工作节点,所有工作节点均可以同等地访问如图2所示的基于Neo4j集群的图结构存储系统;
(2)、每个工作节点建立属于本身的统计信息,该统计信息记录了该工作节点的当前状态,统计信息的数据结构为{indexi,datai},即表示索引为indexi的统计信息数据,其中i表示工作节点;
(3)、每隔一段时间T,协调节点向所有工作节点拉取节点的统计信息,并根据公式计算出工作节点i的负载分数Li;
(4)、协调节点通过工作节点i的负载分数Li来决定图分析任务的分配概率,负载分数越高的节点,分配到图分析任务的概率越低。
在步骤(2)中,工作节点统计信息的收集过程包括下列步骤:
(2-1)、各个工作节点的CPU使用率设定为C,CPU使用率可以通过固定时间间隔执行shell脚本来获取,CPU使用率在统计信息中的索引名命名为cpu_rate;
(2-2)、各个工作节点的内存使用率设定为M,内存使用率可以通过固定时间间隔执行shell脚本来获取,内存使用率在统计信息中的索引名命名为memory_rate;
(2-3)、各个工作节点当前执行图分析任务数设定为Q,工作节点通过RPC接收到来自协调节点的任务请求时,会更新图分析任务数,图分析任务数在统计信息中的索引名命名为task_cnt;
(2-4)、各个工作节点正在执行的图分析任务需要处理的图规模,包含两个特征,图的边数Edges和节点数Nodes,在统计信息中的索引名命名为scales,数据结构表示为:{scales:[{edges:number1,nodes:number2},...]}。
在步骤(3)中,计算工作节点i的负载分数Li所根据的公式如下:
该公式包含四部分,即第一项为CPU使用率C、第二项为内存使用率M、第三项为图分析任务数占比/>第四项为图分析边数占比/>第五项为图分析节点数占比其中Qi表示第i个工作节点正在执行的任务数,N表示节点总数(包含协调节点),第四项中的edgesj表示第i个工作节点上第j个图分析任务处理的边数,此项的分子表示第i个工作节点上所有图分析任务处理的边数和,分母表示所有工作节点上所有任务中处理的边数的和,第五项和第四项类似,表示任务处理的图节点数。
在步骤(4)中,根据工作节点i的负载分数Li,计算图分析任务分配概率,任务分配给工作节点i的概率Pi和工作节点i的负载分数呈反比,,可以表示为:
所述的协调节点和工作节点间的通信方式采用RPC方式。
在步骤(1)中,基于Neo4j集群的图结构存储系统为存储介质,该存储介质包括程序,当所述程序被执行时,上述处理大图分析任务的负载均衡方法被执行。
本发明还涉及一种并行处理大规模图分析任务的负载均衡装置,该装置包括:
缓存模块,用于各工作节点i存储统计信息,为协调节点提供负载均衡的数据基础;
RPC模块,协调节点通过远程过程调用的方式来获取工作节点的统计信息,了解工作节点的工作状态。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (6)
1.一种并行处理大规模图分析任务的负载均衡方法,其特征在于:该方法包括下列步骤:
(1)、根据大规模图分析的需求,在N个服务器上部署图分析任务的业务逻辑程序,其中一个服务器作为图任务的协调节点,其余N-1个服务器作为图分析任务的工作节点,所有工作节点均可以同等地访问基于Neo4j集群的图结构存储系统;
(2)、每个工作节点建立属于本身的统计信息,该统计信息记录了该工作节点的当前状态,统计信息的数据结构表示为{indexi,datai},即表示索引为indexi的统计信息数据,其中i表示第i个工作节点;
(3)、每隔一段时间T,协调节点向所有工作节点拉取节点的统计信息,并根据公式计算出工作节点i的负载分数Li;计算工作节点i的负载分数Li所根据的公式如下:该公式包含四部分,即CPU使用率C、内存使用率M、图分析任务数占比/>图分析边数占比图分析节点数占比/>
(4)、协调节点通过工作节点i的负载分数Li来决定图分析任务的分配概率。
2.根据权利要求1所述的一种并行处理大规模图分析任务的负载均衡方法,其特征在于:在步骤(2)中,工作节点统计信息的收集过程包括下列步骤:
(2-1)、各个工作节点的CPU使用率设定为C,CPU使用率可以通过固定时间间隔执行shell脚本来获取,CPU使用率在统计信息中的索引名命名为cpu_rate;
(2-2)、各个工作节点的内存使用率设定为M,内存使用率可以通过固定时间间隔执行shell脚本来获取,内存使用率在统计信息中的索引名命名为memory_rate;
(2-3)、各个工作节点当前执行图分析任务数设定为Q,工作节点通过RPC接收到来自协调节点的任务请求时,会更新图分析任务数,图分析任务数在统计信息中的索引名命名为task_cnt;
(2-4)、各个工作节点正在执行的图分析任务需要处理的图规模,包含两个特征,图的边数Edges和节点数Nodes,在统计信息中的索引名命名为scales,数据结构表示为:{scales:[{edges:number1,nodes:number2},...]}。
3.根据权利要求1所述的一种并行处理大规模图分析任务的负载均衡方法,其特征在于:步骤(4)中,根据工作节点i的负载分数Li,计算图分析任务分配概率,任务分配给工作节点i的概率Pi和工作节点i的负载分数呈反比,可以表示为:
4.根据权利要求1所述的一种并行处理大规模图分析任务的负载均衡方法,其特征在于:协调节点和工作节点间的通信方式采用RPC方式。
5.根据权利要求1所述的一种并行处理大规模图分析任务的负载均衡方法,其特征在于:步骤(1)中,基于Neo4j集群的图结构存储系统为存储介质,该存储介质包括程序,当所述程序被执行时,上述处理大图分析任务的负载均衡方法被执行。
6.一种用于实施如权利要求1至权利要求5中任意一项所述的并行处理大规模图分析任务的负载均衡方法的装置,其特征在于:该装置包括:
缓存模块,用于各工作节点i存储统计信息,为协调节点提供负载均衡的数据基础;
RPC模块,协调节点通过远程过程调用的方式来获取工作节点的统计信息,了解工作节点的工作状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010556854.3A CN111813542B (zh) | 2020-06-18 | 2020-06-18 | 一种并行处理大规模图分析任务的负载均衡方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010556854.3A CN111813542B (zh) | 2020-06-18 | 2020-06-18 | 一种并行处理大规模图分析任务的负载均衡方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813542A CN111813542A (zh) | 2020-10-23 |
CN111813542B true CN111813542B (zh) | 2024-02-13 |
Family
ID=72844744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010556854.3A Active CN111813542B (zh) | 2020-06-18 | 2020-06-18 | 一种并行处理大规模图分析任务的负载均衡方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813542B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886092A (zh) * | 2021-12-07 | 2022-01-04 | 苏州浪潮智能科技有限公司 | 一种计算图执行方法、装置及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953811A (zh) * | 2017-03-14 | 2017-07-14 | 东华大学 | 一种大规模网络服务系统行为重构方法 |
CN109766188A (zh) * | 2019-01-14 | 2019-05-17 | 长春理工大学 | 一种负载均衡调度方法及系统 |
CN110149395A (zh) * | 2019-05-20 | 2019-08-20 | 华南理工大学 | 一种基于海量小文件高并发情况下动态负载均衡方法 |
CN111090796A (zh) * | 2019-11-12 | 2020-05-01 | 广东电网有限责任公司 | 一种基于MapReduce的数据挖掘算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170353537A1 (en) * | 2015-10-28 | 2017-12-07 | Fractal Industries, Inc. | Predictive load balancing for a digital environment |
-
2020
- 2020-06-18 CN CN202010556854.3A patent/CN111813542B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953811A (zh) * | 2017-03-14 | 2017-07-14 | 东华大学 | 一种大规模网络服务系统行为重构方法 |
CN109766188A (zh) * | 2019-01-14 | 2019-05-17 | 长春理工大学 | 一种负载均衡调度方法及系统 |
CN110149395A (zh) * | 2019-05-20 | 2019-08-20 | 华南理工大学 | 一种基于海量小文件高并发情况下动态负载均衡方法 |
CN111090796A (zh) * | 2019-11-12 | 2020-05-01 | 广东电网有限责任公司 | 一种基于MapReduce的数据挖掘算法 |
Non-Patent Citations (1)
Title |
---|
移动定位平台集群服务器的增强型周期动态反馈随机分发负载均衡算法ADFRD算法;张昊;廖建新;朱晓民;计算机工程;-;第-卷(第04期);97-99 * |
Also Published As
Publication number | Publication date |
---|---|
CN111813542A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A task scheduling algorithm based on classification mining in fog computing environment | |
Baruffa et al. | Comparison of MongoDB and Cassandra databases for spectrum monitoring as-a-service | |
US20180248879A1 (en) | Method and apparatus for setting access privilege, server and storage medium | |
Aouedi et al. | Network traffic analysis using machine learning: an unsupervised approach to understand and slice your network | |
CN107729137A (zh) | 服务器、区块链验签解密的方法及存储介质 | |
CN102521706A (zh) | Kpi 数据的分析方法及装置 | |
Ma et al. | Detect structural‐connected communities based on BSCHEF in C‐DBLP | |
Li et al. | Research on QoS service composition based on coevolutionary genetic algorithm | |
CN110866249A (zh) | 一种动态检测恶意代码的方法、装置及电子设备 | |
CN111813542B (zh) | 一种并行处理大规模图分析任务的负载均衡方法及其装置 | |
Dazzi et al. | Scalable decentralized indexing and querying of multi-streams in the fog | |
Amagata et al. | Sliding window top-k dominating query processing over distributed data streams | |
Liu et al. | A novel research on the influence of enterprise culture on internal control in big data and Internet of things | |
Wang et al. | Data mining applications in big data | |
CN114443940A (zh) | 一种消息订阅方法、装置及设备 | |
CN112579552A (zh) | 日志存储及调用方法、装置及系统 | |
CN116055495A (zh) | 基于综合信任的边缘计算资源协同的方法 | |
Hassan et al. | Mace: A dynamic caching framework for mashups | |
Heine | Outlier detection in data streams using OLAP cubes | |
CN114610758A (zh) | 基于数据仓库的数据处理方法、装置、可读介质及设备 | |
Mao et al. | Efficient distance-based representative skyline computation in 2D space | |
CN112347394A (zh) | 网页信息的获取方法、装置、计算机设备和存储介质 | |
CN114268625A (zh) | 特征选择方法、装置、设备及存储介质 | |
US20200151080A1 (en) | Utilizing application performance management automatic discovery data for plugin priority | |
CN107766442A (zh) | 一种海量数据关联规则挖掘方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |