[发明专利]一种基于微服务架构的服务调度方法及其实现系统有效
申请号: | 202010731894.7 | 申请日: | 2020-07-27 |
公开(公告)号: | CN111880898B | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 张虎;厉承轩;郭莹 | 申请(专利权)人: | 山东省计算中心(国家超级计算济南中心) |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 济南金迪知识产权代理有限公司 37219 | 代理人: | 许德山 |
地址: | 250013*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 微服 架构 服务 调度 方法 及其 实现 系统 | ||
1.一种基于微服务架构的服务调度方法,该方法实现的物理资源环境包括若干台宿主机,待调度的业务应用中包括若干个待调度的副本,每个副本中包括若干服务,每个服务中包括若干子服务;其特征在于,包括步骤如下:
(1)第一级调度:根据若干台宿主机的资源情况以及待调度的业务应用的基本信息,将不同副本之间有调用关系的子服务调度到相同的宿主机中;
(2)第二级调度:在业务应用运行过程中,统计各个子服务之间的调用关系,并根据调用关系系数周期性检查并迁移符合条件的子服务,将调用频繁的子服务迁移到相同的宿主机中;
步骤(1)执行之前,初始化宿主机信息及业务应用的服务信息;
初始化宿主机信息,包括宿主机集合PH及每一台宿主机能够提供的资源量集合R,PH={PH1,PH2,PH3,...,PHm...,PHM},共有M台宿主机,PHm是指第m台宿主机;R表示宿主机能够提供的可量化标准资源的数量,R={R1,R2,R3,...,Rm...,RM},Rm是指第m台宿主机能够提供的资源量;
初始化业务应用的服务信息,包括待调度的业务应用的副本数量N、待调度的业务应用包括的服务集合S、每个服务包括的子服务集合Si、子服务之间的调用关系集合CI、每个子服务需要预留的标准虚拟资源量CRij、子服务之间的关系系数Cij,k1、定时调度周期AT及子服务调度状态矩阵SL;S={S1,S2,S3,...,Si...,SI},共有I个服务,Si表示第i个服务;Si={SSi1,SSi2,SSi3,...,SSij...,SSiJ},每个服务包含J个子服务,SSij表示第i个服务中包含的第j个子服务;CI={(SSij,SSk1),...|i,j,k,l=1,2,...,m},(SSij,SSk1)代表第i个服务的第j个子服务调用第k个服务的第l个子服务,CI是根据调用关系的长短降序排序;CRij表示第i个服务的第j个子服务所需虚拟资源抽象值;子服务之间的关系系数Cij,k1表示第i个服务中的第j个子服务调用第k个服务中的第l个子服务的频繁程度;调用越频繁,该值越大;子服务之间的关系系数Cij,k1都初始化为0;在该定时调度周期AT内统计各子服务之间调用的次数,并且在周期结束时触发自动调度,将调用较频繁的子服务迁移到相同的宿主机中;子服务调度状态矩阵SL使用嵌套列表来实现,用于查找子服务的调度状态,SSIijk是指第i个副本的第j个服务中的第k个子服务调度状态,调度状态包括是否已调度、调度到的宿主机;
步骤(1)中,根据若干台宿主机的资源情况以及待调度的业务应用的基本信息,将不同副本之间有调用关系的子服务调度到相同的宿主机中,包括步骤如下:
步骤a:判断所有的宿主机能够提供的资源总量能否承载所有副本的业务应用服务,如果不能承载,则调度失败,结束;否则,开始调度,进入步骤b;
步骤b:遍历宿主机,判断单个宿主机能否承载单个副本的业务应用服务下的所有子服务,如果不能承载,则切换到下一个宿主机;如果能够承载,则将业务应用服务的一个副本调度到该宿主机中,并更新宿主机信息及业务应用的服务信息,直至宿主机遍历完成;
步骤c:根据宿主机能够提供的资源量,对宿主机重新降序排序;
步骤d:依次遍历未调度副本下的子服务之间的调用关系集合,将有调用关系的子服务调度到相同的资源充足的宿主机中,并更新宿主机信息及业务应用的服务信息;
步骤e:遍历子服务调度状态矩阵,查找未调度的子服务,将其调度到与其副本下的其它子服务相同的宿主机中,并更新宿主机信息及业务应用的服务信息;
步骤f:确认所有子服务都已经被调度完成,第一级调度结束;
步骤(2)中,在业务应用运行过程中,统计各个子服务之间的调用关系,并根据调用关系系数周期性检查并迁移符合条件的子服务,将调用频繁的子服务迁移到相同的宿主机中,包括步骤如下:
步骤A:到达周期调度时间节点,开始周期调度,获得上一周期内统计的子服务调用关系系数列表;
步骤B:依次遍历业务应用各个副本列表下的子服务调用关系系数列表;
步骤C:判断子服务调用关系系数是否大于子服务调用关系系数平均值,如果当前关系系数小于关系系数平均值,则切换到下一对子服务调用关系;如果当前关系系数大于关系系数平均值,则启动调用关系内子服务的迁移,并更新宿主机信息及业务应用的服务信息;
步骤D:判断调用关系中的两个子服务,是否处于同一个宿主机,如果处于同一个宿主机,则切换到下一对调用关系;如果处于不同的宿主机,则将占用资源较少的子服务迁移到占用资源较多的子服务所在的宿主机,并更新宿主机信息及业务应用的服务信息;
步骤E:确认所有调用关系都已经被遍历,第二级调度结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东省计算中心(国家超级计算济南中心),未经山东省计算中心(国家超级计算济南中心)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010731894.7/1.html,转载请声明来源钻瓜专利网。