CN103324486A - 采用松耦合架构设计实现软件版本自适应配置的方法 - Google Patents
采用松耦合架构设计实现软件版本自适应配置的方法 Download PDFInfo
- Publication number
- CN103324486A CN103324486A CN2013102745758A CN201310274575A CN103324486A CN 103324486 A CN103324486 A CN 103324486A CN 2013102745758 A CN2013102745758 A CN 2013102745758A CN 201310274575 A CN201310274575 A CN 201310274575A CN 103324486 A CN103324486 A CN 103324486A
- Authority
- CN
- China
- Prior art keywords
- software
- configuration
- version
- design
- software version
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种采用松耦合架构设计实现软件版本自适应配置的方法,包括如下步骤:按照不同版本的功能需求与接口需求对软件模块进行划分;根据模块和子模块的限定条件配置不同版本软件的条件参数和配置参数;根据条件的要求,设计配置文件的内容;软件初始化时读取配置文件,根据配置文件的条件参数,配置整个软件的功能模块;通过修改配置文件的参数信息,实现软件加载后即自适应配置成对应的版本。通过实验验证,该方法在保证整个***稳定性、可靠性的前提下,实现了软件版本自适应配置的功能。
Description
技术领域
本发明涉及一种软件版本自适应配置的方法,特别涉及一种采用松耦合架构设计实现软件版本自适应配置的方法。
背景技术
由于不同环境、不同用户、不同接口对同一个软件的功能需求和配置要求均不相同,所以虽然是同一个软件不得不重新设计多个版本。结果往往是每一个运行环境、每一个用户、每一种接口要求都必须有一个版本与之对应。
采用传统方法必须设计为多个版本,这样在设计、升级与维护过程中,绝大部分情况下每次改动都需要对每个版本分别修改。这样不但需要做大量重复工作,而且出错概率很高。本发明提出一种采用松耦合架构设计,通过配置文件的参数控制,实现软件版本的自适配置的方法。该方法不仅可以大大降低设计、升级和维护软件的工作量,而且可以大幅度的减少在软件设计、维护和升级过程中引起的问题。
发明内容
本发明的目的在于提出一种采用松耦合架构设计实现软件版本自适应配置的方法。该方法能够通过修改配置文件的参数,使同一个软件自适应的根据需要运行成对应的版本。
实现本发明的解决方案为:根据不同需求对软件功能进行模块划分,按照该划分设计对相关软件模块的调用限定条件;根据限定条件的要求设计配置文件的格式与内容。配置文件分为版本类型配置文件和数据参数配置文件,版本类型配置文件控制完成各种版本的配置设置,数据参数配置文件针对每种版本配置不同的参数数据实现不同版本的数据设置。
软件的架构设计必须采用模块化设计,且模块之间必须采用松耦合设计思想。如果模块之间不能明确的划清调用界线,则无法实现通过限定条件控制模块组成实现版本的自适应配置。软件初始化时首先读取版本类型配置文件确定软件版本类型;然后再读取数据参数,初始化对应的数据和状态;从而实现通过配置文件控制软件版本自适配置。本方法通过配置文件设置软件版本和数据,实现在不同运行环境中软件版本的自适应运行不同的版本。
本发明在基于VxWorks的软件平台上,采用C++语言编程,实现了该设计并应用于工程实际。
本发明与现有技术相比,其显著优点为:通过修改配置文件而不是大量软件源代码,实现软件的多个版本运行。不仅可以显著减少软件设计、升级和维护的工作量,而且可以大大降低设计、升级和维护过程中引起的问题。该方法具有设计、升级和维护方便,引起问题概率很低与容易实现等明显的特点。它的提出及工程实现在雷达、声呐、指控或其他领域的接口通信软件和人机交互软件中具有很高的推广应用价值。
下面结合附图对本发明作进一步详细描述。
附图说明
图1是采用松耦合架构设计实现软件版本自适应配置的工作流程图。
具体实施方式
参考附图说明本发明的软件版本自适应配置的一个优选的实施方案。
在该实施方案中本发明如上所述,为了保证采用软件版本自适应配置方法后软件的稳定性和可靠性,必须采用模块之间松耦合的架构设计实现。下面具体说明该方案。
针对相同功能需要不同参数实现的采用入口参数控制模块实现。针对某些版本的“特殊功能”需求设计为独立的功能模块,模块之间必须采用松耦合设计。
设某软件需要设计n个版本,根据n个版本各自特殊的需求把软件拆分为m个模块,可以通过其中部分或全部模块组装成其中任何一个版本的软件。模块划分尽可能细,每个模块功能尽可能单一且不重复。划分过程可以通过多级划分实现。如其中一个版本采用串口对外通信,另一个采用网络接口对外通信。针对这一特点,划分过程首先设计各自模块的初始化模块、发送模块、接收模块、发送数据组织模块和接收数据分类处理模块。然后在初始化模块中再进行划分,如串口初始化模块需要设计为异步串口模块和同步串口模块,异步串口模块中需要设计为232接口、485串口或422串口。根据需要可以只选择设计其中的部分模块。
模块划分完成后针对版本配置和模块调用,设计相关条件参数和数据配置参数。条件参数分为版本区分条件参数和模块调用条件参数,其中版本区分条件参数必须写入配置文件,以方便软件版本自适应配置。其他模块控制条件参数需要在软件内部设计。数据配置参数可以设计在软件内部,如果写入配置文件最好与版本配置条件参数配置文件分开设计,由于该参数配置文件不需要修改。
该方法是建立在模块间可以根据需要组合的,故模块间必须采用松耦合的架构设计,即可选模块之间最好通过参数控制其功能实现,尽量不用全局变量、静态变量等其他影响模块间松耦合的架构设计。只有采用模块间的松耦合设计才能保证通过“模块间的组合”实现的自适应配置的软件的稳定性和可靠性。
本发明是采用松耦合架构设计思想实现软件版本自适应配置的方法,具体实施步骤为(参见图1):
① 根据软件功能需求和接口协议等输入条件对软件版本进行划分;
② 根据不同版本对软件功能的需求选取配置数据;
③ 根据版本的划分和配置数据的设计,关联所有相关软件模块;
④ 对所有相关软件模块按照版配置条件、模块调用条件与配置数据设计软件的初始化和运行的调度算法;
⑤ 根据软件版本配置条件与数据配置参数的需要设计配置文件。
在软件设计初始阶段就必须考虑相关的架构,模块化程度越高该技术越容易实现。由于配置文件一般都比较小,配置数据比较少,故当读取配置文件时最好设计为一次读完全部需要的配置数据,以节约再次读取配置文件需要的时间资源。
该方法已经在基于VxWorks操作***平台上实现。整个***的功能采用C++语言编写。当前运行的不同版本数量为10个。通过试验验证,该方法在保证原***可靠性和实时性的前提下,实现了自动配置软件版本功能。
基于配置文件的软件版本自适应配置技术及实现方法已经成功应用某型雷达***,该方法能在保证***可靠性的情况下,可以实现不同版本的自适应配置。在该项目中软件针对接口类型、本机IP地址及其类型、界面操作要求均不相同的不同版本进行了测试。通过修改配置文件,完全可以实现软件版本的自适应的配置。经过长时间拷机验证***稳定可靠。
Claims (7)
1.一种采用松耦合架构进行软件版本自适应配置的方法,其特征在于,包括如下步骤:
1)根据软件设计要求和接口协议等输入文档的要求对软件版本进行划分;
2)根据不同版本对软件功能的需求选取配置数据;
3)根据条件参数和配置数据设计软件初始化框架和调度算法;
4)根据软件版本条件配置设计配置文件;
5)根据版本的划分和配置数据的设计,关联所有相关软件模块。
2.根据权利要求1所述的一种采用松耦合架构进行软件版本自适应配置的方法,其特征在于,所述步骤1)包括如下步骤:
1-1)根据需求进行划分功能模块;
1-2)根据接口协议划分功能模块;
1-3)合并相同功能模块类型,在不影响 版本划分的情况下尽可能少的划分版本类型。
3.根据权利2所述的一种采用松耦合架构进行软件版本自适应配置的方法,其特征在于,所述步骤1-1)中所述根据需求进行划分模块,划分原则包括:硬件环境、软件条件、功能需求。
4.根据权利2所述的一种采用松耦合架构进行软件版本自适应配置的方法,其特征在于,所述步骤1-2)中所述根据接口协议划分功能模块,划分原则包括:接口形式、接口设置、报文内容要求。
5.根据权利要求3或4所述的一种采用松耦合架构进行软件版本自适应配置的方法,其特征在于,进一步包括根据划分原则设置控制条件,条件内部按照紧耦合原则设计,条件之间采用松耦合原则设计。
6.根据权利要求1所述的一种采用松耦合架构进行软件版本自适应配置的方法,其特征在于,所述步骤2)包括如下步骤:
2-1)根据版本特征设置条件参数,条件参数个数与版本一一对应;
2-2)在版本条件参数的基础上,通过功能模块参数选择对应的功能模块;
2-3)根据功能模块的需求设置配置参数;
2-4)每一个版本条件参数与一系列相关配置参数关联,如果没有配置参数可以省略本步。
7.根据权利要求1所述的一种采用松耦合架构进行软件版本自适应配置的方法,其特征在于,所述步骤3)包括如下步骤:
3-1)根据条件参数初始化配置数据,配置数据通过软件内部设计实现;
3-2)调度算法根据版本条件参数和功能模块参数调用对应的功能模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102745758A CN103324486A (zh) | 2013-07-03 | 2013-07-03 | 采用松耦合架构设计实现软件版本自适应配置的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102745758A CN103324486A (zh) | 2013-07-03 | 2013-07-03 | 采用松耦合架构设计实现软件版本自适应配置的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103324486A true CN103324486A (zh) | 2013-09-25 |
Family
ID=49193255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102745758A Pending CN103324486A (zh) | 2013-07-03 | 2013-07-03 | 采用松耦合架构设计实现软件版本自适应配置的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324486A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601255A (zh) * | 2014-12-31 | 2015-05-06 | 曙光信息产业(北京)有限公司 | 线卡的测试方法和装置 |
CN106444488A (zh) * | 2016-08-31 | 2017-02-22 | 许继电气股份有限公司 | 直流输电工程中冗余装置的配置方法和配置装置 |
CN107404418A (zh) * | 2017-07-26 | 2017-11-28 | 百度在线网络技术(北京)有限公司 | 互联网产品测试方法、装置、设备及存储介质 |
CN108110750A (zh) * | 2017-11-14 | 2018-06-01 | 广西电网有限责任公司电力科学研究院 | 一种基于松耦合设计的小干扰稳定分析建模方法 |
CN109558121A (zh) * | 2018-11-26 | 2019-04-02 | 上海达梦数据库有限公司 | 接口驱动程序的开发方法、装置、设备及存储介质 |
CN110992607A (zh) * | 2019-11-22 | 2020-04-10 | 福建新大陆支付技术有限公司 | 一种通过接口协议方式接入终端的方法 |
CN111443939A (zh) * | 2020-04-16 | 2020-07-24 | 视若飞信息科技(上海)有限公司 | 一种软件开发工具包的配置方法、装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295249A (zh) * | 2008-06-26 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 对软件界面风格进行动态配置管理的方法及*** |
CN101593112A (zh) * | 2009-06-23 | 2009-12-02 | 中兴通讯股份有限公司 | 一种自适应显示终端产品配套软件页面的方法及*** |
CN101673199A (zh) * | 2009-08-10 | 2010-03-17 | 厦门敏讯信息技术股份有限公司 | 终端参数配置服务器及其软件界面的自动生成方法 |
CN102760062A (zh) * | 2012-06-19 | 2012-10-31 | 株洲南车时代电气股份有限公司 | 基于轨道交通嵌入式软件的参数设置方法 |
-
2013
- 2013-07-03 CN CN2013102745758A patent/CN103324486A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295249A (zh) * | 2008-06-26 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 对软件界面风格进行动态配置管理的方法及*** |
CN101593112A (zh) * | 2009-06-23 | 2009-12-02 | 中兴通讯股份有限公司 | 一种自适应显示终端产品配套软件页面的方法及*** |
CN101673199A (zh) * | 2009-08-10 | 2010-03-17 | 厦门敏讯信息技术股份有限公司 | 终端参数配置服务器及其软件界面的自动生成方法 |
CN102760062A (zh) * | 2012-06-19 | 2012-10-31 | 株洲南车时代电气股份有限公司 | 基于轨道交通嵌入式软件的参数设置方法 |
Non-Patent Citations (2)
Title |
---|
梅宏等: "基于体系结构的网构软件自适应方法", 《中国科学E辑:信息科学》 * |
龚循凯等: "基于自适应Web的版本控制模型研究与***实现", 《计算机应用研究》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601255A (zh) * | 2014-12-31 | 2015-05-06 | 曙光信息产业(北京)有限公司 | 线卡的测试方法和装置 |
CN106444488A (zh) * | 2016-08-31 | 2017-02-22 | 许继电气股份有限公司 | 直流输电工程中冗余装置的配置方法和配置装置 |
CN107404418A (zh) * | 2017-07-26 | 2017-11-28 | 百度在线网络技术(北京)有限公司 | 互联网产品测试方法、装置、设备及存储介质 |
CN107404418B (zh) * | 2017-07-26 | 2020-12-11 | 百度在线网络技术(北京)有限公司 | 互联网产品测试方法、装置、设备及存储介质 |
CN108110750A (zh) * | 2017-11-14 | 2018-06-01 | 广西电网有限责任公司电力科学研究院 | 一种基于松耦合设计的小干扰稳定分析建模方法 |
CN108110750B (zh) * | 2017-11-14 | 2019-11-22 | 广西电网有限责任公司电力科学研究院 | 一种基于松耦合设计的小干扰稳定分析建模方法 |
CN109558121A (zh) * | 2018-11-26 | 2019-04-02 | 上海达梦数据库有限公司 | 接口驱动程序的开发方法、装置、设备及存储介质 |
CN110992607A (zh) * | 2019-11-22 | 2020-04-10 | 福建新大陆支付技术有限公司 | 一种通过接口协议方式接入终端的方法 |
CN111443939A (zh) * | 2020-04-16 | 2020-07-24 | 视若飞信息科技(上海)有限公司 | 一种软件开发工具包的配置方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324486A (zh) | 采用松耦合架构设计实现软件版本自适应配置的方法 | |
CN111679821B (zh) | 一种基于微服务的中台***及软件定义中台***构建方法 | |
CN104077671A (zh) | 一种同步库存信息的方法和*** | |
CN102118281A (zh) | 自动化测试方法、装置及网络设备 | |
CN109450708A (zh) | 一种Nginx动态配置方法及*** | |
CN111178833A (zh) | 一种基于工作流引擎的动态子流程实现方法 | |
CN105656643B (zh) | 一种基于网络配置协议进行兼容管理的方法及设备 | |
CN103237050B (zh) | 智能语音交互方法和*** | |
CN114721686A (zh) | 配置数据更新方法、装置、电子设备和存储介质 | |
CN113282063B (zh) | 缝制产线的配置方法及装置 | |
CN111586081B (zh) | 一种基于物模型的物联网实现方法 | |
CN114358030A (zh) | 一种专利文献翻译后的机器校对方法及其*** | |
CN106201692A (zh) | 一种定时任务处理***及方法 | |
CN113901076A (zh) | 数据同步方法、装置、服务器及存储介质 | |
CN108614694A (zh) | 一种优化代码的方法和装置 | |
CN111414363A (zh) | 适用于MySQL中客户数据的并行异构方法、***、介质及设备 | |
CN112035169A (zh) | 跳转处理方法及装置、计算机设备及计算机可读存储介质 | |
CN111343110B (zh) | 报文处理方法、sdn交换机及计算机可读存储介质 | |
CN106778044B (zh) | 数据处理的方法和装置 | |
CN110050291B (zh) | 聚合平台、需求所有者及其方法 | |
CN110990334A (zh) | 用于hdfs的文件处理方法以及***、设备、存储介质 | |
CN110580172A (zh) | 配置规则的验证方法及装置、存储介质、电子装置 | |
CN114978786B (zh) | 一种将第三方接口转化为***标准接口的方法及装置 | |
US20180217870A1 (en) | System And Method For Multi-Tiered Real Time Processing Using Configurable Platform Instances | |
CN114546928A (zh) | 核心簇同步的方法、控制方法及设备、核心、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C53 | Correction of patent of invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Xing Yongchang Inventor after: Meng Fan Inventor after: Liu Jian Inventor before: Xing Yongchang Inventor before: Meng Fan |
|
COR | Change of bibliographic data |
Free format text: CORRECT: INVENTOR; FROM: XING YONGCHANG MENG FAN TO: XING YONGCHANG MENG FAN LIU JIAN |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130925 |