一致的消息传输的方法

著录项
  • CN95116273.X
  • 19950908
  • CN1122543
  • 19960515
  • ABB.专利有限公司
  • E·迪;H·D·科斯;W·迪特勒
  • H04L29/02
  • H04L29/02 H04L12/24

  • 联邦德国曼海姆
  • 德国,DE
  • 19940909 DE19944432075;19950519 DE19951018357
  • 中国专利代理(香港)有限公司
  • 杜有文;马铁良
摘要
本发明与在分布式系统中用令牌传递的消息传输方法有关。为了得到一致的消息传输使用一个特殊的令牌过程,发生差错时执行一个从连续的顺序号产生的逻辑恢复,而不对数据一致性有不良影响。这一方面可以用不同的版本实现,就是说用以环的形式的用户数据的信息传递,或者用物理复播的用户数据的传输,以及以环的形式传递相关的检查信息。
权利要求

1.一种在分布式系统中的用户之间符合生产者/消费者原 理的、带有令牌传递和对故障检测的时间监视的、用于一致性的 消息传输—即使在故障的情况下—的消息传送方法。

a)或者使用第一种方法版本,称为环—复播(R-MC),其中在 环上传递一个数据令牌,它包含用来发送消息(用户数据)的 信息,控制发送许可,使消息顺序序列化,以及用于用户互相 监视,

b)或者使用第二种方法版本,称为数据报—复播(D-MC),其 中在环上传递一个检查令牌,消息(用户数据)以数据报的物 理复播形式传输,在本版本情形下是这样的: b1)在访问控制的消息传送(D-MC/Z)的情况下

消息发送只发生在用户拥有检查令牌时,以及

检查令牌包含用来控制发送许可、交换确认和顺序信 息、以及用户互相监视的信息,以及, b2)在同时消息发送(D-MC/S)情况下

消息发送同时发生,不管在一个竞争访问过程后的检查 令牌的位置,以及

检查令牌包含用于交换确认和顺序信息、用于用户互相 监视的信息,以及

c)在所有方法版本中(R-MC,D-MC),使用了一个特殊令牌 过程,这是基于监视状态和存在于发送过程中的用户信息的 状态的一致性,通过它,在发生差错时,执行一个从连续的顺 序号得到的逻辑恢复—不对数据一致性带来不利影响。

2.根据权利要求1的方法,其中使用了基于LAN的标准化 通信协议,例如TCP/IP,UDP/IP,ISO/OSI。

3.根据权利要求1或2的方法,其中消息(用户数据)是逐块 发送的。

4.根据权利要求3的方法,其中如果使用了环—复播 (R-MC)方法,数据令牌包含消息。

5.根据权利要求3的方法,其中如果使用了数据报—复播方 法(D-MC/Z)或(D-MC/S),检查令牌包含第一首部,具有根据 LAN总线标准的信息;根据LAN协议标准的第二个首部;第三 首部,具有令牌信息和标识信息,还有发送消息块的确认信息和 顺序信息。

6.根据权利要求5的方法,其中每个消息块(数据报)包含第 一首部,具有根据LAN总线的信息;一个第二首部,根据一个 LAN协议标准;以及一个第三首部,具有标识信息和消息。

7.根据前述任一权利要求的方法,其中消息包含一个首部, 具有一个选择器用于消息选择和表明长度,后面跟着用户数据。

8.根据前述任一权利要求的方法,其中在发生错误或用户故 障时自动地把有故障的用户排除在外。

9.根据前述任一权利要求的方法,其中根据选择使用一个单 总线或双总线系统用于信息传输,在双总线系统中发生故障时自 动切换到冗余的总线系统而不造成对数据一致性的不良影响。

10.根据前述任一权利要求的方法,其中除了用令牌或数据 报的信息传输外,还传输附加的异步消息用于接纳新的环用户, 检查用户的功能和在故障之后继续网络操作。

11.根据前述任一权利要求的方法,其中为了在故障情况下 的逻辑恢复,对传输的每个状态使用一个唯一标识,该标识由每 个数据协议或令牌协议从所提供的序列号生成,并由每个用户在 进行发送操作时递增。

说明书

一致的消息传输的方法

本发明与一种消息传输的方法相关,更具体地说,与一种在 分布式系统中的用户之间带有令牌传递和对故障检测的时间监 视的用于一致性的消息传输的消息传送方法有关。

这样一个以令牌传递原理工作的方法已为人知:例如 H.-G.Ghring,F.-J.Kauffels所著的“Token-Ring: Grundlagen,Strategien,Perspektiven”[令牌环:原理,策略,概 念],DATACOM-Verlag Lipinski,1990,在第2、4章。

