一种异构终端软件升级方法
技术领域
本发明涉及一种软件升级方法,具体地说,是涉及一种异构终端软件升级方法。
背景技术
目前终端软件的升级方法主要是通过补丁升级和程序替换,例如微软windows的补丁包和Android应用的程序替换升级,但几乎所有的升级都是基于版本管理的方式,即通过比较终端与服务器上升级包的版本号来确定是否升级。这种升级方式只能解决终端的目录结构一致情况下的软件升级问题,即下载的升级包内容一致,客户端虽然有版本的差异,但是通过迭代升级或者跨版本升级将终端的版本升级到服务器的最新版本,所有最新版本的目录结构和内容在完成升级后完全一样,而不能解决终端目录结构不一致的情况下的升级。
发明内容
本发明为了解决现有终端软件不能异构升级的技术问题,提出了一种异构终端软件升级方法,升级包根据设定的目的地到达节点服务器,终端根据自身的目录结构自适应升级内容,可以解决上述问题。
为了解决上述技术问题,本发明采用以下技术方案予以实现:
一种异构终端软件升级方法,包括中心服务器、分别与所述中心服务器连接的多个节点服务器,每个节点服务器连接有多个终端设备,不同节点服务器所连接的终端设备之间目录结构不一致,同一个节点服务器所连接的终端设备之间目录结构一致,所述终端设备软件升级方法包括以下步骤:
(1)、升级包的制作与发送步骤,所述中心服务器制作升级包,所述升级包中至少包括信息模块和资源模块,所述信息模块中包含目标节点服务器ID、更新指令、资源模块在终端设备的位置信息、以及资源模块的网络路径,所述中心服务器将所述信息模块分发至各节点服务器;这种包含目标节点服务器ID的升级包方式,升级包内容独立,与***的耦合度低,灵活、多任务、可减少人工干预和手动操作。
(2)、节点服务器下载升级包步骤,所述各节点服务器接收信息模块,读取信息模块中的目标节点服务器ID,并判断是否包含本节点服务器ID,若是,则从中心服务器读取资源模块中的网络路径,并下载资源模块;节点服务器的引入使升级有序且节约网络带宽,信息模块的数据量较少,节点服务器根据信息模块只下载需要的资源模块,不是自己的升级不下载,节约了互联网带宽。
(3)、所述节点服务器将信息模块和所下载的资源模块存储至终端升级池,并将信息模块中所记载的资源模块的网络路径修改为资源模块终端ID,所述资源模块终端ID为节点服务器所下载的资源模块在本地终端升级池中的地址,同时更新本节点服务器的节点服务器记录表,所更新的内容至少包括升级包名称、信息模块终端ID、信息模块的下载状态、资源模块的下载状态,所述信息模块终端ID为节点服务器所下载的信息模块在本地终端升级池中的地址;节点服务器将升级包缓存在本地终端升级池,通过局域网给终端提供升级,避免终端直接访问中心服务器,进一步节约了互联网带宽。
(4)、终端设备目录更新结构步骤,终端设备访问与其连接的节点服务器的节点服务器记录表,发现有新的升级包后查询自己是否已经下载该新的升级包中的信息模块,如果未下载,则下载信息模块,并从所下载的信息模块中解析出资源模块在终端设备的位置信息,并与自己的目录结构对比,根据更新指令确定在指定目录下新建、删除还是修改目录结构;更新指令由终端程序解析执行,不是程序,结构简单,升级灵活,使得升级过程更智能。
(5)、终端设备下载资源模块步骤,终端设备更新目录结构后读取信息模块中所记载的资源模块的网络路径,并从该路径下载资源模块,完成升级。
进一步的,所述步骤(2)中,所述中心服务器中维护有中心服务器记录表,所述节点服务器将资源模块下载完成后发送信息给中心服务器,所述中心服务器修改中心服务器记录表,所述中心服务器记录表中至少包括升级包名称、下载信息模块的节点服务器ID、信息模块下载状态、资源模块下载状态信息。
进一步的,所述中心服务器通过检查所述中心服务器记录表,判断该升级包所对应的所有目标节点服务器ID的服务器是否全部下载完毕,若是,则将中心服务器记录表中所记载的信息转入历史记录,并清空中心服务器记录表。
进一步的,所述步骤(4)中,所述终端设备将信息模块下载完毕后通知其所连接的节点服务器,在节点服务器记录表中修改该终端的信息模块下载状态。
进一步的,所述步骤(5)中,所述终端设备将资源模块下载完毕后通知其所连接的节点服务器,在节点服务器记录表中修改该终端的资源模块下载状态。
进一步的,所述步骤(5)中,所述节点服务器每次修改节点服务器记录表中的资源模块下载状态时,检测本节点服务器连接的全部终端是否均已成功下载资源模块,如果全部下载成功,则将节点服务器记录表中该次升级包内容存入日志,并清空节点服务器记录表。
与现有技术相比,本发明的优点和积极效果是:本发明的异构终端软件升级方法,通过将升级包分为信息模块和资源模块,首先由节点服务器下载信息模块判断是否适合自己升级,适合升级的再根据信息模块指定的路径下载资源模块,与该节点服务器连接的终端设备再从该节点服务器中下载升级,从而达到与本节点服务器连接的终端设备自适应升级的目的,解决了由同一中心服务器为异构终端设备升级的问题。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所提出的异构终端软件升级方法的一种实施例***方框图;
图2是本发明所提出的异构终端软件升级方法的一种实施例中分发到节点服务器流程图;
图3是本发明所提出的异构终端软件升级方法的一种实施例中终端升级流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一,本实施例提出了一种异构终端软件升级方法,如图1所示,包括中心服务器、分别与所述中心服务器连接的多个节点服务器,每个节点服务器连接有多个终端设备,不同节点服务器所连接的终端设备之间目录结构不一致,同一个节点服务器所连接的终端设备之间目录结构一致,如图2、图3所示,图2为分发到节点服务器流程图,图3为终端升级流程图,本实施例的终端设备软件升级方法包括以下步骤:
S1、升级包的制作与发送步骤,所述中心服务器制作升级包,所述升级包中至少包括信息模块和资源模块,所述信息模块中包含目标节点服务器ID、更新指令、资源模块在终端设备的位置信息、以及资源模块的网络路径,所述中心服务器将所述信息模块分发至各节点服务器;
通过设置这种包含目标节点服务器ID的升级包方式,升级包内容独立,与***的耦合度低,灵活、多任务、可减少人工干预和手动操作。
S2、节点服务器下载升级包步骤,所述各节点服务器接收信息模块,读取信息模块中的目标节点服务器ID,并判断是否包含本节点服务器ID,若是,则从中心服务器读取资源模块中的网络路径,并下载资源模块;
节点服务器的引入使升级有序且节约网络带宽,信息模块的数据量较少,节点服务器根据信息模块只下载需要的资源模块,不是自己的升级不下载,节约了互联网带宽。
S3、所述节点服务器将信息模块和所下载的资源模块存储至终端升级池,并将信息模块中所记载的资源模块的网络路径修改为资源模块终端ID,所述资源模块终端ID为节点服务器所下载的资源模块在本地终端升级池中的地址,同时更新本节点服务器的节点服务器记录表,所更新的内容至少包括升级包名称、信息模块终端ID、信息模块的下载状态、资源模块的下载状态,所述信息模块终端ID为节点服务器所下载的信息模块在本地终端升级池中的地址;
节点服务器将升级包缓存在本地终端升级池,通过局域网给终端提供升级,避免终端直接访问中心服务器,进一步节约了互联网带宽。
S4、终端设备目录更新结构步骤,终端设备访问与其连接的节点服务器的节点服务器记录表,发现有新的升级包后查询自己是否已经下载该新的升级包中的信息模块,如果未下载,则下载信息模块,并从所下载的信息模块中解析出资源模块在终端设备的位置信息,并与自己的目录结构对比,根据更新指令确定在指定目录下新建、删除还是修改目录结构;
更新指令由终端程序解析执行,不是程序,结构简单,升级灵活,使得升级过程更智能。
S5、终端设备下载资源模块步骤,终端设备更新目录结构后读取信息模块中所记载的资源模块的网络路径,并从该路径下载资源模块,完成升级。
本实施例的异构终端软件升级方法,通过将升级包分为信息模块和资源模块,首先由节点服务器下载信息模块判断是否适合自己升级,适合升级的再根据信息模块指定的路径下载资源模块,与该节点服务器连接的终端设备再从该节点服务器中下载升级,从而达到与本节点服务器连接的终端设备自适应升级的目的,解决了由同一中心服务器为异构终端设备升级的问题。
所述步骤S2中,所述中心服务器中维护有中心服务器记录表,所述节点服务器将资源模块下载完成后发送信息给中心服务器,所述中心服务器修改中心服务器记录表,所述中心服务器记录表中至少包括升级包名称、下载信息模块的节点服务器ID、信息模块下载状态、资源模块下载状态信息。中心服务器记录表用于记载升级包名称,便于下载管理。
为了便于记录下一个升级包的信息,所述中心服务器通过检查所述中心服务器记录表,判断该升级包所对应的所有目标节点服务器ID的服务器是否全部下载完毕,若是,则将中心服务器记录表中所记载的信息转入历史记录,并清空中心服务器记录表。
所述步骤S4中,所述终端设备将信息模块下载完毕后通知其所连接的节点服务器,在节点服务器记录表中修改该终端的信息模块下载状态。
所述步骤S5中,所述终端设备将资源模块下载完毕后通知其所连接的节点服务器,在节点服务器记录表中修改该终端的资源模块下载状态。
所述步骤S5中,所述节点服务器每次修改节点服务器记录表中的资源模块下载状态时,检测本节点服务器连接的全部终端是否均已成功下载资源模块,如果全部下载成功,则将节点服务器记录表中该次升级包内容存入日志,并清空节点服务器记录表。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。