一种面向异构环境可复用的类反射式软件构件集成方法

文档序号:1270567 发布日期:2020-08-25 浏览:15次 >En<

阅读说明:本技术 一种面向异构环境可复用的类反射式软件构件集成方法 (Reusable type reflection software component integration method oriented to heterogeneous environment ) 是由 葛光富 吴凯迪 于 2020-05-06 设计创作,主要内容包括:本发明提供了一种面向异构环境可复用的类反射式软件构件集成方法,包括;运用工厂模式结合回调机制,生成反射类基本要素包括反射类工厂、反射类基类、反射类通用部件;由反射类基类派生生成软件构件基类,支持软件构件的启停用、功能响应、心跳查询;生成软件构件集成管理类,集成管理软件构件的装卸载、启停用、心跳检测、故障修复;组合反射类通用部件并由软件构件基类派生实现各软件构件;使用软件构件集成管理类,根据相应软件的功能构成需求构件化动态集成管理软件。本发明的方法简单易行,能够为异构软硬件环境的信息处理尤其是嵌入式终端提供可跨平台复用的软件构件集成手段,可支撑信息系统软件的快速开发迭代集成。(The invention provides a reusable similar reflection type software component integration method facing heterogeneous environment, which comprises the following steps of; generating reflection type basic elements comprising a reflection type factory, a reflection type base class and a reflection type general component by combining a factory mode with a callback mechanism; a software component base class is derived from the reflection class base class and supports the starting and stopping of the software component, the function response and the heartbeat query; generating a software component integrated management class, and integrally managing loading and unloading, starting and stopping, heartbeat detection and fault repair of the software component; combining reflection general components and deriving a software component base class to realize each software component; and using a software component integrated management class to form the required dynamic integrated management software according to the functions of the corresponding software. The method is simple and easy to implement, can provide a software component integration means capable of being reused across platforms for information processing of heterogeneous software and hardware environments, particularly for embedded terminals, and can support rapid development and iterative integration of information system software.)

一种面向异构环境可复用的类反射式软件构件集成方法

技术领域

本发明属于计算机技术领域,具体涉及一种面向异构环境可复用的类反射式软件构件集成方法。

背景技术

随着计算机领域的迅猛发展,不断提高的软件规模及其复杂性,导致愈加暴露的软件危机,提高软件生产效率成了软件有关产业的当务之急。构件化软件集成是一种解决软件危机、提供软件生产效率、增加软件的开放性和对外部扰动适应性的主要途径,它将软件项目从一个以代码编写和错误修正为中心的过程变为一个更为受控的集成过程,软件的升级变为了替换具有良好边界的软件功能单元的过程。

综合军民用市场,有着大量的计算处理设备用于搭建各型信息系统,但这些设备却部署着种类多样、复杂不一的操作系统运行环境。尤其是嵌入式设备更为突出,如车载终端的VxWorks、ReWorks等,便携终端的Android、WinCE、AOS、SyberOS等。因此,为降低系统开发维护成本、提升行业企业效益,可跨平台运用于这些异构环境的支撑业务系统快速改造组装的软件构件集成技术,成为信息系统软件服务平台统筹规划中的必要考虑因素。

要进行软件构件集成,有在VxWorks等系统上用到以函数形式规范定义构件操作接口进而开展软件的集成组装,但将该集成方法进行跨异构环境实践验证发现,在Linux/类Linux系统上因无可运用的原生接口通过函数名获取函数操作地址,导致软件不能动态装载构件进行集成而仅能通过静态装载构件并注册构件操作接口的方式来动态运用各构件的功能。且这种方式使得软件集成构件不能灵活配置,增加了软件集成管理部件的适配改造工作,降低了软件的集成迭代效率。

因此,需要一种新的更利于异构环境复用、更提高集成运用效率的软件构件集成方法。

发明内容

发明目的:针对现有技术的不足,本发明提出一种面向异构环境可复用的类反射式软件构件集成方法,能够以较高的效率实现多异构环境下软件的构件化开发与迭代集成。

技术方案:提供一种面向异构环境可复用的类反射式软件构件集成方法,包括以下步骤:

运用工厂模式和回调机制,生成反射类基本要素,反射类基本要素包括反射类工厂、反射类基类和反射类通用部件;

