專利名稱:適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法
適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法技術(shù)領(lǐng)域
本技術(shù)發(fā)明涉及軌道交通自動(dòng)化領(lǐng)域,尤其涉及分布式監(jiān)控系統(tǒng)領(lǐng)域,本技術(shù)發(fā)明可廣泛適用于電氣化鐵路和城市軌道交通各專業(yè)監(jiān)控系統(tǒng)以及綜合監(jiān)控系統(tǒng)等應(yīng)用。
背景技術(shù):
隨著計(jì)算機(jī)科學(xué)和自動(dòng)化技術(shù)的迅速發(fā)展,在軌道交通的各個(gè)領(lǐng)域,例如電氣化鐵路和城市地鐵等領(lǐng)域,監(jiān)控系統(tǒng)已經(jīng)從傳統(tǒng)的小型桌面系統(tǒng)向現(xiàn)代的分布式復(fù)雜系統(tǒng)發(fā)展,其控制的地域范圍,流程規(guī)模等都迅速增加。而且由于傳統(tǒng)方式采用的分立監(jiān)控系統(tǒng)模式,即存在信號(hào)、PSCADA (電力監(jiān)控)、BAS (環(huán)控)等多個(gè)獨(dú)立的監(jiān)控系統(tǒng)并各有專員進(jìn)行操作,具有運(yùn)營成本高,多個(gè)系統(tǒng)的信息難以共享等問題,集各子系統(tǒng)功能于一身的綜合監(jiān)控系統(tǒng)逐漸成為新的發(fā)展趨勢(shì)。在綜合監(jiān)控系統(tǒng)中,各個(gè)子系統(tǒng)通過集成或互聯(lián),實(shí)現(xiàn)由同一個(gè)上位系統(tǒng)進(jìn)行監(jiān)控,從而使得信息可以有效共享,并且減少工作量,降低運(yùn)營成本。不管是專業(yè)監(jiān)控系統(tǒng)還是綜合監(jiān)控系統(tǒng),現(xiàn)代監(jiān)控系統(tǒng)的控制規(guī)模、流程結(jié)構(gòu),工程構(gòu)架都遠(yuǎn)為復(fù)雜。這就對(duì)系統(tǒng)之間以及系統(tǒng)內(nèi)部的數(shù)據(jù)通訊提出了更高的要求,要求現(xiàn)代監(jiān)控系統(tǒng)的數(shù)據(jù)通訊應(yīng)當(dāng)兼具實(shí)時(shí)、高效、穩(wěn)定、健壯等特點(diǎn)。
為此,在現(xiàn)代監(jiān)控系統(tǒng)硬件配置上,數(shù)據(jù)的發(fā)送設(shè)備和接收設(shè)備間往往通過設(shè)立兩臺(tái)獨(dú)立的交換機(jī)等方法同時(shí)提供兩條獨(dú)立可用的通訊通道,從而實(shí)現(xiàn)硬件通訊設(shè)備的熱備雙冗余,以保障系統(tǒng)通訊硬件的可用性。
另一方面,目前監(jiān)控系統(tǒng)中的數(shù)據(jù)通訊軟件,通常又被稱為通訊規(guī)約,一般采用冷備的連接框架。也就是正常運(yùn)行僅基于一條通訊通道建立一條通訊連接用于傳輸數(shù)據(jù)。如果由于通訊故障導(dǎo)致通訊連接失效,那么再嘗試切換到另一條通訊通道重新建立一條新的通訊連接代替原來的連接傳輸數(shù)據(jù)。由于通訊故障的情況比較復(fù)雜,可能發(fā)生在通訊過程中的任何一個(gè)時(shí)刻,因此從發(fā)生通訊故障到重新建立通訊連接這一過程中,可能出現(xiàn)數(shù)據(jù)丟失的情況,也就是接收設(shè)備和發(fā)送設(shè)備之間出現(xiàn)了失步的狀況。為此,當(dāng)重新建立了有效連接之后,必須重新傳輸全部數(shù)據(jù)從而重新實(shí)現(xiàn)接收設(shè)備和發(fā)送設(shè)備的數(shù)據(jù)同步。當(dāng)數(shù)據(jù)量比較大的時(shí)候,例如在綜合監(jiān)控系統(tǒng)應(yīng)用中,重新同步意味著很大的通訊開銷,同時(shí)也可能延誤新產(chǎn)生數(shù)據(jù)的傳輸。特別是由于軌道交通的現(xiàn)場(chǎng)環(huán)境復(fù)雜,有些地方干擾嚴(yán)重,往往網(wǎng)絡(luò)狀況不穩(wěn)定,容易出現(xiàn)頻繁切換通訊通道的情況。在這種情況下,由于每次切換都需要重新建立連接,所以每次也都需要重新同步數(shù)據(jù),從而引起大量數(shù)據(jù)的重復(fù)傳輸,造成大量額外的通訊開銷,甚至可能嚴(yán)重延誤重要信號(hào)數(shù)據(jù)的正常傳輸,造成隱患。尤其在極端情況下,有可能因?yàn)檫^于頻繁的通訊通道切換,而出現(xiàn)通訊軟件卡死,造成系統(tǒng)癱瘓。
如果只是經(jīng)過短暫的通訊故障,然后在重新建立連接之后重新同步數(shù)據(jù),這時(shí)發(fā)送的數(shù)據(jù)大部分,甚至全部都是不需要的,因?yàn)樵谶@個(gè)過程中可能并沒有生成新的數(shù)據(jù)或者新生成的數(shù)據(jù)都被緩存在本地,實(shí)際上發(fā)送設(shè)備和接收設(shè)備之間并沒失步,因此這時(shí)也不需要重新同步。但是通訊故障的情況比較復(fù)雜,可能發(fā)生在通訊過程的任何時(shí)刻,而且當(dāng)通訊過程和本地?cái)?shù)據(jù)訪問交錯(cuò)進(jìn)行的時(shí)候,哪些數(shù)據(jù)已經(jīng)傳輸過就變得無法判斷,從而造3成難以有效判斷是否發(fā)生失步的局面,此時(shí)如果重新建立連接后不重新同步,而直接繼續(xù)傳輸數(shù)據(jù),不但有可能造成數(shù)據(jù)丟失,還有可能發(fā)生數(shù)據(jù)重復(fù),這就使得重新同步的過程以及由此帶來的額外通訊開銷不可避免。發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的問題,本發(fā)明提出一種適用于現(xiàn)代復(fù)雜監(jiān)控系統(tǒng)的重連接方法,通過引入數(shù)據(jù)庫領(lǐng)域中事務(wù)的概念,設(shè)定合理的事務(wù)類型和操作流程,有效的隔離數(shù)據(jù)處理和通訊處理的過程,并通過攜帶狀態(tài)標(biāo)識(shí)幫助判斷是否發(fā)生失步,從而避免重建連接后不必要的重新同步過程并顯著降低由此帶來的通訊開銷,提高通訊效率。并且因?yàn)樵诰W(wǎng)絡(luò)頻繁通斷時(shí)可以避免大量的重新同步過程,從而尤其適用于網(wǎng)絡(luò)不穩(wěn)定的環(huán)境。
本發(fā)明的技術(shù)方案為一種適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法,其特征在于將對(duì)一條連接的操作過程稱為一條控制流,所述控制流訪問的數(shù)據(jù)分為本地?cái)?shù)據(jù)、連接狀態(tài)數(shù)據(jù)、通訊數(shù)據(jù);控制流的每一個(gè)輪次均由兩個(gè)事務(wù)組成,通訊事務(wù)和數(shù)據(jù)事務(wù);控制流即為這種輪次的不斷循環(huán),如果一個(gè)輪次的通訊是正常的,那么當(dāng)這一輪次全部完成,也就是通訊事務(wù)和數(shù)據(jù)事務(wù)依次正確完成時(shí),控制流在通訊事務(wù)中成功的完成了上一個(gè)狀態(tài)的數(shù)據(jù)的發(fā)送以及應(yīng)答的接收,而連接狀態(tài)數(shù)據(jù)保持不變,并且通過完成數(shù)據(jù)事務(wù)而將本地?cái)?shù)據(jù)更新到下一個(gè)狀態(tài);如果在通訊事務(wù)中出現(xiàn)了問題,那么連接狀態(tài)數(shù)據(jù)將隨之做相應(yīng)的更新,但在同一個(gè)輪次接下來的數(shù)據(jù)事務(wù)中不允許修改任何本地?cái)?shù)據(jù), 本地?cái)?shù)據(jù)將保持為前一個(gè)狀態(tài)不變;當(dāng)通訊故障后一個(gè)有效的連接被重新建立,如果此時(shí)本地?cái)?shù)據(jù)狀態(tài)沒有發(fā)生變化,那么就可以確定本地并沒有失步,則接著剛才沒有變化的本地?cái)?shù)據(jù)狀態(tài)繼續(xù)傳輸數(shù)據(jù)即可。
上述的適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法,其進(jìn)一步特征在于所述本地?cái)?shù)據(jù),是控制流根據(jù)通訊收發(fā)的訊息和應(yīng)用需求而進(jìn)行處理的當(dāng)前應(yīng)用數(shù)據(jù)的集合;所述連接狀態(tài)數(shù)據(jù),用于表征控制流的當(dāng)前連接狀態(tài);所述通訊數(shù)據(jù),包括控制流依據(jù)本地?cái)?shù)據(jù)狀態(tài)生成的符合一定格式的待發(fā)送數(shù)據(jù)、接收到的待分析數(shù)據(jù)以及收發(fā)過程使用的一些暫存數(shù)據(jù)。
所述事務(wù)是由一組操作組成的一個(gè)不成分割的原子過程,即該過程中的所有操作要么全部完成,要么一個(gè)都不發(fā)生。所述數(shù)據(jù)事務(wù),完全由一組對(duì)本地?cái)?shù)據(jù)的操作組成,其中不涉及任何通訊操作,也就是在一個(gè)數(shù)據(jù)事務(wù)中不允許訪問任何通訊數(shù)據(jù)以及連接狀態(tài)數(shù)據(jù);所述通訊事務(wù),由數(shù)據(jù)準(zhǔn)備并發(fā)送——數(shù)據(jù)接受并分析——連接狀態(tài)更新這幾個(gè)步驟組成,在一個(gè)通訊事務(wù)過程中不允許訪問任何本地?cái)?shù)據(jù)。
上述的適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法,其進(jìn)一步特征在于對(duì)本地?cái)?shù)據(jù)的狀態(tài)進(jìn)行標(biāo)識(shí),采用循環(huán)遞增計(jì)數(shù),每一輪次傳輸數(shù)據(jù)的同時(shí)將本地?cái)?shù)據(jù)的狀態(tài)標(biāo)識(shí)攜帶傳輸,而對(duì)方只要比較連續(xù)兩次傳輸來的數(shù)據(jù)攜帶的狀態(tài)標(biāo)識(shí)是否相同就可以確定是否是重復(fù)的數(shù)據(jù);如果重復(fù),丟棄不處理即可。
當(dāng)原來的通訊連接因?yàn)橥ㄓ嵐收隙?,并且重新建立了有效的通訊連接之后, 接收方可以比較上次記錄下的狀態(tài)標(biāo)識(shí)和新接收到的狀態(tài)標(biāo)識(shí),如果一致,那么說明收到了重復(fù)的數(shù)據(jù),直接丟棄,下一次將是有效的數(shù)據(jù);如果連續(xù)遞增,那么說明收到的正好是需要的數(shù)據(jù)。這兩種情況下,都可以判斷沒有發(fā)生失步,不需要重新同步,直接繼續(xù)原先的通訊流程即可。
本發(fā)明的有益效果本發(fā)明提出一種適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)的通訊規(guī)約軟件的重連接方法,通過引入數(shù)據(jù)庫領(lǐng)域中事務(wù)的概念,將通訊數(shù)據(jù)和非通訊數(shù)據(jù)的操作完全隔離,并且設(shè)定合理的事務(wù)類型和操作流程,再通過添加和比較狀態(tài)標(biāo)識(shí),有效判斷發(fā)生通訊故障的通訊雙方在重新建立有效連接后是否發(fā)生失步,從而避免在未失步的情況下仍然進(jìn)行數(shù)據(jù)重新同步以及由此帶來的不必要的巨大通訊開銷。由于這種方式有助于在網(wǎng)絡(luò)頻繁通斷的情況下,盡可能減少不必要的數(shù)據(jù)同步,因而尤其適用于網(wǎng)絡(luò)狀況不穩(wěn)定的環(huán)^Mi ο
圖1為現(xiàn)有技術(shù)中的冷備連接工作流程圖。
圖2為本發(fā)明實(shí)施例的通訊事務(wù)流程示意圖。
圖3為本明實(shí)施例的控制流流程示意圖。
具體實(shí)施方式
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)闡述。
當(dāng)前監(jiān)控系統(tǒng)中的通訊軟件,通常又稱為通訊歸約,大多采用冷備連接方式。也就是正常運(yùn)行時(shí)僅基于一個(gè)可用的通訊通道建立一條連接用于傳輸通訊數(shù)據(jù)。如果發(fā)生通訊故障,則關(guān)閉原有的連接。切換到另一個(gè)通訊通道,建立一個(gè)新的連接,代替原有的連接傳輸數(shù)據(jù)。圖1是采用冷備連接方式的通訊規(guī)約軟件的流程示意圖。由于重新建立連接的時(shí)延比較大,這個(gè)過程中有可能丟失數(shù)據(jù),并且沒有辦法能夠有效幫助判斷是否發(fā)生了通訊數(shù)據(jù)的丟失,因此必須重新同步數(shù)據(jù),從而造成了巨大的額外通訊開銷。更為麻煩的是,在一次數(shù)據(jù)收發(fā)過程中有可能存在本地?cái)?shù)據(jù)的多次訪問操作,那么一旦在一次通訊過程中發(fā)生通訊故障,那么可能出現(xiàn)本地?cái)?shù)據(jù)的某些訪問操作已經(jīng)完成,而另一些則沒有完成,那么當(dāng)重新建立了有效的連接之后,不管數(shù)據(jù)傳輸是從本地?cái)?shù)據(jù)的訪問尚未開始還是本地?cái)?shù)據(jù)的訪問已經(jīng)全部完成的狀態(tài)繼續(xù),都會(huì)存在問題,前者會(huì)造成通訊數(shù)據(jù)重復(fù),后者則會(huì)造成通訊數(shù)據(jù)丟失。此時(shí),唯一的方法就是重新傳輸全部數(shù)據(jù),因此,重新同步的過程以及由此帶來的巨大的額外通訊開銷依然是不可避免的。
為了解決這一問題,必須能夠?qū)Ξ?dāng)前的狀態(tài)進(jìn)行表征,并且對(duì)是否發(fā)生失步進(jìn)行判斷。為了做到這一點(diǎn),這里通過引入數(shù)據(jù)庫的相關(guān)概念,對(duì)通訊程序的框架進(jìn)行規(guī)范和限制。首先,將對(duì)一條連接的操作過程稱為一條控制流,并將控制流訪問的數(shù)據(jù)按作用分為三類。
本地?cái)?shù)據(jù),也就是控制流根據(jù)通訊收發(fā)的訊息和應(yīng)用需求而進(jìn)行處理的當(dāng)前應(yīng)用數(shù)據(jù)的集合。這類數(shù)據(jù)的處理不涉及數(shù)據(jù)傳輸過程。
連接狀態(tài)數(shù)據(jù),用于表征控制流的當(dāng)前連接狀態(tài)。一旦當(dāng)前連接的狀態(tài)發(fā)生變化, 例如因?yàn)橥ㄓ嵐收隙?,或者重新連接成功而新建一個(gè)有效的連接,那么將更新連接狀態(tài)數(shù)據(jù)。
通訊數(shù)據(jù),這包擴(kuò)控制流依據(jù)本地?cái)?shù)據(jù)狀態(tài)生成的符合一定格式的待發(fā)送數(shù)據(jù)、 接收到的待分析數(shù)據(jù)以及收發(fā)過程使用的一些暫存數(shù)據(jù)等,主要用于保障數(shù)據(jù)傳輸?shù)恼_和高效。
如果控制流對(duì)這三類數(shù)據(jù)的訪問操作的順序沒有任何限制,訪問過程相互交錯(cuò)并且摻雜在一塊,那么一旦發(fā)生通訊故障,就沒有辦法清楚地區(qū)分哪些數(shù)據(jù)已經(jīng)被訪問過,哪些還沒有,也就不能確定是否發(fā)生了失步,以及重新建立連接后是否需要重新同步數(shù)據(jù)。為了解決這個(gè)問題,這里引入數(shù)據(jù)庫領(lǐng)域的事務(wù)的概念。事務(wù)是由一組操作組成的一個(gè)不成分割的原子過程,即該過程中的所有操作要么全部完成,要么一個(gè)都不發(fā)生。通過使用事務(wù)這個(gè)概念,可以對(duì)操作進(jìn)行劃分,并定義相應(yīng)的狀態(tài)。這里定義兩種事物類型。
數(shù)據(jù)事務(wù)。數(shù)據(jù)事務(wù)完全由一組對(duì)本地?cái)?shù)據(jù)的操作組成,其中不涉及任何通訊操作,也就是在一個(gè)數(shù)據(jù)事務(wù)中不允許訪問任何通訊數(shù)據(jù)以及連接狀態(tài)數(shù)據(jù)。
通訊事務(wù)。通訊事務(wù)由數(shù)據(jù)準(zhǔn)備并發(fā)送——數(shù)據(jù)接受并分析——連接狀態(tài)更新這幾個(gè)步驟組成,圖2是通訊事務(wù)的流程示意圖。其中前兩個(gè)步驟涉及一系列通訊數(shù)據(jù)操作, 而第三個(gè)步驟存在連接狀態(tài)數(shù)據(jù)的更新,同樣,在一個(gè)通訊事務(wù)過程中不允許訪問任何本地?cái)?shù)據(jù)。
規(guī)定控制流的每一個(gè)輪次均由兩個(gè)事務(wù)組成,首先是一個(gè)通訊事務(wù),然后是一個(gè)數(shù)據(jù)事務(wù)。而控制流即為這種輪次的不斷循環(huán)。如果一個(gè)輪次的通訊是正常的,那么當(dāng)這一輪次全部完成,也就是通訊事務(wù)和數(shù)據(jù)事務(wù)依次正確完成時(shí),控制流在通訊事務(wù)中成功的完成了上一個(gè)狀態(tài)的數(shù)據(jù)的發(fā)送以及應(yīng)答的接收,而連接狀態(tài)數(shù)據(jù)保持不變,并且通過完成數(shù)據(jù)事務(wù)而將本地?cái)?shù)據(jù)更新到下一個(gè)狀態(tài)。如果在通訊事務(wù)中出現(xiàn)了問題,例如通訊故障導(dǎo)致連接失效,那么連接狀態(tài)數(shù)據(jù)將隨之做相應(yīng)的更新,但在同一個(gè)輪次接下來的數(shù)據(jù)事務(wù)中不允許修改任何本地?cái)?shù)據(jù),本地?cái)?shù)據(jù)將保持為前一個(gè)狀態(tài)不變。這樣,通過把通訊數(shù)據(jù)和非通訊數(shù)據(jù)隔離,并以事務(wù)為單位進(jìn)行操作。保證了不管連接狀態(tài)是否發(fā)生變化,本地?cái)?shù)據(jù)要么處于上一個(gè)狀態(tài),要么更新為下一個(gè)狀態(tài),而不會(huì)處于更新中的一個(gè)中間狀態(tài)。 當(dāng)通訊故障后一個(gè)有效的連接被重新建立,如果此時(shí)本地?cái)?shù)據(jù)狀態(tài)沒有發(fā)生變化,并且通訊雙方都可以確認(rèn)這一點(diǎn),那么就可以確定雙方并沒有失步,因而不需要通過重新傳輸全部的數(shù)據(jù)來重新同步,只需要接著剛才沒有變化的本地?cái)?shù)據(jù)狀態(tài)繼續(xù)傳輸數(shù)據(jù)即可,此時(shí)傳輸?shù)恼强刂屏髟瓉韨鬏數(shù)珱]有傳輸成功的數(shù)據(jù)。也就相當(dāng)于重傳上一次的數(shù)據(jù)而已, 這就保證了連接重建的過程中沒有丟失數(shù)據(jù)。
這里還有兩個(gè)小問題,一方面由于通訊故障類型多樣,可能發(fā)生在發(fā)送數(shù)據(jù)的過程中,也可能發(fā)生在接收應(yīng)答的過程中。如果是發(fā)生在發(fā)送數(shù)據(jù)的過程中,對(duì)方尚未收到, 那么再次發(fā)送同樣的數(shù)據(jù),對(duì)于對(duì)方來說,就相當(dāng)于第一次發(fā)送一樣,沒有任何問題。但是如果發(fā)生在接收對(duì)方應(yīng)答的過程中,那么對(duì)方已經(jīng)收到了上次的數(shù)據(jù),再次發(fā)送就會(huì)導(dǎo)致收到重復(fù)的數(shù)據(jù),在沒有判別和應(yīng)對(duì)的情況下,就會(huì)進(jìn)而導(dǎo)致重復(fù)處理數(shù)據(jù)的問題。另一方面,雖然可以基于事務(wù)的概念定義數(shù)據(jù)狀態(tài),但是還必須通訊雙方有辦法確定狀態(tài)是否一致才能夠判斷是否發(fā)生了失步。不過考慮到現(xiàn)在本地?cái)?shù)據(jù)的操作具有原子性,要么處于處理前狀態(tài),要么處于處理完?duì)顟B(tài),不會(huì)處于中間狀態(tài),這兩個(gè)問題都變得很容易解決。一個(gè)有效的方法就是對(duì)本地?cái)?shù)據(jù)的狀態(tài)進(jìn)行標(biāo)識(shí),最簡(jiǎn)單的方式可以采用循環(huán)遞增計(jì)數(shù),當(dāng)然也可以采用其它方式,只要保證每一輪次本地?cái)?shù)據(jù)處理前和處理完的狀態(tài)標(biāo)識(shí)不同就可以了。每一輪次傳輸數(shù)據(jù)的同時(shí)將本地?cái)?shù)據(jù)的狀態(tài)標(biāo)識(shí)攜帶傳輸,而對(duì)方只要比較連續(xù)兩次傳輸來的數(shù)據(jù)攜帶的狀態(tài)標(biāo)識(shí)是否相同就可以確定是否是重復(fù)的數(shù)據(jù)。如果重復(fù),丟棄不處理即可。這樣就有效避免了重復(fù)處理數(shù)據(jù)的問題。
當(dāng)原來的通訊連接因?yàn)橥ㄓ嵐收隙?,并且重新建立了有效的通訊連接之后, 接收方可以比較上次記錄下的狀態(tài)標(biāo)識(shí)和新接收到的狀態(tài)標(biāo)識(shí),如果一致,那么說明收到了重復(fù)的數(shù)據(jù),直接丟棄,下一次將是有效的數(shù)據(jù);如果連續(xù)遞增,那么說明收到的正好是需要的數(shù)據(jù)。這兩種情況下,都沒有發(fā)生失步,不需要重新同步,直接繼續(xù)原先的通訊流程即可。而如果不是這兩種情況,那么確實(shí)發(fā)生了通訊失步,出現(xiàn)了通訊數(shù)據(jù)丟失,必須通過重新發(fā)送全部數(shù)據(jù)以實(shí)現(xiàn)數(shù)據(jù)同步。圖3是控制流流程的示意圖。
通過劃分事務(wù)并且對(duì)比狀態(tài)標(biāo)識(shí)的方法,在通訊出現(xiàn)故障并且重新建立通訊連接之后,可以有效地判斷通訊雙方是否發(fā)生了通訊失步,從而避免在未失步的情況下重新傳輸全部數(shù)據(jù)而帶來的不必要的巨大額外通訊開銷。特別是在網(wǎng)絡(luò)不穩(wěn)定的情況下,會(huì)出現(xiàn)頻繁通斷的狀況,如果每次故障后重新連接都需要重新同步數(shù)據(jù),那么頻繁同步數(shù)據(jù)帶來的通訊開銷幾乎是不可接受的,并且可能造成重要信息傳輸?shù)膰?yán)重延誤,埋下隱患。文中提出的這種重連接方式可以幫助避免這一狀況,從而非常適用于網(wǎng)絡(luò)狀況不好的環(huán)境。
本發(fā)明提出一種適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)的通訊規(guī)約的重連接方法,通過引入數(shù)據(jù)庫領(lǐng)域中事務(wù)的概念,將通訊數(shù)據(jù)和非通訊數(shù)據(jù)的操作完全隔離,并且設(shè)定合理的事務(wù)類型和操作流程,再通過添加和比較狀態(tài)標(biāo)識(shí),有效判斷發(fā)生通訊故障的通訊雙方在重新建立有效連接后是否發(fā)生失步,從而避免在未失步的情況下仍然進(jìn)行數(shù)據(jù)重新同步以及由此帶來的不必要的巨大通訊開銷。由于這種方式有助于在網(wǎng)絡(luò)頻繁通斷的情況下,盡可能減少不必要的數(shù)據(jù)同步,因而尤其適用于網(wǎng)絡(luò)狀況不穩(wěn)定的環(huán)境。
雖然本發(fā)明已以較佳實(shí)施例公開如上,但具體實(shí)施例和附圖并不是用來限定本發(fā)明,任何熟習(xí)此技藝者,在不脫離本發(fā)明之精神和范圍內(nèi),自當(dāng)可作各種變化或潤飾,但同樣在本發(fā)明的保護(hù)范圍之內(nèi)。因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以本申請(qǐng)的權(quán)利要求保護(hù)范圍所界定的為準(zhǔn)。
權(quán)利要求
1.一種適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法,其特征在于將對(duì)一條連接的操作過程稱為一條控制流,所述控制流訪問的數(shù)據(jù)分為本地?cái)?shù)據(jù)、連接狀態(tài)數(shù)據(jù)、通訊數(shù)據(jù);控制流的每一個(gè)輪次均由兩個(gè)事務(wù)組成,通訊事務(wù)和數(shù)據(jù)事務(wù);控制流即為這種輪次的不斷循環(huán),如果一個(gè)輪次的通訊是正常的,那么當(dāng)這一輪次全部完成,也就是通訊事務(wù)和數(shù)據(jù)事務(wù)依次正確完成時(shí),控制流在通訊事務(wù)中成功的完成了上一個(gè)狀態(tài)的數(shù)據(jù)的發(fā)送以及應(yīng)答的接收,而連接狀態(tài)數(shù)據(jù)保持不變,并且通過完成數(shù)據(jù)事務(wù)而將本地?cái)?shù)據(jù)更新到下一個(gè)狀態(tài);如果在通訊事務(wù)中出現(xiàn)了問題,那么連接狀態(tài)數(shù)據(jù)將隨之做相應(yīng)的更新,但在同一個(gè)輪次接下來的數(shù)據(jù)事務(wù)中不允許修改任何本地?cái)?shù)據(jù),本地?cái)?shù)據(jù)將保持為前一個(gè)狀態(tài)不變;當(dāng)通訊故障后一個(gè)有效的連接被重新建立,如果此時(shí)本地?cái)?shù)據(jù)狀態(tài)沒有發(fā)生變化,那么當(dāng)前本地并沒有失步,則接著剛才沒有變化的本地?cái)?shù)據(jù)狀態(tài)繼續(xù)傳輸數(shù)據(jù)即可。
2.根據(jù)權(quán)利要求1所述的適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法,其特征在于所述本地?cái)?shù)據(jù),也就是控制流根據(jù)通訊收發(fā)的訊息和應(yīng)用需求而進(jìn)行處理的當(dāng)前應(yīng)用數(shù)據(jù)的集合;所述連接狀態(tài)數(shù)據(jù),用于表征控制流的當(dāng)前連接狀態(tài);所述通訊數(shù)據(jù),包括控制流依據(jù)本地?cái)?shù)據(jù)狀態(tài)生成的符合一定格式的待發(fā)送數(shù)據(jù)、接收到的待分析數(shù)據(jù)以及收發(fā)過程使用的一些暫存數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法,其特征在于所述事務(wù)是由一組操作組成的一個(gè)不成分割的原子過程,即該過程中的所有操作要么全部完成,要么一個(gè)都不發(fā)生。
4.根據(jù)權(quán)利要求3所述的適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法,其特征在于所述數(shù)據(jù)事務(wù),完全由一組對(duì)本地?cái)?shù)據(jù)的操作組成,其中不涉及任何通訊操作,也就是在一個(gè)數(shù)據(jù)事務(wù)中不允許訪問任何通訊數(shù)據(jù)以及連接狀態(tài)數(shù)據(jù);所述通訊事務(wù),由數(shù)據(jù)準(zhǔn)備并發(fā)送——數(shù)據(jù)接受并分析——連接狀態(tài)更新這幾個(gè)步驟組成,在一個(gè)通訊事務(wù)過程中不允許訪問任何本地?cái)?shù)據(jù)。
5.根據(jù)權(quán)利要求1至4之一所述的適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法,其特征在于對(duì)本地?cái)?shù)據(jù)的狀態(tài)進(jìn)行標(biāo)識(shí),采用循環(huán)遞增計(jì)數(shù),每一輪次傳輸數(shù)據(jù)的同時(shí)將本地?cái)?shù)據(jù)的狀態(tài)標(biāo)識(shí)攜帶傳輸,而對(duì)方只要比較連續(xù)兩次傳輸來的數(shù)據(jù)攜帶的狀態(tài)標(biāo)識(shí)是否相同就可以確定是否是重復(fù)的數(shù)據(jù);如果重復(fù),丟棄不處理即可。
6.根據(jù)權(quán)利要求1至4之一所述的適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)通訊規(guī)約的重連接方法,其特征在于當(dāng)原來的通訊連接因?yàn)橥ㄓ嵐收隙?,并且重新建立了有效的通訊連接之后,接收方可以比較上次記錄下的狀態(tài)標(biāo)識(shí)和新接收到的狀態(tài)標(biāo)識(shí),如果一致,那么說明收到了重復(fù)的數(shù)據(jù),直接丟棄,下一次將是有效的數(shù)據(jù);如果連續(xù)遞增,那么說明收到的正好是需要的數(shù)據(jù);這兩種情況下,都可以判斷沒有發(fā)生失步,不需要重新同步,直接繼續(xù)原先的通訊流程即可。
全文摘要
本發(fā)明提出一種適用于軌道交通現(xiàn)代監(jiān)控系統(tǒng)的通訊規(guī)約軟件的重連接技術(shù),通過引入數(shù)據(jù)庫領(lǐng)域中事務(wù)的概念,將通訊數(shù)據(jù)和非通訊數(shù)據(jù)的操作完全隔離,并且設(shè)定合理的事務(wù)類型和操作流程,再通過添加和比較狀態(tài)標(biāo)識(shí),有效判斷發(fā)生通訊故障的通訊雙方在重新建立有效連接后是否發(fā)生失步,從而避免在未失步的情況下仍然進(jìn)行數(shù)據(jù)重新同步以及由此帶來的不必要的巨大通訊開銷。由于這種方式有助于在網(wǎng)絡(luò)頻繁通斷的情況下,盡可能減少不必要的數(shù)據(jù)同步,因而尤其適用于網(wǎng)絡(luò)狀況不穩(wěn)定的環(huán)境。
文檔編號(hào)G05B9/03GK102508430SQ20111029531
公開日2012年6月20日 申請(qǐng)日期2011年9月29日 優(yōu)先權(quán)日2011年9月29日
發(fā)明者戴宏斌 申請(qǐng)人:南京國電南自軌道交通工程有限公司