CN104407926A - 一种云计算资源的调度方法 - Google Patents
一种云计算资源的调度方法 Download PDFInfo
- Publication number
- CN104407926A CN104407926A CN201410775658.XA CN201410775658A CN104407926A CN 104407926 A CN104407926 A CN 104407926A CN 201410775658 A CN201410775658 A CN 201410775658A CN 104407926 A CN104407926 A CN 104407926A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- request
- node
- database access
- queue
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种云计算资源的调度方法,该方法包括:利用最大突发负载、平均吞吐率和最大响应时间对虚拟机发出的数据库访问请求进行整流,形成访问请求队列;当访问请求队列未满时,利用集中式调度来优先调度实时性最高的数据库访问请求;当访问请求队列阻塞时,计算虚拟机在各个节点所需要分配的资源量,通过各节点的分布式调度来处理高负载请求。本发明根据虚拟机的数据库访问特性,提高数据库访问资源利用率;对访问请求进行合理的资源分配。
Description
技术领域
本发明涉及云计算,特别涉及一种云计算资源的调度方法。
背景技术
在云计算应用中,用户所购买的虚拟机建立在云服务供应商提供的主机上,服务提供商的每一台主机可以运行多个虚拟机供一个或多个用户使用。为了便于数据的管理与交换,这些主机通常共享一个集中化的存储资源池,这为数据库访问资源调度带来了一些全新的挑战。首先,虽然虚拟化保证了每个虚拟机都假想自身获取独立的专有资源,但实际上每个分布式存储节点的数据库访问性能是有限的,不同虚拟机间的数据库访问资源竞争导致每个虚拟机实际数据库访问性能受限。不同于CPU和内存分配,数据库访问资源难以应对负载波动,遇到数据库访问突发访问时服务质量容易受到影响甚至使服务停滞。数据库访问工作负载的突发性和不可确定性要求数据库访问资源调度方法必须满足两个特性,其一是健壮性,即能为共享资源的虚拟机提供完善的隔离措施;其二是高效性,即能有效地利用数据库访问资源,尽量减少响应时间。
现有技术有如下缺点:1)服务提供商需要分析或者预估该用户的数据库访问特性;2)资源调度不灵活,当用户在某些时刻集中访问某些节点时不能得到及时的响应;3)不利于实时管理,局部目标服务级别设置需要经常更改。因此需要采用更加灵活的方式分配全局目标服务级别,实现资源的按需分配。
因此,针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种云计算资源的调度方法,包括:
利用最大突发负载、平均吞吐率和最大响应时间对虚拟机发出的数据库访问请求进行整流,形成访问请求队列;
当访问请求队列未满时,利用集中式调度来优先调度实时性最高的数据库访问请求;
当访问请求队列阻塞时,计算虚拟机在各个节点所需要分配的资源量,通过各节点的分布式调度来处理高负载请求。
优选地,所述虚拟机发出的数据库访问请求通过主机的访问请求协调器分析,并将数据库访问请求映射至不同的分布式存储节点,在处理过程中,每个数据库访问请求后都附加上一部分附加信息,分布式存储节点提取这些附加信息后对虚拟机进行数据库访问特性建模,并分配合适的局部目标服务级别,在数据库访问模式建模中确定以下两点:虚拟机的历史数据库访问特性和近期数据库访问特性,根据上述特性,将全局目标服务级别分解成该节点所需要的局部目标服务级别,然后经过时间戳处理为各数据库访问请求加上时间戳,最后经由调度器调度。
优选地,所述对虚拟机发出的数据库访问请求进行整流,进一步包括:
用三元组(σ,ρ,δ)来表示目标服务级别,其中σ代表最大突发负载量,ρ为平均吞吐率,δ为最大响应时间,在任意时间段(T1,T2)内,一个虚拟机最多发出σ+ρ(T2-T1)个请求,虚拟机初始时有σ个令牌,每发出一个请求令牌数量减1;每经过Δt时间,令牌数量便增加1,令牌数量以σ为上限,确保虚拟机最大突发负载不会超过σ,若令牌已用尽,则将请求的到达时间向后推迟1/ρ的整数倍,经过整流后,将数据库访问请求形成队列,等待调度。
优选地,将数据库访问请求形成队列进一步包括:分布式存储节点为每个虚拟机建立一个请求队列,每个虚拟机发出的请求可能在多个节点中形成队列,各分布式存储节点调度数据库访问请求时,总是从当前节点的所有数据库访问队列中选择某个队列的第1个请求进行调度;
将数据库访问请求队列的状态分为空闲、正常和阻塞,当队列长度为零时该队列为空闲状态,当队列长度为非零,且队列中的请求尚未超出允许的最大响应时间时队列处于正常状态,当队列中至少有一个请求已经超出允许的最大响应时间时称其为阻塞状态。
优选地,所述将全局目标服务级别分解成局部目标服务级别,进一步包括:
每个虚拟机预设一个全局的目标服务级别,该虚拟机第1次访问某个节点时会将全局目标服务级别配置附加在数据库访问请求后,分布式存储节点提取出虚拟机的全局目标服务级别后,计算出合适的局部目标服务级别,该局部目标服务级别要反映当前分布式存储节点在这个虚拟机访问的所有节点中所占的比重,并实时更新;
记(σi,ρi,δi)为虚拟机VMi的全局目标服务级别,(σj i,ρj i,δj i)为VMi在分布式存储节点nj的局部目标服务级别,其中1≤i≤VN,VN为虚拟机的个数,1≤j≤NNi,NNi为第i个虚拟机中分布式存储节点的个数,δi为虚拟机VMi的最大响应时间,σi为虚拟机VMi的最大突发负载量,σj i为虚拟机VMi中节点的nj的最大突发负载量,δj i为虚拟机VMi的节点的nj的最大响应时间;
将全局平均吞吐率ρi分配到各个节点,定义如下:
σj i=σi;
ρj i=μj iρi;
δj i=δi;
其中μj i表示局部目标服务级别ρj i在全局目标服务级别ρi中所占的比例;
将μj i进一步分解为两部分:历史访问比例和近期访问比例,令Hj i表示历史访问比例,Rj i表示近期访问比例,αi表示历史访问比例的贡献因子,将μj i表示为Hj i和Rj i的线性组合:
μj i=αi·Hj i+(1-αi)·Rj i
令主机中的访问请求协调器为虚拟机VMi记录2个数据:Ct i和Dt i,其中Ct i表示到时刻t为止虚拟机VMi已完成的数据库访问请求数;Dt i表示截止到时刻t虚拟机VMi总共发出的数据库访问请求数;
每当访问请求协调器分发一个数据库访问请求,便将相对应的2个数据Ct i和Dt i添加到该请求的结尾;在分布式存储节点nj中,调度器维护虚拟机VMi最近数据库访问访问请求的Ct i和Dt i,并记录本节点为虚拟机VMi完成的请求总数Sj i,通过以下过程获得历史访问比例Hj i和近期访问比例Rj i:
Hj i=Sj i/Ct i
Rj i=1/(Dt i-Dt-1 i)
最终获得将全局平均吞吐率ρi分配到各个节点的资源量:
ρj i=μj iρi=[αi·Hj i+(1-αi)·Rj i]·ρi=[αi·Sj i/Ct i+(1-αi)·1/Dt i-Dt-1 i]·ρi。
本发明相比现有技术,具有以下优点:
动态分析虚拟机的数据库访问特性,优先调度对响应时间要求更严格的数据库访问请求,在保证服务级别的前提下提高数据库访问资源利用率;在高负载时,估算出在各节点所需要分配的资源量,对访问请求进行合理的资源分配。
附图说明
图1是根据本发明实施例的云计算资源的调度方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
总的来说,一个全局目标服务级别是由存储各节点的数据库访问访问综合而成,关键在于如何将全局目标服务级别分解为合适的局部目标服务级别,从而在各节点进行高效的调度。
本发明的一方面提供了一种云计算资源的调度方法。图1是根据本发明实施例的云计算资源的调度方法流程图。如图1所示,实施本发明的具体步骤如下:
对虚拟机发出的数据库访问请求进行整流,形成访问请求队列;当访问请求队列未满时,利用集中式调度来优先调度高实时性的数据库访问请求;当访问请求队列阻塞时,计算虚拟机在各个节点所需要分配的资源量,通过分布式调度来处理高负载请求。
为虚拟机发出的数据库访问请求进行整流,每个虚拟机的数据库访问流由最大突发负载σ、平均吞吐率ρ和最大响应时间δ控制。当数据库访问负载较轻时,方法利用集中式调度来优先调度实时性要求高的数据库访问请求。当系统面临高数据库访问负载时,该方法分析每个请求的预期贡献值,通过分布式调度来优先调度贡献值高的请求。另一方面,为了保证每个虚拟机的全局目标服务级别能够完成,各分布式存储节点需要实时设置合适的局部目标服务级别。本发明实时分析虚拟机的数据库访问特性,将全局目标服务级别分解成局部目标服务级别,根据局部目标服务级别为虚拟机在每个分布式存储节点提供合适的服务。
本发明在宿主机上运行多台虚拟机,其底层为访问请求协调器。主机的访问请求协调器分析虚拟机发出的数据库访问请求,将数据库访问请求映射至不同的分布式存储节点。在处理过程中,每个数据库访问请求后都会附加上一部分附加信息,分布式存储节点提取这些信息后对虚拟机进行数据库访问特性建模,并分配合适的局部目标服务级别。数据库访问模式建模确定以下两点:虚拟机的历史数据库访问特性和近期数据库访问特性。根据这些特性,数据库访问模式模型将全局目标服务级别分解成该节点所需要的局部目标服务级别,然后经过时间戳处理模块为各数据库访问请求加上时间戳,最后经由调度器调度。
分布式存储节点为每个虚拟机建立一个请求队列,类似地,每个虚拟机发出的请求可能在多个节点中形成队列。各分布式存储节点调度数据库访问请求时,总是从当前节点的所有数据库访问队列中选择某个队列的第1个请求进行调度,否则相应虚拟机的请求顺序会被破坏,不利于主机中的工作负载整合。
本发明用一个三元组(σ,ρ,δ)来表示目标服务级别,其中σ代表最大突发负载量,ρ为平均吞吐率,δ为最大响应时间。在任意时间段(T1,T2)内,一个虚拟机最多发出σ+ρ(T2-T1)个请求。虚拟机初始时有σ个令牌,每发出一个请求令牌数量减1;每经过Δt时间,令牌数量便增加1,令牌数量以σ为上限,以确保虚拟机最大突发负载不会超过σ。若令牌已用尽,则将请求的到达时间向后推迟1/ρ的整数倍,使得调整后的到达时间仍满足目标服务级别的整流限制,避免该虚拟机占用过多资源。经过整流后,数据库访问请求形成队列,等待调度。
将数据库访问请求队列的状态分为空闲、正常和阻塞3种。当队列长度为零时该队列为空闲状态。当队列长度为非零,且队列中的请求尚未超出允许的最大响应时间时队列处于正常状态。当队列中至少有一个请求已经超出允许的最大响应时间时称其为阻塞状态。调度过程中可以通过查看队列的状态推断出数据库访问资源供应水平,从而采用合适的调度策略。
每个虚拟机都有一个全局目标服务级别,该虚拟机第1次访问某个节点时会将全局目标服务级别配置附加在数据库访问请求后面。分布式存储节点提取出虚拟机的全局目标服务级别后便需要计算出合适的局部目标服务级别。该局部目标服务级别首先要反映出当前分布式存储节点在这个虚拟机访问的所有节点中所占的比重,其次需要实时更新,适应工作负载的变化性。以虚拟机VMi为例,记(σi,ρi,δi)为VMi的全局目标服务级别,(σj i,ρj i,δj i)为VMi在分布式存储节点nj的局部目标服务级别。其中取1≤i≤VN,VN为虚拟机的个数。1≤j≤NNi,NNi为第i个虚拟机中分布式存储节点的个数。δi为虚拟机VMi的最大响应时间,σi为虚拟机VMi的最大突发负载量,σj i为虚拟机VMi中节点的nj的最大突发负载量,δj i为虚拟机VMi的节点的nj的最大响应时间。首先,虚拟机VMi的最大响应时间不变,所以δj i与δi相等。其次,期望的σj i与σi也相等,这样分布式存储节点能更好应对突发的工作负载。因此本发明的主要目标在于将全局平均吞吐率ρi分配到各个节点。定义如下:
σj i=σi;(1)
ρj i=μj iρi;(2)
δj i=δi;(3)
这里μj i表示局部目标服务级别ρj i在全局目标服务级别ρi中所占的比例。
将μj i进一步分解为两部分:历史访问比例和近期访问比例。令Hj i表示历史访问比例,Rj i表示近期访问比例,αi表示历史访问比例的贡献因子。将μj i表示为Hj i和Rj i的线性组合,如式(4):
μj i=αi·Hj i+(1-αi)·Rj i (4)
当能精确计算出Hj i和Rj i时,即满足:
ΣjHj i=1 (5)
ΣjRj i=1 (6)
可以得出:Σjμj i=Σj[αi·Hj i+(1-αi)·Rj i]=
αi·ΣjHj i+(1-αi)·ΣjRj i=αi·1+(1-αi)·1=1 (7)
也就是说,任意虚拟机VMi在所有分布式存储节点中获得的目标服务级别份额之和为1,即其全局目标服务级别被分解为合适的局部目标服务级别。
为了使各节点能计算出虚拟机在当前节点应该分配到的局部目标服务级别,令主机中的访问请求协调器为虚拟机VMi记录2个数据:Ct i和Dt i,其中Ct i表示到时刻t为止虚拟机VMi已完成的数据库访问请求数;Dt i表示截止到时刻t虚拟机VMi总共发出的数据库访问请求数。每当访问请求协调器分发一个数据库访问请求,便会将相对应的2个数据添加到该请求的结尾处供分布式存储节点的调度方法分析。在分布式存储节点nj中,调度器一边维护虚拟机VMi最近数据库访问访问请求的Ct i和Dt i,一边记录本节点为虚拟机VMi完成的请求总数Sj i。历史访问比例Hj i和近期访问比例Rj i可以根据式(8)(9)得出:
Hj i=Sj i/Ct i (8)
Rj i=1/(Dt i-Dt-1 i) (9)
式(8)表明,截至时刻t在虚拟机VMi已经完成的Ct i个数据库访问请求中,有Sj i个是由分布式存储节点nj完成的。式(9)表明,从分布式存储节点nj上一次接收到虚拟机VMi的请求至今,虚拟机VMi向所有的分布式存储节点共发出Dt i-Dt-1 i个请求,其中只有1个请求到达VMi,在这段时间内分布式存储节点nj所承受的负载量占全部负载的1/(Dt i-Dt-1 i)。
由式(1)~(9)最终推导得到:
ρj i=μj iρi=[αi·Hj i+(1-αi)·Rj i]·ρi=[αi·Sj i/Ct i+(1-αi)·1/Dt i-Dt-1 i]·ρi。 (10)
在实际过程中,由于历史访问比例Hj i和近期访问比例Rj i都与小于1的因子相乘,其中任意一个值较小时均可能导致最终分配的ρj i过小,同时也使得虚拟机即使某一段时间内集中访问单一节点也无法获得全局目标服务级别服务量。为了避免这些不合理分配,为μj i制订了上、下两个阈值。当μj i小于下阈值时,令μj i等于下阈值,相当于为虚拟机在任意分布式存储节点制订了最小服务保障。
当μj i大于上阈值时,假定虚拟机在集中访问当前分布式存储节点,因此令μj i=1,从而让该虚拟机的请求能在当前节点尽快完成。与此相对应,式(3)中令局部最大突发负载量δj i与全局突发负载量δj i相等,也可以为模型建立提供更平滑的缓冲机制。另外,随着工作负载的运行,已完成的请求数Ct i和已发出的请求数Dt i逐渐增大,其差值可以忽略不计,只需记录已完成的请求数Ct i。
为了更好地衡量请求的优先级,根据请求所需要的目标服务级别计算请求对资源的消耗量,将其与虚拟机的收费标准即贡献值相比较,得到每个提供服务的资源的单位贡献值,以此作为标准化贡献值。假使全局目标服务级别为(σi,ρi,δi),在请求所要求的完成时间(t,t+δi)内,记单位时间内虚拟机的最大吞吐率为该虚拟机所需要的全局服务成本GC,即
GC=(σi+ρi·δi)/δi=σi/δi+ρi (11)
不同分布式存储节点共同分担了对虚拟机VMi负载的服务,故虚拟机在分布式存储节点nj所消耗的局部服务成本相当于:
LC=μj i·GC=μj i(σi/δi+ρi)。 (12)
其标准化贡献值NR为(t,t+δi)内获得的贡献值与局部服务成本的比,即NR=(p·δi)/LC=p·δ2 iμji·(σi+ρi·δi), (13)
其中,p为用户为单位时间服务支付的成本。由式(13)可以看出标准化贡献值的特点:更宽松的响应时间要求、更低的平均吞吐率需求和更低的突发负载量意味着更低的资源占用和更高的贡献率。
本发明进一步在数据库检索方面,在保证数据访问实时性的基础上实现备份同步、一致性修复,从而有效提高数据库的数据存储与处理能力,适应当前对于数据高可用性、高可靠性的应用需求。
虚拟机上传的数据存储至云平台的多个节点中,当某个节点无法正常工作而造成该节点数据备份失效时,其他备份所在存储的节点仍能够正常存储、检索,提供与失效节点完全一致的数据访问。通过在多个物理服务器间实现不同数量的备份,能够区别对待核心数据与普通数据,兼顾系统的存储成本与可靠性。
由云平台和虚拟机接入到访问请求协调器,云平台中对等的各个存储节点由管理节点服务统一分配令牌号,系统的数据存储流程可分为以下步骤:
(1)虚拟机通过主动轮询或事件触发方式获取当前数据,经压缩过滤后发往访问请求协调器。
(2)访问请求协调器通过用户配置的存储节点配置将数据上传至某个云平台。
(3)云平台的管理节点将数据中的存储节点名转换为存储节点ID,并建立存储节点ID与物理服务器的映射,从而将数据发送至指定的存储节点中。
(4)将存储节点进行分组,并按组名建立与物理服务器的映射,防止数据存储过于分散。虚拟机在向云平台管理节点进行存储定位后,直接连至指定的物理服务器,从而尽量减少不必要的数据转发。
(5)虚拟机在数据写入第一个物理服务器的内存缓存后即认为写入成功,由该存储节点执行后继的备份流程,从而减少了数据发送时的阻塞等待时间,在满足高可用性的前提下提升了系统吞吐率。数据发送的可靠性由访问请求协调器保证。
为保障数据访问的可用性,需要对历史数据存储进行备份。系统默认的备份数量为1,可在配置过程中按可靠性要求对备份数量进行配置。备份数据与主备份数据存储在不同的物理服务器,存储规则由主备份所在存储节点所加载的脚本实现,默认为依次存储在管理节点指定的前向两个节点上。
由于系统实时性限制,数据在主备份所在存储节点的内存缓存期间不进行备份操作。当记录容量达到缓存页面大小后,或者超过最大缓存时间后,存储归档服务在执行本地数据持久化的同时,将缓存数据发送至指定的备份节点。由于节点失效、网络异常等原因,可能造成多个服务器间的数据备份差异。通过存储数据时附加的管理信息可进行数据一致性的快速判定和缺失数据的准确定位。备份的一致性判定和修复工作一般为周期性触发,通过追加缺失的数据来完成修复。
通过使用追加操作来实现正常、异常情况下的数据存储,并通过版本号进行正常、异常数据的区分,从而尽可能避免在存储异常时磁盘中的数据发生改写或迁移,同时也便于失效节点恢复后的数据同步。为高效存储时间回跳状态下同一时间段的不同版本数据,在追加记录新版本数据的同时,通过维护数据管理信息中的版本标识与原有数据形成区分,保证了异常情况下数据不发生丢失和乱序。
以固定长度的页面为最小单元进行数据管理,页面类型包括数据记录页、索引信息页和版本信息页。数据记录页记录了该存储节点在某段时间的实时值、质量码与时间戳,当该页记录过程发生异常时不会切换页面,而是使用累加的版本号和异常发生时的页面记录偏移量进行标识;索引信息页记录了数据记录页的简要信息,如数据记录页的版本变化标识、页面编号和时标索引等;版本信息页记录了各版本号对应的起止时间、所关联的数据记录页起始编号及其页面记录偏移量等信息。各页面间以链表方式进行关联,便于指定时间段存储数据的快速定位。
由主备份所在存储节点在数据页写入磁盘的同时将其发送至指定的单个或多个备份节点,从而实现多个备份的写入操作。各备份节点对接收到的数据记录页的处理流程与主备份完全相同,并在页面成功写入磁盘后通过特定消息通知主备份所在存储节点。同时,在各备份节点定期进行自检操作,通过检测指定存储节点所有版本编号的连续性,以及各版本中所有数据记录页编号的连续性,可以快速确认是否存在数据缺失。如果数据是完整的,则在结果文件中记录当前的检测位置,防止已检测的数据内容被重复检测,否则将发起修复操作。
(1)与主备份所在存储节点进行协商,确定缺失的数据记录页对应的编号范围。
(2)向主备份所在存储节点请求缺失的数据记录页,在获取到所有页面后追加写入当前归档文件,并修改索引信息页中维护的时标索引信息。
(3)如果存在版本号变化,则对应的版本信息页也将进行同步,以保证所有版本编号的连续性。
当用户在配置中添加节点时,云平台管理节点计算得到该新增节点的数据存储范围。随后该新增节点向原主备份所在存储节点请求存储范围内的所有数据记录页,而获取到数据记录页之后的处理流程与主备份完全相同。当节点失效或网络故障导致无法访问某一节点时,其原有存储功能将由云平台管理节点确定的前向节点进行代理。此时,所有数据由代理节点进行存储,保证备份节点中的数据完整性。当该节点恢复访问时,将按照数据一致性维护机制与代理节点进行数据同步,从而获取异常期间缺失的数据内容。数据同步完成后,代理节点停止代理功能,当前节点恢复原有存储功能。
为提升查询效率吞吐率,必须充分利用多个备份存储的优势,将查询过程中的磁盘I/O操作尽可能均匀地分配给各备份节点。由于查询请求首先到达云平台管理节点,需要由云平台管理节点在处理查询请求时进行负载均衡,防止某一存储服务器负荷过重,而对应的备份节点却处于空闲状态的现象发生。云平台管理节点确定查询目标服务器后,由查询虚拟机直接向对应的服务器进行本地查询。
进入本地数据查询流程后,通过相互链接的索引信息页中记录的时标索引,可以快速定位到指定时间范围内的数据存储位置。如果页面的版本变化标识被设置,说明该页面中混合存放有正常数据和异常数据,如果不加以区分而直接按时间顺序进行拟合,将产生错误的拟合结果。
通过版本信息页进行时序数据的版本控制,在版本发生变化的区间使用最新版本的数据进行拟合,从而避免正常数据与异常数据混合交错导致错误的查询拟合结果。
来自查询虚拟机的查询请求经访问请求协调器路由后,首先提交给云平台管理节点,由云平台管理节点依据查询时间长度决定是否将查询请求进行分解。如果查询时间跨度大于预设值,则将原始查询请求按时间范围分解为多个子查询请求,并指派给多个存储存储节点。查询虚拟机获取到应答信息后,与每个存储存储节点建立直连,分别完成各自的本地数据查询流程。如果不需要进行查询请求分解,则按负载均衡方法在主从备份节点中选择合适的单个存储服务器进行后继查询。
各数据存储服务器在接收到本地查询请求后,将依据版本信息页中的内容判断查询时间范围内是否存在版本更新。如果该时间段内的过程数据属于同一版本,则直接由索引信息页定位到实际存储位置进行数据读取,否则将按各版本更替时间点进行查询范围分割,各分割区间内使用最新版本的数据进行拟合,从而完成本地数据查询流程。
为进一步提升查询效率,在各存储存储节点进行查询结果缓存。处理本地查询请求时优先在查询结果缓存中查找是否有对应记录,一旦查找成功则直接返回缓存结果,从而减少了磁盘I/O次数。
综上所述,本发明提出了云存储环境中数据库访问资源调度方法,动态分析虚拟机的数据库访问特性,优先调度对响应时间要求更严格的数据库访问请求,在保证服务级别的前提下提高数据库访问资源利用率;在高负载时,估算出在各节点所需要分配的资源量,对访问请求进行合理的资源分配。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (5)
1.一种云计算资源的调度方法,其特征在于,包括:
利用最大突发负载、平均吞吐率和最大响应时间对虚拟机发出的数据库访问请求进行整流,形成访问请求队列;
当访问请求队列未满时,利用集中式调度来优先调度实时性最高的数据库访问请求;
当访问请求队列阻塞时,计算虚拟机在各个节点所需要分配的资源量,通过各节点的分布式调度来处理高负载请求。
2.根据权利要求1所述的方法,其特征在于,所述虚拟机发出的数据库访问请求通过主机的访问请求协调器分析,并将数据库访问请求映射至不同的分布式存储节点,在处理过程中,每个数据库访问请求后都附加上一部分附加信息,分布式存储节点提取这些附加信息后对虚拟机进行数据库访问特性建模,并分配合适的局部目标服务级别,在数据库访问模式建模中确定以下两点:虚拟机的历史数据库访问特性和近期数据库访问特性,根据上述特性,将全局目标服务级别分解成该节点所需要的局部目标服务级别,然后经过时间戳处理为各数据库访问请求加上时间戳,最后经由调度器调度。
3.根据权利要求2所述的方法,其特征在于,所述对虚拟机发出的数据库访问请求进行整流,进一步包括:
用三元组(σ,ρ,δ)来表示目标服务级别,其中σ代表最大突发负载量,ρ为平均吞吐率,δ为最大响应时间,在任意时间段(T1,T2)内,一个虚拟机最多发出σ+ρ(T2-T1)个请求,虚拟机初始时有σ个令牌,每发出一个请求令牌数量减1;每经过Δt时间,令牌数量便增加1,令牌数量以σ为上限,确保虚拟机最大突发负载不会超过σ,若令牌已用尽,则将请求的到达时间向后推迟1/ρ的整数倍,经过整流后,将数据库访问请求形成队列,等待调度。
4.根据权利要求3所述的方法,其特征在于,将数据库访问请求形成队列进一步包括:分布式存储节点为每个虚拟机建立一个请求队列,每个虚拟机发出的请求可能在多个节点中形成队列,各分布式存储节点调度数据库访问请求时,总是从当前节点的所有数据库访问队列中选择某个队列的第1个请求进行调度;
将数据库访问请求队列的状态分为空闲、正常和阻塞,当队列长度为零时该队列为空闲状态,当队列长度为非零,且队列中的请求尚未超出允许的最大响应时间时队列处于正常状态,当队列中至少有一个请求已经超出允许的最大响应时间时称其为阻塞状态。
5.根据权利要求4所述的方法,其特征在于,所述将全局目标服务级别分解成局部目标服务级别,进一步包括:
每个虚拟机预设一个全局的目标服务级别,该虚拟机第1次访问某个节点时会将全局目标服务级别配置附加在数据库访问请求后,分布式存储节点提取出虚拟机的全局目标服务级别后,计算出合适的局部目标服务级别,该局部目标服务级别要反映当前分布式存储节点在这个虚拟机访问的所有节点中所占的比重,并实时更新;
记(σi,ρi,δi)为虚拟机VMi的全局目标服务级别,(σj i,ρj i,δj i)为VMi在分布式存储节点nj的局部目标服务级别,其中1≤i≤VN,VN为虚拟机的个数,1≤j≤NNi,NNi为第i个虚拟机中分布式存储节点的个数,δi为虚拟机VMi的最大响应时间,σi为虚拟机VMi的最大突发负载量,σj i为虚拟机VMi中节点的nj的最大突发负载量,δj i为虚拟机VMi的节点的nj的最大响应时间;
将全局平均吞吐率ρi分配到各个节点,定义如下:
σj i=σi;
ρj i=μj iρi;
δj i=δi;
其中μj i表示局部目标服务级别ρj i在全局目标服务级别ρi中所占的比例;
将μj i进一步分解为两部分:历史访问比例和近期访问比例,令Hj i表示历史访问比例,Rj i表示近期访问比例,αi表示历史访问比例的贡献因子,将μj i表示为Hj i和Rj i的线性组合:
μj i=αi·Hj i+(1-αi)·Rj i
令主机中的访问请求协调器为虚拟机VMi记录2个数据:Ct i和Dt i,其中Ct i表示到时刻t为止虚拟机VMi已完成的数据库访问请求数;Dt i表示截止到时刻t虚拟机VMi总共发出的数据库访问请求数;
每当访问请求协调器分发一个数据库访问请求,便将相对应的2个数据Ct i和Dt i添加到该请求的结尾;在分布式存储节点nj中,调度器维护虚拟机VMi最近数据库访问访问请求的Ct i和Dt i,并记录本节点为虚拟机VMi完成的请求总数Sj i,通过以下过程获得历史访问比例Hj i和近期访问比例Rj i:
Hj i=Sj i/Ct i
Rj i=1/(Dt i-Dt - 1 i)
最终获得将全局平均吞吐率ρi分配到各个节点的资源量:
ρj i=μj iρi=[αi·Hj i+(1-αi)·Rj i]·ρi=[αi·Sj i/Ct i+(1-αi)·1/Dt i-Dt-1 i]·ρi。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410775658.XA CN104407926B (zh) | 2014-12-15 | 2014-12-15 | 一种云计算资源的调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410775658.XA CN104407926B (zh) | 2014-12-15 | 2014-12-15 | 一种云计算资源的调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104407926A true CN104407926A (zh) | 2015-03-11 |
CN104407926B CN104407926B (zh) | 2017-08-29 |
Family
ID=52645559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410775658.XA Expired - Fee Related CN104407926B (zh) | 2014-12-15 | 2014-12-15 | 一种云计算资源的调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104407926B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679896A (zh) * | 2015-03-18 | 2015-06-03 | 成都金本华科技股份有限公司 | 一种大数据环境下的智能检索方法 |
CN104679893A (zh) * | 2015-03-18 | 2015-06-03 | 成都金本华科技股份有限公司 | 一种基于大数据的信息检索方法 |
CN104679897A (zh) * | 2015-03-18 | 2015-06-03 | 成都金本华科技股份有限公司 | 一种大数据环境下的数据检索方法 |
CN104796493A (zh) * | 2015-05-08 | 2015-07-22 | 成都博元科技有限公司 | 一种基于云计算的信息处理方法 |
CN106339259A (zh) * | 2016-08-15 | 2017-01-18 | 上海欧网网络科技发展有限公司 | 云计算资源的实时调度方法 |
CN106452818A (zh) * | 2015-08-13 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 一种资源调度的方法和系统 |
CN106874100A (zh) * | 2015-12-10 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 计算资源分配方法及装置 |
CN108595290A (zh) * | 2018-03-23 | 2018-09-28 | 上海爱数信息技术股份有限公司 | 一种保证备份数据可靠性的方法及数据备份方法 |
CN108833356A (zh) * | 2018-05-21 | 2018-11-16 | 常州信息职业技术学院 | 一种多路队列共享资源访问控制装置及控制方法 |
CN110858204A (zh) * | 2018-08-16 | 2020-03-03 | 中国移动通信集团重庆有限公司 | 查询请求的处理方法、设备和介质 |
CN112631734A (zh) * | 2020-12-30 | 2021-04-09 | 北京天融信网络安全技术有限公司 | 虚拟机镜像文件的处理方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037024B1 (en) * | 2008-06-04 | 2011-10-11 | Google Inc. | Data propagation in a multi-shard database system |
CN102546379A (zh) * | 2010-12-27 | 2012-07-04 | 中国移动通信集团公司 | 一种虚拟化资源调度的方法及虚拟化资源调度系统 |
CN102904961A (zh) * | 2012-10-22 | 2013-01-30 | 浪潮(北京)电子信息产业有限公司 | 一种云计算资源调度方法及系统 |
CN103299271A (zh) * | 2011-01-11 | 2013-09-11 | 惠普发展公司,有限责任合伙企业 | 并发请求调度 |
CN103648167A (zh) * | 2013-12-19 | 2014-03-19 | 广东电网公司佛山供电局 | 电网应急通信的业务调度方法与系统 |
CN103793455A (zh) * | 2012-10-30 | 2014-05-14 | 国际商业机器公司 | 用于减少服务器/数据库系统中锁定发生的方法和系统 |
-
2014
- 2014-12-15 CN CN201410775658.XA patent/CN104407926B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037024B1 (en) * | 2008-06-04 | 2011-10-11 | Google Inc. | Data propagation in a multi-shard database system |
CN102546379A (zh) * | 2010-12-27 | 2012-07-04 | 中国移动通信集团公司 | 一种虚拟化资源调度的方法及虚拟化资源调度系统 |
CN103299271A (zh) * | 2011-01-11 | 2013-09-11 | 惠普发展公司,有限责任合伙企业 | 并发请求调度 |
CN102904961A (zh) * | 2012-10-22 | 2013-01-30 | 浪潮(北京)电子信息产业有限公司 | 一种云计算资源调度方法及系统 |
CN103793455A (zh) * | 2012-10-30 | 2014-05-14 | 国际商业机器公司 | 用于减少服务器/数据库系统中锁定发生的方法和系统 |
CN103648167A (zh) * | 2013-12-19 | 2014-03-19 | 广东电网公司佛山供电局 | 电网应急通信的业务调度方法与系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679896A (zh) * | 2015-03-18 | 2015-06-03 | 成都金本华科技股份有限公司 | 一种大数据环境下的智能检索方法 |
CN104679893A (zh) * | 2015-03-18 | 2015-06-03 | 成都金本华科技股份有限公司 | 一种基于大数据的信息检索方法 |
CN104679897A (zh) * | 2015-03-18 | 2015-06-03 | 成都金本华科技股份有限公司 | 一种大数据环境下的数据检索方法 |
CN104796493A (zh) * | 2015-05-08 | 2015-07-22 | 成都博元科技有限公司 | 一种基于云计算的信息处理方法 |
CN106452818B (zh) * | 2015-08-13 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 一种资源调度的方法和系统 |
CN106452818A (zh) * | 2015-08-13 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 一种资源调度的方法和系统 |
CN106874100A (zh) * | 2015-12-10 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 计算资源分配方法及装置 |
CN106339259B (zh) * | 2016-08-15 | 2019-08-27 | 上海欧网网络科技发展有限公司 | 云计算资源的实时调度方法 |
CN106339259A (zh) * | 2016-08-15 | 2017-01-18 | 上海欧网网络科技发展有限公司 | 云计算资源的实时调度方法 |
CN108595290A (zh) * | 2018-03-23 | 2018-09-28 | 上海爱数信息技术股份有限公司 | 一种保证备份数据可靠性的方法及数据备份方法 |
CN108833356A (zh) * | 2018-05-21 | 2018-11-16 | 常州信息职业技术学院 | 一种多路队列共享资源访问控制装置及控制方法 |
CN108833356B (zh) * | 2018-05-21 | 2020-11-03 | 常州信息职业技术学院 | 一种多路队列共享资源访问控制装置及控制方法 |
CN110858204A (zh) * | 2018-08-16 | 2020-03-03 | 中国移动通信集团重庆有限公司 | 查询请求的处理方法、设备和介质 |
CN110858204B (zh) * | 2018-08-16 | 2023-09-19 | 中国移动通信集团重庆有限公司 | 查询请求的处理方法、设备和介质 |
CN112631734A (zh) * | 2020-12-30 | 2021-04-09 | 北京天融信网络安全技术有限公司 | 虚拟机镜像文件的处理方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104407926B (zh) | 2017-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391737B (zh) | 云平台中负载平衡的优化方法 | |
CN104462432A (zh) | 自适应的分布式计算方法 | |
CN104407926A (zh) | 一种云计算资源的调度方法 | |
CN108090225B (zh) | 数据库实例的运行方法、装置、系统及计算机可读存储介质 | |
Yan et al. | Tr-spark: Transient computing for big data analytics | |
US20230004436A1 (en) | Container scheduling method and apparatus, and non-volatile computer-readable storage medium | |
US9870269B1 (en) | Job allocation in a clustered environment | |
JP6819131B2 (ja) | 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム | |
CN108881348B (zh) | 服务质量控制方法、装置和存储服务器 | |
US20200348863A1 (en) | Snapshot reservations in a distributed storage system | |
CN106407190A (zh) | 一种事件记录查询方法及装置 | |
CN101366012A (zh) | 用于多处理器系统中的中断分配的方法和系统 | |
CN103324534A (zh) | 作业调度方法及其调度器 | |
US8375228B2 (en) | Multiple-node system power utilization management | |
WO2020134364A1 (zh) | 一种虚拟机迁移方法、云计算管理平台和存储介质 | |
US10148531B1 (en) | Partitioned performance: adaptive predicted impact | |
US8539495B2 (en) | Recording medium storing therein a dynamic job scheduling program, job scheduling apparatus, and job scheduling method | |
CN110032576A (zh) | 一种业务处理方法以及装置 | |
CN110764915A (zh) | 一种针对kubernetes主节点选择的优化方法 | |
WO2014136302A1 (ja) | タスク管理装置及びタスク管理方法 | |
CN106973091B (zh) | 分布式内存数据重分布方法及系统、主控服务器 | |
US7107427B2 (en) | Storage system comprising memory allocation based on area size, using period and usage history | |
CN107203256B (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
CN106844175B (zh) | 一种基于机器学习的云平台容量规划方法 | |
CN110928649A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170829 Termination date: 20211215 |