• 
    

    
    

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

      多網(wǎng)卡接收錄井儀實(shí)時(shí)數(shù)據(jù)的研究及其實(shí)現(xiàn)

      2012-07-04 12:23:14田相齋
      科技視界 2012年7期
      關(guān)鍵詞:錄井網(wǎng)卡線程

      田相齋

      (勝利地質(zhì)錄井公司信息中心 山東 東營(yíng) 257064)

      0 引言

      實(shí)時(shí)數(shù)據(jù)的服務(wù)器端接收軟件作用是接收數(shù)據(jù)后將其寫入到錄井中心數(shù)據(jù)庫(kù)中。經(jīng)過(guò)幾年的使用,系統(tǒng)發(fā)揮了很大的作用,但是也存在一些問(wèn)題。(1)當(dāng)網(wǎng)絡(luò)或系統(tǒng)發(fā)生問(wèn)題時(shí),缺乏自動(dòng)連接機(jī)制,時(shí)常造成數(shù)據(jù)漏傳,需要人工手動(dòng)重新連接;(2)軟件運(yùn)行時(shí)占用系統(tǒng)資源過(guò)多,平均每臺(tái)服務(wù)器只能接收十幾個(gè)發(fā)送端數(shù)據(jù);(3)缺乏故障和異常報(bào)警、遠(yuǎn)程異常提示的功能,容易漏掉重要傳輸資料,影響全面正確評(píng)價(jià)現(xiàn)場(chǎng)錄井質(zhì)量。因此需要對(duì)接收軟件進(jìn)行重新的設(shè)計(jì)與開發(fā)。

      1 原軟件設(shè)計(jì)缺陷

      數(shù)據(jù)網(wǎng)絡(luò)傳輸使用的是GPRS和衛(wèi)星傳輸網(wǎng)絡(luò),這種網(wǎng)絡(luò)性質(zhì)決定其不穩(wěn)定性,容易受到天氣、電磁信號(hào)、基站功率的影響。

      原來(lái)的傳輸軟件使用TCP/IP協(xié)議,采用Socket連接方式進(jìn)行數(shù)據(jù)傳輸,這種采用底層協(xié)議的操作需要有很多的優(yōu)化措施來(lái)保證程序的有效性。接收軟件耗費(fèi)服務(wù)器資源太多就是Socket連接不斷占用系統(tǒng)資源,同時(shí)接收軟件設(shè)計(jì)時(shí)沒(méi)有采用多線程技術(shù),只用一個(gè)進(jìn)程接收處理數(shù)據(jù),不能使數(shù)據(jù)多通道、并行處理,導(dǎo)致了數(shù)據(jù)在接受端阻塞,只能通過(guò)擴(kuò)充服務(wù)器的方式來(lái)解決。設(shè)備的擴(kuò)充既浪費(fèi)了資金,又增添了系統(tǒng)的不穩(wěn)定性。

      2 軟件系統(tǒng)設(shè)計(jì)

      本軟件作為Client/Server軟件架構(gòu)的Server端,運(yùn)行在服務(wù)器上,接收客戶端傳送的錄井?dāng)?shù)據(jù),存儲(chǔ)到數(shù)據(jù)庫(kù)服務(wù)器上。

      2.1 軟件數(shù)據(jù)流圖

      軟件數(shù)據(jù)流包括系統(tǒng)采集的數(shù)據(jù)及存儲(chǔ)。接收程序接收到錄井?dāng)?shù)據(jù)后,先寫入內(nèi)存數(shù)據(jù)隊(duì)列中,同時(shí)提供數(shù)據(jù)給顯示隊(duì)列和消息隊(duì)列供界面顯示;本地?cái)?shù)據(jù)保存程序從內(nèi)存數(shù)據(jù)隊(duì)列中讀取數(shù)據(jù),寫入本地?cái)?shù)據(jù)庫(kù);遠(yuǎn)程數(shù)據(jù)保存程序從本地?cái)?shù)據(jù)庫(kù)中讀取數(shù)據(jù),寫入到遠(yuǎn)程業(yè)務(wù)數(shù)據(jù)庫(kù)中。

      2.2 系統(tǒng)功能模塊

      (1)數(shù)據(jù)接收部分

      網(wǎng)絡(luò)數(shù)據(jù)傳輸采用的是Socket方式,服務(wù)器端開啟Socket接口,等待客戶端連接后,接收客戶端發(fā)送的數(shù)據(jù)。提供多網(wǎng)卡支持,單個(gè)服務(wù)器上的多個(gè)網(wǎng)卡可以同時(shí)接收來(lái)自多個(gè)客戶端的連接。能夠及時(shí)高效的接收客戶端的數(shù)據(jù)傳輸。

      (2)數(shù)據(jù)存儲(chǔ)部分

      將接收到的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)服務(wù)器和備份數(shù)據(jù)庫(kù)服務(wù)器,為每個(gè)接收到的井位建立數(shù)據(jù)表,將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,同時(shí)如果記錄超過(guò)了8000條,則將8000條現(xiàn)有數(shù)據(jù)之前的刪除掉,避免數(shù)據(jù)增長(zhǎng)過(guò)快消耗掉硬盤存儲(chǔ)容量。

      (3)界面顯示部分

      界面提供兩種顯示模式,一種是系統(tǒng)模式,一種是井位模式。系統(tǒng)模式顯示系統(tǒng)的各項(xiàng)狀態(tài),包括網(wǎng)卡狀態(tài),各個(gè)數(shù)據(jù)庫(kù)連接狀態(tài),數(shù)據(jù)接收的狀態(tài)等等,在界面上一一以直觀的方式顯示出來(lái),使操作者能夠直觀的獲取系統(tǒng)運(yùn)行的狀況。井位模式下可以看到所有連接井位的狀態(tài),選擇需要觀察的井位,將接收到的數(shù)據(jù)顯示在界面上,可以監(jiān)控單口井的狀態(tài)。

      (4)消息傳遞部分

      如果有重要消息需要傳遞,客戶端可輸入信息,傳送到服務(wù)器端,服務(wù)器端可以針對(duì)所有客戶端或選定客戶端發(fā)送消息。當(dāng)服務(wù)器端接收到客戶端的消息時(shí),或服務(wù)器運(yùn)行出現(xiàn)重大故障時(shí)(網(wǎng)絡(luò)終端、數(shù)據(jù)庫(kù)停止),服務(wù)器將信息通過(guò)互聯(lián)網(wǎng)傳輸?shù)蕉滔⒅行?,有短消息中心發(fā)送短消息給值班人員。

      (5)系統(tǒng)管理部分

      系統(tǒng)管理部分設(shè)定系統(tǒng)參數(shù),包括本機(jī)網(wǎng)卡參數(shù),業(yè)務(wù)數(shù)據(jù)庫(kù)和備份數(shù)據(jù)庫(kù)的參數(shù),并對(duì)其進(jìn)行狀態(tài)監(jiān)控。還有程序的啟動(dòng)處理和退出處理等操作。

      3 軟件系統(tǒng)實(shí)現(xiàn)

      3.1 多級(jí)數(shù)據(jù)緩存提供效率與安全的雙重保護(hù)

      獲取數(shù)據(jù)后,直接將數(shù)據(jù)寫入內(nèi)存中的隊(duì)列,然后去處理另一個(gè)數(shù)據(jù),防止了數(shù)據(jù)不能及時(shí)寫入數(shù)據(jù)庫(kù)造成丟失的問(wèn)題。為避免內(nèi)存的緩存增長(zhǎng)過(guò)快,造成內(nèi)存溢出,增加了一級(jí)本地?cái)?shù)據(jù)庫(kù)緩存,進(jìn)一步避免了數(shù)據(jù)丟失。

      通過(guò)兩級(jí)數(shù)據(jù)緩存的使用,既提高了數(shù)據(jù)存儲(chǔ)的效率和時(shí)效性,也避免了意外因素造成的數(shù)據(jù)丟失。

      3.2 多線程任務(wù)提高系統(tǒng)運(yùn)行效率

      圖1 多線程處理

      采用一個(gè)主線程,將所有的運(yùn)行時(shí)線程包含在其中,使程序的流程更加清晰。當(dāng)主線程啟動(dòng)時(shí),啟動(dòng)數(shù)據(jù)庫(kù)檢測(cè)線程,該線程啟動(dòng)各個(gè)數(shù)據(jù)庫(kù)的檢測(cè)線程;主線程啟動(dòng)網(wǎng)卡接收線程,該線程啟動(dòng)各個(gè)網(wǎng)卡的Socket綁定線程,等待客戶端的接入,如果有接入則轉(zhuǎn)入數(shù)據(jù)接收處理線程處理;主線程啟動(dòng)本地傳輸線程,將網(wǎng)卡接收到隊(duì)列中的數(shù)據(jù)寫入本地?cái)?shù)據(jù)庫(kù);遠(yuǎn)程傳輸線程則將數(shù)據(jù)從本地?cái)?shù)據(jù)庫(kù)傳送到業(yè)務(wù)主數(shù)據(jù)庫(kù)和備份數(shù)據(jù)庫(kù)中。除此之外,還有其他線程在運(yùn)行,如數(shù)據(jù)顯示線程。

      3.3 多網(wǎng)卡應(yīng)用提高數(shù)據(jù)接收的容量

      系統(tǒng)自動(dòng)檢測(cè)本機(jī)存在的網(wǎng)卡數(shù)量,并提供給操作員選用,操作員根據(jù)需要選擇所需的網(wǎng)卡數(shù)量和種類。

      (1)網(wǎng)卡管理線程

      接收線程自動(dòng)檢測(cè)選用的網(wǎng)卡數(shù)量和網(wǎng)卡地址,依次將其綁定到接收端口,為每個(gè)網(wǎng)卡啟動(dòng)單獨(dú)的接收線程。將網(wǎng)卡管理與網(wǎng)卡處理分開進(jìn)行,不會(huì)出現(xiàn)在一塊網(wǎng)卡處理過(guò)程中,導(dǎo)致其他網(wǎng)卡處于閑置狀態(tài)。

      (2)Socket綁定線程

      當(dāng)Socket有外來(lái)接入時(shí),將接入轉(zhuǎn)入處理線程,原來(lái)的Socket連接重新等待接入,可以同時(shí)處理多個(gè)接入。

      (3)數(shù)據(jù)接收處理線程

      線程將來(lái)自客戶端的數(shù)據(jù)進(jìn)行解析,將線性的二進(jìn)制字節(jié)流分解成為有意義的數(shù)據(jù)賦值給相應(yīng)的數(shù)據(jù)結(jié)構(gòu),然后將數(shù)據(jù)寫入接收隊(duì)列,完成一次連接的處理過(guò)程。

      以上的三個(gè)線程互相配合,環(huán)環(huán)相扣,各司其職。網(wǎng)卡管理線程檢測(cè)到網(wǎng)卡可用,處于空閑狀態(tài)就將其轉(zhuǎn)入Socket處理線程;Socket線程等待客戶端接入,有數(shù)據(jù)連接就啟動(dòng)一個(gè)數(shù)據(jù)接收處理線程的實(shí)例來(lái)進(jìn)行處理;數(shù)據(jù)接收處理線程得

      以完成一筆數(shù)據(jù)的接收。這種分解的狀態(tài),使得網(wǎng)絡(luò)接收的每個(gè)環(huán)節(jié)都不會(huì)處于空置狀態(tài),滿足了大流量、高頻率數(shù)據(jù)接入的要求。

      3.4 系統(tǒng)中其他功能的實(shí)現(xiàn)

      除了上面提供的完成數(shù)據(jù)接收和保存主要功能的實(shí)現(xiàn)方式,還需實(shí)現(xiàn)客戶端連接狀態(tài)的自動(dòng)監(jiān)測(cè)和數(shù)據(jù)庫(kù)服務(wù)器狀態(tài)的自動(dòng)監(jiān)測(cè),另外,完成系統(tǒng)的整體功能還需要一些輔助功能的幫助,包括手機(jī)短信發(fā)送重要消息、重要信息的日志寫入、標(biāo)準(zhǔn)化的配置文件和完善的系統(tǒng)控制的功能。

      4 應(yīng)用效果分析

      錄井信息對(duì)于科學(xué)的生產(chǎn)有著重要的作用,能夠?qū)浘畔⑼暾行Ъ皶r(shí)地采集到,對(duì)于錄井信息的應(yīng)用具有重要的決定作用。通過(guò)采用新技術(shù)的改造,將能使整個(gè)錄井信息傳輸系統(tǒng)的功能大大提高,保證數(shù)據(jù)能夠跨越網(wǎng)絡(luò)中斷和系統(tǒng)故障傳輸?shù)綌?shù)據(jù)庫(kù),將能夠保證信息的有效完備。同時(shí)由于傳輸軟件具有很強(qiáng)的容錯(cuò)能力,能大大減少人工干預(yù),減輕工作人員的壓力。軟件效率的提高,使得不必額外配備服務(wù)器等設(shè)備,節(jié)約設(shè)備投資。并且軟件平臺(tái)具備良好的可擴(kuò)充性,能夠在此平臺(tái)上擴(kuò)展新的應(yīng)用,減少日后改進(jìn)的投資。

      [1]汪煜凱.石油行業(yè)計(jì)算機(jī)應(yīng)用技術(shù)綜述[M].北京:石油工業(yè)出版社,2005.

      [2]Warton,Java 多線程編程初步[J].電腦報(bào),2004-4-10.

      猜你喜歡
      錄井網(wǎng)卡線程
      在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
      Server 2016網(wǎng)卡組合模式
      二維碼在錄井設(shè)備管理上的應(yīng)用
      錄井工程(2017年3期)2018-01-22 08:39:51
      國(guó)有錄井公司做贏低效地?zé)徜浘袌?chǎng)舉措
      錄井工程(2017年1期)2017-07-31 17:44:30
      錄井工程2017年第1~4期分類目次
      錄井工程(2017年4期)2017-03-16 06:10:53
      淺談linux多線程協(xié)作
      挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
      彬長(zhǎng)區(qū)塊核磁共振錄井T2截止值確定方法
      河南科技(2015年3期)2015-02-27 14:20:51
      Linux線程實(shí)現(xiàn)技術(shù)研究
      么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
      临武县| 隆昌县| 扎鲁特旗| 治县。| 板桥市| 申扎县| 西乌珠穆沁旗| 铅山县| 乌兰察布市| 新安县| 米易县| 南投县| 梅河口市| 库伦旗| 布尔津县| 丽江市| 芮城县| 鄂托克前旗| 启东市| 财经| 洛川县| 雅安市| 潍坊市| 新疆| 八宿县| 西平县| 吉林省| 两当县| 阳信县| 东城区| 隆安县| 南城县| 达日县| 武夷山市| 杂多县| 侯马市| 廉江市| 喀什市| 通化县| 许昌市| 荔波县|