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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
企业信息化建设中软件并发控制技术的应用浅析

企业信息化建设中软件并发控制技术的应用浅析   【摘 要】对于那些仅仅允许用户查看数据,或者仅有一个用户可以修改数据的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类访问类型化数据集,给Dat

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档