一種基于短信的移動(dòng)終端地理信息交換方法
【專(zhuān)利摘要】一種基于短信的移動(dòng)終端地理信息交換方法,當(dāng)交換單個(gè)位置地理信息時(shí),發(fā)送方移動(dòng)終端采用NMEA?0183電文中$GPRMC報(bào)文規(guī)則對(duì)分享的地理位置進(jìn)行編碼,通過(guò)短信Agent發(fā)送至接收方移動(dòng)終端;當(dāng)交換地理信息數(shù)據(jù)量較大時(shí),發(fā)送方移動(dòng)終端將信息上傳到公共文件服務(wù)器,并記錄URL,將URL附加特定報(bào)文頭$GPURL發(fā)送至接收方移動(dòng)終端;接收方移動(dòng)終端的Agent通過(guò)攔截該特定格式的短信并解析,如果是實(shí)時(shí)位置信息,直接解析;如果是URL,通知應(yīng)用程序鏈接HTTP鏈接地址下載位置文件;接收方發(fā)送$GPOK或$GPFAIL報(bào)文至發(fā)送方,提示發(fā)送方是否接收和解析成功。
【專(zhuān)利說(shuō)明】
一種基于短信的移動(dòng)終端地理信息交換方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于短信的移動(dòng)終端地理信息交換方法,是在移動(dòng)設(shè)備之間交換位置信息的共享方法,屬于移動(dòng)通信和地理信息科學(xué)領(lǐng)域。
【背景技術(shù)】
[0002]“LBS”英文全稱(chēng)為L(zhǎng)ocat1n Based Services,它包括兩層含義:首先是確定移動(dòng)終端或用戶(hù)所在的地理位置;其次是提供與位置相關(guān)的各類(lèi)信息服務(wù)。因此可以說(shuō)“LBS”就是要借助互聯(lián)網(wǎng)或無(wú)線(xiàn)網(wǎng)絡(luò),完成定位和服務(wù)兩大功能,實(shí)現(xiàn)移動(dòng)終端位置信息的相互共享和公共發(fā)布。
[0003]在地理測(cè)繪、土地調(diào)查和社交網(wǎng)絡(luò)等領(lǐng)域,移動(dòng)終端之間經(jīng)常需要互相交換各自的地理位置信息。如車(chē)友可以通過(guò)手機(jī)相互告知自己的位置,家長(zhǎng)通過(guò)小孩手中手機(jī)的位置分享功能可以隨時(shí)知道自己孩子的當(dāng)前位置,確保孩子的安全。
[0004]常規(guī)的地理位置信息交換方法通常需要建立具有固定IP的服務(wù)器,通過(guò)中介服務(wù)器實(shí)現(xiàn)位置信息共享,這樣專(zhuān)門(mén)的服務(wù)器帶來(lái)額外的經(jīng)濟(jì)開(kāi)銷(xiāo),且系統(tǒng)的工作能力受網(wǎng)絡(luò)帶寬和服務(wù)器計(jì)算能力的影響。
[0005]地理位置信息交換方法還可以通過(guò)移動(dòng)終端之間的直接TCP/IP通信方式實(shí)現(xiàn),移動(dòng)終端可以在固定端口上偵聽(tīng),如果另外一個(gè)設(shè)備知道該設(shè)備的IP地址和端口號(hào),那么可以直接通過(guò)TCP/IP網(wǎng)絡(luò)信息傳輸位置信息。但在移動(dòng)終端上獲取當(dāng)前設(shè)備的IP和輸入另外一個(gè)設(shè)備的IP地址和端口號(hào)專(zhuān)業(yè)性強(qiáng),并且如果交換的對(duì)象越多,這種模式需要輸入IP地址和端口越多,就越繁瑣,因此這種模式對(duì)普通用戶(hù)幾乎不可行。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的發(fā)明目的在于,針對(duì)上述存在的問(wèn)題,提供一種在無(wú)線(xiàn)運(yùn)營(yíng)商網(wǎng)絡(luò)內(nèi)基于短信推送位置信息的方法,在這種模式下,不同移動(dòng)終端只要知道對(duì)方的手機(jī)號(hào),就可以方便地交換單個(gè)或者多個(gè)地理位置信息,用戶(hù)不需要關(guān)心對(duì)方手機(jī)的網(wǎng)絡(luò)IP地址,甚至手機(jī)不開(kāi)通數(shù)據(jù)服務(wù)都能實(shí)現(xiàn),因此使用門(mén)檻低,推廣前途好。
[0007]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種基于短信的移動(dòng)終端地理信息交換方法,可以在不改變現(xiàn)有無(wú)線(xiàn)網(wǎng)絡(luò)設(shè)備的基礎(chǔ)上,實(shí)現(xiàn)移動(dòng)終端之間便捷的位置信息共享。其中發(fā)送方和接收方移動(dòng)終端均必須包括如下三個(gè)模塊或程序:
[0008](I)短信Agent程序:該程序在中間層,預(yù)裝,攔截具有$GPRMC、$GPURL、$GP0K、$GPFAIL報(bào)文頭的短信,并解析上述報(bào)文,提供接口允許用戶(hù)地理信息應(yīng)用程序動(dòng)態(tài)注冊(cè),并將解析結(jié)果通過(guò)進(jìn)程間通信發(fā)送給注冊(cè)過(guò)的地理信息應(yīng)用程序;接收地理信息應(yīng)用程序的跨進(jìn)程通信返回結(jié)果,并將結(jié)果發(fā)送到目標(biāo)設(shè)備;提供應(yīng)用程序注冊(cè)關(guān)聯(lián)地理信息的接□。
[0009](2)地理信息應(yīng)用程序:該程序是由用戶(hù)書(shū)寫(xiě)的,程序在啟動(dòng)后通過(guò)進(jìn)程間通信動(dòng)態(tài)注冊(cè)為短信Agent事件分發(fā)對(duì)象,負(fù)責(zé)地理共享,負(fù)責(zé)共享地理信息的接收和應(yīng)用,負(fù)責(zé)遠(yuǎn)程地理信息文件的上傳和下載,但實(shí)際短信報(bào)文編碼、短信發(fā)送、短信解析都由短信Agent程序負(fù)責(zé)。
[0010](3)常規(guī)短信程序:該程序是手機(jī)出廠(chǎng)時(shí)預(yù)裝應(yīng)用,負(fù)責(zé)常規(guī)短信的發(fā)送,接收以及存儲(chǔ),在本專(zhuān)利中所有的短信都會(huì)被短信Agent首先攔截,如果一個(gè)短信沒(méi)有被短信Agent攔截,將被當(dāng)作普通短信由常規(guī)短信程序處理。
[0011]具體實(shí)現(xiàn)方案如下:
[0012]I)移動(dòng)終端通過(guò)無(wú)線(xiàn)運(yùn)營(yíng)商網(wǎng)絡(luò)短信分享位置信息,發(fā)送方和接收方均內(nèi)置攔截和發(fā)送短信的短信Agent程序,并安裝用戶(hù)編寫(xiě)的支持分享地理信息的應(yīng)用程序;短信Agent程序提供進(jìn)程間通信接口,允許用戶(hù)地理信息應(yīng)用程序注冊(cè)為事件通知應(yīng)用;用戶(hù)地理信息應(yīng)用程序啟動(dòng)后通過(guò)進(jìn)程間通信向短信Agent注冊(cè),成為短信Agent的事件通知對(duì)象;
[0013]2)支持不同移動(dòng)終端之間分享單個(gè)或者多個(gè)地理信息位置,且每次分享位置信息前,用遞增的方式生成一個(gè)唯一編碼的整數(shù)事務(wù)號(hào);
[0014]3)如果分享單個(gè)位置信息,發(fā)送方移動(dòng)終端的地理信息應(yīng)用程序?qū)⒁窒淼奈恢眯畔?一般為經(jīng)緯度)、對(duì)方手機(jī)號(hào)、事務(wù)號(hào)采用進(jìn)程間通信發(fā)送給短信Agent程序,短信Agent程序?qū)⒔邮盏降膯蝹€(gè)位置信息采用NMEA (Nat1nal Marine ElectronicsAssociat1n) 0183報(bào)文中的$GPRMC格式編碼后,并用本設(shè)備的電話(huà)號(hào)碼、事務(wù)號(hào)及重新生成的異或校驗(yàn)碼替換擴(kuò)展前的校驗(yàn)碼,形成傳輸文本;
[0015]4)如果分享的是多個(gè)位置信息(如一個(gè)土地調(diào)查圖斑,甚至一個(gè)shape文件),發(fā)送方移動(dòng)終端的地理信息應(yīng)用程序首先將位置信息以HTTP等方式上傳到公共的HTTP地理信息文件服務(wù)器,得到網(wǎng)絡(luò)文件的URL(Uniform resource locator)后添加對(duì)方設(shè)備的電話(huà)號(hào)碼、事務(wù)號(hào),通過(guò)進(jìn)程間通信發(fā)送給短信Agent,短信Agent程序?qū)RL添加報(bào)文頭$GPURL,并附加本設(shè)備的電話(huà)號(hào)碼、事務(wù)號(hào)以及異或校驗(yàn)編碼;
[0016]5)短信Agent將編碼后的文本通過(guò)短信形式由無(wú)線(xiàn)運(yùn)營(yíng)商網(wǎng)絡(luò)發(fā)送到接收方移動(dòng)終端;
[0017]6)接收方移動(dòng)終端中的短信Agent攔截該特定格式的短信,如果不具備$GPRMC、SGPURL, $GP0K、$GPFAIL這些特定格式報(bào)文頭的短信,則放棄處理,由手機(jī)預(yù)裝的短信程序按照常規(guī)的短信處理;
[0018]7)接收方移動(dòng)終端的短信Agent程序如果發(fā)現(xiàn)報(bào)文頭S$GPRMC的短信,解析出地理位置信息、發(fā)送方手機(jī)號(hào)、事務(wù)號(hào),通過(guò)進(jìn)程間通信告知此前注冊(cè)為事件分發(fā)對(duì)象的地理信息應(yīng)用程序;
[0019]8)接收方移動(dòng)終端短信Agent程序如果發(fā)現(xiàn)報(bào)文頭S$GPURL的短信,解析出遠(yuǎn)程檔URL、發(fā)送方手機(jī)號(hào)、事務(wù)號(hào),通過(guò)進(jìn)程間通信告知此前注冊(cè)為事件分發(fā)對(duì)象的地理信息應(yīng)用程序;
[0020]9)接收方移動(dòng)終端的地理信息應(yīng)用程序接收到接收方移動(dòng)終端短信Agent程序跨進(jìn)程通信發(fā)送的地理位置、手機(jī)號(hào)、事務(wù)號(hào)后,判斷地理信息是否合法;
[0021]10)如果接收方移動(dòng)終端的地理信息應(yīng)用程序判斷地理信息合法,通過(guò)進(jìn)程間通信將成功信息連同發(fā)送方手機(jī)號(hào)和事務(wù)號(hào)發(fā)送給接收方移動(dòng)終端的短信Agent程序,該短信Agent程序生成帶$GP0K報(bào)文頭并附加接收方電話(huà)號(hào)碼、事務(wù)號(hào)的報(bào)文以及異或校驗(yàn)碼,并將該報(bào)文通過(guò)短信發(fā)送給發(fā)送方移動(dòng)終端;
[0022]11)如果接收方移動(dòng)終端的地理信息應(yīng)用程序判斷地理信息非法,通過(guò)進(jìn)程間通信將失敗信息連同發(fā)送方手機(jī)號(hào)和事務(wù)號(hào)發(fā)送給接收方移動(dòng)終端短信Agent程序,該短信Agent程序生成帶$GPFAIL報(bào)文頭并附加接收方電話(huà)號(hào)碼、事務(wù)號(hào)的報(bào)文以及異或校驗(yàn)碼,并將該報(bào)文通過(guò)短信發(fā)送給發(fā)送方移動(dòng)終端;
[0023]12)接收方移動(dòng)終端的地理信息應(yīng)用程序接收到接收方移動(dòng)終端短信Agent程序跨進(jìn)程通信發(fā)送的地理信息文件URL、發(fā)送方手機(jī)號(hào)、事務(wù)號(hào)后,自動(dòng)鏈接公共文件服務(wù)器下載該URL制定的地理信息文件;
[0024]13)如果接收方移動(dòng)終端的地理信息應(yīng)用程序成功下載得到相應(yīng)URL對(duì)應(yīng)的地理信息文件,通過(guò)進(jìn)程間通信將成功信息連同發(fā)送方手機(jī)和事務(wù)號(hào)發(fā)送給接收方移動(dòng)終端的短信Agent程序,該短信Agent程序生成帶$GP0K報(bào)文頭并附加接收方電話(huà)號(hào)碼、事務(wù)號(hào)的報(bào)文以及異或校驗(yàn)碼,并將該報(bào)文通過(guò)短信發(fā)送給發(fā)送方移動(dòng)終端;
[0025]14)如果接收方移動(dòng)終端的地理信息應(yīng)用程序無(wú)法下載得到相應(yīng)URL對(duì)應(yīng)的地理信息文件,通過(guò)進(jìn)程間通信將失敗信息連同發(fā)送方手機(jī)號(hào)和事務(wù)號(hào)發(fā)送給接收方移動(dòng)終端短信Agent程序,該短信Agent程序生成帶$GPFAIL報(bào)文頭并附加接收方電話(huà)號(hào)碼、事務(wù)號(hào)的報(bào)文以及異或校驗(yàn)碼,并將該報(bào)文通過(guò)短信發(fā)送給發(fā)送方移動(dòng)終端;
[0026]15) $GP0K/$GPFAIL短信被發(fā)送方移動(dòng)終端攔截接收后,解析接收結(jié)果和事務(wù)號(hào),告知地理信息應(yīng)用程序該次分享信息是成功或者失??;
[0027]16) $GPRMC, $GPURL, $GP0K, $GPFAIL報(bào)文也可以在用戶(hù)的地理信息應(yīng)用程序中完成編碼和譯碼,而短信Agent程序只負(fù)責(zé)報(bào)文攔截和報(bào)文轉(zhuǎn)發(fā);
[0028]17)短信Agent攔截哪些特定格式的報(bào)文可以由地理信息應(yīng)用程序通過(guò)進(jìn)程間通信告知;
[0029]18)短信Agent為應(yīng)用程序通過(guò)進(jìn)程間通信方式保留了發(fā)送短信的接口,接口參數(shù)包括:發(fā)送號(hào)碼,發(fā)送報(bào)文,這些參數(shù)都由地理信息應(yīng)用程序通過(guò)解析報(bào)文得到并且告知短信Agent程序。
[0030]本發(fā)明的優(yōu)點(diǎn)及有益效果:本發(fā)明提供的基于短信實(shí)現(xiàn)移動(dòng)終端之間地理位置信息便捷推送和共享的方法,工作時(shí)不需要輸入對(duì)方移動(dòng)終端的IP地址信息,移動(dòng)終端甚至不需開(kāi)通數(shù)據(jù)服務(wù),就可以便捷地實(shí)現(xiàn)不同移動(dòng)終端之間的位置信息共享。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0031]圖1為本發(fā)明提供的地理信息共享設(shè)備處理普通短信的方法及系統(tǒng)組成;
[0032]圖2為本發(fā)明提供的簡(jiǎn)單位置信息共享方法及系統(tǒng)組成;
[0033]圖3為本發(fā)明提供的較大數(shù)據(jù)量地理信息推送方法及系統(tǒng)組成;
[0034]圖4為本發(fā)明中移動(dòng)終端共享單個(gè)地理位置信息時(shí)的流程;
[0035]圖5為本發(fā)明中移動(dòng)終端共享大數(shù)據(jù)量地理位置信息時(shí)的流程。
【具體實(shí)施方式】
[0036]下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
[0037]如圖1,本發(fā)明中不論是發(fā)送方和接收方移動(dòng)終端中都必須包括如下三個(gè)模塊或程序:
[0038]I)短信Agent程序:該程序在中間層,預(yù)裝,攔截具有$GPRMC、$GPURL、$GP0K、$GPFAIL報(bào)文頭的短信,并解析上述報(bào)文,提供接口允許用戶(hù)地理信息應(yīng)用程序動(dòng)態(tài)注冊(cè),并將解析結(jié)果通過(guò)進(jìn)程間通信發(fā)送給注冊(cè)過(guò)的地理信息應(yīng)用程序;接收地理信息應(yīng)用程序的跨進(jìn)程通信返回結(jié)果,并將結(jié)果發(fā)送到目標(biāo)設(shè)備;提供應(yīng)用程序注冊(cè)關(guān)聯(lián)地理信息的接□。
[0039]2)地理信息應(yīng)用程序:該程序是由用戶(hù)書(shū)寫(xiě)的,程序在啟動(dòng)后通過(guò)進(jìn)程間通信動(dòng)態(tài)注冊(cè)為短信Agent事件分發(fā)對(duì)象,負(fù)責(zé)地理共享,負(fù)責(zé)共享地理信息的接收和應(yīng)用,負(fù)責(zé)遠(yuǎn)程地理信息文件的上傳和下載,但實(shí)際短信報(bào)文編碼、短信發(fā)送、短信解析都由短信Agent程序負(fù)責(zé)。
[0040]3)常規(guī)短信程序:該程序是手機(jī)出廠(chǎng)時(shí)預(yù)裝應(yīng)用,負(fù)責(zé)常規(guī)短信的發(fā)送,接收以及存儲(chǔ),在本專(zhuān)利中所有的短信都會(huì)被短信Agent首先攔截,如果一個(gè)短信沒(méi)有被短信Agent攔截,將被當(dāng)作普通短信由常規(guī)短信程序處理。
[0041]本發(fā)明的基本內(nèi)容是:1)當(dāng)交換單個(gè)位置地理信息時(shí),發(fā)送方移動(dòng)終端采用NMEA0183電文中$GPRMC報(bào)文規(guī)則對(duì)分享的地理位置進(jìn)行編碼,通過(guò)短信Agent發(fā)送至接收方移動(dòng)終端;
[0042]2)當(dāng)交換地理信息數(shù)據(jù)量較大時(shí),發(fā)送方移動(dòng)終端將信息上傳到公共文件服務(wù)器,并記錄URL,將URL附加特定報(bào)文頭$GPURL發(fā)送至接收方移動(dòng)終端;
[0043]3)接收方移動(dòng)終端的Agent通過(guò)攔截該特定格式的短信并解析;
[0044]4)如果是實(shí)時(shí)位置信息,直接解析;
[0045]5)如果是URL,通知應(yīng)用程序鏈接HTTP鏈接地址下載位置文件;
[0046]6)接收方發(fā)送$GP0K或$GPFAIL報(bào)文至發(fā)送方,提示發(fā)送方是否接收和解析成功。
[0047]實(shí)現(xiàn)本發(fā)明方法時(shí),移動(dòng)終端安裝了攔截和解析特定格式短信和支持跨進(jìn)程通信(Inter-process communicat1n,簡(jiǎn)稱(chēng) IPC)的短信Agent,可以在 Android, Windows Phone等移動(dòng)終端平臺(tái)上實(shí)現(xiàn)。
[0048]具體實(shí)施例:
[0049](I)由圖2、4,其中圖2中箭頭對(duì)應(yīng)數(shù)字表示執(zhí)行流程的次序,當(dāng)移動(dòng)終端推送或共享的是單個(gè)位置信息時(shí):
[0050]假設(shè)要發(fā)送的地理信息為:經(jīng)度為東經(jīng)112度12.345分,北緯32度37.765分,又假設(shè)發(fā)送方移動(dòng)終端手機(jī)號(hào)碼為1391234χχχχ,衛(wèi)星定位解算時(shí)間2013年8月10日12:39:19 UTC,接收方手機(jī)號(hào)碼為1999876xxxx。
[0051]發(fā)送方移動(dòng)終端的地理信息應(yīng)用程序采用遞增的方法(或利用當(dāng)前的時(shí)鐘信息),生成一個(gè)唯一的事務(wù)號(hào),假設(shè)為778899 ;
[0052]發(fā)送方移動(dòng)終端的地理信息應(yīng)用程序通過(guò)跨進(jìn)程通信,如socket通信的方式將位置信息、接收方手機(jī)號(hào)、事務(wù)號(hào)碼發(fā)送給發(fā)送方移動(dòng)終端的短信Agent ;
[0053]發(fā)送方移動(dòng)終端的短信Agent采用NMEA 0183的$GPRMC電文格式將位置信息封裝為文本信息,并擴(kuò)充該報(bào)文附加本移動(dòng)終端的電話(huà)號(hào)碼、事務(wù)號(hào)碼,添加異或校驗(yàn)碼,得到如下報(bào)文:
[0054]$GPRMC, 123919,A, 3237.765,N, 11212.345,E,,,20130810,,,1391234xxxx, 778899*28〈CRXLF>
[0055]上述報(bào)文中,對(duì)標(biāo)準(zhǔn)$GPRMC做了擴(kuò)展,“ 1391234xxxx,778899”表示插入的發(fā)送方電話(huà)號(hào)碼和事務(wù)號(hào),提供接收方移動(dòng)終端發(fā)送回饋信息的目標(biāo)地址;尾部的*是特別符號(hào),28是字符‘$’后以及字符前報(bào)文的異或校驗(yàn),尾部符號(hào)〈CRXLF〉表示回車(chē)換行。
[0056]發(fā)送方的移動(dòng)終端短信Agent通過(guò)短信通道發(fā)送給接收方移動(dòng)終端,并通過(guò)無(wú)線(xiàn)運(yùn)營(yíng)商網(wǎng)絡(luò),由接收方移動(dòng)終端接收;
[0057]接收方移動(dòng)終端內(nèi)置具備攔截位置短信特別報(bào)文格式功能的短信Agent,采用KMP算法(克努特——莫里斯——普拉特算法)自動(dòng)檢測(cè)接收到的短信;
[0058]如果接收方的短信Agent沒(méi)有發(fā)現(xiàn)匹配$GPRMC、$GPURL、$GP0K、$GPFAIL等報(bào)文頭,則對(duì)該短信不做任何處理,內(nèi)置的短信程序會(huì)按照普通短信接收、存儲(chǔ)、提醒使用者;
[0059]如果接收方的短信Agent檢測(cè)到了 $GPRMC報(bào)文頭,則Agent會(huì)自動(dòng)讀取該報(bào)文,依據(jù)NMEA 0183電文格式解析位置信息(東經(jīng)112度12.345分,北緯32度37.765分)、發(fā)送方電話(huà)號(hào)碼信息(1391234XXXX)、事務(wù)編號(hào)(778899)等,并通過(guò)進(jìn)程間通信發(fā)送給接收方的地理信息應(yīng)用程序。
[0060]接收方的地理信息應(yīng)用程序成功得到位置信息,可以做簡(jiǎn)要驗(yàn)證,比方說(shuō)判斷對(duì)方位置是否在合理的區(qū)域等,通知接收方Agent發(fā)送$GP0K報(bào)文到發(fā)送方;如果驗(yàn)證失敗,通知接收方Agent發(fā)送$GPFAIL報(bào)文到發(fā)送方。
[0061]此處,$GP0K報(bào)文具體格式為:
[0062]$GP0K, 1999876xxxx, 778899*3F<CRXLF>
[0063]同樣,1999876xxxx表示移動(dòng)終端接收方的電話(huà)號(hào)碼,778899是事務(wù)號(hào),3F是異或校驗(yàn)結(jié)果,尾部的*是特別符號(hào),3F是字符’ $’后以及字符前報(bào)文的異或校驗(yàn),尾部符號(hào)〈CRXLF〉表示回車(chē)換行;
[0064]如果接收到的位置不符合用戶(hù)的需求(如不在固定區(qū)域),則發(fā)送報(bào)文具有如下格式:
[0065]$GPFAIL, 1999876xxxx, 778899*39〈CRXLF>
[0066]其中,1999876xxxx表示移動(dòng)終端接收方的電話(huà)號(hào)碼,778899是事務(wù)號(hào),3F是異或校驗(yàn)結(jié)果,尾部的*是特別符號(hào),39是字符‘$’后以及字符前報(bào)文的異或校驗(yàn),尾部符號(hào)〈CRXLF〉表示回車(chē)換行;
[0067]發(fā)送方移動(dòng)終端的短信Agent攔截到通過(guò)短信發(fā)送的$GP0K/$GPFAIL報(bào)文后,解析出發(fā)送該短信的電話(huà)號(hào)碼1999876χχχχ(本質(zhì)上是地理信息接收方),以及事務(wù)號(hào)778899,通過(guò)跨進(jìn)程通信告知?jiǎng)討B(tài)注冊(cè)的地理信息應(yīng)用程序。
[0068](2)由圖3、5,其中圖3中箭頭對(duì)應(yīng)數(shù)字表示執(zhí)行流程的次序,當(dāng)移動(dòng)終端分享的是多個(gè)位置信息或者位置信息文件時(shí)
[0069]地理信息應(yīng)用程序?qū)⑺璋l(fā)送的多個(gè)位置信息或者位置信息文件按照ESRIshape文件格式編碼,并通過(guò)進(jìn)程間通信發(fā)給發(fā)送方移動(dòng)終端的短信Agent程序,此處假設(shè)發(fā)送方手機(jī)號(hào)碼為1391234XXXX,要傳輸?shù)牡乩硇畔⒋鎯?chǔ)的本地文檔(假設(shè)為gps.shp, gps.dbf),接收方手機(jī)號(hào)碼為1999876xxxx,依據(jù)當(dāng)前移動(dòng)終端時(shí)鐘生成的唯一事務(wù)號(hào)為 998877。
[0070]按照用戶(hù)事先指定的公共文件服務(wù)器地址(假設(shè)為http: //somewhere, xxx.xxx/somedir)基于HTTP協(xié)議上傳文件gps.shp, gps.dbf,得到該上傳檔的URL,假設(shè)為
[0071]http://somewhere, xxx.xxx/somedir/gps.shp
[0072]http: //somewhere, xxx.xxx/somedir/gps.dbf
[0073]發(fā)送方移動(dòng)終端的地理信息應(yīng)用程序通過(guò)進(jìn)程間通信告知本設(shè)備的短信Agent要傳輸多個(gè)位置對(duì)應(yīng)的網(wǎng)絡(luò)文件名(上面兩個(gè)網(wǎng)絡(luò)地址)、對(duì)方手機(jī)號(hào)(1999876xxxx),事務(wù)號(hào)(998877)。
[0074]發(fā)送方移動(dòng)終端的短信Agent添加當(dāng)前設(shè)備手機(jī)號(hào),對(duì)上述信息編碼后,得到如下$GPURL格式報(bào)文:
[0075]$GPURL, http://somewhere, xxx.xxx/somedir/gps.shp, http://somewhere, xxx.xxx/somedir/gps.dbf, 1391234xxxx, 998877*7B〈CR>〈LF>
[0076]其中,前三項(xiàng)分別是報(bào)文頭,網(wǎng)絡(luò)服務(wù)器上shape文件路徑,網(wǎng)絡(luò)服務(wù)器上文件dbf文件路徑,“ 1391234XXXX”表示的是發(fā)送方手機(jī)號(hào),998877是事務(wù)號(hào),尾部的*是特別符號(hào),7B是字符’ $’后以及字符前報(bào)文的異或校驗(yàn),尾部符號(hào)〈CRXLF〉表示回車(chē)換行;
[0077]短信Agent將附加了 $GPURL報(bào)文頭的報(bào)文通過(guò)短信通道發(fā)送給接收方移動(dòng)終端(1999876xxxx),通過(guò)無(wú)線(xiàn)運(yùn)營(yíng)商網(wǎng)絡(luò),由接收方移動(dòng)終端接收;
[0078]接收方移動(dòng)終端內(nèi)置具備攔截位置短信特別報(bào)文格式功能的短信Agent,采用KMP算法(克努特——莫里斯——普拉特算法)自動(dòng)檢測(cè)接收到的短信;
[0079]如果接收方移動(dòng)終端的短信Agent如果沒(méi)有發(fā)現(xiàn)匹配$GPRMC、$GPURL、$GP0K、SGPFAIL等報(bào)文頭,則對(duì)該短信不做任何處理,內(nèi)置的短信程序會(huì)按照普通短信接收、存儲(chǔ)、提醒使用者;
[0080]如果接收方移動(dòng)終端的短信Agent檢測(cè)到了 $GPURL報(bào)文頭,則Agent會(huì)自動(dòng)讀取該報(bào)文,得到所要下載shape文檔的URL,并通過(guò)進(jìn)程間通信將URL發(fā)送給向自己注冊(cè)過(guò)的地理信息應(yīng)用那個(gè)程序,接收方移動(dòng)終端的地理信息應(yīng)用程序自動(dòng)按照該URL下載shape文件。
[0081]接收方移動(dòng)終端的地理信息應(yīng)用程序成功下載文件后,通過(guò)進(jìn)程間通信通知接收方移動(dòng)終端的短信Agent發(fā)送下載成敗的結(jié)果,通知接收方移動(dòng)終端的短信Agent發(fā)送$GP0K報(bào)文到發(fā)送方移動(dòng)終端;如果下載失敗,通知接收方移動(dòng)終端的短信Agent發(fā)送SGPFAIL報(bào)文到發(fā)送方移動(dòng)終端。
[0082]此處,$GP0K報(bào)文具體格式為:
[0083]$GP0K, 1999876xxxx, 998877*3F<CRXLF>
[0084]同樣,1999876xxxx表示接收方移動(dòng)終端的電話(huà)號(hào)碼,778899是事務(wù)號(hào),3F是異或校驗(yàn)結(jié)果,尾部的*是特別符號(hào),3F是字符’ $’后以及字符前報(bào)文的異或校驗(yàn),尾部符號(hào)〈CRXLF〉表示回車(chē)換行;
[0085]如果接收到的位置不符合用戶(hù)的需求(如不在固定區(qū)域),則發(fā)送報(bào)文具有如下格式:
[0086]$GPFAIL, 1999876xxxx, 778899*39〈CRXLF>
[0087]其中,1999876xxxx表示接收方移動(dòng)終端的電話(huà)號(hào)碼,998877是事務(wù)號(hào),3F是異或校驗(yàn)結(jié)果,尾部的*是特別符號(hào),39是字符’ $’后以及字符前報(bào)文的異或校驗(yàn),尾部符號(hào)〈CRXLF〉表示回車(chē)換行;
[0088]發(fā)送方移動(dòng)終端的短信Agent攔截到通過(guò)短信$GP0K/$GPFAIL報(bào)文后,解析出發(fā)送該短信的電話(huà)號(hào)碼1999876χχχχ(本質(zhì)上是接收方移動(dòng)終端號(hào)碼),以及事務(wù)號(hào)998877,通過(guò)跨進(jìn)程通信告知?jiǎng)討B(tài)注冊(cè)的地理信息應(yīng)用程序。
【權(quán)利要求】
1.一種基于短信的移動(dòng)終端地理信息交換方法,其特征在于:在不改變現(xiàn)有無(wú)線(xiàn)網(wǎng)絡(luò)設(shè)備的基礎(chǔ)上,通過(guò)安裝攔截特定短信格式的短信Agent程序以及用戶(hù)按照規(guī)范編寫(xiě)的地理信息應(yīng)用程序,實(shí)現(xiàn)移動(dòng)終端之間便捷的位置信息共享; 發(fā)送方和接收方的移動(dòng)終端均必須包括如下三個(gè)模塊或程序: (1)短信Agent程序:該程序在中間層,預(yù)裝,攔截具有$GPRMC、$GPURL、$GPOK、$GPFAIL報(bào)文頭的短信,并解析上述報(bào)文,提供接口允許用戶(hù)地理信息應(yīng)用程序動(dòng)態(tài)注冊(cè),并將解析結(jié)果通過(guò)進(jìn)程間通信發(fā)送給注冊(cè)過(guò)的地理信息應(yīng)用程序,接收地理信息應(yīng)用程序的跨進(jìn)程通信返回結(jié)果,并將結(jié)果發(fā)送到目標(biāo)設(shè)備,提供應(yīng)用程序注冊(cè)關(guān)聯(lián)地理信息的接口 ; (2)地理信息應(yīng)用程序:該程序是由用戶(hù)書(shū)寫(xiě)的,程序在啟動(dòng)后通過(guò)進(jìn)程間通信動(dòng)態(tài)注冊(cè)為短信Agent事件分發(fā)對(duì)象,負(fù)責(zé)地理共享,負(fù)責(zé)共享地理信息的接收和應(yīng)用,負(fù)責(zé)遠(yuǎn)程地理信息文件的上傳和下載,但實(shí)際短信報(bào)文編碼、短信發(fā)送、短信解析都由短信Agent程序負(fù)責(zé); (3)常規(guī)短信程序:該程序是手機(jī)出廠(chǎng)時(shí)預(yù)裝應(yīng)用,負(fù)責(zé)常規(guī)短信的發(fā)送,接收以及存儲(chǔ),所有的短信都會(huì)被短信Agent首先攔截,如果一個(gè)短信沒(méi)有被短信Agent攔截,將被當(dāng)作普通短信由常規(guī)短信程序處理; 當(dāng)交換單個(gè)位置地理信息時(shí),發(fā)送方移動(dòng)終端采用NMEA 0183電文中$GPRMC報(bào)文規(guī)則對(duì)分享的地理位置進(jìn)行編碼,通過(guò)短信Agent發(fā)送至接收方移動(dòng)終端; 當(dāng)交換地理信息數(shù)據(jù)量較大時(shí),發(fā)送方移動(dòng)終端將信息上傳到公共文件服務(wù)器,并記錄URL,將URL附加特定報(bào)文頭$GPURL發(fā)送至接收方移動(dòng)終端; 接收方移動(dòng)終端的Agent通過(guò)攔截該特定格式的短信并解析; 如果是實(shí)時(shí)位置信息,直接解析; 如果是URL,通知應(yīng)用程序鏈接HTTP鏈接地址下載位置文件; 接收方發(fā)送$GPOK或$GPFAIL報(bào)文至發(fā)送方,提示發(fā)送方是否接收和解析成功; 具體方法如下: 1)移動(dòng)終端通過(guò)無(wú)線(xiàn)運(yùn)營(yíng)商網(wǎng)絡(luò)短信分享位置信息,發(fā)送方和接收方均內(nèi)置攔截和發(fā)送短信的短信Agent程序,并安裝用戶(hù)編寫(xiě)的支持分享地理信息的應(yīng)用程序;短信Agent程序提供進(jìn)程間通信接口,允許用戶(hù)地理信息應(yīng)用程序注冊(cè)為事件通知應(yīng)用;用戶(hù)地理信息應(yīng)用程序啟動(dòng)后通過(guò)進(jìn)程間通信向短信Agent注冊(cè),成為短信Agent的事件通知對(duì)象; 2)支持不同移動(dòng)終端之間分享單個(gè)或者多個(gè)地理信息位置,且每次分享位置信息前,用遞增的方式生成一個(gè)唯一編碼的整數(shù)事務(wù)號(hào); 3)如果分享單個(gè)位置信息,發(fā)送方移動(dòng)終端的地理信息應(yīng)用程序?qū)⒁窒淼慕?jīng)緯度位置信息、對(duì)方手機(jī)號(hào)、事務(wù)號(hào)采用進(jìn)程間通信發(fā)送給短信Agent程序,短信Agent程序?qū)⒔邮盏降膯蝹€(gè)位置信息采用NMEA 0183報(bào)文中的$GPRMC格式編碼后,并用本設(shè)備的電話(huà)號(hào)碼、事務(wù)號(hào)及重新生成的異或校驗(yàn)碼替換擴(kuò)展前的校驗(yàn)碼,形成傳輸文本; 4)如果分享的是多個(gè)位置信息,發(fā)送方移動(dòng)終端的地理信息應(yīng)用程序首先將位置信息以HTTP等方式上傳到公共的HTTP地理信息文件服務(wù)器,得到網(wǎng)絡(luò)文件的URL后添加對(duì)方設(shè)備的電話(huà)號(hào)碼、事務(wù)號(hào),通過(guò)進(jìn)程間通信發(fā)送給短信Agent,短信Agent程序?qū)RL添加報(bào)文頭$GPURL,并附加本設(shè)備的電話(huà)號(hào)碼、事務(wù)號(hào)以及異或校驗(yàn)編碼; 5)短信Agent將編碼后的文本通過(guò)短信形式由無(wú)線(xiàn)運(yùn)營(yíng)商網(wǎng)絡(luò)發(fā)送到接收方移動(dòng)終端; 6)接收方移動(dòng)終端中的短信Agent攔截該特定格式的短信,如果不具備$GPRMC、SGPURL, $GPOK、$GPFAIL這些特定格式報(bào)文頭的短信,則放棄處理,由手機(jī)預(yù)裝的短信程序按照常規(guī)的短信處理; 7)接收方移動(dòng)終端的短信Agent程序如果發(fā)現(xiàn)報(bào)文頭為$GPRMC的短信,解析出地理位置信息、發(fā)送方手機(jī)號(hào)、事務(wù)號(hào),通過(guò)進(jìn)程間通信告知此前注冊(cè)為事件分發(fā)對(duì)象的地理信息應(yīng)用程序; 8)接收方移動(dòng)終端短信Agent程序如果發(fā)現(xiàn)報(bào)文頭為$GPURL的短信,解析出遠(yuǎn)程文件URL、發(fā)送方手機(jī)號(hào)、事務(wù)號(hào),通過(guò)進(jìn)程間通信告知此前注冊(cè)為事件分發(fā)對(duì)象的地理信息應(yīng)用程序; 9)接收方移動(dòng)終端的地理信息應(yīng)用程序接收到接收方移動(dòng)終端短信Agent程序跨進(jìn)程通信發(fā)送的地理位置、手機(jī)號(hào)、事務(wù)號(hào)后,判斷地理信息是否合法; 10)如果接收方移動(dòng)終端的地理信息應(yīng)用程序判斷地理信息合法,通過(guò)進(jìn)程間通信將成功信息連同發(fā)送方手機(jī)號(hào)和事務(wù)號(hào)發(fā)送給接收方移動(dòng)終端的短信Agent程序,該短信Agent程序生成帶$GPOK報(bào)文頭并附加接收方電話(huà)號(hào)碼、事務(wù)號(hào)的報(bào)文及異或校驗(yàn)碼,并將該報(bào)文通過(guò)短信發(fā)送給發(fā)送方移動(dòng)終端; 11)如果接收方移動(dòng)終端的地理信息應(yīng)用程序判斷地理信息非法,通過(guò)進(jìn)程間通信將失敗信息連同發(fā)送方手機(jī)號(hào)和事務(wù)號(hào)發(fā)送給接收方移動(dòng)終端短信Agent程序,該短信Agent程序生成帶$GPFAIL報(bào)文頭并附加接收方電話(huà)號(hào)碼、事務(wù)號(hào)的報(bào)文及異或校驗(yàn)碼,并將該報(bào)文通過(guò)短信發(fā)送給發(fā)送方移動(dòng)終端; 12)接收方移動(dòng)終端的地理信息應(yīng)用程序接收到接收方移動(dòng)終端短信Agent程序跨進(jìn)程通信發(fā)送的地理信息文件URL、發(fā)送方手機(jī)號(hào)、事務(wù)號(hào)后,自動(dòng)鏈接公共文件服務(wù)器下載該URL制定的地理信息文件; 13)如果所述的接收方移動(dòng)終端的地理信息應(yīng)用程序成功下載得到相應(yīng)URL對(duì)應(yīng)的地理信息文件,通過(guò)進(jìn)程間通信將成功信息連同發(fā)送方手機(jī)和事務(wù)號(hào)發(fā)送給接收方移動(dòng)終端的短信Agent程序,該短信Agent程序生成帶$GPOK報(bào)文頭并附加接收方電話(huà)號(hào)碼、事務(wù)號(hào)的報(bào)文及異或校驗(yàn)碼,并將該報(bào)文通過(guò)短信發(fā)送給發(fā)送方移動(dòng)終端; 14)如果所述接收方移動(dòng)終端的地理信息應(yīng)用程序無(wú)法下載得到相應(yīng)URL對(duì)應(yīng)的地理信息文件,通過(guò)進(jìn)程間通信將失敗信息連同發(fā)送方手機(jī)號(hào)和事務(wù)號(hào)發(fā)送給接收方移動(dòng)終端短信Agent程序,該短信Agent程序生成帶$GPFAIL報(bào)文頭并附加接收方電話(huà)號(hào)碼、事務(wù)號(hào)的報(bào)文及異或校驗(yàn)碼,并將該報(bào)文通過(guò)短信發(fā)送給發(fā)送方移動(dòng)終端; 15)$GPOK/$GPFAIL短信被發(fā)送方移動(dòng)終端攔截接收后,解析接收結(jié)果和事務(wù)號(hào),告知地理信息應(yīng)用程序該次分享信息是成功或者失敗; 16)$GPRMC, $GPURL, $GPOK, $GPFAIL報(bào)文也能夠在用戶(hù)的地理信息應(yīng)用程序中完成編碼和譯碼,而短信Agent程序只負(fù)責(zé)報(bào)文攔截和報(bào)文轉(zhuǎn)發(fā); 17)短信Agent攔截哪些特定格式的報(bào)文可以由地理信息應(yīng)用程序通過(guò)進(jìn)程間通信告知; 18)短信Agent為應(yīng)用程序通過(guò)進(jìn)程間通信方式保留了發(fā)送短信的接口,接口參數(shù)包括:發(fā)送號(hào)碼,發(fā)送報(bào)文,這些參數(shù)都由地理信息應(yīng)用程序通過(guò)解析報(bào)文得到并且告知短 信Agent程序。
【文檔編號(hào)】H04W4/14GK104185147SQ201410459459
【公開(kāi)日】2014年12月3日 申請(qǐng)日期:2014年9月10日 優(yōu)先權(quán)日:2014年9月10日
【發(fā)明者】張小國(guó), 王慶, 張也, 徐美嬌 申請(qǐng)人:東南大學(xué)