资源描述
基于移动Agent的移动实时数据库事务提交处理与恢复策略研究 二九年十月 摘 要移动通信技术的蓬勃发展,给移动计算环境下的各项应用带来了前所未有的机遇,传统互联网上的各项应用纷纷向移动互联网迁移,但简单的迁移远远跟不上需求的增长,移动互联网上需要更多的是创新。移动实时数据库是运行在移动计算环境中的数据库管理系统,由于移动计算环境的特殊性,如频繁断接性、资源有限性、移动性等,使得移动实时数据库需要新的事务处理、恢复处理模型等,而移动 Agent正好提供了良好的解决方案。 传统数据库事务处理基于严格控制、缜密设计的基础,事务处理方式确定、单一、缺乏灵活性;移动环境下系统维护困难,故障恢复缺乏应具有的主动性,自适应性。Agent发源于人工智能,在众多领域得到应用,本文首先分析了移动Agent的自主、智能、移动等特性,在移动计算环境中的应用优势及 Agent当前存在的安全性、编程、效率、容错方面的不足。然后在现有的移动分布式实时数据库的基础上,结合面向 Agent的软件开发思想,赋予事务处理主动性、故障恢复主动性等,提出基于移动 Agent的移动实时事务模型。此模型将移动实时数据库操作的核心功能分离出来,使 Agent能专注于扩展功能的实现,增加了系统的可扩展性,事务处理能根据自身及外界环境的变化而做出相应的调整以提高性能,以提高并发度为例作说明。接着在此事务处理模型基础上,针对移动计算环境下移动分布式实时事务具有寿命长的特性,提出了基于移动 Agent的嵌套自适应预提交协议(NACP),实验结果证明 NACP能有效提高系统的吞吐量,降低数据冲突率,并对移动断接有良好的支持。最后结合人工智能、专家系统的知识提出了基于移动 Agent的自适应恢复模型,其中包括事件的主动探测及报告机制,事件收集,故障分析预测等,使得系统能无人工干预、自适应的选择相应策略进行故障的恢复,缩短了故障恢复的响应时间。 关键词:移动 Agent;移动实时数据库;事务提交;长事务;故障恢复;自适应 1 AbstractWith rapid development of mobile communication technology, the applications in the mobile computing environment encounter unprecedented opportunities. At the beginning, all the traditional application move to mobile internet, but ultimately found that the simple application of migration is far from enough, the mobile Internet need more innovation. Mobile real-time databaseMRTDB is the database management system which is running in the mobile computing environment, due to the special nature of mobile computing environment such as frequent disconnection, limited resources, mobility, etc. makes the need for new mobile real-time database transaction processing, recovery processing model and so on, while the Mobile Agent just provides a good solutionThe traditional database transaction processing based on tightly controlled and carefully designed; processing method is simple, inflexible. Beside, because the mobile environment system maintenance difficulties, fault recovery system lack of initiative and self-adaptive. Agent originated in artificial intelligence, be applied in many fields, this paper has analyzed the characteristics of mobile Agent, such as Autonomous, intelligent, mobile; the advantages and shortcoming in Security, programming, efficiency, fault-tolerant. Then propose a dynamics of the mobile real-time transaction processing model based on Mobile Agent by the thought of Agent-oriented software development and the existing mobile distributed real-time database, which make the transaction processing became initiatives, intelligence, and adjust itself to improve the system function this paper is to improve the concurrency of the transaction. Then, with considering the mobile distributed real-time transactions have long life characteristics, proposed Nested-Adaptive Commit Protocol NACP, experimental results show that NACP effective improve the system throughput, reduce the rate of data conflict, and good support for mobility. At last, combining artificial intelligence, expert systems, presented the Adaptive-Disaster Recovery Model ADRM based on Mobile, which include event detection and reporting mechanisms, event collection, failure analysis and forecasting, etc., making the system can be no human intervention, adaptive selection of the appropriate strategy failure recovery, and shorten the recovery response timeKeywords: Mobile Agent; mobile real-time database; NACP; long transaction; disaster recovery; adaptive2 目 录1 绪论 1 1.1 移动实时数据库产生的背景和研究意义. 1 1.1.1 分布式数据库. 1 1.1.2 移动计算与移动数据库 2 1.2 移动实时数据库的研究现状与趋势3 1.2.1 移动数据库研究现状3 1.2.2 实时数据库研究现状6 1.3 本文主要研究内容 7 1.4 本文的组织结构7 2 移动Agent技术介绍. 9 2.1 移动Agent的定义 9 2.2 面向Agent软件开发方法与移动 Agent系统的实现10 2.2.1 Agent模型 11 2.2.2 Agent的移动. 11 2.3 移动Agent在移动计算环境下的优势14 2.4 移动Agent发展面临的问题. 15 2.5 本章小结. 16 3 基于移动Agent的移动实时数据库系统结构及事务模型 17 3.1 基于移动Agent的移动实时数据库系统结构17 3.2 基于移动Agent的移动实时事务模型20 3.2.1 移动实时事务模型22 3.2.2 基于移动Agent的移动实时事务分片与迁移策略. 22 3.3 本章小结. 25 4 移动实时事务嵌套预提交协议. 26 4.1 多层提交结构 26 4.2 提交规则. 26 4.3 嵌套预提交协议. 27 4.4 正确性证明30 4.5 代价分析. 30 4.6 自适应提交策略. 31 4.7 本章小结. 33 5 基于移动Agent的移动实时数据库自适应恢复模型. 34 5.1 移动实时数据库故障恢复需求34 5.2 基于移动Agent的移动实时数据库自适应恢复框架35 5.3 基于移动Agent的事件主动探测 37 5.3.1 基于窗口的信息优化与发送. 38 5.3.2 基于移动Agent故障协同主动报告机制 39 5.4 基于移动Agent的日志迁移策略 40 5.5 本章小结. 41 6 实验验证与性能评价 42I 6.1 模拟系统的设计与开发. 42 6.2 性能测试与分析. 44 6.2.1 性能指标及实验参数. 44 6.2.2 测试结果. 45 6.3 本章小结. 47 7 结束语 48 7.1 全文总结. 48 7.2 研究展望. 48 参考文献 50 附录1:中英文对照及缩略语错误!未定义书签。 附录2:发表的论文和参加的科研项目.错误!未定义书签。 致谢错误!未定义书签。II Content1 Introduction. 1 1.1 Background and Significance of MRTDB 1 1.1.1 Distributed Database 1 1.1.2 Mobile Compute and Mobile Database2 1.1.3 Mobile Real-Time Database. 3 1.2 Status and Trends of MRTDB 3 1.2.1 Status of Mobile Database. 3 1.2.2 Status of Real-Time Database. 6 1.3 Main Work 7 1.4 Paper Structure7 2 Introduction of Mobile Agent 9 2.1 Definition of Mobile Agent. 9 2.2 Agent-Oriented programmer Method and Design of Mobile Agent System 10 2.2.1 Agent Model11 2.2.2 Movement of Agent 11 2.3 Adavantage of Mobile Agent in Mobile compute environment. 14 2.4 Hard Works of Mobile Agent15 2.5 Conclusion. 16 3 System Construction and Transation Model of MRTDB Base on Mobile Agent 17 3.1 System Construction of MRTDB Base on Mobile Agent17 3.2 Transation Model of MRTDB Base on Mobile Agent. 20 3.2.1 Mobile Real-Time Transaction Model22 3.2.2 Fragment and Migration of MRTT Base on MA. 22 3.3 Conclusion. 25 4 Nested-Advance Commit protocolNACP of MRTT. 26 4.1 Multilayer Commit Construction26 4.2 Commit Rule 26 4.3 Nested-Advance Commit protocolNACP27 4.4 Correctness Provement 30 4.5 Cost Analysis 30 4.6 Adaptive Commit Strategic31 4.7 Conclusion. 33 5 Adaptive Recovery Model of MRTDB base on Mobile Agent 34 5.1 Diaster Rocovery Requirement of MRTDB 34 5.2 Adaptive Rocovey Framework of MRTDB base on Mobile Agent35 5.3 Event Active Detection base on Mobile Agent 37 5.3.1 Information Optimization and Send38 5.3.2 Active-Cooperation Fault Reporting Mechanisms. 39 5.4 Log Migration Strategy base on Mobile Agent40 5.5 Conclusion. 41III 6 Experiment and Performance Evaluation42 6.1 Design and Program of Simulate System42 6.2 Performance Testing and Analysis. 44 6.2.1 Performance indicators and experimental parameters44 6.2.2 Test Results. 45 6.3 Conclusion. 47 7 Conclusion48 7.1 Full-text Summary. 48 7.2 Research Prospect48 References50 Appendix 1.错误!未定义书签。 Appendix 2.错误!未定义书签。 Acknowledgment.错误!未定义书签。 IV 1 绪论 1 绪论1.1 移动实时数据库产生的背景和研究意义 数据库技术随着计算技术的发展而不断进步,在传统互联网上得到了广泛的应用。随着移动通讯技术的发展,在移动计算环境下,人们需要一个能在任何时间、任何地点、实时存取任何数据的数据库系统。强大的需求使众多研究机构、高科技企业、个人加入了移动实时数据库的研究行列,促使移动实时数据库迅速发展,其中 Sybase、甲骨文、微软等公司更是投入大量的人力和财力进军移动实时数据库领域,都有相应的产品面世。如 SQLAnywhere,Oracle8iLite。 1.1.1 分布式数据库 分布式数据库(DDB)是计算机网络环境中各场地或结点上数据库的逻辑集合。一般称传统的数据库为集中式数据库;称分布式数据库系统中的各场地或结点为局部数据库,是物理的数据库;分布数据库又称为全局数据库,是逻辑的数1据库 。分布式数据库系统通常使用了许多较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都有 DBMS的一份完整拷贝副本,并具有自己局部的数据库,位于不同地点的计算机通过网络互相连接,共同组成一个完整的、全局的大型数据库。 这种组织数据的方法克服了物理中心数据库的弱点。首先,降低了数据传送代价,因为大多数对数据库的访问操作都是针对局部数据库的,而不是对其他位置的数据库访问;其次,系统的可靠性提高了很多,因为当网络出现故障时,仍然允许对局部数据库的操作,而且一个位置的故障不影响其他位置的处理工作,只有当访问出现故障位置的数据时,在某种程度上才受影响;第三,便于系统的扩充,增加一个新的局部数据库,或在某个位置扩充一台适当的小型计算机,都很容易实现。然而有些功能要付出更高的代价。例如,为了调配在几个位置上的活动,事务管理的性能比在中心数据库时花费更高,有时甚至抵消许多其他的优点。 2分布式数据库系统的主要特点 : 多数处理在本地完成; 各地的计算机由数据通信网络相联系; 克服了中心数据库的弱点,降低了数据传输代价;1 基于移动Agent的移动实时数据库事务提交处理及恢复策略研究 提高了系统的可靠性,局部系统发生故障,其他部分还可继续工作; 各个数据库的位置是透明的,方便系统的扩充; 为了协调整个系统的事务活动,事务管理的性能花费高。 1.1.2 移动计算与移动数据库 随着移动通信技术的迅速发展,许多计算结点已经可以在自由移动的过程中保持与网络的连接和通讯。于是人们迫切希望能在任何时候、任何地点访问任何数据,这使得基于有线网络和固定主机的分布式数据库不再适应需求的增长,移动数据库技术便应运而生。移动数据库技术迎合了现代信息需求的发展并在许多3-6领域获得了成功的应用 : 公共信息发布:在移动计算环境中,大量的移动用户将通过智能手机、笔记本电脑、掌上电脑、PDA、车载平台等移动设备的无线通讯接口获取各种各样的公共信息,如股票行情、天气状况和交通信息等。以交通信息发布为例,一个大城市的移动信息系统将同时为超过10万个移动用户提供服务。 实时数据采集:以保险业务员为例,目前许多保险业务员都使用笔记本电脑或掌上电脑管理有关客户和保单数据。在外出联系业务的途中,业务员需要随时从总部调出最新的数据资料,并随时查询某个客户的信息;完成交易后,他又需要将最新输入的保单信息即时反馈给总部。这种模式摆脱了时间、地点和场合的限制,克服了传统数据处理方式造成的延误和混乱,提高了数据管理的效率。 位置相关查询:位置相关查询是移动数据库应用中最具特色也是最吸引人之处。设想一个旅游者抵达一个陌生的城市,他可以通过随身携带的移动设备查询许多信息,如最近的餐厅在哪里,怎样去最近的医院等等。与传统的数据库查询不同的是,上述查询的结果是与位置相关的,同样一个问题在不同的地理位置得到的回答可能是不同的。 此外,移动数据库技术配合GPS技术,用于智能交通管理、大宗货物运输管理和消防现场作业等,在零售业、制造业、金融业、医疗卫生等领域展现了广阔的应用前景。 移动计算环境比传统的计算环境更为复杂和灵活。移动性、过区切换、频繁断接性、网络的多样性、网络通信的非对称性、系统的高伸缩性和低可靠性以及移动终端电源的有限性等因素对移动数据库的性能提出了相当高的要求。移动计算技术的发展必将对移动数据库的发展起强大的推动作用,同时移动数据库的发2 1 绪论 展也将促进移动计算的广泛应用。 1.1.3 移动实时数据库 实时数据库是数据库发展的一个分支,它适用于处理不断更新的快速变化的数据及具有时间限制的事务处理。实时数据库技术是实时系统和数据库技术相结合的产物,研究人员希望利用数据库技术来解决实时系统中的数据管理问题,同时利用实时技术为实时数据库提供时间驱动调度和资源分配算法。然而,实时数据库并非是两者在概念、结构和方法上的简单集成,需要针对不同的应用需求和应用特点,对实时数据模型、实时事务调度与资源分配策略、实时数据查询语言、实时数据通信等大量问题作深入的理论研究。 移动计算环境中,大部分应用对实时性要求较高,如实时交通信息管理系统、海上导航系统及股票交易系统等,该类应用普遍要求在移动环境下实现实时事务处理。移动实时数据库系统(MRTDBS)受到越来越多的研究人员的关注,移动7实时数据库系统可以定义为 :事务和数据可以具有定时特性或显示定时限制,并运行在移动计算环境的分布式数据库管理系统。 移动实时数据库系统涉及到信息处理技术、分布式计算技术、移动通讯技术、实时处理技术等多个领域,已受到这些领域研究者的关注,特别在数据库领域,已成为新的研究热点。1.2 移动实时数据库的研究现状与趋势 目前,国内外对于移动实时数据库的研究主要集中在对单一系统的研究,如对移动数据库的研究,或对实时数据库的研究。 1.2.1 移动数据库研究现状 移动数据库在实际应用中必须解决好数据的一致性(复制性)、高效的事务处理、数据的安全性等问题。 (1)数据的一致性 移动数据库的一个显著特点是移动终端之间以及与服务器之间的连接是一种弱连接,即低带宽、长延迟、不稳定和经常性的断开。为了支持用户在弱连接环境下对数据库的操作,现在普遍采用数据缓存的方式,这是基于数据下移的思想及数据处理局部化原理,用户可以对在本地缓存的数据进行操作。在移动终端的数据缓存有限的情况下,可以采用多级缓存,大大减少了数据的传输。但这种方3 基于移动Agent的移动实时数据库事务提交处理及恢复策略研究 法会带来数据不一致问题。另一种思想是将计算上移至服务器端,即后文提到的移动Agent技术,可以从根本上解决数据一致性问题,适合寿命长,交互少的事务。 (2)高效的事务处理移动事务处理要解决在移动环境中频繁的、不可预见的断接情况下的事务处理。为了保证活动事务的顺利完成,必须设计和实现新的事务管理策略和算法。 根据网络连接情况来确定事务处理的优先级,网络连接速度高的事务请 求优先处理。 根据操作时间来确定事务是否迁移,即长时间的事务操作将全部迁移到 服务器上执行,无需保证网络的一直畅通。 根据数据量的大小来确定事务是上载执行还是下载数据副本执行后上 载。 事务处理过程中,网络断接处理时采用服务器发现机制还是采用客户端 声明机制。 事务移动(如:位置相关查询)过程中的用户位置属性的实时更新。 完善的日志记录策略。 (3)数据的安全性 许多应用领域的嵌入式设备是系统中数据管理或处理的关键设备,因此嵌入式设备上的数据库系统对访问权限的控制较严格。同时,许多嵌入型设备具有较高的移动性、便携性和非固定的工作环境,也带来潜在的不安全因素。同时某些数据的个人隐私性又很高,因此在防止碰撞、磁场干扰、遗失、盗窃等对个人数据安全的威胁上需要提供充分的安全性保证。保证数据安全的主要措施是:第一,对移动终端进行认证,防止非法终端的欺骗性接入;第二,对无线通信进行加密,防止数据信息泄漏;第三,对下载的数据副本加密存储,以防移动终端物理丢失后的数据泄密。 针对以上问题,目前移动数据库的研究领域分为以下几个方面: (1)数据复制与缓存技术 该技术是解决移动数据库断接性维护数据一致性的关键技术,在现有 DBMS基础上进行修补以适应移动计算也采用该技术。在移动数据库系统数据复制方面,8人们已经进行了大量的研究,并提出了许多模型与算法,如两级复制算法 、容9 10错型定额同意方法 、主动复制机制 等,在处理逻辑正确的基础上充许数据暂4 1 绪论 时不一致,待网络重新连接后再与数据库服务器或其他终端交换数据修改同步数据,通过冲突检测和协调来恢复数据的一致性。 (2)数据广播 由于在移动网络中,下行信道要远大于上行信道,在实际应用中充分利用这一特性,发挥数据广播的优势。数据广播可分为三种方式:周期广播、on-demand11广播,混合广播 。 周期广播。服务器在下行广播信道上主动对数据进行连续的周期性的发布,用户不需要提出请求,直接侦听广播信道,从中接收需要的数据,这种方式称为基于推的广播push-based broadcast,由于这种广播通常具有周期性,因此也称为周期广播。 On-demand广播。用户可以通过上行信道发送请求,服务器根据用户请求决定要发布的内容,并在下行信道上广播。用户发送请求后,侦听下行信道,并从中获取所请求的数据,这种方式称为基于拉的广播pull-based broadcast,也称为 on-demand广播。 混合广播。鉴于周期广播和 on-demand广播各有不足,将两者结合起来,互相弥补各自的不足。在混合广播中,对于用户访问频繁的数据,不需要用户提交请求,通过周期广播向所有用户发布;而对于只有个别用户请求的数据,则需要用户向服务器发出显式的请求,服务器再根据用户请求选择进行广播的数据。 国防科技大学的周兴铭院士对数据广播进行了深入研究,提出了数据广播的12多盘调度算法 。衡量数据广播调度算法好坏的参数是访问时间和调谐时间。 (3)移动查询处理技术 研究带宽多样性、断接等因素对移动查询的影响,使查询能够根据当前的条件采用适当的优化策略,灵活地选择满足用户需要的相应查询方式,如非精确查询或称模糊查询。此外,针对移动终端有限的电源能力,合理地组织本地数据库管理、远程数据库访问网络访问等消耗电能较多的操作,达到节能目的,延长关键数据的可用时间。 (4)位置相关的查询 在传统的分布式数据库系统中,一个重要的目标就是给用户提供位置透明性,即对于用户来说,不必关心主机的位置以及数据的物理分布情况。而在移动数据库系统中,给用户提供位置相关的信息却是移动数据库系统中的一个重要应用。5 基于移动Agent的移动实时数据库事务提交处理及恢复策略研究 如何有效地存储位置信息以及快速响应位置相关查询是这个研究方向的重要目标。 目前,全球范围内普遍使用的移动定位技术主要有 GPS定位与基站定位,其中 GPS定位是应用最为广泛的一种方式,目前商用的 GPS定位精度可达到 5米。基站定位可分为两种方式,一种是普通的基站定位,根据用户当前使用的基站位置确定用户所在,精度较差;另一种是三角定位,即通过三个基站来确定用户的位置,优点是精度高,缺点是计算量大且有较大局限性。 (5)移动事务处理 在传统的数据库系统中,一个事务由一系列读写操作组成。事务处理必须满足四个准则,即原子性、一致性、隔离性和永久性,简称 ACID。移动计算环境的特点使传统数据库系统中的事务处理技术不能满足移动事务处理的要求。 目前一些国际著名的数据库厂商也纷纷推出了自己的移动数据库系统,具有代表性的有:Sybase公司的 SQLAnywhere,IBM公司的 DBZEverywhere,Oracle公司的 Oracle8iLite。但是它们在数据库同步技术上都分别采用各自的数据同步工具,如 Sybase的 MobileLink,IBM的 MobileConneet,Oracle公司的 iConnect。而且,它们也没有使用一个通用的数据同步交换协议。由于各数据库厂商对自身数据充分了解,这样可以极大提高移动数据库的综合性能。但是另一方面,由于各厂商各树一帜,也使得移动数据库应用的开放性受到了很大的限制。 1.2.2 实时数据库研究现状在实时数据库方面的研究主要集中在两个方面: (1)并发控制 13并发控制 :数据库事务之间的相互影响可能导致数据库状态的不一致。要做到既使各个事务能保持状态的正确性,而且也没有任何故障发生,那么不同事务中各个步骤的执行顺序必须以某种方式进行规范。保证并发执行的事务能保持一致性的整个过程称为并发控制。 实时数据库并发控制协议通常是通过对传统非实时数据库并发控制协议的扩展和改进得到的。这些协议中的大多数属于被归并为保守的和乐观的并发控制协议这样两类,常见的基于锁的并发控制协议就属于前者。 (2)调度策略 调度策略主要是事务的调度策略。调度算法主要有FCFS(First Come First Server),6 1 绪论 EDF(Earliest Deadline First),LSFLeast Slack First。FCFS会歧视截止时间紧迫却较晚到达的事务,同时给予不那么紧急而到达时间早的事务较高的优先级。对于实时数据库(RTDB),这种做法可能给系统带来灾难,所以FCFS通常不用于实时事务处理。EDF与LSF在实时系统中有较好的表现,除了以上三种常见的调度策略,还有派生算法与改进,如基于数据截止时间的调度策略(Data-Deadline Based Scheduling Police,DDBSP),强制等待策略Police With Forced Waited,PFW。 华中科技大学刘云生教授等针对移动实时数据库做了一系列研究,提出了功能替代的移动实时数据库中的事务处理模型及移动分布式实时嵌套事务提交协14议,并针对实时特性提出了移动实时数据库恢复应满足的条件 : 考虑数据的定时特性,如热点数据(hot data)及有效期短的数据优先恢复。 考虑事务的定时特性,如优先级高事务所需的数据优先恢复。 及时且快速恢复。 恢复与正常事务处理并行。 减少恢复开销,如减少日志的数量。1.3 本文主要研究内容 移动计算环境的特殊性向移动实时数据库的研究提出了挑战,本文基于前述对移动计算环境特殊性及移动 Agent特性分析,利用移动 Agent解决当前移动实时数据库存在长事务、弱连接、恢复困难等问题,本文的工作集中在事务模型、提交协议、故障恢复三个方面,主要贡献有: (1)提出了基于移动 Agent的移动实时事务模型,并利用此模型实现了事务分片功能。 (2)针对移动实时事务长寿命的特点提出了嵌套自适应提交协议(NACP),有效减少了事务的阻塞率,提升整个系统的效率。 (3)深入研究基于移动 Agent的故障恢复系统,提出了基于移动 Agent的故障恢复框架、实现了事件主动探测及主动报告机制。1.4 本文的组织结构 第 1章绪论。介绍与移动实时数据库发展相关的数据库系统,有分布式数据库系统,移动数据库系统,针对当前的研究状况分开讨论移动数据库与实时7 基于移动Agent的移动实时数据库事务提交处理及恢复策略研究 数据库所研究的问题、研究进展及存在的问题。 第 2章移动 Agent技术的介绍。介绍了移动 Agent技术的发展背景与发展过程,然后给出移动 Agent通用的定义,接着讨论移动 Agent在实现时面临的主要问题及解决方案,最后探讨移动 Agent 在移动计算环境下的优势及移动Agent自身发展存在的问题。 第 3章基于移动 Agent的移动实时数据库系统结构及事务模型。介绍了基于移动 Agent的移动实时数据库系统结构,提出了基于移动 Agent的移动实时事务模型及模型的应用。 第 4章移动实时事务嵌套预提交协议。提出了适合移动计算环境下的移动实时事务嵌套预提交协议(NACP)、并提供了协议算法,正确性验证及自适应提交策略。 第 5章基于移动 Agent的移动实时数据库自适应恢复模型。针对移动计算环境的特殊性提出移动实时数据库的恢复需求,提出基于移动 Agent的自适应恢复框架,探讨基于移动 Agent的主动探测机制及恢复策略。 第 6章实验验证与性能评价。对 NACP协议进行实验验证,介绍了模拟实验的设计,实验结果分析与评价。 第 7章结束语。总结本文所做的工作,并指出进一步的研究工作方向。8 2 移动 Agent技术介绍 2 移动 Agent技术介绍Agent 的研究可追溯到 70 年代分布式人工智能的研究DAI:Distribute Artificial Intelligence,主要分两条研究路线:一条围绕经典“人工智能”展开,主要研究 Agent的拟人行为,多 Agent的协商模型等,其研究方向可分为 Agent理论,Agent体系结构,Agent语言,多 Agent系统等,一些计算机科学家称之为“智能代理”或是强定义的代理;另一条从 90年代左右到现在,以应用为主,将经典人工智能关于 Agent的强定义弱化,拓宽了 Agent的应用范围,新的研究方向主要包括 Agent界面,基于 Agent的软件工程AOSE。从研究方向的变化我们看到,Agent逐渐从实验研究走向了实际应用,开始了自己的产业化道路。2.1 移动 Agent的定义 我们给出移动 Agent(mobile agent:MA)的定义如下:移动 Agent是具有移动特性mobility的智能 Agent,它可以自主地在网络上从一台主机移动到另一台主机,并根据自身的信念与需求完成一定的任务。MA除了具有智能 Agent的基本特性(反应性、自主性、主动性和交互性)外,还具有移动性。 目前,不同的移动 Agent系统的体系结构各不相同,但几乎所有的移动 Agent15,16系统都包括如下两部分 :Agent和 MA环境MAE。其中,Agent是系统的主体,它能感应外部环境的变化,从而调整自身的信念,并在目标与规则的驱动下做出不同的反应。在这个过程中,MA环境(MAE)将外部信息(如主机信息、网络信息、其它 Agent的信息等)提取出来,为 Agent提供可感知的外部信息或感知外部信息的途径,并能保证这种感知的正确性与安全性,同时, MAE为 Agent提供各种服务,Agent一旦拥有权限便可以获得服务。如图 2-1所示: MA环境MAE为 Agent提供安全、正确的运行环境,实现 MA的移动、MA执行状态的建立、MA的启动、实施 MA的约束机制、容错策略、安全控制、通信机制,并提供基本服务模块(服务 Agent),如事件探测服务、事务处理服务和域名服务等。一台主机上可以有一个或多个 MAE。在通常情况下,一个 MAE只位于一台主机上,但当主机之间是以高速、持续、稳定可靠的网络连接时,一个MAE可以跨越多台主机而不影响整个系统的运行效率。移动 Agent可以从一个MAE移动到另一个 MAE,在 MAE中执行,并与其他 MA通信或访问 MAE提供9 基于移动Agent的移动实时数据库事务提交处理及恢复策略研究 的服务,也可以发送远程消息获得其它 MAE上的服务。 移动 Agent 主服务 Agent 机 MAE B 移动 本地通讯 异地通讯 主服务 2 机A 服务 1图 2-1 移动 Agent系统 服务 Agent不具有移动的能力,其主要功能是向本地的 Agent或来访的 Agent提供服务。通常,一个 MAE上驻有多个服务 Agent,分别提供不同的服务。由于服务 Agent只能由它所在的 MAE启动和管理,因此保证“恶意的”来访移动 Agent不能直接访问系统资源,只能通过服务 Agent 提供的接口访问受控制的controlled,安全的secure的服务,通过这种方式来避免“恶意的”移动 Agent对主机的攻击是移动 Agent系统经常采用的安全策略。移动 Agent系统就像是一个酒店系统,移动 Agent是客户,服务 Agent是服务人员,MAE是酒店的基础设施。2.2 面向 Agent软件开发方法与移动 Agent系统的实现 近几年来面向 Agent的软件技术发展迅速,目前己经开发出很多 MA系统,其中代表性系统主要有:General Magic公司的 TeIeScript,IBM公司的 Aglet,Mitsubishi公司的 Concordia,Dartmouth学院的 D'Agent,ObjectSpace 公司的Voyager,DECCompaq研究院的 Obliq,Cornell大学的 Tocama和 Stuffgart大学的 Mole等。但是,这些系统开发者各持一套标准,无法兼容,不利于推广应用,Agent技术标准化是面向 Agent软件开发的关键所在。 面向 Agent的软件技术的产生是人们想更好的模拟现实世界,使程序设计更符合人类的解决问题的习惯。与面向对象不同,面向 Agent实现了完全的局域化,10 2 移动 Agent技术介绍 即自治化。Agent 不再被动地接受外部消息的刺激而做出反应,它完全可以在自身目标和规则的驱使下,主动作用于周围的环境,并根据环境反馈改变自己。从这个意义上说,Agent比对象更真实地模拟了现实中的主体,如人的状态和行为。因此,它是一种更深刻的抽象,是面向对象技术的进一步发展。 在未来,有高度智能和自治能力的软件代理,将深刻地改变我们对信息技术的理解,模糊传统人机之间的界限,在人机之间实现真正的协同工作。 面向 Agent软件开发方法是面向对象软件开发方法的深化,但二者却有着各自的问题域,面向 Agent技术适合开发主动、功能完备的主体,面向对象技术适合被动、与其它主体联系较多,耦合度高的系统。在移动 Agent系统中,宜采用面向 Agent开发方法,而 MAE则可采用面向对象的开发方法,进一步抽象出系统功能,为 Agent提供服务,等待调用。面向对象方法奉行一切都是对象,使人们认为面向 Agent技术中所有的一切都是 Agent的错觉。现实世界中并不是所有的物体都具有思维,能够主动作用于其它物体,所以在 Agent的开发技术中,应是主动对象与被动对象的结合,二者相辅相承。 2.2.1 Agent模型 Agent的个体思维状态是移动 Agent系统的基础,通过把人类行为过程中的信念、能力、意图、承诺等思维成分引入到 Agent的研究中,来刻画和描述 Agent17的概念和特征。具有代表性的个体 Agent模型有 BDI模型 。在此模型中,Agent由信念、愿望和意图组成。信念是 Agent具有的关于环境、其它 Agent信息和自身信息的集合,但逻辑全知对有限 Agent资源不现实,所以在 Agent的实现中,Agent 有时只需要知道获取信息的途径,自身并不需要拥有庞大的信息量。愿望是 Agent希望达到的状态或者希望保持的状态,也是 Agent的目标,Agent所做的任何决定都是在愿望的驱动下获得。意图是承诺的愿望,即为了达到某个目地,Agent对自身行为的一种规划。 当系统中存在多个 Agent时,Agent便具有了社会性,群体的 Agent社会模型中主要研究是的多个 Agent的协调与合作。此时,Agent的行为不仅仅是愿望18驱动,还带有些义务成分 。主要有社会 Agent的 BDO模型等。 2.2.2 Agent的移动 移动可分为强移动和弱移动两种。移动 Agent由三部分组成,包括程序、数19据和执行状态execution state 。程序指所属 Agent的实现代码;数据包含全局11 基于移动Agent的移动实时数据库事务提交处理及恢复策略研究 变量和 Agent的属性;执行状态包含局部变量值、函数参数值和线程状态等。强移动包含程序、数据和执行状态的移动,而弱移动只包含程序和数据的移动。 强移动是指 Agent在移动前将所有的状态全保存下来,到达移动目的地后再从 Agent的断点处执行。如果 MA包含多个线程,则多个线程同时从断点处运行。强移动要求 MA系统提供抽取extraction执行状态、恢复re-insertion执行状态的功能。目前只有少数语言能提供上述要求的功能,例如 Facile34和 Tycoon35。由于 Agent的执行状态通常很庞大尤其对多线程 Agent,所以强移动是开销很大20 21 22的操作。AgentTCL 、Ara 和 Telescipt 都属于强移动系统。 弱移动只携带程序和数据,根据需要只把 MA的部分执行状态存入数据中随Agent 一起移动,传输的数据量有限,弱移动操作的开销小,执行效率高,但它改变了移动后的执行语义。MA移动到新主机后,不再接着移动前的断点处执行,而是执行主线程的某一个入口函数如:在系统 MOLE中是主线程的 start方法,在系统 Aglets中是主线程的 run方法。在该函数中,根据数据状态决定应该如何执行。如果 Agent包含多个线程,则移动之后,只启动包含入口函数的线程,再23 24 25由它决定启动哪些线程。Aglets 、Mole 和 Odyssey 都是弱移动系统。 移动 Agent为完成用户指定的任务,通常要依次移动到多个主机上,依次与这些主机交互,并使用其提供的服务和资源,这就是所谓的 Multi-Hop技术。如何实现和规划 MA在多主机间的移动是移动机制和移动策略所要解决的问题。 移动机制主要研究移动的实现方式。不同的系统采用的移动机制不同,目前MA的移动机制可以分为两类:一类是将 MA的移动路线、移动条件隐含在 MA的任务代码中;另一类是将 MA的移动路线、移动条件从 MA的任务代码中分离。 MA的移动策略是指根据 MA的任务、当前网络负载和服务器负载等外界环境,动态地为其规划出移动路径,使 MA在开销最小的情况下,最快、最好地完成其任务。移动策略的优劣直接影响 MA的性能乃至其任务的完成。移动策略一般可以分为静态路由策略和动态路由策略。在静态路由中,需要访问的主机和访问的次序在 MA执行任务之前就已经由 MA的设计者确定。在动态路由中,访问哪些主机及访问的次序在 MA的任务执行之前是无法预料的,由 MA根据任务的执行情况自主地决定,一般由用户指定一个初始路由表,MA在按照该路由表移动的过程中可以根据周围环境的变化自主的修改路由表。动态路由方式体现出MA的自主性、反应性。12 2 移动 Agent技术介绍 2.2.3 Agent间的通信 移动 Agent系统可采用的通信手段很多,有消息传递、RPC、RMI、匿名通信和 Agent通信语言等。根据通信对象的不同,移动 Agent的通信方式可分为以下几种。 (1)移动 Agent/服务 Agent通信:该通信方式实质是移动 Agent和 MAE之间的通信。服务 Agent提供服务,移动 Agent请求服务,是一种典型的客户/服务器模式。该类通信方式可以采用类似 RPC、RMI的通信机制。 (2)移动 Agent/移动 Agent通信:这是对等peer-to-peer通信方式,通信双方的地位是平等的。为了完成特定的任
展开阅读全文