一种提高接收机固件升级效率的方法技术

技术编号:17654591 阅读:91 留言:0更新日期:2018-04-08 08:06
本发明专利技术提供了一种同时升级多台GNSS接收机固件的方法,包括如下步骤:S1、组建IP地址局域网,将运行固件升级的服务器以及需进行固件升级的多台GNSS接收机接入该局域网;S2、服务器运行升级程序;S3、输入其中一GNSS接收机的IP地址接入范围;S4、创建线程池并设置线程池参数,设置单个GNSS接收机升级任务;S5、根据设置的GNSS接收机的IP地址接入范围,服务器通过TCP通信连接其中一台GNSS接收机,连接建立后从线程池中取一线程,将固件升级文件推送给该GNSS接收机,GNSS接收机接收固件升级文件后进行固件升级;S6、进行内部线程池管理维护,并重复执行步骤S5,直到完成所有GNSS接收机的固件升级。本发明专利技术提供的服务器升级方式操作简单、使用方便。

【技术实现步骤摘要】
一种提高接收机固件升级效率的方法
本专利技术涉及到测绘领域,具体涉及到一种提高接收机固件升级效率的方法。
技术介绍
随着智能接收机应用的深入,常常需要对机器内固件程序进行更新升级,现阶段华测智能接收机的升级方式有以下两种:1、网页升级,网线或WiFi连接机器后。访问接收机内置网页,在网页中有固件升级项,可以发送升级固件到接收机,然后机器执行升级过程。2、U盘升级,将含有固件的U盘接入接收机,开机后接收机自动运行升级程序。以上两种方式,可以实现单个GNSS接收机的升级,但随着应用的深入,会出现一次性升级多台接收机(比如100+)情形,逐个升级接收机的方式需操作人员重复升级每一个机器,占用大量人力和资源,效率较低,不能满足用户的升级需求。
技术实现思路
基于现有技术中GNSS接收机升级较繁琐的问题,本专利技术给出了一种提高接收机固件升级效率的方法,利用现有的接收机网页升级方式,在多台接收机组网的情形下,在组网的服务器上运行升级服务程序,创建线程池,TCP连接内部网络的GNSS接收机,将升级固件通过http协议推送给每一个机器,提高机器升级效率。一种同时升级多台GNSS接收机固件的方法,包括如下步骤:S1、组建IP地址局域网,将运行固件升级的服务器以及需进行固件升级的多台GNSS接收机接入该局域网;S2、服务器运行升级程序;S3、输入其中一GNSS接收机的IP地址接入范围;S4、创建线程池并设置线程池参数,设置单个GNSS接收机升级任务;S5、根据设置的GNSS接收机的IP地址接入范围,服务器通过TCP通信连接其中一台GNSS接收机,连接建立后从线程池中取一线程,将固件升级文件推送给该GNSS接收机,GNSS接收机接收固件升级文件后进行固件升级;S6、进行内部线程池管理维护,并重复执行步骤S5,直到将固件升级文件推送给所有GNSS接收机,完成所有GNSS接收机的固件升级。上述的升级多台GNSS接收机固件的方法中,步骤S5具体包括:S5a、建立逐个IP地址80端口的TCP连接,以建立服务器与GNSS接收机之间的连接;S5b、判断服务器是否成功连接GNSS接收机,若连接成功在线程池中取一线程,在http协议下推送POST固件升级文件至该GNSS接收机;S5c、判断服务器是否成功发送固件升级文件至GNSS接收机,若成功发送,进行步骤S6。上述的升级多台GNSS接收机固件的方法中,步骤S5a和步骤S5b之间还包括:S5a-1、判断是否遍历所有的IP地址,若否继续进行步骤S5b,若是直接结束GNSS接收机的固件升级程序。上述的升级多台GNSS接收机固件的方法中,在步骤S5a中若服务器无法TCP通信连接GNSS接收机,以及在步骤S5c中若服务器未成功推送POST固件升级文件至GNSS接收机,标记异常处理信息,并执行步骤S5a-1。上述的升级多台GNSS接收机固件的方法中,GNSS接收机接收固件升级文件后进行固件升级的步骤包括:GNSS接收机根据自身的lighttpd、Fastcgi服务和对应的CGI处理程序对接收的固件升级文件进行校验,若校验成功接收机运行固件升级文件,并自动重启完成固件升级。上述的升级多台GNSS接收机固件的方法中,步骤S5中线程池任务的操作流程包括:S5a、判断是否有任务投入线程池,若有任务投入线程池继续进行下一步;S5b、判断是否需要增加线程数,若不需要进行步骤S5c,若需要进行S5d,S5c、增加线程数继续判断等待队列、等待时间变量,若在线程池操作中线程自身没有退出,取出任务链表头,并调用已经绑定过的http推送过程,任务执行完毕,释放资源;S5d、进行线程池维护;S5e、判断线程池是否退出:若是,完成所有固件升级任务,销毁线程池、释放资源;若否,继续进行步骤S5a。上述的升级多台GNSS接收机固件的方法中,在步骤S5中,执行http协议的POST任务,以将固件升级文件推送给该GNSS接收机。与现有操作人员逐台操作网页(或U盘)升级接收机方法相比,该服务器升级方式操作简单、使用方便,减免人工繁琐的操作过程,便于统一管理使用;可以一次进行多个机器的固件升级,提高智能接收机自动化水平,节省人力物力。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术及其特征、外形和优点将会变得更明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比例绘制附图,重点在于示出本专利技术的主旨。图1为本专利技术进行多台GNSS接收机固件升级示意图;图2为本专利技术在一实施例中提供的一种同时升级多台GNSS接收机固件的方法的流程图;图3为本专利技术在一实施例中GNSS接收机自身升级固件的流程图;图4为本专利技术在一实施例中线程池任务操作流程图。具体实施方式在下文的描述中,给出了大量具体的细节以便提供对本专利技术更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本专利技术可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本专利技术发生混淆,对于本领域公知的一些技术特征未进行描述。为了彻底理解本专利技术,将在下列的描述中提出详细的步骤以及详细的结构,以便阐释本专利技术的技术方案。本专利技术的较佳实施例详细描述如下,然而除了这些详细描述外,本专利技术还可以具有其他实施方式。本专利技术中提供了一种同时升级多台GNSS接收机固件的方法,在硬件连接完成,合理配置接收机、PC服务器软件后,接收机根据设置的IP地址组网连接,运行服务器PC软件后,服务器TCP通信连接各个接收机,将文件以http协议同时推送给多台机器,快速实现更新多台接收机固件,升级示意图如图1所示。服务器程序运行后,创建线程池和文件推送任务例程,等待TCP连接的建立,根据用户给出的联网接收机设置的IP地址范围,连接建立后从线程池中取一线程然后执行http的POST任务,将文件推送给接收机,然后由内部线程池管理维护,继续执行下一个升级过程,直到将固件推送给所有接收机。服务器软件维护控制整个升级过程,与某一IP地址建立了TCP套接字后,推送固件的升级任务可以看做是网页升级接收机的模拟,利用抓包工具的监视升级过程中post协议等头,建立80端口的TCP连接,然后根据http协议头发送固件给建立连接的机器发送升级固件,接收机根据自身的lighttpd、Fastcgi服务和对应的CGI处理程序,接收固件后自动重启完成升级,示意图如图3所示。考虑到负载均衡,对多台接收机的升级采用多线程的操作,首先建立了线程池,随着任务的增减并负责管理线程池的增减情况,如果没有任务,那么线程池保持最低个数,如果有任务到来,线程去领取任务,当任务数大于最大线程数时,增加线程数目直到最大线程数,对于未分配的任务要休眠挂接起来,等待有空闲线程后进行分配执行,线程池管理流程如图4所示。此外,在升级中使用Libevent建立压力测试,通过模拟客户端和服务器两端的升级功能逻辑,先模拟多台接收机,只需要将TCP端口更改即可。通过实际的两端测试后,使用实际机器升级,最终实际测试此方法可以满足对多台接收机升级的任务。参照图2所示,下面就本专利技术的具体步骤进行详细描述:S1、组建IP地址局域网,将运行固件升级的服务器以及需进行固件升级的多台GNSS接收机接入该局域网。S2、服务器运行固件升级程序。S3、输入其中一GNSS接收机的IP本文档来自技高网...
一种提高接收机固件升级效率的方法

