一种环形分布式etl及其执行引擎的研究(仅供参考)

上传人:cjc****537 文档编号:47349860 上传时间:2018-07-01 格式:DOC 页数:8 大小:103.50KB
返回 下载 相关 举报
一种环形分布式etl及其执行引擎的研究(仅供参考)_第1页
第1页 / 共8页
一种环形分布式etl及其执行引擎的研究(仅供参考)_第2页
第2页 / 共8页
一种环形分布式etl及其执行引擎的研究(仅供参考)_第3页
第3页 / 共8页
一种环形分布式etl及其执行引擎的研究(仅供参考)_第4页
第4页 / 共8页
一种环形分布式etl及其执行引擎的研究(仅供参考)_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《一种环形分布式etl及其执行引擎的研究(仅供参考)》由会员分享,可在线阅读,更多相关《一种环形分布式etl及其执行引擎的研究(仅供参考)(8页珍藏版)》请在金锄头文库上搜索。

1、一种环形分布式一种环形分布式 ETLETL 及其执行引擎的研究(仅供参考)及其执行引擎的研究(仅供参考) 陈雪峰,郭朝珍 (福州大学 数学与计算机科学学院,福建 福州 350108) 摘要: ETL 是构建数据仓库的重要工具.本文所研究的环形计算服务器的分布式 ETL 工具, 把分布在网络上的各个计算服务器在逻辑层上构建成环来进行分布式计算分布式计算以提高 ETL 工具 的总体性能.系统采用设置三个类型的内存缓冲区和各执行引擎组件的多线程流水线运行方 式来提高分布 ETL 工具的执行速度,同时利用内存数据库的规则解析提高分布式 ETL 的复杂 规则解析能力.本文最后还介绍了环形分布式 ETL

2、工具的整个系统实现架构,及系统的性能 测试. 关键词: 分布式计算分布式计算 ETL 执行引擎 AgentThe Research on a circular distributed ETL and its Execution Engine Chen Xue-feng, Guo Chao-zhen (College of Mathematics and Computer Science, FuZhou University, FuZhou 350108, Chins) Abstract: ETL is an important tool in the process of building a

3、 data warehouse. This paper describes a circular distributed ETL tool, which uses the distributed computing server machines to construct a ring in the logical layer, so as to improve the performance of the ETL tool. For the purpose of improving the execution speed of the ETL tool, this system adopts

4、 the design of memory buffer and the multi-thread modalities. Further more, the applied of rule analytical engine,which is based on the Memory Database enhances the rule analytical capability. Finally, this paper introduces the architecture of this circular distributed ETL tool, and the Performance

5、Testing of this system. Key words: Distributed computing, ETL, Executing Engine, Agent 1. 引言 数据仓库为集成企业孤岛式的信息和辅助企业决策提供了解决方案.ETL(抽取、转换、加载)是 为数据仓库过程中实现数据集成、转换及迁移的一个重要工具.ETL 工具能够实现从许多异 构系统中抽取数据,并对其进行高效的转换,把面向日常业务的操作型数据转化为面向决策 型的数据仓库存储的数据.在数据仓库项目中,ETL 会占其整个项目开发时间的 70%3.国内 这几年来,数据仓库渐渐在电信、金融、企业等各个行业普及开来.虽然

6、广为传颂的成功案 例不多,但相当多项目都或多或少解决了一些需求,据统计这些项目的整个数据仓库预算的 1/3 以上用于了 ETL 工具的开发或者购买、实施当中4.针对这些数据仓库项目分析,问题 集中在 ETL 工具的性能、代价、复杂性及其可用性和可靠性上. 分布式 ETL 工具是一项继承性的研究工作,针对商用 ETL 工具的高成本我们在前期就已经提 出利用分布式处理来解决集中式 ETL 所需要高性能服务器、高硬件成本等问题25.本文 所提出的基于环形计算服务器的网络架构模型,把物理上分布在网络中的多个具有通信能力 计算服务器节点通过实施“环形“协议规则,彼此之间互相通信在逻辑层上形成一个环,对外

