CN106598702A - 一种资源调整方法及装置 - Google Patents
一种资源调整方法及装置 Download PDFInfo
- Publication number
- CN106598702A CN106598702A CN201611187604.7A CN201611187604A CN106598702A CN 106598702 A CN106598702 A CN 106598702A CN 201611187604 A CN201611187604 A CN 201611187604A CN 106598702 A CN106598702 A CN 106598702A
- Authority
- CN
- China
- Prior art keywords
- service
- workload
- resource
- represent
- resources
- 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.)
- Pending
Links
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Abstract
本公开涉及一种资源调整方法及装置。所述方法包括:监控服务集合中每个服务的实际工作负载,根据所述实际工作负载的变化,判断是否需要进行资源预测,所述服务集合S={S1,S2,…,Sg,…,Sn};如果需要进行资源预测,则根据预设工作负载和服务的响应时长,确定每个服务的需求资源量;利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整。如此方案,可以动态适应工作负载的变化,保证SBS应用端到端性能。
Description
技术领域
本公开涉及虚拟机集群技术领域,具体地,涉及一种资源调整方法及装置。
背景技术
随着Web技术的成熟与发展,基于服务构建系统(英文:Service Based System,简称:SBS)已经成为一种重要的软件开发模式。
SBS可以表示成一个由一系列服务,根据不同组合规则构成的服务集合。其中,每个服务可以实现特定功能,组合规则可以定义服务之间的交互关系,例如,组合规则可以体现为:顺序结构、并行结构、选择结构等。为了处理用户请求,需要将各个服务部署到虚拟机集群上,并为每个服务分配一定的资源。
在实际应用过程中,由于用户访问行为的不确定性和动态性,在用户请求量增加,即服务的工作负载变大时,可能会出现资源分配不足的问题,需要进行资源的动态调整。
发明内容
本公开的目的是提供一种资源调整方法及装置,用以结合实际工作负载的变化情况,动态调整服务的资源分配量。
为了实现上述目的,第一方面,本公开提供一种资源调整方法,包括:
监控服务集合中每个服务的实际工作负载,根据所述实际工作负载的变化,判断是否需要进行资源预测,所述服务集合S={S1,S2,…,Sg,…,Sn};
如果需要进行资源预测,则根据预设工作负载和服务的响应时长,确定每个服务的需求资源量;
利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整。
可选地,所述根据所述实际工作负载的变化,判断是否需要进行资源预测,包括:
判断所述实际工作负载是否大于预设负载;
如果所述实际工作负载不大于所述预设负载,则判定需要进行资源预测。
可选地,所述根据预设工作负载和服务的响应时长,确定每个服务的需求资源量,包括:
从所述服务集合中确定出被预测服务Sj的预测服务集合,所述预测服务集合包括至少一个所述Sj的预测服务Si,所述Si为所述Sj的前驱服务,且工作负载从所述Si转移到所述Sj的转移时长大于所述Sj的部署时长,所述转移时长由所述Si与所述Sj之间的服务的响应时长确定,1<j≤n;
根据所述Si的工作负载Wi和工作负载转移概率WTPi,j,计算由所述Si转移到所述Sj的转移工作负载Wi,j,所述WTPi,j表示所述Si的工作负载转移到所述Sj的概率;
从所有的转移工作负载中选取待用工作负载,所述待用工作负载能够在预测时间段内转移到所述Sj;
基于所有的待用工作负载,计算所述Sj的预测工作负载Wj;
根据所述Sj的工作负载和所述预设工作负载W0,得到所述Sj的需求资源量,所述Sj的工作负载为所述Sj的实际工作负载与所述Wj之和。
可选地,通过以下公式,获得工作负载从所述Si转移到所述Sj的转移时长WTTi,j:
其中,1≤a≤L,L表示Si与Sj之间的分支路径的数目;responsetime(patha)表示工作负载在第a条分支路径的执行时长;
Sk表示在第a条分支路径上,Si与Sj之间的服务;γa表示第a条分支路径的执行概率,若第a条分支路径为顺序结构或并行结构的并行分支,γa=1;若第a条分支路径为选择结构的选择分支,0<γa<1;responsetime(Sk,RES,Wλ)表示在虚拟机集群RES上,Sk的响应时长;
x表示RES中部署Sk的虚拟机的数目;△表示针对x台虚拟机进行工作负载分配的处理时间;qf表示工作负载分配至resf的概率;Wλ表示计算用工作负载。
可选地,通过以下公式,获得Si转移到Sj的转移工作负载Wi,j:
Wi,j=Wi*WTPi,j
其中,
Pk,k+1表示Sk的工作负载转移到Sk+1的概率,i≤k≤j-1。
可选地,通过以下公式,获得所述Sj的预测工作负载Wj:
其中,1≤b≤m,m表示所述Sj所在的分支路径的数目;表示第b条分支路径的分支工作负载,为第b条分支路径上所有待用工作负载之和。
可选地,通过以下公式,获得所述Sj的需求资源量:
其中,γj为Sj所在分支路径的执行概率;如果Sj为顺序结构或者并行结构中的服务,γj=1;如果所述Sj为选择结构中的服务,0<γj<1。
可选地,所述利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整,包括:
对所述可用剩余资源做如下循环处理,直至服务的资源分配量调整为需求资源量或者所述可用剩余资源为零:
计算所述服务集合中每个服务的约束函数值F,将所述可用剩余资源中的第c个资源分配给约束函数值最大的服务,其中,1≤c≤R,R表示所述可用剩余资源的资源数目;
服务的约束函数值
其中,Wg表示服务Sg的工作负载;NmuC(Sg)表示Sg的当前资源量;表示每个资源上Sg的平均工作负载;D(req,Sg)表示请求req在Sg上的完成度,h表示Sg所在的分支路径的数目,remz表示第z条分支路径上,Sg与Sn之间包括的服务的数目,dz表示请求req在第z条分支路径上经过的服务的数目,且remz与dz之和为所述第z条分支路径包括的服务的总数。
可选地,如果包括至少两个所述约束函数值最大的服务,所述方法还包括:
从至少两个所述约束函数值最大的服务中,确定出资源调整量最大的服务,将所述第c个资源分配给所述资源调整量最大的服务,所述资源调整量为服务的需求资源量与服务的当前资源量之差。
可选地,所述可用剩余资源为零,且存在未调整为需求资源量的服务,所述方法还包括:
中断特定工作负载,释放所述特定工作负载所在服务占用的资源,将释放的资源分配给,所述未调整为需求资源量的服务中约束函数值最大的服务,所述特定工作负载为资源消耗量大于预设消耗值且请求完成度小于预设完成值的工作负载。
可选地,所述NmuC(Sg)为Sg的初始资源量,所述方法还包括:
根据所述预设工作负载W0和工作负载转移概率WTP1,g,计算所述Sg的工作负载Wg,所述WTP1,g表示S1的工作负载转移到Sg的概率;
根据所述Wg和所述W0,得到所述Sg的初始资源量。
第二方面,本公开提供一种资源调整装置,包括:
资源预测判断模块,用于监控服务集合中每个服务的实际工作负载,根据所述实际工作负载的变化,判断是否需要进行资源预测,其中,所述服务集合S={S1,S2,…,Sg,…,Sn};
需求资源量确定模块,用于在需要进行资源预测时,根据预设工作负载和服务的响应时长,确定每个服务的需求资源量;
资源调整模块,用于利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整。
可选地,所述装置还包括:
所述资源预测判断模块,用于判断所述实际工作负载是否大于预设负载;如果所述实际工作负载不大于所述预设负载,则判定需要进行资源预测。
可选地,所述需求资源量确定模块包括:
预测服务集合确定模块,用于从所述服务集合中确定出被预测服务Sj的预测服务集合,所述预测服务集合包括至少一个所述Sj的预测服务Si,所述Si为所述Sj的前驱服务,且工作负载从所述Si转移到所述Sj的转移时长大于所述Sj的部署时长,所述转移时长由所述Si与所述Sj之间的服务的响应时长确定,1<j≤n;
转移工作负载计算模块,用于根据所述Si的工作负载Wi和工作负载转移概率WTPi,j,计算由所述Si转移到所述Sj的转移工作负载Wi,j,所述WTPi,j表示所述Si的工作负载转移到所述Sj的概率;
待用工作负载选取模块,用于从所有的转移工作负载中选取待用工作负载,所述待用工作负载能够在预测时间段内转移到所述Sj;
预测工作负载计算模块,用于基于所有的待用工作负载,计算所述Sj的预测工作负载Wj;
需求资源量计算模块,用于根据所述Sj的工作负载和所述预设工作负载W0,得到所述Sj的需求资源量,所述Sj的工作负载为所述Sj的实际工作负载与所述Wj之和。
可选地,所述装置还包括:
转移时长获得模块,用于通过以下公式,获得工作负载从所述Si转移到所述Sj的转移时长WTTi,j:
其中,1≤a≤L,L表示Si与Sj之间的分支路径的数目;responsetime(patha)表示工作负载在第a条分支路径的执行时长;
Sk表示在第a条分支路径上,Si与Sj之间的服务;γa表示第a条分支路径的执行概率,若第a条分支路径为顺序结构或并行结构的并行分支,γa=1;若第a条分支路径为选择结构的选择分支,0<γa<1;responsetime(Sk,RES,Wλ)表示在虚拟机集群RES上,Sk的响应时长;
x表示RES中部署Sk的虚拟机的数目;△表示针对x台虚拟机进行工作负载分配的处理时间;qf表示工作负载分配至resf的概率;Wλ表示计算用工作负载。
可选地,所述转移工作负载计算模块,用于通过以下公式,获得Si转移到Sj的转移工作负载Wi,j:
Wi,j=Wi*WTPi,j
其中,
Pk,k+1表示Sk的工作负载转移到Sk+1的概率,i≤k≤j-1。
可选地,所述预测工作负载计算模块,用于通过以下公式,获得所述Sj的预测工作负载Wj:
其中,1≤b≤m,m表示所述Sj所在的分支路径的数目;表示第b条分支路径的分支工作负载,为第b条分支路径上所有待用工作负载之和。
可选地,所述需求资源量计算模块,用于通过以下公式,获得所述Sj的需求资源量:
其中,γj为Sj所在分支路径的执行概率;如果Sj为顺序结构或者并行结构中的服务,γj=1;如果所述Sj为选择结构中的服务,0<γj<1。
可选地,所述资源调整模块对所述可用剩余资源进行循环处理,直至服务的资源分配量调整为需求资源量或者所述可用剩余资源为零,所述资源调整模块包括:
约束函数值计算单元,用于计算所述服务集合中每个服务的约束函数值F,将所述可用剩余资源中的第c个资源分配给约束函数值最大的服务,其中,1≤c≤R,R表示所述可用剩余资源的资源数目;
服务的约束函数值
其中,Wg表示服务Sg的工作负载;NmuC(Sg)表示Sg的当前资源量;表示每个资源上Sg的平均工作负载;D(req,Sg)表示请求req在Sg上的完成度,h表示Sg所在的分支路径的数目,remz表示第z条分支路径上,Sg与Sn之间包括的服务的数目,dz表示请求req在第z条分支路径上经过的服务的数目,且remz与dz之和为所述第z条分支路径包括的服务的总数。
可选地,如果包括至少两个所述约束函数值最大的服务,所述资源调整模块还包括:
资源调整量确定模块,用于从至少两个所述约束函数值最大的服务中,确定出资源调整量最大的服务,将所述第c个资源分配给所述资源调整量最大的服务,所述资源调整量为服务的需求资源量与服务的当前资源量之差。
可选地,所述可用剩余资源为零,且存在未调整为需求资源量的服务,所述资源调整模块还包括:
资源释放模块,用于中断特定工作负载,释放所述特定工作负载所在服务占用的资源,将释放的资源分配给,所述未调整为需求资源量的服务中约束函数值最大的服务,所述特定工作负载为资源消耗量大于预设消耗值且请求完成度小于预设完成值的工作负载。
可选地,所述NmuC(Sg)为Sg的初始资源量,所述装置还包括:
初始资源量计算模块,用于根据所述预设工作负载W0和工作负载转移概率WTP1,g,计算所述Sg的工作负载Wg,所述WTP1,g表示S1的工作负载转移到Sg的概率;根据所述Wg和所述W0,得到所述Sg的初始资源量。
第三方面,本公开提供一种资源调整装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
监控服务集合中每个服务的实际工作负载,根据所述实际工作负载的变化,判断是否需要进行资源预测,所述服务集合S={S1,S2,…,Sg,…,Sn};
如果需要进行资源预测,则根据预设工作负载和服务的响应时长,确定每个服务的需求资源量;
利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整。
本公开的资源调整方案,监控每个服务的实际工作负载,并按照一定的预测周期,结合实际工作负载得到服务在下一时刻的预测工作负载,进而确定出该服务的需求资源量,并配合于虚拟机集群的可用剩余资源,完成资源的动态分配与调整。如此资源调整方案,可以动态适应工作负载的变化,保证SBS应用端到端性能。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开资源调整方法的流程示意图;
图2是本公开中购物组合流程的示意图;
图3是本公开中组合流程实例的示意图;
图4是本公开中确定服务需求资源量的方法的流程图;
图5是本公开中资源分配的方法的流程图;
图6是本公开资源调整装置的一种结构示意图;
图7是本公开资源调整装置的另一种结构示意图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
参见图1,为本公开资源调整方法的流程示意图。该方法可以包括以下步骤:
步骤101,监控服务集合中每个服务的实际工作负载,根据所述实际工作负载的变化,判断是否需要进行资源预测,服务集合S={S1,S2,…,Sg,…,Sn}。
本公开方案中,一个服务集合对应于一个组合流程。以图2所示购物组合流程为例,可以为组合流程中的每个活动绑定一个具体的服务,用以实现该活动的功能,如此,由这些服务构成的集合就是该购物组合流程对应的购物服务集合。
本公开方案中,服务之间的关系可以体现为顺序、选择、并行,为了便于理解本公开方案的具体实现过程,下面以图3所示较为复杂的组合流程实例为例,对本公开方案做解释说明。
与图3所示组合流程实例对应的服务集合可以表示为S={S1,S2,…,S12},其中,服务S1和S2为顺序结构,服务S3和S4位于选择结构的两个不同分支路径,服务S5和S6位于并行结构的两个不同分支路径。以服务S4、S7、S10为例,S4为S7、S10的前驱服务,S7为S4的直接后继服务,S10为S4的间接后继服务。
利用本公开方案进行资源调整时,可以监控获得每个服务的实际工作负载,进而结合实际工作负载的变化情况,进行资源调整。具体地,可以实时监控服务的实际工作负载,也可以周期性的监控服务的实际工作负载,本公开对此可不做具体限定。
作为一种示例,可以判断服务的实际工作负载是否大于预设负载;如果服务的实际工作负载不大于所述预设负载,则判定需要进行资源预测,并根据资源预测结果进行资源调整。如果服务的实际工作负载大于预设负载,即负载波动较大,则判定不需要进行资源预测,可以直接根据实际工作负载进行资源调整,应对工作负载的激变,也就是说,将服务的实际工作负载作为服务的工作负载,再结合预设工作负载,计算该服务的需求资源量,进行资源调整。
可以理解地,可以在服务集合中任一个服务判定需要进行资源调整时,即采用如下方案计算服务的资源调整量;或者,可以在多个服务判定需要进行资源调整时,再采用如下方案计算服务的资源调整量,本公开对此可不做限定,具体可由实际应用而定。
可以理解地,本公开方案中服务的工作负载,指的是服务需要处理的用户请求量或者服务的吞吐量。
步骤102,如果需要进行资源预测,则根据预设工作负载和服务的响应时长,确定每个服务的需求资源量。
如果服务的实际工作负载变化不大,则可按照一定的预测周期,结合实际工作负载和性能约束条件,得到各服务在下一时刻的预测工作负载。举例来说,当前时刻为t0,预测周期为T,则下一时刻指的是t1=T+t0,本次预测对应的预测时间段为[t0,t1]。
具体地,性能约束条件可以包括:预设工作负载和服务的响应时长。预设工作负载可以理解为服务集合可以处理的吞吐量;服务的响应时长可以理解为在虚拟机集群上,该服务处理请求的平均时长。
参见图4,为本公开中确定服务需求资源量的方法的流程图。该方法可以包括以下步骤:
步骤201,从所述服务集合中确定出被预测服务Sj的预测服务集合,所述预测服务集合包括至少一个所述Sj的预测服务Si,所述Si为所述Sj的前驱服务,且工作负载从所述Si转移到所述Sj的转移时长大于所述Sj的部署时长,所述转移时长由所述Si与所述Sj之间的服务的响应时长确定,1<j≤n。
本公开方案中,服务S1的工作负载可以通过监控获得,无需按照本公开方案做工作负载预测。也就是说,服务集合中除S1之外的服务均可作为被预测服务Sj,即j的取值为(1,n],n表示服务集合包括的服务的数目。
在进行工作负载预测时,可以先确定出Sj的预测服务,即,服务集合中哪些服务的工作负载可能会转移到Sj上。具体地,可以先从服务集合中确定出Sj的前驱服务集合PS;然后再根据Sj的部署时长,从PS中选取出预测服务Si,得到Sj的预测服务集合。考虑到服务部署到资源上是需要一定时间的,为了确保工作负载预测的有用性,应在工作负载转移到被预测服务之前,就完成被预测服务的资源调整及部署,因此,Si与Sj之间的工作负载转移时长大于Sj的部署时长。
作为一种示例,Si与Sj之间的工作负载转移时长WTTi,j指的是,Si到Sj的所有分支路径中,执行时长最长的作为二者之间的工作负载转移时长。
其中,1≤a≤L,L表示Si与Sj之间的分支路径的数目;responsetime(patha)表示工作负载在第a条分支路径的执行时长。
作为一种示例,可以通过以下公式计算responsetime(patha):
Sk表示在第a条分支路径上,Si与Sj之间的服务;γa表示第a条分支路径的执行概率,若第a条分支路径为顺序结构或并行结构的并行分支,γa=1;若第a条分支路径为选择结构的选择分支,0<γa<1;responsetime(Sk,RES,Wλ)表示在虚拟机集群RES上,Sk的响应时长。
作为一种示例,可以通过以下公式计算responsetime(Sk,RES,Wλ):
x表示RES中部署Sk的虚拟机的数目;△表示针对x台虚拟机进行工作负载分配的处理时间;qf表示工作负载分配至resf的概率;Wλ表示计算用工作负载,Wλ的取值不影响responsetime(Sk,RES,Wλ)的计算结果。
以S11作为被预测服务为例,对应的前驱服务集合PS={S1,S2,S3,S4,S5,S6,S7,S8,S9,S10},在选取预测服务时,可以分别计算PS中每个前驱服务到S11的工作负载转移时长。以S3为例,S3与S11之间的分支路径的数目L=2,可以分别计算每条分支路径对应的执行时长,假设工作负载在S3-S5-S8-S9-S11的执行时长最大,则可将该最大的执行时长确定为WTT3,11;然后再根据WTT3,11是否大于S11的部署时长,确定S3能否作为S11的预测服务。
假设按照上述方案,为S11确定出的预测服务为:S3,S5,S8,S9,S7,S10。
步骤202,根据所述Si的工作负载Wi和工作负载转移概率WTPi,j,计算由所述Si转移到所述Sj的转移工作负载Wi,j,所述WTPi,j表示所述Si的工作负载转移到所述Sj的概率。
得到预测服务后,便可计算由各个预测服务转移到被预测服务的转移工作负载。作为一种示例。可以通过以下公式,获得Si转移到Sj的转移工作负载Wi,j:Wi,j=Wi*WTPi,j。
其中,
Pk,k+1表示Sk的工作负载转移到Sk+1的概率,i≤k≤j-1。
结合上文所举示例,以预测服务S9为例,因为S11为S9的直接后继服务,故WTP9,11为二者之间的转移概率P9,11;以预测服务S8为例,WTP8,11=P8,9*P9,11。
经本步骤,可以得到由每个预测服务转移到S11的转移工作负载,生成S11的预测结果集合Presults={W3,11、W5,11、W8,11、W9,11、W7,11、W10,11}。
需要说明的是,本公开方案中,Si的工作负载Wi可以体现为:如果预测服务为S1,则W1为监控到的S1的实际工作负载;如果预测服务为除S1之外的其他服务,则Wi为监控到的Si的实际工作负载+在预测时间段内转移到Si的工作负载(即,该服务作为被预测服务时,由其对应的预测服务转移过来的预测工作负载)。
步骤203,从所有的转移工作负载中选取待用工作负载,所述待用工作负载能够在预测时间段内转移到所述Sj。
在实际应用过程中,因为用户访问行为的不确定性和动态性,可能会导致不同时刻,由同一个预测服务转移到被预测服务的工作负载会有所不同,也即同一个预测服务,对被预测服务的预测结果可能会随时间发生变化。因此,可以根据转移工作负载到达被预测服务的时刻,选取待用工作负载,然后再利用待用工作负载计算得到被预测服务的预测工作负载。
本公开方案在选取待用工作负载时,可以判断转移工作负载到达Sj的时刻是否位于[t0,t1]内,如果位于[t0,t1]内,则说明该转移工作负载会在下一时刻影响Sj的负载量,可用来计算Sj的预测工作负载。
假设经过本步骤,为S11确定出的待用工作负载为:W8,11、W9,11、W10,11。
步骤204,基于所有的待用工作负载,计算所述Sj的预测工作负载Wj。
作为一种示例,Sj的预测工作负载Wj指的是,所有包括Sj的分支路径中,最大的分支工作负载作为Sj的预测工作负载Wj。即:
其中,1≤b≤m,m表示所述Sj所在的分支路径的数目;Wjb表示第b条分支路径的分支工作负载,为第b条分支路径上所有待用工作负载之和。
上文所举示例中,S1-S2-S3-S5-S8-S9-S11的分支工作负载为(W8,11+W9,11),S1-S2-S3-S6-S9-S11的分支工作负载为0,S1-S2-S4-S7-S10-S11的分支工作负载为W10,11。假设分支工作负载最大的是W10,11,即W11=W10,11。
步骤205,根据所述Sj的工作负载和所述预设工作负载W0,得到所述Sj的需求资源量,所述Sj的工作负载为所述Sj的实际工作负载与所述Wj之和。
也就是说,在下一时刻,Sj的工作负载包括:监控到的Sj的实际工作负载Wj实际、以及在预测时间段内转移到Sj的预测工作负载Wj。,如此,可以通过以下公式,获得所述Sj的需求资源量:
其中,γj为Sj所在分支路径的执行概率;如果Sj为顺序结构或者并行结构中的服务,γj=1;如果所述Sj为选择结构中的服务,0<γj<1。
以图3所示实例为例,S3和S4为选择结构,对应于此,S3、S4作为被预测服务时,0<γj<1,且γ3=WTP2,3,γ4=WTP2,4;S5和S6为并行结构,对应于此,S5、S6作为被预测服务时,γj=1;S7和S8为顺序结构,对应于此,S7、S8作为被预测服务时,γj=1。
步骤103,利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整。
按照图4所示方案完成工作负载预测,并计算得到每个服务的需求资源量,便可对服务进行动态资源调整,将虚拟机集群中的可用剩余资源分配给需要的服务。
参见图5,为本公开中资源分配的方法的流程图。可以对虚拟机集群的可用剩余资源做如下循环处理,直至服务的资源分配量调整为需求资源量或者所述可用剩余资源为零。该方法可以包括以下步骤:
步骤301,计算所述服务集合中每个服务的约束函数值F,将所述可用剩余资源中的第c个资源分配给约束函数值最大的服务,其中,1≤c≤R,R表示所述可用剩余资源的资源数目。
具体地,可以从可用剩余资源中取出一个资源,例如第c个资源,然后计算每个服务的约束函数值,并通过约束函数值确定出将第c个资源分配给哪个服务。如此,循环往复直至出现以下两种情况:
情况一,服务集合中每个服务的资源分配量都调整为该服务的需求资源量;
情况二,虚拟机集群的可用剩余资源为零,即可用剩余资源分配完毕。
作为一种示例,服务的约束函数值
(1)Wg表示服务Sg的工作负载。具体地,Sg的工作负载Wg可以体现为:对于S1来说,W1为监控到的S1的实际工作负载;对于除S1之外的其他服务来说,即2≤g≤n,Wg为监控到的Sg的实际工作负载+在预测时间段内转移到Sg的预测工作负载。
(2)NmuC(Sg)表示Sg的当前资源量。可以理解地,如果是第一次进行资源动态调整,NmuC(Sg)可以为Sg的初始资源量;否则,NmuC(Sg)可以为Sg的上一次动态调整后的资源量。
如果NmuC(Sg)为Sg的初始资源量,可以采用现有的初始资源分配方案,为每个服务分配尽量多的资源。或者,为了进一步提高初始资源分配的合理性与准确性,本公开方案还提供如下初始资源分配方案:首先,根据预设工作负载W0和工作负载转移概率WTP1,g,计算Sg的工作负载Wg;其次,根据Wg和W0,得到Sg的初始资源量。其中,WTP1,g表示S1的工作负载转移到Sg的概率,Sg的工作负载Wg=W1*WTP1,g,W1=W0,Sg的初始资源量
(3)表示每个资源上Sg的平均工作负载。可以获得虚拟机集群中每个资源上Sg的工作负载,并通过求和取平均值的方式计算得到其中,每个资源上Sg的工作负载可以取经验值。
(4)D(req,Sg)表示请求req在Sg上的完成度。h表示Sg所在的分支路径的数目,remz表示第z条分支路径上,Sg与Sn之间包括的服务的数目,dz表示请求req在第z条分支路径上经过的服务的数目,且remz与dz之和为所述第z条分支路径包括的服务的总数。
以图3所示示例为例,假设请求到达S9之后,由于该请求消耗资源过多被S9抛弃,则可按照以下方式计算请求在S9的完全度:S9所在的分支路径的数目h=2,对应于S1-S2-S3-S5-S8-S9-S11-S12分支路径,请求在该分支路径上经过S1、S2、S3、S5、S8、S9,rem1=2,d1=6;对应于S1-S2-S3-S6-S9-S11-S12分支路径,请求在该分支路径上经过S1、S2、S3、S6、S9,rem2=2,d2=5。
则,该示例中
作为一种示例,如果包括至少两个所述约束函数值最大的服务,所述方法还可以包括:
步骤302,从至少两个所述约束函数值最大的服务中,确定出资源调整量最大的服务,将所述第c个资源分配给所述资源调整量最大的服务,所述资源调整量为服务的需求资源量与服务的当前资源量之差。
本公开方案中,可以将资源优先分配给资源需求量大的服务,更有助于提高服务集合的整体性能。因此,若通过约束函数值确定出至少两个服务,则可进一步计算每个服务的资源调整量(Nmu(Sg)-NmuC(Sg)),将第c个资源分配给资源调整量最大的服务。
作为一种示例,如果可用剩余资源为零,且存在未调整为需求资源量的服务,所述方法还可以包括:
步骤303,中断特定工作负载,释放所述特定工作负载所在服务占用的资源,将释放的资源分配给,所述未调整为需求资源量的服务中约束函数值最大的服务,所述特定工作负载为资源消耗量大于预设消耗值且请求完成度小于预设完成值的工作负载。
本公开方案中,可以优先中断资源消耗量较大的请求,以释放出更多的资源分配给资源需求量低的服务,以使这些服务处理更多的请求,有助于提高服务集合的整体吞吐量。
作为一种示例,如果可用剩余资源为零,且存在未调整为需求资源量的服务,还可以释放特定服务占用的资源,将释放的资源分配给,所述未调整为需求资源量的服务中约束函数值最大的服务,所述特定服务为当前资源量大于需求资源量的服务。如此,可以避免资源浪费,有助于提高虚拟机集群的资源利用率。
综上所述,本公开方案进行资源调整时,主要考虑以下因素:
1.即将完成的请求(即请求完成度不小于预设完成值)应尽量被完成,即为该请求所在服务分配资源,具体可体现为约束函数值中的D(req,Sg);
2.资源需求量越大的服务,越优先进行资源分配,具体可体现为步骤302处方案;
3.资源消耗量大的请求(可以为资源消耗量最大的请求;或者,可以为资源消耗量不小于预设消耗值的请求)应优先被中断,进行资源释放,具体可体现为步骤303处方案。
综上所述,本公开方案结合实际用户访问行为(即工作负载)的变化情况,动态调整服务的资源分配方案,以动态适应用户访问行为的变化,保证SBS应用端到端性能。
参见图6,为本公开资源调整装置的结构示意图。该装置可以包括:
资源预测判断模块401,用于监控服务集合中每个服务的实际工作负载,根据所述实际工作负载的变化,判断是否需要进行资源预测,其中,所述服务集合S={S1,S2,…,Sg,…,Sn};
需求资源量确定模块402,用于在需要进行资源预测时,根据预设工作负载和服务的响应时长,确定每个服务的需求资源量;
资源调整模块403,用于利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整。
可选地,所述资源预测判断模块,用于判断所述实际工作负载是否大于预设负载;如果所述实际工作负载不大于所述预设负载,则判定需要进行资源预测。
可选地,所述需求资源量确定模块包括:
预测服务集合确定模块,用于从所述服务集合中确定出被预测服务Sj的预测服务集合,所述预测服务集合包括至少一个所述Sj的预测服务Si,所述Si为所述Sj的前驱服务,且工作负载从所述Si转移到所述Sj的转移时长大于所述Sj的部署时长,所述转移时长由所述Si与所述Sj之间的服务的响应时长确定,1<j≤n;
转移工作负载计算模块,用于根据所述Si的工作负载Wi和工作负载转移概率WTPi,j,计算由所述Si转移到所述Sj的转移工作负载Wi,j,所述WTPi,j表示所述Si的工作负载转移到所述Sj的概率;
待用工作负载选取模块,用于从所有的转移工作负载中选取待用工作负载,所述待用工作负载能够在预测时间段内转移到所述Sj;
预测工作负载计算模块,用于基于所有的待用工作负载,计算所述Sj的预测工作负载Wj;
需求资源量计算模块,用于根据所述Sj的工作负载和所述预设工作负载W0,得到所述Sj的需求资源量,所述Sj的工作负载为所述Sj的实际工作负载与所述Wj之和。
可选地,所述装置还包括:
转移时长获得模块,用于通过以下公式,获得工作负载从所述Si转移到所述Sj的转移时长WTTi,j:
其中,1≤a≤L,L表示Si与Sj之间的分支路径的数目;responsetime(patha)表示工作负载在第a条分支路径的执行时长;
Sk表示在第a条分支路径上,Si与Sj之间的服务;γa表示第a条分支路径的执行概率,若第a条分支路径为顺序结构或并行结构的并行分支,γa=1;若第a条分支路径为选择结构的选择分支,0<γa<1;responsetime(Sk,RES,Wλ)表示在虚拟机集群RES上,Sk的响应时长;
x表示RES中部署Sk的虚拟机的数目;△表示针对x台虚拟机进行工作负载分配的处理时间;qf表示工作负载分配至resf的概率;Wλ表示计算用工作负载。
可选地,所述转移工作负载计算模块,用于通过以下公式,获得Si转移到Sj的转移工作负载Wi,j:
Wi,j=Wi*WTPi,j
其中,
Pk,k+1表示Sk的工作负载转移到Sk+1的概率,i≤k≤j-1。
可选地,所述预测工作负载计算模块,用于通过以下公式,获得所述Sj的预测工作负载Wj:
其中,1≤b≤m,m表示所述Sj所在的分支路径的数目;表示第b条分支路径的分支工作负载,为第b条分支路径上所有待用工作负载之和。
可选地,所述需求资源量计算模块,用于通过以下公式,获得所述Sj的需求资源量:
其中,γj为Sj所在分支路径的执行概率;如果Sj为顺序结构或者并行结构中的服务,γj=1;如果所述Sj为选择结构中的服务,0<γj<1。
可选地,所述资源调整模块对所述可用剩余资源进行循环处理,直至服务的资源分配量调整为需求资源量或者所述可用剩余资源为零,所述资源调整模块包括:
约束函数值计算单元,用于计算所述服务集合中每个服务的约束函数值F,将所述可用剩余资源中的第c个资源分配给约束函数值最大的服务,其中,1≤c≤R,R表示所述可用剩余资源的资源数目;
服务的约束函数值
其中,Wg表示服务Sg的工作负载;NmuC(Sg)表示Sg的当前资源量;表示每个资源上Sg的平均工作负载;D(req,Sg)表示请求req在Sg上的完成度,h表示Sg与Sn之间的分支路径的数目,remz表示第z条分支路径上包括的服务的数目,dz表示请求req在第z条分支路径上经过的服务的数目。
可选地,如果包括至少两个所述约束函数值最大的服务,所述资源调整模块还包括:
资源调整量确定模块,用于从至少两个所述约束函数值最大的服务中,确定出资源调整量最大的服务,将所述第c个资源分配给所述资源调整量最大的服务,所述资源调整量为服务的需求资源量与服务的当前资源量之差。
可选地,所述可用剩余资源为零,且存在未调整为需求资源量的服务,所述资源调整模块还包括:
资源释放模块,用于中断特定工作负载,释放所述特定工作负载所在服务占用的资源,将释放的资源分配给,所述未调整为需求资源量的服务中约束函数值最大的服务,所述特定工作负载为资源消耗量大于预设消耗值且请求完成度小于预设完成值的工作负载。
可选地,所述NmuC(Sg)为Sg的初始资源量,所述装置还包括:
初始资源量计算模块,用于根据所述预设工作负载W0和工作负载转移概率WTP1,g,计算所述Sg的工作负载Wg,所述WTP1,g表示S1的工作负载转移到Sg的概率;根据所述Wg和所述W0,得到所述Sg的初始资源量。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
参见图7,为本公开资源调整装置500的结构示意图。例如,装置500可以被提供为一服务器或者虚拟机管理器。参照图5,装置500包括处理组件501,其进一步包括一个或多个处理器,以及由存储器502所代表的存储器资源,用于存储可由处理组件501的执行的指令,例如应用程序。存储器502中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件501被配置为执行指令,以执行上述资源调整方法。
装置500还可以包括一个电源组件503被配置为执行装置500的电源管理,一个有线或无线网络接口504被配置为将装置500连接到网络,和一个输入输出(I/O)接口505。装置500可以操作基于存储在存储器502的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种资源调整方法,其特征在于,包括:
监控服务集合中每个服务的实际工作负载,根据所述实际工作负载的变化,判断是否需要进行资源预测,所述服务集合S={S1,S2,…,Sg,…,Sn};
如果需要进行资源预测,则根据预设工作负载和服务的响应时长,确定每个服务的需求资源量;
利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整。
2.根据权利要求1所述的方法,其特征在于,所述根据预设工作负载和服务的响应时长,确定每个服务的需求资源量,包括:
从所述服务集合中确定出被预测服务Sj的预测服务集合,所述预测服务集合包括至少一个所述Sj的预测服务Si,所述Si为所述Sj的前驱服务,且工作负载从所述Si转移到所述Sj的转移时长大于所述Sj的部署时长,所述转移时长由所述Si与所述Sj之间的服务的响应时长确定,1<j≤n;
根据所述Si的工作负载Wi和工作负载转移概率WTPi,j,计算由所述Si转移到所述Sj的转移工作负载Wi,j,所述WTPi,j表示所述Si的工作负载转移到所述Sj的概率;
从所有的转移工作负载中选取待用工作负载,所述待用工作负载能够在预测时间段内转移到所述Sj;
基于所有的待用工作负载,计算所述Sj的预测工作负载Wj;
根据所述Sj的工作负载和所述预设工作负载W0,得到所述Sj的需求资源量,所述Sj的工作负载为所述Sj的实际工作负载与所述Wj之和。
3.根据权利要求2所述的方法,其特征在于,通过以下公式,获得工作负载从所述Si转移到所述Sj的转移时长WTTi,j:
其中,1≤a≤L,L表示Si与Sj之间的分支路径的数目;responsetime(patha)表示工作负载在第a条分支路径的执行时长;
Sk表示在第a条分支路径上,Si与Sj之间的服务;γa表示第a条分支路径的执行概率,若第a条分支路径为顺序结构或并行结构的并行分支,γa=1;若第a条分支路径为选择结构的选择分支,0<γa<1;responsetime(Sk,RES,Wλ)表示在虚拟机集群RES上,Sk的响应时长;
x表示RES中部署Sk的虚拟机的数目;△表示针对x台虚拟机进行工作负载分配的处理时间;qf表示工作负载分配至resf的概率;Wλ表示计算用工作负载。
4.根据权利要求2所述的方法,其特征在于,通过以下公式,获得Si转移到Sj的转移工作负载Wi,j:
Wi,j=Wi*WTPi,j
其中,
Pk,k+1表示Sk的工作负载转移到Sk+1的概率,i≤k≤j-1。
5.根据权利要求2所述的方法,其特征在于,通过以下公式,获得所述Sj的预测工作负载Wj:
其中,1≤b≤m,m表示所述Sj所在的分支路径的数目;表示第b条分支路径的分支工作负载,为第b条分支路径上所有待用工作负载之和。
6.根据权利要求2所述的方法,其特征在于,通过以下公式,获得所述Sj的需求资源量:
其中,γj为Sj所在分支路径的执行概率;如果Sj为顺序结构或者并行结构中的服务,γj=1;如果所述Sj为选择结构中的服务,0<γj<1。
7.根据权利要求1所述的方法,其特征在于,所述利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整,包括:
对所述可用剩余资源做如下循环处理,直至服务的资源分配量调整为需求资源量或者所述可用剩余资源为零:
计算所述服务集合中每个服务的约束函数值F,将所述可用剩余资源中的第c个资源分配给约束函数值最大的服务,其中,1≤c≤R,R表示所述可用剩余资源的资源数目;
服务的约束函数值
其中,Wg表示服务Sg的工作负载;NmuC(Sg)表示Sg的当前资源量;表示每个资源上Sg的平均工作负载;D(req,Sg)表示请求req在Sg上的完成度,h表示Sg所在的分支路径的数目,remz表示第z条分支路径上,Sg与Sn之间包括的服务的数目,dz表示请求req在第z条分支路径上经过的服务的数目,且remz与dz之和为所述第z条分支路径包括的服务的总数。
8.根据权利要求7所述的方法,其特征在于,如果包括至少两个所述约束函数值最大的服务,所述方法还包括:
从至少两个所述约束函数值最大的服务中,确定出资源调整量最大的服务,将所述第c个资源分配给所述资源调整量最大的服务,所述资源调整量为服务的需求资源量与服务的当前资源量之差。
9.一种资源调整装置,其特征在于,包括:
资源预测判断模块,用于监控服务集合中每个服务的实际工作负载,根据所述实际工作负载的变化,判断是否需要进行资源预测,其中,所述服务集合S={S1,S2,…,Sg,…,Sn};
需求资源量确定模块,用于在需要进行资源预测时,根据预设工作负载和服务的响应时长,确定每个服务的需求资源量;
资源调整模块,用于利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整。
10.一种资源调整装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
监控服务集合中每个服务的实际工作负载,根据所述实际工作负载的变化,判断是否需要进行资源预测,所述服务集合S={S1,S2,…,Sg,…,Sn};
如果需要进行资源预测,则根据预设工作负载和服务的响应时长,确定每个服务的需求资源量;
利用所述每个服务的需求资源量以及虚拟机集群的可用剩余资源,进行资源调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187604.7A CN106598702A (zh) | 2016-12-20 | 2016-12-20 | 一种资源调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187604.7A CN106598702A (zh) | 2016-12-20 | 2016-12-20 | 一种资源调整方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106598702A true CN106598702A (zh) | 2017-04-26 |
Family
ID=58600479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611187604.7A Pending CN106598702A (zh) | 2016-12-20 | 2016-12-20 | 一种资源调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598702A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324890A (zh) * | 2017-07-31 | 2019-02-12 | 华为技术有限公司 | 资源管理方法、装置及计算机可读存储介质 |
CN110213097A (zh) * | 2019-05-31 | 2019-09-06 | 浙江大学 | 一种基于资源动态分配的边缘服务供应优化方法 |
CN110618867A (zh) * | 2018-06-19 | 2019-12-27 | 北京京东尚科信息技术有限公司 | 一种预测资源使用量的方法和装置 |
CN111124819A (zh) * | 2019-12-10 | 2020-05-08 | 中国建设银行股份有限公司 | 全链路监控的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820384A (zh) * | 2010-02-05 | 2010-09-01 | 浪潮(北京)电子信息产业有限公司 | 一种集群服务动态分配方法及装置 |
CN103220337A (zh) * | 2013-03-22 | 2013-07-24 | 合肥工业大学 | 基于自适应弹性控制的云计算资源优化配置方法 |
-
2016
- 2016-12-20 CN CN201611187604.7A patent/CN106598702A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820384A (zh) * | 2010-02-05 | 2010-09-01 | 浪潮(北京)电子信息产业有限公司 | 一种集群服务动态分配方法及装置 |
CN103220337A (zh) * | 2013-03-22 | 2013-07-24 | 合肥工业大学 | 基于自适应弹性控制的云计算资源优化配置方法 |
Non-Patent Citations (2)
Title |
---|
刘斌等: "基于在线负载预测的动态集群节能配置策略", 《计算机工程》 * |
张涛: "云环境中SBS应用的动态资源调度方法研究", 《中国优秀硕士论文学位论文全文数据库信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324890A (zh) * | 2017-07-31 | 2019-02-12 | 华为技术有限公司 | 资源管理方法、装置及计算机可读存储介质 |
CN110618867A (zh) * | 2018-06-19 | 2019-12-27 | 北京京东尚科信息技术有限公司 | 一种预测资源使用量的方法和装置 |
CN110213097A (zh) * | 2019-05-31 | 2019-09-06 | 浙江大学 | 一种基于资源动态分配的边缘服务供应优化方法 |
CN111124819A (zh) * | 2019-12-10 | 2020-05-08 | 中国建设银行股份有限公司 | 全链路监控的方法和装置 |
CN111124819B (zh) * | 2019-12-10 | 2023-09-22 | 中国建设银行股份有限公司 | 全链路监控的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10942781B2 (en) | Automated capacity provisioning method using historical performance data | |
CN106598702A (zh) | 一种资源调整方法及装置 | |
US7302450B2 (en) | Workload scheduler with resource optimization factoring | |
CN106133696B (zh) | 缩放云资源时动态标识目标容量 | |
TWI382318B (zh) | 協調的服務效能以及應用程式置放管理 | |
CN107911478A (zh) | 基于化学反应优化算法的多用户计算卸载方法及装置 | |
CN104239141A (zh) | 数据中心中基于工作流关键路径的任务优化调度方法 | |
CN105808347B (zh) | 集群服务器部署计算方法及装置 | |
CN104035747B (zh) | 用于并行计算的方法和装置 | |
US9625972B2 (en) | Method of reducing power consumption of system software using query scheduling of application and apparatus for reducing power consumption using the method | |
CN109669773B (zh) | 金融数据处理方法、装置、设备和存储介质 | |
CN109117269A (zh) | 一种分布式系统虚拟机调度方法、装置和可读存储介质 | |
US8312070B2 (en) | Speed-level calculator and calculating method for dynamic voltage scaling | |
Różycki et al. | Solving a power-aware scheduling problem by grouping jobs with the same processing characteristic | |
CN107370783A (zh) | 一种云计算集群资源的调度方法及装置 | |
CN113205128A (zh) | 基于无服务器计算的分布式深度学习性能保证方法 | |
CN106776027A (zh) | 一种工作负载预测方法及装置 | |
Cámara et al. | Auto-tuned nested parallelism: A way to reduce the execution time of scientific software in NUMA systems | |
US9547527B2 (en) | Scheduling network distributed jobs based on observing an allocated memory size and open files of a running computation job | |
CN105677662A (zh) | 一种动态数据控制方法及设备 | |
US7804943B2 (en) | Management for a heterogeneous pool of processors for the assignment of additional load | |
JPH09311795A (ja) | スケジュール方法 | |
JP2009151376A (ja) | 分散処理方法、計算機管理装置及び分散処理システム | |
Sun et al. | Apply a novel evolutionary algorithm to the solution of parameter selection problems | |
JP5011339B2 (ja) | 演算処理システム、演算処理方法及び演算処理プログラム |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |
|
RJ01 | Rejection of invention patent application after publication |