劉君武 張作羽 吳允平
(福建師范大學光電與信息工程學院 福建省福州市 350007)
文件名,是計算機中區(qū)分不同文件而設定的名稱,由文件主名和擴展名構(gòu)成;通常,文件主名包括以下部分:第一部分為項目名稱或編號,第二部分為文件的描述,第三部分為當前文件的日期,第四部分為文件階段標識,而擴展名指示了文件的類型。好的文件主名,有助于讓使用者在不打開文件的情況下就可直觀了解文檔信息,提高工作效率,降低文檔分類錯誤;反之,一個不好的文件主名,往往意味著為未來挖坑,多個糟糕的文件主名,更是意味著請君入甕;因此,規(guī)范的文件主名,有利于溝通、有利于索引、有利于回溯。2018年,國家氣象局發(fā)布了《氣象衛(wèi)星數(shù)據(jù)文件名命名規(guī)范》,專門約定了文件名命名要求[1];2017年,黃成榮針對高校學籍管理中學生相片手工操作換名存在效率低、容易出錯等問題,應用數(shù)據(jù)庫技術(shù)設計并完成了一種將圖像文件批量換名的軟件,具有很強的針對性、應用性和可操作性,能有效減避免煩瑣的手工操作所帶來的低效率和多錯誤的缺點,大大提高管理工作的效率和質(zhì)量[2];2018年,饒期捷等人為克服常用字處理軟件無法自動命名的不足,研究并提出了利用COM技術(shù)、OLE 自動化對象等來實現(xiàn)文檔名的自動生成技術(shù),例如當本科畢業(yè)生發(fā)送寫好的論文給指導教師時,盡管每份論文格式不統(tǒng)一,但通過該技術(shù)即可自動修改好文件名,給辦公人員帶來方便,優(yōu)化了應用[3];姚夢輝等人為了提高地質(zhì)災害非結(jié)構(gòu)化數(shù)據(jù)的存儲、發(fā)現(xiàn)和挖掘效率,通過進行文本預處理技術(shù)和關(guān)鍵字檢索技術(shù),實現(xiàn)了有用信息的快速檢索,其中應用到了文件名的智能提取為地質(zhì)信息的數(shù)據(jù)挖掘提供技術(shù)支持[4]。2020年,王甡為了有效管理生態(tài)環(huán)境遙感解譯野外核查中獲取的大量照片數(shù)據(jù)集,開發(fā)了照片管理系統(tǒng),實現(xiàn)了核查照片文件名稱重編碼、核查照片數(shù)據(jù)庫管理、核查照片空間定位等功能[5];為滿足中國氣象局《新一代天氣雷達觀測規(guī)定》要求,對年度雷達資料的收集、整編、存儲與匯交工作,花紅霞等人通過開發(fā)雷達資料數(shù)據(jù)管理系統(tǒng),自動建立整編資料所需要的各類文件夾和文件,自動完成雷達數(shù)據(jù)文件篩選、解壓、重命名、壓縮及自動刻錄功能,實現(xiàn)了雷達資料整編的自動化和批量化,軟件具有操作簡便、顯示直觀、執(zhí)行快捷、適用性強等特點,提高了雷達資料的規(guī)范化從而提高了工作的效率[6]。由此可見,規(guī)范的文件主名可以有效提高工作者的工作效率,也有助于發(fā)揮文件管理軟件的效能,例如,2018年Bluebeam 公司為了無需用戶干預自動生成可激活的文件超鏈接,提出了一種自動批量生成指向文件的鏈接的技術(shù)專利,其中鏈接生成依據(jù)就是文件名及其文件內(nèi)容[7]。
經(jīng)過多年建設,我國已形成了以知網(wǎng)(CNKI)為代表的數(shù)字圖書館,覆蓋期刊、學位論文、會議、年鑒、工具書等類型資源,提供下載服務、在線閱讀等;目前,文獻下載技術(shù)逐漸成熟,通過設置鏡像網(wǎng)站[8]、多線程下載[9]、網(wǎng)頁技術(shù)[10]等提高下載和效率。但在CNKI 圖書館下載資料時,文獻文件主名默認由文獻題目和文獻作者這兩部分組合而成,因此,有經(jīng)驗的科技工作者往往還會借助專門文獻管理軟件(如EndNote 等)對這些文獻進行集中維護與使用[11][12]。因此,通過OO技術(shù)開發(fā)一種文獻下載個性化管理插件,供科技工作者在訪問CNKI 下載資料時能夠根據(jù)其個性化習慣而重新命名保存文獻,如在文件名中包含了文獻的時間、類型以及刊物等,無疑可以幫助提高文獻資料的綜合管理效率。
通過分析使用者對該插件的使用需求,分別建立了類圖和順序圖來完成系統(tǒng)的分析。
以科技工作者常用的下載文獻為例,其用況描述表如表1所示。
表1:下載文獻用況描述表
根據(jù)表1 下載文獻用況描述表,建立的系統(tǒng)用況圖如圖1所示。
圖1:文獻下載用況圖
根據(jù)用戶需求和插件系統(tǒng)用況圖,通過類圖和系統(tǒng)順序圖完成系統(tǒng)分析。系統(tǒng)類圖如圖2所示,類圖說明如表2所示。
表2:系統(tǒng)類圖規(guī)約
圖2:系統(tǒng)類圖
在其基礎上,建立順序圖進一步說明該模型。如圖3所示,記錄了在一次文獻下載過程當中用戶與瀏覽器端和服務器端交互的過程,具體流程如下:
圖3:文獻下載順序圖
(1)用戶發(fā)起文獻下載的請求,并等待響應;
(2)瀏覽器接收到用戶請求,并啟動文獻下載界面;
(3)瀏覽器向服務器端請求并記錄該文獻命名需要用到的各類信息;
(4)服務器端接收來自瀏覽器的請求并進行處理,返回各類處理結(jié)果;
(5)瀏覽器端收到服務器信息,向用戶提供文件下載格式選擇并顯示給用戶;
(6)用戶看到瀏覽器響應后,選擇所下載文獻格式后,并發(fā)布下載請求;
(7)瀏覽器將用戶選擇的文獻下載格式請求傳輸給服務器,并請求服務器處理;
(8)服務器處理完畢,將結(jié)果返回給瀏覽器;
(9)瀏覽器顯示下載結(jié)果信息;
(10)用戶確認;
(11)瀏覽器關(guān)閉下載界面。
基于系統(tǒng)分析,從問題域、人機交互、數(shù)據(jù)接口三方面來進行系統(tǒng)設計。
問題域:在確定文獻下載個性化管理插件實現(xiàn)語言和運行環(huán)境后,在系統(tǒng)分析基礎上對問題域進行進一步改進:
(2)確定編程語言為JavaScript,通過設計相關(guān)腳本獲取到論文各類屬性用于文獻命名;
(3)通過對PDF 和CAJ 的文獻下載格式先進行分類并實現(xiàn)后續(xù)命名進程。
人機交互:通過結(jié)合系統(tǒng)分析來對用戶操作界面進行設計。如圖4所示為人機交互部分類圖。
圖4:人機交互部分類圖
數(shù)據(jù)接口:文獻是插件系統(tǒng)的源點,其中文獻中各類屬性元素是插件系統(tǒng)的采集對象。因此,基于Chrome 平臺通過配置的形式注入JS 和CSS 向網(wǎng)頁注入腳本來采集文獻的各類信息。
文獻下載個性化管理插件,是使用JavaScript 語言所搭建的Chrome 瀏覽器插件。Chrome 插件通常的組成文件如圖5所示,由js、html 以及css 文件組成,此外還包括manifest 文件(擴展說明文件),插件圖標會顯示在瀏覽器的右上角區(qū)域。文獻下載個性化管理插件的整體架構(gòu)如圖6所示。
圖5:Chrome 插件的組成文件
圖6:文獻下載個性化管理插件架構(gòu)圖
從結(jié)構(gòu)上,插件主要分為服務器端和瀏覽器端。服務器端負責文獻信息提取和文獻下載并命名。瀏覽器端負責與用戶進行交互,并通過頁面提示進行文獻下載。其中,服務器端和瀏覽器端可以建立雙向的數(shù)據(jù)傳輸渠道。
從功能上,插件主要包括下列功能:
其中,J=?(x)/?(z)=1/τ1,將τ= E(τ)τ1和x=z/τ1代入式(10),并作變量代換m=1/τ,則上式可化為:
(1)對文獻下載格式有PDF 和CAJ 兩種不同類型的選擇。在用戶要對文獻進行下載時,在文獻下載鏈接的右鍵菜單中添加進入插件的入口,并在用戶進入插件時,調(diào)用注入到當前界面的content-script.js 文件實現(xiàn)文獻信息的采集并獲取文獻下載鏈接,如圖7所示。
圖7:右鍵菜單中的插件入口
(2)根據(jù)文獻類型將文獻歸類,并規(guī)定不同類型的文獻命名格式。
在插件實現(xiàn)過程中,主要實現(xiàn)以下功能:
(1)下載鏈接處右鍵菜單的實現(xiàn);
(2)PDF 和CAJ 兩種不同格式文獻的下載;
(3)實現(xiàn)文獻按類命名。
通過文獻下載個性化管理插件功能設計,來描述如何通過面向?qū)ο蟮募夹g(shù)實現(xiàn)各功能。
根據(jù)系統(tǒng)框架所設計的程序流程圖,如圖8所示,運用面向?qū)ο蟮募夹g(shù)思想,創(chuàng)建文獻信息的對象數(shù)組并判斷文獻類別后,對對象數(shù)組內(nèi)的信息重組,按照特定規(guī)則進行文獻重命名,實現(xiàn)文獻資料下載的同時完成了文獻命名。
圖8:程序流程圖
該文件主要定義了插件的名稱,版本,所需權(quán)限等。關(guān)鍵代碼如下:
文獻個性化管理插件的對象數(shù)組程序關(guān)鍵代碼如下:
此代碼的主要功能為文獻信息的采集:
(1)建立數(shù)組titleList 來存放文獻元素;
(2)通過<font>關(guān)鍵字獲取文獻信息,例如:作者,來源,日期數(shù)據(jù)庫類型。同時根據(jù)文獻類型設置不同類型的下載標簽,以上信息都存放在titleList 中。
文獻重命名的關(guān)鍵代碼(以期刊文獻為例):
文獻重命名主要功能為:判別對象數(shù)組中的文獻類別元素,對采集的信息進行調(diào)用,并按類命名。具體命名方式為:期刊命名:年-期刊-文獻名;博士命名:博士論文-年-學校-文獻名;碩士命名:碩士論文-年-學校-文獻名。保存文獻下載鏈接,當用戶通過右鍵菜單進入擴展程序后,通過點擊下載獲取content.js 的下載地址和處理后的文獻名,實現(xiàn)文件下載和按類命名的功能。
主要實現(xiàn)創(chuàng)建右鍵菜單,向content-script.js 發(fā)送請求并進行文獻下載。創(chuàng)建右鍵菜單(CAJ 格式為例)代碼如下:
客戶端插件測試環(huán)境:Windows 10操作系統(tǒng),Chrome瀏覽器(版本 85.0.4183.102(正式版本)(64 位))
本插件的應用測試效果如圖9、圖10所示。圖9(a)是無本插件支持下默認下載的期刊文獻全名,(b)是本插件支持下下載獲得的CAJ 格式文獻及期刊文獻全名,(c)是本插件支持下下載獲得的PDF 格式文獻及期刊文獻全名;圖10(a)是無本插件支持下默認下載的碩博文獻全名,(b)是本插件支持下下載獲得的碩博文獻全名。
圖9:期刊類文獻下載效果對比圖
圖10:碩博類論文下載效果對比圖
以科研工作者下載文獻為例分析文獻下載和文件管理的需求,通過對現(xiàn)有的文獻管理技術(shù)進行調(diào)研,提出了一個完整的文獻命名下載插件方案;使用OO技術(shù)設計并實現(xiàn)了一個文獻下載個性化管理的Chrome 插件。運用該插件,用戶可以直接通過Chorme 瀏覽界面直接下載并以個性化命名保存文獻。實際操作驗證了插件的實用性。如果讀者對代碼感興趣,可以聯(lián)系通訊作者獲取相關(guān)代碼。