Department of International trade 山东名牌 高新技术企业

山东龙辉起重机械有限公司

专注于专业起重机械制造商和服务商

办公电话:0538-8592358【值班时间 早8:00-17:30】

免费电话:400-8760-789【值班时间 早8:00-17:30】

业务经理:138538 95994【值班时间 早8:00-21:00】


国标系列

门式起重机

桥式起重机

防爆起重机

冶金起重机

梁式起重机

抓斗起重机

洁净起重机

简易轻小型起重机

悬臂起重机

KBK柔性轨道起重机

特种定制起重机

起升机升降机

门座/岸桥起重机

手动起重机

无齿轮起重机

欧式系列

环链电动葫芦

欧锐德欧式门式起重机

欧锐德欧式桥式起重机

欧锐德钢丝绳电动葫芦

欧式起重机配件/部件

韩式起重机【OEM】

科尼速卫SWF-战略合作

德国德马格DEMAG

西班牙GH起重机

科尼摩睿电动葫芦

华德电动葫芦-战略合作

诺威电动葫芦-战略合作

相关产品

工业机器人自动化

机械装备制造

电气自动化

钢结构加工制造

附件及部件

起重机制动器

环链电动葫芦

钢丝绳电动葫芦/起升小车

起重机吊具

起重机电控系统

起重机机械部件

无线遥控器/手柄/手操电门

起重机专利电缆

设计服务

起重机研发设计

起重机安装服务

起重机维修改造

电梯安装改造维修

钢结构安装维护

新闻资讯

欧式起重机

抓斗起重机

国标起重机

门式起重机

桥式起重机

防爆起重机

冶金起重机

山东起重机

质检单位新闻

起重机法律法规

起重机械设备

关于龙辉

专题项目

安全/消防/环保

投标中标项目

宣传资料

人员备案

企业简介

财务信息

资质文件

工装设备

新闻公告

业绩案例

人力资源招聘

联系方式

招标采购

龙辉工业互联网平台

共享信息机制及应用方法

