收藏 分销(赏)

基于微内核设计思想的软件应用框架设计.pdf

上传人:自信****多点 文档编号:579161 上传时间:2024-01-02 格式:PDF 页数:7 大小:3.47MB
下载 相关 举报
基于微内核设计思想的软件应用框架设计.pdf_第1页
第1页 / 共7页
基于微内核设计思想的软件应用框架设计.pdf_第2页
第2页 / 共7页
基于微内核设计思想的软件应用框架设计.pdf_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、0引言伴随信息化技术的飞速发展,软件产品逐渐渗透应用到社会的各个领域。客户期望软件产品能够满足更多的功能需求,快速适应功能需求变更,缩短产品研制周期等要求1。本文先分析传统应用框架的缺陷,再结合实际工程应用需求,基于微内核设计思想,构建一套能够支撑软件产品高效、快速开发的应用框架。1应用框架现状分析传统应用框架主要用于对各类基础功能和业务功能进行整体性封装,并实现对各功能适时调度和流程控制;基础功能是一种与业务功能无关的功能,具有粒度小,复用度高的特点;业务功能主要用于实现软件产品的业务需求。基础功能与基础功收稿日期:2022-04-15修回日期:2022-06-09作者简介:董强(1981)

2、,男,四川绵阳人,本科,正高级工程师。研究方向:指挥控制系统,任务规划系统。摘要:软件应用框架为各类软件产品提供一个“骨架”,对不同类型功能模块的整体性封装,提供发布、通信、调度、流程控制等服务,呈现出软件产品整体效果。提出一种基于微内核设计思想的软件应用框架设计方法,阐述微内核的优势,对软件应用框架的内核服务进行抽取、设计,剖析其核心工作流程。利用该方法能够增强软件产品的稳定性,降低各组件之间的耦合度、提高系统的可扩展性、提升团队协作开发效率。关键词:微内核;组件;服务;软件应用框架中图分类号:TP311.1文献标识码:ADOI:10.3969/j.issn.1002-0640.2023.0

3、6.021引用格式:董强,许长霞.基于微内核设计思想的软件应用框架设计 J.火力与指挥控制,2023,48(6):131-137.基于微内核设计思想的软件应用框架设计董强,许长霞(西南计算机有限责任公司,重庆400060)Software Application Framework Design Based onMicrokernel Design ConceptDONG Qiang,XU Changxia(Southwest Computer Co.,Ltd.,Chongqing 400060,China)Abstract:The software application framework

4、 provides a“skeleton”for all kinds of softwareproducts.It encapsulates different types of functional modules,provides services such as release,communication,scheduling and process control,etc.and presents the overall effects of the softwareproducts.A software application framework design method base

5、d on the microkernel design concept isproposed,expounds the advantages of the microkernel are expounded,the kernel services of the softwareapplication framework are extracted,designed and analyzes its core workflow is analyzed.This methodcan enhance the stability of software products,and can reduce

6、the coupling degree betweencomponents,improve the scalability of the system,and improve the efficiency of team collaborativedevelopment.To improve the system scalability and the efficiency of team collaborative development.Key words:microkernel;components;services;softwareapplication frameworkCitati

7、on format:DONG Q,XU C X.Software application framework design based on microkerneldesign concept J.Fire Control&Command Control,2023,48(6):131-137.文章编号:1002-0640(2023)06-0131-07Vol.48,No.6Jun,2023火 力 与 指 挥 控 制Fire Control&Command Control第 48 卷第 6 期2023 年 6 月131(总第 48-)火 力 与 指 挥 控 制2023 年第 6 期能、业务功能与

8、业务功能、基础功能与业务功能之间都可能直接发生信息交互(包括功能调用、数据交换、消息交互等),传统应用框架基本组成如图 1所示。图 1传统应用框架基本组成图Fig.1Basic composition diagram of the traditional applicationframework用户对软件产品功能需求的增多,软件产品所包含的各类功能也随之增多,功能之间的耦合程度变得更加紧密。新功能的增加和原功能的变更,都会导致应用框架和各类功能受到一定程度的影响,造成软件产品修改、维护、扩展困难的问题,无法满足客户对软件产品的高要求2。2基于微内核设计思想的应用框架分析2.1微内核分析微内核(

9、Micro kernel)是提供操作系统核心功能内核的精简版本3,是内核的一种精简形式。它提供一组“最基本”的服务,如进程调度、进程间通信、存储管理、处理 I/O 设备。其他服务,如文件管理、网络支持等作为扩展服务通过接口连接到微内核4。将通常与内核集成在一起的系统服务层被分离出来,变成可以根据需求加入的选件,这样就可提供更好的可扩展性和更加有效的应用环境。使用微内核设计,对系统进行升级,只要用新模块替换旧模块,不需要改变整个操作系统5。微内核具有可移植性、灵活性和扩展性,以及健壮性等特点6。微内核示意图如图 2 所示。2.2组件化分析组件化是指解耦复杂系统时将多个功能模块拆分、重组的过程,有

