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

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

Info

Publication number
CN114285791B
CN114285791B CN202111552845.8A CN202111552845A CN114285791B CN 114285791 B CN114285791 B CN 114285791B CN 202111552845 A CN202111552845 A CN 202111552845A CN 114285791 B CN114285791 B CN 114285791B
Authority
CN
China
Prior art keywords
service
data
target
service end
forwarding
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
CN202111552845.8A
Other languages
Chinese (zh)
Other versions
CN114285791A (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.)
Shanghai Xuanxian Technology Co ltd
Original Assignee
Shanghai Xuanxian Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Xuanxian Technology Co ltd filed Critical Shanghai Xuanxian Technology Co ltd
Priority to CN202111552845.8A priority Critical patent/CN114285791B/en
Publication of CN114285791A publication Critical patent/CN114285791A/en
Application granted granted Critical
Publication of CN114285791B publication Critical patent/CN114285791B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present disclosure proposes a data transmission method, apparatus, computer device, and storage medium, the method comprising: the method comprises the steps of obtaining target client identification, data to be transmitted and data detection information of a target client, determining a routing relation among a first service identification, a second service identification of at least one second service end and the target client identification according to the target client identification and the data detection information, constructing a cascade routing relation according to the routing relation, sending the data to be transmitted to the target client through the service end in the cascade routing relation, calculating a better cascade routing relation among a plurality of service ends, and effectively reducing data transmission delay, avoiding packet loss phenomenon in a data transmission process and effectively improving data transmission efficiency when data is forwarded on a transmission path determined based on the cascade routing relation.

Description

