劉衛(wèi)民,王 婕,馮偉立
(中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司天津市分公司 天津300204)
應(yīng)用技術(shù)
數(shù)據(jù)瘦身系統(tǒng)建設(shè)方案探討
劉衛(wèi)民,王 婕,馮偉立
(中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司天津市分公司 天津300204)
數(shù)據(jù)瘦身系統(tǒng)建設(shè)的目標(biāo)是為了解決電信運(yùn)營(yíng)商日益增長(zhǎng)的歷史數(shù)據(jù)造成系統(tǒng)性能下降,占用昂貴的存儲(chǔ)空間資源的問(wèn)題,并且為歷史數(shù)據(jù)的統(tǒng)一存儲(chǔ)和管控提供了有效的解決方案。通過(guò)瘦身系統(tǒng)抽取支撐系統(tǒng)數(shù)據(jù)庫(kù)的數(shù)據(jù)并轉(zhuǎn)存到非關(guān)系型數(shù)據(jù)庫(kù)(HBase)中,用戶可以通過(guò)瘦身系統(tǒng)提供的接口訪問(wèn)里面的歷史數(shù)據(jù),實(shí)現(xiàn)生產(chǎn)數(shù)據(jù)庫(kù)數(shù)據(jù)清理和加速歷史數(shù)據(jù)庫(kù)的數(shù)據(jù)訪問(wèn)速度的目的。數(shù)據(jù)瘦身系統(tǒng)同時(shí)提供對(duì)歷史數(shù)據(jù)的快速訪問(wèn),通過(guò)對(duì)數(shù)據(jù)的存儲(chǔ)優(yōu)化和索引優(yōu)化,對(duì)歷史數(shù)據(jù)的訪問(wèn)將比未部署數(shù)據(jù)瘦身系統(tǒng)前得到較大的提升,改善用戶的滿意度。
數(shù)據(jù)瘦身 HBase 流程引擎
1.1 建設(shè)背景
運(yùn)營(yíng)商為支撐業(yè)務(wù)發(fā)展,建立了眾多的業(yè)務(wù)系統(tǒng)。這些系統(tǒng)在很好地支撐業(yè)務(wù)的同時(shí),對(duì)后端系統(tǒng)設(shè)備的壓力也日益增長(zhǎng)。數(shù)據(jù)瘦身系統(tǒng)的建設(shè)將緩解生產(chǎn)系統(tǒng)數(shù)據(jù)存儲(chǔ)的壓力,優(yōu)化數(shù)據(jù),降低硬件投資,同時(shí)有效提升生產(chǎn)系統(tǒng)的響應(yīng)速度,改善查詢效率。
1.2 建設(shè)思路(見圖1)
通過(guò)瘦身系統(tǒng)抽取數(shù)據(jù)庫(kù)的數(shù)據(jù)并轉(zhuǎn)存到其他存儲(chǔ)空間中去,用戶可以通過(guò)瘦身系統(tǒng)提供的接口訪問(wèn)里面的歷史數(shù)據(jù),實(shí)現(xiàn)生產(chǎn)數(shù)據(jù)庫(kù)數(shù)據(jù)清理和加速歷史數(shù)據(jù)庫(kù)的數(shù)據(jù)訪問(wèn)速度的目的。
2.1 總體設(shè)計(jì)思路
設(shè)計(jì)思路包括兩部分:功能架構(gòu)、存儲(chǔ)架構(gòu)。
在功能架構(gòu)上的設(shè)計(jì)遵循了多模塊解耦的設(shè)計(jì)原則,根據(jù)職責(zé)的分工,分為兩個(gè)子系統(tǒng),一塊是提供管理界面,負(fù)責(zé)對(duì)整個(gè)系統(tǒng)進(jìn)行配置及監(jiān)控;一塊提供運(yùn)行引擎,根據(jù)系統(tǒng)的配置執(zhí)行相應(yīng)的邏輯操作,如圖2。

圖1 數(shù)據(jù)瘦身系統(tǒng)建設(shè)思路Fig.1 Development thought of the data slimming system
① 系統(tǒng)監(jiān)控。日常維護(hù)能看到監(jiān)控界面,用戶可以觀察到任務(wù)的執(zhí)行情況,并對(duì)任務(wù)進(jìn)行操作,同時(shí)還可以對(duì)告警、服務(wù)和目前的存儲(chǔ)情況等進(jìn)行監(jiān)控查詢。

圖2 總體設(shè)計(jì)思路Fig.2 Overall design idea

