CN117768467B - Data transmission method, device, computer equipment and computer readable storage medium - Google Patents

Data transmission method, device, computer equipment and computer readable storage medium Download PDF

Info

Publication number
CN117768467B
CN117768467B CN202410047205.9A CN202410047205A CN117768467B CN 117768467 B CN117768467 B CN 117768467B CN 202410047205 A CN202410047205 A CN 202410047205A CN 117768467 B CN117768467 B CN 117768467B
Authority
CN
China
Prior art keywords
data
server
information
terminal
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410047205.9A
Other languages
Chinese (zh)
Other versions
CN117768467A (en
Inventor
罗明明
吴波
汪福裕
罗成
方统浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202410047205.9A priority Critical patent/CN117768467B/en
Publication of CN117768467A publication Critical patent/CN117768467A/en
Application granted granted Critical
Publication of CN117768467B publication Critical patent/CN117768467B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The application discloses a data transmission method, a data transmission device, computer equipment and a computer readable storage medium; the method and the device can receive a data acquisition request from a terminal, wherein the data acquisition request comprises terminal address information and data identification information of data to be acquired, at least one data migration index aiming at a first server is determined, if the data migration index is matched with a preset threshold value, a second server storing the data to be acquired is determined from a plurality of servers based on the data identification information, and then a data transmission request is sent to the second server so as to trigger the second server to send the data to be acquired to the terminal based on the data transmission request, and the data transmission request comprises the terminal address information and the data identification information. According to the method and the device for transmitting the data to be acquired, under the condition that the terminal is not felt, the second server can transmit the data to be acquired to the terminal through interaction between the second server and the first server, and stability of transmitting the data to the terminal is improved.

Description

Data transmission method, device, computer equipment and computer readable storage medium
Technical Field
The present application relates to the field of big data, and in particular, to a data transmission method, apparatus, computer device, and computer readable storage medium.
Background
As technology advances, data providers in the internet tend to provide data to data requesters more stably and rapidly, however, when it is difficult for one server of the data provider to provide data to the data requesters with high quality based on the existing related art, the data requesters are required to request data from another server again based on information returned from the server, thereby resulting in inefficiency and high latency in the data acquisition process of the data requesters.
Disclosure of Invention
The embodiment of the application provides a data transmission method, a data transmission device, computer equipment and a computer readable storage medium, which can enable a second server to send data to be acquired to a terminal through interaction between the second server and a first server under the condition that the terminal is not sensitive, and improve the stability of data transmission to the terminal.
The embodiment of the application provides a data transmission method, which is applied to a first server and comprises the following steps:
Receiving a data acquisition request from a terminal, wherein the data acquisition request comprises terminal address information and data identification information of data to be acquired;
determining at least one data migration indicator for the first server;
if the data migration index is matched with a preset threshold value, determining a second server which stores data to be acquired from a plurality of servers based on the data identification information;
And sending a data sending request to the second server to trigger the second server to send the data to be acquired to the terminal based on the data sending request, wherein the data sending request comprises terminal address information and data identification information.
Correspondingly, the embodiment of the application also provides a data transmission device, which is applied to the first server and comprises:
The receiving module is used for receiving a data acquisition request from the terminal, wherein the data acquisition request comprises terminal address information and data identification information of data to be acquired;
an index module for determining at least one data migration index for the first server;
The server module is used for determining a second server which stores data to be acquired from the plurality of servers based on the data identification information if the data migration index is matched with a preset threshold value;
And the sending module is used for sending a data sending request to the second server so as to trigger the second server to send the data to be acquired to the terminal based on the data sending request, wherein the data sending request comprises terminal address information and data identification information.
In some embodiments of the present application, the index module may be specifically configured to:
determining equipment load data corresponding to a first server, and acquiring migration cost data corresponding to the first server;
Determining transmission performance data between a first server and a target terminal;
at least one data migration indicator for the first server is determined based on at least one data including device load data, transmission performance data, and migration cost data.
In some embodiments of the present application, the index module may be specifically configured to:
Determining a first migration fusion parameter for device load data, a second migration fusion parameter for transmission performance data and a third migration fusion parameter for migration cost data;
And fusing the equipment load data, the transmission performance data and the migration cost data based on the first migration fusion parameter, the second migration fusion parameter and the third migration fusion parameter to obtain a data migration index.
In some embodiments of the present application, the index module may be specifically configured to:
fusing the equipment load data, the transmission performance data and the migration cost data based on the first migration fusion parameter, the second migration fusion parameter and the third migration fusion parameter to obtain an initial migration index;
and acquiring a historical migration index corresponding to the initial migration index, and fusing the initial migration index and the historical migration index to obtain a data migration index.
In some embodiments of the application, the server module is specifically configured to:
If the data migration index is matched with a preset threshold value, server request information comprising data identification information is sent to a scheduling server, so that the scheduling server is triggered to determine a second server which stores data to be acquired from a plurality of servers based on the data identification information in the server request information;
and receiving request response information returned by the scheduling server, wherein the request response information comprises second server identification information of the second server.
In some embodiments of the application, the data transmission device may also be used to:
Triggering a scheduling server to receive server information which is periodically reported by a plurality of servers, wherein the server information comprises data identification information of at least one piece of data stored by the server, at least one data migration index of the server and transmission quality information between the server and at least one computer device in a network;
triggering a scheduling server to periodically update a preset data resource set based on data identification information periodically reported by each server, wherein the preset data resource set comprises a plurality of data identification information and at least one server identification information corresponding to each data identification information;
The method comprises the steps that a scheduling server is triggered to update a preset device information set periodically based on data migration indexes and transmission quality information which are regularly reported by each server, wherein the preset device information set comprises a plurality of server identification information, at least one data migration index corresponding to each server identification information and transmission quality information between each server identification information and at least one other computer device in a network.
In some embodiments of the present application, the server request information further includes terminal address information, and the data transmission device may be further configured to:
triggering a scheduling server to inquire at least one candidate server identification information corresponding to the data identification information from a preset data resource set;
Triggering a scheduling server to inquire data migration indexes corresponding to each candidate server identification information, terminal transmission quality information between computer equipment corresponding to terminal address information and first transmission quality information between a first server from a preset equipment information set;
the triggering scheduling server determines second server identification information from at least one candidate server identification information based on at least one information including a data migration index, terminal transmission quality information, and first transmission quality information.
In some embodiments of the application, the data transmission device may also be used to:
triggering a scheduling server to determine equipment evaluation indexes corresponding to each candidate server identification information based on the data migration indexes, the terminal transmission quality information and the first transmission quality information;
The triggering dispatch server determines second server identification information from the at least one candidate server identification information based on the device evaluation index.
In some embodiments of the present application, the sending module may be specifically configured to:
Sending a data sending request to a second server to trigger the second server to analyze the data sending request to obtain terminal address information and data identification information, and returning a request confirmation message to the first server;
Responding to a request confirmation message returned by the second server, and sending a data sending instruction to the second server so as to trigger the second server to send data to be acquired to the terminal based on the terminal address information and the data identification information.
In some embodiments of the present application, the data transmission device may be further specifically configured to:
storing the terminal address information and the first server address information in a preset data set, and modifying operation identification information which corresponds to the terminal address information and the first server address information together into a discarding identification in the preset data set;
If the source address information in the received first message is matched with the terminal address information and the destination address information is matched with the first server address information, discarding the first message according to the discarding identification.
In some embodiments of the present application, the data transmission device may be further specifically configured to:
after receiving the request confirmation message, modifying operation identification information which corresponds to the terminal address information and the first server address information together in a preset data set into a redirection identification;
If the source address information in the received second message is matched with the terminal address information and the destination address information is matched with the first server address information, forwarding the second message to the second server according to the redirection identification.
In some embodiments of the present application, the data transmission device may be further specifically configured to:
Receiving a migration cancellation request from a second server, wherein the migration cancellation request comprises terminal address information and first server address information;
And deleting the terminal address information, the first server address information and the operation identification information in the preset data set in response to the migration cancellation request.
The embodiment of the application provides a data transmission method, which is applied to a second server and comprises the following steps:
Receiving a data transmission request from a first server, wherein the data transmission request comprises terminal address information and data identification information, the first server is used for receiving a data acquisition request from a terminal, the data acquisition request comprises the terminal address information and the data identification information of data to be acquired, and determining a second server which stores the data to be acquired from a plurality of servers based on the data identification information;
And inquiring the data to be acquired corresponding to the data identification information from the local area, and sending the data to be acquired to the terminal corresponding to the terminal address information.
Correspondingly, the embodiment of the application also provides a data transmission device which is applied to the second server and comprises:
the system comprises a request receiving module, a first server and a second server, wherein the request receiving module is used for receiving a data sending request from a first server, the data sending request comprises terminal address information and data identification information, the first server is used for receiving a data acquisition request from a terminal, the data acquisition request comprises the terminal address information and the data identification information of data to be acquired, and the second server which stores the data to be acquired is determined from a plurality of servers based on the data identification information;
And the data sending module is used for locally inquiring the data to be acquired corresponding to the data identification information and sending the data to be acquired to the terminal corresponding to the terminal address information.
In some embodiments of the present application, the data transmission module may be specifically configured to:
Analyzing the data transmission request to obtain terminal address information and data identification information, and returning a request confirmation message to the first server to trigger the first server to respond to the request confirmation message and return a data transmission instruction;
Responding to the received data sending instruction, locally inquiring data to be obtained corresponding to the data identification information, and sending the data to be obtained to the terminal corresponding to the terminal address information.
In some embodiments of the present application, the data transmission request further includes key information and data transmission information, and the data transmission module may be specifically configured to:
responding to a received data sending instruction, and locally inquiring data to be acquired corresponding to the data identification information;
encrypting the data to be acquired identified by the data identification information based on the key information to obtain the encrypted data to be acquired,
And based on the data sending information, packaging the encrypted data to be obtained to obtain at least one data packet, and sending the at least one data packet to a terminal corresponding to the terminal address information.
In some embodiments of the present application, the data transmission information includes a start message number, terminal remaining window information, transmission window information of the first server for the terminal, and in-transit data amount information, and the data transmission module may be specifically configured to:
determining candidate window information for data to be acquired based on the sending window information and the in-transit data volume information;
Selecting target window information aiming at data to be acquired from candidate window information and terminal residual window information;
and based on the target window information and the initial message number, packaging the encrypted data to be acquired to obtain at least one data packet, and sending the at least one data packet to a terminal corresponding to the terminal address information.
Correspondingly, the embodiment of the application also provides computer equipment, which comprises a processor and a memory, wherein the memory stores computer programs, and the processor is used for running the computer programs in the memory so as to realize the steps in the data transmission method provided by the embodiment of the application.
Accordingly, the embodiment of the present application also provides a computer readable storage medium having a computer program stored thereon, where the computer program is executed by a processor to implement the steps in the data transmission method provided by the embodiment of the present application.
Accordingly, embodiments of the present application also provide a computer program product comprising a computer program or instructions for execution by a processor to perform the steps of the data transmission method provided by the embodiments of the present application.
In the embodiment of the application, the first server can transmit the information of the data to be acquired, which is transmitted by the terminal through the data acquisition request, to the second server which stores the data to be acquired through the data transmission request under the condition that the terminal is not sensitive, and the second server transmits the data to be acquired to the terminal, so that the first server can efficiently and quickly transmit the required data to be acquired to the terminal through the second server under the condition that the first server cannot better transmit the data to be acquired and the terminal is not sensitive.
In the embodiment of the application, the first server can transmit the information of the data to be acquired, which is transmitted by the terminal through the data acquisition request, to the second server which stores the data to be acquired through the data transmission request under the condition that the terminal is not sensitive, and the second server transmits the data to be acquired to the terminal, so that the first server can efficiently and quickly transmit the required data to be acquired to the terminal through the second server under the condition that the first server cannot better transmit the data to be acquired and the terminal is not sensitive.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic view of a scenario of a data transmission method according to an embodiment of the present application;
fig. 2 is a schematic diagram of another scenario of a data transmission method according to an embodiment of the present application;
Fig. 3 is a schematic flow chart of a data transmission method according to an embodiment of the present application;
Fig. 4 is another flow chart of a data transmission method according to an embodiment of the present application;
Fig. 5 is another flow chart of a data transmission method according to an embodiment of the present application;
Fig. 6 is another schematic diagram of a data transmission method according to an embodiment of the present application;
Fig. 7 is another flow chart of a data transmission method according to an embodiment of the present application;
fig. 8 is another flow chart of a data transmission method according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
Fig. 10 is another schematic structural diagram of a data transmission device according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a computer device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to fall within the scope of the application.
The terms "first," "second," "third," "fourth" and the like in the description and in the claims and in the above drawings, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the application described herein may be implemented, for example, in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "includes" and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed or inherent to such process, method, article, or apparatus.
It will be appreciated that in several embodiments of the present application, related data such as user information is involved, and that when embodiments of the present application are applied to a particular product or technology, user approval or consent is required, and that the collection, use and processing of related data is required to comply with relevant laws and regulations and standards of the relevant country and region.
In the present embodiment, the term "module" or "unit" refers to a computer program or a part of a computer program having a predetermined function and working together with other relevant parts to achieve a predetermined object, and may be implemented in whole or in part by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Also, a processor (or multiple processors or memories) may be used to implement one or more modules or units. Furthermore, each module or unit may be part of an overall module or unit that incorporates the functionality of the module or unit.
The embodiment of the application provides a data transmission method, a data transmission device, computer equipment and a computer readable storage medium, wherein the data transmission method can be integrated in a data transmission system, the data transmission system can comprise at least two computer equipment, and the computer equipment can comprise at least one of a terminal, a server and the like.
The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, basic cloud computing services such as big data and artificial intelligent platforms. The terminal may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc. The terminal and the server may be directly or indirectly connected through wired or wireless communication, and the present application is not limited herein.
The terminal may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, a smart conference device, a smart screen, and the like. The terminal and the server may be directly or indirectly connected through wired or wireless communication, and the present application is not limited herein.
The application relates to the field of big data in Cloud technology, wherein Cloud technology (Cloud technology) refers to a hosting technology for integrating hardware, software, network and other series resources in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. Cloud technology (Cloud technology) is based on the general terms of network technology, information technology, integration technology, management platform technology, application technology and the like applied by Cloud computing business models, and can form a resource pool, so that the Cloud computing business model is flexible and convenient as required. Cloud computing technology will become an important support. Background services of technical networking systems require a large amount of computing, storage resources, such as video websites, picture-like websites, and more portals. Along with the high development and application of the internet industry, each article possibly has an own identification mark in the future, the identification mark needs to be transmitted to a background system for logic processing, data with different levels can be processed separately, and various industry data needs strong system rear shield support and can be realized only through cloud computing.
Big data (Big data) refers to a data set which cannot be captured, managed and processed by a conventional software tool within a certain time range, and is a massive, high-growth-rate and diversified information asset which needs a new processing mode to have stronger decision-making ability, insight discovery ability and flow optimization ability. With the advent of the cloud age, big data has attracted more and more attention, and special techniques are required for big data to effectively process a large amount of data within a tolerant elapsed time. Technologies applicable to big data include massively parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the internet, and scalable storage systems.
The data transmission system in the embodiment of the present application may include a first server and a second server, the terminal may send a data acquisition request to the first server, the data acquisition request may include terminal address information and data identification information of data to be acquired,
The first server may receive and parse the data acquisition request to obtain terminal address information and data identification information, determine a second server storing data to be acquired from the plurality of servers according to the data identification information, and generate a data transmission request based on the terminal address information and the data identification information, and transmit the data transmission request to the second server.
The second server can receive and analyze the data sending request to obtain terminal address information and data identification information, and the second server locally inquires data to be obtained corresponding to the data identification information and sends the required data to be obtained to the terminal according to the terminal address information.
For example, referring to fig. 1, the data transmission system may include a server 1 and a server 2, the server 1 may receive a data acquisition request from the terminal 1, the data acquisition request including terminal address information and data identification information, determine the server 2 storing data to be acquired from a plurality of servers according to the data identification information, and transmit a data transmission request including the terminal address information and the data identification information to the server 2. The server 2 may receive the data transmission request, query the data to be obtained corresponding to the data identification information from the local, and then transmit the data to be obtained to the terminal 1 according to the terminal address.
In some embodiments of the present application, the data transmission system may also include a first server, a second server, a scheduling server, and the like. The terminal may send a data acquisition request to the first server, and the data acquisition request may include terminal address information and data identification information of data to be acquired.
The first server may receive and parse the data acquisition request to obtain the terminal address information and the data identification information, and may generate and send server request information including the data identification information to the scheduling server.
The scheduling server comprises a preset data resource set and a preset device information set, the scheduling server can receive server request information, at least one candidate server identification information corresponding to the data identification information is determined from the data resource set, second server identification information is determined from the at least one candidate server identification information according to relevant data corresponding to each candidate server identification information in the preset device information set, and request response information comprising the second server identification information can be generated and sent to the first server by the scheduling server.
The first server may receive and parse the request response information to obtain second server identification information of the second server storing the data to be acquired, generate a data transmission request based on the second server identification information, the terminal address information, and the data identification information, and transmit the data transmission request to the second server.
The second server can receive the data sending request, inquire the data to be obtained corresponding to the data identification information from the local place, and send the required data to be obtained to the terminal according to the terminal address information.
For example, referring to fig. 2, the data transmission system may include a server 3, a server 4, and a server 5, the server 3 may receive a data acquisition request from the terminal 2, the data acquisition request including terminal address information and data identification information, server request information including the data identification information may be generated and transmitted to the server 4, the server 4 may determine server identification information of the server 5 in which data to be acquired is stored from among a plurality of servers according to the data identification information, and return request response information including the server identification information to the server 3. The server 3 may receive this request response information and generate a data transmission request based on the server identification information, the terminal address information, and the data identification information that it includes, and transmit the data transmission request to the server 5. The server 5 may receive the data transmission request, query the data to be obtained corresponding to the data identification information from the local, and then transmit the data to be obtained to the terminal 2 according to the terminal address.
Fig. 1 and fig. 2 are both examples of application scenarios of the data transmission system of the present application, and are mainly used for describing, but not limiting, the data transmission method of the present application, and in a process of actually applying the technical solution described in the embodiment of the present application, the steps executed by the computer device and the computer devices included in the data transmission system may be flexibly adjusted, and are not limited to what is described in fig. 1 or fig. 2.
The data transmission method of the present application will be further described with reference to the embodiments. The following description of the embodiments is not intended to limit the preferred embodiments.
Fig. 3 shows a schematic flow chart of a data transmission method according to the present application, which may be integrated in a computer device, and the computer device may include a first server, as in fig. 3, and the data transmission method may include:
110. And receiving a data acquisition request from the terminal, wherein the data acquisition request comprises terminal address information and data identification information of data to be acquired.
The data acquisition request may include information sent by the terminal for requesting data from the first server, and the terminal may send the data acquisition request, which may be transmitted to the first server through the data transmission network. The data acquisition request may include address information of the terminal (terminal address information), address information of the first server (first server address information), and data identification information of the data to be acquired.
In the embodiment of the present application, the address information of the computer device including the address information of the terminal and the address information of the first server may represent the address of the computer device executing the data transmission method of the present application in the network, and the address information may specifically include the IP address, the port number, and the like of the computer device.
The data identification information may include information for identifying the data to be acquired, and the data identification information may refer to the data to be acquired, so that the computer device may more simply and rapidly store or transmit relevant information of the data to be acquired. The data identification information may be, for example, a uniform resource locator, etc.
For example, the smartphone 1 sends a data acquisition request a, where the data acquisition request a includes address information of the smartphone 1: IP address 1 and port number 1, and a data identification p22 of the text data to be acquired.
The computer device may then determine a second server from the plurality of servers that stores data to be acquired based on the data identification information. Specifically, the first server may determine the second server directly based on the data identification information after receiving the data acquisition request, and specifically, the first server may set and periodically update a preset device resource set, where the preset device resource set may include a plurality of preset device identification information and at least one preset data identification information corresponding to each preset device identification information, the plurality of servers may periodically send the data identification information of the data stored in the first server to the first server, and the first server may periodically update the preset device resource set based on the data identification information. At this time, the first server may search server identification information corresponding to the data identification information from the preset device resource set, where the server identification information corresponds to the second server.
In some embodiments of the present application, after receiving the data acquisition request, the first server may first determine that the data to be acquired is sent to the terminal by itself, and the manner of determining may be various, for example, whether the data to be acquired is stored locally may be searched through the data identification information, and if the video to be acquired is not stored locally, the second server storing the data to be acquired may be determined based on the data identification information.
For another example, the transmission capability of the first server may be evaluated to determine whether the first server has the capability of efficiently and stably transmitting the data to be acquired to the terminal, and if the evaluation result indicates that the transmission capability of the first server is poor, the second server storing the data to be acquired may be determined based on the data identification information.
120. At least one data migration indicator for the first server is determined.
The data migration index may include an index that characterizes a transmission capability of the first server, where the worse the transmission capability of the first server, the higher the likelihood that the data to be acquired needs to be sent to the terminal through other computer devices (such as the second server).
Specifically, the determining manner of the data migration index may include various manners, for example, the data migration index may include device load data of the first server, the device load data may represent resource usage conditions of the first server, the device load data may be, for example, CPU usage, memory usage, disk IO number, traffic, etc., and the device load data may be data obtained by fusion calculation of at least two data including CPU usage, memory usage, disk IO number, traffic, for example, weight 1 for CPU usage, weight 2 for memory usage, weight 3 for disk IO number, and weight 4 for traffic may be preset, and then the device load data may be obtained by weighting and summing the CPU usage, memory usage, disk IO number, traffic based on the weights 1-4.
For another example, the data migration index may also include migration cost data corresponding to the first server, where the migration cost data may represent an economic cost of transmitting the data to be obtained through the first server, and the migration cost data may be, for example, an economic cost of a unit flow of the first server, a flow economic cost of data retransmission, and the like. The migration cost data may be data obtained by fusing and calculating at least two data including economic cost of unit flow and economic cost of flow of data retransmission, for example, a weight 1 for the economic cost of unit flow and a weight 2 for the economic cost of flow of data retransmission may be preset, and the economic cost of flow of data retransmission is weighted and summed based on the weights 1-2 to obtain migration cost data.
For another example, the data migration index may also include transmission performance data between the first server and the terminal, where the transmission performance data may represent transmission performance of a data transmission process between the first server and the terminal, where the transmission performance data may be, for example, throughput, packet loss rate, transmission delay, connection number, etc., and the transmission performance data may be data obtained by fusion calculation of at least two data including throughput, packet loss rate, transmission delay, and connection number, for example, weight 1 for throughput, weight 2 for packet loss rate, weight 3 for transmission delay, and weight 4 for connection number may be preset, and then the throughput, packet loss rate, transmission delay, and connection number are weighted and summed based on the weights 1-4 to obtain the transmission performance data.
For example, the data migration index may also include data obtained by performing fusion calculation on at least two data including the device load data, the transmission performance data, and the migration cost data, specifically, a first migration fusion parameter for the device load data, a second migration fusion parameter for the transmission performance data, and a third migration fusion parameter for the migration cost data may be determined, and then the device load data, the transmission performance data, and the migration cost data are fused based on the first migration fusion parameter, the second migration fusion parameter, and the third migration fusion parameter to obtain the data migration index. The first migration fusion parameter, the second migration fusion parameter and the third migration fusion parameter can be preset, can be calculated based on a preset function and can be flexibly processed according to the actual requirements of an application scene, and the method is not limited. For example, the device load data, the transmission performance data and the migration cost data may be weighted and summed based on the first migration fusion parameter, the second migration fusion parameter and the third migration fusion parameter to obtain the data migration index.
For example, in the process of calculating the data migration index, the data has a statistical period, for example, the CPU usage rate, the memory usage rate, the number of disk IOs, the flow, the economic cost of the unit flow of the first server, the economic cost of the flow of the data retransmission, the throughput, the packet loss rate, the transmission delay, the connection number and the like can be all the data in the period i, the data migration index obtained based on the data is also the index of the period i, the historical migration index of the previous period can be obtained, for example, the data migration index i-1 of the period i-1, the data migration index i and the data migration index i-1 of the period i are subjected to fusion calculation to obtain the final data migration index, and the fusion calculation mode can be such as weighting summation, product finding and the like. If the weight 1 of the data migration index i and the weight 2 of the data migration index i-1 can be preset, the data migration index i and the data migration index i-1 are weighted and summed based on the weight 1 and the weight 2, and a final data migration index is obtained.
130. And if the data migration index is matched with a preset threshold value, determining a second server which stores data to be acquired from the plurality of servers based on the data identification information.
After obtaining the data migration indexes, whether the data migration indexes are matched with the corresponding preset thresholds or not can be judged, if so, the matching can be flexibly determined in the practical application process, if so, the matching can be more than, less than, equal to, more than or equal to, the difference is less than the preset thresholds, and the like, based on the fact that the data migration indexes can comprise a plurality of types, the corresponding preset thresholds of each type of data migration indexes can be the same or different, and particularly, the data migration indexes can be flexibly configured in advance, if a plurality of data migration indexes exist, whether each type of data migration indexes are matched with the corresponding preset thresholds or not can be judged, and if so, the second server storing the data to be acquired can be determined based on the data identification information.
In some embodiments of the present application, the second server may be determined by the scheduling server based on the data identification information, specifically, after the first server receives the data acquisition request, or receives the data acquisition request and determines that the data migration index matches the preset threshold, server request information may be generated, the server request information may include the data identification information, terminal address information, and the like, the scheduling server may receive and parse the server request information, further determine, from the plurality of servers, second server identification information of the second server storing data corresponding to the data to be acquired, the scheduling server may generate request response information including the second server identification information, the first server receives the request response information, and may determine that the second server corresponding to the second server identification information is the server storing the data to be acquired.
For example, the server a receives and parses the data acquisition request a from the smartphone 1, obtains address information of the smartphone 1 included therein, and the data identifier p22, and may then generate and send a server request message B including the address information of the smartphone 1 and the data identifier p22 to the server B, the server B may receive and parse the server request message B, determine a second server identifier of a second server storing text data to be acquired according to the data identifier p22, and then return request response information including the second server identifier to the server a, and the server a may determine that the second server is a server storing the data to be acquired based on the second server identifier.
Specifically, the scheduling server may receive server information periodically reported by each of the plurality of servers, the server information may include data identification information of at least one piece of data stored by the server, at least one data migration index of the server, and transmission quality information between the server and at least one computer device in the network, the scheduling server may periodically update a preset data resource set based on the data identification information periodically reported by each server, the preset data resource set includes the plurality of data identification information, and at least one server identification information corresponding to each data identification information, and the scheduling server may periodically update a preset device information set based on the data migration index and the transmission quality information periodically reported by each server, the preset device information set includes the plurality of server identification information, and at least one data migration index corresponding to each server identification information, and transmission quality information between at least one computer device in the network.
After receiving the server request message, the scheduling server can analyze the server request message to obtain data identification information, inquire at least one candidate server identification information corresponding to the data identification information from a preset data resource set, inquire data migration indexes corresponding to each candidate server identification information, terminal transmission quality information between computer devices corresponding to terminal address information and first transmission quality information between first servers from a preset device information set, and determine second server identification information from the at least one candidate server identification information based on at least one information including the terminal transmission quality information, the data migration indexes and the first transmission quality information.
In the embodiment of the application, the transmission quality information can represent the transmission quality between two computer devices, the preset device information set comprises a plurality of server identification information and at least one piece of transmission quality information corresponding to the server identification information, the transmission quality information corresponds to the computer device identification information, the transmission quality information represents the transmission quality between the server corresponding to the server identification information and the computer device corresponding to the computer device identification information, and the computer device can comprise a server, a terminal and the like. In some embodiments of the present application, a plurality of terminals may be classified into one terminal group based on a region (e.g., region a, region B), an operator (e.g., operator 1, operator 2), an access manner (e.g., 4G, 5G, WIFI), etc., and transmission quality information of all terminals in the terminal group is the same, where the preset device information set may also include transmission quality information between the server and the terminal group corresponding to the server identification information, and the preset device information set may also store a manner of determining the terminal included in the terminal group, such as identification information of all terminals in the terminal group in storage.
Specifically, based on at least one piece of information including the data migration index, the terminal transmission quality information and the first transmission quality information, determining an equipment evaluation index corresponding to each piece of candidate server identification information, and determining second server identification information from at least one piece of candidate server identification information based on the equipment evaluation index, where the implementation manner of the process may be various, for example, the data migration indexes of all pieces of candidate server identification information may be sorted to obtain a migration sorting result, where the migration sorting result of each piece of candidate server identification information is the equipment evaluation index, and determining the second server identification information from the pieces of candidate server identification information according to the migration sorting result, for example, determining the candidate server identification information corresponding to the data migration index with the smallest value as the second server identification information.
For another example, the terminal transmission quality information of all the candidate server identification information may be ranked, so as to obtain a terminal transmission ranking result, where the terminal transmission ranking result of each candidate server identification information is an equipment evaluation index, and the second server identification information is determined from the candidate server identification information according to the terminal transmission ranking result, for example, the candidate server identification information corresponding to the terminal transmission quality information with the largest value is determined as the second server identification information.
For another example, the first transmission quality information of all the candidate server identification information may be ranked to obtain a first transmission ranking result, where the first transmission ranking result of each candidate server identification information is an equipment evaluation index, and the second server identification information is determined from the candidate server identification information according to the first transmission ranking result, for example, the candidate server identification information corresponding to the first transmission quality information with the largest value is determined as the second server identification information.
The embodiment of the application can also determine the equipment evaluation index based on at least two sorting results of the migration sorting result, the terminal transmission sorting result and the first transmission sorting result, so as to determine the second server identification information. Specifically, there may be multiple manners, for example, averaging and summing multiple sorting results of the candidate server identification information to obtain a final sorting result, where the final sorting result is the device migration index, and the candidate server identification information with the highest final sorting result is determined as the second server identification information. The method can be flexibly processed in the actual application process, and is not limited.
In some embodiments of the present application, the data migration index, the terminal transmission quality information and the first transmission quality information may be fused, where the fusion result is an equipment evaluation index, the second server identification information is determined according to the fusion result, and the fusion manner includes summing, weighted averaging, product finding, and the like, for example, a weight 1 for the data migration index, a weight 2 for the terminal transmission quality information, and a weight 3 for the first transmission quality information may be preset, and the weighted summing is performed on the data migration index, the terminal transmission quality information, and the first transmission quality information of each candidate server identification information based on the weights 1-3, so as to obtain the equipment evaluation index, and the candidate server identification information corresponding to the equipment evaluation index with optimal performance is determined as the second server identification information.
For example, the server B may include a data resource set 1 and a device information set 1 that are updated periodically, the data resource set 1 includes a plurality of data identification information and at least one server identification information corresponding to each data identification information, the device information set 1 includes a plurality of server identification information, and a data migration index, a server transmission quality group and a terminal transmission quality group corresponding to each server identification information, the server transmission quality group includes server transmission quality information corresponding to at least one other server identification information, and the terminal transmission quality group includes terminal transmission quality information corresponding to at least one terminal group.
The server B may determine, from the data resource set 1, a candidate server identifier 1 and a candidate server identifier 2 corresponding to the data identifier p22, determine, from the device information set 1, a data migration indicator 1 corresponding to the candidate server identifier 1, determine, from the server transmission quality group 1 corresponding to the candidate server identifier 1, server transmission quality information 1 corresponding to the server identifier a, where the server transmission quality information 1 characterizes a transmission quality between the server corresponding to the candidate server identifier 1 and the server a, determine, from the terminal transmission quality group 1 corresponding to the candidate server identifier 1, terminal transmission quality information 1 corresponding to the terminal group 1, where the terminal transmission quality information 1 characterizes a transmission quality between the server corresponding to the candidate server identifier 1 and the terminal group 1 where the smartphone 1 is located.
Similarly, the data migration index 2, the server transmission quality information 2 and the terminal transmission quality information 2 corresponding to the candidate server identifier 2 can be determined from the device information set 1, then the data migration index 1, the server transmission quality information 1 and the terminal transmission quality information 1 are weighted and summed based on the preset weight 1-3 to obtain the device evaluation index 1, and the data migration index 2, the server transmission quality information 2 and the terminal transmission quality information 2 are weighted and summed based on the preset weight 1-3 to obtain the device evaluation index 2. And sequencing the equipment evaluation index 1 and the equipment evaluation index 2, and determining the candidate server identification 1 corresponding to the equipment evaluation index 1 with higher numerical value as second server identification information.
The server B returns request response information comprising second server identification information to the server A, so that the server C corresponding to the second server identification information is determined to be the server storing the text data to be acquired.
140. And sending a data sending request to the second server to trigger the second server to send the data to be acquired to the terminal based on the data sending request, wherein the data sending request comprises terminal address information and data identification information.
Specifically, the first server sends a data sending request including terminal address information and data identification information to the second server, and after the second server receives and analyzes the data sending request, the terminal address information and the data identification information can be obtained, data to be obtained corresponding to the data identification information can be queried locally, and the data to be obtained is sent to a terminal corresponding to the terminal address information.
For example, the server B sends a data transmission request m to the server C, where the data transmission request m includes address information of the smartphone 1: the method comprises the steps that an IP address 1, a port number 1 and a data identifier p22 of text data to be acquired are arranged, a server C receives and analyzes the data sending request m to obtain address information and the data identifier p22 of the smart phone 1, data to be acquired corresponding to the data identifier p22 is queried locally, and the data to be acquired and the address information of the smart phone 1 are based on the data to be acquired: and carrying out data package on the IP address 1 and the port number 1 to obtain at least one data package, and sending the data package to a data transmission network so as to transmit data to be acquired to the intelligent mobile phone.
In some embodiments of the present application, before the second server sends the data to be acquired to the terminal, the first server and the second server may perform data interaction, specifically, after receiving the data sending request, the second server parses and stores terminal address information, data identification information and the like included in the data sending request, the second server may further return a request acknowledgement message for the data sending request, where the request acknowledgement message may be used to inform the first server that the second server may send the data to be acquired to the terminal, the first server sends a data sending instruction to the second server in response to the received request acknowledgement message, and the second server sends the data to be acquired to the terminal based on the terminal address information and the data identification information in response to the data sending instruction.
For example, the server B sends a data sending request n to the server C, the server C returns a request acknowledgement message v to the server B based on the received data sending request n, the server B sends a data sending instruction to the server C in response to the received request acknowledgement message v, the server C inquires the data to be acquired corresponding to the data identifier p22 locally based on the data sending instruction, and the address information of the smartphone 1 based on the data to be acquired: and carrying out data package on the IP address 1 and the port number 1 to obtain at least one data package, and sending the data package to a data transmission network so as to transmit data to be acquired to the intelligent mobile phone.
In the embodiment of the application, the data transmission request can also include key information, data transmission information and the like, the key information can be used for encrypting, decrypting and the like of the data to be acquired, and because the data is transmitted to the terminal through the second server and is insensitive to the terminal, the data transmission can be expanded based on the data transmission information in the data transmission process of the first server and the terminal, namely, the data transmission information can be used in the transmission process of the data to be acquired, and the data transmission information can include a starting message number, terminal residual window information, transmission window information of the first server aiming at the terminal, in-transit data amount information and the like.
In the data transmission process, in order to ensure that data transmission among the terminal, the first server and the second server is orderly carried out, after the first server sends a data transmission request to the second server, the terminal address information and the first server address information can be stored in a preset data set, operation identification information which corresponds to the terminal address information and the first server address information in the preset data set together is modified into a discarding identification, the first server receives a first message, and if source address information and the terminal address information in the first message are matched and destination address information and the first server address information are matched, the first message can be discarded after the discarding identification is queried from the preset data set.
For example, after the server B sends the data sending request n to the server C, the address information 1 of the smart phone 1 is stored in a local preset data set: IP address 1 and port number 1, and address information 2 of the first server: IP address 2 and port number 2, and set the operation identification information that address information 1 and address information 2 correspond together as discarding identification drop, then if server B receives the message, and analyzes and determines that the source address information and destination address information of the message match address information 1 and address information 2 respectively, the message can be discarded based on discarding identification drop.
After receiving the request confirmation message returned by the second server, the first server can modify the operation identification information which corresponds to the terminal address information and the first server address information in the preset data set together into a redirection identification, and then the first server receives the second message, and if the source address information in the second message is matched with the terminal address information and the destination address information is matched with the first server address information, the second message can be forwarded to the second server after the redirection identification is queried from the preset data set.
For example, after receiving the request confirmation message v returned by the server C, the server B may modify the operation identifier information corresponding to the address information 1 and the address information 2 in the preset dataset together to a redirect identifier redirect, and then if the server B receives the message and parses and determines that the source address information and the destination address information of the message are respectively matched with the address information 1 and the address information 2, the message may be forwarded to the second server based on the redirect identifier redirect.
In some embodiments of the present application, if the source address information in the second message is matched with the terminal address information and the destination address information is matched with the first server address information, the second message may be further parsed, and if the parsing result indicates that the second message is a connection close message, the first server may delete the terminal address information, the first server address information and the operation identification information in the preset data set, and send a transmission cancellation instruction to the second server, so as to notify the second server to stop transmitting data to the terminal.
For example, the server B receives the message, analyzes and determines that the source address information and the destination address information of the message are respectively matched with the address information 1 and the address information 2, and can further analyze the message, if the analysis result indicates that the message is a connection closing message sent by the terminal, the server B can delete the address information 1, the address information 2 and the operation identification information in the preset data set, send a transmission cancellation instruction to the server C, and stop transmitting data to the smart phone 1 after the server C receives the transmission cancellation instruction.
In some embodiments of the present application, if the source address information in the second message is matched with the terminal address information and the destination address information is matched with the first server address information, the second message may be forwarded to the second server after the redirection identifier is queried from the preset data set, the second server may parse the second message, if the parsing result indicates that the second message is a connection close message, the second server may send a migration cancellation request to the first server, where the migration cancellation request includes the terminal address information and the first server address information, and the first server may respond to the migration cancellation request to delete the terminal address information, the first server address information and the operation identifier information in the preset data set.
For example, the server B receives the message, analyzes and determines that the source address information and the destination address information of the message are respectively matched with the address information 1 and the address information 2, forwards the message to the server C, the server C analyzes the message, if the analysis result indicates that the message is a connection closing message sent by the terminal, the server C may stop transmitting data to the smart phone 1, generate and send a migration cancellation request to the server B, the migration cancellation request includes the address information 1 of the smart phone 1 and the address information 2 of the server B, and the server B may delete the address information 1, the address information 2 and the operation identification information in the preset data set in response to the migration cancellation request.
In the embodiment of the application, the first server can transmit the information of the data to be acquired, which is transmitted by the terminal through the data acquisition request, to the second server which stores the data to be acquired through the data transmission request under the condition that the terminal is not sensitive, and the second server transmits the data to be acquired to the terminal, so that the first server can efficiently and quickly transmit the required data to be acquired to the terminal through the second server under the condition that the first server cannot better transmit the data to be acquired and the terminal is not sensitive.
Fig. 4 shows a schematic flow chart of a data transmission method of the present application, which may be integrated in a computer device, and the computer device may include a second server, as in fig. 4, and the data transmission method may include:
210. The method includes receiving a data transmission request from a first server, the data transmission request including terminal address information and data identification information, the first server being configured to receive a data acquisition request from a terminal, the data acquisition request including the terminal address information and the data identification information of data to be acquired, and determining a second server storing the data to be acquired from a plurality of servers based on the data identification information.
Specifically, after receiving and analyzing a data acquisition request of a terminal, the first server may obtain data identification information and terminal address information therein, then determine a second server storing data identification information corresponding to data to be acquired from a plurality of servers, send a data transmission request to the second server, and further send the data to be acquired to the terminal through the second server. Details about this process are already developed in the embodiments of the other parts of the present application, and are not repeated here.
220. And inquiring the data to be acquired corresponding to the data identification information from the local area, and sending the data to be acquired to the terminal corresponding to the terminal address information.
For example, the server C receives and parses the data transmission request m sent by the server B to obtain address information of the smart phone 1 included therein: IP address 1 and port number 1, and a data identifier p22 of the text data to be obtained, server C queries the data to be obtained corresponding to data identifier p22 from the local, based on the data to be obtained and the address information of smartphone 1: and carrying out data package on the IP address 1 and the port number 1 to obtain at least one data package, and sending the data package to a data transmission network so as to transmit data to be acquired to the intelligent mobile phone.
In some embodiments of the present application, before the second server sends the data to be acquired to the terminal, the first server and the second server may perform data interaction, specifically, the second server may parse the data sending request to obtain terminal address information and data identification information, and return a request acknowledgement message to the first server, so as to trigger the first server to respond to the request acknowledgement message, return a data sending instruction, respond to the received data sending instruction, query the data to be acquired corresponding to the data identification information locally, and send the data to be acquired to the terminal address information corresponding terminal.
For example, the server B sends a data sending request n to the server C, the server C returns a request acknowledgement message v to the server B based on the received data sending request n, the server B sends a data sending instruction to the server C in response to the received request acknowledgement message v, the server C inquires the data to be acquired corresponding to the data identifier p22 locally based on the data sending instruction, and the address information of the smartphone 1 based on the data to be acquired: and carrying out data package on the IP address 1 and the port number 1 to obtain at least one data package, and sending the data package to a data transmission network so as to transmit data to be acquired to the intelligent mobile phone.
In some embodiments of the present application, the data transmission request further includes key information and data transmission information, where the key information may be used for performing operations such as encryption and decryption on data to be acquired, and the data transmission information may be used for a process of transmitting the data to be acquired by the second server, in this case, the second server may query, from the local location, the data to be acquired corresponding to the data identification information in response to the received data transmission instruction, encrypt the data to be acquired identified by the data identification information based on the key information, obtain encrypted data to be acquired, and package the encrypted data to be acquired based on the data transmission information, to obtain at least one data packet, and transmit the at least one data packet to the terminal corresponding to the terminal address information.
For example, the server C may encrypt the text data to be acquired corresponding to the local query data identifier p22 based on the data sending instruction, obtain the encrypted data 1 based on the key information 1, then package the encrypted data to be acquired based on the data sending information, obtain at least one data packet, and send the at least one data packet to the smart phone 1, thereby transmitting the text data to be acquired from the second server to the terminal.
The data sending information may include a start message number, terminal remaining window information, sending window information and in-transit data amount information of the first server for the terminal, and the like, at this time, candidate window information for the data to be obtained may be determined based on the sending window information and the in-transit data amount information, target window information for the data to be obtained is selected from the candidate window information and the terminal remaining window information, the encrypted data to be obtained is packaged based on the target window information and the start message number, at least one data packet is obtained, and at least one data packet is sent to a terminal corresponding to the terminal address information.
The second server may further adjust the target window information in the next data transmission process based on the feedback information of the terminal/network, so as to better adapt to the actual situations of the network and the terminal, and transmit the data to the terminal more smoothly, for example, if the packet loss information of the transmitted data is obtained, the target sending window information may be reduced, and so on.
Specifically, the difference between the sending window information and the in-transit data amount information can be calculated to obtain candidate window information, smaller data is selected from the candidate window information and the residual window information of the terminal to serve as target window information of the data to be acquired, the initial message number can serve as the initial message number in the data to be acquired, the data to be acquired/encrypted to be acquired is packaged based on the target window information to obtain at least one data packet, and the data packet is transmitted to the terminal.
For example, the server C parses the data sending request m to obtain address information of the smart phone 1 included therein: the method comprises the steps that an IP address 1, a port number 1, a data identifier p22 of text data to be acquired, key information f and a data transmission information group 1 are adopted, a server C inquires data to be acquired corresponding to the data identifier p22 locally, encrypts the data to be acquired through the key information f to obtain encrypted data, the data transmission information group 1 comprises the number of remaining windows of a terminal, the number of transmitting windows of the server B and the total amount of in-transit data, the difference between the number of transmitting windows and the total amount of in-transit data can be calculated to obtain a candidate window number 1, smaller values in the candidate window number 1 and the number of remaining windows of the terminal are determined, the smaller values are the number of target windows, the data transmission information group 1 further comprises a starting message number, and the data transmission information group 1 can be based on the starting message number, the number of target windows and address information of the smart phone 1: and the encrypted data are packaged by the information such as the IP address 1, the port number 1 and the like to obtain at least one data packet, and the data packets are sent, so that the data to be acquired are transmitted to the intelligent mobile phone 1.
In the embodiment of the application, the first server can transmit the information of the data to be acquired, which is transmitted by the terminal through the data acquisition request, to the second server which stores the data to be acquired through the data transmission request under the condition that the terminal is not sensitive, and the second server transmits the data to be acquired to the terminal, so that the first server can efficiently and quickly transmit the required data to be acquired to the terminal through the second server under the condition that the first server cannot better transmit the data to be acquired and the terminal is not sensitive.
Fig. 5 shows a schematic flow chart of a data transmission method of the present application, which may be integrated in a data transmission system, and the data transmission system may be integrated in a computer device, and the computer device may include a first server, a second server, etc., as in fig. 5, and the data transmission method may include:
310. The first server receives a data acquisition request from the terminal, the data acquisition request including data identification information of data to be acquired and terminal address information.
320. The first server determines at least one data migration indicator.
330. If the data migration index is matched with a preset threshold, the first server determines a second server which stores data identification information and corresponds to data to be acquired through the content scheduling component.
In some embodiments of the present application, the first server determines that the data migration index matches with the preset threshold, and may set preset migration identification information to a migration state, and if the first server receives a data acquisition request for other data from the terminal, the first server may determine, directly through the content scheduling component, after querying the migration state, the server storing the data identification information corresponding to the data to be acquired.
In some embodiments of the present application, the first server may also periodically determine at least one data migration index, if the data migration index matches a preset threshold, set migration identification information to a migration state, and query the migration identification information to the migration state after receiving a data acquisition request from the terminal, where the first server may determine, through the content scheduling component, the second server storing the data to be acquired.
The data migration Indicator may include Load data of the first server, where the Load data may include, but is not limited to, CPU usage ratio util_cpu, memory usage ratio util_mem, disk IO number io_disk, and flow size_traffic, the Load data may be updated according to a change of a demand, for example, by updating a configuration file, and a calculation formula of the Load data load_facility may be as follows:
Load_facility=a1*Util_CPU+a2*Util_Mem+a3*IO_Disk+a4*S_traffic
Wherein a1, a2, a3, a4 are preset weight parameters, which can be flexibly adjusted according to actual requirements, and it should be noted that the sum of a1, a2, a3, a4 is 1.
The data migration Indicator may include transmission performance data of the first server, where the transmission performance data may include, but is not limited to, throughput Thput, loss rate loss_rate, transmission Delay, connection number a_conn, the transmission performance data may be updated along with a change of a requirement, for example, the transmission performance data is updated by updating a configuration file, and a calculation formula of the transmission performance data perf_trans may be as follows:
Perf_trans = b1*Thput + b2*Loss_rate + b3*Delay + b4*A_conn
wherein b1, b2, b3 and b4 are preset weight parameters, which can be flexibly adjusted according to actual requirements, and it should be noted that the sum of b1, b2, b3 and b4 is 1.
The data migration Indicator may include traffic cost data for the first server, which may include, but is not limited to, the cost per unit traffic charged by the operator: the traffic Cost data can be updated along with the change of the demand, for example, the traffic Cost data is updated by updating a configuration file, and the calculation formula of the traffic Cost data cost_traffic can be as follows:
Cost_traffic = c1*Cost_per_trans + c2*Cost_per_retrans
Wherein c1 and c2 are preset weight parameters, which can be flexibly adjusted according to actual requirements, and it should be noted that the sum of c1 and c2 is 1.
Load data, transmission performance data, and traffic cost data may all be periodically queried by the server. The query period may be preset, e.g., the query period may be 10ms, 50ms, etc. The query period t_monitor may be declared in the configuration file, e.g., t_monitor=15 ms.
The data migration index Indicator may be a data migration index in the query period i, where the data migration index in the query period i may be obtained based on Load data load_facility_i, transmission performance data perf_trans_i, and traffic Cost data cost_trans_i in the current detection period, and a calculation formula of the data migration index indicator_i in the query period i may be as follows:
Indicator_i = α1*Load_facility_i + α2*Perf_trans_i + α3*Cost_traffic_i
Wherein α1, α2 and α3 are preset weight parameters, which can be flexibly adjusted according to actual requirements, and it should be noted that the sum of α1, α2 and α3 is 1.
The data migration index may further include a comprehensive migration index, the comprehensive migration index Indicator may be obtained based on the data migration index indicator_i in the query period i and the data migration index indicator_i-1 in the query period i-1, and a calculation formula of the comprehensive migration index Indicator may be as follows:
Indicator = Indicator_i * β + INDICATOR_i-1 * (1-β)
Wherein, beta is a preset weight parameter, and can be flexibly adjusted along with actual requirements. Beta may be, for example, 1, 0.5, 0.8, etc.
Under different application scenarios, the data migration index may include various situations as described above, and along with the change of the data migration index, the preset threshold is adjusted accordingly, and the data migration index may be matched with the preset threshold, for example, greater than, less than, greater than or equal to, less than or equal to, the difference value is less than the preset data, and the like, and may also be flexibly adjusted according to the actual requirement, which is not limited herein.
It should be noted that, in the embodiment of the present application, the content scheduling component may be disposed on the first server, if the first server is a server cluster, the content scheduling component may be one of the servers, the content scheduling component may also be disposed on an independent scheduling server, the scheduling server may be a single server or a server cluster, etc., and the setting manner of the content scheduling component may be flexibly performed along with the actual requirement of the application scenario.
Referring to fig. 6, a content scheduling component (i.e., a content scheduling center in the figure) may periodically receive data respectively sent by a plurality of servers, where the data may include a data migration index of the server, data identification information of data stored by the server, and so on, where the data migration index includes load_facility, transmission performance data perf_trans, and traffic Cost data cost_traffic, a comprehensive migration index Indicator, a data migration index indicator_i of a query period i, and so on.
The data may also include server transmission quality data trans_qos between the server and other servers, where the server transmission quality data trans_qos may be measured by dial testing, such as round trip delay, packet loss rate, etc., or may be determined by historical interaction procedures of the server and other servers.
The data may also include terminal transmission quality data ugqos between the server and the terminal group, where the terminal transmission quality data trans_qos may be, for example, round trip delay, packet loss rate, etc., and the transmission quality data trans_qos may be measured by dial testing, or may be determined by a historical interaction procedure between the server and the terminals in the terminal group. Here, the terminal group may be divided based on a region, an operator, an access mode, etc. to which the terminal belongs, and the terminal group may include a plurality of terminals.
The content scheduling component may update its stored data resource table and device information table periodically based on the received data, and in particular, the data resource table may include a plurality of data identification information and at least one server identification information corresponding to each data identification information, the server identification information corresponding to which the server stores data corresponding to the data identification information. The data identifier information may be, for example, a uniform resource locator URI, for example, in a data resource table, where the data identifier uri_p corresponds to a server group identifier set_p, set_p= { S1, S2, S3, … … }, where S1, S2, S3 are server identifiers.
The device information table may include a plurality of server identification information, and a data migration index corresponding to each server identification information, at least one server transmission quality data trans_qos, and at least one terminal transmission quality data ug_qos, where the data migration index may be Load data load_facility, transmission performance data perf_trans, traffic Cost data cost_traffic, a comprehensive migration index Indicator, a data migration index indicator_i of a query period i, and the like.
After the content scheduling center obtains the data obtaining request 1, the data obtaining request 1 may be parsed to obtain data identification information uri_i, a terminal IP address ip_usr, a terminal Port number port_usr and protocol type information Ptl _type therein, a server group identification set_i corresponding to the data identification information uri_i is queried from a data resource table, the set_i includes a candidate server identification ss1 and a candidate server identification ss2, a data migration index corresponding to the candidate server identification ss1 is queried in a device information table, server transmission quality data between the candidate server identification ss1 and a first server and terminal transmission quality data between the candidate server and a terminal are fused and calculated to obtain an evaluation value es_ss1, an evaluation value es_ss2 of the candidate server identification ss2 is obtained in a similar manner, and a fused and calculated formula may be as follows:
Es_i = p*INDICATOR + q*Trans_qos + r*Ug_qos
wherein es_i is an evaluation value of the server identifier i, p, q and r are weight parameters set in advance, and can be flexibly adjusted along with actual requirements, and note that the sum of p, q and r is 1.
And comparing the evaluation value Es_ss1 with the evaluation value Es_ss2, and determining that the server corresponding to the candidate server identification ss1 is a second server which is about to send data to be acquired to the terminal according to the comparison result.
340. The first server transmits a data transmission request to the second server, the data transmission request including first server data identification information, terminal address information, and first server address information.
350. The second server analyzes and stores the data identification information, the terminal address information and the first server address information in the data transmission request, and returns a request confirmation message to the first server.
360. The first server transmits a data transmission instruction to the second server in response to the request acknowledgement message.
370. The second server responds to the data sending instruction, locally inquires data to be obtained corresponding to the data identification information, and sends a data packet comprising the data to be obtained, the terminal address information and the first server address information to the terminal.
The first server and the second server can perform information interaction to perform migration negotiation, and the second server sends data to be acquired to the terminal after the negotiation flow is completed. The first server can control the message from the terminal after the negotiation process and the negotiation process are completed, and the first server discards the message from the terminal after the first server sends the data sending request to the second server and before the first server sends the data sending instruction to the second server. After the first server sends a data sending instruction to the second server, the first server forwards the message from the terminal to the second server.
For example, referring to fig. 7, the first service may connect to the second server a migration protocol packet (i.e., a data transmission request), where the migration protocol packet may include: 1) Application layer state information l7_status, including the requested data resource identifier URI; 2) Session layer information session_status, including encryption and decryption Key information Key; 3) The transmission layer state information L4_status comprises an initial message number Pkt_num, a remaining acceptance window cwnd_recv_left of the user terminal, a sending window cwnd_send of the first server for traffic transmission of the user terminal, total amount of data in transit Inflight _size and the like; 4) The flow_status includes a user terminal address ip_usr, a user terminal Port number port_usr, a first server address ip_origin, a first server Port number port_origin, and a protocol type Ptl _type, etc.
The connection migration negotiation message pkt_ nego may be as follows: pkt_ nego = { l7_status, session_status, l4_status, flow_status }
After the first server sends the connection migration negotiation message, the user terminal address ip_usr, the user terminal Port number port_usr, the first server address ip_origin, and the first server Port number port_origin may be stored in a preset operation table based on a fast data path technology (XDP, eXpress Data Path), and the operation identification information of the set of data is modified to discard the drop.
After receiving the connection migration negotiation message, the second server analyzes the connection migration negotiation message, stores the application layer state information L7_status, session layer state information Session_status, transport layer state information L4_status and Flow identification state information flow_status in the connection migration negotiation message locally, returns a message confirmation message 1 (i.e. request confirmation message) to the first server, the first server receives the message confirmation message 1, and returns a notification packet sending message (i.e. data sending instruction) to the second server, and the second server can return a message confirmation message 2 to the first server after receiving the notification packet sending message so as to indicate that the second server has received the notification packet sending message.
After the first server sends the notification packet to the second server, the operation identification information corresponding to the user terminal address ip_usr, the user terminal Port number port_usr, the first server address ip_origin and the first server Port number port_origin in the preset operation table can be modified to be redirected redriect, and then the first server receives the message from the terminal and forwards the message to the second server. Specifically, the first server may generate a redirection packet including the message, and transmit the redirection packet pkt_redirect to the second server in an existing tunnel manner, where a source address and a source Port number of the redirection packet pkt_redirect are respectively a first server address ip_origin and a first server Port number port_origin, and a destination address and a destination Port number are respectively a second server address ip_target and a second server Port number port_target.
After receiving the notification packet, the second server queries the data to be acquired corresponding to the data resource identifier URI from the local, encrypts the data to be acquired through encryption and decryption Key information Key if necessary, determines a source address of a packet including the data to be acquired/encrypted data to be acquired as a first server address ip_origin and a first server Port number port_origin, determines a destination address as a user terminal address ip_usr and a user terminal port_usr, determines a protocol type as Ptl _type in the flow_status, and determines an initial packet number as pkt_num in the transport layer information l4_status. And window data cwnd_init in the data message transmission process is based on the transmission layer state information l4_status: the initial message number pkt_num, the remaining acceptance window cwnd_recv_left of the user terminal, and the sending window cwnd_send of the first server for the traffic transmission of the user terminal are determined, which can be specifically referred to the following formula:
Cwnd_init = min{cwnd_recv_left, cwnd_send – Inflight_size}
The window data may be flexibly adjusted in the data transmission process, for example, after receiving the first message acknowledgement message pkt_ack from the user terminal, the window data cwnd_init may be adjusted based on the transmission window cwnd_send of the traffic transmission of the user terminal by the first server, and for example, after detecting that a packet loss occurs in a message sent by the window data cwnd_init, the window data cwnd_send may be halved.
After receiving the data to be acquired, the user terminal may send a message acknowledgement message 3 (pkt_ack) to the first server, where the source address of the message acknowledgement message pkt_ack is an address ip_usr of the user terminal, the destination address is an address ip_origin of the first server, the source Port is a port_usr of the user terminal, and the destination Port is a port_origin of the first server.
The first server receives the message confirmation message 3, and analyzes and determines that the source IP address and the source Port number of the message confirmation message 3 are identical to the user terminal address IP_usr and the user terminal Port number_usr, and the destination IP address and the destination Port number are identical to the first server address IP_origin and the first server Port number_origin, and based on the operation identification information, repairing: redirecting redriect, forwarding the message confirmation message 3 to the second server, wherein the specific first server can generate a redirecting message comprising the message confirmation message 3, and transmitting the redirecting message Wen Xiangdi to the second server in the existing GUE tunnel mode.
380. If the first server receives the message transmitted by the terminal, the message is forwarded to the second server.
390. If the analysis result of the message indicates that the message is a connection relation message, the second server stops sending the data to be acquired to the terminal.
If the redirecting message includes a connection closing message pkt_close from the user terminal, the second server stops sending the traffic message to the user terminal, and sends a connection migration cancellation message pkt_ cancle _mig to the first server, where the connection migration cancellation message pkt_ cancle _mig includes a user terminal address ip_usr, a user terminal Port number_usr, a first server address ip_origin and a first server Port number port_origin.
The first server deletes the user terminal address IP_usr, the user terminal Port number port_usr, the first server address IP_origin, the first server Port number port_origin and operation identification information in a preset operation table based on the connection migration cancellation message Pkt_ cancle _mig.
The overall flow chart of the data transmission method of the present application can also refer to fig. 8, specifically, the original server can firstly perform availability and high efficiency detection, determine whether to perform connection migration according to the detection result, if not, respond to the user request normally, if yes, query the target server from the content dispatching center, and perform connection migration negotiation with the target server, the table entry is a discard table entry during connection migration negotiation, discard the data from the terminal, after connection migration negotiation is completed, notify the target server to start sending the data required by the terminal, update the discard table entry to the redirection table entry, redirect the message of the terminal to the target server, if the connection closing request from the terminal is received, redirect the connection closing request to the target server, notify the sending data, and delete the redirection table entry.
In the embodiment of the application, the first server can transmit the information of the data to be acquired, which is transmitted by the terminal through the data acquisition request, to the second server which stores the data to be acquired through the data transmission request under the condition that the terminal is not sensitive, and the second server transmits the data to be acquired to the terminal, so that the first server can efficiently and quickly transmit the required data to be acquired to the terminal through the second server under the condition that the first server cannot better transmit the data to be acquired and the terminal is not sensitive.
In order to better implement the above method, the embodiment of the present application further provides a data transmission device, which is applied to the first server, as shown in fig. 9, where the data transmission device may include a receiving module 510, an index module 520, a server module 530, and a transmitting module 540, where,
A receiving module 510, configured to receive a data acquisition request from a terminal, where the data acquisition request includes terminal address information and data identification information of data to be acquired;
an metrics module 520 for determining at least one data migration metrics for the first server;
a server module 530, configured to determine, from the plurality of servers, a second server storing data to be acquired based on the data identification information if the data migration index matches a preset threshold;
and a sending module 540, configured to send a data sending request to the second server, so as to trigger the second server to send the data to be acquired to the terminal based on the data sending request, where the data sending request includes terminal address information and data identification information.
In some embodiments of the present application, the index module may be specifically configured to:
determining equipment load data corresponding to a first server, and acquiring migration cost data corresponding to the first server;
Determining transmission performance data between a first server and a target terminal;
at least one data migration indicator for the first server is determined based on at least one data including device load data, transmission performance data, and migration cost data.
In some embodiments of the present application, the index module may be specifically configured to:
Determining a first migration fusion parameter for device load data, a second migration fusion parameter for transmission performance data and a third migration fusion parameter for migration cost data;
And fusing the equipment load data, the transmission performance data and the migration cost data based on the first migration fusion parameter, the second migration fusion parameter and the third migration fusion parameter to obtain a data migration index.
In some embodiments of the present application, the index module may be specifically configured to:
fusing the equipment load data, the transmission performance data and the migration cost data based on the first migration fusion parameter, the second migration fusion parameter and the third migration fusion parameter to obtain an initial migration index;
and acquiring a historical migration index corresponding to the initial migration index, and fusing the initial migration index and the historical migration index to obtain a data migration index.
In some embodiments of the application, the server module is specifically configured to:
If the data migration index is matched with a preset threshold value, server request information comprising data identification information is sent to a scheduling server, so that the scheduling server is triggered to determine a second server which stores data to be acquired from a plurality of servers based on the data identification information in the server request information;
and receiving request response information returned by the scheduling server, wherein the request response information comprises second server identification information of the second server.
In some embodiments of the application, the data transmission device may also be used to:
Triggering a scheduling server to receive server information which is periodically reported by a plurality of servers, wherein the server information comprises data identification information of at least one piece of data stored by the server, at least one data migration index of the server and transmission quality information between the server and at least one computer device in a network;
triggering a scheduling server to periodically update a preset data resource set based on data identification information periodically reported by each server, wherein the preset data resource set comprises a plurality of data identification information and at least one server identification information corresponding to each data identification information;
The method comprises the steps that a scheduling server is triggered to update a preset device information set periodically based on data migration indexes and transmission quality information which are regularly reported by each server, wherein the preset device information set comprises a plurality of server identification information, at least one data migration index corresponding to each server identification information and transmission quality information between each server identification information and at least one other computer device in a network.
In some embodiments of the present application, the server request information further includes terminal address information, and the data transmission device may be further configured to:
triggering a scheduling server to inquire at least one candidate server identification information corresponding to the data identification information from a preset data resource set;
Triggering a scheduling server to inquire data migration indexes corresponding to each candidate server identification information, terminal transmission quality information between computer equipment corresponding to terminal address information and first transmission quality information between a first server from a preset equipment information set;
the triggering scheduling server determines second server identification information from at least one candidate server identification information based on at least one information including a data migration index, terminal transmission quality information, and first transmission quality information.
In some embodiments of the application, the data transmission device may also be used to:
triggering a scheduling server to determine equipment evaluation indexes corresponding to each candidate server identification information based on the data migration indexes, the terminal transmission quality information and the first transmission quality information;
The triggering dispatch server determines second server identification information from the at least one candidate server identification information based on the device evaluation index.
In some embodiments of the present application, the sending module may be specifically configured to:
Sending a data sending request to a second server to trigger the second server to analyze the data sending request to obtain terminal address information and data identification information, and returning a request confirmation message to the first server;
Responding to a request confirmation message returned by the second server, and sending a data sending instruction to the second server so as to trigger the second server to send data to be acquired to the terminal based on the terminal address information and the data identification information.
In some embodiments of the present application, the data transmission device may be further specifically configured to:
storing the terminal address information and the first server address information in a preset data set, and modifying operation identification information which corresponds to the terminal address information and the first server address information together into a discarding identification in the preset data set;
If the source address information in the received first message is matched with the terminal address information and the destination address information is matched with the first server address information, discarding the first message according to the discarding identification.
In some embodiments of the present application, the data transmission device may be further specifically configured to:
after receiving the request confirmation message, modifying operation identification information which corresponds to the terminal address information and the first server address information together in a preset data set into a redirection identification;
If the source address information in the received second message is matched with the terminal address information and the destination address information is matched with the first server address information, forwarding the second message to the second server according to the redirection identification.
In some embodiments of the present application, the data transmission device may be further specifically configured to:
Receiving a migration cancellation request from a second server, wherein the migration cancellation request comprises terminal address information and first server address information;
And deleting the terminal address information, the first server address information and the operation identification information in the preset data set in response to the migration cancellation request.
In the embodiment of the application, the first server can transmit the information of the data to be acquired, which is transmitted by the terminal through the data acquisition request, to the second server which stores the data to be acquired through the data transmission request under the condition that the terminal is not sensitive, and the second server transmits the data to be acquired to the terminal, so that the first server can efficiently and quickly transmit the required data to be acquired to the terminal through the second server under the condition that the first server cannot better transmit the data to be acquired and the terminal is not sensitive.
In order to better implement the above method, the embodiment of the present application further provides a data transmission device applied to the second server, as shown in fig. 10, the data transmission device may include a request receiving module 610 and a data transmitting module 620, wherein,
A request receiving module 610, configured to receive a data transmission request from a first server, where the data transmission request includes terminal address information and data identification information, and the first server is configured to receive a data acquisition request from a terminal, where the data acquisition request includes the terminal address information and the data identification information of data to be acquired, and determine, from a plurality of servers, a second server storing the data to be acquired based on the data identification information;
The data sending module 620 is configured to query the data to be obtained corresponding to the data identification information locally, and send the data to be obtained to the terminal corresponding to the terminal address information.
In some embodiments of the present application, the data transmission module may be specifically configured to:
Analyzing the data transmission request to obtain terminal address information and data identification information, and returning a request confirmation message to the first server to trigger the first server to respond to the request confirmation message and return a data transmission instruction;
Responding to the received data sending instruction, locally inquiring data to be obtained corresponding to the data identification information, and sending the data to be obtained to the terminal corresponding to the terminal address information.
In some embodiments of the present application, the data transmission request further includes key information and data transmission information, and the data transmission module may be specifically configured to:
responding to a received data sending instruction, and locally inquiring data to be acquired corresponding to the data identification information;
encrypting the data to be acquired identified by the data identification information based on the key information to obtain the encrypted data to be acquired,
And based on the data sending information, packaging the encrypted data to be obtained to obtain at least one data packet, and sending the at least one data packet to a terminal corresponding to the terminal address information.
In some embodiments of the present application, the data transmission information includes a start message number, terminal remaining window information, transmission window information of the first server for the terminal, and in-transit data amount information, and the data transmission module may be specifically configured to:
determining candidate window information for data to be acquired based on the sending window information and the in-transit data volume information;
Selecting target window information aiming at data to be acquired from candidate window information and terminal residual window information;
and based on the target window information and the initial message number, packaging the encrypted data to be acquired to obtain at least one data packet, and sending the at least one data packet to a terminal corresponding to the terminal address information.
In the embodiment of the application, the first server can transmit the information of the data to be acquired, which is transmitted by the terminal through the data acquisition request, to the second server which stores the data to be acquired through the data transmission request under the condition that the terminal is not sensitive, and the second server transmits the data to be acquired to the terminal, so that the first server can efficiently and quickly transmit the required data to be acquired to the terminal through the second server under the condition that the first server cannot better transmit the data to be acquired and the terminal is not sensitive.
The embodiment of the present application further provides a computer device, as shown in fig. 11, which shows a schematic structural diagram of the computer device according to the embodiment of the present application, where the computer device may be a terminal or a server, and specifically:
The computer device may include one or more processors 701 of a processing core, memory 702 of one or more computer readable storage media, power supply 703, and input unit 704, among other components. Those skilled in the art will appreciate that the computer device structure shown in FIG. 11 is not limiting of the computer device and may include more or fewer components than shown, or may be combined with certain components, or a different arrangement of components. Wherein:
The processor 701 is a control center of the computer device, connects various parts of the entire computer device using various interfaces and lines, performs various functions of the computer device and processes data by running or executing computer programs and/or modules stored in the memory 702, and calling data stored in the memory 702. Optionally, processor 701 may include one or more processing cores; preferably, the processor 701 may integrate an application processor and a modem processor, wherein the application processor primarily handles operating systems, user interfaces, computer programs, etc., and the modem processor primarily handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 701.
The memory 702 may be used to store computer programs and modules, and the processor 701 performs various functional applications and data processing by executing the computer programs and modules stored in the memory 702. The memory 702 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, computer programs required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data created according to the use of the computer device, etc. In addition, the memory 702 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 702 may also include a memory controller to provide access to the memory 702 by the processor 701.
The computer device further comprises a power supply 703 for powering the various components, preferably the power supply 703 is logically connected to the processor 701 by a power management system, whereby the functions of managing charging, discharging, and power consumption are performed by the power management system. The power supply 703 may also include one or more of any component, such as a direct current or alternating current power supply, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, etc.
The computer device may further comprise an input unit 704, which input unit 704 may be used for receiving input numerical or character information and generating keyboard, mouse, joystick, optical or trackball signal inputs in connection with user settings and function control.
Although not shown, the computer device may further include a display unit or the like, which is not described herein. In particular, in this embodiment, the processor 701 in the computer device loads executable files corresponding to the processes of one or more computer programs into the memory 702 according to the following instructions, and the processor 701 executes the application programs stored in the memory 702, so as to implement various functions as follows:
Receiving a data acquisition request from a terminal, wherein the data acquisition request comprises terminal address information and data identification information of data to be acquired; determining at least one data migration indicator for the first server; if the data migration index is matched with a preset threshold value, determining a second server which stores data to be acquired from a plurality of servers based on the data identification information; and sending a data sending request to the second server to trigger the second server to send the data to be acquired to the terminal based on the data sending request, wherein the data sending request comprises terminal address information and data identification information.
Or, receiving a data transmission request from a first server, wherein the data transmission request comprises terminal address information and data identification information, the first server is used for receiving a data acquisition request from a terminal, the data acquisition request comprises the terminal address information and the data identification information of the data to be acquired, and determining a second server which stores the data to be acquired from a plurality of servers based on the data identification information; and inquiring the data to be acquired corresponding to the data identification information from the local area, and sending the data to be acquired to the terminal corresponding to the terminal address information.
In the embodiment of the application, the first server can transmit the information of the data to be acquired, which is transmitted by the terminal through the data acquisition request, to the second server which stores the data to be acquired through the data transmission request under the condition that the terminal is not sensitive, and the second server transmits the data to be acquired to the terminal, so that the first server can efficiently and quickly transmit the required data to be acquired to the terminal through the second server under the condition that the first server cannot better transmit the data to be acquired and the terminal is not sensitive.
The specific implementation of each operation above may be referred to the previous embodiments, and will not be described herein.
It will be appreciated by those of ordinary skill in the art that all or part of the steps of the various methods of the above embodiments may be performed by a computer program, or by computer program control related hardware, which may be stored in a computer readable storage medium and loaded and executed by a processor.
To this end, an embodiment of the present application provides a computer readable storage medium having stored therein a computer program that can be loaded by a processor to perform the steps of any of the data transmission methods provided by the embodiment of the present application. For example, the computer program may perform the steps of:
Receiving a data acquisition request from a terminal, wherein the data acquisition request comprises terminal address information and data identification information of data to be acquired; determining at least one data migration indicator for the first server; if the data migration index is matched with a preset threshold value, determining a second server which stores data to be acquired from a plurality of servers based on the data identification information; and sending a data sending request to the second server to trigger the second server to send the data to be acquired to the terminal based on the data sending request, wherein the data sending request comprises terminal address information and data identification information.
Or, receiving a data transmission request from a first server, wherein the data transmission request comprises terminal address information and data identification information, the first server is used for receiving a data acquisition request from a terminal, the data acquisition request comprises the terminal address information and the data identification information of the data to be acquired, and determining a second server which stores the data to be acquired from a plurality of servers based on the data identification information; and inquiring the data to be acquired corresponding to the data identification information from the local area, and sending the data to be acquired to the terminal corresponding to the terminal address information.
In the embodiment of the application, the first server can transmit the information of the data to be acquired, which is transmitted by the terminal through the data acquisition request, to the second server which stores the data to be acquired through the data transmission request under the condition that the terminal is not sensitive, and the second server transmits the data to be acquired to the terminal, so that the first server can efficiently and quickly transmit the required data to be acquired to the terminal through the second server under the condition that the first server cannot better transmit the data to be acquired and the terminal is not sensitive.
Wherein the computer-readable storage medium may comprise: read Only Memory (ROM), random access Memory (RAM, random Access Memory), magnetic or optical disk, and the like.
Since the computer program stored in the computer readable storage medium can execute the steps in any data transmission method provided by the embodiment of the present application, the beneficial effects that any data transmission method provided by the embodiment of the present application can be achieved, and detailed descriptions of the foregoing embodiments are omitted herein.
Embodiments of the present application also provide a computer program product comprising a computer program stored in a computer readable storage medium. The computer program is read from a computer-readable storage medium by a processor of a computer device, which executes the computer program, causing the computer device to perform the method provided in various alternative implementations of the data transmission method described above.
The foregoing has described in detail the methods, apparatuses, computer devices and computer readable storage medium for data transmission provided by the embodiments of the present application, and specific examples have been applied to illustrate the principles and embodiments of the present application, and the above description of the embodiments is only for aiding in understanding the methods and core ideas of the present application; meanwhile, as those skilled in the art will have variations in the specific embodiments and application scope in light of the ideas of the present application, the present description should not be construed as limiting the present application.

