首页 / 专利库 / 软件 / 中间件 / 消息中间件 / 一种适用于分布式通信中间件的代理器(Agent)并行处理方法及结构

一种适用于分布式通信中间件的代理器(Agent)并行处理方法及结构

阅读:1017发布:2021-02-20

专利汇可以提供一种适用于分布式通信中间件的代理器(Agent)并行处理方法及结构专利检索,专利查询,专利分析的服务。并且本 发明 涉及通信 中间件 领域,本发明公开了一种适用于分布式通信中间件的并行处理方法,将Agent集和资源库之间的联合关系,映射到几何图论中,建立模型,找出原图的最大权匹配,即在系统中建立Agent并行处理模型,最大限度地使每个代理在执行任务的同时,不冲突地调用系统资源库。本发明还公开了一种适用于分布式通信中间件并行处理的Agent结构,最大限度地使Agent不冲突地使用系统资源库。,下面是一种适用于分布式通信中间件的代理器(Agent)并行处理方法及结构专利的具体信息内容。

1.一种适用于分布式通信中间件的并行处理方法,将Agent集和资源库之间的联合关系,映射到几何图论中,建立模型,找出原图的最大权匹配。
2.如权利要求1所述的适用于分布式通信中间件的并行处理方法,其特征在于找出原图的最大权匹配的方法具体为:
步骤1 创建代理器集Agents和需要访问的资源库集Libs,其具体步骤为:
代理器集Agents={ag1, ag2,...agN},代表Agent的集合;需要访问的资源库集Libs ={Lib1, Lib2,…,LibN},代表资源库的集合;代表代理和资源库之间的联合关系;
顶点集Agents的顶标为Agent[i],顶点集Libs的顶标为lib[j],对顶标进行初始化, 即令Agent[ i ]的值为所有与顶点Agent关联的边的最大权,lib[j]=0,顶点Agent和Lib之间的边权为W[i,j];
对于任一条边(i,j), Agent[ i ]+Lib[j]>=W[i,j];
步骤2 求Agent[ i ],lib[j]所构成的子图M的完备匹配,其具体步骤为(1)置子图M为空;
(2)找出一条增广路径P,通过异或操作获得更大的匹配M’代替M;
(3)重复(2)操作直到找不出增广路径为止;
步骤3 判断通过步骤2后是否找到子图M的完备匹配,如果已经找到,则结束运行;否则将已经存在的Agent[ i ]顶点的顶标减小d,Lib[j]顶点的顶标增加d,返回到步骤2;
d = Min{Agent[ i ]+Lib[j]-w[i,j] }
其中Agent[i]在交错树中,Lib[j]不在交错树中。
3.一种适用于分布式通信中间件中并行处理要求的Agent结构,其特征在于包括Agent执行单元、事件消息队列、同步执行单元,持久化执行单元、协作执行单元、自带线程的执行单元、自带线程的执行单元列表;所述Agent执行单元和事件消息队列构成Agent执行单元池;
所述Agent执行单元用于完成代理的主要功能:处理来自系统层的请求;转发系统层的请求到应用层的被管对象;转发应用层的被管对象对请求的响应到系统层管理单元;软件中定界和过滤功能的解析;
所述事件消息队列,在代理执行单元池中起到消息队列的作用;
所述同步执行单元负责处理对应用层对象的定;
所述协作执行单元把来自应用层的请求传给Agent执行单元,并且在Agent中执行各个Agent执行单元之间的负载平衡功能;
所述自带线程的执行单元代表已经注册的Agent的子代理,并负责处理代理和子代理之间的通信;
所述自带线程的执行单元列表包含所有带线程的执行单元的信息;
所述Agent执行单元池,用来动态创建和删除执行单元。
4.如权利要求3所述的适用于分布式通信中间件的Agent并行处理结构,其特征在于所述执行单元能够动态地产生和删除,各种执行单元分别执行不同的功能, 而且不同的执行单元能同时执行,所述执行单元是事件驱动的,每个执行单元有自己的线程和有限状态机状态,在一个程序类中,每个执行单元能和别的执行单元共享代码。
5.一种基于分布式通信中间件的Agent产生和初始化方法,具体包含以下步骤:
创建Agent自身的数据结构,然后启动Agent根线程后,创建协调执行单元和同步执行单元,接着协调执行单元创建执行单元池及相应的执行单元;
协调执行单元发送特定的事件信号给其中一个执行单元,接收到这个特定事件信号后,此执行单元通过通信点连接网络管理对象;
整个Agent初始化工作完成,能处理来自系统的请求并执行。

