具有客户机-服务器层次结构的计算机系统的制作方法

文档序号:6409682阅读:167来源:国知局
专利名称:具有客户机-服务器层次结构的计算机系统的制作方法
技术领域
本发明是关于具有一客户机-服务器层次结构的计算机系统,也是关于具有这种层次结构的计算机系统的操作方法。
一具有客户机-服务器层次结构的计算机系统包括一组被称作为客户机的软件模块和另一组被称作服务器的、用于对客户机为进行作业提出的请求进行服务的软件模块。这种型式的层次结构使得客户机提出的作业能在服务器中间进行分配。服务器可以是类似或不同的类型。采用这类层次结构,最好能提供一种对客户机为进行作业对服务器提出的请求的调度的控制机制。
按照本发明的一个方面,所提供的一具有客户机-服务器层次结构的计算机系统包括有一组客户机;一组对客户机为进行作业提出的请求进行服务的服务器;为管理客户机为进行作业对服务器提出的请求的装置;和对服务器加载作业的装置。所述请求管理装置被配置来由客户机接收请求,并在接收到一请求后执行以下操作检测一服务器是否空闲用于执行该作业;如果一服务器无空闲,将该作业在当服务器成为空闲时即准备好执行的作业的一队列中加以排队;和当一服务器为空闲能进行作业时,指示所述作业加载装置对该服务器加载作业。
为每一在当一服务器成为空闲时即准备好执行的作业设置一队列,使得计算机系统能处理客户机在服务器不空闲不能执行作业时对服务器提出要进行作业的请求的这种情况。
按照本发明的第二个方面,提供一种具有客户机-服务器层次结构的计算机系统,所述计算机系统包括有一组客户机;一组对客户机为进行作业提出的请求给于服务的服务器;为管理客户机为进行作业对服务器提出的请求的装置;和对服务器加载作业的装置。所述请求管理装置被配置来接收数个客户机的请求,和所接收到一客户机为进行一被指定由服务器访问的资源的作业的请求后进行以下操作检查该资源是否空闲能执行此作业;而如果资源不空闲,将该作业加入正等待资源成为空闲的作业的队列。
按照本发明的第三个方面,提供一种具有客户机-服务器层次结构的计算机系统的操作方法,所述计算机系统包括一组客户机和一组对客户机为进行作业提出的请求进行服务的服务器,针对由一客户机为进行一作业对一服务器所提出的每一请求,所述方法包括有步骤检查一服务器是否空闲能进行该作业;和如果服务器无空闲不能进行该作业,将该作业加入到当一服务器成为空闲时即准备执行的作业的排队队列;而在一服务器为空闲能进行该作业时,将作业加载到该服务器。
按照本发明的第四个方面,提供一种具有客户机-服务器层次结构的计算机系统的操作方法,所述计算机系统具有一组客户机和一组对客户机为进行作业提出的请求进行服务的服务器;针对一客户机为运行作业对一由一服务器访问的资源所提出的各个请求,所述方法包含步骤检查该资源是否空闲能进行该作业;而如果此资源无空闲,即将此作业列入等待资源成为空闲的作业的排队队列。
现在参照附图以示例来较详细地说明本发明,所列附图为

