系统架构中的相关概念定义如下。 定义1 元服务。功能模块提供完整且单一的数据处理服务的抽象描述。 定义2 服务组件。元服务的具体对象实现,以执行程序形式发布。每个服务组件都对应一个唯一的GUI功能模块,供
系统架构中的相关概念定义如下。
定义1 元服务。功能模块提供完整且单一的数据处理服务的抽象描述。
定义2 服务组件。元服务的具体对象实现,以执行程序形式发布。每个服务组件都对应一个唯一的GUI功能模块,供用户创建作业时操作。
定义3 命名服务器。记录系统当前所有发布的服务组件信息。
1.2 系统服务流程体系
系统整体服务流程体系如图2所示:用户请求的计算任务使用作业文件描述,作业根据约定的语法保存了计算任务所需的功能模块服务组件、业务逻辑等信息。用户以作业的方式向私有云系统平台请求计算服务。
云服务平台对用户请求的作业进行语义解析,通过作业中的业务逻辑构建处理工作流程。处理工作流程按业务逻辑分步执行。每一步的处理对应一个元服务,由数据流驱动服务组件执行,整个业务处理就是一系列的元服务组合。根据作业业务逻辑中各处理功能模块数据流的依赖关系,数据流可以线性或并发地驱动服务。系统平台根据用户提交作业业务的不同动态构建处理工作流程,选择不同的功能模块服务组件进行业务计算[11]。
处理流程步之间通过数据流关联,当前一个处理流程步的数据处理完成后驱动与之关联的下一处理流程步。对于运算数据量较大的处理流程步,引入MapReduce[12-13]的并行处理框架进行数据的并行处理。基于网络文件系统(Network File System, NFS)协议的磁盘阵列,具有共享存储的特点,所有节点均可透明高速访问磁盘阵列上的数据文件[14]。所以在进行MapReduce运算时只需对数据文件进行逻辑划分,而不需将数据真正划分成独立的数据块,每个split只是指向数据文件的位置偏移。
2 私有云系统方案实现
系统根据节点处理功能的不同将节点分为三类:客户端节点(Client Node)、服务器节点(Server Node)和计算节点(Compute Node)。系统平台通过服务器与客户端、计算节点间的通信交互提供完整的作业执行解决方案。作业执行解决方案细化来讲包括:作业创建、作业提交调度、作业执行反馈,以及容错机制与文件管理等辅助功能。
2.1 系统作业执行解决方案
客户端用户创建一个作业请求,提交给服务器,服务器为该作业分配一个作业ID,记录该作业的相关属性,存放到作业队列中。数据流驱动引擎JobControl通过对作业文件进行语义解析构建作业的数据工作流以及对应的服务组合。用原始输入数据驱动数据工作流的开始(向JobTracker请求服务),JobTracker向命名服务器匹配该服务后交由任务调度器调度到合适计算节点执行。计算节点TaskTracker守护程序收到任务请求后,启动子进程运行该服务进行数据处理,执行完毕后TaskTracker向JobTracker报告完成状态,JobTracker更新作业流程状态。同时触发JobControl根据当前处理流程步的输出数据(作为下一处理流程步的数据输入)驱动下一处理流程步。作业执行解决方案如图3所示。2.2 作业创建
用户请求的计算任务以作业的方式进行描述,保存为可扩展标记语言(Extensible Markup Language, XML)格式。作业文件中按约定语法保存了计算任务所需的功能模块服务组
件及服务组件的相关属性信息。对于用户而言,每个功能模块服务组件对应一个可操作的GUI模块。GUI的输入端口关联输入数据文件,输出端口关联输出数据文件。用户根据业务需求选择相应的GUI模块,按模块间数据依赖关系将选择的GUI模块连接成一个有向无环图,设置好各模块的输入输出等属性参数之后保存,这样就创建了一个作业处理文件。
2.3 作业提交调度
完成作业的创建之后,用户将作业提交给服务器,服务器为该作业分配ID并记录其相关属性。JobControl负责对作业文件进行语义解析构建作业处理的数据工作流,并以原始输入数据驱动第一个功能模块。JobControl向JobTracker发送服务请求,请求中包含了当前处理模块的参数配置信息(如输入输出数据文件名等)。JobTracker收到服务请求后,向命名服务器查询该服务,若该服务存在则通过任务调度器调度到合适计算节点执行。JobControl与JobTracker间的交互如图5所示。
对于某些数据计算量非常大、处理时间相当长的处理流程,系统引入了云计算MapReduce的思想,对数据文件进行逻辑分割,通过调度到多个节点并行处理来缩短运算时间。各节点数据处理算法一致,只是处理数据不同。关于Map节点个数以及数据分割策略由用户在作业文件中描述。图6所示为单个数据处理流程3个节点的MapReduce。
2.4 作业执行反馈
每个计算节点上都有一个TaskTracker守护进程,负责接收来自服务器的任务运行请求,启动相应服务程序执行计算。计算任务完成后,TaskTracker向服务器反馈任务运行完成状态。服务器端更新作业当前状态,根据完成的数据驱动下一个处理流程步。
2.5 容错机制与文件管理
云计算最大的特点是高可扩展性和鲁棒性,所以私有云系统平台的容错机制也显得相当重要。系统以数据流为中心驱动作业处理流程,当计算节点故障时,可以根据作业当前运行的流程步骤,重新调度到其他节点恢复处理流程,而不用重启作业。而对于处理流程中的MapReduce过程,可以参照云计算中的MapReduce容错思想[16]。因为每个Map处理的数据都是独立互不相关的,这种解耦合性的处理,可以方便只恢复失效节点的Map工作,而不用重新开始所有的Map计算。服务器的容错机制可使用双机冗余备份来提供一定的抗灾性。
系统以数据流为中心驱动,所以在作业处理过程中会生成很多处理步的临时数据文件。这些临时数据文件的存在可以方便用户进行系统的调试和扩展;当某个计算节点故障时,系统可根据执行成功的处理步生成的临时数据文件,在另一可用节点上从当前处理步恢复处理流程。作业运行完成时,可能需要对这些临时数据文件进行保存或删除清理。因此系统有必要提供文件管理机制来管理这些临时数据文件。容错机制与文件管理机制等辅助功能大大提高了系统的稳健性与可靠性。
3 系统应用实例
3.1 应用平台环境
硬件环境 测试集群系统共包括6台惠普ProLiant SL390服务器节点;每个节点配置2颗Intel E5640系列CPU,每个CPU的核心数量为4;一块本地160GB硬盘。其中一台SL390兼作为集群的管理节点和计算节点,另外5台仅仅作为计算节点。 (责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)
顶一下
(0)
0%
踩一下
(0)
0%
版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.