首页> 中国专利> 客户机/服务器计算环境中部署非后向兼容服务器版本的方法和系统

客户机/服务器计算环境中部署非后向兼容服务器版本的方法和系统

摘要

描述了管理将应用服务器的新非后向兼容版本引入客户机/服务器联网环境的方法和系统。该方法包括首先向应用服务器的新非后向兼容版本服务的客户机系统分配与应用服务器的当前版本兼容的模式和与新的非后向兼容版本兼容的模式下可操作的客户机应用。在客户机系统中安装时,设置客户机应用为与应用服务器的当前版本兼容的降级模式。在应用服务器的当前版本在正式使用时,保持客户机应用在降级模式下操作。在引入应用服务器的新非后向兼容版本时,将客户机应用设置为与应用服务器的新版本兼容的有效模式。从那时起在有效模式下操作客户机应用。在查询在客户机/服务器联网环境中操作的版本服务器的客户机系统的每次重启时自动触发模式设置。查询包括客户机系统标识和客户机应用版本号,以便从查询的版本服务器获得状态值,将客户机系统操作为包括降级模式和有效模式的模式。

著录项

  • 公开/公告号CN101925878A

    专利类型发明专利

  • 公开/公告日2010-12-22

    原文格式PDF

  • 申请/专利权人 阿玛得斯两合公司;

    申请/专利号CN200980102667.X

  • 申请日2009-01-16

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人杨国权

  • 地址 法国比奥

  • 入库时间 2023-12-18 01:26:38

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-01-14

    授权

    授权

  • 2011-03-23

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20090116

    实质审查的生效

  • 2010-12-22

    公开

    公开

说明书

技术领域

本发明总体上涉及客户机/服务器环境中的计算机系统,更具体地说,涉及对无需与客户机版本后向兼容的服务器软件应用的新的版本的部署。

背景技术

在网络上实施的客户机/服务器计算模型已经被普遍采用。在该模型中,客户机节点的软件应用所发出的请求被发送到一个或多个所连接的服务器。一旦由服务器处理,所请求的信息就被返回到客户机。该模型是互联网的模型,其中客户机为web浏览器而服务器为包括诸如邮件服务器的许多专用服务器的web服务器。

该模型也是许多服务提供商的模型,其通常操作大量计算资源,以便可能通过包括互联网的公用网络和私有网络的混合来服务于客户机社区,即运行在服务提供商的计算资源上的软件应用的终端用户。这种提供商的示例是全球分配系统(GDS),其将旅行服务提供给整个旅行产业,包括航空公司、传统在线旅行社(例如用于旅行计划和预订)以及机场(例如用于离场控制和乘客检入)。

通常的软件系统在它们的生命周期内被频繁更新。甚至在开发阶段完成之后,当系统处于正式使用中时,软件应用继续演进以应用校正并且通过添加新的特征来改进它们。此外,为了充分利用新型机器的性能,或者因为操作系统是新的、已经被演进或是不同的,可能必须进行改变。

在客户机/服务器模型中,为了更设服务器侧应用的新的版本,标准实践是:新的版本必须后向兼容。因此,在任何节点处,无论客户机应用的哪个版本在使用中,新的服务器一旦被部署就立即能够以兼容格式处理客户机请求并且传送所请求的信息。

在某种程度上,这种理想方案应用于其中web服务器需要与全球公用网络的无数客户机使用的所有现有web浏览器兼容的互联网。但是这并非完全是事实。公知的是,并非所有web浏览器品牌都完全以相同方式反应,并且许多服务器实际上仅支持客户机应用的最近版本。例如,对于全球使用最多的浏览器,即微软公司的web浏览器Internet Explore(IE),许多近期的服务器应用目前仅支持版本5(IE5)以及更高版本。实际上,当浏览器较早版本、或不支持的浏览器品牌从升级后的服务器请求并且接收信息时,客户机图形用户界面(GUI)可能是严重不匹配的。

对后向兼容的维护具有高成本,即使实际上其仅仅部分地可实现。服务器新应用必须以一种方式或另一种方式应对在实际应用中要被支持的所有客户机版本的所有选项、特征、不兼容性和缺陷。这在需要更多时间和技能来开发新服务器应用并且可能需要实现更多存储和更快的硬件资源的开发阶段期间具有高成本。甚至更重要的是,要检验的服务器/客户机浏览器组合的数量正快速增长到了这样的程度,其中测试阶段为了允许在合理时间量内穷尽测试所有组合可能会需要用到不可能数量的资源(机器和人力)。