由反射类基类派生生成软件构件基类,用于软件构件的启停用、功能响应、心跳查询;

建立软件构件集成管理类,软件构件集成管理类用于集成管理软件构件的装卸载、启停用、心跳检测、故障修复;

组合反射类通用部件并由软件构件基类派生实现各软件构件;

使用软件构件集成管理类,根据相应软件的功能构成需求构件化动态集成管理软件。

所述工厂模式指:常用于设计模式中,没有正式统一的表述定义,其形象比喻就是当需要工厂产品时通过统一向工厂下单让工厂生产后提货相应产品;注:本发明中,产品是反射类对象,工厂是指反射类工厂;

所述回调机制指:常用于程序设计实现中,没有正式统一的表述定义,这一机制运用过程的形象比喻就是A让B做一件事时,B做事的过程中又回过头来运用了A提供的方法;

所述反射是指一类能够自描述和自控制的应用,这类应用通过采用某种机制来实现对自己行为的描述和监测,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义;注:本发明中,采用工厂模式结合回调机制来实现类的反射;

所述软件构件为软件系统中具有相对独立功能、能够明确辨识、接口由规约指定的可组装软件实体;

所述集成就是一些孤立的事物或元素通过某种方式改变原有的分散状态集中到一起,产生联系,从而构成一个有机整体的过程;注:本发明中,是软件构件集成为软件。

所述运用工厂模式和回调机制,生成反射类基本要素,包括:

步骤a1,构建反射类工厂,以反射类对象作为工厂中产品,反射类类名为产品的名称,反射类为产品描述,管理所有反射类的对象生产和回收,反射类工厂具备产品生产回收一线信息登记能力,用于录入厂内产品的名称、一线生产与回收方法,并提供统一的产品工厂生产和回收功能;

产品工厂生产功能根据输入的产品名称查找到关联产品的一线生产方法来实现产品生产;

产品工厂回收功能根据输入的产品名称查找到关联产品的一线回收方法来实现产品回收;

步骤a2,生成反射类基类,即所有反射类的父类,其可派生生成子类即反射类,反射类基类统一提供反射类的产品生产回收一线信息工厂注册、产品工厂化生产、产品工厂化回收功能;

产品生产回收一线信息工厂注册功能向反射类工厂注册登记自身的产品名称、一线生产与回收方法;

产品工厂化生产功能根据输入的产品名称和产品生产预置参数并使用反射类工厂的产品工厂生产功能(有回调自身的一线生产方法)来实现自身的预置参数生产;

产品工厂化回收功能根据输入的产品名称并使用反射类工厂的产品工厂回收功能(有回调自身的一线回收方法)来实现自身的回收;

步骤a3,生成反射类通用部件用于作为所有反射类实现的通用组成部分,反射类通用部件统一提供反射类的产品一线生产与回收方法、产品生产回收一线信息自动注册功能;

产品一线生产方法通过使用自身的产品生产即类对象创建方法来对外提供一线生产能力,

产品一线回收方法通过使用自身的产品回收即类对象删除方法来对外提供一线回收能力;

产品生产回收一线信息自动注册功能根据输入的产品名称并结合自身的一线生产与回收方法构成自身的生产回收一线信息,并应用自身的生产回收一线信息工厂注册功能完成所述信息的注册。

所述软件构件基类继承反射类基类的所有功能,所述软件构件基类还包括:

规范软件构件启用功能接口,支持各具体构件派生实现自身的启用,使构件开始工作;

规范软件构件停用功能接口,支持各具体构件派生实现自身的停用,使构件停止工作;

规范软件构件操作响应功能接口,支持各具体构件派生实现对外部操作请求自身功能的响应;

规范软件构件心跳查询功能接口,支持各具体构件派生实现对外部心跳查询请求自身健康状态的响应,即在构件工作正常(即能够响应外部操作请求)的情况下回复对方本构件心跳正常。

所述生成软件构件集成管理类包括:

步骤b1,提供软件构件批量装载启用功能,根据输入的构件(类)(含构件名、对象生产预置参数)列表信息从前往后依次结合运用构件的产品工厂化生产、构件启用功能,来打开软件构件实体、生产构件得到相应的操作类对象,然后启用构件使相应的构件开始工作;

