CN107092512A - 一种跨平台远程升级系统及方法 - Google Patents

一种跨平台远程升级系统及方法 Download PDF

Info

Publication number
CN107092512A
CN107092512A CN201710446781.0A CN201710446781A CN107092512A CN 107092512 A CN107092512 A CN 107092512A CN 201710446781 A CN201710446781 A CN 201710446781A CN 107092512 A CN107092512 A CN 107092512A
Authority
CN
China
Prior art keywords
version
upgrade
platform
cross
upgrading
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
Application number
CN201710446781.0A
Other languages
English (en)
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.)
CHENGDU 30KAITIAN COMMUNICATION INDUSTRY Co Ltd
Original Assignee
CHENGDU 30KAITIAN COMMUNICATION INDUSTRY 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 CHENGDU 30KAITIAN COMMUNICATION INDUSTRY Co Ltd filed Critical CHENGDU 30KAITIAN COMMUNICATION INDUSTRY Co Ltd
Priority to CN201710446781.0A priority Critical patent/CN107092512A/zh
Publication of CN107092512A publication Critical patent/CN107092512A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

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)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种跨平台远程升级系统及方法。本发明公开了一种跨平台的升级系统及方法,涉及跨平台升级领域。一种跨平台的升级系统,它包括:数据库、升级服务器、监控台、数据接口、交换机和多个客户端;所述的升级服务器通过无线或者有线网络分别与数据库、监控台互联,升级服务器通过数据接口与交换机相连,交换机与多个客户端相连。一种跨平台的升级方法,包括:当前版本查询、导入版本、所有版本存储、推送升级消息、判断是否升级和开始升级。本发明的通信协议使用视频监控系统统一的通信数据包结构,业务数据使用XML数据结构,以便提供较好的扩展性。程序版本号使用编写统一规则。使用标准C++开发尽量减少对操作系统的依赖,实现一次开发两处编译,提供更好的移植性。

Description

一种跨平台远程升级系统及方法
技术领域
本发明涉及跨平台升级领域,尤其是一种跨平台的升级系统及方法。
背景技术
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
Windows采用了图形化模式GUI,比起从前的DOS需要键入指令使用的方式更为人性化。随着电脑硬件和软件的不断升级,微软的Windows也在不断升级,从架构的16位、32位再到64位, 系统版本从最初的Windows 1.0 到大家熟知的Windows 95、Windows 98、Windows ME、Windows 2000、Windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10 和 Windows Server服务器企业级操作系统,不断持续更新,微软一直在致力于Windows操作系统的开发和完善。
普通远程升级工具的系统不能对不同的平台(windows、linux)下对应的软件对象(进程、服务)进行远程自动升级,更不用说对升级版本进行管理、升级也、选择性的降级,不能克服只能对单一平台升级的局限性。
发明内容
本发明的目的在于克服现有技术的不足,提供一种跨平台的升级系统及方法,区别于普通升级工具只能对单一平台的升级对象进行升级的局限性,并且对升级版本进行管理,可以对升级对象进行降级操作。
本发明的目的是通过以下技术方案来实现的:一种跨平台的升级系统,它包括:数据库、升级服务器、监控台、数据接口、交换机和多个客户端;所述的升级服务器通过无线或者有线网络分别与数据库、监控台互联,升级服务器通过数据接口与交换机相连,交换机与多个客户端相连。
进一步限定,所述的升级服务器包括通信层、数据层、业务逻辑层和应用层。
进一步限定,所述的应用层包括版本导入模块与版本查询模块,
进一步限定,所述的业务逻辑层包括版本管理模块和升级逻辑模块。
进一步限定,所述的数据库为SQList数据库。
一种跨平台的升级方法,包括如下步骤:
S0001当前版本查询:利用版本库查询对平台客户端的当前所有的版本进行查询,并判断升级服务器是否已经全部包括所有版本;
S0002导入版本:将未包括的版本通过应用层的版本导入模块将其导入至升级服务器中;
S0003所有版本存储:将导入的版本通过版本管理模块进行保存,并为应用层提供调用接口;
S0004推送升级消息:升级服务器的升级逻辑模块将升级消息推送至Windows或linux平台的客户端;
S0005判断是否升级:判断客户端返回指令,若用户同意升级,则使用TCP通信和SQLite数据库将指定版本程序传输至客户端,若用户不同意升级,则不进行更新;
S0006确认升级:监控台采用提示是否升级来确认是否立即升级;
S0007客户端将接收到的最新版本信息进行解压安装。
进一步限定,将新版本进行导入时不进行压缩,将最新版本导入升级服务器后由省级服务器对其进行压缩。
进一步限定,所述的所有版本存储,是利用INI文件记录当前的加载的程序版本号,每一个版本程序都被指定一个程序版本号。
进一步限定,所述的推送升级消息,升级服务器将所有版本信息推送至客户端,用户根据实用需求选择合适版本。
进一步限定,所述的版本信息为所有版本程序的版本号。
本发明的有益效果是:本发明的通信协议使用视频监控系统统一的通信数据包结构,业务数据使用XML数据结构,以便提供较好的扩展性。程序版本号使用编写统一规则。使用标准C++开发尽量减少对操作系统的依赖,实现一次开发两处编译,提供更好的移植性,以及跨平台性。
附图说明
图1为一种跨平台的升级系统框架图;
图2为一种跨平台的升级方法流程图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,一种跨平台的升级系统,它包括:数据库、升级服务器、监控台、数据接口、交换机和多个客户端;所述的升级服务器通过无线或者有线网络分别与数据库、监控台互联,升级服务器通过数据接口与交换机相连,交换机与多个客户端相连。
进一步限定,所述的升级服务器包括通信层、数据层、业务逻辑层和应用层。
进一步限定,所述的应用层包括版本导入模块与版本查询模块,
进一步限定,所述的业务逻辑层包括版本管理模块和升级逻辑模块。
进一步限定,所述的数据库为SQList数据库。
一种跨平台的升级方法,包括如下步骤:
S0001当前版本查询:利用版本库查询对平台客户端的当前所有的版本进行查询,并判断升级服务器是否已经全部包括所有版本;
S0002导入版本:将未包括的版本通过应用层的版本导入模块将其导入至升级服务器中;
S0003所有版本存储:将导入的版本通过版本管理模块进行保存,并为应用层提供调用接口;
S0004推送升级消息:升级服务器的升级逻辑模块将升级消息推送至Windows或linux平台的客户端;
S0005判断是否升级:判断客户端返回指令,若用户同意升级,则使用TCP通信和SQLite数据库将指定版本程序传输至客户端,若用户不同意升级,则不进行更新;
S0006确认升级:监控台采用提示是否升级来确认是否立即升级;
S0007客户端将接收到的最新版本信息进行解压安装。
进一步限定,将新版本进行导入时不进行压缩,将最新版本导入升级服务器后由省级服务器对其进行压缩。
进一步限定,所述的所有版本存储,是利用INI文件记录当前的加载的程序版本号,每一个版本程序都被指定一个程序版本号。
进一步限定,所述的推送升级消息,升级服务器将所有版本信息推送至客户端,用户根据实用需求选择合适版本。
进一步限定,所述的版本信息为所有版本程序的版本号。
实施例:
系统分为通信数据层、业务逻辑层和应用层。通信层:数据库为SQList,作为服务端与客户端通信,完成socket通信及通信协议的处理。数据层:实现一个简单的ORM。业务逻辑层包括版本管理模块和升级逻辑模块,版本管理模块:管理版本信息,保存升级文件。为应用层提供调用接口。升级逻辑模块:判断客户端是否需要升级、向客户端发送升级文件信息、控制升级并发量。应用层包括版本导入模块和版本库查询模块,版本导入模块:用于用户导入新版本。版本库查询:现目前只用于历史版本记录查询,将来将作为版本管理的入口。服务端以升级逻辑模块为核心,使用TCP通信和SQLite数据库,FTP服务单独部署在服务器上与升级服务端独立。导入升级文件时不用压缩,由升级服务端压缩。
升级服务器加载升级包以后,采用INI文件记录当前的加载的程序版本号,每一个程序将指定一个程序版本号,升级服务器在加载完成以后,将比对当前的版本号以及新加入程序的版本号,如果有升级将自动推送更新消息到升级客户端,为了防止瞬时FTP下载太多,升级服务器可以将升级消息的推送进行控制,如隔一分钟(这里可配置)推送一个客户端升级消息。升级客户端分Windows和linux,所以这里开发时要考虑跨平台,升级客户端启动后将隐藏(WIN)运行,与升级服务器进行长连接,并保持心跳检测(检测时间可以设长一点),在收到有升级更新时,在服务端程序采用强行自动升级(中心、WEB、代理、存储、无人值守、升级客户端、OCX控件),监控台采用提示是否升级来确认是否立即升级。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的方法、系统和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明所揭露的方法、系统和模块,可以通过其它的方式实现。例如,以上所描述的实施例仅是示意性的,例如,所述模块的划分,可以仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以说通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述分立部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例的方案目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、制度存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (9)

1.一种跨平台的升级系统,其特征在于,它包括:数据库、升级服务器、监控台、数据接口、交换机和多个客户端;所述的升级服务器通过无线或者有线网络分别与数据库、监控台互联,升级服务器通过数据接口与交换机相连,交换机与多个客户端相连。
2.根据权利要求1所述的一种跨平台的升级系统,其特征在于:所述的升级服务器包括通信层、数据层、业务逻辑层和应用层。
3.根据权利要求1所述的一种跨平台的升级系统,其特征在于:
所述的应用层包括版本导入模块与版本查询模块,
所述的业务逻辑层包括版本管理模块和升级逻辑模块。
4.根据权利要求1所述的一种跨平台的升级系统,其特征在于:所述的数据库为SQList数据库。
5.根据权利要求1-4任意一项所述的一种跨平台的升级方法,其特征在于,包括如下步骤:
S0001当前版本查询:利用版本库查询对平台客户端的当前所有的版本进行查询,并判断升级服务器是否已经全部包括所有版本;
S0002导入版本:将未包括的版本通过应用层的版本导入模块将其导入至升级服务器中;
S0003所有版本存储:将导入的版本通过版本管理模块进行保存,并为应用层提供调用接口;
S0004推送升级消息:升级服务器的升级逻辑模块将升级消息推送至Windows或linux平台的客户端;
S0005判断是否升级:判断客户端返回指令,若用户同意升级,则使用TCP通信和SQLite数据库将指定版本程序传输至客户端,若用户不同意升级,则不进行更新;
S0006确认升级:监控台采用提示是否升级来确认是否立即升级;
S0007客户端将接收到的最新版本信息进行解压安装。
6.根据权利要求5所述的一种跨平台的升级方法,还包括:将新版本进行导入时不进行压缩,将最新版本导入升级服务器后由省级服务器对其进行压缩。
7.根据权利要求5所述的一种跨平台的升级方法,其特征在于:所述的所有版本存储,是利用INI文件记录当前的加载的程序版本号,每一个版本程序都被指定一个程序版本号。
8.根据权利要求5所述的一种跨平台的升级方法,其特征在于:所述的推送升级消息,升级服务器将所有版本信息推送至客户端,用户根据实用需求选择合适版本。
9.根据权利要求8所述的一种跨平台的升级方法,其特征在于:所述的版本信息为所有版本程序的版本号。
CN201710446781.0A 2017-06-14 2017-06-14 一种跨平台远程升级系统及方法 Pending CN107092512A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710446781.0A CN107092512A (zh) 2017-06-14 2017-06-14 一种跨平台远程升级系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710446781.0A CN107092512A (zh) 2017-06-14 2017-06-14 一种跨平台远程升级系统及方法

Publications (1)

Publication Number Publication Date
CN107092512A true CN107092512A (zh) 2017-08-25

Family

ID=59640020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710446781.0A Pending CN107092512A (zh) 2017-06-14 2017-06-14 一种跨平台远程升级系统及方法

Country Status (1)

