CN112114869A - 一种服务器、灰度发布方法、装置及介质 - Google Patents

一种服务器、灰度发布方法、装置及介质 Download PDF

Info

Publication number
CN112114869A
CN112114869A CN202010985848.XA CN202010985848A CN112114869A CN 112114869 A CN112114869 A CN 112114869A CN 202010985848 A CN202010985848 A CN 202010985848A CN 112114869 A CN112114869 A CN 112114869A
Authority
CN
China
Prior art keywords
server cluster
target
identification information
request
request information
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
Application number
CN202010985848.XA
Other languages
English (en)
Inventor
矫恒浩
于晓峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Hisense Media Network Technology Co Ltd
Juhaokan Technology Co Ltd
Original Assignee
Qingdao Hisense Media Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Hisense Media Network Technology Co Ltd filed Critical Qingdao Hisense Media Network Technology Co Ltd
Priority to CN202010985848.XA priority Critical patent/CN112114869A/zh
Priority to PCT/CN2020/130191 priority patent/WO2021120978A2/zh
Publication of CN112114869A publication Critical patent/CN112114869A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • G06F15/163Interprocessor communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种服务器、灰度发布方法、装置及介质,用以解决现有灰度发布方法中容易出现管理同一个智能设备服务器集群频繁在新旧版本中更替,降低对智能设备进行管理的稳定性的问题。在本申请中,服务器的控制器若通过通信器获取智能设备发送的请求信息,则获取请求信息中携带的智能设备的标识信息,将该标识信息与保存的任一目标标识信息进行匹配,当存在匹配的目标标识信息时,则直接将该智能设备发送的请求信息发送至新版本服务器集群,实现将目标标识信息所对应的智能设备发送的请求信息均固定转发至新版本服务器集群,使新版本服务器集群可以对目标标识信息所对应的智能设备进行固定管理,提高了对智能设备进行管理的稳定性。

Description