步骤b2,提供软件构件批量停用卸载功能,根据自身管理的构件列表信息从后往前依次结合运用构件的构件停用、产品工厂化回收功能,来停用构件使相应的构件停止工作、回收构件释放相应的操作类对象,之后关闭软件构件实体;

步骤b3,提供软件构件心跳检测功能,根据自身管理的构件列表信息从前往后依次运用构件的心跳查询功能来查询获取相应构件的心跳,未超时收到心跳则表明构件工作正常,超时收不到心跳则表明构件工作故障;

步骤b4,提供软件构件故障修复功能,根据输入的构件名称修复相应构件的故障,故障修复手段采用先(使用构件的启用功能)重启构件进行修复,构件仍无法恢复工作正常时(使用构件的类对象工厂化生产功能)重装构件进行恢复。

所述软件构件实现在继承软件构件基类的基础上按接口规范实现自身的启用、停用、操作响应、心跳查询功能。

所述使用软件构件集成管理类,根据相应软件的功能构成需求构件化动态集成管理软件,包括:

步骤c1,软件启动时,按照软件出厂设定(满足软件功能初始需求)的构件列表配置并使用软件构件集成管理类的软件构件批量装载启用功能来实现软件预置构件组合的动态集成装载启用;

步骤c2,软件运行时,能够接受新增(满足软件功能临时需求)构件申请并使用软件构件集成管理类的软件构件批量装载启用功能来实现软件临机需用构件的动态集成装载启用;

步骤c3,软件运行时,能够接受构件心跳检测请求并使用软件构件集成管理类的软件构件心跳检测功能来检测构件的工作状态,在发现构件工作故障后能够使用构件集成管理类的构件故障修复功能来修复构件故障;

步骤c4,软件退出时,使用软件构件集成管理类的软件构件批量停用卸载功能来停用卸载软件集成组装的构件以释放占用的资源。

有益效果:本发明利用运用工厂模式结合回调机制,生成反射类基本要素,作为类反射式软件构件集成的源动力,结合软件构件化集成的业务通用需求,规范软件构件类的描述及其实现,并可对软件集成构件进行全生命周期的管理。本发明设计的软件构件基类与软件构件集成管理类结构完整、描述清晰、规范易用,能够良好地支持构件的功能适配、更新以及软件系统的组装演化,同时类反射式软件构件集成支持跨平台通用代码语言程序化实现,使得本发明方法能够更便捷地复用于各类业务信息系统,同时支撑应用本方法的软件构件的快速跨平台迁移或升级改造,有利于提高信息系统的集成效率以及降低系统的开发维护成本。

附图说明

下面结合附图和

具体实施方式

对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1是本发明的面向异构环境可复用的类反射式软件构件集成方法的流程图。

图2是本发明实施例应用的工厂模式的示意图。

图3是本发明实施例应用的回调机制的示意图。

图4是根据本发明实施例的反射类工厂产品生产回收一线信息登记的示意图。

图5是根据本发明实施例的反射类产品工厂生产的过程示意图。

图6是根据本发明实施例的反射类产品工厂回收的过程示意图。

图7是根据本发明实施例的反射类基类的示意图。

图8是根据本发明实施例的反射类产品生产回收一线信息自动注册的示意图。

图9是根据本发明实施例的软件构件基类的示意图。

图10是根据本发明实施例的软件构件集成管理类的示意图。

图11是根据本发明实施例的软件构件类的示意图。

图12是根据本发明实施例的构件化动态集成管理软件的过程示意图。

具体实施方式

结合图1,根据本发明的一个实施例,以通用C/C++代码语言实现,一种面向异构环境可复用的类反射式软件构件集成方法,包括如下步骤:

