(计算机应用技术专业论文)基于agent的数据采集.pdf_第1页
(计算机应用技术专业论文)基于agent的数据采集.pdf_第2页
(计算机应用技术专业论文)基于agent的数据采集.pdf_第3页
(计算机应用技术专业论文)基于agent的数据采集.pdf_第4页
(计算机应用技术专业论文)基于agent的数据采集.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(计算机应用技术专业论文)基于agent的数据采集.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 摘摘 要要 数据采集是构建数据仓库和决策支持系统的基础。在医疗、金融等应用领域, 由于不同医院、不同银行采用了不同的软件系统,使得这些领域存在大量的异构数 据。异构数据采集需要解决对象识别、数据转换、数据整合等诸多问题,论文试图 通过研究具有数据映射定义能力的采集代理,较好地解决“信息孤岛”问题,从而 有效地实现数据共享。 比较分析了通过使用专业数据采集工具进行数据采集、利用数据仓库方案供应 商提供的采集工具进行数据采集等采集方式,针对现有的数据采集方式不能很好地 解决针对用户级数据字典数据库数据采集的问题,引入了基于数据映射和 agent 的 数据采集策略。在数据采集过程中,根据用户的需要为使用用户级数据字典的数据 库建立采集工程,通过数据映射将异构数据转换为同构数据,通过 agent 之间的通 信来协调各个 agent 之间的工作,从而有效地实现异构数据获取、转换和存储任务。 系统中,agent 与 agent 间以客户端、服务器端的工作模式,建立安全的通信连 接,一个服务器端 agent 对应一个客户端 agent。客户端 agent 基于描述数据映射的 采集工程工作,根据采集工程定义,将数据从异构系统中提取出来,按照预先设计 的规则对提取的数据进行转换, 使本来异构的数据在格式上统一起来, 以标准的xml (extensible markup language,超文本标记语言)文档形式存储,传输到服务器端, 服务器端 agent 从 xml 文档中读出数据,进行对象识别后存储到服务器数据库中。 设计并实现了基于 agent 的数据采集系统,通过采集东风卫生系统数据库中的 数据进行了验证实验。 关键词:数据采集,数据传输,数据仓库,代理,可扩展标记语言 ii 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 abstract data integration is the foundation of constructing data warehouse and decision support system. in the medical and financial field, because of different hospital and bank using different software system, so there are a large number of heterogeneous data. heterogeneous data integration needs to resolve the problem of object recognition, data conversion, and data store and so on. this paper tries to study integration agent that has the capability of data mapping and defining, in order to solve the problem of “information islands”, thus effectively achieve the aim of inter-industry data sharing. comparing and analyzing the method of data integration such as using specialized data integrating tools and data integration tools that are provided by the data warehouse solution providers for data integration, according to the problem that the existing data integration method can not work well with the user-level data dictionary database, introduce the data integration strategy of based on data mapping and agent. in the process of data integration, establishing a integration project for database using user-level data dictionary according to the needs of users, heterogeneous data can be converted to the same configuration data through data mapping, coordinate various agents through the communication between the agents, so as to effectively realize the task of data collect, convert and store. in the system, inter-agent uses the model of client and server; establish secure communication links, a server agent corresponds to a client agent. the client agent works based on integration project that describes data mapping, according to the definition of integration project, extracts data from heterogeneous systems, converts the extracted data in accordance with the pre-designed rules, unifies the heterogeneous data in format, stores in the form of standard xml documents, and transfers the xml documents to server, server agent extract data from xml documents, store into server database after object recognition. design and implement the data integration system based on agent, verify and achieve through acquiring the data from the database of dongfeng health system. key words:data integration, data transmission, data warehouse, agent, xml 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本人完全意识到,本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密 ,在_年解密后适用本授权书。 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 1 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 1 绪论绪论 1.1 课题的研究背景和意义课题的研究背景和意义 随着医疗卫生保健数据化、信息化建设的快速发展,每天都在医院、社区医疗 机构中产生着大量的临床数据、病例资料、病历档案等健康数据,但是由于不同的 医院、社区医疗机构后台所用的数据库各不相同,信息“孤岛”现象较为严重,跨 医院、跨地区、跨领域的健康数据共享极其困难,给医疗部门做出正确的决策造成 重大影响1。 通过数据采集可以将不同医院、 社区医疗机构中的数据集中在 “中心数据库” 存 放管理,将用于统计分析决策所需的大量数据从各医院或医疗系统中提取并根据需 要转换成统一的数据格式,由于当前的数据采集方案中存在着对使用用户级数据字 典的数据库不能很好的进行数据采集的问题,针对这种现状,本课题使用一种基于 agent 的数据采集方案,充分发挥 agent 主动性和智能性方面的优势,开发出用于异 构数据采集的采集平台,该平台可采集分布于不同医院、社区医疗机构数据库中的 分布式异构数据,建立所需的电子健康档案数据库,在此基础上通过数据的不断积 累和更新完善,为医疗统计、决策和建立医用专家知识库等提供高质量可靠的数据 保障。系统中 agent 之间通过有效的通信和协作,实现从医院、社区医疗机构的数 据采集,完成数据仓库的建立,从而为医疗系统的管理、动态报表的生成、多维数 据分析和数据挖掘等提供服务,为疾病的预防和治疗提供有力、科学的决策支持。 本课题研究的目的就是希望通过对基于 agent 的数据采集方法的研究和实现, 设计出具有良好交互性能的数据采集系统,可方便地从医院、社区医疗机构等单位 采集原始数据,并实现异构数据的格式转换,按系统的设计要求存储到数据中心。 本课题来源于华中科技大学计算机学院医学图像信息研究中心在研国家863项目 “基 于网格的数字化医疗决策支持系统” ,此项目的目标是在网格平台下实现海量多领域 异构数据的整合、共享、分析与决策支持。 1.2 国内外研究概况国内外研究概况 数据采集的研究由来已久,对数据采集系统的研究一直是数据管理研究领域的 2 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 一个非常热门的话题。本节将介绍数据采集的研究现状及 agent 的研究现状,分析 当前数据采集系统存在的主要问题。 。 1.2.1 数据采集的研究现状数据采集的研究现状 数据采集包括数据的抽取、转换、装载三个过程。数据抽取是指将数据从各种 异构系统中读取出来,这是所有工作的前提;数据转换是指按照预先设计好的规则 将抽取的数据进行转换,使本来异构的数据格式能统一起来;数据装载是指将转换 完的数据按计划增量或者全部的导入到数据仓库中2。 数据采集的研究始于七十年代中期,这一阶段以多数据库系统的研究为主。这 方面的研究基本上可分为三大类,第一类采用物理上分布,逻辑上集中的系统结构, 系统有全局的模式,但是各数据库结点缺少自治性,难以管理和集成3;第二类是 mcelod 于八十年代中期提出的联邦式数据库系统的概念,这是一种逻辑上和物理上 都分布的结构,每个结点有自己的联邦模式,而不是唯一的全局数据模式,由于不 再受制于全局模式,结点的自治性得到加强,数据库系统的集成、扩充和重新配置 也较为方便和自然,但是数据库之间的通信受限制4;第三类是 litwin 等人倡导的 多库语言数据集成方法,这种系统既无统一的全局模式,也无局部的联邦,节点自 治性更强,但用户必须接受一种新的数据语言,且透明性较差5。 进入九十年代中期,随着计算机网络的普及,传统的数据采集技术己无法适应 人们获取更多数据的需求,人们要求数据集成系统不仅能集成数据库中的数据,而 且能集成非数据库中的数据,如 xml 数据;不仅能集成传统数据,而且能集成多媒 体数据;不仅能集成己有数据源中的数据,而且能集成随时加入新数据源中的数据, 也就是说,数据采集的研究必须具有可扩展性,可以实现数据源的“即插即用” ,于 是诞生了“通用异构数据源集成”的概念,这是数据采集发展的第二阶段6。 当前处于数据采集发展的第三阶段,在进行数据采集工作时,所采用的方法可 以分为三大类:一类是使用专业 etl(extract,transform,load)厂商的产品,例 如 ascential 公司的 datastagexe、sagent 公司的 solution。这类产品一般都具备较完 善的体系结构,产品的功能之复杂和详尽,往往能令初次接触的人瞠目,其高昂的 价格也会使一般用户望而却步7; 另一类是整体数据仓库方案供应商,他们在提供数 据仓库存储、 设计、 展现工具的同时也提供相应的采集工具, 例如 oracle、 ibm db2、 sybase、microsoft sql server 以及 informix 等厂商提供的大型数据仓库解决方案, 3 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 目前己经建设成功并投入使用的项目主要有电信、银行、零售业、邮政等传统数据 密集型行业。这类产品一般对自己厂商的相关产品有很好的支持并能发挥出其最大 效率,但结构相对封闭,对其他厂商产品的支持很有限8;第三类是自主进行适合企 业应用环境的数据采集系统的开发,这种做法相对比较灵活,针对性强,但难度相 对较大。 在这三类方法中,第二类方法由于局限性较大,并没有被广泛采用,使用 etl 工 具和手工编码是当前使用的比较普遍的方法。etl 工具,手工编码这两种方式都有各 自的优势和劣势。表 1.1 分别对常用的两种数据采集方式的优缺点做了一个比较9。 表 1.1 使用 etl 工具与使用手工编码进行数据采集的优缺点比较 etl 工具 手工编码 灵活性 比较灵活 最灵活 难易程度 相对容易 要求一定技术水平 管理和维护 容易 较难 性能和效率 较高 取决于编写者水平 开发周期 较短 相对较长 工作量 中等 较重 价格 很高 较低 从表 1.1 我们可以看出,虽然手工编码方式的整体工作量相对繁重一些,但是从 企业整体成本的角度出发,同时考虑到系统的灵活性,目前有很大一部分企业会选 择采用手工编码的自主开发方式来完成数据采集工作。 国内对数据采集的研究开发正处于发展阶段,各高校对数据采集的研究也取得 了一些成果。例如华中科技大学数据库与多媒体研究所研制了利用 ole db 接口的 数据采集系统dm3,该工具采用的是面向对象的开发方法,通过 com 技术实 现 oledb 接口和 dts 接口,实现的一个具有良好可扩展性 etl 系统10。中国科学 院研究人员也自行开发了一种数据采集系统msetl,它的主要目的是为多策略 数据挖掘平台提供高质量的数据,它提供了友好界面并对数据采集过程进行统一的 元数据管理11。在学术界也有很多学者提出了很多的方法,如基于 j2ee 的数据集成 技术12,基于模型驱动的数据集成技术13,基于消息中间件的数据集成技术14等。 国外对数据采集相关技术的研究更加全面和成熟,特别是对于 etl 的研究。目 4 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 前在数据仓库领域里比较成熟的通用商业数据集成工具软件分三类: (1)传统数据 库厂商 oracle 的 oracle warehouse builder,microsoft 的 data transformation service, ibm 的 data warehouse center15。 (2)专业数据整合软件厂商 informatica 的 powercenter, ascential 的 datastage16。 (3) 商业智能软件厂商 sas 的软件套装 sas system 中的 etl,businessobjects 的 integrator17。学术界开发的工具原型: (1)美 国 berkeley 大学的 vijayshankar raman 与 joseph m.hellerstein 开发的 potters wheel2 系统,是一个与数据转换过程紧密结合的数据清洗工具18。 (2)希腊 ioannina 大学 的 p.vassiliadis,a.simitsis 等人开发的 arktos ii,是一个 etl 设计工具19。 目前国内外的数据采集工具,其不足之处表现在: (1)对系统的变化不能适应。由于数据采集需求的不确定、无边界,要求数据 采集系统工具具有动态和主观性的特点,能适应决策分析人员对数据的需要变化要 求,从而满足企业由于业务调整,业务规则的变化等因素所引起软件的调整。而国 内的系统多是为了特定的需要在特定的环境下开发的,不能满足多方面的需求,如 果需求发生变化,很有可能企业面临的重新开发一套与之相应的新的应用系统工具。 如何有效地适应变化是目前数据集成工具需要解决的问题。 (2)部分 etl 工具灵活度低。设计一个数据采集过程的周期长,浪费大量的 人力、物力。此外,还有一些仅用于异构数据库系统的转换工具,其功能简单,不 能满足对于数据的清洗、转换等一系列复杂的功能要求。 1.2.2 agent 技术的研究现状 技术的研究现状 agent 的原意是“代理” ,即一个人代表另一个人或一个组织去完成某些事情。 在计算机领域,agent 可看作是被授权的“个人软件助理” ,是一种在分布式系统或 协作系统中能持续自主地发挥作用的计算实体,常简称为智能体或主 体20。 agent 的技术,为分布式开放系统的分析、设计和实现提供了一个崭新的途径, 被誉为 “软件开发的又一重大突破” 。 agent 理论与技术研究最早源于 dai (distributed artificial intelligence,分布式人工智能) ,但从 80 年代末开始,agent 理论、技术研 究从 dai 领域中拓展开来,并与许多其他领域相互借鉴和融合,在许多不同于最初 dai 应用的领域得到了更为广泛的应用21。 目前对 agent 的研究大致分为以下几类: (1) agent的基础理论研究。 agent的基础理论研究主要是从微观层次研究agent 的理论和结构,以及 agent 的表示和推理方法,它更多地是讨论如何用形式化的方 5 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 法表示 agent 并进行推理,因而实际上可以理解为是知识表示研究的一个分支22。 (2)mas(multi agent system。多 agent 系统)的研究,mas 是由多个 agent 组成的系统,它主要是在 agent 基础之上,研究多 agent 之间的组织、协商规划以 及通讯协作等,是从宏观层次重点研究 agent 之间的互操作性23。 (3)面向 agent 的程序设计。agent 和 mas 的成功应用要借助于面向 agent 的程序设计, 即 aop (agent oriented programming) , 包括开发工具和平台以及 agent 程序语言。其中 agent 程序语言则主要涉及适合 agent 开发编程的有关语言的设计 等问题,典型的 aop 语言,如 general magic 公司开发的用于构造 agent 社会的脚 本语言 telescript。另外,用于 agent 之间的通信语言 acl(agent communication language)kqml(knowledge query and manipulation language)也是现在获得最 广泛应用的通信语言,被称为事实上的 acl 标准,在理论和实践上都产生了深远的 影响24。 (4)面向 agent 的软件工程。由于 agent 是“对象”的升华,是具有自主性、 主动性的智能化、拟人化的“对象” ,是具有拟人智能特性的“实体” 。因而,面向 agent 的方法不仅继承了面向“对象”和面向“模块”方法的优点:通用性、模块性、 重用性、扩展性、移植性,而且,进一步发展了面向“对象”和面向“模块”的方 法,提高了软件系统智能性、互操作性、灵活性、编程效率和程序自动化水平、智 能化水平,因此面向 agent 的软件工程也日益成为研究的热点25。 目前,agent 技术已经广泛应用于信息管理、智能数据库、数据挖掘、网络管理 和电子商务等领域。在数据库研究方面,美国的达特茅斯大学和明尼苏达大学曾经 对将 agent 应用到分布式数据查询中进行过研究,对他们各自开发的移动 agent 平 台 dagent 和 ajanta 进行测试26。oracle 公司在其移动数据库平台 oracle lite 上, 也推出了 mobile agent,移动客户通过“客户/mobile agent/服务器” 的服务模式访 问中心数据源,采用这种方式可以使移动设备不用随时连接服务器,有效地减少了 通信时间27。在国内也对 agent 以及数据集成技术做了大量的研究,提出了许多基 于 agent 的数据采集的体系结构和应用模型,但是目前还没有研发出比较完善的原 型系统或者应用系统28。 1.3 课题的主要工作课题的主要工作 本文的研究内容是设计并实现一个数据采集系统,采集医院、医疗机构中各种 6 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 不同系统内的异构数据,并且将这些数据按系统要求的格式传输并保存到中央数据 库(医学图像信息研究中心数据库)中。 本课题的主要目标是,针对传统数据采集方式对于用户级数据字典数据库的数 据采集支持不够的问题,设计了一种基于 agent 的数据采集模型,通过 agent 之间 的通信来协调各个采集agent之间的工作, 同时利用xml文档作为数据传输的标准, 屏蔽了异构系统之间的差异,实现了数据的标准化。 本论文的主要工作: (1)实现 agent 之间的通信。分析了 agent 的体系结构、agent 的通信机制, 实现了 agent 之间的通信,在数据采集过程中,通过 agent 之间的通信来协调各个 agent 之间的工作,以完成数据采集的任务。 (2)实现了 xml 文档与关系数据库的双向映射转换。研究了 xml 相关技术, 以 xml 文档作为异构数据库之间转换的桥梁, 将从各个异构数据库采集得到的数据 转换为标准的 xml 文档,然后经过传输,再将 xml 文档中的数据提取出来,存储 到中央数据库,充分利用了 xml 的易于扩展、交互性好、易于处理、与平台无关等 特点,为实现数据的集成的提供了有力的支持。 1.4 论文组织结构论文组织结构 本文第一章介绍了课题的研究背景和意义,国内外研究现状,课题的主要研究 工作和论文组织结构。 第二章介绍了数据采集系统的需求分析与总体设计,包括系统的需求分析、采 集模型的功能模块化设计、工作流程设计。 第三章介绍了数据采集系统各个模块的设计及所使用的关键技术。 第四章介绍了数据采集系统各个功能模块的实现。 第五章介绍了数据采集系统的测试与试验结果。 第六章对论文中所作的工作做出总结,同时对下一步要进行的工作和可能的研 究方向进行了展望。 7 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 2 基于基于 agent 的数据采集模型的数据采集模型 本章主要介绍数据采集系统的需求分析与总体设计。首先对本系统进行了需求 分析;然后介绍了本系统所用的基于 agent 的数据采集模型;接着对采集模型进行 功能模块划分,从功能的角度将采集模型划分成几大模块;最后,设计出数据采集 系统的工作流程。 2.1 需求分析需求分析 2.1.1 系统功能分析系统功能分析 基于agent的数据采集系统能够完成数据采集、 数据整合等任务。 通过采用agent 技术,在相关医院的数据库上,安装和布置若干个数据采集 agent,各 agent 按照采 集工程的要求,在数据库中进行数据采集,并将采集得到的数据传送到中心数据库, 同时中心数据库上的数据采集 agent 将数据以内部电子健康档案的标准格式存放到 电子档案数据库中。 2.1.2 实现系统功能所需解决的关键问题实现系统功能所需解决的关键问题 (1)数据库的连接访问。在数据采集过程中,必须解决不同数据库的连接访问 问题。数据库的连接问题在技术上有一定的复杂性,很难用一个通用的 dbms (database management system,数据库管理系统)来解决,因此,基于 agent 的数 据采集系统需要一种能访问多种数据库的操作平台。 (2)采集工程定义。其中要解决的问题包括:需要明确定义出一个完整的采集 工程都包含哪些内容,何时启用一个采集工程,采集工程启用后,如何按照采集工 程的定义向被采集端发送采集要求。 (3)服务器端 agent 和客户端 agent 之间的通信。其中要解决的问题包括:如 何实现 agent 之间的认证、连接,agent 建立连接之后如何进行通信。 (4)数据传输问题。由于各客户端可能使用不同类型的数据库系统,如何从客 户端数据库中采集到所需的异构数据,所采集到的数据用哪一种标准进行传输,由 于 agent 之间(客户端与服务端)的数据传输是在 internet 中进行的,还需要考虑数 据传输的安全性和可靠性问题。 8 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 (5)数据的存储问题。服务器数据采集 agent 获得客户端数据采集 agent 传送 过来的数据后,如何按照采集工程的定义及电子档案的要求将数据装载到电子档案 中心数据库中。 2.2 基于基于 agent 的数据采集模型的数据采集模型 本文采用了一个基于 agent 的数据采集模型,建立在该模型基础之上的数据采 集系统可以充分发挥 agent 技术的优势,实现一个数据采集系统应具备的主要特点 和功能。该模型的总体结构如图 2.1 所示。 图 2.1 基于 agent 的数据采集模型 该模型在逻辑上分为三层,分别为数据源层、数据集成层和中心数据库层。 数据源层主要是指数据采集的数据源,即分布在各物理位置的异构数据库,这些 数据库中的数据由不同应用软件开发商开发的软件进行读写, 数据结构和内容各 不相同,属于异构数据库;在数据集成层中,客户端数据采集 agent 根据服务器 端采集 agent 发送来的数据库映射、转换规则及采集条件,从本地数据库中提取 数据,然后形成 xml 文件,通过 internet 传递到服务器端数据采集 agent,由服 9 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 务器端数据采集 agent 对 xml 文件解析,将数据提取出,并存储到中心数据库 中;中心数据库层主要指中心数据库,用来存储从客户端采集的数据,采集的数 据以内部电子健康档案的形式存放,其中管理 agent 负责采集工程的定义,生成 被采集数据库与中心数据库映射、转换规则及采集条件,管理采集 agent 的工作 状态。 2.3 采集模型的模块功能定义采集模型的模块功能定义 对基于 agent 的数据采集模型进行模块化设计,在功能上将其分为相对独立的 几大模块,如图 2.2 所示: 图 2.2 数据采集模型功能模块图 (1)agent 设计模块的主要功能。根据对模型中各个 agent 功能的需求分析, 来完成采集模型中各个 agent 的设计。 模型中存在三种 agent, 服务器端管理 agent, 服务器端数据采集 agent,客户端数据采集 agent。 (2)采集工程定义模块的主要功能。在数据采集过程中,采集工程的定义的是 个很复杂的过程。 本系统通过使用 datawindow 控件来完成采集工程的定义, 为用户 提供可视化的操作界面。采集工程定义模块的主要功能是:定义描述采集代理连接 的数据库的位置,定义需要采集的数据库的内容,定义需要进行的数据转换及数据 映射,同时还要描述数据存储的位置,采集的工作时间等。 (3)agent 通信模块的主要功能。在系统中,agent 之间并非是孤立的,而是 通过 agent 之间的通信来实现 agent 之间的交流,相互交换信息,agent 之间的通信 是 agent 相互协作的基础。agent 的通信模块的主要功能是:提供 agent 之间认证、 10 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 连接,信息的交互等功能,服务器和客户端采集 agent 以 p2p 的方式连接和工作, 对于双方的连接和断开应具有自动感知功能。 (4)数据库连接管理模块的主要功能。数据库的连接访问,首要解决的问题是 不同数据库的透明访问,这里采用 ole db(object linking and embedding database, 对象连接与嵌入数据库)接口技术解决这一问题。在客户端采集 agent 进行数据采 集前,必须选择数据库实体,并完成对它们的连接访问。 (5)数据传输模块的主要功能。由于各个客户端的数据库系统各不相同,从客 户端数据库中采集得到的数据首先转换为统一的 xml 文档,数据在 agent 间是以 xml 文档的形式进行传输的,同时由于数据传输是在 internet 中进行的,在传输过 程中要考虑传输数据的安全性和可靠性等问题,通过断点续传机制和 crc(cyclic redundancy check,循环冗余检测)校验机制来解决上述问题。数据传输模块的主要 功能:将从客户端数据库中按采集要求提取的数据以 xml 文档的形式传送到服务 器。 (6)数据装载模块的主要功能。服务器数据采集 agent 接收到客户端数据 采集 agent 传送来的数据后,首先将数据从 xml 文档读取出来,然后根据采集 工程定义的数据相似度、档案分期规则,以识别被采集的数据对象与数据库中的 已存在的数据对象是否为同一对象、同一期档案,然后按照要求将数据存储到数 据库中。 2.4 数据采集的工作流程数据采集的工作流程 一个采集任务从被创建开始,直到采集任务执行结束,大致需要经过如下步骤: (1)启动服务器管理 agent; (2)采集工程的定义; (3)服务器采集 agent 与客户端采集 agent 建立连接,并进行通信,将采集工 程定义的内容发送给客户端采集 agent; (4)客户端采集 agent 连接本地数据库,按照采集要求从数据库中提取数据, 将提取数据转换为 xml 文档; (5)数据传输,客户端数据采集 agent 将数据传输给服务器采集 agent; (6)服务器采集 agent 将数据装载到数据库中。 具体的数据采集流程如图 2.3 所示: 11 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 图 2.3 数据采集流程图 2.5 本章小结本章小结 本章主要从系统的需求分析、采集模型的功能模块、工作流程设计三个方面对 数据采集系统进行总体的设计。 对要实现的系统功能进行了概述,并对系统的功能需求进行了分析,为实现基 于 agent 的数据采集系统指明了方向。 本系统使用一个基于 agent 的数据采集模型,包括数据源层、数据集成层、中 心数据库层,数据集成层用来负责 agent 之间的通信,以及数据采集及整合。 系统的功能模块主要包括 agent 设计模块、 采集工程定义模块、 agent 通信模块、 数据库连接管理模块、数据传输模块、数据装载模块等六大模块,本章中分别对这 些模块的功能进行了阐述。 系统工作流程的设计主要是描述数据采集的大致步骤,通过这个工作流程,可 以实现对数据库中数据的采集。 12 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 3 基于基于 agent 的数据采集系统的设计的数据采集系统的设计 上一章中介绍了系统中的各功能模块,主要从总体的角度对系统进行功能划分。 本章主要介绍数据采集的各个模块的设计及所使用的关键技术,主要对 agent 的设 计,agent 通信模块的设计,数据库连接所使用的 ole db 技术,数据传输模块的设 计进行详细的介绍。 3.1 agent 的设计的设计 基于 agent 的数据采集模型主要由三个 agent 组成,分别是服务器管理 agent、 数据采集 agent 以及客户端数据采集 agent。 下面将介绍 agent 技术及本系统中所使 用的 agent 的功能及结构。 3.1.1 agent 的定义 的定义 1995 年,wooldridge 教授和 jennings 教授对 agent 作了权威性的定义,定义分 为强定义和弱定义两个方面: 1)弱定义,agent 是一个基于软件或硬件的计算机系统,它拥有自治性、社会 能力、反应性和能动性; 2)强定义,agent 在弱定义的特性基础上,还要包括情感等人类的特性。通常 会利用某些人性化的词汇对 agent 加以描述,比较普遍的是使用心智词汇来描述 agent,包括知识、信念、意图、责任、愿望29。 一个 agent 定义主要包括以下几方面的内容:(1) agent 的类型、 名称;(2) agent 所处位置的 ip 地址; (3)agent 所处位置的端口号; (4)agent 的工作状态; (5) agent 完成的功能30。 从 agent 定义中可以得到当前 agent 的状态和工作信息, 根据 agent 的名字, 可 以对系统中的 agent 进行区分, 并且可以根据 agent 的定义获得 agent 的当前工作状 态及需要完成的任务。 3.1.2 多多 agent 技术 技术 mas(multi-agent,system)是由多个可计算的 agent 组成的集合,其中每个 agent 是一个物理的或抽象的实体,能作用于自身和环境,并与其它智能体通讯31。 13 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 mas 技术是人工智能技术的一次质的飞跃:首先,通过 agent 之间的通讯,可以开 发新的规划或求解方法,用以处理不完全、不确定的知识;其次,通过 agent 之间 的协作,不仅改善了每个 agent 的基本能力,而且可从 agent 的交互中进一步理解 社会行为;最后,可以用模块化风格来组织系统。如果说模拟人是单 agent 的目标, 那么模拟人类社会则是 mas 系统的最终目标。 mas 技术具有自主性、分布性、协调性,并具有自组织能力、学习能力和推理 能力32。采用 mas 系统解决实际应用问题,具有很强的可靠性,并具有较高的问题 求解效率。mas 技术打破了目前知识工程领域的一个限制,因而可完成大的复杂系 统的作业任务。mas 技术在表达实际系统时,通过各 agent 间的通讯、合作、互解、 协调、 调度、 管理及控制来表达系统的结构、 功能及行为特性33。 由于在同一个 mas 系统中各 agent 可以异构,因此 mas 技术对于复杂系统具有无可比拟的表达力,它 为各种实际系统提供了一种统一的模型,从而为各种实际系统的研究提供了一种统 一的框架。 3.1.3 agent 系统模型的建立 系统模型的建立 通过如下步骤建立一个多 agent 系统模型: (1)确定层次组织中各级机构的目标。首先确定组织总体目标,然后进行层层 分解,拟定派生目标,并建立表明各级目标之间关系的指标体系图; (2)明确实现目标所必需的各项业务活动或任务。对设计者需实现的各级目标 所需的业务活动加以分类,同时还要分析与业务活动相关的可用资源、设施以及利 用它们的最佳途径,以保证业务活动的分类更科学、合理; (3)进行问题求解管理流程的总体设计。问题求解管理流程指问题求解活动在 相对稳定的程序中反复的循环流动,把这些流程按照标准格式和各种符号形象地表 示出来,我们称之为问题求解管理流程图。问题求解管理流程是建立协同工作过程 模型和控制模型的基础,对实现各级目标的所有业务活动都要建立其问题求解管理 流程图,并且,在设计问题求解管理流程时,应保证目标实现的全过程周期最短、 效益最高; (4)设计职能。是问题求解管理流程的具体环节,也是组织结构的基本单位。 由各职能形成基层组织,再由基层组织形成上一层管理子系统,直至构成系统的总 体结构; 14 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 (5)定义管理职能和问题求解职能。根据问题求解管理流程,拟定每一职能的 输入对象、输出对象、必需的技能与功能集(即能力和方法) 。通过相应的功能集, 管理者或问题求解者将输入的对象转换成输出对象,同时分析完成该职能的安全条 件集; (6) 建立协同工作过程模型和控制模型。 有了问题求解管理流程图和职能模型, 事实上己经确立了协同工作过程模型和控制模型的主要内容。这里主要根据协同工 作过程模型和控制模型的要求,详细说明协同工作模式、职能之间的协作关系、交 互控制协议和控制机制等内容; (7)建立完整的组织结构。通过职权关系和信息联系,把各层次联结成为一个 有机整体,形成最终的组织系统图; (8)确定 agent 承担的职能。分析 agent 的实现环境和实现技术,确定 agent 承担的职能,一个 agent 能承担一个或多个组织职能; (9)定义 agent 实现策略。根据 agent 承担职能、职能之间的关系,agent 实 现环境和实现技术,确定 agent 的实现策略以及 agent 在网络上的拓扑分布; (10)建立组织管理策略。分析多 agent 系统的任务环境,确定工作过程优化 策略,协调控制策略和可靠性34。 3.1.4 管理管理 agent 主要职能 主要职能 管理 agent 存在于服务器,主要功能是管理系统中各个 agent 及其相关状态, 并负责多个 agent 的活动。其基本信息包括 agent 定义库和 agent 状态库两个部分, 存放各采集 agent 的定义和基本信息。其作用如下: (1)创建和注销采集工程。管理 agent 根据用户和程序对工作流程的定义和描 述,在工作流程实例化过程中,创建相应的采集工程。这些采集工程的定义,如任 务处理接口等,存放在采集工程定义库中;而它的初始状态和一些执行参数则放在 采集工程状态库中,这样,新创建的采集工程就在管理 agent 中完成了注册,可以 在以后的执行过程中接收管理 agent 的调度了。如果一个采集工程所代表的活动已 经执行完毕,并确定在以后的采集工作流程中将不再用到这个采集工程,就可以注 销这个采集工程了,具体操作是将这个采集工程的相关信息从采集工程定义库和状 态库中删除,这个采集工程的生命周期就此终止。 (2)分配任务。根据采集工程的定义及数据采集 agent 的工作状态,为服务器 15 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 数据采集 agent 分配采集任务。 3.1.5 服务器端数据采集服务器端数据采集 agent 主要职能 主要职能 服务器端数据采集 agent 的主要功能是对采集的数据进行整合,存储到中心数 据库中。它包括接受客户端数据采集 agent 传来的数据,与客户端数据采集 agent 通讯,对数据进行整合存储等。其作用如下: (1)数据传输管理。主要负责接受客户端数据采集 agent 发来的数据,经过 服务器数据采集 agent 验证无误后,将数据映射转换后存入位于本地的中心数据库 中,并告知管理 agent。如果验证失败,也告知管理 agent,由管理 agent 要求客 户端采集代理重新发送数据。数据可以以列、记录和文件为单位发送。为了保证数 据传输的完整性,采用双重确认的机制,即在返回数据传输完成后,还会再发送一 个确认信息包,当这样的确认信息得到了双方的确认以后,才认为上次的数据传输 完成。 (2)通信管理。主要是与客户端采集 agent 进行通信和协作。与客户端采集 agent 建立连接后, 向客户端采集 agent 发送采集工程的内容, 接受客户端采集 agent 传送的数据。 3.1.6 客户端数据采集客户端数据采集 agent 主要职能 主要职能 客户端数据采集 agent 的主要职能是根据管理 agent 发送来的采集工程的要求, 在本地数据库中进行数据采集,并将采集得到的数据传送给服务器端数据采集 agent。它包括与服务器数据采集 agent 合作通讯,接受服务器端数据采集 agent 的 采集要求,数据的提取等。其作用如下: (1)系统监听。客户端采集 agent 负责监听是否有服务器端采集 agent 的 连接请求,如果收到服务器端采集 agent 的连接请求,则与其建立连接,并进行 通信, 接受服务器端采集 agent 发来的采集要求或者向服务器采集 agent 传送数 据。 (2)数据采集。根据接受到的数据采集要求,连接本地数据库,按照采集要求 将数据从数据库中提取出来。 (3)数据处理。将数据库中提取的数据映射成相应的 xml 文档,以便传输、 共享和整合。 服务器端数据采集 agent 和客户端数据采集 agent 的结构如图 3.1 所示。 16 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 图 3.1 采集 agent 的结构 3.2 agent 通信的设计通信的设计 本系统中的各个 agent 通过相互之间的通信来交互信息,协调自身的行为,为 实现目标而做出合理的安排,最终完成系统的任务。下面具体介绍 agent 之间的通 信方式。 3.2.1 agent 的通信方式 的通信方式 系统中的服务器数据采集 agent 和客户端数据采集 agent 之间必须彼此通信和 协

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论