Method, device, electronic device, computer-readable medium and computer program for acquiring video stream data

JP2025508513AActive Publication Date: 2025-03-26BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024551962
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-11
Filing Date
2023-02-21
Publication Date
2025-03-26
Estimated Expiration
2043-02-21

Smart Images

  • Figure 2025508513000001_ABST
    Figure 2025508513000001_ABST
Patent Text Reader

Abstract

The present disclosure provides a method, an apparatus, an electronic device, and a computer-readable medium for acquiring video stream data. A specific embodiment of the method includes the steps of: determining whether an equipment room identifier of a communication equipment room that receives a pull stream data packet is the same as a target equipment room identifier included in a connection identifier in the pull stream data packet in response to receiving a pull stream data packet transmitted from a target terminal, the pull stream data packet being generated when the target terminal plays a video stream, and the target equipment room identifier being the equipment room identifier of a communication equipment room that receives a first pull stream data packet generated when the target terminal plays a video stream; transferring the pull stream data packet to a target communication equipment room corresponding to the target equipment room identifier in response to determining that the target equipment room identifier is different from the equipment room identifier of the communication equipment room that receives the pull stream data packet; and acquiring video stream data through the target communication equipment room.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This disclosure claims priority to a Chinese patent application filed on March 11, 2022, bearing application number 202210238230.6, and entitled "Method, apparatus, electronic device, and computer-readable medium for acquiring video stream data," the entire text of which is incorporated herein by reference.

[0002] TECHNICAL FIELD Embodiments of the present disclosure relate to the field of computer technology, and in particular to a method, apparatus, electronic device and computer-readable medium for acquiring video stream data. [Background technology]

[0003] When a user watches a video stream through a mobile terminal, if the network to which the mobile terminal is connected is handed over between a mobile communication network and a wireless communication network, the video stream may be interrupted during the network handover. Therefore, when the network is handed over, it is necessary to perform the handover without making the user aware of the momentary communication interruption due to the connection transfer. Currently, the general method of achieving the connection transfer is to add a layer 7 load balancing gateway and a layer 4 gateway between the mobile terminal and the pull stream service cluster. Summary of the Invention

[0004] This Summary is intended to introduce inventive concepts in a concise form that are described in detail in the Detailed Description section below. This Summary is not intended to identify key features or essential features of the technical solutions sought to be protected, nor is it intended to limit the scope of the technical solutions sought to be protected.

[0005] Some embodiments of the present disclosure propose a method, an apparatus, an electronic device and a computer-readable medium for acquiring video stream data to solve the technical problems mentioned in the background section.

[0006] In a first aspect, some embodiments of the present disclosure provide a method for acquiring video stream data, including a step of determining, in response to receiving a pull stream data packet transmitted from a target terminal, whether an equipment room identifier of a communication equipment room that received the pull stream data packet is the same as a target equipment room identifier included in a connection identifier in the pull stream data packet, the pull stream data packet being generated when the target terminal plays a video stream, and the target equipment room identifier being the equipment room identifier of the communication equipment room that received the first pull stream data packet generated when the target terminal plays the video stream; in response to determining that the target equipment room identifier is different from the equipment room identifier of the communication equipment room that received the pull stream data packet, a step of forwarding the pull stream data packet to a target communication equipment room corresponding to the target equipment room identifier; and a step of acquiring video stream data via the target communication equipment room.

[0007] In a second aspect, some embodiments of the present disclosure provide an apparatus for acquiring video stream data, comprising: a determination unit configured to determine, in response to receiving a pull stream data packet transmitted from a target terminal, whether an equipment room identifier of a communication equipment room that received the pull stream data packet is the same as a target equipment room identifier included in a connection identifier in the pull stream data packet, the pull stream data packet being generated when the target terminal plays a video stream, and the target equipment room identifier being the equipment room identifier of the communication equipment room that received a first pull stream data packet generated when the target terminal plays the video stream; a transfer unit configured to transfer the pull stream data packet to a target communication equipment room corresponding to the target equipment room identifier in response to determining that the target equipment room identifier is different from the equipment room identifier of the communication equipment room that received the pull stream data packet; and an acquisition unit configured to acquire video stream data via the target communication equipment room.

[0008] Optionally, the acquiring unit includes a first identifying subunit and a second acquiring subunit, the first identifying subunit being configured to determine a target pull stream service instance that matches the pull stream data packet in a target protocol conversion server in the target communication equipment room, and a second identifying subunit being configured to acquire video stream data from an edge node of a content delivery network by using the target pull stream service instance.

[0009] Optionally, the target communication equipment room is determined by a step of determining as the target communication equipment room a communication equipment room corresponding to the network to which the target terminal was connected when the target terminal generated a first pull stream data packet in the process of playing the video stream.

[0010] Optionally, the target protocol conversion server and the target pull stream service instance are determined by the steps of: selecting a protocol conversion server from a protocol conversion server cluster in the target communications equipment room as a target protocol conversion server in response to determining that the target communications equipment room has received the first pull stream data packet; and assigning a pull stream service instance to the first pull stream data packet by a standalone load service of the target protocol conversion server and setting the pull stream service instance as a target pull stream service instance.

