非結構化海量網絡數據處理技術研究
1.3 網絡數據包個數多
為提高發包效率,使發包延遲時間盡可能小,將數據包在采集后快速的發送出去,ARCA公司的采集器規定每個數據包的大小在設計上不允許超過1 500 B。同時,現在的測試參數都是高采樣率,在這樣的測試系統條件下,一個網絡數據包可記錄的參數量非常有限,必然會產生惟一標示的單個網絡數據包的個數激增。
1.4 網絡數據包非結構化
網絡數據包具有典型的非結構化。在采集器端,按照測試系統的配置采集參數,并形成網絡數據包。對于交換機而言,單個網絡數據包的到來和發送沒有完整的規則。在記錄器上記錄的原始網絡數據包數據,在數據包的排列順序上是無序的,數據包的周期是不確定的。不能準確預測到下一個網絡數據包到來的順序和時間。
2 網絡數據處理方法
針對以上網絡數據包的特點:最新的網絡數據包格式和記錄格式,海量的原始數據,數目龐大的測試參數,典型的非結構化,以及上千萬、上億的單個網絡數據包。根據飛行試驗的特點,必須在盡可能短的時間內給出飛行試驗的數據分析結果,以便試飛工程師安排接下來的飛行試驗。
2.1 內存映射文件
內存映射文件,是由一個文件到一塊內存的映射。WIN32提供了允許應用程序把文件映射到一個進程的函數(CreateFileMapping)。使用內存映射文件處理存儲于磁盤上的文件時,將不必再對文件執行I/O操作,使得內存映射文件在處理大數據量的文件時能起到相當重要的作用。在處理飛行試驗海量網絡數據時,需不斷地提取數據的,進行判斷、跳過等文件操作。如果按照以往的文件指針模式去提取網絡數據,在數據處理效率上有可能不能滿足飛行試驗海量網絡數據處理的需求。針對快速讀取海量原始網絡數據,內存映射文件模式提供了解決方法。
2.2 時間矩陣同步分析算法
針對飛行試驗原始網絡數據,每個單獨的網絡數據包總是有時間標識的。這些時間標識在整個原始文件中又是無序存放的。飛行試驗的科目所需要的數據往往存在于多個網絡數據包中,這些網絡數據包中的數據往往不會是同一時刻采集的,也就是說網絡數據包的時間標識不會是同時刻的。針對網絡數據包的這些特性,為快速進行網絡數據包的時統分析,設計了時間矩陣同步分析算法。
如圖2網絡數據包時間順序所示,原始網絡數據包的時間在順序上是無序的。本文引用地址:http://www.104case.com/article/194778.htm
評論