7、 提供计算服务.环形的逻辑拓扑结构,有效的解决了项目前期提到的分布式计算分布式计算中的主控服 务器瓶颈问题,采用这种模型同时也简化了分布式 ETL 工具中的负载平衡的工作,提高系统 的容错能力和可扩展性. 第二,系统通过设置内存缓冲区和执行引擎各个组件的多线程运行提高 ETL 作业的执行速度.同 时利用基于内存数据库规则解析引擎,大大提高了对 ETL 的复杂规则的解析能力. 2. 基于环形计算服务器的通信架构 2.1. 分布式计算分布式计算技术分布式计算分布式计算通常指借助计算机网络将分布上不同地点的计算实体组织在一起,组成一台虚拟 的超级计算机,并利用它们的空闲时间和存储空间来完成单台计算机

8、无法完成或需要超高性 能计算机才能完成的大任务的求解过程5.随着计算机技术、网络通信技术的快速发展,出 现了大量的分布式计算分布式计算的技术,如分布式对象技术、中间件技术、网格计算、Web Service 技术、多 Agent、移动 Agent 等通信技术6.Agent 是指在一定的环境下具有自主性、交互 性、主动性、社会性等特征的计算实体,而且 Agent 之间可以在网络环境中相互通信和协作,共 同完成某一任务7,8. 在分布式通信上本文采用多 Agent 通信技术,利用 JADE 这一 Agent 开发平台来实现整个分 布 ETL 的通信机制. 2.2. 环形计算服务器 本文提出一种基于环

9、形的分布式计算分布式计算服务器网络架构模型 RCS(Ring Calculation Server),把 物理上分布在网络中的多个具有通信能力计算服务节点通过实施“环形“规则,彼此之间互相 通信在逻辑层上形成一个环,各个计算服务节点能十分容易的找到其相邻的计算节点.在客 户端看来是由这个环形网对外提供计算服务.该模型可用一个逻辑的多元组来表示,如下:RCS = (Pi, CSj, Re, Ac, R) CSj =(Lj, CSj-1, CSj+1) 其中( Pi=PM|PC; j=1.n ) Pi :(Protocol), 表示环形架构的各种协议.主要包括两大类的协议.一类是:维护环形架构 的

10、协议 PM,即针对组成环形计算服务器的各个计算节点的管理协议.它包括初始化环协议, 增删环节点协议,异常检测和修复环协议.每个协议都对应一套相应的 Action 动作,即元组 中的 Ac.另一类是:环形计算服务器与客户端之间以及环内各计算节点在作业调度时的通信 协议,以 PC 表示. CSj: (Calculation Server), 表示加入到环中的各个计算节点,即安装了 ETL 服务端软件 的计算机.每个 CSj 由三元组组成(Lj, CSj-1, CSj+1),其中 CSj-1, CSj+1 是使当前结点在 环上的前序和后序计算节点.除此之外,每个节点还必须提供本节点的计算服务能力 L

11、j. Lj 也是由三元组(cpu, mem, job)来确定的.在实际运行过程中系统根据这三元组来综合考 察节点的负载信息,来进行作来分配.节点的计算服务能力按公式(2-1)来计算:(2-1) cpu、mem、job 分别表示 cpu 利用率、内存利用率和待执行作业个数, kcpu、 kmem、 kjob 表示 cpu 利用率、内存利用率和待执行作业个数的权重. Re: (Repository), 表示注册中心.每个计算节点 CSj 都要在 Re 上注册发布自己的信息同 时申请加入到逻辑计算环中.由注册中心的序号管理组件给当前新加入的计算节点分配序号 值,并维护各个节点之间的前后顺序信息. A

