WO2019100364A1 - Dynamic resource allocation method in cloud video platform - Google Patents

Dynamic resource allocation method in cloud video platform Download PDF

Info

Publication number
WO2019100364A1
WO2019100364A1 PCT/CN2017/113042 CN2017113042W WO2019100364A1 WO 2019100364 A1 WO2019100364 A1 WO 2019100364A1 CN 2017113042 W CN2017113042 W CN 2017113042W WO 2019100364 A1 WO2019100364 A1 WO 2019100364A1
Authority
WO
WIPO (PCT)
Prior art keywords
subsystem
flow
stream
information
client
Prior art date
Application number
PCT/CN2017/113042
Other languages
French (fr)
Chinese (zh)
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 PCT/CN2017/113042 priority Critical patent/WO2019100364A1/en
Publication of WO2019100364A1 publication Critical patent/WO2019100364A1/en

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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • 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 

Abstract

The present invention provides a dynamic resource allocation method in a cloud video platform, the cloud video platform comprising a service control subsystem, a stream access subsystem, a stream processing subsystem and a stream service subsystem. The specific steps are as follows: the service control subsystem receiving a client request for acquiring a stream, selecting a stream resource scheduling policy according to the request, and acquiring, according to the stream resource scheduling policy, an IP and port information of the stream processing subsystem; the stream processing subsystem opening a port; the service control subsystem sending to the stream access subsystem the IP and the open port information, and notifying an IPC to push a flow; and the stream service subsystem distributing stream data to the client. The present invention performs, according to a stream resource scheduling policy, dynamic resource scheduling on each subsystem in the cloud video platform, so as to realize quick access, processing and transmission of the IP camera video stream data; moreover, the scheduling of the platform has flexibility of resources, reducing server load and shortening the redundant process, improving the server performance and reducing stream delay, improving the user experience.

Description

Dynamic resource allocation method in cloud video platform Technical field

The present invention relates to the field of cloud video data communication technologies, and in particular, to a dynamic resource allocation method in a cloud video platform.

Background technique

With the rapid development of Internet technology, traditional stand-alone streaming media services have gradually been marginalized. Streaming media applications based on cloud platforms have become a trend. Some webcasts and on-demand broadcasts are coming. The traditional resource allocation method of the cloud video platform mainly uses load balancing technology or a procedural and specific service coupling scheduling method to increase system reliability and scalability.

However, data flows in streaming media applications based on cloud platforms have the following characteristics: The traffic is very large and must be continuous, sequential, and uniform in flow rate; this poses a challenge to traditional load balancing technologies, requiring live or on-demand processes. Fast and smooth playback of midrange video streams. The resource method of the process-coupled service cannot meet the requirements of platformization and service customization, resulting in high system performance consumption and serious flow delay, and even the problem of infinite loop scheduling.

Summary of the invention

The present invention provides a dynamic resource allocation method in a cloud video platform to solve the above problems in the prior art.

According to a first aspect of the present invention, a dynamic resource allocation method in a cloud video platform is provided.

A dynamic resource allocation method in a cloud video platform, where the cloud video platform includes at least an industry control subsystem, a stream access subsystem, a stream processing subsystem, and a stream service subsystem; the method includes the following steps:

The industry control subsystem receives a request for the client to obtain a flow, selects a flow resource scheduling policy according to the request, and requests the flow access subsystem and/or the flow processing subsystem according to the flow resource scheduling policy. Open port

The flow access subsystem and/or the flow processing subsystem open port;

The industry control subsystem notifies the network camera to push the stream;

The flow resource scheduling policy includes three strategies: only live broadcast, no video, live video, and no live broadcast video only;

The industry control subsystem is used for logical operation processing, business processing, security verification and authorization, resource and device management;

The flow access subsystem is configured to support accessing streams of multiple formats, and converting streams of different formats into streams of a target format;

The stream processing subsystem is configured for video recording and screenshots, and the processed live stream data is pushed to the stream service subsystem by using a TS/RTP/UDP protocol;

The streaming service subsystem is configured to smoothly distribute data streams to clients.

Further, after receiving the request for the client to obtain the flow, the industry control subsystem further includes:

Digest authentication;

If the Digest authentication fails, the error message is returned to the client, and the process ends; if the Digest authentication is passed, the information indicating whether the Sn device exists and is online in the database is queried.

Further, the information about whether the specified Sn device exists and is in the online state in the query database further includes:

1) If the specified Sn device does not exist, an error message is returned to the client, and the process ends;

2) if the specified Sn device exists, querying whether the specified Sn device is in an online state: a. If the specified Sn device is in an offline state, returning an error message to the client, the process ends; b. The designated Sn device is in an online state, and the industry control subsystem queries the database log table for the record of the specified Sn device, and determines the total number of times the device Sn requests the message one minute before the client sends the request time. If the number of times defined in the configuration file is exceeded, the error information is directly returned to the client. If the number of times exceeds the limit, the first related information of the specified Sn device is continuously queried, and the first related information that is queried is returned. Give the industry control subsystem.

Further, the first related information of the designated Sn device specifically refers to:

1) whether the designated Sn device has provided a P2P live broadcast;

2) the number of users that the designated Sn device has provided the relay;

3) the total duration of the relay that the designated Sn device has provided;

4) the limitation of the total duration of the relay in the specified Sn device configuration table;

5) Whether the P2P and the Relay are allowed to be simultaneously supported in the specified Sn device configuration table;

6) The number of users in the specified Sn device configuration table that support the maximum number of Relays.

Further, if the first related information of the designated Sn device does not satisfy the condition for providing the relay, the error information is returned to the client, and the process ends;

If the first related information of the designated Sn device satisfies the condition for providing the Relay, the second related information of the designated Sn device in the database is continuously queried, and the database returns the queried second related information to the control subsystem.

Further, the second related information of the designated Sn device specifically refers to:

1) stream resource scheduling status flag;

2) Configure the flow access method provided by the device in the package table.

Further, after the database returns the second related information to the industry control subsystem, the method further includes: querying the flow resource scheduling policy in the specified Sn device in the configuration package table, which one of the three policies and corresponding The way RTP pushes;

The manner of the corresponding RTP push stream includes:

1) If the flow resource scheduling policy is only live broadcast and no video recording, the corresponding RTP push stream is as follows: if the flow check flag is ready relay, the number of connected client users is +1, and the corresponding table is updated; The time when the relay starts; the information of the URL is queried; the control subsystem returns the URL of the Relay request response, and the process ends;

2) If the flow resource scheduling policy is live broadcast and video recording, the corresponding RTP push flow is as follows: if the flow detection flag is loading relay, the flow resource scheduling status flag is periodically queried; if the flow detection flag is ready relay, Compare the number of currently connected client users and the maximum number of client users: a. If the number of currently accessed client users is less than or equal to the maximum number of client users, the number of connected client users is +1, and the corresponding update is performed. a table; record the time when the relay starts; query the information of the URL; the industry control subsystem returns the URL of the Relay request response, and ends the process; b. if the number of currently accessed client users is greater than the maximum number of client users, The industry control subsystem returns an error message, and the process ends;

