CN108989267A - 基于sip的灰度发布方法、系统、设备和存储介质 - Google Patents
基于sip的灰度发布方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN108989267A CN108989267A CN201710401305.7A CN201710401305A CN108989267A CN 108989267 A CN108989267 A CN 108989267A CN 201710401305 A CN201710401305 A CN 201710401305A CN 108989267 A CN108989267 A CN 108989267A
- Authority
- CN
- China
- Prior art keywords
- gray scale
- subscriber number
- sip message
- scale node
- node
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1059—End-user terminal functionalities specially adapted for real-time communication
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种基于SIP的灰度发布方法、系统、设备和存储介质,所述方法包括:接收SIP消息;从所述SIP消息中提取用户号码;从多个灰度节点组中确定所述用户号码所加入的灰度节点组;所述多个灰度节点组分别对应不同的更新功能,且每个灰度节点组中的灰度节点具有相同的更新功能;从所述用户号码所加入的灰度节点组中选择灰度节点;将所述SIP消息路由至选择的灰度节点。本申请提供的方案使得满足客户需求的新功能能够快速上线。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种基于SIP的灰度发布方法、系统、设备和存储介质。
背景技术
传统互联网产品主要集中在OTT(Over The Top利用运营商网络提供应用服务的第三方厂商)厂商,近年来移动运营商为巩固移动用户和移动业务而集中精力发展互联网产品,其中基于IMS(IP Multimedia Subsystem IP多媒体子系统)系统SIP(SessionInitiation Protocol会话发起协议)的融合通信产品就是移动运营商最具代表的互联网产品之一,用户通过手机号码及SIM卡信息可直接注册融合通信应用。
基于IMS系统的SIP产品的传统发布方式常采用零宕机发布的方式,将用户从一个版本直接转移到另一个版本上,由于基于IMS系统的SIP产品用户规模大、版本变更频繁,采用此种发布方式导致发布存在很大的安全隐患,需要不断发布新版本才能使满足客户需求的新功能完成上线,导致满足客户需求的新功能迭代上线缓慢。
发明内容
基于此,有必要针对目前移动运营商基于IMS系统SIP协议的移动互联网产品满足客户需求的新功能迭代上线缓慢的问题,提供一种基于SIP的灰度发布方法、系统、设备和存储介质。
一种基于SIP的灰度发布方法,所述方法包括:
接收SIP消息;
从所述SIP消息中提取用户号码;
从多个灰度节点组中确定所述用户号码所加入的灰度节点组;所述多个灰度节点组分别对应不同的更新功能,且每个灰度节点组中的灰度节点具有相同的更新功能;
从所述用户号码所加入的灰度节点组中选择灰度节点;
将所述SIP消息路由至选择的灰度节点。
一种基于SIP的灰度发布系统,所述系统包括:
SIP消息分发模块,用于接收SIP消息;从所述SIP消息中提取用户号码;从多个灰度节点组中确定所述用户号码所加入的灰度节点组;所述多个灰度节点组分别对应不同的更新功能,且每个灰度节点组中的灰度节点具有相同的更新功能;从所述用户号码所加入的灰度节点组中选择灰度节点;将所述SIP消息路由至选择的灰度节点。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行所述基于SIP的灰度发布方法的步骤。
一种计算机可读存储介质,存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得所述处理器执行所述基于SIP的灰度发布方法的步骤。
上述基于SIP的灰度发布方法、系统、设备和存储介质,接收到SIP消息后,从接收到的SIP消息中提取用户号码,确定用户号码所加入的灰度节点组,从用户号码所加入的灰度节点组中选择灰度节点,将接收到的SIP消息路由至选择的灰度节点。每个灰度节点组中的灰度节点具有相同的更新功能,不同的灰度节点组分别对应不同的更新功能,这样,可以将各迭代功能分成不同的灰度,不同灰度用户加入不同灰度节点组,从而可以使多灰度同时体验新业务,反复循环,使得满足客户需求的新功能能够快速上线。
附图说明
图1为一个实施例中基于SIP的灰度发布方法应用环境图;
图2为一个实施例中服务器的内部结构示意图;
图3为一个实施例中基于SIP的灰度发布方法的流程示意图;
图4为另一个实施例中基于SIP的灰度发布方法的流程示意图;
图5为又一个实施例中基于SIP的灰度发布方法的流程示意图;
图6为一个实施例中基于SIP的灰度发布系统的结构框图;
图7为一个实施例中SIP消息分发模块的结构框图;
图8为另一个实施例中基于SIP的灰度发布系统的结构框图;
图9为一个实施例中灰度用户配置模块的结构框图;
图10为又一个实施例中基于SIP的灰度发布系统的结构框图;
图11为一个实施例中应用服务模块的结构框图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中基于SIP的灰度发布方法的应用环境图。如图1所示,该应用环境包括终端110和服务器120。其中,终端可以是移动手机、平板电脑、移动电脑或台式机等;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群。终端110可向服务器120发送SIP消息,服务器120实施基于SIP的灰度发布方法对该SIP消息进行处理,完成服务器新功能的灰度发布。本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案相关的部分场景,并不构成对本申请方案应用环境的限定。
图2为一个实施例中服务器的内部结构示意图。如图2所示,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,服务器的非易失性存储介质存储有操作系统,还可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现一种基于SIP的灰度发布方法。该处理器用于提供计算和控制能力,支撑整个服务器的运行。该内存储器中也可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种基于SIP的灰度发布方法。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图3所示,在一个实施例中,提供了一种基于SIP的灰度发布方法。本实施例主要以该方法应用于上述图2中的服务器来举例说明。参照图3,该基于SIP的灰度发布方法具体包括如下步骤:
S302,接收SIP消息。
其中,SIP消息是基于SIP协议的消息。SIP消息可以包括开始行(start line)、消息头(header)和正文(body)三部分。SIP消息有两种类型:从终端到服务器的请求消息(Request)和从服务器到终端的响应消息(Response)。
在一个实施例中,SIP消息包括但不局限于各种SIP Message消息(短信消息)、SIPInvite消息(邀请用户加入一个呼叫)、SIP Ack消息(对请求消息的响应消息进行确认)、SIP Bye消息(释放已建立的呼叫)、SIP Cancel消息(释放未建立的呼叫)、SIP Subscribe消息(发起订阅请求)、SIP Notify消息(通告当前资源状态)等。
在一个实施例中,终端可向服务器发送SIP消息,服务器接收由终端发送的SIP消息,从而针对接收到的该SIP消息执行后续的步骤S304。
在另一个实施例中,服务器可接收由该服务器中的应用服务节点发送的SIP消息,从而针对接收到的该SIP消息执行后续的步骤S304。其中,应用服务节点是可实现具体业务功能的节点。
S304,从SIP消息中提取用户号码。
其中,用户号码指终端主叫或被叫的有效地址,用户号码可以是终端主叫或被叫的手机号码。服务器可在接收到SIP消息后,从SIP消息的消息头中提取用户号码。
S306,从多个灰度节点组中确定用户号码所加入的灰度节点组;多个灰度节点组分别对应不同的更新功能,且每个灰度节点组中的灰度节点具有相同的更新功能。
其中,灰度节点组是具有相同更新功能的多个灰度节点的集合。可将灰度用户加入各自的灰度节点组。其中,灰度节点是服务器每次新功能迭代过程中进行升级的某些应用服务节点。灰度用户是灰度发布过程中使用更新功能的终端所对应的用户。
在一个实施例中,服务器可遍历多个灰度节点组,分别判断提取的用户号码是否加入到遍历至的灰度节点组,直到找到用户号码所加入的灰度节点组时停止遍历。
S308,从用户号码所加入的灰度节点组中选择灰度节点。
在一个实施例中,当确定用户号码所加入的灰度节点组后,服务器可通过哈希算法,将用户号码映射为哈希值,从而选中用户号码所加入的灰度节点组中该哈希值所对应的灰度节点。在一个实施例中,服务器还可以从用户号码所加入的灰度节点组中随机选择灰度节点。
其中,哈希算法是将任意长度的二进制值映射为较短的固定长度的二进制值,这个较短的固定长度的二进制值称为哈希值。哈希算法可以是以灰度节点组中灰度节点的数量为模对用户号码进行取余运算,将得到的余数作为哈希值。哈希算法也可以是截取用户号码中指定位置处的数值作为哈希值。
S310,将SIP消息路由至选择的灰度节点。
其中,路由是指服务器接收SIP消息,根据SIP消息的目的地址进行定向并转发到目的地址的过程。
具体地,当用户号码所对应的灰度节点选择确定后,服务器将接收到的SIP消息转发到用户号码对应的灰度节点,灰度节点处理SIP消息,实现相应的更新功能。
上述基于SIP的灰度发布方法,在接收到SIP消息后,从接收到的SIP消息中提取用户号码,确定用户号码所加入的灰度节点组,从用户号码所加入的灰度节点组中选择灰度节点,将接收到的SIP消息路由至选择的灰度节点。每个灰度节点组中的灰度节点具有相同的更新功能,不同的灰度节点组分别对应不同的更新功能,这样,可以将各迭代功能分成不同的灰度,不同灰度用户加入不同灰度节点组,从而可以使多灰度同时体验新业务,反复循环,使得满足客户需求的新功能能够快速上线。
在一个实施例中,步骤S304具体包括:判断SIP消息的传输方向。当传输方向为上行方向时,从SIP消息的消息发送端字段中提取用户号码;当传输方向为下行方向时,从SIP消息的消息接收端字段中提取用户号码。
其中,传输方向是SIP消息从该SIP消息的发送端传输到该SIP消息的接收端的方向。SIP消息的传输方向包括上行方向和下行方向。其中,当SIP消息从终端发起并传输至服务器时,称为上行(mo),此时传输方向为上行方向,该SIP消息为请求消息(Request)。当SIP消息从服务器发起并传输至终端时,称为下行(mt),此时传输方向为下行方向,该SIP消息为应答消息(Response)。
在一个实施例中,服务器可通过判断SIP消息的接收端是终端还是服务器,或者通过判断SIP消息的发送端是终端还是服务器,以判断SIP消息的传输方向。
在一个实施例中,服务器可对接收到的SIP消息的消息头中的根头域(Route头域)进行解析;如果根头域中包含“mode=mo”,则按照SIP消息的消息发送端字段(From字段)中提取用户号码;如果根头域中包含“mode=mt”,则按照SIP消息的消息接收端字段(To字段)中提取用户号码。
在本实施例中,通过判断SIP消息传输方向而选择提取对应的消息发送端或接收端的用户号码,无论在SIP消息的上行还是下行过程中,都可以准确地提取出用户号码;基于上行或者下行的SIP消息,均能够实现灰度发布。
在一个实施例中,该基于SIP的灰度发布方法还包括当用户号码未加入多个灰度节点组中的任一灰度节点组时,则将SIP消息路由至未更新功能的非灰度节点的步骤。
其中,非灰度节点指的是服务器每次新功能迭代过程中没有进行升级的某些应用服务节点,非灰度节点组成了非灰度节点组。
在一个实施例中,服务器在遍历所有的灰度节点组后,仍未确定提取的用户号码所加入的灰度节点组,则服务器将SIP消息路由至非灰度节点。
在一个实施例中,服务器可通过哈希算法,将用户号码映射为哈希值,从非灰度节点组中选择该哈希值所对应的非灰度节点,将接收到的SIP消息转发到选择的非灰度节点,由该非灰度节点处理该SIP消息,实现未更新的功能。
在一个实施例中,服务器可从非灰度节点组中随机选择非灰度节点,由该非灰度节点处理该SIP消息,实现未更新的功能。
在本实施例中,当用户号码未加入灰度节点组中的任一灰度节点组时,将SIP消息路由至未更新功能的非灰度节点,使得非灰度用户继续使用未更新功能,而灰度用户则可以使用更新的功能,降低功能更新对用户正常使用的影响。
在一个实施例中,在步骤S310之后,该基于SIP的灰度发布方法还包括:获取针对SIP消息的用户反馈。根据用户反馈判断相应的更新功能是否测试通过,若测试通过,则将测试通过的更新功能所对应的灰度节点组中的灰度节点配置为非灰度节点。
其中,用户反馈是指用户对服务器功能的使用情况的反馈。用户反馈可以通过用户行为分析报告、用户问卷调查或社会化媒体意见搜集、网上论坛信息搜集等等不限于上述方式获得。
在一个实施例中,如果灰度用户反馈表示用户满意,则测试通过,此时服务器将测试通过的更新功能所对应的灰度节点组中的灰度节点配置为非灰度节点,完成此次服务器更新功能的灰度发布。所有用户可以根据主叫或被叫号码通过哈希算法路由到这些非灰度节点上,完成服务器新功能的迭代上线。
在另一个实施例中,如果灰度用户反馈表示用户不满意,则测试未通过,可以继续优化功能,反复重复基于SIP的灰度发布方法步骤,直到用户反馈表示用户满意为止,则测试通过,此时服务器将测试通过的更新功能所对应的灰度节点组中的灰度节点配置为非灰度节点,完成此次服务器更新功能的灰度发布。
在本实施例中,通过获取用户反馈来判断相应的更新功能是否通过测试,若测试通过则将测试通过的更新功能所对应的灰度节点组中的灰度节点配置为非灰度节点,将测试和发布并行,可高效地实现功能的更新,并满足用户需求。
如图4所示,在一个实施例中,基于SIP灰度发布方法包括以下步骤:
S402,接收SIP消息。
S404,从SIP消息中提取用户号码。
S406,判断提取的用户号码是否为灰度用户号码。
其中,灰度用户号码指的是需要使用更新功能的用户号码。
在一个实施例中,服务器通过来比对用户号码与灰度用户号码组中的灰度用户号码是否匹配,若匹配,则用户号码为灰度用户号码;若不匹配,则用户号码不是灰度用户号码。
其中,服务器可将具有相同属性并且需要进行相同功能更新的号码放到一个号码组里面,组成灰度用户号码组,比如A公司灰度用户号码组。
S408,当提取的用户号码不是灰度用户号码时,判断提取的用户号码是否属于灰度用户号段。
其中,灰度用户号段指的是需要进行功能体验的用户号段,例如1390015号段。
在一个实施例中,服务器通过比对用户号码的号段与灰度用户号段组中的灰度用户号段是否匹配,若匹配,则用户号码属于灰度用户号段;若不匹配,则用户号码不属于灰度用户号段。
其中,服务器将具有相同属性并且需要进行相同功能更新的号段放到一个号段组里面,组成灰度用户号段组,比如南京移动号码灰度用户号段组,包含1390015、1390158和1390514等号段。
S410,当用户号码为灰度用户号码,或者用户号码属于灰度用户号段时,从多个灰度节点组中确定用户号码所加入的灰度节点组;多个灰度节点组分别对应不同的更新功能,且每个灰度节点组中的灰度节点具有相同的更新功能。
S412,从用户号码所加入的灰度节点组中选择灰度节点。
S414,将SIP消息路由至选择的灰度节点。
在本实施例中,服务器通过比对用户号码与灰度用户号码组中的灰度用户号码是否匹配来判断提取的用户号码是否为灰度用户号码,通过比对用户号码的号段与灰度用户号段组中的灰度用户号段是否匹配来判断提取的用户号码是否属于灰度用户号段。当用户号码为灰度用户号码或者属于灰度用户号段时,服务器可遍历多个灰度节点组,分别判断提取的用户号码是否加入到遍历至的灰度节点组,准确且迅速地确定用户号码所加入的灰度节点组。
在一个实施例中,在步骤S302之前,该基于SIP的灰度发布方法还包括灰度节点组配置步骤,灰度节点组配置步骤具体包括:从应用服务节点集合中,选择局部的应用服务节点作为灰度节点进行功能升级,并加入相应更新功能所对应的灰度节点组;为加入灰度节点的灰度节点组分配相应的灰度用户号码和灰度用户号段。
在一个实施例中,服务器在每次新功能迭代时从应用服务节点集合中,选择局部的应用服务节点作为灰度节点进行功能升级,并将具有相同更新功能的灰度节点加入到相应更新功能所对应的灰度节点组。服务器在新功能体验前搜集一批用于体验新功能的用户号码或号段,并将搜集到的用户号码或号段配置成灰度用户号码或灰度用户号段,完成灰度用户的配置。服务器为灰度节点组分配需要体验对应新功能的灰度用户。
在本实施例中,服务器通过配置灰度用户号码、灰度用户号段、灰度节点组,并将灰度用户加入到对应的灰度节点组的过程,建立基于SIP的灰度发布方法前的灰度用户和灰度节点的匹配规则。
如图5所示,在一个具体的实施例中,基于SIP的灰度发布方法包括以下步骤:
S502,接收SIP消息。
S504,判断SIP消息的传输方向,当传输方向为上行方向时,则跳转步骤S506;当传输方向为下行方向时,则跳转步骤S508。
S506,从SIP消息的消息发送端字段中提取用户号码。
S508,从SIP消息的消息接收端字段中提取用户号码。
S510,将接受到的SIP消息的用户号码与灰度用户号码组的灰度用户号码比对,判断SIP消息的用户号码是否是灰度用户号码;若是,则跳转至步骤S514;若否,则跳转到步骤S512。
S512,判断判断接收到的SIP消息的用户号码是否是属于灰度用户号段;若是,则跳转到步骤S514;若否,则跳转到步骤S518。
S514,从用户号码所加入的灰度节点组中选择对应的灰度节点。
S516,将SIP消息路由至选择的灰度节点。
S518,将SIP消息路由至非灰度节点。
在本实施例中,基于SIP的灰度发布方法,在接收到SIP消息后,根据SIP消息的传输类型提取SIP消息发送端或接收端的用户号码,将用户号码与灰度用户号码或灰度用户号段进行匹配;如果匹配的上,则将SIP消息路由分发到对应的灰度节点组中的灰度节点;如果匹配不上,则将SIP消息路由分发到原来的非灰度节点。其中,不同的灰度节点组分别对应不同的更新功能,这样,可以将各迭代功能分成不同的灰度,使得不同的灰度用户体验不同的功能,反复循环,使得满足客户需求的新功能能够快速上线。同时非灰度用户继续使用未更新功能,降低功能更新对用户正常使用的影响。
如图6所示,在一个实施例中,提供了一种基于SIP的灰度发布系统600,包括SIP消息分发模块601,用于接收SIP消息;从SIP消息中提取用户号码;从多个灰度节点组中确定用户号码所加入的灰度节点组;多个灰度节点组分别对应不同的更新功能,且每个灰度节点组中的灰度节点具有相同的更新功能;从用户号码所加入的灰度节点组中选择灰度节点;将SIP消息路由至选择的灰度节点。
上述基于SIP的灰度发布系统,接收到SIP消息后,从接收到的SIP消息中提取用户号码,确定用户号码所加入的灰度节点组,从用户号码所加入的灰度节点组中选择灰度节点,将接收到的SIP消息路由至选择的灰度节点。每个灰度节点组中的灰度节点具有相同的更新功能,不同的灰度节点组分别对应不同的更新功能,这样,可以将各迭代功能分成不同的灰度,不同灰度用户加入不同灰度节点组,从而可以使多灰度同时体验新业务,反复循环,使得满足客户需求的新功能能够快速上线。
如图7所示,在一个实施例中,SIP消息分发模块601包括:灰度用户号码读取模块601a、灰度用户号段读取模块601b、灰度节点组读取模块601c和SIP消息路由模块601d。
灰度用户号码读取模块601a,用于读取灰度用户号码组中的灰度用户号码。
灰度用户号段读取模块601b,用于读取灰度用户号段组中的灰度用户号段。
灰度节点组读取模块601c,用于读取灰度节点组中的灰度节点以及灰度节点组中所加入的灰度用户。
SIP消息路由模块601d,用于SIP消息转发到用户号码对应的灰度节点或者将SIP消息转发到用户号码对应的非灰度节点。
在一个实施例中,SIP消息分发模块601还用于判断SIP消息的传输方向;当传输方向为上行方向时,从SIP消息的消息发送端字段中提取用户号码;当传输方向为下行方向时,从SIP消息的消息接收端字段中提取用户号码。
在本实施例中,通过判断SIP消息传输方向而选择提取对应的消息发送端或接收端的用户号码,无论在SIP消息的上行还是下行过程中,都可以准确地提取出用户号码;基于上行或者下行的SIP消息,均能够实现灰度发布。
在一个实施例中,SIP消息分发模块601还用于当用户号码未加入多个灰度节点组中的任一灰度节点组时,则将SIP消息路由至未更新功能的非灰度节点。
在本实施例中,当用户号码未加入灰度节点组中的任一灰度节点组时,将SIP消息路由至未更新功能的非灰度节点,使得非灰度用户继续使用未更新功能,而灰度用户则可以使用更新的功能,降低功能更新对用户正常使用的影响。
如图8所示,在一个实施例中,基于SIP的灰度发布系统600还包括灰度用户配置模块602,用于获取针对SIP消息的用户反馈;根据用户反馈判断相应的更新功能是否测试通过;SIP消息分发模块601还用于当测试通过时,则将测试通过的更新功能所对应的灰度节点组中的灰度节点配置为非灰度节点。
在本实施例中,通过获取用户反馈来判断相应的更新功能是否通过测试,若测试通过则将测试通过的更新功能所对应的灰度节点组中的灰度节点配置为非灰度节点,将测试和发布并行,可高效地实现功能的更新,并满足用户需求。
如图9所示,在一个实施例中灰度用户配置模块602包括:灰度用户号码组配置模块602a、灰度用户号段组配置模块602b、灰度节点组配置模块602c和数据库602d。
灰度用户号码组配置模块602a,用于将具有相同属性并且需要进行相同功能体验的号码放到一个号码组里面,组成灰度用户号码组。
灰度用户号段组配置模块602b,用于将具有相同属性并且需要进行相同功能体验的灰度用户号段放到一个号段组里面,组成灰度用户号段组。
灰度节点组配置模块602c,用于将具有相同更新功能的灰度节点加入到相应更新功能所对应的灰度节点组;为灰度节点组分配需要体验对应新功能的灰度用户。
数据库602d,用于存储灰度用户号码组配置模块602a、灰度用户号段组配置模块602b和灰度节点组配置模块602c的配置信息。
如图10所示,在一个实施例中,基于SIP的灰度发布系统600还包括应用服务模块603,用于处理SIP消息,实现具体业务功能。
如图11所示,应用服务模块603具体包括:灰度节点组模块603a、非灰度节点组模块603b,其中灰度节点组模块603a可以是一个,也可以是多个。
灰度节点组模块603a,用于处理由灰度用户发送的或者是接收的SIP消息,实现相应的更新功能。
非灰度节点组模块603b,用于处理由非灰度用户发送的或者是接收的SIP消息,实现未更新的功能。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是上述的服务器。该计算机设备包括存储器和处理器,存储器存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行以下步骤:接收SIP消息;从SIP消息中提取用户号码;从多个灰度节点组中确定用户号码所加入的灰度节点组;多个灰度节点组分别对应不同的更新功能,且每个灰度节点组中的灰度节点具有相同的更新功能;从用户号码所加入的灰度节点组中选择灰度节点;将SIP消息路由至选择的灰度节点。
在一个实施例中,计算机可读指令使得处理器在执行从SIP消息中提取用户号码时具体执行以下步骤:判断SIP消息的传输方向;当传输方向为上行方向时,从SIP消息的消息发送端字段中提取用户号码;当传输方向为下行方向时,从SIP消息的消息接收端字段中提取用户号码。
在一个实施例中,计算机可读指令使得处理器执行当用户号码未加入多个灰度节点组中的任一灰度节点组时,则将SIP消息路由至未更新功能的非灰度节点的步骤。
在一个实施例中,计算机可读指令使得处理器执行以下步骤:获取针对SIP消息的用户反馈;根据用户反馈判断相应的更新功能是否测试通过;若测试通过,则将测试通过的更新功能所对应的灰度节点组中的灰度节点配置为非灰度节点。
在一个实施例中,计算机可读指令使得处理器执行从多个灰度节点组中确定用户号码所加入的灰度节点组之前,还执行以下步骤:判断提取的用户号码是否为灰度用户号码;当提取的用户号码不是灰度用户号码时,判断提取的用户号码是否属于灰度用户号段;当用户号码为灰度用户号码,或者用户号码属于灰度用户号段时,执行从多个灰度节点组中确定用户号码所加入的灰度节点组的步骤。
在一个实施例中,计算机可读指令使得处理器执行接收SIP消息之前还执行以下步骤:从应用服务节点集合中,选择局部的应用服务节点作为灰度节点进行功能升级,并加入相应更新功能所对应的灰度节点组;为加入灰度节点的灰度节点组分配相应的灰度用户号码和灰度用户号段。
上述计算机设备,在接收到SIP消息后,从接收到的SIP消息中提取用户号码,确定用户号码所加入的灰度节点组,从用户号码所加入的灰度节点组中选择灰度节点,将接收到的SIP消息路由至选择的灰度节点。每个灰度节点组中的灰度节点具有相同的更新功能,不同的灰度节点组分别对应不同的更新功能,这样,可以将各迭代功能分成不同的灰度,不同灰度用户加入不同灰度节点组,从而可以使多灰度同时体验新业务,反复循环,使得满足客户需求的新功能能够快速上线。
一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被处理器执行时实现以下步骤:接收SIP消息;从SIP消息中提取用户号码;从多个灰度节点组中确定用户号码所加入的灰度节点组;多个灰度节点组分别对应不同的更新功能,且每个灰度节点组中的灰度节点具有相同的更新功能;从用户号码所加入的灰度节点组中选择灰度节点;将SIP消息路由至选择的灰度节点。
在一个实施例中,计算机可读指令使得处理器在执行从SIP消息中提取用户号码时具体执行以下步骤:判断SIP消息的传输方向;当传输方向为上行方向时,从SIP消息的消息发送端字段中提取用户号码;当传输方向为下行方向时,从SIP消息的消息接收端字段中提取用户号码。
在一个实施例中,计算机可读指令使得处理器执行当用户号码未加入多个灰度节点组中的任一灰度节点组时,则将SIP消息路由至未更新功能的非灰度节点的步骤。
在一个实施例中,计算机可读指令使得处理器执行以下步骤:获取针对SIP消息的用户反馈;根据用户反馈判断相应的更新功能是否测试通过;若测试通过,则将测试通过的更新功能所对应的灰度节点组中的灰度节点配置为非灰度节点。
在一个实施例中,计算机可读指令使得处理器执行从多个灰度节点组中确定用户号码所加入的灰度节点组之前,还执行以下步骤:判断提取的用户号码是否为灰度用户号码;当提取的用户号码不是灰度用户号码时,判断提取的用户号码是否属于灰度用户号段;当用户号码为灰度用户号码,或者用户号码属于灰度用户号段时,执行从多个灰度节点组中确定用户号码所加入的灰度节点组的步骤。
在一个实施例中,计算机可读指令使得处理器执行接收SIP消息之前还执行以下步骤:从应用服务节点集合中,选择局部的应用服务节点作为灰度节点进行功能升级,并加入相应更新功能所对应的灰度节点组;为加入灰度节点的灰度节点组分配相应的灰度用户号码和灰度用户号段。
上述计算机可读存储介质,在接收到SIP消息后,从接收到的SIP消息中提取用户号码,确定用户号码所加入的灰度节点组,从用户号码所加入的灰度节点组中选择灰度节点,将接收到的SIP消息路由至选择的灰度节点。每个灰度节点组中的灰度节点具有相同的更新功能,不同的灰度节点组分别对应不同的更新功能,这样,可以将各迭代功能分成不同的灰度,不同灰度用户加入不同灰度节点组,从而可以使多灰度同时体验新业务,反复循环,使得满足客户需求的新功能能够快速上线。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种基于SIP的灰度发布方法,所述方法包括:
接收SIP消息;
从所述SIP消息中提取用户号码;
从多个灰度节点组中确定所述用户号码所加入的灰度节点组;所述多个灰度节点组分别对应不同的更新功能,且每个灰度节点组中的灰度节点具有相同的更新功能;
从所述用户号码所加入的灰度节点组中选择灰度节点;
将所述SIP消息路由至选择的灰度节点。
2.根据权利要求1所述的方法,其特征在于,所述从所述SIP消息中提取用户号码包括:
判断所述SIP消息的传输方向;
当所述传输方向为上行方向时,从所述SIP消息的消息发送端字段中提取用户号码;
当所述传输方向为下行方向时,从所述SIP消息的消息接收端字段中提取用户号码。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述用户号码未加入所述多个灰度节点组中的任一灰度节点组时,则将所述SIP消息路由至未更新功能的非灰度节点。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取针对所述SIP消息的用户反馈;
根据所述用户反馈判断相应的更新功能是否测试通过;
若测试通过,则将测试通过的更新功能所对应的灰度节点组中的灰度节点配置为非灰度节点。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述从多个灰度节点组中确定所述用户号码所加入的灰度节点组之前,所述方法还包括:
判断提取的所述用户号码是否为灰度用户号码;
当提取的所述用户号码不是灰度用户号码时,判断提取的所述用户号码是否属于灰度用户号段;
当所述用户号码为灰度用户号码,或者所述用户号码属于灰度用户号段时,执行所述从多个灰度节点组中确定所述用户号码所加入的灰度节点组的步骤。
6.根据权利要求5所述的方法,其特征在于,所述接收SIP消息之前,所述方法还包括:
从应用服务节点集合中,选择局部的应用服务节点作为灰度节点进行功能升级,并加入相应更新功能所对应的灰度节点组;
为加入灰度节点的所述灰度节点组分配相应的灰度用户号码和灰度用户号段。
7.一种基于SIP的灰度发布系统,其特征在于,所述系统包括:
SIP消息分发模块,用于接收SIP消息;从所述SIP消息中提取用户号码;从多个灰度节点组中确定所述用户号码所加入的灰度节点组;所述多个灰度节点组分别对应不同的更新功能,且每个灰度节点组中的灰度节点具有相同的更新功能;从所述用户号码所加入的灰度节点组中选择灰度节点;将所述SIP消息路由至选择的灰度节点。
8.根据权利要求7所述的系统,其特征在于,所述SIP消息分发模块还用于判断所述SIP消息的传输方向;当所述传输方向为上行方向时,从所述SIP消息的消息发送端字段中提取用户号码;当所述传输方向为下行方向时,从所述SIP消息的消息接收端字段中提取用户号码。
9.根据权利要求7所述的系统,其特征在于,所述SIP消息分发模块还用于当所述用户号码未加入所述多个灰度节点组中的任一灰度节点组时,则将所述SIP消息路由至未更新功能的非灰度节点。
10.根据权利要求7所述的系统,其特征在于,所述系统还包括:
灰度用户配置模块,用于获取针对所述SIP消息的用户反馈;根据所述用户反馈判断相应的更新功能是否测试通过;
所述SIP消息分发模块还用于若测试通过,则将测试通过的更新功能所对应的灰度节点组中的灰度节点配置为非灰度节点。
11.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710401305.7A CN108989267A (zh) | 2017-05-31 | 2017-05-31 | 基于sip的灰度发布方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710401305.7A CN108989267A (zh) | 2017-05-31 | 2017-05-31 | 基于sip的灰度发布方法、系统、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108989267A true CN108989267A (zh) | 2018-12-11 |
Family
ID=64501107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710401305.7A Pending CN108989267A (zh) | 2017-05-31 | 2017-05-31 | 基于sip的灰度发布方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108989267A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489133A (zh) * | 2019-08-23 | 2019-11-22 | 亿企赢网络科技有限公司 | 一种灰度发布方法、系统及电子设备和存储介质 |
CN111314359A (zh) * | 2020-02-20 | 2020-06-19 | 上海欣方智能系统有限公司 | 一种基于sip信令采集的反诈骗方法 |
CN111580855A (zh) * | 2020-04-09 | 2020-08-25 | 上海淇毓信息科技有限公司 | 一种基于全流程灰度发布的策略发布方法、系统和电子设备 |
CN112650523A (zh) * | 2020-12-02 | 2021-04-13 | 青岛海尔科技有限公司 | 用于灰度发布的数据分流方法及装置、设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102064954A (zh) * | 2009-11-17 | 2011-05-18 | 腾讯科技(深圳)有限公司 | 一种分布式容错系统、设备和方法 |
CN102497454B (zh) * | 2011-12-31 | 2014-06-11 | 北京新媒传信科技有限公司 | 一种在应用服务平台系统中对应用进行灰度发布的方法 |
US20140279739A1 (en) * | 2013-03-15 | 2014-09-18 | InsideSales.com, Inc. | Resolving and merging duplicate records using machine learning |
CN104993946A (zh) * | 2015-06-01 | 2015-10-21 | 华为技术有限公司 | 灰度发布的评估方法、装置和系统 |
CN105791344A (zh) * | 2014-12-22 | 2016-07-20 | 华为软件技术有限公司 | 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置 |
CN105871961A (zh) * | 2015-01-23 | 2016-08-17 | 中国移动通信集团浙江有限公司 | 一种灰度发布路由的方法及装置 |
-
2017
- 2017-05-31 CN CN201710401305.7A patent/CN108989267A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102064954A (zh) * | 2009-11-17 | 2011-05-18 | 腾讯科技(深圳)有限公司 | 一种分布式容错系统、设备和方法 |
CN102497454B (zh) * | 2011-12-31 | 2014-06-11 | 北京新媒传信科技有限公司 | 一种在应用服务平台系统中对应用进行灰度发布的方法 |
US20140279739A1 (en) * | 2013-03-15 | 2014-09-18 | InsideSales.com, Inc. | Resolving and merging duplicate records using machine learning |
CN105791344A (zh) * | 2014-12-22 | 2016-07-20 | 华为软件技术有限公司 | 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置 |
CN105871961A (zh) * | 2015-01-23 | 2016-08-17 | 中国移动通信集团浙江有限公司 | 一种灰度发布路由的方法及装置 |
CN104993946A (zh) * | 2015-06-01 | 2015-10-21 | 华为技术有限公司 | 灰度发布的评估方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
周智等: "移动互联网程序的灰度发布", 《电脑知识与技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489133A (zh) * | 2019-08-23 | 2019-11-22 | 亿企赢网络科技有限公司 | 一种灰度发布方法、系统及电子设备和存储介质 |
CN111314359A (zh) * | 2020-02-20 | 2020-06-19 | 上海欣方智能系统有限公司 | 一种基于sip信令采集的反诈骗方法 |
CN111580855A (zh) * | 2020-04-09 | 2020-08-25 | 上海淇毓信息科技有限公司 | 一种基于全流程灰度发布的策略发布方法、系统和电子设备 |
CN111580855B (zh) * | 2020-04-09 | 2023-11-14 | 上海淇毓信息科技有限公司 | 一种基于全流程灰度发布的策略发布方法、系统和电子设备 |
CN112650523A (zh) * | 2020-12-02 | 2021-04-13 | 青岛海尔科技有限公司 | 用于灰度发布的数据分流方法及装置、设备 |
CN112650523B (zh) * | 2020-12-02 | 2023-06-16 | 青岛海尔科技有限公司 | 用于灰度发布的数据分流方法及装置、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9935835B2 (en) | Methods, apparatuses, and computer program products for facilitating synchronization of setting configurations | |
US10225219B2 (en) | Message delivery in a message system | |
CN108989267A (zh) | 基于sip的灰度发布方法、系统、设备和存储介质 | |
CN101388837B (zh) | 路由选择方法、业务网络及网络设备 | |
CN101326493B (zh) | 用于多处理器服务器中的负载分配的方法和装置 | |
CN104022945B (zh) | 在客户端中实现即时通讯的方法和装置 | |
CN101325605A (zh) | 通过跟踪消息变换监视sip呼叫流的方法 | |
US10715638B2 (en) | Method and system for server assignment using predicted network metrics | |
CN103023928A (zh) | 一种p2p节点匹配系统及方法 | |
CN104185856A (zh) | 信息处理设备、信息处理系统、信息处理方法及程序 | |
CN101569218A (zh) | 在多媒体网络中处理服务请求的方法和设备 | |
KR20110137917A (ko) | Pn 라우팅 테이블을 이용한 개인 네트워크의 구성 장치 및 방법 | |
CN105931107A (zh) | 一种分享方法和装置 | |
CN103380634A (zh) | 用于发送数据的方法和装置 | |
CN109788029A (zh) | 微服务的灰度调用方法、装置、终端及可读存储介质 | |
US9407546B2 (en) | Routing a message using a routing table in a dynamic service mesh | |
KR101045822B1 (ko) | 휴대단말을 이용한 전자명함 처리 방법, 그 시스템 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 | |
US9178952B2 (en) | Systems and methods for service assurance using virtualized federated presence infrastructure | |
WO2013081513A1 (en) | A method and an apparatus in a communication node for identifying receivers of a message | |
JP5941434B2 (ja) | セッション・ボーダ・コントローラのクラスタシステム、アプリケーション・サーバのクラスタシステム、および、そのsipダイアログ生成方法 | |
US8407352B2 (en) | Method and application server for using a SIP service from a non-SIP device | |
CN106358140B (zh) | 联系人分组方法及装置 | |
US11616752B1 (en) | Creation of content resources for messaging in a software as a service platform | |
KR20090006504A (ko) | 아이피 멀티미디어 서브시스템에서 피투피 서비스 제공방법 및 장치 | |
CN108377217A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181211 |
|
RJ01 | Rejection of invention patent application after publication |