亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

異步socket通訊方法及采用該方法的手機(jī)定位系統(tǒng)的制作方法

文檔序號:7716052閱讀:147來源:國知局
專利名稱:異步socket通訊方法及采用該方法的手機(jī)定位系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,尤其涉及異步socket通訊及應(yīng)用該方法的手機(jī)定位系統(tǒng)。
背景技術(shù)
通信技術(shù)日異月新,特別是無線通訊技術(shù),在現(xiàn)如今信息產(chǎn)業(yè)突飛猛進(jìn)的發(fā)展時 期,顯得尤為重要。而對于無線通訊技術(shù)的應(yīng)用,自然也成為科技發(fā)展的重要方向,其中,無 線通訊用來進(jìn)行定位是現(xiàn)在乃至今后的一個重要的應(yīng)用。另,隨著網(wǎng)絡(luò)通訊技術(shù)的發(fā)展,socket通訊的應(yīng)用越來越廣泛,如何保證socket 正常通訊而數(shù)據(jù)不丟失,在網(wǎng)絡(luò)震蕩情況下如何保證通訊是一個非常重要的問題。采用同步socket,在網(wǎng)絡(luò)情況不太好的情況下會引起消息阻塞,發(fā)生通訊異常; 如果不加入列表,通訊服務(wù)器模塊停止,還沒有發(fā)送的消息就會丟失;如果消息列表的太 小,而導(dǎo)致列表滿消息阻塞,線程一直處于等待消息也會阻塞。在無線定位技術(shù)中,由于很多情況都比較特殊,例如網(wǎng)絡(luò)中斷、堵塞等,所以,滿足 特殊情況的無線定位技術(shù)尤為重要。有鑒于此,如何提供一種異步socket通訊方法及采用該方法的手機(jī)定位系統(tǒng),來 減少上述弊端已成為業(yè)界亟待解決的技術(shù)問題。

