Data transmission method and device, equipment and storage medium

By introducing a proxy server between the cloud server and the terminal device, selecting the target second proxy server, and sending a transmission multiplexed startup notification message to the cloud server, the problem of insufficient effect of reducing traffic costs in the prior art is solved, and the effect of significantly reducing traffic costs is achieved.

CN120034499APending Publication Date: 2025-05-23TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311580599.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-23
Publication Date
2025-05-23

AI Technical Summary

Technical Problem

The prior art has no significant effect in reducing traffic costs, and mainly reduces traffic overhead by reducing network retransmission caused by packet loss.

Method used

By introducing a proxy server between the cloud server and the terminal device, selecting the target second proxy server, and sending a transmission multiplexed startup notification message to the cloud server, the same data requested by multiple terminal devices can be transmitted through one data message.

Benefits of technology

It significantly reduces traffic costs because cloud servers only need to send the same data through one data packet, reducing unnecessary data transmission and traffic consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120034499A_ABST
    Figure CN120034499A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data transmission method and device, equipment and a storage medium, and can relate to a computer network technology and a cloud technology, and the method can comprise the steps that a first proxy server selects a target second proxy server from M second proxy servers for N terminal equipment; wherein N and M are integers greater than 1; the N terminal devices request the same target data; the first proxy server sends a transmission multiplexing start notification message to the cloud server; wherein the transmission multiplexing start notification message is used for instructing the cloud server to issue target data requested by the N terminal devices to a target second proxy server through a data message, so that the target second proxy server analyzes the data message to obtain the target data; and the target data is distributed to the N terminal devices, so that the traffic cost can be obviously reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer network technology, and in particular, to a data transmission method, apparatus, device and storage medium. Background Art

[0002] How to reduce traffic costs without reducing user experience has become a concern for all cloud service providers. Usually, network service providers will count the data traffic sent from cloud servers to terminal devices and charge cloud service providers based on the traffic volume counted.

[0003] In order to reduce traffic costs, the current main approach is to reduce network retransmissions caused by packet loss. For example, by researching and deploying transmission protocols or congestion control algorithms that adapt to the network environment or business characteristics, packet loss during data transmission can be reduced to reduce the additional traffic overhead caused by packet loss and retransmission, thereby achieving the purpose of reducing traffic costs. However, the effect of reducing traffic costs brought about by this method is not significant. Summary of the invention

[0004] The embodiments of the present application provide a data transmission method, apparatus, device and storage medium, which can significantly reduce traffic costs.

[0005] In a first aspect, an embodiment of the present application provides a data transmission method, the method comprising: a first proxy server selects a target second proxy server from M second proxy servers for N terminal devices; wherein N and M are both integers greater than 1; the N terminal devices request the same target data; the first proxy server sends a transmission multiplexing start notification message to a cloud server; wherein the transmission multiplexing start notification message is used to indicate to the cloud server that the target data requested by the N terminal devices is sent to the target second proxy server via a data message, so that the target second proxy server parses the data message to obtain the target data; and distributes the target data to the N terminal devices.

[0006] In a second aspect, an embodiment of the present application provides a data transmission method, the method comprising: a target second proxy server receives a data packet carrying target data sent by a cloud server; wherein the target second proxy server is a second proxy server selected by the first proxy server for N terminal devices from among M second proxy servers, and the N terminal devices request the same target data; the target second proxy server parses the data packet to obtain the target data; and the target second proxy server distributes the target data to the N terminal devices.

[0007] In a third aspect, an embodiment of the present application provides a data transmission method, the method comprising: a cloud server receives a transmission multiplexing start notification message sent by a first proxy server; wherein the transmission multiplexing start notification message is used to indicate to the cloud server that the target data requested by N terminal devices is sent to a target second proxy server via a data message; the target second proxy server is a second proxy server selected by the first proxy server for N terminal devices from among M second proxy servers, and the N terminal devices request the same target data; the cloud server responds to the transmission multiplexing start notification message, sends a data message carrying the target data to the target second proxy server, so that the target second proxy server parses the data message and obtains the target data; and distributes the target data to the N terminal devices.

[0008] In a fourth aspect, an embodiment of the present application provides a data transmission device, which includes: a processing module and a transceiver module. The processing module is used to select a target second proxy server from M second proxy servers for N terminal devices; N and M are both integers greater than 1; N terminal devices request the same target data; the transceiver module is used to send a transmission multiplexing start notification message to the cloud server; the transmission multiplexing start notification message is used to indicate to the cloud server that the target data requested by the N terminal devices is sent to the target second proxy server through a data message, so that the target second proxy server parses the data message to obtain the target data; and distributes the target data to the N terminal devices.

[0009] In the fifth aspect, an embodiment of the present application provides a data transmission device, which includes: a transceiver module and a processing module; the transceiver module is used to receive a data message carrying target data sent by a cloud server; wherein the data transmission device is a second proxy server selected by the first proxy server for N terminal devices from M second proxy servers, and the N terminal devices request the same target data; the processing module is used to parse the data message to obtain the target data; the transceiver module is also used to distribute the target data to the N terminal devices.

[0010] In a sixth aspect, an embodiment of the present application provides a data transmission device, comprising: a transceiver module, used to: receive a transmission multiplexing startup notification message sent by a first proxy server; wherein the transmission multiplexing startup notification message is used to indicate to the data transmission device that the target data requested by N terminal devices is sent to a target second proxy server through a data message; the target second proxy server is a second proxy server selected by the first proxy server for N terminal devices from M second proxy servers, and the N terminal devices request the same target data; in response to the transmission multiplexing startup notification message, a data message carrying the target data is sent to the target second proxy server, so that the target second proxy server parses the data message and obtains the target data; and the target data is distributed to the N terminal devices.

[0011] In the seventh aspect, an embodiment of the present application provides an electronic device, comprising: a processor and a memory, the memory being used to store a computer program, the processor being used to call and run the computer program stored in the memory, and executing a method as in any one of the first to third aspects or its various implementations.

[0012] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium for storing a computer program, wherein the computer program enables a computer to execute a method as in any one of the first to third aspects or any of their implementations.

[0013] In a ninth aspect, an embodiment of the present application provides a computer program product, comprising computer program instructions, which enable a computer to execute a method as in any one of the first to third aspects or any of their implementations.

[0014] In a tenth aspect, an embodiment of the present application provides a computer program, which enables a computer to execute a method as described in any one of the first to third aspects or any of their implementations.

[0015] Through the technical solution provided by the present application, since the cloud server can transmit the same data requested by multiple terminal devices through one data message, that is, merge the same data requested by multiple terminal devices, or for these terminal devices, the server only needs to send one data, thereby significantly reducing the traffic cost. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0017] Figure 1 A schematic diagram of data transmission provided in the related art;

[0018] Figure 2 A schematic diagram of data transmission provided in an embodiment of the present application;

[0019] Figure 3 A schematic diagram of an application scenario provided for an embodiment of the present application;

[0020] Figure 4 An interactive flow chart of a data transmission method provided in an embodiment of the present application;

[0021] Figure 5 A schematic diagram of request message classification provided for an embodiment of the present application;

[0022] Figure 6 Another schematic diagram of request message classification provided in an embodiment of the present application;

[0023] Figure 7 A schematic diagram of a first proxy server integrating request messages provided in an embodiment of the present application;

[0024] Figure 8 A schematic diagram of a data transmission device 800 provided in an embodiment of the present application;

[0025] Fig. 9 A schematic diagram of a data transmission device 900 provided in an embodiment of the present application;

[0026] Fig.10 A schematic diagram of a data transmission device 1000 provided in an embodiment of the present application;

[0027] Fig.11 It is a schematic block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0029] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product, or server that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.

[0030] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0031] The embodiments of the present application may involve computer network technology and cloud technology, but are not limited thereto.

