基于SpringMVC及MyBatis的高校学术成果库设计与实现

2024-06-01 12:59罗辉琼贺超波李姣姣王浙江刘丽清
现代信息科技 2024年4期

罗辉琼 贺超波 李姣姣 王浙江 刘丽清

收稿日期:2023-06-27

基金项目:广东省自然科学基金-面上项目(2019A1515011292);教育部产学合作协同育人项目(201802153091)

DOI:10.19850/j.cnki.2096-4706.2024.04.006

摘  要:针对华南师范大学学术成果库进行研究。简述了华南师范大学学术成果库的建设背景和目标,提出了成果库的总体设计、数据治理方案,阐述了关键技术SpringMVC和MyBatis,构建了成果库的功能体系架构,最后结合SpringMVC、MyBatis技术对成果库进行了开发实现。研究表明华南师范大学学术成果库的建设,解决了学术资源成果分散、数据不一致、教师反复填表等问题,为教师构建了全面完善的数据服务体系,在教学、科研、管理、服务等方面为学校提供了数据支持。同时也有效解决了目前成果库在国内发展现状中普遍存在的资源存储量偏低、资源更新速度慢、开放存取度不高、系统利用率低等问题。

关键词:学术成果库;SpringMVC;MyBatis

中图分类号:TP393  文献标识码:A  文章编号:2096-4706(2024)04-0025-06

Design and Implementation of Academic Achievement Database in Universities Based on SpringMVC and MyBatis

LUO Huiqiong1, HE Chaobo2, LI Jiaojiao3, WANG Zhejiang3, LIU Liqing1

(1.Network Center of South China Normal University, Guangzhou  510631, China; 2.School of Computer Science, South China Normal University, Guangzhou  510631, China; 3. Tongfang Zhiwang Technology Co.,Ltd., Beijing  100192, China)

Abstract: This paper conducts research on the academic achievement database atSouth China Normal University. It briefly describes the background and goals of the construction of the academic achievement database at South China Normal University, proposes the overall design and data governance plan of the achievement database, elaborates on the key technologies of SpringMVC and MyBatis, constructs the functional system architecture of the achievement database, and finally develops and implements the achievement database using SpringMVC and MyBatis technologies. Research has shown that the construction of the academic achievement database at South China Normal University has solved problems such as scattered academic resources, inconsistent data, and teachers repeatedly filling out forms. It has built a comprehensive and complete data service system for teachers, providing data support for the universityin teaching, scientific research, management, and services. At the same time, it effectively solves the common problems of low resource storage, slow resource update speed, low open access, and low system utilization in the current development status of achievement database in China.

Keywords: academic achievement database; SpringMVC; MyBatis

0  引  言

近年來,随着互联网和信息技术的飞速发展,高校在教学资源、科技成果等方面的资源越来越丰富,如何更好地集成和共享此类资源已成为各大高校关注的热点,基于开放存取理念的学术成果库不失为一个可行的解决方案。学术成果库是负责收集、传播、保存单个或数个机构共同体知识资源的知识库[1]。学术成果库因其能够全面系统反映机构的综合科研教学成果,已被越来越多的国内外科研院所和高等院校所关注并加以运用[2]。根据开放存取知识库目录OpenDOAR(Directory of Open AccessRepositories)的网站统计,截至2023年4月,在OpenDOAR上注册的机构知识库已达6 026个[3]。其中以美国为首的欧美地区发展最快,亚洲则以日本为首,国内仍处于起步阶段。虽然国内已有部分高校建设了自己的学术成果库,但是通过对国内学术成果库建设现状的调研可知,学术成果库在发展中仍存在一些问题:如资源存储量普遍偏低且资源更新速度缓慢,繁杂的数据录入与审核工作需要花费大量的人力,系统利用效率偏低[4],诸如此类的问题导致多数已建成的学术成果库未达到预期的目标。华南师范大学在借鉴其他高校经验的基础上,结合自身的实际需求,全面整合学校各类科研、教学资源,通过数据治理的模式,基于成熟的SpringMVC+MyBatis框架技术构建可持续发展的标准数据仓储并提供相关服务,为学校的教学、科研、管理和服务提供支撑和保障。本文正是针对华南师范大学学术成果公共服务库(以下简称“学术成果库”)展开研究的。

