CN116107596A - 自动化系统部署方法及相关装置 - Google Patents

自动化系统部署方法及相关装置 Download PDF

Info

Publication number
CN116107596A
CN116107596A CN202310092524.7A CN202310092524A CN116107596A CN 116107596 A CN116107596 A CN 116107596A CN 202310092524 A CN202310092524 A CN 202310092524A CN 116107596 A CN116107596 A CN 116107596A
Authority
CN
China
Prior art keywords
software
software information
deployed
deployment
installation
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
Application number
CN202310092524.7A
Other languages
English (en)
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.)
Shenzhen Weizhong Credit Technology Co ltd
Original Assignee
Shenzhen Weizhong Credit 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 Shenzhen Weizhong Credit Technology Co ltd filed Critical Shenzhen Weizhong Credit Technology Co ltd
Priority to CN202310092524.7A priority Critical patent/CN116107596A/zh
Publication of CN116107596A publication Critical patent/CN116107596A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

本发明公开了一种自动化系统部署方法及相关装置,该方法包括:获取系统需要部署的软件信息,软件信息包括系统依赖包和中间件软件;根据软件信息确定系统的服务器配置;接收安装控制指令,安装控制指令用于指示完成需要部署的软件信息的安装;获取部署软件清单,部署软件清单用于指示已安装的依赖软件包和中间件软件;根据需要部署的软件信息和部署软件清单确定需要安装的软件信息,对需要安装的软件信息进行安装,需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件。实现了自动化进行系统部署的方法,降低了人工成本,规避了人为操作带来的失误风险,提高了软件部署及项目发布的效率。

Description