[0032] A computer network is a computer system that connects multiple computers and their peripheral devices with independent functions in different geographical locations through communication lines and communication equipment, and realizes resource sharing and information transmission under the management and coordination of network operating systems, network management software and network communication protocols. It mainly consists of computers, network operating systems, transmission media (such as cables, optical cables, etc.), network terminals and communication protocols.

[0033] In an embodiment of the present application, a cloud server, a first proxy server, multiple second proxy servers and multiple terminal devices are connected through communication lines and communication devices to form a computer network, and the technical solution provided in the embodiment of the present application is implemented under the computer network.

[0034] Cloud technology refers to a hosting technology that unifies hardware, software, network and other resources within a wide area network or local area network to achieve data computing, storage, processing and sharing.

[0035] Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool, which can be used on demand and is flexible and convenient. Cloud computing technology will become an important support. The backend services of the technical network system require a large amount of computing and storage resources, such as video websites, image websites and more portal websites. With the rapid development and application of the Internet industry, in the future, each item may have its own identification mark, which needs to be transmitted to the backend system for logical processing. Data of different levels will be processed separately. All kinds of industry data need strong system backing support, which can only be achieved through cloud computing.

[0036] Cloud computing refers to the delivery and use model of IT infrastructure, which means obtaining required resources through the network in an on-demand and easily scalable manner; in a broad sense, cloud computing refers to the delivery and use model of services, which means obtaining required services through the network in an on-demand and easily scalable manner. This service can be related to IT and software, the Internet, or other services. Cloud computing is the product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing.

[0037] With the development of the Internet, real-time data streams, and the diversification of connected devices, as well as the promotion of search services, social networks, mobile commerce, and open collaboration, cloud computing has developed rapidly. Different from the previous parallel distributed computing, the emergence of cloud computing will promote the revolutionary changes in the entire Internet model and enterprise management model from the concept. In the embodiment of the present application, the cloud server can use cloud computing technology to provide services for multiple terminal devices, such as downloading audio and video data.

[0038] The following is an explanation of the technical problems, inventive concepts and application scenarios to be solved by the embodiments of the present application:

[0039] As mentioned above, in order to reduce traffic costs, the current main approach is to reduce network retransmissions caused by packet loss. For example, by researching and deploying transmission protocols or congestion control algorithms that adapt to the network environment or business characteristics, packet loss during data transmission can be reduced to reduce the additional traffic overhead caused by packet loss and retransmission, thereby achieving the purpose of reducing traffic costs. However, the effect of reducing traffic costs brought about by this method is not significant.

[0040] For example, Figure 1 A schematic diagram of data transmission provided in the related art, such as Figure 1 As shown, terminal devices 1, 2 and 3 request the same audio and video data, namely audio and video data 1, and terminal device 4 requests audio and video data 2. After receiving the request messages sent by terminal devices 1-4, the cloud server sends audio and video data 1 to terminal devices 1, 2 and 3, and sends audio and video data 2 to terminal device 4, wherein the traffic billing module includes the traffic of the cloud server in response to terminal devices 1-4 in the charging scope. Assuming that the traffic cost between the cloud server and each terminal device is unit 1, and the packet loss rate is reduced from 10% to 2%, the traffic cost of the cloud server before reducing the packet loss rate is 4*(1+10%)=4.4, and after reducing the packet loss rate, the traffic cost of the cloud server is 4*(1+2%)=4.08, and the traffic cost of the cloud server is reduced by 4.4-4.08=0.32 in total. Obviously, the effect of reducing the traffic cost by reducing the packet loss rate is not significant.

[0041] The embodiment of the present application proposes that the cloud server can transmit the same data requested by multiple terminal devices through one data message, that is, merge the same data requested by multiple terminal devices, or for these terminal devices, the server only needs to send one data, thereby significantly reducing the traffic cost.

[0042] For example, Figure 2 A schematic diagram of data transmission provided in an embodiment of the present application, such as Figure 2 As shown, terminal devices 1, 2 and 3 request the same audio and video data, namely audio and video data 1, and terminal device 4 requests audio and video data 2. The cloud server can issue an audio and video data 1 to terminal devices 1, 2 and 3, and send audio and video data 2 to terminal device 4. Then the proxy server distributes the audio and video data 1 to terminal devices 1, 2 and 3, wherein the traffic of an audio and video data 1 and an audio and video data 2 will be included in the charging category by the traffic billing module. Assuming that the traffic cost between the cloud server and each terminal device is unit 1, then even in the case of a 10% packet loss rate, the traffic cost of the cloud server is: 2*(1+10%)=2.2. It can be seen that the technical solution provided by the embodiment of the present application can significantly reduce the traffic cost.

[0043] Figure 3 A schematic diagram of an application scenario provided in an embodiment of the present application, such as Figure 3 As shown, the network elements involved in the application scenario include: a cloud server 310 , a first proxy server 320 , a second proxy server 330 and a terminal device 340 .

[0044] Among them, the cloud server 310 and the first proxy server 320 can be directly or indirectly connected through wired or wireless communication, the cloud server 310 and the second proxy server 330 can also be directly or indirectly connected through wired or wireless communication, and the cloud server 310 and the terminal device 340 can also be directly or indirectly connected through wired or wireless communication. The first proxy server 320 and the second proxy server 330 can be directly or indirectly connected through wired or wireless communication. The first proxy server 320 and the terminal device 340 can be directly or indirectly connected through wired or wireless communication. The second proxy server 330 and the terminal device 340 can be directly or indirectly connected through wired or wireless communication.

[0045] In some implementations, the cloud server 310 may be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, but is not limited thereto.

[0046] In some possible implementations, the first proxy server 320 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, as well as big data and artificial intelligence platforms, but is not limited to these.

[0047] In some implementations, the first proxy server 320 and the cloud server 310 are two independent servers, or the first proxy server 320 may be part or all of the cloud server 310. If the first proxy server 320 is all of the cloud server 310, it means that the first proxy server 320 and the cloud server 310 may be the same server. In this case, the interaction between the first proxy server 320 and the cloud server 310 in the embodiment of the present application may be deleted.

[0048] In some possible implementations, the second proxy server 330 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, as well as big data and artificial intelligence platforms, but is not limited to these.

[0049] It should be understood that Figure 3This is only an exemplary application scenario. In fact, the application scenario involved in the embodiments of the present application may involve multiple second proxy servers 330, and each second proxy server 330 may be responsible for distributing data to some terminal devices 340. For example, each second proxy server 330 may distribute data to those terminal devices 340 in the same area as it.

[0050] In some implementations, the first proxy server 320 is closer to the cloud server 310 than to each terminal device 340, so the first proxy server 320 may also be referred to as a near-end proxy server. The distance between the second proxy server 330 and the cloud server 310 is farther than the distance between the second proxy server 330 and each terminal device 340 for which it is responsible, so the second proxy server 330 may also be referred to as a far-end proxy server.

[0051] In some implementable devices, the terminal device 340 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto.

[0052] It should be noted that currently, network service providers mainly count the traffic sent from the cloud server 310 to the terminal device 340 .

[0053] It is worth mentioning that the application scenarios applicable to the embodiments of the present application are not limited to Figure 3 The application scenarios shown, for example, Figure 3 The application scenario shown includes a second proxy server 330 and four terminal devices 340 . In fact, the application scenario applicable to the embodiment of the present application may include multiple second proxy servers 330 , and each second proxy server 330 may be responsible for distributing data to a part of the terminal devices 340 .

[0054] The following is a detailed description of the embodiments of the present application:

[0055] Figure 4 An interactive flow chart of a data transmission method provided in an embodiment of the present application, the method can be executed by a first proxy server, a cloud server, a target second proxy server and N terminal devices, where N is an integer greater than 1, and they can be Figure 3 The first proxy server 320, the cloud server 310, the second proxy server 330 and the terminal device 340 in the embodiment of the present invention are shown in FIG. Figure 4 As shown, the method may include:

[0056] S410: The first proxy server selects a target second proxy server from among M second proxy servers for N terminal devices;

[0057] Wherein, M is an integer greater than 1; N terminal devices request the same target data.

