CN109739447B - 中间件及其通信方法、中间件层、存储介质及终端设备 - Google Patents
中间件及其通信方法、中间件层、存储介质及终端设备 Download PDFInfo
- Publication number
- CN109739447B CN109739447B CN201811556640.5A CN201811556640A CN109739447B CN 109739447 B CN109739447 B CN 109739447B CN 201811556640 A CN201811556640 A CN 201811556640A CN 109739447 B CN109739447 B CN 109739447B
- Authority
- CN
- China
- Prior art keywords
- middleware
- event
- business process
- interface
- trigger event
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种中间件,中间件的接口基于事件驱动,通过其触发事件接口接收其他中间件发送的触发事件,根据接收的触发事件产生控制业务流程运行的运行序列,通过其执行任务接口接收运行序列并执行业务流程工作,根据业务流程工作的运行情况生成发送触发事件,从而使业务流程工作能够按照规定的运行序列自动化的运行。本发明还公开了一种中间件的通信方法。本发明还公开了一种中间件层。本发明也公开了一种存储介质。本发明也公开了一种终端设备。本发明基于中间件为基本功能单元,经图形化设计后自动生成对应流程的业务软件,大大降低业务流程设计及其软件设计的复杂程度,减少业务软件运维成本和技术门槛,有效降低基于流程的系统的设计难度。
Description
技术领域
本发明涉及中间件技术领域,具体地,涉及一种中间件及其通信方法、中间件层、存储介质及终端设备。
背景技术
随着Internet技术的不断发展和应用普及,计算机应用系统的复杂性不断增加,呈现出层次化、异构化的发展趋势。开发系统应用时需要面临解决不同硬件平台、不同网络环境、不同数据库之间的互操作以及集成多种应用系统的问题,因此出现了中间件技术。中间件技术可以屏蔽硬件平台之间的异构以及操作系统与网络协议的差异,使应用系统能够平滑、高效地运行于不同平台之上。
在金融终端应用系统结构中,中间件层位于操作系统层及应用软件层之间,现有的中间件层的设计采用的是面向对象的形式实现,采用面向对象的技术设计的中间件层在实际使用上存在着一些不足的地方。首先,对象的属性和操作反映了事物的静态和动态两个方面,面向对象的设计采用的是孤立的方法,即单纯考虑事物自身固有的静态和动态特征,忽略了客观事物的影响;其次,采用面向对象设计的中间件层在识别到应用软件层的状态发生变化时,需要将状态变化情况发送至上层系统,再由上层系统进行判断,并根据上层系统发送的控制指令才可以对应用软件的状态变化的情况作出对应的反应,在系统任务比较复杂的情况下,大大增加了系统的负担,影响系统的使用效果。
发明内容
为解决上述现有技术存在的问题,本发明提供了一种根据对象的状态变化发生触发事件、并直接通过触发事件触发对应的中间件根据状态变化的情况采取控制措施的中间件及其通信方法、中间件层、存储介质及终端设备。
为了达到上述发明目的,本发明采用了如下的技术方案:
根据本发明的一方面,提供了一种中间件,所述中间件的接口被设定为基于事件驱动的方式;所述接口包括触发事件接口和执行任务接口;所述中间件通过其触发事件接口接收其他中间件发送的触发事件,所述中间件根据接收的触发事件产生控制业务流程运行的运行序列以控制其他中间件执行业务流程工作,所述中间件通过其执行任务接口接收其他中间件发送的运行序列,所述中间件根据接收的运行序列执行业务流程工作并根据业务流程工作的运行情况生成发送给其他中间件的触发事件。
进一步地,按照预设的事件指令对应规则以根据接收到的触发事件生成相应的控制业务流程运行的运行序列。
进一步地,按照预设的状态事件对应规则以根据业务流程工作的运行情况生成相应的触发事件。
进一步地,所述中间件的触发事件接口被声明为槽函数,所述触发事件被声明为信号,所述槽函数与所述信号进行关联,以使所述槽函数仅能接收与其相关联的信号。
根据本发明的另一方面,还提供了一种中间件的通信方法,所述中间件的接口被设定为基于事件驱动的方式,其中,所述通信方法包括:
通过其触发事件接口接收其他中间件发送的触发事件,根据接收的触发事件产生控制业务流程运行的运行序列以控制其他中间件执行业务流程工作;和/或
通过其执行任务接口接收其他中间件发送的运行序列,根据接收的运行序列执行业务流程工作,并根据业务流程工作的运行情况生成发送给其他中间件的触发事件。
进一步地,按照预设的事件指令对应规则以根据接收到的触发事件生成相应的控制业务流程运行的运行序列。
进一步地,按照预设的状态事件对应规则以根据业务流程工作的运行情况生生成相应的触发事件。
进一步地,所述中间件的触发事件接口被声明为槽函数,所述触发事件被声明为信号,所述槽函数与所述信号进行关联,以使所述槽函数仅能接收和/或发送与其相关联的信号。
根据本发明的另一方面,也提供了一种中间件层,所述中间件层包括多个上述的中间件。
根据本发明的另一方面,也提供了一种存储介质,所述存储介质上存储有中间件的通信方法,所述中间件的通信程序被处理器执行时实现如上述的中间件的的通信方法。
根据本发明的另一方面,也提供了一种终端设备,所述终端设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的中间件的通信程序,所述中间件的通信程序被处理器执行时实现如上述的中间件的的通信方法。
本发明的有益效果:本发明通过将中间件的接口设定为基于事件驱动的方式,在业务流程的执行过程中,中间件的触发事件接口接收触发事件,根据接收的触发事件产生控制业务流程运行的运行序列以控制其他中间件执行业务流程工作,中间件通过其执行任务接口接收其他中间件发送的运行序列,并根据接收的运行序列执行业务流程工作并根据业务流程工作的运行情况生成发送给其他中间件的触发事件,从而使得基于中间件的接口的业务流程一经启动就可以自动化执行,并且可以实现基于中间件接口为的业务流程可以图形化方式设计后就可以自动化生成对应该流程的业务软件,大大降低了业务流程设计及其业务软件设计的复杂程度,减少业务软件运维的成本和技术门槛,有效降低基于流程的系统的设计难度。
附图说明
通过结合附图进行的以下描述,本发明的实施例的上述和其它方面、特点和优点将变得更加清楚,附图中:
图1是根据本发明的第四实施例的中间件的通信方法的流程图。
具体实施方式
以下,将参照附图来详细描述本发明的实施例。然而,可以以许多不同的形式来实施本发明,并且本发明不应该被解释为限制于这里阐述的具体实施例。相反,提供这些实施例是为了解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各种实施例和适合于特定预期应用的各种修改。
在现有技术中,金融终端应用系统结构中,通常包括操作系统层、应用软件层以及设置于操作系统层与应用软件层之间的中间件层。现有的中间件层的设计是基于面向对象的技术进行设计,中间件层可以获取应用软件层的对象的状态信息并将状态信息传送至操作系统层,由操作系统层进行判断和发送命令至对应的中间件,再由中间件进行对应的操作控制相应的对象进行工作。采用面向对象的设计仅考虑对象本身的状态变化情况,中间件本身并不会对对象的状态变化情况自发地进行对应的操作。例如:对象A发出指令要求进行打印,中间件接收到对象A的指令之后,仅仅是将对象A的要求告诉上层系统,即中间件通知上层系统对象A要求进行打印,然后上层系统再发送命令控制负责打印机的中间件工作,负责打印机的中间件才会根据对象A的要求进行打印。
很显然这样子的设计使得系统的通信变得复杂,在系统任务比较复杂的情况下,大大增加了系统的负担,影响系统的使用效果。
因此,本申请的发明人对中间件层重新进行了设计,对中间件层的设计采用面向agent的设计。
下面对面向agent的技术进行说明。
面向Agent的技术是一种新的分布式计算技术,与面向对象的设计相比,面向agent的技术具有以下特性:
1、自主性:具有属于其自身的计算资源和局部于自身的行为控制机制,能够在没有外界直接操纵的情况下,根据其内部状态和感知到的环境信息,决定和控制自身的行为。例如:SNMP中的agent就是独立运行在被管理单元上的自主进程。
2、交互性:能够与其他采用agent技术进行设计的组件,用agent通信语言实施灵活多样的交互,能够有效地与其他采用agent技术进行设计的组件协同工作。例如,一个Internet上的用户需要使用Agent通信语言想主动服务Agent陈述信息需求。
3、反应性:Agent能够感知所处的环境(可能是物理世界、操纵图像界面的用户、或其他Agent等),并对相关事件作出适时反应。例如,一个模拟飞机的Agnet能够对用户的操纵作出适时反应。
4、主动性:Agent能够遵循承诺采取主动行动,表现出面向目标的行为。例如,一个Internet上的主动服务Agent,在获得新的信息之后能够按照约定将最新的工作进展情况主动通报给有关的工作站。
符合上述特性的设计即为面向Agent的设计。对于具体如何实现面向Agent的设计,业内并没有统一的规则和方法,并且在不同的系统由于标准和通信协议的不同,如何实现面向Agent的设计更是要根据不同的系统针对性的进行设计。在金融终端应用系统的领域,还没有其他技术人员对中间件的设计采用面向Agent的技术进行设计。而对于金融终端应用系统的工作任务越来越复杂的情况下,采用面向Agent的技术设计中间件层可以大大减轻系统的负担,降低系统的开发难度。
因此,本申请的发明人首次采用面向agent的技术对金融终端应用系统的中间件层进行设计,使金融终端应用系统中的中间件层具有上述面向Agent的技术的特性,以下将进行详细说明。
实施例一
本发明的第一实施例公开了一种中间件,中间件的接口被设定为基于事件驱动的方式,所述接口包括触发事件接口和执行任务接口。
具体地,中间件用于通过其触发事件接口接收其他中间件发送的触发事件,根据接收的触发事件产生控制业务流程运行的运行序列以控制其他中间件执行业务流程工作。例如负责控制打印机工作流程的中间件接收到其它中间件触发的进行打印的触发事件之后,生成控制打印机进行打印的运行序列以控制负责控制打印机进行打印的中间件执行打印的业务流程工作。
中间件还用于根据业务流程工作的运行情况生成发送给其他中间件的触发事件件。例如:负责监控条码扫描仪工作情况的中间件,在条码扫描仪被触发进行工作开始时进行计时,当在规定的时间内未接收到条码扫描仪返回的条码数据时,负责监控条码扫描仪工作情况的中间件会生成条形扫描仪读取数据超时的触发事件。
作为本发明的一种实施方式,按照预设的事件指令对应规则以根据接收到的触发事件生成相应的控制业务流程运行的运行序列。例如负责控制打印机工作流程的中间件的预设的事件指令对应规则包括有接收到进行打印的触发事件便生成控制打印机进行打印的运行序列。
作为本发明的一种实施方式,按照预设的状态事件对应规则以根据业务流程工作的运行情况生成相应的触发事件。例如负责监控条码扫描仪工作情况的中间件预设的状态事件对应规则包括有在规定的时间内未接收到条码扫描仪返回的条码数据时,生成条形扫描仪读取数据超时的触发事件。
作为本发明的一种实施方式,中间件的触发事件接口被声明为槽函数,触发事件被声明为信号。在本实施例中,基于QT的事件-槽函数机制来实现中间件的接口基于事件驱动。
下面将对信号和槽函数进行说明。
信号和槽是一种高级接口,应用于对象之间的通信。当某个信号被发射,就需要调用与之绑定的槽函数。信号和槽的机制是类型安全的:一个信号的签名必须与接收槽的签名相匹配。信号和槽是松散的联系在一起的:一个发射信号的类从来不知道也不关心哪个槽接收这个信号。Qt的信号和槽机制确保如果将一各信号和一个槽连接起来,这个槽将在正确的时间被用这个信号的参数所调用。信号和槽可以带任何数量任何类型的参数,它们完全是类型安全的。
当对象改变其状态时,信号就由该对象发射出去,而且对象只负责发送信号,它不知道另一端是谁在接收这个信号。这样就做到了真正的信息封装,能确保对象被当做一个真正的软件组件来使用。
槽和普通的C++成员函数几乎是一样的(可以是虚函数,可以被重载,可以被其它C++成员函数直接调用;唯一不同的是:槽还可以和信号连接在一起,在这种情况下,信号被发射时,会自动调用这个槽)。
在本实施例中,将中间件的接口声明为槽函数,将触发事件声明为信号。将与接口对应的槽函数与接口对应的触发事件的信号之间进行关联。槽函数仅能接收和/或发送与其相关联的信号。
作为本发明的一种实施方式,在进行中间件的设计时,所有的中间件应继承与QOject或者QOject的子孙类,使之具有Agent特征。
下面对本发明的实施例的中间件的相关设置进行说明。
中间件控制对应的执行主体进行相应的工作,是通过终端应用软件层根据wosa协议(Windows Open System Architecture,金融软件的技术规范)实现具体的功能。
中间件的触发事件接口被声明为public slot,与中间件的接口相关联的触发事件(包括接收的触发事件和发送的触发事件)被声明为signal,采用Qt的槽函数和信号机制实现本发明的实施例的中间件的基于事件驱动的方式。
中间件预先设置有事件指令对应规则和状态事件对应规则设置好与中间件相关的触发事件以及对应的中间件。
中间件的触发事件接口和触发事件通过connectDevicesEvent建立联系。
作为本发明的一种实施方式,中间件包括控制硬件设备的中间件,硬件设备例如:BCR(条码扫描仪)、摄像头、发卡机、身份证阅读器等。作为本发明的另一种实施方式,中间件还包括控制软件支撑组件的中间件,软件支撑组件例如:http上传、http下载、超时机制、屏幕操作等。
本实施例提出的中间件可以独立于流程引擎,能够根据接收的触发事件产生控制业务流程运行的运行序列,能够根据接收的运行序列执行业务流程工作并根据业务流程工作的运行情况生成发送给其他中间件的触发事件,可以获取公共数据池信息和配置文件信息,自主的执行相应的逻辑处理。
本发明的实施例通过将中间件的接口设定为基于事件驱动的方式,在中间件根据接收的运行序列执行业务流程工作时,根据业务流程工作的运行情况根据预设的规则生成对应的触发事件,触发事件被对应的其它中间件接收,以使对应的中间件根据接收的触发事件产生控制业务流程运行的运行序列以控制其他中间件执行流程工作。中间件根据接收的运行序列执行业务流程工作并根据业务流程工作的运行情况生成发送给其他中间件的触发事件,不需要上层的操作系统进行参与,大大降低了业务流程设计及其业务软件设计的复杂程度,减少业务软件运维的成本和技术门槛,有效降低基于流程的系统的设计难度。
下面结合具体的实施方式对不同类型的中间件进行说明。
实施例二
本发明的第二实施例公开了BCR(条码扫描仪)相关的中间件。具体地,与BCR相关的中间件包括ReadBarcode中间件、CancelReadBarcode中间件、BarcodeDataCount中间件、BarcodeData中间件等。可以理解的是,本发明并不限制于此,还可以有其它与BCR相关的中间件,本发明仅给出一些示例。
具体地,ReadBarcode中间件包括ReadBarcode接口。ReadBarcode中间件能使条码扫描仪扫描二维码,并能指定扫描二维码格式和超时时间。与ReadBarcode中间件相关的触发事件有:BarcodeRead事件、Timeout事件、ReadBarcodeCancelled事件。可以理解的是,本发明并不限制于此,还可以有触发事件,本发明仅给出一些示例。
触发事件:
1、BarcodeRead
(1)状态事件对应规则:
ReadBarcode中间件成功读取条形码之后,产生BarcodeRead事件,并附带读取到的条形码数据
(2)事件原形
BarcodeRead(QString BarcodeData)
(3)事件参数
BarcodeData:读取的条形码数据。
2、Timeout事件
(1)状态事件对应规则:
ReadBarcode中间件在指定的时间里没有扫描到条形码,产生Timeout事件。
(2)事件原形
Timeout();
3、ReadBarcodeCancelled事件
(1)事件指令对应规则:
ReadBarcode中间件接收到ReadBarcodeCancelled事件,使条形扫描仪停止扫描条码。
(2)事件原形
ReadBarcodeCancelled()
具体地,CancelReadBarcode中间件包括CancelReadBarcode接口。CancelReadBarcode中间件将取消发给控制条码扫描仪的中间件的ReadBarcode命令的运行序列,仅在控制条形扫描仪的中间件在指定时间之内未扫描条形码的情形下,发送此命令的运行序列,控制条形扫描仪的中间件成功取消后会产生ReadBarcodeCancelled事件。与CancelReadBarcode中间件相关的触发事件有ReadBarcodeCancelled事件。可以理解的是,本发明并不限制于此,还可以有触发事件,本发明仅给出一些示例。
触发事件:
ReadBarcodeCancelled
(1)状态事件对应规则:
CancelReadBarcode中间件的执行任务接口检测到ReadBarcode命令的运行序列目前正在进行,并且CancelReadBarcode中间件接受到Timeout事件,表示在指定时间内控制条形扫描仪的中间件未扫描条形码的情形下,此时,CancelReadBarcode中间件发送ReadBarcodeCancelled命令的运行序列给控制条形扫描仪的中间件,控制条形扫描仪的中间件成功取消后生成ReadBarcodeCancelled事件。
(2)事件原形
void CancelReadBarcode();
具体地,BarcodeDataCount中间件包括BarcodeDataCount接口。BarcodeDataCount中间件能获取条形扫描仪扫描到的二维码的个数。与BarcodeDataCount中间件相关的触发事件有:BarcodeRead事件。可以理解的是,本发明并不限制于此,还可以有触发事件,本发明仅给出一些示例。
触发事件:
BarcodeRead
(1)事件指令对应规则:
控制条形扫描仪的中间件成功执行ReadBarcode命令的运行序列进行条码扫描之后,BarcodeDataCount中间件的BarcodeDataCount接口接收到BarcodeRead事件,BarcodeDataCount中间件获取控制条形扫描仪的中间件扫描到二维码数据的个数。
(2)事件原形
int BarcodeDataCount();
(3)事件参数
已扫描到的二维码个数。
具体地,BarcodeData中间件包括BarcodeData接口。BarcodeData中间件在条形扫描仪执行ReadBarcode命令的运行序列成功后,控制条形扫描仪的中间件可能扫描到一个或多个二维码数据。BarcodeData中间件用于在此时获取指定二维码信息。与BarcodeData中间件相关的触发事件有:BarcodeRead事件。可以理解的是,本发明并不限制于此,还可以有其他功能的触发事件,本发明仅给出一些示例。
触发事件:
BarcodeRead
(1)事件指令对应规则:
控制条形扫描仪的中间件成功执行ReadBarcode命令的运行序列进行条码扫描之后,BarcodeData中间件的BarcodeData接口接收到BarcodeRead事件,BarcodeData中间件的执行任务接口获取指定二维码信息。
(2)事件原形
QString BarcodeData(int index);
(3)事件参数
输入参数:index-二维码索引号
返回参数:指定的二维码数据字符串。
其它终端应用涉及的各类硬件设备对应的中间件的设计可以参照上述条形扫描仪设备相关的中间件的设计,包括但不限于以下各类设备:摄像头、发卡机、身份证阅读器等。
实施例三
本发明的第三实施例公开了与http上传、http下载相关的中间件。具体地,与http上传相关的中间件包括upload中间件。与http上传下载的中间件包括download中间件。可以理解的是,本发明并不限制于此,还可以有其它与http上传、http下载相关的中间件,本发明仅给出一些示例。
具体地,upload中间件的触发事件接口包括upload接口。upload中间件能使file文件上传到网络。与upload中间件相关的触发事件有:Succeed事件、Failed事件、uploadProgress事件。可以理解的是,本发明并不限制于此,还可以有其它触发事件,本发明仅给出一些示例。
触发事件:
1、Succeed事件
(1)状态事件对应规则:
Upload中间件将file文件上传到网络,向控制http网络的中间件发送请求成功后,Upload中间件产生Succeed事件。
(2)事件原形
void Succeed(QString strURL);
(3)事件参数
strURL:网络地址。
2、Failed事件
(1)状态事件对应规则:
Upload中间件将file文件上传到网络,向控制http网络的中间件发送请求失败后,Upload中间件产生Failed事件。
(2)事件原形
void Failed(QString strURL);
(3)事件参数
strURL:网络地址。
3、uploadProgress事件
(1)状态事件对应规则:
Upload中间件将file文件上传到网络,向控制http网络的中间件发送请求成功后,Upload中间件产生uploadProgress事件。
(2)事件原形
void uploadProgress(QString strURL, qint64 bytesSent, qint64bytesTotal, int percent);
(3)事件参数
strURL:网络地址;
bytesSent:发送的数据大小(单位:字节);
bytesTotal:计划上传的数据大小(单位:字节);
Percent:上传的百分比(0~100%)。
具体地,download中间件包括download接口。download中间件能从http下载文件。与download中间件相关的触发事件包括:Succeed事件、Failed事件、downloadProgress事件。可以理解的是,本发明并不限制于此,还可以有其他触发事件,本发明仅给出一些示例。
触发事件:
1、Succeed事件
(1)状态事件对应规则:
download中间件从http下载文件,向控制http网络的中间件发送请求成功后,download中间产生Succeed事件。
(2)事件原形
void Succeed(QString strURL);
(3)事件参数
strURL:网络地址。
2、Failed事件
(1)状态事件对应规则:
download中间件从http下载文件,向控制http网络的中间件发送请求失败后,Upload中间产生Failed事件。
(2)事件原形
void Failed(QString strURL);
(3)事件参数
strURL:网络地址。
3、downloadProgress事件
(1)状态事件对应规则:
download中间件从http下载文件,向控制http网络的中间件发送请求成功后,download中间件产生downloadProgress事件。
(2)事件原形
void downloadProgress(QString strURL, qint64 bytesReveived, qint64bytesTotal, int percent);
(3)事件参数
strURL:网络地址;
bytesReveived:接收的数据大小(单位:字节);
bytesTotal:计划下载的数据大小(单位:字节);
Percent:下载的百分比(0~100%)。
其它终端应用涉及的各类软件支撑组件对应的中间件的设计可以参照上述http上传、http下载相关的中间件的设计,包括但不限于以下各类软件支撑组件:超时机制、屏幕操作等。
实施例四
图1是根据本发明的第四实施例的中间件的通信方法的流程图。
参照图1所示,本发明的第四实施例公开了一种中间件的通信方法,其中中间件的接口被设定为基于事件驱动的方式。所述通讯方法包括:
S100、通过其触发事件接口接收其他中间件发送的触发事件,根据接收的触发事件产生控制业务流程运行的运行序列以控制其他中间件执行业务流程工作;和/或
S200、通过其执行任务接口接收其他中间件发送的运行序列,根据接收的运行序列执行业务流程工作,并根据业务流程工作的运行情况生成发送给其他中间件的触发事件。
作为本发明的一种实施方式,按照预设的事件指令对应规则以根据接收到的触发事件生成相应的控制业务流程运行的运行序列。
作为本发明的一种实施方式,按照预设的状态事件对应规则以根据业务流程工作的运行情况生生成相应的触发事件。
作为本发明的一种实施方式,中间件的触发事件接口被声明为槽函数,所述触发事件被声明为信号,所述槽函数与所述信号进行关联,以使所述槽函数仅能接收与其相关联的信号。
在本实施例中,中间件的设置方法可参照实施例一~实施例三,本发明对此不再赘述。
在现有技术中,中间件的通信方法需要上层系统的参与,即中间件将业务流程工作的运行情况发送至上层系统,由上层系统发送运行序列至对应的中间件,以使对应的中间件根据对应的运行序列执行业务流程工作。这无疑增加了系统的负担,在本实施例中,中间件的接口基于事件驱动,中间件根据接收的运行序列执行业务流程工作之后不再将业务流程工作的运行情况发送给上层系统,而是直接根据业务流程工作的运行情况和预设的状态事件对应规则生成触发事件,并将触发事件发送给其他中间件。其他中间件接收到触发事件后会根据预设的事件指令对应规则生成控制业务流程运行的运行序列以控制其他中间件执行业务流程工作。这样使得基于中间件的接口的业务流程一经启动就可以自动化执行,并且可以实现基于中间件接口为的业务流程可以图形化方式设计后就可以自动化生成对应该流程的业务软件,大大降低了业务流程设计及其业务软件设计的复杂程度,减少业务软件运维的成本和技术门槛,有效降低基于流程的系统的设计难度。
实施例五
本发明的第五实施例公开了一种中间件层。在金融终端应用系统中,中间件层设置于操作系统层与应用软件层之间。本发明的实施例的中间件层由多个实施一至实施例三所述的中间件构成。并且本发明的实施例的中间件层的多个中间件采用实施例四所述的中间件的通信方法进行通信。具体参照上述描述,本发明在此不再赘述。
作为本发明的一种实施方式,实现同一业务功能的多个中间件可以设计为一个流程节点模板。例如:用于技术组件操作的多个中间件可以设计为一个流程节点模板;用于页面处理的多个中间件可以设计为一个流程节点模板;用于子流程的多个中间件可以设计为一个流程节点模板等。为了降低中间件层的设计的复杂程度,中间件层的流程节点模板的数量不超过10个。
本发明的实施例通过将中间件的接口设定为基于事件驱动的方式,在业务流程的执行过程中,中间件的触发事件接口接收触发事件,根据接收的触发事件产生控制业务流程运行的运行序列以控制其他中间件执行业务流程工作,中间件通过其执行任务接口接收其他中间件发送的运行序列,并根据接收的运行序列执行业务流程工作并根据业务流程工作的运行情况生成发送给其他中间件的触发事件,从而使得基于中间件的接口的业务流程一经启动就可以自动化执行,并且可以实现基于中间件接口为的业务流程可以图形化方式设计后就可以自动化生成对应该流程的业务软件,大大降低了业务流程设计及其业务软件设计的复杂程度,减少业务软件运维的成本和技术门槛,有效降低基于流程的系统的设计难度。
实施例六
本发明的第六实施例公开了一种金融终端应用系统。在本实施例的金融终端应用系统中包括中间件层。在本实施例中的中间件层采用实施例五所述的中间件层,具体参照实施例五所述,本发明在此不再赘述。
实施例七
本发明还提供了另一种实施方式,即提供一种存储介质,所述存储介质存储有中间件的通信程序,所述中间件的通信程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的中间件的通信程序的步骤。
实施例八
本发明还提供了另一种实施方式,即一种终端设备,所述终端设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的中间件的通信程序,所述中间件的通信程序被处理器执行时实现如上述的中间件的通信方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
虽然已经参照特定实施例示出并描述了本发明,但是本领域的技术人员将理解:在不脱离由权利要求及其等同物限定的本发明的精神和范围的情况下,可在此进行形式和细节上的各种变化。
Claims (14)
1.一种基于中间件的系统,其特征在于,所述中间件的接口被设定为基于事件驱动的方式;所述接口包括触发事件接口和执行任务接口;所述中间件通过其触发事件接口接收其他中间件发送的触发事件,所述中间件根据接收的触发事件产生控制业务流程运行的运行序列以控制其他中间件执行业务流程工作,所述中间件通过其执行任务接口接收其他中间件发送的运行序列,所述中间件根据接收的运行序列执行业务流程工作并根据业务流程工作的运行情况生成发送给其他中间件的触发事件。
2.根据权利要求1所述的基于中间件的系统,其特征在于,按照预设的事件指令对应规则以根据接收到的触发事件生成相应的控制业务流程运行的运行序列。
3.根据权利要求1所述的基于中间件的系统,其特征在于,按照预设的状态事件对应规则以根据业务流程工作的运行情况生成相应的触发事件。
4.根据权利要求1所述的基于中间件的系统,其特征在于,所述中间件的触发事件接口被声明为槽函数,所述触发事件被声明为信号,所述槽函数与所述信号进行关联,以使所述槽函数仅能接收和/或发送与其相关联的信号。
5.一种中间件的通信方法,其特征在于,所述中间件的接口被设定为基于事件驱动的方式,其中,所述通信方法包括:
通过其触发事件接口接收其他中间件发送的触发事件,根据接收的触发事件产生控制业务流程运行的运行序列以控制其他中间件执行业务流程工作;
通过其执行任务接口接收其他中间件发送的运行序列,根据接收的运行序列执行业务流程工作,并根据业务流程工作的运行情况生成发送给其他中间件的触发事件。
6.根据权利要求5所述的通信方法,其特征在于,按照预设的事件指令对应规则以根据接收到的触发事件生成相应的控制业务流程运行的运行序列。
7.根据权利要求5所述的通信方法,其特征在于,按照预设的状态事件对应规则以根据业务流程工作的运行情况生成相应的触发事件。
8.根据权利要求5所述的通信方法,其特征在于,所述中间件的触发事件接口被声明为槽函数,所述触发事件被声明为信号,所述槽函数与所述信号进行关联,以使所述槽函数仅能接收与其相关联的信号。
9.一种基于中间件层的系统,其特征在于,所述中间件层包括多个中间件,所述中间件的接口被设定为基于事件驱动的方式;所述接口包括触发事件接口和执行任务接口;所述中间件通过其触发事件接口接收其他中间件发送的触发事件,所述中间件根据接收的触发事件产生控制业务流程运行的运行序列以控制其他中间件执行业务流程工作,所述中间件通过其执行任务接口接收其他中间件发送的运行序列,所述中间件根据接收的运行序列执行业务流程工作并根据业务流程工作的运行情况生成发送给其他中间件的触发事件。
10.根据权利要求9所述的基于中间件层的系统,其特征在于,按照预设的事件指令对应规则以根据接收到的触发事件生成相应的控制业务流程运行的运行序列。
11.根据权利要求9所述的基于中间件层的系统,其特征在于,按照预设的状态事件对应规则以根据业务流程工作的运行情况生成相应的触发事件。
12.根据权利要求9所述的基于中间件层的系统,其特征在于,所述中间件的触发事件接口被声明为槽函数,所述触发事件被声明为信号,所述槽函数与所述信号进行关联,以使所述槽函数仅能接收和/或发送与其相关联的信号。
13.一种存储介质,其特征在于,所述存储介质上存储有中间件的通信程序,所述中间件的通信程序被处理器执行时实现如权利要求5至8任一项所述的中间件的通信方法。
14.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的中间件的通信程序,所述中间件的通信程序被处理器执行时实现如权利要求5至8任一项所述的中间件的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811556640.5A CN109739447B (zh) | 2018-12-19 | 2018-12-19 | 中间件及其通信方法、中间件层、存储介质及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811556640.5A CN109739447B (zh) | 2018-12-19 | 2018-12-19 | 中间件及其通信方法、中间件层、存储介质及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739447A CN109739447A (zh) | 2019-05-10 |
CN109739447B true CN109739447B (zh) | 2022-07-12 |
Family
ID=66360562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811556640.5A Active CN109739447B (zh) | 2018-12-19 | 2018-12-19 | 中间件及其通信方法、中间件层、存储介质及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739447B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112562217A (zh) * | 2020-12-16 | 2021-03-26 | 恒银金融科技股份有限公司 | 自助终端控制系统的流程引擎设计、通讯方式、工作方法 |
CN113254029B (zh) * | 2020-12-30 | 2024-02-02 | 深圳怡化电脑股份有限公司 | 终端设备的外设接口设置方法、装置、电子设备 |
CN117573396B (zh) * | 2024-01-15 | 2024-03-29 | 浙江锦智人工智能科技有限公司 | 一种分布式工作流事件处理方法、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006064018A1 (en) * | 2004-12-15 | 2006-06-22 | International Business Machines Corporation | Access middleware application programming interfaces in a runtime environment |
CN101335803A (zh) * | 2007-06-26 | 2008-12-31 | 三星电子株式会社 | 作业控制设备、多功能设备及其操作方法 |
US7747527B1 (en) * | 1998-03-24 | 2010-06-29 | Korala Associates Limited | Apparatus and method for providing transaction services |
CN104217233A (zh) * | 2014-09-04 | 2014-12-17 | 深圳前海诺德咨询服务有限公司 | 一种条码扫描系统及方法 |
CN107464382A (zh) * | 2017-07-25 | 2017-12-12 | 百望金赋科技有限公司 | 一体化税控机以及税控方法 |
CN108334346A (zh) * | 2017-08-18 | 2018-07-27 | 深圳怡化电脑股份有限公司 | 一种业务控制流程的开发方法及装置 |
CN108846630A (zh) * | 2018-05-25 | 2018-11-20 | 广州衡昊数据科技有限公司 | 一种资源控制系统及方法 |
-
2018
- 2018-12-19 CN CN201811556640.5A patent/CN109739447B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7747527B1 (en) * | 1998-03-24 | 2010-06-29 | Korala Associates Limited | Apparatus and method for providing transaction services |
WO2006064018A1 (en) * | 2004-12-15 | 2006-06-22 | International Business Machines Corporation | Access middleware application programming interfaces in a runtime environment |
CN101335803A (zh) * | 2007-06-26 | 2008-12-31 | 三星电子株式会社 | 作业控制设备、多功能设备及其操作方法 |
CN104217233A (zh) * | 2014-09-04 | 2014-12-17 | 深圳前海诺德咨询服务有限公司 | 一种条码扫描系统及方法 |
CN107464382A (zh) * | 2017-07-25 | 2017-12-12 | 百望金赋科技有限公司 | 一体化税控机以及税控方法 |
CN108334346A (zh) * | 2017-08-18 | 2018-07-27 | 深圳怡化电脑股份有限公司 | 一种业务控制流程的开发方法及装置 |
CN108846630A (zh) * | 2018-05-25 | 2018-11-20 | 广州衡昊数据科技有限公司 | 一种资源控制系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109739447A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739447B (zh) | 中间件及其通信方法、中间件层、存储介质及终端设备 | |
CN108205442B (zh) | 边缘计算平台 | |
USRE37258E1 (en) | Object oriented printing system | |
EP1187022A2 (en) | Method and apparatus allowing a limited client device to use the full resources of a networked server | |
US8121954B2 (en) | Information processor, method for controlling the same, and image forming system | |
CN107256134B (zh) | 将pos终端虚拟为计算机打印机的方法和装置、pos终端 | |
KR20120134913A (ko) | 화상 형성 장치의 어플리케이션을 개발하는 방법 및 장치 | |
US20030020948A1 (en) | Dynamically loaded applications in a printer | |
JP2016076222A (ja) | 生産システムのための操作フィールドを操作する方法並びに生産システムのための制御装置 | |
JP2008203929A (ja) | サーバ装置、クライアント装置、ドライバ処理方法、記憶媒体、プログラム | |
JP2001005622A (ja) | プリントレットシステム及び方法 | |
JP2006146679A (ja) | 情報処理装置の制御方法、情報処理装置、及びプログラム | |
CN115292647A (zh) | 一种非侵入式政务数据的获取方法 | |
CN114706622B (zh) | 启动模型服务的方法、装置、设备、介质及产品 | |
CN114726905A (zh) | 一种Tbox网络接入Android系统的方法、装置、设备及存储介质 | |
CN114756243A (zh) | 自定义模块控制系统、方法、设备及存储介质 | |
JP6605286B2 (ja) | 生産システムのための操作フィールドを操作する方法並びに生産システムのための制御装置 | |
JP6973063B2 (ja) | 画像処理システムおよび情報処理機器 | |
KR100334904B1 (ko) | 내장형 실시간 소프트웨어의 디버그 에이전트 장치 및 그 운용 방법 | |
JP2009054153A (ja) | ドキュメント処理装置のドライバをカスタム化するシステムおよび方法 | |
JP2016076221A (ja) | 生産システムのための操作フィールドを操作する方法並びに生産システムのための制御装置 | |
CN117215635A (zh) | 任务处理方法、装置及存储介质 | |
JP7417462B2 (ja) | パッケージ生成装置、パッケージ管理システム及びパッケージ生成方法 | |
JP5847492B2 (ja) | 画像形成装置、システム、テスト方法及びプログラム | |
CN112083998B (zh) | VxWorks系统的RTP中任务参数的动态配置方法及其装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |