段磊,劉濤,李偉鵬,張寧,咸日常,鄒國鋒
(1.國網山東省電力公司淄博供電公司,淄博 255000;2.山東理工大學電氣與電子工程學院,淄博 255049)
當前供電部門涉密文件管理仍然采用傳統紙質或Excel 公文管理方式,存在資源浪費,不利于存檔,檢索查詢不便等問題,已明顯落后于現代企業管理制度,且無法實現涉密文件流轉的全程監控,存在嚴重的泄密隱患,落后的涉密文件管理方式已無法滿足當前企業的公文管理需求[1,2]。隨著計算機技術、數據存儲技術和人工智能的發展,涉密人員和涉密文件一體化智能管理系統越來越受到檔案管理部門的青睞[3]。本文考慮到供電部門涉密人員和文件管理的特殊性,設計了一套電子和實體檔案一體化管理系統。
針對涉密文件管控,王宇[4]提出融合射頻識別和條碼技術的紙質涉密文件流轉管控機制,能夠較好解決機關辦公環境下紙質文件的保密問題,但無法針對涉密人員和文件接觸人員身份進行核實,更無法適用于供電部門涉密文件異地流轉的需求。文獻[5]研究了基于字符識別的檔案數字化技術,通過紙質涉密文件的電子化、數字化,提高了管理人員工作效率,便于涉密文件的后續統計和管控。姚媛等人[6]針對涉密文件的管控制度建設提出相應的策略,對涉密文件管控理論和技術進步具有重要指導意義。
鑒于供電部門對涉密人員和涉密文件一體化智能管理的迫切需求,本文對涉密人員和涉密文件的智能化管理技術進行了詳細探討,設計了一套電子和實體檔案一體化管理平臺。該平臺能夠有效的實現信息化匯總,在存放實體涉密文件的同時通過OCR 技術的智能化錄入手段將信息在數據庫中實現了歸集、匯總、索引,以便于信息的檢索和查詢。該系統實現了各部門、單位兼職文書的線上管理,解決了文件領取人員混雜的現狀,確保文件專人專管,追溯源頭,避免了因傳閱人員過多導致的文件丟失、文件私自復印等隱患。該系統實現了涉密、非涉密收發文件的登記、流轉、分發、清退、銷毀的全過程記錄,確保了各類文件各環節有跡可查,流程清晰、過程合規,既避免了手工紙質登記造成的流轉不便及不易保存,又保留了手工登記清晰明了、可查可閱的優點,對供電部門涉密文件管理規范化、系統化提升具有深遠影響。
本系統主要包括涉密人員管理系統、涉密文件管理系統和系統配置管理系統等三個子系統。通過這些子系統的協作,實現信息化匯總,在存放實體涉密文件的同時通過智能化錄入等手段將信息在數據庫中實現了歸集、匯總、索引,以便于信息的檢索和查詢。實現重要文件數量及傳閱路徑的全過程管控,利用信息化手段提高工作效率。系統的整體功能框圖如圖1。

圖1 涉密人員和文件一體化智能管理系統框圖
本系統具備如下特點:
(1)符合國家、行業對檔案管理的相關標準要求;
(2)存儲與歸檔系統具有操作簡便性、高效性及實用性,安全性高、成本低、易維護等特點;
(3)對重要檔案信息的存取、運行環境實現虛擬管理,系統具有兼容性;
(4)檔案各類操作具有可控性,可對檔案分區多級授權、多用戶共享;
(5)多樣化的檢索和調檔手段,極大地滿足檔案的分級管理需求;
(6)實體檔案、電子檔案互為關聯,安全、管理一體化,系統極具有包容性。
涉密人員管理系統主要實現兩大功能:①實現成員分組與部門分組分別管理;②支持成員信息修改、變遷,部門信息修改、變遷。
用戶輸入用戶名以及相應的用戶密碼,用戶名與用戶密碼相匹配,則登錄成功;反之,則登錄失敗。用戶登錄界面如圖2 所示。用戶登錄成功后首先進入系統導航頁面,然后再根據自己的業務需要選擇功能模塊,進行操作。
登錄時用到登錄名和密碼,使用用戶表user 進行存儲,用戶表中存儲用戶名、密碼和是否為管理員的判斷標識。登錄模塊主要使用Spring 的Validator 校驗機制以及Shrio 的安全驗證機制。首先使用BindingResult與Validator 配對使用,由BindingResult 監聽前臺傳來的是否為User 用戶對象,若不是User 對象,則返回監聽結果;若監聽到的是User 對象,則創建一個SecurityUtils對象subject,同時調用UsernamePasswordToken 將前臺傳來的Username 和Upwd 生成令牌token,然后subject將token 傳入logion()。再將登錄結果導入HashMap,最后將結果轉換為Json 字符串傳到前臺。

