CN112788368B - Stream taking control method and platform device for providing video streaming media service - Google Patents

Stream taking control method and platform device for providing video streaming media service Download PDF

Info

Publication number
CN112788368B
CN112788368B CN202011535854.1A CN202011535854A CN112788368B CN 112788368 B CN112788368 B CN 112788368B CN 202011535854 A CN202011535854 A CN 202011535854A CN 112788368 B CN112788368 B CN 112788368B
Authority
CN
China
Prior art keywords
control information
video streaming
request
admission
flow path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011535854.1A
Other languages
Chinese (zh)
Other versions
CN112788368A (en
Inventor
龙照河
秦维中
赵健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
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 Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN202011535854.1A priority Critical patent/CN112788368B/en
Publication of CN112788368A publication Critical patent/CN112788368A/en
Application granted granted Critical
Publication of CN112788368B publication Critical patent/CN112788368B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Abstract

The invention provides a stream taking control method and a platform device for providing video streaming media service. Based on the invention, the control information dynamic set can be used to determine the control policy of the video streaming media service platform for the associated object of the streaming access behavior, whenever the video streaming media service platform receives the streaming access request, the currently configured control information dynamic set can be searched for the admission control information set for the associated object of the streaming access request, if the admission control information set for the associated object of the streaming access request is searched, it indicates that the streaming access behavior corresponding to the streaming access request needs to be controlled, and the searched admission control information can be used to perform admission check on the streaming access request, so as to determine whether to allow the video streaming media service platform to fetch the streaming media intended by the streaming access request. The admission control of the associated object of the flow taking action is used for managing and controlling the flow taking action, so that the normal operation of various services in a service system is facilitated.

Description

Stream taking control method and platform device for providing video streaming media service
Technical Field
The present invention relates to the field of video streaming media, and in particular, to a streaming control method suitable for video streaming media, a platform device for providing video streaming media service, and a service system for providing video streaming media service.
Background
In a service system providing video streaming media services, a plurality of video streaming media service platforms are often deployed, and each video streaming media service platform can allocate a video streaming media data source of the platform or across platforms to a user according to the bandwidth usage condition in the service system and the permission level of the user, so that the user can take streams from the allocated video streaming media data source. However, the video streaming media data source is allocated only by depending on the preemption of the user permission level on the bandwidth, the management and control on the streaming behavior are lacked, and the normal operation of various services in the service system is easily influenced.
Disclosure of Invention
In view of this, embodiments of the present invention respectively provide a streaming control method, a platform device for providing a video streaming service, and a service system for providing a video streaming service, which can manage and control a streaming behavior.
In one embodiment, a method for controlling fetching flow is provided, which includes:
when a video streaming media service platform receives a streaming request, determining an object class to which an associated object of the streaming request belongs, wherein the associated object is used for participating in a streaming behavior of video streaming media which is intended to be acquired by the streaming request;
searching the information family of each determined object category in the currently configured control information dynamic set, wherein the object category to which the information family in the control information dynamic set belongs is an object category selected from a preset controlled object category set;
when the information family of any determined object category is searched, the admission control information set for the related object of the object category of the stream taking request is searched in the information family of the object category;
and when the admission control information set for the related object of the object type of the streaming request is searched, carrying out admission check on the streaming request by using the searched admission control information to determine whether to allow the video streaming media service platform to fetch the streaming of the video streaming media which is intended to be obtained by the streaming request.
In another embodiment, a platform device for providing a video streaming service is provided, including:
the video streaming media service module is used for acquiring a streaming request;
a video streaming media control module, configured to:
responding to a streaming request acquired by a video streaming media service module, and determining an object class to which an associated object of the streaming request belongs, wherein the associated object is used for participating in a streaming behavior of video streaming media which is intended to be acquired by the streaming request;
searching the information family of each determined object category in the currently configured control information dynamic set, wherein the object category to which the information family in the control information dynamic set belongs is an object category selected from a preset controlled object category set;
when the information family of any determined object category is searched, the admission control information set for the related object of the object category of the stream taking request is searched in the information family of the object category;
when the access control information set for the relevant object of the object type of the stream fetching request is searched, the searched access control information is utilized to carry out access check on the stream fetching request so as to determine whether to allow the video streaming media service module to fetch the video streaming media which is intended to be obtained by the stream fetching request.
In another embodiment, a service system for providing video streaming service is provided, which includes at least two server clusters for carrying video streaming service platforms, where at least one server cluster is used to execute the streaming control method according to the foregoing embodiments, and a dynamic set of control information used by each server cluster when executing the streaming control method is configured independently for the video streaming service platform carried by the server cluster.
Based on the above embodiment, the control information dynamic set may be used to determine a control policy for the video streaming media service platform to determine a management and control policy for the associated object of the streaming access behavior, whenever the video streaming media service platform receives a streaming access request, the currently configured control information dynamic set may be searched for admission control information set for the associated object of the streaming access request, if the admission control information set for the associated object of the streaming access request is searched, it indicates that the streaming access behavior corresponding to the streaming access request needs to be managed, and the searched admission control information may be used to perform admission check on the streaming access request to determine whether to allow the video streaming media service platform to access streaming media intended to be acquired by the streaming access request. The stream taking action is managed and controlled by controlling the access of the associated object of the stream taking action on the video stream media service platform, so that the normal operation of various services in a service system is facilitated.
Drawings
The following drawings are only illustrative and explanatory of the invention and do not limit the scope of the invention:
FIG. 1 is a diagram illustrating an exemplary framework architecture of a business system for providing video streaming services in one embodiment;
FIGS. 2 a-2 d are schematic diagrams illustrating exemplary flow fetching activities in the business system shown in FIG. 1;
FIG. 3 is a schematic diagram of an example of a configuration interface for managing and controlling policies in the business system shown in FIG. 1;
fig. 4a to 4c are schematic diagrams illustrating an example of a controlled object class selection principle based on the control policy configuration interface shown in fig. 3;
fig. 5 is a schematic flowchart of an exemplary flow control method suitable for the service system shown in fig. 1;
fig. 6a to fig. 6d are schematic diagrams of application examples of the flow taking control method shown in fig. 5 in the service system shown in fig. 1;
fig. 7a to 7g are schematic diagrams of preferred examples of admission control information based on the management policy configuration interface shown in fig. 3;
fig. 8 is a schematic diagram of a first optimization flow of performing admission control with a flow path as granularity in the flow taking control method shown in fig. 5;
fig. 9 is a schematic diagram of a second optimization flow of performing admission control with a flow path as granularity in the flow fetching control method shown in fig. 5;
FIG. 10 is a schematic diagram of a preferred flow of a culling decision sub-process in the second optimization flow shown in FIG. 9;
11 a-11 c are schematic diagrams of an application example of the second optimization process shown in FIG. 9 in the business system shown in FIG. 1;
fig. 12 is a schematic diagram illustrating an example of an operation principle of a platform device for providing a video streaming service in another embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and examples.
Fig. 1 is a schematic diagram of an exemplary framework structure of a business system for providing a video streaming service in one embodiment. Referring to fig. 1, in this embodiment, a service system for providing a video streaming service may include a server cluster 101 for carrying a video streaming service platform 100, and at least one local-domain head end device cluster 102 accessing to the video streaming service platform 100. The video streaming service platform 100 may be a platform that provides a service function of video playing.
The local domain user 103 can be registered in the video streaming media service platform 100, and the local domain user 103 can be an independent user or can be affiliated to the local domain user group 104. Moreover, the local user 103 registered in the video streaming service platform 100 can initiate streaming through the video streaming service platform 100, and is used for accessing the local client 105, which is specified by the local user 103 and is in the video streaming service platform 100, to play the video streaming obtained by streaming.
In the service system shown in fig. 1, a first neighborhood server cluster 111 for carrying the first neighborhood video streaming service platform 110, at least one first neighborhood front-end device cluster 112 accessing the first neighborhood video streaming service platform 110, a second neighborhood server cluster 121 for carrying the second neighborhood video streaming service platform 120, and a second neighborhood front-end device cluster 122 accessing the second neighborhood video streaming service platform 120 may further be included.
The first neighborhood video streaming service platform 110 and the second neighborhood video streaming service platform 120 may also be platforms providing service functions of video playing, that is, the first neighborhood video streaming service platform 110 and the second neighborhood video streaming service platform 120 may be different video streaming service platforms different from the video streaming service platform 100 and different from each other.
In order to more clearly understand the scheme in this embodiment, the video streaming service platform 100 is described herein in terms of its perspective, so that the "neighborhood" is used to distinguish other video streaming service platforms different from the video streaming service platform 100.
A first neighborhood of users 113 may be registered with the first neighborhood video streaming service platform 110, and the first neighborhood of users 113 may be independent users or may be affiliated with a first neighborhood of user groups 114. Moreover, a first neighborhood user 113 registered in the first neighborhood video streaming service platform 110 may initiate streaming through the first neighborhood video streaming service platform 110, so as to access the video streaming obtained by streaming through the first neighborhood client 115 that is specified by the first neighborhood user 113 and is accessed to the first neighborhood video streaming service platform 110.
Similarly, a second neighborhood of users 123 may be registered with the second neighborhood of video streaming service platform 120, and the second neighborhood of users 123 may be independent users or affiliated with a second neighborhood of user groups 124. Moreover, a second neighborhood user 123 registered in the second neighborhood video streaming service platform 120 may initiate streaming fetching through the second neighborhood video streaming service platform 120, so as to access the video streaming media obtained by streaming fetching played by a second neighborhood client 125 that is located in the second neighborhood video streaming service platform 120 and is designated by the second neighborhood user 123.
The local client 105, the first neighborhood client 115, and the second neighborhood client 125 may be any type of clients that support a playing format of video streaming media, for example, any type of clients that support video streaming media playing, such as a Client Server (CS), a Browser Server (BS), a Mobile terminal (Mobile), or a video wall.
In the business system as shown in fig. 1, the fetching behavior can be regarded as a behavior combination of a plurality of associated objects such as users (user groups), clients, service platforms, and front-end devices. The associated object may refer to an entity object or a virtual object participating in a streaming action of the video streaming media intended to be acquired (for example, generation of the video streaming media, transmission of the video streaming media, and/or playing of the video streaming media, etc.).
Fig. 2a to 2d are schematic diagrams illustrating an example of a flow taking action in the service system shown in fig. 1.
Referring to fig. 2a, assuming that a local domain user 103 registered in the video streaming service platform 100 initiates streaming from the local domain front-end device cluster 102 through the video streaming service platform 100, the streaming behavior may include a behavior combination of the following associated objects:
the system comprises a local user 103 registered in a video streaming media service platform 100, a local user group 104 to which the local user 103 belongs, a local client 105 accessed to the video streaming media service platform 100 and designated by the local user 103 to play video streaming media, the video streaming media service platform 100, and a local front-end device cluster 102.
Similarly, for the local domain streaming behavior shown in fig. 2a, the local domain streaming behavior may also be initiated by the first neighborhood users 113 in the first neighborhood video streaming service platform 110 and/or initiated by the second neighborhood users 123 in the second neighborhood video streaming service platform 120.
Referring to fig. 2b, assuming that a first neighborhood user 113 registered in the first neighborhood video streaming service platform 110 initiates streaming from the local front-end device cluster 102 accessing the video streaming service platform 100 through the first neighborhood video streaming service platform 110, the streaming behavior may include a behavior combination of the following associated objects:
the video streaming media service platform system comprises a first neighborhood user 113 registered in a first neighborhood video streaming media service platform 110, a first neighborhood user group 114 to which the first neighborhood user 113 belongs, a first neighborhood client 115 which is accessed to the first neighborhood video streaming media service platform 110 and is appointed by the first neighborhood user 113 to play video streaming media, the first neighborhood video streaming media service platform 110, the video streaming media service platform 100 and a local front-end equipment cluster 102 which is accessed to the video streaming media service platform 100.
Referring to fig. 2c, assuming that the local user 103 registered in the video streaming service platform 100 initiates streaming from the second neighborhood front-end device cluster 122 accessing to the second neighborhood video streaming service platform 120 through the video streaming service platform 100, the streaming behavior may include a behavior combination of the following associated objects:
the video streaming media service platform comprises a local user 103 registered in the video streaming media service platform 100, a local user group 104 to which the local user 103 belongs, a local client 105 which is accessed to the video streaming media service platform 100 and is appointed by the local user 103 to play video streaming media, the video streaming media service platform 100, a second neighborhood video streaming media service platform 120, and a second neighborhood front-end device cluster 122 which is accessed to the second neighborhood video streaming media service platform 120.
Similarly, for the single-level cross-platform fetching behavior shown in fig. 2b and fig. 2c, the local domain user 103 may also initiate to the first neighborhood video streaming service platform 110 at the video streaming service platform 100, or initiate to the video streaming service platform 100 at the second neighborhood video streaming service platform 120 by the second neighborhood user 123.
Referring to fig. 2d, assuming that a first neighborhood user 113 registered in the first neighborhood video streaming service platform 110 initiates streaming through the first neighborhood video streaming service platform 110 from a second neighborhood front-end device cluster 122 accessing to the second neighborhood video streaming service platform 120 via the video streaming service platform 100, the streaming behavior may include a behavior combination of the following associated objects:
the video streaming media service system comprises a first neighborhood user 113 registered in a first neighborhood video streaming media service platform 110, a first neighborhood user group 114 to which the first neighborhood user 113 belongs, a first neighborhood client 115 accessed to the first neighborhood video streaming media service platform 110 and designated by the first neighborhood user 113 to play video streaming media, the first neighborhood video streaming media service platform 110, a video streaming media service platform 100, a second neighborhood video streaming media service platform 120, and a second neighborhood front-end device cluster 122 accessed to the second neighborhood video streaming media service platform 120.
Similarly, for the multi-level cross-platform streaming behavior shown in fig. 2d, the streaming may also be initiated by the second neighborhood users 123 at the second neighborhood video streaming service platform 120 to the first neighborhood video streaming service platform 110, or initiated by the local domain users 103 at the video streaming service platform 100 to other video streaming service platforms not directly connected, which are not shown in the figure.
As can be seen from the above, each streaming behavior of the video streaming media can be regarded as a behavior combination of multiple associated objects, and therefore, in this embodiment, the associated object of the streaming behavior is taken as a control object, so that control over the streaming behavior is achieved.
Specifically, for any service platform, the object categories of the associated objects of the fetching behavior may be classified into a home end object category, at least two destination end (fetching destination end of video streaming media) object categories, and at least two source end (providing source end of video streaming media) object categories.
For the video streaming media service platform 100, the associated object of the local object category may be the video streaming media service platform 100, the associated object of the destination object category may include a local user 103, a local user group 104 to which the local user 103 belongs, a local client 105 accessed to the video streaming media service platform 100 and specified by the local user 103 to play video streaming media, or another video streaming media service platform on the destination side, and the associated object of the source object category may include a local front-end device cluster 102 or another video streaming media service platform on the source side, where:
the associated object of the home terminal object type may configure the management and control policy in a single platform as a unit, and the home terminal object type will be referred to as a home-level platform hereinafter, and is described by taking the video streaming service platform 100 as an example;
the client belonging to a target object class can configure a control strategy by taking the type of the client as a unit;
users belonging to another target object category can configure the control strategy by taking a single user as a unit;
the user group belonging to another destination object category can configure the control strategy by taking a single group as a unit;
the front-end equipment cluster belonging to a source object category can configure a control strategy by taking a region (such as a geographical region, an administrative region, a block, a custom region and the like) as a unit;
other video streaming media service platforms belonging to another destination object category may perform configuration of a control policy in units of a single platform, where the other video streaming media service platforms belonging to the destination object category will be referred to as an upper level platform (i.e., a platform that receives video streaming media resources pushed or shared from the current level platform, or a platform that obtains video streaming media resources from the current level platform) hereinafter, and the first neighborhood video streaming media service platform 110 will be described as an example of an upper level platform, but it is understood that other upper level platforms except the first neighborhood video streaming media service platform 110 are allowed to exist at the same time;
the other video streaming service platforms belonging to another source object class may configure the management and control policy in units of a single platform, and the other video streaming service platforms belonging to the source object class will be referred to as lower platforms (i.e., platforms that push or share video streaming media resources to the current platform, or platforms from which the current platform acquires video streaming media resources), and hereinafter, the second neighborhood video streaming service platform 120 will be described as an example of a lower platform, but it is understood that other lower platforms other than the second neighborhood video streaming service platform 120 are allowed to exist at the same time.
Each of the above object categories can be regarded as a dimension for controlling the fetching behavior. The control of the flow taking behavior is implemented by controlling the associated objects of the plurality of object categories, so that the multi-dimensional control of the flow taking behavior can be realized.
Fig. 3 is a schematic diagram of an example of a configuration interface of a management and control policy in the business system shown in fig. 1. Fig. 4a to 4c are schematic diagrams illustrating an example of a controlled object class selection principle based on the control policy configuration interface shown in fig. 3; in fig. 3 and fig. 4a to 4c, the example of the management policy configurable data structure includes a local platform 301 (local object type), a client 302 (destination object type), a user 303 (destination object type), a user group 304 (destination object type), a region 305 (source object type), an upper platform 306 (destination object type), and a lower platform 307 (source object type). It is to be understood that the home object class, the destination object class, and the source object class are general class definitions for the convenience of classification description, and such class definitions as the home object class, the destination object class, and the source object class may not be used in the actual object class division.
Referring first to fig. 3, the policing policy configuration interface 30 may include a policy pool window 31 near one side interface boundary, a control pool window 32 adjacent to the policy pool window 31, and a control pool detail window 33 between the control pool window 32 and the other side interface boundary.
The object class which is not currently included in the management is presented in the policy pool window 31, the object class which is currently included in the management is presented in the control pool window 32, the information family of each object class which is currently included in the management is presented in the control pool detail window 33, the information family of each object class may include the admission control information 380 set for any number of associated objects of the object class, and each piece of the admission control information 380 may be added or modified or deleted as needed.
In addition, each object category presented in the control pool window 32 may also be accompanied by a pull-down button 36 for triggering presentation of a sorting option menu 37, and in the sorting option menu 37, a sorting order during verification may be set for each object category presented in the control pool window 32. The ordering of object categories is further explained below.
Referring to fig. 3 in conjunction with fig. 4a to 4c, in an initial state of a video streaming service platform (e.g. the video streaming service platform 100 shown in fig. 1) running for the first time, a current platform 301 (a current object type), a client 302 (a destination object type), a user 303 (a destination object type), a user group 304 (a destination object type), a region 305 (a source object type), an upper platform 306 (a destination object type), and a lower platform 307 (a source object type) are all located in the policy pool window 31 as shown in fig. 4 a.
By checking the check box of any object type in the policy pool window 31 and then triggering the selection button 341 arranged between the policy pool window 31 and the control pool window 32, any object type with checked check box in the policy pool window 31 can be migrated to the control pool window 32, and preferably, the control policy configuration interface window 30 may further have a policy Chi Quanxuan box 351 equipped for the policy pool window 31, for triggering synchronous checking of the check boxes of all object types currently presented in the policy pool window 31;
similarly, by checking the check box of any object category in the control pool window 32 first and then triggering the cancel button 342 disposed between the policy pool window 31 and the control pool window 32, the checked any object category in the control pool window 32 can be migrated to the policy pool window 31, and preferably, the control pool configuration interface window 30 may further have a control pool all-check box 352 provided for the control pool window 32, for triggering synchronous checking of the check boxes of all object categories currently presented in the control pool window 32.
Fig. 4b shows a state in which the present platform 301 (the home object type), the client 302 (the destination object type), the user 303 (the destination object type), the user group 304 (the destination object type), the region 305 (the source object type), the upper platform 306 (the destination object type), and the lower platform 307 (the source object type) are all migrated from the policy pool window 31 to the control pool window 32, and fig. 4c shows a state in which some of the object types are migrated from the policy pool window 31 to the control pool window 32.
As can be seen from fig. 4b and 4c, each object category migrated to the control window 32 may allow admission control information set in the control pool detail window 33 for any number of associated objects of that object category, and the admission control information set in the control pool detail window 33 may be presented in a scrolling manner, that is:
when the present-level platform 301 (the present-level object class) is migrated to the control pool window 32, the admission control information 380 presented in the control pool detail window 33 may include the admission control information 381 created for the associated objects belonging to the object class of the present-level platform 301, and the admission control information 381 created for all the associated objects belonging to the object class (e.g., the video streaming service platform 100) may be regarded as the information family of the object class of the present-level platform 301;
when a client 302 (destination object class) is migrated to the control pool window 32, the admission control information 380 presented in the control pool details window 33 may include admission control information 382 created for associated objects belonging to the object class of the client 302, and the admission control information 382 created for all associated objects belonging to the object class (e.g., clients 105 accessing the local domain of the video streaming service platform 100) may be considered as an information family of the object class of the client 302;
when the user 303 (destination object class) is migrated to the control pool window 32, the admission control information 380 presented in the control pool detail window 33 may include admission control information 383 created for associated objects belonging to the object class of the user 33, and the admission control information 383 created for all associated objects belonging to the object class (e.g. the users 103 in each local domain of the video streaming service platform 100) may be regarded as an information family of the object class of the user 303;
when the user group 304 (destination object class) is migrated to the control pool window 32, the admission control information 380 presented in the control pool details window 33 may include admission control information 384 created for associated objects belonging to the object class of the user group 304, and the admission control information 384 created for all associated objects belonging to the object class (e.g., the local user group 104 to which each local user 103 of the video streaming service platform 100 respectively belongs) may be regarded as an information family of the object class of the user group 304;
when an area 305 (source end object class) is migrated to the control pool window 32, the admission control information 380 presented in the control pool details window 33 may include admission control information 385 created for associated objects belonging to the object class of the area 305, and the admission control information 385 created for all associated objects belonging to the object class (e.g., the head end device clusters 102 of the local area deployed in a specified area and accessed in the video streaming media service platform 100) may be regarded as an information family of the object class of the area 305;
when the upper level platform 306 (destination object class) is migrated to the control pool window 32, the admission control information 380 presented in the control pool details window 33 may include admission control information 386 created for associated objects belonging to the object class of the upper level platform 306, and the admission control information 386 created for all associated objects belonging to the object class (e.g., the first neighborhood video streaming service platform 110 and other similar neighborhood video streaming service platforms) may be regarded as a family of information of the object class of the upper level platform 306;
when the lower platform 307 (source object class) is migrated to the control pool window 32, the admission control information 380 presented in the control pool details window 33 may include admission control information 387 created for associated objects belonging to the object class of the lower platform 307, and the admission control information 387 created for all associated objects belonging to the object class (e.g., the second neighborhood video streaming service platform 120 and other similar neighborhood video streaming service platforms) may be considered as a family of information of the object class of the lower platform 307.
By setting the admission control information 380 for any associated object of any object type using the above management and control policy configuration interface, an information combination adapted to different requirements can be obtained, which is referred to herein as a control information dynamic set, and is used to form a dynamically programmable management and control policy for a flow taking behavior. Also, the dynamic set of control information may be dynamically updated in response to the addition or modification or deletion of any admission control information 380.
Hereinafter, a streaming control method for performing admission check on an associated object using a dynamic set of control information will be described, which may be applied to at least one of the video streaming service platform 100, the first neighborhood video streaming service platform 110, and the second video streaming service platform 200 in the business system as shown in fig. 1.
That is, for a service system including at least two server clusters for carrying a video streaming service platform, at least one of the server clusters may execute the streaming control method described below, and a dynamic set of control information used by each server cluster when executing the streaming control method described below is configured independently for the video streaming service platform carried by the server cluster. That is, in the service system, more than one server cluster may execute the below-described stream fetching control method independently from each other, and the dynamic sets of control information used by the more than one server cluster to execute the stream fetching control method may be configured for the respective video streaming media service platforms independently from each other, for example, the dynamic sets of control information configured for any two different video streaming media service platforms may be completely the same, or may be completely different, or may also be partially the same.
Fig. 5 is an exemplary flowchart of a flow control method suitable for the service system shown in fig. 1. Referring to fig. 5, the method for controlling fetching flow in this embodiment may include:
s510: when the video streaming media service platform receives the streaming request, the admission control information set for the relevant object of the streaming request is searched in the currently configured control information dynamic set.
Preferably, the stream fetching request may carry stream fetching source information, destination information, and request object information, and according to the source information, the destination information, and the request object information in the stream fetching request, the video streaming media service platform may generate a verification request, where the verification request includes object information of an associated object participating in a stream fetching behavior (generation, transmission, and/or play) of the video streaming media intended to be obtained by the stream fetching request.
For example, for the local domain fetching behavior as shown in FIG. 2 a: the destination information of the streaming request initiated by the local user 103 to the video streaming service platform 100 may include the user information of the local user 103, the user group information of the local user group 104 to which the local user 103 belongs, and the client information of the local client 105 that is accessed to the video streaming service platform 100 and is specified by the local user 103 to play the video streaming; the request object information of the streaming request initiated by the local user 103 to the video streaming service platform 100 may include the local platform information of the video streaming service platform 100; the source information of the streaming request initiated by the local domain user 103 to the video streaming media service platform 100 may include the area information of the local domain front-end device cluster 102; at this time, in the verification request generated by the video streaming media service platform 100 in response to the streaming request, the object information of the associated object of the local object class may include the local platform information, the object information of the associated object of the destination object class may include user information, user group information, and client information, and the object information of the associated object of the source object class may include area information of the local front-end device cluster 102.
As another example, for a single-level cross-platform streaming behavior as shown in fig. 2b, a streaming request initiated by the first neighborhood user 113 may trigger the first neighborhood video streaming service platform 110 to initiate a relayed streaming request to the video streaming service platform 100: the destination information of the relay streaming request may include the upper platform information of the first neighborhood video streaming service platform 110; the request object information of the request for getting stream of the relay may include the present-stage platform information of the video streaming service platform 100; the source information in the flow fetching request of the relay may include the area information of the local front-end device cluster 102; at this time, in the verification request generated by the video streaming media service platform 100 in response to the stream fetching request of the relay, the object information of the associated object of the local object type may include the local platform information, the object information of the associated object of the destination object type may include the upper platform information, and the object information of the associated object of the source object type may include the area information of the local front-end device cluster 102.
As another example, for a single-level cross-platform fetch behavior as shown in FIG. 2 c: the destination information of the streaming request initiated by the local user 103 to the video streaming service platform 100 may include the user information of the local user 103, the user group information of the local user group 104 to which the local user 103 belongs, and the client information of the local client 105 that is accessed to the video streaming service platform 100 and is specified by the local user 103 to play the video streaming; the request object information of the streaming request initiated by the local user 103 to the video streaming service platform 100 may include the local platform information of the video streaming service platform 100; the source information of the streaming request initiated by the local user 103 to the video streaming media service platform 100 may include the area information of the second neighborhood front-end device cluster 122, and the video streaming media service platform 100 may determine that the source is the second neighborhood video streaming media service platform 120 according to the area information, and acquire the lower platform information of the second neighborhood video streaming media service platform 120 through a preset cluster deployment corresponding relationship; at this time, in the verification request generated by the video streaming service platform 100 in response to the streaming request, the object information of the associated object of the home object class may include home platform information, the object information of the associated object of the destination object class may include user information, user group information, and client information, and the object information of the associated object of the source object class may include lower platform information.
For the multi-level cross-platform streaming behavior shown in fig. 2d, the object information of the associated object of the destination object type, the home object type, and the source object type in the verification request generated by the video streaming media service platform 100 may be determined to include upper-level platform information, home platform information, and lower-level platform information, respectively, with reference to the single-level cross-platform streaming behavior shown in fig. 2b and fig. 2 c.
By using the object information of the associated objects carried in the verification request, the admission control information set for the associated objects can be searched in the dynamic set of the control information.
S520: and when the admission control information set for the associated object of the streaming request is searched, carrying out admission check on the streaming request by using the searched admission control information so as to determine whether to allow the video streaming media service platform to fetch the streaming of the video streaming media which is intended to be obtained by the streaming request.
When the verification of S520 is successful, a successful response indicating that the video streaming media service platform is allowed to fetch the video streaming media intended to be fetched for the fetching request may be generated after S520;
when the verification at S520 fails, a failure response indicating that the video streaming service platform is prohibited from streaming the video streaming intended for the streaming request may be generated after S520.
In addition, if the admission control information of the associated object for the streaming request is not searched in S510, after S510, a successful response indicating that the video streaming service platform is allowed to stream the video streaming intended for the streaming request may be generated.
At this point, the admission control decision for one flow fetching request is ended.
Based on the above flow, the control information dynamic set may be used to determine a control policy for the video streaming media service platform to determine a related object of the streaming behavior, whenever the video streaming media service platform receives a streaming request, the currently configured control information dynamic set may be searched for admission control information set for the related object of the streaming request, if the admission control information set for the related object of the streaming request is searched, it indicates that the streaming behavior corresponding to the streaming request needs to be controlled, and the searched admission control information may be used to perform admission check on the streaming request, so as to determine whether to allow the video streaming media service platform to fetch the streaming media intended for the streaming request. The admission control of the associated object of the stream taking behavior is carried out on the video streaming media service platform to control the stream taking behavior, so that the normal operation of various services in a service system is facilitated.
Moreover, the admission control information included in the control information dynamic set can be dynamically adjusted, so that the stream taking behavior control with a programmable strategy is realized, and the control requirement change of the application scene of the video streaming media service at different moments is adapted.
In addition, under the condition that the control information is dynamically and intensively configured with the admission control information of a plurality of object categories, the multidimensional control and control of the flow taking behavior can be realized.
Since there is a possibility that the control information dynamically configures the admission control information of a plurality of object classes in a centralized manner, in order to facilitate searching for admission control information for an associated object of a streaming request, the control information dynamically and centrally may store information families according to object class classification in a manner as shown in fig. 4a to 4 c.
The object class to which the information family in the dynamic control information set belongs is an object class selected from a preset controlled object class set (i.e., all object classes shown in fig. 3), and as described above, the object classes in the controlled object class set include: a home object class, at least two source object classes, and at least two destination object classes.
The object class to which the information family included in the dynamic set of control information belongs may be selected as follows: in response to a first user operation (e.g., triggering a selected button 341 in the governing policy configuration interface 30 shown in fig. 3), migrating an object class selected in a first subset of the set of controlled object classes (e.g., the policy pool window 31 in the governing policy configuration interface 30 shown in fig. 3) to a second subset (e.g., the control pool window 32 in the governing policy configuration interface 30 shown in fig. 3), wherein the object class in the second subset is allowed to add or modify or delete admission control information set for any associated object of the object class for synchronization to the information family of the object class of the dynamic set of control information;
the object class to which the information family included in the dynamic set of control information belongs may be revoked as follows: in response to a second user action (e.g., triggering an undo button 342 in the governing policy configuration interface 30 shown in fig. 3), migrating the selected object class in a second subset of the set of controlled object classes (e.g., the control pool window 32 in the governing policy configuration interface 30 shown in fig. 3) to the first subset (e.g., the policy pool window 31 in the governing policy configuration interface 30 shown in fig. 3);
in this case, S510 may specifically determine an object class to which the related object of the streaming request belongs, then search the information family of each determined object class in the dynamic set of control information currently configured, and when the information family of any determined object class is searched, search the information family of the object class for the admission control information set for the related object of the object class of the streaming request. Whether the information family of the object class to which the related object of the streaming request belongs is not queried or the admission control information set for the related object of the object class of the streaming request is not searched in the information family of the object class, it may be determined that the admission control information for the related object of the streaming request is not searched in S510.
Fig. 6a to fig. 6d are schematic diagrams of application examples of the flow taking control method shown in fig. 5 in the service system shown in fig. 1.
Referring to fig. 6a, for the local streaming behavior shown in fig. 2a, assuming that the control information currently configured for the video streaming service platform 100 is dynamically centralized and only contains information families of two object categories of the upper platform 306 (destination object category) and the lower platform 307 (source object category), when the streaming control method shown in fig. 5 is executed for the video streaming service platform 100, at S510, the admission control information of the associated object for the streaming request is not searched, and after S510, the video streaming service platform 100 is allowed to fetch the video streaming intended for the streaming request.
Referring to fig. 6b, for the single-stage cross-platform streaming behavior shown in fig. 2b, assuming that the control information currently configured for the video streaming media service platform 100 is dynamically concentrated, and includes information families of four object classes of the local platform 301 (local object class), the area 305 (source object class), the upper platform 306 (destination object class), and the lower platform 307 (source object class), when the streaming control method shown in fig. 5 is executed for the video streaming media service platform 100, and the admission control information for itself is searched in the information family of the local platform 301 (local object class), and/or the admission control information for the local domain front end device cluster 102 specified by the local domain user 103 is searched in the information family of the area 305 (source object class), and/or the admission control information for the first neighboring domain video streaming media service platform 110 is searched in the information family of the upper platform 306 (destination object class) through S510:
if the verification using the retrieved admission control information of all object categories is successful at S520, the video streaming media service platform 100 may be allowed to fetch the video streaming media intended to be fetched for the fetching request after S520;
if the verification using the admission control information of any searched object class fails at S520, the video streaming service platform 100 may be prohibited from streaming the video streaming intended for the streaming request after S520.
Referring to fig. 6c, for the multi-level cross-platform streaming behavior shown in fig. 2d, assuming that the control information currently configured for the video streaming media service platform 100 is dynamically centralized and includes information families of all object classes in the controlled object class set as described above, when the streaming control method shown in fig. 5 is executed for the video streaming media service platform 100, and the admission control information for itself is searched in the information family of the current-level platform 301 (the current-level object class) and/or the admission control information for the first video streaming media service platform 110 is searched in the information family of the previous-level platform 306 (the destination-level object class) and/or the admission control information for the second video streaming media service platform 120 is searched in the information family of the next-level platform 307 (the source-level object class) through S510:
if the verification using the retrieved admission control information of all object categories is successful at S520, the video streaming media service platform 100 may be allowed to fetch the video streaming media intended to be fetched for the fetching request after S520;
if the verification using the admission control information of any searched object class fails at S520, the video streaming service platform 100 may be prohibited from streaming the video streaming intended for the streaming request after S520.
Referring to fig. 6d, for the multi-level cross-platform streaming behavior shown in fig. 2d, it is assumed that the video streaming service platform 100, the first neighborhood video streaming service platform 110, and the second neighborhood video streaming service platform 120 are all configured with a dynamic set of control information of information families including all object categories in the controlled object category set as described above, and the streaming control method shown in fig. 5 can be executed for each of the video streaming service platform 100, the first neighborhood video streaming service platform 110, and the second neighborhood video streaming service platform 120 independently from each other.
For the first neighborhood video streaming media service platform 110, the information family of the current-level platform 301 is searched for the admission control information for itself, the information family of the client 302 is searched for the admission control information for the first neighborhood client 115, the information family of the user 303 is searched for the admission control information for the first neighborhood user 113, the information family of the user group 304 is searched for the admission control information for the first neighborhood user group 114, and the information family of the lower-level platform 307 is searched for the admission control information for the video streaming media service platform 100;
for the video streaming media service platform 100, the information family of the current-level platform 301 searches for the admission control information for itself, the information family of the upper-level platform 302 searches for the admission control information for the first neighborhood video streaming media service platform 110, and the information family of the lower-level platform 307 searches for the admission control information for the second neighborhood video streaming media service platform 120;
for the second neighborhood video streaming service platform 120, the information family of the current-level platform 301 is searched for the admission control information for itself, the information family of the upper-level platform 302 is searched for the admission control information for the video streaming service platform 100, and the information family of the area 305 is searched for the admission control information for the second neighborhood front-end device cluster 122 specified by the first neighborhood user 113.
If the verification of all the searched admission control information used in S520 is successful for any one of the video streaming media service platform 100, the first neighborhood video streaming media service platform 110, and the second neighborhood video streaming media service platform 120, the video streaming media service platform may be allowed to fetch the video streaming media intended to be fetched for the fetching request after S520; if the verification using any retrieved admission control information fails in S520 for any one of the video streaming service platform 100, the first neighborhood video streaming service platform 110, and the second neighborhood video streaming service platform 120, the video streaming service platform may be prohibited from fetching the video streaming intended to be fetched for the fetching request after S520.
Only the video streaming service platform 100, the first neighborhood video streaming service platform 110 and the second neighborhood video streaming service platform 120 are allowed to fetch the video streaming intended for the fetching request, and the multi-level cross-platform fetching party shown in fig. 6d can be successful. When at least one of the video streaming media service platform 100, the first neighborhood video streaming media service platform 110, and the second neighborhood video streaming media service platform 120 is prohibited from fetching the video streaming media intended to be fetched by the video streaming media service platform for the streaming request, the multi-level cross-platform streaming shown in fig. 6d fails. That is, in the example shown in fig. 6d, multi-dimensional (full-dimensional) admission checking of the present-level platform 301 (the home object category), the client 302 (the destination object category), the user 303 (the destination object category), the user group 304 (the destination object category), the area 305 (the source object category), the upper-level platform 306 (the destination object category), and the lower-level platform 307 (the source object category) is realized by a combination of the video streaming service platform 100, the first neighborhood video streaming service platform 110, and the second neighborhood video streaming service platform 120.
The admission check conditions contained in the admission control information may not be all the same for different object classes. As a preferred mode, the admission control information of each object class may include a flow fetching number limit, and the admission control information of the destination object class may further include a permission level and a flow fetching policy. Therefore, management and control can be implemented by taking the number of the access routes as a main constraint condition of admission verification, and assisted by priority allocation combining the authority level and the access policy, namely, the authority hierarchical control based on dimensional hierarchy is further combined on the basis of multi-dimensional management and control.
The admission control information of each object class in which the control information is dynamically concentrated will be described in detail below with reference to the drawings.
Fig. 7a to 7g are schematic diagrams of preferred examples of admission control information based on the policy configuration interface shown in fig. 3.
Referring to fig. 7a, for each video streaming service platform configured with a dynamic set of control information, the admission control information 381 of this class of object of the platform 301 may include a character identifier 381a for identifying the video streaming service platform and an input box 381b for setting a fetching route number limit.
The value input in the input box 381b represents the path limit value allowed to be taken from the video streaming service platform. When a numerical value (for example, an integer of 0 to 10 ten thousand) indicating the flow number limit value is input in the input box 381b, the setting is completed by clicking the save button 381save. If the initial default value of the access path number limit needs to be restored (the maximum configurable value or infinity preset for the access path number limit), the value in the input box 381b can be cleared by clicking the restore default button 381rst, and then the save button 381save is clicked again. That is, when the number-of-fetched-stream limit value set in the input block 381b is configured as 0, it indicates that the present-stage platform does not allow fetching; when the input box 381b is empty, it indicates that the number of the current stage platform fetching paths is not limited.
Referring to fig. 7b, for each video streaming media service platform configured with a dynamic set of control information, the object category of the client 302 may be configured with admission control information 382 for different client types, for example, a client server, a browser server, a mobile terminal, a video wall, a third party client, a probe client, a central storage client, an intelligent analysis client, and the like.
The admission control information 382 for each client type may include a type identification 382a, a name identification 382e, an input box 382b for setting a flow fetching number limit, an input box 382c for setting a permission level, and a check box 382d for setting a flow fetching policy for that client type. Wherein, the value input in the input box 382b represents a path number limit (e.g. an integer of 0 to 10 ten thousand) allowing the corresponding client of the client type to take the stream from the video streaming service platform; a numeric value input at the input box 382c indicating a permission level of a corresponding client type; the selected state set to the check box 382d indicates whether or not the admitted flow path for which the rejection of the successfully-fetched flow is permitted for the fetch request associated with the corresponding client type and whether or not the rejection of the admitted flow path associated with the corresponding client type is prohibited.
Clicking on the save button 382save completes the saving of the settings of the input boxes 382b and 382c and the check box 382d. If the initial default values of the input boxes 382b and 382c and the check box 382d need to be restored, the values in the input box 382b and the input box 382c can be cleared by only clicking the restore default button 382rst, and the selected state of the check box 382d is restored to an admitted flow path that does not allow the rejection of successfully-fetched flows for the fetch request associated with the corresponding client type and an admitted flow path that does not prohibit (i.e., allows) the rejection of the fetch request associated with the corresponding client type, and then the save button 382save is clicked again. The initial default value indicated by the input box 382b being cleared may be a maximum configurable value set for the fetch flow number limit in advance or infinity, that is, when the fetch flow number limit set in the input box 382b is configured to be 0, it indicates that the client of the client type is not allowed to fetch flow from the current-level platform; when the input box 382b is empty, it indicates that the number of ways the client type takes from the current stage is not limited. Also, the initial default value represented by input box 382c being cleared may be a numerical value representing the lowest privilege level, at which point the selected state of check box 382d may be locked to disallow the disallowed eviction of an admitted flow path for an eviction request associated with the corresponding client type and to disallow (i.e., allow) the disallowed flow path associated with the corresponding client type to be evicted.
Referring to fig. 7c, for each video streaming service platform configured with a dynamic set of control information, the object category of the user 303 may configure admission control information 383 for different users registered on the video streaming service platform. For example, for the video streaming service platform 100 shown in fig. 1, the object category of the user 303 may configure the admission control information 383 for different local users 103 respectively; for the first neighborhood video streaming service platform 110 shown in fig. 1, the object category of the user 303 may configure admission control information 383 for different first neighborhood users 113 respectively; similarly, for the second neighborhood video streaming service platform 110 shown in fig. 1, the object category of the user 303 may configure the admission control information 383 for different second neighborhood users 123 respectively.
The admission control information 383 for each registered user may include its user name 383a, an input box 383b for setting a flow taking number limit, a display box 383c for displaying its permission level, and a check box 383d for setting a flow taking policy. The user name 383a and the permission level presented in the display box 383c can be synchronized from the video streaming service platform. Wherein, the value inputted in the input box 383b represents the path number limit value allowing the corresponding user to take the stream from the video streaming media service platform; a numerical value presented in a display box 383c, which represents the assigned permission level of the corresponding user when the video streaming media service platform is registered; the check box 383d is set to a selected state indicating whether or not the admitted flow path for which the rejection of the successfully-fetched flow is permitted for the fetch request associated with the corresponding user and whether or not the rejection of the admitted flow path associated with the corresponding user is prohibited.
The save button 383save and restore default button 383rst are the same as described above. The initial default value indicated by the input box 383b being cleared may be a maximum configurable value set for the fetch flow number limit in advance or infinity, that is, when the fetch flow number limit set in the input box 383b is configured as 0, it indicates that the corresponding user is not allowed to fetch flow from the current-stage platform; when the input box 383b is empty, it indicates that the number of paths taken by the corresponding user from the current stage platform is not limited. Also, the initial default selected state of check box 383d may be such that admitted flow paths for which successful fetching is not allowed to be culled for fetch requests associated with the corresponding user, and admitted flow paths associated with the corresponding client type are not prohibited (i.e., allowed) to be culled.
Referring to fig. 7c and 7d, the control pool details window 33 may also have a user organization relationship (e.g. tree) frame 384e, when its root node is selected, all admission control information 383 of the object category of the user 303 may be presented in the control pool details window 33, and when one of the child nodes identified by the user group name 384a is selected, the admission control information 384 of the corresponding user group identified by the user group name 384a is presented in the control pool details window 33. The admission control information 384 for each user group may include the user group name 384a for that user group and an input box 384b for setting a flow number limit. That is, the object category of the user group 304 may configure the admission control information 384 for different user groups to which users registered in the video streaming service platform (see the foregoing example for the object category of the user 303) belong. Wherein the value input in the input box 384b represents a limit value of the sum of the paths that all users in the corresponding user group are allowed to take from the video streaming service platform. The save button 384save and the restore default button 384rst are the same as described above. The initial default value indicated by the input box 384b being cleared may be a maximum configurable value preset for the limit of the number of access routes or infinity, and if the input box 384b is not empty, the admission control information 383 corresponding to each user belonging to the user group may not be separately set, so as to prevent the limit of the number of access routes of a single user from exceeding the limit indicated by the value input in the input box 384b.
Referring to fig. 7e, for each video streaming service platform configured with a dynamic set of control information, the object category of the area 305 may be configured with admission control information 385 for a front-end device cluster accessing the video streaming service platform and deployed in different areas, respectively. For example, for the video streaming service platform 100 shown in fig. 1, the object category of the area 305 may configure the admission control information 385 for the local-area head-end device cluster 102 deployed in different areas respectively; for the first neighborhood video streaming media service platform 110 shown in fig. 1, the object category of the area 305 may configure admission control information 385 for the first neighborhood front-end device cluster 112 deployed in different areas respectively; similarly, an object class of the area 305 may configure admission control information 385 for a second neighborhood head-end device cluster 122 deployed in a different area. The admission control information 385 for each deployment area may include its area identification 385a, and an input block 385b for setting a flow number limit. Wherein the value entered in the input block 385b represents a way limit (e.g., an integer of 0-10 ten thousand) that allows the current stage platform to fetch from the area. The save button 385save and restore default button 385rst are the same as described above. The initial default value indicated by the input block 385b being cleared may be a maximum configurable value set for the number of fetched routes limit in advance or infinity, that is, when the number of fetched routes limit set in the input block 385b is configured to be 0, it indicates that the current stage platform is not allowed to fetch the streams from the corresponding area; when the input block 385b is empty, the number of paths for the current stage platform to take from the area is not limited.
In addition, the control pool details window 33 may also have a region organization relationship (e.g., tree) block 385e, which may implement hierarchical setting of regions through the deployment of parent nodes and child nodes. Each node (root or child) may present a corresponding area identification 385a.
Referring to fig. 7f, for each object category of the video streaming media service platform configured with the dynamic set of control information, the upper level platform 306 may configure admission control information 386 for each neighboring video streaming media service platform respectively. The admission control information 386 configured for each neighboring domain video streaming service platform in the upper level platform 306 may include its platform identification 386a (e.g., IP address), an input box 386b for setting a fetching route number limit, an input box 386c for setting a privilege level, and a check box 386d for setting a fetching policy. Wherein the value input at the input block 386b represents a path number limit (e.g., an integer of 0 to 10 ten thousand) that allows the upper-level platform to fetch the stream from the current-level platform; a numerical value input at the input box 386c, which indicates the authority level of the corresponding upper platform (there may be other upper platforms except the first neighborhood video streaming service platform 110); the selection state set in the check box 386d indicates whether or not the admitted flow path for which the flow fetching request associated with the corresponding upper stage platform is allowed to be rejected successfully, and whether or not the admitted flow path associated with the corresponding upper stage platform is prohibited from being rejected. Save button 386save and restore default button 386rst are the same as described above. The initial default value indicated by the input box 386b being cleared may be a maximum configurable value or infinity preset for the number of access flow limits; the initial default value represented by input box 386c being cleared may be a numerical value representing a lowest privilege level, at which point the selected state of check box 386d may be locked to disallow the disallowed flow paths for which successful fetches are to be culled for fetch requests associated with the corresponding upper level platform and to disallow (i.e., allow) the disallowed flow paths associated with the corresponding upper level platform to be culled.
Referring to fig. 7g, for each object category of the video streaming media service platform configured with the dynamic set of control information, the lower level platform 307 may configure admission control information 387 for each neighboring area video streaming media service platform respectively. In the lower platform 307, the admission control information 387 configured for each neighborhood video streaming service platform may include a platform identifier 387a (e.g., IP address) thereof, and an input box 387b for setting the number-of-streams limit. The value input in the input box 387b represents a path number limit value (for example, an integer of 0 to 10 ten thousand) that allows the current stage to take a stream from the lower stage. The save button 387save and restore default buttons 387rst are the same as described above. The initial default value, where input block 387b is cleared, may be the maximum configurable value or infinity that was previously set for the fetch flow number limit.
Fig. 8 is a schematic diagram of a first optimization flow of performing admission control with a flow path as granularity in the flow taking control method shown in fig. 5. Referring to fig. 8, the stream fetching control method in this embodiment may be optimized to include the following steps:
s810: when the video streaming media service platform receives the streaming request, the admission control information set for the relevant object of the streaming request is searched in the currently configured control information dynamic set.
This step may be substantially the same as S510 in the flow shown in fig. 5, and is not described here again. If the search at S810 is successful, jumping to S820; if the admission control information of the relevant object for the streaming request is not searched in S810, it may be determined that the video streaming service platform is allowed to fetch the video streaming intended to be fetched for the streaming request.
S820: checking whether the current load path number of the related object of the object category of the flow fetching request reaches the limit value or not by using the searched limit value of the flow fetching path number in the admission control information of each object category, wherein:
if the current load path number of the associated objects of all the object types to be checked does not reach the limit value, determining that the admission check is successful so as to allow the video streaming media service platform to fetch the video streaming media intended to be fetched for the streaming request;
if the current load path number of the associated object of any checked object type reaches the limit value, determining that the admission check fails, so as to forbid the video streaming media service platform from fetching the video streaming media intended to be obtained for the streaming request.
Referring back to fig. 3, each object category presented in the control pool window 32 may also be accompanied by a pull-down button 36 for triggering presentation of a sorting option menu 37, and in the sorting option menu 37, a sorting order for checking may be set for each object category presented in the control pool window 32.
Accordingly, before S820, the sequence values further configured for at least two object categories in the control information dynamic set may be further obtained, so that, in S820, each object category of the streaming request is sequentially selected according to the sequence value sorting, and whether the current load path number of the associated object of the object category has reached the limit value is checked, and as long as it is determined through the check that the current load path number of the associated object of the currently selected object category has reached the limit value, it may be determined that the admission check fails, without continuing the check on the associated objects of other object categories that have not been selected.
At this point, the admission control decision for one flow fetching request is finished.
The above-mentioned flow based on the main constraint condition with the number of the access routes as the admission check: for the object class of the platform 301 of the present stage, the platform load can be limited within a reasonable range; for the three categories of the client 302, the user 303 and the user group 304, the occupancy rate of a certain type of client, a single user and/or a user group on video streaming media resources can be reasonably controlled; for the two object categories of the area 305 and the lower platform 307, the output load of the front-end device cluster and the push load of the lower platform can be limited within a reasonable range; for the object type of the superior platform 306, the resource acquisition (real-time preview, pan-tilt control, video query and video playback) of the superior platform from the current platform can be started and stopped, and when the current platform is applied to service scenes such as security, the start-stop control of the resource acquisition of the superior platform can ensure that security service with higher importance is not influenced. Therefore, the method is beneficial to normal operation of various services in the service system, for example, the impact of the stream taking action on the normal operation of the video streaming media service platform is reduced.
Fig. 9 is a schematic diagram of a second optimization flow of performing admission control with a flow path as granularity in the flow fetching control method shown in fig. 5. Referring to fig. 9, the stream taking control method in this embodiment may be further optimized to include the following steps:
s910: when the video streaming media service platform receives the streaming request, the admission control information set for the relevant object of the streaming request is searched in the currently configured control information dynamic set.
This step may be substantially the same as S510 in the flow shown in fig. 5, and is not described herein again.
S920: checking whether the current load path number of the related object of the object category of the flow fetching request reaches the limit value or not by using the searched limit value of the flow fetching path number in the admission control information of each object category, wherein:
if the current load path number of the associated objects of all the object types to be checked does not reach the limit value, determining that the admission check is successful, so as to allow the video streaming media service platform to fetch the video streaming media intended to be fetched for the streaming request;
if the current load path number of the associated object of any checked object type has reached the limit value, the process goes to S930.
As described above, each object category may be set to a chronological order in the verification. Correspondingly, before S920, a sequence value further configured for at least two object categories in the control information dynamic set may be further obtained, so that S920 selects each object category of the flow fetching request in sequence according to the sequence value sorting to check whether the current load path number of the associated object of the object category has reached the limit value.
S930: and searching for an allowable rejected flow path which can release the current load path number of the associated object of the object class by using the authority level and the flow fetching strategy further included in the admission control information of the object class of the destination end. The information of the admitted flow path can be obtained and maintained through the life cycle information actively reported by the video streaming media service platform.
As described above, the object categories in this embodiment include four destination object categories, namely, the client 302, the user 303, the user group 304, and the upper platform 306, wherein admission control information of the three destination object categories, namely, the client 302, the user 303, and the upper platform 306, includes a permission level and a stream fetching policy, and permission levels and stream fetching policies are not provided in admission control information of the user group 304, which considers that the user group 304 is not easy to eliminate a single admitted stream, but if group elimination of admitted streams is allowed, permission levels and stream fetching policies may also be allowed to be included in admission control information of the user group 304. If the allowable flow path can be eliminated by successful searching, the successful admission verification is determined so as to allow the video streaming media service platform to fetch the video streaming media intended to be fetched by the streaming request; otherwise, the excluded admitted flow path is not searched, and the admission check is determined to fail, so as to forbid the video streaming media service platform to fetch the video streaming media intended to be fetched by the streaming request.
At this point, the admission control decision for one flow fetching request is ended.
Based on the above-mentioned flow taking the number of the access flow as the main constraint condition of the access check and assisted by the priority combining the authority level and the access policy to implement allocation, the normal operation of the service can be ensured by further combining the priority, and the acquisition of the video streaming media resources by a certain type of clients or users is limited, so as to further provide the protection capability for the video streaming media resources.
In addition, if a sequence value further configured for at least two object categories in the control information dynamic set is further obtained before S920, S930 may select the permission level and the flow fetching policy in the admission control information of each destination object in sequence according to the sequence value sorting, and perform a search that can eliminate the admitted flow path. As long as the allowable rejected flow path is successfully searched by using the permission level and the flow fetching strategy in the admission control information of the related object of the currently selected object class, the search can be executed without continuing to execute the search for the related objects of other object classes which are not selected.
For example, in the local domain stream fetching behavior shown in fig. 2a or the single-level cross-platform stream fetching behavior shown in fig. 2c, the stream fetching request may have associated objects of two destination object categories (admission control information includes a right class and a stream fetching policy) of the client 302 and the user 303 at the same time, and at this time, as long as the control information dynamically and centrally includes the admission control information of the two destination categories at the same time, the above-mentioned sequentially selecting destination object categories may be applied to perform the search for rejecting the admitted streams.
Fig. 10 is a schematic diagram of a preferred flow of the culling decision sub-process in the second optimization flow shown in fig. 9. Referring to fig. 10, S930 in the process shown in fig. 9 may specifically include:
s931: inquiring the access control information of the associated object of the object class of the target end in the searched access control information set for the associated object of the stream taking request, wherein the access control information of any associated object of the object class of the target end further comprises an authority level and a stream taking strategy; if the inquiry is successful, jumping to S932; if the query fails, it is determined that the rejectable admitted flow path is not searched in S930, and thus it is determined that the admission check fails.
S932: when the access control information of the associated object of the target object class is successfully inquired, determining whether to allow the associated object of the target object class of the access request to remove the accessed flow path or not by detecting the flow fetching strategy in the access control information of the associated object of the target object class; if the permitted relevant object of the object class of the destination end of the stream taking request is removed from the permitted stream path, jumping to S933; if it is forbidden to remove the admitted flow path for the associated object of the destination object category of the stream fetching request, it is determined that the removable admitted flow path is not searched in S930, and thus it is determined that the admission check fails.
S933: when determining that the related object of the target object class of the stream taking request is allowed to be removed from the admitted flow path, searching a candidate removal flow path with the related object of the target object class in the admitted flow path, wherein the stream taking strategy in the admission control information of the related object of the target object class of the candidate removal flow path indicates that the related object is allowed to be removed, and the permission level in the admission control information of the related object of the target object class of the candidate removal flow path is lower than the permission level in the admission control information of the related object of the target object class of the stream taking request. If the candidate elimination flow path (S) is/are searched successfully, jumping to S934; if the search fails, it is determined that the rejectable admitted flow path is not searched in S930, and thus it is determined that the admission check fails.
S934: and predicting whether the candidate culling flow path is enough to release the current load path number reaching the limit value after the culling.
If the candidate rejection flow path with the number of the current load paths which are enough to release the limit value after being rejected is successfully predicted through prediction in the step S934, skipping to the step S935;
if the rejection of all candidate rejection flow paths is determined to be insufficient to release the current load path number reaching the limit value through prediction in the step S934, it is determined that no rejectable admitted flow path is searched in the step S930, and therefore it is determined that the admission verification fails.
For example, S934 may specifically include:
detecting whether all candidate eliminating flow paths cover all associated objects of the flow taking request or not;
if the candidate removing flow path covers all the associated objects of the stream taking request, the current load path number of all the associated objects of the stream taking request can be reduced by removing the candidate removing flow path, so that the current load path number of the associated objects which can release verification failure by removing the candidate removing flow path is determined; in the case that there are multiple candidate removal flow paths, there may be multiple candidate removal flow paths covering all associated objects of the stream fetching request, and at this time, one (the lowest authority level of the associated object of the destination object class) candidate removal flow path may be selected from the multiple candidate removal flow paths covering all associated objects of the stream fetching request;
if at least one associated object which is not covered by all candidate rejection flow paths exists in the associated objects of the stream taking request, detecting whether the associated object which is not covered by the candidate rejection flow paths passes the check of the current load path number (namely the check of S920);
if the current load path number of the associated object not covered by the candidate rejecting flow path is verified (namely, the verification of the step S920 is not limited), determining that the current load path number of the associated object with which verification fails can be released by rejecting the candidate rejecting flow path;
if at least one non-existing current load path number of the associated object which is not covered by the candidate rejection flow path is not checked by the step S920, performing supplementary check on the current load path number of the associated object (the principle is the same as that of the step S920), and performing compensation with the path number being 1 during supplementary check;
and if the result of the supplementary verification shows that the current load path number of the associated object does not reach the limit value after the candidate elimination flow path is eliminated, determining that the elimination of the candidate elimination flow path can release the current load path number of the associated object with failed verification.
S935: and determining one candidate rejection flow path which is predicted successfully as a rejection admitted flow path, and triggering the rejection of the rejection admitted flow path. That is, it is determined that S930 successfully searches for an allowable culled admitted flow path, and it is determined that the admission check is successful, so as to allow the video streaming service platform to fetch the video streaming intended for the streaming request.
And ending the elimination judgment process aiming at the once stream taking request.
For the case that the permission level and the stream fetching strategy in the admission control information of each destination object are sequentially selected to execute the removable admitted flow path search in S930, a decision may be added before determining that the admission check fails, that is, the removable admitted flow path search for all destination object categories has been tried, and after the removable admitted flow path search for all destination object categories fails, the admission check fails.
In order to better understand the above-mentioned culling decision principle, the following detailed description is made with reference to the examples.
Fig. 11a to fig. 11c are schematic diagrams of an application example of the second optimization flow shown in fig. 9 in the business system shown in fig. 1. In the examples shown in fig. 11a to fig. 11c, a scenario similar to the single-level cross-platform streaming behavior shown in fig. 2c is taken as an example, that is, a first local-domain user 103a registered in the video streaming media service platform 100 initiates streaming from the second neighborhood front-end device cluster 122 accessing the second neighborhood video streaming media service platform 120 through the video streaming media service platform 100, and: the video streaming media service platform 100 is currently configured with an information family containing all object types (a current-level platform 301, a client 302, a user 103, a user group 304, an area 305, an upper-level platform 306 and a lower-level platform 307) in a dynamic and centralized manner; the sequence values configured for the object categories in the dynamic control information set are ordered according to the current platform 301, the client 302, the user 103, the user group 304, the area 305, the upper platform 306 and the lower platform 307.
Referring to fig. 11a, assume: in the information family of the type of the client 302, the flow fetching policy in the admission control information of the local browser server 105a is set as non-removable; in the information family of the class of the user 303, the flow fetching policy in the admission control information for the user 103a in the first local domain is set as non-removable.
Firstly, by executing S920 of the flow shown in fig. 9, in the information family of the object class of the present-stage platform 301 searched in S910, obtaining admission control information of the video streaming media service platform 100 by searching, and checking and determining that the current load path number of the present-stage platform (video streaming media service platform 100) has reached the limit value by using the access path number limit value in the admission control information, then, without performing checking by using the access path number limit value in the admission control information of other object classes, and jumping to S930, searching for an excluded admitted path capable of releasing the current load path number of the associated object of the object class by using the authority class and the access policy further included in the access control information of the destination object class;
next, a culling decision is performed according to the flow shown in fig. 10: by executing S931, according to the ordering of the object categories, in the admission control information of the target object category, which is the client 302 searched in S910, querying the admission control information of the local browser server 105a for the streaming policy; the flow fetching policy in the admission control information of the local browser server 105a is detected to be set as non-removable by executing the step S932, so the process returns to the step S931; by executing S931 again, querying the flow fetching policy in the admission control information of the first local-domain user 103a from the admission control information of the destination object category, which is the user 303 searched in S910, according to the ordering of the object categories; the flow fetching strategy in the admission control information of the first local-domain user 103a is detected to be set as non-removable by executing S932 again, and after the search of removable admitted flow paths of all destination object categories fails, it is determined that the admission check fails, that is, the flow fetching fails.
Please refer to fig. 11b, assume: in the information family of the type of the client 302, the flow fetching policy in the admission control information of the local browser server 105a is set as non-removable; in the information family of the class of the user 303, the flow fetching policy in the admission control information of the user 103a in the first local domain is set to be removable.
In the example shown in fig. 11b, the process of performing S920 of the flow shown in fig. 9 may be the same as the example shown in fig. 11a, and also jumps to S930: by executing S931 and S932 in sequence, it is detected that the flow fetching policy in the admission control information of the local browser server 105a is set as non-removable, and therefore, the process returns to S931; by executing S931 again, querying the flow fetching policy in the admission control information of the first local-domain user 103a from the admission control information of the destination object category, which is the user 303 searched in S910, according to the ordering of the object categories; detecting that the flow fetching policy in the admission control information of the first local-domain user 103a is set to be removable by executing S932 again, and therefore, searching the admitted flow for a candidate removal flow having an associated object of the destination object type (user 303) by executing S933; wherein, the second local domain user 103b has successfully fetched the flow at this time, the second local domain user 103b belongs to the associated object of the destination object category (user 303) of the admitted flow path, and the flow fetching policy in the admission control information indicates that the associated object is allowed to be removed and the permission level is lower than the permission level in the admission control information of the associated object (first local domain user 103 a) of the destination object category (user 303) initiating the flow fetching request, so the admitted flow path of the second local domain user 103b is determined as a candidate removal flow path;
thereafter, it is predicted by executing S934 whether the candidate removal flow path is enough to release the current load path number that has reached the limit after being removed, for example, it is determined that the candidate removal flow path of the second local user 103b does not cover the associated object (the second neighborhood video streaming service platform 120) of the object category of the lower platform 307 in the stream removal request, and the associated object (the second neighborhood video streaming service platform 120) does not complete the verification of the current load path number, and then, after subtracting 1 from the current access path number (the current load path number) of the second neighborhood video streaming service platform 120, the supplementary verification is performed by using the access path number limit of the admission control information set for the second neighborhood video streaming service platform 120 in the information family of the object category of the lower platform 307.
In the example shown in fig. 11b, taking the case of successful supplementary verification as an example, therefore, the candidate culling flow path of the second local-domain user 103b is culled (even if the authority level of the local-domain client server 105b of the candidate culling flow path is higher than the authority level of the local-domain browser server 105a of the streaming request), and the streaming request initiated by the first local-domain user 103a is allowed. That is, the admission policy in the admission control information of the first local-domain user 103a is set to be removable and has a relatively high authority level, so that the admitted flow paths in which the second local-domain user 103b and the local-domain client server 105b are located can still be successfully removed under the condition that the authority level of the local-domain browser server 105a is relatively low and other admitted flow paths cannot be removed by the admission policy setting bit.
Please refer to fig. 11c, suppose: in the information family of the type of the client 302, the flow fetching strategy in the admission control information of the local browser service terminal 105a is set to be removable; in the information family of the class of the user 303, the flow fetching policy in the admission control information of the user 103a in the first local domain is set to be removable.
In the example shown in fig. 11c, the process of performing S920 of the flow shown in fig. 9 may be the same as the example shown in fig. 11a and 11b, and also jumps to S930: by executing S931 and S932 in sequence, the stream fetching policy in the admission control information of the local browser server 105a is preferentially detected to be set as removable according to the ordering of the object categories, so that by executing S933, a candidate removal flow path having an associated object of the destination object category (client 302) is searched for in the admitted flow path; wherein, the local domain mobile terminal 105c has successfully fetched the flow at this time, the local domain mobile terminal 105c belongs to the associated object of the destination object category (client 302) of the admitted flow path, and the flow fetching policy in the admission control information indicates that the associated object is allowed to be removed and the permission level is lower than that in the admission control information of the associated object (local domain browser server 105 a) of the destination object category (client 302) initiating the flow fetching request, so the admitted flow path of the local domain mobile terminal 105c is determined as a candidate removal flow path; thereafter, it is predicted whether the candidate culling flow path is enough to release the current load path number reaching the limit after being culled by executing S934, for example, it is determined that the culling flow path of the local mobile terminal 105c does not cover the associated object (the second neighbor video streaming service platform 120) of the object category of the lower platform 307 in the fetching request, and the associated object (the second neighbor video streaming service platform 120) does not complete the verification of the current load path number, and then, after subtracting 1 from the current fetching flow path number (the current load path number) of the second neighbor video streaming service platform 120 by the video streaming service platform, the fetching flow path number limit of the admission control information set for the second neighbor video streaming service platform 120 in the information family of the object category of the lower platform 307 is used for the supplementary verification.
In the example shown in fig. 11c, taking the case that the supplementary verification succeeds as an example, therefore, the candidate culling flow path of the local mobile terminal 105c is culled (even if the permission level of the third local user 103c of the candidate culling flow path is higher than the permission level of the first local user 103a initiating the streaming request), and the streaming request initiated by the first local user 103a is allowed. That is, the client 302 belonging to the local browser server 105a is ranked relatively higher, and the flow fetching policy in the admission control information of the local browser server 105a is set to be removable and has a relatively high authority level, so that the admitted flow paths in which the local mobile terminal 105c and the third local user 103c are located can be successfully removed by using the priority ranking of the object class of the client 302 when the authority level of the first local user 103a is relatively low.
The above is a detailed description of the stream fetching control method applied to the video streaming media service platform carried by the server cluster. In the embodiments described below, a platform device for providing a video streaming service is provided, and the platform device can provide the video streaming service and also can implement the functions of the foregoing streaming control method. That is, the platform device can be understood as a device form of a video streaming media service platform integrating a streaming control function.
The platform device for providing the video streaming service in this embodiment may include: the video streaming media service module is used for acquiring a streaming request; a video streaming media control module, configured to: responding to a stream taking request obtained by a video stream media service module, and searching admission control information set for a related object of the stream taking request in a currently configured control information dynamic set; when the access control information set for the related object of the stream taking request is searched, the searched access control information is utilized to carry out access check on the stream taking request so as to determine whether to allow the video stream media service module to take the stream for the video stream media which is intended to be obtained by the stream taking request.
Based on the above embodiments, the control information dynamic set may be used to determine a control policy of a video streaming service module (i.e., a video streaming service platform) for an associated object of a streaming request, whenever the video streaming service module (i.e., the video streaming service platform) receives a streaming request, the currently configured control information dynamic set may be searched for admission control information set for the associated object of the streaming request, if the admission control information set for the associated object of the streaming request is searched, it indicates that the streaming behavior corresponding to the streaming request needs to be controlled, and the streaming request may be subjected to admission check by using the searched admission control information, so as to determine whether to allow the video streaming service module (i.e., the video streaming service platform) to fetch the video streaming intended by the streaming request. The admission control of the related object of the stream taking action is carried out on the video stream media service module (namely, a video stream media service platform) so as to control the stream taking action, thereby being beneficial to the normal operation of various services in a service system.
Fig. 12 is a schematic diagram illustrating an example of an operation principle of a platform device for providing a video streaming service in another embodiment. Please refer to fig. 12:
s1310: the video streaming service module 1210 may generate a check request to the video streaming control module 1220 in response to the obtained streaming request, wherein the check request includes object information of an associated object involved in generation, transmission and/or playing of the video streaming intended to be obtained by the streaming request.
S1320: the video streaming media control module 1220 searches for admission control information set for an associated object of the streaming request in the currently configured control information dynamic set 1200 according to the received check request;
s1330: when the admission control information set for the associated object of the streaming request is not searched, the video streaming control module 1220 generates a successful response to the video streaming service module 1210, indicating that the video streaming service module 1210 is allowed to fetch the video streaming intended by the streaming request;
s1340: when the admission control information set for the associated object of the streaming request is searched, the video streaming media control module 1220 performs admission check on the streaming request by using the searched admission control information to determine whether to allow the video streaming media service module 1210 to fetch the streaming of the video streaming media intended to be obtained by the streaming request.
S1350: when the verification is successful, the video streaming control module 1220 generates a success response to the video streaming service module 1210, indicating that the video streaming service module 1210 is allowed to fetch the video streaming intended for the streaming request.
S1360: after the video streaming media service module 1210 fetches the video streaming media intended to be obtained by the streaming request, it sends the life cycle information to the video streaming media control module 1220, so that the video streaming media control module 1220 can obtain and maintain the information of the admitted streaming.
S1370: when the verification fails, the video streaming media control module 1220 generates a failure response indicating that the video streaming media service module 1210 is prohibited from fetching the video streaming media intended to be obtained for the streaming request, to the video streaming media service module 1210, and triggers the video streaming media service module 1210 to return the request failure response.
As a preferred solution for facilitating the admission control information search, the video streaming media control module 1220 may include an information search sub-module for: determining the object category to which the associated object of the stream fetching request belongs; searching the information family of each determined object type in the current configured control information dynamic set; when the information family of any determined object category is searched, the information family of the object category is searched for the admission control information set for the related object of the object category of the stream taking request; the object class to which the information family in the dynamic control information set belongs may be an object class selected from a preset controlled object class set, and the object classes in the controlled object class set include: a home object class, at least two source object classes, and at least two destination object classes.
As a preferred solution for facilitating the configuration of the dynamic set of control information, the video streaming media control module 1220 may further include an information configuration sub-module for allowing the object class to which the information family included in the dynamic set of control information belongs to be selected as follows: in response to a first user action, migrating selected object categories in a first subset of a controlled object category set to a second subset; and, the object class for allowing the information family included in the dynamic set of control information to belong to is revoked as follows: migrating selected object categories in a second subset of the set of controlled object categories to the first subset in response to a second user action; wherein the object class in the second subset is allowed to add or modify or delete admission control information set for any associated object of the object class for synchronization into the information family of the object class of the dynamic set of control information.
If the access check is performed with the access number as the granularity, the video streaming media control module 1220 may further include an access check sub-module, configured to check whether the current load number of the object associated with the object type of the access request has reached the limit value by using the access number limit value in the access control information of each object type; if the current load path numbers of the associated objects of all the verified object types do not reach the limit value, determining that the access verification is successful; and if the current load path number of the associated object of any checked object type reaches the limit value, determining that the admission check fails.
If different object categories can be ordered, the admission check sub-module may be further configured to: and acquiring sequence values further configured for at least two object classes in the control information dynamic set, and sequentially checking whether the current load path number of the associated object of each object class of the flow fetching request reaches the limit value according to the sequence of the sequence values.
If the admission check is performed with the number of the access routes as the granularity, the method may further be assisted by priority allocation combining the right level and the access policy, and at this time, the video streaming media control module 1220 may further include another admission check sub-module, configured to: checking whether the current load path number of the related object of the object type in the flow fetching request reaches the limit value or not by utilizing the limit value of the flow fetching number in the searched admission control information of each object type; if the current load path numbers of the associated objects of all the verified object types do not reach the limit value, determining that the access verification is successful; if the current load path number of the associated object of any checked object class reaches the limit value, searching an exclusionable admitted flow path which can release the current load path number of the associated object by utilizing the permission level and the flow fetching strategy which are further included in the admission control information of the object class of the destination end, wherein if the exclusionable admitted flow path is successfully searched, the successful admission check is determined; otherwise, determining that the admission check fails.
To implement the above-mentioned cullable decision, the video streaming media control module 1220 may further include a culling decision sub-module invoked by the admission check sub-module when searching for a cullable admitted flow path that may release the current number of load paths of the associated object, and configured to: inquiring the access control information of the associated object of the target object type in the searched access control information set for the associated object of the flow taking request, wherein the access control information of any associated object of the target object type further comprises an authority level and a flow taking strategy; when the access control information of the associated object of the target object class is successfully inquired, determining whether to allow the associated object of the target object class of the access request to remove the accessed flow path or not by detecting the flow fetching strategy in the access control information of the associated object of the target object class; when determining that the related object of the target object class of the stream taking request is allowed to be removed from the admitted flow path, searching a candidate removal flow path with the related object of the target object class in the admitted flow path, wherein the stream taking strategy in the admission control information of the related object of the target object class of the candidate removal flow path indicates that the related object is allowed to be removed, and the permission level in the admission control information of the related object of the target object class of the candidate removal flow path is lower than the permission level in the admission control information of the related object of the target object class of the stream taking request; predicting whether the candidate rejecting flow path is enough to release the current load path number reaching the limit value after being rejected; if the candidate rejecting flow path with the number of the current load paths which are enough to release the current load paths reaching the limit value after being rejected is successfully predicted, determining one candidate rejecting flow path which is successfully predicted as a rejected admission flow path, and triggering rejection of the rejected admission flow path; otherwise, determining that the admission check fails.
For example, in order to predict whether the candidate culling flow path is enough to release the current load path number that has reached the limit value after being culled, the culling decision sub-module may: detecting whether all candidate eliminating flow paths cover all associated objects of the flow taking request or not; if the candidate removing flow path covers all the associated objects of the stream taking request, the current load path number of all the associated objects of the stream taking request can be reduced by removing the candidate removing flow path, so that the current load path number of the associated objects which can release verification failure by removing the candidate removing flow path is determined; in the case that there are multiple candidate removal flow paths, there may be multiple candidate removal flow paths covering all associated objects of the stream fetching request, and at this time, one (the lowest authority level of the associated object of the destination object class) candidate removal flow path may be selected from the multiple candidate removal flow paths covering all associated objects of the stream fetching request; if at least one associated object which is not covered by all candidate elimination flow paths exists in the associated objects of the stream taking request, detecting whether the associated object which is not covered by the candidate elimination flow paths passes the check of the current load path number (namely the check of an admission check submodule); if the current load path number of the associated object which is not covered by the candidate rejecting flow path is verified (namely verification of the admittance verification sub-module) to be not limited, determining that the current load path number of the associated object which fails in verification can be released by rejecting the candidate rejecting flow path; if at least one non-existing current load path number of the associated object which is not covered by the candidate rejecting flow path is not verified by the S920, performing supplementary verification (the same as the verification principle of the admission verification sub-module) on the current load path number of the associated object, and performing compensation with the path number of 1 during supplementary verification; and if the result of the supplementary verification shows that the current load path number of the associated object does not reach the limit value after the candidate elimination flow path is eliminated, determining that the elimination of the candidate elimination flow path can release the current load path number of the associated object with failed verification.
Under the condition of performing admission check by taking the number of the flow taking as granularity and assisting with priority allocation by combining the authority level and the flow taking strategy, different object class setting sequencing can be supported, and at the moment, the admission check submodule can be further used for: obtaining sequence values further configured for at least two object categories in the control information dynamic set, and sequencing according to the sequence values: according to the sequence value sequence, sequentially selecting each object type of the flow taking request to check whether the current load path number of the associated object of the object type reaches the limit value; and sequentially selecting the authority level and the flow taking strategy in the admission control information of each destination object according to the sequence value sequence, and executing the search capable of rejecting the admitted flow path.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (13)

1. A method for controlling access to a stream, comprising:
when a video streaming media service platform receives a streaming request, determining an object class to which an associated object of the streaming request belongs, wherein the associated object is used for participating in a streaming behavior of video streaming media which is intended to be acquired by the streaming request;
searching the information family of each determined object category in the currently configured control information dynamic set, wherein the object category to which the information family in the control information dynamic set belongs is an object category selected from a preset controlled object category set;
when the information family of any determined object category is searched, the admission control information set for the related object of the object category of the stream taking request is searched in the information family of the object category;
and when the admission control information set for the related object of the object type of the streaming request is searched, carrying out admission check on the streaming request by using the searched admission control information to determine whether to allow the video streaming media service platform to fetch the streaming of the video streaming media which is intended to be obtained by the streaming request.
2. The stream taking control method according to claim 1,
the object categories in the controlled object category set include: a home object class, at least two source object classes, and at least two destination object classes.
3. The stream taking control method according to claim 2,
the object class to which the information family included in the dynamic set of control information belongs is selected as follows: in response to a first user action, migrating selected object categories in a first subset of a controlled object category set to a second subset;
the object class to which the information family included in the control information dynamic set belongs is revoked by the following method: migrating selected object categories in a second subset of the set of controlled object categories to the first subset in response to a second user action;
wherein the object classes in the second subset are allowed to add or modify or delete admission control information set for any associated object of the object class for synchronization into the information family of the object class of the dynamic set of control information.
4. The method according to claim 2, wherein performing admission check on the flow fetching request by using the searched admission control information comprises:
checking whether the current load path number of the related object of the object type in the flow fetching request reaches the limit value or not by using the searched limit value of the flow fetching path number in the admission control information of each object type;
if the current load path numbers of the associated objects of all the verified object types do not reach the limit value, determining that the access verification is successful;
if the current load path number of the associated object of any checked object class reaches the limit value, searching an eliminable admitted flow path capable of releasing the current load path number of the associated object of the object class by using the authority level and the flow fetching strategy further included in the admission control information of the object class of the destination end, wherein,
if the rejected admitted flow path is found successfully, determining that the admission verification is successful;
otherwise, determining that the admission check fails.
5. The method according to claim 4, wherein searching for a removable admitted flow path that can release the current number of load paths associated with the object class by using the admission control information of the destination object class further including the right level and the admission policy comprises:
inquiring the access control information of the associated object of the target end object type in the searched access control information set for the associated object of the stream taking request;
when the access control information of the associated object of the target object class is successfully inquired, determining whether to allow the associated object of the target object class of the access request to remove the accessed flow path or not by detecting the flow fetching strategy in the access control information of the associated object of the target object class;
when determining that the related object of the target object class of the stream taking request is allowed to be removed from the admitted flow path, searching a candidate removal flow path with the related object of the target object class in the admitted flow path, wherein the stream taking strategy in the admission control information of the related object of the target object class of the candidate removal flow path indicates that the related object is allowed to be removed, and the permission level in the admission control information of the related object of the target object class of the candidate removal flow path is lower than the permission level in the admission control information of the related object of the target object class of the stream taking request;
predicting whether the candidate rejecting flow path is enough to release the current load path number reaching the limit value after being rejected;
if the candidate rejecting flow path with the number of the current load paths which are enough to release the current load paths reaching the limit value after being rejected is successfully predicted, determining one candidate rejecting flow path which is successfully predicted as a rejected admission flow path, and triggering rejection of the rejected admission flow path;
otherwise, determining that the admission check fails.
6. The method according to claim 5, wherein performing admission check on the admission request by using the searched admission control information, further comprises:
obtaining sequence values further configured for at least two object classes in the control information dynamic set, for:
according to the sequence value sequence, sequentially selecting each object class of the flow taking request to check whether the current load path number of the associated object of the object class reaches the limit value; and
and selecting the authority level and the flow taking strategy in the admission control information of each destination object in sequence according to the sequence value sequence, and executing the search capable of rejecting the admitted flow path.
7. A platform apparatus for providing video streaming service, comprising:
the video streaming media service module is used for acquiring a streaming request;
a video streaming media control module, configured to:
responding to a streaming request acquired by a video streaming media service module, and determining an object class to which an associated object of the streaming request belongs, wherein the associated object is used for participating in a streaming behavior of video streaming media which is intended to be acquired by the streaming request;
searching the information family of each determined object category in the currently configured control information dynamic set, wherein the object category to which the information family in the control information dynamic set belongs is an object category selected from a preset controlled object category set;
when the information family of any determined object category is searched, the admission control information set for the related object of the object category of the stream taking request is searched in the information family of the object category;
when the access control information set for the related object of the object category of the access request is searched, the access request is subjected to access check by using the searched access control information so as to determine whether to allow the video streaming media service module to access the video streaming media intended to be acquired by the access request.
8. The platform device for providing video streaming service according to claim 7,
the object categories in the controlled object category set include: a home object class, at least two source object classes, and at least two destination object classes.
9. The platform apparatus for providing video streaming media service of claim 8, wherein the video streaming media control module further comprises an information configuration sub-module for allowing:
the object class to which the information family included in the dynamic set of control information belongs is selected as follows: in response to a first user action, migrating selected object categories in a first subset of a controlled object category set to a second subset;
the object class to which the information family included in the dynamic set of control information belongs is revoked as follows: migrating selected object categories in a second subset of the set of controlled object categories to the first subset in response to a second user action;
wherein the object class in the second subset is allowed to add or modify or delete admission control information set for any associated object of the object class for synchronization into the information family of the object class of the dynamic set of control information.
10. The platform apparatus for providing video streaming media service of claim 8, wherein the video streaming media control module further comprises an admission check sub-module configured to:
checking whether the current load path number of the related object of the object type in the flow fetching request reaches the limit value or not by using the searched limit value of the flow fetching path number in the admission control information of each object type;
if the current load path numbers of the associated objects of all the verified object types do not reach the limit value, determining that the access verification is successful;
if the current load path number of the associated object of any checked object class reaches the limit value, searching an eliminable admitted flow path capable of releasing the current load path number of the associated object by using the authority level and the flow fetching strategy further included in the admission control information of the object class of the destination end, wherein,
if the rejected admitted flow path is found successfully, determining that the admission verification is successful;
otherwise, determining that the admission check fails.
11. The platform apparatus for providing video streaming media service according to claim 10, wherein the video streaming media control module further comprises a removal decision sub-module invoked by the admission check sub-module when searching for a removable admitted flow path that can release the current number of load paths of the associated object, and configured to:
inquiring the access control information of the associated object of the target object type in the searched access control information set for the associated object of the flow taking request, wherein the access control information of any associated object of the target object type further comprises an authority level and a flow taking strategy;
when the access control information of the associated object of the target object class is successfully inquired, determining whether to allow the associated object of the target object class of the access request to remove the accessed flow path or not by detecting the flow fetching strategy in the access control information of the associated object of the target object class;
when determining that the related object of the target object class of the stream taking request is allowed to be removed from the admitted flow path, searching a candidate removal flow path with the related object of the target object class in the admitted flow path, wherein the stream taking strategy in the admission control information of the related object of the target object class of the candidate removal flow path indicates that the related object is allowed to be removed, and the permission level in the admission control information of the related object of the target object class of the candidate removal flow path is lower than the permission level in the admission control information of the related object of the target object class of the stream taking request;
predicting whether the candidate rejecting flow path is enough to release the current load path number reaching the limit value after being rejected;
if the candidate rejection flow path with the number of the current load paths reaching the limit value is successfully predicted to exist after rejection, determining one candidate rejection flow path which is successfully predicted as a rejectable admitted flow path, and triggering rejection of the rejectable admitted flow path;
otherwise, determining that the admission check fails.
12. The platform apparatus for providing video streaming media service of claim 11, wherein the admission check sub-module is further configured to:
obtaining sequence values further configured for at least two object categories in the control information dynamic set, and sequencing according to the sequence values:
according to the sequence value sequence, sequentially selecting each object type of the flow taking request to check whether the current load path number of the associated object of the object type reaches the limit value; and
and selecting the authority level and the flow taking strategy in the admission control information of each target end object in sequence according to the sequence value sequence, and executing the search capable of rejecting the admitted flow path.
13. A service system for providing video streaming service, comprising at least two server clusters for carrying video streaming service platforms, wherein at least one server cluster is used for executing the streaming control method according to any one of claims 1 to 6, and a dynamic set of control information used by each server cluster when executing the streaming control method is configured independently for the video streaming service platforms carried by the server cluster.
CN202011535854.1A 2020-12-23 2020-12-23 Stream taking control method and platform device for providing video streaming media service Active CN112788368B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011535854.1A CN112788368B (en) 2020-12-23 2020-12-23 Stream taking control method and platform device for providing video streaming media service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011535854.1A CN112788368B (en) 2020-12-23 2020-12-23 Stream taking control method and platform device for providing video streaming media service

Publications (2)

Publication Number Publication Date
CN112788368A CN112788368A (en) 2021-05-11
CN112788368B true CN112788368B (en) 2022-11-04

Family

ID=75751855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011535854.1A Active CN112788368B (en) 2020-12-23 2020-12-23 Stream taking control method and platform device for providing video streaming media service

Country Status (1)

Country Link
CN (1) CN112788368B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339314A (en) * 2021-12-28 2022-04-12 杭州海康威视系统技术有限公司 Stream taking control method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338357A (en) * 2013-06-24 2013-10-02 安科智慧城市技术(中国)有限公司 Method, equipment and system for realizing video monitoring integration

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102625139B (en) * 2012-03-12 2014-03-26 前卫视讯(北京)科技发展有限公司 Multilevel-storage-based network video browsing control method and system
US20160088326A1 (en) * 2014-09-23 2016-03-24 Watchcorp Holdings LLC Distributed recording, managing, and accessing of surveillance data within a networked video surveillance system
CN104967598B (en) * 2014-11-19 2016-12-21 广州酷狗计算机科技有限公司 The acquisition methods of a kind of customer multi-media authority information and device
CN105516369A (en) * 2016-02-04 2016-04-20 城云科技(杭州)有限公司 Video cloud platform load balancing method and video cloud platform load balancing dispatcher
CN106559683B (en) * 2016-11-16 2020-05-19 浙江宇视科技有限公司 QoS priority dynamic adjustment method and device for monitoring service
CN106507215A (en) * 2016-11-25 2017-03-15 上海熙菱信息技术有限公司 One kind adopts the cancellated video stream transmission method of domain service support
CN106803919B (en) * 2017-03-02 2019-08-02 无锡纽微特科技有限公司 The video call system and implementation method of load can be reduced
CN106993201A (en) * 2017-03-17 2017-07-28 武汉斗鱼网络科技有限公司 The authorization check method and device of video playback
CN107135203B (en) * 2017-04-05 2019-03-08 北京明朝万达科技股份有限公司 A kind of method and system of terminal access control strategy optimization
CN110099243A (en) * 2018-01-29 2019-08-06 北京视联动力国际信息技术有限公司 A kind for the treatment of method and apparatus of monitor video
CN111193788A (en) * 2019-12-24 2020-05-22 视联动力信息技术股份有限公司 Audio and video stream load balancing method and device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338357A (en) * 2013-06-24 2013-10-02 安科智慧城市技术(中国)有限公司 Method, equipment and system for realizing video monitoring integration

Also Published As

Publication number Publication date
CN112788368A (en) 2021-05-11

Similar Documents

Publication Publication Date Title
US7502859B2 (en) Dynamic resource management for distributed retrieval system for security
JP3938582B2 (en) Virtual LAN construction device
CN1913436B (en) Method and apparatus for supporting mode-based access control
CN101425916B (en) Tree-type broadcast communication system, reconnection process method, communication node device, node process program, server device, and server process program
US10230850B2 (en) IP telephony network using a configuration map for organizing sites
US20090109970A1 (en) Network system, network management server, and access filter reconfiguration method
CN100534059C (en) Method for overcastting network router by optimized tree topology
CN112788368B (en) Stream taking control method and platform device for providing video streaming media service
CN104348787A (en) Method for performing network video recorder channel connection and network video recorder
CN1897564B (en) Strategic routing matching method based on recursive-flow category algorithm
US20070189185A1 (en) Method for selecting QoS policy and system thereof
US20090049480A1 (en) System and method for generating electronic program guides
CN114268371B (en) Quantum channel resource allocation method and device and electronic equipment
Dräxler et al. Specification, composition, and placement of network services with flexible structures
CN109408046A (en) A kind of shortest path web service composition method based on figure
US20090183238A1 (en) Method and devices for handling access privileges
US7443832B2 (en) Device for determining switching paths in a label switched communication network in the presence of selection attributes
JP4078558B2 (en) Automatic selection connection method
CN100492993C (en) Metod and device for transmitting fusion business
JP2005149456A (en) Group management system and service providing apparatus
CN113360241A (en) Traffic tunnel analysis platform
JP5429292B2 (en) Route search method and node device
JP2005203984A (en) System, method, and program for network management, and recording medium
CA2307520A1 (en) Method for protecting a telecommunications network
CN113923758B (en) POP point selection access method in SD-WAN network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant