解亞龍,王萬(wàn)齊,牛宏睿
鐵路工程文檔平臺(tái)關(guān)鍵技術(shù)研究與應(yīng)用
解亞龍,王萬(wàn)齊,牛宏睿
(中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081)
針對(duì)我國(guó)鐵路建設(shè)中工程文檔“海量、分散、標(biāo)準(zhǔn)不一、共享困難”等難題,結(jié)合我國(guó)鐵路建設(shè)統(tǒng)一規(guī)劃、統(tǒng)籌管理和建設(shè)移交的行業(yè)特點(diǎn),提出建立基于云存儲(chǔ)的鐵路工程統(tǒng)一多租戶文檔平臺(tái),設(shè)計(jì)文檔平臺(tái)的技術(shù)架構(gòu)、功能架構(gòu)和數(shù)據(jù)模型,對(duì)用戶檢索、文件存儲(chǔ)和支撐服務(wù)等關(guān)鍵技術(shù)進(jìn)行論述,并且在京雄等項(xiàng)目試點(diǎn)應(yīng)用中取得效果和經(jīng)驗(yàn),對(duì)規(guī)范我國(guó)鐵路工程文件資料管理具有指導(dǎo)意義。
鐵路建設(shè);工程文檔;云存儲(chǔ);文檔平臺(tái);分布式文件系統(tǒng);多租戶
2008年中長(zhǎng)期鐵路網(wǎng)規(guī)劃發(fā)布以來(lái),鐵路建設(shè)進(jìn)入高速發(fā)展階段,年均工程建設(shè)資金保持在5 000億元左右、投產(chǎn)里程約3 000 km,成為國(guó)民經(jīng)濟(jì)發(fā)展的堅(jiān)實(shí)基礎(chǔ),我國(guó)鐵路工程建設(shè)具有規(guī)模大、標(biāo)準(zhǔn)高、工期緊、施工難度大、安全風(fēng)險(xiǎn)高等特征,鐵路工程過(guò)程文檔管理存在種類多、樣式雜、數(shù)量大、文件分散和管理繁瑣等問(wèn)題,尤其工地現(xiàn)場(chǎng)文檔資料往往分散存儲(chǔ)在個(gè)人電腦上,缺乏統(tǒng)一的系統(tǒng)管理,存在文件丟失、版本混亂、檢索和利用不方便等突出問(wèn)題,因此提出一個(gè)基于云存儲(chǔ)的多層級(jí)多租戶鐵路工程文檔平臺(tái),為各級(jí)管理機(jī)構(gòu)提供方便的、開箱即用的文檔管理系統(tǒng),有利于規(guī)范我國(guó)鐵路工程文件資料管理,提升我國(guó)鐵路建設(shè)項(xiàng)目管理效能和管理水平。在國(guó)內(nèi)工程領(lǐng)域,核電工程探索基于云平臺(tái)實(shí)現(xiàn)生產(chǎn)文件的分發(fā)與管理,采用文檔管理系統(tǒng)實(shí)現(xiàn)文件發(fā)布和存儲(chǔ),將所有的文檔電子化后著錄到系統(tǒng)進(jìn)行管理,它包含了文件分發(fā)、回收控制、圖情資料借閱和檔案存儲(chǔ)等功能。在石化領(lǐng)域,側(cè)重于工程檔案資料的管理,解決文件歸檔建檔不及時(shí)等問(wèn)題。在民建領(lǐng)域,各地方政府積極推行設(shè)計(jì)文件的數(shù)字化交付、數(shù)字化審圖等工作,實(shí)現(xiàn)設(shè)計(jì)文件和資料向施工階段的數(shù)字化移交,同時(shí)在檔案管理方面也逐步采用云托管的形式,為企業(yè)檔案規(guī)范管理提供支持[1?2]。在鐵路工程領(lǐng)域,基于云存儲(chǔ)的鐵路工程文檔管理尚未見(jiàn)報(bào)道。云存儲(chǔ)是在云計(jì)算概念上延伸和衍生發(fā)展出來(lái)的一個(gè)新的概念,它是指通過(guò)集群應(yīng)用、網(wǎng)格技術(shù)和分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量不同類型的存儲(chǔ)設(shè)備通過(guò)應(yīng)用軟件集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問(wèn)功能的一個(gè)系統(tǒng),云存儲(chǔ)能夠保證數(shù)據(jù)的安全性并節(jié)約存儲(chǔ)空間[3?4]。
鐵路工程文檔平臺(tái)是基于云儲(chǔ)存多租戶的非結(jié)構(gòu)化文檔的統(tǒng)一存儲(chǔ)平臺(tái)架構(gòu),具有3層系統(tǒng)架構(gòu),包括訪問(wèn)層、服務(wù)層和存儲(chǔ)層,主要采用J2EE和Spring等技術(shù)實(shí)現(xiàn)。如圖1所示,訪問(wèn)層用戶包括模板庫(kù)超級(jí)管理員,各建設(shè)單位級(jí)管理員、普通用戶以及各個(gè)業(yè)務(wù)系統(tǒng),支持業(yè)務(wù)系統(tǒng)從模板庫(kù)調(diào)用模板,生成文檔實(shí)例,同時(shí)也支持授權(quán)用戶查詢模板庫(kù),檢索最新的模板和模板的填報(bào)規(guī)則,用戶使用的終端包括普通PC,移動(dòng)終端以及自行開發(fā)的業(yè)務(wù)系統(tǒng),是統(tǒng)一文檔系統(tǒng)的SaaS層(Software as a Service,軟件即服務(wù))。服務(wù)層支持用戶(含業(yè)務(wù)系統(tǒng))與云存儲(chǔ)之間交互,服務(wù)層主要通過(guò)系統(tǒng)功能和微服務(wù)2種方式提供服務(wù),功能上支持模板的維護(hù)、管理、查詢、檢索,同時(shí)對(duì)各個(gè)業(yè)務(wù)系統(tǒng)提供API服務(wù)接口,方便其調(diào)用模板文件,提供文檔實(shí)例的存儲(chǔ)方法、提供文件歸檔管理的服務(wù)接口以及面向文檔流轉(zhuǎn)方面的服務(wù)支持,包括流程定義,流程實(shí)例管理,流程的API等服務(wù),是統(tǒng)一文檔系統(tǒng)的PaaS層(Platform as a Service,平臺(tái)即服務(wù));最底層的是文檔系統(tǒng)的云存儲(chǔ)層,屬于IaaS層(Infrastructure as a Service,基礎(chǔ)設(shè)施即服務(wù)),支持海量文件的存儲(chǔ),采用分布式文件存儲(chǔ)系統(tǒng),通過(guò)業(yè)務(wù)元數(shù)據(jù)實(shí)現(xiàn)文檔對(duì)象的屬性靈活定義和擴(kuò)展,通過(guò)存儲(chǔ)元數(shù)據(jù)實(shí)現(xiàn)文檔對(duì)象的快速檢索,采用集群方式支持存儲(chǔ)容量的橫向擴(kuò)展。
圖1 鐵路工程文檔平臺(tái)系統(tǒng)架構(gòu)
圖2 鐵路工程文檔平臺(tái)主要功能架構(gòu)圖
鐵路工程文檔平臺(tái)作為工程建設(shè)信息化平臺(tái)的文件中臺(tái),從功能架構(gòu)上主要包括3部分的內(nèi)容,分別是文檔模板管理、文檔實(shí)例支撐服務(wù)和工程資料庫(kù)管理,其中文檔模板管理主要實(shí)現(xiàn)鐵路工程建設(shè)過(guò)程用表、用文的格式管理,統(tǒng)一建設(shè)過(guò)程中的格式文檔的版式;其次就是文件實(shí)例服務(wù)支撐,為各個(gè)業(yè)務(wù)系統(tǒng)提供統(tǒng)一的文件存儲(chǔ)服務(wù)、文件流轉(zhuǎn)服務(wù)、快速的格式轉(zhuǎn)換服務(wù)、全文檢索服務(wù)、文檔簽章服務(wù);最后是工程資料庫(kù)系統(tǒng),主要提供面向個(gè)人的文件柜和面向各級(jí)建設(shè)管理機(jī)構(gòu)的資料庫(kù)和歸檔庫(kù)。
文檔模板庫(kù)作為鐵路工程建設(shè)管理平臺(tái)的基礎(chǔ)數(shù)據(jù)之一,主要用戶為模板庫(kù)管理員,各建設(shè)單位資料管理員,授權(quán)的查詢用戶及各業(yè)務(wù)系統(tǒng)(如試驗(yàn)室系統(tǒng)、檢驗(yàn)批系統(tǒng)、日志系統(tǒng)等),其中各級(jí)管理員作為模板庫(kù)的維護(hù)人員,確保模板版式文件的權(quán)威性,授權(quán)用戶可以查詢模板,業(yè)務(wù)系統(tǒng)通過(guò)Restful(Representational State Transfer,相比SOAP是一種更加輕量化的Web應(yīng)用程序架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)風(fēng)格)的方式使用模板文件,生成文檔實(shí)例,完成相關(guān)業(yè)務(wù)。每個(gè)模板具有唯一編碼,支持版本管理,具備格式文件的填報(bào)說(shuō)明。主要功能包括文檔元數(shù)據(jù)管理、模板的分類樹管理、模板屬性的管理、版本管理、多租戶管理和文檔模板的對(duì)外服務(wù)功能。
其中文檔元數(shù)據(jù)作為系統(tǒng)內(nèi)置元數(shù)據(jù)管理功能,為后期文檔溯源和血緣分析提供條件。模板分類樹管理是指支持多維的目錄結(jié)構(gòu)樹管理,由于建設(shè)過(guò)程中格式文檔繁多,管理復(fù)雜,需要多個(gè)維度的分類方式,可按照不同的主題,不同的屬性進(jìn)行分類管理,如目前常用的一種分類方式為:建設(shè)管理類、勘查設(shè)計(jì)類、施工管理類、監(jiān)理管理類、竣工驗(yàn)收類、標(biāo)準(zhǔn)規(guī)范類文檔,且每個(gè)分類下都有細(xì)目。文檔屬性與元數(shù)據(jù)相關(guān),屬性作為文檔關(guān)鍵內(nèi)容的描述,在模板庫(kù)中規(guī)定每類文檔的屬性和屬性集,由于屬性來(lái)自文檔元數(shù)據(jù),因此對(duì)屬性名稱、屬性值以及屬性約束、數(shù)據(jù)類型、值域都有具體規(guī)定,而且每類文檔模板的屬性不同,因此屬性數(shù)量不固定,可支持屬性擴(kuò)展。版本管理主要是支持文檔庫(kù)管理員發(fā)布新版本,廢止舊版本。多租戶管理是由于國(guó)鐵集團(tuán)多層級(jí)的管理架構(gòu),國(guó)鐵集團(tuán)制定總體的模板規(guī)范,對(duì)于未細(xì)化和明確的部分,各建設(shè)單位可自行定義模板。文檔模板的數(shù)據(jù)服務(wù)是模板庫(kù)為各個(gè)業(yè)務(wù)系統(tǒng)提供的SaaS服務(wù)功能,模板庫(kù)作為基礎(chǔ)數(shù)據(jù)之一,各個(gè)業(yè)務(wù)系統(tǒng)通過(guò)授權(quán)的token和文檔編碼獲取文檔模板,文檔庫(kù)返回json格式的模板描述和文件路徑,業(yè)務(wù)系統(tǒng)通過(guò)此文件形成文檔實(shí)例,完成相關(guān)業(yè)務(wù),業(yè)務(wù)系統(tǒng)調(diào)用模板庫(kù)序列見(jiàn)圖3。
文檔實(shí)例支撐服務(wù)是文檔平臺(tái)作為SaaS層為各個(gè)業(yè)務(wù)系統(tǒng)提供統(tǒng)一服務(wù)的核心能力,為各個(gè)業(yè)務(wù)系統(tǒng)提供開箱即用的文件快速安全的存取能 力[5?6],使業(yè)務(wù)系統(tǒng)更加關(guān)注業(yè)務(wù)細(xì)節(jié)和功能實(shí)現(xiàn)。主要表現(xiàn)為文檔存儲(chǔ)服務(wù)、文件流轉(zhuǎn)服務(wù)、格式轉(zhuǎn)換服務(wù)、文件檢索服務(wù)、文檔簽章服務(wù)、日志審計(jì)和文件安全管理等功能。
圖3 業(yè)務(wù)系統(tǒng)與文檔平臺(tái)交互時(shí)序圖
其中文件存儲(chǔ)服務(wù)能夠在封裝和屏蔽底層存儲(chǔ)技術(shù)的基礎(chǔ)上為上層應(yīng)用提供安全快速可靠的存儲(chǔ)服務(wù),自動(dòng)實(shí)現(xiàn)文件的多副本存儲(chǔ),其他業(yè)務(wù)系統(tǒng)(如設(shè)計(jì)管理、檢驗(yàn)批、試驗(yàn)報(bào)告、第三方檢測(cè)等)系統(tǒng)文件均可調(diào)用文件存儲(chǔ)服務(wù)實(shí)現(xiàn)文件的快速存儲(chǔ)。
文件流程服務(wù)是統(tǒng)一文件平臺(tái)提供的統(tǒng)一的流程引擎,支持流程定義、流程執(zhí)行和流程監(jiān)控等功能,為文件審批和流轉(zhuǎn)提供服務(wù)能力。
格式轉(zhuǎn)換服務(wù)提供office格式、CAD格式等文件轉(zhuǎn)為PDF,OFD和H5的轉(zhuǎn)換服務(wù),特別是用戶瀏覽大文件的時(shí)候,通過(guò)Html5的方式自動(dòng)分頁(yè),不用等文件全部下載即可快速瀏覽文件,提升用戶文件瀏覽體驗(yàn)。
文件檢索服務(wù)基于“特征量?特征值”的數(shù)據(jù)結(jié)構(gòu)搭建,實(shí)現(xiàn)工程過(guò)程中各類文檔關(guān)鍵詞、文檔屬性快速檢索,未來(lái)擴(kuò)展支持全文檢索功能。
文檔簽章服務(wù)利用第三方CA系統(tǒng)為平臺(tái)用戶簽發(fā)數(shù)字證書,為各業(yè)務(wù)系統(tǒng)提供電子印章、電子簽名、實(shí)名認(rèn)證、身份認(rèn)證等功能,與第三方CA數(shù)字證書結(jié)合,并為用戶的用章行為提供授權(quán)和驗(yàn)證等服務(wù),以實(shí)現(xiàn)蓋章內(nèi)容的真實(shí)可信、內(nèi)容完整、不可否認(rèn)以及蓋章合法性要求,并針對(duì)應(yīng)用情況,提供相應(yīng)的簽章接口,實(shí)現(xiàn)電子簽名與應(yīng)用的結(jié)合。在鐵路工程實(shí)踐中,PDF和OFD文件為電子簽章的載體,在審批流程中多重簽章的流程見(jiàn)圖4。
圖4 文件審批雙重簽章業(yè)務(wù)流程圖
日志審計(jì)提供文檔創(chuàng)建、流轉(zhuǎn)、查閱和檢索等訪問(wèn)行為的日志記錄;文件安全管理提供文件權(quán)限管理、防止文件外泄、文件水印、防病毒入侵等安全防護(hù)手段。
該系統(tǒng)是基于工程文檔平臺(tái)核心能力建立的工程資料系統(tǒng),提供面向用戶個(gè)人的文檔柜、面向建設(shè)單位的資料庫(kù)和歸檔庫(kù),實(shí)現(xiàn)建設(shè)過(guò)程資料云端存儲(chǔ),個(gè)人文件柜可有效防止個(gè)人PC機(jī)中的資料檔案隨人員流動(dòng)而流失,機(jī)構(gòu)的工程資料分為資料庫(kù)和歸檔庫(kù)2個(gè)版塊進(jìn)行管理,資料庫(kù)存放項(xiàng)目建設(shè)過(guò)程中未歸檔或臨時(shí)存檔的資料,歸檔庫(kù)存放正式組卷歸檔的資料,遵循鐵路項(xiàng)目竣工資料管理法規(guī)和編碼規(guī)則建立統(tǒng)一資料目錄,同時(shí)系統(tǒng)根據(jù)需求可靈活分類和定義屬性,采用多租戶方式,為每個(gè)建設(shè)項(xiàng)目提供獨(dú)立的多維目錄視圖,目錄結(jié)構(gòu)如圖5,以施工文件為例,1到9級(jí)分別是:項(xiàng)目、文件分類(C類為施工文件)、施工標(biāo)段、專業(yè)、構(gòu)筑物(單位工程)、施工文件子分類(31類施工文件)、工點(diǎn)、部位和施工構(gòu)件;資料的收集方式包括接口自動(dòng)收集和資料員手動(dòng)上傳2種方式,其他業(yè)務(wù)系統(tǒng)如設(shè)計(jì)管理系統(tǒng)、調(diào)度系統(tǒng)、監(jiān)理管理系統(tǒng)、試驗(yàn)室管理系統(tǒng)、檢驗(yàn)批系統(tǒng)產(chǎn)生的文檔可自動(dòng)歸檔到資料庫(kù)系統(tǒng)中。
圖5 鐵路工程文檔分類結(jié)構(gòu)樹示意圖
本文提出一種基于鐵路工程文檔的統(tǒng)一模型,表示如式(1):
其中:File是源文檔集合,F(xiàn)ile={1,2,3,…,F}。
Index是索引信息,完成文檔的索引建立,并根據(jù)條件觸發(fā)搜索,文后給出檢索的核心數(shù)據(jù) 結(jié)構(gòu)。
Property是文檔的屬性信息,每類文檔具有不同的屬性集,Property={(Key1:value1), (key2:value2), (key3:value3),…,(keyn:valuen)},見(jiàn)后文數(shù)據(jù)結(jié)構(gòu)。
Tree 是語(yǔ)法樹,表示在檢索時(shí)多個(gè)檢索關(guān)鍵字之間的關(guān)系,如and和or。
Template 是每個(gè)文檔實(shí)例的對(duì)應(yīng)的模板編碼,用于文檔溯源與跟蹤,如果沒(méi)有引用模板,可以 為空。
Search 表示用戶的搜索模式,目前主要針對(duì)文檔關(guān)鍵特征值進(jìn)行檢索。
Weight是計(jì)算搜索文件的權(quán)重,按照經(jīng)典的詞頻?逆文檔頻率算法,稍作改進(jìn)后為式(2):
其中:為文檔Data的總數(shù),D為含有檢索屬性值的文檔數(shù)量,即Property=“檢索值”的文檔數(shù)量,w為該屬性在文檔所有屬性中的所占比重。
Score為檢索結(jié)果和用戶輸入檢索值之間的相關(guān)性,參考詞頻?逆文檔頻率算法模型,利用向量空間模型,一組文檔的集合可以看成文檔空間中的多個(gè)向量,每個(gè)屬性對(duì)應(yīng)一個(gè)坐標(biāo)軸,文檔d在每個(gè)坐標(biāo)軸上的值就是對(duì)應(yīng)屬性的權(quán)重,那么文檔對(duì)應(yīng)的向量為式(3):
因此,利用向量空間模型進(jìn)行相關(guān)性計(jì)算,結(jié)果如式(4):
其中:為用戶檢索向量的屬性值的權(quán)重;表示文檔向量屬性值的權(quán)重;為文檔中屬性的個(gè)數(shù)。
Rank 表示通過(guò)用戶檢索相關(guān)性匹配出來(lái)的結(jié)果排名。
2.2.1 文件特征分析
鐵路工程建設(shè)過(guò)程中多種多樣的版式表格,用于完成不同的工作任務(wù)和審批程序,因此具有不同的屬性描述信息,以批復(fù)文件、檢驗(yàn)批、試驗(yàn)報(bào)告和開工報(bào)告為例,這幾類文件是工程建設(shè)中常見(jiàn)的文檔類型,如圖6,由于文檔用途不同,從各類文檔中提取關(guān)鍵描述信息作為文檔的屬性,方便文檔的查詢、整理、歸檔和存儲(chǔ),用戶不用下載和打開文件就快速了解文件的關(guān)鍵信息,同時(shí),將這些關(guān)鍵描述信息作為文檔定制化的元數(shù)據(jù)描述,為海量文件的快速檢索提供條件。
2.2.2 文檔屬性數(shù)據(jù)結(jié)構(gòu)
根據(jù)上述文件特征,參考“特征量?特征值”的設(shè)計(jì)思路,提出“文檔分類?文檔模板?模板屬性?文檔實(shí)例?屬性實(shí)例”的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)文件屬性的存儲(chǔ)和檢索,同時(shí)根據(jù)文件特征,區(qū)分出關(guān)鍵屬性和擴(kuò)展屬性,主要用5張關(guān)鍵的實(shí)體表作為核心數(shù)據(jù)結(jié)構(gòu),分別是分類表、模板表、模板屬性表、文檔實(shí)例表和屬性實(shí)例表,具體數(shù)據(jù)結(jié)構(gòu)見(jiàn)圖7,該方式解決工程文檔屬性靈活多變,長(zhǎng)短不一的問(wèn)題,并具有良好的擴(kuò)展性,另外屬性表可以擴(kuò)展為關(guān)鍵屬性和擴(kuò)展屬性表。
根據(jù)用戶搜索的興趣模型和檢索習(xí)慣,例如輸入“固霸特大橋樁基”等關(guān)鍵特征值進(jìn)行檢索,雖然文檔屬性是按照“屬性名稱:屬性值”成對(duì)描述文檔特征的,但是根據(jù)用戶檢索的模式,僅輸入關(guān)鍵詞就可以檢索需要的文檔對(duì)象,檢索內(nèi)容可以從屬性實(shí)例表中檢索出來(lái),檢索結(jié)果排序就是前文所述的Rank排序,然后通過(guò)外鍵關(guān)聯(lián)可以方便的找到文檔實(shí)例、文檔模板等信息,因此上述數(shù)據(jù)結(jié)構(gòu)將屬性和屬性值作為2個(gè)表存儲(chǔ)是對(duì)檢索友好的一種設(shè)計(jì)方式[7]。
圖6 工程文檔屬性特征描述圖
圖7 鐵路工程文檔平臺(tái)核心數(shù)據(jù)結(jié)構(gòu)
這樣按照“特征量?特征值”的設(shè)計(jì)思路,方便檢索和屬性靈活擴(kuò)展,但是對(duì)統(tǒng)計(jì)卻是很低效的,因此還需要一組統(tǒng)計(jì)表來(lái)實(shí)現(xiàn)“分類、模板、實(shí)例”不同維度的數(shù)量統(tǒng)計(jì)。
其關(guān)鍵現(xiàn)算法如下:
2.2.3 檢索效率優(yōu)化
上述數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)將文檔存放物理地址和文檔屬性描述分開獨(dú)立存儲(chǔ),將文檔屬性描述集中存放,很好地解決文檔關(guān)鍵屬性信息的檢索,從屬性實(shí)例表中可以快速檢索用戶感興趣的文檔描述信息,如果用戶需要打開文檔,通過(guò)關(guān)聯(lián)的文檔實(shí)例調(diào)用文檔存儲(chǔ)的物理地址打開文檔。
根據(jù)文檔數(shù)量的估算,每km產(chǎn)生2 000份文檔,每份文檔10個(gè)關(guān)鍵屬性,按每年新建鐵路5 000 km,則每年屬性實(shí)例表的數(shù)據(jù)容量約上億條記錄,通過(guò)建立索引、數(shù)據(jù)分區(qū)、增加緩存等手段提高檢索效率,通過(guò)時(shí)間標(biāo)簽區(qū)分?jǐn)?shù)據(jù)冷熱度,將1年以前的歷史數(shù)據(jù)遷移到歷史庫(kù)中存儲(chǔ),從而提高當(dāng)年數(shù)據(jù)檢索效率。
2.2.4 海量文件的統(tǒng)一存儲(chǔ)
文檔平臺(tái)作為全路工程建設(shè)各業(yè)務(wù)系統(tǒng)統(tǒng)一的文件存儲(chǔ)中心,經(jīng)估算每年文件數(shù)據(jù)增量的規(guī)模在億級(jí)左右,文件類型眾多,從格式上存在CAD,PDF,OFFICE,視頻,圖片和表格等,業(yè)務(wù)類型上包括設(shè)計(jì)文件、政府批文、公文、試驗(yàn)表格、質(zhì)檢表格、電子日志、工程影像和竣工資料等,由于文件大小各異,訪問(wèn)頻次不同,文件數(shù)量龐大,一般的NAS等本地文件存儲(chǔ)系統(tǒng)由于擴(kuò)展性不足,無(wú)法滿足數(shù)據(jù)規(guī)模上的存儲(chǔ);傳統(tǒng)的分布式文件系統(tǒng)是面向大文件存儲(chǔ)與訪問(wèn),在小文件數(shù)量巨大時(shí),由于存在元數(shù)據(jù)性能瓶頸和磁盤I/O效率等問(wèn)題,因此本方案中采用基于對(duì)象的分布式文件存儲(chǔ)系統(tǒng)[8?11]。
分布式對(duì)象存儲(chǔ)系統(tǒng)以對(duì)象作為數(shù)據(jù)存儲(chǔ)單元,拋棄了傳統(tǒng)B+樹的存儲(chǔ)方式,將所有對(duì)象以扁平的方式進(jìn)行存儲(chǔ),元數(shù)據(jù)和數(shù)據(jù)對(duì)象一起放置在OSD(Object Storage Device)進(jìn)行管理,擯棄了傳統(tǒng)的集中式存儲(chǔ)元數(shù)據(jù)尋址方式,改為通過(guò)哈希計(jì)算定位的方式即可完成oid到對(duì)象設(shè)備物理位置的尋址方式,更適合文件數(shù)量巨大,文件尺寸不一、中小文件繁多的業(yè)務(wù)場(chǎng)景[12?13],見(jiàn)圖8。
圖8 基于對(duì)象的海量文件統(tǒng)一存儲(chǔ)方案
2.2.5 文檔平臺(tái)多租戶管理
鐵路工程文檔平臺(tái)采用云的方式帶來(lái)一種新的軟件交付方式,必然支持多租戶的軟件服務(wù)模式,每個(gè)建設(shè)機(jī)構(gòu)作為一個(gè)獨(dú)立的租戶使用平臺(tái),從平臺(tái)應(yīng)用架構(gòu)上須支持2個(gè)層面的服務(wù),一個(gè)是租戶層面,以建設(shè)管理機(jī)構(gòu)為單位構(gòu)建應(yīng)用集合,為其提供模板管理、文檔存儲(chǔ)、文件檢索、文件資料柜和安全管理等服務(wù);另外一個(gè)是資產(chǎn)層面,是文檔平臺(tái)中可重復(fù)使用的資產(chǎn)和應(yīng)用集合,包括文件存儲(chǔ)服務(wù)、文檔元數(shù)據(jù)、模板服務(wù)、檢索服務(wù)等底層數(shù)據(jù)服務(wù)能力(見(jiàn)圖9)。通過(guò)將底層的數(shù)據(jù)服務(wù)和應(yīng)用服務(wù)組件封裝為支持多租戶的服務(wù)方式,為各建設(shè)管理機(jī)構(gòu)提供邏輯上互相隔離的應(yīng)用系統(tǒng)和數(shù)據(jù)服務(wù)[14?15]。
圖9 鐵路工程文檔平臺(tái)多租戶技術(shù)架構(gòu)圖
2.2.6 文件支撐服務(wù)
鐵路工程文檔平臺(tái)為滿足建設(shè)單位對(duì)于文檔管理、文件使用的要求,提供統(tǒng)一的檢索服務(wù)、文件存儲(chǔ)服務(wù)、文件柜、流程引擎和簽章服務(wù)等能力,另外包括安全防護(hù)、日志審計(jì)和運(yùn)維監(jiān)控等服務(wù)。
其中文件支撐服務(wù)以統(tǒng)一的訪問(wèn)格式提供快速存取、文件共享能力,使業(yè)務(wù)系統(tǒng)無(wú)須關(guān)心文件存儲(chǔ)路徑、存儲(chǔ)介質(zhì)和文件備份等事情,同時(shí)提供文件上傳、文件刪除、文件訪問(wèn)權(quán)限設(shè)置、防盜鏈和文件監(jiān)控等服務(wù)。
由于鐵路工程文檔需要在建設(shè)、設(shè)計(jì)、施工和監(jiān)理等單位之間流轉(zhuǎn),通過(guò)工作流定義和流程引擎實(shí)現(xiàn)文檔在參建單位之間的在線協(xié)同,將原來(lái)需要線下流轉(zhuǎn)、紙質(zhì)簽認(rèn)文檔實(shí)現(xiàn)線上辦理,提高工程文檔的處理效率。
系統(tǒng)日志支持查看系統(tǒng)內(nèi)所有用戶和文件的操作日志,包括用戶登錄、文件操作和共享日志等,為發(fā)現(xiàn)用戶操作異常、問(wèn)題跟蹤提供日志記錄。系統(tǒng)監(jiān)控提供對(duì)CPU,內(nèi)存,存儲(chǔ)和網(wǎng)絡(luò)等關(guān)鍵參數(shù)的監(jiān)控,為運(yùn)維診斷提供支撐。
支撐服務(wù)主要以Restful的方式對(duì)外提供服務(wù),方便業(yè)務(wù)系統(tǒng)利用文件存取的服務(wù)能力快速構(gòu)建業(yè)務(wù)應(yīng)用,釋放業(yè)務(wù)系統(tǒng)技術(shù)底層構(gòu)建的壓力[16?17]。
在實(shí)際工程中應(yīng)用該方案建立鐵路工程文檔平臺(tái),收集整理鐵路建設(shè)過(guò)程中的提報(bào)、審批、流轉(zhuǎn)和交驗(yàn)的各類文檔,包括公文文檔、格式類文檔和自定義文檔,依托京雄高鐵開展應(yīng)用試點(diǎn),打造滿足建設(shè)管理需求的基于文件的在線協(xié)同管理系統(tǒng),集成用戶身份簽認(rèn)功能,將工程管理相關(guān)的線下流程轉(zhuǎn)移到線上,支持移動(dòng)端查詢、檢索及審批功能,有效提升現(xiàn)場(chǎng)流程辦理的效率,如圖10。
圖10 鐵路工程文檔平臺(tái)系統(tǒng)截圖
表1 文檔平臺(tái)性能驗(yàn)證
在京雄試點(diǎn)應(yīng)用中,采用13臺(tái)服務(wù)器,其中3臺(tái)用于統(tǒng)一文檔平臺(tái)系統(tǒng),3臺(tái)用于存儲(chǔ)元數(shù)據(jù)集群,3臺(tái)用于文檔對(duì)象的存儲(chǔ)集群,2臺(tái)用于簽章服務(wù)器,2臺(tái)用于流程引擎服務(wù)。為驗(yàn)證文件存儲(chǔ)性能,模擬進(jìn)行5 000萬(wàn)次1 M文件的存儲(chǔ)速度如表1。
1) 根據(jù)鐵路工程文檔管理的特點(diǎn),提出基于云存儲(chǔ)的鐵路工程文檔平臺(tái)的技術(shù)架構(gòu)和功能架構(gòu),并給出鐵路工程文檔的數(shù)據(jù)模型。
2) 結(jié)合工程文檔的多樣性,具體分析文檔特征,提出文件屬性管理和用戶檢索的核心數(shù)據(jù) 結(jié)構(gòu)。
3) 針對(duì)用戶快速檢索、海量文件存取、文檔平臺(tái)多租戶管理和文件統(tǒng)一服務(wù)等關(guān)鍵技術(shù)進(jìn)行詳細(xì)分析,并且依托京雄高鐵進(jìn)行試點(diǎn)應(yīng)用和實(shí)驗(yàn),取得了實(shí)際效果,證明鐵路工程文檔平臺(tái)的技術(shù)可行性。
4) 在后續(xù)工作中,將進(jìn)一步擴(kuò)大試點(diǎn)應(yīng)用范圍,挖掘更多用戶需求,增強(qiáng)用戶體驗(yàn),協(xié)助建設(shè)項(xiàng)目各參與方持續(xù)提升工程文檔資料的管理效率,該系統(tǒng)對(duì)規(guī)范我國(guó)鐵路建設(shè)工程文檔管理、提高文檔協(xié)同處理效率具有現(xiàn)實(shí)意義。
[1] 張媛媛, 張華. 工程項(xiàng)目電子文檔管理體系建設(shè)[J].石油化工設(shè)計(jì), 2019, 36(2): 61?64. ZHANG Yuanyuan, ZHANG Hua. Construction of electronic document management system of engineering project[J]. Petrochemical Design, 2019, 36(2): 61?64.
[2] 楊瓏. 淺談國(guó)際EPC工程項(xiàng)目中的文檔管理策劃[J].石油化工設(shè)計(jì), 2019, 36(2): 55?60. YANG Long. On the document management planning of international EPC project[J]. Petrochemical Design, 2019, 36(2): 55?60.
[3] Michael Armbrust, Armando Fox, Rean Griffith, et al. Above the clouds:a berkeley view of cloud computing[R]. University of Carlfornia, Berkeley, Tech. Rep. USB-EECS-2009-28, 2009.
[4] 吳岳忠, 劉琴, 李長(zhǎng)云, 等. 基于云存儲(chǔ)的網(wǎng)絡(luò)文檔共享研究[J]. 小型微型計(jì)算機(jī)系統(tǒng), 2015, 36(1): 95?99. WU Yuezhong, LIU Qin, LI Changyun, et al. Research on cloud storage based network document sharing[J]. Journal of Chinese Computer Systems, 2015, 36(1): 95? 99.
[5] Mesnier M, Ganger G R, Riedel E. Object-based storage[J]. IEEE Communications Magazine, 2003, 41(8): 84?90.
[6] 王中華, 韓臻, 劉吉強(qiáng). 云環(huán)境下多用戶文件共享方案[J]. 計(jì)算機(jī)研究與發(fā)展, 2014, 51(12): 2614?2622. WANG Zhonghua, HAN Zhen, LIU Jiqiang. File sharing scheme for multi-user in cloud environment[J]. Journal of Computer Research and Development, 2014, 51(12): 2614?2622.
[7] 劉淇. 基于用戶興趣建模的推薦方法及應(yīng)用研究[D].合肥: 中國(guó)科學(xué)技術(shù)大學(xué), 2013. LIU Qi. A study of designing and applying recommenders based on user interests modeling[D]. Hefen: University of Science and Technology of China, 2013.
[8] 屠雪真, 黃震江. 一種海量小文件對(duì)象存儲(chǔ)優(yōu)化方案[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2019, 29(8): 31?36. TU Xuezhen, HUANG Zhenjiang. A mass small file storage optimization scheme based on object file system[J]. Computer Technology and Development, 2019, 29(8): 31?36.
[9] 周國(guó)安, 李強(qiáng), 陳新, 等. 云環(huán)境下海量小文件存儲(chǔ)技術(shù)研究綜述[J]. 信息網(wǎng)絡(luò)安全, 2014(6): 11?17. ZHOU Guoan, LI Qiang, CHEN Xin, et al. Review of massive small-file storage technology[J]. Netinfo Security, 2014(6): 11?17.
[10] Shvachko K, Kuang H, Radia S, et al. The hadoop distributed file system[C]// Mass Storage Systems and Technologies (MSST), 2010 IEEE 26th Symposium on. IEEE, 2010: 1?9.
[11] 詹玲, 方協(xié)云, 李大平, 等. 基于Ceph文件系統(tǒng)的元數(shù)據(jù)緩存?zhèn)浞輀J]. 計(jì)算機(jī)工程, 2017, 43(4): 67?72. ZHAN Ling, FANG Xieyun, LI Daping, et al. Metadata cache backup based on Ceph file system[J]. Computer Engineering, 2017, 43(4): 67?72, 83.
[12] 許艷艷, 雷迎春, 龔奕利. 基于可變長(zhǎng)分塊的分布式文件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程, 2016, 42(5): 80?84, 101. XU Yanyan, LEI Yingchun, GONG Yili. Design and implementation of distributed file system based on variable-sized chunk[J]. Computer Engineering, 2016, 42(5): 80?84, 101.
[13] 詹文瀚.大規(guī)模分布式文件系統(tǒng)元數(shù)據(jù)管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 成都: 電子科技大學(xué), 2013. ZHAN Wenhan. The design and implementation of metadata management subsystem in large-scale distributed file system[D]. Chengdu: University of Electronic Science and Technology of China, 2013.
[14] 盧萍, 陳進(jìn)才. 一種基于對(duì)象存儲(chǔ)的文件系統(tǒng)的設(shè)計(jì)[J]. 計(jì)算機(jī)科學(xué), 2008, 35(10): 131?133, 172. LU Ping, CHEN Jincai. Design and implement of object-based storage file system[J]. Computer Science, 2008, 35(10): 131?133, 172.
[15] Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung. The Google file system[C]// ACM SIGOPS Operating Systems Review, ACM, 2003: 1?3.
[16] 姜曉燕, 張勇, 劉士軍, 等. 基于模型驅(qū)動(dòng)的分層多租戶架構(gòu)設(shè)計(jì)[J]. 小型微型計(jì)算機(jī)系統(tǒng), 2013, 34(12): 2724?2728. JIANG Xiaoyan, ZHANG Yong, LIU Shijun, et al. Layer multi-tenants architecture based on component and metadata[J]. Journal of Chinese Computer Systems, 2013, 34(12): 2724?2728.
[17] 李朝銘, 崔洪志, 王建華, 等. 云消息服務(wù)平臺(tái)CMSP多租戶權(quán)限模型[J]. 信息技術(shù)與信息化, 2019(7): 10? 13. LI Chaoming, CUI Hongzhi, WANG Jianhua, et al. Cloud message service platform cmsp multi tenant authority model[J]. Information Technology & Informatization, 2019(7): 10?13.
Research and application of key technologies of railway engineering document platform
XIE Yalong, WANG Wanqi, NIU Hongrui
(China Academy of Railway Sciences Corporation Limited, Beijing 100081, China)
Aiming at the problems of engineering documents such as “mass, dispersion, different standards, difficulty in sharing” during railway construction in China, taking into account the industrial characteristics of unified planning, integrated management, and handover of railway construction in China, an unified multi-tenant document platform based on cloud storage for railway construction was put forward, functional framework and data model of the document platform of the technical structure was designed, the key technologies of user research, document storage, and support web services was discussed in detail, then the results in our experience in the application of Beijing-Xiongan Railway construction management was obtained. It would be significance to standardize the documentary management of railway construction in China.
railway construction; engineering documents; cloud storage; document platform; distributed file system; multi-tenant
U2;TP39
A
1672 ? 7029(2020)08 ? 2142 ? 10
10.19713/j.cnki.43?1423/u.T20190912
2019?10?18
中國(guó)國(guó)家鐵路集團(tuán)有限公司科技研究開發(fā)計(jì)劃項(xiàng)目(K2018G055)
解亞龍(1980?),男,山西運(yùn)城人,副研究員,從事鐵路信息技術(shù)研究;E?mail:20183808@qq.com
(編輯 陽(yáng)麗霞)