CN108363585A - 一种软件的升级文件网络下载方法 - Google Patents
一种软件的升级文件网络下载方法 Download PDFInfo
- Publication number
- CN108363585A CN108363585A CN201810216733.7A CN201810216733A CN108363585A CN 108363585 A CN108363585 A CN 108363585A CN 201810216733 A CN201810216733 A CN 201810216733A CN 108363585 A CN108363585 A CN 108363585A
- Authority
- CN
- China
- Prior art keywords
- software
- file
- upgrade
- website
- present
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种软件的升级文件网络下载方法。使用web或FTP站点作为升级服务程序,而且所述站点仅提供文件下载功能,不参与其它复杂的软件升级逻辑(相关升级逻辑的复杂计算转移到了软件端),而且所述站点通常都具有调整并发的能力(比如:基于IIS的站点,可以通过调整IIS中应用程序池的“工作进程数”和“最大并发连接数”等参数来增大并发能力),所以当需要升级的软件数量多,对升级服务程序(也就是所述站点)自身的并发能力设计要求将日趋严格的时候,只需调整所述站点的并发能力参数即可,避免了对升级服务程序人力物力的研发成本,减少了后续维护成本。
Description
技术领域
本发明属于软件领域,特别涉及一种软件的升级文件网络下载方法。
背景技术
软件开发商开发软件时,经常出于各种原因(比如:bug修复,添加新功能等)的考虑,把软件设计成具有通过网络(比如:互联网)进行自动升级的能力。
由于硬件架构差异、操作系统之间(比如:Windows和Linux之间)程序的二进制文件通常无法跨平台通用、操作系统不同版本号之间的兼容性等原因,软件开发商通常要额外开发一个升级服务程序以满足复杂逻辑的升级需求,软件通过网络(比如:互联网)与升级服务程序进行命令和数据交互。比如:升级服务程序根据软件所处的操作系统名称(比如:Windows、Linux等)、操作系统版本号(比如:Windows 7、Windows 10、RedHat 6.5、RedHat 7.4)等情况向软件提供适合它的升级文件。
现有技术中有下列缺点:
(1)因为各个软件开发商开发的软件的差异性,通常每个软件厂商都必须研发适合自身的升级服务程序,增加了研发成本;
(2)因为软件升级时,软件本身通常只负责接收升级文件,而升级服务程序需要处理复杂的逻辑以满足程序的升级要求,所以当需要升级的软件数量多的时候,对升级服务程序自身的并发能力设计要求将日趋严格,这些增加了对升级服务程序人力物力的研发成本、后续维护成本;
(3)软件和升级服务程序之间的网络通讯通常是没有加密的或者使用的加密协议是私有的,所以不具有公认安全性,增加了安全隐患。
发明内容
本发明的目的在于针对现有缺点,提供一种软件的升级文件网络下载方法。
为实现上述目的,本发明的技术方案是:一种软件的升级文件网络下载方法,包括如下步骤,
步骤S1、搭建一个空的web或FTP站点,然后在该站点中创建一个升级索引文件,该升级索引文件的内容是一个集合,该集合的每个元素代表产品中的一个文件,每个元素至少描述有属性:文件名、该文件所属产品子目录、该文件适应的操作系统名称、该文件适应的操作系统版本号、该文件对应下载地址;
步骤S2、软件升级时,先下载所述升级索引文件然后读取内容,即读取集合;
步骤S3、软件获取当前操作系统的名称;
步骤S4、软件获取当前操作系统的版本号;
步骤S5、设一个正整数n,其初始值为1;若步骤S2读取集合中不存在第n个元素,就前往步骤S12,若存在,就读取该第n个元素的所有属性信息;
步骤S6、软件在当前元素的所有操作系统名称属性中查找是否存在和步骤S3获取的信息完全匹配的,若不存在,则查找是否存在代表任意操作系统名称的属性,若依然不存在,令n=n+1,并返回步骤S5;
步骤S7、软件在当前元素的所有操作系统版本号属性中查找是否存在和步骤S4获取的信息完全匹配的,若不存在,则查找是否存在版本号大致匹配的,若依然不存在,令n=n+1,并返回步骤S5;
步骤S8、软件获取当前元素匹配步骤S7的对应的下载地址;
步骤S9、软件根据当前元素的文件名和该文件所属产品子目录这两个属性唯一定位当前元素代表文件的对应产品文件路径;
步骤S10、软件根据下载地址下载升级文件,然后保存到对应产品文件路径中;
步骤S11、返回步骤S5;
步骤S12、升级文件下载完毕。
在本发明一实施例中,所述步骤S7中,版本号大致匹配,即指大版本号一致小版本号不一致的情况。
相较于现有技术,本发明具有以下有益效果:
本发明使用web或FTP站点作为升级服务程序,所以避免了每个软件厂商都必须研发适合自身的升级服务程序,降低了研发成本;
本发明使用web或FTP站点作为升级服务程序,而且所述站点仅提供文件下载功能,不参与其它复杂的软件升级逻辑(相关升级逻辑的复杂计算转移到了软件端),而且所述站点通常都具有调整并发的能力(比如:基于IIS的站点,可以通过调整IIS中应用程序池的“工作进程数”和“最大并发连接数”等参数来增大并发能力),所以当需要升级的软件数量多,对升级服务程序(也就是所述站点)自身的并发能力设计要求将日趋严格的时候,只需调整所述站点的并发能力参数即可,避免了对升级服务程序人力物力的研发成本,减少了后续维护成本;
本发明使用web或FTP站点作为升级服务程序,而且所述站点可以使用已被广泛认可的加密协议(比如:https协议)进行通讯,所以具有公认安全性,减少了安全隐患。
附图说明
图1为本发明一较佳实施例。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明的一种软件的升级文件网络下载方法,包括如下步骤,
步骤S1、搭建一个空的web或FTP站点,然后在该站点中创建一个升级索引文件(比如:较佳的可采用xml格式的文件),该升级索引文件的内容是一个集合,该集合的每个元素代表产品中的一个文件,每个元素至少描述有属性:文件名、该文件所属产品子目录、该文件适应的操作系统名称、该文件适应的操作系统版本号、该文件对应下载地址;
步骤S2、软件升级时,先下载所述升级索引文件然后读取内容,即读取集合;
步骤S3、软件获取当前操作系统的名称;
步骤S4、软件获取当前操作系统的版本号;
步骤S5、设一个正整数n,其初始值为1;若步骤S2读取集合中不存在第n个元素,就前往步骤S12,若存在,就读取该第n个元素的所有属性信息;
步骤S6、软件在当前元素的所有操作系统名称属性中查找是否存在和步骤S3获取的信息完全匹配的,若不存在,则查找是否存在代表任意操作系统名称的属性(比如:查找是否存在名为“all_os”的操作系统名称属性),若依然不存在,令n=n+1,并返回步骤S5;
步骤S7、软件在当前元素的所有操作系统版本号属性中查找是否存在和步骤S4获取的信息完全匹配的,若不存在,则查找是否存在版本号大致匹配的(比如:大版本号一致小版本号不一致,则认为匹配,认为存在),若依然不存在,令n=n+1,并返回步骤S5;
步骤S8、软件获取当前元素匹配步骤S7的对应的下载地址;
步骤S9、软件根据当前元素的文件名和该文件所属产品子目录这两个属性唯一定位当前元素代表文件的对应产品文件路径;
步骤S10、软件根据下载地址下载升级文件,然后保存到对应产品文件路径中;
步骤S11、返回步骤S5;
步骤S12、升级文件下载完毕。
以下为本发明一具体实现实例。
本发明的主要目的在于提供一种软件的升级文件网络下载技术,其关键点在于下列步骤:
(1)搭建一个空的web或FTP站点,然后在该站点中创建一个升级索引文件(比如:一个xml格式的文件);
(2)所述升级索引文件的内容是一个集合,该集合的每个元素代表产品中的一个文件,每个元素至少描述了这几个属性:文件名、该文件所属产品子目录、该文件适应的操作系统名称、该文件适应的操作系统版本号、该文件对应下载地址(见图1)。
(3)软件升级时,先在所述站点中下载所述升级索引文件然后读取内容,也就是读取一个集合;
(4)软件获取当前操作系统的名称;
(5)软件获取当前操作系统的版本号;
(6)设一个正整数n,其初始值为1;
(7)如果步骤(3)所述集合中不存在第n个元素,就前往步骤(14),如果存在,就读取该元素的所有属性信息;
(8)软件在当前元素的所有操作系统名称属性中查找是否存在和步骤(4)获取的信息完全匹配的,如果不存在,就查找是否存在代表任意操作系统名称的(比如:查找是否存在名为“all_os”的操作系统名称属性),如果还是不存在就把步骤(6)所述的n加1,然后返回步骤(7);
(9)软件在当前元素的所有操作系统版本号属性中查找是否存在和步骤(5)获取的信息完全匹配的,如果不存在,则查找是否存在版本号大致匹配的(比如:大版本号一致小版本号不一致,则认为匹配,认为存在),如果还是不存在就把步骤(6)所述的n加1,然后返回步骤(7);
(10)软件获取当前元素匹配步骤(9)的对应的下载地址;
(11)软件根据当前元素的文件名和该文件所属产品子目录这两个属性唯一定位当前元素代表文件的对应产品文件路径;
(12)软件根据步骤(10)的下载地址下载升级文件,然后保存到步骤(11)的对应产品文件路径中;
(13)返回步骤(7);
(14)升级文件下载完毕。
需要注意的是,上述阐述是本发明的较佳实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (2)
1.一种软件的升级文件网络下载方法,其特征在于,包括如下步骤,
步骤S1、搭建一个空的web或FTP站点,然后在该站点中创建一个升级索引文件,该升级索引文件的内容是一个集合,该集合的每个元素代表产品中的一个文件,每个元素至少描述有属性:文件名、该文件所属产品子目录、该文件适应的操作系统名称、该文件适应的操作系统版本号、该文件对应下载地址;
步骤S2、软件升级时,先下载所述升级索引文件然后读取内容,即读取集合;
步骤S3、软件获取当前操作系统的名称;
步骤S4、软件获取当前操作系统的版本号;
步骤S5、设一个正整数n,其初始值为1;若步骤S2读取集合中不存在第n个元素,就前往步骤S12,若存在,就读取该第n个元素的所有属性信息;
步骤S6、软件在当前元素的所有操作系统名称属性中查找是否存在和步骤S3获取的信息完全匹配的,若不存在,则查找是否存在代表任意操作系统名称的属性,若依然不存在,令n=n+1,并返回步骤S5;
步骤S7、软件在当前元素的所有操作系统版本号属性中查找是否存在和步骤S4获取的信息完全匹配的,若不存在,则查找是否存在版本号大致匹配的,若依然不存在,令n=n+1,并返回步骤S5;
步骤S8、软件获取当前元素匹配步骤S7的对应的下载地址;
步骤S9、软件根据当前元素的文件名和该文件所属产品子目录这两个属性唯一定位当前元素代表文件的对应产品文件路径;
步骤S10、软件根据下载地址下载升级文件,然后保存到对应产品文件路径中;
步骤S11、返回步骤S5;
步骤S12、升级文件下载完毕。
2.根据权利要求1所述的方法,其特征在于,所述步骤S7中,版本号大致匹配,即指大版本号一致小版本号不一致的情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810216733.7A CN108363585A (zh) | 2018-03-16 | 2018-03-16 | 一种软件的升级文件网络下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810216733.7A CN108363585A (zh) | 2018-03-16 | 2018-03-16 | 一种软件的升级文件网络下载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108363585A true CN108363585A (zh) | 2018-08-03 |
Family
ID=63000435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810216733.7A Pending CN108363585A (zh) | 2018-03-16 | 2018-03-16 | 一种软件的升级文件网络下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108363585A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100097635A1 (en) * | 2008-10-17 | 2010-04-22 | Infoprint Solutions Company Llc | Printer upgrade mechanism |
CN101872309A (zh) * | 2010-01-15 | 2010-10-27 | 腾讯科技(深圳)有限公司 | 一种软件安装包下载方法、系统及客户端 |
KR20100129439A (ko) * | 2009-06-01 | 2010-12-09 | 주식회사 아이티사룩스 | Pc 일체형 tv의 소프트웨어 업데이트 방법 |
CN103019795A (zh) * | 2012-12-27 | 2013-04-03 | 福建榕基软件股份有限公司 | 一种软件基础数据升级方法及系统 |
CN106126248A (zh) * | 2016-06-29 | 2016-11-16 | 北京金山安全软件有限公司 | 一种获取操作系统版本信息的方法、装置及电子设备 |
CN107431721A (zh) * | 2014-09-24 | 2017-12-01 | 甲骨文国际公司 | 划分用于不同电子设备的应用分发 |
-
2018
- 2018-03-16 CN CN201810216733.7A patent/CN108363585A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100097635A1 (en) * | 2008-10-17 | 2010-04-22 | Infoprint Solutions Company Llc | Printer upgrade mechanism |
KR20100129439A (ko) * | 2009-06-01 | 2010-12-09 | 주식회사 아이티사룩스 | Pc 일체형 tv의 소프트웨어 업데이트 방법 |
CN101872309A (zh) * | 2010-01-15 | 2010-10-27 | 腾讯科技(深圳)有限公司 | 一种软件安装包下载方法、系统及客户端 |
CN103019795A (zh) * | 2012-12-27 | 2013-04-03 | 福建榕基软件股份有限公司 | 一种软件基础数据升级方法及系统 |
CN107431721A (zh) * | 2014-09-24 | 2017-12-01 | 甲骨文国际公司 | 划分用于不同电子设备的应用分发 |
CN106126248A (zh) * | 2016-06-29 | 2016-11-16 | 北京金山安全软件有限公司 | 一种获取操作系统版本信息的方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
佚名: "Microsoft Windows 2000应用兼容性", 《电脑编程技巧与维护》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8032881B2 (en) | Method and system for upgrading a plurality of devices | |
US7530065B1 (en) | Mechanism for determining applicability of software packages for installation | |
EP1598740B1 (en) | Efficient software patching | |
US6493871B1 (en) | Method and system for downloading updates for software installation | |
US7665081B1 (en) | System and method for difference-based software updating | |
EP1686469B1 (en) | Publishing the status of and updating firmware components | |
US7600225B2 (en) | System and method for intra-package delta compression of data | |
CN102970346B (zh) | 浏览器进行软件下载的方法和浏览器 | |
US20070061800A1 (en) | System and method for updating software in a network device | |
TW200305319A (en) | Delta replication of source files and packages across networked resources | |
US20070118507A1 (en) | Managing software configuration of a wireless device | |
AU2005201434A1 (en) | Efficient patching | |
CN104699511B (zh) | 插件升级方法及装置 | |
US10365911B2 (en) | Determining optimal update frequency for software application updates | |
CN105808273B (zh) | 软件升级方法和软件升级装置 | |
US9311317B1 (en) | Injecting custom data into files in zip format containing apps, without unzipping, resigning or re-zipping the files | |
CN107025108B (zh) | 从源代码管理(scm)系统将分级数据导出到产品生命周期管理(plm)系统 | |
US11681711B2 (en) | System and method for automatic docketing and data entry | |
US20060136895A1 (en) | Customizing an application through a patch | |
CN104506580A (zh) | 一种统一客户端版本的方法和系统 | |
CN114024951A (zh) | 一种基于云边协同的电力边缘异构部署方法 | |
CN108363585A (zh) | 一种软件的升级文件网络下载方法 | |
CN106487567A (zh) | 一种网元模型管理方法及装置 | |
Cisco | Cisco BBSM 5.1 WEBpatch Patch 1044 | |
Cisco | Installing the Catalyst 2900 Series XL Enterprise Software |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180803 |