趙勇+劉文光
(沈陽(yáng)理工大學(xué) 遼寧 沈陽(yáng) 110159)
摘 要:在面向智慧城的網(wǎng)絡(luò)數(shù)據(jù)采集中,數(shù)據(jù)格式化入庫(kù)是核心技術(shù)之一,本文首先介紹了普遍采用的入庫(kù)模式并分析了其缺點(diǎn),其次給出了幾種簡(jiǎn)化入庫(kù)操作及提高入庫(kù)程序效率及復(fù)用性的方式,最后介紹了在入庫(kù)過(guò)程中需要特殊處理的幾個(gè)方面的內(nèi)容。
關(guān)鍵詞:智慧城市;網(wǎng)絡(luò)數(shù)據(jù)采集;數(shù)據(jù)入庫(kù)
引言
智慧城市是運(yùn)用信息和通信技術(shù)手段感測(cè)、分析、整合城市運(yùn)行核心系統(tǒng)等關(guān)鍵信息,對(duì)民生、公共安全、城市服務(wù)、工商業(yè)活動(dòng)等各種需求做出智能響應(yīng),其實(shí)質(zhì)是利用先進(jìn)的信息技術(shù),實(shí)現(xiàn)智慧式管理和運(yùn)行,進(jìn)而人們創(chuàng)造美好的生活,促進(jìn)城市和諧、可持續(xù)發(fā)展。網(wǎng)絡(luò)運(yùn)行商為其搭建了巨大的網(wǎng)絡(luò),但仍然存在著對(duì)骨干網(wǎng)數(shù)據(jù)采集以及數(shù)據(jù)的分析入庫(kù)任務(wù)量龐大等問(wèn)題,因此對(duì)海量網(wǎng)絡(luò)數(shù)據(jù)入庫(kù)的研究十分重要,現(xiàn)將其相關(guān)研究分析如下。
一、網(wǎng)絡(luò)采集數(shù)據(jù)入庫(kù)處理
數(shù)據(jù)入庫(kù)是網(wǎng)絡(luò)數(shù)據(jù)采集的基本功能之一,一般的操作方式就是按照入庫(kù)要求形成sql語(yǔ)句,執(zhí)行后插入到數(shù)據(jù)庫(kù)中。但實(shí)現(xiàn)過(guò)程有所不同,普遍采用的是單個(gè)表寫(xiě)程序?qū)崿F(xiàn)數(shù)據(jù)插入的模式,存在的問(wèn)題就是當(dāng)數(shù)據(jù)表名稱或字段發(fā)生變化或者是新增加一個(gè)入庫(kù)要求時(shí),就要修改或者重寫(xiě)一個(gè)程序,效率低,復(fù)用率低。因此,網(wǎng)絡(luò)數(shù)據(jù)采集模型的數(shù)據(jù)入庫(kù)功能需要擁有一個(gè)工具化的入庫(kù)程序,通過(guò)配置實(shí)現(xiàn)入庫(kù)數(shù)據(jù)與數(shù)據(jù)表之間的對(duì)應(yīng),當(dāng)出現(xiàn)上述變化時(shí),只需修改配置即可,另外在采用新的數(shù)據(jù)庫(kù)平臺(tái)時(shí),只需要修改數(shù)據(jù)庫(kù)的連接串或邏輯處理即可。動(dòng)態(tài)采集的數(shù)據(jù)在入庫(kù)時(shí),自動(dòng)匹配對(duì)應(yīng)的采集系統(tǒng)的配置字典表,如果發(fā)現(xiàn)有新的設(shè)備出現(xiàn),則通知資源管理系統(tǒng)。
經(jīng)過(guò)文件格式化后,得到一個(gè)格式固定的標(biāo)準(zhǔn)文件。由于在文件格式化過(guò)程中,僅實(shí)現(xiàn)了數(shù)據(jù)抽取和標(biāo)準(zhǔn)化的輸出,并沒(méi)有針對(duì)個(gè)性化的數(shù)據(jù)處理,如日期格式、個(gè)別數(shù)據(jù)計(jì)算等。因此,入庫(kù)程序需要提供靈活化的配置,即支持對(duì)入庫(kù)標(biāo)準(zhǔn)文件中所含變量的四則運(yùn)算、函數(shù)處理,形成入庫(kù)字段所需的數(shù)值。入庫(kù)與分析一樣,都采用開(kāi)閉原則的實(shí)現(xiàn)方式,即由主程序和配置信息來(lái)實(shí)現(xiàn)功能。數(shù)據(jù)在入庫(kù)的過(guò)程中一般采用如下結(jié)構(gòu),如表1所示。
二、網(wǎng)絡(luò)采集數(shù)據(jù)入庫(kù)性能提升
在入庫(kù)的過(guò)程中,根據(jù)需求有3個(gè)方面需要特殊處理:
1、文件的處理效率
服務(wù)器處理能力較快,瓶頸一般出現(xiàn)在讀寫(xiě)的I/O上,所以少量的處理文件是提高效率的關(guān)鍵;另外盡量避免重復(fù)的打開(kāi)一個(gè)文件進(jìn)行操作。采用的方法主要有:
1)、少處理文件個(gè)數(shù):從配置信息中提取需要處理的文件的關(guān)鍵字,以該關(guān)鍵字為條件查找符合條件的文件,確保打開(kāi)的文件就是需要被處理入庫(kù)的文件(文件名中的業(yè)務(wù)名稱就是配置信息中的業(yè)務(wù)塊名稱,即blockname);
2)、少打開(kāi)文件次數(shù):預(yù)先把配置信息讀入到內(nèi)存中,打開(kāi)文件后依次執(zhí)行與該文件相關(guān)的入庫(kù)要求。
2、配置的靈活性
文件格式化僅實(shí)現(xiàn)了從各種格式的文件到標(biāo)準(zhǔn)格式文件的轉(zhuǎn)換,特殊的個(gè)性化操作需要在入庫(kù)的配置中實(shí)現(xiàn),所以要求配置具有較高的靈活性支持。按照要求,需要以下功能:
1)、支持四則混合運(yùn)算:支持某個(gè)表的某個(gè)字段所需要的值是經(jīng)過(guò)很多變量使用四則運(yùn)算表達(dá)式計(jì)算后得出的值,這樣的方式提高了可入庫(kù)內(nèi)容的匹配性。在分析階段無(wú)法逐個(gè)實(shí)現(xiàn)的個(gè)性化,可以根據(jù)入庫(kù)的要求,提供對(duì)應(yīng)的計(jì)算;
2)、字典表查詢數(shù)據(jù)補(bǔ)充:待入庫(kù)的表中可能存在某些字段使用了現(xiàn)表中已經(jīng)存儲(chǔ)的字典表,即以待入庫(kù)某個(gè)變量為條件查詢字典表獲取更多的數(shù)據(jù),常用的有通過(guò)編碼查詢名稱、以及查詢其歸屬的邏輯關(guān)系(屬于哪個(gè)容器、城市等)。并且在查詢的過(guò)程中,能夠發(fā)現(xiàn)哪個(gè)設(shè)備是新增的,可以及時(shí)向外通知;
3)、自定義函數(shù)支持特殊的個(gè)性化需求:為了最大限度的支持個(gè)性化,入庫(kù)模型需要提供自定義函數(shù)滿足特殊數(shù)據(jù)的處理,比如在比例計(jì)算時(shí),先判斷分母是否為0,避免計(jì)算過(guò)程中報(bào)錯(cuò);比如三元計(jì)算符,ifaorb(條件表達(dá)式,a,b),條件表達(dá)式為真時(shí),取a,否則取b等。自定義函數(shù)可以隨時(shí)按照特殊需求擴(kuò)充。
3、多廠家支持
處理數(shù)據(jù)可能會(huì)遇到數(shù)據(jù)表的數(shù)據(jù)來(lái)自于不同的廠家,這些廠家的公式不同,對(duì)應(yīng)的表達(dá)式也不同。為了實(shí)現(xiàn)不同廠家的不同公式能夠錄入到同一個(gè)表內(nèi),使用ruleset來(lái)區(qū)分。即關(guān)系對(duì)應(yīng)的loadmap通過(guò)ruleset區(qū)分為不同的配置,啟動(dòng)入庫(kù)程序指定入庫(kù)路徑及使用的ruleset。另外的方法是通過(guò)業(yè)務(wù)名稱blockname實(shí)現(xiàn)區(qū)分,即為不同廠家的數(shù)據(jù)命名不同的blockname。這兩種方法可以結(jié)合使用,根據(jù)運(yùn)行服務(wù)器的資源情況,增加進(jìn)程或者使用不同的blockname。增加進(jìn)程,增加了系統(tǒng)資源的開(kāi)銷(xiāo),但是可以提高每秒處理的文件個(gè)數(shù)。
入庫(kù)采用主程序加配置信息的方式,主程序相當(dāng)于一個(gè)驅(qū)動(dòng)的引擎,實(shí)現(xiàn)對(duì)配置涉及到的相關(guān)文件進(jìn)行入庫(kù)操作處理。配置信息稱之為loadmap,在loadmap中包含變量、變量的四則混合運(yùn)算、函數(shù)計(jì)算、字典表查值四大類(lèi)計(jì)算字段對(duì)應(yīng)值的方法。
結(jié)束
本文主要從3個(gè)方面介紹了面向智慧城市的網(wǎng)絡(luò)數(shù)據(jù)采集模型的數(shù)據(jù)入庫(kù)處理,第一通過(guò)配置實(shí)現(xiàn)入庫(kù)數(shù)據(jù)與數(shù)據(jù)表之間的對(duì)應(yīng),提高效率及復(fù)用。第二支持對(duì)入庫(kù)標(biāo)準(zhǔn)文件中所包含變量的四則運(yùn)算、函數(shù)處理。第三自動(dòng)匹配對(duì)應(yīng)的配置字典表。在入庫(kù)的過(guò)程中,通過(guò)少處理文件個(gè)數(shù)和少打開(kāi)文件次數(shù)方法來(lái)提高對(duì)文件的處理效率。通過(guò)支持四則混合運(yùn)算、支持字典表查詢數(shù)據(jù)補(bǔ)充、支持自定義函數(shù)來(lái)提高配置靈活性以及對(duì)多廠家支持,來(lái)提高面向智慧城市的網(wǎng)絡(luò)數(shù)據(jù)入庫(kù)的效率。因此,充分發(fā)揮數(shù)據(jù)入庫(kù)靈活高效的優(yōu)勢(shì),并對(duì)網(wǎng)絡(luò)采集數(shù)據(jù)入庫(kù)進(jìn)行模式化,智能化地管理與利用,對(duì)網(wǎng)絡(luò)性能進(jìn)行監(jiān)視與控制,不僅能夠有效緩解智慧城市建設(shè)的巨大資金壓力,更可以有效的服務(wù)大眾。
參考文獻(xiàn)
[1] Prakash, Vishal,Casey, Robert. SNMP Is Becoming The New Framework For SCADA[J]. Pipeline &; Gas Journal,2009,2362.
[2] Kao, Ken. How Ethernet networks can add health, visibility to industria l applications[J]. Control Engineering,2015,:.
[3] Ahmad Kamil Abdul Hamid,Yoshihiro Kawahara,Tohru Asami. Web Cache Design and Implementation for Efficient SNMP Monitoring towards Internet-Scale Network Management.[J]. IEICE Transactions,2011,94-B.