圖2 用戶登錄界面
該模塊通過業務需求選擇界面,單擊“增加”按鈕,進入添加成員的編輯頁面。根據增加成員的要求,依次填寫用戶名、用戶所屬部門等信息。填寫完畢后,單擊“保存”按鈕,頁面提示“操作成功”則增加成員操作成功;反之,則該操作失敗。最后,單擊“返回首頁”退回到增加成員之前的頁面。

圖3 添加成員界面
該模塊接收了前端錄入信息,并進行數據寫入,同時需要設置系統的錄入時間,操作結果返回用戶的ID和狀態碼。
刪除成員模塊主要是根據工作人員ID 進行刪除,需保證刪除用戶的權限信息和指紋信息。刪除成員前,首先需要查看該成員是否存在未歸還的涉密文件,若存在未歸還的涉密文件,則不能刪除該成員。同時,為便于查詢涉密文件借閱記錄,在實際刪除涉密工作人員時,系統內部只是將其標志位設置為“刪除”,取消其權限信息,并不會將其文件借閱記錄真正刪除。保證了涉密文件的全過程監控和對歷史借閱數據的監控信息查詢。該模塊設計采用的方法或接口如表1。

表1 刪除成員模塊設計方法
涉密文件實體登記管理操作主要包括添加文件、刪除文件、修改文件、清退文件和銷毀文件等操作,操作界面如圖4 所示。

圖4 涉密文件登記管理操作界面
3.1.1 添加文件模塊
添加文件模塊,使用頁面右側的“啟用掃描儀”按鈕,將本地的文件上傳到服務器,進行OCR 掃描,掃描后的結果保存在服務器中。然后,填寫頁面左側的文件的基本信息,例如文件名、發文號、擬稿人、簽發人、密級等信息,填寫完畢之后單擊“保存”按鈕對文件進行保存。最后單擊“返回首頁”按鈕返回到上一頁面。

圖5 添加文件界面
該模塊在添加文件時,需要考慮多種情形:
(1)待添加的文件已經存在
①文件存在且已經被分配。此時該文件不能被添加,返回IS_EXIST_BORROW_UID。
②文件存在且已經被借走。此時文件也不能被添加,返回IS_EXIST_BORROW_UID_FILEGO。
(2)待添加的文件不存在
此時文件可以被添加,添加成功返回SUCCESS_INSERT,否則返回FAILURE_INSERT。
具體操作:調用insertCompanyFileInfoNew()方法,同時傳入參數文件對象companyFile,調用getCfid()方法獲取該文件的ID 以判斷該文件是否存在。若文件存在,則只能對文件進行修改,即調用updateCompany-File()方法;否則可以添加該文件,同時要設置文件的添加時間,然后調用setCfdatetime()方法。返回操作結果。
3.1.2 刪除文件模塊
刪除文件模塊需要考慮以下三種情況:
(1)文件不存在。此時不能對文件進行刪除,返回FILE_IS_NOTEXISTS。
(2)文件存在,但是已經被借走。此時文件不能對文件進行刪除,返回IS_BORROW。
(3)文件存在,且未被借走
①可以刪除,且刪除成功。此時可以對文件進行刪除,返回SUCCESS_DEL。
②可以刪除,但是刪除失敗。此時可以對文件進行刪除,但是刪除失敗,返回FAILURE_DEL。
具體操作:調用delCompanyFileNew()方法,將文件的ID 傳入參數。調用FileServiceImpl 接口下del-CompanyFileById()方法,按照文件ID 對文件進行刪除。根據delCompanyFileById()方法的返回結果判斷文件的存在狀態,并以JSON 字符的形式返回操作結果。
3.1.3 修改文件模塊
該模塊通過用戶單擊“修改”按鈕,根據需要對待修改的文件進行修改,進入文件信息編輯頁面。然后根據自己的需要對文件的基本信息進行改寫。改寫完后單擊“保存”按鈕,然后單擊“返回首頁”返回到上一頁面。
具體操作:調用insertGetFileInfoNew()方法,將文件對象作為參數傳入。若文件存在,則調用FileServiceImpl 接口下的 updateGetFileByGFid()方法,對文件進行修改;反之,調用insertGetFile()方法對文件進行添加。使用result 變量暫存以上兩個方法的結果。然后根據result 的值進行判斷文件的存在情況。
3.1.4 銷毀文件模塊
該模塊通過用戶單擊“銷毀”按鈕,根據需要對待銷毀的文件進行銷毀。若系統彈出“操作成功”,則表明文件銷毀成功;否則,操作失敗。
在銷毀文件時,需要考慮兩種情況:
●可以銷毀,且銷毀成功。此時可以對文件進行銷毀,返回SUCCESS_DEL。
●可以銷毀,但是銷毀失敗。此時可以對文件進行銷毀,但是銷毀失敗,返回FAILURE_INSERT。
具體操作:調用 updateCompanyFileIsDestroy()方法,將文件的ID 傳入參數。調用FileServiceImpl 接口下 updateCompanyFileIsDestroy()方法,按照文件 ID 對文件進行刪除。使用result 變量暫存以上兩個方法的結果。然后根據result 的值進行判斷文件的存在情況。
該模塊是通過用戶在文件搜索框中輸入要查找的文件關鍵字,然后單擊“搜索”按鈕。若系統中存在含有該關鍵詞的文件,則在搜索結果中顯示本次搜索結果;反之,表明該系統中不存在包含該關鍵字文件。

