一种实现分区迁移的方法、系统及装置制造方法

文档序号:6629861阅读:235来源:国知局
一种实现分区迁移的方法、系统及装置制造方法
【专利摘要】本发明提供一种实现分区迁移的方法、系统及装置,其中,该方法包括:上位机向下位机发送分区数据采集指令;下位机响应分区数据采集指令采集样本分区数据,并对样本分区数据进行打包;上位机向下位机发送分区数据提取指令使下位机将打包的分区数据传送至上位机;上位机将提取到打包数据再次进行打包生成相应的固件;上位机将固件传送至另一下位机,使另一下位机对固件进行分区还原,将样本分区数据迁移至另一下位机。利用本发明,可以在开发系统中直接根据设计需要获取样本分区数据,并对该样本分区数据进行处理以整体迁移至待生产的产品中进行分区还原,而避免了在改变系统配置时需要重新设计和编写程序所带来的不便,从而提高了项目开发的效率,同时节省人力成本与时间成本。
【专利说明】—种实现分区迁移的方法、系统及装置

【技术领域】
[0001]本发明涉及系统开发【技术领域】,尤其涉及一种实现分区迁移的方法、系统及装置。

【背景技术】
[0002]在进行产品的系统开发时,例如,A厂商需要根据客户需求定制一套配置好桌面布局、预装应用、系统配置的软件,并导入到所生产的设备中。在现有技术下,一般可以通过以下方法实现:修改软件,按照客户需求进行逐条配置。但是,此方法若遇到一些比较难预制的条目,势必要增加开发成本,推迟项目进度。


【发明内容】

