基于多Agent协同的数据增量交换模型
2017-03-01杨长春蒋冬冬吕何新
杨长春 蒋冬冬 吕何新
1(常州大学信息科学与工程学院 江苏 常州 213164)2(浙江树人大学信息科技学院 浙江 杭州 310015)
基于多Agent协同的数据增量交换模型
杨长春1蒋冬冬1吕何新2
1(常州大学信息科学与工程学院 江苏 常州 213164)2(浙江树人大学信息科技学院 浙江 杭州 310015)
针对企事业内部业务系统众多、数据共享、交互能力差等问题,提出一种基于多Agent协同和策略驱动技术的增量数据协同交换机制。在此机制的基础上设计数据增量交换模型,其具有高度的自治性和良好的扩展性,并在一个实例中描述了其具体的工作流程。实验结果表明,该机制能明显地加强数字化校园内部各系统间的数据共享效率,提高了各系统整体的运行效率。
增量数据 Agent技术 策略驱动 协同交换
0 引 言
跨管理域业务融合的趋势,导致企事业单位各业务系统间存在着大量数据协同交换的需求,如何快速、安全地在异构系统间进行数据协同交换成为信息领域研究的一大热点。
然而,由于企事业综合信息系统在构建之初缺乏整体规划,各部门在构建本地系统时只注重自身业务需求,而忽略其他部门的需要,以致各部门开发的应用系统往往基于异构的操作系统和数据库管理系统,由此形成众多的“信息孤岛”。面对如何解决信息数据共享以及快速访问异构系统的数据等问题,国内外已有相当一部分的研究。张丽晔等[1]采用Web Service技术实现了系统与高级语言开发的异构程序的集成,通过数据统一访问接口完成异构系统之间的信息交互,使开发工作不受平台与技术的限制;仇新红[2]通过保留关系数据的实体完整性约束、参照完整性约束以及用户自定义的完整性约束,实现异构数据源之间的数据交换,屏蔽数据库类型完成各种异构数据源之间的模式转换和数据交换;沈立等[3]运用基于SOA和OSB的技术,构建了无线电数据共享平台架构,并基于这种架构设计和实现了可扩展的无线电数据共享平台,该平台能安全而有效地支持异构应用系统之间的数据共享;Zhu等[4]提出运用云计算技术与半结构化的XBRL相结合,构建了基于Hadoop集群技术的数据交换系统,此系统对解决大数据共享问题具有重要应用意义。虽然这些采用点对点数据接口能够从功能上实现数据的共享和交换,但面对数据中心急剧增长的海量数据,以及快速的人机交互需求,这些传统的信息集成技术已经难以满足要求。为提高企事业的业务效率,构建以服务为导向的增量数据协同交换技术成为关键。
本文借鉴多Agent协同技术的研究成果[5-6],针对校园综合信息平台的分布式数据协同交换问题,设计了一种集中式与分布式数据库相结合,能自动实现数据增量交换的协同交换机制。该机制实现数据在不同业务系统之间的自动流转,具有良好的扩展性和可配置性,其自动服务和部署的能力,降低了企业运营成本,提高了业务系统的运行效率。
1 多Agent协同交换相关技术
软件Agent不仅具备自治性、社会性、反应性和能动性这四个基本特征,还具有知识、信念、义务、意图等人类才具有的特性,因此在分布式计算领域发挥着重要作用[7,8]。本文建立的多Agent协同的数据增量交换模型是基于协议调控E-机构和策略驱动技术的[9],宏观上以E-机构为调控服务协同的法规,微观上以策略驱动的个体行为遵从外部约束。建立的数据增量交换模型不仅能使Agent保持各自的独立性,而且能通过可配置的连接机制,促使多个Agent合作完成预设的目标。
1.1 软件Agent系统结构
软件Agent系统主要由以下几个模块组成:主控模块(主要负责消息分发和总体控制)、服务调度模块(主要负责服务的计划调度和执行)、合作模块(主要负责Agent协作的建立)、协商模块(主要负责Agent间的协商)、服务监控与异常处理系统模块(用于监控和处理Agent异常)。这些模块由消息驱动,并动态、并行地接受和处理(分发的)消息,以执行具体的任务。软件Agent系统的结构如图1所示。
图1 Agent系统结构
1.2 多Agent系统驱动机制
鉴于服务的封装性,以及软件Agent的自主性,使得软件Agent个体行为的预测和控制成为多Agent协同环境下完成全局任务的关键[10]。本文通过制定社交结构标准和协同行为规范来约束和调控Agent个体行为,使得个体行为遵从这些标准规范,并通过业务协同实现全局目标,通过建立策略驱动的自主管理机制,使Agent个体行为始终处于理性可控状态。
1.2.1 规范调控的E-机构
多Agent系统中需要建立适当的规范调控机制来协调多个Agent个体的协同行为,从而使得各个Agent的协同行为变得可预测、可调控。本文通过设置E-机构来实现这种调控机制。
E-机构定义为三元组
1.2.2 策略驱动的理性Agent
软件Agent运行于分布式跨管理域环境,其基于自身资源、状态、行为能力、知识以及获取的外部环境信息,并依据内置的策略,通过规划、推理和决策实现对环境事件作出反应,并自主地完成特定任务,达到预期目标。策略表示为指导Agent决策和行为的指令和规则集,按照作用不同分为参数型策略和规则型策略。前者描述服务能力,用于服务供需协商;后者以规则、条件不等式等形式描述,用于规定动作的触发条件,是策略表示的主要形式。
策略Policy定义为六元组
Agent自主管理过程如图2所示,分为三个阶段:接收或产生触发事件、激活相应管理策略、决策和驱动适当的业务处置活动。对于本地业务系统的服务请求,将直接激活服务提供策略,驱动服务业务操作;对于外部业务系统的服务请求,将激活服务请求应答策略,以检查服务请求者是否有权限,并确定服务提供者是否有义务提供服务。
图2 策略驱动的Agent行为自主管理机制
2 基于多Agent协同的数据增量交换模型
企事业单位内不同的管理部门和业务处大都建有各自的业务系统,鉴于各部门之间业务的关联性,需要不同业务部门的部分数据进行共享。传统的数据共享方式主要有三种:集中式存储、分布式存储和混合式存储。前两种方式在共享能力、负载均衡能力、安全性等方面各有优劣,混合式存储方式则结合了前两种方式的优点,成为当前企事业私有数据主要采用的存储方式。数据共享中需要解决的一个关键问题是本地数据与数据中心之间增量数据的透明、快速交换。基于上节提出的协议调控E-机构和策略驱动的多Agent协同技术,本文设计了多Agent协同的数据增量交换模型DIEM(Data Incremental Exchange Model)。
2.1 多Agent协同的数据增量交换模型
本文构建的数据增量交换模型是依据服务需求,分为四个层次,结合E-机构和策略驱动技术,其具有高度的自治性和良好的扩展性。多Agent协同的数据增量交换模型如图3所示。
图3 多Agent协同的数据增量交换模型
模型中的数据交换节点是可配置的数据交换服务器,每个节点都是由一台数据库服务器与一对运行于节点服务器和数据中心的服务程序组成。根据分布式部署,在不改变原有存储环境下,分布式地配置交换节点满足当今企业业务动态多变的需求。当需要增加新的数据交换节点时,首先需要在数据中心和数据交换节点服务器上配置并启动服务程序;然后通过部署在数据中心的数据中心管理系统实现对相应的数据中心和数据交换服务节点的服务程序的注册、配置和管理,从而使数据中心服务Agent与数据交换服务节点、中心管理系统连接起来;最后根据自主管理的策略驱动技术,决定数据交换策略的步骤,实现数据交换配置。完成配置并且启动服务后,数据节点和数据中心按照配置的策略自动完成数据的增量交换,各业务系统的本地数据库与交换节点实现配置后,数据自主交互、维护、更新。
2.2 数据增量交换模型层次结构
数据增量交换模型基于Agent技术,分布式与集中式数据库相结合,将企事业内部各种不同类型的存储设备集合起来协同工作,对外提供统一数据存储和访问等功能。该模型主要由四层功能单元组成:基础数据访问层、Web Service访问接口、数据交换层、数据中心管理层。
(1) 基础数据访问层
分布式环境下各业务部门采取本地业务核心数据与可共享数据分离的方式,将各业务系统中的重要数据分离出来供给内部访问,提取的共享数据则交由数据交换层管理。这种分离方式既保护了本地核心数据又实现了公共数据的共享。
(2) Web Service访问接口
Web Service是可以用来解决跨网络应用集成问题的开发模式,松耦合性是其处理分布式问题的最大特点和优势。在数据访问层与数据交换层之间使用Web Service接口来作为连接的桥梁,数据访问层(服务需求方)通过Web Service接口向数据交换层(服务提供方)发送服务请求,再由数据交换层执行请求活动,最后通过Web Service接口返回结果给数据访问层。
(3) 数据交换层
数据交互层是DIEM的核心。该层包含多个本地定制化Agent,并配置为相应数据交换节点,依赖制定的数据交换策略集实现本地业务数据与数据中心管理层的数据交换。
(4) 数据中心管理层
数据中心管理层负责协调整个数据云的数据管理与维护工作,各业务部门在数据交换层部署的数据交换节点都要到数据中心管理层注册,并配置相应的数据维护策略。
2.3 服务策略集
根据增量数据交换的需求,该模型为Agent制定了三种策略:管理型策略、数据维护策略和数据交换策略。其中管理型策略用以支持Agent的自主管理,包括处境监视策略、处境分析策略、服务调度策略、合作协商策略、效用实施策略;数据维护策略和数据交换策略属于应用域策略,包括本地共享数据增量检查策略、中心数据更新策略、中心数据增量发布策略、本地共享数据更新策略等。表1列出了部分策略。
表1 增量数据交换配置的部分策略
数据交换节点根据数据交换策略集来实现数据交互,当本地业务系统进行共享数据操作时,将激发数据交换节点进行增量数据检测。数据交换节点首先判断是访问本地共享数据还是外部数据,如果是本地业务数据则直接访问;如果访问本地共享数据,则依据数据交换策略与数据中心Agent开展协同活动,将本地共享数据更新到数据中心。鉴于部署于各个数据交换节点的协同增量交换规范具有相同的执行过程(仅仅是数据目标不同),因此服务协同规范直接以顺序化的消息以及语句代码序列形式固化在程序中。由此实现了增量交换规范调控的、策略驱动的增量数据协同交换。而且从数据应用端来看,上述增量数据的交换过程是透明的。
DIEM具有良好的扩展性和可配置性,数据中心管理员能够根据应用需要对新加入的数据交换服务器(代理)以及相应的数据服务做配置,一般需要经过四个步骤:
(1) 安装、配置、运行服务代理:在数据中心和数据交换节点中分别安装代理程序;
(2) 注册数据交换代理(节点):将对应的数据中心服务代理与数据交换代理、数据中心管理系统之间建立连接;
(3) 业务库配置:完成交换代理中针对本地应用端的交换数据库的配置;
(4) 普通交换配置:完成数据交换策略(规则及交换条件)的配置。
2.4 策略驱动的数据增量交换机制
构建的数据增量协同交换机制,支持服务耦合协同按需、动态和自主建立、管理及演化,使得个人应用目标能够通过所需业务服务的即时发现和组合来快捷和低成本地实现,进而支持业务服务的大规模部署及推广应用。多Agent协同的数据交换具体步骤如下:
步骤一 服务需求方依据E-机构宏观政策发送请求消息,由需求方数据交换代理Ace接收请求消息;
步骤二 数据交换代理Ace产生请求事件,触发数据交换策略,驱动Ace到共享数据库寻求业务活动,若共享数据库中有此业务活动则跳至步骤五,否则产生外部业务系统的服务事件,跳步骤三;
步骤三 数据交换代理Ace接收外部业务系统的服务请求消息,产生请求事件,触发数据交换策略,驱动Ace到数据中心管理层寻求所需业务活动并发送获取消息;
步骤四 中心端代理Ace接收需求方获取消息,产生获取事件,触发数据维护策略,驱动Ace到中心共享数据库寻求业务活动,若数据库中有此业务活动,跳至步骤五,否则跳至步骤六;
步骤五 数据提供方Ace接收消息,触发数据交换策略,驱动提供数据的业务操作,协同完成;
步骤六 子业务数据提供Ace接收中心业务系统的数据请求消息,产生请求事件,驱动提供数据的业务操作,协同完成。
Agent个体内部增量数据的自适应步骤如下:
步骤一 当各个业务系统出现增量数据时,系统内部Ace判断数据是否为共享数据;
步骤二 若为共享数据,配置触发事件以及触发事件所提供的活动,否则不进行相应配置。
3 仿真实验与对比分析
3.1 实验环境配置
以上提出的数据增量交换模型是建立在第1节描述的策略驱动和多Agent协同技术之上的。实验中增量数据协同交换和维护策略的分发由策略协调服务器完成,DIEM需求实施的功能由专门的DIEM管理代理完成,在实验中各个独立系统中都增加了Web Service访问接口类。下面通过一个简单的实例说明系统的工作情况。
假设操作员在教务系统客户端的主机上要求访问学工系统内某一学院的一些基本信息数据。实验一在Web Service服务器上配置有一个DIEM管理代理,它需要完成操作员相关的请求及其实施的功能,实验二是直接通过Web Service服务器点对点的访问数据。图4是在实验室内搭建的实验一的环境,图5是实验二的环境,实验环境都是建立在Linux操作系统之上的,带宽都是10 MB/s。服务器IP地址为172.20.55.191,它为全网用户提供服务。
图4 实验一拓扑图
图5 实验二拓扑图
实验一系统的工作步骤:
(1) 例如操作员需要在教务系统内部主机上请求访问学工系统中的学生信息,操作员作为服务需求方在教务系统中通过Web Service访问接口发送需求信息到服务器中的DIEM管理代理;
(2) 服务器上的DIEM管理代理接收到请求并存储,对管理员所请求的业务进行策略的驱动并建立事件,过程如2.4节中多Agent协同的数据交换具体步骤所示;
(3) 代理激活业务活动并开始向DIEM管理代理中的共享数据库或者被请求访问的系统本地数据库请求数据,请求数据结果通过服务需求方的Web系统呈现。至此,数据的访问从指定到执行的过程结束。
实验二是直接通过Web Service在一台主机上点对点地访问另一台主机的共享数据,详细过程不作述说。
3.2 实验结果分析
每次实验后在学工系统中新增300条学生记录,实验一和实验二各做200次,根据每次访问相同的数据得出访问延迟时间和访问失败次数,两次实验统计结果如表2和表3所示。
表2 实验一结果统计
表3 实验二结果统计
由于各个独立的业务系统中都存在可共享数据和不可共享(私有)数据,因此实验一中DIEM管理代理会触发Agent个体内部数据的自适应步骤,若为非共享数据则访问请求失败,实验二中亦无权访问。此处为简化问题,仅以两种实验不同访问方式每次结束后访问延迟时间对比作为对DIEM衡量的标准,访问延迟时间对比曲线如图6所示。
图6 实验结果对比曲线图
由图6可以看出,随着实验数据量和实验次数的增加,应用了数据增量交换模型的访问延迟时间逐渐趋于平稳,并且延迟时间基本都要少于点对点访问的方式,实验一数据访问的成功率亦要明显高于实验二。因此在面对企事业综合信息系统数据中心急剧增长的海量数据,以及快速的人机交互需求时,通过数据增量交换机制能够更好地体现出其优势,能够很好地分担各个业务部门系统的压力,提高访问速度以及工作效率。
4 结 语
本文针对数字化校园信息系统面临的数据协同问题,结合Agent协同技术、策略驱动技术,构建了满足数字化校园的数据增量交换模型。其将数字校园平台各业务子系统中的数据服务器配置为分布式数据交换节点,并在本地数据代理与数据中心共享数据代理之间建立数据交换服务协同关系,能够较好地实现数字校园数据云的透明数据交换。该数据交换模型具有良好的扩展性和可配置性,后续研究工作将聚焦于数据代理系统的效率以及精简化,以适应数字校园移动业务系统的需要。
[1] 张丽晔,彭建,郑小鹏,等.试验数据统一访问技术研究与实现[J].计算机仿真,2014,31(9):319-322,355.
[2] 仇新红.一种异构数据交换方法[D].长春:吉林大学,2010.
[3] 沈立,何婧,李映红,等.基于SOA的无线电数据共享平台的设计与实现[J].计算机科学,2014,41(6A):463-465.
[4] Zhu J,Wang P,Wang D,et al.The Research of Technical Architecture of Semi-Structured XBRL Data Based on Hadoop Cluster and Structured Data Exchange System[J].Applied Mechanics and Materials,2014,678:130-134.
[5] Chainbi W,Mezni H,Ghedira K.AFAWS:An agent based framework for autonomic webservices[J].Multiagent and Grid Systems,2012,8(1):45-68.
[6] 李青山,王璐,褚华,等.一种基于智能体技术的软件自适应动态演化机制[J].软件学报,2015,26(4):760-777.
[7] 杨力,陈利学,赵永清,等.基于移动代理的Struts 2框架[J].计算机工程,2013,39(1):260-263,269.
[8] 马冬萍,陈明,陈文娜.基于MAS鱼病诊断专家系统的设计与应用[J].计算机应用与软件,2014,31(2):96-99,221.
[9] 高济,吕何新,郭航,等.可信的自治式服务协同模型和应用开发构架[J].中国科学(F辑:信息科学),2009,39(11):1146-1175.
[10] 危世民,戴牡红.多Agent协同的电子商务推荐系统模型[J].计算机应用,2014,34(4):1118-1121.
INCREMENTAL DATA EXCHANGE MODEL BASED ON MULTIPLE COOPERATING AGENTS
Yang Changchun1Jiang Dongdong1Lü Hexin2
1(SchoolofInformationScienceandEngineering,ChangzhouUniversity,Changzhou213164,Jiangsu,China)2(CollegeofInformationScienceandTechnology,ZhejiangShurenUniversity,Hangzhou310015,Zhejiang,China)
An incremental data exchange mechanism based on multi cooperating agents and policy-driven technology is put forward to solve the problems of numerous internal business systems, bad data sharing, low interactive ability and other issues. Then, an incremental data exchange model is designed based on this mechanism, which is highly autonomic and well expanded, and its detailed working process is described in an example. The experimental results show that this system can obviously strengthen the data sharing efficiency among the different systems in the digital campus, and it improves the overall operating efficiency of the system.
Incremental data Agent technology Policy-driven Cooperative exchange
2015-09-02。国家自然科学基金项目(61375071);浙江省优先主题重点工业项目(2010C11045)。杨长春,教授,主研领域:信息管理与信息系统,数据挖掘与决策支持系统。蒋冬冬,硕士生。吕何新,教授。
TP3
A
10.3969/j.issn.1000-386x.2017.01.015