[0011] Optionally, the first identifying subunit includes a second acquiring subunit, a selecting subunit, a first identifying subunit, and a second identifying subunit. The second acquiring subunit is configured to acquire a mapping table from a cache server of a protocol conversion server cluster in the target communication equipment room. The mapping table includes mapping information. The mapping information includes a connection identifier, a protocol conversion server identifier, and a pull stream service instance identifier. The selecting subunit is configured to select mapping information whose included connection identifier is the same as the connection identifier in the pull stream data packet from the mapping table as target mapping information. The first identifying subunit is configured to determine a protocol conversion server corresponding to the protocol conversion server identifier in the target mapping information as a target protocol conversion server. The first identifying subunit is configured to determine, in the target protocol conversion server, a pull stream service instance corresponding to the pull stream service instance identifier in the target mapping information as a target pull stream service instance matching the pull stream data packet.

[0012] Optionally, the mapping information in the mapping table is determined by the steps of determining a connection identifier in the first pull stream data packet, a protocol conversion server identifier of the target protocol conversion server, and a pull stream service instance identifier of the target pull stream service instance as mapping information, and recording the mapping information in a mapping table in the cache server.

[0013] Optionally, the forwarding unit includes a first sending subunit, an allocating subunit, and a forwarding subunit. The first sending subunit is configured to send the pull stream data packet to any protocol conversion server in the communication equipment room by a target interior gateway protocol. The first allocating subunit is configured to allocate a pull stream service instance to the pull stream data packet by a standalone load service of any protocol conversion server. The forwarding subunit is configured to forward the pull stream data packet to a target communication equipment room corresponding to the target equipment room identifier by utilizing the pull stream service instance in response to determining that the target equipment room identifier is different from an equipment room identifier of the communication equipment room.

[0014] Optionally, the apparatus further comprises a sending unit, an allocating unit, and a video stream obtaining unit, the sending unit being configured to send the pull stream data packet to any protocol conversion server in the communication equipment room through a target interior gateway protocol, the allocating unit being configured to allocate a pull stream service instance to the pull stream data packet through a standalone load service of any protocol conversion server, and the video stream obtaining unit being configured to obtain video stream data via the communication equipment room by utilizing the pull stream service instance in response to determining that the target equipment room identifier is the same as an equipment room identifier of the communication equipment room.

[0015] In a third aspect, some embodiments of the present disclosure provide an electronic device comprising at least one processor and a storage device in which at least one program is stored, the at least one program, when executed by the at least one processor, causing the at least one processor to realize a method for acquiring video stream data described in any of the embodiments of the first aspect above.

[0016] In a fourth aspect, some embodiments of the present disclosure provide a computer-readable medium having stored thereon a computer program which, when executed by a processor, performs the method of acquiring video stream data as described in any of the embodiments of the first aspect above.

[0017] [Brief description of the drawings]

[0018] The above-mentioned features and other features, advantages and aspects of each embodiment of the present disclosure will become more apparent with reference to the following specific embodiments in light of the drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the parts and elements are not necessarily drawn to scale. [Figure 1] FIG. 2 is a schematic diagram illustrating an application scene of a method for acquiring video stream data according to some embodiments of the present disclosure. [Diagram 2] 1 is a flow chart illustrating some embodiments of a method for obtaining video stream data according to the present disclosure. [Diagram 3] 5 is a flow chart illustrating some other embodiments of a method for obtaining video stream data according to the present disclosure. [Figure 4] 1 is a schematic diagram illustrating determining a target pull stream service instance in some embodiments of a method for obtaining video stream data according to the present disclosure; [Diagram 5] 1 is a structural schematic diagram illustrating some embodiments of an apparatus for obtaining video stream data according to the present disclosure. [Figure 6] FIG. 1 is a structural schematic diagram of an electronic device suitable for implementing some embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] Hereinafter, the embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, the present disclosure can be embodied in various forms and should not be construed as being limited to the embodiments described herein. Rather, these embodiments are provided to make the present disclosure more clear and complete. It should be noted that the drawings and embodiments of the present disclosure are merely illustrative and do not limit the scope of protection of the present disclosure.

[0020] For convenience of explanation, only parts related to the present invention are shown in the drawings. The embodiments and features of the embodiments of the present disclosure can be combined with each other unless a contradiction occurs.

[0021] It should be noted that concepts such as "first" and "second" referred to in this disclosure are merely intended to distinguish different devices, modules, or units, and are not intended to define the order or interdependence of functions performed by these devices, modules, or units.

[0022] Furthermore, the limiting terms "one" and "multiple" referred to in this disclosure are exemplary rather than limiting, and should be understood by one of ordinary skill in the art to mean "at least one" unless the context clearly indicates otherwise.

[0023] The names of messages or information exchanged between multiple devices in the embodiments of the present disclosure are merely exemplary and are not intended to limit the scope of these messages or information.

[0024] The method of obtaining the related video stream data, for example, by adding one 7-layer load balancing gateway and one 4-layer gateway between the mobile terminal and the pull stream service cluster to realize the connection migration, often has the following technical problems: Adding two multi-layer gateways between the mobile terminal and the pull stream service cluster may increase the time it takes for the pull stream data packet to reach the pull stream service cluster from the mobile terminal, which may result in the delay of the pull stream data packet; At the same time, when the pull stream data packet passes through the two multi-layer gateways, it needs to perform a total of two unpacking processes, which increases the hardware cost and the burden on the server.