圖3 總體功能架構(gòu)Fig.3 Overall functional architecture
② 任務(wù)管理。為數(shù)據(jù)遷移提供任務(wù)定義、動(dòng)作管理、流程定義等基礎(chǔ)功能,用戶可以在此定義任務(wù),并作為流程引擎的環(huán)節(jié)執(zhí)行。
③ 基礎(chǔ)管理。提供系統(tǒng)基礎(chǔ)的功能定義,包括異常、告警、數(shù)據(jù)源、策略等管理功能。
④ 存儲(chǔ)管理。提供對(duì)存儲(chǔ)邏輯視圖的統(tǒng)一管理,包括存儲(chǔ)倉(cāng)庫(kù)管理、存儲(chǔ)單元管理、存儲(chǔ)視圖管理等功能,用戶可以使用這些功能去透明地管理底層復(fù)雜的存儲(chǔ)結(jié)構(gòu)。
⑤ 流程引擎。提供流程支持,任務(wù)作為環(huán)節(jié)執(zhí)行。
4.1 系統(tǒng)監(jiān)控
4.1.1 任務(wù)監(jiān)控
用戶監(jiān)控界面是提供給用戶使用的監(jiān)控任務(wù)進(jìn)程的統(tǒng)一界面,用戶可以查詢到正在執(zhí)行的任務(wù)實(shí)例的信息、各個(gè)任務(wù)關(guān)聯(lián)環(huán)節(jié)的信息,并且能夠?qū)Νh(huán)節(jié)執(zhí)行重啟、暫停和中止的操作。
任務(wù)信息包括任務(wù)實(shí)例名稱、任務(wù)名稱、任務(wù)類型、開始時(shí)間、結(jié)束時(shí)間、狀態(tài)等。
環(huán)節(jié)信息包括環(huán)節(jié)名稱、開始時(shí)間、結(jié)束時(shí)間、總歷時(shí)、狀態(tài)等。
用戶能夠通過(guò)任務(wù)名稱、狀態(tài)、開始時(shí)間及結(jié)束時(shí)間對(duì)任務(wù)進(jìn)行查詢,并能夠在界面直接啟動(dòng)一個(gè)臨時(shí)任務(wù)或者對(duì)定時(shí)任務(wù)的執(zhí)行狀態(tài)進(jìn)行變更,如暫?;蛘邌?dòng)。
4.1.2 告警監(jiān)控
告警監(jiān)控界面是用于監(jiān)控系統(tǒng)產(chǎn)生的所有告警信息,并提供查詢功能。
告警信息包括告警名稱、告警描述、告警級(jí)別、創(chuàng)建時(shí)間、通知方式、通知人、狀態(tài)等。
用戶可以通過(guò)選擇異常名稱、告警級(jí)別、通知方式、開通時(shí)間、結(jié)束時(shí)間對(duì)告警進(jìn)行選擇,并進(jìn)行告警的處理及復(fù)位等操作。
4.1.3 異常監(jiān)控
異常監(jiān)控界面用于展現(xiàn)所有系統(tǒng)拋出來(lái)的異常信息,并提供查詢功能。
異常信息包括了異常類型、異常描述創(chuàng)建時(shí)間、狀態(tài)及關(guān)聯(lián)類型編碼、關(guān)聯(lián)類型標(biāo)識(shí)等信息。
用戶可以通過(guò)選擇異常類型、狀態(tài)、開始時(shí)間和結(jié)束時(shí)間進(jìn)行查詢,并根據(jù)關(guān)聯(lián)類型標(biāo)識(shí)和編碼判斷異常的來(lái)源。
4.1.4 存儲(chǔ)監(jiān)控
存儲(chǔ)監(jiān)控用于展現(xiàn)所有的數(shù)據(jù)倉(cāng)庫(kù)中擁有的存儲(chǔ)單元,并提供存儲(chǔ)單元的數(shù)據(jù)量、已用空間和查詢次數(shù)等相關(guān)的統(tǒng)計(jì)信息,并展現(xiàn)出存儲(chǔ)單元相關(guān)的視圖。
存儲(chǔ)監(jiān)控包括了存儲(chǔ)倉(cāng)庫(kù)名稱、存儲(chǔ)單元名稱、創(chuàng)建時(shí)間、狀態(tài)等信息,以及存儲(chǔ)單元的更多信息,包括存儲(chǔ)單元的數(shù)據(jù)總量、消耗的存儲(chǔ)空間及通過(guò)服務(wù)查詢的次數(shù)等信息,以監(jiān)控存儲(chǔ)單元的當(dāng)前狀況及后續(xù)趨勢(shì)。
存儲(chǔ)監(jiān)控可以通過(guò)選擇存儲(chǔ)倉(cāng)庫(kù)、存儲(chǔ)單元名稱、開始時(shí)間和結(jié)束時(shí)間來(lái)過(guò)濾存儲(chǔ)單元的信息。
4.2 任務(wù)管理
流程是對(duì)任務(wù)執(zhí)行過(guò)程的定義,通過(guò)模板的形式去關(guān)聯(lián)多個(gè)動(dòng)作環(huán)節(jié),并為不同的動(dòng)作環(huán)節(jié)間定義先后的執(zhí)行順序。
流程通過(guò)配置一個(gè)或者多個(gè)動(dòng)作形成一系列的處理過(guò)程,每個(gè)動(dòng)作需要根據(jù)屬性配置不同的內(nèi)容。
流程必須能夠支持版本管理,每個(gè)流程模板只能有一個(gè)有效的流程模板,用戶可以選擇設(shè)定有效的流程模板。
4.3 服務(wù)管理
4.3.1 服務(wù)定義管理
提供服務(wù)定義的界面,服務(wù)關(guān)聯(lián)到一個(gè)視圖,并且展現(xiàn)出相關(guān)的授權(quán)信息。
服務(wù)定義提供目錄化管理,不同的服務(wù)可以歸類到不同的目錄下面,服務(wù)的信息包括名稱、編碼、關(guān)聯(lián)視圖、狀態(tài)及創(chuàng)建時(shí)間等。
服務(wù)代表了數(shù)據(jù)開放訪問(wèn)的接口,服務(wù)以標(biāo)準(zhǔn)的格式滿足外部系統(tǒng)對(duì)數(shù)據(jù)訪問(wèn)的需求。
服務(wù)請(qǐng)求和訪問(wèn)的報(bào)文都基于 XML,一個(gè)服務(wù)通過(guò)視圖的方式匯聚數(shù)據(jù),并對(duì)涉及的數(shù)據(jù)進(jìn)行約束和對(duì)輸入條件進(jìn)行約束,返回的數(shù)據(jù)基于XML,以行和列的形式展現(xiàn)數(shù)據(jù)。
服務(wù)必須要有權(quán)限控制,權(quán)限與外部系統(tǒng)關(guān)聯(lián),任何一個(gè)外部系統(tǒng)對(duì)服務(wù)的訪問(wèn)必須通過(guò)權(quán)限校驗(yàn),否則系統(tǒng)將拒絕服務(wù)。
4.3.2 外部系統(tǒng)管理
外部系統(tǒng)配置提供了對(duì)外部訪問(wèn)者的配置功能,外部系統(tǒng)的定義需要包括 IP地址、鑒權(quán)碼以及最大連接數(shù)的定義,系統(tǒng)能夠根據(jù)這些信息去定制外部系統(tǒng)的訪問(wèn)鑒權(quán),訪問(wèn)鑒權(quán)可以打開或者關(guān)閉,同時(shí)可以為外部系統(tǒng)配置相關(guān)的服務(wù)訪問(wèn)權(quán)限,外部系統(tǒng)訪問(wèn)無(wú)權(quán)限訪問(wèn)的系統(tǒng)時(shí),將會(huì)被拒絕訪問(wèn)。
4.3.3 認(rèn)證方式管理
提供了認(rèn)證方式的定義功能,認(rèn)證方式包括了名義和編碼,認(rèn)證方式的處理邏輯將通過(guò)硬編碼的方式實(shí)現(xiàn),即通過(guò)相應(yīng)的編碼,去獲取對(duì)應(yīng)的處理邏輯。
認(rèn)證方式包括驗(yàn)證碼認(rèn)證、用戶名密碼認(rèn)證等方式。認(rèn)證方式的信息包括名稱、編碼、創(chuàng)建時(shí)間等。
4.4 基礎(chǔ)管理
4.4.1 數(shù)據(jù)源管理
數(shù)據(jù)源管理提供了對(duì)數(shù)據(jù)源的定義,數(shù)據(jù)瘦身系統(tǒng)基本上是對(duì)外部數(shù)據(jù)源,如數(shù)據(jù)庫(kù)、文件等操作,因此需要一個(gè)統(tǒng)一的界面去管理所涉及到的數(shù)據(jù)源的信息。
數(shù)據(jù)源的信息包括了名稱、類型、狀態(tài)、用戶名、密碼、驅(qū)動(dòng)、連接串及備注等信息。
4.4.2 異常管理
定義異常的信息及編碼,系統(tǒng)中拋出來(lái)的異常信息必須與這里的定義對(duì)應(yīng),否則無(wú)法攔截出相關(guān)的日志信息。
異常信息包括名稱、密碼及備注等信息。
4.4.3 策略管理
策略管理提供了任務(wù)執(zhí)行的策略的管理,策略包括了一次執(zhí)行或者循環(huán)執(zhí)行、執(zhí)行時(shí)限、時(shí)間單位、時(shí)限值、告警時(shí)限值、執(zhí)行周期、執(zhí)行開始時(shí)間、執(zhí)行結(jié)束時(shí)間、執(zhí)行后關(guān)聯(lián)任務(wù)等信息,策略是驅(qū)動(dòng)任務(wù)執(zhí)行的主要約束。
4.4.4 告警管理
告警管理提供告警信息的處理配置,可以配置為發(fā)短信告警、郵件告警或者僅記錄,告警需要關(guān)聯(lián)到指定的異常類型,負(fù)責(zé)特定異常信息的告警。
告警的信息包括了異常類型、告警級(jí)別、告警條件、告警頻度、處理人、通知方式、狀態(tài)等信息,并針對(duì)這些信息提供查詢過(guò)濾功能。
在產(chǎn)生告警的時(shí)候,將針對(duì)告警信息進(jìn)行解析,并映射到已經(jīng)預(yù)定義好的告警上面,并展現(xiàn)出相應(yīng)的處理過(guò)程。
4.5 存儲(chǔ)管理
4.5.1 存儲(chǔ)倉(cāng)庫(kù)管理
存儲(chǔ)管理提供了對(duì)存儲(chǔ)倉(cāng)庫(kù)的管理,可以定義存儲(chǔ)倉(cāng)庫(kù)并初始化存儲(chǔ)倉(cāng)庫(kù),如果一個(gè)存儲(chǔ)倉(cāng)庫(kù)的類型為數(shù)據(jù)庫(kù),可以從其他數(shù)據(jù)庫(kù)導(dǎo)入表的信息,表的信息對(duì)應(yīng)到存儲(chǔ)單元,字段的信息對(duì)應(yīng)到存儲(chǔ)單元的屬性。
倉(cāng)庫(kù)的信息包括了名稱、類型、狀態(tài)、用戶名、密碼、驅(qū)動(dòng)、連接串及備注等信息,通過(guò)這些信息系統(tǒng)能夠連接上目標(biāo)系統(tǒng)。
4.5.2 存儲(chǔ)單元管理
存儲(chǔ)單元對(duì)應(yīng)存儲(chǔ)倉(cāng)庫(kù)的信息,類似于數(shù)據(jù)庫(kù)-表的關(guān)系,在數(shù)據(jù)瘦身的后端為數(shù)據(jù)庫(kù)的情況下,存儲(chǔ)單元即是一張表,包括表相關(guān)的屬性,例如字段、主鍵等信息。存儲(chǔ)單元的屬性信息可以通過(guò)導(dǎo)入某個(gè)表的屬性完成。
存儲(chǔ)單元的信息包括名稱、所屬倉(cāng)庫(kù)、狀態(tài)、創(chuàng)建時(shí)間以及屬性信息,屬性信息包括名稱、編碼、值類型和字段類型等信息。
4.5.3 存儲(chǔ)視圖管理
存儲(chǔ)視圖提供了服務(wù)對(duì)數(shù)據(jù)訪問(wèn)的一個(gè)入口,數(shù)據(jù)服務(wù)通過(guò)訪問(wèn)視圖實(shí)現(xiàn)對(duì)數(shù)據(jù)的訪問(wèn),存儲(chǔ)視圖可以是一個(gè)數(shù)據(jù)庫(kù)的視圖,存儲(chǔ)過(guò)程提供版本的功能,通過(guò)版本管理應(yīng)對(duì)視圖的變化?!?/p>
[1] 陳劼,王鑫. 業(yè)務(wù)支撐系統(tǒng)大數(shù)據(jù)遷移的質(zhì)量與時(shí)間管控[J]. 江蘇通信,2013(5):53-54.
[2] 黃昆. 數(shù)據(jù)“瘦身”,分層存儲(chǔ)[J]. 中國(guó)計(jì)算機(jī)用戶,2007(2):60-61.
[3] 方慕賢,吳聲援. 設(shè)備管理信息系統(tǒng)的“瘦身”[J].中國(guó)設(shè)備工程,2013(12):44-45.
Development Scheme of a Data Slimming System
LIU Weimin,WANG Jie,F(xiàn)ENG Weili
(Tianjin branch of China United Network Communications Corp,Tianjin 300204,China)
The goal of data slimming system construction is to solve the problems of poor system performance caused by growing historical data of telecom operators and the occupation of expensive storage space,and to provide an effective solution to unified storage and management of historical data.Through data extraction from supporting databases to non relational database(HBase)by the slimming system,users are able to get access to historical data through an interface provided by the system,so as to fulfill data cleaning of the production database and speed up data access speed to historical database.The data slimming system also provides fast access to historical data.Through optimization of both data storage and indexing,the access to historical data will be far more improved compared with others without the slimming system,thus enhancing users’ satisfaction.
data slimming;HBase;process engine
TP399
A
1006-8945(2015)09-0031-03
2015-08-06