CN116028101A - 基于组件特征类别编排调取的方法 - Google Patents
基于组件特征类别编排调取的方法 Download PDFInfo
- Publication number
- CN116028101A CN116028101A CN202211674970.0A CN202211674970A CN116028101A CN 116028101 A CN116028101 A CN 116028101A CN 202211674970 A CN202211674970 A CN 202211674970A CN 116028101 A CN116028101 A CN 116028101A
- Authority
- CN
- China
- Prior art keywords
- functional components
- custom
- functional
- component
- user
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000001960 triggered effect Effects 0.000 claims abstract description 5
- 230000003044 adaptive effect Effects 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 6
- 230000006978 adaptation Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种基于组件特征类别编排调取的方法。该方法包括:将已发布软件产品拆解为若干个功能组件,对每个功能组件标记上版本号和定制编号以形成所述已发布软件产品的定制项目名单;根据所述定制项目名单生成反映功能组件之间依赖关系的关系树;根据用户输入的定制编号,遍历关系树,找到需要部署的所有功能组件;获取用户的运行环境信息,确定需要部署的所有功能组件的适配版本;触发部署逻辑以便将所有适配的功能组件部署在用户的运行环境中。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于组件特征类别编排调取的方法。
背景技术
软件产品正式发布后,针对重要客户或有额外定制需求的客户,需要根据需求出指定功能的定制版本。该类用户往往具有如下特点:工程复杂,定制化高,往往在客户特定的业务流程触发,调整与之支配的软件运行接口和定制功能。定制功能不易通用。多个不同的客户特殊定制项有时模块重复,但要求矛盾,难以提取出通用部分加入后续主线版本中。维护周期长,成本较高。定制项目一般会有3-5年项目维护周期,在维护周期内又可能会有新的定制任务,基于某一版本状态进行迭代开发。此时项目就需要有单独的开发分支和单独分出的开发人员、项目实施专员进行投入,消耗资源和成本较大。
发明内容
为了满足不同客户对软件产品的定制化需求的同时,尽可能地降低资源和成本的投入,本发明提供一种基于组件特征类比编排调取的方法。
本发明提供一种基于组件特征类别编排调取的方法,包括:
将已发布软件产品拆解为若干个功能组件,对每个功能组件标记上版本号和定制编号以形成所述已发布软件产品的定制项目名单;
根据所述定制项目名单生成反映功能组件之间关系的关系树;
根据用户输入的定制编号,遍历关系树,找到需要部署的所有功能组件;
获取用户的运行环境信息,确定需要部署的所有功能组件的适配版本;
触发部署逻辑以便将所有适配的功能组件部署在用户的运行环境中。
进一步地,在将已发布软件产品拆解为若干个功能组件的过程中,应遵守的规则包括:
针对拆解后形成的功能组件,除了输入和输出之外,其他所有数据均在自身的数据处理流程内部进行数据处理;
或者,针对拆解后形成的功能组件,其功能不属于设定的基础支撑功能;
或者,针对拆解后形成的功能组件,存在根据用户业务需求频繁更改情况其功能的需求;
或者,针对拆解后形成的功能组件,存在根据运行环境进行适配的需求。
本发明的有益效果:
1、将各个定制项目中不能兼容甚至相互冲突的部分通过拆解分立成组件模块来单独存放;
2、在部署时,可以根据客户的项目版本编号,检索出对应的需求功能模块列表并进行部署,实现客户的项目定制需求;
3、软件产品构建时,一次构建一个软件包,统一发布版本,减少项目实施困难;
4、开发时,将一个个功能模块解耦合,子功能模块统一在主干模块上对接,方便在构建时可以相互替换和兼容。
附图说明
图1为本发明实施例提供的基于组件特征类别编排调取的方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在介绍本发明的技术方案之前,先对涉及到的相关概念作简要解释。
定制项目名单:在客户环境中有的由于特殊主机设备不能使用软件依赖的标准基础组件;或者需要根据客户定制需要,增减软件需要的不同类型的组件、定制程序等。将这些信息汇总的一份清单被称为该项目的“定制项目清单”。
关系树:完整名称应该叫做组件依赖关系树,在linux或windows的软件安装过程中,一个软件的安装往往依赖于另一个软件存在,由此形成的依赖关系被称为组件依赖关系树。只有先将那些完全没有依赖的组件先安装,再安装那些依赖组件已经被安装过的待安装组件,依次类推,才能最终将所有的组件安装完,这就是组件依赖关系树的作用。
用户的运行环境信息:这里我们关心的信息,主要来源于操作系统和硬件架构。不同操作系统提供的基础库文件不同,所以选取能在上面运行的组件和调用方式不同。对于不支持跨平台运行的组件,不同平台架构只能选择对应的组件版本才行。
如图1所示,本发明实施例提供一种基于组件特征类别编排调取的方法,包括以下步骤:
S101:将已发布软件产品拆解为若干个功能组件,对每个功能组件标记上版本号和定制编号以形成所述已发布软件产品的定制项目名单;
具体地,在将已发布软件产品拆解为若干个功能组件的过程中,应遵守的规则包括:
针对拆解后形成的功能组件,除了输入和输出之外,其他所有数据均在自身的数据处理流程内部进行数据处理;该规则可以确保该功能组件是否还有继续被拆解的需求。
或者,针对拆解后形成的功能组件,其功能不属于设定的基础支撑功能;如此,可以确保软件产品被拆解后,不会影响软件运行效率。
或者,针对拆解后形成的功能组件,存在根据用户业务需求频繁更改情况其功能的需求;
或者,针对拆解后形成的功能组件,存在根据运行环境进行适配的需求。
S102:根据所述定制项目名单生成反映功能组件之间关系的关系树;
S103:根据用户输入的定制编号,遍历关系树,找到需要部署的所有功能组件;
S104:获取用户的运行环境信息,确定需要部署的所有功能组件的适配版本;
S105:触发部署逻辑以便将所有适配的功能组件部署在用户的运行环境中。
具体地,由于软件产品(也可称为主干模块)被拆解为尽可能小的若干个功能组件(也可称为子模块),不同项目定制的同一大类的不同模块或是冲突模块,可以以定制项目标识形式区分,存放到同一个库文件中,在部署时通过调用列表激活需要使用的模块。构建完各功能组件后,同步生成功能组件对应项目关联,存到构建数据库的链表中。当所有功能组件构建完毕,对数据库中“功能组件—项目”关系表重新排布,生成“主干-子模块”关系树,存入产品部署文件中。
为了更加清楚的理解关系树和定制项目名单,关系树和定制项目名单之间的联系和区别如下:
定制项目名单是在构建过程中使用的,而关系树是构建后依据定制项目名单生成,并在安装包中存放的;定制项目名单记录了软件产品发布时所有需要构建分支的产品,包括基线和定制产品线,目的在于:当遇到通用功能更新时,能够一次将功能发布到所有不同定制项目的客户产品中。而关系树则不然,为了减少安装包的体量,出包时会根据硬件环境、定制组件的比例,分出一个能满足部分场景的若干个包来,因此依靠关系树,能够在一定范围内满足不同定制项目和/或不同运行环境下对不同功能组件的需要。从构建过程这一角度而言,依据定制项目名单,首先构建得到所有需要更新发布的功能组件;基于不同场景,将所有的功能组件分类为不同场景使用的安装包,并携带有功能组件自身标记,也即形成了关系树。
本发明主要应用于软件部署、项目定制和版本管理领域,可以自动根据配置版本下发指定功能组件的部署。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (2)
1.基于组件特征类别编排调取的方法,其特征在于,包括:
将已发布软件产品拆解为若干个功能组件,对每个功能组件标记上版本号和定制编号以形成所述已发布软件产品的定制项目名单;
根据所述定制项目名单生成反映功能组件之间关系的关系树;
根据用户输入的定制编号,遍历关系树,找到需要部署的所有功能组件;
获取用户的运行环境信息,确定需要部署的所有功能组件的适配版本;
触发部署逻辑以便将所有适配的功能组件部署在用户的运行环境中。
2.根据权利要求1所述的基于组件特征类别编排调取的方法,其特征在于,在将已发布软件产品拆解为若干个功能组件的过程中,应遵守的规则包括:
针对拆解后形成的功能组件,除了输入和输出之外,其他所有数据均在自身的数据处理流程内部进行数据处理;
或者,针对拆解后形成的功能组件,其功能不属于设定的基础支撑功能;
或者,针对拆解后形成的功能组件,存在根据用户业务需求频繁更改情况其功能的需求;
或者,针对拆解后形成的功能组件,存在根据运行环境进行适配的需求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211674970.0A CN116028101A (zh) | 2022-12-26 | 2022-12-26 | 基于组件特征类别编排调取的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211674970.0A CN116028101A (zh) | 2022-12-26 | 2022-12-26 | 基于组件特征类别编排调取的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116028101A true CN116028101A (zh) | 2023-04-28 |
Family
ID=86072604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211674970.0A Pending CN116028101A (zh) | 2022-12-26 | 2022-12-26 | 基于组件特征类别编排调取的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028101A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150074641A1 (en) * | 2013-09-10 | 2015-03-12 | Oracle International Corporation | Functional rule and component storage |
CN104615425A (zh) * | 2015-01-16 | 2015-05-13 | 贾志东 | 一种基于功件和功件树开发软件系统的方法和系统 |
CN105099739A (zh) * | 2014-05-15 | 2015-11-25 | 中国移动通信集团公司 | 一种基于插件式软件部署方法、装置及应用服务器 |
CN109933329A (zh) * | 2019-03-01 | 2019-06-25 | 深圳微品致远信息科技有限公司 | 一种软件产品通过云端进行智能部署运维的方法 |
CN110795148A (zh) * | 2019-10-28 | 2020-02-14 | 北京旷视科技有限公司 | 编排文件的生成方法、装置及电子设备 |
CN112463208A (zh) * | 2020-12-22 | 2021-03-09 | 上海有个机器人有限公司 | 版本管理方法及装置、电子设备、存储介质 |
CN112558972A (zh) * | 2020-12-25 | 2021-03-26 | 北京百度网讯科技有限公司 | 应用管理平台、系统、方法、存储介质和程序产品 |
CN112579049A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 基于云平台的定制软件产品化管理方法及装置 |
CN113220283A (zh) * | 2021-05-10 | 2021-08-06 | 国网陕西省电力公司信息通信公司 | 一种基于云编排的物联app开发系统 |
CN113987337A (zh) * | 2021-10-22 | 2022-01-28 | 中国平安财产保险股份有限公司 | 基于组件化动态编排的搜索方法、系统、设备及存储介质 |
CN115202668A (zh) * | 2022-08-04 | 2022-10-18 | 杭州电子科技大学 | 一种面向服务编排的基于ast生成工作流服务的方法 |
-
2022
- 2022-12-26 CN CN202211674970.0A patent/CN116028101A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150074641A1 (en) * | 2013-09-10 | 2015-03-12 | Oracle International Corporation | Functional rule and component storage |
CN105099739A (zh) * | 2014-05-15 | 2015-11-25 | 中国移动通信集团公司 | 一种基于插件式软件部署方法、装置及应用服务器 |
CN104615425A (zh) * | 2015-01-16 | 2015-05-13 | 贾志东 | 一种基于功件和功件树开发软件系统的方法和系统 |
CN109933329A (zh) * | 2019-03-01 | 2019-06-25 | 深圳微品致远信息科技有限公司 | 一种软件产品通过云端进行智能部署运维的方法 |
CN112579049A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 基于云平台的定制软件产品化管理方法及装置 |
CN110795148A (zh) * | 2019-10-28 | 2020-02-14 | 北京旷视科技有限公司 | 编排文件的生成方法、装置及电子设备 |
CN112463208A (zh) * | 2020-12-22 | 2021-03-09 | 上海有个机器人有限公司 | 版本管理方法及装置、电子设备、存储介质 |
CN112558972A (zh) * | 2020-12-25 | 2021-03-26 | 北京百度网讯科技有限公司 | 应用管理平台、系统、方法、存储介质和程序产品 |
CN113220283A (zh) * | 2021-05-10 | 2021-08-06 | 国网陕西省电力公司信息通信公司 | 一种基于云编排的物联app开发系统 |
CN113987337A (zh) * | 2021-10-22 | 2022-01-28 | 中国平安财产保险股份有限公司 | 基于组件化动态编排的搜索方法、系统、设备及存储介质 |
CN115202668A (zh) * | 2022-08-04 | 2022-10-18 | 杭州电子科技大学 | 一种面向服务编排的基于ast生成工作流服务的方法 |
Non-Patent Citations (1)
Title |
---|
吴迪等: "《软件工程教程》", vol. 1, 电子科技大学出版社, pages: 3 - 9 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100952251B1 (ko) | 서비스 패키지에 의해 소프트웨어 제품을 업데이트하는 방법, 컴퓨터로 구현되는 방법, 컴퓨터 판독가능 저장 매체, 및 서비스 패키지 | |
US20060020937A1 (en) | System and method for extraction and creation of application meta-information within a software application repository | |
WO2017071494A1 (zh) | 一种应用部署方法和装置 | |
JP5542796B2 (ja) | モバイル・デバイス・ソフトウェアの管理方法及び装置 | |
CN109901872B (zh) | 一种企业信息化系列产品版本管控方法 | |
CN110888652B (zh) | 基于jenkins插件的多版本构建方法及终端 | |
US20030163510A1 (en) | Method of administering user access to application programs on a computer system | |
US10621524B2 (en) | Exporting hierarchical data from a source code management (SCM) system to a product lifecycle management (PLM) system | |
US9542173B2 (en) | Dependency handling for software extensions | |
WO2015195418A1 (en) | Software package management | |
US7627866B2 (en) | Systems and methods for dynamic application patching | |
US20220129301A1 (en) | Architectural design for universal software automation pipelines | |
US20170132303A1 (en) | Bi-Directional Synchronization Of Data Between A Product Lifecycle Management (PLM) System And A Source Code Management (SCM) System | |
US9477447B1 (en) | Semantic representations of software extensions | |
CN115421765A (zh) | 一种应用于国产化操作系统的大数据管理部署方法 | |
US9235437B2 (en) | Method and integration component for integrating OSGi environments into a Service-oriented Architecture | |
US9760364B2 (en) | Checks for software extensions | |
CN116028101A (zh) | 基于组件特征类别编排调取的方法 | |
US12086579B2 (en) | Deriving a container from a package set | |
CN108228192B (zh) | 一种面向服务的机载软件的动态管理的实现方法 | |
US10621526B2 (en) | Exporting hierarchical data from a product lifecycle management (PLM) system to a source code management (SCM) system | |
US20180341475A1 (en) | Just In Time Deployment with Package Managers | |
US20050278694A1 (en) | Describing Runtime Components of a Solution for a Computer System | |
CN111562951B (zh) | 一种雷达应用组件服务化实现方法 | |
CN117311698B (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 | ||
CB02 | Change of applicant information |
Address after: Building 9, No. 186 Heyang Road, High tech Industrial Development Zone, Zhengzhou City, Henan Province, 450001 Applicant after: Zhengzhou Yunzhi Xin'an Security Technology Co.,Ltd. Address before: 450001 Floor 3, Building A, Building 2, No. 186 Heyang Road, Zhengzhou Hi tech Industrial Development Zone, Henan Province Applicant before: Zhengzhou Yunzhi Xin'an Security Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230428 |
|
RJ01 | Rejection of invention patent application after publication |