软件镜像烧录方法及设备的制造方法_3

文档序号:9616139阅读:来源:国知局
间中。
[0083]其中,在实际应用中,软件镜像烧录服务器通过数据管理进程向待烧录设备发送分割后的软件镜像之前,还包括:
[0084]通过数据管理进程向待烧录设备发送待烧录设备的信息;待烧录设备的信息,包括:设备型号、序列号、媒体访问控制MAC地址。
[0085]具体来说,在实际烧录过程中,存在不同软件版本的待烧录设备同时烧录的情况,即有多个待烧录设备与软件镜像烧录服务器交互获取软件镜像,为了保证每个待烧录设备都能正确的烧录与该待烧录设备对应的软件镜像,因此可以将设备型号、序列号、MAC地址等信息采用信息二维码标签对各个待烧录设备加以区别,通过扫描设备待烧录设备的信息,并将待烧录设备的信息上报给软件烧录服务器,软件镜像烧录服务器根据不同的待烧录设备、搜索软件版本库,并下发对应的软件镜像以及待烧录设备的信息给该待烧录设备,此方法可以将设备信息烧录和软件镜像烧录有效的整合在一起,减少了工厂操作环节,减少了序列号、MAC地址烧录出错的概率,具体详见待烧录设备侧的方法实施例,此处不再赘述。
[0086]其中,在实际应用中,软件镜像烧录服务器可以采用多网卡,如至少需要双网卡,其中一块网卡连接软件版本发布服务器,一块通过局域网连接待烧录设备,软件镜像烧录服务器通过版本工具可以直接从软件版本服务器上获取研发发布的正式量产软件版本,避免了通过人工从研发到生产,软件镜像转发的过程中可能出错的问题。
[0087]本实施例提供的软件镜像烧录方法,通过在待烧录设备的引导程序bootloader启动后,软件镜像烧录服务器向待烧录设备发送软件镜像的烧录空间信息;软件镜像烧录服务器获取待烧录设备的内存信息,并根据内存信息对软件镜像进行分割;软件镜像烧录服务器向待烧录设备发送分割后的软件镜像,以使待烧录设备根据烧录空间信息将软件镜像烧录到与软件镜像对应的烧录空间中,相比现有技术而言,可以适用于待烧录设备的存储芯片已经装配到电路板上的情况下,通过待烧录设备自身将软件镜像烧录到待烧录设备的存储器件里面,不需要烧录器以及外置存储器进行烧录,效率较高,进一步的,还根据待烧录设备的内存信息对软件镜像进行了分割,避免了现有技术中在烧录完毕后,需要将存储器件芯片装配到PCB上,PCB经过回流焊等工艺后,存储器件芯片受到外部温度和磁场的干扰,容易造成芯片失效和数据破坏从而增加二次烧录、维修等步骤出的问题,以及在终端烧录过程中会因为内存资源不足导致速度降低或者烧录失败的问题。
[0088]进一步的,本发明实施例可以实现多并发以及大文件快速烧录,具体实现方式如下:
[0089]待烧录设备的烧录时间,根据软件镜像的大小一般在10秒-20分钟之间,如果烧录的镜像文件很大,或者可能有几十甚至上百台设备同时与软件镜像烧录服务器请求下载软件镜像,为了节省成本一般软件镜像烧录服务器采用普通的计算机,在有限的系统资源和带宽下最大限度的满足多并发需求,因此在服务器端可以将数据传输和数据请求分离开来,采用多个进程来处理。
[0090]具体可以将多个数据请求存放在预设长度的消息队列里面,请求数量超过一个队列的长度,会再创建一个队列,这样进程会将所有请求存放在一个一个队列里面;例如将数据请求通过请求管理进程处理。
[0091]数据传输也采用多进程来处理,如可以采用沙盒机制,每个传输进程都在沙盒里运行,保证每个传输进程都能分配到相同的系统资源。
[0092]如果多台待烧录设备同时请求软件镜像,则可以根据运行沙盒的数量,将每台待烧录设备请求的软件镜像分配到每个沙盒里的硬盘空间里,在每个沙盒内根据待烧录设备的内存大小再将每一份切割成均匀的小块,每一小块存放在沙盒内存中,有些设备内存较小,那么切割的文件就会小一些,如果分的太大,在终端烧录过程中会因为内存资源不足导致速度降低或者烧录失败;例如将发送软件镜像的烧录空间信息、分割后的软件镜像、待烧录设备的信息可以通过沙盒中运行的数据管理进程处理。
[0093]如果多台待烧录设备同时请求相同的软件镜像,则待烧录设备将烧录软件镜像文件根据运行沙盒的数量复制成相同数量的拷贝,每一个拷贝分配到每个沙盒里的硬盘空间里,在每个沙盒内根据待烧录设备的内存大小再将每一份切割成均匀的小块,每一小块存放在沙盒内存中,有些设备内存较小,那么切割的文件就会小一些,如果分的太大,在终端烧录过程中会因为内存资源不足导致速度降低或者烧录失败。
[0094]本实施例中根据队列里面的每个请求,分配不同的沙盒来传输数据,实现动态负载均衡。每个沙盒空闲后,系统会及时收回和释放沙盒占用的资源,包括存放的资源块。通过实时监测每个沙盒的运行状态来调整每个沙盒处理的请求。保证每个沙盒都处在均匀的负载中。资源、需求、分配合理的利用和分配起来,保证服务器资源充分利用,又加快了传输时间,这样就会有效的解决了在限定的系统资源和带宽中,尽量提高并发下载和大文件下载速度。
[0095]图3为本发明待烧录设备一实施例的结构示意图。如图3所示,本实施例的待烧录设备,可以包括:获取模块301和烧录模块302 ;
[0096]其中,获取模块301,用于在待烧录设备完成系统硬件初始化后,获取引导程序bootloader,并运行所述 bootloader ;
[0097]所述获取模块301,还用于在所述bootloader启动后,获取软件镜像的烧录空间信息;
[0098]烧录模块302,用于下载所述软件镜像,根据所述烧录空间信息将所述软件镜像烧录到所述待烧录设备中与所述软件镜像对应的烧录空间中。
[0099]可选的,作为一种可实施的方式,烧录模块302,具体用于:
[0100]获取并烧录所述待烧录设备的信息,所述待烧录设备的信息,包括:设备型号、序列号、媒体访问控制MAC地址。
[0101]图4为本发明待烧录设备另一实施例的结构示意图。在如图3所示的结构基础上,可选的,作为一种可实施的方式,还包括:
[0102]发送模块303,用于向软件镜像烧录服务器发送软件镜像下载请求;
[0103]接收模块304,用于接收软件镜像烧录服务器发送的下载响应信息。
[0104]可选的,作为一种可实施的方式,烧录模块302,还用于:
[0105]对软件镜像进行循环冗余校验码CRC校验。
[0106]若校验成功,则发送模块303,还用于向软件镜像烧录服务器发送烧录完成指示消息。
[0107]可选的,作为一种可实施的方式,接收模块304,还用于:
[0108]接收软件镜像烧录服务器发送的设备信息验证成功消息,用于指示所述待烧录设备的信息验证成功。
[0109]可选的,作为一种可实施的方式,烧录模块302,还用于:
[0110]对待烧录设备的信息和烧录空间信息进行循环冗余校验码CRC校验;
[0111]若校验成功,则发送模块303,还用于向软件镜像烧录服务器发送确认消息。
[0112]需要说明的是,对于待烧录设备实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。
[0113]图5为本发明待烧录设备又一实施例的结构示意图。如图5所示,本实施例的待烧录设备,可以包括:处理器501、存储器502和通信接口 503 ;
[0114]其中,存储器502,用于存储程序;具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器502可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0115]通信接口 503,用于接收或发送数据信息;
[0116]处理器501,用于执行存储器502存储的程序,用于执行本发明法实施例所提供的技术方案,其实现原理和技术效果类似,可参考图1所示的方法实施例,此处不再赘述。
[0117]上述获取模块、烧录模块的功能可以通过处理器501实现。发送模块和接收模块可以通过通信接口 503实现。
[0118]处理器可以由集成电路(Integrated Circuit,简称1C)组成,例如可以由单颗封装的1C所组成,也可以由连接多颗相同功能或不同功能的封装1C而组成。举例来说,处理器可以是中央处理器(Central Processing Unit,简称CPU),也可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0119]图6为本发明软件镜像烧录服务器一实施例的结构示意图。如图6所示,本实施例的待烧录设备,可以包括:发送模块601和处理模块602 ;
[0120]其中,发送模块601,用于在待烧录设备的引导程序bootloader启动后,向待烧录设备发送软件镜像的烧录空间信息;
[0121]处理模块602,用于获取待烧录设备的内存信息,并根据内存信息对软件镜像进行分割;
[0122]发送模块601,还用于向待烧录设备发送分割后的软件镜像,以使待烧录设备根据烧录空间信息将软件镜像烧录到与软件镜像对应的烧录空间中。
[0123]可选的,作为一种可实施的方式,本实施例的软件镜像烧录服务器,还可以包
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1