CN115269126B - 一种基于余弦相似度的云平台反亲和调度系统 - Google Patents

一种基于余弦相似度的云平台反亲和调度系统 Download PDF

Info

Publication number
CN115269126B
CN115269126B CN202211186491.4A CN202211186491A CN115269126B CN 115269126 B CN115269126 B CN 115269126B CN 202211186491 A CN202211186491 A CN 202211186491A CN 115269126 B CN115269126 B CN 115269126B
Authority
CN
China
Prior art keywords
virtual machine
affinity
group
cosine
inverse
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.)
Active
Application number
CN202211186491.4A
Other languages
English (en)
Other versions
CN115269126A (zh
Inventor
王婷
肖良华
富海军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Data Center of China Life Insurance Co Ltd
Original Assignee
Shanghai Data Center of China Life Insurance Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Data Center of China Life Insurance Co Ltd filed Critical Shanghai Data Center of China Life Insurance Co Ltd
Priority to CN202211186491.4A priority Critical patent/CN115269126B/zh
Publication of CN115269126A publication Critical patent/CN115269126A/zh
Application granted granted Critical
Publication of CN115269126B publication Critical patent/CN115269126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本发明涉及一种基于余弦相似度的云平台反亲和调度系统,包括:数据采集模块,用于在用户发出虚机创建请求后,获取虚机ipv4地址、主机名和创建者ID;智能调度模块,用于根据所述虚机ipv4地址、主机名和创建者ID、以及反亲和基准组元素关键字得出虚机向量,并借助余弦相似度计算所述虚机向量与各个反亲和组的基准向量的夹角余弦值,根据所述夹角余弦值确定加入或新建反亲和组,并发起相应请求。本发明能够自动帮用户完成反亲和组规划创建,自动识别关联较强的虚机加入同一反亲和组,增强了云平台业务连续性,减少了云平台运维难度。

Description

一种基于余弦相似度的云平台反亲和调度系统
技术领域
本发明涉及云平台虚机反亲和部署技术领域,特别是涉及一种基于余弦相似度的云平台反亲和调度系统。
背景技术
随着云计算和大数据等科技新基建的日趋成熟,国内在信息技术应用创新背景下,以国产CPU、操作系统为底座,自主研发的兼顾计算、存储、网络的综合信创云计算平台,成为各大数据中心加速行业数字化转型,提升自主可控云建设的优选。在不断开发建设的信创云平台中,如何保障业务稳定连续依然是信创云平台优化课题中的重中之重。传统数据中心云平台为了避免宿主机故障,导致其上面虚机在故障疏散过程中业务中断,通常建议用户针对同一功能的业务虚拟机部署数量大于一台,并需要用户自行手动将同一功能的业务虚机加入一个反亲和组。反亲和组策略主要通过在线迁移,实现该组虚机不会运行于同一台宿主机上;当组内虚机总数小于等于底层宿主机资源台数时,所有虚机均可运行于不同的宿主机上面;当组内虚机总数大于底层宿主机资源台数时,超出宿主机台数的其他虚机可以选择弱反和亲性或者新建强反亲和组继续轮询部署于各台宿主机上。
传统云平台通过用户人工自行创建反亲和组设置相同功能虚机部署于不同物理宿主机,保障一台宿主机故障业务中断后,还有其他宿主机上该功能业务虚机正常运行。然而,通过实践调研,在按需自助服务的云平台上,较多用户对反亲和策略缺乏了解,另外,在批量创建虚机时,通常对网络、存储等资源更多关注,基本不会注意到高级配置中的反亲和策略。因此,通过观察验证,传统方案依然存在较多功能相同的虚机落在了同一宿主机上,加大了业务中断的风险;另外,用户自行创建大量的反亲和组,缺乏命名规范,对云平台运维管理造成一定难度。
发明内容
本发明所要解决的技术问题是提供一种基于余弦相似度的云平台反亲和调度系统,能够自动帮用户完成反亲和组规划创建,自动识别关联较强的虚机加入同一反亲和组,增强了云平台业务连续性,减少了云平台运维难度。
本发明解决其技术问题所采用的技术方案是:提供一种基于余弦相似度的云平台反亲和调度系统,包括:
数据采集模块,用于在用户发出虚机创建请求后,获取虚机ipv4地址、主机名和创建者ID;
智能调度模块,用于根据所述虚机ipv4地址、主机名和创建者ID、以及反亲和基准组元素关键字得出虚机向量,并借助余弦相似度计算所述虚机向量与各个反亲和组的基准向量的夹角余弦值,根据所述夹角余弦值确定加入或新建反亲和组,并发起相应请求;所述反亲和基准组元素关键字包括反亲和基准组的IP信息、反亲和基准组的主机名、反亲和基准组的创建者ID。
所述数据采集模块包括:
接收单元,用于接收用户发出虚机创建请求;
确认单元,用于确认用户是否设置反亲和策略;
获取单元,用于在用户没有设置反亲和策略时,获取虚机ipv4地址、主机名和创建者ID。
所述智能调度模块包括:
虚机向量计算单元,用于根据
Figure 917248DEST_PATH_IMAGE001
得到虚机向量,其中,
Figure 772071DEST_PATH_IMAGE002
表示虚机向量,
Figure 489492DEST_PATH_IMAGE003
表示虚机ipv4地址与反亲和基准组的IP信息比较后的相似分数,
Figure 320919DEST_PATH_IMAGE004
表示虚机主机名前N位字符与反亲和基准组的主机名前N位字符比较后得出的相似分数,
Figure 10658DEST_PATH_IMAGE005
表示虚机的创建者ID和反亲和基准组的创建者ID是否一致;
余弦相似度计算单元,用于使用虚机的主机名前M个字符查找出包含有所述M个字符的所有反亲和组,并分别根据余弦相似度公式计算所述虚机向量与每个反亲和组的基准向量的夹角余弦值;
比较单元,用于将得到的夹角余弦值与临界值进行比较;
加入单元,用于在得到的最大夹角余弦值大于所述临界值时,将所述虚机加入到最大余弦值对应的反亲和组;
新建单元,用于在得到的最大夹角余弦值小于或等于所述临界值时,将所述虚机独立新建一个反亲和组。
所述的基于余弦相似度的云平台反亲和调度系统,还包括判断单元,所述判断单元用于判断所述反亲和组的虚机总数加1后是否小于或等于该可用域宿主机总数,如果符合则所述加入单元将所述虚机加入到最大余弦值对应的反亲和组;否则所述将所述虚机独立新建一个反亲和组。
所述的基于余弦相似度的云平台反亲和调度系统还包括数据更新模块,所述数据更新模块包括:
新增更新单元,用于在所述虚机加入现有某个反亲和组时,更新所述反亲和组的虚机总数,并根据所述虚机的ipv4地址,比对确认IP最小值和IP最大值是否需要更新;在所述虚机自身新建一个反亲和组时,在库表中插入一条基准组对象的信息;
回收更新单元,用于在一台虚机下线时,若该虚机所在反亲和组有多台虚机,且该虚机不是该组的基准对象,则只更新所述反亲和组的虚机总数,并确认IP最小值和IP最大值是否需要更新;若该虚机是基准对象,则选择第二顺位的虚机信息更新基准主机名和创建者信息;若该虚机所在反亲和组仅其一台时,则在库表中删除该基准对象记录。
所述的基于余弦相似度的云平台反亲和调度系统还包括初始化调度模块,所述初始化调度模块用于在首次部署时,对存量未加入任何反亲和组的虚机进行首次智能调度分类,保证平台中的每一台虚机都有一个反亲和组别归属,增量新建的虚机每次创建时,若用户没有自行选择反亲和组,均会进行智能调度。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明自动调度,使云平台上每台虚机均归属到一个反亲和组,针对虚机属性进行相似建模,根据推荐算法中余弦相似度对虚机进行数据建模分析,将虚机划分至匹配度最高的最优反亲和组,更好的保障了业务的连续性。本发明对于存量未归属到任何反亲和组的虚机,在首次部署时进行全面建模调度,解决了云平台大量已创建虚机的高可用部署,避免同功能虚机运行于相同宿主机,大大降低了存量业务中断的风险。本发明基于原信创云平台新增了反亲和基准组对象表,便于对虚机建模分类,并及时更新、回收反亲和基准组对象。
附图说明
图1是本发明实施方式的整体架构图;
图2是本发明实施方式中智能调度模块的原理图;
图3是本发明实施方式的实现流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种基于余弦相似度的云平台反亲和调度系统,包括:数据采集模块,用于在用户发出虚机创建请求后,获取虚机ipv4地址、主机名和创建者ID;智能调度模块,用于根据所述虚机ipv4地址、主机名和创建者ID、以及反亲和基准组元素关键字得出虚机向量,并借助余弦相似度计算所述虚机向量与各个反亲和组的基准向量的夹角余弦值,根据所述夹角余弦值确定加入或新建反亲和组,并发起相应请求;其中,所述反亲和基准组元素关键字包括反亲和基准组的IP信息、反亲和基准组的主机名、反亲和基准组的创建者ID。
如图1所示,本实施方式可以应用于大型保险公司数据中心实际生产环境中,其在传统云平台虚机反亲和高可用实现基础上,新增基于余弦相似度算法的智能调度模块,通过收集虚机主机名、ipv4地址、创建者信息,并赋予不同权重,实现信创云平台虚机反亲和智能调度高可用功能。具体实施分为四大模块:
所述数据采集模块包括:接收单元,用于接收用户发出虚机创建请求;确认单元,用于确认用户是否设置反亲和策略;获取单元,用于在用户没有设置反亲和策略时,获取虚机ipv4地址、主机名和创建者ID。
该数据采集模块主要被新建虚机功能和初始化调度模块调用。当用户在云平台自助新建虚机时,如果勾选加入反亲和组并选中目标组,则根据传统方案直接调用反亲和策略新建模块;若用户没有设置反亲和策略,即后端接收到虚机创建请求中反亲和参数vmAntiAffinity = false时,则调用启动数据采集模块。该模块在用户发出虚机创建请求后,通过采集信创云平台前端传输到后端createServerDetail()函数,获取server.accessIPv4、server. name、server. user_id即虚机ipv4地址、主机名、创建者ID,并封装成对象传给智能调度模块。
智能调度模块包括:虚机向量计算单元,用于根据
Figure 833120DEST_PATH_IMAGE001
得到虚机向量,其中,
Figure 37837DEST_PATH_IMAGE002
表示虚机向量,
Figure 672955DEST_PATH_IMAGE003
表示虚机ipv4地址与反亲和基准组的IP信息比较后的相似分数,
Figure 279517DEST_PATH_IMAGE004
表示虚机主机名前8位字符与反亲和基准组的主机名前8位字符比较后得出的相似分数,
Figure 272881DEST_PATH_IMAGE005
表示虚机的创建者ID和反亲和基准组的创建者ID是否一致;余弦相似度计算单元,用于使用虚机的主机名前4个字符查找出包含有所述4个字符的所有反亲和组,并分别根据余弦相似度公式计算所述虚机向量与每个反亲和组的基准向量的夹角余弦值;比较单元,用于将得到的夹角余弦值与临界值进行比较;加入单元,用于在得到的最大夹角余弦值大于所述临界值时,将所述虚机加入到最大余弦值对应的反亲和组;新建单元,用于在得到的最大夹角余弦值小于或等于所述临界值时,将所述虚机独立新建一个反亲和组。
该智能调度模块:通过将收集到的虚机pv4地址、主机名、创建者ID和反亲和基准组元素关键字对比,得出虚机向量分数,借助推荐算法中余弦相似度计算虚机向量与基准向量的夹角余弦值,值越大则代表该虚机与当前基准组相似度越高,需要加入该反亲和组。如图2所示,具体原理如下:
1)反亲和基准组集合:本实施方式中一个反亲和组的基准组作为一个反亲和基准对象,所有反亲和基准对象存于数据库表anti_affinit_ datastandard中,每个反亲和基准对象(antiAffinitDatastandard)拥有四个属性,分别为:IP信息基准(networkStandard)、基准主机名(hostnameStandard)、创建者ID、该反亲和组内虚机数量(vmNums)。其中,IP信息基准格式为:网关_最小值_最大值|网关_最小值_最大值,多个不同网段用“|”连接,每个网段由网关信息、该反亲和组内所有IPv4地址主机位后8位十进制表示中的最小值(IPMin)、以及最大值(IPMax)组成。基准主机名定义为该反亲和组新建时第一台虚机主机名的前8个字符,这里前N个字符可以根据实际生产环境调整,本实施方式以前8个字符为例是通过所应用的数据中心环境命名规范实验评估得出一个临界值。
2)反亲和基准向量:本实施方式中,基准组向量表示为固定值,使用
Figure 902576DEST_PATH_IMAGE006
代表基准向量,其值为:
Figure 75806DEST_PATH_IMAGE007
(1)
其中,第一列为IP信息基准,第二列为主机名基准,第三列为创建者ID基准。其中主机名权重为IP地址、创建者ID 的1.5倍,其依据为通过实际生产环境大量调研,虚机主机名通常更能体现虚机的业务功能。
3)虚机三维行向量分数定义:虚机三维行向量使用
Figure 536875DEST_PATH_IMAGE002
代表,表示为:
Figure 966719DEST_PATH_IMAGE008
(2)
Figure 146028DEST_PATH_IMAGE003
代表虚机IP与基准IP信息比较后相似分数,设Num=虚机IPv4地址主机位后8位十进制表示,则其定义值如式3:
Figure 358834DEST_PATH_IMAGE009
(3)
Figure 438523DEST_PATH_IMAGE010
为虚机主机名前8位字符与基准主机名比较后得出的相似分数,主机名字符个数小于8位的则用主机名全部字符和当前的8位基准主机名对比,设Num代表从最左侧首字符开始虚机主机名和基准主机名连续一致的字符个数,则其定义值如公式4:
Figure 711373DEST_PATH_IMAGE011
(4)
最后,
Figure 377978DEST_PATH_IMAGE012
表示虚机创建者ID和基准创建者ID是否一致,其值定义如公式5:
Figure 830693DEST_PATH_IMAGE013
(5)
4)根据余弦相似度计算虚机的反亲和组:
根据数据采集模块收集到虚机IP地址、主机名、创建者ID,使用主机名前4个字符从反亲和表anti_affinit_ datastandard中模糊匹配包含该4个字符的所有反亲和基准对象,并分别根据余弦相似度公式6计算虚机与每个基准组的余弦值,余弦值越大,说明虚机与该反亲和基准对象越接近。本实施方式中,根据实际生产环境需求,定义余弦值0.8为临界值,其他生产环境可根据实际情况适当降低余弦临界值。
Figure 328671DEST_PATH_IMAGE014
(6)
若计算出来最大余弦值大于0.8,该虚机初步判定加入最大余弦值对应的反亲和组,否则虚机独立新建一个反亲和组。此外,为了保证同组反亲和资源均匀分布在不同宿主机上,智能调度模块进一步调用云平台计算资源Nova组件获取当前可用域宿主机总数,若当前反亲和组虚机总数vmNums加1之后小于或等于该可用域宿主机总数,则最终确认加入该反亲和组;否则虚机独立新建一个反亲和组。此处用A来代表计算出
Figure 38001DEST_PATH_IMAGE015
最大值的反亲和组,B代表新建一个反亲和组,N表示从库表中匹配出基准对象数量,H表示A反亲和组所在可用域宿主机总数,G代表该虚机最终所在反亲和组,G的定义如公式7:
Figure 926323DEST_PATH_IMAGE016
(7)
5)根据反亲和策略新建、在线迁移模块:
根据余弦相似度智能建模分析选出的反亲和组,继续调用云平台Nova组件获取该反亲和组内所有虚机列表详情,提取其宿主机主机名信息,并封装为IgnoreHostList。如果为新建虚机请求则封装至用户新建虚机Request请求Json中;如果是由初始化调度模块检测到存量未加入任何反亲和组的虚机,则发起在线迁移请求并将IgnoreHostList封装至在线迁移虚机Request请求Json中。
根据创建或者迁移不同需求调用Nova组件接口,接收到请求参数后,调用Nova-Scheduler 计算资源调度组件,Nova-Scheduler中的计算节点过滤模块ComputeFilter将IgnoreHostList中宿主机优先排除,再根据云平台芯片、资源剩余可用情况、可用域等其他Filter选择最优宿主机作为虚机新建或迁移的最终宿主机。
数据更新模块,主要是对本实施方式中新增库表anti_affinit_ datastandard的信息更新,主要包括新增更新和回收更新。
新增更新:根据余弦相似度智能调度模块最终对一台新建或者存量未加入反亲和组的虚机调度之后,如果虚机加入现有某个组别,则vmNums加1,并根据该虚机IP地址,比对确认IPMin、IPMax是否需要更新;若虚机自身新建一个反亲和组,则需要在表中插入一条基准组对象的信息。
回收更新:当一台虚机下线时,同样需要更新库表,若该虚机所在反亲和组有多台虚机时,且该虚机不是该组的基准对象,则只更新vmNums,并确认IPMin、IPMax是否需要更新即可;若该虚机是基准对象,则删除后,需选择第二顺位的虚机信息更新基准主机名、创建者等信息;若该虚机所在反亲和组仅其一台时,则需要在anti_affinit_ datastandard表中删除该基准对象记录。
初始化调度模块主要用于余弦相似度反亲和智能调度功能首次部署时,对存量未加入任何反亲和组虚机进行首次智能调度分类,保证平台每一台虚机都归属一个反亲和组别,增量新建的虚机每次创建时,若用户没有自行选择反亲和组,均会进行智能调度。
如图3所示,本实施方式通过以下具体步骤实现:
步骤S01:新增库表:在云平台组件数据库中进入Database Nova,新建数据库表anti_affinit_ datastandard,表结构如表1所示:
表1
Figure 808828DEST_PATH_IMAGE018
步骤S02:部署并运行初始化调度模块、数据采集模块、基于余弦相似度的智能调度模块、数据更新模块四个微服务JAR包。
步骤S03:初始化模块启动,获取云平台当前用户自建反亲和组列表。调用NovaAPI getOsServerGroups接口获取policies属性为anti-affinity的主机组ID列表。
步骤S04:初始化调度模块获取已有反亲和组列表详情。通过步骤S03中获取到的当前云平台用户自行创建的反亲和组列表ID,查询每个反亲和组详情,并获取第一台虚机的IP地址、hostname、创建者id、并对该组虚机个数统计。
步骤S05:初始化调度模块根据步骤S04中获取到每个反亲和组详情解析成对应的反亲和基准对象。例如反亲和组test中第一台虚机信息为:{ip:10.18.150.20/24hostname:antitestap01 createrID:1111},共3台虚机,其余两台IP地址为10.18.150.3/24、10.18.150.18/24。则根据以上信息生成一个反亲和基准对象antiAffinitDatastandard,其各个属性为:{ networkStandard: 10.18.150.254_3_20 hostnameStandard: antitestcreaterID:1111 vmNums:3 }。
步骤S06:初始化调度模块根据步骤S05生成的现有反亲和组基准对象更新库表anti_affinit_ datastandard数据。
步骤S07:初始化模块开始调取Nova listServersDetailed接口全局遍历获取未归属任何反亲和组的虚机并将其划入一个反亲和组。
每遍历到一台未归属任何反亲和组虚机时,调度数据采集模块获取虚机信息,例如虚机信息为:{ ip:10.18.150.31/24 hostname:antitestap04 createrID:1111},并将参数传给余弦相似度智能调度模块进行分析计算。例如当前通过基准主机名前四位从反亲和库表中匹配到四个组别,其信息如表2:
表2
Figure 98995DEST_PATH_IMAGE019
基准向量
Figure 477761DEST_PATH_IMAGE020
根据公式1为[1,1.5,1],虚机向量
Figure 853379DEST_PATH_IMAGE021
根据公式3、公式4、公式5、以及反亲和基准组1得到
Figure 211679DEST_PATH_IMAGE021
为[0.5,1.5,1],
Figure 19271DEST_PATH_IMAGE022
;反亲和基准组2的
Figure 381988DEST_PATH_IMAGE021
为[1,0.5,0],
Figure 244902DEST_PATH_IMAGE023
;反亲和基准组3的
Figure 406893DEST_PATH_IMAGE021
为[0,0.5,1],
Figure 904608DEST_PATH_IMAGE024
;反亲和基准组4的
Figure 64325DEST_PATH_IMAGE021
为[0,1.5,0],
Figure 414535DEST_PATH_IMAGE025
,则
Figure 878752DEST_PATH_IMAGE026
值最大。此外,反亲和组1中vmNums小于该可用域宿主机数量,综上,示例虚机归属反亲和组1。
步骤S08:根据步骤S07将一台存量未归属任何反亲和组的虚机确认其最优反亲和组后,反亲和策略在线迁移模块将虚机调度到最优宿主机上;
步骤S09: S08智能调度完毕后,调用数据更新模块更新anti_affinit_datastandard表信息;
步骤S10:继续步骤S07、S08、S09直至所有虚机均有归属反亲和组,云平台所有虚机均在高可用部署策略中,则初始化完毕;
步骤S11:当云平台接收到用户新增创建请求,若请求参数中未指定任何反亲和组,则创建请求将先调用基于余弦相似度的反亲和智能调度模块,从步骤S07进行数据采集并归类最优反亲和组,步骤S08反亲和策略新建虚机模块调用Nova-Scheduler组件,过滤后选择最优宿主机完成虚机创建,步骤S09更新数据信息。
不难发现,本发明可以实现自动调度,使云平台上每台虚机均归属到一个反亲和组,针对虚机属性进行相似建模,根据推荐算法中余弦相似度对虚机进行数据建模分析,将虚机划分至匹配度最高的最优反亲和组,更好的保障了业务的连续性。本发明对于存量未归属到任何反亲和组的虚机,在首次部署时进行全面建模调度,解决了云平台大量已创建虚机的高可用部署,避免同功能虚机运行于相同宿主机,大大降低了存量业务中断的风险。本发明基于原信创云平台新增了反亲和基准组对象表,便于对虚机建模分类,并及时更新、回收反亲和基准组对象。

