CN115190010B - 基于软件服务依赖关系的分布推荐方法和装置 - Google Patents

基于软件服务依赖关系的分布推荐方法和装置 Download PDF

Info

Publication number
CN115190010B
CN115190010B CN202210775758.7A CN202210775758A CN115190010B CN 115190010 B CN115190010 B CN 115190010B CN 202210775758 A CN202210775758 A CN 202210775758A CN 115190010 B CN115190010 B CN 115190010B
Authority
CN
China
Prior art keywords
service
weight
deployed
resource
software
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
CN202210775758.7A
Other languages
English (en)
Other versions
CN115190010A (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.)
BEIJING YOYO TIANYU SYSTEM TECHNOLOGY CO LTD
Original Assignee
BEIJING YOYO TIANYU SYSTEM TECHNOLOGY 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 BEIJING YOYO TIANYU SYSTEM TECHNOLOGY CO LTD filed Critical BEIJING YOYO TIANYU SYSTEM TECHNOLOGY CO LTD
Priority to CN202210775758.7A priority Critical patent/CN115190010B/zh
Publication of CN115190010A publication Critical patent/CN115190010A/zh
Application granted granted Critical
Publication of CN115190010B publication Critical patent/CN115190010B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及服务部署技术领域,尤其是涉及基于软件服务依赖关系的分布推荐方法和装置,该方法包括获取待部署软件服务的定义文件;获取每个预部署主机的权重指标,权重指标包括网卡数量、可用存储空间、CPU核数量以及已部署软件服务数量;根据服务依赖关系信息和预存的集群服务信息表确定预部署主机对应于待部署软件服务的关系权重;根据服务依赖资源信息、服务依赖偏好权重信息以及权重指标,计算预部署主机对应于待部署软件服务的资源权重;确定资源权重与关系权重之积为最大值的预部署主机作为待部署软件服务的部署主机,本申请能够根据软件服务的依赖关系和资源使用情况自动计算来获得软件服务的分布部署方案。

Description