3) If the flow resource scheduling policy is not live broadcast only video, the corresponding RTP push flow is as follows: the check flow flag is non-loading relay and non-ready In the case of Relay, the flow resource scheduling status is modified to be loading Relay.

Further, after the flow resource scheduling policy in the specified Sn device in the query configuration package table is one of the three policies and the corresponding RTP push flow manner, the method further includes:

Querying related information of the stream service subsystem, the stream processing subsystem, and the stream access subsystem with the least load and the second smallest in the database, where the related information includes at least IP information and port information.

Further, after the flow resource scheduling policy in the specified Sn device in the query configuration package table is one of the three policies and the corresponding RTP push flow manner, the method further includes:

Querying, in the database, device information about the network camera, sending a request including the port information of the specified Sn device and the stream service subsystem, notifying the flow service subsystem open port with the smallest load, and then the load is minimum Streaming service subsystem open port, and returning open port information to the industry control subsystem; if the industry control subsystem requests abnormal processing of the stream processing subsystem, notify the stream service subsystem to release The resource, the flow resource scheduling status flag is changed to free, the error information is returned to the client, and the process ends; if the industry control subsystem does not perform abnormal error processing on the requesting flow processing subsystem, the flow configuration information is updated. Prepare for the video;

Querying, in the database, device information about the network camera, sending a request including the port information of the specified Sn device and the stream processing subsystem, notifying the stream access subsystem of an open port, and then the stream accessing the sub-port The system opens the port and returns the open port information to the industry control subsystem. If the industry control subsystem requests abnormal processing of the flow access subsystem, the flow service subsystem and the flow are notified. The processing subsystem releases the resource, changes the flow resource scheduling status flag to free, returns an error message to the client, and the process ends.

Further, if the industry control subsystem does not perform abnormal error processing on the requesting flow processing subsystem, the flow configuration information is updated to prepare for the video recording as follows:

The industry control subsystem sends a request for accessing the IP and open port information of the stream service subsystem, the stream processing subsystem, the stream access subsystem, and notifying the network camera to start pushing traffic;

An instruction center connected to the network camera requests the network camera to push the stream;

The network camera returns a response to the instruction center;

The instruction center returns a response result to the industry control subsystem;

If the command center does not receive a response or request for the network camera to push the stream within a specified time If the industry control subsystem does not receive the error returned by the push flow request within a specified time, the flow service subsystem, the flow processing subsystem, and the open port resource of the flow access subsystem are released in sequence. Simultaneously sending a request to stop the push flow to the network camera; otherwise, the industry control subsystem queries the Wowza flow state in the database, and if the flow is not pushed to the flow service subsystem, periodically queries the flow resource scheduling a status flag and the Url, releasing resources of the service subsystem, the stream processing subsystem, the stream access subsystem, and the network camera, modifying the flow resource scheduling status flag to Free, to a client Ending the error message, the process ends, returning the query information; if the stream has been pushed to the stream service subsystem, updating the stream resource scheduling status flag is ready relay, and the industry control subsystem records the time when the relay ends. Returning the Url of the Relay request response to the client, and the process ends;

The Wowza is a server connected to the client, and is configured to convert the stream pushed by the network camera into a Wowza stream to the client.

Compared with the prior art, the beneficial effects of the present invention are:

According to different products and business scenarios, dynamic resource scheduling is performed on each subsystem in the cloud video platform, which can realize fast access, processing and transmission of network camera video stream data. At the same time, platform scheduling is adopted for different services and products. It has the flexibility of resources to reduce server load and shorten redundant processes, improve server performance and less flow latency, and improve user experience.

The additional aspects and advantages of the invention will be set forth in part in the description which follows.

DRAWINGS

The above and/or additional aspects and advantages of the present invention will become apparent and readily understood from

1 is a structural diagram of a cloud video platform in an embodiment of the present invention;

2 is a schematic flowchart of a dynamic resource allocation method in a cloud video platform according to an embodiment of the present invention;

FIG. 3 is a flow chart of a flow resource scheduling policy in the embodiment of the present invention.

4 is a flow chart of a streaming resource scheduling policy-live and video recording according to an embodiment of the present invention;

FIG. 5 is a flowchart of a flow resource scheduling policy in the embodiment of the present invention.

6 is a platform framework diagram of a dynamic resource allocation method in a cloud video platform according to an embodiment of the present invention;

7 is a structural diagram of an overall scheme of flow resource scheduling of a dynamic resource allocation method in a cloud video platform according to an embodiment of the present invention;

FIG. 8 is a schematic diagram of an overall architecture flow of a dynamic resource allocation method applied to a live broadcast and an on-demand in a cloud video platform according to an embodiment of the present invention; FIG.

9 is a resource allocation method for a video live broadcast Relay service of a cloud video platform that provides a dynamic video stream architecture according to an actual service requirement according to an embodiment of the present invention;

FIG. 10 is a schematic diagram of the live broadcast and on-demand modularization of the present embodiment of the present invention.

Detailed ways

The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention.

In the flow of the description of the invention and the claims and the above-described figures, a plurality of operations in a particular order are included, but it should be clearly understood that these operations may not follow the order in which they appear in this document. Execution or parallel execution, the serial number of the operation such as 101, 102, etc., is only used to distinguish different operations, and the serial number itself does not represent any execution order. Additionally, these processes may include more or fewer operations, and these operations may be performed sequentially or in parallel. It should be noted that the descriptions of “first” and “second” in this document are used to distinguish different messages, devices, modules, etc., and do not represent the order, nor the “first” and “second”. It is a different type.

The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the invention, but not all embodiments. All other embodiments obtained by a person skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.

Those skilled in the art will appreciate that all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention belongs, unless otherwise defined. It should also be understood that terms such as those defined in a general dictionary should be understood to have meaning consistent with the meaning in the context of the prior art, and will not be idealized or excessive unless specifically defined as here. The formal meaning is explained.

Those of ordinary skill in the art will appreciate that the meaning of the nouns involved in the present invention includes at least:

The Real-time Transport Protocol (RTP) is a network transmission protocol.

Client: referred to as APP or App or app, mainly refers to software installed on the smart device. In this embodiment, it specifically refers to software capable of providing audio and video to improve the deficiency and personalization of the original system;

IPC: is the abbreviation of IP Camera, IP is the Internet Protocol, Camera is the camera, camera, IP Camera as the name suggests is the network camera, it is a new generation of cameras produced by the combination of traditional cameras and network technology.

A database (database, DB) is a warehouse built on a computer storage device that organizes, stores, and manages data according to a data structure to implement data sharing, reduce data redundancy, data independence, and data centralized control. , data consistency and maintainability, ensuring data security and reliability, and failure recovery.

