CN109634744B - 一种基于云平台资源分配的精确匹配方法,设备及存储介质 - Google Patents

一种基于云平台资源分配的精确匹配方法,设备及存储介质 Download PDF

Info

Publication number
CN109634744B
CN109634744B CN201811454525.7A CN201811454525A CN109634744B CN 109634744 B CN109634744 B CN 109634744B CN 201811454525 A CN201811454525 A CN 201811454525A CN 109634744 B CN109634744 B CN 109634744B
Authority
CN
China
Prior art keywords
service
node
cloud platform
resource allocation
user
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
CN201811454525.7A
Other languages
English (en)
Other versions
CN109634744A (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.)
Qingdao Hisense Intelligent Commercial System Co ltd
Harbin Institute of Technology Weihai
Original Assignee
Qingdao Hisense Intelligent Commercial System Co ltd
Harbin Institute of Technology Weihai
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 Qingdao Hisense Intelligent Commercial System Co ltd, Harbin Institute of Technology Weihai filed Critical Qingdao Hisense Intelligent Commercial System Co ltd
Priority to CN201811454525.7A priority Critical patent/CN109634744B/zh
Publication of CN109634744A publication Critical patent/CN109634744A/zh
Application granted granted Critical
Publication of CN109634744B publication Critical patent/CN109634744B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种基于云平台资源分配的精确匹配方法,设备及存储介质,用于在云平台环境中,将服务任务分配给最佳的服务组件上。方法以资源消耗为基础的评估机制,挖掘资源消耗与服务质量之间的内在关系,建立动态质量评估模型,通过此模型计算每个服务的服务质量评分,利用服务质量评分建立哈希分段空间表。当有服务请求到达时,将其服务质量要求代入服务质量评估模型,求出其对资源的综合评分,将此值哈希后计算出与在哈希表中的位置,从而获得执行任务的最佳服务组件地址,分派服务任务。资源消耗是成本核算的基础,它也与服务质量有着非常重要的关联。本方法不但能够更好的完成服务任务,而且使得以资源消耗为基础的成本估算更加准确。

Description