自动化系统部署方法及相关装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种自动化系统部署方法及相关装置。
背景技术
大数据征信平台用到中间件和数据库服务,在项目发布阶段,主要依靠运维成员手动部署,因涉及人员技能层次不齐,在项目交付过程中形成统一实施标准的难度较大,容易出现潜藏的隐患。为使项目交付标准统一,完善交付过程中存在的不足,使项目交付能够形成统一标准,提升项目发布效率,降低人为误操作,方便后期的运行和维护是本领域尚待解决的问题。
发明内容
针对上述问题,本申请实例提供了一种装置,通过一键执行的方式完成(Jdk、Tomcat、Nginx、Oracle、MySQL、zookeeper、Activemq等)服务部署,并可实现单机、集群的部署架构。通过动化部署方法来完善交付过程中存在的不足,使得项目交付能够形成统一标准,提升项目发布效率,降低人为误操作,方便后期的运行和维护。
为实现上述目的,第一方面,本申请实施例提供了一种自动化系统部署方法,其特征在于,包括以下步骤:获取系统需要部署的软件信息,软件信息包括系统依赖包和中间件软件;根据软件信息确定系统的服务器配置;接收安装控制指令,安装控制指令用于指示完成需要部署的软件信息的安装;获取部署软件清单,部署软件清单用于指示已安装的依赖软件包和中间件软件;根据需要部署的软件信息和部署软件清单确定需要安装的软件信息,对需要安装的软件信息进行安装,需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件。
在本申请实施例中,可以看出通过部署软件清单和需要部署的软件信息等对需要安装的软件信息进行安装,实现了自动化进行系统部署的方法,降低了人工成本,减少了因人为因素导致实施中异常问题出现的可能性,以及规避了人为操作可能带来的失误风险,并提高了软件部署及项目发布的效率。
结合第一方面,在一种可能的实施例中,服务器配置包括服务器端口号、服务器部署的路径、服务器日志的路径、服务器备份的路径中的至少一种。
结合第一方面,在一种可能的实施例中,部署软件清单包括对应的软件版本目录,软件版本目录用于指示部署软件清单中已安装依赖软件包和中间件软件的存放位置,在对需要安装的软件信息进行安装之后,该方法还包括:获取软件信息中包括的安装目录,根据安装目录将需要安装的软件信息对应的软件版本更新到软件版本目录中。
在本申请实施例中,可以看出通过软件版本目录指示已安装的依赖软件包和中间软件的存放位置,从而实现了依赖软件包和中间软件的自动获取和自动安装,进而通过自动化进行系统部署降低因人为因素导致实施中异常问题出现,规避操作失误带来的风险,降低人工成本,并提高了软件部署及项目发布的效率。
结合第一方面,在一种可能的实施例中,方法应用于局域网系统中的目标从属处理设备,局域网系统中包括主处理设备,和与主处理设备连接的多个从属处理设备,接收安装控制指令,包括:接收来自主处理设备的安装控制指令,主处理设备的安装控制指令为同时向多个从属处理设备发送的指令。
结合第一方面,在一种可能的实施例中,在接收来自主处理设备的安装控制指令之后,若目标从属处理设备在第一预设时间内未通过部署软件清单获取到需要部署的软件信息,该方法还包括:获取其他从属处理设备的安装完成指示,安装完成指示代表对应的从属处理设备已完成需要部署的软件信息的安装;若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量大于第一预设阈值,则重新获取需要部署的软件信息。
结合第一方面,在一种可能的实施例中,若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量大于第一预设阈值,则重新获取需要部署的软件信息,包括:获取其他从设备的距离数据,距离数据用于表征其他从设备与目标从设备之间的物理距离;获取已发送安装完成指示且距离数据最低的其他从设备的需要部署的软件信息,根据距离数据最低的其他从设备的需要部署的软件信息完成安装。
在本申请实施例中,可以看出,通过接受其他从属处理设备的安装完成指示,进行判断需要部署的软件信息是否是由于系统内部的原因损坏,在确定是系统内部的原因后,根据与其他从属处理设备的距离数据选择与目标从属处理设备最近的其他从属处理设备,获取性的需要部署的软件信息,提高了系统自动部署方法的容错率和稳定性,进而提高了软件部署及项目发布的效率。
结合第一方面,在一种可能的实施例中,在根据需要部署的软件信息和部署软件清单确定需要安装的软件信息,对需要安装的软件信息进行安装,需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件之后,方法还包括:获取述安装控制指令指示需要部署的软件信息的基础服务清单;基础服务清单中包括需要部署的软件信息的单机环境版本和集群环境版本;若系统为单个服务器架构则安装需要部署的软件信息的单机环境版本;若系统为多个服务器架构则安装需要部署的软件信息的集群环境版本。
在本申请实施例中,可以看出通过在基础服务清单添加需要部署的软件信息的单机环境版本和集群环境版本从而增加了自动化系统部署方法的适用性和稳定性,减少了部署失败的概率,进而提高了软件部署及项目发布的效率。
第二方面本申请实施例提供了一种自动化系统部署装置,用于执行自动化系统部署方法,该装置包括:
获取单元:用于获取系统需要部署的软件信息,软件信息包括系统依赖包和中间件软件;
确定单元:用于根据软件信息确定系统的服务器配置;
接收单元:用于接收安装控制指令,安装控制指令用于指示完成需要部署的软件信息的安装;
获取单元:还用于获取部署软件清单,部署软件清单用于指示已安装的依赖软件包和中间件软件;
安装单元:根据需要部署的软件信息和部署软件清单确定需要安装的软件信息,对需要安装的软件信息进行安装,需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件。
第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由处理器执行,所述一条或多条指令适于由所述处理器加载并执行如第一方面的方法的部分或者全部。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,计算机程序使得计算机执行如第一方面的方法的部分或者全部。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种自动化系统部署的流程示意图;
图2为本申请实施例提供的一种需要部署的软件信息安装的流程示意图;
图3为本申请实施例提供的一种主设备和多个从属处理设备的系统结构示意图;
图4为本申请实施例提供的一种自动安装选项的界面示意图;
图5为本申请实施例提供的一种自动化系统部署装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面结合附图对本申请的实施例进行描述。
目前,结合人工智能技术的发展,读者可以通过语音与有声小说进行互动,包括扮演文中的角色与小说互动,或者通过语音控制情节发展,使得有声小说跳转到读者感兴趣的情节等。但在互动小说描述的内容过于丰富或晦涩时,用户不能快速沉浸到作者描述的场景中,使得用户对小说的部分情节理解不够直观。
针对上述问题,本申请提出一种互动小说中多媒体数据的处理方法及装置,下面结合附图进行说明。
请参见图1,图1为本申请实施例提供的一种自动化系统部署的流程示意图,如图1所示,包括步骤S101-S105。
S101:获取系统需要部署的软件信息,软件信息包括系统依赖包和中间件软件。
具体地,这里的系统依赖包为本系统需要的一些库文件,运行环境文件等,这里的中间件为系统与用户终端之间的连接软件,中间件软件为中间件需要的库文件,运行环境文件等。需要部署的软件信息是系统的本次更新所有需要部署的系统依赖包或者中间件软件。
S102:根据软件信息确定系统的服务器配置。
具体地,这里的确定系统的服务器配置为根据需要安装的软件信息要求对服务器配置为对本地的服务器进行配置。
在一种可能的实施例中,服务器配置包括服务器端口号、服务器部署的路径、服务器日志的路径、服务器备份的路径中的至少一种。
具体地,服务端口号是用于访问和管理服务器使用的端口号码,服务器的部署路径、和服务器的日志路计划和服务器的备份路径是服务器的程序存储、服务器的日志以及备份的存放路径。
S103:接收安装控制指令,安装控制指令用于指示完成需要部署的软件信息的安装。
具体地,这里额安装控制指令可以为指示选择的至少一个需要部署的软件信息进行安装。
S104:获取部署软件清单,部署软件清单用于指示已安装的依赖软件包和中间件软件。
具体的,这里的部署软件清单可以用于指示已安装的依赖软件包和中间件软件的安装路径,也可以用于指示已安装的依赖软件包和中间件软件的安装文件的存放路径,安装文件的存放路径还可以存放多个不同的版本。
请参见图2,图2为本申请实施例提供的一种需要部署的软件信息安装的流程示意图,如图2所示执行需要部署的软件信息的安装脚本之前需要对系统环境进行检查,检查在系统中是否存在需要安装的软件信息的资源包,这里的资源包可以为已经安装完成的软件信息,这里的软件信息可以包括依赖软件包和中间件软件。若已经安装则跳过该依赖软件包和中间件软件的安装则跳过对应的依赖软件包和中间件软件的安装。
S105:根据需要部署的软件信息和部署软件清单确定需要安装的软件信息,对需要安装的软件信息进行安装,需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件。
具体地,接收到安装控制指令后则可以根据部署的软件信息和部署软件清单进行安装,如果根据部署软件清单可判断得到目标软件信息已经安装则跳过已安装的目标软件信息,仅安装需要部署的软件信息中的还没有安装的软件信息。需要安装的软件信息是在需要部署的软件信息中还没有安装的系统依赖包或者中间件软件。
在一种可能的实施例中,部署软件清单包括对应的软件版本目录,软件版本目录用于指示部署软件清单中已安装依赖软件包和中间件软件的存放位置,在对需要安装的软件信息进行安装之后,该方法还包括:获取软件信息中包括的安装目录,根据安装目录将需要安装的软件信息对应的软件版本更新到软件版本目录中。
具体地,依赖软件包和中间件软件的存放位置通过软件版本目录展示,在对依赖软件包和中间件软件实施安装时,需要通过软件版本目录指示依赖软件包和中间件软件的存放位置。由于在一些特殊的情况下(例如网络连接断开,或者系统处于无公网环境下等)系统无法从外界获取软件信息中还包括依赖软件包和中间件软件对应的安装目录,通过软件版本目录可以定位到依赖软件包和中间件软件的存放位置,然后根据安装目录将依赖软件包和中间件软件安装到指定位置完成部署。
在本申请实施例中,可以看出通过软件版本目录指示已安装的依赖软件包和中间软件的存放位置,从而实现了依赖软件包和中间软件的自动获取和自动安装,进而通过自动化进行系统部署降低因人为因素导致实施中异常问题出现,规避操作失误带来的风险,降低人工成本,并提高了软件部署及项目发布的效率。
在一种可能的实施例中,该方法应用于局域网系统中的目标从属处理设备,局域网系统中包括主处理设备,和与主处理设备连接的多个从属处理设备,接收安装控制指令,包括:接收来自主处理设备的安装控制指令,主处理设备的安装控制指令为同时向多个从属处理设备发送的指令。
具体地,针对贷款担保机构,由于较强的软件更新时间统一性的要求,可以先在每个主机里面进行软件信息的预先部署,再在需要更新软件的时候统一获取安装控制指令,完成软件更新。贷款担保的主机需要保证安全性一般不接入公网而是通过相对封闭的局域网进行连接通信。这里的局域网系统中的主从处理设备智能互相通信而无法通过公网与其他设备进行通信。
示例性地,请参见图3,图3为本申请实施例提供的一种主设备和多个从属处理设备的系统结构示意图,如图3所示该系统可以包括一个主设备和多个从属处理设备,这里的一个主设备和从属处理设备1、从属处理设备2以及从属处理设备3,仅为一种示例,主设备和多个从属处理设备都可以通过局域网互相连接通信。主设备可以发送安装控制指令给从属处理设备,从属处理设备可以接收来自主处理设备的安装控制指令,多个从属处理设备之间可以相互通信。
在一种可能的实施例中,在接收来自主处理设备的安装控制指令之后,若目标从属处理设备在第一预设时间内未通过部署软件清单获取到需要部署的软件信息,该方法还包括:获取其他从属处理设备的安装完成指示,安装完成指示代表对应的从属处理设备已完成需要部署的软件信息的安装;若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量大于第一预设阈值,则重新获取需要部署的软件信息。
具体地,目标从属处理设备在第一预设时间内未通过部署软件清单获取到需要部署的软件信息,这里目标从属处理设备没有获取到需要部署的软件信息的原因可能是从主设备获取需要部署的软件信息时,需要部署的软件信息损失部分文件导致目标从属处理设备接收到的需要部署的软件信息无法安装,或者目标从属处理设备在安装过程中对需要部署的软件信息造成损坏,需要部署的软件信息无法进行安装部署。安装完成指示是由从属处理设备发送的指示信息,代表对应的从属处理设备已经完成此次主设备发送的安装控制指令对应的需要部署的软件信息的安装部署,在经过第二预设时间后若目标从属处理设备获取得到第一预设阈值的其他从属处理设备的安装完成指示则可以确认主设备发送的安装控制指令对应的需要部署的软件信息内部没有冲突和损坏,目标从属处理设备的需要部署的软件信息是目标从属处理设备的系统接收或者安装时产生的损坏,此时则重新获取需要部署的软件信息进行安装。
示例性地,当目标从属处理设备在30秒内未获取到需要部署的软件信息,或者在部署安装需要部署的软件信息时发生错误,例如需要部署的软件信息无法成功部署等情况,此时再接收其他从属处理设备发送的安装完成指示,当接收到其他从属处理设备发送的安装完成指示超过预设阈值,可以为90%、80%等,则证明目标从属处理设备中的需要部署的软件信息出现损坏,此时目标从属处理设备则需要重新获取需要部署的软件信息,例如想主设备发送重新获取消息,接收主设备重新发送的需要部署的软件信息。
在一种可能的实施例中,若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量大于第一预设阈值,则重新获取需要部署的软件信息,包括:获取其他从设备的距离数据,距离数据用于表征其他从设备与目标从设备之间的物理距离;获取已发送安装完成指示且距离数据最低的其他从设备的需要部署的软件信息,根据距离数据最低的其他从设备的需要部署的软件信息完成安装。
具体地,确认目标从属处理设备安装需要部署的软件信息失败,需要重新获取需要部署的软件信息进行安装后。由于需要部署的软件信息可能是由于主设备和目标从属处理设备之前的通信链路可能存在问题,导致需要部署的软件信息在传输过程中出现损坏,因此需要通过其他的从属处理设备获取确定没有损坏的需要部署的软件信息,这里根据目标从属处理设备和其他从属处理设备之间的物理距离信息可以找到与目标从属处理设备距离最近的其他从属处理设备,以获取其他从属处理设备的需要部署的软件信息。
示例性地,目标从属处理设备的需要部署的软件信息损坏可能是由于主设备和目标从属设备之间的传输链路导致的,此时再从主设备重新获取需要部署的软件信息可能再次导致需要部署的软件信息再传输时出现损坏,此时则通过获取与其他从属处理设备的距离信息获得与目标从属处理设备的距离信息,若与目标从属处理设备最近的其他从属处理设备可以提供完整的未损坏需要部署的软件信息,则从与目标从属处理设备最近的其他从属处理设备获取需要部署的软件信息,进而避免通信链路波动等问题导致的文件受损。
在本申请实施例中,可以看出,通过接受其他从属处理设备的安装完成指示,进行判断需要部署的软件信息是否是由于系统内部的原因损坏,在确定是系统内部的原因后,根据与其他从属处理设备的距离数据选择与目标从属处理设备最近的其他从属处理设备,获取性的需要部署的软件信息,提高了系统自动部署方法的容错率和稳定性,进而提高了软件部署及项目发布的效率。
在一种可能的实施中,若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量不大于第一预设阈值,该方法还包括:根据所述部署软件清单,对需要部署的软件信息进行可用性验证,得到未通过可用性验证的异常软件;根据软件版本目录获取得到异常软件的历史需要部署的软件信息;根据历史需要部署的软件信息对所述异常软件进行覆盖安装。
具体地,当在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量不大于第一预设阈值证明目标从属处理设备和其他从属处理设备接收到的最新的需要部署的软件信息都出现了文件损坏导致无法正常安装部署的问题。这里的可用性验证为对需要部署的软件信息中的系统依赖软件或者中间件软件进行验证是否安装部署完成和是否可以正常运行,若需要部署的系统依赖软件或者中间件软件进行验证安装部署完成并且可以正常运行则为通过可用性验证,若无法安装部署或者正常运行则为未通过可用性验证。此时可以从主设备重新获取需要部署的软件信息,但为了保证系统部署、更新的实时性,还可以根据软件版本目录获取得到异常软件的历史需要部署的软件信息,这里的历史需要部署的软件信息是根据主设备发送的过的历史安装控制指令已经安装成功的系统依赖软件或者中间件软件的历史版本,系统依赖软件或者中间件软件中较低的版本与较新的系统部署可能会产生排斥等问题,但在系统依赖软件或者中间件软件发布时间比较靠近的几个版本中一般是可以保证临时安装部署后,系统可以正常运行。因此当目标从属处理设备和其他从属处理设备接收到的最新的需要部署的软件信息都出现了文件损坏导致无法正常安装部署的问题时,可以通过安装异常软件的历史版以及时完成新系统的部署安装。
示例性地,若在第二预设时间内,例如3分钟、5五分钟等,不大于第一预设阈值的从属处理设备的都出现了无法安装等问题,此时则可以确认问题来源于主设备或者主设备到各个从属处理设备之间的链接链路出现问题。若此次的软件部署更新属于需要保证时效性的经济更新等情况,则可以通过软件版本目录获取从属处理设备本地保存的软件信息的历史版本,系统依赖软件或者中间件软件发布时间比较靠近的几个版本中一般是可以保证临时安装部署,例如7.1,7.2,7.3等较为接近的版本是可以兼容安装的,此时则为了保证系统部署的时效性选择将未通过可用性验证的软件的历史版本进行安装。
在本申请实施例中,当目标从属处理设备和其他从属处理设备接收到的最新的需要部署的软件信息都出现了文件损坏导致无法正常安装部署的问题,通过安装异常软件的历史版以按时完成新系统的部署安装,保证了软件部署及项目发布的时效性,进而提高了无公网环境下自动化系统部署的效率和稳定性。
在一种可能的实施例中,在根据需要部署的软件信息和部署软件清单确定需要安装的软件信息,对需要安装的软件信息进行安装,需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件之后,方法还包括:获取述安装控制指令指示需要部署的软件信息的基础服务清单;基础服务清单中包括需要部署的软件信息的单机环境版本和集群环境版本;若系统为单个服务器架构则安装需要部署的软件信息的单机环境版本;若系统为多个服务器架构则安装需要部署的软件信息的集群环境版本。
具体地,请参见图4,图4为本申请实施例提供的一种自动安装选项的界面示意图,其中需要部署的软件信息可以为Jdk、Tomcat、Nginx、Oracle、MySQL、zookeeper、Activemq等,上述软件信息中部分软件信息需要区分单机、集群和伪集群环境进行安装部署,因此对应基础服务清单中将包扩多个版本。系统的单机或者集群环境代表系统的部署的服务器数量,若只部署单一服务器则为单机环境,若部署多个服务器则为集群环境,根据系统的使用环境和需要配置的服务器数量各不相同,所以需要配置不同数量的服务器。对数据处理量的需求越高服务器的数量则需要越多。因此基础服务清单中包括需要部署的软件信息的单机环境版本和集群环境版本,当系统为单个服务器架构则安装需要部署的软件信息的单机环境版本,当系统为多个服务器架构则安装需要部署的软件信息的集群环境版本。
在本申请实施例中,可以看出通过在基础服务清单添加需要部署的软件信息的单机环境版本和集群环境版本从而增加了自动化系统部署方法的适用性和稳定性,减少了部署失败的概率,进而提高了软件部署及项目发布的效率。
通过实施本申请实施例中的方法,根据部署软件清单,需要部署的软件信息等信息自动获取并安装需要安装的软件信息,实现了系统部署的自动化,进而降低了人工成本,减少了因人为因素导致实施中异常问题出现的可能性,以及规避了人为操作可能带来的失误风险,并提高了软件部署及项目发布的效率。在多个从属处理设备和一个主设备的系统下,通过主设备发送的安装控制指令和其他从属处理设备发送的安装完成指示可以在目标从属处理设备中的软件信息损坏时自动从其他从属处理设备获取新的软件信息,提高了系统自动部署方法的容错率和稳定性。基础服务清单添加需要部署的软件信息的单机环境版本和集群环境版本从而增加了自动化系统部署方法的适用性和稳定性,减少了部署失败的概率,进而提高了软件部署及项目发布的效率。
基于上述配置方法实施例的描述,本申请还提供一种自动化系统部署装置500,该自动化系统部署装置500可以是运行于终端中的一个计算机程序(包括程序代码)。该装置500可以执行图1、图2所示的方法。请参见图5,该装置包括:
获取单元501:用于获取系统需要部署的软件信息,软件信息包括系统依赖包和中间件软件;
确定单元502:用于根据软件信息确定系统的服务器配置;
接收单元503:用于接收安装控制指令,安装控制指令用于指示完成需要部署的软件信息的安装;
获取单元501:还用于获取部署软件清单,部署软件清单用于指示已安装的依赖软件包和中间件软件;
安装单元504:根据需要部署的软件信息和部署软件清单确定需要安装的软件信息,对需要安装的软件信息进行安装,需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件。
在一种可能的实施例中,服务器配置包括服务器端口号、服务器部署的路径、服务器日志的路径、服务器备份的路径中的至少一种。
在一种可能的实施例中,部署软件清单包括对应的软件版本目录,软件版本目录用于指示部署软件清单中已安装依赖软件包和中间件软件的存放位置,在对需要安装的软件信息进行安装之后,获取单元501还具体用于:获取软件信息中包括的安装目录,根据安装目录将需要安装的软件信息对应的软件版本更新到软件版本目录中。
在一种可能的实施例中,方法应用于局域网系统中的目标从属处理设备,局域网系统中包括主处理设备,和与主处理设备连接的多个从属处理设备,接收安装控制指令,接收单元503还具体用于:接收来自主处理设备的安装控制指令,主处理设备的安装控制指令为同时向多个从属处理设备发送的指令。
在一种可能的实施例中,在接收来自主处理设备的安装控制指令之后,若目标从属处理设备在第一预设时间内未通过部署软件清单获取到需要部署的软件信息,获取单元501还具体用于:获取其他从属处理设备的安装完成指示,安装完成指示代表对应的从属处理设备已完成需要部署的软件信息的安装;若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量大于第一预设阈值,则重新获取需要部署的软件信息。
在一种可能的实施例中,在若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量大于第一预设阈值,则重新获取需要部署的软件信息方面,获取单元501还具体用于:获取其他从设备的距离数据,距离数据用于表征其他从设备与目标从设备之间的物理距离;获取已发送安装完成指示且距离数据最低的其他从设备的需要部署的软件信息,根据距离数据最低的其他从设备的需要部署的软件信息完成安装。
在一种可能的实施例中,在根据需要部署的软件信息和部署软件清单确定需要安装的软件信息,对需要安装的软件信息进行安装,需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件之后,获取单元501还具体用于:获取述安装控制指令指示需要部署的软件信息的基础服务清单;基础服务清单中包括需要部署的软件信息的单机环境版本和集群环境版本;若系统为单个服务器架构则安装需要部署的软件信息的单机环境版本;若系统为多个服务器架构则安装需要部署的软件信息的集群环境版本。
需要说明的是,上述各模块(获取单元501和确定单元502等)用于执行上述方法的相关步骤。比如获取单元501用于执行步骤S101的相关内容,确定单元502用于执行S102的相关内容。
基于上述方法实施例和装置实施例的描述,请参见图6,图6为本申请实施例提供的一种电子设备的结构示意图,本实施例中所描述的电子设备600,如图6所示,该电子设备600包括处理器601、存储器602、通信接口603以及一个或多个程序,处理器601可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integratedcircuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。存储器602可以是只读存储器(read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器602可以是独立存在,通过总线与处理器601相连接。存储器602也可以和处理器601集成在一起。通信接口603,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless LocalArea Networks,WLAN)等。上述一个或多个程序通过程序代码的形式被存储在上述存储器中,并且被配置由上述处理器执行,本申请实施例中,上述程序包括用于执行以下步骤的指令:
获取系统需要部署的软件信息,软件信息包括系统依赖包和中间件软件;根据软件信息确定系统的服务器配置;接收安装控制指令,安装控制指令用于指示完成需要部署的软件信息的安装;获取部署软件清单,部署软件清单用于指示已安装的依赖软件包和中间件软件;根据需要部署的软件信息和部署软件清单确定需要安装的软件信息,对需要安装的软件信息进行安装,需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件。
在一种可能的实施例中,服务器配置包括服务器端口号、服务器部署的路径、服务器日志的路径、服务器备份的路径中的至少一种。
在一种可能的实施例中,部署软件清单包括对应的软件版本目录,软件版本目录用于指示部署软件清单中已安装依赖软件包和中间件软件的存放位置,在对需要安装的软件信息进行安装之后,该方法还包括:获取软件信息中包括的安装目录,根据安装目录将需要安装的软件信息对应的软件版本更新到软件版本目录中。
在一种可能的实施例中,方法应用于局域网系统中的目标从属处理设备,局域网系统中包括主处理设备,和与主处理设备连接的多个从属处理设备,接收安装控制指令,包括:接收来自主处理设备的安装控制指令,主处理设备的安装控制指令为同时向多个从属处理设备发送的指令。
在一种可能的实施例中,在接收来自主处理设备的安装控制指令之后,若目标从属处理设备在第一预设时间内未通过部署软件清单获取到需要部署的软件信息,该方法还包括:获取其他从属处理设备的安装完成指示,安装完成指示代表对应的从属处理设备已完成需要部署的软件信息的安装;若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量大于第一预设阈值,则重新获取需要部署的软件信息。
一种可能的实施例中,若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量大于第一预设阈值,则重新获取需要部署的软件信息,包括:获取其他从设备的距离数据,距离数据用于表征其他从设备与目标从设备之间的物理距离;获取已发送安装完成指示且距离数据最低的其他从设备的需要部署的软件信息,根据距离数据最低的其他从设备的需要部署的软件信息完成安装。
在一种可能的实施例中,在根据需要部署的软件信息和部署软件清单确定需要安装的软件信息,对需要安装的软件信息进行安装,需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件之后,方法还包括:获取述安装控制指令指示需要部署的软件信息的基础服务清单;基础服务清单中包括需要部署的软件信息的单机环境版本和集群环境版本;若系统为单个服务器架构则安装需要部署的软件信息的单机环境版本;若系统为多个服务器架构则安装需要部署的软件信息的集群环境版本。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种自动化系统部署方法,其特征在于,包括以下步骤:
获取系统需要部署的软件信息,所述软件信息包括系统依赖包和中间件软件;
根据所述软件信息确定系统的服务器配置;
接收安装控制指令,所述安装控制指令用于指示完成所述需要部署的软件信息的安装;
获取部署软件清单,所述部署软件清单用于指示已安装的依赖软件包和中间件软件;
根据所述需要部署的软件信息和所述部署软件清单确定需要安装的软件信息,对所述需要安装的软件信息进行安装,所述需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件。
2.根据权利要求1所述的方法,其特征在于,所述服务器配置包括服务器端口号、服务器部署的路径、服务器日志的路径、服务器备份的路径中的至少一种。
3.根据权利要求1所述的方法,其特征在于,所述部署软件清单包括对应的软件版本目录,所述软件版本目录用于指示所述部署软件清单中已安装依赖软件包和中间件软件的存放位置,在所述对所述需要安装的软件信息进行安装之后,所述方法还包括:
获取所述软件信息中包括的安装目录,根据所述安装目录将所述需要安装的软件信息对应的软件版本更新到所述软件版本目录中。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法应用于局域网系统中的目标从属处理设备,所述局域网系统中包括主处理设备,和与所述主处理设备连接的多个从属处理设备,所述接收安装控制指令,包括:
接收来自所述主处理设备的安装控制指令,所述主处理设备的安装控制指令为同时向所述多个从属处理设备发送的指令。
5.根据权利要求4所述的方法,在接收来自所述主处理设备的安装控制指令之后,若目标从属处理设备在第一预设时间内未通过所述部署软件清单获取到需要部署的软件信息,所述方法还包括:
获取其他从属处理设备的安装完成指示,所述安装完成指示代表对应的从属处理设备已完成需要部署的软件信息的安装;
若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量大于第一预设阈值,则重新获取所述需要部署的软件信息。
6.根据权利要求5所述的方法,其特征在于,所述若在第二预设时间内,获取到的其他从属处理设备的安装完成指示的数量大于第一预设阈值,则重新获取所述需要部署的软件信息,包括:
获取所述其他从设备的距离数据,所述距离数据用于表征所述其他从设备与目标从设备之间的物理距离;
获取已发送安装完成指示且距离数据最低的其他从设备的需要部署的软件信息,根据所述距离数据最低的其他从设备的需要部署的软件信息完成安装。
7.根据权利要求1所述的方法,其特征在于,在所述根据所述需要部署的软件信息和所述部署软件清单确定需要安装的软件信息,对所述需要安装的软件信息进行安装,所述需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件之后,所述方法还包括:
获取述安装控制指令指示需要部署的软件信息的基础服务清单;
所述基础服务清单中包括需要部署的软件信息的单机环境版本和集群环境版本;
若所述系统为单个服务器架构则安装所述需要部署的软件信息的单机环境版本;若所述系统为多个服务器架构则安装所述需要部署的软件信息的集群环境版本。
8.一种自动化系统部署装置,用于执行自动化系统部署方法,其特征在于,所述装置包括:
获取单元:用于获取系统需要部署的软件信息,所述软件信息包括系统依赖包和中间件软件;
确定单元:用于根据所述软件信息确定系统的服务器配置;
接收单元:用于接收安装控制指令,所述安装控制指令用于指示完成所述需要部署的软件信息的安装;
所述获取单元:还用于获取部署软件清单,所述部署软件清单用于指示已安装的依赖软件包和中间件软件;
安装单元:根据所述需要部署的软件信息和所述部署软件清单确定需要安装的软件信息,对所述需要安装的软件信息进行安装,所述需要安装的软件信息包括需要安装的依赖软件包和/或需要安装的中间件软件。
9.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-7中任一项所述的方法。
CN202310092524.7A 2023-01-30 2023-01-30 自动化系统部署方法及相关装置 Pending CN116107596A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310092524.7A CN116107596A (zh) 2023-01-30 2023-01-30 自动化系统部署方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310092524.7A CN116107596A (zh) 2023-01-30 2023-01-30 自动化系统部署方法及相关装置

