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

?

CIMISS 數(shù)據(jù)環(huán)境中數(shù)據(jù)入庫滯后常見問題的解決*

2021-10-14 03:28許竹霞孔小怡
科技與創(chuàng)新 2021年19期
關(guān)鍵詞:入庫分區(qū)運(yùn)維

許竹霞,孔小怡,徐 娟,付 杰

(甘肅省氣象信息與技術(shù)裝備保障中心,甘肅 蘭州 730020)

隨著人們生活質(zhì)量的不斷提高,天氣預(yù)報在社會公眾中的地位也不斷提升,精準(zhǔn)、快速地向廣大群眾提供天氣預(yù)報服務(wù)變得尤為重要。這就要求氣象信息中心高效地保障快速增長的氣象數(shù)據(jù)的收集、分發(fā)、解碼入庫及資料共享服務(wù),為氣象預(yù)報業(yè)務(wù)、科研、氣象公共服務(wù)提供高效、精確的氣象資料。

全國綜合氣象信息共享平臺(China Integrated Meteorological Information Sharing System,簡稱“CIMISS”)是國家氣象信息中心2009 年啟動建設(shè)的數(shù)據(jù)管理和服務(wù)平臺,集氣象數(shù)據(jù)收集、加工處理、存儲管理和共享于一體,運(yùn)行于國家級和31 個省級氣象數(shù)據(jù)中心,管理國家級或省級數(shù)據(jù)中心全部可收集的國內(nèi)外氣象資料和業(yè)務(wù)產(chǎn)品[1]。CIMISS 系統(tǒng)主要包括數(shù)據(jù)收集與分發(fā)(CTS)、加工處理(DPC)、存儲管理(SOD)、業(yè)務(wù)監(jiān)控(MCP)及標(biāo)準(zhǔn)化的接口服務(wù)(MUSIC)5 個子系統(tǒng)。

CIMISS 系統(tǒng)于2016 年在甘肅省氣象局全面業(yè)務(wù)化運(yùn)行,實(shí)現(xiàn)了數(shù)據(jù)集約化管理,同時,統(tǒng)一的數(shù)據(jù)服務(wù)接口(MUSIC)為用戶提供了數(shù)據(jù)應(yīng)用服務(wù)的能力。目前,甘肅省氣象局蘭州中心氣象臺、西北區(qū)域氣候中心、公服氣象服務(wù)中心等多個單位的業(yè)務(wù)系統(tǒng)已與CIMISS 平臺的MUSIC接口對接,CIMISS 平臺為氣象服務(wù)提供了更有力的業(yè)務(wù)支撐。隨著用戶訪問量提升,CIMISS 數(shù)據(jù)庫暴露出來的問題日益顯著。造成數(shù)據(jù)入庫滯后及不入庫的原因主要有:臺站上傳數(shù)據(jù)所歸屬的表分區(qū)不存在,比如臺站上傳的30 d 以前的大量歷史數(shù)據(jù)的分區(qū)已清除、實(shí)時分區(qū)未及時創(chuàng)建;標(biāo)準(zhǔn)格式數(shù)據(jù)(BUFR)入庫程序自身局限性;接口用戶的暴力檢索等。針對這些問題,通過梳理問題、優(yōu)化數(shù)據(jù)庫表及接口配置、對已入庫的重復(fù)數(shù)據(jù)進(jìn)行處理,以期提高數(shù)據(jù)的及時性、準(zhǔn)確性,為氣象預(yù)報、科研、公共服務(wù)做好保障工作。

1 CIMISS 系統(tǒng)總體數(shù)據(jù)流程