有一系列以所谓令牌传递原理工作的协议,称为令牌协议。 它们已经对多种LAN总线系统(LEEE 802.4/令牌总线,LEEE 802.5令牌环,ANSIX3T9.5/FDDI)作了标准化。这些方法是基于 一个令牌,即一种特殊的位模式,用于总线访问控制。该令牌在建 立在各自用户之间的一个逻辑或物理环上轮转。

但是这些协议不保证在有分散数据库组织的分布系统中在 发生差错或系统元件的故障时数据的一致性,就是说如果用了这 些方法,在故障之后或者故障造成的重配置之后,不能保证所有 的用户具有同样的传送消息的信息状态。但是数据一致性是这些 考虑的所有系统的核心要求(对照下面的文字中的叙述)。还有, 这些协议在传送短消息时证明效率很低(令牌环:每个消息必须 完成完整的一个令牌循环然后下一站才能发送;令牌总线:发送 和确认对每个消息和每个接收者都分开)。在这里考虑的系统中, 同一消息一般要发送到数个接收者(复播发送)。现存的令牌协议 只允许未证实的复播发送;证实的发送只在单发送时才可能(只 发送给一个接收者)而且需要一个独立的证实阶段。除了这些基 本问题,还有各自特定协议的弱点,例如发送消息地顺序的颠倒 或缺乏对总线冗余的支持。

这些已知的基于环的方法不能满足在工业监控控制系统的 应用的情况下产生的所有必需的要求。

已知的DE-C2-40 10 266的差错保护信息发送方法,例如 以太网/广播令牌总线(EN/BTB),同样不能充分满足这些要求。 发送以差错保护方式进行,但并不一致。因此在这一方法的情形 下,在发生故障/重配置时便有可能出现次序的颠倒和消息的重 复。所有信息以广播发送,但是使用了现代计算机技术造成了对 计算机的相当高的负担。EN/BTB需要可编程的(智能的)通信控 制器;但是现在计算机只配备非智能控制器。EN/BTB不支持使 用标准化的协议。

一个监控控制系统的典型结构,和对这样一个监控控制系统 或者对其中所用的传送方法的要求在下面参考图1中说明。

图1图示出一个监控控制系统的结构,它包含多个计算机成 员,例如辅助计算机(VR)用来处理耦合,主计算机(LR)用来处 理基本的监控功能,称为SCADA功能,操作员控制台计算机 (BR)用来处理可视化,以及其它计算机用来处理可选的二级功 能(SF)。这些计算机通过一个局域网(LAN)耦合,一般为以太网。 为增加整个系统的可用性,多台计算机执行一项重要功能(图中 VR和LR),而且LAN总线是一个冗余配置。各计算机工作在不 断更新的流程图上,在每种情况下局部处理(分散的数据库组 织)。事务数据作为消息发送。由于功能和数据库的分布性和冗余 性,分布式系统的数据流很复杂。

这样一个监控系统的基本要求是具有高可用性,短暂而有保 障的响应时间,和分布式数据库的一致性。

数据一致性是监控系统的正确操作的先决条件。在没有差错 的情况下它并不重要。但在系统发生故障/重配置时需要特定手 段以使消息交换平滑地接续。这造成了对分布式监控系统的通信 的很高要求;它们包括:

没有丢失、错误、重复或信息混淆(制导一致性)的消息 交换。这种情况下的混合关系到一个发送者的消息,所谓的FIFO 序列。

到多个接收者的消息必须传送到所有的接收者,或者一 个也传不到(原子原则)。

以各自相同的顺序发送消息到所有的接收者(消息的总 体顺序)。

避免原来信息和派生信息的取代作用(消息的偶然序 列)。

快速、确定的消息传输。

通过恒定的相互监控迅速地检测计算机和LAN总线的 故障。

在发生计算机的故障时,自动地从消息传送中排除同样 故障。

在发生LAN总线故障时,自动地转移到冗余的LAN。

系统通信带来的LAN和计算机的负载小。

在具有不同的硬件和软件的计算机之间的数据交换。

数据一致性包含上面提到的四个对消息传送的要求。由传输 差错或总线或接收者的故障造成了制导一致性的问题。原子性原 则受到信息源自身故障的不利影响。消息的混乱(总体和偶然序 列)发生在系统的运行性能不确定的情况,例如重配置或消息重 复的情况,作为故障或传输干扰的结果。