图1为一网络管理器和相关的分部管理器及地区交换机的方框图,此网络管理器包含一实现本发明的计算机系统;图2为图1的网络管理器的主要软件组成的方框图;图3为表明构成图1的网络管理器的事务处理组成部分的个别模块及其他软件组成部分的关系的方框图;图4~图6为说明事务处理组成部分的模块之一的操作的流程图;图7为组合构成具有客户机一服务器层次结构的计算机系统的计算机组的方框图;和图8为图1所示网络管理器的硬件组成的方框图。
现在参看图1,在此表明构成公共通信网络部分的三个地区交换机10、12、14。虽然图1中未加表示,这些地区交换机构连接到干线交换机而所有干线交换机相互构作全面的连接。地区交换机10、12、14分别由分部管理器16、18、20管理。此三个分部管理器16、18、20由一网络管理器22管理。虽然图1中未表示,网络的每一个其余交换机均由各自的个别分部管理器管理。分部管理器由另外的网络管理器管理,图中未出表示。
由于交换机的复杂,各交换机均被设置有各个的分部管理器。依靠修正,交换机可直接由网络管理器22管理而无需中间利用分部管理器。对其他网络部件如多路复用器亦设置分部管理器,而每一这样的管理器通常管理许多单个的部件。这些另外的分部管理器由一或多个另外的网络管理器(未图出)管理。
网络管理器22对分部管理器发送对他们所管理的交换机进行组构的指令。被送往各分部管理器的指令可包含由地区交换机连接或切断用户的指令以及由该交换机处理呼叫的指令。分部管理器还由它们管理的交换机接收有关它们的操作状态的数据并将这种数据传送给网络管理器22。网络管理器22具有存储关于交换机状态的数据的数据库。
上面对照图1所述的网络管理器22、分部管理器和由分部管理器管理的交换机的一般配置时本技术领域的熟练人员是公知的。例如,地区交换机10、12、14可以是System X交换机,由GEC Plessey Telecommunication plc制造。网络管理器22以-计算机实现。构成网络管理器22的计算机的主要硬件组成部分如图8中所示。包括存储器60,中央处理单元(CPU)62,图象显示单元(VDU)64,键盘66和输入/输出端口68。存储器640包括硬盘存储器,随机存取存储器(RAM)和只读存储器(ROM)。控制计算机的软件存放在存储器60中。该软件包含实现本发明的客户机一服务器层次结构。现在专门就客户机一服务器层次结构方面来较详细地说明网络管理器22的软件。
现在参看图2,在此表明网络管理器22的主要软件组成。包括有一组应用程序30;一用户接口32;一事务处理组成部分34;一数据库36和一通信格式存储器38。虽然图中未表示,此组成部分还包含实现此网络管理器22的计算机的操作系统。
应用程序30为负责向分部管理器发送指令和由它们接收数据的程序。用于网络管理器的这种程序的结构通常是本技术领域熟悉人员所公知的。用户接口32为使用户能访问网络管理器的软件组成部分,其结构也是本技术领域熟悉人士所公知的。
数据库36为上面提到的含有关于交换机的操作状态的数据的数据库。例如说,数据库36可以是众所周知的ORACLE数据库管理系统。通信格式存储器38的功用在于将发出的和输入的消息在网络管理器22所采用的形式与适宜于沿连接网络管理器22与各个分部管理器的通信链路传输的形式之间进行变换。此通信格式存储器的结构通常是本技术领域熟悉人员所公知的,这里运用于将一通信格式存储器作为计算机操作系统的标准组成部分。
应用程序30对数据库36和通信格式存储器38产生进行作业的请求。在数据库36方在,作业的形式为请求向数据库36输入数据或由其检索数据。在通信格式存储器38方面,作业是请求发送消息给分部管理器。事务处理组成部分34负责调度任务,现在参照图3较详细地说明这一部分。
现在参看图3,图示构成事务处理组成部分34的各个软件模块连同这些模块与网络管理器22其他软件组成的关系。这些其它组成包括用户接口32,数据库36,通信格式存储器38和一组客户器模块50,图3中由于简化的原因只示出3个客户模块50,但实际上这些模块的数量大得多。在现在的示例中,每一客户机模块50均为一应用程序30。借助于修改,客户机模块可构成事务处理组成部分34的部分和用作与各个别应用程序相接口的功能。
事务处理组成部分34包括软件模块JBM、SMAN、REG、TARGET、ADB和TCM。如图3中所示,事务处理组成34还具有用于存取数据库36的两个服务器52和用于存取通信格式存储器38的两个服务器54。这样,服务器52提供至数据库36的接口而服务器54提供至通信格式存储器38的接口。而对一个服务器52的运行一作业请求也表示对数据库36的运行该作业的请求。通信格式存储器38为至分部管理器16、18、20的接口的部分,如将再次说明的,这些分部管理器管理地区交换器10、12、14。这样,对一服务器54的进行作业的请求最终是表示对一地区交换机的进行该作业的请求。因而数据库36和地区交换机10、12、14即代表由服务器访问的资源。服务器52属于第一类型服务器而服务器54属于第二类型服务器。为简单起见,仅表示出每一类型的二个服务器,但实际上各类型服务器将在二个以上。
现在来概括说明构成组成部分34中的事务处理的每一软件模块的总体功能,随后详细介绍这些模块中的每一个。
模块JBM的任务是管理由客户机50之一接收到的各个请求。模块JBM检测各请求以确定该作业是否能立即执行。如果它不能被立即执行,就将其置于排队队列。如该作业能立即执行,则将其传送给模块SMAN,后者将其给一服务器加载。模块REG保持有一客户机表,它是由事务处理组成部分34记录的,由其可接收请求。模块TARGET保持每一由服务器52、54访问的资源上所进行的作业的总数。模块ADB保持每一被执行的工作的细节。模块TCM提供用户对模块JBM、REG、TARGET和ADB的访问。
更详细地说,模块JBM由服务器50接收进行作业的请求。现在参照图4说明模块JBM中处理各作业请求的步骤。
在由一客户机接收到一进行作业的请求后,在步骤S10模块REG检查确定该客户机是否为事务处理组成部分34作了登记。这一步骤的目的是为防止进行偶然由没有被登记的客户接收到的作业。如果此客户未被登记,即中止作业的处理。如果该客户机已被登记,在步骤S11由模块TARGET检查确定该作业被指定的资源是否空闲。如果该资源不空闲,在步骤S12将此作业置于等待资源成为空闲的作业的排队队列(维持队列)中。
某作业被安排在稍后的时间执行。如果在步骤S11中发现该资源是空闲的,即在步骤S12中检查确定该作业是否被安排为在一稍后时间执行。如果此作业是被安排在稍后时间执行,即在步骤S13将其置于被安排为稍后时间执行的作业的排队队列(被安排作业的队列)中。
如果在步骤S12发现该作业为准备好立即执行,即在步骤S13由模块SMAN检查确定一服务器是否空时能进行该作业。对于二种类型服务器的每一个,模块JBM均具有一等待服务器成为空闲的作业的排队队列(准备好的队列)。如果在步骤S13中发现一服务器不空闲不能执行该作业,则在步骤S14中将此作业置于二准备好队列中适当的一个中。如果在步骤S13中发现一服务器空闲能进行此作业,在步骤S15模块JBM即指示模块SMAN将该作业加载到该服务器。
如下面将针对模块SMAN加以说明的,当一作业已被在一服务器上运行,模块SMAN即将其由此服务器卸载,然后这一模块通知模块JBM。模块JBM则按照预定的准则将一作业由此适当的准备好队列解除排队和指示模块SMAN将其加载到该空闲的服务器。模块SMAN具有四个为选择要被加载到一空闲服务器的下一个作业的预定准则。利用模块TCM,用户可以为每一类型服务器选择应采用的特定的预定准则。现在来说明这四个预定的准则。
第一个预定准则只是将适当的准备好队列中的下一作业选作下一个欲加载到空闲服务器上的作业。
第二个预定准则是将与前一作业相同的资源的适当的准备好队列中的下一作业选作欲加载到该空闲服务器的下一作业。这样,如果前一作业被指定用于地区交换机10,模块JBM即选择用于该地区交换机10的适当的准备好队列中下一作为欲加载到该空闻服务器的下一作业。如果与前一作业同一资源的适当的准备好队列中没有作业,该准备好队列中的下一作业被选作为新作业。
第三标准是适当的准备好队列中的同一类型的下一作业,不管它被指定于什么资源,被选择作为欲被加载到空闲服务器的下一作业。这样,如果先前的作业是将一新用户连接到一地区交换机,模块JBM就选择下一个将一新用户连接到地区交换机的作业作为要加载到空闲服务器的下一作业。如果在此准备好队列中没有与前一作业相同类型的作业,就选择该准备好队列中的下一作业作为要加载到空闲服务器的下一作业。
第四个预定准则是在适当的准备好队列中的与以前作业相同类型的且被指定到同一资源的下一作业被选择作为下一个要被加载到该空闲服务器的作业。如在此与前面的作业相同类型和被指定到同一资源的准备好队列中没有作业,则被指定到与前面的作业相同资源的下一作业被选为要被加载到该空闲服务器的下一作业。如果在被指定为与前面的作业相同的资源的准备好队列中没有作业,就将该准备好队列中的下一作业选作要加载到该空闲服务器的下一作业。
在被安排的作业队列中,作业被以它们被安排的执行时间的顺序排列。对被安排为其次执行的作业确定一时间标记。在此作业被安排的时刻,在步骤S13开始此作业的进一步处理。
如下面也将解释的,当一资源成空闲时,模块TARGET通知模块JBM。模块JBM将下一作业由被指定到已成为空闲的资源的保持队列去除并在步骤S12开始处理这种作业。
模块JBM接收运行二种类型作业的请求。在第一类作业(附着式作业)中,在当服务器进行作业期间客户机与服务器连接到一起。在第二类作业(分离式作业)中在进行作业期间客户机和服务器不相连接。分离式作业具有它们的运行无需占用客户机的优点。当模块JBM接收到一进行分离式作业的请求时,存储该作业的细节然后在当该作业由服务器卸载时被加以检索。
现在参看图5,这里表明模块SMAN在由模块JBM接收到对服务器加载一作业的请求时执行的步骤。在接收到一对一服务器加载一作业的请求之后,在步骤S20中,模块SMAN将该作业加载到一空闲服务器。然后在步骤S21中,它等待由服务器发出的完成作业的通知。在其接收到此作业已完成的通知时,在步骤S22将此作业由该服务器卸载。在一附着式作业的情况下以断开客户机与服务器之间的连接来卸载该作业。在分离式作业的情况下,由将该作业的结果传送到提出请求的客户机来卸载该作业。然后在步骤S23,模块SMAN通知模块JBM作业已完成和该服务器成为空闲。在步骤S24中,模块SMAN通知模块TARGET此作业已完成。模块TARGET利用这一数据来保持对有关资源上正进行的作业进行计数。最后在步骤25,模块SMAN通知模块ADB该作业已完成以及此作业的细节。模块ADB利用这一数据提供已完成作业记录。
模块S MAN还被安排来产生和取消服务器。对于各类型服务器,模块SMAN均保持有一该类型的现有服务器的表连同一含有等待在该类型服务器上执行的准备好队列中的作业的数量的表。模块SMAN被配置来维持各类型服务器的数量在对等待执行中的作业的数量为最佳的水平。为对各准备好队列达到这一点的过程如图6中所示。在步骤S30中,准备好队列上的作业数与为对该队列上的作业进行服务的服务器的数目进行比较。根据用户予设的准则,利用这种比较来确定应产生还是消除服务器来达到最佳服务器数。例如,此准则可以是准备好队列中作业数与服务器数之比应保持为一定值。然后在步骤S31,服务器作恰当的产生或消除。
如下面将说明的,用户能指示模块SMAN生成和消除服务器。
模块REG保持一由事务处理组成部分34登记的客户机表。依靠利用模拟TCM,用户能增加和删除客户机并检查此表。如以上所述,客户机表在每次由一客户机接收到进行作业的请求时即被模块JBM加访问。
对于任一资源,在任一时刻能有效地进行的作业的数量是有限制的。数据库36能同时处理相当大数量的作业。相反,由于地区交换机12、12、14的主要功能是处理通信电话,为进行网络管理器22所请求的作业的计算能力有限,这些作业中仅少数能同时进行。
模块TARGET的功能保持对在各资源上进行的作业的计数并保留有对可在各资源上进行的作业的最大数量的阈值。对各资源,模块TARGET保留一在其上进行中的作业的表。当模块SMAN由一服务器卸载一作业时,它通知模块TARGET,后者即将此作业由相应资源的表中删除。如此上所述,当模块JBM接收到一进行新作业的请求时,由模块TARGET检查该资源是否空闲以进行作业。模块TARGET然后将在该资源上进行中的作业的数量与其阈值相比较由此确定该资源是否空闲能接收一新的作业。如果此资源空闲能接收一新作业,模块TARGET将此作业加到该资源的表并通告模块JBM该资源能接收一新的作业。如果此资源不空闲不能接收一新作业,模块TARGET即通告模块JBM这种情况。
由利用模块TCM,用户可改变各资源的阈值还能得到当前在各资源上进行的作业表。
模块ADB保持一含有所完成作业的细节的数据库。每次在由一服务器卸载一作业时,模块SMAN即将所完成作业的细节发送到模块ADB,模块ADB将这些细节存储在其数据库中。模块ADB还保持有含有作业细节的文件。每天结束时,作业的细节在由用户建立了选择过程之后由数据库传送到这些文件。这样,数据库仅需要有限的数据存储容量。由利用模块TCM,用户可检查数据库和文件中的数据。这样,模块ADB使得用户能监视事务处理组成部分34的执行情况。
模块TCM给用户提供对模块JBM、REG、TARGET和ADB的访问。在模块JBM的情况下,它使得用户能检查各队列上的作业,能由队列中消除作业和能改变所安排作业队列上的执行作业所安排的时间。在模块REG的情况下,它使用户能由所登记客户机的表中增加和删除客户机。在模块TARGET的情况下,它使用户能检查在各资源上运行的作业而且还能改变可在各资源上进行的作业的最大数量的阈值。在模块ADB的情况下,它使用户能检查存放在数据库以及文件中的作业的细节且还能改变为将作业细节由数据库传送到文件的选择过程。
虽然对照网络管理器说明了事务处理组成部分34,但它可被用于任一具有客户机-服务器的层次结构的计算机系统。图7表示一组由通信网络54连接到一起的计算机50、51、52和53。如虚线所指明的,这样连接的计算机数是可增加的。在计算机50至53的任一个中均可设置客户机和服务器,由此来作成客户机-服务器结构。为了控制对在客户机和服务器之间进行作业的请求的调度,计算机之一,例如计算机50,被设置一与事务处理组成部件34基本相同的事务处理部件,所不同的是它不包含服务器。
权利要求
1.一具有客户机-服务器层次结构的计算机系统,所述系统包括一组客户机;一组为来自客户机的进行作业的请求而服务的服务器;为管理客户机为进行作业对服务器的请求的装置;和为将作业加载到服务器的装置,所述请求管理装置被配置来由客户机接收请求,而当接收到一请求后进行下列的操作检查是否有一服务器空闲能进行作业;如果服务器不空闲,将此作业置于准备好在一服务器成为空闲时即执行的作业的排队队列中;及当一服务器空闲能进行作业时,指示所述作业加载装置将作业加载到该服务器。
2.权利要求1所述计算机系统,其中所述请求管理装置被配置将按照预定的准则来选择欲加载到一空闲服务器的下一作业。
3.权利要求1或2所述的计算机系统,其中在接收到进行作业的请求后,所述请求管理装置被配置来进行附加的以下操作检查该作业是否被安排在将来一时刻进行;和如果此作业是被安排在将来一时刻执行,将作业置于一被安排在将来其时刻执行的作业的排队队列。
4.前述权利要求中任一个所述的计算机系统,其中在接到进行被指定到由一服务器访问的资源的作业的请求时,所述请求管理装置被配置来执行以下的附加操作检测该资源是否空闲能进行作业;和如果该资源不空闲,将该作业置于等待一资源成为空闲的作业的排队队列中。
5.权利要求4所述计算机系统,包括一保持有关在该或各个由一服务器访问的资源上进行的作业的数据的数据库,对该或各个资源所述数据库保持在该资源上正进行的作业的计数和可在该资源上进行的作业的数量的阈值。
6.权利要求5所述计算机系统,其中所述请求管理装置为检查一资源是否空闲能进行一作业而访问所述数据库。
7.权利要求5或6所述计算机系统,其中包括使计算机系统用户能对该或各资源设置该阈值的装置。
8.前述权利要求中任一个所述计算机系统,还包含为生成和消除服务器的装置,所述服务器生成和消除装置被配置来将准备执行的作业的队列上的作业数与为服务这些作业的服务器数进行比较,并按照此比较结果生成或消除服务器。
9.一具有客户机-服务器层次结构的计算机系统,所述计算机系统包括一组客户机;一组对客户机进行作业的请求而服务的服务器;为管理客户机在服务器中进行作业的请求的装置;和为对服务器加载作业的装置;所述请求管理装置被配置来由客户机接收请求,而在由一客户机接收进行在被指定到由一服务器访问的资源的作业的请求时,进行下列操作检查该资源是否空闲能进行作业;和如果该资源不空闲,将此作业置于等待资源成为空闲的作业的排队队列中。
10.为管理一通信网络的至少一个部件的网络管理器,所述网络管理器包含前述权利要求中任一个所述的计算机系统。
11.一具有客户机-服务器层次结构的计算机系统的操作方法,所述计算机系统包括一组客户机和一组对客户机运行作业的请求而服务的服务器,针对一客户机在一服务器进行作业的各个请求,所述方法包括步骤检查一服务器是否空闲能进行此作业;和如果服务器不空闲不能进行作业,将作业置于准备好在一服务器成为空闲时执行的作业的排队队列中,而在服务器为空闲能进行作业时,将作业加载到服务器。
12.权利要求11所述计算机系统的操作方法,其中包含按照一预定准则选择欲加载到一空闲服务器的下一作业的步骤。
13.权利要求11或12所述计算机系统的操作方法,针对在一服务器进行作业的每个请求,所述方法还包括附加步骤检查该作业是否被安排在将来一时刻执行;和如果该作业被安排在未来的时刻执行时,将该作业置于被安排为在将来一时刻执行的作业的排队队列中。
14.权利要求11、12或13所述计算机系统的操作方法,其中针对为进行被指定给由一服务器访问的资源的作业的各请求,所述方法还包括以下附属步骤检查资源是否空闲能运行作业;和如果资源不空闲,将作业置于等待一资源成为空闲的作业的排队队列中。
15.一具有客户机-服务器层次结构的计算机系统的操作方法,所述计算机系统具有一组客户机和一组为对客户机的进行作业的请求而服务的服务器,针对客户机对一由服务器访问的资源的进行作业的各个请求,所述方法包含步骤检查资源是否空闲能运行作业;而如果该资源不空闲将此作业置于等待资源成为空闲的排队队列中。
全文摘要
一用于通信网络的网络管理器具有客户—服务器结构。此网络管理器的软件组成包含有一组构成此网络管理器的应用程序的部分的客户器(50),用户接口(32),含有网络细节的数据库(36),和为用于与被此网络管理器所管理的交换机进行通信的通信格式存储器(38)。客户器(50)产生对服务器(52)和(54)进行作业的请求。对服务器(52)进行的作业最终被指定到一数据库(36)形式的资源,而对服务器(54)进行的作业最终被指定到交换机形式的资源。这些请求首先被传送到软件模块JBM。然后此模块检查该作业被指派的资源是否空闲,如果无空闲,就将此作业置于一保持队列上。如果资源空闲,则检查此作业是被安排为立即执行还是在以后的时间执行。如其被安排为以后执行,即把其列入被安排的作业队列中。如此作业被安排为立即执行,模块JBM就检查服务器是否空闲能接收该作业。如果没有服务器空闲,就将此作业列入等待立即执行的作业队列中。如果服务器空闲,模块JBM就指示一模块SMAN将作业装载到空闲的服务器。
文档编号G06F13/00GK1155340SQ95194230
公开日1997年7月23日 申请日期1995年7月19日 优先权日1994年7月25日
发明者约翰·巴特, 保罗·斯图尔特·爱尔兰 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1