【技术保护点】
一种同时升级多台GNSS接收机固件的方法,其特征在于,包括如下步骤:S1、组建IP地址局域网,将运行固件升级的服务器以及需进行固件升级的多台GNSS接收机接入该局域网;S2、服务器运行升级程序;S3、输入其中一GNSS接收机的IP地址接入范围;S4、创建线程池并设置线程池参数,设置单个GNSS接收机升级任务;S5、根据设置的GNSS接收机的IP地址接入范围,服务器通过TCP通信连接其中一台GNSS接收机,连接建立后从线程池中取一线程,将固件升级文件推送给该GNSS接收机,GNSS接收机接收固件升级文件后进行固件升级;S6、进行内部线程池管理维护,并重复执行步骤S5,直到将固件升级文件推送给所有GNSS接收机,完成所有GNSS接收机的固件升级。

【技术特征摘要】
1.一种同时升级多台GNSS接收机固件的方法,其特征在于,包括如下步骤:S1、组建IP地址局域网,将运行固件升级的服务器以及需进行固件升级的多台GNSS接收机接入该局域网;S2、服务器运行升级程序;S3、输入其中一GNSS接收机的IP地址接入范围;S4、创建线程池并设置线程池参数,设置单个GNSS接收机升级任务;S5、根据设置的GNSS接收机的IP地址接入范围,服务器通过TCP通信连接其中一台GNSS接收机,连接建立后从线程池中取一线程,将固件升级文件推送给该GNSS接收机,GNSS接收机接收固件升级文件后进行固件升级;S6、进行内部线程池管理维护,并重复执行步骤S5,直到将固件升级文件推送给所有GNSS接收机,完成所有GNSS接收机的固件升级。2.如权利要求1所述的升级多台GNSS接收机固件的方法,其特征在于,步骤S5具体包括:S5a、建立逐个IP地址80端口的TCP连接,以建立服务器与GNSS接收机之间的连接;S5b、判断服务器是否成功连接GNSS接收机,若连接成功在线程池中取一线程,在http协议下推送POST固件升级文件至该GNSS接收机;S5c、判断服务器是否成功发送固件升级文件至GNSS接收机,若成功发送,进行步骤S6。3.如权利要求2所述的升级多台GNSS接收机固件的方法,其特征在于,步骤S5a和步骤S5b之间还包括:S5a-1、判断是否遍历所有的IP地址,若否继续进行步骤S5b,若是直接结束GNSS接收...

【专利技术属性】
技术研发人员:张志鹏方智强谢华忠唐尔辉沈雪峰
申请(专利权)人:上海华测导航技术股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1