用于客户机/服务器计算的装置和方法制造方法及图纸

技术编号:2888025 阅读:165 留言:0更新日期:2012-04-11 18:40
一种在执行事务处理的客户机/服务器计算系统中使用的服务器处理方法,包括步骤:从一个客户机进程接收一个命令,指示一事务处理开始;确定是否存在一个本地事务处理发生器;如果不存在一个本地事务处理发生器,则把该命令传送给另一个服务器,如果存在本地事务处理发生器,则在本地产生事务处理状态数据。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及客户机/服务器(也称为分布式)计算领域,其中一个计算设备(“客户机”)请求另一个计算设备(“服务器”)执行一部分客户机的工作。客户机和服务器也可以都位于同一物理计算设备。过去几年中,客户机/服务器计算在信息技术世界变得越来越重要。这一类型的分布式计算允许一个机器把它的一些工作委托给另一个可能更适合执行这些工作的机器。例如,服务器可能是一个功能很强的计算机,其上运行着管理存储了大量数据的存储器的数据库程序,而客户机只是一个台式个人计算机(PC),它从数据库请求信息,用于它本地的程序中。通过使用称为面向对象编程(OOP)的公知的计算机编程技术,客户机/服务器计算的好处更进一步加强,OOP技术允许客户机和服务器位于不同(异类)“平台”。平台是特定硬件/软件/操作系统/通信协议的一种组合,其由计算机使用来完成它的工作。OOP允许客户机应用程序和服务器应用程序在其自己的平台上运行而不考虑客户机应用程序的工作请求怎样被通信并由服务器应用程序接收。同样,服务器应用程序不必考虑OOP系统如何接收、变换和发送服务器应用程序的处理结果给请求的客户机应用程序。在美国专利号码5,440,744和欧洲专利公开申请号码EP0677,943A2中解释了OOP技术是如何集成在异类客户机/服务器系统中的细节。这两篇文献结合在这里作为参考。然而,下面给出该基本结构的一个例子,以便在上下文中更好理解本专利技术的环境。如附图说明图1所示,客户计算机10(其可以例如是一个个人计算机,其上安装有IBM OS/2操作系统)具有在其操作系统上运行的应用程序40(“IBM”和“OS/2”是国际商业机器公司的商标)。应用程序40周期地请求工作在服务器20上执行,和/或数据从服务器20返回,以便由应用程序40后来使用。服务器计算机20例如可以是一个功能强大的主机,运行在IBM的MVS操作系统上(“MVS”也是IBM公司的一个商标)。对于本专利技术来说,要由服务器执行的通信服务的请求是由用户与第一应用程序40相互反应而激发的,还是应用程序40独立于用户反应操作,自动在程序运行期间作出该请求,这一点无关紧要。当客户计算机10希望请求服务器计算机20的服务,第一应用程序40通知请求服务的第一逻辑设备50。这一点例如可以通过给第一逻辑设备发送一个远程过程名和一列输入和输出参数实现。然后第一逻辑设备50参考存储在存储设备60中的可用通信服务的定义,处理建立与第二计算机20必要的通信的任务。所有可能的服务定义为对象类内聚框架(cohesive framework of object classes),这些类是由一个单一对象类所导出。以这种方式定义的服务对于性能和可重用性来说有许多好处。为建立与服务器20必需的通信,第一逻辑设备50确定在内聚框架中的哪一个对象需要被使用,然后在服务器上产生该对象的一个范例(instance),给该对象发送一个消息,以便使该对象调用它的一个子程序。这将导致建立通过连接设备80与服务器20的连接,随之给第二逻辑设备90发送一个请求。然后,第二逻辑设备90把该请求传递给运行在服务器计算机20上的第二应用程序100(下称服务应用程序),以便服务应用程序100可以执行由该请求需要的特定任务,诸如运行一个数据检索程序。一旦该项任务被完成,则服务应用程序可能需要发送结果返回第一计算机10。服务应用程序100在执行请求的任务期间和当结果要被送回到第一计算机10时与第二逻辑设备90反应。第二逻辑设备90建立对象的范例,当服务器应用程序100需要时调用这些对象合适的子程序,其中,从存储设备110中存储的对象类的内聚框架中建立对象范例。使用上述技术,客户机应用程序40不暴露在通信结构前。另外,服务应用程序100通过与其环境相称的标准机构调用,它不知道它自己被远程调用。对象管理组织(OMG)是一个国际性组织,涉及如图1所示的具有分布式对象的在异类平台上客户机/服务器计算的各方面。OMG已经公布一些标准,其中有客户计算机(例如10)与服务器计算机(例如20)通信(以OOP形式)的标准。作为这些标准的一部分,定义了对象请求代理程序(称为CORBA-公共对象请求代理程序结构)它提供在客户机和服务器之间面向对象的桥路。CORBA从面向对象的实现细节中断开客户机和服务器应用程序,至少执行第一和第二逻辑设备50和90以及连接设备80的一部分工作。作为CORBA软件结构的一部分,OMG已经建立了涉及“事务处理”的一些标准,这些标准称为OTS,即对象事务处理服务。例如参见CORBA对象事务处理服务性能说明1.0,OMG文件,94年8月4日。计算机实现的事务处理系统用于一些工业中的关键性商业任务。事务处理定义为单一工作单元,它要么全部执行,要么全部清除不做任何动作。例如,在银行自动柜员机的场合,一个客户从中取钱,付款、减去机器中的存款余额、减去该客户银行的存款余额,这些动作必须全部发生或者全部不发生。其中任一动作的失败将导致在记录和实际事件之间的不一致。分布式事务处理涉及影响位于多于一个物理或逻辑场所处资源的事务处理。在上述例子中,一个事务处理影响位于自动柜员机设备处管理的资源以及由银行主计算机管理的银行余额。这样的事务处理涉及一个特定的客户计算机(例如10),其通过一系列由服务器处理的客户请求与一个特别的服务器计算机(例如20)通信。OMG的OTS负责协调这些分布式事务处理。通常,运行在一个客户机进程中的一个应用程序开始一个事务处理,它可能涉及调用多个不同的服务器,每一个服务器启动一个服务器进程,根据在该事务处理中包含的指令改变其本地数据库。该事务处理要么通过执行这些事务(从而所有服务器完成对其本地数据库的改变)、要么通过放弃这些事务(从而所有服务器“回退”或忽略对其本地数据库的改变)而结束。为在执行事务处理期间与服务器通信(例如指示它们要么执行要么放弃它所承担的事务),所涉及的进程必须维持为该事务处理的状态数据。这通常包括建立一系列事务对象的进程,这些事务对象之一是一个协调进程,其协调该事务处理与各个服务器。OTS的常规实现方法示于图2,其由IBM公司开发,并包括在其于1997年5月发布的部件代理程序系列(IBM公司的一个商标)产品中。希望开始一个事务处理(例如从银行帐户上取钱)的客户机进程21需要定位能产生和保持维持该事务处理的状态的事务处理对象的一个进程。随着现代建立“瘦”(从而只有少量功能)客户机的趋势,客户机进程21通常不能在本地维持该事务处理对象,而必须为此寻求一个服务器进程以实现此目的。根据这一现有技术方法,OTS(或者另外的服务,诸如CORBA生命周期服务)寻找一个服务器进程,目的是在其上建立事务处理对象221(它包括协调者、控制和结束者对象)。根据这一现有技术,总是寻找同一服务器进程(图2中的服务器A进程22)。在定位该服务器A进程22后,客户机进程21给服务器A进程22发送(圈以号码1的箭头)一个消息,指示服务器A进程22建立事务处理对象221。然后服务器A进程22建立事务处理对象221并给客户机21发送包含该事务处理描述表的一个回答(圈以号码2的箭头)。然后客户机21给服务器B进程23(包含客户机进程希望从其取钱的银行帐户对象本文档来自技高网...

【技术保护点】
一个在执行事务处理的客户机/服务器计算系统中使用的服务器处理装置,所述装置的特征为包括:从一个客户机进程接收一个指示一事务处理开始的命令的设备;确定是否存在一个本地事务处理发生器的设备;在本地事务处理发生器不存在的情况下把所述命 令传送给另一服务器、在本地事务处理发生器存在的情况下在本地产生事务处理状态数据的设备。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:AE切塞尔M马尔霍兰KS沃尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1