Browse Source

docs: update

main
Leon 6 months ago
parent
commit
681bcca157
14 changed files with 29 additions and 30 deletions
  1. +1
    -1
      docs/doracc.mdx
  2. +2
    -0
      docs/example.md
  3. +1
    -2
      docs/guide/start/introduction.mdx
  4. +2
    -2
      docs/guide/start/quick-start.mdx
  5. +3
    -3
      docs/guide/tutorial/api-binding.mdx
  6. +3
    -3
      docs/guide/tutorial/data-message.mdx
  7. +3
    -3
      docs/guide/tutorial/dataflow.mdx
  8. +3
    -3
      docs/guide/tutorial/dora-cli.mdx
  9. +3
    -3
      docs/guide/tutorial/dora-coordinator.mdx
  10. +1
    -2
      docs/guide/tutorial/dora-daemon.mdx
  11. +3
    -3
      docs/guide/tutorial/event-stream.mdx
  12. +2
    -2
      docs/guide/tutorial/node.mdx
  13. +1
    -2
      docs/guide/tutorial/operator.mdx
  14. +1
    -1
      rspress.config.ts

+ 1
- 1
docs/doracc.mdx View File

@@ -4,7 +4,7 @@ sidebar: false

# Dora中文社区介绍

发起人:Leon 李扬 [https://echoli.cn](https://echoli.cn)
发起人:李扬 [https://echoli.cn](https://echoli.cn)

Dora中文社区:方兴未艾的机器人开发新势力



+ 2
- 0
docs/example.md View File

@@ -428,3 +428,5 @@ Dora yolov8 目标检测示例代码:https://pan.baidu.com/s/1uXXjFkpgeT_iHdNJ
```bash
$ pip install numpy opencv-python pyarrow ultralytics
```

**内容编写** : **`李扬`**

+ 1
- 2
docs/guide/start/introduction.mdx View File

@@ -1,7 +1,5 @@
# 介绍

**Author** : **`李扬`**

`Dora-rs` 是一个用于构建**实时模块化机器人应用程序**的框架。它使用声明式数据流 ,其中任务被拆分成称为节点的独立进程。这些节点使用高性能 通过事件流传输的 `Arrow` 数据格式,由本地管理 守护进程和中央协调器 。用户使用 `CLI` 与 `Dora` 交互 并使用语言 `API` 绑定开发自定义组件。

## 为什么选择`Dora-rs`
@@ -38,3 +36,4 @@

![`Dora-rs`流程图](/dora01.png)

**内容编写** : **`李扬`**

+ 2
- 2
docs/guide/start/quick-start.mdx View File

@@ -2,8 +2,6 @@ import { Tab, Tabs } from 'rspress/theme';

# 快速上手

**Author** : **`李扬`**

安装 `dora-cli`

在命令行中运行以下命令 (不要带上 `$` 符号):
@@ -94,3 +92,5 @@ Options:
-h, --help Print help
-V, --version Print version
```

**内容编写** : **`李扬`**

+ 3
- 3
docs/guide/tutorial/api-binding.mdx View File

@@ -1,7 +1,5 @@
# API 绑定

**Author** : **`李扬`**

欢迎回到 `dora` 教程!到目前为止,我们已经学习了

[数据流](./dataflow) 作为应用程序蓝图
@@ -183,4 +181,6 @@ def process_operator_data(data):

`API 绑定`是必不可少的软件库,它使您能够使用熟悉的编程语言(例如 `Python`、`Rust`、`C` 和 `C++`)为自定义 `dora` 节点和操作符编写核心逻辑。它们提供了标准化的函数工具包( `init` 、 `send_output` 、`事件循环/回调`),这些函数抽象了进程间通信、共享内存和事件处理的复杂性,使您可以专注于特定的应用程序任务,同时无缝集成到 `dora` 数据流中。

现在您已经了解了如何使用 `API 绑定`为各个组件编写代码,让我们缩小范围并查看用于管理和运行整个数据流的主要工具: **`Dora CLI 命令行`** 。
现在您已经了解了如何使用 `API 绑定`为各个组件编写代码,让我们缩小范围并查看用于管理和运行整个数据流的主要工具: **`Dora CLI 命令行`** 。

**内容编写** : **`李扬`**

+ 3
- 3
docs/guide/tutorial/data-message.mdx View File

@@ -1,7 +1,5 @@
# 数据信息 / Arrow Data

**Author** : **`李扬`**

欢迎回到 `dora` 教程!在[事件流](./event-stream)中,我们学习了节点和操作符通过事件流接收信息,包括携带数据的 INPUT 事件。但是,这些数据在事件内部是什么样的? `dora` 又是如何高效地传输这些数据的,尤其是对于图像或传感器读数等大数据项?

本章深入探讨 `dora` 数据处理的核心: `数据消息`及其对 `Apache Arrow` 格式的使用。
@@ -124,4 +122,6 @@ for event in node:

在本章中,我们了解到 `dora` 中的数据是通过 `INPUT` 数据消息在节点和算子之间传递的。为了实现高性能,尤其是在处理大数据量时, `dora` 主要使用 `Apache Arrow` 格式,并利用共享内存在进程间实现零拷贝数据传输。这意味着接收节点可以直接从发送节点写入的同一内存位置读取数据。`Drop Token` 机制确保此共享内存得到安全管理,并且仅在所有接收节点都处理完数据后才会释放。理解这些概念是理解 `dora` 在实时数据管道中性能特征的关键。

现在您已经了解了数据如何流动和表示,让我们看看您将用来在 `Node` 或 `Operator` 代码中与 `dora 运行时`进行交互的工具: **`API Bingding 绑定`** 。
现在您已经了解了数据如何流动和表示,让我们看看您将用来在 `Node` 或 `Operator` 代码中与 `dora 运行时`进行交互的工具: **`API Bingding 绑定`** 。

**内容编写** : **`李扬`**

+ 3
- 3
docs/guide/tutorial/dataflow.mdx View File

@@ -1,7 +1,5 @@
# 数据流

**Author** : **`李扬`**

欢迎来到 `dora` 教程! `dora` 是一个强大的框架,旨在帮助您构建复杂的应用程序,尤其是那些需要处理实时数据的应用程序,例如机器人技术或 `AI` 引用。但是,如何设计和管理这些需要不同组件协同工作并共享信息的应用程序呢?这就是 `Dataflow` 的概念!

## 您应用程序的“蓝图”
@@ -129,4 +127,6 @@ dora run dataflow.yml

在本节中,我们了解到数据流是 `dora` 应用程序的蓝图,它定义了节点以及数据在节点之间的流动方式。它由 `YAML` 文件描述,类似于管道图,显示了一个节点的输出与另一个节点的输入之间的连接。当您使用 `dora CLI` 运行数据流时, `dora` 会读取此蓝图并设置必要的通信通道。

现在您已经了解了整体数据流蓝图,下一章让我们深入了解构成该蓝图的各个构建块: **`Node 节点`** 。
现在您已经了解了整体数据流蓝图,下一章让我们深入了解构成该蓝图的各个构建块: **`Node 节点`** 。

**内容编写** : **`李扬`**

+ 3
- 3
docs/guide/tutorial/dora-cli.mdx View File

@@ -1,7 +1,5 @@
# 命令行

**Author** : **`李扬`**

欢迎回到 `dora` 教程!在上一章, [API 绑定](./api-binding) 中,我们了解了如何使用特定语言的库为自定义节点和操作符编写实际代码,以便与 `dora` 运行时进行通信。

但是,如何才能将完成的 `Dataflow` 和 `Node/Operator` 代码真正地运行在 `dora` 上呢?如何让 `dora` 启动、停止所有操作,或者查看哪些程序正在运行?
@@ -169,4 +167,6 @@ dora destroy

`Dora CLI` 是您与 `dora` 系统交互的主要工具。您可以使用简单的命令,例如 `dora run` 根据 `Dataflow YAML` 蓝图启动数据流,使用 `dora build` 准备依赖项,以及使用 `dora stop` 和 `dora list` 管理正在运行的应用程序。`CLI` 充当命令接口,与 `dora 运行时`进程(例如 `Dora Coordinator` )通信,告诉它们执行操作,而不是直接运行数据流。

现在您已经了解了如何使用 `CLI` 命令 `dora` ,让我们深入了解接收这些命令并管理运行节点的关键组件之一: **`Dora Daemon 守候进程`** 。
现在您已经了解了如何使用 `CLI` 命令 `dora` ,让我们深入了解接收这些命令并管理运行节点的关键组件之一: **`Dora Daemon 守候进程`** 。

**内容编写** : **`李扬`**

+ 3
- 3
docs/guide/tutorial/dora-coordinator.mdx View File

@@ -1,7 +1,5 @@
# 协调器

**Author** : **`李扬`**

欢迎来到 `dora` 教程的最后一章!在本教程中,我们学习了`数据流`、`节点`和`操作符` ,以及它们如何通过事件流进行通信并高效地传输数`据消息/Arrow Data`。
我们还了解了如何使用 `API` 绑定编写逻辑,以及如何使用 `Dora CLI` 作为命令行界面。最近,在 [Dora 守护进程](./dora-daemon) 中,我们学习了 `Dora` 守护进程,它是在单台机器上本地管理 `dora` 组件的后台服务。

@@ -136,4 +134,6 @@ dora stop my_dataflow_id --coordinator-addr 192.168.1.100

`Dora Coordinator` 是 `dora` 系统的中央编排器和指挥中心,对于管理分布在多台机器上的数据流至关重要。它接收来自 `Dora CLI` 的指令,跟踪可用的 `Dora Daemons` ,并根据数据流 YAML 蓝图协调在正确的机器上启动、停止和管理节点 。通过监督分布式系统,它使您能够无缝构建和管理复杂的多机器应用程序。

至此,我们对 `dora` 核心概念的入门教程就结束了。我们介绍了`数据流`、`构建块(节点、操作符)`、`通信机制(事件流、数据消息/Arrow Data、API 绑定)`以及`运行时基础架构(命令行界面、守护进程、协调器)`。现在,您对 `dora` 工作原理及其主要组件的作用有了基本的了解,这将帮助您更深入地构建自己的实时数据流应用程序。
至此,我们对 `dora` 核心概念的入门教程就结束了。我们介绍了`数据流`、`构建块(节点、操作符)`、`通信机制(事件流、数据消息/Arrow Data、API 绑定)`以及`运行时基础架构(命令行界面、守护进程、协调器)`。现在,您对 `dora` 工作原理及其主要组件的作用有了基本的了解,这将帮助您更深入地构建自己的实时数据流应用程序。

**内容编写** : **`李扬`**

+ 1
- 2
docs/guide/tutorial/dora-daemon.mdx View File

@@ -1,7 +1,5 @@
# 守候进程

**Author** : **`李扬`**

欢迎回到 `dora` 教程!我们探索了 `Dataflow`、 `节点` 和 `操作符` 等构建块,它们如何通过事件流接收信息,以及如何高效地传输 `数据消息/Arrow Data`。

我们还了解了 `API 绑定`如何帮助您编写组件代码,以及 `Dora CLI` 如何成为您管理一切的主要工具。
@@ -94,3 +92,4 @@ dora run yolo.yml

现在我们了解了本地管理器(守护进程),让我们了解一下协调多个守护进程并管理跨不同机器的数据流的组件: **`Dora Coordinator 协调器`** 。

**内容编写** : **`李扬`**

+ 3
- 3
docs/guide/tutorial/event-stream.mdx View File

@@ -1,7 +1,5 @@
# 事件流

**Author** : **`李扬`**

欢迎回到 `dora` 教程!在[节点](./node)中,我们了解到节点是数据流中独立的工作单元。在[操作符](./operator)中,我们了解了操作符如何在一种特殊的节点内部构建工作。

`节点`和`操作符`都需要一种方法来感知需要关注的事件发生——例如新数据到达或停止命令。它们是如何接收这些重要通知的?
@@ -110,4 +108,6 @@ print("Node stopping gracefully.")

`事件流` 是 `dora` 中的一个基本概念。它是节点和操作符接收其运行所需的所有信息的重要通信渠道,包括传入数据 ( `INPUT` )、输入源关闭信号 ( `InputClosed` ) 以及系统命令( `STOP` 、 `RELOAD` )。通过监听此事件流,您的节点和操作符代码可以动态地响应数据流的状态。`dora` 运行管理这些事件流,并根据数据流蓝图将事件传递给相应的节点和操作符。

现在您已经了解了节点和操作员如何接收通知,让我们仔细看看 `INPUT` 事件中经常包含的 **`DataMessage/Arrow Data 数据`** 本身 。
现在您已经了解了节点和操作员如何接收通知,让我们仔细看看 `INPUT` 事件中经常包含的 **`DataMessage/Arrow Data 数据`** 本身 。

**内容编写** : **`李扬`**

+ 2
- 2
docs/guide/tutorial/node.mdx View File

@@ -1,7 +1,5 @@
# 节点

**Author** : **`李扬`**

欢迎回到 `dora` 的教程!在[上一章:数据流](./dataflow)中,我们了解到数据流是 `dora` 系统的蓝图,它使用 `YAML` 文件定义了所有部分以及数据在它们之间流动的方式。现在,让我们深入研究这些单独的部分 —— **节点**(`nodes`)。

## 应用程序中的工蜂
@@ -125,3 +123,5 @@ print("Node stopping.")
在本章中,我们了解到节点是 `dora` 数据流应用程序中独立的工作单元。它们在数据流 `YAML` 文件中定义,具有唯一的 `ID`、用于接收数据的特定输入以及用于生成数据的输出。每个节点都作为独立的进程运行,其内部逻辑(使用您选择的语言编写的 `dora API`)负责接收输入、执行任务和发送输出。`Dora 运行时`负责启动这些进程并根据 `YAML` 蓝图设置通信管道。

现在我们了解了各个处理单元(节点),让我们看一下在节点内部构建逻辑的常用方法,特别是在处理许多输入和输出时: **`Operator 操作符`** 的概念。

**内容编写** : **`李扬`**

+ 1
- 2
docs/guide/tutorial/operator.mdx View File

@@ -1,7 +1,5 @@
# 操作符

**Author** : **`李扬`**

欢迎回来!在[数据流](./dataflow)中,我们学习了 `dora` 应用程序的整体蓝图以及它如何连接各个部分。在[节点](./node)中,我们深入探讨了这些节点部分,并了解到每个节点通常作为一个独立的进程运行,执行特定的任务,并通过数据流 `YAML` 中定义的输入和输出进行通信。

现在,让我们探索一种在 `Node` 内部添加更多结构和可重用性的方法: `Operator` 的概念。
@@ -189,3 +187,4 @@ class Operator:

现在我们了解了节点和操作符,让我们看看数据在系统中移动的基本概念: **`Event Stream 事件流`** 。

**内容编写** : **`李扬`**

+ 1
- 1
rspress.config.ts View File

@@ -16,7 +16,7 @@ export default defineConfig({
// cleanUrls: true,
// },
head: [
'<meta name="author" content="Leon 李扬">',
'<meta name="内容编写" content="Leon 李扬">',
],
themeConfig: {
socialLinks: [


Loading…
Cancel
Save