本公开涉及通信,尤其涉及一种服务调用方法、装置、电子设备、系统及可读存储介质。
背景技术:
1、binder是安卓系统提供的一种跨进程通信机制。binder是基于c/s架构,其中,binder框架包括客户端、服务端、绑定服务驱动(binder driver)、服务管理(servicemanager),其中客户端和服务端由应用开发者来实现。客户端和服务端之间的接口使用android接口定义语言aidl来进行定义。
2、安卓对于aidl有一个先后版本兼容的支持策略。但是该支持策略条件比较苛刻。该支持策略条件包括:aidl的内容不变。若需要增加新的内容,只能在原有的内容尾部增加新的接口函数。
3、然而,随着功能的不断演进,上一代的aidl的定义可能已经不能满足当前产品的需求。因此可能需要再调整aidl的接口定义。例如,需要删除无用的接口函数,增加新的接口函数、修改已有的接口函数、调整接口函数顺序等。但是安卓对于aidl的支持策略不能满足该需求。
技术实现思路
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、采用上述技术方案,客户端通过一个通用的调用接口向服务端发送服务调用请求,服务端根据该服务调用请求执行与目标服务对应的操作,无需建立执行函数与aidl接口之间的映射关系即可实现不同服务版本之间的兼容,还可以根据实际需求对执行函数进行编辑,提高了服务调用的灵活性,如此,不需要维护函数映射关系表,既减少了存储空间还便于管理。
30、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种服务调用方法,其特征在于,客户端与服务端处于通信连接状态,所述方法包括:
2.根据权利要求1所述的服务调用方法,其特征在于,所述客户端通过调用预定义的服务调用接口向所述服务端发送服务调用请求,包括:
3.根据权利要求1所述的服务调用方法,其特征在于,所述服务调用请求还包括回调接口信息;所述向所述客户端返回执行结果,包括:
4.根据权利要求1-3中任一项所述的服务调用方法,其特征在于,所述客户端设置有sdk模块,所述客户端通过调用预定义的服务调用接口向所述服务端发送服务调用请求,包括:
5.根据权利要求1-3中任一项所述的服务调用方法,其特征在于,所述服务端根据所述目标服务的标识和所述目标服务的调用参数,执行与所述目标服务对应的操作,并向所述客户端返回执行结果,包括:
6.根据权利要求5所述的服务调用方法,其特征在于,所述方法还包括:
7.根据权利要求5所述的服务调用方法,其特征在于,在所述调用参数不为空的情况下,所述服务端在确定存在所述目标服务的情况下,根据所述目标服务的调用参数和用于执行所述目标服务的执行函数,执行与所述目标服务对应的操作,包括:
8.根据权利要求5所述的服务调用方法,其特征在于,在所述调用参数不为空的情况下,所述方法还包括:
9.根据权利要求5所述的服务调用方法,其特征在于,在所述调用参数为空的情况下,所述方法还包括:
10.一种服务调用方法,其特征在于,应用于客户端,所述方法包括:
11.根据权利要求10所述的服务调用方法,其特征在于,所述通过调用预定义的服务调用接口向所述服务端发送服务调用请求,包括:
12.根据权利要求10或11所述的服务调用方法,其特征在于,所述客户端设置有sdk模块,所述通过调用预定义的服务调用接口向所述服务端发送服务调用请求,包括:
13.一种服务调用方法,其特征在于,应用于服务端,所述方法包括:
14.根据权利要求13所述的服务调用方法,其特征在于,所述方法还包括:
15.根据权利要求13所述的服务调用方法,其特征在于,所述服务调用请求还包括回调接口信息;所述向所述客户端返回执行结果,包括:
16.根据权利要求13-15中任一项所述的服务调用方法,其特征在于,所述根据所述目标服务的标识和所述目标服务的调用参数,执行与所述目标服务对应的操作,并向所述客户端返回执行结果,包括:
17.根据权利要求16所述的服务调用方法,其特征在于,所述方法还包括:
18.根据权利要求16所述的服务调用方法,其特征在于,在所述调用参数不为空的情况下,所述在确定存在所述目标服务的情况下,根据所述目标服务的调用参数和用于执行所述目标服务的执行函数,执行与所述目标服务对应的操作,包括:
19.根据权利要求16所述的服务调用方法,其特征在于,在所述调用参数不为空的情况下,所述方法还包括:
20.根据权利要求16所述的服务调用方法,其特征在于,在所述调用参数为空的情况下,所述方法还包括:
21.一种服务调用装置,其特征在于,应用于客户端,所述装置包括:
22.一种服务调用装置,其特征在于,应用于服务端,所述装置包括:
23.一种第一电子设备,其特征在于,包括:
24.一种第二电子设备,其特征在于,包括:
25.一种服务调用系统,其特征在于,所述系统包括客户端和服务端,所述客户端与所述服务端处于通信连接状态;
26.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求10-12中任一项或者权利要求13-20中任一项所述方法的步骤。
