數(shù)據(jù)傳輸方法及裝置的制造方法
【專利摘要】本發(fā)明是關(guān)于一種數(shù)據(jù)傳輸方法及裝置,該方法包括:接收待傳輸?shù)牟杉瘮?shù)據(jù);利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送;判斷所述采集數(shù)據(jù)是否被發(fā)送成功;當所述采集數(shù)據(jù)未發(fā)送成功時,將所述采集數(shù)據(jù)緩存到本地;利用預設(shè)重傳方式對緩存到本地的所述采集數(shù)據(jù)進行自動重傳,直至將所述采集數(shù)據(jù)成功發(fā)送。該方法,可以實現(xiàn)數(shù)據(jù)碎片化傳輸,提高了數(shù)據(jù)傳輸?shù)男剩瑪?shù)據(jù)傳輸?shù)膶崟r性高。
【專利說明】
數(shù)據(jù)傳輸方法及裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)傳輸方法及裝置。
【背景技術(shù)】
[0002]隨著全球化的發(fā)展,越來越多的企業(yè)在全球各地都開展有業(yè)務(wù),為了方便對數(shù)據(jù)進行管理以及分析,通常都是在所在地設(shè)置有服務(wù)器,也即在一個企業(yè)可能在全球各地都設(shè)置有大量的服務(wù)器,但為了實現(xiàn)對數(shù)據(jù)的同一管理,需要將這些服務(wù)器匯總到數(shù)據(jù)統(tǒng)計中心,例如:中國的企業(yè)可能需要將數(shù)據(jù)匯總到設(shè)置在國內(nèi)的數(shù)據(jù)統(tǒng)計中心。
[0003]但是在現(xiàn)有的跨國服務(wù)器傳輸數(shù)據(jù)時,在國外服務(wù)器采集到數(shù)據(jù)后,主要依靠nginx(—個高性能的HTTP和反向代理服務(wù)器)日志,nginx日志每十分鐘旋轉(zhuǎn)一次,產(chǎn)生出一個log(日志)文件,然后使用SCP(Sess1n Control Protocol;會話控制協(xié)議)技術(shù)將nginx log文件整體發(fā)送到國內(nèi)服務(wù)器中。
[0004]而在實際應用中,國外到國內(nèi)網(wǎng)絡(luò)可能不穩(wěn)定,對于很大的nginx log文件,在傳輸文件過程中隨時可能中斷,出現(xiàn)中斷,可能要將整個nginx log文件重傳,這一方面不僅浪費資源,而且數(shù)據(jù)上報最少要延遲10分鐘,實時性差,無法滿足大數(shù)據(jù)匯總的要求。
【發(fā)明內(nèi)容】
[0005]為克服相關(guān)技術(shù)中存在的問題,本發(fā)明提供一種數(shù)據(jù)傳輸方法及裝置。
[0006]根據(jù)本發(fā)明實施例的第一方面,提供一種數(shù)據(jù)傳輸方法,包括:
[0007]接收待傳輸?shù)牟杉瘮?shù)據(jù);
[0008]利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送;
[0009]判斷所述采集數(shù)據(jù)是否被發(fā)送成功;
[0010]當所述采集數(shù)據(jù)未發(fā)送成功時,將所述采集數(shù)據(jù)緩存到本地;
[0011 ]利用預設(shè)重傳方式對緩存到本地的所述采集數(shù)據(jù)進行自動重傳,直至將所述采集數(shù)據(jù)成功發(fā)送。
[0012]可選地,所述接收待傳輸?shù)牟杉瘮?shù)據(jù),包括:
[0013]判斷預設(shè)數(shù)據(jù)接入接口是否被調(diào)用;
[0014]當所述預設(shè)數(shù)據(jù)接入接口被調(diào)用時,將所述預設(shè)數(shù)據(jù)接入接口接收到的數(shù)據(jù)作為所述采集數(shù)據(jù)。
[0015]可選地,所述利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送,包括:
[0016]解析所述采集數(shù)據(jù)的數(shù)據(jù)類型;
[0017]根據(jù)所述采集數(shù)據(jù)的數(shù)據(jù)類型,確定與所述采集數(shù)據(jù)相對應的加密策略;
[0018]利用所述加密策略對所述采集數(shù)據(jù)進行策略處理;
[0019]將策略處理后的采集數(shù)據(jù)通過所述傳輸網(wǎng)絡(luò)進行實時發(fā)送。
[0020]可選地,所述解析所述采集數(shù)據(jù)的數(shù)據(jù)類型,包括:
[0021 ]遍歷所述采集數(shù)據(jù)中的所有字段的字段內(nèi)容;
[0022]判斷所述字段內(nèi)容是否存在預設(shè)字段;
[0023]當所述字段內(nèi)容中包含預設(shè)字段時,將所述預設(shè)字段對應的數(shù)據(jù)類型確定為所述采集數(shù)據(jù)的數(shù)據(jù)類型。
[0024]可選地,所述判斷所述采集數(shù)據(jù)是否被發(fā)送成功,包括:
[0025]當將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送后,檢測是否在預設(shè)時間段內(nèi)接收預設(shè)成功響應碼;
[0026]當在預設(shè)時間段內(nèi)接收到所述預設(shè)成功響應碼時,確定所述采集數(shù)據(jù)被發(fā)送成功;
[0027]當在預設(shè)時間段內(nèi)未接收到所述預設(shè)成功響應碼時,確定所述采集數(shù)據(jù)未被發(fā)送成功。
[0028]可選地,所述利用預設(shè)重傳方式對緩存到本地的所述采集數(shù)據(jù)進行自動重傳,包括:
[0029]按照數(shù)據(jù)寫入順序依次讀取緩存到本地的所述采集數(shù)據(jù);
[0030]利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述讀取到的采集數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送。
[0031]根據(jù)本發(fā)明實施例的第二方面,提供一種數(shù)據(jù)傳輸裝置,包括:
[0032]數(shù)據(jù)接收模塊,用于接收待傳輸?shù)牟杉瘮?shù)據(jù);
[0033]實時發(fā)送模塊,用于利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送;
[0034]發(fā)送判斷模塊,用于判斷所述采集數(shù)據(jù)是否被發(fā)送成功;
[0035]數(shù)據(jù)緩存模塊,用于當所述采集數(shù)據(jù)未發(fā)送成功時,將所述采集數(shù)據(jù)緩存到本地;
[0036]數(shù)據(jù)重傳模塊,用于利用預設(shè)重傳方式對緩存到本地的所述采集數(shù)據(jù)進行自動重傳,直至將所述采集數(shù)據(jù)成功發(fā)送。
[0037]可選地,所述數(shù)據(jù)接收模塊,包括:
[0038]調(diào)用判斷子模塊,用于判斷預設(shè)數(shù)據(jù)接入接口是否被調(diào)用;
[0039]采集數(shù)據(jù)確定模塊,用于當所述預設(shè)數(shù)據(jù)接入接口被調(diào)用時,將所述預設(shè)數(shù)據(jù)接入接口接收到的數(shù)據(jù)作為所述采集數(shù)據(jù)。
[0040]可選地,所述實時發(fā)送模塊,包括:
[0041 ]數(shù)據(jù)類型解析子模塊,用于解析所述采集數(shù)據(jù)的數(shù)據(jù)類型;
[0042]加密策略確定子模塊,用于根據(jù)所述采集數(shù)據(jù)的數(shù)據(jù)類型,確定與所述采集數(shù)據(jù)相對應的加密策略;
[0043]策略處理子模塊,用于利用所述加密策略對所述采集數(shù)據(jù)進行策略處理;
[0044]發(fā)送子模塊,用于將策略處理后的采集數(shù)據(jù)通過所述傳輸網(wǎng)絡(luò)進行實時發(fā)送。
[0045]可選地,所述數(shù)據(jù)類型解析子模塊,包括:
[0046]字段獲取子模塊,用于遍歷所述數(shù)據(jù)中的所有字段的字段內(nèi)容;
[0047]字段判斷子模塊,用于判斷所述字段內(nèi)容是否存在預設(shè)字段;
[0048]數(shù)據(jù)類型確定子模塊,用于當所述字段內(nèi)容中包含預設(shè)字段時,將所述預設(shè)字段對應的數(shù)據(jù)類型確定為所述采集數(shù)據(jù)的數(shù)據(jù)類型。
[0049]可選地,所述發(fā)送判斷模塊,包括:
[0050]響應碼檢測模塊,用于當將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送后,檢測是否在預設(shè)時間段內(nèi)接收預設(shè)成功響應碼;
[0051]第一確定子模塊,用于當在預設(shè)時間段內(nèi)接收到所述預設(shè)成功響應碼時,確定所述采集數(shù)據(jù)被發(fā)送成功;
[0052]第二確定子模塊,用于當在預設(shè)時間段內(nèi)未接收到所述預設(shè)成功響應碼時,確定所述采集數(shù)據(jù)未被發(fā)送成功。
[0053]可選地,所述數(shù)據(jù)重傳模塊,包括:
[0054]數(shù)據(jù)讀取子模塊,用于按照數(shù)據(jù)寫入順序依次讀取緩存到本地的所述采集數(shù)據(jù);
[0055]數(shù)據(jù)發(fā)送子模塊,用于利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述讀取到的采集數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送。
[0056]本發(fā)明的實施例提供的技術(shù)方案可以包括以下有益效果:
[0057]本發(fā)明實施例提供的該方法,接收待傳輸?shù)牟杉瘮?shù)據(jù);利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送;判斷所述采集數(shù)據(jù)是否被發(fā)送成功;當所述采集數(shù)據(jù)未發(fā)送成功時,將所述采集數(shù)據(jù)緩存到本地;利用預設(shè)重傳方式對緩存到本地的所述采集數(shù)據(jù)進行自動重傳,直至將所述采集數(shù)據(jù)成功發(fā)送
[0058]在該方法中,由于數(shù)據(jù)可以被實時發(fā)送,相應地,每當接收到采集數(shù)據(jù),均可以直接被發(fā)送,因此,數(shù)據(jù)不用必須在本地存儲為一個特定格式的文件后再發(fā)送。相比于現(xiàn)有技術(shù)中,采用nginx log日志每10分鐘發(fā)送一次數(shù)據(jù)而言,本發(fā)明實施例提供的該方法,可以實現(xiàn)數(shù)據(jù)碎片化傳輸,提高了數(shù)據(jù)傳輸?shù)男?,?shù)據(jù)傳輸?shù)膶崟r性高。
[0059]另外,由于在網(wǎng)絡(luò)繁忙或故障時,采集數(shù)據(jù)在接收到時,無法被實時發(fā)送出去,那么就可以將該采集數(shù)據(jù)緩存到本地,對于本地緩存的數(shù)據(jù),在網(wǎng)絡(luò)狀態(tài)良好時,仍然按照寫入的順序采用碎片化傳輸,因此同樣可以提高數(shù)據(jù)傳輸?shù)男?,?shù)據(jù)傳輸?shù)膶崟r性高。
[0060]應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
【附圖說明】
[0061]此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
[0062]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0063]圖1為根據(jù)一示例性實施例示出的一種數(shù)據(jù)傳輸方法的流程示意圖;
[0064]圖2為圖1中步驟SlOl的流程示意圖;
[0065]圖3為圖1中步驟S102的流程示意圖;
[0066]圖4為圖1中步驟S103的流程示意圖;
[0067]圖5為圖1中步驟S105的流程示意圖;
[0068]圖6為根據(jù)一示例性實施例示出的一種數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖;
[0069]圖7為圖6中數(shù)據(jù)接收模塊的結(jié)構(gòu)示意圖;
[0070]圖8為圖6中實時發(fā)送模塊的結(jié)構(gòu)示意圖;
[0071 ]圖9為圖6中發(fā)送判斷模塊的結(jié)構(gòu)示意圖;
[0072]圖10為圖6中數(shù)據(jù)重傳模塊的結(jié)構(gòu)示意圖。
【具體實施方式】
[0073]這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0074]圖1是根據(jù)一示例性實施例示出的一種數(shù)據(jù)傳輸方法的流程圖。該數(shù)據(jù)傳輸方法可以應用于服務(wù)器中,尤其是針對跨區(qū)域數(shù)據(jù)傳輸?shù)亩鄠€服務(wù)器中的采集服務(wù)器,當采集服務(wù)器采集到數(shù)據(jù)后,需要跨區(qū)域?qū)⒉杉瘮?shù)據(jù)發(fā)送給其它服務(wù)器,如圖1所示,該數(shù)據(jù)傳輸方法可以包括以下步驟。
[0075]步驟SlOl,接收待傳輸?shù)牟杉瘮?shù)據(jù)。
[0076]采集數(shù)據(jù)可以是服務(wù)器當前接收到用戶上傳的數(shù)據(jù),也可以是服務(wù)器從數(shù)據(jù)文件中讀取得到的數(shù)據(jù),無論哪種方式,接收到的采集數(shù)據(jù)均需要傳輸給其它服務(wù)器。
[0077]在一個實施例中,如圖2所示,該步驟可以包括以下步驟:
[0078]步驟SlOll,判斷預設(shè)數(shù)據(jù)接入接口是否被調(diào)用。
[0079]當所述預設(shè)數(shù)據(jù)接入接口被調(diào)用時,執(zhí)行步驟S1012;否則,結(jié)束流程。
[0080]步驟S1012,將所述預設(shè)數(shù)據(jù)接入接口接收到的數(shù)據(jù)作為所述采集數(shù)據(jù)。
[0081]在本發(fā)明實施例中,可以在采集服務(wù)區(qū)中設(shè)置有數(shù)據(jù)接入層restfulapi,其中,REST是指REpresentat1n State Transfer,簡稱:表述性狀態(tài)轉(zhuǎn)移,API是指Applicat1nProgramming Interface,簡稱:應用程序編程接口。
[0082]相應地,在本實施例中,預設(shè)數(shù)據(jù)接入接口,可以為數(shù)據(jù)接入層restfulapi。在采集服務(wù)器中,一旦有調(diào)用該預設(shè)數(shù)據(jù)接入接口的某個服務(wù),那么就可以通過該預設(shè)數(shù)據(jù)接入接口接收該服務(wù)上傳的數(shù)據(jù)。
[0083]步驟S102,利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送。
[0084]在本發(fā)明實施例中,預設(shè)網(wǎng)絡(luò)傳輸協(xié)議是指可以將數(shù)據(jù)實時發(fā)送的協(xié)議,例如:HTTP協(xié)議(Hyper Text Transfer Protocol,超文本傳輸協(xié)議)等。由于數(shù)據(jù)可以被實時發(fā)送,相應地,每當接收到采集數(shù)據(jù),均可以直接被發(fā)送,因此,數(shù)據(jù)不用必須在本地存儲為一個特定格式的文件后再發(fā)送。相比于現(xiàn)有技術(shù)中,采用nginx log日志每10分鐘發(fā)送一次數(shù)據(jù)而言,本發(fā)明實施例提供的該方法,可以實現(xiàn)數(shù)據(jù)碎片化傳輸,提高了數(shù)據(jù)傳輸?shù)男?,?shù)據(jù)傳輸?shù)膶崟r性高。
[0085]在本發(fā)明一實施例中,如圖3所示,上述步驟S102可以包括以下步驟:
[0086]步驟S1021,解析所述采集數(shù)據(jù)的數(shù)據(jù)類型。
[0087]在本發(fā)明實施例中,可以根據(jù)數(shù)據(jù)的隱私優(yōu)先級設(shè)置多個不同的數(shù)據(jù)類型,例如:可以包括:高隱私數(shù)據(jù)類型,低隱私數(shù)據(jù)類型和非隱私數(shù)據(jù)類型,其中,高隱私數(shù)據(jù)類型可以包括:用戶ID,C00kie,登錄密碼等,低隱私數(shù)據(jù)類型可以包括:用戶訪問日志、操作記錄等,非隱身數(shù)據(jù)類型可以包括:ur I (Uniform Resource Locator,統(tǒng)一資源定位符)地址等。
[0088]在本發(fā)明實施例中,步驟S1021可以采用以下方式實現(xiàn)。
[0089]SI,遍歷所述采集數(shù)據(jù)中的所有字段的字段內(nèi)容。
[0090]S2,判斷所述字段內(nèi)容是否存在預設(shè)字段。
[0091]預設(shè)字段是指上述:用戶ID,C00kie,登錄密碼,訪問日志,url等。
[0092]S3,當所述字段內(nèi)容中包含預設(shè)字段時,將所述預設(shè)字段對應的數(shù)據(jù)類型確定為所述采集數(shù)據(jù)的數(shù)據(jù)類型。
[0093]參見前述關(guān)于數(shù)據(jù)類型的描述,可以得知,一旦確定字段內(nèi)容中包含預設(shè)字段時,就可以準確確定該采集數(shù)據(jù)的數(shù)據(jù)類型。
[0094]步驟S1022,根據(jù)所述采集數(shù)據(jù)的數(shù)據(jù)類型,確定與所述采集數(shù)據(jù)相對應的加密策略。
[0095]在本發(fā)明實施例中,對于高隱私數(shù)據(jù)類型,其對應的加密策略可以采用MD5(Message Digest Algorithm 5,消息摘要算法5)加密方式,對于用戶日志這類低隱私數(shù)據(jù)類型,其對應的加密策略可以采用對稱加密算法和非對稱加密算法,對于url這類非隱私數(shù)據(jù)類型,可以直接傳輸即可,而不進行壓縮處理。
[0096]步驟S1023,利用所述加密策略對所述采集數(shù)據(jù)進行策略處理。
[0097]根據(jù)步驟S1022中確定的加密策略,在該步驟中,可以直接根據(jù)確定的加密策略進行分別處理。
[0098]步驟S1024,將策略處理后的采集數(shù)據(jù)通過所述傳輸網(wǎng)絡(luò)進行實時發(fā)送。
[0099]步驟S103,判斷所述采集數(shù)據(jù)是否被發(fā)送成功。
[0100]在本發(fā)明實施例中,當將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送后,如圖4所示,該步驟可以采用包括以下步驟。
[0101]步驟S1031,檢測是否在預設(shè)時間段內(nèi)接收預設(shè)成功響應碼。
[0102]對于HTTP協(xié)議而言,當數(shù)據(jù)傳輸成功后,會向數(shù)據(jù)的發(fā)送方返回200頁面,一旦發(fā)送方接收到200頁面,表示數(shù)據(jù)發(fā)送成功。
[0103]當在預設(shè)時間段內(nèi)接收到所述預設(shè)成功響應碼時,執(zhí)行步驟S1032,否則,執(zhí)行步驟S1033。
[0104]步驟S1032,確定所述采集數(shù)據(jù)被發(fā)送成功;
[0105]步驟S1033,確定所述采集數(shù)據(jù)未被發(fā)送成功。
[0106]當所述采集數(shù)據(jù)發(fā)送成功時,結(jié)束流程。當所述采集數(shù)據(jù)未發(fā)送成功時,執(zhí)行步驟S104o
[0107]步驟S104,將所述采集數(shù)據(jù)緩存到本地。
[0108]步驟S105,利用預設(shè)重傳方式對緩存到本地的所述采集數(shù)據(jù)進行自動重傳,直至將所述采集數(shù)據(jù)成功發(fā)送。
[0109]在重傳時,可以預先設(shè)置好重傳腳本,在重傳腳本中可以設(shè)置重傳啟動條件,例如可以對網(wǎng)絡(luò)實時監(jiān)測,一旦網(wǎng)絡(luò)狀態(tài)良好,可以啟動重傳,并且在重傳時可以包括以下步驟。
[0110]步驟S1051,按照數(shù)據(jù)寫入順序依次讀取緩存到本地的所述采集數(shù)據(jù)。
[0111]步驟S1052,利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述讀取到的采集數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送。
[0112]由于在網(wǎng)絡(luò)繁忙或故障時,采集數(shù)據(jù)在接收到時,無法被實時發(fā)送出去,那么就可以將該采集數(shù)據(jù)緩存到本地,對于本地緩存的數(shù)據(jù),在網(wǎng)絡(luò)狀態(tài)良好時,仍然按照寫入的順序采用碎片化傳輸,因此同樣可以提高數(shù)據(jù)傳輸?shù)男?,?shù)據(jù)傳輸?shù)膶崟r性高。
[0113]在圖1所示實施例的基礎(chǔ)上,本發(fā)明實施例還提供一種數(shù)據(jù)傳輸裝置,如圖6所示,該數(shù)據(jù)傳輸裝置,可以包括:
[0114]數(shù)據(jù)接收模塊11,用于接收待傳輸?shù)牟杉瘮?shù)據(jù)。
[0115]采集數(shù)據(jù)可以是服務(wù)器當前接收到用戶上傳的數(shù)據(jù),也可以是服務(wù)器從數(shù)據(jù)文件中讀取得到的數(shù)據(jù),無論哪種方式,接收到的采集數(shù)據(jù)均需要傳輸給其它服務(wù)器。
[0116]在本發(fā)明另一實施例中,如圖7所示,圖6中的數(shù)據(jù)接收模塊11,可以包括:
[0117]調(diào)用判斷子模塊111,用于判斷預設(shè)數(shù)據(jù)接入接口是否被調(diào)用。
[0118]采集數(shù)據(jù)確定模塊112,用于當所述預設(shè)數(shù)據(jù)接入接口被調(diào)用時,將所述預設(shè)數(shù)據(jù)接入接口接收到的數(shù)據(jù)作為所述采集數(shù)據(jù)。
[0119]在本發(fā)明實施例中,可以在采集服務(wù)區(qū)中設(shè)置有數(shù)據(jù)接入層restfulapi,其中,REST是指REpresentat1n State Transfer,簡稱:表述性狀態(tài)轉(zhuǎn)移,API是指Applicat1nProgramming Interface,簡稱:應用程序編程接口。
[0120]相應地,在本實施例中,預設(shè)數(shù)據(jù)接入接口,可以為數(shù)據(jù)接入層restfulapi。在采集服務(wù)器中,一旦有調(diào)用該預設(shè)數(shù)據(jù)接入接口的某個服務(wù),那么就可以通過該預設(shè)數(shù)據(jù)接入接口接收該服務(wù)上傳的數(shù)據(jù)。
[0121]實時發(fā)送模塊12,用于利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送。
[0122]在本發(fā)明實施例中,預設(shè)網(wǎng)絡(luò)傳輸協(xié)議是指可以將數(shù)據(jù)實時發(fā)送的協(xié)議,例如:HTTP協(xié)議(Hyper Text Transfer Protocol,超文本傳輸協(xié)議)等。由于數(shù)據(jù)可以被實時發(fā)送,相應地,每當接收到采集數(shù)據(jù),均可以直接被發(fā)送,因此,數(shù)據(jù)不用必須在本地存儲為一個特定格式的文件后再發(fā)送。相比于現(xiàn)有技術(shù)中,采用nginx log日志每10分鐘發(fā)送一次數(shù)據(jù)而言,本發(fā)明實施例提供的該方法,可以實現(xiàn)數(shù)據(jù)碎片化傳輸,提高了數(shù)據(jù)傳輸?shù)男?,?shù)據(jù)傳輸?shù)膶崟r性高。
[0123]在本發(fā)明另一實施例中,如圖8所示,圖6中的實時發(fā)送模塊12可以包括:
[0124]數(shù)據(jù)類型解析子模塊121,用于解析所述采集數(shù)據(jù)的數(shù)據(jù)類型。
[0125]在本發(fā)明實施例中,可以根據(jù)數(shù)據(jù)的隱私優(yōu)先級設(shè)置多個不同的數(shù)據(jù)類型,例如:可以包括:高隱私數(shù)據(jù)類型,低隱私數(shù)據(jù)類型和非隱私數(shù)據(jù)類型,其中,高隱私數(shù)據(jù)類型可以包括:用戶ID,C00kie,登錄密碼等,低隱私數(shù)據(jù)類型可以包括:用戶訪問日志、操作記錄等,非隱身數(shù)據(jù)類型可以包括:url (Uniform Resource Locator,統(tǒng)一資源定位符)地址等。
[0126]在本發(fā)明另一實施例中,圖6中的數(shù)據(jù)類型解析子模塊,包括:
[0127]字段獲取子模塊,用于遍歷所述數(shù)據(jù)中的所有字段的字段內(nèi)容。
[0128]字段判斷子模塊,用于判斷所述字段內(nèi)容是否存在預設(shè)字段。
[0129]預設(shè)字段是指上述:用戶ID,C00kie,登錄密碼,訪問日志,url等。
[0130]數(shù)據(jù)類型確定子模塊,用于當所述字段內(nèi)容中包含預設(shè)字段時,將所述預設(shè)字段對應的數(shù)據(jù)類型確定為所述采集數(shù)據(jù)的數(shù)據(jù)類型。
[0131]參見前述關(guān)于數(shù)據(jù)類型的描述,可以得知,一旦確定字段內(nèi)容中包含預設(shè)字段時,就可以準確確定該采集數(shù)據(jù)的數(shù)據(jù)類型。
[0132]加密策略確定子模塊122,用于根據(jù)所述采集數(shù)據(jù)的數(shù)據(jù)類型,確定與所述采集數(shù)據(jù)相對應的加密策略。
[0133]在本發(fā)明實施例中,對于高隱私數(shù)據(jù)類型,其對應的加密策略可以采用MD5(Message Digest Algorithm 5,消息摘要算法5)加密方式,對于用戶日志這類低隱私數(shù)據(jù)類型,其對應的加密策略可以采用對稱加密算法和非對稱加密算法,對于url這類非隱私數(shù)據(jù)類型,可以直接傳輸即可,而不進行壓縮處理。
[0134]策略處理子模塊123,用于利用所述加密策略對所述采集數(shù)據(jù)進行策略處理。
[0135]發(fā)送子模塊124,用于將策略處理后的采集數(shù)據(jù)通過所述傳輸網(wǎng)絡(luò)進行實時發(fā)送。
[0136]發(fā)送判斷模塊13,用于判斷所述采集數(shù)據(jù)是否被發(fā)送成功。
[0137]在本發(fā)明另一實施例中,如圖9所示,圖6中的發(fā)送判斷模塊13可以包括:
[0138]響應碼檢測模塊131,用于當將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送后,檢測是否在預設(shè)時間段內(nèi)接收預設(shè)成功響應碼。
[0139]對于HTTP協(xié)議而言,當數(shù)據(jù)傳輸成功后,會向數(shù)據(jù)的發(fā)送方返回200頁面,一旦發(fā)送方接收到200頁面,表示數(shù)據(jù)發(fā)送成功。
[0140]第一確定子模塊132,用于當在預設(shè)時間段內(nèi)接收到所述預設(shè)成功響應碼時,確定所述采集數(shù)據(jù)被發(fā)送成功。
[0141]第二確定子模塊133,用于當在預設(shè)時間段內(nèi)未接收到所述預設(shè)成功響應碼時,確定所述采集數(shù)據(jù)未被發(fā)送成功。
[0142]數(shù)據(jù)緩存模塊14,用于當所述采集數(shù)據(jù)未發(fā)送成功時,將所述采集數(shù)據(jù)緩存到本地。
[0143]數(shù)據(jù)重傳模塊15,用于利用預設(shè)重傳方式對緩存到本地的所述采集數(shù)據(jù)進行自動重傳,直至將所述采集數(shù)據(jù)成功發(fā)送。
[0144]在重傳時,可以預先設(shè)置好重傳腳本,在重傳腳本中可以設(shè)置重傳啟動條件,例如可以對網(wǎng)絡(luò)實時監(jiān)測,一旦網(wǎng)絡(luò)狀態(tài)良好,可以啟動重傳,如圖10所示,圖6中的所述數(shù)據(jù)重傳模塊15,包括:
[0145]數(shù)據(jù)讀取子模塊151,用于按照數(shù)據(jù)寫入順序依次讀取緩存到本地的所述采集數(shù)據(jù)。
[0146]數(shù)據(jù)發(fā)送子模塊152,用于利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述讀取到的采集數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送。
[0147]由于在網(wǎng)絡(luò)繁忙或故障時,采集數(shù)據(jù)在接收到時,無法被實時發(fā)送出去,那么就可以將該采集數(shù)據(jù)緩存到本地,對于本地緩存的數(shù)據(jù),在網(wǎng)絡(luò)狀態(tài)良好時,仍然按照寫入的順序采用碎片化傳輸,因此同樣可以提高數(shù)據(jù)傳輸?shù)男?,?shù)據(jù)傳輸?shù)膶崟r性高。
[0148]本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
[0149]應當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。
【主權(quán)項】
1.一種數(shù)據(jù)傳輸方法,其特征在于,包括: 接收待傳輸?shù)牟杉瘮?shù)據(jù); 利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送; 判斷所述采集數(shù)據(jù)是否被發(fā)送成功; 當所述采集數(shù)據(jù)未發(fā)送成功時,將所述采集數(shù)據(jù)緩存到本地; 利用預設(shè)重傳方式對緩存到本地的所述采集數(shù)據(jù)進行自動重傳,直至將所述采集數(shù)據(jù)成功發(fā)送。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收待傳輸?shù)牟杉瘮?shù)據(jù),包括: 判斷預設(shè)數(shù)據(jù)接入接口是否被調(diào)用; 當所述預設(shè)數(shù)據(jù)接入接口被調(diào)用時,將所述預設(shè)數(shù)據(jù)接入接口接收到的數(shù)據(jù)作為所述采集數(shù)據(jù)。3.根據(jù)權(quán)利要去I所述的方法,其特征在于,所述利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送,包括: 解析所述采集數(shù)據(jù)的數(shù)據(jù)類型; 根據(jù)所述采集數(shù)據(jù)的數(shù)據(jù)類型,確定與所述采集數(shù)據(jù)相對應的加密策略; 利用所述加密策略對所述采集數(shù)據(jù)進行策略處理; 將策略處理后的采集數(shù)據(jù)通過所述傳輸網(wǎng)絡(luò)進行實時發(fā)送。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述解析所述采集數(shù)據(jù)的數(shù)據(jù)類型,包括: 遍歷所述采集數(shù)據(jù)中的所有字段的字段內(nèi)容; 判斷所述字段內(nèi)容是否存在預設(shè)字段; 當所述字段內(nèi)容中包含預設(shè)字段時,將所述預設(shè)字段對應的數(shù)據(jù)類型確定為所述采集數(shù)據(jù)的數(shù)據(jù)類型。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述采集數(shù)據(jù)是否被發(fā)送成功,包括:當將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送后,檢測是否在預設(shè)時間段內(nèi)接收預設(shè)成功響應碼; 當在預設(shè)時間段內(nèi)接收到所述預設(shè)成功響應碼時,確定所述采集數(shù)據(jù)被發(fā)送成功;當在預設(shè)時間段內(nèi)未接收到所述預設(shè)成功響應碼時,確定所述采集數(shù)據(jù)未被發(fā)送成功。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用預設(shè)重傳方式對緩存到本地的所述采集數(shù)據(jù)進行自動重傳,包括: 按照數(shù)據(jù)寫入順序依次讀取緩存到本地的所述采集數(shù)據(jù); 利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述讀取到的采集數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送。7.一種數(shù)據(jù)傳輸裝置,其特征在于,包括: 數(shù)據(jù)接收模塊,用于接收待傳輸?shù)牟杉瘮?shù)據(jù); 實時發(fā)送模塊,用于利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送; 發(fā)送判斷模塊,用于判斷所述采集數(shù)據(jù)是否被發(fā)送成功; 數(shù)據(jù)緩存模塊,用于當所述采集數(shù)據(jù)未發(fā)送成功時,將所述采集數(shù)據(jù)緩存到本地; 數(shù)據(jù)重傳模塊,用于利用預設(shè)重傳方式對緩存到本地的所述采集數(shù)據(jù)進行自動重傳,直至將所述采集數(shù)據(jù)成功發(fā)送。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述數(shù)據(jù)接收模塊,包括: 調(diào)用判斷子模塊,用于判斷預設(shè)數(shù)據(jù)接入接口是否被調(diào)用; 采集數(shù)據(jù)確定模塊,用于當所述預設(shè)數(shù)據(jù)接入接口被調(diào)用時,將所述預設(shè)數(shù)據(jù)接入接口接收到的數(shù)據(jù)作為所述采集數(shù)據(jù)。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述實時發(fā)送模塊,包括: 數(shù)據(jù)類型解析子模塊,用于解析所述采集數(shù)據(jù)的數(shù)據(jù)類型; 加密策略確定子模塊,用于根據(jù)所述采集數(shù)據(jù)的數(shù)據(jù)類型,確定與所述采集數(shù)據(jù)相對應的加密策略; 策略處理子模塊,用于利用所述加密策略對所述采集數(shù)據(jù)進行策略處理; 發(fā)送子模塊,用于將策略處理后的采集數(shù)據(jù)通過所述傳輸網(wǎng)絡(luò)進行實時發(fā)送。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述數(shù)據(jù)類型解析子模塊,包括: 字段獲取子模塊,用于遍歷所述數(shù)據(jù)中的所有字段的字段內(nèi)容; 字段判斷子模塊,用于判斷所述字段內(nèi)容是否存在預設(shè)字段; 數(shù)據(jù)類型確定子模塊,用于當所述字段內(nèi)容中包含預設(shè)字段時,將所述預設(shè)字段對應的數(shù)據(jù)類型確定為所述采集數(shù)據(jù)的數(shù)據(jù)類型。11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述發(fā)送判斷模塊,包括: 響應碼檢測模塊,用于當將所述采集數(shù)據(jù)通過網(wǎng)絡(luò)實時發(fā)送后,檢測是否在預設(shè)時間段內(nèi)接收預設(shè)成功響應碼; 第一確定子模塊,用于當在預設(shè)時間段內(nèi)接收到所述預設(shè)成功響應碼時,確定所述采集數(shù)據(jù)被發(fā)送成功; 第二確定子模塊,用于當在預設(shè)時間段內(nèi)未接收到所述預設(shè)成功響應碼時,確定所述采集數(shù)據(jù)未被發(fā)送成功。12.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述數(shù)據(jù)重傳模塊,包括: 數(shù)據(jù)讀取子模塊,用于按照數(shù)據(jù)寫入順序依次讀取緩存到本地的所述采集數(shù)據(jù); 數(shù)據(jù)發(fā)送子模塊,用于利用預設(shè)網(wǎng)絡(luò)傳輸協(xié)議將所述讀取到的采集數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送。
【文檔編號】H04L29/08GK105871520SQ201511029979
【公開日】2016年8月17日
【申請日】2015年12月31日
【發(fā)明人】徐龍飛
【申請人】樂視網(wǎng)信息技術(shù)(北京)股份有限公司