应用服务调用方法和装置、应用程序接入方法与流程

文档序号:31749448发布日期:2022-10-11 20:01阅读:74来源:国知局
应用服务调用方法和装置、应用程序接入方法与流程

1.本技术涉及计算机技术领域,特别是涉及一种应用服务调用方法和装置、应用程序接入方法。


背景技术:

2.随着科学技术的发展,系统中会安装不同的应用程序,例如:在手持终端、车载终端等系统中安装不同的应用程序,以提供相应的服务。以手持终端系统、车载系统为例,可在车载终端中安装地图导航应用,以确定车辆的行驶路径,或在车载终端中安装语应识别应用,以对驾驶员的语音指令进行识别,等等。
3.由于单个应用程序的功能有限,因此,为了进一步满足用户需求,存在应用程序所提供的应用功能能够被相互调用的需求。例如,仍以车载系统或手持终端系统为例,地图导航应用通过调用语音识别应用所提供的语音识别功能,来进行语音导航。但是,由于安装至车载终端中的各应用程序所提供的应用接口不统一,从而导致安装至系统的应用程序之间难以被相互调用。因此,需要一种能够实现应用之间调用的方法。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够实现应用服务调用的应用服务调用方法、装置、终端和存储介质。
5.一种应用服务调用方法,所述方法包括:
6.获取第一应用发起的针对目标服务的服务调用请求;
7.确定与所述目标服务相关联的目标消息处理对象;
8.当所述目标服务为所述服务适配层中已注册的服务时,从所述目标消息处理对象中查找所述目标服务所属第二应用对应的第一通信路径;所述第一应用和所述第二应用均为接入至所述服务适配层中的应用程序;
9.基于所述第一通信路径,并通过所述目标消息处理对象将所述服务调用请求转发至所述第二应用;
10.接收所述第二应用响应于所述服务调用请求而反馈的响应数据,并将所述响应数据反馈至所述第一应用,以实现所述目标服务的调用。
11.一种应用服务调用装置,所述装置包括:
12.处理对象确定模块,用于获取第一应用发起的且针对目标服务的服务调用请求;确定与所述目标服务相关联的目标消息处理对象;
13.通信路径确定模块,用于当所述目标服务为所述服务适配层中已注册的服务时,从所述目标消息处理对象中查找所述目标服务所属第二应用对应的第一通信路径;所述第一应用和所述第二应用均为接入至所述服务适配层中的应用程序;
14.响应数据获取模块,用于基于所述第一通信路径,并通过所述目标消息处理对象将所述服务调用请求转发至所述第二应用;接收所述第二应用响应于所述服务调用请求而
反馈的响应数据,并将所述响应数据反馈至所述第一应用,以实现所述目标服务的调用。
15.在一个实施例中,所述服务调用请求携带有目标服务标识和目标函数标识,所述服务适配层存储有预先定义的服务库,所述服务库包括至少一个服务和至少一个服务所含有的功能函数标识,所述应用服务调用装置还用于根据所述目标服务标识和所述目标函数标识,确定所述服务库中是否包括有与所述目标服务标识相对应的目标服务、以及确定所述目标服务中是否含有所述目标函数标识;当所述服务库中包括有所述目标服务和所述目标函数标识时,执行所述确定与所述目标服务相关联的目标消息处理对象的步骤。
16.在一个实施例中,所述应用服务调用装置还用于当所述服务库中未包括有所述目标服务或所述目标函数标识时,向所述第一应用返回服务调用失败消息,以响应所述服务调用请求。
17.在一个实施例中,所述处理对象确定模块还用于确定每个消息处理对象各自对应的对象标识;根据所述目标服务标识与每个所述对象标识之间的匹配程度,从所述消息处理对象中筛选出与所述目标服务相关联的目标消息处理对象。
18.在一个实施例中,所述通信路径确定模块还用于通过所述目标消息处理对象,将所述第二应用的第一通信路径的第一路径标识和所述服务调用请求转发至预先生成的消息分发对象;其中,转发至所述消息分发对象的所述第一路径标识和所述服务调用请求,用于触发所述消息分发对象调用与所述第一路径标识对应的第一通信路径,以实现通过所述第一通信路径将所述服务调用请求转发至所述第二应用。
19.在一个实施例中,所述应用服务调用装置还用于当接收到通过所述第二通信路径发起的、且针对目标服务的服务调用请求时,确定所述第二通信路径的第二路径标识;将所述服务调用请求的请求标识与所述第二通信路径的第二路径标识对应存储。
20.在一个实施例中,所述响应数据获取模块还用于接收通过所述第二应用的第一通信路径返回的响应数据;根据对应存储的请求标识和路径标识,确定用于返回所述响应数据的第二通信路径,并通过所述第二通信路径将所述响应数据返回至第一应用。
21.在一个实施例中,所述应用服务调用装置还包括应用接入模块,用于获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将所述服务和消息处理对象关联存储至所述服务适配层;通过待接入的第二应用,执行所述初始化接口以生成与所述第二应用对应的第一通信路径;所述第二应用至少包括原生应用和第三方应用中的一种;所述第二应用通过所述第一通信路径,将待注册服务的服务信息发送至所述服务适配层,以触发所述服务适配层基于各所述服务对服务信息进行验证;在验证通过后则确定所述待注册服务完成注册,将已注册的服务所属的第二应用与所述已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入所述第一通信路径。
22.在一个实施例中,所述应用服务调用装置可用于调用目标服务,所述服务适配层应用于车载系统,所述目标服务至少包括车辆状态信息获取服务、媒体播放服务、应用开启服务和语音识别服务中的一种;其中,所述车辆状态信息获取服务和媒体播放服务中的至少一种通过车载原生应用提供,应用开启服务和语音识别服务中的至少一种通过第三方应用提供。
23.一种车载终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
24.获取第一应用发起的针对目标服务的服务调用请求;
25.确定与所述目标服务相关联的目标消息处理对象;
26.当所述目标服务为服务适配层中已注册的服务时,从所述目标消息处理对象中查找所述目标服务所属第二应用对应的第一通信路径;所述第一应用和所述第二应用均为接入至所述服务适配层中的应用程序;
27.基于所述第一通信路径,通过所述目标消息处理对象将所述服务调用请求转发至所述第二应用;
28.接收所述第二应用响应于所述服务调用请求而反馈的响应数据,并将所述响应数据反馈至所述第一应用,以实现所述目标服务的调用。
29.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
30.获取第一应用发起的针对目标服务的服务调用请求;
31.确定与所述目标服务相关联的目标消息处理对象;
32.当所述目标服务为服务适配层中已注册的服务时,从所述目标消息处理对象中查找所述目标服务所属第二应用对应的第一通信路径;所述第一应用和所述第二应用均为接入至所述服务适配层中的应用程序;
33.基于所述第一通信路径,通过所述目标消息处理对象将所述服务调用请求转发至所述第二应用;
34.接收所述第二应用响应于所述服务调用请求而反馈的响应数据,并将所述响应数据反馈至所述第一应用,以实现所述目标服务的调用。
35.一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行以下步骤:获取第一应用发起的针对目标服务的服务调用请求;确定与所述目标服务相关联的目标消息处理对象;当所述目标服务为服务适配层中已注册的服务时,从所述目标消息处理对象中查找所述目标服务所属第二应用对应的第一通信路径;所述第一应用和所述第二应用均为接入至所述服务适配层中的应用程序;基于所述第一通信路径,通过所述目标消息处理对象将所述服务调用请求转发至所述第二应用;接收所述第二应用响应于所述服务调用请求而反馈的响应数据,并将所述响应数据反馈至所述第一应用,以实现所述目标服务的调用。
36.上述应用服务调用方法、装置、终端、存储介质和计算机程序,通过获取第一应用发起的服务调用请求,可基于服务调用请求确定与待调用的目标服务相关联的目标消息处理对象,从而可基于目标消息处理对象确定第二应用的通信路径。通过确定第二应用的通信路径,可以促使第二应用的通信路径将服务调用请求转发至所述第二应用,从而第二应用可基于服务调用请求反馈相应的响应数据。通过接收第二应用反馈的响应数据,可将响应数据返回至第一应用,如此,便实现了目标服务的调用,也即实现了应用程序之间的相互调用。
37.一种应用程序接入方法,所述方法包括:
38.获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将所述服务和消息处理对象关联存储至服务适配层;
39.通过待接入的目标应用,执行所述初始化接口以生成与所述目标应用对应的目标通信路径;所述目标应用至少包括原生应用和第三方应用中的一种;
40.所述目标应用通过所述目标通信路径,将待注册服务的服务信息发送至所述服务适配层,以触发所述服务适配层基于各所述服务对服务信息进行验证;
41.在验证通过后则确定所述待注册服务完成注册,将已注册的服务所属的目标应用与所述已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入所述目标通信路径。
42.一种应用程序接入装置,所述装置包括:
43.处理对象生成模块,用于获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将所述服务和消息处理对象关联存储至服务适配层;
44.验证模块,用于通过待接入的目标应用,执行所述初始化接口以生成与所述目标应用对应的目标通信路径;所述目标应用至少包括原生应用和第三方应用中的一种;所述目标应用通过所述目标通信路径,将待注册服务的服务信息发送至所述服务适配层,以触发所述服务适配层基于各所述服务对服务信息进行验证;
45.关联模块,用于在验证通过后则确定所述待注册服务完成注册,将已注册的服务所属的目标应用与所述已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入所述目标通信路径。
46.在一个实施例中,所述验证模块还包括路径生成模块,用于基于所述初始化接口和至少一个服务,生成接口服务包;将所述接口服务包导入至待接入的目标应用;通过所述目标应用调用所述接口服务包中的初始化接口,进行初始化动作,以生成与所述目标应用对应的目标通信路径。
47.在一个实施例中,所述应用程序接入装置还包括服务调用模块,用于当发生对所导入的接口服务包中的至少一个服务的服务选中操作时,确定基于所述服务选中操作所选中的目标服务;响应于针对所述目标服务中的至少一个功能所发生的功能选中操作,确定目标服务中的目标功能;基于所述目标服务的目标服务标识、以及所述目标功能的目标函数标识,生成服务调用请求。
48.在一个实施例中,所述验证模块还用于所述目标应用确定支持的服务,并将支持的服务作为待注册服务;所述目标应用确定每个所述待注册服务各自包含的功能函数标识;通过所述目标通信路径,将所述待注册服务的服务标识和功能函数标识发送至服务适配层,以触发所述服务适配层对所述服务标识和所述功能函数标识分别进行验证。
49.在一个实施例中,所述验证模块还用于通过所述目标通信路径,将所述待注册服务的服务标识和功能函数标识发送至服务适配层;所述服务适配层获取预先定义的服务库,并确定所述服务库中是否包括有与所述服务标识对应的服务、以及相应服务中是否包括有所述功能函数标识;当所述服务库中包括有与所述服务标识对应的服务,且相应服务中包括有所述功能函数标识时,确定所述待注册服务通过验证。
50.一种终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
51.获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将所述服务和消息处理对象关联存储至服务适配层;
52.通过待接入的目标应用,执行所述初始化接口以生成与所述目标应用对应的目标通信路径;所述目标应用至少包括原生应用和第三方应用中的一种;
53.所述目标应用通过所述目标通信路径,将待注册服务的服务信息发送至所述服务适配层,以触发所述服务适配层基于各所述服务对服务信息进行验证;
54.在验证通过后则确定所述待注册服务完成注册,将已注册的服务所属的目标应用与所述已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入所述目标通信路径。
55.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
56.获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将所述服务和消息处理对象关联存储至服务适配层;
57.通过待接入的目标应用,执行所述初始化接口以生成与所述目标应用对应的目标通信路径;所述目标应用至少包括原生应用和第三方应用中的一种;
58.所述目标应用通过所述目标通信路径,将待注册服务的服务信息发送至所述服务适配层,以触发所述服务适配层基于各所述服务对服务信息进行验证;
59.在验证通过后则确定所述待注册服务完成注册,将已注册的服务所属的目标应用与所述已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入所述目标通信路径。
60.一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行以下步骤:获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将所述服务和消息处理对象关联存储至服务适配层;通过待接入的目标应用,执行所述初始化接口以生成与所述目标应用对应的目标通信路径;所述目标应用至少包括原生应用和第三方应用中的一种;所述目标应用通过所述目标通信路径,将待注册服务的服务信息发送至所述服务适配层,以触发所述服务适配层基于各所述服务对服务信息进行验证;在验证通过后则确定所述待注册服务完成注册,将已注册的服务所属的目标应用与所述已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入所述目标通信路径。
61.上述应用程序接入方法、装置、终端、存储介质和计算机程序,通过获取初始化接口,可基于初始化接口生成与待接入的目标应用相对应的目标通信路径,从而待接入的目标应用可基于目标通信路径,将服务信息发送至服务适配层。通过将将服务信息发送至服务适配层,可促使服务适配层对服务信息进行验证,以提升服务注册的安全性。当验证通过后,通过获取至少一个服务,并将目标应用与已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入目标通信路径,可实现将目标应用接入至终端,从而接入至终端中的应用程序可基于相关联的消息处理对象、以及写入目标通信路径实现应用服务调用,也即实现应用程序之间的相互调用。
附图说明
62.图1为一个实施例中应用服务调用方法的应用环境图;
63.图2为一个实施例中应用服务调用框架的框架示意图;
64.图3为一个实施例中应用服务调用步骤的流程示意图;
65.图4为一个实施例中通过消息分发对象进行服务调用请求分发的示意图;
66.图5为一个实施例中调用语音识别应用中的唤醒词识别接口的示意图;
67.图6为一个实施例中车载操作系统开启应用程序的示意图;
68.图7为一个实施例中应用程序接入方法的流程示意图;
69.图8为一个实施例中应用程序的通信示意图;
70.图9为具体一个实施例中应用服务调用方法的流程示意图;
71.图10为具体一个实施例中应用程序接入方法的流程示意图;
72.图11为一个实施例中应用服务调用装置的结构框图;
73.图12为一个实施例中应用程序接入装置的结构框图;
74.图13为一个实施例中终端的内部结构图。
具体实施方式
75.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
76.图1为一个实施例中应用服务调用方法的应用环境图。参照图1,该应用服务调用方法应用于应用服务调用系统100。应用服务调用系统100包括终端102。终端102的系统中部署有服务适配层、应用接入层和操作系统层。终端102通过应用接入层接入第三方应用,并将第三方应用所提供的应用服务注入至服务适配层;通过操作系统层,将终端中的原生应用所提供的应用服务注入至服务适配层,其中,操作系统层部署有操作系统,该操作系统具体可以为linux系统、安卓系统或者windows系统等;通过服务适配层,获取第一应用发起的针对目标服务的服务调用请求,并将服务调用请求转发至目标服务所属第二应用,以实现目标服务的调用。其中,终端102可以但不限于是车载终端、计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。在一个具体实施例中,该终端可以为搭载于车辆中的车载终端,操作系统可以为搭载于车载终端中的车载系统。其中,车载终端是设置于车辆并随车移动的智能终端。车载终端中可运行有车载原生应用和第三方应用,其中,车载原生应用和第三方应用可从相应的后台服务器中获取运行所需的数据。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
77.本技术还涉及云技术,通过云技术来进行应用服务调用的计算,以提升应用服务调用的流畅程度。云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都
需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
78.本技术还涉及区块链技术,本技术可通过区块链存储应用程序的通信路径、针对目标服务的服务调用请求以及响应于所述服务调用请求而反馈的响应数据等。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
79.区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
80.平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
81.为了更好的理解本技术,下面对终端中的系统架构进行介绍:
82.参考图2,本技术提供了一种应用服务调用框架,使用该框架不仅可以方便的接入各应用程序,而且可便于应用程序进行应用服务的调用。终端中的应用服务调用框架包括服务适配层、应用接入层和操作系统层。应用接入层用于接入第三方应用至终端,并将向服务适配层注入的服务进行封装,以api(application programming interface,应用程序接口)的形式向外暴露。服务适配层用于进行服务的注册和服务调用请求的分发,以将服务调用请求转发至对应的应用程序。操作系统层用于将原生应用所提供的应用服务注入至服务适配层,以实现服务的注册。其中,服务是应用程序所能提供的能力接口在服务适配层中的抽象。
83.在进行服务注册之前,还需将提供该服务的应用程序接入终端。当需要将应用程序接入终端时,应用程序开发商可获取预先生成的接口服务包,并以库的形式导入该接口服务包,以将应用程序接入终端。其中,接口服务包中预先定义了多个服务。当接入终端中的应用程序启动时,该应用程序可将自身支持的服务的服务标识发送至服务适配层,以实现对预先定义的服务进行注册。从而,其余应用程序可通过服务调用请求调用已注册成功的服务。图3示出了一个实施例中终端的框架示意图。
84.在一个实施例中,如图3所示,提供了一种应用服务调用方法,包括以下步骤:
85.步骤s302,获取第一应用发起的针对目标服务的服务调用请求。
86.其中,服务指的是应用程序所能提供的能力接口在服务适配层中的抽象。能力接口为对应用程序所能提供的应用功能进行封装后得到的应用程序接口。例如,服务可以为语音识别应用所提供的语音识别功能所对应的语音识别接口在服务适配层中的抽象。服务中定义有服务标识和功能函数标识,其中,服务标识指的是唯一标识一个服务的信息,例如,服务标识可以为服务名称或服务id等。功能函数标识指的是唯一标识一个能力接口所能提供的方法的标识,功能函数标识具体可以为函数名称或者函数id等。功能函数指的是实现应用功能所需的程序代码的集合的抽象。
87.在一个具体地实施例中,可通过以下代码在服务适配层中定义一个服务:service service_name{func function_name()},其中,service_name为服务标识,function_name为功能函数标识,func function_name()即可代表一个功能函数。例如,当定位应用能支持用于提供定位数据的定位接口时,与该定位接口所对应的定位服务即可为service geolocation{func getcurrentposition()}。其中,func getcurrentposition()代表实时获取定位数据。
88.具体地,当已接入终端的第一应用需要调用目标服务时,第一应用可基于目标服务的服务标识,生成针对目标服务的服务调用请求,并将该服务调用请求发送至服务适配层。举例说明,当目标服务为第二应用所提供的定位服务时,第一应用可基于定位服务所对应的服务标识geolocation,生成相应的服务调用请求。其中,第一应用为已接入终端的调用目标服务的应用程序。
89.在一个实施例中,当服务适配层接收到多个服务调用请求时,服务适配层可将发送服务调用请求的应用程序的程序标识与服务调用请求的请求标识对应存储,以便于后续根据应用程序与服务调用请求之间的对应关系,将响应于服务调用请求而反馈的响应数据返回至对应的应用程序。
90.在一个实施例中,当第一应用需要调用第二应用的能力接口所提供的功能函数时,第一应用可获取与待调用的能力接口相对应的服务的服务标识,以及待调用的功能函数的功能函数标识,并基于功能函数标识和服务标识生成服务调用请求。例如,当第一应用期望调用定位应用中的定位接口所提供的定位数据实时获取功能时,第一应用可基于与定位接口相对应的定位服务的服务标识geolocation,以及与定位数据实时获取功能相对应的功能函数标识getcurrentposition,生成相应的服务调用请求。
91.在一个实施例中,服务调用请求中还包含有消息类型,例如,请求应答、订阅和通知等,当确定消息类型、服务标识和功能函数标识时,第一应用可基于消息类型、服务标识和功能函数标识生成对应的消息二进制包,并基于消息二进制包和消息二进制包所占用的存储空间大小,生成对应的服务调用请求。通过在服务调用请求中添加消息二进制包所占用的存储空间大小,使得服务适配层和第二应用在接收到服务调用请求时,可基于消息二进制包所占用的存储空间大小,对消息二进制包进行安全性校验,以确定在传输过程中消息二进制包是否被恶意篡改。
92.步骤s304,确定与目标服务相关联的目标消息处理对象。
93.其中,消息处理对象指的是对服务调用请求进行处理的接口。对于服务适配层而
言,通过目标调用消息处理对象可将服务调用请求转发至对应的第二应用,并触发第二应用反馈的相应的响应数据。在一个具体的实施例中,消息处理对象具体可以为一个对服务中的各功能函数进行封装后得到的handler对象。
94.具体地,服务适配层中预先生成有多个与服务一一对应的消息处理对象,且服务适配层中具有服务与消息处理对象之间的对应关系。当获取得到服务调用请求时,服务适配层可从服务调用请求中提取出待调用的目标服务的目标服务标识,根据服务与消息处理对象之间的对应关系,确定与目标服务标识相对应的目标消息处理对象。
95.在一个实施例中,服务适配层中还预先生成有用于消息分发的消息分发对象,通过该消息分发对象接收第一应用发送的针对目标服务的服务调用请求,且根据服务调用请求携带的服务标识,确定与目标服务对应的目标消息处理对象,将服务调用请求分发至所确定的目标消息处理对象。
96.在一个实施例中,服务调用请求携带目标服务标识,确定与目标服务相关联的目标消息处理对象,包括:确定预先生成的每个消息处理对象各自对应的对象标识;根据目标服务标识与每个对象标识之间的匹配程度,从消息处理对象中筛选出与目标服务相关联的目标消息处理对象。
97.具体地,为了便于从消息处理对象中筛选出与目标服务相关联的目标消息处理对象,可根据能力接口的接口标识,生成对应的服务标识和对象标识,从而服务适配层可基于服务标识与对象标识之间的匹配程度,确定目标消息处理对象。当获取得到服务调用请求时,服务适配层可从服务调用请求中提取出目标服务标识,并将目标服务标识与各个预先生成的目标消息处理对象的各对象标识进行相似度匹配,得到匹配结果。进一步地,服务适配层根据匹配结果,确定具有最高匹配度的对象标识,并将具有最高匹配度的对象标识所对应的消息处理对象作为目标消息处理对象。
98.在其中一个实施例中,服务适配层可根据能力接口的接口标识,结合预设的标识符号,生成对应的服务标识和对象标识。例如,当能力接口的接口标识为geolocation时,服务适配层可根据预设的标识符号
“‑”
生成相应的服务标识“serivce-geolocation”,以及生成相应的对象标识“handler-geolocation”。从而当接收到的目标服务标识为“serivce-geolocation”时,服务适配层可基于“serivce-geolocation”中的“geolocation”,确定相匹配的对象标识为“handler-geolocation”,并根据“handler-geolocation”从消息处理对象中筛选出与目标服务相关联的目标消息处理对象。
99.上述实施例中,通过将目标服务标识与对象标识进行匹配,可基于匹配结果准确地从消息处理对象中筛选出与目标服务相关联的目标消息处理对象。
100.步骤s306,当目标服务为服务适配层中已注册的服务时,从目标消息处理对象中查找目标服务所属第二应用对应的第一通信路径;第一应用和第二应用均为接入至服务适配层中的应用程序。
101.具体地,目标消息处理对象中存储有所述目标服务所属第二应用的第一通信路径的第一路径标识。当目标消息处理对象接收到服务调用请求时,目标消息处理对象根据预先存储的第一路径标识,确定相应的第一通信路径,并将服务调用请求转发至与第一通信路径,以使第一通信路径将服务调用请求转发至第二应用,从而当第二应用接收到服务调用请求时,可调用与目标服务对应的能力接口,得到响应数据。示例性的,当即时通信应用
期望调用定位应用中的定位接口所提供的定位数据实时获取功能,并发起服务调用请求时,服务适配层可根据定位服务的服务标识,确定与定位服务相对应的目标消息处理对象,从而通过目标消息处理对象确定用于连接定位应用的通信路径。
102.在一个实施例中,在调用第二应用所提供的目标服务之前,需要在服务适配层中对目标服务进行服务注册。更具体地,当第二应用启动时,第二应用可通过第一通信路径,将目标服务的服务标识发送至服务适配层,从而服务适配层可根据服务标识对目标服务进行注册,并在注册成功时,将第二应用与目标服务进行关联,得到应用与消息处理对象之间的对应关系。服务适配层确定与目标服务相关联的目标消息处理对象,并将第一通信路径的第一路径标识写入目标消息处理对象。
103.在一个实施例中,在注册成功时,服务适配层还可将第二应用与目标服务进行关联,得到应用与消息处理对象之间的对应关系,以及将第二应用的应用标识、第一通信路径的第一路径标识对应存储至各消息处理对象中,得到应用与通信路径之间的对应关系。从而在接收到服务调用请求,并确定与目标服务相关联的目标消息处理对象时,目标消息处理对象可根据应用与消息处理对象之间的对应关系,确定与自身相对应的应用程序,并根据预先存储的应用与通信路径之间的对应关系,确定对应的通信路径,也即确定第一通信路径。
104.在一个实施例中,由于在目标服务注册成功时,服务适配层会将目标服务所属的第二应用的第一通信路径写入目标消息处理对象,因此,服务适配层可通过确定目标消息处理对象中是否存储有目标服务所属的第二应用的第一通信路径,来判断目标服务是否已注册成功,并在注册成功时,基于第一通信路径并通过目标消息处理对象将服务调用请求转发至所述第二应用;在注册失败时,向第一应用返回服务调用失败消息。
105.在一个实施例中,当目标服务注册成功时,服务适配层可生成与该目标服务相对应的注册成功标识,从而服务适配层可基于注册成功标识,确定目标服务是否已成功注册。
106.步骤s308,基于第一通信路径,并通过目标消息处理对象将服务调用请求转发至第二应用。
107.具体地,服务适配层将服务调用请求分发至目标消息处理对象,从而目标消息处理对象可将服务调用请求转发至第一通信路径,基于第一通信路径,将服务调用请求转发至第二应用。
108.步骤s310,接收第二应用响应于服务调用请求而反馈的响应数据,并将响应数据反馈至第一应用,以完成目标服务的调用。
109.具体地,当第二应用接收到第一通信路径发送的服务调用请求时,第二应用可从服务调用请求中提取出目标服务标识,并根据目标服务标识,确定提供目标服务的目标能力接口,通过调用目标能力接口得到对应的响应数据。例如,第二应用可基于目标服务标识geolocation调用对应的定位能力接口,得到定位数据。进一步地,当获取得到响应数据时,第二应用可通过第一通信路径将响应数据返回至服务适配层,从而服务适配层将将响应数据反馈至第一应用,以完成目标服务的调用。
110.在一个实施例中,当获取得到服务调用请求时,第二应用可从服务调用请求中提取出目标服务标识和目标函数标识,并通过目标服务标识确定待调用的目标能力接口,通过目标函数标识,确定目标能力接口提供的待调用的功能函数。例如,第二应用可基于目标
服务标识geolocation确定待调用的目标能力接口为定位能力接口,根据目标函数标识getcurrentposition确定待调用的功能函数为实时获取定位数据的函数,从而通过执行实时获取定位数据的函数,得到实时的定位数据。
111.在一个实施例中,第二应用还可按照原路径,将响应数据返回至第一应用。也就是第二应用可通过第一通信路径,将响应数据返回至服务适配层,服务适配层可通过第二通信路径,将响应数据反馈至第一应用。
112.终端预先生成有多个通信路径,通信路径与应用程序一一对应。第一应用可通过用于与服务适配层进行通信的第二通信路径,将服务调用请求发送至服务适配层,此时,服务适配层记录发送服务调用请求的应用,从而得到服务调用请求与应用程序之间的对应关系。当服务适配层接收到第二应用通过第一通信路径返回的响应于服务调用请求的响应数据时,服务适配层根据服务调用请求与应用程序之间的对应关系,确定发送服务调用请求的应用程序为第一应用,并通过与第一应用相对应的第二通信路径,将响应数据返回至第一应用。
113.在一个实施例中,服务调用请求中还可包含有第一应用的应用标识,当获取得到响应数据时,第二应用还可直接基于第一应用的应用标识,将响应数据返回至第一应用。
114.在一个实施例中,上述应用服务调用方法还可应用于部署在车载终端中的服务适配层,该应用服务调用方法包括:获取在车载终端中运行的第一应用发起的且针对目标服务的服务调用请求;确定与目标服务相关联的目标消息处理对象;当目标服务为服务适配层中已注册的服务时,从目标消息处理对象中查找目标服务所属第二应用对应的第一通信路径;第一应用和第二应用均为接入至车载终端的服务适配层中的应用程序;基于第一通信路径,并通过目标消息处理对象将服务调用请求转发至第二应用;接收第二应用响应于服务调用请求而反馈的响应数据,并将响应数据反馈至第一应用,以实现目标服务的调用。
115.上述应用服务调用方法中,通过获取第一应用发起的服务调用请求,可基于服务调用请求确定与待调用的目标服务相关联的目标消息处理对象,从而可基于目标消息处理对象确定第二应用的第一通信路径。通过确定第二应用的第一通信路径,可以促使第二应用的第一通信路径将服务调用请求转发至第二应用,从而第二应用可基于服务调用请求反馈相应的响应数据。通过接收第二应用反馈的响应数据,可将响应数据返回至第一应用,如此,便实现了目标服务的调用,也即实现了应用程序之间的相互调用。
116.此外,本技术建立了一种应用接入规范,并通过服务适配层将操作系统与应用程序进行连接,使得终端可以服务的形式快速接入应用程序所提供的能力接口,从而便于后续应用服务之间的相互调用。并且本技术为应用程序提供了统一的服务适配层,在操作系统领域具有通用性。
117.在一个实施例中,服务调用请求携带有目标服务标识和目标函数标识,服务适配层存储有预先定义的服务库,服务库包括至少一个服务和至少一个服务所含有的功能函数标识,确定与目标服务相关联的目标消息处理对象包括:根据目标服务标识和目标函数标识,确定服务库中是否包括有与目标服务标识相对应的目标服务、以及确定目标服务中是否含有目标函数标识;当服务库中包括有目标服务和目标函数标识时,执行确定与目标服务相关联的目标消息处理对象的步骤。
118.其中,服务库中包括有多个预先定义的服务,和各个服务所包含的功能函数标识,
例如,可在接口服务包中预先定义定位服务:service geolocation{func getcurrentposition()}。其中,geolocation为服务标识,getcurrentposition为该定位服务所包含的功能函数标识。通过在服务中定义功能函数标识,使得后续可执行与该功能函数标识相对应的函数,得到相应的响应数据。
119.具体地,在确定与目标服务相关联的目标消息处理对象之前,服务适配层还可对接收到的服务调用请求的合法性进行验证。当获取得到服务调用请求时,服务适配层可从服务调用请求中提取出待调用的目标服务的目标服务标识和待调用的目标功能函数的目标函数标识。
120.进一步地,服务适配层根据目标服务标识,确定接口服务包中是否存在与目标服务标识相对应的目标服务,并在确定接口服务包中存在目标服务时,确定目标服务服务中是否包含有目标函数标识。当确定目标服务中包含有目标函数标识时,服务适配层认为第一应用发送的服务调用请求为合法请求,此时服务适配层确定与目标服务相关联的目标消息处理对象。本实施例中,通过在确定与目标服务对应的目标消息处理对象之前,对服务调用请求的合法性进行验证,不仅可以提升应用服务调用的安全性,而且可以减少不必要的服务调用所耗费的计算资源。
121.在一个实施例中,确定与所述目标服务相关联的目标消息处理对象的步骤还包括:当服务库中未包括有目标服务或目标函数标识时,向第一应用返回服务调用失败消息,以响应服务调用请求。
122.具体地,当接口服务包中未包含有目标服务,或者目标服务中未包含有目标函数标识时,服务适配层认为第一应用发送的服务调用请求为非法调用请求,此时,服务适配层暂停确定与目标服务相对应的目标消息处理对象,并向第一应用返回服务调用失败消息,响应服务调用请求。
123.本实施例中,通过在接口服务包中未包含有目标服务,或者目标服务中未包含有目标函数标识时,向第一应用返回服务调用失败消息,使得第一应用可基于服务调用失败消息确定服务是否调用成功。
124.在一个实施例中,基于第一通信路径,并通过目标消息处理对象将服务调用请求转发至第二应用,包括:通过目标消息处理对象,将第二应用对应的第一通信路径的第一路径标识和服务调用请求转发至预先生成的消息分发对象;其中,转发至消息分发对象的第一路径标识和服务调用请求,用于触发消息分发对象调用与第一路径标识对应的第一通信路径,以实现通过第一通信路径将服务调用请求转发至第二应用。
125.具体地,服务适配层可根据服务调用请求中的目标服务标识,确定对应的目标消息处理对象,并将服务调用请求发送至目标消息处理对象。目标消息处理对象根据消息处理对象与应用程序之间的对应关系,确定自身所指向的应用程序,也即确定第二应用,以及根据第二应用的应用标识和应用程序与通信路径之间的对应关系,确定与第二应用相对应的第一通信路径。进一步地,服务适配层将第一通信路径的第一路径标识和服务调用请求发送至预先生成的消息分发对象,以使消息分发对象调用与第一路径标识对应的第一通信路径,以实现通过第一通信路径将服务调用请求转发至所述第二应用。
126.在其中一个实施例中,参考图4,可在消息处理对象与通信路径之间,生成一个消息分发对象,用于根据服务调用请求中的目标服务标识,将服务调用请求分发至目标消息
处理对象,以及根据路径标识,将服务调用请求分发至对应的通信路径。其中,消息处理对象可通过消息处理线程运行。通信路径可通过通信线程执行。图4示出了一个实施例中通过消息分发对象进行服务调用请求分发的示意图。
127.上述实施例中,通过预先生成消息分发对象,可通过消息分发对象连接消息处理对象和通信路径,从而实现将目标消息处理对象接收到的服务调用请求分发至相应的第一通信路径。
128.在一个实施例中,上述应用服务调用方法还包括:当接收到通过第二通信路径发起的、且针对目标服务的服务调用请求时,确定第二通信路径的第二路径标识;将服务调用请求的请求标识与第二通信路径的第二路径标识对应存储。
129.具体地,当服务适配层接收到第一应用的第二通信路径发起的、且针对目标服务的服务调用请求时,服务适配层可确定服务调用请求的请求标识和第二通信路径的第二路径标识,并将请求标识和第二路径标识对应存储,得到服务请求与通信路径之间的对应关系。在其中一个实施例中,服务适配层可将服务请求与通信路径之间的对应关系存储至消息处理对象中,从而当消息处理对象接收到第一通信路径返回的响应数据时,可根据服务请求与通信路径之间的对应关系,确定发送服务调用请求的通信路径,也即确定第二通信路径,并将响应数据通过第二通信路径返回至第一应用。
130.上述实施例中,通过在接收到服务调用请求时,将服务调用请求与发送该服务调用请求的通信路径对应存储,便于后续服务适配层将响应数据沿原路返回至发起服务调用请求的应用程序。
131.在一个实施例中,接收第二应用响应于所服务调用请求而反馈的响应数据,并将响应数据反馈至第一应用,包括:接收通过第二应用的第一通信路径返回的响应数据;根据对应存储的请求标识和路径标识,确定用于返回响应数据的第二通信路径,并通过第二通信路径将响应数据返回至第一应用。
132.具体地,当服务适配层接收到第二应用通过第一通信路径返回的响应数据时,服务适配层可根据请求标识与路径标识之间的对应关系,确定发送调用目标服务的服务调用请求的通信路径,即确定与第一应用相连接的第二通信路径,通过第二通信路径将响应数据返回至第一应用。
133.本实施例中,由于可将响应数据沿原路返回至发起服务调用请求的应用程序,因此无需再次创建其余的用于返回响应数据的通信路径,如此,便可大大减少所创建的通信路径的数量,从而节约创建通信路径时所耗费的内存资源。
134.在一个实施例中,第二应用的接入步骤包括:获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将服务和消息处理对象关联存储至服务适配层;通过待接入的第二应用,执行初始化接口以生成与第二应用对应的第一通信路径;第二应用至少包括车载原生应用和第三方应用中的一种;第二应用通过第一通信路径,将待注册服务的服务信息发送至服务适配层,以触发服务适配层基于各服务对服务信息进行验证;在验证通过后则确定待注册服务完成注册,将已注册的服务所属的目标应用与已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入目标通信路径。
135.具体地,终端系统的研发人员可预先定义一个服务库,并在服务库中设置初始化接口和至少一个的服务,从而终端系统中的服务适配层可生成与每个服务分别对应的消息
处理对象,并将服务与消息处理对象关联存储。终端系统可基于服务库中的初始化接口生成接口服务包,从而应用研发人员可将接口服务包导入待接入的第二应用。当研发人员将待接入的第二应用安装至终端时,目标应用可执行接口服务包中的初始化接口,以生成与自身相对应的第一通信路径。其中,第二应用至少包括终端所提供的原生应用和第三方应用中的一种。
136.当第二应用安装至终端时,可进行服务的注册。第二应用确定自身所支持的服务,并将自身所支持的服务作为待注册服务,将待注册服务的服务信息通过第一通信路径发送至服务适配层。进一步地,服务适配层在接收到服务信息时,可对服务信息进行验证,以确定待注册的服务是否合法。当验证通过时,服务适配层确定待注册服务已注册成功。服务适配层根据服务与消息处理对象之间的对应关系,确定与已注册的服务相关联的关联消息处理对象,并将关联消息处理对象和目标应用进行关联,得到应用程序与消息处理对象之间的对应关系。进一步地,服务适配层确定发送服务信息的第一通信路径的第一路径标识,并将第一路径标识写入关联消息处理对象,以实现第二应用接入至终端。
137.上述实施例中,通过获取初始化接口,可基于初始化接口生成与待接入的第二应用相对应的第一通信路径,从而待接入的第二应用可基于第一通信路径,将服务信息发送至服务适配层。通过将将服务信息发送至服务适配层,可促使服务适配层对服务信息进行验证,以提升服务注册的安全性。当验证通过后,通过获取至少一个服务,并将第二应用与已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入第一通信路径,可实现将第二应用接入至终端,从而接入至终端中的各应用程序可基于相关联的消息处理对象、以及写入的通信路径实现应用服务调用,也即实现应用程序之间的相互调用。
138.在一个实施例中,服务适配层应用于车载系统,目标服务至少包括车辆状态信息获取服务、媒体播放服务、应用开启服务和语音识别服务中的一种;其中,车辆状态信息获取服务和媒体播放服务中的至少一种通过车载原生应用提供,应用开启服务和语音识别服务中的至少一种通过第三方应用提供。
139.具体地,终端具体可为架设与车辆中的车载终端,车载终端中搭载有车载系统,其中,服务适配层具体可为车载系统中的用以连接应用接入层和操作系统层的一个层级。接入至车载终端的应用程序可包括第三方开发商所开发的第三方应用,以及车载系统所提供的车载原生应用。其中,所接入的应用程序可向服务适配层提供至少一种的服务。所提供的服务包括但不限于是车辆状态信息获取服务、媒体播放服务、应用开启服务和语音识别服务中的至少一种。
140.在其中一个实施例中,车辆状态信息获取服务和媒体播放服务为车载原生应用向服务适配层提供的服务。应用开启服务和语音识别服务,为第三方应用向服务适配层提供的服务。例如,当多媒体播放应用能够提供多媒体播放的功能时,其可向服务适配层提供媒体播放服务,也就是多媒体播放应用能够向服务适配层进行媒体播放服务的注册,从而后续其它应用程序可通过在服务适配层中注册的媒体播放服务,调用多媒体播放应用进行多媒体的播放。
141.在其中一个实施例中,车载终端可通过服务的形式将车载原生应用的能力接口接入至服务适配层,从而第三方应用可通过服务调用的形式调用车载原生应用所提供的能力接口。例如,当第三方应用为即时通信应用,车载原生应用所提供的服务为车辆状态信息服
务时,即时通信应用可通过车辆状态信息服务的目标服务标识生成服务调用请求,并通过该服务调用请求调用车辆状态信息获取服务,得到车辆的状态信息。
142.在其中一个实施例中,车载终端可通过服务的形式将第三方应用的能力接口接入至服务适配层,从而其余应用程序可通过服务调用的形式调用该第三方应用所提供的能力接口。例如,参考图5,当a第三方应用为即时通信应用,b第三方应用为语音识别应用,所提供的服务为唤醒词识别服务“speechservice”,唤醒词识别服务所包含的目标函数标识(也称作方法名)为词识别唤醒“registerwakeup”时,即时通信应用可通过醒词识别服务的目标服务标识生成服务调用请求“speechregisterwakeupreq”,并将该服务调用请求发送至服务适配层,通过服务适配层将该服务调用请求调用语音识别服务转发至语音识别应用。语音识别应用可通过应答“speechregisterwakeuprsp”,将词识别功能的唤醒结果返回至服务适配层,从而服务适配层将“speechregisterwakeuprsp”转发至即时通讯应用。图5示出了一个实施例中调用语音识别应用中的唤醒词识别接口的示意图。
143.在其中一个实施例中,当接收到用户输入的语音信息时,即时通讯应用还可通过服务调用的形式,调用语音识别应用中的语音识别接口,以对用户所输入的语音进行语音识别。
144.在一个实施例中,参考图6,应用程序可通过服务的形式将应用开启的能力暴露给车载操作系统。车载终端开发人员可在服务库中定义有应用开启服务,当车载操作系统需要开启车载终端中的应用程序时,车载操作系统中的车载原生应用可根据待开启的应用程序的应用标识,生成相应的应用开启请求,并将应用开启请求发送至服务适配层。当服务适配层接收到应用开启请求时,服务适配层可根据应用开启请求中的应用标识,生成针对该待开启的应用程序的应用开启进程,通过应用开启进程开启应用程序。当待开启的应用程序开启时,该应用程序可向服务适配层进行服务注册,从而服务适配层可将服务注册结果返回至该应用程序,并将应用开启结果返回至车载操作系统。图6示出了一个实施例中车载操作系统开启应用程序的示意图。
145.上述实施例中,通过以服务形式将暴露应用程序所提供的能力接口,可以便于各能力接口之间的相互调用,从而大大提升了能力接口的调用效率。
146.在一个实施例中,如图7所示,提供了一种应用程序接入方法,包括以下步骤:
147.步骤s702,获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将服务和消息处理对象关联存储至服务适配层。
148.具体地,终端系统的研发人员可预先定义一个服务库,并在服务库中设置初始化接口和至少一个的服务,从而终端系统中的服务适配层可生成与每个服务分别对应的消息处理对象,并将服务与消息处理对象关联存储。
149.步骤s704,通过待接入的目标应用,执行初始化接口以生成与目标应用对应的目标通信路径;目标应用至少包括原生应用和第三方应用中的一种。
150.具体地,终端系统可基于服务库中的初始化接口生成接口服务包,从而应用研发人员可将接口服务包导入待接入的目标应用。当研发人员将待接入的目标应用安装至终端系统时,目标应用可执行接口服务包中的初始化接口,以生成与自身相对应的目标通信路径。其中,目标应用至少包括终端系统所提供的原生应用和第三方应用中的一种。
151.步骤s706,目标应用通过目标通信路径,将待注册服务的服务信息发送至服务适
配层,以触发服务适配层基于各服务对服务信息进行验证。
152.具体地,当目标应用安装至终端系统时,可进行服务的注册。目标应用确定自身所支持的服务,并将自身所支持的服务作为待注册服务,将待注册服务的服务信息通过目标通信路径发送至服务适配层。进一步地,服务适配层在接收到服务信息时,可对服务信息进行验证,以确定待注册的服务是否合法。
153.在一个实施例中,服务信息包括有待注册服务的服务标识,服务适配层可判断服务信息中的服务标识是否符合预设的标识规则,通过确定服务标识是否符合预设的标识规则来对服务信息进行验证。
154.步骤s708,在验证通过后则确定待注册服务完成注册,将已注册的服务所属的目标应用与已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入目标通信路径。容易理解的,接入至终端系统中的应用程序之间可实现服务的相互调用,例如,a服务属于a应用程序,b服务属于b应用程序,且a应用程序和b应用程序均成功接入至终端系统,此时,a应用程序可调用b服务,b应用程序也可调用a服务。应用程序的接入包括消息处理对象的生成、目标通信路径的生成以及服务的注册等步骤。
155.具体地,当验证通过时,服务适配层确定待注册服务已注册成功。服务适配层根据服务与消息处理对象之间的对应关系,确定与已注册的服务相关联的关联消息处理对象,并将关联消息处理对象和目标应用进行关联,得到应用程序与消息处理对象之间的对应关系。进一步地,服务适配层确定发送服务信息的目标通信路径的目标路径标识,并将目标路径标识写入关联消息处理对象,以实现所述目标应用接入至终端。
156.在一个实施例中,当接收到目标应用通过目标通信路径发送的服务信息时,服务适配层还可从服务信息中提取出目标应用的应用标识,并将应用标识和目标通信路径的路径标识对应存储至消息处理对象,以得到应用程序与通信路径之间的对应关系。
157.在一个实施例中,服务适配层还可提取服务信息所携带的目标应用的目标应用标识,并将目标通信路径的目标路径标识和目标应用的目标应用标识对应写入关联消息处理对象中。
158.上述应用程序接入方法,通过获取初始化接口,可基于初始化接口生成与待接入的目标应用相对应的目标通信路径,从而待接入的目标应用可基于目标通信路径,将服务信息发送至服务适配层。通过将将服务信息发送至服务适配层,可促使服务适配层对服务信息进行验证,以提升服务注册的安全性。当验证通过后,通过获取至少一个服务,并将目标应用与已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入目标通信路径,可实现将目标应用接入至终端,从而接入至终端中的应用程序可基于相关联的消息处理对象、以及写入目标通信路径实现应用服务调用,也即实现应用程序之间的相互调用。
159.在传统技术中,主要是通过应用程序的开发商针对终端所搭载的操作系统的特性,开发对应的软件开发工具包,以使终端系统研发人员根据开发商所供软件开发工具接入待接入的应用程序至终端。然而,针对终端所搭载的不同操作系统的不同特性,开发均需要开发相应的软件开发工具包,从而导致应用程序的接入效率低。
160.因此,通过以服务的方式将目标应用接入至终端,相比于传统的需要研发对应的软件开发工具包,再基于对应的软件开发工具包将应用程序接入至终端,本技术能够大大
提升应用程序接入的接入效率。且由于可灵活增加所接入的服务,以及灵活增加所注册的服务,使得申请具有易扩展的特点。
161.在一个实施例中,通过待接入的目标应用,执行初始化接口以生成与目标应用对应的目标通信路径,包括:基于初始化接口和至少一个服务,生成接口服务包;将接口服务包导入至待接入的目标应用;通过目标应用调用接口服务包中的初始化接口,进行初始化动作,以生成与目标应用对应的目标通信路径。
162.具体地,终端系统可基于服务库中的初始化接口和至少一个服务生成对应的接口服务包,从而应用程序开发人员可以库的形式导入该接口服务包进行目标应用的开发。当应用程序开发人员将待接入的目标安装至终端系统时,目标应用可调用接口服务包中的初始化接口进行初始化动作,以生成与自身相对应的目标通信路径。
163.本实施例中,通过调用初始化接口,即可生成生成对应的目标通信路径,从而后续可基于所生成的目标通信路径与服务适配层进行通信。
164.在一个实施例中,将目标应用接入终端系统后,上述应用程序接入方法还包括:当发生对所导入的接口服务包中的至少一个服务的服务选中操作时,确定基于服务选中操作所选中的目标服务;响应于针对目标服务中的至少一个功能所发生的功能选中操作,确定目标服务中的目标功能;基于目标服务的目标服务标识、以及目标功能的目标函数标识,生成服务调用请求。
165.具体地,当目标应用成功接入终端系统时,目标应用可对所导入的接口服务包中的至少一个服务进行调用。当目标应用确定发生对所导入的接口服务包中的至少一个服务的服务选中操作时,目标应用基于服务选中操作从接口服务包中的各服务中筛选出所选中的目标服务。当目标应用确定发生针对目标服务中的至少一个功能所发生的功能选中操作时,目标应用基于功能选中操作,从目标服务中的至少一个功能中筛选出目标功能。进一步地,目标应用基于目标服务的目标服务标识、以及目标功能的目标函数标识,生成服务调用请求,并通过目标通信路径将服务调用请求发送至服务适配层。
166.示例性的,当用户点击目标应用中的地理位置获取控件时,目标应用可基于用户的点击操作,确定被选中的目标服务为地理位置获取服务、以及确定被选中的目标功能为地理位置实时获取功能。进一步地,目标应用根据地理位置获取服务的服务标识和地理位置实时获取功能的功能函数标识,生成相应的服务调用请求。
167.在其中一个实施例中,当接口服务包中未包含有服务选中操作所选中的目标服务,或目标服务中未包含有功能选中操作所选中的目标功能时,车载终端向目标应用发送服务调用失败消息,如此,不仅能减少不必要的服务调用,而且能减少非法的服务调用,从而提升应用服务调用的安全性。
168.在其中一个实施例中,在服务库中定义的服务可以api的形式导出,得到接口服务包,从而目标应用可基于接口服务包中的api进行服务的调用。
169.例如,目标应用可基于如下代码,调用接口服务包中的导航api,以进行导航服务的调用:
170.void sarnay(const navistarreq&req,const responsecallback&cb)
171.又例如,目标应用可基于如下代码,调用接口服务包中的拨打电话api,以进行拨打电话服务的调用:
172.void dialnumber(std::string phone_number,const responsecallback&cb)
173.在其中一个实施例中,参考图8,当目标应用中的主线程调用接口服务包中的api时,可对应生成服务调用请求,并将服务调用请求发送至目标通信路径,通过目标通信路径将服务调用请求发送至服务适配层。当服务适配层向目标应用反馈响应数据时,目标应用可通过目标通信路径接收服务适配层返回的服务适配层,并将响应数据发送至目标应用中的主线程。图8示出了一个实施例中应用程序的通信示意图。
174.上述实施例中,通过导入接口服务包,可基于接口服务包响应于服务调用操作,从而生成相应的服务调用请求。
175.在一个实施例中,目标应用通过目标通信路径,将待注册服务的服务信息发送至服务适配层,以触发服务适配层基于各服务对服务信息进行验证,包括:目标应用确定支持的服务,并将支持的服务作为待注册服务;目标应用确定每个待注册服务各自包含的功能函数标识;通过目标通信路径,将待注册服务的服务标识和功能函数标识发送至服务适配层,以触发服务适配层对服务标识和功能函数标识分别进行验证。
176.具体地,当接入车载终端中的目标应用开启时,目标应用可向服务适配层发起服务注册。目标应用确定自身所支持的能力接口,以及确定各能力接口所抽象出的服务,将能力接口所抽象出的服务作为自身所支持的服务,并将自身所支持的服务作为待注册服务。进一步地,目标应用确定自身所支持的各能力接口所提供的功能函数,基于能力接口所提供的功能函数确定各待注册服务各自包含的功能函数标识。示例性的,当目标应用为定位应用,该定位应用所提供的能力接口为定位接口,定位接口可提供定位数据实时获取功能函数、地理位置变动监听功能函数时,该定位应用即可基于定位接口确定待注册服务为定位服务,基于定位数据实时获取功能函数、地理位置变动监听功能函数,确定待注册服务所包含的功能函数标识为定位数据实时获取功能函数标识、和地理位置变动监听功能函数标识。
177.进一步地,目标应用通过目标通信路径,将待注册服务的服务标识和功能函数标识发送至服务适配层,以触发服务适配层对待注册服务的服务标识和功能函数标识进行验证。
178.在其中一个实施例中,当接入至终端系统中的应用程序从开启状态转为关闭状态时,终端系统可确定与处于关闭状态的应用程序相关联的消息处理对象,并将所确定的消息处理对象中写入的、与处于关闭状态的应用程序相关联的通信路径对应删除。
179.在其中一个实施例中,当终端系统中的已注册服务因故障而关闭时,终端系统可对开启应用于替换故障应用的候补应用,从而所开启的候补应用可向服务适配层进行服务注册。当注册成功时,服务适配层将故障应用与相关联的消息处理对象进行关联取消处理,转为将关联取消的消息处理对象与候补应用进行关联。由于可基于应用程序的使用情况,灵活更改所关联的消息处理对象,使得本技术所提供的应用接入方法具有松耦合的特点。
180.本实施例中,通过确定自身所支持的服务,可将自身所支持的服务进行服务注册,从而使得服务适配层确定目标应用所支持的服务,进而使得服务适配层在接收到对所支持的服务的服务调用请求时,将该服务调用请求转发至目标应用。此外,通过向服务适配层进行服务注册,可使服务适配层基于服务注册请求确定目标应用已正常启动,并在确定目标应用已正常启动后,再将相应的服务调用请求转发至目标应用,如此,大大减少了不必要的
服务调用请求的转发概率。
181.在一个实施例中,通过目标通信路径,将待注册服务的服务标识和功能函数标识发送至服务适配层,以触发服务适配层对服务标识和功能函数标识分别进行验证,包括:通过目标通信路径,将待注册服务的服务标识和功能函数标识发送至服务适配层;服务适配层获取预先定义的服务库,并确定服务库中是否包括有与服务标识对应的服务、以及相应服务中是否包括有功能函数标识;当服务库中包括有与服务标识对应的服务,且相应服务中包括有功能函数标识时,确定待注册服务通过验证。
182.具体地,当确定待注册服务和待注册服务所包含的功能函数标识时,目标应用可将待注册服务的服务标识和函数功能标识通过目标通信路径发送至服务适配层。服务适配层获取预设的服务库,并查看服务库中是否包含有与注册服务标识相对应的服务,并在确定服务库中包含有与注册服务标识相对应的服务时,查看与注册服务标识相对应的服务中是否包含有待注册服务的功能函数标识。当相应服务中包含有待注册服务的功能函数标识时,可认为已预先对待注册服务进行了定义,此时,服务适配层确定待注册服务通过验证。
183.示例性的,当目标应用进行服务注册,且目标应用所支持的服务的服务名称为serivce_name1和serivce_name2,serivce_name1所包含的功能函数名为function_name1,serivce_name2所包含的功能函数名为function_name2时,目标应用可将serivce_name1、serivce_name2、function_name1和function_name2发送至服务适配层,从而服务适配层将serivce_name1、serivce_name2、function_name1和function_name2与服务库中预先定义的服务进行对比,以确定待注册服务的合法性。
184.本实施例中,只需将待注册服务的服务标识和函数功能标识发送至服务适配层,即可对待注册服务进行验证,从而大大提升了待注册服务验证的效率。
185.在一个实施例中,还应用程序接入方法可应用于车载终端,待接入的目标应用可包括车载系统所提供的车载原生应用和第三方应用中的至少一种。
186.在一个具体实施例中,参考图9,提供了一种应用服务调用方法,包括以下步骤:
187.s902,获取第一应用通过第一通信路径发起的且针对目标服务的服务调用请求;服务调用请求携带有目标服务标识和目标函数标识;目标服务至少包括车辆状态信息获取服务、媒体播放服务、应用开启服务和语音识别服务中的一种。
188.s904,确定第一应用的第二通信路径的第二路径标识;将服务调用请求的请求标识与第一应用的第二通信路径的第二路径标识对应存储。
189.s906,根据目标服务标识和目标函数标识,确定服务库中是否包括有与目标服务标识相对应的目标服务、以及确定目标服务中是否含有目标函数标识;服务适配层存储有预先定义的服务库,服务库包括至少一个服务和各服务所含有的功能函数标识。
190.s908,当服务库中包括有目标服务和目标函数标识时,确定每个消息处理对象各自对应的对象标识;根据目标服务标识与每个对象标识之间的匹配程度,从消息处理对象中筛选出与目标服务相关联的目标消息处理对象。
191.s910,当目标服务为服务适配层中已注册的服务时,从目标消息处理对象中查找目标服务所属第二应用的第一通信路径;第一应用和第二应用均为接入至服务适配层中的应用程序。
192.s912,通过目标消息处理对象,将第二应用的第一通信路径的第一路径标识和服
务调用请求转发至预先生成的消息分发对象;其中,转发至消息分发对象的第一路径标识和服务调用请求,用于触发消息分发对象调用与第一路径标识对应的第一通信路径,以实现通过第一通信路径将服务调用请求转发至第二应用。
193.s914,接收通过第一通信路径返回的响应数据;根据对应存储的请求标识和路径标识,确定用于返回响应数据的第二通信路径,并通过第二通信路径将响应数据返回至第一应用。
194.上述应用服务调用方法中,通过获取第一应用发起的服务调用请求,可基于服务调用请求确定与待调用的目标服务相关联的目标消息处理对象,从而可基于目标消息处理对象确定第二应用的通信路径。通过确定第二应用的通信路径,可以促使第二应用的通信路径将服务调用请求转发至第二应用,从而第二应用可基于服务调用请求反馈相应的响应数据。通过接收第二应用反馈的响应数据,可将响应数据返回至第一应用,如此,便实现了目标服务的调用,也即实现了应用程序之间的相互调用。
195.在一个具体实施例中,参考图10,提供了一种应用程序接入方法,包括以下步骤:
196.s1002,获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将服务和消息处理对象关联存储至服务适配层。
197.s1004,基于初始化接口和至少一个服务,生成接口服务包;将接口服务包导入至待接入的目标应用。
198.s1006,通过目标应用调用接口服务包中的初始化接口,进行初始化动作,以生成与目标应用对应的目标通信路径;目标应用至少包括原生应用和第三方应用中的一种。
199.s1008,目标应用确定支持的服务,并将支持的服务作为待注册服务;目标应用确定每个待注册服务各自包含的功能函数标识。
200.s1010,通过目标通信路径,将待注册服务的服务标识和功能函数标识发送至服务适配层;服务适配层获取预先定义的服务库,并确定服务库中是否包括有与服务标识对应的服务、以及相应服务中是否包括有功能函数标识。
201.s1012,当服务库中包括有与服务标识对应的服务,且相应服务中包括有功能函数标识时,确定待注册服务通过验证。
202.s1014,在验证通过后则确定待注册服务完成注册,将已注册的服务所属的目标应用与已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入目标通信路径。
203.s1016,当发生对所导入的接口服务包中的至少一个服务的服务选中操作时,确定基于服务选中操作所选中的目标服务。
204.s1018,响应于针对目标服务中的至少一个功能所发生的功能选中操作,确定目标服务中的目标功能;基于目标服务的目标服务标识、以及目标功能的目标函数标识,生成服务调用请求。
205.上述应用程序接入方法,通过获取初始化接口,可基于初始化接口生成与待接入的目标应用相对应的目标通信路径,从而待接入的目标应用可基于目标通信路径,将服务信息发送至服务适配层。通过将将服务信息发送至服务适配层,可促使服务适配层对服务信息进行验证,以提升服务注册的安全性。当验证通过后,通过获取至少一个服务,并将目标应用与已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入目标
通信路径,可实现将目标应用接入至终端,从而接入至终端中的应用程序可基于相关联的消息处理对象、以及写入目标通信路径实现应用服务调用,也即实现应用程序之间的相互调用。
206.应该理解的是,虽然图3、7、9-10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3、7、9-10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
207.本技术还提供一种应用场景,该应用场景应用上述的应用服务调用方法。
208.具体地,该应用服务调用方法在该应用场景的应用如下:
209.当用户需要通过即使通讯应用拨打电话时,即使通讯应用可基于用户的需求生成针对拨打电话服务的服务调用请求,并将服务调用请求发送至服务适配层。服务适配层确定提供拨打电话服务的应用程序为电话拨打应用,从而将所接收到的服务调用请求转发至电话拨打应用,以使电话拨打应用基于服务调用请求中所携带的电话号码,进行电话的拨打。
210.本技术还另外提供一种应用场景,该应用场景应用上述的应用程序接入方法。具体地,该应用程序接入方法在该应用场景的应用如下:
211.当目标用户所登录的即时通讯应用中接收到好友用户所发送地定位信息时,目标用户可点击即时通讯应用所展示的定位信息,从而即时通讯应用可基于目标用户的点击操作生成针对导航服务的服务调用请求,并通过服务调用请求从对话消息展示页面跳转至导航页面,通过导航页面对好友用户发送定位信息进行导航展示。
212.在一个实施例中,如图11所示,提供了一种应用服务调用装置1100,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:处理对象确定模块1102、通信路径确定模块1104和响应数据获取模块1106,其中:
213.处理对象确定模块1102,用于获取第一应用发起的且针对目标服务的服务调用请求;确定与目标服务相关联的目标消息处理对象。
214.通信路径确定模块1104,用于当目标服务为服务适配层中已注册的服务时,从目标消息处理对象中查找目标服务所属第二应用对应的第一通信路径;第一应用和第二应用均为接入至服务适配层中的应用程序。
215.响应数据获取模块1106,用于基于通信路径,并通过目标消息处理对象将服务调用请求转发至第二应用;接收第二应用响应于服务调用请求而反馈的响应数据,并将响应数据反馈至第一应用,以完成目标服务的调用。
216.在一个实施例中,服务调用请求携带有目标服务标识和目标函数标识,服务适配层存储有预先定义的服务库,服务库包括至少一个服务和至少一个服务所含有的功能函数标识,应用服务调用装置1100还用于根据目标服务标识和目标函数标识,确定服务库中是否包括有与目标服务标识相对应的目标服务、以及确定目标服务中是否含有目标函数标识;当服务库中包括有目标服务和目标函数标识时,执行确定与目标服务相关联的目标消
息处理对象的步骤。
217.在一个实施例中,应用服务调用装置1100还用于当服务库中未包括有目标服务或目标函数标识时,向第一应用返回服务调用失败消息,以响应服务调用请求。
218.在一个实施例中,处理对象确定模块1102还用于确定每个消息处理对象各自对应的对象标识;根据目标服务标识与每个对象标识之间的匹配程度,从消息处理对象中筛选出与目标服务相关联的目标消息处理对象。
219.在一个实施例中,通信路径确定模块1104还用于通过目标消息处理对象,将第二应用的第一通信路径的第一路径标识和服务调用请求转发至预先生成的消息分发对象;其中,转发至消息分发对象的第一路径标识和服务调用请求,用于触发消息分发对象调用与第一路径标识对应的第一通信路径,以实现通过第一通信路径将服务调用请求转发至第二应用。
220.在一个实施例中,应用服务调用装置1100还用于当接收到通过第二通信路径发起的、且针对目标服务的服务调用请求时,确定第二通信路径的第二路径标识;将服务调用请求的请求标识与第二通信路径的第二路径标识对应存储。
221.在一个实施例中,响应数据获取模块1106还用于接收通过第二应用的第一通信路径返回的响应数据;根据对应存储的请求标识和路径标识,确定用于返回响应数据的第二通信路径,并通过第二通信路径将响应数据返回至第一应用。
222.在一个实施例中,应用服务调用装置1100还包括应用接入模块1108,用于获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将服务和消息处理对象关联存储至服务适配层;通过待接入至第二应用,执行初始化接口以生成与第二应用对应的第一通信路径;第二应用至少包括原生应用和第三方应用中的一种;第二应用通过第一通信路径,将待注册服务的服务信息发送至服务适配层,以触发服务适配层基于各服务对服务信息进行验证;在验证通过后则确定待注册服务完成注册,将已注册的服务所属的第二应用与已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入第一通信路径。
223.在一个实施例中,应用服务调用装置1100可用于调用目标服务,目标服务至少包括车辆状态信息获取服务、媒体播放服务、应用开启服务和语音识别服务中的一种;其中,车辆状态信息获取服务和媒体播放服务中的至少一种通过车载原生应用提供,应用开启服务和语音识别服务中的至少一种通过第三方应用提供。
224.在一个实施例中,如图12所示,提供了一种应用程序接入装置1200,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:处理对象生成模块1202、验证模块1204和关联模块1206,其中:
225.处理对象生成模块1202,用于获取初始化接口和至少一个服务,并生成与每个服务分别对应的消息处理对象,将服务和消息处理对象关联存储至服务适配层。
226.验证模块1204,用于通过待接入的目标应用,执行初始化接口以生成与目标应用对应的目标通信路径;目标应用至少包括原生应用和第三方应用中的一种;目标应用通过目标通信路径,将待注册服务的服务信息发送至服务适配层,以触发服务适配层基于各服务对服务信息进行验证。
227.关联模块1206,用于在验证通过后则确定待注册服务完成注册,将已注册的服务
所属的目标应用与已注册的服务所对应的消息处理对象关联,在相关联的消息处理对象中写入目标通信路径。
228.在一个实施例中,验证模块1204还包括路径生成模块1241,用于基于初始化接口和至少一个服务,生成接口服务包;将接口服务包导入至待接入的目标应用;通过目标应用调用接口服务包中的初始化接口,进行初始化动作,以生成与目标应用对应的目标通信路径。
229.在一个实施例中,应用程序接入装置1200还包括服务调用模块1208,用于当发生对所导入的接口服务包中的至少一个服务的服务选中操作时,确定基于服务选中操作所选中的目标服务;响应于针对目标服务中的至少一个功能所发生的功能选中操作,确定目标服务中的目标功能;基于目标服务的目标服务标识、以及目标功能的目标函数标识,生成服务调用请求。
230.在一个实施例中,验证模块1204还用于目标应用确定支持的服务,并将支持的服务作为待注册服务;目标应用确定每个待注册服务各自包含的功能函数标识;通过目标通信路径,将待注册服务的服务标识和功能函数标识发送至服务适配层,以触发服务适配层对服务标识和功能函数标识分别进行验证。
231.在一个实施例中,验证模块1204还用于通过目标通信路径,将待注册服务的服务标识和功能函数标识发送至服务适配层;服务适配层获取预先定义的服务库,并确定服务库中是否包括有与服务标识对应的服务、以及相应服务中是否包括有功能函数标识;当服务库中包括有与服务标识对应的服务,且相应服务中包括有功能函数标识时,确定待注册服务通过验证。
232.关于应用服务调用装置和应用程序接入装置的具体限定可以参见上文中对于应用服务调用方法和应用程序接入方法的限定,在此不再赘述。上述应用服务调用装置和应用程序接入装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
233.在一个实施例中,提供了一种计算机设备,该计算机设备可以是车载终端,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用服务调用方法和应用程序接入方法方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
234.本领域技术人员可以理解,图13中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
235.在一个实施例中,还提供了一种终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
236.在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
237.在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
238.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
239.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
240.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1