CN113867775A - 接入请求的分发方法、服务器、可读介质、集群系统 - Google Patents
接入请求的分发方法、服务器、可读介质、集群系统 Download PDFInfo
- Publication number
- CN113867775A CN113867775A CN202010614843.6A CN202010614843A CN113867775A CN 113867775 A CN113867775 A CN 113867775A CN 202010614843 A CN202010614843 A CN 202010614843A CN 113867775 A CN113867775 A CN 113867775A
- Authority
- CN
- China
- Prior art keywords
- accessed
- user
- user terminal
- server
- terminal
- 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 62
- 230000004044 response Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 16
- 238000012360 testing method Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 230000002596 correlated effect Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种接入请求的分发方法,包括:响应于待接入的用户终端发送的接入请求,确定所述待接入的用户终端对应的目标系统,所述目标系统为第N代系统和第M代系统中的一者,其中,N>M,且N和M均为正整数;根据确定的所述目标系统,将所述接入请求分发到目标服务器,所述目标服务器为部署所述目标系统的至少一个服务器中的一者,以使得发送所述接入请求的用户终端接入所述目标服务器,并使得多个用户终端中的部分用户终端接入部署所述第M代系统的服务器、其余用户终端接入部署所述第N代系统的服务器。本公开还提供一种服务器、一种计算机可读介质、一种集群系统。
Description
技术领域
本公开实施例涉及通信领域,特别涉及一种接入请求的分发方法、一种服务器、一种计算机可读介质、一种集群系统。
背景技术
一个应用系统的新版本从开发到上线需要经过内测、公测等过程。在对新版本的应用系统进行内测、公测时,需要召集友好用户配合测试新版本系统的稳定性,最终开放给所有用户。
在新版本的应用系统上线时,经常面临系统稳定性风险。
发明内容
本公开实施例提供一种接入请求的分发方法、一种服务器、一种计算机可读介质。
第一方面,本公开实施例提供一种接入请求的分发方法,包括:
响应于待接入的用户终端发送的接入请求,确定所述待接入的用户终端对应的目标系统,所述目标系统为第N代系统和第M代系统中的一者,其中,N>M,且N和M均为正整数;
根据确定的所述目标系统,将所述接入请求分发到目标服务器,所述目标服务器为部署所述目标系统的至少一个服务器中的一者,以使得发送所述接入请求的用户终端接入所述目标服务器,并使得多个用户终端中的部分用户终端接入部署所述第M代系统的服务器、其余用户终端接入部署所述第N代系统的服务器。
在一些实施例中,响应于待接入的用户终端发送的接入请求,确定所述待接入的用户终端对应的目标系统的步骤包括:
判断已经接入部署所述第N代系统的服务器的用户终端数量是否超过第一阈值;
当已经接入部署所述第N代系统的服务器的用户终端数量未超过所述第一阈值时,将所述第N代系统确定为所述待接入的用户终端对应的目标系统;
当已经接入部署所述第N代系统的服务器的用户终端数量超过所述第一阈值时,将所述第M代系统确定为所述待接入的用户终端对应的目标系统。
在一些实施例中,所述分发方法还包括:
当有用户终端接入部署所述第N代系统的服务器时,存储接入部署所述第N代系统的服务器的用户终端的用户标识;
判断已经接入部署所述第N代系统的服务器的用户终端数量是否超过第一阈值的步骤包括:
判断本地存储的不同用户终端的用户标识数量是否超过所述第一阈值;
当本地存储的不同用户终端的用户标识数量超过所述第一阈值时,判定已经接入所述第N代系统的用户终端数量超过所述第一阈值。
在一些实施例中,所述分发方法还包括:
根据所述第N代系统的状态,增大所述第一阈值。
在一些实施例中,本地存储有多个用户终端的用户标识,所述接入请求携带有所述待接入的用户终端的用户标识,判断已经接入部署所述第N代系统的服务器的用户终端数量是否超过第一阈值的步骤之前,响应于待接入的用户终端发送的接入请求,确定所述待接入的用户终端对应的目标系统的步骤还包括:
判断本地存储的多个用户终端的用户标识是否包括所述待接入的用户终端的用户标识;
当本地存储的多个用户终端的用户标识包括所述待接入的用户终端的用户标识时,将所述第N代系统确定为所述目标系统;
当本地存储的多个用户终端的用户标识不包括所述待接入的用户终端的用户标识时,执行判断已经接入所述第一系统的用户终端数量是否超过第一阈值的步骤。
在一些实施例中,响应于待接入的用户终端发送的接入请求,确定所述待接入的用户终端对应的目标系统的步骤包括:
判断所述待接入的用户终端是否为友好终端;
当所述待接入的用户终端为友好终端时,将所述第N代系统确定为所述待接入的用户终端的目标系统;
当所述待接入的用户终端非友好终端时,将所述第M代系统确定为所述待接入的用户终端的目标系统。
在一些实施例中,本地存储有多个友好终端标识,所述接入请求携带所述待接入的用户终端的用户标识,判断所述待接入的用户终端是否为友好终端的步骤包括:
判断本地存储的多个友好终端标识中是否包括所述待接入的用户终端的用户标识;
当本地存储的多个友好终端标识中包括所述待接入的用户终端的用户标识时,判定所述待接入的用户终端为友好终端;
当本地存储的多个友好终端标识中不包括所述待接入的用户终端的用户标识时,判定所述待接入的用户终端非友好终端。
在一些实施例中,在判断本地存储的多个友好终端标识中是否包括所述待接入的用户终端的用户标识的步骤之前,所述分发方法还包括:
接收分发到当前服务器的友好终端标识;
在本地存储所述友好终端标识。
在一些实施例中,根据确定的所述目标系统,将所述接入请求分发到目标服务器的步骤包括:
根据确定的所述目标系统,通过反向代理将所述接入请求分发到所述目标服务器。
第二方面,本公开实施例提供一种服务器,包括:
存储模块,其上存储有可执行程序;
一个或多个处理器,所述一个或多个处理器能够调用所述可执行程序,以使得所述一个或多个处理器实现上述任意一种接入请求的分发方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
第三方面,本公开实施例提供一种计算机可读介质,所述计算机可读介质上存储有可执行程序,所述可执行程序被执行时能够实现上述任意一种接入请求的分发方法。
第四方面,本公开实施例提供一种集群系统,包括多个服务器,所述服务器为本公开实施例第二方面所述的服务器。
在本公开实施例提供了接入请求的分发方法、执行所述分发方法的服务器、存储能够实现所述分发方法的可执行程序的计算机可读介质、集群系统。在本公开实施例提供的接入请求的分发方法中,在系统迭代开发过程中,根据新版本系统的稳定性进行负载均衡,为用户终端确定新版本系统和旧版本系统中的一者作为其对应的目标系统,并将用户终端的接入请求分发到部署所述目标系统的服务器,从而实现按照与新版本系统的稳定性正相关的比例将一部分用户终端接入新版本系统、另一部分用户终端接入旧版本系统,避免了一次性将全部用户终端从旧版本系统切换到新版本系统对系统稳定性造成的风险,从而使用户终端平稳切换到新版本系统;将用户终端由旧版本系统逐步切换到新版本系统,还能够将新版本系统不稳定性对用户终端的影响限制在可控范围,进一步提升系统迭代开发过程中系统的平稳性和可控性。
附图说明
图1为本公开实施例中一种分发方法的流程图;
图2为本公开实施例中另一种分发方法中部分步骤的流程图;
图3为本公开实施例中又一种分发方法中部分步骤的流程图;
图4为本公开实施例中再一种分发方法中部分步骤的流程图;
图5为本公开实施例中再一种分发方法中部分步骤的流程图;
图6为本公开实施例中再一种分发方法中部分步骤的流程图;
图7为本公开实施例中再一种分发方法中部分步骤的流程图;
图8为本公开实施例中再一种分发方法中部分步骤的流程图;
图9为本公开实施例中再一种分发方法中部分步骤的流程图;
图10为本公开实施例中Nginx的结构示意图;
图11为本公开实施例中用户数据分发的结构示意图;
图12为本公开实施例中一种服务器的组成框图;
图13为本公开实施例中一种计算机可读介质的组成框图;
图14为本公开实施例中一种集群系统的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的接入请求的分发方法、服务器、计算机可读介质、集群系统进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
经本公开实施例的发明人研究发现,在应用系统的迭代升级过程中,针对修改比较少的版本迭代,项目组能够对应用系统的稳定性有较好的把控力,从而确保现网所有用户平稳地从旧版本系统切换到新版本系统;针对进行大范围修改的版本迭代,例如底层框架切换、版本开发语言切换等,在公测后将现网所用用户从旧版本系统切换到新版本系统的过程中,经常面临系统稳定性风险,从而无法确保现网所有用户平稳地从旧版本系统切换到新版本系统。
有鉴于此,参照图1,第一方面,本公开实施例提供一种接入请求的分发方法,包括:
在步骤S100中,响应于待接入的用户终端发送的接入请求,确定所述待接入的用户终端对应的目标系统,所述目标系统为第N代系统和第M代系统中的一者,其中,N>M,且N和M均为正整数;
在步骤S200中,根据确定的所述目标系统,将所述接入请求分发到目标服务器,所述目标服务器为部署所述目标系统的至少一个服务器中的一者,以使得发送所述接入请求的用户终端接入所述目标服务器,并使得多个用户终端中的部分用户终端接入部署所述第M代系统的服务器、其余用户终端接入部署所述第N代系统的服务器。
在本公开实施例中,第N代系统代表系统迭代过程中开发的新版本系统,第M代系统代表旧版本系统,该旧版本系统也是目前在网运行的系统。
需要说明的是,在本公开实施例中,N和M仅用于说明第N代系统和第M代系统的发布顺序,即,第M代系统发布在前,第N代系统发布在后,从而区分新版本系统和旧版本系统。在一些实施例中,可以用具体的系统版本号等标识区分新版本系统和旧版本系统,系统版本号不限于正整数,本公开实施例对此不做特殊限定。
在本公开实施例中,根据第N代系统的稳定性,确定所述第N代系统承载用户终端的比例。所述比例与第N代系统的稳定性正相关。通过步骤S100和步骤S200进行负载均衡,接入部署第N代系统的服务器的用户终端的比例满足确定的所述第N代系统承载用户终端的比例。因为确定的所述第N代系统承载用户终端的比例与第N代系统的稳定性正相关,随着第N代系统稳定性的提升,接入第N代系统的用户终端的比例随之提升,直至确定的所述第N代系统承载用户终端的比例变为100%,使用户终端全部切换到第N代系统,能够避免一次性将全部用户终端从旧版本系统切换到新版本系统对系统稳定性造成的风险,从而使用户终端平稳切换到新版本系统。在将用户终端由旧版本系统逐步切换到新版本系统,还能够将第N代系统不稳定性对用户终端的影响限制在可控范围,进一步提升系统切换的平稳性。
需要说明的是,本公开实施例对于如何根据第N代系统的稳定性,确定所述第N代系统承载用户终端的比例不做特殊限定。例如,在公测阶段,确定参与公测的特定用户终端作为友好终端,通过步骤S100至步骤S200,仅将友好终端接入第N代系统,而将非友好终端保留在第M代系统中。例如,在公测结束将现网用户终端从旧版本系统切换到新版本系统的阶段,在第N代系统运行过程中对其稳定性进行评估,随着第N代系统的稳定性的提升逐步提高所述第N代系统承载用户终端的比例。
在本公开实施例提供的接入请求的分发方法中,在系统迭代开发过程中,根据新版本系统的稳定性进行负载均衡,为用户终端确定新版本系统和旧版本系统中的一者作为其对应的目标系统,并将用户终端的接入请求分发到部署所述目标系统的服务器,从而实现按照与新版本系统的稳定性正相关的比例将一部分用户终端接入新版本系统、另一部分用户终端接入旧版本系统,避免了一次性将全部用户终端从旧版本系统切换到新版本系统对系统稳定性造成的风险,从而使用户终端平稳切换到新版本系统;将用户终端由旧版本系统逐步切换到新版本系统,还能够将新版本系统不稳定性对用户终端的影响限制在可控范围,进一步提升系统迭代开发过程中系统的平稳性和可控性。
如上文所述,在本公开实施例中,按照与新版本系统的稳定性正相关的预定比例将一部分用户终端接入新版本系统、另一部分用户终端接入旧版本系统。对应于新版本系统当前的稳定性,所述预定比例是确定的。作为一种可选的实施方式,当接收到用户终端的接入请求时,将不超过所述预定比例的用户终端接入到新版本系统,超过所述预定比例的用户终端则接入旧版本系统。在本公开实施例中,当现网用户终端数量确定的情况下,可以根据接入新版本系统的用户终端数量判断接入新版本系统的用户终端是否达到所述预定比例。
相应地,在一些实施例中,参照图2,步骤S100包括:
在步骤S101中,判断已经接入部署所述第N代系统的服务器的用户终端数量是否超过第一阈值;
在步骤S102中,当已经接入部署所述第N代系统的服务器的用户终端数量未超过所述第一阈值时,将所述第N代系统确定为所述待接入的用户终端对应的目标系统;
在步骤S103中,当已经接入部署所述第N代系统的服务器的用户终端数量超过所述第一阈值时,将所述第M代系统确定为所述待接入的用户终端对应的目标系统。
需要说明的是,在本公开实施例中,通过步骤S100至步骤S200接入到第N代系统的服务器,在断开连接后重新请求接入时,仍然会接入到部署第N代系统的服务器。本公开实施例中所述已经接入部署所述第N代系统的服务器的用户终端是指已经通过步骤S100至步骤S200连接过部署第N代系统的服务器的终端,所述已经接入部署所述第N代系统的服务器的用户终端当前与部署第N代系统的服务器可以是连接状态,也可以是连接部署第N代系统的服务器后的断开状态。
在本公开实施例中,服务器本地存储有当前接入系统的用户终端的数据,当前接入系统的用户终端包括接入新版本系统的用户终端和接入旧版本系统的用户终端。作为一种可选的实施方式,本地存储的用户终端的数据包括能够唯一识别用户终端的用户标识,接收到的接入请求也携带有待接入的用户终端的用户标识,根据本地存储的用户标识能够判断接入新版本系统的用户终端数量是否超过所述第一阈值。
作为一种可选的实施方式,在本公开实施例中,服务器动态收集已经接入部署所述第N代系统的服务器的用户终端的数据。动态收集是指,将已经接入已经接入部署所述第N代系统的服务器的用户终端的用户标识存储在本地,从而能够准确反映已经接入部署所述第N代系统的服务器的用户终端的数量。
相应地,参照图3,在一些实施例中,所述分发方法还包括:
在步骤S300中,当有用户终端接入部署所述第N代系统的服务器时,存储接入部署所述第N代系统的服务器的用户终端的用户标识。
相应地,步骤S101包括:
在步骤S1011中,判断本地存储的已经接入部署所述第N代系统的服务器的用户终端的用户标识数量是否超过所述第一阈值;当本地存储的已经接入部署所述第N代系统的服务器的用户终端的用户标识数量超过所述第一阈值时,判定已经接入所述第N代系统的用户终端数量超过所述第一阈值。
作为一种可选的实施方式,在本公开实施例中,用户标识保存在内存数据库中,在步骤S1011中,通过内存数据库中存储的用户标识数量,来判断本地存储的已经接入部署所述第N代系统的服务器的用户终端的用户标识数量是否超过所述第一阈值。
需要说明的是,在本公开实施例中,步骤S300中,接入部署所述第N代系统的服务器的用户终端可以包括公测阶段参与公测的用户终端,还可以包括在公测结束后,从旧版本系统切换到新版本系统的用户终端。
如上文所述,在本公开实施例中,按照与新版本系统的稳定性正相关的预定比例将一部分用户终端接入新版本系统、另一部分用户终端接入旧版本系统。在本公开实施例中,能够对新版本系统的运行状态进行评估,并随着新版本系统的稳定性提升,增大第一阈值,以使更多的用户终端接入新版本系统,直至现网所有用户终端全部从旧版本系统切换到新版本系统。
相应地,参照图4,在一些实施例中,所述分发方法还包括:
在步骤S401中,根据所述第N代系统的状态,增大所述第一阈值。
需要说明的是,在本公开实施例中,定期或不定期的评估第N代系统的状态。当第N代系统相比于前一次评估稳定性提升,则通过步骤S401增大所述第一阈值,从而将更多的用户终端从第M代系统切换到第N代系统。
作为一种可选的实施方式,本公开实施例中利用新版本系统的故障率反映新版本系统的稳定性,当新版本系统的故障率减小时,增大所述第一阈值。
相应地,在本可选实施方式中,步骤S401具体可以包括:
确定所述第N代系统的故障率的减小量;
当所述故障率的减小量超过第二阈值时,增大所述第一阈值。
需要说明的是,在本公开实施例中,对于如何增大所述第一阈值不做特殊限定,例如,按照预定步长增大所述第一阈值。还需要说明的是,所述预定步长可以是固定的,例如将用户终端总数的5%、10%、50%等作为所述预定步长;所述预定步长还可以是可变的,本公开实施例对此不做特殊限定。
在本公开实施例中,服务器存储有多个用户标识。作为一种可选的实施方式,将本地存储的用户标识对应的用户终端优先接入第N代系统。相应地,参照图5,在一些实施例中,本地存储有多个用户终端的用户标识,在步骤S101之前,本公开实施例的步骤S100还包括:
在步骤S104中,判断本地存储的多个用户终端的用户标识是否包括所述待接入的用户终端的用户标识;
在步骤S105中,当本地存储的多个用户终端的用户标识包括所述待接入的用户终端的用户标识时,将所述第N代系统确定为所述目标系统;
当本地存储的多个用户终端的用户标识不包括所述待接入的用户终端的用户标识时,执行判断已经接入所述第一系统的用户终端数量是否超过第一阈值的步骤。
需要说明的是,本地存储的用户标识可以是通过步骤S301存储的已经接入部署所述第N代系统的服务器的用户终端的用户标识;还可以是在公测阶段,确定的参与公测的友好终端的用户标识。
作为一种可选的实施方式,在本公开实施例中,所述待接入的用户终端的用户标识保存在内存数据库中,在步骤S104中,通过查询所述内存数据库判断本地存储的多个用户终端的用户标识是否包括所述待接入的用户终端的用户标识。
通过步骤S104和步骤S105,能够使友好终端和已经接入到部署新版本系统的终端再次请求接入时,仍能够保留在新版本系统,而不会接入到部署旧版本系统的服务器。
在本公开实施例中,在公测阶段,会从所有用户终端中选择一部分用户终端作为参与公测的友好终端,并在本地存储友好终端的用户标识。作为一种可选的实施方式,当接到用户终端发送的接入请求时,根据存储的友好终端的用户标识识别友好终端,并将友好终端接入新版本系统。
作为一种可选的实施方式,用Nginx(Engine X)作为反向代理。Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器,具有高度的模块化和自由软件许可证。在本公开实施例中,通过设计开发相应的Nginx模块实现将所述接入请求分发到所述目标服务器的负载均衡过程。
在本公开实施例中,多个Nginx组成一个Nginx集群,在Nginx集群中的每一个Nginx中,都存储有友好终端的用户标识,在处理接入请求时,Nginx通过访问自身内存获取友好终端的用户标识,能够提高读取速率。此外,由于Nginx集群中各个Nginx的内存不能共享,因此在本公开实施例中,需要将收集的友好终端的用户标识分发到Nginx集群中的各个Nginx。
相应地,参照图6,在一些实施例中,步骤S100包括:
在步骤S111中,判断所述待接入的用户终端是否为友好终端;
在步骤S112中,当所述待接入用户终端为友好终端时,将所述第N代系统确定为所述待接入的用户终端的目标系统;
在步骤S113中,当所述待接入的用户终端非友好终端时,将所述第M代系统确定为所述待接入的用户终端的目标系统。
在一些实施例中,参照图7,步骤S111包括:
在步骤S1111中,判断本地存储的多个友好终端标识中是否包括所述待接入的用户终端的用户标识;
在步骤S1112中,当本地存储的多个友好终端标识中包括所述待接入的用户终端的用户标识时,判定所述待接入用户终端为友好终端;
在步骤S1113中,当本地存储的多个友好终端标识中不包括所述待接入的用户终端的用户标识时,判定所述待接入用户终端非友好终端。
在一些实施例中,参照图8,在步骤S1111之前,所述分发方法还包括:
在步骤S1114中,接收分发到当前服务器的友好终端标识;
在步骤S1115中,在本地存储所述友好终端标识。
作为一种可选的实施方式,本公开实施例中,通过反向代理进行负载均衡。反向代理是指,位于用户与后端服务器之间的反向代理服务器接收用户终端的接入请求,然后将接入请求有策略的转发给其代理的后端服务器,并将后端服务器处理的结果返回给发送接入请求的用户终端。其中,后端服务器是在网络中实际提供服务的服务器。负载均衡即反向代理服务器将接收到的接入请求按照预定规则有策略地分发到后端服务器的过程。
相应地,参照图9,步骤S200具体包括:
在步骤S201中,根据确定的所述目标系统,通过反向代理将所述接入请求分发到所述目标服务器。
为了使本领域技术人员能够更清楚地理解本发明提供的技术方案,下面通过具体的实施例,对本发明提供的技术方案进行详细说明:
实施例一
在本实施例一中,如图10所示,Nginx包括以下模块:
Nginx接入模块,用于解析接收到的接入请求;
用户收集插件,用于收集并在Nginx的共享内存中存储用户标识数据;
分流插件,用于将接入请求分发到部署对应版本的系统的服务器,以使用户终端接入对应版本的系统;
用户标识处理引擎,分为友好用户规则处理引擎模块和批量负载均衡处理引擎模块,其中,
友好用户规则处理引擎模块用于判断用户终端的用户标识是否为友好用户终端的用户标识;
批量负载均衡处理引擎模块用于判断本地是否存储有接入请求中携带的用户标识。
实施例二
在本实施例二中,多个Nginx组成一个Nginx集群,在Nginx集群中的每一个Nginx中,都存储有友好终端的用户标识,在处理接入请求时,Nginx通过访问自身内存获取友好终端的用户标识,能够提高读取速率。此外,由于Nginx集群中各个Nginx的内存不能共享,因此在本公开实施例中,需要将收集的友好终端的用户标识分发到Nginx集群中的各个Nginx。
如图11所示,Nginx集群中的分发服务模块收集、更新友好终端,并将收集的友好终端的用户标识分发到Nginx集群中的各个Nginx。每个Nginx在各自的共享内存(share)中存储友好终端的用户标识。
实施例三
在本实施例三中,多个Nginx组成一个Nginx集群,Nginx如图10所示,内测阶段,将友好终端接入新版本系统包括以下流程:
用户手机插件接收Nginx集群分发的友好终端的用户标识,并存储在Nginx的共享内存中;
接收到用户终端发送的接入请求时,Nginx接入模块解析接入请求;
Nginx接入模块将解析完接入请求的数据交与友好用户规则处理引擎模块处理;
友好用户规则处理引擎模块判断接入请求中携带的用户标识是否在Nginx共享内存中,如果在,Nginx分流插件将该用户终端转入新版本系统;否则,Nginx分流插件将该用户终端转入旧版本系统。
实施例四
在本实施例四中,多个Nginx组成一个Nginx集群,Nginx如图10所示,进行负载均衡,将现网用户逐步从旧版本系统切换到新版本系统包括如下流程:
统计接入新版本系统和旧版本系统中的用户终端的总量;
根据新版本系统状况,设定当前现网用户需要接入新版本系统的百分比,并确定第一阈值,例如,假设当前接入的用户终端总量为100万,要将其中5%的终端接入新版本系统,则第一阈值为5万;上述百分比还可以是10%、50%等;
接收到用户终端发送的接入请求时,Nginx接入模块解析用户请求;
Nginx接入模块将解析完接入请求的数据交与批量负载均衡处理引擎模块;
批量负载均衡处理引擎模块判断用户标识是否在用户标识存储模块;
如果用户标识在用户标识存储模块,通过Nginx反向代理直接将用户终端接入新版本系统;
否则,判断用户标识存储模块的存储的用户标识数量是否到达负载均衡的临界点,即第一阈值;
如果到达临界点,通过Nginx反向代理直接将用户终端接入旧版本系统;否则,接入新版本系统。
第二方面,参照图12,本公开实施例提供一种服务器,其包括:
一个或多个处理器101;
存储器102,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一种接入请求的分发方法;
一个或多个I/O接口103,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
其中,处理器101为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器102为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)103连接在处理器101与存储器102间,能实现处理器101与存储器102的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器101、存储器102和I/O接口103通过总线104相互连接,进而与计算设备的其它组件连接。
上文已经对所述接入请求的分发方法进行了详细描述,此处不再赘述。
第三方面,参照图13,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任意一种接入请求的分发方法。
上文已经对所述接入请求的分发方法进行了详细描述,此处不再赘述。
第四方面,参照图14,本公开实施例提供一种集群系统,包括多个服务器201,所述服务器201为本公开实施例第二方面所述的服务器。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (12)
1.一种接入请求的分发方法,包括:
响应于待接入的用户终端发送的接入请求,确定所述待接入的用户终端对应的目标系统,所述目标系统为第N代系统和第M代系统中的一者,其中,N>M,且N和M均为正整数;
根据确定的所述目标系统,将所述接入请求分发到目标服务器,所述目标服务器为部署所述目标系统的至少一个服务器中的一者,以使得发送所述接入请求的用户终端接入所述目标服务器,并使得多个用户终端中的部分用户终端接入部署所述第M代系统的服务器、其余用户终端接入部署所述第N代系统的服务器。
2.根据权利要求1所述的分发方法,其中,响应于待接入的用户终端发送的接入请求,确定所述待接入的用户终端对应的目标系统的步骤包括:
判断已经接入部署所述第N代系统的服务器的用户终端数量是否超过第一阈值;
当已经接入部署所述第N代系统的服务器的用户终端数量未超过所述第一阈值时,将所述第N代系统确定为所述待接入的用户终端对应的目标系统;
当已经接入部署所述第N代系统的服务器的用户终端数量超过所述第一阈值时,将所述第M代系统确定为所述待接入的用户终端对应的目标系统。
3.根据权利要求2所述的分发方法,其中,所述分发方法还包括:
当有用户终端接入部署所述第N代系统的服务器时,存储接入部署所述第N代系统的服务器的用户终端的用户标识;
判断已经接入部署所述第N代系统的服务器的用户终端数量是否超过第一阈值的步骤包括:
判断本地存储的不同用户终端的用户标识数量是否超过所述第一阈值;
当本地存储的不同用户终端的用户标识数量超过所述第一阈值时,判定已经接入所述第N代系统的用户终端数量超过所述第一阈值。
4.根据权利要求2或3所述的分发方法,其中,所述分发方法还包括:
根据所述第N代系统的状态,增大所述第一阈值。
5.根据权利要求2或3所述的分发方法,其中,本地存储有多个用户终端的用户标识,所述接入请求携带有所述待接入的用户终端的用户标识,判断已经接入部署所述第N代系统的服务器的用户终端数量是否超过第一阈值的步骤之前,响应于待接入的用户终端发送的接入请求,确定所述待接入的用户终端对应的目标系统的步骤还包括:
判断本地存储的多个用户终端的用户标识是否包括所述待接入的用户终端的用户标识;
当本地存储的多个用户终端的用户标识包括所述待接入的用户终端的用户标识时,将所述第N代系统确定为所述目标系统;
当本地存储的多个用户终端的用户标识不包括所述待接入的用户终端的用户标识时,执行判断已经接入所述第一系统的用户终端数量是否超过第一阈值的步骤。
6.根据权利要求1所述的分发方法,其中,响应于待接入的用户终端发送的接入请求,确定所述待接入的用户终端对应的目标系统的步骤包括:
判断所述待接入的用户终端是否为友好终端;
当所述待接入的用户终端为友好终端时,将所述第N代系统确定为所述待接入的用户终端的目标系统;
当所述待接入的用户终端非友好终端时,将所述第M代系统确定为所述待接入的用户终端的目标系统。
7.根据权利要求6所述的分发方法,其中,本地存储有多个友好终端标识,所述接入请求携带所述待接入的用户终端的用户标识,判断所述待接入的用户终端是否为友好终端的步骤包括:
判断本地存储的多个友好终端标识中是否包括所述待接入的用户终端的用户标识;
当本地存储的多个友好终端标识中包括所述待接入的用户终端的用户标识时,判定所述待接入的用户终端为友好终端;
当本地存储的多个友好终端标识中不包括所述待接入的用户终端的用户标识时,判定所述待接入的用户终端非友好终端。
8.根据权利要求7所述的分发方法,其中,在判断本地存储的多个友好终端标识中是否包括所述待接入的用户终端的用户标识的步骤之前,所述分发方法还包括:
接收分发到当前服务器的友好终端标识;
在本地存储所述友好终端标识。
9.根据权利要求1至3、6至8中任意一项所述的分发方法,其中,根据确定的所述目标系统,将所述接入请求分发到目标服务器的步骤包括:
根据确定的所述目标系统,通过反向代理将所述接入请求分发到所述目标服务器。
10.一种服务器,包括:
存储模块,其上存储有可执行程序;
一个或多个处理器,所述一个或多个处理器能够调用所述可执行程序,以使得所述一个或多个处理器实现根据权利要求1至9中任意一项所述的接入请求的分发方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
11.一种计算机可读介质,所述计算机可读介质上存储有可执行程序,所述可执行程序被执行时能够实现根据权利要求1至9中任意一项所述的接入请求的分发方法。
12.一种集群系统,包括多个服务器,所述服务器为权利要求10中所述的服务器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010614843.6A CN113867775A (zh) | 2020-06-30 | 2020-06-30 | 接入请求的分发方法、服务器、可读介质、集群系统 |
PCT/CN2021/103086 WO2022002042A1 (zh) | 2020-06-30 | 2021-06-29 | 接入请求的分发方法、服务器、计算机可读存储介质及集群系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010614843.6A CN113867775A (zh) | 2020-06-30 | 2020-06-30 | 接入请求的分发方法、服务器、可读介质、集群系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113867775A true CN113867775A (zh) | 2021-12-31 |
Family
ID=78981243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010614843.6A Pending CN113867775A (zh) | 2020-06-30 | 2020-06-30 | 接入请求的分发方法、服务器、可读介质、集群系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113867775A (zh) |
WO (1) | WO2022002042A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090259736A1 (en) * | 2008-04-15 | 2009-10-15 | Juniper Networks, Inc. | Label-based target host configuration for a server load balancer |
CN101668325B (zh) * | 2008-09-03 | 2012-03-28 | 中国移动通信集团上海有限公司 | 一种准入控制方法、设备及系统 |
CN107786593A (zh) * | 2016-08-25 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 任务部署方法、实例部署方法、装置及设备 |
CN107181625B (zh) * | 2017-07-12 | 2020-03-10 | 微鲸科技有限公司 | 数据服务提供方法及装置 |
CN111221653B (zh) * | 2020-01-06 | 2024-03-19 | 中国银联股份有限公司 | 一种服务处理方法、装置及计算机可读存储介质 |
-
2020
- 2020-06-30 CN CN202010614843.6A patent/CN113867775A/zh active Pending
-
2021
- 2021-06-29 WO PCT/CN2021/103086 patent/WO2022002042A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022002042A1 (zh) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150082094A1 (en) | Test Execution Spanning Cloud and Local Devices | |
US20160323403A9 (en) | System, device and method for providing push service using feedback message | |
US20170171304A1 (en) | Service updating method and system for server cluster | |
CN112087520B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN113127168A (zh) | 服务分配方法、系统、装置、服务器及介质 | |
CN110166523A (zh) | 内容更新方法、装置、设备和计算机可读存储介质 | |
CN111694639B (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN108616525A (zh) | 网站访问方法和装置、电子设备及存储介质 | |
CN110784530A (zh) | 灰度的发布方法和服务器 | |
CN113127232A (zh) | 消息处理方法、装置、设备及存储介质 | |
CN113032099A (zh) | 云计算节点、文件管理方法及装置 | |
WO2016116013A1 (zh) | 软件升级方法和系统 | |
CN107066522B (zh) | 数据库的访问方法和装置 | |
CN108647102B (zh) | 异构系统的服务请求处理方法、装置和电子设备 | |
CN113867775A (zh) | 接入请求的分发方法、服务器、可读介质、集群系统 | |
CN115952003A (zh) | 一种集群服务器负载均衡的方法、装置、设备及存储介质 | |
CN111259376A (zh) | 权限配置方法、装置、服务器及存储介质 | |
WO2022143758A1 (zh) | 一种数据脱敏方法、装置及存储系统 | |
CN113055459B (zh) | 日志投递方法和装置、电子设备及存储介质 | |
CN112764897B (zh) | 任务请求的处理方法、装置、系统及计算机可读存储介质 | |
CN110874238B (zh) | 一种线上业务更新方法及其装置 | |
CN114296869A (zh) | 一种基于tcp长连接的服务器节点服役方法及装置 | |
CN108306859B (zh) | 限制服务器访问量的方法、设备及计算机可读存储介质 | |
CN112604267A (zh) | 游戏处理方法、系统、装置、设备和介质 | |
CN114598708B (zh) | 一种信息处理方法、装置、系统、设备及可读存储介质 |
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 |