企业信息化建设中软件并发控制技术应用浅析

来源 :科技与企业 | 被引量 : 0次 | 上传用户:laohu_you
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】对于那些仅仅允许用户查看数据,或者仅有一个用户可以修改数据的web应用软件,不存在多用户并发冲突的问题。然而对于那些允许多个用户修改或删除数据的web应用软件,则有可能发生一个用户所做的更改与另一个并发用户的更改冲突。在没有任何并发策略的地方,当两个用户同时编辑某一条记录,最后提交的用户的更改将覆盖先提交的用户所作的更改。当设计这样的程序时,选择适当的并发控制技术非常重要。本文介绍了三种并发控制策略:最后更新生效、开放式并发、保守式并发,分析各种控制策略优缺点,以寻求适合企业信息化建设的解决方案。
  【关键词】并发控制;最后更新生效;开放式并发;保守式并发
  
  1、引言
  企业信息化建设最主要就是与数据库打交道,对数据库进行插、删、改、查等操作,难免会发生一个用户所做的更改与另一个并发用户的更改冲突,例如:在没有任何并发策略的地方,当两个用户同时编辑某一条记录,最后提交的用户的更改将覆盖先提交的用户所作的更改;当两个用户同时访问一个页面,一个用户可能更新的事另一个用户已经删除的记录;在一个用户加载页面跟他点击删除按钮之间的时间里,另一个用户修改了这条记录的内容等,当设计这样的程序时,选择适当的并发控制技术非常重要。
  本文介绍了三种并发控制策略:最后更新生效、开放式并发、保守式并发,分析各种控制策略优缺点,以寻求并详细介绍适合企业开发信息化建设的解决方案。
  2、并发控制策略
  2.1 最后更新生效
  最后更新生效是开发默认行为,即如果并发用户修改的是同一条记录,让最后提交的结果生效。最后更新生效虽然在开发时不用进行并发控制策略的设置,但在运行时,会使用户混淆数据。此种方式适合单位范围内用户与角色一一对应的系统,例如方案设计、设备参数采集、生产数据采集等。
  2.2 开放式并发
  开放式并发,数据在更新之前都是可以被其他用户使用的,只有在更新的时候,才锁定记录。更新的时候,对比与查询之初的数据是否吻合,如果不一致,则不运行修改。此种控制方式也可以完全保证数据的完整性,其优点是不会占用其他用户访问该数据的权限,缺点是由于其他用户可能已经更新了这些数据,导致本次更新可能不会完成。开放式并发多以开发人员通过程序本身的业务逻辑来实现。
  2.3 保守式并发
  保守式并发,数据从数据库取出之后,一直处于锁定的状态,其他用户不能获取该数据,直至数据更新完毕,用户才能取出该数据进行操作。此控制方式对于性能和资源占用得很多,由于只能同时有一个用户对数据享用操作权,所以可能会在正常业务中,影响其他用户的处理进程。但此控制方式可以完全保证数据的完整性。该方式可以通过.NET提供的事務机制来实现,前提是数据源需要支持事务。保守式并发主要用于对数据存在激烈争用,或用锁保护数据的成本小于在发生并发冲突时回滚事务的成本,例如订票网站。
  3、企业开发信息化建设中并发控制策略选择及实现
  开放式并发不需要锁定任何记录,会提高性能,因为锁定记录需要附加的服务器资源,也不会为了维护记录锁而与数据库服务器保持持久连接,所以可以在较少的时间内为大量的客户端提供服务。因此在企业开发信息化建设中多采用开放式并发来实现并发控制。
  目前,企业信息化建设中用户的权限是通过角色来控制的,单位范围内用户的角色与岗位是一一对应的,所以,一般情况下不需要采用并发控制,就可以保证数据完整性。但是,也会存在特殊情况,例如,用户在采集数据后,审核人员的审核和采集人员的修改就会产生并发情况,这时候就需要采取措施来控制,一种是通过业务逻辑来实现,例如在数据采集后,如果不提交数据,审核人员不能进行审核,这时采集人员可以进行修改、删除等操作,只有在提交后,审核人员才可以进行审核,这时采集人员就不可以进行其它操作了;另一种是通过开发工具来辅助实现并发控制的。
  下面通过.NET的数据库控件为例,介绍开放式并发策略的实现。在开放式并发模型中,如果当某用户接收到来自数据库的值后,另一用户在该用户试图修改该值之前即将其修改,则认为发生了冲突。
  3.1 创建一个支持开放式并发的数据访问层
  与数据打交道时,把数据访问逻辑从表现层分离开来。这个分开的层被称作是数据访问层,简写为DAL,一般是通过一个单独的类库项目来实现的。
  3.2 创建一个支持启用了开放式并发的DAL的业务逻辑层
  业务逻辑层(BLL)是在数据访问层和表现层之间进行数据交换的桥梁,在一个实际的应用程序中,BLL都是以类库的形式来实现的,每一个BLL类都对应DAL中的一个TableAdapter,它们都从各自的TableAdapter中得到读取、插入、修改以及删除等方法以应用合适的业务规则。然后,通过BLL类访问类型化数据集,给DataRow添加字段级验证,并给BLL类添加业务规则。
  3.3 从ASP.NET页面把原始值和新值传入BLL 方法
  完成了DAL和BLL后,剩下的工作就是创建一个能利用系统中内建的开放式并发逻辑的ASP.NET页面,这部分属于表现层,用户就是通过这个层与数据库打交道的。数据Web服务器控件必须记住它的原始值,并且ObjectDataSource必须同时传送这两套值到业务逻辑层。此外,ASP.NET页面必须加以配置从而适当地处理并发冲突。
  3.4 测试并添加提示信息并且在发生并发冲突时显示
  验证并发冲突是否能够被发现,我们需要打开两个浏览器窗口来访问这个页面,并在页面上进行更改操作,当点击第二个窗口中的更新按钮时导致了一个DBConcurrencyException异常,说明现在有了开发式并发设置。当一个并发冲突出现时,可以用Label控件来捕获异常信息。
  4、结束语
  并发冲突可能存在于所有允许多用户同时更新或删除数据的应用程序里。在企业开发信息化建设中,如果极少面对多个用户同时更新数据,或者不同的用户对数据作出不同的更改,那么并发控制并非必选项。然而,如果时常面对多个用户在线并且对同一些数据进行操作,并发控制可以帮助预防一个用户的更新或删除被另一个用户在不知情的情况下覆盖。
  .NET中的类型化数据集提供了支持开放式并发控制的功能。特别地,发送到数据库的UPDATE和DELETE语句包含了这个表的所有字段,从而确保了仅当该记录目前的值与用户开始他们的修改或更新时的原始值相匹配时,修改或删除才会发生。
  参考文献
  [1] Scott Mitchell,在ASP.NET 2.0中操作数据:实现开放式并发
