數據處理方法、裝置及系統

數據處理方法、裝置及系統

《數據處理方法、裝置及系統》是深圳市騰訊計算機系統有限公司於2013年12月12日申請的發明專利,該專利申請號為2013106836845,公布號為CN104090891A,公布日為2014年10月8日,發明人是田萬鵬。

《數據處理方法、裝置及系統》公開了一種數據處理方法、裝置、數據處理伺服器及系統,屬於信息處理技術領域。所述方法包括:獲取接入配置信息;根據接入配置信息實時採集至少一個數據;按照轉換後的通用協定識別出的每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。該發明通過接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。

2021年6月24日,《數據處理方法、裝置及系統》獲得第二十二屆中國專利優秀獎。

(概述圖為《數據處理方法、裝置及系統》摘要附圖)

基本介紹

  • 中文名:數據處理方法、裝置及系統
  • 申請人:深圳市騰訊計算機系統有限公司
  • 發明人:田萬鵬
  • 申請號:2013106836845
  • 申請日:2013年12月12日
  • 公布號:CN104090891A
  • 公布日:2014年10月8日
  • 地址:廣東省深圳市南山區高新區高新南一路飛亞達大廈5-10樓
  • 代理機構:北京三高永信智慧財產權代理有限責任公司
  • 代理人:關文魁
  • Int. Cl.:G06F17/30
  • 類別:發明專利
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,技術領域,權利要求,實施方式,專利榮譽,

專利背景

隨著信息處理技術的不斷發展,獲取的數據越來越多。為了更好地利用這些數據,需要對數據進行分揀等處理。由於這些數據來自不同的數據源,在進行數據處理時需要考慮接入系統對不同類型的數據源的適配,並且數據需要及時採集以及分類等處理,從而避免數據的積壓。因此,如何快速、及時地進行數據處理成為人們關注的問題。
截至2013年12月,辨剃糊祖有兩種處理數據的方式。第一種批量預處理+接口機批量入庫方式:將待處理數據寫入一個日誌檔案;根據接口機的接口表將一個日誌檔案拆分為多個日誌檔案,使不同的接口對應不同的日誌檔案;傳送每個日誌檔案到接口機中與該日誌檔案對應的接口;通過與該日誌檔案對應的接口存儲日誌檔案中的數據。第二種流式數據採集+離線批量預處理方式:將數據傳送到訊息伺服器;通過訊息伺服器將數據傳送到接口機;通過運行分類程式對數據進行分類,使不同的接口對應不同類別的數據;通過與該類別的數據對應的接口存儲數據。
在實現《數據處理方法、裝置及系統》的過程中,發明人發現2013年12月前已有技術至少存在以下問題:
第一種方式需要將數據寫入日誌檔案來完成數據採集的過程,致使採集數據的過程沒有實時性;由於一個日誌檔案中包括所有數據,則將一個日誌檔案拆分為多個日誌檔案,即對日誌檔案中的數據進行分類處理的過程也沒有實時性。另外,不同的數據需要對應的不同的分類處理規則,增加了數據處理的複雜度和成本。
第二種方式需要運行分類程式對數據進行離線分類處理,致使數據分類處理的過程沒有實時性。另外,分類程式對數據進行分類處理的效率不高,造成了系統資源的浪費。

發明內容

專利目的

《數據處理方法、裝置及系統》的目的是解決2013年12月前已有技術的問題,提供一種數據處理方法、裝置及系統。

技術方案

《數據處理方法、裝置及系統》一方面提供了一種數據處理方法,所述方法包括:獲取接入配置信息,所述接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;根據所述接入配置信息中的數據源信息籃幾婆歡實時採集至少一個數據;將每個數據的協定轉換成通用協定,通過所述通用協定識別每個數據的業務屬性信息、接口屬性信息及時間屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。
《數據處理方法、裝置及系統》另一方面提供了一種數據處理裝置,所述裝置包括:獲取模組,用於獲取接入配置信息,所述接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;採集模組,用於根據所述接入配置信息中的數據源信息實時采旬槳只集至少一個數據;轉換模組,用於將每個數據的協定轉換成通用協定;第一識別模組,用於通過所述通用協定識別每個數據的業務屬性信息;第二識別模組,用於在所述第一識別模肯辨塊通過所述通用協定識別每個數據的業務屬性信息時,通過所述通用協定識別每個數據業務的接口屬性信息及時間屬性信息;存儲模組,用於按照每個數據的業務屬性信息將每個數據進行分散式存儲;處理模組,用於對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。
《數據處理方法、裝置及系統》還提供了一種數據處理系統,所述系統包括:數據處理伺服器、業務伺服器和訊息伺服器,所述數據處理伺服器分別與所述業務伺服器和訊息伺服器進行無線或有線連線;其中,所述數據處理伺服器,用於獲取接入配置信息,根據所述接入配置信息中的數據源信息實時採集所述業務伺服器及所述訊息伺服器上的至少一個數據;將每個數據的協定轉換成通用協定,通過所述通用協定識別每個數據的業務屬性信息、接口屬性信息及時間屬性信息,並按祖坑腳照每個數據的業雅放廈務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。

改善效果

《數據處理方法、裝置及系統》通過根據接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了鴉戶漏數據處理的效率。

附圖說明

圖1是《數據處理方法、裝置及系統》實施例一提供的數據處理方法流程圖;
圖2是該發明實施例二提供的數據處理系統的示意圖;
圖3是該發明實施例二提供的數據處理方法流程圖;
圖4是該發明實施例二提供的打包結構的示意圖;
圖5是該發明實施例二提供的實時預處理和分揀模組中的進程的示意圖;
圖6是該發明實施例三提供的第一種數據處理裝置的結構示意圖;
圖7是該發明實施例三提供的處理模組的結構示意圖;
圖8是該發明實施例三提供的第二種數據處理裝置的結構示意圖;
圖9是該發明實施例三提供的傳送單元的結構示意圖;
圖10是該發明實施例三提供的第三種數據處理裝置的結構示意圖;
圖11是該發明實施例三提供的第四種數據處理裝置的結構示意圖;
圖12是該發明實施例四提供的一種伺服器的結構示意圖。

技術領域

《數據處理方法、裝置及系統》涉及信息處理技術領域,特別涉及一種數據處理方法、裝置及系統。

權利要求

1.一種數據處理方法,其特徵在於,所述方法包括:獲取接入配置信息,所述接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;根據所述接入配置信息中的數據源信息實時採集至少一個數據;將每個數據的協定轉換成通用協定,通過所述通用協定識別每個數據的業務屬性信息、接口屬性信息及時間屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。
2.根據權利要求1所述的方法,其特徵在於,所述對所述每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,包括:通過一至多個解析進程讀取存儲的每個數據,並獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元,將同一數據單元中的數據傳送至同一分揀進程;通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上,並在本地檔案達到預設大小後,將所述本地檔案中的數據上傳至分散式檔案系統。
3.根據權利要求1或2所述的方法,其特徵在於,所述按照每個數據的業務屬性信息將每個數據進行分散式存儲,包括:根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;所述通過一至多個解析進程讀取存儲的每個數據,包括:通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
4.根據權利要求2所述的方法,其特徵在於,所述獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括:獲取通過所述通用協定識別出的每個數據的業務屬性信息,並通過所述一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
5.根據權利要求2所述的方法,其特徵在於,所述將同一數據單元中的數據傳送至同一分揀進程,包括:根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;將對應相同哈希值的數據傳送至同一分揀執行緒。
6.根據權利要求2所述的方法,其特徵在於,所述方法還包括:通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送所述數據單元的創建信息,並通過每個分揀進程接收到所述數據單元的最後一個數據後,向所述對應的對賬進程傳送所述數據單元的結束信息;通過所述對賬進程收集構成所述數據單元的數據條數,並根據所述數據單元的數據條數生成對賬檔案,將所述對賬檔案上傳至對應的分散式檔案系統,由所述分散式檔案信息記錄所述對賬檔案,用以標識所述數據單元分揀完成。
7.根據權利要求1所述的方法,其特徵在於,所述方法還包括:在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,所述預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,所述包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
8.一種數據處理裝置,其特徵在於,所述裝置包括:獲取模組,用於獲取接入配置信息,所述接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;採集模組,用於根據所述接入配置信息中的數據源信息實時採集至少一個數據;轉換模組,用於將每個數據的協定轉換成通用協定;第一識別模組,用於通過所述通用協定識別每個數據的業務屬性信息;第二識別模組,用於在所述第一識別模組通過所述通用協定識別每個數據的業務屬性信息時,通過所述通用協定識別每個數據業務的接口屬性信息及時間屬性信息;存儲模組,用於按照每個數據的業務屬性信息將每個數據進行分散式存儲;處理模組,用於對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。
9.根據權利要求8所述的裝置,其特徵在於,所述處理模組,包括:讀取單元,用於通過一至多個解析進程讀取存儲的每個數據;獲取單元,用於通過所述一至多個解析進程獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元;傳送單元,用於通過所述一至多個解析進程將同一數據單元中的數據傳送至同一分揀進程;快取單元,用於通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上;上傳單元,用於通過每個分揀進程在本地檔案達到預設大小後,將所述本地檔案中的數據上傳至分散式檔案系統。
10.根據權利要求8或9所述的裝置,其特徵在於,所述存儲模組,用於根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;所述讀取單元,用於通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
11.根據權利要求9所述的裝置,其特徵在於,所述獲取單元,用於獲取通過所述通用協定識別出的每個數據的業務屬性信息,並通過所述一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
12.根據權利要求9所述的裝置,其特徵在於,所述傳送單元,包括:計運算元單元,用於根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;傳送子單元,用於將對應相同哈希值的數據傳送至同一分揀執行緒。
13.根據權利要求9所述的裝置,其特徵在於,所述裝置還包括:傳送模組,用於通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送所述數據單元的創建信息,並通過每個分揀進程接收到所述數據單元的最後一個數據後,向所述對應的對賬進程傳送所述數據單元的結束信息;對賬模組,用於通過所述對賬進程收集構成所述數據單元的數據條數,並根據所述數據單元的數據條數生成對賬檔案,將所述對賬檔案上傳至對應的分散式檔案系統,由所述分散式檔案信息記錄所述對賬檔案,用以標識所述數據單元分揀完成。
14.根據權利要求8所述的裝置,其特徵在於,所述裝置還包括:打包壓縮模組,用於在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,所述預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,所述包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
15.一種數據處理系統,其特徵在於,所述系統包括:數據處理伺服器、業務伺服器和訊息伺服器,所述數據處理伺服器分別與所述業務伺服器和訊息伺服器進行無線或有線連線;其中,所述數據處理伺服器,用於獲取接入配置信息,根據所述接入配置信息中的數據源信息實時採集所述業務伺服器及所述訊息伺服器上的至少一個數據;將每個數據的協定轉換成通用協定,通過所述通用協定識別每個數據的業務屬性信息、接口屬性信息及時間屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。

