用于数据交互的方法与流程

文档序号:11407465阅读:303来源:国知局
用于数据交互的方法与流程

本发明涉及通信技术领域,特别涉及一种用于数据交互的方法。



背景技术:

随着科技的不断发展,智能机器人衍生出许多分支,服务于人们的日常生活。智能机器人能够理解人类语言,用人类语言同操作者对话,它能分析出现的情况,能调整自己的动作以达到操作者所提出的要求,能拟定所希望的动作。智能机器人有时会借助第三方应用程序编程接口进行数据访问、获得应答数据,以理解操作者请求、提供第三方应用服务,但是在请求第三方应用程序编程接口时会增加回应操作者请求的时间,尤其在涉及多次交流的情况下降低了智能机器人的数据访问效率。



技术实现要素:

本发明实施例提供了一种用于数据交互的方法以提高机器人在理解操作者请求时的数据访问效率。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

根据本发明实施例第一方面提供了一种用于数据交互的方法,包括:接收来自业务层的检索请求;发送所述检索请求至搜索应用服务器,所述搜索应用服务器用于管理第三方应用服务的应答数据;接收所述搜索应用服务器发送的所述应答数据;发送所述应答数据至所述业务层。

可选地,所述检索请求包括:请求文本、机器标识(英文全称:identification,英文简称:id),领域id和意图id。

可选地,所述应答数据包括:机器id和应答文本,所述请求文本、领域id、意图id和所述应答文本对应。

可选地,还包括:校验所述检索请求的格式是否符合检索条件;若所述检索请求的格式符合检索条件,执行所述发送所述检索请求至搜索服务器的步骤。

根据本发明实施例第二方面提供了一种用于数据交互的方法,包括:接收来自数据层的检索请求;根据所述检索请求,从管理的第三方应用服务的应答数据中检索与所述检索请求对应的应答数据;发送所述应答数据至所述数据层。

可选地,所述第三方应用服务的应答数据存储于存储器中。

可选地,所述存储器包括缓存、数据库和磁盘;所述从管理的第三方应用服务的应答数据中检索与所述检索请求对应的应答数据包括:检索所述缓存中是否存在与所述检索请求对应的应答数据;若所述缓存中不存在与所述检索请求对应的应答数据,检索所述数据库中是否存在与所述检索请求对应的应答数据;若所述缓存和所述数据库中不存在与所述检索请求对应的应答数据,检索所述磁盘中是否存在与所述检索请求对应的应答数据。

可选地,若检索到所述数据库或所述磁盘中存在与所述检索请求对应的应答数据,将所述检索请求和所述应答数据异步存储到所述缓存。

可选地,所述检索请求中包括:请求文本、机器id,领域id和意图id。

可选地,所述缓存、所述数据库和所述磁盘包括:请求文本、机器id,领域id、意图id和应答文本,所述请求文本、领域id、意图id和应答文本一一对应。

可选地,根据所述检索请求,从管理的第三方应用服务的应答数据中检索与所述检索请求对应的应答数据包括:根据所述检索请求中的所述领域id和所述意图id检索对所述缓存、所述数据库和所述磁盘进行检索;计算所述检索请求中的请求文本与包含所述领域id和所述意图id的存储器中的所述请求文本的相似度;当存在所述相似度大于设定阈值的请求文本时,以包含所述领域id和所述意图id的存储器中对应所述请求文本的所述应答文本和检索请求中的所述机器id作为应答数据。

根据本发明实施例第三方面提供了一种用于数据交互的装置,包括:第一接收模块和第一发送模块;所述第一接收模块,用于接收来自业务层的检索请求;所述第一发送模块,用于发送所述检索请求至搜索应用服务器,所述搜索引擎服务器用于管理第三方服务的应答数据;所述第一接收模块,还用于接收所述搜索应用服务器发送的所述应答数据;所述第一发送模块,还用于发送所述应答数据至所述业务层。

可选地,还包括:校验模块,用于校验所述检索请求的格式是否符合检索条件。

根据本发明实施例第四方面提供了一种用于数据交互的装置,包括:第二接收模块,检索模块和第二发送模块;所述第二接收模块,用于接收来自数据层的检索请求;检索模块,用于根据所述检索请求,从管理的第三方应用服务的应答数据中检索与所述检索请求对应的应答数据;所述第二发送模块,用于发送所述应答数据至所述数据层。

可选地,所述检索模块用于检索缓存中是否存在与所述检索请求对应的应答数据;若所述缓存中不存在与所述检索请求对应的应答数据,所述检索模块检索数据库中是否存在与所述检索请求对应的应答数据;若所述数据库中不存在与所述检索请求对应的应答数据,所述检索模块从磁盘中检索与所述检索请求对应的应答数据。

可选地,所述装置还包括:存储模块,用于所述数据库或所述磁盘中存在与所述检索请求对应的应答数据时,将所述检索请求和所述应答数据对应的异步存储到所述缓存。

可选地,所述检索请求中包括:请求文本、机器id,领域id和意图id。

可选地,所述应答数据包括:机器id和应答文本;所述请求文本、领域id和意图id与所述应答文本一一对应。

可选地,所述装置还包括:计算模块和判断模块;所述计算模块,用于计算所述检索模块根据所述检索请求中的所述领域id和所述意图id进行检索得到的请求文本和所述检索请求中的请求文本的相似度;所述判断模块,用于判断所述相似度是否大于设定阈值。

本发明实施例提供的技术方案可以包括以下有益效果:

通过搜索应用服务器对第三方应用程序的数据进行统一管理,业务层发送检索请求至数据层,并由数据层传递检索请求至搜索应用服务器获取应答数据,搜索应用服务器根据检索请求进行检索,将满足条件的应答数据反馈给数据层,数据层传递应答数据给业务层实现数据交互,减少了分别访问第三方服务的次数,节约数据访问时间,提高了数据访问效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种用于数据交互的方法的流程示意图;

图2是根据一示例性实施例示出的一种用于数据交互的方法的流程示意图;

图3是根据一示例性实施例示出的一种用于数据交互的方法的流程示意图;

图4是根据一示例性实施例示出的一种用于数据交互的方法的流程示意图;

图5是根据一示例性实施例示出的一种用于数据交互的装置的结构示意图;

图6是根据一示例性实施例示出的一种用于数据交互的装置的结构示意图;

图7是根据一示例性实施例示出的一种用于数据交互的装置的结构示意图;

图8是根据一示例性实施例示出的一种用于数据交互的装置的结构示意图。

具体实施方式

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选地,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法、产品等而言,由于其与实施例公开的方法部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

solr是一个独立的企业级的搜索应用服务器,它对外提供类似于网络服务web-service的应用程序编程接口。用户可以通过超文本传输协议(英文全称:hypertexttransferprotocol,英文简称:http)请求,向solr提交一定格式的可扩展标记语言(英文全称:extensiblemarkuplanguage,英文简称:xml)文件,生成索引;也可以通过httpget操作提出查找请求,并得到xml格式的返回结果。solr是一个高性能,采用java5开发,基于全文搜索引擎lucene的全文搜索服务器。同时提供比lucene更为丰富的查询语言,实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性。

如图1所示,本发明实施例提供的用于数据交互的方法包括以下步骤。

步骤s101,接收来自业务层的检索请求。

智能机器人在与操作者之间进行交互时,业务层负责将操作者的指令进行处理,发送检索请求以获取满足该指令的应答数据。

步骤s102,发送所述检索请求至搜索应用服务器,所述搜索应用服务器用于管理第三方应用服务的应答数据。

数据层用于在业务层与solr之间进行数据传输,将业务层发送的检索请求传递给solr。预先将第三方应用程序的服务信息存储于存储器中,solr对第三方应用程序的数据进行统一管理,并从第三方应用程序的数据中获取满足检索请求的应答数据。