[0058] In some implementations, the target data may be any of the following data, but is not limited thereto: unimodal data, multimodal data.

[0059] It should be understood that unimodal data refers to data that uses only one data form or source, such as data that uses only a single mode such as text, image, audio or video. This data form usually contains only one type of information. For example, unimodal data can be audio data, video data or text data. In contrast, multimodal data refers to data that contains multiple data forms or sources at the same time. For example, multimodal data can be audio and video data, text plus audio data, etc. Multimodal data can provide richer and more comprehensive information, and therefore has a wide range of application value in many application fields, such as natural language processing, computer vision, speech recognition, etc.

[0060] In some possible implementations, before S410, the data transmission method further includes: the first proxy server receives request messages sent by P terminal devices; wherein P is an integer greater than 1; and the first proxy server selects N terminal devices from the P terminal devices based on the request messages sent by the P terminal devices.

[0061] It should be understood that, for any one of the P terminal devices, the request message sent by the terminal device is used to request data from the cloud server, such as requesting audio and video data.

[0062] In the embodiment of the present application, the first proxy server may select N terminal devices from P terminal devices in any of the following achievable ways, but is not limited thereto:

[0063] In a first implementation mode, the first proxy server selects a terminal device that requests the same target data from among the P terminal devices, and uses the selected terminal device as the N terminal devices.

[0064] For example, assuming that terminal devices 1-3 all request audio and video data 1, the first proxy server can select these three terminal devices so that the cloud server can subsequently transmit the target data requested by these three terminal devices through the same message.

[0065] In some implementations, for any terminal device among the P terminal devices, the request message sent by the terminal device may carry a unique identifier (IDentity, ID) of the requested data, and the first proxy server may classify the request messages according to the IDs carried in the request messages, and specifically classify the request messages requesting the same data into one category, for example, Figure 5A schematic diagram of request message classification provided in an embodiment of the present application, such as Figure 5 As shown, the request set includes all request messages received by the first proxy server. According to the principle of classifying request messages requesting the same data into one category, the request set can be divided into m request subsets. Furthermore, the N terminal devices selected by the cloud server are the terminal devices corresponding to any request subset.

[0066] In some implementations, the unique ID of the data may be at least one of the following, but is not limited thereto: a Uniform Resource Identifier (URI) of a business related to the data, and a hash value of the data.

[0067] Exemplarily, assuming that the data is audio and video data, its unique ID may be the URI of the audio and video service involved in the audio and video data.

[0068] In a second implementation mode, the first proxy server selects N terminal devices from the P terminal devices based on the request messages sent by the P terminal devices and the respective location information of the P terminal devices.

[0069] In some possible implementations, for any one of the P terminal devices, the location information of the terminal device may be an area identifier of an area where the terminal device is located. Based on this, the first proxy server may select a terminal device that requests the same target data and has the same area identifier among the P terminal devices; the first proxy server will use the selected terminal device as the N terminal device.

[0070] For example, assuming that terminal devices 1-3 all request audio and video data 1, and terminal devices 1-3 are all located in District B, City A, then the first proxy server can select these three terminal devices so that the cloud server can subsequently transmit the target data requested by these three terminal devices through the same message.

[0071] In some possible implementations, for any one of the P terminal devices, the area identifier of the area where the terminal device is located can be determined by an Internet Protocol (IP) address of the terminal device.

[0072] In some possible implementations, for any terminal device among the P terminal devices, the request message sent by the terminal device may carry a unique ID of the requested data, and the first proxy server may classify the request messages according to the IDs carried in the request messages, specifically classifying the request messages requesting the same data into one category, and then for each category of request messages, further classifying the request messages based on the area identifiers of the areas where the terminal devices corresponding to the request messages of this category are located. For example, Figure 6 Another request message classification diagram provided in the embodiment of the present application is as follows: Figure 6 As shown, the request set includes all request messages received by the first proxy server. According to the principle of classifying request messages requesting the same data into one category, the request set can be divided into m request subsets. Further, for each request subset, the request messages corresponding to the terminal devices in the same area are classified into one category. For example, request subset 2 can be divided into request subsets 21, 22 and 23. Furthermore, the N terminal devices selected by the cloud server are the terminal devices corresponding to any request subset at the lowest level.

[0073] In other possible implementations, for any one of the P terminal devices, the location information of the terminal device may be the coordinate information of the terminal device. Based on this, the first proxy server may select a terminal device that requests the same target data from the P terminal devices, and use a clustering algorithm on the selected terminal devices according to their respective coordinate information to further classify the terminal devices. If the data of the terminal devices included in any category obtained is greater than 1, the terminal devices of this category are regarded as the above-mentioned N terminal devices.

[0074] For example, assuming that terminal devices 1-4 all request audio and video data 1, the first proxy server can first select terminal devices 1-4, and then cluster them based on their respective coordinate information using a clustering algorithm. Terminal devices with similar distances can be classified into one category, such as terminal devices 1-3 can be classified into one category, and terminal device 4 can be classified into a separate category. The cloud server subsequently transmits the target data requested by terminal devices 1-3 through the same data message.

[0075] In some possible implementations, the clustering algorithm used in the embodiments of the present application may be any of the following, but is not limited to: k-means clustering algorithm (k-means), density-based spatial clustering of applications with noise (Density-Based Spatial Clustering of Applications with Noise, DBSCAN) algorithm.

[0076] The k-means algorithm is a commonly used clustering algorithm that divides data points into k clusters. The basic idea of ​​the algorithm is to first randomly select k center points as the initial cluster centers, then assign each data point to the nearest cluster center, and then update the cluster center to the average value of all data points in the cluster, and repeat this process until the cluster center no longer changes or the predetermined number of iterations is reached.

[0077] The DBSCAN algorithm is a density-based clustering algorithm that can find clusters of any shape. The basic idea of ​​the algorithm is to calculate the number of data points in its neighborhood for each data point. If the number is greater than a certain threshold, it is taken as a core point and the data points in its neighborhood are added to the same cluster. Then continue to perform the same operation on the newly added data points until no new core points are found.

[0078] It should be understood that if the first proxy server selects N terminal devices from the P terminal devices based on the request messages sent by the P terminal devices and the respective location information of the P terminal devices, then it can be ensured that the locations of the selected N terminal devices are the same or similar, so that when the subsequent target second proxy server sends target data to the N terminal devices, these target data can almost reach the N terminal devices at the same time, without any terminal device having to wait for other terminal devices to receive the target data before the target data is considered to be successfully received, thereby ensuring the efficiency of sending the target data.

[0079] In the embodiment of the present application, the first proxy server may select a target second proxy server from among M second proxy servers for N terminal devices in any of the following implementable manners, but is not limited thereto:

[0080] In a first implementation mode, the first proxy server selects a target second proxy server from among the M second proxy servers for the N terminal devices based on the respective location information of the N terminal devices and the respective location information of the M second proxy servers.

[0081] In some implementations, for any one of the N terminal devices, the location information of the terminal device is the regional identifier of the region where the terminal device is located, and for any one of the M second proxy servers, the location information of the second proxy server is the regional identifier of the region where the second proxy server is located. Based on this, the first proxy server can select a second proxy server with the same regional identifier as the region where the N terminal devices are located from the M second proxy servers; the first proxy server uses the selected second proxy server as the target second proxy server.

[0082] For example, assuming that the N terminal devices are terminal devices 1-3, they are all located in District B of City A, and the second proxy server 01 is also located in District B of City A, then the second proxy server 01 can be used as the target second proxy server, and it can subsequently distribute target data to terminal devices 1-3.

[0083] In some implementations, for any second proxy server among the M second proxy servers, the area identifier of the area where the second proxy server is located can be determined by the IP address of the second proxy server.

[0084] In some implementations, if there is no second proxy server with the same area identifier as the area where the N terminal devices are located among the M second proxy servers, the first proxy server can randomly select a second proxy server from the M second proxy servers and use the selected second proxy server as the target second proxy server.

[0085] For example, suppose that the N terminal devices are terminal devices 1-3, which are all located in District B of City A, and suppose that there are two second proxy servers, which are respectively located in District C of City A and District E of City D. Since there is no second proxy server with the same area identifier as the area where the terminal devices 1-3 are located among the two second proxy servers, based on this, the first proxy server can randomly select a second proxy server from the two second proxy servers and use it as the target second proxy server.

[0086] In some implementations, for any one of the N terminal devices, the location information of the terminal device is the coordinate information of the terminal device, and for any one of the M second proxy servers, the location information of the second proxy server is the coordinate information of the area where the second proxy server is located. Based on this, the first proxy server can select the second proxy server with the smallest sum of distances to the N terminal devices from among the M second proxy servers based on the respective coordinate information of the N terminal devices and the respective coordinate information of the M second proxy servers; the first proxy server uses the selected second proxy server as the target second proxy server.

[0087] For example, assume that the N terminal devices are terminal devices 1-3, and assume that there are two second proxy servers, namely, second proxy server 01 and second proxy server 02. Assume that the distances between the second proxy server 01 and the terminal devices 1-3 are 1km, 2km, and 3km, respectively. Assume that the distances between the second proxy server 02 and the terminal devices 1-3 are 2km, 2km, and 3km, respectively. It can be obtained that the sum of the distances between the second proxy server 01 and the terminal devices 1-3 is 1km+2km+3km=6km, and the sum of the distances between the second proxy server 02 and the terminal devices 1-3 is 2km+2km+3km=7km. Since 6km<7km, based on this, the first proxy server can use the second proxy server 01 as the target second proxy server.

[0088] In a second implementation manner, the first proxy server may randomly select a second proxy server from the M second proxy servers and use the second proxy server as the target second proxy server.

[0089] For example, assuming that the N terminal devices are terminal devices 1-3, and assuming that there are two second proxy servers, namely second proxy server 01 and second proxy server 02, the first proxy server can randomly select a second proxy server from the two second proxy servers, such as second proxy server 01, and use it as the target second proxy server.

[0090] It should be understood that if the first proxy server selects a target second proxy server from among the M second proxy servers for the N terminal devices based on the respective location information of the N terminal devices and the respective location information of the M second proxy servers, then it can be ensured that the target second proxy server is closer to the N terminal devices than other second proxy servers, thereby improving the efficiency of sending target data.

[0091] S420: The first proxy server sends a transmission multiplexing start notification message to the cloud server;

[0092] Among them, the transmission multiplexing start notification message is used to instruct the cloud server to send the target data requested by N terminal devices to the target second proxy server through one data message.

[0093] In some implementations, after the first proxy server selects N terminal devices from the P terminal devices based on request messages sent by the P terminal devices, the data processing method further includes: the first proxy server packages and integrates the request messages of the N terminal devices to obtain an integrated message.

[0094] In some implementations, the integrated message includes: request messages of N terminal devices respectively.

[0095] In some implementations, the integrated message also includes at least one of the following items, but is not limited thereto: the number of request messages of each of the N terminal devices, i.e., N, a length field used to indicate the length of each request message, and the total length of the integrated message.

[0096] For example, the integrated message Pkt_intg can be as follows:

[0097] {Req_amount,Req_len,Req_len_1,Req_1……Req_len_N,Req_N}

[0098] Among them, the previous field of each request message indicates the length of the request message, Req_amount indicates the number of request messages of N terminal devices, that is, N, Req_i indicates request message i, Req_len_1 indicates the length of request message i, Req_len indicates the total length of the integrated message, that is, Req_len is equal to the sum of the lengths of Req_amount, Req_len, Req_len_1, Req_1...Req_len_N, Req_N.

[0099] For example, Figure 7 A schematic diagram of a first proxy server integrating request messages provided in an embodiment of the present application, such as Figure 7 As shown, since the request message Req_1 of terminal device 1 and the request message Req_2 of terminal device 2 are used to request the same data, and terminal device 1 and terminal device 2 are in the same area, the first proxy server can integrate the request messages Req_1 and Req_2. Specifically, the first proxy server can add a length field Req_len_1 for indicating the length of Req_1 before Req_1, and add a length field Req_len_2 for indicating the length of Req_2 before Req_2. Finally, the field Req_amount is added to the signature of all fields to indicate the number of request messages. Here, Req_amount=2 is formed to form a request integration queue. Finally, the first proxy server outputs as shown in FIG. Figure 7 The integrated message shown.

[0100] It is worth mentioning that since the request messages of terminal device n and any other terminal devices cannot be integrated, for example, the data requested by terminal device n is different from that of other terminal devices, or even if the data requested by other terminal devices is the same, but the areas are different, in this case, the first proxy server constructs a request non-integration queue, which contains only the request message of terminal device n, and finally the first proxy server outputs the following Figure 7 Non-integrated message shown.

[0101] It should be understood that if the first proxy server transmits the integrated message to the cloud server by transmitting the multiplexing startup notification message, since the request messages of N terminal devices only need to be transmitted through one message, namely the transmission multiplexing startup notification message, the traffic cost of the cloud server can also be reduced.

[0102] In some implementable embodiments, before the first proxy server sends a transmission multiplexing start notification message to the cloud server, the data processing method also includes: the first proxy server sends a negotiation message to the target second proxy server; wherein the negotiation message is used to instruct the target second proxy server to detect whether it currently supports the distribution of target data; the target second proxy server responds to the negotiation message to detect whether it currently supports the distribution of target data; if the target second proxy server currently supports the distribution of target data, the target second proxy server sends a first message confirmation message to the first proxy server; wherein the first message confirmation message is used to indicate to the first proxy server that the target second proxy server currently supports the distribution of target data; based on this, if the first proxy server determines that the target second proxy server currently supports the distribution of target data based on the first message confirmation message, the first proxy server sends a transmission multiplexing start notification message to the cloud server.

[0103] In some implementations, the negotiation message includes at least one of the following, but is not limited thereto: the above-mentioned integrated message, the IP address and port number of the cloud server.

[0104] For example, the negotiation message Pkt_neg can be as follows:

[0105] {cloud_server_ip,cloud_server_port,Pkt_intg}

[0106] Among them, cloud_server_ip is the IP address of the cloud server, cloud_server_port is the port number of the cloud server, and Pkt_intg is the integrated message.

[0107] It should be understood that the reason why the negotiation message carries the integration message is to enable the target second proxy server to know the IP addresses and port numbers of the N terminal devices. After receiving the target data sent by the cloud server, the target second proxy server can distribute the target data to the N terminal devices according to the IP addresses and port numbers of the N terminal devices. Of course, the negotiation message does not need to carry the integration message, because when the cloud server sends a data message to the target second proxy server, it can carry the integration message so that the target second proxy server can know the IP addresses and port numbers of the N terminal devices. After receiving the target data sent by the cloud server, the target second proxy server can distribute the target data to the N terminal devices according to the IP addresses and port numbers of the N terminal devices.

[0108] In some implementable embodiments, the negotiation message may not carry the integration message, but may carry the request messages of the N terminal devices, as long as the target second proxy server can learn the IP addresses and port numbers of the N terminal devices.

[0109] In some possible implementations, the purpose of the negotiation message carrying the IP address and port number of the cloud server is to inform the destination second proxy server to subsequently detect the message sent by the IP address and port number. When the cloud server and the destination second proxy server use the IP address and port number of the cloud server for data transmission by default, and the destination second proxy server knows the IP address and port number, the negotiation message may not need to carry the IP address and port number of the cloud server.

[0110] In the embodiment of the present application, the target second proxy server uses any of the following implementable methods to detect whether it currently supports the distribution of target data, but is not limited thereto:

[0111] A first implementation method is that the target second proxy server detects whether its current load is less than a preset load. If the current load of the target second proxy server is less than the preset load, it is determined that it currently supports the distribution of target data. If the current load of the target second proxy server is greater than or equal to the preset load, it is determined that it currently does not support the distribution of target data.