氣象原始觀測資料由臺站直接上傳至省局CIMISS 系統(tǒng)的收集與分發(fā)系統(tǒng)(CTS),通過CTS 收集處理(打包、文件名檢查、格式檢查等)后發(fā)送至國家局、數(shù)據(jù)加工處理系統(tǒng)(DPC)、本地共享服務(wù)器及省際共享用戶等。DPC 負(fù)責(zé)氣象數(shù)據(jù)加工處理工作,處理后的數(shù)據(jù)入庫存儲在SOD 系統(tǒng)中,結(jié)構(gòu)化數(shù)據(jù)解碼后存儲在關(guān)系型Oracle 數(shù)據(jù)庫中,非結(jié)構(gòu)化數(shù)據(jù)通過DPC 解碼、重命名在Oracle 數(shù)據(jù)庫中,只存儲索引表,實(shí)際數(shù)據(jù)存放在GPFS 共享文件系統(tǒng)中。用戶通過統(tǒng)一的數(shù)據(jù)訪問接口(MUSIC)訪問數(shù)據(jù)。甘肅省CIMISS 系統(tǒng)總體數(shù)據(jù)流程如圖1 所示。

圖1 甘肅省CIMISS 系統(tǒng)總體數(shù)據(jù)流程

2 數(shù)據(jù)庫表分區(qū)不存在導(dǎo)致入庫滯后

分區(qū)技術(shù)[2]是Oracle 數(shù)據(jù)庫為簡化一些數(shù)據(jù)量龐大的表的管理推出的重要技術(shù),將表和索引細(xì)分為較小、較容易管理的段,從而使數(shù)據(jù)庫管理員能夠用分而治之的手段進(jìn)行數(shù)據(jù)管理,具有相當(dāng)大的靈活性。其優(yōu)勢[3-4]在于:提高數(shù)據(jù)訪問的速率;每個分區(qū)之間的數(shù)據(jù)操作不會相互影響,將每個分區(qū)的數(shù)據(jù)分割開來,最大程度地保證了所存儲數(shù)據(jù)的安全性和可靠性。

甘肅省CIMISS 數(shù)據(jù)庫中存儲了實(shí)時歷史的氣象海量數(shù)據(jù),隨著表中數(shù)據(jù)量不斷增加,查詢數(shù)據(jù)的速度會變得非常緩慢,因此在設(shè)計(jì)數(shù)據(jù)庫時根據(jù)不同的氣象數(shù)據(jù)(分鐘數(shù)據(jù)、小時數(shù)據(jù)、日數(shù)據(jù)等)設(shè)計(jì)的數(shù)據(jù)庫表也不同。對于觀測及訪問頻率較高的分鐘數(shù)據(jù),CIMISS 數(shù)據(jù)庫在設(shè)計(jì)時采用小時分區(qū)表,每小時都會自動添加下一時次的分區(qū);小時數(shù)據(jù)及日值數(shù)據(jù)表以日為分區(qū)表,每天凌晨業(yè)務(wù)空閑時段添加次日的分區(qū)表。其他類型的資料分區(qū)思路是一致的。當(dāng)數(shù)據(jù)通過全國氣象通信系統(tǒng)CTS 分發(fā)至DPC 解碼入庫時,如果表分區(qū)不存在,數(shù)據(jù)庫表在自動創(chuàng)建分區(qū)的時候使表相關(guān)的游標(biāo)[5](cursor)全部失效,而CIMISS 數(shù)據(jù)庫存在按小時的自動間隔分區(qū),每個小時都會自動添加新的分區(qū),而新增分區(qū)會導(dǎo)致正在創(chuàng)建分區(qū)的表在library cache 中的對象全部需要重新解析,造成解析鎖爭用,從而影響數(shù)據(jù)入庫。此外,數(shù)據(jù)庫設(shè)置有自動清除歷史數(shù)據(jù)的腳本,刪除大量歷史分區(qū)也將影響數(shù)據(jù)入庫。一般出現(xiàn)該問題的表是創(chuàng)建分區(qū)較頻繁的表,即分鐘數(shù)據(jù)表。

以地面分鐘降水表SURF_WEA_CHN_PRE_MIN_TAB為例,該表存儲了全國2 427 個國家級氣象自動站的每分鐘數(shù)據(jù)及甘肅、青海、陜西、寧夏、四川5 省共9 300 多個區(qū)域站的5 min 加密數(shù)據(jù)。結(jié)合甘肅省實(shí)際的CIMISS 存儲空間,地面分鐘數(shù)據(jù)表的存儲時效設(shè)置為30 d。每天通過自動腳本定時清除30 d 以前的數(shù)據(jù),即刪除分區(qū)表。

分鐘歷史數(shù)據(jù)并不提供有效的氣象服務(wù),額外增加了刪除歷史數(shù)據(jù)的工作量,對數(shù)據(jù)庫入庫性能造成一定影響。因此,需要通過修改DPC 系統(tǒng)的BUFR 入庫程序限制歷史數(shù)據(jù)入庫,根據(jù)業(yè)務(wù)需求入庫程序?qū)⑷霂熨Y料的時間限制設(shè)置為48 h 以內(nèi)的數(shù)據(jù)(包括地面分鐘、地面小時、輻射分鐘、輻射小時、酸雨日數(shù)據(jù))自動處理入庫。修改的相關(guān)程序文件和參數(shù)文件包括:/space/cimiss_BCLZ/app/bin/dpc/dbmerge_bufr2/bin/running 目錄下的程序文件dpc_bufr_file、dpc_bufr_msg/space/cimiss_BCLZ/app/bin/dpc/dbmerge_bufr2/cfg 下的參數(shù)文件 surf_mm.xml、surf_hh.xml、radi_mm.xml、radi_hh.xml、acid_rain.xml。此外,對于特殊情況,如需將48 h 以外的數(shù)據(jù)入庫,需要系統(tǒng)維護(hù)人員手工將原始文件生成消息后入庫,跳過入庫程序時間限制環(huán)節(jié)入庫。

此外,有時會因?yàn)橹T多原因Oracle 數(shù)據(jù)庫表沒有提前創(chuàng)建分區(qū),大量實(shí)時數(shù)據(jù)涌入,業(yè)務(wù)量大的時候,新增分區(qū)會造成阻塞。此時,應(yīng)采用提前手動創(chuàng)建分區(qū)的方法,步驟如下。

檢索出CIMISS 數(shù)據(jù)庫中以小時為分區(qū)的所有數(shù)據(jù)表,SQL 查詢語句為:select owner,table_name,INTERVAL from dba_part_tables where owner='USER_SOD'AND INTERVAL like'%HOURS%&apos。

編寫腳本配置文件table,將需要提前創(chuàng)建小時分區(qū)的表都配置在table 文件中,創(chuàng)建自動分區(qū)的腳本從table 表中按順序讀取需要創(chuàng)建的分區(qū)。

編寫創(chuàng)建自動分區(qū)的腳本auto_add_part.sh 后,停止與數(shù)據(jù)庫連接的DPC 系統(tǒng)、SOD 系統(tǒng)以及MUSIC 系統(tǒng)的應(yīng)用,三個應(yīng)用系統(tǒng)涉及到的應(yīng)用進(jìn)程比較多,分別停止各個系統(tǒng)的應(yīng)用比較麻煩且耗時。因此,選擇業(yè)務(wù)比較空閑時候,直接在數(shù)據(jù)庫服務(wù)器上使用命令srvctl stop scan_listener 關(guān)閉SCAN 監(jiān)聽;并且在數(shù)據(jù)庫各節(jié)點(diǎn)機(jī)(甘肅的CIMISS 基礎(chǔ)庫為db01、db02)上kill 掉所有應(yīng)用進(jìn)程ps -ef|grep$ORACLE_SID|grep -v ora_|grep LOCAL=NO|awk '{print$2}'|xargs kill-9;執(zhí)行提前分區(qū)腳本sh auto_add_part.sh,創(chuàng)建15 張數(shù)據(jù)表的30 d 的分區(qū)大概用時40 min;分區(qū)創(chuàng)建完成后,重啟SCAN 監(jiān)聽srvctl start scan_listener,應(yīng)用會自動連接數(shù)據(jù)庫[6]。

3 入庫進(jìn)程異常導(dǎo)致入庫滯后

CIMISS 系統(tǒng)中解碼入庫程序常會出現(xiàn)進(jìn)程掉或僵死的情況,導(dǎo)致數(shù)據(jù)入庫異常的因素主要有入庫程序不完善、數(shù)據(jù)接口訪問用戶暴力檢索等。

3.1 入庫程序不完善