[0003]鉴于上述问题,本发明提供一种克服上述问题或者至少部分解决上述问题的实现分区迁移的方法、系统及装置。
[0004]本发明提供一种分区迁移方法,所述方法包括:上位机向下位机发送分区数据采集指令;所述下位机响应所述分区数据采集指令采集样本分区数据,并对所述样本分区数据进行打包;所述上位机向所述下位机发送分区数据提取指令使所述下位机将打包的分区数据传送至所述上位机;所述上位机将提取到打包数据再次进行打包生成相应的固件;所述上位机将所述固件传送到至少一另一下位机,使所述至少一另一下位机对所述固件进行分区还原,将所述样本分区数据迁移至所述至少一另一下位机。
[0005]其中,所述上位机向下位机发送分区数据采集指令的步骤具体为:所述上位机通过android调试桥ADB向所述下位机发送所述分区数据采集指令。
[0006]其中,所述下位机响应所述分区数据采集指令采集样本分区数据,并对所述样本分区数据进行打包的步骤具体为:所述下位机响应所述分区数据采集指令采集样本分区数据,并将所述样本分区数据中userdata分区打包成压缩的镜像文件。
[0007]其中,所述上位机将提取到打包数据再次进行打包生成相应的固件的步骤包括:启动监控线程以检测所述上位机是否连接了至少一个具有ADB的设备;其中,所述具有ADB的设备为需要克隆所述上位机生成的固件的设备;若是则响应用户执行迁移的指令获取所述上位机的分区信息;根据获取到的所述上位机的分区信息将从所述下位机提取到的打包数据进行分区克隆;将原始固件与克隆后打包数据进行合并,并再次进行打包而生成所述相应的固件;其中,所述原始固件为所述上位机中原有固件。
[0008]其中,所述将获取到的所述设备的分区信息以及从所述下位机提取到的打包数据进行分区克隆的步骤包括:根据从所述下位机提取到的打包数据解析所述原始固件中的parameter文件分区信息,以及根据所述打包数据的大小计算新分区的大小;将新分区信息加入到分区列表中,并回写到所述原始固件中的parameter文件;在所述打包数据中新增相应的分区数据的脚本,以将所述打包数据进行分区克隆。
[0009]其中,所述上位机将所述固件传送到至少一另一下位机,使所述至少一另一下位机对所述固件进行分区还原的步骤具体为:在所述至少一另一下位机为Android设备时,第一次启动所述另一下位机以执行recovery程序,并根据系统分区信息执行恢复操作将所述固件分区还原到data分区。
[0010]本发明还提供一种分区迁移系统,其特征在于,所述系统包括上位机、第一下位机以及至少一第二下位机;所述上位机向所述第一下位机发送分区数据采集指令,所述第一下位机响应所述分区数据采集指令采集样本分区数据,并对所述样本分区数据进行打包;所述上位机向所述第一下位机发送分区数据提取指令使所述第一下位机将打包的分区数据传送至所述上位机,所述上位机将提取到打包数据再次进行打包生成相应的固件;所述上位机将所述固件传送至所述至少一第二下位机,使所述至少一第二下位机对所述固件进行分区还原,将所述样本分区数据迁移至所述至少一第二下位机。
[0011]其中,所述系统还包括一终端,所述上位机通过所述终端将所述固件传送至所述至少一第二下位机。
[0012]其中,所述上位机包括:设备检测模块,用于启动监控线程以检测所述上位机是否连接了至少一个具有ADB的设备;其中,所述具有ADB的设备为需要克隆所述上位机生成的固件的设备;设备控制模块,响应用户执行迁移的指令获取与所述上位机连接的设备的分区信息,并将获取到的所述设备的分区信息以及从所述下位机提取到的打包数据进行分区克隆;固件打包模块,将原始固件与克隆后的打包数据进行合并,并再次进行打包而生成所述相应的固件;其中,所述原始固件为所述上位机中原有固件。
[0013]本发明还提供一种分区迁移装置,所述装置包括:设备检测模块,用于启动监控线程以检测所述上位机是否连接了至少一个具有ADB的设备;其中,所述具有ADB的设备为需要克隆所述上位机生成的固件的设备;设备控制模块,响应用户执行迁移的指令获取与所述上位机连接的设备的分区信息,并将获取到的所述设备的分区信息以及从所述下位机提取到的打包数据进行分区克隆;固件打包模块,将原始固件与克隆后的打包数据进行合并,并再次进行打包而生成所述相应的固件;其中,所述原始固件为所述上位机中原有固件。
[0014]本发明提供的一种实现分区迁移的方法、系统及装置,通过上位机从下位机(样机)获取样本分区数据并对该样本分区数据进行打包处理以形成相应的固件,该固件可以下发至该另一下位机(待生产设备),并在该另一下位机中进行固件分区还原从而将所述样本分区数据迁移至所述另一下位机中。利用本发明,可以在开发系统中直接根据设计需要获取样本分区数据,并对该样本分区数据进行处理以整体迁移至待生产的产品中进行分区还原,而避免了在改变系统配置时需要重新设计和编写程序所带来的不便,从而提高了项目开发的效率,同时节省人力成本与时间成本。

【专利附图】

【附图说明】
[0015]图1为本发明实施方式中的实现分区迁移的方法流程示意图;
[0016]图2为本发明实施方式中上位机生成固件的方法流程示意图;
[0017]图3为本发明实施方式中将从下位机提取到的打包数据进行分区克隆的方法流程不意图;
[0018]图4为本发明实施方式中的实现分区迁移的系统的结构示意图;
[0019]图5为本发明另一实施方式中的实现分区迁移的系统的结构示意图;
[0020]图6为本发明实施方式中的一种分区迁移装置的结构示意图。
[0021]标号说明:
[0022]系统40、50、60
[0023]设备检测模块410、61
[0024]设备控制模块411、62
[0025]固件打包模块412、63
[0026]通信模块413、64
[0027]上位机41、51
[0028]第一下位机42、52
[0029]第二下位机43、53
[0030]终端54

