《電子技術(shù)應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于多線程的雷達數(shù)據(jù)實時處理系統(tǒng)
基于多線程的雷達數(shù)據(jù)實時處理系統(tǒng)
勾亞彬1,2,梁敬東1,袁成松2,徐 芬2
1.南京農(nóng)業(yè)大學 信息與科學技術(shù)學院,江蘇 南京210095;2.江蘇省氣象科技研究所,江蘇 南京2
摘要: 為了解決多普勒天氣雷達實時處理系統(tǒng)研發(fā)過程中并發(fā)線程難以進行控制的問題,設計了一種多線程控制結(jié)構(gòu),在充分利用目前發(fā)展水平的多普勒天氣雷達產(chǎn)品處理模塊的基礎上,實現(xiàn)了對江蘇省全部多普勒天氣雷達站的實時監(jiān)控與數(shù)據(jù)的實時處理。該控制結(jié)構(gòu)的應用,增強了對各雷達站點雷達基數(shù)據(jù)的監(jiān)控與產(chǎn)品處理能力。
Abstract:
Key words :

摘  要: 為了解決多普勒天氣雷達實時處理系統(tǒng)研發(fā)過程中并發(fā)線程難以進行控制的問題,設計了一種多線程控制結(jié)構(gòu),在充分利用目前發(fā)展水平的多普勒天氣雷達產(chǎn)品處理模塊的基礎上,實現(xiàn)了對江蘇省全部多普勒天氣雷達站的實時監(jiān)控與數(shù)據(jù)的實時處理。該控制結(jié)構(gòu)的應用,增強了對各雷達站點雷達基數(shù)據(jù)的監(jiān)控與產(chǎn)品處理能力。
關(guān)鍵詞: 多普勒天氣雷達;多線程;實時;控制結(jié)構(gòu)

    實時系統(tǒng)的開發(fā)過程中通常需要解決這樣的問題:實時地或軟實時地對數(shù)據(jù)進行處理,并能夠及時地對用戶的操作做出響應。由于數(shù)據(jù)的處理需要大量的計算,這勢必影響到系統(tǒng)對用戶操作的響應。為了解決這一矛盾,多線程是必然的選擇[1]。實踐證明,實時系統(tǒng)中,開辟與用戶操作無關(guān)的、專門負責數(shù)據(jù)處理的線程可以解決這個問題。典型的應用有激光雷達實時處理顯示系統(tǒng)[2]、遙測參數(shù)的實時判讀和傳輸監(jiān)控[3]、測震實時數(shù)據(jù)保護系統(tǒng)[4]、基于主從異步復制技術(shù)的容災實時系統(tǒng)[5]與基于多線程的實時信息處理系統(tǒng)[6]。多線程技術(shù)在這些系統(tǒng)中的成功應用,為多普勒天氣雷達實時處理系統(tǒng)的研發(fā)提供了良好的參考與借鑒。
    在開發(fā)多普勒天氣雷達實時處理系統(tǒng)的過程中,如果系統(tǒng)并發(fā)開辟過多的產(chǎn)品處理線程,會造成系統(tǒng)本身甚至操作系統(tǒng)的崩潰,因此如何對系統(tǒng)中并發(fā)的線程進行控制,成為系統(tǒng)開發(fā)成功的關(guān)鍵。本文采用了并發(fā)地處理各雷達站點、串行生成各站點目標產(chǎn)品的折衷策略。考慮到進一步研發(fā)雷達產(chǎn)品的必要性以及未來增設雷達站點的可能性,系統(tǒng)的設計采用了一個二維的多線程控制結(jié)構(gòu),因而可以較容易地擴展系統(tǒng)的目標產(chǎn)品和能夠處理的雷達站點。
