早鸽—汇聚行业精英
  • 联系客服
  • 帮助中心
  • 投诉举报
  • 关注微信
400-006-1351
您的问题早鸽都有答案
3000+专业顾问
搜索
咨询

分布式处理系统和方法

  • 专利名称
    分布式处理系统和方法
  • 发明者
    织茂昌之, 森欣司, 铃木靖雄, 小泉稔, 河野克己, 中井耕三, 笠?广和
  • 公开日
    1988年1月20日
  • 申请日期
  • 优先权日
  • 申请人
    株式会社日立制作所导出引文BiBTeX, EndNote, RefMan
  • 文档编号
  • 关键字
  • 权利要求
    1.一种利用通过传输通路连接的多个处理机以分布方法执行顺序处理作业的分布式处理系统的方法,其中包括用于把一个具有由与该分布式处理相关的处理机指定的内容编码的消息发送到传输通路的步骤;用于把流过传输通路的该消息与其内容编码一起接收到一个处理机中的步骤;和用于在对每个内容编码进行汇集得到的汇集数据和每个处理机中的程序之间建立对应关系的步骤,以便对应顺序处理的流程获得消息2.根据权利要求1所述的方法,其中要获得的消息是作为数据记录对每个内容编码进行汇集的3.根据权利要求1所述的方法,其中输出在顺序处理流程中指定部分的数据,对于每个程序,上述数据记录与输入数据以及与该输入数据相关的输出数据相对应4.根据权利要求1所述的方法,其中相对于程序的关系是通过一个事件号获得的5.一种利用通过传输通路连接的多个处理机以分布方式执行顺序处理作业的分布式处理系统,其中包括用于把一个具有由与该分布式处理相关的处理机指定的内容编码的消息发送到传输通路的装置;用于把流过传输通路的该消息与其内容编码一起接收到一个处理机中的装置;和用于在对每个内容编码进行汇集得到的汇集数据和每个处理机中的程序之间建立对应关系的装置,以便对应处理序列的流程获得消息6.根据权利要求5所述的分布式处理系统,其中包括用于输出在顺序处理流程中确定区段的数据逻辑的装置;对于每个程序,上述数据记录与输入数据以及与该输入数据相关的输出数据相对应7.根据权利要求5所述的分布式处理系统,其中相对于程序的关系是通过一个事件号获得的8.一种在利用传输网络彼此连接的多个处理机的分布式处理系统中的重复消息处理方法,其中包括下述步骤把一个具有事件号的消息发送到传输网络;从传输网络接收该消息;和把接收的消息的事件号与在先接收的消息的事件号进行比较,以便检测出属于相同处理的重复消息9.根据权利要求8所述的方法,其中在上述的发送步骤中,所说发射步骤是一种步骤,在该步骤中,已经从外部设备接收到数据的处理机产生一个消息,并把该消息发送到传输网络,该产生的消息具有一个指示从处理机本身和外部设备接收数据的数据接收顺序的事件号以及外部接收的数据;或者是另一种步骤,在该步骤中,已经从传输网络接收到消息的处理机把该消息的事件号根据该消息的内容加到一个要输出的消息上作为执行的处理结果,并把该产生的消息发送到传输网络10.根据权利要求9所述的方法,其中每一个处理机仅利用来自检测出的属于相同处理的消息中最先接收的一个信息执行其本身的处理11.根据权利要求9所述的方法,其中每一个处理机都在一个予定的时间周期里汇集检测出的属于相同处理的多余消息,并且在汇集时间周期结束时根据多数决定逻辑选择出一个已汇集的消息,由此执行其本身的处理12.一种在具有利用传输网络彼此连接的多个处理机的分布式处理系统中的重复消息处理系统,其中包括用于把一个具有事件号的消息发送到传输网络的装置;用于从传输网络接收该消息的装置;用于把接收的消息的事件号与在先接收的消息的事件号进行比较的装置,以便检测出属于相同处理的重复消息13.根据权利要求12所述的系统,其中上述的发送装置或者是一种装置,该装置使已经从外部设备接收到数据的处理机产生一个消息,并把该消息发送到传输网络,该产生的消息具有一个指示从处理机本身和外部设备接收数据的数据接收顺序的事件号以及外部接收的数据;或者是另一种装置,该装置使已经从传输网络接收到消息的处理机把该消息的事件号根据该消息的内容加到一个要输出的消息上作为执行的处理结果,并把该产生的消息发送到传输网络
  • 专利详情
  • 全文pdf
  • 权力要求
  • 说明书
  • 法律状态