[0112] A second implementation method is that the target second proxy server detects whether it is currently in a weak network environment. If the target second proxy server is currently in a weak network environment, it is determined that it currently does not support the distribution of target data. If the target second proxy server is not currently in a weak network environment, it is determined that it currently supports the distribution of target data.

[0113] A third implementation method is that the target second proxy server detects whether its current load is less than a preset load and whether it is currently in a weak network environment. If the current load of the target second proxy server is less than the preset load and the target second proxy server is not currently in a weak network environment, it is determined that it currently supports the distribution of target data. If the current load of the target second proxy server is greater than or equal to the preset load, or it is currently in a weak network environment, it is determined that it currently does not support the distribution of target data.

[0114] In some implementations, the first message confirmation message includes at least one of the following, but is not limited thereto: an indication identifier for indicating to the first proxy server that the target second proxy server currently supports distribution of target data, an IP address and a port number of the target second proxy server.

[0115] For example, the first message confirmation message Pkt_neg_ack may be as follows:

[0116] {Support_bool,Proxy_ip,Proxy_port}

[0117] Among them, Support_bool takes a value of 1, which is an indication mark used to indicate to the first proxy server that the target second proxy server currently supports the distribution of target data, Proxy_ip is the IP address of the target second proxy server; Proxy_port is the port number of the target second proxy server.

[0118] It should be understood that the first message confirmation message may not need to carry an indication identifier for indicating to the first proxy server that the target second proxy server currently supports the distribution of target data. For example, the first message confirmation message may implicitly indicate to the first proxy server that the target second proxy server currently supports the distribution of target data.

[0119] In some implementations, after the target second proxy server sends the first message confirmation message to the first proxy server, the target second proxy server may detect a data message from the cloud server. When the negotiation message carries the IP address and port number of the cloud server, the IP address and port number detected by the target second proxy server may be the IP address and port number of the cloud server carried in the negotiation message. When the cloud server and the target second proxy server use the IP address and port number of the cloud server for data transmission by default, and the IP address and port number are known to the target second proxy server, the IP address and port number detected by the target second proxy server may be the IP address and port number of the default cloud server.

[0120] It should be understood that before the first proxy server sends a transmission multiplexing start notification message to the cloud server, the first proxy server can negotiate with the target second proxy server to perform subsequent target data transmission only when the target second proxy server supports the distribution of target data, thereby improving the effectiveness of target data transmission.

[0121] In some implementations, the transmission multiplexing start notification message may include at least one of the following, but is not limited thereto: an integration message, an indication identifier for indicating that a transmission multiplexing operation is to be performed, an IP address and a port number of a target second proxy server.

[0122] For example, the transmission multiplexing start notification message Pkt_notf can be as follows:

[0123] {INTG_TYPE,Proxy_ip,Proxy_port,Pkt_intg}

[0124] Among them, INTG_TYPE represents an indication mark used to indicate that a transmission multiplexing operation is to be performed, Proxy_ip and Proxy_port are the IP address and port number of the target second proxy server respectively, and Pkt_intg is an integrated message.

[0125] It should be understood that the transmission multiplexing start notification message may not carry the integration message, and it may carry the request messages of N terminal devices respectively.

[0126] It should be understood that the transmission multiplexing start notification message may not carry an indication identifier for indicating that a transmission multiplexing operation is to be performed, but instead implicitly indicates that a transmission multiplexing operation is to be performed, wherein the transmission multiplexing operation refers to the following operation: the cloud server can send target data to the target second proxy server through a message, and the target second proxy server can distribute the target data to N terminal devices.

[0127] In some implementable embodiments, after receiving the transmission multiplexing start notification message, the cloud server can obtain the IP addresses and port numbers of the N terminal devices respectively by parsing the integrated message or the request message of the N terminal devices, and construct a redirection mapping table, as shown in Table 1. The mapping table represents the mapping relationship between the IP address and port number of the target second proxy server and the IP addresses and port numbers of the N terminal devices, which can be used for the subsequent cloud server to forward the second message confirmation message to the target second proxy server after receiving the second message confirmation message from the N terminal devices.

[0128] Table 1

[0129]

[0130] S430: The cloud server sends a data message carrying target data to the target second proxy server in response to the transmission multiplexing start notification message;

[0131] In some implementations, the data message may include, in addition to the target data, an integration message or a unique identifier of the target data.

[0132] For example, the data packet Pkt_traffic may be as follows:

[0133] {Pkt_intg(DataID),Data_payload}

[0134] Among them, Pkt_intg represents the integrated message, DataID represents the unique identifier of the target data, and Data_payload represents the target data.

[0135] It should be understood that the source IP address and source port number of the data message are the IP address and port number of the cloud server, and the destination IP address and destination port number are the IP address and port number of the target second proxy server.

[0136] It should be understood that the reason why the data message carries the unique identifier of the integrated message or the target data is to enable the target second proxy server to obtain the IP address and port number of the target second proxy server, and the mapping relationship between the IP addresses and port numbers of the N terminal devices. Based on the mapping relationship and the IP address and port number of the target second proxy server, the IP addresses and port numbers of the N terminal devices can be obtained. Further, the target second proxy server can distribute the target data to the N terminal devices according to the IP addresses and port numbers of the N terminal devices.

[0137] It should be understood that, since the integrated message carries the request messages of N terminal devices, after receiving the integrated message, the target second proxy server can parse the integrated message to obtain the IP addresses and port numbers of the N terminal devices.

[0138] It should be understood that if the data message carries a unique identifier of the target data, the target data can be determined based on the unique identifier. Then, since the target second proxy server obtains the integrated message or the request message of N terminal devices through the negotiation message, and the integrated message or the request message of N terminal devices are all used to request the target data, based on this, the target second proxy server can parse the integrated message or the request message of N terminal devices to obtain the IP addresses and port numbers of the N terminal devices.

[0139] Based on this, if the negotiation message carries an integration message or a request message from N terminal devices, the data message can carry the unique identifier of the target data, and of course, can also carry an integration message. If the negotiation message does not carry an integration message and a request message from N terminal devices, the data message can carry an integration message.

[0140] In some implementable embodiments, if the target second proxy server needs to transmit the target data in an encrypted manner when distributing the target data to N terminal devices subsequently, the target second proxy server may receive encryption keys corresponding to the N terminal devices sent by the cloud server.

[0141] In some possible implementations, N terminal devices correspond to one encryption key, or the number of encryption keys is N, and the N terminal devices have a one-to-one correspondence with the N encryption keys. In short, the embodiments of the present application do not limit the correspondence between terminal devices and encryption keys.

[0142] In some possible implementations, the cloud server may send the data message and the encryption key together to the target second proxy server, and in order to ensure transmission security, the cloud server may transmit the data message and the encryption key in an encrypted manner.

[0143] For example, assuming that the data message and the encryption key are encrypted, the message is called encrypted ciphertext, then the encrypted ciphertext Pkt_traffic_enc can be as follows:

[0144] Enc{Pkt_traffic,Key}

[0145] Among them, Pkt_traffic represents a data message, Key represents the encryption key corresponding to N terminal devices, and Enc represents an encryption operation.

[0146] In some implementations, the cloud server may use a shared key between the cloud server and the target second proxy server to encrypt the data message and the encryption key corresponding to the N terminal devices. Based on this, for any terminal device among the N terminal devices, Enc{Pkt_traffic,Key} may indicate: the data message and the encryption key corresponding to the terminal device are encrypted by the shared key between the cloud server and the target second proxy server.

[0147] S440: The target second proxy server parses the data message to obtain target data;

[0148] S450: The target second proxy server distributes the target data to N terminal devices.

[0149] The following is an explanation based on S440 and S450:

