CN107291447B - 一种自动生成并发布sdk代码的方法 - Google Patents
一种自动生成并发布sdk代码的方法 Download PDFInfo
- Publication number
- CN107291447B CN107291447B CN201710347191.2A CN201710347191A CN107291447B CN 107291447 B CN107291447 B CN 107291447B CN 201710347191 A CN201710347191 A CN 201710347191A CN 107291447 B CN107291447 B CN 107291447B
- Authority
- CN
- China
- Prior art keywords
- application program
- standalone module
- program standalone
- requirements
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及SDK自动生成发布领域,具体公开了一种自动生成并发布SDK代码的方法,为了开放平台的API再使用过程中需要进行多次人工修改第三方验收而引起程序员的工作量大且第三方验收麻烦从而导致浪费人力的问题,本申请采用的技术方案是:生成模板应用程序独立模块,生成正式数据库,生成后期应用程序独立模块需求列表,生成软件开发包并更新缓存;采用上述方案实现了SDK代码自动生成发布,节省了人力和简化了生成发布过程,同时避免了人工编码过程中的错误。
Description
技术领域
本发明涉及SDK生成打包领域,特别的涉及一种自动生成SDK代码并打包且自动发布一体化方法。
背景技术
目前,互联网开发平台的使用越来越普及,开放平台上可以直接接入外部合理的API接口,所以开放平台会承担成百上千的API(可以视为应用程序的一部分可以独立存在的方法或函数,也直接称为应用程序独立模块)。通常根据第三方客户的需求整理成业务需求列表,根据业务需求列表整理成API列表整理(包括API名称,参数),API列表整理生成开放平台文档,再封装成SDK(Software Development Kit,SDK,也就是开发软件工具包)文档,进行后台测试,由第三方平台(即开放平台)验收并发布,用户可以直接访问开发平台上的SDK进行下载使用;但是业务需求列表需要不断的更新更改,对于的后续的SDK等生成均需要程序员进行修改,第三方平台同时也需要进行再次验收,同时修改之后,第三方平台会收到修改文档等进行相应的验证;这样流程繁琐,费时费力,与此同时,过程均依靠人力整个过程的效率低且出错率较高;同时在维护过程中,如果一旦出错,后期处理起来相当的繁琐;与此同时开发平台的类型不同(包括iOS,Windows,Linux,Android等),采用的编程语言不同,那么当每次修改API文档时候,均需要不同的编程人员进行相应的修改,编写更加的麻烦;那么如何简化开放平台的SDK生成发布的流程成为本领域人员棘手问题。
发明内容
本发明的目的在于:针对上述由于开放平台的API再使用过程中需要进行多次人工修改第三方验收而引起程序员的工作量大且第三方验收麻烦从而导致浪费人力的问题,本发明提供了一种可以自动生成并发布的SDK代码的方法。
本发明采用的技术方案如下:
一种自动生成并发布SDK代码的方法,包括以下步骤:
步骤一,生成模板应用程序独立模块
根据业务需求方的需求整理应用程序独立模块需求列表,并根据所述应用程序独立模块需求列表梳理开出发对应的模板应用程序独立模块;
步骤二,生成正式数据库
所述模板应用程序独立模块在开发平台管理后台上进行注册并将注册内容写入缓存;同时所述模板应用程序独立模块经过后台核心系统进行测试并将所述模板应用程序独立模块存入临时数据库,临时数据库内容获取权限之后也存入所述缓存,并将缓存内容写入正式数据库;
步骤三,生成后期应用程序独立模块需求列表
第三方平台提供应用程序独立模块文档,并依据所述应用程序独立模块文档在缓存中选用软件开发环境,并依据所述软件开发环境生成后期应用程序独立模块需求列表;并同时更新缓存;
步骤四,生成软件开发包
基于所述后期应用程序独立模块需求列表自动生成发布软件开发包,供第三方平台调用和用户下载使用,并将软件开发包写入缓存,并将更新的缓存内容写入正式数据库。
具体地,应用程序独立模块需求列表包括应用程序独立模块名称和应用程序独立模块参数。
具体地,步骤三中的生成后期应用程序独立模块需求列表包括以下子步骤:
(1)基于第三方平台提供的应用程序独立模块文档选择相应的软件开发环境;
(2)基于所述软件开发环境发出应用程序独立模块文档打包请求;
(3)基于所述应用程序独立模块文档打包请求生成应用程序独立模块请求列表。
具体地,步骤四中的生成软件开发包包括以下子步骤:
(1)基于后期应用程序独立模块需求列表生成元数据文件;
(2)所述元数据文件自动编译生成的符合第三方平台的相应的应用程序独立模块编译文件;
(3)将相应的应用程序独立模块编译文件嵌入相应的第三方平台的源代码工程中;
(4)将步骤(3)处理后的源代码工程文件自动打包供用户使用。
本申请先把API文档(也就是上述的应用程序独立模块文档)存到缓存,然后调用场景(场景就是上述的软件开发环境),发出第三方需要的API列表,在缓存中找到相应的API文档数据,再依据API文档数据找到获得各种语言的编译文件,再自动生成SDK并发布,与此同时将SDK包再更新至缓存中,实现自动生成和发布SDK的不断循环(缓存-生成SDK-发布SDK-缓存)过程。
其中,相应的第三方平台包括iOS,Windows,Linux,Android。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明将模板应用程序独立模块文档缓存,再根据第三方平台的应用程序独立模块列表在缓存中找到相应的应用程序独立模块文档数据,生成SDK并发布,并同时再更新缓存;实现了SDK的自动生成管理以及发布;减少了程序员的工作,同时减少了第三方平台的验收发布工作,同时减少了人为过程中出错的概率;使得整个SDK代码生成发布过程更加的智能化,准确化。
附图说明
图1是本发明自动生成并发布SDK代码的方法的流程图;
图2是本发明自动生成并发布SDK代码的方法的步骤图;
图3现有的生成并发布SDK代码的流程图;
具体实施方式
本发明提供了一种可以自动生成并发布的SDK代码的方法,将模板应用程序独立模块文档缓存,再根据第三方平台的应用程序独立模块列表在缓存中找到相应的应用程序独立模块文档数据,生成SDK并发布,并同时再更新缓存;实现了SDK的自动生成管理以及发布。
为了是本领域人员更好的理解本技术方案,下面将结合实例的附图以及技术方案进行描述。显然实施例只是其中的一部分实施例,基于本方案本领域人员能够在不付出劳动或等效替换的情况下做出的发明,均应属于本申请的保护范围内。
下面结合图1、图2、图3对本发明作详细说明。
实施例一
一种自动生成并发布SDK代码的方法,包括以下:
步骤S101,根据业务需求方开发出模板应用程序独立模块,
根据业务需求方的需求整理应用程序独立模块需求列表,并根据所述应用程序独立模块需求列表梳理开出发对应的模板应用程序独立模块;
步骤S102,将模板应用程序独立模块文档数据存入正式数据库,
模板应用程序独立模块在开发平台管理后台上进行注册并将注册内容写入缓存;同时模板应用程序独立模块经过后台核心系统进行测试并将所述模板应用程序独立模块存入临时数据库,临时数据库内容获取权限之后存入缓存,并将缓存内容写入正式数据库;
步骤S103,根据业务方应用程序独立模块文档生成后期应用程序独立模块需求列表,
基于第三方平台提供的应用程序独立模块文档选择相应的软件开发环境,基于所述软件开发环境发出应用程序独立模块文档打包请求,基于所述应用程序独立模块文档打包请求生成应用程序独立模块请求列表;
步骤S104,基于应用程序独立模块需求列表生成软件开发包并发布,
基于后期应用程序独立模块需求列表生成元数据文件;元数据文件自动编译生成的符合第三方平台的相应的应用程序独立模块编译文件;将相应的应用程序独立模块编译文件嵌入相应的第三方平台的源代码工程中;将源代码工程文件自动打包生成供第三方调用,自动发布之后供用户下载使用。
步骤S105,更新缓存内容,并将缓存内容写入正式数据库,
将S103生成的应用程序独立模块请求列表,S104生成的SDK写入缓存,更新缓存,并将更新之后的缓存内容存入正式数据库中,供后期调用。
Claims (4)
1.一种自动生成并发布SDK代码的方法,其特征在于,包括:
步骤一,生成模板应用程序独立模块
根据业务需求方的需求整理应用程序独立模块需求列表,并根据所述应用程序独立模块需求列表梳理开出发对应的模板应用程序独立模块;
步骤二,生成正式数据库
所述模板应用程序独立模块在开发平台管理后台上进行注册并将注册内容写入缓存;所述模板应用程序独立模块经过后台核心系统进行测试并将所述模板应用程序独立模块存入临时数据库,临时数据库内容获取权限之后存入所述缓存,并将缓存内容写入正式数据库;
步骤三,生成后期应用程序独立模块需求列表
第三方平台提供应用程序独立模块文档,并依据所述应用程序独立模块文档在缓存中选用软件开发环境,并依据所述软件开发环境生成后期应用程序独立模块需求列表;
步骤四,生成软件开发包并更新缓存
基于所述后期应用程序独立模块需求列表自动生成发布软件开发包,供第三方平台调用和用户下载使用,并将软件开发包写入缓存,并将更新的缓存内容写入正式数据库。
2.如权利要求1所述的一种自动生成并发布SDK代码的方法,其特征在于,应用程序独立模块需求列表包括应用程序独立模块名称和应用程序独立模块参数。
3.如权利要求1所述的一种自动生成并发布SDK代码的方法,其特征在于,步骤三中的生成后期应用程序独立模块需求列表包括以下子步骤:
(1)基于第三方平台提供的应用程序独立模块文档选择相应的软件开发环境;
(2)基于所述软件开发环境发出应用程序独立模块文档打包请求;
(3)基于所述应用程序独立模块文档打包请求生成应用程序独立模块请求列表。
4.如权利要求1所述的一种自动生成并发布SDK代码的方法,其特征在于,步骤四中的生成软件开发包包括以下子步骤:
(1)基于后期应用程序独立模块需求列表生成元数据文件;
(2)所述元数据文件自动编译生成的符合第三方平台的相应的应用程序独立模块编译文件;
(3)将相应的应用程序独立模块编译文件嵌入相应的第三方平台的源代码工程中;
(4)将步骤(3)处理后的源代码工程文件自动打包供用户使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710347191.2A CN107291447B (zh) | 2017-05-17 | 2017-05-17 | 一种自动生成并发布sdk代码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710347191.2A CN107291447B (zh) | 2017-05-17 | 2017-05-17 | 一种自动生成并发布sdk代码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107291447A CN107291447A (zh) | 2017-10-24 |
CN107291447B true CN107291447B (zh) | 2018-09-07 |
Family
ID=60094244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710347191.2A Active CN107291447B (zh) | 2017-05-17 | 2017-05-17 | 一种自动生成并发布sdk代码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107291447B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885492B (zh) * | 2017-11-14 | 2021-03-12 | 中国银行股份有限公司 | 主机中数据结构动态生成的方法及装置 |
CN108647033B (zh) * | 2018-04-03 | 2021-06-29 | 四川新网银行股份有限公司 | 一种开放平台的sdk自动打包方法 |
CN111610965A (zh) * | 2020-05-20 | 2020-09-01 | 浩云科技股份有限公司 | 一种门禁平台的标准sdk制定方法及装置 |
CN112965705A (zh) * | 2021-03-10 | 2021-06-15 | 中国民航信息网络股份有限公司 | 微服务接口的发布方法、装置、电子设备和存储介质 |
CN113392388B (zh) * | 2021-05-19 | 2023-05-09 | 杭州宇泛智能科技有限公司 | 终端、云端校验自主定制服务的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763626A (zh) * | 2016-04-11 | 2016-07-13 | 苏州云清伟业网络科技有限公司 | 适用于应用客户端支付的sdk初始化方法 |
CN105913233A (zh) * | 2016-04-11 | 2016-08-31 | 苏州云清伟业网络科技有限公司 | 适用于应用客户端支付的sdk处理方法 |
CN106059844A (zh) * | 2016-08-17 | 2016-10-26 | 洑云龙 | 一种客户端热更新方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9619779B2 (en) * | 2011-08-26 | 2017-04-11 | Apple Inc. | Client-side policy enforcement of developer API use |
US8813028B2 (en) * | 2012-07-19 | 2014-08-19 | Arshad Farooqi | Mobile application creation system |
US9489247B2 (en) * | 2015-02-17 | 2016-11-08 | Amazon Technologies, Inc. | Context sensitive framework for providing data from relevant applications |
CA3019911A1 (en) * | 2015-07-27 | 2017-02-02 | Datagrid Systems, Inc. | Techniques for evaluating server system reliability, vulnerability and component compatibility using crowdsourced server and vulnerability data |
-
2017
- 2017-05-17 CN CN201710347191.2A patent/CN107291447B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763626A (zh) * | 2016-04-11 | 2016-07-13 | 苏州云清伟业网络科技有限公司 | 适用于应用客户端支付的sdk初始化方法 |
CN105913233A (zh) * | 2016-04-11 | 2016-08-31 | 苏州云清伟业网络科技有限公司 | 适用于应用客户端支付的sdk处理方法 |
CN106059844A (zh) * | 2016-08-17 | 2016-10-26 | 洑云龙 | 一种客户端热更新方法 |
Non-Patent Citations (1)
Title |
---|
android SDK热修复机制简析以实现;chunqiuwei;《https://blog.csdn.net/chunqiuwei/article/details/53066360》;20160117;1-2页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107291447A (zh) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291447B (zh) | 一种自动生成并发布sdk代码的方法 | |
CN109491695B (zh) | 一种集成安卓应用的增量更新方法 | |
CN103955363B (zh) | 一种程序升级安装包的制作方法 | |
US11194550B2 (en) | System and method for migrating legacy software to a system common architecture | |
CN103309683B (zh) | 硬件设备的软件补丁嵌入方法及装置 | |
CN107589947A (zh) | 一种sdk接入方法、客户端及系统 | |
CN107506219A (zh) | 一种基于Android系统的通用版本升级方法 | |
KR20170078802A (ko) | 소스 코드 파일을 업데이트하는 시스템 및 방법 | |
US20140282372A1 (en) | Code separation with semantic guarantees | |
CN103701930A (zh) | 一种移动应用程序的实时更新方法及系统 | |
CN107168749A (zh) | 一种编译方法、装置、设备和计算机可读存储介质 | |
CN100511143C (zh) | 安装包生成装置及方法、以及安装进度传递方法 | |
CN106293756A (zh) | 一种用于快速更换的自定义Linux内核系统 | |
CN109324799A (zh) | 一种代码编译方法、计算机装置及计算机可读存储介质 | |
CN104298534B (zh) | 基于Lua语言的编程方法和装置 | |
CN105867973A (zh) | 应用程序中so文件的加载方法及系统 | |
CN106528150A (zh) | 一种j2ee项目的开发方法及开发平台 | |
CN105487909B (zh) | 一种减少电力设备固件升级量的方法 | |
CN109032631A (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
CN107508846B (zh) | 应用客户端的更新方法和系统及终端设备 | |
CN110764839A (zh) | 一种业务处理流程配置方法、业务请求处理方法及装置 | |
CN106569880A (zh) | 一种Android应用间动态共享资源的方法及系统 | |
CN109344619A (zh) | 应用程序的热修复方法和装置 | |
CN105260169A (zh) | 一种跨平台移植python程序的方法及装置 | |
CN104133699A (zh) | 设备系统软件升级方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |