欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種會話信息同步方法、裝置以及系統(tǒng)的制作方法

文檔序號:7856868閱讀:196來源:國知局

專利名稱::一種會話信息同步方法、裝置以及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及網(wǎng)絡(luò)安全
技術(shù)領(lǐng)域
,尤指ー種針對高可用性系統(tǒng)中網(wǎng)絡(luò)安全設(shè)備的會話信息同步方法、裝置以及系統(tǒng)。
背景技術(shù)
:目前,隨著網(wǎng)絡(luò)應(yīng)用的迅速增長,保證網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間越來越重要,防火墻等網(wǎng)絡(luò)安全設(shè)備的持續(xù)運行時間影響著整個網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間,同時也極大的制約了網(wǎng)絡(luò)應(yīng)用,高可用性(HighAvailability,HA)是保證網(wǎng)絡(luò)安全系統(tǒng)持續(xù)運行時間的ー個重要技木。HA用來描述ー個系統(tǒng)經(jīng)過專門的設(shè)計,從而減少停エ時間,而保持系統(tǒng)持續(xù)運行時間的高度可用性。在網(wǎng)絡(luò)安全系統(tǒng)的HA功能中,數(shù)據(jù)同步是影響網(wǎng)絡(luò)安全系統(tǒng)持續(xù)運行時間或者中斷時間的ー個重要因素,數(shù)據(jù)同步包括動態(tài)的會話信息同步和靜態(tài)的配置文件同步。HA系統(tǒng)有三種工作模式主備模式、主主模式和集群模式。現(xiàn)有的HA系統(tǒng)中,主設(shè)備在處理業(yè)務(wù)會產(chǎn)生會話信息,主設(shè)備將產(chǎn)生的會話信息同步給備份設(shè)備,備份設(shè)備根據(jù)主設(shè)備同步過來的會話信息更新自身的會話信息,這樣當(dāng)發(fā)生主備切換后,備份設(shè)備可以直接接替主設(shè)備繼續(xù)處理業(yè)務(wù),不會造成業(yè)務(wù)中斷,從而保證網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間。在現(xiàn)有的會話信息同步方法中,主設(shè)備僅僅將會話信息同步給備份設(shè)備,并不關(guān)心備份設(shè)備是否能夠完整地接收到同步的會話信息,也就是說主設(shè)備并不能確保備份設(shè)備可靠地接收到同步的會話信息,一旦備份設(shè)備沒有及時接收到完整的會話信息,當(dāng)主備切換后,備份設(shè)備因為沒有保存完整的會話信息而不能正常接替主設(shè)備繼續(xù)處理業(yè)務(wù),這就會造成網(wǎng)絡(luò)安全系統(tǒng)中斷,也就會縮短網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間。綜上所述,現(xiàn)有的會話信息同步方法不能確保網(wǎng)絡(luò)安全系統(tǒng)可靠地同步會話信息,進而縮短網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間。
發(fā)明內(nèi)容本發(fā)明實施例提供一種會話信息同步方法、裝置以及系統(tǒng),用以解決現(xiàn)有的會話信息同步方法不能確保網(wǎng)絡(luò)安全系統(tǒng)可靠地同步會話信息,進而縮短網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間的問題。一種會話信息同步方法,包括A、高可用性系統(tǒng)中的主設(shè)備確定自身和備份設(shè)備的心跳和引擎正常時,與所述備份設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接;B、將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給所述備份設(shè)備;C、根據(jù)接收到所述備份設(shè)備反饋的確認信息,確定所述備份設(shè)備接收所述選取的會話信息后,轉(zhuǎn)向步驟B。一種會話信息同步方法,包括高可用性系統(tǒng)中的備份設(shè)備與主設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接;接收到所述主設(shè)備同步的會話信息后,向所述主設(shè)備反饋確認信息;其中,每個所述數(shù)據(jù)結(jié)構(gòu)體中存放設(shè)定條數(shù)的會話信息;根據(jù)接收到的會話信息更新自身的會話信息。一種會話信息同步裝置,包括連接單元,用于確定自身所在的高可用性系統(tǒng)中的主設(shè)備和備份設(shè)備的心跳和引擎正常吋,與所述備份設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接;同步單元,用于將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給所述備份設(shè)備;確定單元,用于根據(jù)接收到所述備份設(shè)備反饋的確認信息,確定所述備份設(shè)備接收所述選取的會話信息后,轉(zhuǎn)向所述同步単元。一種會話信息同步裝置,包括連接單元,用于自身所在的高可用性系統(tǒng)中的備份設(shè)備與主設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接;反饋單元,用于接收到所述主設(shè)備同步的會話信息后,向所述主設(shè)備反饋確認信息;其中,每個所述數(shù)據(jù)結(jié)構(gòu)體中存放設(shè)定條數(shù)的會話信息;更新単元,用于根據(jù)接收到的會話信息更新自身的會話信息。一種會話信息同步裝置,包括上述兩種會話信息同步裝置。一種會話信息同步系統(tǒng),包括至少兩個上述會話信息同步裝置。本發(fā)明有益效果如下本發(fā)明實施例提供的會話信息同步方法、裝置以及系統(tǒng),通過A、高可用性系統(tǒng)中的主設(shè)備確定自身和備份設(shè)備的心跳和引擎正常時,與所述備份設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接;B、將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給所述備份設(shè)備;C、根據(jù)接收到所述備份設(shè)備反饋的確認信息,確定所述備份設(shè)備接收所述選取的會話信息后,轉(zhuǎn)向步驟B。該方案的主設(shè)備在檢測到自身和備份設(shè)備的心跳和引擎都正常吋,才會與備份設(shè)備建立UDP連接,這樣可以保證順利地同步會話信息,不會造成資源浪費;將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給備份設(shè)備,在確定備份設(shè)備接收到同步的會話信息后,再發(fā)送另外選取的會話信息,這樣可以實現(xiàn)可靠地將完整的會話信息發(fā)送給備份設(shè)備。該方案中的主設(shè)備不僅僅向備份設(shè)備同步會話信息,通過在同步前檢測自身和備份設(shè)備的心跳和引擎是否正常、以及接收到備份設(shè)備返回的確認消息來確保備份設(shè)備接收到完整的會話信息,進而保證主備切換后,備份設(shè)備可以直接接替主設(shè)備進行業(yè)務(wù)處理,真正實現(xiàn)了無縫切換,延長了網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間。圖I為本發(fā)明實施例中一種會話信息同步方法的流程圖;圖2為本發(fā)明實施例中會話信息、數(shù)據(jù)體與發(fā)送/接收鏈表的關(guān)系示意圖;圖3為本發(fā)明實施例中主設(shè)備、備份設(shè)備發(fā)送的UDP單播心跳數(shù)據(jù)包的結(jié)構(gòu)示意圖4為本發(fā)明實施例中發(fā)送鏈表的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例中另ー種會話信息同步方法的流程圖;圖6為本發(fā)明實施例中接收鏈表的結(jié)構(gòu)示意圖;圖7為本發(fā)明實施例中一種會話信息同步裝置的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例中與圖7中的會話同步裝置對應(yīng)的優(yōu)選的會話信息同步裝置的結(jié)構(gòu)不意圖;圖9為本發(fā)明實施例中另ー種會話信息同步裝置的結(jié)構(gòu)示意圖;圖10為本發(fā)明實施例中與圖9中的會話裝置對應(yīng)的優(yōu)選的會話信息同步裝置的結(jié)構(gòu)示意圖;圖11為本發(fā)明實施例中優(yōu)選的會話信息同步系統(tǒng)的結(jié)構(gòu)示意圖;圖12為本發(fā)明實施例中與圖11中的會話同步系統(tǒng)對應(yīng)的會話信息同步的流程圖。具體實施例方式針對現(xiàn)有的會話信息同步方法不能確保網(wǎng)絡(luò)安全系統(tǒng)可靠地同步會話信息,進而縮短網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間的問題,本發(fā)明實施例提供一種會話信息同步方法,該方法的流程如圖I所示,具體執(zhí)行步驟如下S10:高可用性系統(tǒng)中的主設(shè)備確定自身和備份設(shè)備的心跳和引擎正常時,與備份設(shè)備建立m)P連接。HA系統(tǒng)有三種工作模式主備模式、主主模式和集群模式。主備模式下的兩臺設(shè)備,一臺作為主設(shè)備,另一臺作為備份設(shè)備。主設(shè)備處理所有業(yè)務(wù),并將產(chǎn)生的會話信息和配置文件發(fā)送到備份設(shè)備進行備份;備份設(shè)備不處理業(yè)務(wù),只用做備份。當(dāng)主設(shè)備故障,備份設(shè)備接替主設(shè)備處理業(yè)務(wù),從而保證新發(fā)起的會話能正常建立,當(dāng)前正在進行的會話也不會中斷。主主模式下的兩臺設(shè)備均為主設(shè)備,都處理業(yè)務(wù),同時又作為另一臺設(shè)備的備份設(shè)備,備份對端的會話信息和配置文件。當(dāng)其中一臺故障后,另一臺設(shè)備負責(zé)處理全部業(yè)務(wù),從而保證新發(fā)起的會話能正常建立,當(dāng)前正在進行的會話也不會中斷。集群模式下多臺主設(shè)備一起工作,各自處理ー個或幾個業(yè)務(wù),各為業(yè)務(wù)定義ー個或多個備份設(shè)備,當(dāng)某個主設(shè)備故障時,運行在其上的服務(wù)就可以被其它備份設(shè)備接管。本發(fā)明實施例中的方法適用于上述HA系統(tǒng)的三種工作模式中的主設(shè)備。主設(shè)備的備份設(shè)備可以是一臺,也可以是多臺,無論主設(shè)備設(shè)有一臺還是多臺備份設(shè)備,工作原理都是類似的,下面以主設(shè)備設(shè)有一臺備份設(shè)備為例進行說明。在本發(fā)明實施例中,主設(shè)備和備份設(shè)備之間使用的是UDP單播,現(xiàn)有的還可以采用多播、廣播等方式,但多播、廣播等方式的缺點是網(wǎng)絡(luò)負載較大,并且沒有確認機制,因此,在這里采用UDP單播方式,從而可以避免多播、廣播等方式的缺點。Sll:將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給備份設(shè)備。主設(shè)備有自身維護的會話信息,還會有新建、更新或刪除會話時,產(chǎn)生的會話信息,在所有的會話信息中選取ー些會話信息同步給備份設(shè)備。S12:根據(jù)接收到備份設(shè)備反饋的確認信息,確定備份設(shè)備接收選取的會話信息后,轉(zhuǎn)向Sn。當(dāng)確定備份設(shè)備接收到同步的會話信息后,可以繼續(xù)選取一部分會話信息同步備份設(shè)備。該方案的主設(shè)備在檢測到自身和備份設(shè)備的心跳和引擎都正常時,才會與備份設(shè)備建立UDP連接,這樣可以保證順利地同步會話信息,不會造成資源浪費;將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給備份設(shè)備,在確定備份設(shè)備接收到同步的會話信息后,再發(fā)送另外選取的會話信息,這樣可以實現(xiàn)可靠地將完整的會話信息發(fā)送給備份設(shè)備。當(dāng)主備切換后,備份設(shè)備可以直接接替主設(shè)備進行業(yè)務(wù)處理,真正實現(xiàn)了無縫切換,延長了網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間。具體的,上述SlO中的高可用性系統(tǒng)中的主設(shè)備確定自身和備份設(shè)備的心跳和引擎正常,具體包括主設(shè)備以第一設(shè)定周期向備份設(shè)備發(fā)送攜帯引擎當(dāng)前狀態(tài)的UDP單播心跳數(shù)據(jù)包;以及當(dāng)主設(shè)備在第二設(shè)定周期內(nèi)接收到備份設(shè)備以第一設(shè)定周期發(fā)送的UDP單播心跳數(shù)據(jù)包、并解析出備份設(shè)備引擎的當(dāng)前狀態(tài)為激活狀態(tài)時,確定自身和備份設(shè)備的心跳和引擎正常。用戶可根據(jù)當(dāng)前網(wǎng)絡(luò)的實際情況,設(shè)置第一設(shè)定周期和第二設(shè)定周期,其中第一設(shè)定周期是發(fā)送UDP單播心跳數(shù)據(jù)包的周期,第二設(shè)定周期時沒有接收到UDP單播心跳數(shù)據(jù)包的周期,可以分別設(shè)置為I和3,即每秒發(fā)送ー個UDP單播心跳數(shù)據(jù)包,當(dāng)3秒收不到對端設(shè)備發(fā)送的UDP單播心跳數(shù)據(jù)包吋,則認為對端設(shè)備心跳異常。當(dāng)對端設(shè)備心跳異常吋,同步會話信息是沒有任何意義的,因此,將不會同步會話信息,直到對端設(shè)備恢復(fù)心跳為止。如圖3所示,UDP單播心跳數(shù)據(jù)包的結(jié)構(gòu)可以為structiisliahbmsRhdr{uintBttype;/*hearbeatmsgtvpe*/uint8who:I;/^masterorslave*/u—inti6tmode:I;/*master-masterormaster-slave幸/status:7;/*activeorstandby*/reserved:15;};nsha—bhmsghdr—t。其中type表示UDP單播心跳數(shù)據(jù)包的類型,一共有9種,在本發(fā)明實施例中,需要的是第5種(NS_HB_MSG_MASTER_READY)和第6種(NS_HB_MSG_SLAVE_READY)類型,其他I種類型在這里不再贅述。who:本設(shè)備主、備類型,即masterorslave,主或備。mode:高可用性工作模式,即master-masterormaster-slave,主主或主備。status:本設(shè)備實時工作狀態(tài),即activeorstandby,主或備。reserved:本設(shè)備引擎的狀態(tài),即activeorinactive,激活或非激活。data:本設(shè)備有關(guān)鏈路的詳細信息,比如接ロ狀態(tài)等,在鏈路保持與切換中使用,本文不再詳細闡述。具體的,上述Sll中的將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給備份設(shè)備,具體包括將自身維護的會話信息以及實時產(chǎn)生的會話信息存放到數(shù)據(jù)結(jié)構(gòu)體中,將數(shù)據(jù)結(jié)構(gòu)體添加到發(fā)送鏈表中;在將會話信息存放到數(shù)據(jù)結(jié)構(gòu)體和將數(shù)據(jù)結(jié)構(gòu)體添加到發(fā)送鏈表的過程中,在發(fā)送鏈表中選取第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給備份設(shè)備;其中,每個數(shù)據(jù)結(jié)構(gòu)體中存放設(shè)定條數(shù)的會話信息,發(fā)送鏈表中的已存放指針指向已存放的最后ー個數(shù)據(jù)結(jié)構(gòu)體的位置、正在存放指針指向正在存放的數(shù)據(jù)結(jié)構(gòu)體的位置。主設(shè)備將自身維護的會話信息存放在數(shù)據(jù)結(jié)構(gòu)體ns_sync_pkt中,姆當(dāng)主設(shè)備新建、更新或刪除會話時,這些實時產(chǎn)生的會話信息也可以存放在ns_synC_pkt中,然后將所有這些ns_sync_pkt添加到發(fā)送鏈表中。每個ns_sync_pkt中可以存放設(shè)定條數(shù)的會話信息,設(shè)定條數(shù)具體可以依據(jù)實際情況進行設(shè)定。ns_Sync_pkt是可擴展的,可以存放會話信息,根據(jù)網(wǎng)絡(luò)安全系統(tǒng)的發(fā)展,后續(xù)也可以存放其他同步信息,放入發(fā)送鏈表進行同步,具有較高的可擴展性??梢酝ㄟ^事件處理函數(shù)用來收集創(chuàng)建、更新或者刪除會話等事件發(fā)生時需要同步的會話信息,為同步做準(zhǔn)備。為了不影響高可用性系統(tǒng)正常的數(shù)據(jù)處理流程,可以采用Linux內(nèi)核Notifier機制的思想,對會話信息同步進行設(shè)計,在系統(tǒng)初始化的時候注冊事件處理函數(shù)。當(dāng)事件發(fā)生時,通知事件處理函數(shù),在處理函數(shù)中異步處理會話信息的同歩。發(fā)送/接收會話信息時,姆次操作ー個ns_sync_pkt,其中會話信息、數(shù)據(jù)體與發(fā)送/接收鏈表的關(guān)系如圖2所示,ー個ns_sync_pkt中可以存放ー個或者多個需要同步Session的信息,可以是多個Session創(chuàng)建信息、更新信息或者多個Session刪除。ns_sync_pkt結(jié)構(gòu)體定義為#defmeETH—DATA—LEN1500#defineNS—SYNC_PAYLOADSIZEETHDATALEN-20-8-sizeoftstructct—sync—pkthdr)/*maximalusefulsizeofsyncpackets*/structnssyncpkt{structnssvncpkthdrhdr;—u8data[NS_SYNCPAYLOADS1ZE];};通訊采用UDP數(shù)據(jù)包,發(fā)送的信息結(jié)構(gòu)大小為ETH_DATA_LEN-20-8-sizeof(structct—sync—pkthdr),幾乎接近1500,這個大小是為了最大化的使用同步之間的連接。/*packetheader*/structnssyncpkthdr{u」nt8tpkttype;/*typeofpacket:sync/ACK*/uint8_tcount;/*numberofmsgsinpacket*/u—intl6treserved;u_int32tpktseq;/*packetsequencenumber*/}發(fā)送鏈表中存儲的是需要同步給備份設(shè)備的ns_sync_pkt,也就是需要同步給備份設(shè)備的會話信息,可以選取第一設(shè)定個數(shù)的ns_sync_pkt同步給備份設(shè)備。該方案中將自身維護的會話信息和實時產(chǎn)生的會話信息存放到數(shù)據(jù)結(jié)構(gòu)體中,然后將數(shù)據(jù)結(jié)構(gòu)體添加到發(fā)送鏈表中,與此同時,在發(fā)送鏈表中選取第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給備份設(shè)備,會話信息的存放與發(fā)送時兩個相對獨立的過程,可以并行處理,這樣就提聞了處通效率。具體的,上述在待發(fā)送序列中選取第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給備份設(shè)備,具體包括將發(fā)送鏈表中從已發(fā)送指針未指過位置起的第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給備份設(shè)備;已發(fā)送指針指向已經(jīng)發(fā)送出去的最后ー個數(shù)據(jù)結(jié)構(gòu)體的位置。當(dāng)向備份設(shè)備發(fā)送數(shù)據(jù)結(jié)構(gòu)體吋,可以從已發(fā)送指針未指過位置起,第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給備份設(shè)備,例如,可以每次同步給備份設(shè)備100個數(shù)據(jù)結(jié)構(gòu)體,當(dāng)然也可以是其它個數(shù),這可以依據(jù)實際情況進行設(shè)定。上述S12中的根據(jù)接收到備份設(shè)備反饋的確認信息,確定備份設(shè)備接收選取的會話信息,具體包括當(dāng)接收到備份設(shè)備反饋的確認信息時,解析確認信息中攜帯的接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識;其中,備份設(shè)備每接收到第二設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體反饋ー個確認信息,第二設(shè)定數(shù)目不大于第一設(shè)定數(shù)目;當(dāng)接收到的備份設(shè)備反饋的最后ー個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識與第一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識之差小于第一設(shè)定個數(shù)與I之差吋,向備份設(shè)備重新發(fā)送第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體;當(dāng)接收到的備份設(shè)備反饋的最后一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識信息與第一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識之差等于第一設(shè)定個數(shù)與I之差時,將確收指針指向已收到確認信息的最后ー個數(shù)據(jù)結(jié)構(gòu)體。如圖4所示為發(fā)送鏈表的結(jié)構(gòu)示意圖,發(fā)送鏈表定義為ns_sync_send_ring,初時化ns_sync_send_ring為1024*10個ns_synk_pkt。發(fā)送鏈表由很多個ns_sync_pkt組成。當(dāng)系統(tǒng)初始化時初始化4個指針,alloc,cur,send和backlog,它們的定義為已存放指針cur指向當(dāng)前放在鏈表里的最后ー個ns_sync_pkt的位置;正在存放指針alloc指向正在放入鏈表的那個ns_sync_pkt的位置;已發(fā)送指針send指向已經(jīng)發(fā)送出去的最后ー個ns_sync_pkt的位置;已確收指針backlog指向已經(jīng)收到確認的最后ー個ns_sync_pkt的指針。例如,主設(shè)備向備份設(shè)備發(fā)送了100個數(shù)據(jù)結(jié)構(gòu)體,備份設(shè)備每接收到20個數(shù)據(jù)結(jié)構(gòu)體就向主設(shè)備返回一個確認信息,當(dāng)接收到備份設(shè)備反饋的第一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識為1,最后ー個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識為98,那么,98-1=97,100-1=99,由于98小于99,說明備份設(shè)備沒有接收主設(shè)備發(fā)送的100個數(shù)據(jù)結(jié)構(gòu)體。主設(shè)備就會向備份設(shè)備重新發(fā)送者100個數(shù)據(jù)結(jié)構(gòu)體。再例如,當(dāng)接收到備份設(shè)備反饋的第一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識為101,最后ー個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識為200,那么,200-101=99,100-1=99,說明備份設(shè)備接收主設(shè)備發(fā)送的100個數(shù)據(jù)結(jié)構(gòu)體。主設(shè)備就會向備份設(shè)備重新發(fā)送者100個數(shù)據(jù)結(jié)構(gòu)體,將確收指針指向已收到確認信息的最后ー個數(shù)據(jù)結(jié)構(gòu)體。然后再向備份設(shè)備發(fā)送下ー個第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體即可。此外,還有ー些特殊情況,比如第一種,TCP會話有超時設(shè)置,如何保證同步過來的會話信息不會因為超時而被誤刪;第二種,基于動態(tài)端ロ的TCP協(xié)議流,如何保持主設(shè)備和備份設(shè)備一致性,當(dāng)動態(tài)端ロTCP流量切換到備份設(shè)備時仍能夠正常識別并處理,針對安全設(shè)備的特殊性,解決方案如下針對第一種情況為每條創(chuàng)建的會話添加第一標(biāo)識信息得到會話信息。為了防止會話信息自動超時刪除,將創(chuàng)建的會話添加第一標(biāo)識信息這樣就得到了會話信息。假設(shè)添加的第一標(biāo)識信息是SYNCED,若攜帯SYNCED的會話信息同步給備份設(shè)備,在主備切換前,備份設(shè)備不會刪除攜帯SYNCED的會話信息,這樣針對TCP協(xié)議流就可以保證主設(shè)備和備份設(shè)備的會話信息的一致性。針對第二種情況將基于動態(tài)協(xié)議的動態(tài)端ロ狀態(tài)信息同步給備份設(shè)備。對于動態(tài)協(xié)議來說,假設(shè)基于動態(tài)端ロ的會話還未建立,但是包含動態(tài)端ロ的數(shù)據(jù)包已經(jīng)發(fā)送,此時發(fā)生了主備切換,那么再建立動態(tài)端ロ會話時,對端設(shè)備會因為沒有會話丟棄數(shù)據(jù)包。此時,我們采用trust_table表來記錄動態(tài)協(xié)議的動態(tài)端ロ狀態(tài)信息,并將該trust_table表也添加到待發(fā)送序列中,同步給備份設(shè)備?;谕话l(fā)明構(gòu)思,本發(fā)明實施例提供一種會話信息同步方法,該方法的流程如圖5所示,包括S50:高可用性系統(tǒng)中的備份設(shè)備與主設(shè)備建立UDP連接。步驟S10-S14是從主設(shè)備ー側(cè)講述會話信息同步方法的具體流程的,下面從備份設(shè)備ー側(cè)講述。S51:接收到主設(shè)備同步的會話信息后,向主設(shè)備反饋確認信息。S52:根據(jù)接收到的會話信息更新自身的會話信息。當(dāng)備份設(shè)備接收到主設(shè)備同步過來的會話信息后,就可以更新自身的會話信息了,當(dāng)發(fā)生主備切換后,備份設(shè)備可以直接接替主設(shè)備進行業(yè)務(wù)處理,這樣就實現(xiàn)了無縫切換,保證了用戶體驗。較佳的,上述SlO中的高可用性系統(tǒng)中的備份設(shè)備與主設(shè)備建立UDP連接之后,還包括以第一設(shè)定周期向主設(shè)備發(fā)送攜帯引擎當(dāng)前狀態(tài)的UDP單播心跳數(shù)據(jù)包;以及接收主設(shè)備以第一設(shè)定周期發(fā)送的UDP單播心跳數(shù)據(jù)包。具體的,上述S51中的接收到主設(shè)備同步的會話信息,向主設(shè)備反饋確認信息,具體包括將接收到的數(shù)據(jù)結(jié)構(gòu)體放入接收鏈表中,將接收鏈表中已接收指針指向已經(jīng)接收到的最后ー個數(shù)據(jù)結(jié)構(gòu)體的位置,將正在接收指針指向正在接收的數(shù)據(jù)結(jié)構(gòu)體的位置;當(dāng)接收到第三設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體時,向主設(shè)備反饋攜帶接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識的確認信息;其中,每個所述數(shù)據(jù)結(jié)構(gòu)體中存放設(shè)定條數(shù)的會話信息。如果主設(shè)備每次向備份設(shè)備發(fā)送100個數(shù)據(jù)結(jié)構(gòu)體,備份設(shè)備可以每接收到20個數(shù)據(jù)結(jié)構(gòu)體就向主設(shè)備反饋ー個確認信息。備份設(shè)備接收到的主設(shè)備同步過來的數(shù)據(jù)結(jié)構(gòu)體可以存儲在接收鏈表中。編碼標(biāo)識是備份設(shè)備接收到的數(shù)據(jù)結(jié)構(gòu)體的編號,例如,接收到的第一個數(shù)據(jù)結(jié)構(gòu)體的編號可以設(shè)置為I、第二個可以設(shè)置為2、依次類推。當(dāng)然也可以采用其他的標(biāo)號方式,這里不再贅述。備份設(shè)備將添加的編碼標(biāo)識添加到確認信息中發(fā)送給主設(shè)備。上述S12中的根據(jù)接收到的會話信息更新自身的會話信息之后,還包括將已處理指針指向已經(jīng)處理完的最后ー個數(shù)據(jù)結(jié)構(gòu)體的位置。如圖6所示為接收鏈表的結(jié)構(gòu),接收鏈表定義為ns_sync_recv_ring,初始化為ns_sync_recv_ring為1024*10個。鏈表由很多個ns_sync_pkt組成。當(dāng)系統(tǒng)初始化時初始化3個指針已接收指針alloc、正在接收指針cur、已處理指針send,其中cur指向當(dāng)前放在鏈表里的最后ー個ns_sync_pkt的位置;alloc指向正在放入鏈表的那個ns_sync_pkt的位置;send指向已經(jīng)處理完的最后一個ns_sync_pkt的位置。較佳的,上述會話信息同步方法,還包括主備切換前,不刪除僅攜帶第一標(biāo)識信息的會話信息;主備切換后,為接收到的數(shù)據(jù)結(jié)構(gòu)體中存放的沒有攜帯第二標(biāo)識信息的會話信息添加第二標(biāo)識信息;以及刪除攜帯第二標(biāo)識信息且存在時間超過設(shè)定時間的會話信o主備切換前,備份設(shè)備A不刪除僅攜帶第一標(biāo)識信息的會話信息的原理在前文已有介紹,這里不再贅述。當(dāng)主備切換后,備份設(shè)備A就變?yōu)橹髟O(shè)備A,再為該會話信息添加第ニ標(biāo)識信息ACTIVE,該會話信息就同時攜帶有SYNCED+ACTIVE,由于該會話信息攜帯第二標(biāo)識信息ACTIVE,所以主設(shè)備A可以刪除該會話信息;再次主備切換后,主設(shè)備A又變?yōu)閭浞菰O(shè)備A,該會話信息只攜帯第一標(biāo)識信息SYNCED,備份設(shè)備A就不能刪除該會話信息了。也就是說僅攜帯第一標(biāo)識信息SYNCED的會話信息是不允許超時刪除的,攜帯第二標(biāo)識信息ACTIVE的會話信息才允許超時刪除的。較佳的,上述會話信息同步方法,還包括接收主設(shè)備發(fā)送的基于動態(tài)協(xié)議的動態(tài)端ロ狀態(tài)信息并更新。這樣,當(dāng)主備切換過來以后,就可以根據(jù)trust_table表來記錄動態(tài)協(xié)議的動態(tài)端ロ狀態(tài)信息來接收數(shù)據(jù)包了?;谕话l(fā)明構(gòu)思,本發(fā)明實施例提供一種會話信息同步裝置,該裝置的結(jié)構(gòu)如圖7所示,包括連接單元70,用于確定自身所在的高可用性系統(tǒng)中的主設(shè)備和備份設(shè)備的心跳和引擎正常吋,與備份設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接。同步單元71,用于將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給備份設(shè)備。確定單元72,用于根據(jù)接收到備份設(shè)備反饋的確認信息,確定備份設(shè)備接收選取的會話信息后,轉(zhuǎn)向同步單元。具體的,上述連接單元70,具體用干主設(shè)備以第一設(shè)定周期向備份設(shè)備發(fā)送攜帶引擎當(dāng)前狀態(tài)的UDP單播心跳數(shù)據(jù)包;以及當(dāng)主設(shè)備在第二設(shè)定周期內(nèi)接收到備份設(shè)備以第一設(shè)定周期發(fā)送的UDP單播心跳數(shù)據(jù)包、并解析出備份設(shè)備引擎的當(dāng)前狀態(tài)為激活狀態(tài)時,確定自身和備份設(shè)備的心跳和引擎正常。具體的,上述同步單元71,具體用于將自身維護的會話信息以及實時產(chǎn)生的會話信息存放到數(shù)據(jù)結(jié)構(gòu)體中,將數(shù)據(jù)結(jié)構(gòu)體添加到發(fā)送鏈表中;在將會話信息存放到數(shù)據(jù)結(jié)構(gòu)體和將數(shù)據(jù)結(jié)構(gòu)體添加到發(fā)送鏈表的過程中,在發(fā)送鏈表中選取第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給備份設(shè)備;其中,每個數(shù)據(jù)結(jié)構(gòu)體中存放設(shè)定條數(shù)的會話信息,發(fā)送鏈表中的已存放指針指向已存放的最后ー個數(shù)據(jù)結(jié)構(gòu)體的位置、正在存放指針指向正在存放的數(shù)據(jù)結(jié)構(gòu)體的位置。具體的,上述同步單元71,具體用于將發(fā)送鏈表中從已發(fā)送指針未指過位置起的第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給備份設(shè)備;已發(fā)送指針指向已經(jīng)發(fā)送出去的最后ー個數(shù)據(jù)結(jié)構(gòu)體的位置。上述確定單元72,具體用干當(dāng)接收到備份設(shè)備反饋的確認信息時,解析確認信息中攜帯的接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識;其中,備份設(shè)備每接收到第二設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體反饋ー個確認信息,第二設(shè)定數(shù)目不大于第一設(shè)定數(shù)目;當(dāng)接收到的備份設(shè)備反饋的最后一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識與第一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識之差小于第一設(shè)定個數(shù)與I之差吋,向備份設(shè)備重新發(fā)送第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體;當(dāng)接收到的備份設(shè)備反饋的最后ー個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識信息與第一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識之差等于第一設(shè)定個數(shù)與I之差時,將確收指針指向已收到確認信息的最后ー個數(shù)據(jù)結(jié)構(gòu)體。一種優(yōu)選的會話信息同步裝置的結(jié)構(gòu)如圖8所示,該裝置除了如圖7所示的結(jié)構(gòu)夕卜,還包括管理単元73,用于為創(chuàng)建的每條會話添加第一標(biāo)識信息得到會話信息。較佳的,上述同步單元71,還用于將基于動態(tài)協(xié)議的動態(tài)端ロ狀態(tài)信息同步給備份設(shè)備。基于同一發(fā)明構(gòu)思,本發(fā)明實施例提供一種會話信息同步裝置,該裝置的結(jié)構(gòu)如圖9所示,包括連接單元90,用于自身所在的高可用性系統(tǒng)中的備份設(shè)備與主設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接。反饋單元91,用于接收到主設(shè)備同步的會話信息后,向主設(shè)備反饋確認信息。更新単元92,用于根據(jù)接收到的會話信息更新自身的會話信息。一種優(yōu)選的會話信息同步裝置的結(jié)構(gòu)如圖10所示,該裝置除了如圖9所示的結(jié)構(gòu)夕卜,還包括發(fā)送單元93,用于以第一設(shè)定周期向主設(shè)備發(fā)送攜帯引擎當(dāng)前狀態(tài)的UDP單播心跳數(shù)據(jù)包。接收單元94,用于接收主設(shè)備以第一設(shè)定周期發(fā)送的UDP單播心跳數(shù)據(jù)包。具體的,上述反饋單元91,具體用于將接收到的數(shù)據(jù)結(jié)構(gòu)體放入接收鏈表中,將接收鏈表中已接收指針指向已經(jīng)接收到的最后ー個數(shù)據(jù)結(jié)構(gòu)體的位置,將正在接收指針指向正在接收的數(shù)據(jù)結(jié)構(gòu)體的位置;當(dāng)接收到第三設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體吋,向主設(shè)備反饋攜帯接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識的確認信息;其中,每個數(shù)據(jù)結(jié)構(gòu)體中存放設(shè)定條數(shù)的會話信息。上述更新単元,還用于將已處理指針指向已經(jīng)處理完的最后ー個數(shù)據(jù)結(jié)構(gòu)體的位置。較佳的,如圖10所示,上述會話信息同步裝置還包括管理単元95,用于主備切換前,不刪除僅攜帶第一標(biāo)識信息的回話信息;主備切換后,為接收到的數(shù)據(jù)結(jié)構(gòu)體中存放的沒有攜帯第二標(biāo)識信息的會話信息添加所述第二標(biāo)識信息;以及刪除攜帯所述第二標(biāo)識信息且存在時間超過設(shè)定時間的會話信息。具體的,上述更新単元92,還用于接收主設(shè)備發(fā)送的基于動態(tài)協(xié)議的動態(tài)端ロ狀態(tài)信息并更新?;谕话l(fā)明構(gòu)思,本發(fā)明實施例提供一種會話信息同步裝置,該裝置的結(jié)構(gòu)包括如圖7和如圖9所示的會話信息同步裝置?;谕话l(fā)明構(gòu)思,本發(fā)明實施例提供一種會話信息同步系統(tǒng),包括至少ー個如圖7所示的會話信息同步裝置和至少ー個如圖9所示的會話信息同步裝置;或者至少ー個如圖9所示的會話信息同步裝置和至少ー個如圖11所示的會話信息同步裝置;或者至少ー個如圖7所示的會話信息同步裝置和至少ー個如圖11所示的會話信息同步裝置。下面說明會話信息同步系統(tǒng)中主備設(shè)備的工作流程,該系統(tǒng)的結(jié)構(gòu)如圖11所示,其中,會話信息同步系統(tǒng)包括主設(shè)備101和備份設(shè)備102??梢栽O(shè)置在主設(shè)備101中設(shè)置心跳模塊1010,也可以在備份設(shè)備102中設(shè)置心跳模塊1020,其中心跳模塊1010、1020都維護對端狀態(tài)標(biāo)記,當(dāng)對端心跳發(fā)生變化時,心跳模塊1010、1020會更新該標(biāo)記。同時引擎1011會輪詢心跳模塊1010中的標(biāo)記,引擎1021會輪循心跳模塊1020中的標(biāo)記,若引擎1011、1021發(fā)現(xiàn)各自輪詢的標(biāo)記發(fā)生變化時,會開始主動對自身的會話信息進行控制。當(dāng)主設(shè)備101確定自身和備份設(shè)備的心跳模塊和引擎正常時,與備份設(shè)備102建立UDP連接,之后的處理流程如圖12所示,在主設(shè)備101上會發(fā)生很多事件,注冊并處理這些事件后,會得到會話信息,將這些會話信息提交給發(fā)送鏈表,發(fā)送鏈表向備份設(shè)備102發(fā)送會話信息;備份設(shè)備102接收到主設(shè)備101同步的會話信息后,放入接收鏈表中,井向主設(shè)備101反饋確認信息,根據(jù)接收到的會話信息更新自身的會話信息;主設(shè)備101接收到備份設(shè)備101反饋的確認信息,就可以確定備份設(shè)備102接收到會話信息,然后可以繼續(xù)向備份設(shè)備102同步會話信息。該方案采用UDP連接和確認協(xié)議處理機制,這就可以確保備份設(shè)備可以及時接收到完整的會話信息,傳輸過程非??煽?;事件處理過程與會話信息同步過程處理過程完全分開,這就可以提高網(wǎng)絡(luò)安全系統(tǒng)的處理性能,并且備份設(shè)備接收的會話信息能夠及時更新,從而保證主備切換后業(yè)務(wù)不會中斷,延長了網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間;發(fā)送鏈表和接收鏈表采用循環(huán)鏈表結(jié)構(gòu),發(fā)送鏈表有4個指針,接收鏈表有3個指針,能夠異步處理數(shù)據(jù)結(jié)構(gòu)體,提高處理速度和實時性,從而保證網(wǎng)絡(luò)安全系統(tǒng)能夠可靠性地同步會話信息。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。權(quán)利要求1.一種會話信息同步方法,其特征在于,包括A、高可用性系統(tǒng)中的主設(shè)備確定自身和備份設(shè)備的心跳和引擎正常時,與所述備份設(shè)備建立用戶數(shù)據(jù)包協(xié)議m)P連接;B、將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給所述備份設(shè)備;C、根據(jù)接收到所述備份設(shè)備反饋的確認信息,確定所述備份設(shè)備接收所述選取的會話信息后,轉(zhuǎn)向步驟B。2.如權(quán)利要求I所述的方法,其特征在于,高可用性系統(tǒng)中的主設(shè)備確定自身和備份設(shè)備的心跳和引擎正常,具體包括所述主設(shè)備以第一設(shè)定周期向備份設(shè)備發(fā)送攜帶引擎當(dāng)前狀態(tài)的UDP單播心跳數(shù)據(jù)包;以及當(dāng)所述主設(shè)備在第二設(shè)定周期內(nèi)接收到所述備份設(shè)備以所述第一設(shè)定周期發(fā)送的UDP單播心跳數(shù)據(jù)包、并解析出所述備份設(shè)備引擎的當(dāng)前狀態(tài)為激活狀態(tài)時,確定自身和所述備份設(shè)備的心跳和引擎正常。3.如權(quán)利要求I所述的方法,其特征在于,將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給所述備份設(shè)備,具體包括將自身維護的會話信息以及實時產(chǎn)生的會話信息存放到數(shù)據(jù)結(jié)構(gòu)體中,將所述數(shù)據(jù)結(jié)構(gòu)體添加到發(fā)送鏈表中;在將會話信息存放到數(shù)據(jù)結(jié)構(gòu)體和將數(shù)據(jù)結(jié)構(gòu)體添加到發(fā)送鏈表的過程中,在所述發(fā)送鏈表中選取第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給所述備份設(shè)備;其中,每個所述數(shù)據(jù)結(jié)構(gòu)體中存放設(shè)定條數(shù)的會話信息,所述發(fā)送鏈表中的已存放指針指向已存放的最后一個數(shù)據(jù)結(jié)構(gòu)體的位置、正在存放指針指向正在存放的數(shù)據(jù)結(jié)構(gòu)體的位置。4.如權(quán)利要求3所述的方法,其特征在于,在所述發(fā)送鏈表中選取第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給所述備份設(shè)備,具體包括將所述發(fā)送鏈表中從已發(fā)送指針未指過位置起的第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給所述備份設(shè)備;所述已發(fā)送指針指向已經(jīng)發(fā)送出去的最后一個數(shù)據(jù)結(jié)構(gòu)體的位置;根據(jù)接收到所述備份設(shè)備反饋的確認信息,確定所述備份設(shè)備接收所述選取的會話信息,具體包括當(dāng)接收到所述備份設(shè)備反饋的確認信息時,解析所述確認信息中攜帶的接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識;其中,所述備份設(shè)備每接收到第二設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體反饋一個確認信息,所述第二設(shè)定數(shù)目不大于所述第一設(shè)定數(shù)目;當(dāng)接收到的所述備份設(shè)備反饋的最后一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識與第一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識之差小于所述第一設(shè)定個數(shù)與I之差時,向所述備份設(shè)備重新發(fā)送所述第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體;當(dāng)接收到的所述備份設(shè)備反饋的最后一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識信息與第一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識之差等于所述第一設(shè)定個數(shù)與I之差時,將確收指針指向所述已收到確認信息的最后一個數(shù)據(jù)結(jié)構(gòu)體。5.如權(quán)利要求I所述的方法,其特征在于,還包括為創(chuàng)建的每條會話添加第一標(biāo)識信息得到會話信息。6.如權(quán)利要求1-5任一所述的方法,其特征在于,還包括將基于動態(tài)協(xié)議的動態(tài)端口狀態(tài)信息同步給所述備份設(shè)備。7.一種會話信息同步方法,其特征在于,包括高可用性系統(tǒng)中的備份設(shè)備與主設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接;接收到所述主設(shè)備同步的會話信息后,向所述主設(shè)備反饋確認信息;根據(jù)接收到的會話信息更新自身的會話信息。8.如權(quán)利要求7所述的方法,其特征在于,高可用性系統(tǒng)中的備份設(shè)備與主設(shè)備建立UDP連接之后,還包括以第一設(shè)定周期向所述主設(shè)備發(fā)送攜帶引擎當(dāng)前狀態(tài)的UDP單播心跳數(shù)據(jù)包;以及接收所述主設(shè)備以所述第一設(shè)定周期發(fā)送的UDP單播心跳數(shù)據(jù)包。9.如權(quán)利要求7所述的方法,其特征在于,接收到所述主設(shè)備同步的會話信息,向所述主設(shè)備反饋確認信息,具體包括將接收到的數(shù)據(jù)結(jié)構(gòu)體放入接收鏈表中,將所述接收鏈表中已接收指針指向已經(jīng)接收到的最后一個數(shù)據(jù)結(jié)構(gòu)體的位置,將正在接收指針指向正在接收的數(shù)據(jù)結(jié)構(gòu)體的位置;其中,每個所述數(shù)據(jù)結(jié)構(gòu)體中存放設(shè)定條數(shù)的會話信息;當(dāng)接收到第三設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體時,向所述主設(shè)備反饋攜帶接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識的確認信息;根據(jù)接收到的會話信息更新自身的會話信息之后,還包括將已處理指針指向已經(jīng)處理完的最后一個數(shù)據(jù)結(jié)構(gòu)體的位置。10.如權(quán)利要求9所述的方法,其特征在于,還包括主備切換前,不刪除僅攜帶第一標(biāo)識信息的會話信息;主備切換后,為接收到的數(shù)據(jù)結(jié)構(gòu)體中存放的沒有攜帶第二標(biāo)識信息的會話信息添加所述第二標(biāo)識信息;以及刪除攜帶所述第二標(biāo)識信息且存在時間超過設(shè)定時間的會話信肩、O11.如權(quán)利要求7-10任一所述的方法,其特征在于,還包括接收所述主設(shè)備發(fā)送的基于動態(tài)協(xié)議的動態(tài)端口狀態(tài)信息并更新。12.—種會話信息同步裝置,其特征在于,包括連接單元,用于確定自身所在的高可用性系統(tǒng)中的主設(shè)備和備份設(shè)備的心跳和引擎正常時,與所述備份設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接;同步單元,用于將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給所述備份設(shè)備;確定單元,用于根據(jù)接收到所述備份設(shè)備反饋的確認信息,確定所述備份設(shè)備接收所述選取的會話信息后,轉(zhuǎn)向所述同步單元。13.如權(quán)利要求12所述的裝置,其特征在于,所述單元,具體用于所述主設(shè)備以第一設(shè)定周期向備份設(shè)備發(fā)送攜帶引擎當(dāng)前狀態(tài)的UDP單播心跳數(shù)據(jù)包;以及當(dāng)所述主設(shè)備在第二設(shè)定周期內(nèi)接收到所述備份設(shè)備以所述第一設(shè)定周期發(fā)送的UDP單播心跳數(shù)據(jù)包、并解析出所述備份設(shè)備引擎的當(dāng)前狀態(tài)為激活狀態(tài)時,確定自身和所述備份設(shè)備的心跳和引擎正常。14.如權(quán)利要求12所述的裝置,其特征在于,所述同步單元,具體用于將自身維護的會話信息以及實時產(chǎn)生的會話信息存放到數(shù)據(jù)結(jié)構(gòu)體中,將所述數(shù)據(jù)結(jié)構(gòu)體添加到發(fā)送鏈表中;在將會話信息存放到數(shù)據(jù)結(jié)構(gòu)體和將數(shù)據(jù)結(jié)構(gòu)體添加到發(fā)送鏈表的過程中,在所述發(fā)送鏈表中選取第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給所述備份設(shè)備;其中,每個所述數(shù)據(jù)結(jié)構(gòu)體中存放設(shè)定條數(shù)的會話信息,所述發(fā)送鏈表中的已存放指針指向已存放的最后一個數(shù)據(jù)結(jié)構(gòu)體的位置、正在存放指針指向正在存放的數(shù)據(jù)結(jié)構(gòu)體的位置。15.如權(quán)利要求14所述的裝置,其特征在于,所述同步單元,具體用于將所述發(fā)送鏈表中從已發(fā)送指針未指過位置起的第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體同步給所述備份設(shè)備;所述已發(fā)送指針指向已經(jīng)發(fā)送出去的最后一個數(shù)據(jù)結(jié)構(gòu)體的位置;所述確定單元,具體用于當(dāng)接收到所述備份設(shè)備反饋的確認信息時,解析所述確認信息中攜帶的接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識;其中,所述備份設(shè)備每接收到第二設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體反饋一個確認信息,所述第二設(shè)定數(shù)目不大于所述第一設(shè)定數(shù)目;當(dāng)接收到的所述備份設(shè)備反饋的最后一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識與第一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識之差小于所述第一設(shè)定個數(shù)與I之差時,向所述備份設(shè)備重新發(fā)送所述第一設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體;當(dāng)接收到的所述備份設(shè)備反饋的最后一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識信息與第一個接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識之差等于所述第一設(shè)定個數(shù)與I之差時,將確收指針指向所述已收到確認信息的最后一個數(shù)據(jù)結(jié)構(gòu)體。16.如權(quán)利要求12所述的裝置,其特征在于,還包括管理單元,用于為創(chuàng)建的每條會話添加第一標(biāo)識信息得到會話信息。17.如權(quán)利要求12-16任一所述的裝置,其特征在于,所述同步單元,還用于將基于動態(tài)協(xié)議的動態(tài)端口狀態(tài)信息同步給所述備份設(shè)備。18.—種會話信息同步裝置,其特征在于,包括連接單元,用于自身所在的高可用性系統(tǒng)中的備份設(shè)備與主設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接;反饋單元,用于接收到所述主設(shè)備同步的會話信息后,向所述主設(shè)備反饋確認信息;更新單元,用于根據(jù)接收到的會話信息更新自身的會話信息。19.如權(quán)利要求18所述的裝置,其特征在于,還包括發(fā)送單元,用于以第一設(shè)定周期向所述主設(shè)備發(fā)送攜帶引擎當(dāng)前狀態(tài)的UDP單播心跳數(shù)據(jù)包;接收單元,用于接收所述主設(shè)備以所述第一設(shè)定周期發(fā)送的UDP單播心跳數(shù)據(jù)包。20.如權(quán)利要求18所述的裝置,其特征在于,所述反饋單元,具體用于將接收到的數(shù)據(jù)結(jié)構(gòu)體放入接收鏈表中,將所述接收鏈表中已接收指針指向已經(jīng)接收到的最后一個數(shù)據(jù)結(jié)構(gòu)體的位置,將正在接收指針指向正在接收的數(shù)據(jù)結(jié)構(gòu)體的位置;其中,每個所述數(shù)據(jù)結(jié)構(gòu)體中存放設(shè)定條數(shù)的會話信息;當(dāng)接收到第三設(shè)定個數(shù)的數(shù)據(jù)結(jié)構(gòu)體時,向所述主設(shè)備反饋攜帶接收到的數(shù)據(jù)結(jié)構(gòu)體的編碼標(biāo)識的確認信息;所述更新單元,還用于將已處理指針指向已經(jīng)處理完的最后一個數(shù)據(jù)結(jié)構(gòu)體的位置。21.如權(quán)利要求20所述的裝置,其特征在于,還包括管理單元,用于主備切換前,不刪除僅攜帶第一標(biāo)識信息的回話信息;主備切換后,為接收到的數(shù)據(jù)結(jié)構(gòu)體中存放的沒有攜帶第二標(biāo)識信息的會話信息添加所述第二標(biāo)識信息;以及刪除攜帶所述第二標(biāo)識信息且存在時間超過設(shè)定時間的會話信肩、O22.如權(quán)利要求18-21任一所述的裝置,其特征在于,所述更新單元,還用于接收所述主設(shè)備發(fā)送的基于動態(tài)協(xié)議的動態(tài)端口狀態(tài)信息并更新。23.一種會話信息同步裝置,其特征在于,包括如權(quán)利要求12-17任一所述的會話信息同步裝置和如權(quán)利要求18-22任一所述的會話信息同步裝置。24.一種會話信息同步系統(tǒng),其特征在于,包括至少一個如權(quán)利要求12-17任一所述的會話信息同步裝置和至少一個如權(quán)利要求18-22任一所述的會話信息同步裝置;或者至少一個如權(quán)利要求12-17任一所述的會話信息同步裝置和至少一個如權(quán)利要求23所述的會話信息同步裝置;或者至少一個如權(quán)利要求18-22任一所述的會話信息同步裝置和至少一個如權(quán)利要求23所述的會話信息同步裝置。全文摘要本發(fā)明公開了一種會話信息同步方法、裝置以及系統(tǒng),該方法包括A、高可用性系統(tǒng)中的主設(shè)備確定自身和備份設(shè)備的心跳和引擎正常時,與所述備份設(shè)備建立用戶數(shù)據(jù)包協(xié)議UDP連接;B、將在自身維護的會話信息以及實時產(chǎn)生的會話信息中選取的會話信息同步給所述備份設(shè)備;C、根據(jù)接收到所述備份設(shè)備反饋的確認信息,確定所述備份設(shè)備接收所述選取的會話信息后,轉(zhuǎn)向步驟B。該方案可以實現(xiàn)準(zhǔn)確、可靠的將數(shù)據(jù)結(jié)構(gòu)體發(fā)送給備份設(shè)備,實現(xiàn)了無縫切換,延長了網(wǎng)絡(luò)安全系統(tǒng)的持續(xù)運行時間。文檔編號H04L29/06GK102769626SQ20121026254公開日2012年11月7日申請日期2012年7月26日優(yōu)先權(quán)日2012年7月26日發(fā)明者田翠翠,陳裕濤申請人:北京神州綠盟信息安全科技股份有限公司,北京神州綠盟科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
靖西县| 虎林市| 手游| 珲春市| 富阳市| 克东县| 抚宁县| 古丈县| 临汾市| 勐海县| 大宁县| 铜山县| 桐柏县| 南充市| 翁源县| 大余县| 庐江县| 永春县| 瓦房店市| 平陆县| 浦东新区| 西城区| 淅川县| 宝清县| 治县。| 商都县| 交城县| 浮山县| 濮阳县| 左贡县| 塔河县| 青州市| 襄汾县| 耒阳市| 镇远县| 保德县| 镇雄县| 枝江市| 安新县| 大同县| 泉州市|