说明书全文

一种适用于分布式通信中间件的代理器(Agent)并行处理

方法及结构

技术领域

[0001] 本发明涉及通信中间件领域,尤其涉及一种适用于分布式通信中间件的Agent并行处理方法及结构。

背景技术

[0002] 中间件是位于应用软件与系统基础软件之间的独立的具有相应层次的系统软件,它的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。现在中间件分为消息中间件,交易中间件,对象中间件等,代表产品有IBM 的WebSphere,BEA的 WebLogic,开源软件Jboss, 国内东方通科技 的TongLINK/Q等,这些中间件多为通用性的,一般不针对专的特定领域。而现有技术中的分布式网络通信系统的开发,多采用基于J2EE架构的中间件,如WebSphere,Jboss等,这些中间件平台并非专门针对网络通信系统的,在拥有大量通信功能,通信协议以及需要进行大量并行处理的网络通信系统开发工作中,上述通用中间件显得效率不高。
[0003] 现代软件系统大多是基于网络的,具有分布式的特点,传统的分布式计算技术大都基于C/S模式,通过远程过程调用(RPC)或消息传递(Message passing)等方式远程通信,较适合稳定的网络环境和场合,远远不能适应当今快速多变的网络应用发展。Agent(Agent)技术是一种新的分布式计算模式,它从很大程度上解决了这个问题。Agent是一个具有自治性、协同工作能和目标驱动等特点的软件实体,能够携带代码和状态自主地从网络中的一个节点移动到另一个节点上运行,寻找合适的计算资源和信息资源,完成特定的任务。Agent模式具有自主性、反应性、主动性、交互性和移动性的特点,能有效地降低分布式计算中的网络负载,提高通信效率,支持离线计算,支持异步自主交互,可动态适应网络环境,成为现今最流行的分布计算模式。中间件位于操作系统和应用层之间,多个Agent在整个系统中作分布式部署,完成通信,事务处理,安全,负载均衡等功能。
[0004] 在网络通信系统中,存在着各种通信协议和机制,网络通信系统在运行过程中会同时处理大量的通信事件,包括单元间通信、线程间通信、进程间通信、CPU间通信等,系统的正常运行要求数量有限的Agent能同时处理尽可能多的通信事件,达到最大化的并行处理效果,一般的Agent结构在这种情况下显得性能低下。

发明内容

[0005] 本发明的目的是针对上述现有技术中的Agent并行处理方法性能低下的技术问题,提供一种适用于分布式通信中间件的Agent并行处理方法及结构。
[0006] 本发明的目的通过下述技术方案来实现:一种适用于分布式通信中间件的并行处理方法,将Agent集和资源库之间的联合关系,映射到几何图论中,建立模型,找出原图的最大权匹配。
[0007] 优选地,上述找出原图的最大权匹配的方法具体为步骤1 创建代理器集Agents和需要访问的资源库集Libs,其具体步骤为:
代理器集Agents={ag1, ag2,...agN},代表Agent的集合;需要访问的资源库集Libs ={Lib1, Lib2,…,LibN},代表资源库的集合;代表代理和资源库之间的联合关系;
顶点集Agents的顶标为Agent[i],顶点集Libs的顶标为lib[j],对顶标进行初始化, 即令Agent[ i ]的值为所有与顶点Agent关联的边的最大权,lib[j]=0,顶点Agent和Lib之间的边权为W[i,j];
对于任一条边(i,j), Agent[ i ]+Lib[j]>=W[i,j];
步骤2 求Agent[ i ],lib[j]所构成的子图M的完备匹配,其具体步骤为
(1)置子图M为空;
(2)找出一条增广路径P,通过异或操作获得更大的匹配M’代替M;
(3)重复(2)操作直到找不出增广路径为止;
步骤3 判断通过步骤2后是否找到子图M的完备匹配,如果已经找到,则结束运行;否则将已经存在的Agent[ i ]顶点的顶标减小d,Lib[j]顶点的顶标增加d,返回到步骤2,其中d = Min{Agent[ i ]+Lib[j]-w[i,j] | Agent[i]在交错树中,Lib[j]不在交错树中}。
[0008] 本发明还公开了一种适用于分布式通信中间件的Agent并行处理结构,包括Agent执行单元、事件消息队列、同步执行单元,持久化执行单元、协作执行单元、自带线程的执行单元、自带线程的执行单元列表;所述Agent执行单元和事件消息队列构成Agent执行单元池;所述Agent执行单元用于完成代理的主要功能:处理来自系统层的请求;转发系统层的请求到应用层的被管对象;转发应用层的被管对象对请求的响应到系统层管理单元;软件中定界和过滤功能的解析;
所述事件消息队列,在Agent执行单元池中起到消息队列的作用;
所述同步执行单元负责处理对应用层对象的定;
所述协作执行单元把来自应用层的请求传给Agent执行单元,并且在Agent中执行各个代理执行单元之间的负载平衡功能;
所述自带线程的执行单元代表已经注册的Agent的子代理,并负责处理代理和子代理之间的通信;
所述自带线程的执行单元列表包含所有带线程的执行单元的信息;
所述Agent执行单元池,用来动态创建和删除执行单元。
[0009] 优选地,上述执行单元能够动态地产生和删除,各种执行单元分别执行不同的功能, 而且不同的执行单元能同时执行,所述执行单元是事件驱动的,每个执行单元有自己的线程和有限状态机状态,在一个程序类中,每个执行单元能和别的执行单元共享代码。
[0010] 一种基于分布式通信中间件的Agent产生和初始化方法,具体包含以下步骤:创建Agent自身的数据结构,然后启动Agent根线程后,创建协调执行单元和同步执行单元,接着协调执行单元创建执行单元池及相应的执行单元;
协调执行单元发送特定的事件信号给其中一个执行单元,接收到这个特定事件信号后,此执行单元通过通信点连接网络管理对象;
整个Agent初始化工作完成,能处理来自系统的请求并执行。
[0011] 本发明的有益效果:本发明提供的分布式通信中间件的Agent并行处理方法及结构使网络硬件(即网络设备)并行处理能力大大增强。完成这种图的最大权匹配,也就是说,在系统中建立Agent并行处理模型,最大限度地使每个Agent在执行任务的同时,不冲突地调用系统资源库。附图说明
[0012] 图1为分布式通信平台构建器的Agent 内部结构图。
[0013] 图2为Agent的产生和初始化流程图
[0014] 图3为网络通信中Agent并行处理的结构示意图。
[0015] 图4为DCPC通信平台构建器在网络通信系统中的应用。
[0016]