實施方式

  • 實施例一
《數據處理方法、裝置及系統》實施例提供了一種數據處理方法,參見圖1,該實施例提供的方法流程包括:
101:獲取接入配置信息,接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息。
102:根據接入配置信息中的數據源信息實時採集至少一個數據。
103:將每個數據的協定轉換成通用協定,通過通用協定識別每個數據的業務屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲。
進一步地,按照每個數據的業務屬性信息將每個數據進行分散式存儲,包括:根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;通過一至多個解析進程讀取存儲的每個數據,包括:通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
104:對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。
進一步地,對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,包括:通過一至多個解析進程讀取存儲的每個數據,並獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元,將同一數據單元中的數據傳送至同一分揀進程;通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上,並在本地檔案達到預設大小後,將本地檔案中的數據上傳至分散式檔案系統。
進一步地,在根據通用協定識別每個數據的業務屬性信息時,根據通用協定識別每個數據的接口屬性信息及時間屬性信息;獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括:獲取通過通用協定識別出的每個數據的業務屬性信息、接口屬性信息及時間屬性信息。
可選地,獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括:獲取通過通用協定識別出的每個數據的業務屬性信息,並通過一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
進一步地,將同一數據單元中的數據傳送至同一分揀進程,包括:根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;將對應相同哈希值的數據傳送至同一分揀執行緒。
進一步地,通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,並通過每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;通過對賬進程收集構成數據單元的數據條數,並根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統,由分散式檔案信息記錄對賬檔案,用以標識數據單元分揀完成。
進一步地,在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
《數據處理方法、裝置及系統》實施例提供的方法,通過接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。
  • 實施例二
《數據處理方法、裝置及系統》實施例提供了一種數據處理方法,為了便於理解,結合上述實施例一的內容,以如圖2所示的數據處理系統為例,對該發明實施例提供的數據處理方法進行詳細地解釋說明。其中,圖2所示的數據處理系統包括:數據處理伺服器、業務伺服器以及訊息伺服器;數據處理伺服器包括配置管理中心模組、數據採集模組、數據接入模組、分散式數據快取模組、實時預處理和分揀模組以及故障檢測模組,參見圖3,方法流程包括:
301:獲取接入配置信息,接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息。
關於獲取接入配置信息的方式,該實施例不作具體限定。具體實施時,可以提供互動界面,獲取用戶通過互動界面輸入的配置信息,並將用戶輸入的配置信息作為獲取到的接入配置信息。
為了便於理解,以如圖2所示的配置管理中心模組獲取接入配置信息為例,用戶對數據進行配置的過程包括但不限於:申請業務標識;填寫具體業務的業務屬性;配置數據源信息;配置接口信息;配置接入分散式檔案系統信息。
優選地,配置管理中心模組將獲取到的接入配置信息寫入配置檔案,並存儲該配置檔案後,該配置管理中心模組向系統中的其他模組同步接入配置信息,以根據接入配置信息觸發系統中的其他模組啟動數據處理。另外,對於數據源信息是資料庫或檔案的數據,配置管理中心會在業務伺服器中安裝數據採集模組,以便能夠採集上述兩類數據源的數據。
302:根據接入配置信息中的數據源信息實時採集至少一個數據。
關於採集數據的方式,該實施例不作具體限定。具體實施時,對於不同數據源信息的數據,需要使用不同的採集方式採集數據。例如,對於資料庫或檔案這兩種數據源的數據,需要使用配置管理中心預先安裝的數據採集模組來採集數據;對於其他數據源的數據,則可以直接使用業務伺服器以及訊息伺服器來採集待處理數據。
進一步地,採集數據時,接入配置信息中的數據源信息所對應的數據源產生一個數據就可以及時發現一個數據,並讀取一個數據,從而產生一個數據就可以採集一個數據,使數據實時被採集。需要說明的是,從數據產生到採集的延時可以根據實際情況進行設定,通常情況下時延的單位級別是毫秒。例如,對於離線數據等對實時性要求不高的場景,可以設定最大延時時間為10秒;而對於實時性要求較高的場景,則可以設定最大延時時間為1秒或者更少的時間。
另外,根據接入配置信息中的數據源信息實時採集至少一個數據後,還包括但不限於:傳輸採集到的數據。為了便於理解,以如圖2所示的系統為例進行說明,數據採集模組將採集到的數據傳送給數據接入模組,從而由數據採集模組將採集到的數據傳輸到數據接入模組。
優選地,為了提高數據的傳輸效率和系統利用率,在傳輸每個數據之前,該實施例提供的方法按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據。其中,預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
為了便於理解,以如圖4所示的打包結構為例進行說明。數據進行打包及壓縮處理後,得到數據包,數據包的結構包括:(1)magic,表示特殊欄位,用於標識打包結構,在數據包的首尾各有一個magic,每個magic占用2個位元組,一個數據包共有4個位元組的magic;(2)create time,表示數據包的創建時間,用於後續步驟中的全局對賬;(3)packnum,表示子包數目,一個數據包中包含多個子包;(4)子包,每個子包由一個attr(屬性)和一個body(包體)組成;其中,body中包含多個數據,並且一個子包的body中包含的多個數據的attr相同,從而節省相同attr的數據的冗餘信息;另外,由於數據的壓縮是在body中完成的,避免了在需要區分不同attr的數據的情況下,需要解開全部的數據包,實現了數據包的輕度解包,提高了系統的利用率。
進一步地,body還包括:(1)bodylen,表示包體長度;(2)compress,表示子包是否被壓縮;(3)時間訊息,以長度+信息的格式進行排列。通過上述打包結構提高了系統中數據的傳輸效率以及系統的利用率。
303:將每個數據的協定轉換成通用協定,通過通用協定識別每個數據的業務屬性信息。
其中,數據接入的單元是業務,一般來說一個業務數據對應於一個具體的產品、業務的數據,一個業務數據擁有一個唯一的業務標識。通常一個業務包含多個接口,一個接口一般表示一張具體的數據表,有著統一的數據模式(schema,如資料庫中的表)。此外,數據還具有對應的時間屬性,表達一個數據的時間,通常代表數據的產生時間,此處稱之為數據時間。因此,任何一個數據都是由業務、接口、時間這三個維度決定的,即每個數據都包含業務屬性、接口屬性及時間屬性。
當然,一個數據除了包含以上定義的三種屬性以外,還包含其他的屬性,該實施例不對數據的具體屬性進行限定。例如:數據來源(檔案,資料庫,訊息);數據格式(有分隔設定的文本數據,KV表達的數據,JSON數據,PB數據,其他二進制格式的數據);數據解析方法,如何得出前面所述的三個屬性的方法(在數據附帶屬性中定義,在數據內部解析,在數據配置檔案中定義等);對於有分隔設定的數據還包含分隔設定屬性;對於在數據內部解析時間的數據,還包括數據時間格式的屬性。
由於不同類型數據採用的協定不同,為了能夠識別出每種類型數據的業務屬性信息,該實施例提供的方法採取了將每個數據的協定轉換成通用協定的方式,從而能夠通過通用協定識別每個數據的業務屬性信息。
例如,通過數據採集模組採集數據時,通常情況下採集到的數據採用內部協定,將採集到的數據的協定進行替換後就可以將數據的協定轉換成通用協定。
又例如,通過業務伺服器採集數據時,通常情況下採集到的數據採用六段協定或業務自定義協定。對於採用六段協定的數據,數據接入模組將六段協定按照通用協定進行轉換;對於採用業務自定義協定的數據,需要通過特定的數據連線埠接入數據接入模組,再通過定製的數據解析外掛程式對數據進行協定轉換。
通過對數據進行協定轉換,使各種數據源的數據都可以通過數據接入模組接入系統,擴大了數據處理的套用範圍。實際套用中,可以將常用的數據總結成系統能處理的相對應的數據模式。對於新接入的數據,如果在數據模式之內,則可以直接接入;如果在數據模式之外,則需要開發相應的解析外掛程式,並通過調用相應的解析外掛程式完成數據的協定轉換,進而簡化數據的接入。需要說明的是,此處的解析外掛程式用於將每個數據的協定轉換成通用協定,是協定層的解析外掛程式,該實施例不對解析外掛程式的開發過程進行限定。
由於已經將每個數據的協定轉換成通用協定,則通過通用協定識別每個數據的業務屬性信息時,對於採用內部協定或六段協定的數據,可直接在協定內部識別數據的業務屬性信息;對於採用業務自定義協定的數據,需要通過配置檔案查找數據的業務屬性信息,將查找到業務屬性信息作為識別到的業務屬性信息。
進一步地,通過通用協定識別每個數據的業務屬性信息,實現了對數據初步的解析;對於一些數據,還可根據通用協定識別每個數據的接口屬性信息及時間屬性信息,避免了後續步驟中解析進程解析每個數據的接口屬性信息及時間屬性信息,提高了數據處理的效率。
對於接口屬性信息,一些數據的接口信息可以在通用協定中識別,另外一些數據則需要在數據內容中識別接口信息,具體識別方式詳見後續步驟中的內容;時間屬性信息與接口屬性信息類似,此處不再贅述,不同的是,大部分數據的時間屬性都可在通用協定中識別。
304:根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體。
根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備時,也可以先按照預設格式將每個數據進行打包及壓縮處理,傳送打包壓縮後的數據至對應的存儲設備。關於打包壓縮的具體內容,詳見上述步驟302中的內容,此處不再贅述。另外,打包壓縮時,將識別出的業務屬性信息、接口屬性信息及時間屬性信息作為數據的屬性信息與數據一同打包壓縮並傳送至對應的存儲設備。其中,不同業務屬性信息對應不同業務屬性標識,不同業務屬性標識對應存儲設備中不同業務主題。
根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,還包括但不限於:確定存儲設備可以接收的業務主題;根據確定的業務主題向將每個數據傳送至對應的存儲設備。
例如,分散式數據快取模組接收數據接入模組傳送的數據,按照數據的業務屬性信息以及分散式數據快取模組確定的可以接收的業務主題,將數據存儲到本地硬碟,並快取至記憶體。具體實施時,存儲設備可以是一組伺服器,確定每個伺服器可以接收的業務主題,又由於不同業務屬性信息對應不同業務屬性標識,不同業務屬性標識對應伺服器中不同業務主題,則將不同數據業務屬性的數據傳送到不同的伺服器上,從而實現了數據的混洗,減少數據的傾斜,還能達到數據隔離的作用。
進一步地,通過存儲設備將接收到的數據存儲到本地硬碟可以將使數據持久化,避免數據丟失,保證數據的完整性;通過存儲設備將接收到的數據快取至記憶體,從而在系統故障導致阻塞時,數據可以大量積壓在記憶體中,而不會對系統有任何影響,從而保護故障系統不受大數據量的衝擊;另外,通過快取還可以對系統中的其他模組進行隔離,避免一個模組出現故障後,影響其他模組。
另外,針對不同模組的故障,該發明實施例提供多層的容災恢復功能。例如,在如圖2所示的結構圖中,還包括故障檢測模組,通過該故障檢測模組對數據處理系統中的各個模組進行故障檢測。如果檢測到實時預處理和分揀模組出現故障,導致數據丟失,則可以從分散式數據快取模組中回退到某個檢查站進行回退,由於分散式數據快取模組的本質是一個訊息佇列,因此回退僅需要付出很小的代價。
如果檢測到分散式數據快取模組出現故障,則根據實際套用中不同數據的重要性,提供了兩種解決方案:
第一種方案:對於數據重要性不高的場景,分散式數據快取模組中的一個數據快取伺服器發生故障,新增加的數據會自動切換到其他正常的數據快取伺服器中進行快取和存儲,這種方法會丟失少量的數據,如果對整體數據沒有影響則無需恢復。
第二種方案:對於數據重要性較高的場景,分散式數據快取模組中的一個數據快取伺服器發生故障,對數據快取伺服器實施同步複製,即使用另外一個數據快取伺服器替換故障的數據快取伺服器,從而保證數據不會丟失。
如果是數據接入模組或數據採集模組發生故障,可以通過數據採集模組重新補錄數據,從而完成數據的接入。
通過多層的容災恢復功能,在數據處理過程中的任何一個模組發生故障時,都可以及時地恢復,降低了數據恢復的難度,防止故障導致雪崩;尤其對於較長的數據處理流程,減少數據的丟失,降低了數據恢復的成本。
305:對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。
具體地,對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,包括但不限於如下步驟:步驟一:通過一至多個解析進程讀取存儲的每個數據,並獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元,將同一數據單元中的數據傳送至同一分揀進程;其中,通過一至多個解析進程讀取存儲的每個數據,包括但不限於:通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
在根據通用協定識別每個數據的業務屬性信息時,包括但不限於如下兩種情況:
第一種情況:如果根據通用協定識別每個數據的接口屬性信息及時間屬性信息,則獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括但不限於:獲取通過通用協定識別出的每個數據的業務屬性信息、接口屬性信息及時間屬性信息。
由於第一種情況下的解析進程無需解析數據的接口屬性信息及時間屬性信息,從而可以提高數據預處理及分揀過程的效率。
第二種情況:如果根據通用協定沒有識別每個數據的接口屬性信息及時間屬性信息,則獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括但不限於:獲取通過通用協定識別出的每個數據的業務屬性信息,並通過一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
第二種情況在具體實施時,可以根據讀取到的數據的業務屬性信息查找與該業務屬性信息對應的解析外掛程式,並調用查找到的解析外掛程式對數據進行解析和預處理,得到數據的接口屬性信息及時間屬性信息。另外,一個解析進程可以同時解析多個數據,進而提高數據處理的效率。
將同一數據單元中的數據傳送至同一分揀進程,包括但不限於:根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;將對應相同哈希值的數據傳送至同一分揀執行緒。
將同一數據單元中的數據傳送至同一分揀進程時,還可以對數據進行打包壓縮處理,關於打包壓縮的具體內容,詳見上述步驟302中的內容,此處不再贅述。
例如,解析進程11對多個數據進行解析,則解析進程11將哈希值相同的數據傳送到同一個分揀進程時,根據哈希值可能將數據傳送到分揀進程21、22及23中的任何一個分揀進程,也就是說,一個解析進程對應多個分揀進程。
步驟二:通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上,並在本地檔案達到預設大小後,將本地檔案中的數據上傳至分散式檔案系統。
其中,快取的預設大小可以為64千位元組,本地檔案的預設大小可以為128兆位元組,每個分揀進程快取接收到的數據單元中的數據,當快取寫滿64千位元組後,將快取中的數據添加到本地檔案上,並在本地檔案達到128兆位元組後,將本地檔案中的數據上傳至分散式檔案系統。當然,快取及本地檔案除了設定上述預設大小外,還可以設定其他預設大小,該實施例對此不作具體限定。
進一步地,該實施例提供的方法還包括:通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,並通過每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;對賬進程收集構成數據單元的數據條數,並根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統,由分散式檔案信息記錄對賬檔案,用以標識數據單元分揀完成。
為了便於理解,以如圖5所示的實時預處理和分揀模組中的進程為例進行說明。其中,實時預處理和分揀模組中的進程包括解析進程、分揀進程以及對賬進程;解析進程中包括3個不同解析進程,分揀進程中包括3個不同分揀進程,對賬進程中包括2個不同對賬進程。在每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,對賬進程在接收到創建數據的信息後維護一個數據單元的會話,並在每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;當接收到數據單元的最後一個數據時,在達到預設時間後,分揀進程向對賬進程傳送結束會話的信息,對賬進程在接收到結束會話的信息後,結束會話。例如,如果一個數據單元中包括5條數據,則對賬進程收集構成數據單元的數據條數為5,根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統。
《數據處理方法、裝置及系統》實施例提供的方法,通過接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。
  • 實施例三
