一种基于多Agent技术的业务流转系统及其业务流转方法与流程

文档序号:12672635阅读:371来源:国知局
一种基于多Agent技术的业务流转系统及其业务流转方法与流程

本发明涉及多Agent系统技术领域,具体来说是一种基于多Agent技术的业务流转系统及其业务流转方法。



背景技术:

随着云计算、互联网业务的兴起,以及在互联网+背景下,需要实现不同的行业部门的业务处理相互协同协作,例如环境监测以及桥梁检测以及网络舆情监控等,因此各分布系统的自治、自主协作有着重要的应用价值。

多Agent技术是在在二十世纪七十年代,随着分布式人工智能研究的兴起而产生的,与DPS(分布式问题求解)不同,MAS(多Agent系统)主要研究Agent之间在自治基础之上的协商和协作。Agent与传统面向对象的技术的同体现在Agent具有智能,即拥有自己的知识库和推理机、Agent能够自主的决定是否对来自其他Agent的信息做出响应,Agent之间的通信通常采用支持知识传递的通信语言。目前国际对MAS系统建模应用以及人工智能相关领域的研究较多,主要包括Agent理论研究、Agent体系结构研究、Agent通讯以及通讯语言研究、Agent学习研究等方面内容。一些标准化工作也在开展,例如智能物理Agent基金会(FIPA)制定了一系列指导多Agent系统开发的规范。LiGuo等人提出采用基于商业过程模型(BPM)的多Agent系统,采用时态逻辑以及SPPC模型解决了Agent系统之间的通讯实时交互问题。在应用领域MAS也有较多的研究成果,例如基于多Agent的协同供应链管理系统,基于多Agent的汽车供应链协商机制等研究。基于业务管理系统的应用研究成果也比较多,例如OMG提出的BPMN标准,解决了管理流程定义的可视化、语义化等标准化问题。目前跨业务领域的业务协作系统相关研究成果较少。

在大数据以及云计算环境下,实现多个业务领域的业务协作需要解决以下问题,在大数据环境下数据分析需要解决不同数据来源交换问题,云环境下不同业务领域之间业务协同问题,以及不同业务资源的业务调度问题。那么,如何利用Agent技术,基于多Agent系统业务流转系统设计已经成为急需解决的技术问题。



技术实现要素:

本发明的目的是为了解决现有技术中在多个业务系统之间缺少自动化业务流转技术的缺陷,提供一种基于多Agent技术的业务流转系统及其业务流转方法来解决上述问题。

为了实现上述目的,本发明的技术方案如下:

一种基于多Agent技术的业务流转系统,包括业务系统A和业务系统B,业务系统A和业务系统B两者结构相同,

所述的业务系统A包括第一代理Agent、第一业务处理Agent、第一数据分析Agent、第一数据资源Agent,业务系统A与业务系统B通过第一代理Agent和第二代理Agent基于BDI机制进行数据交互传输;

所述的第一数据资源Agent用于对本地数据来源及本地数据库系统进行数据资源管理,对本地数据库系统按来源、用途区分并标明其属性;

第一数据分析Agent用于进行本地数据分析,与第一代理Agent、第一业务处理Agent和第一数据资源Agent进行协作,包括:对本地数据资源统计分析、根据数据分析结果触发事件,请求第一业务处理Agent进入相应事务处理,在本地数据分析资源缺乏时,提交业务请求给第一代理Agent,与业务系统B的第二数据分析Agent协作,响应第一代理Agent请求与业务系统B交互;

第一业务处理Agent对业务系统A内的业务模型库和业务节点管理模块进行管理并与第一代理Agent、第一数据分析Agent和第一数据资源Agent进行协作,业务模型库采用商业过程模型表述其业务流程,业务节点管理模块记录第一业务处理Agent采用的具体业务模型和第一业务处理Agent正在处理的工作活动;

第一代理Agent负责查找业务系统B的数据资源、业务处理资源,根据业务系统A内第一业务处理Agent、第一数据分析Agent和第一数据资源Agent的请求,从业务系统B寻找第二业务处理Agent、第二数据分析Agent和第二数据资源Agent。

所述的第一业务处理Agent用于记录和管理若干个业务处理流程采用的业务处理模型以及工作活动,指示当前工作活动的所处位置,以及执行当前结点需要的资源支持。

所述的第一业务处理Agent用于响应第一代理Agent、第一数据分析Agent和第一数据资源Agent请求,执行业务系统A内的工作流程;响应业务系统A内业务处理系统请求,寻找第二数据分析Agent、第二业务处理Agent的支持。

所述的第一业务处理Agent的业务模型库采用基于BPMN描述的业务处理模型、采用Activitii或JBPM工作流引擎作为业务处理模型的解释器和执行器、各业务状态采用BPMN Activity Point保存工作节点信息、采用BPMN Message与业务系统B的第二业务代理Agent实现不同业务系统之间的通讯。

所述的第一数据资源Agent以及第一数据分析Agent向第一业务处理Agent提交事件,要求第一业务处理Agent协作,其协议采用BPMN Event表示。

所述的业务系统A与业务系统B的数据交换采用XML协议,XML协议包括Schema文件和XML文件。

一种基于多Agent技术的业务流转系统的业务流转方法,业务系统A的第一数据分析Agent到业务系统B寻求数据分析包括以下步骤:

业务系统A的第一数据分析Agent调度其自身的分析引擎分析业务系统A的本地数据,当发现业务系统A的本地数据资源不足以支撑其分析需求时,向业务系统A的第一代理Agent发出请求;

业务系统A的第一代理Agent发起资源交互请求,等待业务系统B的第二代理Agent的响应;

业务系统B的第二代理Agent收到资源交互请求后,第二代理Agent将其传给第二数据分析Agent,第二数据分析Agent通过访问接口经第二代理Agent、第一代理Agent访问第一数据分析Agent,访问接口通过WSDL文件进行封装;

第一数据分析Agent解析WSDL文件并访问第二数据分析Agent;

第二数据分析Agent对业务系统B的第二数据资源Agent的本地数据库系统进行分析,检索结果以Schema文件以及XML文件形式返回;

第一数据分析Agent解析Schema文件以及XML文件,合并分析结果。

第一业务处理Agent提请第二业务处理Agent进行业务流程处理,包括以下步骤:

第一业务处理Agent从业务模型库和业务节点管理模块调度执行业务模型执行流程;

第一代理Agent发现需要业务系统B的第二业务处理Agent参与协作,则挂起当前业务活动并向第一代理Agent提交请求;

第一代理Agent与第二代理Agent联系,启动第二业务处理Agent处理业务;

第二业务处理Agent执行流程,将处理结果以BPMN Message返回给第一业务处理Agent。

第一代理Agent响应业务系统A内的请求,寻求业务系统B的资源,包括以下步骤:

第一代理Agent收到业务系统A内的请求,第一代理Agent基于BDI机制采用FIPA协议向业务系统B发出消息,开始寻找业务系统B的合作;

业务系统B的第二代理Agent收到第一代理Agent的邀请,检查本地资源描述库,检查是否满足资源条件,其中本地资源描述库包含一组二维表描述业务系统B内的Agent标签、Agent标识信息;

第二代理Agent发现满足资源条件,启动选举机制;

第一代理Agent根据调度策略判断邀请是否无效或者超时,如果长期得不到有效响应,则终止选举机制;

第一代理Agent通过第二代理Agent获取资源,并将其资源转交给业务系统A内的请求。

有益效果

本发明的基于多Agent技术的业务流转系统及其业务流转方法,与现有技术相比提出了基于角色的多个Agent分工协作机制,构建了跨云端的业务处理协作社区,解决了跨云端的业务处理协作问题。本发明解决了大数据环境下数据搬迁、以及数据私密性问题,减少了跨业务系统的业务协作开发成本。

附图说明

图1为本发明中业务流转系统的结构示意图;

图2为本发明中业务流转系统交互结构示意图。

具体实施方式

为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:

如图1和图2所示,本发明所述的一种基于多Agent技术的业务流转系统,包括业务系统A和业务系统B,业务系统A和业务系统B两者结构相同,业务系统A包括第一代理Agent、第一业务处理Agent、第一数据分析Agent、第一数据资源Agent,业务系统A与业务系统B通过第一代理Agent和第二代理Agent基于BDI机制进行数据交互传输。业务系统B包括了第二代理Agent、第二业务处理Agent、第二数据分析Agent和第二数据资源Agent。在此,针对业务系统A内的结构和流转方法进行阐述,业务系统B则与此相同。