Country Link
CN (1) CN107092512A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527381A (zh) * 2020-12-07 2021-03-19 南京能云电力科技有限公司 多平台软件版本管理及更新系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070244905A1 (en) * 2006-04-14 2007-10-18 Fujitsu Limited Computer-readable recording medium containing application management program, and method and apparatus for application management
CN101477647A (zh) * 2008-12-18 2009-07-08 上海宝钢钢材贸易有限公司 业务流程展现控制系统
CN101945135A (zh) * 2010-09-20 2011-01-12 中兴通讯股份有限公司 一种widget系统的升级方法及系统
CN102004634A (zh) * 2009-09-01 2011-04-06 上海杉达学院 分层的业务管理系统
CN102387165A (zh) * 2010-08-27 2012-03-21 腾讯科技(深圳)有限公司 软件升级系统及方法
US20150100955A1 (en) * 2012-06-13 2015-04-09 Tencent Technology (Shenzhen) Company Limited Method and System for Updating Software

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070244905A1 (en) * 2006-04-14 2007-10-18 Fujitsu Limited Computer-readable recording medium containing application management program, and method and apparatus for application management
CN101477647A (zh) * 2008-12-18 2009-07-08 上海宝钢钢材贸易有限公司 业务流程展现控制系统
CN102004634A (zh) * 2009-09-01 2011-04-06 上海杉达学院 分层的业务管理系统
CN102387165A (zh) * 2010-08-27 2012-03-21 腾讯科技(深圳)有限公司 软件升级系统及方法
CN101945135A (zh) * 2010-09-20 2011-01-12 中兴通讯股份有限公司 一种widget系统的升级方法及系统
US20150100955A1 (en) * 2012-06-13 2015-04-09 Tencent Technology (Shenzhen) Company Limited Method and System for Updating Software

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘宪利等: "《Objective-C程序设计入门与实践》", 中国铁道出版社, pages: 305 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527381A (zh) * 2020-12-07 2021-03-19 南京能云电力科技有限公司 多平台软件版本管理及更新系统
CN112527381B (zh) * 2020-12-07 2021-12-07 南京能云电力科技有限公司 多平台软件版本管理及更新系统

Similar Documents

Publication Publication Date Title
US10768919B2 (en) Package installation on a host file system using a container
CN106528224B (zh) 一种Docker容器的内容更新方法、服务器及系统
CN107220142B (zh) 执行数据恢复操作的方法及装置
US9071627B2 (en) Method and system for cloning applications from an electronic source device to an electronic target device
CN102939579A (zh) 绑定用户接口元素和粒度反映处理的方法和装置
CN102971707A (zh) 为软件包安装配置计算机系统
CN102985922A (zh) 在计算空间中管理分布计算的方法和装置
CN106648994B (zh) 一种备份操作日志的方法,设备和系统
US8108864B2 (en) Method and system for dynamically tracking arbitrary task dependencies on computers in a grid environment
CN105283847A (zh) 本地存储数据版本控制
CN101896889A (zh) 无线终端、无线终端的非易失存储器、诊断信息的可靠性保存方法
CN113938321B (zh) 可扩展的运维管理系统、方法、电子设备和可读存储介质
US20140359077A1 (en) Method and apparatus for transmitting symbol files
CN115421968A (zh) 数据恢复方法及电子设备
CN108345462A (zh) 组件升级的方法和装置
CN111259066A (zh) 服务器集群数据同步方法及装置
CN107092512A (zh) 一种跨平台远程升级系统及方法
CN112433780A (zh) 客户端插件化方法方法、装置、电子设备及存储介质
CN116418791A (zh) 固件升级方法、固件升级系统、服务器及存储介质
CN116028099A (zh) 一种安装包生成的方法及相关装置、设备和存储介质
CN108650320B (zh) 一种集群环境下同构级联设备配置文件同步方法
CN113515293A (zh) 一种管理DevOps工具链的方法和系统
CN112948593A (zh) 知识图谱的生成方法、装置、设备和介质
US20210049025A1 (en) Electronic apparatus and object sharing method thereof
CN108874625A (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

Application publication date: 20170825

RJ01 Rejection of invention patent application after publication