公开了一种SDK生成方法及装置。该方法包括:通过解析自定义注解的方式识别目标服务的API接口信息;根据目标服务在开放平台的鉴权方式,为API接口信息添加认证授权方式;将添加了认证授权方式的API接口信息分别存储于主数据库和多个从数据库;接收第一用户发送的目标服务的SDK更新指令;从主数据库解析出API接口信息,并根据API接口信息生成目标API接口信息文件;确定目标API接口信息文件和上一次为第一用户生成目标服务对应的SDK时所用的历史API接口信息文件之间的第一差异内容;利用开放平台的SDK模板引擎基于第一差异内容,为第一用户生成目标服务对应的目标SDK,目标SDK包括测试类调用样例。括测试类调用样例。括测试类调用样例。
【技术实现步骤摘要】
SDK生成方法及装置
[0001]本申请涉及计算机
,尤其涉及一种SDK生成方法及装置。
技术介绍
[0002]随着人工智能技术的发展,开放平台应运而生,旨在开放各类应用程序接口(Application Programming Interface,API),以供用户调用。开发者在平台上传自己的服务并生成服务对应的软件开发工具(Software Development Kit,SDK),通常是由开发者手动生成或更新SDK。用户通过开放平台,可下载对应的SDK调用API。当API服务成指数级增长时,SDK手动生成效率低,多为重复性工作,出错率高。如何在开放平台中自动生成SDK成了一个很紧迫的需求。
技术实现思路
[0003]为解决上述问题,本专利技术提供一种SDK生成方法及装置,可在开放平台中自动生成SDK,有效降低人工成本,并避免由人工操作导致的错误。
[0004]为了实现上述目的,在第一方面,本专利技术实施例提供了一种SDK生成方法,该方法包括:
[0005]通过解析自定义注解的方式识别目标服务的API接口信息;
[0006]根据所述目标服务在开放平台的鉴权方式,为所述API接口信息添加认证授权方式;
[0007]将添加了认证授权方式的所述API接口信息分别存储于主数据库和多个从数据库;
[0008]接收第一用户发送的所述目标服务的SDK更新指令;
[0009]从所述主数据库解析出所述API接口信息,并根据所述API接口信息生成目标API接口信息文件;
[0010]确定所述目标API接口信息文件和上一次为所述第一用户生成所述目标服务对应的SDK时所用的历史API接口信息文件之间的第一差异内容;
[0011]利用所述开放平台的SDK模板引擎基于所述第一差异内容,为所述第一用户生成所述目标服务对应的目标SDK,所述目标SDK包括测试类调用样例。
[0012]优选的,所述通过解析自定义注解的方式识别目标服务的API接口信息,包括:监测所述目标服务的API代码是否发生变动;如果发生变动,则通过解析自定义注解的方式识别目标服务的API接口信息。
[0013]优选的,所述方法还包括:若所述目标服务的SDK有多个副本,则在所有的目标SDK生成完成前,为所述目标SDK加锁,以禁止目标SDK被再次修改;当所有的目标SDK生成完成后,释放目标SDK的锁。
[0014]优选的,所述方法包括:若在为所述第一用户生成所述目标服务对应的目标SDK时,接收到第二用户发送的所述目标服务的SDK更新指令,则等到为所述第一用户生成所述
目标服务对应的目标SDK后,从所述主数据库解析出所述API接口信息,并根据所述API接口信息生成目标API接口信息文件;确定所述目标API接口信息文件和上一次为所述第二用户生成所述目标服务对应的SDK时所用的历史API接口信息文件之间的第二差异内容;利用所述开放平台的SDK模板引擎基于所述第二差异内容,为所述第二用户生成所述目标服务对应的目标SDK,所述目标SDK包括测试类调用样例。
[0015]优选的,所述方法还包括:若主数据库发生故障,则将多个从数据库中的一个数据库设置为主数据库;当故障的数据库修复后,设置为当前主数据库的从数据库。
[0016]优选的,所述方法还包括:按照访问样例周期性访问开放平台中各服务的SDK,当出现访问异常次数超过预设阈值的SDK时,输出预警信息。
[0017]在第二方面,本专利技术实施例提供了一种SDK生成装置,所述装置包括:
[0018]识别单元,用于通过解析自定义注解的方式识别目标服务的API接口信息;
[0019]添加单元,用于根据所述目标服务在开放平台的鉴权方式,为所述API接口信息添加认证授权方式;
[0020]存储单元,用于将添加了认证授权方式的所述API接口信息分别存储于主数据库和多个从数据库;
[0021]接收单元,用于接收第一用户发送的所述目标服务的SDK更新指令;
[0022]解析单元,用于从所述主数据库解析出所述API接口信息,并根据所述API接口信息生成目标API接口信息文件;
[0023]确定单元,确定所述目标API接口信息文件和上一次为所述第一用户生成所述目标服务对应的SDK时所用的历史API接口信息文件之间的第一差异内容;
[0024]生成单元,用于利用所述开放平台的SDK模板引擎基于所述第一差异内容,为所述第一用户生成所述目标服务对应的目标SDK,所述目标SDK包括测试类调用样例。
[0025]优选的,所述解析单元具体用于:监测所述目标服务的API代码是否发生变动;如果发生变动,则通过解析自定义注解的方式识别目标服务的API接口信息。
[0026]优选的,所述装置还包括:加锁单元,用于若所述目标服务的SDK有多个副本,则在所有的目标SDK生成完成前,为所述目标SDK加锁,以禁止目标SDK被再次修改;当所有的目标SDK生成完成后,释放目标SDK的锁。
[0027]优选的,所述解析单元还用于:若在为所述第一用户生成所述目标服务对应的目标SDK时,接收到第二用户发送的所述目标服务的SDK更新指令,则等到为所述第一用户生成所述目标服务对应的目标SDK后,从所述主数据库解析出所述API接口信息,并根据所述API接口信息生成目标API接口信息文件;所述确定单元,还用于确定所述目标API接口信息文件和上一次为所述第二用户生成所述目标服务对应的SDK时所用的历史API接口信息文件之间的第二差异内容;所述生成单元,还用于利用所述开放平台的SDK模板引擎基于所述第二差异内容,为所述第二用户生成所述目标服务对应的目标SDK,所述目标SDK包括测试类调用样例。
[0028]优选的,所述装置还包括:设置单元,用于若主数据库发生故障,则将多个从数据库中的一个数据库设置为主数据库;当故障的数据库修复后,设置为当前主数据库的从数据库。
[0029]优选的,所述装置还包括:预警单元,用于按照访问样例周期性访问开放平台中各
服务的SDK,当出现访问异常次数超过预设阈值的SDK时,输出预警信息。
[0030]利用本专利技术提供的SDK生成方法及装置,通过解析自定义注解的方式识别目标服务的API接口信息,再根据所述目标服务在开放平台的鉴权方式,为API接口信息添加认证授权方式,并将添加了认证授权方式的API接口信息分别存储于主数据库和多个从数据库。当接收第一用户发送的目标服务的SDK更新指令时,从主数据库解析出API接口信息,并根据API接口信息生成目标API接口信息文件,然后确定该目标API接口信息文件和上一次为第一用户生成目标服务对应的SDK时所用的历史API接口信息文件之间的第一差异内容,之后利用开放平台的SDK模板引擎基于第一差异内容,为第一用户生成目标服务对应的目标SDK。可以看出,生成SDK的过程无需人工操作,可有效降低人工成本,并避免由人工操作导致的错误。
附图说明
本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种SDK生成方法,其特征在于,所述方法包括:通过解析自定义注解的方式识别目标服务的API接口信息;根据所述目标服务在开放平台的鉴权方式,为所述API接口信息添加认证授权方式;将添加了认证授权方式的所述API接口信息分别存储于主数据库和多个从数据库;接收第一用户发送的所述目标服务的SDK更新指令;从所述主数据库解析出所述API接口信息,并根据所述API接口信息生成目标API接口信息文件;确定所述目标API接口信息文件和上一次为所述第一用户生成所述目标服务对应的SDK时所用的历史API接口信息文件之间的第一差异内容;利用所述开放平台的SDK模板引擎基于所述第一差异内容,为所述第一用户生成所述目标服务对应的目标SDK,所述目标SDK包括测试类调用样例。2.根据权利要求1所述的方法,其特征在于,所述通过解析自定义注解的方式识别目标服务的API接口信息,包括:监测所述目标服务的API代码是否发生变动;如果发生变动,则通过解析自定义注解的方式识别目标服务的API接口信息。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述目标服务的SDK有多个副本,则在所有的目标SDK生成完成前,为所述目标SDK加锁,以禁止目标SDK被再次修改;当所有的目标SDK生成完成后,释放目标SDK的锁。4.根据权利要求1所述的方法,其特征在于,所述方法包括:若在为所述第一用户生成所述目标服务对应的目标SDK时,接收到第二用户发送的所述目标服务的SDK更新指令,则等到为所述第一用户生成所述目标服务对应的目标SDK后,从所述主数据库解析出所述API接口信息,并根据所述API接口信息生成目标API接口信息文件;确定所述目标API接口信息文件和上一次为所述第二用户生成所述目标服务对应的SDK时所用的历史API接口信息文件之间的第二差异内容;利用所述开放平台的SDK模板引擎基于所述第二差异内容,为所述第二用户生成所述目标服务对应的目标SDK,所述目标SDK包括测试类调用样例。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:若主数据库发生故障,则将多个从数据库中的一个数据库设置为主数据库;当故障的数据库修复后,设置为当前主数据库的从数据库。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:按照访...
【专利技术属性】
技术研发人员:苏迪,白雪珂,林文辉,王志刚,周辉,潘厚玉,程雪建,
申请(专利权)人:安徽航天信息有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。