1 多普勒天氣雷達實時數(shù)據(jù)處理系統(tǒng)的設計
    目前江蘇省氣象部門擁有5部多普勒天氣雷達,另有2部在建,雷達監(jiān)測網(wǎng)已經(jīng)建成。如何充分利用該資源是目前氣象科研工作者的一項重要工作。除了已有的雷達產(chǎn)品外,科研人員應用雷達基數(shù)據(jù)研究開發(fā)出多種適合于業(yè)務使用的雷達產(chǎn)品。目前已自行研發(fā)的雷達產(chǎn)品的生成算法先進、穩(wěn)定、可靠,但在多算法、多數(shù)據(jù)集成工作上還略顯不足,研究成果的業(yè)務化效果不夠理想。為了對所有雷達站點數(shù)據(jù)進行實時產(chǎn)品處理,使得這些研究成果適合在業(yè)務中使用,本文設計開發(fā)了多普勒天氣雷達實時處理系統(tǒng)。該系統(tǒng)能夠?qū)Χ鄠€雷達站點的數(shù)據(jù)實施有效的監(jiān)控,并實時地將所有雷達站點的數(shù)據(jù)處理成多個雷達產(chǎn)品,同時便于業(yè)務人員掌握并控制雷達數(shù)據(jù)的處理,因此特別適合業(yè)務推廣。
    系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。目前需要處理的數(shù)據(jù)來自南京、徐州、連云港、蘇州與南通5個雷達站點,這些站點的數(shù)據(jù)通過網(wǎng)絡傳輸?shù)轿募掌魃稀6嗥绽仗鞖饫走_數(shù)據(jù)實時處理系統(tǒng)監(jiān)控文件服務器上的雷達數(shù)據(jù),并發(fā)地開辟與站點數(shù)目對應的產(chǎn)品處理線程,由用戶控制系統(tǒng)生成各雷達站點的目標產(chǎn)品。

    系統(tǒng)的總體設計如圖2所示。由于目標產(chǎn)品的生成都依賴于雷達數(shù)據(jù)的讀取,需事先監(jiān)控雷達數(shù)據(jù)的傳輸是否已經(jīng)完成,雷達數(shù)據(jù)6 min到達一次,因此必須在6 min之內(nèi),即在下一個雷達數(shù)據(jù)到達之前將所有站點的雷達數(shù)據(jù)實時處理成多個目標產(chǎn)品。其中包括雨量直方圖產(chǎn)品、CAPPI(等高平面位置顯示)產(chǎn)品、VIL(垂直累積液態(tài)含水量)產(chǎn)品、TREC風場產(chǎn)品、OHP產(chǎn)品、Div(散度)產(chǎn)品、雨量預報產(chǎn)品(包括1 h雨量、2 h雨量和3 h雨量)以及與這些產(chǎn)品相關(guān)的圖片產(chǎn)品。所有目標產(chǎn)品的生成過程都由線程來實現(xiàn),用戶通過多線程控制結(jié)構(gòu)來控制目標產(chǎn)品的生成,并在人機界面中進行消息的實時顯示以及對用戶選定的產(chǎn)品進行顯示。

    由于各個產(chǎn)品處理線程運用自身已有的方式各取所需,因此對雷達數(shù)據(jù)的讀取可以串行進行,避免了各個產(chǎn)品處理部分之間數(shù)據(jù)訪問的沖突,同時也無需使用其他機制控制數(shù)據(jù)的訪問。如何實現(xiàn)并行處理各雷達站點、串行生成目標產(chǎn)品的策略以及各產(chǎn)品處理線程的執(zhí)行可視化等系統(tǒng)設計與實現(xiàn)的關(guān)鍵部分都是通過多線程控制結(jié)構(gòu)來實現(xiàn)的。
2 多線程控制結(jié)構(gòu)
    陣列邏輯控制器采用陣列邏輯的方法構(gòu)成組合邏輯控制電路,一種實現(xiàn)控制器的電路結(jié)構(gòu)是可編程邏輯陣列(PLA)結(jié)構(gòu),如圖3所示,其中對門電路的輸入端作了簡化表示[7]。陣列中每個交叉點可以像寫ROM一樣進行設置,這種設置的過程稱為編程。

    基于可編程邏輯陣列的啟發(fā),本文設計了一個多線程控制結(jié)構(gòu)。可以將這個控制結(jié)構(gòu)看作一個M行N列的二維數(shù)組,其中行定義了需要生成的M種雷達產(chǎn)品,列定義了需要監(jiān)控的N個雷達站點。這里用Control[M][N]表示這個二維數(shù)組,Control[i][j]則代表了是否可以開始第j個雷達站點的第i個產(chǎn)品處理過程。若Control[i][j]為true,則當前可以開始雷達站點j的第i個產(chǎn)品處理過程;若Control[i][j]為false,則表明對雷達站點j中的第i個產(chǎn)品已經(jīng)處理完畢或正在等待處理。需要注意的是第0行代表了雷達站點的數(shù)據(jù)是否已經(jīng)傳輸?shù)搅朔掌魃希挥挟數(shù)?行為true時才能開始各項目標產(chǎn)品的處理,否則系統(tǒng)中不存在任何產(chǎn)品處理過程。通過圖4的多線程控制結(jié)構(gòu)可以很容易地實現(xiàn)并發(fā)處理各雷達站點、串行生成目標產(chǎn)品的策略。具體地只需要控制這個結(jié)構(gòu)使得每一列都只有一個為true,而各列之間的不同元素可以同時為true即可。系統(tǒng)的實際運行情況表明,不同時并發(fā)地將所有雷達站點的雷達數(shù)據(jù)處理成所有的目標產(chǎn)品,而是采用這種并發(fā)與串行相結(jié)合的方式,有效地控制了系統(tǒng)產(chǎn)品處理線程的數(shù)量,減輕了系統(tǒng)運行時對內(nèi)存和CPU的需求,同時也不影響人機之間的交互。


    通過多線程控制結(jié)構(gòu)的狀態(tài)可以準確得到系統(tǒng)在某一時刻開辟了哪些產(chǎn)品處理線程。如果用當前各站點正在處理的產(chǎn)品的索引來表示控制結(jié)構(gòu)的狀態(tài),則圖5中控制結(jié)構(gòu)的4個狀態(tài)可以編碼為11111、12254、33445、56555。與可編程邏輯通過對圖3中的交叉點進行編程設置一樣,用戶可以對控制結(jié)構(gòu)中交叉點進行設置,即對多線程控制結(jié)構(gòu)進行編碼,控制系統(tǒng)生成用戶所指定的目標產(chǎn)品。

