基于hadoop的档案共享系统设计与实现.docx
- 文档编号:26912250
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:36
- 大小:398.18KB
基于hadoop的档案共享系统设计与实现.docx
《基于hadoop的档案共享系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于hadoop的档案共享系统设计与实现.docx(36页珍藏版)》请在冰豆网上搜索。
基于hadoop的档案共享系统设计与实现
郑州工业应用技术学院
课程设计说明书
题目:
基于Hadoop档案共享系统的设计与实现
姓名:
000000
院(系):
信息工程学院
专业班级:
19级计科专升本3班
学号:
2019010981
指导教师:
陈雪荣
成绩:
时间:
2019年9月23日至2019年12月27日
郑州工业应用技术学院
课程设计任务书
题目基于JAVA档案共享系统的设计与实现
专业、班级19级计科专升本3班学号2019010981姓名0000
主要内容:
本系统的使用对象是针对高校级的档案管理部门和一般用户,各部门的档案管理员通过登录对本部门的档案信息进行管理,一般用户则可以浏览各个部门的档案信息并进行检索。
该系统主要为高校办公所用,高校对学生信息或是各个部门的档案信息都要有明确详尽的记录,尤其是当院校部门或学生扩增时,对信息的存储及检索更是显得尤为重要,高校档案共享系统实现了档案信息的网络化管理,可以及时的对消息进行处理
本系统的设计本着实用的原则,包含了几个比较常用的基础功能,其中有档案信息管理、档案借阅管理、类别管理、附件管理、用户信息管理五大部分。
基本要求:
(1)基本实现系统的实java技术。
(2)书写系统上述文档和撰写课程设计报告。
主要参考资料:
[1]邱少明.Java面向对象程序设计[M].北京:
清华大学出版社北京交通大学出版社,2009
[2]孙卫琴,李洪成.Tomcat与JavaWeb开发技术详解[M].北京:
电子工业出版社,2004
[3](美)DavidFlanagan.JavaScript权威指南[M].北京:
机械工业出版社,2009
[4]张红梅,王磊.在JSP中访问数据库的方法[J].农业图书情报学刊,2006,18(12):
142-144
完成期限:
9月23日—12月27日
指导教师签名:
课程负责人签名:
摘要
计算机网络技术已逐步被应用于社会各个领域,使得各行业的现代化管理水平得到不断提高。
以传统模式为主的档案工作对档案信息的查找效率低下,不能满足对档案信息获取日渐增加的需求。
java的出现无疑为提高档案管理水平创造了有利条件。
基于java的企业档案信息共享系统作为众多管理信息系统的一个分支,既具有管理信息系统的基本特征,又符合了档案管理的特点。
本系统运用SSH框架管理实现,运行良好,功能划分合理,操作简单方便,信息提示友好。
该档案信息共享系统能很好的提供基本档案服务,降低管理成本,提高档案管理效率。
关键字:
SSH;java;档案共享;
1背景与意义
1.1项目背景
档案是国家机关、团体及企事业单位在从事各种社会活动、生产活动过程中,形成的具有一定价值的材料或实物。
档案管理是一项重要工作,这种管理工作繁杂,任务量大,而且各档案馆或档案室的工作重点不同,对外提供服务也不同。
大量的手工操作致使人员编制多,而且效率不高。
一套规划严谨、科学、规范的软件系统能提高档案管理工作效率、提高档案查找的准确率,加快检索速度,实现高校档案管理的电子化已经迫在眉睫。
为了更好的管理高校档案及各种纪录变动,减少手工操作的复杂性及劳动强度,以及方便高校档案的管理和查询,基于高校级的档案信息共享系统就解决了上述这些问题。
它能够有效地组织、管理和利用这些档案,构造一个高校信息共享的环境,实现档案内容的快速浏览及档案的网络管理,提高了工作效率,很好的解决了文件归档过程中信息化管理问题。
1.2研究意义
高校级的档案共享既能完整地保存了办公自动化过程中形成的著录信息,又有利于减轻档案工作人员的劳动,同时较纸质档案提供的信息更加全面、详细、准确。
它可以实现信息的共享,即组织机构内部的人员可跨越时间、地点协同办公。
系统中对工作流的支持,更是有助于档案管理人员及时看到所更新的消息,并对其做出处理,提高高校档案管理工作的效率。
2需求分析
2.1需求说明
本系统的使用对象是针对高校级的档案管理部门和一般用户,各部门的档案管理员通过登录对本部门的档案信息进行管理,一般用户则可以浏览各个部门的档案信息并进行检索。
该系统主要为高校办公所用,高校对学生信息或是各个部门的档案信息都要有明确详尽的记录,尤其是当院校部门或学生扩增时,对信息的存储及检索更是显得尤为重要,因而利用Hadoop的分布式系统使在存储和处理海量数据的过程中响应迅速,具备良好的伸缩性和可靠性,分布式数据库作为海量数据分析平台有着优良的表现。
高校档案共享系统实现了档案信息的网络化管理,可以及时的对消息进行处理,如:
用户注册完毕,对应部门的档案管理员会对该用户的注册信息进行审核,同时将处理结果反馈给用户等,更加方便快捷的管理未处理的消息。
作为高校级的办公系统,同时也需要对档案借阅的管理。
其中包括对档案借阅信息的添加,编辑,浏览和删除,当然对于添加、编辑和删除是需要权限的。
只有各个部门的档案管理员才能对本部门的档案借阅信息进行编辑和删除,同时也对用户的借阅请求进行审核,若审核通过,则用户可以进行借阅。
在用户浏览档案内容时,很多时候会需要查看档案的具体详细规定或内容文件。
比如说用户在查看学生档案时,需要用到学校统一的档案填写表,为了更好的体现高校文化,更规范学生的这些申请,学生最好可以从系统上下载该模板文件,然后学生可以使用统一的文件进行内容的填写。
那么各个部门的档案管理员就需要在系统上首先上传该模版文件,然后学生再去进行下载。
由于上传的文件没有了系统管理员的审核,但这些文件又确实需要有人进行管理,那就把文件的管理交给个人,即学生管理自己所上传的文件,这样也分担了系统管理员的工作压力。
如果出现上传文件不合适的情况,档案管理员可以通知其上传的作者删除该文件。
2.2功能分析
(1)功能划分
本系统的设计本着实用的原则,包含了几个比较常用的基础功能,其中有档案信息管理、档案借阅管理、类别管理、附件管理、用户信息管理五大部分。
(2)功能描述
档案信息管理:
本功能为系统的核心模块,主要包含有档案的创建日期、创建人、档案内容、档案类别、保管期限、年度、状态等信息,其中年度为档案创建的年份,状态包含借出、在库、审核中三种,保管期限包含长期、短期、永久,档案类别包含文书档案、科技档案、会计档案、人事档案、声像档案、实物档案、工程档案、学生档案。
档案信息交由档案管理员来管理,每个部门管理本部门下的档案内容,为了减轻档案管理员的操作量,用户可以上传自己的档案信息,审核通过后用户方可浏览到这些档案内容。
档案管理员可对本部门的档案信息进行增加、编辑、删除的操作。
档案借阅管理:
用户进入此模块根据需要对部门下的档案进行借阅,主要记录了借阅的档案名称、借用人员、借用日期及归还日期的内容,同时部门档案管理员会收到某个用户借阅档案的消息提示,“0”表示对这些消息尚未处理,“1”表示处理过的消息。
另外档案管理员可以对本部门的档案借阅记录进行管理。
类别管理:
本系统档案对应于八种类型,包含了文书档案、科技档案、会计档案、人事档案、声像档案、实物档案、工程档案、学生档案,每个档案类型对应所属一个部门,它是由系统管理员进行操作管理,以系统管理员身份登录后只能查看本部门下的档案信息,不能对其进行额外的操作,档案管理员则拥有编辑档案的权限。
附件管理:
在对档案内容进行查阅时,有时需要对档案的详细信息进一步了解,这时就需要用到其它文档对其进行具体的说明,档案管理员根据需要可以上传本部门的档案附件,同时也可对本部门的档案附件进行删除。
用户信息管理:
一般用户登录系统后可以查看自己的详细信息,也可对其进行编辑并保存。
系统管理员则可对所有的用户信息管理。
当用户注册完毕后,用户所填写的所属部门对应的档案管理员会收到注册的消息提示,只有当档案管理员审核通过后,用户的注册才能正式生效,进而行使注册用户所拥有的权限。
用例分析
本系统的使用人员主要为系统管理员、档案管理员和一般用户,以下就三类人员分别进行用例介绍。
2.3可行性分析
(1)技术可行性
本“基于java的高校档案共享系统”是为高校的档案管理工作开发的,鉴于本人在校期间已经对javaweb经典框架SSH有一定的学习,而且对数据库mysql也有学习和练习,并且曾使用Struts2+Mysql在课程设计和课余的练习时间做过大量的练习;而且通过这几个月毕业实习中的学习和实践,对档案共享系统又有了新的认识和提高。
开发过程中SSH框架的使用很大程度上增加了编程中的灵活性和重用性,首先struts2使MVC的各层清晰的分开,使Model层、View层和Controller控制器各司其职;Hibernate把之前对数据库表数据的操作都抽象为现在的面向对象的编程,极大的简化了代码的编写,不再过多的考虑表结构和表字段的类型;Spring则提供了一种管理对象的方法,把中间层对象有效的通过配置文件的方式组织起来,间接的管理各个对象的生命周期。
另外在校时跟随导师搭建本系统开发所需的java环境,在网上大量的搜集了资料,解决了环境搭建时遇到的各种问题,但由于在校外工作,无法利用学校搭建好的开发环境来进行本系统的开发,因而采用了SSH技术保证了本系统的顺利完成。
(2)经济可行性
成本方面:
由于本毕业设计属于软件工程(本科)教学的最后一个环节,人力消耗免费,指导老师义务指导,所以开发本系统的成本是非常低的。
效益方面:
一个合理的高校档案共享系统可大大节省人力,以前需要多人干的工作,使用本系统只需一个人或几个人简单的几步操作就能完成,且工作量和劳动强度大大降低,所以开发本系统可以为高校的档案管理工作带来不错的经济效益。
(3)操作可行性
本系统使用的对象是档案办公人员,由于本系统界面设计的友好、清晰,操作过程简单,用户只需懂得简单的计算机操作知识,就能自由应用本系统。
所以,综合以上几个方面的分析来看,开发本系统是完全可行的。
2.4数据库的安全性
数据库的安全性是指保护数据库,防止用户非法使用数据库造成数据泄露、更改以及破坏。
用户连接Mysql服务器的账户和密码,是进入数据库服务器的第一张通行证。
因此,设置数据库密码时采用数字加字母的组成形式。
每个接受的参数都要经过严格的数据格式过滤,才用于对数据库的查询。
为了降低危险等级,参数大多采用数字,这样就不会产生对数据库有害的字符。
3系统设计
3.1系统设计和一般要求
参照各模块的功能与具体的特点,设计的整个高校档案共享系统应达到以下目的:
(1)稳定性。
整个系统应能稳定运行,硬件配置的局部改变不会影响整体的正常运行,其它系统的差错不会导致该系统无法正确运作。
(2)准确性。
系统各用户操作产生的数据要与数据库原定产生变化的实际状态应严格保持一致,杜绝错误记录、数据错位等情况的出现。
(3)开放性。
系统服务器模块工作于Windows平台之上,在硬件保证兼容的基础上,系统应保证在所有Windows环境下的处理能力。
(4)安全性。
所有数据定时备份。
(5)可扩展性。
如果需增加新的业务品种,再次开发不需更改原有系统的源代码,原有系统对扩展的部分一般不具有依赖性。
(6)可维护性。
界面风格或其它可能的参数化改变(如增加新功能等)不需要重新编写源代码。
(7)独立性。
每一个功能模块尽量独立,减少与其它模块之间的耦合性。
(8)易使用性。
本系统的界面与操作人员的交互性好,操作简单。
(9)先进性。
在保证稳定的前提下,尽量使用国际上流行的技术与概念,使系统在国内处于先进水平。
3.2流程图
3.2.1E-R图
数据库实体我们大家都很熟悉了,即是数据库管理系统中的各种用于数据管理方便而设定的各种数据管理对象,这些对象中所存储的数据也是数据库实体。
因为它们也是确切存在着的实体。
下面所描述的也就是数据库中所存储的数据实体。
实体:
用矩形表示,矩形框内写明实体名。
属性:
用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来。
档案表、档案类型、部门的实体属性图如下图3-1、3-2、3-3所示。
图3–1档案实体
图3–2档案类型实体
图3–3部门实体
图3–4借阅实体
3.2.2功能模块图
高校档案共享系统为处理日常高校的档案办公事务所用,包括基本的人员管理、日程管理、文档管理、消息传递和公告管理等。
本系统主要功能如下图3-5所示。
图3–5功能模块图
3.3系统数据库设计
3.3.1数据库的需求分析
根据高校档案共享系统的用户需求,对应数据表的设计及功能如下:
用户权限表(roles):
存放各个用户的权限信息。
用户信息表(user):
存放用户的基本信息。
日志表(logs):
存放所有操作的日志信息。
档案类型表(category):
存放档案的类型信息。
档案部门表(department):
存放档案的部门信息。
档案借阅表(borrow):
存放用户的借阅信息。
档案表(dangan):
存放所有的档案信息。
档案柜表(dangangui):
存放各类档案的信息。
附件表(fujian):
存放各类档案上传的附件信息。
图片表(image):
存放一些档案集锦的图片信息。
3.3.2数据库的表设计
根据本高校档案共享系统的数据流程分析,建立数据库dangan,并在其下创建如下几个数据库表。
用户权限表、用户信息表、日志表、档案类型表、档案部门表、档案借阅表、档案表、档案柜表、附件表、图片表,分别如下表3-1、3-2、3-3、3-4、3-5、3-6、2-7、3-8、3-9、3-10所示。
表3–1用户权限表
字段名
字段类型
字段长度
是否为主键
是否为空
备注
id
int
10
是
否
自增字段
name
varchar
200
否
是
权限名称
authority
varchar
30
否
是
操作权限
表3–2用户信息表
字段名
字段类型
字段长度
是否为主键
是否为空
备注
id
Int
10
是
否
自增字段
username
varchar
50
否
否
用户名称
password
varchar
50
否
否
用户密码
roleId
Int
10
否
否
角色权限编号
departmentId
Int
10
否
否
部门(外键)
memo
varchar
50
否
是
注册是否通过
表3–3日志表
字段名
字段类型
字段长度
是否为主键
是否为空
备注
id
Int
10
是
否
自增字段
type
Varchar
20
否
否
动作类型
time
datetime
0
否
否
操作时间
uid
Int
10
否
否
操作用户
infoid
Int
10
否
否
操作信息
表3–4档案类型表
字段名
字段类型
字段长度
是否为主键
是否为空
备注
id
Int
10
是
否
自增字段
typename
varchar
50
否
否
类型名称
createperson
varchar
50
否
否
建档人员
createtime
datetime
0
否
否
创建时间
departid
Int
10
否
否
部门编号(外键)
memo
varchar
100
否
是
表3–5档案部门表
字段名
字段类型
字段长度
是否为主键
是否为空
备注
id
Int
10
是
否
自增字段
deptname
varchar
50
否
否
部门名称
表3–6档案借阅表
字段名
字段类型
字段长度
是否为主键
是否为空
备注
id
Int
10
是
否
自增字段
name
varchar
30
否
否
档案名称
borrowperson
varchar
否
否
借用人员
borrowtime
datetime
10
否
否
借用日期
returntime
datetime
11
否
是
归还日期
memo
varchar
100
否
是
信息是否处理
表3–7档案表
字段名
字段类型
字段长度
是否为主键
是否为空
备注
id
Int
10
是
否
自增字段
name
varchar
30
否
否
档案名称
filename
varchar
60
否
是
文件编号内容
keyword
varchar
100
否
否
主题词
time
datetime
0
否
否
创建日期
createperson
varchar
30
否
否
创建人
content
varchar
300
否
是
档案内容
state
varchar
30
否
否
档案状态
year
varchar
20
否
否
年度
limittime
varchar
30
否
否
保管期限
catyid
Int
10
否
否
档案分类编号
danganguiid
Int
10
否
否
案柜编号
表3–8档案柜表
字段名
字段类型
字段长度
是否为主键
是否为空
备注
id
Int
10
是
否
自增字段
filename
Varchar
50
否
否
柜名称
memo
Varchar
50
否
否
表3–9附件表
字段名
字段类型
字段长度
是否为主键
是否为空
备注
id
Int
10
是
否
自增字段
url
Varchar
100
否
否
附件路径
danganid
Int
10
否
否
档案编号
表3–10图片表
字段名
字段类型
字段长度
是否为主键
是否为空
备注
id
Int
10
是
否
自增字段
title
Varchar
100
否
否
标题
content
Varchar
500
否
是
内容
imgurl
Varchar
100
否
否
图片路径
memo
Varchar
10
否
是
3.4本系统的设计目标
高校档案共享系统代替了原来的手工操作,从而快速、准确地对各类档案信息进行管理和维护。
具体有四个目标:
(1)支持学校完成并实现规范化的图书管理;
(2)支持高效率的完成档案管理日常工作的运行,其中有档案入库,用户信息建立、用户查询档案等方面的维护更新工作;
(3)使学校的教职工和学生等广大读者更方便快捷的进行档案查询、借阅和相关档案文件下载。
(4)校园档案管理工作的计算机化,各种档案信息可以通过计算机快速,准确地增加、修改、删除、查询。
使管理人员对所有用户信息和档案信息的基本概况一目了然,便于管理。
4编码与实现
4.1系统登录首页
本系统是为高校档案管理所用,后台管理员要使用本系统首先需要登录,所以本系统的后台首页设定有登录页面,显示如下图4-1所示。
图4–1后台系统登录页面
登录时需进行信息校验,本系统采用了异步校验,其实现的代码如下。
//检验用户名
publicStringtestUname(){
try{
inputStream=userService.getUserByName(username)?
newByteArrayInputStream(
"
:
newByteArrayInputStream("
*".getBytes("UTF-8"));
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}
returnSUCCESS;
}
//检验密码
publicStringtestPasswd(){
try{
if(userService.getUserByNameandPwd(username,password)==null){
inputStream=newByteArrayInputStream(
"
*"
.getBytes("UTF-8"));
}else{
inputStream=newByteArrayInputStream(
"
.getBytes("UTF-8"));
}
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}
returnSUCCESS;
}
//检验登录
publicStringlogin(){
Useruser=userService.findUser(username,password,role);
if(user==null||(user.getDepartment().getId()!
=id)){
try{
inputStream=newByteArrayInputStream("登录信息不正确".getBytes("UTF-8"));
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}
}else{
Map
session.put("user",user);
try{
inputStream=newByteArrayInputStream("success".getBytes("UTF-8"));
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}
}
returnSUCCESS;
}
4.2系统管理员登录系统后的首页
系统管理员负责对用户信息进行管理,并可以查看各部门的档案信息及进行日常的数据库维护操作,其操作菜单如下图4-2所示。
图4–2系统管理员操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 hadoop 档案 共享 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)