Coder Social home page Coder Social logo

glinkv2's Introduction

GLink

演示程序

Image text

介绍

高性能、可扩展 实时计算引擎

一.特征

  • 跨平台
    支持Windows、Linux 等主流操作系统、可适配麒麟、统信等主流国产系统;
  • 轻量化
    计算引擎AOT编译,自包含环境,脚本一键运行
  • 极致性能
    基于内存的实时计算、只读形式共享数据内存块
  • 动态算子管理
    热更新算子、支持动态编译上传
  • 接入简单
    接口化抽象算子流程、支持自定义计算函数和推送规则

二.设计方案

1.抽象数据流

Image text 如上图所示,计算程序表示一个独立的算子管理程序,是执行的最小单位。计算程序环境自包含,可以打包成镜像并容器化部署,支持横向、水平扩容。计算程序由以下部分组成;

原始数据池 基于内存的队列,用于保存数据源的原始数据流,支持历史数据文件、实时数据等多种数据源。原始数据池用于解耦:数据接收---数据计算 两个步骤,保证接收速率;

算子管理中心 用于保存算子实例,提供算子增、删、改、查功能。管理中心 会将原始数据池中的数据,以只读内存片段指针的形式将数据分发给每个运行中的算子实例;

数据管道 表示一个独立、完整的数据处理流程。有两种数据管道类型:独立数据管道和组合数据管道两类。其中,组合数据管道订阅一个或多个独立数据管道的计算结果。独立数据管道 接收原始数据,经过计算引擎计算出元数据后,推送给业务方或者订阅了此元数据的组合 数据管道;

业务系统 表示元数据接收方,可以接收一个或者多个数据管道推送的元数据;

2.实时计算流程

Image text 如图所示,一个数据管道 包含 一个算子引擎。算子引擎 是数据计算的抽象流程的具体实现,可以根据业务场景 自由定制,并动态编译上传

3.算子管理时序

Image text

4.应用架构

Image text

三.性能测试

测试报告

四.算子接入示例

1.接入步骤

1)接入算子引擎SDK: Glink.Component.Abstractions.1.0.0.nupkg
2)实现接口:ICalculationEngine.cs
3)打包成动态库,并上传:Glink.Components.MA.dll
4)通过HttpApi接口,运行算子引擎

2.MA 算子开发方案

1)计算流程 Image text

2)内存序列
Image text

glinkv2's People

Contributors

mrgqf avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.