3 產(chǎn)品處理過程
    系統(tǒng)的主要處理過程包含2個定時器。
    數(shù)據(jù)檢測定時器:為各個雷達站點開辟各自相應的數(shù)據(jù)檢測線程,每6 min進行一次數(shù)據(jù)檢測。當檢測到雷達站點j的數(shù)據(jù)已經(jīng)傳輸完成,數(shù)據(jù)檢測線程將Control[0][j]設置為true,以此通知產(chǎn)品處理定時器可以開始站點j的各項產(chǎn)品處理過程。
    產(chǎn)品處理定時器:輪詢多線程并行控制結(jié)構(gòu),以便為各個站點開辟目標產(chǎn)品的處理線程。如果站點j的產(chǎn)品i-1已經(jīng)處理完成,即Control[i-1][j]為true,則說明可以開辟產(chǎn)品i的處理線程;否則需要等待下一次輪詢,直到Control[i-1][j]為true時,才能開始產(chǎn)品i的處理。產(chǎn)品i處理完成之后,自動地將Control[i][j]設置為true,以表明當前產(chǎn)品已經(jīng)處理完畢,以便進行下一個產(chǎn)品的處理過程。這里需要注意,為了避免開辟相同的產(chǎn)品處理線程,開辟產(chǎn)品處理線程i之前,應先將Control[i-1][j]設置為false,以保證每一列要么全為false,要么只有一個true。
    Div散度產(chǎn)品的處理過程中需要耗費巨大的內(nèi)存,不適合在多個站點之間并發(fā)處理,因此將Div散度產(chǎn)品視作一個關(guān)鍵產(chǎn)品,各站點之間串行生成Div散度產(chǎn)品,即使系統(tǒng)中每一時刻最多只有一個這樣的關(guān)鍵產(chǎn)品處理過程。由于整體上串行處理Div產(chǎn)品,當各個站點都要進行Div產(chǎn)品處理時,將會產(chǎn)生各個站點對Div產(chǎn)品的競爭。開發(fā)過程中賦予每個站點一個Div產(chǎn)品的處理權(quán),并在各個站點之間傳遞這個處理權(quán),即只有當前擁有處理權(quán)的站點才能進行Div產(chǎn)品的處理,從而使Div產(chǎn)品的處理在整體上進行串行處理。
    為了提高產(chǎn)品生成過程的實時性,一旦站點j完成Div產(chǎn)品的生成,則立刻將Div產(chǎn)品的處理權(quán)傳遞給站點j+1;通過多線程控制結(jié)構(gòu),站點j+1獲知自己已經(jīng)得到了Div產(chǎn)品的處理權(quán),則立即開始Div產(chǎn)品的處理。這里存在一個潛在的問題,即一旦某個站點的數(shù)據(jù)傳輸因為某些原因而暫時中斷或停止,則這個站點的Div產(chǎn)品的處理權(quán)難以自動傳遞給下一個站點。為此,每個站點附加了一個計數(shù)器,通過這個計數(shù)器來指定限制某個站點掌握Div產(chǎn)品處理權(quán)的時間。只有當前獲得處理權(quán)的站點才能進行計數(shù)器的計數(shù),一旦計數(shù)器超過了預設的上限,則強制其交出處理權(quán)。這樣使每個站點不能無限制地擁有處理權(quán),從而解決了由于數(shù)據(jù)傳輸中斷而引發(fā)的處理權(quán)難以傳遞的問題。
    假設當前系統(tǒng)需要將5個雷達站點的數(shù)據(jù)分別生成6個目標產(chǎn)品,圖5所示為從一次數(shù)據(jù)處理過程中選取的控制結(jié)構(gòu)的幾個狀態(tài),其中產(chǎn)品6為一個關(guān)鍵產(chǎn)品。圖的底部是為各站點設置的計數(shù)器的計數(shù)值,這里設置計數(shù)器的上限是400。第1個狀態(tài)代表數(shù)據(jù)檢測線程檢測到雷達數(shù)據(jù)之后,剛剛開始進行各個雷達站點第一個產(chǎn)品的處理,此時第0個站點擁有對關(guān)鍵產(chǎn)品的處理權(quán)。由第2個狀態(tài)可以看出對各站點數(shù)據(jù)的并行處理過程是不同步的。對比第3個和第4個狀態(tài)圖可知雖然第4個雷達站點首先將除了關(guān)鍵產(chǎn)品6之外的其他產(chǎn)品處理完畢,但是卻不能最先處理產(chǎn)品6;第4個狀態(tài)圖可以解釋為由于站點0的計數(shù)器在其處理產(chǎn)品6之前已經(jīng)超過了設定的閾值,站點0被迫提早將產(chǎn)品6的處理權(quán)交給了站點1,因此站點1首先進行產(chǎn)品6的處理。由于系統(tǒng)中每一時刻只有一個站點擁有對關(guān)鍵產(chǎn)品的處理權(quán),假設此時各站點的數(shù)據(jù)傳輸正常,且產(chǎn)品6的處理過程將在計數(shù)器到達閾值之前結(jié)束并傳遞產(chǎn)品6的處理權(quán)給下一個站點。如果將此時產(chǎn)品6的各站點處理權(quán)編碼為01000,則各站點對產(chǎn)品6的處理權(quán)循環(huán)編碼為01000、00100、00010、00001、10000,1所在的位為擁有處理權(quán)的站點。對應的多線程并行控制結(jié)構(gòu)狀態(tài)的編碼為56555、60655、50065、50006、60000,每個狀態(tài)中只存在一個6。
    本文結(jié)合一個類似可編程陣列控制邏輯的多線程并行控制結(jié)構(gòu),完成了對江蘇省多普勒天氣雷達實時數(shù)據(jù)處理系統(tǒng)的設計與實現(xiàn)。系統(tǒng)在Windows下開發(fā),目前并發(fā)處理5個站點雷達數(shù)據(jù)的時間平均只需1 min~2 min,其中包括16幅雷達產(chǎn)品圖片。與此同時,用戶可以方便地知道系統(tǒng)當前時刻開辟了哪些產(chǎn)品處理線程,同時可以方便地對各站點所需生成的產(chǎn)品進行控制。系統(tǒng)的實際運行表明,系統(tǒng)運用時,橫向上至少可以對10個雷達站點的數(shù)據(jù)進行綜合處理,與此同時縱向上仍可以擴展添加新的雷達產(chǎn)品。由于可以方便地對控制結(jié)構(gòu)進行擴展,未來進一步的工作可以集中在各種雷達產(chǎn)品的研發(fā)上,提高各產(chǎn)品生成算法的效率以及系統(tǒng)的擴展性。
