论文部分内容阅读
摘 要:针对物资管理系统使用过程中所遇到的风险,首先设计3种可靠性策略以保证系统数据的安全性。在此基础上,设计实现了一种基于Browser/Server结构的高可靠性物资管理系统。通过系统实际运行结果分析,该系统可以有效实现物资管理以及保证系统数据安全可靠。
关键词:物资管理;数据安全;可靠性策略;Browser/Server结构
中图分类号:TM769
物资管理系统[1]是针对企业物资的入库、领用、库存等情况进行管理,以及使管理者准确及时地掌握相关物资信息从而帮助其做出正确决策的一种工具。目前,物资管理系统使用过程中往往遇到以下两类风险:一是多用户条件下隐私数据泄露问题;二是多用户条件下数据不一致问题。本文针对上述风险,在现有物资管理信息技术的基础上,设计并实现了一个高可靠性的物资管理系统,基本思想是采用B/S(Browser/Server,浏览器/服务器模式)架构实现多用户管理物资信息,采用事务隔离划分技术以及用户权限分发管理技术实现管理系统的高可靠性。
1 数据可靠性技术设计
为保证物资管理系统的高可靠性,我们设计以下3种策略。
策略1:用户权限分发管理技术[2-3]
每个用户可分配一个或多个角色,每个角色赋予一个或多个权限。在用户进行操作时将验证这个用户的角色是否具备该权限,以达到访问控制的目的。
策略2:事务隔离划分技术[4]
在多用户同时访问数据库相同数据时,往往会出现下列数据不一致问题。
(1)脏读取(Dirty Read):一个事务读取了被其他事务写入但还未提交的数据。
(2)不可重复读取(Non-repeatable Read):一个事务再次读取其之前曾经读取过的数据时,发现数据已被其他已提交的事务修改或删除。
(3)不存在读取(Phantom Read):事务按照之前的条件重新查询时,返回的结果集中包含其他已提交事务插入的满足条件的新数据。
为避免上述现象又必须充分提高用户并发处理速度,根据数据局部性原理,我们通过智能监控事务冲突的环境,自适应调整隔离级别。我们设置以下4种隔离级别:
(1)读未提交(Read Uncommitted):允许脏读取,但不允许更新丢失。如果一个事务已经开始写数据,则另外一个数据不允许同时进行写操作,但允许其他事务读此行数据。
(2)读提交(Read Committed):允许不可重复读取,但不允许脏读取。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行。
(3)可重复读取(Repeatable Read):禁止不可重复读取和脏读取,但是有时可能出现不存在读取。读取数据的事务将会禁止写事务(但允许读事务),写事务则禁止任何其他事务。
(4)序列化(Serializable):提供严格的事务隔离,要求事务序列化执行。
策略3:审批技术
为进一步保证关键数据的安全,我们将记录用户的所有行为,用户的关键事务处理只有通过审批机制才能生效。其具体流程如下图所示。
如图所示,权限验证模块根据用户提交的事务辨别出合法事务,关键事务识别模块将在所有合法事务中挑选出关键事务提交给事务审批模块进行审批,审批结果回馈给用户,若通过审批,则此事务生效。
2 系统设计实现
在上述技术基础上,设计实现了基于B/S结构的高可靠性物资管理系统,该系统具备以下功能:(1)管理物资信息;(2)保证数据安全可靠。
2.1 系统体系结构
该系统采用B/S的3层体系结构。
(1)第一层,用户通过浏览器提交对数据库操作的请求。
(2)第二层的Web服务器根据不同用户的请求进行相应的业务逻辑处理,并根据请求与数据库服务器连接进行数据的操作,并将结果返回到第一层。
(3)第三层,数据库服务器负责具体数据的存储和实际的数据操作。
基于B/S的3层体系结构具备良好的拓展性,易于跨域操作,并且由于Web服务器将后台数据库屏蔽,避免直接操作数据库的可能性,大大增加了系统的安全性。
2.2 系统功能设计
系统功能模块设计如下图所示。
系统分为事务响应、关键事务判断,事务审批,权限验证,数据库管理5个模块,其中数据库管理模块又由用户管理、权限管理、物资管理、角色管理。日志管理等5个子模块组成,其具体功能如下:
(1)事务响应模块,根据用户对数据库操作的请求,产生响应事务;
(2)权限验证模块,根据用户角色、部门等基本信息判断该用户请求响应事务是否合法;
(3)关键事务判断模块,根据一系列合法事务判定出关键事务,并将其提交审批模块审批;
(4)事务隔离设置模块,根据事务冲突环境,自适应调整隔离级别;
(5)数据库管理模块,根据提交的合法事务或关键事务对数据库进行管理,包括:
①用户管理,管理用户基本信息,对用户信息进行登记、修改、查看;
②角色管理,管理角色基本信息,对角色信息进行登记、修改、查看。并且管理角色所具备的权限;
③权限管理,管理权限基本信息,对权限信息进行登记、修改、查看。并且管理该权限所允许和禁止的所有操作;
④物资管理,管理物资基本信息,包括性能、位置、指标等等;登记、修过、查看物资出库、入库、库存、使用等情况;同时可根据用户需求产生相关报表,以供管理者参考决策;
⑤日志管理,管理日志基本信息,记录所有用户事务信息。并且可根据用户需求对日志进行备份、还原等操作。
3 结语
本文首先设计保证系统数据安全的3种策略,在此基础上设计实现了基于B/S结构的高可靠性物资管理系统,能够规范、科学地管理物资信息,并有效解决系统在使用过程中遇到的多用户并发条件下数据不一致和数据隐私泄露等安全问题,大大增强了物资管理系统的可靠性。
参考文献:
[1]BAIDU.物资管理信息化[EB/OL].(2013-05)[2013-11-23].http://baike.baidu.com/link?url=8eKdpUpKGlM3HQjhn2Am0z4M2YXSsozXXEQlJ84Z8BJK9TrUdVRa_5yv_oITJGixuQA6rfv_mDdo63uciAFlAq.
[2]邓文洋,周洲仪,林思明,刘金刚.开放式环境下一种基于信任度的RBAC模型[J].计算机工程,2013,2(7):112-118.
[3]RENREN.RBAC综述[EB/OL].(2013-05)[2013-11-23].http://blog.renren.com/share/240440031/4397912351.
[4]BAIDU.Oracle事务控制、数据并发性和一致性[EB/OL].(2012-10)[2013-11-23].http://wenku.baidu.com/link?url=-DmZR-dHHJxdBooo-rXzVH6iBL7UmbiOEg33CVSVk0wPQCe1rzydKgVHIpKOJJ3qpRZ5zu8gVcS323AOEtH-VhfvnMIPIv2sAcxEF2m9QY7.
作者简介:何镓(1989.03-),男,福建三明人,本科,助理工程师,研究方向:网络信息安全。
作者单位:中国华艺广播公司华广网,福州 350003
关键词:物资管理;数据安全;可靠性策略;Browser/Server结构
中图分类号:TM769
物资管理系统[1]是针对企业物资的入库、领用、库存等情况进行管理,以及使管理者准确及时地掌握相关物资信息从而帮助其做出正确决策的一种工具。目前,物资管理系统使用过程中往往遇到以下两类风险:一是多用户条件下隐私数据泄露问题;二是多用户条件下数据不一致问题。本文针对上述风险,在现有物资管理信息技术的基础上,设计并实现了一个高可靠性的物资管理系统,基本思想是采用B/S(Browser/Server,浏览器/服务器模式)架构实现多用户管理物资信息,采用事务隔离划分技术以及用户权限分发管理技术实现管理系统的高可靠性。
1 数据可靠性技术设计
为保证物资管理系统的高可靠性,我们设计以下3种策略。
策略1:用户权限分发管理技术[2-3]
每个用户可分配一个或多个角色,每个角色赋予一个或多个权限。在用户进行操作时将验证这个用户的角色是否具备该权限,以达到访问控制的目的。
策略2:事务隔离划分技术[4]
在多用户同时访问数据库相同数据时,往往会出现下列数据不一致问题。
(1)脏读取(Dirty Read):一个事务读取了被其他事务写入但还未提交的数据。
(2)不可重复读取(Non-repeatable Read):一个事务再次读取其之前曾经读取过的数据时,发现数据已被其他已提交的事务修改或删除。
(3)不存在读取(Phantom Read):事务按照之前的条件重新查询时,返回的结果集中包含其他已提交事务插入的满足条件的新数据。
为避免上述现象又必须充分提高用户并发处理速度,根据数据局部性原理,我们通过智能监控事务冲突的环境,自适应调整隔离级别。我们设置以下4种隔离级别:
(1)读未提交(Read Uncommitted):允许脏读取,但不允许更新丢失。如果一个事务已经开始写数据,则另外一个数据不允许同时进行写操作,但允许其他事务读此行数据。
(2)读提交(Read Committed):允许不可重复读取,但不允许脏读取。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行。
(3)可重复读取(Repeatable Read):禁止不可重复读取和脏读取,但是有时可能出现不存在读取。读取数据的事务将会禁止写事务(但允许读事务),写事务则禁止任何其他事务。
(4)序列化(Serializable):提供严格的事务隔离,要求事务序列化执行。
策略3:审批技术
为进一步保证关键数据的安全,我们将记录用户的所有行为,用户的关键事务处理只有通过审批机制才能生效。其具体流程如下图所示。
如图所示,权限验证模块根据用户提交的事务辨别出合法事务,关键事务识别模块将在所有合法事务中挑选出关键事务提交给事务审批模块进行审批,审批结果回馈给用户,若通过审批,则此事务生效。
2 系统设计实现
在上述技术基础上,设计实现了基于B/S结构的高可靠性物资管理系统,该系统具备以下功能:(1)管理物资信息;(2)保证数据安全可靠。
2.1 系统体系结构
该系统采用B/S的3层体系结构。
(1)第一层,用户通过浏览器提交对数据库操作的请求。
(2)第二层的Web服务器根据不同用户的请求进行相应的业务逻辑处理,并根据请求与数据库服务器连接进行数据的操作,并将结果返回到第一层。
(3)第三层,数据库服务器负责具体数据的存储和实际的数据操作。
基于B/S的3层体系结构具备良好的拓展性,易于跨域操作,并且由于Web服务器将后台数据库屏蔽,避免直接操作数据库的可能性,大大增加了系统的安全性。
2.2 系统功能设计
系统功能模块设计如下图所示。
系统分为事务响应、关键事务判断,事务审批,权限验证,数据库管理5个模块,其中数据库管理模块又由用户管理、权限管理、物资管理、角色管理。日志管理等5个子模块组成,其具体功能如下:
(1)事务响应模块,根据用户对数据库操作的请求,产生响应事务;
(2)权限验证模块,根据用户角色、部门等基本信息判断该用户请求响应事务是否合法;
(3)关键事务判断模块,根据一系列合法事务判定出关键事务,并将其提交审批模块审批;
(4)事务隔离设置模块,根据事务冲突环境,自适应调整隔离级别;
(5)数据库管理模块,根据提交的合法事务或关键事务对数据库进行管理,包括:
①用户管理,管理用户基本信息,对用户信息进行登记、修改、查看;
②角色管理,管理角色基本信息,对角色信息进行登记、修改、查看。并且管理角色所具备的权限;
③权限管理,管理权限基本信息,对权限信息进行登记、修改、查看。并且管理该权限所允许和禁止的所有操作;
④物资管理,管理物资基本信息,包括性能、位置、指标等等;登记、修过、查看物资出库、入库、库存、使用等情况;同时可根据用户需求产生相关报表,以供管理者参考决策;
⑤日志管理,管理日志基本信息,记录所有用户事务信息。并且可根据用户需求对日志进行备份、还原等操作。
3 结语
本文首先设计保证系统数据安全的3种策略,在此基础上设计实现了基于B/S结构的高可靠性物资管理系统,能够规范、科学地管理物资信息,并有效解决系统在使用过程中遇到的多用户并发条件下数据不一致和数据隐私泄露等安全问题,大大增强了物资管理系统的可靠性。
参考文献:
[1]BAIDU.物资管理信息化[EB/OL].(2013-05)[2013-11-23].http://baike.baidu.com/link?url=8eKdpUpKGlM3HQjhn2Am0z4M2YXSsozXXEQlJ84Z8BJK9TrUdVRa_5yv_oITJGixuQA6rfv_mDdo63uciAFlAq.
[2]邓文洋,周洲仪,林思明,刘金刚.开放式环境下一种基于信任度的RBAC模型[J].计算机工程,2013,2(7):112-118.
[3]RENREN.RBAC综述[EB/OL].(2013-05)[2013-11-23].http://blog.renren.com/share/240440031/4397912351.
[4]BAIDU.Oracle事务控制、数据并发性和一致性[EB/OL].(2012-10)[2013-11-23].http://wenku.baidu.com/link?url=-DmZR-dHHJxdBooo-rXzVH6iBL7UmbiOEg33CVSVk0wPQCe1rzydKgVHIpKOJJ3qpRZ5zu8gVcS323AOEtH-VhfvnMIPIv2sAcxEF2m9QY7.
作者简介:何镓(1989.03-),男,福建三明人,本科,助理工程师,研究方向:网络信息安全。
作者单位:中国华艺广播公司华广网,福州 350003