用于大數據的數據接入方法、裝置及系統的制作方法
【專利摘要】一種用于大數據的數據接入方法、裝置及系統,用于大數據的數據接入方法包括:接收至少一種數據,所述至少一種數據中,對應不同的數據來源的數據采用相同或不同的傳輸協議;識別所述至少一種數據的基本特征,并根據所述基本特征和預先配置將所述至少一種數據進行分類存儲;根據所述預先配置和基本特征,將所述至少一種數據中的至少一部分采用對應的推送傳輸協議推送出去。本發明技術方案提高了數據接入的適用范圍。
【專利說明】
用于大數據的數據接入方法、裝置及系統
技術領域
[0001]本發明涉及大數據處理技術領域,尤其涉及一種用于大數據的數據接入方法、裝置及系統。【背景技術】
[0002]目前,隨著大數據時代的推進,會產生各種不同類型、不同內容的數據。如何將不同來源、不同格式、不同量級的數據進行統一接入、統一處理,是目前互聯網行業存在的一個問題。
[0003]現有技術中,對于目前行業中常用的數據接入的處理方式通常是針對不同數據來源。對于每種來源的數據,需要單獨開發一套包含收集、接入、存儲、處理的數據整合系統。 對于同一數據的接入服務,只能支持一種協議。在對數據處理的實時性要求比較高的場景中,接入數據量較大時,服務承載能力弱,接入服務性能不能滿足高接入速度的要求,而且接入的數據孤立,導致數據復用性不足。
[0004]因此,亟需一種可以適配不同數據來源、不同數據格式、不同存儲方式、不同處理方法的系統來解決目前行業中存在的數據接入和數據處理的問題。
【發明內容】
[0005]本發明解決的技術問題是如何提高數據接入的適用范圍。
[0006]為解決上述技術問題,本發明實施例提供一種用于大數據的數據接入方法,用于大數據的數據接入方法包括:接收至少一種數據,所述至少一種數據中,對應不同的數據來源的數據采用相同或不同的傳輸協議;識別所述至少一種數據的基本特征,并根據所述基本特征和預先配置將所述至少一種數據進行分類存儲;根據所述預先配置和基本特征,將所述至少一種數據中的至少一部分采用對應的推送傳輸協議推送出去。
[0007]可選的,接收至少一種數據之前還包括:確定所述預先配置,所述預先配置中包括所述基本特征與存儲方式的對應關系以及與推送傳輸協議的對應關系。
[0008]可選的,接收所述至少一種數據和將所述至少一種數據進行分類存儲通過事務的方式實現;將所述至少一種數據進行分類存儲和將所述至少一種數據推送出去通過事務的方式實現。
[0009]可選的,根據所述預先配置和基本特征,將所述至少一種數據中的至少一部分采用對應的推送傳輸協議推送出去包括:在所述至少一種數據中的至少一部分對應的存儲位置獲取待推送數據,并推送至所述待推送數據的所述預先配置指定的數據處理服務。
[0010]可選的,所述基本特征包括以下一種或多種:數據內容和數據格式。
[0011]為解決上述技術問題,本發明實施例還公開了一種數據接入裝置,數據接入裝置包括:接入單元,適于接收至少一種數據,所述至少一種數據中,對應不同的數據來源的數據采用相同或不同的傳輸協議;存儲單元,適于識別所述至少一種數據的基本特征,并根據所述基本特征和預先配置將所述至少一種數據進行分類存儲;推送單元,適于根據所述預先配置和基本特征,將所述至少一種數據中的至少一部分采用對應的推送傳輸協議推送出去。
[0012]可選的,所述的數據接入裝置還包括:確定單元,適于確定所述預先配置,所述預先配置中包括所述基本特征與存儲方式的對應關系以及與推送傳輸協議的對應關系。
[0013]可選的,接收所述至少一種數據和將所述至少一種數據進行分類存儲通過事務的方式實現;,將所述至少一種數據進行分類存儲和將所述至少一種數據推送出去通過事務的方式實現。
[0014]可選的,所述推送單元在所述至少一種數據中的至少一部分對應的存儲位置獲取待推送數據,并推送至所述待推送數據的所述預先配置指定的數據處理服務。
[0015]可選的,所述基本特征包括以下一種或多種:數據內容和數據格式。
[0016]為解決上述技術問題,本發明實施例還公開了一種數據接入系統,所述數據接入系統包括多個所述數據接入裝置,所述多個數據接入裝置分布式耦接。
[0017]與現有技術相比,本發明實施例的技術方案具有以下有益效果:
[0018]本發明實施例中,接收至少一種數據,所述至少一種數據中,對應不同的數據來源的數據采用相同或不同的傳輸協議;識別所述至少一種數據的基本特征,并根據所述基本特征和預先配置將所述至少一種數據進行分類存儲;根據所述預先配置和基本特征,將所述至少一種數據中的至少一部分采用對應的推送傳輸協議推送出去。采用上述方案,使得數據的接入可以支持不同的多種傳輸協議,并且通過將接收到的至少一種數據進行分類存儲,實現了采用相同或不同的傳輸協議的至少一種數據可以采用相同或不同的推送傳輸協議推送出去,提高了數據接入的適用范圍。
[0019]進一步,所述預先配置是預先確定的,所述預先配置中包括所述基本特征與存儲方式的對應關系,以及所述基本特征與推送傳輸協議的對應關系。對于數據的存儲方式、推送傳輸協議,可以通過預先配置的配置文件來指定。本發明實施例可以通過簡單的配置完成數據的接入,具備高度可配置性。【附圖說明】
[0020]圖1是本發明實施例一種數據接入方法的流程圖;[0021 ]圖2是本發明實施例一種數據接入過程的示意圖;
[0022]圖3是本發明實施例另一種數據接入過程的示意圖;
[0023]圖4是本發明實施例又一種數據接入過程的示意圖;
[0024]圖5是本發明實施例一種數據接入裝置的結構示意圖。【具體實施方式】
[0025]如【背景技術】中所述,對于目前行業中常用的數據接入的處理方式通常是針對不同數據來源,對于每種來源的數據,需要單獨開發一套包含收集、接入、存儲、處理的數據整合系統。對于同一數據的接入服務,只能支持一種協議。在對數據處理的實時性要求比較高的場景中,接入數據量較大時,服務承載能力弱,接入服務性能不能滿足接入速度。接入的數據孤立,數據復用性不足。
[0026]現有技術中,在對接入和處理服務的一致性要求較高的場景,數據接入服務和數據處理服務通常需要做調整,才能保證數據接入和處理的順利進行。例如,對于某一數據來源,傳輸協議是傳輸協議A,但是其數據處理服務的傳輸協議包含傳輸協議A、傳輸協議B、傳輸協議C等;如果數據處理服務要接入該來源的數據,那么數據處理服務需要做調整,才能夠數據處理服務和數據能夠順利銜接。反之,接入數據來源采用的傳輸協議是傳輸協議A、 傳輸協議B、傳輸協議C等,對于這些數據要使用相同的數據處理服務進行處理,那么數據來源需要做調整,才能夠使得數據能夠正常的被數據處理服務進行處理。上述調整的過程給用戶使用帶來了不便。
[0027]為了解決大數據領域,多種來源的數據在統一接入、處理時存在的復雜性問題,本發明實施例提供了一種可以支持不同數據來源、不同數據格式、不同存儲方式的解決方案。 [〇〇28]為使本發明的上述目的、特征和優點能夠更為明顯易懂,下面結合附圖對本發明的具體實施例做詳細的說明。
[0029]圖1是本發明實施例一種數據接入方法的流程圖。下面結合圖1對所述數據接入方法的具體步驟做詳細的說明。
[0030]步驟S101:接收至少一種數據。
[0031]其中,所述至少一種數據中,對應不同的數據來源的數據可以采用相同的傳輸協議,也可以采用不同的傳輸協議。
[0032]具體實施中,對于數據接收方式,可以支持多種傳輸協議,例如,超文本傳輸協議 (HyperText Transfer Protocol,HTTP)、thrift協議等。具體而言,目前的各種行業中,尤其是大數據領域,數據來源通常會根據業務需要選擇合適的傳輸協議來進行數據傳輸,進而導致在數據接收時,不同數據來源的接收方式各不相同,因此,為了滿足目前行業中不同業務數據的順利接收,本發明實施例支持多種傳輸協議的接收。[〇〇33]步驟S102:識別所述至少一種數據的基本特征,并根據所述基本特征和預先配置將所述至少一種數據進行分類存儲。
[0034]具體實施中,在數據接收之前,確定所述預先配置,所述預先配置中包括所述基本特征與存儲方式的對應關系以及與推送傳輸協議的對應關系。在數據接收之后,識別接收數據的基本特征,并根據預先配置將接收數據進行存儲。也就是說,具備相同基本特征的數據作為同一類,可以被存儲在一起。
[0035]具體地,在接收多種數據來源的多種數據時,根據數據的基本特征和預先配置將數據進行分類存儲。例如,來自于不同的數據來源的數據可以具備不同的基本特征,且來自于同一數據來源的數據具備相同的基本特征,那么在分類存儲時,可以直接根據數據來源進行分類存儲;或者,采用不同的傳輸協議的數據可以具備不同的基本特征,且采用相同傳輸協議的數據具備相同的基本特征,那么在分類存儲時,可以直接根據傳輸協議進行分類存儲。存儲方式可以是分布式發布訂閱消息系統(kafka),也可以是磁盤文件方式。當以 kafka作為存儲介質時,同類的數據會被存儲到同一類別(topic)上;通過磁盤文件方式存儲時,同類的數據會被存儲到指定目錄中。
[0036]具體而言,所述基本特征可以包括以下一種或多種:數據內容和數據格式。
[0037]可以理解的是,數據的基本特征也可以包括其他任意可實施的特征,本發明實施例對此不做限制。[〇〇38]步驟S103:根據所述預先配置和基本特征,將所述至少一種數據中的至少一部分采用對應的推送傳輸協議推送出去。
[0039]具體實施中,根據所述預先配置和基本特征,在所述至少一種數據中的至少一部分對應的存儲位置獲取待推送數據,并推送至所述待推送數據的所述預先配置指定的數據處理服務。具體而言,對于被推送出去的至少一部分數據,可以采用相同的傳輸協議推送出去,也可以采用不同的傳輸協議推送出去。
[0040]具體實施中,對于預先配置還未指定數據處理服務的數據,可以將該數據只進行存儲而不進行推送,保留在存儲區域并維持設定時間。例如可以保留15天,在15天內該數據若仍未推送出去,則將該數據刪除。
[0041]具體而言,接收所述至少一種數據和將所述至少一種數據進行分類存儲通過事務 (transact1n)的方式實現。將所述至少一種數據進行分類存儲和將所述至少一種數據推送出去通過事務的方式實現。在數據接收、數據推送的整個過程,通過事務方式,在數據接收失敗和推送失敗時,可以返回失敗狀態,以避免數據在沒有被正確接收和推送的情況下被誤刪除的情況,保證了數據接收和推送的可靠性。具體地,當推送操作失敗時,支持相應的數據回滾(ROLLBACK)。例如,事務的原子性操作可以包括:開始事務請求(BEGIN TRANSACT1N);提交事務請求(COMMIT TRANSACT1N);回滾事務請求(ROLLBACK);其中,提交事務請求操作用于把事務造成的修改保存到數據庫,將上一個提交事務請求或回滾操作之后的全部事務都保存到數據庫。同時,在必要的請求中,可以使用異步調用方式,提高數據接收服務的吞吐量。
[0042]本發明實施例在接收數據到推送數據的過程中,將數據進行存儲,通過存儲可以有效的提高數據接入的吞吐能力,同時保障了后續多路推送的有效進行。
[0043]在大數據時代,數據可以通過不同的渠道或者方式進行收集,也就是說,數據可以通過不同的傳輸協議進行接收。參照圖2,圖2是本發明實施例一種數據接入過程的示意圖, 其示出了通過不同方式收集的數據被相同的數據處理服務或者處理單元進行處理的場景。 [〇〇44]如圖2所示,來源于不同數據來源的數據分別采用傳輸協議1、傳輸協議2,…,傳輸協議n進行傳輸,并經步驟S201接收數據。接收數據后,經步驟S202根據預先配置的配置文件將多種數據進行分類存儲。具體而言,可以根據數據的基本特征與預先配置的存儲方式的對應關系,將多種數據進行分類存儲。
[0045]具體地,分類存儲的過程可以通過設置多個存儲區域實現,例如存儲區域可以包括存儲1、存儲2,…,存儲n,n為正整數。每個存儲區域存儲同類的數據,同類的數據具備相同的基本特征。
[0046]步驟S203采用預先配置的配置文件指定的傳輸協議A將數據推送至統一的數據處理服務進行處理。步驟S203在將數據推送到配置文件指定數據處理服務時,會從相應的存儲區域存儲1、存儲2,…,存儲n獲取待推送數據。[〇〇47]本發明一實施例還可以支持相同數據來源的數據推送至不同數據處理服務或者模塊進行處理。在實際應用場景中,存在對于同一數據來源的數據,根據需要會被不同的處理服務或者模塊進行處理,具體過程可參照圖3,圖3是本發明實施例另一種數據接入過程的示意圖。[〇〇48]如圖3所示,來源于相同數據來源的數據采用傳輸協議1進行傳輸,并經步驟S301 接收數據。接收數據后,經步驟S302根據預先配置的配置文件將數據進行存儲。具體而言,可以根據數據的基本特征與預先配置的存儲方式的對應關系,將多種數據進行分類存儲。 其中,由于數據的數據來源相同,數據可以具備相同的基本特征,故此處可以設置同一存儲區域進行統一存儲。
[0049]步驟S303根據預先配置的配置文件指定的多種推送傳輸協議,分別經由不同的推送出口推送A、推送B,…,推送N從存儲區域獲取數據,并采用不同的傳輸協議A、傳輸協議 B,…,傳輸協議N將數據推送至多種數據處理服務進行處理;其中,不同的推送出口推送A、 推送B,…,推送N推送的數據分布對應米用不同的傳輸協議A、傳輸協議B,…,傳輸協議N。具體而言,可以根據數據的基本特征與預先配置的推送傳輸協議對應關系,將多種數據進行推送出去。
[0050]本發明另一實施例還可以支持不同數據來源的數據推送至不同數據處理服務或者模塊進行處理。具體過程可參照圖4,圖4是本發明實施例又一種數據接入過程的示意圖。
[0051]如圖4所示,來源于不同數據來源的數據分別采用傳輸協議1、傳輸協議2,…,傳輸協議n進行傳輸,并經步驟S401接收數據。接收數據后,經步驟S402根據預先配置的配置文件將多種數據進行分類存儲。具體而言,可以根據數據的基本特征與預先配置的存儲方式的對應關系,將多種數據分類存儲。
[0052]具體地,分類存儲的過程可以通過設置多個存儲區域實現,例如存儲區域可以包括存儲1、存儲2,…,存儲n。每個存儲區域存儲同類的數據,同類的數據具備相同的基本特征。[〇〇53]步驟S403根據預先配置的配置文件可以獲取要處理待推送數據的數據處理服務的數量以及對應的推送傳輸協議。分別經由不同的推送出口推送A、推送B,…,推送N從指定的存儲區域獲取數據,并采用不同的傳輸協議A、傳輸協議B,…,傳輸協議N將數據推送至多種數據處理服務進行處理。[〇〇54]具體而言,預先配置對于已經接收的數據未指定要推送的數據處理服務時,則將該數據存儲在存儲區域,例如,存儲方式可以是kafka和磁盤文件;后續要推送該數據時,可以進行配置,將該數據推送到相應的處理服務。
[0055]本發明實施例通過結合內存和磁盤存儲的方式,保證在存儲設備宕機、重啟的情況下,已存儲數據不會丟失,提高了數據接入的安全性。
[0056]上述實施例中的配置文件可以是預先配置,可以包括數據來源(Sources)、數據存儲位置(channe 1 s )、數據推送采用的傳輸協議(type)和推送位置(Consumers)。對于數據的存儲、推送傳輸協議,可以通過配置文件來指定。本發明實施例還可以提供通用的存儲方案和推送方式,以便可以通過簡單的修改或覆寫,即可完成數據的接收和推送。[〇〇57]例如配置文件可以包括以下內容:
[0058]//接收來源為si,s2,s3Sources = sl,s2,s3;
[0059]//分類存儲位置為cl,c2,c3channels = cl,c2,c3;
[0060]//推送位置為kl,k2,k3…Consumers = kl,k2,k3;
[0061]//接收來源為s 1 的相關配置Sources ? s 1 ? type = http Sources ? s 1 ? bind = 0.0.0.0Sources.s1.port = 8081 ;[〇〇62]//匹配規則以及分類存儲方式
[0063] Sources ? s 1 ? mapping = “type = l”:cl,’’type = 2”:c2,Sources.s2.type =thrift;
[0064]Sources.s2.bind = 0.0.0.0Sources.s2.port = 8082 ;
[0065]Sources.s2.mapping= “a.b = l”:cl,”a.b = 2”:c2;
[0066]Sources.s3.type = thrift;
[0067]Sources?s3?bind = 0?0?0?0;
[0068]Sources.s3.port = 8082;
[0069]Sources?s3.mapping “b?c = 1”:c3;[〇〇7〇] //推送相關配置[0071 ]Consumers.kl ? channel = cl;//數據來源為分類到cl的數據
[0072]Consumers.kl.type = http ;[〇〇73]//推送類型以及接受地址
[0074]Consumers, kl.1p = 10.10.10.1;
[0075]Consumers.kl.port = 9091 ;
[0076]Consumers.k2.channe1 = c1;
[0077]Consumers.k2.type = thrift;
[0078]Consumers.k2.1p = 10.10.11.2;
[0079]Consumers.k2.port = 9092;
[0080]Consumers.k3.channe1 = c2;[0081 ]Consumers.k3.type = http ;
[0082]Consumers.k3.1p = 10.10.12.3;
[0083]Consumers.k3.port = 9093;[〇〇84]//還未指定要被處理的數據,保留在存儲區域,保留15天
[0085]Consumers.k4.channe1 = c3;
[0086]Consumers.k4.type = null ;
[0087]Consumers.k4.retent1ns = 15days 〇[〇〇88]請參照圖5,圖5是本發明實施例一種數據接入裝置的結構示意圖。[〇〇89]數據接入裝置50可以包括:接入單元501、存儲單元502和推送單元503。[〇〇9〇]其中,接入單元501適于接收至少一種數據,所述至少一種數據中,對應不同的數據來源的數據采用相同或不同的傳輸協議;
[0091]存儲單元502適于識別所述至少一種數據的基本特征,并根據所述基本特征和預先配置將所述至少一種數據進行分類存儲;
[0092]推送單元503適于根據所述預先配置和基本特征,將所述至少一種數據中的至少一部分采用對應的推送傳輸協議推送出去。
[0093]具體而言,推送單元503在所述至少一種數據中的至少一部分對應的存儲位置獲取待推送數據,并推送至所述待推送數據的所述預先配置指定的數據處理服務。
[0094]具體實施中,數據接入裝置50還可以包括確定單元(圖未示),確定單元適于確定所述預先配置,所述預先配置中包括所述基本特征與存儲方式的對應關系,以及所述基本特征與推送傳輸協議的對應關系。
[0095]具體地,所述基本特征可以包括以下一種或多種:數據內容和數據格式。
[0096]具體實施中,接收所述至少一種數據和將所述至少一種數據進行分類存儲通過事務的方式實現。將所述至少一種數據進行分類存儲和將所述至少一種數據推送出去通過事務的方式實現。
[0097]本發明實施例的【具體實施方式】可參照前述相應實施例,此處不再贅述。
[0098]本發明實施例還公開了一種數據接入系統,所述數據接入系統包括多個數據接入裝置50,多個數據接入裝置50可以分布式耦接。
[0099]本發明實施例可以通過水平擴展數據接入裝置50來提供靠高性能的服務體系。也就是說,數據接入裝置50可以分布式部署,無限水平擴展,以支持不斷增加的業務需求。例如,可以是隨著業務量的不斷增加,單臺數據接入裝置50的性能已經不能滿足業務量的需求,那么可以通過合適的增加數據接入裝置50的部署滿足業務量的需求;同時,增加的數據接入裝置50對已部署的數據接入裝置50的性能沒有影響。
[0100]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于以計算機可讀存儲介質中,存儲介質可以包括:R〇M、RAM、磁盤或光盤等。
[0101]雖然本發明披露如上,但本發明并非限定于此。任何本領域技術人員,在不脫離本發明的精神和范圍內,均可作各種更動與修改,因此本發明的保護范圍應當以權利要求所限定的范圍為準。
【主權項】
1.一種用于大數據的數據接入方法,其特征在于,包括:接收至少一種數據,所述至少一種數據中,對應不同的數據來源的數據采用相同或不 同的傳輸協議;識別所述至少一種數據的基本特征,并根據所述基本特征和預先配置將所述至少一種 數據進行分類存儲;根據所述預先配置和基本特征,將所述至少一種數據中的至少一部分采用對應的推送 傳輸協議推送出去。2.根據權利要求1所述的數據接入方法,其特征在于,接收至少一種數據之前還包括:確定所述預先配置,所述預先配置中包括所述基本特征與存儲方式的對應關系以及與推送傳輸協議的對應關系。3.根據權利要求1所述的數據接入方法,其特征在于,接收所述至少一種數據和將所述 至少一種數據進行分類存儲通過事務的方式實現;將所述至少一種數據進行分類存儲和將 所述至少一種數據推送出去通過事務的方式實現。4.根據權利要求1所述的數據接入方法,其特征在于,根據所述預先配置和基本特征, 將所述至少一種數據中的至少一部分采用對應的推送傳輸協議推送出去包括:在所述至少一種數據中的至少一部分對應的存儲位置獲取待推送數據,并推送至所述 待推送數據的所述預先配置指定的數據處理服務。5.根據權利要求1至4任一項所述的數據接入方法,其特征在于,所述基本特征包括以 下一種或多種:數據內容和數據格式。6.—種數據接入裝置,其特征在于,包括:接入單元,適于接收至少一種數據,所述至少一種數據中,對應不同的數據來源的數據 采用相同或不同的傳輸協議;存儲單元,適于識別所述至少一種數據的基本特征,并根據所述基本特征和預先配置 將所述至少一種數據進行分類存儲;推送單元,適于根據所述預先配置和基本特征,將所述至少一種數據中的至少一部分 采用對應的推送傳輸協議推送出去。7.根據權利要求6所述的數據接入裝置,其特征在于,還包括:確定單元,適于確定所述預先配置,所述預先配置中包括所述基本特征與存儲方式的 對應關系以及與推送傳輸協議的對應關系。8.根據權利要求6所述的數據接入裝置,其特征在于,接收所述至少一種數據和將所述 至少一種數據進行分類存儲通過事務的方式實現;將所述至少一種數據進行分類存儲和將 所述至少一種數據推送出去通過事務的方式實現。9.根據權利要求6所述的數據接入裝置,其特征在于,所述推送單元在所述至少一種數 據中的至少一部分對應的存儲位置獲取待推送數據,并推送至所述待推送數據的所述預先 配置指定的數據處理服務。10.根據權利要求6至9任一項所述的數據接入裝置,其特征在于,所述基本特征包括以 下一種或多種:數據內容和數據格式。11.一種數據接入系統,其特征在于,包括多個如權利要求6至10任一項所述的數據接 入裝置,所述多個數據接入裝置分布式耦接。
【文檔編號】H04L29/06GK105978887SQ201610423272
【公開日】2016年9月28日
【申請日】2016年6月15日
【發明人】湯奇峰, 安斌
【申請人】晶贊廣告(上海)有限公司