[0025] In order to solve the above-mentioned problems, some embodiments of the present disclosure provide a method for acquiring video stream data and an apparatus for acquiring video stream data, which can avoid delays in pull stream data packets to a certain extent, and eliminate the need to perform multiple unpacking processes on pull stream data packets, thereby reducing the burden on the server.

[0026] Hereinafter, the present disclosure will be described in detail with reference to the drawings and embodiments.

[0027] FIG. 1 is a schematic diagram illustrating an application scene of a method for obtaining video stream data according to some embodiments of the present disclosure.

[0028] In the application scenario of FIG. 1, first, in response to receiving a pull stream data packet 103 sent by a target terminal 102, the computing device 101 can determine whether the equipment room identifier 104 of the communication equipment room that receives the pull stream data packet 103 is the same as the target equipment room identifier 105 included in the connection identifier in the pull stream data packet 103. Here, the pull stream data packet 103 is generated when the target terminal 102 plays a video stream, and the target equipment room identifier 105 is the equipment room identifier of the communication equipment room that receives the first pull stream data packet generated when the target terminal 102 plays the video stream. Then, in response to determining that the target equipment room identifier 105 is different from the equipment room identifier 104 of the communication equipment room that receives the pull stream data packet 103, the computing device 101 can forward the pull stream data packet 103 to the target communication equipment room 106 corresponding to the target equipment room identifier 105. Finally, the computing device 101 can obtain the video stream data 107 via the target communication equipment room 106 .

[0029] The computing device 101 may be hardware or software. If the computing device is hardware, it may be implemented as a distributed server cluster consisting of multiple servers or terminal devices, or as a single server or a single terminal device. If the computing device is software, it may be installed on the listed hardware devices. It may be implemented, for example, as multiple software or software modules for providing distributed services, or as a single software or software module. There is no particular limitation here.

[0030] It should be understood that the number of computing devices in Figure 1 is merely exemplary, and any number of computing devices may be used according to the needs of the implementation.

[0031] Reference is now made to Figure 2, which illustrates a flow 200 of some embodiments of a method for acquiring video stream data according to the present disclosure. The method for acquiring video stream data includes the following steps.

[0032] In step 201, in response to receiving a pull stream data packet transmitted from a target terminal, it is determined whether the equipment room identifier of the communication equipment room that received the pull stream data packet is the same as the target equipment room identifier included in the connection identifier in the pull stream data packet.

[0033] In some embodiments, the execution subject of the method for obtaining video stream data (the computing device 101 shown in FIG. 1) can determine whether the equipment room identifier of the communication equipment room that receives the pull stream data packet is the same as the target equipment room identifier included in the connection identifier in the pull stream data packet in response to receiving a pull stream data packet transmitted from a target terminal. Here, the pull stream data packet may be generated when the target terminal plays a video stream, and the target equipment room identifier may be the equipment room identifier of the communication equipment room that receives the first pull stream data packet generated when the target terminal plays the video stream. The video stream may be a live distribution video stream or an on-demand distribution video stream. The pull stream data packet may be a QUIC (Quick UDP Internet Connection, Quick UDP (User Datagram Protocol) Internet Connection) data packet. The target terminal may be a mobile terminal, such as a mobile phone, a tablet PC, etc.

[0034] The communication equipment room receiving the pull stream data packet may be a communication equipment room corresponding to the network connected when the target terminal transmits the pull stream data packet. In the process of the target terminal playing the video stream, the network connected may be a mobile communication network or a wireless communication network. In the process of the target terminal playing the video stream, the target terminal may switch the network connected between the mobile communication network and the wireless communication network.

[0035] When the target terminal transmits the first pull stream data packet, the target terminal may select a communication equipment room corresponding to a currently connected network as a target communication equipment room, and write the communication equipment room identifier of the target communication equipment room as a target communication equipment room identifier into the connection identifier of the first pull stream data packet, and write the target communication equipment room identifier into the connection identifier of the subsequently generated pull stream data packet in the process of playing the video stream.

[0036] If the equipment room identifier of the communication equipment room of the pull stream data packet is the same as the target equipment room identifier included in the connection identifier in the pull stream data packet, it indicates that the communication equipment room that receives the pull stream data packet is the same as the communication equipment room that receives the first pull stream data packet, so that there is no need to perform connection transfer, and the video stream data can be directly obtained through the communication equipment room that receives the pull stream data packet.

[0037] If the equipment room identifier of the communication equipment room of the pull stream data packet is different from the target equipment room identifier included in the connection identifier in the pull stream data packet, it indicates that the communication equipment room that receives the pull stream data packet is different from the communication equipment room that receives the first pull stream data packet, that is, in the process of the target terminal playing the live distribution video stream, the connected network is switched between the mobile communication network and the wireless communication network. Therefore, when a network handover occurs, in order to enable the target terminal to continue playing the video stream smoothly, the pull stream data packet needs to be transferred to the target communication equipment room by a connection return operation.