在分布式计算机系统中,尤其是在使用了UNIX操作系统 时,客户/服务器概念被用于数据交换。这一概念是为集中的数据 库组织和没有特别的实时要求的系统定做的,它不满足上述要 求。所需要的是生产者/消费者模式的通信。标准的TCP/IP, UDP-IP和ISO/OSI协议是为客户/服务器概念设计的,其特性 对这里描述的对象是不合适的。然而由于费用和不同类型的计算 机间的通信的原因,它们的使用是必需的。

这些协议的传统用法—实现分布式进程之间的通信链路,相 应于由该应用预先确定的结构(逻辑点对点连接)—有严重的缺 陷。这对于占优势的面向连接的TCP/IP协议尤其适用,或者对 ISO/OSI协议也差不多。可以列出下列理由:

当使用通常的非智能通信控制器时,单独的消息传输使 得传输变复杂(上下文改变和主机中的协议处理)。为减少计算机 和LAN的负载,一种具有结合时间/容量控制的集体消息传输是 必要的。

信息选择,即选择要发往接收者的消息,在标准协议情 况下发生在发送方。发送方为每个接收者保存一个更新表,这带 来了计算机的额外负担。

标准化协议只在受控模式下允许确认的传输。在这里考 虑的系统中,这造成了对打包和发送消息的乘法效应:在比较大 的监控系统中,每个消息被多次打包并通过总线发送。在具有冗 余配置的发送者的情形下,除了发送到接收者,每个连接都要用 备份计算机单独同步。

对通信连接的自动监视并未成为TCP规范的一部分, 结果在协议的每个版本都不提供。对监视周期的配置(缺省设置 为2h)对每个版本同样是不可能的。

对于通过发生差错(超时)时的连接中断实现的计算机 的相互监视,把定时器调整到实际时间对所有协议版本都是不可 能的。TCP/IP认定了在连接中断之前的最小时间延续为100秒; 设置更低的值不合乎标准。相互监视的唯一剩下的方案是在应用 层附加一个(冗余的)确认机制,并有相应的开销。

由于受控发送,系统连接的复杂性是巨大的。每个计算 机都耦合到其它每一个。在冗余LAN总线的情况下,连接通过两 条总线进行。例如:一个普通的监控系统,包括8个计算机和一个 冗余LAN总线,需要2×8×7=112条全双工连接和224条半双 工连接。

系统结构被编程并参数化到软件中(语义:“发消息到”, “从接收消息”)。实现是复杂的,特别是差错处理。

结构对软件的依赖带来了在发生错误时由于必要的生 产者/消费者原理造成的反作用。

标准化协议不允许在发生LAN总线故障时自动切换到 一个冗余总线。

故障/系统重配置造成协议缓冲区中的数据丢失。这需 要在应用层有附加的传输数据缓冲区。

数据一致性需要多阶段传输概念。这实现起来复杂(对 时间和消息的要求高)而且需要传输定时受控制。TCP的接收确 认对于实现2阶段概念不适用;一个在应用层的附加的确认机制 是必要的。

对于标准化协议的传统使用,消息的总体和偶然序列需 要复杂的手段,例如消息历史。

因此在传统用法中,标准的通信协议不能满足监控系统的要 求。

有鉴于此,本发明的一个目标是提供一个满足上述要求的一 致性的消息传输的新方法,同时允许应用标准化通信协议。

根据本发明的方法可以用三种基本版本实现,即环—复播 (R-MC)方法,作为第一版本,数据报—复播(D-MC)方法,称 为第二版本,根据其访问方法,它又可以以两种配置实现 (D-MC/Z,D-MC/S)。

方法的各版本—后面简称为方法—包含部分不同、部分相同 的特性,将在下面描述。

对于环—复播(R-MC)方法,在消息传输中使用一个令牌, 来控制发送访问以及计算机的相互监视(数据令牌)。

带有访问控制消息发送的数据报—复播方法(D—MC/Z), 使用一个令牌来控制发送访问,交换确认和顺序信息,以及互相 监视(控制令牌)。消息的发送自身也就是在拥有令牌时物理广播 或复播数据报。

具有同时消息发送的数据报复播方法(D—MC/S),使用一 个令牌来交换确认和顺序信息以及互相监视(检查令牌)。在物理 广播或复播数据报中消息发送同时发生,不考虑令牌的位置。

D-MC/Z和D-MC/S方法后面也称为数据报方法或面向 数据报的方法。确认、顺序和状态信息后面也合称为检查信息。

环—复播方法(R-MC)是一个逻辑复播概念。面向数据报 的方法既可以由物理的复播也可由广播实现。下面,复播和广播 不再有什么区别,而使用更为一般的术语复播(Multicast)。

下面描述这些方法的改进。