第一步、生成反射类基本要素:运用工厂模式结合回调机制,生成反射类基本要素包括反射类工厂、反射类基类、反射类通用部件。其中工厂模式常用于设计模式中,没有正式统一的表述定义,其形象比喻就是当需要工厂产品时是通过统一向工厂下单让工厂生产后提货相应产品即可而不用去管产品是怎么做出来的,如图2所示;回调机制常用于程序设计实现中,没有正式统一的表述定义,这一机制运用过程的形象比喻就是A让B做某件事时,B做事的过程中又回过头来运用了A提供的方法,如图3所示;反射是指一类能够自描述和自控制的应用,这类应用通过采用某种机制来实现对自己行为的描述和监测,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义;本发明中,工厂是指反射类工厂,产品是反射类对象,反射类类名为产品的名称,反射类为产品描述,采用工厂模式结合回调机制来实现类的反射。生成反射类基本要素各过程的详细步骤如下:

(1-1)构建反射类工厂:以反射类对象作为反射类工厂中产品,反射类类名产品的名称,反射类为产品描述,来管理所有反射类对象的生产、回收,包括:

1)产品生产回收一线信息登记:如图4所示,由反射类工厂统一登记录入厂内产品的名称、及其一线生产与回收方法,生成工厂产品清单;其中一线同“一线工人”的“一线”词义是指在反射类对象这一产品的生产与回收一线,工厂产品清单的信息包括各种(反射类对象)产品的名称、一线生产方法、一线回收方法;

2)产品工厂生产:如图5所示,反射类工厂根据输入要求生产的产品名称,在工厂产品清单中查找到相应产品,查找到则调用该产品关联的一线生产方法来实现这一产品的生产,否则告知不是厂内产品无法进行生产;

3)产品工厂回收:如图6所示,反射类工厂根据输入要求回收的产品名称,在工厂产品清单中查找到相应产品,查找到则调用该产品关联的一线回收方法来实现这一产品的回收,否则告知不是厂内产品无法进行回收。

(1-2)生成反射类基类:如图7所示,反射类基类即所有反射类的父类,可派生生成子类即反射类,其统一提供反射类产品(即反射类对象)的工厂化生产、回收功能,包括:

1)产品生产回收一线信息工厂注册:反射类基类使用反射类工厂的产品生产回收一线信息登记功能,完成产品的名称、及其一线生产与回收方法信息的注册;

2)产品工厂化生产:反射类基类根据输入要求生产的产品名称和产品生产预置参数,使用反射类工厂的产品工厂生产功能来完成(反射类对象)自身的预置参数生产,注:实现过程中,反射类使用继承自反射类基类的产品工厂化生产功能会回调自身的产品一线生产方法;

3)产品工厂化回收:反射类基类根据输入要求回收的产品名称,使用反射类工厂的产品工厂回收功能来完成(反射类对象)自身的回收,注:实现过程中,反射类使用继承自反射类基类的产品工厂化回收功能会回调自身的产品一线回收方法。

(1-3)生成反射类通用部件:如图8所示,以反射类对象作为反射类工厂的产品来构建所有反射类实现的通用组成部分,其统一提供反射类的产品一线生产与回收并管理有关信息,包括:

1)产品一线生产:反射类通过使用自身的产品生产即类对象创建方法来完成产品的一线生产,运算方法为:

obj=new ClassX(paramList)

其中obj为类对象,new为类对象创建的程序运算符,ClassX为类名称,paramList为类对象生产预置参数;

2)产品一线回收:反射类通过自身的产品回收即类对象删除方法来完成产品的一线回收,运算方法为:

delete obj

其中obj为类对象,delete为类对象删除的程序运算符;

3)产品生产回收一线信息自动注册:反射类根据输入的产品名称,结合自身的产品一线生产与回收方法构成自身的生产回收一线信息,之后应用自身继承自反射类基类的生产回收一线信息工厂注册功能完成相应信息的注册。

第二步、生成软件构件基类:运用构件化的思想,如图9所示,由反射类基类派生生成软件构件基类,同时还支持软件构件的启停用、功能响应、心跳查询,其中软件构件为软件系统中具有相对独立功能、可以明确辨识、接口由规约指定的可组装软件实体,多个构件可被集成装载成为更高层级的软件,另外软件构件在本发明中以类的形式作为被操作对象,即在发明的具体实现中软件构件意指软件构件类。软件构件基类除继承反射类基类的所有功能外还包括:

(2-1)规范软件构件启用功能接口,支持各具体构件派生实现自身的启用,使构件开始工作,该接口形式为

start()