即使web浏览器被认为是“瘦客户机”,即实际仅执行在服务器应用与客户机应用之间要完成的有限份额工作以完成所请求的工作的客户机,上述情况也是真实的。实际上,web浏览器的主要任务是通过GUI显示web服务器所返回的页面。

对于通常仅与附属客户机(例如航空公司、旅行社、机场等)一起工作的无法公共接入的客户机/服务器系统,如以上提到的GDS,客户机应用可能反而需要成为所谓的“富客户机”,其必须执行要在服务器与客户机之间共享的整个工作的更大一部分。这可能是需要的,因为它们之间的可用带宽过于受限,而无法允许客户机应用对于要完成的每一任务都向服务器请求。对于GDS,这例如是在机场中使用的用于控制飞机离场以及乘客检入的客户机应用系统的情形,是当乘客登机时在高峰时间必须被加快的工作。实际上,小型机场可能仍具有受限的外部通信资源。此外,即使检入应用是由附属于GDS的航空公司使用的,机场计算资源也是由机场管理局所拥有并且在其控制之下的,其需要许可,因而需要时间来进行部署和更新。

因此,当客户机应用是设计为自身执行较大份额工作的富客户机时,与瘦客户机的情况相比,具有后向兼容服务器的问题如果不是不能实现的话,也是可能较难以完成的。实际上,要支持的富客户机应用的所有版本的选项和特征的数量潜在地会大得多,因此极大地加剧了上述提到的关于服务器应用的开发和测试阶段的问题。

US-A-5.732.275公开了一种用于管理和自动更新软件程序的方法和装置。该文献并未针对在部署服务器软件应用的新的非后向兼容版本之前调整网络的所有客户机软件应用的问题。根据该现有技术,假设客户机应用自身能够从共享存储器下载软件版本。这限制了这种技术的应用范围,而本发明可以应用于包括具有有限软件资源的相当简易的终端的网络。

WO01/69382A公开了一种用于客户机设备的初始配置的方法。根据该公开,下载新模板以初始地配置客户机应用。该模板意图将客户机应用调整为服务器的数据组织的新格式,而不是服务器软件应用自身的新的版本。

鉴于上述内容,因此期望在客户机/服务器环境中允许部署无需后向兼容的服务器应用的新的版本。

当参照附图研究以下描述时,本发明的其它目的、特征和优点对于本领域技术人员将变得显而易见。意图将任何附加的优点合并到此。

发明内容

本发明针对必须在客户机/服务器环境中部署后向兼容服务器的上述困难,本发明描述了一种用于对应用服务器的软件程序的新的非后向兼容版本到客户机/服务器联网环境的引入进行管理的方法和系统。所述方法包括:首先向要由应用服务器的软件程序的新的非后向兼容版本所服务的客户机系统分配在与应用服务器的当前版本兼容的模式下以及在与新的非后向兼容版本兼容的模式下可操作的客户机应用。在安装在客户机系统中时,将客户机应用设置为与应用服务器的当前版本兼容的降级模式。在应用服务器的当前版本仍在正式使用中时,将客户机应用保持在降级模式下操作。在引入应用服务器的新的非后向兼容版本时,将客户机应用设置为与应用服务器的新的版本兼容的有效模式。从该时刻起,在有效模式下操作客户机应用。在查询在客户机/服务器联网环境中操作的版本服务器的客户机系统的每次重启时自动触发模式的设置。查询包括:客户机系统的标识和客户机应用版本号,以便从所查询的版本服务器获得状态值,以将客户机系统操作为包括降级模式和有效模式的模式。

根据本发明附加的但纯可选的实施例,所述方法使得:

-设置步骤在客户机系统的每次重启时被自动触发,还包括以下步骤:

查询在客户机/服务器联网环境中操作的版本服务器,所述查询包括:还包括客户机应用版本号的客户机系统的标识;

从所查询的版本服务器获得状态值,以将客户机系统操作为包括降级模式和有效模式的模式。

