數(shù)據(jù)處理方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)處理方法和系統(tǒng)。
【背景技術(shù)】
[0002]在通信網(wǎng)絡(luò)技術(shù)中,通常需對(duì)在客戶(hù)端與服務(wù)器之間傳輸?shù)臄?shù)據(jù)進(jìn)行完整性保護(hù)。數(shù)據(jù)完整性保護(hù)即在客戶(hù)端對(duì)所傳輸?shù)臄?shù)據(jù)進(jìn)行計(jì)算得到數(shù)據(jù)摘要,服務(wù)器接收到數(shù)據(jù)后,用相應(yīng)的方法對(duì)數(shù)據(jù)進(jìn)行計(jì)算得到驗(yàn)證的數(shù)據(jù)摘要,如果二者相同,就說(shuō)明數(shù)據(jù)是完整的??蛻?hù)端與服務(wù)器之間傳輸?shù)臄?shù)據(jù)很容易被第三方篡改。因此需要對(duì)數(shù)據(jù)進(jìn)行完整性的保護(hù)。完整性保護(hù)是指保證數(shù)據(jù)在傳輸過(guò)程中沒(méi)有被第三方篡改。
[0003]在實(shí)際應(yīng)用過(guò)程中,對(duì)數(shù)據(jù)的完整性保護(hù)職能保證數(shù)據(jù)有序且完整,但不能保證數(shù)據(jù)的粘連和截?cái)唷?br>
【發(fā)明內(nèi)容】
[0004]鑒于上述現(xiàn)有的數(shù)據(jù)完整性保護(hù)方法無(wú)法保證數(shù)據(jù)粘連和截?cái)嗟膯?wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的數(shù)據(jù)處理方法和系統(tǒng)。
[0005]依據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)處理方法,包括:
[0006]接收客戶(hù)端傳輸?shù)臄?shù)據(jù),其中,所述數(shù)據(jù)包括頭部信息、長(zhǎng)度信息和實(shí)際數(shù)據(jù),所述頭部信息包括:封裝標(biāo)識(shí)信息,所述長(zhǎng)度信息包括預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度;
[0007]按照所述封裝標(biāo)識(shí)信息對(duì)所述實(shí)際數(shù)據(jù)進(jìn)行解封裝得到原始數(shù)據(jù);
[0008]按照預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度對(duì)所述原始數(shù)據(jù)進(jìn)行分割,得到至少一個(gè)數(shù)據(jù)包序列。
[0009]根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)處理系統(tǒng),包括:
[0010]數(shù)據(jù)接收模塊,用于接收客戶(hù)端傳輸?shù)臄?shù)據(jù),其中,所述數(shù)據(jù)包括頭部信息、長(zhǎng)度信息和實(shí)際數(shù)據(jù),所述頭部信息包括:封裝標(biāo)識(shí)信息,所述長(zhǎng)度信息包括預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度;
[0011]解封裝模塊,用于按照所述封裝標(biāo)識(shí)信息對(duì)所述實(shí)際數(shù)據(jù)進(jìn)行解封裝得到原始數(shù)據(jù);
[0012]分割模塊,用于按照預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度對(duì)所述原始數(shù)據(jù)進(jìn)行分割,得到至少一個(gè)數(shù)據(jù)包序列。
[0013]現(xiàn)有的數(shù)據(jù)完整性保護(hù)方案中,只能保證數(shù)據(jù)有序且完整,不能保證數(shù)據(jù)粘連和截?cái)?。本發(fā)明在客戶(hù)端向服務(wù)器傳輸?shù)臄?shù)據(jù)中設(shè)置頭部信息、長(zhǎng)度信息和實(shí)際數(shù)據(jù)。其中,實(shí)際數(shù)據(jù)是主要的數(shù)據(jù),頭部信息和長(zhǎng)度信息是為實(shí)際數(shù)據(jù)服務(wù)的。頭部信息和長(zhǎng)度信息獨(dú)立于實(shí)際數(shù)據(jù)。根據(jù)頭部信息中的封裝標(biāo)識(shí)信息對(duì)封裝的實(shí)際數(shù)據(jù)進(jìn)行解封裝得到原始數(shù)據(jù),并按照長(zhǎng)度信息中預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度對(duì)原始數(shù)據(jù)進(jìn)行分割,得到至少一個(gè)數(shù)據(jù)包序列,達(dá)到了數(shù)據(jù)粘連和截?cái)嗟男Ч?br>[0014]上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【附圖說(shuō)明】
[0015]通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0016]圖1是根據(jù)本發(fā)明實(shí)施例一的一種數(shù)據(jù)處理方法的步驟流程圖;
[0017]圖2是根據(jù)本發(fā)明實(shí)施例二的一種數(shù)據(jù)處理方法的步驟流程圖;
[0018]圖3是根據(jù)本發(fā)明實(shí)施例三的一種數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)框圖;
[0019]圖4是根據(jù)本發(fā)明實(shí)施例四的一種數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0020]下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0021]實(shí)施例一
[0022]詳細(xì)介紹本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法。
[0023]參照?qǐng)D1,示出了本發(fā)明實(shí)施例一中的一種數(shù)據(jù)處理方法的步驟流程圖。
[0024]步驟100,接收客戶(hù)端傳輸?shù)臄?shù)據(jù)。
[0025]其中,所述數(shù)據(jù)可以包括頭部信息、長(zhǎng)度信息和實(shí)際數(shù)據(jù),所述頭部信息可以包括:封裝標(biāo)識(shí)信息,所述長(zhǎng)度信息可以包括預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度。
[0026]所述客戶(hù)端傳輸?shù)臄?shù)據(jù)是一種寬泛的數(shù)據(jù),不僅僅包括實(shí)際數(shù)據(jù),還包括為實(shí)際數(shù)據(jù)服務(wù)的頭部信息和長(zhǎng)度信息。在傳輸?shù)臄?shù)據(jù)中,真正起到?jīng)Q定作用的實(shí)際數(shù)據(jù)。
[0027]頭部信息和長(zhǎng)度信息可以對(duì)實(shí)際數(shù)據(jù)的封裝形式和數(shù)據(jù)包序列的長(zhǎng)度進(jìn)行限定。
[0028]在頭部信息中可以利用封裝標(biāo)識(shí)信息對(duì)實(shí)際數(shù)據(jù)的封裝形式進(jìn)行限定。
[0029]在長(zhǎng)度信息中可以利用預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度指示實(shí)際數(shù)據(jù)被分割為各個(gè)數(shù)據(jù)包序列的長(zhǎng)度。
[0030]步驟102,按照所述封裝標(biāo)識(shí)信息對(duì)所述實(shí)際數(shù)據(jù)進(jìn)行解封裝得到原始數(shù)據(jù)。
[0031]封裝標(biāo)識(shí)信息指示實(shí)際數(shù)據(jù)的封裝形式,則對(duì)封裝的實(shí)際數(shù)據(jù)按照封裝標(biāo)識(shí)信息進(jìn)行逆向的解封裝得到原始數(shù)據(jù)。原始數(shù)據(jù)為未經(jīng)過(guò)任何封裝或其他處理的實(shí)際數(shù)據(jù)。
[0032]步驟104,按照預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度對(duì)所述原始數(shù)據(jù)進(jìn)行分割,得到至少一個(gè)數(shù)據(jù)包序列。
[0033]解封裝得到的原始數(shù)據(jù)可以是一串比較長(zhǎng)的實(shí)際數(shù)據(jù),其中,可以包括多段相互獨(dú)立的實(shí)際數(shù)據(jù)。
[0034]將原始數(shù)據(jù)按照預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度進(jìn)行分割,可以得到至少一個(gè)數(shù)據(jù)包序列,每個(gè)數(shù)據(jù)包序列可以為一個(gè)獨(dú)立的實(shí)際數(shù)據(jù)。
[0035]綜上所述,本發(fā)明實(shí)施例中的技術(shù)方案,在客戶(hù)端向服務(wù)器傳輸?shù)臄?shù)據(jù)中設(shè)置頭部信息、長(zhǎng)度信息和實(shí)際數(shù)據(jù)。其中,實(shí)際數(shù)據(jù)是主要的數(shù)據(jù),頭部信息和長(zhǎng)度信息是為實(shí)際數(shù)據(jù)服務(wù)的。頭部信息和長(zhǎng)度信息獨(dú)立于實(shí)際數(shù)據(jù)。根據(jù)頭部信息中的封裝標(biāo)識(shí)信息對(duì)封裝的實(shí)際數(shù)據(jù)進(jìn)行解封裝得到原始數(shù)據(jù),并按照長(zhǎng)度信息中預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度對(duì)原始數(shù)據(jù)進(jìn)行分割,得到至少一個(gè)數(shù)據(jù)包序列,達(dá)到了數(shù)據(jù)粘連和截?cái)嗟男Ч?br>[0036]實(shí)施例二
[0037]詳細(xì)介紹本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法。
[0038]參照?qǐng)D2,示出了本發(fā)明實(shí)施例二中的一種數(shù)據(jù)處理方法的步驟流程圖。
[0039]步驟200,接收客戶(hù)端傳輸?shù)臄?shù)據(jù)。
[0040]其中,所述數(shù)據(jù)可以包括頭部信息、長(zhǎng)度信息和實(shí)際數(shù)據(jù),所述頭部信息可以包括:封裝標(biāo)識(shí)信息,所述長(zhǎng)度信息可以包括預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度。
[0041]所述客戶(hù)端傳輸?shù)臄?shù)據(jù)是一種寬泛的數(shù)據(jù),不僅僅包括實(shí)際數(shù)據(jù),還包括為實(shí)際數(shù)據(jù)服務(wù)的頭部信息和長(zhǎng)度信息。在傳輸?shù)臄?shù)據(jù)中,真正起到?jīng)Q定作用的實(shí)際數(shù)據(jù)。
[0042]頭部信息和長(zhǎng)度信息可以對(duì)實(shí)際數(shù)據(jù)的封裝形式和數(shù)據(jù)包序列的長(zhǎng)度進(jìn)行限定。
[0043]在頭部信息中可以利用封裝標(biāo)識(shí)信息對(duì)實(shí)際數(shù)據(jù)的封裝形式進(jìn)行限定。
[0044]優(yōu)選地,所述封裝標(biāo)識(shí)信息可以包括行動(dòng)消息格式、JavaScript對(duì)象符號(hào)或MSGPACK。
[0045]若客戶(hù)端傳輸?shù)臄?shù)據(jù)為flash游戲的數(shù)據(jù),則封裝標(biāo)識(shí)信息可以為行動(dòng)消息格式或者JavaScript對(duì)象符號(hào);若客戶(hù)端傳輸?shù)臄?shù)據(jù)為手游的數(shù)據(jù),則封裝標(biāo)識(shí)信息可以為JavaScript對(duì)象符號(hào)或MSGPACK ( —個(gè)基于二進(jìn)制高效的對(duì)象序列化)。
[0046]在長(zhǎng)度信息中可以利用預(yù)設(shè)的每個(gè)數(shù)據(jù)包序列的長(zhǎng)度指示實(shí)際數(shù)據(jù)被分割為各個(gè)數(shù)據(jù)包序列的長(zhǎng)度。
[0047]步驟202,按照所述封裝標(biāo)識(shí)信息對(duì)所述實(shí)際數(shù)據(jù)進(jìn)行解封裝得到原始數(shù)據(jù)。
[0048]封裝標(biāo)識(shí)信息指示實(shí)際數(shù)據(jù)的封裝形式,則對(duì)封裝的實(shí)際數(shù)據(jù)按照封裝標(biāo)識(shí)信息進(jìn)行逆向的解封裝得到原始數(shù)據(jù)。原始數(shù)據(jù)為未經(jīng)過(guò)任何封裝或其他處理的實(shí)際數(shù)據(jù)。
[0049]優(yōu)選地,所述頭部信息還可以包括:壓縮標(biāo)識(shí)信息和加密標(biāo)識(shí)信息。
[0050]其中,壓縮標(biāo)識(shí)信息用于指示實(shí)際數(shù)據(jù)的壓縮方式,加密標(biāo)識(shí)信息用于指示實(shí)際數(shù)據(jù)的加密方式。
[0051]若所述頭部信息還包括壓縮標(biāo)識(shí)信息,則本發(fā)明實(shí)施例還可以包括:
[0052]步驟204,按照所述壓縮標(biāo)識(shí)信息對(duì)所述實(shí)際數(shù)據(jù)進(jìn)行解壓縮。
[0053]壓縮標(biāo)識(shí)信息指示實(shí)際數(shù)據(jù)的壓縮形式,則對(duì)封裝的實(shí)際數(shù)據(jù)按照壓縮標(biāo)識(shí)信息進(jìn)行逆向的解壓縮得到原始數(shù)據(jù)。原始數(shù)據(jù)為未經(jīng)過(guò)任何壓縮或其他處理的實(shí)際