Url, also known as the Uniform Resource Locator, is a compact representation of the location and access methods of resources available on the Internet, and is the address of standard resources on the Internet. Every file on the Internet has a unique URL that contains information indicating the location of the file and how the browser should handle it. The syntax of the Uniform Resource Locator is generic and extensible, and it uses a portion of the ASCII code to represent the address of the Internet. The beginning of a general Uniform Resource Locator marks the network protocol used by a computer network.

Relay (Relay Node) means that the base station or the user does not directly send signals to each other, but through the relay node, and performs signal amplification or regeneration processing for forwarding. Taking a simple two-hop relay system as an example, a base station-mobile link is divided into two links: a base station-relay node and a relay node-mobile station, so that a poor quality link can be replaced. For two better quality links, get higher link capacity and better coverage.

The SDX (serial digital interface) serial interface is an interface that sequentially transmits each bit of a data word and corresponding data through a single channel. Due to the high data rate of serial digital signals, they must be processed before transmission.

The SDI interface cannot directly transmit compressed digital signals. After the compressed signals recorded by devices such as digital video recorders and hard disks are reproduced, they must be decompressed and output via the SDI interface to enter the SDI system. Repeated decompression and compression will inevitably lead to image degradation and increased latency. For this reason, digital recorders and non-linear editing systems of various formats specify their own interfaces for direct transmission of compressed digital signals.

The API (Application Programming Interface) is a predefined function that provides the ability for applications and developers to access a set of routines based on a piece of software or hardware without having to access source code or understand internal work. The details of the mechanism.

P2P, the full name of P2P network transmission, specifically refers to peer-to-peer network, that is, peer-to-peer computer network, is a distributed application architecture that distributes tasks and workloads between peers. It is a peer-to-peer computing model in application. A form of networking or network formed by layers.

CURD is an acronym in database technology. The basic functions of various parameters for general project development are CURD. The role is the basic atomic operation used to process data.

Wowza, a video server, is easy to use and economical, and can provide high-capacity audio and video content to desktop computers, notebooks, mobile terminals (mobile phones and tablets) or IP set-top boxes through IP networks; Wowza servers increase economics to reduce coding, storage and management costs for wireless broadcast television content distribution networks (CDNs), as well as other rich media companies to save costs, increase efficiency and streamline workflows.

The full name of the CDN is the Content Delivery Network, the content distribution network. The basic idea is to avoid the bottlenecks and links on the Internet that may affect the speed and stability of data transmission, so that the content transmission is faster and more stable. By placing a layer of intelligent virtual network based on the existing Internet on the network, the CDN system can real-time based on network traffic and connection, load status, and distance and response time to users. The integrated information redirects the user's request to the service node closest to the user. The purpose is to enable users to obtain the required content in the vicinity, solve the congestion of the Internet network, and improve the response speed of users visiting the website.

Therefore, in order to solve the above problem, a dynamic resource allocation method in a cloud video platform is provided. As shown in FIG. 1, the cloud video platform A101 includes at least an industry control subsystem A102, a stream access subsystem A103, and a stream processing subsystem. A104, stream service subsystem A105:

The industry control subsystem A102 receives the request of the client to obtain the flow, selects a flow resource scheduling policy according to the request, and requests the flow access subsystem A103 and/or the flow processing subsystem A104 to open the port according to the flow resource scheduling policy;

Stream access subsystem A103 and/or stream processing subsystem A104 open port;

The industry control subsystem A102 notifies the IPC to push the stream;

The flow resource scheduling strategy includes three strategies: only live broadcast, no video, live video, and no live broadcast video only;

IPC refers to a network camera;

Industry Control Subsystem A102 for logical operation processing, business processing, security verification and authorization, resource and device management;

The stream accessing subsystem A103 is configured to support accessing streams of multiple formats, and converting streams of different formats into streams of the target format;

The stream processing subsystem A104 is configured to perform video recording and screenshots, and push the processed live stream data to the stream service subsystem A105 by using a TS/RTP/UDP protocol;

The stream service subsystem A105 is used to smoothly distribute data streams to clients.

Embodiment 1

A dynamic resource allocation method in a cloud video platform, the specific steps are as follows:

The client requests to obtain the Url of the device Relay stream resource;

The industry control subsystem A102 obtains the Url of the device Relay stream resource;

If the flow resource scheduling policy is that only the live broadcast is not recorded, the scheduling service module determines whether the specified Sn device has a flow, and if there is a flow, assembles the RelayUrl and sends the Url to the client. If not, the RTP flow is adopted according to the configuration and the package of the user. The method of calling the live broadcast is not recorded, and then scheduling the flow resource, assembling the acquired resource into RelayUrl, and sending the Url to the client; the process is as shown in FIG. 3:

S110: only live broadcast does not record;

S120: scheduling service module judgment processing;

S130: The scheduling service determines whether the designated Sn device has a flow, if not, go to step S1311; if there is flow, go to step S1321;

S1311: Get a specific policy according to the user's configuration and package;

S1312: Invoking a live broadcast non-recording strategy by means of an RTP stream according to a user configuration and a package;

S1313: Perform flow resource scheduling.

S1314: assembled into RelayUrl;

S1315: Send the Url to the client.

S1321: assembling RelayUrl;

S1322: Send the Url to the client.

S140: The process ends.

If the flow resource scheduling policy is live broadcast and video recording, the scheduling service module determines whether the specified Sn device has a flow, if there is a flow, assembles the RelayUrl, and sends the Url to the client, if not, according to the user configuration and the package through the RTP flow. The method invokes the live and video recording strategy, then performs streaming resource scheduling, and performs video recording, assembles the acquired resources into RelayUrl, and sends the Url to the client; the process is specifically as shown in FIG. 4:

S210: live broadcast and video recording;

S220: Scheduling service module judgment processing

S230: The scheduling service determines whether the specified Sn device has a flow, if not, go to step S2311; if there is flow, go to step S2321;

S2311: Obtain a specific policy according to the user's configuration and package.

S2312: Invoking a live broadcast non-recording strategy by means of an RTP stream according to the configuration and the package of the user;

S2313: Flow resource scheduling;

S2314: video;

S2315: assembled into RelayUrl;

S2316: Send Url to the client

S2321: Assembled into RelayUrl

S2322: Send Url to the client

S240: The process ends.

Video recording in the present invention may also be referred to as video recording.

If the flow resource scheduling policy is not live broadcast only, the scheduling service determines whether the designated Sn device has a stream, if any, then performs recording, if not, then performs streaming resource scheduling, and then performs video recording as shown in FIG. 5:

S310: Do not broadcast only video;

S320: scheduling service judgment processing;

S330: The scheduling service determines whether the designated Sn device has a flow, if not, then proceeds to step S3311; if yes, then proceeds to S3321;

S3311: Flow resource scheduling;

S3312: video;

S3321: video;

S340: The process ends.

Specifically, as shown in FIG. 2, the specific steps of this embodiment are as follows:

Step 1, the client requests to obtain the Url of the device Relay stream resource;

Step 2. Perform Digest authentication:

