用于隔离包含有废弃数值的存储器地址的方法技术

技术编号:2888797 阅读:180 留言:0更新日期:2012-04-11 18:40
本发明专利技术使得可以在电子计算机的共享存储器中将包含有一个变量的废弃值的存储器的位置隔离出来。此位置在第一次业务的范围内对于一次访问由指针予以参照定位。一个名为“保持”的锁定被对此位置设置,并被分配给唯一一次操作任务。此“保持”禁止所有其他操作任务对此位置进行访问。按照本发明专利技术不释放包含废弃值的位置,而是对于除拥有第一指针的以外的其他业务进行隔离。这使拥有第一指针的操作任务可以继续访问此废弃值。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种。此方法可适用于所有实时的或星载的应用。它使用管理一种所谓业务式的共享存储器的数据管理器,并可由指针访问数据。一种这样的存储器是其中能同时执行多个程序的电子计算机的中央存储器。每个程序一般由多个单独任务组成。这些任务可以竞相访问数据以对其进行阅读和修改。存储器由固定大小的单元组成。这些单元在下面将被称为存储器的位置。在电子计算机中,人们选中这种中央存储器,它们尽管容量有限但其中的所有位置都可直接访问因而速度很快。而大容量存储器通常由一个硬盘构成,其容量要大得多,但访问则慢得多,因为要选好一个磁道然后等侯一个磁道上被寻找的位置来到阅读的开头。通常,计算机的操作系统只向中央存储器中写入在给定时刻实际必需的数据,而写入是借助于一个特别指定的快速的小存储器实现的。后者叫做缓存存储器。它通过一种提前机制使对硬盘的访问显然加快。这种机制利用了数据通常是通过操作按顺序被使用的这一事实。通常的数据管理器因注意到数据是经由隐含存储器通过这一事实而得以优化。半导体存储器技术的进步允许现在能实现一种其容量足以存入计算机中执行的所有程序分配来的全部数据、同样能对付操作大量数据的应用的中央存储器。那时,硬盘只有保护数据的作用,保存一个中央存储器上的数据的整理好的复制件。对于不按顺序使用数据的操作,将全部数据存放到中央存储器上是特别有好处的。一个隐含存储器对这些应用只带来很少的好处。特别象控制远程通讯交换机的应用便是这种情况。一般都知道用于面向对象数据库的数据管理器和用于关系数据库的数据管理器。对一个数据有两种访问读访问或写访问。对于每种访问,一般都知道有两种在数据管理器和一项基本操作任务之间转移信息的方式一种是数值的传送方式和一种由指针转移的方式。对一个变量的值的读访问(相应的为写访问)时,数值转移方式是将变量的一个值读(相应地为写)入到包含有该变量的当前值的存储器位置中;而指针转移方式是向请求进行阅读(相应为写入)的操作任务提供一个叫做指针的、指示出待读出值位置所在的存储器位置(相应地为将写入一个值的位置)的地址,这时操作任务可以以后在能支配此指针的所有时间内自由地读(相应为写)入此地址中。在指针方式中,当一个操作任务访问一个变量,对于此操作任务来说,都知道将一个名为“保持”的锁定赋予包含此变量的当前值的存储位置。这“保持”阻挡任何其他操作任务访问此位置,以保持每次操作任务看到的数据的稳定性。在包含有一个变量的值的存储器位置处有“保持”的操作任务同样可以随意常常访问此位置,直到该操作任务决定中断此“保持”为止。指针转移方式在目标定向数据管理器中是熟悉的。其优点是许可快速访问。它许可从程序编制语言出发将一个数据作为一个变量来操作。但是目标定向数据管理器有如下不利处或者不能提供多操作任务业务(因而没有竞争),或者不能提供在一个目标水平上的锁定(每次竞争使得一页锁定并使此页完全复制到日志中。这样的粒度因而招致超额费用)。经数值转移的方式可以不需控制访问竞争而在应用的水平上使用。访问的竞争主要通过由数据库的数据管理器给出的对写或读的锁定来控制。在同一个请求中一个操作任务需要的、对多个变量进行的全部的读操作和/或写操作叫做业务。在一个业务中每个操作可以或者用数值转移方式、或者以指针转移方式来实现。整个业务可分成三个阶段-一个开始阶段,其时数据管理器向开始了该业务的操作任务给出唯一的一个业务的标识符。此标识符指示出包含有该业务的说明符的存储器位置;-一个访问阶段,其时读操作或写操作由开始了该业务的操作任务所执行,但仍为此业务以外的其他用户所不能看见;且其时被指称为读锁定和写锁定的权利对于有关的存储器位置被赋予此业务。按照已知的访问方法中的一种,当一个业务实现一次写访问时,它将该变量的新值临时写入被称作日志并被分配给此业务用于此变量的存储器位置中。此日志只有此业务才可进入。-一个关闭或叫有效化阶段,其时读和写均为有效。按照以上提及的已知的方法,(包含在划归此业务的日志中的)新数值被写入分别包含着这些当前值的位置中,且变得对于所有各个操作任务均可看见。要读的值可被有效读出。赋予此业务的日志、锁定、和“保持”均被释放。然而一次业务可能会失败。或者由于申请了打开此业务的操作任务的需要,或者由于和另一个业务相冲突、或者由于构成此业务的申请前后不一致。可以将一次锁定赋予包含有作为一次业务的目标的一个变量的当前值或新值,以制止危害数据的稳定性的其他操作。锁定可以被赋予整个的一个数据表。一些业务的程式许可实现一次业务,同时能保证称为缩略语ACID的四个性能-不可分性(一次业务要求的全部访问都被处理或者一个也没有处理);-稳定性(所有数据从一个稳定态过到另一个稳定态);-隔离(变量的新数值在该业务被关闭掉之前在业务之外看不见);-持久(在一次业务被确认后,变量的新值能承受其存放地的故障,所说的值被保护在一个盘上或其他处于运行状态的地方);-串行化(如果有多个业务并行展开,其结果和它们接连展开时相同)。法国专利申请FR2727222叙述了一个这样的业务程式。已知的数据管理器能保证ACID性能,但其缺点是不能提供允许进行较快访问的指针访问。因而不是完全令人满意的。在一个全部数据都存入一个半导体的中央存储器的一种系统的情况下,在一次业务中或在其外,实现指针访问是可能的。但使用指针,因而使用“保持”会产生不便当第一次业务失败,仍然可以给一个存储位置分配一个“保持”,即使此位置处包含的数值已被作废。此数值作废是因为此位置是包含一个变量的当前值、或此第一次业务许可赋予此变量的新数值的日志。此“保持”继续禁止对此位置进行访问,因而也继续禁止对此变量进行访问,因为此存储位置仍然被分配给此变量以分别存放其当前值或新值。此变量因而仍然不能受到访问,直至掌握着此“保持”的该应用决定释放它为止。此时,一次或多次其他的业务可能在等待访问此变量。这种无益的等待可以损坏系统的总体性能。本专利技术的目的是弥补这一缺陷。本专利技术的目标是在一台计算机的共享存储器中用于隔离一个包含有一个变量的废弃数值的存储器的位置的一种方法。此位置在第一次业务的范围内对于一次访问由指针予以参照定位。一个名为“保持”的锁定被加到该位置上并被分配给唯一的一个操作任务。此“保持”禁止任何其他操作任务对此位置进行访问;该方法的特征在于-如果此第一次业务是一次已失败的业务,而且--如果该废弃值是此变量的一个新值,方法在于在此变量的说明符中擦除该失败的业务的识别标记和此位置的地址,并将此地址写入所说的业务的说明符中,之后释放此“保持”;--如果该废弃值先前曾是所说的变量的当前值,方法在于在所说的变量的说明符中擦除该次失败业务的识别标记和此位置的地址,并将此地址写入所说的业务的说明符中,之后释放分配给该指针的“保持”;然后分配一个空的存储位置给该当前值,将此当前值写入此位置中,并将此位置的地址写入此变量的说明符中;以及-如果此第一次业务是由于请求访问此变量以写入一个新值并使此次访问有效的第二次业务而失败的一次业务,并且如果该废弃值先前曾是该变量的当前值,方法在于在此变量的说明符中交换分别包含废弃的当前值(Vcou)和新值的位置的地址;以及在于向包含该废弃值的位置设置一个“保持”,以阻止修改本文档来自技高网...

