`
ilovejavaforever
  • 浏览: 165048 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多

 

       N久没写东西了,贴下最近项目我那块的系统设计,主要是一个任务体系,用于执行可动态配置的不同算法。其中算法均运行于hadoop环境。任务框架的要求是,每种算法可配置,算法各个步骤可配置,算法结果可校验,算法结果可保存。并且提供对算法执行过程的管理、监控、异常获取、异常重做。

 

整个体系分为两块,一块是算法调度,即为,动态控制算法执行时间,主要用quartz框架实现。一块为算法执行,主要是自己用线程池实现。

 

所有算法配置的信息,由用户(算法工程师)设定,通过页面设置后存入数据库。当算法被调度以后,交由执行模块去运算。其中,每个运算,都与DB在交互,将实时信息写入DB中。

 

      废话不多说,先上图:

 

架构中图

 

      图为执行模块的整体架构,总体上是一个生产者/消费者模式。其中所有执行的信息,均存在DB中。总共涉及到4个环境,DB + 应用 + 网关 + hadoop

 

      所有执行的step信息,都在DB中通过状态位来控制执行,具体表现为:waiting(等待执行)executing(执行中)exception(异常),over(正常执行结束)step会分为多个类型,比如:普通步骤类型、索引生成类型、校验类型等待。每个不同的类型会对应不同的task

 

      生产者的角色主要是PoolThread来扮演,PoolThread是一个不死轮询线程,每10s去轮询DB,将DB中所有等待执行的step信息获得。所有步骤获得后,都在TaskFactory中生产处对应的task。所有task,根据具体信息不同,通过RunnerFactory,分别注入对应的Runner之中。最终将所有的runner都放入线程池中运行。

    

      消费者的角色主要由线程池来扮演,ThreadPool获得runner以后,会按顺序执行Runnerbefore(),callTask(),after()。如果过程中出现任何异常,这会被handleException()捕获到。执行过程中执行状态,执行内容,执行结果都会实时刷新到DB中。以便监控、管理、重做。

    

其中,TaskRunner完全独立。Runner主要负责任务的流转。Runner中做前置后置通知,调用注入其中的task。运算什么样的内容,完全不关心。具体表现为,在before()中做校验,对执行内容加锁。在callTask()中调用task。在after()中,控制任务下一步流转到哪儿去。Task则相反,只负责执行具体内容,会由Task内部的execute()具体执行。Task只完成自己一个单独节点任务。既不关心上一步,也不关系下一步,流转等任何问题交由Runner负责。

类图过于复杂,不画了…….

 

     所有与hadoop的交互,都由一台独立的网关机器来交互。在此台网关上,启动了ThriftJetty的两个Server,提交job,操作hdfs等,均由Thrift来做。另外启了一个jettyServer,主要负责通过http请求,完成文件的操作。

 

      所有在云梯上的执行的m/rhive sql执行的结果,会根据DB中不同的配置,会将结果数据存在k-v系统 or 文件系统 or 索引中 or ……之中。

      
另外一个时间调度模块,下次再写了……

分享到:
评论

相关推荐

    Android框架体系架构.pdf

    Android框架体系架构是Android开发中的核心内容,涵盖了UI晋升、组件内核、IPC(Inter-Process Communication,进程间通信)以及数据持久化等关键知识点。本文将详细介绍这些知识,以此来深入理解Android平台的运作...

    Hadoop-体系架构(非常完整)

    MapReduce引擎是Hadoop体系架构的核心组件之一,它能够在整个集群上执行Map和Reduce任务并报告结果。MapReduce引擎由JobTracker和TaskTracker两部分组成。JobTracker负责将工作分发到离它所处理的数据尽可能近的位置...

    企业软件研发管理体系架构方案 P27.pptx

    企业软件研发管理体系架构方案 本资源摘要信息中,我们将对企业软件研发管理体系架构方案进行详细的解读和分析。该方案旨在帮助企业建立一个完善的软件研发管理体系,以提高研发效率、质量和创新能力。 一、研发...

    Z-Stack体系架构

    Z-Stack 体系架构包含了多个层次,这些层次共同构成了一个完整的无线网络解决方案,用于实现设备之间的高效、可靠通信。本文将深入探讨Z-Stack的各个组成部分,以及在ZMain.c中的主要函数及其功能。 Z-Stack 的关键...

    DB2与Oracle 体系架构

    标题:DB2与Oracle体系架构 描述:本文深入解析了IBM DB2与Oracle数据库系统在体系架构上的异同,旨在为数据库管理员、架构师及IT专业人员提供深度洞察,帮助理解两种主流数据库技术的核心差异。 ### 一、DB2与...

    工业互联网平台白皮书+体系架构

    "工业互联网平台白皮书+体系架构"旨在深入探讨这一领域的核心概念、体系结构以及在智能制造中的应用。 白皮书首先介绍了工业互联网的基本理念,即通过连接物理世界与数字世界,实现生产过程的高效优化、资源的优化...

    soar 一种通用智能体系架构

    ### SOAR:一种通用智能体系架构 #### 一、引言 SOAR(State Of Activation and Representation)是一种旨在模拟人类认知过程的通用智能体系架构。它最初由John Laird、Paul Rosenbloom和Allen Newell在20世纪80...

    ARM体系架构与编程

    ARM体系架构与编程是嵌入式系统开发领域中的核心内容,尤其对于初学者而言,理解这一主题至关重要。ARM(Advanced RISC Machines)架构是一种广泛应用于移动设备、物联网、服务器等领域的精简指令集计算机(RISC)...

    软件体系架构模式在J2EE中的应用

    在IT行业中,软件体系架构模式是构建复杂系统的基础,它为设计和开发提供了一套可重用的模板,能够帮助解决常见的设计问题并促进团队之间的沟通。本文将深入探讨软件体系架构模式在J2EE(Java 2 Platform, ...

    开放雾计算安全体系架构综述.docx

    ### 开放雾计算安全体系架构综述 #### 一、引言 随着信息技术的迅猛发展,下一代移动网络(NGMN)、物联网(IoT)、边缘计算、雾计算及云计算等新兴技术正引领着全球信息服务基础设施的历史性变革。这些技术不仅极大地...

    云计算基础设施和体系架构指南 中英文版 pdf

    云计算基础设施和体系架构是现代信息技术领域中的核心概念,它们构成了数字化世界的基础。这份"云计算基础设施和体系架构指南"深入探讨了这些主题,旨在为读者提供全面的理解和实用的知识。 云计算基础设施,...

    决策支持系统体系架构

    决策支持系统(DSS)的体系架构 决策支持系统是一种为决策者提供辅助决策信息的计算机应用系统,它通过整合多种信息来源和技术手段来提高决策的质量和效率。 #### 1.1 构成要素 - **数据管理子系统**:负责收集...

    阿里云体系架构.pdf

    ### 阿里云体系架构概述 #### 一、阿里云技术架构介绍 阿里云作为全球领先的云服务商之一,其技术架构设计旨在提供稳定、高效、安全的云计算服务。通过结合先进的分布式计算技术和丰富的云服务产品,阿里云能够...

    云计算的体系架构.docx

    1. 实现资源的集中管理:云计算体系架构通过将计算任务分配给多个计算机资源,实现了计算资源的集中管理和动态分配,从而提高了计算效率和资源利用率。 2. 提供弹性伸缩的能力:云计算体系架构可以根据应用场景的...

    工业互联网体系架构方案.pptx

    该体系架构方案是实现这一目标的基础,它涉及多个层面,包括硬件基础设施、通信技术、数据分析以及智能应用。 在发展背景方面,工业互联网的提出源于大型工业公司如GE的需求,他们希望通过互联网和大数据技术提升...

    SQL server 2005体系架构,全面的分析MSSQL的构成

    SQL Server 2005的体系架构是其高效运行的基础,深入理解这一架构对于数据库开发人员来说至关重要。 首先,SQL Server 2005的体系架构主要分为以下几个核心组件: 1. **数据库引擎**:这是SQL Server的核心,负责...

    面向服务体系架构SOA.ppt

    面向服务体系架构SOA是一种计算机系统架构,旨在通过服务的方式来实现业务功能。该架构具有分布式系统、Web服务、面向服务的体系结构等特点。 面向服务体系架构的主要内容包括: 1. 分布式系统概述:分布式系统是...

    Linux内核体系架构(进程、系统调用).pdf

    ### Linux内核体系架构知识点详解 #### 一、Linux内核模式 Linux内核作为操作系统的核心,其设计模式直接影响到系统的性能与稳定性。通常来说,Linux内核采用的是整体式的单内核模式。 - **单内核模式**:在单...

    Hadoop体系架构.docx

    Hadoop 体系架构 Hadoop 体系架构是大数据处理的核心组件之一。它是一个分布式计算框架,能够处理大量数据。Hadoop 体系架构主要由两部分组成:MapReduce 引擎和分布式文件系统(HDFS)。MapReduce 引擎能够在整个...

Global site tag (gtag.js) - Google Analytics