顧文靜 趙春燕 李 娟
(國(guó)家氣象信息中心高性能計(jì)算室 北京 100081)
基于SpringMVC的高性能計(jì)算機(jī)監(jiān)視管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
顧文靜 趙春燕 李 娟
(國(guó)家氣象信息中心高性能計(jì)算室 北京 100081)
高性能計(jì)算機(jī)系統(tǒng)(HPC)是氣象業(yè)務(wù)及科研應(yīng)用的重要基礎(chǔ)平臺(tái)[1]。為改變氣象系統(tǒng)內(nèi)部監(jiān)視平臺(tái)分散的現(xiàn)狀,規(guī)范故障處理流程,保障系統(tǒng)穩(wěn)定運(yùn)行,國(guó)家氣象信息中心對(duì)國(guó)家局和區(qū)域中心9套高性能計(jì)算機(jī)系統(tǒng)建立統(tǒng)一監(jiān)視管理,提供一個(gè)能實(shí)時(shí)監(jiān)視、故障流程化處理、性能分析、日志記錄及統(tǒng)計(jì)查詢(xún)的共享平臺(tái)。監(jiān)視管理系統(tǒng)采用Spring MVC框架技術(shù),結(jié)合MVC設(shè)計(jì)模式和分層架構(gòu)思想對(duì)系統(tǒng)的體系結(jié)構(gòu)進(jìn)行設(shè)計(jì),達(dá)到了高內(nèi)聚低耦合的目標(biāo),提高了項(xiàng)目的擴(kuò)展性和開(kāi)發(fā)效率。2016年8月監(jiān)視管理系統(tǒng)業(yè)務(wù)運(yùn)行,涵蓋監(jiān)視、管理、配置等核心服務(wù)項(xiàng)目,對(duì)氣象業(yè)務(wù)和科研起到了有效的保障作用。
高性能計(jì)算機(jī)系統(tǒng) 監(jiān)視管理 Spring MVC Ajax
高性能計(jì)算機(jī)系統(tǒng)是天氣、氣候、地球環(huán)境數(shù)值模擬業(yè)務(wù)和相關(guān)科學(xué)研究所必須的基礎(chǔ)平臺(tái)[1],為滿(mǎn)足業(yè)務(wù)和科研需求,IBM Flex P460系統(tǒng)于2013年在中國(guó)氣象局安裝并投入使用。該系統(tǒng)包括國(guó)家級(jí)二套子系統(tǒng)及分布在區(qū)域中心的七套子系統(tǒng),總體峰值性能達(dá)到1.7 PFlops,數(shù)據(jù)存儲(chǔ)量4.2 TB,目前僅國(guó)家局兩套子系統(tǒng)計(jì)算集群包括1 120個(gè)節(jié)點(diǎn),37 120個(gè)CPU核;存儲(chǔ)集群主要由80個(gè)IO節(jié)點(diǎn)和40個(gè)DSC3700組成,共計(jì)2 400塊900 GB硬盤(pán), 系統(tǒng)內(nèi)部采用Infiniband網(wǎng)絡(luò)互連,通過(guò)4臺(tái)核心交換機(jī)及大量邊緣交換機(jī)構(gòu)成高速數(shù)據(jù)網(wǎng)絡(luò)。近期還將引進(jìn)一套更大規(guī)模的高性能計(jì)算機(jī)系統(tǒng)。
高性能計(jì)算機(jī)系統(tǒng)為局內(nèi)各單位及部分省、市氣象局提供科學(xué)計(jì)算環(huán)境、數(shù)據(jù)環(huán)境,支持各類(lèi)氣象、氣候業(yè)務(wù)/準(zhǔn)業(yè)務(wù)及相關(guān)科研工作,它是氣象、氣候模式實(shí)時(shí)業(yè)務(wù)平臺(tái)、國(guó)內(nèi)外的資料傳輸及處理平臺(tái)、存儲(chǔ)平臺(tái)[2]。系統(tǒng)運(yùn)行至今,用戶(hù)總數(shù)超過(guò)600人,每天有近6萬(wàn)個(gè)作業(yè)運(yùn)行,如何保證系統(tǒng)穩(wěn)定運(yùn)行成為一個(gè)重要問(wèn)題。
監(jiān)視管理系統(tǒng)需實(shí)時(shí)采集國(guó)家局和區(qū)域中心的多套高性能計(jì)算機(jī)系統(tǒng)的運(yùn)行狀態(tài)、性能指標(biāo)等監(jiān)視信息,通過(guò)監(jiān)視數(shù)據(jù)管理模塊處理后,提供簡(jiǎn)明、直觀的展示界面。由于監(jiān)視項(xiàng)繁多,需對(duì)監(jiān)視項(xiàng)精確分類(lèi),根據(jù)故障等級(jí)不同設(shè)計(jì)報(bào)警或預(yù)警功能,對(duì)于不同的告警信息提供報(bào)警標(biāo)識(shí)、錯(cuò)誤信息提示、聲音和短信報(bào)警。為方便故障交接處理和重大故障協(xié)同處理,該系統(tǒng)從故障的發(fā)生、指派、處理、恢復(fù)設(shè)計(jì)一套規(guī)范的流程。對(duì)于相同監(jiān)視項(xiàng)多節(jié)點(diǎn)報(bào)警情況,設(shè)計(jì)分級(jí)處理機(jī)制,清晰展示每個(gè)節(jié)點(diǎn)的故障情況。
同時(shí),監(jiān)視管理系統(tǒng)提供在線統(tǒng)計(jì)分析的功能,根據(jù)查詢(xún)條件設(shè)置統(tǒng)計(jì)歷史時(shí)間段的各類(lèi)故障數(shù)據(jù),并以圖形或表格的形式形象直觀展示。
監(jiān)視管理系統(tǒng)由監(jiān)視信息采集處理模塊、監(jiān)視數(shù)據(jù)管理模塊、監(jiān)視信息展示及報(bào)警模塊、配置管理模塊組成,各模塊功能結(jié)構(gòu)及模塊劃分如圖1所示。監(jiān)視管理系統(tǒng)是“氣候變化應(yīng)對(duì)決策支撐系統(tǒng)工程”的子系統(tǒng)之一,用戶(hù)管理部分單獨(dú)建設(shè),因此用戶(hù)注冊(cè)、登錄和修改信息等功能本文不作贅述。

圖1 系統(tǒng)模塊結(jié)構(gòu)圖
監(jiān)視管理系統(tǒng)基于B/S架構(gòu)設(shè)計(jì)多層框架模型,框架如圖2所示。“四個(gè)層次”分別為基礎(chǔ)設(shè)施層、數(shù)據(jù)資源層、應(yīng)用層和表現(xiàn)層,從而保證基礎(chǔ)環(huán)境的穩(wěn)定可靠、數(shù)據(jù)資源的集中管理、應(yīng)用系統(tǒng)的快速開(kāi)發(fā)、應(yīng)用系統(tǒng)的集成統(tǒng)一。

圖2 系統(tǒng)總體框架圖
(1) 基礎(chǔ)設(shè)施層
通過(guò)對(duì)硬件設(shè)備、基礎(chǔ)系統(tǒng)軟件的集成,為本系統(tǒng)提供統(tǒng)一、穩(wěn)定的運(yùn)行環(huán)境。基礎(chǔ)運(yùn)行環(huán)境包括機(jī)房環(huán)境、網(wǎng)絡(luò)交換機(jī)、I/O設(shè)備、服務(wù)器、存儲(chǔ)設(shè)備、高性能計(jì)算機(jī)、操作系統(tǒng)、gpfs文件系統(tǒng)、xCAT、J2EE應(yīng)用中間件等組件。
(2) 數(shù)據(jù)層
通過(guò)對(duì)數(shù)據(jù)資源的統(tǒng)一規(guī)劃,實(shí)現(xiàn)資源的集中存儲(chǔ)、數(shù)據(jù)共享。數(shù)據(jù)資源層存儲(chǔ)本系統(tǒng)產(chǎn)生的結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),主要包括數(shù)據(jù)采集的狀態(tài)數(shù)據(jù)和性能數(shù)據(jù)、配置數(shù)據(jù)、角色數(shù)據(jù)、日志數(shù)據(jù)。
(3) 應(yīng)用層
包含系統(tǒng)的四大模塊,其中監(jiān)視信息采集處理模塊包括運(yùn)行狀態(tài)信息采集、系統(tǒng)性能信息采集、監(jiān)視信息預(yù)處理。監(jiān)視數(shù)據(jù)管理模塊包括監(jiān)視數(shù)據(jù)解析入庫(kù)、監(jiān)視信息存儲(chǔ)管理。監(jiān)視信息展示及報(bào)警模塊包括監(jiān)視信息展示、故障報(bào)警、故障日志統(tǒng)計(jì)查詢(xún)。配置管理模塊包括用戶(hù)權(quán)限配置、采集任務(wù)配置、監(jiān)視項(xiàng)配置和處理流程配置。
(4) 表現(xiàn)層
系統(tǒng)主要通過(guò)Web頁(yè)面以及相關(guān)的桌面程序?yàn)橛脩?hù)提供服務(wù)。優(yōu)良合理的頁(yè)面布局和人性化的操作方式,清晰地展現(xiàn)用戶(hù)所關(guān)心的信息。
在高性能計(jì)算機(jī)系統(tǒng)管理節(jié)點(diǎn)上建立監(jiān)視信息采集處理模塊,按照策略定時(shí)采集各節(jié)點(diǎn)硬件狀態(tài)(CPU、內(nèi)存、文件系統(tǒng)、內(nèi)置盤(pán)、IB端口等)、軟件狀態(tài)(作業(yè)管理進(jìn)程、文件系統(tǒng)進(jìn)程、重要的服務(wù)進(jìn)程)、IB網(wǎng)絡(luò)、磁盤(pán)陣列等系統(tǒng)運(yùn)行信息和各節(jié)點(diǎn)CPU、內(nèi)存使用率、作業(yè)運(yùn)行情況、節(jié)點(diǎn)負(fù)載情況等性能指標(biāo)。考慮到數(shù)據(jù)解析處理對(duì)采集系統(tǒng)的性能影響,通過(guò)FTP方式將采集到日志文件發(fā)送到指定日志解析服務(wù)器,在日志解析服務(wù)器上進(jìn)行統(tǒng)一格式編碼、數(shù)據(jù)驗(yàn)證、日志解析等處理,流程如圖3所示。

圖3 日志處理流程圖
日志解析結(jié)合Spring和Quartz運(yùn)行定時(shí)任務(wù),根據(jù)采集到的日志信息編寫(xiě)解析方法,完成日志解析入庫(kù)。首先在后臺(tái)配置監(jiān)視項(xiàng),如高性能計(jì)算機(jī)系統(tǒng)、機(jī)柜、監(jiān)視部件等;再配置每個(gè)日志解析項(xiàng)的定時(shí)任務(wù),包括定時(shí)任務(wù)名稱(chēng)、所屬運(yùn)行組、運(yùn)行頻次、解析日志路徑、解析的類(lèi)方法。定時(shí)任務(wù)運(yùn)行后,可以直觀地在后臺(tái)查看不同任務(wù)的運(yùn)行狀態(tài),后臺(tái)運(yùn)行的解析方法,實(shí)現(xiàn)對(duì)指定日志的解析。比如,磁盤(pán)監(jiān)視項(xiàng)解析。如果日志中出現(xiàn)Storage Subsystem health status = optimal.字段,該監(jiān)視項(xiàng)目為正常,未出現(xiàn)該字段,監(jiān)視項(xiàng)異常,將正常磁盤(pán)名稱(chēng)、異常磁盤(pán)名稱(chēng)、磁盤(pán)狀態(tài)、故障信息和采集時(shí)間分別錄入數(shù)據(jù)庫(kù)。
為了提高數(shù)據(jù)安全性和降低數(shù)據(jù)的冗余,監(jiān)視管理系統(tǒng)數(shù)據(jù)庫(kù)創(chuàng)建15張數(shù)據(jù)表,其中基礎(chǔ)信息表包括部件信息表(nodeinfo)、部件屬性表(nodemetainfo)、機(jī)柜信息表(cabinetinfo)、監(jiān)視項(xiàng)信息表(monitorinfo);監(jiān)視信息表包括部件狀態(tài)表(nodemonstate)、部件狀態(tài)歷史表(nodemonstate_history)、監(jiān)視項(xiàng)狀態(tài)表(monitorstate)、監(jiān)視項(xiàng)狀態(tài)歷史表(monitorstate_history) 故障處理表(monitorlog)和故障處理過(guò)程表(monitorprocess);系統(tǒng)配置表包括狀態(tài)配置表(dictcodeinfo)、角色權(quán)限配置表(roleinfo)、定時(shí)任務(wù)配置表(scheduletaskinfo)、菜單節(jié)點(diǎn)配置表(vnodeinfo)、日志路徑配置表(logpathinfo)和值班人員配置表(dutyinfo)。其中監(jiān)視信息表的可統(tǒng)計(jì)屬性均與基礎(chǔ)信息表建立主外鍵關(guān)系。數(shù)據(jù)庫(kù)表結(jié)構(gòu)如圖4所示。

