CN107809445A - 服务请求处理系统、方法和装置 - Google Patents
服务请求处理系统、方法和装置 Download PDFInfo
- Publication number
- CN107809445A CN107809445A CN201610798812.4A CN201610798812A CN107809445A CN 107809445 A CN107809445 A CN 107809445A CN 201610798812 A CN201610798812 A CN 201610798812A CN 107809445 A CN107809445 A CN 107809445A
- Authority
- CN
- China
- Prior art keywords
- port
- service request
- request processing
- processing device
- application program
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 claims description 193
- 238000012986 modification Methods 0.000 claims description 21
- 230000004048 modification Effects 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004904 shortening Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/566—Grouping or aggregating service requests, e.g. for unified processing
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种服务请求处理系统、方法和装置,上述系统包括客户端、服务请求处理装置和服务器,通过在服务请求处理系统中同时存储两种或两种以上的不同版本的应用程序,具体地,至少一个服务器中设置第一类端口,第一端口对应第一版本的应用程序,至少一个所述服务器中设置第二类端口,所述第二类端口对应第二版本的应用程序;其中,所述第一版本的应用程序和所述第二版本的应用程序存储在所述服务器中;在进行发布新版本的应用程序,或者,进行回滚时,只需将与服务请求处理装置连接的端口在不同版本的应用程序对应的端口之间进行切换即可,端口切换的时间非常短,从而,缩短了中断服务请求的时间。
Description
技术领域
本申请涉及计算机技术,尤其涉及一种服务请求处理系统、方法和装置。
背景技术
随着技术的发展和用户需求的提高,针对每个应用程序的应用程序,通常会不断的推出新版本。
现有技术中,当推出新版本时,在发布新版本的应用程序替换旧版本的应用程序的过程中,需要中断服务请求,新版本的应用程序发布完成后,由新版本的应用程序提供服务请求所请求的服务,当发现新版本的应用程序存在漏洞(bug)时,则进行回滚,即发布旧版本的应用程序替换新版本的应用程序,在发布旧版本的应用程序替换新版本的应用程序的过程中,也需要中断服务请求,当旧版本的应用程序发布完成后,由旧版本的应用程序提供服务请求所请求的服务。
然而,采用现有技术的方法,中断服务请求的时间较长。
发明内容
本申请提供一种服务请求处理系统、方法和装置,以克服现有技术中,中断服务请求的时间较长的问题。
一个方面,本申请提供一种服务请求处理系统,包括:
客户端、服务请求处理装置和服务器;
至少一个所述服务器中设置第一类端口,所述第一类端口对应第一版本的应用程序;
至少一个所述服务器中设置第二类端口,所述第二类端口对应第二版本的应用程序;
其中,所述第一版本的应用程序和所述第二版本的应用程序存储在所述服务器中;
所述客户端用于提供服务请求输入界面,并向所述服务请求处理装置发送服务请求;
所述服务请求处理装置用于接收所述客户端发送的服务请求,并选择性的向所连接的第一类端口或者第二类端口发送所述服务请求,以访问所述端口对应的第一版本的应用程序或者第二版本的应用程序。
可选地,所述服务请求处理装置连接所述第一类端口或者所述第二类端口。
可选地,所述第一类端口和所述第二类端口设置在相同的服务器上,或者不同的服务器上,或者,部分相同、部分不同的服务器上。
可选地,所述第一版本的应用程序设置和所述第二版本的应用程序设置在相同的服务器上,或者,设置在不同的服务器上。
可选地,所述服务器为M个,所述服务器设置S类端口,所述服务器存储S个版本的应用程序,所述S类端口共R个,所述S个版本的应用程序共R个,每个版本的应用程序为R/S个,所述M为大于等于1,所述R为大于等于2且大于M的整数,所述R个应用程序为S个版本的应用程序,每个版本的应用程序为R/S个,所述S为大于等于2的整数。
可选地,还包括:版本控制装置,所述版本控制装置与所述M个服务器连接,用于将所述R个应用程序存储至所述M个服务器。
可选地,还包括:检测设备;
所述检测设备与所述服务请求处理装置连接,用于向所述服务请求处理装置发送端口选择指令,以使所述服务请求处理装置根据所述端口选择指令确定连接的端口。
可选地,所述服务请求处理装置还用于存储端口与应用程序对应关系;
所述版本控制装置还用于向所述服务请求处理装置发送端口与应用程序对应关系的添加指令,所述服务器请求处理装置,还用于根据所述端口与应用程序对应关系的添加指令,添加所述添加指令中的端口与应用程序对应关系。
可选地,所述服务请求处理装置还用于存储端口与应用程序对应关系;
所述服务请求处理装置还用于预设时间后,删除部分端口与应用程序对应关系。
可选地,所述服务请求处理装置部署于负载均衡设备、注册系统或者路由设备。
另一个方面,本申请提供一种服务请求处理方法,应用于服务请求处理系统,所述系统包括:客户端、服务请求处理装置和服务器;至少一个所述服务器中设置第一类端口,所述第一类端口对应第一版本的应用程序;至少一个所述服务器中设置第二类端口,所述第二类端口对应第二版本的应用程序;其中,所述第一版本的应用程序和所述第二版本的应用程序存储在所述服务器中;
所述服务请求处理装置与其中一个版本的应用程序对应的接口连接;
所述方法包括:
服务请求处理装置接收所述客户端发送的服务请求;
所述服务请求处理装置将所述服务请求发送到目标端口,以使所述目标端口对应的应用程序提供所述服务请求所请求的服务,所述目标端口为与所述服务请求处理装置所连接的第一类端口或第二类端口中的一个。
可选地,所述服务请求处理装置将所述服务请求发送到目标端口之前,还包括:
所述服务请求处理装置从与所述服务请求处理装置连接的端口中选择所述目标端口。
可选地,所述服务请求处理装置从与所述服务请求处理装置连接的端口中选择所述目标端口之前,还包括:
所述服务请求处理装置接收端口选择指令;
所述服务请求处理装置根据所述端口选择指令确定与所述服务请求处理装置连接的端口。
可选地,所述端口选择指令包含版本标识;
所述服务请求处理装置根据所述端口选择指令确定与所述服务请求处理装置连接的端口,包括:
所述服务请求处理装置根据所述版本标识,以及端口和应用程序的对应关系,确定所述版本标识的应用程序对应的端口为与所述服务请求处理装置连接的端口。
可选地,所述端口选择指令包含端口标识;
所述服务请求处理装置根据所述端口选择指令确定与所述服务请求处理装置连接的端口,包括:
所述服务请求处理装置确定与所述端口选择指令包含的端口标识对应的端口连接。
可选地,所述服务请求处理装置根据所述版本标识,以及端口和应用程序的对应关系,确定所述版本标识的应用程序对应的端口为与所述服务请求处理装置连接的端口之前,还包括:
获取所述端口和应用程序的对应关系。
可选地,还包括:
服务请求处理装置接收端口与应用程序对应关系的修改指令,根据所述端口与应用程序对应关系的修改指令,修改所述端口与应用程序对应关系。
可选地,还包括:
服务请求处理装置预设时间后,修改所述端口与应用程序对应关系。
可选地,所述服务请求处理装置从与所述服务请求处理装置连接的端口中选择所述目标端口,包括:
所述服务请求处理装置根据所连接的端口的负载情况,从所连接的端口中选择所述目标端口。
再一方面,本申请提供一种服务请求处理装置,包括:
接收模块,用于接收客户端发送的服务请求;
发送模块,用于将所述服务请求发送到目标端口,以使所述目标端口对应的应用程序提供所述服务请求所请求的服务,所述目标端口为与所述服务请求处理装置所连接的第一类端口或第二类端口中的一个。
可选地,还包括:
处理模块,用于从与所述服务请求处理装置连接的端口中选择所述目标端口。
可选地,所述接收模块还用于接收端口选择指令;
所述处理模块还用于根据所述端口选择指令确定与所述服务请求处理装置连接的端口。
可选地,所述端口选择指令包含版本标识;
所述处理模块具体用于根据所述版本标识,以及端口和应用程序的对应关系,确定所述版本标识的应用程序对应的端口为与所述服务请求处理装置连接的端口。
可选地,所述端口选择指令包含端口标识;
所述处理模块具体用于确定与所述端口选择指令包含的端口标识对应的端口连接。
可选地,所述处理模块还用于获取所述端口和应用程序的对应关系。
可选地,所述接收模块还用于接收端口与应用程序对应关系的修改指令;
所述处理模块还用于根据所述端口与应用程序对应关系的修改指令,修改所述端口与应用程序对应关系。
可选地,所述处理模块还用于预设时间后,修改所述端口与应用程序对应关系。
可选地,所述处理模块具体用于根据所连接的端口的负载情况,从所连接的端口中选择所述目标端口。
又一方面,本申请提供一种服务请求处理装置,包括:接收器,用于接收客户端发送的服务请求;
发送器,用于将所述服务请求发送到目标端口,以使所述目标端口对应的应用程序提供所述服务请求所请求的服务,所述目标端口为与所述服务请求处理装置所连接的第一类端口或第二类端口中的一个。
可选地,还包括:
处理器,所述处理器耦合至所述接收器和所述发送器,用于从与所述服务请求处理装置连接的端口中选择所述目标端口。
可选地,所述接收器还用于接收端口选择指令;
所述处理器还用于根据所述端口选择指令确定与所述服务请求处理装置连接的端口。
可选地,所述端口选择指令包含版本标识;
所述处理器具体用于根据所述版本标识,以及端口和应用程序的对应关系,确定所述版本标识的应用程序对应的端口为与所述服务请求处理装置连接的端口。
可选地,所述端口选择指令包含端口标识;
所述处理器具体用于确定与所述端口选择指令包含的端口标识对应的端口连接。
可选地,所述处理器还用于获取所述端口和应用程序的对应关系。
可选地,所述接收器还用于接收端口与应用程序对应关系的修改指令;
所述处理器还用于根据所述端口与应用程序对应关系的修改指令,修改所述端口与应用程序对应关系。
可选地,所述处理器还用于预设时间后,修改所述端口与应用程序对应关系。
可选地,所述处理器具体用于根据所连接的端口的负载情况,从所连接的端口中选择所述目标端口。
本申请提供的服务请求处理系统、方法和装置,上述系统包括客户端、服务请求处理装置和服务器,通过在服务请求处理系统中同时存储两种或两种以上的不同版本的应用程序,具体地,至少一个服务器中设置第一类端口,第一端口对应第一版本的应用程序,至少一个所述服务器中设置第二类端口,所述第二类端口对应第二版本的应用程序;其中,所述第一版本的应用程序和所述第二版本的应用程序存储在所述服务器中;在进行发布新版本的应用程序,或者,进行回滚时,只需将与服务请求处理装置连接的端口在不同版本的应用程序对应的端口之间进行切换即可,端口切换的时间非常短,从而,缩短了中断服务请求的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的服务请求处理系统实施例一的示意图;
图2为本申请的服务请求处理系统实施例二的示意图;
图3为本申请的服务请求处理系统实施例三的示意图;
图4为本申请服务请求处理方法实施例一的流程示意图;
图5为本申请服务请求处理方法实施例二的流程示意图;
图6为本申请服务请求处理方法实施例三的流程示意图;
图7为本申请服务请求处理装置实施例一的结构示意图;
图8为本申请服务请求处理装置实施例二的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述XXX,但这些XXX不应限于这些术语。这些术语仅用来将XXX彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一XXX也可以被称为第二XXX,类似地,第二XXX也可以被称为第一XXX。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本申请所描述的服务请求处理系统中包含客户端、服务请求处理装置和至少一个服务器,其中,每个服务器包含至少一个端口,每个端口可以通过IP地址和端口号进行唯一标识,也可以通过其他的标识进行唯一标识,对此,本申请不做限制。
本申请所描述的服务请求处理系统中各端口对应的应用程序均是指同一应用程序的应用程序,应用程序的版本不同,相同版本的应用程序提供完全相同的服务。
本申请所描述的各端口与应用程序的对应关系会随着应用程序的变化而发生变化,同一台服务器上的不同的端口对应的应用程序的版本可以相同,也可以不同,对此,本申请不做限制。
本申请通过在服务请求处理系统中同时存储两种或两种以上的不同版本的应用程序,具体地,至少一个服务器中设置第一类端口,第一端口对应第一版本的应用程序,至少一个所述服务器中设置第二类端口,所述第二类端口对应第二版本的应用程序;其中,所述第一版本的应用程序和所述第二版本的应用程序存储在所述服务器中;所述第一类端口和所述第二类端口设置在相同的服务器上,或者不同的服务器上,或者,部分相同、部分不同的服务器上。服务器该请求处理装置与其中一个版本的应用程序对应的端口连接,当服务请求处理装置接收到服务请求后,向所连接的端口发送服务请求,以访问所连接的端口对应的应用程序,由于服务请求处理系统中同时存储两种或两种以上的不同版本的应用程序,且端口与应用程序一一对应,因此,在进行发布新版本的应用程序,或者,进行回滚时,只需将与服务请求处理装置连接的端口在不同版本的应用程序对应的端口之间进行切换即可,端口切换的时间非常短,从而,缩短了中断服务请求的时间。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本申请的服务请求处理系统实施例一的示意图,如图1所示,本申请的服务器请求处理系统包括:至少一个服务器中设置第一类端口,第一端口对应第一版本的应用程序,至少一个所述服务器中设置第二类端口,所述第二类端口对应第二版本的应用程序;所述第一版本的应用程序和所述第二版本的应用程序存储在所述服务器中;所述客户端用于提供服务请求输入界面,并向所述服务请求处理装置发送服务请求;所述服务请求处理装置用于接收所述客户端发送的服务请求,并选择性的向所连接的第一类端口或者第二类端口发送所述服务请求,以访问所述端口对应的第一版本的应用程序或者第二版本的应用程序。
其中,所述第一版本的应用程序和所述第二版本的应用程序存储在所述服务器中;所述第一类端口和所述第二类端口设置在相同的服务器上,或者不同的服务器上,或者,部分相同、部分不同的服务器上。
其中,服务器请求处理装置连接第一类端口或者第二类端口。
其中,第一版本的应用程序设置和所述第二版本的应用程序设置在相同的服务器上,或者,设置在不同的服务器上。
在一种实现方式中,服务器为M个,所述服务器设置S类端口,所述服务器存储S个版本的应用程序,所述S类端口共R个,所述S个版本的应用程序共R个,每个版本的应用程序为R/S个,所述M为大于等于1,所述R为大于等于2且大于M的整数,所述R个应用程序为S个版本的应用程序,每个版本的应用程序为R/S个,所述S为大于等于2的整数。在图1的示例中,M取3,S取2,R取6。服务请求处理装置与其中一个版本的应用程序对应的接口连接;客户端提供服务请求输入界面,用户可以通过客户端输入服务请求,触发客户端向服务请求处理装置发送服务请求。服务请求处理装置接收到服务请求之后,向所连接的其中一个端口发送服务请求,以访问该端口对应的应用程序,获得相应的服务。其中,每个端口与应用程序对应,即通过端口可以访问该端口对应的应用程序,如图1中,端口通过IP地址和端口号进行标识,其中,“:”之前为IP地址,“:”之后为端口号,从图1中可以看出,端口192.168.0.100:80、192.168.0.101:80和192.168.0.102:80对应的是版本1.0的应用程序,192.168.0.100:81、
192.168.0.101:81和192.168.0.102:81对应的是版本2.0的应用程序。
在发布版本2.0的应用程序时,服务请求处理装置无需中断服务请求,由版本1.0的应用程序提供服务,当版本2.0的应用程序发布完成后,将服务请求处理装置所连接的端口切换到版本2.0的应用程序对应的端口,服务请求处理装置将后续的服务请求发送到版本2.0的应用程序对应的端口,即:192.168.0.100:81、192.168.0.101:81和192.168.0.102:81这些端口;当发现版本2.0对应的应用程序存在bug时,进行回滚,只需将服务请求处理装置所连接的端口切换到版本1.0的应用程序对应的端口,将服务请求发送到版本1.0的应用程序对应的端口即可,即:192.168.0.100:80、192.168.0.101:80和192.168.0.102:80,在此过程中,只需将与服务请求处理装置连接的端口在不同版本的应用程序对应的端口之间进行切换即可,因此,缩短了中断服务请求的时间。
图2为本申请的服务请求处理系统实施例二的示意图,图2是在图1所示实施例的基础上,进一步地,还包括:版本控制装置,该版本控制装置与M个服务器连接,用于将R个应用程序存储至M个服务器。服务请求处理装置中还存储端口与应用程序对应关系,当发布新的版本,或者删除旧的版本,版本控制装置向所述服务请求处理装置发送端口与应用程序对应关系的修改指令,以使服务请求处理装置根据所述端口与应用程序对应关系的修改指令,修改所述端口与应用程序对应关系。如发布新的版本,则新建端口与应用程序的对应关系,并向服务请求处理装置发送修改指令,该修改指令为添加指令,服务请求处理装置添加端口与新的版本的应用程序的对应关系;如删除旧的版本,则向服务请求处理装置发送修改指令,该修改指令为删除指令,服务请求处理装置则删除端口与旧的版本的应用程序的对应关系。
图3为本申请的服务请求处理系统实施例三的示意图,图3是在图1或图2所示实施例的基础上,进一步地,还包括:检测设备,检测设备与服务请求处理装置连接,用于当检测到在进行发布新版本的应用程序,或者,当前服务的版本存在问题,需要进行回滚时,通过向所述服务请求处理装置发送端口选择指令,以使服务请求处理装置根据所述端口选择指令确定连接的端口。
下述各方法实施例可应用于上述图1-图3任一所示的系统中。
图4为本申请服务请求处理方法实施例一的流程示意图,本实施例由服务请求处理装置执行,本实施例的方法如下:
S401:服务请求处理装置接收所述客户端发送的服务请求。
服务请求处理装置接收服务请求,该服务请求用于请求应用程序提供相应地的服务。
S403:服务请求处理装置将所述服务请求发送到目标端口。
其中,目标端口为与所述服务请求处理装置所连接的第一类端口或第二类端口中的一个,由目标端口对应的应用程序提供所述服务请求所请求的服务。
本实施例,通过在服务请求处理系统中同时存储两种或两种以上的不同版本的应用程序,服务请求处理装置与其中一个版本的应用程序对应的接口连接,当服务请求处理装置接收所述客户端发送的服务请求之后,将该服务请求发送到目标端口,目标端口为所连接的端口中的一个,以使目标端口对应的应用程序提供所述服务请求所请求的服务,由于服务请求处理系统中同时存储两种或两种以上的不同版本的应用程序,且端口与应用程序一一对应,因此,在进行发布新版本的应用程序,或者,进行回滚时,只需将与服务请求处理装置连接的端口在不同版本的应用程序对应的端口之间进行切换即可,端口切换的时间非常短,从而,缩短了中断服务请求的时间。
图5为本申请服务请求处理方法实施例二的流程示意图,图5是在图4所示实施例的基础上,在执行S403之前,进一步地,还包括:
S402:服务请求处理装置从与所述服务请求处理装置连接的端口中选择所述目标端口。
其中,包括但不限于如下实现方式:
一种可能的实现方式为:
服务请求处理装置根据所连接的端口的负载情况,从所连接的端口中选择所述目标端口。
另一种可能的实现方式为:
服务请求处理装置从所连接的端口中随机选择一个端口作为目标端口。
本实施例,通过从与所述服务请求处理装置连接的端口中选择所述目标端口,由目标端口提供服务请求所请求的服务。
图6为本申请服务请求处理方法实施例三的流程示意图,当正在提供服务的版本的应用程序出现问题,或者,发布新的版本的应用程序完成之后,通常需要将服务请求发送到没有问题的版本的应用程序,或者新的版本的应用程序时,执行如下操作:
S601:服务请求处理装置接收端口选择指令。
其中,端口选择指令可以是来自于用户,也可以是来自于检测设备,当正在提供服务的版本的应用程序出现问题,或者,发布新的版本的应用程序完成之后,通常需要将服务请求发送到没有问题的版本的应用程序,或者新的版本的应用程序,用户或者检测设备发现上述情况后,则向服务请求处理装置发送端口选择指令。
端口选择指令包括但不限于如下实现方式:
其中,一种可能的实现方式为:端口选择指令可以包含版本标识,例如:端口选择指令中包含版本2.0的标识,则意味着指示服务请求处理装置将后续的服务请求发送到版本2.0的应用程序对应的端口。
另一种可能的实现方式为:端口选择指令中也可以直接包含端口标识,例如:包含192.168.0.100:81、192.168.0.101:81和192.168.0.102:81,则意味着指示服务请求处理装置将后续的服务请求发送到这些端口。
S602:服务请求处理装置根据所述端口选择指令确定与所述服务请求处理装置连接的端口。
包括但不限于如下实现方式:
其中,一种可能的实现方式为:端口选择指令可以包含版本标识,则服务请求处理装置根据所述版本标识,以及端口和应用程序的对应关系,确定所述版本标识的应用程序对应的端口为与所述服务请求处理装置连接的端口。
另一种可能的实现方式为:端口选择指令中也可以直接包含端口标识,则服务请求处理装置确定与所述端口选择指令包含的端口标识对应的端口连接。
在此之前,还包括获取所述端口和应用程序的版本的对应关系。
本实施例,当正在提供服务的版本的应用程序出现问题,或者,发布新的版本的应用程序完成之后,通过接收端口选择指令,根据端口选择指令确定与所述服务请求处理装置连接的端口,即:通过端口选择指令进行端口的切换,因此,缩短了中断服务请求的时间。
在上述方法实施例的基础上,当端口对应的应用程序的版本发送变化后,端口和应用程序的版本的对应关系也相应地发生变化,可以由版本控制装置向服务请求处理装置发送端口与应用程序对应关系的修改指令,根据所述端口与应用程序对应关系的修改指令,修改所述端口与应用程序对应关系。也可以是预设时间后,服务请求处理装置,直接修改端口与应用程序对应关系,具体地,当端口对应的应用程序的版本发送变化后,端口和应用程序的版本的对应关系也相应地发生变化,例如:当发布新版本的应用程序时,则建立端口与应用程序的新版本的对应关系;当删除第二版本对应的应用程序后,则删除端口和应用程序的第二版本的对应关系。一种实现方式为:可以通过修改nginx的upstream配置文件,并reload nginx,将发布新版本的应用程序对应的端口的地址进行注册,或者删除第二版本的应用程序对应的端口的地址,例如:发布的新版本的应用程序对应的端口为192.168.0.100:81、192.168.0.101:81和192.168.0.102:81,则可以通过把upstream配置文件读取到内存中,将形如upstream server{192.168.0.100:80、192.168.0.101:80和192.168.0.102:80}的内容修改为upstream server{192.168.0.100:81、192.168.0.101:81和192.168.0.102:81};另一种实现方式为:通过调用restful API进行某个版本的应用程序的批量下线服务和批量上线服务。通常,当某个版本的应用程序不被启用超过预设时间则逐渐下线停止,其中,预设时间可以根据实际场景进行设置,例如:预设时间可以设置为1天,对此,本申请不做限制。
在上述各实施例中,在进行应用程序的发布时,采用Docker容器技术,快速地将应用程序用进程的方式部署到服务器。更具体地,通过“docker run”命令将应用程序镜像部署到服务器上。
在上述各实施例中,在进行应用程序的发布时,可以一批全部发布,提高了发布效率。
在上述各实施例中,负载均衡设备可以采用nginx/高可用代理(HAProxy),注册设备可以采用DubboConfigServer。
图7为本申请服务请求处理装置实施例一的结构示意图,本实施例的装置包括接收模块701、发送模块702;其中,
接收模块701用于接收客户端发送的服务请求;
发送模块702用于将所述服务请求发送到目标端口,以使所述目标端口对应的应用程序提供所述服务请求所请求的服务,所述目标端口为与所述服务请求处理装置所连接的第一类端口或第二类端口中的一个。
本实施例,对应的可用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在图7中,进一步还可以包括:处理模块703用于从与所述服务请求处理装置连接的端口中选择所述目标端口。
可选地,所述处理模块703具体用于根据所连接的端口的负载情况,从所连接的端口中选择所述目标端口。
本实施例,对应的可用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在图7中,所述接收模块701还用于接收端口选择指令;
所述处理模块还用于根据所述端口选择指令确定与所述服务请求处理装置连接的端口。
其中,所述端口选择指令包含版本标识;
所述处理模块703具体用于根据所述版本标识,以及端口和应用程序的对应关系,确定所述版本标识的应用程序对应的端口为与所述服务请求处理装置连接的端口。
其中,所述端口选择指令包含端口标识;
所述处理模块703具体用于确定与所述端口选择指令包含的端口标识对应的端口连接。
可选地,所述处理模块703还用于获取所述端口和应用程序的对应关系。
可选地,所述接收模块还用于接收端口与应用程序对应关系的修改指令;
所述处理模块703还用于根据所述端口与应用程序对应关系的修改指令,修改所述端口与应用程序对应关系。
可选地,所述处理模块703还用于预设时间后,修改所述端口与应用程序对应关系。
本实施例,对应的可用于执行图6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请服务请求处理装置实施例二的结构示意图,本实施例的装置包括接收器801和发送器802,其中,接收器801用于接收客户端发送的服务请求;发送器802用于将所述服务请求发送到目标端口,以使所述目标端口对应的应用程序提供所述服务请求所请求的服务,所述目标端口为与所述服务请求处理装置所连接的第一类端口或第二类端口中的一个。
本实施例,对应的可用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在图8中,还包括:处理器803,所述处理器803耦合至所述接收器和所述发送器,用于从与所述服务请求处理装置连接的端口中选择所述目标端口。
可选地,所述处理器803具体用于根据所连接的端口的负载情况,从所连接的端口中选择所述目标端口。
本实施例,对应的可用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在图8中,所述接收器801还用于接收端口选择指令;
所述处理器803还用于根据所述端口选择指令确定与所述服务请求处理装置连接的端口。
其中,所述端口选择指令包含版本标识;
所述处理器803具体用于根据所述版本标识,以及端口和应用程序的对应关系,确定所述版本标识的应用程序对应的端口为与所述服务请求处理装置连接的端口。
其中,所述端口选择指令包含端口标识;
所述处理器803具体用于确定与所述端口选择指令包含的端口标识对应的端口连接。
其中,所述处理器803还用于获取所述端口和应用程序的对应关系。
其中,所述接收器801还用于接收端口与应用程序对应关系的修改指令;
所述处理器803还用于根据所述端口与应用程序对应关系的修改指令,修改所述端口与应用程序对应关系。
其中,所述处理器803还用于预设时间后,修改所述端口与应用程序对应关系。
本实施例,对应的可用于执行图6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (21)
1.一种服务请求处理系统,其特征在于,包括:
客户端、服务请求处理装置和服务器;
至少一个所述服务器中设置第一类端口,所述第一类端口对应第一版本的应用程序;
至少一个所述服务器中设置第二类端口,所述第二类端口对应第二版本的应用程序;
其中,所述第一版本的应用程序和所述第二版本的应用程序存储在所述服务器中;
所述客户端用于提供服务请求输入界面,并向所述服务请求处理装置发送服务请求;
所述服务请求处理装置用于接收所述客户端发送的服务请求,并选择性的向所连接的第一类端口或者第二类端口发送所述服务请求,以访问所述端口对应的第一版本的应用程序或者第二版本的应用程序。
2.根据权利要求1所述的系统,其特征在于,所述服务请求处理装置连接所述第一类端口或者所述第二类端口。
3.根据权利要求1所述的系统,其特征在于,所述第一类端口和所述第二类端口设置在相同的服务器上,或者不同的服务器上,或者,部分相同、部分不同的服务器上。
4.根据权利要求1所述的系统,其特征在于,所述第一版本的应用程序设置和所述第二版本的应用程序设置在相同的服务器上,或者,设置在不同的服务器上。
5.根据权利要求1-4任一项所述的系统,其特征在于,
所述服务器为M个,所述服务器设置S类端口,所述服务器存储S个版本的应用程序,所述S类端口共R个,所述S个版本的应用程序共R个,每个版本的应用程序为R/S个,所述M为大于等于1,所述R为大于等于2且大于M的整数,所述R个应用程序为S个版本的应用程序,每个版本的应用程序为R/S个,所述S为大于等于2的整数。
6.根据权利要求5所述的系统,其特征在于,还包括:版本控制装置,所述版本控制装置与所述M个服务器连接,用于将所述R个应用程序存储至所述M个服务器。
7.根据权利要求6所述的系统,其特征在于,还包括:检测设备;
所述检测设备与所述服务请求处理装置连接,用于向所述服务请求处理装置发送端口选择指令,以使所述服务请求处理装置根据所述端口选择指令确定连接的端口。
8.根据权利要求6所述的系统,其特征在于,所述服务请求处理装置还用于存储端口与应用程序对应关系;
所述版本控制装置还用于向所述服务请求处理装置发送端口与应用程序对应关系的添加指令,所述服务器请求处理装置,还用于根据所述端口与应用程序对应关系的添加指令,添加所述添加指令中的端口与应用程序对应关系。
9.根据权利要求6所述的系统,其特征在于,所述服务请求处理装置还用于存储端口与应用程序对应关系;
所述服务请求处理装置还用于预设时间后,删除部分端口与应用程序对应关系。
10.根据权利要求1-4任一项所述的系统,其特征在于,所述服务请求处理装置部署于负载均衡设备、注册系统或者路由设备。
11.一种服务请求处理方法,其特征在于,应用于服务请求处理系统,所述系统包括:客户端、服务请求处理装置和服务器;至少一个所述服务器中设置第一类端口,所述第一类端口对应第一版本的应用程序;至少一个所述服务器中设置第二类端口,所述第二类端口对应第二版本的应用程序;其中,所述第一版本的应用程序和所述第二版本的应用程序存储在所述服务器中;
所述服务请求处理装置与其中一个版本的应用程序对应的接口连接;
所述方法包括:
服务请求处理装置接收所述客户端发送的服务请求;
所述服务请求处理装置将所述服务请求发送到目标端口,以使所述目标端口对应的应用程序提供所述服务请求所请求的服务,所述目标端口为与所述服务请求处理装置所连接的第一类端口或第二类端口中的一个。
12.根据权利要求11所述的方法,其特征在于,所述服务请求处理装置将所述服务请求发送到目标端口之前,还包括:
所述服务请求处理装置从与所述服务请求处理装置连接的端口中选择所述目标端口。
13.根据权利要求12所述的方法,其特征在于,所述服务请求处理装置从与所述服务请求处理装置连接的端口中选择所述目标端口之前,还包括:
所述服务请求处理装置接收端口选择指令;
所述服务请求处理装置根据所述端口选择指令确定与所述服务请求处理装置连接的端口。
14.根据权利要求13所述的方法,其特征在于,所述端口选择指令包含版本标识;
所述服务请求处理装置根据所述端口选择指令确定与所述服务请求处理装置连接的端口,包括:
所述服务请求处理装置根据所述版本标识,以及端口和应用程序的对应关系,确定所述版本标识的应用程序对应的端口为与所述服务请求处理装置连接的端口。
15.根据权利要求13所述的方法,其特征在于,所述端口选择指令包含端口标识;
所述服务请求处理装置根据所述端口选择指令确定与所述服务请求处理装置连接的端口,包括:
所述服务请求处理装置确定与所述端口选择指令包含的端口标识对应的端口连接。
16.根据权利要求14所述的方法,其特征在于,所述服务请求处理装置根据所述版本标识,以及端口和应用程序的对应关系,确定所述版本标识的应用程序对应的端口为与所述服务请求处理装置连接的端口之前,还包括:
获取所述端口和应用程序的对应关系。
17.根据权利要求14所述的方法,其特征在于,还包括:
所述服务请求处理装置接收端口与应用程序对应关系的修改指令,根据所述端口与应用程序对应关系的修改指令,修改所述端口与应用程序对应关系。
18.根据权利要求14所述的方法,其特征在于,还包括:
所述服务请求处理装置预设时间后,修改所述端口与应用程序对应关系。
19.根据权利要求12所述的方法,其特征在于,所述服务请求处理装置从与所述服务请求处理装置连接的端口中选择所述目标端口,包括:
所述服务请求处理装置根据所连接的端口的负载情况,从所连接的端口中选择所述目标端口。
20.一种服务请求处理装置,其特征在于,包括:
接收模块,用于接收客户端发送的服务请求;
发送模块,用于将所述服务请求发送到目标端口,以使所述目标端口对应的应用程序提供所述服务请求所请求的服务,所述目标端口为与所述服务请求处理装置所连接的第一类端口或第二类端口中的一个。
21.一种服务请求处理装置,其特征在于,包括:
接收器,用于接收客户端发送的服务请求;
发送器,用于将所述服务请求发送到目标端口,以使所述目标端口对应的应用程序提供所述服务请求所请求的服务,所述目标端口为与所述服务请求处理装置所连接的第一类端口或第二类端口中的一个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610798812.4A CN107809445A (zh) | 2016-08-31 | 2016-08-31 | 服务请求处理系统、方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610798812.4A CN107809445A (zh) | 2016-08-31 | 2016-08-31 | 服务请求处理系统、方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107809445A true CN107809445A (zh) | 2018-03-16 |
Family
ID=61575917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610798812.4A Pending CN107809445A (zh) | 2016-08-31 | 2016-08-31 | 服务请求处理系统、方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107809445A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109347652A (zh) * | 2018-08-31 | 2019-02-15 | 北京奇艺世纪科技有限公司 | 服务器集群的服务管理方法和装置 |
CN109728951A (zh) * | 2018-12-28 | 2019-05-07 | 北京小米移动软件有限公司 | 服务器环境切换方法及装置 |
CN109814917A (zh) * | 2019-01-16 | 2019-05-28 | 中国平安财产保险股份有限公司 | 微服务发布方法、装置、计算机设备和存储介质 |
CN111240710A (zh) * | 2019-12-27 | 2020-06-05 | 广东睿江云计算股份有限公司 | 一种基于容器端口的转发方法及其系统 |
CN112561650A (zh) * | 2020-12-17 | 2021-03-26 | 深圳希施玛数据科技有限公司 | 一种订单服务请求的处理系统 |
CN112636954A (zh) * | 2020-12-11 | 2021-04-09 | 车主邦(北京)科技有限公司 | 一种服务器升级方法及装置 |
CN113360213A (zh) * | 2021-06-30 | 2021-09-07 | 中国农业银行股份有限公司 | 应用程序版本切换方法、装置、设备及系统 |
CN113391889A (zh) * | 2020-03-12 | 2021-09-14 | 京东安联财产保险有限公司 | 服务调用方法、装置、介质及电子设备 |
CN113508346A (zh) * | 2019-03-06 | 2021-10-15 | 欧姆龙株式会社 | 控制装置以及软件的部署方法 |
CN113704666A (zh) * | 2021-08-30 | 2021-11-26 | 康键信息技术(深圳)有限公司 | 基于应用程序的上下线方法、装置、设备及存储介质 |
CN113791799A (zh) * | 2021-01-06 | 2021-12-14 | 北京沃东天骏信息技术有限公司 | 系统升级方法及装置、计算机可读存储介质、电子设备 |
CN114710550A (zh) * | 2022-03-18 | 2022-07-05 | 中国建设银行股份有限公司 | 请求响应方法、装置、设备及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778026A (zh) * | 2012-10-24 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 对象调用方法和装置 |
CN103856559A (zh) * | 2014-02-13 | 2014-06-11 | 北京东方通科技股份有限公司 | 多版本并存的web服务工作方法和系统 |
CN105100232A (zh) * | 2015-07-14 | 2015-11-25 | 焦点科技股份有限公司 | 一种不中断服务的服务端程序平滑升级的方法 |
CN105653328A (zh) * | 2015-12-29 | 2016-06-08 | 百度在线网络技术(北京)有限公司 | 大内存服务的多版本程序的并存方法和装置 |
-
2016
- 2016-08-31 CN CN201610798812.4A patent/CN107809445A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778026A (zh) * | 2012-10-24 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 对象调用方法和装置 |
CN103856559A (zh) * | 2014-02-13 | 2014-06-11 | 北京东方通科技股份有限公司 | 多版本并存的web服务工作方法和系统 |
CN105100232A (zh) * | 2015-07-14 | 2015-11-25 | 焦点科技股份有限公司 | 一种不中断服务的服务端程序平滑升级的方法 |
CN105653328A (zh) * | 2015-12-29 | 2016-06-08 | 百度在线网络技术(北京)有限公司 | 大内存服务的多版本程序的并存方法和装置 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109347652A (zh) * | 2018-08-31 | 2019-02-15 | 北京奇艺世纪科技有限公司 | 服务器集群的服务管理方法和装置 |
CN109728951A (zh) * | 2018-12-28 | 2019-05-07 | 北京小米移动软件有限公司 | 服务器环境切换方法及装置 |
CN109814917A (zh) * | 2019-01-16 | 2019-05-28 | 中国平安财产保险股份有限公司 | 微服务发布方法、装置、计算机设备和存储介质 |
US11907735B2 (en) | 2019-03-06 | 2024-02-20 | Omron Corporation | Control device and method for deployment of software |
CN113508346A (zh) * | 2019-03-06 | 2021-10-15 | 欧姆龙株式会社 | 控制装置以及软件的部署方法 |
CN113508346B (zh) * | 2019-03-06 | 2024-01-30 | 欧姆龙株式会社 | 控制装置以及软件的部署方法 |
CN111240710A (zh) * | 2019-12-27 | 2020-06-05 | 广东睿江云计算股份有限公司 | 一种基于容器端口的转发方法及其系统 |
CN113391889A (zh) * | 2020-03-12 | 2021-09-14 | 京东安联财产保险有限公司 | 服务调用方法、装置、介质及电子设备 |
CN112636954B (zh) * | 2020-12-11 | 2023-10-31 | 车主邦(北京)科技有限公司 | 一种服务器升级方法及装置 |
CN112636954A (zh) * | 2020-12-11 | 2021-04-09 | 车主邦(北京)科技有限公司 | 一种服务器升级方法及装置 |
CN112561650A (zh) * | 2020-12-17 | 2021-03-26 | 深圳希施玛数据科技有限公司 | 一种订单服务请求的处理系统 |
CN112561650B (zh) * | 2020-12-17 | 2024-02-02 | 深圳希施玛数据科技有限公司 | 一种订单服务请求的处理系统 |
CN113791799A (zh) * | 2021-01-06 | 2021-12-14 | 北京沃东天骏信息技术有限公司 | 系统升级方法及装置、计算机可读存储介质、电子设备 |
CN113360213A (zh) * | 2021-06-30 | 2021-09-07 | 中国农业银行股份有限公司 | 应用程序版本切换方法、装置、设备及系统 |
CN113704666B (zh) * | 2021-08-30 | 2023-10-17 | 康键信息技术(深圳)有限公司 | 基于应用程序的上下线方法、装置、设备及存储介质 |
CN113704666A (zh) * | 2021-08-30 | 2021-11-26 | 康键信息技术(深圳)有限公司 | 基于应用程序的上下线方法、装置、设备及存储介质 |
CN114710550A (zh) * | 2022-03-18 | 2022-07-05 | 中国建设银行股份有限公司 | 请求响应方法、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107809445A (zh) | 服务请求处理系统、方法和装置 | |
US9961135B2 (en) | System and method to balance servers based on server load status | |
KR101862273B1 (ko) | 가상화된 네트워킹 스택의 라이브 이주를 위한 시스템 및 방법 | |
CN108063714B (zh) | 一种网络请求的处理方法及装置 | |
US10313452B2 (en) | Migrating a chat message service provided by a chat server to a new chat server | |
US10333780B2 (en) | Method, apparatus and computer program product for updating load balancer configuration data | |
WO2017185718A1 (zh) | 系统服务的重载方法及装置 | |
CN104158868B (zh) | 一种文件传输方法和管理服务器 | |
US9866407B2 (en) | Information processing system, cloud server, device control method, and non-transitory computer-readable recording medium encoded with device control program | |
JP2019502186A (ja) | グローバル情報を取得、処理および更新するためのシステムおよび方法 | |
US11166174B2 (en) | Management server, communication system, management server control method, and program | |
CN109155939A (zh) | 一种负载迁移方法、装置及系统 | |
CN111858083A (zh) | 一种远程服务的调用方法、装置、电子设备及存储介质 | |
CN110324184A (zh) | 服务扩容与迁移方法、装置、系统、设备及可读存储介质 | |
CN106101297B (zh) | 一种报文应答方法及装置 | |
CN105450887B (zh) | 图像形成装置和处理方法 | |
US9270756B2 (en) | Enhancing active link utilization in serial attached SCSI topologies | |
CN109479214B (zh) | 一种负载均衡的方法及相关装置 | |
JP2010161468A (ja) | 端末装置、中継装置及びプログラム | |
CN112003885A (zh) | 内容传输设备及内容传输方法 | |
CN111124265A (zh) | 数据访问方法、设备和计算机程序产品 | |
JP2011244048A (ja) | 中継装置、プログラム及び方法 | |
JP6335527B2 (ja) | システム、システムの制御方法およびコンピュータプログラム | |
US20160302055A1 (en) | Information processing system | |
CN110809064B (zh) | 一种ip地址切换方法、装置及系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180316 |