CN1502190A - 网络服务器编程环境升级方法、相关***和软件产品 - Google Patents
网络服务器编程环境升级方法、相关***和软件产品 Download PDFInfo
- Publication number
- CN1502190A CN1502190A CNA028069552A CN02806955A CN1502190A CN 1502190 A CN1502190 A CN 1502190A CN A028069552 A CNA028069552 A CN A028069552A CN 02806955 A CN02806955 A CN 02806955A CN 1502190 A CN1502190 A CN 1502190A
- Authority
- CN
- China
- Prior art keywords
- higher level
- transaction
- level
- lower level
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
依据本发明的方法能实时地更换服务器(S)的编程环境,该方法是按要被替代的进程(1)和替代进程(1′)在一段时间内共存的方式进行的。由该被替代的进程(1)决定该操作的持续时间,并且能判定何时完成已在该将被替换进程(1)中进行的各事务处理。
Description
技术领域
本发明涉及使用服务器的网络;更具体地,本发明涉及用来更新这些服务器的编程环境的功能,或者换言之,涉及目前用“软件升级”表示的功能。尤其,依据本发明的该方法是在特别注意管理事务处理(transactions)的并且保持某状态的服务器的潜在应用下开发的,其中该状态的丧失会造成永久或暂时的故障。
背景技术
在必须保证不中断地或者以最少数量的中断完成某服务的情况中,服务器软件升级是特别难以处理的,因为可能造成服务的失效。
鉴于此并且为了确保一定的容错度,常用的解决办法是更换服务器。在进行升级操作时,暂时地使得不能达到该操作中所涉及的服务器或服务器组(典型地通过消除可以定位这些服务器的数据库,例如借助域名服务器(DNS)机制)并且把负载传送到保持现用的服务器上。
这种解决办法的主要缺点如下:
-判定何时可以使某个服务器无效并不总是容易的:实际中必须确保不存在正在进行的事务处理,并且必须确保在任何充当客户的部件中服务器列出的本地拷贝不含有对所涉及的服务器的引用;
-另一个和该缺点直接相关的问题是,管理操作总是相当慢的,尤其在紧急情况下(例如当必须处理潜在的安全问题时),唯一的可能是暂时中断服务。
-另外,如果该进程保持的状态的持续时间超过某事务处理的持续时间并且(常常是这样)不容易识别它的有效寿命的结束,可能丢失该状态,从而造成暂时性的故障,以及
-最后,如果(如大多数情况中发生那样)难以预测通信量趋势并且在升级操作期间出现通信量峰值,则保持现用的服务器可能在处理它们的工作负荷时遇到困难:防止该问题的唯一方法是在足以应付正常环境的机器之外至少再部署一台机器,这需要增加在别的情况下完全不必要的***冗余。
发明内容
从而本发明的目的是提供一种能克服上面概括的问题的解决办法。
依据本发明,通过一种具有在权利要求书中详细列出的特征的方法达到该目的。本发明还涉及一种关联***,或者换言之该***配置成基于上述方法操作,而且还涉及一种相关的软件产品或者代码,当在计算机上装入并运行它时能把该计算机配置成其可基于上述方法操作。
本质上,该依据本发明的解决办法涉及“热”(hot)”服务器进程替代(process replacement),其按使得将被替代的进程在一确定的时间阶段内和它的替代进程共存的方式进行。该操作的持续时间是由该替代进程决定的,从而确保在最后一个事务处理结束后该操作总会发生。可以把任何寿命更长的状态信息从一个进程传送到另一个进程,例如借助套接字(socket)或者其它双向进程间通信机制。
附图说明
下面的仅用作为例子的、不构成限制的说明将参照各附图,附图中:
图1是一个功能方块图,示出依据本发明操作的服务器的常规操作,
图2是一个采用和图1相同的形式的功能方块图,其示出如何进行图1中描述的服务器升级操作,以及
图3是一个流程图,示出如何进行图2中描述的操作。
具体实施方式
图1示意示出服务器S的总配置。该服务器例如可以是一个电信网中使用的实现SIP(会话发起协议)代理功能的服务器。
例如,它可以是位于加州Polo Alto的太阳微***公司(SunMicrosystems)制造的采用SolarisTM操作***的企业服务器。
服务器S能完成处理操作,例如整体上用1标记的处理操作。
操作1包括:
-较低层(或级-以下这二个术语是等同的)2,其和网络直接接口以确保分组接收/传输,以及
-较高层3,其处理分组,接收它们并把它们传到较低层。
层2和层3如用箭头表示那样按通常的双向通信方式接口。
由于意识到所有上述各点与本领域技术人员完全应熟悉的配置和应用准则相对应,故不必在本文中对它们提供详细说明。
在更新服务器的编程环境中(或换言之在所谓的软件升级操作中),现行的用1标识的配置必须用一个整体上用1′标记的并且类似地组织成较低层2′和较高层3′的更新配置替代,在更新或升级操作结束时较低层2′和高层3′会替代对应的层2和层3。
依据本发明的方法的意图是确保用更新版本1′代替或替代现行进程1的操作对于网络是完全透明的,换言之是按以下方式发生的,即与服务器S交互的客户机实际上不能检测出已经开始该升级操作并且所述操作正在进行中。
在保证正常管理正在进行的各事务处理,甚至在该进程保持的状态的持续时间超过事务处理的持续时间的情况中(这常常造成不能容易地识别有效寿命的结束),并且避免未预见的通信量峰值之后会造成任何困难的前提下,实现这一切。
该更新操作首先面对的是,对应于更新或升级1′的进程与现行的进程1连接,必须用整体上由4标记的自身验证的套接字或其它IPC机制替代该进程1。
当然,该要被替代的现行进程1还检查是否由同一个机器S进行该升级操作。
要被替代的现行进程1释放它的各个端口(较低层2)。这些端口立刻由升级进程1′的对应层2′捕获,层2′配置成可以选择性转向它接收到的分组流,以便作为通过信道4把该流转发到现行进程1的较高层3的准备。
接着由升级进程1 ′的较低层2′独占地接收从网络到达的分组。
在任何情况中,还把这些分组传送到进程1的正被在替换的较高层3。从而使较高层3进入好像一个滤波器那样工作的状态:如果这些报文涉及新的事务处理(或换言之升级操作开始后启动的事务处理),则把它们直接地、不再处理地传送到升级进程1′的相应较高层3′。相反,如果这些报文涉及已经在要替换的进程1的较高层3进行的事务处理,则它们继续由所述较高层3处理。
同时,二个进程1和1′可以交换和事务处理无关的状态信息。
当被替代的进程1的较高层3判定它管理的所有事务都已结束时,产生一个指示已完成升级操作的信号。在信道4发送的该信号确保升级进程1′的较低层2′不再向已升级的进程1的较高层3发送任何类型的分组或报文。关掉通信信道4,并且从而这一刻升级进程1′在各个方面都替代了进程1,而且使进程1无效。
在图3中示出的流程图中更详细地示出上面说明的完成升级操作中所采用的各个步骤。
在该流程图中,参考数字100代表该升级操作中的第一步骤,其对应于打开连接4。
参考数字102表示现行进程1检查是否在同一机器上进行升级的步骤。
当该检查的输出是负的(输出F),则不向下进行该升级操作并且在步骤104中断。
当该在步骤102进行的检查的输出是肯定的(输出V)时,在步骤106中***的各端口(或者实际中和网络的接口)从现行进程1的低层2转移到升级进程1′的低层2′,并且接着在步骤108中进行状态信息的转送。
从此刻向前,建立其中和已经在进行的事务处理有关的报文继续由现行过程1处理而和新的事务处理有关的报文由升级进程1′处理的操作环境。
具体地,参考数字110表示其中读新取报文的步骤,而参考数字112表示其中进行检查以判定刚读出的分组和已知的还是和新的事务处理有关的步骤。
当报文涉及新事务(步骤112输出F)时,把该分组标识为“新”事务处理并且从而在步骤114由升级进程1′处理。
在已读出的报文被识别成和已知的事务处理对应(步骤112输出V)时,在步骤116中由现行进程1处理该报文。
从步骤114和116开始该升级操作继续并汇合到下一个用118标记的步骤,在步骤118中判定要被替代的进程即现行进程1中的各事处理是否被认为结束。
如果还存在尚未结束的事务处理(步骤118输出F)时,在要读取一个新分组的条件下,***操作再次返回到步骤110的上游。
相反,如果已结束必须由要被替代的进程1处理的各个事务处理(步骤118输出V),***转到用120标记的最后步骤,在步骤120中关闭通信信道4,从而完成该升级操作。
自然地并且不损害本发明的基本原理,在不超出本发明的范围下,可以相对于本文中提供的说明及描述广泛地改变其实现细节和形式。
例如,对于上面参照图1和3说明的总的方法,只作为例子的并且在任何方面不构成限制的可能的改变包括:
-用信道4标识的通信机制不是套接字:其实质在于,概括地说该信道允许双向通信而且它也能肯定地确定何处要进行另一个进程。
-用较低层2′替换或替代较低层2的初始机构,除了应用于各端口或作为替代应用于各端口,还应用到其它排他地用于输入/输出功能的专用资源上。
本质上,依据本发明的方法应用于其中必须使服务中断时间为最短(虚零(virtually nil)),并且不能识别其中要处理的通信量合理地低的期间的所有情形。
Claims (9)
1.一种用于对执行至少一个进程(1)的网络服务器(S)的编程环境进行升级的方法,所述进程(1)包括一个和网络分组接口的较低层或级(2)以及一个用于处理所述分组的较高层或级(3),该方法的特征在于包括步骤:
-提供一个升级进程(1′),该升级进程(1′)包括一个和网络分组接口的相应的较低层(2′)和一个用于处理所述分组的相应的较高层(3′);所述相应的低较层(2′)和一个把网络分组从所述相应的较低层(2′)转向到所述较高层(3)的通信信道(4)关联,
-用所述相应的较低层(2′)替代(106)所述较低层(2),
-检查(112)从所述相应的低层(2′)接收的分组是和已在所述较高层(3)进行的事务处理还是和新的事务处理有关,
-在所述较高层(3)处理(114)和已在较高层(3)上进行的事务处理有关的分组,
-在所述相应的较高层(3′)上处理(116)和新事务处理有关的分组,
-判定(118)是否已经完成已在所述较高层(3)上进行的各事务处理,以及
-当已经结束已在所述较高层(3)上进行的所述各事务处理时,关闭(120)所述通信信道(4),以完成对服务器(S)的编程升级。
2.依据权利要求1的方法,其特征在于:该方法包括为了进行所述编程升级而检查(102)是否在单个服务器(S)上进行所述编程升级的步骤。
3.依据权利要求1或2的方法,其特征在于:所述用所述相应的较低层(2′)替代所述较低层(2)的步骤包括把所述较低层(2)的各网络端口转移到所述相应的较低层(2′)上的步骤。
4.依据上述任一权利要求的方法,其特征在于:所述检查(112)接收到的分组是和已在所述较高层(3)上进行的事务处理还是和新事务处理有关的步骤是在所述较高层(3)进行的,所述较高层(3)配置成通过所述通信信道(4)把和新事务处理有关的分组转发到所述相应的较高层(3′)。
5.依据上述任一权利要求的方法,其特征在于:该方法包括把所述通信信道(4)配置成在要被升级的进程(1)和升级进程(1′)之间交换状态信息(108)。
6.依据上述任一权利要求的方法,其特征在于:该方法包括把所述通信信道(4)配置成套接字的步骤。
7.一种网络服务器,其被配置成利用权利要求1至6中任一权利要求的方法对编程环境进行升级。
8.依据权利要求7的服务器,其特征在于:所述服务器是会话发起协议(SIP)代理。
9.一种可直接装入计算机存储器的软件产品,其包括当在计算机上运行时可实现依据权利要求1至6中任一权利要求的方法的编程代码部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ITTO01AOOO264 | 2001-03-21 | ||
IT2001TO000264A ITTO20010264A1 (it) | 2001-03-21 | 2001-03-21 | Procedimento per l'aggiornamento delle condizioni di programmazione di server di rete, relativo sistema e prodotto informatico. |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1502190A true CN1502190A (zh) | 2004-06-02 |
CN1229944C CN1229944C (zh) | 2005-11-30 |
Family
ID=11458712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028069552A Expired - Lifetime CN1229944C (zh) | 2001-03-21 | 2002-03-12 | 网络服务器编程环境升级方法及使用该方法的网络服务器 |
Country Status (12)
Country | Link |
---|---|
US (1) | US7644189B2 (zh) |
EP (1) | EP1371172B1 (zh) |
JP (1) | JP4025650B2 (zh) |
KR (1) | KR100865516B1 (zh) |
CN (1) | CN1229944C (zh) |
AT (1) | ATE339821T1 (zh) |
CA (1) | CA2441402C (zh) |
DE (1) | DE60214688T2 (zh) |
ES (1) | ES2275855T3 (zh) |
IT (1) | ITTO20010264A1 (zh) |
RU (1) | RU2304353C2 (zh) |
WO (1) | WO2002076020A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100450014C (zh) * | 2005-09-01 | 2009-01-07 | 腾讯科技(深圳)有限公司 | 一种网络服务在线升级的方法 |
CN100464522C (zh) * | 2007-05-17 | 2009-02-25 | 华为技术有限公司 | 一种进程升级的方法及进程升级*** |
CN101442437B (zh) * | 2008-10-31 | 2011-05-04 | 金蝶软件(中国)有限公司 | 一种实现高可用性的方法、***及设备 |
CN101399692B (zh) * | 2007-09-27 | 2011-12-21 | 华为技术有限公司 | 业务迁移的方法和*** |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4957765B2 (ja) * | 2009-08-24 | 2012-06-20 | 日本電気株式会社 | ソフトウェアプログラム実行装置、ソフトウェアプログラム実行方法、及びプログラム |
US8997080B2 (en) * | 2013-02-11 | 2015-03-31 | Citrix Systems, Inc. | System updates with personal virtual disks |
CN104216725B (zh) * | 2013-06-04 | 2019-04-19 | Sap欧洲公司 | 用于软件解决方案托管的存储库层策略调整 |
JP6296612B2 (ja) * | 2014-08-27 | 2018-03-20 | 日本電信電話株式会社 | ネットワークシステム及びそのバージョン変更方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5410703A (en) * | 1992-07-01 | 1995-04-25 | Telefonaktiebolaget L M Ericsson | System for changing software during computer operation |
US5359730A (en) * | 1992-12-04 | 1994-10-25 | International Business Machines Corporation | Method of operating a data processing system having a dynamic software update facility |
SE504943C2 (sv) * | 1994-12-09 | 1997-06-02 | Ericsson Telefon Ab L M | Synkroniseringsförfarande som tillåter tillståndsöverföring |
DE19652628A1 (de) * | 1996-12-18 | 1998-06-25 | Philips Patentverwaltung | Kommunikationssystem |
US7107329B1 (en) * | 1999-05-21 | 2006-09-12 | Lucent Technologies Inc. | In networks of interconnected router nodes for routing data traffic, a method of and system for imperceptibly upgrading router node software and the like without traffic interruption |
US6856317B2 (en) * | 2003-04-16 | 2005-02-15 | Hewlett-Packard Development Company, L.P. | System and method for storing public and secure font data in a font file |
-
2001
- 2001-03-21 IT IT2001TO000264A patent/ITTO20010264A1/it unknown
-
2002
- 2002-03-12 KR KR1020037012075A patent/KR100865516B1/ko active IP Right Grant
- 2002-03-12 RU RU2003130971/09A patent/RU2304353C2/ru active
- 2002-03-12 AT AT02717056T patent/ATE339821T1/de not_active IP Right Cessation
- 2002-03-12 JP JP2002573368A patent/JP4025650B2/ja not_active Expired - Fee Related
- 2002-03-12 ES ES02717056T patent/ES2275855T3/es not_active Expired - Lifetime
- 2002-03-12 US US10/472,416 patent/US7644189B2/en active Active
- 2002-03-12 EP EP02717056A patent/EP1371172B1/en not_active Expired - Lifetime
- 2002-03-12 CN CNB028069552A patent/CN1229944C/zh not_active Expired - Lifetime
- 2002-03-12 CA CA2441402A patent/CA2441402C/en not_active Expired - Lifetime
- 2002-03-12 DE DE60214688T patent/DE60214688T2/de not_active Expired - Lifetime
- 2002-03-12 WO PCT/IT2002/000152 patent/WO2002076020A1/en active IP Right Grant
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100450014C (zh) * | 2005-09-01 | 2009-01-07 | 腾讯科技(深圳)有限公司 | 一种网络服务在线升级的方法 |
CN100464522C (zh) * | 2007-05-17 | 2009-02-25 | 华为技术有限公司 | 一种进程升级的方法及进程升级*** |
US8495610B2 (en) | 2007-05-17 | 2013-07-23 | Huawei Technologies Co., Ltd. | Method and system for process upgrade |
CN101399692B (zh) * | 2007-09-27 | 2011-12-21 | 华为技术有限公司 | 业务迁移的方法和*** |
CN101442437B (zh) * | 2008-10-31 | 2011-05-04 | 金蝶软件(中国)有限公司 | 一种实现高可用性的方法、***及设备 |
Also Published As
Publication number | Publication date |
---|---|
ITTO20010264A1 (it) | 2002-09-21 |
ITTO20010264A0 (it) | 2001-03-21 |
RU2003130971A (ru) | 2005-04-10 |
JP4025650B2 (ja) | 2007-12-26 |
DE60214688T2 (de) | 2007-09-13 |
KR20030086606A (ko) | 2003-11-10 |
DE60214688D1 (de) | 2006-10-26 |
KR100865516B1 (ko) | 2008-10-29 |
CN1229944C (zh) | 2005-11-30 |
CA2441402C (en) | 2011-05-10 |
EP1371172A1 (en) | 2003-12-17 |
RU2304353C2 (ru) | 2007-08-10 |
CA2441402A1 (en) | 2002-09-26 |
ATE339821T1 (de) | 2006-10-15 |
US20040088693A1 (en) | 2004-05-06 |
JP2004526246A (ja) | 2004-08-26 |
EP1371172B1 (en) | 2006-09-13 |
US7644189B2 (en) | 2010-01-05 |
ES2275855T3 (es) | 2007-06-16 |
WO2002076020A1 (en) | 2002-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2006227302B2 (en) | Connection forwarding | |
CN101741855B (zh) | 地址解析协议缓存表维护方法和网络设备 | |
US20130254339A1 (en) | Safe Output Protocol for Files to Multiple Destinations with Integrity Check | |
JP4974964B2 (ja) | ロードバランス型ネットワーク環境におけるインテリジェントフェイルオーバー | |
CN1859182A (zh) | 一种对光网络单元onu进行版本升级的方法 | |
CN1229944C (zh) | 网络服务器编程环境升级方法及使用该方法的网络服务器 | |
CN101043398A (zh) | 一种动态共享连接的方法和*** | |
CN1210934C (zh) | 通信网络用于实现跨越网络节点的用户移动性的方法 | |
CN1992672A (zh) | 一种防止由于地址老化时间不一致导致网络中断的方法 | |
CN100454901C (zh) | 一种arp报文处理方法 | |
CN1832458A (zh) | 用于实现应用服务器功能性的方法和接入节点 | |
CN1308278A (zh) | 集群服务器的ip容错方法 | |
US20100306384A1 (en) | Multi-directional secure common data transport system | |
CN1801790A (zh) | 使用浮动ip地址提高数据通信可靠性的方法 | |
CN1152517C (zh) | 防范网络攻击的方法 | |
CN1120418C (zh) | 利用“移动软件代理”与移动数据处理设备进行通信的***和方法 | |
US20070266159A1 (en) | System and Method for Communication Between Remote Objects and Local Proxies | |
Hafiz et al. | The security architecture of qmail | |
CN1567905A (zh) | 一种实现媒体网关监测媒体网关控制器运作状态的方法 | |
CN1235346C (zh) | 提高接入服务器路由转发可靠性的方法 | |
CN101064668A (zh) | 一种分布式路由子***在ipv6协议栈的实现方法 | |
CN1842011A (zh) | 一种基于流量进行计费的改进方法和*** | |
CN101060462A (zh) | 一种数据恢复方法、装置、存储服务器及dhcp服务器 | |
CN101060469A (zh) | 实现流控制传输协议多归属特性的***和方法 | |
CN1716876A (zh) | 维护专用分支交换机***的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20051130 |
|
CX01 | Expiry of patent term |