圖4 監(jiān)視數(shù)據(jù)表結(jié)構(gòu)圖
2.3.1 Spring MVC架構(gòu)
監(jiān)視管理系統(tǒng)建立在Eclipse面向J2EE的開(kāi)發(fā)平臺(tái)、B/S架構(gòu)和Spring MVC設(shè)計(jì)模式的基礎(chǔ)上, 將數(shù)據(jù)、業(yè)務(wù)與展現(xiàn)進(jìn)行分離,形成不同的分模塊,達(dá)到模塊間的松耦合性,使整個(gè)系統(tǒng)結(jié)構(gòu)清晰,便于開(kāi)發(fā)維護(hù)。
依據(jù)MVC的設(shè)計(jì)思想,本系統(tǒng)主要分為四層,即為表現(xiàn)層、控制層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層。用戶(hù)通過(guò)Velocity頁(yè)面調(diào)用Ajax發(fā)送HTTP請(qǐng)求到Web端,Web端會(huì)在配置文件中匹配請(qǐng)求映射路徑,并將其轉(zhuǎn)交給前端處理器DispatcherServlet,DispatcherServlet接收到請(qǐng)求后根據(jù)請(qǐng)求信息尋找Mapping映射實(shí)現(xiàn)控制分派,并通過(guò)執(zhí)行具體控制器的方法調(diào)用對(duì)應(yīng)的業(yè)務(wù)邏輯類(lèi)進(jìn)行處理。Service層應(yīng)用工具類(lèi)調(diào)用Dao層對(duì)象的關(guān)系映射類(lèi)獲取數(shù)據(jù),進(jìn)行數(shù)據(jù)信息的加工,實(shí)現(xiàn)與POJO類(lèi)的無(wú)縫整合。處理過(guò)程中如發(fā)生異常情況,將訪問(wèn)異常解析器,找到對(duì)應(yīng)的異常類(lèi)進(jìn)行捕獲處理,最后將數(shù)據(jù)和視圖返回給DispatcherServlet,調(diào)用視圖解析器分析視圖文件,將解析后的數(shù)據(jù)顯示在頁(yè)面上返回給客戶(hù)端瀏覽器[2]。
2.3.2 應(yīng)用舉例
監(jiān)視管理系統(tǒng)包含5個(gè)核心控制類(lèi),功能如下所述,實(shí)現(xiàn)流程如圖5所示。
1) HomeController: 該類(lèi)主要實(shí)現(xiàn)多套HPC集群和各業(yè)務(wù)模式系統(tǒng)整體監(jiān)視狀態(tài)展示功能。
2) ClusterMonController: 該類(lèi)主要實(shí)現(xiàn)多套HPC集群各項(xiàng)監(jiān)視管理功能。
3) ModelMonController: 該類(lèi)主要實(shí)現(xiàn)各業(yè)務(wù)模式系統(tǒng)多模塊監(jiān)視管理功能。
4) LogManagerController:該類(lèi)主要實(shí)現(xiàn)監(jiān)視信息多維度統(tǒng)計(jì)查詢(xún)及圖表展示功能。
5) SysConfigController: 該類(lèi)主要實(shí)現(xiàn)監(jiān)視管理系統(tǒng)多種配置功能。

圖5 架構(gòu)實(shí)現(xiàn)流程圖
下面以HPC系統(tǒng)監(jiān)視模塊為例,詳述后臺(tái)查詢(xún)及前臺(tái)展示的實(shí)現(xiàn)流程。HPC系統(tǒng)監(jiān)視模塊的clustermon.vm頁(yè)面引入jQuery的JS文件庫(kù)和clustermon.js文件,頁(yè)面按策略定時(shí)更新監(jiān)視項(xiàng)狀態(tài),JQuery+Ajax通過(guò)post方式,將請(qǐng)求提交到DispatcherServlet處理,DispatcherServlet根據(jù)各控制器注釋的Mapping映射查找與URL相對(duì)應(yīng)的具體控制器ClusterMonAction,ClusterMonAction調(diào)用業(yè)務(wù)邏輯類(lèi)ClusterMonservice的getAll-MetaStateMap()方法,ClusterMonservice調(diào)用數(shù)據(jù)訪問(wèn)類(lèi)ClusterMonDao的getAllMeta-StateMap()方法訪問(wèn)數(shù)據(jù)庫(kù),并將查詢(xún)結(jié)果逐級(jí)返回給控制器類(lèi)ClusterMonAction,ClusterMonAction再傳遞給前端控制器DispatcherServlet,DispatcherServlet將結(jié)果數(shù)據(jù)返回給vm視圖模板,視圖模板經(jīng)視圖解析器解析,將結(jié)果通過(guò)HTTP響應(yīng)返回給客戶(hù)瀏覽器。模塊類(lèi)圖如圖6所示。

圖6 HPC系統(tǒng)監(jiān)視模塊類(lèi)圖
模塊實(shí)現(xiàn)部分代碼和配置文件如下:
1) Web層實(shí)現(xiàn)
ClusterMon.prototype = {
getAllMetaStateMap:function (obj) {
var dtd =$.Deferred();
setTimeout(function () {
$.post(—ClusterMon/ getAllMetaStateMap—, null, function (data) {
obj.clustermonData=data;
dtd.resolve();
});
}, 0);
return dtd.promise();
},
class=″org.springframework.web.servlet.view.velocity.VelocityViewResolver″>
2) 控制層實(shí)現(xiàn)
org.springframework.web.servlet.DispatcherServlet
classpath:applicationContext.xml
public class ClusterMonAction extends Abstract
-Controller {
//訪問(wèn)Mapping定義
@RequestMapping(″/getAllMetaStateMap ″)) Public void getAllMetaStateMap (HttpServletRequest req, HttpServletResponse rpos) {
… //對(duì)請(qǐng)求關(guān)鍵詞的解碼
… //根據(jù)請(qǐng)求查數(shù)據(jù)庫(kù)得到結(jié)果對(duì)象
… //將結(jié)果轉(zhuǎn)化為JSON串發(fā)送
}
… //其他功能的Mapping方法
}
3) 數(shù)據(jù)層訪問(wèn)層實(shí)現(xiàn)
本例中,將monitorstate庫(kù)表映射為POJO類(lèi)ClusterMonElement,該表中存儲(chǔ)各監(jiān)視項(xiàng)運(yùn)行狀態(tài)信息;ClusterMonDao對(duì)象調(diào)用JdbcTemplate對(duì)象的getAllMetaState
-Map ()方法,實(shí)現(xiàn)對(duì)ClusterMonElement中數(shù)據(jù)查詢(xún)。
將DataSource,JdbcTemplate等對(duì)象配置在applicationContext. xml文件中,使用Spring的注入功能,把DataSource注冊(cè)到JdbcTemplate之中,數(shù)據(jù)庫(kù)連接采用c3p0連接池的方式,使用spring配置Jdbc-Template,JdbcTemplate被注入到Cluster-MonDao中。
applicationContext.xml配置文件如下:
class=″org.springframework.jdbc.core.JdbcTemplate″>
class=″com.mchange.v2.c3p0.ComboPooled DataSource″ destroy-method=″close″> value=″jdbc:oracle:thin:@localhost:pmcs″ /> ……//中間代碼省略
為保障故障通知的時(shí)效性,監(jiān)視管理系統(tǒng)增加了信息報(bào)警功能,Web頁(yè)面發(fā)現(xiàn)故障時(shí),系統(tǒng)通過(guò)釘釘客戶(hù)端給管理員發(fā)送告警信息,信息包含故障時(shí)間和內(nèi)容等。
信息報(bào)警涉及到信息過(guò)濾、信息配置和消息封裝。首先對(duì)實(shí)時(shí)庫(kù)和歷史庫(kù)中告警信息進(jìn)行比對(duì),過(guò)濾出需要告警的狀態(tài)信息,根據(jù)故障的影響,定義告警級(jí)別。根據(jù)告警級(jí)別定義信息發(fā)送的頻率和接收人,最后將信息封裝成消息對(duì)象,調(diào)用消息發(fā)送接口推送報(bào)警信息到釘釘客戶(hù)端。
告警系統(tǒng)由信息處理模塊和信息發(fā)送模塊組成,架構(gòu)如圖7所示。

圖7 信息告警架構(gòu)圖
實(shí)現(xiàn)對(duì)國(guó)家局及區(qū)域中心九套高性能計(jì)算機(jī)系統(tǒng)的全面監(jiān)控。首頁(yè)清晰展示每套系統(tǒng)整體運(yùn)行情況,分頁(yè)面分類(lèi)展示各系統(tǒng)多種監(jiān)視項(xiàng)狀態(tài)。考慮到多個(gè)節(jié)點(diǎn)連續(xù)發(fā)生相同故障,設(shè)計(jì)分級(jí)處理機(jī)制,各監(jiān)視項(xiàng)可顯示多節(jié)點(diǎn)的故障狀態(tài)。
實(shí)現(xiàn)故障流程化處理,故障發(fā)生后,Web頁(yè)面相關(guān)監(jiān)視項(xiàng)呈現(xiàn)紅色報(bào)警狀態(tài)并伴隨聲音提示,值班員將故障監(jiān)視項(xiàng)變更為處理中狀態(tài)(黃色),并指派系統(tǒng)管理員處理,管理員接到指派后處理故障,故障恢復(fù)后填寫(xiě)故障處理單并提交,Web頁(yè)面相關(guān)監(jiān)視項(xiàng)恢復(fù)(綠色)。考慮相同時(shí)間發(fā)生多節(jié)點(diǎn)故障,設(shè)計(jì)故障單按時(shí)間和故障類(lèi)型合并功能,避免大量故障單累計(jì),有效提高處理效率。
采集高性能計(jì)算機(jī)系統(tǒng)各節(jié)點(diǎn)CPU、內(nèi)存、作業(yè)運(yùn)行和節(jié)點(diǎn)負(fù)載情況等性能指標(biāo)數(shù)據(jù)信息,以圖形的方式清晰展示每個(gè)節(jié)點(diǎn)性能指標(biāo)實(shí)時(shí)變化特征(見(jiàn)圖8)。

圖8 機(jī)柜實(shí)時(shí)監(jiān)視
實(shí)現(xiàn)系統(tǒng)日志、故障處理日志和系統(tǒng)可用率等的統(tǒng)計(jì)查詢(xún)功能,提供數(shù)據(jù)分類(lèi)導(dǎo)航和統(tǒng)計(jì)圖表下載功能。其中日志查詢(xún)模塊設(shè)置不同維度的時(shí)間、系統(tǒng)、故障類(lèi)型、機(jī)柜、節(jié)點(diǎn)等精細(xì)化查詢(xún)和各類(lèi)故障統(tǒng)計(jì)查詢(xún)及圖表展示功能。故障處理單查詢(xún)模塊設(shè)置了多條件精細(xì)化查詢(xún)和故障單編輯、修改、刪除功能。系統(tǒng)可用率查詢(xún)?cè)O(shè)置規(guī)定時(shí)間段內(nèi)可用率的總體和分段計(jì)算及圖表展示。
監(jiān)視管理的后臺(tái)管理板塊,只有管理員權(quán)限用戶(hù)可以訪問(wèn)。提供多種配置功能,包含數(shù)據(jù)字典、硬件配置、菜單配置、權(quán)限配置、任務(wù)配置及值班配置等模塊。其中數(shù)字字典模塊實(shí)現(xiàn)系統(tǒng)和模式監(jiān)視項(xiàng)的狀態(tài)配置,節(jié)點(diǎn)類(lèi)型配置和高性能計(jì)算機(jī)系統(tǒng)配置。硬件配置模塊實(shí)現(xiàn)高性能計(jì)算機(jī)系統(tǒng)機(jī)柜、服務(wù)器、硬件屬性、整體監(jiān)視屬性的配置。菜單配置實(shí)現(xiàn)高性能計(jì)算機(jī)系統(tǒng)和結(jié)點(diǎn)的配置。權(quán)限配置模塊實(shí)現(xiàn)不同角色訪問(wèn)權(quán)限設(shè)置。任務(wù)配置模塊實(shí)現(xiàn)監(jiān)視任務(wù)路徑、監(jiān)視任務(wù)啟動(dòng)和日志文件匹配的配置。值班配置實(shí)現(xiàn)管理人員配置,有效提升監(jiān)視管理系統(tǒng)的靈活性和可用性。
基于Sping MVC的高性能計(jì)算機(jī)監(jiān)視管理系統(tǒng)通過(guò)Web端和信息報(bào)警大幅提升了故障發(fā)現(xiàn)的時(shí)效性,并通過(guò)故障數(shù)據(jù)分析及各節(jié)點(diǎn)性能指標(biāo)變化特征進(jìn)一步掌握系統(tǒng)運(yùn)行情況,有助于提前排除隱患,有效保障高性能計(jì)算機(jī)系統(tǒng)運(yùn)行的穩(wěn)定性。流程化處理方式為故障的交接和協(xié)作處理提供了便捷,系統(tǒng)已業(yè)務(wù)運(yùn)行,提供給國(guó)家局和區(qū)域中心用戶(hù)使用。下一步,我們將在ECMWF開(kāi)發(fā)的ECFLOW基礎(chǔ)上進(jìn)行二次開(kāi)發(fā), 通過(guò)Ecflow客戶(hù)端實(shí)時(shí)采集Ecflow服務(wù)器端運(yùn)行模式狀態(tài)數(shù)據(jù),進(jìn)一步完善數(shù)值預(yù)報(bào)業(yè)務(wù)自動(dòng)化管理系統(tǒng),整合HPC系統(tǒng)和業(yè)務(wù)模式的監(jiān)視管理,進(jìn)一步提升氣象業(yè)務(wù)保障能力。
[1] 沈瑜,李娟,常飚,等.高性能計(jì)算機(jī)統(tǒng)一資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與自動(dòng)化,2014,33(1):83-90.
[2] 黃淼,張國(guó)平.基于Spring MVC的高校教務(wù)評(píng)教系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2016,24(8):23-26.
[3] 丁振凡,李馨梅.基于JdbcTemplate的數(shù)據(jù)庫(kù)訪問(wèn)處理[J].智能計(jì)算機(jī)與應(yīng)用,2012,2(3):29-32.
[4] 張志強(qiáng),張強(qiáng),胡星,等.國(guó)家氣象業(yè)務(wù)內(nèi)網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)[J].安徽農(nóng)業(yè)科學(xué),2016,44(6):224-227.
[5] 何玲娟,蟻龍,劉連臣.一種松耦合高復(fù)用MVC模式的Web分頁(yè)實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(15):95-97.
[6] 陳雄華,林開(kāi)雄.Spring 3.x企業(yè)級(jí)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2013.
[7] Craig Walls,Ryan Breidenbach.Spring in Action[M].3版.北京:人民郵電出版社,2013.
[8] 劉京華.JavaWeb整合開(kāi)發(fā)王者歸來(lái)(JSP+Servlet+Struts+Hibernate+Spring)[M].北京:清華大學(xué)出版社,2010.
[9] 周桓,王殊宇.JSP項(xiàng)目開(kāi)發(fā)全程實(shí)錄[M].北京:清華大學(xué)出版社,2008.
[10] HighCharts官網(wǎng)[OL].2015.http://www.highcharts.com/demo.
DESIGNANDIMPLEMENTATIONOFHIGHPERFORMANCECOMPUTERMONITORINGMANAGEMENTSYSTEMBASEDONSPRINGMVC
Gu Wenjing Zhao Chunyan Li Juan
(HighPerformanceComputingDivision,NationalMeteorologicalInformationCenter,Beijing100081,China)
High performance computer is an important basic platform for meteorological operations and developments. The aim of this paper is to change the distributed status of the meteorological HPC monitoring platform, to standardize the process of fault handling and to ensure the stable operation of the HPC system. Therefore, the national meteorological information center (NMIC) has established a unified monitor and management for nine sets system of country and regional center, providing a sharing platform for real-time monitoring, fault streamline processing, performance analysis, log records and statistical query. Monitoring management system adopted the Spring MVC framework technology. Moreover, the architecture of the system was designed with the combination of the MVC design pattern and layered architecture, which achieved the goal of high cohesion and low coupling, and improved the expansibility and development efficiency of the project. In August 2016, the monitoring and management system operated, covering the core services such as monitoring, management and configuration. It has played an effective role in ensuring the meteorological service and scientific research.
HPC system Monitor management Spring MVC Ajax
TP302
A
10.3969/j.issn.1000-386x.2017.10.017
2016-10-25。科技部公益性行業(yè)專(zhuān)項(xiàng)(氣象)科研專(zhuān)項(xiàng)(GYHY201106022,GYHY201306062)。顧文靜,工程師,主研領(lǐng)域:高性能計(jì)算應(yīng)用支持,軟件開(kāi)發(fā)。趙春燕,高工。李娟,高工。