發(fā)明內(nèi)容
本發(fā)明的一目的在于提供一種異步socket通訊方法,傳輸數(shù)據(jù)完整,不會流失數(shù) 據(jù);加快通訊傳輸速度;保證在網(wǎng)絡(luò)不穩(wěn)定的情況下,socket消息隊(duì)列不會阻塞。本發(fā)明的一目的在于提供一種采用異步socket通訊的手機(jī)定位系統(tǒng),能夠應(yīng)對 網(wǎng)絡(luò)出現(xiàn)不穩(wěn)定的特殊狀況。為了達(dá)到上述目的,本發(fā)明提供一種異步socket通訊方法,所述方法包括異步 socket將接收到的消息存放在消息列表中;通過信號量控制所述消息列表長度,如果消息 列表長度未達(dá)到設(shè)定最大值,則繼續(xù)接收消息;若消息列表長度達(dá)到設(shè)定最大值,則通過所 述信號量鎖定所述信息列表,將消息列表中的消息取出并發(fā)送;以及發(fā)送后信號量喚醒所 述消息列表繼續(xù)接收消息。其中,在具體實(shí)施例中,所述設(shè)定最大值是根據(jù)消息發(fā)送的速度來設(shè)定,保證在網(wǎng) 絡(luò)不穩(wěn)定的情況下,socket消息隊(duì)列不會阻塞。采用組串流形式來發(fā)送消息列表中的消息 內(nèi)容,所述組串流形式是將消息列表中的消息組成字符串或碼流串。所述消息是被一次性 取出并發(fā)送。因此,會加快傳送速度。在一實(shí)施例中,所述方法還包括在接收和發(fā)送消息,需要根據(jù)smpp協(xié)議進(jìn)行信息 轉(zhuǎn)換。提供一種采用異步socket通訊的手機(jī)定位系統(tǒng),包括socket通訊服務(wù)器、業(yè)務(wù) 處理模塊、GIS服務(wù)器、短信中心、及手機(jī)終端。其中,所述手機(jī)終端與所述短信中心通過無 線移動網(wǎng)絡(luò)連接,能夠接收地理位置信息并顯示,以及發(fā)送位置查詢信息;所述GIS服務(wù)器提供地理位置信息服務(wù);所述短信中心與所述socket通訊服務(wù)器建立socket通訊連接, 轉(zhuǎn)發(fā)位置查詢信息及地理位置信息;所述業(yè)務(wù)處理模塊與所述GIS服務(wù)器通過網(wǎng)絡(luò)連接, 根據(jù)位置查詢信息在所述GIS服務(wù)器中查詢相關(guān)地理位置信息,并轉(zhuǎn)發(fā)給socket通訊服務(wù) 器;所述socket通訊服務(wù)器是在所述短信中心和所述業(yè)務(wù)處理模塊之間分別建立socket 通訊連接,根據(jù)信息轉(zhuǎn)換協(xié)議進(jìn)行信息轉(zhuǎn)換,將接收到的消息存放在消息列表中,通過信號 量控制所述消息列表長度如果消息列表長度未達(dá)到設(shè)定最大值,則繼續(xù)接收消息;若消 息列表長度達(dá)到設(shè)定最大值,則通過所述信號量鎖定所述信息列表,將消息列表中的消息 取出并發(fā)送,發(fā)送后信號量喚醒所述消息列表繼續(xù)接收消息。在具體實(shí)施例中,所述協(xié)議是smpp協(xié)議,是根據(jù)所述業(yè)務(wù)處理模塊及短信中心所 需的信息進(jìn)行解碼和編碼的轉(zhuǎn)換。所述設(shè)定最大值是根據(jù)消息發(fā)送的速度來設(shè)定。所述 socket通訊服務(wù)器是采用組串流形式來發(fā)送消息列表中的消息內(nèi)容,所述組串流形式是將 消息列表中的消息組成字符串或碼流串。所述socket通訊服務(wù)器中消息是被一次性取出 并發(fā)送。本發(fā)明的一種異步socket通訊方法,具有以下優(yōu)點(diǎn)消息存放于信息列表中,傳 送的socket消息不會丟失;列表內(nèi)所有消息一次性發(fā)送,加快傳送的速度;根據(jù)實(shí)際情況 調(diào)整隊(duì)列長度的大小,保證在網(wǎng)絡(luò)不穩(wěn)定的情況下,socket消息隊(duì)列不會阻塞。本發(fā)明的 一種采用異步socket通訊的手機(jī)定位系統(tǒng),在上述優(yōu)點(diǎn)的基礎(chǔ)上,其定位功能能夠應(yīng)對網(wǎng) 絡(luò)出現(xiàn)不穩(wěn)定的特殊狀況。