參見圖6,《數據處理方法、裝置及系統》實施例提供了一種數據處理裝置,該裝置包括:獲取模組501,用於獲取接入配置信息,接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;採集模組502,用於根據接入配置信息中的數據源信息實時採集至少一個數據;轉換模組503,用於將每個數據的協定轉換成通用協定;第一識別模組504,用於通過通用協定識別每個數據的業務屬性信息;存儲模組505,用於按照每個數據的業務屬性信息將每個數據進行分散式存儲;處理模組506,用於對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。
作為一種優選實施例,參見圖7,處理模組506,包括:讀取單元5061,用於通過一至多個解析進程讀取存儲的每個數據;獲取單元5062,用於通過一至多個解析進程獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元;傳送單元5063,用於通過一至多個解析進程將同一數據單元中的數據傳送至同一分揀進程;快取單元5064,用於通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案;上傳單元5065,用於通過每個分揀進程在本地檔案達到預設大小後,將本地檔案中的數據上傳至分散式檔案系統。
作為一種優選實施例,存儲模組505,用於根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;讀取單元5061,用於通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
作為一種優選實施例,參見圖8,該裝置還包括:第二識別模組507,用於在根據通用協定識別每個數據的業務屬性信息時,根據通用協定識別每個數據的接口屬性信息及時間屬性信息;獲取單元5062,用於獲取通過通用協定識別出的每個數據的業務屬性信息、接口屬性信息及時間屬性信息。
作為一種優選實施例,獲取單元5062,用於獲取通過通用協定識別出的每個數據的業務屬性信息,並通過一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
作為一種優選實施例,參見圖9,傳送單元5063,包括:計運算元單元50631,用於根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;傳送子單元50632,用於將對應相同哈希值的數據傳送至同一分揀執行緒。
作為一種優選實施例,參見圖10,該裝置還包括:傳送模組508,用於通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,並通過每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;對賬模組509,用於通過對賬進程收集構成數據單元的數據條數,並根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統,由分散式檔案信息記錄對賬檔案,用以標識數據單元分揀完成。
作為一種優選實施例,參見圖11,該裝置還包括:打包壓縮模組510,用於在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
需要說明的是,該發明實施例提供的裝置可以安裝於數據處理伺服器上,該數據處理伺服器可如圖2所示的數據處理伺服器或實施例四所述的伺服器或實施例五所述的數據處理伺服器。實際套用中,該發明實施例提供的數據處理裝置中的獲取模組501用於執行如圖2所示的數據處理伺服器上的配置管理中心模組的功能;採集模組502除了執行如圖2所示的數據處理伺服器上的數據採集模組的功能外,還可以採集業務伺服器及訊息伺服器上的其他數據;轉換模組503和第一識別模組504用於執行如圖2所示的數據處理伺服器上的數據接入模組的功能;存儲模組505用於執行如圖2所示的數據處理伺服器上的分散式數據快取模組的功能;處理模組506用於執行如圖2所示的數據處理伺服器上的實時預處理和分揀模組的功能。
綜上所述,《數據處理方法、裝置及系統》實施例提供的裝置,通過接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。
  • 實施例四
《數據處理方法、裝置及系統》實施例提供了一種伺服器,參見圖12,該伺服器1200可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上中央處理器(central processing units,CPU)1922(例如,一個或一個以上處理器)和存儲器1932,一個或一個以上存儲應用程式1942或數據1944的存儲介質1930(例如一個或一個以上海量存儲設備)。其中,存儲器1932和存儲介質1930可以是短暫存儲或持久存儲。存儲在存儲介質1930的程式可以包括一個或一個以上模組(圖示沒標出),每個模組可以包括對伺服器1200中的一系列指令操作:獲取接入配置信息,接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;根據接入配置信息中的數據源信息實時採集至少一個數據;將每個數據的協定轉換成通用協定,通過通用協定識別每個數據的業務屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。
假設上述為第一種可能的實施方式,則在第一種可能的實施方式作為基礎而提供的第二種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,包括:通過一至多個解析進程讀取存儲的每個數據,並獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元,將同一數據單元中的數據傳送至同一分揀進程;通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上,並在本地檔案達到預設大小後,將本地檔案中的數據上傳至分散式檔案系統。
在第一種或第二種可能的實施方式作為基礎而提供的第三種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:按照每個數據的業務屬性信息將每個數據進行分散式存儲,包括:根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;通過一至多個解析進程讀取存儲的每個數據,包括:通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
在第二種可能的實施方式作為基礎而提供的第四種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:在根據通用協定識別每個數據的業務屬性信息時,根據通用協定識別每個數據的接口屬性信息及時間屬性信息;
獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括:獲取通過通用協定識別出的每個數據的業務屬性信息、接口屬性信息及時間屬性信息。
在第二種可能的實施方式作為基礎而提供的第五種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括:獲取通過通用協定識別出的每個數據的業務屬性信息,並通過一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
在第二種可能的實施方式作為基礎而提供的第六種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:將同一數據單元中的數據傳送至同一分揀進程,包括:根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;將對應相同哈希值的數據傳送至同一分揀執行緒。
在第二種可能的實施方式作為基礎而提供的第七種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,並通過每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;通過對賬進程收集構成數據單元的數據條數,並根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統,由分散式檔案信息記錄對賬檔案,用以標識數據單元分揀完成。
在第一種可能的實施方式作為基礎而提供的第八種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
更進一步地,中央處理器1922可以設定為與存儲介質1930通信,在伺服器1200上執行存儲介質1930中的一系列指令操作。
伺服器1200還可以包括一個或一個以上電源1926,一個或一個以上有線或無線網路接口1950,一個或一個以上輸入輸出接口1958,和/或,一個或一個以上作業系統1941,例如Windows ServerTM,Mac OS XTM,Unix TM,LinuxTM,FreeBSDTM等等。
綜上所述,《數據處理方法、裝置及系統》實施例提供的伺服器,通過接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。
  • 實施例五
《數據處理方法、裝置及系統》實施例提供了一種數據處理系統,該系統包括:數據處理伺服器、業務伺服器和訊息伺服器,數據處理伺服器分別與業務伺服器和訊息伺服器進行無線或有線連線;其中,數據處理伺服器,用於獲取接入配置信息,根據接入配置信息中的數據源信息實時採集業務伺服器及訊息伺服器上的至少一個數據;將每個數據的協定轉換成通用協定,通過通用協定識別每個數據的業務屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。
作為一種優選實施例,數據處理伺服器對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統時,用於通過一至多個解析進程讀取存儲的每個數據,並獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元,將同一數據單元中的數據傳送至同一分揀進程;通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上,並在本地檔案達到預設大小後,將本地檔案中的數據上傳至分散式檔案系統。
作為一種優選實施例,數據處理伺服器按照每個數據的業務屬性信息將每個數據進行分散式存儲時,用於根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;作為一種優選實施例,數據處理伺服器通過一至多個解析進程讀取存儲的每個數據時,用於通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
作為一種優選實施例,數據處理伺服器,還用於在根據通用協定識別每個數據的業務屬性信息時,根據通用協定識別每個數據的接口屬性信息及時間屬性信息;作為一種優選實施例,數據處理伺服器獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息時,用於獲取通過通用協定識別出的每個數據的業務屬性信息、接口屬性信息及時間屬性信息。
作為一種優選實施例,數據處理伺服器獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息時,用於獲取通過通用協定識別出的每個數據的業務屬性信息,並通過一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
作為一種優選實施例,數據處理伺服器將同一數據單元中的數據傳送至同一分揀進程時,用於根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;將對應相同哈希值的數據傳送至同一分揀執行緒。
作為一種優選實施例,數據處理伺服器通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,並通過每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;通過對賬進程收集構成數據單元的數據條數,並根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統,由分散式檔案信息記錄對賬檔案,用以標識數據單元分揀完成。
作為一種優選實施例,數據處理伺服器還用於在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
需要說明的是,該發明實施例提供的數據處理系統中的數據處理伺服器上可以安裝有數據處理裝置,該數據處理裝置可以為上述實施例三所述的數據處理裝置,具體詳見上述實施例三的內容。
《數據處理方法、裝置及系統》實施例提供的系統,通過數據處理伺服器根據接入配置信息中的數據源信息實時採集業務伺服器及訊息伺服器上的至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。

專利榮譽

2021年6月24日,《數據處理方法、裝置及系統》獲得第二十二屆中國專利優秀獎。

技術方案

《數據處理方法、裝置及系統》一方面提供了一種數據處理方法,所述方法包括:獲取接入配置信息,所述接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;根據所述接入配置信息中的數據源信息實時採集至少一個數據;將每個數據的協定轉換成通用協定,通過所述通用協定識別每個數據的業務屬性信息、接口屬性信息及時間屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。
《數據處理方法、裝置及系統》另一方面提供了一種數據處理裝置,所述裝置包括:獲取模組,用於獲取接入配置信息,所述接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;採集模組,用於根據所述接入配置信息中的數據源信息實時採集至少一個數據;轉換模組,用於將每個數據的協定轉換成通用協定;第一識別模組,用於通過所述通用協定識別每個數據的業務屬性信息;第二識別模組,用於在所述第一識別模組通過所述通用協定識別每個數據的業務屬性信息時,通過所述通用協定識別每個數據業務的接口屬性信息及時間屬性信息;存儲模組,用於按照每個數據的業務屬性信息將每個數據進行分散式存儲;處理模組,用於對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。
《數據處理方法、裝置及系統》還提供了一種數據處理系統,所述系統包括:數據處理伺服器、業務伺服器和訊息伺服器,所述數據處理伺服器分別與所述業務伺服器和訊息伺服器進行無線或有線連線;其中,所述數據處理伺服器,用於獲取接入配置信息,根據所述接入配置信息中的數據源信息實時採集所述業務伺服器及所述訊息伺服器上的至少一個數據;將每個數據的協定轉換成通用協定,通過所述通用協定識別每個數據的業務屬性信息、接口屬性信息及時間屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。

改善效果

《數據處理方法、裝置及系統》通過根據接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。

附圖說明

圖1是《數據處理方法、裝置及系統》實施例一提供的數據處理方法流程圖;
圖2是該發明實施例二提供的數據處理系統的示意圖;
圖3是該發明實施例二提供的數據處理方法流程圖;
圖4是該發明實施例二提供的打包結構的示意圖;
圖5是該發明實施例二提供的實時預處理和分揀模組中的進程的示意圖;
圖6是該發明實施例三提供的第一種數據處理裝置的結構示意圖;
圖7是該發明實施例三提供的處理模組的結構示意圖;
圖8是該發明實施例三提供的第二種數據處理裝置的結構示意圖;
圖9是該發明實施例三提供的傳送單元的結構示意圖;
圖10是該發明實施例三提供的第三種數據處理裝置的結構示意圖;
圖11是該發明實施例三提供的第四種數據處理裝置的結構示意圖;
圖12是該發明實施例四提供的一種伺服器的結構示意圖。

技術領域

《數據處理方法、裝置及系統》涉及信息處理技術領域,特別涉及一種數據處理方法、裝置及系統。

權利要求

1.一種數據處理方法,其特徵在於,所述方法包括:獲取接入配置信息,所述接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;根據所述接入配置信息中的數據源信息實時採集至少一個數據;將每個數據的協定轉換成通用協定,通過所述通用協定識別每個數據的業務屬性信息、接口屬性信息及時間屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。
2.根據權利要求1所述的方法,其特徵在於,所述對所述每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,包括:通過一至多個解析進程讀取存儲的每個數據,並獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元,將同一數據單元中的數據傳送至同一分揀進程;通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上,並在本地檔案達到預設大小後,將所述本地檔案中的數據上傳至分散式檔案系統。
3.根據權利要求1或2所述的方法,其特徵在於,所述按照每個數據的業務屬性信息將每個數據進行分散式存儲,包括:根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;所述通過一至多個解析進程讀取存儲的每個數據,包括:通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
4.根據權利要求2所述的方法,其特徵在於,所述獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括:獲取通過所述通用協定識別出的每個數據的業務屬性信息,並通過所述一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
5.根據權利要求2所述的方法,其特徵在於,所述將同一數據單元中的數據傳送至同一分揀進程,包括:根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;將對應相同哈希值的數據傳送至同一分揀執行緒。
6.根據權利要求2所述的方法,其特徵在於,所述方法還包括:通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送所述數據單元的創建信息,並通過每個分揀進程接收到所述數據單元的最後一個數據後,向所述對應的對賬進程傳送所述數據單元的結束信息;通過所述對賬進程收集構成所述數據單元的數據條數,並根據所述數據單元的數據條數生成對賬檔案,將所述對賬檔案上傳至對應的分散式檔案系統,由所述分散式檔案信息記錄所述對賬檔案,用以標識所述數據單元分揀完成。
7.根據權利要求1所述的方法,其特徵在於,所述方法還包括:在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,所述預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,所述包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
8.一種數據處理裝置,其特徵在於,所述裝置包括:獲取模組,用於獲取接入配置信息,所述接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;採集模組,用於根據所述接入配置信息中的數據源信息實時採集至少一個數據;轉換模組,用於將每個數據的協定轉換成通用協定;第一識別模組,用於通過所述通用協定識別每個數據的業務屬性信息;第二識別模組,用於在所述第一識別模組通過所述通用協定識別每個數據的業務屬性信息時,通過所述通用協定識別每個數據業務的接口屬性信息及時間屬性信息;存儲模組,用於按照每個數據的業務屬性信息將每個數據進行分散式存儲;處理模組,用於對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。
9.根據權利要求8所述的裝置,其特徵在於,所述處理模組,包括:讀取單元,用於通過一至多個解析進程讀取存儲的每個數據;獲取單元,用於通過所述一至多個解析進程獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元;傳送單元,用於通過所述一至多個解析進程將同一數據單元中的數據傳送至同一分揀進程;快取單元,用於通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上;上傳單元,用於通過每個分揀進程在本地檔案達到預設大小後,將所述本地檔案中的數據上傳至分散式檔案系統。
10.根據權利要求8或9所述的裝置,其特徵在於,所述存儲模組,用於根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;所述讀取單元,用於通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
11.根據權利要求9所述的裝置,其特徵在於,所述獲取單元,用於獲取通過所述通用協定識別出的每個數據的業務屬性信息,並通過所述一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
12.根據權利要求9所述的裝置,其特徵在於,所述傳送單元,包括:計運算元單元,用於根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;傳送子單元,用於將對應相同哈希值的數據傳送至同一分揀執行緒。
13.根據權利要求9所述的裝置,其特徵在於,所述裝置還包括:傳送模組,用於通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送所述數據單元的創建信息,並通過每個分揀進程接收到所述數據單元的最後一個數據後,向所述對應的對賬進程傳送所述數據單元的結束信息;對賬模組,用於通過所述對賬進程收集構成所述數據單元的數據條數,並根據所述數據單元的數據條數生成對賬檔案,將所述對賬檔案上傳至對應的分散式檔案系統,由所述分散式檔案信息記錄所述對賬檔案,用以標識所述數據單元分揀完成。
14.根據權利要求8所述的裝置,其特徵在於,所述裝置還包括:打包壓縮模組,用於在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,所述預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,所述包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
15.一種數據處理系統,其特徵在於,所述系統包括:數據處理伺服器、業務伺服器和訊息伺服器,所述數據處理伺服器分別與所述業務伺服器和訊息伺服器進行無線或有線連線;其中,所述數據處理伺服器,用於獲取接入配置信息,根據所述接入配置信息中的數據源信息實時採集所述業務伺服器及所述訊息伺服器上的至少一個數據;將每個數據的協定轉換成通用協定,通過所述通用協定識別每個數據的業務屬性信息、接口屬性信息及時間屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由所述分散式檔案系統進行存儲。

實施方式

  • 實施例一
