一種數據實時分發處理裝置及方法
【專利摘要】一種數據實時分發處理裝置及方法,涉及海量數據分發處理領域,提高多個并發數據源的海量數據實時分發處理的實時性,減少數據積壓。實時分發入庫模塊接收一個或者多個數據源發送的數據流,并查詢本模塊的當前入庫狀態,如果所述當前入庫狀態滿足所述數據流的入庫需求,則將所述數據流存入數據集中存儲模塊中,如果所述當前入庫狀態不滿足所述數據流的入庫需求,則根據所述多個實時分發入庫模塊的當前入庫狀態,確定滿足數據流的入庫需求的一個或多個實時分發入庫模塊,指示所確定的實時分發入庫模塊將所述數據流存入數據集中存儲模塊中;各個實時分發入庫模塊的數據流入庫成功后,更新當前入庫狀態。
【專利說明】一種數據實時分發處理裝置及方法
【技術領域】
[0001]本發明涉及海量數據分發處理領域,特別涉及一種數據實時分發處理裝置及方法。
【背景技術】
[0002]截至2013年7月,以中國聯通為例,全國31省平均移動用戶(包括3G用戶、2G用戶及無線上網卡用戶)的日均總流量0.9PB,通過在全國所有核心網網元設備部署分光采集,并對采集到的流量數據進行報文解析,全國31省移動用戶平均生成流量話單文件9.5萬個/日,流量記錄600億條/日,平均69.4萬條/秒,流量記錄占用存儲空間為4TB/日。每條流量記錄具有固定字段格式。
[0003]話單文件中流量記錄的數據格式為:
[0004]
【權利要求】
1.一種數據實時分發處理裝置,其特征在于,包括數據集中存儲模塊和多個實時分發入庫模塊, 實時分發入庫模塊,用于接收一個或者多個數據源發送的數據流,并查詢本模塊的當前入庫狀態,如果所述當前入庫狀態滿足所述數據流的入庫需求,則將所述數據流存入數據集中存儲模塊中,如果所述當前入庫狀態不滿足所述數據流的入庫需求,則根據所述多個實時分發入庫模塊的當前入庫狀態,確定滿足數據流的入庫需求的ー個或多個實時分發入庫模塊,指示所確定的實時分發入庫模塊將所述數據流存入數據集中存儲模塊中;在入庫成功后,更新本模塊的當前入庫狀態;還用于根據其它實時分發入庫模塊的指示將相應的數據流存入數據集中存儲模塊中; 所述數據集中存儲模塊,用于接收并存儲各個實時分發入庫模塊發送的數據流。
2.如權利要求1所述的處理裝置,其特征在于:當前入庫狀態包括可用存儲空間和入庫速度,當可用存儲空間高于數據流的需求空間并且入庫速度高于設置的最低閾值時,滿足所述數據流的入庫需求。
3.如權利要求2所述的處理裝置,其特征在于:在本模塊的當前入庫狀態都不滿足所述數據流的入庫需求時,所述實時分發入庫模塊確定滿足數據流的入庫需求的另ー個實時分發入庫模塊,由確定的另ー個實時分發入庫模塊將所述數據流存入數據集中存儲模塊中; 或者, 在所有實時分發入庫模塊的當前入庫狀態都不滿足所述數據流的入庫需求時,所述實時分發入庫模塊確定ー個入庫速度高于設置的最低閾值并且可用存儲空間最接近數據流的入庫需求的實時分發入庫模塊,再確定ー個或者多個入庫速度高于設置的最低閾值并且可用存儲空間滿足剰余數據流的入庫需求的實時分發入庫模塊,由確定的兩個或者多個時分發入庫模塊將所述數據流存入數據集中存儲模塊中; 或者, 在所有實時分發入庫模塊的當前入庫狀態都不滿足所述數據流的入庫需求時,所述實時分發入庫模塊確定兩個或者多個實時分發入庫模塊入庫速度高于設置的最低閾值、組合后可用存儲空間滿足數據流的入庫需求并且最接近的數據流的入庫需求,由所述兩個或者多個實時分發入庫模塊將所述數據流存入數據集中存儲模塊中。
4.如權利要求1所述的處理裝置,其特征在于:所述實時分發入庫模塊包括實時分發子模塊和數據入庫子模塊, 所述實時分發子模塊,在接收ー個或者多個數據源發送的數據流后,查詢入庫狀態信息表,獲得所述實時分發入庫模塊的當前入庫狀態,當所述實時分發入庫模塊的當前入庫狀態滿足所述數據流的入庫需求時,實時分發子模塊發送數據入庫消息給數據入庫子模塊;所述實時分發子模塊還用于根據所述數據入庫子模塊發送的入庫成功消息更新入庫狀態信息表;所述實時分發子模塊還用于根據其它實時分發子模塊的指示查詢入庫狀態信息表,獲得入庫速度和分發存儲空間信息,并將所述分發存儲空間信息返回給其它實時分發子模塊;所述分發存儲空間小于或者等于可用存儲空間; 所述數據入庫子模塊,將所述數據流存入數據集中存儲模塊中,并在存入成功后,發送入庫成功消息給實時分發子模塊。
5.如權利要求4所述的處理裝置,其特征在于:當所述實時分發入庫模塊的當前入庫狀態不滿足所述數據流的入庫需求時,向其他的所有或者部分實時分發入庫模塊的實時分發子模塊發送數據分發請求消息,接收到數據分發請求消息的一個或者多個實時分發子模塊查詢入庫狀態信息表,并向發送數據分發請求消息的實時分發子模塊返回數據分發確認消息;所述數據分發確認消息中攜帯入庫速度和分發存儲空間信息; 接收到數據分發確認消息的實時分發子模塊,確定入庫速度高于設置的最低閾值并且滿足數據流的入庫需求的另ー個實時分發入庫模塊或者入庫速度高于設置的最低閾值并且組合后滿足數據流的入庫需求的多個實時分發入庫模塊,井向另ー個實時分發入庫模塊的實時分發子模塊或者多個實時分發入庫模塊的實時分發子模塊發送數據分發消息,并按照所述數據分發確認消息中的分發存儲空間將所接收到的數據流進行實時分發,由另ー個實時分發入庫模塊I的數據入庫子模塊或者多個實時分發入庫模塊的數據入庫子模塊將所述數據流存入數據集中存儲模塊中,并在存入成功后,發送入庫成功消息給對應的實時分發子模塊; 所述另ー個實時分發入庫模塊的實時分發子模塊或者多個實時分發入庫模塊的,還用于根據對應的數據入庫子模塊發送的入庫成功消息更新入庫狀態信息表。
6.如權利要求5所述的處理裝置,其特征在于:當前入庫狀態還包括正在服務的其他實時分發子模塊任務數N,在接收到一次其他實時分發子模塊發送的數據分發請求消息吋,N+1,在接收到一次數據入庫子模塊發送的IP地址為其他實時分發入庫模塊的地址的入庫成功消息時,N-1。
7.如權利要求5所述的處理裝置,其特征在于:實時分發子模塊還用于為所述ー個或者多個數據源的數據流標記用于指示所述數據流來源的數據源標簽;還用于向組合后滿足數據流的入庫需求的多個實時分發入庫模塊的實時分發子模塊發送用于指示分發文件的文件名列表; 所述多個實時分發入庫模塊的數據入庫子模塊,還用于根據所述數據源標簽和文件名列表,所述數據流存入數據·集中存儲模塊中。
8.一種數據實時分發處理方法,其特征在于,用于權利要求1所述的數據實時分發處理裝置,包括: 實時分發入庫模塊接收ー個或者多個數據源發送的數據流,并查詢本模塊的當前入庫狀態,如果所述當前入庫狀態滿足所述數據流的入庫需求,則將所述數據流存入數據集中存儲模塊中,如果所述當前入庫狀態不滿足所述數據流的入庫需求,則根據所述多個實時分發入庫模塊的當前入庫狀態,確定滿足數據流的入庫需求的ー個或多個實時分發入庫模塊,指示所確定的實時分發入庫模塊將所述數據流存入數據集中存儲模塊中; 數據集中存儲模塊接收并存儲各個實時分發入庫模塊發送的數據流; 各個實時分發入庫模塊的數據流入庫成功后,更新當前入庫狀態。
9.如權利要求8所述的處理方法,其特征在于:當前入庫狀態包括可用存儲空間和入庫速度,當可用存儲空間高于數據流的需求空間并且入庫速度高于設置的最低閾值時,滿足所述數據流的入庫需求。
10.如權利要求9所述的處理方法,其特征在于: 確定滿足數據流的入庫需求的的一個或多個實時分發入庫模塊的策略為:確定滿足數據流的入庫需求的另ー個實時分發入庫模塊; 或者, 確定ー個入庫速度高于設置的最低閾值并且可用存儲空間最接近數據流的入庫需求的實時分發入庫模塊,再確定ー個或者多個入庫速度高于設置的最低閾值并且可用存儲空間滿足剰余數據流的入庫需求的實時分發入庫模塊; 或者, 確定兩個或者多個實時分發入庫模塊入庫速度高于設置的最低閾值、組合后可用存儲空間滿足數據流的入庫需求并且最接近的數據流的入庫需求。
11.如權利要求9所述的處理方法,其特征在干: 確定組合后滿足數據流的入庫需求的多個實時分發入庫模塊的步驟包括: 所述實時分發入庫模塊向其他的所有或者部分實時分發入庫模塊發送數據分發請求消息,接收到數據分發請求消息的一個或者多個實時分發模塊查詢入庫狀態信息表,井向發送數據分發請求消息的實時分發子模塊返回數據分發確認消息;所述數據分發確認消息中攜帯入庫速度和分發存儲空間信息;所述分發存儲空間小于或者等于可用存儲空間; 接收到數據分發確認消息的實時分發子模塊,確定入庫速度高于設置的最低閾值并且滿足數據流的入庫需求的另ー個實時分發入庫模塊或者入庫速度高于設置的最低閾值并且組合后滿足數據流的入庫需求的多個實時分發入庫模塊,并向所述另ー個實時分發入庫模塊或者多個實時分發入庫模塊發送數據分發消息,并按照所述數據分發確認消息中的分發存儲空間將所接收到的數據流進行實時分發。
12.如權利要求11中任一項所述的處理方法,其特征在于:在實時分發子模塊接收一個或者多個數據源發送的數`據流后,為所述一個或者多個數據源的數據流標記用于指示所述數據流來源的數據源標簽; 實時分發子模塊在確定組合后滿足數據流的入庫需求的多個實時分發入庫模塊后,向組合后滿足數據流的入庫需求的多個實時分發入庫模塊發送用于指示分發文件的文件名列表; 所述多個實時分發入庫模塊根據所述數據源標簽和文件名列表,所述數據流存入數據集中存儲模塊中。
【文檔編號】H04L29/08GK103595800SQ201310581497
【公開日】2014年2月19日 申請日期:2013年11月18日 優先權日:2013年11月18日
【發明者】王志軍, 李娜 申請人:中國聯合網絡通信集團有限公司