专利名称:分布式处理系统和方法本发明涉及一种分布式处理系统和方法。在这种系统中,使用多个处理机,以分布方式执行顺序处理,用以有效地实现故障检测,并能以识别属于相同处理的重复数据。在本发明人刚刚提出申请的美国专利4,627,055中,叙述了一种分布式处理方法。该方法用于通过使用多个由传输线联结的处理机,以分布方式执行的顺序处理。在这种方法中,把程序分布并存贮在各个处理机中,去执行顺序处理的各个区段;并且,当执行该程序所需要的所有数据通过传输线全部被接收到适当的处理机中去时,进行每个处理机的程序启动。虽然这种方法通过各个处理机的分布处理能够完成顺序处理,而且这些处理机中的每一个实际上都执行该处理的一个区段而无需为控制整个系统的控制处理机,但是它不能给出在发生故障时,用于分析(指导故障检测)故障原因所必要的收集该系统操作全过程历史数据的装置。因此,这就给该系统的维修带来了困难。另外,某些常用操作系统(os),在一些情况下,具有收集系统操作全过程历史数据的功能,但收集的对象仅仅包括装有适当的OS的处理机操作历史过程。然而,这在使用多个处理机以分布方式执行顺序处理的分布式处理系统中要完成故障检测是远远不够的。日本专利特许公开57-175239公开了一种方法。在这种方法中,当存在有多个处理机执行同样的处理时,不是通过从这些处理机的各个处理执行结果中,采用选中的真值去操作,而是只将真值送往传输网络,这些处理执行结果送往传输网格时,无需在其上进行任何引导操作,而且在接收方的每个处理机从网络消息中选择属于相同处理的消息,并用于适当的处理机,以致根据大多数判断逻辑在接收方的处理机中选择真值。根据这种方法,在一个确定的信息计数时间周期内,把具有相同内容代码(指数据内容)的消息收集起来。所以,这种收集是根据计数的结果,因此它是根据大多数判断逻辑来判断真值的。上述的发明提供了一种灵活的选中方法。该方法不需要提前确定一个处理机,把它的输出接收过来,再送给所选中的处理机。在现有技术采用的方法中,消息包括指示其内容的代码,根据大多数判断逻辑,从收集这些消息起始的一段时间周期内,把与代码相匹配的那些消息收集起来,认为它们是属于相同处理的消息。然而,在这种方法中,由于属于相同处理的消息,仅仅由指示每个消息的代码来识别,所以在一个比用于收集消息的时间周期更短的一段时间周期内,由不同的触发器来起动用于执行相同处理的处理机时,就出现了不能识别出与不同的触发器相联结的输出消息的问题。因此,本发明的目的是提供一种分布式处理系统和方法,并且它是采用相互对应的处理机,以分布形式执行各个顺序处理,而不需要控制处理机控制整个系统,从而有效地实现故障检测并能够识别属于相同处理的重复数据。为实现该目的,根据本发明,采用通过传输通路联结的多个处理机以分布型处理作业的顺序执行的分布式处理系统,包括一个向传输通路传送含有与分布处理系统相联结的处理机所指定的内容代码信息的步骤,一个把带有内容代码信息的传输通路上的信息送到处理机上去的步骤,以及一个为在每一个存有内容代码的存贮数据和每一个处理机中的程序之间建立起对应关系的步骤,以此取得与顺序处理流程相对应的信息。此外,本发明的特征是把所接收到的消息中的事件数和在先接收到的消息中的事件数进行比较,并借此测定属于相同处理的重复消息。本发明通过对附图的下述详细说明将会得到更加清楚的理解。其中,图1表示本发明实施方案的系统结构方框图。图2,图4(b)和图10(a)表示在该实施方案中所传输信息的信息格式。图3和图4(a)是根据本发明描述的处理机结构及处理流程的方框图。
图5(a)和图5(b)表示根据本发明的操作流程图。
图6(a)-8(b)是用于解释根据本发明的处理记录方法的说明图。
图9,图10(a)和10(b)表示处理记录模块的处理流程图。
图11(a)-11(c)是根据本发明说明整个操作流程的说明性操作图。
图12是表示使用本发明的系统结构图。
图13是表示根据本发明所传输消息的消息格式图。
图14(a)-14(b)是用于解释表结构的说明性附图,以及图15-18是表示根据本发明在每个处理机中说明处理流程的流程图。
下面参照附图详细描述本发明的第一个实施方案。图1是该第一个实施方案完整的系统结构图。在该实施方案中,虽然是利用环路传输线为例解释联结各个处理机的传输通路,但在通常情况下,既使采用任何传输媒介的网络,其处理也是一样的。
图1所示系统包括处理机11-16,其中的每个处理机都在存贮器中存贮了一个将被执行的应用程序,以及能够作双向传输的双向环路传输线1。标示号1001-1006指示用于在传输线上控制数据传输的网络控制处理机(NCP)。这些NCP1001-1006及处理机11-16彼此可以双向联络。把处理机11-16的处理结果(数据)通过NCP1001-1006传送到传输线1。这些NCP1001-1006中的每个处理机判断流经传输线1的数据对于连接到它那里的处理机来说,是否是必须要的数据。仅仅当判断该数据是必须要的数据时,才把该数据送往连接到NCP的处理机。当把执行应用程序所必要的全部数据完全收集起来时,处理机11-16中的每个处理机才启动存贮在之中的应用程序。所启动的程序采用这些数据执行它自己的处理。
在这个实施方案中,假设本发明的数据记录操作是用处理机14完成的,而且把CRT控制台14000和数据记录文件14001连接到处理机14上。此外,把外部输入设备1000和外部输出设备1002连接到处理机11上。这样,通过外部输入设备1000从外部处理中取得数据,通过外部输出设备1002把数据再传送给外部处理。
图2表示通过传输线1的数据格式。内容代码FC202是对应于数据的内容或功能的代码。每个NCP根据内容代码判断确定对于连接到NCP的处理机来说所接收的数据是否是必要的数据。SA203指示传送过来的数据的NCP地址(源地址),而C204是对于传输来讲必要的序列数号,数据206是应用程序,FCS207指示用于错误检测的数据,F201和F208分别是指示消息开始和结束的标志。另外,EN205是处理等级的序号,它包括处理机序号和数据生成的序号,下面将它称为事件号。
图3的方框图表示图1所示处理机11的内部装置。处理机12-16也具有相同的配置。采用传输控制单元101完成NCP1001和处理机11之间的数据传输,并且把从NCP1001中接收到的数据存贮在接收缓冲器102之中。当把数据从发送缓冲器103送往NCP时,在发送缓冲器103中的这个数据对于其固有处理机中的应用程序来讲是必要的情况下,该数据也同时放入接收缓冲器102。用处理单元104控制应用程序1081-1083的执行。固有处理机号存贮区域106是用于存贮唯一分配给每个处理机号的区域,而序号区域107用作数据生成计数器。另外,外部输入控制单元109是接收其中来自外部设备10001输入的单元。此外,此表110相对应的外部输入FC是一个用于存贮外部输入数据内容代码的区域。输入/输出数据存贮区域105用来存贮用于每个应用程序的输入/输出数据。配备外部输出控制单元111在处理机11和外部输出设备10002之间提供接口,借助这个接口,向外部输出设备10002输出数据。
图4(a)示出输入/输出数据存贮区域105的内容。该区域的第一行1051存贮用于应用程序1081的输入/输出数据。其中,字段10511和10513分别存贮输入和输出数据。
此外,启动程序区域10512指示将要由存贮在字段10511中的输入数据启动的程序(即1081)。第二行1052用来存贮用于应用程序1082中的输入/输出数据。在其他的行中,类似地,把这些输入/输出数据存贮区域和启动程序区域分配给各个应用程序。
图4(b)的方框图示出输入/输出数据存贮区域10511的格式。首先把输入数据的内容代码送到区域105111。用区域105112作为指示数据是否已经存贮的标志,安排区域105113存贮事件数号,而区域105114实际存贮数据。并且,输出数据存贮区域也具有相同的格式。
图5(a)示出处理单元(图3的104)中的处理内容。数据从接收缓冲器(图3的102)中取出,然后事件号(EN)和数据字段(数据)存贮在输入/输出数据存贮区域(图3的105)中的输入数据存贮区域(图3的105)之中;为此,将置入输入数据存贮区域的FC和数据(501)中的FC相匹配。接着,该系统判断是否存在可执行的应用程序,也就是说,判断是否已经把执行该应用程序所必要的全部数据存入到这个输入数据存贮区域(502)之中了。如果是这种情况,即直接把对应于该应用程序的输入数据存贮区域中的事件号区域(EN)的内容存入相应于该程序的输出数据存贮区域的事件号区域(EN)之中了。在这种情况下,对于将要由具有不同事件号的多个输入数据来启动的一个应用程序来讲,在输出数据存贮区域中,就有已分配了的一个事件号区域的予先确定号;这样,就要把所有输入数据的事件号都存贮在输出数据存贮区域的事件号区域之中。然而,在区域的予先确定号过大的情况下,则根据予先确定的标准进行处理,例如删除从最早事件号开始的事件号。在把应用程序的输出数据已经存入输出数据存贮区域的情况下,则把该事件号置入发送缓冲器。
图5(b)示出外部输入控制单元(图3的109)进行处理的示意图。在发生外部输入的时候,该外部输入控制单元根据外部输入FC对应表(图3的110)判断输入数据的内容代码,并且把由输入数据内容及外部输入FC表(550)判断出来的内容代码置入发送缓冲器(图3的103)。接着,再把固有处理机号区域(图3的106)的内容及序号区域(图3的107)的内容置成偶数。然后,再把序号区域的内容加1(552)。
以下参照图6(a)-10描述本发明的处理记录方法。图6(a)示出要在处理机(图1的14)中被加载的记录模块的结构。该记录模块是由用于存贮记录数据的文件14001,用于在文件内存贮记录数据的程序EA1(601)及用于检索数据的程序EA2(602)构成的。图6(b)示出输入数据存贮区域(40511-405t1)及处理机14的输入/输出数据存贮区域的启动程序区域(40512-405t2)的内容。由于要求程序EA1通过传输线接收并记录数据,所以要把在系统中用到的所有内容代码(FC1-FCn)都置入输入数据存贮区域40511-405n1,并且把程序EA1寄存到分别对应于内容代码的启动程序区域40512-405n2上去。此外,程序EA2由包括功能代码FCt的数据启动,从而输出该记录结果(405t1-405t2)。
下面,参照图7-10描述图6所示的记录模块的处理内容。
图7示出记录数据文件14001的内容。如下所述之,这个文件是提前予置的。这个文件包括表示该系统中程序结构的结构表7000及用于每个FC的记录区域7500。结构表7000指示置入各个处理机的应用程序及在应用程序之间的输入/输出关系。
结构表包括用于各个处理机的表701-706。表701-706对应于各处理机(分别为图1中的11-16),并且由对它们指定的序号(处理机序号)来鉴别。下面描述表701的结构。表702-706也具有相同的结构。表701包括指定给处理机11(图1)的用于存贮处理机序号的区域7011,用于存贮置入处理机11的程序号的区域7012,以及用来存贮用于各个程序输入/输出数据的区域7013,7014等。记录区域7500由用于存贮在该系统中所使用的FC(FC1-FCn)这些数据的缓冲器7501-7502构成。每个缓冲器都具有循环缓冲器的结构,并且被指定一个序号(记录序号)。下面说明在结构表中的输入数据信息70131及输出数据信息70132的内容。输入数据信息70131包括输入FC701310,上流指示器701311,以及FC记录区域指示器101312。上流指示器指示在输出该输入FC701310的程序结构表中的一个位置,并且它包括处理机序号及上流程序位置的模块序号。FC记录区域指示器701312指示缓冲器的位置。在该缓冲器中,记录输入FC701310,更具体地说,是向该缓冲器置入记录序号。此外,输出数据信息70132,同样地,也包括有输出FC701320,下流程序指示器701321,以及FC记录区域指示器701322。这里,下流程序指示器701321指示在输入该输出FC701320的程序结构表中的位置,并且它与上流程序指示器的情况相类似,也包括一个处理机序号及模块序号。利用这个文件,这些程序确定每个程序的上流及下流,也就是说,可以取得程序之间的关系,并且同时还可以参照用于每个程序的输入/输出数据上的记录区域。
图8(a)-8(b)示出与本系统相结合的应用程序的一个例子。图8(a)示意性地说明了程序间的关系。具有输入设备i10001的处理机输出包括内容代码FC1和事件号E1的数据851,并且把这个数据输入给程序A1802和程序A2803。程序A1处理数据851,并将其输出作为包括内容代码FC2和事件号E1的结果数据852。程序A2通过使用数据851-852实现处理并输出包括内容代码FC3和事件号E1的数据853。把数据853再输入给程序A3804及程序A4805。程序A3直接在它的文件中存贮输入数据。程序A4输出包括内容代码FC4的数据,而后把这个数据通过输出设备O 10002,向外部传送。图8(b)表示在具有该程序结构的系统中,实际的数据流程。在此,把程序A1加到图1所示的处理机12上,并且把程序A2,A3和A4分别加到处理机13,15和16上。此外,把记录程序EA1和EA2加到处理机14上。在该图中,程序EA1由流程传输线的数据851-854启动,并在记录文件14001中存贮每个数据。
进而,例如,在响应来自CRT14000的操作者请求当中,程序EA1则向CRT14000输出记录文件14001的内容。程序EA1及EA2的处理内容,将参照图9-10进行说明。
图9表示程序EA1(图6的601)的处理内容。当启动时,程序EA1判断输入数据的内容代码(901),并把该数据存贮在记录区域内(图7的7500)含有对应内容代码的循环缓冲器之中(902)。
图10(a)-10(c)表示程序EA2(图6的602)的处理内容。首先,图10(a)表示数据字段及程序EA2数据(图2的206)的格式。数据字段包括处理机号2061,输入FC2062,以及作为在系统中指定程序的信息的输出FC2063。图10(b)-10(c)用于解释程序EA2的处理。由图10(a)中的数据启动的程序EA2,首先指定在其启动数据(1101)的数据字段中所指出的程序结构表(图7的7000)里的一个位置,而后再向计数器K置1。接着,程序EA2根据结构表进行判断,从而确定对于在程序步1101上所指定的程序来讲是否存在有输入数据(1103)。如果存在有输入数据,那么,程序EA2则把在缓冲器中对应于数据内容代码的FC记录区域(图7的7500)中的第K项数据取入固有区域(1104)。此外,指定就目标程序而言,定位成上流的程序;并根据结构表来判断用于该程序的输入数据是否存在(1106)。如果这个输入数据存在,那么就在对应于该数据内容代码的FC记录区域缓冲器之中搜索其事件号等于在该程序步1104上所取数据事件号的那个数据,并且把所获得的数据取入固有区域(1107)。处理程序步1105-1107反复执行,直到对于该程序来讲,不存在有输入数据为止;也就是说,从在开始启动数据中指定的程序开始,就检查上流程序,从而在该系统中顺序地存贮数据。当在程序步1106上不存在输入数据时,则控制返回到图10(c)的处理1108上。也就是说,根据结构表来判断对于在开始数据中指出的程序而言,是否存在有输出数据。如果这个输出数据存在,那么就在对应于该数据内容代码的FC记录区域缓冲器中搜索其事件号等于该程序步1104上所取数据事件号的那个数据,并且把所获得的数据取入固有区域(1109)。进而,指定确定为目标程序下流的程序(1110),并根据结构表来判断是否存在有输出数据(1111)。如果存在有输出数据,那么就在对应于该数据内容代码的FC记录区域缓冲器中搜索其事件号等于该程序步1104上所取数据事件号的那个数据,并把所获得的数据取入固有区域(1112)。处理程序步1110-1112反复执行,直到不出现有输出数据的程序为止。也就是说,从在启动数据中指出的程序开始,在下流方向上实现检查的过程中,把数据按顺序地存贮在系统中。当在程序步1111上不存在输出数据时,则就其在启动数据中指出的程序而言,将存贮在固有区域中的数据向上流及下流方向扩展,并籍此在CRT上显示数据或把数据输出给打印机(图10(b)的1113)。接着,把计数器K加1(1114),而后处理程序步1103-1114反复执行,直到K值大于在缓冲器中对应于FC记录区域内启动数据程序的输入数据内容代码的那个数据数号为止。
通过上述处理,该系统可以取得记录数据。在这种记录数据中,由从其程序EA2的启动数据中指定的程序里输出的数据所启动的下流程序输出的数据和在上流方向上取得的数据是彼此相关的。
在该实施方案中,虽然假设程序EA2的启动数据是由操作人员从CRT键控敲入的,但是当处理机检测其本身的程序故障时,可以把图10(a)格式的数据送到传输线上。在这种情况下,进行故障检测的同时,就已识别出故障的程序而言,上流及下流的数据,都记录下来了。
在该实施方案中,对于要由多个数据启动的模块来讲,假设每个输入数据的事件号均是相同的;然而,事件号彼此可以是不相同的。在这种情况下,对于每个事件号来讲,仅仅需要在上流方向执行处理,但处理的内容是不变的。
并且,除了仅用于程序信息的记录的参数之外,还可以在程序EA2的起始数据中置入例如仅用于是上流、不用于下流和在上流和下流方向上直到第i项的记录的参数。这样就能获得仅仅是顺序处理必要部分的记录结果。
在这个实施例中,虽然假定把数据记录程序安装在处理机14中,但是这个程序也可以被包括在一个任选的处理机中;此外可以安装任选数量的数据记录程序。
尽管已经说明了本发明的数据记录方法的实施例,但是本发明不会受到这个实施例的限制,即当具有有效操作的程序段用对其加一个内容编码的方法进行处理时,该程序段可以以相同的方式用信息汇集方法进行处理,因此本发明通常还适用于汇集信息和知识的方法。
根据本发明,该系统不但能汇集简单的时序记录,而且能汇集对应顺序处理流程的,并且其中输入/输出关系彼此相关的信息和数据记录。并且利用这种信息,可以有效地进行故障查找,这样就改进了该系统的可维护性。
在本发明的第二个实施例中,每个连接到传输通路的处理机由下列装置构成(1)用于从外部输入设备接收的数据,产生具有标头字段和数据字段的信息的装置,标头字段含有指示从处理机本身和外部设备接收数据的数据接收顺序的信息(称为“事件号”),数据字段含有从配备的外部设备接收的数据的内容;(2)对于从传输通路接收的消息,用于根据消息的内容引起一个处理和用于把输入信息的标头字段内容(事件号)转换成作为该处理的结果的要被输出到传输通路的消息的标头字段的装置。
因为用装置(1)和(2)对相应的外部输入数据(触发)设置了不同的事件号,所以可以通过判断事件号来识别与不同的触发相关的消息。
下面将参看图11至图18对本发明的第二个实施例进行说明。参看图12和图13,对本发明所适用的系统的配置进行说明。在下述的实施例中,虽然连接处理机的公用传输线用单回路传输线进行说明,但是既使当采用双回路型、总线型、环形回路型的网络或通常采用具有任何传输方式的网络时,该处理也不改变。
在图12中,参考号11至14表示处理机,这些处理机象在第一个实施例中的处理机一样用于把应用程序存储在其内部存储器中以便执行,参考号1是用于按箭头所指方向传输的单向回路传输线,参考号21至24表示用于控制在传输线上传输数据的网络控制处理机(NCP)。网络控制处理机21至24中的每一个都双向连接到处理机11至14中的每一个上。处理机11至14的处理结果(消息)通过网络控制处理机21至24判断在传输线上传送的消息对连接到传输线上的处理机是否必需发送,如果必需就把这个消息发送给该处理机。当所有执行应用程序必需的信息全部汇集时,处理机11至14中的每一个处理机就启动其存储的该应用程序。利用这些数据,一个起始程序执行处理,并且把一个消息作为该处理的结果输出。此外,在本实施例中,采取把处理机11连接到外部输入/输出设备10001上的方式,以便通过外部设备执行输入/输出操作。
图13表示在传输线上传送的消息的格式。FC32是对应数据的内容和操作的内容编码。每个网路控制处理机都根据该内容编码来判断接收的数据对连接到那里的处理机是否必需。SA33是发出该数据的网络控制处理机的地址(原地址),C34是传输所需的序号Data36表示由每个应用程序执行的处理结果的内容,FCS37是用于故障检测的数据,F31和F38分别是表示消息开始和结束的标记。此外,EN35是根据本发明设置的处理层次的序号,以下称为事件号。事件号区域包括处理机编号3511、3521等的予定编号和与消息形成系列编号3512、3522等的相同编号。每一对处理机编号和消息形成号(用1和351,2和352等等)为一个单元,该单元以下称为事件号单元。
除去当外部输出设备10002不必要时可以把外部输出控制器111省去之外,图12的处理机11至14中每一个的内部配置都和图3中所示的配置相似。
图14(a)表示如图14输入/输出数据存储区域105的内容。该区域的第1行1051用于存储与应用程序1081相关的输入/输出消息。区域10511和10513分别存储输入消息和输出消息。起始程序区域10512指示一个要被存储在区域10511中的输入消息起动的程序(即1081)。有多少个配置的字段,事件号存储区域10514就对应输入消息的内容编码存储多少个在先输入消息的事件号,也就是说在任何情况下,从事件号存储区域10514的顶层开始都存储着予定数量的在先接收到的输入消息事件号。第2行1052是用予存储应用程序1082的输入/输出消息的区域。对于其后的区域,输入/输出存储区域以相同方式分配给每一个应用程序。图14(b)示出了输入消息存储区域105111的格式。对于区域10511,已经予先设置了输入消息的内容编码。区域105112用作指示输入消息是否已经存储的标记,区域105113存储一个事件号,而区域105114存储该消息数据字段的内容。在一个应用程序由多个输入消息起动的情况下,对于每个消息都分配区域105111至105114。附带指出,输出数据存储区域具有相同的格式。
参看图15至图18,下面将根据本发明说明重复信息处理方法。
图15示出了当消息输入到图3中的处理部件104时的处理流程图。根据本发明,处理机一旦接收到来自图3中接收缓冲器102的消息就首先执行重复消息处理(9601)。然后检验是否存在可执行应用程序,也就是说检验对执行应用程序所必需的所有输入消息是否都已经存储在图3的输入/输出数据存储区域105中(9602)如果没有这样的可执行程序,该处理立即结束。如果有一个可执行程序,对应该程序在图14的输入数据存储区域中的事件号区域EN中的内容就直接存储到对应该程序在输出数据存储区域中的事件号区域EN之中(9603)。
对于要由具有不同事件号的多个输入消息起动的一个应用程序,在输入消息中置入各自的事件号区域的事件号单元被全部置入输出数据存储区域中的事件号区域。但是如果输入消息的事件号单元的总量超过事件号区域的容量,就根据予定的规则执行处理,例如从具有最小序号的事件号单元开始删除事件号单元。处理9603结束之后,起动可执进程序(9604),并且在该程序的执行完成之后,对输入数据存储区域中的标记字段(参看图14)的内容进行复位。
被起动的应用程序利用输入消息执行其本身的处理,把处理结果置入输出数据存储区域的数据字段(数据),并且将指示该数据已经置入的标记置“1”。此外,如果该数据已被置入输出数据存储区域的数据字段,处理机就把FC、EN和数据字段的内容置入图3中发送缓冲器103的相应区域。
图16是外部输入控制单元的处理流程图。有外部输入时,图3的外部输入控制器109对应图3的表10根据外部输入FC判断该输入数据的内容编码,并且把该外部输入数据-其内容和对应表根据外部输入FC判断出的一个内容编码置入图3的发送缓冲器103中(9701、9702)。接着根据图3的处理机本身的编号区域106和序号区域107的内容产生一形成事件号单元,并把该事件号单元作为输出消息的事件号置入发送缓冲器(9703)。然后序号区域的内容加1(9704)。
图17是图15的重复消息处理9601的具体处理流程图。该系统判断从接收缓冲器接收的消息中的事件号是否与一个在先的消息的事件号相等,该在先的消息具有与目标消息相同的内容编码(9801)。更具体地说,对输入/输出数据存储区域〔图14(a)〕进行检索,以便把在输入数据存储区域〔图14(b)〕的FC字段中置有等于刚接收的消息内容编码的编码的一行查找出来。然后该系统判断刚接收消息的事件号的值是否存储在找到的那一行的事件号存储区域中。如果情况是这样,因为对于一个在先输入的消息来说刚输入的消息是多余的,所以该件理立即结束,不把从接收缓冲器接收的消息置入输入数据存储区域(9802)。即因为该消息对于在先接收的消息来说是多余的,所以把它删去了。另一方面,如果失去这种满足相等条件的消息,就认为该消息是第一次被接收,因此要把该消息的事件号字段(EN)和数据字段(Data)的内容置入数据存储区域的EN和Data字段〔图14(b)〕,并把相应消息的内容编码置入该输入数据存储区域。并且对标记字段置“1”(9803)。接着把刚接收输入消息的事件号的内容作为最新消息的事件号加到输入/输出数据存储区域的事件号存储区域。在这种情况下,如果存储的事件号的数量超过预定的数量,就把最旧的事件号从在先存储的那些事件号中删除(9804)。
本发明的重复消息处理是通过上述的处理实现的。下面参看图11(a)和图11(b)说明该处理的总流程图。图11(a)示出了系统配置和处理流程图,图11(a)中的系统配置与图2中的系统配置相同。假定在处理机11-14中包括应用程序108、108′和108″,而且处理机12和13的程序108′和108″分别是完全相同的。在这里假定处理机11从外部输入设备10001接收数据。处理机11把内容编码FC和事件号EN1置入来自外部输入设备的数据中,以图1B的格式形成消息9001,并把该消息发送到传输线1上。附带指出,该格式与图3中所示的格式一致。处理机12接收消息9001,然后启动自身的应用程序108′,该应用程序利用消息9001执行其处理,并输出DATA2和内容编码FC2作为结果。该处理机把输入消息9001的事件号E1加到从应用程序输出的FC2和DATA2上,产生具有图1B中所示格式的消息9002,并把该消息发送到传输线1上。处理机13也以与处理机12完全相同的方式接收消息9001,启动其自身的应用程序108″,产生消息9003作为结果,并把该消息发送到传输线1上。在这种情况下,因为应用程序108′至108″是完全相同的,所以各自输出的消息都包括相同的内容编码FC2和数据字段的相同的内容DATA2。并且因为这些程序都是通过消息9001起动的,所以输出消息都包括事件号EN1。即根据本发明消息9002至9003是重复信息。现在假定消息9003首先被处理机14接收,那么处理机14就接收消息9003,并起动其应用程序108″。接着假定消息9002被处理机14接收,那么处理机14就接收消息9002;但是因为该消息的内容编码FC2和事件号EN1与在先接收的消息9003的内容编码和事件号相等,所以该消息被删去不用。在消息9002先传到处理机14的情况下,在相同的处理中在后接收的消息9003相反被删去。
如上所述,根据本发明当在传输系统中有多个多余的消息,而这些重复的消息之一最先被接收时,每个处理机都可以执行本身的程序处理;并且在这之后可不顾其后的重复消息。
上述的方法根据消息的接收顺序仅从重复消息之中选择出一个消息。相反,每个处理机都可以配有定时器和多余消息存储区域,此外图15中步骤9601的重复消息处理部分中可以包括一个多数决定判断逻辑,以便汇集重复的消息,并根据多数决定逻辑选择出一个要使用的消息。图9更具体地示出了对应图15中步骤9601的处理的流程图。对从接收缓冲器接收的消息,根据图14(a)中的事件号存储区域处理机实现事件号检验(9601)。该处理和图17中步骤9801的处理相同。作为步骤9601中校验的结果,如果得到多余的消息,该处理立即结束。而作为步骤9601中校验的结果,如果得到的消息不是多余的消息,该系统判断该消息的事件号是否与已经汇集在数据存储区域的消息的事件号相等(9603)。如果它们彼此相等,该消息就直接存储到数据存储区域中(9905);否则就置位定时器(9904),然后再把该消息存储到数据存储区域中(9905)。此外,在步骤9904中置位的定时器报告超时的那个时间点,在多余消息存储区域中的对应多余消息之中进行多数决定判断(9906)。选择出的消息被置入输入数据存储区域(9907),并且该消息的事件号被置入事件号存储区(9908)。处理步骤9907至9908与图17中的步骤9803至9804相同。
在这种方法中,虽然多数决定判断是在发生超时的那一时刻产生的,但是多数决定判断也可以在汇集了一个予定编号的多余消息那一时刻进行。
在使用上述的多数决定判断方法的情况下,如果至少提供执行相同处理程序的三个处理机,那末就可以确定一个引起产生异常消息的处理机。
根据本发明,每一个连接到网络上的处理机都在通过网络传送的冗长信息之中对多余消息进行识别,并且能根据其本身的逻辑去选择一个多余的消息,从而执行其过程。因此,通过把本发明的方法结合到构成分布式处理系统的每个处理机中,根据任意的重复程度,任何处理机都可以是重复的,从而使这些处理机实现无人监视运转,这样就大大地改进了该系统的不间断运行的性能和可靠性。


对任选的处理机配置一种功能,使其接收通过传输通路传送的消息和数据,并且根据对应模块之间处理的联系指示模块之间输入/输出关系的消息获得该接收的数据。需要时把获得的消息和记录结果中的必要区段抽出,以便可以对应顺序处理的流程通过建立显示或打印模块不仅汇集时序数据记录,而且汇集消息或数据记录。



查看更多专利详情