1  建设背景和目标

华南师范大学拥有丰富的教学资源和丰硕的科技成果,包括期刊论文、会议论文、学位论文、专利、科技研发等,这是一笔巨大的科技财富。但学校在收集该类学术成果的时候,更多依赖于教工们在各个口径的手工填报,由于填报格式多样,职能部门在审核、统计的时候需要花费较多的人力和时间,效率低下且无法形成统一的数据资源,数据更新不及时且无法再利用。因此,构建华南师范大学学术成果库不失为一个很好的解决方案。拟通过广泛获取校内、校外学术成果数据并进行专项治理[5,6],提高学术数据质量,建成数据标准统一、开放性高、可动态更新的“学术成果公共服务库”,秉承“用数据说话、凭数据决策”的理念,加快学术数据应用步伐,切实发挥学术数据资产对校园治理的战略性作用,提高校园治理的科学化和现代化水平,全面支撑学校科研、教学、管理、决策、师生服务等各方面的工作。

2  总体设计

2.1  总体架构

学术成果库从校外数据库、网上公开数据库及校内业务系统等渠道获取数据后经过学术数据专项治理,将每条数据精确指派给指定教师,并统一存储在“学术成果公共服务库”中,为后续学术数据应用打下坚实的基础,其总体架构如图1所示。

2.2  设计理念

学术成果库的设计遵循以“数据”为核心,内外部数据相结合以及兼顾安全性、开放性的理念,详情如下:

1)学术数据资源建设与系统建设并重。树立以“数据”为核心、以“系统”为载体的工作思想,重点在于本校学术成果数据资源建设,并通过高性能的学术成果公共服务库统一实现数据的获取、处理、存储、更新与应用。

2)外部数据与内部数据相结合。学术成果库建设的核心是学术数据资源建设,为保证数据的客观性与准确性,所有数据均来源于权威的公开渠道以及学校内部,无须教师再进行数据填报及反复确认,实现“零打扰”。

3)数据高精度、细颗粒度。以教师为单位,确保最终输出本校所有教师的学术成果数据,机器处理准确度应不低于80%。同时,学术数据的字段要尽量细化,以为后续的数据应用打下良好的基础。

4)数据安全性。学术成果库涉及本校人事数据等机密数据,因此必须将数据资源的安全保密问题放在首位,确保网络和系统具有良好的安全性、稳定性、可靠性、易用性。

5)开放性与可持续性。遵循学校制定的数据标准与接口标准,可在业务和管理范围内与校内各部门、各单位进行数据共享。同时,确保实现本校学术数据的不断更新,亦即确保数据的时效性和系统生命力。

3  学术成果数据治理

3.1  数据来源

学术成果库数据来源于以下几个方面:学校人事管理系统最新一期人事数据;来自WOS、SCOPUS、EI、CSCD、CSSCI、知网、维普、万方的论文数据;来自国家专利局的专利数据;来自国家自然科学基金、国家社会科学基金、学校科研管理系统的项目数据;来自公开渠道的获奖数据等。

3.2  学术数据采集

学术成果库数据采集主要包括机器采集和人工导入两种方式,以机器采集为主,人工导入为辅。拟采用多种机器采集技术,以满足结构化、半结构化、非结构化数据的全面获取。对于学校內部已保存的数据,可以通过建立数据交换机制的方式进行数据采集;对于其他方面的数据,可通过ETL离线、Flumex Kafka实时、互联网Crawler、DPI等方式进行大数据采集[7]。

3.3  学术数据标准化

所采集的学术成果数据来源各有不同,数据质量参差不齐,在对成果数据进行去重、指派、切分等一系列操作之前需要先对它们进行标准化处理。系统预置数据规范,参考都柏林核心元数据集(DC)标准[8],整合不同来源的数据,统一元数据格式,便于进行数据扩展以及与第三方数据关联对接。