《數據處理方法、裝置及系統》實施例提供了一種數據處理方法,參見圖1,該實施例提供的方法流程包括:
101:獲取接入配置信息,接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息。
102:根據接入配置信息中的數據源信息實時採集至少一個數據。
103:將每個數據的協定轉換成通用協定,通過通用協定識別每個數據的業務屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲。
進一步地,按照每個數據的業務屬性信息將每個數據進行分散式存儲,包括:根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;通過一至多個解析進程讀取存儲的每個數據,包括:通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
104:對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。
進一步地,對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,包括:通過一至多個解析進程讀取存儲的每個數據,並獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元,將同一數據單元中的數據傳送至同一分揀進程;通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上,並在本地檔案達到預設大小後,將本地檔案中的數據上傳至分散式檔案系統。
進一步地,在根據通用協定識別每個數據的業務屬性信息時,根據通用協定識別每個數據的接口屬性信息及時間屬性信息;獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括:獲取通過通用協定識別出的每個數據的業務屬性信息、接口屬性信息及時間屬性信息。
可選地,獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括:獲取通過通用協定識別出的每個數據的業務屬性信息,並通過一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
進一步地,將同一數據單元中的數據傳送至同一分揀進程,包括:根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;將對應相同哈希值的數據傳送至同一分揀執行緒。
進一步地,通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,並通過每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;通過對賬進程收集構成數據單元的數據條數,並根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統,由分散式檔案信息記錄對賬檔案,用以標識數據單元分揀完成。
進一步地,在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
《數據處理方法、裝置及系統》實施例提供的方法,通過接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。
  • 實施例二
《數據處理方法、裝置及系統》實施例提供了一種數據處理方法,為了便於理解,結合上述實施例一的內容,以如圖2所示的數據處理系統為例,對該發明實施例提供的數據處理方法進行詳細地解釋說明。其中,圖2所示的數據處理系統包括:數據處理伺服器、業務伺服器以及訊息伺服器;數據處理伺服器包括配置管理中心模組、數據採集模組、數據接入模組、分散式數據快取模組、實時預處理和分揀模組以及故障檢測模組,參見圖3,方法流程包括:
301:獲取接入配置信息,接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息。
關於獲取接入配置信息的方式,該實施例不作具體限定。具體實施時,可以提供互動界面,獲取用戶通過互動界面輸入的配置信息,並將用戶輸入的配置信息作為獲取到的接入配置信息。
為了便於理解,以如圖2所示的配置管理中心模組獲取接入配置信息為例,用戶對數據進行配置的過程包括但不限於:申請業務標識;填寫具體業務的業務屬性;配置數據源信息;配置接口信息;配置接入分散式檔案系統信息。
優選地,配置管理中心模組將獲取到的接入配置信息寫入配置檔案,並存儲該配置檔案後,該配置管理中心模組向系統中的其他模組同步接入配置信息,以根據接入配置信息觸發系統中的其他模組啟動數據處理。另外,對於數據源信息是資料庫或檔案的數據,配置管理中心會在業務伺服器中安裝數據採集模組,以便能夠採集上述兩類數據源的數據。
302:根據接入配置信息中的數據源信息實時採集至少一個數據。
關於採集數據的方式,該實施例不作具體限定。具體實施時,對於不同數據源信息的數據,需要使用不同的採集方式採集數據。例如,對於資料庫或檔案這兩種數據源的數據,需要使用配置管理中心預先安裝的數據採集模組來採集數據;對於其他數據源的數據,則可以直接使用業務伺服器以及訊息伺服器來採集待處理數據。
進一步地,採集數據時,接入配置信息中的數據源信息所對應的數據源產生一個數據就可以及時發現一個數據,並讀取一個數據,從而產生一個數據就可以採集一個數據,使數據實時被採集。需要說明的是,從數據產生到採集的延時可以根據實際情況進行設定,通常情況下時延的單位級別是毫秒。例如,對於離線數據等對實時性要求不高的場景,可以設定最大延時時間為10秒;而對於實時性要求較高的場景,則可以設定最大延時時間為1秒或者更少的時間。
另外,根據接入配置信息中的數據源信息實時採集至少一個數據後,還包括但不限於:傳輸採集到的數據。為了便於理解,以如圖2所示的系統為例進行說明,數據採集模組將採集到的數據傳送給數據接入模組,從而由數據採集模組將採集到的數據傳輸到數據接入模組。
優選地,為了提高數據的傳輸效率和系統利用率,在傳輸每個數據之前,該實施例提供的方法按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據。其中,預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
為了便於理解,以如圖4所示的打包結構為例進行說明。數據進行打包及壓縮處理後,得到數據包,數據包的結構包括:(1)magic,表示特殊欄位,用於標識打包結構,在數據包的首尾各有一個magic,每個magic占用2個位元組,一個數據包共有4個位元組的magic;(2)create time,表示數據包的創建時間,用於後續步驟中的全局對賬;(3)packnum,表示子包數目,一個數據包中包含多個子包;(4)子包,每個子包由一個attr(屬性)和一個body(包體)組成;其中,body中包含多個數據,並且一個子包的body中包含的多個數據的attr相同,從而節省相同attr的數據的冗餘信息;另外,由於數據的壓縮是在body中完成的,避免了在需要區分不同attr的數據的情況下,需要解開全部的數據包,實現了數據包的輕度解包,提高了系統的利用率。
進一步地,body還包括:(1)bodylen,表示包體長度;(2)compress,表示子包是否被壓縮;(3)時間訊息,以長度+信息的格式進行排列。通過上述打包結構提高了系統中數據的傳輸效率以及系統的利用率。
303:將每個數據的協定轉換成通用協定,通過通用協定識別每個數據的業務屬性信息。
其中,數據接入的單元是業務,一般來說一個業務數據對應於一個具體的產品、業務的數據,一個業務數據擁有一個唯一的業務標識。通常一個業務包含多個接口,一個接口一般表示一張具體的數據表,有著統一的數據模式(schema,如資料庫中的表)。此外,數據還具有對應的時間屬性,表達一個數據的時間,通常代表數據的產生時間,此處稱之為數據時間。因此,任何一個數據都是由業務、接口、時間這三個維度決定的,即每個數據都包含業務屬性、接口屬性及時間屬性。
當然,一個數據除了包含以上定義的三種屬性以外,還包含其他的屬性,該實施例不對數據的具體屬性進行限定。例如:數據來源(檔案,資料庫,訊息);數據格式(有分隔設定的文本數據,KV表達的數據,JSON數據,PB數據,其他二進制格式的數據);數據解析方法,如何得出前面所述的三個屬性的方法(在數據附帶屬性中定義,在數據內部解析,在數據配置檔案中定義等);對於有分隔設定的數據還包含分隔設定屬性;對於在數據內部解析時間的數據,還包括數據時間格式的屬性。
由於不同類型數據採用的協定不同,為了能夠識別出每種類型數據的業務屬性信息,該實施例提供的方法採取了將每個數據的協定轉換成通用協定的方式,從而能夠通過通用協定識別每個數據的業務屬性信息。
例如,通過數據採集模組採集數據時,通常情況下採集到的數據採用內部協定,將採集到的數據的協定進行替換後就可以將數據的協定轉換成通用協定。
又例如,通過業務伺服器採集數據時,通常情況下採集到的數據採用六段協定或業務自定義協定。對於採用六段協定的數據,數據接入模組將六段協定按照通用協定進行轉換;對於採用業務自定義協定的數據,需要通過特定的數據連線埠接入數據接入模組,再通過定製的數據解析外掛程式對數據進行協定轉換。
通過對數據進行協定轉換,使各種數據源的數據都可以通過數據接入模組接入系統,擴大了數據處理的套用範圍。實際套用中,可以將常用的數據總結成系統能處理的相對應的數據模式。對於新接入的數據,如果在數據模式之內,則可以直接接入;如果在數據模式之外,則需要開發相應的解析外掛程式,並通過調用相應的解析外掛程式完成數據的協定轉換,進而簡化數據的接入。需要說明的是,此處的解析外掛程式用於將每個數據的協定轉換成通用協定,是協定層的解析外掛程式,該實施例不對解析外掛程式的開發過程進行限定。
由於已經將每個數據的協定轉換成通用協定,則通過通用協定識別每個數據的業務屬性信息時,對於採用內部協定或六段協定的數據,可直接在協定內部識別數據的業務屬性信息;對於採用業務自定義協定的數據,需要通過配置檔案查找數據的業務屬性信息,將查找到業務屬性信息作為識別到的業務屬性信息。
進一步地,通過通用協定識別每個數據的業務屬性信息,實現了對數據初步的解析;對於一些數據,還可根據通用協定識別每個數據的接口屬性信息及時間屬性信息,避免了後續步驟中解析進程解析每個數據的接口屬性信息及時間屬性信息,提高了數據處理的效率。
對於接口屬性信息,一些數據的接口信息可以在通用協定中識別,另外一些數據則需要在數據內容中識別接口信息,具體識別方式詳見後續步驟中的內容;時間屬性信息與接口屬性信息類似,此處不再贅述,不同的是,大部分數據的時間屬性都可在通用協定中識別。
304:根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體。
根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備時,也可以先按照預設格式將每個數據進行打包及壓縮處理,傳送打包壓縮後的數據至對應的存儲設備。關於打包壓縮的具體內容,詳見上述步驟302中的內容,此處不再贅述。另外,打包壓縮時,將識別出的業務屬性信息、接口屬性信息及時間屬性信息作為數據的屬性信息與數據一同打包壓縮並傳送至對應的存儲設備。其中,不同業務屬性信息對應不同業務屬性標識,不同業務屬性標識對應存儲設備中不同業務主題。
根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,還包括但不限於:確定存儲設備可以接收的業務主題;根據確定的業務主題向將每個數據傳送至對應的存儲設備。
例如,分散式數據快取模組接收數據接入模組傳送的數據,按照數據的業務屬性信息以及分散式數據快取模組確定的可以接收的業務主題,將數據存儲到本地硬碟,並快取至記憶體。具體實施時,存儲設備可以是一組伺服器,確定每個伺服器可以接收的業務主題,又由於不同業務屬性信息對應不同業務屬性標識,不同業務屬性標識對應伺服器中不同業務主題,則將不同數據業務屬性的數據傳送到不同的伺服器上,從而實現了數據的混洗,減少數據的傾斜,還能達到數據隔離的作用。
進一步地,通過存儲設備將接收到的數據存儲到本地硬碟可以將使數據持久化,避免數據丟失,保證數據的完整性;通過存儲設備將接收到的數據快取至記憶體,從而在系統故障導致阻塞時,數據可以大量積壓在記憶體中,而不會對系統有任何影響,從而保護故障系統不受大數據量的衝擊;另外,通過快取還可以對系統中的其他模組進行隔離,避免一個模組出現故障後,影響其他模組。
另外,針對不同模組的故障,該發明實施例提供多層的容災恢復功能。例如,在如圖2所示的結構圖中,還包括故障檢測模組,通過該故障檢測模組對數據處理系統中的各個模組進行故障檢測。如果檢測到實時預處理和分揀模組出現故障,導致數據丟失,則可以從分散式數據快取模組中回退到某個檢查站進行回退,由於分散式數據快取模組的本質是一個訊息佇列,因此回退僅需要付出很小的代價。
如果檢測到分散式數據快取模組出現故障,則根據實際套用中不同數據的重要性,提供了兩種解決方案:
第一種方案:對於數據重要性不高的場景,分散式數據快取模組中的一個數據快取伺服器發生故障,新增加的數據會自動切換到其他正常的數據快取伺服器中進行快取和存儲,這種方法會丟失少量的數據,如果對整體數據沒有影響則無需恢復。
第二種方案:對於數據重要性較高的場景,分散式數據快取模組中的一個數據快取伺服器發生故障,對數據快取伺服器實施同步複製,即使用另外一個數據快取伺服器替換故障的數據快取伺服器,從而保證數據不會丟失。
如果是數據接入模組或數據採集模組發生故障,可以通過數據採集模組重新補錄數據,從而完成數據的接入。
通過多層的容災恢復功能,在數據處理過程中的任何一個模組發生故障時,都可以及時地恢復,降低了數據恢復的難度,防止故障導致雪崩;尤其對於較長的數據處理流程,減少數據的丟失,降低了數據恢復的成本。
305:對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。
具體地,對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,包括但不限於如下步驟:步驟一:通過一至多個解析進程讀取存儲的每個數據,並獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元,將同一數據單元中的數據傳送至同一分揀進程;其中,通過一至多個解析進程讀取存儲的每個數據,包括但不限於:通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
在根據通用協定識別每個數據的業務屬性信息時,包括但不限於如下兩種情況:
第一種情況:如果根據通用協定識別每個數據的接口屬性信息及時間屬性信息,則獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括但不限於:獲取通過通用協定識別出的每個數據的業務屬性信息、接口屬性信息及時間屬性信息。
由於第一種情況下的解析進程無需解析數據的接口屬性信息及時間屬性信息,從而可以提高數據預處理及分揀過程的效率。
第二種情況:如果根據通用協定沒有識別每個數據的接口屬性信息及時間屬性信息,則獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括但不限於:獲取通過通用協定識別出的每個數據的業務屬性信息,並通過一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
第二種情況在具體實施時,可以根據讀取到的數據的業務屬性信息查找與該業務屬性信息對應的解析外掛程式,並調用查找到的解析外掛程式對數據進行解析和預處理,得到數據的接口屬性信息及時間屬性信息。另外,一個解析進程可以同時解析多個數據,進而提高數據處理的效率。
將同一數據單元中的數據傳送至同一分揀進程,包括但不限於:根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;將對應相同哈希值的數據傳送至同一分揀執行緒。
將同一數據單元中的數據傳送至同一分揀進程時,還可以對數據進行打包壓縮處理,關於打包壓縮的具體內容,詳見上述步驟302中的內容,此處不再贅述。
例如,解析進程11對多個數據進行解析,則解析進程11將哈希值相同的數據傳送到同一個分揀進程時,根據哈希值可能將數據傳送到分揀進程21、22及23中的任何一個分揀進程,也就是說,一個解析進程對應多個分揀進程。
步驟二:通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上,並在本地檔案達到預設大小後,將本地檔案中的數據上傳至分散式檔案系統。
其中,快取的預設大小可以為64千位元組,本地檔案的預設大小可以為128兆位元組,每個分揀進程快取接收到的數據單元中的數據,當快取寫滿64千位元組後,將快取中的數據添加到本地檔案上,並在本地檔案達到128兆位元組後,將本地檔案中的數據上傳至分散式檔案系統。當然,快取及本地檔案除了設定上述預設大小外,還可以設定其他預設大小,該實施例對此不作具體限定。
進一步地,該實施例提供的方法還包括:通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,並通過每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;對賬進程收集構成數據單元的數據條數,並根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統,由分散式檔案信息記錄對賬檔案,用以標識數據單元分揀完成。
為了便於理解,以如圖5所示的實時預處理和分揀模組中的進程為例進行說明。其中,實時預處理和分揀模組中的進程包括解析進程、分揀進程以及對賬進程;解析進程中包括3個不同解析進程,分揀進程中包括3個不同分揀進程,對賬進程中包括2個不同對賬進程。在每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,對賬進程在接收到創建數據的信息後維護一個數據單元的會話,並在每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;當接收到數據單元的最後一個數據時,在達到預設時間後,分揀進程向對賬進程傳送結束會話的信息,對賬進程在接收到結束會話的信息後,結束會話。例如,如果一個數據單元中包括5條數據,則對賬進程收集構成數據單元的數據條數為5,根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統。
《數據處理方法、裝置及系統》實施例提供的方法,通過接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。
  • 實施例三
