CN107566472B - 一种apk自动维护实现方法 - Google Patents
一种apk自动维护实现方法 Download PDFInfo
- Publication number
- CN107566472B CN107566472B CN201710743484.2A CN201710743484A CN107566472B CN 107566472 B CN107566472 B CN 107566472B CN 201710743484 A CN201710743484 A CN 201710743484A CN 107566472 B CN107566472 B CN 107566472B
- Authority
- CN
- China
- Prior art keywords
- file
- apk
- apk file
- uploading
- information
- 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
Images
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文件不兼容,单独上传效率低下;所以才有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值,APK文件的自身版本名字,即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文件表数据结构
更进一步的方案是:
所述t_folder表,数据结构如下:
t_folder表数据结构
所述APK文件Record,数据结构如下:
附图说明
图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文件表数据结构
t_folder表数据结构
APK文件Record数据结构
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (7)
1.一种APK文件自动维护实现方法,其特征在于包括如下步骤:
步骤1、利用FTP服务器作为APK文件在上传文件服务器源地址;
步骤2、通过XML文件管控每一个APK文件的详细信息;
步骤3、通过定时任务实现APK文件上传过程和APK文件上传失败重新上传过程;
步骤4、利用HTTP流式处理解决平台之间APK文件不兼容问题;
所述APK文件按照所属机芯和机芯版本嵌套的文件夹名表示,文件夹下一层存放APK文件的名字、APK文件版本号、MD5、以及APK文件对应的存放文件夹目录的XML文件信息,同级目录下存有系统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文件第三个维度信息管理。
2.根据权利要求1所述APK文件自动维护实现方法,其特征在于:
步骤1中,在FTP服务器下载操作完成之后,给FTP服务器返回一个命令,激活21端口,重置超时时间,文件类型设置为二进制式。
3.根据权利要求1所述APK文件自动维护实现方法,其特征在于:
通过XML文件管控每一个APK文件的详细信息,使XML文件包含机芯和机芯版本对应的一系列的APK文件的名字,存放地址,包名,MD5值,APK文件的自身版本名字,即XML文件相当于APK文件集中管理者和上传过程中APK文件依据。
4.根据权利要求1所述APK文件自动维护实现方法,其特征在于:
APK文件上传过程和APK文件上传失败重新上传过程,具体为:
遍历根目录,获取到根目录的文件信息列表,依次遍历该列表,取得下一级文件信息列表,依次遍历该列表,下载XML文件,解析XML文件,遍历是否到结束标记,根据XML文件中信息,判断是否需要下载,如果在数据库中已经记录该APK文件,无需下载,否则下载,下载完成记录该APK文件的信息以及下载状态,下载成功的利用http表单请求方法将APK文件上传到文件服务器,上传完成则记录该APK文件的上传状态,根据返回信息成功失败和md5校验,判断该APK文件是否被篡改,无论成功与否都需记录状态,判断下载的数量是否等于上传的数量以及上传的数量是否等于更新的数量,用以判断该机芯和机芯版本下APK文件上传是否成功;
定时查找上传失败的APK文件,重复上述过程:根据上传成功的数量和之前失败的数量进行对比,若相等则判断该过程成功,否则失败。
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 CN107566472A (zh) | 2018-01-09 |
CN107566472B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408076A (zh) * | 2018-10-22 | 2019-03-01 | 海南新软软件有限公司 | 一种app批量发版方法、装置及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205074A (zh) * | 2014-06-25 | 2015-12-30 | 优视科技有限公司 | 文件增量升级方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196004B (zh) * | 2010-03-12 | 2015-09-23 | 新奥特(北京)视频技术有限公司 | 一种远程素材文件的管理方法和系统 |
GB2519516B (en) * | 2013-10-21 | 2017-05-10 | Openwave Mobility Inc | A method, apparatus and computer program for modifying messages in a communications network |
CN103747338A (zh) * | 2013-12-24 | 2014-04-23 | 广东九联科技股份有限公司 | 一种基于android系统机顶盒的应用切换方法 |
CN105446873B (zh) * | 2014-09-01 | 2018-05-22 | 中国科学院深圳先进技术研究院 | 基于android平台的APK软件自动测试方法及系统 |
CN106843880A (zh) * | 2017-01-20 | 2017-06-13 | 广东欧珀移动通信有限公司 | Android安装包APK的定制方法、装置及服务器 |
-
2017
- 2017-08-25 CN CN201710743484.2A patent/CN107566472B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205074A (zh) * | 2014-06-25 | 2015-12-30 | 优视科技有限公司 | 文件增量升级方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107566472A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104951474B (zh) | 一种用于获取MySQL binlog增量日志的方法和装置 | |
US7257257B2 (en) | Method and apparatus for differential, bandwidth-efficient and storage-efficient backups | |
US8943183B2 (en) | Decoupled installation of data management systems | |
CN101217571B (zh) | 用于多副本数据网格系统中的写/读文件操作的方法 | |
US20120084379A1 (en) | Method and apparatus for checking and synchronizing data block in distributed file system | |
CN111614733B (zh) | 一种分布式多分片集群的部署方法、装置及存储介质 | |
CN102012944B (zh) | 一种提供复制特性的分布式nosql数据库的实现方法 | |
CN107682399B (zh) | 一种基于大数据的文件夹断点续传方法 | |
WO2018001200A1 (zh) | 数据处理方法、集群管理器、资源管理器、数据处理系统 | |
CN102750322B (zh) | 一种机群文件系统分布式元数据一致性保证方法和系统 | |
CN104469409A (zh) | 智能电视软件差分升级的自动化测试方法 | |
CN101937348A (zh) | 电视软件在线增量升级方法 | |
CN101650744A (zh) | 一种基于表空间迁移处理大数据量的系统及方法 | |
CN110032339A (zh) | 数据迁移方法、装置、系统、设备和存储介质 | |
CN102289382A (zh) | 电视软件更新方法、装置及系统 | |
CN111367994A (zh) | 数据库增量数据同步备份方法及系统 | |
CN110958300A (zh) | 一种数据的上传方法、系统、装置、电子设备和计算机可读介质 | |
CN107566472B (zh) | 一种apk自动维护实现方法 | |
CN112698622B (zh) | 自动控制方法、装置及机器可读存储介质 | |
US20160170869A9 (en) | Systems and methods for in-place reorganization of device storage | |
CN113468143A (zh) | 数据迁移方法、系统、计算设备及存储介质 | |
CN110866068B (zh) | 一种基于hdfs的公告数据存储方法及其装置 | |
CN115145596A (zh) | 一种机器人升级包ota升级方法及设备 | |
CN112019623A (zh) | 基于ftp协议的分布式存储系统及其实现方法 | |
CN115687338A (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 |