If the Digest authentication is passed, query the database to indicate whether the Sn device exists and is online (involving the fields of the table t_platform_ipcamera, camera_islive and camera_isonline);

If the Digest authentication fails, the error message is returned to the client, and the process ends (the camera_islive and camera_isonline are different at the same time, the error message is returned);

Digest mode is an authentication mode in the TTP protocol specification. It was proposed in HTTP1.1. It is mainly used to solve the Basic mode security problem and is used to replace the original Basic authentication mode. Digest authentication also adopts the challenge/response authentication mode. The basic authentication process is similar, the whole process is as follows:

1) The browser sends an http message requesting a protected resource;

2) The web container of the server sets the response code of the http response message to 401, and the response header is more complex than the Basic mode. WWW-Authenticate: Digest realm=”yTomcat”, qop=“auth”, nonce=“xxxxxxxxxxx”, opaque = "xxxxxxxx". The auth of qop indicates the authentication mode; the nonce is a random string; the value specified by the opaque server, the client needs to return the original value;

3) The browser pop-up dialog box allows the user to input the user name and password, and the browser performs MD5 operation on the combination of the user name, password, nonce value, HTTP request method, and requested resource URI, and sends the calculated summary information to the server. . The request header is similar to the following, Authorization: Digest username = "xxxxx", realm = "myTomcat", qop = "auth", nonce = "xxxxx", uri = "xxxx", cnonce = "xxxxxx", nc=00000001, response = "xxxxxxxxx", opaque = "xxxxxxxxx". Where username is the username; cnonce is the random string generated by the client; nc is the number of times the authentication is run; response is the final calculated summary;

4) The server web container obtains the authentication information related to the HTTP packet header, obtains the username from the user, obtains the corresponding password according to the username, and also applies the username, password, nonce value, and HTTP request method. The requested resource URI is combined to perform the MD5 operation, and the calculation result is compared with the response. If the matching is successful, the authentication succeeds and the related resource is returned, otherwise, 2 is performed again, and the authentication is performed again;

5) Bring the authentication header with each visit.

In fact, the authentication of the identity of the two parties is very common through the hash algorithm. The advantage is that it is not necessary to transmit the information with the password. Just add the password information to a random value given by the other party to calculate the hash value, and finally hash. The value is passed to the other party and the other party can authenticate you. The same is true for Digest, which uses a nonce random number string, and the two parties agree on which information to hash to complete the verification of the identity of both parties. Digest mode avoids the transmission of passwords on the network in plain text, which improves security.

Step 3: The industry control subsystem A102 queries the log table t_platform_log in the database for information about whether the specified Sn device exists and is online, as follows:

1) If the specified Sn device does not exist, an error message is returned to the client, and the process ends;

2) if the specified Sn device exists, querying whether the specified Sn device is in an online state: a. If the specified Sn device is in an offline state, returning an error message to the client, the process ends; b. The designated Sn device is in an online state, and the industry control subsystem A102 queries the database log table for the record of the specified Sn device, and determines the total number of times the device Sn requests the message one minute before the client sends the request time. If the number of times defined in the configuration file is exceeded, the error information is directly returned to the client. If the number of times exceeds the limit, the first related information of the specified Sn device is continuously queried, and the first related information is queried. Returned to the industry control subsystem A102;

The industry control subsystem A102 determines the total number of times (the number of failures + the number of successes) of the device Sn request from the client one minute before the request time is issued. If the number of times defined in the configuration file is exceeded, the error information is directly returned to the client. For example, the content of the returned error message can be: Request Relay is busy, please try again later;

If the number of times is not exceeded, the first related information of the designated Sn device is continuously queried, and the database returns the information of the query to the control subsystem A102.

Specifically, the first related information of the designated Sn device specifically refers to:

1) Specify whether the Sn device has provided P2P live broadcast;

2) Specify the number of users who have provided Relay for the Sn device;

3) Specify the total duration of the relay that the Sn device has provided;

4) Specify the limit of the total duration of the relay in the Sn device configuration table;

5) Specify whether the P2P and Relay are allowed to be supported at the same time in the Sn device configuration table.

6) Specify the maximum number of users in the Sn device configuration table that support Relay.

Further, if the first related information of the designated Sn device does not satisfy the condition for providing the relay, the error information is returned to the client, and the process ends;

If the first related information of the designated Sn device meets the condition for providing the relay, the second related information of the designated Sn device is continuously queried, and the database returns to query the second related information of the specified Sn device to the control subsystem A102.

Specifically, the second related information of the designated Sn device specifically refers to:

1) The flow resource scheduling status flag relates to the table t_platform_ipcamera_stream;

2) Configure the flow access mode provided by the device in the package table. Currently, it is fixed in PUSH_TS_RTP_TCP mode.

Step 4: Querying the flow resource scheduling policy in the Sn device in the configuration package table in the database is which of the three policies and the corresponding RTP push flow manner;

The manner of the corresponding RTP push stream includes:

1) If the flow resource scheduling policy is only live broadcast and no video recording, the corresponding RTP push stream is as follows: if the check stream tag is ready relay, and the table t_platform_ipcamera_stream is involved, the number of accessed client users is +1, updated. Correspondence table, related to the table t_platform_ipcamera_stream; record the time when the relay starts, referring to the table t_platform_ipcamera_stream; querying the URL information; the industry control subsystem A102 returns the URL of the Relay request response, and ends the process;

2) If the flow resource scheduling policy is live broadcast and video recording, the corresponding RTP push flow is as follows: if the flow detection flag is loading relay, the flow resource scheduling status flag is periodically queried; if the flow detection flag is ready relay, Compare the number of currently connected client users and the maximum number of client users: a. If the number of currently accessed client users is less than or equal to the maximum number of client users, the number of connected client users is +1, and the corresponding update is performed. a table; record the time when the relay starts; query the information of the URL; the industry control subsystem A102 returns the URL of the Relay request response, and ends the process; b. if the number of currently accessed client users is greater than the maximum number of client users, Then the industry control subsystem A102 returns an error message, and the process ends;

3) If the streaming resource scheduling policy is not live broadcast only video, the corresponding RTP push stream is as follows: When the flow detection flag is non-loading relay and non-ready relay, the modified flow resource scheduling status is marked as loading relay, which involves the table t_platform_ipcamera_stream.

Step 5: Query the related information of the stream service subsystem A105, the stream processing subsystem A104, and the stream access subsystem A103 that have the least load and the second smallest in the database, and the related information includes at least IP information and port information.

specific:

1) querying the IP information and port information of the stream service subsystem A105 with the smallest load and the second smallest in the database;

2) querying the IP information and port information of the stream processing subsystem A104 with the smallest load and the second smallest in the database;

3) Query the IP information and port information of the stream access subsystem A103 with the smallest load and the smallest time in the database.

The 1), 2), and 3) all relate to the table t_platform_ipcamera_stream.

The maximum and second largest subsystem information is determined according to the results calculated by the weighting formula before each scheduling. The weighted query algorithm is as follows:

1. Heartbeat situation (0.4)

2. The last scheduled failure (0.3)

3. Current subsystem: with or without flow access (0.1)

4. Number of stream accesses (0.2)

Step 6. The industry control subsystem A102 queries the device information about the IPC in the database. The device information is reported after the IPC connection instruction center successfully reports the success of the control subsystem A102, and sends the specified Sn device and the stream service subsystem A105. A request for information such as port information notifies the stream service subsystem A 105 that has the smallest load to open the port, prepares the access stream, and refers to the table t_platform_ipcamera_stream.

Step 7. The flow service subsystem A105 with the smallest load opens the port, and returns information such as the open port to the control subsystem A102. If an abnormal situation occurs, for example, a timeout or an error is returned, the timeout is performed again in step 6; After the timeout, the step 6 is re-requested for the sub-minimum stream service subsystem A105; if the error is returned directly, the step 6 is requested by the sub-minimum stream service subsystem A105. Operation; when the minimum or failure occurs, the flow resource scheduling status flag is changed to free, the error information is returned to the client, and the process ends;

If the industry control subsystem A102 does not perform abnormal error processing on the request stream processing subsystem A104, the stream configuration information is updated to prepare for the video recording;

Step 8: querying the device information about the IPC in the database, sending a request including information such as the specified Sn device and the stream processing port, notifying the flow access subsystem A103 of the open port, preparing the access flow, involving the table t_platform_ipcamera_stream, and then splicing Enter the subsystem A103 to open the port, and return the open port and other information to the industry control subsystem A102. If the industry control subsystem A102 performs abnormal error processing on the request stream access subsystem A103, notify the stream service subsystem A105 and the stream processor. The system A104 releases the resource, changes the flow resource scheduling status flag to free, returns an error message to the client, and the process ends.

Step 9. The industry control subsystem A102 sends a request for information such as the access stream service subsystem A105, the stream processing subsystem A104, the flow access subsystem A103's IP and the open port, and notifies the IPC to start pushing traffic;

Step 10: The instruction center connected to the network camera requests IPC to push the flow;

Step 11. The IPC returns a response to the instruction center.

Step 12, the instruction center returns a response result to the industry control subsystem A102;

Step 13. If the time can be set to 30 within a specified time, and the response of the IPC push flow or the error returned by the push flow request is not received, the stream service subsystem A 105, the stream processing subsystem A 104, and the stream are released in order. Accessing the open port resource of the subsystem A103, and simultaneously sending a request to the IPC to stop the push flow;

Step 14. The industry control subsystem A102 queries the Wowza flow state in the database. If the flow is not pushed to the flow service subsystem A105, the timing may be set to check every second, and the total check is not checked five times. To avoid falling into an infinite loop, query the flow resource scheduling status flag and Url, involve the table t_platform_ipcamera_stream, release the resources of the service subsystem, the stream processing subsystem A104, the stream access subsystem A103 and the IPC, and modify the flow resource scheduling status flag to Free, return error information to the client, the process ends, return the query information;

If the stream has been pushed to the stream service subsystem A105, the update stream resource scheduling status is marked as ready relay, and the industry control subsystem A102 records the time when the relay ends, returns the Url of the Relay request response to the client, and the process ends;

The Wowza is a server connected to the client, and is configured to convert the flow pushed by the network camera into Wowza flows to the client.

The invention performs dynamic resource scheduling on each subsystem in the cloud video platform according to different products and service scenarios, and can realize fast access, processing and transmission of network camera video stream data; and at the same time, adopts platformization for different services and products. Scheduling, with the flexibility of resources, reduces server load and shortens lengthy processes, improves server performance and reduces stream delays, and improves user experience.

Embodiment 2

As shown in FIG. 6, it is a platform framework of a dynamic resource allocation method in a cloud video platform, specifically:

The service basic function module and the technical basic module are divided in the basic capability layer, the policy layer, the template layer and the configuration combination layer are divided in the service composition layer, and the agent adaptation layer, the factory layer and the facade of the foregoing two layers are divided in the session layer. Interface layer, the presentation layer includes encapsulated SDX and API interfaces, and each layer performs data interaction according to resource allocation.

As shown in FIG. 7 , it is an overall scheme for streaming resource scheduling of a dynamic resource allocation method in a cloud video platform, which is a specific extension of the platform framework, specifically, modularization of each layer, as follows:

The resource scheduling and finishing scheme is specifically to first divide the outflow resource scheduling module, and the flow resource scheduling strategy partitioning module of the flow resource scheduling module is as follows:

For live broadcast only, there are authentication modules, scheduling service modules, resource scheduling policy modules, flow scheduling modules, and assembly Url modules.

For the live broadcast and video recording process, the authentication module, the scheduling service module, the resource scheduling policy module, the flow scheduling module, the recording module, and the assembled Url module are successively completed;

For the non-live broadcast only recording process, the authentication module, the scheduling service module, the resource scheduling policy module, the flow scheduling module, and the recording module are successively completed;

The top layer module includes an authentication module, a scheduling service module, a resource scheduling policy module, a flow scheduling module, a recording module, and an assembly Url module;

The policy layer is a flow resource scheduling module of the decision flow resource scheduling policy, but the specific flow resource scheduling policy needs to be configured according to the configuration layer;

The configuration combination layer specifically refers to an implementation process of obtaining which flow type is selected from the configuration package, and a process of obtaining which flow scheduling is implemented from the configuration package;

The basic capability layer includes a service basic module and a technical basic function module for performing data interaction;

The service basic module also relates to the following aspects: the Digest authentication module, records the Relay log module, checks whether the Sn exists module, checks whether the Sn is an online module, determines the IPC module, queries the current flow state module, and modifies the flow state module of the current flow state module. Check whether the stream type module is defined, check the user package module, query the flow scheduling policy module, check whether the product supports the P2P&Relay module at the same time, perform the corresponding flow scheduling module according to the scheduling type, and query the live stream service subsystem A105 for the optimal time. Excellent IP and port, query live stream processing subsystem A104 optimal sub-optimal IP and port and query live stream access subsystem A103 optimal sub-optimal IP and port search subsystem optimal sub-optimal IP module, request live streaming service The subsystem A105 open port number module, the request live stream processing subsystem A104 open port number module, the request live stream access subsystem A103 open port number module, and the flow scheduling module include a flow scheduling module requesting an IPC module, requesting IPC upstream and requesting Request IPC module for IPC stop flow, including flow status module and request for live streaming service A105 release system resources, live stream processing subsystem requesting the release of resources A104, A103 requesting live stream access subsystem releasing module to release the resources and the resource request comprises a flow anomaly in IPC modules, to check whether Wowza flow module, the module assembly Relay Url.

The technical basic function module involves the CURD of the database table, specifically:

The operation of the log table refers to inserting the relay log record;

The operation of the main table of the camera refers to querying the camera object according to the serial number Sn.

The operation of the flow resource state statistical information table refers to the object that finds the flow state according to the serial number Sn, and updates the flow state object according to parameters such as the serial number Sn.

