專(zhuān)利名稱(chēng):網(wǎng)絡(luò)接口的信息傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息傳輸方法,具體的講是網(wǎng)絡(luò)接口的信息傳輸方法,特別適合但不僅限于CA (條件接收)系統(tǒng)中Socket (套接字)接口的信息傳輸。
背景技術(shù):
Socket是一種網(wǎng)絡(luò)編程接口,稱(chēng)為套接字。Socket是一進(jìn)程與另一進(jìn)程進(jìn)行雙向通訊的最終的套接點(diǎn),它是由伯克利在Unix系統(tǒng)中推出的計(jì)算機(jī)系統(tǒng)的IPC和異種機(jī)網(wǎng)絡(luò)互聯(lián)的基本機(jī)制。傳統(tǒng)的網(wǎng)絡(luò)接口數(shù)據(jù)包的設(shè)計(jì),都是通過(guò)在數(shù)據(jù)包內(nèi)一個(gè)指定的固定位置存放約定的內(nèi)容來(lái)實(shí)現(xiàn)。這種方式較為簡(jiǎn)單明了,但是不夠靈活,當(dāng)在不同的系統(tǒng)和協(xié)議間傳輸數(shù)據(jù)時(shí)常出現(xiàn)不能移植和不能兼容的情況,因此需要對(duì)不同的系統(tǒng)單獨(dú)定義數(shù)據(jù)傳輸格式和協(xié)議,增大了系統(tǒng)的開(kāi)發(fā)成本和網(wǎng)絡(luò)傳輸?shù)膹?fù)雜性。
發(fā)明內(nèi)容
針對(duì)以上的問(wèn)題,本發(fā)明提供了一種網(wǎng)絡(luò)接口的信息傳輸方法,不需要重新定義數(shù)據(jù)包的格式,按照統(tǒng)一的數(shù)據(jù)格式定義相應(yīng)的語(yǔ)法和命令函數(shù)形成對(duì)應(yīng)的數(shù)據(jù)包,簡(jiǎn)化網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)結(jié)構(gòu),提高數(shù)據(jù)包的通用性。本發(fā)明網(wǎng)絡(luò)接口的信息傳輸方法,包括數(shù)據(jù)包處理用于定義通用的數(shù)據(jù)傳輸格式以形成至少一種數(shù)據(jù)包協(xié)議,數(shù)據(jù)傳輸格式的字段包括消息起始標(biāo)識(shí),命令長(zhǎng)度,消息ID和命令內(nèi)容;詞法分析根據(jù)詞法分析工具,定義命令中關(guān)鍵字詞匯的格式和生成命令所需的關(guān)鍵詞匯;語(yǔ)法分析根據(jù)語(yǔ)法分析工具,以詞法分析模塊生成的詞匯為基礎(chǔ),定義由所述詞匯組成正確的命令,完成IP數(shù)據(jù)到IP命令的轉(zhuǎn)換;命令動(dòng)作處理包括對(duì)語(yǔ)法分析模塊所生成命令的處理程序;主控模塊包括主框架程序,用于把其它模塊整合為一體,然后編譯成一個(gè)可執(zhí)行的程序;由主控模塊進(jìn)行數(shù)據(jù)包處理的初始化,使系統(tǒng)加載數(shù)據(jù)包處理步驟中定義的各數(shù)據(jù)包協(xié)議,然后再根據(jù)用戶(hù)選擇的數(shù)據(jù)包協(xié)議進(jìn)行系統(tǒng)初始化;系統(tǒng)接收外部輸入后,對(duì)輸入的每個(gè)詞匯進(jìn)行詞法分析,如果發(fā)現(xiàn)有單詞不符合定義的詞法格式,則退出解析;全部輸入通過(guò)詞法分析后,將結(jié)果進(jìn)行語(yǔ)法分析得到相應(yīng)的語(yǔ)義,如果不能被解析成與定義的語(yǔ)法格式相匹配的語(yǔ)義,則退出解析;根據(jù)得到的語(yǔ)義執(zhí)行對(duì)應(yīng)的命令動(dòng)作處理,將執(zhí)行的結(jié)果根據(jù)數(shù)據(jù)包處理中定義的數(shù)據(jù)傳輸格式生成消息數(shù)據(jù),將所述消息數(shù)據(jù)打包到TCP數(shù)據(jù)包中進(jìn)行網(wǎng)絡(luò)傳輸。本發(fā)明的方法是對(duì)TCP數(shù)據(jù)包中的數(shù)據(jù)進(jìn)行重新整合,并未改變TCP包的結(jié)構(gòu),因此本發(fā)明方法所傳輸?shù)臄?shù)據(jù)包在全網(wǎng)絡(luò)是通用的。進(jìn)一步的,為了使系統(tǒng)的處理機(jī)制更完善,提高數(shù)據(jù)的傳輸效率,在命令動(dòng)作處理中包括對(duì)錯(cuò)誤命令的處理,提高系統(tǒng)的響應(yīng)時(shí)間。通常情況下,由于不同的網(wǎng)絡(luò)傳輸場(chǎng)景有不同的協(xié)議需求,為了節(jié)省資源,優(yōu)選的一種方案是系統(tǒng)將數(shù)據(jù)包處理步驟中定義的各數(shù)據(jù)包協(xié)議分為至少兩次進(jìn)行加載。優(yōu)選的,語(yǔ)法分析成功后,開(kāi)啟一個(gè)新進(jìn)程,在所述的新進(jìn)程里執(zhí)行對(duì)應(yīng)的命令動(dòng)作處理,以免阻塞外部響應(yīng)。進(jìn)一步的,命令動(dòng)作處理中將消息數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)傳輸后,系統(tǒng)將已調(diào)用但未釋放的資源進(jìn)行釋放,并退出當(dāng)前進(jìn)程。進(jìn)一步的,在進(jìn)行數(shù)據(jù)包打包時(shí),將數(shù)據(jù)包進(jìn)行臨時(shí)會(huì)話(huà)密鑰加密,以保證數(shù)據(jù)包的安全性。本發(fā)明的方法不需要重新定義數(shù)據(jù)包的格式,只需按照統(tǒng)一的數(shù)據(jù)格式定義相應(yīng)的語(yǔ)法和命令函數(shù)即可形成對(duì)應(yīng)的數(shù)據(jù)包,由此簡(jiǎn)化了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)結(jié)構(gòu),提高了數(shù)據(jù)包的通用性和靈活性,特別適合用于廣電業(yè)務(wù)運(yùn)營(yíng)管理系統(tǒng)和CA(條件接收)系統(tǒng)之間的 Socket 交互。以下結(jié)合由附圖所示實(shí)施例的具體實(shí)施方式
,對(duì)本發(fā)明的上述內(nèi)容再作進(jìn)一步的詳細(xì)說(shuō)明。但不應(yīng)將此理解為本發(fā)明上述主題的范圍僅限于以下的實(shí)例。在不脫離本發(fā)明上述技術(shù)思想情況下,根據(jù)本領(lǐng)域普通技術(shù)知識(shí)和慣用手段做出的各種替換或變更,均應(yīng)包括在本發(fā)明的范圍內(nèi)。
圖1是本發(fā)明網(wǎng)絡(luò)接口的信息傳輸方法的流程圖。
具體實(shí)施例方式如圖1所示本發(fā)明網(wǎng)絡(luò)接口的信息傳輸方法,包括數(shù)據(jù)包處理用于定義通用的數(shù)據(jù)傳輸格式以形成多種數(shù)據(jù)包協(xié)議,數(shù)據(jù)傳輸格式的字段包括消息起始標(biāo)識(shí),消息頭,命令長(zhǎng)度,消息ID,命令內(nèi)容和消息Hash碼;其中命令長(zhǎng)度為可變,為了簡(jiǎn)單起見(jiàn),定義命令長(zhǎng)度為ηX 8 (η為整數(shù))。根據(jù)定義的數(shù)據(jù)傳輸格式進(jìn)行數(shù)據(jù)包處理,如封包、解包、加密、網(wǎng)絡(luò)監(jiān)聽(tīng)、網(wǎng)絡(luò)連接等。詞法分析根據(jù)詞法分析工具(如lex),定義命令中關(guān)鍵字詞匯的格式和生成命令所需的關(guān)鍵詞匯;語(yǔ)法分析根據(jù)語(yǔ)法分析工具(如yacc),以詞法分析模塊生成的詞匯為基礎(chǔ),定義由所述詞匯組成正確的命令,完成IP數(shù)據(jù)到IP命令的轉(zhuǎn)換;命令動(dòng)作處理包括對(duì)語(yǔ)法分析模塊所生成命令的處理程序和錯(cuò)誤命令的處理程序;主控模塊包括主框架程序,用于把其它模塊整合為一體,然后編譯成一個(gè)可執(zhí)行的程序;本發(fā)明方法中的數(shù)據(jù)包表頭與TCP數(shù)據(jù)包表頭是一致的,只是對(duì)TCP數(shù)據(jù)包的數(shù)據(jù)部分進(jìn)行了重定義,使其從數(shù)據(jù)變成為一個(gè)命令集。通過(guò)本發(fā)明方法生成的Socket消息包也只是替換了 TCP數(shù)據(jù)包里的數(shù)據(jù)部分。因此本發(fā)明方法的數(shù)據(jù)包是一個(gè)TCP數(shù)據(jù)包, 能夠在全網(wǎng)內(nèi)進(jìn)行TCP/IP的傳輸。由主控模塊進(jìn)行數(shù)據(jù)包處理的初始化,使系統(tǒng)加載數(shù)據(jù)包處理步驟中定義的各數(shù)據(jù)包協(xié)議,然后再根據(jù)用戶(hù)選擇的數(shù)據(jù)包協(xié)議進(jìn)行系統(tǒng)初始化。由于不同的網(wǎng)絡(luò)傳輸場(chǎng)景有不同的協(xié)議需求,為了節(jié)省資源,優(yōu)選的一種方案是系統(tǒng)將所述的數(shù)據(jù)包協(xié)議分為至少兩次進(jìn)行加載。系統(tǒng)接收外部輸入后,對(duì)輸入的每個(gè)詞匯進(jìn)行詞法分析,如果發(fā)現(xiàn)有單詞不符合定義的詞法格式,打印Log信息并退出解析。詞法分析模塊可以選擇現(xiàn)有軟件。全部輸入通過(guò)詞法分析后,將結(jié)果進(jìn)行語(yǔ)法分析得到相應(yīng)的語(yǔ)義,如果不能被解析成與定義的語(yǔ)法格式相匹配的語(yǔ)義,打印Log信息并退出解析。語(yǔ)法分析模塊可以選擇現(xiàn)有軟件。開(kāi)啟一個(gè)新進(jìn)程,根據(jù)得到的語(yǔ)義執(zhí)行對(duì)應(yīng)的命令動(dòng)作處理,以免阻塞外部響應(yīng)。 將執(zhí)行的結(jié)果根據(jù)數(shù)據(jù)包處理中定義的數(shù)據(jù)傳輸格式生成消息數(shù)據(jù),將所述消息數(shù)據(jù)和消息Hash碼一同打包到TCP/IP數(shù)據(jù)包中進(jìn)行端到端的互解析實(shí)現(xiàn)命令的直接傳輸。消息數(shù)據(jù)打包時(shí)將數(shù)據(jù)包進(jìn)行臨時(shí)會(huì)話(huà)密鑰加密,以保證數(shù)據(jù)包的安全性。消息數(shù)據(jù)傳輸完成后, 系統(tǒng)已調(diào)用但未釋放的資源進(jìn)行釋放,并退出當(dāng)前進(jìn)程。
權(quán)利要求
1.網(wǎng)絡(luò)接口的信息傳輸方法,其特征為包括數(shù)據(jù)包處理用于定義通用的數(shù)據(jù)傳輸格式以形成至少一種數(shù)據(jù)包協(xié)議,數(shù)據(jù)傳輸格式的字段包括消息起始標(biāo)識(shí),命令長(zhǎng)度,消息ID和命令內(nèi)容;詞法分析根據(jù)詞法分析工具,定義命令中關(guān)鍵字詞匯的格式和生成命令所需的關(guān)鍵詞匯;語(yǔ)法分析根據(jù)語(yǔ)法分析工具,以詞法分析模塊生成的詞匯為基礎(chǔ),定義由所述詞匯組成正確的命令,完成IP數(shù)據(jù)到IP命令的轉(zhuǎn)換;命令動(dòng)作處理包括對(duì)語(yǔ)法分析模塊所生成命令的處理程序;主控模塊包括主框架程序,用于把其它模塊整合為一體,然后編譯成一個(gè)可執(zhí)行的程序;由主控模塊進(jìn)行數(shù)據(jù)包處理的初始化,使系統(tǒng)加載數(shù)據(jù)包處理步驟中定義的各數(shù)據(jù)包協(xié)議,然后再根據(jù)用戶(hù)選擇的數(shù)據(jù)包協(xié)議進(jìn)行系統(tǒng)初始化;系統(tǒng)接收外部輸入后,對(duì)輸入的每個(gè)詞匯進(jìn)行詞法分析,如果發(fā)現(xiàn)有單詞不符合定義的詞法格式,則退出解析;全部輸入通過(guò)詞法分析后,將結(jié)果進(jìn)行語(yǔ)法分析得到相應(yīng)的語(yǔ)義,如果不能被解析成與定義的語(yǔ)法格式相匹配的語(yǔ)義,則退出解析;根據(jù)得到的語(yǔ)義執(zhí)行對(duì)應(yīng)的命令動(dòng)作處理,將執(zhí)行的結(jié)果根據(jù)數(shù)據(jù)包處理中定義的數(shù)據(jù)傳輸格式生成消息數(shù)據(jù),將所述消息數(shù)據(jù)打包到TCP數(shù)據(jù)包中進(jìn)行網(wǎng)絡(luò)傳輸。
2.如權(quán)利要求1所述網(wǎng)絡(luò)接口的信息傳輸方法,其特征為在命令動(dòng)作處理中包括對(duì)錯(cuò)誤命令的處理。
3.如權(quán)利要求1所述網(wǎng)絡(luò)接口的信息傳輸方法,其特征為系統(tǒng)將數(shù)據(jù)包處理步驟中定義的各數(shù)據(jù)包協(xié)議分為至少兩次進(jìn)行加載。
4.如權(quán)利要求1所述網(wǎng)絡(luò)接口的信息傳輸方法,其特征為語(yǔ)法分析成功后,開(kāi)啟一個(gè)新進(jìn)程,在所述的新進(jìn)程里執(zhí)行對(duì)應(yīng)的命令動(dòng)作處理。
5.如權(quán)利要求1所述網(wǎng)絡(luò)接口的信息傳輸方法,其特征為命令動(dòng)作處理中將消息數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)傳輸后,系統(tǒng)將已調(diào)用但未釋放的資源進(jìn)行釋放,并退出當(dāng)前進(jìn)程。
6.如權(quán)利要求1至5之一所述網(wǎng)絡(luò)接口的信息傳輸方法,其特征為在進(jìn)行數(shù)據(jù)包打包時(shí),將數(shù)據(jù)包進(jìn)行臨時(shí)會(huì)話(huà)密鑰加密。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)接口的信息傳輸方法,包括由主控模塊進(jìn)行數(shù)據(jù)包處理的初始化,使系統(tǒng)加載數(shù)據(jù)包處理中定義的各數(shù)據(jù)包協(xié)議;系統(tǒng)對(duì)輸入的每個(gè)詞匯進(jìn)行詞法分析;詞法分析后進(jìn)行語(yǔ)法分析得到相應(yīng)的語(yǔ)義;根據(jù)得到的語(yǔ)義執(zhí)行對(duì)應(yīng)的命令動(dòng)作處理,將執(zhí)行的結(jié)果根據(jù)數(shù)據(jù)包處理中定義的數(shù)據(jù)傳輸格式生成消息數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)傳輸。本發(fā)明的方法不需要重新定義數(shù)據(jù)包的格式,只需按照統(tǒng)一的數(shù)據(jù)格式定義相應(yīng)的語(yǔ)法和命令函數(shù)即可形成對(duì)應(yīng)的數(shù)據(jù)包,由此簡(jiǎn)化了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)結(jié)構(gòu),提高了數(shù)據(jù)包的通用性和靈活性,特別適合用于廣電業(yè)務(wù)運(yùn)營(yíng)管理系統(tǒng)和CA(條件接收)系統(tǒng)之間的Socket交互。
文檔編號(hào)H04L29/06GK102571761SQ20111043172
公開(kāi)日2012年7月11日 申請(qǐng)日期2011年12月21日 優(yōu)先權(quán)日2011年12月21日
發(fā)明者蔣偉 申請(qǐng)人:四川長(zhǎng)虹電器股份有限公司