左湘文++胡斌++陳小軍++康鶴
摘 要: 隨著我國氣象技術裝備的快速發(fā)展,投入業(yè)務使用的大氣探測裝備數(shù)量和種類越來越豐富,自動化程度越來越高,對氣象裝備信息的高效管理也提出了更高的要求。氣象裝備信息數(shù)據(jù)庫的建立實現(xiàn)了氣象裝備信息的數(shù)字化、自動化管理。該文介紹和分析了氣象裝備信息數(shù)據(jù)庫的設計思路和技術路線,并詳細地闡述了氣象裝備信息數(shù)據(jù)庫實現(xiàn)的關鍵技術。
關鍵詞:氣象裝備信息 數(shù)據(jù)庫 關鍵技術分析
中圖分類號:TP31 文獻標識碼:A 文章編號:1672-3791(2016)12(c)-0004-02
寧夏氣象裝備供應、檢定管理、備件管理還停留利用紙質(zhì)管理為主的階段,盡管以前陸續(xù)開發(fā)和引進了一些相關數(shù)據(jù)庫管理系統(tǒng),但應用效果不是很好,沒有形成統(tǒng)一的管理模式,不能對服役儀器、檢定設備、標準器具等氣象儀器的使用情況進行有效管理并對全區(qū)氣象器材及設備物資的采購、供應和管理進行跟蹤,全區(qū)氣象儀器及設備的科學化管理水平不高,管理方式較為落后,管理人員工作量大,查詢檢索起來非常困難。更主要的是無法對各氣象臺站的裝備進行跟蹤管理,致使有的儀器、裝備超期服役發(fā)生。這種情況將直接影響氣象觀測質(zhì)量。為了解決存在的問題,實現(xiàn)對全區(qū)儀器裝備的分布情況、使用狀態(tài)、歷史沿革檔案、計量檢定、運行狀況、維修經(jīng)驗、物流態(tài)勢、備份儀器等內(nèi)容進行自動化管理,開發(fā)適于氣象裝備管理業(yè)務需要的氣象裝備信息數(shù)據(jù)庫管理系統(tǒng)是十分必要和勢在必行的。
1 系統(tǒng)設計和技術路線
各類氣象裝備的分類標準和信息規(guī)范化方案:是氣象裝備信息數(shù)據(jù)庫建設的關鍵,在查閱國家氣象局有關氣象裝備的分類標準的基礎上,邀請各方面的專家組成技術小組,根據(jù)國家氣象局的分類標準和實際應用分類方法,確立統(tǒng)一的氣象裝備分類標準和信息規(guī)范化方案。
氣象裝備信息數(shù)據(jù)庫設計:通過征求氣象裝備管理人員、氣象站觀測員等多方面的意見,在用戶應用需求分析的基礎上,以大型數(shù)據(jù)庫系統(tǒng)MS SQL Server為底層數(shù)據(jù)庫管理系統(tǒng)和存儲模式,建立標準統(tǒng)一、規(guī)范、信息完整的氣象裝備信息數(shù)據(jù)庫。要實現(xiàn)MS SQL Server管理數(shù)據(jù)庫的運行和控制(包括數(shù)據(jù)安全控制、數(shù)據(jù)完整性控制、多用戶環(huán)境的并發(fā)控制等)、用戶管理(用戶定義、訪問權限定義等)和數(shù)據(jù)通信,氣象裝備信息數(shù)據(jù)庫管理系統(tǒng)則負責數(shù)據(jù)庫的操縱(數(shù)庫數(shù)據(jù)的查詢、插入、更新和刪除等操作)、數(shù)據(jù)庫維護(包括數(shù)據(jù)庫的載入、轉(zhuǎn)儲、恢復和數(shù)據(jù)字典的維護等)和數(shù)據(jù)庫的定義。
建立氣象裝備信息數(shù)據(jù)庫管理系統(tǒng):采用原型化開發(fā)方案,在ASP.NET平臺下,利用腳本語言開發(fā)數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的查詢、編輯等基本操縱功能及氣象信息主干網(wǎng)中氣象裝備信息數(shù)據(jù)的自動收集和數(shù)據(jù)庫自動更新功能,數(shù)據(jù)庫數(shù)據(jù)的載入、轉(zhuǎn)儲、恢復和數(shù)據(jù)字典的維護功能等。采用SQL Server建立與氣象裝備信息數(shù)據(jù)庫的連接,保持管理系統(tǒng)與數(shù)據(jù)庫之間的獨立性。
2 關鍵技術分析
2.1 數(shù)據(jù)庫多表查詢
系統(tǒng)在對數(shù)據(jù)庫操作時會存在許多需要多表查詢的情況,如在出入庫單查詢中就涉及到出入庫單的信息表要和出入庫明細表聯(lián)合顯示的問題,查詢的方法有很多,在這里選用了內(nèi)聯(lián)查詢法和外聯(lián)查詢法,連接查詢在數(shù)據(jù)量不多的情況下(測試10萬行數(shù)據(jù)一下)效率要比子查詢高得多。聯(lián)系該次開發(fā)數(shù)據(jù)量比較小的實際情況,選用聯(lián)接查詢方法。
下面是實現(xiàn)將存有備件相關信息的多個表連接顯示的代碼(VB語言):
Sub bindgrid(ByVal a As Integer)
‘綁定數(shù)據(jù)庫
Cnn = New SqlConnection("server=localhost;uid=sa;pwd=sa;database=infortae")
Cnn.Open()
‘根據(jù)變量a的取值來選擇要執(zhí)行的SQL語句
Select Case a
Case 1
sql = "select equipnar.E_ID, equipnar.E_ID,equipnar.E_stor,equipnar.E_outn,equipnar.E_buti,equipnar.E_prti,station.name,atteqip.eqan,equipnar.E_mafa,equipnar.E_mode,equipnar.E_tsur from "
sql += "equipnar inner join atteqip on left(equipnar.E_ID,9) = atteqip.codi inner join station on station.id=equipnar.E_stor where left(equipnar.E_ID,9)='" & Trim(DropDownList1.SelectedValue) & "' and equipnar.E_stor='" & str3 & "' and equipnar.E_cond='1'"
End Select
cmd = New SqlCommand(sql, Cnn)
dap = New SqlDataAdapter(cmd)
dat = New DataSet
dap.Fill(dat, "mytable")
‘綁定數(shù)據(jù)
DataGrid1.DataSource = dat.Tables("mytable")
DataGrid1.DataBind()
Cnn.Close()
‘formatstring()是格式化方法,用來格式化DataGrid1顯示的數(shù)據(jù)
formatstring()
End Sub
2.2 圖片的存儲
在臺站信息存儲中需要存儲每一個臺站的圖片,因為需要存儲的圖片不多,所以考慮將圖片轉(zhuǎn)換為二進制流存入數(shù)據(jù)庫,但是經(jīng)過試驗,發(fā)現(xiàn)即使圖片較少,數(shù)據(jù)庫信息量還是非常大。最后筆者改變了存儲方法,將上傳的圖片重命名后存入指定的文件夾中,把文件的文件名存入數(shù)據(jù)庫,在提取圖片時,根據(jù)數(shù)據(jù)庫中該圖片的信息,然后在指定文件夾內(nèi)檢索,就可得到所需要的圖片,實現(xiàn)代碼如下:
(C#語言)
public class addimg
{
String theid;
FileUpload Fimg;
Image Fpop;
//構造函數(shù)
public addimg(FileUpload FU)
{
Fimg=FU;
}
public addimg(Image IM)
{
Fpop = IM;
}
public String thisid
{
set { theid = value;}
}
//將圖片存入服務器指定文件夾
public Boolean saveimg(string num)
{
Boolean i = false;
if (theid == "")
{
i = false;
}
else
{
string filepath = Fimg.PostedFile.FileName;
//按順序自動生成圖片文件名
string fileex = filepath.Substring(filepath.LastIndexOf(".") + 1).Trim();
string filename = theid + num + "." + "jpg";
string savepath = System.Web.HttpContext.Current.Server.MapPath("../Images/") + filename;
if (fileex == "bmp" || fileex == "jpg" || fileex == "gif" || fileex == "JPGE")
{
Fimg.PostedFile.SaveAs(savepath);
i = true;
}
}
return i;
}
2.3 用DataGrid實現(xiàn)信息的插入
在出入庫單的制作中涉及到添加整條數(shù)據(jù)信息的操作,經(jīng)過思考和分析,筆者決定在指定操作信息的DataTable中添加一個空行,然后與DataGrid空間綁定,將信息插入該行后再將DataTable中的所有信息更新到數(shù)據(jù)庫中。
3 結(jié)語
氣象裝備信息數(shù)據(jù)庫建成后,已運行1年。運行穩(wěn)定可靠。使氣象裝備信息達到了統(tǒng)一的規(guī)范,實現(xiàn)了各種設備的庫存及供應情況、維修保障情況、業(yè)務運行情況等統(tǒng)一建庫,進行自動化、科學化的管理。有效改善了工作效率,降低管理人員的勞動強度,提高裝備信息管理效率。
參考文獻
[1] 韓笑.一種第地市級氣象數(shù)據(jù)庫的設計與應用[J].氣象科技,2015,43(6):1053-1059.
[2] 張潔.信息管理中數(shù)據(jù)庫技術應用分析[J].電腦知識與技術,2016,12(22):13-14.
[3] 曹文勤.電網(wǎng)環(huán)境監(jiān)測數(shù)據(jù)庫系統(tǒng)的設計與應用[J].科技資訊,2015(4):4-6,8.