Publications (1)

Publication Number Publication Date
CN116107596A true CN116107596A (zh) 2023-05-12

Family

ID=86261255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310092524.7A Pending CN116107596A (zh) 2023-01-30 2023-01-30 自动化系统部署方法及相关装置

Country Status (1)

Country Link
CN (1) CN116107596A (zh)

Cited By (1)

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

Cited By (2)

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

Similar Documents

Publication Publication Date Title
CN107608706B (zh) 一种基于功能模块的应用程序自动热更新方法
CN103024782B (zh) 一种基站软件版本管理的方法和系统
CN110795420A (zh) 一种基于Ansible的MySQL数据库自动化备份方法
WO2017198156A1 (zh) 业务部署方法、装置和系统
CN116107596A (zh) 自动化系统部署方法及相关装置
CN110597545A (zh) 一种基于ota组件的热补丁智能升级方法及系统
CN111273924A (zh) 软件更新方法及装置
CN111026581A (zh) 应用程序的修复方法及装置、系统、存储介质、电子装置
CN112596771A (zh) 一种不间断服务升级的方法及系统
CN112732285B (zh) 适用于云计算linux操作系统的升级方法、装置及电子设备
CN117056115B (zh) 应用程序的修复方法和装置、存储介质及电子设备
CN114064084A (zh) Onu的升级管理方法、存储介质、电子装置和onu
EP3260981B1 (en) Information processing apparatus, information processing system, and information processing method for updating firmware
CN112860297A (zh) 基于汽车双目相机的存储系统和系统更新方法
CN108170456A (zh) 电子设备的固件升级方法及装置
CN106933604B (zh) 一种系统升级方法及装置
CN113157307A (zh) 一种软件版本升级方法及装置
CN108958827B (zh) 一种处理程序升级故障的方法和系统
CN112532660A (zh) 一种数据同步的方法、装置和网络管理系统
CN111443951A (zh) 一种系统启动方法和系统启动装置
CN113626053B (zh) 一种Web应用在线升级的方法、装置、设备及可读介质
CN116185462B (zh) 一种前端应用升级的方法、系统、计算机和可读存储介质
CN115599405A (zh) 一种基于docker的扩展服务管理方法及相关装置
CN111708556A (zh) 一种终端的多4g模块自动更新方法及装置
CN106851676A (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