一种版本更新方法和装置转让专利

申请号 : CN201610778905.0

文献号 : CN106304151B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 哈达

申请人 : 新华三技术有限公司

摘要 :

本发明提供一种版本更新方法和装置,该方法包括:将更新版本文件划分为N个分片,并将所述N个分片分配给至少两个组播组地址;确定待更新AP的更新版本文件对应的组播组地址,并通知所述待更新AP加入确定的组播组地址对应的组播组;以组播方式发送确定的组播组地址对应的分片,所述待更新AP对从确定出的组播组地址上接收的分片进行重组后更新本AP的版本文件。通过本发明的技术方案,采用组播方式发送更新版本文件,减少更新版本文件的传输数量,提高AC的处理性能,节约网络带宽。提高更新版本文件的传输效率,降低版本更新时间。

权利要求 :

1.一种版本更新方法,应用在接入控制器AC上,其特征在于,包括:

将更新版本文件划分为N个分片,并将所述N个分片分配给至少两个组播组地址,其中,每个组播组地址对应的分片不同,所述更新版本文件为针对同一类型接入点AP的更新版本文件,N为大于1的正整数;

确定待更新AP的更新版本文件对应的组播组地址,并通知所述待更新AP加入确定的组播组地址对应的组播组;

以组播方式发送确定的组播组地址对应的分片,以使所述待更新AP对从确定出的组播组地址上接收的分片进行重组后更新本AP的版本文件;

其中,在确定待更新AP的更新版本文件对应的组播组地址之后,在确定的组播组地址对应的待更新AP列表中记录所述待更新AP的标识,并将确定的组播组地址对应的分片的分片标识发送给所述待更新AP,以使所述待更新AP利用接收到的分片标识,确定自身是否已经接收到所有分片标识对应的分片;

在接收到来自所述待更新AP的携带组播组地址的接收完成消息时,从所述组播组地址对应的待更新AP列表中删除所述待更新AP的标识;其中,所述接收完成消息是所述待更新AP利用接收到的所述组播组地址对应的分片的分片标识,确定自身已经接收到所述组播组地址对应的所有分片后发送的;

在确定出所述组播组地址对应的待更新AP列表中不存在AP的标识时,停止以组播方式发送所述组播组地址对应的分片。

2.根据权利要求1所述的方法,其特征在于,

所述以组播方式发送确定的组播组地址对应的分片的过程,具体包括:

确定所述AC上与所述待更新AP关联的发送端口;

在所述发送端口上,以组播方式发送确定的组播组地址对应的分片。

3.根据权利要求1所述的方法,其特征在于,

所述停止以组播方式发送所述组播组地址对应的分片之前,还包括:

从所述组播组地址对应的待更新AP列表中删除所述待更新AP的标识后,确定与所述待更新AP关联的发送端口,并判断所述组播组地址对应的待更新AP列表中,是否存在与所述发送端口关联的其它AP的标识;

所述停止以组播方式发送所述组播组地址对应的分片,具体为:若所述组播组地址对应的待更新AP列表中不存在与所述发送端口关联的其它AP的标识,则在所述发送端口上,停止以组播方式发送所述组播组地址对应的分片。

4.根据权利要求1或2所述的方法,其特征在于,

所述以组播方式发送确定的组播组地址对应的分片的过程,具体包括:

为确定的组播组地址对应的每个分片生成一个组播报文,每个组播报文的目的地址为携带的分片对应的组播组地址,所述组播报文的长度未超过传输路径的最大传输单元MTU;

采用循环发送方式,依次发送为每个分片生成的组播报文。

5.一种版本更新方法,应用在接入点AP上,其特征在于,包括:

接收接入控制器AC发送的组播组地址;其中,所述组播组地址为所述AC在确定出所述AP需要更新版本文件时发送的,所述AP的更新版本文件被所述AC划分成N个分片,并被分配给至少两个组播组地址,且每个组播组地址对应的分片不同,N为大于1的正整数;

加入所述组播组地址对应的组播组,并接收所述AC以组播方式发送的所述组播组地址对应的分片;

对接收到的分片进行重组后,更新所述AP的版本文件;

其中,所述方法还包括:接收所述AC发送的所述组播组地址对应的分片的分片标识;

对接收到的分片进行重组的过程,具体包括:

在利用所述组播组地址对应的分片的分片标识,确定自身已经接收到所有分片标识对应的分片后,将所有分片标识对应的分片进行重组;

所述方法进一步包括:

在确定自身已经接收到所述组播组地址对应的所有分片后,向所述AC发送携带所述组播组地址的接收完成消息。

6.一种版本更新装置,应用在接入控制器AC上,其特征在于,包括:

分配模块,用于将更新版本文件划分为N个分片,并将所述N个分片分配给至少两个组播组地址,其中,每个组播组地址对应的分片不同,所述更新版本文件为针对同一类型接入点AP的更新版本文件,N为大于1的正整数;

处理模块,用于确定待更新AP的更新版本文件对应的组播组地址,并通知所述待更新AP加入确定的组播组地址对应的组播组;

