中间件系统、服务请求处理方法、电子设备及存储介质与流程

文档序号:29979548发布日期:2022-05-11 12:31阅读:84来源:国知局
中间件系统、服务请求处理方法、电子设备及存储介质与流程

1.本发明涉及通信技术领域,尤其涉及一种中间件系统、服务请求处理方法、电子设备及存储介质。


背景技术:

2.随着智能设备及系统配合物联网技术及应用场景的快速发展,相比传统软件系统开发,开发者在业务流程之外还需要应对诸如设备类型、连接协议、智能系统、开发语言、部署方式等,差异性越来越大、迭代越来越频繁所带来的挑战。直接导致代码模块复用性差、升级开发工作量大,在部署与配置等方面也缺乏灵活性。
3.因此,如何更好提高对于业务模块的开发和管理,已经成为业界亟待解决的问题。


技术实现要素:

4.本发明提供一种中间件系统、服务请求处理方法、电子设备及存储介质,用以解决现有技术中业务部署困难,缺乏灵活性的缺陷。
5.本发明提供一种中间件系统,包括:中间件服务主程序、插件管理器和n个插件,n为正整数;
6.其中,所述中间件服务主程序用于接收各个应用程序的应用服务请求,每个所述插件对应有一个或多个业务功能;
7.其中,所述插件管理器用于基于所述应用服务请求调用一个或多个插件执行所述应用服务请求。
8.根据本发明提供的一种中间件系统,所述中间件服务主程序还用于在中间件系统初始化运行时,向所述插件管理器发送初始化插件管理信息;
9.所述插件管理器基于所述初始化插件管理信息加载所述n个插件中的m个第一目标插件,且各个所述第一目标插件向所述中间件服务主程序反馈第一目标插件信息。
10.根据本发明提供的一种中间件系统,所述第一目标插件还用于:
11.在执行所述应用服务请求时,将所述应用服务请求划分为第一应用服务子请求和第二应用服务子请求,并确定所述第二应用服务子请求对应的第二目标插件;
12.所述第一目标插件处理第一应用服务子请求,并向所述插件管理器发送内部服务请求,所述插件管理器响应于所述内部服务请求,调用所述第二目标插件处理所述第二应用服务子请求,所述第二目标插件将第二应用服务子请求的处理结果直接反馈给所述第一目标插件;
13.所述第一目标插件将所述第一应用服务子请求和所述第二应用服务子请求的处理结果反馈给所述中间件服务器主程序。
14.根据本发明提供的一种中间件系统,所述中间件系统中加入新的第三目标插件的情况下,所述第三目标插件向所述插件管理器发送插件注册信息,所述插件管理器响应于所述插件注册信息,将所述第三目标插件写入插件功能列表,并将所述插件功能列表同步
到所述中间件服务主程序。
15.根据本发明提供的一种中间件系统,每个所述插件均可以动态配置插入到所述中间件系统或从所述中间件系统中卸载,且每个所述插件均运行在单独的线程中。
16.根据本发明提供的一种中间件系统,任一所述插件可调用其它插件的已有功能,来实现更复杂的功能。
17.本发明还提供一种基于上述任一中间件系统的服务请求处理方法,包括:
18.中间件服务主程序接收各个应用程序服务请求,将所述应用程序服务请求发送到插件管理器;
19.所述插件管理器基于所述应用程序服务请求调用一个或多个插件执行所述应用服务请求。
20.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述服务请求处理方法的步骤。
21.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述服务请求处理方法的步骤。
22.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述服务请求处理方法的步骤。
23.本发明提供的中间件系统、服务请求处理方法、电子设备及存储介质,提供一种中间件系统,以插件的形式模块化封装基础业务功能,屏蔽设备类型、连接协议等差异,提供统一接口。插件框架使用socket方式提供基础业务服务,消弭因智能系统、开发语言等导致的差异,提高开发效率和插件模块可复用性。插件模块可以动态配置插入及卸载,并且在使用tcp socket时可进一步提供跨网络的服务功能,极大的提高了在部署和配置方面的灵活性。
附图说明
24.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本技术实施例提供的中间件系统结构示意图;
26.图2为本技术实施例中所描述的服务请求处理方法流程示意图;
27.图3是本发明提供的电子设备的结构示意图。
具体实施方式
28.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.图1为本技术实施例提供的中间件系统结构示意图,如图1所示,包括:中间件服务
主程序110、插件管理器120和n个插件130,n为正整数;
30.其中,所述中间件服务主程序110用于接收各个应用程序的应用服务请求,每个所述插件130对应有一个或多个业务功能;
31.其中,所述插件管理器120用于基于所述应用服务请求调用一个或多个插件130执行所述应用服务请求。
32.具体地,本技术实施例中所描述的中间件系统,主要用于连接各个设备/协议接口与各个应用程序,且每个插件均以定义好的框架接口作为检测和加载接口,并以动态库的方式部署,中间件系统即可以动态的加载或者卸载插件模块动态库,实现具体功能的动态配置。每个插件运行在单独的线程中,对于复杂功能插件,可以扩展到独立进程中运行,提升系统整体稳定性。中间件系统设计支持一个插件模块调用另外若干个插件模块的已有功能来实现更复杂功能,提高模块复用性和开发效率。
33.具体地,本技术所描述的每个插件均对应有一个或多个外部设备协议,每个外部设备协议均可以实现不同的功能,因此可以理解的是,每个插件可以实现一个或多个业务功能。
34.并且,通过该中间件插件,可以通过socket connect的方式,与多个应用程序连接,从而接收各个应用程序的应用服务器请求。
35.更具体地,中间件系统具体是通过中间件服务主程序接收到应用程序服务请求后,将该服务请求发送到插件管理器,插件管理器会从n个插件中选择对应的插件,来执行应用程序服务请求,且各个插件会将其执行结果反馈给中间件服务主程序。
36.在本技术实施例中,通过提供一种中间件系统,以插件的形式模块化封装基础业务功能,屏蔽设备类型、连接协议等差异,提供统一接口。插件框架使用socket方式提供基础业务服务,消弭因智能系统、开发语言等导致的差异,提高开发效率和插件模块可复用性。插件模块可以动态配置插入及卸载,并且在使用tcp socket时可进一步提供跨网络的服务功能,极大的提高了在部署和配置方面的灵活性。
37.可选地,所述中间件服务主程序还用于在中间件系统初始化运行时,向所述插件管理器发送初始化插件管理信息;
38.所述插件管理器基于所述初始化插件管理信息加载所述n个插件中的m个第一目标插件,且各个所述第一目标插件向所述中间件服务主程序反馈第一目标插件信息。
39.具体地,本技术实施例中,在中间件系统初次使用时,需要对其进行初始化,此时中间件服务主程序会生成初始化插件管理信息,并向插件管理器发送该初始化插件管理信息。
40.具体地,本技术实施例中所描述的初始化插件管理信息会包括初始化过程中需要调用或者卸载的插件信息,插件管理器会基于该初始化插件管理信息,加载所述n个插件中的m个第一目标插件。
41.本技术实施例中所描述的m个第一目标插件,即是初始化插件管理信息中调用插件信息。
42.在本技术实施例中,在中间件系统初始使用时,可以生成初始化插件管理信息,并配置基础的第一目标插件,以完成基本的业务功能。
43.可选地,所述第一目标插件还用于:
44.在执行所述应用服务请求时,将所述应用服务请求划分为第一应用服务子请求和第二应用服务子请求,并确定所述第二应用服务子请求对应的第二目标插件;
45.所述第一目标插件处理第一应用服务子请求,并向所述插件管理器发送内部服务请求,所述插件管理器响应于所述内部服务请求,调用所述第二目标插件处理所述第二应用服务子请求,所述第二目标插件将第二应用服务子请求的处理结果直接反馈给所述第一目标插件;
46.所述第一目标插件将所述第一应用服务子请求和所述第二应用服务子请求的处理结果反馈给所述中间件服务器主程序。
47.由插件管理器选择合适的第一目标插件执行后,第一目标插件可依据实际功能划分若干子步骤或子功能,即确定需要由第一目标插件处理的第一应用服务子请求和其它插件处理的第二应用服务子请求。
48.第一目标插件可就其中的部分子步骤或子功能,即第二应用服务子请求,向插件管理器发送多个内部服务请求,插件管理器接收到内部服务请求后逐一选择合适的第二目标插件以实现该子步骤或子功能,第二目标插件将执行结果直接反馈给第一目标插件。此过程设计上可以重复及递归。
49.所述第一目标插件完成所有功能后,将最终执行结果反馈给所述中间件服务器主程序。
50.在本技术实施例中,中间件系统设计支持一个插件模块调用另外若干个插件模块的已有功能来实现更复杂功能,提高模块复用性和开发效率。
51.可选地,所述中间件系统中加入新的第三目标插件的情况下,所述第三目标插件向所述插件管理器发送插件注册信息,所述插件管理器响应于所述插件注册信息,将所述第三目标插件写入插件功能列表,并将所述插件功能列表同步到所述中间件服务主程序。
52.具体地,本技术实施例中所描述的中间件系统支持动态的加载或者卸载插件模块动态库,实现具体功能的动态配置,在中间件系统中加入新的第三目标插件的情况下,此时第三目标插件会在插件管理器中进行处理,将第三目标插件写入插件功能列表,最后将所述插件功能列表同步到所述中间件服务主程序,该插件列表中记录了插件管理器可以调用的所有插件名称。
53.可以理解的是,在中间件系统中动态卸载到第五目标插件的情况下,此时插件管理器会在插件功能列表中删除第五目标插件,然后将更新后的插件功能列表也同步到中间件服务主程序中。
54.在本技术实施例中,本技术实施例中所描述的中间件系统支持动态的加载或者卸载插件模块动态库,便于用户进行部署。
55.可选地,每个所述插件均以动态库的方式部署,从而使得各个插件均可以动态配置插入到所述中间件系统或从所述中间件系统中卸载,且每个所述插件均运行在单独的线程中。
56.具体地,本技术实施例中的每个插件均单独运行,不会互相影响,且各个插件均可以在中间件系统正常工作过程中,动态配置加入到中间件系统中,或者在中间件系统正常工作过程中,从中间件系统中卸载。
57.可选地,本技术实施例中所描述的插件具体定义了如下内容中的一种或者多种:
58.1、入口注册函数,返回插件句柄
59.2、获取插件名称
60.3、获取插件功能列表
61.4、插件初始化与逆初始化
62.5、运行与清理
63.6、客户端接入与退出
64.7、消息处理
65.8、请求处理
66.9、内部请求处理
67.在本技术实施例中,中间件系统即可以动态的加载或者卸载插件模块动态库,实现具体功能的动态配置。
68.图2为本技术实施例中所描述的服务请求处理方法流程示意图,如图2所示,包括:
69.步骤210,中间件服务主程序接收各个应用程序服务请求,将所述应用程序服务请求发送到插件管理器;
70.步骤220,所述插件管理器基于所述应用程序服务请求调用一个或多个插件执行所述应用服务请求。
71.本技术实施例中所描述的中间件系统,主要用于连接各个设备/协议接口与各个应用程序,且每个插件均以定义好的框架接口作为检测和加载接口,并以动态库的方式部署,中间件系统即可以动态的加载或者卸载插件模块动态库,实现具体功能的动态配置。每个插件运行在单独的线程中,对于复杂功能插件,可以扩展到独立进程中运行,提升系统整体稳定性。中间件系统设计支持一个插件模块调用另外若干个插件模块的已有功能来实现更复杂功能,提高模块复用性和开发效率。
72.中间件系统具体是通过中间件服务主程序接收到应用程序服务请求后,将该服务请求发送到插件管理器,插件管理器会从n个插件中选择对应的插件,来执行应用程序服务请求,且各个插件会将其执行结果反馈给中间件服务主程序。
73.在本技术实施例中,通过提供一种中间件系统,以插件的形式模块化封装基础业务功能,屏蔽设备类型、连接协议等差异,提供统一接口。插件框架使用socket方式提供基础业务服务,消弭因智能系统、开发语言等导致差异,提高开发效率和插件模块可复用性。插件模块可以动态配置插入及卸载,并且在使用tcp socket时可进一步提供跨网络的服务功能,极大的提高了在部署和配置方面的灵活性。
74.图3是本发明提供的电子设备的结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communications interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行服务请求处理方法,该方法包括:中间件服务主程序接收各个应用程序服务请求,将所述应用程序服务请求发送到插件管理器;所述插件管理器基于所述应用程序服务请求调用一个或多个插件执行所述应用服务请求。
75.此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本
发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
76.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的服务请求处理方法,该方法包括:中间件服务主程序接收各个应用程序服务请求,将所述应用程序服务请求发送到插件管理器;所述插件管理器基于所述应用程序服务请求调用一个或多个插件执行所述应用服务请求。
77.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的服务请求处理方法,该方法包括:中间件服务主程序接收各个应用程序服务请求,将所述应用程序服务请求发送到插件管理器;所述插件管理器基于所述应用程序服务请求调用一个或多个插件执行所述应用服务请求。
78.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
79.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
80.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1