3.4  学术数据合并去重

学术数据去重是指在一个数字文件集合中,找出重复的数据并将其删除,只保存唯一的数据单元。在删除重复数据的同时要考虑数据重建,即虽然文件的部分内容被删除但当需要时仍然可将完整的文件内容重建出来,这就需要保留文件和唯一学术数据单元之间的索引信息。

3.5  学术数据关联指派

学术数据关联[9]是指在关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式、关联、相关性或因果结构。学术成果与项目、学科等数据的关联以及学术论文与期刊属性的关联,有利于为发展规划处等职能部门的本校学科评估工作提供数据支撑。

3.6  学术数据标签

标签管理作为学术数据关联的分支是数据进一步分析、展示的重要保障。通过对学科、期刊等重要标签的管理,可以将教育部学科、ESI学科、JCR学科、Scopus学科、本校自定义学科等加入到数据中。同时可将期刊OA(开放获取)属性、期刊分区信息、期刊影响因子等期刊属性与数据相关联。这些标签关联的学术数据将为数据的进一步应用提供基础。支持自定义标签。

3.7  学术数据审核

学术数据经过采集、标准化、合并、关联指派、标签等一系列处理后基本上完成了学术数据治理工作,在学术数据正式入库仓储之前需要对学术数据进行审核。可在数据基础元数据、论文作者贡献度、论文归属等方面进行审核。尽量避免各流程中出现学术数据问题。如若发现学术数据某阶段存在处理错误,可支持学术数据的流程回溯,并对有问题的学术数据进行重新处理。

4  关键技术及体系架构

4.1  关键技术

出于对平台稳定性、扩展性及运维等因素的考虑,学术成果库在技术选型上采用了开源的SpringMVC+

MyBatis[10]技术解决方案。

SpringMVC[11]是一种轻量级、基于MVC的Web层应用框架,是Spring的一个子框架。它通过将Model、View、Controller分离,对Web层进行职责解耦,把复杂的Web应用分成逻辑清晰的几部分,简化开发,提高了系统的可维护性,同时有利于后期扩展。

MyBatis[12]是一个开源的Java持久层框架。它支持定制化SQL、存储过程及高级映射,可在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。它避免了几乎所有JDBC代码和参数的手动设置,以及对结果集的检索。MyBatis可以与Spring等框架无缝集成,为Java开发者提供更加便捷的数据库操作方式。

SpringMVC与MyBatis组合框架优势明显[13]。首先SpringMVC比起Struts少了大量的action方法配置,在参数的获取与传递方面,MVC有自己的request、session等对象,参数获取采用注解的方式,获取方便也解放了部分代码。另外,MyBatis采用代理模式,只需一个DAO接口,不需要实现类就可以正常使用,前提条件是保证配置文件中的ID与方法名一致。因此,相较于SSH框架,这套组合框架可以节省很多的人力和时间。

4.2  体系架构

学术成果库以完整、准确、可持续创建机构数据为基础,准确关联成果、学校和学者之间的关系,以此实现成果的聚合、分类和展示。系统提供学者主页、成果统计、计量评价等一系列功能模块,充分揭示学校和学者的学术影响力,促进学校知识资产的收集、整合、应用和传播,同时为业务部门的科研考核、学科评价等科研管理工作提供统一规范的成果数据支撑。

成果库基于成熟的SpringMVC、MyBatis框架技术和Java平台而建设,支持Windows系统平台部署,同时确保系统快速、稳定运行。其体系架构分为五层,主要由底层运行环境、基础服务、数据层、业务层和展示层构成,同时与学校统一认证系统和数据中心对接:

1)成果库架构采用SpringMVC+MyBatis,上层结构分为数据层、业务层、UI展示层;语言采用Java,脚本语言采用JavaScript,同时采用了目前较为流行的JS框架JQuery。

2)成果库采用MySQL开源数据库进行数据存储,采用key-value非結构化存储实现元数据自定义,采用Solr实现文本检索。

