一种基于局域网的固件升级方法及系统与流程

    专利2022-07-08  152


    本发明涉及互联网技术领域,具体涉及一种基于局域网的固件升级方法及系统。



    背景技术:

    在操作系统平台上研发测试时,会有不同的测试阶段,包括evt(工程验证与测试阶段),dvt(设计验证与测试阶段)和pvt(生成测试与验证阶段)和mp(量产阶段),测试样机多达几十台甚至上百台。同时一个阶段还会有前期遗留的样机混合在一起,每个阶段的测试机器由于硬件版本的升级,所使用的固件版本也会大有不同。

    目前固件的升级,一般是通过测试人员手动拷贝不同版本的固件到u盘,通过自己选择固件版本,升级到每一台机器中。这种方式不仅消耗大量时间,需要更新软件的u盘,还需要测试人员对该测试平台具有一定的专业性,知道可以更新哪个版本,操作复杂,固件升级效率低,且容易出错。



    技术实现要素:

    为解决现有技术中的问题,本发明提供一种基于局域网的固件升级方法及系统,通过局域网建立tcp/ip服务连接,服务器根据收到的固件版本和唯一识别码查询对应设备可以更新的固件版本,然后对相应设备进行更新升级,操作简单,有效的避免了刷错固件版本、导致无法开机的问题。

    本发明的一种基于局域网的固件升级方法包括如下步骤:

    步骤1:待升级的设备每隔一定时间广播连接信息至局域网,与收到连接信息的服务器建立连接;

    步骤2:读取并发送自身的固件版本和唯一识别码给服务器;

    步骤3:判断设定时间内是否收到可更新的固件版本,如果否,断开连接,结束升级,如果是,执行下一步;

    步骤4:选择可更新的固件版本并向服务器发送更新下载请求;

    步骤5:接收服务器发送的固件版本安装包;

    步骤6:设备根据收到的固件版本安装包进行更新升级。

    本发明作进一步改进,所述设备内置有唯一识别码,所述连接信息为服务器与所述设备约定的udp广播信息。

    本发明作进一步改进,所述固件升级方法是基于银河麒麟操作系统进行升级的。

    本发明作进一步改进,在所述步骤1中,所述设备与所述服务器的连接方式为tcp/ip服务连接。

    本发明作进一步改进,在所述步骤1中,当所述设备将约定的udp广播信息发送至局域网的次数超过设备内预设的阈值且未能连接时,所述设备则自动判定与所述服务器连接失败,结束升级,并将结果返回到所述设备显示界面。

    本发明作进一步改进,在所述步骤2中,所述固件版本和所述唯一识别码信息采用cjson的数据方式记录并发送。

    本发明作进一步改进,在所述步骤3中,当所述设备没有在所述设备内设定的时间内收到可更新的固件版本信息时,所述设备则自动判定与服务器连接失败,结束升级并将结果返回到所述设备显示界面。

    本发明作进一步改进,所述服务器内存有用于鉴别所述设备唯一识别码的机型版本对照表。

    本发明还提供一种实现上述的基于局域网的固件升级方法的系统,包括设备和云服务器,其中,所述设备包括:

    读取模块,用于读取自身的固件版本和唯一识别码;

    第一信息发送模块:用于将约定的udp广播信息发送至局域网,也用于向服务器发送更新下载请求,还用于将自身的固件版本和唯一识别码发送给所述服务器;

    第一检测模块:用于检测将约定的udp广播信息发送至局域网的次数是否超过阈值,也用于设备自我检测是否在设定的时间内收到可更新的固件版本信息;

    第一信息接收模块:用于接收所述服务器发送的可更新的固件版本信息以及固件版本安装包;

    安装模块:用于根据收到的固件版本安装包进行更新升级。

    本发明作进一步改进,所述服务器包括:

    第二信息发送模块,用于给所述设备发送的可更新的固件版本信息以及固件版本安装包;

    第二检测模块:用于检测局域网内约定的设备的udp广播信息;

    第二信息接收模块:用于接收所述设备发送的更新下载请求和设备的固件版本和唯一识别码;

    查询模块:用于根据收到的固件版本和唯一识别码查询对应设备可以更新的固件版本。

    本发明的有益效果是:本发明通过局域网建立tcp/ip服务连接,服务器根据收到的固件版本和唯一识别码查询对应设备可以更新的固件版本,然后对相应设备进行更新升级,使用方便,操作简单,测试人员可以不用接触真正的固件版本文件,只需选择需要更新的固件版本,有效的避免了人为上的错误或者拷贝文件时出错的情况,同时可以在服务器端由专业版本控制人员来管控固件版本和记录升级状态,有效的避免了刷错版本、拷贝出错、不停沟通版本或者人为出错的问题,还可以在服务器端收集更新信息,记录样机状态。

    附图说明

    图1为本发明的基于局域网的固件升级方法的流程图;

    图2为本发明的基于局域网的固件升级方法中的机型版本对照表。

    具体实施方式

    下面结合附图和实施例对本发明做进一步详细说明。

    请参见图1,本发明的一种基于局域网的固件升级方法包括如下步骤:

    步骤1:待升级的设备每隔一定时间广播连接信息至局域网,与收到连接信息的服务器建立连接;

    步骤2:读取并发送自身的固件版本和唯一识别码给服务器;

    步骤3:判断设定时间内是否收到可更新的固件版本,如果否,断开连接,结束升级,如果是,执行下一步;

    步骤4:选择可更新的固件版本并向服务器发送更新下载请求;

    步骤5:接收服务器发送的固件版本安装包;

    步骤6:设备根据收到的固件版本安装包进行更新升级。

    请参见图1,所述设备内置有唯一识别码,所述连接信息为服务器与所述设备约定的udp广播信息。其中,udp是userdatagramprotocol的简称,中文名是用户数据报协议,是osi(opensysteminterconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,ietfrfc768是udp的正式规范,本发明中使用该协议简单方便。

    请参见图1,所述固件升级方法是基于银河麒麟操作系统进行升级的。其中,银河麒麟(kylin)是由国防科技大学研制的开源服务器操作系统。此操作系统是863计划重大攻关科研项目,目标是打破国外操作系统的垄断,研发一套中国自主知识产权的服务器操作系统,它有以下几个特点,高安全、高可靠、高可用、跨平台、中文化(具有强大的中文处理能力,而本平台的升级方法是基于该操作系统进行的,但却不局限于该操作系统。

    请参见图1,在所述步骤1中,所述设备与所述服务器的连接方式为tcp/ip服务连接。其中,tcp/ip是用于因特网(internet)的通信协议,tcp/ip是供已连接因特网的计算机进行通信的通信协议,tcp/ip指传输控制协议/网际协议(transmissioncontrolprotocol/internetprotocol),tcp/ip是一种定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准的通信协议,本发明使用改协议建立连接更加稳定,使用环境更为广泛。

    请参见图1,在所述步骤1中,当所述设备将约定的udp广播信息发送至局域网的次数超过设备内预设的阈值且未能连接时,所述设备则自动判定与所述服务器连接失败,结束升级,并将结果返回到所述设备显示界面。

    请参见图1,在所述步骤2中,所述固件版本和所述唯一识别码信息采用cjson的数据方式记录并发送。其中,cjson是一个仅有一个.h文件,一个.c文件组成的json解析器,它是由纯c(ansic89)实现的,跨平台性较好,cjson中有一个cjson结构体,cjson是采用链表存储的。因此,采用cjson的数据方式记录并发送的好处是:易于扩展和观看,可以用于以后额外信息的添加;也便于升级程序的信息生成和服务器程序的解析。

    请参见图1,在所述步骤3中,当所述设备没有在所述设备内设定的时间内收到可更新的固件版本信息时,所述设备则自动判定与服务器连接失败,结束升级并将结果返回到所述设备显示界面。

    请参见图2,所述服务器内存有用于鉴别所述设备唯一识别码的机型版本对照表。本发明中的机型版本对照表,采用excel文档编辑,excel文档在visualstudioc#中具有比较好的操作性,同时易于固件管控人员编辑该文档,简单形象,易于观看。

    本发明还提供一种实现上述的基于局域网的固件升级方法的系统,包括设备和云服务器,其中,所述设备包括:

    读取模块,用于读取自身的固件版本和唯一识别码;

    第一信息发送模块:用于将约定的udp广播信息发送至局域网,也用于向服务器发送更新下载请求,还用于将自身的固件版本和唯一识别码发送给所述服务器;

    第一检测模块:用于检测将约定的udp广播信息发送至局域网的次数是否超过阈值,也用于设备自我检测是否在设定的时间内收到可更新的固件版本信息;

    第一信息接收模块:用于接收所述服务器发送的可更新的固件版本信息以及固件版本安装包;

    安装模块:用于根据收到的固件版本安装包进行更新升级。

    请参见图1,所述服务器包括:

    第二信息发送模块,用于给所述设备发送的可更新的固件版本信息以及固件版本安装包;

    第二检测模块:用于检测局域网内约定的设备的udp广播信息;

    第二信息接收模块:用于接收所述设备发送的更新下载请求和设备的固件版本和唯一识别码;

    查询模块:用于根据收到的固件版本和唯一识别码查询对应设备可以更新的固件版本。

    本发明的一种基于局域网的固件升级方法,目前支持飞腾fm2000/4平台的bios固件更新,ec固件更新和显卡vbios更新。每个部分的流程都包括:待升级的设备每隔一定时间广播连接信息至局域网,与收到连接信息的服务器建立连接;读取并发送自身的固件版本和唯一识别码给服务器;判断设定时间内是否收到可更新的固件版本,如果否,断开连接,结束升级,如果是,执行下一步;选择可更新的固件版本并向服务器发送更新下载请求;接收服务器发送的固件版本安装包;设备根据收到的固件版本安装包进行更新升级。所述服务器则提供了一个服务平台,包括udp广播和tcp/ip的连接,各个版本的固件版本控制文件和固件软件更新记录。其中,bios是英文"basicinputoutputsystem"的缩略词,直译过来后中文名称就是"基本输入输出系统",其实,它是一组固化到计算机内主板上一个rom芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从cmos中读写系统设置的具体信息,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。ec固件指的是embeddedcontroller,实际就是键盘控制器,顾名思义是负责设备的电源管理,散热控制,键盘,快捷键功能等的硬件ic,固件就是能烧录的二进制程序。vbios是videobios的缩写,顾名思义是显卡的bios。

    由上可知,本发明的有益效果是:本发明通过局域网建立tcp/ip服务连接,服务器根据收到的固件版本和唯一识别码查询对应设备可以更新的固件版本,然后对相应设备进行更新升级,使用方便,操作简单,测试人员可以不用接触真正的固件版本文件,只需选择需要更新的固件版本,有效的避免了人为上的错误或者拷贝文件时出错的情况,同时可以在服务器端由专业版本控制人员来管控固件版本和记录升级状态,有效的避免了刷错版本、拷贝出错、不停沟通版本或者人为出错的问题,还可以在服务器端收集更新信息,记录样机状态。

    以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本发明的保护范围内。


    技术特征:

    1.一种基于局域网的固件升级方法,其特征在于,包括如下步骤:

    步骤1:待升级的设备每隔一定时间广播连接信息至局域网,与收到连接信息的服务器建立连接;

    步骤2:读取并发送自身的固件版本和唯一识别码给服务器;

    步骤3:判断设定时间内是否收到可更新的固件版本,如果否,断开连接,结束升级,如果是,执行下一步;

    步骤4:选择可更新的固件版本并向服务器发送更新下载请求;

    步骤5:接收服务器发送的固件版本安装包;

    步骤6:设备根据收到的固件版本安装包进行更新升级。

    2.如权利要求1所述的基于局域网的固件升级方法,其特征在于,所述设备内置有唯一识别码,所述连接信息为服务器与所述设备约定的udp广播信息。

    3.如权利要求2所述的基于局域网的固件升级方法,其特征在于,所述固件升级方法是基于银河麒麟操作系统进行升级的。

    4.如权利要求3所述的基于局域网的固件升级方法,其特征在于,在所述步骤1中,所述设备与所述服务器的连接方式为tcp/ip服务连接。

    5.如权利要求4所述的基于局域网的固件升级方法,其特征在于,在所述步骤1中,当所述设备将约定的udp广播信息发送至局域网的次数超过设备内预设的阈值且未能连接时,所述设备则自动判定与所述服务器连接失败,结束升级,并将结果返回到所述设备显示界面。

    6.如权利要求5所述的基于局域网的固件升级方法,其特征在于,在所述步骤2中,所述固件版本和所述唯一识别码信息采用cjson的数据方式记录并发送。

    7.如权利要求6所述的基于局域网的固件升级方法,其特征在于,在所述步骤3中,当所述设备没有在所述设备内设定的时间内收到可更新的固件版本信息时,所述设备则自动判定与服务器连接失败,结束升级并将结果返回到所述设备显示界面。

    8.如权利要求7所述的基于局域网的固件升级方法,其特征在于,所述服务器内存有用于鉴别所述设备唯一识别码的机型版本对照表。

    9.一种实现权利要求1-8任一项所述的基于局域网的固件升级方法的系统,其特征在于,包括设备和服务器,其中,所述设备包括:

    读取模块,用于读取自身的固件版本和唯一识别码;

    第一信息发送模块:用于将约定的udp广播信息发送至局域网,也用于向服务器发送更新下载请求,还用于将自身的固件版本和唯一识别码发送给所述服务器;

    第一检测模块:用于检测将约定的udp广播信息发送至局域网的次数是否超过阈值,也用于设备自我检测是否在设定的时间内收到可更新的固件版本信息;

    第一信息接收模块:用于接收所述服务器发送的可更新的固件版本信息以及固件版本安装包;

    安装模块:用于根据收到的固件版本安装包进行更新升级。

    10.如权利要求9所述的系统,其特征在于,所述服务器包括:

    第二信息发送模块,用于给所述设备发送的可更新的固件版本信息以及固件版本安装包;

    第二检测模块:用于检测局域网内约定的设备的udp广播信息;

    第二信息接收模块:用于接收所述设备发送的更新下载请求和设备的固件版本和唯一识别码;

    查询模块:用于根据收到的固件版本和唯一识别码查询对应设备可以更新的固件版本。

    技术总结
    本发明提供一种基于局域网的固件升级方法,包括:待升级的设备每隔一定时间广播连接信息至局域网,与收到连接信息的服务器建立连接;读取并发送自身的固件版本和唯一识别码给服务器;判断设定时间内是否收到可更新的固件版本,如果否,断开连接,结束升级,如果是,执行下一步;选择可更新的固件版本并向服务器发送更新下载请求;接收服务器发送的固件版本安装包;设备根据收到的固件版本安装包进行更新升级。本发明通过局域网建立TCP/IP服务连接,服务器根据收到的固件版本和唯一识别码查询对应设备可以更新的固件版本,然后对相应设备进行更新升级,操作简单,有效的避免了刷错固件版本、导致无法开机的问题。

    技术研发人员:卢坤;张强;黄生
    受保护的技术使用者:深圳市国科亿道科技有限公司
    技术研发日:2020.12.14
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23333.html

    最新回复(0)