CN103605550A - 分布式处理器依赖固件自适应下载方法、主机及客户端 - Google Patents
分布式处理器依赖固件自适应下载方法、主机及客户端 Download PDFInfo
- Publication number
- CN103605550A CN103605550A CN201310616686.2A CN201310616686A CN103605550A CN 103605550 A CN103605550 A CN 103605550A CN 201310616686 A CN201310616686 A CN 201310616686A CN 103605550 A CN103605550 A CN 103605550A
- Authority
- CN
- China
- Prior art keywords
- firmware
- client
- check code
- main frame
- dependence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明适用于分布式处理器系统领域,提供一种分布式处理器依赖固件自适应下载方法、一种主机、客户端以及一种分布式处理器系统,所述方法包括:主机读取各个客户端编译依赖固件所产生的二进制文件并计算出相应的依赖固件校验码;针对每个与主机通信连接并启动的客户端,主机读取客户端存储器保存的固件检验码,并判断客户端的固件校验码与主机计算保存的相应依赖固件校验码是否一致;当不一致时,当前客户端通过BIOS软件从所述主机中自适应下载对应的依赖固件并更新到本地存储器中;所述当前客户端通过BIOS软件加载并运行所述存储器中保存的固件。本发明实现了依赖固件自适应下载,解决了处理器升级下载效率低下的问题。
Description
技术领域
本发明属于分布式处理器系统领域,尤其涉及一种分布式处理器依赖固件自适应下载方法、一种主机、客户端以及一种分布式处理器系统。
背景技术
分布式处理器结构是目前越来越多被采用的系统架构,其主要特征是一个系统中存在多个处理器,整体架构采用一个主机与多个客户端形式进行通信,主机和客户端中都包括哟处理器,分布式处理器系统中,由于每个处理器是一个独立的运算单元,所以每个处理器的程序需要独立开发,而处理器之间是通过程序构架的通信链路进行数据交换,每个处理器在出厂时会把需要执行的程序烧录在处理器对应的存储器中。
由于各个处理器独立分布,因此目前的分布式处理器系统中,每个处理器的运行程序需要独立烧录,这样导致生产效率低下并且更容易出现程序烧录出错的情况;另外,当一个处理器需要程序升级,若该程序还需依赖其他处理器相应的功能升级,那么只能将所依赖的处理器的程序一个个烧录,这样在维护上和开发上有很大的效率障碍。
发明内容
鉴于上述问题,本发明的目的在于提供一种,旨在解决现有。
一方面,所述分布式处理器依赖固件自适应下载方法包括下述步骤:
主机读取各个客户端编译依赖固件所产生的二进制文件并计算出相应的依赖固件校验码;
针对每个与主机通信连接并启动的客户端,主机读取客户端存储器保存的固件检验码,并判断客户端的固件校验码与主机计算保存的相应依赖固件校验码是否一致;
当不一致时,当前客户端通过BIOS软件从所述主机中自适应下载对应的依赖固件并更新到本地存储器中;
所述当前客户端通过BIOS软件加载并运行所述存储器中保存的固件。
另一方面,所述主机包括:
校验码计算单元,用于读取各个客户端编译依赖固件所产生的二进制文件,并计算出相应的依赖固件校验码;
检验码判断单元,用于针对每个与主机通信连接并启动的客户端,读取客户端存储器保存的固件检验码,并判断客户端的固件校验码与主机计算保存的相应的依赖固件校验码是否一致。
第三方面,所述客户端包括:
固件下载单元,用于当客户端的固件校验码与主机计算保存的相应依赖固件校验码不一致时,从所述主机中自适应下载对应的依赖固件并更新到本地存储器中;
固件更新单元,用于加载并运行所述存储器中保存的固件。
第四方面,所述分布式处理器系统,包括一个所述主机,以及至少一个所述客户端,所述主机与各个客户端通信连接。
本发明的有益效果是:本发明技术方案中,首先将各个客户端所需编译依赖固件产生的二进制文件汇集到主机应用软件中,然后主机读取并计算出各个客户端处理器的相应依赖固件校验码,由于各个客户端的存储器中保存有固件校验码,本发明实施例在主机这一侧,通过比较客户端中的固件校验码与主机中对应的依赖固件校验码是否一致,来决定客户端是否需要从主机中下载依赖固件,实现了客户端根据主机应用程序开发版本进行依赖固件自适应下载,省去了各种固件版本的管理搭配,解决了处理器升级下载效率低下的问题。
附图说明
图1是本发明第一实施例提供的分布式处理器依赖固件自适应下载方法的流程图;
图2是本发明第二实施例提供的主机的结构方框图;
图3是本发明第三实施例提供的客户端的结构方框图;
图4是本发明第三实施例提供的客户端的物理结构图;
图5是本发明第四实施例提供的分布式处理器系统结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的分布式处理器依赖固件自适应下载方法的流程,为了便于说明仅示出了与本发明实施例相关的部分。
本实施例提供的分布式处理器依赖固件自适应下载方法包括下述步骤:
步骤S101、主机读取各个客户端编译依赖固件所产生的二进制文件并计算出相应的依赖固件校验码。
本实施例中,一个主机连接有一个或多个客户端,每个客户端内置有处理器,构成分布式处理器系统,当需要对各个客户端处理器进行程序烧录或者对客户端处理器进行程序升级时,本步骤中,将主机应用软件所依赖的客户端软件进行编译成cpu能执行的二进制文件,同时将所产生的二进制文件汇集到主机的应用软件的发布版本中,这里所述的依赖固件指的是主机应用程序对客户端某一个版本的软件的依赖,客户端的软件编译出来后称固件,所以固件就是一应用程序,例如固件v0.1版本是主机应用程序V1.1的依赖版本,那么称固件v0.1为应用程序V1.1的依赖固件。
所述二进制文件通常为bin文件或者hex文件,然后主机读取所述二进制文件并计算出相应的依赖固件校验码,因此在主机中保存有与各个客户端对应的依赖固件校验码,本实施例不限定依赖固件校验码的计算方法,所述依赖固件校验码作为判断固件版本是否相同,是否需要固件更新的依据。本步骤中,选择误码率较低的校验算法,有利于提高固件版本判断的可靠性。
步骤S102、针对每个与主机通信连接并启动的客户端,主机读取客户端存储器保存的固件检验码。
在分布式处理器系统中,主机访问每个与主机连接并启动了的客户端处理器,读取客户端存储器中保存的固件校验码。本实施例中,每个客户端中都内置有存储器,存储器分为三个区域。分别是BIOS软件区、固件区以及校验码区,分别用于存储BIOS软件数据、固件数据以及固件检验码值,本步骤中,主机依次读取这些存储器中的固件校验码。
在分布式处理器系统中,每一个处理器都有一个编号用以区分,作为一种具体优选实施方式,主机通过通信接口枚举查询各个客户端中处理器编号信息,其中返回有处理器编号信息的客户端为与主机通信连接并启动的客户端。比如假设有8个客户端处理器,其编号分别为MCU#0至MCU#7,首先主机通过通信接口(比如PCI接口、RS232接口、CAN总线接口、以太网接口或者USB接口等等)以及相应的通信协议访问编号为MCU#0的处理器,当存在编号为MCU#0的处理器时,读取处理器对应存储器保存的固件检验码,然后进行后续操作,如果不存在编号为MCU#0的处理器时(即对应客户端关机),此时继续访问编号为MCU#1的处理器,直至枚举访问完毕所有的处理器。
步骤S103、判断客户端的固件校验码与主机计算保存的相应依赖固件校验码是否一致;
步骤S104当不一致时,当前客户端通过BIOS软件从所述主机中自适应下载对应的依赖固件并更新到本地存储器中;
步骤S105、所述当前客户端通过BIOS软件加载并运行所述存储器中保存的固件。
当客户端的固件校验码与主机保存的依赖固件校验码一致,说明客户端中的固件版本与主机应用程序版本相配套,该客户端处理器无需进行固件烧录或固件升级,然后客户端通过BIOS软件加载并运行所述存储器中保存的固件。具体实现时,当主机检测到客户端的固件校验码与主机保存的对应依赖固件校验码一致时,主机向该客户端发送启动指令,客户端接收到启动指令后,触发处理器的BIOS软件引导加载并运行本地固件,并且启动速度可以通过调整通信速率或者进行固件预加载的方法变的更快。如果校验码不一致,说明当前客户端处理器的固件版本与主机应用程序不配套,主机应用程序经行了版本更新,相应客户端需要进行对应固件更新,作为一种实现方式,主机可以向客户端发送固件下载指令,客户端接收到固件下载指令后,触发处理器的BIOS软件引导从主机中自适应下载对应的依赖固件并更新到本地存储器中,然后经BIOS软件引导加载运行存储器中的固件。这里BIOS软件是处理器的默认启动程序,与具体应用无关,用于处理器硬件配置以及引导固件下载和固件加载。
本实施例中,通过访问各个客户端处理器,判断客户端中的固件校验码与主机对应计算存储的依赖固件校验码是否一致,若不一致,说明该客户端处理器需要进行固件烧录或更新,然后通过BIOS软件引导,客户端从主机中下载对应依赖固件并存储在存储器的固件区,最后再加载运行所述固件。整个过程由主机自行判断和客户端自行下载,省去了各种固件版本的搭配管理,实现了客户端处理器根据主机应用程序版本自适应固件下载,解决了处理器升级下载效率低下的问题。
实施例二:
图2示出了本发明第二实施例提供主机的结构,为了便于说明仅示出了与本发明实施例相关的部分。
本实施例提供的主机包括:
校验码计算单元201,用于读取各个客户端编译固件所产生的二进制文件,并计算出相应的依赖固件校验码;
检验码判断单元203,用于针对每个与主机通信连接并启动的客户端,读取客户端存储器保存的固件检验码,并判断客户端的固件校验码与主机计算保存的相应依赖固件校验码是否一致。
优选的,所述主机还包括:
处理器查询单元202,用于枚举查询各个客户端中处理器编号信息,判定返回有处理器编号信息的客户端为与主机通信连接并启动的客户端。
本实施例在主机端,校验码计算单元201读取二进制文件,所述二进制文件为处理器编译待更新的依赖固件所产生的二进制文件,处理器查询单元202访问查询各个客户端处理器,检验码判断单元203比对判断客户端的固件校验码与主机计算保存的相应依赖固件校验码是否一致,然后向客户端发送相应指令,客户端根据指令通过BIOS软件从主机下载对应依赖固件,或者直接从本地存储器中加载固件。
实施例三:
图3示出了本发明第三实施例提供客户端的结构,为了便于说明仅示出了与本发明实施例相关的部分。
本实施例提供的客户端包括:
固件下载单元301,用于当客户端的固件校验码与主机计算保存的相应依赖固件校验码不一致时,从所述主机中自适应下载对应的依赖固件并更新到本地存储器中;
固件更新单元302,用于加载并运行所述存储器中保存的固件。
本实施例从实现功能上描述客户端的结构,若从物理结构上,如图4所示,这里客户端包括处理器以及存储器,所述存储器分为BIOS软件区、固件区以及校验码区,分别用于存储BIOS软件数据、固件数据以及固件检验码值,所述固件数据是处理器的工作程序,用于实现系统中处理器负责处理的功能,所述固件检验码值一方面用于判断固件完整性,另一方面用于判断固件版本与主机应用程序版本是否配套,从本质来讲,所述固件下载单元301和固件更新单元302为BIOS区中的一部分数据,用以实现引导下载固件和更新固件。本实施例提供的客户端处理器根据主机应用程序版本自适应固件下载,解决了处理器升级下载效率低下的问题。
实施例四:
图5示出了本发明第四实施例提供的分布式处理器系统的结构,为了便于说明仅示出了与本发明实施例相关的部分。
本实施例提供的分布式处理器系统包括如实施例二所述的主机以及如实施例三所述的客户端,所述客户端为一个或多个,所述主机与各个客户端通信连接。本实施例中,主机通过判断客户端中的固件检验码与主机计算保存的相应依赖固件校验码是否一致来决定客户端是否需要自行下载更新固件,整个过程自动完成,无需开发人员对各个客户端处理器的固件经行逐一烧录或更新,省去了固件版本搭配管理等一系列繁琐问题,提高了开发效率。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种分布式处理器依赖固件自适应下载方法,其特征在于,所述方法包括:
主机读取各个客户端编译依赖固件所产生的二进制文件并计算出相应的依赖固件校验码;
针对每个与主机通信连接并启动的客户端,主机读取客户端存储器保存的固件检验码,并判断客户端的固件校验码与主机计算保存的相应依赖固件校验码是否一致;
当不一致时,当前客户端通过BIOS软件从所述主机中自适应下载对应的依赖固件并更新到本地存储器中;
所述当前客户端通过BIOS软件加载并运行所述存储器中保存的固件。
2.如权利要求1所述方法,其特征在于,主机通过通信接口枚举查询各个客户端中处理器编号信息,其中返回有处理器编号信息的客户端为与主机通信连接并启动的客户端。
3.一种主机,其特征在于,所述主机包括:
校验码计算单元,用于读取各个客户端编译依赖固件所产生的二进制文件,并计算出相应的依赖固件校验码;
检验码判断单元,用于针对每个与主机通信连接并启动的客户端,读取客户端存储器保存的固件检验码,并判断客户端的固件校验码与主机计算保存的相应依赖固件校验码是否一致。
4.如权利要求3所述主机,其特征在于,所述主机还包括:
处理器查询单元,用于枚举查询各个客户端中处理器编号信息,判定返回有处理器编号信息的客户端为与主机通信连接并启动的客户端。
5.一种客户端,其特征在于,所述客户端包括:
固件下载单元,用于当客户端的固件校验码与主机计算保存的相应依赖固件校验码不一致时,从所述主机中自适应下载对应的依赖固件并更新到本地存储器中;
固件更新单元,用于加载并运行所述存储器中保存的固件。
6.一种分布式处理器系统,其特征在于,所述系统包括一个如权利要求3或4所述主机,以及至少一个如权利要求5所述客户端,所述主机与各个客户端通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310616686.2A CN103605550A (zh) | 2013-11-27 | 2013-11-27 | 分布式处理器依赖固件自适应下载方法、主机及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310616686.2A CN103605550A (zh) | 2013-11-27 | 2013-11-27 | 分布式处理器依赖固件自适应下载方法、主机及客户端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103605550A true CN103605550A (zh) | 2014-02-26 |
Family
ID=50123780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310616686.2A Pending CN103605550A (zh) | 2013-11-27 | 2013-11-27 | 分布式处理器依赖固件自适应下载方法、主机及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103605550A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462400A (zh) * | 2014-07-02 | 2017-02-22 | 惠普发展公司,有限责任合伙企业 | 固件更新 |
CN106648748A (zh) * | 2016-11-15 | 2017-05-10 | 广州视源电子科技股份有限公司 | 程序更新方法和系统 |
CN108958775A (zh) * | 2018-07-18 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种sas卡固件在线升级可靠性的检测方法 |
CN112463188A (zh) * | 2020-11-19 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 网卡固件自动化升级方法、装置及计算机可读存储介质 |
CN113360165A (zh) * | 2021-05-28 | 2021-09-07 | 浪潮电子信息产业股份有限公司 | 一种bios更新方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110788A (zh) * | 2006-07-20 | 2008-01-23 | 阿里巴巴公司 | 升级客户端软件的方法及系统 |
CN101695027A (zh) * | 2009-09-29 | 2010-04-14 | 北京星网锐捷网络技术有限公司 | 一种分布式通信系统软件升级方法、装置和网络设备 |
CN102023884A (zh) * | 2010-11-25 | 2011-04-20 | 深圳市科陆电子科技股份有限公司 | 一种嵌入式系统开发程序校验码自动生成的方法 |
CN102316439A (zh) * | 2011-09-09 | 2012-01-11 | 中兴通讯股份有限公司 | 一种实现用户侧设备的固件升级方法和系统 |
-
2013
- 2013-11-27 CN CN201310616686.2A patent/CN103605550A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110788A (zh) * | 2006-07-20 | 2008-01-23 | 阿里巴巴公司 | 升级客户端软件的方法及系统 |
CN101695027A (zh) * | 2009-09-29 | 2010-04-14 | 北京星网锐捷网络技术有限公司 | 一种分布式通信系统软件升级方法、装置和网络设备 |
CN102023884A (zh) * | 2010-11-25 | 2011-04-20 | 深圳市科陆电子科技股份有限公司 | 一种嵌入式系统开发程序校验码自动生成的方法 |
CN102316439A (zh) * | 2011-09-09 | 2012-01-11 | 中兴通讯股份有限公司 | 一种实现用户侧设备的固件升级方法和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462400A (zh) * | 2014-07-02 | 2017-02-22 | 惠普发展公司,有限责任合伙企业 | 固件更新 |
CN106648748A (zh) * | 2016-11-15 | 2017-05-10 | 广州视源电子科技股份有限公司 | 程序更新方法和系统 |
CN108958775A (zh) * | 2018-07-18 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种sas卡固件在线升级可靠性的检测方法 |
CN112463188A (zh) * | 2020-11-19 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 网卡固件自动化升级方法、装置及计算机可读存储介质 |
CN112463188B (zh) * | 2020-11-19 | 2022-08-02 | 苏州浪潮智能科技有限公司 | 网卡固件自动化升级方法、装置及计算机可读存储介质 |
CN113360165A (zh) * | 2021-05-28 | 2021-09-07 | 浪潮电子信息产业股份有限公司 | 一种bios更新方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103605550A (zh) | 分布式处理器依赖固件自适应下载方法、主机及客户端 | |
US20130067449A1 (en) | Application packages using block maps | |
CN104965754A (zh) | 任务调度方法及任务调度装置 | |
CN110147407B (zh) | 一种数据处理方法、装置及数据库管理服务器 | |
CN112068852B (zh) | 基于国产服务器的开源软件安装方法、系统及设备和介质 | |
US8495629B2 (en) | Virtual machine relocation system and associated methods | |
CN104636259A (zh) | 一种基于运行期动态跟踪的函数执行超时与死锁检测方法 | |
CN104732151A (zh) | 一种Linux系统下远程安全批量更新BIOS的方法 | |
US11210274B2 (en) | Prediction and repair of database fragmentation | |
WO2020238245A1 (zh) | 实现函数跳转的方法、装置及计算机存储介质 | |
CN112783912B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN104750620A (zh) | 一种内存迁移方法及装置 | |
CN103140839B (zh) | 在能够进行高速缓存的存储装置上进行高效顺序记录的系统和方法 | |
WO2023015802A1 (zh) | 一种多操作系统设备的差分升级方法 | |
US8650160B1 (en) | Systems and methods for restoring multi-tier applications | |
US10346157B2 (en) | Patch infrastructure for ROM firmware | |
CN111966656B (zh) | 存储文件高负载场景模拟方法、系统、终端及存储介质 | |
CN102317927A (zh) | 设备动态添加处理方法、装置及动态移除处理方法、装置 | |
US10970196B1 (en) | Semantic-aware fuzz-based functional testing | |
US11720422B1 (en) | Unified container for hardware and software binaries | |
CN105302551A (zh) | 一种大数据处理系统的正交分解构造与优化的方法及系统 | |
CN104468214A (zh) | 一种PowerPC云存储平台采用LAMP实现系统管理的方法 | |
US11442733B2 (en) | Embedded computation instruction performance profiling | |
US10747644B2 (en) | Method of executing instructions of core, method of debugging core system, and core system | |
CN102902825B (zh) | 一种数据库优化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140226 |
|
RJ01 | Rejection of invention patent application after publication |