The configuration table operation refers to querying the product capability configuration parameters according to the product type, obtaining the specific scheduling policy steps by the product type and the flow type, and requesting the user upper limit value in the query configuration table, and the total number of requests within one minute;

The operation of each subsystem information table refers to the IP and port of the optimal sub-optimal subsystem according to the Id of the subsystem;

Subsystem flow resource status table operation refers to querying each subsystem flow state object according to the input parameters.

A person skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the system, the module and the related working unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.

It is worth noting that each product has a module combination order, the number of modules, and the specific module differences. Therefore, each product has a capability configuration.

The flow resource scheduling process can be decomposed into the following steps: 1) preparation before scheduling; 2) scheduling strategy; 3) scheduling processing; 4) flow exception processing; wherein the flow exception processing is in the first three Both steps exist.

The factors that need to be considered for scheduling: the type of flow, the product model, the different flow types affect the specific implementation of the outflow and the different scheduling subsystems; the different product models affect the different scheduling strategies and scheduling subsystems; After the relevant scheduling, and how to deal with the difference in details.

Therefore, the design mode adopted in this embodiment is a combination of a policy mode and a factory mode. details as follows:

1) Fix the entire scheduling process; as this is constant.

2) Differentiated things are solved through callbacks and product capability configuration; here is the advantage of object-oriented polymorphism.

Creation of public scheduling resources

The callback function implements the pre-scheduling processing logic of the specific difference in the specific product; then, by the type of the stream, the product model selects the appropriate correct scheduling strategy and steps from the specific factory. The specific process is as follows:

{

//Stream resource scheduling

*/

*1, obtain the specific scheduling subsystem configuration by product type and stream type (this configuration belongs to product capability configuration)

*2. Obtain the specific scheduling policy steps by product type and stream type (this configuration belongs to product capability configuration)

*3, find subsystems (optimal and sub-optimal)

*4, enter the specific processing link

*5, return the scheduling result

*6, scheduling failure, call flow exception handling module processing according to the return status code

Successful scheduling

*/

//Common resource destruction

Callback function, post-scheduling differential resource destruction processing logic that implements specific differences in specific products

/ / Call url assembly module

/* Here you can also fix different assembly rules.

* Choose when to use specific urls under different needs

*/

Return the assembled url;

}

The product scheduling system and policy capability configuration design refers to the product type number, the number of scheduling subsystems, the scheduling subsystem, and its scheduling order.

For example: HPC03A and 1, 2, 3, where 1 represents AS, specifically refers to the flow access subsystem A103, 2 represents LS, specifically refers to the flow processing subsystem A104, 3 represents SS, specifically refers to the flow service subsystem A105, the scheduling steps of the HPC03A RTP stream are as follows:

Step 1. Scheduling the creation of a common resource;

Step 2, callback HPC03A private pre-scheduling processing;

Step 3. Find the scheduling subsystem and sequence from the capability configuration according to the Sn and RTP types: AS->LS->SS;

Step 4: Find AS, LS, SS optimal and sub-optimal subsystems;

Step 5. Scheduling AS, LS, SS, returning their IP and port, and saving them;

Step 6. The AS, LS, and SS are connected in series according to the IP and the port returned respectively.

Step 7 and any errors in steps 1-6 return the corresponding status code;

Step 8. Call a flow exception processing module according to the status code.

Step 9. No timely release of resources is required after scheduling.

Embodiment 3

As shown in FIG. 8 , it is an overall architecture flow of a dynamic resource allocation method applied to a live broadcast and an on-demand in a cloud video platform, where S3 refers to a flow access subsystem A 103 , a stream processing subsystem A 104 , and a stream service subsystem. A105, BLC refers to the industry control subsystem A102.

The specific implementation process is as follows.

As shown in FIG. 9 , a resource allocation method for a video live broadcast Relay service of a cloud video platform that provides a dynamic video stream architecture according to actual service requirements includes the following steps:

1. The user sends a live broadcast request through the client;

2. The BLC queries the database for the user's package capability, and the database returns the query information;

3. The BLC determines the type, number, and order of the scenario scheduling subsystem based on the query information, and notifies the AS to obtain the IP address and port information of the largest and the second largest AS. The AS port pool is ready for the standby port and feedback information. The BLC feedback action succeeds. carried out;

4. The AS records the IP and port of the scheduled AS into the database;

5. The AS checks whether the number of ports is sufficient. If the number of ports is insufficient, add a new port to complement the port. If the number of ports is too large, reduce the number of ports.

6. The BLC notifies the SS to obtain the IP and port information of the largest and the second largest SS, and the SS port pool prepares the standby port and feeds back the information; the BLC feedback action is successfully executed;

7. Record the IP and port of the scheduled SS into the database;

8. The SS checks whether the number of ports is sufficient. If the number of ports is not enough, add a new port to complement the port. If the number of ports is too large, reduce the redundant port.

9, BLC assembly live Url;

10. The BLC feeds back the live broadcast address to the client;

11. The BLC queries the database, notifies the IP and port of the IPC and the AS, and requests the push flow;

12. IPC is pushed to the AS;

13. The AS needs to query the database for the first time to obtain the address and port of the SS.

14, AS push to the SS;

15. The SS caches the data and returns relevant information to the BLC;

16. If the SS detects that there is no flow within a period of time, the abnormal mechanism mode is turned on;

17. The BLC sends a cleanup stream command to the SS, and the SS cleanup subsystem

18. The BLC sends a cleanup flow command to the AS, and the AS cleans up the subsystem.

The package capability provides capability support, and the product scheduling capability configuration provides the product with a scheduling strategy. Determine the type, number, and order of subsystem calls based on product and business type. These parameters are all in product scheduling Reflected in the force configuration. The product scheduling capability configuration is stored in the database. The basic process is as follows:

(1) The client requests live broadcast;

(2) The industry control subsystem A102 obtains the package capability of the live IPC;

(3) Industry Control Subsystem A102 Scheduling:

(3.1) determining a scheduling subsystem according to capabilities and products (requires scheduling flow access subsystem A103, flow service subsystem A105);

(3.2) Scheduling the largest and second largest subsystems (obtaining subsystem IPCs and ports from the database);

(3.3) notify each subsystem to be connected in series;

(3.4) Inform the IPC, the IPC and port of the AS, and request IPC to push traffic.

The basic process of the resource allocation method for the video playback service in the cloud video platform is as follows:

(1) The client requests on-demand;

(2) The industry control subsystem A102 obtains the package capability of the live IPC;

(3) Industry Control Subsystem A102 Scheduling:

(3.1) Determine the scheduling subsystem according to the capability and product (requires scheduling flow access subsystem A103 and stream processing subsystem A104)

(3.2) Scheduling the largest and second largest subsystems (obtaining subsystem IPCs and ports from the database);

(3.3) notify each subsystem to be connected in series;

(3.4) Notify the IPC and the IPC and port of the AS, and request IPC to push the flow.