方法的各版本在基本结构上是相似的,而且一定程度上是等 价的:每个方法都能满足消息传送的所有要求而没有限制。另外, 每一个方法与其余方法比较都有特征属性。这些特性是来自实现 方法的结果,即来自于实际边界条件,在下面的描述中解释了这 些方法。本发明的方法不束缚于任何标准。一个有利的实现在标 准化LAN总线和通信协议的基础上是可行的。可以使用现有的 子功能,如标准化协议的CRC校验和或如果使用以太LAN (IEEE 802.3)的自动重复的冲突检测。标准化协议以针对问题的 方式使用。这使监控系统的要求得以满足,标准化协议的基本优 点得以利用,避免了有问题的方面。基于标准化协议的实现在下 面参考一个实施例来说明。

环—复播(R-MC)方法是纯环概念。令牌服务于消息发送, 控制总线访问,给消息排序,以及互相监视。令牌长度根据当前消 息的出现动态调整。令牌的发送可以没有确认地出现。因为每个 用户可以通过监视下一令牌的接收来保持对令牌的传递的检查 (在环中隐含了确认机制)。环—复播方法是为小型或中型监控系 统定做的。根据改进,消息也可以在令牌中一块一块地发送。

在面向数据报的方法的情况下(D-MC),消息可以用物理 复播来传输。根据有利的发展,消息被合并成块,作为数据报发 送。数据报发送自身是没有确认的。令牌用来传送控制信息,即所 传输的消息块的确认和顺序信息,以及用来互相监视。通过使用 检查令牌,实现了消息块的确认的传输;使用一个负确认机制,所 传输的消息块在传输时由发送者在令牌中做标记,其它用户检查 消息块的接收,若没收到,在令牌中放一个负确认信息。在此情况 下,发送者必须重新发送。

在访问控制方法情形下,传输许可也在令牌中传递。在同时 发送方法的情形下(D-MC/S),所有站点在任务时刻都许可发 送,不管检查令牌的当前位置。

数据报方法是设计用于数据流量相当大的大型监控系统。物 理复播使得传输量和总线负载比起环复播概念(R-MC)为少。 令牌只包含检查信息,即长度和环绕时间减少。还有,在这里考虑 的系统中通信负载很不对称。所有的处理数据通过主计算机传 递,并从后者传到其它计算机。面向数据报的方法适应于这些负 载条件。只有那些有发送数据的用户才执行一个复播的发送。在 数据大量出现的情形下,在一个令牌传递的一次循环中传输多个 数据报在同时发送的方法(D-MC/S)中是可能的。

所有三种选择都在分布式系统中发生差错时保证数据一致 性。这一特性依赖于令牌位置与系统中消息发送状态的巧合。在 环—复播方法的情形下,消息发送状态直接由令牌反映。在面向 数据报的方法的情形下,发送状态由保存在令牌中的发送消息 (块)的检查信息重新产生:发送的消息块及其标识由发送者在得 到令牌时输入到令牌中,在令牌被得到之前不会由接收者通过这 个标识来释放,即,即使在这种方法的情况下,令牌也反映发送的 当前状态。

加入令牌的有一个连续的序列号,每个发送者把它递增。令 牌用于差错检验和定位。基于令牌位置和发送状态的一致性,在 发生差错时个别用户的当前发送状态也可由确定上一个可用的 令牌位置来精确地重建。这允许传输在保持制导一致性的同时平 滑地接续。由于用户数据和检查数据以环的形式发送,原子原则 根本上得以满足,即在任何情况下只发给一个接收者。由于令牌 在发送消息(R-MC)和发送数据块(D-MC)的串行化作用,消 息发送以先入先出,总体和偶然顺序方式进行。

故障用户被自动排除,消息传递在应用层进行,即使在发生 差错时也没有不良作用。进一步发展,还可能在系统发生故障时 提供总线自动切换,同时保证数据一致性。对容错措施的改进参 考一个实施例来说明。

通过使用令牌协议,这些方法具有稳定而可预见的运行性 能,这也适用于D-MC/S方法,虽然它受冲突的影响。每个令牌 传递轮次的发送操作的数目在这一方法中受限,例如,如果在以 太网上执行,达到20%的最大负载。结果,避免了由冲突造成的显 著延迟。

根据本发明的方法允许确认的复播传输。这一点,以及对一 种结合方法的使用使得LAN和计算机的负载协议复杂性和实现 的高要求的明显的降低。这种结合的方法用于相互监视,消息、确 认和序号信息交换,以及消息的分块传送。

根据本发明的三种方法在下面参考实施例作详细解说。

