摘 要:針對數(shù)據(jù)源對接不足、數(shù)據(jù)調(diào)取效率遲滯等問題,設(shè)計并實現(xiàn)了檢查業(yè)務(wù)數(shù)據(jù)應(yīng)用系統(tǒng)。該系統(tǒng)以數(shù)字化改革為導向,對接一體化智能化公共數(shù)據(jù)平臺,基于SSM框架并采用較流行的前后端分離技術(shù)實現(xiàn),具有數(shù)據(jù)配置、數(shù)據(jù)檢索及系統(tǒng)管理等功能,為檢察院提供可靠的數(shù)據(jù)可視化管理,并快速準確地獲取辦件的相關(guān)信息。經(jīng)測試,該系統(tǒng)運行穩(wěn)定,數(shù)據(jù)檢索響應(yīng)快,時間小于1秒,用戶體驗良好;通過匯聚行政執(zhí)法數(shù)據(jù)及其他公共數(shù)據(jù),系統(tǒng)打通了數(shù)字資源流通的壁壘,降低了跨部門工作協(xié)調(diào)的難度,提高了檢察院的辦件效率。
關(guān)鍵詞:數(shù)字化改革;數(shù)據(jù)檢索;SSM框架;應(yīng)用系統(tǒng)
中圖分類號:TP311 文獻標識碼:A 文章編號:2096-4706(2025)02-0052-06
Development of Prosecution Business Data Application System Based on SSM Framework
ZHAO Jingjing
(Artificial Intelligence College, Zhejiang Industry and Trade Vocational College, Wenzhou 325003, China)
Abstract: In response to issues such as insufficient data source integration and delayed data retrieval efficiency, a prosecutorial business data application system is designed and implemented. The system is led by digital reform, connected to an integrated intelligent public data platform, based on the SSM framework and implemented using popular front-end and back-end separation technology. It has functions such as data configuration, data retrieval, and system management, providing reliable data visualization management for the procuratorate and quickly and accurately obtaining relevant information of the cases. After testing, the system runs stably, responds quickly to data retrieval, takes less than 1 second, and has a good user experience. By aggregating administrative law enforcement data and other public data, the barriers to the circulation of digital resources have been broken down, reducing the difficulty of cross departmental work coordination and improving the efficiency of the procuratorate's handling of cases.
Keywords: digital reform; data retrieval; SSM framework; application system
DOI:10.19850/j.cnki.2096-4706.2025.02.009
收稿日期:2024-07-31
基金項目:2022年度高校國內(nèi)訪問工程師“校企合作項目”(FG2022267)
0 引 言
近年來信息技術(shù)產(chǎn)業(yè)有了長足發(fā)展,云計算、物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)的成熟極大地提高了軟件系統(tǒng)開發(fā)和應(yīng)用水平[1],為信息化建設(shè)提供了可靠的軟硬件環(huán)境條件,有力地保障了信息化建設(shè)的成果。數(shù)字改革可以打通信息傳遞通路,有效提高政府服務(wù)效率,數(shù)字賦能推動社會發(fā)展并不斷提高社會治理水平,但是隨著數(shù)字化的不推進,導致各地各部門都沉淀積累了海量數(shù)據(jù)資源,而這些資源之間流通還存在著一定的壁壘[2],如何將各類資源進行整合并進行優(yōu)化管理,實現(xiàn)資源數(shù)字化、網(wǎng)絡(luò)化與智能化,并提供高質(zhì)量服務(wù),是該系統(tǒng)解決的問題。
檢查業(yè)務(wù)數(shù)據(jù)應(yīng)用系統(tǒng)以深入強化某區(qū)人民檢察院智慧化、數(shù)字化數(shù)據(jù)檢索平臺,以破解問題為工作導向,對接“一體化數(shù)字資源服務(wù)系統(tǒng)”,集成一體化智能化公共數(shù)據(jù)平臺某區(qū)分平臺數(shù)據(jù),構(gòu)建集數(shù)據(jù)檢索、案件辦理等為一體的數(shù)字化的數(shù)據(jù)應(yīng)用系統(tǒng)。本系統(tǒng)匯聚了行政執(zhí)法數(shù)據(jù)及其他公共數(shù)據(jù),提供了可靠的數(shù)據(jù)的可視化管理,實現(xiàn)了對案件人、案件企業(yè)等各類案件數(shù)據(jù)進行檢索,促進了不同部門間的數(shù)據(jù)共享,降低了工作協(xié)調(diào)難度,提高了工作效率。
1 關(guān)鍵技術(shù)介紹
1.1 SSM框架
SSM框架由Spring、Spring MVC和MyBatis三個框架整合而成,是目前JavaEE企業(yè)級應(yīng)用開發(fā)中主流的輕量級框架組合。
Spring是一個輕量級的Java開發(fā)應(yīng)用框架,其中核心是控制反轉(zhuǎn)(IoC)和面向切面編程(AOP),利用容器對對象進行高效管理,實現(xiàn)對代碼的解耦[3]。該框架為開發(fā)提供了集成環(huán)境,同時還提供了數(shù)據(jù)訪問對象(DAO)支持、事務(wù)管理、EJB集成、遠程方法調(diào)用(RMI)、定時任務(wù)等豐富的功能,從而簡化了應(yīng)用開發(fā)的流程,使工程師有更多的精力投入到業(yè)務(wù)上,提升開發(fā)效率。Spring MVC為Spring框架的一部分,與類級別攔截的Struts2框架不同的是,Spring MVC是方法的攔截,它圍繞DispatcherServlet前端控制器進行設(shè)計[4],攔截用戶請求后再分發(fā)給不同的處理器來處理,支持Restful風格、國際化,以及數(shù)據(jù)驗證、攔截器等功能,一般在開發(fā)過程中,會采用基于注解的Controller聲明方式進行開發(fā)。而MyBatis是一個持久層框架,它通過提供DAO層,將業(yè)務(wù)邏輯與數(shù)據(jù)訪問邏輯分離,讓系統(tǒng)設(shè)計更清晰、維護更容易。MyBatis在實現(xiàn)方法上,提供了XML和注解兩種方式來實現(xiàn)ORM(Object Relational Mapping)關(guān)系映射,使SQL語句從程序中解耦,提高可維護性。而MyBatis-plus作為MyBatis的增強工具,擴展了MyBatis功能,提供了CURD的操作方法及分頁查詢等功能,在一定程度上減少了手寫重復(fù)性代碼的時間和工作量,配合MyBatis-plus開發(fā),效率更高。
1.2 前端開發(fā)技術(shù)
前期的前端開發(fā)主要由Html和Css完成靜態(tài)網(wǎng)頁的設(shè)計與制作,由JavaScript進行頁面的簡單交互,隨著交互需求的增加,異步交互技術(shù)Ajax應(yīng)運而生,它在網(wǎng)頁不更新的情況下與服務(wù)器進行數(shù)據(jù)交互,使用戶體驗更加豐富[5]。前端技術(shù)在不斷演進與更新中,Angular.js、React.js及Vue.js等新的技術(shù)框架相繼出現(xiàn),為前端開發(fā)帶來了獨特的解決方案和生態(tài)系統(tǒng)。Vue作為前端最流行的框架之一,利用數(shù)組驅(qū)動與組件化的方式,簡化了開發(fā)過程,在前端開發(fā)過程中得到廣泛的應(yīng)用。Vue提供了響應(yīng)式數(shù)據(jù)綁定、組件系統(tǒng)和虛擬DOM,同時支持服務(wù)器端渲染等功能,使用MVVM(Model-View-ViewModel)的設(shè)計模式,使用視圖與數(shù)據(jù)之間保持同步,當數(shù)據(jù)發(fā)生變化時,視圖會自動更新;反之,當用戶與視圖進行交互時,數(shù)據(jù)也會相應(yīng)地更新[6-7]。
2 系統(tǒng)總體設(shè)計
2.1 系統(tǒng)框架設(shè)計
系統(tǒng)總體框架使用網(wǎng)絡(luò)設(shè)備將內(nèi)外數(shù)據(jù)隔離,業(yè)務(wù)系統(tǒng)通過對接一體化智能化公共數(shù)據(jù)平臺某區(qū)分平臺完成數(shù)據(jù)對接,同時將相關(guān)的各類數(shù)據(jù)進行匯聚,形成資源協(xié)同、數(shù)據(jù)共享的檢查業(yè)務(wù)數(shù)據(jù)應(yīng)用系統(tǒng),進而為檢察院提供高效的服務(wù)。
根據(jù)系統(tǒng)的功能需求分析以及對平臺的擴展性和可配置性的要求,項目采用SpringBoot+Vue的前后端分離技術(shù),技術(shù)框架設(shè)計為4層:顯示及控制層、業(yè)務(wù)層、數(shù)據(jù)訪問層、數(shù)據(jù)層。系統(tǒng)技術(shù)框架如圖1所示。
具體介紹如下:
1)顯示及控制層主要采用MVC的思想,由Spring MVC的Controller層接收用戶請求并調(diào)用Service層服務(wù)后響應(yīng)給前端,前端利用Vue技術(shù)并結(jié)合Element-UI框架完成前端頁面動態(tài)顯示,同時利用Axios請求實現(xiàn)業(yè)務(wù)、數(shù)據(jù)可視化配置和展示效果。為方便管理數(shù)據(jù)源資源使用情況,本層還集成了Druid Monitor監(jiān)控工具,
2)業(yè)務(wù)層主要負責業(yè)務(wù)邏輯的具體實現(xiàn),即Service層[8]。通過調(diào)用數(shù)據(jù)訪問層的接口,獲取業(yè)務(wù)數(shù)據(jù)并進行業(yè)務(wù)邏輯處理,如權(quán)限驗證、日志處理、檢索處理等,同時為控制層提供業(yè)務(wù)接口。
3)數(shù)據(jù)訪問層主要負責數(shù)據(jù)庫的訪問,數(shù)據(jù)源使用Druid進行訪問和管理,利用MyBatis框架實現(xiàn)數(shù)據(jù)庫的各種訪問操作,配合MyBatis-plus快速完成數(shù)據(jù)庫的DML操作、實體類代碼生成、分頁等功能,同時為業(yè)務(wù)層提供數(shù)據(jù)訪問接口。
4)數(shù)據(jù)層是則存放系統(tǒng)中所需要的各類數(shù)據(jù),它屬于系統(tǒng)的基礎(chǔ)部分。數(shù)據(jù)包含系統(tǒng)本身數(shù)據(jù)和遠程數(shù)據(jù)兩部分。系統(tǒng)數(shù)據(jù)又由本地數(shù)據(jù)、緩存數(shù)據(jù)及文件數(shù)據(jù)組成,遠程數(shù)據(jù)來源于一體化智能化公共數(shù)據(jù)平臺,經(jīng)訪問后獲取。本地數(shù)據(jù)為結(jié)構(gòu)化數(shù)據(jù),存儲于MySQL中,包括系統(tǒng)管理信息、業(yè)務(wù)數(shù)據(jù)、配置信息等;文件數(shù)據(jù)由用戶進行上傳用于批量查詢或?qū)С鍪褂茫鎯τ诒镜匚募到y(tǒng)中;部分業(yè)務(wù)數(shù)據(jù)由Redis緩存存儲,主要用于提高查詢效率。
2.2 功能介紹
檢查業(yè)務(wù)數(shù)據(jù)應(yīng)用系統(tǒng)整合一體化智能化公共數(shù)據(jù)平臺公共數(shù)據(jù)資源,充分考慮目前相關(guān)人員信息采集使用過程中存在的問題,以減少數(shù)據(jù)管理與維護帶來的壓力、快速識別相關(guān)關(guān)聯(lián)信息,從而實現(xiàn)業(yè)務(wù)的信息智能化。根據(jù)業(yè)務(wù)需求,平臺主要提供數(shù)據(jù)檢索、數(shù)據(jù)接口配置和系統(tǒng)管理三個功能模塊,如圖2所示。數(shù)據(jù)檢索功能模塊主要通過和大數(shù)據(jù)平臺的對接,完成跨平臺的檢索。數(shù)據(jù)來源單位包括住建局、市場監(jiān)督局、數(shù)據(jù)管理中心等不同單位,檢索包括個人檢索業(yè)務(wù)與企業(yè)檢索業(yè)務(wù),檢索過程中匹配數(shù)據(jù)來源與檢索類型進行快速檢索,檢索的數(shù)據(jù)以列表的形式顯示于頁面,點擊詳情后可查看該案件的詳情信息,并提供CSV、PDF等形式的數(shù)據(jù)報表導出功能。數(shù)據(jù)配置功能模塊主要包括數(shù)據(jù)接口配置及日志操作兩部分,數(shù)據(jù)接口配置是對公共平臺接口地址和相關(guān)接口交互參數(shù)進行配置,以完成與公共平臺信息的對接,為數(shù)據(jù)檢索提供保障,日志操作則為系統(tǒng)的安全性提供全面監(jiān)控與分析。系統(tǒng)管理功能模塊包括對系統(tǒng)進行用戶管理、角色管理、菜單管理、權(quán)限管理等功能。
3 系統(tǒng)功能實現(xiàn)
為減少后端服務(wù)器的壓力,本系統(tǒng)使用前后端分離技術(shù)實現(xiàn)[9],數(shù)據(jù)存儲于MySQL數(shù)據(jù)庫系統(tǒng)中。后臺提供數(shù)據(jù)并提供API接口,前端獲取數(shù)據(jù)后負責組裝、渲染,最終呈現(xiàn)給用戶。前后端通過接口進行數(shù)據(jù)交互時,使用JSON格式,定義統(tǒng)一返回的數(shù)據(jù)格式,格式包含data、code及message三個成員,其中data用來存儲實際返回的數(shù)據(jù),可以是對象、集合等類型,定義時使用范型表示;code表示本次請求是否響應(yīng)成功,例如200表示響應(yīng)成功,前端可根據(jù)此響應(yīng)碼判斷其處理過程;message即消息,用于接口調(diào)用時后端告知前端的必要信息。
3.1 數(shù)據(jù)配置功能
對接一體化智能化公共數(shù)據(jù)平臺某區(qū)分平臺,實現(xiàn)對各類案件數(shù)據(jù)進行檢索,針對案件人、案件企業(yè)等信息查詢,數(shù)據(jù)來源、領(lǐng)域不同,則查詢的條件不同。如對每一項業(yè)務(wù)的查詢條件進行逐個處理形成靜態(tài)表單,則開發(fā)效率低下,且當檢索功能增加時,系統(tǒng)不易擴展。根據(jù)查詢業(yè)務(wù)需要,數(shù)據(jù)接口配置功能將查詢條件以key-value形式建立模型,存儲于數(shù)據(jù)庫中,前端根據(jù)數(shù)據(jù)庫中的模型,拿到表單的相關(guān)數(shù)據(jù)后,遍歷給表單賦值以生成動態(tài)表單。數(shù)據(jù)接口配置的數(shù)據(jù)庫表設(shè)計如圖3所示。
為保證數(shù)據(jù)的安全性、合規(guī)性和透明度,系統(tǒng)使用操作日志記錄用戶的操作行為及操作結(jié)果。日志主要記錄哪個用戶在什么時間做了什么事情,通過日志記錄可以幫助部門進行行為跟蹤,保證操作行為符合要求,當系統(tǒng)出問題時,也可能通過日志幫助快速定位源頭。日志記錄表設(shè)計如圖4所示。
3.2 數(shù)據(jù)檢索功能
數(shù)據(jù)檢索功能是一個全自動化的功能,可減少人工查詢的時間成本和勞動成本,數(shù)據(jù)來源于公共數(shù)據(jù)資源平臺中的數(shù)據(jù),可快速、準確地獲取辦件人的相關(guān)信息,以推動檢查業(yè)務(wù)工作、輔助辦案人決策及提升相應(yīng)的業(yè)務(wù)指導等功能,從而提升司法監(jiān)督的效率和精準度,發(fā)揮數(shù)據(jù)價值。
本功能的實現(xiàn)主要是通過API請求公共數(shù)據(jù)平臺以獲得相應(yīng)的數(shù)據(jù),在實現(xiàn)時定義一個公共查詢服務(wù)DataService,用于查詢功能的統(tǒng)一調(diào)用。在請求公共平臺數(shù)據(jù)時,需要access_token令牌,而令牌的有效期為1 800秒,為減輕平臺服務(wù)器壓力,在令牌失效前不進行重復(fù)請求獲取令牌。由于數(shù)據(jù)來源于住建委、大數(shù)據(jù)中心等不同部門,故在對接公共數(shù)據(jù)平臺時其攜帶的請求信息也有所不相同,此處可將請求信息作為服務(wù)的參數(shù)處理。在API請求過程中,使用Spring提供的HTTP請求工具RestTemplate,此工具中ResOperations接口定義了RESTful的基本操作,能滿足GET、POST、PUT等請求方式。在使用RestTemplate 進行請求時,需要進行配置,其配置過程核心代碼如下:
@Bean
public HttpClient httpClient() {
Registrylt;ConnectionSocketFactorygt; registry = RegistryBuilder.lt;ConnectionSocketFactorygt;create()
.register(\"http\", PlainConnectionSocketFactory.getSocketFactory())
.register(\"https\", SSLConnectionSocketFactory.getSocketFactory())
.build();
PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager(registry);
//設(shè)置整個連接池最大連接數(shù) 需求200
poolingHttpClientConnectionManager .setMaxTotal(200);
//路由是對maxTotal的細分
poolingHttpClientConnectionManager .setDefaultMaxPerRoute(100);
RequestConfig reqConfig = RequestConfig.custom()
.setSocketTimeout(10000) //設(shè)置未收到數(shù)據(jù)時間(經(jīng)過測試)
.setConnectTimeout(10000)//設(shè)置連接超時時間
.setConnectionRequestTimeout(1000)//從連接池中獲取連接的超時時間
.build();
return HttpClientBuilder
.create()
.setConnectionReuseStrategy(new ConnectionReuseStrategy() {
@Override
public boolean keepAlive(HttpResponse response, HttpContext context) {
return 1;
}
})
.setDefaultRequestConfig(reqConfig )
.setConnectionManager(poolingHttpClientConnectionManager )
.build();
}
在檢索數(shù)據(jù)時,可輸入查詢條件進行單條檢索,也可通過導入模板進行批量檢索,檢索結(jié)果經(jīng)解析處理后在頁面中以列表形式展示,同時對查詢結(jié)果提供導出功能,導出格式為Excel格式。由于數(shù)據(jù)源本身在公共平臺,可能會隨時發(fā)生變化,故檢索到的數(shù)據(jù)僅用于當前業(yè)務(wù),不再保存在本地數(shù)據(jù)庫。數(shù)據(jù)檢索頁面如圖5所示。
3.3 系統(tǒng)管理功能
系統(tǒng)管理功能為系統(tǒng)的基本功能,提供經(jīng)典的用戶、權(quán)限等管理功能,在系統(tǒng)登錄時使用統(tǒng)一身份認證,業(yè)務(wù)應(yīng)用則基于JWT認證完成,用戶需提供正確的JWT令牌才能通過認證。用戶登錄后,根據(jù)用戶角色與權(quán)限的分配,前端頁面動態(tài)加載并顯示用戶的菜單[10]。角色權(quán)限分配界面如圖6所示,利用權(quán)限設(shè)計提高了系統(tǒng)的靈活性,滿足個性化需求。
4 系統(tǒng)部署與測試
系統(tǒng)硬件測試環(huán)境為Centos 7操作系統(tǒng)、8 GB內(nèi)存、1 TB硬盤,軟件測試環(huán)境包括JDK 1.8、Nginx、Docke、MySQL 5.8 等。系統(tǒng)使用前后端分離技術(shù)進行開發(fā),在系統(tǒng)部署測試時,考慮到應(yīng)用程序的一致性、擴展性等特點,選擇使用Docker容器化部署,以隔離環(huán)境并簡化部署流程。部署Spring Boot后臺服務(wù)時,需要對應(yīng)的容器中準備好Java的開發(fā)環(huán)境,后臺服務(wù)分模塊方式進行開發(fā)并打包,啟動時需要注意它們的順序,數(shù)據(jù)庫服務(wù)則需要單獨部署。部署前端Vue項目時,使用Nginx作為Web服務(wù)器,服務(wù)前端靜態(tài)頁面。為方便管理,使用docker-compose編排來進行定義和運行多個容器。
所有服務(wù)均正確啟動后,根據(jù)用戶的應(yīng)用要求,進行查詢、配置和權(quán)限分配等功能與性能方面地的測試。經(jīng)測試,人機交互界面友好,輸入、輸出操作方便,數(shù)據(jù)檢索簡單快捷,能滿足100用戶同時在線,對于數(shù)據(jù)檢索查詢可以做到即時響應(yīng),其檢索業(yè)務(wù)數(shù)據(jù)響應(yīng)時間小于1秒,報表響應(yīng)時間小于3秒,符合用戶需求。
5 結(jié) 論
基于SSM框架的檢查業(yè)務(wù)數(shù)據(jù)應(yīng)用系統(tǒng),使用前后端分離技術(shù)實現(xiàn),利用異步交互技術(shù)將前端頁面與后臺服務(wù)有效地進行解耦,減少服務(wù)器壓力;通過采集配置功能,對接一體化智能化公共平臺,為數(shù)據(jù)檢索提供了保障;而操作日志的記錄,則為系統(tǒng)的安全性提供了全面監(jiān)控與分析;檢索功能可快速、準確地獲取辦件人的相關(guān)信息,提高了檢察院的辦件效率。本項目以數(shù)字化技術(shù)為基礎(chǔ),將數(shù)字要素貫穿于檢查業(yè)務(wù),全面推進了“數(shù)字檢務(wù)”建設(shè),同時推進了數(shù)字產(chǎn)業(yè)發(fā)展。
參考文獻:
[1] 張苗苗.新一代信息技術(shù)環(huán)境下科技管理數(shù)據(jù)服務(wù)模式創(chuàng)新研究 [D].西安:西安電子科技大學,2018.
[2] 楊旎.整體性治理理論視角下“互聯(lián)網(wǎng)+”行政審批的優(yōu)化 [J].電子政務(wù),2017(10):38-45.
[3] 王建國,張爭,湯來鋒,等.基于SSM框架的學生信息管理系統(tǒng)的設(shè)計與實現(xiàn) [J].現(xiàn)代信息科技,2024,8(7):30-33.
[4] 趙炯,司圣杰,周奇才,等.通用信息獲取系統(tǒng)設(shè)計與實現(xiàn) [J].起重運輸機械,2020(16):89-97.
[5] 劉軍.基于AJAX技術(shù)和RSS技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)設(shè)計 [J].長江信息通信,2023,36(5):179-181.
[6] 徐鵬濤.基于Vue的前端開發(fā)框架的設(shè)計與實現(xiàn) [D].濟南:山東大學,2020.
[7] 王偉,丁佳浩,葉紅陽,等.基于前后端分離架構(gòu)的某企業(yè)檔案管理系統(tǒng)設(shè)計與實現(xiàn) [J].現(xiàn)代信息科技,2024,8(6):11-14.
[8] 王志亮,紀松波.基于SpringBoot的Web前端與數(shù)據(jù)庫的接口設(shè)計 [J].工業(yè)控制計算機,2023,36(3):51-53.
[9] 趙靜靜,金慧峰,李霄.基于MinIO存儲的綜合實踐管理平臺開發(fā) [J].軟件,2022,43(10):55-59.
[10] 孫全玲,洪賜福,嚴輝.基于Java安全類庫Spring Security的信息系統(tǒng)安全功能實現(xiàn) [J].工業(yè)控制計算機,2024,37(5):104-105+108.
作者簡介:趙靜靜(1985—),女,漢族,河南焦作人,講師,碩士,研究方向:軟件技術(shù)。