As shown in FIG. 10, it is a schematic diagram of the live broadcast and on-demand modularization of this embodiment, which is specifically as follows:

The resource scheduling and finishing scheme is specifically to first divide the outflow resource scheduling module, and the flow resource scheduling strategy partitioning module of the flow resource scheduling module is as follows:

For live broadcast only, there are authentication modules, scheduling service modules, resource scheduling policy modules, flow scheduling modules, and assembly Url modules.

For the live broadcast and video recording process, the authentication module, the scheduling service module, the resource scheduling policy module, the flow scheduling module, the recording module, and the assembled Url module are successively completed;

For the non-live broadcast only recording process, the authentication module, the scheduling service module, the resource scheduling policy module, the flow scheduling module, and the recording module are successively completed;

After the policy of the flow resource scheduling module, the message parsing and the Url dynamic parameter parsing module are dynamically parsed, The parameter verification module calls the Digest verification module, invokes the scheduling service judgment module, invokes the flow scheduling module, the video module (if recording), and assembles the Url module (if live) to execute and complete the policy of the stream resource scheduling module according to a specific policy. among them:

The calling scheduling service judging module includes judging the IPC module, checking the stream channel information module, the stream state module frame, checking whether the defined stream type module, checking whether the Relay and P2P modules are supported at the same time, and checking the current user package package and the configuration information module.

The call flow scheduling module includes obtaining an optimal sub-optimal IP module, requesting an SS, LS, an AS subsystem module, requesting an IPC push flow module, and a flow exception module.

A person skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the system, the module and the related working unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.

In the three embodiments provided by the present application, it should be understood that the disclosed methods, systems, and apparatus may be implemented in other manners. For example, the method embodiments described above are merely illustrative. For example, the division of the modules is only a logical function division. In actual implementation, there may be another division manner, for example, multiple modules or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.

The above description is only a partial embodiment of the present invention, and it should be noted that those skilled in the art can make improvements and retouching if dry improvement and retouching without departing from the principles of the present invention. It should also be considered as the scope of protection of the present invention.

technical problem

Problem solution

Advantageous effects of the invention

Claims (10)

  1. A dynamic resource allocation method in a cloud video platform, wherein the cloud video platform comprises at least an industry control subsystem, a stream access subsystem, a stream processing subsystem, and a stream service subsystem; the method includes the following steps :
    The industry control subsystem receives a request for the client to obtain a flow, selects a flow resource scheduling policy according to the request, and requests the flow access subsystem and/or the flow processing subsystem according to the flow resource scheduling policy. Open port
    The flow access subsystem and/or the flow processing subsystem open port;
    The industry control subsystem notifies the network camera to push the stream;
    The flow resource scheduling policy includes three strategies: only live broadcast, no video, live video, and no live broadcast video only;
    The industry control subsystem is used for logical operation processing, business processing, security verification and authorization, resource and device management;
    The flow access subsystem is configured to support accessing streams of multiple formats, and converting streams of different formats into streams of a target format;
    The stream processing subsystem is configured for video recording and screenshots, and the processed live stream data is pushed to the stream service subsystem by using a TS/RTP/UDP protocol;
    The streaming service subsystem is configured to smoothly distribute data streams to clients.
  2. The method according to claim 1, wherein after receiving the request for the client to obtain the stream, the control subsystem further includes:
    Digest authentication;
    If the Digest authentication fails, an error message is returned to the client, and the process ends.
    If the Digest authentication is passed, the information indicating whether the Sn device exists and is online in the database is queried.
  3. The method according to claim 2, wherein the information indicating whether the Sn device exists and is in an online state in the query database further includes:
    1) If the specified Sn device does not exist, an error message is returned to the client, and the process ends;
    2) if the specified Sn device exists, querying whether the specified Sn device is in an online state: a. If the specified Sn device is in an offline state, returning an error message to the client, the process ends; b. The designated Sn device is in an online state, and the industry control subsystem queries the database log table for the record of the specified Sn device, and determines the total number of times the device Sn requests the message one minute before the client sends the request time. If the number of times defined in the configuration file is exceeded, the error information is directly returned to the client. If the number of times exceeds the limit, the first related information of the specified Sn device is continuously queried, and the first related information that is queried is returned. Give the industry control subsystem.
  4. The method according to claim 3, wherein the first related information of the designated Sn device specifically refers to:
    1) whether the designated Sn device has provided a P2P live broadcast;
    2) the number of users that the designated Sn device has provided the relay;
    3) the total duration of the relay that the designated Sn device has provided;
    4) the limitation of the total duration of the relay in the specified Sn device configuration table;
    5) Whether the P2P and the Relay are allowed to be simultaneously supported in the specified Sn device configuration table;
    6) The number of users in the specified Sn device configuration table that support the maximum number of Relays.
  5. The method according to claim 3 or 4, wherein if the first related information of the designated Sn device does not satisfy the condition for providing the relay, the error information is returned to the client, and the process ends;
    If the first related information of the designated Sn device satisfies the condition for providing the relay, continue to query the second related information of the designated Sn device, and the database returns the queried second related information to the control subsystem.
  6. The method according to claim 5, wherein the specifying the second related information of the Sn device specifically refers to:
    1) stream resource scheduling status flag;
    2) Configure the flow access method provided by the device in the package table.
  7. The method of claim 6 wherein said database returns a second phase After the information is sent to the control subsystem, the method further includes: querying, in the configuration plan table in the database, which of the three types of the flow resource scheduling policy in the specified Sn device and the corresponding RTP push flow manner;
    The manner of the corresponding RTP push stream includes:
    1) If the flow resource scheduling policy is only live broadcast and no video recording, the corresponding RTP push stream is as follows: if the flow check flag is ready relay, the number of connected client users is +1, and the corresponding table is updated; The time when the relay starts; the information of the URL is queried; the control subsystem returns the URL of the Relay request response, and the process ends;
    2) If the flow resource scheduling strategy is live and video, the corresponding RTP push flow is as follows:
    If the flow detection tag is a loading relay, the flow resource scheduling status flag is periodically queried; if the flow detection flag is a ready relay, the number of client users and the maximum number of client users that are currently accessed are compared: a. If the number of client users is less than or equal to the maximum number of client users, the number of clients that have been accessed is +1, and the correspondence table is updated; the time at which the relay starts is recorded; the information of the URL is queried; the control subsystem returns The relay requests the URL of the response, and ends the process; b. if the number of currently accessed client users is greater than the maximum number of client users, the industry control subsystem returns an error message, and the process ends;
    3) If the flow resource scheduling policy is not live broadcast only, the corresponding RTP push flow is as follows: when the flow check flag is non-loading relay and non-ready relay, the flow resource scheduling status flag is modified as loading relay.
  8. The method according to claim 7, wherein after the flow resource scheduling policy in the specified Sn device in the query configuration package table is one of the three policies and the corresponding RTP push flow mode, Also includes:
    Querying related information of the stream service subsystem, the stream processing subsystem, and the stream access subsystem with the least load and the second smallest in the database, where the related information includes at least IP information and port information.
  9. The method according to claim 7, wherein said query configuration schedule table After the flow resource scheduling policy in the specified Sn device is one of the three policies and the corresponding RTP push flow manner, the method further includes:
    Querying, in the database, device information about the network camera, sending a request including the port information of the specified Sn device and the stream service subsystem, notifying the flow service subsystem open port with the smallest load, and then the load is minimum Streaming service subsystem open port, and returning open port information to the industry control subsystem; if the industry control subsystem requests abnormal processing of the stream processing subsystem, notify the stream service subsystem to release The resource, the flow resource scheduling status flag is changed to free, the error information is returned to the client, and the process ends; if the industry control subsystem does not perform abnormal error processing on the requesting flow processing subsystem, the flow configuration information is updated. Prepare for the video;
    Querying, in the database, device information about the network camera, sending a request including the port information of the specified Sn device and the stream processing subsystem, notifying the stream access subsystem of an open port, and then the stream accessing the sub-port The system opens the port and returns the open port information to the industry control subsystem. If the industry control subsystem requests abnormal processing of the flow access subsystem, the flow service subsystem and the flow are notified. The processing subsystem releases the resource, changes the flow resource scheduling status flag to free, returns an error message to the client, and the process ends.
  10. The method according to claim 9, wherein if the industry control subsystem does not perform abnormal error processing on the requesting the stream processing subsystem, the step of updating the stream configuration information to prepare for recording is as follows:
    The industry control subsystem sends a request for accessing the IP and open port information of the stream service subsystem, the stream processing subsystem, the stream access subsystem, and notifying the network camera to start pushing traffic;
    An instruction center connected to the network camera requests the network camera to push the stream;
    The network camera returns a response to the instruction center;
    The instruction center returns a response result to the industry control subsystem;
    If the command center does not receive the requested network camera push flow within a specified time The flow response subsystem, the flow processing subsystem, the flow access subsystem are open in sequence, or the industry control subsystem does not receive an error returned by the push flow request within a specified time. Port resource, simultaneously sending a request to stop the push flow to the network camera; otherwise, the industry control subsystem queries the Wowza flow state in the database, and if the flow is not pushed to the flow service subsystem, the time query Decoding the resource scheduling status flag and the Url, releasing resources of the service subsystem, the stream processing subsystem, the stream access subsystem, and the network camera, and modifying the flow resource scheduling status flag to Free, returning error information to the client, the process ends, returning query information; if the stream has been pushed to the stream service subsystem, updating the stream resource scheduling status flag is ready relay, the industry control subsystem records When the relay ends, returning the Url of the Relay request response to the client, and the process ends;
    The Wowza is a server connected to the client, and is configured to convert the stream pushed by the network camera into a Wowza stream to the client.