其中start为构件启用接口执行函数,无输入参数;

(2-2)规范软件构件停用功能接口,支持各具体构件派生实现自身的停用,使构件停止工作,该接口形式为

stop()

其中stop为构件停用接口执行函数,无输入参数;

(2-3)规范软件构件操作响应功能接口,支持各具体构件派生实现对外部操作请求自身功能的响应,该接口形式为

operat(no)

其中operat为构件操作响应接口执行函数,输入参数包括:no为功能编号;

(2-4)规范软件构件心跳查询功能接口,支持各具体构件派生实现对外部心跳查询请求自身健康状态的响应,即在构件工作正常(即能够响应外部操作请求)的情况下回复对方本构件心跳正常,该接口形式为

heartAsk(answerFunc)

其中heartAsk为构件心跳查询接口执行函数,输入参数包括:answerFunc为心跳回复接口函数,其在构件工作正常的情况下通过该接口告知本构件心跳正常。

第三步、生成软件构件集成管理类:如图10所示,生成软件构件集成管理类用于集成管理软件构件的装卸载、启停用、心跳检测、故障修复,其中集成就是一些孤立的事物或元素通过某种方式改变原有的分散状态集中到一起,产生联系,从而构成一个有机整体的过程,在本发明中集成是指软件构件集成为软件。包括:

(3-1)软件构件批量装载启用:软件构件集成管理类根据输入的构件信息(含构件名称、产品生产预置参数)列表并更新软件集成的构件列表信息,从前往后依次结合运用软件构件的产品工厂化生产、构件启用功能,来打开软件构件实体、生产构件得到相应的操作类对象、之后启用构件使相应的构件开始工作;

(3-2)软件构件批量停用卸载:软件构件集成管理类根据自身管理的构件列表信息,从后往前依次结合运用软件构件的构件停用、产品工厂化回收功能,来停用构件使相应的构件停止工作、回收构件释放相应的操作类对象,之后关闭软件构件实体;

(3-3)软件构件心跳检测:软件构件集成管理类根据自身管理的构件列表信息,从前往后依次运用软件构件的心跳查询功能来查询获取相应构件的心跳,未超时收到心跳则表明构件工作正常,超时收不到心跳则表明构件工作故障;

(3-4)软件构件故障修复:软件构件集成管理类根据输入的构件名称,修复相应构件的故障,故障修复手段采用先(使用软件构件的启用功能)重启构件进行修复,构件仍无法恢复工作正常时(使用软件构件的产品工厂化生产功能)重装构件进行恢复。

第四步、各软件构件实现:如图11所示,软件构件以类的形式呈现,包括反射类通用部件、继承的软件构件基类、以及其它自身的专有功能,它按照软件构件基类的接口规范适配功能实现自身的启用、停用、操作响应、心跳查询功能,以及按照构件自身的专有功能定义实现有关的功能,注:软件构件前述这些继承基类和自身专有功能的实现属于软件构件自身的设计,故不属于本发明方法中内容而不再此处做具体描述。

第五步、构件化动态集成管理软件:如图12所示,使用软件构件集成管理类,根据相应软件的功能构成需求构件化动态集成管理软件。包括:

(5-1)软件启动预置构件装载启用:软件启动时,按照软件出厂设定(满足软件功能初始需求)的构件列表配置并使用软件构件集成管理类的软件构件批量装载启用功能来实现软件预置构件组合的动态集成装载启用;

(5-2)软件运行申请构件装载启用:软件运行时,可接受新增(满足软件功能临时需求)构件申请并使用软件构件集成管理类的软件构件批量装载启用功能来实现软件临机需用构件的动态集成装载启用;

(5-3)软件构件状态检测修复:软件运行时,可接受构件心跳检测请求并使用软件构件集成管理类的软件构件心跳检测功能来检测构件的工作状态,在发现构件工作故障后可以使用构件集成管理类的构件故障修复功能来修复构件故障;

(5-4)软件构件停用卸载:软件退出时,使用软件构件集成管理类的软件构件批量停用卸载功能来停用卸载软件集成组装的构件以释放占用的资源。

本发明提供了一种面向异构环境可复用的类反射式软件构件集成方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:模板搭配信息推荐方法、装置及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!