2016-1-1 10:14| 发布者: weiping123| 查看: 142| 评论: 0

                                                  

  MTS中共享属性管理器(SPM)在分布式计算环境中解决并发问题时所起的作用,并以一个实例详细说明了SPM的使用方法。

  1概述在分布式应用中,编写能在并发环境中正确工作的应用程序是一项件较困难的工作。微软的事务服务器(MTSMicrosoftTransactionServer)在这方面给用户提供了一个很好的解决方案,使开发人员能将精力集中在编写自定义的商业逻辑上,将其它问题交给系统解决。

  在并发环境下,用户不能简单地使用全局变量来保存共享信息。这是因为并发以及命名冲突等潜在的问题会造成所需的数据和实际获得的数据不一致。SPM通过提供共享属性组(Shared PropertyGroups)为组中的所有共享属性建立独一无二的名称空间来消除名称的冲突;同时,SPM应用锁和信号量机制保证共享数据在并发情况下提供用户正确的结果,大大减轻了用户开发并发应用程序的复杂度。

  客户机上的应用程序,该程序调用MTS对象提供的服务;客户端(Client则指任何调用其它MTS对象的MTS对象。说明了基础客户端和客户端的概念。

  基础客户端和客户端当基础客户端调用对象1时,对象1再调用对象2.此时,对象1调用了其它MTS对象提供的服务,因此对象1就是一个客户端。

  存储在SPM中的共享属性只能被那些在同一进程中运行的对象所访问。因此,应从客户端(即MTS组件)来使用SPM,而不要从基础客户端去使用它。如果共享属性是由一个基础客户端创建的,那么它们将被安置在基础客户机的进程中,这可能不是我们所期望的。

  2应用方法SPM的对象模型如所示。为了防止在不同组件创建的属性之间发生命名冲突,SPM定义了共享属性组的概念。一个共享属性组为一组共享的属性建立一个名称空间。每个属性在该组内有一个名称、值和位置。名称或位置可以用来检索属性的值。可以通过共享属性组管理器来访问和创建共享属性组。

  SPM的对象模型在创建一个组时,可以指定SPM怎样管理对组内属性进行并发访问。如果isolation mode(隔离模式)被设置成LockSetGet,那么当一个属性值被读或写时,SPM就对该属性加锁。这种设置,可保证两个客户不能同时读或写相同的属性,但武汉科技大学学报(自然科学版)它并不阻止客户并发地访问同一组里的不同属(隔离模式)被设置成LockMethod,那么在当前的方法调用期间,一个组中的所有属性将被加锁,以保证该客户可以排他地使用这些属性。当组内属性之间有相互依赖关系时,或者当一个客户需要保证一个读/写操作不被中断时,这种加锁功能就很有用处。

  在创建组时,也可以指定组内的属性何时被销毁。如果release mode(释放模式)被设置成Standard,那么当所有客户刚一释放它们对该属性的引用,该属性就被销毁。如果release mode(释放模式)被设置成Process,那么直到进程终止时,这些属性才被销毁。在默认情况下,经过三分钟没有活动,MTS将会关闭一个进程。如果正在使用SPM,可能想为服务器程序包增加超时时限,以减少必须重新对SPM进行初始化的次数。

  为了使用SPM,必须先创建共享属性组管理器的一个实例。在VisualBasic中,可以通过设置一个对Shared PropertyManagerTypeLibrary(共享属性管理器类型库),即MTXSPM.DLL的引甩并且创建一个新的SharedPiopei-tyGroupManager对象来完成这项工作。如下面的程序代码所示:一旦创建了组管理器的实例,就可以调用它的CreatePropertyGroup方法,以便用一个给定的名称创建一个新的共享属性组。创建组后,使用CreateProperty方法来创建共享属性;或通过在该组中的位置,利用CreatePropertyByPosition方法来创建共享属性。如果这一共享属性已存在,那么这两种方法都将返回一个对已存在的共享属性的引用,然后可以利用其Value属性来获取或设置数据的值。Value是一个VARIANT属性,可以把任何标准的Automation类型存储到共享属性中。

  3应用实例下面用一个实例来说明SPM的使用方法。

  实例代码是用Visual Basic编写的,后台数据库采笔者为本单位开发合同管理项目时,曾编写过一个组件bus- TakeANumber,用来管理厂家编号和分类编号。示出与该组件相关的三个r糸产,笑名称van.lvu(仙分类知号i|U与例子有关的三个数据库表由于要求厂家编号与分类编号按部门进行维护,即当每个部门添加厂家信息或产品类别信息时,该组件将产生一个长整形数字作为厂家编号或分类编号(该编号是在原表中的最大编号上加一形成的)又因为各部门可能同时有几个人在输入数据,为了避免并发问题形成重复的编号,故考虑使用SPM对编号进行维护。TakeANumber表主要是用来将共享信息暂存到数据库中,以便系统突然崩溃时或在服务器进程被MTS关闭前能将共享信息保存下来,从而在SPM再次启动时能获得最近使用过的信息。

  程序的设计思想为:为每个部门建立一个共享属性组,以部门编码作为名称空间;每个属性组中设两个属性,即厂家编号和分类编号。当需要某个编号时,便从共享属性值中读取该值,并将原属性值加一后存入该共享属性中,同时将该属性值存入数据库作为备份,以备不时之需。

  个组件请求获取的厂家编号或分类编号。程序代码如下:Manager‘创建共享属性组管理器的一定王晓亮,等:共享信息机制及应用方法一个实例创建共享属性的一个实例=NewADODB.Connectionconn.Open“FILEDSN=”fileDSN’通过DSN文件建立数据库连接如果bResulttrue说明该共享属性组已存在;否则为一个新建的属性组,这时从数据库中读取备份的数据作为共享属性If回该属性值将原属性值加一作为下一个返回值备份该属性值(存储到数据库中)作为不时之需错误处理在上面的方法中,属性组的隔离模式使用了LockMethod,释放模式米用Process(进程级)。

  GetANumber来获取产品分类编号(这里以获取分类编号为例,厂家编号的获取方法与之相似)。其中,变量U-nitCode为部门编码,ProdSort为产品类别编号,SortName为产品类别名称。Add方法完成的任务是将新的产品类别名称及分类编号存入表产品类别中。程序代码如下:ProdSort=EmptyThen‘UnitCode强制转换为字符串,并建立一个以该字符串为名称空间的属性组;Into产品类别武汉科技大学学报(自然科学版)在这个组件中,创建了bus―TakeANumber的一个实例,用来产生一个与部门相关的独一无二的产品分类编号。

  现在,可以在客户端应用程序中调用上面两个组件来完成所需的功能。以下为一个客户端应用程序片断,它调用了组件bus-PiodSortWrite中的方法Add将部门编码为104、产品类别为起重机这一类别信息写入数据库:4结束语本文主要讨论了MTS的共享信息机制SPM在处理并发问题上的应用。实际上,MTSSPM的作用不只局限在解决分布式应用中的并发问题,只要是不同组件之间需要共享信息,都可以采用SPM方法,至于具体功能的实现,可参阅有关资料。

 

2016-1-1 10:14| 发布者: weiping123| 查看: 142| 评论: 0

以诚待人,厚德载物。


免费电话:400-8760-789【周一至周日 早8:00 至 晚21:00 夜间自动转移至客服经理】

咨询电话:0538-8592358【周一至周日 早8:00 至 晚6:00 】办公电话:0538-7446558【周一至周日 早9:00 至 晚5:30 】

值班经理:171 81677299【周一至周日 早9:00 至 晚21:00】售后服务:139 05487382【周一至周日 早8:00 至 晚5:30 】

咨询电话:0538-6329998【周一至周日 早8:00 至 晚5:30 】外贸咨询:0538-6329997【周一至周日 早8:00 至 晚5:30 】

特种设备,安全第一,珍爱生命,请选正品众人起重机。

打假专线:13905487382
  微信图片_20190501081441.jpg  1512011989257378.jpg   222217.gif

龙辉论坛 | 企业招聘 | | | Archiver | 手机版 | | | | 友情链接

QQ| 山东龙辉起重机械有限公司 鲁ICP备08013071号-27 鲁公网安备 37098202000026号 编辑

返回顶部