步骤s103,接收所述搜索应用服务器发送的应答数据。

步骤s104,发送所述应答数据至所述业务层。

数据层接收solr发送的满足检索请求的应答数据并发送给业务层。

通过solr对第三方应用程序的数据进行统一管理,业务层发送检索请求至数据层,并有数据层传递检索请求至solr获取应答数据,solr根据检索请求对进行检索,将满足条件的应答数据反馈给数据层,数据层传递应答数据给业务层实现数据交互,减少了访问第三方服务的次数,节约数据访问时间,提高了数据访问效率。

在另一些实施例中,如图2所示,用于数据交互的方法包括以下步骤。

步骤s201,接收来自业务层的检索请求。

智能机器人在与操作者之间进行交互时,业务层负责将操作者的指令转换为请求文本,并对请求文本进行解析分类,将请求文本,机器id,领域id和意图id整合成检索请求。数据层用于向业务层提供应答数据。

步骤s202,校验所述检索请求的格式是否符合检索条件。

数据层在接收到业务层发送的检索请求后对检索请求进行校验,校验该检索请求的格式是否满足请求solr进行检索的格式。

步骤s203,发送所述检索请求至solr。

若数据层校验出来自业务层的检索请求的格式满足启动solr进行检索的格式,则发送该检索请求至solr。

步骤s204,接收所述solr发送的应答数据。

应答数据包括机器id和应答文本。其中,机器id用于指示该应答数据应反馈给的对应的智能机器人。应答文本则是对应操作者的指令的答复文本。

在一些实施例中,该应答信息存储在缓存、数据库或磁盘中,由solr统一管理。有一些常用指令需要请求第三方服务,将关于这些指令的第三方服务的数据配置成静态文件存储在缓存、数据库或磁盘中。缓存、数据库或磁盘中包括请求文本、领域id、意图id和应答文本。其中,请求文本、领域id、意图id和应答文本为一个元组。即请求文本、领域id和意图id对应唯一的应答文本,领域id指请求文本涉及到的领域对应的存储数据时设定的领域分类编号,意图id指请求文本涉及到的意图对应的存储数据时设定的领域分类编号。solr从缓存、数据库或磁盘中获取应答信息,在从缓存、数据库或磁盘中获取应答信息时区分优先级,缓存处于最高优先级,磁盘处于最低优先级。缓存是数据交换的缓冲区,当solr在获取数据时,会首先从缓存中查找需要的数据,因为缓存的运行速度较快,故从缓存中查找数据要节约数据访问时间。数据库中的存放的数据较全面,从数据库中查找满足获取数据请求信息的数据的速度比从缓存中获取慢。磁盘的运行速度较慢,故从磁盘中查找数据耗时较长。若缓存、数据库或磁盘中同时存在满足检索请求的数据时,从处于高优先级的存储器读取数据。

步骤s205,发送所述应答数据至所述业务层。

数据层接收solr发送的满足该检索请求的应答数据并发送给业务层。

本发明实施例提供的方法通过solr对第三方应用程序的数据进行统一管理,业务层发送检索请求至数据层,并有数据层传递检索请求至solr获取应答数据,solr根据检索请求对进行检索,将满足条件的应答数据反馈给数据层,数据层传递应答数据给业务层实现数据交互,减少了访问第三方服务的次数,节约数据访问时间,提高了数据访问效率。

如图3所示,根据另一实施例提供的用于数据交互的方法包括以下步骤。

步骤s301,接收来自数据层的检索请求。

步骤s302,根据所述检索请求,从管理的第三方应用服务的应答数据中检索与所述检索请求对应的应答数据。

solr对第三方应用服务的应答数据进行统一管理,接收来自数据层的检索请求,solr根据所述检索请求对第三方应用服务的应答数据进行检索来获取对应的应答数据。

步骤s303,发送所述应答数据至所述数据层。

solr将检索到的对应检索请求的应答数据发送给数据层,并由数据层发送给业务层。