基于软件服务依赖关系的分布推荐方法和装置
技术领域
本申请涉及服务部署技术领域,尤其是涉及基于软件服务依赖关系的分布推荐方法和装置。
背景技术
随着信息化建设的发展,信息化平台部署的规模也愈发庞大。当企业需要增加新的服务时,通常需要运维人员对现有的服务器进行盘点,找到符合部署要求的服务器来完成软件服务的部署发布工作。
但是当软件服务之间存在复杂的依赖关系时,就需要运维人员对软件服务的依赖关系进行梳理,并按照依赖顺序逐个部署相应的服务组件,这种部署方式对运维或实施人员有很高的要求,且出错率较高,从而会影响软件服务运行的稳定性。
发明内容
为了能够根据软件服务的依赖关系和资源使用情况进行自动计算,以获得对软件服务的分布部署方案,本申请提出了基于软件服务依赖关系的分布推荐方法和装置。
在本申请的第一方面,提出了一种基于软件服务依赖关系的分布推荐方法,该方法包括:获取待部署软件服务的定义文件,所述定义文件包括所述待部署软件服务的服务名称、服务依赖关系信息、服务依赖资源信息以及服务依赖偏好权重信息;获取每个预部署主机的权重指标,所述权重指标包括网卡数量、可用存储空间、CPU核数量以及已部署软件服务数量,其中,所述可用存储空间包括可用磁盘存储空间和可用内存存储空间;根据所述服务依赖关系信息和预存的集群服务信息表确定所述预部署主机对应于所述待部署软件服务的关系权重,所述预存的集群服务信息表包括集群中已部署软件服务的服务名称、安装主机位置以及所述已部署软件服务之间的依赖关系;根据所述服务依赖资源信息、所述服务依赖偏好权重信息以及所述权重指标,计算所述预部署主机对应于所述待部署软件服务的资源权重;确定所述资源权重与所述关系权重之积为最大值的预部署主机作为所述待部署软件服务的部署主机。
通过采用上述技术方案,获取到需要进行部署的待部署软件服务的定义文件,根据定义文件可以了解到待部署软件服务的基本信息和其对部署的要求条件信息等,获取预部署主机的权重指标,根据权重指标可以了解到预部署主机的当前情况和状态,然后基于定义文件和权重指标可以确定出每个预部署主机对应于该待部署软件服务的关系权重和资源权重,然后确定出资源权重与关系权重之积为最大值的预部署主机,该预部署主机即该待部署软件服务进行部署条件最合适的主机,则可确定该预部署主机作为该待部署软件服务的部署主机。在对待部署软件服务进行部署时,通过本申请的分布推荐算法可以直接得到最为合适的部署主机,减少了人工工作量,有效提升了大规模集群的部署效率,也减少了因为人工问题导致的出错率。
优选地,若所述服务依赖关系信息为集群依赖,根据所述服务依赖关系信息和预存的集群服务关系表确定所述预部署主机对应于所述待部署软件服务的关系权重,包括:
根据所述预存的集群服务关系表确定集群中是否已安装所述待部署软件服务所依赖的服务组件;
若存在,则所有的预部署主机对应于所述待部署软件服务的关系权重为一;
若不存在,则所有的预部署主机对应于所述待部署软件服务的关系权重为零。
优选地,若所述服务依赖关系信息为本地依赖,根据所述服务依赖关系信息和预存的集群服务关系表确定所述预部署主机对应于所述待部署软件服务的关系权重,包括:
根据所述预存的集群服务关系表判断所述预部署主机是否安装有所述待部署软件服务所依赖的服务组件;
若是,则确定所述预部署主机对应于所述待部署软件服务的关系权重为一;
若否,则确定所述预部署主机对应于所述待部署软件服务的关系权重为零。
优选地,根据所述服务依赖资源信息、所述服务依赖偏好权重信息以及所述权重指标,计算所述预部署主机对应于所述待部署软件服务的资源权重,包括:
根据所述服务依赖资源信息和所述权重指标之间的比较结果,确定所述资源权重是否为零;若不为零,则根据所述服务依赖偏好权重信息和所述权重指标计算所述预部署主机对应于所述待部署软件服务的资源权重。
优选地,所述服务依赖资源信息包括所述待部署软件服务所需要的最小网卡数量、最小磁盘存储空间、最小内存存储空间以及最小CPU核数量,根据所述服务依赖资源信息和所述权重指标之间的比较结果,确定所述资源权重是否为零,包括:
判断所述网卡数量是否小于所述服务依赖资源信息中的最小网卡数量、所述可用磁盘存储空间是否小于所述服务依赖资源信息中的最小磁盘存储空间、所述可用内存存储空间是否小于所述服务依赖资源信息中的最小内存存储空间和/或所述CPU核数量是否小于所述服务依赖资源信息中的最小CPU核数量;
若是,则确定所述资源权重为零。
优选地,所述服务依赖偏好权重信息包括所述待部署软件服务的网卡资源偏好权重、磁盘资源偏好权重、内存资源偏好权重以及CPU资源偏好权重,根据所述服务依赖偏好权重信息和所述权重指标计算所述预部署主机对应于所述待部署软件服务的资源权重,是通过以下公式进行计算的:
Figure BDA0003727010110000031
其中,所述REn表示第n个预部署主机对应于所述待部署软件服务的资源权重;
所述N表示当前预部署主机的网卡数量在所有预部署主机的网卡总数中的占比;
所述N1表示所述待部署软件服务的网卡资源偏好权重;
所述D表示当前预部署主机的可用磁盘存储空间在所有预部署主机的可用磁盘存储总空间中的占比;
所述D1表示所述待部署软件服务的磁盘资源偏好权重;
所述M表示当前预部署主机的可用内存存储空间在所有预部署主机的可用内存存储总空间中的占比;
所述M1表示所述待部署软件服务的内存资源偏好权重;
所述C表示当前预部署主机的CPU核数量在所有预部署主机的CPU总核数量中的占比;
所述C1表示所述待部署软件服务的CPU资源偏好权重;
所述Ln表示当前预部署主机已部署软件服务数量与已分配软件服务数量之和。
在本申请的第二方面,提出了一种基于软件服务依赖关系的分布推荐装置,该装置包括:
第一获取模块,用于获取待部署软件服务的定义文件,所述定义文件包括所述待部署软件服务的服务名称、服务依赖关系信息、服务依赖资源信息以及服务依赖偏好权重信息;
第二获取模块,用于获取每个预部署主机的权重指标,所述权重指标包括网卡数量、可用存储空间、CPU核数量以及已部署软件服务数量;
关系权重确定模块,用于根据所述服务依赖关系信息和预存的集群服务信息表确定所述预部署主机对应于所述待部署软件服务的关系权重,所述预存的集群服务信息表包括集群中已部署软件服务的服务名称、安装主机位置以及所述已部署软件服务之间依赖关系;
资源权重确定模块,用于根据所述服务依赖资源信息、所述服务依赖偏好权重信息以及所述权重指标,计算所述预部署主机对应于所述待部署软件服务的资源权重;
确定推荐模块,用于确定所述资源权重与所述关系权重之积为最大值的预部署主机作为所述待部署软件服务的部署主机。
优选地,所述资源权重确定模块具体用于:
根据所述服务依赖资源信息和所述权重指标之间的比较结果,确定所述资源权重是否为零;若不为零,则根据所述服务依赖偏好权重信息和所述权重指标计算所述预部署主机对应于所述待部署软件服务的资源权重。
在本申请的第三方面,提出了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现本申请第一方面中任一项所述的方法。
在本申请的第四方面,提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如本申请第一方面中任一项所述的方法。
附图说明
结合附图并参考以下详细说明,本申请各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1示出了本申请实施例的一种电子设备的结构图。
图2示出了本申请实施例中基于软件服务依赖关系的分布推荐方法的流程图。
图3示出了本申请实施例中基于软件服务依赖关系的分布推荐装置的原理框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着信息化建设的发展,信息化平台部署的规模也愈发庞大,在企业需要增加一个新的自研应用或采购的产品时,通常应用提供方会提供软件服务安装包以及关于自身软件服务的部署说明书,而运维人员需要对现有的服务器资源进行盘点,在资源列表中,找到符合部署要求的服务器,然后通过监控软件或登录到服务器,查询服务器上的剩余资源是否满足部署要求,从而完成软件服务的部署发布工作。
但是当软件服务之间存在复杂依赖关系时,运维实施人员需要对软件服务的依赖关系进行梳理,并按照依赖顺序逐个部署相应的服务组件,但是在大规模集群环境的软件服务部署过程中,这种方式会耗费大量的时间和精力,而且对运维或实施人员有极高的要求,通过人工的方式梳理服务依赖关系、计算物理资源,稍有差错,将会极大的降低软件服务性能,甚至影响软件服务运行的稳定性,故本申请为解决此问题,提出了基于软件服务依赖关系的分布推荐方法和装置。
接下来对本申请实施例所涉及的系统架构进行介绍。需要说明的是,本申请实施例描述的系统架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
图1示出了本申请实施例的一种电子设备的结构图。
参见图1,电子设备100包括处理器101和存储器103。其中,处理器101和存储器103相连,如通过总线102相连。可选地,电子设备100还可以包括收发器104。需要说明的是,实际应用中收发器104不限于一个,该电子设备100的结构并不构成对本申请实施例的限定。
处理器101可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器101也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线102可包括一通路,在上述组件之间传送信息。总线102可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线102可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器103可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器103用于存储执行本申请方案的应用程序代码,并由处理器101来控制执行。处理器101用于执行存储器103中存储的应用程序代码,以实现基于软件服务依赖关系的分布推荐方法。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。需要说明的是,图1示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
图2所示为本申请实施例中基于软件服务依赖关系的分布推荐方法的流程图,如图2所示,该方法包括:
步骤S201,获取待部署软件服务的定义文件,定义文件包括待部署软件服务的服务名称、服务依赖关系信息、服务依赖资源信息以及服务依赖偏好权重信息。
在本申请实施例中,对于每个待部署软件服务都预先设置有相对应的定义文件,在定义文件中包括有待部署软件服务的服务名称、服务依赖关系信息、服务依赖资源信息以及服务依赖偏好权重信息,其中,服务名称是待部署软件服务在集群中的名字,要求在集群中是唯一的;服务依赖关系信息包括服务名称和依赖方式两部分信息,通过服务名称可关联待部署软件服务运行所依赖的其他服务,通过依赖方式描述当前待部署软件服务是本地依赖还是集群依赖;服务依赖资源信息包括待部署软件服务进行部署时对部署主机所要求的最小网卡数量、最小磁盘存储空间、最小内存存储空间以及最小CPU核数量;服务依赖偏好权重信息描述的是待部署软件服务对主机物理资源对偏好权重,分别是网卡资源偏好权重、磁盘资源偏好权重、内存资源偏好权重以及CPU资源偏好权重,这些权重值都是人为进行设置的,在一些可实现的方式中,设置这些权重值时,取值范围可以为零至十之间的整数,零表示待部署软件服务对此资源没有要求,权重值越高表示对该项资源的偏好程度最高。
每个待部署软件服务的定义文件的信息会被预先存储在相应的数据库中,在一些可实现的方式中,集群中所有的软件服务的定义文件的信息会被存储在关系型数据库中,即将定义文件中的信息进行解析,分析出与其他软件服务之间的依赖关系,再与其他软件服务之间生成依赖关系链,再进行存储。
在本申请实施例中,可以在管理平台展示出服务仓库中可以进行部署的待部署软件服务列表,工作人员进行选择本次需要进行部署的待部署软件服务,可以单个进行部署,也可多选和一次性选中要部署的全部待部署软件服务,工作人员确定好本次需要进行部署的待部署软件服务后,服务器根据被选中的待部署软件服务名称在数据库中调取其对应的定义文件。
步骤S202,获取每个预部署主机的权重指标,权重指标包括网卡数量、可用存储空间、CPU核数量以及已部署软件服务数量,其中,所述可用存储空间包括可用磁盘存储空间和可用内存存储空间。
在步骤S202中,首先会获取到由工作人员确定出的本次部署工程中的主机范围,即本申请实施例中的预部署主机,在一种可实现的方式中,管理平台所在的主机可与集群的其他主机建立连接,打通软件服务发布时的传输通道,扫描并采集集群中其他主机的资源信息,即本申请实施例中的权重指标,管理平台可展示完成扫描后的主机列表,由工作人员在列表中选则本次部署的主机范围,即预部署主机,以下都称为预部署主机。
确定了本次部署的预部署主机后,服务器根据扫描采集结果,获取所有预部署主机的权重指标,包括网卡数量、可用存储空间、CPU核数量以及已部署软件服务数量,其中,权重指标中的可用存储空间包括可用磁盘存储空间和可用内存存储空间,需要说明的是,预部署主机的可用内存存储空间随着服务中任务的运行,其可用空间会有较大的波动,故在本申请中,对于可用内存存储空间,采集的是预部署主机近一周的可用内存,通过计算近一周可用内存的平均值作为该预部署主机的可用内存存储空间,若采样数据不足一周,则按实际天数计算平均值。
步骤S203,根据服务依赖关系信息和预存的集群服务信息表确定预部署主机对应于待部署软件服务的关系权重,预存的集群服务信息表包括集群中已部署软件服务的服务名称、安装主机位置以及已部署软件服务之间的依赖关系。
在本申请实施例中,预存的集群服务信息表包括集群中已部署软件服务的服务名称、安装主机位置以及已部署软件服务之间的依赖关系,通过预存的集群服务信息可以确定出在集群中已部署软件服务的一些基本信息。
本申请实施例中服务依赖关系信息包括有集群依赖和本地依赖,集群依赖是在集群中已部署软件服务中存在待部署软件服务所依赖的服务组件,则集群中所有主机只要在物理资源上满足条件,就可用于部署待部署软件服务;本地依赖是指待部署软件服务只能部署在安装有其所依赖的软件组件的主机上。
在一些申请实施例中,若服务依赖关系信息为集群依赖,根据服务依赖关系信息和预存的集群服务关系表确定预部署主机对应于待部署软件服务的关系权重,包括:根据预存的集群服务关系表确定集群中是否已安装待部署软件服务所依赖的服务组件;若存在,则所有的预部署主机对应于待部署软件服务的关系权重为一;若不存在,则所有的预部署主机对应于待部署软件服务的关系权重为零。
在另一些申请实施例中,若服务依赖关系信息为本地依赖,根据服务依赖关系信息和预存的集群服务关系表确定预部署主机对应于待部署软件服务的关系权重,包括:根据预存的集群服务关系表判断预部署主机是否安装有待部署软件服务所依赖的服务组件;若是,则确定预部署主机对应于待部署软件服务的关系权重为一;若否,则确定预部署主机对应于待部署软件服务的关系权重为零。
在获取到待部署软件服务的定义文件后,根据定义文件中的服务依赖关系信息确定该待部署软件服务是集群依赖还是本地依赖,确定后再根据上述过程,可以确定出预部署主机对应于该待部署软件服务的关系权重。
步骤S204,根据服务依赖资源信息、服务依赖偏好权重信息以及权重指标,计算预部署主机对应于待部署软件服务的资源权重。
在一些申请实施例中,根据服务依赖资源信息和权重指标之间的比较结果,确定资源权重是否为零;若不为零,则根据服务依赖偏好权重信息和权重指标计算预部署主机对应于待部署软件服务的资源权重。
具体的,服务依赖资源信息包括待部署软件服务所需要的最小网卡数量、最小磁盘存储空间、最小内存存储空间以及最小CPU核数量,权重指标中的可用存储空间包括可用磁盘存储空间和可用内存存储空间,服务依赖资源信息和权重指标之间的比较包括以下内容的比较:判断网卡数量是否小于服务依赖资源信息中的最小网卡数量、可用磁盘存储空间是否小于服务依赖资源信息中的最小磁盘存储空间、可用内存存储空间是否小于服务依赖资源信息中的最小内存存储空间和/或CPU核数量是否小于所述服务依赖资源信息中的最小CPU核数量。
这里的网卡数量、可用磁盘存储空间、可用内存存储空间以及CPU核数量均为预部署主机的权重指标中的信息,若其中一项不满足待部署软件服务的要求,则可确定该预部署主机是不符合待部署软件服务的部署要求的,即若有一项指标是小于待部署软件服务的服务依赖资源信息中对应指标的,则可确定该预部署主机对应与待部署软件服务的资源权重为零。
若上述服务依赖资源信息和权重指标之间的比较之后,预部署主机的权重指标中没有任何一项指标是小于待部署软件服务的服务依赖资源信息中对应指标的,则该预部署主机对应于待部署软件服务的资源权重不为零,此时资源权重的值则需根据服务依赖偏好权重信息和权重指标来进行计算,其计算过程如下:
Figure BDA0003727010110000091
其中,REn表示第n个预部署主机对应于待部署软件服务的资源权重;
N表示当前预部署主机的网卡数量在所有预部署主机的网卡总数中的占比;
N1表示待部署软件服务的网卡资源偏好权重;
D表示当前预部署主机的可用磁盘存储空间在所有预部署主机的可用磁盘存储总空间中的占比;
D1表示待部署软件服务的磁盘资源偏好权重;
M表示当前预部署主机的可用内存存储空间在所有预部署主机的可用内存存储总空间中的占比;
M1表示待部署软件服务的内存资源偏好权重;
C表示当前预部署主机的CPU核数量在所有预部署主机的CPU总核数量中的占比;
C1表示待部署软件服务的CPU资源偏好权重;
Ln表示当前预部署主机已部署软件服务数量与已分配软件服务数量之和。
上述N、D、M以及C均是基于预部署主机的权重指标的信息来进行计算的。
通过上述步骤S203和步骤S204的过程,便可得出每个预部署主机对应于待部署软件服务的关系权重和资源权重,基于这两个权重值便可进行最终的分布推荐确认工作。
步骤S205,确定资源权重与关系权重之积为最大值的预部署主机作为待部署软件服务的部署主机。
分别将每个预部署主机对应于待部署软件服务的关系权重和资源权重相乘得到预部署主机对应于待部署软件服务的评分S,S=RE*DE,RE表示资源权重,DE表示关系权重,当评分S大于零时,表示该S对应的预部署主机可以用于部署待部署软件服务。在本申请实施例中,取评分S最高的预部署主机作为待部署软件服务的部署主机,即待部署软件服务的最优部署主机。
通过以上过程,便可自动解决待部署软件服务的依赖关系,根据集群中主机的可用资源,自动为待部署软件服务匹配符合部署要求的主机,从而得到待部署软件服务的分布推荐方案,工作人员基于此分布推荐方案便可为待部署软件服务进行部署,这种方式一方面有效提升了大规模集群的部署效率,也减少了部署后因资源不匹配导致的无法运行的问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
图3所示是本申请实施例中基于软件服务依赖关系的分布推荐装置的原理框图,如图3所示,该装置包括:
第一获取模块301,用于获取需要进行部署的软件服务的定义文件,所述定义文件包括所述软件服务的服务名称、服务依赖关系信息、服务依赖资源信息以及服务依赖偏好权重信息;第二获取模块302,用于获取每个预部署主机的权重指标,所述权重指标包括网卡数量、可用存储空间、CPU核数量以及已部署软件服务数量,其中,所述可用存储空间包括可用磁盘存储空间和可用内存存储空间;
关系权重确定模块303,用于根据所述服务依赖关系信息和预存的集群服务信息表确定所述预部署主机对应于所述软件服务的关系权重,所述预存的集群服务信息表包括集群中已安装的软件服务的服务名称、安装主机位置以及与其他已安装的软件服务之间依赖关系;
资源权重确定模块304,用于根据所述服务依赖资源信息、所述服务依赖偏好权重信息以及所述权重指标,计算所述预部署主机对应于所述软件服务的资源权重;
确定推荐模块305,用于确定所述资源权重与所述关系权重之积为最大值的预部署主机作为所述软件服务的部署主机。
在一些申请实施例中,资源权重确定模块具体用于:
根据所述服务依赖资源信息和所述权重指标的判断,确定所述资源权重是否为零;
若不为零,则根据所述服务依赖偏好权重信息和所述权重指标计算所述预部署主机对应于所述软件服务的资源权重。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (5)

1.一种基于软件服务依赖关系的分布推荐方法,其特征在于,包括:
获取待部署软件服务的定义文件,所述定义文件包括所述待部署软件服务的服务名称、服务依赖关系信息、服务依赖资源信息以及服务依赖偏好权重信息;
获取每个预部署主机的权重指标,所述权重指标包括网卡数量、可用存储空间、CPU核数量以及已部署软件服务数量,其中,所述可用存储空间包括可用磁盘存储空间和可用内存存储空间;
根据所述服务依赖关系信息和预存的集群服务信息表确定所述预部署主机对应于所述待部署软件服务的关系权重,所述预存的集群服务信息表包括集群中已部署软件服务的服务名称、安装主机位置以及所述已部署软件服务之间的依赖关系;
根据所述服务依赖资源信息、所述服务依赖偏好权重信息以及所述权重指标,计算所述预部署主机对应于所述待部署软件服务的资源权重;
确定所述资源权重与所述关系权重之积为最大值的预部署主机作为所述待部署软件服务的部署主机;
其中,若所述服务依赖关系信息为集群依赖,
相应地,根据所述服务依赖关系信息和预存的集群服务关系表确定所述预部署主机对应于所述待部署软件服务的关系权重,包括:
根据所述预存的集群服务关系表确定集群中是否已安装所述待部署软件服务所依赖的服务组件;
若存在,则所有的预部署主机对应于所述待部署软件服务的关系权重为一;
若不存在,则所有的预部署主机对应于所述待部署软件服务的关系权重为零;
其中,根据所述服务依赖资源信息、所述服务依赖偏好权重信息以及所述权重指标,计算所述预部署主机对应于所述待部署软件服务的资源权重,包括:
根据所述服务依赖资源信息和所述权重指标之间的比较结果,确定所述资源权重是否为零;
若不为零,则根据所述服务依赖偏好权重信息和所述权重指标计算所述预部署主机对应于所述待部署软件服务的资源权重;
其中,所述服务依赖资源信息包括所述待部署软件服务所需要的最小网卡数量、最小磁盘存储空间、最小内存存储空间以及最小CPU核数量,
相应地,根据所述服务依赖资源信息和所述权重指标之间的比较结果,确定所述资源权重是否为零,包括:
判断所述网卡数量是否小于所述服务依赖资源信息中的最小网卡数量、所述可用磁盘存储空间是否小于所述服务依赖资源信息中的最小磁盘存储空间、所述可用内存存储空间是否小于所述服务依赖资源信息中的最小内存存储空间和/或所述CPU核数量是否小于所述服务依赖资源信息中的最小CPU核数量;
若是,则确定所述资源权重为零;
其中,所述服务依赖偏好权重信息包括所述待部署软件服务的网卡资源偏好权重、磁盘资源偏好权重、内存资源偏好权重以及CPU资源偏好权重,
相应地,根据所述服务依赖偏好权重信息和所述权重指标计算所述预部署主机对应于所述待部署软件服务的资源权重,是通过以下公式进行计算的:
其中,所述REn表示第n个预部署主机对应于所述待部署软件服务的资源权重;
所述N表示当前预部署主机的网卡数量在所有预部署主机的网卡总数中的占比;
所述N1表示所述待部署软件服务的网卡资源偏好权重;
所述D表示当前预部署主机的可用磁盘存储空间在所有预部署主机的可用磁盘存储总空间中的占比;
所述D1表示所述待部署软件服务的磁盘资源偏好权重;
所述M表示当前预部署主机的可用内存存储空间在所有预部署主机的可用内存存储总空间中的占比;
所述M1表示所述待部署软件服务的内存资源偏好权重;
所述C表示当前预部署主机的CPU核数量在所有预部署主机的CPU总核数量中的占比;
所述C1表示所述待部署软件服务的CPU资源偏好权重;
所述Ln表示当前预部署主机已部署软件服务数量与已分配软件服务数量之和。
2.根据权利要求1所述的基于软件服务依赖关系的分布推荐方法,其特征在于,若所述服务依赖关系信息为本地依赖,根据所述服务依赖关系信息和预存的集群服务关系表确定所述预部署主机对应于所述待部署软件服务的关系权重,包括:
根据所述预存的集群服务关系表判断所述预部署主机是否安装有所述待部署软件服务所依赖的服务组件;
若是,则确定所述预部署主机对应于所述待部署软件服务的关系权重为一;
若否,则确定所述预部署主机对应于所述待部署软件服务的关系权重为零。
3.一种基于软件服务依赖关系的分布推荐装置,其特征在于,包括:
第一获取模块,用于获取待部署软件服务的定义文件,所述定义文件包括所述待部署软件服务的服务名称、服务依赖关系信息、服务依赖资源信息以及服务依赖偏好权重信息;
第二获取模块,用于获取每个预部署主机的权重指标,所述权重指标包括网卡数量、可用存储空间、CPU核数量以及已部署软件服务数量,其中,所述可用存储空间包括可用磁盘存储空间和可用内存存储空间;
关系权重确定模块,用于根据所述服务依赖关系信息和预存的集群服务信息表确定所述预部署主机对应于所述待部署软件服务的关系权重,所述预存的集群服务信息表包括集群中已部署软件服务的服务名称、安装主机位置以及所述已部署软件服务之间的依赖关系;
资源权重确定模块,用于根据所述服务依赖资源信息、所述服务依赖偏好权重信息以及所述权重指标,计算所述预部署主机对应于所述待部署软件服务的资源权重;
确定推荐模块,用于确定所述资源权重与所述关系权重之积为最大值的预部署主机作为所述待部署软件服务的部署主机;
其中,若所述服务依赖关系信息为集群依赖,
相应地,关系权重确定模块具体用于:
根据所述预存的集群服务关系表确定集群中是否已安装所述待部署软件服务所依赖的服务组件;
若存在,则所有的预部署主机对应于所述待部署软件服务的关系权重为一;
若不存在,则所有的预部署主机对应于所述待部署软件服务的关系权重为零;
其中,资源权重确定模块具体用于:
根据所述服务依赖资源信息和所述权重指标之间的比较结果,确定所述资源权重是否为零;
若不为零,则根据所述服务依赖偏好权重信息和所述权重指标计算所述预部署主机对应于所述待部署软件服务的资源权重;
其中,所述服务依赖资源信息包括所述待部署软件服务所需要的最小网卡数量、最小磁盘存储空间、最小内存存储空间以及最小CPU核数量,
相应地,资源权重确定模块具体还用于:
判断所述网卡数量是否小于所述服务依赖资源信息中的最小网卡数量、所述可用磁盘存储空间是否小于所述服务依赖资源信息中的最小磁盘存储空间、所述可用内存存储空间是否小于所述服务依赖资源信息中的最小内存存储空间和/或所述CPU核数量是否小于所述服务依赖资源信息中的最小CPU核数量;
若是,则确定所述资源权重为零;
其中,所述服务依赖偏好权重信息包括所述待部署软件服务的网卡资源偏好权重、磁盘资源偏好权重、内存资源偏好权重以及CPU资源偏好权重,
相应地,资源权重确定模块具体还用于通过如下公式计算所述预部署主机对应于所述待部署软件服务的资源权重REn
其中,所述REn表示第n个预部署主机对应于所述待部署软件服务的资源权重;
所述N表示当前预部署主机的网卡数量在所有预部署主机的网卡总数中的占比;
所述N1表示所述待部署软件服务的网卡资源偏好权重;
所述D表示当前预部署主机的可用磁盘存储空间在所有预部署主机的可用磁盘存储总空间中的占比;
所述D1表示所述待部署软件服务的磁盘资源偏好权重;
所述M表示当前预部署主机的可用内存存储空间在所有预部署主机的可用内存存储总空间中的占比;
所述M1表示所述待部署软件服务的内存资源偏好权重;
所述C表示当前预部署主机的CPU核数量在所有预部署主机的CPU总核数量中的占比;
所述C1表示所述待部署软件服务的CPU资源偏好权重;
所述Ln表示当前预部署主机已部署软件服务数量与已分配软件服务数量之和。
4.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1或2所述的方法。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1或2所述的方法。
CN202210775758.7A 2022-07-01 2022-07-01 基于软件服务依赖关系的分布推荐方法和装置 Active CN115190010B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210775758.7A CN115190010B (zh) 2022-07-01 2022-07-01 基于软件服务依赖关系的分布推荐方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210775758.7A CN115190010B (zh) 2022-07-01 2022-07-01 基于软件服务依赖关系的分布推荐方法和装置

