專(zhuān)利名稱(chēng):基于特征字符型的數(shù)據(jù)流多協(xié)議解析系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及儀器間通訊協(xié)議的解析系統(tǒng)以及基于該系統(tǒng)的協(xié)議數(shù)據(jù)流解析方法,特別是一種用于對(duì)同類(lèi)型不同儀器設(shè)備間的多種協(xié)議根據(jù)特征字符進(jìn)行數(shù)據(jù)流的解析系統(tǒng)及相應(yīng)的解析方法。
背景技術(shù):
隨著信息技術(shù)發(fā)展,許多自動(dòng)化監(jiān)控設(shè)備都提供了各種串行接口如RS-232、RS-422、RS-485、CAN、485等,輸出被監(jiān)控對(duì)象的測(cè)量結(jié)果。盡管這些設(shè)備監(jiān)控的對(duì)象是相似甚至是一致的,但設(shè)備廠(chǎng)商出于保護(hù)自身知識(shí)產(chǎn)權(quán)和利益的需要,各自設(shè)置了通訊協(xié)議,并且這些協(xié)議往往互不相容。這導(dǎo)致在對(duì)被監(jiān)控對(duì)象進(jìn)行遠(yuǎn)程遙測(cè)遙控時(shí),需要投入相當(dāng)精力對(duì)這些協(xié)議進(jìn)行解析。由于受到外圍設(shè)備的多樣性等因素的影響,需要針對(duì)性進(jìn)行開(kāi)發(fā),這導(dǎo)致了系統(tǒng)開(kāi)發(fā)煩瑣,甚至導(dǎo)致失敗。
目前,還未見(jiàn)有能夠適用于同類(lèi)型設(shè)備的、適配不同廠(chǎng)商設(shè)備的多種協(xié)議的處理方法。
發(fā)明內(nèi)容
本發(fā)明是為了克服上述存在的缺陷,而提供的一種基于特征字符型、對(duì)多種設(shè)備協(xié)議數(shù)據(jù)流的解析系統(tǒng)及以及基于該系統(tǒng)的協(xié)議數(shù)據(jù)流方法,使協(xié)議解析具有良好的適配性,通用性更強(qiáng)。
本發(fā)明解決上述問(wèn)題所采用的技術(shù)方案是解析系統(tǒng)由特征字符集存儲(chǔ)模塊、協(xié)議規(guī)則存儲(chǔ)模塊、待解析數(shù)據(jù)流存儲(chǔ)模塊、解析模塊組成。特征字符集存儲(chǔ)模塊是由各種可能出現(xiàn)的字符規(guī)則協(xié)議所組成,保存在物理存儲(chǔ)地址中,可讀可寫(xiě)。協(xié)議規(guī)則存儲(chǔ)模塊由一系列的字符組成的,是特征字符集的子集,可讀可寫(xiě)。待解析數(shù)據(jù)流存儲(chǔ)模塊保存在RAM中,是串口接收緩沖區(qū),保存來(lái)自外設(shè)的數(shù)據(jù)流。待解析數(shù)據(jù)流存儲(chǔ)模塊經(jīng)過(guò)協(xié)議規(guī)則分析后經(jīng)解析模塊輸出數(shù)據(jù)流的解析結(jié)果。解析模塊根據(jù)協(xié)議規(guī)則存儲(chǔ)模塊中的規(guī)則檢索特征字符集,獲得協(xié)議中特征字符描述的數(shù)據(jù)流各個(gè)字節(jié)的物理地址,并據(jù)此分解獲得具體數(shù)據(jù)。特征字符集、協(xié)議規(guī)則存儲(chǔ)在可讀寫(xiě)的物理地址中如EEPROM、FLASH;解析模塊由微處理器(8位和16位單片機(jī)、32位嵌入式系統(tǒng))實(shí)現(xiàn)。
所述特征字符是一串中文內(nèi)碼,也可以是英文字符ASCII碼,特征字符可以逗號(hào)分隔,或其他標(biāo)點(diǎn)符號(hào)分隔。這些特征字符對(duì)應(yīng)的是數(shù)據(jù)流中各個(gè)區(qū)域數(shù)據(jù)代表的物理(意義)對(duì)象。
所述協(xié)議規(guī)則特征字符、起始地址、長(zhǎng)度說(shuō)明組成,起始地址、長(zhǎng)度說(shuō)明一般固定為unsigned int類(lèi)型,其范圍0~65535、byte類(lèi)型,其范圍0-255。
本發(fā)明的有益效果是,基于特征字符的協(xié)議規(guī)則有利于實(shí)現(xiàn)對(duì)同類(lèi)型的多種外設(shè)協(xié)議的描述,并據(jù)此解析設(shè)備的協(xié)議數(shù)據(jù)流,具有良好的后向兼容性、通用性?xún)?yōu)點(diǎn)。特征字符集、協(xié)議規(guī)則均可被修改配置,具有動(dòng)態(tài)重載、開(kāi)發(fā)時(shí)間短、移植性好等優(yōu)點(diǎn),提高了同類(lèi)型不同儀器的協(xié)議處理質(zhì)量和效率。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
圖1是本發(fā)明的框架結(jié)構(gòu)圖。
圖2是本發(fā)明的一個(gè)解析流程圖。
在圖1中,1是特征字符集存儲(chǔ)模塊,2是協(xié)議規(guī)則存儲(chǔ)模塊,3是待解析數(shù)據(jù)流存儲(chǔ)模塊,4是解析模塊。
在圖1所示結(jié)構(gòu)圖中,特征字符集存儲(chǔ)模塊1是由各種可能出現(xiàn)的字符規(guī)則協(xié)議所組成,保存在物理存儲(chǔ)地址中,可讀可寫(xiě)。協(xié)議規(guī)則存儲(chǔ)模塊2由一系列的字符組成的,是特征字符集的子集,可讀可寫(xiě)。待解析數(shù)據(jù)流存儲(chǔ)模塊3保存在RAM中,是串口接收緩沖區(qū),保存來(lái)自外設(shè)的數(shù)據(jù)流。待解析數(shù)據(jù)流存儲(chǔ)模塊3經(jīng)過(guò)協(xié)議規(guī)則分析后經(jīng)解析模塊4輸出數(shù)據(jù)流的解析結(jié)果。
為了便于對(duì)本發(fā)明進(jìn)一步理解,現(xiàn)結(jié)合圖2所述的流程,做具體過(guò)程描述。
實(shí)施過(guò)程包括以下步驟步驟201分析同類(lèi)型不同外設(shè)的數(shù)據(jù)流說(shuō)明,整理歸納特征字符集,特征字符之間以標(biāo)點(diǎn)符號(hào)(也可以是特征字符未出現(xiàn)的一些符號(hào))分隔。
步驟202根據(jù)和具體外設(shè)通訊的要求,分析其數(shù)據(jù)流協(xié)議,設(shè)定對(duì)應(yīng)于該外設(shè)的協(xié)議規(guī)則。
步驟203外設(shè)通訊的數(shù)據(jù)由串口接收保存到待解析數(shù)據(jù)流存儲(chǔ)地址,只有在接收完成一批數(shù)據(jù)流后,進(jìn)行步驟204,否則執(zhí)行步驟209。
步驟204按照分隔符號(hào),從特征字符集存儲(chǔ)模塊中分隔讀取一串特征字符。
步驟205判斷分隔讀取到的特征字符是否是特征字符結(jié)束標(biāo)志字符,如果是,則執(zhí)行步驟209,否則執(zhí)行步驟206。
步驟206在協(xié)議規(guī)則字符串中檢索特征字符。
步驟207如果在協(xié)議規(guī)則中檢索到特征字符,則執(zhí)行步驟208,否則執(zhí)行步驟204。
步驟208在協(xié)議規(guī)則中檢索到特征字符后,獲得起始地址和長(zhǎng)度描述,并據(jù)此在待解析數(shù)據(jù)流中截取指定數(shù)據(jù)。
步驟209程序處理結(jié)束,退出。
權(quán)利要求
1.一種基于特征字符型的數(shù)據(jù)流多協(xié)議解析系統(tǒng)及方法,其特征是系統(tǒng)由特征字符集存儲(chǔ)模塊、協(xié)議規(guī)則存儲(chǔ)模塊、待解析數(shù)據(jù)流存儲(chǔ)模塊、解析模塊組成,且基于該系統(tǒng)的協(xié)議數(shù)據(jù)流解析方法包括以下步驟(1)分析同類(lèi)型不同外設(shè)的數(shù)據(jù)流說(shuō)明,整理歸納特征字符集;(2)設(shè)定具體外設(shè)的協(xié)議規(guī)則;(3)和外設(shè)通訊,數(shù)據(jù)流接收完成后,根據(jù)特征字符,按照協(xié)議規(guī)則將數(shù)據(jù)流解析。
2.按照權(quán)利要求1所述的數(shù)據(jù)流多協(xié)議解析系統(tǒng)及方法,其特征是特征字符、協(xié)議規(guī)則均保存在存儲(chǔ)器中,可保存、可修改;存儲(chǔ)器可以是EEPROM或是FLASH。
3.按照權(quán)利要求1所述的數(shù)據(jù)流多協(xié)議解析系統(tǒng)及方法,其特征是特征字符可以是一串ASCII英文字符或是中文內(nèi)碼,特征字符之間可以逗號(hào)分隔,或其他標(biāo)點(diǎn)符號(hào)分隔。
4.按照權(quán)利要求1所述的數(shù)據(jù)流多協(xié)議解析系統(tǒng)及方法,其特征是協(xié)議規(guī)則是一串ASCII英文字符或是中文內(nèi)碼。
5.按照權(quán)利要求1所述的數(shù)據(jù)流多協(xié)議解析系統(tǒng)及方法,其特征是協(xié)議規(guī)則由三部分組成特征字符、起始地址和長(zhǎng)度說(shuō)明,這三部分可以自由組合。
6.按照權(quán)利要求1所述的數(shù)據(jù)流多協(xié)議解析系統(tǒng)及方法,其特征是協(xié)議規(guī)則中的特征字符均可在特征字符集中找到。
7.按照權(quán)利要求1所述的數(shù)據(jù)流多協(xié)議解析系統(tǒng)及方法,其特征是起始地址、長(zhǎng)度說(shuō)明為unsigned int類(lèi)型,其范圍0~65535、byte類(lèi)型,其范圍0-255。
全文摘要
本發(fā)明涉及一種基于特征字符型的數(shù)據(jù)流多協(xié)議解析系統(tǒng)及方法。系統(tǒng)由特征字符集存儲(chǔ)模塊、協(xié)議規(guī)則存儲(chǔ)模塊、待解析數(shù)據(jù)流存儲(chǔ)模塊、解析模塊組成。包括以下步驟首先,分析同類(lèi)型不同外設(shè)的數(shù)據(jù)流說(shuō)明,整理歸納特征字符集;其次,設(shè)定具體外設(shè)的協(xié)議規(guī)則;最后,在和外設(shè)通訊,數(shù)據(jù)流接收完成后,根據(jù)特征字符,按照協(xié)議規(guī)則將數(shù)據(jù)流解析。本發(fā)明的有益效果是,數(shù)據(jù)流解析具有良好的后向兼容性、通用性,開(kāi)發(fā)時(shí)間短、移植性好,提高了同類(lèi)型不同儀器的協(xié)議處理質(zhì)量和效率。
文檔編號(hào)H04L12/56GK1929473SQ20061013197
公開(kāi)日2007年3月14日 申請(qǐng)日期2006年10月13日 優(yōu)先權(quán)日2006年10月13日
發(fā)明者吳允平, 蔡聲鎮(zhèn), 林億芳, 李汪彪, 蘇偉達(dá), 吳進(jìn)營(yíng) 申請(qǐng)人:福建師范大學(xué)