PCT/CN2017/113042 2017-11-27 2017-11-27 Dynamic resource allocation method in cloud video platform WO2019100364A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/113042 WO2019100364A1 (en) 2017-11-27 2017-11-27 Dynamic resource allocation method in cloud video platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/113042 WO2019100364A1 (en) 2017-11-27 2017-11-27 Dynamic resource allocation method in cloud video platform

Publications (1)

Publication Number Publication Date
WO2019100364A1 true WO2019100364A1 (en) 2019-05-31

Family

ID=66631742

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/113042 WO2019100364A1 (en) 2017-11-27 2017-11-27 Dynamic resource allocation method in cloud video platform

Country Status (1)

Country Link
WO (1) WO2019100364A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2829233A1 (en) * 2012-10-02 2014-04-02 Blackberry Limited Method and system for hypertext transfer protocol digest authentication
CN103986942A (en) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 Data distribution system and method based on CDN (content distribution network)
CN104581219A (en) * 2014-12-22 2015-04-29 浙江工业大学 Control method of stream media forwarding server
CN105306967A (en) * 2015-10-28 2016-02-03 天彩电子(深圳)有限公司 Resource allocation method of Cloud video platform
CN107018446A (en) * 2017-04-07 2017-08-04 无锡职业技术学院 A kind of network video-on-demand and live plug-flow method
CN107360399A (en) * 2017-07-14 2017-11-17 深圳市鼎芯无限科技有限公司 A kind of magnanimity movement cloud video monitoring service issue and method for subscribing based on P2P technologies

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2829233A1 (en) * 2012-10-02 2014-04-02 Blackberry Limited Method and system for hypertext transfer protocol digest authentication
CN103986942A (en) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 Data distribution system and method based on CDN (content distribution network)
CN104581219A (en) * 2014-12-22 2015-04-29 浙江工业大学 Control method of stream media forwarding server
CN105306967A (en) * 2015-10-28 2016-02-03 天彩电子(深圳)有限公司 Resource allocation method of Cloud video platform
CN107018446A (en) * 2017-04-07 2017-08-04 无锡职业技术学院 A kind of network video-on-demand and live plug-flow method
CN107360399A (en) * 2017-07-14 2017-11-17 深圳市鼎芯无限科技有限公司 A kind of magnanimity movement cloud video monitoring service issue and method for subscribing based on P2P technologies

Similar Documents

Publication Publication Date Title
US10491523B2 (en) Load distribution in data networks
JP6279512B2 (en) System and method for adaptive video communication
JP2017010587A (en) System and method for active-passive routing and control of traffic in traffic director environment
AU2013361219B2 (en) Media distribution and management platform
CN104854843B (en) The web page of redirection is loaded in the web browser of client device in a communications system
US9100854B2 (en) Quality of service application controller and user equipment application profiler
CN102655503B (en) Use the Resourse Distribute in shared resource pond
US9299111B2 (en) Efficient presence distribution mechanism for a large enterprise
Xie et al. Coolstreaming: Design, theory, and practice
US20180167866A1 (en) System and method for authentication of a communication device
US8280985B2 (en) Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request
AU2015230844B2 (en) Dynamic media negotiation in secure media-based conferencing
US7426546B2 (en) Method for selecting an edge server computer
US7954005B2 (en) SIP server architecture for improving latency during message processing
CN104333512B (en) A kind of distributed memory database accesses system and method
US9124674B2 (en) Systems and methods for connection pooling for video streaming in content delivery networks
US10033548B2 (en) Method, system, service selection entity, and service management entity for selecting service provision entity
CN107193490B (en) Distributed data storage system and method based on block chain
US10089106B2 (en) Communications network, computer architecture, computer-implemented method and computer program product for development and management of femtocell-based applications
US20160191631A1 (en) System and Method for Using VoLTE Session Continuity Information using Logical Scalable Units
EP2561656B1 (en) Servlet api and method for xmpp protocol
CN102523234B (en) A kind of application server cluster implementation method and system
TWI220821B (en) Zero-loss web service system and method
CN100493091C (en) Flow-media direct-broadcasting P2P network method based on conversation initialization protocol
ES2254958T3 (en) Unique snmp system storage image attached to a network.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17932943

Country of ref document: EP

Kind code of ref document: A1