一种嵌入式系统批量升级的方法及装置制造方法
【专利摘要】本发明提出一种嵌入式系统批量升级的方法,包括:当检测到升级文件时,向局域网内的其他嵌入式设备发送该设备是升级服务器的广播;当接收到广播时,建立其他嵌入式设备与升级服务器的第一TCP连接;获取其他嵌入式设备的升级状态;对升级状态为待升级的嵌入式设备进行顺序排序,获得各个待升级的嵌入式设备的下一个嵌入式设备的IP地址;将各个下一个嵌入式设备的IP地址发送至对应的嵌入式设备;根据下一个嵌入式设备的IP地址建立第二TCP连接;将升级文件发送至其中一个嵌入式设备;根据第二TCP连接将升级文件发送至各个嵌入式设备。本发明还提出一种嵌入式系统批量升级的装置,可以快速、可靠地进行系统的批量升级。
【专利说明】一种嵌入式系统批量升级的方法及装置
【技术领域】
[0001]本发明涉及设备的系统升级领域,特别是涉及一种嵌入式系统批量升级的方法及
>J-U ρ?α装直。
【背景技术】
[0002]在当前嵌入式行业,越来越多产品开始使用Iinux操作系统,而使用这样的操作系统,经常需要升级软件,目前主流的有三种升级方式:
[0003]1、需要一台升级控制PC,PC主动与多个嵌入式设备建立TCP连接发送升级数据或者直接发送组播升级数据,完成软件升级。但是,在建立多个TCP连接的时候,升级速度变慢,如果是组播则升级不可靠,因为组播是不保证数据正确性,且需要交换机支持组播功倉泛。
[0004]2、在整个系统中存在一个升级服务器,然后在嵌入式设备中配置服务器地址,升级的时候操作嵌入式设备主动与服务器发生连接,传输数据,完成升级。这种方式不好批量升级。
[0005]3、通过u盘逐个对嵌入式设备进行升级。这种方式不好批量升级。
[0006]综上,目前的系统升级方法,升级速度较慢,或者升级可靠性低,或者不能批量升级。
【发明内容】
[0007]本发明的目的在于提出一种嵌入式系统批量升级的方法及装置,可以快速、可靠地进行系统的批量升级。
[0008]采用的方案是:
[0009]一种嵌入式系统批量升级的方法,包括步骤:
[0010]当检测到升级文件时,向局域网内的其他嵌入式设备发送该设备是升级服务器的广播;
[0011]当接收到所述广播时,建立其他嵌入式设备与所述升级服务器的第一 TCP连接;
[0012]获取其他嵌入式设备的升级状态;其中,所述升级状态包括待升级、正在升级和升级完成;
[0013]对升级状态为待升级的嵌入式设备进行顺序排序,获得各个待升级的嵌入式设备的下一个嵌入式设备的IP地址;
[0014]将各个所述下一个嵌入式设备的IP地址所述第一 TCP连接发送至对应的嵌入式设备;
[0015]根据所述下一个嵌入式设备的IP地址建立第二 TCP连接;其中,所述第二 TCP连接为两两嵌入式设备之间的连接;
[0016]将所述升级文件发送至其中一个嵌入式设备;
[0017]根据所述第二 TCP连接将所述升级文件发送至各个嵌入式设备。
[0018]以及,一种嵌入式系统批量升级的装置,包括:
[0019]广播单元,用于当检测到升级文件时,向局域网内的其他嵌入式设备发送该设备是升级服务器的广播;
[0020]第一连接建立单元,用于当接收到所述广播时,建立其他嵌入式设备与所述升级服务器的第一 TCP连接;
[0021]第二获取单元,用于获取其他嵌入式设备的升级状态;其中,所述升级状态包括待升级、正在升级和升级完成;
[0022]第三获取单元,用于对升级状态为待升级的嵌入式设备进行顺序排序,获得各个待升级的嵌入式设备的下一个嵌入式设备的IP地址;
[0023]地址发送单元,用于将各个所述下一个嵌入式设备的IP地址所述第一 TCP连接发送至对应的嵌入式设备;
[0024]第二连接建立单元,用于根据所述下一个嵌入式设备的IP地址建立第二 TCP连接;其中,所述第二 TCP连接为两两嵌入式设备之间的连接;
[0025]第一发送单元,用于将所述升级文件发送至其中一个嵌入式设备;
[0026]第二发送单元,用于根据所述第二 TCP连接将所述升级文件发送至各个嵌入式设备。
[0027]本发明中,当位于同一个局域网内的一个嵌入式设备检测到携带升级文件的介质,则获取该升级文件进行系统升级;与此同时,向局域网内的其他嵌入式设备发送该设备为升级服务器的广播;接收到该广播后,其他各个嵌入式设备与升级服务器建立一个TCP可靠连接;通过该TCP可靠连接获取其他各个嵌入式设备的升级状态;对待升级的嵌入式设备进行顺序排序,按照该顺序将各个嵌入式设备的下一个设备的IP地址发送至对应的嵌入式设备;根据收到的IP地址建立两两嵌入式设备间的一个TCP可靠连接;升级服务器将升级文件数据包发送至其中一个嵌入式设备,通过两两嵌入式设备间的TCP可靠连接将升级数据包传送至各个嵌入式设备进行升级,这样,建立的可靠连接可以保证升级的可靠性;每个节点与节点之间只要传输一份数据,速度非常快;并且采用这种方式丝毫不影响系统的性能、能够较大程度上方便设备批量进行系统升级的进行。
【专利附图】
【附图说明】
[0028]图1为本发明方法的一个流程图;
[0029]图2为本发明具体实施时的一个示意图;
[0030]图3为本发明装置的一个结构示意图;
[0031]图4为本发明装置的另一个结构示意图。
【具体实施方式】
[0032]本发明提出一种嵌入式系统批量升级的方法,其流程可参考图1,包括步骤:
[0033]S1、当检测到升级文件时,向局域网内的其他嵌入式设备发送该设备是升级服务器的广播;
[0034]其中,升级文件的获取可以是通过读取U盘存储的升级文件,也可以通过网络发送至同一局域网内的嵌入式设备。
[0035]在其中一个实施方式中,当存储介质,如U盘,插入到其中一个嵌入式设备时,读取U盘中的文件,判断是否为升级文件;如果不是,不作操作;如果是,将该升级文件拷贝到该嵌入式设备的内存,并更新到本地nand flash。然后对自身进行系统升级,此时该设备成为整个系统的升级服务器,向局域网内的其他嵌入式设备发送该设备是升级服务器的广播,为了使得不是同时启动的嵌入式设备,可以收到广播,升级服务器可以每隔一段时间发送一次广播;如:可以是每隔3秒发送一次,一共发送3次数。
[0036]S2、当接收到广播时,建立其他嵌入式设备与升级服务器的第一 TCP连接;
[0037]其他嵌入式设备接收到升级服务器发送的上述广播时,向升级服务器反馈各自的IP地址,各自与升级服务器建立第一 TCP连接。
[0038]S3、获取其他嵌入式设备的升级状态;
[0039]其中,升级状态包括待升级、正在升级和升级完成;
[0040]具体的,可以是升级服务器通过步骤S2建立的第一 TCP连接,获取其他嵌入式设备的升级状态;
[0041]也可以是,其他嵌入式设备通过步骤S2建立的第一 TCP连接,将各自的升级状态反馈给升级服务器。
[0042]S4、对升级状态为待升级的嵌入式设备进行顺序排序,获得各个待升级的嵌入式设备的下一个嵌入式设备的IP地址;
[0043]具体的,对升级状态为待升级的嵌入式设备进行顺序排序的步骤可以但不限于以下方式:
[0044]方式1、获取升级状态为待升级的嵌入式设备的IP地址,按照从小到大顺序对各个IP地址进行排序;或者,从大到小的顺序对各个IP地址进行排序;以获得各个嵌入式设备的下一个嵌入式设备的IP地址;
[0045]方式2、获取升级状态为待升级的嵌入式设备的MAC地址,按照从小到大顺序对各个MAC地址进行排序;从大到小的顺序对各个MAC地址进行排序;以获得各个嵌入式设备的下一个嵌入式设备MAC地址,进而获得对应的IP地址;
[0046]方式3、根据步骤S2中,其他嵌入式设备向升级服务器反馈各自IP地址的时间顺序,来确定各个嵌入式设备的下一个嵌入式设备的IP地址。
[0047]为了进一步说明对升级状态为待升级的嵌入式设备进行顺序排序的步骤,请参考图2所示的示意图;其中,嵌入式设备I为升级服务器;嵌入式设备1、嵌入式设备2、嵌入式设备3、嵌入式设备4和嵌入式设备5的IP地址分别是:10.4.1.1、10.4.1.2、10.4.1.3、
10.4.1.4,10.4.1.5 ;
[0048]升级服务器向嵌入式设备2、嵌入式设备3、嵌入式设备4和嵌入式设备5发送嵌入式设备I为升级服务器的广播;
[0049]嵌入式设备2、嵌入式设备3、嵌入式设备4和嵌入式设备5收到该广播后,向升级服务器反馈各自的IP地址。
[0050]以按照方式I为例进行说明:
[0051]获得嵌入式设备2、嵌入式设备3、嵌入式设备4和嵌入式设备5的IP地址后,对IP地址的最后一字节按从小到大进行排序得到:0.4.1.2,10.4.1.3,10.4.1.4,10.4.1.5 ;则嵌入式设备2的下一个嵌入式设备的IP地址为嵌入式设备3的IP地址:10.4.1.3;嵌入式设备3的下一个嵌入式设备的IP地址为嵌入式设备4的IP地址:10.4.1.4;嵌入式设备4的下一个嵌入式设备的IP地址为嵌入式设备5的IP地址:10.4.1.5。
[0052]S5、将各个下一个嵌入式设备的IP地址发送至对应的嵌入式设备;
[0053]具体的,仍以图2为例,升级服务器向每个升级客户端通过第一 TCP连接向各个嵌入式设备发送他下一个节点的IP地址,比如此时向嵌入式设备2发送下一个嵌入式设备的IP地址为10.4.1.3,嵌入式设备3发送下一个嵌入式设备的IP地址为10.4.1.4,以此类推,直到最后一个IP地址。由于嵌入式设备5是最后一个,所以其没有下一个嵌入式设备。
[0054]S6、根据下一个嵌入式设备的IP地址建立两两嵌入式设备之间的连接;
[0055]根据下一个嵌入式设备的IP地址建立第二 TCP连接;其中,第二 TCP连接为两两嵌入式设备之间的连接;这里两两嵌入式设备是相对于步骤S2中提到的其他嵌入式设备而H。
[0056]具体的,以图2为例,嵌入式设备2、嵌入式设备3、嵌入式设备4和嵌入式设备5间建立第二 TCP连接后,嵌入式设备2、嵌入式设备3、嵌入式设备4和嵌入式设备5间成单链式连接。
[0057]S7、将升级文件发送至其中一个嵌入式设备;
[0058]升级服务器将升级文件数据包发送至其中一个嵌入式设备。仍以图2为例,可以将升级文件数据包发送至嵌入式设备2、嵌入式设备3、嵌入式设备4和嵌入式设备5的任一个。
[0059]S8、根据第二 TCP连接将升级文件发送至各个嵌入式设备。
[0060]为更清楚的说明这一过程,同样以图2为例;设定升级服务器将升级文件数据包发送至嵌入式设备2 ;具体过程如下:
[0061]将升级文件数据包I发送至嵌入式设备2,嵌入式设备2存储升级文件数据包I ;将升级文件数据包I通过建立的第二 TCP连接发送至嵌入式设备3 ;嵌入式设备3收到升级文件数据包I后将其发送至嵌入式设备4 ;各个嵌入式设备每接收到一个数据包,就拷贝到内存,同时将该数据包通过第二 TCP连接转发给他的下一个嵌入式设备;这样,所有的嵌入式设备都在同时传输数据。比如:嵌入式设备3在发送升级文件数据包I给嵌入式设备4 ;同一时刻,嵌入式设备2在向嵌入式设备3发送数据包2,这样既不占用很大的带宽,又能同时传输数据,加快升级速度。
[0062]一般来说,当前嵌入式设备接收完所有升级文件时,就可以进行系统升级。各个嵌入式设备接收完升级文件的时间不一样,因此各个嵌入式设备进行系统升级的开始时间可能会有点差异;但也可以约定所有嵌入式设备接收完升级文件后,再升级。
[0063]当正在接收到升级文件数据包时,将自身的升级状态修改为正在升级,此时其他装设有升级文件的介质插入时,不会获取其他介质中的升级文件,以保证系统的可靠性。
[0064]本发明中,当位于同一个局域网内的一个嵌入式设备检测到携带升级文件的介质,则获取该升级文件进行系统升级;与此同时,向局域网内的其他嵌入式设备发送该设备为升级服务器的广播;接收到该广播后,其他各个嵌入式设备与升级服务器建立一个TCP可靠连接;通过该TCP可靠连接获取其他各个嵌入式设备的升级状态;对待升级的嵌入式设备进行顺序排序,按照该顺序将各个嵌入式设备的下一个设备的IP地址发送至对应的嵌入式设备;根据收到的IP地址建立两两嵌入式设备间的一个TCP可靠连接;升级服务器将升级文件数据包发送至其中一个嵌入式设备,通过两两嵌入式设备间的TCP可靠连接将升级数据包传送至各个嵌入式设备进行升级,这样,建立的可靠连接可以保证升级的可靠性;每个节点与节点之间只要传输一份数据,速度非常快;并且采用这种方式丝毫不影响系统的性能、能够较大程度上方便设备批量进行系统升级的进行。
[0065]在另一实施方式中,为了提高嵌入式设备升级的可靠性,若当前嵌入式设备的系统升级失败时,将自身升级状态修改为待升级,向升级服务器返回当前嵌入式设备等待升级的信息;返回上述步骤S2,重复执行步骤S2至S8,直至所有的嵌入式设备都升级完毕。
[0066]在另一个实施方式中,若当前嵌入式设备的系统升级完成时,将自身升级状态修改为升级完成,向升级服务器返回当前嵌入式设备系统升级完成的信息。可以进一步提高嵌入式设备升级的可靠性。若升级成功,则断开该嵌入式设备与升级服务器间的第一 TCP连接。
[0067]本发明还提出一种嵌入式系统批量升级的装置,其结构示意图参考图3,包括:
[0068]广播单元,用于当检测到升级文件时,向局域网内的其他嵌入式设备发送该设备是升级服务器的广播;
[0069]第一连接建立单元,用于当接收到广播时,建立其他嵌入式设备与升级服务器的第一 TCP连接;
[0070]第二获取单元,用于获取其他嵌入式设备的升级状态;其中,升级状态包括待升级、正在升级和升级完成;
[0071]第三获取单元,用于对升级状态为待升级的嵌入式设备进行顺序排序,获得各个待升级的嵌入式设备的下一个嵌入式设备的IP地址;
[0072]地址发送单元,用于将各个下一个嵌入式设备的IP地址通过第一 TCP连接发送至对应的嵌入式设备;
[0073]第二连接建立单元,用于根据下一个嵌入式设备的IP地址建立两两嵌入式设备之间的连接,记为第二 TCP连接;
[0074]第一发送单元,用于将升级文件发送至其中一个嵌入式设备;
[0075]第二发送单元,用于根据第二 TCP连接将升级文件发送至各个嵌入式设备。
[0076]本发明中,当位于同一个局域网内的一个嵌入式设备检测到携带升级文件的介质,则获取该升级文件进行系统升级;与此同时,向局域网内的其他嵌入式设备发送该设备为升级服务器的广播;接收到该广播后,其他各个嵌入式设备与升级服务器建立一个TCP可靠连接;通过该TCP可靠连接获取其他各个嵌入式设备的升级状态;对待升级的嵌入式设备进行顺序排序,按照该顺序将各个嵌入式设备的下一个设备的IP地址发送至对应的嵌入式设备;根据收到的IP地址建立两两嵌入式设备间的一个TCP可靠连接;升级服务器将升级文件数据包发送至其中一个嵌入式设备,通过两两嵌入式设备间的TCP可靠连接将升级数据包传送至各个嵌入式设备进行升级,这样,建立的可靠连接可以保证升级的可靠性;每个节点与节点之间只要传输一份数据,速度非常快;并且采用这种方式丝毫不影响系统的性能、能够较大程度上方便设备批量进行系统升级的进行。
[0077]为了便于掌握嵌入式设备的升级情况,进一步提高升级可靠性,作了如下改进,请参考图4,嵌入式系统批量升级的装置还包括状态修改单元;
[0078]若当前嵌入式设备的系统升级失败时,状态修改单元将自身升级状态修改为待升级,向升级服务器返回当前嵌入式设备等待升级的信息;
[0079]通知第二获取单元继续对应的操作。
[0080]在一个实施方式中,第三获取单元对升级状态为待升级的嵌入式设备进行顺序排序时,
[0081]获取升级状态为待升级的嵌入式设备的IP地址,按照从小到大顺序对各个IP地址进行排序;
[0082]或者,获取升级状态为待升级的嵌入式设备的MAC地址,按照从小到大顺序对各个MAC地址进行排序。
[0083]为了进一步提高升级可靠性,若当前嵌入式设备的系统升级完成时,状态修改单元将自身升级状态修改为升级完成,向升级服务器返回当前嵌入式设备系统升级完成的信肩、O
[0084]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种嵌入式系统批量升级的方法,其特征在于,包括步骤: 当检测到升级文件时,向局域网内的其他嵌入式设备发送该设备是升级服务器的广播; 当接收到所述广播时,建立其他嵌入式设备与所述升级服务器的第一 TCP连接; 获取其他嵌入式设备的升级状态;其中,所述升级状态包括待升级、正在升级和升级完成; 对升级状态为待升级的嵌入式设备进行顺序排序,获得各个待升级的嵌入式设备的下一个嵌入式设备的IP地址; 将各个所述下一个嵌入式设备的IP地址通过所述第一 TCP连接发送至对应的嵌入式设备; 根据所述下一个嵌入式设备的IP地址建立第二 TCP连接;其中,所述第二 TCP连接为两两嵌入式设备之间的连接; 将所述升级文件发送至其中一个嵌入式设备; 根据所述第二 TCP连接将所述升级文件发送至各个嵌入式设备。
2.根据权利要求1所述的嵌入式系统批量升级的方法,其特征在于, 若当前嵌入式设备的系统升级失败时,将自身升级状态修改为待升级,向所述升级服务器返回所述当前嵌入式设备等待升级的信息;返回所述获取其他嵌入式设备的升级状态的步骤。
3.根据权利要求1所述的嵌入式系统批量升级的方法,其特征在于,在所述对升级状态为待升级的嵌入式设备进行顺序排序的步骤中, 获取升级状态为待升级的嵌入式设备的IP地址,按照从小到大顺序对各个IP地址进行排序; 或者,获取升级状态为待升级的嵌入式设备的MAC地址,按照从小到大顺序对各个MAC地址进行排序。
4.根据权利要求1至3任一项所述的嵌入式系统批量升级的方法,其特征在于, 若当前嵌入式设备的系统升级完成时,将自身升级状态修改为升级完成,向所述升级服务器返回所述当前嵌入式设备系统升级完成的信息。
5.一种嵌入式系统批量升级的装置,其特征在于,包括: 广播单元,用于当检测到升级文件时,向局域网内的其他嵌入式设备发送该设备是升级服务器的广播; 第一连接建立单元,用于当接收到所述广播时,建立其他嵌入式设备与所述升级服务器的第一 TCP连接; 第二获取单元,用于获取其他嵌入式设备的升级状态;其中,所述升级状态包括待升级、正在升级和升级完成; 第三获取单元,用于对升级状态为待升级的嵌入式设备进行顺序排序,获得各个待升级的嵌入式设备的下一个嵌入式设备的IP地址; 地址发送单元,用于将各个所述下一个嵌入式设备的IP地址所述第一 TCP连接发送至对应的嵌入式设备; 第二连接建立单元,用于根据所述下一个嵌入式设备的IP地址建立第二 TCP连接;其中,所述第二 TCP连接为两两嵌入式设备之间的连接; 第一发送单元,用于将所述升级文件发送至其中一个嵌入式设备; 第二发送单元,用于根据所述第二 TCP连接将所述升级文件发送至各个嵌入式设备。
6.根据权利要求5所述的嵌入式系统批量升级的装置,其特征在于,所述嵌入式系统批量升级的装置还包括状态修改单元; 若当前嵌入式设备的系统升级失败时,所述状态修改单元将自身升级状态修改为待升级,向所述升级服务器返回所述当前嵌入式设备等待升级的信息; 通知所述第二获取单元继续对应的操作。
7.根据权利要求5所述的嵌入式系统批量升级的装置,其特征在于,在所述第三获取单元对升级状态为待升级的嵌入式设备进行顺序排序时, 获取升级状态为待升级的嵌入式设备的IP地址,按照从小到大顺序对各个IP地址进行排序; 或者,获取升级状态为待升级的嵌入式设备的MAC地址,按照从小到大顺序对各个MAC地址进行排序。
8.根据权利要求5至7任一项所述的嵌入式系统批量升级的装置,其特征在于, 若当前嵌入式设备的系统升级完成时,所述状态修改单元将自身升级状态修改为升级完成,向所述升级服务器返回所述当前嵌入式设备系统升级完成的信息。
【文档编号】G06F9/445GK104077152SQ201310102138
【公开日】2014年10月1日 申请日期:2013年3月27日 优先权日:2013年3月27日
【发明者】谢胜, 陈 全 申请人:广东威创视讯科技股份有限公司