Movatterモバイル変換


[0]ホーム

URL:


CN112788368A - 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
CN112788368A
CN112788368ACN202011535854.1ACN202011535854ACN112788368ACN 112788368 ACN112788368 ACN 112788368ACN 202011535854 ACN202011535854 ACN 202011535854ACN 112788368 ACN112788368 ACN 112788368A
Authority
CN
China
Prior art keywords
control information
video streaming
admission
request
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.)
Granted
Application number
CN202011535854.1A
Other languages
Chinese (zh)
Other versions
CN112788368B (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 LtdfiledCriticalHangzhou Hikvision System Technology Co Ltd
Priority to CN202011535854.1ApriorityCriticalpatent/CN112788368B/en
Publication of CN112788368ApublicationCriticalpatent/CN112788368A/en
Application grantedgrantedCritical
Publication of CN112788368BpublicationCriticalpatent/CN112788368B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

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, searching access control information set for a related object of the streaming request in a dynamic set of currently configured control information; 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.
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 stream taking request acquired by a video stream media service module, and searching access 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.
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 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.
Drawings
The following drawings are only schematic illustrations and explanations of the present invention, and do not limit the scope of the present invention:
FIG. 1 is a block diagram of an exemplary architecture of a business system providing video streaming services in one embodiment;
FIGS. 2a to 2d are schematic diagrams illustrating an example of a flow taking action in the service 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 aserver cluster 101 for carrying a videostreaming service platform 100, and at least one local-domain headend device cluster 102 accessing to the videostreaming service platform 100. The videostreaming service platform 100 may be a platform that provides a service function of video playing.
Thelocal domain user 103 can be registered in the video streamingmedia service platform 100, and thelocal domain user 103 can be an independent user or can be affiliated to the localdomain user group 104. Moreover, thelocal user 103 registered in the videostreaming service platform 100 can initiate streaming through the videostreaming service platform 100, and is used for accessing thelocal client 105, which is specified by thelocal user 103 and is in the videostreaming service platform 100, to play the video streaming obtained by streaming.
In the service system shown in fig. 1, a firstneighborhood server cluster 111 for carrying the first neighborhood videostreaming service platform 110, at least one first neighborhood front-end device cluster 112 accessing the first neighborhood videostreaming service platform 110, a secondneighborhood server cluster 121 for carrying the second neighborhood videostreaming service platform 120, and a second neighborhood front-end device cluster 122 accessing the second neighborhood videostreaming service platform 120 may further be included.
The first neighborhood videostreaming service platform 110 and the second neighborhood videostreaming service platform 120 may also be platforms providing service functions of video playing, that is, the first neighborhood videostreaming service platform 110 and the second neighborhood videostreaming service platform 120 may be different video streaming service platforms different from the videostreaming service platform 100 and different from each other.
In order to more clearly understand the scheme in this embodiment, the videostreaming service platform 100 is described herein in terms of its perspective, so that the "neighborhood" is used to distinguish and express other video streaming service platforms different from the videostreaming service platform 100.
A first neighborhood ofusers 113 may be registered with the first neighborhood videostreaming service platform 110, and the first neighborhood ofusers 113 may be independent users or may be affiliated with a first neighborhood ofuser groups 114. Moreover, afirst neighborhood user 113 registered in the first neighborhood videostreaming service platform 110 may initiate streaming through the first neighborhood videostreaming service platform 110, so as to access the video streaming obtained by streaming through thefirst neighborhood client 115 that is specified by thefirst neighborhood user 113 and is accessed to the first neighborhood videostreaming service platform 110.
Similarly, a second neighborhood ofusers 123 may be registered with the second neighborhood of videostreaming service platform 120, and the second neighborhood ofusers 123 may be independent users or affiliated with a second neighborhood ofuser groups 124. Moreover, asecond neighborhood user 123 registered in the second neighborhood videostreaming service platform 120 may initiate streaming through the second neighborhood videostreaming service platform 120, so as to access the video streaming obtained by streaming through thesecond neighborhood client 125 that is located in the second neighborhood videostreaming service platform 120 and specified by thesecond neighborhood user 123.
Thelocal client 105, thefirst neighborhood client 115, and thesecond 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 behavior of the video streaming media intended to be acquired (e.g., generation of the video streaming media, transmission of the video streaming media, and/or playing of the video streaming media).
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 alocal domain user 103 registered in the videostreaming service platform 100 initiates streaming from the local domain front-end device cluster 102 through the videostreaming service platform 100, the streaming behavior may include a behavior combination of the following associated objects:
the system comprises alocal user 103 registered in a video streamingmedia service platform 100, alocal user group 104 to which thelocal user 103 belongs, alocal client 105 accessed to the video streamingmedia service platform 100 and designated by thelocal user 103 to play video streaming media, the video streamingmedia 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 thefirst neighborhood users 113 in the first neighborhood videostreaming service platform 110 and/or initiated by thesecond neighborhood users 123 in the second neighborhood videostreaming service platform 120.
Referring to fig. 2b, assuming that afirst neighborhood user 113 registered in the first neighborhood videostreaming service platform 110 initiates streaming from the local front-end device cluster 102 accessing the videostreaming service platform 100 through the first neighborhood videostreaming service platform 110, the streaming behavior may include a behavior combination of the following associated objects:
the video streaming media service system comprises afirst neighborhood user 113 registered in a first neighborhood video streamingmedia service platform 110, a firstneighborhood user group 114 to which thefirst neighborhood user 113 belongs, afirst neighborhood client 115 which is accessed to the first neighborhood video streamingmedia service platform 110 and is appointed by thefirst neighborhood user 113 to play video streaming media, the first neighborhood video streamingmedia service platform 110, a video streamingmedia service platform 100 and a local front-end device cluster 102 which is accessed to the video streamingmedia service platform 100.
Referring to fig. 2c, assuming that thelocal user 103 registered in the videostreaming service platform 100 initiates streaming from the second neighborhood front-end device cluster 122 accessing to the second neighborhood videostreaming service platform 120 through the videostreaming service platform 100, the streaming behavior may include a behavior combination of the following associated objects:
the system comprises alocal user 103 registered in a video streamingmedia service platform 100, alocal user group 104 to which thelocal user 103 belongs, alocal client 105 which is accessed to the video streamingmedia service platform 100 and is appointed by thelocal user 103 to play video streaming media, the video streamingmedia service platform 100, a second neighborhood video streamingmedia service platform 120, and a second neighborhood front-end device cluster 122 accessed to the second neighborhood video streamingmedia service platform 120.
Similarly, for the single-level cross-platform streaming behavior shown in fig. 2b and fig. 2c, thelocal domain user 103 may initiate from the videostreaming service platform 100 to the first neighboring domain videostreaming service platform 110, or initiate from the second neighboringdomain user 123 to the videostreaming service platform 100 at the second neighboring domain videostreaming service platform 120.
Referring to fig. 2d, assuming that afirst neighborhood user 113 registered in the first neighborhood videostreaming service platform 110 initiates streaming through the first neighborhood videostreaming service platform 110 from a second neighborhood front-end device cluster 122 accessing to the second neighborhood videostreaming service platform 120 via the videostreaming service platform 100, the streaming behavior may include a behavior combination of the following associated objects:
the video streaming media service system comprises afirst neighborhood user 113 registered in a first neighborhood video streamingmedia service platform 110, a firstneighborhood user group 114 to which thefirst neighborhood user 113 belongs, afirst neighborhood client 115 accessed to the first neighborhood video streamingmedia service platform 110 and designated by thefirst neighborhood user 113 to play video streaming media, the first neighborhood video streamingmedia service platform 110, a video streamingmedia service platform 100, a second neighborhood video streamingmedia service platform 120, and a second neighborhood front-end device cluster 122 accessed to the second neighborhood video streamingmedia service platform 120.
Similarly, for the multi-level cross-platform streaming behavior shown in fig. 2d, the streaming may also be initiated by thesecond neighborhood users 123 at the second neighborhood videostreaming service platform 120 to the first neighborhood videostreaming service platform 110, or initiated by thelocal domain users 103 at the videostreaming 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 divided into a home end object category, at least two destination end (fetching destination end of the video streaming media) object categories, and at least two source end (providing source end of the video streaming media) object categories.
For the video streamingmedia service platform 100, the associated object of the local object category may be the video streamingmedia service platform 100, the associated object of the destination object category may include alocal user 103, alocal user group 104 to which thelocal user 103 belongs, alocal client 105 accessed to the video streamingmedia service platform 100 and specified by thelocal 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 videostreaming 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 target 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 in the following, the first neighborhood video streamingmedia 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 streamingmedia service platform 110 are allowed to exist at the same time;
other video streaming media service platforms belonging to another source object class may perform configuration of a management and control policy in units of a single platform, and the other video streaming media 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 or obtain video streaming media resources from the current platform) hereinafter, and will be described by taking the second neighborhood video streamingmedia service platform 120 as an example of a lower platform, but it is understood that other lower platforms except the second neighborhood video streamingmedia 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 that includes a current-level platform 301 (a current-level object category), a client 302 (a destination-level object category), a user 303 (a destination-level object category), a user group 304 (a destination-level object category), a region 305 (a source-level object category), an upper-level platform 306 (a destination-level object category), and a lower-level platform 307 (a source-level object category) that can configure a management and control policy is taken as an example. 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 policingpolicy configuration interface 30 may include apolicy pool window 31 near one side interface boundary, acontrol pool window 32 adjacent to thepolicy pool window 31, and a controlpool detail window 33 between thecontrol pool window 32 and the other side interface boundary.
The object class which is not currently included in the control is presented in thepolicy pool window 31, the object class which is currently included in the control is presented in thecontrol pool window 32, the information family of each object class which is currently included in the control is presented in the controlpool detail window 33, the information family of each object class may includeadmission control information 380 set for any number of associated objects of the object class, and eachadmission control information 380 may be added or modified or deleted as needed.
In addition, each object category presented in thecontrol pool window 32 may also be accompanied by a pull-down button 36 for triggering presentation of asorting option menu 37, and in thesorting option menu 37, a sorting order during verification may be set for each object category presented in thecontrol 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 videostreaming 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 thepolicy pool window 31 as shown in fig. 4 a.
By checking the check box of any object category in thepolicy pool window 31 and then triggering theselection button 341 arranged between thepolicy pool window 31 and thecontrol pool window 32, any object category checked by the check box in thepolicy pool window 31 can be migrated to thecontrol pool window 32, and preferably, the control policyconfiguration interface window 30 may further have a policy poolfull check box 351 provided for thepolicy pool window 31, for triggering synchronous checking of the check boxes of all object categories currently presented in thepolicy pool window 31;
similarly, by checking the check box of any object category in thecontrol pool window 32 first and then triggering the cancelbutton 342 disposed between thepolicy pool window 31 and thecontrol pool window 32, the checked any object category in thecontrol pool window 32 can be migrated to thepolicy pool window 31, and preferably, the control poolconfiguration interface window 30 may further have a control pool all-check box 352 provided for thecontrol pool window 32, for triggering synchronous checking of the check boxes of all object categories currently presented in thecontrol pool window 32.
Fig. 4b shows a state in which the current-level platform 301 (the current-level object type), the client 302 (the destination-level object type), the user 303 (the destination-level object type), the user group 304 (the destination-level object type), the region 305 (the source-level object type), the upper-level platform 306 (the destination-level object type), and the lower-level platform 307 (the source-level object type) are all migrated from thepolicy pool window 31 to thecontrol pool window 32, and fig. 4c shows a state in which some of the object types are migrated from thepolicy pool window 31 to thecontrol pool window 32.
As can be seen from fig. 4b and 4c, each object class migrated to thecontrol window 32 may allow admission control information set in the controlpool details window 33 for any number of associated objects of that object class, and the admission control information set in the controlpool details window 33 may be presented in a scrolling manner, i.e.:
when the present-level platform 301 (the present-level object class) is migrated to thecontrol pool window 32, theadmission control information 380 presented in the controlpool detail window 33 may include theadmission control information 381 created for the associated objects belonging to the object class of the present-level platform 301, and theadmission 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 thecontrol pool window 32, theadmission control information 380 presented in the controlpool details window 33 may includeadmission control information 382 created for associated objects belonging to the object class of theclient 302, and theadmission control information 382 created for all associated objects belonging to the object class (e.g., for accessing eachlocal domain client 105 of the video streaming service platform 100) may be regarded as an information family of the object class of theclient 302;
when a user 303 (destination end object class) is migrated to thecontrol pool window 32, theadmission control information 380 presented in the controlpool detail window 33 may includeadmission control information 383 created for associated objects belonging to the object class of theuser 33, and theadmission control information 383 created for all associated objects belonging to the object class (e.g.,users 103 in each local domain of the video streaming service platform 100) may be regarded as a family of information of the object class of theuser 303;
when a user group 304 (destination end object class) is migrated to thecontrol pool window 32, theadmission control information 380 presented in the controlpool details window 33 may includeadmission control information 384 created for associated objects belonging to the object class of theuser group 304, and theadmission control information 384 created for all associated objects belonging to the object class (e.g.,local user groups 104 to whichlocal users 103 of the videostreaming service platform 100 respectively belong) may be regarded as a family of information of the object class of theuser group 304;
when an area 305 (source end object class) is migrated to thecontrol pool window 32, theadmission control information 380 presented in the controlpool details window 33 may includeadmission control information 385 created for associated objects belonging to the object class of thearea 305, and theadmission control information 385 created for all associated objects belonging to the object class (e.g., the headend 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 thearea 305;
when the upper level platform 306 (destination end object class) is migrated to thecontrol pool window 32, theadmission control information 380 presented in the controlpool details window 33 may includeadmission control information 386 created for associated objects belonging to the object class of theupper level platform 306, and theadmission control information 386 created for all associated objects belonging to the object class (e.g., the first neighborhood videostreaming service platform 110 and other similar neighborhood video streaming service platforms) may be regarded as a family of information of the object class of theupper level platform 306;
when the lower level platform 307 (source object class) is migrated to thecontrol pool window 32, theadmission control information 380 presented in the controlpool details window 33 may includeadmission control information 387 created for associated objects belonging to the object class of thelower level platform 307, and theadmission control information 387 created for all associated objects belonging to the object class (e.g., the second neighborhood videostreaming service platform 120 and other similar neighborhood video streaming service platforms) may be considered as a family of information of the object class of thelower level platform 307.
By setting theadmission 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 anyadmission 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 videostreaming service platform 100, the first neighborhood videostreaming 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 streaming control method described below independently from each other, and the dynamic sets of control information used by the more than one server cluster to execute the streaming control method may be configured for the video streaming media service platforms carried by the server clusters 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 thefirst neighborhood user 113 may trigger the first neighborhood videostreaming 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 videostreaming 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 videostreaming 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 streamingmedia 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 local object class may include 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 lower platform information.
For the multi-level cross-platform streaming behavior shown in fig. 2d, referring to the single-level cross-platform streaming behavior shown in fig. 2b and fig. 2c, 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 streamingmedia service platform 100 may include upper-level platform information, home platform information, and lower-level platform information, respectively.
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 service platform is allowed to stream the video streaming intended for the streaming 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 finished.
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 group included in the dynamic control information set belongs may be selected as follows: in response to a first user operation (e.g., triggering aselect button 341 in the governingpolicy 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., thepolicy pool window 31 in the governingpolicy configuration interface 30 shown in fig. 3) to a second subset (e.g., thecontrol pool window 32 in the governingpolicy 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 undobutton 342 in the governingpolicy configuration interface 30 shown in fig. 3), migrating selected ones of the second subset of the set of controlled object categories (e.g., thecontrol pool window 32 in the governingpolicy configuration interface 30 shown in fig. 3) to the first subset (e.g., thepolicy pool window 31 in the governingpolicy 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 domain streaming behavior shown in fig. 2a, assuming that the control information currently configured for the videostreaming 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 videostreaming service platform 100, at S510, the admission control information of the associated object for the streaming request is not searched, and after S510, the videostreaming service platform 100 is allowed to fetch the video streaming intended for the streaming request.
Referring to fig. 6b, for the single-level cross-platform stream fetching behavior shown in fig. 2b, assuming that the control information currently configured for the video streamingmedia service platform 100 is dynamically centralized and includes information families of four object classes of the current-level platform 301 (the current-level object class), the region 305 (the current-level object class), the upper-level platform 306 (the current-level object class), and the lower-level platform 307 (the current-level object class), when the stream fetching control method shown in fig. 5 is executed for the video streamingmedia 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 current-domain head-end device cluster 102 specified by the current-domain user 103 is searched in the information family of the region 305 (the current-level object class), and/or the admission control information for the first-neighboring video streamingmedia service platform 110 is searched in the information family of the upper-level platform 306 (the current-level object class) through S510 When the rest is needed:
if the verification using the retrieved admission control information of all object categories is successful at S520, the video streamingmedia 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 videostreaming 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 stream fetching behavior shown in fig. 2d, assuming that the control information currently configured for the video streamingmedia 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 stream fetching control method shown in fig. 5 is executed for the video streamingmedia 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 streamingmedia 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 streamingmedia 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 streamingmedia 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 videostreaming 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 videostreaming service platform 100, the first neighborhood videostreaming service platform 110, and the second neighborhood videostreaming 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 videostreaming service platform 100, the first neighborhood videostreaming service platform 110, and the second neighborhood videostreaming service platform 120 independently from each other.
For the first neighborhood video streamingmedia 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 theclient 302 is searched for the admission control information for thefirst neighborhood client 115, the information family of theuser 303 is searched for the admission control information for thefirst neighborhood user 113, the information family of theuser group 304 is searched for the admission control information for the firstneighborhood user group 114, and the information family of the lower-level platform 307 is searched for the admission control information for the video streamingmedia service platform 100;
for the video streamingmedia 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 neighboring domain video streamingmedia service platform 110, and the information family of the lower-level platform 307 searches for the admission control information for the second neighboring domain video streamingmedia service platform 120;
for the second neighborhood videostreaming 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 videostreaming service platform 100, and the information family of thearea 305 is searched for the admission control information for the second neighborhood front-end device cluster 122 specified by thefirst neighborhood user 113.
If the verification of all the retrieved admission control information used in S520 is successful for any one of the videostreaming service platform 100, the first neighborhood videostreaming service platform 110, and the second neighborhood videostreaming service platform 120, then after S520, the video streaming service platform may be allowed to fetch the video streaming intended to be fetched for the fetching request; if the verification using any retrieved admission control information fails in S520 for any one of the videostreaming service platform 100, the first neighborhood videostreaming service platform 110, and the second neighborhood videostreaming 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 videostreaming service platform 100, the first neighborhood videostreaming service platform 110 and the second neighborhood videostreaming 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 videostreaming service platform 100, the first neighborhood videostreaming service platform 110, and the second neighborhood videostreaming service platform 120 is prohibited from fetching the video streaming intended to be fetched by the video streaming service platform for the fetching request, the multi-level cross-platform fetching shown in fig. 6d fails. That is, in the example shown in fig. 6d, the videostreaming service platform 100, the first neighborhood videostreaming service platform 110, and the second neighborhood videostreaming service platform 120 combine to implement multidimensional (full-dimension) admission check of the current platform 301 (the current object class), the client 302 (the destination object class), the user 303 (the destination object class), the user group 304 (the destination object class), the region 305 (the source object class), the upper platform 306 (the destination object class), and the lower platform 307 (the source object class).
The admission check conditions contained in the admission control information may not be all the same for different object classes. As a preferable 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, theadmission control information 381 of this class of object of theplatform 301 may include acharacter identifier 381a for identifying the video streaming service platform and aninput box 381b for setting a fetching route number limit.
The value input in theinput 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 theinput box 381b, the setting is completed by clicking the save button 381_ save. If the initial default value of the number of fetched channels limit needs to be restored (the maximum configurable value or infinity set for the number of fetched channels limit in advance), the value in theinput box 381b can be cleared only by clicking the restore default button 381_ rst, and then the save button 381_ save is clicked again. That is, when the number-of-fetched-stream limit value set in theinput block 381b is configured as 0, it indicates that the present-stage platform does not allow fetching; when theinput 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 theclient 302 may be configured withadmission 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.
Theadmission control information 382 for each client type may include a type identification 382a, a name identification 382e, aninput box 382b for setting a flow fetching number limit, aninput box 382c for setting a permission level, and acheck box 382d for setting a flow fetching policy for that client type. Wherein, the value input in theinput 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 theinput box 382c indicating a permission level of a corresponding client type; the selected state set to thecheck 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 382_ save completes the saving of the settings of theinput boxes 382b and 382c and thecheck box 382 d. If the initial default values of theinput boxes 382b and 382c and thecheck box 382d need to be restored, the values in theinput box 382b and theinput box 382c can be cleared by only clicking the restore default button 382_ rst, and the selected state of thecheck box 382d is restored to the state that the admitted flow path of the successfully fetched flow is not allowed to be removed for the fetch request associated with the corresponding client type and the admitted flow path associated with the corresponding client type is not prohibited (i.e., allowed) to be removed, and then the save button 382_ save is clicked again. The initial default value indicated by theinput box 382b being cleared may be a maximum configurable value set in advance for the fetching flow path number limit value or infinity, that is, when the fetching flow path number limit value set in theinput box 382b is configured to be 0, it indicates that the client of the client type is not allowed to fetch from the current-level platform; when theinput 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 byinput box 382c being cleared may be a numerical value representing the lowest privilege level, at which point the selected state ofcheck 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 theuser 303 may configureadmission control information 383 for different users registered on the video streaming service platform. For example, for the videostreaming service platform 100 shown in fig. 1, the object category of theuser 303 may configure theadmission control information 383 for differentlocal users 103 respectively; for the first neighborhood videostreaming service platform 110 shown in fig. 1, the object category of theuser 303 may configureadmission control information 383 for differentfirst neighborhood users 113 respectively; similarly, for the second neighborhood videostreaming service platform 110 shown in fig. 1, the object category of theuser 303 may configure theadmission control information 383 for differentsecond neighborhood users 123 respectively.
Theadmission control information 383 for each registered user may include itsuser name 383a, aninput box 383b for setting a flow taking number limit, adisplay box 383c for displaying its permission level, and acheck box 383d for setting a flow taking policy. Theuser name 383a and the permission level presented in thedisplay box 383c may be synchronized from the video streaming service platform. Wherein, the value inputted in theinput box 383b represents the path number limit value allowing the corresponding user to take the stream from the video streaming media service platform; a value presented in adisplay box 383c, which indicates the assigned permission level of the corresponding user when the video streaming media service platform is registered; thecheck 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 383_ save and restore default button 383_ rst are the same as described above. The initial default value indicated by theinput box 383b being cleared may be a maximum configurable value set for the number-of-fetched-flow limit in advance or infinity, that is, when the number-of-fetched-flow limit set in theinput box 383b is configured as 0, it indicates that the corresponding user is not allowed to fetch flow from the current-stage platform; when theinput 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 ofcheck box 383d may be such that it is not allowed to cull admitted streamways that are successfully tapped for a fetching request associated with the corresponding user, and not to prohibit (i.e., allow) admitted streamways associated with the corresponding client type to be culled.
Referring to fig. 7c and 7d, the controlpool details window 33 may also have a user organization relationship (e.g. tree)frame 384e, when its root node is selected, alladmission control information 383 of the object category of theuser 303 may be presented in the controlpool details window 33, and when one of the child nodes identified by theuser group name 384a is selected, theadmission control information 384 of the corresponding user group identified by theuser group name 384a is presented in the controlpool details window 33. Theadmission control information 384 for each user group may include theuser group name 384a for that user group and aninput box 384b for setting a flow number limit. That is, the object category of theuser group 304 may configure theadmission 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 theinput 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 384_ save and restore default 384_ rst are the same as described above. The initial default value indicated by theinput box 384b being cleared may be a maximum configurable value preset for the limit of the number of access routes or infinity, and if theinput box 384b is not empty, theadmission 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 theinput box 384 b.
Referring to fig. 7e, for each video streaming service platform configured with a dynamic set of control information, the object category of thearea 305 may be configured withadmission 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 videostreaming service platform 100 shown in fig. 1, the object category of thearea 305 may configure theadmission control information 385 for the local-area head-end device cluster 102 deployed in different areas respectively; for the first neighborhood video streamingmedia service platform 110 shown in fig. 1, the object category of thearea 305 may configureadmission control information 385 for the first neighborhood front-end device cluster 112 deployed in different areas respectively; similarly, the object class of thearea 305 may configure theadmission control information 385 for the second neighborhood headend device clusters 122 deployed in different areas, respectively. Theadmission control information 385 for each deployment area may include itsarea identification 385a, and aninput block 385b for setting a flow number limit. Wherein the value entered in theinput 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 385_ save and restore default button 385_ rst are the same as described above. The initial default value indicated by theinput 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 theinput 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 theinput block 385b is empty, it indicates that the current stage platform is not restricted in the number of ways to take from the area.
In addition, the controlpool 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 acorresponding region identification 385 a.
Referring to fig. 7f, for each object category of the video streaming media service platform configured with the dynamic set of control information, theupper level platform 306 may configureadmission control information 386 for each neighboring video streaming media service platform respectively. Theadmission control information 386 configured for each neighboring domain video streaming service platform in theupper level platform 306 may include itsplatform identification 386a (e.g., IP address), aninput box 386b for setting a fetching route number limit, aninput box 386c for setting a privilege level, and acheck box 386d for setting a fetching policy. Wherein the value input at theinput 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 theinput 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 thecheck 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. The save button 386_ save and restore default button 386_ rst are the same as described above. The initial default value indicated by theinput box 386b being cleared may be a maximum configurable value preset for the number of access routes limit or infinity; the initial default value represented byinput box 386c being cleared may be a numerical value representing a lowest privilege level, at which point the selected state ofcheck 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, thelower level platform 307 may configureadmission control information 387 for each neighboring area video streaming media service platform respectively. In thelower platform 307, theadmission control information 387 configured for each neighborhood video streaming service platform may include aplatform identifier 387a (e.g., IP address) thereof, and aninput box 387b for setting the number-of-streams limit. The value input in theinput 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 387_ save and restore default button 387_ rst are the same as described above. The initial default value indicated by theinput block 387b being cleared may be the maximum configurable value preset for the access path number limit or infinity.
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 associated 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 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 thecontrol pool window 32 may also be accompanied by a pull-down button 36 for triggering presentation of asorting option menu 37, and in thesorting option menu 37, a sorting order for checking may be set for each object category presented in thecontrol 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 theplatform 301 of the present stage, the platform load can be limited within a reasonable range; for the three categories of theclient 302, theuser 303 and theuser 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 theregion 305 and thelower platform 307, the output load of the front-end equipment cluster and the push load of the lower platform can be limited within a reasonable range; for the object type of thesuperior 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 control of starting and stopping 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 fetching control method in this embodiment may also be 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 here 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 class reaches 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 the removable admitted flow path capable of releasing the current load path number of the related 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, theclient 302, theuser 303, theuser group 304, and theupper platform 306, wherein admission control information of the three destination object categories, namely, theclient 302, theuser 303, and theupper 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 theuser group 304, which considers that theuser 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 theuser 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 finished.
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 theclient 302 and theuser 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 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; 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 sufficient to release the current load paths reaching the limit value after being rejected is successfully predicted by predicting in the S934, jumping to the 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 S934, it is determined that no rejectable admitted flow path is searched in S930, and thus it is determined that the admission check 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 related object which is not covered by all candidate elimination flow paths exists in the related objects of the stream taking request, detecting whether the related object which is not covered by the candidate elimination 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 rejectable admitted flow path, and triggering the rejection of the rejectable admitted flow path. That is, it is determined that S930 successfully finds the rejectable admitted streaming 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 media intended for the fetching 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 an example.
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 streamingmedia service platform 100 initiates streaming from the second neighborhood front-end device cluster 122 accessing the second neighborhood video streamingmedia service platform 120 through the video streamingmedia service platform 100, and: the video streamingmedia service platform 100 is currently configured with an information family containing all object types (a current-level platform 301, aclient 302, auser 103, auser group 304, anarea 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 thecurrent platform 301, theclient 302, theuser 103, theuser group 304, thearea 305, theupper platform 306 and thelower platform 307.
Please refer to fig. 11a, assume that: in the information family of the type of theclient 302, the flow fetching policy in the admission control information of thelocal browser server 105a is set as non-removable; in the information family of the class of theuser 303, the flow fetching policy in the admission control information for theuser 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 current class of theplatform 301, which is searched in S910, access control information of the video streamingmedia service platform 100 is obtained by searching, and then the current load path number of the current class of the platform (video streaming media service platform 100) is verified and determined to reach the limit value by using the access path number limit value in the access control information, then it is not necessary to perform verification by using the access path number limit value in the access control information of other object classes, and it jumps to S930, and a removable access path capable of releasing the current load path number of the object class associated with the object class is searched 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 theclient 302 searched in S910, querying the flow fetching policy in the admission control information of thelocal browser server 105 a; the flow fetching policy in the admission control information of thelocal 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 in the admission control information of the destination object category, which is theuser 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 that: in the information family of the type of theclient 302, the flow fetching policy in the admission control information of thelocal browser server 105a is set as non-removable; in the information family of the class of theuser 303, the flow fetching policy in the admission control information of theuser 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 in 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 class (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 103a) of the destination object class (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 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 candidate culling flow path of the secondlocal user 103b does not cover the associated object (the second neighbor video streaming service platform 120) of the object category of thelower platform 307 in the streaming 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 number of the fetched flow path (the current load path number) of the second neighbor videostreaming service platform 120 by the video streaming service platform, the supplementary verification is performed by using the limit of the fetched flow path number of the admission control information set for the second neighbor videostreaming service platform 120 in the information family of the object category of thelower platform 307.
In the example shown in fig. 11b, for example, the supplementary verification is successful, so that 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), 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 path where the second local-domain user 103b and the local-domain client server 105b are located can still be successfully removed when the authority level of the local-domain browser server 105a is relatively low and the admission policy setting bit cannot remove other admitted flow paths.
Please refer to fig. 11c, assume that: in the information family of the type of theclient 302, the flow fetching strategy in the admission control information of the localbrowser service terminal 105a is set to be removable; in the information family of the class of theuser 303, the flow fetching policy in the admission control information of theuser 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 a flow at this time, the local domain mobile terminal 105c belongs to the associated object of the destination object class (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 the permission level in the admission control information of the associated object (local browser server 105a) of the destination object class (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 thirdlocal user 103c of the candidate culling flow path is higher than the permission level of the firstlocal user 103a initiating the streaming request), and the streaming request initiated by the firstlocal user 103a is allowed. That is, the object class of theclient 302 to which the home-domain browser server 105a belongs is ranked relatively high, and the policy for fetching the flow in the admission control information of the home-domain browser server 105a is set to be removable and has a relatively high authority level, so that the admitted flow paths in which the home-domainmobile terminal 105c and the third-domain user 103c are located can be successfully removed by using the ranking of the object class of theclient 302 when the authority level of the first home-domain 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 acquired by a video stream media service module, and searching access 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 videostreaming service module 1210 may generate a check request to the videostreaming 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 streamingmedia control module 1220 searches for admission control information set for an associated object of the streaming request in the currently configured control informationdynamic 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 videostreaming control module 1220 generates a successful response to the videostreaming service module 1210, indicating that the videostreaming 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 streamingmedia control module 1220 performs admission check on the streaming request by using the searched admission control information to determine whether to allow the video streamingmedia 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 videostreaming control module 1220 generates a success response to the videostreaming service module 1210, indicating that the videostreaming service module 1210 is allowed to fetch the video streaming intended for the fetching request.
S1360: after the video streamingmedia 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 streamingmedia control module 1220, so that the video streamingmedia control module 1220 can obtain and maintain the information of the admitted streaming.
S1370: when the verification fails, the video streamingmedia control module 1220 generates a failure response indicating that the video streamingmedia service module 1210 is prohibited from fetching the video streaming media intended to be obtained by the video streamingmedia service module 1210 for the streaming request, and triggers the video streamingmedia service module 1210 to return a request failure response.
As a preferred solution for facilitating the admission control information search, the video streamingmedia control module 1220 may include an information search sub-module for: determining the object class 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 flow 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 streamingmedia 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 streamingmedia 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 streamingmedia 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 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 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 checked by the step S920, the current load path number of the associated object is subjected to supplementary checking (the checking principle of the admittance checking sub-module is the same), and the path number is compensated to be 1 during supplementary checking; 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 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 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)

CN202011535854.1A2020-12-232020-12-23Stream taking control method and platform device for providing video streaming media serviceActiveCN112788368B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN202011535854.1ACN112788368B (en)2020-12-232020-12-23Stream taking control method and platform device for providing video streaming media service

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202011535854.1ACN112788368B (en)2020-12-232020-12-23Stream taking control method and platform device for providing video streaming media service

Publications (2)

Publication NumberPublication Date
CN112788368Atrue CN112788368A (en)2021-05-11
CN112788368B CN112788368B (en)2022-11-04

Family

ID=75751855

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN202011535854.1AActiveCN112788368B (en)2020-12-232020-12-23Stream taking control method and platform device for providing video streaming media service

Country Status (1)

CountryLink
CN (1)CN112788368B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN114339314A (en)*2021-12-282022-04-12杭州海康威视系统技术有限公司 Flow control method and device

Citations (12)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN102625139A (en)*2012-03-122012-08-01前卫视讯(北京)科技发展有限公司Multilevel-storage-based network video browsing control method and system
CN103338357A (en)*2013-06-242013-10-02安科智慧城市技术(中国)有限公司Method, equipment and system for realizing video monitoring integration
CN104967598A (en)*2014-11-192015-10-07腾讯科技(深圳)有限公司Subscriber multimedia authority information obtaining method and apparatus
US20160088326A1 (en)*2014-09-232016-03-24Watchcorp Holdings LLCDistributed recording, managing, and accessing of surveillance data within a networked video surveillance system
CN105516369A (en)*2016-02-042016-04-20城云科技(杭州)有限公司Video cloud platform load balancing method and video cloud platform load balancing dispatcher
CN106507215A (en)*2016-11-252017-03-15上海熙菱信息技术有限公司One kind adopts the cancellated video stream transmission method of domain service support
CN106559683A (en)*2016-11-162017-04-05浙江宇视科技有限公司The QoS priority dynamic regulating method of monitoring business and device
CN106803919A (en)*2017-03-022017-06-06无锡纽微特科技有限公司The video call system and implementation method of load can be reduced
CN106993201A (en)*2017-03-172017-07-28武汉斗鱼网络科技有限公司The authorization check method and device of video playback
CN107135203A (en)*2017-04-052017-09-05北京明朝万达科技股份有限公司A kind of method and system of terminal access control strategy optimization
CN110099243A (en)*2018-01-292019-08-06北京视联动力国际信息技术有限公司A kind for the treatment of method and apparatus of monitor video
CN111193788A (en)*2019-12-242020-05-22视联动力信息技术股份有限公司Audio and video stream load balancing method and device

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN102625139A (en)*2012-03-122012-08-01前卫视讯(北京)科技发展有限公司Multilevel-storage-based network video browsing control method and system
CN103338357A (en)*2013-06-242013-10-02安科智慧城市技术(中国)有限公司Method, equipment and system for realizing video monitoring integration
US20160088326A1 (en)*2014-09-232016-03-24Watchcorp Holdings LLCDistributed recording, managing, and accessing of surveillance data within a networked video surveillance system
CN104967598A (en)*2014-11-192015-10-07腾讯科技(深圳)有限公司Subscriber multimedia authority information obtaining method and apparatus
CN105516369A (en)*2016-02-042016-04-20城云科技(杭州)有限公司Video cloud platform load balancing method and video cloud platform load balancing dispatcher
CN106559683A (en)*2016-11-162017-04-05浙江宇视科技有限公司The QoS priority dynamic regulating method of monitoring business and device
CN106507215A (en)*2016-11-252017-03-15上海熙菱信息技术有限公司One kind adopts the cancellated video stream transmission method of domain service support
CN106803919A (en)*2017-03-022017-06-06无锡纽微特科技有限公司The video call system and implementation method of load can be reduced
CN106993201A (en)*2017-03-172017-07-28武汉斗鱼网络科技有限公司The authorization check method and device of video playback
CN107135203A (en)*2017-04-052017-09-05北京明朝万达科技股份有限公司A kind of method and system of terminal access control strategy optimization
CN110099243A (en)*2018-01-292019-08-06北京视联动力国际信息技术有限公司A kind for the treatment of method and apparatus of monitor video
CN111193788A (en)*2019-12-242020-05-22视联动力信息技术股份有限公司Audio and video stream load balancing method and device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN114339314A (en)*2021-12-282022-04-12杭州海康威视系统技术有限公司 Flow control method and device

Also Published As

Publication numberPublication date
CN112788368B (en)2022-11-04

Similar Documents

PublicationPublication DateTitle
US11265258B2 (en)Network device, controller, queue management method, and traffic management chip
US8081640B2 (en)Network system, network management server, and access filter reconfiguration method
US20080089248A1 (en)Tree-type network system, node device, broadcast system, broadcast method, and the like
US20050066331A1 (en)Dynamic resource management for distributed retrieval system for security
US10230850B2 (en)IP telephony network using a configuration map for organizing sites
US8713643B2 (en)Method and devices for handling access privileges
US7654121B2 (en)Method for selecting QoS Policy
CN112788368B (en)Stream taking control method and platform device for providing video streaming media service
US20170359553A1 (en)Image analysis system for analyzing dynamically allocated camera image, integrated control system including same, and operation method therefor
CN111722783B (en)Data storage method and device
JP2010166154A (en)Device and method for recommendation of content
JPH09293052A (en)Method and system for authorization management between plural networks
US7443832B2 (en)Device for determining switching paths in a label switched communication network in the presence of selection attributes
CN119450102A (en) A cross-platform video resource sharing access control method and system
JP4078558B2 (en) Automatic selection connection method
JP2006099268A (en) Image search device, image search support device, image search system, image search method, and image search program
WO2024093859A1 (en)Service function orchestration method and system, electronic device, and storage medium
JP2005149456A (en)Group management system and service providing apparatus
KR20160142102A (en)Distributed stream processing services merging method and apparatus thereof
AU2020437977B2 (en)Resource management device, resource management method, and resource management program
CN114125597A (en) Method and device for optical fiber scheduling
KR102141411B1 (en)The content based clean cloud systems and method
JP2005203984A (en)System, method, and program for network management, and recording medium
CN113360241A (en)Traffic tunnel analysis platform
JP3882638B2 (en) Routing path management apparatus, method thereof, and program thereof

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp