发明内容
(一)要解决的技术问题
本公开提供了一种服务器端进行设备固件升级的方法及系统,以至少部分解决以上所提出的技术问题。
(二)技术方案
根据本公开的一个方面,提供了一种服务器端进行设备固件升级的方法,包括:
配置待更新的第一固件的下载链接,并设置需更新设备的标识信息;
根据设备客户端网络信息,判断设备客户端是否在线:若判断设备客户端不在线则不对其进行更新;若设备客户端在线则建立TCP连接;
获取客户端的第二固件的第二固件信息,读取更新的第一固件的第一固件信息,将第一固件信息与第二固件信息进行比较,如果所述第一固件信息与第二固件信息相同则不进行更新,如果所述第一固件信息与第二固件信息不同则向客户端发送第一固件;
接收并保存客户端发送的固件更新完成信息。
在本公开一些实施例中,当有对产测设备更新固件的需求时,服务器配置需要更新的固件下载链接及对应设备的标识信息。
在本公开一些实施例中,服务器定期自动配置设备需要更新的固件下载链接及对应设备的标识信息。
在本公开一些实施例中,所述设备的标识信息为设备的MAC地址或设备编码信息。
在本公开一些实施例中,所述设备客户端网络信息通过服务器数据库中保存的设备网络信息获取,或实时在线监测对应需要更新的设备地址的连接情况,确认其是否在线。
在本公开一些实施例中,服务器与客户端建立TCP连接后发出指令,令客户端上传第二固件信息,服务器对获取到的固件信息进行保存;
第一固件信息由服务器通过所述下载链接直接读取,或在配置更新固件版本时将第一固件信息保存在服务器数据库。
在本公开一些实施例中,所述第一固件信息与第二固件信息为固件版本号或固件特征参数。
在本公开一些实施例中,固件更新完成信息包括更新完成时间、固件版本号及设备编号。
根据本公开的另一个方面,提供了一种服务器端进行设备固件升级的系统,包括:
配置更新单元,配置待更新的第一固件的下载链接,设置需更新设备的标识信息;
在线判断单元,根据网络信息,判断设备客户端是否在线:若判断设备客户端不在线则不对其进行更新,若设备客户端在线则建立TCP连接;
比较单元,获取客户端的第二固件的第二固件信息,读取更新的第一固件的第一固件信息,将第一固件信息与第二固件信息进行比较,如果所述第一固件信息与第二固件信息相同则不进行更新,如果所述第一固件信息与第二固件信息不同则向客户端发送第一固件;
更新信息存储单元,接收并保存客户端发送的固件更新完成信息。
在本公开一些实施例中,配置更新单元在接收到对产测设备更新固件的请求时,更新固件下载链接及对应设备的标识信息。
在本公开一些实施例中,配置更新单元定期自动配置设备需要更新的固件下载链接及对应设备的标识信息。
在本公开一些实施例中,所述设备的标识信息为设备的MAC地址或设备编码信息。
在本公开一些实施例中,所述在线判断单元包括网络信息获取单元,用于通过服务器数据库获取保存的设备客户端网络信息,或在线监测需要更新的设备地址的连接情况。
在本公开一些实施例中,所述比较单元包括固件信息读取单元,用于获取并保存客户端上传第二固件信息;以及通过所述下载链接直接读取第一固件信息或在配置更新固件版本时将第一固件信息保存在服务器数据库。
在本公开一些实施例中,所述第一固件信息与第二固件信息为固件版本号或固件特征参数。
在本公开一些实施例中,固件更新完成信息包括更新完成时间、固件版本号及设备编号。
(三)有益效果
从上述技术方案可以看出,本公开服务器端进行设备固件升级的方法及系统至少具有以下有益效果其中之一:
(1)通过服务器端对客户端的控制,可批量统一管理,指定固件版本进行设备固件的更新,减少出错的几率,节省人力,提高生产效率;
(2)固件更新链接可以定制,并能灵活更新固件版本,以及更新多种固件,从而提高更新效率。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
本公开某些实施例于后方将参照所附附图做更全面性地描述,其中一些但并非全部的实施例将被示出。实际上,本公开的各种实施例可以许多不同形式实现,而不应被解释为限于此数所阐述的实施例;相对地,提供这些实施例使得本公开满足适用的法律要求。
在本公开的第一个示例性实施例中,提供了一种服务器端进行设备固件升级的方法。图1为本公开服务器端进行设备固件升级的方法流程图。如图1所示,本公开服务器端进行设备固件升级的方法包括:
步骤S1,配置待更新的第一固件的下载链接,设置需更新设备的标识信息;
步骤S2,根据设备客户端网络信息,判断设备客户端是否在线:若判断设备客户端不在线则不对其进行更新;若设备客户端在线则建立TCP连接;
步骤S3,获取客户端的第二固件的第二固件信息,读取更新的第一固件的第一固件信息,将第一固件信息与第二固件信息进行比较,如果所述第一固件信息与第二固件信息相同则不进行更新,如果所述第一固件信息与第二固件信息不同则向客户端发送第一固件;
步骤S4,接收并保存客户端发送的固件更新完成信息。
以下分别对本实施例服务器端进行设备固件升级的方法的各个步骤进行详细描述。
在所述步骤S1中,所述设备的标识信息可以为设备的MAC地址、设备编码信息及固件版本号等。每个固件通常对应一个固定的下载地址,更新固件版本时需要将新的固件设置新的下载链接。在一些实施例中,当有对产测设备更新固件的需求时,服务器配置好需要更新的固件下载链接,设备MAC地址等信息;在不同实施例中,所述产测设备需要定期更新固件,此时服务器定期自动配置需要更新的固件下载链接。
所述设备MAC地址用于匹配需要更新的设备客户端,使得客户端在建立连接后能够成功获取更新的固件。在另一些实施例中,所述设备的标识信息还可以为设备编码信息。客户端在建立连接后通过比对设备编码信息,确定是否属于需要更新固件的型号。
在本实施例所述步骤S2中,网络信息通过服务器数据库中保存的设备网络信息获取。当设备的客户端在线后,会将在线状态保存在服务器数据库中。当需要判断客户端是否在线时,通过数据库中保存的在线状态进行判断。
特别地,服务器数据库仅保存当前在线的客户端的在线状态,当客户端下线时,将其在线状态从服务器数据库中删除,在判断在线状态时,将设备MAC地址与数据库中存储的在线的客户端地址进行比对。在不同实施例中,所述网络信息还可以通过服务器在线监测对应需要更新的设备的MAC地址,从而确认其是否在线。
如果判断产测设备客户端不在线则不对其进行更新,则更新流程结束或用户可选择地进行循环判断在线情况,即返回步骤S2重新进行在线判断;如果判断设备客户端在线,则服务器根据需要更新的设备的MAC地址,与其建立TCP连接。
所述步骤S3中,所述第二固件信息通过TCP连接获取,服务器与客户端建立连接后会发出指令,令客户端上传第二固件信息,服务器对获取到的固件信息进行保存;所述第一固件信息由服务器通过所述下载链接直接读取,或在配置更新固件版本时将其版本号保存在服务器数据库,以便在与第二固件信息比对前读取。
在一些实施例中,所述第一固件信息与第二固件信息为固件版本号;在不同实施例中,所述第一固件信息与第二固件信息还可以为固件特征参数。
服务器将读取的第一固件信息与第二固件信息进行比对,一致说明设备固件已经是最新版本,不用再次更新,如果不一致则更新固件。当第一固件信息与第二固件信息不同时,则服务器通过第一固件的下载链接获取第一固件,并向客户端发送。
所述步骤S5中,固件更新完成信息包括更新完成时间、固件版本号、设备编号等信息。服务器先将要更新的固件信息发送至客户端,客户端执行固件更新脚本,更新完成后向服务器上传相关信息,包括固件版本号、脚本版本号、MAC地址等,服务器再次保存上述信息,保证存储设备的最新固件信息。
图2为本公开服务器端进行产测设备固件升级的一具体实施例方法流程图。如图2所示,当有对产测设备更新固件的需求时,需要在服务端配置好需要更新的固件下载链接,并根据生产线的具体需要设置需更新管脚的设备MAC地址等信息。
在设置好需要更新的固件下载链接及需更新设备的计算机MAC地址等信息后,服务器首先获取产测设备的网络信息。
本实施例中,服务器根据数据库中保存的产测设备MAC地址的连接状态判断是否在线。特别地,当设备的客户端在线后,会将MAC地址的连接状态在服务器数据库中,当客户端下线时,将其在线状态从服务器数据库中删除。服务器在判断在线状态时,将需更新设备的计算机MAC地址与数据库中存储的在线的客户端地址进行比对,从而确认其是否在线。
如果判断产测设备客户端不在线则不对其进行更新,更新流程结束;如果判断设备客户端在线,则服务器根据需要更新的设备的MAC地址,与其建立TCP连接。
在与需要更新的设备的MAC地址建立TCP连接后,服务器通过脚本获取当前设备固件信息,在本实施例中,所述固件信息为客户端的第二固件版本号,服务器通过执行脚本向设备客户端发送指令,客户端接收到指令后会上传其第二固件版本号,再由服务器接收客户端返回的第二固件版本号;
服务器对获取到的第一固件版本号进行保存,同时,服务器需要读取用户配置的第一固件版本号,并对比二者是否一致,一致说明不用更新,可直接结束更新流程;如果不一致则说明需要更新固件。在本实施例中,服务器通过服务器数据库获取第一固件版本号,该第一固件版本号为服务器配置更新固件版本时其保存在服务器数据库的需要更新的固件版本号;
当服务器读取用户配置的第一固件版本号与设备客户端上传的第二固件版本号不一致时,执行服务器的固件更新脚本,服务器通过之前设置好的需要更新的固件下载链接,下载固件信息,并将要更新的固件发送至设备客户端;
设备客户端更新完成后向服务端上传相关信息,包括固件版本号、MAC地址及更新时间等信息,服务端再次保存此信息,保证服务器数据库中存储产测设备的最新固件信息。
在其他实施例中,服务器可以将需要更新的固件信息发送至客户端,例如固件版本号,此时由客户端执行固件更新脚本,通过该固件信息对应的下载连接下载固件,并进行更新。在该实施例中,所述设备客户端在执行完固件更新脚本后,也需要向服务器上传更新的相关信息,包括脚本版本号、固件版本号、MAC地址及更新时间等信息。
通过上述服务器端进行设备固件升级的方法,实现了服务器端对客户端的控制,可批量统一管理,指定固件版本进行更新产测设备的固件,减少出错的几率,节省人力,提高生产效率;同时固件更新链接可以定制,并能灵活更新固件版本,以及更新多种固件,从而提高更新效率。
当然,根据实际需要,本公开显示装置的制备方法还包含其他的和步骤,由于同本公开的创新之处无关,此处不再赘述。
在本公开的第二个示例性实施例中,提供了一种服务器端进行设备固件升级的系统。本公开服务器端进行设备固件升级的系统包括:配置更新单元,在线判断单元,比较单元及更新信息存储单元。以下分别对本实施例服务器端进行设备固件升级的系统的各个部分进行详细描述。
配置更新单元配置待更新的第一固件的下载链接,设置需更新设备的标识信息。在本实施例中,配置更新单元设置的所述设备的标识信息为设备的MAC地址。每个固件通常对应一个固定的下载地址,更新固件版本时需要将新的固件设置新的下载链接。当有对产测设备更新固件的需求时,服务器配置好需要更新的固件下载链接,设备MAC地址等信息。
所述设备MAC地址用于匹配需要更新的设备客户端,使得客户端在建立连接后能够成功获取更新的固件。在另一些实施例中,所述设备的标识信息还可以为设备编码信息。客户端在建立连接后通过比对设备编码信息,确定是否属于需要更新固件的型号。
在线判断单元根据网络信息,判断设备客户端是否在线:若判断设备客户端不在线则不对其进行更新;若设备客户端在线则建立TCP连接。
在线判断单元包括网络信息获取单元,用于读取服务器数据库中保存的设备网络信息。当设备的客户端在线后,会将在线状态保存在服务器数据库中。当需要判断客户端是否在线时,通过数据库中保存的在线状态进行判断。
特别地,服务器数据库仅保存当前在线的客户端的在线状态,当客户端下线时,将其在线状态从服务器数据库中删除,在判断在线状态时,将设备MAC地址与数据库中存储的在线的客户端地址进行比对。在不同实施例中,所述包括网络信息获取单元还可以通过服务器在线监测对应需要更新的设备的MAC地址,从而确认其是否在线。
比较单元获取客户端的第二固件的第二固件信息,读取更新的第一固件的第一固件信息,将第一固件信息与第二固件信息进行比较,如果所述第一固件信息与第二固件信息相同则不进行更新,如果所述第一固件信息与第二固件信息不同则向客户端发送第一固件;
比较单元包括固件信息读取单元,通过TCP连接获取所述第二固件信息。服务器与客户端建立连接后会发出指令,令客户端上传第二固件信息,服务器对获取到的固件信息进行保存;所述第一固件信息由服务器通过所述下载链接直接读取,或在配置更新固件版本时将其版本号保存在服务器数据库,以便在与第二固件信息比对前读取。
在一些实施例中,所述第一固件信息与第二固件信息为固件版本号;在不同实施例中,所述第一固件信息与第二固件信息还可以为固件特征参数。
服务器将读取的第一固件信息与第二固件信息进行比对,一致则说明设备固件已经是最新版本,不用再次更新,如果不一致则更新固件。当第一固件信息与第二固件信息不同时,则服务器通过第一固件的下载链接获取第一固件,并向客户端发送。
更新信息存储单元接收并保存客户端发送的固件更新完成信息。所述更新信息存储单元保存的固件更新完成信息包括更新完成时间、固件版本号、设备编号等信息。服务器先将要更新的固件信息发送至客户端后,客户端执行固件更新脚本,更新完成后向服务器的更新信息存储单元上传相关信息,包括更新完成时间、固件版本号、脚本版本号、MAC地址等,更新信息存储单元再次保存此信息,保证存储设备的最新固件信息。
为了达到简要说明的目的,上述实施例一中任何可作相同应用的技术特征叙述皆并于此,无需再重复相同叙述。
本公开服务器端进行设备固件升级的系统及方法,实现了设备固件的批量更新,将对设备客户端进行固件升级的主动权交至服务器端,从而可以由服务器进行设备客户端的统一管理,该设备集中管理的方式,使得设备不需要制定专人维护设备,并且不会因为操作失误而导致大量重复的工作,延长产品出厂时间;同时避免了在每一台设备的客户端请求更新,导致工作效率低下,耗费人力及时间的问题,以及避免了出现设备遗漏更新的情况。
至此,已经结合附图对本公开实施例进行了详细描述。需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换。
此外,除非特别描述或必须依序发生的步骤,上述步骤的顺序并无限制于以上所列,且可根据所需设计而变化或重新安排。并且上述实施例可基于设计及可靠度的考虑,彼此混合搭配使用或与其他实施例混合搭配使用,即不同实施例中的技术特征可以自由组合形成更多的实施例。
在此提供的方法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的内容,并且上面对特定语言所做的描述是为了披露本公开的最佳实施方式。
本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开实施例的相关设备中的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。并且,在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。
类似地,应当理解,为了精简本公开并帮助理解各个公开方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,公开方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。