柴瑩瑩 安博文 周凡
摘? 要: 海上移動執(zhí)法的分布性對執(zhí)法管理系統(tǒng)提出了新的要求,針對執(zhí)法過程中執(zhí)法文檔、案卷管理方式不完善及執(zhí)法流程規(guī)范性等問題,分析了執(zhí)法文檔的存儲模式與結(jié)構(gòu)化管理方法。通過結(jié)合MongoDB數(shù)據(jù)庫、Web Service與分布式技術(shù)設(shè)計海上移動執(zhí)法系統(tǒng),實現(xiàn)了對執(zhí)法文檔的管理及違法活動的查處,構(gòu)建起一套完整的執(zhí)法流程。實驗結(jié)果表明,該系統(tǒng)能夠滿足海事監(jiān)管部門在海上移動執(zhí)法工作中對于執(zhí)法手段、執(zhí)法流程、法律依據(jù)等信息的高效快速查詢,符合對執(zhí)法案卷存檔管理的需求,具備實現(xiàn)執(zhí)法工作統(tǒng)一標(biāo)準(zhǔn)化要求的功能。
關(guān)鍵詞: 文檔管理; 文檔查詢; 海上移動執(zhí)法; MongoDB; 系統(tǒng)設(shè)計; 執(zhí)法流程構(gòu)建; 結(jié)果分析
中圖分類號: TN911?34? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)06?0086?04
MongoDB?based document management and query system of
maritime mobile law enforcement
CHAI Yingying, AN Bowen, ZHOU Fan
(College of Information Engineering, Shanghai Maritime University, Shanghai 201306, China)
Abstract: A new requirement for the law enforcement management system is put forward because of the distribution of maritime mobile law enforcement. In allusion to the problems in the process of law enforcement, such as the imperfect management mode of law enforcement documents and case files, and the un?normative law enforcement process, the storage mode and structured management method of law enforcement documents are analyzed. The maritime mobile law enforcement system is designed in combination with MongoDB database, Web Service and distributed technology, by which the management of law enforcement documents and the investigation of illegal activities are realized, and a complete set of law enforcement process is constructed. The experimental results show that the system can satisfy the maritime supervision department′s efficient and fast query for law enforcement means, law enforcement process, legal basis and other information in the maritime mobile law enforcement work, and conform to the demands of the archiving and management for law enforcement files, which has the function of realizing the uniform standardization of law enforcement work.
Keywords: document management; document query; maritime mobile law enforcement; MongoDB; system design; law enforcement process establishment; result analysis
0? 引? 言
目前,海上活動呈現(xiàn)出的多樣化對海區(qū)移動執(zhí)法工作提出了巨大的挑戰(zhàn)。傳統(tǒng)的執(zhí)法系統(tǒng)大多采用集中式信息處理,主要面向單一海事管理機構(gòu)的內(nèi)部人員,且不能滿足大量文檔信息在不同執(zhí)法單位之間的共享訪問,降低了海事執(zhí)法人員的執(zhí)法效率。另外,由于執(zhí)法過程的人員不確定性,導(dǎo)致執(zhí)法文檔被隨意傳閱等安全性問題時有發(fā)生,執(zhí)法記錄報告和執(zhí)法證據(jù)等也無法實現(xiàn)有效、統(tǒng)一管理,這不僅不利于執(zhí)法單位的工作,同時也給系統(tǒng)的擴展維護工作造成了一定的影響。
近年來,非結(jié)構(gòu)化數(shù)據(jù)的大量產(chǎn)生,帶動了大數(shù)據(jù)解決方案逐漸走向成熟,信息社會智能化程度得到大幅提高[1]。此時,如果執(zhí)法人員能夠充分利用互聯(lián)網(wǎng)技術(shù)實現(xiàn)執(zhí)法文檔數(shù)據(jù)共享,便可以在短時間內(nèi)得到相關(guān)的反饋信息,從而及時做出相關(guān)的執(zhí)法行為并加以記錄和存檔。
針對上述問題,本文首先運用MongoDB數(shù)據(jù)庫技術(shù)完成了對執(zhí)法文檔等文檔數(shù)據(jù)的存儲管理過程;其次通過結(jié)合Web Service技術(shù)與分布式技術(shù),設(shè)計了海上移動執(zhí)法文檔查詢與管理系統(tǒng)。實驗結(jié)果表明,該系統(tǒng)在海上移動執(zhí)法工作中能夠?qū)崿F(xiàn)對違法船舶的快速查處和對執(zhí)法案卷的存檔,對提高海上移動執(zhí)法工作質(zhì)量和效率具有非常顯著的作用。
1? 執(zhí)法文檔管理
1.1? 執(zhí)法文檔存儲模式
在海上移動執(zhí)法系統(tǒng)設(shè)計過程中,由于數(shù)據(jù)量較大,且均為文檔格式,因此選擇具有支持復(fù)雜數(shù)據(jù)類型、自動分片[2]、自動故障轉(zhuǎn)移等功能的MongoDB數(shù)據(jù)庫作為該系統(tǒng)中數(shù)據(jù)存儲和管理的平臺。在MongoDB數(shù)據(jù)庫中,使用“key(鍵)?value(值)”對來描述數(shù)據(jù),其中“value”可以是文本數(shù)據(jù)、二進制數(shù)據(jù)或者另一個新的文檔。
在綜合考慮系統(tǒng)數(shù)據(jù)類型和MongoDB的特點兩方面后,如果按照常見的存儲模式對需要入庫的執(zhí)法文檔進行存儲,雖然能夠?qū)崿F(xiàn)一定的文檔數(shù)據(jù)存儲數(shù)量和查詢效率,但由于MongoDB僅僅提供了數(shù)據(jù)庫級別的全局鎖,這就會對原始數(shù)據(jù)的讀寫性能造成一定影響。因此,本系統(tǒng)采用的是分庫分表存儲模式,即將不同種類的數(shù)據(jù)表劃分到不同的數(shù)據(jù)庫下[3]。
同時,為了進一步地提高MongoDB集群讀寫性能,系統(tǒng)采用多集群的部署模式,并根據(jù)各執(zhí)法文檔的適用對象及適用水域劃分為若干組,以對應(yīng)不同的集群。經(jīng)過多次測試后發(fā)現(xiàn),每個MongoDB集群中路由服務(wù)和配置服務(wù)對內(nèi)存的依賴較小,因此可以將其置于數(shù)據(jù)分片所處的服務(wù)器上,以達到對云資源的充分利用,使得文檔數(shù)據(jù)的存儲和查詢更加便捷[4?5]。
1.2? 執(zhí)法文檔結(jié)構(gòu)化處理
對非結(jié)構(gòu)化執(zhí)法文檔進行結(jié)構(gòu)化處理,就是將原本偏向描述性的文檔內(nèi)容,轉(zhuǎn)化為多個“屬性(鍵)?值”對的形式,以供后續(xù)使用。海上移動執(zhí)法文檔是海事執(zhí)法部門從執(zhí)法過程中整理而來,對于違法船舶信息及執(zhí)法過程進行詳述記錄以作為執(zhí)法人員在后續(xù)執(zhí)法活動中查閱的文檔樣例,一份標(biāo)準(zhǔn)的執(zhí)法文檔中一般包含有執(zhí)法對象、執(zhí)法水域、執(zhí)法類型、執(zhí)法手段及法律依據(jù)等信息。表1展示了兩份執(zhí)法報告的部分內(nèi)容,通過結(jié)構(gòu)化處理之后的文檔內(nèi)容如表2所示。
1.3? 執(zhí)法文檔數(shù)據(jù)管理
在對執(zhí)法文檔進行結(jié)構(gòu)化處理之后,可將結(jié)構(gòu)化執(zhí)法文檔按照如下程序所示的數(shù)據(jù)存儲結(jié)構(gòu)進行入庫操作。
{
"name": "xxx",(違法類型)
"object": "xxx",(執(zhí)法對象)
"range": "xxx",(違法水域)
"way": [
執(zhí)法手段1,
執(zhí)法手段2,
執(zhí)法手段3,
],(執(zhí)法手段)
"law": [
文件1,
文件2,
],(法律依據(jù))
}
在系統(tǒng)執(zhí)法文檔數(shù)據(jù)庫的建立過程中,將一份執(zhí)法文檔數(shù)據(jù)放入1條記錄中,即構(gòu)成1個集合(Collection)。在這個集合中,除了內(nèi)容較為簡短的違法類型、執(zhí)法對象與違法水域“鍵?值”對外,還包括另外兩個內(nèi)容較為復(fù)雜、篇幅較長的子文檔,即執(zhí)法手段與法律依據(jù)。對于該種情況而言,應(yīng)采取文檔嵌套的方式來表達各類型數(shù)據(jù)所包括的各子類數(shù)據(jù)。在數(shù)據(jù)庫可擴展性方面,由于同一類數(shù)據(jù)的字段可以不同,所以在新增一類數(shù)據(jù)時只需相應(yīng)地新添加入一個“鍵?值”對即可[6]。
為了便于查詢而又降低數(shù)據(jù)存儲的冗余,在對執(zhí)法文檔進行整理分析后,按照執(zhí)法對象的不同,分別以國輪、外輪、內(nèi)河船三種執(zhí)法對象為劃分原則,建立三個不同的數(shù)據(jù)庫;同時在每個數(shù)據(jù)庫中又以違法水域1(內(nèi)水、領(lǐng)海、毗鄰區(qū)、專屬經(jīng)濟區(qū))為劃分依據(jù)建立不同的數(shù)據(jù)表。經(jīng)過調(diào)研與討論了解到,執(zhí)法人員往往以執(zhí)法對象、違法水域、違法類型作為違法信息,在查閱已有執(zhí)法文檔后制定相應(yīng)的處罰方案。因此,在查詢系統(tǒng)設(shè)計過程中將執(zhí)法對象、違法水域與違法類型一起作為查詢條件,而將具體的執(zhí)法手段與相應(yīng)的法律法規(guī)視為查詢結(jié)果。整個系統(tǒng)的執(zhí)法文檔管理結(jié)構(gòu)如圖1所示。
當(dāng)由于執(zhí)法文檔的變更或新增而要對文檔數(shù)據(jù)庫進行更新刪減時,在設(shè)計過程中引入MongoDB管理工具Rockmongo,使得文檔的更新刪減操作變得更加便捷,同時也增強了文檔管理過程中的可視化。
2? 系統(tǒng)設(shè)計與實驗
2.1? 系統(tǒng)設(shè)計原則
在海上移動執(zhí)法文檔管理與查詢系統(tǒng)的設(shè)計過程中,有以下幾個重要原則:
1) 可用性原則
系統(tǒng)的設(shè)計要建立在具備可用性、操作簡單的基礎(chǔ)之上,能夠滿足執(zhí)法人員實際的工作需要,為高效執(zhí)法提供有力的技術(shù)服務(wù)。
2) 安全性原則
執(zhí)法文檔數(shù)據(jù)是系統(tǒng)中的重要核心部分,因此需具備安全防護機制以確保執(zhí)法文檔數(shù)據(jù)的安全性,既包括數(shù)據(jù)的存儲安全又包括數(shù)據(jù)的訪問安全。
3) 可維護再開發(fā)性原則
由于國內(nèi)及國外海事相關(guān)法律的不斷更新完善,如何能及時高效地進行文檔管理一直是問題所在,系統(tǒng)采用的三層結(jié)構(gòu)體系把業(yè)務(wù)邏輯處理置于業(yè)務(wù)層上,對MongoDB數(shù)據(jù)庫中執(zhí)法文檔存儲和修正操作也較為簡易,從而在一定程度上降低了系統(tǒng)維護的工作量,同時在系統(tǒng)設(shè)計過程中提供開源接口以供后續(xù)擴展開發(fā)[7]。
2.2? 系統(tǒng)設(shè)計與功能
本系統(tǒng)采用基于Internet的B/S(瀏覽器/服務(wù)器)MVC模型進行設(shè)計,結(jié)合Web Service技術(shù)實現(xiàn)站點與站點之間的通信,MongoDB作為整個系統(tǒng)的數(shù)據(jù)庫,Tomcat 8.0作為Web服務(wù)器,所有的業(yè)務(wù)邏輯處理都通過后端及Web服務(wù)器實現(xiàn),有效地確保了系統(tǒng)的安全性[8]。同時對于執(zhí)法部門而言,執(zhí)法單元應(yīng)是彼此之間相互獨立的,系統(tǒng)通過Web Service提供服務(wù),不同執(zhí)法單元之間的數(shù)據(jù)交換則是使用XML來進行,這樣便可以保證系統(tǒng)服務(wù)的安全可靠性和不同執(zhí)法單元之間信息交換的便捷性[9]。整個系統(tǒng)的框架如圖2所示。
海上移動執(zhí)法文檔管理與查詢系統(tǒng)所具備的功能主要是對在某水域違法船舶的某一項或某幾項違法活動建立案卷,案卷中包含違法證據(jù)、違法人員筆錄及執(zhí)法記錄報告等。執(zhí)法人員通過執(zhí)法對象、水域、違法類型等信息,使用該系統(tǒng)查詢到該類情況下應(yīng)采取的執(zhí)法手段以及相關(guān)的法律依據(jù),完成對違法活動的查處,并生成可供下載的執(zhí)法記錄報告,最后進行對案卷的制作并最終上傳至服務(wù)器歸檔。
2.3? 實驗結(jié)果
由于海上移動執(zhí)法工作的重要性與特殊性,因此對于系統(tǒng)查詢速度的要求也相對較高,故將系統(tǒng)搭建在分布式架構(gòu)上。為了驗證分布式模式下對執(zhí)法文檔查詢速度的提升,實驗過程中分別在單計算機模式和分布式模式下對系統(tǒng)查詢速度進行測試,記錄查詢所用的時間。單計算機模式下使用2.3 GHz的i5?6300HQ CPU,四核處理器,4 GB內(nèi)存運行配置的計算機;分布式模式則利用OpenStack分配了兩臺實例[10],配置與單計算機模式相同,然后保證網(wǎng)速穩(wěn)定的條件下,分別在文檔數(shù)據(jù)量為102條,5×102條,103條,5×103條的情況下進行執(zhí)法查詢測試。圖3為查詢所需時間對比圖。
從圖3中可看出,采用分布式模式的系統(tǒng)在數(shù)據(jù)量較小的時候查詢速度優(yōu)勢并未體現(xiàn),但是隨著數(shù)據(jù)量的不斷增長,查詢所需時間也會比單計算機模式下的查詢時間有明顯的縮減。實驗結(jié)果證明,即使在文檔數(shù)據(jù)量較大時,本系統(tǒng)仍能實現(xiàn)對執(zhí)法文檔信息的快速查詢,滿足對海量執(zhí)法數(shù)據(jù)的管理與查詢需求。
3? 結(jié)? 語
由于海上活動越來越頻繁而且多樣化,如何使得海區(qū)巡航執(zhí)法更為規(guī)范和高效便成了十分棘手的問題。本文所設(shè)計的海上移動執(zhí)法系統(tǒng)目前已在某海事執(zhí)法單位部署成功。實踐證明,該系統(tǒng)在執(zhí)法過程中為相關(guān)執(zhí)法人員提供了很大的幫助,在一定程度上改善了以往執(zhí)法效率低下、執(zhí)法過程不透明、執(zhí)法證據(jù)鏈不完整等情況,但在某些方面還存在欠缺之處,如何能夠?qū)?dāng)下新興計算機技術(shù)更好地運用于海上移動執(zhí)法之中,仍需不斷地研究與探討。
參 考 文 獻
[1] 雷德龍,郭殿升,陳崇成.基于MongoDB的矢量空間數(shù)據(jù)云存儲與處理系統(tǒng)[J].地理信息科學(xué),2014,16(4):507?516.
[2] KRISTINA C. 50 tips and tricks for MongoDB developers [J]. European urology supplements, 2011, 38(2): 348.
[3] DEDE E, GOVINDARAJU M, GUNTER D, et al. Performance evaluation of a MongoDB and Hadoop platform for scientific data analysis [C]// Proceedings of 4th ACM Workshop on Scientific Cloud Computing. New York: ACM, 2013: 13?20.
[4] 史玉良,王相偉,梁波.基于MongoDB的前置通信平臺大數(shù)據(jù)存儲機制[J].電網(wǎng)技術(shù),2015,11(39):3176?3181.
[5] 申德榮,于戈,王習(xí)特.支持大數(shù)據(jù)管理的NoSQL系統(tǒng)研究綜述綜述[J].軟件學(xué)報,2013,24(8):1786?1803.
[6] 黃鐸,苗凱,魏成.基于MongoDB的傳統(tǒng)村落基礎(chǔ)設(shè)施評價系統(tǒng)設(shè)計[J].熱帶地理,2017,37(3):328?333.
[7] 楊龍杰.變形監(jiān)測數(shù)據(jù)管理與查詢系統(tǒng)設(shè)計與實現(xiàn)[D].成都:西南交通大學(xué),2016.
[8] 王亞楠,吳華瑞,黃鋒.高并發(fā)Web系統(tǒng)的性能優(yōu)化分析與研究[J].計算機工程與設(shè)計,2014,35(8):2976?2981.
[9] 許慧,張立銘.基于Web的圖書館檔案管理系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2016,39(16):48?52.
[10] 施志威.基于云服務(wù)的臨床文檔結(jié)構(gòu)化系統(tǒng)設(shè)計與實現(xiàn)[D].上海:東華大學(xué),2017.
[11] 岳敏,張瑋,馬濤,等.基于MongoDB的重離子加速器波形數(shù)據(jù)存儲系統(tǒng)構(gòu)建[J].核電子學(xué)與探測技術(shù),2017(10):1022?1026.
[12] 張澤柱.基于ionic框架和AngularJS的手機移動端商城APP的設(shè)計與實現(xiàn)[D].濟南:山東大學(xué),2017.