国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MICAPS數(shù)據(jù)文件存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2015-10-21 18:06盧紹宗魯玲
安徽農(nóng)業(yè)科學(xué) 2015年31期
關(guān)鍵詞:存儲(chǔ)數(shù)據(jù)文件

盧紹宗 魯玲

摘要按照氣象臺(tái)站存儲(chǔ)管理MICAPS數(shù)據(jù)文件、構(gòu)建本地氣象數(shù)據(jù)中心、促進(jìn)氣象業(yè)務(wù)發(fā)展的要求,基于模塊化設(shè)計(jì)原理,設(shè)計(jì)了一種MICAPS數(shù)據(jù)文件存儲(chǔ)系統(tǒng)。系統(tǒng)應(yīng)用面向?qū)ο蠹夹g(shù)、線程技術(shù)、.NET框架等編程實(shí)現(xiàn)MICAPS數(shù)據(jù)文件的自動(dòng)化存儲(chǔ),對(duì)資料進(jìn)行逐日壓縮備份。系統(tǒng)包括自動(dòng)壓縮備份模塊和手動(dòng)壓縮備份模塊,在自定義類(lèi)中調(diào)用WinRAR,然后在主程序中調(diào)用該類(lèi)將MICAPS數(shù)據(jù)文件壓縮為RAR文件,既節(jié)省服務(wù)器存儲(chǔ)空間,又方便日后使用和管理。系統(tǒng)采用C#編程實(shí)現(xiàn),在用戶層面和結(jié)構(gòu)層面都有良好的表現(xiàn)。

關(guān)鍵詞MICAPS;數(shù)據(jù)文件;存儲(chǔ);壓縮備份

中圖分類(lèi)號(hào)S126文獻(xiàn)標(biāo)識(shí)碼A文章編號(hào)0517-6611(2015)31-362-03

Design and Implementation on Storage System of MICAPS Data Files

LU Shaozong, LU Ling(Beihai Meteorological Bureau, Beihai, Guangxi 536000)

AbstractBased on the requirements for storage management of MICAPS data files, construction of local meteorological data center and promoting development of meteorological business, according to the modular design principles, a storage system of MICAPS data files is designed, the system takes advantage of objectoriented programming, threading technology and .NET Framework to achieve the automatic storage of MICAPS data files. The system can compress and backup files daily, including automatic and manual compress and backup modules, the system is devised to call WinRAR in selfdefining class. The main program then call the class to compress MICAPS data files to RAR files. This can save disk space of the server. It is convenient for using and managing the files in the future. The system is implemented by C# programming language and proved to be good in the levels of user and structure.

Key wordsMICAPS; Data files; Storage; Compress and backup

隨著氣象現(xiàn)代化事業(yè)的發(fā)展,對(duì)氣象業(yè)務(wù)信息化也提出了新的要求,構(gòu)建本地氣象數(shù)據(jù)中心是一項(xiàng)重要的工作,可進(jìn)一步實(shí)現(xiàn)氣象資料自動(dòng)化存儲(chǔ)和數(shù)據(jù)共享,提高氣象業(yè)務(wù)數(shù)據(jù)的利用率,促進(jìn)業(yè)務(wù)發(fā)展。

MICAPS系統(tǒng)是氣象臺(tái)站中短期天氣預(yù)報(bào)業(yè)務(wù)的主要工作平臺(tái)[1]。目前中國(guó)氣象局新一代衛(wèi)星廣播系統(tǒng)CMACast大幅增加了氣象資料廣播的種類(lèi)和數(shù)量,地市級(jí)氣象臺(tái)每日接收的衛(wèi)星廣播數(shù)據(jù)超過(guò)200 G,生成的MICAPS產(chǎn)品數(shù)據(jù)文件超過(guò)20 G。由于本地MICAPS服務(wù)器存儲(chǔ)空間有限,需要定時(shí)刪除數(shù)據(jù)文件以保證系統(tǒng)的正常運(yùn)行。在專(zhuān)用服務(wù)器上及時(shí)備份MICAPS產(chǎn)品數(shù)據(jù)文件,保證資料的完整,積累氣象檔案,構(gòu)建本地業(yè)務(wù)數(shù)據(jù)應(yīng)用環(huán)境,是提高天氣預(yù)報(bào)準(zhǔn)確率、增強(qiáng)氣象臺(tái)站業(yè)務(wù)、科技服務(wù)和科研能力的基礎(chǔ),對(duì)提高工作效率也有很大幫助[2]。為實(shí)現(xiàn)MICAPS產(chǎn)品數(shù)據(jù)文件自動(dòng)化存儲(chǔ)模式并保障數(shù)據(jù)安全,筆者設(shè)計(jì)了一種MICAPS數(shù)據(jù)文件存儲(chǔ)系統(tǒng),應(yīng)用面向?qū)ο缶幊碳夹g(shù)、線程技術(shù)、.NET框架等實(shí)現(xiàn)MICAPS服務(wù)器產(chǎn)品數(shù)據(jù)文件在另一臺(tái)專(zhuān)用服務(wù)器上的自動(dòng)化存儲(chǔ),逐日定時(shí)分類(lèi)壓縮過(guò)去24小時(shí)的MICAPS產(chǎn)品數(shù)據(jù)文件。該存儲(chǔ)專(zhuān)用服務(wù)器上的壓縮文件可以通過(guò)網(wǎng)絡(luò)共享或FTP下載的方式實(shí)現(xiàn)對(duì)氣象業(yè)務(wù)及科研工作的支持。

1系統(tǒng)設(shè)計(jì)

1.1系統(tǒng)功能設(shè)計(jì)對(duì)系統(tǒng)功能進(jìn)行設(shè)計(jì)時(shí)按照“高內(nèi)聚、低耦合”的原則,采用模塊化設(shè)計(jì),將系統(tǒng)劃分為2個(gè)功能模塊,即自動(dòng)壓縮備份MICAPS數(shù)據(jù)文件模塊和手動(dòng)壓縮備份MICAPS數(shù)據(jù)文件模塊。使用WinRAR創(chuàng)建RAR格式的壓縮文件能提供較好的壓縮率,并允許物理受損的數(shù)據(jù)的恢復(fù)。RAR格式能鎖定重要的壓縮文件,防止意外更改。此外,RAR格式可以管理的文件大小幾乎是無(wú)限制的。因此,系統(tǒng)采用WinRAR軟件壓縮保存MICAPS產(chǎn)品數(shù)據(jù)文件,便于日后對(duì)文件的管理和維護(hù)。

正常情況下,系統(tǒng)在每天設(shè)定的時(shí)間分別對(duì)前24 h的8個(gè)MICAPS產(chǎn)品數(shù)據(jù)目錄surface、high、physic、fy2、japan 、japan_thin、ecmwf、ecmwf_thin下的文件進(jìn)行自動(dòng)壓縮備份,生成8個(gè)RAR文件。當(dāng)自動(dòng)備份失敗時(shí),可以運(yùn)行手動(dòng)備份程序完成相關(guān)目錄文件的備份。

自動(dòng)壓縮備份MICAPS數(shù)據(jù)文件模塊工作流程見(jiàn)圖1。

1.2系統(tǒng)配置在存儲(chǔ)專(zhuān)用服務(wù)器上安裝運(yùn)行MICAPS數(shù)據(jù)文件存儲(chǔ)系統(tǒng)軟件。該服務(wù)器型號(hào)為DELL PowerEdge R730,磁盤(pán)陣列級(jí)別設(shè)為RAID5,安裝Windows Server 2008,存儲(chǔ)空間約為5.4 TB,使用NTFS磁盤(pán)格式并選擇壓縮驅(qū)動(dòng)器以節(jié)約磁盤(pán)空間。該服務(wù)器與本地MICAPS服務(wù)器位于同一個(gè)局域網(wǎng)內(nèi)。

2系統(tǒng)實(shí)現(xiàn)

系統(tǒng)開(kāi)發(fā)平臺(tái)選擇Visual Studio 2010集成開(kāi)發(fā)環(huán)境,在.NET框架下,使用面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言C#進(jìn)行開(kāi)發(fā)。

2.1自動(dòng)壓縮備份MICAPS數(shù)據(jù)文件模塊自動(dòng)壓縮備份MICAPS數(shù)據(jù)文件模塊基于定時(shí)器觸發(fā)運(yùn)行。在存儲(chǔ)專(zhuān)用服務(wù)器上將本地MICAPS服務(wù)器產(chǎn)品數(shù)據(jù)目錄映射為“X:\”,在系統(tǒng)中將待備份文件目錄設(shè)置為“X:\”。在該模塊中設(shè)計(jì)有2個(gè)類(lèi),分別完成2個(gè)功能。Syslog類(lèi)實(shí)現(xiàn)寫(xiě)日志功能,CWinRAR類(lèi)實(shí)現(xiàn)文件壓縮備份功能。在模塊中聲明3個(gè)全局變量format1、zippath1和myThread。將字符型變量format1初始化為“yyyyMMdd”,用于表示日期格式。zippath1是一個(gè)int類(lèi)型的一維數(shù)組,該數(shù)組中包含8個(gè)元素,初始化其中的元素值分別為surface、high、physic、fy2、japan 、japan_thin、ecmwf、ecmwf_thin,代表需要壓縮的文件夾名稱(chēng)。myThread是程序中將要?jiǎng)?chuàng)建的線程。

