CN110908803B - 一种基于余弦相似度算法的作业分配方法 - Google Patents

一种基于余弦相似度算法的作业分配方法 Download PDF

Info

Publication number
CN110908803B
CN110908803B CN201911156352.5A CN201911156352A CN110908803B CN 110908803 B CN110908803 B CN 110908803B CN 201911156352 A CN201911156352 A CN 201911156352A CN 110908803 B CN110908803 B CN 110908803B
Authority
CN
China
Prior art keywords
data
average value
execution
utilization rate
execution node
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
Application number
CN201911156352.5A
Other languages
English (en)
Other versions
CN110908803A (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.)
Digital China Financial Software Co ltd
Original Assignee
Digital China Financial Software Co ltd
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 Digital China Financial Software Co ltd filed Critical Digital China Financial Software Co ltd
Priority to CN201911156352.5A priority Critical patent/CN110908803B/zh
Publication of CN110908803A publication Critical patent/CN110908803A/zh
Application granted granted Critical
Publication of CN110908803B publication Critical patent/CN110908803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开的基于余弦相似度算法的作业分配方法,涉及计算机技术领域,基于余弦相似算法实现的资源匹配,通过运行时收集所有执行节点的数据(CPU使用率、内存使用率、网络使用率、可用线程数量),在选取执行节点时,分别计算各个执行节点最优运行数据与当前实际运行数据之间的相似度,把作业分配相似度值最大的执行节点执行,能够实现集群中机器性能好的执行节点执行更多作业,新增的执行节点能够立即处理大量作业,从而提高执行节点的利用率。通过多纬度运行数据的计算,当任务派发之后,可以有效降低作业处理过程中出现错误的概率,从而降低重发次数,提高作业执行的效率。

Description

一种基于余弦相似度算法的作业分配方法
技术领域
本发明涉及计算机技术领域,具体涉及一种基于余弦相似度算法的作业分配方法。
背景技术
在分布式集群中,随着任务数量的增加,动态增加执行节点是经常发生的事情,并且执行节点可用性的衡量纬度越来越丰富。在此情况下,现有技术存在以下缺点:
(1)资源浪费
分布式集群中,每个执行节点的硬件资源(CPU、内存、网络、线程数等)存在差异,即能者未能多劳;
(2)具有延迟性
动态增加的执行节点对于集群整体执行力的贡献具有延迟性,即增加的执行节点的计算能力并不能立即全部体现出来;
(3)单一性
在衡量执行节点的可用性方面,只要该执行节点的网络是连通的,即认为该执行节点可用。
发明内容
为解决现有技术的不足,本发明实施例提供了一种基于余弦相似度算法的作业分配方法,该方法包括以下步骤:
获取集群各个执行节点的当前运行数据并根据维度,分别判断所述运行数据中同一纬度数据是否大于其对应的历史最大值;
若是,则用所述维度数据替换对应维度数据的历史最大值;
获取当前需要执行的任务的标识,根据所述标识获取与所述任务匹配的历史运行数据;
分别计算所述历史运行数据各个维度数据的平均值,生成各个执行节点的第一平均值集;
分别计算所述当运行数据各个维度数据的平均值,生成各个执行节点的第二平均值集;
利用余弦相似度计算公式,分别计算各个执行节点的第一平均值集与第一平均值集之间的相似度;
根据从大到小的顺序,对所述相似度进行排序,选择相似度最大的执行节点作为本次作业的执行节点,将本次作业分配给所述执行节点。
优选地,分别计算所述当运行数据各个维度数据的平均值,生成各个执行节点的第二平均值集包括:
分别比较所述第一平均值集与所述第二平均值集的各个维度数据的平均值大小,选择数值大的平均值作为第二平均值集中同一维度数据的平均值。
优选地,所述运行数据包括CPU使用率、内存使用率、网络使用率及可用线程数。
本发明实施例提供的基于余弦相似度算法的作业分配方法,具有以下有益效果:
(1)快速感知
集群中新增执行节点能够在任务派发时优先选择,从而提高新增节点快速引流的作用;
(2)增加利用率
通过采集执行节点的运行数据,从而使性能好的执行节点能够处理更多任务,增加了节点的利用率。
(3)评估能力
通过采集多维度的数据,能够更加全面地评估执行节点的能力。
具体实施方式
以下结合具体实施例对本发明作具体的介绍。
本发明提供的实施例提供的基于余弦相似度算法的作业分配方法,包括以下步骤:
S101,获取集群各个执行节点的当前运行数据并根据维度,分别判断运行数据中同一纬度数据是否大于其对应的历史最大值。
S102,若是,则用该维度数据替换对应维度数据的历史最大值。
S103,获取当前需要执行的任务的标识,根据该标识获取与任务匹配的历史运行数据。
S104,分别计算历史运行数据各个维度数据的平均值,生成各个执行节点的第一平均值集。
S105,分别计算当运行数据各个维度数据的平均值,生成各个执行节点的第二平均值集。
S106,利用余弦相似度计算公式,分别计算各个执行节点的第一平均值集与第一平均值集之间的相似度。
其中,余弦相似度计算公式为
Figure BDA0002284910100000041
其中,Ai表示各个执行节点的最优运行数据,Bi表示各个执行节点的当前实际运行数据。
S107,根据从大到小的顺序,对相似度进行排序,选择相似度最大的执行节点作为本次作业的执行节点,将本次作业分配给所述执行节点。
其中,相似度越接近于1,表明两个向量的夹角越接近于0,这两个向量越相似。经证明,该算法对于多维向量也成立。
可选地,分别计算当运行数据各个维度数据的平均值,生成各个执行节点的第二平均值集包括:
分别比较第一平均值集与第二平均值集的各个维度数据的平均值大小,选择数值大的平均值作为第二平均值集中同一维度数据的平均值。
可选地,运行数据包括CPU使用率、内存使用率、网络使用率及可用线程数。
本发明实施例提供的基于余弦相似度算法的作业分配方法,基于余弦相似算法实现的资源匹配,通过运行时收集所有执行节点的数据(CPU使用率、内存使用率、网络使用率、可用线程数量),在选取执行节点时,分别计算各个执行节点最优运行数据与当前实际运行数据之间的相似度,把作业分配相似度值最大的执行节点执行,能够实现集群中机器性能好的执行节点执行更多作业,新增的执行节点能够立即处理大量作业,从而提高执行节点的利用率。通过多纬度运行数据的计算,当任务派发之后,可以有效降低作业处理过程中出现错误的概率,从而降低重发次数,提高作业执行的效率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (3)

