具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决WLAN中各AP之间的时钟同步问题,首先要获取各AP的本地时钟之间的时间偏差,然后根据获得的时间偏差控制各AP进行时钟同步。为解决该问题,本发明实施例提供了一种解决方法,该方法的核心思想是:通过参考AP发送同步消息给同步AP,记录下参考AP发送同步消息的发送时间戳T0和同步AP接收到同步消息的接收时间戳Ti,其中i=1,2,3,……n,表示不同的同步AP;将发送时间戳和接收时间戳进行比较,从而得出参考AP的本地时钟与同步AP的本地时钟的时间偏差Δ=T0-Ti,然后根据时钟偏差Δ控制各AP进行时钟同步。进一步,为了解决各AP之间时钟同步收敛速度慢的问题,在上述方法的基础上,进一步提出:参考AP将记录的发送时间戳T0发送给同步服务器,同步AP将记录的接收时间戳Ti也发送给同步服务器,由同步服务器集中将发送时间戳T0与接收时间戳Ti进行比较,获取两者的时间偏差,然后根据获取的时间偏差控制参考AP与同步AP进行时钟同步。由于参考AP和每个同步AP上报的时间戳的比较计算是在同步服务器中集中一次完成的,不需要参考AP进行处理,减轻了参考AP的处理负担,因此提高了时钟同步的收敛速度。本发明将通过以下实施例对本发明技术方案进行详细说明。
在本发明各实施中,参考AP是指提供参考时钟的AP,同步AP是指需要进行时钟同步的AP。其中不同的同步AP可以工作在不同的信道。参考AP可以由管理员预先指定,或者也可以采用选举机制选举出,对此不做限定。
图1为本发明实施例提供的一种网络架构示意图。如图1所示,该网络架构包括:同步服务器、参考AP以及至少一个同步AP。各个AP之间可以通过无线方式连接;各个AP可以以有线方式,也可以以无线方式与同步服务器连接。本发明以下各方法实施例可基于图1所示网络架构实现。
图2为本发明实施例提供的一种时钟同步方法的流程图。本实施例从同步服务器的角度进行描述,如图2所示,所述方法包括:
201、同步服务器接收参考AP发送的该参考AP向同步AP发送同步消息时记录的发送时间戳。
参考AP首先向同步AP发送同步消息,并记录同步消息的发送时间戳。参考AP记录的发送时间戳表示参考AP发送同步消息的本地时间。参考AP除了向同步AP发送同步消息记录发送时间戳之外,还要将记录的发送时间戳发送给同步服务器。相应的,同步服务器会接收参考AP发送的发送时间戳。
202、同步服务器接收同步AP发送的该同步AP接收到上述同步消息时记录的接收时间戳。
对同步AP来说,接收参考AP发送的同步消息,并在接收到同步消息时记录接收到该同步消息的本地时间,即接收时间戳。然后。同步AP将记录的接收时间戳发送给同步服务器。相应的,同步服务器会接收同步AP发送的接收时间。
203、同步服务器根据上述发送时间戳和上述接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟的时间偏差,以根据所述时间偏差控制所述同步AP与所述参考AP进行时钟同步。
在此说明,较为优选的,参考AP可以在发送同步消息之后,立即将记录的发送时间戳发送给同步服务器,而同步AP在接收到同步消息后,立即将记录的接收时间戳发送给同步服务器,但不限于此。本实施例对参考AP向同步服务器发送所记录的发送时间戳的时间以及同步AP向同步服务器发送所记录的接收时间戳的时间不做限定。
在本实施例中,对同步服务器的具体实现不做限定,凡是具有一定计算能力的设备均可以作为本实施例的同步服务器。根据同步服务器的实现的不同,参考AP将发送时间戳发送给同步服务器,以及同步AP将接收时间戳发送给同步服务器的方式也会有所不同。下面举例说明:
如果同步服务器是网管设备,则参考AP可以通过网管协议,例如,简单网络管理协议(Simple Network Management Protocol,简称为SNMP),对发送时间戳进行封装,生成网管协议报文,然后将包括发送时间戳的网管协议报文发送给同步服务器;同理,同步AP可以通过网管协议,例如SNMP,对接收时间戳进行封装,生成网管协议报文,然后将包括接收时间戳的网管协议报文发送给同步服务器。在本实施例中,为便于区分,将参考AP发送的网管协议报文称为第一网管协议报文,将同步AP发送的网管协议报文称为第二网管协议报文。相应的,同步服务器接收参考AP发送的发送时间戳的方式包括:同步服务器接收参考AP发送的第一网管协议报文,从第一网管协议报文中获取发送时间戳;同步服务器接收同步AP发送的接收时间戳的方式包括:同步服务器接收同步AP发送的第二网管协议报文,从第二网管协议报文中获取接收时间戳。
如果同步服务器是接入控制器(Access Controller,简称为AC)设备,则参考AP可以通过无线接入点控制与配置协议(Control And Provisioning ofWireless AccessPoints Protocol Specification,简称为CAPWAP)对发送时间戳进行封装,生成CAPWAP隧道报文,然后将包括该发送时间戳的CAPWAP隧道报文发送给同步服务器;同理,同步AP可以通过CAPWAP,对接收时间戳进行封装,生成CAPWAP隧道报文,然后将包括接收时间戳的CAPWAP隧道报文发送给同步服务器。在本实施例中,为便于区分,将参考AP发送的CAPWAP隧道报文称为第一CAPWAP隧道报文,将同步AP发送的CAPWAP隧道报文称为第二CAPWAP隧道报文。相应的,同步服务器接收参考AP发送的发送时间戳的方式包括:同步服务器接收参考AP发送的第一CAPWAP隧道报文,从第一CAPWAP隧道报文中获取该发送时间戳;同步服务器接收同步AP发送的接收时间戳的方式包括:同步服务器接收同步AP发送的第二CAPWAP隧道报文,从第二CAPWAP隧道报文中获取接收时间戳。
如果同步服务器是一台使用IP协议的服务器,则参考AP可以将发送时间戳封装在IP数据报文中,然后将包括该发送时间戳的IP数据报文发送给同步服务器;同理,同步AP可以将接收时间戳封装在IP数据报文中,然后将包括接收时间戳的IP数据报文发送给同步服务器。在本实施例中,为便于区分,将参考AP发送的IP数据报文称为第一IP数据报文,将同步AP发送的IP数据报文称为第二IP数据报文。相应的,同步服务器接收参考AP发送的发送时间戳的方式包括:同步服务器接收参考AP发送的第一IP数据报文,从第一IP数据报文中获取该发送时间戳;同步服务器接收同步AP发送的接收时间戳的方式包括:同步服务器接收同步AP发送的第二IP数据报文,从第二IP数据报文中获取接收时间戳。
同步服务器在获得参考AP的本地时钟与同步AP的本地时钟的时间偏差之后,还可以根据所获得的时间偏差,控制同步AP与参考AP进行时钟同步。其中,同步服务器根据所获得的时间偏差,控制同步AP与参考AP进行时钟同步的方式取决于具体的应用。例如,同步服务器可以向同步AP发送同步指令并携带该时间偏差,以使同步AP调整本地时钟的时间,从而实现与参考AP的时钟同步。又例如,由于在WLAN的很多应用,例如被动干扰估计PIE中,只需要获知同步AP与参考AP之间的时间偏差就可以在同步服务器中对AP上报的各个报文进行同步处理,因此对同步服务器来说,得到参考AP的本地时钟与同步AP的本地时钟的时间偏差就可以看作是时钟同步结束,后续对报文进行同步计算的过程会因应用的不同而不同。
由上述可见,在本实施例中,参考AP向同步AP发送同步消息并记录发送时间戳,同步AP在接收到同步消息时记录接收时间戳,参考AP和同步AP分别将记录的发送时间戳和接收时间戳发送给同步服务器,由同步服务器根据发送时间戳和接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟之间的时间偏差,然后根据时间偏差控制参考AP与同步AP进行时钟同步,每个同步AP只需接收参考AP发送的同步消息并将同步消息对应的接收时间戳发送给同步服务器即可,交互次数较少,有利于提高时钟同步的收敛速度;另外,参考AP和每个同步AP上报的时间戳的比较计算是在同步服务器中集中一次完成的,不需要参考AP进行处理,减轻了参考AP的处理负担,因此提高了时钟同步的收敛速度。
进一步,参考AP与同步AP之间采用无线传输方式,空口报文的传送速度近似光速,而参考AP与同步AP之间的距离大概在100米以内,则由空口传播造成的延时最多为0.33微秒(us),而WLAN对时间精确度的要求一般在20~30us,因此,因空口传播造成的时延可以忽略不计。由此可见,本实施例的方法还可以提高所获得的时间偏差的精度,进而有利于提高时钟同步的精度。
图3为本发明实施例提供的另一种时钟同步方法的流程图,如图3所示,所述方法包括:
301、同步服务器向参考AP发送第一同步命令,以指示参考AP向同步AP发送同步消息并记录该同步消息的发送时间戳,其中,第一同步命令包括携带指示,该携带指示用于指示参考AP在同步消息中携带同步标记。
在本实施例中,同步过程的开始由同步服务器控制。同步服务器向参考AP发送第一同步命令,以告知参考AP开始进行时钟同步过程。根据同步服务器的实现的不同,同步服务器向参考AP发送第一同步命令的方式也会不同。例如,同步服务器可以将第一同步命令封装在网管协议报文中发送给参考AP。或者,同步服务器可以将第一同步命令封装在CAPWAP隧道报文中发送给参考AP。或者,同步服务器可以将第一同步命令封装在IP报文中发送给参考AP。相应的,参考AP接收同步服务器发送的网管协议报文或CAPWAP隧道报文或IP报文,从中获取第一同步命令。
在本实施例中,由于同步服务器未向同步AP发送同步命令,所以同步AP并不知道时钟同步过程已经开始,为了让同步AP能够区分接收到的消息是普通的业务消息,还是同步过程中的同步消息,同步服务器在发送给参考AP的第一同步命令中包括携带指示,以指示参考AP在发送的同步消息中添加同步标记以对该同步消息进行标记,这样就可以使同步AP识别出该同步消息是同步过程中的消息,进而接收该同步消息并记录该同步消息的接收时间戳。基于此,参考AP发送给同步AP的同步消息包括同步标记,以使同步AP识别接收的同步消息为时钟同步过程中的消息并记录同步消息的接收时间戳。
可选的,上述带同步标记的同步消息可以用符合802.11标准的控制帧、管理帧或数据帧来实现,同步标记可以通过其中的某个字段来携带。
302、同步服务器接收参考AP发送的该参考AP向同步AP发送同步消息时记录的发送时间戳。
具体参见201,在此不再赘述。
303、同步服务器接收同步AP发送的该同步AP接收到上述同步消息时记录的接收时间戳。
具体参见202,在此不再赘述。
304、同步服务器根据上述发送时间戳和上述接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟的时间偏差,以根据所述时间偏差控制所述同步AP与所述参考AP进行时钟同步。
具体参见203,在此不再赘述。
305、同步服务器向参考AP发送第一同步结束命令。
同步服务器通过比较发送时间戳和接收时间戳获得参考AP的本地时钟与同步AP的本地时钟的时间偏差之后,向参考AP发送第一同步结束命令,以告知参考AP该时钟同步过程结束。
根据同步服务器的实现的不同,同步服务器向参考AP发送第一同步结束命令的方式也会不同。例如,同步服务器可以将第一同步结束命令封装在网管协议报文中发送给参考AP。或者,同步服务器可以将第一同步结束命令封装在CAPWAP隧道报文中发送给参考AP。或者,同步服务器可以将第一同步结束命令封装在IP报文中发送给参考AP。相应的,参考AP接收同步服务器发送的网管协议报文或CAPWAP隧道报文或IP报文,从中获取第一同步结束命令。
在本实施例中,时钟同步过程的开始由同步服务器控制,同步服务器可以根据应用需求灵活的控制进行时钟同步的时机。
举例来说,参见图4,为本发明实施例提供的一种时钟同步方法的信息交互示意图,以下结合图4具体说明图3所示的时钟同步方法。
4a、同步服务器发送同步命令给参考AP,该同步命令中包括携带指示,命令同步过程开始。
如果同步服务器是网管设备,则该同步命令可以通过网管协议,例如SNMP进行封装发送;如果同步服务器是AC,则该同步命令可以通过CAPWAP隧道封装协议进行封装发送;如果同步服务器是一台服务器,则该同步命令可以通过IP报文形式发送。
4b、参考AP接收到同步命令后,根据其中的携带指示,发送带同步标记的同步消息给同步AP,其中,同步标记标识该消息是同步消息,同步AP接收到该消息时不能丢弃,必须响应同步。
该带同步标记的同步消息可以用符合802.11标准的控制帧、管理帧或数据帧来实现。例如,在控制帧中用值为0110的子类型字段表示同步标记。
4c、参考AP在发送带同步标记的同步消息时记录下发送时间戳,并将该发送时间戳上报给同步服务器。
在4c中,如果同步服务器是网管设备,则该发送时间戳的上报可以通过网管协议,例如SNMP进行封装发送;如果同步服务器是AC,则该发送时间戳的上报可以通过CAPWAP隧道封装协议进行封装发送;如果同步服务器是一台使用IP协议的服务器,则该发送时间戳的上报可以通过IP报文形式发送。
4d、同步AP接收到带同步标记的同步消息后,记录下接收同步消息的时间戳(称为接收时间戳),并将该接收时间戳上报给同步服务器。
在4d中,如果同步服务器是网管设备,则该接收时间戳的上报可以通过网管协议,例如SNMP进行封装发送;如果同步服务器是AC,则该接收时间戳的上报可以通过CAPWAP隧道封装协议进行封装发送;如果同步服务器是一台使用IP协议的服务器,则该接收时间戳的上报可以通过IP报文形式发送。
4e、同步服务器通过比较上报的发送时间戳和接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟的时间偏差,然后发出同步结束命令给参考AP。
在4e中,如果同步服务器是网管设备,则该同步结束命令可以通过网管协议,例如SNMP进行封装发送;如果同步服务器是AC,则该同步结束命令可以通过CAPWAP隧道封装协议进行封装发送;如果同步服务器是一台使用IP协议的服务器,则该同步结束命令可以通过普通的IP报文形式发送。
可选的,在4e之后,同步服务器还可以根据获得的时间偏差,控制同步AP与参考AP进行时钟同步。
参见图5,为本发明实施例提供的又一种时钟同步方法的流程图,与图3所示时钟同步方的区别在于,同步服务器采用了另一种控制时钟同步过程的方式。如图5所示,所述方法包括:
501、同步服务器向参考AP发送第二同步命令,以指示参考AP向同步AP发送同步消息并记录发送所述同步消息的发送时间戳。
502、同步服务器向同步AP发送第三同步命令,以指示同步AP接收参考AP发送的所述同步消息并记录接收所述同步消息的接收时间戳。
本实施例对步骤501与步骤502的执行先后顺序不做限定。例如,同步服务器可以先向参考AP发送第二同步命令,然后再向同步AP发送第三同步命令。又例如,同步服务器可以先向同步AP发送第三同步命令,然后再向参考AP发送第二同步命令。又例如,同步服务器还可以同时向参考AP发送第二同步命令,向同步AP发送第三同步命令。其中,较为优选的,同步服务器可以同时向参考AP和同步AP分别发送第二同步命令和第三同步命令。
本实施例中,由于同步服务器分别向参考AP和同步AP发送了同步命令,这样参考AP和同步AP都可以获知时钟同步过程的开始,同步AP收到参考AP发送的同步消息后,就可以直接判断出接收到的同步消息是时钟同步过程中的消息。基于此,参考AP发送给同步AP的同步消息可以不用携带同步标记,但不限于此。例如,为了避免同步AP发生错误判断,参考AP发送的同步消息也可以携带同步标记。
可选的,本实施例的第二同步命令和第三同步命令可以相同,也可以不相同。如果第二同步命令和第三同步命令不相同,则可以通过同步命令本身的某个字段进行区分,例如类型字段;如果类型字段取值为1表示第二同步命令,同时通过该字段还可以达到指示参考AP主动向同步AP发送同步消息的目的;如果类型字段取值为0表示第三同步命令,同时通过该字段还可以达到指示同步AP明确自身需要同步,准备接收参考AP发送来的同步消息的目的。
同理,根据同步服务器的实现不同,同步服务器发送第二同步命令和第三同步命令的方式也会不同。例如,同步服务器可以将第二同步命令和第三同步命令分别封装在不同的网管协议报文中发送给参考AP和同步AP。或者,同步服务器可以将第二同步命令和第三同步命令分别封装在不同的CAPWAP隧道报文中发送给参考AP和同步AP。或者,同步服务器可以将第二同步命令和第三同步命令分别封装在不同的IP报文中发送给参考AP和同步AP。相应的,参考AP接收同步服务器发送的网管协议报文或CAPWAP隧道报文或IP报文,从中获取第二同步命令;同步AP接收同步服务器发送的网管协议报文或CAPWAP隧道报文或IP报文,从中获取第三同步命令。
503、同步服务器接收参考AP发送的该参考AP向同步AP发送同步消息时记录的发送时间戳。
具体参见201,在此不再赘述。
504、同步服务器接收同步AP发送的该同步AP接收到上述同步消息时记录的接收时间戳。
具体参见202,在此不再赘述。
505、同步服务器根据上述发送时间戳和上述接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟的时间偏差,以根据所述时间偏差控制所述同步AP与所述参考AP进行时钟同步。
具体参见203,在此不再赘述。
506、同步服务器向参考AP发送第二同步结束命令。
507、同步服务器向同步AP发送第三同步结束命令。
本实施例对步骤506与步骤507的执行先后顺序不做限定。
可选的,本实施例的第二同步结束命令和第三同步结束命令可以相同,也可以不相同。如果第二同步结束命令和第三同步结束命令不相同,则可以通过同步结束命令本身的某个字段进行区分,例如类型字段;如果类型字段取值为1表示第二同步结束命令;如果类型字段取值为0表示第三同步结束命令。
同理,根据同步服务器的实现不同,同步服务器发送第二同步结束命令和第三同步结束命令的方式也会不同。例如,同步服务器可以将第二同步结束命令和第三同步结束命令分别封装在不同的网管协议报文或CAPWAP隧道报文或IP报文中发送给参考AP和同步AP。相应的,参考AP接收同步服务器发送的网管协议报文或CAPWAP隧道报文或IP报文,从中获取第二同步结束命令;同步AP接收同步服务器发送的网管协议报文或CAPWAP隧道报文或IP报文,从中获取第三同步结束命令。
在本实施例中,时钟同步过程的开始由同步服务器控制,同步服务器可以根据应用需求灵活的控制进行时钟同步的时机。
需要说明的是,参考AP除了如本发明图3或图5所示的在同步服务器的控制下向同步AP发送同步消息以开始时钟同步过程之外,也可以由参考AP自身控制时钟同步过程,例如可以预先设定执行时钟同步过程的周期,则参考AP可以主动周期性的执行时钟同步过程,同步服务器可以周期性接收到参考AP的发送时间戳和同步AP的接收时间戳。
举例来说,参见图6,为本发明实施例提供的另一种时钟同步方法的信息交互示意图。以下结合图6具体说明图5所示的时钟同步方法。
6a、同步服务器发送同步命令给参考AP和同步AP,命令同步过程开始。
在6a中,同步服务器发送的同步命令有两种,可以用同步命令自身携带的类型标记来进行区别。一种是发送给参考AP的同步命令,使参考AP明确自身是时钟参考,应当主动发送同步消息给同步AP;另一种是发送给同步AP的同步命令,使同步AP明确自身需要同步,准备接收参考AP发送来的同步消息。参考AP或同步AP收到同步命令时,应当首先检验类型标记,如果和自己的身份一致则接收,否则丢弃。
在6a中,如果同步服务器是网管设备,则该同步命令可以通过网管协议,例如SNMP进行封装发送;如果同步服务器是AC,则该同步命令可以通过CAPWAP隧道封装协议进行封装发送;如果同步服务器是一台使用IP协议的服务器,则该同步命令可以通过IP报文形式发送。
6b、参考AP发送同步消息给同步AP,同步AP接收到该同步消息时不能丢弃,响应同步。
其中,同步消息可以用符合802.11标准的控制帧、管理帧或数据帧来实现。
6c、参考AP在发送同步消息时记录下接收同步消息的时间戳,即发送时间戳,并将该发送时间戳上报给同步服务器。
在6c中,如果同步服务器是网管设备,则该发送时间戳的上报可以通过网管协议,例如SNMP进行封装发送;如果同步服务器是AC,则该发送时间戳的上报可以通过CAPWAP隧道封装协议进行封装发送;如果同步服务器是一台使用IP协议的服务器,则该发送时间戳的上报可以通过IP报文形式发送。
6d、同步AP接收到同步消息后,记录下接收同步消息的时间戳,即接收时间戳,并将该接收时间戳上报给同步服务器。
在6d中,如果同步服务器是网管设备,则该接收时间戳的上报可以通过网管协议,例如SNMP进行封装发送;如果同步服务器是AC,则该接收时间戳的上报可以通过CAPWAP隧道封装协议进行封装发送;如果同步服务器是一台使用IP协议的服务器,则该接收时间戳的上报可以通过IP报文形式发送。
6e、同步服务器通过比较上报的发送时间戳和接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟的时间偏差,然后发出同步结束命令给参考AP和同步AP。
在6e中,同步服务器发送的同步结束命令有两种,可以用同步结束命令自身携带的类型标记来进行区别。一种是发送给参考AP的同步结束命令;另一种是发送给同步AP的同步结束命令。
在6e中,如果同步服务器是网管设备,则该同步结束命令可以通过网管协议,例如SNMP进行封装发送;如果同步服务器是AC,则该同步结束命令可以通过CAPWAP隧道封装协议进行封装发送;如果同步服务器是一台使用IP协议的服务器,则该同步结束命令可以通过普通的IP报文形式发送。
可选的,在6e之后,同步服务器还可以根据获得的时间偏差,控制同步AP与参考AP进行时钟同步。
在上述实施例中,利用同步服务器、参考AP和同步AP之间的交互,实现了各同步AP和参考AP之间的精确时钟同步;另外,由于参考AP和多个同步AP上报时间戳的比较计算是在同步服务器中集中一次完成的,因此,同步收敛速度较快。
图7为本发明实施例提供的又一种时钟同步方法的流程图。本实施例从参考AP的角度进行描述。如图7所示,所述方法包括:
步骤701、参考AP向同步AP发送同步消息,并记录发送该同步消息的发送时间戳。
步骤702、参考AP将所记录的发送时间戳发送给同步服务器,以使同步服务器根据该发送时间戳和同步AP发送的该同步AP在接收到上述同步消息时记录的接收时间戳,获得参考AP的本地时钟和同步AP的本地时钟的时间偏差,以根据所述时间偏差控制所述同步AP与所述参考AP进行时钟同步。
本实施例的详细描述可参见前述从同步服务器的描述进行描述的实施例,在此不再赘述。
参见图8,为本发明实施例提供的又一种时钟同步方法的流程图,如图8所示,所述方法包括:
801、参考AP接收同步服务器发送的同步命令。
802、参考AP根据该同步命令的指示,向同步AP发送同步消息并记录发送该同步消息的发送时间戳。
803、参考AP将所记录的发送时间戳发送给同步服务器,以使同步服务器根据该发送时间戳和同步AP发送的该同步AP在接收到上述同步消息时记录的接收时间戳,获得参考AP的本地时钟和同步AP的本地时钟的时间偏差,以根据所述时间偏差控制所述同步AP与所述参考AP进行时钟同步。
可选的,本实施例中的同步命令可以相当于前述实施例中同步服务器向参考AP发送的第二同步命令;在这种情况下,同步服务器也会向同步AP发送第三同步命令。
可选的,本实施例的同步命令可以相当于前述实施例中同步服务器向参考AP发送的第一同步命令,则本实施例参考AP接收到的同步命令包括携带指示。基于此,参考AP根据同步命令的指示,向同步AP发送同步消息并记录所述发送时间戳包括:参考AP根据同步命令中的携带指示,将携带同步标记的同步消息发送给同步AP并记录发送该同步消息的发送时间戳,该同步标记用于使同步AP识别同步消息为时钟同步过程中的消息并记录同步消息的接收时间戳。
804、参考AP接收同步服务器发送的同步结束命令。
其中,804为一可选步骤。参考AP根据该同步结束命令识别时钟同步过程结束。这里的同步结束命令可以是前述实施例中的第一同步结束命令或第二同步结束命令。
关于本实施例的详细描述,可参见前述从同步服务器角度描述的实施例中相应的描述,在此不再赘述。
本实施例提供的时钟同步方法,参考AP向同步AP发送同步消息并记录发送时间戳,同步AP在接收到同步消息时记录接收时间戳,参考AP和同步AP分别将记录的发送时间戳和接收时间戳发送给同步服务器,由同步服务器根据发送时间戳和接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟之间的时间偏差并根据获得的时间偏差控制参考AP与同步AP进行时钟同步,在有多个同步AP时每个同步AP只需接收参考AP发送的同步消息,并将同步消息的接收时间戳发送给同步服务器即可,交互次数较少,有利于提高时钟同步的收敛速度;另外,参考AP和每个同步AP上报的时间戳的比较计算是在同步服务器中集中一次完成的,不需要参考AP进行处理,减轻了参考AP的处理负担,因此提高了时钟同步的收敛速度。
进一步,参考AP与同步AP之间采用无线传输方式,空口报文的传送速度近似光速,而参考AP与同步AP之间的距离大概在100米以内,则由空口传播造成的延时最多为0.33微秒(us),而WLAN对时间精确度的要求一般在20~30us,因此,因空口传播造成的时延可以忽略不计。由此可见,本实施例的方法还可以提高所获得的时间偏差的精度,进而有利于提高时钟同步的精度。
图9为本发明实施例提供的一种同步服务器的结构示意图。如图9所示,所述同步服务器包括:第一接收模块91、第二接收模块92和同步控制模块93。
第一接收模块91,用于接收参考AP发送的该参考AP向同步AP发送同步消息时记录的发送时间戳。
第二接收模块92,用于接收同步AP发送的该同步AP接收到同步消息时记录的接收时间戳。
同步控制模块93,与第一接收模块91和第二接收模块92连接,用于根据第一接收模块91接收到的发送时间戳和第二接收模块92接收到的接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟的时间偏差,以根据该时间偏差控制同步AP与参考AP进行时钟同步。
参见图10,为本发明实施例提供的另一种同步服务器的结构示意图,所述同步服务器还包括:发送模块94。
发送模块94,用于向参考AP发送第一同步命令,以指示参考AP向同步AP发送同步消息并记录该同步消息的发送时间戳,这里的第一同步命令包括携带指示,用于指示参考AP在该同步消息中携带同步标记。该同步标记用于使同步AP识别该同步消息为时钟同步过程中的消息并记录该同步消息的接收时间戳。可选的,发送模块94与第一接收模块91连接。
可选的,发送模块94还用于在同步控制模块93获得所述时间偏差后,向参考AP发送第一同步结束命令。可选的,发送模块94还与同步控制模块93连接。
或者,发送模块94,用于向参考AP发送第二同步命令,以指示参考AP向同步AP发送同步消息并记录所述发送时间戳,并向同步AP发送第三同步命令,以指示同步AP接收同步消息并记录所述接收时间戳。
可选的,发送模块94还用于在同步控制模块93获得所述时间偏差后,分别向参考AP和同步AP发送第二同步结束命令和第三同步结束命令。
在一可选实施方式中,第一接收模块91具体可用于接收参考AP发送的第一网管协议报文或第一CAPWAP隧道报文或第一IP数据报文,所述第一网管协议报文或第一CAPWAP隧道报文或第一IP数据报文包括所述发送时间戳。
相应地,第二接收模块92具体可用于接收同步AP发送的第二网管协议报文或第二CAPWAP隧道报文或第二IP数据报文,所述第二网管协议报文或第二CAPWAP隧道报文或第二IP数据报文包括所述接收时间戳。
本实施例提供的同步服务器的各功能模块可用于执行上述图2-图6所示方法实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的同步服务器,接收参考AP和同步AP分别发送的发送时间戳和接收时间戳,根据发送时间戳和接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟之间的时间偏差,然后根据时间偏差控制参考AP与同步AP进行时钟同步,由于参考AP和每个同步AP上报的时间戳的比较计算是在同步服务器中集中一次完成的,不需要参考AP进行处理,减轻了参考AP的处理负担,因此提高了时钟同步的收敛速度。
图11为本发明实施例提供的又一种同步服务器的结构示意图。如图11所示,所述同步服务器包括:处理器111、存储器112、通信接口113和总线114。处理器111、存储器112、通信接口113通过总线114相互连接并完成相互间的通信。总线114可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
通信接口113,用于接收参考AP发送的该参考AP向同步AP发送同步消息时记录的发送时间戳,以及用于接收同步AP发送的该同步AP接收到所述同步消息时记录的接收时间戳。除此之外,通信接口113还负责向同步AP和参考AP发送信息,另外,通信接口113还负责同步服务器与其他设备之间的通信,例如接收其他设备发送的数据或者向其他设备发送数据等。
存储器112用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
存储器112可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器111通过读取存储器112中存储的程序并运行该程序,以用于:根据通信接口113接收到的发送时间戳和接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟的时间偏差,以根据该时间偏差控制同步AP与参考AP进行时钟同步。
处理器111可能是一个中央处理器(Central Processing Unit,简称为CPU),或者网络处理器(Network Processor,简称为NP),或者是特定集成电路(ApplicationSpecific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本实施例提供的同步服务器可用于执行上述图2-图6所示方法实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的同步服务器,接收参考AP和同步AP分别发送的发送时间戳和接收时间戳,根据发送时间戳和接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟之间的时间偏差,然后根据时间偏差控制参考AP与同步AP进行时钟同步,由于参考AP和每个同步AP上报的时间戳的比较计算是在同步服务器中集中一次完成的,不需要参考AP进行处理,减轻了参考AP的处理负担,因此提高了时钟同步的收敛速度。
图12为本发明实施例提供的一种AP的结构示意图。如图12所示,所述AP包括:第一发送模块121和第二发送模块122。
第一发送模块121,用于向同步AP发送同步消息,并记录发送该同步消息的发送时间戳。
第二发送模块122,与第一发送模块121连接,用于将第一发送模块121所记录的发送时间戳发送给同步服务器,以使同步服务器根据该发送时间戳和同步AP发送的该同步AP在接收到上述同步消息时记录的接收时间戳,获得所述AP的本地时钟与同步AP的本地时钟的时间偏差。
参见图12,为本发明实施例提供的另一种AP的结构示意图,所述AP还包括:接收模块123。接收模块123,用于接收同步服务器发送的同步命令。基于此,第一发送模块121具体用于根据接收模块123接收到的同步命令的指示,向同步AP发送同步消息并记录所述发送时间戳。接收模块123与第一发送模块121连接。
可选的,上述同步命令包括携带指示。基于此,第一发送模块121具体用于根据该携带指示,将携带同步标记的同步消息发送给同步AP并记录发送时间戳,该同步标记用于使同步AP识别该同步消息为时钟同步过程中的消息并记录所述接收时间戳。
可选的,接收模块123还用于在第二发送模块122将所述发送时间戳发送给同步服务器之后,接收同步服务器发送的同步结束命令。可选的,接收模块123还与第二发送模块122连接。
第二发送模块122具体可用于向同步服务器发送网管协议报文或CAPWAP隧道报文或IP数据报文,所述网管协议报文或CAPWAP隧道报文或IP数据报文包括所述发送时间戳。
本实施例提供的AP的各功能模块可用于执行图7和图8所示方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的AP,向同步AP发送同步消息并记录发送时间戳,而同步AP在接收到同步消息时记录接收时间戳,本实施例AP和同步AP分别将记录的发送时间戳和接收时间戳发送给同步服务器,由同步服务器根据发送时间戳和接收时间戳,获得本实施例AP的本地时钟与同步AP的本地时钟之间的时间偏差并根据获得的时间偏差控制本实施例AP与同步AP进行时钟同步,基于本实施例提供的AP,在多个同步AP的情况下每个同步AP只需接收本实施例AP发送的同步消息并将同步消息的接收时间戳发送给同步服务器即可,交互次数较少,有利于提高时钟同步的收敛速度;另外,本实施例提供的AP允许其和每个同步AP上报的时间戳的比较计算在同步服务器中集中一次完成的,不需要亲自进行处理,本实施例AP的处理负担较轻,因此提高了时钟同步的收敛速度。
图13为本发明实施例提供的另一种AP的结构示意图。如图13所示,所述AP包括:处理器131、存储器132、通信接口133和总线134。处理器131、存储器132和通信接口133通过总线134相互连接并完成相互间的通信。总线134可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器132,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
存储器132可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器131,用于执行存储器132所存放的程序,以用于在通信接口133向同步AP发送同步消息时记录该同步消息的发送时间戳。处理器131可能是CPU,或者是NP,者是特定ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口133,用于向同步AP发送同步消息,以及将处理器131记录的该同步消息的发送时间戳发送给同步服务器,以使同步服务器根据该发送时间戳和同步AP发送的该同步AP在接收到所述同步消息时记录的接收时间戳,获得本实施例AP的本地时钟与同步AP的本地时钟的时间偏差。
通信接口133除了负责本实施例AP与同步服务器之间的通信之外,还负责与其他设备之间的通信。
本实施例提供的AP可用于执行图7和图8所示方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的AP,向同步AP发送同步消息并记录发送时间戳,而同步AP在接收到同步消息时记录接收时间戳,本实施例AP和同步AP分别将记录的发送时间戳和接收时间戳发送给同步服务器,由同步服务器根据发送时间戳和接收时间戳,获得本实施例AP的本地时钟与同步AP的本地时钟之间的时间偏差并根据获得的时间偏差控制本实施例AP与同步AP进行时钟同步,基于本实施例提供的AP,在有多个同步AP的情况下每个同步AP只需接收本实施例AP发送的同步消息并将同步消息的接收时间戳发送给同步服务器即可,交互次数较少,有利于提高时钟同步的收敛速度;另外,本实施例提供的AP允许其和每个同步AP上报的时间戳的比较计算在同步服务器中集中一次完成的,不需要亲自进行处理,本实施例提供的AP的处理负担较轻,因此提高了时钟同步的收敛速度。
本发明实施例提供的一种时钟同步***,该***包括同步服务器、参考AP和同步AP。
所述同步服务器,用于接收所述参考AP发送的所述参考AP向所述同步AP发送同步消息时记录的发送时间戳,接收所述同步AP发送的所述同步AP接收到所述同步消息时记录的接收时间戳,并根据所述发送时间戳和所述接收时间戳,获得所述参考AP的本地时钟与所述同步AP的本地时钟的时间偏差;
所述参考AP,用于向所述同步AP发送同步消息,并记录发送所述同步消息时的发送时间戳;并向所述同步服务器发送所述发送时间戳;
所述同步AP,用于接收所述同步消息,并记录接收到所述同步消息时的接收时间戳;并向所述同步服务器发送所述接收时间戳。所述***中可以仅包括一个所述同步AP,也可以包括两个或两个以上所述同步AP。
所述时钟同步***中的同步服务器的实现结构可参见图9、图10或图11,其工作原理可参见前述相应实施例的描述;所述时钟同步***中参考AP的实现结构可参见图12或图13,其工作原理可参见前述相应实施例的描述。参见图14,为本实施例时钟同步***中同步AP的一种结构示意图。如图14所示,所述同步AP包括:第一接收模块141和发送模块142。
第一接收模块141,用于接收所述参考AP发送的同步消息,并记录该同步消息的接收时间戳。
发送模块142,与第一接收模块141连接,用于将第一接收模块41记录的接收时间戳发送给同步服务器,以使同步服务器根据该接收时间戳和参考AP发送的所述参考AP发送同步消息时记录的发送时间戳,获得所述参考AP的本地时钟与所述同步AP的本地时钟的时间偏差。
可选的,第一接收模块141接收到的同步消息包括同步标记。基于此,第一接收模块141具体可用于根据该同步消息中的同步标记,接收该同步消息并记录所述接收时间戳。
一种可能实现方式中,参见图14,所述同步AP还包括:第二接收模块143。第二接收模块143,用于接收同步服务器发送的第三同步命令。相应地,第一接收模块141具体可用于根据第二接收模块143接收到的第三同步命令的指示,接收参考AP发送的同步消息并记录接收时间戳。
可选的,第二接收模块143还用于在发送模块142将接收时间戳发送给同步服务器之后,接收同步服务器发送的第三同步结束命令。可选的,第二接收模块143还与发送模块142连接。
可选的,发送模块142具体可用于向同步服务器发送网管协议报文或CAPWAP隧道报文或IP数据报文,所述网管协议报文或CAPWAP隧道报文或IP报文包括所述接收时间戳。
参见图15,为本实施例时钟同步***中同步AP的另一种结构示意图。如图15所示,所述同步AP包括:处理器151、存储器152、通信接口153和总线154。处理器151、存储器152和通信接口153通过总线154相互连接并完成相互间的通信。总线154可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器152,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
存储器152可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器151,用于执行存储器152所存放的程序,以用于在通信接口153接收参考AP发送的同步消息时记录该同步消息的接收时间戳。处理器151可能是一个CPU,或者是NP,者是特定ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口153,用于接收参考AP发送的同步消息,以及将处理器151记录的接收时间戳发送给同步服务器,以使同步服务器根据该接收时间戳和参考AP发送的该参考AP发送同步消息时记录的发送时间戳,获得参考AP的本地时钟与同步AP的本地时钟的时间偏差。
通信接口153除了负责同步AP与同步服务器之间的通信之外,还负责与其他设备之间的通信。
本实施例提供的时钟同步***,可用于执行上述图1-图8所示方法实施例的流程,参考AP向同步AP发送同步消息并记录发送时间戳,同步AP在接收到同步消息时记录接收时间戳,参考AP和同步AP分别将记录的发送时间戳和接收时间戳发送给同步服务器,由同步服务器根据发送时间戳和接收时间戳,获得参考AP的本地时钟与同步AP的本地时钟之间的时间偏差,进而根据获得的始终偏差控制同步AP与参考AP进行时钟同步;在有多个同步AP时每个同步AP只需接收参考AP发送的同步消息并将同步消息的接收时间戳发送给同步服务器即可,交互次数较少,另外,参考AP和每个同步AP上报的时间戳的比较计算是在同步服务器中集中一次完成的,不需要参考AP进行处理,减轻了参考AP的处理负担,因此提高了时钟同步的收敛速度。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。