3)成果库采用开放体系结构,提供数据视图及Web Service的API级接口,与学校统一认证系统和数据中心进行对接与集成。

具体体系架构如图2所示。

5  系统实现

5.1  系统设计

学术成果库是基于成熟的SpringMVC、MyBatis框架技术,架构中主要基于MVC模式(模型-视图-控制器模式)进行设计,业务层的实现以接口设计为重点,数据来源于WebService接口、Solr与MySQL数据库。成果库设计结构图如图3所示。

图3  系统设计结构图

成果库可供不同角色使用,通过登录控制不同用户可查看内容与操作权限。用户登录后,依据登录成果库进行页面的处理,先由页面进行内容请求,请求方式有二种,分别为通过WebService接口请求数据以及直接向数据库或Solr请求数据。请求结果返回到页面上展现给用户。如图4所示的业务处理UML顺序图是对系统设计结构图的补充与完善。

5.2  技术实现

学术成果库采用SpringMVC、MyBatis框架作为系统构建的基础,并利用其技术优势敏捷开发实现系统所需的大部分功能,从而达到学术成果的统一展现、应用和传播。

图4  业务处理UML顺序图

对于学术成果库的构建,具体实现如下:

1)使用IDEA开发工具创建SpringMVC框架,配置DispatcherServlet。

核心代码如下:

dispatcherServletorg.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath*:spring/spring-

mvc.xml

1

2)采用HTML5创建jsp视图交互页面。

核心代码如下:

/WEB-INF/views/index.jsp

3)创建流程控制处理Controller类。

核心代码如下:

@Controller

public class IndexAction extends BaseAction {

@RequestMapping(value = "/reindex")

public String reindex(HttpServletRequest request, HttpServletResponse response) throws Exception {

return "redirect:index.shtml";

}

4)编译业务流程处理接口类和接口实现类,使用MyBatis操作数据持久层[14]。根据控制处理Controller类业务请求,编译对应的业务处理接口类,并在接口实现类中对接口类方法予以实现,对业务逻辑进行处理后,返回结果对控制器的请求予以响应。

核心代码如下:

@Service

public class IndexDataService {

private CirpNoticeDao cirpNoticeDao;}

5)数据持久层以及MyBatis配置。

数据持久化的Java类通过MyBatis的映射xml文件进行数据交互,MyBatis发起与数据库的交互请求,通过内部组件将请求的SQL转化为真实可执行的SQL语句,返回数据库执行结果,对结果集进行包装,响应此次业务处理请求。

核心代码如下:

"true"/>