12、c: (Action), 这里的 Action 包括两个方面.一是,计算节点的动作,配合不同的协议各个 计算节点执行不同动作.如:加入环,退出环,信息传递,重新连接前序、后序节点等.二是,注 册中心的维护逻辑计算环的动作,如初始化环、异常侦听、异常修复. R:(Ring), 环是本通信架构的核心.R 是一个由 CS 节点组成的逻辑环,可表示 R=CS1CS2CS3CSn. CS1.在客户端看来是由这个环形网 R 对外提供计算服务.基于环形计算 服务器的网络架构模型如下图所示: 图中客户端是由多个安装了本系统客户端软件的客户机组成,注册中心 Re 是一台部署了 Agent 黄页服务的机器,同时维

13、护计算服务器的逻辑环信息(维护过程见 2.2.1).计算服务器 端就是采用上文提到采用 RCS 模型,把物理上分布在局域网中的多个具有通信能力 CSj 节点 通过 Pi 交互规则执行相应的 Ac 在逻辑层上形成一个环,由环形结构负责对多个分布节点之 间的协调和负载平衡及容错策略,保证分布式架构的高效性、可靠性和稳定性. 2.2.1 协议 PM-环形计算服务器构建和维护 下面将基于 PM 详细介绍环形计算服务器的网络架构设计模型的整个工作机制.PM 如前面所 述是维护环形分布式计算分布式计算服务架构的协议,其主要包括 3 种基本协议 InitP(Initialization protocol)初

14、始化环协议;ARP(Add or remove node protocol)增删 环节点协议;DRP(anomaly detection and repair protocol)异常检测和修复环协议. 1. 初始化构建环-IRP(Initialization protocol) 系统服务器端软件开启时,首先运行 Re(注册中心)组件,由 Re 的一个侦听 Ac 负责侦听是否 有计算服务节点 CS 要注册.初始时,R=,然后根据 InitP 协议来初始化构 R,流程如下: Step1: 当新的一个计算节点 CSj 开启运行时就必须先在 Re 注册一个黄页信息,即执行加入 申请 Ac(加入环的动作

15、). Step2: 由 Re 为每个新加入 CSj 分配一个区别于其它 CS 的编号 SCSj,并且按分配顺序把已 经分配出去的编号保存在一个 SerialNumbers 顺序表中. Step3: 若 R,转 step4.R=,说明当前 CS 是第一个加入到 R 中的节点,那么此 CSj 就成 为了 R 的头节点编号 SCSj=1.此时 j=1,CS1 的前序节点和后序节点都是 CS1 本身.为了明确 表示这种环形关系,R 可表示成 R=CS1 CS1. Step4: 搜索当前 R 中最近加入的一个 CS.如 R=CS1 CS 2 CS 3CS i CS 1,则根据搜索编 号 SCSi 从 S

16、erialNumbers 顺序表中很容易可以找到最近加入的一个节点是 CSi.设置 CSj 的前序节点为 CSi,后序节点为 CS1.同时断开 CSi 与 CS1 的连结,改 CSi 的后序节点为 CSj. 更新 R= CS1 CS 2 CS 3CS i CSjCS 1. (注意这里的编号 SCSj 只用于维护环信息,不用于客户端识别计算节点,客户端识别计算服 务节点是通过节点的 IP 和 Agent 的标识 AID.) 2. 增加删除环节点协议-ARP (Add or remove node protocol) 增加新节点的流程与初始化环时进行节点的添加基本上相同.下面我们主要对计算服务节点 CSi 申请退出 R 时的处理流程.首先,我们要明确申请退出 CSi 的节点状态.节点状态有 4 种,一 是节点上的无任何正在执行或已分配等待执行的数据集成作业,我们用 StateCSi=1 表示;第 二种是节点无正执行的作业但有已分配等待执行的数据集成作业, StateCSi=2;第三种是有 正在执行的作业无已分配等待执行

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 经济/贸易/财会 > 经济学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号