第一数据资源Agent包括多个数据访问接口、多个本地数据来源和本地数据库系统。第一数据资源Agent用于对本地数据来源及本地数据库系统进行数据资源管理,对本地数据库系统按来源、用途区分并标明其属性。其中本地数据来源可以包括连接本地业务系统的传感器数据采集、网络爬虫、网络消息采集等数据来源,本地数据库资源包括本地系统的关系型数据库、基于KV的内存数据、以及基于HDFS的分布式数据库等资源。

第一数据分析Agent包括分析引擎,用于进行本地数据分析,与第一代理Agent、第一业务处理Agent和第一数据资源Agent进行协作,包括:对本地数据资源统计分析、根据数据分析结果触发事件,请求第一业务处理Agent进入相应事务处理。在本地数据分析资源缺乏时,提交业务请求给第一代理Agent,与业务系统B的第二数据分析Agent协作,响应第一代理Agent请求与业务系统B交互。

第一业务处理Agent对业务系统A内的业务模型库和业务节点管理模块进行管理并与第一代理Agent、第一数据分析Agent和第一数据资源Agent进行协作,业务模型库采用商业过程模型表述其业务流程,可以采用的模型有BPMN,FBPML等模型表示。业务节点管理模块记录第一业务处理Agent采用的具体业务模型和第一业务处理Agent正在处理的工作活动。

第一业务处理Agent记录和管理若干个业务处理流程采用的业务处理模型以及工作活动,指示当前工作活动的所处位置,以及执行当前节点需要的资源支持。第一业务处理Agent响应第一数据分析Agent和第一数据资源Agent请求,执行本地业务系统内的工作流程。第一业务处理Agent的业务模型库采用基于BPMN描述的业务处理模型、采用Activitii或JBPM工作流引擎作为业务处理模型的解释器和执行器、各业务状态采用BPMN Activity Point保存工作节点信息。

第一代理Agent负责查找业务系统B的数据资源、业务处理资源,根据业务系统A内第一业务处理Agent、第一数据分析Agent和第一数据资源Agent的请求,从业务系统B寻找第二业务处理Agent、第二数据分析Agent和第二数据资源Agent。

以上为业务系统A的第一代理Agent、第一业务处理Agent、第一数据分析Agent和第一数据资源Agent组成本地Agent社区。本地Agent社区内的活动为第一数据资源Agent以及第一数据分析Agent向第一业务处理Agent提交事件,要求第一业务处理Agent协作,其协议采用BPMN Event表示。

在基于多Agent的业务流转系统中,其特征主要包括以下几点:

(1)各Agent满足自治、协商、协作,Agent需要具有一定的智能型,Agent能够在满足条件的情况下自主的完成其业务。在条件不满足的情况下,能够与其他Agent组成的社区内,自主交互共同协商协作完成任务。

(2)多Agent代理机制,在本地Agent系统中,存在多个任务不同的Agent,需要通过一种代理机制查询所需资源。

(3)Agent资源的查找,在分布环境下,业务处理系统往往基于松散耦合合作模式的资源交换策略,代理Agent需要实现采用Raft算法的代理协商机制。

(4)本地多个Agent协商机制,各个Agent之间需要建立有效的通讯手段,实现不同Agent角色相互通讯协商机制。

(5)跨业务系统中的业务活动协作,在云环境下,需要解决不同的业务处理系统之间跨业务领域的协作。业务处理Agent采用BPMN描述的业务处理模型,采用BPMN标准定义的Actives保存各自业务节点信息,以及采用Message机制的事件实现不同业务系统通讯。

(6)大数据环境下活性数据共享需求,在大数据环境下,数据分析遇到的困难主要有两点,其一是大数据环境下数据高度隐私以及敏感,例如运营商的具体个人的通话记录等。其二是大数据环境下存在着海量的活性数据,其数据内容是动态的,异地业务处理过程中如采用大量原数据直接搬迁方式,势必带来带宽存储计算等计算压力,因此需要通过数据分析Agent提供基于数据分析结果方式满足业务处理需要。

