对于语音识别产品的实施方案,给出简易的业务流程,仅供参考。

如下流程图,可以使用如下两个站点查看。

文件转写

创建文件转写任务

客户应用->接入网关: 发送创建文件转写的请求
接入网关->安全网关: 转发请求
安全网关->安全网关: 对请求进行鉴权
安全网关->业务网关: 转发请求
业务网关->业务网关: 校验业务请求
业务网关->业务网关: 选择算法服务
业务网关->数据库: 保存任务信息
业务网关->任务队列: 将文件转写请求放入任务队列
业务网关-->安全网关: 返回响应消息
安全网关-->接入网关: 返回响应消息
接入网关-->客户应用: 返回响应消息

执行文件转写任务

算法服务实例->任务队列: 轮询任务队列,提取任务
算法服务实例->数据库: 启动转写任务
算法服务实例->存储服务: 下载音频文件
算法服务实例->算法服务实例: 前处理
算法服务实例->算法引擎: 加载音频数据,送入识别引擎
算法引擎->算法服务实例: 返回识别结果
算法服务实例->算法服务实例: 后处理
算法服务实例->数据库: 保存识别结果
算法服务实例->数据库: 关闭转写任务

获取转写结果

客户应用->接入网关: 获取文件转写的结果
接入网关->安全网关: 转发请求
安全网关->安全网关: 对请求进行鉴权
安全网关->业务网关: 转发请求
业务网关->业务网关: 校验业务请求
业务网关->数据库: 加载文件转写的结果
业务网关-->安全网关: 返回响应消息
安全网关-->接入网关: 返回响应消息
接入网关-->客户应用: 返回响应消息

实时语音识别

有两个方案,分别如下。二者差别,比如:

  • 在语音识别的过程中,语音数据是否需要经过业务网关转发给算法服务实例。
  • 计费数据、运营数据、运维数据等信息,在哪个组件上实现。

方案一

创建信道

客户应用->接入网关: 发送创建信道的请求
接入网关->安全网关: 转发请求
安全网关->安全网关: 对请求进行鉴权
安全网关->业务网关: 转发请求
业务网关->业务网关: 校验业务请求
业务网关->业务网关: 选择算法服务
业务网关->业务网关: 选择算法服务实例
业务网关->算法服务实例: 创建信道
算法服务实例-->业务网关: 创建信道成功
业务网关-->安全网关: 创建信道成功
安全网关-->接入网关: 创建信道成功
接入网关-->客户应用: 创建信道成功

启动识别会话

客户应用->接入网关: 发送启动识别会话的请求
接入网关->安全网关: 转发请求
安全网关->业务网关: 转发请求
业务网关->算法服务实例: 转发创建识别会话的请求
算法服务实例->算法引擎: 创建识别会话
算法引擎->算法引擎: 创建识别会话
算法引擎-->算法服务实例: 启动识别会话成功
算法服务实例-->业务网关: 启动识别会话成功
业务网关-->安全网关: 启动识别会话成功
安全网关-->接入网关: 启动识别会话成功
接入网关-->客户应用: 启动识别会话成功

发送音频数据

客户应用->接入网关: 发送音频数据
接入网关->安全网关: 转发请求
安全网关->业务网关: 转发请求
业务网关->算法服务实例: 转发数据
算法服务实例->算法引擎: 写入音频数据

回送语音识别结果

算法引擎->算法服务实例: 回送识别结果
算法服务实例->算法服务实例: 后处理
算法服务实例->业务网关: 回送识别结果
业务网关->安全网关: 回送识别结果
安全网关->接入网关: 回送识别结果
接入网关->客户应用: 回送识别结果

方案二

创建信道

客户应用->接入网关: 发送创建信道的请求
接入网关->安全网关: 转发请求
安全网关->安全网关: 对请求进行鉴权
安全网关->业务网关: 转发请求
业务网关->业务网关: 校验业务请求
业务网关->业务网关: 选择算法服务
业务网关->业务网关: 选择算法服务实例
业务网关-->安全网关: 返回信道元数据
安全网关-->接入网关: 返回信道元数据
接入网关-->客户应用: 返回信道元数据
客户应用->接入网关: 发送创建信道的请求
接入网关->安全网关: 转发请求
安全网关->安全网关: 对请求进行鉴权
安全网关->算法服务实例: 转发请求
算法服务实例->算法服务实例: 创建信道
算法服务实例-->安全网关: 创建信道成功
安全网关-->接入网关: 创建信道成功
接入网关-->客户应用: 创建信道成功

启动识别会话

客户应用->接入网关: 发送启动识别会话的请求
接入网关->安全网关: 转发请求
安全网关->安全网关: 对请求进行鉴权
安全网关->算法服务实例: 转发请求
算法服务实例->算法引擎: 创建识别会话
算法引擎->算法引擎: 创建识别会话
算法引擎-->算法服务实例: 启动识别会话成功
算法服务实例-->安全网关: 启动识别会话成功
安全网关-->接入网关: 启动识别会话成功
接入网关-->客户应用: 启动识别会话成功

