基于SQL的陕西“东大门”人才管理软件研究与设计
2012-09-20阴国富
阴国富
(渭南师范学院数学与信息科学学院,陕西渭南714000)
《国家中长期人才发展规划纲要(2010—2020)》在人才发展的目标、理念、布局、思路和指标等方面均有重大创新和突破.特别强调“以用为本”、“高端引领”.以用为本,就是把用好人才、充分发挥人才作用作为根本任务,创造有利于人才发展的体制机制.高端引领,就是培养造就高层次人才,并且以他们引领经济社会发展,引领人才队伍建设[1].陕西省人民政府于2012年2月出台“陕西省‘东大门’建设若干意见”,标志着陕西省“东大门”建设号角的正式吹响[2].渭南市人民政府又批准进行人才支撑系统项目的研究.陕西省“东大门”人才管理软件系统是该项目一个具体研究成果,是实施人才强市战略的重要体现.
该系统积极配合目前五类人才信息数字化、规范化的要求.在保证数据的安全性、软件运行可靠性的基础上,实现对当地各类人才的资质、信息档案进行管理,能够对各类人才信息及时、全面地采集、利用与研究,操作简单,能够迅速完成使用者的相应业务处理.并最大限度地简化了工作流程、提高了工作效率、增强了信息的准确性、及时性[3],为渭南人才支撑系统安全运行起到了保障作用.
1 系统框架设计
以SQL(Structured Query Language)为数据仓库,采用多循环加密技术与权限等级划分策略为渭南市人才管理系统数据存放提供安全保障,实现人才信息的采集、查询、统计、上报、下拨等功能.系统能够实现渭南18个二级单位人才上报信息点的接口开设,对数据信息可进行72种组合查询,基于32种条件的9类分类信息统计以及统计视图的生成,实现各县数据上报组织部、人才个人完整资料输出与打印、数据库的备份与还原等功能.系统主体框架如图1所示.系统设计关键技术在于信息采集页面的技术管理、表格结构的设置与优化、数据调入与调出优先性的设计、72种条件查询的设计、数据库保密系统管理、数据防拷贝设计、数据防后门修改设计、32种条件约束下的9类信息统计及统计视图的生成.
该系统主要的角色有系统管理员、人才信息录入员、单位领导和浏览用户四类.本系统的初始角色为系统管理员,拥有系统的全部权限.系统中的所有用户均可浏览首页公告和下载各种常用工具.
系统管理员:拥有系统的全部权限.主要进行【系统管理】模块中,“权限维护”功能中的菜单、模块和功能的维护,“数据字典”功能中字典目录和数据字典的维护,系统日志的查询;【用户权限】模块中的用户的创建与维护,角色的创建与权限的分配;【系统工具】模块中,公告和常用工具的维护等系统级操作.
人才管理员:主要进行的是【人才管理】模块中对上报单位、人才类别和人才信息的维护工作,及【数据管理】模块中的对人才信息数据的导入导出工作.
中层领导:主要是进行人才信息的查询、统计和模板定制.所涉及的模块是【模板管理】、【信息查询】和【信息统计】.
高层领导:主要是进行人才信息的查询和统计.
图1 渭南市人才管理软件框架图
2 后台数据库系统
SQL是结构化查询语言.SQL语言的主要功能是同各种数据库建立联系、进行沟通[4],是关系型数据库管理系统的标准语言.SQL Server 2000是Microsoft公司推出的SQL Server数据库管理系统,一直被认为是一种客户机/服务器系统.事实上,Sybase DataServer(以此为基础开发了原始的SQL Server)正是第一个作为客户机/服务器系统开发的商用关系数据库系统[5].
3 数据库系统安全性设计
通过对数据库漏洞扫描、安全访问控制模型优化、Web SQL注入扫描、网络监控与分析、数据库加密、增强认证、增强权限、数据库应用安全、数据库审计等数据库防护手段进行追踪和研究,以提升安全性能.近年来,网络的发展导致数据库结构越来越复杂,传统的访问控制模式已无法保证数据库的安全性,对数据访问权限进行管理变得很复杂和不安全.基于角色的访问控制模型(Role-Based Access Control,RBAC)成为数据库访问控制研究中的热点,它主要用于解决具有大量用户、数据客体和访问权限的系统中的授权管理的问题.
表1 对原DDL语句的安全增强
在数据库系统中,SQL语句进行DDL(Database Define Language,数据库定义语言)与DML(Data Manipulation Language,数据操作语言)处理操作时,需要进行MAC检查,只有通过检查的数据才能输出给用户,否则只能返回报错信息.表1是对DDL语句的安全性增强以实现强制访问控制.
DML语言完成对数据库的操作,凡是涉及对象读写的语句都需要增加安全审查:以Select语句为例,在其解释程序中增加安全级审查:(1)取语句执行者的安全级;(2)取语句对象的安全级;(3)调用CompSecLevel(Sec_Sub,Sec_obj),如果返回值为“支配”或“严格支配”,进入查询部分,否则,报“安全级不够”的错误,退出.
4 系统安全性保障
4.1 非法用户拦截
系统登录界面如图2所示,通过用户名和密码进行登录验证,以保证对非法用户入侵的有效拦截.
图2 系统登录界面
4.2 数据备份与恢复
计算机系统的各种软硬件故障、用户误操作以及人为恶意破坏都将影响到数据的正确性、完整性,甚至造成数据损失、服务器崩溃等不可预测的后果.数据库恢复机制是数据库管理系统的重要组成部分,经常进行数据备份可以有效防止信息丢失,使管理员能够把数据库从错误的状态恢复到已知的正确状态.
恢复的基本原理是:数据冗余.因为数据库中任何一部分被破坏的或不正确的数据均可以根据数据存储在系统别处的冗余数据来重建.建立冗余数据最常用的技术是数据存储和登录日志文件.通常在一个数据库系统中,这两种方法是有效结合使用的.SQL Server 2000包括3种恢复模型,不同的恢复模型在SQL Server备份、恢复的方式和性能方面存在差异,而且采用不同的恢复模型对于避免数据损失的程度也不相同[7].第一种是简单恢复模型,可以将数据库恢复到最新的备份,但无法将数据库还原到故障点或特定的检查点.第二种是完全恢复模型,是默认的恢复模型,在故障还原中具有最高的优先级.该模型使用数据库备份和日志备份,可以将数据库恢复到故障点状态.第三种是大容量日志记录恢复模型,与完全恢复模型相似,使用数据库和日志备份来恢复数据库.该模型适用于大规模或大容量数据操作.
(1)定时备份操作过程:
CREATE PROCEDURE[dbo].[过程名]AS
declare
@filename nvarchar(100),-文件名
@NowDay int -设置时间
set@filename=F:JXXdata+cast(Day(GetDate())as varchar(2))+.dat-文件路径及文件名Set@NowDay=Day(GetDate())if(@NowDay>=20)or(@NowDay<=10)-本月20到下月10号进行备份
begin
print@filename BACKUP DATABASE[数据库名()你也可以设参数]TO DISK=@filename WITH INIT,NOUNLOAD,NAME=NXX数据备份,NOSKIP,STATS=10,NOFORMAT
end
(2)进入企业管理器中→管理→sql server代理→作业,执行新建作业,作业名称选取要见名知意,例如:data备份,所有者选择sa,当然也可以选择其他有执行作业权限的用户;
(3)在步骤中,取名→选中要备份的数据库→在命令中输入exec(过程名);
(4)在调度中,选反复出现→更改→选每→时间(自己输入);
(5)测试完成后→最后导入脚本→进入服务器;
(6)把SQlServer服务管理器设置为启用SqlServer Agent服务.
表2 备份类型表
5 结语
渭南市高端人才管理软件是渭南市实施人才强市战略,为科学发展、富民强市提供人才支撑的一项重要举措,是推动陕西“东大门”建设的有力保障,是渭南智库园建设的奠基.该软件以SQL为后台数据库,采用C#作为开发平台,从需求分析到具体设计每个环节都充分考虑安全因素,使人才管理系统能真正为渭南市人才高效管理保驾护航.
[1]国务院.国家中长期人才发展规划纲要(2010—2020)[Z].2010-06-06.
[2]陕西省人民政府.关于支持渭南加快建设陕西东大门的若干意见[Z].2012-02-21.
[3]徐陋,姚国祥.SQL注入攻击全面预防办法及其应用[J].微计算机信息,2006,3(3):18-20.
[4]张勇,李力,薛倩.Web环境下 SQL注入攻击的检测与防御[J].现代电子技术,2004,182(15):105-107.
[5]赵宝献,秦小麟.数据库访问控制研究综述[J].计算机科学,2005,32(1):88 -91.
[6]赵会东,王小科,王军.C#开发之道[M].北京:电子工业出版社,2011.
[7]吴彦,张冬.SQL Server自动异地备份的研究与应用[J].电脑知识与技术,2009,(33):54 -59.