-查询还包括地理位置、用户标识以及用于建立统计数据的关于客户机系统的所有种类的信息。

-查询内容存储在版本服务器的数据库中。

-当应用服务器的软件程序的新的非后向兼容版本投入正式使用时,由操作应用服务器的服务提供商强制进行客户机系统的重启。

-当加载应用服务器的软件程序的新的非后向兼容版本时,自动强制进行客户机系统的重启。

-在退回先前版本的情况下,自动强制进行客户机系统的重启。

-客户机应用从版本服务器接收状态值,以在无效模式下操作客户机系统。

-在版本服务器中,所述获得步骤包括如下在前步骤:

针对元规则检验客户机应用版本号,以立即将比元规则所指定的客户机应用更早的客户机应用声明为无效的。

-如果元规则检验成功,则其包括进一步的步骤:

针对兼容性规则集合检验客户机应用版本号;

根据规则内容将兼容性规则所涉及的客户机应用声明为无效的、弃用的或降级的;否则,

将任何兼容性规则都没有涉及的客户机应用声明为有效的。

-所述获得步骤还向客户机系统传送补丁,以校正一个或多个客户机应用问题。

-每次客户机系统重启时,动态应用所述补丁。

-所述客户机应用包括图形用户界面。

本发明还涉及一种用于对应用服务器的软件程序的新的非后向兼容版本到客户机/服务器联网环境的引入进行管理的系统,其包括版本服务器和数据库,所述数据库包括用于执行所述方法的每个步骤的装置。

本发明还涉及一种计算机程序产品,其存储在计算机可读存储介质上,其包括计算机可读代码装置,用于使得至少一台计算机操作用于对应用服务器的软件程序的新的非后向兼容版本到客户机/服务器联网环境的引入进行管理的方法。

附图说明

图1描述了基于包括版本服务器和数据库的GDS的根据本发明的示例性系统。

图2是用于判定客户机应用和GUI必须如何根据正式使用中的服务器版本而操作的客户机节点中的方法的主要步骤的高级视图。

图3讨论了版本服务器如何进行管理以将状态赋予已经在登录时发出查询的客户机系统。

图4描述了客户机系统的在线补丁,即,通过使用版本服务器而带来的功能增强。

具体实施方式

本发明的以下详细描述参照附图。虽然说明书包括示例性实施例,但其它实施例也是可能的,并且在不脱离本发明精神和范围的情况下可以对所描述的实施例进行改变。

图1描述了基于背景技术部分中讨论的GDS(100)的根据本发明的示例性系统。在客户机/服务器环境中通过网络提供服务的GDS或任何等同系统通常从大量计算资源(110)实现服务器,以支持多个位于远程的客户机应用(120)(其为在客户机层面运行的软件应用)和系统(122)的多样性。在用于说明本发明的这个特定例子中,客户机系统是例如当乘客正在登上飞机时所使用的机场离场控制系统(DCS)。在广域网(WAN)上在服务器和客户机之间维护连接,广域网可能包括包含互联网的公用网络和私有网络的任何组合。计算资源例如全部与私有局域网或LAN(105)互联。相似地,局部的客户机应用集合可以通过LAN(例如机场LAN(125))互连,而独立的客户机应用集合通过WAN(130)与GDS进行通信。在该示例中,通过网关(101)执行与客户机应用的接口,网关(101)允许客户机访问GDS所提供的所有应用(109),包括这里以上提到的DCS应用。这种系统典型地包括用于检验尝试连接的客户机应用为合法的登录和安全服务器或LSS(103),并且可以提供被授权与任何受支持的应用(109)一起工作的期望的证书。

在本说明书中,应用服务器的软件程序表示在应用服务器层面使用的、用于执行其功能的软件资源。除非明确指出,否则术语“应用服务器的应用程序的软件程序”在下文中有时简写为表述“应用服务器”。实际上,即使服务器包括硬件组件,本发明的目的也是管理软件组件的版本。

本发明引入与数据库(107)结合工作的版本服务器(105)。如以下描述中详细解释的那样,版本服务器的作用是追踪在实际应用中存在的所有客户机应用版本(120)。典型地,使得GDS和等同系统(100)能够通过全球WAN(130)与成千上万的远程客户机应用(120)进行接口。客户机特性存储于数据库中,当需要时版本服务器从所述数据库检索客户机特性。

