CN117956038A - 一种服务混合部署方法、装置及电子设备 - Google Patents
一种服务混合部署方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117956038A CN117956038A CN202311865168.4A CN202311865168A CN117956038A CN 117956038 A CN117956038 A CN 117956038A CN 202311865168 A CN202311865168 A CN 202311865168A CN 117956038 A CN117956038 A CN 117956038A
- Authority
- CN
- China
- Prior art keywords
- service
- resource
- deployment
- services
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000007717 exclusion Effects 0.000 claims abstract description 46
- 238000012544 monitoring process Methods 0.000 claims description 25
- 230000008859 change Effects 0.000 claims description 17
- 230000005012 migration Effects 0.000 claims description 14
- 238000013508 migration Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种服务混合部署方法、装置及电子设备,其中,该方法通过获取各个服务的服务画像,比如获取服务占用的运行资源情况以及服务之间的互斥信息,基于此运行资源情况以及服务之间的互斥信息,将存在满足预设容量预警条件的目标服务迁移至目标部署设备的尚未运行服务的第二运行子资源中。选用本申请实施例,在存在满足预设容量预警条件的目标服务时,将该目标服务迁移至第二运行子资源中,无需人工介入,便可实现自动结合服务的运行情况或者互斥情况,自行将满足预设容量预警条件的目标服务迁移至第一运行子资源已部署服务的目标部署设备中,与该第一运行子资源中部署的服务形成混合部署的方案。
Description
技术领域
本申请涉及数据服务运维领域,尤其涉及一种服务混合部署方法、装置及电子设备。
背景技术
随着互联网时代的高速发展以及移动互联网时代的到来,各大网站和公司平台的用户高速上涨,这使得各网站和公司平台向各用户提供的数据服务或者网络服务的类型、数量激增,针对用户的日常功能支持和数据任务的处理需求也与日俱增,进一步使得数据服务或者网络服务对提供数据任务处理功能的服务资源的需求呈指数性上涨的态势。
为了保障服务能够稳定可靠地运行,各大网站或者公司平台会在服务需求激增前夕,对后端的服务资源提前进行扩容。现有的扩容方案容易导致运行资源浪费,相关技术提出采用服务混合部署的方法以节约运行资源,但是,现有的服务混合服务方案依赖于人工,存在极高的容量风险。
发明内容
有鉴于此,本申请实施例提供了一种服务混合部署方法、装置及电子设备,以降低现有依赖于人工进行服务部署的方案所存在的风险。
第一方面,本申请实施例提供了一种服务混合部署方法,其中,该方法包括:
获取各服务的服务画像,其中,所述服务画像包括:服务占用的运行资源情况以及服务之间的互斥信息,其中,所述互斥信息表征各服务之间是否存在服务时段冲突;
基于各所述服务占用的运行资源情况以及各服务之间的互斥信息,确定各服务中是否存在满足预设容量预警条件的目标服务,其中,所述预设容量预警条件包括:服务占用的运行资源超出预设运行资源阈值,和/或,同一台部署设备中运行的服务存在服务时段冲突;
若存在,将所述目标服务迁移至目标部署设备中的第二运行子资源中,其中,所述目标部署设备的运行资源预先被隔离为第一运行子资源与第二运行子资源,所述第二运行子资源为尚未运行服务的备用的运行资源。
结合第一方面,在第二种可能的实施例中,所述获取各服务的服务画像,包括:
采集各所述服务的部署情况信息以及资源监控情况信息,其中,所述部署情况信息至少包括:服务的部署设备信息、服务部署端口信息以及部署设备上部署的实例信息,所述资源监控情况信息至少包括:服务占用时间段信息、服务占用CPU率、服务占用内存率;
基于各所述服务的部署情况信息以及资源监控情况信息,结合预设的初始互斥信息,生成所述服务画像。
结合第一方面的第二种可能的实施例,在第三种可能的实施例中,所述方法还包括:
基于各所述服务的服务画像,生成各所述服务的当前资源使用情况以及变化趋势;
根据各所述服务的当前资源使用情况以及变化趋势,结合所述目标服务占用的资源情况,确定最优调整方案以及最优调整路径,其中,所述最优调整方案中各部署设备中的各服务实例无预测占用时间段冲突,所述最优调整路径为当前各服务按照所述最优调整方案的服务实例安排,迁移至各所述部署设备的迁移路径。
结合第一方面的第三种可能的实施例,在第四种可能的实施例中,若所述预设容量预警条件为同一台部署设备中运行的服务存在服务时段冲突,所述方法还包括:
按照所述目标调整方案,以及所述目标调整路径,将存在服务时段冲突的服务,按照所述目标调整路径迁入至所述目标部署设备中。
结合第一方面,在第五种可能的实施例中,所述服务中包括离线服务以及在线服务,所述方法还包括:
获取所述服务中的各离线服务的每秒查询率,基于各所述离线服务的每秒查询率以及各在线服务的占用时间段,确定各部署设备中各离线任务的执行时刻;
当所述执行时刻抵达时,向所述离线服务发送调度任务,以使所述离线服务启动离线运行任务。
第二方面,本申请实施例提供了一种服务混合部署装置,其中,该装置包括:
获取模块,用于获取各服务的服务画像,其中,所述服务画像包括:服务占用的运行资源情况以及服务之间的互斥信息,其中,所述互斥信息表征各服务之间是否存在服务时段冲突;
确定模块,用于基于各所述服务占用的运行资源情况以及各服务之间的互斥信息,确定各服务中是否存在满足预设容量预警条件的目标服务,其中,所述预设容量预警条件包括:服务占用的运行资源超出预设运行资源阈值,和/或,同一台部署设备中运行的服务存在服务时段冲突;
服务迁移模块,用于若存在,将所述目标服务迁移至目标部署设备中的第二运行子资源中,其中,所述目标部署设备的运行资源预先被隔离为第一运行子资源与第二运行子资源,所述第二运行子资源为尚未运行服务的备用的运行资源。
结合第二方面,在第二种可能的实施例中,所述获取模块,具体用于:
采集各所述服务的部署情况信息以及资源监控情况信息,其中,所述部署情况信息至少包括:服务的部署设备信息、服务部署端口信息以及部署设备上部署的实例信息,所述资源监控情况信息至少包括:服务占用时间段信息、服务占用CPU率、服务占用内存率;
基于各所述服务的部署情况信息以及资源监控情况信息,结合预设的初始互斥信息,生成所述服务画像。
结合第二方面的第二种可能的实施例,所述装置还包括:
调整方案生成模块,用于基于各所述服务的服务画像,生成各所述服务的当前资源使用情况以及变化趋势;
根据各所述服务的当前资源使用情况以及变化趋势,结合所述目标服务占用的资源情况,确定最优调整方案以及最优调整路径,其中,所述最优调整方案中各部署设备中的各服务实例无预测占用时间段冲突,所述最优调整路径为当前各服务按照所述最优调整方案的服务实例安排,迁移至各所述部署设备的迁移路径;
所述服务迁移模块,具体用于若所述预设容量预警条件为同一台部署设备中运行的服务存在服务时段冲突,按照所述目标调整方案,以及所述目标调整路径,将存在服务时段冲突的服务,按照所述目标调整路径迁入至所述目标部署设备中。
结合第二方面,在第三种可能的实施例中,所述服务中包括离线服务以及在线服务,所述装置还包括:
离线任务调度模块,用于获取所述服务中的各离线服务的每秒查询率,基于各所述离线服务的每秒查询率以及各在线服务的占用时间段,确定各部署设备中各离线任务的执行时刻;当所述执行时刻抵达时,向所述离线服务发送调度任务,以使所述离线服务启动离线运行任务。
第三方面,本申请实施例提供了一种电子设备,其中,所述电子设备包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行第一方面所述的服务混合部署方法。
第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行第一方面所述的服务混合部署方法。
本申请的有益效果:
本申请实施例提供了一种服务混合部署方法、装置及电子设备,其中,该方法通过获取各个服务的服务画像,比如获取服务占用的运行资源情况以及服务之间的互斥信息,基于此运行资源情况以及服务之间的互斥信息,将存在满足预设容量预警条件的目标服务迁移至目标部署设备的尚未运行服务的第二运行子资源中。选用本申请实施例,预先将部署设备进行资源划分,预先隔离成第一运行子资源与第二运行子资源,第二运行子资源中初期并不运行服务,在存在满足预设容量预警条件的目标服务时,将该目标服务迁移至第二运行子资源中,无需人工介入,便可实现自动结合服务的运行情况或者互斥情况,自行将满足预设容量预警条件的目标服务迁移至第一运行子资源已部署服务的目标部署设备中,与该第一运行子资源中部署的服务形成混合部署的方案。
附图说明
在下面结合附图对于示例性实施例的描述中,本申请的更多细节、特征和优点被公开,在附图中:
图1示出了本申请实施例提供的服务混合部署方法的一种流程示意图;
图2示出了本申请实施例提供的服务混合部署方法的另一种流程示意图;
图3示出了本申请实施例提供的服务调整的一种流程示意图;
图4示出了本申请实施例提供的服务调整的另一种流程示意图;
图5示出了本申请实施例提供的服务混合部署装置的一种逻辑结构示意图;
图6示出了本申请实施例提供的电子设备的一种逻辑结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
如背景技术所述,随着互联网时代的发展,各大网站或公司平台向用户提供的具有交互功能的互联网服务的种类、数量激增,导致提供互联网服务的服务资源也指数性上涨。在本文中,为了便于描述,将提供互联网服务的背后执行数据处理任务的服务资源统称为服务容量。
为了应对大并发状态下的服务容量可能存在的无法及时响应服务需求的风险,做到用户无感提升用户体验,在大型活动或者节日,存在用户高密度访问时,应对突然激增的服务请求的冲击,网站服务的部署服务器需要做到不延迟、不中断、不宕机等要求。各大网站或者公司平台通过增加新的冗余的服务器,也就是新增实例户来保障服务容量的需求。服务响应慢了,扩容。大型节假日要来了,提前扩容,这会产生较大的成本压力。但是服务间的差异化运行无形中又会进一步加大资源浪费。示例性的,A服务和B服务部署在同一机器上,为了既应对服务容量的高峰,又应对服务容量的低谷,以两个服务的高峰值为标准对该机器进行扩容,这就导致低谷期间机器的资源闲置,造成资源浪费。再比如,在另一种示例中,假设C服务每天只在凌晨两点至凌晨七点期间运行,其余时间闲置,但是由于C服务所需的运行资源以及占据的数据量较大,此时需要大量的运行资源,但是其他时间段C服务所占用的大量的运行资源闲置,导致成本的浪费。
相关技术中提出,将不同的服务混合部署在同一台或者同一批设备上,通过调整不同服务的运行时间,以达到节约运行资源的目的。但是,现有的混合部署方案均是由人工进行评估,评估哪些服务可以混合部署在同一台设备或者同一批设备上。人工混合部署方案主要存在如下几个缺点:
缺点1:容易导致成本上升。因为无法实时匹配合适混合部署的服务,无法动态调整,只能再次通过扩充冗余资源来保障,就是不断增加新的设备。
缺点2:混合部署能力差。目前只能针对在线的服务进行混合部署,依赖于人工决定哪些在线的服务。离线服务存在稳定性风险,不具备混合部署的条件。
缺点3:人工感知能力存在延迟。人工只能在收到报警或者容量预警后才能开启混合部署调整,中间难免容易产生时间延迟而导致部署处理不及时的问题。
缺点4:调整目标机器选择难度大。人工调整智能申请新的机器进行布局,或者选择已有的机器进行混合部署,无法做到最优化布局,可能出现资源分配不均衡而导致CPU分配率和利用率低。
缺点5:稳定性风险大。这属于人工操作的通病,当人工疲劳或者经验不足时,失误率高是在所难免的,扩缩容操作容易出现失误。高流量期间出现的操作失误可能会无线放大造成重大故障。
为了降低现有技术中依赖于人工进行混合部署的方案存在的风险,第一方面,本申请提供了一种服务混合部署方法,该方法应用于任一具备服务混合部署功能的电子设备,包括但不限于个人移动终端、计算机或者服务器等。
在一些实施例中,本申请所提供的服务混合部署方法应用于预设的智能编排系统,该智能编排系统包括:智能调度模块、智能编排模块、巡检模块。由三个模块相互配合,执行本申请实施例提供的混合部署方法。
在一些实施例中,本申请提供的服务混合部署方法如图1所示,该方法包括如下步骤:
S11、获取各服务的服务画像。
其中,该服务画像包括:服务占用的运行资源情况以及服务之间的互斥信息,该互斥信息表征各服务之间是否存在服务时段冲突。
S12、基于各服务占用的运行资源情况以及各服务之间的互斥信息,确定各服务中是否存在满足预设容量预警条件的目标服务。
其中,该预设容量预警条件包括:服务占用的运行资源超出预设运行资源阈值,和/或,同一台部署设备中运行的服务存在服务时段冲突。
S13、若存在,则将该目标服务迁移至目标部署设备中的第二运行子资源中。
其中,目标部署设备单的运行资源预先被隔离为第一运行子资源与第二运行子资源,第二运行子资源为尚未运行服务的备用的运行资源。
该方法通过获取各个服务的服务画像,比如获取服务占用的运行资源情况以及服务之间的互斥信息,基于此运行资源情况以及服务之间的互斥信息,将存在满足预设容量预警条件的目标服务迁移至目标部署设备的尚未运行服务的第二运行子资源中。选用本申请实施例,预先将部署设备进行资源划分,预先隔离成第一运行子资源与第二运行子资源,第二运行子资源中初期并不运行服务,在存在满足预设容量预警条件的目标服务时,将该目标服务迁移至第二运行子资源中,无需人工介入,便可实现自动结合服务的运行情况或者互斥情况,自行将满足预设容量预警条件的目标服务迁移至第一运行子资源。
在对本申请所提供的服务混合部署方法进行详细说明之前,此处针对本文中出现的专业名词进行解释说明:
服务:响应于用户需求,通过程序代码实现用户需求的一种逻辑功能。示例性的,比如视频服务,是一种基于用户观看视频的需求,通过程序代码向用户提供视频播放的逻辑功能。其中,服务是依靠后端服务数据作为支撑,以实现用户需求的。在本申请实施例中,将后端支持服务运行的服务器称为设备,将部署了服务的设备确定为部署设备。具体细分为在线服务与离线服务,其中,在线服务是指:需要后端服务器时时刻刻提供运行资源执行服务任务的服务。也就是说,在线服务是进程里一直存在的服务,比如某个平台后端的sever(服务器)需要一直保持提供服务的状态。离线服务是指跑批任务,比如后台定时处理大量的数据计算,比如每天定点统计所有的平台计算结果,或者做一些数据天级别、月级别的统计结果。离线服务任务通常是数据量极大,需要大量的计算资源,但是不需要时时刻刻执行计算的任务。
部署设备上运行各个服务实例,各个服务实例运行得到的结果即为服务的效果。其中,服务实例时一个物理服务器微化后的结果,假设一个部署设备上部署了五个服务,可将其称为该部署设备上微化出了5个服务实例。
服务画像:与服务运行以及部署相关的各种信息的统称。其中,服务运行相关的各种信息包括:运行服务所需的CPU资源,运行服务所需的内存资源,运行服务所需的磁盘资源等等。服务部署相关的各种信息包括:服务的部署路径、服务的部署端口、服务部署于的计算框架以及服务部署使用的套餐信息等等,其中,套餐信息包括:物理机套餐以及实例套餐。其中,物理机套餐描述了物理机的物理资源总量。比如,一台物理机的物理资源包括48个核心,4根32G的内存条以及2个8T的硬盘,则此台物理机的物理套餐就是48C-128G-16T。实例套餐描述了一个服务在一台设备上占用的物理资源量。比如服务A部署需要2个处理核心,8G的内存,100G的磁盘空间,则该服务的实例套餐为:2C-8G-100G。
在一些实施例中,服务画像可细分为部署画像、容量画像。具体的,部署画像描述了服务部署的所有依赖信息。该依赖信息细分为三种:
资源依赖信息:描述了服务部署所依赖的物理机套餐与实例套餐,比如服务A需要1个处理核心4G的内存,需要8个服务实例。
部署详细信息:描述了服务具体的部署路径、占用的通信端口以及运行该服务的计算框架。比如,服务A部署于AAA-BBB路径下,占用了8900和8988两个端口,依赖于计算框架JDK8(java development kit,一种计算框架)。
互斥关系条件:描述了服务与其他服务之间的互斥关系,具体体现在存在互斥关系的两个服务不可以部署于同一个设备上,比如服务A的运行时间段为早上9点到10点,服务B的运行时间段为早上9点10分到9点45分,此时服务A与服务B存在互斥关系,不可不属于同一个设备上。
容量画像描述了服务在预设时间段内的容量变化情况,包括流量高峰时间、CPU使用高峰时间、内存暴涨时间以及磁盘使用突增时间等等信息。
基于此,在执行步骤S11获取服务的服务画像,其本质是获取服务的部署画像与容量画像,主要获取服务占用的运行资源情况以及服务之间的互斥信息。作为一种实施方式,获取服务之间的互斥信息,可以是通过向用户提供交互界面,由用户在交互界面上预先手动输入存在互斥关系的服务对。比如服务A与服务B之间存在占用时间段冲突的情况,用户可手动在交互界面中输入存在互斥关系的服务对:服务A-服务B。此外,还可输入各服务的执行时段信息,有助于后续基于输入的执行时段信息判断服务之间是否存在互斥关系。
在一些实施例中,结合用户输入的初始互斥关系,执行步骤S11时可如图2所示,还可通过如下步骤获取服务的服务画像:
S110、采集各服务的部署情况信息以及资源监控信息。
其中,部署情况信息至少包括:服务的部署设备信息、服务部署端口信息以及部署设备上部署的实例信息。资源监控信息至少包括:服务占用时间段信息、服务占用CPU率以及服务占用内存率。
在一些实施例中,本申请所提供的服务混合部署方法应用于服务信息管理系统,该服务信息管理系统用于对后端部署设备中运行的各个服务进行管理,具体的,服务信息管理系统通过监测各服务的接口以及运行各服务的核心、内存情况,采集各服务的运行情况。基于此,在执行步骤S110采集各服务的部署情况信息时,可如图3所示,借助服务信息管理系统根据服务的初期部署情况,采集各服务当前的部署情况,然后产出服务的部署基本信息。包括:服务部署在哪个设备,服务部署占用的端口号,以及使用了什么样的物理机套餐以及实例套餐。服务一共占用了多少实例,与哪些服务混合部署在了同一台设备上,与哪些服务存在互斥。
此外,服务信息管理系统还可从服务资源监控中获取各服务占用的资源情况,鸡腿的,比如各服务在各个时间段的CPU利用率、内存利用率,分析产出服务的高峰时段。比如,分析出服务A早上8-9点之间为高峰消耗时间,21-凌晨4点为静默时间。
S111、基于各服务的部署情况信息以及资源监控情况信息,结合预设的初始互斥信息,生成服务画像。
在执行步骤S111时,服务信息管理系统根据采集到的信息,生成统计列表,该列表中汇总了各服务的部署情况以及资源监控信息,以生成完整的服务画像,并传输出智能调度模块。具体的,服务信息管理系统结合当前的服务资源依赖情况、CPU消耗情况以及静默时间段情况,以及部署信息、互斥信息等等,产出完整的服务画像输出给智能调度模块。
选用本申请实施例,通过自动采集服务的部署情况信息、资源监控情况信息,基于部署情况信息、资源监控情况信息,结合预设的初始互斥信息,自动生成服务画像,有助于后续基于该自动生成的服务画像,自动满足预设容量预警条件的目标服务进行监测以及迁移。
在一些实施例中,本申请实施例提供的服务混合部署方法还包括如下步骤:
S14、基于各服务的服务画像,生成各服务的当前资源使用情况以及变化趋势。
S15、根据各服务的当前资源使用情况以及变化趋势,结合目标服务占用的资源情况,确定最优调整方案以及最优调整路径。
其中,该最优调整方案中各部署设备中的各服务实例无预测占用时间段冲突,最优调整路径为当前各服务按照该最优调整方案的服务实例,迁移至各部署设备的迁移路径。
具体的,最优调整方案可以视作一种将后端各部署设备进行最优化设置的方案,基于该最优调整方案中的各个部署设备中各个服务实例所占用的运行资源未超出预设运行资源阈值的,各部署设备中运行的服务实例之间也不存在服务时段冲突的情况。
最优调整路径为各个服务实例按照最优调整方案中的规划,部署在具体设备自己具体端口的最优部署路径,按照该最优调整路径将各服务实例迁移至对应的部署设备后,各部署设备中的各个服务实例所占用的运行资源不会超出预设运行资源阈值,同一台部署设备上的不同服务实例之间也不会存在服务时段冲突。
在执行步骤S14时,基于服务的服务画像,生成各服务的当前资源使用情况是直接给出当前各服务的运行资源使用情况。基于服务的服务画像生成各服务的变化趋势,可以基于各服务的历史资源使用情况,确定出预设时间段内各服务占用的运行资源的增长率,基于该增长率确定出各服务使用的资源的增长情况,即得到各服务的变化趋势,以预先基于该变化趋势,结合目标服务占用的资源情况,预先确定出最优的调整方案以及最优调整路径,进而在出现服务存在满足预设容量预警条件时,快速基于该最优的调整方案以及最优的调整路径快速对满足预设容量预警条件的服务进行调整,避免服务故障或者冲突导致的系统不稳定的风险。
在一些实施例中,在执行步骤S12时,可基于三种情况判断是否服务是否满足预设容量预警条件:
情况1:某部署设备上存在占用运行资源超出预设运行资源阈值的服务。此种情况中,预设运行资源阈值可基于实际经验设置得到,也可根据各部署的服务的历史运行峰值设置得到,本申请不作严格设置。
情况2:某部署设备上运行的服务存在服务时段冲突的。此种情况中,通过监测是否存在同一部署设备上的服务正在抢用该部署设备的运行资源,即可进行判断。或者基于各部署设备的运行日志记录,获取各服务的服务时段并进行比较,便可确定出是否存在服务时段冲突的服务。
情况3:某部署设备上既存在占用运行资源超出预设运行资源阈值的服务,又存在运行的服务存在服务时段冲突的。此种情况是情况1与情况2的叠加,若同时满足情况1以及情况2,则直接判定存在服务满足情况3。
针对情况2,在执行S13时,具体可通过如下步骤实现:
按照上述最优调整方案,以及最优调整路径,将存在时段冲突的服务,按照最优调整路径迁入至对应的目标部署设备中。
其中,通常存在时段冲突的服务是多个,比如两个服务存在冲突,或者多个服务存在冲突,此时,将存在时段冲突的服务按照最优调整路径迁入至对应的目标部署设备中,具体是仅保留一个服务,其他存在冲突的服务均迁出,然后按照最优调整方案中给出的目标部署设备以及最优调整路径,迁入至对应的目标部署设备中。
其中,将服务按照最优调整路径迁入至目标部署设备是将需要迁出的服务按照最优调整路径给出的部署路径,部署至目标部署设备中。具体的,按照最优调整路径给出的端口号、内存空间、磁盘空间部署至目标部署设备中。作为一种实施方式,可由智能调度模块,自动根据收到的调整需求和需要调整的目标服务,自动发起调整流程,将各满足预设容量阈值条件的服务自动调整至最优调整方案中的各个对应的最优调整路径中。
在一些实施例中,上述步骤S13中,目标部署设备中的第一运行子资源与第二运行子资源预先通过如下方式进行资源隔离得到:
通过在各部署设备中设置CGroup(服务组),为不同的服务组分配不同的运行资源,各不同服务组的运行资源在运行线程、通信地址之间互相独立,相互隔离。将属于第一服务组的运行资源确定为第一运行子资源,将属于第二服务组的运行资源确定为第二运行子资源。其中,第一服务组中的各服务为目标部署设备初期运行的服务,第一服务组内的各服务之间不存在服务时段冲突。第二服务组中的各不服务为智能调度模块后续向目标部署设备中新增的服务,第二服务组初期可以不包括任何服务。如此,第一运行子资源的运行与第二运行子资源的运行相互独立,互不打扰。
作为一种实施方式,目标部署设备在接收到迁入的服务后,可检测迁入的服务与已运行的各服务之间是否存在服务时段冲突,若不存在,在该服务迁入至第二运行子资源后,再从第二运行子资源中平滑迁移至第一运行子资源中,与第一运行子资源中的各服务组成同一个第一服务组,此时第二运行子资源中仍未运行服务。
在一些实施例中,服务具体细分了离线服务于在线服务,本申请实施例所提供的服务混合部署方法还包括如下步骤:
获取服务中各离线服务的每秒查询率,基于各离线服务的每秒查询率以及各在线服务的占用时间段,确定各部署设备中各离线任务的执行时刻。
当该执行时刻抵达时,向该离线服务发送调度任务,以使离线服务启动离线运行任务。
作为一种实施方式,可如图4所示,由智能调度模块获取服务中的各离线服务的每秒查询率QPS(Querry Peer Second,每秒查询率),然后基于各离线服务的每秒查询率配置调度策略,将离线服务配置于错过在线服务的运行时间段执行,其他时间保持静默。具体的,根据在线服务的占用时间段,错开该在线服务的占用时间段,确定离线服务的执行时刻。
当该离线服务的执行时刻抵达时,发送调度任务指令,调度该离线服务启动执行该离线运行任务。此时,智能调度模块将再次执行上述步骤S11至步骤S13,确保系统中的各服务均运行正常,无互斥、无运行资源不足的情况发生。选用本申请实施例,基于在线服务与离线服务的运行时段,对离线服务进行灵活调度,在错开在线服务的运行时间段的时间段内,调度离线服务运行离线运行任务,可有助于在线服务与离线服务混合部署于同一设备中,如此,有效节约了服务所需的运行资源,有助于节约部署设备的设备成本。
第二方面,本申请提供了一种服务混合部署装置,其中,如图5所示,该装置50包括:
获取模块501,用于获取各服务的服务画像,其中,服务画像包括:服务占用的运行资源情况以及服务之间的互斥信息,其中,互斥信息表征各服务之间是否存在服务时段冲突;
确定模块502,用于基于各服务占用的运行资源情况以及各服务之间的互斥信息,确定各服务中是否存在满足预设容量预警条件的目标服务,其中,预设容量预警条件包括:服务占用的运行资源超出预设运行资源阈值,和/或,同一台部署设备中运行的服务存在服务时段冲突;
服务迁移模块503,用于若存在,将目标服务迁移至目标部署设备中的第二运行子资源中,其中,目标部署设备的运行资源预先被隔离为第一运行子资源与第二运行子资源,第二运行子资源为尚未运行服务的备用的运行资源。
结合第二方面,在第二种可能的实施例中,获取模块501,具体用于:
采集各服务的部署情况信息以及资源监控情况信息,其中,部署情况信息至少包括:服务的部署设备信息、服务部署端口信息以及部署设备上部署的实例信息,资源监控情况信息至少包括:服务占用时间段信息、服务占用CPU率、服务占用内存率;
基于各服务的部署情况信息以及资源监控情况信息,结合预设的初始互斥信息,生成服务画像。
结合第二方面的第二种可能的实施例,装置50还包括:
调整方案生成模块504,用于基于各服务的服务画像,生成各服务的当前资源使用情况以及变化趋势;
根据各服务的当前资源使用情况以及变化趋势,结合目标服务占用的资源情况,确定最优调整方案以及最优调整路径,其中,最优调整方案中各部署设备中的各服务实例无预测占用时间段冲突,最优调整路径为当前各服务按照最优调整方案的服务实例安排,迁移至各部署设备的迁移路径;
服务迁移模块503,具体用于若预设容量预警条件为同一台部署设备中运行的服务存在服务时段冲突,按照目标调整方案,以及目标调整路径,将存在服务时段冲突的服务,按照目标调整路径迁入至目标部署设备中。
结合第二方面,在第三种可能的实施例中,服务中包括离线服务以及在线服务,装置50还包括:
离线任务调度模块505,用于获取服务中的各离线服务的每秒查询率,基于各离线服务的每秒查询率以及各在线服务的占用时间段,确定各部署设备中各离线任务的执行时刻;当执行时刻抵达时,向离线服务发送调度任务,以使离线服务启动离线运行任务。
本申请实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
第三方面,本申请示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本申请实施例的方法。
本申请示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本申请实施例的方法。
本申请示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本申请实施例的方法。
参考图6,现将描述可以作为本申请的服务器或客户端的电子设备600的结构框图,其是可以应用于本申请的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
电子设备600中的多个部件连接至I/O接口605,包括:输入单元606、输出单元607、存储单元608以及通信单元609。输入单元606可以是能向电子设备600输入信息的任何类型的设备,输入单元606可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元607可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元608可以包括但不限于磁盘、光盘。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理。例如,在一些实施例中,前述服务混合部署方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到电子设备600上。在一些实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行前述服务混合部署方法。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本申请使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (11)
1.一种服务混合部署方法,其特征在于,所述方法包括:
获取各服务的服务画像,其中,所述服务画像包括:服务占用的运行资源情况以及服务之间的互斥信息,其中,所述互斥信息表征各服务之间是否存在服务时段冲突;
基于各所述服务占用的运行资源情况以及各服务之间的互斥信息,确定各服务中是否存在满足预设容量预警条件的目标服务,其中,所述预设容量预警条件包括:服务占用的运行资源超出预设运行资源阈值,和/或,同一台部署设备中运行的服务存在服务时段冲突;
若存在,将所述目标服务迁移至目标部署设备中的第二运行子资源中,其中,所述目标部署设备的运行资源预先被隔离为第一运行子资源与第二运行子资源,所述第二运行子资源为尚未运行服务的备用的运行资源。
2.根据权利要求1所述的方法,其特征在于,所述获取各服务的服务画像,包括:
采集各所述服务的部署情况信息以及资源监控情况信息,其中,所述部署情况信息至少包括:服务的部署设备信息、服务部署端口信息以及部署设备上部署的实例信息,所述资源监控情况信息至少包括:服务占用时间段信息、服务占用CPU率、服务占用内存率;
基于各所述服务的部署情况信息以及资源监控情况信息,结合预设的初始互斥信息,生成所述服务画像。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
基于各所述服务的服务画像,生成各所述服务的当前资源使用情况以及变化趋势;
根据各所述服务的当前资源使用情况以及变化趋势,结合所述目标服务占用的资源情况,确定最优调整方案以及最优调整路径,其中,所述最优调整方案中各部署设备中的各服务实例无预测占用时间段冲突,所述最优调整路径为当前各服务按照所述最优调整方案的服务实例安排,迁移至各所述部署设备的迁移路径。
4.根据权利要求3所述的方法,其特征在于,若所述预设容量预警条件为同一台部署设备中运行的服务存在服务时段冲突,所述方法还包括:
按照所述最优调整方案,以及所述最优调整路径,将存在服务时段冲突的服务,按照所述最优调整路径迁入至所述目标部署设备中。
5.根据权利要求1所述的方法,其特征在于,所述服务中包括离线服务以及在线服务,所述方法还包括:
获取所述服务中的各离线服务的每秒查询率,基于各所述离线服务的每秒查询率以及各在线服务的占用时间段,确定各部署设备中各离线任务的执行时刻;
当所述执行时刻抵达时,向所述离线服务发送调度任务,以使所述离线服务启动离线运行任务。
6.一种服务混合部署装置,其特征在于,所述装置包括:
获取模块,用于获取各服务的服务画像,其中,所述服务画像包括:服务占用的运行资源情况以及服务之间的互斥信息,其中,所述互斥信息表征各服务之间是否存在服务时段冲突;
确定模块,用于基于各所述服务占用的运行资源情况以及各服务之间的互斥信息,确定各服务中是否存在满足预设容量预警条件的目标服务,其中,所述预设容量预警条件包括:服务占用的运行资源超出预设运行资源阈值,和/或,同一台部署设备中运行的服务存在服务时段冲突;
服务迁移模块,用于若存在,将所述目标服务迁移至目标部署设备中的第二运行子资源中,其中,所述目标部署设备的运行资源预先被隔离为第一运行子资源与第二运行子资源,所述第二运行子资源为尚未运行服务的备用的运行资源。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,具体用于:
采集各所述服务的部署情况信息以及资源监控情况信息,其中,所述部署情况信息至少包括:服务的部署设备信息、服务部署端口信息以及部署设备上部署的实例信息,所述资源监控情况信息至少包括:服务占用时间段信息、服务占用CPU率、服务占用内存率;
基于各所述服务的部署情况信息以及资源监控情况信息,结合预设的初始互斥信息,生成所述服务画像。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
调整方案生成模块,用于基于各所述服务的服务画像,生成各所述服务的当前资源使用情况以及变化趋势;
根据各所述服务的当前资源使用情况以及变化趋势,结合所述目标服务占用的资源情况,确定最优调整方案以及最优调整路径,其中,所述最优调整方案中各部署设备中的各服务实例无预测占用时间段冲突,所述最优调整路径为当前各服务按照所述最优调整方案的服务实例安排,迁移至各所述部署设备的迁移路径;
所述服务迁移模块,具体用于若所述预设容量预警条件为同一台部署设备中运行的服务存在服务时段冲突,按照所述最优调整方案,以及所述最优调整路径,将存在服务时段冲突的服务,按照所述最优调整路径迁入至所述目标部署设备中。
9.根据权利要求6所述的装置,其特征在于,所述服务中包括离线服务以及在线服务,所述装置还包括:
离线任务调度模块,用于获取所述服务中的各离线服务的每秒查询率,基于各所述离线服务的每秒查询率以及各在线服务的占用时间段,确定各部署设备中各离线任务的执行时刻;当所述执行时刻抵达时,向所述离线服务发送调度任务,以使所述离线服务启动离线运行任务。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-5中任一项所述的方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311865168.4A CN117956038A (zh) | 2023-12-29 | 2023-12-29 | 一种服务混合部署方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311865168.4A CN117956038A (zh) | 2023-12-29 | 2023-12-29 | 一种服务混合部署方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117956038A true CN117956038A (zh) | 2024-04-30 |
Family
ID=90803020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311865168.4A Pending CN117956038A (zh) | 2023-12-29 | 2023-12-29 | 一种服务混合部署方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117956038A (zh) |
-
2023
- 2023-12-29 CN CN202311865168.4A patent/CN117956038A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11842208B2 (en) | Virtual provisioning with implementation resource boundary awareness | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN107092522B (zh) | 实时数据的计算方法及装置 | |
CA2811020C (en) | Virtual resource cost tracking with dedicated implementation resources | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
CN103530193A (zh) | 用于调节应用进程的方法和设备 | |
CN115277566B (zh) | 数据访问的负载均衡方法、装置、计算机设备及介质 | |
CN112579304A (zh) | 基于分布式平台的资源调度方法、装置、设备及介质 | |
CN112799596A (zh) | 一种存储资源的扩容控制方法、装置及电子设备 | |
CN114911598A (zh) | 任务调度方法、装置、设备以及存储介质 | |
CN113986478A (zh) | 资源迁移策略确定方法以及装置 | |
US9471389B2 (en) | Dynamically tuning server placement | |
CN111418187A (zh) | 云网络中的可伸缩统计和分析机制 | |
CN114598665A (zh) | 资源调度方法、装置和计算机可读存储介质及电子设备 | |
CN112965806A (zh) | 用于确定资源的方法和装置 | |
CN112887407A (zh) | 用于分布式集群的作业流量控制方法和装置 | |
CN112817687A (zh) | 一种数据同步方法和装置 | |
CN117956038A (zh) | 一种服务混合部署方法、装置及电子设备 | |
CN114070889A (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN114090201A (zh) | 资源调度方法、装置、设备及存储介质 | |
CN112433838A (zh) | 批量调度方法、装置、设备及计算机存储介质 | |
TW201719407A (zh) | Idc機房實體及虛擬主機整合管理的方法與系統 | |
US11979444B1 (en) | Mesh management for redistribution of online events | |
CN113282245B (zh) | 一种审计供数的方法及主机平台 | |
US11782490B2 (en) | Software-defined fail-safe power draw control for rack power distribution units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |