一种多服务的部署方法、装置、电子设备及存储介质与流程

    专利查询2024-06-22  33



    1.本公开涉及云计算技术领域,尤其涉及云计算服务交付领域。


    背景技术:

    2.目前在云计算环境中部署多服务时,都是基于应用进行部署的。如果多服务对应多个应用时,则需要逐一部署每个应用,而无法实现一次性批量部署多个应用的多个服务。


    技术实现要素:

    3.本公开提供了一种多服务的部署方法、装置、设备以及存储介质。
    4.根据本公开的一方面,提供了一种多服务的部署方法,包括:获取交付环境信息和待部署的至少两个服务,交付环境信息包括系统结构和网络类型;根据交付环境信息搭建模拟的第一交付环境;在第一交付环境中部署至少两个服务;对部署在第一交付环境中至少两个服务的相关资源,执行打包操作,得到服务部署包;根据服务部署包,在实际的第二交付环境中部署至少两个服务。
    5.根据本公开的另一方面,提供了一种多服务的部署装置,包括:部署信息获取模块,用于获取交付环境信息和待部署的至少两个服务,交付环境信息包括系统结构和网络类型;第一交付环境搭建模块,用于根据交付环境信息搭建模拟的第一交付环境;第一部署模块,用于在第一交付环境中部署至少两个服务;部署包打包模块,用于对部署在第一交付环境中至少两个服务的相关资源,执行打包操作,得到服务部署包;第二部署模块,用于根据服务部署包,在实际的第二交付环境中部署至少两个服务。
    6.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一项多服务的部署方法。
    7.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述任一项多服务的部署方法。
    8.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述任一项多服务的部署方法。
    9.本公开提供了一种多服务的部署方法、装置、设备及存储介质。该方法包括:首先,根据交付环境信息搭建接近实际的交付环境的模拟的交付环境,并在模拟的交付环境中部署多服务;之后,将模拟的交付环境中与多服务相关的各种资源打包,得到服务部署包;然后,将服务部署包导入到实际的交付环境,进行解包和微调,以实现多服务在的一键部署。如此,大幅缩减了在交付环境中部署多服务的时间,进而提高了多服务的部署效率和客户满意度。
    10.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
    附图说明
    11.附图用于更好地理解本方案,不构成对本公开的限定。其中:
    12.图1是本公开第一实施例实现多服务的部署方法的流程示意图;
    13.图2是本公开第二实施例实现多服务的部署方法的流程示意图;
    14.图3是本公开第三实施例对部署的各服务进行验证的流程示意图;
    15.图4是本公开实施例多服务的部署装置的结构示意图;
    16.图5是用来实现本公开实施例多服务的部署方法的电子设备的框图。
    具体实施方式
    17.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
    18.图1示出了本公开一实施例实现多服务的部署方法的实现流程,参考图1,该方法包括:操作s110,获取交付环境信息和待部署的至少两个服务,交付环境信息包括系统结构和网络类型;操作s120,根据交付环境信息搭建模拟的第一交付环境;操作s130,在第一交付环境中部署至少两个服务;操作s140,对部署在第一交付环境中至少两个服务的相关资源,执行打包操作,得到服务部署包;操作s150,根据服务部署包,在实际的第二交付环境中部署至少两个服务。
    19.其中,服务指可提供特定功能的程序模块或组件,例如,消息服务、告警服务、人工智能服务和大数据服务等。
    20.在操作s110中,交付环境信息指用于描述在实际的交付环境中,部署多服务所使用的硬件服务器或虚拟机的硬件属性,例如,系统架构和网络类型等。
    21.系统结构指部署服务的硬件服务器或虚拟机所采用的处理器指令集架构(例如,x86或arm等)、处理器类型(例如,cpu或gpu等)和型号等。
    22.网络类型指依据部署服务的硬件服务器或虚拟机在网络模型、组网方式和通信技术等方面的不同,进行分类形成的不同类型。例如,虚拟局域网(virtual local area network,vlan)、软件定义网络(software defined network,sdn)等。
    23.由于,不同的系统结构所支持的指令集把不尽相同、性能也存在一定差异;而不同网络类型,对网络参数及参数值的配置也会有所不同。因此,针对不同的系统结构或网络类型,部署服务所运行的指令或配置也会有所不同,所使用的代码集或脚本程序也可能会有差异。
    24.因此,获取交付环境信息,有助于在操作s120中搭建更为接近实际的交付环境的测试环境,也就是模拟的交付环境;有助于在操作130中,选取较为适宜的运行指令和配置,在模拟的交付环境中部署多服务。从而使得部署在模拟的交付环境中的多服务,可通过操作140和操作150无缝地迁移到实际的交付环境中,并大幅减少迁移后多服务的运行错误。
    25.待部署的多服务,指计划部署和运行在实际的交付环境中的至少两个服务,也可以称为一组服务,或组合服务等。
    26.待部署的多服务,可以由同一应用提供的,也可以由不同应用提供的。
    27.在操作s120中,第一交付环境指模拟的交付环境,具体指根据交付环境信息搭建的与实际的交付环境具有相同系统结构和相同网络类型的硬件服务器或虚拟机,或由服务器或虚拟机组建的集群环境。
    28.此处,第一交付环境与实际的交付环境越接近,在操作s150中进行一键部署时就会越顺利,部署到实际的交付环境之后,多服务出错的机率也就越小。
    29.在操作s130中,部署至少两个服务指,根据运行至少两个服务的需要,安装服务所需的各种应用和工具并进行相应的配置和发布,使得各服务能够正常运行,提供相应的功能。
    30.在第一交付环境中部署多服务时,可采用任何适用的方法,只要使得多服务在第一交付环境中能够正常运行,提供相应的功能即可。
    31.例如,可根据多服务的依赖关系,依次部署各个服务;也可使用编排工具或脚本进行批量部署。
    32.在操作s140中,服务的相关资源,包括支撑服务运行的各种资源,例如,提供服务的应用、配置文件、数据存储资源、日志文件、健康监测和报警工具等。服务的相关资源通常会存储在文件系统中的特定目录下,或数据存储系统中的特定表或路径下。
    33.打包操作,包括将复制上述文件系统中的特定目录下,或数据存储系统中的特定表或路径下的文件或数据,在保留原有目录结构和数据路径的基础上进行压缩,得到的至少一个压缩包。
    34.执行打包操作所得到的至少一个压缩包,即为服务部署包。服务部书包相当于打包了一个部署有至少两个服务的静态可运行环境。将服务部署包解包之后,即可得到除了内存之外的全部文件和数据。
    35.在操作s150中,第二交付环境,指客户的实际交付环境,也称为客户现场环境。
    36.在第二交付环境中部署至少两个服务时,可通过一键部署的方式实现,即通过一个按钮或一条指令即可开启部署过程,并自动完成一系列文件复制、服务配置和脚本程序执行过程,就可使得运行至少两个服务所需的各种资源准备就绪的自动化部署过程。
    37.根据服务部署包,进行一键部署的方式,不同于在第一交付环境中部署至少两个服务的方式。
    38.在第一交付环境中部署至少两个服务时,可采取任何适用的方式部署。例如,逐一部署至少两个服务中的每个服务,或根据部署计划一次性批量部署多个服务。在进行以上部署时,通常需要使用各个软件、应用或工具的安装包或镜像文件,依据一定的依赖关系,逐一安装和部署的,一层层搭建起来的。
    39.而根据服务部署包,进行一键部署时,则无需重复上述过程。由于,服务部署包几乎打包了除了内存以外的所有文件、数据和工具,因此更类似一个迁移包,可将打包的执行环境整体迁移到另一个服务器、虚拟机或集群环境中。所以,根据服务部署包,进行一键部署时,更类似一个将部署有至少两个服务的可运行环境从模拟的第一交付环境迁移到实际的第二交付环境的迁移过程:即将模拟的第一交付环境中的服务部署包解包到实际的第二交付环境中,再通过少量修改和配置,就可以正常启用、暂停、禁用或重启多服务中的任一服务。在启动各服务后,即可使得各服务在处于运行(running)或活动(active)状态,并提供相应的功能。如此,大大简化了在实际的交付环境中,部署多服务的过程和步骤,缩短了
    现场部署时间,节省了大量的人工成本,进一步提高了部署效率和客户满意度。
    40.需要说明的是,图1所示的实施例仅为实现本公开多服务的部署方法的一个基本实施例,实施者还可在此基础上进行细化和扩展,得到更多的实施例。
    41.图2就示出本公开另一实施现多服务的部署方法的实现流程。
    42.在图2所示的本公开实施例中,使用云管理平台为客户提供云计算服务器集群,并使用云管理平台为客户在云计算服务器集群中部署各种应用和服务的。
    43.其中,云管理平台可提供从建云、上云、用云到管云的全生命周期的云原生全栈式解决方案,不仅可托管硬件设备(服务器或虚拟机),还可以托管云应用编排和运维工具,例如,kubernetes,客户完全不需要购买服务器或者购买云应用编排和运维工具,甚至无需了解相应的技术,极大地降低了客户的入门门槛和人工成本。
    44.图2示出了本公开实施例将多服务部署到实际的交付环境中的主要过程,包括:
    45.步骤s210,使用云管理平台,根据交付环境信息搭建模拟的交付环境;
    46.通常,云管理平台可以提供厂内测试开发环境,也可以提供厂外的交付环境,客户可以定制自己所需环境,例如,系统、存储、规模等,不同客户的环境因为定制参数不同而不同。其中,厂内环境和厂外环境几乎一样,从而可以确保在场内测试环境中验证过的服务,能够正确无误地在场外环境中运行。
    47.在图2所示的本公开实施例中,使用云管理平台提供的场内环境来搭建模拟的交付环境,并使用云管理平台模拟的交付环境中部署多服务。如此,不仅可最大程度地确保模拟的交付环境与实际的交付环境的相似度和一致性,还可以最大程度地简化环境搭建的操作。
    48.步骤s220,针对待部署的至少两个服务,创建一个项目;
    49.在本公开实施例中,创建的项目可用于收集和记录与多服务部署相关的全部信息,从而确保部署过程的完整性、正确性,进而确保后续打包过程能够打包所有相关文件和数据,形成一个完整可用的静态可运行环境。
    50.在图2所示的本公开实施例中,至少两个服务对应的一个项目会收集和记录以下信息:
    51.应用及应用部署方案,例如,应用名称、应用类型和应用的部署方式等;
    52.项目资源,例如,全局变量、节点标签、镜像、组件和数据等;
    53.存储资源,例如,存储类型、持久卷位置等;
    54.网络资源,例如,ingress规则集、ingress控制器等;
    55.项目配置,例如,命名空间配置、镜像仓库配置等。
    56.步骤s230,确定与至少两个服务对应的目标应用;
    57.通常,服务都是由应用提供的,一个服务可以对应多个应用,一个应用也可以提供多个服务。部署服务也通常是通过部署应用来实现的。
    58.因此,要部署多个服务,首先要确定与待部署服务对应的目标应用。
    59.步骤s240,确定目标应用的应用部署方案;
    60.部署应用通常需要获取以下信息:
    61.容器初始化信息,例如,镜像信息、安装命令、容器环境变量、存储挂载信息、配置模板挂载信息等;
    62.存储资源信息,例如,运行时所需的数据存储系统、文件系统或配置管理系统等;
    63.部署规模,例如,软件的部署个数,在多少台机器上进行部署等;
    64.部署方式,例如,普通部署、部署成监控程序(daemonset)、部署成例行任务(cronjob)等;
    65.服务清单,包括部署该应用中的哪些服务及各个服务的配置信息,例如,服务的数量、服务类型(http,tcp)、服务对外暴露的端口、服务认证方式等;
    66.部署流程,例如,将部署划分为不同阶段,并定义各个阶段的依赖关系等,包括前置操作(部署之前进行的操作)或后置操作(部署之后进行的操作);
    67.健康检测信息,包括健康检测周期和频率、健康检测的检测点(例如,剩余存储空间、内存占用率、端口号、url地址等)及检测规则等;
    68.日志监控信息,包括日志收集规则和告警规则,其中,告警规则指达到什么情况进行什么级别的告警以及通知对象等;
    69.权限管理信息,例如,基于角色的权限管理(role-based access control,rbac)策略等;
    70.验证方式,例如,运行哪些测试用例等。
    71.在图2所示的本公开实施例中,会收集上述全部信息,并以特定的格式进行组织,形成应用定义及相应应用的应用部署方案。如此,可通过应用部署方案涵盖应用部署的各个方面,使得应用部署得以流程化、规范化和标准化,进而顺利实现多个应用的批量部署。
    72.步骤s250,使用云管理平台,部署应用部署方案中定义的目标应用;
    73.在这一步骤中,可根据步骤s240中确定的应用部署方案,使用云管理平台,对其中定义的目标应用进行批量部署。如此,不仅进一步缩短了部署时间,简化了部署操作,而且还可通过统一的应用定义和应用部署计划解决了以下问题:1)不同人员的依赖自身技术经验进行部署,使得部署过程和部署结果产生差异;2)即使同一个人,也可能因为一些细节不同,导致部署过程和部署结果无法得到精确复现等。
    74.步骤s260,将该版本项目中应用部署方案、应用数据和工具包,执行打包操作,得到服务部署包;
    75.步骤s270,将服务部署包导入实际的交付环境(客户现场的机器)中;
    76.步骤s280,将服务部署包解包到实际的交付环境中的指定目录;
    77.此处的目录泛指存储介质的地址,可以是本地文件系统的目录、云盘中的目录,也可能是其他持久化存储介质的地址等。
    78.该目录通常与在模拟的交付环境中所使用的部署目录相同。如此,不仅可完全恢复在模拟的交付环境下搭建的部署有多服务的可运行环境,而且需要进行的修改也最少。
    79.步骤s290,修改各服务的配置信息,实现一键部署。
    80.理想情况下,此处只需将搭建模拟的交付环境的服务器或虚拟机的名称或标识,修改为实际的交付环境的服务器或虚拟机的名称或标识。
    81.在图2所示的本公开实施例中,通过项目将部署至少两个服务所需的各种应用、资源、配置和数据组织在一起,使得各服务的部署都有据可依,并通过云管理平台进行标准化的批量部署,可进一步提高在模拟的交付环境中部署至少两个服务的部署效率。
    82.图3示出了本公开另一实施例,该实施例在图2所示的实施例基础上,进行了改进,
    即在模拟的交付环境中,部署完服务之后,还会对各服务进行了验证和修改,并对项目信息进行版本管理,以确保部署在模拟的交付环境中的各服务工作正常,具体包括:
    83.步骤s310,对部署的各服务进行验证,以确定各服务工作正常;
    84.其中,对部署的各服务进行验证,可以通过运行测试用例或运行服务检测工具的方式进行。
    85.对部署的各服务进行验证所使用的测试用例,可以是应用部署方案中定义的测试用例,也可以是根据各种需求临时确定的测试用例,主要用于验证软件的运行状态、服务可用性即服务性能等。
    86.服务检测工具,包括报文探测工具、网络端口检测工具等。
    87.步骤s320,判断各服务工作是否正常,若是,则继续步骤s350,若否,则继续步骤s330;
    88.步骤s330,保存现有版本的项目信息;
    89.步骤s340,修改项目信息,返回步骤s320,进行再次验证;
    90.在本公开实施例中,假设仅需修改服务的配置信息,即可使服务工作正常。若还需修改应用信息或应用的部署方案,退出本次执行,重新进行多服务的部署;
    91.步骤s350,将当前版本的项目信息确定为拟发布的项目信息;
    92.步骤s360,将拟发布的项目信息发布为标准项目版本,并将该版本项目中的应用部署方案、应用数据和工具包,执行打包操作,得到服务部署包。
    93.在图3所示的本公开实施例中,会对部署在模拟的交付环境中的各服务进行充分的验证,以确保各服务可用且所提供的服务质量可达到预设的标准,从而确保部署到实际的交付环境中的各服务具有较好的可用性和服务质量。
    94.此外,在图3所示的本公开实施例中,还会对项目信息进行版本控制。如此,很容易对项目信息进行回滚,并可以从多个版本的项目信息中选取可用性和质量最好的项目信息作为拟发布的项目信息,从而确保导出的服务部署包质量较佳。
    95.进一步地,还可以在将根据服务部署包,在实际的交付环境实现对多服务的一键部署之后,也对实际的交付环境中部署好的各服务进行类似的验证。
    96.通常,如果在模拟的交付环境中已经进行过上述验证之后,在实际的交付环境中进行验证时,会发生的错误会大幅减少,从而大幅缩短在实际的交付环境中进行验证所花费的时间。
    97.需要说明的是,图1至图3所示的本公开实施例均为对示例性说明,并非对本公开多服务的部署方法的实施方式或应用场景的限定。实施者可根据具体的实施需要和实施条件采用任何适用的实施方式,应用于任何适用的实施场景下。
    98.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
    99.根据本公开的实施例,本公开还提供了一种多服务的部署装置,如图4所示,该装置40包括:部署信息获取模块401,用于获取交付环境信息和待部署的至少两个服务,交付环境信息包括系统结构和网络类型;第一交付环境搭建模块402,用于根据交付环境信息搭建模拟的第一交付环境;第一部署模块403,用于在第一交付环境中部署至少两个服务;部署包打包模块404,用于对部署在第一交付环境中至少两个服务的相关资源,执行打包操
    作,得到服务部署包;第二部署模块405,用于根据服务部署包,在实际的第二交付环境中部署至少两个服务。
    100.根据本公开一实施例,其中,第一交付环境搭建模块402具体用于使用云管理平台,根据交付环境信息搭建模拟的第一交付环境;第一部署模块403具体用于使用云管理平台,在第一交付环境中部署至少两个服务。
    101.根据本公开一实施例,其中,第一部署模块403,包括:应用确定子模块,用于确定与至少两个服务对应的目标应用;应用部署方案确定子模块,用于确定目标应用的应用部署信息;多服务部署子模块,用于根据应用部署信息,在第一交付环境中部署目标应用。
    102.根据本公开一实施例,其中,应用部署方案确定子模块具体用于确定目标应用的存储资源、部署规模、部署方式、服务清单、部署流程、健康检测和/或日志告警。
    103.根据本公开一实施例,部署包打包模块具体用于对第一交付环境中的应用部署信息、应用数据和工具包,执行打包操作,得到服务部署包。
    104.根据本公开一实施例,该装置40还包括:多服务验证模块,用于对第一交付环境中的至少两个服务进行验证,以确定至少两个服务工作正常;配置信息修改模块,用于若服务工作不正常,则修改响应服务的配置信息。
    105.根据本公开一实施例,该装置40还包括:版本管理模块,用于创建和更新相应服务的配置信息版本。
    106.根据本公开一实施例,其中,第二部署模块,包括:部署包解包子模块,用于将服务部署包解包到第二交付环境中的指定目录;配置信息修改子模块,用于修改至少两个服务的配置信息。
    107.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
    108.图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
    109.如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
    110.设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
    111.计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工
    智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如本公开多服务的部署方法。例如,在一些实施例中,本公开多服务的部署方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram 503并由计算单元501执行时,可以执行上文描述的本公开多服务的部署方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开多服务的部署方法。
    112.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
    113.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
    114.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
    115.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
    116.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部
    件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
    117.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
    118.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
    119.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

    技术特征:
    1.一种多服务的部署方法,包括:获取交付环境信息和待部署的至少两个服务,所述交付环境信息包括系统结构和网络类型;根据所述交付环境信息搭建模拟的第一交付环境;在所述第一交付环境中部署所述至少两个服务;对部署在所述第一交付环境中所述至少两个服务的相关资源,执行打包操作,得到服务部署包;根据所述服务部署包,在实际的第二交付环境中部署所述至少两个服务。2.根据权利要求1所述的方法,其中,所述根据所述交付环境信息搭建模拟的第一交付环境,包括:使用云管理平台,根据所述交付环境信息搭建模拟的第一交付环境;所述在所述第一交付环境中部署所述至少两个服务,包括:使用云管理平台,在所述第一交付环境中部署所述至少两个服务。3.根据权利要求1或2所述的方法,其中,所述在所述第一交付环境中部署所述至少两个服务,包括:确定与所述至少两个服务对应的目标应用;确定所述目标应用的应用部署信息;根据所述应用部署信息,在所述第一交付环境中部署所述目标应用。4.根据权利要求3所述的方法,其中,所述确定所述目标应用的应用部署信息,包括:根据所述目标应用的以下至少一项获取所述应用部署信息:存储资源、部署规模、部署方式、服务清单、部署流程、健康检测、日志告警。5.根据权利要求1所述的方法,所述相关资源包括:所述应用部署信息、应用数据和工具包。6.根据权利要求1所述的方法,其中,所述根据所述服务部署包,在实际的第二交付环境中部署所述至少两个服务,包括:将所述服务部署包解包到所述第二交付环境中的指定目录;修改所述至少两个服务的配置信息。7.一种多服务的部署装置,包括:部署信息获取模块,用于获取交付环境信息和待部署的至少两个服务,所述交付环境信息包括系统结构和网络类型;第一交付环境搭建模块,用于根据所述交付环境信息搭建模拟的第一交付环境;第一部署模块,用于在所述第一交付环境中部署所述至少两个服务;部署包打包模块,用于对部署在所述第一交付环境中所述至少两个服务的相关资源,执行打包操作,得到服务部署包;第二部署模块,用于根据所述服务部署包,在实际的第二交付环境中部署所述至少两个服务。8.根据权利要求7所述的装置,其中,所述第一交付环境搭建模块具体用于使用云管理平台,根据所述交付环境信息搭建模拟的第一交付环境;所述第一部署模块具体用于使用云管理平台,在所述第一交付环境中部署所述至少两
    个服务。9.根据权利要求7或8所述的装置,其中,所述第一部署模块,包括:应用确定子模块,用于确定与所述至少两个服务对应的目标应用;应用部署方案确定子模块,用于确定所述目标应用的应用部署信息;多服务部署子模块,用于根据所述应用部署信息,在所述第一交付环境中部署所述目标应用。10.根据权利要求9所述的装置,其中,应用部署方案确定子模块具体用于确定所述目标应用的存储资源、部署规模、部署方式、服务清单、部署流程、健康检测、日志告警。11.根据权利要求7所述的装置,所述部署包打包模块具体用于对所述第一交付环境中的应用部署信息、应用数据和工具包,执行打包操作,得到服务部署包。12.根据权利要求7所述的装置,其中,所述第二部署模块,包括:部署包解包子模块,用于将所述服务部署包解包到所述第二交付环境中的指定目录;配置信息修改子模块,用于修改所述至少两个服务的配置信息。13.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。

    技术总结
    本公开提供了一种多服务的部署方法、装置、设备及存储介质,涉及云计算技术领域,尤其涉及云计算服务交付领域。具体实现方案为:首先,根据交付环境信息搭建接近实际的交付环境的模拟的交付环境,并在模拟的交付环境中部署多服务;之后,将模拟的交付环境中与多服务相关的各种资源打包,得到服务部署包;然后,将服务部署包导入到实际的交付环境,进行解包和微调,以实现多服务在的一键部署。如此,大幅缩减了在交付环境中部署多服务的时间,进而提高了多服务的部署效率和客户满意度。多服务的部署效率和客户满意度。多服务的部署效率和客户满意度。


    技术研发人员:陈金龙 杨涛 苗宇庭 张彦波 田晓宁 范业大 肖超超 张伟 李泽恩
    受保护的技术使用者:北京百度网讯科技有限公司
    技术研发日:2022.01.30
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-23019.html

    最新回复(0)