CN113535186B - 业务应用部署方法和装置 - Google Patents

业务应用部署方法和装置 Download PDF

Info

Publication number
CN113535186B
CN113535186B CN202010294948.8A CN202010294948A CN113535186B CN 113535186 B CN113535186 B CN 113535186B CN 202010294948 A CN202010294948 A CN 202010294948A CN 113535186 B CN113535186 B CN 113535186B
Authority
CN
China
Prior art keywords
deployment
instruction
preset
strategy
sections
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
CN202010294948.8A
Other languages
English (en)
Other versions
CN113535186A (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 Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information 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 Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202010294948.8A priority Critical patent/CN113535186B/zh
Publication of CN113535186A publication Critical patent/CN113535186A/zh
Application granted granted Critical
Publication of CN113535186B publication Critical patent/CN113535186B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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

Abstract

本发明公开了业务应用部署方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取待部署业务应用的部署信息;根据部署信息,生成部署策略和配置文件;根据部署策略,从预设的源码仓库中抽取出多段源码,并组装多段源码;根据组装的结果和所述配置文件,部署待部署业务应用。该实施方式能够有效地提高业务应用部署的效率。

Description

业务应用部署方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种业务应用部署方法和装置。
背景技术
在国际化场景下,很多业务系统如分拣管理系统、配送系统、购物系统等,往往需要在不同国家进行部署,以开展线上服务业务。
目前,对于业务系统中的所有业务应用均需要专业人员手动部署比如逐个配置业务系统的业务应用以及业务应用之间的消息交互,以实现相应的服务。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有的人工部署业务应用往往需要花费比较长的时间,导致业务应用部署的效率较低。
发明内容
有鉴于此,本发明实施例提供一种业务应用部署方法和装置,能够有效地提高业务应用部署的效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种业务应用部署方法,包括:
获取待部署业务应用的部署信息;
根据所述部署信息,生成部署策略和配置文件;
根据所述部署策略,从预设的源码仓库中抽取出多段源码,并组装所述多段源码;
根据组装的结果和所述配置文件,部署所述待部署业务应用。
优选地,生成配置文件步骤包括:
从所述部署信息中抽取出分组环境信息和中间件元数据信息;
将所述分组环境信息和所述中间件元数据信息写入预设的配置模板中,生成配置文件。
优选地,在获取待部署业务应用的部署信息步骤之后,在从预设的源码仓库中抽取出多段源码步骤之前,进一步包括:
根据所述部署信息包括的用户信息,生成授权指令;
判断所述授权指令是否满足预设的授权条件,如果是,则执行所述从预设的源码仓库中抽取出多段源码步骤。
优选地,在生成部署策略步骤之后,在从预设的源码仓库中抽取出多段源码步骤之前,进一步包括:
为所述部署策略生成对应的部署指令;
判断所述部署指令是否满足预设的安全标准,如果是,则执行从预设的源码仓库中抽取出多段源码步骤;否则,将所述部署指令中的不满足部分所对应的部署策略进行标注,并将标注的结果返回给授权用户终端。
优选地,
当所述部署指令的个数为多个时,
在判断出所述部署指令满足预设的安全标准之后,进一步包括:
为每一个所述部署指令生成对应的特征标识;
根据所述部署指令的类型以及所述特征标识,对多个所述部署指令进行排序并添加到策略队列中;
根据多个所述部署指令在所述策略队列中的排序,确定出从预设的源码仓库中抽取出多段源码步骤所根据的部署策略。
优选地,
在判断出所述部署指令满足预设的安全标准之后,进一步包括:
通过预设的第一通道抽取所述部署指令包括的多段源码的地址以及所述多段源码之间的逻辑关系,其中,所述部署指令包括的多段源码的地址以及所述逻辑关系继承于所述部署策略;
从预设的源码仓库中抽取出多段源码,并组装所述多段源码的步骤包括:从预设的源码仓库中抽取出所述多段源码的地址对应的多段源码,并根据所述逻辑关系对所述多段源码进行打包。
优选地,
通过预设的第二通道抽取所述部署指令包括的资源需求,其中,所述部署指令包括的所述资源需求继承于所述部署策略;
部署所述待部署业务应用的步骤包括:将所述待部署业务应用部署到满足所述资源需求的应用容器内。
优选地,所述业务应用部署方法,进一步包括:
存储已部署的业务应用的部署策略;
构建并存储所述已部署的业务应用的部署策略与已部署的业务应用所使用的多段源码地址之间的对应关系;
在更新所述源码仓库中的目标源码后,根据所述对应关系,查找所述目标源码的地址对应的部署策略;
当查找出所述目标源码的地址对应的至少一个部署策略时,
为每一个所述目标源码的地址对应的部署策略,执行为所述部署策略生成对应的部署指令的步骤。
优选地,所述业务应用部署方法,进一步包括:
利用所述部署信息中的健康检测参数,对已部署的业务应用进行健康检测。
第二方面,本发明实施例提供一种业务应用部署装置,包括:元数据管理模块、核心部署组件、配置生成组件以及持续集成组件,其中,
所述元数据管理模块,用于获取待部署业务应用的部署信息;
所述核心部署组件,用于根据所述元数据管理模块获取到的所述部署信息,生成部署策略,根据所述部署策略,从预设的源码仓库中抽取出多段源码,并组装所述多段源码;
所述配置生成组件,用于根据所述元数据管理模块获取到的所述部署信息,生成配置文件;
所述持续集成组件,用于根据所述核心部署组件组装的结果和所述配置生成组件生成的配置文件,部署所述待部署业务应用。
优选地,
所述核心部署组件,进一步用于为所述部署策略生成对应的部署指令,并判断所述部署指令是否满足预设的安全标准,如果是,则执行从预设的源码仓库中抽取出多段源码步骤;否则,将所述部署指令中的不满足部分所对应的部署策略进行标注,并将标注的结果返回给授权用户终端。
优选地,
所述核心部署组件,进一步用于当所述部署指令的个数为多个时,为每一个所述部署指令生成对应的特征标识;根据所述部署指令的类型以及所述特征标识,对多个所述部署指令进行排序并添加到策略队列中;根据多个所述部署指令在所述策略队列中的排序,确定出从预设的源码仓库中抽取出多段源码步骤所根据的部署策略。
优选地,
所述核心部署组件设置有两个通道;
所述核心部署组件,进一步用于通过所述两个通道中的第一通道抽取所述部署指令包括的多段源码的地址以及所述多段源码之间的逻辑关系,其中,所述部署指令包括的多段源码的地址以及所述逻辑关系继承于所述部署策略;从预设的源码仓库中抽取出所述多段源码的地址对应的多段源码,并根据所述逻辑关系对所述多段源码进行打包。
优选地,
所述核心部署组件,进一步用于通过所述两个通道中的第二通道抽取所述部署指令包括的资源需求,其中,所述部署指令包括的所述资源需求继承于所述部署策略;
所述持续集成组件,用于将所述待部署业务应用部署到满足所述资源需求的应用容器内。
上述发明中的一个实施例具有如下优点或有益效果:根据获取到的部署信息,生成部署策略和配置文件,并根据部署策略,从预设的源码仓库中抽取出多段源码,并组装多段源码,通过组装的结果和配置文件,部署业务应用,整个过程实现了自动部署业务应用,在自动部署过程中,基本无需人工的参与,与人工配置部署策略、人工配置文件以及人工编写源码相比,本发明实施例能够有效地提高业务应用部署的效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的业务应用部署方法的主要流程的示意图;
图 2 是根据本发明实施例的部署策略的示意图;
图3是根据本发明实施例的涉及部署策略校验的主要流程的示意图;
图4是根据本发明实施例的涉及处理部署指令的主要流程的示意图;
图5是根据本发明另一实施例的涉及处理部署指令的主要流程的示意图;
图6是根据本发明又一实施例的涉及处理部署指令的主要流程的示意图;
图7是根据本发明又一实施例的涉及处理部署指令的主要流程的示意图;
图8是根据本发明实施例的业务应用部署装置的主要模块的示意图;
图 9 是本发明实施例可以应用于其中的示例性系统架构图;
图10是适于用来实现本发明实施例的服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的业务应用部署方法,如图1所示,该业务应用部署方法可包括如下步骤:
101:获取待部署业务应用的部署信息;
102:根据部署信息,生成部署策略和配置文件;
103:根据部署策略,从预设的源码仓库中抽取出多段源码,并组装多段源码;
104:根据组装的结果和配置文件,部署待部署业务应用。
其中,步骤101的具体实施过程可为,为授权用户提供操作界面如web界面,并通过接口从操作界面上获取部署信息,该部署信息包括:服务环境信息如应用所需的内存、cpu、硬盘、端口、应用容器(Docker)个数、业务应用服务的注册中心信息、所需源码的地址信息、所需源码的名称、多个源码之间的关联关系或调用关系(该关联关系或调用关系可以为文字形式表述可以为流程形式表达)、应用健康检查参数等。
其中,生成部署策略的具体实施方式可为,将多个源码地址信息根据多个源码之间的关联关系或调用关系进行部署,并形成由源码地址信息构建出的部署关系如图2所示,该部署策略:源码A套用在源码B中,在执行完到源码B中的b部分之后,执行源码A,以源码A的执行结果代入b部分之后源码中;执行完成源码B之后,执行源码C,源码D和源码E套用在源码C中,且源码C中的c1部分执行完成之后,将c1产生的结果代入源码D中,在源码D执行完成后,执行源码E,在源码E执行完成后,将源码E产生的结果代入源码C中的c2部分,在执行完c2部分后输出结果。
其中,生成配置文件的具体实施方式可为,预设有配置文件模板,并为该配置文件模板中的可配置参数或者动态信息分配对应的接口,通过该接口将部署信息中的服务环境信息,比如发布环境的地址、业务应用所需调用或连接的数据库地址、其他动态配置参数等。
通过上述过程实现了按照用户需求,配置业务应用,如通过上述过程为客户A部署财务报表处理应用、为客户B部署订单管理应用等。该业务应用主要是指后端应用如部署于电商系统上的应用或者部署于服务器上的应用。
其中,部署信息可包括多个应用所需的部署信息,以实现同时部署多个业务应用,从而进一步提高业务应用的部署效率。
在图1所示的实施例中,根据获取到的部署信息,生成部署策略和配置文件,并根据部署策略,从预设的源码仓库中抽取出多段源码,并组装多段源码,通过组装的结果和配置文件,部署业务应用,整个过程实现了自动部署业务应用,在自动部署过程中,基本无需人工的参与,与人工配置部署策略、人工配置文件以及人工编写源码相比,本发明实施例能够有效地提高业务应用部署的效率。
其中,部署策略配置的程序包定义包含但不限于源码包基于com.autodeploy.*包下以及页面资源同属于asset资源包下。
根据部署策略模板、配置策略模板包含的部署信息和配置参数等,自动完成部署,能够有效地降低人工配置的出错几率。
在本发明一个实施例中,上述生成配置文件步骤可包括:从部署信息中抽取出分组环境信息和中间件元数据信息;将分组环境信息和中间件元数据信息写入预设的配置模板中,生成配置文件。分组环境信息可包括应用所需的内存、cpu、硬盘、端口、数据库服务器的域名、端口,服务的注册中心等信息。通过该过程实现了灵活配置部署文件,同时能够快速地为业务应用部署配置文件。
在本发明一个实施例中,在获取待部署业务应用的部署信息步骤之后,在从预设的源码仓库中抽取出多段源码步骤之前,可进一步包括:根据部署信息包括的用户信息,生成授权指令;判断授权指令是否满足预设的授权条件,如果是,则执行从预设的源码仓库中抽取出多段源码步骤,否则,禁止访问源码仓库。能够有效地避免源码仓库中的源码被非法盗用,同时能够保证部署信息的安全性。
其中,生成的授权指令可以为将用户信息打包到预设的指令模板中,从而得到授权指令;也可以为采用md5对用户信息进行加密后产生的加密后的结果通过预设的转换规则(比如建立起数字与字符之间的对应关系,将加密后的结果如数字转换为对应的字符),转换为授权指令。
上述判断授权指令是否满足预设的授权条件的具体实施方式可为判断授权指令包括的用户信息是否与预先存储的授权用户信息相匹配,如果是,则说明授权指令满足授权条件;判断授权指令是否满足预设的授权条件的具体实施方式也可为对授权指令中的一段信息通过预设的转换规则,将该段信息转换为加密后的结果,并对加密后的结果进行解密,将得到的解密信息与预先存储的授权用户信息相匹配,如果是,则说明授权指令满足授权条件;即:该授权条件即授权指令所包括的直接或间接用户信息为授权的用户信息。
在本发明一个实施例中,实现了对部署策略的校验,以保证部署策略的安全性。如图3所示,在生成部署策略步骤之后,在从预设的源码仓库中抽取出多段源码步骤之前,可进一步包括如下步骤:
301:为部署策略生成对应的部署指令;
302:判断部署指令是否满足预设的安全标准,如果是,则执行步骤303;否则,执行步骤304;
303:执行从预设的源码仓库中抽取出多段源码步骤,并结束当前流程;
304:将部署指令中的不满足部分所对应的部署策略进行标注,并将标注的结果返回给授权用户终端。
上述步骤301的上述部署策略主要是流程性的部署策略,为了能够被完全解析,将部署策略生成对应的部署指令,比如将箭头转换为对应的流程流转函数、将部署策略中的源码地址添加到部署指令中等。
上述安全标准是指,部署指令的结构是否满足预设的指令标准结构,或者,部署指令中所有信息均可被识别出,或者,部署指令中包含有的一种或多种源码逻辑关系未被设置于黑名单中(该源码逻辑关系是指从一个源码与另一个源码之间的存在执行逻辑;该黑名单是为源码仓库中的源码预先设置的不能存在逻辑关系的源码)。
在本发明一个实施例中,如图4所示,当部署指令的个数为多个且判断出多个部署指令满足预设的安全标准之后,对部署指令的处理可包括如下步骤:
401:为每一个部署指令生成对应的特征标识;
402:根据部署指令的类型以及特征标识,对多个部署指令进行排序并添加到策略队列中;
403:根据多个部署指令在策略队列中的排序,确定出从预设的源码仓库中抽取出多段源码步骤所根据的部署策略。
其中,步骤401的具体实施方式可以包括:根据部署指令的编号以及生成部署指令的时间戳确定出特征标识,比如:特征标识为部署指令的编号-时间戳,该部署指令的编号可以为部署指令的生成顺序的顺序编码。
上述部署指令的类型可以根据预先设置的类型划分规则进行划分,该类型划分规则可以为部署指令所包含的源码个数,还可以为部署指令所对应的待部署应用的功能属性等。比如,将包含源码个数少、特征标识中时间戳靠前的部署指令在策略队列中的前面,将功能复杂的部署指令部署在策略队列的后面,当部署在策略队列中的部署指令的特征标识中的时间戳与当前时间的时间差达到时间差阈值时,将部署队列中存在的调用指针指向该部署指令,以优先处理该部署指令。通过上述过程实现了对部署指令的管理。
在本发明一个实施例中,在判断出部署指令满足预设的安全标准之后,如图5所示,对部署指令的处理可进一步包括如下步骤:
501:通过预设的第一通道抽取部署指令包括的多段源码的地址以及多段源码之间的逻辑关系,其中,部署指令包括的多段源码的地址以及逻辑关系继承于部署策略;
502:从预设的源码仓库中抽取出多段源码的地址对应的多段源码,并根据逻辑关系对多段源码进行打包。
在本发明一个实施例中,在判断出部署指令满足预设的安全标准之后,如图6所示,对部署指令的处理可进一步包括如下步骤:
601:通过预设的第二通道抽取部署指令包括的资源需求,其中,部署指令包括的所述资源需求继承于部署策略;
602:将待部署业务应用部署到满足资源需求的应用容器内。
上述图5和图6给出的实施方案,实现了源码抽取及打包与业务应用的资源需求抽取分开两个通道完成,能够有效地提高部署指令的处理效率,同时,由于不同通道管理部署指令的不同部分,即将与抽取源码无关的资源需求或环境信息隔离开,避免资源需求或环境信息对抽取源码以及打包源码的干扰,能够有效地保证执行的可靠性和安全性。
优选地,第一通道为Jenkins通道;第二通道为Maven通道。
另外,还可以为Jenkins通道和Maven通道设置连接的策略管理模块,该策略管理模块从第一通道获取多段源码的地址,从数据仓库提取对应的多段源码,并根据所述逻辑关系对所述多段源码进行打包;该策略管理模块同时从第二通道获取资源需求,将待部署业务应用部署到满足资源需求的应用容器内。
在本发明一个实施例中,如图7所示,为了能够对已部署的业务应用进行更新,上述业务应用部署方法可进一步包括如下步骤:
701:存储已部署的业务应用的部署策略;
702:构建已部署的业务应用的部署策略与已部署的业务应用所使用的多段源码地址之间的对应关系;
703:在更新源码仓库中的目标源码后,根据对应关系,查找目标源码的地址对应的部署策略;
704:当查找出目标源码的地址对应的至少一个部署策略时,为每一个目标源码的地址对应的部署策略,执行为部署策略生成对应的部署指令的步骤。
比如,源码A更新后,通过步骤703查找到包含源码A的部署策略1、部署策略2以及部署策略3,则为部署策略1、部署策略2以及部署策略3分别生成对应的部署指令,以通过重新部署业务应用,实现更新业务应用。
在本发明一个实施例中,上述业务应用部署方法,进一步包括:利用部署信息中的健康检测参数,对已部署的业务应用进行健康检测。通过该健康检测能够保证业务应用满足用户需求,尽可能的降低业务应用存在的漏洞。
值得说明的是,针对比较复杂的系统比如电商系统、物流系统等可根据业务逻辑拆分成多个功能业务,为每一个功能业务分别部署对应的业务应用,根据部署策略和配置策略,实现了对业务应用中多段源码的组合,通过试验表明,重组后的业务应用具有可用性且符合J2EE规范。
本发明实施例提供的业务应用部署方法,一方面,降低电商系统部署的人工成本。另一方面,本发明实施例配置的业务应用可以为大的应用系统的一部分或者一个功能应用,即实现了对复杂系统进行重组和裁剪,构建出各个业务应用为复杂系统的子应用,即业务应用是复杂系统的功能子集,从而降低了系统规模和使用复杂度,降低了部署系统时Docker的使用量,降低了电商系统部署的服务器成本。
基于本发明实施例提供的方案,提升业务系统如电商系统的部署灵活性和稳定性,实现业务快速地部署,同时提升了系统的开放能力。
如图8所示,本发明实施例提供一种业务应用部署装置800,该业务应用部署装置800包括:元数据管理模块801、核心部署组件802、配置生成组件803以及持续集成组件804,其中,
元数据管理模块801,用于获取待部署业务应用的部署信息;
核心部署组件802,用于根据元数据管理模块801获取到的所述部署信息,生成部署策略,根据部署策略,从预设的源码仓库(图中未示出)中抽取出多段源码,并组装多段源码;
配置生成组件803,用于根据元数据管理模块801获取到的部署信息,生成配置文件;
持续集成组件804,用于根据核心部署组件802组装的结果和配置生成组件803生成的配置文件,部署待部署业务应用。
在本发明一个实施例中,核心部署组件802,用于从部署信息中抽取出分组环境信息和中间件元数据信息;将分组环境信息和中间件元数据信息写入预设的配置模板中,生成配置文件。
在本发明一个实施例中,核心部署组件802,进一步用于根据部署信息包括的用户信息,生成授权指令;判断授权指令是否满足预设的授权条件,如果是,则执行从预设的源码仓库中抽取出多段源码步骤。
在本发明一个实施例中,核心部署组件802,进一步用于为部署策略生成对应的部署指令;判断部署指令是否满足预设的安全标准,如果是,则执行从预设的源码仓库中抽取出多段源码步骤;否则,将部署指令中的不满足部分所对应的部署策略进行标注,并将标注的结果返回给授权用户终端(图中未示出)。
在本发明一个实施例中,核心部署组件802,进一步用于当部署指令的个数为多个时,在判断出部署指令满足预设的安全标准之后,为每一个部署指令生成对应的特征标识;根据部署指令的类型以及特征标识,对多个部署指令进行排序并添加到策略队列中;根据多个部署指令在策略队列中的排序,确定出从预设的源码仓库中抽取出多段源码步骤所根据的部署策略。
在本发明一个实施例中,核心部署组件802,部署有第一通道(图中未示出),进一步用于通过预设的第一通道抽取所述部署指令包括的多段源码的地址以及多段源码之间的逻辑关系,其中,部署指令包括的多段源码的地址以及逻辑关系继承于部署策略;从预设的源码仓库中抽取出多段源码的地址对应的多段源码,并根据逻辑关系对多段源码进行打包。
在本发明一个实施例中,核心部署组件802,部署有第二通道(图中未示出),进一步用于通过预设的第二通道抽取部署指令包括的资源需求,其中,部署指令包括的资源需求继承于部署策略;
持续集成组件804,用于将待部署业务应用部署到满足核心部署组件802抽取出的资源需求的应用容器内。
在本发明一个实施例中,业务应用部署装置800进一步包括:存储模块(图中未示出)以及关系构建模块(图中未示出),其中,
关系构建模块,用于构建已部署的业务应用的部署策略与已部署的业务应用所使用的多段源码地址之间的对应关系;
存储模块,用于存储已部署的业务应用的部署策略以及已部署的业务应用的部署策略与已部署的业务应用所使用的多段源码地址之间的对应关系;
核心部署组件802,进一步用于在更新源码仓库(图中未示出)中的目标源码后,根据存储模块存储的对应关系,查找目标源码的地址对应的部署策略;当查找出目标源码的地址对应的至少一个部署策略时,为每一个目标源码的地址对应的部署策略,执行为部署策略生成对应的部署指令的步骤。
在本发明一个实施例中,业务应用部署装置800进一步包括:检测模块(图中未示出),其中,
检测模块,用于利用部署信息中的健康检测参数,对已部署的业务应用进行健康检测。
图9示出了可以应用本发明实施例的业务应用部署方法或业务应用部署装置的示例性系统架构900。
如图9所示,系统架构900可以包括终端设备901、902、903,网络904、部署服务器905、业务服务器906、源码仓库907。网络904用以在终端设备901、902、903和部署服务器905之间、部署服务器905和业务服务器906之间以及部署服务器905和源码仓库906之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备901、902、903通过网络904与部署服务器905交互,以接收或发送消息等给服务器905。终端设备901、902、903上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。部署服务器905通过网络904与业务服务器906交互,以部署业务应用到业务服务器905。部署服务器905通过网络904与源码仓库907交互,以从源码仓库907抽取源码到部署服务器905。
终端设备901、902、903可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
部署服务器905可以是提供配置服务的服务器,例如对用户利用终端设备901、902、903配置的部署信息提供部署支持的后台管理服务器(仅为示例)。后台管理服务器可以对获取到的待部署业务应用的部署信息等数据进行分析等处理,并将处理结果(例如业务应用--仅为示例)发送到业务服务器906,以实现业务应用部署。
需要说明的是,本发明实施例所提供的业务应用部署方法一般由部署服务器905执行,相应地,业务应用部署装置一般设置于部署服务器905中。
应该理解,图9中的终端设备、网络、部署服务器、业务服务器以及源码仓库的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、部署服务器、业务服务器以及源码仓库。
下面参考图10,其示出了适于用来实现本发明实施例的配置服务器的计算机系统1000的结构示意图。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块或组件可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块或组件也可以设置在处理器中,例如,可以描述为:一种处理器包括元数据管理模块、核心部署组件、配置生成组件以及持续集成组件。其中,这些模块或组件的名称在某种情况下并不构成对该模块或组件本身的限定,例如,元数据管理模块还可以被描述为“获取待部署业务应用的部署信息的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取待部署业务应用的部署信息;根据部署信息,生成部署策略和配置文件;根据部署策略,从预设的源码仓库中抽取出多段源码,并组装多段源码;根据组装的结果和配置文件,部署待部署业务应用。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:为部署策略生成对应的部署指令;判断部署指令是否满足预设的安全标准,如果是,则执行从预设的源码仓库中抽取出多段源码步骤;否则,将部署指令中的不满足部分所对应的部署策略进行标注,并将标注的结果返回给授权用户终端。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:当部署指令的个数为多个时,在判断出部署指令满足预设的安全标准之后,进一步包括:为每一个部署指令生成对应的特征标识;根据部署指令的类型以及特征标识,对多个部署指令进行排序并添加到策略队列中;根据多个部署指令在策略队列中的排序,确定出从预设的源码仓库中抽取出多段源码步骤所根据的部署策略。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:在判断出部署指令满足预设的安全标准之后,进一步包括:通过预设的第一通道抽取部署指令包括的多段源码的地址以及多段源码之间的逻辑关系,其中,部署指令包括的多段源码的地址以及逻辑关系继承于部署策略;从预设的源码仓库中抽取出多段源码,并组装多段源码的步骤包括:从预设的源码仓库中抽取出多段源码的地址对应的多段源码,并根据逻辑关系对多段源码进行打包。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:通过预设的第二通道抽取部署指令包括的资源需求,其中,部署指令包括的所述资源需求继承于部署策略;部署待部署业务应用的步骤包括:将待部署业务应用部署到满足资源需求的应用容器内。
根据本发明实施例的技术方案,根据获取到的部署信息,生成部署策略和配置文件,并根据部署策略,从预设的源码仓库中抽取出多段源码,并组装多段源码,通过组装的结果和配置文件,部署业务应用,整个过程实现了自动部署业务应用,在自动部署过程中,基本无需人工的参与,与人工配置部署策略、人工配置文件以及人工编写源码相比,本发明实施例能够有效地提高业务应用部署的效率。
根据本发明实施例的技术方案,一方面,降低电商系统部署的人工成本。另一方面,本发明实施例配置的业务应用可以为大的应用系统的一部分或者一个功能应用,即实现了对复杂系统进行重组和裁剪,构建出各个业务应用为复杂系统的子应用,即业务应用是复杂系统的功能子集,从而降低了系统规模和使用复杂度,降低了部署系统时Docker的使用量,降低了电商系统部署的服务器成本。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (11)

1.一种业务应用部署方法,其特征在于,包括:
获取待部署业务应用的部署信息;
根据所述部署信息,生成部署策略和配置文件;
根据所述部署策略,从预设的源码仓库中抽取出多段源码,并组装所述多段源码;
根据组装的结果和所述配置文件,部署所述待部署业务应用;
在生成所述部署策略步骤之后,在从预设的源码仓库中抽取出多段源码步骤之前,进一步包括:
为所述部署策略生成对应的部署指令;
当所述部署指令的个数为多个且判断出多个所述部署指令满足预设的安全标准之后,对所述部署指令的处理包括:
为每一个所述部署指令生成对应的特征标识;
根据所述部署指令的类型以及所述特征标识,对多个所述部署指令进行排序并添加到策略队列中;
根据多个所述部署指令在所述策略队列中的排序,确定出从预设的源码仓库中抽取出多段源码步骤所根据的部署策略;
其中,所述为每一个所述部署指令生成对应的特征标识包括:根据部署指令的编号以及生成部署指令的时间戳确定出特征标识。
2.根据权利要求1所述业务应用部署方法,其特征在于,生成配置文件步骤包括:
从所述部署信息中抽取出分组环境信息和中间件元数据信息;
将所述分组环境信息和所述中间件元数据信息写入预设的配置模板中,生成配置文件。
3.根据权利要求1所述业务应用部署方法,其特征在于,在获取待部署业务应用的部署信息步骤之后,在从预设的源码仓库中抽取出多段源码步骤之前,进一步包括:
根据所述部署信息包括的用户信息,生成授权指令;
判断所述授权指令是否满足预设的授权条件,如果是,则执行所述从预设的源码仓库中抽取出多段源码步骤。
4.根据权利要求1所述业务应用部署方法,其特征在于,在生成部署策略步骤之后,在从预设的源码仓库中抽取出多段源码步骤之前,进一步包括:
在判断出所述部署指令不满足预设的安全标准,将所述部署指令中的不满足部分所对应的部署策略进行标注,并将标注的结果返回给授权用户终端。
5.根据权利要求1所述业务应用部署方法,其特征在于,
在判断出所述部署指令满足预设的安全标准之后,进一步包括:
通过预设的第一通道抽取所述部署指令包括的多段源码的地址以及所述多段源码之间的逻辑关系,其中,所述部署指令包括的多段源码的地址以及所述逻辑关系继承于所述部署策略;
从预设的源码仓库中抽取出多段源码,并组装所述多段源码的步骤包括:从预设的源码仓库中抽取出所述多段源码的地址对应的多段源码,并根据所述逻辑关系对所述多段源码进行打包。
6.根据权利要求5所述业务应用部署方法,其特征在于,
通过预设的第二通道抽取所述部署指令包括的资源需求,其中,所述部署指令包括的所述资源需求继承于所述部署策略;
部署所述待部署业务应用的步骤包括:将所述待部署业务应用部署到满足所述资源需求的应用容器内。
7.根据权利要求1所述业务应用部署方法,其特征在于,进一步包括:
存储已部署的业务应用的部署策略;
构建并存储所述已部署的业务应用的部署策略与已部署的业务应用所使用的多段源码地址之间的对应关系;
在更新所述源码仓库中的目标源码后,根据所述对应关系,查找所述目标源码的地址对应的部署策略;
当查找出所述目标源码的地址对应的至少一个部署策略时,
为每一个所述目标源码的地址对应的部署策略,执行为所述部署策略生成对应的部署指令的步骤。
8.根据权利要求1至7任一所述业务应用部署方法,其特征在于,进一步包括:
利用所述部署信息中的健康检测参数,对已部署的业务应用进行健康检测。
9.一种业务应用部署装置,其特征在于,包括:元数据管理模块、核心部署组件、配置生成组件以及持续集成组件,其中,
所述元数据管理模块,用于获取待部署业务应用的部署信息;
所述核心部署组件,用于根据所述元数据管理模块获取到的所述部署信息,生成部署策略,根据所述部署策略,从预设的源码仓库中抽取出多段源码,并组装所述多段源码;
所述配置生成组件,用于根据所述元数据管理模块获取到的所述部署信息,生成配置文件;
所述持续集成组件,用于根据所述核心部署组件组装的结果和所述配置生成组件生成的配置文件,部署所述待部署业务应用;
所述核心部署组件,进一步用于为所述部署策略生成对应的部署指令;当所述部署指令的个数为多个且判断出多个所述部署指令满足预设的安全标准之后,为每一个所述部署指令生成对应的特征标识;根据所述部署指令的类型以及所述特征标识,对多个所述部署指令进行排序并添加到策略队列中;根据多个所述部署指令在所述策略队列中的排序,确定出从预设的源码仓库中抽取出多段源码步骤所根据的部署策略;其中,所述为每一个所述部署指令生成对应的特征标识包括:根据部署指令的编号以及生成部署指令的时间戳确定出特征标识。
10.一种业务应用部署电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN202010294948.8A 2020-04-15 2020-04-15 业务应用部署方法和装置 Active CN113535186B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010294948.8A CN113535186B (zh) 2020-04-15 2020-04-15 业务应用部署方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010294948.8A CN113535186B (zh) 2020-04-15 2020-04-15 业务应用部署方法和装置

Publications (2)

Publication Number Publication Date
CN113535186A CN113535186A (zh) 2021-10-22
CN113535186B true CN113535186B (zh) 2023-09-22

Family

ID=78088217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010294948.8A Active CN113535186B (zh) 2020-04-15 2020-04-15 业务应用部署方法和装置

Country Status (1)

Country Link
CN (1) CN113535186B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017045424A1 (zh) * 2015-09-18 2017-03-23 乐视控股(北京)有限公司 一种应用程序部署系统及部署方法
CN108733380A (zh) * 2017-04-21 2018-11-02 北京京东尚科信息技术有限公司 应用部署方法和装置
CN108847950A (zh) * 2018-04-02 2018-11-20 重庆金融资产交易所有限责任公司 电子装置、云系统软件自动部署方法及存储介质
CN110109680A (zh) * 2019-05-14 2019-08-09 重庆商勤科技有限公司 应用部署方法、装置及应用发布方法、服务器、存储介质
CN110290015A (zh) * 2019-07-24 2019-09-27 无锡华云数据技术服务有限公司 远程部署方法、装置及存储介质
CN110572436A (zh) * 2019-08-12 2019-12-13 浙江讯盟科技有限公司 多地跨集群的服务器部署方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010777B2 (en) * 2007-07-02 2011-08-30 Microsoft Corporation Managing a deployment of a computing architecture

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017045424A1 (zh) * 2015-09-18 2017-03-23 乐视控股(北京)有限公司 一种应用程序部署系统及部署方法
CN108733380A (zh) * 2017-04-21 2018-11-02 北京京东尚科信息技术有限公司 应用部署方法和装置
CN108847950A (zh) * 2018-04-02 2018-11-20 重庆金融资产交易所有限责任公司 电子装置、云系统软件自动部署方法及存储介质
CN110109680A (zh) * 2019-05-14 2019-08-09 重庆商勤科技有限公司 应用部署方法、装置及应用发布方法、服务器、存储介质
CN110290015A (zh) * 2019-07-24 2019-09-27 无锡华云数据技术服务有限公司 远程部署方法、装置及存储介质
CN110572436A (zh) * 2019-08-12 2019-12-13 浙江讯盟科技有限公司 多地跨集群的服务器部署方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
区块链金融场景应用分析及企业级架构探讨;魏生 等;广东工业大学学报;第37卷(第2期);全文 *

Also Published As

Publication number Publication date
CN113535186A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
US10673787B2 (en) Virtual agent conversation service
CN109558748B (zh) 数据处理方法、装置、电子设备及存储介质
US11171994B2 (en) Tag-based security policy creation in a distributed computing environment
US10810176B2 (en) Unsolicited bulk email detection using URL tree hashes
CN110471848B (zh) 一种动态返回报文的方法和装置
CN109901987B (zh) 一种生成测试数据的方法和装置
CN113076153B (zh) 一种接口调用方法和装置
CN111563015B (zh) 数据监控方法及装置、计算机可读介质及终端设备
US9438609B2 (en) Device verification prior to registration
CN112184367A (zh) 一种订单处理方法和装置
CN110795315A (zh) 监控业务的方法和装置
CN111090423A (zh) 一种webhook框架系统和实现主动调用、实现事件触发的方法
CN110795741B (zh) 对数据进行安全性处理的方法和装置
CN113094560A (zh) 基于数据中台的数据标签库构建方法、装置、设备及介质
CN106921557B (zh) 一种邮件发送方法和设备
CN109391658B (zh) 一种账号数据同步方法及其设备、存储介质、终端
US20190236269A1 (en) Detecting third party software elements
CN110851343A (zh) 一种基于决策树的测试方法和装置
CN113535186B (zh) 业务应用部署方法和装置
CN111753675B (zh) 一种图片型垃圾邮件的识别方法和装置
US20220004403A1 (en) Methods of providing an integrated interface that includes a virtual mobile device
CN113742235A (zh) 一种校验代码的方法和装置
CN111414566A (zh) 用于推送信息的方法和装置
CN111984893B (zh) 系统日志配置冲突提醒方法、装置及系统
CN113765868B (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