当服务器后向兼容性是不可能的或者会太过昂贵时,本发明的方法在于:首先向所有远程客户机节点部署升级版本的客户机应用和GUI。这暗示使得客户机应用的新的版本兼容于服务器的当前版本和较新的版本,即将来的版本。通过这样一种方案,当安装时,新的服务器将无需与较早客户机应用以及GUI兼容。

由于上述策略,在部署阶段(完全部署可能典型地需要几个星期来在包括成千上万个客户机节点的网络中完成)期间,新的客户机应用当安装时降级为服务器版本N,即正式使用中的当前版本。其状态在版本服务器(105)的数据库(107)中相应地改变为“降级到版本N”。因此,在当客户机应用被部署在客户机节点中时的过渡时期期间,已经升级的那些节点系统地(即每次客户机重启时)使用与当前服务器兼容的版本N。

一旦分配完成或者接近完成,服务器系统(例如图1的GDS(100))就可以决定提升为新的服务器,使得所有或至少大部分终端用户可以开始利用升级后的客户机/服务器功能和特征。提升可以由系统的管理员手动完成,或者可以在软件下载时自动触发。在此情况下,版本服务器被指示在数据库中将远程客户机节点的状态改变为“有效”,使得服务器的下一版本(N+1)可以投入正式使用,并且也使客户机应用和GUI在级别N+1操作。为了实现这种情况,版本服务器强制断开所有使用版本N(以及更早版本,如果存在的话)的会话。为此,由版本服务器将退出消息转发到每一客户机远程节点,以结束用户会话并且请求重启客户机应用和GUI。于是,在下一重启时,版本N+1得以自动使用,如在本发明以下描述中进一步讨论的那样。在此应注意,GDS服务提供商系统具有通过版本服务器控制所需要的客户机节点多少的自由。仅特定升级所涉及的客户机节点需要重启。可以用各种非常不同的粒度级别执行升级、降级(例如在退回先前版本的情况下)以及版本阻塞(如果当前版本不兼容)。这个范围可能是从整个世界、地区、国家、城市、机场下至到任何可标识的位置,诸如机场中的特定航站楼、登机门、办公室等,因此在部署新的客户机版本中提供了大量灵活性。

图2描述用于判定客户机应用和GUI必须如何根据正式使用中的服务器版本而操作的客户机节点中的方法的主要步骤。

每次客户机应用(210)重启时执行处理。由客户机应用在登录时自动发起(212)事务处理,以从版本服务器和数据库(220)检索要使用的客户机应用版本的细节(214)。客户机应用自动发送到版本服务器的查询需要包含客户机节点的标识(ID),包括使用中的应用ID及其版本号。

在本发明优选实施例中,为了建立关于客户机应用版本的使用和新的版本的部署的进展的统计数据,查询应包含关于客户机节点的更多信息,包括:

-用户标识;

-用户办公室,例如:LONLH033代表位于伦敦的汉莎航空公司(LH)代理机构;

-用户位置,例如:LHR/T2/GTE/20代表伦敦Heathrow机场、航站楼2、在门20处;

-用户组织,例如:LH,航空公司名称;

-等等。

无论以何种方式提供给图1所示的登录和安全服务器(LSS)(103)的信息作为要提供的证书的一部分,以使得被看作应用服务器的合法用户。

客户机应用在查询(212)中所提供的内容可以因此用于获得关于在实际应用中的新的应用版本的部署的无价信息,并且该信息通常是关于与应用服务接口的客户机应用的总数的特性的。例如,GDS可以使用客户机应用的某一版本建立世界上的位置列表,或者可以检测何处仍在使用过早的版本。在数据库中收集客户机应用所提供的信息,并且该信息可以由从负责监视并且管理大量远程客户机节点的管理中心运行的任何种类的程序利用。

版本服务器(220)继续管理在所有客户机节点中使用的客户机应用和GUI的状态列表。然后,获知当前正式使用中的应用服务器的版本,并且如上所述,基于在查询中由客户机节点提供的信息,在登录时间将状态返回(214)到每一客户机系统。状态可以取以下各值之一:

  有效:  是客户机应用和GUI的最新下载版本(N+1)的状态。  这是在新的客户机应用已经被部署并且服务器的对  应新的版本已经投入正式使用之后的正常状态。  弃用:  即客户机应用和GUI是较早版本,但仍与当前正式  使用的服务器兼容。该状态在GUI的新的版本可用,  但较早部署的GUI仍然与当前服务器兼容时使用。  根据客户机配置,告警消息在登录时可选地显示给终  端用户。  降级到版  本N:  表明新部署的客户机应用和GUI版本N+1必须运作  为版本N(而在激活对应新的服务器之前,新的客户  机应用和GUI正被分配)。如上讨论的,该状态主  要用于允许管理后向兼容服务器的激活。其也偶尔用  于管理如下文所解释的服务器的退回(至先前版本)。  无效:  即客户机应用和GUI是老版本,不与当前正式使用  的服务器兼容。客户机节点的终端用户在登录时接收  告警通知,并且通常受阻。

上述状态值是由客户机系统(216)解释的,以便根据正式使用中的应用服务器的版本而运作。此后,可以在客户机应用与负责处理它们的应用服务器(230)之间发生正常事务处理(218)。

如果,出于任何原因,已经被提升的应用服务器遇到问题并且必须移除,则必然发生退回先前版本。于是,已经下载的新的客户机应用和GUI必须设置回到“降级”状态,使得它们根据先前服务器版本再次开始运作,如在进行部署时的过渡时期中那样。如果某些客户机系统仍正使用客户机应用和GUI的先前版本,则它们的状态从“弃用”逆转为“有效”。

图3讨论了版本服务器如何管理以将状态赋予已经在登录时发出查询的客户机系统。

处理开始于客户机系统向版本服务器发出的查询中所提供的客户机应用和GUI的版本(310)。为了判定当客户机系统询问时将要返回哪种状态,版本服务器使用均针对所提供的客户机版本(310)而受检验(340)的兼容性规则,获知应用服务器的哪个版本处于正式使用中。然而,为了避免兼容性规则的激增,存在针对元规则(320)的客户机版本的在先检验。元规则用于直接消除早于给定值的所有版本号。每个客户机应用存在一个元规则。因此,如果元规则的检验失败(331),直接返回(352)“无效状态”。或者,如果客户机版本通过元规则检验(332),则需要检验兼容性规则(340)。兼容性规则实际上追踪其中正式使用中的服务器与特定客户机系统之间存在不兼容性的所有情形,使得规则不涉及的所有那些最终被声明为有效的(380)。或者,规则所涉及的客户机系统根据应用于它们的规则内容而被声明为“无效”(350)、“弃用”(360)或“降级”(370)。

图4描述了客户机系统的在线补丁,即通过使用版本服务器而带来功能增强。

使用版本服务器在包括可能涉及成千上万个客户机节点的大量客户机系统的大型网络中尤其有用。于是,新的客户机应用的部署是繁重的,而且是典型地需要花费几个星期来完成的长期任务。因为远程站点可能不在服务提供商(例如用于说明本发明的GDS)的直接控制之下,因此那些负责人(例如机场管理局)实际上可能不愿意安装应用的新的版本,因为害怕对他们的系统影响不利。本发明所支持的退回机制是对于这个担忧的一种回答,允许在严重问题的情况下返回到服务器的先前版本。根据本发明的版本服务器允许实现另外的功能增强,以在客户机应用的部署处于进行中时或在其已经被激活之后的任何时间避开将发现的问题。

如果主要阻塞问题在已经在全球部署的客户机应用版本(410)中被发现,则版本服务器(420)可以提供代码片段、补丁来规避问题,而无需重新分配整个客户机应用。为此,如图2中已经解释的那样,当版本服务器对在远程客户机系统的登录时自动发送的查询(412)应答时,在响应中添加补丁。基于查询中提供的版本号和应用名称,版本服务器识别出客户机应用版本具有功能问题。于是,版本服务器所转发的应答包括已经讨论的状态、以及功能问题的补丁(414)。在接收服务器应答时,客户机应用根据版本状态改变其运作,并且将补丁应用于自身(416)。补丁既不永久地存储也不安装在客户机应用机器中,而是每次客户机应用重新启动时应用。此后,可以在客户机应用与负责处理它们的应用服务器(430)之间恢复正常事务处理(418)。这种操作模式持续,直到再次分配新的版本。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号