• 
    

    
    

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

      基于多線程的自動(dòng)站數(shù)據(jù)處理系統(tǒng)

      2012-01-05 06:44:12高鈺杰廖偉平
      關(guān)鍵詞:單站功能模塊線程

      黃 志, 高鈺杰, 廖偉平

      (廣西區(qū)氣象信息中心,廣西南寧530219)

      0 引言

      根據(jù)廣西區(qū)局下發(fā)《關(guān)于調(diào)整自動(dòng)氣象站觀測(cè)傳輸業(yè)務(wù)的通知》(桂氣測(cè)函[2011]31號(hào))文件精神,自2011年5月23日09時(shí)(北京時(shí))全區(qū)所有自動(dòng)氣象站傳輸業(yè)務(wù)調(diào)整為30分鐘上傳一次觀測(cè)數(shù)據(jù)。

      調(diào)整后自動(dòng)站數(shù)據(jù)(大監(jiān)自動(dòng)站和區(qū)域自動(dòng)站)傳輸頻率為每半小時(shí)傳輸一次,每次共1400多個(gè)數(shù)據(jù)文件(目前共4種),以往的單線程處理程序?qū)?400多個(gè)文件采用串行處理,在國(guó)家局傳輸考核時(shí)效(整點(diǎn)8分鐘內(nèi))還是可以完成。

      隨著單站數(shù)據(jù)的不斷增多和應(yīng)用需求的提高,9類自動(dòng)站數(shù)據(jù)傳輸將在不久的將來成為現(xiàn)實(shí),屆時(shí)每次上傳的單站數(shù)據(jù)將為5000多個(gè),如果遇到天氣過程則需要每10分鐘甚至每5分鐘進(jìn)行數(shù)據(jù)加密傳輸,以往的單線程的處理方式將很難在時(shí)效內(nèi)快速高效處理所有的單站文件,為此,擬在對(duì)文件類別分類的同時(shí)采用多線程多路實(shí)時(shí)并發(fā)處理機(jī)制,讓其每個(gè)獨(dú)立線程對(duì)相應(yīng)類別的自動(dòng)站單站文件進(jìn)行數(shù)據(jù)文件合并打包、上傳以及信息入庫(kù),從而實(shí)現(xiàn)每類數(shù)據(jù)都是隨來隨處理,極大提高處理時(shí)效。圖1為單線程自動(dòng)站系統(tǒng)處理框圖。

      1 系統(tǒng)實(shí)現(xiàn)技術(shù)與技術(shù)特點(diǎn)

      1.1 Delphi面向?qū)ο箝_發(fā)平臺(tái)

      Delphi是Borland公司推出的一個(gè)集成開發(fā)環(huán)境(IDE),使用的核心是由傳統(tǒng)Pascal語言發(fā)展而來的Object Pascal,以圖形用戶界面為開發(fā)環(huán)境,透過IDE、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫(kù)的功能,構(gòu)成一個(gè)以面向?qū)ο蟪绦蛟O(shè)計(jì)為中心的應(yīng)用程序開發(fā)工具。可在 Windows3.x、Windows95、WindowsNT、WindowsXP、Windows Vista、Windows7等環(huán)境下使用 。當(dāng)前 ,DELPHI也可以在LINUX平臺(tái)上開發(fā)應(yīng)用,其在LINUX上的對(duì)應(yīng)產(chǎn)品Kylix。

      Delphi被稱為第四代編程語言,具有簡(jiǎn)單、高效、功能強(qiáng)大的特點(diǎn),提供各種開發(fā)工具,包括集成環(huán)境、圖像編輯(Image Editor),以及各種開發(fā)數(shù)據(jù)庫(kù)的應(yīng)用程序,如DesktopDataBase Expert等。除此之外,還允許用戶掛接其他的應(yīng)用程序開發(fā)工具,如Borland公司的資源編輯器(Resourse Workshop)。在Delphi眾多的優(yōu)勢(shì)當(dāng)中,在數(shù)據(jù)庫(kù)方面的特長(zhǎng)顯得尤為突出:適應(yīng)于多種數(shù)據(jù)庫(kù)結(jié)構(gòu),從客戶機(jī)/服務(wù)機(jī)模式到多層數(shù)據(jù)結(jié)構(gòu)模式;高效率的數(shù)據(jù)庫(kù)管理系統(tǒng)和新一代更先進(jìn)的數(shù)據(jù)庫(kù)引擎;最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。

      圖1 單線程自動(dòng)站系統(tǒng)處理框圖

      1.2 多線程技術(shù)

      每個(gè)正在系統(tǒng)上運(yùn)行的程序都是一個(gè)進(jìn)程,進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。線程是進(jìn)程的一個(gè)實(shí)體,是CPU調(diào)度和分派的基本單位,是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位。線程不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器,一組寄存器和棧),但是它可與同屬一個(gè)進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源。一個(gè)線程可以創(chuàng)建和撤銷另一個(gè)線程;同一個(gè)進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行。

      單線程就是一個(gè)進(jìn)程中只能有一個(gè)線程,剩下的進(jìn)程必須等待當(dāng)前的線程執(zhí)行完。這種模型的缺點(diǎn)在于系統(tǒng)完成一個(gè)很小的任務(wù)都必須占用很長(zhǎng)的時(shí)間。多線程就是進(jìn)程有多個(gè)線程,是為了同步完成多項(xiàng)任務(wù),不是為了提高運(yùn)行效率,而是為了提高資源使用效率來提高系統(tǒng)的效率。

      2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      圖2為多線程自動(dòng)站系統(tǒng)處理框圖。對(duì)比圖1可以發(fā)現(xiàn),此系統(tǒng)對(duì)文件進(jìn)行了分類,并采用了單獨(dú)的FTP發(fā)送線程,每個(gè)線程各負(fù)其責(zé),互不干擾,即使某一線程運(yùn)行出現(xiàn)故障,其他線程也能正常運(yùn)行。

      圖2 多線程自動(dòng)站系統(tǒng)處理框圖

      2.1 系統(tǒng)功能設(shè)計(jì)

      系統(tǒng)分為4個(gè)功能模塊,每個(gè)模塊由一個(gè)線程負(fù)責(zé),同時(shí)并發(fā)處理,分別介紹4個(gè)功能模塊的具體職能。系統(tǒng)處理邏輯流程圖如圖3所示。

      功能模塊1:大監(jiān)站處理子線程

      此線程主要負(fù)責(zé)大監(jiān)自動(dòng)站數(shù)據(jù)文件的數(shù)據(jù)格式檢查,并對(duì)格檢后的單站文件進(jìn)行數(shù)據(jù)打包合并生成合并文件,然后發(fā)送至以FTP方式發(fā)往國(guó)家局的發(fā)送目錄;之后轉(zhuǎn)移單站文件至相應(yīng)的單站存儲(chǔ)目錄文件夾;最后將所有處理之后的單站數(shù)據(jù)文件寫入相應(yīng)的大監(jiān)站日志文件,以備日后查閱核對(duì)。

      功能模塊2:區(qū)域站處理子線程

      此線程與功能模塊1相似,通過區(qū)分文件名處理區(qū)域自動(dòng)站單站文件。

      功能模塊3:單雨量站處理子線程

      此線程主要負(fù)責(zé)在已處理過的區(qū)域自動(dòng)站數(shù)據(jù)中搜索其中的單雨量站,然后制作生成單雨量站文件,并轉(zhuǎn)移至至以FTP方式發(fā)往國(guó)家局的發(fā)送目錄;此外線程還負(fù)責(zé)單站源目錄的單站數(shù)量監(jiān)控,方便值班人員監(jiān)控程序的運(yùn)行狀況。(如果單站源目錄的文件數(shù)量不減少,證明程序卡死了,需要重啟,單線程就很難實(shí)現(xiàn)這樣的功能)

      功能模塊4:FTP發(fā)送文件線程

      此線程主要負(fù)責(zé)將發(fā)送目錄的合并文件通過FTP的方式發(fā)往國(guó)家局指定目錄,并將合并文件數(shù)據(jù)信息入庫(kù)備查,此外還有一些對(duì)入庫(kù)操作失敗的異常處理,以保證線程的正常運(yùn)行。

      此外,系統(tǒng)可以根據(jù)實(shí)際的處理情況,增加和減少線程數(shù)量,隨著文件類型和文件數(shù)量的不斷增多,可以以模塊的形式增加線程,并且代碼的修改量也較小,適應(yīng)性很強(qiáng),方便系統(tǒng)的整合。

      圖3 多線程自動(dòng)站處理邏輯流程圖

      圖4 系統(tǒng)運(yùn)行截面圖

      2.2 系統(tǒng)運(yùn)行情況對(duì)比

      目前系統(tǒng)已經(jīng)處于業(yè)務(wù)運(yùn)行狀態(tài),運(yùn)行情況良好并有很好的交互性,較之前的單線程處理模式處理速度明顯提升,不會(huì)出現(xiàn)單線程處理模式在程序運(yùn)行過程中因?yàn)槌绦颡?dú)占資源而造成界面空白鎖死,不能拖動(dòng)和操作。表1為單線程與多線程系統(tǒng)運(yùn)行參數(shù)對(duì)比,圖4是系統(tǒng)運(yùn)行界面圖。

      表1 單線程與多線程系統(tǒng)運(yùn)行參數(shù)對(duì)比

      3 結(jié)束語

      系統(tǒng)目前運(yùn)行穩(wěn)定,系統(tǒng)因?yàn)楫惓M顺龅臋C(jī)率較以前大為減小。由于采用了多線程技術(shù),使系統(tǒng)處理數(shù)據(jù)的速度較原來的單線程大幅提高,這為以后快速處理大數(shù)據(jù)量分鐘加密數(shù)據(jù)提供了保證。系統(tǒng)的線程之間相互獨(dú)立,代碼模塊可以重復(fù)利用,具有較好的拓展性,為類似系統(tǒng)整合提供了技術(shù)支持;可利用多線程將目前運(yùn)行的多個(gè)獨(dú)立子系統(tǒng)整合為集約化數(shù)據(jù)綜合處理系統(tǒng)。在以后的工作當(dāng)中可以將自動(dòng)站的單站數(shù)據(jù)信息入庫(kù)功能添加至線程1和2中,以完善系統(tǒng)功能;同時(shí)盡可能改善程序結(jié)構(gòu)和容錯(cuò)機(jī)制,提高系統(tǒng)運(yùn)行的穩(wěn)定性,減少異常處理故障的發(fā)生。

      [1] 代峰燕,劉興華,劉松,等.多線程技術(shù)在測(cè)控系統(tǒng)中的實(shí)現(xiàn)[J].北京石油化工學(xué)院學(xué)報(bào),2011,(1).

      [2] (日)結(jié)城浩.博碩文化譯.Java多線程設(shè)計(jì)模式[M].北京:中國(guó)鐵道出版社,2005.

      [3] 電腦編程技巧與維護(hù)雜志社.DELPHI編程典型實(shí)例解析[M].北京:中國(guó)水利水電出版社,2007.

      [4] 梁水,賽奎春.Delphi開發(fā)典型模塊大全[M].北京:人民郵電出版社,2009.

      [5] 王惠平.基于多線程溫度控制專家系統(tǒng)[M].現(xiàn)代電子技術(shù),2012,35(2).

      [6] 黃文鈺.Delphi 8程序設(shè)計(jì)經(jīng)典解析[M].北京:清華大學(xué)出版社,2006.

      [7] 薛建軍,周杰,杜景林,等.基于多線程的實(shí)時(shí)與非確定時(shí)氣象資料處理[J].信息技術(shù),2011,(11).

      [8] 侯雪蓮,張承明,高靖妹.多線程下載系統(tǒng)中的關(guān)鍵技術(shù)探析[J].北京電力高等專科學(xué)校學(xué)報(bào),2011,(7).

      [9] 梁水,張立科.Delphi開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007.

      [10] 寧正元.Delphi開發(fā)技術(shù)大全[M].北京:水利水電出版社,2005.

      猜你喜歡
      單站功能模塊線程
      穩(wěn)定的紅牛有多強(qiáng),維斯塔潘單站大滿貫
      ——2022 F1意大利大獎(jiǎng)賽
      世界汽車(2022年5期)2022-06-10 10:18:36
      單站優(yōu)化,打造綜合生態(tài)圈——專訪中國(guó)石油遼寧沈陽銷售分公司副總經(jīng)理梁洪濤
      基于方位角和勻速圓周運(yùn)動(dòng)的單站無源定位算法
      淺談linux多線程協(xié)作
      基于ASP.NET標(biāo)準(zhǔn)的采購(gòu)管理系統(tǒng)研究
      輸電線路附著物測(cè)算系統(tǒng)測(cè)算功能模塊的研究
      M市石油裝備公服平臺(tái)網(wǎng)站主要功能模塊設(shè)計(jì)與實(shí)現(xiàn)
      功能模塊的設(shè)計(jì)與應(yīng)用研究
      Linux線程實(shí)現(xiàn)技術(shù)研究
      韻律曲線對(duì)單站大到暴雨的消空訂正
      湛江市| 加查县| 石楼县| 土默特右旗| 新河县| 浮梁县| 西城区| 蕲春县| 汉中市| 太康县| 宜阳县| 望城县| 雷波县| 肇州县| 桐柏县| 新兴县| 枣阳市| 桐城市| 东兰县| 仙桃市| 尼勒克县| 高密市| 南部县| 库尔勒市| 龙井市| 呼和浩特市| 杨浦区| 三原县| 砚山县| 平江县| 施秉县| 邵阳市| 洛隆县| 上虞市| 长岭县| 宜宾市| 丹东市| 涡阳县| 黑龙江省| 旬阳县| 长沙县|