一种基于云平台资源分配的精确匹配方法,设备及存储介质
技术领域
本发明涉及分布式服务软件研发技术领域,尤其涉及一种基于云平台资源分配的精确匹配方法,设备及存储介质。
背景技术
以云计算技术建立起来的软件运行平台称为云平台,在云平台中聚集了大量的SaaS型服务软件,它通过服务组合与优化构成不同形态的应用系统。租户对这些应用系统的性能要求不同,可以细化为对SaaS型组件的要求,甚至是这些组件中每一个对外开放的API。这些组件可能分布在不同的结点上,每一个API被调用时所需要的资源不同或者说给定不同的资源相同的API运行时所提供的服务质量也不同,但不是分配的资源越多其所提供服务质量就越高,不过,API运行服务质量确实与资源消耗有关。在遇到服务请求任务时,一般会把任务分配给剩余资源较大或最大的结点,以求得负载均衡,减少资源浪费。但是这种算法忽略了一个非常重要的问题:一个组件(或它包含的API)消耗的资源是有限的,当达到某一条件时,给再大的资源也不能提升其执行的性能,同样也造成资源浪费,而达到最佳性能或最能满足服务任务的质量需求的并不一定是该服务的资源上限,这样造成云平台提供的云服务与使用者的基于云计算所要使用的资源量需求无法匹配。
发明内容
为了克服上述现有技术中的不足,本发明提供一种基于云平台资源分配的精确匹配方法,方法包括:
步骤一,对服务质量进行评估;
步骤二,基于因子分解方式,建立云平台的资源分配模型;
步骤三,建立哈希分段空间、预测请求服务质量的评分,定位哈希表,找到匹配的服务组件的访问地址,进行任务分配,满足使用者所要使用的资源量。
优选地,步骤一还包括:
将系统资源消耗作为评估标准,进行服务监控;
综合并通过分析得到服务组件在处理任务时,利用资源消耗对服务组件进行评分,其方法如下:
用户ui在调用服务sj时评分计算公式为:
Eij=δ1lr(cpuij)+δ2lr(memij)+δ3lr(netij)+δ4lr(hdij)
其中,δ1234=1,(δ1234)限定性参数,它们可以限制Eij伴随着QoS参量的增长率。上述公式右边参量的求解方法如下:
Figure BDA0001887416370000021
其中,
Figure BDA0001887416370000022
为所有为用户服务提供的cpu占用率的均值。
Figure BDA0001887416370000023
其中,
Figure BDA0001887416370000024
为所有为用户服务提供的内存占用率的均值。
Figure BDA0001887416370000025
其中,
Figure BDA0001887416370000026
为所有为用户服务提供的网络I/O占用率的均值。
Figure BDA0001887416370000031
其中,
Figure BDA0001887416370000032
为所有为用户服务提供的外部存储I/O占用率的均值。
优选地,步骤将系统资源消耗作为评估标准,进行服务监控;还包括:
系统资源消耗包括:cpu占用率,内存占用率,网络I/O占用率以及硬盘I/O占用率。
优选地,步骤二还包括:
配置服务质量参数,服务组件的服务质量包括但不限于:可用性、响应时间、成功率和吞吐量;
可用性、响应时间、成功率和吞吐量的定义及计算方法如下:
可用性为某个服务对于某个用户在一段时间内的可用时间占比;
响应时间为某个用户对于某个服务请求时所得到的响应时间;用户ui对服务sj访问时的响应时间为rtij;采用如下公式进行计算:
Figure BDA0001887416370000033
其中,
Figure BDA0001887416370000034
是平均响应时间;
成功率为某个用户对于某个服务访问时成功的概率;用户ui对服务sj访问时的响应时间为srij
吞吐率为某个用户对于某个服务访问时吞吐率,一段时间内接受对某个服务并发访问次数/这段时间内该服务所在节点总的访问次数。
优选地,步骤二还包括:
建立因子分解机模型;
用实际测试的QoS参数与监督,评分规则计算得出Eij;数据进行训练,得出因子分解机模型中的参数,代入因子分解机模型中,建立服务选择方程;训练模型如下所示:
Figure BDA0001887416370000041
其中,w0∈R,W=(w1,w2,…,wn)T,W∈Rn,<vi,vj>∈Rn×k,xi∈QoS,n是变量的个数,k<<n表示因子分解的维度,<vi,vj>表示两个大小为k的向量vi和向量vj
Figure BDA0001887416370000042
此公式中的x就代表可用性、响应时间、成功率和吞吐率;W及V为待训练参数;
采用梯度下降法求解模型
用差方法定义损失函数f,设FM中实际测试值为E、预测值为
Figure BDA00018874163700000410
则有
Figure BDA0001887416370000043
为了求解最小化损失函数中的参数,通过引入梯度下降方法进行优化学习,随机梯度下降方法在进行每一步的时候是随机选取一个样本进行梯度计算,公式如下:
Figure BDA0001887416370000044
Figure BDA0001887416370000045
Figure BDA0001887416370000046
计算出梯度后更新权重,即沿着目标函数梯度下降的方向,进行如下迭代:
Figure BDA0001887416370000047
Figure BDA0001887416370000048
Figure BDA0001887416370000049
其中,η>0为计算时的学习速率,或者理解为下降速度,它的取值影响模型的收敛速度。
优选地,步骤三还包括:建立哈希分段空间、预测请求服务质量的评分,定位哈希表,找到最适合服务组件的访问地址,进行任务分配,步聚如下:
(1)计算每个服务组件的评估分数,建立哈希表;
将每个服务的历史测试值剔除噪点,求平均值,代入因子分解机模型中训练出的模型中,得到每个服务的服务质量评估值,组成集合E={e1,e2,…,em};用E建立哈希表:还得出每个服务的评估方程f1,f2,…,fm
某一个用户ux∈U提出服务请求sy∈S,用户ux提出的条件为Cxy={cxy1,cxy2,…,cxyi,…,cxyk},基于每个服务的评估方程f1,f2,…,fm,得出与服务请求对应的资源要求Ex;并按如下方法得到对应服务的访问地址;
①将对m个服务的评分排序列,形成e1<e2<…<en的有序序列E;
②求出E中所有相邻两个评分之间的差值:
ed1=e2-e1,ed2=e3-e2,…,edn-1=en-en-1
③做一个预处理,使得预处理后的结果是任意两个评分之间的差值大于一个给定值ε;预处理过程为:遍历edi,如果edi>ε,那么取下一个edi,如果edi<ε,那么计算edi+edi+1;如果edi+edi+1>ε,那么就把和edi有关的节点作为一个节点集合,即{nodei,nodei+1},与之对应的是评分序列也要发生相应的改变:从序列中删除ei+1;如果edi+edi+1<ε,那么继续向后遍历edi,直到
Figure BDA0001887416370000051
那么把与edi,…,edj有关的节点作为一个节点集合{nodei,nodei+1,…,nodej,nodej+1},相应的评分序列也要删除ei+1,…,ej,ej+1
假设经过预处理之后的评分序列长度为m,即有e1<e2<…<em,取评分差值中最小的作为scale=min{ed1,ed2,…,edm-1}/Δ,其中,Δ为细分参数,是避免任意两个序数si和sj之间差距过小;
④令b_start=e1-δ×scale且b_start>=0,b_start为哈希取值空间的下界;令b_end=em+δ×scale为哈希取值空间的上界;δ×scale为下界精度约束;
⑤构建哈希取值空间段:hs={hs1,hs2,…,hsm},则有:
Figure BDA0001887416370000061
其中,
Figure BDA0001887416370000062
设哈希表为H,则H的长度为:(b_end-b_start)/scale+1;任意hsi对应若干个连续整数序列,其序列长度不等;令p(hsi)表示哈希区间i的上界,则有
Figure BDA0001887416370000063
若用
Figure BDA0001887416370000066
表示此表达式向下取整,即
Figure BDA0001887416370000067
为小于p(hsi)最大整数,则哈希取值空间段还可表示为:
Figure BDA0001887416370000064
⑥哈希表格的节点组成:(hs1,node1),(hs2,node2),(hs3,node3),…,(hsi,nodei),…,(hsm,nodem),其中,nodei为第i个服务的访问地址。若值相同,可采用桶的方式存储,如两个服务si与sj的评分值相同,即ei=ej(i<j),则(hsi,{nodei,nodej});
(2)计算服务请求的主估分数,从哈希表中找到最适合的服务组件访问地址;
当服务请求sy到达后,得到评分exy,则由
Figure BDA0001887416370000065
得到服务访问地址。
一种实现基于云平台资源分配的精确匹配方法的设备,包括:
存储器,用于存储计算机程序及实现基于云平台资源分配的精确匹配方法;
处理器,用于执行所述计算机程序及基于云平台资源分配的精确匹配方法,以实现基于云平台资源分配的精确匹配方法的步骤。
一种具有实现基于云平台资源分配的精确匹配方法的计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现基于云平台资源分配的精确匹配方法的步骤。
从以上技术方案可以看出,本发明具有以下优点:
本发明提供了在云平台内发现服务执行与资源消耗之间关系的方法,提供的各类计算资源对服务运行有着决定性影响,在本方法中提出以资源消耗作为服务质量的客观评估标准,并制定了运算方法,以便观测资源消耗与服务质量的关系。
通过本发明中所训练出来的模型可以对每个服务的服务质量进行评估,得到与资源消耗相关的评估结果。然后,对服务需求提供服务质量进行预测,得出预测结果。最后,用Hash算法将两个结果进行精确匹配,并将服务任务分派给服务质量最接近要求的服务组件。这样,不但能够更好的完成服务任务,而且使得以资源消耗为基础的成本估算更加准确。
本发明提供了在云平台内发现服务执行与资源消耗之间关系的方法能够监督服务数据;还根据这一评分标准,能够给出服务请求者质量需求的评分,对每个服务进行客观评分.能够快速将服务消费者的质量需求与服务自身提供的服务质量匹配。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为基于云平台资源分配的精确匹配方法流程图;
图2为Hash法精确匹配示意图。
具体实施方式
本发明提供一种基于云平台资源分配的精确匹配方法,如图1所示,方法包括:
S1,对服务质量进行评估;
S2,基于因子分解方式,建立云平台的资源分配模型;
S3,建立哈希分段空间、预测请求服务质量的评分,定位哈希表,找到匹配的服务组件的访问地址,进行任务分配,满足使用者所要使用的资源量。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。
面向基于云平台的资源分配精确匹配方法包括三个组成部分:自适应客观评估方法、评估方程和精确匹配方法。
根据本发明优选的,选择有监督机器学习的方法挖掘资源消耗与服务质量的之间的关系。有监督机器学习要求必须监测服务组件的运行行为,并对其运行效果给出评价,作为训练监督,从而寻找资源占用与服务质量之间的关系。
1、服务质量评估
因为是查找资源消耗与服务质量之间的关系,所以,本发明把资源消耗作为评估标准,进行服务监督。
(1)资源
·cpu占用率:某个服务运行时对cpu的占用率。用户ui在调用服务sj时对其所在结点的cpu占用率表示为lc(cpu)ij。计算公式如下:
lc(cpuij)=ld(cpuij)-l(cpuij)
其中,l(cpu)ij是未组件运行时结点上的CPU占用情况,ld(cpu)ij是组件运行时结点上的CPU占用情况。
·内存占用率:运行某个服务时所占用的内存/该结点的总内存数量。用户ui在调用服务sj时的内存占用率表示为lc(mem)ij。计算公式如下:
lc(memij)=ld(memij)-l(memij)
其中,l(mem)ij是未组件运行时结点上的CPU占用情况,ld(mem)ij是组件运行时结点上的CPU占用情况。
·网络I/O占用率:运行某个服务时网络I/O占用率。用户ui在调用服务sj时的网络I/O占用率为lc(net)ij。计算公式如下:
lc(netij)=ld(netij)-l(netij)
其中,l(net)ij是未组件运行时结点上的网络I/O占用情况,ld(net)ij是组件运行时结点上的网络I/O占用情况。
·硬盘I/O占用率:运行某个服务时硬盘I/O占用率。用户ui在调用服务sj时的硬盘I/O占用率为lc(hd)ij。计算公式如下:
lc(hdij)=ld(hdij)-l(hdij)
其中,l(hd)ij是未组件运行时结点上的硬盘I/O占用情况,ld(hd)ij是组件运行时结点上的硬盘I/O占用情况。
(2)自动评分机制
由于服务请求频率高、时间短且数量巨大,由人工评分不现实也不具有很客观性,会导致服务选择性问题,因此,这里采用以使用资源百分比,做为客观评估的标准。训练的数据来源于所有装有同样服务的结点,所以,评分应考虑所有实际测试数据的影响。那么,用户ui在调用服务sj时评分计算公式为:
Eij=δ1lr(cpuij)+δ2lr(memij)+δ3lr(netij)+δ4lr(hdij)
其中,δ1234=1,(δ1234)限定性参数,之所以让他们等于1,是要限制Eij伴随着QoS参量的增长率,在使用时,它们可设置成等值的,如均等于0.25。它的另一个用途,是可以通过适当地提高对应的δ1值,来测试某项资源对于QoS的影响,如设定δ1=0.7,δ2=0.2,δ3=0.1,δ4=0主要是用来测试在特定的QoS要求下,比较几种服务运行时对于cpu资源的占用率,并在确定QoS需求主要是受cpu资源限制时,提高其分配额度或者找能满足这一需求的服务结点,以更好的满足QoS需求。lr(cpuij)+δ2lr(memij)+δ3lr(netij)+δ4lr(hdij)的求解方法如下:
Figure BDA0001887416370000101
其中,
Figure BDA0001887416370000102
为所有为用户服务提供的cpu占用率的均值。
Figure BDA0001887416370000103
其中,
Figure BDA0001887416370000104
为所有为用户服务提供的内存占用率的均值。
Figure BDA0001887416370000105
其中,
Figure BDA0001887416370000106
为所有为用户服务提供的网络I/O占用率的均值。
Figure BDA0001887416370000107
其中,
Figure BDA0001887416370000111
为所有为用户服务提供的外部存储I/O占用率的均值。
上述计算可以看出,评分标准是针对于平均占用率的一个增长率,基本可以客观反应资源消耗与QoS之间的关系,它们都是符合递增规律的,这样可以观测到训练方程的特点,是随着此增长率的增长而增长,还是随着此增长率的增长而下降。但无论符合前述哪种规律,对于这个平分差越大或越小越好,这样便于区分。在选择服务(包括结点,因为服务组件是运行在结点上的)时,因为它是多值匹配,所以应该是越接近越好,尤其是资源占用率是决定成本的重要因素。
2、基于因子分解机的模型
(1)服务质量参数
服务组件的服务质量主要包括但不限于四个方面:可用性、响应时间、成功率和吞吐量。通常的情况下,时间越短效率越高,可用性、成功率及吞吐量代表着服务的稳定性。这四个参数的定义及计算方法如下:
·可用性(availability,av)某个服务对于某个用户在一段时间内的可用时间占比。
·响应时间(Response Time,rt)某个用户对于某个服务请求时所得到的响应时间。用户用户ui对服务sj访问时的响应时间为rtij。由于响应时间越大,越不符要求,它与其他几个参数变化率并不相同,所以,采用如下公式进行计算:
Figure BDA0001887416370000112
其中,
Figure BDA0001887416370000113
是平均响应时间。
·成功率(success rate,sr)某个用户对于某个服务访问时成功的概率。用户用户ui对服务sj访问时的响应时间为srij
·吞吐率(throughout,to)某个用户对于某个服务访问时吞吐率,一段时间内接受对某个服务并发访问次数/这段时间内该服务所在节点总的访问次数。这里不能用绝对吞吐量,以防止该参数值太大而淹没了其他参数的影响。
(2)建立因子分解机模型
·建立训练方程
进行用实际测试的QoS参数与监督(评分规则计算得出Eij)数据进行训练,得出因子分解机模型中的参数,代入因子分解机模型中,建立服务选择方程。训练模型如下所示:
Figure BDA0001887416370000121
其中,w0∈R,W=(w1,w2,…,wn)T,W∈Rn,<vi,vj>∈Rn×k,xi∈QoS,n是变量的个数,k<<n表示因子分解的维度,<vi,vj>表示两个大小为k的向量vi和向量vj
Figure BDA0001887416370000122
此公式中的x就代表上述提及的可用性、响应时间、成功率和吞吐率。W及V为待训练参数。
·采用梯度下降法求解模型
用差方法定义损失函数f,设FM中实际测试值为E、预测值为
Figure BDA0001887416370000123
则有
Figure BDA0001887416370000124
为了求解最小化损失函数中的参数,通过引入梯度下降方法(SGD)进行优化学习,随机梯度下降方法在进行每一步的时候是随机选取一个样本进行梯度计算,公式如下:
Figure BDA0001887416370000125
Figure BDA0001887416370000131
Figure BDA0001887416370000132
计算出梯度后更新权重,即沿着目标函数梯度下降的方向,进行如下迭代:
Figure BDA0001887416370000133
Figure BDA0001887416370000134
Figure BDA0001887416370000135
其中,η>0为计算时的学习速率,或者理解为下降速度,它的取值会影响模型的收敛速度。
如果在硬件中实现,本发明涉及一种装置,例如可以作为处理器或者集成电路装置,诸如集成电路芯片或芯片组。可替换地或附加地,如果软件或固件中实现,所述技术可实现至少部分地由计算机可读的数据存储介质,包括指令,当执行时,使处理器执行一个或更多的上述方法。例如,计算机可读的数据存储介质可以存储诸如由处理器执行的指令。
3、精确匹配方法
(1)数据准备
n个用户U={u1,u2,……,un}。m个服务S={s1,s2,……,sm}。m个服务功能相同,但服务质量可能不同,所消耗的资源也不同,它们被分别部署于m个结点上Node={node1,node2,……,nodem}。服务质量有k项指标,QoS={c1,c2,…,ck},用户ui对于服务sj访问z次后所得到的QoS各项参数指标的检测结果qij为:
Figure BDA0001887416370000136
QoS平均检测结果为:
Figure BDA0001887416370000141
Figure BDA0001887416370000142
所有用户对于服务sj访问后的测试平均结果为:
Figure BDA0001887416370000143
n个用户(u1,u2,…,un)对于m个服务(s1,s2,…,sm)访问的历史数据Q为:
Figure BDA0001887416370000144
评估资源参数有w个,QR={qr1,qr2,…,qrw}用户ui对于服务sj访问z次后对每个结点的资源消耗检测结果lcij为:
Figure BDA0001887416370000145
资源消耗平均检测结果为:
Figure BDA0001887416370000146
Figure BDA0001887416370000147
这里每一行lc与qij中每一行相对应。
(2)方程训练
按照2介绍的方法训练,将(1)中准备的数据代入因子分解机模型中,求出每个服务的评估方程f1,f2,…,fm
(3)服务组件的服务质量评估
将(1)中的
Figure BDA0001887416370000148
代入(2)中的方程中,求出每个服务的评分。
(4)服务匹配
某一个用户ux∈U提出服务请求sy∈S,用户ux提出的条件为Cxy={cxy1,cxy2,…,cxyi,…,cxyk},代入(2)中方程fy求出与此服务请求对应的资源要求Ex。并按如下方法得到对应服务的访问地址。
①将对m个服务的评分排序列,形成e1<e2<…<em的有序序列E。
②求出E中所有相邻两个评分之间的差值:
ed1=e2-e1,ed2=e3-e2,…,edm-1=em-em-1
③首先做一个预处理,使得预处理后的结果是任意两个评分之间的差值大于一个给定值ε。预处理过程为:遍历{edi,i∈[1,m-1]},如果edi>ε,那么取下一个edi,如果edi<ε,那么计算edi+edi+1。如果edi+edi+1>ε,那么就把和edi有关的节点作为一个节点集合,即{nodei,nodei+1},与之对应的是评分序列也要发生相应的改变:从序列中删除ei+1;如果edi+edi+1<ε,那么继续向后遍历edi,直到
Figure BDA0001887416370000151
那么把与edi,…,edi有关的节点作为一个节点集合{nodei,nodei+1,…,nodei,nodei+1},相应的评分序列也要删除ei+1,…,ej,ej+1
假设经过预处理之后的评分序列长度为n(n<=m),即有e1<e2<…<en,取评分差值中最小的作为scale=min{ed1,ed2,…,edn-1}/Δ,其中,Δ为细分参数,它是为了避免任意两个序数si和sj之间差距过小。
④令b_start=e1-δ×scale且b_start>=0,b_start为哈希取值空间的下界;令b_end=en+δ×scale为哈希取值空间的上界;δ×scale为下界精度约束。
⑤构建哈希取值空间段:hs={hs1,hs2,…,hsn},则有:
Figure BDA0001887416370000152
Figure BDA0001887416370000153
其中,
Figure BDA0001887416370000154
设哈希表为H,则H的长度为:(b_end-b_start)/scale+1。由此可见,任意hsi对应若干个连续整数序列,其序列长度不等。令p(hsi)表示哈希区间i的上界,则有
Figure BDA0001887416370000161
若用
Figure BDA0001887416370000164
表示此表达式向下取整,即
Figure BDA0001887416370000165
为小于p(hsi)最大整数,则哈希取值空间段还可表示为:
Figure BDA0001887416370000162
⑥哈希表格的节点组成:(hs1,{node1,node2}),(hs2,node3),(hs3,node4),…,(hsi,nodei),…,(hsn,nodem)。
当服务请求sy到达后,得到评分exy,则由
Figure BDA0001887416370000163
得到服务访问地址。
进一步需要说明的是,下面结合说明书附图和实施用例对本发明作进一步说明,但不限于此。可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
1、数据采集
为了能够得到较为准确的测试数据,本发明运行的前提是有m个备选服务运行于m个结点上,在实际应用中,允许m个备选服务运行于k个结点上,k<=m。
(1)在m个备选服务所在的结点上,采集未运行服务时的资源占用数据(l(cpuij),l(memij),l(netij),l(hdij)),去除干扰数据,取多次采集的平均值。
(2)在m个备选服务所在的结点上,采集未运行服务时的资源占用数据(ld(cpuij),ld(memij),ld(netij),ld(hdij))及服务质量参数(av,rt,sr,to)。
2、训练模型
(1)计算资源消耗lc(cpuij)、lc(memij)、lc(netij)、lc(hdij)
(2)计算服务运行时的客观评分Eij
(3)将(1)、(2)中计算出的数据代如下因子分解机中:
E=ω01×av+ω2×rt+ω3×sr+ω4×to
+<vav,vrt>·av·rt+<vav,vsr>·av·sr+<vav,vto>·av·to
+<vrt,vrs>·sr·to+<vrt,vto>·sr·to
+<vsr,vto>·sr·to
求出ω和υ值存入模型中。
3、服务质量评估与请求服务匹配
(1)将每个服务的历史测试值剔除噪点,求平均值,代入2中训练出的模型中,得到每个服务的服务质量评估值,组成集合E={e1,e2,…,em}。
(2)用本发明中的方法以E为基础构建Hash表,如图2所示。
当有服务请求到达时,将它对服务质量的要求代入2中训练出的方程,求得服务评估值ex,通过Hash(ex)获得服务访问地址,将服务请求分派给该服务。
本发明还提供一种实现基于云平台资源分配的精确匹配方法的设备,包括:
存储器,用于存储计算机程序及实现基于云平台资源分配的精确匹配方法;
处理器,用于执行所述计算机程序及基于云平台资源分配的精确匹配方法,以实现基于云平台资源分配的精确匹配方法的步骤。
本发明还提供一种具有实现基于云平台资源分配的精确匹配方法的计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现基于云平台资源分配的精确匹配方法的步骤。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种基于云平台资源分配的精确匹配方法,其特征在于,方法包括:
步骤一,对服务质量进行评估;
步骤二,基于因子分解方式,建立云平台的资源分配模型;
步骤三,建立哈希分段空间、预测请求服务质量的评分,定位哈希表,找到匹配的服务组件的访问地址,进行任务分配,满足使用者所要使用的资源量;
具体包括如下步骤:
(1)计算每个服务组件的评估分数,建立哈希表;
将每个服务的历史测试值剔除噪点,求平均值,代入因子分解机模型中训练出的模型中,得到每个服务的服务质量评估值,组成集合E={e1,e2,…,em};用E建立哈希表:还得出每个服务的评估方程f1,f2,…,fm
某一个用户ux∈U提出服务请求sy∈S,用户ux提出的条件为Cxy={cxy1,cxy2,…,cxyi,…,cxyk},基于每个服务的评估方程f1,f2,…,fm,得出与服务请求对应的资源要求Ex;并按如下方法得到对应服务的访问地址;
①将对m个服务的评分排序列,形成e1<e2<…<em的有序序列E;
②求出E中所有相邻两个评分之间的差值:
ed1=e2-e1,ed2=e3-e2,…,edm-1=em-em-1
③做一个预处理,使得预处理后的结果是任意两个评分之间的差值大于一个给定值ε;预处理过程为:遍历edi,如果edi>ε,那么取下一个edi,如果edi<ε,那么计算edi+edi+1;如果edi+edi+1>ε,那么就把和edi有关的节点作为一个节点集合,即{nodei,nodei+1},与之对应的是评分序列也要发生相应的改变:从序列中删除ei+1;如果edi+edi+1<ε,那么继续向后遍历edi,直到
Figure FDA0003926655230000011
那么把与edi,…,edj有关的节点作为一个节点集合{nodei,nodei+1,...,nodej,nodej+1},相应的评分序列也要删除ei+1,…,ej,ej+1
假设经过预处理之后的评分序列长度为m,即有e1<e2<…<em,取评分差值中最小的作为scale=min{ed1,ed2,…,edm-1}/Δ,其中,Δ为细分参数,是避免任意两个序数si和sj之间差距过小;
④令b_start=e1-δ×scale且b_start>=0,b_start为哈希取值空间的下界;令b_end=em+δ×scale为哈希取值空间的上界;δ×scale为下界精度约束;
⑤构建哈希取值空间段:hs={hs1,hs2,…,hsm},则有:
Figure FDA0003926655230000021
其中,
Figure FDA0003926655230000022
设哈希表为H,则H的长度为:(b_end-b_start)/scale+1;任意hsi对应若干个连续整数序列,其序列长度不等;令p(hsi)表示哈希区间i的上界,则有
Figure FDA0003926655230000023
若用
Figure FDA0003926655230000025
表示此表达式向下取整,即
Figure FDA0003926655230000026
为小于p(hsi)最大整数,则哈希取值空间段还表示为:
Figure FDA0003926655230000024
⑥哈希表格的节点组成:(hs1,node1),(hs2,node2),(hs3,node3),…,(hsi,nodei),…,(hsm,nodem),其中,nodei为第i个服务的访问地址;若值相同,采用桶的方式存储,如两个服务si与sj的评分值相同,即ei=ej(i<j),则(hsi,{nodei,nodej});
(2)计算服务请求的主估分数,从哈希表中找到最适合的服务组件访问地址;
当服务请求sy到达后,得到评分exy,则由
Figure FDA0003926655230000031
得到服务访问地址。
2.根据权利要求1所述的基于云平台资源分配的精确匹配方法,其特征在于,
步骤一还包括:
将系统资源消耗作为评估标准,进行服务监控;
综合并通过分析得到服务组件在处理任务时,利用资源消耗对服务组件进行评分,其方法如下:
用户ui在调用服务sj时评分计算公式为:
Eij=δ1lr(cpuij)+δ2lr(memij)+δ3lr(netij)+δ4lr(hdij)
其中,δ1234=1,δ1,δ2,δ3,δ4为限定性参数,它们限制Eij伴随着QoS参量的增长率;上述公式右边参量的求解方法如下:
Figure FDA0003926655230000032
其中,
Figure FDA0003926655230000033
为所有为用户服务提供的cpu占用率的均值;
Figure FDA0003926655230000034
其中,
Figure FDA0003926655230000035
为所有为用户服务提供的内存占用率的均值;
Figure FDA0003926655230000036
其中,
Figure FDA0003926655230000037
为所有为用户服务提供的网络I/O占用率的均值;
Figure FDA0003926655230000041
其中,
Figure FDA0003926655230000042
为所有为用户服务提供的外部存储I/O占用率的均值。
3.根据权利要求2所述的基于云平台资源分配的精确匹配方法,其特征在于,
步骤将系统资源消耗作为评估标准,进行服务监控;还包括:
系统资源消耗包括:cpu占用率,内存占用率,网络I/O占用率以及硬盘I/O占用率。
4.根据权利要求1或2所述的基于云平台资源分配的精确匹配方法,其特征在于,
步骤二还包括:
配置服务质量参数,服务组件的服务质量包括但不限于:可用性、响应时间、成功率和吞吐量;
可用性、响应时间、成功率和吞吐量的定义及计算方法如下:
可用性为某个服务对于某个用户在一段时间内的可用时间占比;
响应时间为某个用户对于某个服务请求时所得到的响应时间;用户ui对服务sj访问时的响应时间为rtij;采用如下公式进行计算:
Figure FDA0003926655230000043
其中,
Figure FDA0003926655230000044
是平均响应时间;
成功率为某个用户对于某个服务访问时成功的概率;用户ui对服务sj访问时的成功率为srij
吞吐率为某个用户对于某个服务访问时吞吐率,一段时间内接受对某个服务并发访问次数/这段时间内该服务所在节点总的访问次数。
5.根据权利要求4所述的基于云平台资源分配的精确匹配方法,其特征在于,
步骤二还包括:
建立因子分解机模型;
用实际测试的QoS参数与监督,评分规则计算得出Eij;数据进行训练,得出因子分解机模型中的参数,代入因子分解机模型中,建立服务选择方程;训练模型如下所示:
Figure FDA0003926655230000051
Figure FDA0003926655230000052
其中,ω0∈R,W=(ω1,ω2,…,ωn)T,W∈Rn,<vi,vj>∈Rn×k,xi∈QoS,n是变量的个数,k<<n表示因子分解的维度,<vi,vj>表示两个大小为k的向量vi和向量vj
公式(1)中的x就代表可用性、响应时间、成功率和吞吐率;W及vi为待训练参数;
采用梯度下降法求解模型
用差方法定义损失函数f,设FM中实际测试值为E、预测值为
Figure FDA0003926655230000053
则有
Figure FDA0003926655230000054
为了求解最小化损失函数中的参数,通过引入梯度下降方法进行优化学习,随机梯度下降方法在进行每一步的时候是随机选取一个样本进行梯度计算,公式如下:
Figure FDA0003926655230000055
Figure FDA0003926655230000056
Figure FDA0003926655230000061
计算出梯度后更新权重,即沿着目标函数梯度下降的方向,进行如下迭代:
Figure FDA0003926655230000062
Figure FDA0003926655230000063
Figure FDA0003926655230000064
其中,η>0为计算时的学习速率,或者理解为下降速度,它的取值影响模型的收敛速度。
6.一种实现基于云平台资源分配的精确匹配方法的设备,其特征在于,包括:
存储器,用于存储计算机程序及实现基于云平台资源分配的精确匹配方法;
处理器,用于执行所述计算机程序及基于云平台资源分配的精确匹配方法,以实现如权利要求1至5任意一项所述基于云平台资源分配的精确匹配方法的步骤。
7.一种具有实现基于云平台资源分配的精确匹配方法的计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1至5任意一项所述基于云平台资源分配的精确匹配方法的步骤。
CN201811454525.7A 2018-11-30 2018-11-30 一种基于云平台资源分配的精确匹配方法,设备及存储介质 Active CN109634744B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811454525.7A CN109634744B (zh) 2018-11-30 2018-11-30 一种基于云平台资源分配的精确匹配方法,设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811454525.7A CN109634744B (zh) 2018-11-30 2018-11-30 一种基于云平台资源分配的精确匹配方法,设备及存储介质