Data transmission method, device, computer equipment and storage medium
Technical Field
The disclosure relates to the technical field of internet, and in particular relates to a data transmission method, a data transmission device, computer equipment and a storage medium.
Background
In the context of internet data transmission applications, data is transmitted between two communication nodes, typically by forwarding the data directly through a single server, or by exchanging the data by directly connecting the two communication nodes.
In this way, the data transmission range covers a larger geographical area, for example, the data transmission range covers a plurality of provinces, a plurality of countries or a plurality of continents, so that the data transmission efficiency cannot be ensured, resulting in larger data transmission delay, higher data transmission cost and poor data transmission efficiency.
Disclosure of Invention
The present disclosure aims to solve, at least to some extent, one of the technical problems in the related art.
Therefore, an object of the present disclosure is to provide a data transmission method, apparatus, computer device, and storage medium, which can calculate a better cascade routing relationship between a plurality of servers, and when a transmission path determined based on the cascade routing relationship performs data forwarding, can effectively reduce data transmission delay, avoid a packet loss phenomenon in a data transmission process, and effectively improve data transmission efficiency.
The data transmission method provided by the embodiment of the first aspect of the present disclosure is applied to a first service end, where the first service end has a first service identifier, and includes:
Acquiring a target client identifier, data to be transmitted and data detection information of a target client;
determining a routing relationship among the first service identifier, the second service identifier of at least one second service end and the target client identifier according to the target client identifier and the data detection information;
constructing a cascade routing relation according to the routing relation;
and sending the data to be transmitted to a target client through the server in the cascade routing relationship.
According to the data transmission method provided by the embodiment of the first aspect of the disclosure, the target client identifier of the target client, the data to be transmitted and the data detection information are obtained, the routing relationship among the first service identifier, the second service identifier of the at least one second service end and the target client identifier is determined according to the target client identifier and the data detection information, the cascade routing relationship is constructed according to the routing relationship, the data to be transmitted is sent to the target client through the service end in the cascade routing relationship, the better cascade routing relationship among a plurality of service ends can be calculated, when the data is forwarded based on the transmission path determined by the cascade routing relationship, the data transmission delay can be effectively reduced, the packet loss phenomenon in the data transmission process is avoided, and the data transmission efficiency is effectively improved.
An embodiment of a second aspect of the present disclosure provides a data transmission device applied to a first service end, where the first service end has a first service identifier, including:
the data acquisition module is used for acquiring a target client identifier of a target client, data to be transmitted and data detection information;
the map data management module is used for determining a routing relationship among the first service identifier, the second service identifier of at least one second service end and the target client identifier according to the target client identifier and the data detection information;
the optimal path module is used for constructing a cascade routing relationship according to the routing relationship;
and the forwarding module is used for sending the data to be transmitted to a target client through the server in the cascade routing relationship.
According to the data transmission device provided by the second aspect of the embodiment of the present disclosure, by acquiring the target client identifier of the target client, the data to be transmitted and the data detection information, determining the routing relationship among the first service identifier, the second service identifier of the at least one second service end and the target client identifier according to the target client identifier and the data detection information, constructing a cascade routing relationship according to the routing relationship, and sending the data to be transmitted to the target client through the service end in the cascade routing relationship, the preferred cascade routing relationship among the plurality of service ends can be calculated, and when the data is forwarded based on the transmission path determined by the cascade routing relationship, the data transmission delay can be effectively reduced, the packet loss phenomenon in the data transmission process is avoided, and the data transmission efficiency is effectively improved.
An embodiment of a third aspect of the present disclosure proposes a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor implements a data transmission method as proposed in an embodiment of the first aspect of the present disclosure when the program is executed by the processor.
An embodiment of a fourth aspect of the present disclosure proposes a non-transitory computer-readable storage medium, on which a computer program is stored, which program, when being executed by a processor, implements a data transmission method as proposed by an embodiment of the first aspect of the present disclosure.
Embodiments of a fifth aspect of the present disclosure propose a computer program product which, when executed by an instruction processor in the computer program product, performs a data transmission method as proposed by embodiments of the first aspect of the present disclosure.
Additional aspects and advantages of the disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the disclosure.
Drawings
The foregoing and/or additional aspects and advantages of the present disclosure will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings, in which:
fig. 1 is a flow chart of a data transmission method according to an embodiment of the disclosure;
Fig. 2 is a flow chart of a data transmission method according to another embodiment of the disclosure;
fig. 3 is a schematic diagram of a route determination procedure according to an embodiment of the present disclosure
Fig. 4 is a schematic diagram of a network transmission flow according to an embodiment of the disclosure;
fig. 5 is a schematic structural diagram of a data transmission device according to an embodiment of the disclosure;
fig. 6 is a schematic structural diagram of a data transmission device according to an embodiment of the disclosure;
fig. 7 illustrates a block diagram of an exemplary computer device suitable for use in implementing embodiments of the present disclosure.
Detailed Description
Embodiments of the present disclosure are described in detail below, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to like or similar elements or elements having like or similar functions throughout. The embodiments described below by referring to the drawings are exemplary only for explaining the present disclosure and are not to be construed as limiting the present disclosure. On the contrary, the embodiments of the disclosure include all alternatives, modifications, and equivalents as may be included within the spirit and scope of the appended claims.
Fig. 1 is a flow chart of a data transmission method according to an embodiment of the disclosure.
It should be noted that, the execution body of the data transmission method of the present embodiment is a data transmission device, and the device may be implemented by software and/or hardware, and the device may be configured in a computer device, where the computer device may include, but is not limited to, a terminal, a server, and the like.
As shown in fig. 1, the data transmission method includes:
the embodiment may be applied to a first service end, where the first service end has a first service identifier, where the service end used for transmitting and forwarding data to be transmitted (the service end is an application node used for data forwarding in a network) may be referred to as a first service end, where the first service identifier is used for uniquely identifying the first service end, and the first service identifier may be a device number of the first service end or any other identifier of any form, and when the first service end transmits and forwards data to be transmitted, the first service end may specifically transmit the data to be transmitted to the service end serving as a transmission target, and the service end serving as the transmission target transmits the data to the client of the target, where this is not limited.
S101: and acquiring a target client identifier, data to be transmitted and data detection information of the target client.
The target client refers to a client that is a transmission target (i.e. a client to which data to be transmitted needs to be transmitted), and the target client identifier may be used to uniquely identify the target client, where the target client identifier may be a device number of the target client or any other identifier, which is not limited thereto.
The data to be transmitted may be audio data or video data, and the like, which is not limited.
The data detection information refers to link detection data information between the server and the server. Optionally, the data probe information includes: load weight information, round trip delay information, and packet loss rate information.
In some embodiments, the target client identification and the data to be transmitted are carried in a data transmission request.
In this embodiment of the present disclosure, a data transmission interface may be configured on a data transmission device configured in a client that sends data to be transmitted, a data transmission instruction input by a user is received via the data transmission interface, the data to be transmitted is obtained by parsing the data transmission instruction, then a target client identifier of a target client to which the data to be transmitted needs to be transmitted is determined, the data to be transmitted and the target client identifier are packaged into a data transmission request, the data transmission request is sent to a first service end by the client that sends the data to be transmitted, and then the first service end may dynamically monitor whether the data transmission request is received, and if so, the target client identifier of the target client and the data to be transmitted may be directly obtained by parsing the data transmission request, and trigger subsequent data transmission processing logic.
Or, the first service end may receive the data transmission request forwarded by other electronic devices, parse the data transmission request to obtain the target client identifier of the target client and the data to be transmitted, and trigger the subsequent data transmission processing logic, which is not limited.
In some embodiments, before the electronic device or the client that sends the data transmission request accesses the first server, the server may perform complete authentication on the client to confirm validity of the client, so that the data to be transmitted may be data that is not encrypted, and on the premise of ensuring data transmission security, a process that the server encrypts and decrypts the data to be transmitted is omitted, thereby further reducing data transmission delay and improving data transmission efficiency.
In some embodiments, the first service end may be deployed with a plurality of machines, where the first service end obtains the data by the plurality of machines, and only one machine collects the obtained data at a time, so as to avoid repeatedly pulling the data.
Alternatively, the plurality of machines is deployed in a master mode. When data are collected, a Redis distributed lock mode is adopted to determine a machine for collecting the data from a plurality of machines, and the machine for obtaining the Redis distributed lock is the machine for collecting the data currently.
In some embodiments, the data probe information is obtained according to a data response request fed back by the server side of the received probe in response to the data probe request.
S102: and determining a routing relationship among the first service identifier, the second service identifier of the at least one second service end and the target client identifier according to the target client identifier and the data detection information.
In the embodiment of the disclosure, when the first service end performs transmission forwarding on the data to be transmitted, the data to be transmitted may be specifically forwarded to the service end serving as a transmission target, and the service end serving as the transmission target transmits the data to be transmitted to the target client, where the service end serving as the transmission target may be referred to as a second service end, the second service identifier may be used to uniquely identify the second service end, and the second service identifier may be a device number of the second service end or any other identifier in any form, which is not limited thereto.
The routing relationship is a relationship of paths for forwarding transmission between communication links between multiple servers, and the routing relationship may be a graph structure, where the vertices of the graph are the servers and the target clients. The routing relationship may be used to describe a logical relationship between a plurality of servers (the first server and the second server may belong to the plurality of servers) and a client (the target client and the client sending the data to be transmitted may also belong to the plurality of clients) for transmitting the data forwarding route, where the second server may be a server on a next hop of the first server, and a forwarding hop order corresponding to the different servers may be referred to as a forwarding order.
Optionally, in some embodiments, the number of the second service identifiers may be multiple, where the multiple second service identifiers respectively identify multiple second service ends, and the multiple second service ends respectively have multiple forwarding orders.
In some embodiments, the central server obtains the target client identification and the data probe information, and determines a routing relationship between the first service identification, the second service identification of the at least one second service end, and the target client identification based on the target client identification and the data probe information. The first server may query the central server for the routing relationship.
The central server is a logically central server, can master the network information of the global server and is responsible for controlling various forwarding rules.
In some implementations, the routing relationship can be a shortest path from the first service end to the target client.
S103: and constructing a cascade routing relationship according to the routing relationship.
The cascading routing relationship in the embodiment of the present disclosure includes: the routing relationship between the first service identifier, the second service identifier, and the target client identifier, that is, the cascade routing relationship includes a logical relationship of forwarding routes between the first service end, the second service end, and the target client.
It should be noted that, in the embodiment of the present disclosure, the cascade routing relationship refers to a logical relationship of an optimal forwarding route between a first server to a target client, and a second server in the cascade routing relationship is a necessary server in the optimal path.
The cascade routing relationship may be identified from the routing relationship network according to the first service identifier, the second service identifier, and the target client identifier, or may also detect each forwarding node service end in the routing relationship network according to the first service identifier and the target client identifier, use the service end with the detection performance meeting the requirement as the second service end, and then determine the second service identifier of the second service end to assist the subsequent data transmission logic, which is not limited.
In some embodiments, after constructing the cascade routing relationship according to the routing relationship, the method further includes: determining a first forwarding order of the first server; determining a second forwarding order corresponding to the first forwarding order, the second forwarding order being subsequent to and adjacent to the first forwarding order; and determining a target second service identifier from the plurality of second service identifiers according to the second forwarding order, wherein the target second service identifier belongs to the plurality of second service identifiers.
Optionally, in some embodiments, the number of the second service identifiers may be multiple, where the multiple second service identifiers respectively identify a plurality of second service ends, and the multiple second service ends respectively have a plurality of forwarding orders corresponding to the plurality of second service ends, so that a cascading routing relationship between the first service end and the multiple second service ends can be determined with assistance of referencing the plurality of forwarding orders corresponding to the plurality of second service ends, and when data transmission is assisted by adopting the cascading routing relationship between the multiple first service ends and the multiple second service ends, resource occupation of a single service end can be effectively avoided, data transmission performance is effectively ensured, and data transmission efficiency is ensured.
For example, assuming that the second server includes a second server a, a second server B, and a second server C, it is determined that the target client and the second server a, the second server B, and the second server C form a cascade routing relationship, and the corresponding target client is transmitted to the second server a, retransmitted to the second server B by the second server a, and retransmitted to the second server C by the second server B, and then the data to be transmitted may be correspondingly transmitted and forwarded based on the cascade routing relationship, which is not limited.
The data forwarding order refers to an order of each server through which data passes in the network transmission process, the forwarding order corresponding to the second server a may be, for example, a first hop in a cascade routing relationship, the forwarding order corresponding to the second server B may be, for example, a second hop in a cascade routing relationship, the forwarding order corresponding to the second server C may be, for example, a third hop in a cascade routing relationship, and so on, which is not limited.
S104: and sending the data to be transmitted to the target client through the server in the cascade routing relationship.
For example, the cascade routing relationship includes: the forwarding order of the cascade routing relationship is that the second service end B is a first hop in the cascade routing relationship, the second service end C is a second hop in the cascade routing relationship, and the second service end C sends data to the target client. The data to be transmitted is sent to the target client through the server in the cascade routing relation as follows: the first server A forwards the data to be transmitted to the second server B, the second server B forwards the data to be transmitted to the second server C, and the second server C forwards the data to be transmitted to the target client.
In some embodiments, after the cascading routing relationship is constructed, the first service end may generate a data forwarding request according to the data to be transmitted and the target client identifier, and send the data forwarding request to the second service end to which the second service identifier belongs.
The data forwarding request may trigger the first service end to transmit the data to be transmitted to a second service end to which the second service identifier belongs, where the second service end may be a service end after the first service end in the cascade routing relationship, and after the first service end sends the data forwarding request to the second service end to which the second service identifier belongs, the second service end may execute the data transmission method in this embodiment to transmit the data to be transmitted to the next hop service end, which may refer to the subsequent embodiments specifically.
In this embodiment, by acquiring the target client identifier of the target client, the data to be transmitted and the data detection information, determining the routing relationship among the first service identifier, the second service identifier of the at least one second service end and the target client identifier according to the target client identifier and the data detection information, constructing a cascade routing relationship according to the routing relationship, and sending the data to be transmitted to the target client through the service end in the cascade routing relationship, a better cascade routing relationship among a plurality of service ends can be calculated, and when the data is forwarded based on the transmission path determined by the cascade routing relationship, the data transmission delay can be effectively reduced, the packet loss phenomenon in the data transmission process is avoided, and the data transmission efficiency is effectively improved.
Fig. 2 is a flow chart of a data transmission method according to an embodiment of the disclosure.
The execution body of the embodiment is the first service side, and the description of the first service side may be specifically referred to above, which is not repeated herein.
As shown in fig. 2, the data transmission method includes:
s201: and acquiring a target client identifier, data to be transmitted and data detection information of the target client.
In some embodiments, the target client identification and the data to be transmitted are carried in a data transmission request.
In some embodiments, acquiring data probe information includes: respectively sending first data detection requests to a first number of second service ends, wherein the first number is smaller than or equal to the total number of the second service ends;
and receiving data response requests fed back by the first number of second service ends, and acquiring first number of data detection information corresponding to the first number of second service ends respectively.
And then, determining a target second service end in the first number of second service ends, and sending a second data detection request to the target second service end so as to trigger the target second service end based on the second data detection request, and detecting a next-hop service end corresponding to the second service end from a plurality of second service ends.
In some embodiments, the data probe information is obtained by traversing the server node.
S202: a routing relationship between the first service identification, the plurality of second service identifications, and the target customer identification is determined.
The routing relationship may be a graph structure, and the vertex of the graph is the service end and the target client.
In the embodiment of the disclosure, when determining the routing relationship among the first service identifier, the plurality of second service identifiers, and the target client identifier, the routing relationship among the first service identifier, the plurality of second service identifiers, and the target client identifier may be determined by sending a data probe request to each forwarding node service end in the routing relationship network according to the first service identifier and the target client identifier, detecting the plurality of service ends that receive the response as the plurality of second service ends, determining the plurality of second service identifiers corresponding to the plurality of second service ends, associating the logical relationship among forwarding routes of the first service identifier, the plurality of second service identifiers, and the target client identifier, or determining the routing relationship among the first service identifier, the plurality of second service identifiers, and the target client identifier by using a routing calculation algorithm, without limitation.
For example, as shown in fig. 3, fig. 3 is a schematic route judgment flow chart in this embodiment, when data is transmitted in a network, a Real-time transmission protocol (Real-time Transport Protocol, RTP) connection and an RTP control protocol (Real-time Transport Protocol Control Protocol, RTCP) connection are established between service ends, and a software defined network (Software Defined Network, SDN) architecture may be used, after the SDN receives a cascading request (the cascading request may be a data probe request), according to data probe information returned by a second service end, an optimal route path for transmitting data between a plurality of service ends is calculated by using a route calculation algorithm, and a user datagram protocol (User Datagram Protocol, UDP) route packet is initiated, the service end that receives the probe packet parses the probe packet to obtain an address of a next hop service end, if the service end does not receive response information of the next hop service end, after exceeding a set time, the service end receives the response information of the next hop, and the service end continuously hops to send the route packet according to a timeout retransmission protocol, if the service end does not receive the response information of the next hop, and the service end still receives the largest response information of the service end and the service end continuously hops to send the data packet until the data is successfully, and the service end is continuously sent to the service end after the service end has successfully received the next hop, and the data hop has been successfully received the response information and the service end is successfully received, and the data hop is continuously sent to the service end.
Optionally, in some embodiments, the data probe information includes: the data detection information can represent the performance condition of transmitting and forwarding data of each server, so that a better route forwarding path can be determined according to diversified and multidimensional data detection information, the data transmission efficiency is improved, the judgment accuracy of the forwarding performance of the server can be effectively assisted, the judgment effect of the forwarding performance is improved, and the data transmission robustness is ensured.
The load weight information refers to priority selection sequence information of forwarding data of different second service ends, the load refers to the number of data forwarding tasks borne by the second service ends, the weight refers to the priority selected by the second service ends in the data transmission process, the weight of the service ends can be adjusted according to the load size, when the load of the second service ends is increased, the weight of the second service ends is reduced, when the weight of the second service ends is reduced to a set value, the second service ends can not be continuously allocated with the data forwarding tasks, and then the service ends with the largest weight are selected for data forwarding.
Wherein the round trip delay information indicates a total time elapsed from when the transmitting end (the transmitting end may be the first service end) transmits data to be transmitted to when the transmitting end receives acknowledgement information from the receiving end (the receiving end may be the second service end).
The packet loss rate information refers to a condition of loss to be transmitted in a data transmission process, the condition is returned to a service end for forwarding data by the service end serving as a transmission target, the data to be transmitted is transmitted in a form of a plurality of data packets in a network transmission process, a phenomenon that the data packets are lost in the network transmission process due to some reasons is called packet loss, and the lost reasons can be caused by network congestion or caused by equipment reasons such as a router switch and the like, so that the method is not limited.
In the embodiment of the disclosure, after the second server corresponding to the target data detection information is used as the target second server, a second data detection request may be sent to the target second server, so that the target second server is triggered based on the second data detection request, and the next hop server corresponding to the second server is detected from among the plurality of second servers, so that it may be determined that the target second server performs data forwarding.
The second data probe request may be a request to obtain load weight information of the second server, so that the obtained information is compared with the existing information, a better route forwarding path is determined, a corresponding next-hop server is determined, and the target second server is triggered to forward data.
In some embodiments, the central server determines a routing relationship between the first server, the plurality of second servers, and the target client based on the target client identification and the data probe information.
Optionally, the central server periodically generates the full-source shortest path in the routing relationship graph according to the routing relationship.
S203: and constructing a cascade routing relationship according to the routing relationship.
In the embodiment of the disclosure, after determining the routing relationship among the first service identifier, the plurality of second service identifiers, and the target client identifier, a cascade routing relationship among the first service identifier, the plurality of second service identifiers, and the target client identifier may be constructed according to the routing relationship, where the cascade routing relationship includes a logical relationship of forwarding routes among the first service end, the second service end, and the target client.
It should be noted that, the cascade routing relationship is an optimal path for data transmission from the first server to the target client.
In some embodiments, the first service end determines a full-source shortest path in the routing relationship graph according to the routing relationship among the first service identifier, the plurality of second service identifiers, and the target client identifier. If the routing relation diagram does not have the full source shortest path, the single source shortest path in the routing relation diagram can be determined according to the routing relation.
In some embodiments, the central server determines a routing relationship among the first service end, the plurality of second service ends and the target client according to the target client identification and the data detection information, and periodically generates a full-source shortest path in the routing relationship diagram according to the routing relationship. And the first server side inquires the all-source shortest path and constructs a cascade routing relationship according to the all-source shortest path. If the routing relation diagram does not have the full source shortest path, the single source shortest path in the routing relation diagram can be determined according to the routing relation. The first server queries the single-source shortest path.
In some embodiments, the central server sets a shortest path between specified servers for the specified servers. Before constructing a cascade routing relation according to the routing relation, the first server sends a query request to the central server to query whether a shortest path between preset designated servers exists in the routing relation. If so, the shortest path between the preset designated servers is the constructed cascade routing relationship. If not, determining the full-source shortest path or the single-source shortest path in the routing relation diagram according to the routing relation as a cascade routing relation.
For example, as shown in fig. 4, fig. 4 is a network transmission flow chart in this embodiment, which shows a process that clients belonging to different areas communicate through a service end cascade, a left Hong Kong (HK) room cluster represents users of Hong Kong, a right Washington (d.c.), and a WDC) room cluster represents users of Washington, the users of Hong Kong access to a server of Hong Kong nearby, the server may be regarded as a service end, the users of Washington access to the server of Washington nearby, an optimal data routing transmission path from the server of Hong Kong to the server of Washington is calculated through a cloud computing center, and then a cascade routing relationship is constructed according to a routing relationship between selective forwarding units (Selective Forwarding Unit, SFU) of two clients, and then the cascade routing relationship is issued to the data forwarding server for forwarding.
S204: a first forwarding order for the first service side is determined.
The first forwarding order may be a path through which the data is forwarded to the second server via the first server.
In the embodiment of the disclosure, when determining the first forwarding order of the first service end, the next-hop service end corresponding to the first service end may be determined by using an availability magnitude routing algorithm, and then the first forwarding order of the first service end is determined according to the logic relationship between the first service end and the forwarding route of the next-hop service end, or the next-hop service end corresponding to the first service end may also be determined by using a management distance routing algorithm, and the like, and then the first forwarding order of the first service end is determined according to the logic relationship between the first service end and the forwarding route of the next-hop service end, which is not limited.
The first forwarding order is that in the cascade routing relationship, the forwarding order from the first server to the next hop server is the first forwarding order.
S205: a second forwarding order corresponding to the first forwarding order is determined, the second forwarding order being subsequent to and adjacent to the first forwarding order.
The second forwarding order corresponding to the first forwarding order refers to an order in which data is transferred to a next-hop server after being forwarded to the second server, the next-hop server belongs to a plurality of second servers, and the second forwarding order is after the first forwarding order and is adjacent to the first forwarding order.
In the embodiment of the disclosure, when determining the second forwarding order corresponding to the first forwarding order, a data probe request may be sent to a second server in the routing relationship network, a target second server is determined from the second servers that receive the data probe response, and the second forwarding order is generated according to a second service identifier of the second server.
S206: and determining a target second service identifier from the plurality of second service identifiers according to the second forwarding order, wherein the target second service identifier belongs to the plurality of second service identifiers.
The number of the second service terminals is a plurality of, and a second service terminal with optimal data forwarding performance is determined from a plurality of second service terminals described by a plurality of second service identifiers, wherein the second service terminal can be called a target second service terminal, the target second service identifier is used for identifying a target second service terminal, and the target second service identifier belongs to the plurality of second service identifiers.
In the embodiment of the present disclosure, after determining the second forwarding order corresponding to the first forwarding order, a target second service identifier may be determined from a plurality of second service identifiers according to the second forwarding order, and then a second service end corresponding to the target second service identifier is used as a target second service end, where the target second service end is a next-hop service end of the first service end, and data to be transmitted is transmitted to the second service end according to the second forwarding order.
S207: and generating a data forwarding request according to the data to be transmitted and the target client identifier, and sending the data forwarding request to a second server to which the second service identifier belongs.
The first server generates a data forwarding request according to the data to be transmitted and the first client identifier, and sends the data forwarding request to a second server to which the second service identifier belongs.
The data forwarding request may trigger the first service end to transmit the data to be transmitted to a second service end to which the second service identifier belongs, where the second service end may be a service end after the first service end in the cascade routing relationship, and after the first service end sends the data forwarding request to the second service end to which the second service identifier belongs, the second service end may execute the data transmission method in this embodiment to transmit the data to be transmitted to the next hop service end.
In this embodiment, a first service identifier, a plurality of second service identifiers, and a routing relationship between the target client identifiers are determined by acquiring a target client identifier of a target client, data to be transmitted and data probe information, a cascade routing relationship is constructed according to the routing relationship, a first forwarding order of the first service end is determined, a second forwarding order corresponding to the first forwarding order is determined, the second forwarding order is behind the first forwarding order and adjacent to the first forwarding order, a target second service identifier is determined from the plurality of second service identifiers according to the second forwarding order, wherein the target second service identifier belongs to the plurality of second service identifiers, a data forwarding request is generated according to the data to be transmitted and the target client identifier, and is sent to the second service end to which the second service identifier belongs, when data forwarding is performed based on the second service identifier determined by the cascade routing relationship, packet loss phenomenon in a data transmission process can be effectively reduced, data transmission efficiency can be effectively improved, the second service end corresponding to the target data probe information is determined according to the target data probe information, the second service end can be used as a plurality of target service ends, the data probe information can be forwarded in a plurality of service ends, and the data probe information can be more efficiently forwarded according to the target data probe information, thereby completing the data forwarding can be performed in a plurality of service paths, the data transmission efficiency is improved, the judgment accuracy of the forwarding performance of the server side can be effectively assisted, the judgment effect of the forwarding performance is improved, and the data transmission robustness is ensured.
Fig. 5 is a schematic structural diagram of a data transmission device according to an embodiment of the disclosure.
The embodiment is applied to a first service end, wherein the first service end is provided with a first service identifier.
As shown in fig. 5, the data transmission device 50 includes:
the data acquisition module 510 is configured to acquire a target client identifier of a target client, data to be transmitted, and data detection information;
a graph data management module 520, configured to determine a routing relationship among the first service identifier, the second service identifier of the at least one second service end, and the target client identifier according to the target client identifier and the data probe information;
an optimal path module 530, configured to construct a cascade routing relationship according to the routing relationship;
and the forwarding module 540 is configured to send the data to be transmitted to a target client through a server in the cascade routing relationship.
In some embodiments, the target client identification of the target client and the data to be transmitted are carried in a data transmission request.
In some embodiments, the number of the second service identifiers is a plurality, and the plurality of second service identifiers respectively identify a plurality of second service ends, and the plurality of second service ends respectively have a plurality of forwarding orders.
In some embodiments, as shown in fig. 6, the apparatus further comprises:
a first determining module 550, configured to determine a first forwarding order of the first server;
a second determining module 560, configured to determine a second forwarding order corresponding to the first forwarding order, where the second forwarding order is subsequent to the first forwarding order and is adjacent to the first forwarding order;
a third determining module 570, configured to determine a target second service identifier from the plurality of second service identifiers according to the second forwarding order, where the target second service identifier belongs to the plurality of second service identifiers;
the forwarding module 540 is specifically configured to:
generating a data forwarding request according to the data to be transmitted and the target user identifier;
and sending the data forwarding request to a target second service end to which the target second service identifier belongs, wherein the target second service end is the next hop service end of the first service end.
In some embodiments, the data acquisition module 510 is specifically configured to:
respectively sending first data detection requests to a first number of second service ends, wherein the first number is smaller than or equal to the total number of the plurality of second service ends;
Receiving a data response request fed back by the first number of second service ends, and acquiring first number of data detection information corresponding to the first number of second service ends respectively;
the graph data management module 520 specifically is configured to:
and determining target data detection information from the first quantity of data detection information, and taking a second server corresponding to the target data detection information as the target second server.
In some embodiments, the graph data management module 520 is further configured to:
and sending a second data detection request to the target second service end so as to trigger the target second service end based on the second data detection request, and detecting a next-hop service end corresponding to the second service end from a plurality of second service ends.
In some embodiments, the data probe information includes: load weight information, round trip delay information, and packet loss rate information.
In this embodiment, by acquiring the target client identifier of the target client, the data to be transmitted and the data detection information, determining the routing relationship among the first service identifier, the second service identifier of the at least one second service end and the target client identifier according to the target client identifier and the data detection information, constructing a cascade routing relationship according to the routing relationship, and sending the data to be transmitted to the target client through the service end in the cascade routing relationship, a better cascade routing relationship among a plurality of service ends can be calculated, and when the data is forwarded based on the transmission path determined by the cascade routing relationship, the data transmission delay can be effectively reduced, the packet loss phenomenon in the data transmission process is avoided, and the data transmission efficiency is effectively improved.
To achieve the above embodiments, the present disclosure further proposes a computer device including: the data transmission method according to the foregoing embodiments of the present disclosure is implemented by a memory, a processor, and a computer program stored in the memory and executable on the processor, when the processor executes the program.
In order to implement the above-described embodiments, the present disclosure also proposes a non-transitory computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements a data transmission method as proposed in the foregoing embodiments of the present disclosure.
To achieve the above embodiments, the present disclosure also proposes a computer program product which, when executed by an instruction processor in the computer program product, performs a data transmission method as proposed in the foregoing embodiments of the present disclosure.
Fig. 7 illustrates a block diagram of an exemplary computer device suitable for use in implementing embodiments of the present disclosure. The computer device 12 shown in fig. 7 is merely an example and should not be construed as limiting the functionality and scope of use of the disclosed embodiments.
As shown in fig. 7, the computer device 12 is in the form of a general purpose computing device. Components of computer device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, a bus 18 that connects the various system components, including the system memory 28 and the processing units 16.
Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include industry Standard architecture (Industry Standard Architecture; hereinafter ISA) bus, micro channel architecture (Micro Channel Architecture; hereinafter MAC) bus, enhanced ISA bus, video electronics standards Association (Video Electronics Standards Association; hereinafter VESA) local bus, and peripheral component interconnect (Peripheral Component Interconnection; hereinafter PCI) bus.
Computer device 12 typically includes a variety of computer system readable media. Such media can be any available media that is accessible by computer device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
Memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (Random Access Memory; hereinafter: RAM) 30 and/or cache memory 32. The computer device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from or write to non-removable, nonvolatile magnetic media (not shown in FIG. 7, commonly referred to as a "hard disk drive").
Although not shown in fig. 7, a magnetic disk drive for reading from and writing to a removable non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable non-volatile optical disk (e.g., a compact disk read only memory (Compact Disc Read Only Memory; hereinafter CD-ROM), digital versatile read only optical disk (Digital Video Disc Read Only Memory; hereinafter DVD-ROM), or other optical media) may be provided. In such cases, each drive may be coupled to bus 18 through one or more data medium interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to carry out the functions of the various embodiments of the disclosure.
A program/utility 40 having a set (at least one) of program modules 42 may be stored in, for example, memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment. Program modules 42 generally perform the functions and/or methods in the embodiments described in this disclosure.
The computer device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), one or more devices that enable a user to interact with the computer device 12, and/or any devices (e.g., network card, modem, etc.) that enable the computer device 12 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 22. Moreover, the computer device 12 may also communicate with one or more networks such as a local area network (Local Area Network; hereinafter LAN), a wide area network (Wide Area Network; hereinafter WAN) and/or a public network such as the Internet via the network adapter 20. As shown, network adapter 20 communicates with other modules of computer device 12 via bus 18. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with computer device 12, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
The processing unit 16 executes various functional applications and data processing by running programs stored in the system memory 28, for example, implementing the data transmission method mentioned in the foregoing embodiment.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any adaptations, uses, or adaptations of the disclosure following the general principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
It should be noted that in the description of the present disclosure, the terms "first," "second," and the like are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. Furthermore, in the description of the present disclosure, unless otherwise indicated, the meaning of "a plurality" is two or more.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and further implementations are included within the scope of the preferred embodiment of the present disclosure in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the embodiments of the present disclosure.
It should be understood that portions of the present disclosure may be implemented in hardware, software, firmware, or a combination thereof. In the above-described embodiments, the various steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, may be implemented using any one or combination of the following techniques, as is well known in the art: discrete logic circuits having logic gates for implementing logic functions on data signals, application specific integrated circuits having suitable combinational logic gates, programmable Gate Arrays (PGAs), field Programmable Gate Arrays (FPGAs), and the like.
Those of ordinary skill in the art will appreciate that all or a portion of the steps carried out in the method of the above-described embodiments may be implemented by a program to instruct related hardware, where the program may be stored in a computer readable storage medium, and where the program, when executed, includes one or a combination of the steps of the method embodiments.
Furthermore, each functional unit in the embodiments of the present disclosure may be integrated in one processing module, or each unit may exist alone physically, or two or more units may be integrated in one module. The integrated modules may be implemented in hardware or in software functional modules. The integrated modules may also be stored in a computer readable storage medium if implemented in the form of software functional modules and sold or used as a stand-alone product.
The above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, or the like.
In the description of the present specification, a description referring to terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present disclosure. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
Although embodiments of the present disclosure have been shown and described above, it will be understood that the above embodiments are illustrative and not to be construed as limiting the present disclosure, and that variations, modifications, alternatives, and variations may be made to the above embodiments by one of ordinary skill in the art within the scope of the present disclosure.

