WO2021237827A1 - 一种推送视频流的方法、装置、设备和存储介质 - Google Patents

一种推送视频流的方法、装置、设备和存储介质 Download PDF

Info

Publication number
WO2021237827A1
WO2021237827A1 PCT/CN2020/096603 CN2020096603W WO2021237827A1 WO 2021237827 A1 WO2021237827 A1 WO 2021237827A1 CN 2020096603 W CN2020096603 W CN 2020096603W WO 2021237827 A1 WO2021237827 A1 WO 2021237827A1
Authority
WO
WIPO (PCT)
Prior art keywords
node machine
node
machine
video stream
query request
Prior art date
Application number
PCT/CN2020/096603
Other languages
English (en)
French (fr)
Inventor
阮俊炜
Original Assignee
网宿科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 网宿科技股份有限公司 filed Critical 网宿科技股份有限公司
Priority to EP20803735.8A priority Critical patent/EP3937502A1/en
Priority to US17/103,928 priority patent/US11212329B2/en
Publication of WO2021237827A1 publication Critical patent/WO2021237827A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Definitions

  • This application relates to content distribution networks and data transmission technologies, and in particular to a method, device, device, and storage medium for pushing video streams.
  • CDN content delivery network
  • CDN Content Delivery Network
  • the basic idea is to avoid bottlenecks and links on the Internet that may affect the speed and stability of data transmission, so that content transmission can be faster and more stable.
  • the CDN system can in real time according to the network traffic and the connection of each node, the load status, the distance to the user and the response time, etc.
  • the comprehensive information redirects the user's request to the service node closest to the user. Its purpose is to enable users to obtain the required content nearby, solve the network congestion, and improve the response speed of users visiting the website.
  • the traditional solution for pushing video streams is to schedule and cover through the CDN according to the Domain Name System (Service) Protocol (DNS).
  • DNS Domain Name System
  • the instability of the public network further affects the streaming quality and delay.
  • reposting to the CDN through the public network is prone to routing detours and routing failures.
  • This application provides a method, device, device, and storage medium for pushing a video stream, so that a node machine receiving a video stream preferentially selects a node machine in the same computer room to push the stream.
  • an embodiment of the present application provides a method for pushing a video stream, including:
  • determining the second node machine according to the query request includes:
  • the query request When the query request carries the identification information of the first node machine, determine the computer room where the first node machine is located;
  • determining the second node machine according to the query request includes:
  • the determining the second node machine from the computer room includes:
  • the performance of the candidate node machine includes at least one of the following:
  • the determining the second node machine according to the IP address and domain name resolution rules includes:
  • the second node computer is determined according to the geographic location, the distance between the second node computer and the first node computer meets a preset condition, and the second node computer and the first node are in a different computer room.
  • an embodiment of the present application also provides a device for pushing a video stream, including:
  • a query request receiving module configured to receive a query request sent by a first node machine, which generates the query request when the first node machine receives a video stream;
  • the node machine determination module is configured to determine a second node machine according to the query request.
  • the second node machine is in the same computer room as the first node machine, or the second node machine is compatible with the first node machine.
  • the address sending module is configured to send the address of the second node machine to the first node machine, so that the first node machine pushes the video stream to the second node machine.
  • another aspect of the present application provides a device for pushing a video stream.
  • the device includes a processor and a memory.
  • the memory is used to store a computer program. When the computer program is executed by the processor, the Such as the method of pushing a video stream in any one of the first aspect.
  • another aspect of the present application provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the method for pushing a video stream as in any one of the first aspect is realized.
  • the technical solution provided by this application can determine whether to use the same computer room for streaming or to use domain name resolution for streaming based on the attribute information of the first node machine that receives the video stream. In this way, business sinking is achieved, thereby improving the stability of the push video stream.
  • the video stream is a live video stream generated in real time, it also reduces the delay of the live repost stream.
  • Figure 1 is a system structure for pushing video streams provided by this application
  • FIG. 2 is a flowchart of a method for pushing a video stream provided by an embodiment of the application
  • FIG. 3 is a flowchart of a method for determining a second node machine according to a query request according to an embodiment of the application
  • FIG. 4 is a flowchart of another method for determining a second node machine according to a query request according to an embodiment of the application
  • FIG. 5 is a flowchart of a method for determining a second node machine from a computer room according to an embodiment of the application
  • FIG. 6 is a schematic diagram of pushing a video stream in the same computer room according to an embodiment of the application.
  • FIG. 7 is a schematic structural diagram of a device for pushing a video stream provided by another embodiment of the application.
  • FIG. 8 is a schematic structural diagram of a device for pushing a video stream provided by another embodiment of this application.
  • a server has inherent information such as its host number and IP address.
  • this server When this server is set as a content delivery network (CDN) node, it will be accompanied by CDN-specific information, such as which level it is at and what its geographic location is.
  • CDN content delivery network
  • the host client In the live broadcast industry, usually the host client generates a video stream, the host client pushes the stream to the CDN, the CDN internally reposts the stream, and the audience client then pulls the stream from the CDN.
  • live broadcast platforms In order to improve the quality of streamers, users, and retweets, live broadcast platforms generally deploy their own servers and edge computing methods. Then there may be public edge computing, dedicated edge computing (edge computing deployed by the live broadcast platform), public computing nodes and dedicated computing nodes (edge computing deployed by the live streaming platform). In theory, the live broadcast platform will optimize the interaction between dedicated edge computing and dedicated computing nodes.
  • a region has a large demand for servers, multiple servers will be deployed in the region. Multiple servers are connected through a local area network, usually called the same computer room. The transmission speed between the same computer room is faster and more stable than a public CDN.
  • public edge computing and public computing nodes are independent products
  • dedicated edge computing and dedicated computing nodes are independent products.
  • both adopt a transparent resource scheduling scheme that is, users cannot touch the underlying resources when using edge computing resources and CDN resources, and do not know what configuration the underlying resources are used for, and where the computer room is. This makes it difficult to use the advantages of both at the same time.
  • public edge computing and public computing nodes have full coverage
  • dedicated edge computing and dedicated computing nodes have fast transmission speeds, low latency, and stable information.
  • this application provides a method for pushing video streams to realize intelligent identification of whether the same computer room needs to be reposted, so as to seamlessly connect public resources with special resources.
  • Figure 1 is a system structure for pushing video streams provided by this application.
  • the structure includes a scheduling module and a resource management module.
  • the resource management module uses its own management function to mark the attributes of the node machine, that is, the node attribute of the node computer as a special computing node and the server attribute of the node as a content delivery network (CDN).
  • CDN content delivery network
  • the resource management module can also monitor the node machines in the dedicated computing nodes according to their quality and cost, and update their health and availability. According to the update health and availability, it is classified to support the provision and matching of resources of the corresponding gear according to the needs of users, and supports the priority.
  • the local area network in the computer room can be used for video stream transmission, which is faster and more stable than transmission through the external network. Transmission effect.
  • Fig. 2 is a flowchart of a method for pushing a video stream provided by an embodiment of the application. This embodiment is applicable to a scenario where a device is also connected to a local area network while being connected to the Internet.
  • the method can be executed by a device for pushing video streams, which can be implemented by software and/or hardware, and is usually configured in a scheduling module in a system for pushing video streams.
  • the method specifically includes:
  • S1 Receive a query request sent by a first node machine, and generate the query request when the first node machine receives a video stream.
  • the node machine is generally a server, which has inherent information such as host number and IP address.
  • CDN-specific information will be attached, such as the level of the node and the geographic location of the node.
  • the node also belongs to an edge computing node at the same time, it also has an identifier that belongs to the edge computing node.
  • the first node machine mentioned here and the second node machine mentioned later are both node machines, which is to make the difference in name for easy reference and distinction in the specification.
  • the node machine is associated with an anchor client.
  • the anchor client When the anchor client generates a video stream, the node machine associated with it receives the video stream.
  • the node machine that receives the video stream generated by the anchor client is called the first node machine.
  • the node machine is associated with the scheduling module, and when the first node machine receives the video stream, it generates query information.
  • the query information includes various information of the first node machine, such as: host number, IP address, level, geographic location, etc.
  • the first node machine sends the query information to the scheduling module.
  • the query information carries various information of the first node machine
  • the scheduling module determines whether the first node machine has a node machine in the same computer room according to the various information carried in the query information. If the first node machine has a node machine in the same computer room, then select a node machine from the node machines in the same machine room as the second node machine. If the first node machine does not have a node machine in the same computer room, then a node machine with a similar geographic location is determined from the Internet as the second node machine according to the general domain name resolution rules.
  • the second node machine can be determined according to the query request through the following steps:
  • the scheduling module parses the query request and obtains the analysis result. Determine whether there is identification information in the analysis result.
  • the identification information is a sign that identifies whether the first node machine belongs to a certain local area network. Since the local area network is generally set by the live broadcast platform to optimize the processing of the video stream, there is generally a logo set by the live broadcast platform. It can be directly determined by the identifier whether the first node machine has other node machines in the same computer room.
  • an anchor client uploads a video stream through a live broadcast platform, and the video stream has an identifier of the live broadcast platform.
  • the query request initiated to the scheduling module will carry this identifier.
  • the scheduling module finds the identification information from the analysis result, it determines the computer room where the first node machine is located through the resource management module.
  • S203 Determine the second node machine from the computer room.
  • the scheduling module determines the computer room where the first node computer is located through the resource management module, and at the same time determines other node computers in the computer room, and determines one node computer from the other node computers as the second node computer.
  • Steps S201-S203 are the processing of marking the video stream through the relationship between the client and the live broadcast platform.
  • the scheduling module finds the identifier, it performs the push stream operation in the same computer room, which saves the transmission time of the video stream and increases the stability of the video stream.
  • the second node machine can be determined according to the query request through the following steps:
  • the scheduling module parses the query request and obtains the analysis result.
  • the analysis result includes the identity information of the first node machine. Since the local area network is generally set up by the live broadcast platform in order to optimize the processing of the video stream, it can be determined by the identity information whether the first node machine stores other node machines in the same computer room that are available on a certain live broadcast platform.
  • S212 Determine the identity information of the first node machine from the query request, where the identity information indicates the ownership of the first node machine.
  • the scheduling module queries the identity information of the first node machine from the analysis result, and the identity information indicates the attribution of the first node machine.
  • the first node machine may belong to a certain live broadcast platform, or it may belong to an operator that provides CDN services.
  • the machine room where the first node machine is located is determined through the resource management module.
  • the scheduling module determines the computer room where the first node computer is located through the resource management module, and at the same time determines other node computers in the computer room, and determines one node computer from the other node computers as the second node computer.
  • the IP address of the first node machine is directly determined in the analysis result.
  • S216 Determine the second node machine according to the IP address and domain name resolution rules.
  • DNS Domain Name Resolution
  • IP addresses IP addresses
  • computers use them to communicate with each other.
  • DNS servers are distributed all over the world and stored on domain name servers. These domain name servers communicate with each other regularly to provide updates. Each designated site can correspond to multiple IP addresses.
  • Steps S211-S216 are to determine whether it is possible to forward the stream in the same computer room through the relationship between the first node machine and the live broadcast platform. If it is possible, it will give priority to reposting the stream in the same computer room, which saves the transmission time of the video stream and increases the stability of the video stream. If not, the retweet stream will be reposted according to the domain name resolution rules, which is compatible with the traditional and the same computer room retweet stream scheduling scheme.
  • the determination of the second node machine from the computer room mentioned in step S203 and step S214, referring to FIG. 5, can be performed through the following steps:
  • the performance of the candidate node machine includes at least one of the following: the network quality of the candidate node machine, the network delay of the candidate node machine, and the resource information of the candidate node machine.
  • the attribute information of the node machine can also include status information, resource information, memory usage, and CPU status.
  • Status information includes: hardware failure, software failure, and normal.
  • Resource information includes: resource redundancy and resource shortage.
  • the attributes of the node machines can be weighted, and then the node machines can be scored or sorted according to the specific conditions of each node machine.
  • two-layer multi-dimensional scheduling of nodes and servers (node network quality, node network delay, server performance, etc. dimensions) is realized to ensure the optimal quality of reposting streams.
  • the scheduling module After determining the address of the second node machine, the scheduling module sends the address to the first node machine in a preset format.
  • the first node machine receives the address and pushes the video stream to the address.
  • FIG. 6 is a schematic diagram of pushing a video stream in the same computer room according to an embodiment of the application.
  • the host generates a video stream on the host client.
  • the host client defines a private protocol, which is generally customized based on RTMP (Real Time Messaging Protocol), which is mainly optimized for some transmissions.
  • RTMP Real Time Messaging Protocol
  • the host client pushes the video stream to the first node machine through a private protocol.
  • the first node machine After receiving the video stream, the first node machine sends query information to the scheduling module.
  • the query information carries various information of the first node machine.
  • the scheduling module is associated with a resource management module, and the scheduling module determines the second node machine in the same computer room as the first node machine according to the query information and the information in the resource scheduling module. That is, the first node computer initiates a query to the scheduling module to obtain the IP address of the second node computer in the same computer room as the first node computer. The scheduling module returns the IP address of the second node machine according to the preset format. After receiving the IP address, the first node machine pushes the video stream to the second node machine pointed to by the IP address. The client pulls the stream from the second node machine to realize the transmission of the entire video stream.
  • the attribute information of the first node machine that receives the video stream it is determined whether to use the same computer room for streaming or to use domain name resolution for streaming. In this way, business sinking is achieved, thereby improving the stability of the push video stream.
  • the video stream is a live video stream generated in real time, it also reduces the delay of the live repost stream.
  • FIG. 7 is a schematic structural diagram of an apparatus for pushing a video stream provided by another embodiment of the application.
  • the device includes: a query request receiving module 61, a node machine determining module 62, and an address sending module 63. in:
  • the query request receiving module 61 is configured to receive a query request sent by a first node machine, which generates the query request when the first node machine receives a video stream;
  • the node machine determining module 62 is configured to determine a second node machine according to the query request, where the second node machine is in the same computer room as the first node machine, or the second node machine is compatible with the first node machine The result of domain name resolution by the computer;
  • the address sending module 63 is configured to send the address of the second node machine to the first node machine, so that the first node machine pushes the video stream to the second node machine.
  • the technical solution provided in this application can determine whether to use the same computer room to push the stream or to adopt the method of domain name resolution to push the stream according to the attribute information of the first node machine receiving the video stream. In this way, business sinking is achieved, thereby improving the stability of the push video stream.
  • the video stream is a live video stream generated in real time, it also reduces the delay of the live repost stream.
  • the node machine determining module 62 includes:
  • the first request parsing submodule is used for parsing the query request
  • An identification information determining submodule configured to determine the computer room where the first node machine is located when the query request carries identification information of the first node machine
  • the second node machine determining submodule is used to determine the second node machine from the computer room.
  • the node machine determining module 62 includes:
  • the second request parsing sub-module is used for parsing the query request
  • the first identity information determining submodule is configured to determine the identity information of the first node machine from the query request, where the identity information indicates the attribution of the first node machine;
  • the first identity information execution sub-module is configured to determine the computer room where the first node machine is located when the identity information meets a preset condition
  • the second node machine determining submodule is used to determine the second node machine from the computer room.
  • the second node machine determination sub-module includes:
  • a performance determining unit configured to determine the performance of a candidate node machine in the computer room, where the candidate node machine is a node machine other than the first node machine in the computer room;
  • the node machine determining unit is configured to perform statistics of the candidate node machines to determine the second node machine from the candidate node machines.
  • the performance of the candidate node machine includes at least one of the following:
  • the node machine determining module 62 includes:
  • the second identity information determining sub-module is configured to determine the IP address of the first node machine when the identity information does not meet a preset condition
  • the second identity information execution sub-module is used to determine the second node machine according to the IP address and domain name resolution rules.
  • the second identity information execution sub-module includes:
  • a geographic location determining unit configured to determine the geographic location of the first node machine in the content distribution network according to the IP address of the first node machine;
  • a node machine determining unit configured to determine a second node machine according to the geographic location, where the distance between the second node machine and the first node machine meets a preset condition, and the second node machine and the first node machine Located in a different computer room.
  • the above-mentioned device can execute the method provided in any embodiment of the present application, and has corresponding functional modules and beneficial effects for executing the method.
  • FIG. 8 is a schematic structural diagram of a device for pushing a video stream provided by another embodiment of this application.
  • the device for pushing a video stream includes a processor 20, a memory 21, an input device 22, and an output device 23.
  • the number of processors 20 in the device for pushing video streams may be one or more.
  • one processor 20 is taken as an example.
  • the number of memories 21 in the device for pushing video streams may be one or more.
  • one memory 21 is taken as an example.
  • the processor 20, the memory 21, the input device 22, and the output device 23 of the device for pushing video streams may be connected through a bus or other methods. In FIG. 8, the connection through a bus is taken as an example.
  • the device for pushing the video stream may be a computer, a server, and so on.
  • the memory 21 can be used to store software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the method for pushing a video stream according to any embodiment of this application (for example, pushing a video stream).
  • the memory 21 may mainly include a program storage area and a data storage area.
  • the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created according to the use of the device, and the like.
  • the memory 21 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.
  • the memory 21 may further include a memory remotely provided with respect to the processor 20, and these remote memories may be connected to the device through a network. Examples of the aforementioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
  • the input device 22 can be used to receive input digital or character information, and to generate key signal input related to the viewer user settings and function control of the device that pushes the video stream, and can also be a camera for acquiring images and a pickup for acquiring audio data. equipment.
  • the output device 23 may include audio equipment such as a speaker. It should be noted that the specific composition of the input device 22 and the output device 23 can be set according to actual conditions.
  • the processor 20 executes various functional applications and data processing of the device by running software programs, instructions, and modules stored in the memory 21, that is, realizing the aforementioned method of pushing video streams.
  • the embodiment of the present application also provides a storage medium containing computer-executable instructions, when the computer-executable instructions are executed by a computer processor, a method for pushing a video stream is executed, and the method includes:
  • a storage medium containing computer-executable instructions provided by the embodiments of the present application and the computer-executable instructions are not limited to the method operations of pushing video streams as described above, and can also perform the push provided by any embodiment of the present application.
  • Related operations in the video streaming method and have corresponding functions and beneficial effects.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • FLASH Flash memory
  • hard disk or optical disk etc.
  • a computer device which can be a robot, A personal computer, a server, or a network device, etc.
  • a computer device which can be a robot, A personal computer, a server, or a network device, etc.
  • a computer device which can be a robot, A personal computer, a server, or a network device, etc.
  • each part of this application can be implemented by hardware, software, firmware, or a combination thereof.
  • multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system.
  • a suitable instruction execution system For example, if it is implemented by hardware, as in another embodiment, it can be implemented by any one or a combination of the following technologies known in the art: Discrete logic circuits, application-specific integrated circuits with suitable combinational logic gates, programmable gate arrays (PGA), field programmable gate arrays (FPGA), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种推送视频流的方法、装置、设备和存储介质。该方法包括:接收第一节点机发出的查询请求,第一节点机接收视频流时产生查询请求(S1);根据查询请求确定第二节点机,第二节点机与第一节点机同机房,或者,第二节点机符合对第一节点机进行域名解析的结果(S2);向第一节点机发送第二节点机的地址,以使第一节点机向第二节点机推送视频流(S3)。本申请提供的技术方案可以根据接收视频流的第一节点机的属性信息,确定采用同机房推流还是采用域名解析的方式进行推流。通过这样的方式实现了业务下沉,从而提升推送视频流的稳定性。当视频流是实时产生的直播视频流时,还降低了直播转推流的时延。