发送模块,用于以组播方式发送确定的组播组地址对应的分片,以使所述待更新AP对从确定出的组播组地址上接收的分片进行重组后更新本AP的版本文件;

所述处理模块,还用于在确定待更新AP的更新版本文件对应的组播组地址之后,在确定的组播组地址对应的待更新AP列表中记录所述待更新AP的标识,并将确定的组播组地址对应的分片的分片标识发送给所述待更新AP,以使所述待更新AP利用接收到的分片标识,确定自身是否已经接收到所有分片标识对应的分片;在接收到来自所述待更新AP的携带组播组地址的接收完成消息时,从所述组播组地址对应的待更新AP列表中删除所述待更新AP的标识;其中,所述接收完成消息是所述待更新AP利用接收到的所述组播组地址对应的分片的分片标识,确定自身已经接收到所述组播组地址对应的所有分片后发送的;

所述发送模块,还用于在确定出所述组播组地址对应的待更新AP列表中不存在AP的标识时,停止以组播方式发送所述组播组地址对应的分片。

7.根据权利要求6所述的装置,其特征在于,

所述发送模块,具体用于在以组播方式发送确定的组播组地址对应的分片的过程中,确定所述AC上与所述待更新AP关联的发送端口;

在所述发送端口上,以组播方式发送确定的组播组地址对应的分片。

8.根据权利要求6所述的装置,其特征在于,

所述处理模块,还用于在停止以组播方式发送所述组播组地址对应的分片之前,从所述组播组地址对应的待更新AP列表中删除所述待更新AP的标识后,确定与所述待更新AP关联的发送端口,并判断所述组播组地址对应的待更新AP列表中,是否存在与所述发送端口关联的其它AP的标识;

所述发送模块,具体用于在停止以组播方式发送所述组播组地址对应的分片的过程中,若所述组播组地址对应的待更新AP列表中不存在与所述发送端口关联的其它AP的标识,则在所述发送端口上,停止以组播方式发送所述组播组地址对应的分片。

9.根据权利要求6或7所述的装置,其特征在于,所述发送模块,具体用于在以组播方式发送确定的组播组地址对应的分片的过程中,为确定的组播组地址对应的每个分片生成一个组播报文,每个组播报文的目的地址为携带的分片对应的组播组地址,所述组播报文的长度未超过传输路径的最大传输单元MTU;采用循环发送方式,依次发送为每个分片生成的组播报文。

10.一种版本更新装置,应用在接入点AP上,其特征在于,包括:

接收模块,用于接收接入控制器AC发送的组播组地址;其中,所述组播组地址为所述AC在确定出所述AP需要更新版本文件时发送的,所述AP的更新版本文件被所述AC划分成N个分片,并被分配给至少两个组播组地址,且每个组播组地址对应的分片不同,N为大于1的正整数;加入所述组播组地址对应的组播组,并接收所述AC以组播方式发送的所述组播组地址对应的分片;

更新模块,用于对接收到的分片进行重组后,更新所述AP的版本文件;

其中,所述接收模块,还用于接收所述AC发送的所述组播组地址对应的分片的分片标识;

所述更新模块,具体用于在对接收到的分片进行重组的过程中,在利用所述组播组地址对应的分片的分片标识,确定自身已经接收到所有分片标识对应的分片后,将所有分片标识对应的分片进行重组;

所述装置还包括:发送模块,用于在确定自身已经接收到所述组播组地址对应的所有分片后,向所述AC发送携带所述组播组地址的接收完成消息。

说明书 :

一种版本更新方法和装置

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种版本更新方法和装置。

背景技术

[0002] 在WLAN(Wireless Local Area Networks,无线局域网)中,可以采用AC(Access Controller,接入控制器)和AP(Access Point,接入点)的组网架构,由AC对多个AP进行集中控制和管理。其中,AC通过CAPWAP(Controlling and Provisioning of Wireless Access Point,无线接入点控制与供应)协议与AP建立CAPWAP隧道,并通过该CAPWAP隧道将配置信息下发给AP,由AP利用该配置信息完成自身的配置。当需要更新AP的版本时,AC还通过该CAPWAP隧道将更新版本文件下发给AP,由AP利用该更新版本文件升级自身的版本。
[0003] 由于AC通常管理大量AP,如几千个AP,当大量AP均更新版本时,则AC向大量AP发送更新版本文件,严重影响AC的处理性能,并占有大量网络带宽。而且,如果同时更新版本的AP数量超过AC的并发能力,如AC只能同时为10个AP发送更新版本文件,则从第11个AP开始,需要等其它AP的更新版本文件传输完成后,才能够接收到更新版本文件,版本更新时间会非常长。

发明内容

