專利名稱:時(shí)鐘同步方法以及應(yīng)用該方法的第一部件和第二部件的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)領(lǐng)域的時(shí)鐘同步方法,尤其涉及OAA(Open ApplicationArchitecture,開放應(yīng)用架構(gòu))中NFC(Network Forwarding Component,網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件)和IAC(Independent Application Component,獨(dú)立業(yè)務(wù)部件)之間時(shí)鐘同步的方法以及應(yīng)用該方法的IAC和OAA。
背景技術(shù):
隨著網(wǎng)絡(luò)業(yè)務(wù)的迅猛發(fā)展與逐步細(xì)化,傳統(tǒng)的網(wǎng)絡(luò)設(shè)備在處理這些業(yè)務(wù)時(shí)變得不再得心應(yīng)手。比如,要求設(shè)備既能做數(shù)據(jù)轉(zhuǎn)發(fā)又能接入語(yǔ)音、要求設(shè)備既能完成負(fù)載分擔(dān)又能進(jìn)行內(nèi)容安全過濾。此時(shí),一家獨(dú)立的技術(shù)廠家是很難同時(shí)提供給用戶所要求的所有服務(wù)。為此,用戶通常需要購(gòu)買多個(gè)廠家的設(shè)備,并將該些設(shè)備連接在一起。這樣不僅互通性經(jīng)常出現(xiàn)問題、設(shè)備間配合更是不容易協(xié)商,而且也給設(shè)備的管理和維護(hù)帶來成本上的負(fù)擔(dān)。
以交換設(shè)備(所述交換設(shè)備包括交換機(jī)與路由器)為例,目前根據(jù)網(wǎng)絡(luò)中的位置與作用,交換設(shè)備通常分為中低端交換設(shè)備與核心交換設(shè)備。中低端交換設(shè)備的主要功能是匯集和進(jìn)行業(yè)務(wù)管理,核心交換設(shè)備的主要功能是快速轉(zhuǎn)發(fā),使得數(shù)據(jù)包盡可能快速地通過IP骨干網(wǎng)。中低端交換設(shè)備一般處于網(wǎng)絡(luò)的邊緣位置,實(shí)現(xiàn)方案為一般的單處理器(CPU)的集中式交換設(shè)備。由于集中式交換設(shè)備有較好的價(jià)格成本優(yōu)勢(shì),所以得到較為廣泛的應(yīng)用。集中式交換設(shè)備可以依靠?jī)?nèi)部功能簡(jiǎn)單的單一處理器來實(shí)現(xiàn)交換功能,但是,面對(duì)日益豐富的業(yè)務(wù)特性要求,如IPSec(IP Security協(xié)議)、IPS(Intrusion Protect System入侵防御系統(tǒng))、語(yǔ)音和無線等,集中式交換設(shè)備已不能滿足該些業(yè)務(wù)的需求。
為了解決上述問題,本申請(qǐng)人提出了一種OAA架構(gòu),將不同廠商的設(shè)備集成為一個(gè)松耦合的系統(tǒng)。一個(gè)符合OAA架構(gòu)的系統(tǒng)包括通過ILC(InterfaceLinkage Component,接口連接部件)連接的NFC和IAC,其中NFC是OAA系統(tǒng)的主體,負(fù)責(zé)進(jìn)行報(bào)文轉(zhuǎn)發(fā),有著完整的路由器和交換機(jī)的功能,也是用戶管理控制的核心;IAC是用來提供各種應(yīng)用的附加功能的業(yè)務(wù)服務(wù)主體,一般在OAA系統(tǒng)中表現(xiàn)為一塊單板或扣卡;ILC通常作為接口分別集成在NFC和IAC之上,為NFC和IAC提供報(bào)文轉(zhuǎn)發(fā)和控制信息傳遞的路徑。
在IAC和NFC之間通信時(shí),通常需要兩者之間時(shí)鐘同步。并且,若兩個(gè)IAC需要支持相同的業(yè)務(wù)時(shí),同樣也需要建立兩個(gè)IAC之間的時(shí)鐘同步,由于兩個(gè)不同的IAC之間通過NFC建立通信,因此只要每個(gè)IAC與NFC之間實(shí)現(xiàn)時(shí)鐘同步就能保證兩個(gè)IAC之間時(shí)鐘同步。那么,如何建立IAC和NFC之間的時(shí)鐘同步呢?申請(qǐng)?zhí)枮?00510052736.4、優(yōu)先權(quán)日為2004年3月10日的專利申請(qǐng)中公開了一種用于網(wǎng)絡(luò)終端時(shí)鐘同步的方法和系統(tǒng),包括確定從主終端到每個(gè)從終端的各自往返行程延遲時(shí)間,并偏移每個(gè)從終端的時(shí)鐘與各自確定的往返行程延遲時(shí)間成比例的量以便主終端和每個(gè)從終端具有基本上相同的時(shí)間參考點(diǎn)。即,確定在主終端的主時(shí)鐘和每個(gè)從終端的時(shí)鐘之間的各自偏移,并偏移每個(gè)從終端的時(shí)鐘與所確定的各自偏移成比例的量來同步每個(gè)所述從終端的時(shí)鐘到主終端的主時(shí)鐘。
上述發(fā)明能夠使得多個(gè)終端之間完成時(shí)鐘同步,但是,上述方法中確定在主終端的主時(shí)鐘和每個(gè)從終端的時(shí)鐘之間的各自偏移實(shí)現(xiàn)復(fù)雜,特別是,IAC和NFC是屬于同一個(gè)OAA架構(gòu)的,換句話說,集中式交換設(shè)備上插接上至少一智能板組成OAA是屬于一設(shè)備,它們之間的連接距離非常短,其雙方通信時(shí)間非常短,通常是在毫秒級(jí),利用上述方法來確定NFC和每個(gè)NFC時(shí)鐘之間的各自偏移不容易實(shí)現(xiàn)。即,上述方法并不能適用建立IAC和NFC之間建立時(shí)鐘同步。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種實(shí)現(xiàn)簡(jiǎn)單適用雙方通信延時(shí)短的開放應(yīng)用架構(gòu)中時(shí)鐘同步方法以及應(yīng)用該時(shí)鐘同步方法的第一部件和第二部件。
為了達(dá)到上述目的,本發(fā)明公開了一種時(shí)鐘同步方法,用于實(shí)現(xiàn)第一部件和第二部件之間的時(shí)鐘同步,所述第一部件為開放應(yīng)用架構(gòu)中的網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件NFC,所述第二部件為開放應(yīng)用架構(gòu)中的獨(dú)立業(yè)務(wù)部件IAC,包括(1)IAC接收NFC下發(fā)的時(shí)鐘同步報(bào)文,所述時(shí)鐘同步報(bào)文中攜帶NFC的當(dāng)前時(shí)間;(2)IAC根據(jù)所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間同步本端時(shí)鐘。
NFC以預(yù)先設(shè)定的下發(fā)周期向IAC發(fā)送時(shí)鐘同步報(bào)文。
NFC是根據(jù)同步精度要求設(shè)定所述下發(fā)周期。
IAC向NFC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文;NFC接收到時(shí)鐘同步請(qǐng)求報(bào)文后,下發(fā)時(shí)鐘同步報(bào)文。
本方法還包括預(yù)先計(jì)算NFC向IAC發(fā)送報(bào)文到IAC接收到報(bào)文之間的通信時(shí)間;步驟(2)為IAC將本端的當(dāng)前時(shí)間修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間與所述通信時(shí)間之和。
步驟(2)為IAC將本端的當(dāng)前時(shí)間修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間。
NFC在下發(fā)時(shí)鐘同步報(bào)文之前,先確定IAC是否出現(xiàn)異常,在IAC正常情況下才下發(fā)時(shí)鐘同步報(bào)文。
NFC確定IAC是否出現(xiàn)異常具體為IAC定期發(fā)送用于表明本IAC正常的心跳報(bào)文,所述心跳報(bào)文為IAC與NFC之間預(yù)先約定的控制報(bào)文;NFC依據(jù)是否接收到心跳報(bào)文來確定IAC是否出現(xiàn)異常。
NFC確定IAC是否出現(xiàn)異常具體為a1NFC檢測(cè)接收到的IAC發(fā)送的數(shù)據(jù)報(bào)文的個(gè)數(shù)是否變化,若是,所述IAC未發(fā)生異常,否則,進(jìn)行步驟a2;a2NFC檢測(cè)接收到的所述IAC發(fā)送的控制報(bào)文的個(gè)數(shù)是否變化,若是,所述IAC未發(fā)生異常,否則,所述IAC已發(fā)生異常,或者為b1設(shè)置一檢測(cè)報(bào)文個(gè)數(shù)寄存器;b2NFC定時(shí)檢測(cè)IAC的心跳,每一次檢測(cè)IAC心跳時(shí),將當(dāng)前的控制報(bào)文個(gè)數(shù)N1與檢測(cè)報(bào)文個(gè)數(shù)寄存儲(chǔ)器中存儲(chǔ)的數(shù)值進(jìn)行比較,若相同,則表明所述IAC處于異常狀態(tài),若不相同,將當(dāng)前的控制報(bào)文個(gè)數(shù)N1保存到檢測(cè)報(bào)文個(gè)數(shù)寄存器中,所述IAC未發(fā)生異常,或者為NFC定時(shí)檢測(cè)IAC的心跳時(shí),先檢測(cè)當(dāng)前的數(shù)據(jù)報(bào)文個(gè)數(shù)和控制報(bào)文個(gè)數(shù)N1+N2與前一次檢測(cè)IAC心跳時(shí)保存的數(shù)據(jù)報(bào)文的個(gè)數(shù)與控制報(bào)文的個(gè)數(shù)之和是否相同,若不相同,則說明該IAC處于正常狀態(tài),保存本次的N1+N2,否則,說明IAC處于異常狀態(tài)。
一種應(yīng)用時(shí)鐘同步的第二部件,所述第二部件為開放應(yīng)用架構(gòu)中的獨(dú)立業(yè)務(wù)部件IAC,包括時(shí)鐘同步單元IAC依據(jù)接收到NFC下發(fā)的時(shí)鐘同步報(bào)文同步本IAC的時(shí)鐘,所述時(shí)鐘同步報(bào)文中攜帶NFC端的當(dāng)前時(shí)間。
IAC還包括時(shí)鐘同步請(qǐng)求單元用于定時(shí)向NFC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文。
所述時(shí)鐘同步單元進(jìn)一步為通信時(shí)間計(jì)算子單元預(yù)先計(jì)算NFC向IAC發(fā)送報(bào)文到IAC接收到報(bào)文之間的通信時(shí)間;本端時(shí)間修改子單元將本端的當(dāng)前時(shí)間修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間與所述通信時(shí)間之和,或者所述時(shí)鐘同步單元進(jìn)一步包括本端時(shí)間修改子單元將本端的當(dāng)前時(shí)間直接修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間。
IAC還包括心跳請(qǐng)求單元用于定期向NFC發(fā)送用于表明本IAC正常的心跳報(bào)文,所述心跳報(bào)文為IAC與NFC之間預(yù)先約定的控制報(bào)文。
一種應(yīng)用時(shí)鐘同步的第一部件,所述第一部件為開放應(yīng)用架構(gòu)中的網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件NFC,包括時(shí)鐘同步處理單元用于預(yù)先設(shè)定的下發(fā)周期向IAC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文或接收到時(shí)鐘同步請(qǐng)求報(bào)文后向IAC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文,所述時(shí)鐘同步報(bào)文中攜帶NFC端的當(dāng)前時(shí)間。
本發(fā)明提供了一種實(shí)現(xiàn)IAC和NFC的時(shí)鐘同步方法,由于IAC和NFC之間的距離非常短,是屬于同一OAA系統(tǒng)中(即同一設(shè)備中),類似于計(jì)算機(jī)與插接在PCI插槽上的單板,本發(fā)明僅通過IAC依據(jù)接收到的NFC發(fā)送的當(dāng)前時(shí)間修改本端的時(shí)鐘,由于IAC與NFC之間的通信延時(shí)非常短,能夠用本發(fā)明的這種非常簡(jiǎn)單的方案實(shí)現(xiàn)兩部件的同步,避免采用現(xiàn)有技術(shù)中實(shí)現(xiàn)非常復(fù)雜的同步方案來實(shí)現(xiàn)LAC和NFC之間的時(shí)鐘同步。
圖1為本發(fā)明應(yīng)用的OAA系統(tǒng)的一種典型結(jié)構(gòu);圖2為本發(fā)明一種時(shí)鐘同步方法的流程圖;圖3為一種開放應(yīng)用架構(gòu)中時(shí)鐘同步方法的流程圖;圖4為本發(fā)明開放應(yīng)用架構(gòu)中的獨(dú)立業(yè)務(wù)部件IAC的結(jié)構(gòu)示意圖;圖5為本發(fā)明開放應(yīng)用架構(gòu)中的網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件NFC的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
以下結(jié)合附圖,具體說明本發(fā)明。
圖1所示為本發(fā)明應(yīng)用的OAA系統(tǒng)的一種典型結(jié)構(gòu)。OAA中連接NFC與IAC的ILC通常包括控制接口和數(shù)據(jù)平面接口,控制接口可以是異步串口、同異步串口等支持流模式的接口,也可能是一個(gè)單獨(dú)的以太網(wǎng)物理端口,或者與數(shù)據(jù)平面共用的物理端口。NFC上的控制接口與IAC上的控制接口相連接,用于進(jìn)行控制信息的通信,NFC上的數(shù)據(jù)平面接口與IAC上的數(shù)據(jù)平面接口相連接,用于進(jìn)行數(shù)據(jù)信息的通信。另外,一個(gè)OAA系統(tǒng)中可以包括完成不同功能的多個(gè)IAC。
在OAA系統(tǒng)中,轉(zhuǎn)發(fā)的功能由NFC完成,業(yè)務(wù)附加處理由IAC完成。針對(duì)不同的應(yīng)用,申請(qǐng)人定義4種工作模式,可以通過這4種模式之一或其中幾種的組合來完成NFC與IAC之間的通信。
1、主機(jī)(Host)模式IAC就象網(wǎng)絡(luò)上的一臺(tái)主機(jī),擁有自己的IP地址,作為網(wǎng)絡(luò)末梢存在。IP報(bào)文都是通ILC的以太網(wǎng)口轉(zhuǎn)發(fā)的。這種方式,NFC僅僅完成單純的報(bào)文轉(zhuǎn)發(fā),IAC則作為數(shù)據(jù)報(bào)文的發(fā)起者和接收者,收發(fā)各種報(bào)文,NFC就是IAC的網(wǎng)關(guān)。
2、鏡像(Mirror)模式NFC在報(bào)文轉(zhuǎn)發(fā)的過程中,根據(jù)要求,把特定的報(bào)文復(fù)制一份給IAC,原始報(bào)文繼續(xù)完成正常的轉(zhuǎn)發(fā)。而IAC收到這個(gè)報(bào)文以后進(jìn)行分析和處理,然后將報(bào)文丟棄。這種模式下,鏡像報(bào)文也是通過ILC以太口轉(zhuǎn)發(fā)。
3、重定向(Redirection)模式這種模式下,NFC在報(bào)文轉(zhuǎn)發(fā)過程中,根據(jù)要求,把特定的報(bào)文重定向給IAC。IAC處理以后,或丟棄,或通過。如果通過,則報(bào)文被原封不動(dòng)的還給NFC,NFC則繼續(xù)從當(dāng)初中斷的地方繼續(xù)處理,完成后續(xù)的轉(zhuǎn)發(fā)工作。這種模式下,重定向的報(bào)文也是通過ILC的以太口轉(zhuǎn)發(fā)的。
4、穿透(Pass-Through)模式這種模式下,IAC沒有配置IP地址,并且一定要有外在的以太網(wǎng)口,數(shù)據(jù)從這個(gè)接口流入,穿過IAC,經(jīng)過ILC的以太網(wǎng)口到NFC,或者反方向。在NFC看來,外部數(shù)據(jù)像是直接到達(dá)了ILC的以太網(wǎng)口,IAC似乎根本不存在一樣。
請(qǐng)參閱圖2,一種時(shí)鐘同步方法,用于完成第一部件和第二部件之間的時(shí)鐘同步,包括S11第二部件接收第一部件下發(fā)的時(shí)鐘同步報(bào)文,所述時(shí)鐘同步報(bào)文中攜帶第一部件端的當(dāng)前時(shí)間;S12第二部件根據(jù)所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間同步本端時(shí)鐘。由于第一部件和第二部件之間的通信延時(shí)非常短,能夠用本發(fā)明的這種非常簡(jiǎn)單的方案實(shí)現(xiàn)兩部件的同步,避免采用現(xiàn)有技術(shù)中實(shí)現(xiàn)非常復(fù)雜的同步方案來實(shí)現(xiàn)兩部件之間的時(shí)鐘同步。
所述第一部件為開放應(yīng)用架構(gòu)中網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件NFC,所述第二部件為獨(dú)立業(yè)務(wù)部件IAC。請(qǐng)參閱圖3,其為開放應(yīng)用架構(gòu)中時(shí)鐘同步方法的流程圖,它包括步驟S110IAC接收NFC下發(fā)的時(shí)鐘同步報(bào)文,所述時(shí)鐘同步報(bào)文中攜帶NFC端的當(dāng)前時(shí)間;步驟S120IAC根據(jù)所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間同步本端時(shí)鐘。
通過上述步驟,能夠?qū)崿F(xiàn)IAC和NFC之間的時(shí)鐘同步。
以下具體說明上述過程。
NFC通常是在IAC處于正常狀態(tài)下發(fā)送時(shí)鐘同步報(bào)文。當(dāng)然,NFC向IAC發(fā)送控制信息和數(shù)據(jù)信息的前提是IAC處于正常狀態(tài)。為了檢測(cè)IAC是否處于正常狀態(tài),本發(fā)明的NFC需要進(jìn)行IAC心跳檢測(cè)過程。
NFC對(duì)IAC進(jìn)行心跳檢測(cè)有多種實(shí)現(xiàn)方式。第一種實(shí)現(xiàn)方式為NFC與IAC預(yù)先約定用于表明IAC未出現(xiàn)異常的心跳報(bào)文的報(bào)文格式和發(fā)送間隔,該心跳報(bào)文是NFC與IAC預(yù)先約定的控制報(bào)文,它通常是串口格式數(shù)據(jù)。心跳報(bào)文可以只承載一心跳報(bào)文的標(biāo)識(shí)。IAC定時(shí)發(fā)送心跳報(bào)文,當(dāng)NFC在預(yù)先設(shè)定的時(shí)間內(nèi)接收到該心跳報(bào)文,說明該IAC未出現(xiàn)異常。假設(shè)IAC以5秒為發(fā)送間隔向NFC發(fā)送心跳報(bào)文,則NFC在預(yù)先設(shè)定的時(shí)間周期(如15秒)內(nèi)未收到任何一IAC發(fā)送的心跳報(bào)文,說明該IAC已出現(xiàn)異常,可以根據(jù)預(yù)先設(shè)定的指示處理該IAC出現(xiàn)異常,如發(fā)出報(bào)警等。
NFC與IAC之間不管采用上述四種工作模式下的哪一種或哪幾種來工作,NFC與IAC之間都會(huì)發(fā)送各種報(bào)文。當(dāng)NFC的接口(如以太網(wǎng)口)接收到報(bào)文后,通常將其按照類型轉(zhuǎn)發(fā)至不同的處理模塊去處理,不同的處理模塊分別統(tǒng)計(jì)報(bào)文個(gè)數(shù)。比如,NFC與IAC之間通過各自的一復(fù)用以太網(wǎng)接口接收控制信息和數(shù)據(jù)信息,當(dāng)NFC的復(fù)用以太網(wǎng)接口接收到以太網(wǎng)報(bào)文時(shí),預(yù)先判斷所述報(bào)文是否承載控制信息,若是,轉(zhuǎn)發(fā)到對(duì)應(yīng)的控制處理單元處理,并將承載控制信息的控制報(bào)文的個(gè)數(shù)N1加1,否則,轉(zhuǎn)發(fā)到對(duì)應(yīng)的數(shù)據(jù)處理單元處理,并將承載數(shù)據(jù)信息的數(shù)據(jù)報(bào)文的個(gè)數(shù)N2加1。IAC發(fā)出的所有報(bào)文(控制報(bào)文和數(shù)據(jù)報(bào)文)都可以看作是單板的“心跳”。
NFC對(duì)IAC進(jìn)行心跳檢測(cè)的第二種實(shí)現(xiàn)方式為設(shè)置一檢測(cè)報(bào)文個(gè)數(shù)寄存器,它的初始值可以設(shè)定為0,NFC定時(shí)檢測(cè)IAC的心跳,每一次檢測(cè)IAC心跳時(shí),將當(dāng)前的控制報(bào)文個(gè)數(shù)N1與檢測(cè)報(bào)文個(gè)數(shù)寄存儲(chǔ)器中存儲(chǔ)的值進(jìn)行比較,若相同,則表明所述IAC處于異常狀態(tài),若不相同,將當(dāng)前的控制報(bào)文個(gè)數(shù)N1保存到檢測(cè)報(bào)文個(gè)數(shù)寄存器中。
NFC對(duì)IAC進(jìn)行心跳檢測(cè)的第三種實(shí)現(xiàn)方式為NFC定時(shí)檢測(cè)IAC的心跳時(shí),先檢測(cè)當(dāng)前的(N1+N2)與前一次檢測(cè)IAC心跳時(shí)保存的數(shù)據(jù)報(bào)文的個(gè)數(shù)與控制報(bào)文的個(gè)數(shù)之和是否相同,若不相同,則說明該IAC處于正常狀態(tài),保存本次的(N1+N2),否則,說明IAC處于異常狀態(tài)。
通過上述的心跳檢測(cè),NFC可獲知IAC是否處于正常狀態(tài)下。當(dāng)IAC處于正常狀態(tài)下時(shí),NFC可以進(jìn)行與IAC的時(shí)鐘同步過程。
NFC可以按照預(yù)先設(shè)定的下發(fā)周期向IAC發(fā)送時(shí)鐘同步報(bào)文。通常,NFC是根據(jù)同步精度要求來設(shè)定所述下發(fā)周期。比如,同步精度要求高的,下發(fā)周期短,同步精度要求低的,下發(fā)周期長(zhǎng)。通過同步時(shí)鐘協(xié)議報(bào)文的時(shí)鐘同步的精度在秒級(jí),默認(rèn)為1分鐘進(jìn)行一次同步,同步的時(shí)間間隔的范圍為1-1440分種,時(shí)鐘間隔的最小單位可為分鐘。時(shí)鐘同步報(bào)文中至少攜帶NFC當(dāng)前時(shí)間。當(dāng)前時(shí)間可以包括年/月/日/時(shí)鐘,也可以僅包括時(shí)鐘時(shí)間(小時(shí):分種:秒鐘)。
NFC也可以接收到IAC發(fā)送的時(shí)鐘同步請(qǐng)求報(bào)文后,下發(fā)時(shí)鐘同步報(bào)文。IAC可以定時(shí)向NFC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文,也可以事件觸發(fā)式向NFC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文。比如,當(dāng)IAC需要和NFC進(jìn)行某一數(shù)據(jù)通信前,先觸發(fā)向NFC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文,以便能實(shí)現(xiàn)與NFC時(shí)鐘同步。
IAC接收到時(shí)鐘同步報(bào)文后,IAC將本端的當(dāng)前時(shí)間修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間。
另外,本發(fā)明還可以預(yù)先計(jì)算NFC向IAC發(fā)送報(bào)文到IAC接收到報(bào)文之間的通信時(shí)間;IAC每次接收到時(shí)鐘同步報(bào)文后,將本端的當(dāng)前時(shí)間修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間與所述通信時(shí)間之和。計(jì)算通信時(shí)間可以采用以下方案預(yù)先保存NFC與IAC的時(shí)間,計(jì)算出時(shí)間差T1,NFC向IAC發(fā)送一測(cè)量報(bào)文,所述報(bào)文中包含NFC當(dāng)前時(shí)間T2,IAC接收到該測(cè)量報(bào)文后,記錄本IAC當(dāng)前時(shí)間T3,所述通信時(shí)間為T3-T2+T1??紤]到IAC與NFC處理報(bào)文的速度可能會(huì)存在偏差,在計(jì)算兩者之間的通信時(shí)間時(shí),可以多次計(jì)算通信時(shí)間后求平均值。
通過上述流程,能夠?qū)崿F(xiàn)IAC與NFC之間的時(shí)鐘同步。并且這種方法實(shí)現(xiàn)簡(jiǎn)單。
一種開放應(yīng)用架構(gòu),包括獨(dú)立業(yè)務(wù)部件IAC和網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件NFC。
請(qǐng)參閱圖4,其為本發(fā)明開放應(yīng)用架構(gòu)中獨(dú)立業(yè)務(wù)部件IAC的結(jié)構(gòu)示意圖。獨(dú)立業(yè)務(wù)部件IAC,包括處理器11(CPU)、與NFC通信的接口14、存儲(chǔ)單元(如內(nèi)存12和閃存FLASH13),其中,所述處理器11包括時(shí)鐘同步單元111IAC依據(jù)接收到NFC下發(fā)的時(shí)鐘同步報(bào)文同步本IAC的時(shí)鐘,所述時(shí)鐘同步報(bào)文中攜帶NFC端的當(dāng)前時(shí)間。
所述時(shí)鐘同步單元111進(jìn)一步為通信時(shí)間計(jì)算子單元預(yù)先計(jì)算NFC向IAC發(fā)送報(bào)文到IAC接收到報(bào)文之間的通信時(shí)間;本端時(shí)間修改子單元將本端的當(dāng)前時(shí)間修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間與所述通信時(shí)間之和。
所述時(shí)鐘同步單元111還可以進(jìn)一步包括本端時(shí)間修改子單元將本端的當(dāng)前時(shí)間直接修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間。
當(dāng)時(shí)鐘同步是需要IAC發(fā)出時(shí),還需要包括時(shí)鐘同步請(qǐng)求單元112用于定時(shí)向NFC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文。
另外,NFC若需要檢測(cè)IAC的工作是否正常時(shí),在IAC上還可以設(shè)置心跳請(qǐng)求單元113用于定期向NFC發(fā)送用于表明本IAC正常的心跳報(bào)文,所述心跳報(bào)文為IAC與NFC之間預(yù)先約定的控制報(bào)文。
上述公開的單元通??梢约稍贗AC的處理器11上,通常軟件來完成各自的功能。
請(qǐng)參閱圖5,其為開放應(yīng)用架構(gòu)中網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件的一結(jié)構(gòu)示意圖。網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件NFC12,包括處理器21(CPU)、與IAC通信的接口24、存儲(chǔ)單元(如內(nèi)存22和閃存FLASH23),其中,所述處理器22包括時(shí)鐘同步處理單元211用于預(yù)先設(shè)定的下發(fā)周期向IAC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文或接收到時(shí)鐘同步請(qǐng)求報(bào)文后向IAC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文,所述時(shí)鐘同步報(bào)文中攜帶NFC端的當(dāng)前時(shí)間。
NFC還可以包括心跳檢測(cè)單元212用于檢測(cè)IAC是否出現(xiàn)異常。
檢測(cè)IAC是否出現(xiàn)異常第一種實(shí)現(xiàn)方式為NFC與IAC預(yù)先約定用于表明IAC未出現(xiàn)異常的心跳報(bào)文的報(bào)文格式和發(fā)送間隔,該心跳報(bào)文是NFC與IAC預(yù)先約定的控制報(bào)文,它通常是串口格式數(shù)據(jù)。心跳報(bào)文可以只承載一心跳報(bào)文的標(biāo)識(shí)。IAC定時(shí)發(fā)送心跳報(bào)文,當(dāng)NFC在預(yù)先設(shè)定的時(shí)間內(nèi)接收到該心跳報(bào)文,說明該IAC未出現(xiàn)異常。假設(shè)IAC以5秒為發(fā)送間隔向NFC發(fā)送心跳報(bào)文,則NFC在預(yù)先設(shè)定的時(shí)間周期(如15秒)內(nèi)未收到任何一IAC發(fā)送的心跳報(bào)文,說明該IAC已出現(xiàn)異常,可以根據(jù)預(yù)先設(shè)定的指示處理該IAC出現(xiàn)異常,如發(fā)出報(bào)警等。
NFC對(duì)IAC進(jìn)行心跳檢測(cè)的第二種實(shí)現(xiàn)方式為NFC定時(shí)檢測(cè)IAC的心跳時(shí),先檢測(cè)當(dāng)前的N1與前一次檢測(cè)IAC心跳時(shí)保存的數(shù)據(jù)報(bào)文的個(gè)數(shù)是否相同,若不相同,則說明該IAC處于正常狀態(tài),保存本次的N2;否則,檢測(cè)當(dāng)前的N2與前一次檢測(cè)IAC心跳時(shí)保存的控制報(bào)文的個(gè)數(shù)是否相同,若不相同,則說明該IAC處于正常狀態(tài),保存本次的N2否則說明該IAC處于異常狀態(tài)。
NFC對(duì)IAC進(jìn)行心跳檢測(cè)的第三種實(shí)現(xiàn)方式為NFC定時(shí)檢測(cè)IAC的心跳時(shí),先檢測(cè)當(dāng)前的(N1+N2)與前一次檢測(cè)IAC心跳時(shí)保存的數(shù)據(jù)報(bào)文的個(gè)數(shù)與控制報(bào)文的個(gè)數(shù)之和是否相同,若不相同,則說明該IAC處于正常狀態(tài),保存本次的(N1+N2),否則,說明IAC處于異常狀態(tài)。
時(shí)鐘同步處理單元211和心跳檢測(cè)單元212通常集成在NFC的處理器上,由軟件來實(shí)現(xiàn)。
以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化,都應(yīng)落在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種時(shí)鐘同步方法,用于實(shí)現(xiàn)第一部件和第二部件之間的時(shí)鐘同步,其特征在于,所述第一部件為開放應(yīng)用架構(gòu)中的網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件NFC,所述第二部件為開放應(yīng)用架構(gòu)中的獨(dú)立業(yè)務(wù)部件IAC,包括(1)IAC接收NFC下發(fā)的時(shí)鐘同步報(bào)文,所述時(shí)鐘同步報(bào)文中攜帶NFC的當(dāng)前時(shí)間;(2)IAC根據(jù)所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間同步本端時(shí)鐘。
2.如權(quán)利要求1所述的方法,其特征在于,還包括NFC以預(yù)先設(shè)定的下發(fā)周期向IAC發(fā)送時(shí)鐘同步報(bào)文。
3.如權(quán)利要求2所述的方法,其特征在于,NFC是根據(jù)同步精度要求設(shè)定所述下發(fā)周期。
4.如權(quán)利要求1所述的方法,其特征在于,還包括IAC向NFC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文;NFC接收到時(shí)鐘同步請(qǐng)求報(bào)文后,下發(fā)時(shí)鐘同步報(bào)文。
5.如權(quán)利要求2或4所述的方法,其特征在于,本方法還包括預(yù)先計(jì)算NFC向IAC發(fā)送報(bào)文到IAC接收到報(bào)文之間的通信時(shí)間;步驟(2)為IAC將本端的當(dāng)前時(shí)間修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間與所述通信時(shí)間之和。
6.如權(quán)利要求2或4所述的方法,其特征在于,步驟(2)為IAC將本端的當(dāng)前時(shí)間修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間。
7.如權(quán)利要求1所述的方法,其特征在于,還包括NFC在下發(fā)時(shí)鐘同步報(bào)文之前,先確定IAC是否出現(xiàn)異常,在IAC正常情況下才下發(fā)時(shí)鐘同步報(bào)文。
8.如權(quán)利要求7所述的方法,其特征在于,NFC確定IAC是否出現(xiàn)異常具體為IAC定期發(fā)送用于表明本IAC正常的心跳報(bào)文,所述心跳報(bào)文為IAC與NFC之間預(yù)先約定的控制報(bào)文;NFC依據(jù)是否接收到心跳報(bào)文來確定IAC是否出現(xiàn)異常。
9.如權(quán)利要求7所述的方法,其特征在于,NFC確定IAC是否出現(xiàn)異常具體為a1NFC檢測(cè)接收到的IAC發(fā)送的數(shù)據(jù)報(bào)文的個(gè)數(shù)是否變化,若是,所述IAC未發(fā)生異常,否則,進(jìn)行步驟a2;a2NFC檢測(cè)接收到的所述IAC發(fā)送的控制報(bào)文的個(gè)數(shù)是否變化,若是,所述IAC未發(fā)生異常,否則,所述IAC已發(fā)生異常,或者為b1設(shè)置一檢測(cè)報(bào)文個(gè)數(shù)寄存器;b2NFC定時(shí)檢測(cè)IAC的心跳,每一次檢測(cè)IAC心跳時(shí),將當(dāng)前的控制報(bào)文個(gè)數(shù)N1與檢測(cè)報(bào)文個(gè)數(shù)寄存儲(chǔ)器中存儲(chǔ)的數(shù)值進(jìn)行比較,若相同,則表明所述IAC處于異常狀態(tài),若不相同,將當(dāng)前的控制報(bào)文個(gè)數(shù)N1保存到檢測(cè)報(bào)文個(gè)數(shù)寄存器中,所述IAC未發(fā)生異常,或者為NFC定時(shí)檢測(cè)IAC的心跳時(shí),先檢測(cè)當(dāng)前的數(shù)據(jù)報(bào)文個(gè)數(shù)和控制報(bào)文個(gè)數(shù)N1+N2與前一次檢測(cè)IAC心跳時(shí)保存的數(shù)據(jù)報(bào)文的個(gè)數(shù)與控制報(bào)文的個(gè)數(shù)之和是否相同,若不相同,則說明該IAC處于正常狀態(tài),保存本次的N1+N2,否則,說明IAC處于異常狀態(tài)。
10.一種應(yīng)用時(shí)鐘同步的第二部件,其特征在于,所述第二部件為開放應(yīng)用架構(gòu)中的獨(dú)立業(yè)務(wù)部件IAC,包括時(shí)鐘同步單元IAC依據(jù)接收到NFC下發(fā)的時(shí)鐘同步報(bào)文同步本IAC的時(shí)鐘,所述時(shí)鐘同步報(bào)文中攜帶NFC端的當(dāng)前時(shí)間。
11.如權(quán)利要求10所述的第二部件,其特征在于,還包括時(shí)鐘同步請(qǐng)求單元用于定時(shí)向NFC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文。
12.如權(quán)利要求10所述的第二部件,其特征在于,所述時(shí)鐘同步單元進(jìn)一步為通信時(shí)間計(jì)算子單元預(yù)先計(jì)算NFC向IAC發(fā)送報(bào)文到IAC接收到報(bào)文之間的通信時(shí)間;本端時(shí)間修改子單元將本端的當(dāng)前時(shí)間修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間與所述通信時(shí)間之和,或者所述時(shí)鐘同步單元進(jìn)一步包括本端時(shí)間修改子單元將本端的當(dāng)前時(shí)間直接修改為所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間。
13.如權(quán)利要求12所述的第二部件,其特征在于,還包括心跳請(qǐng)求單元用于定期向NFC發(fā)送用于表明本IAC正常的心跳報(bào)文,所述心跳報(bào)文為IAC與NFC之間預(yù)先約定的控制報(bào)文。
14.一種應(yīng)用時(shí)鐘同步的第一部件,其特征在于,所述第一部件為開放應(yīng)用架構(gòu)中的網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件NFC,包括時(shí)鐘同步處理單元用于預(yù)先設(shè)定的下發(fā)周期向IAC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文或接收到時(shí)鐘同步請(qǐng)求報(bào)文后向IAC發(fā)送時(shí)鐘同步請(qǐng)求報(bào)文,所述時(shí)鐘同步報(bào)文中攜帶NFC端的當(dāng)前時(shí)間。
全文摘要
一種時(shí)鐘同步方法,用于完成第一部件和第二部件之間的時(shí)鐘同步,包括(1)第二部件接收第一部件下發(fā)的時(shí)鐘同步報(bào)文,所述時(shí)鐘同步報(bào)文中攜帶第一部件端的當(dāng)前時(shí)間;(2)第二部件根據(jù)所述時(shí)鐘同步報(bào)文中的當(dāng)前時(shí)間同步本端時(shí)鐘。由于第一部件和第二部件之間的通信延時(shí)非常短,能夠用本發(fā)明的這種非常簡(jiǎn)單的方案實(shí)現(xiàn)兩部件的同步,避免采用現(xiàn)有技術(shù)中實(shí)現(xiàn)非常復(fù)雜的同步方案來實(shí)現(xiàn)兩部件之間的時(shí)鐘同步。本發(fā)明還公開了應(yīng)用該方法的第一部件和第二部件。
文檔編號(hào)H04L12/58GK1925386SQ20061014072
公開日2007年3月7日 申請(qǐng)日期2006年9月30日 優(yōu)先權(quán)日2006年9月30日
發(fā)明者陳國(guó)華, 王颶 申請(qǐng)人:杭州華為三康技術(shù)有限公司