Claims (16)

1. A data transmission method, applied to a first service end, where the first service end has a first service identifier, the method comprising:
The method for acquiring the data detection information comprises the steps of: respectively sending first data detection requests to a first number of second service ends, receiving data response requests fed back by the first number of second service ends, and obtaining first number of data detection information respectively corresponding to the first number of second service ends;
determining a routing relation among the first service identifier, the second service identifier of at least one second service end and the target client identifier according to the target client identifier and the data detection information, wherein the target data detection information is determined from the first number of data detection information, and the second service end corresponding to the target data detection information is used as a target second service end;
constructing a cascade routing relation according to the routing relation;
and sending the data to be transmitted to a target client through the server in the cascade routing relationship.
2. The method of claim 1, wherein the target client identification of the target client and the data to be transmitted are carried in a data transmission request.
3. The method of claim 1, wherein the number of second service identifiers is a plurality, the plurality of second service identifiers each identifying a corresponding plurality of second service ends, the plurality of second service ends each having a corresponding plurality of forwarding orders.
4. The method of claim 3, further comprising, after said constructing a cascading routing relationship from said routing relationship:
determining a first forwarding order of the first server;
determining a second forwarding order corresponding to the first forwarding order, the second forwarding order being subsequent to and adjacent to the first forwarding order;
determining a target second service identifier from the plurality of second service identifiers according to the second forwarding order, wherein the target second service identifier belongs to the plurality of second service identifiers;
the sending the data to be transmitted to the target client through the server in the cascade routing relationship includes:
generating a data forwarding request according to the data to be transmitted and the target client identifier;
and sending the data forwarding request to a target second service end to which the target second service identifier belongs, wherein the target second service end is the next hop service end of the first service end.
5. The method of claim 3, wherein the first number is less than or equal to a total number of the plurality of second servers.
6. The method of claim 5, further comprising, after the second server corresponding to the target data probe information is the target second server:
and sending a second data detection request to the target second service end so as to trigger the target second service end based on the second data detection request, and detecting a next-hop service end corresponding to the second service end from a plurality of second service ends.
7. The method of claim 5, wherein the data probe information comprises: load weight information, round trip delay information, and packet loss rate information.
8. A data transmission device, applied to a first service end, where the first service end has a first service identifier, the device comprising:
the data acquisition module is used for acquiring target client identifications, data to be transmitted and data detection information of target clients, and is also used for respectively sending first data detection requests to a first number of second service ends, receiving data response requests fed back by the first number of second service ends and acquiring the first number of data detection information respectively corresponding to the first number of second service ends;
The map data management module is used for determining a routing relationship among the first service identifier, the second service identifier of at least one second service end and the target client identifier according to the target client identifier and the data detection information, wherein the target data detection information is determined from the first number of data detection information, and the second service end corresponding to the target data detection information is used as a target second service end;
the optimal path module is used for constructing a cascade routing relationship according to the routing relationship;
and the forwarding module is used for sending the data to be transmitted to a target client through the server in the cascade routing relationship.
9. The apparatus of claim 8, wherein a target client identification of the target client and the data to be transmitted are carried in a data transmission request.
10. The apparatus of claim 8, wherein the number of second service identifiers is a plurality, the plurality of second service identifiers each identifying a corresponding plurality of second service ends, the plurality of second service ends each having a corresponding plurality of forwarding orders.
11. The apparatus of claim 10, wherein the apparatus further comprises:
The first determining module is used for determining a first forwarding order of the first server;
a second determining module, configured to determine a second forwarding order corresponding to the first forwarding order, where the second forwarding order is subsequent to the first forwarding order and is adjacent to the first forwarding order;
a third determining module, configured to determine a target second service identifier from among the plurality of second service identifiers according to the second forwarding order, where the target second service identifier belongs to the plurality of second service identifiers;
the forwarding module is specifically configured to:
generating a data forwarding request according to the data to be transmitted and the target client identifier;
and sending the data forwarding request to a target second service end to which the target second service identifier belongs, wherein the target second service end is the next hop service end of the first service end.
12. The apparatus of claim 10, wherein the first number is less than or equal to a total number of the plurality of second servers.
13. The apparatus of claim 12, wherein the graph data management module is further to:
and sending a second data detection request to the target second service end so as to trigger the target second service end based on the second data detection request, and detecting a next-hop service end corresponding to the second service end from a plurality of second service ends.
14. The apparatus of claim 12, wherein the data probe information comprises: load weight information, round trip delay information, and packet loss rate information.
15. A computer device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.
16. A non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of any one of claims 1-7.
CN202111552845.8A 2021-12-17 2021-12-17 Data transmission method, device, computer equipment and storage medium Active CN114285791B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111552845.8A CN114285791B (en) 2021-12-17 2021-12-17 Data transmission method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111552845.8A CN114285791B (en) 2021-12-17 2021-12-17 Data transmission method, device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114285791A CN114285791A (en) 2022-04-05
CN114285791B true CN114285791B (en) 2023-07-07