[0150] It should be understood that the target second proxy server can always detect the data message from the cloud server, and after receiving the data message, identify the unique identifier of the integrated message or target data in the data message, and determine the IP address and port number of each of the N terminal devices based on the unique identifier of the integrated message or target data. Further, the target second proxy server constructs a traffic distribution message for each of the N terminal devices, wherein the traffic distribution message includes: target data, the source IP address and source port number of the traffic distribution message are the IP address and port number of the cloud server, and the destination IP address and destination port number are the IP address and port number of the terminal device. Furthermore, the target second proxy server can distribute the traffic distribution message to the corresponding terminal device.

[0151] For example, for any terminal device among the N terminal devices, the corresponding traffic distribution message Pkt_end is as follows:

[0152] {cloud_server_i,cloud_server_port,P_end,Port_end,Data_payload}

[0153] Among them, cloud_server_i and cloud_server_port represent the IP address and port number of the cloud server, P_end and Port_end represent the IP address and port number of the terminal device, and Data_payload represents the target data.

[0154] In some implementable embodiments, if the target second proxy server obtains the encryption keys corresponding to N terminal devices from the server, then the target second proxy server can encrypt the traffic distribution messages of each of the N terminal devices based on the encryption keys corresponding to the N terminal devices; and distribute the encrypted traffic distribution messages to the corresponding terminal devices according to the IP addresses and port numbers of the N terminal devices.

[0155] For example, for any terminal device among the N terminal devices, the encrypted traffic distribution message Pkt_end_enc corresponding to the terminal device may be as follows:

[0156] Enc(Pkt_end,Key)

[0157] Among them, Pkt_end represents the traffic distribution message of the terminal device, Key represents the encryption key of the terminal device, Enc represents the encryption operation, and Enc(Pkt_end,Key) represents encrypting the traffic distribution message of the terminal device by Key.

[0158] In some implementations, the encryption key of the terminal device may be a shared key between the terminal device and the cloud server.

[0159] It should be understood that if the target second proxy server encrypts the traffic distribution messages of each of the N terminal devices based on the encryption keys corresponding to the N terminal devices; and distributes the encrypted traffic distribution messages to the corresponding terminal devices according to the IP addresses and port numbers of the N terminal devices, then the transmission security of the traffic distribution messages can be improved.

[0160] In some implementations, for any terminal device among the N terminal devices, after receiving the target data, the terminal device may send a second message confirmation message to the cloud server; wherein the second message confirmation message is used to indicate that the terminal device has received the target data. The cloud server may obtain the mapping relationship between the IP address and port number of the target second proxy server and the IP addresses and port numbers of the N terminal devices based on the transmission multiplexing startup notification message; based on this, the cloud server sends the second message confirmation messages sent by each of the N terminal devices to the target second proxy server based on the mapping relationship. In other words, the cloud server may redirect the second message confirmation message to a redirection message based on the mapping relationship, the source IP address and source port number of the redirection message are the IP address and port number of the cloud server, the destination IP address and destination port number are the IP address and port number of the target second proxy server, and the redirection message carries: the second message confirmation message sent by the terminal device.

[0161] For example, assuming that the second message confirmation message sent by a terminal device is Pkt_end_ack, the cloud server generates a redirection message Pkt_redirect for the second message confirmation message, and the source address and source port of the redirection message Pkt_redirect are the IP address and port number of the cloud service: cloud_server_ip and cloud_server_port; the data payload of the redirection message Pkt_redirect is the second message confirmation message Pkt_end_ack.

[0162] It should be understood that, by redirecting the second message confirmation message, the cloud server can enable the target second proxy server to know that the terminal device has received the target data, thereby realizing a closed loop of data transmission.

[0163] In some implementable methods, after the target second proxy server receives the redirection messages corresponding to N terminal devices, if the subsequent cloud server still has data to send to N terminal devices, then the target second proxy server continues to receive the data sent by the cloud server, and continues to distribute data to the N terminal devices, and detects whether packet loss occurs. If packet loss occurs, the packet loss retransmission operation is performed according to the existing technology.

[0164] The embodiment of the present application provides a data transmission method, including: a first proxy server selects a target second proxy server from M second proxy servers for N terminal devices; the first proxy server sends a transmission multiplexing start notification message to a cloud server; the cloud server responds to the transmission multiplexing start notification message and sends a data message carrying target data to the target second proxy server; the target second proxy server parses the data message to obtain the target data; the target second proxy server distributes the target data to N terminal devices. Since the cloud server can send data to N terminal devices through one message without sending N messages, the data processing method provided by the embodiment of the present application can significantly reduce the traffic cost compared to the method of reducing the traffic cost by reducing the packet loss rate.

[0165] The preferred embodiments of the present application are described in detail above in conjunction with the accompanying drawings. However, the present application is not limited to the specific details in the above embodiments. Within the technical concept of the present application, the technical solution of the present application can be subjected to a variety of simple modifications, and these simple modifications all belong to the protection scope of the present application. For example, the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, the present application will not further explain various possible combinations. For another example, the various different embodiments of the present application can also be arbitrarily combined, as long as they do not violate the ideas of the present application, they should also be regarded as the contents disclosed in the present application.

[0166] It should also be understood that in the various method embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0167] The method provided in the embodiment of the present application is described above, and the data processing device provided in the embodiment of the present application is described below.

[0168] Figure 8 A schematic diagram of a data transmission device 800 provided in an embodiment of the present application is shown as follows: Figure 8As shown, the device 800 includes: a processing module 810 and a transceiver module 820. The processing module 810 is used to select a target second proxy server from M second proxy servers for N terminal devices; N and M are both integers greater than 1; N terminal devices request the same target data; the transceiver module 820 is used to send a transmission multiplexing start notification message to the cloud server; the transmission multiplexing start notification message is used to indicate to the cloud server that the target data requested by the N terminal devices is sent to the target second proxy server through a data message, so that the target second proxy server parses the data message to obtain the target data; and distributes the target data to the N terminal devices.

[0169] In some implementations, the processing module 810 is specifically configured to: select a target second proxy server from among the M second proxy servers for the N terminal devices based on respective location information of the N terminal devices and respective location information of the M second proxy servers.

[0170] In some implementable embodiments, the location information of each of the N terminal devices is the regional identifier of the area where the N terminal devices are located, and the location information of each of the M second proxy servers is the regional identifier of the area where the M second proxy servers are located; accordingly, the processing module 810 is specifically used to: select a second proxy server with the same regional identifier as the area where the N terminal devices are located from the M second proxy servers; and use the selected second proxy server as the target second proxy server.

[0171] In some possible implementations, the transceiver module 820 is further used to: receive request messages sent by P terminal devices before the processing module 810 selects a target second proxy server among M second proxy servers for the N terminal devices; wherein P is an integer greater than 1; accordingly, the processing module 810 is further used to: select N terminal devices among the P terminal devices based on the request messages sent by the P terminal devices.

[0172] In some implementations, the processing module 810 is specifically used to: select N terminal devices from the P terminal devices based on request messages sent by the P terminal devices and respective location information of the P terminal devices.

[0173] In some possible implementations, the location information of each of the P terminal devices is the area identifier of the area where the P terminal devices are located; the processing module 810 is specifically used to: select terminal devices that request the same target data and have the same area identifier of the area among the P terminal devices; and use the selected terminal devices as N terminal devices.

[0174] In some possible implementations, the processing module 810 is also used for: after selecting N terminal devices from the P terminal devices based on the request messages sent by P terminal devices, the processing module 810 packages and integrates the request messages of the N terminal devices to obtain an integrated message; wherein the transmission multiplexing start notification message includes: an integrated message.

[0175] In some possible implementations, the transceiver module 820 is also used to: send a negotiation message to the target second proxy server before the transceiver module 820 sends a transmission multiplexing start notification message to the cloud server; wherein the negotiation message is used to instruct the target second proxy server to detect whether it currently supports the distribution of target data; accordingly, the transceiver module 820 is specifically used to: if the transceiver module 820 receives a first message confirmation message sent by the target second proxy server, then send a transmission multiplexing start notification message to the cloud server; wherein the first message confirmation message is used to indicate to the data transmission device 800 that the target second proxy server currently supports the distribution of target data.

