摘 要:针对数据源对接不足、数据调取效率迟滞等问题,设计并实现了检查业务数据应用系统。该系统以数字化改革为导向,对接一体化智能化公共数据平台,基于SSM框架并采用较流行的前后端分离技术实现,具有数据配置、数据检索及系统管理等功能,为检察院提供可靠的数据可视化管理,并快速准确地获取办件的相关信息。经测试,该系统运行稳定,数据检索响应快,时间小于1秒,用户体验良好;通过汇聚行政执法数据及其他公共数据,系统打通了数字资源流通的壁垒,降低了跨部门工作协调的难度,提高了检察院的办件效率。
关键词:数字化改革;数据检索;SSM框架;应用系统
中图分类号: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 procuratorates 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年度高校国内访问工程师“校企合作项目”(FG2022267)
0 引 言
近年来信息技术产业有了长足发展,云计算、物联网、大数据等技术的成熟极大地提高了软件系统开发和应用水平[1],为信息化建设提供了可靠的软硬件环境条件,有力地保障了信息化建设的成果。数字改革可以打通信息传递通路,有效提高政府服务效率,数字赋能推动社会发展并不断提高社会治理水平,但是随着数字化的不推进,导致各地各部门都沉淀积累了海量数据资源,而这些资源之间流通还存在着一定的壁垒[2],如何将各类资源进行整合并进行优化管理,实现资源数字化、网络化与智能化,并提供高质量服务,是该系统解决的问题。
检查业务数据应用系统以深入强化某区人民检察院智慧化、数字化数据检索平台,以破解问题为工作导向,对接“一体化数字资源服务系统”,集成一体化智能化公共数据平台某区分平台数据,构建集数据检索、案件办理等为一体的数字化的数据应用系统。本系统汇聚了行政执法数据及其他公共数据,提供了可靠的数据的可视化管理,实现了对案件人、案件企业等各类案件数据进行检索,促进了不同部门间的数据共享,降低了工作协调难度,提高了工作效率。
1 关键技术介绍
1.1 SSM框架
SSM框架由Spring、Spring MVC和MyBatis三个框架整合而成,是目前JavaEE企业级应用开发中主流的轻量级框架组合。
Spring是一个轻量级的Java开发应用框架,其中核心是控制反转(IoC)和面向切面编程(AOP),利用容器对对象进行高效管理,实现对代码的解耦[3]。该框架为开发提供了集成环境,同时还提供了数据访问对象(DAO)支持、事务管理、EJB集成、远程方法调用(RMI)、定时任务等丰富的功能,从而简化了应用开发的流程,使工程师有更多的精力投入到业务上,提升开发效率。Spring MVC为Spring框架的一部分,与类级别拦截的Struts2框架不同的是,Spring MVC是方法的拦截,它围绕DispatcherServlet前端控制器进行设计[4],拦截用户请求后再分发给不同的处理器来处理,支持Restful风格、国际化,以及数据验证、拦截器等功能,一般在开发过程中,会采用基于注解的Controller声明方式进行开发。而MyBatis是一个持久层框架,它通过提供DAO层,将业务逻辑与数据访问逻辑分离,让系统设计更清晰、维护更容易。MyBatis在实现方法上,提供了XML和注解两种方式来实现ORM(Object Relational Mapping)关系映射,使SQL语句从程序中解耦,提高可维护性。而MyBatis-plus作为MyBatis的增强工具,扩展了MyBatis功能,提供了CURD的操作方法及分页查询等功能,在一定程度上减少了手写重复性代码的时间和工作量,配合MyBatis-plus开发,效率更高。
1.2 前端开发技术
前期的前端开发主要由Html和Css完成静态网页的设计与制作,由JavaScript进行页面的简单交互,随着交互需求的增加,异步交互技术Ajax应运而生,它在网页不更新的情况下与服务器进行数据交互,使用户体验更加丰富[5]。前端技术在不断演进与更新中,Angular.js、React.js及Vue.js等新的技术框架相继出现,为前端开发带来了独特的解决方案和生态系统。Vue作为前端最流行的框架之一,利用数组驱动与组件化的方式,简化了开发过程,在前端开发过程中得到广泛的应用。Vue提供了响应式数据绑定、组件系统和虚拟DOM,同时支持服务器端渲染等功能,使用MVVM(Model-View-ViewModel)的设计模式,使用视图与数据之间保持同步,当数据发生变化时,视图会自动更新;反之,当用户与视图进行交互时,数据也会相应地更新[6-7]。
2 系统总体设计
2.1 系统框架设计
系统总体框架使用网络设备将内外数据隔离,业务系统通过对接一体化智能化公共数据平台某区分平台完成数据对接,同时将相关的各类数据进行汇聚,形成资源协同、数据共享的检查业务数据应用系统,进而为检察院提供高效的服务。
根据系统的功能需求分析以及对平台的扩展性和可配置性的要求,项目采用SpringBoot+Vue的前后端分离技术,技术框架设计为4层:显示及控制层、业务层、数据访问层、数据层。系统技术框架如图1所示。
具体介绍如下:
1)显示及控制层主要采用MVC的思想,由Spring MVC的Controller层接收用户请求并调用Service层服务后响应给前端,前端利用Vue技术并结合Element-UI框架完成前端页面动态显示,同时利用Axios请求实现业务、数据可视化配置和展示效果。为方便管理数据源资源使用情况,本层还集成了Druid Monitor监控工具,
2)业务层主要负责业务逻辑的具体实现,即Service层[8]。通过调用数据访问层的接口,获取业务数据并进行业务逻辑处理,如权限验证、日志处理、检索处理等,同时为控制层提供业务接口。
3)数据访问层主要负责数据库的访问,数据源使用Druid进行访问和管理,利用MyBatis框架实现数据库的各种访问操作,配合MyBatis-plus快速完成数据库的DML操作、实体类代码生成、分页等功能,同时为业务层提供数据访问接口。
4)数据层是则存放系统中所需要的各类数据,它属于系统的基础部分。数据包含系统本身数据和远程数据两部分。系统数据又由本地数据、缓存数据及文件数据组成,远程数据来源于一体化智能化公共数据平台,经访问后获取。本地数据为结构化数据,存储于MySQL中,包括系统管理信息、业务数据、配置信息等;文件数据由用户进行上传用于批量查询或导出使用,存储于本地文件系统中;部分业务数据由Redis缓存存储,主要用于提高查询效率。
2.2 功能介绍
检查业务数据应用系统整合一体化智能化公共数据平台公共数据资源,充分考虑目前相关人员信息采集使用过程中存在的问题,以减少数据管理与维护带来的压力、快速识别相关关联信息,从而实现业务的信息智能化。根据业务需求,平台主要提供数据检索、数据接口配置和系统管理三个功能模块,如图2所示。数据检索功能模块主要通过和大数据平台的对接,完成跨平台的检索。数据来源单位包括住建局、市场监督局、数据管理中心等不同单位,检索包括个人检索业务与企业检索业务,检索过程中匹配数据来源与检索类型进行快速检索,检索的数据以列表的形式显示于页面,点击详情后可查看该案件的详情信息,并提供CSV、PDF等形式的数据报表导出功能。数据配置功能模块主要包括数据接口配置及日志操作两部分,数据接口配置是对公共平台接口地址和相关接口交互参数进行配置,以完成与公共平台信息的对接,为数据检索提供保障,日志操作则为系统的安全性提供全面监控与分析。系统管理功能模块包括对系统进行用户管理、角色管理、菜单管理、权限管理等功能。
3 系统功能实现
为减少后端服务器的压力,本系统使用前后端分离技术实现[9],数据存储于MySQL数据库系统中。后台提供数据并提供API接口,前端获取数据后负责组装、渲染,最终呈现给用户。前后端通过接口进行数据交互时,使用JSON格式,定义统一返回的数据格式,格式包含data、code及message三个成员,其中data用来存储实际返回的数据,可以是对象、集合等类型,定义时使用范型表示;code表示本次请求是否响应成功,例如200表示响应成功,前端可根据此响应码判断其处理过程;message即消息,用于接口调用时后端告知前端的必要信息。
3.1 数据配置功能
对接一体化智能化公共数据平台某区分平台,实现对各类案件数据进行检索,针对案件人、案件企业等信息查询,数据来源、领域不同,则查询的条件不同。如对每一项业务的查询条件进行逐个处理形成静态表单,则开发效率低下,且当检索功能增加时,系统不易扩展。根据查询业务需要,数据接口配置功能将查询条件以key-value形式建立模型,存储于数据库中,前端根据数据库中的模型,拿到表单的相关数据后,遍历给表单赋值以生成动态表单。数据接口配置的数据库表设计如图3所示。
为保证数据的安全性、合规性和透明度,系统使用操作日志记录用户的操作行为及操作结果。日志主要记录哪个用户在什么时间做了什么事情,通过日志记录可以帮助部门进行行为跟踪,保证操作行为符合要求,当系统出问题时,也可能通过日志帮助快速定位源头。日志记录表设计如图4所示。
3.2 数据检索功能
数据检索功能是一个全自动化的功能,可减少人工查询的时间成本和劳动成本,数据来源于公共数据资源平台中的数据,可快速、准确地获取办件人的相关信息,以推动检查业务工作、辅助办案人决策及提升相应的业务指导等功能,从而提升司法监督的效率和精准度,发挥数据价值。
本功能的实现主要是通过API请求公共数据平台以获得相应的数据,在实现时定义一个公共查询服务DataService,用于查询功能的统一调用。在请求公共平台数据时,需要access_token令牌,而令牌的有效期为1 800秒,为减轻平台服务器压力,在令牌失效前不进行重复请求获取令牌。由于数据来源于住建委、大数据中心等不同部门,故在对接公共数据平台时其携带的请求信息也有所不相同,此处可将请求信息作为服务的参数处理。在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);
//设置整个连接池最大连接数 需求200
poolingHttpClientConnectionManager .setMaxTotal(200);
//路由是对maxTotal的细分
poolingHttpClientConnectionManager .setDefaultMaxPerRoute(100);
RequestConfig reqConfig = RequestConfig.custom()
.setSocketTimeout(10000) //设置未收到数据时间(经过测试)
.setConnectTimeout(10000)//设置连接超时时间
.setConnectionRequestTimeout(1000)//从连接池中获取连接的超时时间
.build();
return HttpClientBuilder
.create()
.setConnectionReuseStrategy(new ConnectionReuseStrategy() {
@Override
public boolean keepAlive(HttpResponse response, HttpContext context) {
return 1;
}
})
.setDefaultRequestConfig(reqConfig )
.setConnectionManager(poolingHttpClientConnectionManager )
.build();
}
在检索数据时,可输入查询条件进行单条检索,也可通过导入模板进行批量检索,检索结果经解析处理后在页面中以列表形式展示,同时对查询结果提供导出功能,导出格式为Excel格式。由于数据源本身在公共平台,可能会随时发生变化,故检索到的数据仅用于当前业务,不再保存在本地数据库。数据检索页面如图5所示。
3.3 系统管理功能
系统管理功能为系统的基本功能,提供经典的用户、权限等管理功能,在系统登录时使用统一身份认证,业务应用则基于JWT认证完成,用户需提供正确的JWT令牌才能通过认证。用户登录后,根据用户角色与权限的分配,前端页面动态加载并显示用户的菜单[10]。角色权限分配界面如图6所示,利用权限设计提高了系统的灵活性,满足个性化需求。
4 系统部署与测试
系统硬件测试环境为Centos 7操作系统、8 GB内存、1 TB硬盘,软件测试环境包括JDK 1.8、Nginx、Docke、MySQL 5.8 等。系统使用前后端分离技术进行开发,在系统部署测试时,考虑到应用程序的一致性、扩展性等特点,选择使用Docker容器化部署,以隔离环境并简化部署流程。部署Spring Boot后台服务时,需要对应的容器中准备好Java的开发环境,后台服务分模块方式进行开发并打包,启动时需要注意它们的顺序,数据库服务则需要单独部署。部署前端Vue项目时,使用Nginx作为Web服务器,服务前端静态页面。为方便管理,使用docker-compose编排来进行定义和运行多个容器。
所有服务均正确启动后,根据用户的应用要求,进行查询、配置和权限分配等功能与性能方面地的测试。经测试,人机交互界面友好,输入、输出操作方便,数据检索简单快捷,能满足100用户同时在线,对于数据检索查询可以做到即时响应,其检索业务数据响应时间小于1秒,报表响应时间小于3秒,符合用户需求。
5 结 论
基于SSM框架的检查业务数据应用系统,使用前后端分离技术实现,利用异步交互技术将前端页面与后台服务有效地进行解耦,减少服务器压力;通过采集配置功能,对接一体化智能化公共平台,为数据检索提供了保障;而操作日志的记录,则为系统的安全性提供了全面监控与分析;检索功能可快速、准确地获取办件人的相关信息,提高了检察院的办件效率。本项目以数字化技术为基础,将数字要素贯穿于检查业务,全面推进了“数字检务”建设,同时推进了数字产业发展。
参考文献:
[1] 张苗苗.新一代信息技术环境下科技管理数据服务模式创新研究 [D].西安:西安电子科技大学,2018.
[2] 杨旎.整体性治理理论视角下“互联网+”行政审批的优化 [J].电子政务,2017(10):38-45.
[3] 王建国,张争,汤来锋,等.基于SSM框架的学生信息管理系统的设计与实现 [J].现代信息科技,2024,8(7):30-33.
[4] 赵炯,司圣杰,周奇才,等.通用信息获取系统设计与实现 [J].起重运输机械,2020(16):89-97.
[5] 刘军.基于AJAX技术和RSS技术的网络考试系统设计 [J].长江信息通信,2023,36(5):179-181.
[6] 徐鹏涛.基于Vue的前端开发框架的设计与实现 [D].济南:山东大学,2020.
[7] 王伟,丁佳浩,叶红阳,等.基于前后端分离架构的某企业档案管理系统设计与实现 [J].现代信息科技,2024,8(6):11-14.
[8] 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计 [J].工业控制计算机,2023,36(3):51-53.
[9] 赵静静,金慧峰,李霄.基于MinIO存储的综合实践管理平台开发 [J].软件,2022,43(10):55-59.
[10] 孙全玲,洪赐福,严辉.基于Java安全类库Spring Security的信息系统安全功能实现 [J].工业控制计算机,2024,37(5):104-105+108.
作者简介:赵静静(1985—),女,汉族,河南焦作人,讲师,硕士,研究方向:软件技术。