通过上述步骤,学术成果库的数据建设、数据管理、成果展示、学者主页服务、扩展服务等各功能模块依照相关业务逻辑建设完成,打包发布后部署到服务器Tomcat之下,启动即可运行,可通过设定好的域名(https://ir.scnu.edu.cn)进行访问。

学术成果库中的数据分为基础信息,机构、学者、成果等资源信息和全文三部分。其中基础信息存放在轻量级XML、缓存以及Solr库中,这样可方便网站快速读取访问,也能满足高并发访问。机构、学者、成果等资源的题录信息存放在MySQL数据中,全文文件存放在服务器的磁盘中,供两个网站下载预览使用。上述三類数据采用不同的存放方式基本上实现了网站应用和数据的分离,确保了系统的稳定运行。

6  结  论

华南师范大学学术成果库于2020年底初步建成并发布使用(网址:ir.scnu.edu.cn)。经过两年多的运行实践,系统运行稳定,控制方便,已经成为收录和展示我校教职工历年学术科研成果的数字平台。截至2023年4月,华南师范大学学术成果库共收录学校1993年以来的期刊论文、会议论文、专利、学位论文、图书著作等成果121 300条,科研项目总量3 123个。学术成果库智能化汇聚了学校教师学者历年的研究成果数据,包括成果总量、成果类型、被引频次、参考指数等,学校教师学者可以通过学术成果库的个人空间模块来维护和认领本人学术成果,既方便教师进行本人科研数据跟踪维护,也能为科研管理和教师办理校内业务提供数据参考。成果库的建设,不仅为教师构建了全面完善的数据服务体系,还为学校学科优化、资源配置、人才引进、绩效考核等工作提供了数据支持,有利于促进学校基于大数据的现代化治理体系建设。该平台的优势在于:数据质量高、数据完整性高、数据加工规范统一、标引粒度精细;采用词典技术、数据批量采集工具,保证后续数据资源快速更新与匹配;平台功能完整全面,服务多样,可满足方方面面的需求。这也在一定程度上解决了国内成果库发展过程中存在的资源存储量偏低、资源更新速度缓慢、开放存取度不高、系统利用率略低等问题,达到了预期的建设目标。接下来将在学术数据驾驶舱、学术头条服务及学术协同与社交服务等方面做进一步的探索和研究。

参考文献:

[1] RAMESH P,CHAKRAVARTHYA. A model design of sustainable institutional repository website for Osmania University using dspace[J].Pearl : A Journal of Library and Information Science,2021,15(1):53-62.

[2] 张伶,祝忠明,寇蕾蕾,等.国内科研机构和高校机构知识库建设现状调研与对比分析 [J].知识管理论坛,2020,5(2):122-134.

[3] OpenDOAR.OpenDOAR Statistics[EB/OL].[2023-04-26].https://v2.sherpa.ac.uk/view/repository_visualisations/1.html.

[4] 张伶,祝忠明,寇蕾蕾,等.国内科研机构和高校机构知识库建设现状调研与对比分析[J].知识管理论坛,2020,5(2):122-134.

[5] 魏建行,刘远志,罗超,等.基于数据中台的高校数据治理体系研究[J].信息技术与信息化,2022(6):98-101.

[6] XIE Q,ZHANG HM,TANG Y R,et al. Solution Ideas and Practices for Data Governance Engineering in Colleges and universities[J/OL].E3S Web of Conferences,2021,253[2023-05-06].https://www.e3s-conferences.org/articles/e3sconf/abs/2021/29/e3sconf_eem2021_03023/e3sconf_eem2021_03023.html.

[7] 环球青藤.常见的大数据采集工具有哪些?[EB/OL].(2021-07-30)[2023-04-26].https://zhidao.baidu.com/question/560988173456147212.html.

[8] 杨石山.微格式描述都柏林核心数据集研究[J].现代情报,2011,31(3):174-177.

[9] HOU Y X. The design and implementation of the framework for Spring+SpringMVC+MyBatis in the development of Web application [C]//2017 International Conference on Computer Technology, Electronics and Communication (ICCTEC).Dalian:IEEE,2019:369-374.

[10] 张薇.基于大数据集的动态数据库关联挖掘技术研究[J].信息记录材料,2023,24(2):161-163.

[11] 王洪华,陈婧仙.基于Springmvc技术的图书智能荐购系统设计[J].内江科技,2022,43(4):57-59.

[12] 黑马程序员.什么是MyBatis? Mybaits有哪些优点?[EB/OL].[2023-04-26].https://baijiahao.baidu.com/s?id=1761874817126246553&wfr=spider&for=pc.

[13] 孙浩.基于SpringMVC及MyBatis框架的在线教育平台的设计与实现[D].沈阳:沈阳师范大学,2019.

[14] 欧阳宏基,葛萌,程海波.MyBatis框架在数据持久层中的应用研究[J].微型電脑应用,2023,39(1):73-75.

作者简介:罗辉琼(1981—),女,汉族,广东梅州人,工程师,硕士,研究方向:计算机网络与教育应用;贺超波(1981—),男,汉族,广东梅州人,教授,博士,研究方向:数据挖掘与教育计算;李姣姣(1993—),女,汉族,河南信阳人,工程师,硕士,研究方向:高等教育信息化;王浙江(1989—),男,汉族,河南商丘人,工程师,本科,研究方向:高等教育信息化;刘丽清(1989—),女,汉族,广东梅州人,实验师,硕士,研究方向:信息技术与教育应用。