CN108182075A - 一种通过socket通信方式自动升级目标软件的程序 - Google Patents
一种通过socket通信方式自动升级目标软件的程序 Download PDFInfo
- Publication number
- CN108182075A CN108182075A CN201711486788.1A CN201711486788A CN108182075A CN 108182075 A CN108182075 A CN 108182075A CN 201711486788 A CN201711486788 A CN 201711486788A CN 108182075 A CN108182075 A CN 108182075A
- Authority
- CN
- China
- Prior art keywords
- target software
- upgrade
- updating client
- server
- 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.)
- 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
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)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种通过socket通信方式自动升级目标软件的程序,包括升级客户端、升级服务器及FTP服务器,所述的升级客户端部署在目标软件所在的主机内,升级客户端在运行过程中和升级服务器持续保持有socket连接;所述的升级客户端用于检测并发送目标软件信息、接收升级消息并检测目标软件是否需要升级,下载升级版本文件,升级目标软件;所述的升级服务器包括数据库,升级服务器用于接收目标软件信息、导入目标软件的升级信息及升级版本文件、保持升级信息到数据库、发送升级消息;本发明公开的通过socket通信方式自动升级目标软件的程序,可以自动升级目标软件,并且可以管理被升级软件版本号、记录升级日志、方便管理升级进度。
Description
技术领域
本发明属于C++及C#工程的技术领域,具体地说,涉及一种通过socket通信方式自动升级目标软件的程序。
背景技术
在一个较大型的分布式系统中,可能会在多台主机上部署多种软件,当系统规模增大到一定程度后,如果系统中大量软件需要更新时会非常麻烦,传统人工逐个软件更新不仅工作量大而且容易出现遗漏。
发明内容
针对现有技术中上述的不足,本发明提供一种可以自动升级目标软件,并且可以管理被升级软件版本号、记录升级日志、方便管理升级进度的通过socket通信方式自动升级目标软件的程序。
为了达到上述目的,本发明采用的解决方案是:一种通过socket通信方式自动升级目标软件的程序,包括升级客户端、升级服务器及FTP服务器,所述的升级客户端部署在目标软件所在的主机内,升级客户端在运行过程中和升级服务器持续保持有socket连接。
所述的升级客户端用于检测并发送目标软件信息、接收升级消息并检测目标软件是否需要升级,下载升级版本文件,升级目标软件。
所述的升级服务器包括数据库,升级服务器用于接收目标软件信息、导入目标软件的升级信息及升级版本文件、保持升级信息到数据库、发送升级消息。
所述FTP服务器用于保存升级版本文件。
进一步地,所述的通过socket通信方式自动升级目标软件的程序包括以下步骤:
1)升级提供者将目标软件的升级信息及升级版本文件添加到升级服务器中;
2)升级服务器将升级版本文件存入FTP服务器;
3)升级服务器保持升级信息到数据库,所述升级信息包括升级版本信息、升级改动描述、需更新的文件及所述需更新的文件的路径;
4)升级客户端读取升级客户端所在主机内的目标软件的信息,升级客户端将目标软件的当前版本信息发送至升级服务器;
5)升级服务器对比目标软件的当前版本信息与目标软件的升级版本信息并发送目标软件的当前本版本信息与目标软件的升级版本信息的对比结果至升级客户端;
6)升级客户端解析所述对比结果,目标软件的当前版本不需要升级,运行流程跳回步骤4);目标软件的当前版本需要升级,升级客户端向用户发出询问,得到确认升级的指令后,升级客户端向升级服务器发出升级请求,升级服务器将生成的升级信息发送至客户端;
7)升级客户端关闭正在运行的程序,升级客户端从FTP服务器获取所述需更新的文件替换所述目标软件的当前版本文件,完成升级。
进一步地,所述的步骤6)中,升级客户端解析所述对比结果,目标软件的当前版本需要升级,升级客户端向用户发出询问,升级客户端得到用户拒绝升级的指令后,运行流程退出程序。
进一步地,所述的步骤7)中,升级客户端从FTP服务器获取所述需更新的文件,升级客户端校验所述需更新的文件是否正确,所述需更新的文件错误,运行流程调回上一层,升级客户端重新从FTP服务器获取所述需更新的文件;所述需更新的文件正确,升级客户端使用所述需更新的文件替换所述目标软件的当前版本文件,完成升级。
进一步地,所述的升级客户端和升级服务器使用UDP通信并具备并发控制。
进一步地,所述的FTP服务器可以与升级服务器分布部署。
进一步地,所述的数据库使用本地文本型数据库。
本发明的有益效果是:
1、替代人工逐个软件更新的方式,提高工作效率并记录升级日志,方便管理;
2、通过socket通信方式自动升级目标软件;
3、记录升级日志,方便追溯升级过程,将每次更新的版本都记录到数据库中,以便获取客户端版本与最新版本的差异;
4、管理被升级软件版本号,每一种目标软件拥有一个独立版本号,一个升级客户端可以同时管理多种目标软件;
5、升级文件压缩保存在FTP服务器中,升级文件使用FTP传输,与升级信令独立;
6、可以在不改动目标软件的前提下实现自动批量升级程序。
附图说明
图1为本发明实施例的系统框架图。
图2为升级服务器的运行流程图。
图3为本发明中升级服务器的工作时序图。
图4为升级客户端的运行流程图。
图5为本发明中升级客户端的工作时序图。
具体实施方式
以下结合附图对本发明作进一步描述:
为使本发明的目的、技术方案和优点更加清楚,下面对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照附图1-附图5,本发明提供一种通过socket通信方式自动升级目标软件的程序,包括升级客户端、升级服务器及FTP服务器,所述的升级客户端部署在目标软件所在的主机内,升级客户端在运行过程中和升级服务器持续保持有socket连接;socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,本发明通过socket通信方式自动升级目标软件。
所述的升级客户端用于检测并发送目标软件信息、接收升级消息并检测目标软件是否需要升级,下载升级版本文件,升级目标软件;本发明替代人工逐个软件更新的方式,提高工作效率,可以在不改动目标软件的前提下实现自动批量升级程序。
所述的升级服务器包括数据库,升级服务器用于接收目标软件信息、导入目标软件的升级信息及升级版本文件、保持升级信息到数据库、发送升级消息;升级服务器记录升级日志,方便追溯升级过程,将每次更新的版本都记录到数据库中,以便获取客户端版本与最新版本的差异,管理被升级软件版本号,每一种目标软件拥有一个独立版本号,使得一个升级客户端可以同时管理多种目标软件。
所述FTP服务器用于保存升级版本文件,升级版本文件压缩保存在FTP服务器中,升级版本文件使用FTP传输,与升级信令独立。
本实施例中,所述的通过socket通信方式自动升级目标软件的程序包括以下步骤:
1)升级提供者将目标软件的升级信息及升级版本文件添加到升级服务器中;升级服务器在运行过程中记录升级日志,方便追溯升级过程;
2)升级服务器将升级版本文件存入FTP服务器;当目标软件需要升级时,升级客户端从FTP服务器下载升级版本文件来完成目标软件的升级;
3)升级服务器保持升级信息到数据库,所述升级信息包括升级版本信息、升级改动描述、需更新的文件及所述需更新的文件的路径;数据库用于保存升级日志,当升级客户端向升级服务器发出升级请求时,升级服务器将生成的升级信息发送至升级客户端;
4)升级客户端读取升级客户端所在主机内的目标软件的信息,升级客户端将目标软件的当前版本信息发送至升级服务器;
5)升级服务器对比目标软件的当前版本信息与目标软件的升级版本信息并发送目标软件的当前本版本信息与目标软件的升级版本信息的对比结果至升级客户端;
6)升级客户端解析所述对比结果,当目标软件的当前版本不需要升级时,运行流程跳回步骤4);当目标软件的当前版本需要升级时,升级客户端向用户发出询问,升级客户端在得到用户的确认升级的指令后,升级客户端向升级服务器发出升级请求,升级服务器将生成的升级信息发送至升级客户端,升级客户端开始对目标软件进行升级;
7)升级客户端关闭正在运行的程序,升级客户端从FTP服务器获取所述需更新的文件替换所述目标软件的当前版本文件,修改程序版本号,完成升级。
本实施例中,所述的步骤6)中,升级客户端解析所述对比结果,目标软件的当前版本需要升级,升级客户端向用户发出询问,升级客户端得到用户拒绝升级的指令后,运行流程退出程序,程序结束。
本实施例中,所述的步骤7)中,升级客户端从FTP服务器获取所述需更新的文件,升级客户端校验所述需更新的文件是否正确,当所述需更新的文件错误时,运行流程调回上一层,升级客户端重新从FTP服务器获取所述需更新的文件;当所述需更新的文件正确时,升级客户端使用所述需更新的文件替换所述目标软件的当前版本文件,修改程序版本号,完成升级,重新开始检验是否需要升级,循环达到自动升级目标软件的效果。
本实施例中,所述的升级客户端和升级服务器使用UDP通信并具备并发控制。
本实施例中,所述的FTP服务器可以与升级服务器分布部署。
本实施例中,所述的数据库使用本地文本型数据库。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种通过socket通信方式自动升级目标软件的程序,其特征是:包括升级客户端、升级服务器及FTP服务器,所述的升级客户端部署在目标软件所在的主机内,升级客户端在运行过程中和升级服务器持续保持有socket连接;
所述的升级客户端用于检测并发送目标软件信息、接收升级消息并检测目标软件是否需要升级,下载升级版本文件,升级目标软件;
所述的升级服务器包括数据库,升级服务器用于接收目标软件信息、导入目标软件的升级信息及升级版本文件、保持升级信息到数据库、发送升级消息;
所述FTP服务器用于保存升级版本文件。
2.根据权利要求1所述的通过socket通信方式自动升级目标软件的程序,其特征是:所述的通过socket通信方式自动升级目标软件的程序包括以下步骤:
1)升级提供者将目标软件的升级信息及升级版本文件添加到升级服务器中;
2)升级服务器将升级版本文件存入FTP服务器;
3)升级服务器保持升级信息到数据库,所述升级信息包括升级版本信息、升级改动描述、需更新的文件及所述需更新的文件的路径;
4)升级客户端读取升级客户端所在主机内的目标软件的信息,升级客户端将目标软件的当前版本信息发送至升级服务器;
5)升级服务器对比目标软件的当前版本信息与目标软件的升级版本信息并发送目标软件的当前本版本信息与目标软件的升级版本信息的对比结果至升级客户端;
6)升级客户端解析所述对比结果,目标软件的当前版本不需要升级,运行流程跳回步骤4);目标软件的当前版本需要升级,升级客户端向用户发出询问,得到用户确认升级的指令后,升级客户端向升级服务器发出升级请求,升级服务器将生成的升级信息发送至客户端;
7)升级客户端关闭正在运行的程序,升级客户端从FTP服务器获取所述需更新的文件替换所述目标软件的当前版本文件,完成升级。
3.根据权利要求2所述的通过socket通信方式自动升级目标软件的程序,其特征是:所述的步骤6)中,升级客户端解析所述对比结果,目标软件的当前版本需要升级,升级客户端向用户发出询问,升级客户端得到用户拒绝升级的指令后,运行流程退出程序。
4.根据权利要求2所述的通过socket通信方式自动升级目标软件的程序,其特征是:所述的步骤7)中,升级客户端从FTP服务器获取所述需更新的文件,升级客户端校验所述需更新的文件是否正确,所述需更新的文件错误,运行流程调回上一层,升级客户端重新从FTP服务器获取所述需更新的文件;所述需更新的文件正确,升级客户端使用所述需更新的文件替换所述目标软件的当前版本文件,完成升级。
5.根据权利要求1所述的通过socket通信方式自动升级目标软件的程序,其特征是:所述的升级客户端和升级服务器使用UDP通信并具备并发控制。
6.根据权利要求1所述的通过socket通信方式自动升级目标软件的程序,其特征是:所述的FTP服务器可以与升级服务器分布部署。
7.根据权利要求1所述的通过socket通信方式自动升级目标软件的程序,其特征是:所述的数据库使用本地文本型数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711486788.1A CN108182075A (zh) | 2017-12-29 | 2017-12-29 | 一种通过socket通信方式自动升级目标软件的程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711486788.1A CN108182075A (zh) | 2017-12-29 | 2017-12-29 | 一种通过socket通信方式自动升级目标软件的程序 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108182075A true CN108182075A (zh) | 2018-06-19 |
Family
ID=62549435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711486788.1A Pending CN108182075A (zh) | 2017-12-29 | 2017-12-29 | 一种通过socket通信方式自动升级目标软件的程序 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108182075A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104469A (zh) * | 2018-07-25 | 2018-12-28 | 山东浪潮商用系统有限公司 | 一种通用远程升级系统及方法 |
CN109348472A (zh) * | 2018-09-20 | 2019-02-15 | 广东小天才科技有限公司 | 一种基于单点推送的ota升级方法及系统 |
CN110750276A (zh) * | 2018-07-23 | 2020-02-04 | 视联动力信息技术股份有限公司 | 一种基于视联网的应用程序升级方法、装置及视联网系统 |
CN110958293A (zh) * | 2019-10-12 | 2020-04-03 | 平安普惠企业管理有限公司 | 基于云服务器的文件传输方法、系统、服务器及存储介质 |
CN111158721A (zh) * | 2019-12-27 | 2020-05-15 | 中国建设银行股份有限公司 | 一种控制主机升级软件的方法、装置及数据中心 |
CN112351070A (zh) * | 2020-09-30 | 2021-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 文件传输方法、装置、存储介质及电子设备 |
CN112597178A (zh) * | 2021-01-05 | 2021-04-02 | 上海闻泰信息技术有限公司 | 测试序列文件管理方法、装置和系统 |
CN112631627A (zh) * | 2020-12-10 | 2021-04-09 | 武汉联影医疗科技有限公司 | 软件升级方法、装置、计算机设备和存储介质 |
CN113821525A (zh) * | 2021-11-24 | 2021-12-21 | 北京金堤科技有限公司 | 数据更新系统和方法、以及存储介质和电子设备 |
WO2022226938A1 (zh) * | 2021-04-29 | 2022-11-03 | 华为技术有限公司 | 软件升级方法和相关产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658574A (zh) * | 2005-03-23 | 2005-08-24 | 港湾网络有限公司 | 网络设备自动更新方法及系统 |
CN101026464A (zh) * | 2006-02-25 | 2007-08-29 | 宇龙计算机通信科技(深圳)有限公司 | 无线终端的无线升级方法和无线升级系统 |
CN101132573A (zh) * | 2006-08-23 | 2008-02-27 | 中兴通讯股份有限公司 | 一种终端批量升级的实现方法 |
CN102736926A (zh) * | 2011-04-14 | 2012-10-17 | 中兴通讯股份有限公司 | 一种基于任务模板的升级方法及装置、批量升级系统 |
US20160359905A1 (en) * | 2015-06-08 | 2016-12-08 | Illusive Networks Ltd. | Automatically generating network resource groups and assigning customized decoy policies thereto |
CN106843957A (zh) * | 2017-01-17 | 2017-06-13 | 青岛海信移动通信技术股份有限公司 | 系统固件升级方法及装置 |
-
2017
- 2017-12-29 CN CN201711486788.1A patent/CN108182075A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658574A (zh) * | 2005-03-23 | 2005-08-24 | 港湾网络有限公司 | 网络设备自动更新方法及系统 |
CN101026464A (zh) * | 2006-02-25 | 2007-08-29 | 宇龙计算机通信科技(深圳)有限公司 | 无线终端的无线升级方法和无线升级系统 |
CN101132573A (zh) * | 2006-08-23 | 2008-02-27 | 中兴通讯股份有限公司 | 一种终端批量升级的实现方法 |
CN102736926A (zh) * | 2011-04-14 | 2012-10-17 | 中兴通讯股份有限公司 | 一种基于任务模板的升级方法及装置、批量升级系统 |
US20160359905A1 (en) * | 2015-06-08 | 2016-12-08 | Illusive Networks Ltd. | Automatically generating network resource groups and assigning customized decoy policies thereto |
CN106843957A (zh) * | 2017-01-17 | 2017-06-13 | 青岛海信移动通信技术股份有限公司 | 系统固件升级方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750276A (zh) * | 2018-07-23 | 2020-02-04 | 视联动力信息技术股份有限公司 | 一种基于视联网的应用程序升级方法、装置及视联网系统 |
CN109104469A (zh) * | 2018-07-25 | 2018-12-28 | 山东浪潮商用系统有限公司 | 一种通用远程升级系统及方法 |
CN109348472A (zh) * | 2018-09-20 | 2019-02-15 | 广东小天才科技有限公司 | 一种基于单点推送的ota升级方法及系统 |
CN110958293A (zh) * | 2019-10-12 | 2020-04-03 | 平安普惠企业管理有限公司 | 基于云服务器的文件传输方法、系统、服务器及存储介质 |
CN110958293B (zh) * | 2019-10-12 | 2023-10-24 | 陕西合友网络科技有限公司 | 基于云服务器的文件传输方法、系统、服务器及存储介质 |
CN111158721A (zh) * | 2019-12-27 | 2020-05-15 | 中国建设银行股份有限公司 | 一种控制主机升级软件的方法、装置及数据中心 |
CN112351070A (zh) * | 2020-09-30 | 2021-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 文件传输方法、装置、存储介质及电子设备 |
CN112631627A (zh) * | 2020-12-10 | 2021-04-09 | 武汉联影医疗科技有限公司 | 软件升级方法、装置、计算机设备和存储介质 |
CN112597178A (zh) * | 2021-01-05 | 2021-04-02 | 上海闻泰信息技术有限公司 | 测试序列文件管理方法、装置和系统 |
WO2022226938A1 (zh) * | 2021-04-29 | 2022-11-03 | 华为技术有限公司 | 软件升级方法和相关产品 |
CN113821525A (zh) * | 2021-11-24 | 2021-12-21 | 北京金堤科技有限公司 | 数据更新系统和方法、以及存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108182075A (zh) | 一种通过socket通信方式自动升级目标软件的程序 | |
CN107291516B (zh) | 一种固件升级方法和系统 | |
CN103955363B (zh) | 一种程序升级安装包的制作方法 | |
CN105487980B (zh) | 修复应用程序运行异常的方法及装置 | |
CN108984224A (zh) | 一种插件管理方法、计算机可读存储介质及终端设备 | |
CN105893070A (zh) | 应用的sdk的升级方法及系统 | |
CN109272116A (zh) | 一种深度学习的方法及装置 | |
CN104918114B (zh) | 一种操作系统升级方法及装置 | |
CA2537910A1 (en) | Synchronizing and controlling software downloads, such as for utility meter-reading data collection and processing | |
CN109189434A (zh) | 一种电能表的在线升级方法 | |
CN108156003A (zh) | 一种应用升级方法及终端、服务器、系统 | |
CN101826026A (zh) | 嵌入式设备、嵌入式设备中固件在线升级的系统及方法 | |
CN108536460A (zh) | 一种轻量级的软件自动升级系统 | |
CN107992315A (zh) | 一种应用程序自动升级方法及存储介质 | |
CN102073527A (zh) | 一种输入法词库的升级方法和装置 | |
CN106550022B (zh) | 一种应用程序分发控制处理方法及系统 | |
CN104133699A (zh) | 设备系统软件升级方法与系统 | |
CN106201591A (zh) | 一种云管理平台的配置文件升级方法及装置 | |
CN106980502A (zh) | 一种在线获取bios固件更新的方法 | |
CN106406933A (zh) | 一种Tomcat集群一键自动部署方法 | |
CN103713924B (zh) | 云计算平台服务的升级方法及系统 | |
CN109816453B (zh) | 一种推广资源链接的检测方法及装置 | |
CN106201584B (zh) | 版本升级方法及终端设备 | |
CN109636664A (zh) | 一种配电系统、配电主站及其点表模型更新方法 | |
CN107968838B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180619 |