Publications (2)

Publication Number Publication Date
CN109634744A CN109634744A (zh) 2019-04-16
CN109634744B true CN109634744B (zh) 2023-01-06

Family

ID=66070420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811454525.7A Active CN109634744B (zh) 2018-11-30 2018-11-30 一种基于云平台资源分配的精确匹配方法,设备及存储介质

Country Status (1)

Country Link
CN (1) CN109634744B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110099061B (zh) * 2019-05-07 2020-05-01 北京邮电大学 一种云平台视频流服务选择方法及装置
US11277317B2 (en) * 2019-08-05 2022-03-15 International Business Machines Corporation Machine learning to predict quality-of-service needs in an operational data management system
US11310126B2 (en) 2019-08-05 2022-04-19 International Business Machines Corporation Automated operational data management dictated by quality of service criteria
CN111711702B (zh) * 2020-08-18 2020-12-18 北京东方通科技股份有限公司 一种基于通信拓扑的分布式协同交互方法及系统
CN112543116A (zh) * 2020-11-24 2021-03-23 哈尔滨工业大学 一种基于精确QoS的快速服务匹配方法
CN114465792B (zh) * 2022-01-25 2023-10-10 广东工业大学 基于区块链和Mesh组网的集群控制与任务分配方法及系统
CN115759528B (zh) * 2022-11-02 2023-07-18 奇墨科技(广州)有限公司 It服务质量管理方法、装置及存储介质
CN115759510B (zh) * 2022-11-15 2023-06-23 南京航空航天大学 一种云制造任务与机加工制造服务的匹配方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441467A (zh) * 2007-09-28 2009-05-27 洛克威尔自动控制技术股份有限公司 目标资源分配
CN104038392A (zh) * 2014-07-04 2014-09-10 云南电网公司 一种云计算资源服务质量评估方法
CN104486350A (zh) * 2014-12-24 2015-04-01 电子科技大学 一种基于用户行为的网络内容加速方法
CN108256958A (zh) * 2017-12-22 2018-07-06 华南师范大学 一种基于WUDiff和RMF的混合协同推荐算法
CN108664330A (zh) * 2018-05-16 2018-10-16 哈尔滨工业大学(威海) 一种基于变邻域搜索策略的云资源分配方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140280976A1 (en) * 2013-03-15 2014-09-18 Reinventing Geospatial, Inc. Mobile computing cloud and virtual mobile infrastructure to optimize group resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441467A (zh) * 2007-09-28 2009-05-27 洛克威尔自动控制技术股份有限公司 目标资源分配
CN104038392A (zh) * 2014-07-04 2014-09-10 云南电网公司 一种云计算资源服务质量评估方法
CN104486350A (zh) * 2014-12-24 2015-04-01 电子科技大学 一种基于用户行为的网络内容加速方法
CN108256958A (zh) * 2017-12-22 2018-07-06 华南师范大学 一种基于WUDiff和RMF的混合协同推荐算法
CN108664330A (zh) * 2018-05-16 2018-10-16 哈尔滨工业大学(威海) 一种基于变邻域搜索策略的云资源分配方法

Also Published As

Publication number Publication date
CN109634744A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN109634744B (zh) 一种基于云平台资源分配的精确匹配方法,设备及存储介质
CN103729248B (zh) 一种基于缓存感知的确定待迁移任务的方法和装置
CN106933650A (zh) 云应用系统的负载管理方法及系统
CN105893541B (zh) 一种基于混合存储的流式数据自适应持久化方法及系统
CN111367644B (zh) 一种面向异构融合系统的任务调度方法及装置
CN108664378A (zh) 一种微服务最短执行时间的优化方法
EP1564638A1 (en) A method of reassigning objects to processing units
CN111444026A (zh) 一种云环境下的深度学习训练资源配置预测方法
CN113391913A (zh) 一种基于预测的分布式调度方法和装置
CN113822173A (zh) 基于节点归并和路径预测的行人属性识别训练加速方法
CN107370807B (zh) 基于透明服务平台数据访问的服务端及其缓存优化方法
US7664858B2 (en) Method for balancing load between processors in a multi-processor environment
JP5515889B2 (ja) 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
CN112000460A (zh) 一种基于改进贝叶斯算法的服务扩缩容的方法及相关设备
CN110191015B (zh) 基于cpi指标的云服务性能智能预测方法和装置
CN112597076B (zh) 一种面向Spark的基于数据感知的缓存替换方法及系统
Yang et al. Design of kubernetes scheduling strategy based on LSTM and grey model
CN109711555B (zh) 一种预测深度学习模型单轮迭代时间的方法和系统
KR102062332B1 (ko) 처리 시간에 민감한 워크로드에 대한 메모리 대역폭 할당 방법 및 장치
De Grande et al. Dynamic load redistribution based on migration latency analysis for distributed virtual simulations
CN115576924A (zh) 一种数据迁移的方法
CN112543116A (zh) 一种基于精确QoS的快速服务匹配方法
CN112882917A (zh) 一种基于贝叶斯网络迁移的虚拟机服务质量动态预测方法
Wu et al. HW3C: a heuristic based workload classification and cloud configuration approach for big data analytics
CN115001580B (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