[0176] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here. Specifically, Figure 8 The device shown can execute the method embodiment corresponding to the above-mentioned first proxy server, and the above-mentioned and other operations and / or functions of each module in the device are respectively for implementing the corresponding processes in each method corresponding to the above-mentioned first proxy server, which will not be repeated here for the sake of brevity.

[0177] The above describes the device of the embodiment of the present application from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.

[0178] Fig. 9 A schematic diagram of a data transmission device 900 provided in an embodiment of the present application is shown as follows: Fig. 9As shown, the device 900 includes: a transceiver module 910 and a processing module 920. The transceiver module 910 is used to receive a data message carrying target data sent by a cloud server; the data transmission device is a second proxy server selected by the first proxy server for N terminal devices from M second proxy servers, and the N terminal devices request the same target data; the processing module 920 is used to parse the data message to obtain the target data; the transceiver module 910 is also used to distribute the target data to the N terminal devices.

[0179] In some implementable embodiments, request messages from N terminal devices are packaged and integrated to obtain an integrated message; the data message includes: an identifier of the integrated message or the target data; accordingly, the transceiver module 910 is specifically used to: determine the IP addresses and port numbers of each of the N terminal devices based on the identifier of the integrated message or the target data; and distribute the target data to the N terminal devices according to the IP addresses and port numbers of each of the N terminal devices.

[0180] In some possible implementations, the transceiver module 910 is specifically used to: parse the integrated message to obtain the IP address and port number of each of the N terminal devices; or, obtain the integrated message corresponding to the identifier of the target data; and parse the integrated message to obtain the IP address and port number of each of the N terminal devices.

[0181] In some implementable embodiments, the transceiver module 910 is also used to: receive encryption keys corresponding to N terminal devices sent by the cloud server; accordingly, the transceiver module 910 is specifically used to: construct traffic distribution messages for each of the N terminal devices according to the respective IP addresses and port numbers of the N terminal devices; wherein the traffic distribution messages include: target data; encrypting the traffic distribution messages for each of the N terminal devices based on the encryption keys corresponding to the N terminal devices; and distributing the encrypted traffic distribution messages to the corresponding terminal devices according to the respective IP addresses and port numbers of the N terminal devices.

[0182] In some possible implementations, the transceiver module 910 is further used to: receive a negotiation message sent by the first proxy server; wherein the negotiation message is used to instruct the data transmission device 900 to detect whether it currently supports the distribution of target data; the processing module 920 is further used to: respond to the negotiation message, detect whether it currently supports the distribution of target data; the transceiver module 910 is further used to: if the data transmission device 900 currently supports the distribution of target data, send a first message confirmation message to the first proxy server; wherein the first message confirmation message is used to indicate to the first proxy server that the data transmission device 900 currently supports the distribution of target data.

[0183] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here. Specifically, Fig. 9 The device shown can execute the method embodiment corresponding to the above-mentioned target second proxy server, and the above-mentioned and other operations and / or functions of each module in the device are respectively for implementing the corresponding processes in each method corresponding to the above-mentioned target second proxy server, which will not be repeated here for the sake of brevity.

[0184] The above describes the device of the embodiment of the present application from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.

[0185] Fig.10 A schematic diagram of a data transmission device 1000 provided in an embodiment of the present application is shown as follows: Fig.10 As shown, the device 1000 includes: a transceiver module 1010, used to: receive a transmission multiplexing startup notification message sent by a first proxy server; wherein the transmission multiplexing startup notification message is used to indicate to the data transmission device that the target data requested by N terminal devices is sent to a target second proxy server through a data message; the target second proxy server is a second proxy server selected by the first proxy server for N terminal devices from M second proxy servers, and the N terminal devices request the same target data; in response to the transmission multiplexing startup notification message, send a data message carrying the target data to the target second proxy server, so that the target second proxy server parses the data message to obtain the target data; and distribute the target data to the N terminal devices.

[0186] In some possible implementations, the apparatus 1000 further includes: a processing module 1020, which is used to: after the transceiver module 1010 receives the transmission multiplexing start notification message sent by the first proxy server, obtain, based on the transmission multiplexing start notification message, the IP address and port number of the target second proxy server, and the mapping relationship between the IP addresses and port numbers of N terminal devices; the transceiver module 1010 is also used to: receive a second message confirmation message sent by each of the N terminal devices; wherein, for any one of the N terminal devices, the second message confirmation message sent by the terminal device is used to indicate that the terminal device has received the target data; based on the mapping relationship, send the second message confirmation message sent by each of the N terminal devices to the target second proxy server.

[0187] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here. Specifically, Fig. 9 The device shown can execute the method embodiment corresponding to the above-mentioned cloud server, and the aforementioned and other operations and / or functions of each module in the device are respectively for implementing the corresponding processes in each method corresponding to the above-mentioned cloud server. For the sake of brevity, they will not be repeated here.

[0188] The above describes the device of the embodiment of the present application from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.

[0189] Fig.11 It is a schematic block diagram of an electronic device provided in an embodiment of the present application.

[0190] like Fig.11 As shown, the electronic device may include:

[0191] The memory 1110 and the processor 1120, the memory 1110 is used to store the computer program and transmit the program code to the processor 1120. In other words, the processor 1120 can call and run the computer program from the memory 1110 to implement the method in the embodiment of the present application.

[0192] For example, the processor 1120 may be configured to execute the above method embodiments according to instructions in the computer program.

[0193] In some embodiments of the present application, the processor 1120 may include but is not limited to:

[0194] General-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc.

[0195] In some embodiments of the present application, the memory 1110 includes but is not limited to:

[0196] Volatile memory and / or non-volatile memory. Among them, the non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus random access memory (DR RAM).

[0197] In some embodiments of the present application, the computer program may be divided into one or more modules, which are stored in the memory 1110 and executed by the processor 1120 to complete the method provided by the present application. The one or more modules may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program in the electronic device.

[0198] like Fig.11 As shown, the electronic device may also include:

[0199] The transceiver 1130 may be connected to the processor 1120 or the memory 1110 .

[0200] The processor 1120 may control the transceiver 1130 to communicate with other devices, specifically, to send information or data to other devices, or to receive information or data sent by other devices. The transceiver 1130 may include a transmitter and a receiver. The transceiver 1130 may further include an antenna, and the number of antennas may be one or more.

[0201] It should be understood that the various components in the electronic device are connected via a bus system, wherein the bus system includes not only a data bus but also a power bus, a control bus and a status signal bus.

[0202] The present application also provides a computer storage medium on which a computer program is stored, and when the computer program is executed by a computer, the computer can perform the method of the above method embodiment. In other words, the present application embodiment also provides a computer program product containing instructions, and when the instructions are executed by a computer, the computer can perform the method of the above method embodiment.

[0203] When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integration. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., a solid state drive (solid state disk, SSD)), etc.

[0204] Those of ordinary skill in the art will appreciate that the modules and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0205] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the module is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0206] The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. For example, each functional module in each embodiment of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.

[0207] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A data transmission method, It is characterized in that include: The first proxy server selects a target second proxy server from M second proxy servers for N terminal devices; wherein N and M are both integers greater than 1; and the N terminal devices request the same target data; The first proxy server sends a transmission multiplexing startup notification message to the cloud server; wherein the transmission multiplexing startup notification message is used to instruct the cloud server to send the target data requested by the N terminal devices to the target second proxy server via a data message, so that the target second proxy server parses the data message to obtain the target data; and distributes the target data to the N terminal devices.

2. The method according to claim 1, It is characterized in that The first proxy server selects a target second proxy server from among M second proxy servers for N terminal devices, including: The first proxy server selects the target second proxy server from the M second proxy servers for the N terminal devices based on the respective location information of the N terminal devices and the respective location information of the M second proxy servers.

