[發明專利]一種基于內存映射的海量數據預處理方法在審
| 申請號: | 201410587559.9 | 申請日: | 2014-10-28 |
| 公開(公告)號: | CN104331446A | 公開(公告)日: | 2015-02-04 |
| 發明(設計)人: | 竇小明;楊飛;吳曉蕊;譚佳琳;李亮 | 申請(專利權)人: | 北京臨近空間飛行器系統工程研究所;中國運載火箭技術研究院 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 核工業專利中心 11007 | 代理人: | 高尚梅 |
| 地址: | 100076 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 內存 映射 海量 數據 預處理 方法 | ||
技術領域
本發明屬于航空航天的數據庫讀寫方法,具體涉及一種基于內存映射的海量數據預處理方法。
背景技術
隨著空間技術的不斷發展,航天器的功能和結構越來越復雜,采樣頻率越來越高,飛行時間越來越長,導致航天器運行過程中產生的交換信息及監測信息亦越來越多。對信息判讀工作而言,采用傳統的文本存儲及讀取方法,判讀人員在海量數據中定位故障點越來越困難,數據預處理在判讀過程中所占比重越來越大,嚴重影響判讀效率,且不利于判讀自動化工具的開發,因此,判讀工作開始前進行大數據預處理對提高判讀效率顯得尤為重要。對本地文件進行I/O操作進行數據預處理效率低下,內存映射通過映射本地文件到內存中,用內存操作取代I/O操作,從而極大提高原始數據存取速率。此外,數據庫是目前廣泛采用的管理大數據的有效工具,通過合理設計數據庫結構及數據批處理方式,可以有效提高大數據預處理效率。因此,為航天器運行過程中產生的大量數據設計基于內存映射的海量數據預處理方法,可有效提高數據讀寫及處理效率,減小數據讀寫及處理在數據判讀過程中所占比重,并為自動判讀工作提供管理有序的數據源。
從文獻中看,國內外航天器采用數據庫管理的的數據量級在百兆,尚無針對航天器千兆級海量數據預處理方法設計的實例,因此,開發一種采用數據庫管理的基于內存映射的具有高可靠性、適用于航天器系統的千兆海量數據預處理方法具有重要意義和實用價值。
發明內容
本發明的目的是提供了一種基于內存映射的海量數據預處理方法,依托數據庫數據管理優勢,有效提高千兆數據導入、數據預處理及數據讀取效率,降低數據預處理時間在判讀過程中的比重,高效可靠地在數據層面為判讀工作提供數據依據,從而為提高數據判讀效率及判讀結果的有效性提供保障。
本發明是這樣實現的,一種基于內存映射的海量數據預處理方法,它包括數據表生成模塊、海量數據快速導入模塊、海量數據快速預處理模塊及海量數據快速檢索模塊,其中,海量數據快速導入模塊中包含內存映射子模塊。
所述的數據表生成模塊的流程為:
(1)獲取航天器本次試驗信息,如型號、批次、試驗地點及試驗名稱等文本信息,分別檢索型號檢索獲表、批次檢索表及試驗地點檢索表獲取型號、批次、試驗地點ID信息;
(2)判斷上述ID信息是否非0,非0表示ID查詢正常,將其插入數據庫信息檢索表,并根據ID信息生成對應且唯一的檢索信息即試驗ID;
(3)步驟(2)中,ID信息至少一個為0表示ID查詢異常,跳出數據表生成模塊;
(4)查詢數據庫配置信息,在配置信息中遍歷數據模版表的名稱及屬性,當表屬性為復制表時,記錄當前表名稱;
(5)遍歷數據模版表后獲得需要復制的數據表名,調用數據庫腳本復制表名、字符集、排序規則、字段數量、字段名稱等信息生成新表;
(6)查詢信息檢索表提取當次試驗檢索信息加入新表表名,表名格式為模版表名_檢索信息,新表表名生成后跳出數據表生成模塊。
所述的海量數據快速導入模塊的流程為:
(1)獲取當次試驗數據在本地的存儲路徑,數據分類記錄在不同名稱的文本文件中,存儲在本地統一路徑文件架中;
(2)檢索數據庫配置信息中需要導入數據庫的文件名;
(3)判斷獲取的文件名是否為NULL,若文件名非NULL,表明應導入數據庫的文件尚未導入完成,繼續執行步驟5;
(4)步驟(3)中,若文件名為NULL,表明應導入數據庫的文件已完成導入,退出海量數據快速導入模塊,為海量數據快速預處理模塊進行數據處理完成數據準備;
(5)檢索數據庫中文件名配置信息,遍歷表中文件名字段,若文件名與表中某字段內容一致,則獲取該字段對應的數據表名;
(6)步驟(5)中,若文件名與文件名配置信息表中所有字段均不一致,表明數據庫配置文件有誤,退出海量數據快速導入模塊,為海量數據快速預處理模塊進行數據處理完成數據準備;
(7)內存映射子模塊通過步驟(1)、步驟(2)中獲取的文件存儲路徑及文件名,將文件中數據、分隔符、分段符等信息快速映射到本地內存中,內存操作速度遠大于文件I/O操作,從而為數據快速提取并插入數據庫提供基礎;
(8)根據指定分段符從內存映射區域獲取一行包括數據、分隔符的數據信息,若獲取數據不為NULL,則根據指定分隔符提取當前行數據并依次插入對應數據表中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京臨近空間飛行器系統工程研究所;中國運載火箭技術研究院,未經北京臨近空間飛行器系統工程研究所;中國運載火箭技術研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410587559.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種自動放水的螺桿擠出機
- 下一篇:超精密KDP晶體機床的進給機構





