CN112162756A - 软件产品的部署方法、装置、计算机设备和存储介质 - Google Patents
软件产品的部署方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112162756A CN112162756A CN202010982152.1A CN202010982152A CN112162756A CN 112162756 A CN112162756 A CN 112162756A CN 202010982152 A CN202010982152 A CN 202010982152A CN 112162756 A CN112162756 A CN 112162756A
- Authority
- CN
- China
- Prior art keywords
- deployment
- steps
- software product
- information
- similar characteristics
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种软件产品的部署方法、装置、计算机设备和存储介质。通过获取目标软件产品的包括部署目标软件产品的部署步骤部署信息,并分析部署信息,获取部署信息中具有相似特征的部署步骤,然后根据部署信息对目标软件产品进行部署,且具有相似特征的部署步骤采用并行方式进行部署。大大缩短软件产品部署时间,从而有效的提升软件自动部署的效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种软件产品的部署方法、装置、计算机设备和存储介质。
背景技术
随着信息技术的发展,越来越多的软件产品出现。一般在发布软件产品时,为了改善软件开发过程,标准流程包括:持续集成(Continuous Integration)、持续交付(Continuous delivery)及持续部署(continuous deployment)。
软件的自动安装、自动配置是落地实施上述标准流程中“持续”行为中非常重要的一环;无论在测试环境还是生产环境中,快速地实现软件自动部署都将提升标准流程中“持续”行为的效率。现有技术中,进行软件部署时,是以完全顺序来完成软件产品的部署的,即以软件产品的部署顺序进行逐一部署。
然而,现有技术软件部署时部署效率较为低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高软件产品部署效率的软件产品的部署方法、装置、计算机设备和存储介质。
第一方面,本申请实施例提供一种软件产品的部署方法,该方法包括:
获取目标软件产品的部署信息;部署信息中包括部署目标软件产品的部署步骤;
分析部署信息,获取部署信息中具有相似特征的部署步骤;
根据部署信息对目标软件产品进行部署;其中,具有相似特征的部署步骤采用并行方式进行部署。
在其中一个实施例中,上述部署信息包括目标软件产品中待部署的子***,每个子***包括各自的部署步骤;
则上述获取部署信息中具有相似特征的部署步骤,包括:
获取各子***之间的具有相似特征的部署步骤。
在其中一个实施例中,上述具有相似特征的部署步骤包括一组或者多组;
则上述获取各子***之间的具有相似特征的部署步骤,包括:
分析各子***中各部署步骤的特征;
根据特征的分析结果,获取一组或者多组具有相似特征的部署步骤。
在其中一个实施例中,上述根据部署信息对目标软件产品进行部署,包括:
获取部署信息中各部署步骤的部署顺序;
根据部署顺序,确定具有相似特征的部署步骤的第一部署节点;
根据各部署步骤的部署顺序和第一部署节点对目标软件产品进行部署。
在其中一个实施例中,上述根据各部署步骤的部署顺序和具有相似特征的部署步骤的部署节点对目标软件产品进行部署,包括:
获取部署信息中除了具有相似特征的部署步骤之外的部署步骤的第二部署节点;
在第二部署节点执行对应部署信息中除了具有相似特征的部署步骤之外的部署步骤,以及在第一部署节点并行执行具有相似特征的部署步骤,完成对目标软件产品的部署。
在其中一个实施例中,若存在多组具有相似特征的部署步骤,则每一组具有相似特征的部署步骤对应一个第一部署节点;
上述在第一部署节点并行执行具有相似特征的部署步骤,包括:
在每一个第一部署节点并行执行第一部署节点对应的一组具有相似特征的部署步骤。
在其中一个实施例中,上述目标软件产品为远程医疗信息***软件,该子***包括放射科信息管理***、影像归档和通信***、图像***,各子***之间具有相似特征的部署步骤包括:安装数据库、运行数据脚本、拷贝文件到对应目录;
则上述具有相似特征的部署步骤采用并行方式进行部署,包括:在对远程医疗信息***软件进行部署时,各子***的安装数据库、运行数据脚本、拷贝文件到对应目录步骤分别采用多线程方式并行执行。
在其中一个实施例中,具有相似特征的部署步骤表示多个部署步骤的操作过程或操作目相同的步骤。
第二方面,本申请实施例提供一种软件产品的部署装置,该装置包括:
获取模块,用于获取目标软件产品的部署信息;部署信息中包括部署目标软件产品的部署步骤;
分析模块,用于分析部署信息,获取部署信息中具有相似特征的部署步骤;
部署模块,用于根据部署信息对目标软件产品进行部署;其中,具有相似特征的部署步骤采用并行方式进行部署。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面实施例提供的任一方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面实施例提供的任一方法的步骤。
本申请实施例提供的一种软件产品的部署方法方法、装置、计算机设备和存储介质,通过获取目标软件产品的包括部署目标软件产品的部署步骤部署信息,并分析部署信息,获取部署信息中具有相似特征的部署步骤,然后根据部署信息对目标软件产品进行部署,且具有相似特征的部署步骤采用并行方式进行部署。通过将完全顺序执行部署步骤的逻辑融入多线程技术,采用并行方式执行具有特征的部署步骤,大大缩短软件产品部署时间,且当软件产品的部署过程越复杂,提升效果越明显,从而有效的提升软件自动部署的效率。
附图说明
图1为一个实施例中软件产品的部署方法的应用环境图;
图2为一个实施例中软件产品的部署方法的流程示意图;
图3为另一个实施例中软件产品的部署方法的流程示意图;
图4为另一个实施例中软件产品的部署方法的流程示意图;
图5为一个实施例中软件产品的部署示意图;
图6为另一个实施例中软件产品的部署方法的流程示意图;
图7为一个实施例中软件产品的部署方法的流程图;
图8为一个实施例中软件产品的部署装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种软件产品的部署方法,可以应用于如图1所示的应用环境中。其中,该软件产品的部署方法应用在图1所示的计算机设备中,该计算机设备可以是服务器,其内部结构图请参见图1。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储软件产品的部署的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种软件产品的部署方法。
本申请实施例提供一种软件产品的部署方法、装置、计算机设备和存储介质,能够提高软件产品部署效率。下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请提供的一种软件产品的部署方法,图2-图7的执行主体为计算机设备。其中,该图2-图7的执行主体还可以是软件产品的部署装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
在一个实施例中,如图2所示,提供了一种软件产品的部署方法,以该方法应用于图1中的计算机设备为例进行说明,本实施例涉及的是计算机设备根据目标软件产品的部署信息中具有相似特征的部署步骤,通过将具有相似特征的部署步骤采用并行方式执行的方式,对目标软件产品进行部署的具体过程,该实施例包括以下步骤:
S101,获取目标软件产品的部署信息;部署信息中包括部署目标软件产品的部署步骤。
目标软件产品指的是当前需要部署的软件产品,例如,远程医疗信息***软件;其中,部署信息指的部署该目标软件产品需要用到的信息,其包括但不限于部署目标软件产品的部署步骤、部署子***信息、部署顺序、部署条件、部署位置等等,本实施例对此不加以限制。
实际应用中,计算机设备获取目标软件产品的部署信息的方式可以是接收用户输入到的信息,也可以是计算机设备从已经预先存储了部署信息的数据存储库中调取,或者,计算机设备向第三方设备(例如,服务器)请求获取的,本实施例对获取目标软件产品的部署信息不作限定。
S102,分析部署信息,获取部署信息中具有相似特征的部署步骤。
在获取到了部署信息后,计算机设备对部署信息进行分析,以获取部署信息中具有相似特征的部署步骤,可选地,具有相似特征的部署步骤表示多个部署步骤的操作过程或操作目相同的步骤;其中,具有相似特征指的是两个或多个部署步骤的操作过程、操作目的类似或者相同,例如,部署信息中在第一阶段具有安装数据库、运行数据脚本的步骤,在第三阶段中也有安装数据库、运行数据脚本的步骤,那么,第一阶段的安装数据库步骤和第三阶段的安装数据库步骤就属于具体相似特征的部署步骤,第一阶段的运行数据脚本步骤和第三阶段的运行数据脚本步骤也属于具体相似特征的部署步骤。例如,计算机设备将部署信息中存在的所有步骤的具体内容进行分析,比如通过分析各步骤的操作方式、操作目的、操作过程等,根据分析结果确定这些部署步骤中是否存在于具体相似特征的部署步骤。可以理解的是本实施例中获取的具有相似特征的部署步骤为一组或者多组,对具有相似特征的部署步骤的数量不作限定。
其中,具有相似特征的部署步骤还可以是计算机设备对多个部署步骤之间计算相似度,若相似度大于预设相似度阈值的部署步骤可认为是具有相似特征的部署步骤。其中,实际应用时,具有相似特征的部署步骤可以是在执行部署步骤前分析得到的,也可以是预先为具有相似特征的部署步骤分配同一个或者同一系列标识符,计算机设备通过标识符来判断哪一些部署步骤是具有相似特征的部署步骤。例如,通常在软件***在部署的过程中,具有相似特征的部署步骤包括但不限于是:解压安装包、将文件拷贝到指定目录、修改注册表(Windows***下)、安装必要的组件,比如数据库等、启动必要的组件,如果需要则还需准备相关基础数据,例如往数据库中刷入相应版本的基础数据(含元数据信息及数据信息)、安装或启动相应的服务等等,本实施例对此不作限定。
S103,根据部署信息对目标软件产品进行部署;其中,具有相似特征的部署步骤采用并行方式进行部署。
基于上述获取的具有相似特征的部署步骤,计算机设备结合部署信息中其他信息对该目标软件产品进行部署。其中,在部署时,计算机设备将具有相似特征的部署步骤采用并行方式进行部署。
示例地,该目标软件产品中的部署步骤包括步骤1-步骤10,其中,步骤1和步骤5为具有相似特征的步骤,步骤3、步骤7和步骤10为具有相似特征的步骤;这里需要说明的是,步骤1-步骤10可以不是同阶段或者同一子***中的顺序步骤,例如,步骤1到步骤4是该目标软件产品一个子***中的步骤,而步骤8-步骤10是另外一个子***中步骤;那么计算机设备部署目标软件产品时,执行到步骤1时,步骤1和步骤5要采用并行方式同时执行,同样,执行到步骤3时,步骤3、步骤7和步骤10同样也要采用并行方式同时执行。
本实施例提供的软件产品的部署方法,通过获取目标软件产品的包括部署目标软件产品的部署步骤部署信息,并分析部署信息,获取部署信息中具有相似特征的部署步骤,然后根据部署信息对目标软件产品进行部署,且具有相似特征的部署步骤采用并行方式进行部署。通过将完全顺序执行部署步骤的逻辑融入多线程技术,采用并行方式执行具有特征的部署步骤,大大缩短软件产品部署时间,且当软件产品的部署过程越复杂,提升效果越明显,从而有效的提升软件自动部署的效率。
通常软件产品中均具有多个子***,例如,远程医疗信息***软件包括子***:放射科信息管理***、影像归档和通信***、图像***;对于软件产品中每个子***来说,均有各自对应的部署步骤。则在一个实施例中,若部署信息包括目标软件产品中待部署的子***,且每个子***包括各自的部署步骤;那么上述获取部署信息中具有相似特征的部署步骤,包括:获取各子***之间的具有相似特征的部署步骤。
示例地,该目标软件产品有子***A、子***B、子***C、子***D;其而每个子***中均具有部署步骤①、②、③、④、⑤、⑥,则计算机设备要获取的是子***A、子***B、子***C、子***D之间的具有相似特征的部署步骤。可选地,具有相似特征的部署步骤包括一组或者多组,则如图3所示,获取各子***之间的具有相似特征的部署步骤,包括:
S201,分析各子***中各部署步骤的特征。
S202,根据特征的分析结果,获取一组或者多组具有相似特征的部署步骤。
分析各个子***中各自的部署步骤的特征,例如,各步骤的操作方式、操作过程、操作目的等,得到分析结果后,计算机设备对比各部署步骤的分析结果,根据分析结果,确定出具有相似特征的部署步骤,其中,确定出的具有相似特征的部署步骤具有一组或者多组。例如,上述子***A、子***B、子***C、子***D各自均具有部署步骤①、②、③、④、⑤、⑥,那么确定出的具有相似特征的部署步骤可以包括:一组是A①、B①和D①,一组是B③、C③和D③,还有一组是A⑥和C⑥。对相似特征的部署步骤的组数量不作限制。
本实施例提供的软件产品的部署方法,在软件产品具有多个子***的情况下,可以获取到各子***之间的一组或者多组具有相似特征的部署步骤,通过确定出多组具有相似特征,可以将具有相似特征的部署步骤采用并行方式执行,从而缩短软件部署时间,提高软件部署效率。
下面通过具体的实施例对上述计算机设备对目标软件产品进行部署的过程进行详细说明。
在一个实施例中,如图4所示,上述S103包括以下步骤:
S301,获取部署信息中各部署步骤的部署顺序。
对于一个软件产品来说,其在部署时涉及的部署步骤都是有顺序的,例如,先执行安装数据库,再执行运行数据脚本。可选地,若各部署步骤处于多个子***中,则确定的部署步骤的部署顺序则分别对应在各子***中,例如,在子***A中有五个步骤,这五个步骤具有对应的部署顺序,而在子***B中具有四个步骤,这四个步骤也具有对应的部署顺序。
S302,根据部署顺序,确定具有相似特征的部署步骤的第一部署节点。
在确定了部署顺序后,进一步确定出已获取的具有相似步骤的部署步骤所处的节点(即第一部署节点),这里的部署节点指的是在部署顺序中的节点。
例如,请参见图5,子***A的步骤②、子***B的步骤②、子***C的步骤②、子***D的步骤②为一组相似步骤,且该步骤②为第二个步骤,所以其在部署顺序中的部署节点为第二个节点。
S303,根据各部署步骤的部署顺序和第一部署节点对目标软件产品进行部署。
在确定了具有相似特征的部署步骤的第一部署节点后,结合各部署步骤的顺序,计算机设备开始部署目标软件产品,部署时将所有具有相似特征的部署步骤根据其对应的第一部署节点同时进行部署。
在一个实施例中,如图6所示,S303在一个实施例中包括以下步骤:
S401,获取部署信息中除了具有相似特征的部署步骤之外的部署步骤的第二部署节点。
部署步骤中除了具有相似特征的部署步骤以外,还存在单一的部署步骤,所以在确定了具有相似特征的部署步骤后,还需要确定剩下的单一部署步骤各自的部署节点,即第二部署节点。例如,子***A中的步骤④、子***B中的步骤⑥,以及子***C中的步骤①均为单一步骤,其部署节点分别就是各自在自***中的序号所在节点。
S402,在第二部署节点执行对应部署信息中除了具有相似特征的部署步骤之外的部署步骤,以及在第一部署节点并行执行具有相似特征的部署步骤,完成对目标软件产品的部署。
得到了具有相似特征的部署步骤的第一部署节点和单一部署步骤的第二部署节点,即得到了部署步骤中所有步骤的部署节点,那么计算机设备根据各步骤对应的部署节点执行各步骤即可。
实际应用中,存在确定出的具有相似特征的部署步骤有多组的情况,对于这多组具有相似特征的部署步骤,每一组对应一个第一部署节点,这种情况下,在第一部署节点并行执行具有相似特征的部署步骤的过程就是在每一个第一部署节点并行执行该第一部署节点对应的一组具有相似特征的部署步骤。所以对于越复杂的部署过程,当确定的具有相似特征的部署步骤越多时,并行执行各组具有相似特征的部署步骤后,该软件的部署效率越高。
例如,请继续参见图5,子***A、子***B、子***C、子***D;其每个子***中均具有部署步骤①、②、③、④、⑤、⑥,部署顺序为各子***中按照各自部署步骤序号的顺序执行,即各步骤的部署节点就是各步骤的序号所在节点,例如,步骤②的部署节点是部署顺序中的第二个执行。其中,各子***的步骤②为一组具有相似特征的部署步骤,各子***的步骤④⑤⑥为一组具有相似特征的部署步骤。则计算机设备在部署各子***的步骤时,顺序是:先依次将子***A、子***B、子***C、子***D中步骤①执行完成,然后将子***A、子***B、子***C、子***D中的步骤②并行执行,再然后在依次执行子***A、子***B、子***C、子***D中步骤③,再然后将子***A、子***B、子***C、子***D中的步骤④⑤⑥并行执行。这样,整个软件部署过程,由于将多个步骤并行执行了,所以节省了这些步骤单独执行的时间,从而提升了该软件部署效率,且节省的步骤越多,提升的效率就越明显。
可选地,以目标软件产品为远程医疗信息***软件为例,该远程医疗信息***软件包括子***:放射科信息管理***、影像归档和通信***、图像***,其中,各子***之间具有相似特征的部署步骤包括:安装数据库、运行数据脚本、拷贝文件到对应目录;则具有相似特征的部署步骤采用并行方式进行部署,包括:在对远程医疗信息***软件进行部署时,各子***的安装数据库、运行数据脚本、拷贝文件到对应目录步骤分别采用多线程方式并行执行。
其中,在远程医疗信息***软件中,有子***放射科信息管理***(Radiol ogyInformation System,RIS)、影像归档和通信***(Picture Archiving andCommunication Systems,PACS)、2D图像***、3D图像***,而这些子***都有相似的步骤:安装数据库、运行数据脚本、拷贝文件到IIS目录等;因此,在进行各个步骤的过程中可以使用多线程技术一次将相似步骤同时执行,即将所有子***的安装数据库的步骤统一进行,将所有子***的运行数据脚本步骤统一进行,以及将所有子***的拷贝文件到IIS目录步骤统一进行,并在这些相似的步骤完成后,再依据RIS、PACS、2D、3D这些子***各自的特点,分别进行它们独自的步骤,例如,RIS需要进行独特的***配置,PACS需要进行归档数据,而2D、3D没有独特的步骤就不需要单独执行。通过具体的远程医疗信息***软件产品进行说明,在部署过程中对远程医疗信息***软件的装数据库、运行数据脚本、拷贝文件到对应目录的采用多线程并行部署,极大地提升了远程医疗信息***软件的部署效率。
如图7所示,本申请实施例提供了一种软件产品的部署方法,该实施例包括:
S1,获取目标软件产品的部署信息,部署信息包括目标软件产品中待部署的子***,每个子***包括各自的部署步骤;
S2,分析各子***中各部署步骤的特征;
S3,根据特征的分析结果,获取一组或者多组具有相似特征的部署步骤;
S4,获取部署信息中各部署步骤的部署顺序;
S5,根据部署顺序,确定具有相似特征的部署步骤的第一部署节点;
S6,获取部署信息中除了具有相似特征的部署步骤之外的部署步骤的第二部署节点;
S7,在第二部署节点执行对应部署信息中除了具有相似特征的部署步骤之外的部署步骤,以及在第一部署节点并行执行具有相似特征的部署步骤,完成对目标软件产品的部署。
本实施例提供的软件产品的部署方法中各步骤,其实现原理和技术效果与前面各软件产品的部署方法实施例中类似,在此不再赘述。图7实施例中各步骤的实现方式只是一种举例,对各实现方式不作限定,各步骤的顺序在实际应用中可进行调整,只要可以实现各步骤的目的即可。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种软件产品的部署装置,该装置包括:
获取模块10,用于获取目标软件产品的部署信息;部署信息中包括部署目标软件产品的部署步骤;
分析模块11,用于分析部署信息,获取部署信息中具有相似特征的部署步骤;
部署模块12,用于根据部署信息对目标软件产品进行部署;其中,具有相似特征的部署步骤采用并行方式进行部署。
在一个实施例中,上述部署信息包括目标软件产品中待部署的子***,每个子***包括各自的部署步骤;上述分析模块11包括相似步骤获取单元,用于具体用于获取各子***之间的具有相似特征的部署步骤。
在一个实施例中,上述具有相似特征的部署步骤包括一组或者多组;上述相似步骤获取单元包括:
分析子单元,用于分析各子***中各部署步骤的特征;
获取子单元,用于根据特征的分析结果,获取一组或者多组具有相似特征的部署步骤。
在一个实施例中,上述部署模块12包括:
顺序获取单元,用于获取部署信息中各部署步骤的部署顺序;
确定单元,用于根据部署顺序,确定具有相似特征的部署步骤的第一部署节点;
部署单元,用于根据各部署步骤的部署顺序和第一部署节点对目标软件产品进行部署。
在一个实施例中,上述部署单元包括:
确定子单元,用于获取部署信息中除了具有相似特征的部署步骤之外的部署步骤的第二部署节点;
部署子单元,用于在第二部署节点执行对应部署信息中除了具有相似特征的部署步骤之外的部署步骤,以及在第一部署节点并行执行具有相似特征的部署步骤,完成对目标软件产品的部署。
在一个实施例中,若存在多组具有相似特征的部署步骤,则每一组具有相似特征的部署步骤对应一个第一部署节点;上述部署子单元,具体用于在每一个第一部署节点并行执行第一部署节点对应的一组具有相似特征的部署步骤。
在一个实施例中,上述目标软件产品为远程医疗信息***软件,该子***包括放射科信息管理***、影像归档和通信***、图像***,各子***之间具有相似特征的部署步骤包括:安装数据库、运行数据脚本、拷贝文件到对应目录;上述部署模块,具体用于在对远程医疗信息***软件进行部署时,各子***的安装数据库、运行数据脚本、拷贝文件到对应目录步骤分别采用多线程方式并行执行。
在一个实施例中,具有相似特征的部署步骤表示多个部署步骤的操作过程或操作目相同的步骤。
关于软件产品的部署装置的具体限定可以参见上文中对于软件产品的部署方法的限定,在此不再赘述。上述软件产品的部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种软件产品的部署方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取目标软件产品的部署信息;部署信息中包括部署目标软件产品的部署步骤;
分析部署信息,获取部署信息中具有相似特征的部署步骤;
根据部署信息对目标软件产品进行部署;其中,具有相似特征的部署步骤采用并行方式进行部署。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取目标软件产品的部署信息;部署信息中包括部署目标软件产品的部署步骤;
分析部署信息,获取部署信息中具有相似特征的部署步骤;
根据部署信息对目标软件产品进行部署;其中,具有相似特征的部署步骤采用并行方式进行部署。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种软件产品的部署方法,其特征在于,所述方法包括:
获取目标软件产品的部署信息;所述部署信息中包括部署所述目标软件产品的部署步骤;
分析所述部署信息,获取所述部署信息中具有相似特征的部署步骤;
根据所述部署信息对所述目标软件产品进行部署;其中,所述具有相似特征的部署步骤采用并行方式进行部署。
2.根据权利要求1所述的方法,其特征在于,所述部署信息包括所述目标软件产品中待部署的子***,每个子***包括各自的部署步骤;
所述获取所述部署信息中具有相似特征的部署步骤,包括:
获取各所述子***之间的具有相似特征的部署步骤。
3.根据权利要求2所述的方法,其特征在于,所述具有相似特征的部署步骤包括一组或者多组;
所述获取各子***之间的具有相似特征的部署步骤,包括:
分析各所述子***中各部署步骤的特征;
根据所述特征的分析结果,获取一组或者多组具有相似特征的部署步骤。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述部署信息对所述目标软件产品进行部署,包括:
获取所述部署信息中各部署步骤的部署顺序;
根据所述部署顺序,确定所述具有相似特征的部署步骤的第一部署节点;
根据各所述部署步骤的部署顺序和所述第一部署节点对所述目标软件产品进行部署。
5.根据权利要求4所述的方法,其特征在于,所述根据各所述部署步骤的部署顺序和所述具有相似特征的部署步骤的部署节点对所述目标软件产品进行部署,包括:
获取所述部署信息中除了所述具有相似特征的部署步骤之外的部署步骤的第二部署节点;
在所述第二部署节点执行对应所述部署信息中除了所述具有相似特征的部署步骤之外的部署步骤,以及在所述第一部署节点并行执行所述具有相似特征的部署步骤,完成对所述目标软件产品的部署。
6.根据权利要求5所述的方法,其特征在于,若存在多组具有相似特征的部署步骤,则每一组具有相似特征的部署步骤对应一个第一部署节点;
所述在第一部署节点并行执行所述具有相似特征的部署步骤,包括:
在每一个第一部署节点并行执行所述第一部署节点对应的一组具有相似特征的部署步骤。
7.根据权利要求1所述的方法,其特征在于,所述目标软件产品为远程医疗信息***软件,所述子***包括放射科信息管理***、影像归档和通信***、图像***,各所述子***之间具有相似特征的部署步骤包括:安装数据库、运行数据脚本、拷贝文件到对应目录;
则所述具有相似特征的部署步骤采用并行方式进行部署,包括:在对所述远程医疗信息***软件进行部署时,各所述子***的安装数据库、运行数据脚本、拷贝文件到对应目录步骤分别采用多线程方式并行执行。
8.根据权利要求1所述的方法,其特征在于,所述具有相似特征的部署步骤表示多个部署步骤的操作过程或操作目相同的步骤。
9.一种软件产品的部署装置,其特征在于,所述装置包括:
获取模块,用于获取目标软件产品的部署信息;所述部署信息中包括部署所述目标软件产品的部署步骤;
分析模块,用于分析所述部署信息,获取所述部署信息中具有相似特征的部署步骤;
部署模块,用于根据所述部署信息对所述目标软件产品进行部署;其中,所述具有相似特征的部署步骤采用并行方式进行部署。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982152.1A CN112162756B (zh) | 2020-09-17 | 2020-09-17 | 软件产品的部署方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982152.1A CN112162756B (zh) | 2020-09-17 | 2020-09-17 | 软件产品的部署方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112162756A true CN112162756A (zh) | 2021-01-01 |
CN112162756B CN112162756B (zh) | 2022-04-26 |
Family
ID=73858192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010982152.1A Active CN112162756B (zh) | 2020-09-17 | 2020-09-17 | 软件产品的部署方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112162756B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11997094B2 (en) | 2017-12-08 | 2024-05-28 | Net-Thunder, Llc | Automatically deployed information technology (IT) system and method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294872A1 (en) * | 2007-05-24 | 2008-11-27 | Bryant Jay S | Defragmenting blocks in a clustered or distributed computing system |
CN108809683A (zh) * | 2017-05-04 | 2018-11-13 | 中兴通讯股份有限公司 | 部署云应用***的方法及装置 |
CN109189415A (zh) * | 2018-08-31 | 2019-01-11 | 郑州云海信息技术有限公司 | 部署服务器的装置、方法、***及计算机可读存储介质 |
WO2019113553A1 (en) * | 2017-12-08 | 2019-06-13 | Net-Thunder, Llc | Automatically deployed information technology (it) system and method |
US20190243629A1 (en) * | 2018-02-06 | 2019-08-08 | Smartshift Technologies, Inc. | Systems and methods for entry point-based code analysis and transformation |
CN110391938A (zh) * | 2019-07-26 | 2019-10-29 | 北京百度网讯科技有限公司 | 用于部署服务的方法和装置 |
CN111258591A (zh) * | 2020-01-14 | 2020-06-09 | 广州极晟网络技术有限公司 | 程序部署任务执行方法、装置、计算机设备和存储介质 |
-
2020
- 2020-09-17 CN CN202010982152.1A patent/CN112162756B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294872A1 (en) * | 2007-05-24 | 2008-11-27 | Bryant Jay S | Defragmenting blocks in a clustered or distributed computing system |
CN108809683A (zh) * | 2017-05-04 | 2018-11-13 | 中兴通讯股份有限公司 | 部署云应用***的方法及装置 |
WO2019113553A1 (en) * | 2017-12-08 | 2019-06-13 | Net-Thunder, Llc | Automatically deployed information technology (it) system and method |
US20190243629A1 (en) * | 2018-02-06 | 2019-08-08 | Smartshift Technologies, Inc. | Systems and methods for entry point-based code analysis and transformation |
CN109189415A (zh) * | 2018-08-31 | 2019-01-11 | 郑州云海信息技术有限公司 | 部署服务器的装置、方法、***及计算机可读存储介质 |
CN110391938A (zh) * | 2019-07-26 | 2019-10-29 | 北京百度网讯科技有限公司 | 用于部署服务的方法和装置 |
CN111258591A (zh) * | 2020-01-14 | 2020-06-09 | 广州极晟网络技术有限公司 | 程序部署任务执行方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
FTDDATA: "R语言—并行计算", 《HTTPS://BLOG.CSDN.NET/JHR112/ARTICLE/DETAILS/103865161》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11997094B2 (en) | 2017-12-08 | 2024-05-28 | Net-Thunder, Llc | Automatically deployed information technology (IT) system and method |
Also Published As
Publication number | Publication date |
---|---|
CN112162756B (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729041B (zh) | 应用程序热更新方法、装置、终端和存储介质 | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN111176818B (zh) | 分布式预测的方法、装置、***、电子设备及存储介质 | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN109753300B (zh) | 一种算法升级方法、计算任务发送方法及相关装置 | |
CN112162756B (zh) | 软件产品的部署方法、装置、计算机设备和存储介质 | |
CN112685091A (zh) | 基于大数据的业务请求处理方法、装置、设备和介质 | |
CN110209420A (zh) | 一种更新引导加载程序的方法及装置 | |
CN104216781A (zh) | 显存分配方法及*** | |
CN107526636B (zh) | 资源识别方法及装置 | |
CN110597552A (zh) | 项目持续集成流水线的配置方法、装置、设备及存储介质 | |
CN113742224A (zh) | 测试***、方法、装置、计算机设备和存储介质 | |
CN110362319A (zh) | 应用管理方法及装置、计算机装置和计算机可读存储介质 | |
CN112487324A (zh) | 页面生成方法、装置、电子介质及存储介质 | |
CN111562952A (zh) | 双芯智能电表管理单元的动态装载方法、动态装载装置 | |
CN111803105B (zh) | Ct校正的数据处理方法、装置、***和计算机设备 | |
CN114756293A (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
CN112862452A (zh) | 执行工单等效方法、装置、计算机设备和存储介质 | |
CN112965815B (zh) | 主机部署方法及装置、电子设备和计算机存储介质 | |
CN114374688A (zh) | 应用程序部署方法、装置、计算机设备和存储介质 | |
CN110718285B (zh) | 数据归档方法、***、装置和存储介质 | |
CN107741892A (zh) | 测试集群的搭建方法及其***、以及电子设备 | |
CN116301934A (zh) | 软件安装方法、装置、计算机设备和存储介质 | |
CN111596941B (zh) | 应用更新方法、装置、电子设备和介质 | |
CN116775284A (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 |