一种调用应用程序接口函数的方法和设备技术

技术编号:24852649 阅读:22 留言:0更新日期:2020-07-10 19:06
本申请提供了一种调用应用程序接口函数的方法和设备,其中该方法包括:软件开发组件SDK进程创建调度线程;所述SDK进程建立函数封装数据库;驱动程序进程的当前驱动线程将应用程序接口API函数封装数据写入函数封装数据库;调度线程读取API函数封装数据的关键字部分的驱动线程标识,确定驱动线程标识对应新驱动线程,新建处理线程;处理线程读取API函数封装数据的键值部分的API函数索引以及输入参数,调用API函数索引对应的API函数处理输入参数。本申请实现了分离的驱动程序进程与SDK进程之间不需要通过IPC通信将被调用的API函数和输入函数发往SDK进程。

【技术实现步骤摘要】
一种调用应用程序接口函数的方法和设备
本申请涉及通信技术,具体地讲涉及一种调用应用程序接口函数的方法和设备。
技术介绍
通信设备的操作系统的用户态软件通常包括软件开发数据包(SoftwareDevelopmentKit,SDK)、驱动程序及各应用程序等软件程序。驱动程序通过调用SDK的应用程序接口(ApplicationProgramInterface,API)函数完成对交换芯片的读写设置。通信设备的操作系统中,如果驱动程序和SDK通过不同的进程执行,各驱动程序的进程将需要调用的SDKAPI函数发通过进程间通信(Inter-ProcessCommunication,IPC)送给SDK进程,SDK必须在当前被调用的SDKAPI函数完成处理后,才能调用下一个SDKAPI函数。这种方式的缺点在于,由于SDKAPI函数被调用的次数非常频繁,系统内部IPC开销大,会严重影响系统运行效率。为提高通信设备的操作系统运行效率,部分通信设备的操作系统中的驱动程序和SDK在一进程内执行,以此避免调用SDKAPI函数的大量进程间通信,提高系统效率。但本文档来自技高网...

【技术保护点】
1.一种调用应用程序接口函数的方法,其特征在于,包括:/n软件开发组件SDK进程创建调度线程;/n所述SDK进程建立函数封装数据库;/n驱动程序进程的当前驱动线程将应用程序接口API函数封装数据写入所述函数封装数据库;/n所述调度线程读取所述API函数封装数据的关键字部分的驱动线程标识,确定所述驱动线程标识对应新驱动线程,新建处理线程;/n所述处理线程读取所述API函数封装数据的键值部分的API函数索引以及输入参数,调用所述API函数索引对应的API函数处理所述输入参数。/n

【技术特征摘要】
1.一种调用应用程序接口函数的方法,其特征在于,包括:
软件开发组件SDK进程创建调度线程;
所述SDK进程建立函数封装数据库;
驱动程序进程的当前驱动线程将应用程序接口API函数封装数据写入所述函数封装数据库;
所述调度线程读取所述API函数封装数据的关键字部分的驱动线程标识,确定所述驱动线程标识对应新驱动线程,新建处理线程;
所述处理线程读取所述API函数封装数据的键值部分的API函数索引以及输入参数,调用所述API函数索引对应的API函数处理所述输入参数。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述处理线程将所述API函数处理所述输入参数产生的结果写为所述键值部分的输出参数;
所述处理处理线程将所述键值部分的处理状态设置为SDK进程处理完成;将系统时间写为所述键值部分的SDK进程处理完成时间。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述处理线程读取所述键值部分的删除方式;
所述处理线程读取的所述删除方式是处理线程删除,则从所述函数封装数据库中删除所述API函数封装数据。


4.根据权利要求2所述的方法,其特征在于,
所述驱动线程读取所述函数封装数据库中所述API函数封装数据的键值部分的输出参数;
所述驱动线程读取所述键值部分的删除方式;
所述处理线程读取的所述删除方式是驱动线程删除,从所述函数封装数据库中删除所述API函数封装数据。


5.根据权利要求1所述的方法,其特征在于,所述API函数索引对应连续调用的多个API函数。


6.根据权利要求1所述的方法,其特征在于,所述调度线程根据所述关键字部分的序列号确定所述驱动线程标识对应的所述驱动线程的API函数调用顺序。


7.根据权利要求1所述的方法,其特征在于,所述调度线程为所述处理线程设置超时时间,当所述处理线程的空闲时间超出所述超时时间,所述调度线程终止所述处理线程。


8.一种调用应用程序接口函数的设备存储介质,其特征在于,该设备包括处理器以及存储介质,所述处理器执行所述存储介质存储的指令执行以下步骤:
...

【专利技术属性】
技术研发人员:王明辉
申请(专利权)人:新华三信息安全技术有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1