本申请涉及计算机,尤其涉及一种sdk生成方法及装置。
背景技术:
1、随着人工智能技术的发展,开放平台应运而生,旨在开放各类应用程序接口(application programming interface,api),以供用户调用。开发者在平台上传自己的服务并生成服务对应的软件开发工具(software development kit,sdk),通常是由开发者手动生成或更新sdk。用户通过开放平台,可下载对应的sdk调用api。当api服务成指数级增长时,sdk手动生成效率低,多为重复性工作,出错率高。如何在开放平台中自动生成sdk成了一个很紧迫的需求。
技术实现思路
1、为解决上述问题,本发明提供一种sdk生成方法及装置,可在开放平台中自动生成sdk,有效降低人工成本,并避免由人工操作导致的错误。
2、为了实现上述目的,在第一方面,本发明实施例提供了一种sdk生成方法,该方法包括:
3、通过解析自定义注解的方式识别目标服务的api接口信息;
4、根据所述目标服务在开放平台的鉴权方式,为所述api接口信息添加认证授权方式;
5、将添加了认证授权方式的所述api接口信息分别存储于主数据库和多个从数据库;
6、接收第一用户发送的所述目标服务的sdk更新指令;
7、从所述主数据库解析出所述api接口信息,并根据所述api接口信息生成目标api接口信息文件;
8、确定所述目标api接口信息文件和上一次为所述第一用户生成所述目标服务对应的sdk时所用的历史api接口信息文件之间的第一差异内容;
9、利用所述开放平台的sdk模板引擎基于所述第一差异内容,为所述第一用户生成所述目标服务对应的目标sdk,所述目标sdk包括测试类调用样例。
10、优选的,所述通过解析自定义注解的方式识别目标服务的api接口信息,包括:监测所述目标服务的api代码是否发生变动;如果发生变动,则通过解析自定义注解的方式识别目标服务的api接口信息。
11、优选的,所述方法还包括:若所述目标服务的sdk有多个副本,则在所有的目标sdk生成完成前,为所述目标sdk加锁,以禁止目标sdk被再次修改;当所有的目标sdk生成完成后,释放目标sdk的锁。
12、优选的,所述方法包括:若在为所述第一用户生成所述目标服务对应的目标sdk时,接收到第二用户发送的所述目标服务的sdk更新指令,则等到为所述第一用户生成所述目标服务对应的目标sdk后,从所述主数据库解析出所述api接口信息,并根据所述api接口信息生成目标api接口信息文件;确定所述目标api接口信息文件和上一次为所述第二用户生成所述目标服务对应的sdk时所用的历史api接口信息文件之间的第二差异内容;利用所述开放平台的sdk模板引擎基于所述第二差异内容,为所述第二用户生成所述目标服务对应的目标sdk,所述目标sdk包括测试类调用样例。
13、优选的,所述方法还包括:若主数据库发生故障,则将多个从数据库中的一个数据库设置为主数据库;当故障的数据库修复后,设置为当前主数据库的从数据库。
14、优选的,所述方法还包括:按照访问样例周期性访问开放平台中各服务的sdk,当出现访问异常次数超过预设阈值的sdk时,输出预警信息。
15、在第二方面,本发明实施例提供了一种sdk生成装置,所述装置包括:
16、识别单元,用于通过解析自定义注解的方式识别目标服务的api接口信息;
17、添加单元,用于根据所述目标服务在开放平台的鉴权方式,为所述api接口信息添加认证授权方式;
18、存储单元,用于将添加了认证授权方式的所述api接口信息分别存储于主数据库和多个从数据库;
19、接收单元,用于接收第一用户发送的所述目标服务的sdk更新指令;
20、解析单元,用于从所述主数据库解析出所述api接口信息,并根据所述api接口信息生成目标api接口信息文件;
21、确定单元,确定所述目标api接口信息文件和上一次为所述第一用户生成所述目标服务对应的sdk时所用的历史api接口信息文件之间的第一差异内容;
22、生成单元,用于利用所述开放平台的sdk模板引擎基于所述第一差异内容,为所述第一用户生成所述目标服务对应的目标sdk,所述目标sdk包括测试类调用样例。
23、优选的,所述解析单元具体用于:监测所述目标服务的api代码是否发生变动;如果发生变动,则通过解析自定义注解的方式识别目标服务的api接口信息。
24、优选的,所述装置还包括:加锁单元,用于若所述目标服务的sdk有多个副本,则在所有的目标sdk生成完成前,为所述目标sdk加锁,以禁止目标sdk被再次修改;当所有的目标sdk生成完成后,释放目标sdk的锁。
25、优选的,所述解析单元还用于:若在为所述第一用户生成所述目标服务对应的目标sdk时,接收到第二用户发送的所述目标服务的sdk更新指令,则等到为所述第一用户生成所述目标服务对应的目标sdk后,从所述主数据库解析出所述api接口信息,并根据所述api接口信息生成目标api接口信息文件;所述确定单元,还用于确定所述目标api接口信息文件和上一次为所述第二用户生成所述目标服务对应的sdk时所用的历史api接口信息文件之间的第二差异内容;所述生成单元,还用于利用所述开放平台的sdk模板引擎基于所述第二差异内容,为所述第二用户生成所述目标服务对应的目标sdk,所述目标sdk包括测试类调用样例。
26、优选的,所述装置还包括:设置单元,用于若主数据库发生故障,则将多个从数据库中的一个数据库设置为主数据库;当故障的数据库修复后,设置为当前主数据库的从数据库。
27、优选的,所述装置还包括:预警单元,用于按照访问样例周期性访问开放平台中各服务的sdk,当出现访问异常次数超过预设阈值的sdk时,输出预警信息。
28、利用本发明提供的sdk生成方法及装置,通过解析自定义注解的方式识别目标服务的api接口信息,再根据所述目标服务在开放平台的鉴权方式,为api接口信息添加认证授权方式,并将添加了认证授权方式的api接口信息分别存储于主数据库和多个从数据库。当接收第一用户发送的目标服务的sdk更新指令时,从主数据库解析出api接口信息,并根据api接口信息生成目标api接口信息文件,然后确定该目标api接口信息文件和上一次为第一用户生成目标服务对应的sdk时所用的历史api接口信息文件之间的第一差异内容,之后利用开放平台的sdk模板引擎基于第一差异内容,为第一用户生成目标服务对应的目标sdk。可以看出,生成sdk的过程无需人工操作,可有效降低人工成本,并避免由人工操作导致的错误。
1.一种sdk生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过解析自定义注解的方式识别目标服务的api接口信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.一种sdk生成装置,其特征在于,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述解析单元具体用于:
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
10.根据权利要求7所述的装置,其特征在于,所述解析单元还用于:若在为所述第一用户生成所述目标服务对应的目标sdk时,接收到第二用户发送的所述目标服务的sdk更新指令,则等到为所述第一用户生成所述目标服务对应的目标sdk后,从所述主数据库解析出所述api接口信息,并根据所述api接口信息生成目标api接口信息文件;