具体实施方式

[0017] 下面结合具体实施例和附图对本发明作进一步的说明。
[0018] 在实际的通信系统中,多个Agent需要同时处理多个任务,Agent要处理系统任务需要调用有限的系统资源库,因此多个Agent如何最大限度并不冲突地使用系统资源库是实现并行处理的关键。
[0019] 图论中的二分图定义为:设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。
[0020] 给定一个二分图G,在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是一个匹配。
[0021] 选择这样的边数最大的子集称为图的最大权匹配问题,通俗地说,就是最可能多地找到两条边,他们不依附于同一个顶点。
[0022] 如果一个匹配中,图中的每个顶点都和图中某条边相关联,则称此匹配为完备匹配。
[0023] 若P是图G中一条连通两个未匹配顶点的路径,并且属于M的边和不属于M的边(即已匹配和待匹配的边)在P上交替出现,则称P为相对于M的一条增广路径。
[0024] 要获得图的最大权匹配,需用到以下两个定理:定理1: 设二分图G中顶点Xi的顶标为A[ i ],顶点Yj的顶标为B[ j ],顶点Xi与Yj之间的边权为W[i,j]。 如果图G的子图M中,所有边都满足A[ i ]+ B[ j ]== W[i,j], M被称为G的等价子图。
[0025] 定理2: 若由二分图中所有满足A[ i ]+B[j]=w[i,j]的边(i,j)构成的子图(称做相等子图)有完备匹配,那么这个完备匹配就是二分图的最大权匹配。
[0026] 对应为二分图中的两个顶点集,如果能找到图的最大权匹配,就是最大限度地使Agent不冲突地使用系统资源库。
[0027] 本发明中一种适用于分布式通信中间件的并行处理方法为将Agent集和资源库之间的联合关系,映射到几何图论中,建立模型,找出原图的最大权匹配,即在系统中建立代理并行处理模型,最大限度地使每个Agent在执行任务的同时,不冲突地调用系统资源库。其具体包括以下步骤步骤1 创建Agent集Agents和需要访问的资源库集Libs,其具体步骤为:
Agent集Agents={ag1, ag2,...agN},代表Agent的集合;需要访问的资源库集Libs ={Lib1, Lib2,…,LibN},代表资源库的集合;代表代理和资源库之间的联合关系;
设顶点集Agents的顶标为Agent[i],顶点集Libs的顶标为lib[j],对顶标进行初始化, 即令Agent[ i ]的值为所有与顶点Agent关联的边的最大权,lib[j]=0,顶点Agent和Lib之间的边权为W[i,j];
对于任一条边(i,j), Agent[ i ]+Lib[j]>=W[i,j];
步骤2 求Agent[ i ],lib[j]所构成的子图M的完备匹配,具体步骤如下:
(1)置子图M为空;
(2)找出一条增广路径P,通过异或操作获得更大的匹配M’代替M;
(3)重复(2)操作直到找不出增广路径为止;
步骤3 判断通过步骤2后是否找到子图M的完备匹配,如果已经找到,则结束运行;否则将已经存在的Agent[ i ]顶点的顶标减小d,Lib[j]顶点的顶标增加d,返回到步骤2;
其中d = Min{Agent[ i ]+Lib[j]-w[i,j] | Agent[i]在交错树中,Lib[j]不在交错树中}。
[0028] 等价子图的完备匹配,也就是原图的最大权匹配,完成这种最大权匹配,也就是说,在系统中建立Agent并行处理模型,最大限度地使每个Agent在执行任务的同时,不冲突地调用系统资源库。
[0029] 要做到高效地并行处理大量的事件和请求,除了按上述方法建立了Agent并行处理模型,Agent本身还需要具有适应并行处理的内部结构。其要点在于:每个Agent包含多个执行单元(EU),执行单元就是能够相互通信的处理单元,能够在运行时被动态地建立和删除,具有自己的控制线程或与其他处理单元共享线程。 每个执行单元负责完成Agent在网络活动中的一些特点必需功能,诸如:代理之间的相互通信功能;负载均衡功能;数据库访问中的持久化功能;分布式对象的同步保护功能等,所述方法具有高效、高可靠性、适用范围广的特点,支持并行处理框架和多进程。解决了现有体系结构下对于复杂通信和并行处理效率偏低的缺点,使平台能够高效地并行处理大量的事件和请求,更好地支持基于并行框架的网络通信系统软件开发。
[0030] 如图1所示的一种分布式通信平台构建器(Distributed CommunicationConstructor 简称DCPC)的Agent 内部结构图,虚线以上部分是一个通信Agent的内部结构,它由多个执行单元实体(EU)组成,这种执行单元(Executing Unit,简称EU)是利用分布式对象技术在Agent内部构建的,能够在软件运行时被动态地建立和删除,它们相互协调,共同完成Agent的功能。
[0031] 本发明还公开了一种适用于分布式通信中间件的代理并行处理结构,包括代理执行单元(Agent EU)、事件消息队列Event Message Queue (简称EMQ)、同步EU、持久化EU、协作EU、自带线程的执行单元Proxy Sub-Agent(简称PSA)、自带线程的执行单元列表Proxy Sub-Agent List (简称PSAL);所述Agent EU(简称AE)和事件消息队列Event Message Queue (简称EMQ)构成Agent执行单元池Agent EU Pool(简称AEP)。所述代理执行单元Agent EU用于完成代理Agent的主要功能:处理来自系统层的请求;转发系统层的请求到应用层的被管对象;转发应用层的被管对象对请求的响应到系统层管理单元;软件中定界和过滤功能的解析。所述事件消息队列(EMQ),在Agent执行单元池中起到消息队列的作用,即当所有AE都忙于处理各种请求时,如有新的请求来到,这些请求将会被放入EMQ,等待空闲AE来处理。所述同步EU负责处理对应用层对象的锁定,当此对象遭遇多个请求时,这种锁定保证对象能被这些请求按次序访问,从而保证其访问的安全性。所述持久化EU执行与同步单元相关的持久化的功能,从而使同步单元专注于对象同步工作,同具体的耗费资源的持久化工作脱离开来。所述协作EU把来自应用层的请求传给Agent EU,并且在Agent中执行各个Agent EU之间的负载平衡功能,即一旦收到应用层的请求时,本单元根据具体情况决定由哪个AE来处理这些请求。所述自带线程的执行单元Proxy Sub-Agent(简称PSA)代表已经注册的Agent的子代理(Sub-Agent),并负责处理Agent和子代理(Sub-Agent)之间的通信,它像网关一样,解析通信中的细节,例如协议栈等。PSA和Sub-Agent之间的通信协议是通用管理信息(CMIP)协议。所述Proxy Sub-Agent List (PSAL)是PSA的列表,包含所有PSA的信息。所述Agent EU Pool(AEP)是Agent执行单元池,用来动态创建和删除执行单元,包含执行单元的配置信息。
[0032] 在本发明的Agent结构中,执行单元(EU)是最基本的功能单元,它能够动态地产生和删除,并具有以下特点:1.各种EU分别执行不同的功能, 而且不同的EU能同时执行,能这使得系统并行处理功能大为提高。2.EU是事件驱动的。3.每个EU有自己的线程和有限状态机(FSM)状态。4.一个程序“类”(class)中,每个EU能和别的EU共享代码。
[0033] 所有执行单元(EU)都是由Agent创建的,EU产生以后,只有当Agent自身消亡(也就是Agent根进程结束)时,执行单元(EU)才会消失。
[0034] 图2是Agent完整的产生和初始化流程。从上图可看到:本发明还公开了一种基于分布式通信中间件的代理产生和初始化方法,系统首先创建Agent自身的数据结构,然后启动Agent根线程后,创建协调EU和同步EU,接着协调EU创建执行单元池(AEP)及相应的执行单元(EU);下一步协调EU发送特定的事件信号给其中一个执行单元(EU),接收到这个特定事件后,此执行单元(EU)通过通信点SAP连接网络管理对象(MO);最后,整个Agent初始化工作完成,能处理来自系统的请求并执行。
[0035] 以下从网络通信中并行处理的度说明Agent如何实现并行处理。假设网络中有三个网络设备网元1、网元2、网元3,对于每个网元,DCPC构建器部署一系列Agent(事务agent, 安全agent, 通信Agent)对其负责,其中通信Agent完成网元通信中从请求的发送,接收,通信的建立到通信完成整个过程。
[0036] 如图3所示网络通信中Agent并行处理的结构示意图, 首先Agent按照图2所述流程产生自己的各种执行单元(EU), 当网元1同时收到网元2和网元3的通信请求时,负责网元1的Agent中的协作EU (Coordinating EU)把这两个请求放入Agent中的事件消息队列(EMQ)进行排队;然后协作EU在Agent中选择两个空闲的Agent EU(AE)来处理这两个请求,分别完成对网元2和网元3的通信。由于这两个通信过程是同时进行的,这样就用两个Agent EU(AE)实现了通信的并行处理;同步是并行处理过程中的关键问题,如上例图3中,网元1中的Agent EU(AE)要执行通信功能,需要调用系统中与通信相关的系统资源库(含有多种通信协议,通常以分布式对象方式供使用者调用),如果两个同时进行的通信过程都要调用这样的资源库就会发生冲突,同步EU 的功能在于保证系统调用的安全进行:当同时有两个针对系统资源库的来自不同AE的请求时,Agent EU将这两个请求放进事件消息队列Event Message Queue (简称EMQ),然后把其中一个请求送给系统资源库,在处理这个请求时,同步EU使系统资源库处于锁定状态,拒绝别的请求。只有当第一个请求被处理完,同步EU对系统资源库解锁,事件消息队列(EMQ)中的第二个请求才被送给资源库。
[0037] DCPC是一种分布式中间件,它和网络通信系统的开发和应用密切相关,图4为DCPC通信平台构建器在网络通信系统中的应用。DCPC的使用使网络硬件(即网络设备)并行处理能力大大增强,DCPC通信平台构件器的实现方法包含以下步骤:部署DCPC通信平台构建器:在操作系统层和应用层之间安置中间件服务器,把DCPC构建器部署在中间件服务器中。
[0038] DCPC向网络设备提供通信API: DCPC集成了多种通信协议栈,包括单元间通信(IWC)、线程间通信(ITC)、进程间通信(IPC)、CPU间通信(ICC)和系统间通信(ISC),DCPC在这些通信协议的基础上构建了API,并把API提供给应用层。在网络通信系统中,DCPC以完全集成的方式提供异步(无阻塞)和同步(阻塞),面向连接和无连接通信API。使用户能适当的结合各种API来建立经济有效的通讯方式。在各协议栈(包括TCP/IP,OSI等)的顶层都提供相同的通信基础设施API。
[0039] 部署Agent到网络设备中,提高其并行处理能力:首先,按照最大匹配算法构建最佳Agent并行处理模型,使每个Agent最大限度并且不冲突地调用系统资源库。 其次,针对网络中的每个网元对象(图3中网络应用层的交换机,路由器等网络设备), DCPC部署一系列Agent,按照图2的流程在Agent内部创建各种执行单元(EU),完成和网元对象相关的通信,网络管理,数据库访问持久化,安全事务等功能。
[0040] 开发人员在通信系统的开发中充分利用DCPC的两个特点(基于最大匹配算法构建的Agent并行处理模型;特别的Agent结构),大大提高了网络通信设备并行处理通信事件的能力。
[0041] 以上上述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