孫建軍
(河北鋼鐵集團(tuán)承德分公司 運(yùn)營改善部信息中心,河北 承德 067002)
BLOB數(shù)據(jù)在線導(dǎo)出系統(tǒng)在承鋼計(jì)量中的應(yīng)用
孫建軍
(河北鋼鐵集團(tuán)承德分公司 運(yùn)營改善部信息中心,河北 承德 067002)
本文主要介紹在河北鋼鐵集團(tuán)承德分公司(簡稱“承鋼”)遠(yuǎn)程計(jì)量系統(tǒng)中應(yīng)用BLOB數(shù)據(jù)在線導(dǎo)出技術(shù),解決數(shù)據(jù)量巨增后給系統(tǒng)帶來的沖擊及數(shù)據(jù)遷移后的實(shí)際應(yīng)用效果,重點(diǎn)介紹了BLOB數(shù)據(jù)在線導(dǎo)出系統(tǒng)的構(gòu)成、運(yùn)行原理和實(shí)際應(yīng)用,并深入探討B(tài)OLB數(shù)據(jù)類型在系統(tǒng)中的重要意義。
BOLB數(shù)據(jù);在線導(dǎo)出;計(jì)量系統(tǒng)
承鋼公司推行集中計(jì)量,實(shí)施計(jì)量站點(diǎn)無人值守、遠(yuǎn)程控制的模式。同時(shí)為確保計(jì)量數(shù)據(jù)準(zhǔn)確無誤,在系統(tǒng)中加入視頻監(jiān)控功能模塊進(jìn)行動態(tài)拍照。為適應(yīng)管理部門監(jiān)控和檢索需要,監(jiān)控照片存入ORACLE數(shù)據(jù)庫中,存儲格式為BLOB數(shù)據(jù)類型。在系統(tǒng)運(yùn)行半年后,數(shù)據(jù)增長過快,往往會出現(xiàn)系統(tǒng)運(yùn)行緩慢,甚至崩潰的現(xiàn)象。按季度備份因數(shù)據(jù)庫過于龐大、拷貝時(shí)間過長,冷備無法實(shí)現(xiàn),而采用熱備方式,容易出現(xiàn)系統(tǒng)卡死現(xiàn)象,無法進(jìn)行計(jì)量。通過實(shí)施BOLB在線導(dǎo)出,能成功解決數(shù)據(jù)增長過快、系統(tǒng)運(yùn)行崩潰的技術(shù)難題,同時(shí)釋放數(shù)據(jù)庫空間,使系統(tǒng)負(fù)擔(dān)大幅度下降,保障系統(tǒng)更加穩(wěn)定、流暢。
BOLB作為數(shù)據(jù)庫中可以存儲二進(jìn)制文件的字段類型,可存儲完整文件,如Word、TXT數(shù)據(jù)等。它可以讓開發(fā)者完全不用理會文件的內(nèi)容,只需知道如何處理即可。BOLB數(shù)據(jù)格式存在兩面性,在方便使用的同時(shí)需占用大量存儲空間,極易造成數(shù)據(jù)庫性能下降,甚至系統(tǒng)崩潰。BLOB在線導(dǎo)出技術(shù)在系統(tǒng)運(yùn)行的同時(shí),采用后臺處理方式實(shí)現(xiàn)數(shù)據(jù)在線導(dǎo)出。數(shù)據(jù)在線導(dǎo)出是整個(gè)導(dǎo)出系統(tǒng)的核心部分,只有完成數(shù)據(jù)的導(dǎo)出,才能進(jìn)行數(shù)據(jù)的空間清理工作。數(shù)據(jù)在線導(dǎo)出在完成計(jì)量數(shù)據(jù)導(dǎo)出的同時(shí)還要保證管理部門對數(shù)據(jù)管理的需求,保持計(jì)量數(shù)據(jù)的可追查性。BLOB在線導(dǎo)出技術(shù)首次使用文件夾為數(shù)據(jù)載體,動態(tài)生成數(shù)據(jù)關(guān)聯(lián),以實(shí)現(xiàn)數(shù)據(jù)脫離數(shù)據(jù)庫后能夠繼續(xù)使用。BLOB在線導(dǎo)出系統(tǒng)主要包括數(shù)據(jù)導(dǎo)出、圖片壓縮、自動創(chuàng)建文件夾、文檔自動創(chuàng)建索引、數(shù)據(jù)庫空間清理5個(gè)部分。
2.1數(shù)據(jù)導(dǎo)出
為不影響系統(tǒng)的正常運(yùn)行,在線系統(tǒng)采用后臺實(shí)施循環(huán)取數(shù),逐一抓取數(shù)據(jù),每次只對一條BLOB數(shù)據(jù)進(jìn)行處理的原則,既保證了BOLB數(shù)據(jù)的高效導(dǎo)出,又不影響現(xiàn)有用戶的使用。
2.2圖片壓縮
計(jì)量系統(tǒng)每次計(jì)量需采集12路圖片信息、2路計(jì)量數(shù)據(jù)信息,每次需要數(shù)據(jù)庫空間20 MB左右,如果按照現(xiàn)有格式導(dǎo)出一季度的數(shù)據(jù)信息需200 GB的空間容量,對硬盤的沖擊非常大。數(shù)據(jù)信息通過將BMP格式的圖片轉(zhuǎn)換為JPG格式,然后再進(jìn)行圖片壓縮工作,這樣導(dǎo)出后的圖片容量只有6 MB,大大降低了對硬盤的需求。
2.3自動創(chuàng)建文件夾
數(shù)據(jù)導(dǎo)出時(shí),每一次計(jì)量任務(wù)需要生成一個(gè)文件夾,一般采用計(jì)量單號的方式命名文件夾,以便生成動態(tài)的數(shù)據(jù)關(guān)聯(lián),但數(shù)百萬的計(jì)量數(shù)據(jù)同時(shí)存在一個(gè)文件夾中會導(dǎo)致系統(tǒng)崩潰,無法打開。筆者通過多次嘗試,最后采取了使用程序,按照BLOB創(chuàng)建時(shí)間動態(tài)生成文件夾,以年、月為節(jié)點(diǎn)每日形成一個(gè)文件夾。
2.4文檔自動創(chuàng)建索引
使用DOS命令,通過dir命令中帶有“/b”參數(shù),去掉文件列表中的標(biāo)題信息和摘要。復(fù)制獲取到的文件名至Excel A列,得到文件的完整路徑,再輸入“=HYPERLINK(B1)”,獲取對應(yīng)路徑的快捷方式。將文件擴(kuò)展名改為批處理文件的方式,即“.bat”格式,雙擊執(zhí)行該批處理文件,可以動態(tài)關(guān)聯(lián)文件夾路徑。通過該種方式,實(shí)現(xiàn)BLOB數(shù)據(jù)在脫離數(shù)據(jù)庫后依舊能夠在程序中展示的目的,管理者可通過計(jì)量單號輕易找到所要查看的BLOB導(dǎo)出數(shù)據(jù)。
2.5數(shù)據(jù)庫空間清理
在完成數(shù)據(jù)在線導(dǎo)出后,可以自由選擇采用冷備份還是熱備份的方式完成數(shù)據(jù)庫的空間清理工作。初次進(jìn)行時(shí)往往采用冷備份方式。
在ORACLE數(shù)據(jù)庫中,執(zhí)行表的刪除操作不會降低該表的高水位線。而全表掃描將始終讀取一個(gè)段(extent)中所有低于高水位線標(biāo)記的塊。如果在執(zhí)行刪除操作后不降低高水位線標(biāo)記,則將導(dǎo)致查詢語句的性能下降。可以嘗試下面2種方法降低高水位線標(biāo)記:執(zhí)行表重建指令;在線轉(zhuǎn)移表空間.當(dāng)創(chuàng)建一個(gè)對象表以后,不管有沒有插入數(shù)據(jù),都會占用一些塊,ORACLE也會給其分配必要的空間。同樣,釋放自由空間后,依然保留部分空間給這個(gè)表。ALTER TABLE MOVE后面不跟參數(shù)也可以,不跟參數(shù)的表仍在原表的空間中,Move后要重建索引。如果以后還要繼續(xù)向這個(gè)表增加數(shù)據(jù),沒有必要move,只是釋放出來的空間只能這個(gè)表用,其他的表或者segment無法使用該空間。先執(zhí)行alter table table_name shrink space,在執(zhí)行該指令之前必須允許行移動,復(fù)制要保留的數(shù)據(jù)到臨時(shí)表t中,drop原表,然后rename臨時(shí)表t為原表。
承鋼公司首次實(shí)現(xiàn)了BLOB數(shù)據(jù)在不停機(jī)、不降低用戶使用效率的情況下以文件夾為數(shù)據(jù)庫,按計(jì)量日期、單號自動創(chuàng)建文件夾,自動存入8路圖片,自動創(chuàng)建Excel文件關(guān)聯(lián),且數(shù)據(jù)仍具有序列,用戶可快速檢索到所需數(shù)據(jù)。經(jīng)過數(shù)據(jù)的導(dǎo)出,數(shù)據(jù)庫空間由400 G降至40 G,下降至原來的1/10。現(xiàn)在數(shù)據(jù)庫可按照正常計(jì)劃實(shí)現(xiàn)每季度熱備,大大提高了數(shù)據(jù)庫的穩(wěn)定性和安全性。
BOLB在線導(dǎo)出系統(tǒng)于2014年3月調(diào)試通過正式投入使用以來,經(jīng)過長期運(yùn)行測試達(dá)到了預(yù)期目的。第一,實(shí)現(xiàn)了BLOB數(shù)據(jù)格式的在線導(dǎo)出,解決了BLOB大類型數(shù)據(jù)數(shù)據(jù)的歸檔、清理難題。徹底解決了不能在線熱備問題,數(shù)據(jù)規(guī)模大幅降低,遠(yuǎn)程計(jì)量系統(tǒng)運(yùn)行效率得到了很大提高。第二,采用文件夾為數(shù)據(jù)庫的載體進(jìn)行數(shù)據(jù)檢索、按照文件夾名創(chuàng)建文件關(guān)聯(lián),實(shí)現(xiàn)快速定位,確保管理部門正常的監(jiān)管工作。
10.3969/j.issn.1673 - 0194.2015.12.044
TP311
A
1673-0194(2015)12-0057-01
2015-04-22