CN110460482B - 流量获取方法、装置、服务器及介质 - Google Patents
流量获取方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN110460482B CN110460482B CN201910895130.9A CN201910895130A CN110460482B CN 110460482 B CN110460482 B CN 110460482B CN 201910895130 A CN201910895130 A CN 201910895130A CN 110460482 B CN110460482 B CN 110460482B
- Authority
- CN
- China
- Prior art keywords
- area
- flow
- node
- traffic
- secondary 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.)
- Active
Links
Images
Classifications
-
- 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
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- 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/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流量获取方法、装置、服务器及介质,属于网络技术领域。所述方法包括:当第一区域的一级节点发生故障时,与第一区域内二级节点之外的其他二级节点建立连接,每个区域的一级节点用于与其他区域的一级节点进行数据通信,二级节点为一级节点下一级具有推流和拉流功能的节点;获取第一区域的流量获取请求;当流量获取请求的流量被第一区域的目标二级节点获取过时,从目标二级节点中,获取流量。本发明在一个区域的一级节点发生故障时,需要获取该区域外的流量时,如果该区域中某个二级节点已经获取过该流量,则可以直接从该获取过的二级节点处获取该流量,而无需重新去区域外获取,从而可以避免多路拉流的问题,提高流量获取效率。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种流量获取方法、装置、服务器及介质。
背景技术
流媒体技术是通过互联网协议(Internet Protocol,IP)网络传送音视频数据流文件的技术,当前流媒体服务系统一般采用分布式流媒体体系结构,该体系架构划分有多个区域,每个区域中有一个一级节点,一级节点下有至少一个二级节点,每个二级节点下还有至少一个三级节点。该体系架构依赖一级节点来实现跨区域流量的汇聚与转发,二级节点从一级节点查询并获取流量,三级节点从二级节点获取流量。在一级节点发生故障时,有多种容灾方法来保证体系结构的功能。
目前,常用的容灾方法是在某个区域的一级节点故障时,将故障区域的至少一个二级节点指向其他正常区域的一级节点,该故障区域的至少一个二级节点从该正常区域的一级节点查询并获取流量。
上述方法中,在故障区域多个二级节点查询同路流量时,该多个二级节点会跨区域从同一个正常区域的一级节点获取同路流量,这会造成跨区域带宽压力以及故障区域流量冗余,也会影响该正常区域的一级节点服务。
发明内容
本发明实施例提供了一种流量获取方法、装置、服务器及介质,可以解决相关技术中流量获取效率低的问题。所述技术方案如下:
一方面,提供了一种流量获取方法,应用于分布式系统中第一区域的二级节点,该方法包括:
当该第一区域的一级节点发生故障时,与该第一区域内该二级节点之外的其他二级节点建立连接,每个区域的该一级节点用于与其他区域的一级节点进行数据通信,该二级节点为该一级节点下一级具有推流和拉流功能的节点;
获取该第一区域的流量获取请求;
当该流量获取请求对应的流量被该第一区域的目标二级节点获取过时,从该目标二级节点中,获取该流量。
可选地,该方法还包括:
当该流量获取请求对应的流量没有被该第一区域的任一二级节点获取过时,根据该流量对应的二级节点所在的第二区域中一级节点的工作状态,从该第二区域的一级节点或该流量对应的二级节点中,获取该流量。
可选地,该根据该流量对应的二级节点所在的第二区域中一级节点的工作状态,从该第二区域的一级节点或该流量对应的二级节点中,获取该流量,包括:
当该第二区域的该一级节点故障时,从该流量对应的二级节点中,获取该流量;
当该第二区域的该一级节点正常时,从该一级节点中,获取该流量。
可选地,该当该第二区域的该一级节点故障时,从该流量对应的二级节点中,获取该流量,包括:
当该第二区域的该一级节点故障时,获取该第二区域的推流信息和该第一区域的拉流信息,该推流信息包括各流量所在地址信息,该拉流信息包括该第一区域任一二级节点获取流量的信息;
根据该推流信息和该拉流信息,确定该流量对应的二级节点;
从该流量对应的二级节点中,获取该流量。
可选地,该根据该推流信息和该拉流信息,确定该流量对应的二级节点,包括:
基于该流量获取请求和该第一区域的拉流信息,获取该流量获取请求对应的流量被该第一区域的该二级节点的获取情况;
当该流量获取请求对应的流量没有被该第一区域的任一二级节点获取,根据该推流信息,确定该流量对应的二级节点。
可选地,该方法还包括:
当存在至少一个该一级节点正常的区域时,确定任一至少一个该一级节点正常的区域为目标区域,变更查询源为该目标区域的该一级节点,与该目标区域的该一级节点建立连接,该查询源为对获取到的流量获取请求进行查询的节点。
可选地,该获取流量获取请求之后,该方法还包括:
查询该目标区域的该一级节点,获取该流量的获取地址;
根据该获取地址,获取该流量。
可选地,该确定任一至少一个该一级节点正常的区域为目标区域,包括:
根据到该至少一个正常的该一级节点中每个该一级节点的往返时间,确定该往返时间最小的该一级节点所属的区域为该目标区域。
可选地,该方法还包括:
当该流量获取请求的流量所在区域与该第一区域不同时,执行该当该流量获取请求的流量被该第一区域的目标二级节点获取过时,从该目标二级节点中,获取该流量的步骤;
当该流量获取请求的流量所在区域为该第一区域时,从该流量对应的二级节点中,获取该流量。
一方面,提供了一种流量获取装置,应用于分布式系统中第一区域的二级节点,该装置包括:
连接模块,用于当该第一区域的一级节点发生故障时,与该第一区域内该二级节点之外的其他二级节点建立连接,每个区域的该一级节点用于与其他区域的一级节点进行数据通信,该二级节点为该一级节点下一级具有推流和拉流功能的节点;
获取模块,用于获取该第一区域的流量获取请求;
该获取模块还用于当该流量获取请求对应的流量被该第一区域的目标二级节点获取过时,从该目标二级节点中,获取该流量。
可选地,该获取模块还用于:
当该流量获取请求对应的流量没有被该第一区域的任一二级节点获取过时,根据该流量对应的二级节点所在的第二区域中一级节点的工作状态,从该第二区域的一级节点或该流量对应的二级节点中,获取该流量。
可选地,该获取模块用于:
当该第二区域的该一级节点故障时,从该流量对应的二级节点中,获取该流量;
当该第二区域的该一级节点正常时,从该一级节点中,获取该流量。
可选地,该获取模块还用于
当该第二区域的该一级节点故障时,获取该第二区域的推流信息和该第一区域的拉流信息,该推流信息包括各流量所在地址信息,该拉流信息包括该第一区域任一二级节点获取流量的信息;
根据该推流信息和该拉流信息,确定该流量对应的二级节点;
从该流量对应的二级节点中,获取该流量。
可选地,该获取模块还用于:
基于该流量获取请求和该第一区域的拉流信息,获取该流量获取请求对应的流量被该第一区域的该二级节点的获取情况;
当该流量获取请求对应的流量没有被该第一区域的任一二级节点获取,根据该推流信息,确定该流量对应的二级节点。
可选地,该连接模块还用于当存在至少一个该一级节点正常的区域时,确定任一至少一个该一级节点正常的区域为目标区域,变更查询源为该目标区域的该一级节点,与该目标区域的该一级节点建立连接,该查询源为对获取到的流量获取请求进行查询的节点。
可选地,该获取模块还用于:
查询该目标区域的该一级节点,获取该流量的获取地址;
根据该获取地址,获取该流量。
可选地,该装置还包括:
确定模块,用于根据到该至少一个正常的该一级节点中每个该一级节点的往返时间,确定该往返时间最小的该一级节点所属的区域为该目标区域。
可选地,该获取模块还用于:
当该流量获取请求的流量所在区域与该第一区域不同时,执行该当该流量获取请求的流量被该第一区域的目标二级节点获取过时,从该目标二级节点中,获取该流量的步骤;
当该流量获取请求的流量所在区域为该第一区域时,从该流量对应的二级节点中,获取该流量。
一方面,提供了一种服务器,该服务器包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条指令,该指令由该一个或多个处理器加载并执行以实现该流量获取方法所执行的操作。
一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令,该指令由处理器加载并执行以实现该流量获取方法所执行的操作。
本发明在一个区域的一级节点发生故障时,需要获取该区域外的流量时,如果该区域中某个二级节点已经获取过该流量,则可以直接从该获取过的二级节点处获取该流量,而无需重新去区域外获取,从而可以避免多路拉流的问题,提高流量获取效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种流量获取方法流程图;
图2是本发明实施例提供的一种流量获取方法流程图;
图3是本发明实施例提供的一种流量获取方法流程图;
图4是本发明实施例提供的一种流量获取方法流程图;
图5是本发明实施例提供的一种多区域分布式流媒体架构示意图;
图6是本发明实施例提供的一种流量获取装置结构示意图;
图7是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种流量获取方法流程图,参见图1,该方法应用于分布式系统中第一区域的二级节点,包括:
101、当该第一区域的一级节点发生故障时,与该第一区域内该二级节点之外的其他二级节点建立连接,每个区域的该一级节点用于与其他区域的一级节点进行数据通信,该二级节点为该一级节点下一级具有推流和拉流功能的节点。
102、获取该第一区域的流量获取请求。
103、当该流量获取请求对应的流量被该第一区域的目标二级节点获取过时,从该目标二级节点中,获取该流量。
可选地,该方法还包括:
当该流量获取请求对应的流量没有被该第一区域的任一二级节点获取过时,根据该流量对应的二级节点所在的第二区域中一级节点的工作状态,从该第二区域的一级节点或该流量对应的二级节点中,获取该流量。
可选地,该根据该流量对应的二级节点所在的第二区域中一级节点的工作状态,从该第二区域的一级节点或该流量对应的二级节点中,获取该流量,包括:
当该第二区域的该一级节点故障时,从该流量对应的二级节点中,获取该流量;
当该第二区域的该一级节点正常时,从该一级节点中,获取该流量。
可选地,该当该第二区域的该一级节点故障时,从该流量对应的二级节点中,获取该流量,包括:
当该第二区域的该一级节点故障时,获取该第二区域的推流信息和该第一区域的拉流信息,该推流信息包括各流量所在地址信息,该拉流信息包括该第一区域任一二级节点获取流量的信息;
根据该推流信息和该拉流信息,确定该流量对应的二级节点;
从该流量对应的二级节点中,获取该流量。
可选地,该根据该推流信息和该拉流信息,确定该流量对应的二级节点,包括:
基于该流量获取请求和该第一区域的拉流信息,获取该流量获取请求对应的流量被该第一区域的该二级节点的获取情况;
当该流量获取请求对应的流量没有被该第一区域的任一二级节点获取,根据该推流信息,确定该流量对应的二级节点。
可选地,该方法还包括:
当存在至少一个该一级节点正常的区域时,确定任一至少一个该一级节点正常的区域为目标区域,变更查询源为该目标区域的该一级节点,与该目标区域的该一级节点建立连接,该查询源为对获取到的流量获取请求进行查询的节点。
可选地,该获取流量获取请求之后,该方法还包括:
查询该目标区域的该一级节点,获取该流量的获取地址;
根据该获取地址,获取该流量。
可选地,该确定任一至少一个该一级节点正常的区域为目标区域,包括:
根据到该至少一个正常的该一级节点中每个该一级节点的往返时间,确定该往返时间最小的该一级节点所属的区域为该目标区域。
可选地,该方法还包括:
当该流量获取请求的流量所在区域与该第一区域不同时,执行该当该流量获取请求的流量被该第一区域的目标二级节点获取过时,从该目标二级节点中,获取该流量的步骤;
当该流量获取请求的流量所在区域为该第一区域时,从该流量对应的二级节点中,获取该流量。
本发明在一个区域的一级节点发生故障时,需要获取该区域外的流量时,如果该区域中某个二级节点已经获取过该流量,则可以直接从该获取过的二级节点处获取该流量,而无需重新去区域外获取,从而可以避免多路拉流的问题,提高流量获取效率。
图2是本发明实施例提供的一种流量获取方法流程图,该方法应用于分布式系统中第一区域的二级节点,参见图2,该方法包括:
201、当第一区域的一级节点发生故障时,二级节点与该第一区域内该二级节点之外的其他二级节点建立连接。
在一种可能实现方式中,该一级节点为多区域分布式流媒体进行跨区域流量的汇聚与转发的节点,该二级节点为该一级节点下一级的节点。该多区域分布式流媒体可以划分有多个区域,每个区域可以有一个一级节点,各个区域的一级节点相互连接。
每个一级节点下可以有至少一个二级节点,该至少一个二级节点可以从所属的一级节点获取流量,该至少一个二级节点可以用于主播推流节点。每个二级节点下还可以有至少一个三级节点,该至少一个三级节点可以从所属的二级节点进行拉流,该至少一个三级节点可以用于观众接入。在一种具体实施方式中,该一级节点可以为中继机房,该二级节点可以为专线机房,该三级节点可以为边缘机房。
在所在区域的一级节点故障时,该区域的二级节点可以通过两两相连建立连接。这样二级节点之间可以通过该连接传输流量。如果某个二级节点中存在另一个二级节点所需的流量,该另一个二级节点则可以从该某个二级节点中获取该流量。
202、该二级节点获取该第一区域的流量获取请求。
该流量获取请求可以由该二级节点对应的三级节点发送至该二级节点,以请求该二级节点进行拉流。
203、当该流量获取请求对应的流量被该第一区域的目标二级节点获取过时,该二级节点从该目标二级节点中,获取该流量。
该第一区域中的一级节点出现故障,而该二级节点需要获取流量,则可以通过建立好的连接,从该目标二级节点获取流量。
在一种可能实现方式中,该步骤203可以为下述情况:该二级节点获取的该流量获取请求对应的流量已经被该第一区域中至少一个二级节点获取过,且该流量对应的二级节点所在区域不是该第一区域,该二级节点可以确定该至少一个二级节点中的任一二级节点为目标二级节点,从该目标二级节点获取该流量。在一种可能实现方式中,该二级节点还可以确定该至少一个二级节点中首个获取该流量的二级节点即为该目标二级节点,从该目标二级节点获取该流量。本发明实施例对此不进行限定。
该第一区域的一级节点发生故障时,其他区域的一级节点情况可以不同,对应的,该步骤可以不同。比如,包括全部故障和至少一个正常的情况。在一种可能实现方式中,该过程可以为下述方式一至方式二中的任一项:
方式一、当存在至少一个该一级节点正常的区域时,该二级节点可以确定任一至少一个该一级节点正常的区域为目标区域,变更查询源为该目标区域的该一级节点,与该目标区域的该一级节点建立连接,该查询源为对获取到的流量获取请求进行查询的节点。
在这种方式中,获取流量的方式可以为:该二级节点可以在获取流量获取请求之后,查询该目标区域的该一级节点,获取该流量获取请求对应的流量的获取地址,根据该获取地址,获取该流量。
例如,该二级节点在获取流量获取请求之后,查询该目标区域的该一级节点,该流量对应的二级节点所在区域不是该第一区域,且该二级节点获取的该流量获取请求对应的流量已经被该第一区域中至少一个二级节点获取过。该目标区域的该一级节点可以根据该流量名称和所在区域,缓存有该至少一个二级节点中首个获取该流量的二级节点,也即是该目标二级节点。该二级节点向该目标区域的该一级节点查询时,该一级节点可以根据上述缓存的内容,将该目标二级节点的地址发送给该二级节点,该二级节点根据该地址,从该目标二级节点中获取该流量。
方式二、当所有区域的一级节点均发生故障时,任一区域的任一二级节点都有全部区域的推流信息和本区域的拉流信息,该二级节点可以向该第一区域内的任一二级节点进行查询。该二级节点获取的该流量获取请求对应的流量已经被该第一区域中至少一个二级节点获取过,该二级节点可以向该第一区域内的任一二级节点进行查询,根据该推流信息,获取该目标二级节点的地址,根据该地址,从该目标二级节点处获取该流量。其中,该推流信息包括各流量所在地址信息,该拉流信息包括该第一区域任一二级节点获取流量的信息
204、当该流量获取请求对应的流量没有被该第一区域的任一二级节点获取过时,该二级节点根据该流量对应的二级节点所在的第二区域中一级节点的工作状态,从该第二区域的一级节点或该流量对应的二级节点中,获取该流量。
该第二区域的该一级节点的工作状态可以包括故障和正常,针对该两种工作状态,该步骤204可以不同。
情况一中,当该第二区域的该一级节点故障时,二级节点从该流量对应的二级节点中,获取该流量。
情况二中,当该第二区域的该一级节点正常时,二级节点从该一级节点中,获取该流量。
针对上述情况一,当该第二区域的该一级节点故障时,二级节点可以获取该第二区域的推流信息和该第一区域的拉流信息,该推流信息包括各流量所在地址信息,该拉流信息包括该第一区域任一二级节点获取流量的信息。
该情况一还可以分为两种情况:该分布式系统的所有区域均发生故障和存在至少一个该一级节点正常的区域。
该二级节点可以与第一区域的其他二级节点都建立了连接,该二级节点可以通过该第一区域内各个二级节点的拉流信息相互扩散,获取该拉流信息,实现信息同步。
在分布式系统的所有区域均发生故障时,对于任一区域,该区域的至少一个二级节点可以和其他区域的至少一个二级节点建立连接,该区域内各个二级节点可以通过推流信息相互扩散,获得该区域的推流信息,然后该通过该连接,进行区域间的推流信息扩散,该区域的至少一个二级节点获得其他区域的推流信息,再通过该区域内二级节点的连接,扩散至该区域的所有二级节点,该二级节点得到所有区域的推流信息。
在该二级节点发出查询时,根据该推流信息获取该查询对应的流量所在的二级节点,将该对应的流量所在的二级节点作为查询源,可以由该对应的流量所在的二级节点返回该查询对应的流量的地址,也即是该二级节点通过查询该对应的流量所在的二级节点获取返回地址,根据该返回地址,该二级节点从该对应的流量所在的二级节点获取该查询对应的流量。
在一种可能实现方式中,该二级节点从该对应的流量所在的二级节点获取该查询对应的流量后,可以同步该获取的流量的相关信息至该区域的任一二级节点。也即是将该二级节点的拉流信息同步到该区域的所有二级节点,该区域其他二级节点发起查询对应的流量与该查询对应的流量相同时,发起查询的该区域其他二级节点可以根据该拉流信息,从该二级节点获取该流量。因此发起查询的该区域其他二级节点可以共享一份从该目标二级节点获取的流量,实现一份流量在该区域内的共享,可以避免跨区域获取多条相同流量,还可以避免该区域内部流量冗余。
在存在至少一个该一级节点正常的区域时,该二级节点从至少一个该一级节点正常的区域中任一区域的一级节点接收该二级节点任一流量获取请求对应流量的的获取地址,根据该获取地址,获取该流量。
在一种可能实现方式中,在存在至少一个该一级节点正常的区域时,而该二级节点所在区域的一级节点发生故障时,该二级节点可以确定任一至少一个该一级节点正常的区域为目标区域,变更查询源为该目标区域的该一级节点,与该目标区域的该一级节点建立连接,该二级节点可以将查询源由发生故障的一级节点变更至该目标区域的该一级节点,该二级节点可以向该目标区域的该一级节点发出查询。
各区域的一级节点可以有所有区域的推流信息,该推流信息可以包括所有区域的主播推流源及对应的主播推流源地址,也即是各流量所在地址信息。
在一种可能实现方式中,该二级节点可以根据到该至少一个正常的该一级节点中每个该一级节点的往返时间(Round-Trip Time,RTT),确定该往返时间最小的该一级节点为该目标一级节点。
该往返时间表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认,不包含数据传输时间)总共经历的时间。多区域分布式流媒体中可以有多个区域,该第一区域的一级节点故障时,可能有多个其他区域的该一级节点正常,该二级节点确定该往返时间最小的该一级节点所在区域为目标区域,也即是选择从发出查询到得到查询结果时间最小的该一级节点所在区域为目标区域,可以缩短该二级节点的查询时间,减少因更换查询点而对用户造成的影响。
在一种可能实现方式中,该目标区域的该一级节点可以按该流量名称和该区域缓存该二级节点,该第一区域的任一其他二级节点向该目标区域的该一级节点查询时,且查询的流量与该二级节点获取的该流量相同时,该一级节点可以将该二级节点的地址发送给该任一其他二级节点,该任一其他二级节点从该二级节点获取该流量。
需要说明的是,上述过程可以为针对一份流量所执行的操作,对于不同份的流量,该目标区域的该一级节点可以缓存相同的或不同的二级节点,该目标区域的该一级节点可以缓存首次查询这一份流量的二级节点和这一份流量的名称。
当该流量获取请求的流量所在区域与该第一区域不同时,执行该当该流量获取请求的流量被该第一区域的目标二级节点获取过时,从该目标二级节点中,获取该流量的步骤。
在一种可能实现方式中,上述步骤203还可以在该流量获取请求的流量在该第一区域内时执行,具体地,当该流量获取请求的流量所在区域与该第一区域相同时,二级节点执行该当该流量获取请求的流量被该第一区域的目标二级节点获取过时,从该目标二级节点中,获取该流量的步骤。
在这种方式中,还可以包括:当该流量获取请求的流量所在区域为该第一区域时,二级节点从该流量对应的二级节点中,获取该流量。
在这种方式中,根据该其他区域的一级节点的工作状态不同,还可以包括两种情况:
当该其他区域的该一级节点至少一个正常时,该二级节点向至少一个正常的该其他区域的该一级节点查询,该一级节点可以根据该查询获取该查询对应的流量的地址,将该地址发送给该二级节点,该二级节点根据该地址从该查询的流量对应的二级节点获取该流量。
当该其他区域的该一级节点全部故障时,该区域每个二级节点都有所有区域的推流信息,当该二级节点获取的流量获取请求对应的流量所在区域与该第一区域相同时,由于该二级节点有该推流信息,根据该推流信息,该二级节点可以获取该流量对应的拉流地址,由于该流量所在区域与该区域相同,该拉流地址在该区域内,该二级节点根据该拉流地址,直接从该拉流地址获取该流量,也即是从该流量对应的二级节点获取该流量。
本发明在一个区域的一级节点发生故障时,需要获取该区域外的流量时,如果该区域中某个二级节点已经获取过该流量,则可以直接从该获取过的二级节点处获取该流量,而无需重新去区域外获取,从而可以避免多路拉流的问题,提高流量获取效率。
在一个具体示例中,基于上述流量获取方法在具体实现中可以有多种具体实现方式,下面提供一个流量获取方法的具体应用实例,图3是本发明实施例提供的一种流量获取方法流程图,参见图3。
图3可以分为两部分,区域301和区域302,每个区域包括三个层级,第一层为中继机房,是区域内的中心数据节点和数据汇聚中转节点,也即是上述实施例中的一级节点。第二层为专线机房,是中继机房的下级机房,可以从中继机房获取流量,通常用作主播推流节点,也即是上述实施例中的二级节点。第三层为边缘机房,可以从专线机房获取流量,常用于观众接入,也即是上述实施例中的三级节点。
在该具体实例中,仅区域302的中继机房存在故障,失去流量中转能力,区域302中各专线机房可以通过隧道(tunnel)链路与区域301的中继机房建立连接,各专线机房之间也可以通过隧道(tunnel)链路建立连接。区域302内各个专线机房建立连接后,区域302内各个专线机房可以和区域301中的中继机房建立连接,并将查询点由原来区域302内的中继机房更换为区域301中的中继机房。
区域301中有专线机房存在主播推流点,当区域302中首次有边缘机房对该主播推流点进行查询时,也即是边缘机房3021,该边缘机房3021可以向该边缘机房的上级专线机房3022进行查询,该专线机房3022向区域301中的中继机房发出查询,该中继机房获取到该查询后可以根据该查询,得到该查询对应的该主播推流点对应的专线机房3011的地址,并将该地址返回该专线机房3022,该专线机房3022可以根据该地址从该中继机房跨区域获取流量,该边缘机房3021可以从该专线机房3022获取该流量。
该专线机房3022从该中继机房获取流量后,区域302内的边缘机房3023对该主播推流点进行查询时,该边缘机房3023可以向该边缘机房的上级专线机房3024进行查询,该专线机房3024向区域301中的中继机房发出查询,该中继机房获取到该查询后可以根据该查询,得到该查询对应的该主播推流点对应的专线机房3011的地址,并将该地址返回该专线机房3022,该专线机房3022可以根据该地址得知已经获取过该流量,该专线机房3024可以直接从该专线机房3022获取该流量,该边缘机房3023可以从该专线机房3024获取该流量。
图4是本发明实施例提供的一种流量获取方法流程图,参见图4。
在该具体实例中,区域401和区域402的中继机房都存在故障,失去流量中转能力,各区域内专线机房与其他区域的中继机房无法建立连接,但各专线机房之间可以通过隧道(tunnel)链路建立连接,区域内各个专线机房建立连接后,各个专线机房可以进行上述该二级节点获取所有区域的推流信息和获取该区域的拉流信息的步骤,得到区域401和区域402的推流信息和各专线机房所属区域的拉流信息。
区域401中专线机房4011存在主播推流点,当该区域401中边缘机房4013有用户对该主播推流点进行查询时,可以将该边缘机房的上级专线机房4012作为查询点,根据该专线机房4012中的推流信息,得到该查询对应的地址,该专线机房4012可以根据该地址从该专线机房4011获取流量,该边缘机房可以从该专线机房4012获取该流量。
当区域402中首次有边缘机房对该主播推流点进行查询时,也即是边缘机房4021,该边缘机房4021可以向上一级的专线机房4022发出查询,该专线机房4022获取到该查询后可以根据该推流信息,得到该查询对应的该主播推流点对应的专线机房4011并将该专线机房4011作为查询点,由被查询的专线机房4011返回该主播推流点的地址,该专线机房4022可以根据该地址从专线机房4011获取流量,该边缘机房4021可以从该专线机房4022获取该流量。
该专线机房4022从专线机房4011获取流量后,还可以将获取该流量的相关信息同步到该区域402的其他二级节点,当区域402中边缘机房4023对该主播推流点进行查询时,该边缘机房4023可以向上一级的专线机房4024发出查询,该专线机房4024获取到该查询后可以根据拉流信息,获知该专线机房4022已经获取过该流量,可以直接从该专线机房4022获取该流量,该边缘机房4023可以从该专线机房4024获取该流量。
图5是本发明实施例提供的一种多区域分布式流媒体架构示意图,参见图5。
该流媒体多区域分布式架构划分有三个区域,每个区域有一个中继机房,各区域通过中继机房相互连接,通过每个区域的中继机房互相获取流量,可以实现跨区域流量的汇聚与转发。每个中继机房下有两个专线机房,该专线机房可以从该专线机房的上一级中继机房获取流量,该专线机房可以作为主播推流节点。每个专线机房下有两个边缘机房,该边缘机房可以从该边缘机房的上一级专线机房获取流量。
每个中继机房下可以有多个专线机房,每个专线机房下可以有多个边缘机房,图5仅为流媒体多区域分布式架构示意图的一个举例,本发明实施例对此不进行限定。
图6是本发明实施例提供的一种流量获取装置结构示意图,参见图6,该装置包括:
连接模块601,用于当该第一区域的一级节点发生故障时,与该第一区域内该二级节点之外的其他二级节点建立连接,每个区域的该一级节点用于与其他区域的一级节点进行数据通信,该二级节点为该一级节点下一级具有推流和拉流功能的节点;
获取模块602,用于获取该第一区域的流量获取请求;
该获取模块602还用于当该流量获取请求对应的流量被该第一区域的目标二级节点获取过时,从该目标二级节点中,获取该流量。
可选地,该获取模块还用于:
当该流量获取请求对应的流量没有被该第一区域的任一二级节点获取过时,根据该流量对应的二级节点所在的第二区域中一级节点的工作状态,从该第二区域的一级节点或该流量对应的二级节点中,获取该流量。
可选地,该获取模块用于:
当该第二区域的该一级节点故障时,从该流量对应的二级节点中,获取该流量;
当该第二区域的该一级节点正常时,从该一级节点中,获取该流量。
可选地,该获取模块还用于
当该第二区域的该一级节点故障时,获取该第二区域的推流信息和该第一区域的拉流信息,该推流信息包括各流量所在地址信息,该拉流信息包括该第一区域任一二级节点获取流量的信息;
根据该推流信息和该拉流信息,确定该流量对应的二级节点;
从该流量对应的二级节点中,获取该流量。
可选地,该获取模块还用于:
基于该流量获取请求和该第一区域的拉流信息,获取该流量获取请求对应的流量被该第一区域的该二级节点的获取情况;
当该流量获取请求对应的流量没有被该第一区域的任一二级节点获取,根据该推流信息,确定该流量对应的二级节点。
可选地,该连接模块还用于当存在至少一个该一级节点正常的区域时,确定任一至少一个该一级节点正常的区域为目标区域,变更查询源为该目标区域的该一级节点,与该目标区域的该一级节点建立连接,该查询源为对获取到的流量获取请求进行查询的节点。
可选地,该获取模块还用于:
查询该目标区域的该一级节点,获取该流量的获取地址;
根据该获取地址,获取该流量。
可选地,该装置还包括:
确定模块,用于根据到该至少一个正常的该一级节点中每个该一级节点的往返时间,确定该往返时间最小的该一级节点所属的区域为该目标区域。
可选地,该获取模块还用于:
当该流量获取请求的流量所在区域与该第一区域不同时,执行该当该流量获取请求的流量被该第一区域的目标二级节点获取过时,从该目标二级节点中,获取该流量的步骤;
当该流量获取请求的流量所在区域为该第一区域时,从该流量对应的二级节点中,获取该流量。
本发明在一个区域的一级节点发生故障时,需要获取该区域外的流量时,如果该区域中某个二级节点已经获取过该流量,则可以直接从该获取过的二级节点处获取该流量,而无需重新去区域外获取,从而可以避免多路拉流的问题,提高流量获取效率。
需要说明的是:上述实施例提供的流量获取装置在流量获取时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的流量获取装置与流量获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图7是本发明实施例提供的一种服务器的结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,CPU)701和一个或多个的存储器702,其中,该一个或多个存储器702中存储有至少一条指令,该至少一条指令由该一个或多个处理器701加载并执行以实现上述各个方法实施例提供的流量获取方法。当然,该服务器700还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器700还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成上述实施例中的流量获取方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种流量获取方法,其特征在于,应用于分布式系统中第一区域的二级节点,所述方法包括:
当所述第一区域的一级节点发生故障时,与所述第一区域内所述二级节点之外的其他二级节点建立连接,每个区域的所述一级节点用于与其他区域的一级节点进行数据通信,所述二级节点为所述一级节点下一级具有推流和拉流功能的节点;
获取所述第一区域的流量获取请求;
当所述流量获取请求对应的流量被所述第一区域的目标二级节点获取过时,从所述目标二级节点中,获取所述流量;
当所述流量获取请求对应的流量没有被所述第一区域的任一二级节点获取过,且当第二区域的所述一级节点故障时,获取所述第二区域的推流信息和所述第一区域的拉流信息,所述推流信息包括各流量所在地址信息,所述拉流信息包括所述第一区域任一二级节点获取流量的信息;
根据所述推流信息和所述拉流信息,确定所述流量对应的二级节点;
从所述流量对应的二级节点中,获取所述流量。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第二区域的所述一级节点正常时,从所述一级节点中,获取所述流量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述推流信息和所述拉流信息,确定所述流量对应的二级节点,包括:
基于所述流量获取请求和所述第一区域的拉流信息,获取所述流量获取请求对应的流量被所述第一区域的所述二级节点的获取情况;
当所述流量获取请求对应的流量没有被所述第一区域的任一二级节点获取,根据所述推流信息,确定所述流量对应的二级节点。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当存在至少一个所述一级节点正常的区域时,确定任一至少一个所述一级节点正常的区域为目标区域,变更查询源为所述目标区域的所述一级节点,与所述目标区域的所述一级节点建立连接,所述查询源为对获取到的流量获取请求进行查询的节点。
5.根据权利要求4所述的方法,其特征在于,所述获取流量获取请求之后,所述方法还包括:
查询所述目标区域的所述一级节点,获取所述流量的获取地址;
根据所述获取地址,获取所述流量。
6.根据权利要求4所述的方法,其特征在于,所述确定任一至少一个所述一级节点正常的区域为目标区域,包括:
根据到所述至少一个正常的所述一级节点中每个所述一级节点的往返时间,确定所述往返时间最小的所述一级节点所属的区域为所述目标区域。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述流量获取请求的流量所在区域与所述第一区域不同时,执行所述当所述流量获取请求的流量被所述第一区域的目标二级节点获取过时,从所述目标二级节点中,获取所述流量的步骤;
当所述流量获取请求的流量所在区域为所述第一区域时,从所述流量对应的二级节点中,获取所述流量。
8.一种流量获取装置,其特征在于,应用于分布式系统中第一区域的二级节点,所述装置包括:
连接模块,用于当所述第一区域的一级节点发生故障时,与所述第一区域内所述二级节点之外的其他二级节点建立连接,每个区域的所述一级节点用于与其他区域的一级节点进行数据通信,所述二级节点为所述一级节点下一级具有推流和拉流功能的节点;
获取模块,用于获取所述第一区域的流量获取请求;
所述获取模块还用于当所述流量获取请求的流量被所述第一区域的目标二级节点获取过时,从所述目标二级节点中,获取所述流量;
所述获取模块,还用于当所述流量获取请求对应的流量没有被所述第一区域的任一二级节点获取过,且当第二区域的所述一级节点故障时,获取所述第二区域的推流信息和所述第一区域的拉流信息,所述推流信息包括各流量所在地址信息,所述拉流信息包括所述第一区域任一二级节点获取流量的信息;根据所述推流信息和所述拉流信息,确定所述流量对应的二级节点;从所述流量对应的二级节点中,获取所述流量。
9.一种服务器,其特征在于,所述服务器包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述指令由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求7任一项所述的流量获取方法所执行的操作。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求7任一项所述的流量获取方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910895130.9A CN110460482B (zh) | 2019-09-20 | 2019-09-20 | 流量获取方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910895130.9A CN110460482B (zh) | 2019-09-20 | 2019-09-20 | 流量获取方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110460482A CN110460482A (zh) | 2019-11-15 |
CN110460482B true CN110460482B (zh) | 2022-09-02 |
Family
ID=68492466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910895130.9A Active CN110460482B (zh) | 2019-09-20 | 2019-09-20 | 流量获取方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110460482B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111726646A (zh) * | 2020-05-28 | 2020-09-29 | 网宿科技股份有限公司 | 一种推送视频流的方法、装置、设备和存储介质 |
EP3937502A4 (en) * | 2020-05-28 | 2022-01-12 | Wangsu Science & Technology Co., Ltd. | METHOD, DEVICE, DEVICE AND STORAGE MEDIA FOR PUSHING A VIDEO STREAM |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860558A (zh) * | 2009-04-13 | 2010-10-13 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 跨区域对等网络流媒体点播方法及系统 |
CN106331642A (zh) * | 2016-08-31 | 2017-01-11 | 浙江大华技术股份有限公司 | 一种视频云系统中的数据处理方法及装置 |
CN107707519A (zh) * | 2017-07-10 | 2018-02-16 | 贵州白山云科技有限公司 | 一种流媒体传输方法、装置和系统 |
CN108712343A (zh) * | 2018-05-14 | 2018-10-26 | 网宿科技股份有限公司 | 流媒体资源的分发方法、系统、边缘节点及中心调度系统 |
CN109618241A (zh) * | 2018-12-21 | 2019-04-12 | 网宿科技股份有限公司 | 音视频流分发系统中的音视频流分发方法及动态父节点 |
CN110012300A (zh) * | 2018-01-04 | 2019-07-12 | 华为技术有限公司 | 视频直播方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103391254B (zh) * | 2012-05-09 | 2016-07-27 | 百度在线网络技术(北京)有限公司 | 用于分布式cdn的流量管理方法及装置 |
CN108307198B (zh) * | 2018-03-08 | 2021-01-01 | 广州酷狗计算机科技有限公司 | 流服务节点调度方法、装置及调度节点 |
-
2019
- 2019-09-20 CN CN201910895130.9A patent/CN110460482B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860558A (zh) * | 2009-04-13 | 2010-10-13 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 跨区域对等网络流媒体点播方法及系统 |
CN106331642A (zh) * | 2016-08-31 | 2017-01-11 | 浙江大华技术股份有限公司 | 一种视频云系统中的数据处理方法及装置 |
CN107707519A (zh) * | 2017-07-10 | 2018-02-16 | 贵州白山云科技有限公司 | 一种流媒体传输方法、装置和系统 |
CN110012300A (zh) * | 2018-01-04 | 2019-07-12 | 华为技术有限公司 | 视频直播方法及装置 |
CN108712343A (zh) * | 2018-05-14 | 2018-10-26 | 网宿科技股份有限公司 | 流媒体资源的分发方法、系统、边缘节点及中心调度系统 |
CN109618241A (zh) * | 2018-12-21 | 2019-04-12 | 网宿科技股份有限公司 | 音视频流分发系统中的音视频流分发方法及动态父节点 |
Also Published As
Publication number | Publication date |
---|---|
CN110460482A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7978631B1 (en) | Method and apparatus for encoding and mapping of virtual addresses for clusters | |
JP5049344B2 (ja) | ランデブーフェデレーション内の近傍域間通信 | |
CN103118148B (zh) | 一种arp缓存更新方法和设备 | |
CN112087390B (zh) | 一种网络路由方法及装置 | |
CN110460482B (zh) | 流量获取方法、装置、服务器及介质 | |
CN113259423B (zh) | P2p系统中客户端联网访问的方法及装置 | |
WO2012075970A1 (zh) | 一种获取媒体内容的方法、设备及系统 | |
US11050655B2 (en) | Route information distribution through cloud controller | |
WO2024036841A1 (zh) | 网络拓扑结构优化方法、装置、存储介质与电子设备 | |
US9385877B2 (en) | Multicast systems, methods, and computer program products | |
US20140317271A1 (en) | Method and node apparatus for collecting information in content network based on information-centric networking | |
TW202103475A (zh) | 終端設備管理方法、伺服器及終端設備 | |
JP2012533959A (ja) | マルチキャスト対応ルータにおいて効果的なホスト・マネジメント・プロトコル | |
KR101830760B1 (ko) | 지역 분산된 콘텐츠 노드에서 다중 콘텐츠 분배를 위한 오버레이 멀티캐스트 시스템 및 그 방법 | |
CN107483628B (zh) | 基于dpdk的单向代理方法及系统 | |
CN111737029A (zh) | 一种服务端、数据推送方法、数据推送系统 | |
CN110875886B (zh) | 一种用于传输网络的数据传输方法、装置和系统 | |
WO2012029248A1 (ja) | データ転送システム | |
US20110138073A1 (en) | Connection destination selection apparatus and method thereof | |
US20210119826A1 (en) | Layer-2 dedicated line network system and configuration method | |
CN110474781B (zh) | 一种组播数据转发的方法及装置 | |
US10764337B2 (en) | Communication system and communication method | |
KR20220053383A (ko) | Nf 서비스 연동 지원장치 및 nf 서비스 연동 지원방법 | |
JP5803924B2 (ja) | データ転送システム | |
CN111953786A (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 |