[0004] 本发明提供一种版本更新方法,应用在AC上,包括:
[0005] 将更新版本文件划分为N个分片,并将所述N个分片分配给至少两个组播组地址,其中,每个组播组地址对应的分片不同,所述更新版本文件为针对同一类型AP的更新版本文件,N为大于1的正整数;
[0006] 确定待更新AP的更新版本文件对应的组播组地址,并通知所述待更新AP加入确定的组播组地址对应的组播组;
[0007] 以组播方式发送确定的组播组地址对应的分片,以使所述待更新AP对从确定出的组播组地址上接收的分片进行重组后更新本AP的版本文件。
[0008] 本发明提供一种版本更新方法,应用在AP上,包括:
[0009] 接收AC发送的组播组地址;其中,所述组播组地址为所述AC在确定出所述AP需要更新版本文件时发送的,所述AP的更新版本文件被所述AC划分成N个分片,并被分配给至少两个组播组地址,且每个组播组地址对应的分片不同,N为大于1的正整数;
[0010] 加入所述组播组地址对应的组播组,并接收所述AC以组播方式发送的所述组播组地址对应的分片;
[0011] 对接收到的分片进行重组后,更新所述AP的版本文件。
[0012] 本发明提供一种版本更新装置,应用在AC上,包括:
[0013] 分配模块,用于将更新版本文件划分为N个分片,并将所述N个分片分配给至少两个组播组地址,其中,每个组播组地址对应的分片不同,所述更新版本文件为针对同一类型AP的更新版本文件,N为大于1的正整数;
[0014] 处理模块,用于确定待更新AP的更新版本文件对应的组播组地址,并通知所述待更新AP加入确定的组播组地址对应的组播组;
[0015] 发送模块,用于以组播方式发送确定的组播组地址对应的分片,以使所述待更新AP对从确定出的组播组地址上接收的分片进行重组后更新本AP的版本文件。
[0016] 本发明提供一种版本更新装置,应用在AP上,包括:
[0017] 接收模块,用于接收AC发送的组播组地址;其中,所述组播组地址为所述AC在确定出所述AP需要更新版本文件时发送的,所述AP的更新版本文件被所述AC划分成N个分片,并被分配给至少两个组播组地址,且每个组播组地址对应的分片不同,N为大于1的正整数;加入所述组播组地址对应的组播组,并接收所述AC以组播方式发送的所述组播组地址对应的分片;
[0018] 更新模块,用于对接收到的分片进行重组后,更新所述AP的版本文件。
[0019] 基于上述技术方案,本发明实施例中,当大量AP需要更新版本时,AC不需要向大量AP发送更新版本文件,而是采用组播方式发送更新版本文件,减少更新版本文件的传输数量,提高AC的处理性能,节约AC与AP之间的网络带宽。而且,当同时更新版本的AP数量超过AC的并发能力时,AP不再需要等其它AP的更新版本文件传输完成,就可以获取更新版本文件,提高更新版本文件的传输效率,降低版本更新时间,提高版本更新速度,提高版本升级效率。

附图说明

[0020] 为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0021] 图1是本发明一种实施方式中的版本更新方法的流程图;
[0022] 图2是本发明另一种实施方式中的版本更新方法的流程图;
[0023] 图3A和图3B是本发明一种实施方式中的应用场景示意图;
[0024] 图4是本发明一种实施方式中的AC的硬件结构图;
[0025] 图5是本发明一种实施方式中的版本更新装置的结构图;
[0026] 图6是本发明一种实施方式中的AP的硬件结构图;
[0027] 图7是本发明一种实施方式中的版本更新装置的结构图。

具体实施方式

