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

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

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

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

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

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


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

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧洲日韩综合二区| 一区二区三区高清视频在线观看| 欧美日韩国产综合久久| 免费人成精品欧美精品| 久久亚洲高清| 久久色在线播放| 久久婷婷人人澡人人喊人人爽| 欧美淫片网站| 欧美一区2区视频在线观看| 亚洲欧美日本精品| 亚洲欧美日韩成人高清在线一区| 在线视频欧美一区| 亚洲一区二区三区久久| 亚洲图片欧美一区| 亚洲免费在线精品一区| 亚洲欧美日韩专区| 午夜精品久久久久影视| 香蕉久久夜色精品国产| 午夜亚洲福利| 久久精品av麻豆的观看方式| 欧美在线中文字幕| 久久婷婷国产综合尤物精品| 久久综合色影院| 欧美精彩视频一区二区三区| 欧美日韩国产专区| 国产精品theporn88| 国产精品毛片a∨一区二区三区|国 | 激情综合中文娱乐网| 精品动漫3d一区二区三区免费版| 伊人成人在线视频| 亚洲电影在线免费观看| 日韩一级黄色大片| 亚洲女同在线| 久久成人这里只有精品| 亚洲精品美女在线观看| 夜夜嗨av一区二区三区网页| 亚洲一区国产| 久久久综合香蕉尹人综合网| 男人的天堂成人在线| 欧美视频免费看| 国产亚洲福利| 亚洲国产一区二区三区高清| 在线视频你懂得一区| 欧美一区激情| 亚洲免费av电影| 午夜亚洲精品| 蜜臀久久99精品久久久久久9| 欧美日韩亚洲综合| 国产一区二区三区在线观看精品 | 日韩网站在线| 亚洲欧美视频在线| 91久久一区二区| 亚洲欧美韩国| 久久综合色播五月| 国产精品成人免费视频 | 久久影视精品| 欧美视频一区二区在线观看 | 午夜精品美女自拍福到在线 | 日韩网站免费观看| 久久aⅴ国产欧美74aaa| 在线一区二区三区四区| 欧美在线观看视频| 欧美韩日一区二区| 国产亚洲精品激情久久| 亚洲精品乱码久久久久| 性视频1819p久久| 日韩亚洲欧美一区二区三区| 欧美影院在线播放| 欧美日本三区| 一区二区三区亚洲| 亚洲香蕉成视频在线观看| 亚洲国产色一区| 久久成人一区| 国产精品高潮粉嫩av| 亚洲黑丝在线| 欧美在线黄色| 午夜国产一区| 欧美日韩伦理在线免费| 在线播放亚洲| 欧美在线免费视屏| 亚洲综合首页| 欧美人与禽猛交乱配视频| 国模一区二区三区| 亚洲综合丁香| 亚洲欧美精品中文字幕在线| 欧美精品日韩| 亚洲电影第1页| 久久成人综合网| 久久成人精品无人区| 国产精品大片wwwwww| 亚洲欧洲一区二区三区在线观看| 欧美一区精品| 欧美夜福利tv在线| 国产精品激情| 亚洲免费观看高清完整版在线观看熊| 亚洲国产高潮在线观看| 久久riav二区三区| 国产伦精品一区二区三区照片91 | 一本色道久久综合| 99精品免费视频| 欧美成人国产一区二区| 黑人巨大精品欧美一区二区小视频| 亚洲一区二区三区精品视频| 在线视频亚洲欧美| 欧美日韩另类视频| 日韩视频一区二区三区在线播放| 亚洲精品亚洲人成人网| 免费观看30秒视频久久| 国产一区久久久| 欧美一区二区高清在线观看| 午夜日本精品| 国产精品一区二区三区四区 | 久久久91精品| 国产一区二区三区四区老人| 性色av一区二区三区在线观看| 性xx色xx综合久久久xx| 国产精品亚洲综合色区韩国| 亚洲视频中文| 午夜精品久久久久久久99樱桃| 国产精品成人播放| 亚洲午夜精品视频| 午夜精品在线看| 国产精品视频午夜| 亚洲女同同性videoxma| 性视频1819p久久| 国产视频观看一区| 久久精品99国产精品酒店日本| 久久久免费av| 在线免费日韩片| 亚洲伦伦在线| 国产精品99免费看 | 亚洲一区二区免费在线| 午夜欧美大片免费观看| 国产欧美 在线欧美| 欧美伊人精品成人久久综合97 | 亚洲国产日韩综合一区| 日韩午夜黄色| 国产精品极品美女粉嫩高清在线 | 久久精品夜夜夜夜久久| 欧美成人精品1314www| 最新热久久免费视频| 亚洲网站视频| 国产欧美日韩视频在线观看| 久久成人精品无人区| 免费在线欧美视频| 99精品国产在热久久下载| 亚洲欧美日韩在线综合| 国产一区二区黄| 亚洲日本欧美天堂| 欧美午夜精品久久久久久超碰| 亚洲永久免费视频| 久久婷婷综合激情| 亚洲日本中文| 亚洲欧美在线免费观看| 国产综合色产| 日韩亚洲在线| 国产精品一二三四| 亚洲国产欧美日韩精品| 欧美日韩久久久久久| 午夜久久久久久| 欧美激情一二三区| 亚洲综合999| 欧美高清在线一区二区| 亚洲视频axxx| 葵司免费一区二区三区四区五区| 亚洲日本乱码在线观看| 欧美在线免费视屏| 亚洲国产天堂网精品网站| 午夜精品久久久久久久久久久| 激情综合色丁香一区二区| 在线综合视频| 一区二区视频免费完整版观看| 在线亚洲伦理| 国产综合网站| 在线一区二区三区做爰视频网站 | 噜噜噜久久亚洲精品国产品小说| 亚洲精品一区二区三区蜜桃久 | 欧美视频你懂的| 亚洲风情亚aⅴ在线发布| 欧美日韩精品一区二区天天拍小说| 香蕉久久一区二区不卡无毒影院| 欧美成人免费在线| 欧美一级视频免费在线观看| 欧美日韩国产精品一区| 欧美一区二区三区视频免费播放| 欧美日韩久久| 亚洲国产一二三| 国产欧美一区二区三区久久| 日韩视频一区二区三区在线播放| 国产欧美高清| 亚洲午夜日本在线观看| 尹人成人综合网| 欧美一区二区免费观在线| 亚洲伦理在线| 欧美成人国产一区二区| 欧美在线视频在线播放完整版免费观看| 欧美视频观看一区| 亚洲精品在线二区| 精品动漫3d一区二区三区免费| 欧美一级久久|