在模塊中添加timer控件并定義為timer1,用于定期引發(fā)事件。將timer1的Interval屬性設(shè)置為86 400 000 ms。定義方法SetTimer1() ,在該方法中設(shè)置每天12:00定時(shí)執(zhí)行壓縮備份操作。此外,模塊還定義了RunFileBak()方法,該方法實(shí)例化CWinRAR類(lèi)的一個(gè)對(duì)象,并使用該對(duì)象名調(diào)用RAR方法,實(shí)現(xiàn)文件自動(dòng)壓縮備份并在文本框中給出相應(yīng)的運(yùn)行信息,說(shuō)明系統(tǒng)當(dāng)前的運(yùn)行情況。因?yàn)槌绦驁?zhí)行打包壓縮操作比較費(fèi)時(shí)間,會(huì)導(dǎo)致用戶界面長(zhǎng)時(shí)間處于停滯狀態(tài),因此在模塊中創(chuàng)建一個(gè)線程去執(zhí)行壓縮操作,避免出現(xiàn)用戶界面停滯的情況。

正常情況下,文件壓縮完成后,在當(dāng)天的備份目錄下將生成surface_yyyyMMdd.RAR、high_yyyyMMdd.RAR、physic_yyyyMMdd.RAR等8個(gè)文件(“yyyyMMdd”表示當(dāng)天的年月日格式)。

完成寫(xiě)日志功能的Syslog類(lèi)的關(guān)鍵代碼如下:

public static void Add_log(string LogInfo)

{

StreamWriter sw = File.AppendText(@"e:/log/SysLog_cf.log");

sw.WriteLine(DateTime.Now.ToString() + ": " + LogInfo);

sw.Close();

}

完成文件壓縮備份功能的CWinRAR類(lèi)需要引用Microsoft.Win32命名空間,該命名空間提供了2個(gè)用于注冊(cè)表操作的類(lèi),即Registry類(lèi)和RegistryKey類(lèi)。在程序設(shè)計(jì)中,通過(guò)Registry類(lèi)找到注冊(cè)表中指定的主鍵,再通過(guò)RegistryKey類(lèi)打開(kāi)指定的子鍵并獲取該子鍵的鍵值[3]。CWinRAR類(lèi)的關(guān)鍵代碼如下:

public bool RAR(string path, string rarPath, string rarName)

{

bool flag = false;

string rarexe;

RegistryKey regkey;

Object regvalue;

string cmd;

ProcessStartInfo startinfo;

Process process;

try

{

regkey = Registry.ClassesRoot.OpenSubKey(WinRAR_KEY);

regvalue = regkey.GetValue("");

rarexe = regvalue.ToString();

regkey.Close();

rarexe = rarexe.Substring(1, rarexe.Length - 7);

Directory.CreateDirectory(path);

cmd = string.Format("a {0} {1} –r –ibck –tn24",

rarName,

path); //在后臺(tái)壓縮過(guò)去24小時(shí)的文件(含子目錄下的文件)

startinfo = new ProcessStartInfo();

startinfo.FileName = rarexe;

startinfo.Arguments = cmd;

startinfo.WindowStyle = ProcessWindowStyle.Hidden;

startinfo.WorkingDirectory = rarPath;

process = new Process();

process.StartInfo = startinfo;

process.Start();

process.WaitForExit();

if (process.HasExited)

{

flag = true;

}

process.Close();

}

catch (Exception e)

{

throw e;

}

return flag;

猜你喜歡
存儲(chǔ)數(shù)據(jù)文件
基于表空間和數(shù)據(jù)文件探討MIS中數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)
數(shù)據(jù)文件恢復(fù)專(zhuān)題問(wèn)答
數(shù)據(jù)文件安全管控技術(shù)的研究與實(shí)現(xiàn)
SQL數(shù)據(jù)文件恢復(fù)工具
檔案管理中電子文件的存儲(chǔ)探究
Tekla Structure數(shù)據(jù)文件交互格式分析
定结县| 饶河县| 武夷山市| 浠水县| 安溪县| 丰台区| 鄂州市| 石柱| 龙口市| 阿坝| 繁昌县| 班戈县| 阳泉市| 射阳县| 宝清县| 鱼台县| 红原县| 遂溪县| 梁山县| 城步| 宜章县| 德兴市| 北海市| 白城市| 海淀区| 开阳县| 海伦市| 贵定县| 塔河县| 纳雍县| 永清县| 保康县| 佛学| 漠河县| 苏州市| 兖州市| 大足县| 东莞市| 封丘县| 浙江省| 鄂温|