本发明实施例提供的方法通过solr对第三方应用程序的数据进行统一管理,业务层发送检索请求至数据层,并有数据层传递检索请求至solr获取应答数据,solr根据检索请求对进行检索,将满足条件的应答数据反馈给数据层,数据层传递应答数据给业务层实现数据交互,减少了访问第三方服务的次数,节约数据访问时间,提高了数据访问效率。

在另一些实施例中,如图4所示,用于数据交互的方法包括以下步骤。

步骤s401,接收来自数据层的检索请求。

solr对数据进行统一管理,接收来自数据层的检索请求,检索请求包括:请求文本、机器id,领域id和意图id,solr根据所述检索请求来获取对应的应答数据。

步骤s402,根据所述检索请求中的所述领域id和所述意图id检索对所述缓存、所述数据库和所述磁盘进行检索。

solr在获取数据之前,要根据检索请求中的领域id和意图id对管理的数据进行检索,缩小数据的查找范围节约获取应答数据的时间。其中,存储器存储有第三方应用程序的数据。有一些常用指令需要请求第三方服务,将关于这些指令的第三方服务的数据配置成静态文件存储在存储器中,方便solr进行管理,且在需要请求第三方服务时,节省数据请求时间,提高数据访问效率。在本实施例中,存储器包括缓存、数据库和磁盘,获取应答数据过程中缓存处于最高优先级、磁盘处于最低优先级。缓存是数据交换的缓冲区,当solr在获取数据时,会首先从缓存中查找需要的数据,因为缓存的运行速度较快,故从缓存中查找数据要节约数据访问时间。数据库中的存放的数据较全面,从数据库中查找满足获取数据请求信息的数据的速度比从缓存中获取慢。磁盘的运行速度较慢,故从磁盘中查找数据耗时较长。若缓存、数据库或磁盘中同时存在满足检索请求的数据时,从处于高优先级的存储器读取数据。

步骤s403,计算所述检索请求中的请求文本与包含所述领域id和所述意图id的存储器中的所述请求文本的相似度。

solr根据检索请求中的领域id和意图id进行检索,缩小数据的查找范围后,计算检索请求中的请求文本与包含检索请求中领域id和意图id的存储器中的所述请求文本的相似度。检索请求中的请求文本为操作者与智能机器人的对话或操作者向智能机器人发出的指令。业务层在对所述对话或指令进行识别理解时可能会出错,如:操作者说话语速快,业务层识别理解时识别出的字数比实际字数少;操作者个别字发音不标准,业务层识别理解时得到的请求文本与实际请求文本存在差异。还可能存在操作者发出的操作指令与缓存中存储的请求文本存在部分表述差异,如:“如何……”与“怎么……”。因此,检索请求中的请求文本与实际操作者表达的指令即存储器中存储的请求文本存在差异,在获取应答数据前要对检索请求中的请求文本与存储器中存储的请求文本进行相似度计算。

步骤s404,判断是否存在相似度大于设定阈值的请求文本。若存在执行步骤s405,以包含所述领域id和所述意图id的存储器中对应所述请求文本的所述应答文本和检索请求中的所述机器id作为应答数据。

在缓存、数据库或磁盘中包括请求文本、领域id、意图id和应答文本。其中,请求文本、领域id、意图id和应答文本为一个元组,即请求文本、领域id和意图id对应唯一的应答文本。当检索到相似度大于设定阈值的请求文本时,获取对应的应答文本,并将检索请求包含的机器id和获取到的应答文本作为应答数据。机器id指示应答数据应反馈给的对应的智能机器人。应答文本则是对应操作者的指令的答复文本。

步骤s406,发送所述应答数据至所述数据层。

若应答信息是从数据库或磁盘中获取的,则将该应答信息中的应答文本,以及对应检索请求的领域id,意图id和请求文本异步保存到缓存。当业务层再次发送相同检索请求时,可直接从缓存中获取应答数据,提高访问效率。

