專利名稱:一種逆向解析短消息內(nèi)容的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動通信技術(shù)領(lǐng)域,更具體地說,是逆向解析移動通信系統(tǒng)如GPRS和CDMA系統(tǒng)的短消息內(nèi)容的方法。
背景技術(shù):
目前,利用GPRS和CDMA無線通信移動網(wǎng)絡(luò)平臺進行視頻圖像連續(xù)實時傳輸?shù)那度胧揭苿右曨l監(jiān)控終端得到了廣泛的應(yīng)用。在這種監(jiān)控終端中,都會有一個無線通信模塊,利用手機UIM卡通過公網(wǎng)Internet與后臺用戶進行連接,無線傳輸視頻數(shù)據(jù)。在UIM卡與后臺用戶建立連接的初始階段,需要UIM卡首先發(fā)起對后臺用戶的連接,包括PPP鏈接和UDP或TCP鏈接等。而在終端系統(tǒng)的運行階段,也需要后臺用戶向UIM卡發(fā)送控制信息等內(nèi)容。連接過程一般是通過后臺用戶向UIM卡發(fā)送一個設(shè)置IP的短消息,由監(jiān)控終端在UIM卡中解析出短消息內(nèi)容更新IP地址等后再發(fā)起連接請求完成的。而控制過程則是由后臺用戶向UIM卡通過短消息發(fā)送控制指令,由監(jiān)控終端在UIM卡中解析出控制指令并轉(zhuǎn)向相應(yīng)操作來實現(xiàn)的。然而,現(xiàn)有很多產(chǎn)品對短消息內(nèi)容的解析操作為正向解析,即從短消息第一位開始逐位向后讀取每位短消息內(nèi)容。這一方法的缺點是很難解析出正確的內(nèi)容,因為結(jié)束符難以確定。另外一些產(chǎn)品由于短消息檢測及讀取的困難,把這一程序的處理簡化為把需要短消息傳遞的IP地址等信息直接燒錄在移動終端中,這就對產(chǎn)品的靈活可動性造成了一定影響。因為每次用戶更新IP,都需要把監(jiān)控終端拿回廠商處重新燒錄,故而給使用者帶來麻煩和困難。
發(fā)明內(nèi)容
為克服現(xiàn)有技術(shù)的缺陷和不足,本發(fā)明提供一種逆向解析短消息內(nèi)容的方法。
一種逆向解析短消息內(nèi)容的方法,用于無線視頻監(jiān)控終端的IP設(shè)置部分和短消息控制部分,以實現(xiàn)對監(jiān)控中心服務(wù)器IP的配置以及監(jiān)控中心服務(wù)器對監(jiān)控終端的遠(yuǎn)程控制功能(下文所有步驟以IP短消息為例),包括以下步驟(1)開始監(jiān)控終端的上電及系統(tǒng)初始化;(2)等待一段時間t;(3)判斷是否接收到新短消息;若是,則進入(4);若否,則回到(2);(4)使用AT命令讀出收到的新短消息的內(nèi)容;(5)判斷該條新短消息的內(nèi)容是否為設(shè)置IP的短消息;若是,則進入(7);若否,則進入(6)。
(6)刪除該條短消息;(7)啟動短信逆向解析檢測任務(wù);(8)更新配置IP等信息。
其中,(7)逆向解析法的具體步驟為1開始,即啟動短消息逆向解析任務(wù);2各個參數(shù)的初始化;包括IP地址暫存四字節(jié)數(shù)組temp_ip,初始化為0;端口號暫存數(shù)組temp_port,初始化為0;終端ID暫存數(shù)組temp_termid,初始化為0;
IP段數(shù)ip_segment,初始化為6;數(shù)據(jù)長度getch_index,初始化為N;倍乘因子factor,初始化為1;3判斷ip_segment不等于0;若是,則進入4;若否,則回到1;4判斷getch_index是否小于0;若是,則回到1;若否,則進入5;5判斷短消息中第getch_index位的數(shù)值是否小于0x30h且大于0x39h。若是,則進入6;若否,則進入步驟9;6判斷該位內(nèi)容是否不等于分隔符;若是,則進入步驟8;若否,則進入7;7ip_segment減1,getch_index減1,factor等于1;8getch_index減1;9判斷ip_segment是否等于6;若是,則進入10;若否,則進入11;10temp_termid等于第getch_index位的數(shù)值減去0x30h后乘以factor再加上原temp_termid;11判斷ip_segment是否等于5;若是,則進入12;若否,則進入13;12temp_port等于第getch_index位的數(shù)值減去0x30h后乘以factor再加上原temp_port;13第ip_segment減1位的temp_ip等于第getch_index位的內(nèi)容減去0x30h后再乘以factor加上原第ip_segment減1位的temp_ip;14factor乘以10,getch_index減1;并回到5,進行下一輪循環(huán)解析。
步驟(2)中,該段時間t是從開機到收到設(shè)置IP短消息的時間。
步驟(3)中,若接收到新短消息,系統(tǒng)需要對新短消息進行一定分析,才能確定新短消息是否有用,以進行下一步的處理;若沒有,則監(jiān)控終端繼續(xù)回到等待短消息狀態(tài)。
步驟(4)中,具體執(zhí)行命令操作根據(jù)監(jiān)控產(chǎn)品所用的移動通信模塊的不同,有不同的具體實施方式
。
步驟(5)中,對是否為設(shè)置IP短消息的判斷,大多數(shù)監(jiān)控終端產(chǎn)品采取的方式為,在短消息開頭規(guī)定特定字符串作為IP短消息的指示。此特定字符串選取的原則是不要與其他無關(guān)短信等的開頭字符重復(fù)。
步驟(6)中,經(jīng)判斷如果收到的短消息后不是設(shè)置IP的短消息,則刪除該條短消息即可。當(dāng)然,如果監(jiān)控產(chǎn)品中仍利用短信來進行其他的控制操作等,則此時也可轉(zhuǎn)入其他操作。
步驟(7)中,該步驟主要用于解析短消息所傳遞的IP,端口號和終端ID號等信息。
步驟(8)中,進入此步驟時,所有解析IP的任務(wù)已完成,可以轉(zhuǎn)入更新IP,端口號和設(shè)備ID的任務(wù)。
步驟2中,各個參數(shù)代表著逆向解析算法中用到的幾個參數(shù),包括①IP地址暫存四字節(jié)數(shù)組temp_ip初始化為0;②端口號暫存數(shù)組temp_port初始化為0;③終端ID暫存數(shù)組temp_termid初始化為0;④IP段數(shù)ip_segment初始化為6,這里的設(shè)為6,包括IP地址4個字段,端口號1個字段和終端ID1個字段;⑤數(shù)據(jù)長度getch_index初始化為N,這里沒有規(guī)定具體的數(shù)值,是因為不同的監(jiān)控終端有不同的長度規(guī)定,一般地,根據(jù)如前所述的設(shè)置方式,IP地址四個字段共十二個字符,端口號一個字段五個字符,終端ID一個字段五個字符,共二十二個字符,則N等于二十二;⑥倍乘因子factor初始化為1。
步驟3中,判斷ip_segment是用來標(biāo)識逆向解析IP任務(wù)是否完成的標(biāo)志。由于ip_segment初始化為6,后面的任務(wù)完成一次ip_segment就自減1,因此只要ip_segment不為0,則仍在執(zhí)行逆向解析IP任務(wù)中。當(dāng)ip_segment為0時,該條短信的逆向解析IP任務(wù)已完成,回到1。
步驟4中,判斷getch_index和ip_segment一起,都是是用來標(biāo)識逆向解析IP任務(wù)是否完成的標(biāo)志。getch_index標(biāo)識總字符的數(shù)目,后面的任務(wù)完成一次getch_index也自減1。
步驟5中,讀出短消息中第getch_index位的數(shù)值,并對其值進行判斷。讀出該位數(shù)值可使用AT命令。若該位內(nèi)容對應(yīng)的是數(shù)字0-9,則說明已經(jīng)找到了設(shè)置IP,端口號和設(shè)備ID的位置(從最后一位起),可以進行下一步的操作。若該位內(nèi)容對應(yīng)的不是數(shù)字0-9,則說明未找到IP,端口號和設(shè)備ID的位置,該短信內(nèi)容可能附加了其他的尾綴,或該位是其他的內(nèi)容,這就需要做進一步的判斷,以作相應(yīng)處理。
步驟6中,需要進一步判斷該位對應(yīng)內(nèi)容是否為分隔符。這里分隔符的意思,是指間隔IP,端口號和設(shè)備ID的符號。分隔符的定義可以有多種,可以由終端用戶自己設(shè)定,只要監(jiān)控終端主控系統(tǒng)能識別出該分隔符即可。一般地,我們可以規(guī)定用“.”做分隔符。即設(shè)定IP短消息內(nèi)容的格式為“IP地址.端口號.設(shè)備ID”。
步驟7中,在判斷該位內(nèi)容對應(yīng)分隔符后,需要將IP段數(shù),數(shù)據(jù)長度和倍乘因子重新修正賦值。
步驟8中,在判斷該位內(nèi)容既不對應(yīng)數(shù)值0-9,又不對應(yīng)分隔符后,則說明未找到設(shè)置IP,端口號和設(shè)備ID的位置,則應(yīng)繼續(xù)尋找。在繼續(xù)尋找過程中,需將getch_index重新賦值。
步驟9中,對ip_segment是否等于6的判斷,用來判斷逆向解析IP任務(wù)解析到哪一段。如果采用IP地址四個字段共十二個字符,端口號一個字段五個字符,終端ID一個字段五個字符,則ip_segment=6說明處在解析設(shè)備ID階段;若ip_segment=5則說明處在解析端口號階段;若ip_segment=1-4,說明任務(wù)處在解析IP地址階段;若ip_segment=0,說明解析任務(wù)已完成。在不同階段中,getch_index的值用來表示具體進行到該階段的哪個字符。
步驟10中,當(dāng)ip_segment等于6,說明處在解析設(shè)備ID階段,則把該位內(nèi)容處理后存入設(shè)備ID暫存數(shù)組。由于讀出的該位內(nèi)容為十六進制碼,所以需要減去0x30h轉(zhuǎn)為十進制數(shù)值后并乘以factor。
步驟11中,若ip_segment等于5,則處在解析端口號階段;若ip_segment不等于6也不等于5,則處在解析IP地址階段。
步驟12中,當(dāng)ip_segment=5時,說明此時處在解析端口號階段,所以應(yīng)把端口號進行重新賦值。
步驟13中,當(dāng)ip_segment既不等于6也不等于5時,說明此時處在解析IP地址階段,所以應(yīng)把IP地址進行更新。
步驟14中,該步驟中,無論剛才進行的是更新了一步設(shè)備ID,或是更新了一步端口號,更或是更新了一步IP地址,再進行下一輪更新時都需要將數(shù)據(jù)長度getch_index和倍乘因子factor更新。由于本發(fā)明方法的核心為逆向解析,故數(shù)據(jù)長度應(yīng)遞減,而倍乘因子應(yīng)遞增,從而實現(xiàn)從低位到高位的解析。該步驟執(zhí)行完畢后,應(yīng)回到5,以進行下一輪的解析過程。
本發(fā)明的特點及效果本發(fā)明克服了現(xiàn)有監(jiān)控產(chǎn)品終端等在使用時的不足,用一種逆向解析移動通信系統(tǒng)如GPRS和CDMA系統(tǒng)短消息內(nèi)容的方法來獲取監(jiān)控IP等內(nèi)容。在使用本發(fā)明的方法后,用戶可以隨時通過向監(jiān)控終端的UIM卡發(fā)送短消息的方式來更改設(shè)置IP等信息,解決了現(xiàn)有產(chǎn)品無法準(zhǔn)確的確定短消息的結(jié)束符的問題,實現(xiàn)了對短消息內(nèi)容的正確解析,改進了監(jiān)控產(chǎn)品終端等所具有的使用靈活和可移動性。
本發(fā)明方法建立在基于AT命令的PDU Mode上,由于AT命令已被廣泛應(yīng)用于各個移動通信模塊中,故本發(fā)明適用于各個移動通信模塊。
圖1和圖2-1、圖2-2、圖2-3是本發(fā)明實施例的流程圖。其中,圖2-1、圖2-2和圖2-3為一幅圖的三部分。由于紙張大小受限,故分開畫于三張圖上。具體實施方式
SMS(Short Messaging Service)是最早的短消息業(yè)務(wù),也是現(xiàn)在普及率最高的一種短消息業(yè)務(wù)。目前,這種短消息的長度被限定在140字節(jié)之內(nèi),這些字節(jié)可以是文本的。SMS以簡單方便的使用功能受到大眾的歡迎,在多個行業(yè)得到了廣泛應(yīng)用。
短消息由幾個與提交或接收相關(guān)的服務(wù)要素組成,如有效期(在將短消息成功送達(dá)用戶前SMSC需要保證的儲存時間),優(yōu)先性。此外,短消息還提供提交消息的時間、告訴移動臺是否還有更多消息要發(fā)送,以及還有多少條消息要發(fā)送等。
對SMS的控制共有三種實現(xiàn)途徑·最初的Block Mode;·基于AT命令的Text Mode;·基于AT命令的PDU Mode;到現(xiàn)在,PDU已取代Block Mode,后者逐漸淡出。
PDU Mode是發(fā)送或接收手機SMS消息的一種方法。消息正文經(jīng)過十六進制編碼后進行傳送。
PDU的基本命令有AT+CMGR,AT+CMGL,AT+CMGS。例如讀取電話上全部未讀過的SMS消息,最簡單的辦法是用AT+CMGL=0;而用AT+CMGL=4則可讀取全部SMS消息,無論已讀過與否。對于不同的通訊模塊,每家公司還開發(fā)出針對各自產(chǎn)品的AT指令集。下面我們以中興的一款CDMA模塊MG815+為例來說明本發(fā)明具體流程。
本發(fā)明實施例的主要步驟如圖1所示,其中步驟1-1,開始。
該步驟中,包括監(jiān)控終端的上電及系統(tǒng)初始化過程。對于不同的監(jiān)控終端產(chǎn)品,該步驟具體實施過程略有差別。初始化結(jié)束后,系統(tǒng)處于正常工作模式的待機狀態(tài)。
步驟1-2,等待一段時間t。
該段時間t是從開機到收到設(shè)置IP短消息的時間。
步驟1-3,判斷是否接收到新短消息;若是,則進入步驟1-5;若否,則回到步驟1-2。
若接收到新短消息,系統(tǒng)需要對新短消息進行一定分析,才能確定新短消息是否有用,以進行下一步的處理;若沒有,則監(jiān)控終端繼續(xù)回到等待短消息狀態(tài)。
步驟1-4,使用AT命令讀出收到的新短消息的內(nèi)容。
這一步驟的具體執(zhí)行根據(jù)監(jiān)控產(chǎn)品所用的移動通信模塊的不同,有不同的具體實施方式
。以中興的MG815+為例,相應(yīng)的AT命令為AT+CMGR。
步驟1-5,判斷該條新短消息的內(nèi)容是否為設(shè)置IP的短消息;若是,則進入步驟1-7;若否,則進入步驟1-6。
對是否為設(shè)置IP短消息的判斷,大多數(shù)監(jiān)控終端產(chǎn)品采取的方式為,在短消息開頭規(guī)定特定字符串作為IP短消息的指示。例如,可以規(guī)定在短消息開頭四個字符為“MyIP”,后面跟著IP地址,端口號和終端ID即可。此特定字符串選取的原則是不要與其他無關(guān)短信等的開頭字符重復(fù)。
其中,IP地址用來規(guī)定監(jiān)控終端的IP配置信息,端口號用來規(guī)定監(jiān)控終端的端口號,而終端ID是為了有多個監(jiān)控終端時,用來區(qū)分各個監(jiān)控終端的編號。一般地,現(xiàn)有IP地址為四個字段,每個字段包含三個字符;端口號一個字段,包含五個字符;終端ID一個字段,包含五個字符。當(dāng)然,以后Ipv6升級到八個字段后,本發(fā)明仍然適用。
步驟1-6,刪除該條短消息。
如果收到的短消息經(jīng)判斷后不是設(shè)置IP的短消息,則刪除該條短消息即可。當(dāng)然,如果監(jiān)控產(chǎn)品中仍利用短信來進行其他的控制操作等,則此時也可轉(zhuǎn)入其他操作。
步驟1-7,啟動短信檢測任務(wù)。
該步驟主要用于解析短消息所傳遞的IP,端口號和終端ID號等信息。其具體操作流程圖如圖2-1、圖2-2和圖2-3所示。
步驟1-8,判斷讀出字節(jié)是否為IP標(biāo)識字符串;若是,則進入步驟1-9;若否,則回到步驟1-7。
通過逆向解析短消息獲取IP,當(dāng)讀出的字符經(jīng)判斷后為特定字符串時,則解析IP的任務(wù)已經(jīng)完成,此時可進入下一步驟。若讀出的字符不是短消息開頭的特定字符串時,則繼續(xù)解析IP的任務(wù)。
步驟1-9,監(jiān)控終端IP信息。
進入此步驟時,所有解析IP的任務(wù)已完成,可以轉(zhuǎn)入更新監(jiān)控終端IP,端口號和設(shè)備ID的任務(wù)。
本發(fā)明實施例逆向解析法的具體步驟如圖2-1、圖2-2、圖2-3所示,其中步驟2-1,開始。
該步驟中,即圖1中啟動短信檢測任務(wù)1-7。
步驟2-2,各個參數(shù)的初始化。
該步驟中,各個參數(shù)代表著逆向解析算法中用到的幾個參數(shù),包括(1)IP地址暫存四字節(jié)數(shù)組temp_ip,初始化為0,在以后的Ipv6中,該數(shù)組設(shè)置為八字節(jié)即可;(2)端口號暫存數(shù)組temp_port,初始化為0;(3)終端ID暫存數(shù)組temp_termid,初始化為0;(4)IP段數(shù)ip_segment,初始化為6,這里的設(shè)為6,包括IP地址4個字段,端口號1個字段和終端ID1個字段;(5)數(shù)據(jù)長度getch_index,初始化為N,這里沒有規(guī)定具體的數(shù)值,是因為不同的監(jiān)控終端有不同的長度規(guī)定,一般地,根據(jù)如前所述的設(shè)置方式,IP地址四個字段共十二個字符,端口號一個字段五個字符,終端ID一個字段五個字符,共二十二個字符,則N等于二十二;(6)倍乘因子factor,初始化為1。
步驟2-3,判斷ip_segment不等于0;若是,則進入步驟2-4;若否,則回到步驟2-1。
該步驟中,判斷ip_segment是用來標(biāo)識逆向解析IP任務(wù)是否完成的標(biāo)志。由于ip_segment初始化為6,后面的任務(wù)完成一次ip_segment就自減1,因此只要ip_segment不為0,則仍在執(zhí)行逆向解析IP任務(wù)中。當(dāng)ip_segment為0時,該條短信的逆向解析IP任務(wù)已完成,回到開始狀態(tài)。
步驟2-4,判斷getch_index是否小于0;若是,則回到步驟2-1;若否,則進入步驟2-5。
該步驟中,判斷getch_index和ip_segment一起,都是是用來標(biāo)識逆向解析IP任務(wù)是否完成的標(biāo)志。getch_index標(biāo)識總字符的數(shù)目,后面的任務(wù)完成一次getch_index也自減1。
步驟2-5,判斷短消息中第getch_index位的數(shù)值是否小于0x30h且大于0x39h。若是,則進入步驟2-6;若否,則進入步驟2-9。
該步驟中,讀出短消息中第getch_index位的數(shù)值,并對其值進行判斷。讀出該位數(shù)值可使用AT命令。由于getch_index初始化為N,故在這里就可以體現(xiàn)出本發(fā)明的核心逆向解析。在中興的MG815+中,讀出相應(yīng)位數(shù)值可直接使用函數(shù)體getch。由于讀出的該位數(shù)值為十六進制,故判斷該位內(nèi)容是否為數(shù)字0-9,即判斷該位數(shù)值是否為0x30h-0x39h。若該位內(nèi)容對應(yīng)的是數(shù)字0-9,則說明已經(jīng)找到了設(shè)置IP,端口號和設(shè)備ID的位置(從最后一位起),可以進行下一步的操作。若該位內(nèi)容對應(yīng)的不是數(shù)字0-9,則說明未找到IP,端口號和設(shè)備ID的位置,該短信內(nèi)容可能附加了其他的尾綴,或該位是其他的內(nèi)容,這就需要做進一步的判斷,以作相應(yīng)處理。
步驟2-6,判斷該位內(nèi)容是否不等于分隔符;若是,則進入步驟步驟2-8;若否,則進入步驟2-7。
在判斷第getch_index位對應(yīng)的數(shù)值不是0-9時,在該步驟中,則需要進一步判斷該位對應(yīng)內(nèi)容是否為分隔符。這里分隔符的意思,是指間隔IP,端口號和設(shè)備ID的符號。分隔符的定義可以有多種,可以由終端用戶自己設(shè)定,只要監(jiān)控終端主控系統(tǒng)能識別出該分隔符即可。一般地,我們可以規(guī)定用“.”做分隔符。即設(shè)定IP短消息內(nèi)容的格式為“IP地址.端口號.設(shè)備ID”。
若識別出該位內(nèi)容為分隔符,則進入下一步處理。若該位內(nèi)容既不對應(yīng)數(shù)值0-9,又不對應(yīng)分隔符,說明還沒找到設(shè)置IP,端口號和設(shè)備ID的位置,則應(yīng)轉(zhuǎn)入繼續(xù)尋找過程中。
步驟2-7,ip_segment減1,getch_index減1,factor等于1。
在判斷該位內(nèi)容對應(yīng)分隔符后,需要將IP段數(shù),數(shù)據(jù)長度和倍乘因子重新修正賦值。
步驟2-8,getch_index減1。
在判斷該位內(nèi)容既不對應(yīng)數(shù)值0-9,又不對應(yīng)分隔符后,則說明未找到設(shè)置IP,端口號和設(shè)備ID的位置,則應(yīng)繼續(xù)尋找。在繼續(xù)尋找過程中,需將getch_index重新賦值。
步驟2-9,判斷ip_segment是否等于6;若是,則進入步驟2-10;若否,則進入步驟2-11。
該步驟中,對ip_segment是否等于6的判斷,用來判斷逆向解析IP任務(wù)解析到哪一段。根據(jù)如前所述的設(shè)定,IP地址四個字段共十二個字符,端口號一個字段五個字符,終端ID一個字段五個字符,則ip_segment=6說明處在解析設(shè)備ID階段;若ip_segment=5則說明處在解析端口號階段;若ip_segment=1-4,說明任務(wù)處在解析IP地址階段;若ip_segment=0,說明解析任務(wù)已完成。在不同階段中,getch_index的值用來表示具體進行到該階段的哪個字符。
步驟2-10,temp_termid等于第getch_index位的數(shù)值減去0x30h后乘以factor再加上原temp_termid。
用C語言描述即為temp_termid+=(getch[getch_index]-0x30)*factor;當(dāng)ip_segment等于6,說明處在解析設(shè)備ID階段,則把該位內(nèi)容處理后存入設(shè)備ID暫存數(shù)組。由于讀出的該位內(nèi)容為十六進制碼,所以需要減去0x30h轉(zhuǎn)為十進制數(shù)值后并乘以factor。
步驟2-11,判斷ip_segment是否等于5;若是,則進入步驟2-12;若否,則進入步驟2-13。
若ip_segment等于5,則處在解析端口號階段;若ip_segment不等于6也不等于5,則處在解析IP地址階段。
步驟2-12,temp_port等于第getch_index位的數(shù)值減去0x30h后乘以factor再加上原temp_port。用C語言描述即為temp_port+=(getch[getch_index]-0x30)*factor;該步驟中,當(dāng)ip_segment=5時,說明此時處在解析端口號階段,所以應(yīng)把端口號進行重新賦值。
步驟2-13,第ip_segment減1位的temp_ip等于第getch_index位的內(nèi)容減去0x30h后再乘以factor加上原第ip_segment減1位的temp_ip。
用C語言描述即為temp_port+=(getch[getch_index]-0x30)*factor;該步驟中,當(dāng)ip_segment既不等于6也不等于5時,說明此時處在解析IP地址階段,所以應(yīng)把IP地址進行更新。
步驟2-14,factor乘以10,getch_index減1。
該步驟中,無論剛才進行的是更新了一步設(shè)備ID,或是更新了一步端口號,更或是更新了一步IP地址,再進行下一輪更新時都需要將數(shù)據(jù)長度getch_index和倍乘因子factor更新。由于本發(fā)明方法的核心為逆向解析,故數(shù)據(jù)長度應(yīng)遞減,而倍乘因子應(yīng)遞增,從而實現(xiàn)從低位到高位的解析。該步驟執(zhí)行完畢后,應(yīng)跳回到步驟2-5,以進行下一輪的解析過程。
當(dāng)進行過若干次循環(huán)逆向解析后,發(fā)向監(jiān)控終端的設(shè)置IP地址、端口號和設(shè)備ID的短消息已被完全解析,獲得了新的IP地址、端口號和設(shè)備ID,此時可以進行下一步操作和處理。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,由于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1.一種逆向解析短消息內(nèi)容的方法,通過無線視頻監(jiān)控終端的IP設(shè)置部分和短消息控制部分實現(xiàn)對監(jiān)控中心服務(wù)器IP的配置以及監(jiān)控中心服務(wù)器對監(jiān)控終端的遠(yuǎn)程控制,其特征在于包括以下步驟(1)開始監(jiān)控終端的上電及系統(tǒng)初始化;(2)等待一段時間t;(3)判斷是否接收到新短消息;若是,則進入(4);若否,則回到(2);(4)使用AT命令讀出收到的新短消息的內(nèi)容;(5)判斷該條新短消息的內(nèi)容是否為設(shè)置IP的短消息;若是,則進入(7);若否,則進入(6)。(6)刪除該條短消息;(7)啟動短信逆向解析檢測任務(wù);(8)更新配置IP等信息。
2.如權(quán)利要求1所述的一種逆向解析短消息內(nèi)容的方法,其特征在于所述的(7)啟動短信逆向解析檢測任務(wù)的具體步驟為1開始,即啟動短消息逆向解析任務(wù);2各個參數(shù)的初始化;包括IP地址暫存四字節(jié)數(shù)組temp_ip,初始化為0;端口號暫存數(shù)組temp_port,初始化為0;終端ID暫存數(shù)組temp_termid,初始化為0;IP段數(shù)ip_segment,初始化為6;數(shù)據(jù)長度getch_index,初始化為N;倍乘因子factor,初始化為1;3判斷ip_segment不等于0;若是,則進入4;若否,則回到1;4判斷getch_index是否小于0;若是,則回到1;若否,則進入5;5判斷短消息中第getch_index位的數(shù)值是否小于0x30h且大于0x39h,若是,則進入6;若否,則進入步驟9;6判斷該位內(nèi)容是否不等于分隔符;若是,則進入步驟8;若否,則進入7;7ip_segment減1,getch_index減1,factor等于1;8getch_index減1;9判斷ip_segment是否等于6;若是,則進入10;若否,則進入11;10temp_termid等于第getch_index位的數(shù)值減去0x30h后乘以factor再加上原temp_termid;11判斷ip_segment是否等于5;若是,則進入12;若否,則進入13;12temp_port等于第getch_index位的數(shù)值減去0x30h后乘以factor再加上原temp_port;13第ip_segment減1位的temp_ip等于第getch_index位的內(nèi)容減去0x30h后再乘以factor加上原第ip_segment減1位的temp_ip;14factor乘以10,getch_index減1;并回到5,進行下一輪循環(huán)解析。
全文摘要
一種逆向解析短消息內(nèi)容的方法,屬移動通信技術(shù)領(lǐng)域,包括11)后臺用戶通過手機向監(jiān)控終端UIM卡發(fā)送一條設(shè)置IP的短消息;12)監(jiān)控終端接收到新短消息后,使用AT命令讀出該條短消息的內(nèi)容;13)判斷是否為設(shè)置IP的短消息;若是,則采用逆向解析法解析該IP短信并讀取IP信息;若否,則刪除該條短信。與現(xiàn)有技術(shù)采用正向解析及固化IP在終端設(shè)備的方法相比,本發(fā)明方法建立在基于AT命令的PDU Mode上,由于AT命令已被廣泛應(yīng)用于各個移動通信模塊中,故本發(fā)明適用于各個移動通信模塊,并具有解析正確性和靈活移動性。
文檔編號H04W4/14GK101083790SQ20071001521
公開日2007年12月5日 申請日期2007年6月27日 優(yōu)先權(quán)日2007年6月27日
發(fā)明者袁東風(fēng), 鄭杰, 靳慶慶, 管章玉, 劉文倩 申請人:山東大學(xué)