利索能及
我要发布
收藏
专利号: 2021102775300
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:授权未缴费
更新日期:2024-12-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种数据调用方法,其特征在于,包括:

获取SO模块的接口数据,其中,所述接口数据包括对应应用层的类的名称,对应所述应用层的接口函数名称和对应所述应用层的签名信息;

根据所述应用层的类的名称,对应所述应用层的接口函数名称和对应所述应用层的签名信息建立初始数据调用模板;

根据调用所述接口数据的请求获取待调用函数参数;

将所述初始数据调用模板存储至所述SO模块的预设接口内;

对所述初始数据调用模板进行单一性检测,包括:

定义第一宏命令:

#define CHECK_METHOD(classname,methodname,methodsig)\static bool bstatic_##methodid=AddMethod(classname,methodname,methodsig);\,其中,所述第一宏命令采用静态变量bstatic_##methodid,AddMethod为应用层提供数据的模块的预设接口名称,Classname为对应应用层的类的名称,methodname为对应所述应用层的接口函数名称,methodsig为对应所述应用层的签名信息,所述预设接口用于存储所述SO模块上除所述预设接口外的接口与所述应用层的数据调用方法,还用于对除所述预设接口外的接口与所述应用层的数据调用方法中是否存在相同的方法进行所述单一性检测;

根据所述待调用函数参数与所述初始数据调用模板生成目标数据调用函数;

基于所述目标数据调用函数完成对所述SO模块内数据的调用;

所述根据所述应用层的类的名称,对应所述应用层的接口函数名称和对应所述应用层的签名信息建立初始数据调用模板的步骤,包括:将对应所述应用层的类的名称,对应所述应用层的接口函数名称和对应所述应用层的签名信息进行存储生成数据结构体;

将所述数据结构体作为所述初始数据调用模板。

2.根据权利要求1所述的数据调用方法,其特征在于,所述将对应所述应用层的类的名称,对应所述应用层的接口函数名称和对应所述应用层的签名信息进行存储生成数据结构体的步骤,包括:根据set存储方式将所述应用层的类的名称,对应所述应用层的接口函数名称和对应所述应用层的签名信息进行存储,得到所述数据结构体。

3.根据权利要求1所述的数据调用方法,其特征在于,所述将所述初始数据调用模板存储至所述SO模块的预设接口内的步骤,包括:编写所述SO模块的预设接口:

bool AddMethod(char*classname,char*methodname,char*methodsig){其中,AddMethod为接口的名称,classname为对应应用层的类的名称,methodname为对应应用层的方法的名称,methodsig为对应应用层的接口的签名信息;

将所述初始数据调用模板存储至编写完成的所述SO模块的预设接口内。

4.根据权利要求1所述的数据调用方法,其特征在于,所述根据调用所述接口数据的请求获取待调用函数参数的步骤,包括:根据调用所述接口数据的请求将对应所述请求的待调用数据注册至所述初始数据调用模板获取所述待调用函数参数,其中,所述函数参数包括所述待调用数据的函数名称、所述待调用数据的参数与所述应用层的签名信息。

5.根据权利要求1所述的数据调用方法,其特征在于,还包括:

实时统计所述预设接口内的所述初始数据调用模板数量;

根据所述初始数据调用模板数量对任一所述初始数据调用模板进行日志输出。

6.一种数据调用装置,其特征在于,包括:

数据采集模块,用于获取SO模块的接口数据,其中,所述接口数据包括对应应用层的类的名称,对应所述应用层的接口函数名称和对应所述应用层的签名信息;

模板建立模块,用于根据所述应用层的类的名称,对应所述应用层的接口函数名称和对应所述应用层的签名信息建立初始数据调用模板,包括用于将对应所述应用层的类的名称,对应所述应用层的接口函数名称和对应所述应用层的签名信息进行存储生成数据结构体;将所述数据结构体作为所述初始数据调用模板;

数据提取模块,用于根据调用所述接口数据的请求获取待调用函数参数;

检测模块,用于将所述初始数据调用模板存储至所述SO模块的预设接口内,对所述初始数据调用模板进行单一性检测,包括用于:定义第一宏命令:

#define CHECK_METHOD(classname,methodname,methodsig)\static bool bstatic_##methodid=AddMethod(classname,methodname,methodsig);\,其中,所述第一宏命令采用静态变量bstatic_##methodid,AddMethod为应用层提供数据的模块的预设接口名称,Classname为对应应用层的类的名称,methodname为对应所述应用层的接口函数名称,methodsig为对应所述应用层的签名信息,所述预设接口用于存储所述SO模块上除所述预设接口外的接口与所述应用层的数据调用方法,还用于对除所述预设接口外的接口与所述应用层的数据调用方法中是否存在相同的方法进行所述单一性检测;

生成模块,用于根据所述待调用函数参数与所述初始数据调用模板生成目标数据调用函数;

调用模块,用于基于所述目标数据调用函数完成对所述SO模块内数据的调用。

7.一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5中任一项所述的数据调用方法的步骤。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的数据调用方法的步骤。