1.一种基于余弦相似度算法的作业分配方法,其特征在于,包括:
获取集群各个执行节点的当前运行数据并根据维度数据,分别判断所述运行数据中同一所述维度数据是否大于其对应的历史最大值;
若是,则用所述维度数据替换对应所述维度数据的历史最大值;
获取当前需要执行的任务的标识,根据所述标识获取与所述任务匹配的历史运行数据;
分别计算所述历史运行数据各个维度数据的平均值,生成各个执行节点的第一平均值集;
分别计算所述当前运行数据各个维度数据的平均值,生成各个执行节点的第二平均值集;
分别比较所述第一平均值集与所述第二平均值集的各个维度数据的平均值大小,选择数值大的平均值作为第二平均值集中同一维度数据的平均值;
利用余弦相似度计算公式,分别计算各个执行节点的第一平均值集与第二平均值集之间的相似度;
其中,余弦相似度计算公式为
Figure FDA0003665233660000011
其中,Ai表示各个执行节点的最优运行数据,Bi表示各个执行节点的当前实际运行数据;
根据从大到小的顺序,对所述相似度进行排序,选择相似度最大的执行节点作为本次作业的执行节点,将本次作业分配给所述执行节点。
2.根据权利要求1所述的基于余弦相似度算法的作业分配方法,其特征在于,
所述运行数据包括CPU使用率、内存使用率、网络使用率及可用线程数。
3.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-2所述的方法。
CN201911156352.5A 2019-11-22 2019-11-22 一种基于余弦相似度算法的作业分配方法 Active CN110908803B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911156352.5A CN110908803B (zh) 2019-11-22 2019-11-22 一种基于余弦相似度算法的作业分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911156352.5A CN110908803B (zh) 2019-11-22 2019-11-22 一种基于余弦相似度算法的作业分配方法

Publications (2)

Publication Number Publication Date
CN110908803A CN110908803A (zh) 2020-03-24
CN110908803B true CN110908803B (zh) 2022-07-05

Family

ID=69818723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911156352.5A Active CN110908803B (zh) 2019-11-22 2019-11-22 一种基于余弦相似度算法的作业分配方法

Country Status (1)

