CN107040580B - 管理服务器***、升级***以及升级***的方法 - Google Patents
管理服务器***、升级***以及升级***的方法 Download PDFInfo
- Publication number
- CN107040580B CN107040580B CN201710048475.1A CN201710048475A CN107040580B CN 107040580 B CN107040580 B CN 107040580B CN 201710048475 A CN201710048475 A CN 201710048475A CN 107040580 B CN107040580 B CN 107040580B
- Authority
- CN
- China
- Prior art keywords
- address
- request
- server
- dns
- host name
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及管理服务器***、升级***以及升级***的方法。API主机名和HTML主机名被分开定义,并且从完成针对API的DNS切换起经过一定时间间隔之后,进行针对HTML的DNS切换。从而防止从新版本的HTML画面调用旧版本的API。
Description
技术领域
本发明涉及用于管理包括web应用服务的服务器的管理服务器***、升级***和升级***的方法。
背景技术
近些年,通过互联网上的服务器提供的服务已经变得流行。可以在能够被来自全世界的用户使用服务的模式下操作这些服务。在这样的操作模式下,难以在特定时段期间停止***来进行服务维护。因此,对在不停止服务的情况下进行维护工作的技术的需求越来越大。日本特许第4083049号和日本特开2004-295605号公报讨论了如下传统技术:通过对来自客户的请求向服务器的分发进行控制,在不停止服务的情况下,进行服务器维护或服务器切换。
随着web应用技术的进步,传统配置(服务器生成超文本标记语言(HTML)格式的画面并将该画面发送给客户)正转变为如下技术,例如REST(表述性状态转移)-ful MVC(模型-视图-控制器)和客户侧MVC。根据这样的技术,服务器经由REST接口(I/F)执行处理并仅将数据返回给客户。在客户侧生成画面。
发明内容
根据本发明的一方面,一种管理服务器***,所述管理服务器***能够与分发服务器和一个或更多个DNS服务器进行通信,DNS服务器返回IP地址,所述IP地址与针对名称解析的请求而接收的主机名相对应,所述分发服务器将来自客户的针对HTML请求和API请求的处理请求,发送给与从DNS服务器返回的IP地址相对应的***,所述管理服务器***包括:构造单元,其用于在信息处理装置中部署用于构造***环境的程序,以构造***;以及设置单元,其用于针对各个与HTML请求相对应的主机名和各个与API请求相对应的主机名,设置由所述构造单元构造的***的IP地址,所述主机名登记在DNS服务器中,其中,在所述构造单元构造新***之后,所述设置单元开始将当前IP地址重写为新***的IP地址,所述当前IP地址是针对与API请求相对应的主机名而设置的,并且,响应于确认完成了对与来自所述分发服务器的针对名称解析的请求相对应的所有DNS服务器的重写,开始将针对与HTML请求相对应的主机名而设置的IP地址重写为新***的IP地址。
根据下面参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。
附图说明
图1是示出***构造的框图。
图2是示出各个装置的硬件构造的框图。
图3是示出各个装置的软件模块构造的框图。
图4是示出从客户终端到应用服务器的通信的示意图。
图5是示出当执行应用时由客户服务器进行的处理的流程的序列图。
图6是示出升级处理的流程图。
图7A、7B、7C、7D和7E是各自示出在升级处理期间的***配置的图。
图8是示出升级处理的流程图。
图9是示出升级处理的流程图。
具体实施方式
存在称为蓝绿部署的方法,作为一种用于在不停止服务的情况下切换***的技术。蓝绿部署是用于在将当前运行的***维持在运行状态的同时构造新***,然后将客户的连接切换到新***的技术。使用蓝绿部署的***切换可以通过改变在DNS中登记的主机名的IP地址设置来切换***。
但是,存在这样的问题。如果存在多个用于名称解析的DNS服务器,则由于在DNS服务器之间的IP地址设置的同步中存在时间差,名称解析的请求者可能会获得旧***的IP地址和新***的IP地址二者。即使切换在DNS中登记的主机的IP地址,也并不是所有的访问都立即指向新***。因此,被访问的***是新***还是旧***是不清楚的。
本发明旨在提供防止发生经由由新***提供的HTML画面而向旧***进行API调用的***。
根据本发明,可以防止经由由新***提供的HTML画面而向旧***进行API调用。
下面将参照附图描述用于执行本发明的模式。
在第一示例性实施例中,在互联网上的服务器中部署应用。应用与客户终端协作提供各种功能。提供这些功能的应用将被称为服务。对客户终端进行的功能的提供将被称为服务的提供。
图1示出根据本示例性实施例的***构造。根据本示例性实施例的升级***包括管理服务器140、DNS 180和分发服务器130。应用服务器110和120提供服务。在图1中,服务器被示出为各自包括一个信息处理装置。然而,应当注意,不特别限制构成各个服务器的信息处理装置的数量。客户终端150使用服务。
在本示例性实施例中,将广域网(WAN)100构造为万维网(World Wide Web)(WWW)***。局域网(LAN)101连接组件。LAN 102类似于LAN 101,但是通常被构造为不能经由WAN100访问的内部网络。如同LAN 101,LAN 102可以被构造为与WAN 100直接连接并可以从WAN100访问。
应用服务器110和120各自包括一个或多个信息处理装置。在具有如图1所示的构造的网络上实施应用服务器110和120。应用服务器110是当前提供服务的应用服务器。应用服务器120是下一个提供服务的***。应用服务器110和120之间的***切换不一定仅为升级目的而执行。
分发服务器130一般包括多个信息处理装置,但是可以由单个信息处理装置构成。分发服务器130具有从客户终端150向应用服务器110和120中的合适的应用服务器分发访问的功能。管理服务器140一般包括多个信息处理装置,但是可以由单个信息处理装置构成。管理服务器140管理构成应用服务器110和120的程序,并进行应用服务器110和120的构建及切换处理。
客户终端150是安装有web浏览器的信息处理装置。客户终端150的示例包括个人计算机和诸如智能电话的移动终端。DNS 180是解析网络上的服务器的主机名并返回访问目的地的IP地址的***。DNS 180的信息处理装置可以简称为DNS,并可以称为DNS服务器。在任一情况下,DNS 180是具有响应于名称解析请求而向请求者返回IP地址的功能的***。利用蓝绿部署,通过将与在DNS 180中登记的主机名相对应的IP地址,从应用服务器110的IP地址重写为应用服务器120的IP地址,来实现服务切换。分发服务器130将来自客户终端150的请求发送到应用服务器。更具体地,分发服务器130将与来自客户150的请求相对应的数据发送到由DNS 180进行了名称解析的应用服务器110和120中的任一个。这意味着,分发服务器130从DNS 180获得与设置的传输目的地主机名相对应的应用服务器的IP地址,并且连接到运行中的应用服务器110和120中的任一个。
以上是本升级***中包括的装置的描述。如上所述,各服务器可以被构造为各自包括一个或多个信息处理装置。如此处所采用的,服务器因此可称为服务器***,以涵盖这两种构造。例如,如果将管理服务器140称为管理服务器***,则管理服务器140意味着包括单个信息处理装置或者含有多个信息处理装置的服务器组。
图2示出了包括应用服务器110和120、分发服务器130、管理服务器140、客户终端150和DNS 180的信息处理装置的典型的硬件构造。中央处理单元(CPU)231执行在只读存储器(ROM)233的程序ROM中存储的程序或者从诸如硬盘(HD)的外部存储器241加载到随机存取存储器(RAM)232中的程序。程序的示例包括在计算机中运行的操作***(OS)以及应用。CPU 231还控制连接到***总线234的块。通过执行OS来实现下面将要描述的序列的处理。RAM 232用作CPU 231的主存储器和工作区域。操作单元I/F 235控制来自操作单元239的输入。阴极射线管(CRT)控制器(CRTC)236控制CRT显示器240的显示。盘控制器(DKC)237控制对存储各种类型的数据的外部存储器241(例如HD等)的数据访问。网络控制器(NC)238进行与经由WAN 100和/或LAN 101和/或102连接的服务器计算机和其他设备的通信控制处理。
贯穿下面的所有描述,除非另有指定,否则执行软件的硬件代理是CPU 231,软件代理是安装在外部存储器241上的应用程序。在信息处理装置中安装和部署应用程序,并且CPU 231执行部署的应用程序以实现具有图3中所示的软件构造的***环境。
图3是示出应用服务器110和120、分发服务器130、管理服务器140、客户终端150和DNS 180的各自的软件构造的图。
应用服务器110和120包括应用服务319。应用服务319包括web服务器模块310和API模块311。web服务器模块310典型地使用Jetty或者Apache Tomcat来分发HTML数据和JavaScript(注册商标)并且/或者提供用于API模块311的执行环境。应用服务器110和120执行web服务器模块310以实现与HTTP相关的处理。示例包括生成HTML格式的显示画面并向客户终端150提供生成的显示画面。应用服务器110和120还执行API模块311以实现API处理。web服务器模块310和API模块311二者响应于对来自客户的请求的处理请求的接收,进行各种类型的处理。
分发服务器130包括分发服务330。分发服务330包括分发模块331和分发设置332。分发模块331基于客户终端150在对分发服务器130的访问中使用的统一资源定位符(URL),根据分发设置332确定客户终端150对应用服务器110或120的访问。下面将描述分发设置332的详情。
管理服务器140包括管理服务349。管理服务349包括程序管理模块340、构建模块341和部署模块342。程序管理模块340管理用于构建应用服务器110和120的***环境的程序。构建模块341将由程序管理模块340管理的程序构建为可执行模块。部署模块342将由构建模块341生成的可执行模块部署到信息处理装置,并且构建应用服务器110和120的***构造以进行应用服务319的升级处理。
DNS 180包括DNS服务380。DNS服务380基于IP地址设置381用IP地址应答名称解析请求。下面将描述IP地址设置381的详情。客户终端150包括用于访问应用服务器110和120的web浏览器350。
图4是示意性地示出根据本示例性实施例的客户终端150访问应用服务器110的通信路径的图。作为示例性实施例,应用服务器110包括分别提供不同服务的应用服务器401、402和403。在图4中,将描述分发服务器(分发服务器***)130的行为。
向应用服务器401分配两种类型的主机名“app1.local”和“appapi1.local”。类似地,应用服务器402具有主机名“app2.local”和“appapi2.local”。应用服务器403具有主机名“app3.local”和“appapi3.local”。分配两种类型主机名的原因是将HTML请求与AP请求分开。下面将描述这种处理的详情。分发服务器130具有主机名“www.example.com”。
用户将分配给分发服务器130的主机名和访问路径输入到客户终端150的web浏览器350中。URL的示例是“https://www.example.com/app1/login”。客户终端150的web浏览器350向分发服务器130发出请求。
接收请求的分发服务器130参照分发设置332并确定要将请求分发到的服务器(分发目的地)。将参照表1描述分发设置332的具体示例。在下面的设置中,对以“/app1”开头的路径的访问被设置为传输到“https://app1.local”服务器,并因此被传输到应用服务器401。对以“/appapi1”开头的路径的访问被传输到“https://appapi1.locald”服务器,并因此也被传输到应用服务器401。
表1
分发设置332
路径 | 传输目的地URL |
/app1* | https://app1.local |
/appapi1* | https://appapi1.local |
/app2* | https://app2.local |
/appapi2* | https://appapi2.local |
/app3* | https://app3.local |
/appapi3* | https://appapi3.local |
图5是示出根据本示例性实施例的客户终端150的web浏览器350从应用服务器110获得画面并执行应用的处理的流程的序列图。
在步骤S501中,客户终端150的web浏览器350发出HTML请求。在步骤S502中,接收HTML请求的分发服务器130基于被请求的URL和分发设置332确定应用服务器110为分发目的地。如果客户终端150通过包括以“/app1”开头的路径的URL访问分发服务器130,则确定“https://app1.local”的应用服务器110为分发目的地。在步骤S503中,为向“https://app1.local”发出请求,分发服务器130向DNS 180发送用于名称解析的请求。DNS 180管理如表2所示的主机名和IP地址。在步骤S504中,DNS 180基于这样的设置信息返回IP地址。如果主机名为“app1.local”,则DNS 180返回“192.168.0.1”。用于指定主机名的方法不限于本示例性实施例中的方法。可以向DNS 180发送包括在URL中的主机名的一部分。主机名不一定包括域名。
表2
IP地址设置381
在步骤S505中,获得IP地址的分发服务器130向具有该IP地址的服务器发出针对HTML请求的处理请求。在步骤S506中,分发服务器130获得HTML数据。在步骤S507中,分发服务器130向web浏览器350返回获得的HTML数据。在步骤S511中,在显示返回的HTML数据时,web浏览器350通过已写入HTML数据的JavaScript(注册商标)调用API。web浏览器350向与画面上的URL不同的URL,诸如“https://www.example.com/appapi1/v1/function1”做出API调用。在步骤S512中,如同对HTML请求一样,接收作为API请求的API调用的分发服务器130确定分发目的地为“http://appapi1.local”的应用服务器110。在步骤S513中,为向“http://appapi1.local”发送针对API请求的处理请求,分发服务器130向DNS 180做出名称解析的请求。在表2的示例中,“app1.local”和“appapi1.local”对应于相同的IP地址。在步骤S514中,DNS 180因此返回与步骤S504中相同的值。注意,可以改变设置值使得针对HTML请求而要被访问的服务器与针对API调用而要被访问的服务器不同。在步骤S515至S517的一系列处理中,分发服务器130向web浏览器350返回API的处理结果。在步骤S520中,web浏览器350基于步骤S517的API的处理结果显示画面。
接下来,将参照图6、图7A、图7B、图7C、图7D和图7E描述在根据本示例性实施例的升级***中,管理服务器140的部署模块342从应用服务器110切换到应用服务器120的方法。图6、图7A、图7B、图7C、图7D和图7E示出用于将应用服务器110的应用服务319升级为在应用服务器120中部署的新版本的应用服务319的方法。图6示出了由部署模块342进行的升级处理的流程图。图7A、图7B、图7C、图7D和图7E各自示出升级处理期间的***配置。
当通过管理服务器140开始升级处理时,部署模块342进行图6中示出的一系列处理。在步骤S601中,为构造图7A、图7B、图7C、图7D和图7E中示出的应用服务器701,部署模块342初始配置一个或多个信息处理装置。通常通过配置虚拟信息处理装置实现蓝绿部署。虚拟信息处理装置是用于在信息处理装置的硬件上生成多个虚拟信息处理装置的技术。可以通过程序控制虚拟信息处理装置的生成和删除。例如,可以根据部署需要而生成许多虚拟信息处理装置,并且可以在虚拟信息处理装置上部署用于构成应用服务319的模块,来构造应用服务器701。不再被需要的虚拟信息处理装置可被立即删除。这使得能够快速容易地实现蓝绿部署。本发明不限于虚拟信息处理装置,并且可以通过一个或多个物理信息处理装置来构造应用服务器701。在这种情况下,不进行步骤S601的处理,但是需要预先构造打算用于应用服务器701的信息处理装置。然后对这样的信息处理装置进行转换处理。
在步骤S602中,部署模块342进行模块部署。部署模块342在步骤S601中生成的信息处理装置上部署web服务器模块310和API模块311。如果升级是期望的,则向web服务器模块310添加新的HTML画面。向API模块311添加新的API。新的HTML画面可以调用新的API。由此完成了图7A中示出的应用服务器701的构造。在这个阶段,仅将升级的应用服务器701添加到升级***中。分发服务器130不向应用服务器701发送任何处理请求。
在本示例性实施例中,DNS 180包括两个DNS,一级DNS 702和二级DNS 703。由于诸如可用性和性能等的原因,DNS 180一般包括多个DNS而不是单个DNS。一级DNS 702是主DNS。二级DNS 703是与一级DNS 702的设置同步的子DNS。对于名称解析,分发服务器130可以使用一级DNS 702或者二级DNS 703来解析名称。在这个阶段,一级DNS 702的IP地址设置381包括“192.168.0.1”(应用服务器401的IP地址),作为HTML主机设置和API主机设置。由于完成了一级DNS 702和二级DNS 703之间的同步,因此,二级DNS 703的IP地址设置381也包括“192.168.0.1”,作为HTML主机设置和API主机设置。在这个阶段,如同升级之前,分发服务器130通过路径711和712向应用服务器401发送用于请求的处理请求。
在步骤S603中,部署模块342进行针对API主机名的DNS切换处理。更具体地,部署模块342将为主机名“appapi1.local”设置的、与一级DNS 702中的API请求对应的当前的IP地址重写为应用服务器701的IP地址的值“192.168.0.2”。图7B是示出完成了直到步骤S603中的处理的状态的框图。在获得HTML数据时,分发服务器130通过路径711或712向应用服务器401发送用于请求的处理请求。在调用API时,如果在步骤S513中,一级DNS 702被用来进行名称解析,则分发服务器130通过路径713或714向应用服务器701发送用于请求的处理请求。如果在步骤S513中,二级DNS 703被用来进行名称解析,则分发服务器130通过路径711或712向应用服务器401发送用于请求的处理请求。在这个阶段,向应用服务器401和701中的任一个发送API调用。调用哪个API根据请求而变化。
由于应用服务器701包括与应用服务器401的API相同的API,所以可以处理在由应用服务器401提供的HTML数据中指定的API调用而不会出现问题。原因是只要考虑HTML主机的切换,则一级DNS 702和二级DNS 703二者均参照蓝应用服务器401的IP地址。在客户终端150上显示的显示画面是不支持新API的显示画面。由于添加到应用服务器701的新HTML数据不提供给客户终端150,所以不使用仅添加到应用服务器701的API。
在步骤S604中,部署模块342检查一级DNS 702和二级DNS 703是否针对API主机名同步。更具体的,部署模块342利用一级DNS 702和二级DNS 703进行“appapi1.local”的名称解析,并确定是否从一级DNS 702和二级DNS 703中获得了在步骤S604中设置的值“192.168.0.2”。如果获得的值中的任一个是应用服务器401的IP地址“192.168.0.1”(步骤S604中的“否”),则重复步骤S604。如果获得的值是应用服务器701的IP地址“192.168.0.2”(步骤S604中的“是”),则处理进行到步骤S605。如果DNS 180包括三个或更多个DNS,则部署模块342检查除了IP地址已被重写的DNS之外的所有DNS中的IP地址。图7C是步骤S604的处理之后和步骤S605的处理开始之前的阶段的框图。二级DNS 703的IP地址设置381与一级DNS 702的IP地址设置381同步。在获得HTML数据时,分发服务器130通过路径711和712向应用服务器401传输请求。在调用API时,分发服务器130通过路径713和714向应用服务器701发送所有请求。
在步骤S605中,部署模块342进行针对HTML主机名的DNS切换处理。更具体地,部署模块342将与一级DNS 702中的HTML请求对应的主机名“app1.local”的IP地址重写为应用服务器701的IP地址的值,“192.168.0.2”。图7D是示出完成了直到步骤S605的处理的状态的框图。在获得HTML数据时,如果使用一级DNS 702进行步骤S503中的名称解析,则分发服务器130通过路径713或714将请求传输到应用服务器701。如果使用二级DNS 703进行步骤S503中的名称解析,则分发服务器130通过路径711或712将请求传输到应用服务器401。在这个阶段,在获得HTML数据时向应用服务器401和701的哪个部分发送请求,根据请求而变化。由于向应用服务器701传输全部的API调用,所以可以处理从应用服务器701获得的新HTML数据中指定的API调用,而不出现问题。
由此完成了部署模块342的处理。经过一定时间之后,将二级DNS 703的IP地址设置381与一级DNS 702中的IP地址设置同步,并且将针对HTML主机名的IP地址设置为“192.168.0.2”。图7E示出最终配置。在这个阶段,分发服务器130通过路径713和714将全部请求传输到应用服务器701。
由此完成了应用服务319的升级处理。分别定义API主机名和HTML主机名,并且在进行针对HTML主机名的DNS切换之前的一定时间间隔,完成针对API主机名的DNS切换。这能够防止从新***的HTML画面使用旧***的API。作为该效果的示例,可以避免下列情形。假设在客户终端150上显示由升级后的新***提供的HTML格式的画面。从该画面调用尚未升级的旧***的API。换言之,通过DNS名称解析向新***分发用于获取画面的请求,并通过DNS名称解析向旧***分发用于经由画面使用API的请求。在这种情况下,旧***不包括用于由新***提供的新功能的新API,并且来自客户终端150的请求不能被适当地处理,并且不能向用户返回期望的结果。
在第一示例性实施例中,描述了分发服务器130每次通过DNS 180进行用于主机名名称解析处理的步骤S503和S515。在这种情况下,由于向DNS 180发送用于名称解析处理的大量请求,因此存在高负荷的问题。还存在这样的问题,每次进行名称解析相应地减小了整个***的处理量。为此,可以设置分发服务器130将在步骤S504和S514中获得的IP地址存储一定时间段,并且,如果利用相同的主机名访问,则重复使用前先获得的IP地址而不进行步骤S503或S513中的处理。
在这种情况下,存在这样的时段,在该时段期间,分发服务器130不向DNS 180发送用于名称解析的请求,并且通过使用先前获得的IP地址进行名称解析,尽管在步骤S604中完成了针对API主机名的DNS同步。这会引起如下情形:当DNS 180已经被切换到关于显示画面的新***时,分发服务器130没有立即将访问目的地的IP地址切换到新***的IP地址。结果是,在一个分发服务器130可以根据通过DNS 180的名称解析向新***分发用于显示画面的请求的同时,另一分发服务器130使用旧***的缓存IP地址向旧***分发API请求。其原因是构成分发服务器130的服务器组在各自不同的定时存储IP地址,并且直到新设置值反映在全部分发服务器130上存在时间间隔。因此,不能防止从新***的HTML画面使用旧***的API的问题。第二示例性实施例描述了用于解决这种问题的方法。除非下面另有描述,否则第二示例性实施例与第一示例性实施例类似。
图8是示出根据本示例性实施例的由部署模块342进行的升级处理的流程图。步骤S601至S605与参照图6描述的处理中的步骤S601至S605类似。在步骤S801中,部署模块342以预定的等待时间进行等待处理。例如,如果将对分发服务器130的DNS名称解析的缓存时间设置为60秒,则在步骤S801中,部署模块342空闲等待60秒或更久。在本示例性实施例中,假设进行了除缓存时间60秒外还有一定时间的等待处理。这确保分发服务器130的缓存被升级。在管理服务器140等待的同时,在所有分发服务器130内的用于DNS名称解析的缓存到期。随着缓存到期,分发服务器130在步骤S513中发出名称解析请求,从而获得应用服务器701的IP地址。等待时间可以由用户或者与分发服务器130通信的管理服务器140预先设置,以检查缓存时间的设置。但是,这不是限制性的。本发明的示例性实施例的实质是:等待直到升级***的所有分发服务器130中的缓存到期,并且分发服务器130准备好向DNS 180发出名称解析请求。
如上所述,即使分发服务器130包括用于名称解析的缓存,也可以提供预定的等待时间以防止从新***的HML画面使用旧***的API。
第三示例性实施例描述了用于更可靠地解决问题的另一种方法。除非下面另有描述,否则第三示例性实施例与第一示例性实施例类似。图9是示出根据本示例性实施例的由部署模块342进行的升级处理的流程图。步骤S601至S605与参照图6描述的处理中的步骤S601至S605类似。在步骤S901中,部署模块342进行访问日志分析处理。应用服务器401一般输出来自客户终端150的所有HTML请求和API请求的、关于在何时访问了哪个URL路径的日志。部署模块342分析这类日志并确认,例如以路径“/app1*”开头的HTML画面已被访问,但是在一定时间段内没有做出以路径“/appapi1*”开头的API调用。如果日志包括API请求在一定时间段内没有做出这样的API调用,则确认分发服务器130正在向应用服务器701发送用于API请求的处理请求。
如上所述,尽管分发服务器130包括用于名称解析的缓存,但是可以分析访问日志以防止从新***的HTML画面使用旧***的API。
其他实施例
还可以通过读出并执行记录在存储介质(也可更完整地称为“非暂时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能、并且/或者包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(ASIC))的***或装置的计算机,来实现本发明的实施例,并且,可以利用通过由***或装置的计算机例如读出并执行来自存储介质的计算机可执行指令以执行上述实施例中的一个或更多个的功能、并且/或者控制一个或更多个电路以执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。计算机可以包括一个或更多个处理器(例如,中央处理单元(CPU)、微处理单元(MPU)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行计算机可执行指令。计算机可执行指令可以例如从网络或存储介质被提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算***的存储器、光盘(诸如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存装置以及存储卡等中的一个或更多个。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给***或装置,该***或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然已经参照示例性实施例对本发明进行了描述,但是应该理解,本发明不限于所公开的示例性实施例。应当对以下权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构及功能。
Claims (11)
1.一种管理服务器***,所述管理服务器***能够与分发服务器和一个或更多个DNS服务器进行通信,DNS服务器返回IP地址,所述IP地址与针对名称解析的请求而接收的主机名相对应,所述分发服务器将来自客户的针对HTML请求和API请求的处理请求,发送给与从DNS服务器返回的IP地址相对应的***,所述管理服务器***包括:
构造单元,其用于在信息处理装置中部署用于构造***环境的程序,以构造***;以及
设置单元,其用于针对各个与HTML请求相对应的主机名和各个与API请求相对应的主机名,设置由所述构造单元构造的***的IP地址,所述主机名登记在DNS服务器中,
其中,在所述构造单元构造新***之后,所述设置单元开始将当前IP地址重写为新***的IP地址,所述当前IP地址是针对与API请求相对应的主机名而设置的,并且,响应于确认完成了对与来自所述分发服务器的针对名称解析的请求相对应的所有DNS服务器的重写,开始将针对与HTML请求相对应的主机名而设置的IP地址重写为新***的IP地址。
2.根据权利要求1所述的管理服务器***,其中,所述设置单元将与API请求相对应的主机名与针对名称解析的请求一起发送给所有DNS服务器,并且确定所有DNS服务器是否返回新***的IP地址以确认重写的完成。
3.根据权利要求1或2所述的管理服务器***,
其中,所述分发服务器具有缓存从DNS服务器返回的IP地址的功能,并且读取与主机名相对应的缓存的IP地址,并在不向DNS服务器发送针对名称解析的请求的情况下向与读取的IP地址相对应的***发送处理请求,并且
其中,在确认完成了对所有DNS服务器的重写之后,所述设置单元还等待直到完成用于将由向DNS服务器发送针对名称解析的请求的分发服务器缓存的IP地址升级为新***的IP地址的处理,然后开始将针对与HTML请求相对应的主机名而设置的IP地址重写为新***的IP地址。
4.根据权利要求3所述的管理服务器***,其中,所述设置单元等待直到完成用于将由分发服务器缓存的IP地址升级为新***的IP地址的处理,之后还等待一定时间,然后开始将针对与HTML请求相对应的主机名而设置的IP地址重写为新***的IP地址,所述分发服务器是向DNS服务器发送针对名称解析的请求的服务器。
5.根据权利要求1或2所述的管理服务器***,其中,在确认完成了对所有DNS服务器的重写之后,响应于在一定时间段内未输出日志的确认,所述设置单元开始将针对与HTML请求相对应的主机名而设置的IP地址重写为新***的IP地址,所述日志由与尚未重写的IP地址相对应的***响应于接收到针对API请求的处理请求而输出。
6.一种升级***,所述升级***包括客户、一个或更多个DNS服务器、分发服务器和管理服务器***,所述DNS服务器返回IP地址,所述IP地址与针对名称解析的请求而接收的主机名相对应,所述分发服务器将来自客户的针对HTML请求和API请求的处理请求,发送给与从所述DNS服务器返回的IP地址相对应的***,所述升级***包括:
构造单元,其用于在信息处理装置中部署用于构造***环境的程序,以构造***;以及
设置单元,其用于针对各个与HTML请求相对应的主机名和各个与API请求相对应的主机名,设置由构造单元构造的***的IP地址,所述主机名登记在所述DNS服务器中,
其中,在所述构造单元构造新***之后,所述设置单元开始将当前IP地址重写为新***的IP地址,所述当前IP地址是针对与API请求相对应的主机名而设置的,并且,响应于确认完成了对与来自所述分发服务器的针对名称解析的请求相对应的所有DNS服务器的重写,开始将针对与HTML请求相对应的主机名而设置的IP地址重写为新***的IP地址。
7.根据权利要求6所述的升级***,其中,所述设置单元将与API请求相对应的主机名与针对名称解析的请求一起发送给所有DNS服务器,并且确定所有DNS服务器是否返回新***的IP地址以确认重写的完成。
8.根据权利要求6或7所述的升级***,
其中,所述分发服务器具有缓存从DNS服务器返回的IP地址的功能,并且读取与主机名相对应的缓存的IP地址,并向与读取的IP地址相对应的***发送处理请求而不向DNS服务器发送针对名称解析的请求,并且
其中,在确认完成了对所有DNS服务器的重写之后,所述设置单元还等待直到完成用于将由向DNS服务器发送针对名称解析的请求的分发服务器缓存的IP地址升级为新***的IP地址的处理,然后开始将针对与HTML请求相对应的主机名而设置的IP地址重写为新***的IP地址。
9.根据权利要求8所述的升级***,其中,所述设置单元等待直到完成用于将由分发服务器缓存的IP地址升级为新***的IP地址的处理,之后还等待一定时间,然后开始将针对与HTML请求相对应的主机名而设置的IP地址重写为新***的IP地址,所述分发服务器是向DNS服务器发送针对名称解析的请求的服务器。
10.根据权利要求6或7所述的升级***,其中,在确认完成了对所有DNS服务器的重写之后,响应于在一定时间段内未输出日志的确认,所述设置单元开始将针对与HTML请求相对应的主机名而设置的IP地址重写为新***的IP地址,所述日志由与尚未重写的IP地址相对应的***响应于接收到针对API请求的处理请求而输出。
11.一种由升级***进行的方法,所述升级***包括客户、一个或更多个DNS服务器、分发服务器和管理服务器***,DNS服务器返回IP地址,所述IP地址与针对名称解析的请求而接收的主机名相对应,所述分发服务器将来自客户的针对HTML请求和API请求的处理请求,发送给与从DNS服务器返回的IP地址相对应的***,所述方法包括:
在信息处理装置中部署用于构造***环境的程序以构造***的步骤;以及
针对各个与HTML请求相对应的主机名和各个与API请求相对应的主机名,设置通过部署步骤而构造的***的IP地址的步骤,所述主机名登记在DNS服务器中,
其中,在设置步骤中,在通过部署步骤构造新***之后,还开始将当前IP地址重写为新***的IP地址,所述当前IP地址是针对与API请求相对应的主机名而设置的,并且,响应于确认完成了对与来自所述分发服务器的针对名称解析的请求相对应的所有DNS服务器的重写,开始将针对与HTML请求相对应的主机名而设置的IP地址重写为新***的IP地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016020050A JP6643123B2 (ja) | 2016-02-04 | 2016-02-04 | 管理サーバーシステム、システム、システムの方法およびプログラム |
JPJP2016-020050 | 2016-02-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107040580A CN107040580A (zh) | 2017-08-11 |
CN107040580B true CN107040580B (zh) | 2019-10-22 |
Family
ID=59496586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710048475.1A Active CN107040580B (zh) | 2016-02-04 | 2017-01-23 | 管理服务器***、升级***以及升级***的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10348673B2 (zh) |
JP (1) | JP6643123B2 (zh) |
CN (1) | CN107040580B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11722454B2 (en) * | 2020-06-17 | 2023-08-08 | Canon Kabushiki Kaisha | Communication apparatus, method of controlling communication apparatus, and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499396A (zh) * | 2002-10-24 | 2004-05-26 | �Ҵ���˾ | 维护Internet域名数据的方法和装置 |
US7263597B2 (en) * | 2001-04-19 | 2007-08-28 | Ciena Corporation | Network device including dedicated resources control plane |
CN101176293A (zh) * | 2004-11-05 | 2008-05-07 | 株式会社东芝 | 网络发现机制 |
US8276121B2 (en) * | 2007-06-19 | 2012-09-25 | Microsoft Corporation | Selection of versioned resource among multiple compatible versions |
US8782630B2 (en) * | 2011-06-30 | 2014-07-15 | International Business Machines Corporation | Smart rebinding for live product install |
CN104904163A (zh) * | 2012-10-05 | 2015-09-09 | 甲骨文国际公司 | 用于在使用结构化数据对象的消息传送架构内进行通信的方法和*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH083049A (ja) | 1994-04-22 | 1996-01-09 | Senju Pharmaceut Co Ltd | 表皮増殖疾患治療剤 |
US20030120822A1 (en) * | 2001-04-19 | 2003-06-26 | Langrind Nicholas A. | Isolated control plane addressing |
US7725602B2 (en) * | 2000-07-19 | 2010-05-25 | Akamai Technologies, Inc. | Domain name resolution using a distributed DNS network |
JP4083049B2 (ja) | 2003-03-27 | 2008-04-30 | 株式会社野村総合研究所 | 分散処理システム、リクエストの振り分け装置および方法 |
US9503387B2 (en) * | 2013-08-21 | 2016-11-22 | Cisco Technology, Inc. | Instantiating incompatible virtual compute requests in a heterogeneous cloud environment |
US10009314B2 (en) * | 2013-09-12 | 2018-06-26 | Mitsubishi Electric Corporation | IP address distribution system, switch apparatus, and IP address distribution method |
DE102015015196A1 (de) * | 2014-12-16 | 2016-06-16 | Canon Kabushiki Kaisha | Verwaltungssystem und Steuerungsverfahren für Verwaltungssystem |
-
2016
- 2016-02-04 JP JP2016020050A patent/JP6643123B2/ja active Active
-
2017
- 2017-01-23 CN CN201710048475.1A patent/CN107040580B/zh active Active
- 2017-02-01 US US15/421,893 patent/US10348673B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7263597B2 (en) * | 2001-04-19 | 2007-08-28 | Ciena Corporation | Network device including dedicated resources control plane |
CN1499396A (zh) * | 2002-10-24 | 2004-05-26 | �Ҵ���˾ | 维护Internet域名数据的方法和装置 |
CN101176293A (zh) * | 2004-11-05 | 2008-05-07 | 株式会社东芝 | 网络发现机制 |
US8276121B2 (en) * | 2007-06-19 | 2012-09-25 | Microsoft Corporation | Selection of versioned resource among multiple compatible versions |
US8782630B2 (en) * | 2011-06-30 | 2014-07-15 | International Business Machines Corporation | Smart rebinding for live product install |
CN104904163A (zh) * | 2012-10-05 | 2015-09-09 | 甲骨文国际公司 | 用于在使用结构化数据对象的消息传送架构内进行通信的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
US10348673B2 (en) | 2019-07-09 |
CN107040580A (zh) | 2017-08-11 |
JP6643123B2 (ja) | 2020-02-12 |
US20170230327A1 (en) | 2017-08-10 |
JP2017139653A (ja) | 2017-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10560538B2 (en) | Integrated user interface for consuming services across different distributed networks | |
CN102708173B (zh) | 处理用户访问网页的请求的方法及*** | |
CN103051551A (zh) | 一种分布式***及其自动维护方法 | |
CN109547512A (zh) | 一种基于NoSQL的分布式Session管理的方法及装置 | |
CN112260853B (zh) | 容灾切换方法、装置、存储介质及电子设备 | |
CN108337106A (zh) | 物联网微服务***架构的构建方法、平台及计算机设备 | |
JP2014534537A (ja) | 専用のキャッシュを管理するためのシステム及び方法 | |
CN110658794A (zh) | 一种制造执行*** | |
CN105208047A (zh) | 分布式***服务器上下线方法及服务器 | |
CN106933548A (zh) | 全局信息获取、处理及更新、方法、装置和*** | |
CN106254411B (zh) | 用于提供服务的***、服务器***及方法 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN111797173B (zh) | 联盟链共享***、方法、装置、电子设备及存储介质 | |
CN112988378A (zh) | 业务处理方法及装置 | |
US20200045139A1 (en) | Remote procedure call using quorum state store | |
CN107040580B (zh) | 管理服务器***、升级***以及升级***的方法 | |
CN112799970B (zh) | 测试数据处理方法、装置、电子设备及介质 | |
CN108664343B (zh) | 一种微服务的有状态调用方法及装置 | |
CN114338689A (zh) | 会话保持方法、装置、设备、介质和程序产品 | |
CN108153794B (zh) | 页面缓存数据刷新方法、装置及*** | |
CN112187916B (zh) | 一种跨***的数据同步方法与装置 | |
CN105229990B (zh) | 加载网页的方法和装置 | |
CN113760447A (zh) | 服务管理方法、装置、设备、存储介质及程序产品 | |
CN104063461A (zh) | 处理用户访问网页的请求的方法及*** | |
EP2928159A1 (en) | Information processing apparatus, information processing method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |