CN110896344A - 一种冗余服务部署方法及装置 - Google Patents
一种冗余服务部署方法及装置 Download PDFInfo
- Publication number
- CN110896344A CN110896344A CN201911117330.8A CN201911117330A CN110896344A CN 110896344 A CN110896344 A CN 110896344A CN 201911117330 A CN201911117330 A CN 201911117330A CN 110896344 A CN110896344 A CN 110896344A
- Authority
- CN
- China
- Prior art keywords
- service
- deployed
- physical machine
- reliability
- placement
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种冗余服务部署方法及装置,确定用户的应用程序请求中包含的多种待部署服务,每种待部署服务的资源需求,以及各待部署服务之间的通信延迟需求;每种待部署服务包括多个服务副本;基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,筛选出多个可用放置决策;根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;从可用放置决策中确定最终放置决策;基于最终放置决策,在微云的物理机节点中部署相应的待部署服务。从而综合考虑了应用程序的每种服务的资源需求,服务间通信需求,物理机节点的可靠度,微云的可靠度因素,保证服务部署的高可靠性。
Description
技术领域
本发明涉及无线通信技术领域,特别是涉及一种冗余服务部署方法及装置。
背景技术
近年来,随着信息化、网络化的不断发展,信息系统在军事、救灾等领域发挥着越来越重要的作用。在这种高度动态的环境中,任务计划及设备构成可能频繁变化,网络连通能力也会出现波动。基于单机设备的服务资源十分有限,无法应对复杂的计算任务。云计算技术是应对这种场景的有效手段。云计算技术中,能够根据任务需求,自定义进行资源配置,从而为大规模应用程序提供方便灵活的管理服务,然而,传统的云平台通常部署在距离用户较远的地区,通信延迟较高,且在网络不稳定的环境中,很难提供持续可靠的服务。
为了解决上述问题,产生了微云服务技术。微云服务技术是一种新兴的云计算技术,由多个分布式部署的小型服务器集群组成,每个服务器集群可以成为一个微云,每个微云中包含多个物理机节点,物理机节点中部署有服务器。微云的规模可以随着任务需求进行调整,每个微云大都部署在移动车辆上,可以随着人员一起移动,从而提供更高质量的微云服务。
随着微云服务技术的发展,一个应用程序通常由多个可以相互通信的服务构成,即该应用程序的正常运作需要这些服务均可用。然而微云中的物理机节点有可能出现故障,导致该物理机节点中部署的服务均不可用,且在上述动态场景中,由于网络不稳定,容易导致微云失去连接,从而部署在该微云中的所有服务不可用。因此在服务部署时要考虑这些因素,尽可能达到较高的可靠性。
此外,在进行服务部署时,不仅要考虑各个服务的资源需求,还需要考虑服务之间的通信需求,这进一步增加了服务部署的复杂性。而现有的联邦微云领域的服务部署中均未考虑服务间通信需求。
可见,亟需一种既能满足服务的资源需求,服务之间的通信需求,又能保证高可靠性的服务部署方法。
发明内容
本发明实施例的目的在于提供一种冗余服务部署方法及装置,以实现提高服务部署的可靠性。具体技术方案如下:
为实现上述目的,本发明实施例提供了一种冗余服务部署方法,应用于微云系统的控制平台,所述微云系统还包括多个微云,每个微云包括多个物理机节点,所述方法包括:
确定用户的应用程序请求中包含的多种待部署服务,每种待部署服务的资源需求,以及各待部署服务之间的通信延迟需求;其中,每种待部署服务包括多个服务副本;
基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,并基于预设的服务放置约束条件,筛选出多个可用放置决策;
针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;
基于计算得到的可靠度,从所述可用放置决策中确定最终放置决策;
基于所述最终放置决策,在所述微云的物理机节点中部署相应的待部署服务。
可选的,所述基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,并基于预设的服务放置约束条件,筛选出多个可用放置决策的步骤,包括:
确定待部署服务的最低资源需求,筛除不满足最低资源需求的物理机节点;
基于平均失效时间和平均修复时间,计算各个物理机节点的可靠度,并基于可靠度将物理机节点降序排列;
确定已放置服务集合,基于已放置服务集合确定目标待部署服务,目标待部署服务与已放置服务集合中的服务具备通信关系,并基于目标待部署服务确定候选物理机节点集合,生成目标待部署服务与候选物理机节点集合的放置对;
依次检查每个放置对,删除不满足服务资源需求的放置对;
按照可形成的服务组合数从大到小的顺序,对放置对进行降序排序;
从放置对列表中依次选择放置对进行服务放置,更新已放置服务集合;
当所有待部署服务放置完毕,判断本次服务放置结果是否满足所述服务放置约束条件,是则生成可用放置决策,否则返回所述确定已放置服务集合,基于已放置服务集合确定目标待部署服务的步骤。
可选的,所述预设的服务放置约束条件包括:
所述待部署服务的每个服务副本的资源需求不超过所放置的物理机节点的剩余资源容量;
所述各待部署服务之间的最大通信延迟不小于所放置的物理机节点之间的通信延迟;
每个待部署服务的不同服务副本放置于不同的物理机节点;
每个待部署服务的不同服务副本至少放置于两个微云中的物理机节点。
可选的,所述针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度的步骤,包括:
按照如下公式计算所述可用放置决策的可靠度:
其中,U*表示可用放置决策的可靠度,H表示所述可用放置决策中的可行服务组合数,表示第i个可行服务组合的可靠度,П表示自定义连乘运算,n表示待部署服务的个数,Nj表示第j个待部署服务所放置的物理机节点的可靠度,δj表示第j个待部署服务所放置的物理机节点所处微云的可靠度。
为实现上述目的,本发明实施例还提供了一种冗余服务部署装置,应用于微云系统的控制平台,所述微云系统还包括多个微云,每个微云包括多个物理机节点,所述装置包括:
第一确定模块,用于确定用户的应用程序请求中包含的多种待部署服务,每种待部署服务的资源需求,以及各待部署服务之间的通信延迟需求;其中,每种待部署服务包括多个服务副本;
分配模块,用于基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,并基于预设的服务放置约束条件,筛选出多个可用放置决策;
计算模块,用于针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;
第二确定模块,用于基于计算得到的可靠度,从所述可用放置决策中确定最终放置决策;
部署模块,用于基于所述最终放置决策,在所述微云的物理机节点中部署相应的待部署服务。
可选的,所述分配模块包括:
确定子模块,用于确定待部署服务的最低资源需求,筛除不满足最低资源需求的物理机节点;
计算子模块,用于基于平均失效时间和平均修复时间,计算各个物理机节点的可靠度,并基于可靠度将物理机节点降序排列;
生成子模块,用于确定已放置服务集合,基于已放置服务集合确定目标待部署服务,目标待部署服务与已放置服务集合中的服务具备通信关系,并基于目标待部署服务确定候选物理机节点集合,生成目标待部署服务与候选物理机节点集合的放置对;
检查子模块,用于依次检查每个放置对,删除不满足服务资源需求的放置对;
排序子模块,用于按照可形成的服务组合数从大到小的顺序,对放置对进行降序排序;
更新子模块,用于从放置对列表中依次选择放置对进行服务放置,更新已放置服务集合;
判断子模块,用于当所有待部署服务放置完毕,判断本次服务放置结果是否满足所述服务放置约束条件,是则生成可用放置决策,否则触发所述生成子模块。
可选的,所述预设的服务放置约束条件包括:
所述待部署服务的每个服务副本的资源需求不超过所放置的物理机节点的剩余资源容量;
所述各待部署服务之间的最大通信延迟不小于所放置的物理机节点之间的通信延迟;
每个待部署服务的不同服务副本放置于不同的物理机节点;
每个待部署服务的不同服务副本至少放置于两个微云中的物理机节点。
可选的,所述计算模块,具体用于:
按照如下公式计算所述可用放置决策的可靠度:
其中,U*表示可用放置决策的可靠度,H表示所述可用放置决策中的可行服务组合数,表示第i个可行服务组合的可靠度,П表示自定义连乘运算,n表示待部署服务的个数,Nj表示第j个待部署服务所放置的物理机节点的可靠度,δj表示第j个待部署服务所放置的物理机节点所处微云的可靠度。
为实现上述目的,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一方法步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法步骤。
本发明实施例提供的冗余服务部署方法及装置,可以确定用户的应用程序请求中包含的多种待部署服务,基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,得到多个候选服务放置决策,基于预设的服务放置约束条件,从候选服务放置决策中确定出多个可用放置决策,针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;基于计算得到的可靠度,从可用放置决策中确定最终放置决策;基于最终放置决策,在微云的物理机节点中部署相应的待部署服务。从而综合考虑了应用程序的每种服务的资源需求,服务间通信需求,物理机节点的可靠度,微云的可靠度因素,相比于传统的服务部署方法,既能满足服务的资源需求,服务之间的通信需求,又能保证服务部署的高可靠性。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的冗余服务部署方法的一种流程示意图;
图2为本发明实施例提供的搜索可用放置决策的一种流程示意图;
图3为本发明实施例提供的冗余服务部署装置的一种流程示意图;
图4为本发明实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有的微云计算领域的服务部署方法的可靠性较低的技术问题,本发明实施例提供了一种冗余服务部署方法、装置、电子设备及计算机可读存储介质。
为了便于理解,下面先对本发明实施例的应用场景进行说明。
本发明实施例提供的冗余服务部署方法可以应用于军事领域,救灾领域等复杂多变的场景,这些场景通常采用微云系统来提供服务。微云系统中可以包括控制平台,多个微云,每个微云中包含多个物理机节点,其中,物理机节点可以表示包含处理器、通信接口、存储器和通信总线的电子设备,例如个人电脑等,通常可以被置于移动车辆上。微云表示多个物理机节点的集合,一个微云通常可以包括一个移动车辆上的多个物理机节点。本发明实施例提供的服务部署方法可以应用于控制平台。
参见图1,本发明实施例提供的冗余服务部署方法可以包括以下步骤:
S101:确定用户的应用程序请求中包含的多种待部署服务,每种待部署服务的资源需求,以及各待部署服务之间的通信延迟需求;其中,每种待部署服务包括多个服务副本。
本发明实施例中,用户的应用程序请求可能包含多种服务,例如定位服务,图像处理服务等,这些服务需要被部署在微云中的物理机节点上,从而物理机节点可以为用户应用程序提供这些服务,这里将需要部署在物理机节点上的服务称为待部署服务。
每种待部署服务都有各自的资源需求,例如内存资源需求,CPU资源需求,控制平台可以确定各个待部署服务的资源需求。
此外,本发明实施例中,各个待部署服务不是独立的,有些待部署服务之间需要进行通信,以分享数据。而不同服务之间的通信也要需要满足延迟的需求,例如服务a和服务b之间的通信延迟不超过1ms。控制平台可以确定需要进行通信的待部署服务,以及相应的通信延迟需求。
本发明实施例中,为了提高微云系统的可靠性,保证应用程序能够可靠运行,可以为每个待部署服务设置多个服务副本,同一待部署服务的多个服务副本是相同的。例如,针对待部署服务s1,可以设置三个服务副本,和则可以将这三个服务副本分别部署在不同的物理节点上,从而只要有一个服务副本是正常的,就可以为应用程序提供该服务。
S102:基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,并基于预设的服务放置约束条件,筛选出多个可用放置决策。
其中,在边缘计算领域中,将服务放置于某一物理机节点所表示的含义即为在该物理机节点上部署该服务。为了便于说明,下文中均以放置来表示服务部署。
本发明实施例中,可以基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,从而将每种待部署服务的各个服务副本放置在所分配的物理机节点中。
由于待部署服务的各个服务副本的放置情况可以有多种,本步骤中可以得到多种放置情况,每一种服务放置决策均可以作为一个候选服务放置决策。
其中,待部署服务的放置过程可以参见下文图2所示实施例。
在本发明实施例中,搜索得到的候选服务放置决策中,有一些是不可用的,例如,某一服务副本所放置的物理机节点无法满足该服务副本的资源需求。因此,需要从候选服务放置决策中选取可用的放置决策。
本发明实施例中,可以预设服务放置约束条件,每次搜索到一个候选服务放置决策后,可以基于服务放置约束条件,判断该候选服务放置决策是否可用,若可用,则作为可用放置决策。
在本发明的一种实施例中,预设的服务放置约束条件可以包括以下四个约束:
第一约束条件:待部署服务的每个服务副本的资源需求不超过所放置的物理机节点的剩余资源容量。
第二约束条件:各待部署服务之间的最大通信延迟不小于所放置的物理机节点之间的通信延迟。
举例来讲,若待部署服务s1和待部署服务s2存在通信需求,且通信延迟不大于20ms,即最大通信延迟为20ms,若待部署服务s1的一服务副本放置于物理机节点i,待部署服务s2的一服务副本放置于物理机节点j,则物理机节点i和物理机节点j之间的通信延迟不能超过20ms,这样才能满足待部署服务s1和待部署服务s2之间的通信需求。
第三约束条件:每个待部署服务的不同服务副本放置于不同的物理机节点。
本发明实施例中,针对每个待部署服务,部署多个服务副本是为了防止物理机节点出现故障,导致服务不可用,因此,在同一待部署服务的不同服务副本应放置于不同的物理机节点。
第四约束条件:每个待部署服务的不同服务副本至少放置于两个微云中的物理机节点。
当微云出现故障时,微云中的各个物理机节点均不可用,因此,为了避免位于微云故障导致的所有服务不可用的问题,本发明实施例中,每个待部署服务的不同服务副本至少放置于两个微云中的物理机节点。
在本发明实施例中,在确定候选服务放置决策之后,可以从中选取满足上述服务放置约束条件的候选服务放置决策,作为可用放置决策。
S103:针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度。
本发明实施例中,S102中确定了可用放置决策,为了提高服务放置的可靠性,可以分别计算这些可用放置决策的可靠度,选取可靠度较高的放置决策,作为最终放置决策。
本发明的一种实施例中,可以从物理机节点和微云两个层面来评估服务放置的可靠性。
下面先对服务放置可靠性的计算方法进行说明。
具体的,若将某一待部署服务放置于物理机节点j上,则该待部署服务的可靠度即为物理机节点j的可靠度。
针对物理机节点,可以采用如下公式计算可靠度:
其中,Nj表示物理机节点j的可靠度,MTTF表示平均失效时间,MTTR表示平均修复时间。
对于一个包含多个待部署服务的应用程序请求,在不考虑服务副本的前提下,若将这些服务放置于n个物理机节点上,则这个服务放置的可靠度AP可以表示为:AP=N1·N2…Nn。
考虑到一个应用程序的多个待部署服务可能放置于同一物理机节点,为了避免该物理机节点可靠度的重复计算,定义操作符◇,运算规则如下:
其中,ni=nj表示待部署服务i和待部署服务j放置于同一节点,这种情况下只需要计算一次该物理机节点的可靠度。
此外,本发明实施例中,用П表示自定义连乘运算,其表示操作符◇的连乘,即:
下面进一步考虑具有冗余配置的服务放置,即每个待部署服务均包括多个服务副本,在这种情况下,可以先计算可行的服务组合数。
举例来讲,应用程序包含两个待部署服务,每个待部署服务均有两个服务副本,用表示第一个待部署服务的第一个服务副本,用表示第一个待部署服务的第二个服务副本,用表示第二个待部署服务的第一个服务副本,用表示第二个待部署服务的第二个服务副本,则可行的服务组合数为2×2=4种,即也就是说,只要这四种组合中的任一组合是可用的,那么应用程序即可正常运行。
因此,对于存在H个可行服务组合数的服务放置,可靠度可按照如下公式计算:
下面进一步考虑微云层面的可靠度,在应用程序运行过程中,微云可能由于自身移动或网络原因而失去连接,导致部署在该微云中任一物理机节点上的服务均不可用。
定义δm表示微云m的可靠度,举例来讲,则若将一个服务副本放置于位于微云m的物理机节点n上,那么该服务副本的可靠度为δm·Nn,其中,Nn表示物理机节点n的可靠度。
进一步的,对于一个包含多个待部署服务的应用程序请求,在不考虑服务副本的前提下,可以用如下公式计算服务放置的可靠度:
进一步的,考虑待部署服务的多个服务副本,则可以采用如下公式计算服务放置的可靠度:
其中,U*表示可用放置决策的可靠度,H表示所述可用放置决策中的可行服务组合数,表示第i个可行服务组合的可靠度,П表示自定义连乘运算,Nj表示第j个服务所放置的物理机节点的可靠度,δj表示第j个服务所放置的物理机节点所处微云的可靠度。
可见,本发明实施例综合物理机节点和微云两个层面来计算服务放置的可靠度,能够更为准确的评估服务放置的可靠度,进而提高服务放置的可靠性。
S104:基于计算得到的可靠度,从可用放置决策中确定最终放置决策。
本发明实施例中,针对每一可用放置决策,控制平台可以按照上述公式,计算每一可用放置决策的可靠度,进而基于计算的可靠度确定最终采用的放置决策。例如,可以将可靠度最高的可用放置决策,确定为最终采用的放置决策。此外,也可以预设阈值,从可靠度大于预设阈值的可用放置决策中任选一种,作为最终放置决策。
S105:基于最终放置决策,在微云的物理机节点中部署相应的待部署服务。
本发明实施例中,在确定最终放置决策后,可以根据该最终放置决策进行服务部署。
例如,所确定的最终放置决策中,第一个待部署服务的第一服务副本放置于微云m中的物理机节点A,第二个待部署服务的第一服务副本放置于微云m中的物理节点B,则可以在微云m中的物理机节点A中部署在微云m中的物理机节点B中部署从而物理机节点可以为用户的应用程序提供上述服务。同理,按照相同的方式来部署其他服务,不再赘述。
可见,本发明实施例提供的冗余服务部署方法,可以确定用户的应用程序请求中包含的多种待部署服务,基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,得到多个候选服务放置决策,基于预设的服务放置约束条件,从候选服务放置决策中确定出多个可用放置决策,针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;基于计算得到的可靠度,从可用放置决策中确定最终放置决策;基于最终放置决策,在微云的物理机节点中部署相应的待部署服务。从而综合考虑了应用程序的每种服务的资源需求,服务间通信需求,物理机节点的可靠度,微云的可靠度因素,相比于传统的服务部署方法,既能满足服务的资源需求,服务之间的通信需求,又能保证服务部署的高可靠性。
在本发明的一种实施例中,在进行服务放置时,可以遍历所有可能的放置情况,即每一个待部署服务的服务副本可以放置于任一物理机节点,从而能够得到数量巨大的候选服务放置决策。
在本发明的一种实施例中,为了减少服务放置的计算复杂度,待部署服务的放置过程可以抽象为图搜索的过程,具体的,可以对微云系统和应用程序的待部署服务进行虚拟图建模。微云系统的虚拟图中,每一个顶点表示一个物理机节点,具备资源容量指标和可靠度指标,每条边代表两个物理机节点的通信延迟指标。对于待部署服务的虚拟图,每一个顶点表示一个待部署服务,每条边表示两个待部署服务间具有通信需求。从而可以把服务放置过程转化为图搜索的过程。
参见图2,在本发明的一种实施例中,基于预设的节点放置规则,为每组待部署服务的服务副本分配物理机节点,得到多个候选服务放置决策的步骤,可以包括以下细化步骤:
S201:确定待部署服务的最低资源需求,筛除不满足最低资源需求的物理机节点。
控制平台可以查看各个待部署服务的资源需求,进而确定最低的资源需求。对于微云中的物理机节点,如果无法满足最低的资源需求,说明任一待部署服务都不能放置在该物理机节点上,因此,可以筛除不满足最低资源需求的物理机节点,即在后续的服务放置过程中不再考虑这些物理机节点,从而降低了计算复杂度。
S202:基于平均失效时间和平均修复时间,计算各个物理机节点的可靠度,并基于可靠度将物理机节点降序排列。
计算物理机节点可靠度的具体过程可以参见上文,这里不再赘述。
可以按照可靠度从大到小的顺序排列物理机节点,进而可以优先选择可靠度较高的物理机节点来放置服务。
S203:确定已放置服务集合,基于已放置服务集合确定目标待部署服务,目标待部署服务与已放置服务集合中的服务具备通信关系,并基于目标待部署服务确定候选物理机节点集合,生成目标待部署服务与候选物理机节点集合的放置对。
本发明实施例中,可以基于迭代的方法进行服务放置,即每一轮迭代中放置一种待部署服务,第一次迭代中,可以任选一个待部署服务进行放置。
而在以后的每轮迭代中,可以确定已放置服务集合,该集合包含了已经放置完成的待部署服务,并基于已放置服务集合确定目标待部署服务,其中目标待部署服务为本轮迭代中要放置的待部署服务,且目标待部署服务与已放置服务集合中的服务具备通信关系,也就是说,本轮迭代中可以放置的服务是与先前已放置的服务具备通信关系的。
基于上述虚拟图的描述,本轮迭代中要放置的服务对应的虚拟图顶点是与已放置的服务对应的虚拟图顶点相连接的,相应的,在微云系统的虚拟图中,与已占用的物理机节点对应的虚拟图顶点相连接的虚拟图顶点,才可以作为本轮迭代中可选的虚拟图顶点,进而可以确定本轮迭代的候选物理机节点集合。
在确定本轮迭代中的目标待部署服务,以及候选物理机节点集合后,可以生成放置对。放置对表示目标待部署服务的服务副本与候选物理机节点集合的放置关系,例如,放置对表示服务副本放置于物理机节点j。若目标待部署服务的服务副本有M个,候选物理机节点结合有N个,那么放置对就有M×N个。
S204:依次检查每个放置对,删除不满足服务资源需求的放置对。
所确定的放置对中,可能存在物理机节点无法满足待部署服务的资源需求的情况,本步骤中,可以检查出不满足服务资源需求的放置对,将其删除。
S205:按照可形成的服务组合数从大到小的顺序,对放置对进行降序排序。
由于不同的放置对会形成不同的服务组合数,而服务组合越多则表示可靠度越高,因此可以按照服务组合数从大到小的顺序,对放置对进行降序排序。也就是放置对可形成的服务组合数越多,则该放置对排序越靠前。
S206:从放置对列表中依次选择放置对进行服务放置,更新已放置服务集合。
S207:检查所有待部署服务是否放置完毕,是则执行步骤S208,否则返回步骤S203。
S208:判断本次服务放置结果是否满足服务放置约束条件,是则执行S209,生成可用放置决策,否则返回S203。
S209:根据本次服务放置结果生成可用放置决策。
S210:检测是否生成预设数量的可用放置决策,若是则结束服务放置搜索过程,若否则执行S211。
为了降低计算复杂度,可以预设可用放置决策的数量,在生成该数量个可用放置决策后,可以认为服务放置搜索完成。当然,也可以检测是否搜索完所有可能的服务放置结果,对此不做限定。
S211:检查是否对所有放置对搜索完毕,是则返回步骤S203,否则返回步骤S206。
本步骤中,可以检测本轮迭代中生成的放置对是否搜索完毕,若否则返回S206继续搜索本轮迭代中生成的放置对;若是则执行下一轮迭代,即返回S203重新生成放置对。
可见,本发明实施例中,可以将服务放置抽象为图搜索模型,通过物理机节点筛选,物理机节点排序,服务放置等过程,快速便捷的搜索可行的服务放置决策。进一步的,基于上文介绍的可靠度评估算法,得到可靠度最高的服务放置决策,从而提供了一种既能满足服务的资源需求,服务之间的通信需求,又能保证高可靠性的服务部署方法。
基于相同的发明构思,根据上述冗余服务部署方法实施例,本发明实施例还提供了一种冗余服务部署装置,参见图3,可以包括以下模块:
第一确定模块301,用于确定用户的应用程序请求中包含的多种待部署服务,每种待部署服务的资源需求,以及各待部署服务之间的通信延迟需求;其中,每种待部署服务包括多个服务副本;
分配模块302,用于基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,并基于预设的服务放置约束条件,筛选出多个可用放置决策;
计算模块303,用于针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;
第二确定模块304,用于基于计算得到的可靠度,从所述可用放置决策中确定最终放置决策;
部署模块305,用于基于所述最终放置决策,在所述微云的物理机节点中部署相应的待部署服务。
在本发明的一种实施例中,分配模块302可以包括以下模块:
确定子模块,用于确定待部署服务的最低资源需求,筛除不满足最低资源需求的物理机节点;
计算子模块,用于基于平均失效时间和平均修复时间,计算各个物理机节点的可靠度,并基于可靠度将物理机节点降序排列;
生成子模块,用于确定已放置服务集合,基于已放置服务集合确定目标待部署服务,目标待部署服务与已放置服务集合中的服务具备通信关系,并基于目标待部署服务确定候选物理机节点集合,生成目标待部署服务与候选物理机节点集合的放置对;
检查子模块,用于依次检查每个放置对,删除不满足服务资源需求的放置对;
排序子模块,用于按照可形成的服务组合数从大到小的顺序,对放置对进行降序排序;
更新子模块,用于从放置对列表中依次选择放置对进行服务放置,更新已放置服务集合;
判断子模块,用于当所有待部署服务放置完毕,判断本次服务放置结果是否满足所述服务放置约束条件,是则生成可用放置决策,否则触发所述生成子模块。
在本发明的一种实施例中,所述预设的服务放置约束条件包括:
所述待部署服务的每个服务副本的资源需求不超过所放置的物理机节点的剩余资源容量;
所述各待部署服务之间的最大通信延迟不小于所放置的物理机节点之间的通信延迟;
每个待部署服务的不同服务副本放置于不同的物理机节点;
每个待部署服务的不同服务副本至少放置于两个微云中的物理机节点。
在本发明的一种实施例中,所述计算模块,具体用于:
按照如下公式计算所述可用放置决策的可靠度:
其中,U*表示可用放置决策的可靠度,H表示所述可用放置决策中的可行服务组合数,表示第i个可行服务组合的可靠度,П表示自定义连乘运算,n表示待部署服务的个数,Nj表示第j个待部署服务所放置的物理机节点的可靠度,δj表示第j个待部署服务所放置的物理机节点所处微云的可靠度。
可见,本发明实施例提供的冗余服务部署装置,可以确定用户的应用程序请求中包含的多种待部署服务,基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,得到多个候选服务放置决策,基于预设的服务放置约束条件,从候选服务放置决策中确定出多个可用放置决策,针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;基于计算得到的可靠度,从可用放置决策中确定最终放置决策;基于最终放置决策,在微云的物理机节点中部署相应的待部署服务。从而综合考虑了应用程序的每种服务的资源需求,服务间通信需求,物理机节点的可靠度,微云的可靠度因素,相比于传统的服务部署方法,既能满足服务的资源需求,服务之间的通信需求,又能保证服务部署的高可靠性。
基于相同的发明构思,根据上述冗余服务部署方法实施例,本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
确定用户的应用程序请求中包含的多种待部署服务,每种待部署服务的资源需求,以及各待部署服务之间的通信延迟需求;其中,每种待部署服务包括多个服务副本;
基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,并基于预设的服务放置约束条件,筛选出多个可用放置决策;
针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;
基于计算得到的可靠度,从可用放置决策中确定最终放置决策;
基于最终放置决策,在微云的物理机节点中部署相应的待部署服务。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
应用本发明实施例提供的电子设备,可以确定用户的应用程序请求中包含的多种待部署服务,基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,得到多个候选服务放置决策,基于预设的服务放置约束条件,从候选服务放置决策中确定出多个可用放置决策,针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;基于计算得到的可靠度,从可用放置决策中确定最终放置决策;基于最终放置决策,在微云的物理机节点中部署相应的待部署服务。从而综合考虑了应用程序的每种服务的资源需求,服务间通信需求,物理机节点的可靠度,微云的可靠度因素,相比于传统的服务部署方法,既能满足服务的资源需求,服务之间的通信需求,又能保证服务部署的高可靠性。
基于相同的发明构思,根据上述冗余服务部署方法实施例,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述图1-2所示的任一冗余服务部署方法步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于冗余服务部署装置实施例、电子设备实施例以及计算机可读存储介质实施例而言,由于其基本相似于冗余服务部署方法实施例,所以描述的比较简单,相关之处参见冗余服务部署方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种冗余服务部署方法,其特征在于,应用于微云系统的控制平台,所述微云系统还包括多个微云,每个微云包括多个物理机节点,所述方法包括:
确定用户的应用程序请求中包含的多种待部署服务,每种待部署服务的资源需求,以及各待部署服务之间的通信延迟需求;其中,每种待部署服务包括多个服务副本;
基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,并基于预设的服务放置约束条件,筛选出多个可用放置决策;
针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;
基于计算得到的可靠度,从所述可用放置决策中确定最终放置决策;
基于所述最终放置决策,在所述微云的物理机节点中部署相应的待部署服务。
2.根据权利要求1所述的方法,其特征在于,所述基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,并基于预设的服务放置约束条件,筛选出多个可用放置决策的步骤,包括:
确定待部署服务的最低资源需求,筛除不满足最低资源需求的物理机节点;
基于平均失效时间和平均修复时间,计算各个物理机节点的可靠度,并基于可靠度将物理机节点降序排列;
确定已放置服务集合,基于已放置服务集合确定目标待部署服务,目标待部署服务与已放置服务集合中的服务具备通信关系,并基于目标待部署服务确定候选物理机节点集合,生成目标待部署服务与候选物理机节点集合的放置对;
依次检查每个放置对,删除不满足服务资源需求的放置对;
按照可形成的服务组合数从大到小的顺序,对放置对进行降序排序;
从放置对列表中依次选择放置对进行服务放置,更新已放置服务集合;
当所有待部署服务放置完毕,判断本次服务放置结果是否满足所述服务放置约束条件,是则生成可用放置决策,否则返回所述确定已放置服务集合,基于已放置服务集合确定目标待部署服务的步骤。
3.根据权利要求1所述的方法,其特征在于,所述预设的服务放置约束条件包括:
所述待部署服务的每个服务副本的资源需求不超过所放置的物理机节点的剩余资源容量;
所述各待部署服务之间的最大通信延迟不小于所放置的物理机节点之间的通信延迟;
每个待部署服务的不同服务副本放置于不同的物理机节点;
每个待部署服务的不同服务副本至少放置于两个微云中的物理机节点。
5.一种冗余服务部署装置,其特征在于,应用于微云系统的控制平台,所述微云系统还包括多个微云,每个微云包括多个物理机节点,所述装置包括:
第一确定模块,用于确定用户的应用程序请求中包含的多种待部署服务,每种待部署服务的资源需求,以及各待部署服务之间的通信延迟需求;其中,每种待部署服务包括多个服务副本;
分配模块,用于基于预设的服务放置规则,为每种待部署服务的各个服务副本分配物理机节点,并基于预设的服务放置约束条件,筛选出多个可用放置决策;
计算模块,用于针对每一可用放置决策,根据各待部署服务的服务副本所放置的物理机节点的可靠度,以及微云的可靠度,计算该可用放置决策的可靠度;
第二确定模块,用于基于计算得到的可靠度,从所述可用放置决策中确定最终放置决策;
部署模块,用于基于所述最终放置决策,在所述微云的物理机节点中部署相应的待部署服务。
6.根据权利要求5所述的装置,其特征在于,所述分配模块包括:
确定子模块,用于确定待部署服务的最低资源需求,筛除不满足最低资源需求的物理机节点;
计算子模块,用于基于平均失效时间和平均修复时间,计算各个物理机节点的可靠度,并基于可靠度将物理机节点降序排列;
生成子模块,用于确定已放置服务集合,基于已放置服务集合确定目标待部署服务,目标待部署服务与已放置服务集合中的服务具备通信关系,并基于目标待部署服务确定候选物理机节点集合,生成目标待部署服务与候选物理机节点集合的放置对;
检查子模块,用于依次检查每个放置对,删除不满足服务资源需求的放置对;
排序子模块,用于按照可形成的服务组合数从大到小的顺序,对放置对进行降序排序;
更新子模块,用于从放置对列表中依次选择放置对进行服务放置,更新已放置服务集合;
判断子模块,用于当所有待部署服务放置完毕,判断本次服务放置结果是否满足所述服务放置约束条件,是则生成可用放置决策,否则触发所述生成子模块。
7.根据权利要求5所述的装置,其特征在于,所述预设的服务放置约束条件包括:
所述待部署服务的每个服务副本的资源需求不超过所放置的物理机节点的剩余资源容量;
所述各待部署服务之间的最大通信延迟不小于所放置的物理机节点之间的通信延迟;
每个待部署服务的不同服务副本放置于不同的物理机节点;
每个待部署服务的不同服务副本至少放置于两个微云中的物理机节点。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911117330.8A CN110896344B (zh) | 2019-11-15 | 2019-11-15 | 一种冗余服务部署方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911117330.8A CN110896344B (zh) | 2019-11-15 | 2019-11-15 | 一种冗余服务部署方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110896344A true CN110896344A (zh) | 2020-03-20 |
CN110896344B CN110896344B (zh) | 2021-03-19 |
Family
ID=69788116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911117330.8A Active CN110896344B (zh) | 2019-11-15 | 2019-11-15 | 一种冗余服务部署方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110896344B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901435A (zh) * | 2020-07-31 | 2020-11-06 | 南京航空航天大学 | 一种负载感知的云边协同服务部署方法 |
CN113973314A (zh) * | 2020-07-22 | 2022-01-25 | 中国移动通信集团山东有限公司 | 一种冗余基站评估的方法、装置、设备和存储介质 |
CN116680091A (zh) * | 2023-08-03 | 2023-09-01 | 北京交通大学 | 服务器的部署方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253830A (zh) * | 2013-06-26 | 2014-12-31 | 浙江大学 | 一种基于位置的服务选择方法 |
CN105656999A (zh) * | 2015-12-25 | 2016-06-08 | 清华大学 | 一种移动云计算环境中能耗优化的合作任务迁移方法 |
WO2017105733A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Computing devices |
CN110069342A (zh) * | 2019-04-11 | 2019-07-30 | 西安交通大学 | 一种移动云计算环境下融合视频直播频道部署方法 |
CN110399223A (zh) * | 2019-07-25 | 2019-11-01 | 河南卓豆信息技术有限公司 | 一种云网络服务资源调度方法 |
CN110445866A (zh) * | 2019-08-12 | 2019-11-12 | 南京工业大学 | 一种移动边缘计算环境中任务迁移和协作式负载均衡方法 |
-
2019
- 2019-11-15 CN CN201911117330.8A patent/CN110896344B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253830A (zh) * | 2013-06-26 | 2014-12-31 | 浙江大学 | 一种基于位置的服务选择方法 |
WO2017105733A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Computing devices |
CN105656999A (zh) * | 2015-12-25 | 2016-06-08 | 清华大学 | 一种移动云计算环境中能耗优化的合作任务迁移方法 |
CN110069342A (zh) * | 2019-04-11 | 2019-07-30 | 西安交通大学 | 一种移动云计算环境下融合视频直播频道部署方法 |
CN110399223A (zh) * | 2019-07-25 | 2019-11-01 | 河南卓豆信息技术有限公司 | 一种云网络服务资源调度方法 |
CN110445866A (zh) * | 2019-08-12 | 2019-11-12 | 南京工业大学 | 一种移动边缘计算环境中任务迁移和协作式负载均衡方法 |
Non-Patent Citations (1)
Title |
---|
TAO OUYANG.ET AL.: "Follow Me at the Edge: Mobility-Aware Dynamic Service Placement for Mobile Edge Computing", 《IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113973314A (zh) * | 2020-07-22 | 2022-01-25 | 中国移动通信集团山东有限公司 | 一种冗余基站评估的方法、装置、设备和存储介质 |
CN113973314B (zh) * | 2020-07-22 | 2023-09-05 | 中国移动通信集团山东有限公司 | 一种冗余基站评估的方法、装置、设备和存储介质 |
CN111901435A (zh) * | 2020-07-31 | 2020-11-06 | 南京航空航天大学 | 一种负载感知的云边协同服务部署方法 |
CN116680091A (zh) * | 2023-08-03 | 2023-09-01 | 北京交通大学 | 服务器的部署方法、装置、电子设备及存储介质 |
CN116680091B (zh) * | 2023-08-03 | 2023-10-03 | 北京交通大学 | 服务器的部署方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110896344B (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110896344B (zh) | 一种冗余服务部署方法及装置 | |
WO2018076791A1 (zh) | 一种资源负载均衡控制方法及集群调度器 | |
US20160077763A1 (en) | Dynamic reconfiguration of storage system | |
CN104376875B (zh) | 存储设备寿命预测、确定方法及装置 | |
US20180060330A1 (en) | Parallel scoring of an ensemble model | |
CN112379971B (zh) | 应用容器管理方法、装置及设备 | |
US11775852B2 (en) | Network optimization | |
US20180107390A1 (en) | Sunder management for a cluster of disperse nodes | |
CN103516778A (zh) | 云计算中基于风险式动态地理定位的服务复制方法和系统 | |
CN109586982B (zh) | 一种功能备份方法及装置 | |
WO2016095068A1 (en) | Pedestrian detection apparatus and method | |
Bashari et al. | Self-adaptation of service compositions through product line reconfiguration | |
US20160342899A1 (en) | Collaborative filtering in directed graph | |
CN113867919B (zh) | Kubernetes集群调度方法、系统、设备及介质 | |
CN107357649B (zh) | 系统资源部署策略的确定方法、装置及电子设备 | |
CN116866440B (zh) | 一种集群节点选择调度方法、装置、电子设备和存储介质 | |
CN107818113A (zh) | 文件访问位置的确定方法及装置 | |
CN113378498A (zh) | 一种任务分配方法及装置 | |
CN114253936A (zh) | 分布式数据库的缩容方法、装置、设备和介质 | |
CN115617279B (zh) | 分布式云数据的处理方法、装置及存储介质 | |
US11100061B2 (en) | Automatically purging data using a deep neural network | |
US20230153170A1 (en) | Method for rapid service deployment in hybrid cloud environment | |
US12026664B2 (en) | Automatically generating inventory-related information forecasts using machine learning techniques | |
WO2015110867A1 (en) | A pattern based configuration method for minimizing the impact of component failures | |
CN113032136A (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 |