diff --git a/docs/locales/zh_CN/LC_MESSAGES/index.po b/docs/locales/zh_CN/LC_MESSAGES/index.po index f128c62e..0221aa53 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/index.po +++ b/docs/locales/zh_CN/LC_MESSAGES/index.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SCQL\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-12 11:46+0800\n" +"POT-Creation-Date: 2023-11-16 10:08+0800\n" "PO-Revision-Date: 2023-10-11 20:47+0800\n" "Last-Translator: \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.13.0\n" +"Generated-By: Babel 2.12.1\n" #: ../../index.rst:7 msgid "SCQL Documentation" @@ -50,27 +50,27 @@ msgstr "SCQL 系统" #: ../../index.rst:21 msgid "" "**Overview**: :doc:`System overview and architecture " -"` | :doc:`Common usage `" +"` | :doc:`Common usage ` | " +":doc:`P2P `" msgstr "" -"**概述**::doc:`系统简介及架构设计 ` | :doc:`使用流程 " -"`" +"**概述**::doc:`系统简介及架构设计 ` | :doc:`使用流程 ` | " +":doc:`P2P `" -#: ../../index.rst:25 +#: ../../index.rst:26 msgid "**Security**: :doc:`Security overview `" msgstr "**安全性**::doc:`安全性说明 `" -#: ../../index.rst:28 +#: ../../index.rst:29 msgid "" "**Reference**: :doc:`SCQL implementation status `" -msgstr "**参考**::doc:`SCQL 实现进度 `" +msgstr "**参考**::doc:`SCQL 实现进度 `" -#: ../../index.rst:33 +#: ../../index.rst:34 msgid "The SCQL Language" msgstr "SCQL 方言" -#: ../../index.rst:35 +#: ../../index.rst:36 msgid "" "**Reference**: :doc:`SCQL language manual ` | " ":doc:`Compatibility with MySQL `" @@ -78,19 +78,19 @@ msgstr "" "**参考**::doc:`SCQL 方言手册 ` | :doc:`与 MySQL 兼容性 " "`" -#: ../../index.rst:41 +#: ../../index.rst:42 msgid "Column Control List (CCL)" msgstr "" -#: ../../index.rst:43 +#: ../../index.rst:44 msgid "**Overview**: :doc:`Introduction to CCL `" msgstr "**概述**::doc:`CCL 机制简介 `" -#: ../../index.rst:46 +#: ../../index.rst:47 msgid "**Guides**: :doc:`Common usage and advice `" msgstr "**指南**::doc:`CCL 常见用法与建议 `" -#: ../../index.rst:49 +#: ../../index.rst:50 msgid "" "**Reference**: :ref:`GRANT and REVOKE ` | :ref:`How " "CCL works `" @@ -98,37 +98,39 @@ msgstr "" "**参考**::ref:`GRANT/REVOKE 语句 ` | :ref:`如何工作 " "`" -#: ../../index.rst:55 +#: ../../index.rst:56 msgid "Clients" msgstr "客户端" -#: ../../index.rst:57 +#: ../../index.rst:58 msgid ":doc:`Overview of SCQL clients `" msgstr ":doc:`关于 SCQL 客户端 `" -#: ../../index.rst:58 +#: ../../index.rst:59 msgid ":doc:`HTTP API reference `" msgstr ":doc:`HTTP API 参考 `" -#: ../../index.rst:62 +#: ../../index.rst:63 msgid "Deployment" msgstr "部署" -#: ../../index.rst:64 +#: ../../index.rst:65 msgid "" -"**Guides**: :doc:`How to deploy an SCQL cluster `" -msgstr "**指南**::doc:`如何部署 SCQL 集群 `" +"**Guides**: :doc:`How to deploy an SCQL cluster in centralized " +"mode` | :doc:`How " +"to deploy an SCQL cluster in P2P mode`" +msgstr "**指南**::doc:`如何部署 SCQL 集群 ` | :doc:`如何在 P2P 模式下部署 SCQL 集群 ` " -#: ../../index.rst:67 +#: ../../index.rst:69 msgid "**Reference**: :doc:`SCQL system config `" msgstr "**参考**::doc:`SCQL 系统配置 `" -#: ../../index.rst:72 +#: ../../index.rst:74 msgid "For contributors" msgstr "贡献者文档" -#: ../../index.rst:74 +#: ../../index.rst:76 msgid "**Reference**: :doc:`SCQL operators `" msgstr "**参考**::doc:`SCQL 算子规范 `" diff --git a/docs/locales/zh_CN/LC_MESSAGES/intro/p2p-tutorial.po b/docs/locales/zh_CN/LC_MESSAGES/intro/p2p-tutorial.po new file mode 100644 index 00000000..d4014a96 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/intro/p2p-tutorial.po @@ -0,0 +1,134 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2023 Ant Group Co., Ltd. +# This file is distributed under the same license as the SCQL package. +# FIRST AUTHOR , 2023. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SCQL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-16 10:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../intro/p2p-tutorial.rst:2 +msgid "P2P Quickstart Tutorial" +msgstr "P2P 快速开始" + +#: ../../intro/p2p-tutorial.rst:5 +msgid "TL;DR" +msgstr "摘要" + +#: ../../intro/p2p-tutorial.rst:7 +msgid "" +"Use ``docker-compose`` to deploy a standalone SCQL in P2P model, then use" +" brokerctl to query" +msgstr "使用 ``docker-compose`` 来部署一个独立的 P2P 模式 SCQL,然后使用 brokerctl 来配置及查询" + +#: ../../intro/p2p-tutorial.rst:11 +msgid "Prerequisites" +msgstr "先决条件" + +#: ../../intro/p2p-tutorial.rst:15 +msgid "Build brokerctl" +msgstr "构建 brokerctl" + +#: ../../intro/p2p-tutorial.rst:17 +msgid "" +"``brokerctl`` is a command-line tool for SCQLBroker, we would use it to " +"configure project and submit queries to the SCQLBrokers." +msgstr "``brokerctl`` 是面向 SCQLBroker 的命令行工具,我们将使用它来配置项目并向 SCQLBroker 提交查询。" + +#: ../../intro/p2p-tutorial.rst:31 +msgid "Generate PrivateKey and Exchange PublicKey" +msgstr "生成私钥并交换公钥" + +#: ../../intro/p2p-tutorial.rst:38 +msgid "" +"The setup.sh script will generate private key for each party, and " +"exchange public key with peers." +msgstr "setup.sh 脚本将为各参与方生成私钥,并与其它参与方互相交换公钥。" + +#: ../../intro/p2p-tutorial.rst:41 +msgid "Start SCQL Service" +msgstr "启动" + +#: ../../intro/p2p-tutorial.rst:43 +msgid "" +"You could start SCQL service via `docker-compose " +"`_, " +"it would deploy and start services as shown in the following figure, it " +"contains two SCQLBrokers and SCQLEngines for party ``alice``, ``bob``." +msgstr "你可以通过 `docker-compose " +"`_ " +"来启动 SCQL 服务 ,它将部署和启动服务,如下图所示,它包含两个参与方 ``alice`` 和 " +"``bob`` 的 SCQLBroker 和 SCQLEngine 。" + +#: ../../intro/p2p-tutorial.rst:-1 +msgid "docker-compose deployment for quickstart example" +msgstr "快速开始对应的 docker-compose 部署示例" + +#: ../../intro/p2p-tutorial.rst:50 +msgid "To demonstrate SCQL, we conducted the following simplified operations:" +msgstr "为了演示 SCQL,我们进行了以下简化操作:" + +#: ../../intro/p2p-tutorial.rst:52 +msgid "" +"The SCQLBrokers and SCQLEngines use the same database server but are " +"separated by distinct database names." +msgstr "SCQLBrokers 和 SCQLEngines 使用同一个数据库服务器,但是使用不同的数据库名称进行区分。" + +#: ../../intro/p2p-tutorial.rst:53 +msgid "" +"The SCQLBrokers are served through the HTTP protocol. However, for " +"production environments, it is recommended to use HTTPS instead. Please " +"check :ref:`TLS Configuration ` for details." +msgstr "" +"SCQLBrokers 是通过 HTTP 协议提供服务的。然而,对于生产环境,建议使用 HTTPS 协议来代替。请查看 :ref:`TLS 配置 " +"` 以了解详情。" + +#: ../../intro/p2p-tutorial.rst:54 +msgid "" +"The brokerctl can send requests to both SCQLBrokers, but in production " +"environments, the SCQLBroker should use the local port and only listen to" +" local requests for security." +msgstr "演示环境中 brokerctl 可以向两个 SCQLBrokers 发送请求,但在生产环境中,SCQLBroker 应使用本地端口,并且仅监听本地请求以确保安全。" + +#: ../../intro/p2p-tutorial.rst:63 +msgid "" +"SCQLBroker for alice is listening on ``http://localhost:8081`` while bob " +"is on ``http://localhost:8082`` you could send requests to them via " +"brokerctl." +msgstr "alice 的 SCQLBroker 监听 ``http://localhost:8081``,而 bob 则监听 ``http://localhost:8082``,您可以通过 brokerctl 向他们发送请求。" + +#: ../../intro/p2p-tutorial.rst:66 +msgid "" +"Please checkout `examples/p2p-tutorial/README.md " +"`_ troubleshooting section for help if you encounter " +"any problems." +msgstr "如果你遇到任何问题,请查看 `examples/p2p-tutorial/README.md " +"`_ 故障排除部分以获得帮助。" + +#: ../../intro/p2p-tutorial.rst:71 +msgid "Create project, invite party to join" +msgstr "创建项目,并邀请参与方加入" + +#: ../../intro/p2p-tutorial.rst:120 +msgid "Create tables" +msgstr "创建数据表" + +#: ../../intro/p2p-tutorial.rst:157 +msgid "Grant CCL" +msgstr "授权 CCL" + +#: ../../intro/p2p-tutorial.rst:212 +msgid "Do query" +msgstr "查询" + diff --git a/docs/locales/zh_CN/LC_MESSAGES/intro/tutorial.po b/docs/locales/zh_CN/LC_MESSAGES/intro/tutorial.po index 748b18dd..9e5e7026 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/intro/tutorial.po +++ b/docs/locales/zh_CN/LC_MESSAGES/intro/tutorial.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SCQL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-11 20:36+0800\n" +"POT-Creation-Date: 2023-11-16 10:08+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.13.0\n" +"Generated-By: Babel 2.12.1\n" #: ../../intro/tutorial.rst:2 msgid "Quickstart tutorial" @@ -74,8 +74,8 @@ msgstr "启动 SCQL 服务" #: ../../intro/tutorial.rst:55 msgid "" "You could start SCQL service via `docker-compose " -"`_," -" it would deploy and start services as shown in the following figure, it " +"`_, " +"it would deploy and start services as shown in the following figure, it " "contains a SCDBServer and two SCQLEngines from party ``alice``, ``bob``." msgstr "" "你可以通过 `docker-compose " @@ -114,14 +114,13 @@ msgstr "SCDBServer 监听 ``http://localhost:8080`` ,你可以通过 scdbclien #: ../../intro/tutorial.rst:77 msgid "" -"Please checkout `examples/docker-compose/README.md " -"`_ troubleshooting section for help if you encounter " +"Please checkout `examples/scdb-tutorial/README.md " +"`_ troubleshooting section for help if you encounter " "any problems." msgstr "" -"如果你遇到任何问题,请查看 `examples/docker-compose/README.md " -"`_ 故障排除部分以获得帮助。" +"如果你遇到任何问题,请查看 `examples/scdb-tutorial/README.md " +"`_ 故障排除部分以获得帮助。" #: ../../intro/tutorial.rst:82 msgid "Create database, user and tables" diff --git a/docs/locales/zh_CN/LC_MESSAGES/reference/engine-config.po b/docs/locales/zh_CN/LC_MESSAGES/reference/engine-config.po index 822698f4..931faa1c 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/reference/engine-config.po +++ b/docs/locales/zh_CN/LC_MESSAGES/reference/engine-config.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SCQL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-04 19:31+0800\n" +"POT-Creation-Date: 2023-11-16 18:46+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -18,446 +18,434 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.12.1\n" -#: ../../development/scql_config_manual.rst:3 +#: ../../reference/engine-config.rst:3 msgid "SCQL System Config" msgstr "SCQL 系统配置" -#: ../../development/scql_config_manual.rst:5 +#: ../../reference/engine-config.rst:5 msgid "" "This configuration manual is designed to help users understand the " "various configuration options available for the SCQL system. It can be " -"divided into two parts: SCDB configuration options and SCQLEngine " -"configuration options." -msgstr "本配置手册旨在帮助用户了解 SCQL 系统的各种配置项。 它可以分为两部分:SCDB 配置项和Engine 配置项。" +"divided into three parts: SCDB configuration options (for Centralized " +"mode), SCQLBroker configuration options (for P2P mode) and SCQLEngine " +"configuration options (for both modes)." +msgstr "" +"本配置手册旨在帮助用户了解 SCQL 系统的各种配置项。 它可以分为三部分:SCDB 配置项、 SCQLBroker 配置项和 Engine " +"配置项。" -#: ../../development/scql_config_manual.rst:10 +#: ../../reference/engine-config.rst:10 msgid "SCDB configuration options" msgstr "SCDB 配置说明" -#: ../../development/scql_config_manual.rst:12 +#: ../../reference/engine-config.rst:12 msgid "In SCDB, configuration parameters are provided as yaml file." msgstr "在 SCDB 中配置参数以 yaml 文件形式提供。" -#: ../../development/scql_config_manual.rst:15 +#: ../../reference/engine-config.rst:15 msgid "Example for SCDB" msgstr "SCDB 配置示例" -#: ../../development/scql_config_manual.rst:57 +#: ../../reference/engine-config.rst:57 msgid "Config in SCDB" msgstr "SCDB 配置项" -#: ../../development/scql_config_manual.rst:60 -#: ../../development/scql_config_manual.rst:255 +#: ../../reference/engine-config.rst:60 ../../reference/engine-config.rst:284 +#: ../../reference/engine-config.rst:378 msgid "Name" msgstr "名称" -#: ../../development/scql_config_manual.rst:60 -#: ../../development/scql_config_manual.rst:255 +#: ../../reference/engine-config.rst:60 ../../reference/engine-config.rst:284 +#: ../../reference/engine-config.rst:378 msgid "Default" msgstr "默认值" -#: ../../development/scql_config_manual.rst:60 -#: ../../development/scql_config_manual.rst:255 +#: ../../reference/engine-config.rst:60 ../../reference/engine-config.rst:284 +#: ../../reference/engine-config.rst:378 msgid "Description" msgstr "描述" -#: ../../development/scql_config_manual.rst:62 +#: ../../reference/engine-config.rst:62 msgid "scdb_host" msgstr "scdb_host" -#: ../../development/scql_config_manual.rst:62 -#: ../../development/scql_config_manual.rst:64 -#: ../../development/scql_config_manual.rst:94 -#: ../../development/scql_config_manual.rst:96 -#: ../../development/scql_config_manual.rst:98 -#: ../../development/scql_config_manual.rst:100 -#: ../../development/scql_config_manual.rst:110 -#: ../../development/scql_config_manual.rst:114 -#: ../../development/scql_config_manual.rst:116 -#: ../../development/scql_config_manual.rst:118 -#: ../../development/scql_config_manual.rst:120 -#: ../../development/scql_config_manual.rst:281 -#: ../../development/scql_config_manual.rst:297 -#: ../../development/scql_config_manual.rst:309 -#: ../../development/scql_config_manual.rst:311 -#: ../../development/scql_config_manual.rst:315 -#: ../../development/scql_config_manual.rst:319 -#: ../../development/scql_config_manual.rst:325 -#: ../../development/scql_config_manual.rst:327 -#: ../../development/scql_config_manual.rst:333 -#: ../../development/scql_config_manual.rst:337 +#: ../../reference/engine-config.rst:62 ../../reference/engine-config.rst:64 +#: ../../reference/engine-config.rst:94 ../../reference/engine-config.rst:96 +#: ../../reference/engine-config.rst:98 ../../reference/engine-config.rst:100 +#: ../../reference/engine-config.rst:110 ../../reference/engine-config.rst:114 +#: ../../reference/engine-config.rst:116 ../../reference/engine-config.rst:118 +#: ../../reference/engine-config.rst:120 ../../reference/engine-config.rst:288 +#: ../../reference/engine-config.rst:292 ../../reference/engine-config.rst:294 +#: ../../reference/engine-config.rst:296 ../../reference/engine-config.rst:298 +#: ../../reference/engine-config.rst:302 ../../reference/engine-config.rst:304 +#: ../../reference/engine-config.rst:310 ../../reference/engine-config.rst:312 +#: ../../reference/engine-config.rst:314 ../../reference/engine-config.rst:316 +#: ../../reference/engine-config.rst:318 ../../reference/engine-config.rst:320 +#: ../../reference/engine-config.rst:324 ../../reference/engine-config.rst:328 +#: ../../reference/engine-config.rst:330 ../../reference/engine-config.rst:404 +#: ../../reference/engine-config.rst:420 ../../reference/engine-config.rst:432 +#: ../../reference/engine-config.rst:434 ../../reference/engine-config.rst:438 +#: ../../reference/engine-config.rst:442 ../../reference/engine-config.rst:448 +#: ../../reference/engine-config.rst:450 ../../reference/engine-config.rst:456 +#: ../../reference/engine-config.rst:460 msgid "none" msgstr "无" -#: ../../development/scql_config_manual.rst:62 -msgid "The callback URL for the engine to notify SCDB" -msgstr "SCQLEngine通知SCDB的回调URL" +#: ../../reference/engine-config.rst:62 +msgid "The callback URL for the SCQLEngine to notify SCDB" +msgstr "SCQLEngine 通知 SCDB 的回调 URL" -#: ../../development/scql_config_manual.rst:64 +#: ../../reference/engine-config.rst:64 msgid "port" msgstr "端口" -#: ../../development/scql_config_manual.rst:64 +#: ../../reference/engine-config.rst:64 msgid "The listening port of the SCDB server" msgstr "SCDB服务器监听端口" -#: ../../development/scql_config_manual.rst:66 +#: ../../reference/engine-config.rst:66 msgid "protocol" msgstr "协议" -#: ../../development/scql_config_manual.rst:66 -#: ../../development/scql_config_manual.rst:112 +#: ../../reference/engine-config.rst:66 ../../reference/engine-config.rst:112 msgid "https" msgstr "https" -#: ../../development/scql_config_manual.rst:66 +#: ../../reference/engine-config.rst:66 msgid "The transfer protocol of SCDB server, supports HTTP/HTTPS" msgstr "SCDB服务器传输协议支持HTTP/HTTPS" -#: ../../development/scql_config_manual.rst:68 +#: ../../reference/engine-config.rst:68 msgid "query_result_callback_timeout" msgstr "query_result_callback_timeout" -#: ../../development/scql_config_manual.rst:68 +#: ../../reference/engine-config.rst:68 msgid "200ms" msgstr "200ms" -#: ../../development/scql_config_manual.rst:68 +#: ../../reference/engine-config.rst:68 msgid "Timeout for SCDB to notify the query result" msgstr "SCDB 返回查询结果的超时时间" -#: ../../development/scql_config_manual.rst:70 +#: ../../reference/engine-config.rst:70 msgid "session_expire_time" msgstr "session_expire_time" -#: ../../development/scql_config_manual.rst:70 +#: ../../reference/engine-config.rst:70 msgid "48h" msgstr "48h" -#: ../../development/scql_config_manual.rst:70 +#: ../../reference/engine-config.rst:70 msgid "The expiration duration of a session" msgstr "会话超时时间" -#: ../../development/scql_config_manual.rst:72 +#: ../../reference/engine-config.rst:72 msgid "session_expire_check_time" msgstr "session_expire_check_time" -#: ../../development/scql_config_manual.rst:72 +#: ../../reference/engine-config.rst:72 msgid "1h" msgstr "1h" -#: ../../development/scql_config_manual.rst:72 +#: ../../reference/engine-config.rst:72 msgid "The cleanup interval of expired session" msgstr "超时会话的清理间隔" -#: ../../development/scql_config_manual.rst:74 +#: ../../reference/engine-config.rst:74 msgid "password_check" msgstr "password_check" -#: ../../development/scql_config_manual.rst:74 -#: ../../development/scql_config_manual.rst:78 -#: ../../development/scql_config_manual.rst:124 -#: ../../development/scql_config_manual.rst:257 -#: ../../development/scql_config_manual.rst:261 -#: ../../development/scql_config_manual.rst:277 -#: ../../development/scql_config_manual.rst:293 -#: ../../development/scql_config_manual.rst:307 -#: ../../development/scql_config_manual.rst:331 -#: ../../development/scql_config_manual.rst:335 +#: ../../reference/engine-config.rst:74 ../../reference/engine-config.rst:78 +#: ../../reference/engine-config.rst:124 ../../reference/engine-config.rst:380 +#: ../../reference/engine-config.rst:384 ../../reference/engine-config.rst:400 +#: ../../reference/engine-config.rst:416 ../../reference/engine-config.rst:430 +#: ../../reference/engine-config.rst:454 ../../reference/engine-config.rst:458 msgid "true" msgstr "true" -#: ../../development/scql_config_manual.rst:74 +#: ../../reference/engine-config.rst:74 msgid "Whether to validate password strength when create a user" msgstr "创建用户时是否验证密码强度" -#: ../../development/scql_config_manual.rst:76 +#: ../../reference/engine-config.rst:76 ../../reference/engine-config.rst:308 msgid "log_level" msgstr "log_level" -#: ../../development/scql_config_manual.rst:76 +#: ../../reference/engine-config.rst:76 ../../reference/engine-config.rst:308 msgid "info" msgstr "info" -#: ../../development/scql_config_manual.rst:76 +#: ../../reference/engine-config.rst:76 ../../reference/engine-config.rst:308 msgid "The type and severity of a logged event" msgstr "日志等级" -#: ../../development/scql_config_manual.rst:78 -#: ../../development/scql_config_manual.rst:261 +#: ../../reference/engine-config.rst:78 ../../reference/engine-config.rst:384 msgid "enable_audit_logger" msgstr "enable_audit_logger" -#: ../../development/scql_config_manual.rst:78 +#: ../../reference/engine-config.rst:78 msgid "Whether to enable audit logger" msgstr "是否记录审计日志" -#: ../../development/scql_config_manual.rst:80 +#: ../../reference/engine-config.rst:80 msgid "audit.audit_log_file" msgstr "audit.audit_log_file" -#: ../../development/scql_config_manual.rst:80 -#: ../../development/scql_config_manual.rst:263 +#: ../../reference/engine-config.rst:80 ../../reference/engine-config.rst:386 msgid "audit/audit.log" msgstr "audit/audit.log" -#: ../../development/scql_config_manual.rst:80 -#: ../../development/scql_config_manual.rst:263 +#: ../../reference/engine-config.rst:80 ../../reference/engine-config.rst:386 msgid "The file to save basic information about a query" msgstr "存储基础审计信息的日志文件" -#: ../../development/scql_config_manual.rst:82 +#: ../../reference/engine-config.rst:82 msgid "audit.audit_detail_file" msgstr "audit.audit_detail_file" -#: ../../development/scql_config_manual.rst:82 -#: ../../development/scql_config_manual.rst:265 +#: ../../reference/engine-config.rst:82 ../../reference/engine-config.rst:388 msgid "audit/detail.log" msgstr "audit/detail.log" -#: ../../development/scql_config_manual.rst:82 -#: ../../development/scql_config_manual.rst:265 +#: ../../reference/engine-config.rst:82 ../../reference/engine-config.rst:388 msgid "The file to save more detailed information about a query" msgstr "存储补充审计信息的日志文件" -#: ../../development/scql_config_manual.rst:84 +#: ../../reference/engine-config.rst:84 msgid "audit.audit_max_size" msgstr "audit.audit_max_size" -#: ../../development/scql_config_manual.rst:84 +#: ../../reference/engine-config.rst:84 msgid "500" msgstr "5000" -#: ../../development/scql_config_manual.rst:84 +#: ../../reference/engine-config.rst:84 msgid "The maximum size of the audit log file before it gets rotated, unit: MB" msgstr "单个审计日志文件的最大容量,单位为MB" -#: ../../development/scql_config_manual.rst:86 +#: ../../reference/engine-config.rst:86 msgid "audit.audit_max_backups" msgstr "audit.audit_max_backups" -#: ../../development/scql_config_manual.rst:86 +#: ../../reference/engine-config.rst:86 msgid "0" msgstr "0" -#: ../../development/scql_config_manual.rst:86 +#: ../../reference/engine-config.rst:86 msgid "" "The maximum number of old audit log files to retain, default 0 to retain " "all old log files" msgstr "系统中保留的审计日志文件的最大数量,0 表示保留所有的日志文件" -#: ../../development/scql_config_manual.rst:88 +#: ../../reference/engine-config.rst:88 msgid "audit.audit_max_age_days" msgstr "audit.audit_max_age_days" -#: ../../development/scql_config_manual.rst:88 -#: ../../development/scql_config_manual.rst:267 +#: ../../reference/engine-config.rst:88 ../../reference/engine-config.rst:390 msgid "180" msgstr "180" -#: ../../development/scql_config_manual.rst:88 +#: ../../reference/engine-config.rst:88 msgid "The maximum number of days to retain old log files" msgstr "单个审计日志文件所能保存的最长时间,单位:天" -#: ../../development/scql_config_manual.rst:90 +#: ../../reference/engine-config.rst:90 msgid "audit.audit_max_compress" msgstr "audit.audit_max_compress" -#: ../../development/scql_config_manual.rst:90 -#: ../../development/scql_config_manual.rst:92 -#: ../../development/scql_config_manual.rst:279 -#: ../../development/scql_config_manual.rst:295 -#: ../../development/scql_config_manual.rst:301 -#: ../../development/scql_config_manual.rst:313 -#: ../../development/scql_config_manual.rst:317 -#: ../../development/scql_config_manual.rst:329 +#: ../../reference/engine-config.rst:90 ../../reference/engine-config.rst:92 +#: ../../reference/engine-config.rst:326 ../../reference/engine-config.rst:402 +#: ../../reference/engine-config.rst:418 ../../reference/engine-config.rst:424 +#: ../../reference/engine-config.rst:436 ../../reference/engine-config.rst:440 +#: ../../reference/engine-config.rst:452 msgid "false" msgstr "false" -#: ../../development/scql_config_manual.rst:90 +#: ../../reference/engine-config.rst:90 msgid "Whether the rotated log files should be compressed" msgstr "是否对审计日志进行压缩" -#: ../../development/scql_config_manual.rst:92 +#: ../../reference/engine-config.rst:92 ../../reference/engine-config.rst:326 msgid "security_compromise.reveal_group_mark" msgstr "security_compromise.reveal_group_mark" -#: ../../development/scql_config_manual.rst:92 +#: ../../reference/engine-config.rst:92 ../../reference/engine-config.rst:326 msgid "Whether to reveal group_mark directly for group by" msgstr "是否在计算 group by 的时候泄露分组标记信息" -#: ../../development/scql_config_manual.rst:94 +#: ../../reference/engine-config.rst:94 msgid "tls.cert_file" msgstr "tls.cert_file" -#: ../../development/scql_config_manual.rst:94 +#: ../../reference/engine-config.rst:94 msgid "Certificate file path to enable TSL, supports crt/pem type" msgstr "启用支持 crt/pem 类型的TSL证书文件路径" -#: ../../development/scql_config_manual.rst:96 +#: ../../reference/engine-config.rst:96 msgid "tls.key_file" msgstr "tls.key_file" -#: ../../development/scql_config_manual.rst:96 +#: ../../reference/engine-config.rst:96 msgid "Private key file path to enable TSL, supports key/pem type" msgstr "启用支持 key/pem 类型的 TLS 私钥文件路径" -#: ../../development/scql_config_manual.rst:98 +#: ../../reference/engine-config.rst:98 ../../reference/engine-config.rst:328 msgid "storage.type" msgstr "storage.type" -#: ../../development/scql_config_manual.rst:98 -msgid "Database kind in SCDB, supports MYSQL/SQLite3" -msgstr "SCDB的数据库类型支持 MYSQL/SQLite3 " +#: ../../reference/engine-config.rst:98 +msgid "" +"Database kind in SCDB, supports MYSQL/SQLite3, MYSQL is recommended, " +"SQLite3 may have problems with concurrency" +msgstr "SCDB 使用的数据库类型, 支持 MYSQL/SQLite3,推荐使用 MYSQL,SQLite3在并发下可能出问题" -#: ../../development/scql_config_manual.rst:100 +#: ../../reference/engine-config.rst:100 ../../reference/engine-config.rst:330 msgid "storage.conn_str" msgstr "storage.conn_str" -#: ../../development/scql_config_manual.rst:100 +#: ../../reference/engine-config.rst:100 ../../reference/engine-config.rst:330 msgid "Used to connect to a database" msgstr "数据库连接串" -#: ../../development/scql_config_manual.rst:102 +#: ../../reference/engine-config.rst:102 ../../reference/engine-config.rst:332 msgid "storage.max_idle_conns" msgstr "storage.max_idle_conns" -#: ../../development/scql_config_manual.rst:102 -#: ../../development/scql_config_manual.rst:104 +#: ../../reference/engine-config.rst:102 ../../reference/engine-config.rst:104 +#: ../../reference/engine-config.rst:332 ../../reference/engine-config.rst:334 msgid "1" msgstr "1" -#: ../../development/scql_config_manual.rst:102 +#: ../../reference/engine-config.rst:102 ../../reference/engine-config.rst:332 msgid "Maximum number of connections in idle connection pool" msgstr "空闲连接池最大连接数" -#: ../../development/scql_config_manual.rst:104 +#: ../../reference/engine-config.rst:104 ../../reference/engine-config.rst:334 msgid "storage.max_open_conns" msgstr "storage.max_open_conns" -#: ../../development/scql_config_manual.rst:104 +#: ../../reference/engine-config.rst:104 ../../reference/engine-config.rst:334 msgid "Maximum number of open connections to the database" msgstr "数据库最大连接数" -#: ../../development/scql_config_manual.rst:106 +#: ../../reference/engine-config.rst:106 ../../reference/engine-config.rst:336 msgid "storage.conn_max_idle_time" msgstr "storage.conn_max_idle_time" -#: ../../development/scql_config_manual.rst:106 -#: ../../development/scql_config_manual.rst:108 +#: ../../reference/engine-config.rst:106 ../../reference/engine-config.rst:108 +#: ../../reference/engine-config.rst:336 ../../reference/engine-config.rst:338 msgid "-1s" msgstr "-1s" -#: ../../development/scql_config_manual.rst:106 +#: ../../reference/engine-config.rst:106 ../../reference/engine-config.rst:336 msgid "Maximum amount of time a connection may be idle" msgstr "连接处于空闲状态的最长时间" -#: ../../development/scql_config_manual.rst:108 +#: ../../reference/engine-config.rst:108 ../../reference/engine-config.rst:338 msgid "storage.conn_max_lifetime" msgstr "storage.conn_max_lifetime" -#: ../../development/scql_config_manual.rst:108 +#: ../../reference/engine-config.rst:108 ../../reference/engine-config.rst:338 msgid "Maximum amount of time a connection may be reused" msgstr "可重复连接使用的最长时间" -#: ../../development/scql_config_manual.rst:110 +#: ../../reference/engine-config.rst:110 ../../reference/engine-config.rst:320 msgid "engine.timeout" msgstr "engine.timeout" -#: ../../development/scql_config_manual.rst:110 +#: ../../reference/engine-config.rst:110 msgid "Timeout for SCDB to send message to engine" msgstr "SCDB 向 SCQLEngine 发送消息的响应超时时间" -#: ../../development/scql_config_manual.rst:112 +#: ../../reference/engine-config.rst:112 ../../reference/engine-config.rst:322 msgid "engine.protocol" msgstr "engine.protocol" -#: ../../development/scql_config_manual.rst:112 +#: ../../reference/engine-config.rst:112 msgid "The transfer protocol of Engine, support http/https" msgstr "SCQLEngine 传输协议,支持 http/https" -#: ../../development/scql_config_manual.rst:114 +#: ../../reference/engine-config.rst:114 ../../reference/engine-config.rst:324 msgid "engine.content_type" msgstr "engine.content_type" -#: ../../development/scql_config_manual.rst:114 +#: ../../reference/engine-config.rst:114 msgid "The original media type in post body from SCDB to engine" msgstr "从 SCDB 向 SCQLEngine 实际发送的数据类型" -#: ../../development/scql_config_manual.rst:116 +#: ../../reference/engine-config.rst:116 msgid "engine.spu.protocol" msgstr "engine.spu.protocol" -#: ../../development/scql_config_manual.rst:116 +#: ../../reference/engine-config.rst:116 msgid "The mpc protocol for engine to work with" msgstr "SCQLEngine 使用的 mpc 协议" -#: ../../development/scql_config_manual.rst:118 +#: ../../reference/engine-config.rst:118 msgid "engine.spu.field" msgstr "engine.spu.field" -#: ../../development/scql_config_manual.rst:118 +#: ../../reference/engine-config.rst:118 msgid "A security parameter type for engine to work with" msgstr "SCQLEngine 所使用的安全参数类型" -#: ../../development/scql_config_manual.rst:120 +#: ../../reference/engine-config.rst:120 msgid "engine.spu.sigmoid_mode" msgstr "engine.spu.sigmoid_mode" -#: ../../development/scql_config_manual.rst:120 +#: ../../reference/engine-config.rst:120 msgid "The sigmoid approximation method for engine to work with" msgstr "SCQLEngine 中 MPC 协议中的 Sigmoid 方法" -#: ../../development/scql_config_manual.rst:122 +#: ../../reference/engine-config.rst:122 msgid "party_auth.method" msgstr "party_auth.method" -#: ../../development/scql_config_manual.rst:122 +#: ../../reference/engine-config.rst:122 msgid "pubkey" msgstr "pubkey" -#: ../../development/scql_config_manual.rst:122 +#: ../../reference/engine-config.rst:122 msgid "" "Method to authenticate the participant when registering a user, supports " "pubkey/token" msgstr "注册用户时验证参与者的方法,支持 pubkey/token 认证" -#: ../../development/scql_config_manual.rst:124 +#: ../../reference/engine-config.rst:124 msgid "party_auth.enable_timestamp_check" msgstr "party_auth.enable_timestamp_check" -#: ../../development/scql_config_manual.rst:124 +#: ../../reference/engine-config.rst:124 msgid "" "When using pubkey authentication, whether to check the signed timestamp " "to avoid `replay attacks`_" msgstr "使用 pubkey 认证时,是否检查签名时间戳以避免 `replay attacks`_" -#: ../../development/scql_config_manual.rst:126 +#: ../../reference/engine-config.rst:126 msgid "party_auth.validity_period" msgstr "party_auth.validity_period" -#: ../../development/scql_config_manual.rst:126 +#: ../../reference/engine-config.rst:126 msgid "30s" msgstr "30s" -#: ../../development/scql_config_manual.rst:126 +#: ../../reference/engine-config.rst:126 msgid "" "When enable timestamp check, SCDB will check whether signed timestamp is" " within (now() - validity_period, now())" msgstr "当启用时间戳检查时,SCDB 将检查签名时间戳是否在 (now() - valid_period, now()) 内" -#: ../../development/scql_config_manual.rst:130 +#: ../../reference/engine-config.rst:133 msgid "Config for SecurityCompromise" msgstr "安全退让配置" -#: ../../development/scql_config_manual.rst:132 +#: ../../reference/engine-config.rst:135 msgid "" "SCDB provides some security compromise options, which can be selectively " "enabled when the security risk is acceptable to speed up the overall " "operation." msgstr "SCDB 提供了一些安全妥协选项,当安全风险可以接受时可以选择性地启用这些选项,以加快整体运行速度" -#: ../../development/scql_config_manual.rst:134 +#: ../../reference/engine-config.rst:137 msgid "" "1. reveal_group_mark: default disable, if enabled, SCDB will expose " "grouping information(size of each group) when calculating group-by-" @@ -465,18 +453,18 @@ msgid "" "``risk``: group size will be leaked, which is equivalent to the result of" " count(*)" msgstr "" -"1. reveal_group_mark: 默认禁用,如果启用,SCDB 在计算分组聚合时会公开分组信息(每个组的大小),从而避免前置 shuffle " -"带来的开销。``风险``:分组大小会泄露,等价于泄露 count(*) 的结果" +"1. reveal_group_mark: 默认禁用,如果启用,SCDB 在计算分组聚合时会公开分组信息(每个组的大小),从而避免前置 " +"shuffle 带来的开销。``风险``:分组大小会泄露,等价于泄露 count(*) 的结果" -#: ../../development/scql_config_manual.rst:137 +#: ../../reference/engine-config.rst:140 msgid "A typical config of security_compromise can be like:" msgstr "典型的配置如下:" -#: ../../development/scql_config_manual.rst:145 +#: ../../reference/engine-config.rst:151 msgid "Config for storage" msgstr "存储配置" -#: ../../development/scql_config_manual.rst:146 +#: ../../reference/engine-config.rst:152 msgid "" "Database in SCDB is used to store the SCQL system data, such as CCL and " "user information, currently SCDB support MySQL/SQLite3. You can connect " @@ -485,21 +473,21 @@ msgstr "" "SCDB 中的数据库用于存储 SCQL 系统数据,如 CCL 和用户信息,目前 SCDB 支持 MySQL/SQLite3 。您可以通过配置项 " "``conn_str`` 和 ``type`` 来连接不同的数据库。" -#: ../../development/scql_config_manual.rst:149 +#: ../../reference/engine-config.rst:155 msgid "type" msgstr "type" -#: ../../development/scql_config_manual.rst:149 +#: ../../reference/engine-config.rst:155 msgid "" "The database type, which can be set as mysql/sqlite. And MySQL is " "recommended, which has been fully tested." msgstr "数据库类型可以设置为 mysql/sqlite,我们更加推荐使用 MySQL 来作为 SCDB 的数据库,其相关测试更加充分。" -#: ../../development/scql_config_manual.rst:167 +#: ../../reference/engine-config.rst:173 msgid "conn_str" msgstr "conn_str" -#: ../../development/scql_config_manual.rst:152 +#: ../../reference/engine-config.rst:158 msgid "" "MySQL string format, see `dsn-data-source-name `_ for more information." @@ -507,39 +495,39 @@ msgstr "" "MySQL语句格式, 更多信息请参考: `dsn-data-source-name `_ " -#: ../../development/scql_config_manual.rst:154 +#: ../../reference/engine-config.rst:160 msgid "[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN]" msgstr "[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN]" -#: ../../development/scql_config_manual.rst:157 +#: ../../reference/engine-config.rst:163 msgid "MySQL string example:" msgstr "MySQL 连接串示例:" -#: ../../development/scql_config_manual.rst:159 +#: ../../reference/engine-config.rst:165 msgid "``user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local&interpolateParams=true``" msgstr "``user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local&interpolateParams=true``" -#: ../../development/scql_config_manual.rst:161 +#: ../../reference/engine-config.rst:167 msgid "SQLite3 string format:" msgstr "SQLite3 连接串示例:" -#: ../../development/scql_config_manual.rst:163 +#: ../../reference/engine-config.rst:169 msgid "more infos: https://github.com/mattn/go-sqlite3#connection-string." msgstr "参考: https://github.com/mattn/go-sqlite3#connection-string. " -#: ../../development/scql_config_manual.rst:165 +#: ../../reference/engine-config.rst:171 msgid "SQLite3 string example:" msgstr "SQLite3 连接串示例:" -#: ../../development/scql_config_manual.rst:167 +#: ../../reference/engine-config.rst:173 msgid "``scdb.db``" msgstr "``scdb.db``" -#: ../../development/scql_config_manual.rst:169 +#: ../../reference/engine-config.rst:175 msgid "A typical config of storage can be like:" msgstr "典型的存储配置如下:" -#: ../../development/scql_config_manual.rst:182 +#: ../../reference/engine-config.rst:188 msgid "" "To handle time.Time correctly, you need to include parseTime as a " "parameter. To fully support UTF-8 encoding, you need to change " @@ -548,18 +536,17 @@ msgstr "" "正确处理 time.Time 需要包含 parseTime 参数。为了完全支持 UTF-8 编码,需要将 ``charset=utf8`` 更改为" " ``charset=utf8mb4`` " -#: ../../development/scql_config_manual.rst:186 -#: ../../development/scql_config_manual.rst:444 +#: ../../reference/engine-config.rst:192 ../../reference/engine-config.rst:584 msgid "Config for audit" msgstr "审计日志配置" -#: ../../development/scql_config_manual.rst:188 +#: ../../reference/engine-config.rst:194 msgid "" "Audit log are used to record the SCDB activities during query execution. " "It has two types: basic audit log and detail audit log." msgstr "SCDB 的审计日志是用来记录 SCDB 在执行 query 过程中所产生的一系列事件,它有两种类型:基础审计日志和补充审计日志。" -#: ../../development/scql_config_manual.rst:190 +#: ../../reference/engine-config.rst:196 msgid "" "The basic audit log are used to record the basic information of a query, " "such as the result and user information, while the detail audit log " @@ -573,7 +560,7 @@ msgstr "" " `scdb_audit " "`_ 。" -#: ../../development/scql_config_manual.rst:192 +#: ../../reference/engine-config.rst:198 msgid "" "When the audit log has reaches the maximum size ( set by " "``audit_max_size``), SCDB will save the audit log as ``name-" @@ -588,7 +575,7 @@ msgstr "" "``audit_log_file`` 中设置的不带后缀的文件名,`timestamp` 是当前时间(格式为 " "`2006-01-02T15-04-05.000`),`ext` 是在 ``audit_log_file`` 中设置的后缀名。" -#: ../../development/scql_config_manual.rst:195 +#: ../../reference/engine-config.rst:201 msgid "" "For example, if ``audit_log_file`` set as `audit/audit.log`, a backup " "created at 6:30pm on Nov 11 2016 would be saved to " @@ -598,11 +585,11 @@ msgstr "" "在2016年11月4日18:30归档的审计日志会被保存至 `./audit/audit-2016-11-04T18-30-00.000.log` " "。" -#: ../../development/scql_config_manual.rst:199 +#: ../../reference/engine-config.rst:205 msgid "Password check" msgstr "密码校验" -#: ../../development/scql_config_manual.rst:200 +#: ../../reference/engine-config.rst:206 msgid "" "``password_check`` serves to validate password strength. For ALTER USER, " "CREATE USER statements, if it's true, the password should be at least 16 " @@ -612,17 +599,17 @@ msgstr "" "`password_check` 用于验证密码强度校验。如果该参数设置为true, 对于 ALTER USER、CREATE USER " "语句,其所涉及的密码长度至少为 16 个字符,其中包括数字、小写字母、大写字母和特殊字符。" -#: ../../development/scql_config_manual.rst:206 +#: ../../reference/engine-config.rst:212 msgid "Config for TLS" msgstr "TLS 配置" -#: ../../development/scql_config_manual.rst:207 +#: ../../reference/engine-config.rst:213 msgid "" "If you need to enable TLS in SCDB, please refer to the following " "configuration." msgstr "如果需要在 SCDB 中启用 TLS ,请参考以下配置。" -#: ../../development/scql_config_manual.rst:219 +#: ../../reference/engine-config.rst:225 msgid "" "Additionally, it is necessary to configure the SCQLEngine to work with " "SSL, please refer :ref:`Config for SSL in SCQLEngine `." @@ -630,11 +617,11 @@ msgstr "" "除此之外,用户还需要设置 :ref:`SCQLEngine 的 SSL 配置 `,以保证 SCDB 和 " "SCQLEngine 能正常工作。" -#: ../../development/scql_config_manual.rst:223 +#: ../../reference/engine-config.rst:229 msgid "Config for SPU" msgstr "SPU 配置" -#: ../../development/scql_config_manual.rst:224 +#: ../../reference/engine-config.rst:230 msgid "" "SCQL supports different mpc protocol powered by SPU, you can choose " "different mpc protocol by setting SPU runtime config. Protocol **SEMI2K**" @@ -647,408 +634,633 @@ msgstr "" "`_" " 。" -#: ../../development/scql_config_manual.rst:236 +#: ../../reference/engine-config.rst:244 +msgid "SCQLBroker configuration options" +msgstr "SCQLBroker 配置说明" + +#: ../../reference/engine-config.rst:246 +msgid "" +"SCQLBroker, like SCDB, uses yaml files to configure parameters, The " +"majority of their configuration items are the same." +msgstr "SCQLBroker 和 SCDB一样,使用 yaml 文件配置参数,两者的配置项也大体相同" + +#: ../../reference/engine-config.rst:249 +msgid "Example for SCQLBroker" +msgstr "SCQLBroker 配置示例" + +#: ../../reference/engine-config.rst:281 +msgid "Config in SCQLBroker" +msgstr "SCQLBroker 配置" + +#: ../../reference/engine-config.rst:286 +msgid "intra_server.host" +msgstr "intra_server.host" + +#: ../../reference/engine-config.rst:286 +msgid "127.0.0.1" +msgstr "127.0.0.1" + +#: ../../reference/engine-config.rst:286 +msgid "" +"The host where SCQLBroker listens for IntraServer requests, default " +"localhost for safety" +msgstr "SCQLBroker 监听 IntraServer 请求的 host,为了安全起见,默认 localhost" + +#: ../../reference/engine-config.rst:288 +msgid "intra_server.port" +msgstr "intra_server.port" + +#: ../../reference/engine-config.rst:288 +msgid "The port on which SCQLBroker listens for IntraServer requests" +msgstr "SCQLBroker 监听 IntraServer 请求的端口" + +#: ../../reference/engine-config.rst:290 +msgid "intra_server.protocol" +msgstr "intra_server.protocol" + +#: ../../reference/engine-config.rst:290 ../../reference/engine-config.rst:300 +#: ../../reference/engine-config.rst:322 +msgid "http" +msgstr "http" + +#: ../../reference/engine-config.rst:290 +msgid "The transfer protocol of IntraServer, supports HTTP/HTTPS" +msgstr "IntraServer 传输协议,支持 HTTP/HTTPS" + +#: ../../reference/engine-config.rst:292 +msgid "intra_server.cert_file" +msgstr "intra_server.cert_file" + +#: ../../reference/engine-config.rst:292 +msgid "" +"Certificate file path for IntraServer to enable HTTPS, supports crt/pem " +"type" +msgstr "启用 IntraServer HTTPS 的证书文件路径,支持 crt/pem 类型" + +#: ../../reference/engine-config.rst:294 +msgid "intra_server.key_file" +msgstr "intra_server.key_file" + +#: ../../reference/engine-config.rst:294 +msgid "" +"Private key file path for IntraServer to enable HTTPS, supports key/pem " +"type" +msgstr "启用 IntraServer HTTPS 的私钥文件路径,支持 key/pem 类型" + +#: ../../reference/engine-config.rst:296 +msgid "inter_server.host" +msgstr "" + +#: ../../reference/engine-config.rst:296 +msgid "The host where SCQLBroker listens for InterServer requests" +msgstr "SCQLBroker 监听 InterServer 请求的 host" + +#: ../../reference/engine-config.rst:298 +msgid "inter_server.port" +msgstr "" + +#: ../../reference/engine-config.rst:298 +msgid "The port on which SCQLBroker listens for InterServer requests" +msgstr "SCQLBroker 监听 InterServer 请求的端口" + +#: ../../reference/engine-config.rst:300 +msgid "inter_server.protocol" +msgstr "" + +#: ../../reference/engine-config.rst:300 +msgid "The transfer protocol of InterServer, supports HTTP/HTTPS" +msgstr "InterServer 的传输协议,支持 HTTP/HTTPS" + +#: ../../reference/engine-config.rst:302 +msgid "inter_server.cert_file" +msgstr "" + +#: ../../reference/engine-config.rst:302 +msgid "" +"Certificate file path for InterServer to enable HTTPS, supports crt/pem " +"type" +msgstr "启用 InterServer HTTPS 的证书文件路径,支持 crt/pem 类型" + +#: ../../reference/engine-config.rst:304 +msgid "inter_server.key_file" +msgstr "" + +#: ../../reference/engine-config.rst:304 +msgid "" +"Private key file path for InterServer to enable HTTPS, supports key/pem " +"type" +msgstr "启用 InterServer HTTPS 的私钥文件路径,支持 key/pem 类型" + +#: ../../reference/engine-config.rst:306 +msgid "inter_timeout" +msgstr "" + +#: ../../reference/engine-config.rst:306 +msgid "5s" +msgstr "" + +#: ../../reference/engine-config.rst:306 +msgid "Timeout for requesting InterServe" +msgstr "InterServer 的请求超时时间" + +#: ../../reference/engine-config.rst:310 +msgid "party_code" +msgstr "" + +#: ../../reference/engine-config.rst:310 +msgid "Unique identifier used to identify the party" +msgstr "用于识别参与方的唯一标识" + +#: ../../reference/engine-config.rst:312 +msgid "party_info_file" +msgstr "" + +#: ../../reference/engine-config.rst:312 +msgid "" +"File path that stores information of each party, including party code, " +"public key and InterServer's URL" +msgstr "存储参与方信息的文件路径,包括各参与方的 party code 、公钥和 InterServer 的 URL" + +#: ../../reference/engine-config.rst:314 +msgid "private_pem_path" +msgstr "" + +#: ../../reference/engine-config.rst:314 +msgid "" +"Private key file path for party_code, which will be used to sign requests" +" to other SCQLBrokers" +msgstr "party_code 的私钥文件路径,将用于签署对其他 SCQLBrokers 的请求" + +#: ../../reference/engine-config.rst:316 +msgid "intra_host" +msgstr "intra_host" + +#: ../../reference/engine-config.rst:316 +msgid "The callback URL for the local SCQLEngine to notify SCQLBroker" +msgstr "SCQLEngine 通知 SCQLBroker 的回调 URL" + +#: ../../reference/engine-config.rst:318 +msgid "engines" +msgstr "engines" + +#: ../../reference/engine-config.rst:318 +msgid "The URLs for local available SCQLEngines" +msgstr "本地可用 SCQLEngine 的 URL" + +#: ../../reference/engine-config.rst:320 +msgid "Timeout for SCQLBroker to send message to SCQLEngine" +msgstr "SCQLBroker 向 SCQLEngine 发送消息的响应超时时间" + +#: ../../reference/engine-config.rst:322 +msgid "The transfer protocol of SCQLEngine, support http/https" +msgstr "SCQLEngine 传输协议,支持 http/https" + +#: ../../reference/engine-config.rst:324 +msgid "The original media type in post body from SCQLBroker to SCQLEngine" +msgstr "从 SCQLBroker 向 SCQLEngine 实际发送的数据类型" + +#: ../../reference/engine-config.rst:328 +msgid "" +"Database kind in SCQLBroker, supports MYSQL/SQLite3, MYSQL is " +"recommended, SQLite3 may have problems with concurrency" +msgstr "SCQLBroker 使用的数据库类型, 支持 MYSQL/SQLite3,推荐使用 MYSQL,SQLite3在并发下可能出问题" + +#: ../../reference/engine-config.rst:342 +msgid "Config for ServerConfig" +msgstr "ServerConfig 配置" + +#: ../../reference/engine-config.rst:343 +msgid "" +"SCQLBroker accept intra-domain requests through IntraServer, while accept" +" requests between different SCQLBrokers through InterServer." +msgstr "SCQLBroker 通过IntraServer 接收域内请求,而通过 InterServer 接收不同 SCQLBroker 之间的请求。" + +#: ../../reference/engine-config.rst:345 +msgid "" +"IntraServer is recommended to use localhost host or LAN address to avoid " +"external attacks, while InterServer is recommended to enable HTTPS to " +"improve security." +msgstr "" +"IntraServer 建议使用 localhost 或 LAN 地址以避免外部攻击,而 InterServer 建议启用 HTTPS " +"以提高安全性。" + +#: ../../reference/engine-config.rst:349 +msgid "Reused Config" +msgstr "复用的配置" + +#: ../../reference/engine-config.rst:351 +msgid "" +"For more about SecurityCompromise, see :ref:`Config for " +"SecurityCompromise `" +msgstr "" +"有关 SecurityCompromise 的更多信息,请参阅 :ref:`安全退让配置 " +"`" + +#: ../../reference/engine-config.rst:353 +msgid "" +"For more about Storage, see :ref:`Config for storage " +"`" +msgstr "有关存储的更多信息,请参阅 :ref:`存储配置 `" + +#: ../../reference/engine-config.rst:359 msgid "SCQLEngine configuration options" msgstr "SCQLEngine 配置说明" -#: ../../development/scql_config_manual.rst:237 +#: ../../reference/engine-config.rst:360 msgid "SCQLEngine uses Gflags to manage configurations when SCQLEngine set up." msgstr "SCQLEngine 使用 Gflags 来管理配置项。" -#: ../../development/scql_config_manual.rst:240 +#: ../../reference/engine-config.rst:363 msgid "Example for SCQLEngine" msgstr "SCQLEngine 配置示例" -#: ../../development/scql_config_manual.rst:252 +#: ../../reference/engine-config.rst:375 msgid "Config in SCQLEngine" msgstr "SCQLEngine 配置项" -#: ../../development/scql_config_manual.rst:257 +#: ../../reference/engine-config.rst:380 msgid "log_enable_console_logger" msgstr "log_enable_console_logger" -#: ../../development/scql_config_manual.rst:257 +#: ../../reference/engine-config.rst:380 msgid "Whether logging to stdout while logging to file" msgstr "是否记录日志文件到控制台" -#: ../../development/scql_config_manual.rst:259 +#: ../../reference/engine-config.rst:382 msgid "log_dir" msgstr "log_dir" -#: ../../development/scql_config_manual.rst:259 +#: ../../reference/engine-config.rst:382 msgid "logs" msgstr "logs" -#: ../../development/scql_config_manual.rst:259 +#: ../../reference/engine-config.rst:382 msgid "The directory to save log file" msgstr "保存log文件的目录" -#: ../../development/scql_config_manual.rst:261 +#: ../../reference/engine-config.rst:384 msgid "Whether to enable audit log" msgstr "是否记录审计日志" -#: ../../development/scql_config_manual.rst:263 +#: ../../reference/engine-config.rst:386 msgid "audit_log_file" msgstr "audit_log_file" -#: ../../development/scql_config_manual.rst:265 +#: ../../reference/engine-config.rst:388 msgid "audit_detail_file" msgstr "audit_detail_file" -#: ../../development/scql_config_manual.rst:267 +#: ../../reference/engine-config.rst:390 msgid "audit_max_files" msgstr "audit_max_files" -#: ../../development/scql_config_manual.rst:267 +#: ../../reference/engine-config.rst:390 msgid "The maximum number of old audit log files to retain" msgstr "系统中保留的审计日志文件的最大数量,0 表示保留所有的日志文件" -#: ../../development/scql_config_manual.rst:269 +#: ../../reference/engine-config.rst:392 msgid "peer_engine_protocol" msgstr "peer_engine_protocol" -#: ../../development/scql_config_manual.rst:269 -#: ../../development/scql_config_manual.rst:285 +#: ../../reference/engine-config.rst:392 ../../reference/engine-config.rst:408 msgid "`http:proto`" msgstr "`http:proto`" -#: ../../development/scql_config_manual.rst:269 +#: ../../reference/engine-config.rst:392 msgid "The rpc protocol between engine and engine" msgstr "SCQLEngine 与 SCQLEngine 之间的rpc协议" -#: ../../development/scql_config_manual.rst:271 +#: ../../reference/engine-config.rst:394 msgid "peer_engine_connection_type" msgstr "peer_engine_connection_type" -#: ../../development/scql_config_manual.rst:271 -#: ../../development/scql_config_manual.rst:287 +#: ../../reference/engine-config.rst:394 ../../reference/engine-config.rst:410 msgid "pooled" msgstr "pooled" -#: ../../development/scql_config_manual.rst:271 +#: ../../reference/engine-config.rst:394 msgid "The rpc connection type between engine and engine" msgstr "SCQLEngine 与SCQLEngine 之间的 rpc 连接类型" -#: ../../development/scql_config_manual.rst:273 +#: ../../reference/engine-config.rst:396 msgid "peer_engine_timeout_ms" msgstr "peer_engine_timeout_ms" -#: ../../development/scql_config_manual.rst:273 +#: ../../reference/engine-config.rst:396 msgid "300000" msgstr "300000" -#: ../../development/scql_config_manual.rst:273 +#: ../../reference/engine-config.rst:396 msgid "The rpc timeout between engine and engine, unit: ms" msgstr "SCQLEngine 与 SCQLEngine之间的 rpc 超时时间,单位:ms" -#: ../../development/scql_config_manual.rst:275 +#: ../../reference/engine-config.rst:398 msgid "peer_engine_max_retry" msgstr "peer_engine_max_retry" -#: ../../development/scql_config_manual.rst:275 -#: ../../development/scql_config_manual.rst:291 +#: ../../reference/engine-config.rst:398 ../../reference/engine-config.rst:414 msgid "3" msgstr "3" -#: ../../development/scql_config_manual.rst:275 +#: ../../reference/engine-config.rst:398 msgid "Rpc max retries(not including the first rpc) between engine and engine" msgstr "SCQLEngine 与 SCQLEngine 之间的rpc最大重试次数(不包括第一个rpc)" -#: ../../development/scql_config_manual.rst:277 +#: ../../reference/engine-config.rst:400 msgid "peer_engine_enable_ssl_as_client" msgstr "peer_engine_enable_ssl_as_client" -#: ../../development/scql_config_manual.rst:277 +#: ../../reference/engine-config.rst:400 msgid "Whether enable ssl encryption when send message to another engine" msgstr "SCQLEngine 与 SCQLEngine 之间发送消息是否启用ssl加密" -#: ../../development/scql_config_manual.rst:279 +#: ../../reference/engine-config.rst:402 msgid "peer_engine_enable_ssl_client_verification" msgstr "peer_engine_enable_ssl_client_verification" -#: ../../development/scql_config_manual.rst:279 +#: ../../reference/engine-config.rst:402 msgid "" "Whether enable certificate verification when send message to another " "engine" msgstr "作为客户端时,是否验证来自其他 SCQLEngine 的证书" -#: ../../development/scql_config_manual.rst:281 +#: ../../reference/engine-config.rst:404 msgid "peer_engine_ssl_client_ca_certificate" msgstr "peer_engine_ssl_client_ca_certificate" -#: ../../development/scql_config_manual.rst:281 +#: ../../reference/engine-config.rst:404 msgid "" "The trusted CA file to verify certificate when send message to another " "engine" msgstr "可信 CA 文件,作为客户端时,用于验证来自其他 SCQLEngine 的证书" -#: ../../development/scql_config_manual.rst:283 +#: ../../reference/engine-config.rst:406 msgid "link_recv_timeout_ms" msgstr "link_recv_timeout_ms" -#: ../../development/scql_config_manual.rst:283 +#: ../../reference/engine-config.rst:406 msgid "30000" msgstr "30000" -#: ../../development/scql_config_manual.rst:283 +#: ../../reference/engine-config.rst:406 msgid "The max time that engine will wait for message come from another engine" msgstr "等待其他 SCQLEngine 消息的最大响应时间" -#: ../../development/scql_config_manual.rst:285 +#: ../../reference/engine-config.rst:408 msgid "scdb_protocol" msgstr "scdb_protocol" -#: ../../development/scql_config_manual.rst:285 +#: ../../reference/engine-config.rst:408 msgid "The rpc protocol between engine and SCDB" msgstr "SCQLEngine 与 SCDB 之间的 rpc 协议" -#: ../../development/scql_config_manual.rst:287 +#: ../../reference/engine-config.rst:410 msgid "scdb_connection_type" msgstr "scdb_connection_type" -#: ../../development/scql_config_manual.rst:287 +#: ../../reference/engine-config.rst:410 msgid "The rpc connection type between engine and SCDB" msgstr "SCQLEngine 与 SCDB 之间的 rpc 连接类型" -#: ../../development/scql_config_manual.rst:289 +#: ../../reference/engine-config.rst:412 msgid "scdb_timeout_ms" msgstr "scdb_timeout_ms" -#: ../../development/scql_config_manual.rst:289 +#: ../../reference/engine-config.rst:412 msgid "5000" msgstr "5000" -#: ../../development/scql_config_manual.rst:289 +#: ../../reference/engine-config.rst:412 msgid "The rpc timeout between engine and SCDB, unit: ms" msgstr "SCQLEngine 与 SCDB 之间的 rpc 超时时间,单位:ms" -#: ../../development/scql_config_manual.rst:291 +#: ../../reference/engine-config.rst:414 msgid "scdb_max_retry" msgstr "scdb_max_retry" -#: ../../development/scql_config_manual.rst:291 +#: ../../reference/engine-config.rst:414 msgid "Rpc max retries(not including the first rpc) between engine and SCDB" msgstr "SCQLEngine 和 SCDB 之间的 rpc 最大重试次数(不包括第一个 rpc)" -#: ../../development/scql_config_manual.rst:293 +#: ../../reference/engine-config.rst:416 msgid "scdb_enable_ssl_as_client" msgstr "scdb_enable_ssl_as_client" -#: ../../development/scql_config_manual.rst:293 +#: ../../reference/engine-config.rst:416 msgid "Whether enable ssl encryption when send message to SCDB" msgstr "作为客户端,向 SCDB 发送消息时是否启用 ssl 加密" -#: ../../development/scql_config_manual.rst:295 +#: ../../reference/engine-config.rst:418 msgid "scdb_enable_ssl_client_verification" msgstr "scdb_enable_ssl_client_verification" -#: ../../development/scql_config_manual.rst:295 +#: ../../reference/engine-config.rst:418 msgid "Whether enable certificate verification when send message to SCDB" msgstr "作为客户端,是否验证 SCDB 的证书" -#: ../../development/scql_config_manual.rst:297 +#: ../../reference/engine-config.rst:420 msgid "scdb_ssl_client_ca_certificate" msgstr "scdb_ssl_client_ca_certificate" -#: ../../development/scql_config_manual.rst:297 +#: ../../reference/engine-config.rst:420 msgid "The trusted CA file to verify certificate when send message to SCDB" msgstr "可信 CA 文件,作为客户端时,用于验证 SCDB 的证书" -#: ../../development/scql_config_manual.rst:299 +#: ../../reference/engine-config.rst:422 msgid "listen_port" msgstr "listen_port" -#: ../../development/scql_config_manual.rst:299 +#: ../../reference/engine-config.rst:422 msgid "8003" msgstr "8003" -#: ../../development/scql_config_manual.rst:299 +#: ../../reference/engine-config.rst:422 msgid "The listening port of engine service" msgstr "SCQLEngine 作为服务器的监听端口" -#: ../../development/scql_config_manual.rst:301 +#: ../../reference/engine-config.rst:424 msgid "enable_builtin_service" msgstr "enable_builtin_service" -#: ../../development/scql_config_manual.rst:301 +#: ../../reference/engine-config.rst:424 msgid "Whether enable brpc builtin service" msgstr "是否启用 brpc 内置服务" -#: ../../development/scql_config_manual.rst:303 +#: ../../reference/engine-config.rst:426 msgid "internal_port" msgstr "internal_port" -#: ../../development/scql_config_manual.rst:303 +#: ../../reference/engine-config.rst:426 msgid "9527" msgstr "9527" -#: ../../development/scql_config_manual.rst:303 +#: ../../reference/engine-config.rst:426 msgid "The listening port of brpc builtin services" msgstr " brpc 内置服务的监听端口" -#: ../../development/scql_config_manual.rst:305 +#: ../../reference/engine-config.rst:428 msgid "idle_timeout_s" msgstr "idle_timeout_s" -#: ../../development/scql_config_manual.rst:305 +#: ../../reference/engine-config.rst:428 msgid "30" msgstr "30" -#: ../../development/scql_config_manual.rst:305 +#: ../../reference/engine-config.rst:428 msgid "" "Idle connection close delay in seconds between the engine and SCDB, unit:" " s" msgstr "SCQLEngine 与 SCDB 之间的空闲连接关闭延迟(单位:秒)" -#: ../../development/scql_config_manual.rst:307 +#: ../../reference/engine-config.rst:430 msgid "server_enable_ssl" msgstr "server_enable_ssl" -#: ../../development/scql_config_manual.rst:307 +#: ../../reference/engine-config.rst:430 msgid "Whether enable SSL when engine work as a server" msgstr "SCQLEngine 作为服务器时是否启用SSL" -#: ../../development/scql_config_manual.rst:309 +#: ../../reference/engine-config.rst:432 msgid "server_ssl_certificate" msgstr "server_ssl_certificate" -#: ../../development/scql_config_manual.rst:309 +#: ../../reference/engine-config.rst:432 msgid "Certificate file path to enable SSL when engine work as a server" msgstr "SCQLEngine 作为服务器时启用 SSL 的证书文件路径" -#: ../../development/scql_config_manual.rst:311 +#: ../../reference/engine-config.rst:434 msgid "server_ssl_private_key" msgstr "server_ssl_private_key" -#: ../../development/scql_config_manual.rst:311 +#: ../../reference/engine-config.rst:434 msgid "Private key file path to enable SSL when engine work as a server" msgstr "SCQLEngine 作为服务器时启用 SSL 的私钥文件路径" -#: ../../development/scql_config_manual.rst:313 +#: ../../reference/engine-config.rst:436 msgid "enable_client_authorization" msgstr "enable_client_authorization" -#: ../../development/scql_config_manual.rst:313 +#: ../../reference/engine-config.rst:436 msgid "Whether check requests' http header when engine work as a server" msgstr "SCQLEngine 作为服务器时是否检查请求的 http 头" -#: ../../development/scql_config_manual.rst:315 +#: ../../reference/engine-config.rst:438 msgid "auth_credential" msgstr "auth_credential" -#: ../../development/scql_config_manual.rst:315 +#: ../../reference/engine-config.rst:438 msgid "Authorization credential used to check requests' http header" msgstr "SCQLEngine 作为服务器时用于检查请求的 http 头的 凭证" -#: ../../development/scql_config_manual.rst:317 +#: ../../reference/engine-config.rst:440 msgid "enable_scdb_authorization" msgstr "enable_scdb_authorization" -#: ../../development/scql_config_manual.rst:317 +#: ../../reference/engine-config.rst:440 msgid "Whether to authenticate the identity of SCDB" msgstr "是否启动 SCDB 身份认证" -#: ../../development/scql_config_manual.rst:319 +#: ../../reference/engine-config.rst:442 msgid "engine_credential" msgstr "engine_credential" -#: ../../development/scql_config_manual.rst:319 +#: ../../reference/engine-config.rst:442 msgid "Credential used to authenticate SCDB" msgstr "用于验证 SCDB 的凭证" -#: ../../development/scql_config_manual.rst:321 +#: ../../reference/engine-config.rst:444 msgid "session_timeout_s" msgstr "session_timeout_s" -#: ../../development/scql_config_manual.rst:321 +#: ../../reference/engine-config.rst:444 msgid "1800" msgstr "1800" -#: ../../development/scql_config_manual.rst:321 +#: ../../reference/engine-config.rst:444 msgid "Expiration duration of a session between engine and SCDB, unit: s" msgstr "SCQLEngine 与 SCDB 之间的会话过期时间,单位:秒" -#: ../../development/scql_config_manual.rst:323 +#: ../../reference/engine-config.rst:446 msgid "datasource_router" msgstr "datasource_router" -#: ../../development/scql_config_manual.rst:323 +#: ../../reference/engine-config.rst:446 msgid "embed" msgstr "embed" -#: ../../development/scql_config_manual.rst:323 +#: ../../reference/engine-config.rst:446 msgid "The datasource router type" msgstr "数据源路由类型" -#: ../../development/scql_config_manual.rst:325 +#: ../../reference/engine-config.rst:448 msgid "embed_router_conf" msgstr "embed_router_conf" -#: ../../development/scql_config_manual.rst:325 +#: ../../reference/engine-config.rst:448 msgid "Configuration for embed router in json format" msgstr "数据源的路由配置,其类型为 json 字符串格式" -#: ../../development/scql_config_manual.rst:327 +#: ../../reference/engine-config.rst:450 msgid "db_connection_info" msgstr "db_connection_info" -#: ../../development/scql_config_manual.rst:327 +#: ../../reference/engine-config.rst:450 msgid "Connection string used to connect to mysql" msgstr "用于连接 MySQL 数据库的连接串" -#: ../../development/scql_config_manual.rst:329 +#: ../../reference/engine-config.rst:452 msgid "enable_he_schema_type_ou" msgstr "enable_he_schema_type_ou" -#: ../../development/scql_config_manual.rst:329 +#: ../../reference/engine-config.rst:452 msgid "" "Whether to use OU to speed up HeSum, use ZPaillier by default for " "security, see: `heu/ou`_" msgstr "是否使用OU算法来加速 HeSum, 考虑到更优的安全性,默认使用 ZPaillier, 参见: `heu/ou`_" -#: ../../development/scql_config_manual.rst:331 +#: ../../reference/engine-config.rst:454 msgid "enable_self_auth" msgstr "enable_self_auth" -#: ../../development/scql_config_manual.rst:331 +#: ../../reference/engine-config.rst:454 msgid "Whether enable self identity authentication" msgstr "是否启用自我身份认证" -#: ../../development/scql_config_manual.rst:333 +#: ../../reference/engine-config.rst:456 msgid "private_key_pem_path" msgstr "private_key_pem_path" -#: ../../development/scql_config_manual.rst:333 +#: ../../reference/engine-config.rst:456 msgid "Path to private key pem file" msgstr "私钥 pem 文件的路径" -#: ../../development/scql_config_manual.rst:335 +#: ../../reference/engine-config.rst:458 msgid "enable_peer_auth" msgstr "enable_peer_auth" -#: ../../development/scql_config_manual.rst:335 +#: ../../reference/engine-config.rst:458 msgid "Whether enable peer parties identity authentication" msgstr "是否启用对端身份认证" -#: ../../development/scql_config_manual.rst:337 +#: ../../reference/engine-config.rst:460 msgid "authorized_profile_path" msgstr "authorized_profile_path" -#: ../../development/scql_config_manual.rst:337 +#: ../../reference/engine-config.rst:460 msgid "Path to authorized profile, in json format" msgstr "数据源的路由配置,其类型为 json 字符串格式" -#: ../../development/scql_config_manual.rst:343 +#: ../../reference/engine-config.rst:466 msgid "Config for datasource" msgstr "数据源配置" -#: ../../development/scql_config_manual.rst:344 +#: ../../reference/engine-config.rst:467 msgid "" -"datasources(MySQL/SQLite3/PostgreSQL/CSVDB) are where the SCQLEngine gets" -" its data from." -msgstr "SCQLEngine 支持多种数据源,包括 MySQL/SQLite3/PostgreSQL/CSVDB 。" +"datasources(MySQL/SQLite3/PostgreSQL/CSVDB/ArrowSQL) are where the " +"SCQLEngine gets its data from." +msgstr "SCQLEngine 支持多种数据源,包括 MySQL/SQLite3/PostgreSQL/CSVDB/ArrowSQL 。" -#: ../../development/scql_config_manual.rst:346 +#: ../../reference/engine-config.rst:469 msgid "" "``datasource_router`` is design to support multi datasources, currently " "only supported: embed, which is initialized with ``embed_router_conf`` " @@ -1058,7 +1270,7 @@ msgstr "" "``embed_router_conf`` 来初始化,``embed_router_conf`` 是一个 json " "类型的字符串,一个典型的配置项如下所示:" -#: ../../development/scql_config_manual.rst:364 +#: ../../reference/engine-config.rst:487 msgid "" "if ``embed_router_conf`` is empty, embed_router will try to initialized " "with ``db_connection_info``." @@ -1066,98 +1278,107 @@ msgstr "" "如果 ``embed_router_conf`` 为空, `embed_router` 则会尝试通过 ``db_connection_info``" " 来初始化。" -#: ../../development/scql_config_manual.rst:367 +#: ../../reference/engine-config.rst:490 msgid "Embed router" msgstr "Embed router" -#: ../../development/scql_config_manual.rst:368 +#: ../../reference/engine-config.rst:491 msgid "" "datasources in embed_router_conf contain information for connecting " -"MySQL/SQLite3/PostgreSQL/CSVDB:" +"MySQL/SQLite3/PostgreSQL/CSVDB/ArrowSQL:" msgstr "" -"embed_router_conf 中的 datasources 包含用于连接 MySQL/SQLite3/PostgreSQL/CSVDB " -"数据源的信息:" +"embed_router_conf 中的 datasources 包含用于连接 " +"MySQL/SQLite3/PostgreSQL/CSVDB/ArrowSQL 数据源的信息:" -#: ../../development/scql_config_manual.rst:370 +#: ../../reference/engine-config.rst:493 msgid "id: unique id of datasource." msgstr "id:数据源的唯一ID。" -#: ../../development/scql_config_manual.rst:372 +#: ../../reference/engine-config.rst:495 msgid "name: custom description help to distinguish datasources." msgstr "name:自定义描述,有助于区分数据源。" -#: ../../development/scql_config_manual.rst:374 -msgid "kind: datasource type, currently support MySQL/SQLite3/PostgreSQL/CSVDB." -msgstr "kind:数据源类型,目前支持 MySQL/SQLite3/PostgreSQL/CSVDB。" +#: ../../reference/engine-config.rst:497 +msgid "" +"kind: datasource type, currently support " +"MySQL/SQLite3/PostgreSQL/CSVDB/ArrowSQL." +msgstr "kind:数据源类型,目前支持 MySQL/SQLite3/PostgreSQL/CSVDB/ArrowSQL 。" -#: ../../development/scql_config_manual.rst:376 -msgid "connection_str: string used to connect MySQL/SQLite3/PostgreSQL/CSVDB." -msgstr "connection_str:用于连接 MySQL/SQLite3/PostgreSQL/CSVDB 数据库的连接串。" +#: ../../reference/engine-config.rst:499 +msgid "" +"connection_str: string used to connect " +"MySQL/SQLite3/PostgreSQL/CSVDB/ArrowSQL." +msgstr "connection_str:用于连接 MySQL/SQLite3/PostgreSQL/CSVDB/ArrowSQL 数据库的连接串。" -#: ../../development/scql_config_manual.rst:382 +#: ../../reference/engine-config.rst:508 msgid "MySQL Connection string format:" msgstr "MySQL 连接串格式:" -#: ../../development/scql_config_manual.rst:379 +#: ../../reference/engine-config.rst:502 +msgid " == | ';' " +msgstr "" + +#: ../../reference/engine-config.rst:504 ../../reference/engine-config.rst:522 +msgid " == '=' " +msgstr "" + +#: ../../reference/engine-config.rst:506 msgid "" -" == | ';' == '='" -" == 'host' | 'port' | 'user' | 'password' | 'db' | " -"'compress' | 'auto-reconnect' | 'reset' | 'fail-readonly' == " -"[~;]*" +" == 'host' | 'port' | 'user' | 'password' | 'db' | 'compress' | " +"'auto-reconnect' | 'reset' | 'fail-readonly'" +msgstr "" + +#: ../../reference/engine-config.rst:508 ../../reference/engine-config.rst:526 +msgid " == [~;]*" msgstr "" -" == | ';' == '='" -" == 'host' | 'port' | 'user' | 'password' | 'db' | " -"'compress' | 'auto-reconnect' | 'reset' | 'fail-readonly' == " -"[~;]*" -#: ../../development/scql_config_manual.rst:385 +#: ../../reference/engine-config.rst:511 msgid "MySQL Connection string e.g:" msgstr "MySQL 连接串示例:" -#: ../../development/scql_config_manual.rst:385 -#: ../../development/scql_config_manual.rst:400 +#: ../../reference/engine-config.rst:511 ../../reference/engine-config.rst:529 msgid "``db=${db};user=${user};password=${password};host=${host}``" msgstr "``db=${db};user=${user};password=${password};host=${host}``" -#: ../../development/scql_config_manual.rst:388 +#: ../../reference/engine-config.rst:514 msgid "SQLite3 Connection string format:" msgstr "SQLite3 连接串格式:" -#: ../../development/scql_config_manual.rst:388 +#: ../../reference/engine-config.rst:514 msgid "more infos: https://www.sqlite.org/c3ref/open.html" msgstr "参考:https://www.sqlite.org/c3ref/open.html" -#: ../../development/scql_config_manual.rst:391 +#: ../../reference/engine-config.rst:517 msgid "SQLite3 Connection string e.g:" msgstr "SQLite3 连接串示例" -#: ../../development/scql_config_manual.rst:391 +#: ../../reference/engine-config.rst:517 msgid "``file:data_test.db?mode=memory&cache=shared``" msgstr "``file:data_test.db?mode=memory&cache=shared``" -#: ../../development/scql_config_manual.rst:397 +#: ../../reference/engine-config.rst:526 msgid "PostgreSQL Connection string format:" msgstr "PostgreSQL 连接串格式:" -#: ../../development/scql_config_manual.rst:394 +#: ../../reference/engine-config.rst:520 +msgid " == | ' ' " +msgstr "" + +#: ../../reference/engine-config.rst:524 msgid "" -" == | ' ' == '='" -" == 'host' | 'port' | 'user' | 'password' | 'dbname' | " -"'connect_timeout' == [~;]*" +" == 'host' | 'port' | 'user' | 'password' | 'dbname' | " +"'connect_timeout'" msgstr "" -" == | ' ' == '='" -" == 'host' | 'port' | 'user' | 'password' | 'dbname' | " -"'connect_timeout' == [~;]*" -#: ../../development/scql_config_manual.rst:400 +#: ../../reference/engine-config.rst:529 msgid "PostgreSQL Connection string e.g:" msgstr "PostgreSQL 连接串示例:" -#: ../../development/scql_config_manual.rst:403 +#: ../../reference/engine-config.rst:532 msgid "CSVDB Connection string format:" msgstr "CSVDB 连接串格式:" -#: ../../development/scql_config_manual.rst:403 +#: ../../reference/engine-config.rst:532 msgid "" "Since connection_str is an object in another json object, the format is a" " converted json string corresponding to `CsvdbConf " @@ -1167,19 +1388,49 @@ msgstr "" "`_" " 结构体转换后的的json字符串 " -#: ../../development/scql_config_manual.rst:406 +#: ../../reference/engine-config.rst:535 msgid "CSVDB Connection string e.g:" msgstr "CSVDB连接语句示例:" -#: ../../development/scql_config_manual.rst:406 +#: ../../reference/engine-config.rst:535 msgid "\"{\\\\\\\"db_name\\\\\\\":\\\\\\\"csvdb\\\\\\\",\\\\\\\"tables\\\\\\\":[{\\\\\\\"table_name\\\\\\\":\\\\\\\"staff\\\\\\\",\\\\\\\"data_path\\\\\\\":\\\\\\\"test.csv\\\\\\\",\\\\\\\"columns\\\\\\\":[{\\\\\\\"column_name\\\\\\\":\\\\\\\"id\\\\\\\",\\\\\\\"column_type\\\\\\\":\\\\\\\"1\\\\\\\"}]}]}\"" msgstr "\"{\\\\\\\"db_name\\\\\\\":\\\\\\\"csvdb\\\\\\\",\\\\\\\"tables\\\\\\\":[{\\\\\\\"table_name\\\\\\\":\\\\\\\"staff\\\\\\\",\\\\\\\"data_path\\\\\\\":\\\\\\\"test.csv\\\\\\\",\\\\\\\"columns\\\\\\\":[{\\\\\\\"column_name\\\\\\\":\\\\\\\"id\\\\\\\",\\\\\\\"column_type\\\\\\\":\\\\\\\"1\\\\\\\"}]}]}\"" -#: ../../development/scql_config_manual.rst:409 +#: ../../reference/engine-config.rst:540 +msgid "ArrowSQL Connection string format:" +msgstr "ArrowSQL 连接串格式:" + +#: ../../reference/engine-config.rst:538 +msgid "grpc+://host:port" +msgstr "" + +#: ../../reference/engine-config.rst:540 +msgid " == 'tcp' | 'tls'" +msgstr "" + +#: ../../reference/engine-config.rst:546 +msgid "ArrowSQL Connection string e.g:" +msgstr "ArrowSQL 连接串示例:" + +#: ../../reference/engine-config.rst:543 +msgid "``grpc+tcp://127.0.0.1:6666``" +msgstr "" + +#: ../../reference/engine-config.rst:546 +msgid "" +"As a datasource embedded in SCQLEngine, ArrowSQL requires an additional " +"gRPC server which provides the corresponding interface for executing an " +"ad-hoc query in `Arrow Flight SQL " +"`_" +msgstr "" +"作为 SCQLEngine 内嵌的数据源,ArrowSQL 依赖额外的 gRPC 服务,该服务需要提供相应的接口,用于执行 `Arrow " +"Flight SQL ` 即时查询" + +#: ../../reference/engine-config.rst:549 msgid "Routing rules" msgstr "路由规则" -#: ../../development/scql_config_manual.rst:410 +#: ../../reference/engine-config.rst:550 msgid "" "embed_router's rules support wildcard ``*`` , when given a table in " "format: *database_name:table_name*, embed_router will route to the " @@ -1188,7 +1439,7 @@ msgstr "" "embed_router 的规则支持通配符 ``*`` ,当给定一个 *database_name:table_name* " "的数据表时,embed_router 将通过以下方式路由到对应的数据源:" -#: ../../development/scql_config_manual.rst:413 +#: ../../reference/engine-config.rst:553 msgid "" "find the exact rules first, whose ``${db}:${table}`` equals to " "*database_name:table_name*;" @@ -1196,15 +1447,15 @@ msgstr "" "在 `embed_router_conf` 的 `rules` 中查找 `${db}:${table}` 与 " "`database_name:table_name` 完全相等的 rule" -#: ../../development/scql_config_manual.rst:414 +#: ../../reference/engine-config.rst:554 msgid "try the database_name:\\* rules;" msgstr "在 `embed_router_conf` 的 `rules` 中查找 `${db}` 与 `database_name` 完全相等的 rule" -#: ../../development/scql_config_manual.rst:415 +#: ../../reference/engine-config.rst:555 msgid "try \\*:table_name in the end." msgstr "在 `embed_router_conf` 的 `rules` 中查找 `${table}` 与 `table_name` 完全相等的 rule" -#: ../../development/scql_config_manual.rst:417 +#: ../../reference/engine-config.rst:557 msgid "" "Once found, SCQLEngine will try to connect database with datasource's " "information correspond to the *datasource_id*." @@ -1212,11 +1463,11 @@ msgstr "" "一旦找到对应的 rule ,SCQLEngine 将根据 rule 中 datasource_id 在 datasources 中找到 " "对应的数据源信息,并根据这些信息连接对应的数据库。" -#: ../../development/scql_config_manual.rst:420 +#: ../../reference/engine-config.rst:560 msgid "Config for Brpc server" msgstr "Brpc 服务器配置" -#: ../../development/scql_config_manual.rst:421 +#: ../../reference/engine-config.rst:561 msgid "" "SCQLEngine uses **Brpc** to communicate with SCDB and other peer " "SCQLEngines, each SCQLEngine will start a Brpc service on *local-" @@ -1226,11 +1477,11 @@ msgstr "" "SCQLEngine 使用 Brpc 与 SCDB 以及其他的 SCQLEngine 进行通信,每个 SCQLEngine 都会在 local-" "host:listen_port 上启动 Brpc 服务以接收来自外部的数据。如果要启用 Brpc 内置服务,请添加 FLAGS:" -#: ../../development/scql_config_manual.rst:432 +#: ../../reference/engine-config.rst:572 msgid "Config for SSL" msgstr "SSL配置" -#: ../../development/scql_config_manual.rst:433 +#: ../../reference/engine-config.rst:573 msgid "" "If you want to enable SSL in SCQLEngine, add FLAGS as follows. " "Additionally, it may be necessary to configure SCDB work with TLS please " @@ -1239,7 +1490,7 @@ msgstr "" "如果要在 Engine 中启用 SSL,请添加 FLAGS,如下所示。 此外,可能需要配置 SCDB 与 TLS 一起运行,请参考 " ":ref:`SCDB 的 TLS 配置 `。" -#: ../../development/scql_config_manual.rst:445 +#: ../../reference/engine-config.rst:585 msgid "" "The audit log in SCQLEngine is used to record the SCQLEngine activities " "during the execution of tasks from SCDB. Just like the audit in SCDB, it " @@ -1249,7 +1500,7 @@ msgstr "" "SCQLEngine 的审计日志是用来记录 SCQLEngine 在执行 SCDB 下发任务过程中所产生的一系列事件,和 SCDB " "一样,它也有两种类型:基础审计日志和详补充审计日志" -#: ../../development/scql_config_manual.rst:447 +#: ../../reference/engine-config.rst:587 msgid "" "The common audit is used to record some basic information about a task, " "while the detail audit is used to record more detailed information of the" @@ -1262,7 +1513,7 @@ msgstr "" "`_" " 。" -#: ../../development/scql_config_manual.rst:449 +#: ../../reference/engine-config.rst:589 msgid "" "The log file is rotated in every 24:00:00 in local time, and the filename" " is generated in the format ``name-date.ext``, where `name` is the " @@ -1274,7 +1525,7 @@ msgstr "" ",其中 `name` 是在 ``audit_log_file`` 中设置的不带后缀的文件名, `date` 是当前的日期(格式为 `YYYY-" "MM-DD`), `ext` 是在 ``audit_log_file`` 中设置的后缀名。" -#: ../../development/scql_config_manual.rst:452 +#: ../../reference/engine-config.rst:592 msgid "" "For example, if you set ``audit_log_file`` as `audit/audit.log`, a backup" " created on Nov 11 2016 would be saved to `/audit/audit_2016-11-04.log`" @@ -1282,16 +1533,22 @@ msgstr "" "例如,通过设置 ``audit_log_file`` 为 `audit/audit.log`,在2016年11月4日 24:00:00 " "归档的审计日志会保存至 `./audit/audit_2016-11-04.log` 。" -#: ../../development/scql_config_manual.rst:455 +#: ../../reference/engine-config.rst:595 msgid "Config for party authentication" msgstr "参与方身份验证配置" -#: ../../development/scql_config_manual.rst:456 +#: ../../reference/engine-config.rst:596 msgid "" "For security, SCQLEngine enables party authentication by default. " "SCQLEngine will check it's public key in the SCDB request matches the " "local public key in ``private_key_pem_path``, and that the other " "participant's public key also matches the one in " "``authorized_profile_path``." -msgstr "安全起见,SCQLEngine 默认启用参与方身份验证。 SCQLEngine 将检查 SCDB 请求中自身的公钥是否与 ``private_key_pem_path`` 中的本地公钥匹配,并且其他参与者的公钥也与 ``authorized_profile_path`` 中的公钥匹配。" +msgstr "" +"安全起见,SCQLEngine 默认启用参与方身份验证。 SCQLEngine 将检查 SCDB 请求中自身的公钥是否与 " +"``private_key_pem_path`` 中的本地公钥匹配,并且其他参与者的公钥也与 " +"``authorized_profile_path`` 中的公钥匹配。" + +#~ msgid "Database kind in SCDB, supports MYSQL/SQLite3" +#~ msgstr "SCDB的数据库类型支持 MYSQL/SQLite3 " diff --git a/docs/locales/zh_CN/LC_MESSAGES/reference/implementation-status.po b/docs/locales/zh_CN/LC_MESSAGES/reference/implementation-status.po index 212f3172..811c4370 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/reference/implementation-status.po +++ b/docs/locales/zh_CN/LC_MESSAGES/reference/implementation-status.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SCQL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-12 08:14+0800\n" +"POT-Creation-Date: 2023-11-16 10:08+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.13.0\n" +"Generated-By: Babel 2.12.1\n" #: ../../reference/implementation-status.rst:2 msgid "SCQL Implementation Status" @@ -32,13 +32,13 @@ msgstr "语法" #: ../../reference/implementation-status.rst:8 #: ../../reference/implementation-status.rst:32 -#: ../../reference/implementation-status.rst:59 +#: ../../reference/implementation-status.rst:71 msgid "supported(fully/partial/no)" msgstr "支持程度(完全/部分/未支持)" #: ../../reference/implementation-status.rst:8 #: ../../reference/implementation-status.rst:32 -#: ../../reference/implementation-status.rst:59 +#: ../../reference/implementation-status.rst:71 msgid "notes" msgstr "说明" @@ -49,8 +49,14 @@ msgstr "join" #: ../../reference/implementation-status.rst:10 #: ../../reference/implementation-status.rst:48 #: ../../reference/implementation-status.rst:52 -#: ../../reference/implementation-status.rst:63 -#: ../../reference/implementation-status.rst:65 +#: ../../reference/implementation-status.rst:54 +#: ../../reference/implementation-status.rst:56 +#: ../../reference/implementation-status.rst:58 +#: ../../reference/implementation-status.rst:60 +#: ../../reference/implementation-status.rst:62 +#: ../../reference/implementation-status.rst:64 +#: ../../reference/implementation-status.rst:75 +#: ../../reference/implementation-status.rst:77 msgid "partial" msgstr "部分" @@ -75,7 +81,7 @@ msgstr "where 子句" #: ../../reference/implementation-status.rst:44 #: ../../reference/implementation-status.rst:46 #: ../../reference/implementation-status.rst:50 -#: ../../reference/implementation-status.rst:61 +#: ../../reference/implementation-status.rst:73 msgid "fully" msgstr "完全" @@ -194,31 +200,91 @@ msgstr "in, not in" msgid "all arguments should be of the same type" msgstr "所有参数应为同一类型" +#: ../../reference/implementation-status.rst:54 +#: ../../reference/implementation-status.rst:56 +#: ../../reference/implementation-status.rst:58 +#: ../../reference/implementation-status.rst:60 +#: ../../reference/implementation-status.rst:62 +#: ../../reference/implementation-status.rst:64 +msgid "datetime" +msgstr "" + +#: ../../reference/implementation-status.rst:54 +msgid "now" +msgstr "" + +#: ../../reference/implementation-status.rst:54 +msgid "no arguments, affected by timezone" +msgstr "无参数,受时区影响" + #: ../../reference/implementation-status.rst:56 +msgid "curdate" +msgstr "" + +#: ../../reference/implementation-status.rst:56 +msgid "" +"no arguments, different datasource may have different result because of " +"timezone" +msgstr "无参数,受时区影响,不同的数据源可能有不同的结果" + +#: ../../reference/implementation-status.rst:58 +msgid "last_day" +msgstr "" + +#: ../../reference/implementation-status.rst:58 +#: ../../reference/implementation-status.rst:60 +msgid "arguments must be datetime or timestamp, not supported by PostgreSQL" +msgstr "参数必须是 datetime 或者 timestamp ,不支持 PostgreSQL " + +#: ../../reference/implementation-status.rst:60 +msgid "str_to_date, date_format" +msgstr "" + +#: ../../reference/implementation-status.rst:62 +msgid "adddate, subdate" +msgstr "" + +#: ../../reference/implementation-status.rst:62 +msgid "" +"the first argument must be datetime or timestamp, second argument is " +"interval" +msgstr "第一个参数必须是 datetime 或者 timestamp,第二个参数是间隔" + +#: ../../reference/implementation-status.rst:64 +msgid "datediff" +msgstr "" + +#: ../../reference/implementation-status.rst:64 +msgid "" +"arguments must be datetime or timestamp, not supported by PostgreSQL and " +"csv" +msgstr "参数必须是 datetime 或者 timestamp ,不支持 PostgreSQL 和 csv " + +#: ../../reference/implementation-status.rst:68 msgid "Data Source" msgstr "数据源" -#: ../../reference/implementation-status.rst:59 +#: ../../reference/implementation-status.rst:71 msgid "Database Type" msgstr "数据库类型" -#: ../../reference/implementation-status.rst:61 +#: ../../reference/implementation-status.rst:73 msgid "MySQL" msgstr "" -#: ../../reference/implementation-status.rst:63 +#: ../../reference/implementation-status.rst:75 msgid "PostgreSQL" msgstr "" -#: ../../reference/implementation-status.rst:65 +#: ../../reference/implementation-status.rst:77 msgid "CSV" msgstr "" -#: ../../reference/implementation-status.rst:65 +#: ../../reference/implementation-status.rst:77 msgid "Data stored in csv files" msgstr "数据源为 CSV 文件" -#: ../../reference/implementation-status.rst:69 +#: ../../reference/implementation-status.rst:81 msgid "" "SCQL supports different databases as data source, but there may be minor " "differences in the results due to data type differences built in " diff --git a/docs/locales/zh_CN/LC_MESSAGES/reference/lang/manual.po b/docs/locales/zh_CN/LC_MESSAGES/reference/lang/manual.po index 0013f676..f22b2a60 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/reference/lang/manual.po +++ b/docs/locales/zh_CN/LC_MESSAGES/reference/lang/manual.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SCQL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-11 20:36+0800\n" +"POT-Creation-Date: 2023-11-16 10:08+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.13.0\n" +"Generated-By: Babel 2.12.1\n" #: ../../reference/lang/manual.rst:2 msgid "SCQL Language Manual" @@ -80,14 +80,23 @@ msgstr "``str``" msgid "``datetime``" msgstr "``datetime``" -#: ../../reference/lang/manual.rst:23 ../../reference/lang/manual.rst:25 -msgid "not supported yet, coming soon" -msgstr "暂不支持,即将推出" +#: ../../reference/lang/manual.rst:23 +msgid "" +"Used for values that contain both date and time parts. SCQL retrieves and" +" displays in 'YYYY-MM-DD hh:mm:ss' format" +msgstr "包含日期和时间两部分, SCQL 使用 'YYYY-MM-DD hh:mm:ss' 格式识别及表示" #: ../../reference/lang/manual.rst:25 msgid "``timestamp``" msgstr "``timestamp``" +#: ../../reference/lang/manual.rst:25 +msgid "" +"Used for values that contain both date and time parts. SCQL retrieves in " +"'YYYY-MM-DD hh:mm:ss' format and displays in int64 value affected by time" +" zone" +msgstr "包含日期和时间两部分, SCQL 使用 'YYYY-MM-DD hh:mm:ss' 格式识别,但表示为受时区影响的 int64 值" + #: ../../reference/lang/manual.rst:32 msgid "SCQL Statements" msgstr "SCQL 语句" @@ -140,15 +149,15 @@ msgstr "SHOW/DESCRIBE 语句" msgid "SELECT Statement" msgstr "SELECT 语句" -#: ../../reference/lang/manual.rst:254 +#: ../../reference/lang/manual.rst:262 msgid "Functions and Operators" msgstr "函数与操作符" -#: ../../reference/lang/manual.rst:256 +#: ../../reference/lang/manual.rst:264 msgid "Todo" msgstr "待办" -#: ../../reference/lang/manual.rst:256 +#: ../../reference/lang/manual.rst:264 msgid "this part is not ready, please check later" msgstr "该部分尚未准备好,请之后查看" @@ -164,3 +173,6 @@ msgstr "该部分尚未准备好,请之后查看" #~ msgid "``INNER JOIN``" #~ msgstr "``INNER JOIN``" +#~ msgid "not supported yet, coming soon" +#~ msgstr "暂不支持,即将推出" + diff --git a/docs/locales/zh_CN/LC_MESSAGES/reference/operators.po b/docs/locales/zh_CN/LC_MESSAGES/reference/operators.po index 219cf441..a22619ab 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/reference/operators.po +++ b/docs/locales/zh_CN/LC_MESSAGES/reference/operators.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SCQL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-16 09:25+0800\n" +"POT-Creation-Date: 2023-11-16 10:08+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.13.0\n" +"Generated-By: Babel 2.12.1\n" #: ../../reference/operators.md:1 msgid "SCQL Operators Specification" @@ -647,31 +647,26 @@ msgid "`If`" msgstr "`If`" #: ../../reference/operators.md:828 -#, fuzzy msgid "" "The IF operator returns a value if a condition is TRUE, or another value " "if a condition is FALSE. Example:" msgstr "如果条件为 TRUE ,则 IF 算子返回一个值;如果条件为 FALSE ,则返回另一个值。" #: ../../reference/operators.md:841 -#, fuzzy msgid "`Condition`(single, T): Condition tensor." msgstr "``Condition`` (多列数组,类型为 T ):条件 tensor 。" #: ../../reference/operators.md:843 -#, fuzzy msgid "`ValueIfTrue`(single, T1): Value if true tensor." msgstr "``Filter`` (单列数组,类型为 T1 ):用来做筛选的 tensor 。" #: ../../reference/operators.md:845 -#, fuzzy msgid "`ValueIfFalse`(single, T2): Value if false tensor." -msgstr "``ValueElse`` (单列数组,类型为 T2):当所有 condition tensors 都为假,则取 ValueElse 。" +msgstr "``ValueIfFalse`` (单列数组,类型为 T2):当条件为假,则取 ValueIfFalse 。" #: ../../reference/operators.md:869 -#, fuzzy msgid "`In`" -msgstr "`Join`" +msgstr "`In`" #: ../../reference/operators.md:871 msgid "" @@ -1002,9 +997,9 @@ msgstr "``In`` (多列数组,类型为 T ):要披露的 Tensors 。" #: ../../reference/operators.md:1627 msgid "" -"`Out`(variadic, T): Result tensors of the publish op. Tensors are in " +"`Out`(variadic, T): Published name of input tensors. Tensors are in " "TensorOption VALUE." -msgstr "``Out`` (多列数组,类型为 T ):运算结果。" +msgstr "``Out`` (多列数组,类型为 T ):输入 tensors 的披露结果。 Tensors 位于 TensorOption VALUE 。" #: ../../reference/operators.md:1640 msgid "`ReduceAvg`" diff --git a/docs/locales/zh_CN/LC_MESSAGES/topics/deployment/how-to-deploy-a-cluster.po b/docs/locales/zh_CN/LC_MESSAGES/topics/deployment/how-to-deploy-centralized-cluster.po similarity index 55% rename from docs/locales/zh_CN/LC_MESSAGES/topics/deployment/how-to-deploy-a-cluster.po rename to docs/locales/zh_CN/LC_MESSAGES/topics/deployment/how-to-deploy-centralized-cluster.po index 690d7dfc..b5fe1ef6 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/topics/deployment/how-to-deploy-a-cluster.po +++ b/docs/locales/zh_CN/LC_MESSAGES/topics/deployment/how-to-deploy-centralized-cluster.po @@ -3,35 +3,34 @@ # This file is distributed under the same license as the SCQL package. # FIRST AUTHOR , 2023. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: SCQL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-11 20:36+0800\n" +"POT-Creation-Date: 2023-11-17 16:22+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: zh_CN\n" -"Language-Team: zh_CN \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.13.0\n" +"Generated-By: Babel 2.12.1\n" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:3 -msgid "Deployment" -msgstr "部署" +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:3 +msgid "Deployment with Trusted Third Party" +msgstr "包含可信第三方的部署" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:5 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:5 msgid "" -"This document describes how to deploy a SCQL system with docker, and use " -"scdbclient to query, it's basically same with :doc:`/intro/tutorial`, but" -" deployed in multi-machine." +"This document describes how to deploy a SCQL system in centralized mode " +"with docker, and use scdbclient to query, it's basically same with " +":doc:`/intro/tutorial`, but deployed in multi-machine." msgstr "" -"本文描述了如何使用 Docker 部署一个 SCQL 系统,并且使用 scdbclient 进行查询,它与 :doc:`/intro/tutorial` " -"基本相同,只不过是部署在多台机器上。" +"本文描述了如何使用 Docker 部署中心化模式的 SCQL 系统,并且使用 scdbclient 进行查询,它与 " +":doc:`/intro/tutorial` 基本相同,只不过是部署在多台机器上。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:7 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:7 msgid "" "Before start this doc, we assume that the reader has some experience " "using the docker-compose utility. If you are new to Docker Compose, " @@ -43,11 +42,11 @@ msgstr "" "`Docker Compose 官方概述 `_,或者查看 `入门指南 " "`_。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:10 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:10 msgid "Deployment Diagram" msgstr "部署图" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:12 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:12 msgid "" "The deployment diagram of the SCQL system that we plan to deploy is shown" " as the following figure, it involves a total of three party, including a" @@ -57,32 +56,32 @@ msgstr "" "SCQL 系统的部署图如下图所示,它涉及到三个参与方,包括一个可信的第三方和两个名为 ``Alice`` 和 ``Bob`` " "的数据提供方。我们使用三台机器来模拟不同的参与方。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:17 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:17 msgid "" "The SCDB is served through the HTTP protocol. It is recommended to use " "HTTPS instead in production environments. Please check :ref:`TLS " "Configuration ` for details." msgstr "SCDB 使用 HTTP 协议提供服务。在生产环境建议使用 HTTPS。详情请查看 :ref:`配置 TLS `。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:20 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:20 msgid "Step 1: Deploy SCQLEngine" msgstr "步骤一:部署 SCQLEngine" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:22 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:22 msgid "" -"Here we displayed how to deploy engine in party Alice, it's same with " -"party Bob." +"Here we present how to deploy engine in party Alice, it's same with party" +" Bob." msgstr "在这里,我们将展示如何在参与方 Alice 中部署引擎,Bob 同理。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:25 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:25 msgid "1.1 Create a Workspace" msgstr "1.1 创建工作区" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:33 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:33 msgid "1.2 Set Dataset" msgstr "1.2 设置数据集" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:35 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:35 msgid "" "The database in Engine is use to storage the origin data. In this " "document we will use MySQL as the database service, and simulate a " @@ -90,44 +89,44 @@ msgid "" "service." msgstr "引擎中的数据库用于存储原始数据。在本文档中我们将使用 MySQL 作为数据库服务并模拟一个数据集,当然,如果您愿意,也可以使用您喜欢的数据库服务。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:37 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:37 msgid "" "To simulate a dataset, you need create a sql init file named " "alice_init.sql in your workspace, which corresponds to `alice_init.sql " -"`_. For Bob, please use `bob_init.sql" -" `_ instead." +"`_. For Bob, please use " +"`bob_init.sql `_ instead." msgstr "" "要模拟一个数据集,你需要在你的工作区中创建一个名为 alice_init.sql 的 SQL 初始化文件,该文件对应于 " "`alice_init.sql `_。对于 Bob 请使用 `bob_init.sql " -"`_。" +"/scdb-tutorial/mysql/initdb/alice_init.sql>`_。对于 Bob 请使用 `bob_init.sql " +"`_。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:39 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:39 msgid "" "This file can also be obtained via the command-line with either curl, " "wget or another similar tool." msgstr "此文件也可以在命令行使用 curl、wget 或其它类似工具获取。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:47 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:47 msgid "1.3 Set Engine Config" msgstr "1.3 配置引擎" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:49 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:49 msgid "" "Create a file called ``gflags.conf`` in your workspace and paste the " "following code in:" msgstr "在您的工作区中创建一个名为 ``gflags.conf`` 的文件,并粘贴以下代码:" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:62 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:66 msgid "" "See :ref:`Engine configuration options ` for more " "config information" msgstr "更多配置信息请查看 :ref:`引擎配置项 `" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:66 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:71 msgid "" "The ``connection_str`` specified in ``embed_router_conf`` is utilized to " "connect database named alice as set in `1.2 Set Dataset`_, For Bob it " @@ -136,36 +135,32 @@ msgstr "" "``embed_router_conf`` 中指定的 ``connection_str`` 用于连接 `1.2 设置数据集`_ 中设置的 " "alice 的数据库,对于 Bob,应该连接 bob 的数据库。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:68 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:73 msgid "" -"``__ALICE_CREDENTIAL__`` is used to authenticate SCDB, you need replace " -"it with your own credential, same with Bob. In our example, we have " -"simply set it as ``credential_alice`` for Alice, and ``credential_bob`` " -"for Bob." -msgstr "" -"``__ALICE_CREDENTIAL__`` 用于验证 SCDB,您需要用自己的凭据替换它,对于 Bob " -"同样如此。在我们的示例中,我们简单的将 Alice 的凭据设置为 ``credential_alice``,将 Bob 的凭据设置为 " -"``credential_bob``。" +"The ``__MYSQL_ROOT_PASSWORD__`` should be replaced with the password set " +"by the corresponding party, and please replace this placeholder in the " +"same way for subsequent files." +msgstr "``__MYSQL_ROOT_PASSWORD__`` 应替换为对应参与方选择的密码,后续文件请以同样的方式替换此占位符。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:72 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:77 msgid "1.4 Create docker-compose file" msgstr "1.4 创建 docker-compose 文件" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:74 -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:207 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:79 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:244 msgid "" "Create a file called ``docker-compose.yaml`` in your workspace and paste " "the following code in:" msgstr "在您的工作区中创建一个名为 ``docker-compose.yaml`` 的文件,并粘贴以下代码:" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:114 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:121 msgid "" "``__ALICE_PORT__`` is the published port on the host machine which is " "used for engine service to listen on, you need to replace it with an " "accessible port number. In this case, we have designated it as ``8080``" msgstr "``__ALICE_PORT__`` 是 Engine 在宿主机上的监听端口,您需要替换为一个可访问的端口。这里我们将其指定为 8080" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:116 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:123 msgid "" "Container *mysql* is init by ``alice_init.sql`` as set in `1.2 Set " "Dataset`_ , it should be ``bob_init.sql`` for Bob. If you use your own " @@ -174,58 +169,83 @@ msgstr "" "*mysql* 容器通过 `1.2 设置数据集`_ 设置的 ``alice_init.sql`` 进行初始化,对于 Bob 应该使用 " "``bob_init.sql``。如果您有自己的数据库服务,可以删除 *mysql* 容器" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:120 -msgid "1.5 Start Engine Service" -msgstr "1.5 启动引擎" +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:125 +msgid "" +"Please remember to replace ``__MYSQL_ROOT_PASSWORD__`` with the same " +"password :ref:`as before `" +msgstr "请勿忘记将 ``__MYSQL_ROOT_PASSWORD__`` 替换为与 :ref:`前面 ` 相同的密码" + +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:129 +msgid "1.5 Prepare Party Auth Files" +msgstr "1.5 准备身份验证文件" + +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:131 +msgid "" +"The party authentication flags are enabled in ``gflags.conf``, so we need" +" to generate private key and authorized_profile." +msgstr " ``gflags.conf`` 中启用了身份验证开关,因此我们需要生成私钥和 authorized_profile 。" + +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:145 +msgid "" +"Then you need to replace ``__BOB_PUBLIC_KEY__`` in " +"authorized_profile.json with Bob's public key. For engine Bob, please " +"replace the ``__ALICE_PUBLIC_KEY__``" +msgstr "" +"然后您需要将 authorized_profile.json 中的 ``__BOB_PUBLIC_KEY__`` 替换为Bob的公钥。对于 Bob" +" 的 Engine ,请替换 ``__ALICE_PUBLIC_KEY__`` " + +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:149 +msgid "1.6 Start Engine Service" +msgstr "1.6 启动引擎" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:122 -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:251 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:151 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:290 msgid "The file your workspace should be as follows:" msgstr "您工作区的文件应如下所示:" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:131 -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:260 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:162 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:299 msgid "Then you can start engine service by running docker compose up" msgstr "然后您可以运行 docker compose up 来启动引擎服务" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:142 -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:270 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:173 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:309 msgid "You can use docker logs to check whether engine works well" msgstr "您可以使用 docker logs 检查引擎是否正常工作" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:150 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:181 msgid "SCQLEngine is listening on ``8080``." msgstr "SCQLEngine 正在监听 ``8080``。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:154 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:185 msgid "Step 2: Deploy SCDB" msgstr "步骤二:部署 SCDB" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:156 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:187 msgid "This chapter will demonstrate how to deploy SCDB in a Third-Party" msgstr "本章将演示如何在第三方部署 SCDB" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:159 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:190 msgid "2.1 Create a Workspace" msgstr "2.1 创建工作区" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:167 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:198 msgid "2.2 Set SCDB Config" msgstr "2.2 配置 SCDB" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:169 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:200 msgid "" "Create a file called ``config.yml`` in your workspace and paste the " "following code in:" msgstr "在您的工作区创建一个名为 ``config.yml`` 的文件,并将以下代码粘贴进去:" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:198 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:232 msgid "" "See :ref:`SCDB configuration options ` for more " "config information" msgstr "更多配置信息请查看 :ref:`SCDB 配置项 ` " -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:202 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:236 msgid "" "``conn_str`` is utilized to connect database named scdb which will be " "deployed in next step, if you prefer, you can also use your own database " @@ -234,30 +254,37 @@ msgstr "" "``conn_str`` 用于连接一个名为 SCDB 的数据库,该数据库将在 2.4 节中通过 docker-compose " "完成部署。您也可以根据自己的需求来设置对应的数据库连接串" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:205 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:238 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:285 +msgid "" +"Please remember to replace ``__MYSQL_ROOT_PASSWORD__`` with the same " +"password :ref:`as before `" +msgstr "请勿忘记将 ``__MYSQL_ROOT_PASSWORD__`` 替换为与 :ref:`前面 ` 相同的密码" + +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:242 msgid "2.4 Create docker-compose file" msgstr "2.4 创建 docker-compose 文件" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:246 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:283 msgid "" "``__SCDB_PORT__`` is the published port on the host machine which is used" " for scdb service to listen on, you need to replace it with an accessible" " port number. Here, it's set as 8080" msgstr "``__SCDB_PORT__`` 是 SCDB 服务在宿主机上的监听端口。您需要用一个可访问的端口号替换它。这里设置为 8080。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:249 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:288 msgid "2.5 Start SCDB Service" msgstr "2.5 启动 SCDB" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:278 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:317 msgid "SCDB is listening on ``8080``, waiting for connection" msgstr "SCDB 正在监听 ``8080``,等待连接。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:282 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:321 msgid "Step 3: SCQL Test" msgstr "步骤三:测试 SCQL" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:284 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:323 msgid "" "Here we use scdbclient to submit a query to SCDB for testing, you can " "also submit queries directly to SCDB by sending a POST request. This step" @@ -266,7 +293,7 @@ msgstr "" "这里我们使用 scdbclient 向 SCDB 提交测试查询,您也可以通过发送 POST 请求直接向 SCDB 提交查询。此步骤可以在任何能访问" " SCDB 地址的机器上完成。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:286 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:325 msgid "" "You can read `How to use SCDBClient " "`_" @@ -275,19 +302,19 @@ msgstr "" "关于 scdbclient 更多信息请阅读 `如何使用 SCDBClient " "`_" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:289 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:328 msgid "3.1 Build scdbclient" msgstr "3.1 构建 scdbclient" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:306 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:345 msgid "3.2 Set Client Config" -msgstr "配置客户端" +msgstr "3.2 配置客户端" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:308 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:347 msgid "Create a json file named as ``users.json`` as follows:" msgstr "创建一个名为 ``users.json`` 的 JSON 文件,内容如下:" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:330 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:369 msgid "" "The ``root`` user is the admin user of SCDB which is init when scdb " "container set up, ``alice`` and ``bob`` are the user belong to party " @@ -296,17 +323,17 @@ msgstr "" "``root`` 用户是在 scdb 容器初始化时设置的 SCDB 管理员用户,``alice`` 和 ``bob`` 分别属于 Alice 和 " "Bob。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:332 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:371 msgid "" "The user information for ``alice`` and ``bob`` should be same with the " "user information you will create." msgstr "``alice`` 和 ``bob`` 的用户信息应该与您将要创建的用户信息保持一致。" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:336 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:375 msgid "3.3 Submit Query" msgstr "3.3 提交查询" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:338 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:377 msgid "" "You can start to use scdbclient to submit queries to SCDBServer and fetch" " the query results back. it's same as what you can do in " @@ -315,7 +342,7 @@ msgstr "" "您可以开始使用 scdbclient 向 SCDBServer 提交查询并获取查询结果。您可以与在 :doc:`/intro/tutorial` " "中执行的操作相同" -#: ../../topics/deployment/how-to-deploy-a-cluster.rst:359 +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:398 msgid "" "``__SCDB_URL__`` is the url (eg:http://127.0.0.1:8080) where scdb service" " is listen on, you need to replace it with scdb service url." @@ -323,3 +350,28 @@ msgstr "" "``__SCDB_URL__`` 是 scdb 服务监听的 url(例如:http://127.0.0.1:8080),您需要用 scdb 服务的" " url 替换它。" +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:400 +msgid "" +"Because the SCQLEngine listening URL of quickstart is different from that" +" of distributed deployment, if you encounter an error similar to the " +"following, please use the ``alter user`` query to specify the correct " +"listening URL, like: 30.30.30.30:8080" +msgstr "" +"由于 quickstart 的 SCQLEngine 监听 URL 与分布式部署不同,如果遇到类似以下错误,请使用 ``alter user`` " +"query 指定正确的监听 URL ,如:30.30.30.30:8080 " + +#: ../../topics/deployment/how-to-deploy-centralized-cluster.rst:402 +msgid "" +"[fetch]err: Code: 300, message:Post " +"\"http://engine_alice:8080/SCQLEngineService/RunExecutionPlan\": dial tcp" +" engine_alice:8080: connect: connection refused" +msgstr "" + +#~ msgid "" +#~ "The ``__MYSQL_ROOT_PASSWORD__`` should be " +#~ "replaced with your preferred password, ," +#~ " and please replace this placeholder " +#~ "in the same way for subsequent " +#~ "files." +#~ msgstr "" + diff --git a/docs/locales/zh_CN/LC_MESSAGES/topics/deployment/how-to-deploy-p2p-cluster.po b/docs/locales/zh_CN/LC_MESSAGES/topics/deployment/how-to-deploy-p2p-cluster.po new file mode 100644 index 00000000..005e8be9 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/topics/deployment/how-to-deploy-p2p-cluster.po @@ -0,0 +1,329 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2023 Ant Group Co., Ltd. +# This file is distributed under the same license as the SCQL package. +# FIRST AUTHOR , 2023. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SCQL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-17 16:22+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:3 +msgid "Deployment in P2P Mode" +msgstr "P2P 模式部署" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:5 +msgid "" +"This document describes how to deploy a SCQL system with docker in P2P " +"mode and use brokerctl to query. It is basically the same as the " +":doc:`/intro/p2p-tutorial`, but deployed on multi machines." +msgstr "" +"本文档介绍了如何使用 docker 以 P2P 模式部署 SCQL 系统,并使用 brokerctl 进行查询。它与 :doc:`/intro" +"/p2p-tutorial` 基本相同,但部署在多机上。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:7 +msgid "" +"Before start this doc, we assume that the reader has some experience " +"using the docker-compose utility. If you are new to Docker Compose, " +"please consider reviewing the `official Docker Compose overview " +"`_, or checking out the `Getting " +"Started guide `_." +msgstr "" +"在开始阅读这篇文档前,我们假设读者已经具备一定的 docker-compose 使用经验。如果您对 Docker Compose 不熟悉,请参阅 " +"`Docker Compose 官方概述 `_,或者查看 `入门指南 " +"`_。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:10 +msgid "Deployment Diagram" +msgstr "部署图" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:12 +msgid "" +"The deployment diagram of the SCQL system that we plan to deploy is shown" +" as the following figure, it involves parties named ``Alice`` and " +"``Bob``. We use two machines to simulate different parties." +msgstr "SCQL 系统的部署图如下图所示,它涉及到两个参与方:``Alice`` 和 ``Bob`` ,我们使用两台机器来模拟不同的参与方。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:17 +msgid "" +"The SCQLBrokers are served through the HTTP protocol. It is recommended " +"to use HTTPS instead in production environments." +msgstr "SCQLBrokers 使用 HTTP 协议提供服务。在生产环境建议使用 HTTPS。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:21 +msgid "Step 1: Deployment for Alice" +msgstr "步骤一:部署 Alice 环境" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:23 +msgid "Here we present how to deploy components for party Alice." +msgstr "在这里,我们展示如何为参与方 Alice 部署环境。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:26 +msgid "1.1 Create a Workspace" +msgstr "1.1 创建工作区" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:34 +msgid "1.2 Prepare Meta Data and Source Data" +msgstr "1.2 准备状态数据、源数据" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:36 +msgid "" +"To simplify, We use a mysql container to store the SCQLBroker's meta data" +" and SCQLEngine's source data. However, if you prefer, you can use your " +"preferred database service or store both types of data separately." +msgstr "" +"为了简化,我们使用同一个 mysql 容器来存储 SCQLBroker 的元数据和 SCQLEngine " +"的源数据。当然,您也可以使用您喜欢的其他数据库服务或分开存储两种类型的数据。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:38 +msgid "" +"The source data can be stored in a file called ``alice_init.sql`` with " +"content like `alice_init.sql " +"`_. For Bob, please use " +"`bob_init.sql `_ instead." +msgstr "" +"源数据存储在名为 ``alice_init.sql`` 的文件中,其内容可参考 `alice_init.sql " +"`_。对于 Bob ,请使用 `bob_init.sql " +"`_ 代替。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:40 +msgid "" +"The meta data can be stored in ``broker_init_alice.sql`` with content " +"like `broker_init_alice.sql " +"`_. For Bob, please use " +"`broker_init_bob.sql " +"`_ instead." +msgstr "" +"元数据则存储在 ``broker_init_alice.sql`` 中,内容可参考 `broker_init_alice.sql " +"`_。对于 Bob ,请使用 " +"`broker_init_bob.sql " +"`_ 代替。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:42 +msgid "" +"These files can also be obtained via the command-line with either curl, " +"wget or another similar tool." +msgstr "这些文件也可以通过命令行工具curl、wget或其他类似工具获取。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:53 +msgid "1.3 Set SCQLBroker Config" +msgstr "1.3 配置 SCQLBroker" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:55 +msgid "" +"Create a file called ``config.yml`` in your workspace and paste the " +"following code in:" +msgstr "在工作区中创建一个名为 ``config.yml`` 的文件,并粘贴如下代码:" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:85 +msgid "" +"For Bob, the **party_code** should be ``bob``, and the ``brokeralice`` in" +" **conn_str** should be replaced by ``brokerbob``." +msgstr "" +"对于 Bob,**party_code** 应该是 ``bob``,而 **conn_str** 中的 ``brokeralice`` 应该替换为" +" ``brokerbob``。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:87 +msgid "" +"The ``__MYSQL_ROOT_PASSWORD__`` should be replaced with the password set " +"by the corresponding party, and please replace this placeholder in the " +"same way for subsequent files." +msgstr "``__MYSQL_ROOT_PASSWORD__`` 应替换为对应参与方选择的密码,后续文件请以同样的方式替换此占位符。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:89 +msgid "" +"See :ref:`SCQLBroker configuration options " +"` for more." +msgstr "请参阅::ref:`SCQLBroker 配置选项 ` 了解更多信息。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:93 +msgid "1.4 Set SCQLEngine Config" +msgstr "1.4 配置 SCQLEngine" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:95 +msgid "" +"Create a file called ``gflags.conf`` in your workspace and paste the " +"following code in:" +msgstr "在工作区中创建一个名为 ``gflags.conf`` 的文件,并粘贴如下代码:" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:114 +msgid "" +"The ``connection_str`` specified in ``embed_router_conf`` is utilized to " +"connect database named **alice** as set in `1.2 Prepare Meta Data and " +"Source Data`_, For Bob it should be set to connect database named " +"**bob**." +msgstr "" +"``embed_router_conf`` 中指定的 ``connection_str`` 用于连接名为 **alice** 的数据库,如 `1.2 " +"准备元数据和源数据`_ 中设置的那样,对于 Bob,应设置为连接名为 **bob** 的数据库。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:116 +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:182 +msgid "" +"Please remember to replace ``__MYSQL_ROOT_PASSWORD__`` with the same " +"password :ref:`as before `" +msgstr "请勿忘记将 ``__MYSQL_ROOT_PASSWORD__`` 替换为与 :ref:`前面 ` 相同的密码" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:118 +msgid "" +"See :ref:`Engine configuration options ` for more " +"config information" +msgstr "请参阅 :ref:`引擎配置选项 ` 了解更多配置信息" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:122 +msgid "1.5 Create docker-compose file" +msgstr "1.5 创建 docker-compose 文件" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:124 +msgid "" +"Create a file called ``docker-compose.yaml`` in your workspace and paste " +"the following code in:" +msgstr "在您的工作区中创建一个名为 ``docker-compose.yaml`` 的文件,并粘贴以下代码:" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:180 +#, fuzzy +msgid "" +"``__INTRA_PORT__``, ``__INTER_PORT__`` and ``__ENGINE_PORT__`` are " +"published ports on the host machine, you need to replace it with an " +"accessible port number. In this case, we have designated them as " +"``8080``, ``8081`` and ``8003``" +msgstr "" +"``__INTRA_PORT__``, ``__INTER_PORT__`` 和 ``__ENGINE_PORT__`` " +"作为监听端口,您需要替换为可访问的端口,这里我们指定为 ``8080``, ``8081`` 和 ``8003``" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:184 +#, fuzzy +msgid "" +"Container *mysql* are initialized by ``alice_init.sql`` and " +"``broker_init_alice.sql`` as set in `1.2 Prepare Meta Data and Source " +"Data`_ , please change to ``bob_init.sql`` and ``broker_init_bob.sql`` " +"for Bob" +msgstr "" +"*mysql* 容器通过 ``alice_init.sql`` 和 ``broker_init_alice.sql`` 完成数据初始化,如 " +"`1.2 准备元数据和源数据`_ 中设置。 对于 Bob,请使用 ``bob_init.sql`` 和 " +"``broker_init_bob.sql``。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:186 +msgid "If you use your own database service, container *mysql* can be deleted" +msgstr "" +"如果您使用自己的数据库服务,则 *mysql* 容器可以删除,修改 SCQLBroker 和 SCQLEngine 配置中的 conn_str " +",指定可用的数据库连接信息即可" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:190 +msgid "1.6 Prepare Party Auth Files" +msgstr "1.6 准备身份验证文件" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:192 +msgid "" +"Parties are identified by private-public key pairs, so we need to " +"generate these files." +msgstr "参与方身份通过私钥-公钥对进行识别,因此我们需要生成这些文件。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:194 +msgid "" +"Create a file called ``party_info.json`` in your workspace and paste the " +"following code in:" +msgstr "在您的工作区中创建一个名为 ``party_info.json`` 的文件,并粘贴以下代码:" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:214 +msgid "" +"``__ALICE_BROKER_URL__`` should be replaced by ``Alice machine host/ip + " +"Alice __INTER_PORT__``, like: http://30.30.30.30:8081, do the same for " +"``__BOB_BROKER_URL__``." +msgstr "" +"将 ``__ALICE_BROKER_URL__`` 替换为 ``Alice 机器的对外 host/ip + " +"__INTER_PORT__``,如:http://30.30.30.30:8081,对 ``__BOB_BROKER_URL__`` " +"执行相同操作。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:217 +msgid "Create other files:" +msgstr "创建其他文件" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:231 +msgid "" +"Then you need to replace ``__XXX_PUBLIC_KEY__`` in party_info.json and " +"authorized_profile.json with corresponding public keys." +msgstr "" +"然后您需要将 party_info.json 和 authorized_profile.json 中的 " +"``__XXX_PUBLIC_KEY__`` 占位符替换为相应的真实公钥。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:235 +msgid "1.6 Start Services" +msgstr "1.6 启动服务" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:237 +msgid "The file your workspace should be as follows:" +msgstr "您的工作区文件应如下所示:" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:251 +msgid "Then you can start services by running docker compose up" +msgstr "然后您可以运行 docker compose up 来启动引擎服务" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:263 +msgid "You can use docker logs to check whether services works well" +msgstr "您可以使用 docker logs 检查引擎是否正常工作" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:278 +msgid "Step 2: Deployment for Bob" +msgstr "步骤二:部署 Bob 环境" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:280 +msgid "" +"It is basically the same as `Step 1: Deployment for Alice`_, but some " +"characters and files related to ``alice`` need to be replaced with " +"``bob``." +msgstr "与 `步骤一:部署 Alice 环境`_ 基本相同,但与 ``alice`` 相关的一些字符和文件需要替换为 ``bob`` 。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:284 +msgid "Step 3: SCQL Test" +msgstr "步骤三:测试 SCQL" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:286 +msgid "" +"Here we use brokerctl to submit a query to SCQLBroker for testing, you " +"can also submit queries directly to SCQLBroker by sending a POST request." +msgstr "" +"这里我们使用 brokerctl 向 SCQLBroker 提交查询进行测试,您也可以通过发送 POST 请求直接向 SCQLBroker " +"提交查询。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:290 +msgid "3.1 Build brokerctl" +msgstr "3.1 构建 brokerctl" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:307 +msgid "3.2 Submit Query" +msgstr "3.2 提交查询" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:309 +msgid "" +"You can start to use brokerctl to submit requests to SCQLBroker and fetch" +" the results back. it's similar to what you can do in :doc:`/intro/p2p-" +"tutorial`." +msgstr "" +"您可以开始使用 brokerctl 向 SCQLBroker 提交请求并获取结果。这与您在 :doc:`/intro/p2p-tutorial` " +"中可以执行的操作类似。" + +#: ../../topics/deployment/how-to-deploy-p2p-cluster.rst:331 +msgid "" +"You need to replace ``__ALICE_INTRA_URL__`` or ``__BOB_INTRA_URL__`` with" +" the actual IntraServer address, like: http://30.30.30.30:8080." +msgstr "" +"您需要将 ``__ALICE_INTRA_URL__`` 或 ``__BOB_INTRA_URL__`` 替换为实际的 IntraServer " +"地址,例如:http://30.30.30.30:8080。" + diff --git a/docs/locales/zh_CN/LC_MESSAGES/topics/security/overview.po b/docs/locales/zh_CN/LC_MESSAGES/topics/security/overview.po index 8cc897f5..0d421894 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/topics/security/overview.po +++ b/docs/locales/zh_CN/LC_MESSAGES/topics/security/overview.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SCQL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-11 20:36+0800\n" +"POT-Creation-Date: 2023-11-16 10:08+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.13.0\n" +"Generated-By: Babel 2.12.1\n" #: ../../topics/security/overview.rst:2 msgid "Security overview" @@ -104,22 +104,29 @@ msgstr "" "SCDB 是 SCQL 系统中的一个中心协调组件,负责将 query 转换成明密文混合的执行图,然后下发给部署在参与方的 SCQLEngines " "执行。SCDB 负责生成执行图,是不能作恶的。建议把 SCDB 部署在可信第三方,打消数据参与方对 SCDB 节点作恶的担忧。" -#: ../../topics/security/overview.rst:28 +#: ../../topics/security/overview.rst:26 +msgid "" +"If the trusted third party is not exist, you are recommended to deploy " +"SCQL system in P2P mode. refer to :doc:`/topics/system/intro-p2p` for " +"details." +msgstr "如果可信第三方不存在,建议您在P2P模式下部署SCQL系统。 详细信息请参阅 :doc:`/topics/system/intro-p2p`" + +#: ../../topics/security/overview.rst:30 msgid "Risk Statement and Suggestion for SCQL Result Inversion Attack" msgstr "针对 SCQL 的结果反推攻击风险说明及建议" -#: ../../topics/security/overview.rst:30 +#: ../../topics/security/overview.rst:32 msgid "" "The query of SCQL could be flexible, adversaries may construct adaptive " "attacks using multiple legit queries or one complex query to achieve the " "purpose of deriving the original data." msgstr "SCQL 的查询灵活多变,攻击者可以使用多次合法查询或一个复杂查询来构建自适应攻击,以达到反推原始数据的目的。" -#: ../../topics/security/overview.rst:34 +#: ../../topics/security/overview.rst:36 msgid "Attack Method 1: Multi-query Attack" msgstr "攻击方法一:多次查询攻击" -#: ../../topics/security/overview.rst:36 +#: ../../topics/security/overview.rst:38 msgid "" "The multi-query attack method includes two attack ways: (1) One way to " "obtain the other party's information is to tamper with the input content " @@ -140,11 +147,11 @@ msgstr "" "另一种方式是通过改写每次查询语句,对比多次查询结果来推测对方的隐私数据。比如攻击者可以利用 where 条件限制聚合函数的输入,第一次查询获得 N" " 条数据的聚合结果,第二次通过改变 where 条件,获得其中 N-1 条数据的聚合结果,对比结果可以获得其中 1 条记录的明文数据信息。" -#: ../../topics/security/overview.rst:42 +#: ../../topics/security/overview.rst:44 msgid "Attack Method 2: Constructing Complex Query Attack" msgstr "攻击方法二:构造复杂查询攻击" -#: ../../topics/security/overview.rst:44 +#: ../../topics/security/overview.rst:46 msgid "" "This attack method is similar to the multi-query attack method, and its " "core idea is to write multiple queries into one complex query. For " @@ -155,17 +162,17 @@ msgstr "" "该攻击方法和多次查询攻击方法类似,其核心思想是将多个查询语句写成一个复杂查询语句。 " "举个例子,攻击者可以在一个查询语句里对某一列进行多次比较,缩小数据范围来反推原始数据。" -#: ../../topics/security/overview.rst:49 +#: ../../topics/security/overview.rst:51 msgid "Suggestions" msgstr "建议" -#: ../../topics/security/overview.rst:51 +#: ../../topics/security/overview.rst:53 msgid "" "Each data owner is advised to give careful consideration when setting CCL" " for their own data." msgstr "数据拥有方在给自己数据设置 CCL 时要慎重考虑;" -#: ../../topics/security/overview.rst:52 +#: ../../topics/security/overview.rst:54 msgid "" "When the upstream platform integrates the SCQL system, it's recommended " "to add an approval process before running the query. The query is " @@ -173,17 +180,17 @@ msgid "" "confirmed by all data owners." msgstr "上游平台在集成 SCQL 时,建议在执行查询前加一个人工审批流程。查询语句只有经过所有数据拥有方的审核确认后,才能提交到 SCQL 执行;" -#: ../../topics/security/overview.rst:53 ../../topics/security/overview.rst:66 +#: ../../topics/security/overview.rst:55 ../../topics/security/overview.rst:68 msgid "" "It is recommended to add an audit mechanism, analyze historical queries, " "and track down information leakage issues." msgstr "建议集成事后审计机制,对历史查询的执行情况进行分析,使得可以追踪和发现敏感信息泄露问题。" -#: ../../topics/security/overview.rst:57 +#: ../../topics/security/overview.rst:59 msgid "System Security Configuration Instructions" msgstr "系统安全配置说明" -#: ../../topics/security/overview.rst:59 +#: ../../topics/security/overview.rst:61 msgid "" "SCQL supports HTTPS protocol, it is recommended to enable HTTPS by " "default. Please see :ref:`SCDB TLS Configuration ` and " @@ -193,24 +200,24 @@ msgstr "" "SCQL 支持 HTTPS 协议,建议默认开启。有关如何为 SCDB 和 SCQLEngine 启用 HTTPS 的方法详见 :ref:`SCDB" " TLS 配置 ` and :ref:`SCQLEngine TLS 配置 `。" -#: ../../topics/security/overview.rst:63 +#: ../../topics/security/overview.rst:65 msgid "Suggestions for upstream integrators" msgstr "对上游集成方的建议" -#: ../../topics/security/overview.rst:65 +#: ../../topics/security/overview.rst:67 msgid "" "It is recommended to add an approval process before submitting any " "queries to SCQL for execution." msgstr "在向 SCQL 提交查询前,增加数据参与方审批查询语句的流程。" -#: ../../topics/security/overview.rst:67 +#: ../../topics/security/overview.rst:69 msgid "" "It is recommended to divide the use of SCQL into two stages: development " "stage and production stage, and to adopt different security control " "measures." msgstr "建议将 SCQL 的使用过程分为研发态和生产态,并采用不同的安全管控措施。" -#: ../../topics/security/overview.rst:69 +#: ../../topics/security/overview.rst:71 msgid "" "The development stage refers to the stage where the query is under " "development iteration. The data samples used in the development stage " @@ -221,7 +228,7 @@ msgstr "" "研发态指 query " "处于迭代中的研发模式。研发态中使用的数据样本必须是经过脱敏、去标识化、匿名化、加噪等手段处理后的小规模数据集,旨在快速地构建数据分析处理流程。" -#: ../../topics/security/overview.rst:70 +#: ../../topics/security/overview.rst:72 msgid "" "The production stage refers to the joint analysis of the query by " "multiple participating parties to ensure that the task is risk-free or " @@ -239,11 +246,11 @@ msgstr "" " 要变更,需要重新走多方审计评审。生产态使用的数据为真实数据,联合分析的多方需要进行:(1) 事前对任务评审与审批;(2) " "事中确保任务一致性,若有风险及时中止任务;(3) 事后进行审计,若发生恶意行为,确保可以发现和规避潜在的数据泄漏风险。" -#: ../../topics/security/overview.rst:75 +#: ../../topics/security/overview.rst:77 msgid "Footnotes" msgstr "脚注" -#: ../../topics/security/overview.rst:76 +#: ../../topics/security/overview.rst:78 msgid "" "SPU SEMI2K protocol adopts a trusted third party for generating Beaver " "triples for efficiency. In the future, we will consider adding a Beaver " diff --git a/docs/locales/zh_CN/LC_MESSAGES/topics/system/intro-p2p.po b/docs/locales/zh_CN/LC_MESSAGES/topics/system/intro-p2p.po new file mode 100644 index 00000000..f96fb9f8 --- /dev/null +++ b/docs/locales/zh_CN/LC_MESSAGES/topics/system/intro-p2p.po @@ -0,0 +1,165 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2023 Ant Group Co., Ltd. +# This file is distributed under the same license as the SCQL package. +# FIRST AUTHOR , 2023. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SCQL \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-11-16 10:08+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.12.1\n" + +#: ../../topics/system/intro-p2p.rst:2 +msgid "SCQL P2P Overview" +msgstr "SCQL P2P 模式概述" + +#: ../../topics/system/intro-p2p.rst:4 +msgid "" +"SCQL supports deployment in P2P mode. In this mode, all parties have the " +"same privileges and do not need to rely on a trusted third party." +msgstr "SCQL 支持 P2P 模式部署。在这种模式下,各方均拥有对等权限,不需要依赖可信的第三方。" + +#: ../../topics/system/intro-p2p.rst:8 +msgid "Architecture" +msgstr "架构" + +#: ../../topics/system/intro-p2p.rst:10 +msgid "" +"The SCQL system running in P2P mode consists of ``SCQLBrokers`` and " +"``SCQLEngines``, each party has its own independent SCQLBroker and " +"SCQLEngines." +msgstr "P2P 模式下的 SCQL 系统由 ``SCQLBrokers`` 和 ``SCQLEngines`` 组成,各方都有自己独立的 SCQLBroker 和 SCQLEngines " + +#: ../../topics/system/intro-p2p.rst:12 +msgid "" +"``SCQLBroker``: As the core module of p2p, it mainly consists of three " +"functions:" +msgstr "``SCQLBroker``:作为 P2P 的核心模块,主要包含三个功能:" + +#: ../../topics/system/intro-p2p.rst:14 +msgid "" +"**Interaction with users**: accept requests and return results through " +"the http interface" +msgstr "**用户交互**:通过 http 接口接受请求并返回结果。" + +#: ../../topics/system/intro-p2p.rst:16 +msgid "" +"**P2P status synchronization**: complete status synchronization between " +"different SCQLBrokers." +msgstr "**P2P 状态同步**:完成不同 SCQLBroker 之间的状态同步。" + +#: ../../topics/system/intro-p2p.rst:18 +msgid "" +"**SQL analysis and job scheduling**: translate SQL query into a hybrid " +"MPC-plaintext execution graph and delegate the execution of the graph to " +"its local SCQLEngine." +msgstr "**SQL 分析及作业调度**:将 SQL 查询转换为明密文混合的执行图,并调度到本地 SCQLEngine 执行。" + +#: ../../topics/system/intro-p2p.rst:20 +msgid "" +"``SCQLEngine``: SCQLEngine is a hybrid MPC-plaintext execution engine, " +"which collaborates with peers to run the execution graph and reports the " +"query result to SCQLBroker. SCQLEngine is implemented on top of state-" +"of-the-art MPC framework `secretflow/spu`_." +msgstr "``SCQLEngine``:SCQLEngine 是一个明密文混合执行引擎,不同参与方的 SCQLEngine 可以协作完成执行图计算,本地的 SCQLEngine 会将结果报告给 SCQLBroker 。SCQLEngine 是在最先进的 " +"MPC 框架 `secretflow/spu`_ 的基础上实现的。" + +#: ../../topics/system/intro-p2p.rst:-1 +msgid "SCQL P2P Architecture" +msgstr "SCQL P2P 架构" + +#: ../../topics/system/intro-p2p.rst:27 +msgid "Workflow of P2P Model" +msgstr "P2P 模式的工作流" + +#: ../../topics/system/intro-p2p.rst:29 +msgid "" +"In the P2P mode, different parties are identified by ``Unique " +"Identifiers``, and various businesses are isolated by ``Projects``." +msgstr "在 P2P 模式中,不同的参与方通过 ``Unique Identifiers`` 来标识,不同业务则通过 ``Projects`` 进行隔离。" + +#: ../../topics/system/intro-p2p.rst:31 +msgid "" +"``Unique Identifier``: including unique partyCode and public-private key " +"pair, the private key should be kept by the party itself secretly, and " +"the public key could be public." +msgstr "``Unique Identifier``: 包括唯一的 partyCode 和公私钥对,私钥应由参与方自行保密,公钥则对所有参与方公开。" + +#: ../../topics/system/intro-p2p.rst:32 +msgid "" +"``Project``: similar to the virtual database concept in Centralized mode," +" it is used to isolate different businesses." +msgstr "``Project``: 项目,类似于中心化模式中的虚拟数据库概念,用于隔离不同的业务。" + +#: ../../topics/system/intro-p2p.rst:34 +msgid "" +"The overall workflow can be divided into: **creating project**, " +"**inviting parties**, **creating tables**, **configuring CCLs**, and " +"**executing query jobs**." +msgstr "整个流程可以分为五步:**创建项目**、**邀请参与方**、**创建数据表**、**配置 CCL** 和 **执行查询**。" + +#: ../../topics/system/intro-p2p.rst:36 +msgid "" +"**Creating Project**: A party can create a project and become the project" +" owner. The owner only has the permission to invite other members to join" +" and has no other additional permissions." +msgstr "**创建项目**:一方可以创建项目并成为项目所有者。所有者只额外拥有邀请其他成员加入的权限。" + +#: ../../topics/system/intro-p2p.rst:37 +msgid "" +"**Inviting parties**: After the project owner invites other parties, the " +"other parties can choose whether to accept the invitation. If accepted, " +"they will become project members." +msgstr "**邀请参与方**:项目所有方邀请其他方后,其他方可以选择是否接受邀请。 如果接受,则可以加入项目,成为项目成员。" + +#: ../../topics/system/intro-p2p.rst:38 +msgid "" +"**Creating tables**: Project members can create their own tables metadata" +" for joint analysis in the project." +msgstr "**创建数据表**:项目成员可以创建自己的数据表元数据,以便在项目中进行联合分析。" + +#: ../../topics/system/intro-p2p.rst:39 +msgid "" +"**Configuring CCLs**: After members created their own table, they can " +"grant the specific CCL to themselves and other participants." +msgstr "**配置 CCL**:成员创建自己的表后,可以将特定的 CCL 权限授予自己及其他参与方。" + +#: ../../topics/system/intro-p2p.rst:40 +msgid "" +"**Executing query jobs**: After completing the CCL configuration, parties" +" can perform the corresponding SQL analysis job." +msgstr "**执行查询**:完成 CCL 配置后,各方可以执行相应的 SQL 分析作业。" + +#: ../../topics/system/intro-p2p.rst:42 +msgid "" +"It is recommended to experience the overall process through the " +":doc:`/intro/p2p-tutorial`" +msgstr "建议您通过 :doc:`/intro/p2p-tutorial` 来进一步体验整个流程" + +#: ../../topics/system/intro-p2p.rst:46 +msgid "P2P vs Centralized" +msgstr "P2P 与中心化" + +#: ../../topics/system/intro-p2p.rst:48 +msgid "" +"The two modes support the same SQL syntax and MPC protocol, and the end-" +"to-end performance is basically the same." +msgstr "两种模式支持相同的 SQL 语法和 MPC 协议,端到端性能也基本相同。" + +#: ../../topics/system/intro-p2p.rst:50 +msgid "" +"If there is a trusted party deploying SCDB in the business scenario, it " +"is recommended to use the centralized mode, which is simpler in " +"configuration and integration. The P2P mode does not rely on trusted " +"parties, but it requires more complex interactions to complete status " +"interactions." +msgstr "如果业务场景中有可信方部署 SCDB ,则建议使用中心化模式,配置和集成都更简单。P2P 模式不依赖可信方,但需要更复杂的交互来完成状态同步。" + diff --git a/docs/locales/zh_CN/LC_MESSAGES/topics/system/intro.po b/docs/locales/zh_CN/LC_MESSAGES/topics/system/intro.po index fddee0e7..0b7afe0d 100644 --- a/docs/locales/zh_CN/LC_MESSAGES/topics/system/intro.po +++ b/docs/locales/zh_CN/LC_MESSAGES/topics/system/intro.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SCQL \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-11 20:36+0800\n" +"POT-Creation-Date: 2023-11-16 10:08+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.13.0\n" +"Generated-By: Babel 2.12.1\n" #: ../../topics/system/intro.rst:2 msgid "SCQL System Overview" @@ -48,7 +48,9 @@ msgid "" "Support common SQL select syntax and functions to meet the needs of most " "scenarios. Please check :doc:`/reference/implementation-status` for " "details." -msgstr "支持常见的 SQL select 语法和函数,满足大多数场景的需求。详情请查看 :doc:`/reference/implementation-status`。" +msgstr "" +"支持常见的 SQL select 语法和函数,满足大多数场景的需求。详情请查看 :doc:`/reference/implementation-" +"status`。" #: ../../topics/system/intro.rst:12 msgid "" @@ -71,17 +73,32 @@ msgid "Architecture" msgstr "架构" #: ../../topics/system/intro.rst:19 -msgid "An SCQL system consists of an SCDB server and multiple SCQLEngines." -msgstr "一个 SCQL 系统由一个 SCDB 服务器和多个 SCQLEngines 组成。" +msgid "" +"The SCQL system supports both centralized and P2P modes. The centralized " +"model relies on a trusted party, but the deployment and configuration " +"process is simpler; P2P does not need to rely on a trusted party." +msgstr "SCQL 系统支持中心化和 P2P 两种部署模式。中心化模式依赖于可信第三方,但部署和配置过程更简单;P2P 则不需要依赖额外的可信第三方。" #: ../../topics/system/intro.rst:21 msgid "" +"The following introduction will be carried out in centralized mode, For " +"P2P mode, please refer to :doc:`/topics/system/intro-p2p`" +msgstr "后续介绍将以中心化部署模式进行,更多 P2P 模式的相关信息,请参考 :doc:`/topics/system/intro-p2p`" + +#: ../../topics/system/intro.rst:23 +msgid "" +"An SCQL system running in centralized mode consists of an SCDB server and" +" multiple SCQLEngines." +msgstr "中心化模式下的 SCQL 系统由一个 SCDB 服务器和多个 SCQLEngines 组成。" + +#: ../../topics/system/intro.rst:25 +msgid "" "SCDB server is responsible for translating SQL query into a hybrid MPC-" "plaintext execution graph and dispatching the execution graph to " "SCQLEngine of participants." msgstr "SCDB 服务器负责将 SQL 查询翻译成明密文混合执行图,并将执行图下发给参与方的 SCQLEngine。" -#: ../../topics/system/intro.rst:22 +#: ../../topics/system/intro.rst:26 msgid "" "SCQLEngine is a hybrid MPC-plaintext execution engine, which collaborates" " with peers to run the execution graph and reports the query result to " @@ -95,33 +112,33 @@ msgstr "" msgid "SCQL Architecture" msgstr "SCQL 架构" -#: ../../topics/system/intro.rst:30 +#: ../../topics/system/intro.rst:34 msgid "How SCQL Works" msgstr "SCQL 如何工作" -#: ../../topics/system/intro.rst:32 +#: ../../topics/system/intro.rst:36 msgid "" "We will show how SCQL works through the life of the following sample SCQL" " query Q." msgstr "我们将通过以下的 SCQL 查询样本 Q 的整个生命周期来展示 SCQL 是如何工作的。" -#: ../../topics/system/intro.rst:34 +#: ../../topics/system/intro.rst:38 msgid "SCQL query Q" msgstr "SCQL 查询 Q" -#: ../../topics/system/intro.rst:-1 ../../topics/system/intro.rst:44 +#: ../../topics/system/intro.rst:-1 ../../topics/system/intro.rst:48 msgid "Table schema" msgstr "表的结构" -#: ../../topics/system/intro.rst:46 +#: ../../topics/system/intro.rst:50 msgid "Let's have a look at the schema of tables involved in the above query Q." msgstr "让我们来看看上面查询 Q 中涉及的表的结构。" -#: ../../topics/system/intro.rst:51 +#: ../../topics/system/intro.rst:55 msgid "``bank_1``" msgstr "``bank_1``" -#: ../../topics/system/intro.rst:52 +#: ../../topics/system/intro.rst:56 msgid "" "Party Bank1 owns the table ``bank_1`` in its local database ``DB1``, " "which has two columns ``customer_id`` and ``deposit``." @@ -129,11 +146,11 @@ msgstr "" "参与方 Bank1 在其本地数据库 ``DB1`` 中有张表 ``bank_1``,该数据表有两列分别是 ``customer_id`` 和 " "``deposit``。" -#: ../../topics/system/intro.rst:55 +#: ../../topics/system/intro.rst:59 msgid "``bank_2``" msgstr "``bank_2``" -#: ../../topics/system/intro.rst:54 +#: ../../topics/system/intro.rst:58 msgid "" "Party Bank2 owns the table ``bank_2`` in its local database ``DB2``, " "which has two columns ``customer_id`` and ``loan``." @@ -141,71 +158,71 @@ msgstr "" "参与方 Bank2 在其本地数据库 ``DB2`` 中有张表 ``bank_2``,该数据表有两列分别是 ``customer_id`` 和 " "``loan``。" -#: ../../topics/system/intro.rst:58 +#: ../../topics/system/intro.rst:62 msgid "Column Control List (CCL)" msgstr "列控制列表(CCL)" -#: ../../topics/system/intro.rst:60 +#: ../../topics/system/intro.rst:64 msgid "CCL Form: ````" msgstr "CCL 格式: ````" -#: ../../topics/system/intro.rst:62 +#: ../../topics/system/intro.rst:66 msgid "" "It means ``src_column`` is accessible to ``dest_party`` with the " "``constraint``." msgstr "它表示 ``src_column`` 可以被 ``dest_party`` 在满足 ``constraint`` 的条件下访问。" -#: ../../topics/system/intro.rst:64 +#: ../../topics/system/intro.rst:68 msgid "" "To make the query Q pass the CCL validation, data owner should grant the " "following CCL." msgstr "为了使查询 Q 通过 CCL 验证,数据所有者应该授予以下 CCL。" -#: ../../topics/system/intro.rst:70 +#: ../../topics/system/intro.rst:74 msgid "Bank1" msgstr "Bank1" -#: ../../topics/system/intro.rst:67 +#: ../../topics/system/intro.rst:71 msgid "````" msgstr "````" -#: ../../topics/system/intro.rst:68 +#: ../../topics/system/intro.rst:72 msgid "````" msgstr "````" -#: ../../topics/system/intro.rst:69 +#: ../../topics/system/intro.rst:73 msgid "````" msgstr "````" -#: ../../topics/system/intro.rst:70 +#: ../../topics/system/intro.rst:74 msgid "````" msgstr "````" -#: ../../topics/system/intro.rst:76 +#: ../../topics/system/intro.rst:80 msgid "Bank2" msgstr "Bank2" -#: ../../topics/system/intro.rst:73 +#: ../../topics/system/intro.rst:77 msgid "````" msgstr "````" -#: ../../topics/system/intro.rst:74 +#: ../../topics/system/intro.rst:78 msgid "````" msgstr "````" -#: ../../topics/system/intro.rst:75 +#: ../../topics/system/intro.rst:79 msgid "````" msgstr "````" -#: ../../topics/system/intro.rst:76 +#: ../../topics/system/intro.rst:80 msgid "````" msgstr "````" -#: ../../topics/system/intro.rst:79 +#: ../../topics/system/intro.rst:83 msgid "To learn more about CCL, please read the doc :doc:`/topics/ccl/intro`." msgstr "要了解更多关于 CCL 的信息,请阅读文档 :doc:`/topics/ccl/intro`。" -#: ../../topics/system/intro.rst:83 +#: ../../topics/system/intro.rst:87 msgid "Lifetime of SCQL query" msgstr "SCQL 查询的生命周期" @@ -213,22 +230,22 @@ msgstr "SCQL 查询的生命周期" msgid "SCQL Workflow" msgstr "SCQL 工作流" -#: ../../topics/system/intro.rst:89 +#: ../../topics/system/intro.rst:93 msgid "Step1. Initialize a Session" msgstr "步骤1. 初始化会话" -#: ../../topics/system/intro.rst:91 +#: ../../topics/system/intro.rst:95 msgid "" "SCDB creates a new session for the incoming query, and then authenticates" " the identity of the query issuer. It will reject the request if " "authentication fails." msgstr "SCDB 为传入的查询创建一个新的会话,然后验证查询发出者的身份。如果认证失败,它将拒绝该请求。" -#: ../../topics/system/intro.rst:95 +#: ../../topics/system/intro.rst:99 msgid "Step2. Parse and Plan Q" msgstr "步骤2. 解析和规划 Q" -#: ../../topics/system/intro.rst:97 +#: ../../topics/system/intro.rst:101 msgid "" "Parser will parse Q into an AST(Abstract Syntax Tree), and then Planner " "converts it into a Logical Plan." @@ -238,15 +255,15 @@ msgstr "Parser 将 Q 解析为 AST(抽象语法树),然后 Planner 将其 msgid "Logical Plan for Q" msgstr "Q 的逻辑计划" -#: ../../topics/system/intro.rst:104 +#: ../../topics/system/intro.rst:108 msgid "Step3. Translate" msgstr "步骤3. 翻译" -#: ../../topics/system/intro.rst:106 +#: ../../topics/system/intro.rst:110 msgid "Step3.1 Build and Check CCL" msgstr "步骤3.1 建立和检查 CCL" -#: ../../topics/system/intro.rst:108 +#: ../../topics/system/intro.rst:112 msgid "" "Translator needs to retrieve CCL from CCL manager, it will build CCL " "along the logical plan and verify the CCL of root node to ensure Q is " @@ -255,11 +272,11 @@ msgstr "" "Translator 需要从 CCL 管理器检索 CCL,它将根据逻辑计划构建 CCL,并验证根节点的 CCL,以确保 Q " "在数据所有者的约束下是合法的。" -#: ../../topics/system/intro.rst:111 +#: ../../topics/system/intro.rst:115 msgid "Step3.2 Translate" msgstr "步骤3.2 翻译" -#: ../../topics/system/intro.rst:113 +#: ../../topics/system/intro.rst:117 msgid "" "The translator takes the logical plan and CCL as inputs and generates an " "execution graph for the query Q as follows." @@ -269,11 +286,11 @@ msgstr "翻译器将逻辑计划和 CCL 作为输入,并生成查询 Q 的执 msgid "Execution Graph for Q" msgstr "Q 的执行图" -#: ../../topics/system/intro.rst:120 +#: ../../topics/system/intro.rst:124 msgid "Step4. Optimize and Split Graph" msgstr "步骤4. 图优化和拆分" -#: ../../topics/system/intro.rst:122 +#: ../../topics/system/intro.rst:126 msgid "" "The graph optimizer will optimize the execution graph, such as node " "fusion and replicated node elimination. The optimized execution graph is " @@ -285,11 +302,11 @@ msgstr "图优化器将对执行图进行优化,如节点融合和重复节点 msgid "subgraphs" msgstr "子图" -#: ../../topics/system/intro.rst:130 +#: ../../topics/system/intro.rst:134 msgid "Step5. Execute" msgstr "步骤5. 执行" -#: ../../topics/system/intro.rst:132 +#: ../../topics/system/intro.rst:136 msgid "" "SCDB sends the subgraphs to corresponding SCQLEngine nodes, SCQLEngine " "cooperates with peers to run the execution graph and reports the final " diff --git a/docs/reference/engine-config.rst b/docs/reference/engine-config.rst index a204e89f..8e19c674 100644 --- a/docs/reference/engine-config.rst +++ b/docs/reference/engine-config.rst @@ -2,7 +2,7 @@ SCQL System Config ================== -This configuration manual is designed to help users understand the various configuration options available for the SCQL system. It can be divided into three parts: SCDB configuration options (for Centralized mode), BrokerServer configuration options (for P2P mode) and SCQLEngine configuration options (for both modes). +This configuration manual is designed to help users understand the various configuration options available for the SCQL system. It can be divided into three parts: SCDB configuration options (for Centralized mode), SCQLBroker configuration options (for P2P mode) and SCQLEngine configuration options (for both modes). .. _scdb_config_options: @@ -44,8 +44,7 @@ Example for SCDB spu: | { "protocol": "SEMI2K", - "field": "FM64", - "sigmoid_mode": "SIGMOID_REAL" + "field": "FM64" } party_auth: method: pubkey @@ -240,12 +239,12 @@ SCQL supports different mpc protocol powered by SPU, you can choose different mp .. _config_broker_server_options: -BrokerServer configuration options +SCQLBroker configuration options ================================== -BrokerServer, like SCDB, uses yaml files to configure parameters, The majority of their configuration items are the same. +SCQLBroker, like SCDB, uses yaml files to configure parameters, The majority of their configuration items are the same. -Example for BrokerServer +Example for SCQLBroker ------------------------ .. code-block:: yaml @@ -277,70 +276,70 @@ Example for BrokerServer conn_max_lifetime: 5m -Config in BrokerServer +Config in SCQLBroker ---------------------- -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| Name | Default | Description | -+=======================================+===========+=========================================================================================================================+ -| intra_server.host | 127.0.0.1 | The host where BrokerServer listens for IntraServer requests, default localhost for safety | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| intra_server.port | none | The port on which BrokerServer listens for IntraServer requests | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| intra_server.protocol | http | The transfer protocol of IntraServer, supports HTTP/HTTPS | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| intra_server.cert_file | none | Certificate file path for IntraServer to enable HTTPS, supports crt/pem type | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| intra_server.key_file | none | Private key file path for IntraServer to enable HTTPS, supports key/pem type | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| inter_server.host | none | The host where BrokerServer listens for InterServer requests | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| inter_server.port | none | The port on which BrokerServer listens for InterServer requests | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| inter_server.protocol | http | The transfer protocol of InterServer, supports HTTP/HTTPS | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| inter_server.cert_file | none | Certificate file path for InterServer to enable HTTPS, supports crt/pem type | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| inter_server.key_file | none | Private key file path for InterServer to enable HTTPS, supports key/pem type | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| inter_timeout | 5s | Timeout for requesting InterServe | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| log_level | info | The type and severity of a logged event | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| party_code | none | Unique identifier used to identify the party | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| party_info_file | none | File path that stores information of each party, including party code, public key and InterServer's URL | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| private_pem_path | none | Private key file path for party_code, which will be used to sign requests to other BrokerServers | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| intra_host | none | The callback URL for the local SCQLEngine to notify BrokerServer | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| engines | none | The URLs for local available SCQLEngines | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| engine.timeout | none | Timeout for BrokerServer to send message to SCQLEngine | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| engine.protocol | http | The transfer protocol of SCQLEngine, support http/https | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| engine.content_type | none | The original media type in post body from BrokerServer to SCQLEngine | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| security_compromise.reveal_group_mark | false | Whether to reveal group_mark directly for group by | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| storage.type | none | Database kind in BrokerServer, supports MYSQL/SQLite3, MYSQL is recommended, SQLite3 may have problems with concurrency | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| storage.conn_str | none | Used to connect to a database | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| storage.max_idle_conns | 1 | Maximum number of connections in idle connection pool | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| storage.max_open_conns | 1 | Maximum number of open connections to the database | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| storage.conn_max_idle_time | -1s | Maximum amount of time a connection may be idle | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ -| storage.conn_max_lifetime | -1s | Maximum amount of time a connection may be reused | -+---------------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------+ ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| Name | Default | Description | ++=======================================+===========+=======================================================================================================================+ +| intra_server.host | 127.0.0.1 | The host where SCQLBroker listens for IntraServer requests, default localhost for safety | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| intra_server.port | none | The port on which SCQLBroker listens for IntraServer requests | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| intra_server.protocol | http | The transfer protocol of IntraServer, supports HTTP/HTTPS | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| intra_server.cert_file | none | Certificate file path for IntraServer to enable HTTPS, supports crt/pem type | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| intra_server.key_file | none | Private key file path for IntraServer to enable HTTPS, supports key/pem type | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| inter_server.host | none | The host where SCQLBroker listens for InterServer requests | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| inter_server.port | none | The port on which SCQLBroker listens for InterServer requests | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| inter_server.protocol | http | The transfer protocol of InterServer, supports HTTP/HTTPS | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| inter_server.cert_file | none | Certificate file path for InterServer to enable HTTPS, supports crt/pem type | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| inter_server.key_file | none | Private key file path for InterServer to enable HTTPS, supports key/pem type | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| inter_timeout | 5s | Timeout for requesting InterServe | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| log_level | info | The type and severity of a logged event | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| party_code | none | Unique identifier used to identify the party | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| party_info_file | none | File path that stores information of each party, including party code, public key and InterServer's URL | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| private_pem_path | none | Private key file path for party_code, which will be used to sign requests to other SCQLBrokers | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| intra_host | none | The callback URL for the local SCQLEngine to notify SCQLBroker | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| engines | none | The URLs for local available SCQLEngines | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| engine.timeout | none | Timeout for SCQLBroker to send message to SCQLEngine | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| engine.protocol | http | The transfer protocol of SCQLEngine, support http/https | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| engine.content_type | none | The original media type in post body from SCQLBroker to SCQLEngine | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| security_compromise.reveal_group_mark | false | Whether to reveal group_mark directly for group by | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| storage.type | none | Database kind in SCQLBroker, supports MYSQL/SQLite3, MYSQL is recommended, SQLite3 may have problems with concurrency | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| storage.conn_str | none | Used to connect to a database | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| storage.max_idle_conns | 1 | Maximum number of connections in idle connection pool | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| storage.max_open_conns | 1 | Maximum number of open connections to the database | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| storage.conn_max_idle_time | -1s | Maximum amount of time a connection may be idle | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ +| storage.conn_max_lifetime | -1s | Maximum amount of time a connection may be reused | ++---------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------+ Config for ServerConfig ^^^^^^^^^^^^^^^^^^^^^^^ -BrokerServer accept intra-domain requests through IntraServer, while accept requests between different BrokerServers through InterServer. +SCQLBroker accept intra-domain requests through IntraServer, while accept requests between different SCQLBrokers through InterServer. IntraServer is recommended to use localhost host or LAN address to avoid external attacks, while InterServer is recommended to enable HTTPS to improve security. diff --git a/docs/topics/deployment/how-to-deploy-centralized-cluster.rst b/docs/topics/deployment/how-to-deploy-centralized-cluster.rst index 05b1596d..f2f0f91f 100644 --- a/docs/topics/deployment/how-to-deploy-centralized-cluster.rst +++ b/docs/topics/deployment/how-to-deploy-centralized-cluster.rst @@ -56,7 +56,7 @@ Create a file called ``gflags.conf`` in your workspace and paste the following c --server_enable_ssl=false --scdb_enable_ssl_as_client=false --peer_engine_enable_ssl_as_client=false - --embed_router_conf={"datasources":[{"id":"ds001","name":"mysql db","kind":"MYSQL","connection_str":"db=alice;user=root;password=testpass;host=mysql;auto-reconnect=true"}],"rules":[{"db":"*","table":"*","datasource_id":"ds001"}]} + --embed_router_conf={"datasources":[{"id":"ds001","name":"mysql db","kind":"MYSQL","connection_str":"db=alice;user=root;password=__MYSQL_ROOT_PASSWORD__;host=mysql;auto-reconnect=true"}],"rules":[{"db":"*","table":"*","datasource_id":"ds001"}]} # party authentication flags --enable_self_auth=true --enable_peer_auth=true @@ -65,10 +65,13 @@ Create a file called ``gflags.conf`` in your workspace and paste the following c See :ref:`Engine configuration options ` for more config information +.. _replace_root_password: .. note:: The ``connection_str`` specified in ``embed_router_conf`` is utilized to connect database named alice as set in `1.2 Set Dataset`_, For Bob it should be set to connect database named bob. + The ``__MYSQL_ROOT_PASSWORD__`` should be replaced with the password set by the corresponding party, and please replace this placeholder in the same way for subsequent files. + 1.4 Create docker-compose file ------------------------------ @@ -96,7 +99,7 @@ Create a file called ``docker-compose.yaml`` in your workspace and paste the fol mysql: image: mysql:latest environment: - - MYSQL_ROOT_PASSWORD=testpass + - MYSQL_ROOT_PASSWORD=__MYSQL_ROOT_PASSWORD__ - TZ=Asia/Shanghai healthcheck: retries: 10 @@ -119,6 +122,8 @@ Create a file called ``docker-compose.yaml`` in your workspace and paste the fol Container *mysql* is init by ``alice_init.sql`` as set in `1.2 Set Dataset`_ , it should be ``bob_init.sql`` for Bob. If you use your own database service, container *mysql* can be deleted + Please remember to replace ``__MYSQL_ROOT_PASSWORD__`` with the same password :ref:`as before ` + 1.5 Prepare Party Auth Files ---------------------------- @@ -205,7 +210,7 @@ Create a file called ``config.yml`` in your workspace and paste the following co log_level: debug storage: type: mysql - conn_str: "root:testpass@tcp(mysql:3306)/scdb?charset=utf8mb4&parseTime=True&loc=Local&interpolateParams=true" + conn_str: "root:__MYSQL_ROOT_PASSWORD__@tcp(mysql:3306)/scdb?charset=utf8mb4&parseTime=True&loc=Local&interpolateParams=true" max_idle_conns: 10 max_open_conns: 100 conn_max_idle_time: 2m @@ -230,6 +235,9 @@ See :ref:`SCDB configuration options ` for more config info ``conn_str`` is utilized to connect database named scdb which will be deployed in next step, if you prefer, you can also use your own database service. + Please remember to replace ``__MYSQL_ROOT_PASSWORD__`` with the same password :ref:`as before ` + + 2.4 Create docker-compose file ------------------------------ @@ -254,7 +262,7 @@ Create a file called ``docker-compose.yaml`` in your workspace and paste the fol mysql: image: mysql:latest environment: - - MYSQL_ROOT_PASSWORD=testpass + - MYSQL_ROOT_PASSWORD=__MYSQL_ROOT_PASSWORD__ - MYSQL_DATABASE=scdb - TZ=Asia/Shanghai healthcheck: @@ -274,6 +282,8 @@ Create a file called ``docker-compose.yaml`` in your workspace and paste the fol ``__SCDB_PORT__`` is the published port on the host machine which is used for scdb service to listen on, you need to replace it with an accessible port number. Here, it's set as 8080 + Please remember to replace ``__MYSQL_ROOT_PASSWORD__`` with the same password :ref:`as before ` + 2.5 Start SCDB Service ---------------------- diff --git a/docs/topics/deployment/how-to-deploy-p2p-cluster.rst b/docs/topics/deployment/how-to-deploy-p2p-cluster.rst index f2db85ba..e5edb5fa 100644 --- a/docs/topics/deployment/how-to-deploy-p2p-cluster.rst +++ b/docs/topics/deployment/how-to-deploy-p2p-cluster.rst @@ -14,7 +14,7 @@ The deployment diagram of the SCQL system that we plan to deploy is shown as the .. image:: /imgs/p2p_deploy.png .. note:: - 1. The BrokerServers are served through the HTTP protocol. It is recommended to use HTTPS instead in production environments. + 1. The SCQLBrokers are served through the HTTP protocol. It is recommended to use HTTPS instead in production environments. Step 1: Deployment for Alice @@ -33,23 +33,23 @@ Here we present how to deploy components for party Alice. 1.2 Prepare Meta Data and Source Data ------------------------------------- -To simplify, We use a mysql container to store the BrokerServer's meta data and SCQLEngine's source data. However, if you prefer, you can use your preferred database service or store both types of data separately. +To simplify, We use a mysql container to store the SCQLBroker's meta data and SCQLEngine's source data. However, if you prefer, you can use your preferred database service or store both types of data separately. -The source data can be stored in a file called ``alice_init.sql`` with content like `alice_init.sql `_. For Bob, please use `bob_init.sql `_ instead. +The source data can be stored in a file called ``alice_init.sql`` with content like `alice_init.sql `_. For Bob, please use `bob_init.sql `_ instead. -The meta data can be stored in ``broker_init_alice.sql`` with content like `broker_init_alice.sql `_. For Bob, please use `broker_init_bob.sql `_ instead. +The meta data can be stored in ``broker_init_alice.sql`` with content like `broker_init_alice.sql `_. For Bob, please use `broker_init_bob.sql `_ instead. These files can also be obtained via the command-line with either curl, wget or another similar tool. .. code-block:: bash - # For Bob, please use command: wget raw.githubusercontent.com/secretflow/scql/main/example/p2p-tutorial/mysql/initdb/bob_init.sql - wget raw.githubusercontent.com/secretflow/scql/main/example/p2p-tutorial/mysql/initdb/alice_init.sql - # For Bob, please use command: wget raw.githubusercontent.com/secretflow/scql/main/example/p2p-tutorial/mysql/initdb/broker_init_bob.sql - wget raw.githubusercontent.com/secretflow/scql/main/example/p2p-tutorial/mysql/initdb/broker_init_alice.sql + # For Bob, please use command: wget raw.githubusercontent.com/secretflow/scql/main/examples/p2p-tutorial/mysql/initdb/bob_init.sql + wget raw.githubusercontent.com/secretflow/scql/main/examples/p2p-tutorial/mysql/initdb/alice_init.sql + # For Bob, please use command: wget raw.githubusercontent.com/secretflow/scql/main/examples/p2p-tutorial/mysql/initdb/broker_init_bob.sql + wget raw.githubusercontent.com/secretflow/scql/main/examples/p2p-tutorial/mysql/initdb/broker_init_alice.sql -1.3 Set BrokerServer Config +1.3 Set SCQLBroker Config --------------------------- Create a file called ``config.yml`` in your workspace and paste the following code in: @@ -73,17 +73,20 @@ Create a file called ``config.yml`` in your workspace and paste the following co content_type: application/json storage: type: mysql - conn_str: "root:testpass@tcp(mysql:3306)/brokeralice?charset=utf8mb4&parseTime=True&loc=Local&interpolateParams=true" + conn_str: "root:__MYSQL_ROOT_PASSWORD__@tcp(mysql:3306)/brokeralice?charset=utf8mb4&parseTime=True&loc=Local&interpolateParams=true" max_idle_conns: 10 max_open_conns: 100 conn_max_idle_time: 2m conn_max_lifetime: 5m +.. _replace_p2p_password: .. note:: For Bob, the **party_code** should be ``bob``, and the ``brokeralice`` in **conn_str** should be replaced by ``brokerbob``. -See :ref:`BrokerServer configuration options ` for more. + The ``__MYSQL_ROOT_PASSWORD__`` should be replaced with the password set by the corresponding party, and please replace this placeholder in the same way for subsequent files. + +See :ref:`SCQLBroker configuration options ` for more. 1.4 Set SCQLEngine Config @@ -99,7 +102,7 @@ Create a file called ``gflags.conf`` in your workspace and paste the following c --server_enable_ssl=false --scdb_enable_ssl_as_client=false --peer_engine_enable_ssl_as_client=false - --embed_router_conf={"datasources":[{"id":"ds001","name":"mysql db","kind":"MYSQL","connection_str":"db=alice;user=root;password=testpass;host=mysql;auto-reconnect=true"}],"rules":[{"db":"*","table":"*","datasource_id":"ds001"}]} + --embed_router_conf={"datasources":[{"id":"ds001","name":"mysql db","kind":"MYSQL","connection_str":"db=alice;user=root;password=__MYSQL_ROOT_PASSWORD__;host=mysql;auto-reconnect=true"}],"rules":[{"db":"*","table":"*","datasource_id":"ds001"}]} # party authentication flags --enable_self_auth=true --enable_peer_auth=true @@ -108,7 +111,9 @@ Create a file called ``gflags.conf`` in your workspace and paste the following c .. note:: - The ``connection_str`` specified in ``embed_router_conf`` is utilized to connect database named alice as set in `1.2 Prepare Meta Data and Source Data`_, For Bob it should be set to connect database named bob. + The ``connection_str`` specified in ``embed_router_conf`` is utilized to connect database named **alice** as set in `1.2 Prepare Meta Data and Source Data`_, For Bob it should be set to connect database named **bob**. + + Please remember to replace ``__MYSQL_ROOT_PASSWORD__`` with the same password :ref:`as before ` See :ref:`Engine configuration options ` for more config information @@ -151,7 +156,7 @@ Create a file called ``docker-compose.yaml`` in your workspace and paste the fol mysql: image: mysql:latest environment: - - MYSQL_ROOT_PASSWORD=testpass + - MYSQL_ROOT_PASSWORD=__MYSQL_ROOT_PASSWORD__ - TZ=Asia/Shanghai healthcheck: retries: 10 @@ -172,9 +177,11 @@ Create a file called ``docker-compose.yaml`` in your workspace and paste the fol .. note:: - ``__INTRA_PORT__``, ``__INTER_PORT__`` and ``__ENGINE_PORT__`` are published ports on the host machine, you need to replace it with an accessible port number. In this case, we have designated them as ``8080``, ``8081`` and ``8003``. + ``__INTRA_PORT__``, ``__INTER_PORT__`` and ``__ENGINE_PORT__`` are published ports on the host machine, you need to replace it with an accessible port number. In this case, we have designated them as ``8080``, ``8081`` and ``8003`` + + Please remember to replace ``__MYSQL_ROOT_PASSWORD__`` with the same password :ref:`as before ` - Container *mysql* are initialized by ``alice_init.sql`` and ``broker_init_alice.sql`` as set in `1.2 Prepare Meta Data and Source Data`_ , please change to ``bob_init.sql`` and ``broker_init_bob.sql`` for Bob. + Container *mysql* are initialized by ``alice_init.sql`` and ``broker_init_alice.sql`` as set in `1.2 Prepare Meta Data and Source Data`_ , please change to ``bob_init.sql`` and ``broker_init_bob.sql`` for Bob If you use your own database service, container *mysql* can be deleted @@ -217,8 +224,8 @@ Create other files: # for engine Bob, the output can be used to replace the __BOB_PUBLIC_KEY__ in engine Alice's authorized_profile.json openssl pkey -in ed25519key.pem -pubout -outform DER | base64 # download authorized profile - # for engine Bob, use command: wget https://raw.githubusercontent.com/secretflow/scql/main/example/p2p-tutorial/engine/bob/conf/authorized_profile.json - wget https://raw.githubusercontent.com/secretflow/scql/main/example/p2p-tutorial/engine/alice/conf/authorized_profile.json + # for engine Bob, use command: wget https://raw.githubusercontent.com/secretflow/scql/main/examples/p2p-tutorial/engine/bob/conf/authorized_profile.json + wget https://raw.githubusercontent.com/secretflow/scql/main/examples/p2p-tutorial/engine/alice/conf/authorized_profile.json Then you need to replace ``__XXX_PUBLIC_KEY__`` in party_info.json and authorized_profile.json with corresponding public keys. @@ -276,7 +283,7 @@ It is basically the same as `Step 1: Deployment for Alice`_, but some characters Step 3: SCQL Test ================= -Here we use brokerctl to submit a query to BrokerServer for testing, you can also submit queries directly to BrokerServer by sending a POST request. +Here we use brokerctl to submit a query to SCQLBroker for testing, you can also submit queries directly to SCQLBroker by sending a POST request. 3.1 Build brokerctl @@ -299,7 +306,7 @@ Here we use brokerctl to submit a query to BrokerServer for testing, you can als 3.2 Submit Query ---------------- -You can start to use brokerctl to submit requests to BrokerServer and fetch the results back. it's similar to what you can do in :doc:`/intro/p2p-tutorial`. +You can start to use brokerctl to submit requests to SCQLBroker and fetch the results back. it's similar to what you can do in :doc:`/intro/p2p-tutorial`. .. code-block:: bash @@ -314,12 +321,11 @@ You can start to use brokerctl to submit requests to BrokerServer and fetch the +-----------+---------+---------+----------------------------------+ | demo | alice | [alice] | { | | | | | "protocol": "SEMI2K", | - | | | | "field": "FM64", | - | | | | "sigmoidMode": "SIGMOID_REAL" | + | | | | "field": "FM64" | | | | | } | +-----------+---------+---------+----------------------------------+ ... .. note:: - Yeed need to replace ``__ALICE_INTRA_URL__`` or ``__BOB_INTRA_URL__`` with the actual IntraServer address, like: http://30.30.30.30:8080. \ No newline at end of file + You need to replace ``__ALICE_INTRA_URL__`` or ``__BOB_INTRA_URL__`` with the actual IntraServer address, like: http://30.30.30.30:8080. \ No newline at end of file diff --git a/docs/topics/system/intro-p2p.rst b/docs/topics/system/intro-p2p.rst index db42b4fe..3a41eafa 100644 --- a/docs/topics/system/intro-p2p.rst +++ b/docs/topics/system/intro-p2p.rst @@ -17,7 +17,7 @@ The SCQL system running in P2P mode consists of ``SCQLBrokers`` and ``SCQLEngine + **SQL analysis and job scheduling**: translate SQL query into a hybrid MPC-plaintext execution graph and delegate the execution of the graph to its local SCQLEngine. -- ``SCQLEngine``: SCQLEngine is a hybrid MPC-plaintext execution engine, which collaborates with peers to run the execution graph and reports the query result to BrokerServer. SCQLEngine is implemented on top of state-of-the-art MPC framework `secretflow/spu`_. +- ``SCQLEngine``: SCQLEngine is a hybrid MPC-plaintext execution engine, which collaborates with peers to run the execution graph and reports the query result to SCQLBroker. SCQLEngine is implemented on top of state-of-the-art MPC framework `secretflow/spu`_. .. image:: /imgs/scql_p2p_architecture.png :alt: SCQL P2P Architecture