CN107566472A - 一种apk自动维护实现方法 - Google Patents

一种apk自动维护实现方法 Download PDF

Info

Publication number
CN107566472A
CN107566472A CN201710743484.2A CN201710743484A CN107566472A CN 107566472 A CN107566472 A CN 107566472A CN 201710743484 A CN201710743484 A CN 201710743484A CN 107566472 A CN107566472 A CN 107566472A
Authority
CN
China
Prior art keywords
apk
information
xml
upload
file
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.)
Granted
Application number
CN201710743484.2A
Other languages
English (en)
Other versions
CN107566472B (zh
Inventor
闫立鑫
吴上波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201710743484.2A priority Critical patent/CN107566472B/zh
Publication of CN107566472A publication Critical patent/CN107566472A/zh
Application granted granted Critical
Publication of CN107566472B publication Critical patent/CN107566472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种APK自动维护实现方法,包括如下步骤:步骤1、利用FTP作为APK在上传文件服务器源地址;步骤2、通过xml管控每一个APK的详细信息;步骤3、通过定时任务实现APK上传过程和APK上传失败重新上传过程;步骤4、利用HTTP流式处理解决平台之间APK不兼容问题。本发明将APK维护过程自动化、程序化和批量化,极大缩短了维护时间,通过xml管控APK版本信息,过程中避免了人为管控出现的漏洞和错误,提高了下发效率。

Description

一种APK自动维护实现方法
技术领域
本发明涉及一种APK信息维护的方法,具体涉及一种APK自动维护实现方法,属于网络应用管理技术领域。
背景技术
各大厂商竞争,需要不断软件产品版本的迭代,版本迭代需要APK升级,来满足用户的需求,增加产品的竞争力。在进行全国APK升级过程之前,需要对下发的APK进行管控和集中维护,人为方式维护易导致APK信息录入错误率上升,易导致该机器APK版本之间不兼容,大量的APK升级,用人为方式维护时间周期变长,效率低,易导致全国升级被延误,因此一种自动APK维护显得格外重要。
不直接将APK上传到文件服务器是因为每一个APK信息没有共享,上传到文件服务器只有所有者知道,而电视上APK不是单独,是互相关联,这种直接上传造成了彼此APK不兼容,单独上传效率低下;所以才有FTP作为上传过程中中转站:方便开发者利用工具可以将编译好的APK直接上传到FTP服务器,方便集中管理,避免版本兼容问题通过文件夹嵌套实现第一个维度对APK信息管理,可以表明apk所属的机芯和对应的版本和所属的是系统apk和应用apk这两种类型。嵌套层级为根目录、机芯、版本、xml和apk类型(Systemapp、Dataapp)、APK电视作用域、对应apk。
发明内容
本发明的目的在于克服现有技术中手动维护慢、易出错、难批量、版本不兼容的问题,提供了一种效率高的APK自动维护实现方法。
本发明是这样实现的:
一种APK自动维护实现方法,包括如下步骤:
步骤1、利用FTP作为APK在上传文件服务器源地址;
步骤2、通过xml管控每一个APK的详细信息;
步骤3、通过定时任务实现APK上传过程和APK上传失败重新上传过程;
步骤4、利用HTTP流式处理解决平台之间APK不兼容问题。
更进一步的方案是:
所述APK文件按照所属机芯、机芯版本用嵌套的文件夹名表示,文件夹下一层存放APK的名字、APK版本号、MD5、以及APK对应的存放文件夹目录的XML信息,同级目录下有存有系统APK和应用APK的文件夹。
更进一步的方案是:
步骤1中,在FTP服务器下载操作完成之后,给FTP服务器返回一个命令,激活21端口,重置超时时间、文件类型设置为二进制式。
更进一步的方案是:
通过xml管控每一个APK的详细信息,是XML包含机芯和版本对应的一系列的APK的名字,存放地址,包名,MD5值,自身版本名字,即XML相当于APK信息集中管理者和上传过程中APK信息依据。
更进一步的方案是:
APK上传过程和APK上传失败重新上传过程,具体为:
遍历根目录,获取到根目录的文件信息列表,依次遍历该列表,取得下一级文件信息列表,依次遍历该列表,下载XML,解析XML文件,遍历是否到结束标记,根据XML中信息,判断是否需要下载,如果在数据库中已经记录该APK信息,无需下载,否则下载,下载完成记录该APK的信息以及下载状态,下载成功的利用http表单请求方法将APK上传到文件服务器,上传完成则记录该APK信息的上传状态,根据返回信息成功失败和md5校验,判断该APK是否被篡改,成功是否都需记录状态,判断下载的数量是否等于上传的数量是否等于更新的数量,用以判断该机芯、机芯版本下APK上传是否成功;
定时查找上传失败的APK信息,重复上述过程:根据上传成功的数量和之前失败的数量进行对比,若相等则判断该过程成功,否则失败。
更进一步的方案是:
步骤4、利用HTTP流式处理解决平台之间APK不兼容问题,具体为:
FTP服务器到文件服务器,使用FTP的BINARY类型避免FTP到文件服务器APK不兼容问题;通过嵌套的文件名信息和XML记录的信息,首次校验APK信息,通过HTTP表单格式上传,文件服务器端进行签名验证,以及已成功签名的返回的MD5,第二次校验该APK是否唯一、信息是否正确,判断上传成功,整个过程通过非关系MongoDB数据记录,包含记录机芯、版本、对应APK的信息、APK总数、成功上传数量的记录表t_folder,以及记录APK信息包含存放地址、XML的名字、MD5、版本号;t_original_apk表则记录上传成功APK信息;通过两个表信息实现APK第三个维度信息管理。
更进一步的方案是:
所述t_original_apk表,数据结构如下:
t_original_apk表数据结构
属性 类型 长度 说明
apkname String 应用名
pkgname String 包名
size long 文件大小
versionCode String 版本号
versionName String 版本
md5 String apk的md5值
fileurl String apk在FTP的url
jixin String 机芯。
更进一步的方案是:
所述t_folder表,数据结构如下:
t_folder表数据结构
所述ApkRecord,数据结构如下:
本发明将APK维护过程自动化、程序化和批量化,极大缩短了维护时间,通过xml管控APK版本信息,过程中避免了人为管控出现的漏洞和错误,提高了下发效率。
附图说明
图1是apk自动同步处理流程流程图。
图2是apk同步过程中出现了失败处理流程图。
具体实施方式
(1)APK文件按照所属机芯、机芯版本用嵌套的文件夹名表示,下一层存放APK的名字、APK版本号、MD5、以及APK对应的存放文件夹目录的XML信息,同级目录下有存有系统APK和应用APK的文件夹;
(2)连接到FTP服务器,FTP服务器长时间下载或操作多个文件,导致超时断开连接。可以在下载操作完成之后,给服务器返回一个命令,激活21端口,重置超时时间、文件类型设置为二进制式。
(3)遍历根目录,获取到根目录的文件信息列表,依次遍历该列表,取得下一级文件信息列表,依次遍历该列表,下载XML,解析XML文件,遍历是否到结束标记,根据XML中信息,判断是否需要下载,如果在数据库中已经记录该APK信息,无需下载,否则下载,下载完成记录该APK的信息以及下载状态,下载成功的利用http表单请求方法将APK上传到文件服务器,上传完成则记录该APK信息的上传状态,根据返回信息成功失败和md5校验,判断该APK是否被篡改,成功是否都需记录状态,判断下载的数量是否等于上传的数量是否等于更新的数量,判断该机芯、机芯版本下APK上传是否成功,流程图1表示该过程;定时查找上传失败的APK信息,重复上述过程,根据上传成功的数量和之前失败的数量进行对比,若相等则判断该过程成功,否则失败,图2表示APK同步过程失败的处理机制。
(4)设计到表t_original_apk和t_folder,分别是APK原始信息记录表以及对应机芯和版本下APK上传过程表
t_original_apk表数据结构
属性 类型 长度 说明
apkname String 应用名
pkgname String 包名
size long 文件大小
versionCode String 版本号
versionName String 版本
md5 String apk的md5值
fileurl String apk在FTP的url
jixin String 机芯。
t_folder表数据结构
ApkRecord数据结构
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。

Claims (9)

1.一种APK自动维护实现方法,其特征在于包括如下步骤:
步骤1、利用FTP作为APK在上传文件服务器源地址;
步骤2、通过xml管控每一个APK的详细信息;
步骤3、通过定时任务实现APK上传过程和APK上传失败重新上传过程;
步骤4、利用HTTP流式处理解决平台之间APK不兼容问题。
2.根据权利要求1所述APK自动维护实现方法,其特征在于:
所述APK文件按照所属机芯、机芯版本用嵌套的文件夹名表示,文件夹下一层存放APK的名字、APK版本号、MD5、以及APK对应的存放文件夹目录的XML信息,同级目录下有存有系统APK和应用APK的文件夹。
3.根据权利要求2所述APK自动维护实现方法,其特征在于:
步骤1中,在FTP服务器下载操作完成之后,给FTP服务器返回一个命令,激活21端口,重置超时时间、文件类型设置为二进制式。
4.根据权利要求2所述APK自动维护实现方法,其特征在于:
通过xml管控每一个APK的详细信息,是XML包含机芯和版本对应的一系列的APK的名字,存放地址,包名,MD5值,自身版本名字,即XML相当于APK信息集中管理者和上传过程中APK信息依据。
5.根据权利要求2所述APK自动维护实现方法,其特征在于:
APK上传过程和APK上传失败重新上传过程,具体为:
遍历根目录,获取到根目录的文件信息列表,依次遍历该列表,取得下一级文件信息列表,依次遍历该列表,下载XML,解析XML文件,遍历是否到结束标记,根据XML中信息,判断是否需要下载,如果在数据库中已经记录该APK信息,无需下载,否则下载,下载完成记录该APK的信息以及下载状态,下载成功的利用http表单请求方法将APK上传到文件服务器,上传完成则记录该APK信息的上传状态,根据返回信息成功失败和md5校验,判断该APK是否被篡改,成功是否都需记录状态,判断下载的数量是否等于上传的数量是否等于更新的数量,用以判断该机芯、机芯版本下APK上传是否成功;
定时查找上传失败的APK信息,重复上述过程:根据上传成功的数量和之前失败的数量进行对比,若相等则判断该过程成功,否则失败。
6.根据权利要求2所述APK自动维护实现方法,其特征在于:
步骤4、利用HTTP流式处理解决平台之间APK不兼容问题,具体为:
FTP服务器到文件服务器,使用FTP的BINARY类型避免FTP到文件服务器APK不兼容问题;通过嵌套的文件名信息和XML记录的信息,首次校验APK信息,通过HTTP表单格式上传,文件服务器端进行签名验证,以及已成功签名的返回的MD5,第二次校验该APK是否唯一、信息是否正确,判断上传成功,整个过程通过非关系MongoDB数据记录,包含记录机芯、版本、对应APK的信息、APK总数、成功上传数量的记录表t_folder,以及记录APK信息包含存放地址、XML的名字、MD5、版本号;t_original_apk表则记录上传成功APK信息;通过两个表信息实现APK第三个维度信息管理。
7.根据权利要求6所述APK自动维护实现方法,其特征在于:
所述t_original_apk表,数据结构如下:
t_original_apk表数据结构
属性 类型 长度 说明 apkname String 应用名 pkgname String 包名 size long 文件大小 versionCode String 版本号 versionName String 版本 md5 String apk的md5值 fileurl String apk在FTP的url jixin String 机芯。
8.根据权利要求6所述APK自动维护实现方法,其特征在于:
所述t_folder表,数据结构如下:
t_folder表数据结构
9.根据权利要求8所述APK自动维护实现方法,其特征在于:
所述ApkRecord,数据结构如下:
CN201710743484.2A 2017-08-25 2017-08-25 一种apk自动维护实现方法 Active CN107566472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710743484.2A CN107566472B (zh) 2017-08-25 2017-08-25 一种apk自动维护实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710743484.2A CN107566472B (zh) 2017-08-25 2017-08-25 一种apk自动维护实现方法

Publications (2)

Publication Number Publication Date
CN107566472A true CN107566472A (zh) 2018-01-09
CN107566472B CN107566472B (zh) 2020-09-29

Family

ID=60977028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710743484.2A Active CN107566472B (zh) 2017-08-25 2017-08-25 一种apk自动维护实现方法

Country Status (1)

Country Link
CN (1) CN107566472B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408076A (zh) * 2018-10-22 2019-03-01 海南新软软件有限公司 一种app批量发版方法、装置及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102196004A (zh) * 2010-03-12 2011-09-21 新奥特(北京)视频技术有限公司 一种远程素材文件的管理方法和系统
CN103747338A (zh) * 2013-12-24 2014-04-23 广东九联科技股份有限公司 一种基于android系统机顶盒的应用切换方法
US20150113040A1 (en) * 2013-10-21 2015-04-23 Openwave Mobility Inc. Method, apparatus and computer program for modifying messages in a communications network
CN105205074A (zh) * 2014-06-25 2015-12-30 优视科技有限公司 文件增量升级方法及系统
CN105446873A (zh) * 2014-09-01 2016-03-30 中国科学院深圳先进技术研究院 基于android平台的APK软件自动测试方法及系统
CN106843880A (zh) * 2017-01-20 2017-06-13 广东欧珀移动通信有限公司 Android安装包APK的定制方法、装置及服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102196004A (zh) * 2010-03-12 2011-09-21 新奥特(北京)视频技术有限公司 一种远程素材文件的管理方法和系统
US20150113040A1 (en) * 2013-10-21 2015-04-23 Openwave Mobility Inc. Method, apparatus and computer program for modifying messages in a communications network
CN103747338A (zh) * 2013-12-24 2014-04-23 广东九联科技股份有限公司 一种基于android系统机顶盒的应用切换方法
CN105205074A (zh) * 2014-06-25 2015-12-30 优视科技有限公司 文件增量升级方法及系统
CN105446873A (zh) * 2014-09-01 2016-03-30 中国科学院深圳先进技术研究院 基于android平台的APK软件自动测试方法及系统
CN106843880A (zh) * 2017-01-20 2017-06-13 广东欧珀移动通信有限公司 Android安装包APK的定制方法、装置及服务器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408076A (zh) * 2018-10-22 2019-03-01 海南新软软件有限公司 一种app批量发版方法、装置及系统

Also Published As

Publication number Publication date
CN107566472B (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
CN105119973B (zh) 用户信息处理方法和服务器
CN105808274A (zh) 软件升级方法、系统及对应的客户端与服务器
CN105653329A (zh) 一种应用管理的方法、装置及系统
CN105808273B (zh) 软件升级方法和软件升级装置
CN109445837A (zh) 一种应用程序的发布方法及设备
CN103544030A (zh) 软件升级方法、软件升级系统及智能终端
CN110262820A (zh) 基于mqtt协议实现ota升级的方法、装置、系统与存储介质
CN102375744B (zh) 一种网络电视升级方法
CN109614131A (zh) 一种广播设备升级控制系统
CN108848418A (zh) 机顶盒集中升级方法
CN112817867A (zh) 一种接口测试脚本生成方法、装置、计算机设备和介质
CN110308923A (zh) 一种ota升级的测试方法及其系统
CN109977008A (zh) 一种应用程序依赖的js代码与原生库兼容的方法及终端
CN107404389A (zh) 业务部署方法、装置和系统
CN107566472A (zh) 一种apk自动维护实现方法
CN106850724A (zh) 数据推送方法及装置
CN117130941B (zh) 基于浏览器插件的接口自动化方法、系统、设备及介质
CN107066594A (zh) 一种元数据同步的方法
CN107798007A (zh) 一种分布式数据库数据校验的方法、装置及相关装置
CN107590064A (zh) 一种应用升级测试方法、装置和系统
CN104407897A (zh) 一种程序智能升级的方法及系统
CN110334513A (zh) 一种基于Linux操作系统漏洞的修复方法
CN106648441A (zh) 设备分区信息传递方法及装置
CN102946559B (zh) 一种数字电视终端的升级方法、终端、服务器及其系统
CN113259156B (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