CN102567029A - 一种可扩展的软件设计架构 - Google Patents
一种可扩展的软件设计架构 Download PDFInfo
- Publication number
- CN102567029A CN102567029A CN2011104597516A CN201110459751A CN102567029A CN 102567029 A CN102567029 A CN 102567029A CN 2011104597516 A CN2011104597516 A CN 2011104597516A CN 201110459751 A CN201110459751 A CN 201110459751A CN 102567029 A CN102567029 A CN 102567029A
- Authority
- CN
- China
- Prior art keywords
- software
- infrastructure service
- communication
- system platform
- expansion interface
- 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
技术领域
本发明涉及计算机应用软件开发领域,尤其涉及一种基于模块化开发,具备快速功能扩展、版本升级的集成系统软件设计架构。
背景技术
随着计算机高级语言、面向对象编程思想的普遍使用,中型、大型集成软件越来越多,与此同时,人们对计算机应用软件的系统功能、集成能力、运行性能、版本升级等方面也提出了更高的要求,这些都进而导致了计算机应用软件的开发复杂度及规模的膨胀,同时也带来了软件开发的监管困难。
为了行之有效的降低软件规模,减小软件开发复杂度,人们从技术方面提出了很多的解决方案。如自顶而下,逐步分解,基于模块进行开发等。其中,基于功能模块化进行开发是应用最广泛的技术之一。
模块化程序开发是降低软件规模的有效方法,其通过将大、中型应用软件系统划分为不同的功能模块,每个功能模块又逐级分解,再划分为更小的功能单元,从而利用逐步分解、问题细化来降低软件的开发困难度。同时由于模块的划分,方便进行协同工作,每个模块均可以独立进行开发,一个软件系统能够安排上千程序员进行协调开发,实现规模效应。但是,模块化开发也带来了如何解决各个分散功能模块的集成融合问题,也就是如何行之有效的规划基于模块化的可扩展软件架构。
在计算机软件系统的开发中,如何分解降低软件的规模、困难度,降低软件的开发复杂度,是开发团队的首要工作,但如何设计实现功能集成扩展,软件版本升级等用户更关注的问题,也就是如何设计一种可扩展的系统架构,将能够有效的延长软件系统的生命周期,减少售后支持等,也是重点的工作之一。
发明内容
本发明的目的在于提供一种结构简单且具有实用性和可扩展性的模块化可扩展软件设计架构。
本发明通过以下的技术方案实现:
一种可扩展软件设计架构,其特征在于,包括:
系统平台,一种软件运行机制,是软件系统多个功能模块运行、管理的统一平台;
基础服务,实现对系统平台、扩展接口和通信通道的初始化、管理和维护,是可扩展软件设计架构的核心部分;
扩展接口,运行在基础服务监管之下的一种软件架构扩展机制,通过定义规范将符合接 口规范的扩展功能模块通过扩展接口实现初始化,进而融入系统平台中运行;
通信通道,运行在基础服务监管之下的一种模块之间相互通信机制,可以在基础服务的协调下实现各个功能模块之间的相互数据通信和交互操作。
所述系统平台的运行模型为树形结构。
所述基础服务执行独立编译和存储。
软件架构开始运行时,基础服务优先初始化运行,监管对系统平台、扩展接口、通信通道的初始化。
软件架构处于运行状态时,基础服务继续对当前的运行环境进行管理和维护,并实时监控扩展接口,实现对扩展模块接入的初始化,无需在接入扩展功能时重新运行软件架构。
当存在扩展功能模块请求接入系统平台时,基础服务首先分别添加符合管理规范的扩展接口和通信通道,然后对扩展接口和通信通道进行初始化,从而实现对扩展功能模块的管理、通信,并监督其加入至系统平台。
扩展功能模块的接入后,其对应的扩展接口和通信通道由基础服务继续进行运行环境管理。
所有的通信通道均采用同一种或多种兼容的国际标准通信协议实现通信。
本发明提供了一种可扩展软件设计架构,其各功能组件在基础服务的统一监管下运行于系统平台之上,功能组件与接入模块之间由通信通道实现相互通信,管理,同时,通过扩展接口能够实现其他功能模块的快速添加扩展,且无需软件架构的重新运行,能够极大地提高软件的实用性、可扩展性和实时动态更新能力。
附图说明
图1是本发明实施例的设计及运行流程示意图;
图2是本发明实施例的扩展功能模块的扩展实施过程示意图。
具体实施方式
下面结合附图和具体的实施例对本发明进行进一步的详细说明。
本发明提供的一种可扩展软件设计架构,包括系统平台,基础服务,扩展接口和通信通道。
所述系统平台为多个功能模块运行的统一平台,其运行模型为树形结构,通过扩展接口接入的功能模块作为树的一个分枝存在,各功能模块的功能单元作为分枝的子节点存在。在软件系统的初始设计阶段,必须针对软件的需求进行系统平台的统一合理规划,然后执行分枝的存储,当软件架构运行时,系统平台将在基础服务的监管下进行初始化。
所述基础服务提供对系统平台、扩展接口和通信通道的初始化、运行环境管理和维护。 在软件系统的初始设计阶段,必须优先设计基础服务,并独立编译、存储。软件架构运行时,基础服务优先启动运行,对系统平台、扩展接口、通信通道进行初始化;软件架构运行后,基础服务继续对软件的运行架构环境进行管理和维护,实现对扩展模块接入的初始化,从而无需在接入扩展功能模块时重新运行软件架构。
所述扩展接口是运行在基础服务监管之下的一种软件架构扩展机制,符合接口规范的扩展功能模块将通过扩展接口实现初始化,进而加入系统平台中。在软件系统的初始设计阶段,必须根据实际需要合理设计扩展接口,并要符合基础服务的管理规范。扩展接口设计完成后,执行编译和存储,从而接受基础服务的监管。
所述通信通道是运行在基础服务监管之下的一种功能模块相互通信机制,在基础服务的协调下实现各个功能模块之间的相互数据通信和交互操作等。在软件系统的初始设计阶段,必须针对软件的需求进行通信通道的统一规划,然后编译和存储,当软件架构运行时,通信通道将在基础服务的管理下进行通信初始化。
本实施例的可扩展软件设计架构的设计及运行流程如图1所示。概括来讲,软件系统在初始设计阶段,必须分别规划系统平台、设计基础服务、设计扩展接口、规划通信通道,然后分别进行编译和存储,而基础服务必须被额外独立编译和存储。当软件架构运行时,基础服务优先启动,分别对通信通道和系统平台进行初始化,然后监管扩展接口,所有的扩展功能模块通过扩展接口实现,并基于树形结构加入到系统平台中,从而形成软件架构的运行平台,基础服务也转变为对运行环境的管理,至此,软件架构正常运行,开始快速响应用户的各种操作。
扩展功能模块的扩展实施过程如图2所示。当扩展功能模块请求接入系统平台时,首先分别添加符合基础服务管理规范的扩展接口和通信通道,然后对扩展接口和通信通道进行初始化,从而使扩展功能模块加入系统平台的树形分枝。扩展功能模块接入完成后,其对应的扩展接口和通信通道由基础服务进行运行环境管理。由此,实现了对功能模块的扩展,进而软件能够进行统一的管理,从而能够接受用户对扩展功能模块的操作。
以上所述实施例仅表达了本发明的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种可扩展软件设计架构,其特征在于,包括:
系统平台,一种软件运行机制,是软件系统多个功能模块运行、管理的统一平台;
基础服务,实现对系统平台、扩展接口和通信通道的初始化、管理和维护,是可扩展软件设计架构的核心部分;
扩展接口,运行在基础服务监管之下的一种软件架构扩展机制,通过定义规范将符合接口规范的扩展功能模块通过扩展接口实现初始化,进而融入系统平台中运行;
通信通道,运行在基础服务监管之下的一种模块之间相互通信机制,可以在基础服务的协调下实现各个功能模块之间的相互数据通信和交互操作。
2.根据权利要求1所述的可扩展软件设计架构,其特征在于,所述系统平台的运行模型为树形结构。
3.根据权利要求1所述的可扩展软件设计架构,其特征在于,所述基础服务执行独立编译和存储。
4.根据权利要求1所述的可扩展软件设计架构,其特征在于,软件架构开始运行时,基础服务优先初始化运行,监管对系统平台、扩展接口、通信通道的初始化。
5.根据权利要求1所述的可扩展软件设计架构,其特征在于,软件架构处于运行状态时,基础服务继续对当前的运行环境进行管理和维护,并实时监控扩展接口,实现对扩展模块接入的初始化,无需在接入扩展功能时重新运行软件架构。
6.根据权利要求1所述的可扩展软件设计架构,其特征在于,当存在扩展功能模块请求接入系统平台时,基础服务首先分别添加符合管理规范的扩展接口和通信通道,然后对扩展接口和通信通道进行初始化,从而实现对扩展功能模块的管理、通信,并监督其加入至系统平台。
7.根据权利要求6所述的可扩展软件设计架构,其特征在于,扩展功能模块的接入后,其对应的扩展接口和通信通道由基础服务继续进行运行环境管理。
8.根据权利要求1所述的可扩展软件设计架构,其特征在于,所有的通信通道均采用同一种国际标准通信协议实现通信。
9.根据权利要求1所述的可扩展软件设计架构,其特征在于,所有的通信通道采用多种兼容的国际标准通信协议实现通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104597516A CN102567029A (zh) | 2011-12-31 | 2011-12-31 | 一种可扩展的软件设计架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104597516A CN102567029A (zh) | 2011-12-31 | 2011-12-31 | 一种可扩展的软件设计架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102567029A true CN102567029A (zh) | 2012-07-11 |
Family
ID=46412539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104597516A Pending CN102567029A (zh) | 2011-12-31 | 2011-12-31 | 一种可扩展的软件设计架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567029A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309669A (zh) * | 2013-06-19 | 2013-09-18 | 杭州德睿忠行信息科技有限公司 | 一种自动化可扩展性软件的设计方法 |
CN105022628A (zh) * | 2015-06-04 | 2015-11-04 | 北京宏远贵德科技有限公司 | 一种可扩展的软件应用平台 |
CN105786488A (zh) * | 2016-02-17 | 2016-07-20 | 姚晓宁 | 一种移动互联网定向流量sdk开发系统及其开发方法 |
CN105893041A (zh) * | 2016-03-31 | 2016-08-24 | 努比亚技术有限公司 | 一种应用程序管理方法及装置 |
CN106095423A (zh) * | 2016-06-02 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 提供浏览服务的方法、终端及服务器 |
CN106227688A (zh) * | 2016-07-26 | 2016-12-14 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种兼容多模式的目标机软件维护通信方法 |
CN106293757A (zh) * | 2016-08-17 | 2017-01-04 | 佛山智异科技开发有限公司 | 机器人系统软件架构及其实现方法和装置 |
CN115086418A (zh) * | 2022-07-22 | 2022-09-20 | 浙江中控技术股份有限公司 | 数据传输方法、数据传输装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404519A (en) * | 1989-10-11 | 1995-04-04 | Texas Instruments Incorporated | System for extending software calls to functions on another processor by means of a communications buffer |
CN1473295A (zh) * | 2000-02-25 | 2004-02-04 | �ʼҷ����ֵ�������˾ | 通信系统和方法 |
CN102110006A (zh) * | 2009-12-24 | 2011-06-29 | 安世亚太科技(北京)有限公司 | 应用业务扩展开发系统及方法 |
-
2011
- 2011-12-31 CN CN2011104597516A patent/CN102567029A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404519A (en) * | 1989-10-11 | 1995-04-04 | Texas Instruments Incorporated | System for extending software calls to functions on another processor by means of a communications buffer |
CN1473295A (zh) * | 2000-02-25 | 2004-02-04 | �ʼҷ����ֵ�������˾ | 通信系统和方法 |
CN102110006A (zh) * | 2009-12-24 | 2011-06-29 | 安世亚太科技(北京)有限公司 | 应用业务扩展开发系统及方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309669A (zh) * | 2013-06-19 | 2013-09-18 | 杭州德睿忠行信息科技有限公司 | 一种自动化可扩展性软件的设计方法 |
CN105022628A (zh) * | 2015-06-04 | 2015-11-04 | 北京宏远贵德科技有限公司 | 一种可扩展的软件应用平台 |
CN105022628B (zh) * | 2015-06-04 | 2018-09-18 | 北京宏远贵德科技有限公司 | 一种可扩展的软件应用平台 |
CN105786488A (zh) * | 2016-02-17 | 2016-07-20 | 姚晓宁 | 一种移动互联网定向流量sdk开发系统及其开发方法 |
CN105893041A (zh) * | 2016-03-31 | 2016-08-24 | 努比亚技术有限公司 | 一种应用程序管理方法及装置 |
CN106095423A (zh) * | 2016-06-02 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 提供浏览服务的方法、终端及服务器 |
CN106095423B (zh) * | 2016-06-02 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 提供浏览服务的方法、终端及服务器 |
CN106227688A (zh) * | 2016-07-26 | 2016-12-14 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种兼容多模式的目标机软件维护通信方法 |
CN106293757A (zh) * | 2016-08-17 | 2017-01-04 | 佛山智异科技开发有限公司 | 机器人系统软件架构及其实现方法和装置 |
CN106293757B (zh) * | 2016-08-17 | 2019-07-30 | 佛山智异科技开发有限公司 | 机器人系统软件架构及其实现方法和装置 |
CN115086418A (zh) * | 2022-07-22 | 2022-09-20 | 浙江中控技术股份有限公司 | 数据传输方法、数据传输装置及电子设备 |
CN115086418B (zh) * | 2022-07-22 | 2022-12-27 | 浙江中控技术股份有限公司 | 数据传输方法、数据传输装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567029A (zh) | 一种可扩展的软件设计架构 | |
CN102034152B (zh) | 基于soa架构的异构软件系统数据的集成整合方法与系统 | |
CN203025673U (zh) | 多屏联动触控显示系统 | |
CN102270261B (zh) | 基于cad图模一体化的智能变电站模型设计方法 | |
WO2001004726A3 (en) | Automatically generated objects within extensible object frameworks and links to enterprise resources | |
CN102360292A (zh) | 一种基于插件化接入设备的管理系统 | |
CN102982197A (zh) | 一种多领域协同分布式仿真系统 | |
CN107948008B (zh) | 一种用于低压配电网监控系统的建模方法 | |
CN102957205A (zh) | 一种建立配电网模型的方法及系统 | |
CN102508881B (zh) | 一种电力信息系统内存数据库的多节点集群系统 | |
CN102693129A (zh) | Iec61850到61970的模型转换方法及装置 | |
CN103345952B (zh) | 一种基于模型的操纵员辅助计算系统 | |
CN109361777A (zh) | 分布式集群节点状态的同步方法、同步系统及相关装置 | |
Khoroshilov et al. | AADL-based toolset for IMA system design and integration | |
CN116192961A (zh) | 一种多中心异构多云环境高效适配方法 | |
CN111541599A (zh) | 基于数据总线的集群软件系统及方法 | |
CN107861838A (zh) | 自动备份MySQL数据库从库的方法及装置 | |
CN107862159B (zh) | 一种电网仿真计算数据管理方法和系统及仿真方法和系统 | |
CN101841430A (zh) | 一种命令行的修正方法及装置 | |
CN106570048A (zh) | 智能管理系统自动生成系统技术方法 | |
WO2024124886A1 (zh) | 基于分布式安全容器架构工业机器人控制器设计方法 | |
CN102055242B (zh) | 一种基于电网模型的通信链路追溯方法 | |
CN106953915A (zh) | 一种edius非编系统云计算化的方法 | |
CN102868746A (zh) | 实现移动信息化的方法 | |
CN113722065B (zh) | 一种基于子图匹配的面向嵌入式异构硬件的资源调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
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: 20120711 |