參見圖6,《數據處理方法、裝置及系統》實施例提供了一種數據處理裝置,該裝置包括:獲取模組501,用於獲取接入配置信息,接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;採集模組502,用於根據接入配置信息中的數據源信息實時採集至少一個數據;轉換模組503,用於將每個數據的協定轉換成通用協定;第一識別模組504,用於通過通用協定識別每個數據的業務屬性信息;存儲模組505,用於按照每個數據的業務屬性信息將每個數據進行分散式存儲;處理模組506,用於對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。
作為一種優選實施例,參見圖7,處理模組506,包括:讀取單元5061,用於通過一至多個解析進程讀取存儲的每個數據;獲取單元5062,用於通過一至多個解析進程獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元;傳送單元5063,用於通過一至多個解析進程將同一數據單元中的數據傳送至同一分揀進程;快取單元5064,用於通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案;上傳單元5065,用於通過每個分揀進程在本地檔案達到預設大小後,將本地檔案中的數據上傳至分散式檔案系統。
作為一種優選實施例,存儲模組505,用於根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;讀取單元5061,用於通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
作為一種優選實施例,參見圖8,該裝置還包括:第二識別模組507,用於在根據通用協定識別每個數據的業務屬性信息時,根據通用協定識別每個數據的接口屬性信息及時間屬性信息;獲取單元5062,用於獲取通過通用協定識別出的每個數據的業務屬性信息、接口屬性信息及時間屬性信息。
作為一種優選實施例,獲取單元5062,用於獲取通過通用協定識別出的每個數據的業務屬性信息,並通過一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
作為一種優選實施例,參見圖9,傳送單元5063,包括:計運算元單元50631,用於根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;傳送子單元50632,用於將對應相同哈希值的數據傳送至同一分揀執行緒。
作為一種優選實施例,參見圖10,該裝置還包括:傳送模組508,用於通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,並通過每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;對賬模組509,用於通過對賬進程收集構成數據單元的數據條數,並根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統,由分散式檔案信息記錄對賬檔案,用以標識數據單元分揀完成。
作為一種優選實施例,參見圖11,該裝置還包括:打包壓縮模組510,用於在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
需要說明的是,該發明實施例提供的裝置可以安裝於數據處理伺服器上,該數據處理伺服器可如圖2所示的數據處理伺服器或實施例四所述的伺服器或實施例五所述的數據處理伺服器。實際套用中,該發明實施例提供的數據處理裝置中的獲取模組501用於執行如圖2所示的數據處理伺服器上的配置管理中心模組的功能;採集模組502除了執行如圖2所示的數據處理伺服器上的數據採集模組的功能外,還可以採集業務伺服器及訊息伺服器上的其他數據;轉換模組503和第一識別模組504用於執行如圖2所示的數據處理伺服器上的數據接入模組的功能;存儲模組505用於執行如圖2所示的數據處理伺服器上的分散式數據快取模組的功能;處理模組506用於執行如圖2所示的數據處理伺服器上的實時預處理和分揀模組的功能。
綜上所述,《數據處理方法、裝置及系統》實施例提供的裝置,通過接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。
  • 實施例四