[0038] Thus, the target equipment room identifier included in the connection identifier in the pull stream data packet can be used to determine whether the communication equipment room currently receiving the pull stream data packet is the target communication equipment room, thereby realizing high-speed routing of the pull stream data packet.

[0039] As an example, if the network connected when the target terminal transmits the pull stream data packet is China Mobile (Changchun)'s 5G network, the communication equipment room receiving the pull stream data packet may be a China Mobile (Changchun) equipment room.

[0040] In some optional embodiments of some embodiments, the target communications equipment room may be identified by the following steps.

[0041] When the target terminal generates a first pull stream data packet in the process of playing the video stream, it identifies a communication equipment room corresponding to a connected network as a target communication equipment room.

[0042] Thus, when the first pull stream data packet is generated, the communication equipment room corresponding to the network connected to the target terminal can be specified as the target communication equipment room. Furthermore, when a handover occurs to a subsequent network, high-speed routing of the pull stream data packet can be realized.

[0043] In step 202, in response to determining that the target equipment room identifier is different from the equipment room identifier of the communications equipment room that received the pull stream data packet, forward the pull stream data packet to the target communications equipment room corresponding to the target equipment room identifier.

[0044] In some embodiments, the executing entity may forward the pull stream data packet to a target communications equipment room corresponding to the target equipment room identifier in response to determining that the target equipment room identifier is different from the equipment room identifier of the communications equipment room from which the pull stream data packet was received.

[0045] In step 203, video stream data is obtained via the target communication equipment room.

[0046] In some embodiments, the execution entity can obtain video stream data returned from the target communications equipment room after forwarding the pull stream data packet to the target communications equipment room.

[0047] In some optional aspects of some embodiments, the execution entity may further perform the following steps:

[0048] In the first step, the pull stream data packet is sent to any protocol conversion server in the communication equipment room by a target internal gateway protocol. The target internal gateway protocol may be OSPF (Open Shortest Path First). The protocol conversion server may be any QUIC server in a QUIC server cluster. The QUIC server can obtain video stream data from an edge node of a content delivery network after converting the QUIC protocol into HTTP (Hyper Text Transfer Protocol) protocol.

[0049] Thus, the target internal gateway protocol can be used to transmit the pull stream data packet to any one of the protocol conversion servers in the communication equipment room via at least one shortest routing path, thereby accelerating the routing speed of the pull stream data packet.

[0050] In the second step, a pull stream service instance is assigned to the pull stream data packet by a standalone load service of any one of the protocol conversion servers, where the standalone load service may be a kernel-level load service of an operating system, such as nftable.

[0051] This allows the operating system kernel-level load services to offload the server.

[0052] In a third step, in response to determining that the target equipment room identifier is the same as the equipment room identifier of the communication equipment room, the pull stream service instance is used to obtain video stream data by the communication equipment room, where the pull stream service instance may first convert the pull stream data packet into an HTTP protocol data packet, and then obtain the video stream data from a Content Delivery Network (CDN) server in the communication equipment room.

[0053] The above embodiments of the present disclosure have the beneficial effect that the method of acquiring video stream data of some embodiments of the present disclosure can avoid the delay of the pull stream data packet to a certain extent, and at the same time, there is no need to perform the unpacking process on the pull stream data packet multiple times, and the burden on the server can be reduced. Specifically, the delay of the pull stream data packet and the increased burden on the server are caused by the addition of a 7-layer gateway and a 4-layer gateway between the mobile terminal and the pull stream service cluster. Based on this, the method of acquiring video stream data of some embodiments of the present disclosure adds one byte to the connection identifier in the pull stream data packet to store the information of the target equipment room, and directly forwards the data packet to the sender according to the information of the target equipment room. This eliminates the need for a 7-layer gateway to exist in the mobile terminal and the pull service cluster, and can avoid the delay of the pull stream data packet to a certain extent, reduce the burden on the server, and increase the routing speed of the pull stream data packet.

[0054] 3, which illustrates a flow 300 of some other embodiments of a method for acquiring video stream data. The flow 300 of the method for acquiring video stream data includes the following steps:

[0055] In step 301, in response to receiving a pull stream data packet transmitted from a target terminal, it is determined whether the equipment room identifier of the communication equipment room that received the pull stream data packet is the same as the target equipment room identifier included in the connection identifier in the pull stream data packet.

[0056] In some embodiments, the specific implementations of step 301 and the technical effects achieved thereby may refer to step 201 in the corresponding embodiments in FIG. 2, and the description thereof will be omitted here.

[0057] In step 302, the pull stream data packet is sent to any one of the protocol conversion servers in the communication equipment room according to the target interior gateway protocol.

[0058] In some embodiments, an entity performing the method for obtaining video stream data (such as the computing device 101 shown in FIG. 1 ) can send the pull stream data packet to any protocol conversion server in the communication equipment room by a target internal gateway protocol. The target internal gateway protocol can be OSPF. The protocol conversion server can be any QUIC server in a QUIC server cluster. The QUIC server can obtain the video stream data from an edge node of a content delivery network after converting the QUIC protocol into an HTTP protocol.

