李翠翠 馮和平 楊震 師遠(yuǎn)哲 楊亭
摘 ?要:通過(guò)對(duì)天氣雷達(dá)測(cè)試定標(biāo)自動(dòng)化系統(tǒng)功能進(jìn)行需求分析,明確了系統(tǒng)功能模塊和數(shù)據(jù)庫(kù)模型。該系統(tǒng)基于Django架構(gòu),采用Python語(yǔ)言、Bootatrap集成開(kāi)發(fā)包、ajax等技術(shù)方法,完成了系統(tǒng)各功能模塊的開(kāi)發(fā)。實(shí)現(xiàn)測(cè)試定標(biāo)數(shù)據(jù)的自動(dòng)化處理、存儲(chǔ),測(cè)試結(jié)果的異步顯示,雷達(dá)測(cè)試定標(biāo)人員可及時(shí)發(fā)現(xiàn)測(cè)試定標(biāo)數(shù)據(jù)異常問(wèn)題及時(shí)處理,提高了雷達(dá)測(cè)試定標(biāo)的工作效率;實(shí)現(xiàn)了元數(shù)據(jù)集、測(cè)試分析及測(cè)試報(bào)告的統(tǒng)一在線管理。
關(guān)鍵詞:Django架構(gòu) ?天氣雷達(dá) ?測(cè)試定標(biāo) ?自動(dòng)化
中圖分類號(hào):P412.25 ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2019)10(b)-0024-02
隨著科學(xué)技術(shù)水平發(fā)展,天氣雷達(dá)測(cè)試定標(biāo)將向自動(dòng)化、智能化的方向發(fā)展。目前,貴州天氣雷達(dá)的維護(hù)測(cè)試定標(biāo)及在建天氣雷達(dá)測(cè)試驗(yàn)收數(shù)據(jù)均通過(guò)人工進(jìn)行處理,形成紙質(zhì)材料保管,相對(duì)工作效率較低。為了進(jìn)一步提高天氣雷達(dá)監(jiān)測(cè)數(shù)據(jù)質(zhì)量;為了實(shí)現(xiàn)測(cè)試定標(biāo)數(shù)據(jù)處理的自動(dòng)化,快速將處理結(jié)果在頁(yè)面上進(jìn)行異步顯示,及時(shí)發(fā)現(xiàn)問(wèn)題解決問(wèn)題,提高工作效率;為了實(shí)現(xiàn)測(cè)試定標(biāo)數(shù)據(jù)的統(tǒng)一在線管理。因此,該文提出了天氣雷達(dá)測(cè)試定標(biāo)自動(dòng)化系統(tǒng)設(shè)計(jì)。
1 ?Django MTV架構(gòu)
Django MTV架構(gòu)包括mysql數(shù)據(jù)庫(kù)、model.py模型、static靜態(tài)文件夾、templates網(wǎng)頁(yè)模板、views.py視圖、urls.py派發(fā)網(wǎng)址、Apache服務(wù)器。用戶發(fā)送請(qǐng)求(request),請(qǐng)求先被送到Apache服務(wù)器分派工作,分配的工作在urls.py中完成,每次分派的工作都被設(shè)置成views.py中的函數(shù),完成數(shù)據(jù)處理等,再將結(jié)果在網(wǎng)頁(yè)上顯示[2]。
2 ?系統(tǒng)需求分析
根據(jù)天氣雷達(dá)測(cè)試定標(biāo)業(yè)務(wù)需求,系統(tǒng)的功能分為以下幾個(gè)部分。
(1)元數(shù)據(jù)集。用于天氣雷達(dá)元數(shù)據(jù)錄入、存儲(chǔ)、查詢、修改,為測(cè)試定標(biāo)提供準(zhǔn)確的元數(shù)據(jù),實(shí)現(xiàn)天氣雷達(dá)元數(shù)據(jù)集統(tǒng)一在線管理。
(2)測(cè)試定標(biāo)。該功能是該系統(tǒng)的核心,實(shí)現(xiàn)測(cè)試數(shù)據(jù)的錄入、存儲(chǔ)、自動(dòng)處理、異常提示等功能。
(3)性能分析。該功能主要包括測(cè)試分析報(bào)告提示、下載和打印功能。
(4)報(bào)告管理。該功能主要包括測(cè)試數(shù)據(jù)存在問(wèn)題提示和測(cè)試報(bào)告下載打印功能,實(shí)現(xiàn)測(cè)試報(bào)告的統(tǒng)一在線管理。
(5)用戶管理。用戶添加、刪除、修改等功能。
3 ?數(shù)據(jù)模型設(shè)計(jì)
Django框架自帶SQLite數(shù)據(jù)庫(kù),但是SQLite數(shù)據(jù)庫(kù)只是一個(gè)測(cè)試用的小型數(shù)據(jù)庫(kù),真正的網(wǎng)站中使用的數(shù)據(jù)庫(kù)還要以MySQL類的正是數(shù)據(jù)庫(kù)才行[2],因此在開(kāi)發(fā)環(huán)境中安裝了MySQL數(shù)據(jù)庫(kù)。
該系統(tǒng)用6張表來(lái)存放雷達(dá)測(cè)試定標(biāo)數(shù)據(jù)信息分別是:用戶信息表、元數(shù)據(jù)信息表、伺服系統(tǒng)信息表、發(fā)射系統(tǒng)信息表、接收系統(tǒng)信息表、系統(tǒng)指標(biāo)信息表。用戶信息表包括用戶編號(hào)(主鍵)、用戶名、密碼、權(quán)限;元數(shù)據(jù)信息表包括站名(主鍵)、站號(hào)、波長(zhǎng)、天線增益、發(fā)射功率、窄脈寬、寬脈寬、水平波束寬度、垂直波束寬度、收發(fā)支路總損耗等;伺服系統(tǒng)信息表包括報(bào)告編號(hào)(主鍵)、天線水平測(cè)量值、方位俯仰角測(cè)量值、雷達(dá)波束方位角俯仰角;發(fā)射系統(tǒng)信息表包括報(bào)告編號(hào)(主鍵)、窄脈沖包絡(luò)測(cè)量值、寬脈沖包絡(luò)測(cè)量值、峰值功率測(cè)量值、輸入輸出改善因子測(cè)量值;接收系統(tǒng)信息表包括報(bào)告編號(hào)(主鍵)、機(jī)內(nèi)外噪聲系數(shù)測(cè)量值、機(jī)外動(dòng)態(tài)測(cè)量輸入值、機(jī)外動(dòng)態(tài)終端顯示值、機(jī)內(nèi)動(dòng)態(tài)測(cè)量輸入值、機(jī)內(nèi)動(dòng)態(tài)終端顯示值;系統(tǒng)指標(biāo)信息表包括報(bào)告編號(hào)(主鍵)、相位噪聲值、地物對(duì)消值、機(jī)內(nèi)外回波強(qiáng)度測(cè)量值、徑向速度正負(fù)向測(cè)量值。
4 ?系統(tǒng)實(shí)現(xiàn)
4.1 開(kāi)發(fā)環(huán)境
系統(tǒng)采用Python3.7語(yǔ)言、Django 2.1、Bootatrap前端集成開(kāi)發(fā)包[3]、Apache服務(wù)器、mysql數(shù)據(jù)庫(kù)、Geany編輯器。
4.2 部分實(shí)現(xiàn)代碼
使用Geany創(chuàng)建一個(gè)Django工程,添加radar_tests,會(huì)產(chǎn)生一些settings.py、model.py、urls.py、views.py等文件,然后新建static和templates文件夾。settings.py是Django工程的配置文件,配置內(nèi)容包括項(xiàng)目的添加、數(shù)據(jù)庫(kù)及靜態(tài)文件的等,model.py用于創(chuàng)建數(shù)據(jù)庫(kù)表,urls.py用于創(chuàng)建網(wǎng)址,views.py用于編寫處理數(shù)據(jù)的相關(guān)函數(shù),static靜態(tài)文件夾用于存放圖像、樣式、java腳本等文件,templates文件夾用于存放.html文件。
4.2.1 model.py文件部分代碼
from django.db import models
class ydata(models.Model): ? #元數(shù)據(jù)信息表
z_n=models.CharField(max_length=20) ?#站名 ?主鍵
z_h=models.CharField(max_length=20) ?#站號(hào)
bc=models.CharField(max_length=20) ? #波長(zhǎng)
txzy=models.CharField(max_length=20) ?#天線增益
…
#def_unicode_(self):
#return self.message
4.2.2 urls.py文件部分代碼
from django.template.loader import get_template
from django.contrib.staticfiles.views import serve
urlpatterns = [
path('ydata_lr/',views.ydata_lr,name='ydata_lr'), ?#元數(shù)據(jù)錄入頁(yè)
path('ydata_gz/',views.ydata_gz,name='ydata_gz'), ?#元數(shù)據(jù)修改頁(yè)
path('csdb_txsp/',views.csdb_txsp,name='csdb_txsp'), #天線水平測(cè)試頁(yè)
…
]
5 ?結(jié)語(yǔ)
天氣雷達(dá)測(cè)試定標(biāo)自動(dòng)化系統(tǒng)采用B/S架構(gòu)進(jìn)行開(kāi)發(fā),界面友好,功能齊全,運(yùn)行穩(wěn)定可靠,方便用戶使用;該系統(tǒng)可錄入、存儲(chǔ)、查詢、修改元數(shù)據(jù),實(shí)現(xiàn)了元數(shù)據(jù)的統(tǒng)一管理;可錄入、存儲(chǔ)測(cè)試定標(biāo)數(shù)據(jù),并自動(dòng)對(duì)測(cè)試定標(biāo)數(shù)據(jù)進(jìn)行處理,及時(shí)發(fā)現(xiàn)測(cè)試數(shù)據(jù)不達(dá)標(biāo)問(wèn)題,在頁(yè)面上進(jìn)行異步顯示,提高了雷達(dá)測(cè)試定標(biāo)的工作效率;可自動(dòng)形成雷達(dá)性能分析評(píng)估報(bào)告及測(cè)試報(bào)告,實(shí)現(xiàn)了測(cè)試定標(biāo)的在線統(tǒng)一管理;實(shí)現(xiàn)了天氣雷達(dá)測(cè)試定標(biāo)工作的自動(dòng)化。
參考文獻(xiàn)
[1] 宋玉紅,孫宏宇.新一代天氣雷達(dá)測(cè)試及定標(biāo)數(shù)據(jù)處理系統(tǒng)[J].內(nèi)蒙古民族大學(xué)學(xué)報(bào),2011,17(5):30-31.
[2] 埃里克·馬瑟斯,著.Python編程從入門到實(shí)踐[M].袁國(guó)忠,譯.北京:人民郵電出版社,2016.
[3] 未來(lái)科技.Bootstrap實(shí)戰(zhàn)從入門到精通[M].北京:中國(guó)水利水電出版社,2017.
[4] 李翠翠,馮和平,楊亭.地溫傳感器檢定數(shù)據(jù)遠(yuǎn)程智能批量處理的實(shí)現(xiàn)及應(yīng)用[J].氣象水文海洋儀器,2017,34(4):51-55.