全國數(shù)據(jù)標(biāo)準(zhǔn)化(BUFR)格式于2019-12-12 單軌運(yùn)行,正常情況下,BUFR 數(shù)據(jù)入庫時間比資料觀測時間晚24 s 左右,但在運(yùn)維過程中發(fā)現(xiàn)地面BUFR 分鐘數(shù)據(jù)入庫時間字段(D_IYMDHM)比觀測時間字段(D_DATETIME)晚2~3 min,延時最高時可達(dá)4 min 以上。以2019-12-16 的情況為例,2019-12-16T07:30—08:40(國際時)蘭州站(52889)地面分鐘數(shù)據(jù)入庫時間與數(shù)據(jù)觀測時間的差值情況如圖2所示,08:00 后 D_IYMDHM 比 D_DATETIME 平均滯后 2~3 min。查詢?nèi)罩蛋l(fā)現(xiàn)出現(xiàn)入庫程序僵死現(xiàn)象,但是數(shù)據(jù)竟然滯后入庫。此類情況是由于數(shù)據(jù)庫出現(xiàn)異常中斷后,入庫進(jìn)程未設(shè)置重連機(jī)制,修改入庫程序,增加數(shù)據(jù)庫重連機(jī)制可解決此問題。

圖2 蘭州站(52889)地面分鐘數(shù)據(jù)入庫時間與觀測時間差值

3.2 數(shù)據(jù)接口訪問用戶暴力檢索

甘肅省氣象數(shù)據(jù)統(tǒng)一服務(wù)接口的WEB 用戶有130 個、API 賬戶有74 個用戶,MUSIC 接口用戶每日訪問數(shù)據(jù)次數(shù)為45 萬次左右、訪問數(shù)據(jù)量達(dá)350 G 左右,汛期該數(shù)據(jù)還會上浮很多。接口用戶高并發(fā)訪問CIMISS 數(shù)據(jù)時對數(shù)據(jù)庫造成的壓力是不可忽視的,通常在汛期數(shù)據(jù)庫僵死的概率更高。運(yùn)維中遇到的情況是數(shù)據(jù)庫性能低下、數(shù)據(jù)入庫緩慢,數(shù)據(jù)庫服務(wù)器的CPU 使用率持續(xù)在99%左右,省局運(yùn)維人員可通過停止接口服務(wù)應(yīng)用恢復(fù)CPU 使用率。

接口用戶對分鐘數(shù)據(jù)的獲取各自指定了程序策略,比如在獲取地面分鐘數(shù)據(jù)時,數(shù)據(jù)同步策略是每5 min 一次,但是由于數(shù)據(jù)偶爾會出現(xiàn)入庫滯后的問題,用戶會對每批數(shù)據(jù)的同步設(shè)定重復(fù)同步3~5 次,這就會嚴(yán)重影響其他用戶的訪問效果。省局運(yùn)維人員需與用戶溝通自定義一些接口,將用戶的全量同步變?yōu)樵隽客健?/p>

4 總結(jié)

本文根據(jù)日常的運(yùn)維經(jīng)驗(yàn)對CIMISS 數(shù)據(jù)庫入庫滯后的常見問題進(jìn)行分析并提出解決辦法,但是影響數(shù)據(jù)入庫的因素眾多,文中的處理辦法也存在一定的局限性,在今后的運(yùn)維工作中應(yīng)進(jìn)行更加全面的考慮和研究。

猜你喜歡
入庫分區(qū)運(yùn)維
貴州省地質(zhì)災(zāi)害易發(fā)分區(qū)圖
上海實(shí)施“分區(qū)封控”
2021年山西省6591家科技型中小企業(yè)入庫
重磅!廣東省“三舊”改造標(biāo)圖入庫標(biāo)準(zhǔn)正式發(fā)布!
中國食品品牌庫入庫企業(yè)信息公示②
中國食品品牌庫入庫企業(yè)信息公示①
基于GPS的電力運(yùn)維軌跡定位系統(tǒng)
IT運(yùn)維管理系統(tǒng)的設(shè)計(jì)及應(yīng)用
大型數(shù)據(jù)庫分區(qū)表研究
神探出手,巧破分區(qū)離奇失蹤案