[0059] Thus, the target internal gateway protocol can be used to transmit the pull stream data packet to any one of the protocol conversion servers in the communication equipment room via at least one shortest routing path, thereby accelerating the routing speed of the pull stream data packet.

[0060] In step 303, a pull stream service instance is assigned to the pull stream data packet by a standalone load service of any one of the protocol conversion servers.

[0061] In some embodiments, the execution subject can allocate a pull stream service instance to the pull stream data packet by a standalone load service of any of the protocol conversion servers. The standalone load service can be a kernel-level load service of an operating system, such as nftable. This allows the load of the server to be reduced by the kernel-level load service of the operating system.

[0062] In step 304, in response to determining that the target equipment room identifier is different from the equipment room identifier of the communications equipment room, a pull stream service instance is utilized to forward the pull stream data packet to the target communications equipment room corresponding to the target equipment room identifier.

[0063] In some embodiments, in response to determining that the target equipment room identifier is different from the equipment room identifier of the communications equipment room, the executing entity can utilize the pull stream service instance to forward the pull stream data packet to the target communications equipment room corresponding to the target equipment room identifier.

[0064] Therefore, by integrating the forwarding function to the sender into the pull stream service instance, the seventh layer load balancing gateway no longer exists, and the data delay is reduced. At the same time, the single point of failure caused by the seventh layer load balancing gateway is reduced. In addition, since there is no need to deploy the seventh layer load balancing gateway, the cost can also be reduced.

[0065] In step 305, a target pull stream service instance that matches the pull stream data packet is determined in a target protocol conversion server in the target communication device room.

[0066] In some embodiments, the execution entity can determine a target pull stream service instance in a target protocol conversion server in the target communication equipment room that matches the pull stream data packet.

[0067] After receiving the first pull stream data packet generated by the target terminal in the process of playing the video stream, the target communication equipment room may send to the target terminal the protocol conversion server identifier of the protocol conversion server that receives the first pull stream data packet in the target communication equipment room and the pull stream service instance identifier of the pull stream service instance that is assigned to the first pull stream data packet in the protocol conversion server, so that the target terminal can write the protocol conversion server identifier and the pull stream service instance identifier into the subsequently generated pull stream data packet. Thus, the execution entity can determine the target protocol conversion server and the target pull stream service instance in the target protocol conversion server according to the protocol conversion server identifier and the pull stream service instance identifier included in the pull stream data packet.

[0068] In some optional embodiments of some embodiments, the step of the executing entity determining a target pull stream service instance that matches the pull stream data packet at a target protocol conversion server in the target communication equipment room may include the following steps:

[0069] In the first step, a mapping table is obtained from a cache server of a protocol conversion server cluster in the target communication device room, where the mapping table includes mapping information, the mapping information including a connection identifier, a protocol conversion server identifier, and a pull stream service instance identifier. The data stored in the cache server may be data shared by the protocol conversion server cluster.

[0070] As an example, the cache server may be a Redis server.

[0071] In the second step, the mapping information, the connection identifier of which is the same as the connection identifier in the pull stream data packet, is selected from the mapping table as the target mapping information.

[0072] In the third step, a protocol conversion server corresponding to the protocol conversion server identifier in the target mapping information is determined as a target protocol conversion server.

[0073] In a fourth step, in the target protocol conversion server, a pull stream service instance corresponding to the pull stream service instance identifier in the target mapping information is determined as a target pull stream service instance matching the pull stream data packet.

[0074] Optionally, the mapping information in said mapping table is determined by the following steps:

[0075] In the first step, the connection identifier in the first pull stream data packet, the protocol conversion server identifier of the target protocol conversion server, and the pull stream service instance identifier of the target pull stream service instance are determined as mapping information.

[0076] In a second step, the mapping information is recorded in a mapping table in the cache server.

[0077] Optionally, the target protocol conversion server and the target pull stream service instance may be determined by the following steps.

[0078] In a first step, in response to determining that the target communication equipment room has received the first pull stream data packet, a protocol conversion server is selected from a protocol conversion server cluster of the target communication equipment room as a target protocol conversion server, and the target protocol conversion server may be randomly selected from the protocol conversion server cluster.

[0079] In a second step, a pull stream service instance is assigned to the first pull stream data packet by a standalone load service of the target protocol conversion server, and the pull stream service instance is set as a target pull stream service instance, where the standalone load service may create one pull stream service instance for the first pull stream data packet.

[0080] 4 as an example, first, in response to determining that the target communication equipment room 401 receives the first pull stream data packet 402, one protocol conversion server can be selected from a protocol conversion server cluster 403 in the target communication equipment room 401 as a target protocol conversion server 404. Then, a pull stream service instance 405 can be assigned to the first pull stream data packet 402 by a standalone load service of the target protocol conversion server 404, and the pull stream service instance can be set as a target pull stream service instance.

[0081] In step 306, the target pull stream service instance is used to obtain video stream data from an edge node of the content delivery network.

[0082] In some embodiments, the execution entity can first convert the pull stream data packets into HTTP protocol data packets using the target pull stream service instance, and then obtain video stream data from an edge node of a content delivery network in the communication equipment room.

[0083] In some optional embodiments of some embodiments, the actor may transmit the video stream data to the target terminal.

