試驗(yàn)參數(shù)信息。
[0029] 步驟(二)數(shù)據(jù)處理子模塊調(diào)用數(shù)據(jù)庫(kù)表映射子模塊,在數(shù)據(jù)庫(kù)表映射子模塊中 建立該試驗(yàn)參數(shù)信息的試驗(yàn)記錄,并生成試驗(yàn)數(shù)據(jù)結(jié)果表。如圖3所示為本發(fā)明試驗(yàn)數(shù)據(jù) 結(jié)果表形式示意圖,試驗(yàn)數(shù)據(jù)結(jié)果表包括η個(gè)數(shù)據(jù)表,每個(gè)數(shù)據(jù)表中包括m個(gè)試驗(yàn)參數(shù),其 中每個(gè)數(shù)據(jù)表中存儲(chǔ)同一系統(tǒng)中同一類(lèi)型的試驗(yàn)參數(shù),其中rum均為正整數(shù)。
[0030] 步驟(三)數(shù)據(jù)處理子模塊調(diào)用IP配置子模塊中的IP配置信息,并將該IP配 置信息輸出給網(wǎng)絡(luò)通信子模塊,網(wǎng)絡(luò)通信子模塊建立數(shù)據(jù)處理子模塊與數(shù)據(jù)服務(wù)子模塊的 TCP連接。
[0031] 步驟(四)、數(shù)據(jù)服務(wù)子模塊調(diào)用數(shù)據(jù)庫(kù)配置子模塊中的數(shù)據(jù)庫(kù)配置信息,建立數(shù) 據(jù)庫(kù)服務(wù)子模塊與Oracle數(shù)據(jù)庫(kù)之間的連接,從數(shù)據(jù)庫(kù)表映射子模塊中讀取步驟(二)中 建立的試驗(yàn)記錄和生成的試驗(yàn)數(shù)據(jù)結(jié)果表。
[0032] 步驟(五)數(shù)據(jù)處理子模塊從外部網(wǎng)路實(shí)時(shí)接收遙測(cè)原碼數(shù)據(jù),根據(jù)步驟(一) 中獲取的試驗(yàn)參數(shù)信息對(duì)遙測(cè)原碼數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,即將遙測(cè)原碼數(shù)據(jù)中的十六進(jìn)制數(shù) 據(jù)處理為十進(jìn)制的物理量數(shù)據(jù),十進(jìn)制數(shù)據(jù)包括int、float形式的電壓、電流、溫度、壓力、 轉(zhuǎn)速數(shù)據(jù)。
[0033] 步驟(六)數(shù)據(jù)處理子模塊將步驟(五)中得到的十進(jìn)制的物理量數(shù)據(jù)進(jìn)行打包 后,通過(guò)步驟(三)中建立的TCP連接發(fā)送到數(shù)據(jù)服務(wù)子模塊。
[0034] 步驟(七)數(shù)據(jù)服務(wù)子模塊根據(jù)步驟(四)中讀取的所述試驗(yàn)記錄和試驗(yàn)數(shù)據(jù)結(jié) 果表,將步驟(六)中收到的十進(jìn)制物理量數(shù)據(jù)包中的數(shù)據(jù)轉(zhuǎn)換為Oracle SQL*Loader識(shí) 別的數(shù)據(jù)文件和控制文件,并寫(xiě)入緩沖文件庫(kù)中。
[0035] 步驟(八)當(dāng)數(shù)據(jù)服務(wù)子模塊從數(shù)據(jù)處理子模塊接收到的數(shù)據(jù)包個(gè)數(shù)達(dá)到設(shè)定閾 值時(shí),調(diào)用Oracle SQL*Loader命令行工具從緩沖文件庫(kù)中讀取該數(shù)據(jù)文件和控制文件執(zhí) 行數(shù)據(jù)入庫(kù),即將該數(shù)據(jù)文件和控制文件中的數(shù)據(jù)存儲(chǔ)到Oracle數(shù)據(jù)庫(kù)中。實(shí)時(shí)入庫(kù)的性 能與設(shè)定閾值、運(yùn)行的計(jì)算機(jī)硬件配置直接相關(guān)。
[0036] 該步驟中數(shù)據(jù)服務(wù)子模塊將數(shù)據(jù)文件和控制文件中的數(shù)據(jù)存儲(chǔ)到Oracle數(shù)據(jù)庫(kù) 中的同時(shí),實(shí)時(shí)執(zhí)行步驟(七),即將收到的十進(jìn)制物理量數(shù)據(jù)轉(zhuǎn)換為Oracle SQL*Loader 識(shí)別的數(shù)據(jù)文件和控制文件,并寫(xiě)入緩沖文件庫(kù)中。
[0037] 步驟(九)重復(fù)步驟(五)_步驟(八),實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)入庫(kù)。
[0038] 實(shí)施例1
[0039] 基于本方法對(duì)頻率為50Hz、數(shù)據(jù)量為IOMbps的測(cè)量系統(tǒng)原碼數(shù)據(jù)進(jìn)行實(shí)時(shí)入庫(kù)。 硬件環(huán)境如表1所示。在入庫(kù)結(jié)果表個(gè)數(shù)為60,每個(gè)結(jié)果表包含的參數(shù)個(gè)數(shù)為20的情況 下,對(duì)不同閾值條件下的入庫(kù)性能進(jìn)行了測(cè)試,測(cè)試結(jié)果見(jiàn)表2。
[0040] 表1硬件環(huán)境
【主權(quán)項(xiàng)】
1. 一種海量測(cè)量數(shù)據(jù)準(zhǔn)實(shí)時(shí)入庫(kù)方法,其特征在于:通過(guò)海量測(cè)量數(shù)據(jù)準(zhǔn)實(shí)時(shí)入庫(kù)系 統(tǒng)實(shí)現(xiàn),所述海量測(cè)量數(shù)據(jù)準(zhǔn)實(shí)時(shí)入庫(kù)系統(tǒng)包括數(shù)據(jù)服務(wù)子模塊、數(shù)據(jù)處理子模塊、參數(shù)定 義子模塊、數(shù)據(jù)庫(kù)表映射子模塊、網(wǎng)絡(luò)通信子模塊、IP配置子模塊、數(shù)據(jù)庫(kù)參數(shù)配置子模塊、 緩沖文件庫(kù)和Oracle數(shù)據(jù)庫(kù),具體實(shí)現(xiàn)方法如下: 步驟(一)、數(shù)據(jù)處理子模塊接收外部用戶(hù)輸入的試驗(yàn)名稱(chēng),根據(jù)試驗(yàn)名稱(chēng)調(diào)用參數(shù)定 義子模塊獲取所述試驗(yàn)名稱(chēng)對(duì)應(yīng)的試驗(yàn)參數(shù)信息; 步驟(二)數(shù)據(jù)處理子模塊調(diào)用數(shù)據(jù)庫(kù)表映射子模塊,在數(shù)據(jù)庫(kù)表映射子模塊中建立 所述試驗(yàn)參數(shù)信息的試驗(yàn)記錄,并生成試驗(yàn)數(shù)據(jù)結(jié)果表; 步驟(三)數(shù)據(jù)處理子模塊調(diào)用IP配置子模塊中的IP配置信息,并將所述IP配置信 息輸出給網(wǎng)絡(luò)通信子模塊,網(wǎng)絡(luò)通信子模塊建立數(shù)據(jù)處理子模塊與數(shù)據(jù)服務(wù)子模塊的TCP 連接; 步驟(四)、數(shù)據(jù)服務(wù)子模塊調(diào)用數(shù)據(jù)庫(kù)參數(shù)配置子模塊中的數(shù)據(jù)庫(kù)配置信息,建立數(shù) 據(jù)庫(kù)服務(wù)子模塊與Oracle數(shù)據(jù)庫(kù)之間的連接,從數(shù)據(jù)庫(kù)表映射子模塊中讀取步驟(二)中 建立的試驗(yàn)記錄和生成的試驗(yàn)數(shù)據(jù)結(jié)果表; 步驟(五)數(shù)據(jù)處理子模塊從外部網(wǎng)路實(shí)時(shí)接收遙測(cè)原碼數(shù)據(jù),根據(jù)步驟(一)中獲 取的試驗(yàn)參數(shù)信息對(duì)遙測(cè)原碼數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,即將遙測(cè)原碼數(shù)據(jù)中的十六進(jìn)制數(shù)據(jù)處 理為十進(jìn)制的物理量數(shù)據(jù); 步驟(六)數(shù)據(jù)處理子模塊將步驟(五)中得到的十進(jìn)制的物理量數(shù)據(jù)進(jìn)行打包后, 通過(guò)步驟(三)中建立的TCP連接發(fā)送到數(shù)據(jù)服務(wù)子模塊; 步驟(七)數(shù)據(jù)服務(wù)子模塊根據(jù)步驟(四)中讀取的所述試驗(yàn)記錄和試驗(yàn)數(shù)據(jù)結(jié)果表, 將步驟(六)中收到的十進(jìn)制物理量數(shù)據(jù)包中的數(shù)據(jù)轉(zhuǎn)換為Oracle SQL*Loader識(shí)別的數(shù) 據(jù)文件和控制文件,并寫(xiě)入緩沖文件庫(kù)中; 步驟(八)當(dāng)數(shù)據(jù)服務(wù)子模塊從數(shù)據(jù)處理子模塊接收到的數(shù)據(jù)包個(gè)數(shù)達(dá)到設(shè)定閾值 時(shí),調(diào)用Oracle SQL*Loader命令行工具從緩沖文件庫(kù)中讀取所述數(shù)據(jù)文件和控制文件執(zhí) 行數(shù)據(jù)入庫(kù),即將所述數(shù)據(jù)文件和控制文件中的數(shù)據(jù)存儲(chǔ)到Oracle數(shù)據(jù)庫(kù)中; 步驟(九)重復(fù)步驟(五)_步驟(八),實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)入庫(kù)。
2. 根據(jù)權(quán)利要求1所述的一種海量測(cè)量數(shù)據(jù)準(zhǔn)實(shí)時(shí)入庫(kù)方法,其特征在于:所述步驟 (二)中生成的試驗(yàn)數(shù)據(jù)結(jié)果表包括n個(gè)數(shù)據(jù)表,每個(gè)數(shù)據(jù)表中包括m個(gè)試驗(yàn)參數(shù),其中每 個(gè)數(shù)據(jù)表中存儲(chǔ)同一系統(tǒng)中同一類(lèi)型的試驗(yàn)參數(shù),其中n、m均為正整數(shù)。
3. 根據(jù)權(quán)利要求1所述的一種海量測(cè)量數(shù)據(jù)準(zhǔn)實(shí)時(shí)入庫(kù)方法,其特征在于:所述步驟 (五)中的十進(jìn)制數(shù)據(jù)包括int、float形式的電壓、電流、溫度、壓力和轉(zhuǎn)速數(shù)據(jù)。
4. 根據(jù)權(quán)利要求1所述的一種海量測(cè)量數(shù)據(jù)準(zhǔn)實(shí)時(shí)入庫(kù)方法,其特征在于:所述步驟 (八)中數(shù)據(jù)服務(wù)子模塊將數(shù)據(jù)文件和控制文件中的數(shù)據(jù)存儲(chǔ)到Oracle數(shù)據(jù)庫(kù)中的同時(shí), 實(shí)時(shí)執(zhí)行步驟(七),即將收到的十進(jìn)制物理量數(shù)據(jù)轉(zhuǎn)換為Oracle SQL*Loader識(shí)別的數(shù)據(jù) 文件和控制文件,并寫(xiě)入緩沖文件庫(kù)中。
5. 根據(jù)權(quán)利要求1所述的一種海量測(cè)量數(shù)據(jù)準(zhǔn)實(shí)時(shí)入庫(kù)方法,其特征在于:所述步驟 (八)中的設(shè)定閾值為3000-10000。
【專(zhuān)利摘要】本發(fā)明涉及一種海量測(cè)量數(shù)據(jù)準(zhǔn)實(shí)時(shí)入庫(kù)方法,通過(guò)海量測(cè)量數(shù)據(jù)準(zhǔn)實(shí)時(shí)入庫(kù)系統(tǒng)實(shí)現(xiàn),該海量測(cè)量數(shù)據(jù)準(zhǔn)實(shí)時(shí)入庫(kù)系統(tǒng)包括數(shù)據(jù)服務(wù)子模塊、數(shù)據(jù)處理子模塊、參數(shù)定義子模塊、數(shù)據(jù)庫(kù)表映射子模塊、網(wǎng)絡(luò)通信子模塊、IP配置子模塊、數(shù)據(jù)庫(kù)參數(shù)配置子模塊、緩沖文件庫(kù)和Oracle數(shù)據(jù)庫(kù),本發(fā)明針對(duì)海量數(shù)據(jù)入庫(kù)的難題,創(chuàng)新設(shè)計(jì)了海量數(shù)據(jù)入庫(kù)系統(tǒng),通過(guò)系統(tǒng)中各個(gè)模塊的并行協(xié)同工作,并采用批量入庫(kù)的模式,實(shí)現(xiàn)了海量遙測(cè)數(shù)據(jù)的實(shí)時(shí)處理、存儲(chǔ),該方法顯著提高了入庫(kù)效率,實(shí)現(xiàn)了測(cè)量系統(tǒng)海量數(shù)據(jù)的快速、準(zhǔn)確、可靠入庫(kù),有助于測(cè)量信息的集成統(tǒng)一管理。
【IPC分類(lèi)】G06F17-30
【公開(kāi)號(hào)】CN104657462
【申請(qǐng)?zhí)枴緾N201510070227
【發(fā)明人】亓朝玉, 何信華, 徐華麗, 葉成敏, 程博, 趙雷, 蔡劍波, 連彥澤, 韓亮, 顏廷貴, 藍(lán)鯤, 李世鵬, 沈志軍
【申請(qǐng)人】北京宇航系統(tǒng)工程研究所, 中國(guó)運(yùn)載火箭技術(shù)研究院
【公開(kāi)日】2015年5月27日
【申請(qǐng)日】2015年2月10日