Description

一种推送视频流的方法、装置、设备和存储介质 技术领域
本申请涉及内容分发网络和数据传输技术,尤其涉及一种推送视频流的方法、装置、设备和存储介质。
背景技术
随着互联网的发展,用户的增长,内容分发网络(CDN)技术有了快速的发展。
内容分发网络(CDN)是一种新型网络内容服务体系,其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器,构成在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决网络拥挤的状况,提高用户访问网站的响应速度。
从2016年进入直播元年后,直播行业也进入快速发展的阶段。直播行业的快速发展同时对网络内容服务体系也提出了更高的要求。由于至今CDN的技术相对稳定和成熟,对于直播行业中用户的多种自建和私有化定制需求的支持程度较低。为了提高支持程度,在CDN的基础上,引进了边缘计算的技术。
在直播行业中,传统的推送视频流的方案是:通过CDN根据域名系统(服务)协议(DNS)进行调度和覆盖。这会导致视频流从边缘 计算到CDN机房的转发无法精确定位,只能通过公网传输。而公网的不稳定性进而影响推流质量和时延,同时,通过公网向CDN进行转推流容易出现路由绕路和路由不通的情况。
发明内容
本申请提供一种推送视频流的方法、装置、设备和存储介质,实现接收视频流的节点机优先选择同机房的节点机进行推流。
为实现上述目的,本申请实施例提供一种推送视频流的方法,包括:
接收第一节点机发出的查询请求,所述第一节点机接收视频流时产生所述查询请求;
根据所述查询请求确定第二节点机,所述第二节点机与所述第一节点机同机房,或者,所述第二节点机符合对所述第一节点机进行域名解析的结果;
向所述第一节点机发送所述第二节点机的地址,以使所述第一节点机向所述第二节点机推送视频流。
在此基础上,根据所述查询请求确定第二节点机,包括:
解析所述查询请求;
当所述查询请求携带有所述第一节点机的标识信息,确定所述第一节点机所在的机房;
从所述机房中确定第二节点机。
在此基础上,根据所述查询请求确定第二节点机,包括:
解析所述查询请求;
从所述查询请求中确定所述第一节点机的身份信息,所述身份信息表示所述第一节点机的归属;
当所述身份信息符合预设条件时,确定所述第一节点机所在的机房;
从所述机房中确定第二节点机。
在此基础上,所述从所述机房中确定第二节点机,包括:
确定所述机房中的候选节点机的性能,所述候选节点机为所述机房中、除第一节点机以外的其他节点机;
对所述候选节点机的性能进行统计,以从所述候选节点机中确定第二节点机。
在此基础上,所述候选节点机的性能至少包括如下的一种:
候选节点机的网络质量;
候选节点机的网路时延;
候选节点机的资源信息。
在此基础上,还包括:
当所述身份信息不符合预设条件时,则确定所述第一节点机的IP地址;
根据所述IP地址和域名解析规则确定第二节点机。
在此基础上,所述根据所述IP地址和域名解析规则确定第二节点机,包括:
根据所述第一节点机的IP地址确定所述第一节点机在内容分发网络中所处的地理位置;
根据所述地理位置确定第二节点机,所述第二节点机与所述第一节点机的距离符合预设条件,所述第二节点机与所述第一节点处于不同机房。
为实现上述目的,本申请实施例还提供一种推送视频流的装置,包括:
查询请求接收模块,用于接收第一节点机发出的查询请求,所述第一节点机接收视频流时产生所述查询请求;
节点机确定模块,用于根据所述查询请求确定第二节点机,所述第二节点机与所述第一节点机同机房,或者,所述第二节点机符合对 所述第一节点机进行域名解析的结果;
地址发送模块,用于向所述第一节点机发送所述第二节点机的地址,以使所述第一节点机向所述第二节点机推送视频流。为实现上述目的,本申请另一方面提供一种推送视频流的设备,所述设备包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如第一方面中任一的推送视频流的方法。
为实现上述目的,本申请另一方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一的推送视频流的方法。
由上可见,本申请提供的技术方案可以根据接收视频流的第一节点机的属性信息,确定采用同机房推流还是采用域名解析的方式进行推流。通过这样的方式实现了业务下沉,从而提升推送视频流的稳定性。当视频流是实时产生的直播视频流时,还降低了直播转推流的时延。
附图说明
图1为本申请提供的一种推送视频流的系统结构;
图2为本申请实施例提供的一种推送视频流的方法的流程图;
图3为本申请实施例提供的一种根据查询请求确定第二节点机的方法的流程图;
图4为本申请实施例提供的另一种根据查询请求确定第二节点机的方法的流程图;
图5为本申请实施例提供的一种从机房中确定第二节点机的方法的流程图;
图6为本申请实施例提供的一种同机房推送视频流的示意图;
图7为本申请另一实施例提供的一种推送视频流的装置的结构示意图;
图8为本申请又一实施例提供的一种推送视频流的设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
一台服务器,本身具有主机号、IP地址等固有的信息。当这台服务器被设置为内容分发网络(CDN)的节点的时候,会附带有CDN特有的信息,比如,它在哪个层级,地理位置是什么等。
在直播行业中,通常是主播客户端产生视频流,主播客户端推流到CDN,CDN内部进行转推流,观众客户端再从CDN进行拉流。
直播平台为了提高主播推流、用户拉流和转推流的质量,一般会部署自己的服务器和边缘计算方式。那么就可能出现公用的边缘计算、专门的边缘计算(直播平台自己部署的边缘计算)、公用的计算节点和专门的计算节点(直播平台自己部署的边缘计算)。理论上,直播平台会对专门的边缘计算和专门的计算节点之间的交互进行优化。当一个地区对服务器的需求量较大时,会在该地区布置多个服务器。多个服务器通过局域网连接,通常叫做同机房,同机房之间的传输速度比公用的CDN更快,也更加稳定。
但是,公用的边缘计算和公用的计算节点是一个独立的产品,专门的边缘计算和专门的计算节点是一个独立的产品。同时,二者均采用资源透明化调度的方案,即,用户使用边缘计算资源和CDN资源都无法触及底层资源,不知道底层资源用的什么配置,机房在什么地方。这就导致较难同时利用二者的优势,如:公用的边缘计算和公用的计算节点的覆盖面全,而专门的边缘计算和专门的计算节点传输速度快、时延低,信息稳定。
因此,本申请根据提供一种推送视频流的方法,以实现智能识别是否需要进行同机房转推流,从而将公用资源与专门资源进行无缝衔接。
图1为本申请提供的一种推送视频流的系统结构。参考图1,该结构包括调度模块和资源管理模块。
资源管理模块通过自身管理功能,将节点机进行属性标记,即该节点机作为专门的计算节点的节点属性和作为内容分发网络(CDN)的节点的服务器属性。这样可以实现对节点机的横向管理,即不管视频流的来源是公用的边缘计算还是专门的边缘计算,均可以通过资源管理模块进行中转管理,上层业务平台,尤其是直播平台这种业务的平台,可以无缝跨平台实现资源管理。
资源管理模块还可以对专门的计算节点中的节点机按质量和成本进行监控,更新健康度和可用性。根据更新健康度和可用性进行分档,以支持针对用户需求提供和匹配对应档位的资源,并支持优先级。
因此,当CDN的节点机和边缘计算的节点机同机房时,采用本方案的推送视频流的方法,可以使用机房内的局域网进行视频流的传输,获得比通过外网传输更加快速和稳定的传输效果。
图2为本申请实施例提供的一种推送视频流的方法的流程图。本实施例可适用于一台设备在接入了互联网的同时,还接入了局域网的场景。该方法可以由一种推送视频流的装置来执行,该装置可以由软件和/或硬件的方式实现,通常配置于推送视频流的系统中的调度模块中。参考图2,该方法具体包括:
S1、接收第一节点机发出的查询请求,所述第一节点机接收视频流时产生所述查询请求。
节点机一般是一台服务器,本身具有主机号、IP地址等固有信息。当一台节点机被设置为CDN的节点时,会附带CDN特有的信息,如该节点所在的层级、该节点所在的地理位置。当该节点同时又属于一边缘计算节点时,还具有属于边缘计算节点的标识。这里所说的第一节点机与后文提到的第二节点机均为节点机,是为了在说明书中便于指代和区分而且做的名称上的区别。
节点机关联有主播客户端,当主播客户端产生视频流时,与之关联的节点机接收该视频流,将接收主播客户端产生的视频流的节点机称为第一节点机。
节点机与调度模块相关联,当第一节点机接收到视频流,产生查询信息。该查询信息包括第一节点机的各种信息,如:主机号、IP地址、所在的层级、所在的地理位置等。
第一节点机将查询信息发送给调度模块。
S2、根据所述查询请求确定第二节点机,所述第二节点机与所述第一节点机同机房,或者,所述第二节点机符合对所述第一节点机进行域名解析的结果。
查询信息中携带有第一节点机的各种信息,调度模块根据查询信息中携带的各种信息,判断第一节点机是否有同机房的节点机。如果第一节点机存在同机房的节点机,那么从同机房的节点机中选择一台节点机作为第二节点机。如果第一节点机不存在同机房的节点机,那么就根据一般的域名解析规则从互联网中确定一台地理位置相近的节点机作为第二节点机。
在一具体的实现方式中,如图3所示,可以通过如下步骤根据所述查询请求确定第二节点机:
S201、解析所述查询请求。
调度模块对查询请求进行解析,获得解析结果。判断该解析结果中是否具有标识信息。标识信息是标识第一节点机是否属于某一局域网的标志。由于局域网一般是直播平台为了优化对视频流的处理而设置的,因此,一般会有直播平台设定的标识。可以通过标识直接确定过第一节点机是否存在同机房的其他节点机。
具体的,一主播客户端通过一直播平台上传视频流,该视频流具有该直播平台的标识。当第一节点机收到该视频流时,向调度模块发起的查询请求中,会携带这一标识。
S202、当所述查询请求携带有所述第一节点机的标识信息,确定所述第一节点机所在的机房。
调度模块从解析结果中查询到标识信息后,通过资源管理模块确定第一节点机所在的机房。
S203、从所述机房中确定第二节点机。
调度模块通过资源管理模块确定第一节点机所在的机房,同时确定该机房中的其他节点机,从其他节点机中确定一台节点机作为第二节点机。
步骤S201-S203是通过客户端与直播平台的关系来对视频流进行打标识的处理。当调度模块查询到该标识后进行同机房的推流操作,节约了视频流的传输时间,增加了视频流的稳定性。
在一具体的实现方式中,如图4所示,可以通过如下步骤根据所述查询请求确定第二节点机:
S211、解析所述查询请求。
调度模块对查询请求进行解析,获得解析结果。解析结果中包括第一节点机的身份信息。由于局域网一般是直播平台为了优化对视频流的处理而设置的,因此,可以通过身份信息确定过第一节点机是否存某一直播平台可用的同机房的其他节点机。
S212、从所述查询请求中确定所述第一节点机的身份信息,述身份信息表示所述第一节点机的归属。
调度模块从解析结果中查询第一节点机的身份信息,身份信息表示所述第一节点机的归属。第一节点机可能归属于某一直播平台,也可能归属于提供CDN服务的运营商。
S213、当所述身份信息符合预设条件时,确定所述第一节点机所在的机房。
当第一节点机的身份信息属于部署机房的直播平台时,通过资源管理模块确定第一节点机所在的机房。
S214、从所述机房中确定第二节点机。
调度模块通过资源管理模块确定第一节点机所在的机房,同时确定该机房中的其他节点机,从其他节点机中确定一台节点机作为第二节点机。
S215、当所述身份信息不符合预设条件时,则确定所述第一节点机的IP地址。
当第一节点机的身份信息不属于部署机房的直播平台时,则直接在解析结果中确定第一节点机的IP地址。
S216、根据所述IP地址和域名解析规则确定第二节点机。
域名解析(DNS)是一个与数字匹配的名称目录。在这种情况下,数字是IP地址,计算机用它们相互通信。DNS服务器分布在世界各地,存储在域名服务器上,这些域名服务器定期相互通信以提供更新。每个指定的站点可以对应多个IP地址。
步骤S211-S216是通过第一节点机与直播平台的关系来确定是否可以进行同机房转推流。如果可以,则优先选择同机房转推流,节约了视频流的传输时间,增加了视频流的稳定性。如果不可以,则根据域名解析规则进行转推流,兼容传统和同机房两种转推流调度方案。
在上述实施例的基础上,步骤S203与步骤S214提到的从所述机房中确定第二节点机,参考图5,可以通过如下步骤进行:
S221、确定所述机房中的候选节点机的性能,所述候选节点机为所述机房中、除第一节点机以外的其他节点机。
当确定第一节点机所在的机房后,将该机房中除第一节点机以外的其他节点机确定为候选节点机。
一般的,候选节点机的性能至少包括如下的一种:候选节点机的网络质量、候选节点机的网路时延、候选节点机的资源信息。
在此基础上,节点机的属性信息还可以包括状态信息、资源信息、内存使用率以及CPU状态。状态信息包括:硬件故障、软件故障、正 常。资源信息包括:资源冗余、资源不足。可以对节点机的属性进行权重的确定,然后根据每个节点机的具体情况对节点机进行评分处理,或者排序处理。
S222、对所述候选节点机的性能进行统计,以从所述候选节点机中确定第二节点机。
对所述候选节点机的性能进行统计,选择排序最靠前或者得分最高的节点机作为第二节点机。
通过丰富调度模块的控制层级,实现节点和服务器双层多维度调度(节点网络质量、节点网路时延、服务器性能等维度),保障转推流的最优质量。
S3、向所述第一节点机发送所述第二节点机的地址,以使所述第一节点机向所述第二节点机推送视频流。
调度模块确定所述第二节点机的地址后,将该地址按照预设的格式发送给第一节点机。第一节点机接收该地址,并向该地址推送视频流。
图6为本申请实施例提供的一种同机房推送视频流的示意图。参考图6对同机房推送视频流进行说明。主播在主播客户端产生视频流,主播客户端定义有私有协议,一般是基于RTMP(Real Time Messaging Protocol,实时消息传输协议)去定制的,主要是一些传输上面的优化。主播客户端将视频流通过私有协议推流到第一节点机。第一节点机接收到视频流后,向调度模块发出查询信息。查询信息中携带有第一节点机的各种信息。调度模块关联有资源管理模块,调度模块根据查询信息和资源调度模块中的信息,确定与第一节点机同机房的第二节点机。即第一节点机向调度模块发起查询,以获得与第一节点机同机房的第二节点机的IP地址。调度模块按照预设的格式返回第二节点机的IP地址。第一节点机接收到该IP地址后,向该IP地址指向的第二节点机推送视频流。客户端则从第二节点机进行拉流,以实现整个视 频流的传输。
本实施例通过根据接收视频流的第一节点机的属性信息,确定采用同机房推流还是采用域名解析的方式进行推流。通过这样的方式实现了业务下沉,从而提升推送视频流的稳定性。当视频流是实时产生的直播视频流时,还降低了直播转推流的时延。
图7为本申请另一实施例提供的一种推送视频流的装置的结构示意图。该装置包括:查询请求接收模块61、节点机确定模块62和地址发送模块63。其中:
查询请求接收模块61,用于接收第一节点机发出的查询请求,所述第一节点机接收视频流时产生所述查询请求;
节点机确定模块62,用于根据所述查询请求确定第二节点机,所述第二节点机与所述第一节点机同机房,或者,所述第二节点机符合对所述第一节点机进行域名解析的结果;
地址发送模块63,用于向所述第一节点机发送所述第二节点机的地址,以使所述第一节点机向所述第二节点机推送视频流。
本申请提供的技术方案可以根据接收视频流的第一节点机的属性信息,确定采用同机房推流还是采用域名解析的方式进行推流。通过这样的方式实现了业务下沉,从而提升推送视频流的稳定性。当视频流是实时产生的直播视频流时,还降低了直播转推流的时延。
在此基础上,节点机确定模块62包括:
第一请求解析子模块,用于解析所述查询请求;
标识信息确定子模块,用于当所述查询请求携带有所述第一节点机的标识信息,确定所述第一节点机所在的机房;
第二节点机确定子模块,用于从所述机房中确定第二节点机。
在此基础上,节点机确定模块62包括:
第二请求解析子模块,用于解析所述查询请求;
第一身份信息确定子模块,用于从所述查询请求中确定所述第一节点机的身份信息,所述身份信息表示所述第一节点机的归属;
第一身份信息执行子模块,用于当所述身份信息符合预设条件时,确定所述第一节点机所在的机房;
第二节点机确定子模块,用于从所述机房中确定第二节点机。
在此基础上,第二节点机确定子模块包括:
性能确定单元,用于确定所述机房中的候选节点机的性能,所述候选节点机为所述机房中、除第一节点机以外的其他节点机;
节点机确定单元,用于对所述候选节点机的性能进行统计,以从所述候选节点机中确定第二节点机。
在此基础上,候选节点机的性能至少包括如下的一种:
候选节点机的网络质量;
候选节点机的网路时延;
候选节点机的资源信息。
在此基础上,节点机确定模块62包括:
第二身份信息确定子模块,用于当所述身份信息不符合预设条件时,则确定所述第一节点机的IP地址;
第二身份信息执行子模块,用于根据所述IP地址和域名解析规则确定第二节点机。
在此基础上,第二身份信息执行子模块包括:
地理位置确定单元,用于根据所述第一节点机的IP地址确定所述第一节点机在内容分发网络中所处的地理位置;
节点机确定单元,用于根据所述地理位置确定第二节点机,所述第二节点机与所述第一节点机的距离符合预设条件,所述第二节点机与所述第一节点处于不同机房。
上述装置可执行本申请任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
图8为本申请又一实施例提供的一种推送视频流的设备的结构示意图。如图8所示,该推送视频流的设备包括:处理器20、存储器21、输入装置22以及输出装置23。该推送视频流的设备中处理器20的数量可以是一个或者多个,图8中以一个处理器20为例。该推送视频流的设备中存储器21的数量可以是一个或者多个,图7中以一个存储器21为例。该推送视频流的设备的处理器20、存储器21、输入装置22以及输出装置23可以通过总线或者其他方式连接,图8中以通过总线连接为例。该推送视频流的设备可以是电脑和服务器等。
存储器21作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的推送视频流的方法对应的程序指令/模块(例如,推送视频流的装置中的查询请求接收模块61、节点机确定模块62和地址发送模块63)。存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器21可进一步包括相对于处理器20远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置22可用于接收输入的数字或者字符信息,以及产生与推送视频流的设备的观众用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置23可以包括扬声器等音频设备。需要说明的是,输入装置22和输出装置23的具体组成可以根据实际情况设定。
处理器20通过运行存储在存储器21中的软件程序、指令以及模 块,从而执行设备的各种功能应用以及数据处理,即实现上述的推送视频流的方法。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种推送视频流的方法,该方法包括:
接收第一节点机发出的查询请求,所述第一节点机接收视频流时产生所述查询请求;
根据所述查询请求确定第二节点机,所述第二节点机与所述第一节点机同机房,或者,所述第二节点机符合对所述第一节点机进行域名解析的结果;
向所述第一节点机发送所述第二节点机的地址,以使所述第一节点机向所述第二节点机推送视频流。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的推送视频流的方法操作,还可以执行本申请任意实施例所提供的推送视频流的方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施例的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施例。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本申请任意实施例所述的推送视频流的方法。
值得注意的是,上述推送视频流的装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施例中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施例中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“在一实施例中”、“在又一实施例中”、“示例性的”或“在具体的实施例中”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
虽然,上文中已经用一般性说明、具体实施例及试验,对本申请作了详尽的描述,但在本申请基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本申请精神的基础上所做的这些修改或改进,均属于本申请要求保护的范围。