Family

ID=80872894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111552845.8A Active CN114285791B (en) 2021-12-17 2021-12-17 Data transmission method, device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114285791B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587275A (en) * 2019-01-08 2019-04-05 网宿科技股份有限公司 A kind of method for building up and proxy server of communication connection

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105634836B (en) * 2014-10-27 2020-03-17 香港理工大学 Information processing method and device
US10069719B2 (en) * 2015-06-16 2018-09-04 Samsung Electronics Co., Ltd. Method and apparatus for multipath media delivery
WO2018094654A1 (en) * 2016-11-24 2018-05-31 深圳前海达闼云端智能科技有限公司 Vpn transmission tunnel scheduling method and device, and vpn client-end server
CN109302346B (en) * 2018-10-25 2020-09-18 网宿科技股份有限公司 Method and device for transmitting data flow
CN110691042A (en) * 2019-10-23 2020-01-14 上海艾融软件股份有限公司 Resource allocation method and device
CN113448594B (en) * 2021-06-29 2024-06-18 京东科技控股股份有限公司 Service processing method, device, computer equipment and storage medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587275A (en) * 2019-01-08 2019-04-05 网宿科技股份有限公司 A kind of method for building up and proxy server of communication connection

Also Published As

Publication number Publication date
CN114285791A (en) 2022-04-05

