当前位置: 首页 > news >正文

2.1 HuggingFists系统架构(一)

系统架构

        HuggingFists的前端主体开发语言为Html+Javascript,后端的主体开发语言为Java。在算子部分有一定份额的Python代码,用于整合Python在数据处理方面强大能力。

功能架构

        HuggingFists的功能架构如上,由下向上各层为:

  • 数据存储层

        数据存储层并不属于HuggingFists系统,其主要描述了HuggingFists系统可以对接和管理的各类数据源。HuggingFists系统被定义为面向全结构数据的AI应用开发及运营平台,为此其需要对接各类能够存储数据的数据源。在HuggingFists的技术理念中,任何需要被处理的源数据或结果数据都在该层提供的数据源中完成读写访问。因此,使用HuggingFists的第一步需要先配置好数据源。

        HuggingFists支持的数据源类型包括:文件系统、数据库、流服务以及应用系统的四大类。

Ø 文件系统用于对接各类文件系统型数据源,通过该类数据源可以读写以文件形式存储的各类数据。该数据源类型的引入,可极大丰富原始数据以及非结构化数据的访问能力。支持远程文件系统、分布式文件系统及云文件系统等。

Ø 数据库用于对接各类数据库型数据源。支持的数据库种类包括:关系数据库、列式数据库、键值数据库、文档数据库、时序数据库、数据仓库以及图数据库等。

Ø 流服务用于对接时效能力较高的数据源,比如:消息队列等,用于数据处理时效性较高的场景。支持消息队列、分布式消息队列及云消息队列等

Ø 应用系统用于对接各类应用数据源,比如:SAAS类应用、ERP类应用等。该类数据源主要提供数据的读取能力,比如读取某个金融网站的证券数据、交易数据;读取某个ERP应用的客户数据、运营数据等。该类数据源拥有较强的行业属性。

  • 数据计算层

        数据计算层支持部署多计算节点,用于完成数据科学流程的解释及执行。HuggingFists支持的计算节点为单节点计算引擎,主要用来完成复杂的流程控制及小规模数据的处理及分析工作。所有任务只能在单节点引擎内执行,不支持类似Spark及Flink的分布式海量结构化数据计算能力。该能力在 HuggingFists所依赖的Sengee计算框架中予以了支持,有此需求的用户可以查阅Sengee的相关资料。数据计算层支持多节点主要是用来应对同时可能并发多个任务时,可以通过多计算节点水平扩展HuggingFists系统的计算能力。

        HuggingFists的计算节点根据需要支持的业务场景被定义为不同类型。在上图中,计算节点分为两类,一类是通用计算节点,能够支持一般流程的解释执行;一类是增强型节点,即图中带有Dyputer组件的节点,集成了Notebook。允许通过Notebook交互式进行Python编程,从而扩展HuggingFists支持能力不足的部分,比如:各类AI模型的应用,深度学习的集成等。

  • 平台核心层

        平台核心层用于提供整个平台的核心管理功能。包括数据源管理、流程管理、数据服务管理、作业管理、模型管理、计算节点管理、资源管理及用户管理等模块。

Ø 数据源管理用于对数据科学计算所需的各类数据源进行管理,支持的数据源类型包括:数据库、文件系统、事件流以及应用系统。

Ø 流程管理用于管理HuggingFists系统中的各类流程。包括图流程、程序流程、作业流程以及API流程等。

Ø 数据服务管理用于接入外部的Web API接口,供HuggingFists在流程定义中使用;以及将通过HuggingFists定义的流程供外部系统访问。

Ø 作业管理用于为流程定义各种不同触发类型的作业,并完成作业的调度运行及监控。支持的作业触发方式包括:即时、定时、事件触发以及交互式触发等多种。

Ø 模型管理用于管理系统中所有的训练模型,包括流程训练输出的模型以及通过外部导入的模型。可将这些模型部署为服务、也可在流程中使用这些模型完成数据的处理。

Ø 计算节点管理用于管理各类计算节点。

Ø 资源管理用于管理HuggingFists中的各类资源,包括连接器、算子、提示模板、应用模板等。其中,连接器及算子为HuggingFists的插件资源;提示模板与应用模板为大模型等相关算子应用所需的配置资源。

Ø 用户管理用于创建管理平台中的用户及用户的权限

相关文章:

  • 快讯:腾讯轻量服务器四周年,最低一折续费,还有免费升配
  • [Redis][主从复制][中]详细讲解
  • 在什么时候需要用到常引用const---情景
  • Java中的JDK8及后续的重要新特性
  • 【NumPy】专题学习
  • Qt优秀开源项目之二十三:QSimpleUpdater
  • Qemu开发ARM篇-6、emmc/SD卡AB分区镜像制作
  • Redisson分布式锁的概念和使用
  • 【ShuQiHere】深入解析 B+ 树(B+ Tree):高效数据存储与快速查找的终极方案
  • 解决多尺度网络中上采样尺寸不一致问题
  • Windows内核编程基础(3)
  • excel 单元格一直显示年月日
  • Webpack教程-概述
  • 趣笔阁爬虫实验
  • 华为eNSP使用详解
  • 【Leetcode】101. 对称二叉树
  • 2017-09-12 前端日报
  • Android Studio:GIT提交项目到远程仓库
  • CEF与代理
  • Consul Config 使用Git做版本控制的实现
  • input的行数自动增减
  • js ES6 求数组的交集,并集,还有差集
  • laravel with 查询列表限制条数
  • Redis在Web项目中的应用与实践
  • tab.js分享及浏览器兼容性问题汇总
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • windows下使用nginx调试简介
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 技术胖1-4季视频复习— (看视频笔记)
  • 驱动程序原理
  • 如何实现 font-size 的响应式
  • 《天龙八部3D》Unity技术方案揭秘
  • 阿里云移动端播放器高级功能介绍
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​iOS安全加固方法及实现
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • $NOIp2018$劝退记
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (办公)springboot配置aop处理请求.
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (六)DockerCompose安装与配置
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (一)认识微服务
  • (转)linux下的时间函数使用
  • (转)德国人的记事本
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .bashrc在哪里,alias妙用
  • .NET Core中的去虚
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .net 无限分类