- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
共享信息机制及应用方法概要
MTS中共享属性管理器(SPM)在分布式计算环境中解决并发问题时所起的作用,并以一个实例详细说明了SPM的使用方法。1概述在分布式应;用中,编写能在并发环境中正确工作的应用程序是一项件较困难的工作。微软的事务服务器(MTS,MicrosoftTransactionS;erver)在这方面给用户提供了一个很好的解决方案,使开发人员能将精力集中在编写自定义的商业逻辑上,将其它问题交给系统解决。在并发环;境下,用户不能简单地使用全局变量来保存共享信息。这是因为并发以及命名冲突等潜在的问题会造成所需的数据和实际获得的数据不一致。SPM通;过提供共享属性组(Shared PropertyGroups)为组中的所有共享属性建立独一无二的名称空间来消除名称的冲突;同时,SP;M应用锁和信号量机制保证共享数据在并发情况下提供用户正确的结果,大大减轻了用户开发并发应用程序的复杂度。客户机上的应用程序,该程序调;用MTS对象提供的服务;客户端(Client)“则指任何调用其它MTS对象的MTS对象。说明了基础客户端和客户端的概念。基础客户端和;客户端当基础客户端调用对象1时,对象1再调用对象2.此时,对象1调用了其它MTS对象提供的服务,因此对象1就是一个客户端。存储在SP;M中的共享属性只能被那些在同一进程中运行的对象所访问。因此,应从客户端(即MTS组件)来使用SPM,而不要从基础客户端去使用它。如果;共享属性是由一个基础客户端创建的,那么它们将被安置在基础客户机的进程中,这可能不是我们所期望的。2应用方法SPM的对象模型如所示。为;了防止在不同组件创建的属性之间发生命名冲突,SPM定义了“共享属性组”的概念。一个“共享属性组”为一组共享的属性建立一个名称空间。每;个属性在该组内有一个名称、值和位置。名称或位置可以用来检索属性的值。可以通过“共享属性组管理器”来访问和创建共享属性组。SPM的对象;模型在创建一个组时,可以指定SPM怎样管理对组内属性进行并发访问。如果isolation mode(隔离模式)被设置成LockSet;Get,那么当一个属性值被读或写时,SPM就对该属性加锁。这种设置,可保证两个客户不能同时读或写相同的属性,但武汉科技大学学报(自然;科学版)它并不阻止客户并发地访问同一组里的不同属(隔离模式)被设置成LockMethod,那么在当前的方法调用期间,一个组中的所有属;性将被加锁,以保证该客户可以排他地使用这些属性。当组内属性之间有相互依赖关系时,或者当一个客户需要保证一个读/写操作不被中断时,这种;加锁功能就很有用处。在创建组时,也可以指定组内的属性何时被销毁。如果release mode(释放模式)被设置成Standard,那;么当所有客户刚一释放它们对该属性的引用,该属性就被销毁。如果release mode(释放模式)被设置成Process,那么直到进程;终止时,这些属性才被销毁。在默认情况下,经过三分钟没有活动,MTS将会关闭一个进程。如果正在使用SPM,可能想为服务器程序包增加超时;时限,以减少必须重新对SPM进行初始化的次数。为了使用SPM,必须先创建“共享属性组管理器”的一个实例。在VisualBasic中,;可以通过设置一个对Shared PropertyManagerTypeLibrary(共享属性管理器类型库),即MTXSPM.DLL;的引甩并且创建一个新的SharedPiopei-tyGroupManager对象来完成这项工作。如下面的程序代码所示:一旦创建了组管;理器的实例,就可以调用它的CreatePropertyGroup方法,以便用一个给定的名称创建一个新的共享属性组。创建组后,使用Cr;eateProperty方法来创建共享属性;或通过在该组中的位置,利用CreatePropertyByPosition方法来创建共享;属性。如果这一共享属性已存在,那么这两种方法都将返回一个对已存在的共享属性的引用,然后可以利用其Value属性来获取或设置数据的值。;Value是一个VARIANT属性,可以把任何标准的Automation类型存储到共享属性中。3应用实例下面用一个实例来说明SPM的;使用方法。实例代码是用Visual Basic编写的,后台数据库采笔者为本单位开发“合同管理”项目时,曾编写过一个组件bus- Ta;keANumber,用来管理厂家编号和分类编号。示出与该组件相关的三个r糸产,笑名称van.lvu(仙分类知号i|U与例子有关的三个;数据库表由于要求厂家编号与分类编号按部门进行维护,即当每个部门添加厂家信息或产品类别信息时,该组件将产生一个长整形数字作为厂家编号或;分类编号(该编号是在原表中的最大编号上加一形成的)又因为各部门可能同时有几个人在输入数据,为了避免并发问题形成重复
您可能关注的文档
最近下载
- (高清版)DB15∕T 3765—2024 草地碳汇监测与核算技术规程.pdf VIP
- 施工员(市政)模拟考试题(附答案).doc VIP
- 化疗后骨髓抑制护理课件.pptx VIP
- 饲料企业从业人员法规考核试题300道带答案与解析!绝对验证过的!.pdf VIP
- 挫折与心理防御.ppt VIP
- 《离子反应第一课时》说课稿全国高中化学说课一等奖.docx VIP
- 市政工程毕业论文12篇.doc VIP
- 消防控制室值班人员培训PPT课件 消防控制室工作人员培训 消防控制室操作员培训材料.pptx VIP
- 教育科学研究方法课题研究报告.pptx VIP
- 教育科学研究规划课题研究报告.pptx VIP
文档评论(0)