其他文献
【摘 要】本文根据笔者的工作经验,通过对影响公路工程项目质量的设计、工程管理、工程施工、质量管理等因素的分析,就公路工程设计质量、材料质量、施工质量、质量检验体系等方面的质量控制和公路工程施工质量意识、工程质量管理体系、施工质量监督等方面的质量管理工作进行了阐述,提出了严格工程项目质量控制和管理的相关方法和手段,以确保公路工程项目质量达标。  【关键词】公路建设;工程管理;控制  1、影响公路工
在当前背景下,供电企业要想实现更好更快的发展,就要保证电力系统运行的稳定性与可靠性,同时也要为重要电力用户提供优质的安全用电服务。基于此,本文章主要针对重要电力用户
<正> 《清清的溪水》是人教版小学语文第三册中的课文,是一篇既有时代感,又有教育意义的童话故事。文中讲述了野猪和大象在清清的溪水边拔树比力气,结果使溪水变浑了,通过小
【摘 要】小秦岭深部探矿因成为金渠金矿发展的重中之重,鉴于此提出其见解对企业以后生存、发展有一定指导意义。  【关键词】小秦岭;深部探矿与开发;利弊    小秦岭金矿带是我国主要产金地区之一,其位于河南省和陕西省交界。上个世纪七十年代至今通过地质勘查共发现了:秦岭、文峪、金渠沟、崤山、上宫等金矿床(点)近200个。金渠金矿区位于河南省灵宝市境内,在小秦岭金矿带中部,分水岭北侧,地势南高北低。矿区
随着国家治理现代化的不断发展,创新基层社会治理已经成为发展的重点。通过落实“四社联动”社区治理模式,在探索发展方法的基础上做好创新,发挥“四社联动”优势,转变基层政
近日,我国首个国家煤层气高技术产业化示范工程-沁南煤层气开发利用高技术产业化示范工程(以下简称“沁南示范工程”)项目通过竣工验收。
【摘 要】论述了农机监理在农村经济发展中的地位和作用,指出了当前农机监理工作存在的主要问题,提出了做好新形势下农机安全监理工作的对策。  【关键词】农机安全监理;作用;存在问题;对策    目前,我国农业和农村发展已进入一个面向市场、优化结构、提高质量、注重效益,向生产广度和深度进军的新阶段。在中央扶持发展农业惠农政策的激励引导下,农村经济快速发展,农业收入不断增加,农民自主购买农业机械的热情高
让干煤粉在高温高压的气化炉内“洗桑拿”.经净化处理后,大部分洁净煤气供燃气轮机燃煤发电.余热推动蒸汽轮机发电。剩余的一小部分洁净煤气还能“投身”化工厂原料的生产。这种
【摘要】随着市场经济的发展,造价控制在项目工程管理中的地位越来越重要。项目工程管理涉及内容极其庞大,而造价控制在其中尤为重要。造价控制包括前期预算、施工阶段实际支出、后期维护费用等控制,可以说造价控制是项目工程管理成功与否的决定因素之一。本文对造价控制在項目工程管理中的应用进行研究,深入探讨项目工程管理造价控制的常见问题,并找到解决的策略。  【关键词】造价控制;项目工程管理;前期预算;施工阶段 
重金属对土壤的污染越来越严重,重金属超积累植物对污染土壤具有很强的修复作用,研究重金属超积累植物越来越受到人们的重视。介绍了重金属超积累植物的研究现状和其在环境修复