Claims (5)

1.一种基于余弦相似度的云平台反亲和调度系统,其特征在于,包括:
数据采集模块,用于在用户发出虚机创建请求后,获取虚机ipv4地址、主机名和创建者ID;
智能调度模块,用于根据所述虚机ipv4地址、主机名和创建者ID、以及反亲和基准组元素关键字得出虚机向量,并借助余弦相似度计算所述虚机向量与各个反亲和组的基准向量的夹角余弦值,根据所述夹角余弦值确定加入或新建反亲和组,并发起相应请求;所述反亲和基准组元素关键字包括反亲和基准组的IP信息、反亲和基准组的主机名、反亲和基准组的创建者ID;所述智能调度模块包括:
虚机向量计算单元,用于根据
Figure 205898DEST_PATH_IMAGE001
得到虚机向量,其中,
Figure 309990DEST_PATH_IMAGE002
表示虚机向量,
Figure 276677DEST_PATH_IMAGE003
表示虚机ipv4地址与反亲和基准组的IP信息比较后的相似分数,
Figure 876415DEST_PATH_IMAGE004
表示虚机主机名前N位字符与反亲和基准组的主机名前N位字符比较后得出的相似分数,
Figure 2372DEST_PATH_IMAGE005
表示虚机的创建者ID和反亲和基准组的创建者ID是否一致;
余弦相似度计算单元,用于使用虚机的主机名前M个字符查找出包含有所述M个字符的所有反亲和组,并分别根据余弦相似度公式计算所述虚机向量与每个反亲和组的基准向量的夹角余弦值;
比较单元,用于将得到的夹角余弦值与临界值进行比较;
加入单元,用于在得到的最大夹角余弦值大于所述临界值时,将所述虚机加入到最大余弦值对应的反亲和组;
新建单元,用于在得到的最大夹角余弦值小于或等于所述临界值时,将所述虚机独立新建一个反亲和组。
2.根据权利要求1所述的基于余弦相似度的云平台反亲和调度系统,其特征在于,所述数据采集模块包括:
接收单元,用于接收用户发出虚机创建请求;
确认单元,用于确认用户是否设置反亲和策略;
获取单元,用于在用户没有设置反亲和策略时,获取虚机ipv4地址、主机名和创建者ID。
3.根据权利要求1所述的基于余弦相似度的云平台反亲和调度系统,其特征在于,还包括判断单元,所述判断单元用于判断所述反亲和组的虚机总数加1后是否小于或等于可用域宿主机总数,如果符合则所述加入单元将所述虚机加入到最大余弦值对应的反亲和组;否则所述将所述虚机独立新建一个反亲和组。
4.根据权利要求1所述的基于余弦相似度的云平台反亲和调度系统,其特征在于,还包括数据更新模块,所述数据更新模块包括:
新增更新单元,用于在所述虚机加入现有某个反亲和组时,更新所述反亲和组的虚机总数,并根据所述虚机的ipv4地址,比对确认IP最小值和IP最大值是否需要更新;在所述虚机自身新建一个反亲和组时,在库表中插入一条基准组对象的信息;
回收更新单元,用于在一台虚机下线时,若该虚机所在反亲和组有多台虚机,且该虚机不是该组的基准对象,则只更新所述反亲和组的虚机总数,并确认IP最小值和IP最大值是否需要更新;若该虚机是基准对象,则选择第二顺位的虚机信息更新基准主机名和创建者信息;若该虚机所在反亲和组仅其一台时,则在库表中删除该基准对象记录。
5.根据权利要求1所述的基于余弦相似度的云平台反亲和调度系统,其特征在于,还包括初始化调度模块,所述初始化调度模块用于在首次部署时,对存量未加入任何反亲和组的虚机进行首次智能调度分类,保证平台中的每一台虚机都有一个反亲和组别归属,增量新建的虚机每次创建时,若用户没有自行选择反亲和组,均会进行智能调度。
CN202211186491.4A 2022-09-28 2022-09-28 一种基于余弦相似度的云平台反亲和调度系统 Active CN115269126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211186491.4A CN115269126B (zh) 2022-09-28 2022-09-28 一种基于余弦相似度的云平台反亲和调度系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211186491.4A CN115269126B (zh) 2022-09-28 2022-09-28 一种基于余弦相似度的云平台反亲和调度系统