Claims (10)

  1. 一种推送视频流的方法,包括:
    接收第一节点机发出的查询请求,所述第一节点机接收视频流时产生所述查询请求;
    根据所述查询请求确定第二节点机,所述第二节点机与所述第一节点机同机房,或者,所述第二节点机符合对所述第一节点机进行域名解析的结果;
    向所述第一节点机发送所述第二节点机的地址,以使所述第一节点机向所述第二节点机推送视频流。
  2. 根据权利要求1所述的方法,其中,根据所述查询请求确定第二节点机,包括:
    解析所述查询请求;
    当所述查询请求携带有所述第一节点机的标识信息,确定所述第一节点机所在的机房;
    从所述机房中确定第二节点机。
  3. 根据权利要求1所述的方法,其中,根据所述查询请求确定第二节点机,包括:
    解析所述查询请求;
    从所述查询请求中确定所述第一节点机的身份信息,所述身份信息表示所述第一节点机的归属;
    当所述身份信息符合预设条件时,确定所述第一节点机所在的机房;
    从所述机房中确定第二节点机。
  4. 根据权利要求2或3所述的方法,其中,所述从所述机房中确定第二节点机,包括:
    确定所述机房中的候选节点机的性能,所述候选节点机为所述机房中、除第一节点机以外的其他节点机;
    对所述候选节点机的性能进行统计,以从所述候选节点机中确定第二节点机。
  5. 根据权利要求4所述的方法,其中,所述候选节点机的性能至少包括如下的一种:
    候选节点机的网络质量;
    候选节点机的网路时延;
    候选节点机的资源信息。
  6. 根据权利要求3所述的方法,其中,还包括:
    当所述身份信息不符合预设条件时,则确定所述第一节点机的IP地址;
    根据所述IP地址和域名解析规则确定第二节点机。
  7. 根据权利要求6所述的方法,其中,所述根据所述IP地址和域名解析规则确定第二节点机,包括:
    根据所述第一节点机的IP地址确定所述第一节点机在内容分发网络中所处的地理位置;
    根据所述地理位置确定第二节点机,所述第二节点机与所述第一节点机的距离符合预设条件,所述第二节点机与所述第一节点处于不同机房。
  8. 一种推送视频流的装置,包括:
    查询请求接收模块,用于接收第一节点机发出的查询请求,所述第一节点机接收视频流时产生所述查询请求;
    节点机确定模块,用于根据所述查询请求确定第二节点机,所述第二节点机与所述第一节点机同机房,或者,所述第二节点机符合对所述第一节点机进行域名解析的结果;
    地址发送模块,用于向所述第一节点机发送所述第二节点机的地址,以使所述第一节点机向所述第二节点机推送视频流。
  9. 一种推送视频流的设备,包括处理器和存储器,所述存储器 用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1-7中任一所述的一种推送视频流的方法。
  10. 一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-7任一所述的一种推送视频流的方法。