实施例为一个分布式计算机系统中的通信系统。系统基于标 准化的UDP/IP协议。UDP/IP操作时不需连接。它允许在单播、 复播和广播中发送不确认的数据报。使用以太LAN(IEEE 802.3)作为总线系统。用作基础的标准化硬件和软件包含对数据 错误的自动防护(CRC校验和),还用于处理冲突。当检测出冲突 时,就自动重发帧。由于这些原因,由错误数据造成的冲突和误差 以后不再考虑。

根据数据出现的多少,所交换的信息单元长度不同(在10到 30K字节的范围内)。大的信息单元被下层网络和协议层分段,即 分成小单元来传输。每一段都补充以协议特有的信息。为产生一 个统一的独立于信息单元的长度和支撑网络和协议层的传输机 制,以及为了处理较大信息单元的片段的丢失,该较佳实施例实 现了一个面向块的传输机制。所交换的信息项作为连续的块来发 送,块发送自动进行。在发生传输差错或块片段的丢失时,便完全 抛弃一个信息块。

下面的描述分别针对环—复播和数据报方法。后者结构相 似,一并解释;在适用时指出不同。

参考下面的详细描述并与所附的图一同考虑,便更加明白, 并获得对本发明及其带来的好处的更完全的肯定,其中

图1显示一个监控系统的结构

图2A-2F显示在环—复播(R-MC)方法中的发送序列,

图3R-MC中的数据令牌结构,

图4A-4F显示了在具有访问控制发送的面向数据报的方 法(D-MC/Z)中的一个发送序列,

图5A-5F显示了在具有同时发送的面向数据报的方法 (D-MC/S)中的一个发送序列,

图6显示了在D-MC中的一个检查令牌结构,

图7显示了在D-MC中的一个消息块结构。

对实施例的解释在每种情况下都分成对时间序列的描述,对 协议特性的解释和对于所交换的信息单元的描述。基本描述是对 于一个包含三个用户(T1-T3)的一个分布式系统。时间序列用几 个阶段(A-F)来表示。 环—复播(R-MC)

图2A-2F显示了环—复播(R-MC)方法的无差错传输的 时间序列。假定初始状态为一个空数据令牌T的循环(图2A)。用 户T1有消息N1要发;在得到令牌时,他把它们放入令牌并把令 牌T传给下一个:T2(图2B)。下一个T2有消息N2准备发送。在 得到令牌T时,他把令牌的内容复制到一个局部接收缓冲区,把 自己的传输数据N2加到令牌末尾并继续传递令牌(图2C)。在令 牌传递之后,从令牌的本地拷贝中选出应用的消息(本例中是用 户T1的消息N1)。对用户T3,其过程与T2的类似(图2D)。在令 牌T传过一圈后,用户T1从令牌中删除自己的消息N1,把令牌 内容复制到本地缓冲区中,把新消息N1′加到令牌末尾,把令牌 传给用户T2,选择其它用户的消息(图2E)。用户T2处理令牌T 类似于用户T1;在本例中他没有消息要发。

在拥有令牌时,每个用户都可以在令牌中加入任意数目和长 度的消息(可变令牌长度)。 方法的共同特性(所有三个概念)

参考环—复播概念,可以解释这一方法的若干共同属性;它 们也适用于下面解释的数据报概念:

任何用户都可以发起建立一个环。

站点必须初始时集成到环里,以便参与消息交换。对于 (环中)前继站来说,新加入的站点登记是必要的。

对所有信息单元的传输都是面向块进行。

令牌以相同频率发给所有用户,即没有用户具有较高优 先级。

用于分析后继者和LAN总线的状态的信息与令牌异步 发送。

加入新用户的信息与令牌异步发送。

每个站点监视其后继者;故障站点被其前者排除在外。 重新配置的发生不对数据一致性带来不利影响。

在发生总线故障时,自动切换到冗余总线。重新配置的 发生不对数据一致性带来不利影响。 协议特性:R-MC

比较“方法的共同特性”。

用户数据在系统中以环的形式传递(数据令牌的有向传 输)。

数据令牌长度可变。

得到令牌时,每个用户在令牌中加入自己的消息。

系统中没有选择站点;在重配置阶段,具有最近可用的 数据令牌的站点暂时成为环主。

在正常操作中无数据传递冲突。

接收数据被选择,并在令牌传下去后释放。 交换的信息单元

除了已经解释的数据令牌之外,还使用了别的信息单元,用 于差错处理和接纳新用户,后面详述。信息单元列在下面: 数据令牌

包含要发送的数据,根据环中的各个用户排序。 链路检查请求

由一个环用户请求其后继者,以监视用户和总线。 链路检查确认

响应一个环用户的链路检查请求。 初始化令牌

包含系统状态信息和发送者序列号。发送者通知其后继者本 地系统状态信息,同时申请成为环主。 配置令牌

包含系统状态信息和环主的序列号。环主通知环上其它用户 一次环配置改变(在接纳一个新用户或故障之后)。 进入请求

一个用户想要初始化环或接纳为一个环用户。由想要加入的 用户发送信息给所期望的前继者。 脱离令牌

一个用户通知其它人它想要离开环。

所有信息项的传输都不被确认。令牌信息传过环上每一用 户。其它信息在任何情况下都在两个用户之间交换;传输与令牌 异步进行。 块结构

图3举例示出环—复播(R-MC)方法的数据令牌的结构。 根据本发明的方法,令牌首部具有表明令牌长度、令牌的块序列 号和块类型(此处为:数据令牌)的详细信息,后者是各个环用户 的数据区,在任何情况下长度都可变。每个数据区包含一个用户 相关的首部,表明用户和数据区长度,后面是该用户的消息。消息 又有一个首部与自己的数据。消息首部由用于消息分配的选择器 和消息长度的说明组成。

图3中进入到数据区的各用户指派K、K+1等直到K-1, 可以理解为K可以是任何用户例如用户T2,(参考图2A-2F), 那么用户K+1是用户T3,用户K-1是用户T1。因而在此例中, 用户T1的数据位于数据令牌的最后。

支撑协议和网络层所附加上的信息项未画出(在分段时有时 会成倍增长):以太网,IP和UDP头。

所有信息单元在协议层之间面向块交换。

初始和配置令牌在数据部分中包含系统状态信息。在异步信 息单元情形下,发送者的身份在数据区中,或者数据区为空,即只 发送块的首部。 数据报复播(D-MC/Z和D-MC/S)

对于面向数据报的方法(D-MC),数据传送发生在物理复 播中,采用UDP/IP协议的数据报服务。现代操作系统不仅允许 物理复播的传输,而且允许通过硬件机制选择所接收的帧。

数据报传输的发生是面向块的而且不被确认。为了实现防错 的传输,应为统一的接收顺序以及互相监视,在各个通信用户之 间设立一个检查环。对于访问控制传输的数据报复播方法 (D-MC/Z),用户数据的复播传输仅发生在拥有检查令牌之时。 对于同时发送的方法(D-MC/S),用户数据的发送和检查令牌 的交换异步发生,即消息块的传输在任何时刻都是可能的。

一个消息块可能包含任意数目和长度的消息。

对于有访问控制传输的面向数据报的方法,传输的时间顺序 由图4A-4F表示。假设初始状态是一个空的检查令牌T的循 环。用户T1有消息N1要发送(图4A)。在得到令牌时,它用复播 进行数据报传输,并输入所传输消息块的检查信息K1到令牌中 的检查区域(图4B)。检查域包含发送者的标识,一个与发送者相 关的序列号以及一个全局序列号,它被赋予消息块。令牌由于这 个目的而带有一个全局序列号。它由每个发送消息块的各个令牌 所有者来递增,被赋给发送者相关的序列号,并与后者一起进入 检查域。通过赋予一个全局序列号,所有的消息块都有了一个唯 一的连续的标识。这一标识允许了传送消息块的一个统一的接收 序列。

结果,令牌传给了后继者T2(图4C)。接收者最初把收到的消 息块放在接收缓冲区中而不是释放给应用。类似地,后继者T2有 消息N2准备发送;在得到令牌时,它用复播发送它们(图4D),并 把消息块N2的标识信息K2放入令牌的检查域中。接着,它检查 在接收缓冲区中在检查令牌中是否有标记为已发送的消息块 (K1)。如果有,接收的消息块(N1)被根据全局序列号排序并释放 加以处理(图4E)。如果在检查令牌中标记为已发送的消息块没 有收到,便在消息块的检查域中放入负确认消息,而发送者必须 重发。另外,检查令牌的所有者检查它自己的上一个令牌循环的 发送数据是否已被所有用户收到。如果被收到,该数据块从发送 缓冲中删除,在检查令牌中的项也是如此。如果没有,(检查域中 有负确认),便用旧的序列号再次执行发送。全局序列号也同样保 持。对于接收方检测重复包和用正确的顺序释放所提供的消息块 给应用是必需的。后继者T3处理顺序以及在后面的循环传递的 顺序可由上面的描述类推。(图4F)

给消息块赋予一个全局的序列号以及通过令牌的分配方式 保证了消息块和其中包含的消息的总体顺序。同样地,从环形式 的检查信息的传输产生了块和消息的临时顺序。(序列化作用)

