1.本发明属于软件应用领域,主要应用于智能家居的语音交互功能开发场景中,通过本系统的快速配置可以让智能家居接入多个第三方语音交互平台,同时可以对平台的交互指令进行分布式存储和数据分析,从而让设备商对智能家居的语音控制功能有较全面的管理。
背景技术:2.设备商要借助第三方平台提供的语音识别能力,需要在后台系统中添加新的模块用来接收第三方平台发送的控制请求。但随着使用智能家居用户的增长以及用户对语音交互方式的依赖程度增加,单一的接收模块的并发访问能力也需要提高。因此需要对系统的整体架构进行升级,从原先的单体应用转化为多模块的微服务架构。微服务架构是一种架构模式,采用一组服务的方式来构建一个应用,服务独立部署在不同的进程中,不同服务通过一些轻量级交互机制来通信,使得服务可独立扩展伸缩,每个服务定义了明确的边界,不同的服务甚至可以采用不同的编程语言来实现,由独立的团队来维护。在传统的组件调用中,通过接口间的规范来明确模块的功能范围边界。被拆分为微服务后,每个微服务实例的数量和网络地址都可能会动态变化,需要一个中心化的组件来进行服务的登记和管理。服务注册与发现组件实现了服务注册与发现的功能,组件的基础架构分为服务注册中心,服务提供者,服务消费者,提供了服务注册、服务同步、服务续约、服务调用、自我保护等多项治理机制。使用服务注册与发现组件作为服务注册与发现中心,可以有效保证聚合系统的各个模块之间的独立性和系统整体的稳定性。
3.为了对多个第三方平台的语音交互请求进行记录和分析,需要能对服务端的网络请求与响应进行数据处理并转换成格式化数据进行输出的组件。使用日志收集与处理插件作为服务端数据的处理管道,能够从多个数据源采集数据,转换数据。该插件能够动态地采集、转换和传输数据,不受格式或复杂度的影响。并且该插件可以利用自带的过滤器从非结构化数据中派生出结构,从网络地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。再完成指定的数据处理和转换后,日志收集插件可以将数据输出到分布式数据库中进行存储。
4.基于以上对微服务架构的调研,本发明将按照项目的功能性需求将系统划分成五个模块进行开发和部署,分别是设备配置模块、指令监控模块、认证模块、本地测试模块、协议解析模块。这些模块需要注册到服务注册与发现中心上,作为服务的提供者和消费者。在微服务框架下,第三方平台对聚合平台的访问需要经过认证模块的授权,通过授权后会返回给第三方平台访问的通行令牌用来请求协议解析模块的开放接口,协议解析模块对控制请求进行转换后调用设备商后台系统的控制接口,从而完成一次语音交互的过程。
技术实现要素:5.本发明要解决的问题是:智能家居设备商在接入第三方语音交互平台时,需要在
后台控制系统中单独开发一个模块用来解析第三方平台的请求指令。当需要接入多个语音助手平台时,就需要重复开发多个解析模块,当某类设备的功能定义发生变化,需要对多个模块进行更新。我们的发明能够帮助设备商快速地在各个平台上建立相关的产品,并实现对第三方平台交互协议的解析与转换,使得智能家居产品快速地获取语音控制的能力。
6.本发明的技术方案基于微服,具体为一种面向智能家居的语音交互适配系统,其特征是能够让智能设备快速地接入多个第三方语音交互平台,并实现用语音助手控制设备。该系统主要包含五个核心模块,分别是设备配置模块、指令日志模块、协议解析模块、权限认证模块、远程测试模块。其中数据层主要根据数据类型和数据使用场景使用了关系型数据库、非关系型数据库以及内存数据库。服务集群与展示层之间通过网络请求进行交互,数据层与服务集群之间通过持久层框架进行数据的管理。
7.(1)设备配置模块:在该模块中,设备商可以添加和更改设备的型号、类型等基本信息,并且可以指定该设备支持哪些语音助手控制。同时该模块需要支持对设备可控属性的配置,用户可以指定自己的设备有哪些属性是支持语音控制的。
8.(2)指令日志模块:该模块需要从数据库中读取当前用户下设备近十日的交互指令,显示出设备使用总数的排行数据和设备使用率排名,并实时显示当前系统中被激活的机器数量,以及设备的日活总数和当月日志交互数量。
9.(3)协议解析模块:该模块负责接收多个语音交互平台发送过来的请求,并从请求体中提取交互协议内容。需要为该模块配置多个协议解析器用来将不同平台的交互协议转化成平台内部的一套通用识别协议。同时需要识别出通用协议中的用户指令意图,调用对应的控制接口完成对机器运行状态的控制和数据的读取。
10.(4)远程测试模块:该系统需要显示出当前用户所绑定的设备列表,对于每个设备的可操控属性提供读取和控制两种指令模式,用户可以测试该设备的某个属性的读取和控制是否正常。
11.该系统的使用步骤如下:1) 用户填写好第三方授权协议基本配置参数;2) 用户为设备添加基本的配置信息,并制定设备的可控属性;3) 该系统将用户填写的配置信息同步到对应的第三方语音交互平台上,主要包含:3.1)第三方授权协议注册服务,收集用户本地模块的第三方授权协议配置信息,包含账号授权的链接、客户端凭证、客户端密钥;并通过网络请求将配置信息注册到多个第三方语音交互平台上;提供第三方授权协议接入测试功能用来判断配置信息是否有误;3.2)设备信息注册器,读取存储在本地数据库中的设备在聚合平台上的通用信息;针对不同平台的设备注册规范进行信息的提取和整合,对不同的第三方平台发起设备功能模型的创建请求;4) 该系统对来自第三方语音交互平台的交互指令进行解析,并调用服务端提供的控制接口进行控制,主要包含:4.1)语音指令接收,负责接收多个平台的控制请求,调用对应的协议解析类对请求进行解析和封装;4.2)语音控制指令执行,接收经过平台统一封装的内部协议,对内部协议进行读
取和解析判断执行意图;意图主要包括读取设备列表、控制、读取属性、上报更新。
12.本发明的特点在于:1.首次通过设备信息的自动化配置完成设备定义信息在多个平台上的同步更新。
13.2.首次将多个第三方平台的请求解析合并到一个模块中执行,并记录各个平台的执行请求日志。
14.3.首次将多个平台的第三方授权协议认证集中到一个模块上进行,并可以自主更改配置信息。
附图说明
15.图1为本系统整体架构图。
16.图2为设备配置模块详细流程图。
17.图3为指令日志模块详细流程图。
18.图4为协议解析模块详细流程图。
具体实施方式
19.以下通过特定的具体的实例说明本发明的实施方式,本领域的技术人员可由本说明书揭露的内容轻易地了解到本发明的其他优点和功效。
20.本专利主要通过聚合系统的自动化配置和协议解析功能完成设备商与第三方平台的快速接入,主要采用了微服务实现框架、内存数据库、日志收集与处理插件、持久层框架等。
21.1、设备定义信息配置在本发明中,我们采用用户输入格式化的设备定义信息来获取各个第三方平台的注册内容,将多个字段信息转化成定义好的对象并存储到关系型数据库中便于设备商定期查看和更新设备的功能信息。同时提供分页查询页面供设备商查看已上线设备的详细定义信息,并可以对注册信息进行编辑,系统后台会将更新的信息同步到多个第三方平台。系统提供多个平台的信息注册器,通过注册器可以将新的设备信息注册到第三方平台上。
22.2、指令日志管理本发明中,我们采用java切面+消息中间件+日志收集处理插件的技术方案实现了从系统对外开放的接口中收集网络请求和响应的内容信息,通过切面进行截取,使用消息中间件进行消息的传递并使用日志收集与处理插件进行消息消费以及内容识别和转换,最终将获得指令日志持久化存储到关系型数据库中。同时该部分还提供了多种查询方式供设备商进行设备指令日志查询,可以根据设备id,交互日志类型,交互时间来确定需要查询的日志信息。
23.3、协议解析和执行在本发明中,我们设计了协议解析器和编码器以及执行器来完成对第三方平台交互协议的解析和指令执行。其中解析器和编码器的设计主要根据了各个平台的协议内容特征进行字段的提取和适配,构造出平台内部的通用协议,并将通用协议传递给执行器执行。执行器主要通过查询设备商的后台服务地址以及构造http异步请求发起控制请求,并根据返回的执行结果进行包装和返回。
24.4、远程设备测试在本发明中,我们建立一个远程测试平台用来测试语音交互适配系统和设备商后台服务之间的通信链路是否完好。系统后台通过读取设备商账号下绑定的待测试设备列表信息,显示出当前测试设备的各个待测属性。系统后台通过收集用户测试数据构造出通用平台协议,使用协议执行器发起控制请求并返回测试结果。
25.本发明所述的一种面向智能家居的语音交互适配系统,主要包括:设备信息配置模块:收集设备的定义信息将其存储到数据库中进行保存,同时提供查看接口供设备商查看设备当前在各个平台的注册上线状态。提供自动注册功能,通过访问各个平台的设备定义信息创建接口,将设备自动注册到第三方平台上。
26.指令日志模块:接收各个平台的控制请求并从中提取有效的设备控制信息,并将信息进行包装和过滤,生成标准格式的日志文件保存到数据库中。提供指令日志内容的查询接口,用户可根据指令类型,设备id,起止时间查看对应的日志内容。
27.协议解析与执行模块:将各个第三方平台的请求协议进行解析,并生成平台内部的通用协议。然后将通用协议发送给执行器进行执行,通过构造网络异步请求访问设备后台控制系统完成指令下发,并对执行结果进行封装返回给各个第三方平台。
28.本发明提供了一套对外开放的设备商接入协议,整体采用微服务架构进行开发与部署,使用非关系数据库存储交互指令信息,对于用户频繁查询的热点数据使用内存数据库作为缓存。
29.指令日志模块,利用切面功能获取到控制层的网络请求和网络响应,根据业务需求对截取的内容做格式序列化;切面将获取到的内容发送至消息中间件中,使用日志插件从消息中间件中消费格式化信息,对内容进行清洗后按照规定发送给不同的数据库索引进行存储。
30.远程测试模块,自动读取当前操作用户账号下绑定的智能设备,并通过读取可控制属性列表显示待测试属性;对每个待测试属性提供读取和控制两种操作类型,根据测试返回的网络响应内容展示对应的测试结果。
31.该系统的使用步骤如下:1) 用户填写好第三方授权协议基本配置参数;2) 用户为设备添加基本的配置信息,并制定设备的可控属性;3) 该系统将用户填写的配置信息同步到对应的第三方语音交互平台上,主要包含:3.1)第三方授权协议注册服务,收集用户本地模块的第三方授权协议配置信息,包含账号授权的链接、客户端凭证、客户端密钥;并通过网络请求将配置信息注册到多个第三方语音交互平台上;提供第三方授权协议接入测试功能用来判断配置信息是否有误;3.2)设备信息注册器,读取存储在本地数据库中的设备在聚合平台上的通用信息;针对不同平台的设备注册规范进行信息的提取和整合,对不同的第三方平台发起设备功能模型的创建请求;4) 该系统对来自第三方语音交互平台的交互指令进行解析,并调用服务端提供的控制接口进行控制,主要包含:4.1)语音指令接收,负责接收多个平台的控制请求,调用对应的协议解析类对请
求进行解析和封装;4.2)语音控制指令执行,接收经过平台统一封装的内部协议,对内部协议进行读取和解析判断执行意图;意图主要包括读取设备列表、控制、读取属性、上报更新。