一种服务器、灰度发布方法、装置及介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种服务器、灰度发布方法、装置及介质。
背景技术
灰度发布是指在版本更新过程中,新版本与旧版本之间能够平滑过渡的一种发布方式。由于灰度发布可以保证版本在版本更新的过程中稳定,在灰度发布的初始阶段就可以及时发现问题并调整,并且可以从旧版本平滑的过度到新版本,降低版本更新过程的风险,因此,灰度发布技术在当今IT和互联网领域应用比较广泛。
现有技术中,主要采用传统灰度发布方法来降低版本更新过程中产生的风险。具体的,预先配置了新旧版本的流量转发比例,根据该流量转发比例,服务器确定当前接收到的智能设备发送的请求是发送给新版本服务器集群,还是旧版本服务器集群。对于该传统灰度发布方法,由于服务器在转发智能设备发送的请求时,并不考虑该智能设备之前发送的历史请求是否已经转发到新版本服务器集群了,只是按照流量转发比例,判断当前智能设备发送的请求是否为可以转发到新版本服务器集群的请求,从而导致无法将同一智能设备发送的请求进行固定转发,造成用于管理同一个智能设备的服务器集群频繁在新旧版本中更替,降低对智能设备进行管理的稳定性。
例如,图1为本申请一些实施例提供的传统灰度发布方法的工作过程示意图。如图1所示,智能设备在向代理服务器发送第n个请求的时候,代理服务器按照预先配置的流量转发比例,确定当前智能设备发送的请求为可以转发到新版本服务器集群的请求,将该第n个请求转发至新版本服务器集群了,但是当智能设备再向代理服务器发送第n+1个请求的时候,代理服务器按照流量转发比例,确定该请求已经不为可以转发到新版本服务器集群的请求,便将该第n+1个请求转发至旧版本服务器集群,从而使当前对该智能设备进行管理的服务器集群不为新版本服务器集群。
发明内容
本申请提供了一种服务器、灰度发布方法、装置及介质,用以解决现有灰度发布方法中容易出现管理同一个智能设备服务器集群频繁在新旧版本中更替,降低对智能设备进行管理的稳定性的问题。
第一方面,本申请提供了一种服务器,所述服务器包括:
通信器,所述通信器用于分别与新版本服务器集群、旧版本服务器集群以及智能设备进行通信连接;
控制器,所述控制器用于执行:
若通过所述通信器获取到智能设备发送的请求信息,则获取所述请求信息中携带的所述智能设备的标识信息;若确定所述标识信息与保存的任一目标标识信息匹配,则控制通信器将所述请求信息转发至所述新版本服务器集群;否则,确定所述智能设备对应的目标服务器集群,控制所述通信器将所述请求信息转发至所述目标服务器集群,其中,所述目标服务器集群为所述新版本服务器集群或所述旧版本服务器集群。
第二方面,本申请提供了一种灰度发布方法,所述方法包括:
接收智能设备发送的请求信息,获取所述请求信息中携带的所述智能设备的标识信息;
若确定所述标识信息与保存的任一目标标识信息匹配,则将所述请求信息转发至所述新版本服务器集群;
否则,确定所述智能设备对应的目标服务器集群,将所述请求信息转发至所述目标服务器集群,其中,所述目标服务器集群为所述新版本服务器集群或所述旧版本服务器集群。
第三方面,本申请提供了一种灰度发布装置,所述装置包括:
获取单元,用于接收智能设备发送的请求信息,获取所述请求信息中携带的所述智能设备的标识信息;
第一处理单元,用于若确定所述标识信息与保存的任一目标标识信息匹配,则将所述请求信息转发至所述新版本服务器集群;
第二处理单元,用于若确定所述标识信息与保存的任一目标标识信息不匹配,确定所述智能设备对应的目标服务器集群,将所述请求信息转发至所述目标服务器集群,其中,所述目标服务器集群为所述新版本服务器集群或所述旧版本服务器集群。
第四方面,本申请提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述灰度发布方法的步骤。
在进行灰度发布的过程中,服务器的控制器若通过通信器获取智能设备发送的请求信息,则获取请求信息中携带的智能设备的标识信息,将该标识信息与保存的任一目标标识信息进行匹配,当存在匹配的目标标识信息时,则直接将该智能设备发送的请求信息发送至新版本服务器集群,从而实现将目标标识信息所对应的智能设备发送的请求信息均固定转发至新版本服务器集群,使新版本服务器集群可以对目标标识信息所对应的智能设备进行固定管理,一定程度上提高了对智能设备进行管理的稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一些实施例提供的传统灰度发布方法的工作过程示意图;
图2为本申请一些实施例提供的一种服务器的结构示意图;
图3为本申请一些实施例提供的一种灰度发布场景的架构示意图;
图4为本申请一些实施例提供的一种灰度发布过程示意图;
图5为本申请一些实施例提供的一种灰度发布装置结构示意图。
具体实施方式
为了提高对智能设备进行管理的稳定性,本申请提供了一种服务器、灰度发布方法、装置及介质。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步的详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在实际使用过程中,当智能设备接收到用户输入的希望使用某一功能的使用操作时,若确定智能设备本地无法提供该功能,则生成该功能对应的请求信息,并将该请求信息发送至服务器。其中,该请求信息中会携带有智能设备的标识信息。服务器接收到智能设备发送的请求信息之后,对该请求信息进行相应的处理,获取该请求信息中携带的智能设备的标识信息。为了实现将一些标识信息的智能设备发送的请求信息固定转发至新版本服务器集群,服务器预先保存有目标标识信息,当获取到请求信息中的标识信息之后,将该标识信息与保存的任一目标标识信息进行匹配,当存在匹配的目标标识信息时,说明该智能设备是由新版本服务器集群进行管理的,则将该请求信息发送至新版本服务器集群;当不存在匹配的目标标识信息时,则通过相应的处理,确定管理该智能设备的目标服务器集群,从而将该请求信息发送至目标服务器集群,以便将目标服务器集群对该智能设备的请求信息进行响应。
图2为本申请一些实施例提供的一种服务器的结构示意图,所述服务器包括:
通信器21,所述通信器21用于分别与新版本服务器集群、旧版本服务器集群以及智能设备进行通信连接;
控制器22,所述控制器22用于执行:
通过所述通信器21获取到智能设备发送的请求信息,获取所述请求信息中携带的所述智能设备的标识信息;若确定所述标识信息与保存的任一目标标识信息匹配,则控制通信器21将所述请求信息转发至所述新版本服务器集群;否则,确定所述智能设备对应的目标服务器集群,控制所述通信器21将所述请求信息转发至所述目标服务器集群,其中,所述目标服务器集群为所述新版本服务器集群或所述旧版本服务器集群。
在本申请中,为了实现灰度发布,该进行灰度发布的服务器包括通信器21以及控制器22,其中通信器21与控制器22连接。通过服务器上的通信器21可以实现该服务器分别与新版本服务器集群、旧版本服务器集群以及智能设备之间的通信连接,并在控制器22的控制下接收智能设备发送的请求信息,或者在控制器22的控制下将请求信息转发至服务器集群(包括新版本服务器集群或旧版本服务器集群)。而服务器的控制器22可以控制通信器21获取智能设备发送的请求信息,比如,请求报文等,并获取该请求信息中携带的发送该智能设备的标识信息。基于该标识信息,进行相应的处理,确定用于管理该智能设备的服务器集群,并控制通信器21将该请求信息发送给服务器集群。
其中,该标识信息可以是智能设备所归属的用户的标识,也可以该智能设备的标识。具体的,可以根据实际需求进行灵活设置,在此不做具体限定。
为了实现将智能设备发送的请求信息进行固定转发,在本申请中,该进行灰度发布的服务器中保存有目标标识信息,该目标标识信息为新版本服务器当前进行管理的智能设备的标识信息。当基于上述实施例的方法,获取到请求信息中携带的智能设备的标识信息之后,将该标识信息与保存的任一目标标识信息进行匹配。具体的,若确定该标识信息与保存的任一目标标识信息匹配,说明该标识信息对应的智能设备是由新版本服务器集群进行管理的,则控制器22控制通信器21将请求信息转发至新版本服务器集群,以使新版本服务器集群对该智能设备的请求信息进行响应。
需要说明的是,服务器保存的目标标识信息可以是工作人员预先配置在该服务器中的,也可以是根据当前灰度发布期间,请求信息被发送给新版本服务器集群的智能设备的标识信息确定的。当然,上述两种确定目标标识信息的方式可以结合,即该目标标识信息中既包括工作人员预先配置在该服务器中的标识信息,也包括根据当前灰度发布期间,请求信息被发送给新版本服务器集群的智能设备的标识信息确定的标识信息。其中,该目标标识信息可以表示为设备标识信息、设备的IP地址、或者用户的标识等,也可以表示为其他形式,只要可以唯一标识当前新版本服务器集群进行管理的智能设备,均可应用于本申请。
在另一种可能的实施方式中,若确定该标识信息与保存的任一目标标识信息不匹配,说明当前新版本服务器集群不对该标识信息对应的智能设备进行管理,需要为该智能设备分配用于管理该智能设备的服务器集群,则控制器22通过相应的处理,确定该智能设备对应的目标服务器集群,并控制通信器21将该请求信息转发至目标服务器集群,以使目标服务器集群对该智能设备的请求信息进行响应。
其中,目标服务器集群为新版本服务器集群或旧版本服务器集群。
在进行灰度发布的过程中,服务器的控制器22若通过通信器21获取智能设备发送的请求信息,则获取请求信息中携带的智能设备的标识信息,将该标识信息与保存的任一目标标识信息进行匹配,当存在匹配的目标标识信息时,则直接将该智能设备发送的请求信息发送至新版本服务器集群,从而实现将目标标识信息所对应的智能设备发送的请求信息均固定转发至新版本服务器集群,使新版本服务器集群可以对目标标识信息所对应的智能设备进行固定管理,一定程度上提高了对智能设备进行管理的稳定性。
为了准确地确定用于管理智能设备的服务器集群,在上述实施例的基础上,在本申请中,所述控制器22用于执行:
分别获取所述新版本服务器集群当前管理的智能设备的第一数量、以及所述旧版本服务器集群当前管理的智能设备的第二数量;根据所述第一数量以及所述第二数量,确定所述智能设备对应的目标服务器集群;或
按照预先配置的映射方式,将所述标识信息映射为对应的数值;根据预先配置的量化数值,获取所述数值对应的余值;根据所述余值以及所述量化数值,确定所述智能设备对应的目标服务器集群。
为了确定用于管理该标识信息的智能设备的目标服务器集群,在本申请中,可以根据新版本服务器集群当前管理的智能设备的数量(为了方便描述,记为第一数量)、以及旧版本服务器集群当前管理的智能设备的数量(为了方便描述,记为第二数量),确定该智能设备对应的目标服务器集群。
具体的,当基于上述实施例确定获取的标识信息与保存的任一目标标识信息不匹配时,获取新版本服务器集群当前管理的智能设备的第一数量、以及旧版本服务器集群当前管理的智能设备的第二数量。
其中,服务器可以通过记录当前已经转发至新版本服务器集群的请求信息中携带的标识信息(为了方便描述,记为第一标识信息),根据不同的第一标识信息的数量,确定新版本服务器集群当前管理的智能设备的第一数量,并通过记录当前已经转发至旧版本服务器集群的请求信息中携带的标识信息的数量(为了方便描述,记为第二标识信息),根据不同的第二标识信息的数量,获取旧版本服务器集群当前管理的智能设备的第二数量;服务器也可以通过分别向新版本服务器集群以及旧版本服务器集群发送查询请求,根据新版本服务器集群返回的反馈结果,获取第一数量,并根据旧版本服务器集群返回的反馈结果,获取第二数量。当然,服务器还可以通过在每次确定接收到请求信息中携带的标识信息与之前接收到的任一历史标识信息不匹配时,根据该智能设备对应的目标服务器集群,对统计的该目标服务器集群当前管理的智能设备的数量进行更新的方式,获取第一数量以及第二数量。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
当基于上述实施例获取到第一数量以及第二数量之后,控制器22根据该第一数量以及第二数量,进行相应的处理,即可确定当前智能设备对应的目标服务器集群。
在一种可能的实施方式中,所述控制器22用于执行:
确定所述第一数量与所述第二数量的第一比值;
若所述第一比值大于预设的第一阈值,确定所述智能设备对应的目标服务器集群为旧版本服务器集群;
否则,确定所述目标智能设备对应的目标服务器集群为新版本服务器集群。
由于在实际应用场景中一般会将灰度发布期间分为多个阶段,在每个阶段可以设置新版本服务器集群可以管理的智能设备的数量、与旧版本服务器集群可以管理的智能设备的数量的比例,从而实现新版本服务器集群与旧版本服务器集群之间能够平滑过渡,且能够在每个阶段及时发现新版本服务器集群中出现的问题并进行修正。因此,在本申请中,预设有第一阈值,该阈值为新版本服务器集群当前阶段可以管理的智能设备的数量、与旧版本服务器集群当前阶段可以管理的智能设备的数量的最大比例。当基于上述实施例获取到第一数量以及第二数量之后,根据第一数量、第二数量以及第一阈值,确定智能设备对应的目标服务器集群。
具体实施过程中,首先获取第一数量与第二数量的第一比值,然后将该第一比值与预设的第一阈值进行比较。若确定第一比值大于预设的第一阈值,说明新版本服务器集群当前管理的智能设备的数量达到饱和,则确定该智能设备对应的目标服务器集群为旧版本服务器集群;若确定第一比值不大于预设的第一阈值,说明新版本服务器集群当前管理的智能设备的数量未达到饱和,则确定该智能设备对应的目标服务器集群为新版本服务器集群。
其中,在设置第一阈值时,可以根据不同的场景设置不同的值,如果希望新版本服务器集群多管理一些智能设备,则可以将该第一阈值设置的大一些,如果希望控制新版本服务器集群管理的智能设备的数量,则可以将该第一阈值设置的小一些。
需要说明的是,在本申请中,随着灰度发布的过程中,可以将该第一阈值在每个阶段逐渐增大,从而逐渐扩大新版本服务器集群所能够管理的智能设备的数量,实现将旧版本服务器集群所能够管理的智能设备逐渐过渡给新版本服务器集群进行管理。
在本申请中,还可以基于获取的标识信息,确定智能设备对应的目标服务器集群,并为了方便根据标识信息确定目标服务器集群,预先配置有映射方式,通过该映射方式可以实现将获取的标识信息映射为对应的数值。其中,预先配置的映射方式可以为字符与数字的对应关系,比如,字符“a”对应的数字为00001,字符“:”对应的数字为00010等,也可以为哈希算法。当基于上述实施例确定获取的标识信息与保存的任一目标标识信息不匹配时,则按照预先配置的映射方式,将该标识信息映射为对应的数值。具体的,所述控制器22,用于执行:
根据预先保存的字符与数字的对应关系,确定所述标识信息中包含的每个目标字符分别对应的目标数字;根据每个所述目标数字,确定所述数值;或
通过哈希算法,获取所述标识信息对应的数值。
在一种可能的实施方式中,预先配置的映射方式可以为字符与数字的对应关系,则针对标识信息中包含的每个目标字符,根据预先配置的映射方式为字符与数字的对应关系,确定该目标字符对应的目标数字。根据每个目标数字,进行相应的处理,比如,将每个目标数字求和处理、将每个目标数字拼接处理等,从确定该标识信息对应的数值。
在另一种可能的实施方式中,由于上述的映射方式需要预先采集每个标识信息中可能存在的字符,然后建立每个字符与每个数字之间一一对应的映射关系,该过程会非常的繁琐,耗费大量的资源,且字符的数量也非常的多,该建立的字符与数字的映射关系也会占用服务器大量的存储空间。因此,在本申请中,预先配置的映射方式可以为哈希算法,直接通过预先配置的哈希算法,对该标识信息进行相应的处理,比如,hash(id),将获取的标识信息映射到某一取值区间内固定长度的数值,并尽可能的保证不同标识信息对应的数值不同。具体的,通过哈希算法对标识信息进行处理的过程属于现有技术,在此不做赘述。
为了方便后续可以根据该数值可以确定出目标服务器集群,预先配置有量化数值,以通过该量化数值对上述标识信息对应的数值进行处理后,可以将该标识信息进行分组。具体的,当基于上述实施例中的方法获取到标识信息对应的数值之后,可以将获取到的标识信息对应的数值确定为被除数,将预先配置的量化数值确定为除数,根据该被除数以及除数,获取该数值对应的余值。其中,可以将该余值理解为该标识信息对应的分组。
例如,获取的某一标识信息对应的数值为99999,预先配置的量化数值为1000,则将99999确定为被除数,将1000确定为除数,根据该99999与该1000,获取的99999对应的余值为999,则可以将该999确定为该标识信息对应的分组。
仍以上述为例,若获取到的某一标识信息对应的数值为12345,根据该12345与该1000,获取的12345对应的余值为345,则可以将该345确定为标识信息对应的分组。
在一种可能的实施方式中,以进行灰度发布的服务器为Nginx为例,可以通过如下方式根据标识信息对应的数值、以及预先配置的量化数值,确定余值:
Local mod=hash(id)%n。
其中,mod为余值,hash(id)为标识信息对应的数值,n为预先配置的量化余值。
由于不管量化数值以及标识信息对应的数值为何值,获取的该数值对应的余值最大值均为量化数值减1,余值最小值为0。比如,量化数值为999,则获取到的余值只可能在0~998之间。基于此,如果将余值理解为标识信息对应的分组的话,则该分组的组数应该等于量化数值。因此,在本申请中,在设置量化数值的时候,可以根据不同的场景设置不同的值,如果希望尽量将不同标识信息分散在不同的分组中,可以将该量化数值设置的大一些;如果向服务器发送请求信息的智能设备并不是很多,则可以将该量化数值设置的小一些。
当基于上述实施例中的方法获取到余值之后,根据该余值以及预先配置的量化数值进行进一步地处理,即可确定智能设备对应的目标服务器集群。
在一种可能的实施方式中,所述控制器22用于执行:
确定所述余值与所述量化数值的第二比值;
若所述第二比值小于预设的第二阈值,则确定所述智能设备对应的目标服务器集群为新版本服务器集群;
否则,确定所述智能设备对应的目标服务器集群为旧版本服务器集群。
在本申请中,预设有第二阈值,以通过第二阈值,确定哪一些分组中的标识信息可以被转发至新版本服务器集群,而哪一些分组中的标识信息可以被转发至旧版本服务器集群。该第二阈值可以表示为新版本服务器当期阶段可以管理的智能设备的标识信息所在分组对应的最大余值,在所有分组的数量中的比例,其中,所有分组的数量为量化数值。具体的,当基于上述实施例获取到余值之后,可以获取余值与预先配置的量化数值之间的第二比值,将该第二比值与预设的第二阈值进行比较。若该第二数值小于预设的第二阈值,说明该标识信息所在分组对应的余值小于最大余值,该分组中的标识信息对应的智能设备是由新版本服务器进行管理的,则确定智能设备对应的目标服务器集群为新版本服务器集群。
其中,在设置第二阈值时,可以根据场景的不同设置不同的值,如果希望新版本服务器集群多管理一些智能设备,则可以将该第二阈值设置的大一些,如果希望控制新版本服务器集群管理的智能设备的数量,则可以将该第二阈值设置的小一些。
需要说明的是,该第二阈值可以与上述的第一阈值相同,也可以不同。具体实施中可以根据需求进行灵活设置,在此不做具体限定。
在另一种可能的实施方式中,若该第二数值不小于预设的第二阈值,说明该标识信息所在分组对应的余值不小于最大余值,该分组中的标识信息所对应的智能设备不是由新版本服务器进行管理的,则确定智能设备对应的目标服务器集群为旧版本服务器集群。
例如,以预先配置的第二阈值为x为例,余值为mod,量化数值为n,若确定mod/n<x,则确定智能设备对应的目标服务器集群为新版本服务器集群,后续服务器将该请求信息转发至新版本服务器集群;若mod/n≥x,则确定智能设备对应的目标服务器集群为旧版本服务器集群,后续服务器将该请求信息转发至旧版本服务器集群。
再例如,若预设的第二阈值为5%,预先配置的量化数值为1000,通过哈希算法,获取智能设备的标识信息对应的数值为10010,根据该数值10010以及预先配置的量化数值1000,确定该数值对应的余值10010%1000=10,获取该余值10与预先配置的量化数值1000的第二比值10/1000=0.01。确定该第二比值0.01小于预设的第二阈值5%,将该智能设备发送的请求信息转发至新版本服务器集群。
需要说明的是,在本申请中,随着灰度发布的过程中,可以将该第二阈值在每个阶段逐渐增大,从而逐渐扩大新版本服务器集群所能够管理的智能设备的数量,实现将旧版本服务器集群所能够管理的智能设备逐渐过渡给新版本服务器集群进行管理。
为了方便确定智能设备对应的服务器集群,在上述实施例的基础上,在本申请中,所述控制器22用于执行:
确定所述请求信息的请求类型;
若所述请求信息的请求类型与保存的任一目标请求类型相同,则根据该相同的目标请求类型所对应的标识信息所在的字符范围,在所述请求信息对应的字符范围获取所述智能设备的标识信息;
否则,获取所述请求信息中所述智能设备的目标IP地址,将所述目标IP地址确定为所述智能设备的标识信息。
在实际应用场景中,一般不同类型的请求类型,该请求信息中携带的标识信息的位置也是不同的。比如,若请求信息为get请求类型,则该请求信息中携带的标识信息一般在请求参数中,若请求信息为post请求类型,则该请求信息中携带的标识信息一般在请求body体中。基于此,为了方便服务器获取请求信息中携带的标识信息,在本申请中,预先保存了每个目标请求类型、及每个目标请求类型所对应的标识信息所在的字符范围。当服务器获取到智能设备发送的请求信息之后,首先确定该请求信息的请求类型,然后判断该请求信息的请求类型是否与预先保存的任一目标请求类型相同。具体的,若确定该请求信息的请求类型与预先保存的任一目标请求类型相同,说明预先保存了该请求信息中携带有标识信息的字符范围,则可以获取保存的该相同的目标请求类型,根据该字符范围,在该请求信息中对应的字符范围处获取智能设备的标识信息。
比如,若确定与某一请求信息的请求类型相同的目标请求类型为get请求类型,则获取保存的该get请求类型所对应的标识信息所在的字符范围,该字符范围为请求参数,在该请求信息中对应的请求参数中获取智能设备的标识信息。其中,以进行灰度发布的服务器为Nginx为例,该服务器可以通过如下指令从该get请求中对应的请求参数中获取智能设备的标识信息:
Local id=ngx.req.get_uri_args[“xxx-id”]。
若确定与某一请求信息的请求类型相同的目标请求类型为post请求类型,则获取保存的该post请求类型所对应的标识信息所在的字符范围,该字符范围为请求body体,在该请求信息中对应的请求body体中获取智能设备的标识信息。其中,以进行灰度发布的服务器为Nginx为例,该服务器可以通过如下指令从该post请求中获取body体格式和body内容,并针对具体格式解析body体内容,从而根据解析后的内容获取智能设备的标识信息:
Local receive_headers=ngx.req.get_headers();
Content_type=receive_headers[“Content-type”];
然后通过ngx.req.get_body_data()指令获取的body体中的内容。
当然,也有可能出现当前接收到的请求信息的请求类型与保存的任一目标请求类型均不相同的情况,比如,该请求信息中没有携带有任何标识信息等,对于该种情况,则可以通过获取请求信息中智能设备的目标IP地址,将该目标IP地址确定为智能设备的标识信息。
其中,由于在不同的应用场景下,从请求信息中获取该智能设备的目标IP地址的字符范围不同的。工作人员可以根据不同的场景,预先设置好进行灰度发布服务器从请求信息中获取该智能设备的目标IP地址的方法。下面,针对不同的场景,进行灰度发布服务器从请求信息中获取该智能设备的目标IP地址的方法进行说明:
场景一、若进行灰度发布的服务器是通过一个七层代理服务器与每个智能设备进行通信连接,由于七层代理服务器是根据超文本传输协议(http)进行数据传输的,则可以预先约定好该七层代理服务器将智能设备的IP地址添加到X-REAL-IP请求头中,后续进行灰度发布的服务器从请求信息中X-REAL-IP请求头中获取IP地址,并将该获取的IP地址确定为智能设备的目标IP地址;也可以预先约定好该七层代理服务器将智能设备的IP地址添加到X-Forwarded-For请求头中,后续进行灰度发布的服务器从请求信息中X-Forwarded-For请求头中获取源IP地址,并将该获取的源IP地址确定为智能设备的目标IP地址。
场景二、若进行灰度发布的服务器是通过多个串联的七层代理服务器与每个智能设备进行通信连接,则可以预先约定好与智能设备连接的七层代理服务器将智能设备的IP地址添加到X-Forwarded-For请求头中,后续的其他七层代理服务器直接在X-Forwarded-For请求头中的末尾添加上一个七层代理服务器的IP地址,而进行灰度发布的服务器可以从请求信息中X-Forwarded-For请求头中获取第一个IP地址,即获取源IP地址,并将该获取的源IP地址确定为智能设备的目标IP地址。
场景三、若进行灰度发布的服务器是通过四层代理服务器与每个智能设备进行通信连接,由于四层代理服务器是不对智能设备发送的请求信息中IP层头部携带的IP地址进行修改的,即后续进行灰度发布的服务器接收到的四层代理服务器转发的请求信息中IP层头部所携带的IP地址为智能设备的IP地址,后续进行灰度发布的服务器可以直接获取该请求信息中IP层头部携带的IP地址,比如,进行灰度发布的服务器为Nginx为例,则该服务器通过ngx.var.remote.addr的指令,获取请求信息中IP层头部所携带的IP地址,将该IP地址确定为智能设备的目标IP地址。
结合上述不同的场景以及获取目标IP地址的方法,所述目标IP地址为所述请求信息中X-REAL-IP请求头中的IP地址、或为所述请求信息中X-Forwarded-For请求头中的源IP地址、或为所述请求信息中IP层头部中的源IP地址。
例如,以进行灰度发布的服务器为Nginx为例,该服务器可以通过如下指令从请求信息汇总获取智能设备的目标IP地址,以将该目标IP地址确定为智能设备的标识信息:
Local headers=ngx.req.get_headers();
Local ip=headers[“X-REAL-IP”]or headers[“X-Forwarded-For”]or
ngx.var.remote.addr。
需要说明的是,若进行灰度发布的服务器的前端设置有7层代理服务器,一般情况下需要预先约定与智能设备连接的7层代理服务器在请求信息中设置X-Forwarded-For请求头,以使后续每个7层代理服务器可以在转发智能设备发送的请求信息时可以将智能设备的IP地址代入http头中进行传输,否则,可能会导致进行灰度发布的服务器无法获取智能设备的IP地址,从而影响后续的处理。
此外,为了方便后续灰度发布过程中可以将当前新分配给新版本服务器集群进行管理的智能设备发送的请求信息,固定转发给新版本服务器集群,在本申请中,当确定该智能设备对应的目标服务器集群为新版本服务器集群,则可以将该智能设备的标识信息作为目标标识信息进行保存。后续进行灰度发布的服务器再次接收到该智能设备发送的请求信息,则只需通过将该智能设备的标识信息与保存的任一目标标识信息进行匹配,即可实现将该智能设备发送的请求信息固定转发给新版本服务器集群进行处理。
在另一种可能的实施方式中,由于目标标识信息一般为新版本服务器集群当前管理的每个智能设备的标识信息,该目标标识信息的数量会非常的多,进行灰度发布的服务器如果将每个目标标识信息均进行保存的话,则会耗费大量的存储空间,且后续将获取的请求信息中携带的标识信息与保存的任一目标标识信息进行匹配的过程,也需要耗费大量的时间以及资源。因此,为了节约进行灰度发布的服务器的存储资源,提高灰度发布的效率,在本申请中,可以在获取请求信息中携带的标识信息之后,直接执行确定智能设备对应的目标服务器集群的步骤。具体的确定智能设备对应的目标服务器集群的过程,已在上述实施例中进行说明,重复之处不做赘述。
下面通过具体的实施例,对本申请提供的灰度发布过程进行说明:
图3为本申请一些实施例提供的一种灰度发布场景的架构示意图,如图3所示,当用户希望对智能设备上正在运行的客户端上的某一功能进行使用时,可以输入对该功能的使用操作。其中,该使用操作可以是用户通过智能设备输入的语音信息,也可以是对智能设备的显示器上的点击、长按等操作。当然,也可以通过控制设备,比如遥控器,输入用户对该功能的使用操作。
其中,该客户端可以为浏览器、移动应用程序、智能硬件等。
智能设备接收到用户对某一功能的使用操作后,判断本地是否可以直接为用户提供该功能。若可以,则直接执行该功能对应的操作;否则,生成该功能对应的请求报文,并将该请求报文发送至服务器。
当服务器的控制器22通过通信器21接收到智能设备发送的请求报文之后,获取该请求报文中唯一标识该智能设备的标识信息,该标识信息可以是用户的标识,也可以是智能设备的标识。
具体的,获取该请求报文中唯一标识该智能设备的标识信息的过程包括:
确定该请求报文的请求类型;判断该请求报文的请求类型是否与保存的任一目标请求类型相同。若请求报文的请求类型与保存的任一目标请求类型相同,则根据该相同的目标请求类型所对应的标识信息所在的字符范围,在请求报文对应的字符范围获取该智能设备的标识信息;否则,获取请求报文中该智能设备的目标IP地址,将该目标IP地址确定为该智能设备的标识信息。
其中,该目标IP地址为该请求报文中X-REAL-IP请求头中的IP地址、或为该请求报文中X-Forwarded-For请求头中的源IP地址、或为该请求报文中IP层头部中的源IP地址。
服务器的控制器22获取到智能设备的标识信息之后,通过哈希算法,获取该标识信息对应的数值;根据预先配置的量化数值,获取该数值对应的余值;确定该余值与该量化数值的第二比值,判断该余值是否小于预设的第二阈值。若该第二比值小于预设的第二阈值,则确定该智能设备对应的目标服务器集群为新版本服务器集群,然后控制通信器21将该请求报文发送至新版本服务器集群;否则,确定所该智能设备对应的目标服务器集群为旧版本服务器集群,然后控制通信器21将该请求报文发送至旧版本服务器集群。
如图3所示,以服务器为Nginx为例,可以通过如下指令,确定智能设备对应的目标服务器集群:
Locate mod=hash(id)%n
If mod/n≤x
Proxy_pass http://new_version--转发至新版本服务器集群
else
proxy_pass http://old_version--转发至旧版本服务器集群
本申请还提供了一种灰度发布方法,图4为本申请一些实施例提供的一种灰度发布过程示意图,该过程包括:
S401:接收智能设备发送的请求信息,获取所述请求信息中携带的所述智能设备的标识信息。
S402:若确定所述标识信息与保存的任一目标标识信息匹配,则将所述请求信息转发至所述新版本服务器集群。
S403:否则,确定所述智能设备对应的目标服务器集群,将所述请求信息转发至所述目标服务器集群,其中,所述目标服务器集群为所述新版本服务器集群或所述旧版本服务器集群。
本申请提供的灰度发布方法应用于服务器,比如代理服务器等。
需要说明的时,本申请提供的灰度发布方法解决问题的原理与上述实施例中的内容相同,重复之处不做赘述。
在某些可能的实施方式中,所述确定所述智能设备对应的目标服务器集群,包括:
分别获取所述新版本服务器集群当前管理的智能设备的第一数量、以及所述旧版本服务器集群当前管理的智能设备的第二数量;根据所述第一数量以及所述第二数量,确定所述智能设备对应的目标服务器集群;或
按照预先配置的映射方式,将所述标识信息映射为对应的数值;根据预先配置的量化数值,获取所述数值对应的余值;根据所述余值以及所述量化数值,确定所述智能设备对应的目标服务器集群。
在某些可能的实施方式中,所述根据所述第一数量以及所述第二数量,确定所述智能设备对应的目标服务器集群,包括:
确定所述第一数量与所述第二数量的第一比值;
若所述第一比值大于预设的第一阈值,确定所述智能设备对应的目标服务器集群为旧版本服务器集群;
否则,确定所述目标智能设备对应的目标服务器集群为新版本服务器集群。
在某些可能的实施方式中,所述根据所述余值以及所述量化数值,确定所述智能设备对应的目标服务器集群,包括:
确定所述余值与所述量化数值的第二比值;
若所述第二比值小于预设的第二阈值,则确定所述智能设备对应的目标服务器集群为新版本服务器集群;
否则,确定所述智能设备对应的目标服务器集群为旧版本服务器集群。
在某些可能的实施方式中,所述按照预先配置的映射方式,将所述标识信息映射为对应的数值,包括:
根据预先保存的字符与数字的对应关系,确定所述标识信息中包含的每个目标字符分别对应的目标数字;根据每个所述目标数字,确定所述数值;或
通过哈希算法,获取所述标识信息对应的数值。
在某些可能的实施方式中,所述获取所述请求信息中携带的所述智能设备的标识信息,包括:
确定所述请求信息的请求类型;
若所述请求信息的请求类型与保存的任一目标请求类型相同,则根据该相同的目标请求类型所对应的标识信息所在的字符范围,在所述请求信息对应的字符范围获取所述智能设备的标识信息;
否则,获取所述请求信息中所述智能设备的目标IP地址,将所述目标IP地址确定为所述智能设备的标识信息。
在某些可能的实施方式中,所述目标IP地址为所述请求信息中X-REAL-IP请求头中的IP地址、或为所述请求信息中X-Forwarded-For请求头中的源IP地址、或为所述请求信息中IP层头部中的源IP地址。
在进行灰度发布的过程中,服务器的控制器若通过通信器获取智能设备发送的请求信息,则获取请求信息中携带的智能设备的标识信息,将该标识信息与保存的任一目标标识信息进行匹配,当存在匹配的目标标识信息时,则直接将该智能设备发送的请求信息发送至新版本服务器集群,从而实现将目标标识信息所对应的智能设备发送的请求信息均固定转发至新版本服务器集群,使新版本服务器集群可以对目标标识信息所对应的智能设备进行固定管理,一定程度上提高了对智能设备进行管理的稳定性。
本申请还提供了一种灰度发布装置,图5为本申请一些实施例提供的一种灰度发布装置结构示意图,该装置包括:
获取单元51,用于接收智能设备发送的请求信息,获取所述请求信息中携带的所述智能设备的标识信息;
第一处理单元52,用于若确定所述标识信息与保存的任一目标标识信息匹配,则将所述请求信息转发至所述新版本服务器集群;
第二处理单元53,用于若确定所述标识信息与保存的任一目标标识信息不匹配,确定所述智能设备对应的目标服务器集群,将所述请求信息转发至所述目标服务器集群,其中,所述目标服务器集群为所述新版本服务器集群或所述旧版本服务器集群。
在某些可能的实施方式中,所述第二处理单元53,具体用于分别获取所述新版本服务器集群当前管理的智能设备的第一数量、以及所述旧版本服务器集群当前管理的智能设备的第二数量;根据所述第一数量以及所述第二数量,确定所述智能设备对应的目标服务器集群;或,按照预先配置的映射方式,将所述标识信息映射为对应的数值;根据预先配置的量化数值,获取所述数值对应的余值;根据所述余值以及所述量化数值,确定所述智能设备对应的目标服务器集群。
在某些可能的实施方式中,所述第二处理单元53,具体用于确定所述第一数量与所述第二数量的第一比值;若所述第一比值大于预设的第一阈值,确定所述智能设备对应的目标服务器集群为旧版本服务器集群;否则,确定所述目标智能设备对应的目标服务器集群为新版本服务器集群。
在某些可能的实施方式中,所述第二处理单元53,具体用于确定所述余值与所述量化数值的第二比值;若所述第二比值小于预设的第二阈值,则确定所述智能设备对应的目标服务器集群为新版本服务器集群;否则,确定所述智能设备对应的目标服务器集群为旧版本服务器集群。
在某些可能的实施方式中,所述第二处理单元53,具体用于根据预先保存的字符与数字的对应关系,确定所述标识信息中包含的每个目标字符分别对应的目标数字;根据每个所述目标数字,确定所述数值;或,通过哈希算法,获取所述标识信息对应的数值。
在某些可能的实施方式中,所述获取单元51,具体用于确定所述请求信息的请求类型;若所述请求信息的请求类型与保存的任一目标请求类型相同,则根据该相同的目标请求类型所对应的标识信息所在的字符范围,在所述请求信息对应的字符范围获取所述智能设备的标识信息;否则,获取所述请求信息中所述智能设备的目标IP地址,将所述目标IP地址确定为所述智能设备的标识信息。
在进行灰度发布的过程中,服务器的控制器若通过通信器获取智能设备发送的请求信息,则获取请求信息中携带的智能设备的标识信息,将该标识信息与保存的任一目标标识信息进行匹配,当存在匹配的目标标识信息时,则直接将该智能设备发送的请求信息发送至新版本服务器集群,从而实现将目标标识信息所对应的智能设备发送的请求信息均固定转发至新版本服务器集群,使新版本服务器集群可以对目标标识信息所对应的智能设备进行固定管理,一定程度上提高了对智能设备进行管理的稳定性。
在上述各实施例的基础上,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
接收智能设备发送的请求信息,获取所述请求信息中携带的所述智能设备的标识信息;
若确定所述标识信息与保存的任一目标标识信息匹配,则将所述请求信息转发至所述新版本服务器集群;
否则,确定所述智能设备对应的目标服务器集群,将所述请求信息转发至所述目标服务器集群,其中,所述目标服务器集群为所述新版本服务器集群或所述旧版本服务器集群。
本申请提供的灰度发布方法应用于服务器,比如代理服务器等。
需要说明的时,本申请提供的灰度发布方法解决问题的原理与上述实施例中的内容相同,重复之处不做赘述。
在某些可能的实施方式中,所述确定所述智能设备对应的目标服务器集群,包括:
分别获取所述新版本服务器集群当前管理的智能设备的第一数量、以及所述旧版本服务器集群当前管理的智能设备的第二数量;根据所述第一数量以及所述第二数量,确定所述智能设备对应的目标服务器集群;或
按照预先配置的映射方式,将所述标识信息映射为对应的数值;根据预先配置的量化数值,获取所述数值对应的余值;根据所述余值以及所述量化数值,确定所述智能设备对应的目标服务器集群。
在某些可能的实施方式中,所述根据所述第一数量以及所述第二数量,确定所述智能设备对应的目标服务器集群,包括:
确定所述第一数量与所述第二数量的第一比值;
若所述第一比值大于预设的第一阈值,确定所述智能设备对应的目标服务器集群为旧版本服务器集群;
否则,确定所述目标智能设备对应的目标服务器集群为新版本服务器集群。
在某些可能的实施方式中,所述根据所述余值以及所述量化数值,确定所述智能设备对应的目标服务器集群,包括:
确定所述余值与所述量化数值的第二比值;
若所述第二比值小于预设的第二阈值,则确定所述智能设备对应的目标服务器集群为新版本服务器集群;
否则,确定所述智能设备对应的目标服务器集群为旧版本服务器集群。
在某些可能的实施方式中,所述按照预先配置的映射方式,将所述标识信息映射为对应的数值,包括:
根据预先保存的字符与数字的对应关系,确定所述标识信息中包含的每个目标字符分别对应的目标数字;根据每个所述目标数字,确定所述数值;或
通过哈希算法,获取所述标识信息对应的数值。
在某些可能的实施方式中,所述获取所述请求信息中携带的所述智能设备的标识信息,包括:
确定所述请求信息的请求类型;
若所述请求信息的请求类型与保存的任一目标请求类型相同,则根据该相同的目标请求类型所对应的标识信息所在的字符范围,在所述请求信息对应的字符范围获取所述智能设备的标识信息;
否则,获取所述请求信息中所述智能设备的目标IP地址,将所述目标IP地址确定为所述智能设备的标识信息。
在某些可能的实施方式中,所述目标IP地址为所述请求信息中X-REAL-IP请求头中的IP地址、或为所述请求信息中X-Forwarded-For请求头中的源IP地址、或为所述请求信息中IP层头部中的源IP地址。
在进行灰度发布的过程中,服务器的控制器若通过通信器获取智能设备发送的请求信息,则获取请求信息中携带的智能设备的标识信息,将该标识信息与保存的任一目标标识信息进行匹配,当存在匹配的目标标识信息时,则直接将该智能设备发送的请求信息发送至新版本服务器集群,从而实现将目标标识信息所对应的智能设备发送的请求信息均固定转发至新版本服务器集群,使新版本服务器集群可以对目标标识信息所对应的智能设备进行固定管理,一定程度上提高了对智能设备进行管理的稳定性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序版本。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序版本的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序版本的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种服务器,其特征在于,所述服务器包括:
通信器,所述通信器用于分别与新版本服务器集群、旧版本服务器集群以及智能设备进行通信连接;
控制器,所述控制器用于执行:
通过所述通信器获取到智能设备发送的请求信息,获取所述请求信息中携带的所述智能设备的标识信息;若确定所述标识信息与保存的任一目标标识信息匹配,则控制通信器将所述请求信息转发至所述新版本服务器集群;否则,确定所述智能设备对应的目标服务器集群,控制所述通信器将所述请求信息转发至所述目标服务器集群,其中,所述目标服务器集群为所述新版本服务器集群或所述旧版本服务器集群。
2.根据权利要求1所述的服务器,其特征在于,所述控制器用于执行:
分别获取所述新版本服务器集群当前管理的智能设备的第一数量、以及所述旧版本服务器集群当前管理的智能设备的第二数量;根据所述第一数量以及所述第二数量,确定所述智能设备对应的目标服务器集群;或
按照预先配置的映射方式,将所述标识信息映射为对应的数值;根据预先配置的量化数值,获取所述数值对应的余值;根据所述余值以及所述量化数值,确定所述智能设备对应的目标服务器集群。
3.根据权利要求2所述的服务器,其特征在于,所述控制器用于执行:
确定所述第一数量与所述第二数量的第一比值;
若所述第一比值大于预设的第一阈值,确定所述智能设备对应的目标服务器集群为旧版本服务器集群;
否则,确定所述目标智能设备对应的目标服务器集群为新版本服务器集群。
4.根据权利要求2所述的服务器,其特征在于,所述控制器用于执行:
确定所述余值与所述量化数值的第二比值;
若所述第二比值小于预设的第二阈值,则确定所述智能设备对应的目标服务器集群为新版本服务器集群;
否则,确定所述智能设备对应的目标服务器集群为旧版本服务器集群。
5.根据权利要求2所述的服务器,其特征在于,所述控制器,用于执行:
根据预先保存的字符与数字的对应关系,确定所述标识信息中包含的每个目标字符分别对应的目标数字;根据每个所述目标数字,确定所述数值;或
通过哈希算法,获取所述标识信息对应的数值。
6.根据权利要求1所述的服务器,其特征在于,所述控制器用于执行:
确定所述请求信息的请求类型;
若所述请求信息的请求类型与保存的任一目标请求类型相同,则根据该相同的目标请求类型所对应的标识信息所在的字符范围,在所述请求信息对应的字符范围获取所述智能设备的标识信息;
否则,获取所述请求信息中所述智能设备的目标IP地址,将所述目标IP地址确定为所述智能设备的标识信息。
7.根据权利要求6所述的服务器,其特征在于,所述目标IP地址为所述请求信息中X-REAL-IP请求头中的IP地址、或为所述请求信息中X-Forwarded-For请求头中的源IP地址、或为所述请求信息中IP层头部中的源IP地址。
8.一种灰度发布方法,其特征在于,所述方法包括:
接收智能设备发送的请求信息,获取所述请求信息中携带的所述智能设备的标识信息;
若确定所述标识信息与保存的任一目标标识信息匹配,则将所述请求信息转发至所述新版本服务器集群;
否则,确定所述智能设备对应的目标服务器集群,将所述请求信息转发至所述目标服务器集群,其中,所述目标服务器集群为所述新版本服务器集群或所述旧版本服务器集群。
9.一种灰度发布装置,其特征在于,所述装置包括:
获取单元,用于接收智能设备发送的请求信息,获取所述请求信息中携带的所述智能设备的标识信息;
第一处理单元,用于若确定所述标识信息与保存的任一目标标识信息匹配,则将所述请求信息转发至所述新版本服务器集群;
第二处理单元,用于若确定所述标识信息与保存的任一目标标识信息不匹配,确定所述智能设备对应的目标服务器集群,将所述请求信息转发至所述目标服务器集群,其中,所述目标服务器集群为所述新版本服务器集群或所述旧版本服务器集群。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求8所述灰度发布方法的步骤。
CN202010985848.XA 2020-09-18 2020-09-18 一种服务器、灰度发布方法、装置及介质 Pending CN112114869A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010985848.XA CN112114869A (zh) 2020-09-18 2020-09-18 一种服务器、灰度发布方法、装置及介质
PCT/CN2020/130191 WO2021120978A2 (zh) 2020-09-18 2020-11-19 一种服务器、灰度发布方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010985848.XA CN112114869A (zh) 2020-09-18 2020-09-18 一种服务器、灰度发布方法、装置及介质