3. The method according to claim 2, It is characterized in that The respective location information of the N terminal devices is the area identifier of the area where the N terminal devices are respectively located, and the respective location information of the M second proxy servers is the area identifier of the area where the M second proxy servers are respectively located; The first proxy server selects the target second proxy server from the M second proxy servers for the N terminal devices based on the respective location information of the N terminal devices and the respective location information of the M second proxy servers, including: The first proxy server selects, from the M second proxy servers, a second proxy server having the same area identifier as the area where the N terminal devices are located; The first proxy server uses the selected second proxy server as the target second proxy server.

4. The method according to any one of claims 1 to 3, It is characterized in that Before the first proxy server selects a target second proxy server from among M second proxy servers for the N terminal devices, the method further includes: The first proxy server receives request messages sent by P terminal devices; where P is an integer greater than 1; The first proxy server selects the N terminal devices from the P terminal devices based on the request messages sent by the P terminal devices.

5. The method according to claim 4, It is characterized in that The first proxy server selects the N terminal devices from the P terminal devices based on the request messages sent by the P terminal devices, including: The first proxy server selects the N terminal devices from the P terminal devices based on the request messages sent by the P terminal devices and the respective location information of the P terminal devices.

6. The method according to claim 5, It is characterized in that The location information of each of the P terminal devices is an area identifier of an area where each of the P terminal devices is located; the first proxy server selects the N terminal devices from the P terminal devices based on the request messages sent by the P terminal devices and the location information of each of the P terminal devices, including: The first proxy server selects, from among the P terminal devices, a terminal device that requests the same target data and is located in the same area identifier; The first proxy server uses the selected terminal devices as the N terminal devices.

7. The method according to claim 4, It is characterized in that The first proxy server further includes, after selecting the N terminal devices from among the P terminal devices based on the request messages sent by the P terminal devices: The first proxy server packages and integrates the request messages of the N terminal devices to obtain an integrated message; Wherein, the transmission multiplexing start notification message includes: the integration message.

8. The method according to any one of claims 1 to 3, It is characterized in that Before the first proxy server sends the transmission multiplexing start notification message to the cloud server, the method further includes: The first proxy server sends a negotiation message to the target second proxy server; wherein the negotiation message is used to instruct the target second proxy server to detect whether it currently supports the distribution of the target data; The first proxy server sends a transmission multiplexing start notification message to the cloud server, including: If the first proxy server receives the first message confirmation message sent by the target second proxy server, the first proxy server sends the transmission multiplexing start notification message to the cloud server; The first message confirmation message is used to indicate to the first proxy server that the target second proxy server currently supports the distribution of the target data.

9. A data transmission method, It is characterized in that include: The target second proxy server receives a data message carrying target data sent by the cloud server; wherein the target second proxy server is a second proxy server selected by the first proxy server for N terminal devices from among M second proxy servers, and the N terminal devices request the same target data; The target second proxy server parses the data message to obtain the target data; The target second proxy server distributes the target data to the N terminal devices.

10. The method according to claim 9, It is characterized in that The request messages of the N terminal devices are packaged and integrated to obtain an integrated message; the data message includes: an identifier of the integrated message or the target data; The target second proxy server distributes the target data to the N terminal devices, including: The target second proxy server determines the Internet Protocol IP address and port number of each of the N terminal devices based on the identification of the integrated message or the target data; The target second proxy server distributes the target data to the N terminal devices according to the respective IP addresses and port numbers of the N terminal devices.

11. The method according to claim 10, It is characterized in that The target second proxy server determines the Internet Protocol IP addresses and port numbers of the N terminal devices based on the identification of the integrated message or the target data, including: The target second proxy server parses the integrated message to obtain the IP addresses and port numbers of the N terminal devices; or The target second proxy server obtains the integrated message corresponding to the identifier of the target data; and parses the integrated message to obtain the IP addresses and port numbers of the N terminal devices respectively.

12. The method according to claim 10 or 11, further comprising: include: The target second proxy server receives the encryption keys corresponding to the N terminal devices sent by the cloud server; The target second proxy server distributes the target data to the N terminal devices according to the respective IP addresses and port numbers of the N terminal devices, including: The target second proxy server constructs a flow distribution message for each of the N terminal devices according to the IP addresses and port numbers of the N terminal devices; wherein the flow distribution message includes: the target data; The target second proxy server encrypts the flow distribution messages of the N terminal devices respectively based on the encryption keys corresponding to the N terminal devices; The target second proxy server distributes the encrypted traffic distribution message to the corresponding terminal devices according to the respective IP addresses and port numbers of the N terminal devices.

13. The method according to claim 9 or 10, It is characterized in that Also includes: The target second proxy server receives the negotiation message sent by the first proxy server; wherein the negotiation message is used to instruct the target second proxy server to detect whether it currently supports the distribution of the target data; The target second proxy server responds to the negotiation message to detect whether it currently supports the distribution of the target data; If the target second proxy server currently supports the distribution of the target data, the target second proxy server sends a first message confirmation message to the first proxy server; wherein the first message confirmation message is used to indicate to the first proxy server that the target second proxy server currently supports the distribution of the target data.

14. A data transmission method, It is characterized in that include: The cloud server receives a transmission multiplexing start notification message sent by the first proxy server; wherein the transmission multiplexing start notification message is used to instruct the cloud server to send the target data requested by N terminal devices to a target second proxy server through a data message; the target second proxy server is a second proxy server selected by the first proxy server for the N terminal devices from among the M second proxy servers, and the N terminal devices request the same target data; In response to the transmission multiplexing start notification message, the cloud server sends a data message carrying the target data to the target second proxy server, so that the target second proxy server parses the data message to obtain the target data; and distributes the target data to the N terminal devices.

15. The method according to claim 14, It is characterized in that After the cloud server receives the transmission multiplexing start notification message sent by the first proxy server, the method further includes: The cloud server obtains the mapping relationship between the IP address and port number of the target second proxy server and the IP addresses and port numbers of the N terminal devices based on the transmission multiplexing startup notification message; The cloud server receives the second message confirmation message sent by each of the N terminal devices; wherein, for any one of the N terminal devices, the second message confirmation message sent by the terminal device is used to indicate that the terminal device has received the target data; Based on the mapping relationship, the cloud server sends the second message confirmation messages sent by each of the N terminal devices to the target second proxy server.

16. A data transmission device, It is characterized in that include: A processing module, configured to select a target second proxy server from among M second proxy servers for N terminal devices; wherein N and M are both integers greater than 1; and the N terminal devices request the same target data; A transceiver module is used to send a transmission multiplexing startup notification message to a cloud server; wherein, the transmission multiplexing startup notification message is used to instruct the cloud server to send the target data requested by the N terminal devices to the target second proxy server via a data message, so that the target second proxy server parses the data message to obtain the target data; and distributes the target data to the N terminal devices.

17. A data transmission device, It is characterized in that include: Transceiver module and processing module; The transceiver module is used to receive a data message carrying target data sent by a cloud server; wherein the data transmission device is a second proxy server selected by the first proxy server for N terminal devices from among M second proxy servers, and the N terminal devices request the same target data; The processing module is used to parse the data message to obtain the target data; The transceiver module is also used to distribute the target data to the N terminal devices.

18. A data transmission device, It is characterized in that include: Transceiver module for: Receive a transmission multiplexing start notification message sent by the first proxy server; wherein the transmission multiplexing start notification message is used to instruct the data transmission device to send the target data requested by N terminal devices to the target second proxy server through a data message; the target second proxy server is a second proxy server selected by the first proxy server for the N terminal devices from among M second proxy servers, and the N terminal devices request the same target data; In response to the transmission multiplexing start notification message, a data message carrying the target data is sent to the target second proxy server, so that the target second proxy server parses the data message to obtain the target data; and the target data is distributed to the N terminal devices.

19. An electronic device, It is characterized in that include: A processor and a memory, the memory being used to store a computer program, and the processor being used to call and run the computer program stored in the memory to execute the method according to any one of claims 1 to 15.

20. A computer-readable storage medium, It is characterized in that Used to store a computer program, wherein the computer program causes a computer to execute the method according to any one of claims 1 to 15.