发明内容
本发明的目的在于解决现有技术中仅能根据版本号的异同来判断升级与否,无法实现系统配置信息的灵活修改,若需要修改配置信息,则所有的设备都必须修改为完全相同的配置或者升级至完全相同的目标版本的问题。
为实现上述发明目的,本发明提供了一种实现网络终端设备配置自动更新的方法,所述方法包括:
解释执行预先设置的升级策略脚本,获取与网络终端设备本地配置信息对应的目标文件信息,并触发网络终端设备执行配置自动更新操作;
所述升级策略脚本通过脚本语言设置有网络终端设备的配置信息,以及与所述配置信息对应的目标文件信息。
所述解释执行所述升级策略脚本的步骤进一步包括:
2.1解释所述升级策略脚本,根据所述升级策略脚本中的配置函数调用所述网络终端设备中待升级程序的对应接口函数;
2.2根据所述待升级程序的接口函数返回的配置信息读取所述升级策略脚本中对应的目标文件信息;
2.3触发网络终端设备执行配置自动更新流程。
所述配置信息包括网络终端设备的软硬件版本号或/和系统配置参数。
所述配置自动更新包括待升级程序的自动升级或/和系统配置信息的自动修改。
所述脚本语言包括JavaScript。
所述脚本解释器为HTML浏览器或者网络终端设备中的待升级程序。
为实现上述发明目的,本发明还提供了一种实现网络终端设备配置自动更新的系统,所述系统包括:
升级策略脚本生成器,设置于升级服务器,设置升级策略脚本,所述升级策略脚本通过脚本语言设置有网络终端设备的配置信息,以及与所述配置信息对应的目标文件信息;
脚本解释器,设置于网络设备终端,用于解释执行所述升级策略脚本,获取与网络终端设备本地配置信息对应的目标文件信息,并触发网络终端设备执行配置自动更新操作。
所述配置自动更新包括待升级程序的自动升级或/和系统配置信息的自动修改。
所述配置信息包括网络终端设备的软硬件版本号或/和系统配置参数。
所述脚本解释器为HTML浏览器或网络终端设备中的待升级程序。
通过本发明,可以根据不同的网络终端设备以及网络终端设备的不同配置情况,灵活实现网络终端设备配置的自动更新,解决了现有技术中无法针对不同的网络终端设备进行区别性配置更新的问题。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明中,升级服务器通过脚本语言设置与网络终端设备的配置信息对应的目标文件信息,网络终端设备通过解释执行脚本指令,获取与本地配置信息对应的目标文件信息,然后获取目标文件完成网络终端设备配置的自动更新,包括程序的自动升级以及系统配置信息的自动修改。
图2示出了适用本发明的网络结构,网络终端设备200通过FTP(FileTransfer Protocol,文件传送协议)或HTTP(Hypertext Transfer Protocol,超文本传输协议)与升级服务器100相连,从升级服务器100上下载升级策略脚本和目标程序。
升级策略脚本生成器101采用通用的脚本语言编写升级策略脚本。由于大多数网络终端设备都支持HTML(Hyper Text Markup Language,超文本标识语言)浏览器,而支持HTML浏览器通常也支持JavaScript脚本语言。因此,在本发明中选用JavaScript脚本语言的语法来对升级策略脚本进行描述,当然也可以通过其他的脚本语言实现。
升级策略脚本中包含了网络终端设备的配置信息,以及与网络终端设备的配置信息对应的目标文件信息。
在本发明中,网络终端设备配置自动更新的升级策略可以根据网络终端设备的配置信息以及目标程序情况灵活设置,例如:
(1)以网络终端设备当前的软硬件版本号作为网络终端设备配置自动更新的依据;
(2)以网络终端设备当前的一项或者多项配置参数作为网络终端设备配置自动更新的依据;
(3)以网络终端设备当前的软硬件版本号+一项或者多项配置参数作为网络终端设备配置自动更新的依据;
(4)以网络终端设备当前的软硬件版本号作为依据,修改当前的配置信息;
(5)以网络终端设备当前的一项或者多项配置参数作为判断依据,修改当前的配置信息;
(6)以网络终端设备当前的版本号+一项或者多项配置参数作为判断依据,修改当前的配置信息;
(7)以网络终端设备当前的软硬件版本号作为判断依据,修改当前的配置信息,并选择待升级的目标程序进行升级;
(8)以网络终端当前的一项或者多项配置参数作为判断依据,修改当前的配置信息,并选择待升级的目标程序进行升级;
(9)以网络终端当前的软硬件版本号+一项或者多项配置参数作为判断依据,修改当前的配置信息,并选择待升级的目标文件进行升级等。
网络终端设备的配置信息根据升级策略的不同会有所不同,例如选择根据网络终端设备当前待升级程序的版本号进行升级时,配置信息中包含有当前待升级程序的版本号;选择根据网络终端设备的硬件信息进行升级时,配置信息中包含网络终端设备的各种软硬件参数信息,如CPU的型号、硬盘的大小等等。作为本发明的一个实施例,目标文件信息是与网络终端设备的相应配置信息对应的目标程序的文件名或者访问路径。
升级策略脚本中包含有一系列配置函数,用于获取网络终端设备的配置信息、设置指定配置项以及发起针对指定目标文件的升级流程等,具体需要完成的功能可以根据软件升级或配置更新的需求灵活定义。脚本解释器201通过解释执行这些配置函数,可以获取与本地配置信息相对应的目标文件信息。
以下通过示例对升级策略脚本进行具体说明:
以网络终端当前待升级程序的版本号作为判断依据选择待升级的目标文件为例:
//完成策略:
//版本号为VERSION_1的用户,使用文件″ObjectFile1″进行升级;
//版本号为VERSION_2.5的用户,使用文件″ObjectFile2″进行升级;
//其余情况不改变版本;
//对应该策略的升级策略脚本伪代码为:
var Current Version=GetCurrent Version(SOFTWARE);
if(Current Version==VERSION_1)Upgrate To Version(ObjectFile1);
else if(Current Version>=VERSION_2.5)Upgrate To Version(ObjectFile2);
else DoNothing();
以网络终端设备当前的某项配置信息作为判断依据选择待升级的目标文件为例:
//完成策略:
//当前用户名中包含“sz”的设备,使用文件″ObjectFile1″进行升级;
//当前用户名中包含“gd”的设备,使用文件″ObjectFile2″进行升级;
//其余情况不改变版本;
//对应该策略的升级策略脚本伪代码为:
var CurrentConf_Para_1=GetCurrentPARA(USERNAME);
if(IfStringInlucde(CurrentConf_Para_1,"sz")==TRUE)Upgrate To Version(ObjectFile1);
else if(CurrentConf_Para_1=="gd")Upgrate To Version(ObjectFile2);
else DoNothing();
以网络终端设备的当前待升级程序的版本号+某项配置信息作为判断依据选择待升级的目标文件为例;
//完成策略:
//当前版本号为VERSION_1,且当前用户名中包含“sz”的设备,使用文件″ObjctFile1″进行升级;
//当前版本号为VERSION_1,且当前用户名中包含“gz”的设备,使用文件″ObjectFile2″进行升级;
//当前版本号小于VERSION_3,且当前用户名中包含“gd”的设备,使用文件″ObjectFile3″进行升级;
//其余情况不改变版本;
//对应该策略的升级策略脚本伪代码为:
var Current Version=GetCurrent Version(SOFTWARE);
var CurrentConf_Para_1=GetCurrentPARA(USERNAME);if(CurrentVersion==VERSION_1 && CurrentConf_Para_1=="sz")Upgrate To Version(ObjectFile1);
else if(CurrentVersion==VERSION_1 && CurrentConf_Para_1=="gz")Upgrate To Version(ObjectFile2);
else if(CurrentVersion<=VERSION_3 && CurrentConf_Para_1=="gd")Upgrate To Version(ObjectFile3);
else DoNothing();
在其他配置信息情况下,升级策略脚本的实现与上述类似,不再赘述。
目标程序库102存储了网络终端设备200进行软件升级或者配置信息更新所需要的目标程序,当网络终端设备200获取与本地配置信息对应的目标文件信息时,网络终端设备200可以登录升级服务器100,下载目标程序库102中相应的目标程序进行安装更新。
作为本发明的一个实施例,脚本解释器201可以是网络终端设备的HTML浏览器,HTML浏览器须提供对升级策略脚本中的配置函数的处理功能,实现升级策略脚本中的配置函数与待升级程序中接口函数的对应调用关系,并进行参数传递及对返回值的处理。
作为本发明的另一个实施例,脚本解释器201可以是待升级程序202提供的脚本解释功能模块。由于系统配置信息、版本号等应该是由网络终端设备200自身提供,所以该脚本解释功能模块通过一些函数,例如设置/读取配置信息的函数、发起升级流程的函数解释执行升级策略脚本,获取网络终端设备200的配置信息以及对应的目标文件信息。
待升级程序202是网络终端设备200当前运行的待升级的程序,待升级程序202中具有一系列接口函数,与升级策略脚本中的配置函数形成对应关系,并完成相应配置函数所需要执行的功能,例如设置/读取系统配置信息、发起下载目标程序的流程等。
以脚本语言是JavaScript为例,系统启动后,脚本解释器201根据JavaScript的语法对脚本进行解释执行,遇到升级策略脚本中自定义的JavaScript函数时,再由脚本解释器201根据自定义的函数名调用待升级程序202的接口函数,并将相应的参数下发给待升级程序202的接口函数。接口函数完成相应的操作后,例如设置/读取系统配置信息、发起下载目标程序的流程后返回相应的信息给脚本解释器101,脚本解释器101再根据接口函数的返回值来解释执行后续的升级策略脚本。
图3中示出了本发明提供的配置自动更新的实现流程,详述如下:
在步骤S301中,网络终端设备200自动升级流程被触发,从升级服务器100上下载升级策略脚本。获取升级策略脚本应使用可靠的传输协议,例如FTP(File Transfer Protocol,文件传送协议)或HTTP(Hypertext Transfer Protocol,超文本传输协议)。
在步骤S302中,网络终端设备200判断从服务器100上下载升级策略脚本文件是否成功,是则执行步骤S303,否则结束流程。
在步骤S303中,网络终端设备200获得升级策略脚本后,通过脚本解释器201对升级策略脚本进行解释执行,获取与本地配置信息对应的目标程序文件信息,根据获取的目标程序文件信息向升级服务器请求获取对应的目标程序,将本地软件程序自动升级至目标程序,或者修改本地配置。
图4示出了脚本解释器201的对升级策略脚本进行解释执行的实现流程,详述如下:
在步骤S401中,升级策略脚本解释执行任务启动后,判断是否到达升级策略脚本的结束位置,是则升级策略脚本解释执行结束,否则执行步骤S402;
在步骤S402中,读取升级策略脚本并按照脚本语言的语法进行解释执行;
在步骤S403中,判断是否调用了升级策略脚本中自定义的配置函数,是则执行步骤S404,否则返回步骤S401;
在步骤S404中,当脚本解释器201遇到升级策略脚本中的配置函数时,根据配置函数的函数名调用待升级程序202的接口函数,并将相应的参数下发给接口函数;
在步骤S405中,待升级程序202的接口函数完成相应的操作,例如设置/读取系统配置信息、发起下载目标程序的流程后,返回相应的信息给脚本解释器201;
在步骤S406中,脚本解释器201根据待升级程序202的接口函数的返回值来解释执行升级策略脚本的后续部分。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。