本发明实施例提供的方法通过solr对第三方应用程序的数据进行统一管理,业务层发送检索请求至数据层,并有数据层传递检索请求至solr获取应答数据,solr根据检索请求对进行检索,将满足条件的应答数据反馈给数据层,数据层传递应答数据给业务层实现数据交互,减少了访问第三方服务的次数,节约数据访问时间,提高了数据访问效率。

如图5所示,对应前述实施例提供的方法,本发明实施例提供的用于数据交互的装置包括第一接收模块501和第一发送模块502。

第一接收模块501接收来自业务层的检索请求,第一发送模块502发送检索请求至搜索应用服务器,搜索引擎服务器用于管理第三方服务的应答数据,搜索引擎服务器根据检索请求检索相应的应答信息,并将检索到的应答信息发送给第一接收模块501,第一接收模块501接收搜索应用服务器发送的应答数据,第一发送模块502发送应答数据至业务层。

本实施例提供的装置实现了数据层和业务层之间的数据交互,减少了访问第三方服务的次数,节约数据访问时间,提高了数据访问效率。

在另一些实施例中,如图6所示,用于数据交互的装置包括第一接收模块601、第一发送模块602和校验模块603,第一接收模块601接收来自业务层的检索请求,校验模块603校验检索请求的格式是否符合检索条件,若符合,则第一发送模块602发送检索请求至搜索应用服务器,搜索引擎服务器用于管理第三方服务的应答数据,搜索引擎服务器根据检索请求检索相应的应答信息,并将检索到的应答信息发送给第一接收模块601,第一接收模块601接收搜索应用服务器发送的应答数据,第一发送模块602发送应答数据至业务层。

本实施例提供的装置实现了数据层和业务层之间的数据交互,减少了访问第三方服务的次数,节约数据访问时间,提高了数据访问效率。

如图7所示,对应前述实施例提供的方法,本发明实施例提供的用于数据交互的装置包括第二接收模块701,检索模块702和第二发送模块703。

第二接收模块701接收来自数据层的检索请求,检索模块702根据所述检索请求,从管理的第三方应用服务的应答数据中检索与所述检索请求对应的应答数据,第二发送模块703发送所述应答数据至所述数据层。

检索模块702首先检索缓存中是否存在与所述检索请求对应的应答数据,若所述缓存中不存在与所述检索请求对应的应答数据,检索模块702检索数据库中是否存在与所述检索请求对应的应答数据,若所述数据库中不存在与所述检索请求对应的应答数据,检索模块702最后从磁盘中检索与所述检索请求对应的应答数据。

本实施例提供的装置实现了数据层和业务层之间的数据交互,减少了访问第三方服务的次数,节约数据访问时间,提高了数据访问效率。

在另一些实施例中,如图8所示,用于数据交互的装置包括第二接收模块801,检索模块802,计算模块803,判断模块804,第二发送模块,805和存储模块806。

第二接收模块801接收来自数据层的检索请求,检索模块802根据所述检索请求,从管理的第三方应用服务的应答数据中检索与所述检索请求对应的应答数据,检索请求中包括:请求文本、机器id,领域id和意图id,检索模块802根据领域id和意图id进行搜索,计算模块803计算检索请求中的请求文本与检索到的请求文本的相似度,判断模块804判断相似度是否大于设定阈值,若相似度大于设定阈值,若检索到的请求文本来自数据库或磁盘,则存储模块806将检索到的请求文本及对应的领域id,意图id和应答文本存储到缓存中,请求文本、领域id和意图id与应答文本一一对应。将检索到的请求文本及对应的领域id,意图id和应答文本存储到缓存中缩短下次就相同请求文本进行数据访问的时间,提高数据访问效率。第二发送模块805发送应答数据至数据层,应答数据包括:机器id和应答文本。

本实施例提供的装置实现了数据层和业务层之间的数据交互,减少了访问第三方服务的次数,节约数据访问时间,提高了数据访问效率。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的流程及结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1