Claims (20)

1. A data transmission method, applied to a first server, comprising:
receiving a data acquisition request from a terminal, wherein the data acquisition request comprises terminal address information and data identification information of data to be acquired;
Determining at least one data migration indicator for the first server, the data migration indicator comprising device load data, migration cost data, and transmission performance data, the migration cost data characterizing an economic cost of transmitting data to be acquired through the first server;
If the data migration index is matched with a preset threshold value, determining a second server storing the data to be acquired from a plurality of servers based on the data identification information;
Sending a data sending request to the second server to trigger the second server to send the data to be acquired to the terminal based on the data sending request, wherein the data sending request comprises the terminal address information and the data identification information;
and if the data migration index is matched with a preset threshold, determining a second server storing the data to be acquired from a plurality of servers based on the data identification information, wherein the determining comprises the following steps:
if the data migration index is matched with a preset threshold, server request information comprising the data identification information is sent to a scheduling server to trigger the scheduling server to determine a second server storing the data to be acquired from a plurality of servers based on the data identification information in the server request information;
and receiving request response information returned by the scheduling server, wherein the request response information comprises second server identification information of the second server.
2. The method of claim 1, wherein the determining at least one data migration indicator for the first server comprises:
Determining equipment load data corresponding to the first server, and acquiring migration cost data corresponding to the first server;
Determining transmission performance data between the first server and the terminal;
At least one data migration indicator for the first server is determined based on at least one data including the device load data, the transmission performance data, and the migration cost data.
3. The method of claim 2, wherein the determining at least one data migration indicator for the first server based on at least one data including the device load data, the transmission performance data, and the migration cost data comprises:
Determining a first migration fusion parameter for the device load data, a second migration fusion parameter for the transmission performance data, and a third migration fusion parameter for the migration cost data;
And fusing the equipment load data, the transmission performance data and the migration cost data based on the first migration fusion parameter, the second migration fusion parameter and the third migration fusion parameter to obtain a data migration index.
4. The method of claim 3, wherein the fusing the device load data, the transmission performance data, and the migration cost data based on the first migration fusion parameter, the second migration fusion parameter, and the third migration fusion parameter to obtain a data migration index includes:
Based on the first migration fusion parameter, the second migration fusion parameter and the third migration fusion parameter, fusing the equipment load data, the transmission performance data and the migration cost data to obtain an initial migration index;
And acquiring a historical migration index corresponding to the initial migration index, and fusing the initial migration index and the historical migration index to obtain a data migration index.
5. The method according to claim 1, wherein the method further comprises:
Triggering the scheduling server to receive server information which is periodically reported by a plurality of servers, wherein the server information comprises data identification information of at least one piece of data stored by the server, at least one data migration index of the server and transmission quality information between the server and at least one computer device in a network;
Triggering the scheduling server to periodically update a preset data resource set based on data identification information periodically reported by each server, wherein the preset data resource set comprises a plurality of data identification information and at least one server identification information corresponding to each data identification information;
triggering the scheduling server to periodically update a preset device information set based on data migration indexes and transmission quality information which are periodically reported by each server, wherein the preset device information set comprises a plurality of server identification information, at least one data migration index corresponding to each server identification information and transmission quality information between at least one computer device in a network.
6. The method according to claim 5, wherein the server request information further includes the terminal address information, the triggering the scheduling server to determine the second server storing the data to be acquired from a plurality of servers based on data identification information in the server request information, includes:
Triggering the scheduling server to inquire at least one candidate server identification information corresponding to the data identification information from the preset data resource set;
Triggering the scheduling server to inquire data migration indexes corresponding to each candidate server identification information, terminal transmission quality information between computer devices corresponding to the terminal address information and first transmission quality information between the first servers from the preset device information set;
Triggering the scheduling server to determine second server identification information from the at least one candidate server identification information based on at least one piece of information including the data migration index, the terminal transmission quality information and the first transmission quality information.
7. The method of claim 6, wherein the triggering the scheduling server to determine second server identification information from the at least one candidate server identification information based on at least one information including the data migration indicator, the terminal transmission quality information, and the first transmission quality information comprises:
Triggering the scheduling server to determine equipment evaluation indexes corresponding to each candidate server identification information based on the data migration indexes, the terminal transmission quality information and the first transmission quality information;
triggering the scheduling server to determine second server identification information from the at least one candidate server identification information based on the equipment evaluation index.
8. The method of claim 1, wherein the sending a data transmission request to the second server to trigger the second server to send the data to be acquired to the terminal based on the data transmission request comprises:
Sending a data sending request to the second server to trigger the second server to analyze the data sending request to obtain terminal address information and the data identification information, and returning a request confirmation message to the first server;
Responding to the request confirmation message returned by the second server, and sending a data sending instruction to the second server so as to trigger the second server to send the data to be acquired to the terminal based on terminal address information and the data identification information.
9. The method of claim 8, wherein after the sending the data transmission request to the second server, the method further comprises:
Storing the terminal address information and the first server address information in a preset data set, and modifying operation identification information which corresponds to the terminal address information and the first server address information together into a discarding identification in the preset data set;
And if the source address information in the received first message is matched with the terminal address information and the destination address information is matched with the first server address information, discarding the first message according to the discarding identification.
10. The method according to claim 9, wherein the method further comprises:
After receiving the request confirmation message, modifying operation identification information which corresponds to the terminal address information and the first server address information together in the preset data set into a redirection identification;
and if the source address information in the received second message is matched with the terminal address information and the destination address information is matched with the first server address information, forwarding the second message to the second server according to the redirection identification.
11. The method according to claim 10, wherein the method further comprises:
Receiving a migration cancellation request from the second server, wherein the migration cancellation request comprises the terminal address information and the first server address information;
And deleting the terminal address information, the first server address information and the operation identification information in the preset data set in response to the migration cancellation request.
12. A data transmission method, applied to a second server, comprising:
Receiving a data transmission request from a first server, wherein the data transmission request comprises terminal address information and data identification information, the first server is used for receiving a data acquisition request from a terminal, the data acquisition request comprises the terminal address information and the data identification information of data to be acquired, the first server is also used for determining at least one data migration index aiming at the first server, the data migration index comprises equipment load data, migration cost data and transmission performance data, and the migration cost data characterizes the economic cost of transmitting the data to be acquired through the first server; if the data migration index is matched with a preset threshold, server request information comprising the data identification information is sent to a scheduling server to trigger the scheduling server to determine a second server storing the data to be acquired from a plurality of servers based on the data identification information in the server request information; receiving request response information returned by the scheduling server, wherein the request response information comprises second server identification information of the second server;
And inquiring the data to be acquired corresponding to the data identification information from the local area, and sending the data to be acquired to the terminal corresponding to the terminal address information.
13. The method according to claim 12, wherein the locally querying the data to be acquired corresponding to the data identification information and transmitting the data to be acquired to the terminal address information corresponding terminal includes:
analyzing the data transmission request to obtain terminal address information and the data identification information, and returning a request confirmation message to the first server to trigger the first server to respond to the request confirmation message and return a data transmission instruction;
and responding to the received data sending instruction, locally inquiring the data to be obtained corresponding to the data identification information, and sending the data to be obtained to the terminal address information corresponding terminal.
14. The method according to claim 13, wherein the data transmission request further includes key information and data transmission information, and the responding to the received data transmission instruction, locally querying the data to be acquired corresponding to the data identification information, and transmitting the data to be acquired to the terminal address information corresponding terminal, includes:
responding to the received data sending instruction, and locally inquiring data to be acquired corresponding to the data identification information;
Encrypting the data to be acquired identified by the data identification information based on the key information to obtain the encrypted data to be acquired,
And based on the data sending information, packaging the encrypted data to be obtained to obtain at least one data packet, and sending the at least one data packet to a terminal corresponding to the terminal address information.
15. The method of claim 14, wherein the data transmission information includes a start message number, terminal remaining window information, transmission window information of the first server for the terminal, and in-transit data amount information;
The step of packaging the encrypted data to be obtained based on the data sending information to obtain at least one data packet, and sending the at least one data packet to the terminal corresponding to the terminal address information, comprises the following steps:
Determining candidate window information for the data to be acquired based on the sending window information and the in-transit data volume information;
selecting target window information aiming at the data to be acquired from the candidate window information and the residual window information of the terminal;
and based on the target window information and the initial message number, packaging the encrypted data to be acquired to obtain at least one data packet, and sending the at least one data packet to a terminal corresponding to the terminal address information.
16. A data transmission device, applied to a first server, comprising:
The receiving module is used for receiving a data acquisition request from the terminal, wherein the data acquisition request comprises terminal address information and data identification information of data to be acquired;
An index module for determining at least one data migration index for the first server, the data migration index comprising equipment load data, migration cost data, and transmission performance data, the migration cost data characterizing an economic cost of transmitting data to be acquired through the first server;
The server module is configured to determine, from a plurality of servers, a second server storing the data to be acquired based on the data identification information if the data migration index matches a preset threshold, where the server module includes: if the data migration index is matched with a preset threshold, server request information comprising the data identification information is sent to a scheduling server to trigger the scheduling server to determine a second server storing the data to be acquired from a plurality of servers based on the data identification information in the server request information; receiving request response information returned by the scheduling server, wherein the request response information comprises second server identification information of the second server;
And the sending module is used for sending a data sending request to the second server so as to trigger the second server to send the data to be acquired to the terminal based on the data sending request, wherein the data sending request comprises the terminal address information and the data identification information.
17. A data transmission device, applied to a second server, comprising:
A request receiving module, configured to receive a data transmission request from a first server, where the data transmission request includes terminal address information and data identification information, the first server is configured to receive a data acquisition request from a terminal, where the data acquisition request includes terminal address information and data identification information of data to be acquired, and the first server is further configured to determine at least one data migration indicator for the first server, where the data migration indicator includes equipment load data, migration cost data, and transmission performance data, and the migration cost data characterizes an economic cost of transmitting the data to be acquired through the first server; if the data migration index is matched with a preset threshold, server request information comprising the data identification information is sent to a scheduling server to trigger the scheduling server to determine a second server storing the data to be acquired from a plurality of servers based on the data identification information in the server request information; receiving request response information returned by the scheduling server, wherein the request response information comprises second server identification information of the second server;
and the data sending module is used for locally inquiring the data to be acquired corresponding to the data identification information and sending the data to be acquired to the terminal corresponding to the terminal address information.
18. A computer device comprising a memory and a processor; the memory stores an application program, and the processor is configured to execute the application program in the memory to perform the steps in the data transmission method according to any one of claims 1 to 15.
19. A computer readable storage medium, characterized in that the computer readable storage medium stores a computer program adapted to be loaded by a processor for performing the steps in the data transmission method according to any one of claims 1 to 15.
20. A computer program product comprising a computer program or instructions for execution by a processor to perform the steps of the data transmission method of any one of claims 1 to 15.
CN202410047205.9A 2024-01-12 2024-01-12 Data transmission method, device, computer equipment and computer readable storage medium Active CN117768467B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410047205.9A CN117768467B (en) 2024-01-12 2024-01-12 Data transmission method, device, computer equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410047205.9A CN117768467B (en) 2024-01-12 2024-01-12 Data transmission method, device, computer equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN117768467A CN117768467A (en) 2024-03-26
CN117768467B true CN117768467B (en) 2024-05-24

