• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)并發(fā)控制方法

      2018-10-12 01:23:42任雪峰王善民秦亞萍管志強(qiáng)
      雷達(dá)與對(duì)抗 2018年3期
      關(guān)鍵詞:數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)量離線

      任雪峰,王善民,杜 清,秦亞萍,管志強(qiáng)

      (1. 海軍駐南京地區(qū)雷達(dá)系統(tǒng)軍事代表室,南京 210003;2. 中國(guó)船舶重工集團(tuán)公司第七二四研究所,南京 211153)

      0 引 言

      隨著雷達(dá)技術(shù)的不斷發(fā)展,各種使用環(huán)境下的雷達(dá)不斷出現(xiàn)。雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)用于收集、整理、存儲(chǔ)和處理各種雷達(dá)在探測(cè)過(guò)程中獲取的目標(biāo)數(shù)據(jù)。這些海量的雷達(dá)目標(biāo)數(shù)據(jù)對(duì)于目標(biāo)識(shí)別、數(shù)據(jù)挖掘、情報(bào)分析等具有重要意義。

      雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)系統(tǒng)可關(guān)聯(lián)多臺(tái)雷達(dá)探測(cè)設(shè)備,需要加載的目標(biāo)數(shù)據(jù)也來(lái)自不同的設(shè)備。有的設(shè)備持續(xù)運(yùn)行,定期上傳累積的目標(biāo)數(shù)據(jù)。有的設(shè)備則是不定期運(yùn)行,需根據(jù)指令離線統(tǒng)一加載所存儲(chǔ)的目標(biāo)數(shù)據(jù)。因此,雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)的目標(biāo)數(shù)據(jù)加載是一個(gè)高并發(fā)的多事務(wù)處理過(guò)程。如果并發(fā)操作不當(dāng),則易引起事務(wù)長(zhǎng)期獨(dú)占數(shù)據(jù)庫(kù)、事務(wù)間資源沖突導(dǎo)致死鎖或并發(fā)的各事務(wù)存取的數(shù)據(jù)不正確。

      數(shù)據(jù)庫(kù)系統(tǒng)對(duì)于訪問(wèn)的并行處理機(jī)制解決了多事務(wù)對(duì)同一數(shù)據(jù)庫(kù)記錄操作的順序問(wèn)題,但它所解決的是在同一時(shí)刻多用戶對(duì)同一記錄的使用控制,避免出現(xiàn)同步更新寫入的情況沖突,并不能從邏輯上保證數(shù)據(jù)并發(fā)操作后的正確性。

      本文分析了現(xiàn)有雷達(dá)目標(biāo)數(shù)據(jù)的加載工作流程及其在并發(fā)控制時(shí)出現(xiàn)的問(wèn)題,并針對(duì)該問(wèn)題提出一種雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)加載的并發(fā)控制方法,保障數(shù)據(jù)庫(kù)并發(fā)事務(wù)操作的正確性。

      1 現(xiàn)有雷達(dá)目標(biāo)數(shù)據(jù)的加載工作流程及其缺陷

      在某型雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)系統(tǒng)中,雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)的目標(biāo)數(shù)據(jù)加載由系統(tǒng)中不同的應(yīng)用程序來(lái)完成。在加載過(guò)程中,每一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的應(yīng)用程序?qū)?yīng)一個(gè)加載事務(wù)。按照某型雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用情況,目標(biāo)數(shù)據(jù)的加載可概括為兩類:周期循環(huán)加載和離線存儲(chǔ)加載。

      周期循環(huán)加載是指對(duì)于持續(xù)工作運(yùn)行的雷達(dá)探測(cè)設(shè)備,雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)系統(tǒng)在收到其發(fā)送來(lái)的實(shí)時(shí)探測(cè)的目標(biāo)數(shù)據(jù)后,先將處理過(guò)的數(shù)據(jù)進(jìn)行本地緩存,在加載周期達(dá)到后將本周期的目標(biāo)數(shù)據(jù)向雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)加載。

      離線存儲(chǔ)加載是指對(duì)于非持續(xù)運(yùn)行的或與雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)系統(tǒng)無(wú)通訊連接的雷達(dá)探測(cè)設(shè)備,通過(guò)專用的離線存儲(chǔ)設(shè)備收集存儲(chǔ)在雷達(dá)探測(cè)設(shè)備上目標(biāo)數(shù)據(jù)后向雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)一次性加載。

      1.1 周期循環(huán)加載的工作流程

      雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)的周期循環(huán)加載的工作流程如下:

      (1) 雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)系統(tǒng)啟動(dòng),初始化設(shè)置,設(shè)置周期循環(huán)加載的加載周期,開始工作;

      (2) 接收和處理各雷達(dá)設(shè)備發(fā)送來(lái)的實(shí)時(shí)目標(biāo)數(shù)據(jù)并緩存,等待周期循環(huán)加載的周期到達(dá);

      (3) 周期到達(dá)后,創(chuàng)建新的緩存,繼續(xù)接收數(shù)據(jù)轉(zhuǎn)2,啟動(dòng)數(shù)據(jù)庫(kù)加載線程;

      (4) 向雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)申請(qǐng)控制權(quán)限,申請(qǐng)成功后轉(zhuǎn)5,否則繼續(xù)申請(qǐng);

      (5) 對(duì)數(shù)據(jù)庫(kù)控制權(quán)限設(shè)定鎖;

      (6) 向雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)導(dǎo)入上一周期緩存的數(shù)據(jù),導(dǎo)入成功后轉(zhuǎn)7;

      (7) 檢查是否存在因周期到達(dá)產(chǎn)生的新的加載事務(wù),若存在轉(zhuǎn)6,若不存在轉(zhuǎn)7,釋放數(shù)據(jù)庫(kù)控制權(quán)限,數(shù)據(jù)庫(kù)加載線程掛起。

      1.2 離線存儲(chǔ)加載的工作流程

      雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)的離線存儲(chǔ)加載的工作流程如圖2所示。

      (1) 雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)系統(tǒng)啟動(dòng),初始化設(shè)置,開始工作;

      (2) 若收到離線加載任務(wù),則讀取和處理離線存儲(chǔ)設(shè)備上的雷達(dá)目標(biāo)數(shù)據(jù),等待所有離線目標(biāo)數(shù)據(jù)處理結(jié)束,否則繼續(xù)等待離線加載任務(wù);

      (3) 向雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)申請(qǐng)控制權(quán)限,申請(qǐng)成功后轉(zhuǎn)4,否則繼續(xù)申請(qǐng);

      (4) 對(duì)數(shù)據(jù)庫(kù)控制權(quán)限設(shè)定鎖;

      (5) 向雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)導(dǎo)入讀取并處理的所有離線數(shù)據(jù),導(dǎo)入成功后轉(zhuǎn)6;

      (6) 釋放數(shù)據(jù)庫(kù)控制權(quán)限,數(shù)據(jù)庫(kù)加載線程掛起,等待新的離線加載任務(wù)。

      1.3 問(wèn)題缺陷

      從周期循環(huán)加載和離線存儲(chǔ)加載的工作流程可以看出,任何一種情況單獨(dú)執(zhí)行時(shí)數(shù)據(jù)庫(kù)訪問(wèn)控制不存在問(wèn)題。但是,由于對(duì)于數(shù)據(jù)庫(kù)控制權(quán)限,使用了鎖機(jī)制來(lái)進(jìn)行并發(fā)控制,當(dāng)兩種情況同時(shí)執(zhí)行時(shí)便會(huì)出現(xiàn)以下問(wèn)題:

      (1) 若離線存儲(chǔ)加載時(shí)間過(guò)長(zhǎng),時(shí)間大于實(shí)時(shí)數(shù)據(jù)的加載周期,由于數(shù)據(jù)庫(kù)控制權(quán)限長(zhǎng)時(shí)間不會(huì)被釋放,會(huì)造成周期循環(huán)加載事務(wù)堆積;

      (2) 若周期循環(huán)加載事務(wù)首先執(zhí)行,獲取數(shù)據(jù)庫(kù)控制權(quán)限,若加載的目標(biāo)數(shù)據(jù)量較大,造成加載執(zhí)行時(shí)間較長(zhǎng),一個(gè)周期結(jié)束后馬上會(huì)進(jìn)行下一個(gè)周期數(shù)據(jù)的加載,則會(huì)造成離線存儲(chǔ)加載事務(wù)獲取不到數(shù)據(jù)庫(kù)控制權(quán)限,產(chǎn)生數(shù)據(jù)庫(kù)獨(dú)占現(xiàn)象。

      2 并發(fā)控制設(shè)計(jì)

      為解決以上問(wèn)題,本文設(shè)計(jì)了一種雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)數(shù)據(jù)加載的并發(fā)控制方法,其主要思路是在申請(qǐng)數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限時(shí)設(shè)計(jì)了一種動(dòng)態(tài)等待機(jī)制,具體描述如下:

      (1) 定義一組變量:本次數(shù)據(jù)加載時(shí)間TL,本次數(shù)據(jù)加載大小DL,前次數(shù)據(jù)加載時(shí)間TL0,前次數(shù)據(jù)加載大小DL0,數(shù)據(jù)庫(kù)申請(qǐng)等待時(shí)間Tw,Tw的初始值為t0。

      (2) 當(dāng)一個(gè)應(yīng)用程序在提交數(shù)據(jù)庫(kù)控制權(quán)限申請(qǐng)時(shí)記錄本次加載數(shù)據(jù)大小DL,如數(shù)據(jù)庫(kù)當(dāng)前處于空閑狀態(tài)則立刻獲取數(shù)據(jù)庫(kù)控制權(quán)進(jìn)行數(shù)據(jù)加載。目標(biāo)數(shù)據(jù)加載完畢后立即釋放數(shù)據(jù)庫(kù)控制權(quán),同時(shí)記錄本次加載時(shí)間TL,更新TL0=TL,DL0=DL。如此時(shí)數(shù)據(jù)庫(kù)被占用,在等待Tw時(shí)間后再次申請(qǐng)。

      (3) 當(dāng)應(yīng)用程序完成一次數(shù)據(jù)加載后,再一次準(zhǔn)備加載數(shù)據(jù)時(shí)記錄本次加載數(shù)據(jù)大小DL,訪問(wèn)數(shù)據(jù)庫(kù),如果此時(shí)數(shù)據(jù)庫(kù)處于空閑狀態(tài)則立刻獲取數(shù)據(jù)庫(kù)控制權(quán),加載完畢后,更新TL、TL0、DL0。如此時(shí)數(shù)據(jù)庫(kù)被占用,則更新等待時(shí)間,Tw_New=Tw(1+k·ΔT),其中,當(dāng)DL0大于DL時(shí)k為-1,反之為1。ΔT的計(jì)算公式如下:

      (4) 應(yīng)用程序在等待Tw_New后,再次申請(qǐng)數(shù)據(jù)庫(kù)控制權(quán)限。

      采用以上的并發(fā)控制方法,使得申請(qǐng)數(shù)據(jù)庫(kù)控制權(quán)的等待時(shí)間可以隨著加載數(shù)據(jù)量的大小改變,目標(biāo)數(shù)據(jù)少的加載事務(wù)可以增加獲取數(shù)據(jù)庫(kù)控制權(quán)的概率,使其盡快完成加載操作。優(yōu)化后的雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)加載流程如圖3所示。

      3 數(shù)據(jù)加載流程對(duì)比分析

      某型雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)系統(tǒng)的雷達(dá)目標(biāo)數(shù)據(jù)加載率是20 MB/min,周期循環(huán)加載的加載周期是60 min,離線存儲(chǔ)加載的數(shù)據(jù)庫(kù)權(quán)限申請(qǐng)周期是5 min。系統(tǒng)啟動(dòng)后周期循環(huán)加載就一直處于響應(yīng)階段,離線存儲(chǔ)加載在根據(jù)任務(wù)情況執(zhí)行。

      在周期循環(huán)加載數(shù)據(jù)量不大的情況下,即一個(gè)加載周期內(nèi)接收的數(shù)據(jù),能夠在小于加載周期的時(shí)間內(nèi)導(dǎo)入數(shù)據(jù)庫(kù),則兩種執(zhí)行方式都可以執(zhí)行到,但在周期循環(huán)加載數(shù)據(jù)量大的情況下則會(huì)出現(xiàn)問(wèn)題。

      表1 試驗(yàn)情況

      由表1可以看出,周期循環(huán)加載下,一個(gè)基本上報(bào)周期的數(shù)據(jù)量是1 500 MB,全部加載到數(shù)據(jù)庫(kù)中則需要75 min,超過(guò)了固定的上報(bào)周期60 min。這種情況下,當(dāng)完成1 500 MB加載后數(shù)據(jù)庫(kù)權(quán)限就不會(huì)被釋放,立刻加載下一個(gè)周期的數(shù)據(jù)。具體執(zhí)行過(guò)程如表2所示。

      表2 試驗(yàn)1加載情況

      通過(guò)表2可以看出,在周期循環(huán)加載流程中數(shù)據(jù)量較大的情況下,離線存儲(chǔ)加載就沒(méi)法獲取數(shù)據(jù)庫(kù)權(quán)限,無(wú)法執(zhí)行。改進(jìn)后的加載情況如表3所示。

      表3 試驗(yàn)1改進(jìn)后的加載情況

      從表3中可以看出,在T0+75 min時(shí),第1個(gè)周期的數(shù)據(jù)加載完畢,根據(jù)數(shù)據(jù)加載情況,計(jì)算得到數(shù)據(jù)庫(kù)權(quán)限的申請(qǐng)周期是在108 min中;在T0+154 min時(shí),第2個(gè)周期的數(shù)據(jù)加載完畢,由于之前沒(méi)有到達(dá)數(shù)據(jù)庫(kù)權(quán)限的申請(qǐng)周期,于是周期循環(huán)加載就會(huì)釋放掉數(shù)據(jù)庫(kù)權(quán)限,這樣離線存儲(chǔ)加載就可以在T0+155 min的時(shí)候獲取到,離線存儲(chǔ)加載得以執(zhí)行。

      本文提出的并發(fā)控制方法在數(shù)據(jù)量大的時(shí)候可自動(dòng)增大數(shù)據(jù)庫(kù)權(quán)限申請(qǐng)周期,以增大等待權(quán)限的事務(wù)獲得數(shù)據(jù)庫(kù)使用權(quán)的概率,在數(shù)據(jù)量小的時(shí)候可自動(dòng)的縮短數(shù)據(jù)庫(kù)權(quán)限申請(qǐng)周期,減少數(shù)據(jù)庫(kù)空閑時(shí)間,有效地規(guī)避了獨(dú)占問(wèn)題。

      4 結(jié)束語(yǔ)

      針對(duì)雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)的加載情況,本文設(shè)計(jì)了一種雷達(dá)目標(biāo)數(shù)據(jù)庫(kù)數(shù)據(jù)加載的并發(fā)控制方法。通過(guò)在申請(qǐng)數(shù)據(jù)庫(kù)控制權(quán)限時(shí)增加了一種動(dòng)態(tài)等待機(jī)制。通過(guò)仿真實(shí)驗(yàn)證明,該方法有效地避免了數(shù)據(jù)庫(kù)獨(dú)占問(wèn)題,保障了多個(gè)數(shù)據(jù)庫(kù)加載事務(wù)的正確執(zhí)行。

      猜你喜歡
      數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)量離線
      異步電機(jī)離線參數(shù)辨識(shí)方法
      基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
      呼吸閥離線檢驗(yàn)工藝與評(píng)定探討
      計(jì)算Lyapunov指數(shù)的模糊C均值聚類小數(shù)據(jù)量法
      高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
      淺談ATC離線基礎(chǔ)數(shù)據(jù)的準(zhǔn)備
      寬帶信號(hào)采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計(jì)與研究
      電子制作(2019年13期)2020-01-14 03:15:18
      數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
      離線富集-HPLC法同時(shí)測(cè)定氨咖黃敏膠囊中5種合成色素
      中成藥(2018年2期)2018-05-09 07:20:09
      微細(xì)銑削工藝數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)與開發(fā)
      苗栗市| 阿拉善盟| 镇雄县| 中西区| 广安市| 剑川县| 呼图壁县| 香河县| 托克托县| 洞头县| 合作市| 稷山县| 长岛县| 无极县| 浮山县| 博野县| 株洲市| 昆明市| 南部县| 天水市| 开原市| 卓尼县| 长乐市| 新河县| 神农架林区| 利辛县| 冀州市| 张家口市| 武强县| 江川县| 蚌埠市| 太白县| 清流县| 固阳县| 乌苏市| 吉安县| 固始县| 卢龙县| 喜德县| 姚安县| 湄潭县|