參考文獻
[1] BEVERIDGE J,WIENER R.Win32多線程編程設計[M].  候捷,譯.武漢:華中科技大學出版社,2002.
[2] 方欣,胡順星,趙培濤,等.ATS-1激光雷達實時處理顯示系統(tǒng)設計[J].計算機工程,2009,35(11):276-279.
[3] 趙文策,苗巖松.利用多線程技術(shù)實現(xiàn)遙測參數(shù)的實時判讀和傳輸監(jiān)控[J].導彈試驗技術(shù),2009(1):22-24.
[4] 盛琰,畢卉娟.測震實時數(shù)據(jù)保護系統(tǒng)的建立及應用[J].內(nèi)陸地震,2005,19(2):181-184.
[5] 楊朝紅,宮云戰(zhàn),桑偉前,等.基于主從異步復制技術(shù)的容災實時系統(tǒng)研究與實現(xiàn)[J].計算機研究與發(fā)展,2003,40(7):1104-1109.
[6] 張堅英,詹彩菊.基于多線程的實時信息處理系統(tǒng)的設計與實現(xiàn)[J].導彈試驗技術(shù),2009(1):37-39,53.
[7] 胡越明.計算機組成和系統(tǒng)結(jié)構(gòu)[M].上海:上海科學技術(shù)文獻出版社,1999:219-223.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一本久道久久综合婷婷鲸鱼| 久久亚洲国产成人| 久久精品一区二区三区不卡| 午夜电影亚洲| 亚洲免费网址| 亚洲先锋成人| 亚洲视频在线观看| 中文成人激情娱乐网| 99视频精品| 一区二区毛片| 在线天堂一区av电影| 中文国产成人精品| 亚洲午夜日本在线观看| 亚洲色无码播放| 亚洲视频精选在线| 亚洲午夜一区二区三区| 亚洲视屏一区| 亚洲男人av电影| 午夜精品久久久久久久99樱桃| 亚洲欧美日韩精品| 欧美一级夜夜爽| 亚洲第一中文字幕| 亚洲精品影视| 亚洲图片欧美一区| 宅男精品视频| 亚洲欧美日韩在线观看a三区 | 在线一区二区三区做爰视频网站| 亚洲最新色图| 亚洲在线日韩| 久久精品91久久久久久再现| 久久另类ts人妖一区二区| 麻豆精品网站| 欧美精品亚洲精品| 欧美亚一区二区| 国产婷婷色一区二区三区| 国产综合在线看| 亚洲国产美国国产综合一区二区| 亚洲精品久久久久久一区二区| 亚洲蜜桃精久久久久久久| 亚洲一区二区免费| 亚洲电影免费观看高清| 亚洲免费av片| 亚洲欧美日韩精品久久亚洲区| 欧美在线电影| 免费精品视频| 国产精品日韩| 在线观看成人小视频| 99riav1国产精品视频| 亚洲综合精品一区二区| 亚洲国产成人av| 宅男精品视频| 久久久国产精品亚洲一区| 欧美电影打屁股sp| 国产精品久久久久久影视| 激情欧美日韩| 99re热这里只有精品免费视频| 午夜精品在线| 一本色道久久综合亚洲精品不 | 亚洲免费在线视频| 亚洲欧洲另类国产综合| 亚洲自拍偷拍福利| 久久伊人精品天天| 欧美日韩亚洲一区二区三区四区| 国产欧美精品一区aⅴ影院| 亚洲国产精品第一区二区| 亚洲一级电影| 亚洲伦理一区| 久久精品女人| 欧美日韩天堂| 亚洲大片av| 亚洲欧美综合另类中字| 一本色道久久99精品综合| 久久精品二区三区| 欧美午夜国产| 亚洲黄色片网站| 羞羞漫画18久久大片| 一区二区三区视频在线播放| 久久精品道一区二区三区| 欧美视频精品一区| 一区二区三区在线免费观看| 亚洲私人黄色宅男| 亚洲美女91| 久久天天综合| 国产精品亚洲第一区在线暖暖韩国| 亚洲国产精品999| 欧美在线网站| 欧美一区亚洲二区| 欧美日韩亚洲不卡| 亚洲黄色在线| 亚洲第一毛片| 欧美在线啊v| 国产精品久久久久久亚洲调教| 亚洲精品中文字| 亚洲国产日韩欧美在线图片 | 久久久91精品国产一区二区三区 | 国产日本欧美一区二区| 一区二区电影免费观看| 99精品视频免费全部在线| 久久综合亚洲社区| 国产亚洲精品久久久久婷婷瑜伽 | 久久精品91久久久久久再现| 国产精品久久久久久久电影| 日韩视频在线永久播放| 亚洲精品一区二区三区蜜桃久| 久久久亚洲国产天美传媒修理工 | 国产精品v欧美精品v日韩| 亚洲日本欧美| 亚洲精品久久| 美国成人直播| 影音先锋在线一区| 亚洲第一色在线| 久久综合激情| 黄色小说综合网站| 久久精品欧美日韩| 久久久美女艺术照精彩视频福利播放| 国产日产欧美精品| 香蕉av福利精品导航| 欧美一区二区在线播放| 国产精品嫩草久久久久| 亚洲一区久久久| 欧美一区免费视频| 国产在线播放一区二区三区| 性色av一区二区三区| 久久国产精品久久久| 国产婷婷一区二区| 久久不射中文字幕| 久久中文在线| 亚洲风情亚aⅴ在线发布| 亚洲日本一区二区| 欧美激情亚洲视频| 亚洲精品乱码久久久久久黑人 | 欧美粗暴jizz性欧美20| 亚洲成人资源网| 日韩天天综合| 欧美日韩免费视频| 国产精品99久久久久久有的能看| 亚洲欧美日韩一区在线| 国产欧美日韩亚洲| 久久精品国产综合| 欧美 日韩 国产精品免费观看| 亚洲国产精品女人久久久| 宅男在线国产精品| 国产精品入口日韩视频大尺度| 午夜在线一区二区| 美女视频网站黄色亚洲| 亚洲国产老妈| 亚洲午夜激情免费视频| 国产伦精品免费视频| 久久精品91久久久久久再现| 欧美电影电视剧在线观看| 99精品视频免费全部在线| 亚洲欧美影院| 韩国三级在线一区| 亚洲精品综合精品自拍| 欧美日韩午夜在线视频| 亚洲欧美久久久久一区二区三区| 久久精品在线免费观看| 亚洲高清在线播放| 亚洲欧美日韩视频一区| 激情欧美亚洲| 亚洲天堂免费在线观看视频| 国产嫩草影院久久久久| 亚洲娇小video精品| 欧美日韩一区二区欧美激情 | 亚洲三级毛片| 欧美性天天影院| 久久国产精彩视频| 欧美精品一区在线播放| 亚洲欧美一区二区三区在线| 男人的天堂亚洲| 亚洲午夜伦理| 欧美77777| 亚洲一区图片| 欧美成人国产一区二区| 亚洲一区二区视频| 欧美 日韩 国产一区二区在线视频 | 欧美激情一区二区三区不卡| 亚洲视频第一页| 美女黄色成人网| 亚洲性夜色噜噜噜7777| 嫩草伊人久久精品少妇av杨幂| 一区二区日韩伦理片| 欧美99久久| 欧美一区二区黄| 欧美激情网友自拍| 欧美在线999| 国产精品久久久久久久久久ktv| 亚洲国产女人aaa毛片在线| 国产精品成人观看视频免费 | 一本色道久久88精品综合| 国产私拍一区| 亚洲一区免费网站| 亚洲国产老妈| 久久人人97超碰人人澡爱香蕉| 在线中文字幕一区| 欧美大片第1页| 欧美专区第一页| 国产精品视频在线观看| 亚洲精品一区二区在线观看| 国语自产精品视频在线看抢先版结局 |