CN113542775A - 直播保活服务系统、直播保活管理方法、服务器及介质 - Google Patents
直播保活服务系统、直播保活管理方法、服务器及介质 Download PDFInfo
- Publication number
- CN113542775A CN113542775A CN202110800707.0A CN202110800707A CN113542775A CN 113542775 A CN113542775 A CN 113542775A CN 202110800707 A CN202110800707 A CN 202110800707A CN 113542775 A CN113542775 A CN 113542775A
- Authority
- CN
- China
- Prior art keywords
- keep
- alive
- room
- user
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2181—Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23103—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44218—Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了直播保活服务系统、直播保活管理方法、服务器及介质。该系统包括保活服务层和数据层,保活服务层中各保活服务节点当根据关联观众用户的进房反馈信息确定关联观众用户进行了保活节点切换时,确定关联观众用户的前一关联服务节点,并与前一关联服务节点进行信息交互;数据层的数据中心包含各保活服务节点分别对应的至少一个有序集合,实现以键值对形式对观众用户在房状态数据的有效记录。利用该系统,能够对观众用户是否真正离开房间或者再次进入直播间与其他保活服务节点有关联进行有效判定,从而保证观众用户在房状态数据信息的精确管理。
Description
技术领域
本发明实施例涉及直播技术领域,尤其涉及直播保活服务系统、直播保活管理方法、服务器及介质。
背景技术
在网络直播领域,可以通过通过直播保活服务系统来确定用户在房状态,以确定用户是否在直播间内。一般的,直播保活服务系统可以在用户处于用户在房状态时,仅执行对用户相关数据进行实时记录的操作;此外,不管用户主动退出直播间,还是因网络问题掉线退出直播间,或者保活系统自行检测出用户处于离房状态,直播保活服务系统均可认为用户处于离房状态,此时需要执行的操作包括:向外接的其他业务平台推送一条用户立方的事件通知,以及将用户相关数据从保活服务系统中清除。
随着直播业务所涉及人群的不断扩大,原本基于一个计算节点构成的直播保活服务系统在用户在房状态管理上存在超荷负载的问题,由此考虑基于多个计算节点部署直播保活服务系统,但是如何保证多个计算节点上用户在房状态数据的同步需要解决的问题。
此外,直播保活服务系统需要通过创建的保活管理进程定时检查用户的在房状态,所创建的保活进程往往有多个,假设每个保活管理进程均定时参与每个用户的在房状态检测,将会造成保活系统所关联存储数据库负载过高的问题;若考虑将一个保活管理进程作为主进程,仅有该主进程对每个用户定时进行在房状态检测,又会出现无法及时检测到用户离房状态,以及主进程负载过高而其他非主进程空闲的负载失衡问题。
发明内容
有鉴于此,本发明实施例提供了直播保活服务系统、直播保活管理方法、服务器及介质,以实现用户进入直播间后在房状态的有效管理。
第一方面,本发明实施例提供了一种直播保活服务系统,保活服务层和数据层;
所述保活服务层包含至少一个保活服务节点,
各所述保活服务节点,用于当根据关联观众用户的进房反馈信息确定所述关联观众用户进行了保活节点切换时,确定所述关联观众用户的前一关联服务节点,并与所述前一关联服务节点进行信息交互;
所述数据层包含数据中心,用于存储各所述保活服务节点分别对应的至少一个有序集合,其中,每个保活服务节点对应的各有序集合中以键值对形式记录关联观众用户的在房状态数据。
第二方面,本发明实施例提供一种直播保活管理方法,由本发明第一方面实施例提供的直播保活服务系统中直播保活服务系统中保活服务节点执行,包括:根据接收到的相对目标直播房间的直播数据请求,对所述目标直播房间关联的直播间列表进行管理;
其中,所述直播间列表由有序集合序列构成,所述有序集合序列存储在所述直播保活服务系统中数据层的数据中心内,包括至少一个有序集合,各所述有序集合中以直播属性键值对来表示直播间列表信息。
第三方面,本发明实施例提供了一种服务器,作为本发明第一方面实施例提供的直播保活服务系统中保活服务层的保活服务节点,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第二方面实施例提供的直播保活管理方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第二方面实施例提供的直播保活管理方法。
本发明实施例提供的直播保活服务系统、直播保活管理方法、服务器及介质中,该直播保活服务系统包括保活服务层和数据层,保活服务层中各保活服务节点能够当根据关联观众用户的进房反馈信息确定所述关联观众用户进行了保活节点切换时,确定关联观众用户的前一关联服务节点,并与前一关联服务节点进行信息交互,以实现对关联观众用户在房状态的有效管理,另外,数据层中包含的数据中心上也存储了各保活服务节点分别对应的至少一个有序集合,其中,每个保活服务节点对应的各有序集合中以键值对形式记录关联观众用户的在房状态数据。上述技术方案,所设定的保活服务节点可以通过相关联观众用户的进房反馈信息在满足交互条件时与其他保活服务节点进行信息交互,通过该信息交互由此能够对观众用户是否真正离开房间或者再次进入直播间与其他保活服务节点有关联进行有效判定,从而保证了观众用户在房状态数据信息的精确管理。同时,本技术方案在数据存储上采用有序集合的形式也为保活服务系统中各保活管理进程的负载均衡提供了数据基础。由此,本技术方案对直播保活服务系统的改进有效提高了保活管理的管理效率,保证了直播保活服务系统的可靠运行。
附图说明
图1给出了本发明实施例一提供的一种直播保活服务系统的结构框图;
图2给出了本实施所提供一种直播保活服务系统中所包括列表服务节点的结构框图;
图3给出了本发明实施例二提供的一种直播保活管理方法的流程示意图;
图4给出了本发明实施例二在用户进入直播房间后直播保活服务系统对观众用户在房状态进行保活管理的实现示例图;
图5给出了本发明实施例三提供的一种服务器的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例方式作进一步地详细描述。应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
实施例一
图1给出了本发明实施例一提供的一种直播保活服务系统的结构框图,该系统适用于对用户进入直播间后的在房状态进行管理的情况,如图1所示,该直播保活服务系统包括:保活服务层11和数据层12;保活服务层11包含至少一个保活服务节点111,
各所述保活服务节点111,用于当根据关联观众用户的进房反馈信息确定所述关联观众用户进行了保活节点切换时,确定所述关联观众用户的前一关联服务节点,并与所述前一关联服务节点进行信息交互;
数据层12包含数据中心121,用于存储各所述保活服务节点111分别对应的至少一个有序集合1211,其中,每个保活服务节点111对应的各有序集合1211中以键值对形式记录关联观众用户的在房状态数据。
在本实施例中,所提供直播保活服务系统具体可理解为一个部署在直播应用软件后台服务端的服务支持系统,一般的,后台服务端可以看作一个分布式系统架构,且可以实现全球服务部署,在该分布式系统架构下,可以通过对不同地域上后台服务节点的部署构成分布式的直播保活服务系统,且参与部署的各后台服务节点可以作为保活服务节点111构成保活服务层11。
需要说明的是,直播保活服务系统的应用场景可描述为:观众用户通过直播应用软件登录客户端,之后可以选定一个直播间并进入,直播保活服务系统可以通过一个管理进程对该观众用户进入直播间后的状态进行监测,以对观众用户处于直播间的在房状态,或因为某些原因离开直播间的离房状态进行监测和记录,由此实现对观众用户在房状态的管理。
具体的,保活服务层11以及数据层12均可理解进行直播保活服务的抽象机制,本实施例可以将保活服务层11抽象为一个保活服务的执行机制,具体包括了能为观众用户提供在房状态管理的保活服务节点111,各保活服务节点111可以是分布式系统架构下作为后台服务节点的计算机设备。对于保活服务层11而言,其主要通过保活服务节点111对节点所关联各观众用户进入直播间后的在房状态进行管理。
示例性的,保活服务层11中的各保活服务节点111的管理对象可优选为与节点本身建立关联的观众用户,对于任一个保活服务节点111而言均可以对其所关联观众用户的在房状态进行管理。在房状态管理的其中一个交互实现可以描述为:基于观众用户的进房反馈信息,确定观众用户当前关联的保活服务节点111与前一关联的保活服务节点111是否发生了保活节点切换,若是,则该保活服务节点111可以与观众用户相关联的前一保活服务节点111进行信息交互,以告知前一保活服务节点111该观众用户进行在房状态管理所需的保活服务节点111已发生变化,前一保活服务节点111可以释放掉之前对该观众用户进行在在房状态管理时所记录的相关数据,从而通过该交互操作实现对观众用户在房状态的有效管理。
其中,所述进房反馈信息可理解为观众用户所对应用户终端在确定观众用户成功进入所选定直播间后生成的,并发送至所关联保活服务节点111的反馈消息,保活服务节点111可以通过该反馈消息确定观众用户的用户信息以及所进入直播间的直播间信息,本实施例优选进房反馈信息还包括了观众用户上一次进入该直播间时所关联保活服务节点111的相关信息,以用来进行保活节点是否发生切换的确定。
进一步地,各关联观众用户通过已创建的前端接入进程调度分配至相应的保活服务节点111;各所述保活服务节点111与关联观众用户的用户终端建立通信连接。
在本实施例中,对于任一个保活服务节点111而言,可以通过分布式系统架构下处于前端接入层中的前端接入进程来与观众用户的用户终端建立通信连接,由此基于前端接入进程将观众用户分配给保活服务节点111,从而建立保活服务节点111与观众用户的关联。
示例性的,可认为直播保活服务系统中保活服务层11并不直接与观众用户的用户终端进行通信,而是需要通过分布式的直播后端系统中包括的前端接入层来间接建立保活服务节点111与观众用户的关联。其中,前端接入层同样可以由后台服务器来作为前端接入进程的执行载体,而该执行载体可以根据观众用户所关联用户终端的归属地域为其分配合适的保活服务节点111。
具体的,当观众用户通过用户终端进入所选定的直播间后,用户终端生成进房反馈信息后首先与前端接入进程的执行载体通信,之后由该执行载体为用户终端分配合适的保活服务节点111,使得二者建立通信连接,最终建立连接后的保活服务节点111可以接收到用户终端发送的进房反馈信息,且该保活服务节点111也与用户终端对应的观众用户建立了关联。
在本实施例中,观众用户的前一关联服务节点可认为是与观众用户存在关联的前一保活服务节点111,即,观众用户在于当前保活服务节点111建立关联之前,对观众用户进行在房状态管理的上一个保活服务节点111。一般的,在观众用户离开直播间时,也默认与其关联的保活服务节点111断开连接,如果观众用户再次进入直播间,前端接入进程将会重新与其分配一个保活服务节点111,相比于重新分配的保活服务节点111,之前断开连接的保活服务节点111就可记作是前一关联服务节点。
可以知道的是,前一关联服务节点可能与新分配的当前保活服务节点111为同一节点,也可能为不同节点,且前一关联服务节点的相关信息可以携带在进房反馈信息中,新分配的当前保活服务节点111通过进房反馈信息中携带的相关信息,可以确定该观众用户是否存在保活节点切换的情况。
在本实施例中,考虑到直播保活服务系统对观众用户保活管理的重点在于对观众用户进入直播间后在房状态数据的记录和管理,而现有对观众用户在房状态数据进行存储的存储方式中均存在不同的缺陷,并不是实现观众用户在房状态数据的有效管理。由此,本实施例提供的直播保活服务系统中,采用了特殊的第三方存储服务,即,提出了数据层12的概念,具体地,数据层12中包含了部署在不同地域的数据中心121,形成了分布式存储数据库,数据中心121可以作为本实施例进行观众用户在房状态数据存储的存储介质。
在本实施例中,保活服务节点111对所关联观众用户的在房状态数据进行管理时,相当于与数据层12也存在信息交互,能够通过对数据层12中对应观众用户所存储在房状态数据的更新来实现观众用户的保活管理。
同样的,本实施例也可以将数据层12抽象为一个数据管理机制,其具体包含了部署在分布式系统架构下后台服务节点中的数据中心121,保活服务层11中的保活服务节点111可以与数据层12中的一个数据中心121建立连接,并将所关联观众用户对应的在房状态数据存储在该数据中心121上。
需要说明第,本实施例可以在不同地域对应的后台服务器上通过搭建codis集群的方式来形成数据层12中的各数据中心121。其中,codis集群可理解为一个分布式数据库集群,具体可用于进行海量数据的存储以及通过其他服务的交互实现数据管理,如实现对数据的增删改查等管理操作。
具体的,对所关联观众用户进行在房状态管理时所对应在房状态数据的存储,本实施例可以通过在数据中心121上对应各保活服务节点111创建至少一个有序集合1211来实现。其中,数据中心121上所构建的各有序结合具备有查询和排序功能,且具备将数据信息以键值对形式进行关系映射存储的特点。本实施例通过数据中心121上所创建有序集合1211具备的特性,采用有序集合1211进行观众用户在房状态数据的存储,并以键值对形式表示各观众用户的在房状态数据。
在本实施例提供的直播保活服务系统中,对于观众用户当前所关联的保活服务节点111而言,其接收到观众用户所对应用户终端发送的进房反馈信息后,在确定观众用户发生了保活节点切换时,该当前所关联的保活服务节点111与前一关联的保活服务节点111进行信息交互,该信息交互能够从前一所关联保活服务节点111对应的有序集合1211中清除掉该观众用户有关的在房状态数据,使得仅在当前所关联保活服务节点111对应的有序集合1211中进行该观众用户有关在房状态数据的记录。由此避免了现有保活服务系统对观众用户进行保活管理时所记录在房状态数据有误的问题。
对于数据中心121内与保活服务节点111对应的各有序集合1211,可认为这些有序集合1211中包括了保活服务节点111当前所关联观众用户的在房状态数据,在房状态数据以键值对形成记录,每个键值对中具体包括了关键词和关键信息两部分,其中,关键词可认为是观众用户的用户标识号以及观众用户所进入直播间的直播间标识好,关键信息则可以是观众用户进入直播间的时间戳或者观众用户的用户终端向保活服务节点111发出心跳消息的时间戳。
需要说明的是,各保活服务节点111对应的每个有序集合1211,可以是在部署保活服务节点111之后通过向数据层12发送相应的创建请求而关联创建,所创建的集合数量可以是一个历史经验值,只要能够保证与保活服务节点111所关联各观众用户的在房状态信息能够有效存储即可。
本发明实施例一提供的一种直播保活服务系统,所设定的保活服务节点111可以通过相关联观众用户的进房反馈信息在满足交互条件时与其他保活服务节点111进行信息交互,通过该信息交互由此能够对观众用户是否真正离开房间或者再次进入直播间与其他保活服务节点111有关联进行有效判定,从而保证了观众用户在房状态数据信息的精确管理。同时,本技术方案在数据存储上采用有序集合1211的形式也为保活服务系统中各保活管理进程的负载均衡提供了数据基础。由此,本实施例所提供的直播保活服务系统,有效提高了保活管理的管理效率,保证了直播保活服务系统的可靠运行。
进一步地,图2给出了本发明实施例所提供直播保活服务系中所涉及各保活服务节点111的结构框图,如图2所示,所述保活服务节点111,包括:信息接收进程01、切换确定进程02以及交互执行进程03。
具体的,信息接收进程01,用于接收关联观众用户对应的进房反馈信息,其中,所述进房反馈信息由相应用户终端在关联观众用户成功进入所选定直播间后生成并发送,所述进房反馈信息中携带关联观众用户前一关联服务节点的前一节点标志;
切换确定进程02,用于在确定所述前一节点标志不为空且与本节点自身的当前节点标志不同时,确定所述关联观众用户进行了保活节点切换;
交互执行进程03,用于在确定所述关联观众用户进行了保活节点切换时,向所述前一节点标志对应的前一关联服务节点发送数据清理请求,以将所述关联观众用户涉及的在房状态数据从所述前一保活服务节点111对应的有序集合1211中清除。
在本实施例中,保活服务节点111可以为多个观众用户提供在房状态管理服务,本实施例以对其中一个所关联观众用户为例进行相关在房状态管理的描述。具体的,保活服务节点111对所关联观众用户实现在房状态管理时,主要依据创建在节点自身上的各种进程通过执行各自的步骤来实现,其中,所创建的进程包括了信息接收进程01、切换确定进程02以及交互执行进程03。
可以理解的是,信息接收进程01主要用于对关联观众用户所对应用户终端发送信息的监测,其具体可以接收到用户终端发送的进房反馈信息。以实际应用场景举例,观众用户通过用户终端登录直播应用后,可以通过与直播应用后端平台的交互在所显示的直播间列表中选定直播间并进入,进入直播间后的观众用户可以由前端接入进程为其分配当前关联的保活服务节点111,使得其对应的用户终端与所分配保活服务节点111建立通信,从而使观众用户与保活服务节点111建立关联,记观众用户为关联观众用户。之后,关联观众用户的用户终端可以相对成功进入直播间这个事件生成进房反馈信息,且进房反馈信息可以由创建于保活服务节点111上的信息接收进程01接收。
本实施例中优选用户终端所生成的进房反馈信息中携带关联观众用户前一次进入直播间后存在关联关系的前一保活服务节点111的前一节点标志。需要说明的是,如果当前进入的直播间为关联观众用户登录直播应用后首次进入直播间,则进房反馈信息中所携带的前一节点标志为空。
同时所创建的切换确定进程02可以在信息接收进程01的基础上执行后续操作,其主要用于对进房反馈信息进行分析,以判定关联观众用户是否存在保活节点切换。以实际应用说明,对于一个观众用户而言,其进入直播间后,也可以执行离开直播间的操作,同时还存在因网络信号不好而被动离开直播间的情况,之后还可以在离开直播间后再次选定想要进入的直播间。而在离开直播间之前,观众用户就对应存在一个相关的保活服务节点111,因为离开直播间,观众用户也会与相关的保活服务节点111断开连接,直至下次再进入直播间后,又获得一个新建立关联的保活服务节点111。
在上述情景中,本实施例的技术描述主要站在观众用户再次进入直播间后所关联保活服务节点111的角度展开,由此,相对于观众用户再次进入直播间后又建立关联的保活服务节点111,可以将观众用户前一次进入直播间时关联的保活服务节点111记为前一关联服务节点。需要说明的是,本实施例所提供直播保活服务系统的保活服务层11中各保活服务节点111均具备一个节点标志,前一关联服务节点的节点标志可以记为前一节点标志。
具体的,切换确定进程02可以从进房反馈信息中提取该前一节点标志,并可以将节点自身具备的节点标志记为当前节点标志,当确定前一节点标志不为空,且前一节点标志与当前节点标志不一致时,认为观众用户上一次进入直播间后关联的保活服务节点111与当前进入直播间所关联保活服务节点111为两个不同的保活服务节点111,由此可以确定观众用户进行了保活节点切换。其中,保活服务节点111的节点标志可以是节点自身的唯一标识号。
接上述描述,创建在保活服务节点111上的交互执行进程03可以在切换确定进程02进行保活节点切换后进行后续操作,其主要用于实现节点本身与关联观众用户的前一关联服务节点之间相对该关联观众用户在房状态数据的处理。具体的,本节点可以通过交互执行进程03向前一关联服务节点发送数据清理请求,数据清理请求中携带了该关联观众用户的用户标识号,可以使前一关联服务节点基于用户标识号从节点对应的有序集合1211中找到该关联观众用户涉及的在房状态数据并删除,由此实现关联观众用户与前一关联服务节点的彻底分离,保证仅在本节点对应的有序集合1211中进行关联观众用户相关数据信息的记录和管理,避免了观众用户在房状态数据信息的不一致化。
作为本实施例的优选实施例,上述保活服务节点111还可以包括:
响应反馈进程04,用于在与所述关联观众用户建立连接后,将本节点自身的当前节点标志封装在关联响应消息中反馈给所述关联观众用户的用户终端,以使用户终端获得当前所关联保活服务节点的节点信息,并在与新的保活服务节点进行关联连接后,将所述节点信息携带在进房反馈信息反馈给所述新的保活服务节点。
在本实施例中,响应反馈进程04也相当于创建于保活服务节点111上的执行进程,具体的,其可以在确定自身节点与关联观众用户建立连接后,即确定通过前端接入进程将关联观众用户分配给自身节点后,向关联观众用户的用户终端发送连接建立的关联响应消息,该关联响应消息中可以携带节点自身的节点标志,以告知用户终端当前由哪个保活服务节点111为观众用户提供保活管理服务。而对于用户终端而言,当前所获取的节点标志,可以在观众用户离开当前进入的直播间,下次成功进入直播间后作为前一节点标志携带在所生成的进房反馈信息中反馈给新建立关联的保活服务节点。
同样的,作为本实施例的优选实施例,该保活服务节点111还可以包括:
信息记录进程05,用于在与所述关联观众用户建立连接后,基于所接收关联观众用户的进房反馈信息形成初始在房状态数据并进行记录。
在本实施例中,保活服务节点111上还创建有信息记录进程05,该信息记录进程05同样在关联观众用户与节点本身建立连接且接收到相应的进房反馈信息后开始执行相关操作。相关操作主要为形成关联观众用户的初始在房状态数据并记录在相匹配的有序集合1211中,其中,初始在房状态数据主要包括了关联观众用户的用户标识号,关联观众用户所进入直播间的直播间标识号,以及关联观众用户进入直播间时的时间戳。
而关于对初始在房状态数据的记录,主要存在在保活服务节点111对应的有序集合1211中,考虑到一个保活服务节点111对应存在多个有序集合1211,为保证保活服务节点111相对应各有序集合1211中所存储数据信息的负载均衡,可以通过一定的负载均衡算法将关联观众用户的相关数据信息存储在合适的有序集合1211中,可以采用的负载均衡算法如采用所对应有序集合1211的集合数量对关联观众用户的用户标识号进行取余,将所得余数作为有序集合1211编号对应的有序集合1211即可看作关联观众用户匹配的有序集合1211。
优选的,所述信息记录进程05具体可以用于执行下述步骤:
a1、在与所述关联观众用户建立连接后,提取所接收进房反馈信息中关联观众用户的用户标识号、所进入直播间的直播间标识号以及直播间进入时间戳。
b1、通过对所述用户标识号的取余操作,从给定的有序集合1211序列中确定所述关联观众用户对应的目标有序集合。
在本实施例中,采用有序集合1211序列中所包含有序集合1211的集合数量对用户标识号进行取余,其中,有序集合1211序列可认为是包含与本保活服务节点111对应的各有序集合1211的序列,有序集合1211序列中各有序集合1211均存在一个序列编号,对用户标识号取余后所得的余数可以与有序集合1211序列中的序列编号进行匹配,相匹配的有序集合1211即可作为该关联观众用户的目标有序集合。
c1、以所述用户标识号及所述直播间标识号作为关键词,以所述直播间进入时间戳作为关键信息,以键值对形式构成初始在房状态数据并记录在所述目标有序集合中。
作为本实施例的优选实施例,该保活服务节点111还可以包括:
均衡分配进程06以及至少一个保活管理进程07;
所述均衡分配进程06,用于根据本节点自身所拥有保活管理进程07的进程数量以及本节点自身所对应各当前有序集合的集合数量,确定各所述当前有序集合匹配的目标保活管理进程07。
可以知道的是,现有保活服务系统对观众用户进行在房状态的管理中,参与在房状态管理的实际为保活服务系统中的保活管理进程07,而现有保活服务系统中可能存在多个保活管理进程07,多个保活管理进程07对观众用户进行在房状态管理时存在存在进程间负载失衡的问题。
本实施例提供的直播保活服务系统,所具备保活服务层11的各保活服务节点111在优选创建了均衡分配进程06,能够将所创建的多个保活管理进程07与保活服务节点111关联的观众用户进行均衡分配。以一个保活服务节点111为例,分析其关联的观众用户可知,保活管理进程07主要是对观众用户的在房状态进行管理,而在房状态管理的一个重要体现就是对在房状态数据的存储,每个观众用户的在房状态数据均存储在相应的有序集合1211中,若想要实现保活管理进程07与观众用户的负载均衡,可以转换成保活管理进程07与保活服务节点111所对应各有序集合1211之间的均衡。
对于创建于其上的均衡分配进程06而言,其可以获取到自身节点上所创建保活管理进程07的进程数量,还可以获取到自身节点所对应有序集合1211的集合数量,该均衡分配进程06可以基于这两个数量信息,建立保活管理进程07与有序集合1211之间的对应关系,使得保活管理进程07可以仅对所对应有序集合1211中存储的观众用户进行在房状态管理。
优选的,本实施例可优选均衡分配进程06具体执行下述步骤:
a2、获取本节点自身所拥有保活管理进程07的进程数量以及所对应各当前有序集合的集合数量。
b2、如果所述进程数量大于或等于所述集合数量,则随机选取所述集合数量个保活管理进程07作为目标保活管理进程07分别与各当前有序集合一一对应。
本均衡分配进程06可以将进程数量与集合数量进行大小比对,且可以通过本步骤在确定进程数量大于或等于集合数量时,认为节点自身上所创建保活管理进程07的数量充足,由此可以随机选取出集合数量个的保活管理进程07作为节点上的目标保活管理进程07分别与节点对应的各当前有序集合一一对应。
c2、如果所述进程数量小于所述集合数量,则将各所述保活管理进程07分别作为目标保活管理进程07,并按照进程标号从小到大顺序循环拉取相对应的当前有序集合,直至所述集合数量个当前有序集合均被拉取。
同样的,还可以通过本步骤在确定进程数量小于集合数量时,将各保活管理进程07分别作为节点的目标保活管理进程07,并分别为各目标保活管理进程07进行进程标号,之后依次分别为每个目标保活管理进程07分配一个当前有序集合,当每个目标保活管理进程07分别分配到一个当前有序集合后,还存在未分配到目标保活管理进程07的当前有序集合,由此再次从最小进程标号开始依次分配当前有序集合,循环往复直至所有当前有序集合均对应存在目标保活管理进程07。
在上述实施例的基础上,该均衡分配进程06还可以用于:
监测到本节点自身所拥有保活管理进程07的进程数量发生变化时,重新执行目标保活管理进程07与当前有序集合的对应操作。
在本实施例中,保活服务节点111上所具备保活管理进程07的数量是会发生动态变化的,均衡分配进程06可以在保活管理进程07的进程数量发生变化后,重新执行上述将目标保活管理进程07与当前有序集合相对应的操作。
本实施例通过均衡分配进程06的该种操作,可以实现保活管理进程07与节点所关联观众用户的均衡分配,由此避免了保活管理进程07进行保活管理操作时负载不均衡的问题。
进一步地,针对每个目标保活管理进程07,所述目标保活管理进程07可以包括:
信息更新子进程,用于接收相对应当前有序集合中观众用户的用户终端发送的在房心跳信息,并基于所述在房心跳信息对相应观众用户在所述当前有序集合中的在房状态数据进行更新;
状态检测子进程,用于以设定检测周期基于所述当前有序集合中各观众用户对应的当前在房状态数据,确定相应观众用户的当前在房状态;
信息处理子进程,用于对当前在房状态为用户掉线离房的离房观众用户进行保活信息处理。
基于上述描述,可以知道保活服务节点111中的各目标保活管理进程07分别会对所关联当前有序集合中的观众用户进行在房状态数据的保活管理,本实施例以一个目标保活管理进程07为例进行说明。具体的,目标保活管理进程07可以通过对所关联当前有序集合的遍历确定出当前有序集合中都存储了哪些观众用户的在房状态数据,由此可以实时对这些观众用户的用户终端进行监测,以接收到这些用户终端发送的在房心跳信息,并通过对在房心跳信息的分析确定出观众用户相应时刻的在房状态数据。
需要知道的是,在观众用户进入直播间并且分配到相关联的保活服务节点111后,观众用户对应的用户终端将会周期性的向保活服务节点111发送在房心跳信息,以告知保活服务节点111观众用户依旧处于直播间的在房状态,而这个在房心跳信息将会被保活服务节点111中与该观众用户所对应目标保活管理进程07中的信息更新子进程所接收,并由此进行观众用户所对应在房状态数据的更新操作,其更新操作主要面向观众用户所属有序集合1211中记录的在房状态数据。
优选的,本实施例中信息更新子进程具体可以执行下述步骤实现在房状态数据的更新:
a3、接收相对应当前有序集合中观众用户的用户终端发送的在房心跳信息。
b3、针对接收到的每个在房心跳信息,确定所述在房心跳信息对应的目标用户标识号以及目标直播间标识号,并提取所包括的心跳时间戳。
需要知道的是,该信息更新子进程可以接收到当前有序集合所对应每个观众用户的用户终端发送的在房信息信息,其具体可以通过在房心跳信息中包括的用户标识号(本实施例记为目标用户标识号)确定出具体匹配的观众用户,同时还可以提取出该观众用户对应的直播间标识号(本实施例记为目标直播间标识号)以及用户终端发送在房心跳信息时的心跳时间戳。
c3、基于所述目标用户标识号、目标直播间标识号以及所述心跳时间戳,以键值对形式形成新在房状态数据。
信息更新子进程可以通过本步骤形成相应观众用户在其执行时刻的新的在房状态数据。新的在房状态数据仍以键值对形式记录,具体包括了以目标用户标识号及目标直播间标识号组成的关键词以及以心跳时间戳组成的关键信息。
d3、确定所述新在房状态数据对应的目标观众用户,并采用所述新在房状态数据替换所述目标观众用户在所述当前有序集合中对应的在房状态数据。
可以知道的是,通过目标用户标识号可以确定出新在房状态数据管理的目标观众用户,且可以在相应的当前有序集合中找到目标观众用户对应的已存储的在房状态数据,由此可以采用新在房状态数据替换该已存储的在房状态数据,实现保活管理进程07对观众用户在房状态数据的管理。
同时,对于目标保活管理进程07而言,其除了可以通过信息更新子进程通过接收的在房心跳信息被动更新观众用户的在房状态数据外,还可以通过所设定的状态检测子进程主动对观众用户的在房状态进行检测中的状态检测。
具体的,该状态进程子进程可以采用设定检测周期对目标保活管理进程07所关联当前有序集合中各观众用户进行检测操作,其检测操作对象为观众用户存储在当前有序集合中的在房状态数据(本实施例记为当前在房状态数据),可以通过对该当前在房状态数据的分析确定相应观众用户在检测时刻的当前在房状态。
优选的,本实施例中状态检测子进程具体可以通过下述步骤实现观众用户在房状态的主动检测:
a4、在每个设定检测周期中,针对相对应当前有序集合中的每个观众用户,提取所述观众用户对应的当前在房状态数据,并获取所述当前在房状态数据中的时间戳信息。
在本实施例中,可认为状态检测子进程在每个设定检测周期中均采用所给定步骤进程状态检测。其中,以一个设定检测周期为例,可以针对相应当前有序集合中的每个观众用户,获取记录在其中的当前在房状态数据,并提取该当前在房状态数据中包括的时间戳信息。其中,该时间戳信息可能是用户终端发送在房心跳信息时对应的心跳时间戳,也可以是观众用户进入直播间时的直播间进入时间戳。
b4、如果当前检测时刻与所述时间戳信息的差值大于设定时间阈值,则确定所述观众用户的当前在房状态为用户掉线离房。
在本实施例中,可以将进行状态检测的执行时刻记为当前检测时刻,本步骤可以确定出当前检测时刻与上述所确定时间戳信息的差值,并可以将该差值与设定时间阈值进行比较,如果该差值大于设定时间阈值,可认为观众用户在当前有序集合中的在房状态数据已经超过了设定时间阈值的时长没有进行更新,便认为观众用户可能已经离开了直播间,由此可以确定观众用户的当前在房状态为用户掉线离房。用户掉线离房可能是观众用户主动离开直播间,也可能是因为网络中断被动离开直播间。同样的,也可以在差值小于设定时间阈值时,依旧认为观众用户的当前在房状态为用户在线在房。
本实施例经过上述状态检测子进程可以确定出相关当前有序集合中各观众用户的当前在房状态,之后,就可以通过目标保活管理进程07中的信息处理子进程对当前在房状态为用户掉线离房的各观众用户进行保活信息处理。其保活信息处理的关键在于向直播后台服务端与直播保活服务系统相关联的其他业务平台发送观众用户的离房事件,以及对观众用户存储在有序集合1211中的在房状态数据进行清除处理。
考虑到观众用户当前离开直播间后,还会再次进入直播间,且进入直播间后可能并不与现在关联的保活服务节点111建立关联,而是重新与其他保活服务节点111建立关联,该种情况并不能认为观众用户真正的离开直播间,若此时向其他业务平台发送观众用户的离房事件,将会造成信息错误,由此本实施例可以采用信息处理子进程确定离房观众用户所关联离房事件的具体通知时间以及在房状态数据的具体清楚时机。
优选的,本实施例中信息处理子进程具体可以通过执行下述步骤来实现离房观众用户的保活处理:
a5、针对每个当前在房状态为用户掉线离房的离房观众用户,如果本节点在设定等待时长内接收到其他保活服务节点111相对所述离房观众用户发送的数据清理请求,则从相对应当前有序集合中清除所述离房观众用户的在房状态数据;
b5、否则,从相匹配当前有序集合中清除相关在房状态数据,并向所关联其他业务反馈所述离房观众用户的离房通知事件。
可以知道的是,本实施例上述步骤可以针对确定出的每个离房观众用户,本信息处理子进程可以在确定出各离房观众用户后,相对于各离房观众用户分别进行数据清理请求的接收监测,如果在确定出观众用户为离房观众用户后经历设定等待时长后还未接收到其他保活服务节点111相对该离房观众用户发送的数据清理请求,则可认为该离房观众用户真正的离开了直播间,此时可以向直播保活服务系统关联的其他业务方反馈该离房观众用户的离房通知事件,同时从相匹配当前有序集合中清除该离房观众用户的相关在房状态数据。
相应的,如果在确定出观众用户为离房观众用户后的设定等待时长内就接收到其他保活服务节点111相对该离房观众用户发送的数据清理请求,则可认为该离房观众用户又再次进入了直播间,并且与直播保活服务系统中的其他保活服务节点111建立了关联,因此接收到了其他保活服务节点111发送的数据清理请求,此时可认为离房观众用户并没有真正的离开直播间,由此并不需要向其他业务反馈用户离房通知,只需要对节点相匹配当前有序集合中对应该离房观众用户的相关在房状态数据进行清理,以保证该观众用户所涉及在房状态数据信息在其他保活服务节点111上的有效性。
本实施例一上述可选实施例,具体优化了保活服务节点在观众用户进行保活节点切换时所执行的节点间信息交互的实现,同时优化了观众用户的在线状态数据在保活服务节点上基于有序集合的有效存储,还具体化了保活服务节点在于观众用户建立关联后与观众用户用户终端的关联响应交互以及观众用户在房状态的心跳信息发送交互;最终还具体化了本实施例所提供直播保活服务系统中对保活服务节点上各保活管理进程进行均衡分配的实现过程,以及保活管理进程对观众用户进行保活管理的有效实现。本实施例的上述可选实施例更好的体现了直播保活服务系统对观众用户在房状态数据信息的精确管理以及进程负载均衡的有效处理。
实施例二
图3给出了本发明实施例二提供的一种直播保活管理方法的流程示意图,该方法适用于对用户进入直播间后的在房状态进行管理的情况,具体可以由本发明实施例一所提供直播保活服务系统中保活服务层的保活服务节点的执行,该保活服务节点可以优选为一个服务器。
如图3所示,本发明实施例二提供的一种直播保活管理方法,具体可以包括如下步骤:
S301、当根据关联观众用户的进房反馈信息确定所述关联观众用户进行了保活节点切换时,确定所述关联观众用户的前一关联服务节点,并与所述前一关联服务节点进行信息交互。
其中,各保活服务节点在数据层的数据中心内对应存在至少一个有序集合,且所对应各有序集合中以键值对形式记录关联观众用户的在房状态数据。
示例性的,该直播保活管理方法具体由直播保活服务系统中的各保活服务节点执行,各保活服务节点的管理对象可优选为与节点本身建立关联的观众用户,对于任一个保活服务节点而言均可以对其所关联观众用户的在房状态进行管理。
接上述示例,在房状态管理的其中一个交互实现可以描述为:基于观众用户的进房反馈信息,确定观众用户当前关联的保活服务节点与前一关联的保活服务节点是否发生了保活节点切换,若是,则该保活服务节点可以与观众用户相关联的前一保活服务节点进行信息交互,以告知前一保活服务节点该观众用户进行在房状态管理所需的保活服务节点已发生变化,前一保活服务节点可以释放掉之前对该观众用户进行在在房状态管理时所记录的相关数据,从而通过该交互操作实现对观众用户在房状态的有效管理。
具体的,所述进房反馈信息可理解为观众用户所对应用户终端在确定观众用户成功进入所选定直播间后生成的,并发送至所关联保活服务节点的反馈消息,保活服务节点可以通过该反馈消息确定观众用户的用户信息以及所进入直播间的直播间信息。
所述前一关联服务节点可认为是与观众用户存在关联的前一保活服务节点,即,观众用户在于当前保活服务节点建立关联之前,对观众用户进行在房状态管理的上一个保活服务节点。
此外,对所关联观众用户进行在房状态管理时所对应在房状态数据的存储,本实施例可以通过在数据中心上对应各保活服务节点创建至少一个有序集合来实现。其中,数据中心上所构建的各有序结合具备有查询和排序功能,且具备将数据信息以键值对形式进行关系映射存储的特点。本实施例通过数据中心上所创建有序集合具备的特性,采用有序集合进行观众用户在房状态数据的存储,并以键值对形式表示各观众用户的在房状态数据。
本发明实施例二提供的一种直播保活管理方法,所设定的保活服务节点可以通过相关联观众用户的进房反馈信息在满足交互条件时与其他保活服务节点进行信息交互,通过该信息交互由此能够对观众用户是否真正离开房间或者再次进入直播间与其他保活服务节点有关联进行有效判定,从而保证了观众用户在房状态数据信息的精确管理。同时,本技术方案在数据存储上采用有序集合的形式也为保活服务系统中各保活管理进程的负载均衡提供了数据基础,由此有效提高了保活管理的管理效率。
为更好的说明本实施例所提供方法在于关联观众用户建立连接后对关联观众用户在房状态的保活管理实现,本实施例站在一个保活服务节点的角度对其相对关联观众用户所实现保活管理的过程进行示例性说明。
图4给出了本发明实施例二在用户进入直播房间后直播保活服务系统内保活服务节点对观众用户在房状态进行保活管理的实现示例图。
如图4所示,该示例图中包括了方法实现中涉及的多个执行主体,其中所关联观众用户的用户终端31为进房反馈信息的发送端,保活服务层32中当前保活服务节点321为该方法执行的主要执行主体,其他保活服务节点322为当前保活服务节点321进行信息交互时的其中一个交互对象;另外,数据层33中的一个数据中心上存储有各保活服务节点分别对应的至少一个有序集合331。
具体的,如图4所示,在观众用户进入直播间后的场景下,观众用户在房状态的保活管理流程如下:
S1、用户终端在观众用户进入直播间后生成进房反馈信息,并将进房反馈信息发送给通过前端接入进程分配的当前保活服务节点。
S2、当前保活服务节点对进房反馈信息进行分析,确定观众用户存在保活节点切换后,向切换前对应的其他保活服务节点发送数据清理请求。
S3、其他保活服务节点根据接收的数据清理请求,从相对应的有序集合中清除该观众用户的在线状态数据。
S4、当前保活服务节点在与观众用户的用户终端建立连接后,将节点自身的当前节点标志封装在关联响应消息中反馈给用户终端。
S5、当前保活服务节点基于所接收观众用户的进房反馈信息形成初始在房状态数据并从节点本身所对应的有序集合中选定目标有序集合,用以保存观众用户的在房状态数据。
S6、当前保活服务节点根据节点自身所拥有保活管理进程的进程数量以及本节点自身所对应各有序集合的集合数量,确定各有序集合匹配的目标保活管理进程。
S7、当前保活服务节点在保活管理进程的进程数量发生变化时,重新执行本节点所具备各有序集合与目标保活管理进程的对应操作。
S8、当前保活服务节点中每个目标保活管理进程接收相对应有序集合中观众用户的用户终端发送的在房心跳信息,并基于在房心跳信息对相应观众用户在该有序集合中的在房状态数据进行更新。
S9、当前保活服务节点中每个目标保活管理进程以设定检测周期基于每个有序集合中各观众用户对应的当前在房状态数据,确定相应观众用户的当前在房状态。
S10、当前保活服务节点中每个目标保活管理进程对当前在房状态为用户掉线离房的离房观众用户进行保活信息处理。
其中,保活信息处理的具体步骤包括:针对每个当前在房状态为用户掉线离房的离房观众用户,如果本节点在设定等待时长内接收到其他保活服务节点相对所述离房观众用户发送的数据清理请求,则从相对应当前有序集合中清除所述离房观众用户的在房状态数据;否则,从相匹配当前有序集合中清除相关在房状态数据,并向所关联其他业务反馈所述离房观众用户的离房通知事件。
实施例三
图5给出了本发明实施例三提供的一种服务器的硬件结构示意图,具体地,该服务器用于构成上述实施例一所提供服务发现系统中的一致性存储服务层,具体可以包括:处理器和存储装置。存储装置中存储有至少一条指令,且指令由所述处理器执行,使得所述服务器可以执行上述实施例二所提供服务数据管理方法中一致性存储服务层对应的操作步骤。
参照图5,该服务器具体可以包括:处理器40、存储装置41、显示屏42、输入装置43、输出装置44以及通信装置45。该服务器中处理器40的数量可以是一个或者多个,图5中以一个处理器40为例。该服务器中存储装置41的数量可以是一个或者多个,图5中以一个存储装置41为例。该服务器的处理器40、存储装置41、显示屏42、输入装置43、输出装置44以及通信装置45可以通过总线或者其他方式连接,图5中以通过总线连接为例。
具体的,实施例中,处理器40执行存储装置41中存储的一个或多个程序时,可以实现如下操作:当根据关联观众用户的进房反馈信息确定所述关联观众用户进行了保活节点切换时,确定所述关联观众用户的前一关联服务节点,并与所述前一关联服务节点进行信息交互;其中,各保活服务节点在数据层的数据中心内对应存在至少一个有序集合,且所对应各有序集合中以键值对形式记录关联观众用户的在房状态数据。
本发明实施例还提供一种计算机可读存储介质,所述存储介质中的程序由计算机设备的处理器执行时,使得计算机设备能够执行如上述实施例所述的直播保活管理方法。示例性的,上述实施例所述的直播保活管理方法包括:当根据关联观众用户的进房反馈信息确定所述关联观众用户进行了保活节点切换时,确定所述关联观众用户的前一关联服务节点,并与所述前一关联服务节点进行信息交互;其中,各保活服务节点在数据层的数据中心内对应存在至少一个有序集合,且所对应各有序集合中以键值对形式记录关联观众用户的在房状态数据。
需要说明的是,对于装置、计算机设备、存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的直播保活管理方法。
值得注意的是,上述直播保活服务系统中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保活范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保活范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (16)
1.一种直播保活服务系统,其特征在于,包括:保活服务层和数据层;
所述保活服务层包含至少一个保活服务节点,
各所述保活服务节点,用于当根据关联观众用户的进房反馈信息确定所述关联观众用户进行了保活节点切换时,确定所述关联观众用户的前一关联服务节点,并与所述前一关联服务节点进行信息交互;
所述数据层包含数据中心,用于存储各所述保活服务节点分别对应的至少一个有序集合,其中,每个保活服务节点对应的各有序集合中以键值对形式记录关联观众用户的在房状态数据。
2.根据权利要求1所述的系统,其特征在于,
各关联观众用户通过已创建的前端接入进程调度分配至相应的保活服务节点;
各所述保活服务节点与关联观众用户的用户终端建立通信连接。
3.根据权利要求2所述的系统,其特征在于,所述保活服务节点,包括:
信息接收进程,用于接收关联观众用户对应的进房反馈信息,其中,所述进房反馈信息由相应用户终端在关联观众用户成功进入所选定直播间后生成并发送,所述进房反馈信息中携带关联观众用户前一关联服务节点的前一节点标志;
切换确定进程,用于在确定所述前一节点标志不为空且与本节点自身的当前节点标志不同时,确定所述关联观众用户进行了保活节点切换;
交互执行进程,用于在确定所述关联观众用户进行了保活节点切换时,向所述前一节点标志对应的前一关联服务节点发送数据清理请求,以将所述关联观众用户涉及的在房状态数据从所述前一保活服务节点对应的有序集合中清除。
4.根据权利要求1所述的系统,其特征在于,所述保活服务节点,还包括:
响应反馈进程,用于在与所述关联观众用户建立连接后,将本节点自身的当前节点标志封装在关联响应消息中反馈给所述关联观众用户的用户终端,以使用户终端获得当前所关联保活服务节点的节点信息,并在与新的保活服务节点进行关联连接后,将所述节点信息携带在进房反馈信息反馈给所述新的保活服务节点。
5.根据权利要求1所述的系统,其特征在于,所述保活服务节点,还包括:
信息记录进程,用于在与所述关联观众用户建立连接后,基于所接收关联观众用户的进房反馈信息形成初始在房状态数据并进行记录。
6.根据权利要求5所述的系统,其特征在于,所述信息记录进程,具体用于:
在与所述关联观众用户建立连接后,提取所接收进房反馈信息中关联观众用户的用户标识号、所进入直播间的直播间标识号以及直播间进入时间戳;
通过对所述用户标识号的取余操作,从给定的有序集合序列中确定所述关联观众用户对应的目标有序集合;
以所述用户标识号及所述直播间标识号作为关键词,以所述直播间进入时间戳作为关键信息,以键值对形式构成初始在房状态数据并记录在所述目标有序集合中。
7.根据权利要求1所述的系统,其特征在于,所述保活服务节点,还包括:
均衡分配进程以及至少一个保活管理进程;
所述均衡分配进程,用于根据本节点自身所拥有保活管理进程的进程数量以及本节点自身所对应各当前有序集合的集合数量,确定各所述当前有序集合匹配的目标保活管理进程。
8.根据权利要求7所述的系统,其特征在于,所述均衡分配进程,具体用于:
获取本节点自身所拥有保活管理进程的进程数量以及所对应各当前有序集合的集合数量;
如果所述进程数量大于或等于所述集合数量,则随机选取所述集合数量个保活管理进程作为目标保活管理进程分别与各当前有序集合一一对应;
如果所述进程数量小于所述集合数量,则将各所述保活管理进程分别作为目标保活管理进程,并按照进程标号从小到大顺序循环拉取相对应的当前有序集合,直至所述集合数量个当前有序集合均被拉取。
9.根据权利要求7所述的系统,其特征在于,所述均衡分配进程,还用于:
监测到本节点自身所拥有保活管理进程的进程数量发生变化时,重新执行目标保活管理进程与当前有序集合的对应操作。
10.根据权利要求7所述的系统,其特征在于,针对每个目标保活管理进程,所述目标保活管理进程包括:
信息更新子进程,用于接收相对应当前有序集合中观众用户的用户终端发送的在房心跳信息,并基于所述在房心跳信息对相应观众用户在所述当前有序集合中的在房状态数据进行更新;
状态检测子进程,用于以设定检测周期基于所述当前有序集合中各观众用户对应的当前在房状态数据,确定相应观众用户的当前在房状态;
信息处理子进程,用于对当前在房状态为用户掉线离房的离房观众用户进行保活信息处理。
11.根据权利要求10所述的系统,其特征在于,所述信息更新子进程,具体用于:
接收相对应当前有序集合中观众用户的用户终端发送的在房心跳信息;
针对接收到的每个在房心跳信息,确定所述在房心跳信息对应的目标用户标识号以及目标直播间标识号,并提取所包括的心跳时间戳;
基于所述目标用户标识号、目标直播间标识号以及所述心跳时间戳,以键值对形式形成新在房状态数据;
确定所述新在房状态数据对应的目标观众用户,并采用所述新在房状态数据替换所述目标观众用户在所述当前有序集合中对应的在房状态数据。
12.根据权利要求10所述的系统,其特征在于,所述状态检测子进程,具体用于:
在每个设定检测周期中,针对相对应当前有序集合中的每个观众用户,提取所述观众用户对应的当前在房状态数据,并获取所述当前在房状态数据中的时间戳信息;
如果当前检测时刻与所述时间戳信息的差值大于设定时间阈值,则确定所述观众用户的当前在房状态为用户掉线离房。
13.根据权利要求10所述的系统,其特征在于,所述信息处理子进程,具体用于:
针对每个当前在房状态为用户掉线离房的离房观众用户,如果本节点在设定等待时长内接收到其他保活服务节点相对所述离房观众用户发送的数据清理请求,则从相对应当前有序集合中清除所述离房观众用户的在房状态数据;否则,
从相匹配当前有序集合中清除相关在房状态数据,并向所关联其他业务反馈所述离房观众用户的离房通知事件。
14.一种直播保活管理方法,其特征在于,由权利要求1-13任一项所述直播保活服务系统中保活服务节点执行,包括:
当根据关联观众用户的进房反馈信息确定所述关联观众用户进行了保活节点切换时,确定所述关联观众用户的前一关联服务节点,并与所述前一关联服务节点进行信息交互;
其中,各保活服务节点在数据层的数据中心内对应存在至少一个有序集合,且所对应各有序集合中以键值对形式记录关联观众用户的在房状态数据。
15.一种服务器,其特征在于,作为权利要求1-13任一项所述直播保活服务系统中保活服务节点,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器用于执行权利要求14所述直播保活管理方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求14所述的直播保活管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110800707.0A CN113542775B (zh) | 2021-07-15 | 2021-07-15 | 直播保活服务系统、直播保活管理方法、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110800707.0A CN113542775B (zh) | 2021-07-15 | 2021-07-15 | 直播保活服务系统、直播保活管理方法、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113542775A true CN113542775A (zh) | 2021-10-22 |
CN113542775B CN113542775B (zh) | 2023-09-19 |
Family
ID=78099447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110800707.0A Active CN113542775B (zh) | 2021-07-15 | 2021-07-15 | 直播保活服务系统、直播保活管理方法、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113542775B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114245159A (zh) * | 2021-12-10 | 2022-03-25 | 武汉斗鱼鱼乐网络科技有限公司 | 直播平台开关数据推送方法、存储介质、电子设备及系统 |
CN118283355A (zh) * | 2024-05-28 | 2024-07-02 | 广州市千钧网络科技有限公司 | 观众列表管理方法、装置、设备、可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753478A (zh) * | 2008-12-05 | 2010-06-23 | 中国移动通信集团公司 | 一种分布式电子邮件系统及其服务方法 |
CN103001987A (zh) * | 2011-09-16 | 2013-03-27 | 中国移动通信集团公司 | 一种数据处理方法和数据处理节点 |
US20150138948A1 (en) * | 2012-03-27 | 2015-05-21 | Telefonaktiebolaget L M Ericsson (Publ) | Shared Keep-Alive and Failure Detection Mechanism in Distributed Network |
CN106685818A (zh) * | 2016-12-30 | 2017-05-17 | 北京华为数字技术有限公司 | 报文反馈方法及装置 |
CN108924244A (zh) * | 2018-07-24 | 2018-11-30 | 广东神马搜索科技有限公司 | 分布式系统以及用于该系统的流量分配方法和装置 |
CN110120931A (zh) * | 2018-02-06 | 2019-08-13 | 腾讯科技(深圳)有限公司 | 一种信息交互方法、装置及存储介质 |
-
2021
- 2021-07-15 CN CN202110800707.0A patent/CN113542775B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753478A (zh) * | 2008-12-05 | 2010-06-23 | 中国移动通信集团公司 | 一种分布式电子邮件系统及其服务方法 |
CN103001987A (zh) * | 2011-09-16 | 2013-03-27 | 中国移动通信集团公司 | 一种数据处理方法和数据处理节点 |
US20150138948A1 (en) * | 2012-03-27 | 2015-05-21 | Telefonaktiebolaget L M Ericsson (Publ) | Shared Keep-Alive and Failure Detection Mechanism in Distributed Network |
CN106685818A (zh) * | 2016-12-30 | 2017-05-17 | 北京华为数字技术有限公司 | 报文反馈方法及装置 |
CN110120931A (zh) * | 2018-02-06 | 2019-08-13 | 腾讯科技(深圳)有限公司 | 一种信息交互方法、装置及存储介质 |
CN108924244A (zh) * | 2018-07-24 | 2018-11-30 | 广东神马搜索科技有限公司 | 分布式系统以及用于该系统的流量分配方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114245159A (zh) * | 2021-12-10 | 2022-03-25 | 武汉斗鱼鱼乐网络科技有限公司 | 直播平台开关数据推送方法、存储介质、电子设备及系统 |
CN118283355A (zh) * | 2024-05-28 | 2024-07-02 | 广州市千钧网络科技有限公司 | 观众列表管理方法、装置、设备、可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113542775B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112333249B (zh) | 一种业务服务系统及方法 | |
CN107251533B (zh) | 用于对等匹配的位于一处的对等设备 | |
CN113542775A (zh) | 直播保活服务系统、直播保活管理方法、服务器及介质 | |
CN107453929B (zh) | 集群系统自构建方法、装置及集群系统 | |
US20030041138A1 (en) | Cluster membership monitor | |
CN111614748B (zh) | 用于可扩展的对等匹配的设备及方法 | |
US9088477B2 (en) | Distributed fabric management protocol | |
CN112328421B (zh) | 一种系统故障处理方法、装置、计算机设备和存储介质 | |
CN113055461B (zh) | 一种基于ZooKeeper的无人集群分布式协同指挥控制方法 | |
CN107645386B (zh) | 一种获取数据资源的方法和装置 | |
CN108140035B (zh) | 分布式系统的数据库复制方法及装置 | |
US9736235B2 (en) | Computer system, computer, and load balancing method | |
CN113596176A (zh) | 物联网中心节点的自选方法、装置、物联网设备和系统 | |
CN112486707A (zh) | 基于Redis的消息异步消费方法及装置 | |
CN112822528B (zh) | 直播列表服务系统、直播列表管理方法、服务器及介质 | |
CN110083653B (zh) | 一种订单数据的操作方法、装置、计算机设备和存储介质 | |
CN104657240B (zh) | 多内核操作系统的失效控制方法及装置 | |
CN114130035A (zh) | 一种用户匹配方法、装置、设备及存储介质 | |
CN111274022A (zh) | 服务器资源分配方法和系统 | |
CN111741041B (zh) | 消息处理方法及其装置、电子设备及计算机可读介质 | |
CN111050356A (zh) | 数据传输的处理方法及装置、存储介质、电子装置 | |
CN111190707A (zh) | 一种数据处理方法及装置 | |
KR101883671B1 (ko) | 노드 분산 방법 및 이를 수행하는 관리 서버 | |
CN113965538A (zh) | 设备状态消息处理方法、装置及存储介质 | |
CN116055496B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |