两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種數(shù)據(jù)包負(fù)載的處理方法和裝置制造方法

文檔序號(hào):7782995閱讀:169來(lái)源:國(guó)知局
一種數(shù)據(jù)包負(fù)載的處理方法和裝置制造方法
【專利摘要】本發(fā)明公開(kāi)了一種數(shù)據(jù)包負(fù)載的處理方法和裝置,用以解決現(xiàn)有技術(shù)中網(wǎng)絡(luò)設(shè)備處理多層變換的數(shù)據(jù)包負(fù)載時(shí)存在的處理效率較低的問(wèn)題。該方法包括:接收待處理的數(shù)據(jù)包負(fù)載,所述數(shù)據(jù)包負(fù)載為完整數(shù)據(jù)的一部分;對(duì)所述數(shù)據(jù)包負(fù)載進(jìn)行處理,直至得到的數(shù)據(jù)為明文數(shù)據(jù)為止。
【專利說(shuō)明】一種數(shù)據(jù)包負(fù)載的處理方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)包負(fù)載的處理方法和裝置。
【背景技術(shù)】
[0002]深度包檢測(cè)技術(shù)是對(duì)數(shù)據(jù)包負(fù)載做明文檢查的技術(shù),以確保接收到的數(shù)據(jù)包負(fù)載的安全性。但隨著網(wǎng)絡(luò)中的數(shù)據(jù)流的復(fù)雜性不斷增加,比如壓縮、加密和編碼等,使接收到的數(shù)據(jù)包負(fù)載的可檢測(cè)性越來(lái)越低,從而放過(guò)某些攻擊信息。因此為了提高接收到的數(shù)據(jù)的安全性,就要求進(jìn)行深度包檢測(cè)的網(wǎng)絡(luò)設(shè)備能夠?qū)邮盏降臄?shù)據(jù)包負(fù)載進(jìn)行解壓縮、解密和編碼轉(zhuǎn)換等處理,因?yàn)槿绻麩o(wú)法對(duì)接收到的數(shù)據(jù)包負(fù)載進(jìn)行分析,就不可能判斷出接收到的數(shù)據(jù)里是否含有攻擊信息。
[0003]現(xiàn)有技術(shù)中,當(dāng)一段完整數(shù)據(jù)由多個(gè)多層變換的數(shù)據(jù)包負(fù)載共同構(gòu)成時(shí),那么網(wǎng)絡(luò)設(shè)備在對(duì)該多個(gè)多層變換的數(shù)據(jù)包負(fù)載進(jìn)行處理時(shí),只能依次對(duì)多個(gè)數(shù)據(jù)包負(fù)載分別進(jìn)行第一層的處理,再將處理后得到的數(shù)據(jù)組合在一起,進(jìn)行第二層的處理,直至處理至最后一層,而攻擊信息一般都被隱藏在多層變換的數(shù)據(jù)中的最底層,那么網(wǎng)絡(luò)設(shè)備只有在處理到最后一層數(shù)據(jù)時(shí)才會(huì)檢測(cè)到攻擊信息,而這一過(guò)程需要的時(shí)間會(huì)比較長(zhǎng),因此這種方案的處理效率比較低;進(jìn)一步的,當(dāng)真正解析出攻擊信息時(shí),可能已經(jīng)放過(guò)了攻擊流,因此這種方案的安全性也比較低。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實(shí)施例提供一種數(shù)據(jù)流的處理方法和裝置,用以解決現(xiàn)有技術(shù)中網(wǎng)絡(luò)設(shè)備處理多層變換的數(shù)據(jù)包負(fù)載時(shí)存在的處理效率和安全性較低的問(wèn)題。
[0005]本發(fā)明實(shí)施例采用以下技術(shù)方案:
[0006]一種數(shù)據(jù)包負(fù)載的處理方法,包括:
[0007]接收待處理的數(shù)據(jù)包負(fù)載,所述數(shù)據(jù)包負(fù)載為完整數(shù)據(jù)的一部分;
[0008]對(duì)所述數(shù)據(jù)包負(fù)載進(jìn)行處理,直至得到的數(shù)據(jù)為明文數(shù)據(jù)為止。
[0009]其中,對(duì)所述數(shù)據(jù)包負(fù)載進(jìn)行處理之前,所述方法還包括:
[0010]判斷預(yù)先確定的數(shù)據(jù)流的當(dāng)前狀態(tài)是否為正常狀態(tài);則
[0011]對(duì)所述數(shù)據(jù)包負(fù)載進(jìn)行處理,具體包括:
[0012]當(dāng)判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)時(shí),每次按照如下方式進(jìn)行處理:
[0013]對(duì)當(dāng)前數(shù)據(jù)進(jìn)行解析,判斷所述當(dāng)前數(shù)據(jù)中是否存在非明文數(shù)據(jù);
[0014]當(dāng)判斷出所述當(dāng)前數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型;
[0015]根據(jù)確定出的所述非明文數(shù)據(jù)的起始位置,生成包含所述非明文數(shù)據(jù)的數(shù)據(jù)段;
[0016]選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù);其中,所述處理后的數(shù)據(jù)對(duì)應(yīng)一個(gè)數(shù)據(jù)層,且每次得到的處理后的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)層的層次依次升高;[0017]其中,對(duì)所述數(shù)據(jù)包負(fù)載進(jìn)行處理,具體包括:
[0018]當(dāng)判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài)時(shí),按照數(shù)據(jù)層的層次從低至高的順序依次使用如下方式進(jìn)行處理:
[0019]判斷當(dāng)前數(shù)據(jù)層上是否存在預(yù)處理器;
[0020]當(dāng)判斷結(jié)果為存在預(yù)處理器時(shí),從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù);
[0021]當(dāng)判斷結(jié)果為不存在預(yù)處理器時(shí),對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行解碼,判斷當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中是否存在非明文數(shù)據(jù);
[0022]當(dāng)判斷出當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中的非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型;
[0023]根據(jù)確定出的所述非明文數(shù)據(jù)的起始位置,生成包含所述非明文數(shù)據(jù)的數(shù)據(jù)段;
[0024]選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù)。
[0025]其中,從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù)之后,所述方法還包括:
[0026]當(dāng)該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)為完成狀態(tài)時(shí),將該預(yù)處理器從當(dāng)前數(shù)據(jù)層刪除。
[0027]其中,選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)所述數(shù)據(jù)段進(jìn)行處理之后,所述方法還包括:
[0028]當(dāng)所述預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)處于未完成狀態(tài)時(shí),將所述預(yù)處理器存儲(chǔ)在當(dāng)前數(shù)據(jù)層上。
[0029]其中,數(shù)據(jù)流的當(dāng)前狀態(tài)根據(jù)如下方式確定:
[0030]判斷是否存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層;
[0031]當(dāng)判斷出存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài);
[0032]當(dāng)判斷出不存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)。
[0033]一種數(shù)據(jù)包負(fù)載的處理裝置,包括:
[0034]接收單元,用于接收待處理的數(shù)據(jù)包負(fù)載,所述數(shù)據(jù)包負(fù)載為完整數(shù)據(jù)的一部分;
[0035]處理單元,用于對(duì)接收單元接收到的所述數(shù)據(jù)包負(fù)載進(jìn)行處理,直至得到的數(shù)據(jù)為明文數(shù)據(jù)為止。
[0036]其中,所述裝置還包括:
[0037]判斷單元,用于判斷預(yù)先確定的數(shù)據(jù)流的當(dāng)前狀態(tài)是否為正常狀態(tài);則
[0038]所述處理單元,具體用于:
[0039]當(dāng)判斷單元判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài)時(shí),每次按照如下方式進(jìn)行處理:
[0040]對(duì)當(dāng)前數(shù)據(jù)進(jìn)行解析,判斷所述當(dāng)前數(shù)據(jù)中是否存在非明文數(shù)據(jù);
[0041]當(dāng)判斷出所述當(dāng)前數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型;
[0042]根據(jù)確定出的所述非明文數(shù)據(jù)的起始位置,生成包含所述非明文數(shù)據(jù)的數(shù)據(jù)段;[0043]選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù);其中,所述處理后的數(shù)據(jù)對(duì)應(yīng)一個(gè)數(shù)據(jù)層,且每次得到的處理后的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)層的層次依次升高。
[0044]進(jìn)一步的,所述處理單元具體用于:
[0045]當(dāng)判斷單元判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)時(shí),按照數(shù)據(jù)層的層次從低至高的順序依次使用如下方式進(jìn)行處理:
[0046]判斷當(dāng)前數(shù)據(jù)層上是否存在預(yù)處理器;
[0047]當(dāng)判斷結(jié)果為存在預(yù)處理器時(shí),從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù);
[0048]當(dāng)判斷結(jié)果為不存在預(yù)處理器時(shí),對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行解碼,判斷當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中是否存在非明文數(shù)據(jù);當(dāng)判斷出當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中的非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型;根據(jù)確定出的所述非明文數(shù)據(jù)的起始位置,生成包含所述非明文數(shù)據(jù)的數(shù)據(jù)段;選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù)。
[0049]進(jìn)一步的,所述裝置還包括:
[0050]刪除單元,用于從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù)之后,當(dāng)該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)為完成狀態(tài)時(shí),將該預(yù)處理器從當(dāng)前數(shù)據(jù)層刪除。
[0051]進(jìn)一步的,所述裝置還包括:
[0052]存儲(chǔ)單元,用于當(dāng)選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)所述數(shù)據(jù)段進(jìn)行處理之后,所述預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)處于未完成狀態(tài)時(shí),將所述預(yù)處理器存儲(chǔ)在當(dāng)前數(shù)據(jù)層上。
[0053]進(jìn)一步的,所述裝置還包括:
[0054]數(shù)據(jù)流狀態(tài)確定單元,用于判斷是否存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層;當(dāng)判斷出存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài);當(dāng)判斷出不存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)。
[0055]本發(fā)明實(shí)施例的有益效果如下:
[0056]本發(fā)明實(shí)施例與現(xiàn)有技術(shù)相比,并不是對(duì)全部數(shù)據(jù)進(jìn)行第一層的處理后再進(jìn)行第二層的處理,而是當(dāng)接收到作為完整數(shù)據(jù)的一部分的數(shù)據(jù)包負(fù)載時(shí),便對(duì)該數(shù)據(jù)包負(fù)載進(jìn)行處理,直至得到的數(shù)據(jù)為明文數(shù)據(jù)為止。由于本方案中每接收到一個(gè)數(shù)據(jù)包負(fù)載,便能得到該數(shù)據(jù)包負(fù)載中包含的全部信息,使得后續(xù)設(shè)備可以對(duì)該數(shù)據(jù)包負(fù)載中包含的全部信息做到即時(shí)檢查,在提高每個(gè)數(shù)據(jù)包負(fù)載的處理效率的同時(shí),也提高了接收到的數(shù)據(jù)的安全性。
【專利附圖】

