亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        CSRH-I觀測(cè)數(shù)據(jù)接收子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)*

        2015-03-24 02:39:55馬榮庭季凱帆
        天文研究與技術(shù) 2015年1期
        關(guān)鍵詞:接收機(jī)子系統(tǒng)觀測(cè)

        馬榮庭,劉 飛,鄧 輝,王 鋒,3,季凱帆

        (1. 昆明理工大學(xué)云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650051;2. 中國(guó)科學(xué)院國(guó)家天文臺(tái),北京 100012;3. 中國(guó)科學(xué)院云南天文臺(tái),云南 昆明 650011)

        CSRH-I觀測(cè)數(shù)據(jù)接收子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)*

        馬榮庭1,劉 飛2,鄧 輝1,王 鋒1,3,季凱帆1

        (1. 昆明理工大學(xué)云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650051;2. 中國(guó)科學(xué)院國(guó)家天文臺(tái),北京 100012;3. 中國(guó)科學(xué)院云南天文臺(tái),云南 昆明 650011)

        中國(guó)新一代厘米-分米波射電日像儀(Chinese Spectral Radio Heliograph, CSRH)項(xiàng)目已經(jīng)完成了硬件建設(shè)。為了實(shí)現(xiàn)從數(shù)字接收機(jī)中讀取觀測(cè)數(shù)據(jù),并將最新的可用數(shù)據(jù)狀態(tài)通知其他子系統(tǒng)如監(jiān)控系統(tǒng)和實(shí)時(shí)展現(xiàn)系統(tǒng)等,迫切需要一個(gè)穩(wěn)定可靠的數(shù)據(jù)接收子系統(tǒng)。針對(duì)CSRH-I的特點(diǎn)及要求,在分析數(shù)字接收機(jī)原始數(shù)據(jù)格式的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了CSRH-I觀測(cè)數(shù)據(jù)接收子系統(tǒng)。系統(tǒng)基于Linux環(huán)境,采用Boost軟件包作為底層開(kāi)發(fā)庫(kù),實(shí)現(xiàn)了基于TCP協(xié)議的網(wǎng)絡(luò)套接服務(wù)器,能夠異步接收、過(guò)濾數(shù)字接收機(jī)發(fā)送來(lái)的數(shù)據(jù),經(jīng)過(guò)相應(yīng)的分析處理后最終以文件方式存儲(chǔ)數(shù)據(jù),進(jìn)而采用UDP報(bào)文方式通知其它子系統(tǒng)觀測(cè)數(shù)據(jù)的更新?tīng)顟B(tài)。本系統(tǒng)充分考慮了通信過(guò)程中可能的異常情況并采取了相應(yīng)的對(duì)策。測(cè)試表明,CSRH-I觀測(cè)數(shù)據(jù)接收子系統(tǒng)工作穩(wěn)定可靠,容錯(cuò)能力強(qiáng),可以滿足CSRH-I的應(yīng)用需求。

        CSRH-I;數(shù)據(jù)接收;Boost

        中國(guó)新一代厘米-分米波射電日像儀(CSRH)位于中國(guó)內(nèi)蒙古錫林郭勒盟正鑲白旗明安圖鎮(zhèn),用于觀測(cè)日冕大氣和監(jiān)測(cè)太陽(yáng)活動(dòng)[1]。CSRH的觀測(cè)量是太陽(yáng)的射電寬帶頻譜,分為高、低頻段兩套設(shè)備。CSRH-I是項(xiàng)目的低頻部分,工作的射頻頻率范圍為0.4 GHz~2.0 GHz,主要硬件由天線、傳輸、模擬接收機(jī)、數(shù)字接收機(jī)和后續(xù)的處理及控制設(shè)備等部分組成。天線接收的射電噪聲信號(hào)經(jīng)過(guò)低噪聲放大器放大后,再進(jìn)行電/光轉(zhuǎn)換,將電信號(hào)轉(zhuǎn)換為光信號(hào)并通過(guò)光纖傳至機(jī)房[2]。經(jīng)過(guò)模擬接收機(jī)和數(shù)字接收機(jī)的處理后,最終生成約定格式的數(shù)據(jù)并以文件的方式進(jìn)行存儲(chǔ)[3]。

        為了實(shí)現(xiàn)在線實(shí)時(shí)狀態(tài)監(jiān)控等功能,數(shù)字接收機(jī)在保存觀測(cè)數(shù)據(jù)文件的同時(shí),也可以將部分觀測(cè)數(shù)據(jù)通過(guò)網(wǎng)絡(luò)發(fā)送到指定地址,供實(shí)時(shí)數(shù)據(jù)分析使用,目前發(fā)送頻率為5 s一次,每次的數(shù)據(jù)量約1.6 MB。

        CSRH-I數(shù)據(jù)接收子系統(tǒng)就是在這一基礎(chǔ)上設(shè)計(jì)的。子系統(tǒng)在數(shù)字接收機(jī)和后續(xù)監(jiān)控、發(fā)布等系統(tǒng)之間建立數(shù)據(jù)通道,將數(shù)字接收機(jī)發(fā)送的數(shù)據(jù)傳輸給后續(xù)多個(gè)處理系統(tǒng)使用,實(shí)現(xiàn)觀測(cè)與后續(xù)處理的聯(lián)動(dòng)。子系統(tǒng)通過(guò)創(chuàng)建套接端點(diǎn),與發(fā)送端建立連接,接收從數(shù)字接收機(jī)發(fā)送的數(shù)據(jù),并根據(jù)數(shù)據(jù)格式對(duì)數(shù)據(jù)進(jìn)行拆分、檢驗(yàn)和組合,得到正確的觀測(cè)數(shù)據(jù)并以文件的方式存儲(chǔ),進(jìn)而通過(guò)報(bào)文通知后續(xù)其它子系統(tǒng)當(dāng)前觀測(cè)數(shù)據(jù)的更新?tīng)顟B(tài)。圖1給出了CSRH-I系統(tǒng)數(shù)據(jù)流圖,圖中虛線框內(nèi)為CSRH-I觀測(cè)數(shù)據(jù)接收子系統(tǒng)的定位與前后關(guān)系。

        1 裸數(shù)據(jù)格式分析

        CSRH-I使用的數(shù)字接收機(jī)采用一種自定義數(shù)據(jù)格式進(jìn)行數(shù)據(jù)傳輸與存儲(chǔ),以下簡(jiǎn)稱為裸格式。裸格式以幀為單位,包括系統(tǒng)參數(shù)和相關(guān)處理結(jié)果。圖2為幀格式示意圖,幀的起始位置坐標(biāo)為0,以字節(jié)為單位,圖中表格內(nèi)數(shù)據(jù)均為十六進(jìn)制。觀測(cè)系統(tǒng)每3 ms生成一幀數(shù)據(jù),每幀數(shù)據(jù)由幀頭部分和數(shù)據(jù)部分組成,總數(shù)據(jù)量為100 000字節(jié)。幀頭的長(zhǎng)度為192字節(jié),其中包含了幀起始引導(dǎo)標(biāo)志、系統(tǒng)時(shí)間、信號(hào)帶寬、工作模式等信息。CSRH-I數(shù)據(jù)接收系統(tǒng)需要對(duì)幀的引導(dǎo)標(biāo)志、極化方式、工作模式以及射頻頻率進(jìn)行判別,實(shí)現(xiàn)對(duì)接收的幀進(jìn)行選擇。

        圖1 CSRH-I數(shù)據(jù)流圖,虛線框內(nèi)是數(shù)據(jù)接收子系統(tǒng)涉及范圍
        Fig.1 A flowchart of the CSRH-I. Our data-receiving subsystem is marked as the region enclosed by dotted lines

        圖2 幀格式示意圖
        Fig.2 The format of a data frame of the CSRH-I

        CSRH-I觀測(cè)設(shè)備可以在循環(huán)工作模式和非循環(huán)工作模式兩種模式下工作。在非循環(huán)工作模式下,設(shè)備以固定的射頻頻率和極化方式工作;而在循環(huán)工作模式下,設(shè)備在0.4 GHz~0.8 GHz、0.8 GHz~1.2 GHz、1.2 GHz~1.6 GHz和1.6 GHz~2.0 GHz 4個(gè)頻段上循環(huán)進(jìn)行工作,同時(shí)極化方式采取在一個(gè)頻率上先左旋極化再右旋極化的方式進(jìn)行循環(huán)。循環(huán)工作模式下,先改變極化方式,然后改變射頻頻率。兩種工作模式得到的數(shù)據(jù)幀排列如圖3。由圖3知,循環(huán)模式下設(shè)備完成一次完整觀測(cè)得到的觀測(cè)數(shù)據(jù)是由8個(gè)3 ms觀測(cè)得到的幀組成。

        圖3 數(shù)據(jù)幀排列圖
        Fig.3 The arrangements of data frames under two working modes of the CSRH-I, respectively

        2 技術(shù)實(shí)現(xiàn)

        2.1 Linux環(huán)境下的網(wǎng)絡(luò)套接編程

        CSRH-I觀測(cè)數(shù)據(jù)接收子系統(tǒng)是以Linux環(huán)境下的套接字(Socket)為基礎(chǔ)實(shí)現(xiàn)。子系統(tǒng)作為T(mén)CP服務(wù)器端,對(duì)外提供面向連接的可靠服務(wù),有序、無(wú)差錯(cuò)、無(wú)重復(fù)的完成數(shù)據(jù)傳輸[4]。數(shù)字接收機(jī)在需要進(jìn)行數(shù)據(jù)傳輸時(shí),作為T(mén)CP客戶機(jī)連接本系統(tǒng)的TCP端口建立相應(yīng)的連接,進(jìn)行數(shù)據(jù)傳輸。

        2.2 Boost庫(kù)

        Linux環(huán)境下服務(wù)器端套接字創(chuàng)建的基本步驟為:創(chuàng)建套接,綁定地址,啟動(dòng)監(jiān)聽(tīng),接受連接,數(shù)據(jù)交換,連接斷開(kāi)[5]。近幾年來(lái),為簡(jiǎn)化Linux環(huán)境下套接字編程,越來(lái)越多的軟件開(kāi)發(fā)人員采用了Boost軟件庫(kù)。Boost是一個(gè)功能強(qiáng)大、構(gòu)造精巧、跨平臺(tái)、開(kāi)源的C++程序庫(kù),Boost庫(kù)為用戶提供了線程安全的異步套接編程[6]。在異步模式下,Boost庫(kù)提供異步回調(diào)機(jī)制,開(kāi)發(fā)人員可以通過(guò)調(diào)用“boost∷bind()”函數(shù)將后續(xù)要調(diào)用的函數(shù)作為當(dāng)前執(zhí)行函數(shù)的一個(gè)參數(shù)使用。另外,Boost庫(kù)還為開(kāi)發(fā)人員提供了智能指針,方便解決C++編程中的內(nèi)存管理問(wèn)題。Boost下的ASIO庫(kù)是一個(gè)針對(duì)低端I/O編程和網(wǎng)絡(luò)編程的庫(kù),對(duì)網(wǎng)絡(luò)編程和計(jì)算機(jī)底層I/O編程做了較好的接口。應(yīng)用程序可以通過(guò)“io_service”對(duì)象獲得操作系統(tǒng)的I/O服務(wù),“io_service”調(diào)用操作系統(tǒng)功能執(zhí)行連接操作,操作系統(tǒng)向“io_service”返回執(zhí)行結(jié)果,無(wú)需再考慮程序的底層構(gòu)建,為開(kāi)發(fā)者進(jìn)行C++套接編程提供了穩(wěn)定的異步模型[7]。

        2.3 基于Boost庫(kù)的接收服務(wù)器實(shí)現(xiàn)

        該數(shù)據(jù)接收子系統(tǒng)主要分為數(shù)據(jù)接收、數(shù)據(jù)檢驗(yàn)、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)共享幾部分。數(shù)據(jù)接收部分的主要任務(wù)是創(chuàng)建服務(wù)器端套接字,與發(fā)送端建立連接,接收所有發(fā)送來(lái)的數(shù)據(jù)并暫存于緩沖區(qū)數(shù)組中;數(shù)據(jù)檢驗(yàn)部分檢驗(yàn)接收過(guò)程中是否發(fā)生數(shù)據(jù)丟失、數(shù)據(jù)錯(cuò)傳等傳輸錯(cuò)誤,從接收的數(shù)據(jù)中獲得后續(xù)系統(tǒng)需要的數(shù)據(jù),拋棄錯(cuò)誤或者不需要的數(shù)據(jù);數(shù)據(jù)存儲(chǔ)部分實(shí)現(xiàn)將經(jīng)過(guò)正確性檢驗(yàn)確認(rèn)無(wú)誤的數(shù)據(jù)依照一定的存儲(chǔ)方法進(jìn)行存盤(pán);數(shù)據(jù)共享部分實(shí)現(xiàn)后續(xù)多個(gè)處理系統(tǒng)及時(shí)地獲取最新數(shù)據(jù),并行地使用存盤(pán)數(shù)據(jù)。

        2.3.1 數(shù)據(jù)接收

        使用Boost庫(kù)可以快速地完成服務(wù)器端套接字的創(chuàng)建并啟動(dòng)監(jiān)聽(tīng),實(shí)現(xiàn)與發(fā)送端建立連接后并行地接收數(shù)據(jù)。調(diào)用“io_service”生成“io_service”對(duì)象,調(diào)用“ip∷tcp∷endpoint()”生成套接字節(jié)點(diǎn),綁定指定機(jī)器的IP地址以及5260端口,在此基礎(chǔ)上創(chuàng)建一個(gè)“acceptor”對(duì)象,通過(guò)調(diào)用“async_accept”函數(shù)在指定端口開(kāi)啟監(jiān)聽(tīng),等待連接。當(dāng)有多個(gè)連接請(qǐng)求時(shí),服務(wù)器端為每一個(gè)連接創(chuàng)建一個(gè)線程,避免客戶端的長(zhǎng)時(shí)間等待。創(chuàng)建服務(wù)器端套接字并啟動(dòng)監(jiān)聽(tīng)的部分代碼如表1。

        溫泉水電站壩址河谷呈V形,河流縱坡6.9‰。谷底高程870 m左右,兩岸山頂高程1 182~1 600 m,右岸自然坡角多在70°~80°之間,局部近于直立。壩址分布下石炭統(tǒng)東圖精河組和第四系地層,巖體呈厚層狀—塊狀。壩址基巖強(qiáng)風(fēng)化層厚2~5 m,弱風(fēng)化層厚10~15 m。左岸卸荷帶水平寬度 3~15 m,順河長(zhǎng) 95 m,垂直深度約65 m;右岸卸荷帶水平寬度2~5 m。壩址區(qū)地震基本烈度Ⅷ度,大壩抗震設(shè)防烈度Ⅷ度。

        服務(wù)器端監(jiān)聽(tīng)到請(qǐng)求,接受請(qǐng)求建立連接后便立即進(jìn)行數(shù)據(jù)的接收。調(diào)用“async_read()”函數(shù)進(jìn)行數(shù)據(jù)的異步接收,返回條件是完成從套接緩沖區(qū)中讀取指定字節(jié)的數(shù)據(jù)或者數(shù)據(jù)接收過(guò)程中發(fā)生錯(cuò)誤。通過(guò)回調(diào)函數(shù)調(diào)用“async_read()”函數(shù),開(kāi)啟多個(gè)線程并行地接收數(shù)據(jù)?;卣{(diào)函數(shù)返回兩個(gè)默認(rèn)的參數(shù):函數(shù)執(zhí)行結(jié)果“boost∷asio∷placeholders∷error”和本次接收最終接收的字節(jié)數(shù)“boost∷asio∷placeholders∷bytes_transferred”。通過(guò)這兩個(gè)參數(shù)可知本次數(shù)據(jù)的接收是否成功以及接收的數(shù)據(jù)量。如果發(fā)生錯(cuò)誤,則返回已接收的數(shù)據(jù)量和錯(cuò)誤信息。接收的數(shù)據(jù)暫存于系統(tǒng)緩沖區(qū)數(shù)組中,等待對(duì)其進(jìn)行拆分和選擇,以節(jié)省系統(tǒng)I/O資源。

        表1 創(chuàng)建服務(wù)器端套接并啟動(dòng)監(jiān)聽(tīng)代碼Table 1 The codes for setting connections to a TCP server and initiating monitoring

        在異步模式下接收數(shù)據(jù)時(shí)系統(tǒng)可利用空閑資源為接收任務(wù)創(chuàng)建多個(gè)線程,從而并行地接收數(shù)據(jù),提高系統(tǒng)資源利用率,加快數(shù)據(jù)接收速度,減少因?yàn)轭l繁的接收超時(shí)帶來(lái)的損失。

        2.3.2 數(shù)據(jù)檢驗(yàn)

        在當(dāng)前的CSRH-I中,數(shù)字接收機(jī)所發(fā)送的數(shù)據(jù)沒(méi)有提供數(shù)據(jù)校驗(yàn)位。為了避免錯(cuò)誤的數(shù)據(jù)給后續(xù)處理帶來(lái)不可預(yù)料的后果,需要對(duì)接收的數(shù)據(jù)進(jìn)行檢驗(yàn)。另外,由上文裸數(shù)據(jù)格式的分析可知,在不同的設(shè)備工作模式下,后續(xù)處理對(duì)數(shù)據(jù)的可處理性要求不同。非循環(huán)模式下得到的觀測(cè)數(shù)據(jù)幀,每一幀都可以進(jìn)行單獨(dú)處理,而對(duì)于循環(huán)模式下得到的數(shù)據(jù)幀,連續(xù)且有規(guī)律排列的8個(gè)幀組成的一個(gè)完整數(shù)據(jù)才能對(duì)其進(jìn)行后續(xù)處理。數(shù)據(jù)檢驗(yàn)根據(jù)裸數(shù)據(jù)格式和不同模式下數(shù)據(jù)的可處理性完成對(duì)接收緩沖區(qū)數(shù)組中的數(shù)據(jù)進(jìn)行拆分、檢驗(yàn)和組合。另外,數(shù)字接收機(jī)隨機(jī)選取某一幀作為發(fā)送數(shù)據(jù)的第一幀進(jìn)行發(fā)送,幀對(duì)應(yīng)的設(shè)備射頻頻率以及極化方式未知。為了避免存盤(pán)數(shù)據(jù)混亂,方便后續(xù)系統(tǒng)使用數(shù)據(jù),傳輸過(guò)程中,約定頻率為0.4 GHz~0.8 GHz的左旋極化數(shù)據(jù)幀作為接收系統(tǒng)存盤(pán)的第1幀。

        數(shù)據(jù)檢驗(yàn)流程如圖4,在暫存接收數(shù)據(jù)的緩沖區(qū)數(shù)組中遍歷查找32字節(jié)十六進(jìn)制的“55”,確定幀起始位置,然后跳轉(zhuǎn)相應(yīng)的偏移量,判斷幀尾位置是否為16字節(jié)十六進(jìn)制的“aa”。判斷成功后,循環(huán)檢驗(yàn)后續(xù)8幀的幀頭和幀尾位置數(shù)據(jù)是否正確,以此判斷數(shù)組中是否存在8個(gè)完整的幀。如果判斷成功,則從幀起始位置跳轉(zhuǎn)190字節(jié)到模式判別字段,判斷該幀數(shù)據(jù)對(duì)應(yīng)的設(shè)備工作模式。若是非循環(huán)模式,則直接存儲(chǔ)該幀,該次數(shù)據(jù)檢驗(yàn)完成,若是循環(huán)模式,則進(jìn)行后續(xù)的檢驗(yàn)。

        對(duì)于判定為循環(huán)模式的幀,從幀起始位置向后跳轉(zhuǎn)99 264字節(jié),讀取幀的跳頻碼字段。判斷跳頻碼字段的值是否為十六進(jìn)制的“0000”,判定失敗,則向后滑動(dòng)重新查找?guī)^,進(jìn)行下一次檢驗(yàn)。否則,假設(shè)當(dāng)前幀為第1幀,后續(xù)相鄰的幀為第2幀,以此類(lèi)推,判斷第1幀和第2幀,第3幀和第4幀,第5幀和第6幀,第7幀和第8幀的跳頻碼字段的值是否相等。相等則說(shuō)明傳輸過(guò)程中沒(méi)有發(fā)生幀丟失,存儲(chǔ)這8幀,進(jìn)行下一次接收。否則,丟棄該次接收的所有數(shù)據(jù),該次數(shù)據(jù)檢驗(yàn)完畢,進(jìn)行下一次接收。

        2.3.3 數(shù)據(jù)保存和共享

        系統(tǒng)的數(shù)據(jù)保存和共享實(shí)現(xiàn)了對(duì)文件的并行讀寫(xiě)。同時(shí),采用UDP報(bào)文發(fā)送的方法,可以有效防止接收系統(tǒng)寫(xiě)文件與后續(xù)多個(gè)系統(tǒng)讀文件引發(fā)的文件互鎖問(wèn)題,以此避免文件互鎖導(dǎo)致整個(gè)系統(tǒng)無(wú)法正常工作。

        圖4 數(shù)據(jù)檢驗(yàn)流程圖
        Fig.4 The flowchart of checking data

        3 系統(tǒng)異常處理

        CSRH-I系統(tǒng)對(duì)數(shù)據(jù)的正確性有嚴(yán)格的要求。為了保證傳輸過(guò)程中數(shù)據(jù)的正確性,系統(tǒng)根據(jù)TCP協(xié)議套接數(shù)據(jù)傳輸過(guò)程中的常見(jiàn)問(wèn)題分別考慮了相應(yīng)的異常處理方法,以應(yīng)對(duì)系統(tǒng)運(yùn)行過(guò)程中可能出現(xiàn)的異常事件,提高系統(tǒng)的可靠性和穩(wěn)定性。系統(tǒng)針對(duì)連接中斷、數(shù)據(jù)錯(cuò)傳、傳輸超時(shí)等異常設(shè)定了相關(guān)處理辦法,具體說(shuō)明如下。

        3.1 連接中斷

        系統(tǒng)實(shí)現(xiàn)了在客戶端斷開(kāi)連接后及時(shí)提醒用戶,避免系統(tǒng)做無(wú)謂的等待。當(dāng)網(wǎng)絡(luò)故障或者其他短暫故障導(dǎo)致發(fā)送數(shù)據(jù)的客戶端與系統(tǒng)斷開(kāi)連接時(shí),接收端根據(jù)數(shù)據(jù)接收函數(shù)返回的“boost∷asio∷placeholders∷error”參數(shù)值對(duì)此進(jìn)行識(shí)別,確認(rèn)客戶端失去連接后系統(tǒng)將主動(dòng)斷開(kāi)原有TCP連接,同時(shí)將當(dāng)前正在接收但未能接收完成的數(shù)據(jù)丟棄,并跳過(guò)此次接收,等待客戶端重新連接。

        3.2 數(shù)據(jù)錯(cuò)傳

        系統(tǒng)根據(jù)接收的數(shù)據(jù)量實(shí)現(xiàn)對(duì)數(shù)據(jù)傳輸過(guò)程的錯(cuò)誤檢驗(yàn)。數(shù)據(jù)接收機(jī)發(fā)送數(shù)據(jù)量是已知的,同時(shí),在Boost的異步通信方式下,數(shù)據(jù)接收端每次接收的數(shù)據(jù)量可以由接收函數(shù)的返回參數(shù)“boost∷asio∷placeholders∷bytes_transferred”記錄,通過(guò)統(tǒng)計(jì)該參數(shù)的值知道在特定時(shí)間段內(nèi)接收系統(tǒng)接收的數(shù)據(jù)總量。如果接收的數(shù)據(jù)總量與發(fā)送端發(fā)送的數(shù)據(jù)量不同,則認(rèn)為傳輸過(guò)程中發(fā)生了錯(cuò)誤,選擇丟棄該次已經(jīng)接收的數(shù)據(jù),并開(kāi)始下一次接收,從而保證接收數(shù)據(jù)的正確性。

        3.3 傳輸超時(shí)

        本系統(tǒng)利用傳輸超時(shí)解決網(wǎng)絡(luò)擁堵或系統(tǒng)I/O繁忙等異常情況。超出系統(tǒng)設(shè)定時(shí)間的接收動(dòng)作或者處于等待狀態(tài)的存儲(chǔ)動(dòng)作將被終止,同時(shí)丟棄已經(jīng)接收的數(shù)據(jù)。

        Boost庫(kù)提供了一個(gè)“timer”庫(kù),這個(gè)庫(kù)擁有簡(jiǎn)易的度量時(shí)間的功能。該子庫(kù)中封裝有“timer”類(lèi),這是一個(gè)小型的計(jì)時(shí)器,提供毫秒級(jí)的計(jì)時(shí)精度。因此,可以通過(guò)這個(gè)類(lèi)統(tǒng)計(jì)每一次數(shù)據(jù)接收完成的時(shí)間,如果該時(shí)間大于300 ms(暫定,考慮后續(xù)處理時(shí)間)則認(rèn)為系統(tǒng)接收超時(shí)。

        4 系統(tǒng)測(cè)試

        為了驗(yàn)證系統(tǒng)的可靠性與穩(wěn)定性,根據(jù)系統(tǒng)的實(shí)際工作環(huán)境,分別對(duì)系統(tǒng)進(jìn)行了實(shí)驗(yàn)室環(huán)境下的測(cè)試以及實(shí)際工作現(xiàn)場(chǎng)的測(cè)試,并結(jié)合測(cè)試結(jié)果以及系統(tǒng)的應(yīng)用要求對(duì)系統(tǒng)做了進(jìn)一步的完善。

        實(shí)驗(yàn)室環(huán)境下的測(cè)試以兩臺(tái)裝有Centos 6.4版本64位操作系統(tǒng)的計(jì)算機(jī)作為試驗(yàn)平臺(tái)。兩臺(tái)機(jī)器通過(guò)百兆以太網(wǎng)連接,分別運(yùn)行發(fā)送端測(cè)試程序和待測(cè)試的系統(tǒng)。測(cè)試分為兩部分進(jìn)行,正常工作狀態(tài)測(cè)試和異常發(fā)生處理測(cè)試,分別對(duì)系統(tǒng)能否在正常工作狀態(tài)下完成數(shù)據(jù)傳輸任務(wù)以及異常發(fā)生時(shí)能否進(jìn)行相應(yīng)異常處理進(jìn)行了有效測(cè)試。

        (1)單次測(cè)試:發(fā)送端持續(xù)循環(huán)發(fā)送觀測(cè)數(shù)據(jù)文件起始位置的1.6 M數(shù)據(jù),兩次發(fā)送之間延時(shí)5 s,系統(tǒng)對(duì)其進(jìn)行接收、處理。經(jīng)過(guò)多次測(cè)試,系統(tǒng)完成單次接收和處理需要200 ms左右的時(shí)間。每次接收和處理完成后,系統(tǒng)生成一個(gè)大小為0.8 M的二進(jìn)制數(shù)據(jù)文件,同時(shí) “Recvlog.txt” 文件正確更新,后續(xù)的模擬發(fā)布系統(tǒng)收到含有文件名的UDP報(bào)文。

        (2)連續(xù)測(cè)試:發(fā)送端不間斷發(fā)送觀測(cè)數(shù)據(jù),測(cè)試數(shù)據(jù)量為1.92 G。發(fā)送間隔為5 s,每次發(fā)送1.6 MB數(shù)據(jù),累計(jì)發(fā)送1 200次。系統(tǒng)對(duì)其進(jìn)行接收處理,實(shí)驗(yàn)得到的結(jié)果無(wú)錯(cuò)誤,說(shuō)明系統(tǒng)可以完成持續(xù)性的數(shù)據(jù)傳輸任務(wù)。

        (3)針對(duì)系統(tǒng)的異常處理方法,在系統(tǒng)運(yùn)行過(guò)程中人為制造網(wǎng)絡(luò)斷開(kāi)、發(fā)錯(cuò)數(shù)據(jù)、設(shè)定延時(shí)等異常,測(cè)試結(jié)果證明系統(tǒng)可以對(duì)這些異常進(jìn)行正常處理,解除異常后,系統(tǒng)可以正常工作。

        在實(shí)驗(yàn)室測(cè)試完成后,系統(tǒng)部署在內(nèi)蒙古明安圖觀測(cè)站現(xiàn)場(chǎng)服務(wù)器上進(jìn)行了真實(shí)環(huán)境測(cè)試。系統(tǒng)實(shí)現(xiàn)了與發(fā)送端建立連接和數(shù)據(jù)的接收、存儲(chǔ),并能穩(wěn)定工作。同時(shí),系統(tǒng)完成單次接收和處理同樣需要200 ms左右的時(shí)間,與實(shí)驗(yàn)室測(cè)試結(jié)果吻合。經(jīng)過(guò)近3個(gè)月的試運(yùn)行,CSRH-I觀測(cè)數(shù)據(jù)接收子系統(tǒng)穩(wěn)定運(yùn)行,實(shí)現(xiàn)了在數(shù)字接收機(jī)和后續(xù)實(shí)時(shí)監(jiān)控,展現(xiàn)系統(tǒng)間的數(shù)據(jù)通道,保證了數(shù)據(jù)的可靠傳輸,滿足項(xiàng)目需求。

        5 總 結(jié)

        本文針對(duì)CSRH-I的特點(diǎn)和任務(wù)要求進(jìn)行了深入的調(diào)研分析,實(shí)現(xiàn)了一個(gè)在Linux平臺(tái)下基于C++編程庫(kù)Boost的CSRH-I觀測(cè)數(shù)據(jù)接收子系統(tǒng)。系統(tǒng)細(xì)致考慮了可能出現(xiàn)的異常錯(cuò)誤和對(duì)應(yīng)的異常處理方法,確保了系統(tǒng)的穩(wěn)定性以及數(shù)據(jù)的正確性。測(cè)試結(jié)果表明系統(tǒng)具有較好的魯棒性,能夠滿足CSRH-I應(yīng)用需求。但當(dāng)前系統(tǒng)中實(shí)現(xiàn)的數(shù)據(jù)錯(cuò)誤檢驗(yàn)辦法仍有較大的局限性,根本的解決方法仍需要在數(shù)字接收機(jī)中增加校驗(yàn)數(shù)據(jù)解決。

        致謝:衷心感謝中國(guó)科學(xué)院國(guó)家天文臺(tái)的顏毅華老師、王威老師和劉東浩老師的指導(dǎo)。

        [1] Yan Y, Zhang J, Wang W. The Chinese Spectral Radioheliograph—CSRH[J]. Earth, Moon, and Planets, 2009, 104(1-4): 97-100.

        [2] 王威, 陳志軍, 姬國(guó)樞, 等. CSRH 光纖傳輸方案探討[J]. 天文研究與技術(shù)——國(guó)家天文臺(tái)臺(tái)刊, 2006, 3(2): 143-147. Wang Wei, Chen Zhijun, Ji Guoshu, et al. Optical fiber transmission analysis for CSRH[J]. Astronomical Research & Technology——Publications of National Astronomical Observatories of China, 2006, 3(2): 143-147.

        [3] 姬國(guó)樞, 竇玉江, 王威, 等. CSRH 模擬接收機(jī)設(shè)計(jì)[J]. 天文研究與技術(shù)——國(guó)家天文臺(tái)臺(tái)刊, 2006, 3(2): 135-142. Ji Guoshu, Dou Yujiang, Wang Wei, et al. RF receiver design for CSRH[J]. Astronomical Research & Technology——Publications of National Astronomical Observatories of China, 2006, 3(2): 135-142.

        [4] 張潤(rùn)華. UNIX環(huán)境下基于socket網(wǎng)絡(luò)通信的實(shí)現(xiàn)[J]. 科技信息(科學(xué)教研), 2008(9): 74+85.

        [5] 張斌, 高波. Linux網(wǎng)絡(luò)編程[M]. 北京: 清華大學(xué)出版社, 2000.

        [6] 羅劍鋒. Boost 程序庫(kù)完全開(kāi)發(fā)指南[M]. 北京: 電子工業(yè)出版社, 2010.

        [7] Torjo J. Boost. Asio C++ network programming[M]. America: Packt Publishing Ltd, 2013.

        CN 53-1189/P ISSN 1672-7673

        The Design and Implementation of a Data-Receiving Subsystem of the CSRH-I

        Ma Rongting1, Liu Fei2, Deng Hui1, Wang Feng1,3, Ji Kaifan1

        (1. Key Labarotory of Applications of Computer Technologies of the Yunnan Province, Kunming University of Science and Technology, Kunming 650051, China, Email: ma_rt@foxmail.com; 2. National Astronomical Observatories, Chinese Academy of Sciences, Beijing 100012, China; 3. Yunnan Observatories, Chinese Academy of Sciences, Kunming 650011, China)

        The construction of the hardware systems of the Chinese Spectral Radio Heliograph (CSRH) has been completed. It is urgent to design and implement a robust data-receiving subsystem to read observational data from the digital receiver of the CSRH. Such a subsystem also needs to have the capability to inform other subsystems that are further along the data flows, including the supervision subsystem and visualization subsystem, about the status of available data. In this paper we first analyze the format of raw data received by the CSRH-I. Based on the analysis we have designed a data-receiving subsystem for the CSRH-I. The subsystem is to work under a LINUX environment and is based on the BOOST software package as its development library. By incorporating a network server of the TCP protocol the subsystem can read and check data from the digital receiver asynchronously. After being pre-processed observed data are saved by the subsystem in a file set; meanwhile, through a UDP message the subsystem will further inform other subsystems to update the current status of available data. Our design of the subsystem fully considers the issues of handling errors/exceptions in TCP communications. Our test results show that the subsystem can work steadily and reliably, meeting the requirements of applications in the CSRH-I.

        CSRH-I; Data-receiving; BOOST

        中國(guó)科學(xué)院-國(guó)家自然科學(xué)基金委員會(huì)天文聯(lián)合基金重點(diǎn)項(xiàng)目 (U1231205);國(guó)家自然科學(xué)基金 (11103005);云南省應(yīng)用基礎(chǔ)基金重點(diǎn)項(xiàng)目 (2013FA013, 2013FA032) 資助.

        2014-04-08;修定日期:2014-04-30

        馬榮庭,男,碩士. 研究方向:計(jì)算機(jī)應(yīng)用. Email: ma_rt@foxmail.com

        鄧 輝,女,教授. 研究方向:科學(xué)數(shù)據(jù)處理. Email: denghui@cnlab.net

        TP311

        A

        1672-7673(2015)01-0063-07

        猜你喜歡
        接收機(jī)子系統(tǒng)觀測(cè)
        觀測(cè)到恒星死亡瞬間
        軍事文摘(2023年18期)2023-11-03 09:45:42
        不對(duì)中轉(zhuǎn)子系統(tǒng)耦合動(dòng)力學(xué)特性研究
        GSM-R基站子系統(tǒng)同步方案研究
        一種用于調(diào)幅接收機(jī)AGC的設(shè)計(jì)與實(shí)現(xiàn)
        一種面向ADS-B的RNSS/RDSS雙模接收機(jī)設(shè)計(jì)
        電子制作(2018年19期)2018-11-14 02:36:40
        駝峰測(cè)長(zhǎng)設(shè)備在線監(jiān)測(cè)子系統(tǒng)的設(shè)計(jì)與應(yīng)用
        天測(cè)與測(cè)地VLBI 測(cè)地站周?chē)匦斡^測(cè)遮掩的討論
        數(shù)字接收機(jī)故障維修與維護(hù)
        電子制作(2016年1期)2016-11-07 08:42:41
        基于多接收機(jī)的圓周SAR欺騙干擾方法
        可觀測(cè)宇宙
        太空探索(2016年7期)2016-07-10 12:10:15
        丁香五香天堂网| 一本之道久久一区二区三区| 成人免费无码大片a毛片抽搐色欲| 天堂8中文在线最新版在线| 久久福利青草精品资源| 亚洲图文一区二区三区四区 | 人妻久久久一区二区三区| 亚洲成a人片在线| 日韩精品国产一区二区| 精品久久久亚洲中文字幕| 偷拍韩国美女洗澡一区二区三区| 国产又猛又黄又爽| 天天躁日日躁狠狠躁人妻| 亚洲国产日韩在线精品频道| 亚洲国产一区二区网站| 国产精品扒开腿做爽爽爽视频| 99久久国语露脸精品国产| 福利片免费 亚洲| 日本久久精品视频免费| 久久久亚洲精品无码| 日本不卡视频免费的| 日本不卡的一区二区三区| 桃红色精品国产亚洲av| 男男受被攻做哭娇喘声视频| 丁香婷婷色| 91乱码亚洲精品中文字幕| 亚洲中文字幕无码不卡电影| 少妇人妻偷人精品无码视频| 亚洲AV无码未成人网站久久精品 | 色婷婷久久综合中文久久一本| 欲求不満の人妻松下纱荣子| 少妇人妻真实偷人精品视频| 国产强伦姧在线观看| 亚洲精品国产成人久久av| 激情航班h版在线观看| 最新精品国偷自产在线婷婷| 男生自撸视频在线观看| 97精品人人妻人人| 国产欧美日韩视频一区二区三区| 亚洲精品国产主播一区二区| 国产在线播放一区二区不卡|