CN107438098A - 一种动态内容分发方法及其系统 - Google Patents
一种动态内容分发方法及其系统 Download PDFInfo
- Publication number
- CN107438098A CN107438098A CN201710581695.0A CN201710581695A CN107438098A CN 107438098 A CN107438098 A CN 107438098A CN 201710581695 A CN201710581695 A CN 201710581695A CN 107438098 A CN107438098 A CN 107438098A
- Authority
- CN
- China
- Prior art keywords
- server
- message
- stream
- push
- broadcast message
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/141—Setup of application sessions
-
- 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/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种动态内容分发方法,包括以下步骤:用户端发出访问广播消息流的请求;根据所述请求返回第一消息推送服务器的IP地址供所述用户端访问;所述第一消息推送服务器判断本地是否有所述广播消息流;若有则复用所述广播消息流并将所述广播消息流推送给所述用户端;若无则调用所述第一消息推送服务器以外的本地具有所述广播消息流的其它消息推送服务器。本发明能够有效配置资源,使得多个消息推送服务器之间资源共享,因此可以将数据推送到合适的节点,进而使多个用户端复用这个节点上的数据,提高了用户获取动态内容的效率。
Description
技术领域
本发明涉及网络直播技术领域,特别涉及一种动态内容分发方法及其系统。
背景技术
近些年来,随着互联网技术的发展,网络聊天室直播成为一个热点,促使网络聊天室弹幕也成为一个热点,多个观众登录到同一个网络直播室中发送着不同的弹幕,但是各自却接收着相同的弹幕。
目前,主流网络聊天室的源站弹幕下行流量普遍采用socket长连接。现有常见的聊天室弹幕的分发模式有以下两种:
第一种,源站与每个用户都建立长连接,分别将弹幕内容推流给每个用户,这种方式的缺点是:源站并发量大,带宽占用量大,对源站性能要求极高,而且在闲时资源空闲率高,浪费大;
第二种,有一些弹幕源站与企业云合作,使用企业云提供的边界网关协议(BorderGateway Protocol,BGP)资源做中转,源站将流推至企业云,再由每个用户与企业云建立长连接,这种方式源站只要与企业云的几个BGP节点建立长连接,然后每个BGP节点负责固定的几个网络聊天室的弹幕内容分发,这样可以降低源站的并发量和带宽占用量,减轻源站的压力。但这种分发模式有如下几个缺点:a)使用BGP,价格十分昂贵;b)BGP节点相对固定,一般分布在源站所在地,相当于把源站的压力转移到企业云而已,用户到源站的距离并没有缩短,速度没有提高。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种动态内容分发方法及其系统。所述技术方案如下:
一种动态内容分发方法,包括以下步骤:
用户端发出访问广播消息流的请求;
根据所述请求返回第一消息推送服务器的IP地址供所述用户端访问;
所述第一消息推送服务器判断本地是否有所述广播消息流;
若有则复用所述广播消息流并将所述广播消息流推送给所述用户端;
若无则调用所述第一消息推送服务器以外的本地具有所述广播消息流的其它消息推送服务器。
本发明还提供了一种动态内容分发方法,包括以下步骤:
接收用户端访问广播消息流的请求;根据所述请求,向源站推荐第二消息推送服务器,所述源站向所述第二消息推送服务器提供所述广播消息流;调用所述第二消息推送服务器,以将所述广播消息流推送给所述用户端。
本发明还提供了一种动态内容分发系统,包括:
至少一个第一服务器,所述第一服务器包括与所述源站和/或用户端直接通信的服务器,用于接收源站的所述广播消息流和/或向所述用户端推送所述广播消息流,所述第一服务器定时向所述第二服务器上报资源信息;以及第二服务器,所述第二服务器用于根据所述第一服务器上报的所述资源信息,调用本地具有所述广播消息流的第一服务器,以向所述用户端推送所述广播消息流。
本发明实施例提供的技术方案带来的有益效果是:本发明的动态内容分发系统,具有多个消息推送服务器,即节点,这多个消息推送服务器之间可以相互通信,资源共享;源站根据域名解析服务器的推荐或者自行从IP白名单中选择合适的消息推送服务器,然后向消息推送服务器推送广播消息流,如果直接接收源站推送的广播消息流的消息推送服务器同时与用户端直接连接,则可以直接向用户端推送广播消息流,如果没有直接连接,则通过节点资源共享的方式向用户端间接推送广播消息流。本发明提供的一种动态内容分发方法及其系统,能够有效配置资源,使得多个消息推送服务器之间实现资源共享,因此可以将数据推送到合适的节点,进而使多个用户端复用这个节点上的数据,提高了用户获取动态内容的效率,采用分布式源站的方式进行内容分发,进一步减轻了大并发长连接的动态源站压力,降低了使用BGP资源的成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例中动态内容分发系统的结构示意图;
图2为本发明第一实施例中动态内容分发方法的总流程图;
图3为本发明第一实施例中图2所示步骤S6的详细子步骤流程图;
图4为本发明第一实施例中质量服务器的工作流程图;
图5为本发明第一实施例中消息推送服务器给用户端推流的流程示意图;
图6为本发明第二实施例中动态内容分发系统的结构示意图;
图7为本发明第三实施例中动态内容分发系统的结构示意图;
图8为本发明第四实施例中动态内容分发系统的结构示意图;。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下将对本发明所提供的一种动态内容分发方法进行详细说明。
实施例一
请参阅图1,所示为本发明第一实施例中动态内容分发系统10的结构示意图。
在本实施例中,多个用户端(例如第一用户端、第二用户端、第三用户端和第四用户端等等)通过动态内容分发系统10与源站通讯。
在本实施例中,动态内容分发系统10包括多个消息推送服务器121(122、123和124)、调度服务器13、域名解析服务器11和质量服务器14。
本实施例中,消息推送服务器包括第一消息推送服务器121、第二消息推送服务器122、第三消息推送服务器123和第四消息推送服务器124等等。多个用户端分别通过多个消息推送服务器接收广播消息流,例如接收直播房间的动态内容。
以第一用户端的请求处理过程为例,在用户端设置域名解析服务器11,域名解析服务器11向第一用户端推荐第一消息推送服务器121。第一消息推送服务器121可以是离第一用户端最近的消息推送服务器,或者根据负载均衡原则被推荐至第一用户端。
域名解析服务器11向第一用户端推荐消息推送服务器的具体过程为,解析所述第一用户端请求访问第一直播房间的域名,并根据所述请求返回所述第一消息推送服务器121的IP地址以供所述第一用户端访问。
当第一用户端发出访问广播消息流的请求时,第一消息推送服务器121判断本地是否有广播消息流,若有,则复用广播消息流并将广播消息流推送给第一用户端;若无,第一消息推送服务器121向调度服务器13查询有广播消息流的其它第一服务器,包括第二消息推送服务器122、第三消息推送服务器123和第四消息推送服务器124等,假设第四消息推送服务器124具有广播消息流,则第四消息推送服务器124向第一消息推送服务器121推送的广播消息流,然后第一消息推送服务器121将广播消息流推送给第一用户端。
在本实施例中,分布在全球各地的多个消息推送服务器共同组成加速网络(Application accelerator,APPA),每一个消息推送服务器都是等同的,既可以当做边缘消息推送服务器,也可以作为回源消息推送服务器,其中,本发明的消息推送服务器的作用还包括:从接收源站推流服务器内接收各个广播消息流;根据预装有所述源站的IP白名单列表,对接入消息推送服务器的源站进行管控,防止恶意攻击的IP对消息推送服务器进行推流;从所述源站获取直播房间的状态信息,当直播结束后终止推流,销毁广播消息流;对覆盖区域内的不同用户端进行鉴权和推流。
在本实施例中,通过DNS调度,源站选择与最合适的消息推送服务器(例如第四消息推送服务器124)建立链接,并将源站推流服务器内各个广播消息流推送给最合适的消息推送服务器(例如第四消息推送服务器124),第四消息推送服务124可以是离源站最近的消息推送服务器、或者是根据负载均衡原则被挑选出来的消息推送服务器;或者,可以不借助于域名解析服务器的DNS调度,源站直接从预设白名单中选择合适的消息推送服务器。
质量服务器14,用于定时收集每一个消息推送服务器所上报的自身当前状态信息,例如带宽使用率、连接数和是否故障等信息,并根据收集到的消息推送服务器的自身当前状态信息,判断是否存在故障或者服务跑满的情况,若有则将有故障或者服务跑满的消息推送服务器通知给调度服务器13和域名解析服务器11。
调度服务器13(Message Dispatch Server,MDS),用于定时收集所述多个消息推送服务器各自上报的已有直播房间的信息,其中,
第一消息推送服务器121,判断本地没有所述第一广播消息流时,向调度服务器13查询有所述第一广播消息流的其它消息推送服务器,然后,有所述第一广播消息流的其它消息推送服务器将流推送给第一消息推送服务器121,第一消息推送服务器121将获得的所述第一广播消息流推送给所述第一用户端。即,调度服务网13是用于动态内容分发系统10的资源调配,使得不同的消息推送服务器之间实现资源共享,提高了内容分发的效率。
本发明的实施例中,分别在源站和用户端这两端设置了域名解析服务器11,用于分别为源站和用户端推荐合适的消息推送服务器。当然,不限于此,也可以只在一端设置域名解析服务器11,只要都能够为源站和用户端推荐合适的消息推送服务器即可。
本发明的实施例提供的一种动态内容分发系统10将数据推送到合适的节点,多个用户端复用这个节点上的数据,提高了用户获取动态内容的速度,采用分布式源站的方式进行内容分发,进一步减轻了大并发长连接的动态源站压力,降低了使用BGP资源的成本。
请参阅图2,为本发明第一实施例中动态内容分发方法的总流程图。
在本实施例中,该动态内容分发方法应用于图1中的动态内容分发系统10,其中,所述动态内容分发系统包括多个消息推送服务器(Message Push Server,MPS),例如第一消息推送服务器、第二消息推送服务器、第三消息推送服务器和第四消息推送服务器等等,多个用户端(例如第一用户端、第二用户端、第三用户端、第四用户端等等)分别通过多个消息推送服务器与提供多个直播房间(例如第一直播房间、第二直播房间、第三直播房间等等)动态内容的源站通讯,其中,多个消息推送服务器采用分布式布局且相互之间能相互通讯,并可以分布在全球各个地区,每一个消息推送服务器都是等同的,既可以当做边缘消息推送服务器,也可以作为回源消息推送服务器。
本发明的实施例所提供的动态内容分发方法的步骤如下:
以第一用户端为例,在步骤S1中,用户端发出访问广播消息流的请求。
在步骤S2中,根据所述请求返回一个对应的消息推送服务器,例如第一消息推送服务器121的IP地址供所述用户端访问。在本实施例中,该第一用户端根据该IP地址进行访问,此时的第一消息推送服务器121也可以当作边缘消息推送服务器。
在步骤S3中,第一消息推送服务器121判断本地是否有所述广播消息流。
在步骤S4中,若有则复用所述广播消息流并将所述广播消息流推送给第一用户端。
在本实施例中,源站通过其域名查询DNS,且其域名提前规划了多个消息推送服务器,当源站每次查询DNS时,域名解析服务器11都会从提前规划好的多个消息推送服务器中分配一个消息推送服务器给所述源站推流服务器,所述源站推流服务器将多个广播消息流推送至分配的消息推送服务器中。当然,源站也可以不借助域名解析服务器,而是从预设的白名单列表中选择一个消息推送服务器来推送广播消息流。本实施例中,例如,第四消息推送服务器124与源站通信,接收源站的广播消息流。
步骤S5,若第一消息推送服务器121判断本地没有所述广播消息流,则向调度服务器13查询有所述广播消息流的其它消息推送服务器,例如第四消息推送服务器124。
在本实施例中,调度服务器13与每一个消息推送服务器均通信连接,并收集每一个消息推送服务器所上报的各自已有哪些直播房间的信息,当边缘消息推送服务器(即第一消息推送服务器121)上没有第一用户端所请求的广播消息流时,需要向其它已有所请求的广播消息流的消息推送服务器订阅。
在步骤S6中,有所述广播消息流的其它消息推送服务器,例如第四消息推送服务器124将流推送给所述消息推送服务器;
在步骤S7中,第一消息推送服务器121将获得的所述广播消息流推送给第一用户端。
在本实施例中,所述有广播消息流的其它消息推送服务器将广播消息流推送给第一消息推送服务器121的步骤S6具体包括三个子步骤S61-S63,如图3所示。
请参阅图3,所示为本发明第一实施例中图1所示步骤S6的详细子步骤流程图
在步骤S61中,判断有所述广播消息流的其它消息推送服务器的数量是一个还是多个;
S62,如果是一个,例如只有第四消息推送服务器124有广播消息流,则在步骤S62中,有所述广播消息流的第四消息推送服务器124直接将广播消息流流推送给第一消息推送服务器121;
S63,如果有多个,例如第二消息推送服务器122、第三消息推送服务器123和第四消息推送服务器124都有广播消息流,则在步骤S63中,利用调度服务器13进行调度以选择其中一个消息推送服务器将广播消息流推送给第一消息推送服务器121,其中,调度的方式包括随机选择方式、选择距离最近方式和选择负载均衡方式。
其中,随机选择方式的优点是选择起来简单方便,缺点是消息推送服务器负载不均衡;选择距离最近方式的优点是速度快,缺点是算法复杂且也可能导致负载不均衡,需要根据边缘消息推送服务器的IP情况计算与各个消息推送服务器的距离,进而获取较优的接入点;选择负载均衡方式,即调度服务器每次从有边缘消息推送服务器请求直播房间的多个消息推送服务器中选择当前链接数最少的消息推送服务器给边缘消息推送服务器推送流,这种方式的优点是可以尽可能使每个消息推送服务器负载均衡,缺点是依赖于所述MDS调度服务器收集到的各个消息推送服务器的当前状况。
在本实施例中,所述动态内容分发系统还包括质量服务器(Quality of ServiceSystem,Qoss)14,所述质量服务器14定时收集每一个消息推送服务器所上报的自身当前状态信息(S81),其中,所述动态内容分发方法还包括:
S82,基于收集到的各个消息推送服务器所上报的自身当前状态信息,所述质量服务器判断是否有故障或者服务跑满的消息推送服务器;
S83,若有,则所述质量服务器将有故障或者服务跑满的消息推送服务器通知给调度服务器13和域名解析服务器11。
在本实施例中,质量服务器的工作流程如图4所示,各个消息推送服务器的自身当前状态信息包括是否故障、链接数、宽带使用率等等信息,根据图4的方式能及时发现服务故障的消息推送服务器和服务跑满的消息推送服务器,从而使源站停止对该服务故障的消息推送服务器推流,同时服务故障的消息推送服务器停止作为边缘消息推送服务器覆盖终端用户。
请参阅图5,所示为本发明第一实施例中消息推送服务器给用户端推流的流程示意图。
在本实施例中,所述动态内容分发方法还包括步骤S90-S98。
在步骤S90中,域名解析服务器11向源站推荐合适的消息推送服务器或者源站从预设白名单中自行选择消息推送服务器。消息推送服务器的推荐原理,在上面已经解释过,再次不赘述。
在步骤S91中,所述源站推送广播消息的流给选定的消息推送服务器,并告知每个直播房间的当前状态。
源站将已有的广播消息流推送到消息推送服务器,本实施例中,可以是推送到第四消息推送服务器124。或者广播消息流也可以推送到其它的消息推送服务器,如第一消息推送服务器121、第二消息推送服务器122和第三消息推送服务器123,具体推送方式由实际使用情况决定。
在步骤S92中,与源站直接通信,即被选定的广播消息流的消息推送服务器(例如,第四推送服务器124)判断所述源站的IP是否在预设名单中。
若不在所述预设名单中,则在步骤S93中,第四消息推送服务器124拒绝这个源站推送的流,以防止恶意攻击。
在本实施例中,所述预设名单内预装有源站的IP列表,对接入消息推送服务器的源站进行管控,防止恶意攻击的IP对消息推送服务器进行推流。
若在所述预设名单中,则在步骤S94中,第四消息推送服务器124判断广播消息流是否结束。
若结束,则在步骤S95中,销毁当前直播房间的内容并停止对其它消息推送服务器的推送服务。
在步骤S96中,其它消息推送服务器,例如与用户直接通信的消息推送服务器停止对用户端的推流。
若没有结束,则在步骤S97中,第四消息推送服务器124按照调度服务器13的调度推送不同广播消息流给需要的消息推送服务器,所述需要的消息推送服务器是指与用户端直接通信的消息推送服务器。
在步骤S98中,需要的消息推送服务器将广播消息流推送给用户端。
本发明提供的一种动态内容分发方法将数据推送到合适的节点,多个用户端复用这个节点上的数据,提高了用户获取动态内容的速度,采用分布式源站的方式进行内容分发,进一步减轻了大并发长连接的动态源站压力,降低了使用BGP资源的成本。
实施例二
请参考图6,本发明第二实施例还提出了一种动态内容分发系统10a,主要结构和分发方法与第一实施例的相同,区别在于,调度服务器13a还可以用于根据消息推送服务器上报的资源信息,包括负载情况等,响应用户端的访问请求,向用户端直接返回合适的消息推送服务器的IP地址供用户端访问。所述合适的消息推送服务器可以是负载较少的消息推送服务器。第二实施例中,调度服务器13a取代了为用户端服务的域名解析服务器11的功能。
实施例三
请参考图7,本发明第二实施例还提出了一种动态内容分发系统10b,主要结构和分发方法与第一实施例的相同,区别在于,系统10b中没有质量服务器,调度服务器13b可以具备质量服务器的功能,即,定时收集每一个消息推送服务器所上报的自身当前状态信息,并根据收集到的每一个消息推送服务器的所述自身当前状态信息,判断是否存在故障或者服务跑满的情况,若有则将有故障或者服务跑满的消息推送服务器通知给域名解析服务器和调度服务器或者仅通知给调度服务器。
实施例四
请参考图8,本发明第三实施例还提出了一种动态内容分发系统10c,主要结构和分发方法与第一实施例的相同,区别在于,系统10c中的调度服务器13c可以具备实施例二中的调度服务器13a的功能,并且同时取代实施例一中的质量服务器。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (24)
1.一种动态内容分发方法,其特征在于,包括以下步骤:
用户端发出访问广播消息流的请求;
根据所述请求返回第一消息推送服务器的IP地址供所述用户端访问;
所述第一消息推送服务器判断本地是否有所述广播消息流;
若有则复用所述广播消息流并将所述广播消息流推送给所述用户端;
若无则调用所述第一消息推送服务器以外的本地具有所述广播消息流的其它消息推送服务器。
2.如权利要求1所述的动态内容分发方法,其特征在于,还包括以下步骤:
调度服务器定时收集每一个消息推送服务器各自上报的已有广播消息流的信息,若所述第一消息推送服务器判断本地没有所述广播消息流,则所述第一消息推送服务器向所述调度服务器查询有所述广播消息流的其它消息推送服务器;
有所述广播消息流的其它消息推送服务器将所述广播消息流推送给所述第一消息推送服务器;
所述第一消息推送服务器将获得的所述广播消息流推送给所述用户端。
3.如权利要求2所述的动态内容分发方法,其特征在于,所述有所述广播消息流的其它消息推送服务器将所述广播消息流推送给所述第一消息推送服务器的步骤具体包括:
判断有所述广播消息流的其它消息推送服务器的数量是一个还是多个;
如果是一个,则有所述广播消息流的唯一一个所述其它消息推送服务器直接将所述广播消息流推送给所述第一消息推送服务器;
如果有多个,则利用所述调度服务器进行调度以选择其中一个所述其它消息推送服务器将所述广播消息流推送给所述第一消息推送服务器,其中,调度的方式包括随机选择方式、选择距离最近方式或选择负载均衡方式。
4.如权利要求2所述的动态内容分发方法,其特征在于,还包括以下步骤:
定时收集每一个消息推送服务器所上报的自身当前状态信息,
基于收集到的各个消息推送服务器的所述自身当前状态信息,判断是否有故障或者服务跑满的消息推送服务器;
若有,则将有故障或者服务跑满的消息推送服务器通知给所述调度服务器和/或所述域名解析服务器。
5.如权利要求1所述的动态内容分发方法,其特征在于,所述动态内容分发方法还包括:
源站推送所述广播消息流给消息推送服务器,并告知所述广播消息的当前状态;
所述消息推送服务器判断所述源站的IP是否在预设白名单中,用于判断是否接收所述源站推流服务器推送的流,其中,接收所述源站的所述广播消息流的所述消息推送服务器为所述第一消息推送服务器和/或所述其它消息推送服务器。
6.如权利要求5所述的动态内容分发方法,其特征在于,所述动态内容分发方法还包括:
若在所述预设白名单中,所述消息推送服务器则判断所述广播消息流是否结束;
若结束,则销毁当前广播消息的通道并停止推送服务;
若没有结束,所述消息推送服务器则按照调度服务器的调度继续推送所述广播消息流。
7.一种动态内容分发方法,其特征在于,包括以下步骤:
接收用户端访问广播消息流的请求;
根据所述请求,向源站推荐第二消息推送服务器,所述源站向所述第二消息推送服务器提供所述广播消息流;
调用所述第二消息推送服务器,以将所述广播消息流推送给所述用户端。
8.如权利要求7所述的动态内容分发方法,其特征在于,所述向源站推荐第二消息推送服务器的步骤中,按照就近原则或者负载均衡原则向所述源站推荐所述第二消息推送服务器,或者根据所述请求向源站推荐一个在预装的IP白名单列表中的所述第二消息推送服务器。
9.如权利要求7所述的动态内容分发方法,其特征在于,若所述第二消息推送服务器与所述用户端直接通信,则所述第二消息推送服务器将所述广播消息流推送给所述用户端。
10.如权利要求7所述的动态内容分发方法,其特征在于,若所述第二消息推送服务器没有直接与所述用户端通信,而其它与所述用户端直接通信的消息推送服务器没有所述广播消息流,则采用调度服务器调用所述第二消息推送服务器,将所述第二消息推送服务器上的所述广播消息流推送至所述其它与所述用户端直接通信的消息推送服务器,实现间接推流。
11.如权利要求10所述的动态内容分发方法,其特征在于,所述第二消息推送服务器将所述广播消息流推送至所述其它与所述用户端直接通信的消息推送服务器的步骤具体包括:
判断所述第二消息推送服务器的数量是一个还是多个;
如果是一个,则有所述广播消息流的唯一一个所述第二消息推送服务器直接将流推送给所述其它与所述用户端直接通信的消息推送服务器;
如果有多个,则利用所述调度服务器进行调度以选择其中一个所述第二消息推送服务器将流推送给所述其它与所述用户端直接通信的消息推送服务器,其中,调度的方式包括随机选择方式、选择距离最近方式或选择负载均衡方式。
12.如权利要求7所述的动态内容分发方法,其特征在于,还包括定时收集每一个消息推送服务器所上报的自身当前状态信息的步骤,其中,
基于收集到的各个消息推送服务器的所述自身当前状态信息,判断是否有故障或者服务跑满的情况;
若有,则将有故障或者服务跑满的消息推送服务器通知给所述调度服务器和/或域名解析服务器。
13.如权利要求7所述的动态内容分发方法,其特征在于,所述动态内容分发方法还包括:
所述源站推送各个广播消息流给所述第二消息推送服务器,并告知各个广播消息的当前状态。
14.如权利要求13所述的动态内容分发方法,其特征在于,所述动态内容分发方法还包括:
若在所述预设白名单中,所述第二消息推送服务器进一步判断所述广播消息流是否结束;
若结束,则销毁当前广播消息的通道并停止推送服务;
若没有结束,所述第二消息推送服务器则按照调度服务器的调度继续推送所述广播消息流。
15.一种动态内容分发系统,其特征在于,包括:
至少一个第一服务器,所述第一服务器包括与源站和/或用户端直接通信的服务器,用于接收所述源站的所述广播消息流和/或向所述用户端推送所述广播消息流,所述第一服务器定时向第二服务器上报资源信息;以及
所述第二服务器用于根据所述第一服务器上报的所述资源信息,调用本地具有所述广播消息流的第一服务器,以向所述用户端推送所述广播消息流。
16.如权利要求15所述的动态内容分发系统,其特征在于,还包括第三服务器,所述第三服务器,用于解析所述用户端请求访问所述广播消息流的域名,并根据所述请求返回所述第一服务器的IP地址以供所述用户端访问。
17.如权利要求15或16所述的动态内容分发系统,其特征在于,所述第三服务器还用于根据就近原则或者负载均衡原则向所述源站推荐所述第一服务器,使所述源站向所述第一服务器推送所述广播消息流。
18.如权利要求15或16所述的动态内容分发系统,其特征在于,所述源站从预设的IP白名单中选择合适的所述第一服务器,使所述源站向所述第一服务器推送所述广播消息流。
19.如权利要求15所述的动态内容分发系统,其特征在于,所述第二服务器还用于根据所述第一服务器的所述资源信息,依所述请求返回合适的第一服务器的IP地址以供所述用户端访问。
20.如权利要求15或19所述的动态内容分发系统,其特征在于,所述第一服务器,还用于在判断本地没有所述广播消息流时,向所述第二服务器查询有所述广播消息流的其它第一服务器,并接收所述其它第一服务器的所述广播消息流,然后将所述广播消息流推送给所述用户端。
21.如权利要求15所述的动态内容分发系统,其特征在于,所述动态内容分发系统还包括第四服务器,所述第四服务器用于定时收集每一个第一服务器所上报的自身当前状态信息,并根据收集到的每一个第一服务器的所述自身当前状态信息,判断是否存在故障或者服务跑满的情况,若有则将有故障或者服务跑满的第一服务器通知给所述第二服务器和所述第三服务器。
22.如权利要求15所述的动态内容分发系统,其特征在于,所述第二服务器还用于定时收集每一个第一服务器所上报的自身当前状态信息,并根据收集到的每一个第一服务器的所述自身当前状态信息,判断是否存在故障或者服务跑满的情况,若有则将有故障或者服务跑满的第一服务器通知给所述第三服务器。
23.如权利要求15所述的动态内容分发系统,其特征在于,所述第一服务器还用于判断所述源站的IP是否在预设白名单中,以确定是否接收所述源站推送的流。
24.如权利要求23所述的动态内容分发系统,其特征在于,若在所述预设白名单中,所述第一服务器进一步判断所述广播消息流是否结束;
若结束,则销毁当前广播消息的通道并停止推送服务;
若没有结束,所述第一服务器则按照所述第二服务器的调度推送不同广播消息流给需要的其它第一服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710581695.0A CN107438098B (zh) | 2017-07-17 | 2017-07-17 | 一种动态内容分发方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710581695.0A CN107438098B (zh) | 2017-07-17 | 2017-07-17 | 一种动态内容分发方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107438098A true CN107438098A (zh) | 2017-12-05 |
CN107438098B CN107438098B (zh) | 2020-06-23 |
Family
ID=60460265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710581695.0A Expired - Fee Related CN107438098B (zh) | 2017-07-17 | 2017-07-17 | 一种动态内容分发方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107438098B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108282396A (zh) * | 2018-02-13 | 2018-07-13 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种im集群中的多级消息广播方法及系统 |
CN109144639A (zh) * | 2018-08-07 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 弹幕消息分发方法、装置、设备及存储介质 |
CN111787372A (zh) * | 2020-07-01 | 2020-10-16 | 苏州万店掌网络科技有限公司 | 基于多种条件调度的流媒体分发方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404378A (zh) * | 2010-09-07 | 2012-04-04 | 成都索贝数码科技股份有限公司 | 一种流媒体分发传输网络系统 |
US20120124062A1 (en) * | 2010-11-12 | 2012-05-17 | Microsoft Corporation | Application Transfer Protocol |
CN102932466A (zh) * | 2012-11-07 | 2013-02-13 | 网宿科技股份有限公司 | 基于内容分发网络的分布式源监控方法和系统 |
CN103024082A (zh) * | 2013-01-04 | 2013-04-03 | 福建星网视易信息系统有限公司 | 一种用于数字媒体分发的点对点通信方法 |
CN103139658A (zh) * | 2011-11-29 | 2013-06-05 | 苏州达联信息科技有限公司 | 一种视频直播分发网络的被动式媒体流分发方法 |
CN103685511A (zh) * | 2013-12-13 | 2014-03-26 | 北京奇虎科技有限公司 | 一种数据分发方法、装置及系统 |
-
2017
- 2017-07-17 CN CN201710581695.0A patent/CN107438098B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404378A (zh) * | 2010-09-07 | 2012-04-04 | 成都索贝数码科技股份有限公司 | 一种流媒体分发传输网络系统 |
US20120124062A1 (en) * | 2010-11-12 | 2012-05-17 | Microsoft Corporation | Application Transfer Protocol |
CN103139658A (zh) * | 2011-11-29 | 2013-06-05 | 苏州达联信息科技有限公司 | 一种视频直播分发网络的被动式媒体流分发方法 |
CN102932466A (zh) * | 2012-11-07 | 2013-02-13 | 网宿科技股份有限公司 | 基于内容分发网络的分布式源监控方法和系统 |
CN103024082A (zh) * | 2013-01-04 | 2013-04-03 | 福建星网视易信息系统有限公司 | 一种用于数字媒体分发的点对点通信方法 |
CN103685511A (zh) * | 2013-12-13 | 2014-03-26 | 北京奇虎科技有限公司 | 一种数据分发方法、装置及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108282396A (zh) * | 2018-02-13 | 2018-07-13 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种im集群中的多级消息广播方法及系统 |
CN108282396B (zh) * | 2018-02-13 | 2022-02-22 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种im集群中的多级消息广播方法及系统 |
CN109144639A (zh) * | 2018-08-07 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 弹幕消息分发方法、装置、设备及存储介质 |
CN109144639B (zh) * | 2018-08-07 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 弹幕消息分发方法、装置、设备及存储介质 |
CN111787372A (zh) * | 2020-07-01 | 2020-10-16 | 苏州万店掌网络科技有限公司 | 基于多种条件调度的流媒体分发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107438098B (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2013351670B2 (en) | Business scheduling method and apparatus and convergence device | |
US7548945B2 (en) | System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers | |
RU2405261C2 (ru) | Система обслуживания электронной программы передач, способ формирования и работы этой системы | |
CN101635728B (zh) | 内容分发网络中数据同步的方法及系统 | |
EP1704686B1 (en) | Directed pppoe session initiation over a switched ethernet | |
CN102387222B (zh) | 地址分配方法、装置及系统 | |
CN102025630A (zh) | 负载均衡方法及负载均衡系统 | |
US20120331164A1 (en) | Load sharing method, system and access server | |
CN111083718A (zh) | 一种会话管理方法、网络功能及网络系统 | |
CN103825975A (zh) | Cdn节点分配服务器及系统 | |
CN102035828A (zh) | 使用家庭通信网络中的节点的方法 | |
CN110417676A (zh) | 一种调度方法、装置和调度网络 | |
US20200021859A1 (en) | Multicast implementation method and related network device | |
EP3331247A1 (en) | Multi-screen control method and device | |
CN113259423B (zh) | P2p系统中客户端联网访问的方法及装置 | |
CN107438098A (zh) | 一种动态内容分发方法及其系统 | |
CN104580016A (zh) | 节点分配方法、装置及系统 | |
CN101662508A (zh) | 基于点对点协议数据传输的方法、装置和系统 | |
CN106790502B (zh) | 一种基于NAT64前缀的IPv4终端、IPv6服务互通业务的负载均衡系统 | |
CN113810509A (zh) | 用于使用网络业务比较来重新配置网络的系统和方法 | |
CN111757389B (zh) | 一种通信装置和方法 | |
CN103141072B (zh) | Ip地址获取方法及网络接入设备 | |
CN111737029A (zh) | 一种服务端、数据推送方法、数据推送系统 | |
CN103414800A (zh) | 一种nat穿越中分布式中继服务器的分配和选择方法及系统 | |
US20190036793A1 (en) | Network service implementation method, service controller, and communications system |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200623 |
|
CF01 | Termination of patent right due to non-payment of annual fee |