




已阅读5页,还剩78页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分类号 TP311 密级 U D C 编号 研究生院硕士学位论文分布式数据集成监视系统的设计与实现叶俊指导教师 叶丹 高级工程师 软件研究所 申请学位级别 硕士 学科专业名称 计算机软件与理论 论文提交日期 2011年4月 论文答辩日期 2011年6月 培养单位 软件研究所 学位授予单位 研究生院 答辩委员会主席 刘旭东分布式数据集成监视系统的设计与实现摘 要数据集成是企业间和企业内部信息资源交换和共享的关键技术,随着企业信息系统规模的不断扩大,数据集成系统呈现出分布式、复杂化、运行环境敏感等特点。对数据集成系统进行监视有助于把握系统的状态和行为,保证系统运行质量。部署在广域网环境中的分布式数据集成系统,运行环境复杂,如何准确、高效、低开销地对其进行监视是非常值得研究的问题。论文对数据集成系统的监视需求进行了总结,指出广域网中对分布式数据集成系统进行监视所面临的特殊问题:信息传输的不可靠性和较高的监视开销。在此基础上,围绕ETL运行时监视,系统状态和性能监视、客户端监视信息的获取和监视数据的统计四个方面展开研究。在ETL运行时监视方面,论文提出了一种通过匹配监视事件模型来对监视事件进行还原的方法,在一定程度上解决了复杂网络环境下监视机制中可靠性与高效性的矛盾,在此基础上,论文提出了基于关键事件的捎带和校验技术,进一步提高了监视的准确性,并可以降低监视开销;在系统状态和性能监视方面,论文采用基于心跳的服务器状态监视方法,使用有序的服务器映射表进行状态维护;在客户端监视信息获取方面,论文通过将请求、命令、执行体分离,对请求进行标准化和最小化处理,并使用线程池技术,降低了监视开销并使系统易于扩展;在监视数据的统计方面,论文归纳了常用的数据集成统计指标,有助于在较高的层面上了解系统和系统中对象的性能和行为变化。最后,论文应用以上研究成果,为数据集成中间件OnceDI设计和实现了监视系统。关键词:数据集成,ETL,监视,事件模型 Design and Implementation of Monitor System for Distributed Data IntegrationJing Ning (Computer Software and Theory)Directed by Dan YeAbstractData integration is a key technology for exchanging and sharing information among and within enterprises. With the expansion of enterprise information systems, data integration system appears to be distributed, more complicated, and runtime environment sensitive. Monitoring data integration system helps to understand the status and behaviors of the target system and assure the runtime quality. The operating environment of distributed data integration system which deployed on internet is very complex. Therefore, it is worth while doing researches on how to monitor it with accuracy, efficiency and low overhead. The thesis begins with summarizing the requirements of data integration system, and pointing out the special problems of distributed integration system on internet, which are unreliable information transmission and high overhead. Through with, four research contents are identified, including ETL runtime monitoring, system status and performance monitoring, information acquisition of client, and monitoring data statistics. In ETL runtime monitoring, a method of monitoring event recovery is proposed, based on model matching. This method solved the contradictory between reliability and high performance to a certain degree. Further, key event piggyback and key event verification methods are presented, which improves the accuracy of monitoring and gives the ability of reducing overhead. In system status and performance monitoring, the thesis utilizes heartbeat mechanism and a sorted server mapping table to maintain the server status. In information acquisition of client, an approach of utilizing requests minimization, thread pool and request-command separation is proposed, which reduced overhead and improved the extensibility. In monitoring data statistics, popular indicators are summed up, which helps to understand the target system in time span and higher level. In the end, the thesis discusses the design and implementation of monitoring system in OnceDI, a data integration middle ware. The research results above are applied. Key words:Data integration, ETL, Monitoring, Event Model目 录第一章绪论11.1 研究背景11.2 论文工作21.3 论文组织3第二章数据集成及其监视相关技术52.1 数据集成和ETL过程简介52.2 数据集成的监视需求72.3 复杂网络环境中分布式数据集成系统的监视问题92.4 相关工作102.5 本章小结12第三章分布式数据集成监视系统关键技术研究133.1 基于监视事件模型的ETL运行时监视133.1.1问题分析133.1.2 监视事件模型 定义 描述方法153.1.3 ETL运行时监视事件模型173.1.4 基于监视事件模型的监视技术监视事件还原技术 关键事件相关技术 槽道的动态构建方法243.2 系统状态和性能的监视263.2.1 问题分析263.2.2 基于有序服务器映射表的状态监视273.2.3 性能监视293.3 客户端监视信息的获取303.3.1 问题分析303.3.2监视信息的获取方法303.4 基于监视数据的统计333.4.1 问题分析333.4.2 常用统计指标333.5 本章小结34第四章ONCEDI监视系统的设计与实现354.1 数据集成中间件OnceDI354.1.1 ETL JOB、流程、任务和渠道354.1.2 体系结构354.1.3 主要特点364.2 OnceDI监视系统的体系结构374.3 监视代理的实现384.3.1 监视事件的收集394.3.2 过滤和关键事件处理414.3.3 心跳434.4 监视中心的实现434.4.1 监视事件模型的解析454.4.2 ETL运行时监视事件的处理464.4.3 监视数据库模式设计和监视数据的统计494.4.4 服务器状态和性能管理514.5 监视客户端的实现524.5.1 线程管理524.5.2 命令集534.5.3 请求管理544.6应用案例564.7 本章小结58第五章结束语595.1 论文工作总结595.2 进一步的工作59附录61参考文献63发表文章目录67致谢69第一章 绪论本章介绍论文的研究背景、主要工作和论文组织方式。1.1 研究背景随着信息技术应用的快速深入,企业信息化水平不断提高,大中型企业和机构纷纷建立起庞大而复杂的信息系统,这些信息系统的建设通常具有阶段性和分布性的特点,导致了“信息孤岛”的存在和数据不一致等问题;此外,企业中分布的数据、信息和知识通常具有独立性和异构性,降低了信息的利用效率,很难实现企业商务智能的要求。随着企业对系统整合需求的持续增强,越来越多的企业在重视应用集成的同时,将数据集成作为重要支撑技术之一 中国企业数据集成与数据质量市场白皮书,IDC,2008。数据集成(Data Integration)是将不同来源、格式的数据在逻辑上或物理上集成共享,是通用的数据整合、数据同步、数据迁移的解决方案,目前三种主要的数据集成方法包括联邦数据库、数据仓库和数据集成中间件系统。其中,数据集成中间件提供了一种轻量级的数据集成方案,是目前比较流行的数据集成方法。在这些数据集成方法中,ETL即跨操作系统、跨数据源的数据抽取(Extract)、转换(Transform)和装载(Load)是一项极其重要的技术,它从分布式异构的数据源(包括数据库、应用系统、文件以及Web服务等)中抽取数据,并按照一定的规则进行转换,最终加载到目标数据源中,从而解决数据一致性与信息集成化问题,实现数据、信息和知识的共享和集成。对数据集成系统进行监视,有助于及时掌握系统及系统中数据集成对象的状态和行为,发现和解决问题,为系统管理提供依据。为了满足日益庞大的企业信息系统中的数据集成需求,数据集成系统也逐步向分布式和复杂化的方向发展,分布式的数据集成系统在大幅度增强数据集成能力的同时,也为系统管理带来了挑战。因此,在分布式数据集成系统中,监视具有更为重要的意义。对于部署在广域网环境中的分布式数据集成系统,分布式的体系结构和网络环境的复杂性要求其监视问题不仅要包含对各个结点的信息进行收集和管理,而且还需要关注监视方法的准确性、高效性和开销等问题。具体表现在如下四个方面:(1) 需要监视ETL运行时的状态和性能。一方面,一个完整的ETL过程包括服务器调度,数据源交互,数据的抽取、加载、转换、传输等众多子过程,其执行情况依赖于外部运行环境。监视能够及时发现问题,保证ETL过程的正确运行。另一方面,企业信息系统产生的数据量庞大,ETL过程的执行时间比较长,用户希望能够及时了解其执行进度和性能状况,监视能够提升用户体验。(2) 需要监视系统状态和性能。分布式数据集成系统由很多服务器组成,服务器之间需要协同工作,才能完成数据集成任务,由于服务器具有自治性,需要对其状态信息进行收集,以确保数据集成工作能够正常进行。此外,服务器的性能状况会对ETL的性能产生重要影响,因此,需要对服务器的性能进行监视。(3) 需要统计监视数据。ETL过程具有反复执行和周期性执行的特点,通过积累ETL过程的运行时数据,并对这些历史数据进行统计和分析,可以从更高的层面上、更全面地了解系统和业务趋势,发现潜在的问题,为性能调优提供依据。(4) 监视机制应当准确、高效,并尽量降低开销。对于复杂网络环境中的分布式数据集成系统,高效的监视消息传输方式(基于无连接传输协议)可能会降低监视消息的准确性。此外,监视活动会增加目标系统的开销。如何解决监视中可靠性与高效性之间的矛盾,减少监视活动对目标系统造成的开销,是需要重点研究的问题。目前,比较成熟的数据集成和ETL工具主要包括Informatica PowerCenter Administrator Guide, Informatica PowerCenter(Version 8.1.1). Infomatica Corp. ,IBM WebSphere DataStage IBM WebSphere DataStage. /software/cn/zseries/products/w/w_datastage.html,Oracle Warehouse Builder Oracle Warehouse Builder /technology/global/cn/software/products/warehouse/index.html,Microsoft SQL Server Integration Service Microsoft SQL Server Integration Service /sqlserver/2008/en/us/integration.aspx以及提供了开源版本的Talend Talend. /index.php。这些工具都支持可视化流程建模并提供了强大的ETL引擎。在监视方面,一般都提供了对ETL性能指标的监视和对加载数据的统计,部分产品提供了系统性能监视工具。OnceDI OnceDI. .是软件研究所自主研发的数据集成中间件,与其它商业数据集成工具不同,OnceDI不仅具有分布式的体系结构,而且支持广域网环境下的数据集成,但是目前OnceDI尚不具备系统监视能力。1.2 论文工作论文对复杂网络环境(广域网)中的分布式数据集成系统的监视问题进行了研究,对如何提高监视的准确性和高效性,并降低开销的问题进行了深入思考。(1) 论文在对数据集成系统进行分析的基础上,总结了数据集成系统的监视需求,指出了复杂网络环境中分布式数据集成系统监视中所存在的信息传输不可靠和监视开销高的问题,确定了ETL运行时的监视、系统状态和性能监视、客户端监视信息的获取、监视数据的统计四个方面的研究内容。(2) 论文接下来针对这四个方面的内容展开了研究:a) 在ETL运行时监视方面,论文首先根据ETL运行时可能出现的状态和行为建立了监视事件模型,随后提出了一种通过模型匹配来对监视事件进行还原的方法,在保持高效性的同时,在一定程度上解决了不可靠的传输环境中监视事件丢失和乱序问题。在此基础上,提出了关键事件捎带和校验技术,通过在监视事件模型中定义关键事件,并采用由关键事件捎带或校验非关键事件的方法,提高了监视的准确性,并可以降低监视开销。b) 在系统状态和性能监视方面,论文采用基于心跳的分布式服务器状态监视方法,通过维护服务器对象映射表中结点的顺序,实现仅扫描表头结点就能完成服务器状态的维护工作;c) 在客户端监视信息的获取方面,论文通过对客户端的监视请求进行最小化处理、批处理和使用线程池技术,降低了客户端监视系统的开销;通过将请求、命令、执行体进行分离,使系统易于扩展。d) 在监视数据的统计方面,论文对常用的数据集成统计指标进行了归纳,并允许自定义统计指标,有助于全面了解数据集成系统的性能变化和活动趋势。(3) 在上述研究的基础上,论文基于OnceDI数据集成中间件,设计和实现了分布式数据集成监视系统,能够在复杂网络环境下,进行可靠、高效、低开销的系统监视,同时能够对监视数据进行统计。1.3 论文组织论文的后续章节按以下方式组织:第二章介绍了数据集成的相关概念,归纳了数据集成监视问题的主要需求,分析了分布式数据集成的特点以及复杂网络环境下分布式数据集成系统监视所面临的挑战。第三章围绕ETL过程运行时监视、系统状态和性能监视、客户端监视信息的获取、监视数据的统计四个方面展开研究。介绍了基于监视事件模型的ETL运行时监视技术、改进的基于心跳机制的系统状态和性能监视方法、易于扩展的客户端监视信息获取方法,并归纳了常用的监视数据统计指标。第四章给出了基于数据集成中间件OnceDI的监视系统设计与实现,详细介绍了监视系统的体系结构、主要模块的实现方法以及使用的设计模式。第五章对全文进行总结,并对未来工作进行展望。第二章 数据集成及其监视相关技术 本章首先介绍数据集成相关概念、技术,随后总结数据集成的监视需求,分析复杂网络下分布式数据集成监视所面临的问题,最后介绍相关工作。2.1 数据集成和ETL过程简介(1) 数据集成数据集成是将不同来源与格式的数据在逻辑上或物理上进行集成的过程 1.Lenzerini, M. Data integration: A theoretical perspective. 2002: ACM.。数据集成的主要作用是在企业应用中处理和管理分布的数据资源,为上层应用提供一致和高质量的可用数据,在企业应用集成中发挥着越来越重要的作用。数据集成的主要方法包括联邦数据库、数据仓库和数据集成中间件三种。l 联邦数据库(Federated Databases)联邦数据库 A.P. Sheth, J. A. Larson. Federated database systems for managing distributed, heterogeneous, and autonomous databases J. ACM Computing Surveys, 1990, 22(3): 183-236.是是早期采用的模式集成方法,按照集成度可以分为紧耦合和松耦合的两种 2.Convey, C., O. Karpenko, and N. Tatbul, Data Integration Services, Citeseer.。紧耦合的联邦数据库使用统一的全局模式,将各数据源的数据模式映射到全局数据模式上,从而解决数据源之间的异构性。这种方法集成度高,用户参与少,缺点是构建全局模式的算法复杂,扩展性差。松耦合的联邦数据库没有全局模式,提供统一的查询语言。这种方法不需要维护全局模式,自治性较好,缺点是用户需要自己解决异构性问题。l 数据仓库(Data Warehouses)数据仓库 3.Chaudhuri, S. and U. Dayal, An overview of data warehousing and OLAP technology. ACM Sigmod record, 1997. 26(1): p. 65-74.采用数据复制方法,即将各个数据源的数据复制到与其相关的其它数据源上,并维护数据源整体上的数据一致性。数据仓库方法将各个数据源的数据都复制到数据仓库,用户直接访问数据仓库。这种方法提高了系统处理用户请求的效率,但是数据复制通常存在延时,也难以保证数据源之间的数据的实时一致性。l 数据集成中间件(Data Integration Middleware)数据集成中间件 W. H. Inmon, 孟小峰,周龙骧,王珊. 数据库技术发展趋势J. 软件学报,2004,15(2):1822-1836.是一种轻量级的数据集成方案,采用模式集成方法,能够灵活地完成绝大部分的数据集成工作。数据集成中间件位于异构数据源系统(数据层)和应用程序(应用层)之间,向下协调各数据源系统,向上为访问集成数据的应用提供统一数据模式和数据访问的通用接口。基于中间件的数据集成必须能够实现数据的抽取、传输/转换、加载等操作。与其它数据集成方案相比,数据集成中间件虽然没有完成数据集成的全部工作,但是实现了数据集成中的主要工作,即跨数据源的数据抽取、转换和装载。采用中间件的方式构建数据集成系统,具有支持多种模式的集成、灵活的元数据管理和灵活定义实时集成策略等特点,不仅能够集成结构化的数据源信息,还可以集成半结构化或非结构化数据源中的信息,在企业应用中具有更好适应性。典型的基于中间件的数据集成系统主要包括中间件和包装器,如图2-110,其中每个数据源对应一个包装器,中间件通过包装器和各个数据源交互。用户在全局数据模式的基础上向中间件发出查询请求。中间件处理用户请求,将其转换成各个数据源能够处理的子查询请求,并对此过程进行优化,以提高查询处理的并发性,减少响应时间。包装器对特定数据源进行了封装,将其数据模型转换为系统所采用的通用模型,并提供一致的访问机制。中间件将各个子查询请求发送给包装器,由包装器来和其封装的数据源交互,执行子查询请求,并将结果返回给中间件 陈跃国,王京春. 数据集成综述. 计算机科学, 2004, 31(5): 48-50.。包装器包装器中间件数据源元数据数据源图2-1 数据集成中间件的体系结构(2) ETL过程ETL(Extract,Transform,Load)是将数据从各个源端数据源中抽取出来,根据一定规则进行清洗和转换,最终加载到目的端数据源的过程 4.Vassiliadis, P., et al., : towards the modeling, design, control and execution of ETL processes. Information Systems, 2001. 26(8): p. 537-561. 5.Vassiliadis, P., A. Simitsis, and S. Skiadopoulos. Conceptual modeling for ETL processes. 2002: ACM.,是实施数据集成的核心。传统的ETL工具服务于数据仓库,从各种不同的数据源中抽取数据,经过清理、转换、集成、聚集等处理,再将产生的决策数据加载到数据仓库中。随着企业信息系统日益复杂,对企业联邦式数据库的研究和发展和轻量级的数据集成中间件的出现,ETL工具不仅仅局限于构建数据仓库,其应用范围更加广泛,主要有以下几个方面:l 建立起源端数据源与目的端数据源之间的联系,确保新的数据能够不断地加入到目的端数据源中,以反映最新的业务动态。l 屏蔽数据源之间的异构性和复杂的业务逻辑,是数据交换与集成的重要手段。l 提供数据转换功能,解决数据模式的差异性,为基于数据集成的应用提供统一的数据接口。典型的ETL过程包括数据抽取、数据转换、数据加载三个步骤。其中数据抽取是将数据从各种原始的业务系统中读取出来,是其它工作的前提。数据抽取主要有全量抽取和增量抽取两种方式,其中全量抽取是将数据源中的数据原封不动地提取出来,转换成ETL工具可以识别的格式;增量抽取则只提取自上次抽取以来新增或修改的数据,是使用较为广泛的数据抽取方式。数据转换是按照预先设计好的规则将抽取步骤得到的数据进行计算、合并、拆分等转换,使得符合目的端数据源的模式要求。数据加载是将转换和加工后的数据装载到目的数据源中,对于装载过程中出现的数据冲突,按照指定的冲突消解策略进行解决。ETL过程由元数据驱动,元数据描述了数据源、模式、策略、规则等信息。在数据抽取和加载的过程中,需要通过数据接口与各类数据源进行交互,实现数据的获取和载入。由于ETL工具的作用是进行异构数据源的数据集成,所以对数据源的兼容程度是一项重要的衡量指标。目前很多ETL工具都采用了数据源适配器的方式,这种方式灵活、方便扩展。(3) 分布式数据集成系统分布式数据集成系统由多个服务器结点共同组成,目前存在两种类型的分布式数据集成系统:一种类型为将数据集成系统中的各种服务(如数据集成服务、元数据服务、web服务等)分别部署在不同的服务器结点上,或者将数据集成服务器结点组成网格,由负载均衡器根据各结点的负载状况将数据集成中的子任务动态地分配到不同的结点。这种分布式架构能够提高系统的可伸缩性和性能。这种类型的分布式数据集成系统一般部署在局域网中,需要使用其它工具才能完成远程数据传输,典型的实例为Informatica PowerCenter2。另一种类型的分布式数据集成系统由多个数据集成服务器和一个中心控制服务器组成,各个数据集成服务器独立自治。数据集成过程按照抽取、传输、转换、加载等子任务进行分割,每个子任务固定由某个数据集成服务器完成,中心控制服务器负责对各个数据集成服务器结点进行进程级的管理和调度。这种类型的分布式数据集成系统能够分布在广域网中,能够安全有效地进行远程数据传输,典型的实例为OnceDI。与上一种分布式数据集成系统相比,这种类型的分布式数据集成系统的运行环境更为复杂,其监视问题不仅需要考虑功能方面的需求,也需要考虑性能方面的要求,我们下面将重点对第二种类型的分布式数据集成系统进行研究。2.2 数据集成的监视需求监视系统需要收集计算资源在执行过程中的信息,通过这些信息来了解被监视系统的运行状态,对系统进行配置和管理,从而保证系统正常和高效运行。 Ralph Kimball, Joe Caserta. The Data Warehouse ETL Toolkit, Practical Techniques for Extracting, Cleaning, Conforming, and Delivering DataM. Wiley, 2004指出,对于数据集成的监视系统,监视对象主要包括ETL运行时的状态和行为、系统状态和性能两类,除此之外,监视得到的重要数据指标应该被存储下来,以进行一段时间内的统计和分析。(1) ETL运行时监视ETL运行时监视是数据集成监视的核心问题。由于企业信息系统中数据量庞大,ETL过程运行时间往往比较长,所以对ETL运行时进行监视,收集ETL的运行状态信息并计算性能指标,对于及时掌握数据集成过程的进度,并及时发现和解决问题是非常重要的,对于提升用户体验也很有帮助。很多数据集成系统都提供了流程,流程是一组ETL过程按照一定的顺序连接起来的逻辑组合,使用流程可以自动化地批量执行ETL操作,流程中的ETL之间具有顺序依赖或结果依赖关系,对流程的监视问题可以分解为对若干ETL过程的监视问题。ETL性能指标能够反映出ETL当前的运行性能情况,16归纳出的ETL性能指标包括:ETL各个阶段的耗时、抽取/加载的数据量(行)、每秒抽取/加载的行数,每秒处理的行数,吞吐率,以及运行结果等。l 各阶段的耗时:各阶段结束时间与开始时间之差,单位为秒。l 抽取/加载的数据量:从数据源抽取或加载到数据源中的数据量,以行为单位。l 每秒抽取/加载的行数:抽取/加载的数据量(行)除以抽取/加载的耗时。l 每秒处理的行数:在增量模式下,为每秒抽取的数据除以抽取数据的耗时;在非增量模式下,为每秒加载的行数除以加载数据的耗时。l 吞吐率:每秒处理的行数乘以每行的字节数。l 运行结果:ETL是否执行成功。除了计算ETL性能指标,ETL运行时监视还应该能够及时反映ETL的运行状态和行为,帮助用户掌握ETL运行状况和清晰定位错误。笼统来说,运行状态是指ETL过程是否正在执行,是否发生了错误。不同的数据集成系统对运行状态的划分各不相同,在OnceDI中,运行状态包括新建、就绪、正在执行、挂起、错误等。由于ETL过程中包含了数据抽取、转换、传输、加载等子任务,ETL执行期间需要与服务器、数据源、数据转换组件、数据传输信道等众多组件进行交互,其执行情况与运行环境密切相关,因此,为了能够更加准确地反映ETL过程的运行情况,需要从更细的粒度上收集ETL过程运行时的行为信息,如任务调度情况、连接服务器和数据源情况、抽取或加载数据效率、进行数据转换、数据传输进度等。(2) 系统状态和性能监视在分布式数据集成系统中,数据集成服务器的状态和性能会对ETL的性能产生直接影响,主要体现在如下两个方面:1) 服务器状态分布式数据集成系统是由多台数据集成服务器和其它服务器构成的,这些服务器独立自治,并可能位于互联网的不同位置,可能存在服务器未启动、已停止、死机或服务器之间信道故障等问题,导致ETL无法执行。因此,需要对系统中所有服务器的状态进行监视,及时发现出现问题的服务器,做出补救措施。2) 服务器性能当ETL过程执行时,对服务器进程的性能指标进行监视有助于发现系统瓶颈,主要需要关注如下几个性能指标:l CPU占用率:若发现当ETL执行时,CPU经常满负荷运行,说明需要增强服务器的处理器能力来获得更好的ETL性能。l 内存分配情况:分配给执行ETL进程的内存大小会对ETL的数据转换效率产生重要影响,可以通过查看内存和虚拟内存的大小以及缺页中断数来判断内存是否分配不足。当出现内存不足时,增加内存配给将能够提升ETL执行性能。l 磁盘读写:ETL执行引擎使用文件来保存临时数据,频繁的文件读写可能会导致磁盘竞争,可以对磁盘的读写速率、忙碌时间比进行监视。(3) 监视数据的统计在数据集成系统中,用户往往会关心一段时间内数据集成过程的执行情况。此外,由于ETL过程具有反复执行和周期性执行的特点,记录和维护ETL的执行历史,并对历史数据进行统计,有助于纵向分析ETL过程的运行情况,发现业务活动趋势,定位潜在的问题,也便于在系统层次上把握各个ETL过程的行为。例如,通过统计ETL过程所处理的数据量,可以发现业务系统中的数据变化规律或数据量的突变,辅助决策。再如,通过统计ETL过程运行时的平均吞吐率,可以发现吞吐率异常的ETL过程。出现吞吐率异常的原因可能是数据源吞吐数据速率降低,或数据集成服务器负载过重,或数据通信速率降低,结合系统性能等指标,可以辅助进行问题定位,并通过调整系统配置,来达到优化系统的目的。2.3 复杂网络环境中分布式数据集成系统的监视问题对于复杂网络环境下的分布式数据集成系统进行监视,既要满足2.2节所述的数据集成监视需求,还要考虑可靠性问题和监视开销问题。(1) 可靠性问题在分布式数据集成系统中,从各个服务器上收集到的监视信息需要通过网络汇总到中心服务器进行分析。出于性能方面的考虑,无连接的不可靠传输协议(UDP协议)是分布式系统传输监视消息的良好选择 6.Stelling, P., et al., A fault detection service for wide area distributed computations. Cluster Computing, 1999. 2(2): p. 117-128. Newman, H., et al., Monalisa: A distributed monitoring service architecture. Arxiv preprint cs/0306096, 2003. M. Marzolla. A performance monitoring system for large computing clusters. In Proceedings: EleventhEuromicro Conference on Distributed and Network-Based Processing, Genova, Italy, 2003, pp. 393400.。与面向连接的TCP协议相比,UDP协议具有以下优点:l 开销低。使用TCP协议时需要先建立连接,这会增加发送方和接收方的开销;而UDP是无连接协议,没有连接上的开销,这样可以增强基于UDP协议的应用的可伸缩性。l 延迟小。为保证可靠性,TCP需要进行顺序控制、流控制等,这会增加通信延迟,相比之下UDP协议则更为高效。但是,在复杂的网络环境下,基于UDP的数据传输可能出现数据包丢失、乱序、错误等问题。UDP数据报的故障模型如下 G.F. Coulouris, J. Dollimore, T. Kindberg. Distributed Systems: Concepts and Design. Wiley Longman, 2005.:l 遗漏故障:消息可能会丢失。l 时序故障:消息没有按照发送方顺序到达。l 随机故障:通信通道的随机故障表现为消息内容可能被损坏或多次发送消息。在分布式数据集成系统中,很多情况下,监视信息是中心服务器了解其它服务器状况的唯一途径,需要保证监视信息的准确性和有效性,但是,这与监视固有的及时性与高效性的要求产生了矛盾。因此,需要研究一种能够同时保证高效性和可靠性的监视方法。(2) 监视开销问题监视开销是衡量监视系统的重要指标之一 7.Massie, M., B. Chun, and D. Culler, The ganglia distributed monitoring system: design, implementation, and experience. Parallel Computing, 2004. 30(7): p. 817-840.。监视开销主要包括监视信息的收集、管理开销和监视信息的通信开销两个方面:1) 监视信息的收集、管理。细粒度地收集监视信息可以更准确、全面地把握系统的状态和行为,但是频繁的收集行为将对目标系统造成较大的影响,而且对大量监视数据的管理也会造成系统开销;粗粒度信息收集则损失了监视的精确性和全面性。对于监视粒度的设定,常见的方法是允许用户根据需要自行配置 8.Ferreto, T., C. De Rose, and L. De Rose. RVision: An open and high configurable tool for cluster monitoring. 2002: Published by the IEEE Computer Society. 。2) 通信开销。通信开销包括监视信息的发送、传输、接收等开销,监视客户端与服务器之间的监视请求和响应开销等。虽然无法避免监视行为对目标系统性能产生的影响,但是以较低的系统开销获得最大化、最重要的监视信息是监视系统的重要目标,如何降低监视相关开销是值得研究的问题。2.4 相关工作(1) 分布式系统的监视分布式系统的监视是收集、处理和展示并行执行进程的信息,从而掌握系统的状态、行为和资源调度情况,对系统进行调试、测试和性能评估,辅助做出正确的管理决策 9.Joyce, J., et al., Monitoring distributed systems. ACM Transactions on Computer Systems (TOCS), 1987. 5(2): p. 121-150. 10.Kamoshida, Y. and K. Taura. Scalable Data Gathering for Real-time Monitoring Systems on Distributed Computing. 2008: IEEE Computer Society.。对于分布式系统的监视,有如几个方面的下问题需要考虑 AOCMS: 11.Xue, Z., X. Dong, and W. Wu. Aocms: An adaptive and scalable monitoring system for large-scale clusters. 2006.:l 可伸缩性(Scalability):能够高效地监视不同规模的系统,当结点数量或资源数量激增时,仍能保持其有效性。l 监视开销(Overhead):监视行为不能占用过多的计算资源(CPU,内存,I/O,网络带宽)。l 可扩展性(Extensibility):具有良好的扩展机制,能够容易地对新增对象进行监视。l 可管理性(Manageability):能够方便进行监视管理,并能够对监视的指标、对象、行为等进行配置。事件监视机制是分布式系统监视中常用的方法,事件包含了与被监视对象相关的时间戳等数据,具有特定的结构,事件产生后将被发送给所有的事件订阅者。事件监视机制在网格和集群管理中得到了广泛的应用18 12.Zanikolas, S. and R. Sakellariou, A taxonomy of grid monitoring systems. Future Generation Computer Systems, 2005. 21(1): p. 163-188. 13.Sottile, M. and R. Minnich, Supermon: A high-speed cluster monitoring system. 2002.。 14.Mansouri-Samani, M. and M. Sloman, Monitoring distributed systems. IEEE network, 1993. 7(6): p. 20-30.提出了一种通用监视模型,并提供了分布式事件监视服务和通用事件监视语言(GEM)。心跳机制17是一种特殊的事件监视方法,这种方法是让各个服务器结点周期性地向中心控制器发送包含了自身状态的消息,中心控制器通过这些心跳信息,能够探测到出现故障的结点。该方法是对分布式系统状态进行监视的有效手段。OrWell R. Weinreich, W. Kurchl. Dynamic Analysis of Distributed Object-Oriented Applications, Proc. Hawaii International Conference On System Sciences, Kona, Hawaii, January 6-9, 1997.是一个面向CORBA分布式应用的监视环境,它使用结构化的事件类将系统中的交互通知给观察者(Observers),提供对被监视系统的细节分析。Wash B. Sridharan, S. Mundkur, A.P. Mathur. On Building Non-intrusive Performance Instrumentation Blocks for CORBA-based Distributed System, 4th IEEE International Computer Performance and Dependiability Symposium, Chicago, 2000. B. Sridharan, S. Mundkur, A.P. Mathur. Non-intrusive Testing, Monitoring and Control of Distributed ORBA Objects. TOOLS Europe 2000, St. Malo, France, 2000. 是对CORBA分布式系统进行测试、监视和控制的系统,它使用CORBA拦截器捕获运行时信息。JEWEL F. Lange, R. Kroeger, M. Gergeleit. JEWEL: Design and Measurement of a Distributed Measurement System. IEEE Transactions on Parallel and Distributed Systems, 1992.是一个面向分布式应用的监视环境,但它需要专门的外部监视传感器以及相应的内部钩子,而且为避免监视传感器影响系统行为,需要隔离物理网络。Richmond M. Richmond, J. Noble. Reflections on Remote Reflection. Australasian Computer Science Confernce(ACSC2001). Brisbane, 2001. M. Richmond. Flexible Migration Support for Component Frameworks. Doctoral Dissertation, Department of Computing, Macquarie University, 2003.等提出使用远程反射技术监视、调试和可视化分布式Java应用。使用远程反射,可以从一个中心位置监视分布式系统,为企业应用提供一个集中式管理模型。通过反射技术可以发现应用中的运行时结构和行为,因而能够动态地改变这些应用和行为。Deussen P. H. Deussen, G
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit6-C-Story-time公开课教案【河南郑州】
- 2025年空气风淋室项目可行性研究报告
- 水循环利用技术在喷泉中的应用-全面剖析
- 游戏内容国际化评估-全面剖析
- 热电联供系统优化设计方法-全面剖析
- 扁桃体癌多学科综合治疗-全面剖析
- 智能化建筑节能管理-全面剖析
- 植物油油脚资源化利用-全面剖析
- AI写作辅助工具的前景-全面剖析
- 2021-2022学年辽宁省朝阳市高中部分学生高二下学期开学抽测语文试题
- 19S406建筑排水管道安装-塑料管道
- KA-T 20.1-2024 非煤矿山建设项目安全设施设计编写提纲 第1部分:金属非金属地下矿山建设项目安全设施设计编写提纲
- 绿色生活实践
- (2024年)硫化氢安全培训课件
- 《聚焦超声治疗》课件
- 2023-2024学年高一下学期第一次月考(湘教版2019)地理试题(解析版)
- 妇科炎症介绍演示培训课件
- 如康家园管理制度
- 蓄水池工程施工工艺与技术措施
- 2022年4月自考00149国际贸易理论与实务试题及答案含评分标准
- 大数据驱动的药物研发
评论
0/150
提交评论