PCT/CN2020/096603 2020-05-28 2020-06-17 一种推送视频流的方法、装置、设备和存储介质 WO2021237827A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20803735.8A EP3937502A1 (en) 2020-05-28 2020-06-17 Method, apparatus and device for pushing video stream, and storage medium
US17/103,928 US11212329B2 (en) 2020-05-28 2020-11-24 Method, apparatus, device and storage medium for pushing video stream

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010469023.2A CN111726646A (zh) 2020-05-28 2020-05-28 一种推送视频流的方法、装置、设备和存储介质
CN202010469023.2 2020-05-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/103,928 Continuation US11212329B2 (en) 2020-05-28 2020-11-24 Method, apparatus, device and storage medium for pushing video stream

Publications (1)

Publication Number Publication Date
WO2021237827A1 true WO2021237827A1 (zh) 2021-12-02

Family

ID=72565160

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/096603 WO2021237827A1 (zh) 2020-05-28 2020-06-17 一种推送视频流的方法、装置、设备和存储介质

Country Status (2)

Country Link
CN (1) CN111726646A (zh)
WO (1) WO2021237827A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125489A (zh) * 2021-12-10 2022-03-01 上海哔哩哔哩科技有限公司 数据流分发方法及系统
CN115118652A (zh) * 2022-07-18 2022-09-27 中信百信银行股份有限公司 路由分配方法、装置和设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3937502A1 (en) 2020-05-28 2022-01-12 Wangsu Science & Technology Co., Ltd. Method, apparatus and device for pushing video stream, and storage medium
CN111726646A (zh) * 2020-05-28 2020-09-29 网宿科技股份有限公司 一种推送视频流的方法、装置、设备和存储介质
CN113645478B (zh) * 2021-08-11 2023-06-20 上海哔哩哔哩科技有限公司 直播推流地址分配方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984279A (zh) * 2012-12-17 2013-03-20 复旦大学 Cdn预先主动选择优质节点开展优化内容分发服务的方法
US20150244762A1 (en) * 2007-11-21 2015-08-27 BitGravity, Inc. Efficient video delivery
CN106850581A (zh) * 2017-01-04 2017-06-13 网宿科技股份有限公司 互动直播流媒体数据的分发备份方法、系统及服务器
CN109639502A (zh) * 2018-12-30 2019-04-16 北京奇艺世纪科技有限公司 回源控制方法及内容分发网络
CN110213381A (zh) * 2019-06-12 2019-09-06 中卓信(北京)科技有限公司 动态的内容分发网络构建系统及方法
CN110650069A (zh) * 2019-10-17 2020-01-03 北京知道创宇信息技术股份有限公司 一种cdn节点控制方法、装置及系统
US20200036781A1 (en) * 2016-04-22 2020-01-30 Level 3 Communications, Llc Anycast routing techniques in a network
CN110880980A (zh) * 2018-09-06 2020-03-13 阿里巴巴集团控股有限公司 内容分发网络服务提供方法及处理系统
CN111726646A (zh) * 2020-05-28 2020-09-29 网宿科技股份有限公司 一种推送视频流的方法、装置、设备和存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107027045A (zh) * 2017-04-11 2017-08-08 广州华多网络科技有限公司 视频流推送控制方法、装置及视频流导播端
CN107438115A (zh) * 2017-09-11 2017-12-05 深圳市茁壮网络股份有限公司 一种域名解析方法、装置及系统
CN107911710B (zh) * 2017-11-30 2021-04-23 上海佰贝科技发展股份有限公司 一种直播资源共享管理平台及方法
CN108234827A (zh) * 2018-01-25 2018-06-29 南京纳加信息系统集成有限公司 一种导播设备互联系统及方法
CN110278229A (zh) * 2018-03-15 2019-09-24 阿里巴巴集团控股有限公司 分布式服务集群的负载均衡方法、装置以及电子设备
CN110446054B (zh) * 2018-05-03 2021-06-15 腾讯科技(深圳)有限公司 一种直播流传输方法、装置、节点、系统及存储介质
CN108924639A (zh) * 2018-06-26 2018-11-30 焦点教育科技有限公司 一种应用于教学场景的无线视频投影系统
CN108769271A (zh) * 2018-08-20 2018-11-06 北京百度网讯科技有限公司 负载均衡的方法、装置、存储介质和终端设备
CN109040343B (zh) * 2018-09-11 2021-07-23 达闼科技(北京)有限公司 域名解析方法、装置、计算机可读存储介质及电子设备
CN109413229A (zh) * 2018-12-20 2019-03-01 全链通有限公司 域名解析方法、设备、系统及存储介质
CN109995859A (zh) * 2019-03-26 2019-07-09 网宿科技股份有限公司 一种调度方法、调度服务器及计算机可读存储介质
CN110602445B (zh) * 2019-08-13 2021-06-15 万翼科技有限公司 视频监控数据获取方法、装置、计算机设备和存储介质
CN110535930A (zh) * 2019-08-22 2019-12-03 网宿科技股份有限公司 一种边缘cdn节点的调度方法和系统
CN110677464A (zh) * 2019-09-09 2020-01-10 深圳市网心科技有限公司 边缘节点设备、内容分发系统、方法、计算机设备及介质
CN110460482B (zh) * 2019-09-20 2022-09-02 广州酷狗计算机科技有限公司 流量获取方法、装置、服务器及介质
CN110830604B (zh) * 2019-10-28 2021-09-10 腾讯科技(深圳)有限公司 Dns调度方法、装置
CN110602270B (zh) * 2019-11-01 2022-10-14 北京博睿宏远数据科技股份有限公司 域名解析方法、装置、计算机设备及存储介质
CN111083204B (zh) * 2019-11-29 2022-11-15 广州市百果园信息技术有限公司 文件传输方法、装置及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150244762A1 (en) * 2007-11-21 2015-08-27 BitGravity, Inc. Efficient video delivery
CN102984279A (zh) * 2012-12-17 2013-03-20 复旦大学 Cdn预先主动选择优质节点开展优化内容分发服务的方法
US20200036781A1 (en) * 2016-04-22 2020-01-30 Level 3 Communications, Llc Anycast routing techniques in a network
CN106850581A (zh) * 2017-01-04 2017-06-13 网宿科技股份有限公司 互动直播流媒体数据的分发备份方法、系统及服务器
CN110880980A (zh) * 2018-09-06 2020-03-13 阿里巴巴集团控股有限公司 内容分发网络服务提供方法及处理系统
CN109639502A (zh) * 2018-12-30 2019-04-16 北京奇艺世纪科技有限公司 回源控制方法及内容分发网络
CN110213381A (zh) * 2019-06-12 2019-09-06 中卓信(北京)科技有限公司 动态的内容分发网络构建系统及方法
CN110650069A (zh) * 2019-10-17 2020-01-03 北京知道创宇信息技术股份有限公司 一种cdn节点控制方法、装置及系统
CN111726646A (zh) * 2020-05-28 2020-09-29 网宿科技股份有限公司 一种推送视频流的方法、装置、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3937502A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125489A (zh) * 2021-12-10 2022-03-01 上海哔哩哔哩科技有限公司 数据流分发方法及系统
CN114125489B (zh) * 2021-12-10 2023-05-02 上海哔哩哔哩科技有限公司 数据流分发方法及系统
CN115118652A (zh) * 2022-07-18 2022-09-27 中信百信银行股份有限公司 路由分配方法、装置和设备及存储介质