Similar Documents

Publication Publication Date Title
WO2020001393A1 (en) Method and network node for sending network performance parameter and calculating network performance
US8677011B2 (en) Load distribution system, load distribution method, apparatuses constituting load distribution system, and program
US10798199B2 (en) Network traffic accelerator
EP2874116A1 (en) Communication method between content requester and content provider for providing content and real-time streaming content in content name-based content centric network
US20070041328A1 (en) Devices and methods of using link status to determine node availability
CN103475586B (en) The retransmission method of network data message, Apparatus and system
US11133980B2 (en) Detecting sources of computer network failures
US10326681B2 (en) System and method to analyze route information in a network
CN104468371A (en) Multicast service message processing method and device
WO2023221452A1 (en) Packet processing system and method, device, and storage medium
US9049140B2 (en) Backbone network with policy driven routing
CN114285791B (en) Data transmission method, device, computer equipment and storage medium
JP2012221175A (en) Network failure detection method, device and program in virtual machine environment
US7783784B1 (en) Method and apparatus for adaptive selection of algorithms to load and spread traffic on an aggregation of network interface cards
CN114401318B (en) Data transmission method, device, computer equipment and storage medium
CN112291076A (en) Packet loss positioning method, device and system and computer storage medium
US7616653B1 (en) Network interface card aggregation framework
CN109618015A (en) Stacking implementation method and device are removed based on data center
CN113472670B (en) Method for computer network, network device and storage medium
JP5212021B2 (en) Monitoring program, monitoring method and monitoring apparatus
US10554511B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
CN114401114B (en) Data transmission method, device, electronic equipment and storage medium
CN106664217A (en) Identification of candidate problem network entities
US20240179178A1 (en) Control method and apparatus, computing device, and computer-readable storage medium
CN102347937B (en) Method of sending streaming media data and virtual manager (VM)

Legal Events

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