CN109246051A - 灰度发布后链路管理方法、装置、存储介质和计算机设备 - Google Patents
灰度发布后链路管理方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN109246051A CN109246051A CN201710365506.6A CN201710365506A CN109246051A CN 109246051 A CN109246051 A CN 109246051A CN 201710365506 A CN201710365506 A CN 201710365506A CN 109246051 A CN109246051 A CN 109246051A
- Authority
- CN
- China
- Prior art keywords
- service node
- gray scale
- node
- user identifier
- scale user
- 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.)
- Withdrawn
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/1066—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- 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/1045—Proxies, e.g. for session initiation protocol [SIP]
-
- 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/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- 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/14—Session management
-
- 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/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种灰度发布后链路管理方法、装置、存储介质和计算机设备。在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断所述灰度用户标识的归属节点与所述第一业务节点是否一致。若不一致,则所述第一业务节点对所述灰度用户标识对应的客户端与所述第三方业务节点之间的链路进行断链。所述第一业务节点通过会话初始协议SIP分发代理向所述归属节点发送短路由消息,其中,所述短路由消息用于指示所述归属节点对所述第一业务节点中所述灰度用户标识对应的未处理消息进行处理。对原有链路进行了断链清除,因此不需要同时维护双倍链路,避免了链路资源的浪费。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种灰度发布后链路管理方法、装置、存储介质和计算机设备。
背景技术
随着移动通信网络的普及,用户对移动通信服务的质量要求逐步提高,同时,运营商在提供基本通信服务的基础上,需要上线许多增值业务,并且要求增值业务上线之初,只提供给灰度用户使用,上线的过程对用户透明。灰度结束后,再对所有用户开放使用。
引入灰度发布,能满足这一要求。其中,对于使用TCP(Transmission ControlProtocol,传输控制协议)等方式传输媒体的业务流程,用户迁移后,原有TCP链路可能仍在收发消息,但是链路已经失效,有可能导致消息发送失败,影响用户正常使用。
在这种场景下,需要提供一种方法,对链路进行管理,避免链路资源的浪费,并且对链路上可能还会传递的消息进行处理,避免消息丢失,进而保证客户端的用户体验。
发明内容
基于此,有必要针对上述技术问题,提供一种灰度发布后链路管理方法、装置、存储介质和计算机设备。
一种灰度发布后链路管理方法,所述方法包括:
在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断所述灰度用户标识的归属节点与所述第一业务节点是否一致;
若不一致,则所述第一业务节点对所述灰度用户标识对应的客户端与所述第三方业务节点之间的链路进行断链;
所述第一业务节点通过会话初始协议SIP分发代理向所述归属节点发送短路由消息,其中,所述短路由消息用于指示所述归属节点对所述第一业务节点中所述灰度用户标识对应的未处理消息进行处理。
一种灰度发布后链路管理装置,所述装置包括:
判断模块,用于在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断所述灰度用户标识的归属节点与所述第一业务节点是否一致;
断链模块,用于若所述灰度用户标识的归属节点与所述第一业务节点不一致时,则所述第一业务节点对所述灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链;
短路由消息转发模块,用于所述第一业务节点通过会话初始协议SIP分发代理向所述归属节点发送短路由消息,其中,所述短路由消息用于指示所述归属节点对所述第一业务节点中所述灰度用户标识对应的未处理消息进行处理。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断所述灰度用户标识的归属节点与所述第一业务节点是否一致;
若不一致,则所述第一业务节点对所述灰度用户标识对应的客户端与所述第三方业务节点之间的链路进行断链;
所述第一业务节点通过会话初始协议SIP分发代理向所述归属节点发送短路由消息,其中,所述短路由消息用于指示所述归属节点对所述第一业务节点中所述灰度用户标识对应的未处理消息进行处理。
一种计算机设备,所述计算机设备包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断所述灰度用户标识的归属节点与所述第一业务节点是否一致;
若不一致,则所述第一业务节点对所述灰度用户标识对应的客户端与所述第三方业务节点之间的链路进行断链;
所述第一业务节点通过会话初始协议SIP分发代理向所述归属节点发送短路由消息,其中,所述短路由消息用于指示所述归属节点对所述第一业务节点中所述灰度用户标识对应的未处理消息进行处理。
上述灰度发布后链路管理方法、装置、存储介质和计算机设备,在进行灰度发布后,用户的归属节点会发生变更,所以在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,先判断灰度用户标识的归属节点与第一业务节点是否一致。若不一致则说明该灰度用户标识的归属节点已经发生了变更,所以第一业务节点对灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链。然后第一业务节点通过会话初始协议SIP分发代理向归属节点发送短路由消息,其中,短路由消息用于指示归属节点对第一业务节点中灰度用户标识对应的未处理消息进行处理。
对原有链路进行了断链清除,因此不需要同时维护双倍链路,避免了链路资源的浪费,减小了业务节点的负荷。且不需要增加其他的通道,利用已有的SIP分发代理的内部转发就实现了同一局内不同业务节点之间的信息交互,保证了原有链路上的信息不会遗漏,确保灰度发布后业务的正常开展。
附图说明
图1为一个实施例中灰度发布后链路管理方法的应用环境图;
图2为一个实施例中灰度发布后链路管理方法的流程图;
图3为一个实施例中灰度发布后链路管理方法的流程图;
图4为一个实施例中灰度发布后链路管理方法的流程图;
图5为一个实施例中灰度发布后链路管理方法的流程图;
图6为一个实施例中灰度用户迁移过程示意图;
图7为一个实施例中灰度用户迁移过程示意图;
图8为一个实施例中灰度用户迁移过程示意图;
图9为一个实施例中灰度发布后链路管理装置的结构示意图;
图10为一个实施例中灰度发布后链路管理装置的结构示意图;
图11为一个实施例中灰度发布后链路管理装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在灰度发布的时候就可以发现、调整问题,以保证后续正式发布时能够克服这些问题。
SIP(Session Initiation Protocol,会话初始协议)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。
本发明实施例提供的灰度发布后链路管理方法可应用于如图1所示的应用环境中。参考图1所示,第三方业务节点101分别与业务节点A 102或者业务节点B 103连接,业务节点A 102、业务节点B 103都与SIP分发代理104连接。SIP分发代理104与客户端106连接,管理模块105与SIP分发代理104连接。
第三方业务节点,客户端使用TCP链路访问的业务部署在此。
业务节点A或者业务节点B都是业务节点,是客户端的用户的归属节点,用于处理用户相关的业务流程,在第三方业务节点与客户端之间建立TCP链路,可以存储转发第三方业务节点和客户端之间的交互信息。
SIP分发代理,与业务节点A和业务节点B在同一个局点内,传统功能是负责分发外部的SIP消息到各个业务节点。在本发明实施例中所示的灰度发布场景中,SIP分发代理根据管理模块的指示,管理灰度用户与其归属节点之间的关系,并且在用户迁移后,SIP分发代理帮助业务节点转发带有操作指令的SIP消息到另一个业务节点。
管理模块用于管理所有用户的数据,包含灰度和非灰度用户。灰度发布场景中,当灰度用户的归属节点发生变更时,管理模块负责通知SIP分发代理更新灰度用户的归属节点。
客户端为注册到业务节点的用户所使用的客户端程序。
在一个实施例中,如图2所示,提供了一种灰度发布后链路管理方法,以该方法应用于图1中的应用场景为例进行说明,包括:
步骤210,在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断灰度用户标识的归属节点与第一业务节点是否一致。
在灰度发布后,灰度用户标识对应的归属节点由第一业务节点变更为第二业务节点。第一业务节点为业务节点A,第二业务节点为业务节点B。且灰度用户通过客户端向SIP分发代理发送第一初始消息,SIP分发代理将第一初始消息转发至业务节点B。业务节点B根据第一初始SIP消息将该灰度用户的标识对应的归属节点更新为第二业务节点,并建立与客户端及第三方业务节点之间的通信链路。
因为原来的业务节点A建立了老的链路,新的业务节点B也建立了新的链路,所以当灰度用户通过客户端向第三方业务节点发送消息或者第三方业务节点向灰度用户所使用的客户端发送消息时,就会出现有时会通过原来的业务节点进行发送即通过业务节点A进行发送,有时通过更新后的业务节点B进行发送。此时,当业务节点A接收来自灰度用户标识例如Bob与第三方业务节点或者第三方业务节点与Bob之间进行交互的消息时,先将消息存储在灰度用户标识Bob对应的消息队列中。然后,业务节点A判断灰度用户标识Bob的归属节点与业务节点A是否一致。业务节点A接收到消息即触发了判断的发生。
步骤220,若不一致,则第一业务节点对灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链。
业务节点A查询数据表进行判断灰度用户标识Bob的归属节点与业务节点A是否一致。数据表用于存储用户标识与归属业务节点的最新的对应关系。业务节点A将自身与第三方业务节点之间的链路进行断链,再将自身与客户端之间的链路进行断链。
步骤230,第一业务节点通过会话初始协议SIP分发代理向归属节点发送短路由消息,其中,短路由消息用于指示归属节点对第一业务节点中灰度用户标识对应的未处理消息进行处理。
在断链之后,第一业务节点构造短路由消息,并将短路由消息发送至SIP分发代理。短路由消息是指不能发出至客户端和第三方业务节点的消息,只能在内部进行转发的消息。SIP分发代理根据短路由消息里面的标识,识别出这是一个短路由的SIP消息。然后,根据分发策略获取到短路由消息中携带的灰度用户标识Bob的用户号码,根据此号码查询用户与归属节点的关系,找到Bob的归属节点为业务节点B,再将短路由消息转发至业务节点B。业务节点B从短路由消息中获取对灰度用户标识的归属节点的操作指令,根据操作指令访问灰度用户标识Bob对应的消息队列,将消息队列中的未发送消息进行发送。
本实施例中,对原有链路进行了断链清除,因此不需要同时维护双倍链路,避免了链路资源的浪费,减小了业务节点的负荷。且不需要增加其他的通道,利用已有的SIP分发代理的内部转发就实现了同一局内不同业务节点之间的信息交互,保证了原有链路上的信息不会遗漏,确保灰度发布后业务的正常开展。
在一个实施例中,在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断灰度用户标识的归属节点与第一业务节点是否一致,包括:在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,第一业务节点查询数据表,数据表记录了灰度用户标识与归属业务节点的对应关系,并根据数据表判断灰度用户标识的归属节点与第一业务节点是否一致。
当业务节点A接收来自灰度用户标识例如Bob与第三方业务节点或者第三方业务节点与Bob之间进行交互的消息时,先将消息存储在灰度用户标识Bob对应的消息队列中。然后,业务节点A查询数据表进行判断灰度用户标识Bob的归属节点与业务节点A是否一致。数据表用于存储用户标识与归属业务节点的最新的对应关系。
在本实施例中,业务节点A接收到消息即触发了判断的发生,业务节点A根据数据表判断灰度用户标识的归属节点与第一业务节点是否一致。数据表中存储了用户标识与归属业务节点的最新的对应关系,这样一旦归属节点发生变更,那么数据表中就进行了实时更新,这样就能够及时把业务节点A中的未发送消息通过新的归属节点发出。
在一个实施例中,如图3所示,在第一业务节点接收灰度用户标识对应的客户端与第三方业务节点之间的交互消息之前,还包括:
步骤240,在数据表中记录的灰度用户标识的归属节点由第一业务节点变更为第二业务节点之后,第二业务节点通过SIP分发代理接收灰度用户标识对应的客户端发送的第一初始SIP消息,根据第一初始SIP消息建立第二业务节点与客户端、第二业务节点与第三方业务节点之间的链路。
按照客户端版本发布要求,需要进行灰度发布,让部分用户体验新功能,用户Bob是体验用户即灰度用户,用户Bob的归属节点需要进行变更,从业务节点A变更为业务节点B。管理模块通知SIP分发代理,用户Bob的归属节点发生了变更,SIP分发代理对应更新本地的用户与业务节点的关系。这样后续当灰度用户Bob通过客户端向SIP分发代理发送第一初始SIP消息,SIP分发代理就能够查询本地的用户与归属节点的对应关系,直接将第一初始SIP消息发送至新的归属节点即业务节点B。
灰度发布之后,数据表中记录的灰度用户标识的归属节点由第一业务节点变更为第二业务节点。在业务节点A接收来自灰度用户标识例如Bob与第三方业务节点之间进行交互的消息之前,灰度用户Bob通过客户端向SIP分发代理发送第一初始SIP消息,SIP分发代理查询本地的用户与归属节点的管理,再将第一初始SIP消息发送至业务节点B。业务节点B接收第一初始SIP消息,并查询数据表,判断数据表中灰度用户Bob的归属节点有误,则将数据表中Bob的归属节点更新为业务节点B。业务节点B根据第一初始SIP消息与客户端及第三方业务节点之间建立TCP(Transmission Control Protocol,传输控制协议)通信链路。
在本实施例中,在灰度发布之后,让部分用户体验新功能,用户Bob是体验用户即灰度用户。灰度用户标识例如Bob的归属节点发生了变更,从业务节点A变更为业务节点B,管理模块通知了SIP分发代理上述变更信息。SIP分发代理本地保存了用户与归属节点的对应关系,所以当灰度用户Bob通过客户端向SIP分发代理发送第一初始SIP消息,SIP分发代理查询本地的用户与归属节点的对应关系,直接将第一初始SIP消息发送至业务节点B。业务节点B就可以建立新的TCP通信链路,新的TCP通信链路用于灰度用户标识例如Bob与客户端及第三方业务节点之间进行通信,这样就建立起来了新的链路,为后续链路的迁移做准备。
在一个实施例中,如图4所示,在若灰度用户标识的归属节点与第一业务节点不一致,则第一业务节点对灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链之前,还包括:
步骤250,第一业务节点释放灰度用户标识对应的消息队列的队列锁。
在本实施例中,业务节点A查询数据表进行判断后,得出灰度用户标识Bob的归属节点与业务节点A不一致,那么业务节点A释放灰度用户标识Bob对应的消息队列的队列锁。队列锁的作用是限制该队列里的关于Bob的消息仅有业务节点A可以访问。释放之后,那么其他业务节点就可以访问该消息队列。
在一个实施例中,如图5所示,第一业务节点通过会话初始协议SIP分发代理向归属节点发送短路由消息,其中,短路由消息用于指示归属节点对第一业务节点中灰度用户标识对应的未处理消息进行处理,包括:
步骤232,第一业务节点构造短路由消息发送至SIP分发代理,短路由消息中包含灰度用户标识的归属节点信息和对归属节点的操作指令。
在断链之后,第一业务节点构造短路由消息,并将短路由消息发送至SIP分发代理。短路由消息是指不能发出至客户端和第三方业务节点的消息,只能在内部进行转发的消息。短路由消息中携带了灰度用户例如Bob的用户号码,根据Bob的用户号码在数据表中查询Bob的用户号码的归属节点,找到灰度用户Bob的归属节点已经变更为业务节点B。短路由消息中还包含了对灰度用户标识的归属节点的操作指令。
步骤234,SIP分发代理根据灰度用户标识的归属节点信息将短路由消息转发至归属节点。
短路由消息中携带了灰度用户例如Bob的用户号码,根据Bob的用户号码在数据表中查询Bob的用户号码的归属节点,找到灰度用户Bob的归属节点为业务节点B。此时,SIP分发代理再将短路由消息转发至业务节点B。
步骤236,归属节点根据操作指令到第一业务节点中访问灰度用户标识对应的消息队列,对消息队列中的未处理消息进行处理。
SIP分发代理再将短路由消息转发至业务节点B,业务节点B接收短路由消息。业务节点B获取对灰度用户标识的归属节点的操作指令,根据操作指令访问灰度用户标识Bob对应的消息队列,因为业务节点A已经释放了灰度用户标识Bob对应的消息队列的队列锁,所以业务节点B就可以访问。业务节点B在Bob对应的消息队列中发现有与客户端或者第三方业务节点之间未发送的信息,将这些信息取出再发送即可。
在本实施例中,业务节点A构造短路由消息,通过SIP分发代理将短路由消息转发给业务节点B,业务节点B根据短路由消息中携带的信息和指令,访问业务节点A处的灰度用户标识Bob对应的消息队列,从而将消息队列中的未发送信息进行发送。利用已有的SIP分发代理的内部转发就实现了同一局内不同业务节点之间的信息交互,保证了原有链路上的信息不会遗漏,确保灰度发布后业务的正常开展。且SIP分发代理是已有的,不需要增加其他的通道。
在一个实施例中,提供了一种灰度发布后链路管理系统,系统包括:第一业务节点、归属节点及SIP分发代理:
第一业务节点,用于在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断灰度用户标识的归属节点与第一业务节点是否一致;若不一致,则对灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链;通过会话初始协议SIP分发代理向归属节点发送短路由消息;
归属节点,用于根据短路由消息对第一业务节点中灰度用户标识对应的未处理消息进行处理;
SIP分发代理,用于向归属节点发送短路由消息。
在一个实施例中,提供了一种灰度发布后链路管理方法,该方法以应用于如图1所示的环境中进行举例说明。
首先,请参见图6,在客户端版本未升级之前,用户Bob发送第二初始SIP消息—建链邀请INVITE消息至SIP分发代理。SIP分发代理查询本地保存的用户与业务节点的归属关系,此时用户Bob的归属节点为业务节点A,则SIP分发代理将建链邀请INVITE消息转发给业务节点A。
进一步的,业务节点A在数据表中查询该用户Bob的信息,若以前未在数据表中保存过用户Bob的信息,则在数据表中更新用户Bob的归属节点为业务节点A。并在业务节点A与第三方业务节点之间建立TCP-1链路,用于业务节点A与第三方业务节点之间进行通信。在业务节点A与客户端建立TCP-2链路,用于业务节点A与客户端之间进行通信。这是灰度发布之前,原归属业务节点所建立的老的TCP通信链路。
进一步的,业务节点A建链完成后,将用户Bob的链路信息保存到本节点,键为Bob,值为第三方业务节点侧TCP-1列表和客户端侧TCP-2列表。链路建立后,客户端和第三方业务节点可以通过这些链路传递消息。业务节点A收到消息,先存入用户Bob的消息队列,然后提取消息队列里已有的消息下发,下发之后设置用户Bob的消息队列的队列锁。队列锁的作用是限制该队列里的关于Bob的消息仅有业务节点A可以访问。
其次,请参见图7,按照客户端版本发布要求,需要进行灰度发布,让部分用户体验新功能,用户Bob是体验用户即灰度用户,用户Bob的归属节点需要进行变更,从业务节点A变更为业务节点B。管理模块通知SIP分发代理,用户Bob的归属节点发生了变更,SIP分发代理对应更新本地的用户与业务节点的关系。此时,业务节点A并不能感知到用户Bob的归属节点发生了变更,因此原有的业务节点A对应的TCP-1链路和TCP-2链路还是能够接收发送信息的。所以后续建立了新的TCP-3链路和TCP-4链路之后,该灰度用户标识与第三方业务节点之间进行交互的消息,有时通过业务节点B的TCP链路发送,有时通过业务节点A的TCP链路发送。
进一步的,若此时在业务节点A的TCP-2链路上,收到来自Bob发往第三方业务节点的消息,业务节点A查询Bob归属节点仍为业务节点A(业务暂时无法感知到用户切换),通过TCP-1发送给第三方业务节点,与原来客户端版本未升级时一致。
进一步的,若此时在业务节点A的TCP-1链路上,收到来自第三方业务节点发往Bob的消息,业务节点A查询Bob归属节点仍为业务节点A(业务暂时无法感知到用户切换),通过TCP-2发送给Bob,与原来客户端版本未升级时一致。
此时客户端已经升级到了新版本,并开始使用新功能。用户Bob通过客户端向SIP分发代理发送第一初始SIP消息,SIP分发代理查询本地的用户与归属节点的对应关系,直接将第一初始SIP消息发送至业务节点B。业务节点B接收第一初始SIP消息,并查询数据表,判断数据表中灰度用户Bob的归属节点有误,则将数据表中Bob的归属节点更新为业务节点B。业务节点B根据第一初始SIP消息与第三方业务节点之间建立TCP-3链路,业务节点B根据第一初始SIP消息与客户端建立TCP-4链路。Bob归属节点更新为业务节点B之后,若收到不是与第三方业务节点交互的消息,SIP分发代理路由到业务节点B,业务节点B正常处理。
可以看出,在用户归属节点变更为业务节点B之后,当客户端与第三方业务节点之间进行信息交互时,业务节点B分别与第三方业务节点和客户端之间都建立了链路,而之前业务节点A建立的链路仍在使用中,双倍链路同时使用,这就造成了业务节点上链路资源的浪费,增加了业务节点的负荷。同时,对于第三方业务节点和客户端,也需要维护双倍的链路,增加了开销。严重情况下可能导致用户体验不佳,影响产品的满意度。
最后,请参见图8,为了实现让灰度用户Bob的所有信息都从新的TCP-3链路和TCP-4链路进行通信,彻底清除老的链路,减少业务节点上链路资源的浪费。当业务节点A接收来自灰度用户标识例如Bob与第三方业务节点之间进行交互的消息时,先将消息存储在灰度用户标识Bob对应的消息队列中。然后,业务节点A判断灰度用户标识Bob的归属节点与业务节点A是否一致。
进一步的,业务节点A查询数据表进行判断灰度用户标识Bob的归属节点与业务节点A是否一致。数据表用于存储用户标识与归属业务节点的最新的对应关系。业务节点A查询数据表进行判断后,得出灰度用户标识Bob的归属节点与业务节点A不一致,那么业务节点A释放灰度用户标识Bob对应的消息队列的队列锁。队列锁的作用是限制该队列里的关于Bob的消息仅有业务节点A可以访问。释放之后,那么其他业务节点就可以访问该消息队列。
队列锁释放之后,业务节点A将自身与第三方业务节点之间的链路进行断链,再将自身与客户端之间的链路进行断链。
在断链之后,业务节点A构造短路由消息,并将短路由消息发送至SIP分发代理。短路由消息是指不能发给客户端和第三方业务节点的消息,只能在内部进行转发的消息。SIP分发代理根据短路由消息里面的标识,识别出这是一个短路由的SIP消息。然后,根据分发策略获取到短路由消息中携带的灰度用户标识Bob的用户号码,根据此号码查询用户与归属节点的关系,找到归属节点为业务节点B,再将短路由消息转发至业务节点B。业务节点B从短路由消息中获取对灰度用户标识的归属节点的操作指令,根据操作指令访问灰度用户标识Bob对应的消息队列,将消息队列中的未发送消息进行发送。
在一个实施例中,如图9所示,还提供了一种灰度发布后链路管理装置300,该装置包括:判断模块310,断链模块320,短路由消息转发模块330。
判断模块310,用于在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断灰度用户标识的归属节点与第一业务节点是否一致。
断链模块320,用于若灰度用户标识的归属节点与第一业务节点不一致时,则第一业务节点对灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链。
短路由消息转发模块330,用于第一业务节点通过会话初始协议SIP分发代理向归属节点发送短路由消息,其中,短路由消息用于指示归属节点对第一业务节点中灰度用户标识对应的未处理消息进行处理。
在一个实施例中,判断模块310还用于在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,第一业务节点查询数据表,数据表记录了灰度用户标识与归属业务节点的对应关系,并根据数据表判断灰度用户标识的归属节点与第一业务节点是否一致。
在一个实施例中,如图10所示,灰度发布后链路管理装置300还包括:
通信链路建立模块340,用于在数据表中记录的灰度用户标识的归属节点由第一业务节点变更为第二业务节点之后,第二业务节点通过SIP分发代理接收灰度用户标识对应的客户端发送的第一初始SIP消息,根据第一初始SIP消息建立第二业务节点与客户端、第二业务节点与第三方业务节点之间的链路。
在一个实施例中,如图11所示,灰度发布后链路管理装置300还包括:
队列锁释放模块350,用于第一业务节点释放灰度用户标识对应的消息队列的队列锁。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断灰度用户标识的归属节点与第一业务节点是否一致。
若不一致,则第一业务节点对灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链。
第一业务节点通过会话初始协议SIP分发代理向归属节点发送短路由消息,其中,短路由消息用于指示归属节点对第一业务节点中灰度用户标识对应的未处理消息进行处理。
在其中一个实施例中,上述程序被处理器执行时还实现以下步骤:
在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,第一业务节点查询数据表,数据表记录了灰度用户标识与归属业务节点的对应关系,并根据数据表判断灰度用户标识的归属节点与第一业务节点是否一致。
在其中一个实施例中,上述程序被处理器执行时还实现以下步骤:
在数据表中记录的灰度用户标识的归属节点由第一业务节点变更为第二业务节点之后,第二业务节点通过SIP分发代理接收灰度用户标识对应的客户端发送的第一初始SIP消息,根据第一初始SIP消息建立第二业务节点与客户端、第二业务节点与第三方业务节点之间的链路。
在其中一个实施例中,上述程序被处理器执行时还实现以下步骤:
第一业务节点释放灰度用户标识对应的消息队列的队列锁。
在其中一个实施例中,上述程序被处理器执行时还实现以下步骤:
第一业务节点构造短路由消息发送至SIP分发代理,短路由消息中包含灰度用户标识的归属节点信息和对归属节点的操作指令。
SIP分发代理根据灰度用户标识的归属节点信息将短路由消息转发至归属节点。
归属节点根据操作指令到第一业务节点中访问灰度用户标识对应的消息队列,对消息队列中的未处理消息进行处理。
一种计算机设备,计算机设备包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断灰度用户标识的归属节点与第一业务节点是否一致。
若不一致,则第一业务节点对灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链。
第一业务节点通过会话初始协议SIP分发代理向归属节点发送短路由消息,其中,短路由消息用于指示归属节点对第一业务节点中灰度用户标识对应的未处理消息进行处理。
在其中一个实施例中,上述处理器执行计算机程序时还实现以下步骤:
在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,第一业务节点查询数据表,数据表记录了灰度用户标识与归属业务节点的对应关系,并根据数据表判断灰度用户标识的归属节点与第一业务节点是否一致。
在其中一个实施例中,上述处理器执行计算机程序时还实现以下步骤:
在数据表中记录的灰度用户标识的归属节点由第一业务节点变更为第二业务节点之后,第二业务节点通过SIP分发代理接收灰度用户标识对应的客户端发送的第一初始SIP消息,根据第一初始SIP消息建立第二业务节点与客户端、第二业务节点与第三方业务节点之间的链路。
在其中一个实施例中,上述处理器执行计算机程序时还实现以下步骤:
第一业务节点释放灰度用户标识对应的消息队列的队列锁。
在其中一个实施例中,上述处理器执行计算机程序时还实现以下步骤:
第一业务节点构造短路由消息发送至SIP分发代理,短路由消息中包含灰度用户标识的归属节点信息和对归属节点的操作指令。
SIP分发代理根据灰度用户标识的归属节点信息将短路由消息转发至归属节点。
归属节点根据操作指令到第一业务节点中访问灰度用户标识对应的消息队列,对消息队列中的未处理消息进行处理。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种灰度发布后链路管理方法,所述方法包括:
在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断所述灰度用户标识的归属节点与所述第一业务节点是否一致;
若不一致,则所述第一业务节点对所述灰度用户标识对应的客户端与所述第三方业务节点之间的链路进行断链;
所述第一业务节点通过会话初始协议SIP分发代理向所述归属节点发送短路由消息,其中,所述短路由消息用于指示所述归属节点对所述第一业务节点中所述灰度用户标识对应的未处理消息进行处理。
2.根据权利要求1所述的方法,其特征在于,所述在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断所述灰度用户标识的归属节点与所述第一业务节点是否一致,包括:
在所述第一业务节点接收到所述灰度用户标识对应的客户端与所述第三方业务节点之间的交互消息的情况下,所述第一业务节点查询数据表,所述数据表记录了所述灰度用户标识与归属业务节点的对应关系,并根据所述数据表判断所述灰度用户标识的归属节点与所述第一业务节点是否一致。
3.根据权利要求1所述的方法,其特征在于,在所述第一业务节点接收灰度用户标识对应的客户端与第三方业务节点之间的交互消息之前,还包括:
在数据表中记录的所述灰度用户标识的归属节点由所述第一业务节点变更为第二业务节点之后,所述第二业务节点通过所述SIP分发代理接收所述灰度用户标识对应的客户端发送的第一初始SIP消息,根据所述第一初始SIP消息建立所述第二业务节点与所述客户端、所述第二业务节点与所述第三方业务节点之间的链路。
4.根据权利要求1所述的方法,其特征在于,在所述若所述灰度用户标识的归属节点与所述第一业务节点不一致,则所述第一业务节点对所述灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链之前,还包括:
所述第一业务节点释放所述灰度用户标识对应的消息队列的队列锁。
5.根据权利要求1所述的方法,其特征在于,所述第一业务节点通过会话初始协议SIP分发代理向所述归属节点发送短路由消息,其中,所述短路由消息用于指示所述归属节点对所述第一业务节点中所述灰度用户标识对应的未处理消息进行处理,包括:
所述第一业务节点构造短路由消息发送至SIP分发代理,所述短路由消息中包含所述灰度用户标识的归属节点信息和对所述归属节点的操作指令;
所述SIP分发代理根据所述灰度用户标识的归属节点信息将所述短路由消息转发至所述归属节点;
所述归属节点根据所述操作指令到所述第一业务节点中访问所述灰度用户标识对应的消息队列,对所述消息队列中的未处理消息进行处理。
6.一种灰度发布后链路管理系统,其特征在于,所述系统包括:第一业务节点、归属节点及SIP分发代理:
所述第一业务节点,用于在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断所述灰度用户标识的归属节点与所述第一业务节点是否一致;若不一致,则对所述灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链;通过会话初始协议SIP分发代理向所述归属节点发送短路由消息;
所述归属节点,用于根据所述短路由消息对所述第一业务节点中所述灰度用户标识对应的未处理消息进行处理;
所述SIP分发代理,用于向所述归属节点发送所述短路由消息。
7.一种灰度发布后链路管理装置,其特征在于,所述装置包括:
判断模块,用于在第一业务节点接收到灰度用户标识对应的客户端与第三方业务节点之间的交互消息的情况下,判断所述灰度用户标识的归属节点与所述第一业务节点是否一致;
断链模块,用于若所述灰度用户标识的归属节点与所述第一业务节点不一致时,则所述第一业务节点对所述灰度用户标识对应的客户端与第三方业务节点之间的链路进行断链;
短路由消息转发模块,用于所述第一业务节点通过会话初始协议SIP分发代理向所述归属节点发送短路由消息,其中,所述短路由消息用于指示所述归属节点对所述第一业务节点中所述灰度用户标识对应的未处理消息进行处理。
8.根据权利要求7所述的装置,其特征在于,所述判断模块还用于在第一业务节点接收到所述灰度用户标识对应的客户端与所述第三方业务节点之间的交互消息的情况下,所述第一业务节点查询数据表,所述数据表记录了所述灰度用户标识与归属业务节点的对应关系,并根据数据表判断所述灰度用户标识的归属节点与所述第一业务节点是否一致。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
通信链路建立模块,用于在数据表中记录的所述灰度用户标识的归属节点由所述第一业务节点变更为第二业务节点之后,所述第二业务节点通过SIP分发代理接收所述灰度用户标识对应的客户端发送的第一初始SIP消息,根据所述第一初始SIP消息建立所述第二业务节点与所述客户端、所述第二业务节点与所述第三方业务节点之间的链路。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
队列锁释放模块,用于所述第一业务节点释放所述灰度用户标识对应的消息队列的队列锁。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权1至5中任一项所述的灰度发布后链路管理方法。
12.一种计算机设备,所述计算机设备包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权1至5中任一项所述的灰度发布后链路管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710365506.6A CN109246051A (zh) | 2017-05-22 | 2017-05-22 | 灰度发布后链路管理方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710365506.6A CN109246051A (zh) | 2017-05-22 | 2017-05-22 | 灰度发布后链路管理方法、装置、存储介质和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109246051A true CN109246051A (zh) | 2019-01-18 |
Family
ID=65082506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710365506.6A Withdrawn CN109246051A (zh) | 2017-05-22 | 2017-05-22 | 灰度发布后链路管理方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109246051A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489133A (zh) * | 2019-08-23 | 2019-11-22 | 亿企赢网络科技有限公司 | 一种灰度发布方法、系统及电子设备和存储介质 |
CN110781013A (zh) * | 2019-10-25 | 2020-02-11 | 湖南御家科技有限公司 | 一种灰度发布方法、装置、设备及介质 |
CN112015563A (zh) * | 2020-09-02 | 2020-12-01 | 中国平安财产保险股份有限公司 | 消息队列切换方法、装置、电子设备及存储介质 |
CN113301155A (zh) * | 2021-05-24 | 2021-08-24 | 挂号网(杭州)科技有限公司 | 数据路由方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325806A (zh) * | 2007-09-14 | 2008-12-17 | 中兴通讯股份有限公司 | 跨系统切换优化方法 |
CN101605345A (zh) * | 2009-07-20 | 2009-12-16 | 深圳华为通信技术有限公司 | 一种外场业务测试的方法、设备以及系统 |
US20160330254A1 (en) * | 2015-05-08 | 2016-11-10 | Avaya Inc. | Pushing graphical user interface widgets for communication devices |
CN106487555A (zh) * | 2015-08-28 | 2017-03-08 | 中兴通讯股份有限公司 | 一种业务节点的调整方法、装置及设备 |
-
2017
- 2017-05-22 CN CN201710365506.6A patent/CN109246051A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325806A (zh) * | 2007-09-14 | 2008-12-17 | 中兴通讯股份有限公司 | 跨系统切换优化方法 |
CN101605345A (zh) * | 2009-07-20 | 2009-12-16 | 深圳华为通信技术有限公司 | 一种外场业务测试的方法、设备以及系统 |
US20160330254A1 (en) * | 2015-05-08 | 2016-11-10 | Avaya Inc. | Pushing graphical user interface widgets for communication devices |
CN106487555A (zh) * | 2015-08-28 | 2017-03-08 | 中兴通讯股份有限公司 | 一种业务节点的调整方法、装置及设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489133A (zh) * | 2019-08-23 | 2019-11-22 | 亿企赢网络科技有限公司 | 一种灰度发布方法、系统及电子设备和存储介质 |
CN110781013A (zh) * | 2019-10-25 | 2020-02-11 | 湖南御家科技有限公司 | 一种灰度发布方法、装置、设备及介质 |
CN110781013B (zh) * | 2019-10-25 | 2022-11-18 | 湖南水羊科技有限公司 | 一种灰度发布方法、装置、设备及介质 |
CN112015563A (zh) * | 2020-09-02 | 2020-12-01 | 中国平安财产保险股份有限公司 | 消息队列切换方法、装置、电子设备及存储介质 |
CN112015563B (zh) * | 2020-09-02 | 2023-07-07 | 中国平安财产保险股份有限公司 | 消息队列切换方法、装置、电子设备及存储介质 |
CN113301155A (zh) * | 2021-05-24 | 2021-08-24 | 挂号网(杭州)科技有限公司 | 数据路由方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246051A (zh) | 灰度发布后链路管理方法、装置、存储介质和计算机设备 | |
KR101011994B1 (ko) | 서비스 네트워크 내의 단대단 qos를 보증하는 장치 및 그 방법 | |
CN108833181A (zh) | Ng-cn网络切片系统及网络切片选择方法 | |
CN104093175B (zh) | 用于管理潜在的或实际的切换的方法和管理综合接入设备 | |
CN111445328A (zh) | 一种跨链网关交互系统和方法以及供应链数据管理方法 | |
KR20070039108A (ko) | 하이브리드 전기 통신 네트워크에서 세션 제어를 위한 방법및 장치 | |
JP2004507949A (ja) | サービススクリプトの実行及び管理のためのネットワークアーキテクチャー及び方法 | |
EP0964588A2 (en) | A communications network system with discrete terminal mobility and remote user registration | |
EP2404405A1 (en) | Managing network elements | |
CN109428866A (zh) | 提供用户身份信息的方法、系统及计算机可读存储介质 | |
CN109474936A (zh) | 应用于多个lora网关之间的物联网通讯方法及系统 | |
CN109743699A (zh) | 一种基于区块链的通信方法及系统 | |
CN102648601B (zh) | 管理对象的数据完整性 | |
CN101330500B (zh) | 在设备管理中访问权限的控制方法 | |
CN103024687A (zh) | 用于建立即时通信的方法和设备 | |
CN104253739A (zh) | 一种永远在线业务的实现方法、系统和设备 | |
CN100414895C (zh) | 一种实现合法监听的系统和方法 | |
CN107659903A (zh) | 用于实现 VoLTE 业务自动开通的方法和系统 | |
CN101742011A (zh) | 一种跨网络电话域的合法监听方法和系统 | |
NO323264B1 (no) | terminaladministrator for aksess til multiple heterogene telekommunikasjonsnettverk | |
CN107770756A (zh) | 一种监控方法、终端、服务器、网关设备以及系统 | |
CN106357455B (zh) | 一种控制应用访问网络的方法和系统 | |
CN108243050A (zh) | 一种配置路由表的方法及设备 | |
CN104426792B (zh) | 调度器支持能力的查询、通知方法及装置 | |
CN109548021A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190118 |