Also Published As

Publication number Publication date
CN111726646A (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
WO2021237827A1 (zh) 一种推送视频流的方法、装置、设备和存储介质
JP7411735B2 (ja) マルチクラスタイングレス
US10491523B2 (en) Load distribution in data networks
US11212329B2 (en) Method, apparatus, device and storage medium for pushing video stream
US7978631B1 (en) Method and apparatus for encoding and mapping of virtual addresses for clusters
EP3070887B1 (en) Communication method, device and system for virtual extensible local area network
US10015243B2 (en) Optimized content distribution based on metrics derived from the end user
US11336696B2 (en) Control access to domains, servers, and content
WO2020135800A1 (zh) 一种域名服务器的分配方法和装置
US8959185B2 (en) Multitenant server for virtual networks within datacenter
US7962605B2 (en) Distributed device discovery framework for a network
US9172632B2 (en) Optimized content distribution based on metrics derived from the end user
US7644182B2 (en) Reconfiguring a multicast tree
US20130332601A1 (en) Dynamic logging
WO2017032300A1 (zh) 一种数据传输方法、虚拟网络管理装置及数据传输系统
US8812718B2 (en) System and method of streaming data over a distributed infrastructure
CN112087390B (zh) 一种网络路由方法及装置
Lv et al. Virtual resource organization and virtual network embedding across multiple domains
WO2024093064A1 (zh) 一种大规模多模态网络中标识管理及优化转发方法和装置
US20160173374A1 (en) Providing requested content in an overlay information centric networking (o-icn) architecture
US20190325001A1 (en) Information centric network distributed search with approximate cache
Jiang et al. Embedding and reconfiguration algorithms for service aggregation in network virtualization
CN111935336B (zh) 基于IPv6的网络治理方法及系统
CN110139119B (zh) 数字广播系统的p2p音频直播分发方法、装置及存储介质
Cui et al. Method of Device Matching for QoS Based UPnP Framework in Cloud Computing Service

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020803735

Country of ref document: EP

Effective date: 20201118

NENP Non-entry into the national phase

Ref country code: DE