一種上傳、下載數(shù)據(jù)的方法及網(wǎng)關(guān)的制作方法
【專利摘要】本發(fā)明公開了一種上傳、下載數(shù)據(jù)的方法及網(wǎng)關(guān),方法包括接收客戶端發(fā)送的數(shù)據(jù)上傳指令,其中,所述數(shù)據(jù)上傳指令攜帶客戶端所需上傳的數(shù)據(jù)的標(biāo)記;在緩存單元中沒有緩存與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù),以及在服務(wù)器沒有存儲(chǔ)有與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù)時(shí),向所述客戶端發(fā)送數(shù)據(jù)上傳許可指令;接收所述客戶端根據(jù)所述數(shù)據(jù)上傳許可指令上傳的數(shù)據(jù),并緩存所述數(shù)據(jù)。通過上述方式,本發(fā)明能夠減少數(shù)據(jù)在傳輸過程占用的帶寬,提高數(shù)據(jù)傳輸速度。
【專利說明】—種上傳、下載數(shù)據(jù)的方法及網(wǎng)關(guān)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,特別是涉及一種上傳、下載數(shù)據(jù)的方法及網(wǎng)關(guān)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,信息數(shù)據(jù)出現(xiàn)爆炸性增長,越來越多的用戶選擇通過互聯(lián)網(wǎng)獲取信息?;ヂ?lián)網(wǎng)中的信息通常存儲(chǔ)在服務(wù)器端,用戶通過網(wǎng)絡(luò)接入設(shè)備,例如:計(jì)算機(jī)、智能手機(jī)等等,從服務(wù)器端獲取信息,而服務(wù)器與網(wǎng)絡(luò)接入設(shè)備是通過網(wǎng)關(guān)連接在一起的。
[0003]用戶通過網(wǎng)絡(luò)接入設(shè)備向服務(wù)器請(qǐng)求信息時(shí),信息需要經(jīng)過網(wǎng)關(guān)層層轉(zhuǎn)發(fā),最過到達(dá)網(wǎng)絡(luò)接入設(shè)備,其中,用戶每次向服務(wù)器請(qǐng)求信息,服務(wù)器均需要向用戶發(fā)信息,網(wǎng)關(guān)也需要轉(zhuǎn)發(fā)該信息,當(dāng)同時(shí)向服務(wù)器請(qǐng)求信息的用戶的數(shù)量過大時(shí),對(duì)服務(wù)器和網(wǎng)關(guān)而言,將會(huì)面臨巨大壓力,對(duì)網(wǎng)絡(luò)帶寬的要求也極高。
【發(fā)明內(nèi)容】
[0004]本發(fā)明主要解決的技術(shù)問題是提供一種數(shù)據(jù)上傳、下載的方法及網(wǎng)關(guān),能夠減少數(shù)據(jù)在傳輸過程占用的帶寬,提高數(shù)據(jù)傳輸速度。
[0005]為解決上述技術(shù)問題,本發(fā)明采用的一個(gè)技術(shù)方案是:提供一種上傳數(shù)據(jù)的方法,包括接收客戶端發(fā)送的數(shù)據(jù)上傳指令,其中,所述數(shù)據(jù)上傳指令攜帶客戶端所需上傳的數(shù)據(jù)的標(biāo)記;在緩存單元中沒有緩存與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù),以及在服務(wù)器沒有存儲(chǔ)有與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù)時(shí),向所述客戶端發(fā)送數(shù)據(jù)上傳許可指令;接收所述客戶端根據(jù)所述數(shù)據(jù)上傳許可指令上傳的數(shù)據(jù),并緩存所述數(shù)據(jù)。
[0006]其中,所述標(biāo)記為第一 MD5值,所述第一 MD5為所述客戶端所需上傳的數(shù)據(jù)的MD5值;所述在緩存單元中沒有緩存與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù),以及在服務(wù)器沒有存儲(chǔ)有與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù)時(shí),向所述客戶端發(fā)送數(shù)據(jù)上傳許可指令的步驟包括:獲取包含緩存單元中的各個(gè)數(shù)據(jù)的MD5值的第一集合;在第一集合中查找與第一 MD5值相同的成員;若沒有找到所述成員;,則向服務(wù)器發(fā)送所述第一 MD5,以使所述服務(wù)器在第二集合中查找與第一MD5值相同的成員,其中,所述第二集合為包含服務(wù)器中存儲(chǔ)的各個(gè)數(shù)據(jù)的MD5值的集合;接收所述服務(wù)器返回的在第二集合中沒有找到與第一 MD5值相同的成員的消息,并向所述客戶端發(fā)送數(shù)據(jù)上傳許可指令。
[0007]其中,方法還包括:若在所述第一集合中找到與第一 MD5值相匹配的成員,或者,接收所述服務(wù)器返回的在第二集合中找到與第一 MD5值相匹配的成員的消息,則向所述客戶端發(fā)送數(shù)據(jù)上傳成功消息。
[0008]其中,方法還包括:向所述服務(wù)器發(fā)送所述客戶端上傳的數(shù)據(jù),以使所述服務(wù)器存儲(chǔ)所述數(shù)據(jù)。
[0009]其中,方法還包括:獲取緩存單元中的各個(gè)數(shù)據(jù)的緩存時(shí)間;判斷所述緩存時(shí)間是否超過閥值時(shí)間;若所述緩存時(shí)間超過閥值時(shí)間,則刪除所述緩存時(shí)間對(duì)應(yīng)的數(shù)據(jù)。[0010]為解決上述技術(shù)問題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種下載數(shù)據(jù)的方法,包括:接收客戶端發(fā)送的第一數(shù)據(jù)下載指令,并向所述服務(wù)器轉(zhuǎn)發(fā)所述第一數(shù)據(jù)下載指令,其中,所述第一數(shù)據(jù)下載指令攜帶所需下載的數(shù)據(jù)的標(biāo)識(shí);接收所述服務(wù)器根據(jù)所述標(biāo)識(shí)返回的第一 MD5值,其中,所述第一 MD5值為在所述服務(wù)器所存儲(chǔ)的,并且與所述標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)的MD5值;根據(jù)所述標(biāo)識(shí)在緩存單元中查找第二數(shù)據(jù),其中,所述第二數(shù)據(jù)為緩存單元中所緩存的,并且與所述標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù);若找到所述第二數(shù)據(jù),則獲取所述第二數(shù)據(jù)的第二 MD5值;比對(duì)所述第一 MD5與第二 MD5是否相同;若相同,則向客戶端返回所述第二數(shù)據(jù)。
[0011]其中,所述方法還包括:若所述第一 MD5與第二 MD5不相同,則向所述客戶端發(fā)送提示消息,以提示所述客戶端所述第一數(shù)據(jù)與第二數(shù)據(jù)不一致。
[0012]其中,所述方法還包括:若沒有找到所述第二數(shù)據(jù)時(shí),向所述服務(wù)器發(fā)送第二數(shù)據(jù)下載指令,其中,所述第二數(shù)據(jù)下載指令用于請(qǐng)求服務(wù)器發(fā)送第一數(shù)據(jù);接收所述服務(wù)器發(fā)送的第一數(shù)據(jù),并緩存所述第一數(shù)據(jù),以及向所述客戶端發(fā)送的第一數(shù)據(jù)。
[0013]為解決上述技術(shù)問題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種網(wǎng)關(guān),包括第一接收模塊,用于接收客戶端發(fā)送的數(shù)據(jù)上傳指令,其中,所述數(shù)據(jù)上傳指令攜帶所需上傳的數(shù)據(jù)的標(biāo)記;第一發(fā)送模塊,用于在緩存單元中沒有緩存與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù),以及在服務(wù)器沒有存儲(chǔ)有與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù)時(shí),向所述客戶端發(fā)送數(shù)據(jù)上傳許可指令;第二接收模塊,用于接收所述客戶端根據(jù)所述數(shù)據(jù)上傳許可指令上傳的數(shù)據(jù),并緩存所述數(shù)據(jù)。
[0014]為解決上述技術(shù)問題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種網(wǎng)關(guān),包括第一接收模塊,用于接收客戶端發(fā)送的第一數(shù)據(jù)下載指令,并向所述服務(wù)器轉(zhuǎn)發(fā)所述第一數(shù)據(jù)下載指令,其中,所述第一數(shù)據(jù)下載指令攜帶所需下載的數(shù)據(jù)的標(biāo)識(shí);第二接收模塊,用于接收所述服務(wù)器根據(jù)所述標(biāo)識(shí)返回的第一 MD5值,其中,所述第一 MD5值為在所述服務(wù)器所存儲(chǔ)的,并且與所述標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)的MD5值;查找模塊,用于根據(jù)所述標(biāo)識(shí)在緩存單元中查找第二數(shù)據(jù),其中,所述第二數(shù)據(jù)為緩存單元中所緩存的,并且與所述標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù);獲取模塊,用于在所述查找模塊找到所述第二數(shù)據(jù)時(shí),獲取所述第二數(shù)據(jù)的第二 MD5值;比對(duì)模塊,用于比對(duì)所述第一 MD5與第二 MD5是否相同;發(fā)送模塊,用于在所述比對(duì)模塊比對(duì)到所述第一 MD5與第二 MD5值相同時(shí),向客戶端返回所述第二數(shù)據(jù)。
[0015]本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明將數(shù)據(jù)緩存在網(wǎng)關(guān),當(dāng)客戶端向服務(wù)器請(qǐng)求數(shù)據(jù)時(shí),并且判斷到網(wǎng)關(guān)緩存單元緩存有客戶端所請(qǐng)求的數(shù)據(jù),以及服務(wù)器存儲(chǔ)有客戶端所請(qǐng)求的數(shù)據(jù)時(shí),網(wǎng)關(guān)直接向客戶端返回所述請(qǐng)求的數(shù)據(jù),無需要服務(wù)器向客戶端發(fā)送所述請(qǐng)求的數(shù)據(jù),而服務(wù)器向客戶端發(fā)送所述請(qǐng)求的數(shù)據(jù),需要經(jīng)過網(wǎng)關(guān)轉(zhuǎn)發(fā),而本發(fā)明中網(wǎng)關(guān)直接向客戶端返回?cái)?shù)據(jù),縮減數(shù)據(jù)傳輸所經(jīng)過的網(wǎng)絡(luò)路徑,減少數(shù)據(jù)在傳輸過程占用的帶寬,從而提高數(shù)據(jù)傳輸速度。
【專利附圖】
【附圖說明】
[0016]圖1是本發(fā)明數(shù)據(jù)上傳、下載系統(tǒng)實(shí)施方式結(jié)構(gòu)示意圖;
[0017]圖2是本發(fā)明網(wǎng)關(guān)第一實(shí)施方式的結(jié)構(gòu)示意圖;
[0018]圖3是本發(fā)明網(wǎng)關(guān)第二實(shí)施方式的結(jié)構(gòu)示意圖;
[0019]圖4是本發(fā)明數(shù)據(jù)上傳的方法實(shí)施方式流程圖;[0020]圖5是本發(fā)明數(shù)據(jù)上傳的方法實(shí)施方式判斷服務(wù)器所存儲(chǔ)的數(shù)據(jù)與緩存單元中緩存的數(shù)據(jù)是否相同的流程圖;
[0021]圖6是本發(fā)明數(shù)據(jù)下載的方法實(shí)施方式流程圖。
【具體實(shí)施方式】
[0022]下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說明。 [0023]請(qǐng)參閱圖1,如圖所示,系統(tǒng)包括服務(wù)器10、網(wǎng)關(guān)11和客戶端12。服務(wù)器10通過網(wǎng)關(guān)11與客戶端12,網(wǎng)關(guān)11的數(shù)量為多個(gè),多個(gè)網(wǎng)關(guān)11連接在一起形成網(wǎng)絡(luò),服務(wù)器10向客戶端12發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)需要網(wǎng)關(guān)11轉(zhuǎn)發(fā),客戶端12向服務(wù)器10發(fā)送數(shù)據(jù),數(shù)據(jù)也需要經(jīng)網(wǎng)關(guān)11轉(zhuǎn)發(fā),其中,網(wǎng)關(guān)11可為路由器、交換機(jī)等等,網(wǎng)關(guān)11設(shè)置有緩存單元(圖未示),緩存單元用于緩存數(shù)據(jù),服務(wù)器10用于存儲(chǔ)數(shù)據(jù)。客戶端12可為計(jì)算機(jī)、智能手機(jī)等終端設(shè)備。
[0024]客戶端12需要向服務(wù)器10上傳數(shù)據(jù)時(shí),客戶端12向服務(wù)器10發(fā)送數(shù)據(jù)上傳指令,其中,數(shù)據(jù)上傳指令攜帶客戶端12所需要上傳的數(shù)據(jù)的標(biāo)記。其中,客戶端12向服務(wù)器10發(fā)送數(shù)據(jù)上傳指令時(shí),網(wǎng)關(guān)11先于服務(wù)器10接收到該數(shù)據(jù)上傳指令。網(wǎng)關(guān)11檢測緩存單元中是否緩存有該標(biāo)記對(duì)應(yīng)的數(shù)據(jù),若沒有,則網(wǎng)關(guān)11向服務(wù)器10發(fā)送該標(biāo)記。服務(wù)器10接收到標(biāo)記后,檢測服務(wù)器10上是否存儲(chǔ)有與該標(biāo)記對(duì)應(yīng)的數(shù)據(jù),若沒有,則服務(wù)器10向網(wǎng)關(guān)11下發(fā)沒有找到該標(biāo)記對(duì)應(yīng)的數(shù)據(jù)的消息,網(wǎng)關(guān)11接收到該消息后,向客戶端12發(fā)送數(shù)據(jù)上傳許可指令??蛻舳?2接收到數(shù)據(jù)上傳許可指令后,向網(wǎng)關(guān)11發(fā)送該數(shù)據(jù)。網(wǎng)關(guān)11接收到該數(shù)據(jù)后,在緩存單元中緩存該數(shù)據(jù),并向服務(wù)器10發(fā)送該數(shù)據(jù),以使服務(wù)器10存儲(chǔ)該數(shù)據(jù)。
[0025]數(shù)據(jù)上傳指令中攜帶的客戶端12所需上傳的數(shù)據(jù)的標(biāo)記可為數(shù)據(jù)的標(biāo)識(shí),例如:數(shù)據(jù)的名稱,也可以為該數(shù)據(jù)的第一 MD5值,第一 MD5為客戶端12所需上傳的數(shù)據(jù)的MD5值??蛻舳?2在需要上傳數(shù)據(jù)時(shí),根據(jù)算法計(jì)算所需上傳的數(shù)據(jù)的第一 MD5值,其中計(jì)算第一 MD5值的代碼如下:
[0026]
【權(quán)利要求】
1.一種上傳數(shù)據(jù)的方法,其特征在于,方法包括: 接收客戶端發(fā)送的數(shù)據(jù)上傳指令,其中,所述數(shù)據(jù)上傳指令攜帶客戶端所需上傳的數(shù)據(jù)的標(biāo)記; 在緩存單元中沒有緩存與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù),以及在服務(wù)器沒有存儲(chǔ)有與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù)時(shí),向所述客戶端發(fā)送數(shù)據(jù)上傳許可指令; 接收所述客戶端根據(jù)所述數(shù)據(jù)上傳許可指令上傳的數(shù)據(jù),并緩存所述數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述標(biāo)記為第一MD5值,所述第一 MD5為所述客戶端所需上傳的數(shù)據(jù)的MD5值; 所述在緩存單元中沒有緩存與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù),以及在服務(wù)器沒有存儲(chǔ)有與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù)時(shí),向所述客戶端發(fā)送數(shù)據(jù)上傳許可指令的步驟包括: 獲取包含緩存單元中的各個(gè)數(shù)據(jù)的MD5值的第一集合; 在第一集合中查找與第一 MD5值相匹配的成員; 若沒有找到所述成員,則向服務(wù)器發(fā)送所述第一 MD5,以使所述服務(wù)器在第二集合中查找與第一 MD5值相匹配的成員,其中,所述第二集合為服務(wù)器中存儲(chǔ)的各個(gè)數(shù)據(jù)的MD5值的集合; 接收所述服務(wù)器返回 的在第二集合中沒有找到與第一 MD5值相匹配的成員的消息,并向所述客戶端發(fā)送數(shù)據(jù)上傳許可指令。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 若在所述第一集合中找到與第一 MD5值相匹配的成員,或者,接收所述服務(wù)器返回的在第二集合中找到與第一 MD5值相匹配的成員的消息,則向所述客戶端發(fā)送數(shù)據(jù)上傳成功消息。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 向所述服務(wù)器發(fā)送所述客戶端上傳的數(shù)據(jù),以使所述服務(wù)器存儲(chǔ)所述數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述方法,其特征在于,所述方法還包括: 獲取所述緩存單元中的各個(gè)數(shù)據(jù)的緩存時(shí)間; 判斷所述緩存時(shí)間是否超過閥值時(shí)間; 若所述緩存時(shí)間超過閥值時(shí)間,則刪除所述緩存時(shí)間對(duì)應(yīng)的數(shù)據(jù)。
6.一種下載數(shù)據(jù)的方法,其特征在于,所述方法包括: 接收客戶端發(fā)送的第一數(shù)據(jù)下載指令,并向所述服務(wù)器轉(zhuǎn)發(fā)所述第一數(shù)據(jù)下載指令,其中,所述第一數(shù)據(jù)下載指令攜帶客戶端所需下載的數(shù)據(jù)的標(biāo)識(shí); 接收所述服務(wù)器根據(jù)所述標(biāo)識(shí)返回的第一 MD5值,其中,所述第一 MD5值為在所述服務(wù)器所存儲(chǔ)的,并且與所述標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)的MD5值; 根據(jù)所述標(biāo)識(shí)在緩存單元中查找第二數(shù)據(jù),其中,所述第二數(shù)據(jù)為緩存單元中所緩存的,并且與所述標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù); 若找到所述第二數(shù)據(jù),則獲取所述第二數(shù)據(jù)的第二 MD5值; 比對(duì)所述第一 MD5與第二 MD5是否相同; 若相同,則向所述客戶端返回所述第二數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括: 若所述第一MD5與第二 MD5不相同,則向所述客戶端發(fā)送提示消息,以提示所述客戶端所述第一數(shù)據(jù)與第二數(shù)據(jù)不一致。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括: 若沒有找到所述第二數(shù)據(jù)時(shí),向所述服務(wù)器發(fā)送第二數(shù)據(jù)下載指令,其中,所述第二數(shù)據(jù)下載指令用于請(qǐng)求服務(wù)器發(fā)送第一數(shù)據(jù); 接收所述服務(wù)器發(fā)送的第一數(shù)據(jù),并緩存所述第一數(shù)據(jù),以及向所述客戶端發(fā)送的第一數(shù)據(jù)。
9.一種網(wǎng)關(guān),其特征在于,包括: 第一接收模塊,用于接收客戶端發(fā)送的數(shù)據(jù)上傳指令,其中,所述數(shù)據(jù)上傳指令攜帶所需上傳的數(shù)據(jù)的標(biāo)記; 第一發(fā)送模塊,用于在緩存單元中沒有緩存與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù),以及在服務(wù)器沒有存儲(chǔ)有與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù)時(shí),向所述客戶端發(fā)送數(shù)據(jù)上傳許可指令; 第二接收模塊,用于接收所述客戶端根據(jù)所述數(shù)據(jù)上傳許可指令上傳的數(shù)據(jù),并緩存所述數(shù)據(jù)。
10.一種網(wǎng)關(guān),其特征在于,包括: 第一接收模塊,用于接收客戶端發(fā)送的第一數(shù)據(jù)下載指令,并向所述服務(wù)器轉(zhuǎn)發(fā)所述第一數(shù)據(jù)下載指令,其中,所述第一數(shù)據(jù)下載指令攜帶所需下載的數(shù)據(jù)的標(biāo)識(shí); 第二接收模塊,用于接收所述服務(wù)器根據(jù)所述標(biāo)記返回的第一 MD5值,其中,所述第一MD5值為在所述服務(wù)器所存儲(chǔ)的,并且與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù)的MD5值; 查找模塊,用于根據(jù)所述標(biāo)記在緩存單元中查找第二數(shù)據(jù),其中,所述第二數(shù)據(jù)為緩存單元中所緩存的,并且與所述標(biāo)記對(duì)應(yīng)的數(shù)據(jù); 獲取模塊,用于在所述查找模塊找到所述第二數(shù)據(jù)時(shí),獲取所述第二數(shù)據(jù)的第二 MD5值; 比對(duì)模塊,用于比對(duì)所述第一 MD5與第二 MD5是否相同; 發(fā)送模塊,用于在所述比對(duì)模塊比對(duì)到所述第一 MD5與第二 MD5值相同時(shí),向所述客戶端返回所述第二數(shù)據(jù)。
【文檔編號(hào)】H04L12/66GK103944972SQ201410131955
【公開日】2014年7月23日 申請(qǐng)日期:2014年4月2日 優(yōu)先權(quán)日:2014年4月2日
【發(fā)明者】張勤, 張鼎 申請(qǐng)人:深圳市中博科創(chuàng)信息技術(shù)有限公司