Publications (1)

Publication Number Publication Date
CN112114869A true CN112114869A (zh) 2020-12-22

Family

ID=73800303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010985848.XA Pending CN112114869A (zh) 2020-09-18 2020-09-18 一种服务器、灰度发布方法、装置及介质

Country Status (2)

Country Link
CN (1) CN112114869A (zh)
WO (1) WO2021120978A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112968975A (zh) * 2021-03-31 2021-06-15 中国建设银行股份有限公司 服务请求的处理方法和装置
CN113381938A (zh) * 2021-06-30 2021-09-10 北京字节跳动网络技术有限公司 数据包发送方法、装置、存储介质及电子设备
CN113676549A (zh) * 2021-09-02 2021-11-19 京东科技信息技术有限公司 应用请求的分流方法及应用网关、电子设备、存储介质
CN114138325A (zh) * 2021-11-24 2022-03-04 聚好看科技股份有限公司 一种灰度发布方法和装置
CN114285893A (zh) * 2021-12-22 2022-04-05 中国工商银行股份有限公司 访问请求的处理方法、系统、装置、存储介质及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841155A (zh) * 2012-11-26 2014-06-04 腾讯科技(深圳)有限公司 一种软件下载方法和软件下载装置
CN105099988A (zh) * 2014-04-24 2015-11-25 阿里巴巴集团控股有限公司 用于支持灰度发布的方法、访问方法以及装置和系统
CN105955761A (zh) * 2016-06-30 2016-09-21 乐视控股(北京)有限公司 基于docker的灰度发布装置及方法
CN108376118A (zh) * 2018-02-09 2018-08-07 腾讯科技(深圳)有限公司 服务发布系统、方法、设备及存储介质
CN108494876A (zh) * 2018-04-12 2018-09-04 北京达佳互联信息技术有限公司 实现服务灰度发布的方法、装置、插件设备和代理服务器
CN108768875A (zh) * 2018-05-31 2018-11-06 康键信息技术(深圳)有限公司 应用的灰度发布方法、装置及计算机可读存储介质
US20190155631A1 (en) * 2017-11-21 2019-05-23 International Business Machines Corporation Restarting application servers
CN110071960A (zh) * 2019-03-12 2019-07-30 平安科技(深圳)有限公司 管理灰度发布的方法、系统、设备及存储介质
CN110750278A (zh) * 2019-09-24 2020-02-04 苏宁云计算有限公司 灰度发布方法、装置、路由设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389448B1 (en) * 1999-12-06 2002-05-14 Warp Solutions, Inc. System and method for load balancing
CN106549810A (zh) * 2016-11-24 2017-03-29 深圳市小满科技有限公司 云服务平台新版本发布前测试方法、装置以及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841155A (zh) * 2012-11-26 2014-06-04 腾讯科技(深圳)有限公司 一种软件下载方法和软件下载装置
CN105099988A (zh) * 2014-04-24 2015-11-25 阿里巴巴集团控股有限公司 用于支持灰度发布的方法、访问方法以及装置和系统
CN105955761A (zh) * 2016-06-30 2016-09-21 乐视控股(北京)有限公司 基于docker的灰度发布装置及方法
US20190155631A1 (en) * 2017-11-21 2019-05-23 International Business Machines Corporation Restarting application servers
CN108376118A (zh) * 2018-02-09 2018-08-07 腾讯科技(深圳)有限公司 服务发布系统、方法、设备及存储介质
CN108494876A (zh) * 2018-04-12 2018-09-04 北京达佳互联信息技术有限公司 实现服务灰度发布的方法、装置、插件设备和代理服务器
CN108768875A (zh) * 2018-05-31 2018-11-06 康键信息技术(深圳)有限公司 应用的灰度发布方法、装置及计算机可读存储介质
CN110071960A (zh) * 2019-03-12 2019-07-30 平安科技(深圳)有限公司 管理灰度发布的方法、系统、设备及存储介质
CN110750278A (zh) * 2019-09-24 2020-02-04 苏宁云计算有限公司 灰度发布方法、装置、路由设备和存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112968975A (zh) * 2021-03-31 2021-06-15 中国建设银行股份有限公司 服务请求的处理方法和装置
CN113381938A (zh) * 2021-06-30 2021-09-10 北京字节跳动网络技术有限公司 数据包发送方法、装置、存储介质及电子设备
CN113381938B (zh) * 2021-06-30 2022-12-06 北京字节跳动网络技术有限公司 数据包发送方法、装置、存储介质及电子设备
CN113676549A (zh) * 2021-09-02 2021-11-19 京东科技信息技术有限公司 应用请求的分流方法及应用网关、电子设备、存储介质
CN114138325A (zh) * 2021-11-24 2022-03-04 聚好看科技股份有限公司 一种灰度发布方法和装置
CN114285893A (zh) * 2021-12-22 2022-04-05 中国工商银行股份有限公司 访问请求的处理方法、系统、装置、存储介质及电子设备

Also Published As

Publication number Publication date
WO2021120978A2 (zh) 2021-06-24
WO2021120978A3 (zh) 2021-08-19

Similar Documents

Publication Publication Date Title
CN112114869A (zh) 一种服务器、灰度发布方法、装置及介质
CN111770157B (zh) 一种业务处理方法、装置及电子设备和存储介质
CN109542475A (zh) 系统多版本的数据更新方法、装置、存储介质及服务器
CN110753129A (zh) 消息传输方法、系统、装置、设备及计算机可读存储介质
CN110839084A (zh) 会话管理方法、装置、设备和介质
EP3570567B1 (en) Method and device for operating instance resources
CN109412826B (zh) Sdon架构模型优化方法、装置、系统及计算机可读存储介质
CN113556359A (zh) 一种通讯协议转换方法、设备、系统及网关设备
CN110417876B (zh) 会话方法、分布式系统中的节点服务器及主控设备
CN109861922B (zh) 用于控制流量的方法和装置
CN109801425A (zh) 面签业务中队列轮询提示方法、装置、设备及存储介质
CN104850431A (zh) 基于fota升级的稳定处理方法和装置
CN112818654A (zh) 消息存储方法、消息生成方法、装置、电子设备及计算机可读介质
CN109413212B (zh) 用于处理请求的方法和装置
CN114553947A (zh) 一种对消息进行处理的方法及装置
CN112784139A (zh) 查询方法、装置、电子设备和计算机可读介质
CN112688980B (zh) 资源分发方法、装置、计算机设备
CN113626217A (zh) 异步消息处理方法、装置、电子设备和存储介质
CN110061907B (zh) 用于领取资源、分配资源的方法和设备
CN108494982B (zh) 用于生成信息的方法和设备
CN113553206A (zh) 数据事件执行方法、装置、电子设备和计算机可读介质
CN111625866A (zh) 一种权限管理方法、系统、设备及存储介质
CN113726885A (zh) 一种流量配额的调整方法和装置
CN108574622B (zh) 一种基于xmpp的即时消息处理方法及装置
US7603407B2 (en) Method and system for registering binary data

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: 20201222