发送音频数据

客户应用->接入网关: 发送音频数据
接入网关->安全网关: 转发请求
安全网关->安全网关: 对请求进行鉴权
安全网关->算法服务实例: 转发数据
算法服务实例->算法引擎: 写入音频数据

回送语音识别结果

算法引擎->算法服务实例: 回送识别结果
算法服务实例->算法服务实例: 后处理
算法服务实例->安全网关: 回送识别结果
安全网关->接入网关: 回送识别结果
接入网关->客户应用: 回送识别结果

ASR项目实战-方案设计的更多相关文章

  1. Spark大型项目实战:电商用户行为分析大数据平台

    本项目主要讲解了一套应用于互联网电商企业中,使用Java.Spark等技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为.页面跳转行为.购物行为.广告点击行为等)进行复杂的分析.用统计分 ...

  2. Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  3. 给缺少Python项目实战经验的人

    我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...

  4. 【腾讯Bugly干货分享】React Native项目实战总结

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...

  5. Asp.Net Core 项目实战之权限管理系统(0) 无中生有

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  6. Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  7. Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  8. Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  9. Asp.Net Core 项目实战之权限管理系统(5) 用户登录

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  10. Asp.Net Core 项目实战之权限管理系统(6) 功能管理

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

随机推荐

  1. Web攻防--Java_SQL注入--XXE注入-- SSTI模板注入--SPEL表达式注入

    预编译 编译器在编译sql语句时,会依次进行词法分析.语法分析.语义分析等操作, 预编译技术会让数据库跳过编译阶段,也就无法就进行词法分析,关键字不会被拆开,注入语句也就不会被识别为SQL的关键字,从 ...

  2. 如何像 Sealos 一样在浏览器中打造一个 Kubernetes 终端?

    作者:槐佳辉.Sealos maintainer 在 Kubernetes 的世界中,命令行工具(如 kubectl 和 helm)是我们与集群交互的主要方式.然而,有时候,我们可能希望能够在 Web ...

  3. 低功耗引擎 Cliptrix 有什么价值

    在万物互联的时代,现代人已普遍接受电视.音箱等电器设备具备智能化能力,也是在这个趋势下,我们身边越来越多的iOT设备联网和交互成为刚需.但iot设备也面临到一些非常显著的痛点,例如iot设备的内存.处 ...

  4. oracle的根容器下新建pdb容器及本地用户

    在Oracle12C根容器下,新建pdb,要求根据种子pdb建目的pdb:db_test,配置监听:在目的pdb下建本地用户 首先根据种子pdb新建目的pdb 1.管理员身份登录 C:\WINDOWS ...

  5. 文章《Semantic Kernel —— LangChain 的替代品?》的错误和疑问 探讨

    微信公众号文章 Semantic Kernel -- LangChain 的替代品?[1] ,它使用的示例代码是Python ,他却发了这么一个疑问: 支持的语言对比(因为 Semantic Kern ...

  6. MySQL系列之读写分离架构——Atlas介绍、安装配置、Atlas功能测试、生产用户要求、Atlas基本管理、自动分表、关于读写分离建议

    文章目录 1. Atlas介绍 2.安装配置 3. Atlas功能测试 4. 生产用户要求 5. Atlas基本管理 6. 自动分表 7. 关于读写分离建议 1. Atlas介绍 Atlas是由 Qi ...

  7. PostgreSQL学习笔记-3.基础知识:CROSS、INNER、LEFT OUTER、RIGHT OUTER、FULL OUTER、UNION

    PostgreSQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段. 在 PostgreSQL 中,JOIN 有五种连接类型: CROSS JOIN :交叉连接INNER ...

  8. LLM探索:为ChatGLM2的gRPC后端增加连续对话功能

    前言 之前我做 AIHub 的时候通过 gRPC 的方式接入了 ChatGLM 等开源大模型,对于大模型这块我搞了个 StarAI 框架,相当于简化版的 langchain ,可以比较方便的把各种大模 ...

  9. Unity 代码调用重新生成csproj文件

    结论 先放结论:editor代码中直接调用 Unity.CodeEditor.CodeEditor.CurrentEditor.SyncAll(); 原因 在一些操作后,比如修改csc.rsp的内容之 ...

  10. 调和级数发散率证明|欧拉常数|ln n+gamma+varepsilon_k证明|sigma(1/i)

    最近在做一个 练习 ,然后看到了 调和级数 这个东西,说实话这东西谁能在考场上想到,平日还是要多积累. 开门见山 但是我们今天只证这个东西: \[\sum^{n}_{i = 1} \frac{1}{n ...