圖1是本發(fā)明的異步socket通訊方法流程圖;圖2是本發(fā)明采用異步socket通訊的手機(jī)定位系統(tǒng)方框示意具體實(shí)施例方式以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書 所揭示的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明也可通過其他不同的具體實(shí)例 加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)亦可基于不同觀點(diǎn)與應(yīng)用,在不背離本發(fā)明的目 的下進(jìn)行各種修飾與變更。本發(fā)明的一種異步socket通訊方法是應(yīng)用在異步socket通訊領(lǐng)域。請參閱圖1,是顯示本發(fā)明的異步socket通訊方法流程圖,如圖所示,本實(shí)施例的 一種異步socket通訊方法包括步驟S11,接收線程通過socket持續(xù)接收另一節(jié)點(diǎn)或模塊發(fā)送的數(shù)據(jù);步驟S12,通過信號量控制消息列表,判斷消息列表長度是否達(dá)到設(shè)定最大值;步驟S13,若消息列表長度未達(dá)到設(shè)定最大值,則將接收到的消息存放在所述消息 列表中,然后再進(jìn)行步驟Sl 1,即接收線程繼續(xù)接收消息;步驟S14,若消息列表長度達(dá)到設(shè)定最大值,則通過信號量鎖定所述信息列表;步驟S15,發(fā)送線程將消息列表中的消息取出并發(fā)送到目標(biāo)節(jié)點(diǎn);步驟S16,消息發(fā)送后,信號量喚醒所述消息列表,繼續(xù)接收消息,并進(jìn)行步驟 S12,如此循環(huán)通訊。
其中,在本實(shí)施例中,所述設(shè)定最大值是根據(jù)實(shí)際消息發(fā)送的速度來設(shè)定,即所述 設(shè)定最大值是可變的、動態(tài)的,例如,可根據(jù)接收或發(fā)送消息的上下節(jié)點(diǎn)處的速度來設(shè)定該 設(shè)定最大值,這樣能夠保證在網(wǎng)絡(luò)不穩(wěn)定的情況下,socket消息隊(duì)列不會阻塞。另外,還可 以采用組串流形式來發(fā)送消息列表中的消息內(nèi)容,所述組串流形式是將消息列表中的消息 組成字符串或碼流串,并且所述消息是被一次性取出并發(fā)送,因此,這樣可以加快消息傳送 速度。在本實(shí)施例中,所述異步socket通訊方法還包括在接收和發(fā)送消息時,需要根 據(jù)smpp協(xié)議進(jìn)行信息轉(zhuǎn)換,即在接收到底層數(shù)據(jù)后,需要先將其通過smpp信息轉(zhuǎn)換協(xié)議解 碼轉(zhuǎn)換成為上層需要的數(shù)據(jù),反方向同樣方式進(jìn)行轉(zhuǎn)換。本發(fā)明的一種異步socket通訊方法,具有以下優(yōu)點(diǎn)消息存放于信息列表中,傳 送的socket消息不會丟失;列表內(nèi)所有消息一次性發(fā)送,加快傳送的速度;根據(jù)實(shí)際情況 調(diào)整隊(duì)列長度的大小,保證在網(wǎng)絡(luò)不穩(wěn)定的情況下,socket消息隊(duì)列不會阻塞。請參閱圖2,是顯示本發(fā)明采用異步socket通訊的手機(jī)定位系統(tǒng)方框示意圖,如 圖所示,本發(fā)明提供一種采用異步socket通訊的手機(jī)定位系統(tǒng),包括=Socket通訊服務(wù)器 14、業(yè)務(wù)處理模塊13、GIS服務(wù)器11、短信中心12、及手機(jī)終端10,其中,所述手機(jī)終端10與 所述短信中心12通過無線移動網(wǎng)絡(luò)連接,能夠接收地理位置信息并顯示,以及發(fā)送位置查 詢信息,即主要功能是接收短信中心12發(fā)送的消息以及發(fā)送消息給短信中心12。其中,所 述無線移動網(wǎng)絡(luò)可以是GSM網(wǎng)絡(luò)或CDMA網(wǎng)絡(luò),或其他的通訊網(wǎng)絡(luò),公網(wǎng)或?qū)>W(wǎng)均可。所述GIS (地理信息系統(tǒng),Geographic Information System)服務(wù)器11提供地 理位置信息服務(wù),例如地理位置數(shù)據(jù)的獲取、存儲、顯示、編輯、處理、分析、輸出和應(yīng)用等服 務(wù)。所述短信中心12與所述socket通訊服務(wù)器14建立socket通訊連接,轉(zhuǎn)發(fā)位置 查詢信息及地理位置信息,即所述短信中心12主要功能是接收socket通訊服務(wù)器14的消 息并發(fā)送給手機(jī)終端,以及將手機(jī)發(fā)送內(nèi)容轉(zhuǎn)發(fā)給socket通訊服務(wù)器14。所述業(yè)務(wù)處理模塊13與所述GIS服務(wù)器11通過網(wǎng)絡(luò)連接,根據(jù)位置查詢信息在 所述GIS服務(wù)器11中查詢相關(guān)地理位置信息,并轉(zhuǎn)發(fā)給socket通訊服務(wù)器14。即所述業(yè) 務(wù)處理模塊13的主要功能是接收socket通訊服務(wù)器14的消息入庫;通過所述GIS服務(wù)器 11查找用戶的地理位置信息發(fā)送給socket通訊服務(wù)器14 ;另外,所述業(yè)務(wù)處理模塊13還 能夠通過網(wǎng)頁發(fā)送定位消息給socket通訊服務(wù)器。所述socket通訊服務(wù)器14是在所述短信中心12和所述業(yè)務(wù)處理模塊13之間分 別建立socket通訊連接,該socket通訊連接是通過信號量控制所述消息列表主要是判斷 消息列表長度是否達(dá)到設(shè)定最大值,若達(dá)到設(shè)定最大值,則通過所述信號量鎖定所述信息 列表,將消息發(fā)送后信號量再喚醒所述消息列表繼續(xù)接收消息。在本實(shí)施例中,所述協(xié)議是smpp協(xié)議,是根據(jù)所述業(yè)務(wù)處理模塊13及短信中心12 所需的信息進(jìn)行解碼和編碼的轉(zhuǎn)換。所述設(shè)定最大值是根據(jù)消息發(fā)送的速度來設(shè)定,例如 根據(jù)短信中心12或者業(yè)務(wù)處理模塊13中的消息接收及發(fā)送的速度來設(shè)定該設(shè)定最大值。 所述socket通訊服務(wù)器14是采用組串流形式來發(fā)送消息列表中的消息內(nèi)容,所述組串流 形式是將消息列表中的消息組成字符串或碼流串。所述socket通訊服務(wù)器14中消息是被 一次性取出并發(fā)送。
在實(shí)際應(yīng)用中,整個采用異步socket通訊的手機(jī)定位系統(tǒng)采用如下方式部署 實(shí)現(xiàn)整個系統(tǒng),需部署socket通訊服務(wù)器14、業(yè)務(wù)處理模塊13、短信中心12、GIS服務(wù)器 11、socket通訊服務(wù)器14與短信中心12和業(yè)務(wù)處理模塊13建立socket長鏈接,可以互 發(fā)消息;手機(jī)終端10可以發(fā)定位命令消息或位置信息給短信中心12,短信中心12發(fā)送給 socket通訊服務(wù)器14 ;業(yè)務(wù)處理模塊13根據(jù)校驗(yàn)定位用戶的合法性和根據(jù)位置查詢信息 查詢GIS服務(wù)器11在地圖上顯示,或轉(zhuǎn)換成地理位置信息。整個采用異步socket通訊的手機(jī)定位系統(tǒng)運(yùn)行的步驟可以是,例如Usocket通訊服務(wù)器14啟動,建立與業(yè)務(wù)處理模塊13連接和短信中心12連接。短信中心12與socket通訊服務(wù)器14建立socket連接,啟動一個線程檢測心跳, 一個發(fā)送線程,一個接收線程。socket通訊服務(wù)器14打開監(jiān)聽端口,建立與業(yè)務(wù)處理模塊13連接,啟動一個發(fā)送 線程和接收線程。2、手機(jī)終端10通過短信中心12發(fā)送位置請求或位置查詢信息給socket通訊服 務(wù)器14后,socket通訊服務(wù)器14把消息內(nèi)容存放于消息列表中。3、通過信號量控制信息列表長度,達(dá)到最大值后鎖定信息列表,發(fā)送后繼續(xù)寫消 息列表內(nèi)容。4、根據(jù)消息發(fā)送速度來設(shè)定消息列表長度,達(dá)到發(fā)送速度和不產(chǎn)生消息阻塞的均 衡值。5,socket通訊服務(wù)器14把消息列表內(nèi)容一次取出組成串流發(fā)送給業(yè)務(wù)處理模塊 13,加快消息傳送速度。6、業(yè)務(wù)處理模塊13入數(shù)據(jù)庫,進(jìn)行用戶合法性校驗(yàn)或根據(jù)位置查詢信息GIS服務(wù) 器11查詢用戶位置信息。7、業(yè)務(wù)處理模塊13把消息發(fā)送給socket通訊服務(wù)器14,socket通訊服務(wù)器14 再根據(jù)步驟2-5利用socket把消息發(fā)送給短信中心12。8、短信中心12通過無線網(wǎng)絡(luò)發(fā)送給手機(jī)終端10,從而完成手機(jī)終端定位的功能。綜上所述,本發(fā)明的一種異步socket通訊方法,是通過信號量來鎖定和喚醒消息 隊(duì)列,可以是兩個節(jié)點(diǎn)或同一個節(jié)點(diǎn)的不同模塊之間大量消息交互的socket通訊,把消 息存放于消息列表中,線程取列表消息并組成字符串或碼流串發(fā)送,當(dāng)消息列表長度到達(dá) 設(shè)定最大值時,信號量鎖住列表,發(fā)送消息后,信號量喚醒線程恢復(fù)運(yùn)行,因此,加快了數(shù) 據(jù)傳輸?shù)乃俣?,尤其在網(wǎng)絡(luò)通信不太穩(wěn)定,socket阻塞的時候,即防止信息的丟失,保證了 socket的順利通訊。采用異步socket通訊的手機(jī)定位系統(tǒng)在上述優(yōu)點(diǎn)基礎(chǔ)上,使得手機(jī)定 位能夠應(yīng)對網(wǎng)絡(luò)出現(xiàn)不穩(wěn)定的特殊狀況,更加適合特殊環(huán)境下的應(yīng)用。上述的對實(shí)施例的描述是為便于該技術(shù)領(lǐng)域的普通技術(shù)人員能理解和使用本發(fā) 明。熟悉本領(lǐng)域技術(shù)的人員顯然可以很快地對這些實(shí)施例做出各種修改,并把在此說明的 一般原理應(yīng)用到其他實(shí)施例中而不必經(jīng)過創(chuàng)造性的勞動。因此,本發(fā)明不限于這里的實(shí)施 例,本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的揭示,對于本發(fā)明做出的改進(jìn)和修改都應(yīng)該在本發(fā)明的 保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種異步socket通訊方法,其特征在于包括步驟接收線程持續(xù)接收消息;通過信號量控制消息列表,如果消息列表長度未達(dá)到設(shè)定最大值,則將接收到的消息 存放在所述消息列表中;若消息列表長度達(dá)到設(shè)定最大值,則通過所述信號量鎖定所述信 息列表,發(fā)送線程將消息取出并發(fā)送;發(fā)送線程持續(xù)將消息列表中的消息取出并發(fā)送;以及消息發(fā)送后信號量喚醒所述消息 列表繼續(xù)接收消息。
2.根據(jù)權(quán)利要求1所述的異步socket通訊方法,其特征在于所述設(shè)定最大值是根據(jù) 消息發(fā)送的速度來設(shè)定。
3.根據(jù)權(quán)利要求1所述的異步socket通訊方法,其特征在于采用組串流形式來發(fā)送 消息列表中的消息內(nèi)容,所述組串流形式是將消息列表中的消息組成字符串或碼流串。
4.根據(jù)權(quán)利要求1所述的異步socket通訊方法,其特征在于所述消息是由發(fā)送線程 一次性取出并發(fā)送。
5.根據(jù)權(quán)利要求1所述的異步socket通訊方法,其特征在于還包括在接收和發(fā)送消 息時,需要根據(jù)smpp協(xié)議進(jìn)行信息轉(zhuǎn)換。
6.一種采用異步socket通訊的手機(jī)定位系統(tǒng),其特征在于包括=Socket通訊服務(wù)器、 業(yè)務(wù)處理模塊、GIS服務(wù)器、短信中心、及手機(jī)終端,其中,所述手機(jī)終端與所述短信中心通 過無線移動網(wǎng)絡(luò)連接,能夠接收地理位置信息并顯示,以及發(fā)送位置查詢信息;所述GIS服 務(wù)器提供地理位置信息服務(wù);所述短信中心與所述socket通訊服務(wù)器建立socket通訊連 接,轉(zhuǎn)發(fā)位置查詢信息及地理位置信息;所述業(yè)務(wù)處理模塊與所述GIS服務(wù)器通過網(wǎng)絡(luò)連 接,根據(jù)位置查詢信息在所述GIS服務(wù)器中查詢相關(guān)地理位置信息,并轉(zhuǎn)發(fā)給socket通訊 服務(wù)器;所述socket通訊服務(wù)器是在所述短信中心和所述業(yè)務(wù)處理模塊之間分別建立通 過信號量控制所述消息列表的socket通訊連接。
7.根據(jù)權(quán)利要求6所述的采用異步socket通訊的手機(jī)定位系統(tǒng),其特征在于所述協(xié) 議是smpp協(xié)議,是根據(jù)所述業(yè)務(wù)處理模塊及短信中心所需的信息進(jìn)行解碼和編碼的轉(zhuǎn)換。
8.根據(jù)權(quán)利要求6所述的采用異步socket通訊的手機(jī)定位系統(tǒng),其特征在于所述 socket通訊服務(wù)器是采用組串流形式來發(fā)送消息列表中的消息內(nèi)容,所述組串流形式是將 消息列表中的消息組成字符串或碼流串,一次性取出并發(fā)送。
9.根據(jù)權(quán)利要求6所述的采用異步socket通訊的手機(jī)定位系統(tǒng),其特征在于所述通 過信號量控制所述消息列表的socket通訊連接,是判斷消息列表長度是否達(dá)到設(shè)定最大 值,若達(dá)到設(shè)定最大值,則通過所述信號量鎖定所述信息列表,將消息發(fā)送后信號量再喚醒 所述消息列表繼續(xù)接收消息。
10.根據(jù)權(quán)利要求9所述的采用異步socket通訊的手機(jī)定位系統(tǒng),其特征在于所述 設(shè)定最大值是根據(jù)消息發(fā)送的速度來設(shè)定。
全文摘要
本發(fā)明公開了一種異步socket通訊方法,包括步驟首先,接收線程通過異步socket接收發(fā)送過來的消息。然后,通過信號量控制所述消息列表,如果消息列表長度未達(dá)到設(shè)定最大值,則將消息存放在消息列表中;若消息列表長度達(dá)到設(shè)定最大值,則通過所述信號量鎖定所述信息列表,將消息列表中的消息取出并發(fā)送,在發(fā)送后信號量喚醒所述消息列表繼續(xù)接收消息,而另外有一個發(fā)送線程一直取列表消息發(fā)送到目標(biāo)節(jié)點(diǎn)活模塊。利用該方法,消息存放于信息列表中,傳送的socket消息不會丟失;列表內(nèi)所有消息一次性發(fā)送,加快傳送的速度;根據(jù)實(shí)際情況調(diào)整隊(duì)列長度的大小,保證在網(wǎng)絡(luò)不穩(wěn)定的情況下,socket消息隊(duì)列不會阻塞;而采用異步socket通訊的手機(jī)定位系統(tǒng),在上述優(yōu)點(diǎn)的基礎(chǔ)上,其定位功能能夠應(yīng)對網(wǎng)絡(luò)出現(xiàn)不穩(wěn)定的特殊狀況。
文檔編號H04W64/00GK102045654SQ20091019694
公開日2011年5月4日 申請日期2009年10月10日 優(yōu)先權(quán)日2009年10月10日
發(fā)明者呂志花 申請人:上海中興通訊技術(shù)有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1