基于以上多个Agent的业务流转系统的特征设计时考虑,Agent不仅要具有个体智能性,还要具有自主的群体交互能力。我们采用基于BDI的Agent交互方式,即信念(Belief)、愿望(Desire)和意图(Intention),BDI间的约束与激发关系能够使Agent达到理性平衡,体现个体智能性,还可用以其它Agent思维状态的建模,解释交互语言的语义和语用,支持多Agent的交互。因此,在业务系统内,业务处理模型采用基于BPMN描述的业务处理,采用Activitii、JBPM工作流引擎作为业务处理模型的解释器和执行器。各业务状态采用BPMN Activity Point保存工作节点信息,第一业务处理Agent转发BPMN Message与本地业务处理系统可以实现不同云端业务处理系统之间的通讯。本地业务系统中第一数据资源Agent以及第一数据分析Agent向第一业务处理Agent提交事件要求第一业务处理Agent协作,其协议采用BPMN Event表示。

在此还提供在业务系统A内多Agent技术的本地业务系统的本地业务访问方法,包括以下步骤:

第一步,第一数据资源Agent管理并调度多个数据来源。数据来源包含通过传感器、视频设备、网络爬虫、业务请求收集到的数据,收集的数据经过ETL整理后将数据按时效性、结构关系分别存放到不同的本地数据库系统。其具体步骤如下:

(1)第一数据资源Agent从数据来源获得数据,经ETL整理后,分发并保存为结构化和非结构化数据。

(2)第一数据资源Agent将数据经过分类后保存到本地数据库系统,本地数据库系统包含基于KV的分布内存数据库、分布式关系数据库、基于HDFS的分布数据库、消息队列。其中内存队列可以采用Memcached、Redis;关系型数据库采用Oracle、MySQL、SQLServer等SQL兼容关系型数据库;非结构化分布数据库采用HBASE。消息队列用于存放以BPMNMessage表示的消息以及以BPMNEvent表示的事件,消息队列可以采用Kafaka、RabitMQ、JMS。

(3)设计分发策略,将即时数据存放到基于KV的分布内存数据库、结构化数据保存到分布式关系数据库、非结构化数据保存到基于HDFS的分布数据库、消息或事件保存到消息队列。

(4)第一数据资源Agent提供数据访问接口访问本地数据库系统,接口集成Hive、采用Publish/Subscribe模式的消息队列访问方式,进行对本地数据库系统访问管理。

第二步,第一数据分析Agent调用分析引擎分析数据,并输出分析结果,其具体步骤如下:

(1)第一数据分析Agent通过数据访问接口向第一数据资源Agent请求数据资源。

(2)第一数据分析Agent调用分析引擎进行数据分析,对第一数据资源Agent检索到的数据内容进行分析,分析引擎包括数学分析需要的内存资源、数据挖掘算法、滤波算法、判断条件。

(3)分析引擎通过对检索到的数据结果分析,输出并保存数据结果,并判断数据结果是否满足事件触发条件;若满足则产生事件并向第一业务处理Agent提出业务处理请求,事件采用BPMNEvent表示。

(4)第一数据分析Agent保存数据分析结果,为数据分析结果打上标签并建立索引。

第三步,第一业务处理Agent进行业务处理。第一业务处理Agent响应第一数据分析Agent或第一数据资源Agent的请求,根据事件类型调度从业务模型库调取相应业务处理模型处理业务,其具体步骤如下:

(1)第一业务处理Agent响应第一数据分析Agent或第一数据资源Agent的请求,获取事件或者消息;根据事件或者消息属性,在业务模型库寻找对应的业务处理模型,通过业务节点管理模块获得需要处理业务节点。业务模型库包含多个采用BMPN描述的业务处理模型,业务节点管理模块记录采用BPMN Activty标识业务处理节点,管理BPMN活动的就绪、激活、挂起、结束状态。

(2)第一业务处理Agent处理当前业务节点,若当前业务节点为挂起状态,则激活业务节点,并处理业务;处理完毕后结束当前业务节点,并激活下一个活动。

若当前业务节点缺少必要信息,则在本地业务系统内向第一数据分析Agent或第一数据资源Agent寻求协助。