Publications (2)

Publication Number Publication Date
CN115269126A CN115269126A (zh) 2022-11-01
CN115269126B true CN115269126B (zh) 2022-12-27

Family

ID=83756392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211186491.4A Active CN115269126B (zh) 2022-09-28 2022-09-28 一种基于余弦相似度的云平台反亲和调度系统

Country Status (1)

Country Link
CN (1) CN115269126B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190688A (zh) * 2019-12-19 2020-05-22 西安交通大学 一种面向云数据中心的Docker迁移方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3110106B1 (en) * 2014-04-14 2019-11-06 Huawei Technologies Co., Ltd. Disaster recovery data center configuration method and apparatus in cloud computing architecture
US9600331B1 (en) * 2015-08-24 2017-03-21 International Business Machines Corporation Virtual machine placement in a cloud computing environment based on factors including optimized processor-memory affinity
US10999147B2 (en) * 2016-07-18 2021-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Allocating VNFC instances with anti affinity rule to hosts
CN108614726B (zh) * 2018-03-22 2022-06-10 华为云计算技术有限公司 虚拟机创建方法及装置
CN113448680A (zh) * 2020-03-25 2021-09-28 华为技术有限公司 价值模型的训练方法以及相关设备
US11366650B1 (en) * 2020-12-04 2022-06-21 International Business Machines Corporation Automatic generation of affinity and anti-affinity rules
CN113794581B (zh) * 2021-08-05 2023-11-07 新华三大数据技术有限公司 分布式cp统一部署方法及网络设备、存储介质
CN113918278A (zh) * 2021-09-22 2022-01-11 麒麟软件有限公司 一种虚拟机亲和组的管理方法
CN114048006A (zh) * 2021-11-29 2022-02-15 中国电信股份有限公司 虚拟机动态迁移方法、装置以及存储介质
CN114416277A (zh) * 2021-12-06 2022-04-29 天翼电子商务有限公司 一种基于numa架构的容器部署亲和性配置优化的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190688A (zh) * 2019-12-19 2020-05-22 西安交通大学 一种面向云数据中心的Docker迁移方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于用户个性化需求的虚拟机部署机制;彭红等;《软件产业与工程》;20130110(第01期);第37-41页 *

