在數(shù)字化轉(zhuǎn)型進(jìn)程中,檔案管理系統(tǒng)正面臨底層文件架構(gòu)的結(jié)構(gòu)性挑戰(zhàn),傳統(tǒng)線(xiàn)性尋址機(jī)制與指數(shù)級(jí)增長(zhǎng)的文件量形成根本性沖突,樹(shù)形目錄的路徑解析成本隨層級(jí)深度呈冪級(jí)上升,而傳統(tǒng)文件系統(tǒng)的元數(shù)據(jù)管理能力已逼近百萬(wàn)級(jí)文件閾值。當(dāng)前,檔案管理系統(tǒng)的數(shù)據(jù)查詢(xún)鏈路遵循“客戶(hù)端 $$ 應(yīng)用服務(wù)器 $$ 數(shù)據(jù)庫(kù)存儲(chǔ)服務(wù)器”四級(jí)架構(gòu),其中文件查找效率作為數(shù)據(jù)訪(fǎng)問(wèn)的首道關(guān)口,直接決定系統(tǒng)響應(yīng)時(shí)效與用戶(hù)體驗(yàn)。作為早期開(kāi)始探索檔案數(shù)字化的綜合性檔案館,在系統(tǒng)老化與數(shù)據(jù)激增的雙重壓力下,通過(guò)優(yōu)化數(shù)據(jù)組織邏輯,在不更換硬件的前提下實(shí)現(xiàn)查詢(xún)效能的提升。
一、檔案管理系統(tǒng)現(xiàn)狀
采用的檔案管理系統(tǒng)為早期C/S架構(gòu)的集中式存儲(chǔ)體系,設(shè)計(jì)理念存在典型的互聯(lián)網(wǎng)早期的技術(shù)烙印,文件組織遵循\"物理庫(kù)房數(shù)字化映射”的機(jī)械邏輯,通過(guò)類(lèi)似于樹(shù)形結(jié)構(gòu)(全宗類(lèi)一表名一全宗號(hào))實(shí)現(xiàn)層級(jí)管控,本質(zhì)是將實(shí)體檔案的“庫(kù)房一貨架一案卷”物理結(jié)構(gòu)生硬移植到數(shù)字空間。檔案管理系統(tǒng)在技術(shù)應(yīng)用和服務(wù)實(shí)踐中,暴露出以下突出問(wèn)題。
(一)與時(shí)代發(fā)展要求存在差距
現(xiàn)有檔案管理系統(tǒng)作為早期數(shù)字化轉(zhuǎn)型的開(kāi)拓性實(shí)踐,其設(shè)計(jì)在當(dāng)時(shí)具有前瞻性突破,創(chuàng)新構(gòu)建了實(shí)體檔案數(shù)字化管理體系,完美契合彼時(shí)的技術(shù)條件與業(yè)務(wù)場(chǎng)景,在實(shí)體檔案向數(shù)字化轉(zhuǎn)型的關(guān)鍵階段發(fā)揮了不可替代的歷史作用。然而伴隨人工智能、大數(shù)據(jù)等技術(shù)的躍遷式發(fā)展,這套曾引領(lǐng)行業(yè)變革的架構(gòu)正面臨代際性挑戰(zhàn):萬(wàn)級(jí)文件規(guī)模下的樹(shù)形尋址效率呈指數(shù)級(jí)衰減,元數(shù)據(jù)結(jié)構(gòu)的單一性更無(wú)法滿(mǎn)足語(yǔ)義化標(biāo)注、知識(shí)圖譜關(guān)聯(lián)等新一代技術(shù)標(biāo)準(zhǔn)。這些系統(tǒng)性局限并非源于設(shè)計(jì)缺陷,而是技術(shù)迭代周期中基礎(chǔ)設(shè)施與創(chuàng)新需求必然出現(xiàn)的代際鴻溝,折射出數(shù)字技術(shù)螺旋式演進(jìn)的基本規(guī)律。
(二)系統(tǒng)性能呈現(xiàn)衰退態(tài)勢(shì)
在數(shù)據(jù)量級(jí)呈指數(shù)級(jí)增長(zhǎng)、訪(fǎng)問(wèn)模式向智能化轉(zhuǎn)型的新時(shí)代背景下,文件架構(gòu)的技術(shù)要求已發(fā)生深刻變革。當(dāng)前系統(tǒng)架構(gòu)面臨三重現(xiàn)實(shí)挑戰(zhàn):其一,海量數(shù)據(jù)持續(xù)累積導(dǎo)致存儲(chǔ)容量逼近物理極限,現(xiàn)有架構(gòu)難以支撐長(zhǎng)期可持續(xù)的數(shù)據(jù)擴(kuò)展需求。其二,樹(shù)形尋址機(jī)制在百萬(wàn)級(jí)文件規(guī)模下效率驟降,路徑解析復(fù)雜度呈冪級(jí)增長(zhǎng),訪(fǎng)問(wèn)延遲問(wèn)題日益凸顯。其三,單體數(shù)據(jù)庫(kù)與文件系統(tǒng)的緊耦合架構(gòu)無(wú)法適配存算分離的智能化需求,系統(tǒng)整體性能呈現(xiàn)邊際遞減趨勢(shì)。對(duì)于檔案管理機(jī)構(gòu)而言,系統(tǒng)運(yùn)行的穩(wěn)定性始終是首要技術(shù)指標(biāo),在確保數(shù)據(jù)安全性的基礎(chǔ)前提下,開(kāi)展文件架構(gòu)的系統(tǒng)分析與優(yōu)化調(diào)適已成為提升服務(wù)效能的必然選擇。
(三)系統(tǒng)運(yùn)行卡頓
日均查檔需求有數(shù)十條,一般情況下檔案響應(yīng)時(shí)間平均在3秒左右,但在查詢(xún)“D地區(qū)”模塊檔案時(shí),查詢(xún)時(shí)間會(huì)窺升至30秒甚至2分鐘,期間檔案管理系統(tǒng)出現(xiàn)卡頓,表現(xiàn)為服務(wù)器未響應(yīng)或響應(yīng)時(shí)間長(zhǎng)。在多用戶(hù)同時(shí)查檔時(shí),卡頓現(xiàn)象尤其嚴(yán)重,存在大量用戶(hù)原地等待服務(wù)器響應(yīng)的情況
二、優(yōu)化檔案管理系統(tǒng)性能的主要做法
(一)系統(tǒng)瓶頸診斷,對(duì)問(wèn)題進(jìn)行溯源
分別對(duì)服務(wù)器進(jìn)行普通查詢(xún)測(cè)試、卡頓檔案查詢(xún)測(cè)試、并發(fā)測(cè)試。對(duì)服務(wù)器進(jìn)行性能檢測(cè),重點(diǎn)排查CPU占用率、內(nèi)存占用率、硬盤(pán)占用率、網(wǎng)絡(luò)占用率等情況,并對(duì)上述資源進(jìn)行記錄,分析系統(tǒng)卡頓原因。經(jīng)測(cè)試,發(fā)現(xiàn)在查詢(xún)數(shù)據(jù)庫(kù)時(shí)CPU占用率由20% 升至 60% ,內(nèi)存占用率無(wú)顯著提高,硬盤(pán)占用率瞬時(shí)提升較大,網(wǎng)絡(luò)占用率較為穩(wěn)定。通過(guò)資源監(jiān)視工具,對(duì)硬盤(pán)占用率進(jìn)行進(jìn)一步分析,在查詢(xún)檔案時(shí),觀測(cè)文件具體位置,發(fā)現(xiàn)“D地區(qū)”檔案原文存在于一個(gè)“十萬(wàn)級(jí)”數(shù)據(jù)量的文件夾中,其文件夾加載時(shí)間約為30秒左右,正常檔案原文存在于“十級(jí)”數(shù)據(jù)量的文件夾中,未感覺(jué)到有加載時(shí)間,文件夾加載時(shí)間與檔案管理系統(tǒng)查詢(xún)卡頓時(shí)間比較吻合。將以上問(wèn)題歸納為:在樹(shù)形結(jié)構(gòu)中,當(dāng)單層樹(shù)存在寬度過(guò)大情況時(shí),下一層樹(shù)的寬度就冪次增長(zhǎng),導(dǎo)致性能指數(shù)下降。解決辦法為合理構(gòu)建樹(shù)形結(jié)構(gòu)分級(jí),在不額外拓深樹(shù)高的同時(shí),控制樹(shù)寬。
(二)解析數(shù)據(jù)結(jié)構(gòu),保證數(shù)據(jù)安全
在完成初步問(wèn)題溯源后,對(duì)軟件數(shù)據(jù)庫(kù)展開(kāi)深度分析,重點(diǎn)探究數(shù)據(jù)庫(kù)結(jié)構(gòu)與檔案管理原文的映射關(guān)系。通過(guò)對(duì)數(shù)據(jù)庫(kù)關(guān)聯(lián)表結(jié)構(gòu)的解析發(fā)現(xiàn),系統(tǒng)采用多表關(guān)聯(lián)模式存儲(chǔ)檔案數(shù)據(jù),每個(gè)檔案系列均配置若干關(guān)系表,并通過(guò)唯一標(biāo)識(shí)字段(如檔案編號(hào))建立表間關(guān)聯(lián)。進(jìn)一步對(duì)館內(nèi)數(shù)據(jù)庫(kù)進(jìn)行質(zhì)量審查,發(fā)現(xiàn)表內(nèi)數(shù)據(jù)還存在數(shù)據(jù)重復(fù)、數(shù)據(jù)錯(cuò)誤率高、單表數(shù)據(jù)量過(guò)大等問(wèn)題。
(三)設(shè)計(jì)技術(shù)方案,分步進(jìn)行實(shí)驗(yàn)
為確保檔案資源安全,對(duì)館內(nèi)數(shù)據(jù)庫(kù)與檔案原文進(jìn)行了多套備份。通過(guò)重新設(shè)計(jì)文件夾分級(jí)布局,根據(jù)系統(tǒng)數(shù)據(jù)規(guī)模、數(shù)據(jù)格式,分級(jí)導(dǎo)出原文(為減少系統(tǒng)升級(jí)調(diào)優(yōu)時(shí)對(duì)查詢(xún)業(yè)務(wù)的影響,最大程度保障原文導(dǎo)出失敗時(shí)數(shù)據(jù)的完整性,本文所指的導(dǎo)出,均為實(shí)際意義上的復(fù)制)。針對(duì)原始數(shù)據(jù)質(zhì)量較低的問(wèn)題,先對(duì)數(shù)據(jù)進(jìn)行二次分類(lèi),細(xì)分為無(wú)錯(cuò)誤數(shù)據(jù)與有錯(cuò)誤數(shù)據(jù)。對(duì)于無(wú)錯(cuò)誤數(shù)據(jù),首先根據(jù)其唯一標(biāo)識(shí)查詢(xún)相關(guān)數(shù)據(jù)表進(jìn)行比對(duì),去重篩查后,留下無(wú)關(guān)聯(lián)數(shù)據(jù),手動(dòng)建立此部分?jǐn)?shù)據(jù)的關(guān)聯(lián)關(guān)系。至此,原傳統(tǒng)整理方法數(shù)據(jù)庫(kù)中僅剩錯(cuò)誤數(shù)據(jù)。對(duì)于錯(cuò)誤數(shù)據(jù)中的缺項(xiàng)數(shù)據(jù)、異常值數(shù)據(jù),通過(guò)人工查看原文,糾正或刪除錯(cuò)誤。小規(guī)模進(jìn)行實(shí)驗(yàn),將不常用的數(shù)據(jù)表進(jìn)行備份,對(duì)數(shù)據(jù)表進(jìn)行處理,修改原文映射路徑,通過(guò)檔案管理系統(tǒng)查閱修改后的全宗,檢測(cè)功能是否正常。
(四)大規(guī)模數(shù)據(jù)導(dǎo)出,處理導(dǎo)出錯(cuò)誤
選取非工作日或查閱利用人群較少的時(shí)間段,分析CPU線(xiàn)程數(shù)和占用率情況,為導(dǎo)出工具合理分配線(xiàn)程,對(duì)數(shù)據(jù)進(jìn)行導(dǎo)出。同時(shí),做好數(shù)據(jù)導(dǎo)出時(shí)的容災(zāi)準(zhǔn)備,如斷電時(shí)在UPS承載時(shí)間內(nèi),取消數(shù)據(jù)導(dǎo)出,記錄當(dāng)前導(dǎo)出情況,確保服務(wù)安全。在原文數(shù)據(jù)導(dǎo)出完畢后,分析導(dǎo)出日志。有以下錯(cuò)誤情況:一是導(dǎo)出線(xiàn)程異常中斷。二是原文數(shù)據(jù)丟失。三是數(shù)據(jù)資源競(jìng)爭(zhēng)問(wèn)題(如有其他客戶(hù)端正在使用該數(shù)據(jù),導(dǎo)致數(shù)據(jù)導(dǎo)出失敗)。
(五)重構(gòu)庫(kù)表關(guān)系,用戶(hù)實(shí)測(cè)體驗(yàn)
在處理完導(dǎo)出數(shù)據(jù)后,編寫(xiě)SQL語(yǔ)句,修改庫(kù)表對(duì)應(yīng)關(guān)系,使得檔案管理軟件可以定位到新導(dǎo)出的原文文件。經(jīng)使用測(cè)試,系統(tǒng)查詢(xún)檔案效率明顯提高,系統(tǒng)響應(yīng)速度全面提升,“D地區(qū)”檔案查詢(xún)時(shí)間優(yōu)化至5秒左右,大大提升用戶(hù)體驗(yàn)。
作者單位: