一种跨平台远程升级系统及方法与流程

文档序号:11458507阅读:259来源:国知局
一种跨平台远程升级系统及方法与流程

本发明涉及跨平台升级领域,尤其是一种跨平台的升级系统及方法。



背景技术:

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位,系统版本从最初的windows1.0到大家熟知的windows95、windows98、windowsme、windows2000、windows2003、windowsxp、windowsvista、windows7、windows8、windows8.1、windows10和windowsserver服务器企业级操作系统,不断持续更新,微软一直在致力于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-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1