Family

ID=90320034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410047205.9A Active CN117768467B (en) 2024-01-12 2024-01-12 Data transmission method, device, computer equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN117768467B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116723195A (en) * 2023-08-11 2023-09-08 腾讯科技(深圳)有限公司 Data transmission method, device, electronic equipment and storage medium
CN116743754A (en) * 2023-06-28 2023-09-12 中国工商银行股份有限公司 Information processing method, device, server cluster, electronic equipment and medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108494720B (en) * 2017-02-23 2021-02-12 华为软件技术有限公司 Scheduling method based on session migration and server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116743754A (en) * 2023-06-28 2023-09-12 中国工商银行股份有限公司 Information processing method, device, server cluster, electronic equipment and medium
CN116723195A (en) * 2023-08-11 2023-09-08 腾讯科技(深圳)有限公司 Data transmission method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN117768467A (en) 2024-03-26

Similar Documents

Publication Publication Date Title
US10812358B2 (en) Performance-based content delivery
CN109302346B (en) Method and device for transmitting data flow
WO2018152919A1 (en) Path selection method and system, network acceleration node, and network acceleration system
US9838333B2 (en) Software-defined information centric network (ICN)
EP3337103B1 (en) Scalable messaging system
CN108900374B (en) Data processing method and device applied to DPI equipment
CN103339901A (en) Terminal and intermediate node in content oriented networking environment and communication method of terminal and intermediate node
CN108353022B (en) Data message processing method, device and system
CN110336848B (en) Scheduling method, scheduling system and scheduling equipment for access request
CN111352716B (en) Task request method, device and system based on big data and storage medium
EP2880839A2 (en) Web caching method and system for content distribution network (cdn)
CN108206788B (en) Traffic service identification method and related equipment
CN113517985B (en) File data processing method and device, electronic equipment and computer readable medium
WO2022007008A1 (en) Resource request response method, redirection server and decision distribution server
US11606415B2 (en) Method, apparatus and system for processing an access request in a content delivery system
US10511494B2 (en) Network control method and apparatus
CN117768467B (en) Data transmission method, device, computer equipment and computer readable storage medium
CN110611937A (en) Data distribution method and device, edge data center and readable storage medium
Ko et al. Timer-based bloom filter aggregation for reducing signaling overhead in distributed mobility management
CN115277504B (en) Network traffic monitoring method, device and system
US11128520B2 (en) System and method for real-time network engineering control
CN111294553B (en) Method, device, equipment and storage medium for processing video monitoring service signaling
US20090259712A1 (en) Distributed processing device, distributed processing method, and program
Jeon et al. Hierarchical Network Data Analytics Framework for 6G Network Automation: Design and Implementation
Tan et al. Scheduling of distributed collaborative tasks on ndn based manet

Legal Events

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