CN106790632B - Streaming data concurrent transmission method and device - Google Patents

Streaming data concurrent transmission method and device Download PDF

Info

Publication number
CN106790632B
CN106790632B CN201710002598.1A CN201710002598A CN106790632B CN 106790632 B CN106790632 B CN 106790632B CN 201710002598 A CN201710002598 A CN 201710002598A CN 106790632 B CN106790632 B CN 106790632B
Authority
CN
China
Prior art keywords
thread
type
transmission
threads
stream data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710002598.1A
Other languages
Chinese (zh)
Other versions
CN106790632A (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201710002598.1A priority Critical patent/CN106790632B/en
Publication of CN106790632A publication Critical patent/CN106790632A/en
Priority to PCT/CN2017/120143 priority patent/WO2018127013A1/en
Application granted granted Critical
Publication of CN106790632B publication Critical patent/CN106790632B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a concurrent transmission method and a concurrent transmission device of stream data, wherein the method comprises the following steps: distributing a first type of thread to receive streaming data, determining a transmission destination corresponding to each transmission request and creating a corresponding transmission task when receiving a plurality of transmission requests aiming at target streaming data, creating a transmission channel between the first type of thread receiving the target streaming data and each transmission destination, calling the first type of thread and executing a plurality of transmission tasks, and transmitting the target streaming data to each transmission destination through the corresponding transmission channel. The technical scheme ensures that the transmission of the streaming data to the transmission destination end is directly finished on the thread for receiving the streaming data, avoids the problem that the thread for receiving the streaming data needs to forward the streaming data to a plurality of threads for sending the streaming data, reduces the performance consumption caused by forwarding the data among the threads, and simultaneously reduces the response time.

Description

Streaming data concurrent transmission method and device
Technical Field
The invention relates to the technical field of streaming data transmission, in particular to a streaming data concurrent transmission method and a streaming data concurrent transmission device.
Background
Streaming data is data that can be transmitted over a Network in a streaming manner, a large website system often depends on a Content Delivery Network (CDN) to transmit streaming data, and the Content Delivery Network adds a new Network structure to an existing Network so that a user can transmit data to a nearby node or obtain required data from the nearby node. In a content distribution network, a transmission node is deployed for buffering stream data and providing services to users nearby.
On a transmission node in a content distribution network, if a plurality of connections exist for the same streaming data, a thread is generally randomly allocated to each connection, and the connection is established to transmit the streaming data, so as to realize the concurrent transmission of the streaming data.
However, in the case of multiple connections, the thread receiving the streaming data needs to forward the streaming data to the threads where the multiple connections are located, the inter-thread communication performance is consumed, and the response time increases.
Disclosure of Invention
In view of the above problems, the present invention has been made to provide a concurrent transmission method of streaming data and a corresponding apparatus that overcome or at least partially solve the above problems.
According to an aspect of the present invention, there is provided a method for concurrent transmission of streaming data, comprising:
allocating first type threads to receive stream data, wherein each first type thread correspondingly receives one stream data;
when receiving a plurality of transmission requests aiming at target stream data, determining a transmission destination end corresponding to each transmission request and establishing a corresponding transmission task;
creating transmission channels between the first type threads for receiving the target stream data and each transmission destination, wherein each transmission channel correspondingly bears one transmission task;
and calling the first type of threads to concurrently execute a plurality of transmission tasks, and transmitting the target stream data to each transmission destination end through a corresponding transmission channel.
Optionally, when receiving a plurality of transmission requests for target stream data, before determining a transmission destination corresponding to each transmission request and creating a corresponding transmission task, the method further includes:
the second type of thread is invoked for receiving a transfer request for all streaming data.
Optionally, before the creating a transmission channel between the first type thread receiving the target stream data and each transmission destination, the method further includes:
and calling the second type of thread to send a plurality of transmission tasks to the first type of thread, wherein the transmission tasks carry the identification of the corresponding transmission destination end.
Optionally, before the invoking the second type of thread sends a plurality of transmission tasks to the first type of thread, the method further includes:
and identifying the streaming data corresponding to the request of each transmission request as target streaming data, and determining the thread receiving the target streaming data as a first type thread.
Optionally, before the creating a transmission channel between the first type thread receiving the target stream data and each transmission destination, the method further includes:
and judging whether the threads for sending the target stream data only comprise the first type threads.
Optionally, if the threads for sending the target stream data only include a first type of thread, before the creating a transmission channel between the first type of thread that receives the target stream data and each transmission destination, the method further includes:
judging that the first type of thread meets a first set condition, wherein the first set condition comprises at least one of the following conditions: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
Optionally, the method further comprises:
and if the first type of thread does not meet the first set condition, creating a third type of thread to transmit target stream data.
Optionally, the creating a third type thread for transmitting target stream data includes:
randomly selecting one thread from a preset thread pool as a third type thread;
and calling the third type thread to acquire target stream data from the first type thread receiving the target stream data, and transmitting the target stream data.
Optionally, if the threads for sending the target stream data include a first type thread and at least one third type thread, before the creating a transmission channel between the first type thread for receiving the target stream data and each transmission destination, the method further includes:
selecting threads meeting a first set condition from the first type of threads and at least one third type of threads, and determining the threads meeting the first set condition as the first type of threads, wherein the first set condition comprises at least one of the following conditions: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
Optionally, the method further comprises:
and if the threads meeting the first set condition are determined to be not the first type of threads, calling a third type of threads meeting the first set condition to transmit target stream data.
Optionally, the method further comprises:
if the threads meeting the first set condition comprise a first type of threads and at least one third type of threads, randomly selecting one thread from the first type of threads and the at least one third type of threads, and determining the randomly selected thread as the first type of threads.
Optionally, the method further comprises:
if the threads meeting the first set condition comprise a first type of threads and at least one third type of threads, further determining the threads meeting a second set condition as the first type of threads, wherein the second set condition comprises at least one of the following: the total number of the correspondingly created transmission channels is minimum, and the corresponding load capacity is minimum.
Optionally, the method further comprises:
and if the first type of thread does not meet the second set condition, calling a third type of thread meeting the second set condition to transmit target stream data.
Optionally, the method further comprises:
and if the existing first-class threads and the third-class threads do not meet the first set condition, creating new third-class threads.
Optionally, after the creating transmission channels between the first type threads and the respective transmission destinations, the method further includes:
and updating the total number of the transmission channels recorded aiming at the first type of threads according to the number of the established transmission channels.
Optionally, the allocating the first type thread to receive the streaming data includes:
and randomly selecting one thread from a preset thread pool as a first type of thread to receive the streaming data to be received.
According to another aspect of the present invention, there is provided a concurrent transmission apparatus of streaming data, including:
the thread distribution module is used for distributing first-class threads to receive streaming data, and each first-class thread correspondingly receives one piece of streaming data;
the transmission task determining module is used for determining a transmission destination corresponding to each transmission request and creating a corresponding transmission task when receiving a plurality of transmission requests aiming at target stream data;
the transmission channel creating module is used for creating transmission channels between the first type threads for receiving the target stream data and each transmission destination end, and each transmission channel correspondingly bears one transmission task;
and the transmission task calling module is used for calling the first type of threads and executing a plurality of transmission tasks, and transmitting the target stream data to each transmission destination end through a corresponding transmission channel.
Optionally, the apparatus further comprises:
and the transmission request receiving module is used for calling a second type thread to receive the transmission requests aiming at all the streaming data before determining the transmission destination end corresponding to each transmission request and creating the corresponding transmission task when receiving the plurality of transmission requests aiming at the target streaming data.
Optionally, the apparatus further comprises:
and the transmission task sending module is used for calling the second type of thread to send a plurality of transmission tasks to the first type of thread before the transmission channel between the first type of thread for receiving the target stream data and each transmission destination is created, wherein the transmission tasks carry the identification of the corresponding transmission destination.
Optionally, the apparatus further comprises:
and the stream data identification module is used for identifying the stream data of the request corresponding to each transmission request as target stream data before the second type of thread is called to send the plurality of transmission tasks to the first type of thread, and determining that the thread receiving the target stream data is the first type of thread.
Optionally, the apparatus further comprises:
and the thread judging module is used for judging whether the threads used for sending the target stream data only comprise the first type threads or not before the transmission channels between the first type threads for receiving the target stream data and the transmission destination terminals are created.
Optionally, the apparatus further comprises:
a first condition determining module, configured to determine, if the threads used for sending the target stream data only include a first type of thread, that the first type of thread satisfies a first set condition before creating a transmission channel between the first type of thread that receives the target stream data and each transmission destination, where the first set condition includes at least one of: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
Optionally, the apparatus further comprises:
and the third thread creating module is used for creating a third thread to transmit target stream data if the first thread does not meet the first set condition.
Optionally, the third thread creating module includes:
the third thread selecting submodule is used for randomly selecting one thread from the preset thread pool as a third type thread;
and the stream data acquisition submodule is used for calling the third type thread to acquire the target stream data from the first type thread which receives the target stream data and transmitting the target stream data.
Optionally, the apparatus further comprises:
a first condition satisfying module, configured to, if threads used for sending the target stream data include a first class thread and at least one third class thread, before the transmission channel between the first class thread that receives the target stream data and each transmission destination is created, select, from the first class thread and the at least one third class thread, a thread that satisfies a first set condition, and determine that the thread that satisfies the first set condition is the first class thread, where the first set condition includes at least one of: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
Optionally, the apparatus further comprises:
and the third thread calling module is used for calling a third type of thread meeting the first setting condition to transmit target stream data if the thread meeting the first setting condition is determined not to be the first type of thread.
Optionally, the apparatus further comprises:
and the thread random module is used for randomly selecting one thread from the first type of thread and the at least one third type of thread if the threads meeting the first set condition comprise the first type of thread and the at least one third type of thread, and determining the randomly selected thread as the first type of thread.
Optionally, the apparatus further comprises:
a second condition satisfying module, configured to further determine, if the threads satisfying the first set condition include a first class of threads and at least one third class of threads, that the threads satisfying the second set condition are the first class of threads, where the second set condition includes at least one of: the total number of the correspondingly created transmission channels is minimum, and the corresponding load capacity is minimum.
Optionally, the apparatus further comprises:
and the third thread calling module is used for calling a third thread meeting a second set condition to transmit target stream data if the first thread does not meet the second set condition.
Optionally, the apparatus further comprises:
and the third creating module is used for creating a new third type thread if the existing first type thread and the third type thread do not meet the first set condition.
Optionally, the apparatus further comprises:
and the number updating module is used for updating the total number of the transmission channels recorded aiming at the first type of threads according to the number of the established transmission channels after the transmission channels between the first type of threads and each transmission destination end are established.
Optionally, the thread allocation module is specifically configured to randomly select one thread from a preset thread pool as a first type of thread for receiving stream data to be received.
According to the method and the device for concurrently transmitting the streaming data, the streaming data is received by allocating the first type of threads, when a plurality of transmission requests aiming at the target streaming data are received, the transmission destination corresponding to each transmission request is determined and a corresponding transmission task is created, a transmission channel between the first type of threads for receiving the target streaming data and each transmission destination is created, the first type of threads are called to concurrently execute a plurality of transmission tasks, and the target streaming data are transmitted to each transmission destination through the corresponding transmission channel. The streaming data is directly transmitted to the transmission destination end on the thread for receiving the streaming data, so that the problem that the thread for receiving the streaming data needs to forward the streaming data to a plurality of threads for sending the streaming data is avoided, the performance consumption caused by data forwarding among the threads is reduced, and meanwhile, the response time is also reduced.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
fig. 1 is a schematic flow chart illustrating steps of a method for concurrent transmission of streaming data according to a first embodiment of the present invention;
fig. 2 is a schematic flow chart illustrating steps of a method for concurrent transmission of stream data according to a second embodiment of the present invention;
fig. 3 is a block diagram illustrating a structure of a device for concurrent transmission of streaming data according to a third embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Referring to fig. 1, a flowchart illustrating steps of a method for concurrently transmitting streaming data according to a first embodiment of the present invention is shown, which may specifically include the following steps:
step 101, allocating a first type thread to receive stream data.
The stream data is data that can be transmitted over the network by streaming, and the stream data can be transmitted between network devices such as clients or servers. In a multi-thread environment, the same or different threads are required to be allocated to process tasks such as receiving, sending, storing and the like of stream data, so as to realize a technology of concurrently executing a plurality of threads.
In the embodiment of the invention, the threads are divided into several classes according to different executed tasks, wherein the threads are distributed in the thread pool to execute the task of receiving the streaming data, the threads executing the task of receiving the streaming data are called first class threads, and each first class thread correspondingly receives one piece of streaming data.
For example, in the field of live video, content distribution networks are utilized to provide high performance, scalability, and low cost delivery of network content to users. The method includes that a plurality of tasks for receiving streaming data can be simultaneously performed on a server for transmitting the streaming data in a content distribution network, when a streaming data receiving request is responded, a first type thread is allocated for receiving the streaming data, and specifically, connection establishment with a streaming data sending end is performed on the allocated first type thread, and the transmitted streaming data is received.
Step 102, when receiving a plurality of transmission requests for target stream data, determining a transmission destination corresponding to each transmission request and creating a corresponding transmission task.
The transmission request is a transmission request initiated to target stream data, and the transmission request specifically includes information such as the target stream data, a transmission destination, a transmission mode, and the like, wherein the target stream data is stream data requested to be transmitted, one transmission request may request at least one target stream data, and the transmission destination is a terminal designated in the transmission request to receive the stream data. The transmission task is a task of establishing connection with a transmission destination end to transmit target stream data.
In the embodiment of the present invention, receiving multiple transmission requests for target stream data refers to a case where there are multiple transmission requests for one stream data, and specifically, the transmission requests may be received on one random thread, and when receiving multiple transmission requests, according to information in the transmission requests, a transmission destination corresponding to each transmission request is determined, and each transmission task corresponding to each transmission request is created.
Step 103, creating a transmission channel between the first type thread receiving the target stream data and each transmission destination.
The transmission channel refers to a channel established between the local and the transmission destination for performing data transmission, and may be specifically used for a byte buffer and performing data transmission for a data entity on the other side of the channel. In the embodiment of the present invention, a transmission channel may refer to Socket (the english primitive of Socket is "hole" or "Socket". the Socket is used as a process communication mechanism of BSD UNIX, and is also referred to as "Socket") connection, is used to describe an IP address and a port, is a handle of a communication chain, and may be used to implement communication between different virtual machines or different computers.
In the embodiment of the invention, the first type of thread which is receiving the target stream data of the transmission task is searched, the transmission channels between the first type of thread and each transmission destination end are established according to the transmission task, and each transmission channel correspondingly bears one transmission task.
And 104, calling the first type of threads, executing a plurality of transmission tasks, and transmitting the target stream data to each transmission destination end through a corresponding transmission channel.
In the embodiment of the invention, a plurality of transmission tasks can be executed on the first type thread concurrently, wherein each transmission task correspondingly transmits the target stream data to each transmission destination end through the created transmission channel. Under certain hardware conditions, the maximum value of the number of transmission tasks that can be concurrently executed on the first type of thread depends on the CPU resources consumed by the transmission tasks, and may be any suitable number, which is not limited in the present invention.
In summary, according to the embodiments of the present invention, a first type of thread is allocated to receive stream data, when a plurality of transmission requests for target stream data are received, a transmission destination corresponding to each transmission request is determined and a corresponding transmission task is created, a transmission channel between the first type of thread receiving the target stream data and each transmission destination is created, the first type of thread is invoked to concurrently execute a plurality of transmission tasks, and the target stream data is transmitted to each transmission destination through the corresponding transmission channel. The streaming data is directly transmitted to the transmission destination end on the thread for receiving the streaming data, so that the problem that the thread for receiving the streaming data needs to forward the streaming data to a plurality of threads for sending the streaming data is avoided, the performance consumption caused by data forwarding among the threads is reduced, and meanwhile, the response time is also reduced.
In this embodiment of the present invention, preferably, before determining a transmission destination corresponding to each transmission request and creating a corresponding transmission task when receiving a plurality of transmission requests for target stream data, the method may further include: the second type of thread is invoked for receiving a transfer request for all streaming data.
A thread is called from the thread pool to receive a transfer request for all streaming data, which may be referred to as a second type of thread. Specifically, different threads may be respectively invoked for each transmission request of each stream data to execute, which is not limited in the embodiment of the present invention.
In this embodiment of the present invention, preferably, before the creating a transmission channel between the first type thread that receives the target stream data and each transmission destination, the method may further include the steps of: and calling the second type of thread to send a plurality of transmission tasks to the first type of thread, wherein the transmission tasks carry the identification of the corresponding transmission destination end.
When receiving a plurality of transmission requests for target stream data, the second type of thread determines a transmission destination corresponding to each transmission request and creates a corresponding transmission task, and then sends the plurality of transmission tasks to the first type of thread of the target stream data corresponding to the transmission task, and the transmission task carries an identifier of the corresponding transmission destination, for example, the transmission destination is a server, and the identifier may include a network address of the server.
In this embodiment of the present invention, preferably, before the invoking the second type of thread to send the plurality of transmission tasks to the first type of thread, the method may further include: and identifying the streaming data corresponding to the request of each transmission request as target streaming data, and determining the thread receiving the target streaming data as a first type thread.
The transmission request carries the identification of the requested target stream data, after receiving each transmission request, the stream data corresponding to the request of each transmission request is identified, the stream data is identified as the target stream data, the thread for receiving the target stream data is searched, and the first type of thread is determined.
Referring to fig. 2, a flowchart illustrating steps of a method for concurrent transmission of streaming data according to a second embodiment of the present invention is shown, which may specifically include the following steps:
step 201, for the stream data to be received, randomly selecting a thread from a preset thread pool as a first type thread for receiving.
Thread pools are a form of multi-threaded processing in which tasks are added to a queue and then automatically started after a thread is created. The thread pool threads are all background threads. Each thread uses a default stack size, runs at a default priority, and is in a multi-threaded unit. If a thread is idle in managed code (e.g., waiting for an event), another helper thread will be inserted in the thread pool to keep all processors busy. If all thread pool threads remain busy all the time, but pending work is contained in the queue, another helper thread will be created in the thread pool after a period of time but the number of threads never exceeds the maximum. Threads that exceed the maximum value may be queued, but they wait until other threads are completed before starting.
In the embodiment of the invention, the preset thread pool is a preset thread pool for processing tasks related to the streaming data. And randomly selecting one thread from a preset thread pool to receive the streaming data to be received as a first type of thread.
Step 202, a second type thread is invoked for receiving a transmission request for all streaming data.
A thread is called from the thread pool to receive a transfer request for all streaming data, which may be referred to as a second type of thread. Specifically, different threads may be respectively invoked for each transmission request of each stream data to execute, which is not limited in the embodiment of the present invention.
Step 203, when receiving a plurality of transmission requests for the target stream data, determining a transmission destination corresponding to each transmission request and creating a corresponding transmission task.
In the embodiments of the present invention, the specific manner is consistent with that described in other embodiments, and is not described herein.
Step 204, determining whether the threads for sending the target stream data only include the first type of threads.
In the embodiment of the present invention, there may be a plurality of threads for sending the target stream data, where one of the threads is a first-class thread, and the other threads for sending the target stream data may be a thread that creates a new thread for executing a transmission task of the target stream data when the first-class thread reaches a concurrency limit, and forwards the stream data received in the first-class thread to the newly created thread after the creation. And judging whether the threads currently used for sending the target stream data only comprise the first type threads.
If the threads for sending the target stream data only include the first type of threads, step 205 is performed.
Step 205, determining that the first type of thread satisfies a first setting condition.
The first setting condition includes at least one of: the total number of the correspondingly created transmission channels does not exceed the set number and the set load. And acquiring the total number of the transmission channels established on the first type of thread, wherein the first set condition is that the total number does not exceed the set number or the set load.
In the embodiment of the invention, the total number of transmission channels created on the first type thread of the target stream data is obtained, whether the first type thread meets the first setting condition is judged according to whether the total number exceeds the set number or exceeds the set load capacity, and the first type thread meets the first setting condition is judged. The set number and the set load amount may be any suitable number, and the embodiment of the present invention does not limit this.
In the embodiment of the present invention, preferably, if the first type of thread does not satisfy the first setting condition, a third type of thread is created to transmit the target stream data.
And if the first type of thread does not meet the first set condition, namely the total number of the transmission channels on the first type of thread exceeds the set number or the set load capacity, creating the thread for transmitting the target stream data, wherein the created thread is a third type of thread, and the creation of the third type of thread requires the first type of thread to forward the stream data to the third type of thread.
In this embodiment of the present invention, preferably, an implementation manner of creating the third type of thread to transmit the target stream data is as follows: randomly selecting one thread from a preset thread pool as a third type thread; and calling the third type thread to acquire target stream data from the first type thread receiving the target stream data, and transmitting the target stream data.
And randomly selecting one thread from a preset thread pool as a third type thread, calling the third type thread to obtain required target stream data from the first type thread, and transmitting the target stream data according to the transmission task.
In this embodiment of the present invention, preferably, if the threads for sending the target stream data include a first type thread and at least one third type thread, before the creating a transmission channel between the first type thread that receives the target stream data and each transmission destination, the method may further include the steps of: selecting threads meeting a first set condition from the first type of threads and at least one third type of threads, and determining the threads meeting the first set condition as the first type of threads, wherein the first set condition comprises at least one of the following conditions: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
If the threads used for sending the target stream data comprise a first type of threads and at least one third type of threads, finding out the threads meeting a first set condition from the first type of threads and the third type of threads, wherein the first set condition comprises at least one of the following conditions: the total number of the correspondingly created transmission channels does not exceed the set number and the set load. And acquiring the total number of the transmission channels respectively established on the first type thread and the third type thread, wherein the first set condition is that the total number does not exceed the set number or the set load quantity. And determining the threads meeting the first set condition as the first type of threads, and determining the third type of threads not meeting the first set condition.
In the embodiment of the present invention, preferably, if it is determined that the thread satisfying the first setting condition is not the first type of thread, the third type of thread satisfying the first setting condition is invoked to transmit the target stream data.
Specifically, if the thread meeting the first set condition is not the first type thread, the third type thread is called to transmit target stream data, specifically, a transmission task is sent to the third type thread, a connection with a transmission destination is established on the third type thread, and the stream data is transmitted.
In the embodiment of the present invention, preferably, if the threads meeting the first set condition include a first type thread and at least one third type thread, one thread is randomly selected from the first type thread and the at least one third type thread, and the randomly selected thread is determined to be the first type thread.
And if the threads meeting the first set condition comprise a first type thread and at least one third type thread, randomly selecting one thread from the first type thread and the at least one third type thread, and in one case, transmitting the target stream data by using the first type thread if the randomly selected thread is the first type thread.
In the embodiment of the present invention, preferably, if the threads meeting the first set condition include a first type of thread and at least one third type of thread, the threads meeting the second set condition are further determined to be the first type of thread, where the second set condition includes at least one of: the total number of the correspondingly created transmission channels is minimum, and the corresponding load capacity is minimum.
The second setting condition is that the total number of the correspondingly created transmission channels is minimum or the corresponding load capacity is minimum.
If the threads meeting the first set condition comprise the first type threads and at least one third type thread, the threads meeting the second set condition can be searched, and in one case, the threads meeting the second set condition are the first type threads, the first type threads are used for transmitting the target stream data.
In the embodiment of the present invention, preferably, if the first type thread does not satisfy the second setting condition, a third type thread that satisfies the second setting condition is invoked to transmit the target stream data.
If the first type of threads do not meet the second set condition, the third type of threads meeting the second set condition are searched to transmit the target stream data, and the third type of threads meeting the second set condition are connected with a transmission target end to transmit the target stream data.
In the embodiment of the present invention, preferably, if neither the existing first-class thread nor the third-class thread satisfies the first setting condition, a new third-class thread is created.
And if the existing first-class thread and the third-class thread do not meet the first set condition, creating a new third-class thread, forwarding the target stream data and the first-class thread to the newly created third-class thread, and sending the transmission task to the newly created third-class thread to finish the transmission of the target stream data according to the transmission task.
Step 206, creating a transmission channel between the first type thread receiving the target stream data and each transmission destination.
In the embodiment of the invention, each transmission channel correspondingly bears one transmission task. The specific manner is consistent with that described in other embodiments, and is not described herein.
And step 207, updating the total number of the transmission channels recorded for the first type of threads according to the number of the established transmission channels.
In the embodiment of the present invention, the total number of transmission channels recorded for the first type of thread is updated according to the number of established transmission channels, and specifically, every time one transmission channel is established, one transmission channel is added to the total number of transmission channels recorded for the first type of thread. And if the transmission channels are reduced due to the completion of the transmission tasks or other reasons, correspondingly reducing the total number of the transmission channels recorded by the first type of threads.
And step 208, calling the first type of threads to concurrently execute a plurality of transmission tasks, and transmitting the target stream data to each transmission destination end through a corresponding transmission channel.
In the embodiments of the present invention, the specific manner is consistent with that described in other embodiments, and is not described herein.
In summary, according to the embodiments of the present invention, one thread is randomly selected from a preset thread pool as a first type thread for receiving streaming data to be received, a second type thread is called for receiving transmission requests for all streaming data, when a plurality of transmission requests for target streaming data are received, determining a transmission destination corresponding to each transmission request and creating a corresponding transmission task, judging whether the threads for sending the target stream data only comprise first type threads, judging that the first type threads meet first set conditions, creating a transmission channel between the first type threads for receiving the target stream data and each transmission destination, and updating the total number of the transmission channels recorded aiming at the first type of threads according to the number of the established transmission channels, calling the first type of threads to execute a plurality of transmission tasks simultaneously, and transmitting the target stream data to each transmission destination end through the corresponding transmission channel. The scheme ensures that the transmission of the streaming data to the transmission destination end is directly finished on the thread for receiving the streaming data, avoids the problem that the thread for receiving the streaming data needs to forward the streaming data to a plurality of threads for sending the streaming data, reduces the performance consumption caused by forwarding the data among the threads, and simultaneously reduces the response time.
Referring to fig. 3, a block diagram of a structure of a concurrent transmission apparatus for streaming data according to a third embodiment of the present invention is shown, and the apparatus may specifically include the following modules:
the thread allocation module 301 is configured to allocate first class threads to receive stream data, where each first class thread correspondingly receives one stream data;
a transmission task determining module 302, configured to determine, when receiving multiple transmission requests for target stream data, a transmission destination corresponding to each transmission request and create a corresponding transmission task;
a transmission channel creating module 303, configured to create a transmission channel between the first type thread that receives the target stream data and each transmission destination, where each transmission channel correspondingly carries one transmission task;
a transmission task calling module 304, configured to call the first type of thread, execute multiple transmission tasks concurrently, and transmit the target stream data to each transmission destination through a corresponding transmission channel.
In the embodiment of the present invention, preferably, the apparatus further includes:
and the transmission request receiving module is used for calling a second type thread to receive the transmission requests aiming at all the streaming data before determining the transmission destination end corresponding to each transmission request and creating the corresponding transmission task when receiving the plurality of transmission requests aiming at the target streaming data.
In the embodiment of the present invention, preferably, the apparatus further includes:
and the transmission task sending module is used for calling the second type of thread to send a plurality of transmission tasks to the first type of thread before the transmission channel between the first type of thread for receiving the target stream data and each transmission destination is created, wherein the transmission tasks carry the identification of the corresponding transmission destination.
In the embodiment of the present invention, preferably, the apparatus further includes:
and the stream data identification module is used for identifying the stream data of the request corresponding to each transmission request as target stream data before the second type of thread is called to send the plurality of transmission tasks to the first type of thread, and determining that the thread receiving the target stream data is the first type of thread.
In the embodiment of the present invention, preferably, the apparatus further includes:
and the thread judging module is used for judging whether the threads used for sending the target stream data only comprise the first type threads or not before the transmission channels between the first type threads for receiving the target stream data and the transmission destination terminals are created.
In the embodiment of the present invention, preferably, the apparatus further includes:
a first condition determining module, configured to determine, if the threads used for sending the target stream data only include a first type of thread, that the first type of thread satisfies a first set condition before creating a transmission channel between the first type of thread that receives the target stream data and each transmission destination, where the first set condition includes at least one of: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
In the embodiment of the present invention, preferably, the apparatus further includes:
and the third thread creating module is used for creating a third thread to transmit target stream data if the first thread does not meet the first set condition.
In the embodiment of the present invention, preferably, the third thread creating module includes:
the third thread selecting submodule is used for randomly selecting one thread from the preset thread pool as a third type thread;
and the stream data acquisition submodule is used for calling the third type thread to acquire the target stream data from the first type thread which receives the target stream data and transmitting the target stream data.
In the embodiment of the present invention, preferably, the apparatus further includes:
a first condition satisfying module, configured to, if threads used for sending the target stream data include a first class thread and at least one third class thread, before the transmission channel between the first class thread that receives the target stream data and each transmission destination is created, select, from the first class thread and the at least one third class thread, a thread that satisfies a first set condition, and determine that the thread that satisfies the first set condition is the first class thread, where the first set condition includes at least one of: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
In the embodiment of the present invention, preferably, the apparatus further includes:
and the third thread calling module is used for calling a third type of thread meeting the first setting condition to transmit target stream data if the thread meeting the first setting condition is determined not to be the first type of thread.
In the embodiment of the present invention, preferably, the apparatus further includes:
and the thread random module is used for randomly selecting one thread from the first type of thread and the at least one third type of thread if the threads meeting the first set condition comprise the first type of thread and the at least one third type of thread, and determining the randomly selected thread as the first type of thread.
In the embodiment of the present invention, preferably, the apparatus further includes:
a second condition satisfying module, configured to further determine, if the threads satisfying the first set condition include a first class of threads and at least one third class of threads, that the threads satisfying the second set condition are the first class of threads, where the second set condition includes at least one of: the total number of the correspondingly created transmission channels is minimum, and the corresponding load capacity is minimum.
In the embodiment of the present invention, preferably, the apparatus further includes:
and the third thread calling module is used for calling a third thread meeting a second set condition to transmit target stream data if the first thread does not meet the second set condition.
In the embodiment of the present invention, preferably, the apparatus further includes:
and the third creating module is used for creating a new third type thread if the existing first type thread and the third type thread do not meet the first set condition.
In the embodiment of the present invention, preferably, the apparatus further includes:
and the number updating module is used for updating the total number of the transmission channels recorded aiming at the first type of threads according to the number of the established transmission channels after the transmission channels between the first type of threads and each transmission destination end are established.
In the embodiment of the present invention, preferably, the thread allocation module is specifically configured to randomly select one thread from a preset thread pool as a first type thread for receiving stream data to be received.
In summary, according to the embodiments of the present invention, a first type of thread is allocated to receive stream data, when a plurality of transmission requests for target stream data are received, a transmission destination corresponding to each transmission request is determined and a corresponding transmission task is created, a transmission channel between the first type of thread receiving the target stream data and each transmission destination is created, the first type of thread is invoked to concurrently execute a plurality of transmission tasks, and the target stream data is transmitted to each transmission destination through the corresponding transmission channel. The scheme ensures that the transmission of the streaming data to the transmission destination end is directly finished on the thread for receiving the streaming data, avoids the problem that the thread for receiving the streaming data needs to forward the streaming data to a plurality of threads for sending the streaming data, reduces the performance consumption caused by forwarding the data among the threads, and simultaneously reduces the response time.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It will be appreciated by those skilled in the art that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components of a method and apparatus for concurrent transmission of streaming data according to embodiments of the present invention. The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.

Claims (32)

1. A method of concurrent transmission of streaming data, comprising:
allocating first type threads to receive stream data, wherein each first type thread correspondingly receives one stream data;
when receiving a plurality of transmission requests aiming at target stream data, determining a transmission destination end corresponding to each transmission request and establishing a corresponding transmission task; creating transmission channels between the first type threads for receiving the target stream data and each transmission destination, wherein each transmission channel correspondingly bears one transmission task;
and calling the first type of threads to concurrently execute a plurality of transmission tasks, and transmitting the target stream data to each transmission destination end through a corresponding transmission channel.
2. The method of claim 1, wherein, prior to determining a transmission destination corresponding to each transmission request and creating a corresponding transmission task when the plurality of transmission requests for the target streaming data are received, the method further comprises:
the second type of thread is invoked for receiving a transfer request for all streaming data.
3. The method of claim 2, wherein prior to said creating a transmission channel between a first type of thread receiving the target stream data and each transmission destination, the method further comprises:
and calling the second type of thread to send a plurality of transmission tasks to the first type of thread, wherein the transmission tasks carry the identification of the corresponding transmission destination end.
4. The method of claim 3, wherein prior to said invoking the second class of threads to send a plurality of transfer tasks to the first class of threads, the method further comprises:
and identifying the streaming data corresponding to the request of each transmission request as target streaming data, and determining the thread receiving the target streaming data as a first type thread.
5. The method of claim 1, wherein prior to said creating a transmission channel between a first type of thread receiving the target stream data and each transmission destination, the method further comprises:
and judging whether the threads for sending the target stream data only comprise the first type threads.
6. The method of claim 5, wherein if the threads for sending the target stream data only include threads of a first type, before the creating a transmission channel between the threads of the first type for receiving the target stream data and each transmission destination, the method further comprises:
judging that the first type of thread meets a first set condition, wherein the first set condition comprises at least one of the following conditions: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
7. The method of claim 6, wherein the method further comprises:
and if the first type of thread does not meet the first set condition, creating a third type of thread to transmit target stream data.
8. The method of claim 7, wherein the creating a third type of thread for transfer of target flow data comprises:
randomly selecting one thread from a preset thread pool as a third type thread;
and calling the third type thread to acquire target stream data from the first type thread receiving the target stream data, and transmitting the target stream data.
9. The method of claim 5, wherein if the threads for sending the target stream data include a first type of thread and at least one third type of thread, before the creating a transmission channel between the first type of thread receiving the target stream data and each transmission destination, the method further comprises:
if the first type of thread does not meet a first set condition, a third type of thread is created to transmit target stream data;
selecting threads meeting a first set condition from the first type of threads and at least one third type of threads, and determining the threads meeting the first set condition as the first type of threads, wherein the first set condition comprises at least one of the following conditions: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
10. The method of claim 9, wherein the method further comprises:
and if the threads meeting the first set condition are determined to be not the first type of threads, calling a third type of threads meeting the first set condition to transmit target stream data.
11. The method of claim 9, wherein the method further comprises:
if the threads meeting the first set condition comprise a first type of threads and at least one third type of threads, randomly selecting one thread from the first type of threads and the at least one third type of threads, and determining the randomly selected thread as the first type of threads.
12. The method of claim 9, wherein the method further comprises:
if the threads meeting the first set condition comprise a first type of threads and at least one third type of threads, further determining the threads meeting a second set condition as the first type of threads, wherein the second set condition comprises at least one of the following: the total number of the correspondingly created transmission channels is minimum, and the corresponding load capacity is minimum.
13. The method of claim 12, wherein the method further comprises:
and if the first type of thread does not meet the second set condition, calling a third type of thread meeting the second set condition to transmit target stream data.
14. The method of claim 7, wherein the method further comprises:
and if the existing first-class threads and the third-class threads do not meet the first set condition, creating new third-class threads.
15. The method according to claim 1 or 6, wherein after the creating of the transmission channels between the first type threads and the respective transmission destinations, the method further comprises:
and updating the total number of the transmission channels recorded aiming at the first type of threads according to the number of the established transmission channels.
16. The method of claim 1, wherein said assigning threads of a first type to receive streaming data comprises:
and randomly selecting one thread from a preset thread pool as a first type of thread to receive the streaming data to be received.
17. A concurrent transmission apparatus of streaming data, comprising:
the thread distribution module is used for distributing first-class threads to receive streaming data, and each first-class thread correspondingly receives one piece of streaming data;
the transmission task determining module is used for determining a transmission destination corresponding to each transmission request and creating a corresponding transmission task when receiving a plurality of transmission requests aiming at target stream data;
the transmission channel creating module is used for creating transmission channels between the first type threads for receiving the target stream data and each transmission destination end, and each transmission channel correspondingly bears one transmission task;
and the transmission task calling module is used for calling the first type of threads and executing a plurality of transmission tasks, and transmitting the target stream data to each transmission destination end through a corresponding transmission channel.
18. The apparatus of claim 17, wherein the apparatus further comprises:
and the transmission request receiving module is used for calling a second type thread to receive the transmission requests aiming at all the streaming data before determining the transmission destination end corresponding to each transmission request and creating the corresponding transmission task when receiving the plurality of transmission requests aiming at the target streaming data.
19. The apparatus of claim 18, wherein the apparatus further comprises:
and the transmission task sending module is used for calling the second type of thread to send a plurality of transmission tasks to the first type of thread before the transmission channel between the first type of thread for receiving the target stream data and each transmission destination is created, wherein the transmission tasks carry the identification of the corresponding transmission destination.
20. The apparatus of claim 19, wherein the apparatus further comprises:
and the stream data identification module is used for identifying the stream data of the request corresponding to each transmission request as target stream data before the second type of thread is called to send the plurality of transmission tasks to the first type of thread, and determining that the thread receiving the target stream data is the first type of thread.
21. The apparatus of claim 17, wherein the apparatus further comprises:
and the thread judging module is used for judging whether the threads used for sending the target stream data only comprise the first type threads or not before the transmission channels between the first type threads for receiving the target stream data and the transmission destination terminals are created.
22. The apparatus of claim 21, wherein the apparatus further comprises:
a first condition determining module, configured to determine, if the threads used for sending the target stream data only include a first type of thread, that the first type of thread satisfies a first set condition before creating a transmission channel between the first type of thread that receives the target stream data and each transmission destination, where the first set condition includes at least one of: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
23. The apparatus of claim 22, wherein the apparatus further comprises:
and the third thread creating module is used for creating a third thread to transmit target stream data if the first thread does not meet the first set condition.
24. The apparatus of claim 23, wherein the third thread creation module comprises:
the third thread selecting submodule is used for randomly selecting one thread from the preset thread pool as a third type thread;
and the stream data acquisition submodule is used for calling the third type thread to acquire the target stream data from the first type thread which receives the target stream data and transmitting the target stream data.
25. The apparatus of claim 21, wherein the apparatus further comprises:
the third thread creating module is used for creating a third thread to transmit target stream data if the first thread does not meet a first set condition;
a first condition satisfying module, configured to, if threads used for sending the target stream data include a first class thread and at least one third class thread, before the transmission channel between the first class thread that receives the target stream data and each transmission destination is created, select, from the first class thread and the at least one third class thread, a thread that satisfies a first set condition, and determine that the thread that satisfies the first set condition is the first class thread, where the first set condition includes at least one of: the total number of the correspondingly created transmission channels does not exceed the set number and the set load.
26. The apparatus of claim 25, wherein the apparatus further comprises:
and the third thread calling module is used for calling a third type of thread meeting the first setting condition to transmit target stream data if the thread meeting the first setting condition is determined not to be the first type of thread.
27. The apparatus of claim 25, wherein the apparatus further comprises:
and the thread random module is used for randomly selecting one thread from the first type of thread and the at least one third type of thread if the threads meeting the first set condition comprise the first type of thread and the at least one third type of thread, and determining the randomly selected thread as the first type of thread.
28. The apparatus of claim 25, wherein the apparatus further comprises:
a second condition satisfying module, configured to further determine, if the threads satisfying the first set condition include a first class of threads and at least one third class of threads, that the threads satisfying the second set condition are the first class of threads, where the second set condition includes at least one of: the total number of the correspondingly created transmission channels is minimum, and the corresponding load capacity is minimum.
29. The apparatus of claim 28, wherein the apparatus further comprises:
and the third thread calling module is used for calling a third thread meeting a second set condition to transmit target stream data if the first thread does not meet the second set condition.
30. The apparatus of claim 23, wherein the apparatus further comprises:
and the third creating module is used for creating a new third type thread if the existing first type thread and the third type thread do not meet the first set condition.
31. The apparatus of claim 17 or 22, wherein the apparatus further comprises:
and the number updating module is used for updating the total number of the transmission channels recorded aiming at the first type of threads according to the number of the established transmission channels after the transmission channels between the first type of threads and each transmission destination end are established.
32. The apparatus according to claim 17, wherein the thread allocation module is specifically configured to randomly select one thread from a preset thread pool as the first type of thread for receiving the stream data to be received.
CN201710002598.1A 2017-01-03 2017-01-03 Streaming data concurrent transmission method and device Active CN106790632B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710002598.1A CN106790632B (en) 2017-01-03 2017-01-03 Streaming data concurrent transmission method and device
PCT/CN2017/120143 WO2018127013A1 (en) 2017-01-03 2017-12-29 Method and device for concurrent transmission of stream data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710002598.1A CN106790632B (en) 2017-01-03 2017-01-03 Streaming data concurrent transmission method and device

Publications (2)

Publication Number Publication Date
CN106790632A CN106790632A (en) 2017-05-31
CN106790632B true CN106790632B (en) 2020-07-14

Family

ID=58949391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710002598.1A Active CN106790632B (en) 2017-01-03 2017-01-03 Streaming data concurrent transmission method and device

Country Status (2)

Country Link
CN (1) CN106790632B (en)
WO (1) WO2018127013A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790632B (en) * 2017-01-03 2020-07-14 北京奇虎科技有限公司 Streaming data concurrent transmission method and device
CN111026543B (en) * 2019-10-31 2023-06-16 北京浪潮数据技术有限公司 Method, device, equipment and medium for forwarding data by storage system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283694A (en) * 2013-07-02 2015-01-14 北京邮电大学 Streaming media transmission method based on IP multicast and P2P compensation
CN104572290A (en) * 2013-10-11 2015-04-29 中兴通讯股份有限公司 Method and device for controlling message processing threads
CN105045681A (en) * 2015-07-10 2015-11-11 上海爱数软件有限公司 Oracle multichannel parallel backup and recovery method
CN105162634A (en) * 2015-09-24 2015-12-16 成都广达新网科技股份有限公司 Processing method for receiving and transmitting OAM (Operation Administration and Maintenance) protocol packets in same thread
CN106095597A (en) * 2016-05-30 2016-11-09 深圳市鼎盛智能科技有限公司 Client data processing method and processing device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386621B2 (en) * 2010-03-12 2013-02-26 Netflix, Inc. Parallel streaming
CN104346135B (en) * 2013-08-08 2018-06-15 腾讯科技(深圳)有限公司 Method, equipment and the system of data streams in parallel processing
US9594801B2 (en) * 2014-03-28 2017-03-14 Akamai Technologies, Inc. Systems and methods for allocating work for various types of services among nodes in a distributed computing system
US9575825B2 (en) * 2014-12-23 2017-02-21 International Business Machines Corporation Push instruction for pushing a message payload from a sending thread to a receiving thread
CN104539727A (en) * 2015-01-15 2015-04-22 北京国创富盛通信股份有限公司 Cache method and system based on AP platform
CN106790632B (en) * 2017-01-03 2020-07-14 北京奇虎科技有限公司 Streaming data concurrent transmission method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283694A (en) * 2013-07-02 2015-01-14 北京邮电大学 Streaming media transmission method based on IP multicast and P2P compensation
CN104572290A (en) * 2013-10-11 2015-04-29 中兴通讯股份有限公司 Method and device for controlling message processing threads
CN105045681A (en) * 2015-07-10 2015-11-11 上海爱数软件有限公司 Oracle multichannel parallel backup and recovery method
CN105162634A (en) * 2015-09-24 2015-12-16 成都广达新网科技股份有限公司 Processing method for receiving and transmitting OAM (Operation Administration and Maintenance) protocol packets in same thread
CN106095597A (en) * 2016-05-30 2016-11-09 深圳市鼎盛智能科技有限公司 Client data processing method and processing device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于物联网的数据采集系统软件设计;许吉祥;《中国优秀硕士学位论文全文数据库》;20160315;全文 *

Also Published As

Publication number Publication date
WO2018127013A1 (en) 2018-07-12
CN106790632A (en) 2017-05-31

Similar Documents

Publication Publication Date Title
US6195682B1 (en) Concurrent server and method of operation having client-server affinity using exchanged client and server keys
US8239588B2 (en) System and method for improved I/O node control in computer system
US11080090B2 (en) Method and system for scalable job processing
US9264369B2 (en) Technique for managing traffic at a router
CN109802895B (en) Data processing system, method and token management method
CN108228366B (en) Data stream processing method and device
US8539089B2 (en) System and method for vertical perimeter protection
CN113259415B (en) Network message processing method and device and network server
CN113612861B (en) Remote access method, system and computer readable storage medium
CN112822300B (en) RDMA (remote direct memory Access) -based data transmission method and device and electronic equipment
CN106790632B (en) Streaming data concurrent transmission method and device
CN109002364A (en) Optimization method, electronic device and the readable storage medium storing program for executing of interprocess communication
CN107294911B (en) Data packet monitoring method and device, remote procedure call system and equipment
CN108429703B (en) DHCP client-side online method and device
CN112822299B (en) RDMA (remote direct memory Access) -based data transmission method and device and electronic equipment
CN113472893A (en) Data processing method and device, computing equipment and computer storage medium
CN111858035A (en) FPGA equipment allocation method, device, equipment and storage medium
CN111131081A (en) Method and device for supporting multi-process high-performance unidirectional transmission
WO2023045191A1 (en) Video stream obtaining method and apparatus, server, storage medium, and program product
CN113381939B (en) Data transmission method and device, electronic equipment and computer readable storage medium
CN112449012B (en) Data resource scheduling method, system, server and read storage medium
CN111309467B (en) Task distribution method and device, electronic equipment and storage medium
JP2002342193A (en) Method, device and program for selecting data transfer destination server and storage medium with data transfer destination server selection program stored therein
CN109257227B (en) Coupling management method, device and system in data transmission
CN111901689A (en) Streaming media data transmission method and device, terminal equipment and storage medium

Legal Events

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