多计算机系统程序管理方法

文档序号:99882阅读:275来源:国知局
专利名称:多计算机系统程序管理方法
本发明涉及一种多计算机系统,该系统由通过传输线相互联接的多台计算机、智能终端、工作站及类似设备组成,更具体地,涉及在该系统中的独立和分布处理。
在通常的多计算机系统(例如,在计算机IEEE第16卷第三号1983年3月“多微处理机系统什么、为什么和什么时候”一文第23页至32页中所公开的)中,每一台计算机存储器要执行的程序,或一台预先指定的计算机通过某一特定过程,如远程装入,将程序传送至另一台计算机,由其执行程序。在该系统中,每当一台计算机请求程序时,并不总是可以得到及时的程序装入,计算机之间的程序传送也并不总是可以随意实现。因此,不可能灵活地处理计算机装入状态、故障发生、网络上增加计算机或者将计算机从网络上拆除的问题。要实现由一个具体的计算机控制一个大系统的全部程序的操作方式并不是一件容易事。
本发明的目的是提供一个能在任何必要时候在计算机之间传送程序的多计算机系统,由此而改进系统的总的处理能力,达到在计算机中使用新开发的程序的透明性,提高解决故障的能力,便于系统的扩展、压缩和维护。
为了达到本发明的上述目的,在一个由通过传输线相互联接的多台计算机组成,并且每台计算机有一个处理器和至少有一个存储程序的存储器的多计算机系统中,提供了一个程序管理方法,该方法包括从一台计算机将一个程序及表示所说的程序特征的特征码传送到所说的传输线的步骤,和如果其它计算机根据附于所交付的程序的特征码判断决定接收所交付的程序,在所说的其它计算机接收所交付的程序的步骤。
图1表示在本发明的一个实施例中所用的程序消息格式;
图2为用于本发明的一个多计算机系统的总体结构框图;
图3为图2系统中一台计算机的框图;
图4表示程序列格式;
图5为构成程序排列的示意图;
图6表示数据消息格式。
图2为用于本发明的多计算机系统总体结构的一个例子。计算机10、20、……no通过传输线相互联接,传送或接收数据和程序。每一台计算机包括一个处理器和一个存储数据和程序的存储器,并且联接到终端设备11、21、……n1。
在图3表示了每一台计算机的结构,如计算机10。处理器100通过接口101接到传输线1,通过接口102接到终端设备11。处理器100还联接到输入缓冲器103、输出缓冲器104、程序存储器105、数据存储器106、内容码表107和存储器管理表108。通过适当方法在内容码表107中预先设定代码,如由操作员通过终端设备11或通过一台控制计算机人工输入。代码代表可由计算机执行的若干个程序的内容(要处理的题目、目的、格式等,例如,计算列车时刻表的推延或计算特定的函数)。存储器管理表108保持指示程序存储器105未占用状态的信息、根据程序存储器105中存储的程序由处理器100更新的信息的内容、旧程序的删除、程序的修改或类似的内容。
假设在计算机10的程序存储器105中已存入一个新程序,该程序可以是由操作员用终端设备开发的一个程序、在另一个工作站开发又装入计算机10的一个程序、或是以内部只读存储器(ROM)形式的一个程序。然而,要注意的是以后将要描述的程序内容码和控制码必须产生并附到程序上。当操作员在适当的时候提出请求时,当另一台计算机请求传送程序时或当请求运行程序时,处理器100在预先设定的消息交付时间将程序的一份副本传送给输出缓冲器104、通过接口101输送到传输线1。
要交付的程序被编辑成如图1所示格式的程序消息200。程序消息200的结构为程序本身208加上代表程序管理所必需的特征的特征码209。特征码209由程序内容码201和控制码202组成。程序内容码201与每一台计算机的内容码表107的内容相对应,并且表示程序的内容,如表示程序208是用于计算列车运行管理所需的列车时刻表的推延。控制码202的结构为表示程序长度的程序长度码203、表示构成程序运行条件之一的输入数据内容(如列车到达时间)的输入内容码204、表示作为程序执行结果而取得的数据内容(如推延时间、列车运行指示)的输出内容码205、指示要加入由其它计算机执行的与其它程序的何种合作(如同步执行、与收到的作为其它计算机输出的数据的配合)的合作码206和由在模拟时取得的模拟输入数据与模拟输出数据组成的模拟数据207。模拟数据207可以作为程序208的一部分。
在程序消息通过传输线1时,其余的每一台计算机通过接口101从输入缓冲器103中将其取出,每一个处理器100通过参照内容码表和判断有无程序内容,检查所收到的程序消息的程序内容码201。此外,处理器100将程序长度码203与存储器管理表108的内容进行比较,判断程序存储器105是否有足够的空间来存储该程序。如果基于上述两个判断决定存储该程序,则程序由输入缓冲器103传送至程序存储器105,存入存储器管理表108指示的未占用空间,同时存储器管理表108也更新,以指示存储器的新空间。反之,如果两个判断之一为否定,输入缓冲器的内容立即清除。
当新程序存入程序存储器105时,处理器100以这样一种方式来检查程序用模拟数据207中的模拟输入数据来执行该程序,并且把取得的数据与模拟数据207中的输出数据进行比较。如果取得的数据与输出数据不一致,则判断为该程序有错误,并从程序存储器中删除。反映上述情况的消息送至传输线1或在终端设备11上显示,存储器管理表108原先的内容得到恢复。然而,如果一致的话,则判断为该程序没有错误,开始以下过程。
在判断程序无错误时,就形成图4所示程序列300,用以检查该程序是否与已存在其余计算机里的其它程序相抵触。下一步,计算机10的处理器100在存储了来自另一台计算机的一个新的正确程序后,收集在程序存储器105中自程序11至程序m1的程序内容码201和合作码206,由此而形成由程序内容码308和合作码309构成的一系列程序子区域305至306。计算机识别数字307附至程序子区域系列,形成计算机10区域302。进而,在计算机10区域302上部,附上表示程序列的程序列码301,供向传输线1交付时用。
计算机20检测由计算机10交付的程序列,并以上述同样方式,根据存储在其程序存储器105中的该程序的程序内容码和合作码,形成计算机20区域303。计算机20区域303加到计算机10交付到传输线1的区域。图5简略地表示了上述过程。其它计算机进行同样的计算机区域302至304的形成和附加,由此而完成程序列300。最先交付程序列的计算机收到已完成的程序列300,将新存入程序的程序内容码308和合作码309与其它程序的程序内容码和合作码进行比较,检查要使用的程序的合作内容是否不相互抵触。如抵触的话,禁止执行该程序,有关此情况的消息送至传输线1或终端设备11。如不抵触的话,程序保持可执行状态。
如果出现由程序输入内容码204指示的数据,就执行可执行的程序。数据可以先存储在数据存储器106中,也可以后从传输线1取出并存储在存储器106中。数据以图6所示数据消息400的格式传送。数据消息由数据402本身和表示数据内容的数据内容码401构成。数据内容码与程序的输入内容码204比较,在保证两者之间一致时,执行该程序。
在运行结束时,被执行的程序产生输出数据以及表示输出数据的预先设定的输出内容码。输出内容码与该程序的输出内容码205比较,如果在预先设定的输出内容码205中包括了所产生的输出内容码,则判断该程序已被正确地执行了,并且将输出数据存入数据存储器106,或者愿意的话,通过输出缓冲器104和接口101交付至传输线1,以输出到其它计算机。反之,如果在预先设定的输出内容码205中不包括所产生的输出内容码,则判断程序有错误,有关此情况的消息送至终端设备11或传输线1。
每一台计算机通过传输线1或终端设备11一个接一个地收到一个新的程序、一个更正过的程序、一个改进过的程序或者一个修改过的程序。至此,为每一台计算机的程序的相互交换、补充、转换、编辑、删除或类似工作的过程提供了一个已知的程序开发支援系统。在上述过程中,必要时存储器管理表108被更新。此外,每一次进行上述过程时,要检查程序错误以及该程序与其它程序的兼容性。
当一条指示所收到的程序有错误或合作有抵触的消息送到传输线1时,该程序起源计算机分析该消息,确认程序的错误。随消息的内容而定,比如一个错误,起源计算机重新传送该程序,或反之在终端设备上显示必要的指示,要求更正或重新开发该程序。
可用一个输入/输出信号缓冲器来代替分开的输入缓冲器103和输出缓冲器104,同样,程序存储器105和数据存储器106也可使用单个存储器的不同区域。
根据本发明,程序不固定地分配给具体的计算机,而是根据情况或是有必要时在计算机之间传送,在目的地检查和执行。结果,不仅系统的总处理能力改进了,而且在计算机间使用程序的透明度变得容易得到了。此外,改进了的系统兼容性和灵活性使得计算机的增加、拆除或更换很容易,从而明显地改进了解决系统异常情况的能力。程序管理容易了,生产率提高了。
权利要求
1.在一个由通过传输线相互联接的多台计算机组成,并且每台计算机有一个处理器和至少有一个存储程序的存储器的多计算机系统中,一个程序管理方法,其特征为以下步骤从计算机将一个程序与一个表示所说的程序特征的特征码一起送至所说的传输线;和如果其它计算机根据附于所交付的程序的所说的特征码判断决定接收所交付的程序,则在所说的其它计算机接收所交付的程序。
2.根据权利要求
1的一个程序管理方法,其中所说的特征码包括一个表示所说的程序内容的程序内容码,所说的其它计算机有一个表示将要接收的程序内容的内容码表,所说的程序接收步骤包括将所说的程序内容码与所说的内容码表的内容进行核对的步骤。
3.根据权利要求
2的一个程序管理方法,其中所说的特征码还包括一个指示所说的程序长度的长度码,所说的其它计算机有一个表示其存储器未占用状态的存储器管理表,所说的程序接收步骤还包括将所说的长度码与所说的存储器管理表的内容进行核对的步骤。
4.在一个由通过传输线相互联接的多台计算机组成,并且每台计算机有一个处理器和至少有一个存储程序的存储器的多计算机系统中,一个程序管理方法,其特征为以下步骤从计算机将一个程序与一个表示所说的程序特征的特征码一起送至所说的传输线;如果其它计算机根据附于所交付的程序的所说的特征码判断决定接收交付的程序,则在所说的其它计算机接收所交付的程序;根据所说的特征码,在收到上述交付的程序的计算机上检查上述交付的程序;和在通过所说的检查步骤进行检查后,将所说的程序保持在可执行状态。
5.根据权利要求
3的一个程序管理办法,其中所说的特征码或程序包括与所说的程序一起使用的模拟输入和输出数据,所说的检查步骤包括通过用所说的模拟输入和输出数据进行检查的步骤。
6.根据权利要求
3或4的一个程序管理办法,其中所说的特征码或所说的程序包括一个指示所说的程序与所说的其它计算机的其它程序之间合作的合作码,所说的检查步骤包括要求所说的其它计算机至少交付保存在所说的其它计算机中的所说的其它程序的所说的特征码中的所说的合作码并将所收到的程序的合作码与来自所说的其它计算机的合作码进行比较。
7.根据权利要求
3、4或5的一个程序管理方法,其中所说的保持步骤包括考虑到所接收的程序,而编辑、增加或删除旧程序的步骤。
专利摘要
一个多计算机系统中,一台计算机将一个附有表示程序特征(如程序的内容和长度、与其它程序的合作、输入输出数据的内容)码的程序送至传输线。另一台计算机根据表示程序特征码检查该程序,如果根据检查结果认为有必要或可执行,则接收该程序。在必要时或如果需要的话,每台计算机可设定表示可由该计算机执行的若干程序的特征码,因此不需要事先指定具体的接收站。根据所附的特征码检查所接收的程序,如果正确的话,必要时存储或执行该程序。
文档编号G06F9/46GK86103949SQ86103949
公开日1986年12月17日 申请日期1986年6月11日
发明者森欣司, 宫本捷二, 春名公一 申请人:株式会社日立制作所导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1