Publications (2)

Publication Number Publication Date
CN115190010A CN115190010A (zh) 2022-10-14
CN115190010B true CN115190010B (zh) 2023-04-07

Family

ID=83516235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210775758.7A Active CN115190010B (zh) 2022-07-01 2022-07-01 基于软件服务依赖关系的分布推荐方法和装置

Country Status (1)

Country Link
CN (1) CN115190010B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117289951B (zh) * 2023-11-22 2024-04-02 华信咨询设计研究院有限公司 一种基于递归原则的软件系统多应用自动部署方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765983A (zh) * 2021-01-04 2021-12-07 北京沃东天骏信息技术有限公司 一种站点服务的部署方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003098490A1 (en) * 2002-05-16 2003-11-27 Agency For Science, Technology And Research A computing system deployment planning method
US20070294364A1 (en) * 2006-06-15 2007-12-20 International Business Machines Corporation Management of composite software services
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署系统及部署方法
CN108134848B (zh) * 2018-02-07 2020-08-04 北京航空航天大学 一种基于图论k-分割的soa系统资源优化方法
US10853046B2 (en) * 2018-12-13 2020-12-01 Salesforce.Com, Inc. Deployment of software applications on server clusters
CN111596927B (zh) * 2020-05-15 2023-08-18 北京金山云网络技术有限公司 服务部署方法、装置及电子设备
CN111752723B (zh) * 2020-06-06 2021-05-04 中国科学院电子学研究所苏州研究院 一种可视化的多源服务管理系统及其实现方法
CN112783649B (zh) * 2021-01-19 2024-03-01 江苏博云科技股份有限公司 一种面向云计算的交互感知的容器化微服务资源调度方法
CN113504972A (zh) * 2021-07-26 2021-10-15 京东科技控股股份有限公司 一种服务部署方法及装置、电子设备和存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765983A (zh) * 2021-01-04 2021-12-07 北京沃东天骏信息技术有限公司 一种站点服务的部署方法和装置

