王 屹
(海洋石油工程股份有限公司 天津300451)
隨著海上油氣設(shè)施工程建設(shè)的發(fā)展,工程項(xiàng)目逐漸增多,設(shè)計(jì)數(shù)據(jù)也以前所未有的速度增長。傳統(tǒng)的數(shù)據(jù)處理方式難以發(fā)掘出海量數(shù)據(jù)以及數(shù)據(jù)中所隱藏的規(guī)律,而搜索引擎為解決項(xiàng)目數(shù)據(jù)共享、信息集成提供了方法。
隨著信息技術(shù)的廣泛應(yīng)用,工程建設(shè)階段產(chǎn)生的大量數(shù)據(jù)被各自孤立的項(xiàng)目方收集并管理,如果不建立統(tǒng)一的檢索平臺(tái),歷史項(xiàng)目采集的數(shù)據(jù)不可避免地會(huì)丟失和遺漏,項(xiàng)目經(jīng)驗(yàn)和傳承也會(huì)隨之消散。為了實(shí)現(xiàn)項(xiàng)目歷史數(shù)據(jù)的檢索與再利用,提高項(xiàng)目管理績效,工程公司借助信息技術(shù),搭建信息檢索管理平臺(tái),旨在規(guī)范數(shù)據(jù),減少冗余和錯(cuò)誤數(shù)據(jù),縮短項(xiàng)目工期,提高對標(biāo)方案選擇、投標(biāo)料單估算和方案初步選擇的效率,從而降低成本。
搜索引擎開發(fā)采用 Python技術(shù),使用 Numpy、Mat-plotlib、Mysql-python等多個(gè)第三方模塊撰寫可配置的算法,并封裝成函數(shù)作為I/O接口用以進(jìn)行數(shù)據(jù)檢索。系統(tǒng)平臺(tái)采用 B/S(Browser/Server)平臺(tái)技術(shù),通過HTML、CSS、JS實(shí)現(xiàn)網(wǎng)頁展示,利用.Net框架實(shí)現(xiàn)后臺(tái)處理,同時(shí)采用流程審批,進(jìn)行文檔授權(quán)下載。
如圖1所示,數(shù)據(jù)檢索平臺(tái)分為4層架構(gòu),采用MySQL數(shù)據(jù)庫的Share-Nothing思想,Replication實(shí)現(xiàn)機(jī)制,Cluster的架構(gòu)設(shè)計(jì),使整個(gè)系統(tǒng)不受硬件平臺(tái)的限制,具有良好的擴(kuò)展性和可管理性。
圖1 平臺(tái)架構(gòu)Fig.1 Platform architecture
系統(tǒng)整體架構(gòu)符合面向服務(wù)體系架構(gòu)(SOA)標(biāo)準(zhǔn),具有高穩(wěn)定性與可靠性,采用注冊服務(wù)或服務(wù)發(fā)布的方式,確保本系統(tǒng)與其他系統(tǒng)的集成。
如圖2所示,搜索引擎整體構(gòu)架由核心系統(tǒng)和核心數(shù)據(jù)組成,其中核心系統(tǒng)主要包含spider爬行器和search&index索引建立與查詢系統(tǒng),保證系統(tǒng)對實(shí)時(shí)信息的快速采集、建立索引并展現(xiàn)。
①爬行器。搜索引擎爬蟲的工作過程由抓取、過濾、收錄索引、排序 4大環(huán)節(jié)組成,根據(jù)資源描述信息,通過深度和廣度的抓取,對企業(yè)項(xiàng)目公共盤中各種異構(gòu)的文件進(jìn)行爬取,文件格式主要包含:doc/docx、xls/xlsx、ppt/pptx/pps、pdf 等項(xiàng)目文檔格式和html、xml等網(wǎng)頁格式。
如圖3所示,爬行器的主要工作原理是通過爬行器插件對多種類型的數(shù)據(jù)信息進(jìn)行提取和轉(zhuǎn)換,其中爬行器插件由與各類型信息相關(guān)的結(jié)構(gòu)組成,文本轉(zhuǎn)化時(shí)即通過相應(yīng)接口來實(shí)現(xiàn),并根據(jù)不同算法轉(zhuǎn)化為相應(yīng)文本流。處理文本流時(shí)需要對其進(jìn)行詞組切分,并記錄切分的詞組出現(xiàn)的頻率和在文本中的位置。爬行器中預(yù)處理階段主要采用全庫采集和增量爬行對信息載體進(jìn)行處理,同時(shí)預(yù)處理采集階段中也可以分別采用主動(dòng)提交和被動(dòng)捕獲 2種策略方案。爬行器根據(jù)項(xiàng)目信息數(shù)據(jù)存儲(chǔ)的物理和虛擬介質(zhì)不同,設(shè)計(jì)了針對 Oracle數(shù)據(jù)庫和 SQL Server、FTP、網(wǎng)站、SPS、CMS等進(jìn)行信息索引的爬行器類型。
圖2 搜索引擎系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure of search engine system
圖3 爬行器工作原理圖Fig.3 Working principle of crawler
②索引器。索引器主要原理是對爬行采集的相關(guān)數(shù)據(jù)信息進(jìn)行處理,可以通過分詞技術(shù)、標(biāo)簽技術(shù)等對相關(guān)資源建立索引文件。索引器的主要作用是信息采集,通過 Python技術(shù),根據(jù)預(yù)先選定的范圍,自動(dòng)搜集網(wǎng)頁、數(shù)據(jù)庫、文件系統(tǒng)中的信息。
③搜索。在用戶定制好相關(guān)爬取關(guān)鍵詞后,爬取條件在經(jīng)過算法特殊處理后,會(huì)在索引文件中搜索出所有滿足爬取條件的數(shù)據(jù)信息。
對公司內(nèi)部數(shù)據(jù)信息進(jìn)行整合,確保信息入口單一和數(shù)據(jù)唯一,同時(shí)提供一個(gè)高效的信息交流和協(xié)同工作環(huán)境。
采集各項(xiàng)目實(shí)施全過程中項(xiàng)目產(chǎn)生的相關(guān)關(guān)鍵信息和知識(shí)文檔,進(jìn)行集中式管理和儲(chǔ)存,并進(jìn)行分類管理,如:單位部門或項(xiàng)目分類。
采集各項(xiàng)目相關(guān)的法律法規(guī),進(jìn)行集中式管理和儲(chǔ)存,并進(jìn)行分類管理,如:不同國家分類。
Web Browser/Web Server檢索方式,支持 MS OFFICE、PDF、HTML,可以對.pdf、.doc 或.docx、.xls或.xlsx、.ppt或pptx、.xml等文件直接進(jìn)行檢索。
①可以對多類型數(shù)據(jù)進(jìn)行混合檢索,包括結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫中關(guān)鍵參數(shù)及硬盤中文檔等。②提供全文搜索功能,允許對文中的任意單字、詞組、句子和相關(guān)片段進(jìn)行檢索。③提供范圍檢索和差異比較,如數(shù)值、日期等特征字段。④支持正則相關(guān)的通配符檢索,即模糊檢索。⑤對于多并發(fā)訪問,采取多線程設(shè)計(jì)。⑥多樣化排序,如時(shí)間排序和相關(guān)性排序。⑦多種條件組合檢索:包括標(biāo)題、正文以及日期范圍檢索。⑧關(guān)鍵詞組合檢索。⑨檢索結(jié)果可以顯示相關(guān)動(dòng)態(tài)摘要,摘要內(nèi)容基于查詢關(guān)鍵詞形成。⑩關(guān)鍵詞的高亮顯示。搜索結(jié)構(gòu)自定義圖形模版顯示。支持根據(jù)自動(dòng)分類的類目進(jìn)行檢索。
當(dāng)用戶需要下載所檢索到的項(xiàng)目文檔時(shí),由用戶向相關(guān)主管領(lǐng)導(dǎo)發(fā)起申請流程管理模塊。
當(dāng)用戶檢索到相關(guān)項(xiàng)目文檔時(shí),可以在線瀏覽該文檔,但需要申請權(quán)限后才能下載。
工程項(xiàng)目數(shù)據(jù)檢索平臺(tái)能夠滿足工程公司對歷史設(shè)計(jì)項(xiàng)目數(shù)據(jù)源全文數(shù)據(jù)的檢索和利用,提高了信息資源的利用率,避免了重復(fù)勞動(dòng),利于在未來的競爭中取得更大的主動(dòng)權(quán)。在技術(shù)實(shí)現(xiàn)上,采用數(shù)據(jù)爬取技術(shù)和安全高效的搜索引擎技術(shù)架構(gòu),保證了良好的可擴(kuò)展性,同時(shí)為也為企業(yè)知識(shí)管理提供了安全可靠的體系框架。