作者主页:Designer 小郑
作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师,全栈领域优质创作者,在校期间参加PAT乙级考试获得满分,三年ACM竞赛经验,斩获国奖两项,省奖五项。热爱技术、专注业务、开放合作、乐于分享,期待你我共同成长!
主打方向:Vue、SpringBoot、微信小程序
本文是《基于Vue和SpringBoot的论文检测系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。
摘要
随着计算机技术和网络技术的飞速发展和Internet应用的普及,电子学术资源的大量涌现,如数字学术资源的检索平台,学术论文资料库和世界各地大学自行建立的学术文献资料库。互联网的普及同时,也为抄袭、剽窃、非法传播的学术论文提供了便利。在我国大学毕业生的毕业论文中,已有了抄袭剽窃现象,引起了各界的广泛的重视。预防文章剽窃,整顿学术风气,对学生的毕业论文进行检测查查,是一个很有意义的课题。
本系统主要以Vue这一组件化的前端框架,使用SpringBoot作为后端的主要框架进行开发,采用B/S模式和MySQL作为后台数据库设计而成。主要实现的功能包括:用户登录,管理员添加用户,发布通知,文件管理,角色权限管理,搜索用户,上传下载预览论文,论文查重,得到检测报告等等。本系统具有较好的通用性,使用效果良好,可以简化论文的日常工作,具有较大的发展潜力。
关键词:论文查重;Vue;SpringBoot;mysql
论文检测系统的设计与实现-目录
- 摘要
- 第1章 绪论
- 1.1研究背景及意义
- 1.1.1研究背景
- 1.1.2研究意义
- 1.2国内外研究现状
- 1.3开发技术
- 1.4论文的组织结构
- 第2章 系统需求分析与设计
- 2.1系统需求分析与设计概述
- 2.2功能需求的分析
- 2.3非功能需求分析
- 2.3.1 可靠性
- 2.3.2 易用性
- 2.3.3 维护性
- 2.4系统总体设计
- 2.5系统详细设计
- 2.5.1 系统基础模块
- 2.5.2 论文管理模块
- 2.5.3 查重管理模块
- 2.5.4 高校管理模块
- 2.6数据库分析与设计
- 2.6.1 系统概念层结构设计
- 2.6.2 数据库具体设计
- 2.7查重算法的设计
- 2.7.1 概论
- 2.7.2 VSM算法
- 2.7.3 SimHash算法
- 第3章 系统功能与界面的实现
- 3.1 管理员模块设计与实现
- 3.2 教师模块设计与实现
- 3.3 学生模块设计与实现
- 第4章 系统测试
- 4.1 测试方法
- 4.2 测试用例
- 4.3 测试结论
- 第5章 总结和展望
- 5.1系统总结
- 5.2前景展望
- 参考文献
技术栈
前端:Vue
后端:SpringBoot
数据库:MySQL
第1章 绪论
1.1研究背景及意义
1.1.1研究背景
自90年代以来,人类社会进入了信息化时代,尤其是互联网的发展,使人们对问题的理解和处理变得更加高效,为人们的生产和生活带来了极大的方便。本文认为,将计算机网络技术应用于大学教育,有利于提高教学质量,改善教学管理,促进教学管理的信息化。为此,我国加大了人力、物力和财力,加大了教育改革力度,推进了大学的信息化建设。
大学教育是大多数人步入社会的最后一步,而毕业论文则是对四年教育的一种检验。随着高校教育的不断发展和高校学生人数的不断增长,高校的论文查重系统的研制和应用,既是高校信息化的一个系统工程,也是高校和教师管理学生、保证学生顺利毕业的重要途径。随着计算机技术、网络技术的迅速发展,尤其是在因特网上,因特网已成为人们进行信息传递、沟通的主要手段。随着网络信息的快速增长,网络搜索引擎、自动分类、信息抽取等信息技术的不断发展和完善,为人们获取信息的高效、准确提供了有力保障。
根据 CNNIC中国互联网发展的最新数据,文本资源占据了70%的在线资源。其中,数字学术资源检索平台、学术论文数据库以及全球高校自建的学术论文数据库,如中国知网等商业数据库以及高校自建的学位论文库等,是科研人员最宝贵的资料。研究人员获得电子学术资料的其它途径包括:个人网站、论坛、电子邮件列表等。通过用户认证、提交 IP地址、免费开放等方式,为学生提供了大量的学术资源,方便了学术交流,推动了科技的发展。开发人员将重点放在大学毕业论文管理系统上,这与信息技术发展的时代背景有很大关系:
- 政府对教育信息化的需求是政策支持;
- 面向对象技术在软件工程中的应用越来越成熟,它可以把各个角色从系统中抽取出来,从而提高了系统的可重用性和稳定性,降低了系统的维护工作量;
- 普及校园网络的相关基础设施,为大学毕业论文管理体系奠定了坚实的基础;
- 随着高等教育改革的不断深化,对学生的管理要求越来越高。
1.1.2研究意义
由于电子学术资源的便捷,以及其“复制”和“粘贴”的简单作用,使得学术论文的抄袭、剽窃、非法传播等成为一种社会伦理问题。为了维护知识产权,整顿学术风气,我们需要对非法的学术资源进行预防和检查。由于互联网资源的复杂性、多样性,需要对其进行技术上的非法拷贝,而对其进行技术上的非法拷贝,则需要对其进行文字拷贝的检测。90年代以来,国外对大型网络数据库、大型文件系统、数字图书馆等资源的英文文字拷贝检测技术进行了深入的探索。在国内,中文文字的拷贝识别技术已经成为一个重要的研究课题。近年来,我国大学生的毕业论文剽窃事件时有发生,引发了社会各界的广泛关注。为了预防论文剽窃、整顿学术风气,开展大学生毕业论文的复印技术研究具有重要的现实意义。因为大学的论文库论文很多,一年数千、数万篇,光靠人力是很难完成的,所以,想要做到这一点,必须研究论文检测技术,论文拷贝测试技术的运用对降低学术论文抄袭、提高学术水平、减轻教师的工作负担具有重要意义。
1.2国内外研究现状
有数据显示,从90年代开始,已经完成工业化信息化建设的国家里,有相当部分的高校已完成了对校园进行的数字化的改造,无论是本科生、硕士生的毕业论文的选题、汇报、批示,都可以在校园的内网是进行。与之相对应的课程管理、教师评价、选课、入学等系统也纷纷出现,学生们可以利用因特网,来满足他们的各种需要。对于论文查重系统,国内国外都有了较成熟的技术。如加利福利亚大学的(本科)论文选题系统实现了双向选择服务,这种设计不仅需要学生选择老师,也需要教师对于学生的审核,加强了教师的主动性。山东大学开发的毕业论文(设计)管理系统,可以完成命题的审核、学生选题、教师选择学生、学生论文及附件上传、教师下载、修改论文和发送修改意见等;西安电子科技大学的毕业论文(设计)管理系统实现了开题上报、教师审核开题、学生选题、学生自主命题等功能。利用该系统实现了教师命题上传、管理员角色管理、教师角色管理、论文报告等。从这一点可以看出,高校的毕业论文管理体系已经被越来越多的高校所采用。
复制检测,是实施知识产权保护的一个重要手段。所谓复制检测,就是判断一个文件的内容是否剽窃于另外一个或者多个文件,剽窃不仅仅意味着原封不动地照搬,还包括对原作的移位变换,同义词替换等方式。
论文检测是一种基于文本的拷贝检测技术,它的关键在于判定文章的相似性。20世纪后期出现的文本拷贝检测技术已经形成了许多具有代表性的文本拷贝检测技术。按其使用的方法,可以分成2种:一种利用数字指纹进行字符串匹配的系统,以及一种利用词汇频率统计进行相似性计算的系统。前者包括 SIF、 COPS、 KOALA、 hingling、 MDR等,后者包括 SCAM、 DSCAM、 CHECK、 CDSDG等。以上所介绍的文字拷贝检测系统的特征是:以指纹、关键词匹配、基于语形的相似性计算等为特征,但大多数都无法解决语义上的相似性,且采用了不灵活的表达方式。在以字串匹配为基础的体系中,如何选择最快速的文字是用户难以掌握的要素法,词汇频率匹配检测算法采用矢量空间模型(VSM)来描述文字,但 VSM的相似性不能充分考虑到语义上的相似性。通常,复制检测基于 COPS架构的文本拷贝检测系统,如何建立文档库、如何整合异构文档库等问题,在此架构下无法很好地解决。
1993年 Manber提出了SIF工具是基于字符串匹配的思想,其目的是在大规模文件系统中查找内容相似的文档,SF工具首次提出了“近似指纹”概念,被以后基于字符串匹配的文本复制检测系统广为发展和使用。1995年, Brin和Garey-Molina等人提出了 CopS系统,该系统将文本划分为句子序列,并对同一手印中的句子数量进行对比,从而实现对文本的拷贝。COPS系统提出了一个基于登记的体系结构,它将成为一个通用的文本检测体系。同时,也有人提出了一种利用数字指纹技术实现字符串匹配的 KoALA系统。在2000年, Monostori等人利用后缀树的特征串匹配算法进行文本的拷贝检测,并在此基础上引入了一种基于后缀树的多个字符串,并利用后缀矢量对后缀进行存储,以达到更好的识别效果。在此基础上,未来的基于字符串匹配的系统在多个层面上改善检测进程或者提升系统的性能。2001年, Finkel提出了一种基于文本预处理技术的文本预处理算法,并在此基础上对文本进行了细致的预处理,以提高识别准确率。2003年, Sehleimer等人提出了一种基于数字指纹的 winnowing方法,用于对文件复制进行准确的识别。
对于 COPS系统,它仅能完成基于语句的拷贝检测,无法检测到部分句子的拷贝,也无法识别 COPS英文句子的边缘,因此提出了seAM系统,利用矢量空间模型对文本进行描述,并将其与词汇频率统计相结合,对文本进行相似度的测量,相对于COPS系统取得了较好的效果。在1997年, Si和 Leong等人提出了基于关键词统计和文本结构信息的 CHECK模型,并在此基础上引入了文本结构信息,从而避免了不必要的检测。2003年,宋擒豹等人提出了 csSDG技术,解决了数字商品的非法拷贝与传播问题,利用统计关键字的频率,进行检测。同时考虑数字商品的结构信息,结合语义进行检测。
除以上两种文本检测系统, Hoad和 Zobel在2003年将词频统计与数字指纹相结合的方法,对海量的 XML数据和 LINUX进行了实验来解决衍生文档问题,以找到更好抄袭识别算法。2006年, NamohKang等人从“盗版”的视角对文本的拷贝检测进行了深入的研究,并将其划分为不同的级别,并给出了一种更加准确的文本复制检测体系。
1.3开发技术
论文查重系统作为典型B/S架构的系统,采用Vue和SpringBoot的前后端分离模式进行开发。前后端分离这种开发模式之前还不是很流行,web化趋势也没有被广泛使用。但是随着系统信息化程度的加深,还有各种各样的服务器都web化之后,其实很多前端需要展示的内容就变得复杂起来,比如Github网站拥有大量的操作界面,就不适用JSP这类框架了,因为JSP没办法组件化的去高效开发。前端开发需求一旦变多或者变复杂,短时间内就没办法用那种原生的h5、css、js代码去开发完成。为什么会这样,就是因为前端没有一个高效的开发模式,比如Vue的这种组件化、模块化的开发思想去处理前端的开发任务。
论文查重系统正是采用了Vue这一组件化的前端框架,使用SpringBoot作为后端的主要框架进行开发,将前后端分离开来,实现高内聚低耦合。下面将详细介绍本系统所用到的技术。
(1) Spring
Spring是基于Java的开发框架,如图1所示,有着以下几点优势。
- 容器化开发模式。将一个个组件封装为容器,在论文查重功能上实现高内聚低耦合,降低开发者的工作量。
- 支持单元测试。在编写论文查重功能时,支持对论文查重单个功能进行单元测试,降低程序的出错率。
- 支持面向切面编程。支持将论文的查重数据,通过异步的方式将论文提交IP等数据存储至指定数据库。
- 支持事务回滚。当论文数据完成录入时出现异常,会自动进行事务回滚,防止出现重复录入的情况。
- 集成性强。支持集成Jpa、Mybatis等多个框架,实现论文查重系统和其他三方系统的整合。
(2)SpringBoot
SpringBoot是论文查重系统后端的主要框架,负责论文查重功能的业务逻辑编写任务。SpringBoot采取约定大于配置的理念,在开发论文查重系统中无需进行过多的配置,只需配置必要的内容,程序即可快速启动起来,简化开发的工作量。另外基于Maven的SpringBoot应用启动也非常方便,满足论文查重系统的开发需求。
(3)SpringMVC
SpringMVC用于提供后端的API接口支持。SpringBoot内部集成了SpringMVC,支持通过注解的方式实现API接口的对外开放,简化了接口的编写工作量。SpringMVC还支持论文附件和论文图片的上传,能够将论文查重系统功能进行进一步优化扩充,从而满足论文的实际需要,如图2所示。
SpringMVC给前端提供API支持,内部结构如图2所示,论文工作人员发起录入请求后,前端控制器将会请求后端论文查重映射器,将执行链返回给前端,再请求后端的论文查重处理适配器,将Model返回给前端,最后将请求转发给论文查重视图解析器,完成用户端界面的更新。
(4)Vue
Vue作为论文查重系统前端的主要框架,有着组件化和双向数据绑定的优点。当论文工作人员登陆系统时,输入论文查重系统的密码时,前端变量会根据输入密码值实时改变,无需编写监听方法控制前端变量的改变。大量前端变量的应用,能够简化论文查重系统的开发量。
(5)MySQL数据库
论文查重系统采用关系型数据库存储论文的生产数据,而MySQL正是存储论文数据的不二之选。它有着高效率、体积小的优势,支持高并发,是国内热门的数据库,符合论文查重系统的要求。
(6)Tomcat
因为论文查重系统采用了SpringBoot框架,而SpringBoot框架内置了Tomcat服务器,所以论文查重系统采用了Tomcat,满足项目的部署要求。
(7)SimHash算法
与传统Hash算法相比,SimHash本身属于一种局部敏感哈希算法,其产生的hash签名在一定程度上可以表征原内容的相似度。它通过将原始的文本映射为64位的二进制数字串,然后通过比较二进制数字串的差异进而来表示原始文本内容的差异。SimHash的实现流程分为分词、hash、加权、合并、降维,对于在大数据维度上的查重去重,有着较高的效率。
1.4论文的组织结构
针对论文查重系统的完整开发过程,将本文分为五大章节,分别对以上的五大研究内容进行逐一阐述。
绪论是第一章节。介绍的是论文查重系统的开发背景和意义,讲解介绍了国内外研究现状,以及为什么要开发这套论文查重系统。介绍了用于研究论文查重系统所需技术框架。介绍论文查重系统使用了哪些技术框架,分别用在哪些模块中,起到了哪些作用,为什么要用这些技术框架。
第二章用于设计论文查重系统的功能需求。本章主要介绍这套论文查重系统分为哪些功能模块,为什么要这么区分,每个功能模块需要包括哪些内容,起到了什么作用。设计论文查重系统的结构。本章阐述这套论文查重系统是如何设计的,以及该论文查重系统的总体框架,包括论文数据库的设计和E-R图的实体类情况。
第三章详细介绍了论文查重系统的功能展示,和论文查重系统图文界面。
第四章是系统测试,为了满足高校论文查重需要,检查论文查重系统的质量,避免不必要的麻烦,检测论文查重系统实现了系统预期的功能,如用户登陆、论文数据查询、论文重复检测等,论文查重的功能实现是否是符合预期的。
在论文查重系统开发完成后,在第五章对开发进行总结与展望。归纳出论文查重系统的开发目的、开发结果、以及系统的完整开发过程回顾,总结这套论文查重系统的使用对象和优缺点。
第2章 系统需求分析与设计
2.1系统需求分析与设计概述
论文查重系统的设计开发是为了满足论文实际的需求,所以对论文查重系统的需求分析,也必须站在论文的需求之上进行。
目前,论文对于论文查重系统的需求包括论文生产和销售两大方面,另外还包括对论文、论文类型等基础档案的管理,因为还需要对论文产量这样的数据进行合理存储,产量数据的准确性在论文查重事务中非常重要,接下来将详细阐述论文查重系统的系统需求。
第三章分析了开发论文查重系统的非功能性需求,根据论文的实际需求将论文查重系统分成四大模块,并从可维护性、易用性、系统可靠性三个方面分析论文查重系统的非功能性需求,最终完成论文查重系统的需求分析。
论文查重系统的整体结构设计部分,首先对于第三方得出的需求结论,逐一进行功能模块的分析,最终设计出数据库关系表,描绘模块之间的关联,最终实现系统基础支持模块、论文信息模块、论文查重订单管理模块和高校管理模块的整体设计。
2.2功能需求的分析
通过对论文实际需求的研究,我将论文查重系统的功能模块分为系统基础支持模块、论文信息模块、论文查重订单管理模块和高校管理模块。
(1)系统基础支持模块
系统基础支持模块包括支撑论文查重系统运行的管理模块。比如论文查重系统的管理员管理,维护着论文查重系统的管理员列表。比如论文查重系统的日志管理,维护着论文查重系统的登陆日志。比如菜单权限管理,维护着不同角色的用户拥有哪些菜单权限。
(2)论文信息模块
论文信息模块是论文查重系统的其中一个模块。在这个模块中,用于可以上传自己的论文,支持用pdf和word的形式上传,上传后将生成一个唯一编号,存档在论文查重系统内。
(3)论文查重订单管理模块
用户将论文上传至论文查重系统后,可以提交论文查重订单,当用户对订单进行支付后,可自动开启查重操作,论文的查重功能在论文查重订单管理模块中完成。
(4)高校管理模块
高校管理模块也是论文查重系统的一部分。论文是学生的论文,必定属于某个高校,所以要维护数据,管理员可以对高校的数据进行增删改查操作。
2.3非功能需求分析
2.3.1 可靠性
对于论文查重系统来说,论文的产量数据必须正确无误。也就是要确保论文查重系统的可靠性。只有当论文查重系统的数据受到论文运维人员的信任,这套论文查重系统才能解决论文的需求,从而投入使用。
2.3.2 易用性
为了降低论文查重系统的培训成本,论文查重系统的设计必须满足广大论文运维人员的要求。论文工作人员的计算机水平有高有低,不能根据专业、部门等因素一概而论。所以在设计论文查重系统时,必须要考虑到论文运维人员操作的每种情况,对每个细节可能出现的误操作,必须加以预防和弹框提示。
2.3.3 维护性
为了保证论文查重系统的可维护性,论文查重系统每天应该保证18小时的开机时间,在开机时间范围内应实时对论文运维人员提供服务,并每日对论文查重系统的冗余数据进行清理,便于后续进行论文数据分析。
2.4系统总体设计
结构设计模式是系统开发的精髓所在。在开发论文查重系统之前,必须首先对论文查重系统的结构进行设计。论文查重管理系统采用MVC模式,将前后端分离的理论加以实践,分为基于浏览器的前端和基于服务器的后端,分别独立部署运行。
(1)系统总体架构设计
通过对论文查重系统的需求分析,本系统分为四大菜单,分别是系统基础支持模块,论文信息模块,论文查重订单管理模块和高校管理模块,如图3所示。
(2)系统的网络拓扑结构的部署
论文查重系统是面向全国论文使用的,所以需要开放外网端口,以便于论文运维人员使用。同时也要保留局域网部署的方式,防止外网被黑客攻击导致系统的瘫痪,保证论文的数据安全。论文查重系统的网络结构图如图4所示。
2.5系统详细设计
系统以管理员身份登陆,可以增删学生老师数据,完成添加用户的功能,支持学号用户名搜索学生信息,设计文件管理模块,对一些临时文件进行管理,系统设置了角色这一个概念,管理员可以在角色管理模块维护角色的数据,管理员通过通知模块发送通知。系统以教师身份登陆,支持论文的上传删除预览等操作,教师选择自己班级同学的论文进行查重,并得到查重报告。系统以学生身份登录,学生可以上传自己的论文,查看通知等操作。
2.5.1 系统基础模块
系统基础支持模块包括支撑论文查重系统运行的管理模块。比如论文查重系统的管理员管理,维护着论文查重系统的管理员列表。比如论文查重系统的日志管理,维护着论文查重系统的登陆日志。比如菜单权限管理,维护着不同角色的用户拥有哪些菜单权限。
系统基础支持模块的功能结构示意图如图5所示。
2.5.2 论文管理模块
论文信息模块是论文查重系统的其中一个模块。在这个模块中,用于可以上传自己的论文,支持用pdf和word的形式上传,上传后将生成一个唯一编号,存档在论文查重系统内,其功能结构如图6所示。
2.5.3 查重管理模块
用户将论文上传至论文查重系统后,可以提交论文查重订单,当用户对订单进行支付后,可自动开启查重操作,论文的查重功能在论文查重订单管理模块中完成,其功能结构如图7所示。
2.5.4 高校管理模块
高校管理模块也是论文查重系统的一部分。论文是学生的论文,必定属于某个高校,所以要维护数据,管理员可以对高校的数据进行增删改查等操作,如图8所示。
2.6数据库分析与设计
论文查重系统的模块关联,具体表现在数据库关系表的关联之上,只有将数据库的关联设计好了,论文查重系统的模块关联才能变的理想化,所以数据库分析环节也是论文查重系统开发的重要一环。
2.6.1 系统概念层结构设计
针对论文查重的具体需求,上文已对论文查重系统的四大模块进行详细设计,接着我将对论文查重系统的每个模块都进行数据库的设计,并且通过E-R图来进行展示。下面是各实体属性图展示。
用户实体属性图如下所示:
文件实体属性图如下所示:
通知信息实体属性图如下所示:
权限实体属性图如下所示:
2.6.2 数据库具体设计
根据E-R图,设计每张表的字段名称,类型,长度,字段含义等,论文查重系统重要的数据表主要的逻辑结构设计如下所示。
用户配置表用于系统的登陆和注册,用户配置表包括了用户姓名、手机号、登陆账号、邮箱、年龄、登陆密码等字段,其中登陆账号是主键如表1所示。
文件管理表用于管理临时文件,包括了文件名,路径,大小,修改时间,类型,状态等字段,如表2所示.
管理员管理用户信息,需要用到user表,user表包括了用户名、用户密码、姓名、专业、系别、以及账号的状态等字段,如表7所示。
2.7查重算法的设计
2.7.1 概论
很多情况下,我们需要对文本数据进行去重:当文本分类语料有重复的样本;有些网站会将同一片文章重复发若干次,导致我们采集到大量重复的内容,进而影响后续热点检测等任务的效果;等等。
假如有10篇文档需要去重,我可以亲自上、手工排重。这个任务几十秒钟就完成了。
假如有10000篇文档需要去重,可以使用适当的相似度算法判断是否重复,然后用single-pass的框架对文档进行聚类 ,最后保留所有簇的中心文档即可。这种算法最多需要计算大约(1+9999)*10000/2次相似度,耗时会很久。当然了,我们可以用一个倒排索引来加速。
假如我们有100000000篇文档需要去重,按我以前的套路,就是用Spark这样的工具咔咔算,算到天荒地老。不过呢,如果我们使用合适的文本相似度算法和倒排索引的构建方法,用一台内存足够的机器,可以在有生之年完成这个任务,所以需要一个高效的文本去重算法。
2.7.2 VSM算法
VSM是视觉显著映射的缩写,也就是价值流程图,是指产品从原材料至最终成品所需要的活动。价值流程图是丰田精益制造(Lean Manufacturing)生产系统框架下的一种用来描述物流和信息流的形象化工具。它运用精益制造的工具和技术来帮助企业理解和精简生产流程。价值流程图的目的是为了辨识和减少生产过程中的浪费。浪费在这里被定义为不能够为终端产品提供增值的任何活动,并经常用于说明生产过程中所减少的“浪费”总量。VSM可以作为管理人员、工程师、生产制造人员、流程规划人员、供应商以及顾客发现浪费、寻找浪费根源的起点。从这点来说,VSM还是一项沟通工具,但是,VSM往往被用作战略工具、变革管理工具。
2.7.3 SimHash算法
基于VSM的文本相似度计算,对于小量数据处理是可以的,但对于百度,google这样的搜索引擎,爬虫每天爬取的网页数目大得惊人,为了防止网页的重复,需要进行判重处理。对于这样的数据,VSM无能为力,google提出了SimHash算法,大大减少了计算量,本文的论文检测就是用了SimHash算法,SimHash算法的实现步骤如图13所示。
- 输入一个 N 维的文本特征向量 V ,每个特征具有一定权重。
- 初始化一个 C 维的向量 Q ,初始值均为0, C 位二进制签名 S 为0。
- 对于向量 V 的每个特征,使用hash算法计算出一个 C 位的散列值 H 。
- 对任意 i\in[1,C] ,若H 第 i 位为1,则 Q 的第 i 维加该特征的权重,否则减。
- 若最终 Q 的第 i 维元素大于0,则 S 的第 i 维为1,否则为0。
- 最终这个 C 维的二进制签名 S 就是该文本的二进制签名。
基于simhash的海量文本去重框架里同时涉及了搜索和聚类的关键技术,可以快速地修改为搜索和聚类工具。因此,这里用一个基于simhash 的文本去重框架展示simhash的应用方式。
假设我们需要对M篇文档进行去重。最简单的方式,是计算每两篇文档之间的距离,然后对距离不超过3的文档对进行去重处理。这样的话,我们需要计算(M-1+0)*M/2词相似度,计算量非常大。
我们可以使用倒查索引来降低计算量。以64位simhash编码表示的数据集为例,我们可以构建64个倒查索引,对应simhash码的64个维度;每个倒查索引只有两个key,即0和1,表示文本编码在这个维度上的取值;这样,我们就可以把所有的文档,按照simhash编码在各维度上的取值,放到各个倒查索引中。在实际去重的时候,每遍历到一个不重复的文档,就把它添加到64个倒查索引中。
在考察一篇文档是否重复的时候,我们首先把64个倒查索引中,与当前文档编码匹配的部分召回,然后比对当前文档与召回文档的相似度,进而判断是否重复,这种查询方式比之前所述的方式,需要比对的次数要少很多。
第3章 系统功能与界面的实现
3.1 管理员模块设计与实现
管理员通过账号和密码登录查重系统,老用户可以使用添加过的账号密码登录,新用户则需要管理员添加,获得账号密码才能获得查重服务。管理员点击“登陆”键,web网页上的 http请求被发送,然后向服务程序包中的 ProcessService调用 model中 TUser ()类中的 setUsername (String username)功能,并根据数据库的链接,找到数据库中的帐号信息,并根据用户名称、口令等信息是否一致,从而登陆系统。
管理员进入论文检测系统后,首先进入的是登陆界面,管理员需要输入正确的账号和密码,点击下方橙色的“Login”按钮,触发系统登陆。如果管理员输入的账号密码正确,系统将自动跳转至首页,可以查看用户,搜索用户,查看通知,文件,系统角色,角色权限等详细操作,如下图所示。
管理员可以新增删除学生的档案数据,在新增学生时,需要输入账号、姓名、系别、专业,并且选择账号的状态,全部输入完成后点击提交按钮,即可完成学生的添加,学生即可用该账户登陆系统,添加学生的操作界面。添加学生的档案数据时,如果管理员添加的数据合法,系统则将学生的数据持久化到数据库,并且返回添加成功的提示,此时学生可以用账号和密码登录查重系统,进行作业上传,如下图所示。
管理员也可以新增删除编辑教师的档案数据,在新增教师时,需要输入账号、姓名、系别,并且选择账号的状态,全部输入完成后点击提交按钮,即可完成教师的添加,可以对教师数据进行维护,用户可以点击每行教师数据的编辑按钮,系统给与反馈编辑窗口,如图17所示。
管理员对用户的基本信息拥有管理权限,这一工作是管理员通过用户管理功能来完成的,管理员可以根据需要查看,修改用户的详细信息。为了避免用户过多导致手动搜索耗费大量实践,系统支持根据学号或者工号、用户名模拟搜索学生或者老师的信息,方便对学生老师的信息进行增删改查,如图18所示。
另外系统会产生一些临时文件,需要反复被使用,所以系统设计了文件管理模块,可以看到每个文件的修改日期、大小、类型、提交人等信息,方便管理员进行下载、删除、预览等操作,右上角三个图标可以对文件进行筛选,导出,打印等操作,操作界面如图19所示。
管理员可以点击上传按钮,完成文件的上传,系统管理员可以查看文件的查阅状态;用户可以点击下载按钮,完成文件的下载;用户可以点击删除按钮,完成删除文件的操作,如图20所示。
系统采用基于角色的访问控制,设置了角色这一个概念,管理员可以在角色管理模块维护角色的数据,对于角色的权限,管理员也可以进行维护,管理员可以通过后台数据管理查看角色权限,查看权限名称和权限状态,进而维护角色数据。如下图所示。
管理员可以发送关于论文检测的通知,通知会显示标题、发布人、通知系别、通知类型、内容等,教师和学生可以收到通知并阅读,然后进行提交论文进行检测,在管理员操作完成功能后,可以点击右上角的注销按钮,完成系统的退出登陆,如下图所示。
3.2 教师模块设计与实现
此模块主要实现查重和文件管理两个功能,教师可以根据自己的要求进行选择查重,通过与对比文档的内容进行比对来判断学生论文的相似度,在查看检测结果模块可以点击查看检测报告。文件管理用于管理学生的论文,选择论文进行上传,下载,预览,查重等操作。
教师用账号和密码登陆系统后,可以查看到历史通知,当系统管理员发送通知后,教师在进入系统后可以收到管理员的通知,也可以查看最近提交的文件和未批改的文件以及文件的名称、修改日期、状态、提交人等信息,老师可以发布查重任务,如下图所示。
为了管理自己班级学生的论文文件,教师需要新建一个文件夹,用来保存学生的论文。教师需要点击创建按钮,系统给与弹框提示,教师输入文件夹的名称,如test,教师可以点击上传按钮,从操作系统的资源管理器中选取文件进行上传,上传完成后,系统的界面将展示教师刚刚添加的文件。文件以表项的形式展示,当教师需要详细了解时,不仅可以通过查看进入详情界面进行查看,还可以点击下载和删除功能对文件进行不同操作,如下图所示。
查重作为系统的主要功能,在完成了查重任务之后,将会产生作业查重报告。
教师需要选中要进行查重的论文,点击查重按钮,可以对需要查重的论文进行查重。教师选择论文进行查重,系统将给与弹框显示查重的结果,得到论文的相似度。教师进行查重,相应的论文状态变为已查阅状态,教师可以点击论文的下载查看删除等按钮进行操作,如下图所示。
3.3 学生模块设计与实现
此模块主要实现的是上传和下载功能,文件上传功能实现了对学生上传的文件进行存储和预处理,预处理部分调用了查重开发工具箱中的预处理模块,当预处理过程中出现差错时,界面会立即反馈出故障信息。即上传失败。
与教师端类似,学生也可以查看管理员发布的通知,查看老师的信息。上传的论文支持用pdf和word的形式上传,上传后将生成一个唯一编号,存档在论文查重系统内。浏览器通过访问服务器提供的servlet,返回一个可下载的文件列表,点击要下载的文件则会访问⼀个下载的servelt,实现下载功能,帮助学生实现下载论文。
学生可以输入账号密码完成登陆系统,查看历史通知内容,查看老师的信息,选择老师进行论文查重,学生进入自己的论文上传目录,可以看到文件的信息,如修改日期,文件大小,文件类型等,查看历史上传记录和查重记录。如下图所示。
学生可以进入自己的论文上传目录,点击上传按钮,上传自己的论文。学生点击上传按钮,系统会调取操作系统的资源管理器,进行文件选择,学生成功上传论文初稿后,上传失败会报错,系统给予弹框提示。上传成功后,学生的论文文件夹将出现刚刚上传论文,可以查看到修改日期、文件大小、文件类型等信息,如下图所示。
第4章 系统测试
为了满足高校论文查重需要,我们需要检查论文查重系统的质量,需要把论文查重系统放到位,避免不必要的麻烦,让更多的学生可以使用论文查重系统进行论文查重,让其参与查重流程并得到更多的推广。
4.1 测试方法
这个论文查重系统可以使用多种测试方法。一般可分为黑盒测试、白盒测试和灰盒测试。最引人注目的功能是用户角度的黑盒测试和白盒测试,用于论文查重系统的测试。本文对论文查重系统的两种测试方法进行了简要的初步比较。
4.2 测试用例
1、进行论文查重系统的注册模块进行测试,具体描述如表8所示。
2、进行论文查重系统的登录模块进行测试,以管理员登录为例,具体描述如表9所示。
3、进行论文查重系统的论文查重模块进行测试,以论文查询为例,具体描述如表10所示。
4.3 测试结论
通过对以上模块的测试,我们发现论文查重系统实现了系统预期的功能,如用户登陆、论文数据查询、论文重复检测等。在运行过程中,论文查重系统是稳定的,没有出现系统崩溃的情况。论文查重系统运行稳定,使用方便,总的来说,论文查重的功能实现是符合预期的。
第5章 总结和展望
5.1系统总结
经过四个月的设计开发,论文查重系统已经开发完成。本文先根据国内外关于论文查重的研究成果,先对论文查重系统的研制背景,意义进行了分析,并对该系统的技术可行性进行了分析。然后根据论文的实际需求进行需求调研,接着根据需求分析结果进行整体结构设计,在进行详细设计,最终将论文查重系统开发完成。
本系统是一个开放性的论文查重系统,是一个基于B/S模式,以Vue作为前端框架,使用SpringBoot作为后端的主要框架,采用MySql作为后台运行的数据库进行开发的。系统主要分为管理员,教师和学生三个模块,每个模块功能不同且相互独立,系统主要实现论文查重功能,得到检测结果功能,管理员添加用户功能,搜索用户功能,发布通知功能,文件管理功能,角色权限管理功能,上传文件,下载预览文件的功能等等。本系统的投入使用可以简化论文的日常工作,给论文带来一定的经济效益。
5.2前景展望
本文设计的论文查重系统能够满足大部分论文的运维需求,论文运维人员只要拥有电脑即可完成录入数据,方便快捷。但国内大型论文有着上亿的产量,基于MySQL的论文查重系统存在性能方面的问题,因为MySQL值适用于中小型的管理系统,后续将考虑使用Oracle数据库进行替代,满足论文的特殊需求。
另外本系统没有模块黑客攻击的场景,对黑客攻击行为缺少防御措施。所以论文查重系统一旦被黑客攻击,很有可能造成系统瘫痪,造成论文订单数据的丢失,或者造成论文客户信息的泄露,这也是我们不愿意看到的,所以要完善论文查重系统,还需要对安全性方面深入探讨。
参考文献
[1]张泽平. 本科毕业论文管理系统的设计与实现[D].山东师范大学,2018.
[2]托马斯,康诺利等.数据库系统:设计、实现与管理[M]. 北京:机械工业出版社,2019
[3]肖睿.MySQL数据库开发实战[M].北京:中国水利水电出版社.2019
[4]李志斌. 论文复制检测管理系统的设计与实现[D].北京邮电大学,2019.
[5]程克敏. 基于文本结构和内容的中文论文复制检测系统研究[D].合肥工业大学,2020.
[6]田丽,李颖.基于IPv6人脸识别论文查重系统的设计与实现[J].深圳大学学报(理工版),2020
[7]方书雅,刘守印.基于学生人体检测的无感知论文查重方法[J].计算机应用,2020
[8]孙玥,杨国为.基于人脸识别的论文查重系统的研究[J].现代电子技术,2020
[9]李雄,文开福,钟小明,杨辉,秦德浩.基于深度学习的论文查重系统开发[J].实验室研究与探索,2019
[10]肖睿.管理系统的开发实战[M].北京:中国水利水电出版社.2019
[11]刘文红.论文查重测试方法与技术[M].北京:清华大学出版社.2017
[12]瞿中,王江涛.论文查重工程[M].南京:南京邮电出版社,2018
[13]Cao Fengping; Zhu Lin. Research on Campus Attendance System Based on Face Recognition and Trajectory Tracking [J]. IOP Conference Series: Earth and Environmental Science, Volume 769, Issue 4. 2021
[14]Donger Zhou. Design of Student Attendance System based on 2.4Ghz RFID Technology[J]. Journal of Physics: Conference Series. Volume 1924, Issue 1. 2021.
[15]Trajectory Tracking [J]. AOP Condsnce Series: Earth and Envirsamntal Science, Vofsame 769, Isfaue 4. 2021
引用说明:
引用以上内容的用户,必须同意以下内容,否则请勿引用!
- 出于自愿而使用本文,了解引用本文的风险,且同意自己承担引用本文的风险。
- 利用本文内容构建的任何信息内容以及导致的任何版权纠纷和法律争议及后果和作者无关,作者对此不承担任何责任。
- 在任何情况下,对于因引用本文而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),作者概不承担任何责任。
- 必须了解使用本文内容的风险,作者不对其提供二次维护服务,也不提供任何有关资料。