[0084] As can be seen from Fig. 3, compared with the corresponding embodiments of Fig. 2, the flow 300 of the method for obtaining video stream data in the corresponding embodiments of Fig. 3 embodies detailed steps of forwarding pull stream data packets and obtaining video stream data. Therefore, the solutions described in these embodiments can speed up the routing speed of pull stream data packets and reduce the load of servers through the target interior gateway protocol and standalone load service.

[0085] Referring to FIG. 5, as an implementation of the method shown in each of the above figures, the present disclosure provides several embodiments of an apparatus for acquiring video stream data, which correspond to the embodiment of the method shown in FIG. 2, and the apparatus can be specifically applied to various electronic devices.

[0086] As shown in Fig. 5, the apparatus 500 for acquiring video stream data in some embodiments includes a judging unit 501, a forwarding unit 502, and an acquiring unit 503. Here, the judging unit 501 is configured to, in response to receiving a pull stream data packet sent from a target terminal, judge whether an equipment room identifier of a communication equipment room that receives the pull stream data packet is the same as a target equipment room identifier included in a connection identifier in the pull stream data packet. The pull stream data packet is generated when the target terminal plays a video stream, and the target equipment room identifier is an equipment room identifier of a communication equipment room that receives a first pull stream data packet generated when the target terminal plays the video stream. The forwarding unit 502 is configured to, in response to determining that the target equipment room identifier is different from the equipment room identifier of the communication equipment room that receives the pull stream data packet, forward the pull stream data packet to a target communication equipment room corresponding to the target equipment room identifier. The acquiring unit 503 is configured to acquire video stream data via the target communication equipment room.

[0087] In an optional embodiment of some embodiments, the acquiring unit 503 includes a first identifying subunit and a second acquiring subunit (not shown), the first identifying subunit is configured to determine a target pull stream service instance that matches the pull stream data packet in a target protocol conversion server in the target communication equipment room, and a second identifying subunit is configured to acquire video stream data from an edge node of a content delivery network using the target pull stream service instance.

[0088] In an optional embodiment of some embodiments, the target communications equipment room is determined by a step of determining as the target communications equipment room the communications equipment room corresponding to the network to which the target terminal was connected when it generated a first pull stream data packet in the process of playing the video stream.

[0089] In an optional embodiment of some embodiments, the target protocol conversion server and target pull stream service instance are determined by the steps of: selecting a protocol conversion server from a protocol conversion server cluster in the target communications equipment room as the target protocol conversion server in response to determining that the target communications equipment room has received the first pull stream data packet; and assigning a pull stream service instance to the first pull stream data packet by a standalone load service of the target protocol conversion server and designating the pull stream service instance as the target pull stream service instance.

[0090] In an optional embodiment of some embodiments, the first identifying subunit includes a second acquiring subunit, a selecting subunit, a first identifying subunit, and a second identifying subunit, where the second acquiring subunit is configured to acquire a mapping table from a cache server of a protocol conversion server cluster in the target communication equipment room. The mapping table includes mapping information. The mapping information includes a connection identifier, a protocol conversion server identifier, and a pull stream service instance identifier. The selecting subunit is configured to select mapping information from the mapping table, the connection identifier of which is the same as the connection identifier in the pull stream data packet, as target mapping information. The first identifying subunit is configured to determine a protocol conversion server corresponding to the protocol conversion server identifier in the target mapping information as a target protocol conversion server. The first identifying subunit is configured to determine, in the target protocol conversion server, a pull stream service instance corresponding to the pull stream service instance identifier in the target mapping information as a target pull stream service instance matching the pull stream data packet.

[0091] In an optional embodiment of some embodiments, the mapping information in the mapping table is determined by the steps of determining a connection identifier in the first pull stream data packet, a protocol conversion server identifier of the target protocol conversion server, and a pull stream service instance identifier of the target pull stream service instance as mapping information, and recording the mapping information in a mapping table in the cache server.

[0092] In an optional embodiment of some embodiments, the forwarding unit 502 includes a first sending subunit, an allocating subunit, and a forwarding subunit. The first sending subunit is configured to send the pull stream data packet to any protocol conversion server in the communication equipment room by a target interior gateway protocol. The first allocating subunit is configured to allocate a pull stream service instance to the pull stream data packet by a standalone load service of any protocol conversion server. The forwarding subunit is configured to forward the pull stream data packet to a target communication equipment room corresponding to the target equipment room identifier by utilizing the pull stream service instance in response to determining that the target equipment room identifier is different from the equipment room identifier of the communication equipment room.

[0093] In an optional implementation of some embodiments, the apparatus 500 further includes a sending unit, an allocating unit, and a video stream obtaining unit, where the sending unit is configured to send the pull stream data packet to any protocol conversion server in the communication equipment room through a target interior gateway protocol, the allocating unit is configured to allocate a pull stream service instance to the pull stream data packet through a standalone load service of any protocol conversion server, and the video stream obtaining unit is configured to obtain video stream data via the communication equipment room using the pull stream service instance in response to determining that the target equipment room identifier is the same as an equipment room identifier of the communication equipment room.