图5A-5F显示了同时发送的方法(D-MC/S)的发送的时 间序列。想要发送的用户,图中为T2,同时用复播发送其消息N2, 与检查令牌的循环异步(图5A、5B)。在得到检查令牌时,用户T2 把发送消息N2的检查信息K2放入令牌中的一个检查域中(图 5 C)。接收消息块和检查令牌的结构和处理顺序与访问控制的方 法(D-MC/Z)是相同的,令牌一旦被处理,就传递给后继者T3。 进而任何用户在任何时刻异步发送消息都是可能的(图5C)。

对于访问控制方法,对接收消息块的释放发生在拥有令牌时 (图5D、E、F)。控制消息序列的机制与那些访问控制方法的机制 是相同的。 协议特性:D-MC/Z

比较“方法的共同特性”。

检查信息以环的形式传入系统(检查令牌的有向传输)。

检查令牌长度可变。

发送许可由令牌控制。得到令牌时,每个用户可以用数 据报发送自己的消息块,并输入到令牌中。

系统中没有选择的站点,在复配置阶段,具有上一个可 用的检查令牌的站点暂时成为环主。

正常操作的数据传送中没有冲突。

在上一圈令牌传递序列收到的数据块在收到令牌时分 类并释放给应用。

数据以广播或复播发送。

确认,顺序信息,系统状态信息和总线访问许可在令牌 中进行。

接收确认逐块进行。这是可能的,因为这由块传输机制 保证:即任何长度的信息单元都是整个传输(发生单个片段的丢 失时,整个块都被丢弃)。 协议特性:D-MC/S

比较“方法的共同特性”。

检查信息在系统中以环的形式传递(有向的令牌传输)。

检查令牌长度可变。

所有的站点都允许在任何时刻发送用户数据(数据报)。 在得到令牌时,上一令牌周期发送的消息块进入令牌。

系统中没有选择的站点,在重配置阶段,拥有上一个可 用的检查令牌的站点暂时成为环主。

在上一圈令牌传递序列收到的数据块在得到令牌时被 分类并释放给应用。

数据以广播或复播传输。

确认,顺序信息和系统状态信息在令牌中进行。

在一圈令牌传递序列中,多个数据块的传输是可能的。

接收确认逐块进行。这是可能的,因为它由块传送机制 保证,即任何长度的信息单元都只能整块传输(在发生单个段的 丢失时整个块都被丢弃)。 交换的信息项(D-MC/Z和D-MC/S)

除了已经解释的消息块(数据报)和检查令牌,还进一步利用 了信息单元,它是差错处理和引入新用户所需要的,容后详述。下 面列出了信息单元。信息的交换对两种数据报方法是相同的。 消息块

包含一个环用户要发送的消息。 检查令牌

包含各检查信息项(确认顺序和状态信息),按照环上的各个 用户排序。 链路检查请求:

一个环用户对其后继者的请求,用于用户和总线监视。 链路检查应答

一个环用户对一个链路检查请求的应答。 初始化令牌

包含系统状态信息和发送者的顺序号。发送者通知其后继者 局部系统状态信息,同时申请成为环主。 配置令牌

包含系统状态信息和环主的顺序号。环主通知其它环用户环 的配置发生了变化(在加入了一个新用户或者发生故障后)。 进入请求

一个用户想要初始化一个环或者想加入成为一个环用户。由 想要加入的用户发送信息给所期望的前继者。 撤离请求

一个用户通知其它用户它要离开环。

图6通过例子显示了面向数据报方法(D-MC)的检查令牌 的结构。根据本发明的方法,令牌首部提供了如下细节:令牌长 度、全局顺序号、令牌的块顺序号及块类型(此处为检查令牌),后 面是单个环用户的检查区域,在任何情况下都是可变长的。每个 检查域包含一个用户相关的首部,表明用户和检查区的长度,后 面是该用户的发送数据块的检查域。每个发送消息块在检查令牌 中分配了一个检查域。一个检查域包含发送者说明,用户特定的 顺序号和消息块的全局顺序号的信息。

根据面向数据报的方法(D-MC)的一个消息块的结构的例 子如图7所示。块首部表明块长度,发送者标识,块顺序号和块类 型(此处为消息块),后面是发送者的消息。它们又包含一个首部 和自己的数据。消息首部由一个对消息的分配的选择器和对消息 长度的说明构成。

由支撑协议和网络层所附加上的信息项未画出(在发生分段 时有时候加倍):以太网、IP和UDP首部。

所有的信息单元在协议层之间进行面向块的交换。