Country Link
CN (1) CN110908803B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641453A (zh) * 2021-08-17 2021-11-12 中国联合网络通信集团有限公司 节点选择方法及节点选择设备
CN113656163A (zh) * 2021-08-24 2021-11-16 平安资产管理有限责任公司 服务资源调度方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130134569A (ko) * 2012-05-31 2013-12-10 삼성에스디에스 주식회사 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법
CN103605662A (zh) * 2013-10-21 2014-02-26 华为技术有限公司 一种分布式计算框架参数优化方法、装置及系统
JP2015200985A (ja) * 2014-04-04 2015-11-12 Kddi株式会社 クラウドソーシングにおける作業者のスキルを評価するスキル評価装置、プログラム及び方法
CN105162875A (zh) * 2015-09-23 2015-12-16 四川师范大学 大数据群体任务分配方法及装置
CN108710540A (zh) * 2018-05-23 2018-10-26 深信服网络科技(深圳)有限公司 一种分布式集群中的资源调度方法、装置及设备
CN108984301A (zh) * 2018-07-04 2018-12-11 中国人民解放军国防科技大学 自适应云资源调配方法和装置
CN110399728A (zh) * 2019-07-09 2019-11-01 北京邮电大学 一种边缘计算节点信任评估方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130134569A (ko) * 2012-05-31 2013-12-10 삼성에스디에스 주식회사 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법
CN103605662A (zh) * 2013-10-21 2014-02-26 华为技术有限公司 一种分布式计算框架参数优化方法、装置及系统
JP2015200985A (ja) * 2014-04-04 2015-11-12 Kddi株式会社 クラウドソーシングにおける作業者のスキルを評価するスキル評価装置、プログラム及び方法
CN105162875A (zh) * 2015-09-23 2015-12-16 四川师范大学 大数据群体任务分配方法及装置
CN108710540A (zh) * 2018-05-23 2018-10-26 深信服网络科技(深圳)有限公司 一种分布式集群中的资源调度方法、装置及设备
CN108984301A (zh) * 2018-07-04 2018-12-11 中国人民解放军国防科技大学 自适应云资源调配方法和装置
CN110399728A (zh) * 2019-07-09 2019-11-01 北京邮电大学 一种边缘计算节点信任评估方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Similarity-based interference in a working memory numerical updating task: age-related differences between younger and older adults;Santiago Pelegrina 等;《Experimental Psychology》;20120101;第183-189页 *
一种基于节点位置余弦相似度的机会网络转发算法;朱坤 等;《计算机科学》;20181215;第45卷(第12期);第61-65、85页 *

Also Published As

Publication number Publication date
CN110908803A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
CN107491351B (zh) 一种基于优先级的资源分配方法、装置和设备
US10114682B2 (en) Method and system for operating a data center by reducing an amount of data to be processed
US8799916B2 (en) Determining an allocation of resources for a job
US20160142369A1 (en) Service addressing in distributed environment
CN112346829B (zh) 一种用于任务调度的方法及设备
US20190229992A1 (en) System and Methods for Auto-Tuning Big Data Workloads on Cloud Platforms
US20150058486A1 (en) Instantiating incompatible virtual compute requests in a heterogeneous cloud environment
CN113169990A (zh) 具有动态卸载的深度学习推理的分割
CN110908803B (zh) 一种基于余弦相似度算法的作业分配方法
JP2014504768A (ja) 領域に基づくガベージ・コレクタを用いてクラスを漸進的にアンロードするための方法、コンピュータ・プログラム製品、および装置
US11231852B2 (en) Efficient sharing of non-volatile memory
US9612867B2 (en) Apparatus and method for data partition and allocation in heterogeneous multi-processor environment
US20170357537A1 (en) Virtual machine dispatching method, apparatus, and system
US20120166744A1 (en) Memory management method, computer system, and storage medium having program stored thereon
KR101765725B1 (ko) 대용량 방송용 빅데이터 분산 병렬처리를 위한 동적 디바이스 연결 시스템 및 방법
CN112000460A (zh) 一种基于改进贝叶斯算法的服务扩缩容的方法及相关设备
CN109788013B (zh) 分布式系统中作业资源分配方法、装置及设备
KR100846451B1 (ko) 멀티 쓰레드 기반 센서 운영체제 환경에서의 스택 할당방법
CN106571935B (zh) 一种资源调度的方法与设备
CN109445863B (zh) 一种基于fpga的数据处理方法、装置、设备及介质
JP6158751B2 (ja) 計算機資源割当装置及び計算機資源割当プログラム
CN111352710B (zh) 进程管理方法及装置、计算设备、存储介质
US20170147407A1 (en) System and method for prediciting resource bottlenecks for an information technology system processing mixed workloads
CN110837386A (zh) 一种微服务架构弹性升级方法
CN110046173B (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