[0094] It should be understood that each unit described in the apparatus 500 corresponds to each step of the method described with reference to Fig. 2. Therefore, the operations, features and beneficial effects provided by the method described above are similarly applicable to the apparatus 500 and the units contained therein, and the description thereof will be omitted here.

[0095] Hereinafter, reference is made to Fig. 6, which shows a structural schematic diagram of an electronic device 600 suitable for implementing some embodiments of the present disclosure. The electronic device shown in Fig. 6 is merely an example, and does not provide any limitation on the function and scope of use of the embodiments of the present disclosure.

[0096] 6, the electronic device 600 may include a processing unit (e.g., a central processing unit, a graphics processor, etc.) 601 capable of performing various suitable operations and processes according to programs stored in a read-only memory (ROM) 602 or programs loaded from a storage device 608 into a random access memory (RAM) 603. The RAM 603 further stores various programs and data necessary for the operation of the electronic device 600. The processing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0097] Typically, the following devices may be connected to the I / O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; and communication devices 609. The communication devices 609 allow the electronic device 600 to communicate wirelessly or wired with other devices to exchange data. Although FIG. 6 illustrates the electronic device 600 having various devices, it should be understood that it is not required to implement or include all of the devices illustrated. Optionally, more or less devices may be implemented. Each block illustrated in FIG. 6 may represent one device or multiple devices as desired.

[0098] In particular, according to some embodiments of the present disclosure, the processes described with reference to the flowcharts may be implemented as a computer software program. For example, some embodiments of the present disclosure comprise a computer program product including a computer program embodied in a computer-readable medium, the computer program including program code for performing the methods shown in the flowcharts. In some such embodiments, the computer program may be downloaded and installed from a network via the communication device 609, or may be installed from the storage device 608 or ROM 602. When the computer program is executed by the processing device 601, it performs the above-mentioned functions defined in the methods of some embodiments of the present disclosure.

[0099] It should be noted that the computer-readable medium described in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of both. The computer-readable storage medium may be, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of the computer-readable storage medium may include, but are not limited to, an electrical connection having at least one conductor, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical memory, a magnetic memory, or any suitable combination thereof. In some embodiments of the present disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by, or that can be embedded in, an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, in which computer-readable program code is carried. Such propagated data signals may take various forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium. The computer-readable signal medium may transmit, propagate, or transmit a program used by or embedded in an instruction execution system, apparatus, or device. The program code included in the computer-readable medium may be transmitted by any suitable medium, including, but not limited to, electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.

[0100] In some embodiments, the clients and servers may communicate using any network protocol now known or later developed, such as HyperText Transfer Protocol (HTTP), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communications networks include local area networks (LANs), wide area networks (WANs), the Internet, and end-to-end networks (e.g., ad-hoc end-to-end networks), as well as any network now known or later developed.

[0101] The computer-readable medium may be included in the electronic device, or may be separate from the electronic device. The computer-readable medium carries one or more programs, and when the one or more programs are executed by the electronic device, the electronic device executes the following steps in response to receiving a pull stream data packet transmitted from a target terminal: determining whether an equipment room identifier of a communication equipment room that received the pull stream data packet is the same as a target equipment room identifier included in a connection identifier in the pull stream data packet, the pull stream data packet being generated when the target terminal plays a video stream, and the target equipment room identifier being an equipment room identifier of a communication equipment room that received a first pull stream data packet generated when the target terminal plays the video stream; transferring the pull stream data packet to a target communication equipment room corresponding to the target equipment room identifier in response to determining that the target equipment room identifier is different from the equipment room identifier of the communication equipment room that received the pull stream data packet; and acquiring video stream data via the target communication equipment room.

[0102] Computer program code for carrying out the operations of some embodiments of the present disclosure can be written in one or more programming languages, or combinations thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and traditional procedural programming languages ​​such as "C" or similar programming languages. The program code can run entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., via an Internet service provided by an Internet service provider).

[0103] The flowcharts and block diagrams in the drawings are illustrative examples of architecture, functions, and operations that can be realized by the systems, methods, and computer programs according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a portion of code. The module, program segment, or portion of code includes at least one executable instruction for implementing a certain logic function. It should be noted that in some optional embodiments, the functions shown in the blocks may be executed in a different order than that shown in the drawings. For example, two blocks shown in succession may actually be executed substantially in parallel, or may sometimes be executed in the reverse order, depending on the function involved. It should be further noted that all blocks in the block diagrams and / or flowcharts, as well as combinations of blocks in the block diagrams and / or flowcharts, may be implemented in a dedicated hardware-based system that executes a certain function or operation, or may be implemented in a combination of dedicated hardware and computer instructions.

[0104] The units described in some embodiments of the present disclosure may be implemented in software or hardware. The described units may be provided in a processor, and may be described as "a processor including a determining unit, a forwarding unit, and an acquiring unit." Here, the names of the units may not be limited to the units themselves in some cases, and the acquiring unit may be described as "a unit for acquiring video stream data."

[0105] The functionality described herein above may be performed, at least in part, by at least one hardware logic component, such as, but not limited to, a general purpose hardware logic component that may be employed including a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), an application specific standard product (ASSP), a system on a chip (SOC), a complex programmable logic device (CPLD), etc.

Claims

1. In response to receiving a pull stream data packet transmitted from a target terminal, determining whether an equipment room identifier of a communication equipment room that receives the pull stream data packet is the same as a target equipment room identifier included in a connection identifier in the pull stream data packet; in response to determining that the target equipment room identifier is different from an equipment room identifier of a communications equipment room that received the pull stream data packet, forwarding the pull stream data packet to a target communications equipment room corresponding to the target equipment room identifier; acquiring video stream data via the target communication equipment room; The pull stream data packet is generated when the target terminal plays a video stream; The target equipment room identifier is an equipment room identifier of a communication equipment room that receives a first pull stream data packet generated when the target terminal plays the video stream; How to get video stream data.

2. The step of acquiring video stream data through the target communication equipment room includes: determining a target pull stream service instance that matches the pull stream data packet in a target protocol conversion server in the target communication equipment room; and using the target pull stream service instance to obtain video stream data from an edge node of a content delivery network.

3. The method according to claim 1 or 2, wherein the target communication equipment room is determined by a step of determining as the target communication equipment room a communication equipment room corresponding to the network to which the target terminal was connected when the target terminal generated a first pull stream data packet in the process of playing the video stream.

4. The target protocol conversion server and the target pull stream service instance include: selecting a protocol conversion server from a protocol conversion server cluster of the target communication equipment room as a target protocol conversion server in response to determining that the target communication equipment room has received the first pull stream data packet; allocating a pull stream service instance to the first pull stream data packet by a standalone load service of the target protocol conversion server, and setting the pull stream service instance as a target pull stream service instance; The method of claim 2, wherein the

5. The step of determining a target pull stream service instance that matches the pull stream data packet in a target protocol conversion server in the target communication equipment room includes: Obtaining a mapping table from a cache server of a protocol conversion server cluster in the target communication device room, the mapping table including mapping information, the mapping information including a connection identifier, a protocol conversion server identifier, and a pull stream service instance identifier; selecting, from the mapping table, mapping information whose included connection identifier is the same as the connection identifier in the pull stream data packet as target mapping information; determining a protocol conversion server corresponding to a protocol conversion server identifier in the target mapping information as a target protocol conversion server; determining, in the target protocol conversion server, a pull stream service instance corresponding to a pull stream service instance identifier in the target mapping information as a target pull stream service instance matching the pull stream data packet; The method according to claim 2 or 4, comprising:

6. The mapping information in the mapping table is: determining a connection identifier in the first pull stream data packet, a protocol conversion server identifier of the target protocol conversion server, and a pull stream service instance identifier of the target pull stream service instance as mapping information; recording the mapping information in a mapping table in the cache server; The method of claim 5 , wherein the

7. in response to determining that the target equipment room identifier is different from an equipment room identifier of a communications equipment room that received the pull stream data packet, forwarding the pull stream data packet to a target communications equipment room corresponding to the target equipment room identifier, Sending the pull stream data packet to any one of the protocol conversion servers in the communication equipment room according to a target interior gateway protocol; allocating a pull stream service instance to the pull stream data packet by a standalone load service of any one of the protocol conversion servers; The method of any one of claims 1 to 6, further comprising: in response to determining that the target equipment room identifier is different from the equipment room identifier of the communications equipment room, using the pull stream service instance to forward the pull stream data packet to a target communications equipment room corresponding to the target equipment room identifier.

8. Sending the pull stream data packet to any one of the protocol conversion servers in the communication equipment room according to a target interior gateway protocol; allocating a pull stream service instance to the pull stream data packet by a standalone load service of any one of the protocol conversion servers; in response to determining that the target equipment room identifier is the same as an equipment room identifier of the communications equipment room, obtaining video stream data via the communications equipment room using the pull stream service instance; The method of any one of claims 1 to 7, further comprising:

9. A determining unit, configured to determine whether an equipment room identifier of a communication equipment room that receives a pull stream data packet from a target terminal is the same as a target equipment room identifier included in a connection identifier in the pull stream data packet in response to receiving the pull stream data packet; a forwarding unit configured to forward the pull stream data packet to a target communications equipment room corresponding to the target equipment room identifier in response to determining that the target equipment room identifier is different from the equipment room identifier of the communications equipment room that received the pull stream data packet; an acquisition unit configured to acquire video stream data via the target communication equipment room; The pull stream data packet is generated when the target terminal plays a video stream; The target equipment room identifier is an equipment room identifier of a communication equipment room that receives a first pull stream data packet generated when the target terminal plays the video stream; A device that acquires video stream data.

10. At least one processor; and a storage device in which at least one program is stored. An electronic device, wherein said at least one program, when executed by said at least one processor, causes said at least one processor to implement the method according to any one of claims 1 to 8.

11. A computer readable medium having stored thereon a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Message queue consumption method realized based on multiple machine rooms and electronic equipment

    CN112068972A

  • Information processing system, information processing device, information processing method, information processing program, mobile terminal device, and control program thereof

    JP2017120526A

  • Target cell access method and apparatus

    JP2020507255A

  • System and method for handing over multimedia streams among heterogenous devices for n-screen service

    KR1020140126955A