初始和配置令牌在数据部分包含系统状态信息。其它异步信 息单元是以相应于消息块的方式构造。依据消息单元的类型,发 送者的标识分在数据区中,或者数据区为空,即只发送块的首部。 差错/故障处理

系统中对差错/故障的检测,定位和处理的容错机制对于保 证数据一致性和没有中断的系统操作具有根本的重要性。所描述 的方法的关键属性是令牌状态(监视)和单个用户的信息状态的 协调性。这使得信息的状态可以在出错时精确地重建,并保证数 据一致性。

对差错的检测、定位和处理措施(差错处理)在下面参考一个 实施例来解释;它们对本发明的三种方法是相同的。

差错处理的要求如下:

差错/故障要被检测和定位。

故障的计算机要被排除在外;发生总线故障时,传输在 冗余总线上继续进行。

系统状态信息的改变一致地传送给所有的(未受损的) 用户。

数据传送由有上一次可用数据或检查令牌的用户来继 续。

差错处理必须迅速进行并保持数据一致性。

由于信息的无确认的传输,所有的系统差错或故障都造成令 牌的丢失。令牌丢失由超时来测出(令牌超时)。检查令牌丢失的 差错处理分成若干阶段:

链路检查阶段,

初始令牌阶段,

配置令牌阶段。

检测出一个差错(令牌超时)的用户通过发送一个链路检查 请求给后继者来检查后继者或LAN总线的状态。它由完好的后 继者用一个链路请求应答来回答。若链路检查成功,一个初始令 牌便发往后继者,它要求后继者检查它的后继者。如果链路检查 不成功(在重试之后),故障的后继者便排除在外;改变的系统状 态信息放入初始令牌中。在此情形下初始令牌被发给被排除的用 户的后继者。这适用于系统中单个错误的情况。在出现多个错误 的情况下,初始令牌被发送给环中下一未受损用户。初始令牌的 发送永远是在链路检查阶段的后面。

初始令牌同时还用来确定拥有上一可用数据或检查令牌的 环用户(环主)。环主不是一个永久固定的用户;在发生差错时它 被临时确定,即根据当前的传输状态。在差错处理后,环主继续发 送数据令牌或检查令牌。为确定环主,数据令牌和检查令牌都有 一个顺序号,它由每个用户在发生传输操作时递增。在差错处理 中,每个用户在发送初始令牌时向所述令牌输入上次发送的数据 令牌或检查令牌的顺序号,即每个用户都“申请”成为一个可能的 环主。如果收到了一个初始令牌,它的顺序号比本地的上次发送 的数据令牌或检查令牌的顺序号低,那么接收的初始令牌更被丢 弃;一个具有接收者自己的顺序号的初始令牌被传递下去。如果 接收的初始令牌的顺序号比本地顺序号高,它便被传递下去(配 置可能有所改变)。作为本算法的结果,只有环主的初始令牌被保 留下来。环主通过把自己的初始令牌传过一圈来认出自己。在传 过一圈之后包含在环主的初始令牌中的是当前的系统配置(被排 除的用户从活动计算机列表中删除。在下一阶段,环主通过一个 配置令牌把这一配置发给其它用户。在配置令牌被成功地传过一 圈后,数据交换由环主用自己的数据令牌或检查令牌继续进行。 被排除的用户的信息被相应的前继者从数据令牌或检查令牌中 删除。这保证了消息被所有的完好的用户收到。

如果在差错处理中又发生了差错,这由一个令牌超时检出。 差错处理重新开始。初始令牌和配置令牌的多阶段差错处理允许 多重容错。

上述确定环主的方法可分解为下述特点:

a)检出差错的用户(令牌超时)用上次发送的数据令牌或检查 令牌的顺序号发送一个初始令牌,

b)接收到一个初始令牌的用户发送一个初始令牌,所用的顺序 号是取上次发送的数据令牌的顺序号与得到的初始令牌的 顺序号中的最大值,

c)前面发送了一个初始令牌,又得到了一个顺序号比上次发送 的初始令牌的顺序号小的初始令牌的用户丢弃收到的初始 令牌。

d)前面发送了一个初始令牌,又得到了一个顺序号与上次发送 的初始令牌的顺序号相等的初始令牌(数据令牌或检查令 牌)的用户认为自己是环主,以环的形式发送一个改变的系 统配置给所有的用户,然后用上次可用的数据令牌或检查令 牌继续传输。

显然,根据上面的讲述可以对本发明做出多种修改和变化。 因此可以理解,在所附的权利要求的范围内,本发明可以用上面 描述的特定方法之外的方式实现。

本文发布于:2024-09-24 09:24:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/71520.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议