一种服务资源动态调整方法、装置、设备及介质与流程

文档序号:21100391发布日期:2020-06-16 20:45阅读:151来源:国知局
一种服务资源动态调整方法、装置、设备及介质与流程
本发明涉及网络通信
技术领域
,尤其涉及一种服务资源动态调整方法、装置、设备及介质。
背景技术
:随着电信领域微服务的推进和应用,电信领域传统应用多,业务渠道繁多,较难通过应用容器化或应用层的支持实现不同渠道不同业务的资源隔离。目前,通常将应用的访问集中配置到负载均衡设备如f5上,由f5进行资源分配,f5配置最简单负载均衡,需要配置的参数有node(节点)、pool(资源池)、和virtualserver(虚拟服务器),先配置node,然后配置vs。node是最基本的定义,如每个服务器就是一个node,负载均衡pool是一组node接收和处理流量的一组设备,如web服务器集群。但是,f5有很多先天的不足,灵活性不够、扩展能力弱、无法支持后端服务的自动调整,人工介入程度高,需要耗费大量的人力和物力。综上所述,在微服务大量部署应用后,如何根据业务需求动态调整服务资源,提高资源调整的灵活性成为现有技术中亟待解决的技术问题之一。技术实现要素:本发明实施例提供了一种服务资源动态调整方法、装置、设备及介质,用以针对微服务应用场景下,根据业务需求动态调整资源,提高资源调整的灵活性。第一方面,本发明实施例提供了一种服务资源动态调整方法,方法包括:按照设定的调整周期,获取当前调整周期内的每一服务池的服务分配信息;根据所述服务分配信息确定服务分配初始群体,所述初始群体中包含有若干个体,每一个体为服务池以及在所述服务池上部署的服务之间的对应关系;根据所述初始群体,利用遗传算法进行迭代得到目标群体;根据满足迭代截止条件时得到的目标群体中包含的服务池以及在所述服务池上部署的服务之间的对应关系,进行服务资源分配。可选地,所述迭代截止条件包括至少连续n次迭代得到的目标群体中,最优个体的特征值与所述目标群体的特征均值之间的差值不大于预设阈值,其中,n为大于1的整数。可选地,所述迭代截止条件包括迭代得到的目标群体中,最优个体的特征值大于预设阈值。可选地,针对迭代得到的每一目标群体中包含的任一个体,按照以下公式确定该个体的特征值:e=w1f1+w2f2,其中:e表示该个体的特征值;w1和w2为预设权值,w1+w2=1;f1表示该个体中,该个体包含的服务池中所部署服务的最大使用率;f2表示该个体包含的服务池所部署服务与全部服务池所部署的全部服务的比值;f1和f2为根据从服务池访问日志中提取的访问数据确定出的。可选地,根据所述初始群体,利用遗传算法进行迭代得到目标群体,具体包括:按照预设的交叉概率和变异概率对所述初始群体进行迭代得到目标群体。可选地,在根据所述服务分配信息确定服务分配初始群体之前,还包括:按照预设的编码规则,对所述服务分配信息进行编码。可选地,在根据满足迭代截止条件时得到的目标群体中包含的服务池以及在所述服务池上部署的服务之间的对应关系,进行服务资源分配之前,还包括:根据目标群体中包含的每一个体进行解码操作。第二方面,本发明实施例提供了一种服务资源动态调整装置,装置包括:获取单元,用于按照设定的调整周期,获取当前调整周期内的每一服务池的服务分配信息;确定单元,用于根据所述服务分配信息确定服务分配初始群体,所述初始群体中包含有若干个体,每一个体为服务池以及在所述服务池上部署的服务之间的对应关系;迭代单元,用于根据所述初始群体,利用遗传算法进行迭代得到目标群体;资源分配单元,用于根据满足迭代截止条件时得到的目标群体中包含的服务池以及在所述服务池上部署的服务之间的对应关系,进行服务资源分配。可选地,所述迭代截止条件包括至少连续n次迭代得到的目标群体中,最优个体的特征值与所述目标群体的特征均值之间的差值不大于预设阈值,其中,n为大于1的整数。可选地,所述迭代截止条件包括迭代得到的目标群体中,最优个体的特征值大于预设阈值。可选地,本发明实施例提供的服务资源动态调整装置,还包括:特征值确定单元,用于针对迭代得到的每一目标群体中包含的任一个体,按照以下公式确定该个体的特征值:e=w1f1+w2f2,其中:e表示该个体的特征值;w1和w2为预设权值,w1+w2=1;f1表示该个体中,该个体包含的服务池中所部署服务的最大使用率;f2表示该个体包含的服务池所部署服务与全部服务池所部署的全部服务的比值;f1和f2为根据从服务池访问日志中提取的访问数据确定出的。可选地,所述迭代单元,具体用于按照预设的交叉概率和变异概率对所述初始群体进行迭代得到目标群体。可选地,本发明实施例提供的服务资源动态调整装置,还包括:编码单元,用于在所述确定单元根据所述服务分配信息确定服务分配初始群体之前,按照预设的编码规则,对所述服务分配信息进行编码。可选地,本发明实施例提供的服务资源动态调整装置,还包括:解码单元,用于在所述资源分配单元根据满足迭代截止条件时得到的目标群体中包含的服务池以及在所述服务池上部署的服务之间的对应关系,进行服务资源分配之前,对目标群体中包含的每一个体进行解码操作。本发明实施例提供了一种服务资源动态调整设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。本发明实施例提供的服务资源动态调整方法、装置、设备及介质,按照设定的调整周期,在每一调整周期内,通过遗传算法对包含有服务池以及在所述服务池上部署的服务之间的对应关系的全体进行群体迭代,通过设置迭代截止条件,使得多次迭代最终确定出的目标群体内各个个体满足业务需求,由此实现了根据业务需求动态调整服务资源,提高了资源调整的灵活性。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了根据本发明一些实施例提供的应用场景示意图;图2示出了根据本发明实施方式的服务资源动态调整方法的实施流程示意图;图3示出了根据本发明实施方式的基于遗传算法的服务资源动态调整方法的实施流程示意图;图4示出了根据本发明实施方式的服务资源动态调整装置的结构示意图;图5示出了根据本发明实施方式的服务资源动态调整设备的硬件结构示意图。具体实施方式下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。如图1所示,其为本发明实施例的应用场景示意图,包括服务自动注册和租户访问两种方式。具体实施时,对于系统业务,可以根据配置自动向公共服务池注册登记。而对于租户访问选定服务池的服务,在租户访问服务网关时,可以定位到其归属服务池,服务池自动选择服务池内的服务,系统自动将访问请求向选定的服务转发。本发明实施例中,可以采用表1所示的二维表来表示服务池中服务的分配情况,具体实施时,每一服务只能归属于一个服务池,一个服务池内可以部署多个服务。表1服务池1服务池2服务池3…服务1服务2服务3…本发明实施例中,为了提高服务资源分配的灵活性,可以按照设定的调整周期,读取服务池访问日志,服务池访问日志中包含有服务访问数据,例如,租户标识、服务池、在处理服务、服务池服务数、服务池繁忙服务数以及服务繁忙线程等信息,并保存到缓存,为后续的服务资源动态调整提供原始数据。基于此,本发明实施例提供了一种服务资源动态调整方法,如图2所示,可以包括以下步骤:s21、按照设定的调整周期,获取当前调整周期内的每一服务池的服务分配信息。具体实施中,按照设定的调整周期,在每一调整周期开始时,读取服务池日志,同时,获取当前调整周期内的每一服务池的服务分配信息,其中,服务分配信息中包含有服务池以及该服务池上部署的服务之间的对应关系。s22、根据获取的服务分配信息确定服务分配初始群体。根据步骤s21中获取的当前调整周期内的服务分配信息,确定服务分配初始群体。根据遗传基因算法,基因是组成染色体的基本单元,基因应包括:服务池-服务,基因表示各服务池以及其上部署的服务之间的对应关系。以服务池1为例,假设根据获取的服务分配信息确定,服务池1上部署的服务为服务1,服务3,服务7,则确定(服务池1,服务1,服务3,服务7)为一个基因,其为初始群体中的一个个体。初始群体中包含有若干个体,每一个体为服务池以及在该服务池上部署的服务之间的对应关系。s23、利用遗传算法对初始群体进行迭代得到目标群体。遗传算法是一种通过模拟自然进化过程搜索最优解的方法。算法简单描述如下:将每组解(如各服务池以及归属于该服务池的服务)编码成为一条染色体,每条染色体具有多个基因(如某一服务池以及归属该服务池的服务之间不同的排列关系),每一代染色体之间会进行交叉,编译,遗传,然后按照优胜劣汰原则(本发明实施例中可以采用迭代截止条件进行判断),留下优质个体(如最优解),淘汰较差的个体,如此往复一代代进化寻找最优解。具体实施时,在每一次迭代中,可以按照预设的交叉概率和变异概率对上一次迭代得到的群体进行杂交和变异。其中,交叉概率和变异概率可以预先设置,例如,交叉概率设置为0.6,变异概率设置为0.1。需要说明的是,交叉概率设置为0.6,变异概率设置为0.1仅用于举例说明,其不构成对本发明的限定。具体实施时,交叉过程可以使用单点交叉,根据该个体和最优个体中包含的服务,随机选择一个服务进行交叉。具体地,针对本次迭代得到的群体所包含的任一个体,可以在该个体中随机选取一个服务,以这个服务在个体中的排列位置为界分别取两个父代个体的基因(其中,两个父代个体即为本次迭代的最优个体和当前选择出的进行交叉的个体)后进行组合得到下一代个体,为了便于描述,以下以字母表示服务池,数字表示该服务池中的服务为例,以两个父代个体携带的基因序列分别为a13589,b24607为例,在进行交叉时,则随机选取一个交叉单点位置,假设位置为5,则交叉后的基因序列为a13607(分别取a13589的a13,及b24607中的607)得到下一代个体。优选地,为了保证每一代个体的随机性,以免求最优解的趋势太过单一而错过最优解,针对得到的每一代个体,在对其进化之前,还可以按照预设的变异率对得到的子代个体进行变异。具体实施时,变异率不宜设置过高,变异率设置过高有可能导致算法无法趋向最优解,因为随机性过强,有可能引导种群向错误方向进化,变异本身是为了在不影响算法收敛趋势的情况下又带有一定的随机性,一般用比较低的概率,如果子代发生变异,则随机取两个基因位置互换后进行排样,如子代排样个体为a13589,随机取位置1和位置5进行互换后重新进行排样得到a53189。s24、根据满足迭代截止条件时得到的目标群体中包含的服务池以及在该服务池上部署的服务之间的对应关系,进行服务资源分配。本发明实施例中,为了满足业务需求,可以根据业务需求来设置迭代截止条件。例如,可以根据从服务池日志中读取的服务访问数据确定群体中每一个体对应的特征值。由于,服务访问数据能够反映当前业务状态,由此可以实现根据实际业务需求来调整服务资源。针对每一次迭代得到的目标群体所包含的任一个体,本发明实施例中,可以按照以下公式来确定任一个体对应的特征值:e=w1f1+w2f2,其中:e表示该个体的特征值;w1和w2为预设权值,w1+w2=1;f1表示该个体中,该个体包含的服务池中所部署服务的最大使用率;f2表示该个体包含的服务池所部署服务与全部服务池所部署的全部服务的比值;f1和f2为根据从服务池访问日志中提取的访问数据确定出的。具体实施时,w1和w2的初始值可以为预设值,在每一资源调整周期,可以根据获取的访问数据逐步进行优化和调整。基于此,本发明实施例中涉及的最优个体可以为本次迭代过程中特征值最大的个体。根据上述公式,本发明实施例中,设置的迭代截止条件可以为:至少连续n次迭代得到的目标群体中,最优个体的特征值与目标群体的特征均值之间的差值不大于预设阈值,其中,n为大于1的整数;或者迭代得到的目标群体中,最优个体的特征值大于预设阈值。在判断出满足迭代截止条件时,以最后一次迭代得到的群体作为目标群体,根据目标群体中包含的服务池以及在所述服务池上部署的服务之间的对应关系,进行服务资源分配。具体实施时,还可以设定迭代截止条件为迭代次数,即在迭代次数达到预设阈值时即停止迭代,例如,迭代次数可以设置为20。至此,完成了一次服务资源的调整,具体实施时,可以按照设定的调整周期,在每一调整周期内按照上述流程对服务资源动态进行调整,使得服务资源可以随着业务状态的变化而动态变化,以满足业务需求,提高服务资源调整的灵活性。具体实施时,为了便于计算,本发明实施例中,可以预先对服务分配信息中包含的服务池和服务进行编码,例如,可以对服务池和服务分别进行4位编码,这样组成的基因序列是一个8位的十进制数。而为了便于计算机识别,在执行步骤s21之前,需要将十进制编码转换为二进制编码,最终,在得到最优个体之后再进行解码操作,将得到的二进制串转换为十进制编码,这样,可以得到最终的服务池与服务之间的对应关系。为了更好地理解本发明实施例,以下结合服务资源调整流程对本发明实施例的具体实施过程进行说明。如图3所示,其为利用遗传算法进行服务资源动态调整的实施流程示意图,包括以下步骤:s31、获取当前调整周期内的每一服务池的服务分配信息。s32、对服务分配信息进行编码。本步骤中,根据服务分配信息中包含的服务池-服务进行十进制编码,其中各个服务池和服务对应的编码均唯一,将得到的十进制编码转换为二进制字符串。s33、根据服务分配信息确定服务分配初始群体。本步骤中,以服务分配信息中包含的服务池以及该服务池上部署的服务之间的对应关系作为当前调整周期的第一代群体,每一服务池以及该服务池上部署的服务之间的对应关系为群体中的个体。s34、针对当前群体中每一个体,分别确定该个体对应的特征值。s35、判断最优个体的特征值与群体特征均值之间差值是否在预设范围之内,如果是,则执行步骤s36,否则,执行步骤s38。s36、r=r+1。其中,在初始时,r设置为0。s37、判断r是否等于n,如果是,则执行步骤s310,否则执行步骤s38。本例中,n可以设置为3。s38、按照设定的交叉概率对当前群体中包含的个体进行杂交得到下一代群体。s39、按照设定的变异概率对得到的下一代群体进行变异操作,并执行步骤s34。s310、确定本次迭代得到的群体为目标群体。s311、对目标群体中包含的每一个体进行解码操作。本步骤中,对于得到的目标群体中包含的每一个体进行解码操作,将二进制串转换为十进制。s312、根据目标群体中包含的服务池以及在所述服务池上部署的服务之间的对应关系,进行服务资源分配。具体实施时,在每一调整周期内,按照上述流程进行服务资源的动态调整。本发明实施例提供的服务资源动态调整方法,按照设定的调整周期,在每一调整周期内,通过遗传算法对包含有服务池以及在所述服务池上部署的服务之间的对应关系的全体进行群体迭代,通过设置迭代截止条件,使得多次迭代最终确定出的目标群体内各个个体满足业务需求,由此实现了根据业务需求动态调整服务资源,提高了资源调整的灵活性。如图4所示,其为本发明实施例提供的服务资源动态调整装置的结构示意图,包括:获取单元41,用于按照设定的调整周期,获取当前调整周期内的每一服务池的服务分配信息;确定单元42,用于根据所述服务分配信息确定服务分配初始群体,所述初始群体中包含有若干个体,每一个体为服务池以及在所述服务池上部署的服务之间的对应关系;迭代单元43,用于根据所述初始群体,利用遗传算法进行迭代得到目标群体;资源分配单元44,用于根据满足迭代截止条件时得到的目标群体中包含的服务池以及在所述服务池上部署的服务之间的对应关系,进行服务资源分配。可选地,所述迭代截止条件包括至少连续n次迭代得到的目标群体中,最优个体的特征值与所述目标群体的特征均值之间的差值不大于预设阈值,其中,n为大于1的整数。可选地,所述迭代截止条件包括迭代得到的目标群体中,最优个体的特征值大于预设阈值。可选地,本发明实施例提供的服务资源动态调整装置,还包括:特征值确定单元,用于针对迭代得到的每一目标群体中包含的任一个体,按照以下公式确定该个体的特征值:e=w1f1+w2f2,其中:e表示该个体的特征值;w1和w2为预设权值,w1+w2=1;f1表示该个体中,该个体包含的服务池中所部署服务的最大使用率;f2表示该个体包含的服务池所部署服务与全部服务池所部署的全部服务的比值;f1和f2为根据从服务池访问日志中提取的访问数据确定出的。可选地,所述迭代单元,具体用于按照预设的交叉概率和变异概率对所述初始群体进行迭代得到目标群体。可选地,本发明实施例提供的服务资源动态调整装置,还包括:编码单元,用于在所述确定单元根据所述服务分配信息确定服务分配初始群体之前,按照预设的编码规则,对所述服务分配信息进行编码。可选地,本发明实施例提供的服务资源动态调整装置,还包括:解码单元,用于在所述资源分配单元根据满足迭代截止条件时得到的目标群体中包含的服务池以及在所述服务池上部署的服务之间的对应关系,进行服务资源分配之前,对目标群体中包含的每一个体进行解码操作。另外,结合图2描述的本发明实施例的服务资源动态调整方法可以由服务资源动态调整设备来实现。图5示出了本发明实施例提供的服务资源动态调整设备的硬件结构示意图。服务资源动态调整设备可以包括处理器501以及存储有计算机程序指令的存储器502。具体地,上述处理器501可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。存储器502可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器502可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在数据处理装置的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。在特定实施例中,存储器502包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。处理器501通过读取并执行存储器502中存储的计算机程序指令,以实现上述实施例中的任意一种服务资源动态调整方法。在一个示例中,服务资源动态调整设备还可包括通信接口503和总线510。其中,如图5所示,处理器501、存储器502、通信接口503通过总线510连接并完成相互间的通信。通信接口503,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。总线510包括硬件、软件或两者,将服务资源动态调整设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线510可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。另外,结合上述实施例中的服务资源动态调整方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种服务资源动态调整方法。需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1