《數據處理方法、裝置及系統》實施例提供了一種伺服器,參見圖12,該伺服器1200可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上中央處理器(central processing units,CPU)1922(例如,一個或一個以上處理器)和存儲器1932,一個或一個以上存儲應用程式1942或數據1944的存儲介質1930(例如一個或一個以上海量存儲設備)。其中,存儲器1932和存儲介質1930可以是短暫存儲或持久存儲。存儲在存儲介質1930的程式可以包括一個或一個以上模組(圖示沒標出),每個模組可以包括對伺服器1200中的一系列指令操作:獲取接入配置信息,接入配置信息中至少包括業務標識信息、業務屬性信息、數據源信息、接口信息及入庫信息;根據接入配置信息中的數據源信息實時採集至少一個數據;將每個數據的協定轉換成通用協定,通過通用協定識別每個數據的業務屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。
假設上述為第一種可能的實施方式,則在第一種可能的實施方式作為基礎而提供的第二種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,包括:通過一至多個解析進程讀取存儲的每個數據,並獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元,將同一數據單元中的數據傳送至同一分揀進程;通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上,並在本地檔案達到預設大小後,將本地檔案中的數據上傳至分散式檔案系統。
在第一種或第二種可能的實施方式作為基礎而提供的第三種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:按照每個數據的業務屬性信息將每個數據進行分散式存儲,包括:根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;通過一至多個解析進程讀取存儲的每個數據,包括:通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
在第二種可能的實施方式作為基礎而提供的第四種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:在根據通用協定識別每個數據的業務屬性信息時,根據通用協定識別每個數據的接口屬性信息及時間屬性信息;
獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括:獲取通過通用協定識別出的每個數據的業務屬性信息、接口屬性信息及時間屬性信息。
在第二種可能的實施方式作為基礎而提供的第五種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,包括:獲取通過通用協定識別出的每個數據的業務屬性信息,並通過一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
在第二種可能的實施方式作為基礎而提供的第六種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:將同一數據單元中的數據傳送至同一分揀進程,包括:根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;將對應相同哈希值的數據傳送至同一分揀執行緒。
在第二種可能的實施方式作為基礎而提供的第七種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,並通過每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;通過對賬進程收集構成數據單元的數據條數,並根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統,由分散式檔案信息記錄對賬檔案,用以標識數據單元分揀完成。
在第一種可能的實施方式作為基礎而提供的第八種可能的實施方式中,伺服器1200的存儲器1932中,還包含用於執行以下操作的指令:在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
更進一步地,中央處理器1922可以設定為與存儲介質1930通信,在伺服器1200上執行存儲介質1930中的一系列指令操作。
伺服器1200還可以包括一個或一個以上電源1926,一個或一個以上有線或無線網路接口1950,一個或一個以上輸入輸出接口1958,和/或,一個或一個以上作業系統1941,例如Windows ServerTM,Mac OS XTM,Unix TM,LinuxTM,FreeBSDTM等等。
綜上所述,《數據處理方法、裝置及系統》實施例提供的伺服器,通過接入配置信息中的數據源信息實時採集至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。
  • 實施例五
《數據處理方法、裝置及系統》實施例提供了一種數據處理系統,該系統包括:數據處理伺服器、業務伺服器和訊息伺服器,數據處理伺服器分別與業務伺服器和訊息伺服器進行無線或有線連線;其中,數據處理伺服器,用於獲取接入配置信息,根據接入配置信息中的數據源信息實時採集業務伺服器及訊息伺服器上的至少一個數據;將每個數據的協定轉換成通用協定,通過通用協定識別每個數據的業務屬性信息,並按照每個數據的業務屬性信息將每個數據進行分散式存儲;對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統,由分散式檔案系統進行存儲。
作為一種優選實施例,數據處理伺服器對每個數據進行預處理及分揀處理,將分揀出的數據傳送到分散式檔案系統時,用於通過一至多個解析進程讀取存儲的每個數據,並獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數據構成一個數據單元,將同一數據單元中的數據傳送至同一分揀進程;通過每個分揀進程快取接收到的數據單元中的數據,當快取寫滿後,將快取中的數據添加到本地檔案上,並在本地檔案達到預設大小後,將本地檔案中的數據上傳至分散式檔案系統。
作為一種優選實施例,數據處理伺服器按照每個數據的業務屬性信息將每個數據進行分散式存儲時,用於根據每個數據的業務屬性信息將每個數據傳送至對應的存儲設備,由每個存儲設備將接收到的數據存儲到本地硬碟,並快取至記憶體;作為一種優選實施例,數據處理伺服器通過一至多個解析進程讀取存儲的每個數據時,用於通過一至多個解析進程讀取每個存儲設備的記憶體中存儲的每個數據。
作為一種優選實施例,數據處理伺服器,還用於在根據通用協定識別每個數據的業務屬性信息時,根據通用協定識別每個數據的接口屬性信息及時間屬性信息;作為一種優選實施例,數據處理伺服器獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息時,用於獲取通過通用協定識別出的每個數據的業務屬性信息、接口屬性信息及時間屬性信息。
作為一種優選實施例,數據處理伺服器獲取每個數據的業務屬性信息、接口屬性信息及時間屬性信息時,用於獲取通過通用協定識別出的每個數據的業務屬性信息,並通過一至多個解析進程解析每個數據的接口屬性信息及時間屬性信息。
作為一種優選實施例,數據處理伺服器將同一數據單元中的數據傳送至同一分揀進程時,用於根據每個數據的業務屬性信息、接口屬性信息及時間屬性信息計算每個數據對應的哈希值,同一數據單元中的數據對應相同哈希值;將對應相同哈希值的數據傳送至同一分揀執行緒。
作為一種優選實施例,數據處理伺服器通過每個分揀進程接收到數據單元中的第一個數據後,向對應的對賬進程傳送數據單元的創建信息,並通過每個分揀進程接收到數據單元的最後一個數據後,向對應的對賬進程傳送數據單元的結束信息;通過對賬進程收集構成數據單元的數據條數,並根據數據單元的數據條數生成對賬檔案,將對賬檔案上傳至對應的分散式檔案系統,由分散式檔案信息記錄對賬檔案,用以標識數據單元分揀完成。
作為一種優選實施例,數據處理伺服器還用於在傳輸每個數據之前,按照預設格式將每個數據進行打包及壓縮處理,並在每個數據的傳輸過程中傳輸打包壓縮後的數據;其中,預設格式包括特殊欄位、創建時間欄位、子包數目欄位、子包欄位,每個子包欄位包括屬性欄位和包體欄位,包體欄位包括包體長度欄位、包體壓縮欄位及包體包含的訊息欄位。
需要說明的是,該發明實施例提供的數據處理系統中的數據處理伺服器上可以安裝有數據處理裝置,該數據處理裝置可以為上述實施例三所述的數據處理裝置,具體詳見上述實施例三的內容。
《數據處理方法、裝置及系統》實施例提供的系統,通過數據處理伺服器根據接入配置信息中的數據源信息實時採集業務伺服器及訊息伺服器上的至少一個數據,並按照轉換後的通用協定識別出的業務屬性信息將每個數據進行分散式存儲;再對每個數據進行預處理及分揀處理,由分散式檔案系統存儲分揀出的數據,從而實現大量數據的實時採集及處理,並且協定轉換可實現不同類型數據的接入,提高了數據處理的效率。

專利榮譽

2021年6月24日,《數據處理方法、裝置及系統》獲得第二十二屆中國專利優秀獎。

相關詞條

熱門詞條

聯絡我們