1.本技术涉及通信技术领域,特别涉及一种服务调用方法、服务调用系统、调用设备、目标设备及非易失性计算机可读存储介质。
背景技术:2.一些设备可通过语音控制实现便捷的操控。相关技术中,主要是通过目标设备自身的语音模块来进行控制的。当用户距离目标设备较远时,语音控制难以进行。
技术实现要素:3.本技术实施方式提供了一种服务调用方法、服务调用系统、调用设备、目标设备及非易失性计算机可读存储介质。
4.本技术实施方式的服务调用方法包括:根据对调用设备的第一输入获取目标设备的标签及目标服务;根据所述标签从服务器中获取所述目标设备的地址;根据所述地址从至少一台待调设备中确认所述目标设备;及在所述目标设备上执行所述目标服务。
5.本技术实施方式的服务调用系统包括:调用设备、目标设备及服务器。所述调用设备用于:根据第一输入获取所述目标设备的标签及目标服务,根据所述标签从所述服务器中获取所述目标设备的地址,及根据所述地址从至少一台待调设备中确认所述目标设备;所述目标设备用于执行所述目标服务。
6.本技术实施方式还提供一种服务调用方法,包括:根据对调用设备的第一输入获取目标设备的标签及目标服务;根据所述标签从服务器中获取所述目标设备的地址;及根据所述地址从至少一台待调设备中确认所述目标设备,以使所述目标设备执行所述目标服务。
7.本技术实施方式的调用设备包括:解析模块,用于根据第一输入获取所述目标设备的标签及目标服务;第一获取模块,用于根据所述标签从所述服务器中获取所述目标设备的地址;及确认模块,用于根据所述地址从至少一台待调设备中确认所述目标设备;及调用模块,用于调用所述目标设备执行所述目标服务。
8.本技术实施方式还提供一种服务调用方法,包括:根据调用设备输入的目标服务获取服务定义信息;根据所述服务定义信息从服务器中获取与所述目标服务对应的安装包的标识;根据所述标识查找所述目标设备是否存在与所述目标服务对应的安装包;及在所述目标设备中存在所述安装包时,安装所述安装包,并执行所述目标服务。
9.本技术实施方式的目标设备包括:第二获取模块,用于根据调用设备输入的目标服务获取服务定义信息;第三获取模块,用于根据所述服务定义信息从服务器中获取与所述目标服务对应的安装包的标识;确定模块,用于根据所述标识查找所述目标设备是否存在与所述目标服务对应的安装包;及执行模块,用于在所述目标设备中存在所述安装包时,安装所述安装包,并执行所述目标服务。
10.本技术实施方式的一种包含计算机程序的非易失性计算机可读存储介质,当计算
机程序被一个或多个处理器执行时,使得处理器实现本技术实施方式的服务调用方法的质量。服务调用方法包括:根据对调用设备的第一输入获取目标设备的标签及目标服务;根据所述标签从服务器中获取所述目标设备的地址;根据所述地址从至少一台待调设备中确认所述目标设备;及在所述目标设备上执行所述目标服务。
11.本技术实施方式的服务调用方法、服务调用系统、调用设备、目标设备及非易失性计算机可读存储介质,能够对调用设备进行第一输入,调用目标设备执行目标服务,以在目标设备难以接收或无法接收第一输入的情况下仍能够通过第一输入控制目标设备,便于用户进行控制。
12.本技术实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
13.本技术的上述和/或附加的方面和优点可以从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
14.图1是本技术某些实施方式的服务调用方法的流程示意图;
15.图2是本技术某些实施方式的服务调用系统的结构示意图;
16.图3是本技术某些实施方式的服务调用系统的应用场景示意图;
17.图4是本技术某些实施方式的服务调用方法的流程示意图;
18.图5是本技术某些实施方式的服务调用系统的应用场景示意图;;
19.图6是本技术某些实施方式的服务调用系统的应用场景示意图;
20.图7是本技术某些实施方式的服务调用方法的流程示意图;
21.图8是本技术某些实施方式的服务调用方法的流程示意图;
22.图9是本技术某些实施方式的服务调用系统的应用场景示意图;
23.图10是本技术某些实施方式的服务调用方法的流程示意图;
24.图11是本技术某些实施方式的服务调用方法的流程示意图;
25.图12是本技术某些实施方式的服务调用方法的流程示意图;
26.图13是本技术某些实施方式的服务调用方法的流程示意图;
27.图14是本技术某些实施方式的服务调用方法的流程示意图;
28.图15是本技术某些实施方式的服务调用系统的应用场景示意图;
29.图16是本技术某些实施方式的服务调用方法的流程示意图;
30.图17是本技术某些实施方式的服务调用方法的流程示意图;
31.图18是本技术某些实施方式的服务调用系统的应用场景示意图;
32.图19是本技术某些实施方式的服务调用方法的流程示意图;
33.图20是本技术某些实施方式的服务调用方法的流程示意图;
34.图21是本技术某些实施方式的调用设备的结构示意图;
35.图22是本技术某些实施方式的服务调用方法的流程示意图;
36.图23是本技术某些实施方式的目标设备的结构示意图;
37.图24是本技术某些实施方式的计算机可读存储介质与处理器的连接关系示意图。
具体实施方式
38.下面详细描述本技术的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本技术的实施方式,而不能理解为对本技术的实施方式的限制。
39.请参阅图1,本技术实施方式的服务调用方法包括以下步骤:
40.01:根据对调用设备10的第一输入获取目标设备30的标签及目标服务;
41.02:根据该标签从服务器中获取目标设备30的地址;
42.03:根据地址从至少一台待调设备中确认目标设备30;及
43.04:在目标设备30上执行目标服务。
44.请结合图2及图3,本技术实施方式提供一种服务调用系统100,服务调用方法可应用于服务调用系统100。服务调用系统100包括调用设备10、目标设备30及服务器。调用设备10用于:根据第一输入获取目标设备30的标签及目标服务,根据该标签从服务器中获取目标设备30的地址,及根据地址从至少一台待调设备中确认目标设备30。目标设备30用于执行目标服务。
45.其中,目标设备的30标签可包括目标设备30的名称、设备类型、识别信息等信息中的至少一项。例如目标设备30是智能手表,智能手表与调用设备10处于同一账号关联,在该关联的账号保存的设备列表中,该智能手表的名称为“我的手表”,设备类型为“xx型号智能手表”,识别信息为“编号xxxx”。即,在该关联的账号保存的设备列表中,可以根据名称“我的手表”、设备类型“xx型号智能手表”及识别信息“编号xxxx”中的至少一项信息唯一对应确定该智能手表,用于确定该智能手表的信息即为该智能手表的标签。相应地,目标设备的30标签可包括目标设备30的名称、设备类型、识别信息等信息中的至少一项,用于唯一确定对应的目标设备30。
46.在某些实施方式中,第一输入包括语音输入、文字输入、按键输入等,在此不作限制。对应地,调用设备10是具有能够接收第一输入的接口的电子设备。调用设备10为手机、平板电脑、笔记本电脑、台式电脑、智能手表、智能机器人等电子设备,在此不作限制。例如,第一输入为语音输入,调用设备10为设有语音识别模块11的手机。再例如,第一输入为文字输入,调用设备10为设有手写输入模块的平板电脑。在此不一一例举。
47.第一输入用于控制目标设备30执行目标服务。目标设备30可包括手机、平板电脑、笔记本电脑、台式电脑、智能手表、智能机器人等电子设备,在此不作限制。目标服务可包括打开或关闭目标设备30上的指定应用、打开或关闭目标设备30上的指定功能等,在此不作限制。
48.目标设备30的标签用于从服务器获取目标设备30的地址。请参阅图3,在某些实施方式中,调用设备10和至少一个待调设备接入互联网,云端服务器20存储有调用设备10注册的账号信息,账号信息包括调用设备10关联的待调设备的标签。待调设备接入互联网后,待调设备的地址信息保存在云端服务器20,地址信息与待调设备的标签对应。在获取目标设备30的标签后,调用设备10将目标设备30的标签上传至云端服务器20,云端服务器20根据目标设备30的标签从多个与调用设备10关联的待调设备中确定目标设备30,并将目标设备30的标签对应的地址返回调用设备10。在需要调用目标设备30执行目标服务的情况下,
resource locator,url),设备管理模块13通过该服务调用url连接目标设备30的服务网关31,以调用目标设备30。
60.请结合图6,在某些实施方式中,语义配置包括意图槽位、意图词典、意图语料及意图回复,意图槽位包括第一变量和第二变量,第一变量表征目标设备30的标签,第二变量表征目标服务,意图词典包括第一变量和第二变量的同义词,意图语料包括预设句型。意图回复包括文字信息与意图语料匹配成功时执行的操作。
61.请结合图7,在某些实施方式中,013:根据语义配置对文字信息解析,获取目标设备30的标签和目标服务,包括:
62.0131:将文字信息与意图语料进行匹配;及
63.0132:在匹配成功后,获取意图槽位的变量值,以获取目标设备30的标签和目标服务。
64.请结合图2及图5,在某些实施方式中,文字解析模块12还用于执行0131及0132中的方法。即,文字解析模块12还用于将文字信息与意图语料进行匹配;及在匹配成功后,获取意图槽位的变量值,以获取目标设备30的标签和目标服务。
65.请参阅图6,在某些实施方式中,意图词典包含主词及该主词的同义词。意图槽位的一个变量对应一个意图词典。意图语料预设为由语气前缀、意图词典中的主词或该主词的同义词、及语气后缀组成的语句。其中,语气前缀在意图词典中的主词或该主词的同义词之前,语气后缀在意图词典中的主词或该主词的同义词之前。在将文字信息与意图语料进行匹配匹配时,可以是文字信息与语气前缀、意图词典中的主词或该主词的同义词、及语气后缀均匹配才确定文字信息与意图语料匹配成功;也可以是文字信息与意图词典中的组成或该主词的同义词匹配,且文字信息与语气前缀语气后缀中的一个匹配时,即可确定文字信息与意图语料匹配成功。可根据应用场景设置,在此不作限制。
66.在一个实施例中,意图槽位包括第一变量和第二变量,第一变量表征目标设备30的标签,第二变量表征目标服务。意图词典包括第一词典和第二词典,第一词典包括设备标签及设备标签的同义词,第二词典包括服务标签及服务标签的同义词。第一变量对应第一词典,第二变量对应第二词典。
67.例如,第一词典的主词包括“手表”,第一词典中主词“手表”对应的同义词包括“腕表”、“电子表”、“机械表”。第二词典的主词包括“寻找”,第二词典中主词“查找”对应的同义词包括“寻找”、“找到”、“搜寻”。预设的语气前缀包括“请”、“帮我”、“帮忙”。预设的语气后缀包括“好吗”、“可以吗”、“行吗”。文字信息为“请帮我找到手表1的位置”,将该文字信息与意图语料进行匹配,该文字信息中,“请”、“帮我”能够与预设的语气前缀匹配,“找到”能够与第二词典匹配,“手表”能够与第一词典匹配,则能够确定该文字信息与意图语料匹配成功。在匹配成功后,根据与第一词典的主词对应的第一变量“手表”获取目标设备30的标签:“手表1”,根据与第二词典的主词对应的第二变量“查找”获取目标服务:“查找”服务。
68.再例如,第一词典的主词还包括“电视”及“音响”,第一词典中主词“电视”对应的同义词包括“彩电”、“tv”,主词“音响”对应的同义词包括“扩音器”、“音乐播放器”。第二词典的主词还包括“启动”,第二词典中主词“启动”对应的同义词包括“开机”、“开启”、“打开”。文字信息为“打开电视和音响好吗?”,将该文字信息与意图语料进行匹配,该文字信息中,“打开”能够与第二词典匹配,“电视”和“音响”能够与第一词典匹配,“好吗”能够与语气
后缀匹配,则能够确定该文字信息与意图语料匹配成功。在匹配成功后,根据与第一词典的主词对应的第一变量“电视”和“音响”获取目标设备30的标签:“电视”和“音响”,根据与第二词典的主词对应的第二变量“启动”获取目标服务:“启动”服务。在此情况下,目标设备30包括电视和音响两者,最终在电视和音响上均会执行“启动”服务。
69.意图回复包括文字信息与意图语料匹配成功时执行的操作。请结合图5,在一个实施例中,预设的意图回复为:在文字信息与意图语料匹配成功时,根据目标设备30的地址从至少一台待调设备中调用目标设备30。例如,在文字信息与意图语料匹配成功时,文字解析模块12调用设备10管理模块向目标设备30发送调用请求。
70.在某些实施方式中,02:根据标签从服务器中获取目标设备30的地址,包括:
71.021:在服务器确认目标设备与调用设备的账号是否关联;及
72.022:在目标设备与调用设备的账号关联的情况下,获取目标设备的地址。
73.请结合图2,在某些实施方式中,调用设备10还用于执行021及022中的方法。即,调用设备10还用于在服务器确认目标设备与调用设备的账号是否关联;及在目标设备与调用设备的账号关联的情况下,获取目标设备的地址。
74.账号可以手机号、调用设备的id、服务对应的注册账号等,在此不作限制。在目标设备与调用设备的账号关联的情况下,获取目标设备的地址,能够确保目标设备被同一关联账号下的调用设备调用,确保进行调用的调用设备是受信任的设备,以避免存在安全隐患的设备非法对目标设备进行调用。
75.请参阅图8,在某些实施方式中,04:在目标设备30上执行目标服务,包括:
76.041:根据目标服务获取服务定义信息;
77.042:根据服务定义信息从服务器中获取与目标服务对应的安装包的标识;
78.043:根据标识查找目标设备30是否存在与目标服务对应的安装包;及
79.044:在目标设备30中存在安装包时,安装该安装包,并执行目标服务。
80.请结合图2及图9,在某些实施方式中,目标设备30包括服务管理模块32及服务生命周期管理模块33。服务管理模块32用于执行041、042及043中的方法,服务生命周期管理模块33用于执行044中的方法。即,服务管理模块32用于根据目标服务获取服务定义信息;根据服务定义信息从服务器中获取与目标服务对应的安装包的标识;及根据标识查找目标设备30是否存在与目标服务对应的安装包。服务管理模块32用于在目标设备30中存在安装包时,安装该安装包,并执行目标服务。
81.在某些实施方式中,为了减少目标设备30的存储空间占用,目标服务以安装包的形式存储于目标设备30本地。在调用设备10向目标设备30发送调用请求后,目标设备30根据调用请求获取目标服务,安装目标服务对应的安装包,并执行目标服务,在完成执行目标服务后卸载目标服务。例如目标服务为“查找”服务,目标设备30执行“查找”服务会启动“查找”程序,由“查找”程序调用目标设备30的扬声器发出“我在这里”的声音。通常,“查找”服务的使用频率较低,为了避免“查找”程序占用目标设备30的空间,目标设备30不保存“查找”程序,仅在需要执行“查找”服务时通过“查找”服务对应的安装包安装“查找”程序。
82.在某些实施方式中,服务定义信息包括服务标签、服务id、服务调用协议、服务入参、及服务出参中的至少一项。根据服务定义信息,能够确定与服务对应的安装包。例如,对于一项服务,该服务的服务id存在唯一对应的安装包标识,该安装包标识对应的安装包是
该服务对应的安装包,例如安装包为执行该服务的程序的安装包。
83.请参阅图9,在一个实施例中,云端服务器20存储有已经注册的多个服务对应的服务定义信息。调用设备10向目标设备30发送的调用请求包括需要在目标设备30执行的目标服务。目标设备30请求调用云端服务器20从多个服务定义信息中查找目标服务对应的服务定义信息。
84.在又一个实施例中,调用设备10向目标设备30发送的调用请求包括服务定义信息。例如,调用设备10的设备管理模块13能够执行041中的方法:根据目标服务获取服务定义信息。具体地,调用设备10的设备管理模块13请求调用云端服务器20从多个服务定义信息中查找目标服务对应的服务定义信息。目标设备30根据调用请求获取服务定义信息,在对服务定义信息做基础性校验后执行042中的方法:根据服务定义信息从服务器中获取与目标服务对应的安装包的标识。其中,基础性校验包括校验服务id、服务调用协议、服务入参、或服务出参的完整性、合法性等,在此不一一列举。
85.请参阅图2及图9,在某些实施方式中,云端服务器20包括服务网关21、服务包管理模块22及服务定义管理模块23。云端服务器20的服务网关21能够将获取服务定义信息的请求转发至服务定义管理模块23。服务定义管理模块23根据该获取服务定义信息的请求,查询保存在服务定义管理模块23中的该请求对应的服务定义信息,并将服务定义信息返回服务网关21。服务网关21将服务定义信息返回发送获取服务定义信息的请求的设备,例如在目标设备30向服务网关21发送该请求时,服务网关21将服务定义信息返回目标设备30;在调用设备10向服务网关21发送该请求时,服务网关21将服务定义信息返回调用设备10。
86.服务包管理模块22存储有一项或多项服务对应的安装包,每个安装包具有唯一对应的安装包标识。服务包管理模块22能够根据服务定义信息确定目标服务对应的安装包,例如根据目标服务对应的服务id确定目标服务对应的安装包。
87.在一个实施例中,目标设备30向服务网关21发送获取服务定义信息的请求时,服务网关21将获取服务定义信息的请求转发至服务定义管理模块23,以获取服务定义信息;在服务网关21获取服务定义信息后,根据服务定义信息向服务包管理模块22发送获取标识的请求,以从服务包管理模块22获取与目标服务对应的安装包的标识;最后服务网关21将服务定义信息及与目标服务对应的安装包的标识一并返回至目标设备30。
88.在又一个实施例中,目标设备30根据服务定义信息向服务网关21发送获取标识的请求,服务网关21将获取标识的请求转发至服务包管理模块22,通过服务包范例模块查询获取标识的请求中包含的服务定义信息对应的安装包,将服务定义信息对应的安装包的标识返回服务网关21,再由服务网关21将该标识返回目标设备30。
89.目标设备30根据与目标服务对应的安装包的标识查找目标设备30本地是否存在与目标服务对应的安装包,在在目标设备30中存在安装包时,安装该安装包,并执行目标服务。
90.请结合图10,在某些实施方式中,04:在目标设备30上执行目标服务,包括:
91.045:在目标设备30中不存在安装包时,从服务器中获取与目标服务对应的安装包;及
92.046:安装安装包,并执行目标服务。
93.请结合图2及图9,在某些实施方式中,服务管理模块32还用于执行045中的方法,
服务生命周期管理模块33还用于执行046中的方法。即,服务管理模块32用于在目标设备30中不存在安装包时,从服务器中获取与目标服务对应的安装包。
94.在目标设备30中不存在安装包时,服务管理模块32向云端服务器20发送安装包获取请求,安装包获取请求包括目标服务对应的安装包的标识。服务网关21将安装包获取请求转发至服务包管理模块22,服务包管理模块22根据安装包的标识查询对应的安装包文件,将安装包文件返回服务网关21,通过服务网关21将安装包文件传输至目标设备30。或者服务包管理模块22将安装包的标识查询对应的安装包文件的地址返回服务网关21,服务网关21将安装包文件的地址返回目标设备30,目标设备30根据安装包文件的地址下载安装包,以安装该安装包并执行目标服务。
95.请结合图11,在某些实施方式中,04:在目标设备30上执行目标服务,还包括:
96.047:在服务器中订阅目标服务;
97.045:从服务器中获取与目标服务对应的安装包,包括:
98.0451:在服务器中的安装包更新后,从服务器中获取更新后的安装包;
99.046:安装该安装包,并执行目标服务,包括:
100.0461:安装更新后的安装包,并执行目标服务。
101.请结合图2及图9,在某些实施方式中,服务管理模块32还用于执行047及0451中的方法,服务生命周期管理模块33还用于执行0461中的方法。即,服务管理模块32用于在服务器中订阅目标服务;及在服务器中的安装包更新后,从服务器中获取更新后的安装包。服务生命周期管理模块33还用于安装更新后的安装包,并执行目标服务。
102.在某些实施方式中,目标设备30订阅在云端服务器20中订阅目标服务,以确保在需要执行目标服务时,能够从云端服务器20获取目标服务最新的安装包。在某些实施方式中,云端服务器20还包括服务订阅管理模块24。在目标设备30未订阅目标服务的情况下,服务网关21收到目标设备30的安装包获取请求后,将安装包获取请求转发至服务包管理模块22以获取最新的安装包,并且拉起服务订阅管理模块24增加与目标设备30的订阅关系,使目标设备30订阅目标服务。
103.在某些实施方式中,在目标设备30已订阅目标服务的情况下,在服务器中目标服务的安装包更新后,服务包管理模块22拉起服务订阅管理模块24进行安装包同步处理,服务订阅管理模块24向已订阅目标服务的目标设备30发送安装包同步请求,安装包同步请求包括更新后的安装包的信息,例如更新后的安装包文件的地址信息,目标设备30根据更新后的安装包的信息从服务器中下载更新后的安装包。
104.请结合图12,在某些实施方式中,服务调用方法还包括:
105.06:根据预设的保留策略,保留订阅和/或安装包。
106.请结合图2及图9,在某些实施方式中,服务生命周期管理模块33还用于执行06中的方法。即,服务生命周期管理模块33还用于根据预设的保留策略,保留订阅和/或安装包。
107.在某些实施方式中,为了减少目标设备30的存储空间占用,根据预设保留策略选择是否保留安装包。例如,预设的保留策略设置为:检测目标服务的使用频率;在目标服务使用频率较高的情况下,保留安装包,使目标设备30能够及时安装安装包,并执行目标服务;在目标服务使用频率较低的情况下,删除安装包,在下次目标设备30被调用时,目标设备30重新从云端服务器20获取目标服务的安装包。
108.类似地,在某些实施方式中,在目标设备30受调用的频率较高的情况下,或者在目标服务的更新频率较高的情况下,保留目标设备30与目标服务的订阅关系,以减少后续调用目标设备30的链路,提高响应速度;在目标设备30受调用的频率较低的情况下,取消目标设备30与目标服务的订阅关系,避免目标设备30在受调用的频率较低的情况下仍然频繁更新安装包。
109.请参阅图13,在某些实施方式中,服务调用方法还包括:
110.07:根据预设的卸载策略,从目标设备30上卸载目标服务。
111.请结合图2及图9,在某些实施方式中,服务生命周期管理模块33还用于执行07中的方法。即,服务生命周期管理模块33还用于根据预设的卸载策略,从目标设备30上卸载目标服务。
112.在某些实施方式中,预设的卸载策略设置为:在目标服务执行完预设时长后,从目标设备30上卸载目标服务。例如,预设时长为即时卸载,则在目标服务执行完成后立即卸载目标服务。再例如,预设时长为2小时,则在目标服务执行完成后2小时内没有再次被调用执行,则卸载目标服务。如此,能够节省目标设备30的存储空间占用。
113.请参阅图2及图3,在某些实施方式中,目标服务包括卸载服务,在目标设备30执行卸载服务能够将目标设备30本地的其他服务卸载,例如将执行完成的其他目标服务卸载。
114.例如,目标服务包括卸载服务和查找服务。在一个应用场景中,目标设备30为手表1,手表1已经完成查找服务的执行,用户对调用设备10输入语音:“帮我卸载手表1的查找程序”。请结合图1,调用设备10根据用户的语音输入执行01、02、03中的服务调用方法,即,调用设备10根据第一输入获取目标设备30的标签及目标服务、根据标签从服务器中获取目标设备30的地址、及根据地址从至少一台待调设备中确认目标设备30。目标设备30执行04中的服务调用方法,即,目标设备30执行目标服务。其中,调用设备10根据获取的目标设备30的标签为“手表1”,目标服务为“卸载”服务,具体为“卸载手表1的查找程序”。调用设备10将手表1的地址及“卸载”服务的参数封装为调用url,对手表1发送卸载服务的调用请求。手表1根据卸载服务的调用请求执行“卸载”服务,将本地的“查找”程序卸载。
115.请参阅图14,在某些实施方式中,服务调用方法还包括:
116.08:在服务器中对目标服务进行注册。
117.请结合图2及图15,在某些实施方式中,云端服务器20用于执行08中的方法。即,云端服务器20用于对目标服务进行注册。
118.请参阅图15,在开发人员完成某项服务的开放后,在云端服务器20中注册该服务,以在调用设备10调用目标设备30执行该服务时,目标设备30能够从云端服务器20获取该服务的安装包,以在目标设备30本地安装并执行该服务。在某些实施方式中,开发人员将已注册的服务的标签加入意图词典,使调用设备10能够根据意图词典进行文字信息解析,将文字信息中的服务标签与意图词典中的已注册的服务的标签进行匹配,以获取目标服务。
119.请参阅图15,在某些实施方式中,开发人员对目标服务进行注册,包括将目标服务的安装包上传至云端服务器20,及将目标服务的服务定义信息上传至云端服务器20。请结合图16,在某些实施方式中,08:在服务器中对目标服务进行注册,包括:
120.081:根据安装包上传请求,保存安装包并输出安装包的标识;
121.082:接收注册服务定义请求,注册服务定义请求包含与标识关联的服务定义信
息;及
122.083:保存服务定义信息。
123.请结合图2及图15,在某些实施方式中,云端服务器20包括服务包管理模块22、服务网关21、及服务定义管理模块23。服务包管理模块22用于执行081中的方法,服务网关21用于执行082中的方法,服务定义管理模块23用于执行083中的方法。即,服务包管理模块22用于根据安装包上传请求,保存安装包并输出安装包的标识。服务网关模块用于接收注册服务定义请求。服务定义管理模块23用于保存服务定义信息。
124.请参阅图15,在某些实施方式中,开发人员向服务网关发送目标服务对应的安装包上传请求,安装包上传请求包括安装包文件。服务网关将安装包上传请求转发至服务包管理模块22,服务包管理模块22根据安装包上传请求将安装包文件保存到云端服务器20的文件仓库,并输出云端服务器20中安装包的信息,安装包的信息包括安装包文件的地址、安装包的标识等,服务包管理模块22将安装包的标识返回服务网关,通过服务网关将安装包的标识返回开发人员。
125.开发人员将目标服务的服务定义信息与目标服务的安装包的标识关联,向服务网关发送注册服务定义请求,注册服务定义请求包括关联后的服务定义信息。服务网关将注册服务定义请求转发至服务定义管理模块23,服务定义管理模块23将服务定义信息保存到云端服务器20。
126.请结合图9,完成目标服务的注册后,服务包管理模块22保存有安装包信息,服务定义管理模块23保存有服务定义信息。在目标设备30向云端服务器20发起获取服务定义信息的请求时,服务网关能将该请求转发至服务定义管理模块23,使服务定义管理模块23响应该请求,通过服务网关向目标设备30发送服务定义信息。在目标设备30向云端服务器20发起获取安装包的请求时,服务网关能将该请求转发至服务包管理模块22,使服务包管理模块22响应该请求,通过服务网关向目标设备30发送安装包的地址信息,以使目标设备30根据安装包的地址信息下载安装包。
127.请参阅图17,在某些实施方式中,服务调用方法还包括:
128.09:对服务器中的目标服务进行更新。
129.请结合图2及图18,在某些实施方式中,云端服务器20用于执行09中的方法。即,云端服务器20还用于对目标服务进行更新。
130.在开发人员更新目标程序后,需要对云端服务器20中目标服务对应的安装包及服务定义信息同步进行更新,以在调用设备10调用目标设备30执行该服务时,目标设备30能够从云端服务器20获取该服务最新的安装包。
131.请结合图19,在某些实施方式中,09:对服务器中的目标服务进行更新,包括:
132.091:根据新的安装包上传请求,保存更新后的安装包并输出更新后的安装包的标识;
133.092:接收更新服务定义请求,更新服务定义请求包含与更新后的安装包的标识关联的服务定义信息;及
134.093:保存与更新后的安装包的标识关联的服务定义信息。
135.请结合图2及图18,在某些实施方式中,服务包管理模块22还用于执行091中的方法,服务网关模块还用于执行092中的方法,服务定义管理模块23还用于执行093中的方法。
即,服务包管理模块22还用于根据新的安装包上传请求,保存更新后的安装包并输出更新后的安装包的标识。服务网关模块还用于接收更新服务定义请求。服务定义管理模块23还用于保存与更新后的安装包的标识关联的服务定义信息。
136.请参阅图18,在某些实施方式中,开发人员向服务网关发送更新后的目标服务对应的新的安装包上传请求,新的安装包上传请求包括新的安装包文件。服务网关将新的安装包上传请求转发至服务包管理模块22,服务包管理模块22根据新的安装包上传请求将新的安装包文件保存到云端服务器20的文件仓库,并输出云端服务器20中新的安装包的信息,新的安装包的信息包括新的安装包文件的地址、新的安装包的标识等,服务包管理模块22将新的安装包的标识返回服务网关,通过服务网关将新的安装包的标识返回开发人员。
137.服务包管理模块22还根据新的安装包的信息通过服务订阅管理模块24调用服务包同步处理请求,服务包同步处理请求包括新的安装包的信息。服务订阅管理模块24向已订阅该目标服务的目标设备30的服务网关发起服务包同步处理请求,目标设备30的服务网关转发该请求至目标设备30的服务管理模块32,目标设备30的服务管理模块32更新目标服务的安装包的信息,在更新成功后目标设备30向云端服务器20返回响应。如此,在调用设备10调用目标设备30执行更新后的目标服务时,目标设备30能够根据新的安装包的信息下载并安装新的安装包,以执行更新后的目标服务。
138.开发人员将新的目标服务的新的服务定义信息与新的目标服务的新的安装包的标识关联,向服务网关发送更新服务定义请求,更新服务定义请求包括与更新后的安装包的标识关联的服务定义信息。服务网关将更新服务定义请求转发至服务定义管理模块23,服务定义管理模块23将与更新后的安装包的标识关联的服务定义信息保存到云端服务器20。
139.综上,本技术实施方式的服务调用方法和服务调用系统100,能够对调用设备10进行第一输入,调用目标设备30执行目标服务,以在目标设备30难以接收或无法接收第一输入的情况下仍能够通过第一输入控制目标设备30,便于用户进行控制。
140.请参阅图20及图21,本技术实施方式还提供一种服务调用方法及调用设备200。服务调用方法包括:
141.0101:根据对调用设备200的第一输入获取目标设备的标签及目标服务;
142.0102:根据该标签从服务器中获取目标设备的地址;及
143.0103:根据地址从至少一台待调设备中确认目标设备,以使目标设备执行目标服务。
144.调用设备200包括解析模块201、第一获取模块202、确认模块203及调用模块204。解析模块201用于执行0101中的方法,第一获取模块202用于执行0102中的方法,确认模块203及调用模块用于执行0103中的方法。即,解析模块201用于根据对调用设备200的第一输入获取目标设备的标签及目标服务。第一获取模块202用于根据标签从服务器中获取目标设备的地址。确认模块203用于根据地址从至少一台待调设备中确认目标设备。调用模块204用于调用目标设备执行目标服务。
145.请结合图2及图21,在某些实施方式中,调用设备200可以参与组成服务调用系统100,作为服务调用系统100中的调用设备10。在调用系统中,调用设备200可用于执行上述实施方式中的调用设备10执行的服务调用方法,在此不再赘述。
146.请参阅图22及图23,本技术实施方式还提供一种服务调用方法及目标设备300。服务调用方法包括:
147.0201:根据调用设备输入的目标服务获取服务定义信息;
148.0202:根据服务定义信息从服务器中获取与目标服务对应的安装包的标识;
149.0203:根据标识查找目标设备300是否存在与目标服务对应的安装包;及
150.0204:在目标设备300中存在安装包时,安装安装包,并执行目标服务。
151.目标设备300包括第二获取模块301、第三获取模块302、确定模块303及执行模块304。第二获取模块301用于执行0201中的方法,第三获取模块302用于执行0202中的方法,确定模块303模块用于执行0203中的方法,执行模块304用于执行0204中的方法。即,第二获取模块301用于根据调用设备输入的目标服务获取服务定义信息。第三获取模块302用于根据服务定义信息从服务器中获取与目标服务对应的安装包的标识。确定模块303模块用于根据标识查找目标设备30是否存在与目标服务对应的安装包。执行模块304用于在目标设备30中存在安装包时,安装安装包,并执行目标服务。
152.请结合图2、图3及图23,在某些实施方式中,目标设备300可以参与组成服务调用系统100,作为服务调用系统100中的待调设备,在目标设备300被调用时成为图2中的目标设备30。在调用系统中,目标设备300可用于执行上述实施方式中的目标设备30执行的服务调用方法,在此不再赘述。
153.请参阅图24,本技术实施方式还提供一种包含计算机程序401的非易失性计算机可读存储介质400。本技术实施方式的一个或多个包含计算机程序401的非易失性计算机可读存储介质400,当计算机程序401被一个或多个处理器402执行时,使得处理器402可执行上述任一实施方式的服务调用方法,例如实现步骤01、02、03、04、05、07、08、09、011、012、013、0131、0132、021、022、041、042、043、044、045、046、047、0451、0461、081、082、083、091、092、093、0101、0102、0103、0201、0202及0203中的一项或多项步骤。
154.例如,当计算机程序401被一个或多个处理器402执行时,使得处理器402执行以下步骤:
155.01:根据对调用设备10的第一输入获取目标设备30的标签及目标服务;
156.02:根据标签从服务器中获取目标设备30的地址;
157.03:根据地址从至少一台待调设备中确认目标设备30;及
158.04:在目标设备30上执行目标服务。
159.在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本邻域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
160.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺
序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术邻域的技术人员所理解。
161.尽管上面已经示出和描述了本技术的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本技术的限制,本邻域的普通技术人员在本技术的范围内可以对上述实施方式进行变化、修改、替换和变型。