Also Published As

Publication number Publication date
CN115190010A (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
CN107798108B (zh) 一种异步任务查询方法及设备
US7996570B1 (en) Usage of keyboard driver in extensible firmware interface for adding new hot keys at firmware level
US20190245756A1 (en) Performance adjustment method, apparatus for peformance adjustment, and non-transitory computer-readable storage medium for storing program
CN111817974A (zh) 基于令牌桶的接口限流方法、装置、系统及可读存储介质
CN112395322B (zh) 一种基于分级缓存的列表数据显示方法、装置及终端设备
CN111885184A (zh) 高并发场景下热点访问关键字处理方法和装置
CN115190010B (zh) 基于软件服务依赖关系的分布推荐方法和装置
CN111562884B (zh) 一种数据存储方法、装置及电子设备
CN117216758B (zh) 应用安全检测系统及方法
CN109194703B (zh) 云平台主机间通信负载的处理方法、电子装置及介质
CN113282541B (zh) 文件调用方法、装置和电子设备
CN116126719A (zh) 接口测试方法、装置、电子设备及存储介质
CN116225690A (zh) 基于docker的内存多维数据库计算负载均衡方法及系统
CN115168509A (zh) 风控数据的处理方法及装置、存储介质、计算机设备
CN111694835B (zh) 物流电子面单的号段存取方法及系统、设备及存储介质
CN113467892A (zh) 分布式集群资源配置方法及其相应的装置、设备、介质
CN113220573A (zh) 用于微服务架构的测试方法、装置和电子设备
CN113010310A (zh) 作业数据的处理方法、装置和服务器
CN108509478B (zh) 规则引擎文件的拆分调用方法、电子装置及存储介质
CN116629980B (zh) 软件工程的计价方法、终端设备和存储介质
CN112148491B (zh) 数据处理方法及装置
CN117313856B (zh) 一种可靠性测试规划系统及方法
CN111882310B (zh) 一种数据对比方法、装置、设备及计算机可读存储介质
CN113282624A (zh) 规则匹配方法、装置、电子设备及存储介质
CN117130979A (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