一种制造技术

技术编号:39862664 阅读:7 留言:0更新日期:2023-12-30 12:55
本发明专利技术公开了一种

【技术实现步骤摘要】
一种SDK调用方法、装置、计算机设备及存储介质


[0001]本专利技术涉及计算机软件
,特别涉及一种
SDK
调用方法

装置

计算机设备及存储介质


技术介绍

[0002]在软件开发中,总需要调用各式各样的
SDK(
软件工具开发包
)
,而不同的
SDK
会有不同的输入参数及输出参数

如果
SDK
不稳定,在进程内调用时就可能造成进程崩溃

特别是对于系统资源消耗很大的
SDK
,前述缺陷更为明显

[0003]现有技术针对上述缺陷,一般会选择将该
SDK
调用做成跨进程的方式进行

但由于不同的接口有不同的输入输出参数,例如在
AI
处理模块的应用场景中,具体可以包含有图像的
AI
处理模块

文字的
AI
处理模块以及音频的
AI
处理模块等,这三种
AI
处理模块所输入的参数类型就完全不同

其中单论图像的
AI
处理,实际应用的模型也不尽相同,由此也会产生不同的输入与输出

例如在图像的
AI
处理中采用超分模型,其为单张图像输入以及单张图像输出,而如果采用交互式分割模型,则是一组坐标点加一张图输入以及单张图像输出;插帧模型,两个图片进,
N
张图片出

输入输出的参数不同的
SDK
都是不同的

[0004]因此如何提高
SDK
的适用性,以满足不同场景使用需求是本领域技术人员需要解决的问题


技术实现思路

[0005]本专利技术实施例提供了一种
SDK
调用方法

装置

计算机设备及存储介质,旨在提高
SDK
的适用性,以满足不同场景使用需求

[0006]第一方面,本专利技术实施例提供了一种
SDK
调用方法,包括:
[0007]获取目标任务,将所述任务拆分为任务描述和任务数据,并调用基于万能容器的固定接口对所述任务描述和任务数据进行输入;
[0008]判断所述目标任务是否为跨进程调用;
[0009]当判定所述目标任务为跨进程调用时,采用二进制封装的方式将所述任务描述和任务数据分别封装为任务描述包和任务数据包;
[0010]对所述任务描述包和任务数据包进行解包操作,并采用
SDK
调度器进行
SDK
调用;
[0011]当判定所述目标任务为进程内调用时,通过数据容器提取所述任务描述和任务数据,并采用
SDK
调度器进行
SDK
调用

[0012]第二方面,本专利技术实施例提供了一种
SDK
调用装置,包括:
[0013]固定输入单元,用于获取目标任务,将所述任务拆分为任务描述和任务数据,并调用基于万能容器的固定接口对所述任务描述和任务数据进行输入;
[0014]进程判断单元,用于判断所述目标任务是否为跨进程调用;
[0015]任务封装单元,用于当判定所述目标任务为跨进程调用时,采用二进制封装的方式将所述任务描述和任务数据分别封装为任务描述包和任务数据包;
[0016]第一调用单元,用于对所述任务描述包和任务数据包进行解包操作,并采用
SDK
调度器进行
SDK
调用;
[0017]第二调用单元,用于当判定所述目标任务为进程内调用时,通过数据容器提取所述任务描述和任务数据,并采用
SDK
调度器进行
SDK
调用

[0018]第三方面,本专利技术实施例提供了一种计算机设备,包括存储器

处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的
SDK
调用方法

[0019]第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的
SDK
调用方法

[0020]本专利技术实施例提供了一种
SDK
调用方法

装置

计算机设备及存储介质,该方法包括:获取目标任务,将所述任务拆分为任务描述和任务数据,并调用基于万能容器的固定接口对所述任务描述和任务数据进行输入;判断所述目标任务是否为跨进程调用;当判定所述目标任务为跨进程调用时,采用二进制封装的方式将所述任务描述和任务数据分别封装为任务描述包和任务数据包;对所述任务描述包和任务数据包进行解包操作,并采用
SDK
调度器进行
SDK
调用;当判定所述目标任务为进程内调用时,通过数据容器提取所述任务描述和任务数据,并采用
SDK
调度器进行
SDK
调用

本专利技术实施例将任务拆分任务描述
+
任务数据的形式,在跨进程调用时会分别将任务描述和任务数据封包成二进制包,然后以二进制流传到下一进程,如此可以提高
SDK
的适用性,以满足不同场景使用需求

并且,本实施例还通过固定接口实现任务描述和任务数据的输入和输出,这样可以进一步提高本实施例的适用性,使其能够满足更多场景需求

附图说明
[0021]为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0022]图1为本专利技术实施例提供了一种
SDK
调用方法的流程示意图;
[0023]图2为本专利技术实施例提供了一种
SDK
调用方法的原理示意图;
[0024]图3为本专利技术实施例提供了一种
SDK
调用方法的另一原理示意图;
[0025]图4为本专利技术实施例提供了一种
SDK
调用装置的示意性框图

具体实施方式
[0026]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例

基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种
SDK
调用方法,其特征在于,包括:获取目标任务,将所述任务拆分为任务描述和任务数据,并调用基于万能容器的固定接口对所述任务描述和任务数据进行输入;判断所述目标任务是否为跨进程调用;当判定所述目标任务为跨进程调用时,采用二进制封装的方式将所述任务描述和任务数据分别封装为任务描述包和任务数据包;对所述任务描述包和任务数据包进行解包操作,并采用
SDK
调度器进行
SDK
调用;当判定所述目标任务为进程内调用时,通过数据容器提取所述任务描述和任务数据,并采用
SDK
调度器进行
SDK
调用
。2.
根据权利要求1所述的
SDK
调用方法,其特征在于,所述对所述任务描述包和任务数据包进行解包操作,并采用
SDK
调度器进行
SDK
调用之后,包括:获取
SDK
调度器输出的第一初始结果状态和第一初始结果数据;利用封包器对所述第一初始结果状态和第一初始结果数据进行二进制封包处理,得到结果状态包和结果数据包;对所述结果状态包和结果数据包进行跨进程通信;对跨进程通信后的结果状态包和结果数据包进行解包处理,得到第一结果状态和第一结果数据并通过固定输出接口层输出
。3.
根据权利要求1所述的
SDK
调用方法,其特征在于,所述当判定所述目标任务为进程内调用时,通过数据容器提取所述任务描述和任务数据,并采用
SDK
调度器进行
SDK
调用之后,包括:获取
SDK
调度器输出的第二结果状态和第二结果数据并通过固定输出接口层输出
。4.
根据权利要求1所述的
SDK
调用方法,其特征在于,所述获取目标任务,将所述任务拆分为任务描述和任务数据,并调用基于万能容器的固定接口对所述任务描述和任务数据进行输入,包括:利用
Json
字符串对所述任务描述进行标识
。5.
根据权利要求4所述的
SDK
调用方法,其特征在于,所述利用
Json
字符串对所述任务描述进行标识,包括:获取所述目标任务的格式种类数量;若所述目标任务的格式为一种,则对单一格式的所述任务描述进行标识;若所述目标任务的格式为多种,...

【专利技术属性】
技术研发人员:王功华
申请(专利权)人:深圳牛学长科技有限公司
类型:发明
国别省市:

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

1