【技术保护点】
在一台计算机的共享存储器中用于隔离一个包含有一个变量的废弃数值的存储器的位置(AD1)的一种方法。此位置在第一次业务(T1)的范围内对于一次访问由指针予以参照定位。一个名为“保持”的锁定(H=1)被加到该位置上并被分配给一次单一的操作任务。此“保持”禁止任何其他操作任务对此位置进行访问;该方法的特征在于:-如果此第一次业务(T1)是一次已失败的业务,而且:--如果该废弃值是此变量的一个新值(Vnou),本方法在于在此变量的说明符(V1)中擦除该次失败的业务的识别标记( T1)和此位置的地址(ADR1),并将此地址写入所说的业务的说明符(T1)中,之后释放此“保持”(Hvn=0);--如果该废弃值先前曾是所说的变量的当前值,本方法在于在所说的变量的说明符中擦除该次失败的业务的识别标记(T1)和此位置的地 址(ADR2),并将其写入所说的业务的说明符中,之后释放分配给该指针的“保持”(Hvc);然后分配一个自由的存储位置(ADR3)给该当前值,将此当前值(Vcou)写入此位置中,并将此位置的地址(ADR3)写入此变量的说明符(DV1)中;以及-如果此第一次业务(T1)是一次由于请求访问此变量以写入一个新值(Vnou)并使此次访问有效的第二次业务(T2)而失败的业务,并且如果该废弃值先前曾是该变量的当前值(Vcou),方法在于在此变量的说明符(DV1)中,交换分别包含废弃的当 前值(Vcou)和新值(Vnou)的位置的地址;以及在于向包含该废弃值(Vcou)的位置(ADR0)设置一个“保持”(Hvn=1),以阻止修改该废弃值;擦除该第二次业务的识别标记(T2);然后,如果有新值的话,释放为此新值(Vnou)而分配给指针的“保持”(Hvn=0)。...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:多米尼库贵德特福兰克朱尼博尼特鲍尔杜比斯泰恩
申请(专利权)人:阿尔卡塔尔公司
类型:发明
国别省市:FR[法国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1