[发明专利]一种SDK调用方法、装置、计算机设备及存储介质在审
申请号: | 202110154507.2 | 申请日: | 2021-02-04 |
公开(公告)号: | CN114860468A | 公开(公告)日: | 2022-08-05 |
发明(设计)人: | 苟亚明;骆寰宇 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 常忠良 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sdk 调用 方法 装置 计算机 设备 存储 介质 | ||
1.一种SDK调用方法,其特征在于,应用于应用程序中的第一SDK,该方法包括:
接收所述应用程序的目标业务方发送的SDK调用请求,所述SDK调用请求指示调用所述应用程序的至少一个第二SDK中的目标SDK,其中,依赖于参数调用所述目标SDK;所述第二SDK不同于所述第一SDK;
查询在所述应用程序启动时所述第一SDK中预生成的注册列表,获取所述目标SDK的目标类名;所述注册列表中包括所述至少一个第二SDK中每个所述第二SDK的注册信息,所述第二SDK的注册信息指示所述第二SDK的类名;
根据所述目标类名将所述参数传输至所述目标SDK,触发所述目标SDK响应所述参数执行所述参数指示的执行命令。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述参数还包括用于进行执行结果回调的函数指针,将所述目标SDK基于所述函数指针返回的所述执行命令的执行结果返回给所述目标业务方。
3.根据权利要求1所述的方法,其特征在于,所述参数还指示请求调用的所述目标SDK中的目标资源,该方法还包括:
根据所述目标类名向所述目标SDK发送资源调用请求,所述资源调用请求指示所述目标资源;
接收所述目标SDK响应所述资源调用请求返回的多线程信息;
若所述多线程信息表征所述目标资源不支持多线程,构建互斥锁;
所述根据所述目标类名将所述参数传输至所述目标SDK,触发所述目标SDK响应所述参数执行所述参数指示的执行命令,包括:若所述多线程信息表征所述目标资源支持多线程,根据所述目标类名将所述参数传输至所述目标SDK,触发所述目标SDK响应所述参数执行所述参数指示的执行命令。
4.根据权利要求3所述的方法,其特征在于,所述第一SDK集成pthread框架,所述构建互斥锁,包括:
导入pthread.h头文件;
初始化互斥锁的属性,创建互斥锁对象,将所述属性地址和所述互斥锁对象地址传入init方法;
调用尝试加锁函数将所述互斥锁对象地址传入。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标类名将所述参数传输至所述目标SDK,触发所述目标SDK响应所述参数执行所述参数指示的执行命令包括:调用getDataWithParam方法根据所述目标类名将所述参数传输至所述目标SDK,触发所述目标SDK响应所述参数执行所述参数指示的执行命令;该方法还包括:
在所述getDataWithParam方法执行完且调用解锁函数后,所述互斥锁解锁。
6.根据权利要求1所述的方法,其特征在于,还包括:
将所述SDK调用请求存储至缓存队列;
所述查询在所述应用程序启动时所述第一SDK中预生成的注册列表,获取所述目标SDK的目标类名,包括:
基于预先设置的所述应用程序中业务方的优先级,确定所述缓存队列中当前待处理的SDK调用请求;
查询在所述应用程序启动时所述第一SDK中预生成的注册列表,获取当前待处理的SDK调用请求指示的目标SDK的目标类名。
7.根据权利要求1所述的方法,其特征在于,所述注册列表的生成方法包括:
响应所述应用程序启动,对外提供注册方法,所述注册方法携带第一参数和第二参数,所述第一参数指示SDK的SDK标识,所述第二参数指示SDK的类名;
接收所述第二SDK响应所述应用程序启动进行初始化时,调用所述注册方法向所述第一SKD传入的所述第二SDK的SDK标识和类名;
根据所述SDK标识和类名生成用于存入注册列表的所述第二SDK的注册信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110154507.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种低烟无卤线缆挤出机
- 下一篇:航空发动机机匣轴向力测量装置及航空发动机