(3)若第一数据分析Agent或第一数据资源Agent均不能满足请求,则保存当前活动信息,并挂起当前业务节点,继续处理其他业务节点。即业务节点管理模块反复执行任务处理,直到整个业务流程处理完毕。

以上进行的是业务系统A内第一数据分析Agent、第一业务处理Agent和第一数据资源Agent的访问过程和步骤。

如图2,在同一云中各Agent之间的相互操作。而为了实现不同云系之间的操作,两个分布式云环境的互访操作,即还包括一个与业务系统A结构相同的业务系统B,基于相同的原理,还可能有业务系统C、业务系统D。业务系统A与业务系统B的数据交换采用XML协议,XML协议包括Schema文件和XML文件。

Schema文件示意如下("investigation.xsd"):

XML文件示意如下:

在此,还提供一种基于多Agent技术的业务流转系统的业务流转方法,作为第一种方法实施方式,业务系统A的第一数据分析Agent到业务系统B寻求数据分析,其包括以下步骤:

(1)业务系统A的第一数据分析Agent调度其自身的分析引擎分析业务系统A的本地数据,当发现业务系统A的本地数据资源不足以支撑其分析需求时,向业务系统A的第一代理Agent发出请求,请求业务系统A的第一代理Agent向云内的业务系统B寻求帮助。

(2)业务系统A的第一代理Agent发起资源交互请求,等待业务系统B的第二代理Agent的响应。

(3)业务系统B的第二代理Agent收到资源交互请求后,第二代理Agent将其传给第二数据分析Agent,第二数据分析Agent通过访问接口经第二代理Agent、第一代理Agent访问第一数据分析Agent,访问接口通过WSDL文件进行封装。

(4)第一数据分析Agent解析WSDL文件并访问第二数据分析Agent,以利用第二数据分析Agent的分析引擎分析业务系统A的本地数据。

(5)第二数据分析Agent对业务系统B的第二数据资源Agent的本地数据库系统进行分析,检索结果以Schema文件以及XML文件形式返回。

(6)第一数据分析Agent解析Schema文件以及XML文件,合并分析结果,从而实现利用业务系统B的第二数据分析Agent完成分析数据的任务。

作为第二种方法实施方式,第一业务处理Agent提请第二业务处理Agent进行业务流程处理,包括以下步骤:

(1)第一业务处理Agent从业务模型库和业务节点管理模块调度执行业务模型执行流程,同样第一业务处理Agent无法进行操作,以至于第一代理Agent发现业务系统A内第一业务处理Agent已处于业务挂起状态。

(2)第一代理Agent发现需要业务系统B的第二业务处理Agent参与协作,则挂起当前业务活动并向第一代理Agent提交请求。

(3)第一代理Agent与第二代理Agent联系,启动第二业务处理Agent处理业务。

(4)第二业务处理Agent执行流程,执行业务系统A内第一业务处理Agent的业务,并将处理结果以BPMN Message返回给第一业务处理Agent。

作为第三种方法实施方式,第一代理Agent响应业务系统A内的请求,寻求业务系统B的资源,包括以下步骤:

(1)第一代理Agent收到业务系统A内的请求,第一代理Agent基于BDI机制采用FIPA协议向业务系统B发出消息,开始寻找业务系统B的合作。

(2)业务系统B的第二代理Agent收到第一代理Agent的邀请,检查本地资源描述库,检查是否满足资源条件,其中本地资源描述库包含一组二维表描述业务系统B内的Agent标签、Agent标识信息。

(3)第二代理Agent发现满足资源条件,在多业务系统环境下,启动选举机制。选举机制算法如下:

第二代理Agent向其他代理Agent(针对于业务系统C、业务系统D)发出消息选举自己。其他代理Agent(针对于业务系统C、业务系统D)决定是否投票给第二代理Agent,当第二代理Agent满足半数以上投票,则第二代理Agent响应第一代理Agent答复,为第一代理Agent服务。如投票失败,则由其他代理Agent发出选举自己请求,重复上述请求,以使得其他代理Agent满足半数以上投票,以上为选举过程。

(4)第一代理Agent根据调度策略判断邀请是否无效或者超时,如果长期得不到有效响应,则终止选举机制;

(5)第一代理Agent通过第二代理Agent获取资源,并将其资源转交给业务系统A内的请求。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1