一種地鐵調(diào)度通信的信息傳輸分發(fā)方法
【專利摘要】本發(fā)明公開了一種地鐵調(diào)度通信的信息傳輸分發(fā)方法,包括服務(wù)端和客戶端,其中服務(wù)端包括服務(wù)端數(shù)據(jù)接收模塊、服務(wù)端數(shù)據(jù)處理模塊、服務(wù)端數(shù)據(jù)發(fā)送模塊、服務(wù)端參數(shù)配置模塊、服務(wù)端鏈路管理模塊、服務(wù)端異常處理模塊,客戶端包括客戶端數(shù)據(jù)接收模塊、客戶端數(shù)據(jù)處理模塊、客戶端數(shù)據(jù)發(fā)送模塊、客戶端參數(shù)配置模塊;本發(fā)明為地鐵通信中的數(shù)據(jù)交互提供一個(gè)安全、透明的數(shù)據(jù)傳輸通道,并結(jié)合數(shù)據(jù)類型及數(shù)據(jù)傳輸包的大小,決定其分發(fā)的優(yōu)先級(jí);用于保障多個(gè)調(diào)度臺(tái)、與CAD服務(wù)器、集中網(wǎng)管間的數(shù)據(jù)傳輸問(wèn)題。通過(guò)使用本發(fā)明提出的方法可以方便實(shí)現(xiàn)地鐵無(wú)線通信系統(tǒng)中數(shù)據(jù)的正確、有效傳輸。
【專利說(shuō)明】一種地鐵調(diào)度通信的信息傳輸分發(fā)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)據(jù)傳輸分發(fā)領(lǐng)域,具體涉及一種地鐵調(diào)度通信的信息傳輸分發(fā)方 法。
【背景技術(shù)】
[0002] 無(wú)線寬帶集群作為一種無(wú)線專用調(diào)度通信系統(tǒng),因其具備大帶寬、高速率,可傳輸 語(yǔ)音、數(shù)據(jù)、圖像、視頻等能力,在交通運(yùn)輸、電力、物流等行業(yè)的指揮調(diào)度中發(fā)揮了重要作 用。
[0003] 地鐵中的無(wú)線通信系統(tǒng)通常采用傳統(tǒng)的TERA集群完成所有的調(diào)度功能,但是隨 著地鐵列車安全、地鐵現(xiàn)場(chǎng)監(jiān)控等需求的提出,對(duì)視頻在內(nèi)的多媒體集群通信能力有著十 分迫切的需求;但傳統(tǒng)的接入技術(shù)難以同時(shí)滿足寬帶多媒體和移動(dòng)通信兩方面的技術(shù)要 求,為此業(yè)界開發(fā)了寬帶無(wú)線接入技術(shù)。
[0004] 為滿足用戶對(duì)高質(zhì)量通話、高速寬帶上網(wǎng)的訴求,LTE技術(shù)采用了 0FDM,ΜΜ0,自 適應(yīng)調(diào)制編碼及混合自動(dòng)重傳等技術(shù),在20MHZ頻譜帶寬下能夠提供下行150Mbps與上行 75Mbps的峰值速率,同時(shí)在改善小區(qū)邊緣用戶的性能、提高小區(qū)容量和降低系統(tǒng)延遲等方 面都有顯著提升。經(jīng)歷了近5年的研究,LTE技術(shù)目前已經(jīng)成為一個(gè)成熟的寬帶無(wú)線技術(shù), 在全球范圍內(nèi),已得到了廣泛的應(yīng)用,整個(gè)LTE產(chǎn)業(yè)鏈已經(jīng)相對(duì)成熟。隨著我國(guó)采用TD-LTE 機(jī)制后的服務(wù)端條地鐵無(wú)線通信系統(tǒng)建設(shè)后,各地地鐵都在不斷研制基于TD-LTE地鐵無(wú) 線通信調(diào)度系統(tǒng)。在不久的將來(lái),隨著LTE技術(shù)的完善和國(guó)產(chǎn)化的推進(jìn),地鐵無(wú)線通信調(diào)度 系統(tǒng)使用TD-LTE是勢(shì)在必行。 傳統(tǒng)的地鐵調(diào)度系統(tǒng)中主要是基于tetra臺(tái)的,數(shù)據(jù)內(nèi)容單一,且數(shù)據(jù)量不大;由于 TD-LTE最大的數(shù)據(jù)是視頻數(shù)據(jù),而tetra主要是話音數(shù)據(jù),在TD-LTE中,視頻數(shù)據(jù)占據(jù)大量 的傳輸通道。因此,為了保障系統(tǒng)數(shù)據(jù)傳輸?shù)陌踩?、穩(wěn)定,基于TD-LTE的地鐵無(wú)線通信系統(tǒng) 必須單獨(dú)考慮數(shù)據(jù)的傳輸分發(fā)問(wèn)題,這些問(wèn)題都成為目前地鐵通信中急需要解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問(wèn)題是:針對(duì)現(xiàn)有技術(shù)的缺陷,提供一種地鐵調(diào)度通信的 信息傳輸分發(fā)方法,為地鐵通信中的數(shù)據(jù)交互提供一個(gè)安全、透明的數(shù)據(jù)傳輸通道,并結(jié)合 優(yōu)先級(jí)及數(shù)據(jù)傳輸包的大小,決定其分發(fā)的優(yōu)先級(jí);用于保障多個(gè)調(diào)度臺(tái)、與CAD服務(wù)器、 集中網(wǎng)管間的數(shù)據(jù)傳輸問(wèn)題。通過(guò)使用本發(fā)明提出的方法可以方便實(shí)現(xiàn)地鐵無(wú)線通信系統(tǒng) 中數(shù)據(jù)的正確、有效傳輸。
[0006] 本發(fā)明為解決上述技術(shù)問(wèn)題采用以下技術(shù)方案: 一種地鐵調(diào)度通信的信息傳輸分發(fā)方法,所述方法的系統(tǒng)架構(gòu)包括服務(wù)端和客戶端, 其中服務(wù)端包括服務(wù)端數(shù)據(jù)接收模塊、服務(wù)端數(shù)據(jù)處理模塊、服務(wù)端數(shù)據(jù)發(fā)送模塊、服務(wù)端 參數(shù)配置模塊、服務(wù)端鏈路管理模塊、服務(wù)端異常處理模塊,客戶端包括客戶端數(shù)據(jù)接收模 塊、客戶端數(shù)據(jù)處理模塊、客戶端數(shù)據(jù)發(fā)送模塊、客戶端參數(shù)配置模塊; 服務(wù)端異常處理模塊; 服務(wù)端的信息處理方法包括如下步驟: 步驟101 :服務(wù)端中將各個(gè)數(shù)據(jù)類型和每個(gè)數(shù)據(jù)類型相對(duì)應(yīng)的客戶端設(shè)立對(duì)應(yīng)關(guān)系 表,創(chuàng)建數(shù)據(jù)類型的映射表; 步驟102 :服務(wù)端啟動(dòng)服務(wù)端數(shù)據(jù)接收模塊,接收來(lái)自客戶端的數(shù)據(jù); 步驟103 :服務(wù)端的服務(wù)端數(shù)據(jù)接收模塊接收到客戶端發(fā)送的數(shù)據(jù)后,將數(shù)據(jù)發(fā)送給 服務(wù)端數(shù)據(jù)處理模塊,服務(wù)端數(shù)據(jù)處理模塊首先對(duì)數(shù)據(jù)進(jìn)行異常檢測(cè),若數(shù)據(jù)異常,將數(shù)據(jù) 丟棄后,重新進(jìn)行數(shù)據(jù)接收; 步驟104 :服務(wù)端數(shù)據(jù)處理模塊判斷接收到的數(shù)據(jù)正常時(shí),計(jì)算數(shù)據(jù)的大小,并分析接 收到數(shù)據(jù)的數(shù)據(jù)類型; 步驟105 :服務(wù)端數(shù)據(jù)處理模塊查詢服務(wù)端中預(yù)設(shè)的數(shù)據(jù)類型的映射表,查找與該數(shù) 據(jù)類型所對(duì)應(yīng)的客戶端; 步驟106 :服務(wù)端數(shù)據(jù)處理模塊根據(jù)客戶端訂閱的數(shù)據(jù)格式,進(jìn)行數(shù)據(jù)處理。
[0007] 步驟107 :數(shù)據(jù)處理后,遞交到發(fā)送隊(duì)列。
[0008] 步驟108 :服務(wù)端數(shù)據(jù)發(fā)送模塊數(shù)據(jù)發(fā)送的優(yōu)先級(jí)和發(fā)送方式,從發(fā)送隊(duì)列提取 數(shù)據(jù)發(fā)送。
[0009] 步驟109 :發(fā)送完后,記錄發(fā)送日志到日志文件。
[0010] 客戶端的信息處理方法包括如下步驟: 步驟201 :客戶端的客戶端數(shù)據(jù)接收模塊接收來(lái)自本機(jī)應(yīng)用程序和客戶端的數(shù)據(jù)。
[0011] 步驟202 :客戶端數(shù)據(jù)接收模塊將接收的數(shù)據(jù)發(fā)送到客戶端數(shù)據(jù)處理模塊,客戶 端數(shù)據(jù)處理模塊對(duì)接收到數(shù)據(jù)進(jìn)行數(shù)據(jù)處理。
[0012] 步驟203 :數(shù)據(jù)處理后,遞交到發(fā)送隊(duì)列。
[0013] 步驟204 :客戶端數(shù)據(jù)發(fā)送模塊根據(jù)數(shù)據(jù)發(fā)送的優(yōu)先級(jí),從發(fā)送隊(duì)列提取數(shù)據(jù)發(fā) 送。
[0014] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟108中提到的數(shù)據(jù)發(fā)送的優(yōu)先級(jí)計(jì)算方 法如下: 步驟1801 :所述數(shù)據(jù)類型包括:ats信息、時(shí)鐘信息、心跳信息、視頻信息、呼叫請(qǐng)求、控 制命令、用戶登錄、用戶操作、短信和該地鐵調(diào)度通信中出現(xiàn)的其余所有類型的數(shù)據(jù)信息; 數(shù)據(jù)類型記為T,針對(duì)上述的數(shù)據(jù)類型,其T值分別賦值:0. 2,0. 1,0. 1,0. 7,0. 8,0. 9,0. 2, 0· 2,0· 2 和 0· 1 ; 步驟1802 :數(shù)據(jù)的大小記為L(zhǎng),L的取值依據(jù)收到的數(shù)據(jù)包的大小確定,將數(shù)據(jù)包的大 小定義了 10個(gè)區(qū)間,即數(shù)據(jù)包長(zhǎng)度小于30個(gè)字節(jié)、大于30個(gè)字節(jié)且小于60個(gè)字節(jié)、大于 60個(gè)字節(jié)且小于90個(gè)字節(jié)、大于90個(gè)字節(jié)且小于120個(gè)字節(jié)、大于120個(gè)字節(jié)且小于150 個(gè)字節(jié)、大于150個(gè)字節(jié)且小于180個(gè)字節(jié)、大于180個(gè)字節(jié)且小于210個(gè)字節(jié)、大于210個(gè) 字節(jié)且小于240個(gè)字節(jié)、大于240個(gè)字節(jié)且小于270個(gè)字節(jié)、大于270個(gè)字節(jié);對(duì)應(yīng)這10個(gè) 區(qū)間的數(shù)據(jù)包大小,分別定義數(shù)據(jù)包大小L的取值為0. 1,0. 2,0. 3,0. 4,0. 5,0. 6,0. 7,0. 8, 0. 9,1 ; 步驟1803 :數(shù)據(jù)發(fā)送優(yōu)先級(jí)記為P,P= (L+T) /2, P值越大,數(shù)據(jù)發(fā)送的優(yōu)先級(jí)越大。
[0015] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟108中數(shù)據(jù)發(fā)送方式包括TCP傳輸方式 和UDP傳輸方式,根據(jù)數(shù)據(jù)的類型確定,服務(wù)端預(yù)先設(shè)有數(shù)據(jù)類型與數(shù)據(jù)發(fā)送方式的映射 表: 使用TCP傳輸方式的數(shù)據(jù)類型: 用戶登錄、呼叫請(qǐng)求、視頻信息、控制命令、短信; 使用UDP傳輸方式的數(shù)據(jù)類型: ats信息、時(shí)鐘信息、心跳信息、呼叫請(qǐng)求、用戶操作和該地鐵調(diào)度通信中出現(xiàn)的其余所 有類型的數(shù)據(jù)信息。
[0016] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述客戶端為行車調(diào)度臺(tái)、維修調(diào)度臺(tái)、防災(zāi)調(diào)度 臺(tái)、車輛段調(diào)度臺(tái)、CAD服務(wù)器主機(jī)或CAD服務(wù)器備機(jī)或集中網(wǎng)管。
[0017] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述服務(wù)端異常處理模塊采用的數(shù)據(jù)異常檢測(cè)方 法如下: 客戶端發(fā)送的數(shù)據(jù)長(zhǎng)度為k位,客戶端數(shù)據(jù)發(fā)送模塊利用CRC16生成規(guī)則產(chǎn)生個(gè)校驗(yàn) 用的r位校驗(yàn)碼,客戶端數(shù)據(jù)發(fā)送模塊將要發(fā)送的k位的信息和r位校驗(yàn)碼拼接一起,形成 一個(gè)新的信息串共k+r位,然后將k+r位的信息串發(fā)送出去; 服務(wù)端數(shù)據(jù)接收模塊接受完數(shù)據(jù)后,根據(jù)發(fā)送時(shí)生成CRC校驗(yàn)碼相同的規(guī)則進(jìn)行檢 驗(yàn)。校驗(yàn)時(shí)采用計(jì)算機(jī)的模二除法,除數(shù)和生成多項(xiàng)式做異或運(yùn)算,進(jìn)行異或運(yùn)算時(shí)除數(shù)和 被除數(shù)最高位對(duì)齊,進(jìn)行按位異或運(yùn)算,若最終的數(shù)據(jù)能被除盡,則傳輸正確;否則,傳輸錯(cuò) 誤。
[0018] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,客戶端發(fā)送的數(shù)據(jù)長(zhǎng)度為k位,客戶端數(shù)據(jù)發(fā)送 模塊利用所述信息傳輸分發(fā)方法中,使用環(huán)形鏈?zhǔn)疥?duì)列作為網(wǎng)絡(luò)數(shù)據(jù)的接收和發(fā)送隊(duì)列, 所述環(huán)形鏈?zhǔn)疥?duì)列包括環(huán)形隊(duì)列及保存環(huán)形隊(duì)列指針的數(shù)組,其中: 所述環(huán)形隊(duì)列用于保存發(fā)送或接收到的數(shù)據(jù),通過(guò)環(huán)形隊(duì)列的頭指針和尾指針對(duì)數(shù)據(jù) 進(jìn)行訪問(wèn),其中頭指針指向可以讀的位置,尾指針指向可以寫的位置,環(huán)形隊(duì)列構(gòu)成一個(gè)首 尾相連、先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu); 所述保存環(huán)形隊(duì)列指針的數(shù)組用于保存記錄環(huán)形隊(duì)列的指針,通過(guò)該指針訪問(wèn)與該指 針對(duì)應(yīng)的環(huán)形隊(duì)列; 數(shù)據(jù)發(fā)送時(shí),將發(fā)送的數(shù)據(jù)保存至在一個(gè)環(huán)形隊(duì)列中,通過(guò)數(shù)據(jù)中存放的指針訪問(wèn)每 一個(gè)環(huán)形隊(duì)列,數(shù)據(jù)的訪問(wèn)從環(huán)形隊(duì)列的第一個(gè)位置開始,當(dāng)數(shù)據(jù)的訪問(wèn)進(jìn)行到環(huán)形隊(duì)列 的尾部時(shí),通過(guò)取模操作轉(zhuǎn)回到環(huán)形隊(duì)列的0位置繼續(xù)進(jìn)行。
[0019] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,客戶端發(fā)送的數(shù)據(jù)長(zhǎng)度為k位,客戶端數(shù)據(jù)發(fā)送 模塊利用判斷所述環(huán)形隊(duì)列為空還是為滿的方法包括: 方法一、增加標(biāo)志位tag,當(dāng)頭指針趕上尾指針時(shí),隊(duì)列為空,標(biāo)志位tag=0,當(dāng)尾指針 趕上頭指針時(shí),隊(duì)列為滿,標(biāo)志位tag=l ; 方法二、限制尾指針趕上頭指針,在環(huán)形隊(duì)列的隊(duì)尾結(jié)點(diǎn)與隊(duì)首結(jié)點(diǎn)之間至少留有一 個(gè)元素的空間,當(dāng)頭指針處的頭指針==尾指針時(shí),隊(duì)列為空;當(dāng)(尾指針+1)% MAXN ==頭 指針時(shí),隊(duì)列為滿。
[0020] 本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果: 第一、本發(fā)明可以明確業(yè)務(wù)系統(tǒng)與傳輸系統(tǒng)的分工,利于系統(tǒng)的調(diào)度和故障的診斷; 第二、本發(fā)明在業(yè)務(wù)系統(tǒng)之間負(fù)責(zé)數(shù)據(jù)的傳輸和分發(fā),并根據(jù)數(shù)據(jù)的優(yōu)等級(jí)定義數(shù) 據(jù)發(fā)送的緊急程度,有效避免數(shù)據(jù)等待發(fā)送引起的系統(tǒng)問(wèn)題,保障系統(tǒng)數(shù)據(jù)的傳輸?shù)姆€(wěn)定 性; 第三、本發(fā)明方法中利用客戶端和服務(wù)端相結(jié)合的方式,客戶端負(fù)責(zé)本機(jī)應(yīng)用程序的 數(shù)據(jù)接收和發(fā)送,服務(wù)端負(fù)責(zé)各客戶端間數(shù)據(jù)的接收和發(fā)送,分工明確,并且在服務(wù)端增加 對(duì)有效數(shù)據(jù)的檢測(cè),減少冗余數(shù)據(jù)占用傳輸通道的情況,保障傳輸數(shù)據(jù)的可靠性。
【專利附圖】
【附圖說(shuō)明】
[0021] 圖1是本發(fā)明的模塊示意圖; 圖2是本發(fā)明服務(wù)端信息處理流程圖; 圖3是本發(fā)明客戶端信息處理流程圖; 圖4是環(huán)形鏈?zhǔn)疥?duì)列結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0022] 下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說(shuō)明: 本發(fā)明公開一種地鐵調(diào)度通信的信息傳輸分發(fā)方法,本方法主要是采用C/S體系架 構(gòu),如圖1所示,服務(wù)端包括服務(wù)端數(shù)據(jù)接收模塊、服務(wù)端數(shù)據(jù)處理模塊、服務(wù)端數(shù)據(jù)發(fā)送 模塊、服務(wù)端參數(shù)配置模塊、服務(wù)端鏈路管理模塊、服務(wù)端異常處理模塊,客戶端包括客戶 端數(shù)據(jù)接收模塊、客戶端數(shù)據(jù)處理模塊、客戶端數(shù)據(jù)發(fā)送模塊、客戶端參數(shù)配置模塊。
[0023] 服務(wù)端完成數(shù)據(jù)的接收、數(shù)據(jù)處理、數(shù)據(jù)發(fā)送、鏈路管理、異常處理和參數(shù)配置???戶端完成數(shù)據(jù)的接收、數(shù)據(jù)處理、數(shù)據(jù)發(fā)送、參數(shù)配置工作。
[0024] 在服務(wù)端,服務(wù)端數(shù)據(jù)接收模塊負(fù)責(zé)接收來(lái)自客戶端的數(shù)據(jù),對(duì)接收的數(shù)據(jù)進(jìn)行 格式轉(zhuǎn)換;服務(wù)端數(shù)據(jù)處理模塊將接收到的數(shù)據(jù),根據(jù)數(shù)據(jù)類型,解析出數(shù)據(jù)內(nèi)容,并重新 封裝新的數(shù)據(jù)格式,待發(fā)送出去;服務(wù)端數(shù)據(jù)發(fā)送模塊是將處理后的數(shù)據(jù)根據(jù)目的節(jié)點(diǎn)的 地址,將數(shù)據(jù)發(fā)送過(guò)去;服務(wù)端鏈路管理模塊負(fù)責(zé)實(shí)時(shí)管理服務(wù)端與各客戶端之間的網(wǎng)絡(luò) 鏈路的狀況。服務(wù)端異常處理模塊負(fù)責(zé)數(shù)據(jù)的合法性檢查,對(duì)錯(cuò)誤或不正常數(shù)據(jù)進(jìn)行處理; 服務(wù)端參數(shù)配置模塊負(fù)責(zé)配置與傳輸相關(guān)的數(shù)據(jù)類型、傳輸協(xié)議、優(yōu)先級(jí)定義和鏈路狀態(tài) 信息。
[0025] 在客戶端,客戶端數(shù)據(jù)接收模塊負(fù)責(zé)接收來(lái)自服務(wù)端的數(shù)據(jù)和來(lái)自本機(jī)應(yīng)用程序 的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換;客戶端數(shù)據(jù)處理模塊負(fù)責(zé)將接收到的數(shù)據(jù)根據(jù)數(shù)據(jù)類型 解析出數(shù)據(jù)內(nèi)容,并重新封裝新的數(shù)據(jù)格式;客戶端數(shù)據(jù)發(fā)送模塊負(fù)責(zé)將來(lái)自應(yīng)用程序的 數(shù)據(jù)發(fā)送到服務(wù)端,并將來(lái)自服務(wù)端的數(shù)據(jù)發(fā)送到本機(jī)應(yīng)用程序;客戶端參數(shù)配置模塊負(fù) 責(zé)端用戶配置數(shù)據(jù)類型。
[0026] 服務(wù)端的信息處理方法包括如下步驟,如圖2所示: 步驟101 :服務(wù)端中將各個(gè)數(shù)據(jù)類型和每個(gè)數(shù)據(jù)類型相對(duì)應(yīng)的客戶端設(shè)立對(duì)應(yīng)關(guān)系 表,創(chuàng)建數(shù)據(jù)類型的映射表; 步驟102 :服務(wù)端啟動(dòng)服務(wù)端數(shù)據(jù)接收模塊,接收來(lái)自客戶端的數(shù)據(jù); 步驟103 :服務(wù)端的服務(wù)端數(shù)據(jù)接收模塊接收到客戶端發(fā)送的數(shù)據(jù)后,將數(shù)據(jù)發(fā)送給 服務(wù)端數(shù)據(jù)處理模塊,服務(wù)端數(shù)據(jù)處理模塊首先對(duì)數(shù)據(jù)進(jìn)行異常檢測(cè),若數(shù)據(jù)異常,將數(shù)據(jù) 丟棄后,重新進(jìn)行數(shù)據(jù)接收; 步驟104 :服務(wù)端數(shù)據(jù)處理模塊判斷接收到的數(shù)據(jù)正常時(shí),計(jì)算數(shù)據(jù)的大小,并分析接 收到數(shù)據(jù)的數(shù)據(jù)類型; 步驟105 :服務(wù)端數(shù)據(jù)處理模塊查詢服務(wù)端中預(yù)設(shè)的數(shù)據(jù)類型的映射表,查找與該數(shù) 據(jù)類型所對(duì)應(yīng)的客戶端; 步驟106 :服務(wù)端數(shù)據(jù)處理模塊根據(jù)客戶端訂閱的數(shù)據(jù)格式,進(jìn)行數(shù)據(jù)處理。
[0027] 步驟107 :數(shù)據(jù)處理后,遞交到發(fā)送隊(duì)列。
[0028] 步驟108 :服務(wù)端數(shù)據(jù)發(fā)送模塊數(shù)據(jù)發(fā)送的優(yōu)先級(jí)和發(fā)送方式,從發(fā)送隊(duì)列提取 數(shù)據(jù)發(fā)送。
[0029] 步驟109 :發(fā)送完后,記錄發(fā)送日志到日志文件。
[0030] 客戶端的信息處理方法包括如下步驟,如圖3所示: 步驟201 :客戶端的客戶端數(shù)據(jù)接收模塊接收來(lái)自本機(jī)應(yīng)用程序和客戶端的數(shù)據(jù)。
[0031] 步驟202 :客戶端數(shù)據(jù)接收模塊將接收的數(shù)據(jù)發(fā)送到客戶端數(shù)據(jù)處理模塊,客戶 端數(shù)據(jù)處理模塊對(duì)接收到數(shù)據(jù)進(jìn)行數(shù)據(jù)處理。
[0032] 步驟203 :數(shù)據(jù)處理后,遞交到發(fā)送隊(duì)列。
[0033] 步驟204 :客戶端數(shù)據(jù)發(fā)送模塊根據(jù)數(shù)據(jù)發(fā)送的優(yōu)先級(jí),從發(fā)送隊(duì)列提取數(shù)據(jù)發(fā) 送。
[0034] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟108中提到的數(shù)據(jù)發(fā)送的優(yōu)先級(jí)計(jì)算方 法如下: 步驟1801 :所述數(shù)據(jù)類型包括:ats信息、時(shí)鐘信息、心跳信息、視頻信息、呼叫請(qǐng)求、控 制命令、用戶登錄、用戶操作、短信和該地鐵調(diào)度通信中出現(xiàn)的其余所有類型的數(shù)據(jù)信息; 數(shù)據(jù)類型記為T,針對(duì)上述的數(shù)據(jù)類型,其T值分別賦值:0. 2,0. 1,0. 1,0. 7,0. 8,0. 9,0. 2, 0· 2,0· 2 和 0· 1 ; 步驟1802 :數(shù)據(jù)的大小記為L(zhǎng),L的取值依據(jù)收到的數(shù)據(jù)包的大小確定,將數(shù)據(jù)包的大 小定義了 10個(gè)區(qū)間,即數(shù)據(jù)包長(zhǎng)度小于30個(gè)字節(jié)、大于30個(gè)字節(jié)且小于60個(gè)字節(jié)、大于 60個(gè)字節(jié)且小于90個(gè)字節(jié)、大于90個(gè)字節(jié)且小于120個(gè)字節(jié)、大于120個(gè)字節(jié)且小于150 個(gè)字節(jié)、大于150個(gè)字節(jié)且小于180個(gè)字節(jié)、大于180個(gè)字節(jié)且小于210個(gè)字節(jié)、大于210個(gè) 字節(jié)且小于240個(gè)字節(jié)、大于240個(gè)字節(jié)且小于270個(gè)字節(jié)、大于270個(gè)字節(jié);對(duì)應(yīng)這10個(gè) 區(qū)間的數(shù)據(jù)包大小,分別定義數(shù)據(jù)包大小L的取值為0. 1,0. 2,0. 3,0. 4,0. 5,0. 6,0. 7,0. 8, 0. 9,1 ; 步驟1803 :數(shù)據(jù)發(fā)送優(yōu)先級(jí)記為P,P= (L+T) /2, P值越大,數(shù)據(jù)發(fā)送的優(yōu)先級(jí)越大。
[0035] 數(shù)據(jù)發(fā)送的策略主要設(shè)定的數(shù)據(jù)發(fā)送方式,是udp還是tcp方式發(fā)送。Udp發(fā)送時(shí) 可以是廣播方式或組播方式發(fā)送。
[0036] TCP是面向連接的端對(duì)端的可靠傳輸?shù)耐ㄐ艆f(xié)議,通過(guò)三次握手建立連接,數(shù)據(jù)傳 輸里需要確認(rèn)回復(fù)后才能進(jìn)行下一條數(shù)據(jù)的傳輸,且可以采用一種稱為"滑動(dòng)窗口"的方式 進(jìn)行流量控制,限制發(fā)送方的發(fā)送速度。通訊完成時(shí)要拆除連接。
[0037] UDP是面向無(wú)連接的不可靠的傳輸通訊協(xié)議,UDP數(shù)據(jù)包括目的端口號(hào)和源端口 號(hào)信息,由于通訊不需要連接,所以可以實(shí)現(xiàn)廣播發(fā)送。
[0038] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟108中數(shù)據(jù)發(fā)送方式包括TCP傳輸方式 和UDP傳輸方式,根據(jù)數(shù)據(jù)的類型確定,服務(wù)端預(yù)先設(shè)有數(shù)據(jù)類型與數(shù)據(jù)發(fā)送方式的映射 表: 使用TCP傳輸方式的數(shù)據(jù)類型: 用戶登錄、呼叫請(qǐng)求、視頻信息、控制命令、短信; 使用UDP傳輸方式的數(shù)據(jù)類型: ats信息、時(shí)鐘信息、心跳信息、呼叫請(qǐng)求、用戶操作和該地鐵調(diào)度通信中出現(xiàn)的其余所 有類型的數(shù)據(jù)信息。
[0039] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述客戶端為行車調(diào)度臺(tái)、維修調(diào)度臺(tái)、防災(zāi)調(diào)度 臺(tái)、車輛段調(diào)度臺(tái)、CAD服務(wù)器主機(jī)或CAD服務(wù)器備機(jī)或集中網(wǎng)管。
[0040] 為了避免一些干擾以及在接收端的對(duì)讀取的數(shù)據(jù)進(jìn)行判斷是否接受的是真實(shí)的 數(shù)據(jù),這時(shí)我們就要加上CRC校驗(yàn)碼,來(lái)判斷接收的數(shù)據(jù)是否正確。作為本發(fā)明的進(jìn)一步優(yōu) 化方案,所述服務(wù)端異常處理模塊采用的數(shù)據(jù)異常檢測(cè)方法如下: 客戶端發(fā)送的數(shù)據(jù)長(zhǎng)度為k位,客戶端數(shù)據(jù)發(fā)送模塊利用CRC16生成規(guī)則產(chǎn)生個(gè)校驗(yàn) 用的r位校驗(yàn)碼,客戶端數(shù)據(jù)發(fā)送模塊將要發(fā)送的k位的信息和r位校驗(yàn)碼拼接一起,形成 一個(gè)新的信息串共k+r位,然后將k+r位的信息串發(fā)送出去; 服務(wù)端數(shù)據(jù)接收模塊接受完數(shù)據(jù)后,根據(jù)發(fā)送時(shí)生成CRC校驗(yàn)碼相同的規(guī)則進(jìn)行檢 驗(yàn)。校驗(yàn)時(shí)采用計(jì)算機(jī)的模二除法,除數(shù)和生成多項(xiàng)式做異或運(yùn)算,進(jìn)行異或運(yùn)算時(shí)除數(shù)和 被除數(shù)最高位對(duì)齊,進(jìn)行按位異或運(yùn)算,若最終的數(shù)據(jù)能被除盡,則傳輸正確;否則,傳輸錯(cuò) 誤。
[0041] 作為本發(fā)明的進(jìn)一步優(yōu)化方案,客戶端發(fā)送的數(shù)據(jù)長(zhǎng)度為k位,客戶端數(shù)據(jù)發(fā)送 模塊利用所述信息傳輸分發(fā)方法中,使用環(huán)形鏈?zhǔn)疥?duì)列作為網(wǎng)絡(luò)數(shù)據(jù)的接收和發(fā)送隊(duì)列, 所述環(huán)形鏈?zhǔn)疥?duì)列包括環(huán)形隊(duì)列及保存環(huán)形隊(duì)列指針的數(shù)組,其中: 所述環(huán)形隊(duì)列用于保存發(fā)送或接收到的數(shù)據(jù),通過(guò)環(huán)形隊(duì)列的頭指針和尾指針對(duì)數(shù)據(jù) 進(jìn)行訪問(wèn),其中頭指針指向可以讀的位置,尾指針指向可以寫的位置,環(huán)形隊(duì)列構(gòu)成一個(gè)首 尾相連、先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu); 所述保存環(huán)形隊(duì)列指針的數(shù)組用于保存記錄環(huán)形隊(duì)列的指針,通過(guò)該指針訪問(wèn)與該指 針對(duì)應(yīng)的環(huán)形隊(duì)列; 數(shù)據(jù)發(fā)送時(shí),將發(fā)送的數(shù)據(jù)保存至在一個(gè)環(huán)形隊(duì)列中,通過(guò)數(shù)據(jù)中存放的指針訪問(wèn)每 一個(gè)環(huán)形隊(duì)列,數(shù)據(jù)的訪問(wèn)從環(huán)形隊(duì)列的第一個(gè)位置開始,當(dāng)數(shù)據(jù)的訪問(wèn)進(jìn)行到環(huán)形隊(duì)列 的尾部時(shí),通過(guò)取模操作轉(zhuǎn)回到環(huán)形隊(duì)列的0位置繼續(xù)進(jìn)行。
[0042] 如圖4所示,作為本發(fā)明的進(jìn)一步優(yōu)化方案,客戶端發(fā)送的數(shù)據(jù)長(zhǎng)度為k位,客戶 端數(shù)據(jù)發(fā)送模塊利用判斷所述環(huán)形隊(duì)列為空還是為滿的方法包括: 方法一、增加標(biāo)志位tag,當(dāng)頭指針趕上尾指針時(shí),隊(duì)列為空,標(biāo)志位tag=0,當(dāng)尾指針 趕上頭指針時(shí),隊(duì)列為滿,標(biāo)志位tag=l ; 方法二、限制尾指針趕上頭指針,在環(huán)形隊(duì)列的隊(duì)尾結(jié)點(diǎn)與隊(duì)首結(jié)點(diǎn)之間至少留有一 個(gè)元素的空間,當(dāng)頭指針處的頭指針==尾指針時(shí),隊(duì)列為空;當(dāng)(尾指針+1)% MAXN ==頭 指針時(shí),隊(duì)列為滿。
[0043] 上面結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式作了詳細(xì)說(shuō)明,但是本發(fā)明并不限于上述實(shí)施 方式,在本領(lǐng)域普通技術(shù)人員所具備的知識(shí)范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下 做出各種變化。
【權(quán)利要求】
1. 一種地鐵調(diào)度通信的信息傳輸分發(fā)方法,其特征在于:所述方法的系統(tǒng)架構(gòu)包括服 務(wù)端和客戶端,其中服務(wù)端包括服務(wù)端數(shù)據(jù)接收模塊、服務(wù)端數(shù)據(jù)處理模塊、服務(wù)端數(shù)據(jù)發(fā) 送模塊、服務(wù)端參數(shù)配置模塊、服務(wù)端鏈路管理模塊、服務(wù)端異常處理模塊,客戶端包括客 戶端數(shù)據(jù)接收模塊、客戶端數(shù)據(jù)處理模塊、客戶端數(shù)據(jù)發(fā)送模塊、客戶端參數(shù)配置模塊; 服務(wù)端鏈路管理模塊負(fù)責(zé)實(shí)時(shí)管理服務(wù)端與各客戶端之間的網(wǎng)絡(luò)鏈路的狀況; 服務(wù)端異常處理模塊采用數(shù)據(jù)異常檢測(cè)方法檢測(cè)數(shù)據(jù)的合法性檢查,對(duì)錯(cuò)誤或不正常 數(shù)據(jù)進(jìn)行處理;服務(wù)端參數(shù)配置模塊負(fù)責(zé)配置與傳輸所需的數(shù)據(jù)類型、傳輸協(xié)議、優(yōu)先級(jí)定 義和鏈路狀態(tài)信息; 客戶端參數(shù)配置模塊負(fù)責(zé)客戶端用戶配置數(shù)據(jù)類型; 服務(wù)端的信息處理方法包括如下步驟: 步驟101 :服務(wù)端中將各個(gè)數(shù)據(jù)類型和每個(gè)數(shù)據(jù)類型相對(duì)應(yīng)的發(fā)送策略設(shè)立對(duì)應(yīng)關(guān)系 表,同時(shí)根據(jù)客戶端訂閱的數(shù)據(jù)類型創(chuàng)建數(shù)據(jù)類型與客戶端的映射表; 步驟102 :服務(wù)端啟動(dòng)服務(wù)端數(shù)據(jù)接收模塊,接收來(lái)自客戶端的數(shù)據(jù); 步驟103 :服務(wù)端的服務(wù)端數(shù)據(jù)接收模塊接收到客戶端發(fā)送的數(shù)據(jù)后,將數(shù)據(jù)發(fā)送給 服務(wù)端數(shù)據(jù)處理模塊,服務(wù)端數(shù)據(jù)處理模塊首先對(duì)數(shù)據(jù)進(jìn)行異常檢測(cè),若數(shù)據(jù)異常,將數(shù)據(jù) 丟棄后,重新進(jìn)行數(shù)據(jù)接收; 步驟104 :服務(wù)端數(shù)據(jù)處理模塊判斷接收到的數(shù)據(jù)正常時(shí),計(jì)算數(shù)據(jù)的大小,并分析接 收到數(shù)據(jù)的數(shù)據(jù)類型; 步驟105 :服務(wù)端數(shù)據(jù)處理模塊查詢服務(wù)端中建立的數(shù)據(jù)類型與客戶端映射表,查找 與該數(shù)據(jù)類型所對(duì)應(yīng)的客戶端; 步驟106 :服務(wù)端數(shù)據(jù)處理模塊根據(jù)客戶端訂閱的數(shù)據(jù)類型,進(jìn)行數(shù)據(jù)處理; 步驟107 :數(shù)據(jù)處理后,遞交到發(fā)送隊(duì)列; 步驟108 :服務(wù)端數(shù)據(jù)發(fā)送模塊數(shù)據(jù)發(fā)送的優(yōu)先級(jí)和發(fā)送方式,從發(fā)送隊(duì)列提取數(shù)據(jù) 發(fā)送; 步驟109 :發(fā)送完后,記錄發(fā)送日志到日志文件; 客戶端的信息處理方法包括如下步驟: 客戶端通過(guò)參數(shù)配置,完成對(duì)本客戶端所需要的數(shù)據(jù)類型的訂閱; 步驟201 :客戶端的客戶端數(shù)據(jù)接收模塊接收來(lái)自本機(jī)應(yīng)用程序和客戶端的數(shù)據(jù); 步驟202 :客戶端數(shù)據(jù)接收模塊將接收的數(shù)據(jù)發(fā)送到客戶端數(shù)據(jù)處理模塊,客戶端數(shù) 據(jù)處理模塊對(duì)接收到數(shù)據(jù)進(jìn)行數(shù)據(jù)處理; 步驟203 :數(shù)據(jù)處理后,遞交到發(fā)送隊(duì)列; 步驟204 :客戶端數(shù)據(jù)發(fā)送模塊根據(jù)數(shù)據(jù)發(fā)送的優(yōu)先級(jí),從發(fā)送隊(duì)列提取數(shù)據(jù)發(fā)送。
2. 根據(jù)權(quán)利要求1所述的一種地鐵調(diào)度通信的信息傳輸分發(fā)方法,其特征在于:所述 步驟108中提到的數(shù)據(jù)發(fā)送的優(yōu)先級(jí)計(jì)算方法如下: 步驟1801 :所述數(shù)據(jù)類型包括:ats信息、時(shí)鐘信息、心跳信息、視頻信息、呼叫請(qǐng)求、控 制命令、用戶登錄、用戶操作、短信和該地鐵調(diào)度通信中出現(xiàn)的其余所有類型的數(shù)據(jù)信息; 將數(shù)據(jù)類型記為T,針對(duì)上述的數(shù)據(jù)類型,其T值分別賦值:0. 2,0. 1,0. 1,0. 7,0. 8,0. 9, 0· 2,0· 2,0· 2 和 0· 1 ; 步驟1802 :數(shù)據(jù)的大小記為L(zhǎng),L的取值依據(jù)收到的數(shù)據(jù)包的大小確定,將數(shù)據(jù)包的大 小定義了 10個(gè)區(qū)間,即數(shù)據(jù)包長(zhǎng)度小于30個(gè)字節(jié)、大于30個(gè)字節(jié)且小于60個(gè)字節(jié)、大于 60個(gè)字節(jié)且小于90個(gè)字節(jié)、大于90個(gè)字節(jié)且小于120個(gè)字節(jié)、大于120個(gè)字節(jié)且小于150 個(gè)字節(jié)、大于150個(gè)字節(jié)且小于180個(gè)字節(jié)、大于180個(gè)字節(jié)且小于210個(gè)字節(jié)、大于210個(gè) 字節(jié)且小于240個(gè)字節(jié)、大于240個(gè)字節(jié)且小于270個(gè)字節(jié)、大于270個(gè)字節(jié);對(duì)應(yīng)這10個(gè) 區(qū)間的數(shù)據(jù)包大小,分別定義數(shù)據(jù)包大小L的取值為0. 1,0. 2,0. 3,0. 4,0. 5,0. 6,0. 7,0. 8, 0. 9,1 ; 步驟1803 :數(shù)據(jù)發(fā)送優(yōu)先級(jí)記為P,P= (L+T) /2, P值越大,數(shù)據(jù)發(fā)送的優(yōu)先級(jí)越大。
3. 根據(jù)權(quán)利要求1或2所述的一種地鐵調(diào)度通信的信息傳輸分發(fā)方法,其特征在于: 所述步驟108中數(shù)據(jù)發(fā)送方式包括TCP傳輸方式和UDP傳輸方式,根據(jù)數(shù)據(jù)的類型確定,月艮 務(wù)端預(yù)先設(shè)有數(shù)據(jù)類型與數(shù)據(jù)發(fā)送方式的映射表: 使用TCP傳輸方式的數(shù)據(jù)類型: 用戶登錄、呼叫請(qǐng)求、視頻信息、控制命令、短信; 使用UDP傳輸方式的數(shù)據(jù)類型: ats信息、時(shí)鐘信息、心跳信息、呼叫請(qǐng)求、用戶操作和該地鐵調(diào)度通信中出現(xiàn)的其余所 有類型的數(shù)據(jù)信息。
4. 根據(jù)權(quán)利要求3所述的一種地鐵調(diào)度通信的信息傳輸分發(fā)方法,其特征在于:所述 客戶端為行車調(diào)度臺(tái)、維修調(diào)度臺(tái)、防災(zāi)調(diào)度臺(tái)、車輛段調(diào)度臺(tái)、CAD服務(wù)器主機(jī)或CAD服務(wù) 器備機(jī)或集中網(wǎng)管。
5. 根據(jù)權(quán)利要求4所述的一種地鐵調(diào)度通信的信息傳輸分發(fā)方法,其特征在于:所述 服務(wù)端異常處理模塊采用的數(shù)據(jù)異常檢測(cè)方法如下: 客戶端發(fā)送的數(shù)據(jù)長(zhǎng)度為k位,客戶端數(shù)據(jù)發(fā)送模塊利用CRC16生成規(guī)則產(chǎn)生個(gè)校驗(yàn) 用的r位校驗(yàn)碼,客戶端數(shù)據(jù)發(fā)送模塊將要發(fā)送的k位的信息和r位校驗(yàn)碼拼接一起,形成 一個(gè)新的信息串共k+r位,然后將k+r位的信息串發(fā)送出去; 服務(wù)端數(shù)據(jù)接收模塊接受完數(shù)據(jù)后,根據(jù)發(fā)送時(shí)生成CRC校驗(yàn)碼相同的規(guī)則進(jìn)行檢 驗(yàn); 校驗(yàn)時(shí)采用計(jì)算機(jī)的模二除法,除數(shù)和生成多項(xiàng)式做異或運(yùn)算,進(jìn)行異或運(yùn)算時(shí)除數(shù) 和被除數(shù)最高位對(duì)齊,進(jìn)行按位異或運(yùn)算,若最終的數(shù)據(jù)能被除盡,則傳輸正確;否則,傳輸 錯(cuò)誤。
6. 根據(jù)權(quán)利要求5所述的一種地鐵調(diào)度通信的信息傳輸分發(fā)方法,其特征在于:所述 信息傳輸分發(fā)方法中,使用環(huán)形鏈?zhǔn)疥?duì)列作為網(wǎng)絡(luò)數(shù)據(jù)的接收和發(fā)送隊(duì)列,所述環(huán)形鏈?zhǔn)?隊(duì)列包括環(huán)形隊(duì)列及保存環(huán)形隊(duì)列指針的數(shù)組,其中 : 所述環(huán)形隊(duì)列用于保存發(fā)送或接收到的數(shù)據(jù),通過(guò)環(huán)形隊(duì)列的頭指針和尾指針對(duì)數(shù)據(jù) 進(jìn)行訪問(wèn),其中頭指針指向可以讀的位置,尾指針指向可以寫的位置,環(huán)形隊(duì)列構(gòu)成一個(gè)首 尾相連、先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu); 所述保存環(huán)形隊(duì)列指針的數(shù)組用于保存記錄環(huán)形隊(duì)列的指針,通過(guò)該指針訪問(wèn)與該指 針對(duì)應(yīng)的環(huán)形隊(duì)列; 數(shù)據(jù)發(fā)送時(shí),將發(fā)送的數(shù)據(jù)保存至在一個(gè)環(huán)形隊(duì)列中,通過(guò)數(shù)據(jù)中存放的指針訪問(wèn)每 一個(gè)環(huán)形隊(duì)列,數(shù)據(jù)的訪問(wèn)從環(huán)形隊(duì)列的第一個(gè)位置開始,當(dāng)數(shù)據(jù)的訪問(wèn)進(jìn)行到環(huán)形隊(duì)列 的尾部時(shí),通過(guò)取模操作轉(zhuǎn)回到環(huán)形隊(duì)列的0位置繼續(xù)進(jìn)行。
7.根據(jù)權(quán)利要求6所述的一種地鐵調(diào)度通信的信息傳輸分發(fā)方法,其特征在于,判斷 所述環(huán)形隊(duì)列為空還是為滿的方法包括: 方法一、增加標(biāo)志位tag,當(dāng)頭指針趕上尾指針時(shí),隊(duì)列為空,標(biāo)志位tag=0,當(dāng)尾指針 趕上頭指針時(shí),隊(duì)列為滿,標(biāo)志位tag=l ; 方法二、限制尾指針趕上頭指針,在環(huán)形隊(duì)列的隊(duì)尾結(jié)點(diǎn)與隊(duì)首結(jié)點(diǎn)之間至少留有一 個(gè)元素的空間,當(dāng)頭指針處的頭指針==尾指針時(shí),隊(duì)列為空;當(dāng)(尾指針+1)% MAXN ==頭 指針時(shí),隊(duì)列為滿。
【文檔編號(hào)】H04L12/863GK104158625SQ201410396551
【公開日】2014年11月19日 申請(qǐng)日期:2014年8月13日 優(yōu)先權(quán)日:2014年8月13日
【發(fā)明者】于淑萍, 李文鋒 申請(qǐng)人:南京鐵道職業(yè)技術(shù)學(xué)院