【具体实施方式】
[0031]为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0032]首先对本发明出现的专有名词进行解释:
[0033]上位机:是指可以直接发出操控命令的计算机,一般是PC/host computer/mastercomputer/upper computer,屏幕上显示各种信号变化(液压,水位,温度等)。
[0034]下位机:是直接控制设备获取设备状况的计算机,一般是PLC/单片机singlechip microcomputer/slave computer/lower computer 之类的。
[0035]上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。
[0036]ADB: An droid Debug Bridge,调试桥,是Android sdk里的一个工具,利用这个工具可以直接操作管理Android模拟器或者真实的Andr1d设备(如Gl手机)。主要功能包括:运行设备的shell(命令行)、管理模拟器或设备的端口映射、计算机和设备之间上传/下载文件、将本地apk软件安装至模拟器或Android设备。
[0037]DEMO demonstrat1n的缩写,本发明中的DEMO指的是配置好的展示样机。
[0038]请参阅图1,为本发明实施方式中的实现分区迁移的方法流程示意图。该实施方式示出的实现分区迁移的方法包括如下步骤:
[0039]步骤S10,上位机向下位机发送分区数据采集指令。
[0040]其中,上位机通过android调试桥ADB向该下位机发送分区数据采集指令。
[0041]步骤S11,该下位机响应该分区数据采集指令采集样本分区数据,并对该样本分区数据进行打包。
[0042]该样本分区数据可以是系统设置、预装应用、各种应用等。
[0043]具体地,该下位机响应该分区数据采集指令采集样本分区数据,并将该样本分区数据中user data分区打包成压缩的镜像文件。
[0044]其中,在android系统,该下位机将该样本分区数据中user data分区打包成ext4文件系统镜像文件,并将该镜像文件压缩和添加校验信息。
[0045]步骤S12,该上位机向该下位机发送分区数据提取指令使该下位机将打包的分区数据传送至该上位机。
[0046]步骤S13,该上位机将提取到打包数据再次进行打包生成相应的固件。
[0047]步骤S14,该上位机将该固件传送到至少一另一下位机,使该至少一另一下位机对该固件进行分区还原,将该样本分区数据迁移至另一下位机中。
[0048]具体地,在该另一下位机为Android设备时,第一次启动该另一下位机以执行recovery程序,并根据系统分区信息执行恢复操作将该固件中的分区数据还原到userdata分区。
[0049]其中,Android系统会根据misc分区上的wipe all命令,由bootloader引导执行recovery程序。在recovery的主函数中首先处理参数,而后会根据系统分区信息中是否包含databk分区以判断是否需要执行恢复的操作。一旦检测到databk分区,就会执行simg2img操作,将压缩的镜像文件分区还原到user data分区,从而完成克隆的动作。
[0050]请同时参阅图2,为本发明实施方式中上位机生成固件的方法流程示意图。该实施方式示出的中上位机生成固件的方法包括如下步骤:
[0051]步骤S20,启动监控线程以检测该上位机是否连接了至少一个具有ADB的设备。若是,则进入步骤S21,否则,继续执行步骤S20。
[0052]其中,该具有ADB的设备为需要克隆该上位机生成的固件的设备(该另一下位机),即,待生产的设备。
[0053]步骤S21,响应用户执行克隆的指令获取该上位机的分区信息。
[0054]其中,获取与该上位机设备的分区信息可以通过解析该上位机中原始固件的parameter文件来获取user data分区大小。Parameter文件描述了 kernel启动所需要的command line,其中rknand字段中描述了分区信息。分区起始地址由LAB地址指定,以扇区为单位。每个分区的地址,由上一个分区的起始地址+分区大小决定。进一步地,根如前所述的规则将parameter文件解析封装进分区信息的数据接口,方便后续查询替换使用。
[0055]步骤S22,根据获取到的该上位机的分区信息将从该下位机提取到的打包数据进行分区克隆。
[0056]当获取到当前设备的user data分区大小之后,将其转换为字节大小,通过adbshell执行dataclone脚本并将分区大小信息传给克隆脚本进行处理。
[0057]在这里,该克隆脚本还会根据从该下位机进行样本分区数据采集所述反馈的结果产生相应的克隆结果,若失败则通知客户并提示可能的失败情况,方便客户调整解决。若成功则进入下一个阶段。
[0058]步骤S23,将原始固件与克隆后打包数据进行合并,并再次进行打包而生成该相应的固件。其中,该原始固件为该上位机中原有固件。
[0059]请同时参阅图3,为本发明实施方式中将从下位机提取到的打包数据进行分区克隆的方法流程示意图。该实施方式示出的将从下位机提取到的打包数据进行分区克隆的方法包括如下步骤:
[0060]步骤S30,根据从该下位机提取到的打包数据解析该原始固件中的parameter文件分区信息,以及根据该打包数据的大小计算新分区的大小。
[0061]步骤S31,将新分区信息加入到分区列表中,并回写到该原始固件中的parameter文件。
[0062]步骤S32,在该打包数据中新增相应的分区数据的脚本,以将该打包数据进行分区克隆。
[0063]具体地,该parameter文件中分区列的数据是由例如0x00180000i0x00282000 (system)这样的字符串进行表示,O之前表示分区大小,O之后表示分区起始位置,括号中的字符串是分区名。后面分区的起始位置是前一个分区大小加上分区起始位置。固件打包时,需要将原来固件中的parameter文件分区信息解析出来,然后根据克隆镜像文件的大小,计算一个向上靠近的最接近的128MB整数倍大小,作为新分区的大小。将新分区信息加入到分区列表中,并回写到parameter文件。打包脚本新增一个分区数据的脚本,进而打包。重新生成的固件即包含了所述下位机(样机)中的整个userdata分区镜像。进一步地,通过烧写工具根据打包脚本定义的分区信息和镜像,将镜像文件分别烧录到待生产的设备上,完成样本分区数据从样机到待生产设备的迁移。
[0064]请参阅图4,为本发明实施方式中的实现分区迁移的系统的结构示意图,该系统40包括上位机41、第一下位机42以及至少一第二下位机43。该上位机41向该第一下位机42发送分区数据采集指令,该第一下位机42响应该分区数据采集指令采集样本分区数据,并对该样本分区数据进行打包.该上位机41向该第一下位机42发送分区数据提取指令使该第一下位机42将打包的分区数据传送至该上位机41,该上位机41将提取到打包数据再次进行打包生成相应的固件。该上位机41将该固件传送至该至少一第二下位机43,使该第二下位机43对该固件进行分区还原,将该样本分区数据迁移至该第二下位机43。
[0065]在本实施方式中,该上位机41为用于进行系统开发的设备,该第一下位机42为用于保存样本分区数据的演示(DEMO)设备,该第二下位机43为待生产设备。其中,该样本分区数据为系统设置、预装应用、各种应用等。
[0066]进一步地,该上位机41和第一下位机42可以是计算机,该第二下位机43可以是Android 设备。
[0067]具体地,该上位机41通过android调试桥ADB向该第一下位机42发送分区数据采集指令。该第一下位机42响应该分区数据采集指令采集样本分区数据,并将user data分区打包成压缩的镜像文件。在该第二下位机43为Android设备时,第一次启动该第二下位机43以执行recovery程序,并根据系统分区信息执行恢复操作将该固件中的分区数据还原到user data分区。
[0068]该上位机41包括:
[0069]设备检测模块410,用于启动监控线程以检测该上位机是否连接了至少一个具有ADB的设备。
[0070]其中,该具有ADB的设备为需要克隆该上位机生成的固件的设备,S卩,待生产的设备。
[0071]设备控制模块411,响应用户执行迁移的指令获取与该上位机连接的设备的分区信息,并将获取到的该设备的分区信息以及从该下位机42提取到的打包数据进行分区克隆。
[0072]固件打包模块412,将原始固件与克隆后的打包数据进行合并,并再次进行打包而生成该相应的固件。
[0073]其中,该原始固件为该上位机42中原有固件。
[0074]通信模块413,用于在该上位机41与该第一下位机42之间进行数据和指令的交互传输。
[0075]进一步地,该设备控制模块42根据从该下位机42提取到的打包数据解析该原始固件中的parameter文件分区信息,以及根据该打包数据的大小计算新分区的大小;将新分区信息加入到分区列表中,并回写到该原始固件中的parameter文件;以及在该打包数据中新增相应的分区数据的脚本,以将该打包数据进行分区克隆。
[0076]请参阅图5,为本发明另一实施方式中的实现分区迁移的系统的结构示意图,该系统50包括上位机51、第一下位机52、至少一第二下位机53以及终端54。该上位机51向该第一下位机52发送分区数据采集指令,该第一下位机52响应该分区数据采集指令采集样本分区数据,并对该样本分区数据进行打包。该上位机51向该第一下位机52发送分区数据提取指令使该第一下位机52将打包的分区数据传送至该上位机51,该上位机51将提取到打包数据再次进行打包生成相应的固件。该上位机51将该固件传送至该终端54保存。该终端54将保存的固件下发至该至少一第二下位机53,使该第二下位机53对该固件进行分区还原,将该样本分区数据迁移至该第二下位机53。
[0077]在本实施方式中,该上位机51为用于进行系统开发的设备,该第一下位机52为用于保存样本分区数据的演不(DEMO)设备,该第二下位机53为待生产设备。其中,该样本分区数据为系统设置、预装应用、各种应用等。
[0078]进一步地,该上位机51、第一下位机52以及终端54可以是计算机,该第二下位机53可以是Android设备。
[0079]请参阅图6,为本发明实施方式中的一种分区迁移装置的结构示意图。该装置60包括:
[0080]设备检测模块61,用于启动监控线程以检测该装置60是否连接了至少一个具有ADB的设备。其中,该具有ADB的设备为需要克隆该装置60生成的固件的设备。
[0081]设备控制模块62,响应用户执行迁移的指令获取与该装置60连接的设备的分区信息,并将获取到的该设备的分区信息以及从该下位机提取到的打包数据进行分区克隆。
[0082]固件打包模块63,将原始固件与克隆后的打包数据进行合并,并再次进行打包而生成该相应的固件.其中,该原始固件为该装置60中原有固件。
[0083]通信模块64,用于在该上位机61与该第一下位机62之间进行数据和指令的交互传输。
[0084]本发明提供的一种复位电路以及电路复位方法,在或门电路与时钟门控电路之间增加延时电路,由或门电路运算的门控开关信号和复位信号所产生结果经过延时电路的延时后输出至门控时钟电路,以保持或关断输出的时钟信号。从而,使复位电路在撤销复位信号的阶段关断输出的时钟,降低同步复位时序收敛难度,并且对电路的改变简单、工作量小、风险小。
[0085]以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种分区迁移方法,其特征在于,所述方法包括: 上位机向下位机发送分区数据采集指令; 所述下位机响应所述分区数据采集指令采集样本分区数据,并对所述样本分区数据进行打包; 所述上位机向所述下位机发送分区数据提取指令使所述下位机将打包的分区数据传送至所述上位机; 所述上位机将提取到打包数据再次进行打包生成相应的固件; 所述上位机将所述固件传送到至少一另一下位机,使所述至少一另一下位机对所述固件进行分区还原,将所述样本分区数据迁移至所述至少一另一下位机。
2.如权利要求1所述的分区迁移方法,其特征在于,所述上位机向下位机发送分区数据采集指令的步骤具体为:所述上位机通过android调试桥ADB向所述下位机发送所述分区数据采集指令。
3.如权利要求1所述的分区迁移方法,其特征在于,所述下位机响应所述分区数据采集指令采集样本分区数据,并对所述样本分区数据进行打包的步骤具体为: 所述下位机响应所述分区数据采集指令采集样本分区数据,并将所述样本分区数据中user data分区打包成压缩的镜像文件。
4.如权利要求1所述的分区迁移方法,其特征在于,所述上位机将提取到打包数据再次进行打包生成相应的固件的步骤包括: 启动监控线程以检测所述上位机是否连接了至少一个具有ADB的设备;其中,所述具有ADB的设备为需要克隆所述上位机生成的固件的设备; 若是则响应用户执行迁移的指令获取所述上位机的分区信息; 根据获取到的所述上位机的分区信息将从所述下位机提取到的打包数据进行分区克隆; 将原始固件与克隆后打包数据进行合并,并再次进行打包而生成所述相应的固件;其中,所述原始固件为所述上位机中原有固件。
5.如权利要求4所述的分区迁移方法,其特征在于,所述将获取到的所述设备的分区信息以及从所述下位机提取到的打包数据进行分区克隆的步骤包括: 根据从所述下位机提取到的打包数据解析所述原始固件中的parameter文件分区信息,以及根据所述打包数据的大小计算新分区的大小; 将新分区信息加入到分区列表中,并回写到所述原始固件中的parameter文件; 在所述打包数据中新增相应的分区数据的脚本,以将所述打包数据进行分区克隆。
6.如权利要求1所述的分区迁移方法,其特征在于,所述上位机将所述固件传送到至少一另一下位机,使所述至少一另一下位机对所述固件进行分区还原的步骤具体为: 在所述至少一另一下位机为Android设备时,第一次启动所述另一下位机以执行recovery程序,并根据系统分区信息执行恢复操作将所述固件分区还原到data分区。
7.—种分区迁移系统,其特征在于,所述系统包括上位机、第一下位机以及至少一第二下位机;所述上位机向所述第一下位机发送分区数据采集指令,所述第一下位机响应所述分区数据采集指令采集样本分区数据,并对所述样本分区数据进行打包;所述上位机向所述第一下位机发送分区数据提取指令使所述第一下位机将打包的分区数据传送至所述上位机,所述上位机将提取到打包数据再次进行打包生成相应的固件;所述上位机将所述固件传送至所述至少一第二下位机,使所述至少一第二下位机对所述固件进行分区还原,将所述样本分区数据迁移至所述至少一第二下位机。
8.如权利要求7所述的分区迁移系统,其特征在于,所述系统还包括一终端,所述上位机通过所述终端将所述固件传送至所述至少一第二下位机。
9.如权利要求7所述的分区迁移系统,其特征在于,所述上位机包括: 设备检测模块,用于启动监控线程以检测所述上位机是否连接了至少一个具有ADB的设备;其中,所述具有ADB的设备为需要克隆所述上位机生成的固件的设备; 设备控制模块,响应用户执行迁移的指令获取与所述上位机连接的设备的分区信息,并将获取到的所述设备的分区信息以及从所述下位机提取到的打包数据进行分区克隆; 固件打包模块,将原始固件与克隆后的打包数据进行合并,并再次进行打包而生成所述相应的固件;其中,所述原始固件为所述上位机中原有固件。
10.一种分区迁移装置,其特征在于,所述装置包括: 设备检测模块,用于启动监控线程以检测所述上位机是否连接了至少一个具有ADB的设备;其中,所述具有ADB的设备为需要克隆所述上位机生成的固件的设备; 设备控制模块,响应用户执行迁移的指令获取与所述上位机连接的设备的分区信息,并将获取到的所述设备的分区信息以及从所述下位机提取到的打包数据进行分区克隆; 固件打包模块,将原始固件与克隆后的打包数据进行合并,并再次进行打包而生成所述相应的固件;其中,所述原始固件为所述上位机中原有固件。
【文档编号】G06F9/46GK104317643SQ201410534449
【公开日】2015年1月28日 申请日期:2014年10月12日 优先权日:2014年10月12日
【发明者】陈伟 申请人:福州瑞芯微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1