【附圖說(shuō)明】
[0057]圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)包負(fù)載的處理方法的原理流程圖;
[0058]圖2為本發(fā)明實(shí)施例提供的上述方法在實(shí)際應(yīng)用中的實(shí)現(xiàn)流程圖;
[0059]圖3為用于實(shí)現(xiàn)本發(fā)明實(shí)施例提供的數(shù)據(jù)包負(fù)載的處理方法的系統(tǒng)結(jié)構(gòu)圖;
[0060]圖4為流式預(yù)處理器模塊31的結(jié)構(gòu)示意圖;[0061]圖5為數(shù)據(jù)段生成器模塊311的處理流程示意圖;
[0062]圖6為狀態(tài)機(jī)模塊312的處理流程示意圖;
[0063]圖7為base64狀態(tài)機(jī)的狀態(tài)遷移圖;
[0064]圖8為數(shù)據(jù)層管理模塊313的處理流程示意圖;
[0065]圖9為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)包負(fù)載的處理裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0066]為了解決現(xiàn)有技術(shù)中網(wǎng)絡(luò)設(shè)備處理多層變換的數(shù)據(jù)流時(shí)存在的處理效率和安全性較低的問(wèn)題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)包負(fù)載的處理方法和裝置,該技術(shù)方案與現(xiàn)有技術(shù)相比,并不是對(duì)全部數(shù)據(jù)進(jìn)行第一層的處理后再進(jìn)行第二層的處理,而是當(dāng)接收到作為完整數(shù)據(jù)的一部分的數(shù)據(jù)包負(fù)載時(shí),便對(duì)該數(shù)據(jù)包負(fù)載進(jìn)行處理,直至得到的數(shù)據(jù)為明文數(shù)據(jù)為止。由于本方案中每接收到一個(gè)數(shù)據(jù)包負(fù)載,便能得到該數(shù)據(jù)包負(fù)載中包含的全部信息,使得后續(xù)設(shè)備可以對(duì)該數(shù)據(jù)包負(fù)載中包含的全部信息做到即時(shí)檢查,在提高每個(gè)數(shù)據(jù)包負(fù)載的處理效率的同時(shí),也提高了接收到的數(shù)據(jù)的安全性。
[0067]以下結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限制本發(fā)明。并且在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例的特征可以互相結(jié)合。
[0068]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)包負(fù)載的處理方法,如圖1所示為該方法的原理流程圖,主要包括下述步驟:
[0069]步驟11,接收待處理的數(shù)據(jù)包負(fù)載;
[0070]其中,接收到的待處理的數(shù)據(jù)包負(fù)載為完整數(shù)據(jù)的一部分;
[0071]步驟12,對(duì)該數(shù)據(jù)包負(fù)載進(jìn)行處理,直至得到的數(shù)據(jù)為明文數(shù)據(jù)為止。
[0072]下面根據(jù)上述提供的實(shí)現(xiàn)原理,對(duì)本發(fā)明實(shí)施例提供的數(shù)據(jù)包負(fù)載的處理方法進(jìn)行詳細(xì)介紹。其中,在詳細(xì)介紹之前,首先對(duì)本發(fā)明實(shí)施例中涉及到的一些概念進(jìn)行簡(jiǎn)單介紹:
[0073]本發(fā)明實(shí)施例中可以將完整數(shù)據(jù),即一個(gè)會(huì)話視為一個(gè)數(shù)據(jù)流,如果對(duì)數(shù)據(jù)流進(jìn)行分割,就會(huì)得到的多個(gè)數(shù)據(jù)段。則本發(fā)明實(shí)施例中接收到的每個(gè)數(shù)據(jù)包負(fù)載都可以視為一個(gè)大的數(shù)據(jù)段。
[0074]如果對(duì)接收到的數(shù)據(jù)包負(fù)載進(jìn)行解碼或解壓縮等操作后得到了新的數(shù)據(jù),那么得到的新的數(shù)據(jù)又是一個(gè)新的數(shù)據(jù)段,相比數(shù)據(jù)包負(fù)載而言,這個(gè)新的數(shù)據(jù)段是一個(gè)新的層次,因此本發(fā)明實(shí)施例中用數(shù)據(jù)層來(lái)描述這種層次關(guān)系,而數(shù)據(jù)包負(fù)載對(duì)應(yīng)的數(shù)據(jù)層的層次最低,對(duì)數(shù)據(jù)包負(fù)載依次處理后得到的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)層的層次依次升高。
[0075]如圖2所示,為本發(fā)明實(shí)施例提供的上述方法在實(shí)際應(yīng)用中的實(shí)現(xiàn)流程圖。該方法可以具體包括下述步驟:
[0076]步驟21,接收待處理的數(shù)據(jù)包負(fù)載,該數(shù)據(jù)包負(fù)載為完整數(shù)據(jù)的一部分;
[0077]步驟22,判斷預(yù)先確定的數(shù)據(jù)流的當(dāng)前狀態(tài)是否為正常狀態(tài);當(dāng)判斷結(jié)果為否時(shí),執(zhí)行步驟24,當(dāng)判斷結(jié)果為是時(shí),執(zhí)行步驟23 ;
[0078]數(shù)據(jù)流的當(dāng)前狀態(tài)可以根據(jù)如下方式確定:
[0079]判斷是否存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層;[0080]當(dāng)判斷出存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài);
[0081]當(dāng)判斷出不存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)。
[0082]步驟23,每次根據(jù)第一種處理方式進(jìn)行處理;
[0083]其中,第一種處理方式為:
[0084]對(duì)當(dāng)前數(shù)據(jù)進(jìn)行解析,判斷當(dāng)前數(shù)據(jù)中是否存在非明文數(shù)據(jù);
[0085]當(dāng)判斷出當(dāng)前數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型;
[0086]根據(jù)確定出的非明文數(shù)據(jù)的起始位置,生成包含非明文數(shù)據(jù)的數(shù)據(jù)段;
[0087]選擇包含與數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù);其中,處理后的數(shù)據(jù)對(duì)應(yīng)一個(gè)數(shù)據(jù)層,且每次得到的處理后的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)層的層次依次升高。
[0088]其中,當(dāng)判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)時(shí),此時(shí)不存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層,這種情況有兩種可能:第一種是此時(shí)接收到的數(shù)據(jù)包負(fù)載是當(dāng)前會(huì)話的第一個(gè)數(shù)據(jù)包負(fù)載,第二種是之前接收到的數(shù)據(jù)包負(fù)載中的非明文數(shù)據(jù)已經(jīng)全部處理完。因此,當(dāng)判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)時(shí),就不需要對(duì)接收到的數(shù)據(jù)包負(fù)載進(jìn)行預(yù)處理操作,而是直接對(duì)接收到的數(shù)據(jù)包負(fù)載進(jìn)行解碼處理,并且只有在解碼過(guò)程中遇到非明文數(shù)據(jù)時(shí),才會(huì)逐步創(chuàng)建數(shù)據(jù)層。
[0089]步驟24,按照數(shù)據(jù)層的層次從低至高的順序,每次根據(jù)第二種方式進(jìn)行處理;
[0090]其中,第二種處理方式為:
[0091]判斷當(dāng)前數(shù)據(jù)層上是否存在預(yù)處理器;
[0092]當(dāng)判斷結(jié)果為存在預(yù)處理器時(shí),從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù);
[0093]當(dāng)判斷結(jié)果為不存在預(yù)處理器時(shí),對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行解碼,判斷當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中是否存在非明文數(shù)據(jù);
[0094]當(dāng)判斷出當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中的非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型;
[0095]根據(jù)確定出的非明文數(shù)據(jù)的起始位置,生成包含非明文數(shù)據(jù)的數(shù)據(jù)段;其中,該數(shù)據(jù)段的長(zhǎng)度是從非明文數(shù)據(jù)的起始為止到該當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)的終止位置;
[0096]選擇包含與確定出的數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù)。
[0097]比如,確定出的數(shù)據(jù)類型為壓縮類型,則選擇包含解壓縮狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行解壓縮。
[0098]由于需要解壓縮的數(shù)據(jù)包負(fù)載可能跨包,即一段完整數(shù)據(jù)被壓縮后,被分成至少兩個(gè)數(shù)據(jù)包發(fā)送,所以一個(gè)預(yù)處理器對(duì)應(yīng)一個(gè)數(shù)據(jù)層,當(dāng)該預(yù)處理器中的狀態(tài)機(jī)處于解壓縮未完成狀態(tài)的情況下,就將該預(yù)處理器存儲(chǔ)在當(dāng)前數(shù)據(jù)層,以便后續(xù)可以使用該預(yù)處理器對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)繼續(xù)處理。
[0099]因此,該方法還可以進(jìn)一步包括:
[0100]當(dāng)該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)處于未完成狀態(tài)時(shí),將該預(yù)處理器存儲(chǔ)在當(dāng)前數(shù)據(jù)層上。[0101]以解壓縮過(guò)程為例,使用狀態(tài)機(jī)模型來(lái)組織解壓縮過(guò)程,解壓縮內(nèi)部的狀態(tài)遷移由解壓縮狀態(tài)機(jī)來(lái)維護(hù),每次進(jìn)入該解壓縮狀態(tài)機(jī)后,在一系列的狀態(tài)遷移之后,該解壓縮狀態(tài)機(jī)會(huì)返回一個(gè)當(dāng)前狀態(tài),可以包括:NEEDDATA,表示該解壓縮狀態(tài)機(jī)內(nèi)部還需要數(shù)據(jù)使之狀態(tài)遷移,F(xiàn)INISH,表示處理完成,ERROR,表示處理過(guò)程中發(fā)生錯(cuò)誤。因此,當(dāng)解壓縮狀態(tài)機(jī)退出之后,如果返回的當(dāng)前狀態(tài)是NEEDDATA,則將包含該解壓縮狀態(tài)機(jī)的預(yù)處理器存儲(chǔ)在當(dāng)前數(shù)據(jù)層上,等待下一次當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)入時(shí),該解壓縮狀態(tài)機(jī)可以從上次退出時(shí)的狀態(tài)繼續(xù)開(kāi)始狀態(tài)遷移,相當(dāng)于從當(dāng)前狀態(tài)重新喚醒。
[0102]同樣的,當(dāng)判斷結(jié)果為存在預(yù)處理器時(shí),從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù)之后,如果該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)為完成狀態(tài),則將該預(yù)處理器從當(dāng)前數(shù)據(jù)層刪除。
[0103]該技術(shù)方案與現(xiàn)有技術(shù)相比,并不是對(duì)全部數(shù)據(jù)進(jìn)行第一層的處理后再進(jìn)行第二層的處理,而是當(dāng)接收到作為完整數(shù)據(jù)的一部分的數(shù)據(jù)包負(fù)載時(shí),便對(duì)該數(shù)據(jù)包負(fù)載進(jìn)行處理,直至得到的數(shù)據(jù)為明文數(shù)據(jù)為止。由于本方案中每接收到一個(gè)數(shù)據(jù)包負(fù)載,便能得到該數(shù)據(jù)包負(fù)載中包含的全部信息,使得后續(xù)設(shè)備可以對(duì)該數(shù)據(jù)包負(fù)載中包含的全部信息做到即時(shí)檢查,在提高每個(gè)數(shù)據(jù)包負(fù)載的處理效率的同時(shí),也提高了接收到的數(shù)據(jù)的安全性。
[0104]如圖3所示,為用于實(shí)現(xiàn)本發(fā)明實(shí)施例提供的數(shù)據(jù)包負(fù)載的處理方法的系統(tǒng)結(jié)構(gòu)圖。該系統(tǒng)由流式預(yù)處理器單元31和明文處理單元32組成,流式預(yù)處理器單元31在整個(gè)會(huì)話過(guò)程中和明文處理模塊32實(shí)時(shí)交互。
[0105]其中,流式預(yù)處理器模塊31的結(jié)構(gòu)示意圖如圖4所示,包括數(shù)據(jù)段生成器模塊311、狀態(tài)機(jī)模塊312、數(shù)據(jù)層管理模塊313和數(shù)據(jù)流管理模塊314。
[0106]針對(duì)數(shù)據(jù)段生成器模塊311,如圖5所示,為數(shù)據(jù)段生成器模塊311的處理流程示意圖。
[0107]當(dāng)會(huì)話的第一個(gè)數(shù)據(jù)包負(fù)載進(jìn)入該系統(tǒng)中,此時(shí)就只有一個(gè)數(shù)據(jù)段和一個(gè)數(shù)據(jù)層,而且該數(shù)據(jù)層上沒(méi)有存儲(chǔ)任何預(yù)處理器。此時(shí)該數(shù)據(jù)包負(fù)載還沒(méi)有開(kāi)始解碼,并不知道哪里存在非明文數(shù)據(jù)。
[0108]隨著圖3中的明文處理模塊32對(duì)該數(shù)據(jù)包負(fù)載的解碼的進(jìn)行,當(dāng)明文處理模塊32發(fā)現(xiàn)該數(shù)據(jù)包負(fù)載中存在非明文數(shù)據(jù)時(shí),便跳轉(zhuǎn)到數(shù)據(jù)段生成器模塊311,該模塊根據(jù)明文處理模塊32攜帶的參數(shù),包括確定出的非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型,生成一個(gè)數(shù)據(jù)段,作為狀態(tài)機(jī)模塊312的輸入。
[0109]當(dāng)后續(xù)數(shù)據(jù)包負(fù)載進(jìn)入該系統(tǒng)時(shí),和第一個(gè)數(shù)據(jù)包負(fù)載進(jìn)入時(shí)不同的是,此時(shí)流式預(yù)處理器模塊31的內(nèi)部可能有多個(gè)等待輸入數(shù)據(jù)的數(shù)據(jù)層,而數(shù)據(jù)段生成器模塊311要保證每個(gè)需要輸入數(shù)據(jù)的數(shù)據(jù)層都能繼續(xù)得到數(shù)據(jù)進(jìn)行加壓縮等處理,因此應(yīng)該從數(shù)據(jù)層中選擇當(dāng)前沒(méi)有被處理的層次最低的數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)段做相應(yīng)處理,當(dāng)判斷出當(dāng)前數(shù)據(jù)層上存儲(chǔ)有狀態(tài)機(jī)(即上文中的包含狀態(tài)機(jī)的預(yù)處理器)時(shí),將當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)段輸出到狀態(tài)機(jī)模塊312,否則將當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)段輸出到數(shù)據(jù)流管理模塊314。
[0110]針對(duì)狀態(tài)機(jī)模塊312,如圖6所示,為狀態(tài)機(jī)模塊312的處理流程示意圖。
[0111]以base64狀態(tài)機(jī)為例,如圖7所示,為base64狀態(tài)機(jī)的狀態(tài)遷移圖。其中,狀態(tài)機(jī)中遇到\r是一個(gè)狀態(tài),遇到\n是一個(gè)狀態(tài),遇到第一個(gè)合法字符也是一個(gè)狀態(tài),這些狀態(tài)對(duì)后續(xù)模塊是透明的,但是數(shù)據(jù)層管理模塊313要知道該狀態(tài)機(jī)的總體狀態(tài):NEEDDATA(需要數(shù)據(jù)),F(xiàn)INISH (完成)還是ERROR (錯(cuò)誤)。當(dāng)狀態(tài)機(jī)退出之后的狀態(tài)是NEEDDATA,則當(dāng)前數(shù)據(jù)層中將添加這個(gè)狀態(tài)機(jī),等待下一次進(jìn)入之時(shí),可以從之前退出時(shí)的狀態(tài)開(kāi)始,相
當(dāng)于重新喚醒。
[0112]而在狀態(tài)機(jī)運(yùn)轉(zhuǎn)過(guò)程中,會(huì)從數(shù)據(jù)段的數(shù)據(jù)中得到新的數(shù)據(jù),這些新的數(shù)據(jù)導(dǎo)致原始的數(shù)據(jù)段被刪除,并產(chǎn)生新的數(shù)據(jù)段,而新的數(shù)據(jù)段的產(chǎn)生將會(huì)帶來(lái)數(shù)據(jù)層的變化,這些操作集合將會(huì)輸入到下一模塊數(shù)據(jù)層管理模塊313。
[0113]針對(duì)數(shù)據(jù)層管理模塊313,如圖8所示,為數(shù)據(jù)層管理模塊313的處理流程示意圖。
[0114]該數(shù)據(jù)層管理模塊313中,當(dāng)狀態(tài)機(jī)模塊312中處理的數(shù)據(jù)段是從明文處理模塊32進(jìn)入的,只需要對(duì)這一個(gè)數(shù)據(jù)段進(jìn)行處理,然后就可以跳轉(zhuǎn)到下一模塊數(shù)據(jù)流管理模塊314 ;但是當(dāng)狀態(tài)機(jī)模塊312中處理的數(shù)據(jù)段不是從明文處理模塊32進(jìn)入的,此時(shí)可能有多個(gè)數(shù)據(jù)層,因此處理完一個(gè)數(shù)據(jù)層之后,要繼續(xù)處理其它數(shù)據(jù)層,因此跳轉(zhuǎn)回?cái)?shù)據(jù)段生成器模塊313。
[0115]針對(duì)數(shù)據(jù)流管理模塊314,該模塊負(fù)責(zé)為明文處理模塊32準(zhǔn)備數(shù)據(jù),參考上圖,有兩條路徑可以進(jìn)入數(shù)據(jù)流管理模塊314,一個(gè)是數(shù)據(jù)段從明文處理模塊32進(jìn)入,狀態(tài)機(jī)模塊312構(gòu)建一個(gè)新的數(shù)據(jù)段。一個(gè)是數(shù)據(jù)段不是從明文處理模塊32進(jìn)入,對(duì)所有數(shù)據(jù)層進(jìn)行處理,最后返回層次最高的數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)段,并且該數(shù)據(jù)層肯定沒(méi)有存儲(chǔ)狀態(tài)機(jī)。簡(jiǎn)單的說(shuō)這兩條路徑,最后都提供給數(shù)據(jù)流管理模塊314 —個(gè)數(shù)據(jù)段(還有對(duì)應(yīng)的一個(gè)數(shù)據(jù)層)。數(shù)據(jù)流管理模塊314處理這個(gè)數(shù)據(jù)段。正常情況下,這個(gè)數(shù)據(jù)段有長(zhǎng)度。錯(cuò)誤情況,或者一些極端情況比如數(shù)據(jù)包負(fù)載為I字節(jié)。
[0116]該模塊負(fù)責(zé)將收到的數(shù)據(jù)段轉(zhuǎn)化為一個(gè)數(shù)據(jù)流。并且在該數(shù)據(jù)流管理模塊314中也有三個(gè)狀態(tài):數(shù)據(jù)流NEEDDATA,數(shù)據(jù)流NORMAL (正常),數(shù)據(jù)流ERROR。數(shù)據(jù)流NEEDDATA,說(shuō)明前面存在需要數(shù)據(jù)的數(shù)據(jù)層,則當(dāng)該系統(tǒng)再收到數(shù)據(jù)包負(fù)載時(shí),則直接依次對(duì)所有數(shù)據(jù)層進(jìn)行處理,最后返回層次最高的數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)段;數(shù)據(jù)流NORMAL,則說(shuō)明前面不存在需要數(shù)據(jù)的數(shù)據(jù)層,則該系統(tǒng)再收到數(shù)據(jù)包負(fù)載時(shí),則直接進(jìn)入明文處理模塊314。
[0117]基于上述構(gòu)思,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)包負(fù)載的處理裝置,如圖9所示,包括:
[0118]接收單元91,用于接收待處理的數(shù)據(jù)包負(fù)載,所述數(shù)據(jù)包負(fù)載為完整數(shù)據(jù)的一部分;
[0119]處理單元92,用于對(duì)接收單元91接收到的所述數(shù)據(jù)包負(fù)載進(jìn)行處理,直至得到的數(shù)據(jù)為明文數(shù)據(jù)為止。
[0120]其中,所述裝置還可以包括:
[0121]判斷單元93,用于判斷預(yù)先確定的數(shù)據(jù)流的當(dāng)前狀態(tài)是否為正常狀態(tài);則
[0122]所述處理單元92具體用于:
[0123]當(dāng)判斷單元93判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài)時(shí),每次按照如下方式進(jìn)行處理:
[0124]對(duì)當(dāng)前數(shù)據(jù)進(jìn)行解析,判斷所述當(dāng)前數(shù)據(jù)中是否存在非明文數(shù)據(jù);
[0125]當(dāng)判斷出所述當(dāng)前數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型;
[0126]根據(jù)確定出的所述非明文數(shù)據(jù)的起始位置,生成包含所述非明文數(shù)據(jù)的數(shù)據(jù)段;[0127]選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù);其中,所述處理后的數(shù)據(jù)對(duì)應(yīng)一個(gè)數(shù)據(jù)層,且每次得到的處理后的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)層的層次依次升高。
[0128]其中,所述處理單元92具體用于:
[0129]當(dāng)判斷單元93判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)時(shí),按照數(shù)據(jù)層的層次從低至高的順序依次使用如下方式進(jìn)行處理:
[0130]判斷當(dāng)前數(shù)據(jù)層上是否存在預(yù)處理器;
[0131]當(dāng)判斷結(jié)果為存在預(yù)處理器時(shí),從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù);
[0132]當(dāng)判斷結(jié)果為不存在預(yù)處理器時(shí),對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行解碼,判斷當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中是否存在非明文數(shù)據(jù);當(dāng)判斷出當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中的非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型;根據(jù)確定出的所述非明文數(shù)據(jù)的起始位置,生成包含所述非明文數(shù)據(jù)的數(shù)據(jù)段;選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù)。
[0133]進(jìn)一步的,所述裝置還包括:
[0134]刪除單元94,用于從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù)之后,當(dāng)該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)為完成狀態(tài)時(shí),將該預(yù)處理器從當(dāng)前數(shù)據(jù)層刪除。
[0135]進(jìn)一步的,所述裝置還包括:
[0136]存儲(chǔ)單元95,用于當(dāng)選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)所述數(shù)據(jù)段進(jìn)行處理之后,所述預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)處于未完成狀態(tài)時(shí),將所述預(yù)處理器存儲(chǔ)在當(dāng)前數(shù)據(jù)層上。
[0137]進(jìn)一步的,所述裝置還包括:
[0138]數(shù)據(jù)流狀態(tài)確定單元96,用于判斷是否存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層;當(dāng)判斷出存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài);當(dāng)判斷出不存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)。
[0139]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0140]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0141]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0142]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0143]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0144]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)包負(fù)載的處理方法,其特征在于,包括: 接收待處理的數(shù)據(jù)包負(fù)載,所述數(shù)據(jù)包負(fù)載為完整數(shù)據(jù)的一部分; 對(duì)所述數(shù)據(jù)包負(fù)載進(jìn)行處理,直至得到的數(shù)據(jù)為明文數(shù)據(jù)為止。
2.如權(quán)利要求1所述的方法,其特征在于,對(duì)所述數(shù)據(jù)包負(fù)載進(jìn)行處理之前,所述方法還包括: 判斷預(yù)先確定的數(shù)據(jù)流的當(dāng)前狀態(tài)是否為正常狀態(tài);則 對(duì)所述數(shù)據(jù)包負(fù)載進(jìn)行處理,具體包括: 當(dāng)判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)時(shí),每次按照如下方式進(jìn)行處理: 對(duì)當(dāng)前數(shù)據(jù)進(jìn)行解析,判斷所述當(dāng)前數(shù)據(jù)中是否存在非明文數(shù)據(jù); 當(dāng)判斷出所述當(dāng)前數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型; 根據(jù)確定出的所述非明文數(shù)據(jù)的起始位置,生成包含所述非明文數(shù)據(jù)的數(shù)據(jù)段; 選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù);其中,所述處理后的數(shù)據(jù)對(duì)應(yīng)一個(gè)數(shù)據(jù)層,且每次得到的處理后的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)層的層次依次升高。
3.如權(quán)利要求2所述的方法,其特征在于,對(duì)所述數(shù)據(jù)包負(fù)載進(jìn)行處理,具體包括: 當(dāng)判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài)時(shí),按照數(shù)據(jù)層的層次從低至高的順序依次使用如下方式進(jìn)行處理:` 判斷當(dāng)前數(shù)據(jù)層上是否存在預(yù)處理器; 當(dāng)判斷結(jié)果為存在預(yù)處理器時(shí),從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù); 當(dāng)判斷結(jié)果為不存在預(yù)處理器時(shí),對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行解碼,判斷當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中是否存在非明文數(shù)據(jù); 當(dāng)判斷出當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中的非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型; 根據(jù)確定出的所述非明文數(shù)據(jù)的起始位置,生成包含所述非明文數(shù)據(jù)的數(shù)據(jù)段; 選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù)。
4.如權(quán)利要求3所述的方法,其特征在于,從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù)之后,所述方法還包括: 當(dāng)該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)為完成狀態(tài)時(shí),將該預(yù)處理器從當(dāng)前數(shù)據(jù)層刪除。
5.如權(quán)利要求2~4任一所述的方法,其特征在于,選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)所述數(shù)據(jù)段進(jìn)行處理之后,所述方法還包括: 當(dāng)所述預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)處于未完成狀態(tài)時(shí),將所述預(yù)處理器存儲(chǔ)在當(dāng)前數(shù)據(jù)層上。
6.如權(quán)利要求2所述的方法,其特征在于,數(shù)據(jù)流的當(dāng)前狀態(tài)根據(jù)如下方式確定: 判斷是否存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層; 當(dāng)判斷出存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài);當(dāng)判斷出不存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)。
7.一種數(shù)據(jù)包負(fù)載的處理裝置,其特征在于,包括: 接收單元,用于接收待處理的數(shù)據(jù)包負(fù)載,所述數(shù)據(jù)包負(fù)載為完整數(shù)據(jù)的一部分; 處理單元,用于對(duì)接收單元接收到的所述數(shù)據(jù)包負(fù)載進(jìn)行處理,直至得到的數(shù)據(jù)為明文數(shù)據(jù)為止。
8.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 判斷單元,用于判斷預(yù)先確定的數(shù)據(jù)流的當(dāng)前狀態(tài)是否為正常狀態(tài);則 所述處理單元,具體用于: 當(dāng)判斷單元判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài)時(shí),每次按照如下方式進(jìn)行處理: 對(duì)當(dāng)前數(shù)據(jù)進(jìn)行解析,判斷所述當(dāng)前數(shù)據(jù)中是否存在非明文數(shù)據(jù); 當(dāng)判斷出所述當(dāng)前數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型; 根據(jù)確定出的所述非明文數(shù)據(jù)的起始位置,生成包含所述非明文數(shù)據(jù)的數(shù)據(jù)段; 選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù);其中,所述處理后的數(shù)據(jù)對(duì)應(yīng)一個(gè)數(shù)據(jù)層,且每次得到的處理后的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)層的層次依次升高。
9.如權(quán)利要求8所述的裝置,其特征在于,所述處理單元,具體用于:當(dāng)判斷單元判斷出數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)時(shí),按照數(shù)據(jù)層的層次從低至高的順序依次使用如下方式進(jìn)行處理: 判斷當(dāng)前數(shù)據(jù)層上是否存在預(yù)處理器; 當(dāng)判斷結(jié)果為存在預(yù)處理器時(shí),從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù); 當(dāng)判斷結(jié)果為不存在預(yù)處理器時(shí),對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行解碼,判斷當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中是否存在非明文數(shù)據(jù);當(dāng)判斷出當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中存在非明文數(shù)據(jù)時(shí),確定當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)中的非明文數(shù)據(jù)的起始位置和數(shù)據(jù)類型;根據(jù)確定出的所述非明文數(shù)據(jù)的起始位置,生成包含所述非明文數(shù)據(jù)的數(shù)據(jù)段;選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)生成的數(shù)據(jù)段進(jìn)行處理,得到處理后的數(shù)據(jù)。
10.如權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 刪除單元,用于從該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)開(kāi)始對(duì)當(dāng)前數(shù)據(jù)層對(duì)應(yīng)的數(shù)據(jù)進(jìn)行處理,得到處理后的數(shù)據(jù)之后,當(dāng)該預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)為完成狀態(tài)時(shí),將該預(yù)處理器從當(dāng)前數(shù)據(jù)層刪除。
11.如權(quán)利要求8~10任一所述的裝置,其特征在于,所述裝置還包括: 存儲(chǔ)單元,用于當(dāng)選擇包含與所述數(shù)據(jù)類型對(duì)應(yīng)的狀態(tài)機(jī)的預(yù)處理器,對(duì)所述數(shù)據(jù)段進(jìn)行處理之后,所述預(yù)處理器中包含的狀態(tài)機(jī)的當(dāng)前狀態(tài)處于未完成狀態(tài)時(shí),將所述預(yù)處理器存儲(chǔ)在當(dāng)前數(shù)據(jù)層上。
12.如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 數(shù)據(jù)流狀態(tài)確定單元,用于判斷是否存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層;當(dāng)判斷出存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為非正常狀態(tài);當(dāng)判斷出不存在存儲(chǔ)有預(yù)處理器的數(shù)據(jù)層時(shí),則數(shù)據(jù)流的當(dāng)前狀態(tài)為正常狀態(tài)。
【文檔編號(hào)】H04L12/26GK103701670SQ201310745964
【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2013年12月30日 優(yōu)先權(quán)日:2013年12月30日
【發(fā)明者】嚴(yán)心猷, 韓鵬, 覃永靖, 孫兆興, 孫利, 崔晨 申請(qǐng)人:北京神州綠盟信息安全科技股份有限公司, 北京神州綠盟科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
成安县| 邹平县| 博兴县| 阿巴嘎旗| 囊谦县| 漳州市| 凤凰县| 白玉县| 南和县| 松原市| 怀宁县| 焦作市| 高安市| 邵东县| 七台河市| 桃江县| 竹北市| 余庆县| 六盘水市| 娱乐| 张家川| 松原市| 治多县| 容城县| 清原| 丰城市| 重庆市| 陕西省| 霸州市| 杂多县| 呼伦贝尔市| 呼玛县| 美姑县| 星座| 武城县| 洛浦县| 麦盖提县| 滁州市| 隆回县| 八宿县| 萝北县|