`
m635674608
  • 浏览: 5027496 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

开源分布式计算框架(DC4C)

 
阅读更多

1        概述

1.1        简介
        DC4C是一个通用的分布式计算框架,研发初衷来自于2015年初我开发互联网数据挖掘平台的任务调度的技术需求。经过2015年4月一个月的研发,发布 第一版原型,而后不断优化完善,扩展功能,目前最新版本为v1.5.5。只依赖开源库fasterjson。
        DC4C借鉴了Hadoop、Fourinone等分布式产品的设计,加入自有特色,充分考虑高可靠性、高伸缩性,也是业界首先实现有向无环图任务调度引擎的分布式计算框架之一,特别适合批量任务流处理的分布式架构。

        DC4C核心完全用C编写,手工代码约1万行。此外大量使用代码自动化生成技术(如json报文的打包解包),大幅减小了开发量、提高了开发效率、减轻了底层细节编码压力。用户API包和计算节点也可以用其它语言实现以支持不同语言开发的应用。
       目前已实施某银行批量处理平台上线稳定运行半年。

1.2        体系结构
        DC4C体系结构包含基础平台架构、用户API包和有向无环图(下面简称DAG)的任务调度引擎。

        基础平台架构包含三类节点:注册节点、计算节点和用户节点。
        注册节点(守护进程):负责接受计算节点注册、状态变更、注销;接受用户节点查询空闲计算节点;接受telnet连接在线查询和管理。进程框架为父子进程监控进程异常,可以同时起多对保持计算节点注册信息冗余,提高可靠性。
        计算节点(守护进程):负责向注册节点注册;接受用户节点分派任务并反馈执行结果;随时向注册节点报告状态。进程框架为父进程+子进程组(计算节点组)监控进程异常。
        用户节点(可以是守护进程、命令行进程或其它任何类型的用户自己控制的进程):用户程序调用用户API,向注册节点查询当前空闲的计算节点,分派任务给计算节点并监督执行。

        计算节点启动后向注册节点注册后保持长连接,并互相心跳。
        用户节点用户应用通过分派任务API向注册节点查询当前空闲的计算节点集合,然后发送执行命令行和执行程序MD5给计算节点,计算节点校验执行程序MD5,如果不匹配,联动请求用户节点分发新版程序,然后再执行命令。

        用户API包供用户节点和计算节点应用调用,实现用户节点的任务分派、计算节点应用控制等功能。

        有向无环图(DAG)任务调度引擎封装了基础平台架构提供的基本任务分派功能,实现了有向无环图数据结构的任务流的执行控制,便于用户直接搭建复杂任务依赖关系调度平台。

1.3        功能和优势
        * 对于应用开发人员,无需编写任何并发控制细节代码(如fork、wait)就可轻松实现本地或集群的并发管理,以及本地风格(wait子进程退出值status)的执行反馈。计算节点用户应用本身就是可执行程序,便于本地调试。
        * 对于系统运维人员,随时根据当前系统负载随时伸缩(扩大或减小)集群规模,而不影响系统的功能性,更无需应用开发人员参与。集群伸缩无需重启等影响当前正在处理的动作,没有配置文件,大大减少运维复杂度,实现高伸缩性。
        * 通过网络连接心跳、父子进程监控、数据冗余等实现高可用性。
        * 用户API包提供了单任务分派、批量任务分派、多批量任务分派等高层封装API,也提供了低层API供用户自己封装适应自己应用场景的任务分派器。用户API包也提供了同步、多路复用等分派模式,支持各种用户程序结构。
        * 实现了一个DAG任务调度引擎,是业界最早实现该数据结构任务调度引擎的分布式计算框架之一。
        * 用户应用程序自动检查应用版本和自动分发部署。
        * 支持telnet直接查询和管理集群状态。

        * 所有类型节点可自由部署在任意台机器内;支持最多8个注册节点和(理论上)6万个计算节点。

开源项目首页
http://git.oschina.net/calvinwilliams/dc4c
https://github.com/calvinwilliams/dc4c

 

http://www.oschina.net/news/67002/dc4c-1-5-5

分享到:
评论

相关推荐

    基于分布式控制的DC/DC变换器并联系统自动交错方案

    根据文件提供的内容,我们可以提炼出关于基于分布式控制的DC/DC变换器并联系统自动交错方案的关键知识点。 知识点一:并联电源的优点 并联电源相较于传统的单电源供电具有多项优势。首先,它可以实现大容量和高效率...

    DC3 是基于 Spring Cloud 的开源可分布式物联网 (IOT) 平台

    可伸缩:水平可伸缩的平台,构建使用领先的 Spring Cloud 开源技术; 容错:没有单点故障弱,集群中的每个节点是相同的; 健壮和高效:单一服务器节点可以处理甚至数百成千上万的设备根据用例; 可定制:添加新的...

    IoT DC3 是一个基于 Spring Cloud 的开源的、分布式的物联网(IoT)平台

    IoT DC3 是一款强大的开源物联网(IoT)平台,它构建在 Spring Cloud 框架之上,旨在提供一个分布式、灵活且可扩展的解决方案,帮助开发者快速构建物联网项目,同时有效地管理和监控各种物联设备。Spring Cloud 是...

    分布式风光储系统双向DC-DC变换器研究.pdf

    本文提出了一种分布式风光储系统架构,并详细研究了双向DC-DC变换器,其主要知识点如下: 1. 分布式风光储系统架构:分布式风光储系统是一种结合了风力发电、太阳能光伏发电以及储能单元的能源系统。这种系统能够...

    iot-dc3:IOT DC3是基于Spring Cloud的开源分布式物联网(IOT)平台。 它用于物联网项目的快速开发和物联网设备的管理。 是物联网系统的一套解决方案

    DC3是基于Spring Cloud的开源可分布式物联网(IOT)平台,用于快速开发、部署物联设备接入项目,是一整套物联系统解决方案。IOT DC3 is an open source, distributed Internet of Things (IOT) platform based on Spring...

    异质性大数据的分布式估计.pdf

    为了更好地理解分布式计算框架在处理异质性大数据中的作用,可以参考Hadoop和Spark等开源分布式计算平台。Hadoop通过HDFS(Hadoop Distributed File System)支持大规模数据集的存储和管理,而MapReduce编程模型则...

    DC3是一个基于Spring Cloud的开源的、分布式的物联网(IOT)平台

    DC3物联网平台是一款基于Spring Cloud框架的开源分布式系统,专为物联网(IOT)项目设计,旨在简化物联网设备的管理和快速开发。Spring Cloud是微服务架构的基石,它为构建分布式系统提供了工具集,如服务发现、配置...

    DC-DC-Buck.rar_buck_buck程序_dc-dc程序_tm4c123g

    该芯片拥有丰富的外设接口和强大的计算能力,为DC-DC转换器控制提供了理想平台。 Buck转换器是一种开关模式电源,通过调节开关元件的占空比来调整输出电压。在TM4C123G上实现Buck转换器的控制,主要涉及到以下几个...

    DC:分布式计算课的作业和课程项目

    直流电分布式计算课程的作业和课程项目。 作业 1:点对点系统中的拓扑管理(Java) 作业2:SUN RPC编程(C) 作业 3:使用 Java RMI (Java) 实现 DNS 服务器作业 4:使用 ZooKeeper API ...简化的 Map-Reduce 计算框架

    基于Spring Cloud的分布式物联网平台DC3(iot-dc3).zip

    这是一个开源、可分布的物联网(IOT)平台,基于Spring Cloud架构开发。用于快速开发物联网项目和管理物联网设备,提供了一整套物联网系统解决方案。平台支持多种设备协议,包括Mqtt、Rtsp、Rtmp、htt等,p并提供...

    分布式发电储能系统宽增益双向DC-DC变换器研究.pdf

    综上所述,分布式发电储能系统宽增益双向DC-DC变换器的研究与应用,对于实现分布式能源的有效利用和电网的稳定运行具有重要的实际意义。通过相关技术的研究和创新,未来电力系统的安全性和经济性将得到进一步的提升...

    百度系统部分布式系统

    百度系统部分布式系统是基于HPC、DC、DFS、DOS等多个组件构建的大规模数据处理平台,通过高效的计算资源管理和先进的算法服务,为百度的各项业务提供了强大的技术支持。无论是从硬件配置、软件架构还是算法优化,...

    DC-DC芯片输出电压计算分压电阻参数

    DC-DC芯片输出电压计算分压电阻参数

    基于 Spring Cloud 的开源可分布式物联网 (IOT) 平台

    **基于 Spring Cloud 的开源可分布式物联网 (IOT) 平台——DC3 深度解析** DC3,全称为 Distributed IoT Platform,是一款强大的开源物联网(IOT)平台,旨在简化和加速物联网项目的开发与部署过程。它充分利用了 ...

    DC-DC变换器的参数计算

    在设计和应用DC-DC变换器时,参数计算是确保其性能和效率的关键环节。下面将详细讨论几种常见的DC-DC变换器类型,包括Boost(升压)和Buck(降压)变换器,并阐述其主要参数的计算方法。 1. Boost(升压)变换器: ...

    基于SpringCloud的分布式的物联网(IOT)平台.zip

    一个基于Spring Cloud的开源的、分布式的物联网(IOT)平台,用于快速开发物联网项目和管理物联设备,是一整套物联系统解决方案。 一个基于Spring Cloud的开源的、分布式的物联网(IOT)平台,用于快速开发物联网项目和...

    双向DC-DC变换器源代码_C语言_DC-DC_dcdc_stm32_双向dcdc_

    在电子工程领域,双向DC-DC变换器是一种重要的电源转换技术,它能够在直流电源的正向和反向之间转换能量,适用于储能系统、电动汽车充电、分布式能源系统等应用。本项目涉及的是基于STM32微控制器实现的双向DC-DC...

Global site tag (gtag.js) - Google Analytics