[0028] 在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
[0029] 应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0030] 本发明实施例中提出一种版本更新方法,该方法可以应用于包括AC和多个AP的WLAN中,且各AP均是指瘦AP。在一个例子中,当需要为AP更新版本时,则在AC上配置更新版本文件,该更新版本文件用于升级AP的版本。例如,各AP上正在使用版本1,若需要将版本1升级为版本2,则在AC上配置版本2的更新版本文件,并基于该更新版本文件将各AP的版本1升级为版本2。
[0031] 在一个例子中,相同型号的AP可以使用相同的更新版本文件进行升级,而不同型号的AP可以使用不同的更新版本文件进行升级。本发明实施例的后续过程中,以所有AP均是相同型号的AP,且使用一个更新版本文件对所有AP进行升级为例进行说明。对于多个更新版本文件的升级过程,每个更新版本文件的升级过程相同,后续不再赘述。
[0032] 参见图1所示,为版本更新方法的流程图,该方法可以应用在AC上。
[0033] 步骤101,将更新版本文件划分为N个分片,并将该N个分片分配给至少两个组播组地址,其中,每个组播组地址对应的分片不同,该更新版本文件为针对同一类型AP的更新版本文件,且N为大于1的正整数。
[0034] 步骤102,确定待更新AP的更新版本文件对应的组播组地址,并通知该待更新AP加入确定的组播组地址对应的组播组。
[0035] 步骤103,以组播方式发送确定的组播组地址对应的分片,以使待更新AP对从确定出的组播组地址上接收的分片进行重组后更新本AP的版本文件。
[0036] 针对步骤101,针对“将更新版本文件划分为N个分片”的过程,可以根据实际需要进行划分。在一个例子中,由于AC和AP之间传输报文的总长度,不能超过AC和AP之间传输路径的MTU(Maximum Transmission Unit,最大传输单元),因此,AC在将该更新版本文件划分为N个分片时,需要保证携带分片的组播报文的总长度不超过该MTU,即分片与报文头的长度之和不超过该MTU,并基于此策略来将该更新版本文件划分为N个分片。
[0037] 针对“将N个分片分配给至少两个组播组地址”的过程,AC上可以预先配置组播地址池,该组播地址池内可以包含多个组播组地址,且AC可以从组播地址池内选择至少两个组播组地址,并将N个分片分配给这至少两个组播组地址,每个组播组地址对应一个或者多个分片,且不同组播组地址对应的分片数量可以相同,也可以不同,并且每个组播组地址对应的分片不同。例如,以N为20为例,将分片1-分片10分配给组播组地址1,将分片11-分片20分配给组播组地址2。或者,将分片1-分片8、分片10分配给组播组地址1,将分片9、分片11-分片20分配给组播组地址2。上述方式只是分配方式的两个示例,实际应用中可以根据需要任意选择分配方式,本发明实施例中对此分配方式不做限制。
[0038] 在一个例子中,当AC上存在多个更新版本文件,且需要使用这多个更新版本文件为AP升级版本时,则为每个更新版本文件指定的组播组地址具有唯一性,即不同的更新版本文件对应的组播组地址不同。例如,针对更新版本文件1的至少两个组播组地址,可以为组播组地址1和组播组地址2,针对更新版本文件2的至少两个组播组地址,可以为组播组地址3、组播组地址4和组播组地址5。
[0039] 针对步骤102,对于待更新AP,是指需要更新版本文件的AP,且由于步骤101中已经将该更新版本文件划分的N个分片分配给至少两个组播组地址,因此,可以确定待更新AP的更新版本文件对应的组播组地址。
[0040] 针对“通知该待更新AP加入确定的组播组地址对应的组播组”的过程,AC可以将确定的每个组播组地址发送给待更新AP,如将组播组地址1和组播组地址2发送给待更新AP。待更新AP在接收到组播组地址1和组播组地址2后,加入到组播组地址1对应的组播组,并加入到组播组地址2对应的组播组。
[0041] 针对步骤103,针对“以组播方式发送确定的组播组地址对应的分片”的过程,可以包括:为确定的组播组地址对应的每个分片生成一个组播报文,每个组播报文的目的地址为携带的分片对应的组播组地址,该组播报文的长度未超过传输路径的MTU;采用循环发送方式,依次发送为每个分片生成的组播报文。
[0042] 例如,AC依次为分片1-分片10生成组播报文,并得到组播报文1-组播报文10,这些组播报文的目的地址均为组播组地址1,且源地址均为AC的IP地址,且组播报文1中携带分片1,组播报文2中携带分片2,以此类推。进一步的,AC可以采用组播方式发送组播报文1,待组播报文1发送完成之后,采用组播方式发送组播报文2,以此类推,待组播报文10发送完成后,AC继续采用组播方式发送组播报文1,即循环回组播报文1继续发送,以此类推。
[0043] 在一个例子中,AC将确定的组播组地址发送给待更新AP后,待更新AP可以接收到组播组地址,并加入组播组地址对应的组播组。由于待更新AP加入了组播组地址对应的组播组,因此,在AC以组播方式发送该组播组地址对应的分片时,AP就可以接收到该组播组地址对应的分片。进一步的,待更新AP在接收到所有分片后,就可以对接收到的分片进行重组,并更新本AP的版本文件。
[0044] 在待更新AP对接收到的分片进行重组的过程中,由于待更新AP需要接收到更新版本文件的N个分片后,才可以利用这N个分片重组该更新版本文件,那么,为了使待更新AP获知自身已经接收到N个分片,则可以采用如下方式:
[0045] 方式一、AC在确定待更新AP的更新版本文件对应的组播组地址之后,在确定的组播组地址对应的待更新AP列表中记录待更新AP的标识,并将确定的组播组地址对应的分片的分片标识发送给待更新AP,以使待更新AP利用接收到的分片标识,确定自身是否已经接收到所有分片标识对应的分片,如果是,则待更新AP可以将所有分片标识对应的分片重组成更新版本文件。
[0046] 在该方式下,AC可以在确定的组播组地址对应的待更新AP列表中记录待更新AP的标识(如序列号),并维护表1所示的映射关系表,表1中以待更新AP为AP1-AP5为例。而且,AC是在组播组地址对应的待更新AP列表中存在AP的标识,才以组播方式发送该组播组地址对应的分片。如表1所示,由于组播组地址1对应的待更新AP列表中存在AP的标识,因此,AC以组播方式发送该组播组地址1对应的分片。由于组播组地址2对应的待更新AP列表中存在AP的标识,因此,AC以组播方式发送该组播组地址2对应的分片。
[0047] 表1
[0048] 组播组地址 待更新AP列表组播组地址1 AP1的序列号、AP2的序列号、AP3的序列号、AP4的序列号、AP5的序列号组播组地址2 AP1的序列号、AP2的序列号、AP3的序列号、AP4的序列号、AP5的序列号[0049] 在该方式下,AC需要将每个组播组地址、每个组播组地址对应的分片的分片标识发送给待更新AP。例如,AC将分片1-分片10分配给组播组地址1,将分片11-分片20分配给组播组地址2,则可以将组播组地址1、分片1-分片10的分片标识的第一对应关系发送给待更新AP,并将组播组地址2、分片11-分片20的分片标识的第二对应关系发送给待更新AP。其中,上述第一对应关系和第二对应关系可以通过同一条消息进行发送,也可以通过不同的消息进行发送。
[0050] 在该方式下,针对每个组播组地址,待更新AP在利用该组播组地址对应的分片的分片标识,确定自身已经接收到该组播组地址对应的所有分片后,还可以向AC发送携带该组播组地址的接收完成消息。AC在接收到来自待更新AP的携带该组播组地址的接收完成消息时,则从该组播组地址对应的待更新AP列表中删除该待更新AP的标识。进一步的,AC在确定出组播组地址对应的待更新AP列表中不存在AP的标识时,停止以组播方式发送组播组地址对应的分片。
[0051] 例如,当待更新AP接收到分片1-分片10后,还可以向AC发送携带组播组地址1的接收完成消息。假设待更新AP为AP1,则AC在接收到接收完成消息后,可以从组播组地址1对应的待更新AP列表中删除AP1的标识,得到表2所示的映射关系表。又例如,AC在接收到来自AP1-AP5的携带组播组地址1的接收完成消息,来自AP1-AP3的携带组播组地址2的接收完成消息后,可以得到表3所示的映射关系表。通过表3看出,组播组地址1对应的待更新AP列表中不存在AP的标识,则AC停止以组播方式发送该组播组地址1对应的分片。
[0052] 表2
[0053] 组播组地址 待更新AP列表组播组地址1 AP2的序列号、AP3的序列号、AP4的序列号、AP5的序列号
组播组地址2 AP1的序列号、AP2的序列号、AP3的序列号、AP4的序列号、AP5的序列号[0054] 表3
[0055]组播组地址 待更新AP列表
组播组地址1  
组播组地址2 AP4的序列号、AP5的序列号
[0056] 方式二、AC不需要将每个组播组地址对应的分片的分片标识发送给待更新AP,而是由待更新AP在得到每个分片后,将该分片的分片标识发送给AC。AC利用待更新AP返回的分片标识,确定待更新AP是否已经接收到所有分片标识对应的分片,如果是,向待更新AP发送通知消息,该通知消息表示待更新AP已经接收到所有分片标识对应的分片,由待更新AP重组更新版本文件。
[0057] 由于AC采用组播方式发送组播报文1-组播报文10,因此,待更新AP可以依次接收到组播报文1-组播报文10,从组播报文1中解析出分片1,并将分片1的分片标识发送给AC,以此类推,从组播报文10中解析出分片10,并将分片10的分片标识发送给AC。同理,待更新AP分别将分片11-分片20的分片标识发送给AC。AC在接收到这些分片标识之后,就可以获知该待更新AP已经接收到所有分片标识对应的分片,并向待更新AP发送通知消息。
[0058] 在该方式下,针对每个组播组地址,AC在利用该组播组地址对应的分片的分片标识,确定待更新AP已经接收到该组播组地址对应的所有分片后,还可以从该组播组地址对应的待更新AP列表中删除该待更新AP的标识。进一步的,针对每个组播组地址,若该组播组地址对应的待更新AP列表中不存在AP的标识,则AC停止以组播方式发送该组播组地址对应的分片。
[0059] 在一个例子中,AC上可以存在一个发送端口或者至少两个发送端口,该发送端口是指:AC上需要向AP发送组播报文的端口。若存在一个发送端口,则针对每个组播组地址,若该组播组地址对应的待更新AP列表中存在AP的标识,则AC以组播方式发送该组播组地址对应的分片;若该组播组地址对应的待更新AP列表中不存在AP的标识,则停止以组播方式发送该组播组地址对应的分片。
[0060] 若存在至少两个发送端口,在一个例子中,AC并不区分发送端口,针对每个组播组地址,若该组播组地址对应的待更新AP列表中存在AP的标识,则AC在该至少两个发送端口上,均以组播方式发送该组播组地址对应的分片;若该组播组地址对应的待更新AP列表中不存在AP的标识,则在该至少两个发送端口上,AC均停止以组播方式发送该组播组地址对应的分片。
[0061] 在另一个例子中,AC还可以区分发送端口,若组播组地址对应的待更新AP列表中存在待更新AP的标识,则从AC上确定出与该待更新AP关联的发送端口;在该发送端口上,以组播方式发送该组播组地址对应的分片。
[0062] 此外,在从组播组地址对应的待更新AP列表中删除待更新AP的标识后,AC确定与该待更新AP关联的发送端口,并判断该组播组地址对应的待更新AP列表中,是否存在与该发送端口关联的其它AP的标识;若不存在,则在该发送端口上,停止以组播方式发送该组播组地址对应的分片。
[0063] 基于上述技术方案,本发明实施例中,当大量AP需要更新版本时,AC不需要向大量AP发送更新版本文件,而是采用组播方式发送更新版本文件,减少更新版本文件的传输数量,提高AC的处理性能,节约AC与AP之间的网络带宽。而且,当同时更新版本的AP数量超过AC的并发能力时,AP不再需要等其它AP的更新版本文件传输完成,就可以获取更新版本文件,提高更新版本文件的传输效率,降低版本更新时间,提高版本更新速度,提高版本升级效率。而且,通过将更新版本文件的N个分片划分到至少两个组播组地址,则可以通过至少两个组播组同时发送携带分片的组播报文,每个组播组地址的组播报文都独自发送,从而进一步提高版本更新速度,并进一步降低版本更新时间。
[0064] 参见图2所示,为版本更新方法的流程图,该方法可以应用在AP上。
[0065] 步骤201,接收AC发送的组播组地址。
[0066] 其中,该组播组地址为AC在确定出AP需要更新版本文件时发送的,AP的更新版本文件被AC划分成N个分片,并被分配给至少两个组播组地址,且每个组播组地址对应的分片不同,N为大于1的正整数。
[0067] 步骤202,加入该组播组地址对应的组播组,并接收AC以组播方式发送的该组播组地址对应的分片。
[0068] 步骤203,对接收到的分片进行重组后,更新本AP的版本文件。
[0069] 在一个例子中,AP还可以接收AC发送的该组播组地址对应的分片的分片标识。基于此,AP对接收到的分片进行重组的过程,可以包括:在利用组播组地址对应的分片的分片标识,确定自身已经接收到所有分片标识对应的分片后,将所有分片标识对应的分片进行重组。
[0070] 在一个例子中,AP在确定自身已经接收到组播组地址对应的所有分片后,还可以向AC发送携带组播组地址的接收完成消息。
[0071] 基于上述技术方案,本发明实施例中,当大量AP需要更新版本时,AC不需要向大量AP发送更新版本文件,而是采用组播方式发送更新版本文件,减少更新版本文件的传输数量,提高AC的处理性能,节约AC与AP之间的网络带宽。而且,当同时更新版本的AP数量超过AC的并发能力时,AP不再需要等其它AP的更新版本文件传输完成,就可以获取更新版本文件,提高更新版本文件的传输效率,降低版本更新时间,提高版本更新速度,提高版本升级效率。而且,通过将更新版本文件的N个分片划分到至少两个组播组地址,则可以通过至少两个组播组同时发送携带分片的组播报文,每个组播组地址的组播报文都独自发送,从而进一步提高版本更新速度,并进一步降低版本更新时间。
[0072] 以下结合图3A和图3B所示的应用场景,对上述技术方案进行详细说明。图3A的应用场景的处理方式,与图3B的应用场景的处理方式类似,其区别在于:图3A中,AC只存在一个发送端口,AC在发送组播报文时,不区分发送端口。图3B中,AC存在两个发送端口,AC在发送组播报文时,可以区分发送端口,也可以不区分发送端口。后续以图3B所示的应用场景为例进行说明。
[0073] 步骤1,AC将更新版本文件1划分为30个分片,这30个分片的分片标识分别为分片1-分片30,具体的划分依据可以为MTU,对此划分方式不再赘述。
[0074] 步骤2,以组播组地址对应相同数量的分片为例,则AC可以将分片1-分片10分配给组播组地址230.1.1.1,并将分片11-分片20分配给组播组地址230.1.1.2,并将分片21-分片30分配给组播组地址230.1.1.3,对此分配方式不再赘述。
[0075] 步骤3,在AP1、AP2、AP3上线时,若AC确定出AP1、AP2、AP3需要更新版本文件1,则在每个组播组地址对应的待更新AP列表中记录AP的标识。
[0076] 在一个例子中,AC可以维护表4所示的映射关系表,在该映射关系表中只包含组播组地址和待更新AP列表。与此不同的是,在另一个例子中,AC还可以维护表5所示的映射关系表,该映射关系表中除了组播组地址和待更新AP列表,还包括发送端口,该发送端口是指与AP关联的发送端口。从图3B中可以看出,AP1、AP2、AP3接入到AC的端口1,因此端口1是与AP1、AP2、AP3关联的发送端口。在表4和表5中,以AP的标识为AP的序列号为例。
[0077] 表4
[0078] 组播组地址 待更新AP列表230.1.1.1 AP1的序列号、AP2的序列号、AP3的序列号
230.1.1.2 AP1的序列号、AP2的序列号、AP3的序列号
230.1.1.3 AP1的序列号、AP2的序列号、AP3的序列号
[0079] 表5
[0080] 组播组地址 发送端口 待更新AP列表230.1.1.1 端口1 AP1的序列号、AP2的序列号、AP3的序列号
230.1.1.2 端口1 AP1的序列号、AP2的序列号、AP3的序列号
230.1.1.3 端口1 AP1的序列号、AP2的序列号、AP3的序列号
[0081] 步骤4,AC将组播组地址230.1.1.1和分片1-分片10的对应关系发送给AP1、AP2、AP3,将组播组地址230.1.1.2和分片11-分片20的对应关系发送给AP1、AP2、AP3,将组播组地址230.1.1.3和分片21-分片30的对应关系发送给AP1、AP2、AP3。由于AP1、AP2、AP3的处理方式相同,后续以AP1为例进行说明。
[0082] 步骤5,AP1加入到组播组地址230.1.1.1对应的组播组1,加入到组播组地址230.1.1.2对应的组播组2,加入到组播组地址230.1.1.3对应的组播组3。
[0083] 如图3B所示,针对AP1加入到组播组地址230.1.1.1对应的组播组1的过程,AP1会向网络设备1发送一个加入报文,该加入报文中携带该组播组地址230.1.1.1,网络设备1在通过自身的端口1接收到该加入报文之后,可以维护一个转发表项,该转发表项用于记录组播组地址和出端口的映射关系,该组播组地址就是加入报文中携带的组播组地址230.1.1.1,该出端口就是本网络设备1接收到该加入报文的端口1,如表6所示。同理,AP1会发送携带组播组地址230.1.1.2的加入报文、并发送携带组播组地址230.1.1.3的加入报文,AP2和AP3均会发送携带组播组地址的加入报文,基于这些加入报文以及接收到加入报文的端口,网络设备1维护的转发表项,可以如表7所示。
[0084] 表6
[0085]组播组地址 出端口
230.1.1.1 端口1
[0086] 表7
[0087]
[0088] 步骤6,基于表4或者表5,针对组播组地址230.1.1.1,针对AC上的端口1,由于待更新AP列表中存在与该端口1关联的AP的标识,即AP1、AP2和AP3的标识,因此,AC在端口1上以组播方式发送分片1-分片10。针对AC上的端口2,由于待更新AP列表中不存在与该端口2关联的AP的标识,因此,AC不在端口2上发送分片1-分片10。同理,AC以组播方式在端口1上发送分片11-分片20,且AC不在端口2上发送分片11-分片20,AC以组播方式在端口1上发送分片21-分片30,且AC不在端口2上发送分片21-分片30。
[0089] 在一个例子中,针对以组播方式发送分片1-分片30的过程,AC依次为分片1-分片10生成组播报文,得到组播报文1-组播报文10,组播报文的目的地址均为230.1.1.1,组播报文1携带分片1,组播报文2携带分片2,以此类推。AC发送组播报文1,组播报文1发送完成后,发送组播报文2,以此类推,待组播报文10发送完成后,继续发送组播报文1。同理,AC依次为分片11-分片20生成组播报文,得到组播报文11-组播报文20,并采用循环发送方式依次发送组播报文11-组播报文20。AC依次为分片21-分片30生成组播报文,得到组播报文21-组播报文30,并采用循环发送方式依次发送组播报文21-组播报文30。
[0090] 步骤7,网络设备1在接收到组播报文后,利用表7所示的转发表项转发组播报文。例如,在接收到组播报文1-组播报文10后,由于这些组播报文中携带了组播组地址
230.1.1.1,因此会通过端口1、端口2、端口3发送这些组播报文。同理,网络设备1会通过端口1、端口2、端口3发送组播报文11-组播报文30。
[0091] 针对步骤6,在另一个例子中,AC还可以不关注端口的信息,而是在待更新AP列表中存在AP1的标识、AP2的标识和AP3的标识时,以组播方式在端口1、端口2上发送分片,而不会区分端口1和端口2。针对以组播方式发送分片1-分片30的过程,AC在端口1和端口2上均发送组播报文1-组播报文30。
[0092] 当AC通过端口1发送组播报文1-组播报文30时,针对步骤7,网络设备1在接收到组播报文后,利用表7所示的转发表项转发这些组播报文,在此不再赘述。当AC通过端口2发送组播报文1-组播报文30时,针对步骤7,网络设备2在接收到组播报文后,由于本地并不存在相应的转发表项(即网络设备2没有接收到来自AP4、AP5和AP6的加入报文,因此不会建立转发表项),因此,网络设备2不会转发这些组播报文,这些组播报文会被网络设备2丢弃。
[0093] 步骤8,AP1可以依次接收到组播报文1-组播报文10,并从组播报文1中解析出分片1,以此类推,从组播报文10中解析出分片10。同理,AP1可以依次接收到组播报文11-组播报文30,并从这些组播报文中解析出分片。
[0094] AP1在接收到组播报文1-组播报文10,并解析出分片1-分片10后,可以向AC发送携带组播组地址230.1.1.1的接收完成消息。AC在接收到该接收完成消息后,则从组播组地址230.1.1.1对应的待更新AP列表中删除AP1的标识。
[0095] 同理,AP1还可以向AC发送携带组播组地址230.1.1.2的接收完成消息和携带组播组地址230.1.1.3的接收完成消息,对此过程不再详加赘述。
[0096] 步骤9,AP在得到分片1-分片30之后,将分片1-分片30重组成更新版本文件1,并利用该更新版本文件1更新本AP1的版本。
[0097] 步骤10,针对组播组地址230.1.1.1,若待更新AP列表中不存在AP的标识,则停止发送分片1-分片10。针对组播组地址230.1.1.2,若待更新AP列表中不存在AP的标识,则停止发送分片11-分片20。针对组播组地址230.1.1.2,若待更新AP列表中不存在AP的标识,则停止发送分片21-分片30。
[0098] 基于与上述方法同样的发明构思,本发明实施例中还提供了一种版本更新装置,该版本更新装置应用在AC上。该版本更新装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的AC的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为本发明提出的版本更新装置所在的AC的一种硬件结构图,除了图4所示的处理器、非易失性存储器外,AC还可以包括其他硬件,如网络接口、内存等。
[0099] 如图5所示,为本发明提出的版本更新装置的结构图,所述装置包括:
[0100] 分配模块11,用于将更新版本文件划分为N个分片,并将所述N个分片分配给至少两个组播组地址,其中,每个组播组地址对应的分片不同,所述更新版本文件为针对同一类型AP的更新版本文件,N为大于1的正整数;
[0101] 处理模块12,用于确定待更新AP的更新版本文件对应的组播组地址,并通知所述待更新AP加入确定的组播组地址对应的组播组;
[0102] 发送模块13,用于以组播方式发送确定的组播组地址对应的分片,以使所述待更新AP对从确定出的组播组地址上接收的分片进行重组后更新本AP的版本文件。
[0103] 在一个例子中,所述发送模块13,具体用于在以组播方式发送确定的组播组地址对应的分片的过程中,确定所述AC上与所述待更新AP关联的发送端口;
[0104] 在所述发送端口上,以组播方式发送确定的组播组地址对应的分片。
[0105] 在一个例子中,所述处理模块12,还用于在确定待更新AP的更新版本文件对应的组播组地址之后,在确定的组播组地址对应的待更新AP列表中记录所述待更新AP的标识,并将确定的组播组地址对应的分片的分片标识发送给所述待更新AP,以使所述待更新AP利用接收到的分片标识,确定自身是否已经接收到所有分片标识对应的分片;在接收到来自所述待更新AP的携带组播组地址的接收完成消息时,从所述组播组地址对应的待更新AP列表中删除所述待更新AP的标识;其中,所述接收完成消息是所述待更新AP利用接收到的所述组播组地址对应的分片的分片标识,确定自身已经接收到所述组播组地址对应的所有分片后发送的;
[0106] 所述发送模块13,还用于在确定出所述组播组地址对应的待更新AP列表中不存在AP的标识时,停止以组播方式发送所述组播组地址对应的分片。
[0107] 在一个例子中,所述处理模块12,还用于在停止以组播方式发送所述组播组地址对应的分片之前,从所述组播组地址对应的待更新AP列表中删除所述待更新AP的标识后,确定与所述待更新AP关联的发送端口,并判断所述组播组地址对应的待更新AP列表中,是否存在与所述发送端口关联的其它AP的标识;
[0108] 所述发送模块13,具体用于在停止以组播方式发送所述组播组地址对应的分片的过程中,若所述组播组地址对应的待更新AP列表中不存在与所述发送端口关联的其它AP的标识,则在所述发送端口上,停止以组播方式发送所述组播组地址对应的分片。
[0109] 在一个例子中,所述发送模块13,具体用于在以组播方式发送确定的组播组地址对应的分片的过程中,为确定的组播组地址对应的每个分片生成一个组播报文,每个组播报文的目的地址为携带的分片对应的组播组地址,所述组播报文的长度未超过传输路径的最大传输单元MTU;采用循环发送方式,依次发送为每个分片生成的组播报文。
[0110] 基于与上述方法同样的发明构思,本发明实施例中还提供了一种版本更新装置,该版本更新装置应用在AP上。该版本更新装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的AP的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图6所示,为本发明提出的版本更新装置所在的AP的一种硬件结构图,除了图6所示的处理器、非易失性存储器外,AP还可以包括其他硬件,如网络接口、内存等。
[0111] 如图7所示,为本发明提出的版本更新装置的结构图,所述装置包括:
[0112] 接收模块21,用于接收AC发送的组播组地址;其中,所述组播组地址为所述AC在确定出所述AP需要更新版本文件时发送的,所述AP的更新版本文件被所述AC划分成N个分片,并被分配给至少两个组播组地址,且每个组播组地址对应的分片不同,N为大于1的正整数;加入所述组播组地址对应的组播组,并接收所述AC以组播方式发送的所述组播组地址对应的分片;
[0113] 更新模块22,用于对接收到的分片进行重组后,更新所述AP的版本文件。
[0114] 在一个例子中,所述接收模块21,还用于接收所述AC发送的所述组播组地址对应的分片的分片标识;所述更新模块22,具体用于在对接收到的分片进行重组的过程中,在利用所述组播组地址对应的分片的分片标识,确定自身已经接收到所有分片标识对应的分片后,将所有分片标识对应的分片进行重组;
[0115] 在一个例子中,所述版本更新装置还包括(在图中未体现):
[0116] 发送模块,用于在确定自身已经接收到所述组播组地址对应的所有分片后,向所述AC发送携带所述组播组地址的接收完成消息。
[0117] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0118] 本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0119] 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。