圖6 查詢文件界面
查詢文件模塊,可根據文件的密級、時間期限進行二次篩選,還可以設置每頁的記錄數量。
具體操作:調用selectCompanyFileNew()方法,輸入秘密level、頁碼page、每頁數量pageSize、文件對象companyFile、截止時間endtime。然后調用 FileServiceImpl 接口下的 selectCompanyFile()方法,返回結果DisableCircularReferenceDetect。表2 所示為該模塊設計方法。

表2 文件查詢模塊設計方法
3.3.1 文件分發模塊
該模塊通過用戶單擊“分發文件”按鈕,選擇接受對象,對要分發的文件進行分發。若系統提示“操作成功”,則表明本次操作成功;反之,則表明文件分發操作失敗。在進行文件分發之前,先對文件的狀態進行判斷,只有文件沒有被銷毀,沒有被分配,沒有被清退才能進行文件分發。

圖7 分發文件界面
3.3.2 文件歸還模塊
該模塊通過用戶單擊“清退”按鈕,對要歸還的文件進行歸還。若系統提示“操作成功”,則表明文件歸還成功;反之,則表明文件歸還失敗。該模塊根據前端傳回的flag 判斷是進行文件分發還是文件歸還。若flag=1 表示可以對文件進行分發;否則表示可以對文件進行歸還。
若進行文件分發,需要先判斷文件是否已經被分配,若已經分配,則不能分發;否則可以進行分發。進行文件分發之前需要更改文件的相關信息,設置文件的領取人、應歸還時間等信息。
若進行文件歸還,在進行文件歸還時同樣需要對文件的相關信息進行修改,設置歸還人和歸還時間。除此之外,還需要判斷文件是否完全歸還,并返回操作結果。
3.3.3 查看借閱歷史模塊
該模塊是通過用戶單擊“借閱歷史”按鈕,對要查看文件查看其借閱歷史。若該文件已經被借閱,則系統會彈出頁面,顯示該文件的借閱情況;反之,若文件沒有被借出,則顯示空白。該模塊的設計思想與查詢文件模塊的設計思想相差不大。主要不同之處在于,查詢文件是根據CompanyFile 對象的信息進行篩選,本模塊根據各部門的wid 進行篩選。除此之外,該模塊還可以用于查詢文件或者個人的待領取、待歸還、已歸還等文件。
該模塊通過用戶單擊“數據庫備份”按鈕,對系統數據進行備份。系統彈出提示頁面,用戶可以根據需求選擇備份的保存路徑,單擊“確認”按鈕,成功實現數據庫備份,在保存目錄下生成一個.sql 文件。
備份數據庫主要有以下關鍵步驟:
(1)確定備份后的文件保存目錄BACKUP_DIR;使用java.util.Properties 工具包下的getProperty()方法獲取系統中 Tomcat 的地址,再使用 String BACKUP_DIR = System.getProperty( "catalina.home" ) + "/OCR/pic/"+"filesystem_";拼接生成最終的備份文件存放目錄BACKUP_DIR。
(2)獲取MySQL 數據庫的相關配置信息;將項目中db.properties 文件轉換為字符流,再調用java.util.Properties 工具包將字符流中的jdbc.username、jdbc.password 值,返回 mysqlInfo。
(3)生成并調用cmd 命令進行備份操作。使用靜態類拼接 cmd 命令 String cmd = "mysqldump-u"+mysqlInfo[0] +"-p"+ mysqlInfo[1] +"--databases " +DB_NAME+"-r"+savePath+"--skip-lock-tables";再使 用 Process process = Runtime.getRuntime().exec(cmd);調用該 cmd。

圖8 系統配置管理界面
該模塊通過用戶單擊“數據庫還原”按鈕,對數據庫進行還原。系統彈出系統提示,用戶選擇要還原的.sql 文件,完成數據庫還原。首先,獲取MySQL 的相關配置信息。調用上小節中的MysqlBackupUtils()工具類獲取MySQL 配置文件的信息。然后,生成cmd 命令。最后,運行cmd 命令進行備份。模塊設計方法如表3 所示。

表3 數據庫還原模塊設計方法
針對當前供電部門涉密人員和涉密文件管理的落后狀態和技術難題,本系統實現了電子和實體檔案一體化管理。針對涉密文件收發登記管理環節落后的信息錄入方式進行改進,設計了結合指紋識別與OCR 技術的涉密載體收發登記管理方案。結合供電部門涉密文件的實際管理需求,本系統的開發和成功應用將有效克服供電部門涉密文件的丟失問題,提高工作效率和信息利用率,為推動涉密載體信息化和網絡化提供重要的借鑒案例。