10、多种属性、状态反映其内部特性。为了达到解耦的目的7,按照软件产品需求将软件产品拆分成多个组件8,确定各组件的边界和职责。拆分出来的各组件由于耦合度低,基本上互不影响,便于开发人员同步开展各组件的开发工作。开发完成的独立组件按照集成规范集成到应用框架,由测试人员实施单元测试。当各独立组件完成单元测试后,将所有组件集成到应用框架,进行集成测试,对测试过程暴露出软件问题,只需要修改相应的组件。针对用户变更的需求,定位变更组件后进行修改即可;针对用户新增的需求,重新按照拆分组件、开发组件、组件单元测试、集成测试、修改组件等流程,最终形成软件产品。组件化的意义还在于提升代码复用性9,可以直接将相同功能的

11、组件运用到其他项目,而无所重新开发,或者是对该组件进行重构,让其复用程度更高,也便于后续软件产品的复用10,提高软件产品的开发效率。2.3总体设计思路借鉴微内核操作系统设计思想和组件化的设计方法,将传统软件应用框架核心功能分离出来,作为软件应用框架的内核服务,负责完成与具体业务功能无关的最基本功能,如组件管理、组件通信、组件连接等,它不会因为各类功能的扩展而不断修改,仅用于支撑软件产品的基本运行。由于其精简形式的核心设计,更容易对其充分测试,保证整个系统的稳定性。基础组件通过组件连接服务实现应用框架的基础功能扩展,而不影响整体系统的稳定性;根据软件产品功能需求,开发或复用相应的业务组件,通过组

12、件连接服务按需集成所有业务组件。基于微内核设计思想的软件应用框架总体设计如下页图 3 所示。3基于微内核设计思想的软件应用框架设计按照基于微内核设计思想的软件应用框架总体设计思路,细化内核服务功能,将其设计成基于微内核设计思想的软件应用框架,它包括一个组件描述文件规范和组件管理服务、组件连接服务、组件通信服务等三种集成接口服务。组件管理服务提供加载组件、注册组件、查询组件、调度组件、卸载图 2微内核示意图Fig.2Schematic diagram of microkernel1321086(总第 48-)图 3基于微内核设计思想的软件应用框架总体设计图Fig.3Overall design

13、diagram of software applicationframework based on microkernel design concept组件等功能;组件连接服务提供连接组件、获取接口类集合、初始化组件、释放组件等功能;组件通信服务用于各组件间的信息交互,包括发送信息和接收信息等。基于微内核设计思想的软件应用框架组成如图 4 所示。其中,基础组件用于完成某类应用需求而构建的通用化功能模块;业务组件用于完成特定应用需求而构建的专业化功能模块。3.1微内核应用框架工作原理软件产品启动时,宿主程序直接调用微内核应用框架提供的导出函数,由其函数自动启动组件管理服务;组件管理服务先依次加载

14、各组件,再调用组件连接服务获取各组件连接对象,然后将各组件注册到组件管理服务中;各组件启动时按需向组件管理服务注册组件接收信息对象。软件产品运行中,各组件按需调用组件通信服务中的发送信息对象向其他组件发送交互信息;发送信息对象经过一系列的数据预处理,通过接收信息对象将交互信息分发到指定组件;接收到交互信息的组件,根据交互信息标识符进入对应的处理流程。软件产品退出时,组件管理服务调用组件连接服务释放并卸载各组件。3.2组件描述文件规范设计组件描述文件规范是一种结构化的描述模板,定义了组件基本信息,以及组件与外部发生交互关系所需信息。具体包括组件信息、集成信息、交互信息、接口类信息的规范;其中,组

15、件信息中组件标识符用于唯一标识某个组件;集成信息中集成接口标识符用于唯一标识某个组件功能点;交互信息中交互信息标识符用于唯一标识某个组件传递的某条信息;接口类信息中接口类标识符用于唯一标识某个组件的接口类。考虑到组件描述文件规范应具备跨平台、易阅读、可扩展、可视化等特性,建议采用 XML 文件格图 4基于微内核设计思想的软件应用框架组成图Fig.4Composition diagram of software application framework based on microkernel design concept董强等:基于微内核设计思想的软件应用框架设计1331087(总第 48-

16、)火 力 与 指 挥 控 制2023 年第 6 期图 6组件描述文件规范使用原理图Fig.6Schematic diagram of the use specification of component description files图 5组件描述文件规范Fig.5Specification of description files of components式来存储组件描述信息。组件描述文件规范如图 5所示。各组件参照组件描述文件规范,编写专属组件描述文件,并编码实现其描述文件中定义的外部交互标识符所对应的逻辑代码,再由组件管理服务通过组件描述文件中定义的外部交互标识符间接调用组件内部的

17、逻辑代码。组件描述文件规范使用原理图如图 6 所示。3.3组件管理服务设计组件管理服务为各类组件提供加载、注册、查询、调度和卸载等功能。组件管理服务启动时,自动扫描所有组件描述文件,将描述信息转换成内存结构化数据,再按照顺序逐个加载组件,调用组件连接服务创建组件连接对象,通过组件连接对象获取组件接口类集合,最后将已加载组件存储到注册组件集合中,实现组1341088(总第 48-)件的注册。当某组件需要获取其他组件提供的服务时,通过组件管理服务查询组件接口集合;当不再使用某组件时,由组件管理服务对其卸载,并释放软件内存空间。组件管理服务注册组件流程图如图7 所示。3.4组件连接服务设计组件连接服

18、务为各组件提供连接到组件管理服务的规范,各组件参照组件连接服务规范,编写其具体逻辑代码,实现组件连接功能。组件连接规范由一个组件连接(全局)函数和一个组件连接(基类)组成。组件连接(全局)函数定义为一个函数名为*CreatePluginObject()的导出函数。各组件按规范定义该导出函数,并在其函数内部调用 new 方法创建一个组件连接子类对象,并返回该组件连接子对象。组件管理服务在加载组件后,直接调用组件连接(全局)函数用于获取组件连接子对象。组件连接(基类)包括获取接口类集合、初始化组件、释放组件等接口。各组件从组件连接(基类)派生各自的组件连接子类,并实现其接口功能。在组件连接(基类)

19、和各组件连接子类对象中使用关键字 virtual 定义的接口函数都会有建立一个与其对应的虚函数表,该虚函数表中存放每一个对象的虚函数入口地址。对于各组件来讲,它会继承基类的虚函数表同时增加自己的虚函数入口地址,当子类重写基类的虚函数,继承过来的虚函数入口地址将被子类的重写虚函数入口地址替代。程序运行时会发生动态绑定,将基类指针绑定到实例化的子对象,由组件连接基类根据组件连接子类对象来执行不同的成员方法,已达到按需调用组件连接子类功能的目的。组件连接服务原理图如下页图 8 所示。3.5组件通信服务设计组件通信服务为各组件之间的信息交互提供必要的通信链路。组件通信服务由发送信息和接收信息组成。组件

20、通信服务原理图如图 9 所示。发送信息用于某组件向其他组件发送交互信息。在组件通信服务内部创建一个由发送信息(基类)派生的发送信息(子类),实现发送信息接口功能,该接口包含全局数据交互标识符和数据流两个参数。当该接口被调用时,根据全局数据交互标识符在注册组件集合中查询对应的交互规则,按照指定的传输模式进行组件信息传递。当传输模式设定为寄存模式,发送的数据流将被存放在发送队列中,按照数据交互信息优先原则从队列中逐条取出并进入分发流程;当传输模式设定为及时模式时,发送的数据流将直接进入分发流程。在分发流程中,解析(接收)组件标识符来确定该条信息的通信方式(如:点播、组播和广播 3 种方式)。点播:

21、一个组件发送交互信息到一个指定组件对象组播:一个组件发送交互信息到多个指定组件对象广播:一个组件发送交互信息到其他所有组件对象寄存模式利用队列“先进先出”(FIFO First-In/First-Out)的重要特性,按照组件提出交互请求的顺序依次存入数据缓存队列,如图 10 所示。针对寄存模式,先判断轮询定时器是否启动,如果没有启动则启动轮询定时器,按照 啄t(ms)时间间隔查询数据缓存队列中的交互请求,查询成功,则从队列头部取出一条交互请求,进入分发流程;循环查询数据缓存队列,直到查询失败,则停止轮询定时器。图 7组件管理服务注册组件流程图Fig.7Flow chart of registe

22、red components of componentmanagement service董强等:基于微内核设计思想的软件应用框架设计1351089(总第 48-)火 力 与 指 挥 控 制2023 年第 6 期图 8组件连接服务原理图Fig.8Schematic diagram of component connection service图 9组件通信服务原理图Fig.9Schematic diagram of component communication service针对及时模式,暂停当前发送任务,直接进入分发流程,处理完成后恢复到之前的发送状态。接收信息用于某组件接收其他组件发送到

23、本组件的交互信息。各组件从组件接收(基类)派生各自的组件接收(子类)实体类,并编码处理其接收到的组件交互信息。组件通信服务经过一系列的预处理,通过调用接收信息(基类)间接调用各组件的接收信息(子类)实体类,组件接收方再依据约定的全局信息标识符对数据流进行解析,进入自身交互信息处理流程。图 10寄存模式的数据缓存队列Fig.10Data cache queue in registration mode1361090(总第 48-)LIU L J,GE H W.Two-population particle swarm opti-mization algorithm with mutation o

24、peratorsJ.ComputerEngineering and Design,2008,29(8):2035-2037.11 马国庆,李瑞峰,刘丽.学习因子和时间因子随权重调整的粒子群算法 J.计算机应用研究,2014,31(11):3291-3294.MA G Q,LI R F,LIU L.Particle swarm algorithm of learn-ing and time factors adjustment with weights J.Applica-tion Research of Computers,2014,31(11):3291-3294.12 ZHAO Y D,F

25、ANG Z H.Particle swarm optimization algo-rithm with weight function s learning factorJ.Journal ofComputer Applications,2013,33(8):2265-2268.13 廖剑波,监浩军,黄浩斌,等.基于改进粒子群算法的变电站选址定容C/福建省电机工程学会 2020 年学术年会获奖论文集(上册).福州:福建省电机工程学会,2021:48-53.LIAO J B,JIAN H J,HUANG H B,et al.Substation siteselection and capacit

26、y determination based on improvedparticle swarm optimization algorithm C/AwardsProceedings of the Fujian Electrical Engineering Society2020 Annual Conference(Vol.1).Fuzhou:Fujian Societyfor Electrical Engineering,2021:48-53.14 张卫明,周庆忠,黎武.基于改进粒子群算法的野战油库选址优化 J.兵器装备工程学报,2016,37(8):84-87.ZHANG W M,ZHOU

27、Q Z,LI W.Field oil depot site se-lection optimization based on improved particle swarm op-timization J.Journal of Ordnance Equipment Engi-neering,2016,37(8):84-87.4结论本文设计了一种基于微内核设计思想的软件应用框架,支持项目团队同步开发基础组件和业务组件,通过基础组件实现软件应用框架功能的持续扩展,按照软件产品需求加载对应业务组件,以达到最终实现具体软件产品。利用本设计能够适应软件产品“短、频、快”的开发特点,满足用户对产品的需求。

28、该应用框架已应用到某领域的信息系统软件中。参考文献:1 杨仁宝,杜兵,杨操,等.基于组件技术的通用指挥系统框架设计 J.信息技术与网络安全,2020,39(9):79-82.YANG R B,DU B,YANG C,et al.Framework design ofgeneral command system based on component technologyJ.Information Technology and Network Security,2020,39(9):79-82.2 邵刚.军用软件组件化设计方法研究J.微处理机,2019,40(4):34-37.SHAO G.Res

29、earch on military software component designmethodJ.Microprocessor,2019,40(4):34-37.3 彭星海.基于 x86 架构的微内核操作系统的研究与实现D.杭州:浙江大学,2020.PENG X H.Research and implementation of microkerneloperating system based on x86 architectureD.Hangzhou:Zhejiang University,2020.4 何家俊.基于微内核的调度技术研究 D.成都:电子科技大学,2010.HE J J.R

30、esearch on scheduling technology based on micro-kernel D.Chengdu:University of Electronic Science andTechnology of China,2010.5 夏学良.一文读懂微内核架构 EB/OL.2021-12-06.htt-ps:/ X L.Understanding Microkernel ArchitectureEB/OL.2021-12-06.https:/ 周峰,王丽芳,蒋泽军.一种基于微内核的系统结构的设计与实现 J.西南民族大学学报(自然科学版),2007,33(5):1195-1

31、197.ZHOU F,WANG L F,JIANG Z J.Design and Implementa-tion of a microkernel based system architectureJ.Journalof Southwest Minzu University(Natural Science Edition),2007,33(5):1195-1197.7 孙宏伟,张树生,王静.组件化松耦合企业应用集成关键技术研究 J.计算机应用,2002,22(4):4-6.SUN H W,ZHANG S S,WANG J.Research on key technolo-giesofcompo

32、nent-based looselycoupled enterpriseapplica-tionintegration J.ComputerApplications,2002,22(4):4-6.8 谢凌宣.组件技术介绍 EB/OL.2018-12-03.https:/ L X.Introduction to component technologyEB/OL.2018-12-03.https:/ 杨芙清,梅宏,李克勤.软件复用与软件构件技术 J.电子学报,1999,27(2):68-75.YANG F Q,MEI H,LI K Q.Software reuse and softwarecom

33、ponent technologyJ.Journal of Electronics,1999,27(2):68-75.10 薛彦宇,刘洪太,赵刚.基于智能组件的信息化开发框架设计方法 J.信息技术与信息化,2019,44(8):18-20.XUE Y Y,LIU H T,ZHAO G.Design method of informati-zation development framework based on intelligent com-ponents J.Information Technology and Informatization,2019,44(8):18-20.(上接第 130 页)董强等:基于微内核设计思想的软件应用框架设计1371091

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服