Also Published As

Publication number Publication date
CN115269126A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
CA2969755C (en) Type-to-type analysis for cloud computing technical components
CN110225039B (zh) 权限模型获取、鉴权方法、网关、服务器以及存储介质
CN110213290B (zh) 数据获取方法、api网关以及存储介质
CN112764920A (zh) 一种边缘应用部署方法、装置、设备和存储介质
CN111290712B (zh) 块设备创建方法、装置、云计算管理系统及存储介质
CN110851817A (zh) 一种终端类型识别方法及装置
CN116360954B (zh) 基于云边协同技术的工业物联网管控方法和管控系统
CN115269126B (zh) 一种基于余弦相似度的云平台反亲和调度系统
CN109167673B (zh) 一种融合异常Qos数据检测的新型云服务筛选方法
CN111309946A (zh) 一种已建立档案优化方法及装置
CN114564210A (zh) 一种副本部署方法、装置、系统、电子设备及存储介质
CN114416298A (zh) 服务器的节点匹配方法、装置、计算机设备及存储介质
CN110417777B (zh) 一种优化的微服务间通信的方法及装置
CN111311439A (zh) 基于网络订餐平台筛选订餐商铺的方法、系统及存储介质
CN115604000B (zh) 一种越权检测方法、装置、设备及存储介质
CN114697322B (zh) 一种基于云端业务处理的数据筛选方法
CN114679471B (zh) 一种基于云端业务处理的数据匹配方法
JP7326930B2 (ja) 探索プログラム、探索方法、および、情報処理装置
CN117176728A (zh) 基于云边协同技术的工业物联网调度方法及调度系统
CN112734466A (zh) 一种关联信息的处理方法、装置及存储介质
CN116483552A (zh) 一种副本数量的确定方法、装置、设备及存储介质
CN114257397A (zh) 基于复杂网络的策略冲突处理方法及装置
WO2016087640A1 (en) Type-to-type analysis for cloud computing technical components
CN116887428A (zh) 基于策略树的业务访问方法、装置、服务设备及存储介质
CN117376081A (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