WO2012072045A1 - Method, network node and system for data transmission in cdn network - Google Patents
Method, network node and system for data transmission in cdn network Download PDFInfo
- Publication number
- WO2012072045A1 WO2012072045A1 PCT/CN2011/083448 CN2011083448W WO2012072045A1 WO 2012072045 A1 WO2012072045 A1 WO 2012072045A1 CN 2011083448 W CN2011083448 W CN 2011083448W WO 2012072045 A1 WO2012072045 A1 WO 2012072045A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- http request
- connection
- tcp connection
- network node
- tcp
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Definitions
- the present invention relates to the field of communication technologies, and in particular, to a CDN (Content Delivery
- CDN is to add the new network architecture to the existing IP transmission network to publish the content of the website to the "edge" of the network closest to the user, so that users can obtain the required content and solve the network congestion. Improve the responsiveness of users to the network.
- the edge server when the user clicks on the connection of a certain content on the website, the corresponding HTTP (Hyper Text Transfer Protocol) request is routed to the edge server; when the edge server checks that it does not cache the content requested by the terminal, Querying, to the CDN routing device, the address information of the regional node or the central node that saves the requested content; the CDN routing device returns the address information of the regional node or the central node that holds the requested content; the edge server saves the content through the HTTP protocol The regional node or central node of the requested content requests content; the regional node or central node returns the requested content to the edge server.
- HTTP Hyper Text Transfer Protocol
- Embodiments of the present invention provide a data transmission method, a network node, and a system in a CDN network, which improve data transmission efficiency.
- an embodiment of the present invention provides a data transmission method in a CDN network, including:
- an embodiment of the present invention provides a network node, including:
- a request receiving unit configured to receive multiple HTTP hypertext transfer protocol request messages
- An obtaining unit configured to acquire data requested by multiple of the HTTP request messages
- the transmitting unit sends the data requested by the HTTP request message by using a response message, where a sequence of data requested by the plurality of the HTTP request messages is sent to obtain data requested by the plurality of HTTP request messages.
- the plurality is at least two.
- an embodiment of the present invention provides a data transmission system including a first network node and a second network node:
- the first network node is configured to receive multiple HTTP request messages, obtain data requested by the HTTP request message, and send data requested by the HTTP request message by using a response message, where multiple HTTP requests are sent.
- the order of the data requested by the message corresponds to the sequence of obtaining the data requested by the plurality of the HTTP request messages;
- the second network node is configured to send the multiple HTTP request messages to the first network node, and receive data requested by the HTTP request message sent by the first network node, where the multiple At least two.
- the order of the data requested by the request message corresponds to the sequence of obtaining the data requested by the multiple HTTP request messages, and the data of the HTTP request obtained first is preferentially transmitted, which can improve the data transmission efficiency.
- FIG. 1 is a schematic flowchart of a data transmission method in a CDN network according to an embodiment of the present invention
- FIG. 2 is a schematic structural diagram 1 of a network node according to an embodiment of the present invention
- FIG. 3 is a schematic diagram 2 of a network node according to an embodiment of the present invention.
- FIG. 4 is a schematic flowchart of a data transmission method in a CDN network according to another embodiment of the present invention
- FIG. 5 is a schematic structural diagram 1 of an edge node according to an embodiment of the present invention
- FIG. 6 is a schematic structural diagram 2 of an edge node according to an embodiment of the present invention.
- FIG. 7 is a schematic structural diagram of a data transmission system according to an embodiment of the present invention.
- FIG. 8 is a schematic diagram of an application scenario of a data transmission method in a C D N network according to another embodiment of the present invention
- FIG. 9 is a schematic diagram of an application scenario of a data transmission method in a C D N network according to another embodiment of the present invention.
- an embodiment of the present invention provides a data transmission method in a CDN network, including:
- Step 1 Receive multiple HTTP request messages.
- Step 12 Acquire data requested by multiple HTTP request messages.
- Step 13 Send the data requested by the multiple HTTP request messages by using the response message, where the sequence of data requested by sending the multiple HTTP request messages corresponds to the sequence of obtaining the data requested by the multiple HTTP request messages.
- the executor of the data transmission method in the CDN network may be a network node in the CDN network, and the network node may include: a regional node or a central node.
- the regional node and the central node are used to store network data.
- the central node acts as the upper node of the regional node, and one central node can connect multiple regional nodes.
- the data of multiple HTTP request messages may be obtained, or Get some of the data (here can be one, or several of them) that are requested by the HTTP request message. Then, when the acquired data is sent, the data requested by the other HTTP request message is acquired at the same time. For example: After receiving 5 HTTP request messages, you can send data after obtaining the data requested by 5 HTTP request messages, or you can get 1 in it (this can also be 2, 3 or 4) The data is sent after the HTTP request message is requested.
- the edge server checks the content requested by the edge server to save the requested data to the CDN routing device.
- Address information of a node or a central node The CDN routing device returns the address information of the regional node or the central node that holds the requested data, such as an IP address or a domain name.
- the address information of the regional node or the central node includes a domain name or an IP address.
- the edge server obtains the corresponding IP address through the DNS (Domain Name System) resolution, and details are not described herein.
- DNS Domain Name System
- the edge server requests data from the area node or the central node that saves the requested content through the HTTP request, so as to enter the step 1 1 the regional node or the central node receives the multiple HTTP request messages sent by the edge server, and then proceeds to the step 12 area.
- the node or the central node acquires the data requested by the plurality of HTTP request messages, and then proceeds to step 13 where the regional node or the central node sends the data requested by the HTTP request message through the response message.
- the sequence of data requested by sending multiple HTTP request messages corresponds to the sequence of data requested by multiple HTTP request messages, and the first step is obtained.
- the data of the HTTP request is preferentially transmitted, which can improve the data transmission efficiency.
- Embodiments of the Invention The data transmission method in a CDN network is also applicable to data transmission between an area node and a central node, data transmission between an edge server and other edge servers, and data transmission between a regional node and other regional nodes.
- the data transmission method in the CDN network of the embodiment of the present invention will be described below by taking only the edge server and the network node as an example.
- the network node may receive an HTTP request message sent by the edge server through a TCP (Transmission Control Protocol) connection, and send a response message to Edge server.
- TCP Transmission Control Protocol
- the network node may respond to one or more TCP connection requests of the edge server, and establish one or more TCP connections with the edge server.
- multiple TCP connections can be understood as at least two TCP connections
- multiple HTTP request messages can be understood as at least two HTTP request messages.
- the CDN routing device returns a network that saves the requested data to the edge server.
- the edge server checks whether there is already a TCP connection to the address information of the corresponding network node. If not, the edge server can request to establish multiple TCP connections with the network node. In this way, the network node responds to multiple TCP connection requests of the edge server, and establishes multiple TCP connections with the edge server.
- the number of TCP connections between the network node and the edge server can be determined as needed.
- the HTTP request message carries the flow index indicating X-Flow-lndex
- the response message corresponding to the HTTP request message carries the flow index indication X-Flow-lndex, where, the flow The index indicates that X-Flow-lndex is used to identify the requested content of the HTTP request message.
- the flow index in the response message of the network node indicates the value of the X-Flow-lndex
- the corresponding stream index in the HTTP request message of the edge server indicates that the value of the X-Flow-lndex is consistent, and the HTTP request message and the response message are not Need to be strictly ordered.
- the edge server indicates that the X-Flow-lndex can be associated with the HTTP request message according to the flow index, thereby being associated with the end user, and finally the edge server delivers the data returned from the network node to the terminal user.
- the HTTP request message When there are multiple TCP connections between the edge server and the network node, the HTTP request message carries the flow index indicating that X-Flow-lndex and the connection index indicate X-Connection-lndex, and the response message corresponding to the HTTP request message carries the flow index. Instructing X-Flow-lndex and the connection index to indicate X-Connection-lndex, wherein the flow index indicates that X-Flow-lndex is used to identify the request content of the HTTP request message, and the connection index indicates that X-Connection-lndex is used to identify the HTTP request message.
- each HTTP request initiated on the same TCP connection is consistent in the value of the connection index indicating X-Connection-lndex. Therefore, the HTTP request message and the response message do not need strict order preservation, and the HTTP request message and the response message may not be on the same TCP connection. Parallel data transmission, making full use of TCP bandwidth.
- step 12 the time delay for the network node to obtain data corresponding to each HTTP request is different.
- the HTTP request received by the network node may be acquired later than the HTTP request received later. .
- the data transmission method in the CDN network may further include:
- the network node selects the data requested by the HTTP request message by selecting the TCP connection with the smallest transmission delay according to the current transmission delay of the plurality of TCP connections.
- the manner in which the network node determines the transmission delay of the TCP connection may include:
- the transmission delay refers to the waiting delay of waiting for the TCP connection to idle to send data.
- the network node can determine the transmission delay of the TCP connection according to the amount of data to be transmitted and the TCP connection bandwidth of the TCP connection. Specifically, the specific manner of determining the transmission delay of the TCP connection can be understood by referring to the existing common technologies, and details are not described herein.
- the network node responds to the HTTP request according to the order of obtaining the data corresponding to each HTTP request, and selects the TCP connection with the smallest transmission delay to transmit the HTTP request message.
- the requested data, and the HTTP request message and the response message both extend the stream index indication X-Flow-lndex and the connection index indicates X-Connection-Index, the HTTP request message and the response message do not need strict order, HTTP request message and The response message may not be on the same TCP connection.
- the edge server can follow the Pipeline mode without waiting for the response data of the network node, and the edge server continuously initiates the request directly on multiple TCP connections, and then Asynchronous receiving response data on multiple TCPs can realize parallel data transmission and make full use of TCP bandwidth.
- the data transmission method in the CDN network may further include:
- the network node When there are multiple TCP connections, if there is a minimum transmission delay in the current transmission delay of multiple TCP connections If the delay is greater than the establishment of a new TCP connection, the network node establishes a new TCP connection;
- the network node when the TCP connection is one, if the current transmission delay of the TCP connection is greater than the delay of establishing a new TCP connection, the network node establishes a new TCP connection.
- the network node can detect the bandwidth of each TCP connection in real time. If the data corresponding to an HTTP request has been obtained, but the network node needs to wait for the previously established TCP connection to idle to send data, the network node according to the current transmission bandwidth. And transmitting data to predict the transmission delay of each TCP, determining the TCP connection with the minimum transmission delay, and predicting the delay of newly establishing the TCP connection according to the RTT (Round-Trip Time) to the edge server:
- the minimum transmission delay is less than the delay of the newly established TCP connection, the number of current TCP connections is maintained stable, and the TCP connection established before is still used to transmit data.
- the network node actively establishes a TCP connection to the edge server.
- the network node can actively establish a TCP connection to the edge server, which improves the response speed of the CDN to the end user request, and improves the QoE (Quality of Experience).
- the network node can actively establish a TCP connection to the edge server by responding to the HTTP request response message, or actively establish a TCP connection to the edge server through HTTP POST.
- the POST message carries the X-Flow-Index and X-Connection-Index header fields for association with the previous HTTP request message.
- the data transmission method in the CDN network may further include:
- the data requested by the HTTP connection message is sent by the first established TCP connection.
- the network node preferentially selects the data of the first established TCP connection transmission request, and then newly creates The TCP connection can be gradually reclaimed, which reduces the number of TCP connections that need to be maintained, and reduces the overhead of the edge server and network nodes needing to maintain a large number of TCP connections at the same time.
- the data transmission method in the CDN network may further include:
- the number of response messages sent by multiple TCP connections is monitored. When the number of sent response messages is less than a predetermined threshold or no response message is sent, the corresponding TC P connection is deleted.
- the network node can monitor the number of response messages on each TCP connection according to the actual use of the TCP connection. If the number of response messages on a TCP connection is less than the specified threshold, or the number of response messages on a TCP connection is smaller than the specified threshold on other TCP connections, the TCP connection passes. The network path is not in good condition. The network node can dynamically delete the TCP connection and re-establish a new TCP connection.
- the edge server may no longer have traffic between a certain zone node that has previously established a connection, so the network node can monitor the traffic on each TCP connection that has been established. If there is no traffic on each TCP connection to an IP address for a specified period of time, the edge server deletes all connections to the IP address, reducing the number of TCP connections that need to be maintained.
- the network node if the content to be requested has been stored in a storage medium such as a memory or a hard disk, the network node can directly obtain the local network, otherwise The network node can obtain the requested content from the upper-layer network node in a similar manner to the content obtained by the edge server, and details are not described herein.
- the embodiment of the present invention provides a network node, including:
- the request receiving unit 21 is configured to receive a plurality of HTTP hypertext transfer protocol request messages.
- the obtaining unit 22 is configured to acquire data requested by multiple HTTP request messages.
- the transmitting unit 23 is configured to: obtain the data requested by the HTTP request message, and send the data requested by the HTTP request message by using the response message, where the sending of the multiple HTTP request message is requested.
- the order of the data corresponds to the order in which the data requested by the plurality of HTTP request messages is obtained.
- multiple TCP connections can be understood as at least two TCP connections
- multiple HTTP request messages can be understood as at least two HTTP request messages.
- the above network node may include: a regional node or a central node.
- the regional node and the central node are used to store network data.
- the sequence of data requested by sending multiple HTTP request messages corresponds to the sequence of data requested by multiple HTTP request messages, and the first step is obtained.
- the data of the HTTP request is preferentially transmitted, which can improve the data transmission efficiency.
- the network node in this embodiment of the present invention may further include:
- the identifier unit 31 is configured to: when the TCP connection is sent by the TCP transmission control protocol connection, when the TCP connection is one, the HTTP request message carries the flow index indication X-Flow-lndex, and the response message corresponding to the HTTP request message
- the carrying flow index indicates an X-Flow-Index, where the flow index indicates that the X-Flow-lndex is used to identify the request valley of the HTTP request message.
- the HTTP request message When the TCP connection is multiple, the HTTP request message carries the flow index indicating that the X-Flow-lndex and the connection index indicate the X-Connection-Index, and the response message corresponding to the HTTP request message carries the flow index indicating the X-Flow-lndex and the connection.
- the index indicates X-Connection-lndex, where the stream index indicates that X-Flow-lndex is used to identify the request content of the HTTP request message, and the connection index indicates that the X-Connection-lndex is used to identify the TCP connection used by the HTTP request message.
- each HTTP request initiated on the same TCP connection is consistent in the value of the connection index indicating X-Connection-lndex.
- the edge server After receiving the response message from the network node, the edge server indicates that the X-Flow-lndex and the connection index indicate the X-Connection-Index according to the flow index.
- the final edge server Associated with the HTTP request message to associate with the end user, the final edge server will deliver the data returned from the network node to the end user.
- the first selecting unit 32 is configured to: when the TCP connection is multiple, select, according to the current transmission delay of the multiple TCP connections, the TCP connection with the smallest transmission delay to send the data requested by the HTTP request message.
- the HTTP request message and the response message do not need to be strictly preserved. For example, if two end users request content from the same edge server at the same time, the edge server can wait for the response data of the network node according to the Pipeline mode without waiting for the response data of the network node, and the edge server continuously initiates on multiple TCP connections. Requests, and then asynchronously receive response data from multiple TCPs, can achieve parallel data transmission, making full use of TCP bandwidth.
- the first establishing unit 33 is configured to establish a new TCP connection when the TCP connection is multiple, the minimum transmission delay in the current transmission delay of the multiple TCP connections is greater than the delay of establishing a new TCP connection; or, when TCP When the connection is one, the current transmission delay of the TCP connection is greater than the delay of establishing a new TCP connection, and a new TCP connection is established.
- the network node can actively establish a TCP connection to the edge server to improve the data transmission speed.
- the network node can actively establish a TCP connection to the edge server by responding to the HTTP request response message, or actively establish a TCP connection to the edge server through HTTP POST.
- the POST message carries the X-Flow-Index and X-Connection-Index header fields for association with the previous HTTP request message.
- the network node of the embodiment of the present invention may further include:
- the second selecting unit 34 is configured to: when the current transmission delays of the multiple TCP connections are the same, select the data requested by the first established TCP connection to send the HTTP request message according to the sequence of establishing the TCP connection.
- the network node preferentially selects the data of the first established TCP connection transmission request, the TCP connection of the first establishing unit can be gradually recovered, thereby reducing the number of TCP connections that need to be maintained.
- the monitoring unit 35 is configured to monitor the number of sending response messages of multiple TCP connections. When the number of sent response messages is less than a predetermined threshold or no response message is sent, the corresponding TCP connection is deleted.
- the network node can monitor the traffic on each TCP connection that has been established. If there is no traffic on each TCP connection to an IP address for a specified period of time, the edge server deletes all connections to the IP address, reducing the number of TCP connections that need to be maintained.
- an embodiment of the present invention provides a data transmission method in a CDN network, including:
- Step 41 Determine whether a TCP connection is established with the network node.
- Step 42 Determine that a TCP connection is not established with the network node, establish multiple TCP connections with the network node, and send multiple HTTP request messages through multiple TCP connections.
- Step 43 Receive a response message sent by the network node by using multiple TCP connections, and obtain response data of the HTTP request message.
- the execution body of the data transmission method in the CDN network of the embodiment of the present invention may be an edge node, and the edge node may be an edge server, and multiple TCP connections may be understood as at least two TCP connections, and multiple HTTP request messages may be understood as at least Two HTTP request messages.
- the above network node may include: a regional node or a central node.
- the regional node and the central node are used to store network data.
- the foregoing technical solution provided by the embodiment of the present invention maintains multiple TCP connections between the edge node and the network node, and the network node implements parallel data transmission after receiving multiple HTTP request messages sent by the edge node. Make full use of TCP bandwidth.
- the CDN routing device After the CDN routing device returns the address information of the regional node or the central node storing the requested data to the edge node (the address information may include the domain name or the IP address), the process proceeds to step 41.
- step 41 may include:
- the edge node checks if a TCP connection to the corresponding IP address already exists.
- the edge node If there is already a TCP connection with the corresponding IP address, the edge node directly sends an HTTP request message through the TCP connection.
- step 42 may include:
- the edge node If there is no TCP connection between the edge node and the corresponding IP address, the edge node establishes the corresponding number of TCP connections according to the configuration requirements. For example, if the default configuration needs to establish two TCP connections, the edge node actively establishes two TC P connections to the corresponding IP address.
- the edge node may poll a TCP connection on which to submit an HTTP request message to the regional node layer or the central node.
- the HTTP request message carries a stream index indicating X-Flow-lndex and a connection index indicating X-Connection-lndex.
- the stream index indicates X-Flow-lndex,
- the request content used to identify the HTTP request message, and the connection index indicates X-Connection-lndex, which is used to identify the TCP connection used by the HTTP request message.
- the network node can select to transmit the data requested by the HTTP request message through multiple TCPs. Proceeding to step 43, the edge node receives the response message sent by the network node through multiple TCP connections, and obtains response data of the HTTP request message. At the same time, the response message carries the stream index indication X-Flow-lndex and the connection index indication X-Connection-lndex.
- the edge node receives the response message sent by the network node through the TCP connection with the smallest transmission delay among the multiple TCP connections, and obtains The response data of the HTTP request message.
- the edge node receives the response message sent by the network node, and indicates that the X-Flow-lndex and the connection index indicate that the X-Connection-lndex can be associated with the HTTP request message according to the flow index of the response message, thereby finally associating to the end user, and The data returned by the network node is delivered to the end user.
- the HTTP request message and the response message do not need to be strictly protected. For example, if two terminal users request content from the same regional node at the same time, the edge node can wait for the response data of the regional node according to the Pipeline mode without waiting for the response data of the network node, and the edge node continuously initiates directly on multiple TCP connections. Requests, and then asynchronously receive response data from multiple TCPs, can achieve parallel data transmission, making full use of TCP bandwidth.
- the edge node may further determine, according to the heat replacement algorithm, whether to cache the data delivered to the end user locally, so that the edge node serves the same service request of other subsequent end users.
- Heat replacement algorithms such as LRU (Least Recently Used) algorithms, and so on.
- the edge node monitors the number of response messages received from the various TCP connections based on the actual use of the TCP connection. If the number of response messages received on a TCP connection is less than the specified threshold, or the number of response messages received on a TCP connection is less than the specified threshold, the number of response messages received on other TCP connections is less than the specified threshold.
- the network path through which the TCP connection passes is not well transmitted.
- the edge node can dynamically delete the TCP connection and re-establish a new TCP connection.
- an embodiment of the present invention provides an edge node, including:
- the determining unit 51 is configured to determine whether a TCP connection is established with the network node.
- a second establishing unit 52 configured to determine that a TCP connection is not established with the network node, establish multiple TCP connections with the network node, and send multiple HTTP request cancellation response receiving units 53 through multiple TCP connections, Receiving a response message sent by the network node through multiple TCP connections, and obtaining response data of the HTTP request message.
- the edge node may be an edge server, and multiple TCP connections may be understood as at least two TCP connections, and multiple HTTP request messages may be understood as at least two HTTP request messages.
- the above network node may include: a regional node or a central node.
- Regional node central node Used to store network data.
- the response receiving unit 53 is further configured to receive, by using a TCP connection with a minimum transmission delay among the plurality of TCP connections, a response message sent by the network node, to obtain response data of the HTTP request message.
- the HTTP request message sent by the second establishing unit 52 carries the stream index indication X-Flow-lndex and the connection index indication X-Connection-lndex.
- the response message received by the response receiving unit 53 carries the stream index indication X-Flow-lndex and the connection index indication X-Connection-lndex.
- the flow index indicates an X-Flow-lndex, which is used to identify a request content of an HTTP request message
- the connection index indicates an X-Connection-lndex, which is used to identify a TCP connection used by the HTTP request message.
- the HTTP request message and the response message do not need to be strictly protected. For example, if two terminal users request content from the same regional node at the same time, the edge node can wait for the response data of the regional node according to the Pipeline mode without waiting for the response data of the network node, and the edge node continuously initiates directly on multiple TCP connections. Requests, and then asynchronously receive response data from multiple TCPs, can achieve parallel data transmission, making full use of TCP bandwidth.
- the edge node of the embodiment of the present invention may further include:
- the first monitoring unit 61 is configured to monitor the number of response messages received by the multiple TCP connections. When the number of response messages of the TCP connection is less than a predetermined threshold, the corresponding TCP connection is deleted.
- the edge node can dynamically delete the TCP connection and re-establish a new TCP connection.
- the edge node of the embodiment of the present invention may further include:
- the second monitoring unit 62 is configured to monitor multiple TCP connections. When there is no traffic on the TCP connection, the corresponding TCP connection is deleted.
- an embodiment of the present invention provides a data transmission system including a first network node 71 and a second network node 72:
- the first network node 71 is configured to receive multiple HTTP request messages, obtain data requested by the HTTP request message, and send data requested by the HTTP request message by using a response message, where the data requested by the multiple HTTP request messages is sent.
- the order corresponds to the order in which the data requested by the plurality of HTTP request messages is obtained;
- the second network node 72 is configured to send a plurality of HTTP request messages to the first network node 71, and receive data requested by the HTTP request message sent by the first network node 71.
- the first network node 71 can be understood by referring to the network node of the above embodiment.
- the second network node 72 such as an edge server, can be understood with reference to the edge server of the above embodiment.
- Multiple TCP connections can be understood as at least two TCP connections, and multiple HTTP request messages can be understood as at least two HTTP request messages.
- the sequence of data requested by sending multiple HTTP request messages corresponds to the sequence of data requested by multiple HTTP request messages, and the first step is obtained.
- the data of the HTTP request is preferentially transmitted, which can improve the data transmission efficiency.
- the edge server 81 serves as a media delivery node, and is responsible for media delivery tasks of the plurality of terminals 82.
- the edge server 81 and the area node 83 maintain a plurality of TCP connections.
- edge server and the area node are taken as an example to describe the data transmission method in the CDN network, including:
- the Identifier confirms that the requested content is not cached locally, and the edge server queries the CDN routing device for the address information of the regional node or the central node that holds the requested content.
- the CDN routing server returns to the edge server location information of the area node that holds the requested content, including the domain name or the IP address. If the domain name is returned, the edge server can also obtain the corresponding IP address through DNS resolution.
- the edge server checks whether there is a TCP connection to the corresponding IP address. If it does not exist, the corresponding multiple TCP connections are established according to the configuration requirements. If the configuration requires a TCP connection with the corresponding IP address. The number does not require a new TCP connection to be established.
- the edge server selects a TCP connection, submits an HTTP request to the regional node on the TCP connection, the HTTP request message indicates the URI information of the content to be requested, and expands an X-Flow-I ndex header in the HTTP request message header.
- the fields are as follows:
- the HTTP request message between the edge server and the zone node is as follows:
- the area node After receiving the HTTP request message of the edge server, the area node locates the content to be requested according to the URI in the HTTP request message. After the zone node obtains the content required by the edge server HTTP request, it selects the TCP connection that needs to be used to send the response data to the edge server.
- the area node checks the transmission bandwidth of each TCP connection to the edge server and the amount of data that needs to be transmitted on each TCP connection.
- the transmission delay of the TCP connection can be calculated according to the amount of data to be transmitted and the transmission bandwidth. Waiting for the TCP connection to be idle to send data, the regional node selects the TCP connection with the smallest transmission delay to transmit the response data.
- the area node first transmits the corresponding data according to which HTTP request data is first acquired, and which transmission delay on the TCP connection is small, and then transmits on the TCP connection, thereby realizing flexible and efficient transmission of data, reflecting data priority and delay. priority.
- the area i or the node also carries the X-Flow-Index and X-Connection-Index header fields in the response message.
- the values of the two header fields are the same as those in the HTTP request message.
- response message is as follows:
- the area node can be directly obtained from the local, otherwise the area node can acquire the upper area node in a manner similar to the content acquired by the edge server.
- the requested content has been previously stored in the storage medium such as the area node memory or the hard disk.
- the edge server may associate the HTTP request message according to the X-Flow-lndex and X-Connection-Index header fields, and finally associate with the terminal user request.
- the final edge server delivers the content returned from the zone node to the end user.
- the area node checks the transmission bandwidth of each TCP connection to the edge server and the amount of data currently needed to be transmitted on each TCP connection, and the network node calculates according to the amount of data to be transmitted and the transmission bandwidth.
- the transmission delay of each TCP connection, the TCP connection with the minimum transmission delay is determined, and the delay of newly establishing the TCP connection is predicted according to the RTT to the edge server:
- the minimum transmission delay is less than the delay of the newly established TCP connection, the number of current TCP connections is maintained stable, and the TCP connection established before is still used to transmit data.
- the network node actively establishes a TCP connection to the edge server.
- the regional node can transmit data through the HTTP POST method, and the X-Flow-Index and X-Connection-Index header fields are carried in the POST message, and are used to associate with the previous HTTP request message.
- the POST message example is as follows:
- the principle of transmitting the corresponding data and the transmission delay on the TCP connection is transmitted on the TCP connection according to the data of which service request is first acquired.
- To achieve flexible and efficient data transmission which reflects data priority and delay priority, reduces the overhead of dynamically deleting TCP connections, avoids the impact of TCP slow start on transmission rate, reduces the number of TCP connections that need to be maintained, and improves each TCP connection. Reuse, concurrency efficiency.
- they are all described as a series of action combinations for the description of the device, but those skilled in the art should understand that the present invention is not limited by the described action sequence. Because certain steps may be performed in other orders or concurrently in accordance with the present invention.
- those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
- the storage medium may be a magnetic disk, an optical disk, or a read-only storage memory.
- ROM Read-Only Memory
- RAM random access random access memory
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
一种 CDN网络中的数据传输方法、 网络节点及系统 本申请要求了 2010年 12月 3日提交的、 申请号为 201010579563.2、 发明 名称为 "一种 CDN网络中的数据传输方法、 网络节点及系统" 的中国申请的 优先权, 其全部内容通过引用结合在本申请中。 Data transmission method, network node and system in CDN network, the application claims the data transmission method, network node and system in the CDN network, which is filed on December 3, 2010, with the application number of 201010579563. The priority of the Chinese application, the entire contents of which is incorporated herein by reference.
技术领域 Technical field
本发明涉及通信技术领域, 尤其涉及一种 CDN ( Content Delivery The present invention relates to the field of communication technologies, and in particular, to a CDN (Content Delivery
Network, 内容分发网络) 中的数据传输方法、 网络节点及系统。 背景技术 Data transmission method, network node and system in Network, content distribution network). Background technique
CDN是通过在现有的 I P传输网络中增加一层新的网络架构, 将网站的内 容发布到最接近用户的网络 "边缘", 使用户可以就近取得所需的内容, 解决 网络拥挤的状况, 提高用户访问网络的响应速度。 CDN is to add the new network architecture to the existing IP transmission network to publish the content of the website to the "edge" of the network closest to the user, so that users can obtain the required content and solve the network congestion. Improve the responsiveness of users to the network.
CDN中, 当用户点击网站上某个内容的连接后, 对应的 HTTP ( Hyper Text Transfer Protocol , 超文本传输协议)请求被路由到边缘服务器上; 边 缘服务器检查自身没有緩存终端所请求的内容时, 向 CDN路由设备查询有保 存所请求的内容的区域节点或者中心节点的地址信息; CDN路由设备返回保 存有所请求的内容的区域节点或者中心节点的地址信息; 边缘服务器通过 HTTP协议向保存有所请求的内容的区域节点或者中心节点请求内容; 区域 节点或者中心节点向边缘服务器返回所请求的内容。 In the CDN, when the user clicks on the connection of a certain content on the website, the corresponding HTTP (Hyper Text Transfer Protocol) request is routed to the edge server; when the edge server checks that it does not cache the content requested by the terminal, Querying, to the CDN routing device, the address information of the regional node or the central node that saves the requested content; the CDN routing device returns the address information of the regional node or the central node that holds the requested content; the edge server saves the content through the HTTP protocol The regional node or central node of the requested content requests content; the regional node or central node returns the requested content to the edge server.
现有技术中, 当发起多个 HTTP请求时, 发送请求和接收响应之间需要 严格按照顺序进行, 如果前一个 HTTP请求的数据没有响应则后续 HTTP请求 也不会收到响应, 因此, 不利于数据的传输和带宽的充分利用。 发明内容 本发明的实施例提供了一种 CDN网络中的数据传输方法、 网络节点及系 统, 其提高数据的传输效率。 In the prior art, when multiple HTTP requests are initiated, the sending request and the receiving response need to be performed in strict order. If the data of the previous HTTP request is not responded, the subsequent HTTP request will not receive the response, so it is not conducive to Full use of data transmission and bandwidth. Summary of the invention Embodiments of the present invention provide a data transmission method, a network node, and a system in a CDN network, which improve data transmission efficiency.
一方面, 本发明的实施例提供了一种 CDN网络中的数据传输方法, 包 括: In one aspect, an embodiment of the present invention provides a data transmission method in a CDN network, including:
接收多个 HTTP超文本传输协议请求消息; Receiving multiple HTTP hypertext transfer protocol request messages;
获取多个所述 HTTP请求消息所请求的数据; Obtaining data requested by a plurality of the HTTP request messages;
通过响应消息发送多个所述 HTTP请求消息所请求的数据, 其中, 发送 多个所述 HTTP请求消息所请求的数据的先后顺序对应于获取到多个所述 HTTP请求消息所请求的数据的先后顺序, 所述多个为至少两个。 Transmitting, by the response message, the data requested by the plurality of the HTTP request messages, wherein a sequence of data requested by the plurality of the HTTP request messages is sent to a sequence of data acquired by the plurality of the HTTP request messages In order, the plurality is at least two.
对应的, 本发明的实施例提供了一种网络节点, 包括: Correspondingly, an embodiment of the present invention provides a network node, including:
请求接收单元, 用于接收多个 HTTP超文本传输协议请求消息; a request receiving unit, configured to receive multiple HTTP hypertext transfer protocol request messages;
获取单元, 用于获取多个所述 HTTP请求消息所请求的数据; An obtaining unit, configured to acquire data requested by multiple of the HTTP request messages;
传输单元, 通过响应消息发送所述 HTTP请求消息所请求的数据, 其 中, 发送多个所述 HTTP请求消息所请求的数据的先后顺序对应于获取到多 个所述 HTTP请求消息所请求的数据的先后顺序, 所述多个为至少两个。 The transmitting unit sends the data requested by the HTTP request message by using a response message, where a sequence of data requested by the plurality of the HTTP request messages is sent to obtain data requested by the plurality of HTTP request messages. In the order, the plurality is at least two.
另一方面, 本发明的实施例提供了一种数据传输系统, 包括第一网络节 点和第二网络节点: In another aspect, an embodiment of the present invention provides a data transmission system including a first network node and a second network node:
所述第一网络节点, 用于接收多个 HTTP请求消息, 获取所述 HTTP请求 消息所请求的数据, 通过响应消息发送所述 HTTP请求消息所请求的数据, 其中, 发送多个所述 HTTP请求消息所请求的数据的先后顺序对应于获取到 多个所述 HTTP请求消息所请求的数据的先后顺序; The first network node is configured to receive multiple HTTP request messages, obtain data requested by the HTTP request message, and send data requested by the HTTP request message by using a response message, where multiple HTTP requests are sent. The order of the data requested by the message corresponds to the sequence of obtaining the data requested by the plurality of the HTTP request messages;
所述第二网络节点, 用于向所述第一网络节点发送所述多个 HTTP请求 消息, 以及接收所述第一网络节点发送的所述 HTTP请求消息所请求的数 据, 所述多个为至少两个。 The second network node is configured to send the multiple HTTP request messages to the first network node, and receive data requested by the HTTP request message sent by the first network node, where the multiple At least two.
由上述本发明的实施例提供的技术方案可以看出, 通过发送多个 HTTP 请求消息所请求的数据的先后顺序对应于获取到多个 HTTP请求消息所请求 的数据的先后顺序, 实现先获取到的 HTTP请求的数据优先传输, 可以提高 数据的传输效率。 附图说明 As can be seen from the technical solution provided by the above embodiments of the present invention, by sending multiple HTTPs The order of the data requested by the request message corresponds to the sequence of obtaining the data requested by the multiple HTTP request messages, and the data of the HTTP request obtained first is preferentially transmitted, which can improve the data transmission efficiency. DRAWINGS
为了更清楚地说明本发明实施例的技术方案, 下面将对实施例描述中所 需要使用的附图作筒单地介绍, 显而易见地, 下面描述中的附图仅仅是本发 明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的 前提下, 还可以根据这些附图获得其他的附图。 In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be described in detail below. It is obvious that the drawings in the following description are only some embodiments of the present invention. It will be apparent to those skilled in the art that other drawings may be obtained from these drawings without the inventive labor.
图 1为本发明一实施例 CDN网络中的数据传输方法的流程示意图; 图 2为本发明实施例网络节点的构成示意图一; 1 is a schematic flowchart of a data transmission method in a CDN network according to an embodiment of the present invention; FIG. 2 is a schematic structural diagram 1 of a network node according to an embodiment of the present invention;
图 3为本发明实施例网络节点的构成示意图二; 3 is a schematic diagram 2 of a network node according to an embodiment of the present invention;
图 4为本发明另一实施例 CDN网络中的数据传输方法的流程示意图; 图 5为本发明实施例边缘节点的构成示意图一; 4 is a schematic flowchart of a data transmission method in a CDN network according to another embodiment of the present invention; FIG. 5 is a schematic structural diagram 1 of an edge node according to an embodiment of the present invention;
图 6为本发明实施例边缘节点的构成示意图二; 6 is a schematic structural diagram 2 of an edge node according to an embodiment of the present invention;
图 7为本发明实施例数据传输系统的构成示意图; 7 is a schematic structural diagram of a data transmission system according to an embodiment of the present invention;
图 8为本发明另一实施例 C D N网络中的数据传输方法应用场景示意图 图 9为本发明另一实施例 C D N网络中的数据传输方法应用场景示意图 FIG. 8 is a schematic diagram of an application scenario of a data transmission method in a C D N network according to another embodiment of the present invention; FIG. 9 is a schematic diagram of an application scenario of a data transmission method in a C D N network according to another embodiment of the present invention;
具体实施方式 detailed description
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。 如图 1所示, 本发明实施例提供一种 CDN网络中的数据传输方法, 包 括: The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, those of ordinary skill in the art are not doing All other embodiments obtained under the premise of creative labor are within the scope of the invention. As shown in FIG. 1, an embodiment of the present invention provides a data transmission method in a CDN network, including:
步骤 1 1、 接收多个 HTTP请求消息。 Step 1 1. Receive multiple HTTP request messages.
步骤 12、 获取多个 HTTP请求消息所请求的数据。 Step 12: Acquire data requested by multiple HTTP request messages.
步骤 13、 通过响应消息发送多个 HTTP请求消息所请求的数据, 其中, 发送多个 HTTP请求消息所请求的数据的先后顺序对应于获取到多个 HTTP请 求消息所请求的数据的先后顺序。 Step 13: Send the data requested by the multiple HTTP request messages by using the response message, where the sequence of data requested by sending the multiple HTTP request messages corresponds to the sequence of obtaining the data requested by the multiple HTTP request messages.
本发明实施例 CDN网络中的数据传输方法的执行主体可以是 CDN网络中 的网络节点, 所述网络节点可以包括: 区域节点或者中心节点。 区域节点、 中心节点用于存储网络数据。 中心节点作为区域节点的上层节点, 一个中心 节点可以连接多个区域节点。 可选的, 在边缘节点 (可以是边缘服务器)和 中心节点之间可以存在多级区域节点, 从而满足的业务需要。 The executor of the data transmission method in the CDN network may be a network node in the CDN network, and the network node may include: a regional node or a central node. The regional node and the central node are used to store network data. The central node acts as the upper node of the regional node, and one central node can connect multiple regional nodes. Optionally, there may be multiple levels of regional nodes between the edge node (which may be an edge server) and the central node to meet the business needs.
其中, 在本发明的实施例中, 如果接收到多个 HTTP请求消息, 那么在 步骤 13发送多个 HTTP请求消息所请求的数据时, 可以是获取到了多个 HTTP 请求消息的数据, 也可以是获取到了其中几个 (这里可以是 1个, 也可以是 其中几个) HTTP请求消息所请求的数据。 然后, 在发送已获取到的数据 时, 同时获取其他 HTTP请求消息所请求的数据。 比如: 共接收到了 5个 HTTP请求消息, 那么可以在获取到 5个 HTTP请求消息所请求的数据后发送 数据, 也可以是在获取在 1个 (这里也可以是 2个、 3个或 4个) HTTP请求消 息所请求的数据后就发送数据。 In the embodiment of the present invention, if multiple HTTP request messages are received, when the data requested by the multiple HTTP request messages is sent in step 13, the data of multiple HTTP request messages may be obtained, or Get some of the data (here can be one, or several of them) that are requested by the HTTP request message. Then, when the acquired data is sent, the data requested by the other HTTP request message is acquired at the same time. For example: After receiving 5 HTTP request messages, you can send data after obtaining the data requested by 5 HTTP request messages, or you can get 1 in it (this can also be 2, 3 or 4) The data is sent after the HTTP request message is requested.
下面, 筒单说明本发明实施例 CDN网络中的数据传输方法: The following describes the data transmission method in the CDN network according to the embodiment of the present invention:
当终端用户点击网站上某个内容的连接后, 对应的 HTTP请求被路由到 边缘服务器上, 边缘服务器检查自身没有緩存终端所请求的内容时, 向 CDN 路由设备查询有保存所请求的数据的区域节点或者中心节点的地址信息, CDN路由设备返回保存有所请求的数据的区域节点或者中心节点的地址信 息, 如 IP地址或者域名。 其中, 区域节点或者中心节点的地址信息包括域名 或者 IP地址。 当地址信息是域名时, 边缘服务器通过 DNS ( Domain Name System, 域名系统)解析获取对应的 IP地址, 在此不作赘述。 When the end user clicks on the connection of a certain content on the website, the corresponding HTTP request is routed to the edge server, and the edge server checks the content requested by the edge server to save the requested data to the CDN routing device. Address information of a node or a central node, The CDN routing device returns the address information of the regional node or the central node that holds the requested data, such as an IP address or a domain name. The address information of the regional node or the central node includes a domain name or an IP address. When the address information is a domain name, the edge server obtains the corresponding IP address through the DNS (Domain Name System) resolution, and details are not described herein.
之后, 边缘服务器通过 HTTP请求向保存有所请求的内容的区域节点或 者中心节点请求数据, 从而, 进入步骤 1 1区域节点或者中心节点接收边缘服 务器发送的多个 HTTP请求消息, 再进入步骤 12区域节点或者中心节点获取 多个 HTTP请求消息所请求的数据, 再进入步骤 13区域节点或者中心节点通 过响应消息发送 HTTP请求消息所请求的数据。 After that, the edge server requests data from the area node or the central node that saves the requested content through the HTTP request, so as to enter the step 1 1 the regional node or the central node receives the multiple HTTP request messages sent by the edge server, and then proceeds to the step 12 area. The node or the central node acquires the data requested by the plurality of HTTP request messages, and then proceeds to step 13 where the regional node or the central node sends the data requested by the HTTP request message through the response message.
由上述本发明的实施例提供的技术方案可以看出, 通过发送多个 HTTP 请求消息所请求的数据的先后顺序对应于获取到多个 HTTP请求消息所请求 的数据的先后顺序, 实现先获取到的 HTTP请求的数据优先传输, 可以提高 数据的传输效率。 According to the technical solution provided by the foregoing embodiment of the present invention, the sequence of data requested by sending multiple HTTP request messages corresponds to the sequence of data requested by multiple HTTP request messages, and the first step is obtained. The data of the HTTP request is preferentially transmitted, which can improve the data transmission efficiency.
本发明实施例 CDN网络中的数据传输方法, 还适用于区域节点和中心节 点之间的数据传输, 边缘服务器和其他边缘服务器之间数据传输, 区域节点 和其他区域节点之间数据传输。 Embodiments of the Invention The data transmission method in a CDN network is also applicable to data transmission between an area node and a central node, data transmission between an edge server and other edge servers, and data transmission between a regional node and other regional nodes.
以下仅仅以边缘服务器与网络节点为例, 说明本发明实施例 CDN网络中 的数据传输方法。 The data transmission method in the CDN network of the embodiment of the present invention will be described below by taking only the edge server and the network node as an example.
本发明实施例 CDN网络中的数据传输方法, 在步骤 1 1和步骤 13中, 网络 节点可以通过 TCP ( Transmission Control Protocol , 传输控制协议)连接接 收边缘服务器发送的 HTTP请求消息, 以及发送响应消息给边缘服务器。 In the data transmission method in the CDN network of the embodiment of the present invention, in step 1 1 and step 13, the network node may receive an HTTP request message sent by the edge server through a TCP (Transmission Control Protocol) connection, and send a response message to Edge server.
具体的, 网络节点可以响应边缘服务器的 1条或多条 TCP连接请求, 与边 缘服务器之间建立 1条或多条 TCP连接。 其中, 多条 TCP连接可以理解为至少 两条 TCP连接, 多个 HTTP请求消息可以理解为至少两个 HTTP请求消息。 Specifically, the network node may respond to one or more TCP connection requests of the edge server, and establish one or more TCP connections with the edge server. Among them, multiple TCP connections can be understood as at least two TCP connections, and multiple HTTP request messages can be understood as at least two HTTP request messages.
示例性的, 在 CDN路由设备向边缘服务器返回保存有所请求的数据的网 络节点的地址信息后, 边缘服务器检查是否已经存在到对应网络节点的地址 信息的 TCP连接, 如果不存在, 边缘服务器可以请求与网络节点之间建立多 条 TCP连接。 这样, 网络节点响应边缘服务器的多条 TCP连接请求, 与边缘 服务器之间建立多条 TCP连接。 Exemplarily, the CDN routing device returns a network that saves the requested data to the edge server. After the address information of the network node, the edge server checks whether there is already a TCP connection to the address information of the corresponding network node. If not, the edge server can request to establish multiple TCP connections with the network node. In this way, the network node responds to multiple TCP connection requests of the edge server, and establishes multiple TCP connections with the edge server.
其中, 网络节点与边缘服务器之间的 TCP连接的个数, 可以根据需要而 确定。 The number of TCP connections between the network node and the edge server can be determined as needed.
当边缘服务器与网络节点之间的 TCP连接为一条时, HTTP请求消息中 携带流索引指示 X-Flow-lndex, HTTP请求消息对应的响应消息中携带流索引 指示 X-Flow-lndex, 其中, 流索引指示 X-Flow-lndex用于标识 HTTP请求消息 的请求内容。 When the TCP connection between the edge server and the network node is one, the HTTP request message carries the flow index indicating X-Flow-lndex, and the response message corresponding to the HTTP request message carries the flow index indication X-Flow-lndex, where, the flow The index indicates that X-Flow-lndex is used to identify the requested content of the HTTP request message.
可见, 网络节点的响应消息中流索引指示 X-Flow-lndex的取值, 对应的 与边缘服务器的 HTTP请求消息中的中流索引指示 X-Flow-lndex的取值一致, HTTP请求消息和响应消息不需要严格保序。 而且, 边缘服务器收到网络节 点的响应消息后, 根据流索引指示 X-Flow-lndex可以关联到 HTTP请求消息, 从而关联到终端用户上, 最终边缘服务器将从网络节点返回的数据交付给终 端用户。 It can be seen that the flow index in the response message of the network node indicates the value of the X-Flow-lndex, and the corresponding stream index in the HTTP request message of the edge server indicates that the value of the X-Flow-lndex is consistent, and the HTTP request message and the response message are not Need to be strictly ordered. Moreover, after receiving the response message of the network node, the edge server indicates that the X-Flow-lndex can be associated with the HTTP request message according to the flow index, thereby being associated with the end user, and finally the edge server delivers the data returned from the network node to the terminal user. .
当边缘服务器与网络节点之间的 TCP连接为多条时, HTTP请求消息中携 带流索引指示 X-Flow-lndex和连接索引指示 X-Connection-lndex, HTTP请求 消息对应的响应消息中携带流索引指示 X-Flow-lndex和连接索引指示 X- Connection-lndex, 其中, 流索引指示 X-Flow-lndex用于标识 HTTP请求消息 的请求内容, 连接索引指示 X-Connection-lndex用于标识 HTTP请求消息使用 的 TCP连接。 When there are multiple TCP connections between the edge server and the network node, the HTTP request message carries the flow index indicating that X-Flow-lndex and the connection index indicate X-Connection-lndex, and the response message corresponding to the HTTP request message carries the flow index. Instructing X-Flow-lndex and the connection index to indicate X-Connection-lndex, wherein the flow index indicates that X-Flow-lndex is used to identify the request content of the HTTP request message, and the connection index indicates that X-Connection-lndex is used to identify the HTTP request message. The TCP connection used.
可见, 在同一条 TCP连接上先后发起的各个 HTTP请求在连接索引指示 X- Connection-lndex的取值上是一致的。 因此, HTTP请求消息和响应消息不需 要严格保序, HTTP请求消息和响应消息可以不在同一条 TCP连接上, 实现 并行数据的传输, 充分利用 TCP带宽。 It can be seen that each HTTP request initiated on the same TCP connection is consistent in the value of the connection index indicating X-Connection-lndex. Therefore, the HTTP request message and the response message do not need strict order preservation, and the HTTP request message and the response message may not be on the same TCP connection. Parallel data transmission, making full use of TCP bandwidth.
还要说明的是, 步骤 12中, 网络节点获取各个 HTTP请求所对应的数据 的时延是不一样, 例如, 网络节点先接收到的 HTTP请求, 可能晚于后接收 到的 HTTP请求获取到数据。 It should be noted that, in step 12, the time delay for the network node to obtain data corresponding to each HTTP request is different. For example, the HTTP request received by the network node may be acquired later than the HTTP request received later. .
因此, 当边缘服务器与网络节点之间的 TCP连接为多条时, 本发明实施 例 CDN网络中的数据传输方法还可以包括: Therefore, when the number of TCP connections between the edge server and the network node is multiple, the data transmission method in the CDN network may further include:
网络节点根据多条 TCP连接的当前传输时延, 选择传输时延最小的 TCP 连接发送 HTTP请求消息所请求的数据。 The network node selects the data requested by the HTTP request message by selecting the TCP connection with the smallest transmission delay according to the current transmission delay of the plurality of TCP connections.
其中, 网络节点确定 TCP连接的传输时延的方式, 可以包括: The manner in which the network node determines the transmission delay of the TCP connection may include:
传输时延即指需要等待 TCP连接空闲来发送数据的等待时延, 网络节点 可以根据 TCP连接待传输的数据量和 TCP连接带宽确定 TCP连接的传输时 延。 具体的, 确定 TCP连接的传输时延的具体方式可以参照目前通用的现有 技术得以理解, 在此不作赘述。 The transmission delay refers to the waiting delay of waiting for the TCP connection to idle to send data. The network node can determine the transmission delay of the TCP connection according to the amount of data to be transmitted and the TCP connection bandwidth of the TCP connection. Specifically, the specific manner of determining the transmission delay of the TCP connection can be understood by referring to the existing common technologies, and details are not described herein.
可见, 基于在边缘服务器和网络节点之间存在多条 TCP连接, 网络节点 按照获取各个 HTTP请求所对应的数据的先后顺序来响应 HTTP请求, 且选择 当前传输时延最小的 TCP连接传输 HTTP请求消息所请求的数据, 而且, HTTP请求消息和响应消息均扩展了流索引指示 X-Flow-lndex和连接索引指示 X-Connection -Index, HTTP请求消息和响应消息不需要严格保序, HTTP请 求消息和响应消息可以不在同一条 TCP连接上。 例如, 同时有 2个终端用户向 同一个边缘服务器请求内容, 则边缘服务器可以按照 Pipeline (管道) 方式, 无需等待网络节点的响应数据, 边缘服务器直接在多个 TCP连接上连续发起 请求, 然后从多个 TCP上异步的接收响应数据, 可以实现并行数据的传输, 充分利用 TCP带宽。 It can be seen that, based on the existence of multiple TCP connections between the edge server and the network node, the network node responds to the HTTP request according to the order of obtaining the data corresponding to each HTTP request, and selects the TCP connection with the smallest transmission delay to transmit the HTTP request message. The requested data, and the HTTP request message and the response message both extend the stream index indication X-Flow-lndex and the connection index indicates X-Connection-Index, the HTTP request message and the response message do not need strict order, HTTP request message and The response message may not be on the same TCP connection. For example, if two end users request content from the same edge server at the same time, the edge server can follow the Pipeline mode without waiting for the response data of the network node, and the edge server continuously initiates the request directly on multiple TCP connections, and then Asynchronous receiving response data on multiple TCPs can realize parallel data transmission and make full use of TCP bandwidth.
本发明实施例 CDN网络中的数据传输方法, 还可以包括: The data transmission method in the CDN network may further include:
当 TCP连接为多条时, 若多条 TCP连接的当前传输时延中最小传输时延 大于建立新 TCP连接的时延, 则网络节点建立新的 TCP连接; When there are multiple TCP connections, if there is a minimum transmission delay in the current transmission delay of multiple TCP connections If the delay is greater than the establishment of a new TCP connection, the network node establishes a new TCP connection;
或者, 当 TCP连接为一条时, 若 TCP连接的当前传输时延大于建立新 TCP连接的时延, 则网络节点建立新的 TCP连接。 Or, when the TCP connection is one, if the current transmission delay of the TCP connection is greater than the delay of establishing a new TCP connection, the network node establishes a new TCP connection.
具体的, 网络节点可以实时检测每条 TCP连接的带宽, 如果已经获取到 了某个 HTTP请求所对应的数据, 但是, 需要等待之前建立的 TCP连接空闲 来发送数据时, 网络节点根据当前的传输带宽和传输数据预测每条 TCP的传 输时延, 确定出最小传输时延的 TCP连接, 并根据到边缘服务器 RTT ( Round-Trip Time, 往返时延)预测新建立 TCP连接的时延: Specifically, the network node can detect the bandwidth of each TCP connection in real time. If the data corresponding to an HTTP request has been obtained, but the network node needs to wait for the previously established TCP connection to idle to send data, the network node according to the current transmission bandwidth. And transmitting data to predict the transmission delay of each TCP, determining the TCP connection with the minimum transmission delay, and predicting the delay of newly establishing the TCP connection according to the RTT (Round-Trip Time) to the edge server:
如果最小传输时延小于新建立 TCP连接的时延, 则维持当前 TCP连接个 数的稳定, 仍然等待使用之前建立的 TCP连接来传输数据。 If the minimum transmission delay is less than the delay of the newly established TCP connection, the number of current TCP connections is maintained stable, and the TCP connection established before is still used to transmit data.
如果最小传输时延大于新建立 TCP连接的时延, 则网络节点主动向边缘 服务器建立 TCP连接。 If the minimum transmission delay is greater than the delay of the newly established TCP connection, the network node actively establishes a TCP connection to the edge server.
因此, 网络节点可以主动建立到边缘服务器的 TCP连接, 提高了 CDN对 终端用户请求的响应速度, 提升了 QoE ( Quality of Experience , 体验质 量) 。 Therefore, the network node can actively establish a TCP connection to the edge server, which improves the response speed of the CDN to the end user request, and improves the QoE (Quality of Experience).
其中, 网络节点可以通过响应 HTTP请求的响应消息主动建立到边缘服 务器的 TCP连接, 或者通过 HTTP POST方式主动建立到边缘服务器的 TCP连 接。 而且, POST消息中携带 X-Flow-lndex和 X-Connection-lndex头域, 用于 与之前的 HTTP请求消息相关联。 The network node can actively establish a TCP connection to the edge server by responding to the HTTP request response message, or actively establish a TCP connection to the edge server through HTTP POST. Moreover, the POST message carries the X-Flow-Index and X-Connection-Index header fields for association with the previous HTTP request message.
其中, 可以设置网络节点到每个边缘服务器最多可以动态建立的 TCP连 接数量, 从而限制每个网络节点和边缘服务器需要维护的 TCP连接数量。 Among them, you can set the maximum number of TCP connections that the network node can dynamically establish to each edge server, thus limiting the number of TCP connections that each network node and edge server needs to maintain.
本发明实施例 CDN网络中的数据传输方法, 还可以包括: The data transmission method in the CDN network may further include:
当多条 TCP连接的当前传输时延相同时, 根据 TCP连接建立的先后顺 序, 选择先建立的 TCP连接发送 HTTP请求消息所请求的数据。 When the current transmission delays of the multiple TCP connections are the same, according to the sequence of the TCP connection establishment, the data requested by the HTTP connection message is sent by the first established TCP connection.
因此, 网络节点优先选择最先建立的 TCP连接传输请求的数据, 则新建 立的 TCP连接可以被逐渐回收, 从而减少需要维护的 TCP连接数目, 降低了 边缘服务器、 网络节点需要同时维护大量 TCP连接的开销。 Therefore, the network node preferentially selects the data of the first established TCP connection transmission request, and then newly creates The TCP connection can be gradually reclaimed, which reduces the number of TCP connections that need to be maintained, and reduces the overhead of the edge server and network nodes needing to maintain a large number of TCP connections at the same time.
本发明实施例 CDN网络中的数据传输方法, 还可以包括: The data transmission method in the CDN network may further include:
监测多条 TCP连接发送响应消息的数量, 当发送响应消息的数量小于预 定阈值或没有发送响应消息时, 则删除对应的 TC P连接。 The number of response messages sent by multiple TCP connections is monitored. When the number of sent response messages is less than a predetermined threshold or no response message is sent, the corresponding TC P connection is deleted.
可见, 网络节点可以根据 TCP连接的实际使用来监测各条 TCP连接上的 响应消息数量。 如果某条 TCP连接上的响应消息数小于指定的阈值, 或者某 条 TCP连接上的响应消息数相对于其它的 TCP连接上的响应消息数小于指定 的阈值, 则说明该条 TCP连接所经过的网络路径传输状况不好, 网络节点可 以动态删除该条 TCP连接, 重新建立新的 TCP连接。 It can be seen that the network node can monitor the number of response messages on each TCP connection according to the actual use of the TCP connection. If the number of response messages on a TCP connection is less than the specified threshold, or the number of response messages on a TCP connection is smaller than the specified threshold on other TCP connections, the TCP connection passes. The network path is not in good condition. The network node can dynamically delete the TCP connection and re-establish a new TCP connection.
另外, 边缘服务器可能与之前已经建立连接的某个区域节点之间不再有 流量, 因此, 网络节点可以监测已经建立的各条 TCP连接上的流量。 如果持 续指定的时长后到某个 I P地址的各条 TCP连接上都没有流量, 则边缘服务器 删除到该 I P地址的所有连接, 减少需要维护的 TCP连接数量。 In addition, the edge server may no longer have traffic between a certain zone node that has previously established a connection, so the network node can monitor the traffic on each TCP connection that has been established. If there is no traffic on each TCP connection to an IP address for a specified period of time, the edge server deletes all connections to the IP address, reducing the number of TCP connections that need to be maintained.
还要说明的是, 本发明实施例 CDN网络中的数据传输方法, 对于网络节 点而言, 如果所要请求的内容已经保存在内存或者硬盘等存储介质中, 则网 络节点可以从本地直接获取, 否则网络节点可以采用和边缘服务器获取内容 相似的方式从上层的网络节点获取所请求的内容, 在此不作赘述。 如图 2所示, 对应于上述实施例的 CDN网络中的数据传输方法, 本发明 实施例提供一种网络节点, 包括: It should be noted that, in the data transmission method in the CDN network of the embodiment of the present invention, for the network node, if the content to be requested has been stored in a storage medium such as a memory or a hard disk, the network node can directly obtain the local network, otherwise The network node can obtain the requested content from the upper-layer network node in a similar manner to the content obtained by the edge server, and details are not described herein. As shown in FIG. 2, corresponding to the data transmission method in the CDN network of the foregoing embodiment, the embodiment of the present invention provides a network node, including:
请求接收单元 21 , 用于接收多个 HTTP超文本传输协议请求消息。 The request receiving unit 21 is configured to receive a plurality of HTTP hypertext transfer protocol request messages.
获取单元 22, 用于获取多个 HTTP请求消息所请求的数据。 The obtaining unit 22 is configured to acquire data requested by multiple HTTP request messages.
传输单元 23 , 用于获取到 HTTP请求消息所请求的数据, 则通过响应消 息发送 HTTP请求消息所请求的数据, 其中, 发送多个 HTTP请求消息所请求 的数据的先后顺序对应于获取到多个 HTTP请求消息所请求的数据的先后顺 序。 The transmitting unit 23 is configured to: obtain the data requested by the HTTP request message, and send the data requested by the HTTP request message by using the response message, where the sending of the multiple HTTP request message is requested The order of the data corresponds to the order in which the data requested by the plurality of HTTP request messages is obtained.
其中, 多条 TCP连接可以理解为至少两条 TCP连接, 多个 HTTP请求消息 可以理解为至少两个 HTTP请求消息。 Among them, multiple TCP connections can be understood as at least two TCP connections, and multiple HTTP request messages can be understood as at least two HTTP request messages.
上述网络节点可以包括: 区域节点或者中心节点。 区域节点、 中心节点 用于存储网络数据。 可选的, 在边缘服务器和中心节点之间可以存在多级区 域节点, 从而满足的业务需要。 The above network node may include: a regional node or a central node. The regional node and the central node are used to store network data. Optionally, there may be multiple levels of regional nodes between the edge server and the central node to meet the business needs.
由上述本发明的实施例提供的技术方案可以看出, 通过发送多个 HTTP 请求消息所请求的数据的先后顺序对应于获取到多个 HTTP请求消息所请求 的数据的先后顺序, 实现先获取到的 HTTP请求的数据优先传输, 可以提高 数据的传输效率。 According to the technical solution provided by the foregoing embodiment of the present invention, the sequence of data requested by sending multiple HTTP request messages corresponds to the sequence of data requested by multiple HTTP request messages, and the first step is obtained. The data of the HTTP request is preferentially transmitted, which can improve the data transmission efficiency.
如图 3所示, 本发明实施例网络节点, 还可以包括: As shown in FIG. 3, the network node in this embodiment of the present invention may further include:
标识单元 31 , 用于通过 TCP传输控制协议连接接收 HTTP请求消息以及 发送响应消息时, 当 TCP连接为一条时, HTTP请求消息中携带流索引指示 X-Flow-lndex , HTTP请求消息对应的响应消息中携带流索引指示 X-Flow- Index , 其中, 流索引指示 X-Flow-lndex用于标识 HTTP请求消息的请求内 谷, The identifier unit 31 is configured to: when the TCP connection is sent by the TCP transmission control protocol connection, when the TCP connection is one, the HTTP request message carries the flow index indication X-Flow-lndex, and the response message corresponding to the HTTP request message The carrying flow index indicates an X-Flow-Index, where the flow index indicates that the X-Flow-lndex is used to identify the request valley of the HTTP request message.
当 TCP连接为多条时, HTTP请求消息中携带流索引指示 X-Flow-lndex和 连接索引指示 X-Connection- Index, HTTP请求消息对应的响应消息中携带流 索引指示 X-Flow-lndex和连接索引指示 X-Connection-lndex , 其中, 流索引 指示 X-Flow-lndex用于标识 HTTP请求消息的请求内容, 连接索引指示 X- Connection-lndex用于标识 HTTP请求消息使用的 TCP连接。 When the TCP connection is multiple, the HTTP request message carries the flow index indicating that the X-Flow-lndex and the connection index indicate the X-Connection-Index, and the response message corresponding to the HTTP request message carries the flow index indicating the X-Flow-lndex and the connection. The index indicates X-Connection-lndex, where the stream index indicates that X-Flow-lndex is used to identify the request content of the HTTP request message, and the connection index indicates that the X-Connection-lndex is used to identify the TCP connection used by the HTTP request message.
因此, 在同一条 TCP连接上先后发起的各个 HTTP请求在连接索引指示 X- Connection-lndex的取值上是一致的。 边缘服务器收到网络节点的响应消息 后, 根据流索引指示 X-Flow-lndex和连接索引指示 X-Connection -Index可以 关联到 HTTP请求消息, 从而关联到终端用户上, 最终边缘服务器将从网络 节点返回的数据交付给终端用户。 Therefore, each HTTP request initiated on the same TCP connection is consistent in the value of the connection index indicating X-Connection-lndex. After receiving the response message from the network node, the edge server indicates that the X-Flow-lndex and the connection index indicate the X-Connection-Index according to the flow index. Associated with the HTTP request message to associate with the end user, the final edge server will deliver the data returned from the network node to the end user.
本发明实施例网络节点, 还可以包括: The network node of the embodiment of the present invention may further include:
第一选择单元 32, 用于当 TCP连接为多条时, 根据多条 TCP连接的当前 传输时延, 选择传输时延最小的 TCP连接发送 HTTP请求消息所请求的数 据。 The first selecting unit 32 is configured to: when the TCP connection is multiple, select, according to the current transmission delay of the multiple TCP connections, the TCP connection with the smallest transmission delay to send the data requested by the HTTP request message.
综上, 由于 HTTP请求消息和响应消息均扩展了流索引指示 X-Flow-lndex 和连接索引指示 X-Connection -Index, HTTP请求消息和响应消息不需要严 格保序。 例如, 同时有 2个终端用户向同一个边缘服务器请求内容, 则边缘 服务器可以按照 Pipeline方式无需等待网络节点的响应数据, 无需等待网络节 点的响应数据, 边缘服务器直接在多个 TCP连接上连续发起请求, 然后从多 个 TCP上异步的接收响应数据, 可以实现并行数据的传输, 充分利用 TCP带 宽。 In summary, since both the HTTP request message and the response message extend the stream index indication X-Flow-lndex and the connection index indication X-Connection-Index, the HTTP request message and the response message do not need to be strictly preserved. For example, if two end users request content from the same edge server at the same time, the edge server can wait for the response data of the network node according to the Pipeline mode without waiting for the response data of the network node, and the edge server continuously initiates on multiple TCP connections. Requests, and then asynchronously receive response data from multiple TCPs, can achieve parallel data transmission, making full use of TCP bandwidth.
本发明实施例网络节点, 还可以包括: The network node of the embodiment of the present invention may further include:
第一建立单元 33 , 用于当 TCP连接为多条时, 多条 TCP连接的当前传输 时延中最小传输时延大于建立新 TCP连接的时延, 则建立新的 TCP连接; 或 者, 当 TCP连接为一条时, TCP连接的当前传输时延大于建立新 TCP连接的 时延, 则建立新的 TCP连接。 The first establishing unit 33 is configured to establish a new TCP connection when the TCP connection is multiple, the minimum transmission delay in the current transmission delay of the multiple TCP connections is greater than the delay of establishing a new TCP connection; or, when TCP When the connection is one, the current transmission delay of the TCP connection is greater than the delay of establishing a new TCP connection, and a new TCP connection is established.
因此, 网络节点可以主动建立到边缘服务器的 TCP连接, 提高数据的传 输速度。 网络节点可以通过响应 HTTP请求的响应消息主动建立到边缘服务 器的 TCP连接, 或者通过 HTTP POST方式主动建立到边缘服务器的 TCP连 接。 而且, POST消息中携带 X-Flow-lndex和 X-Connection-lndex头域, 用于 与之前的 HTTP请求消息相关联。 Therefore, the network node can actively establish a TCP connection to the edge server to improve the data transmission speed. The network node can actively establish a TCP connection to the edge server by responding to the HTTP request response message, or actively establish a TCP connection to the edge server through HTTP POST. Moreover, the POST message carries the X-Flow-Index and X-Connection-Index header fields for association with the previous HTTP request message.
而且, 可以设置网络节点到每个边缘服务器最多可以动态建立的 TCP连 接数量, 从而限制每个网络节点和边缘服务器需要维护的 TCP连接数量。 本发明实施例网络节点, 还可以包括: Moreover, you can set the maximum number of TCP connections that a network node can dynamically establish to each edge server, thereby limiting the number of TCP connections that each network node and edge server needs to maintain. The network node of the embodiment of the present invention may further include:
第二选择单元 34 , 用于当多条 TCP连接的当前传输时延相同时, 根据 TCP连接建立的先后顺序, 选择先建立的 TCP连接发送 HTTP请求消息所请求 的数据。 The second selecting unit 34 is configured to: when the current transmission delays of the multiple TCP connections are the same, select the data requested by the first established TCP connection to send the HTTP request message according to the sequence of establishing the TCP connection.
因此, 网络节点优先选择最先建立的 TCP连接传输请求的数据, 则第一 建立单元的 TCP连接可以被逐渐回收, 从而减少需要维护的 TCP连接数目。 Therefore, if the network node preferentially selects the data of the first established TCP connection transmission request, the TCP connection of the first establishing unit can be gradually recovered, thereby reducing the number of TCP connections that need to be maintained.
本发明实施例网络节点, 还可以包括: The network node of the embodiment of the present invention may further include:
监测单元 35, 用于监测多条 TCP连接发送响应消息的数量, 当发送响应 消息的数量小于预定阈值或没有发送响应消息时, 则删除对应的 TCP连接。 The monitoring unit 35 is configured to monitor the number of sending response messages of multiple TCP connections. When the number of sent response messages is less than a predetermined threshold or no response message is sent, the corresponding TCP connection is deleted.
可见, 边缘服务器可能与之前已经建立连接的某个区域节点之间不再有 流量, 因此, 网络节点可以监测已经建立的各条 TCP连接上的流量。 如果持 续指定的时长后到某个 I P地址的各条 TCP连接上都没有流量, 则边缘服务器 删除到该 I P地址的所有连接, 减少需要维护的 TCP连接数量。 It can be seen that there is no more traffic between the edge server and a certain regional node that has already established a connection. Therefore, the network node can monitor the traffic on each TCP connection that has been established. If there is no traffic on each TCP connection to an IP address for a specified period of time, the edge server deletes all connections to the IP address, reducing the number of TCP connections that need to be maintained.
由上述本发明的实施例提供的技术方案可以看出, 在边缘服务器和网络 节点之间维护多条 TCP连接, 网络节点收到边缘服务器发送的多个 HTTP请 求消息后, 先获取到哪个 HTTP请求的数据就先在时延最小的 TCP连接上传 输该 HTTP请求的数据, 实现并行数据的传输, 以及充分利用 TCP带宽。 如图 4所示, 本发明实施例提供一种 CDN网络中的数据传输方法, 包 括: It can be seen from the technical solution provided by the foregoing embodiment of the present invention that a plurality of TCP connections are maintained between the edge server and the network node, and the network node obtains an HTTP request after receiving multiple HTTP request messages sent by the edge server. The data is first transmitted on the TCP connection with the least delay, the data of the HTTP request is transmitted, the parallel data is transmitted, and the TCP bandwidth is fully utilized. As shown in FIG. 4, an embodiment of the present invention provides a data transmission method in a CDN network, including:
步骤 41、 确定与网络节点之间是否建立有 TCP连接。 Step 41: Determine whether a TCP connection is established with the network node.
步骤 42、 确定与网络节点之间没有建立有 TCP连接, 建立与网络节点之 间的多条 TCP连接, 通过多条 TCP连接发送多个 HTTP请求消息。 Step 42: Determine that a TCP connection is not established with the network node, establish multiple TCP connections with the network node, and send multiple HTTP request messages through multiple TCP connections.
步骤 43、 通过多条 TCP连接接收网络节点发送的响应消息, 获取 HTTP 请求消息的响应数据。 其中, 本发明实施例 CDN网络中的数据传输方法的执行主体可以为边缘 节点, 边缘节点可以为边缘服务器, 多条 TCP连接可以理解为至少两条 TCP 连接, 多个 HTTP请求消息可以理解为至少两个 HTTP请求消息。 Step 43: Receive a response message sent by the network node by using multiple TCP connections, and obtain response data of the HTTP request message. The execution body of the data transmission method in the CDN network of the embodiment of the present invention may be an edge node, and the edge node may be an edge server, and multiple TCP connections may be understood as at least two TCP connections, and multiple HTTP request messages may be understood as at least Two HTTP request messages.
上述网络节点可以包括: 区域节点或者中心节点。 区域节点、 中心节点 用于存储网络数据。 可选的, 在边缘节点和中心节点之间可以存在多级区域 节点, 从而满足的业务需要。 The above network node may include: a regional node or a central node. The regional node and the central node are used to store network data. Optionally, there may be multiple levels of regional nodes between the edge node and the central node to meet the business needs.
由上述本发明的实施例提供的技术方案可以看出, 在边缘节点和网络节 点之间维护多条 TCP连接, 网络节点收到边缘节点发送的多个 HTTP请求消 息后, 实现并行数据的传输, 充分利用 TCP带宽。 It can be seen that the foregoing technical solution provided by the embodiment of the present invention maintains multiple TCP connections between the edge node and the network node, and the network node implements parallel data transmission after receiving multiple HTTP request messages sent by the edge node. Make full use of TCP bandwidth.
具体而言, 本发明实施例 CDN网络中的数据传输方法: Specifically, the data transmission method in the CDN network in the embodiment of the present invention:
在 CDN路由设备向边缘节点返回保存有所请求的数据的区域节点或者中 心节点的地址信息 (地址信息可以包括域名或者 IP地址) 后, 则进入步骤 41。 After the CDN routing device returns the address information of the regional node or the central node storing the requested data to the edge node (the address information may include the domain name or the IP address), the process proceeds to step 41.
具体而言, 步骤 41 , 可以包括: Specifically, step 41 may include:
边缘节点检查是否已经存在到对应 IP地址的 TCP连接。 The edge node checks if a TCP connection to the corresponding IP address already exists.
如果和对应 IP地址之间已经存在 TCP连接, 则边缘节点直接通过 TCP连 接发送 HTTP请求消息。 If there is already a TCP connection with the corresponding IP address, the edge node directly sends an HTTP request message through the TCP connection.
如果和对应 IP地址之间没有存在 TCP连接, 进入步骤 42。 If there is no TCP connection with the corresponding IP address, go to step 42.
具体而言, 步骤 42, 可以包括: Specifically, step 42 may include:
边缘节点和对应 I P地址之间不存在 TCP连接, 则边缘节点按照配置要求 建立对应的 TCP连接数。 例如默认配置需要建立 2条 TCP连接, 则边缘节点主 动建立到对应 I P地址的 2条 TC P连接。 If there is no TCP connection between the edge node and the corresponding IP address, the edge node establishes the corresponding number of TCP connections according to the configuration requirements. For example, if the default configuration needs to establish two TCP connections, the edge node actively establishes two TC P connections to the corresponding IP address.
边缘节点可以轮选一条 TCP连接, 在该 TCP连接上向区域节点层或者中 心节点提交 HTTP请求消息。 同时, 该 HTTP请求消息中携带流索引指示 X- Flow-lndex和连接索引指示 X-Connection-lndex。 流索引指示 X-Flow-lndex, 用于标识 HTTP请求消息的请求内容, 连接索引指示 X-Connection-lndex, 用 于标识 HTTP请求消息使用的 TCP连接。 The edge node may poll a TCP connection on which to submit an HTTP request message to the regional node layer or the central node. At the same time, the HTTP request message carries a stream index indicating X-Flow-lndex and a connection index indicating X-Connection-lndex. The stream index indicates X-Flow-lndex, The request content used to identify the HTTP request message, and the connection index indicates X-Connection-lndex, which is used to identify the TCP connection used by the HTTP request message.
从而, 网络节点可以通过多条 TCP选择传输 HTTP请求消息所请求的数 据。 进入步骤 43 , 边缘节点通过多条 TCP连接接收网络节点发送的响应消 息, 获取 HTTP请求消息的响应数据。 同时, 该响应消息中携带流索引指示 X-Flow-lndex和连接索引指示 X-Connection -lndex。 Thus, the network node can select to transmit the data requested by the HTTP request message through multiple TCPs. Proceeding to step 43, the edge node receives the response message sent by the network node through multiple TCP connections, and obtains response data of the HTTP request message. At the same time, the response message carries the stream index indication X-Flow-lndex and the connection index indication X-Connection-lndex.
如果网络节点选择传输时延最小的 TCP连接传输 HTTP请求消息所请求的 数据, 则步骤 43中, 边缘节点通过多条 TCP连接中的传输时延最小的 TCP连 接接收网络节点发送的响应消息, 获取 HTTP请求消息的响应数据。 If the network node selects the TCP connection with the smallest transmission delay to transmit the data requested by the HTTP request message, in step 43, the edge node receives the response message sent by the network node through the TCP connection with the smallest transmission delay among the multiple TCP connections, and obtains The response data of the HTTP request message.
最后, 边缘节点收到网络节点发送的响应消息, 根据响应消息的流索引 指示 X-Flow-lndex和连接索引指示 X-Connection-lndex可以关联到 HTTP请求 消息, 从而最终关联到终端用户, 将从网络节点返回的数据交付给终端用 户。 Finally, the edge node receives the response message sent by the network node, and indicates that the X-Flow-lndex and the connection index indicate that the X-Connection-lndex can be associated with the HTTP request message according to the flow index of the response message, thereby finally associating to the end user, and The data returned by the network node is delivered to the end user.
由于 HTTP请求消息和响应消息均扩展了流索引指示 X-Flow-lndex和连接 索引指示 X-Connection -Index , HTTP请求消息和响应消息不需要严格保 序。 例如, 同时有 2个终端用户向同一个区域节点请求内容, 则边缘节点可 以按照 Pipeline方式无需等待区域节点的响应数据, 无需等待网络节点的响应 数据, 边缘节点直接在多个 TCP连接上连续发起请求, 然后从多个 TCP上异 步的接收响应数据, 可以实现并行数据的传输, 充分利用 TCP带宽。 Since both the HTTP request message and the response message extend the stream index indication X-Flow-lndex and the connection index indication X-Connection-Index, the HTTP request message and the response message do not need to be strictly protected. For example, if two terminal users request content from the same regional node at the same time, the edge node can wait for the response data of the regional node according to the Pipeline mode without waiting for the response data of the network node, and the edge node continuously initiates directly on multiple TCP connections. Requests, and then asynchronously receive response data from multiple TCPs, can achieve parallel data transmission, making full use of TCP bandwidth.
可选的, 边缘节点还可以根据热度替换算法决定是否将交付给终端用户 的数据緩存在本地, 从而边缘节点为后续其他终端用户的相同的业务请求服 务。 热度替换算法, 如 LRU(Least Recently Used , 最近最少使用)算法, 等 等。 Optionally, the edge node may further determine, according to the heat replacement algorithm, whether to cache the data delivered to the end user locally, so that the edge node serves the same service request of other subsequent end users. Heat replacement algorithms, such as LRU (Least Recently Used) algorithms, and so on.
本发明实施例的 CDN网络中的数据传输方法, 还可以包括: The data transmission method in the CDN network of the embodiment of the present invention may further include:
监测多条 TCP连接所接收到的响应消息的数量, 当 TCP连接的响应消息 的数量小于预定阈值时, 则删除对应的 TC P连接。 Monitor the number of response messages received by multiple TCP connections, when the TCP connection responds to the message When the number of times is less than the predetermined threshold, the corresponding TC P connection is deleted.
或者, 监测多条 TCP连接, 当 TCP连接上没有流量, 则删除对应的 TCP 连接。 Or, monitor multiple TCP connections. When there is no traffic on the TCP connection, delete the corresponding TCP connection.
具体的, 边缘节点根据 TCP连接的实际使用来监测从各条 TCP连接上所 接收到的响应消息数量。 如果某条 TCP连接上收到的响应消息数小于指定的 阈值, 或者某条 TCP连接上收到的响应消息数相对于其它的 TCP连接上收到 的响应消息数小于指定的阈值, 则说明该条 TCP连接所经过的网络路径传输 状况不好, 边缘节点可以动态删除该条 TCP连接, 重新建立新的 TCP连接。 Specifically, the edge node monitors the number of response messages received from the various TCP connections based on the actual use of the TCP connection. If the number of response messages received on a TCP connection is less than the specified threshold, or the number of response messages received on a TCP connection is less than the specified threshold, the number of response messages received on other TCP connections is less than the specified threshold. The network path through which the TCP connection passes is not well transmitted. The edge node can dynamically delete the TCP connection and re-establish a new TCP connection.
而且, 可能在 CDN路由服务器调整路由策略后, 边缘节点与之前已经建 立连接的某个区域节点之间不再有流量, 因此边缘节点需要监测已经建立的 各条 TCP连接上的流量。 如果持续指定的时长后到某个 IP地址的各条 TCP连 接上都没有流量, 则边缘节点删除到该 IP地址的所有连接, 减少需要维护的 TCP连接数量。 如图 5所示, 对应上述实施例的 CDN网络中的数据传输方法, 本发明实 施例提供一种边缘节点, 包括: Moreover, after the routing policy is adjusted by the CDN routing server, there is no more traffic between the edge node and a certain regional node that has already established a connection. Therefore, the edge node needs to monitor the traffic on each TCP connection that has been established. If there is no traffic on each TCP connection to an IP address for a specified period of time, the edge node deletes all connections to the IP address, reducing the number of TCP connections that need to be maintained. As shown in FIG. 5, in accordance with the data transmission method in the CDN network of the foregoing embodiment, an embodiment of the present invention provides an edge node, including:
确定单元 51 , 用于确定与网络节点之间是否建立有 TCP连接。 The determining unit 51 is configured to determine whether a TCP connection is established with the network node.
第二建立单元 52, 用于确定与网络节点之间没有建立有 TCP连接, 建立 与网络节点之间的多条 TCP连接, 通过多条 TCP连接发送多个 HTTP请求消 响应接收单元 53 , 用于通过多条 TCP连接接收网络节点发送的响应消 息, 获取 HTTP请求消息的响应数据。 a second establishing unit 52, configured to determine that a TCP connection is not established with the network node, establish multiple TCP connections with the network node, and send multiple HTTP request cancellation response receiving units 53 through multiple TCP connections, Receiving a response message sent by the network node through multiple TCP connections, and obtaining response data of the HTTP request message.
本发明实施例边缘节点可以为边缘服务器, 多条 TCP连接可以理解为至 少两条 TCP连接, 多个 HTTP请求消息可以理解为至少两个 HTTP请求消息。 In the embodiment of the present invention, the edge node may be an edge server, and multiple TCP connections may be understood as at least two TCP connections, and multiple HTTP request messages may be understood as at least two HTTP request messages.
上述网络节点可以包括: 区域节点或者中心节点。 区域节点、 中心节点 用于存储网络数据。 可选的, 在边缘节点和中心节点之间可以存在多级区域 节点, 从而满足的业务需要。 The above network node may include: a regional node or a central node. Regional node, central node Used to store network data. Optionally, there may be multiple levels of regional nodes between the edge node and the central node to meet the business needs.
由上述本发明的实施例提供的技术方案可以看出, 在边缘节点和网络节 点之间维护多条 TCP连接, 实现并行数据的传输, 以及充分利用 TCP带宽。 It can be seen from the technical solution provided by the foregoing embodiments of the present invention that multiple TCP connections are maintained between the edge node and the network node, parallel data transmission is realized, and TCP bandwidth is fully utilized.
具体而言, 响应接收单元 53 , 还可以用于通过多条 TCP连接中的传输时 延最小的 TCP连接接收网络节点发送的响应消息, 获取 HTTP请求消息的响 应数据。 Specifically, the response receiving unit 53 is further configured to receive, by using a TCP connection with a minimum transmission delay among the plurality of TCP connections, a response message sent by the network node, to obtain response data of the HTTP request message.
第二建立单元 52发送的 HTTP请求消息中携带流索引指示 X-Flow-lndex和 连接索引指示 X-Connection -lndex。 The HTTP request message sent by the second establishing unit 52 carries the stream index indication X-Flow-lndex and the connection index indication X-Connection-lndex.
响应接收单元 53接收到的响应消息携带所述流索引指示 X-Flow-lndex和 连接索引指示 X-Connection -lndex。 The response message received by the response receiving unit 53 carries the stream index indication X-Flow-lndex and the connection index indication X-Connection-lndex.
其中, 所述流索引指示 X-Flow-lndex, 用于标识 HTTP请求消息的请求内 容, 所述连接索引指示 X-Connection-lndex, 用于标识 HTTP请求消息使用的 TCP连接。 The flow index indicates an X-Flow-lndex, which is used to identify a request content of an HTTP request message, and the connection index indicates an X-Connection-lndex, which is used to identify a TCP connection used by the HTTP request message.
由于 HTTP请求消息和响应消息均扩展了流索引指示 X-Flow-lndex和连接 索引指示 X-Connection -Index , HTTP请求消息和响应消息不需要严格保 序。 例如, 同时有 2个终端用户向同一个区域节点请求内容, 则边缘节点可 以按照 Pipeline方式无需等待区域节点的响应数据, 无需等待网络节点的响应 数据, 边缘节点直接在多个 TCP连接上连续发起请求, 然后从多个 TCP上异 步的接收响应数据, 可以实现并行数据的传输, 充分利用 TCP带宽。 Since both the HTTP request message and the response message extend the stream index indication X-Flow-lndex and the connection index indication X-Connection-Index, the HTTP request message and the response message do not need to be strictly protected. For example, if two terminal users request content from the same regional node at the same time, the edge node can wait for the response data of the regional node according to the Pipeline mode without waiting for the response data of the network node, and the edge node continuously initiates directly on multiple TCP connections. Requests, and then asynchronously receive response data from multiple TCPs, can achieve parallel data transmission, making full use of TCP bandwidth.
如图 6所示, 本发明实施例边缘节点, 还可以包括: As shown in FIG. 6, the edge node of the embodiment of the present invention may further include:
第一监测单元 61 , 用于监测多条 TCP连接所接收到的响应消息的数量, 当 TCP连接的响应消息的数量小于预定阈值时, 则删除对应的 TCP连接。 The first monitoring unit 61 is configured to monitor the number of response messages received by the multiple TCP connections. When the number of response messages of the TCP connection is less than a predetermined threshold, the corresponding TCP connection is deleted.
可见, 该条 TCP连接所经过的网络路径传输状况不好, 边缘节点可以动 态删除该条 TCP连接, 重新建立新的 TCP连接。 或者, 本发明实施例边缘节点, 还可以包括: It can be seen that the network path through which the TCP connection passes is not well transmitted, and the edge node can dynamically delete the TCP connection and re-establish a new TCP connection. Alternatively, the edge node of the embodiment of the present invention may further include:
第二监测单元 62, 用于监测多条 TCP连接, 当 TCP连接上没有流量, 则 删除对应的 TCP连接。 The second monitoring unit 62 is configured to monitor multiple TCP connections. When there is no traffic on the TCP connection, the corresponding TCP connection is deleted.
可见, 边缘节点删除到该 IP地址的所有连接, 减少需要维护的 TCP连接 数量。 如图 7所示, 本发明实施例提供一种数据传输系统, 包括第一网络节点 71和第二网络节点 72: It can be seen that the edge node deletes all connections to the IP address, reducing the number of TCP connections that need to be maintained. As shown in FIG. 7, an embodiment of the present invention provides a data transmission system including a first network node 71 and a second network node 72:
第一网络节点 71 , 用于接收多个 HTTP请求消息, 获取 HTTP请求消息所 请求的数据, 通过响应消息发送 HTTP请求消息所请求的数据, 其中, 发送 多个 HTTP请求消息所请求的数据的先后顺序对应于获取到多个 HTTP请求消 息所请求的数据的先后顺序; The first network node 71 is configured to receive multiple HTTP request messages, obtain data requested by the HTTP request message, and send data requested by the HTTP request message by using a response message, where the data requested by the multiple HTTP request messages is sent. The order corresponds to the order in which the data requested by the plurality of HTTP request messages is obtained;
第二网络节点 72 , 用于向第一网络节点 71发送多个 HTTP请求消息, 以 及接收第一网络节点 71发送的 HTTP请求消息所请求的数据。 The second network node 72 is configured to send a plurality of HTTP request messages to the first network node 71, and receive data requested by the HTTP request message sent by the first network node 71.
本发明实施例 CDN系统中, 第一网络节点 71可以参照上述实施例网络节 点得以理解。 第二网络节点 72如边缘服务器, 可以参照上述实施例边缘服务 器得以理解。 多条 TCP连接可以理解为至少两条 TCP连接, 多个 HTTP请求消 息可以理解为至少两个 HTTP请求消息。 Embodiments of the Invention In the CDN system, the first network node 71 can be understood by referring to the network node of the above embodiment. The second network node 72, such as an edge server, can be understood with reference to the edge server of the above embodiment. Multiple TCP connections can be understood as at least two TCP connections, and multiple HTTP request messages can be understood as at least two HTTP request messages.
由上述本发明的实施例提供的技术方案可以看出, 通过发送多个 HTTP 请求消息所请求的数据的先后顺序对应于获取到多个 HTTP请求消息所请求 的数据的先后顺序, 实现先获取到的 HTTP请求的数据优先传输, 可以提高 数据的传输效率。 如图 8所示, 边缘服务器 81作为媒体交付节点, 负责多个终端 82的媒体 交付任务, 边缘服务器 81和区域节点 83之间维护多条 TCP连接。 而且, 在区 域节点 83之外还可以存在多级区域节点, 从而满足的业务需要。 According to the technical solution provided by the foregoing embodiment of the present invention, the sequence of data requested by sending multiple HTTP request messages corresponds to the sequence of data requested by multiple HTTP request messages, and the first step is obtained. The data of the HTTP request is preferentially transmitted, which can improve the data transmission efficiency. As shown in FIG. 8, the edge server 81 serves as a media delivery node, and is responsible for media delivery tasks of the plurality of terminals 82. The edge server 81 and the area node 83 maintain a plurality of TCP connections. And in the district There may also be multi-level regional nodes in addition to the domain node 83 to meet the business needs.
如图 9所示, 以边缘服务器和区域节点为例, 具体说明 CDN网络中的数 据传输方法, 包括: As shown in Figure 9, the edge server and the area node are taken as an example to describe the data transmission method in the CDN network, including:
91、 当终端用户点击网站上某个内容的连接后, 对应的 HTTP请求被路 由到边缘服务器上。 91. When the end user clicks on the connection of a certain content on the website, the corresponding HTTP request is routed to the edge server.
92、 边缘服务器根据终端用户请求的 URI ( Uniform Resource 92. The edge server according to the URI requested by the end user (Uniform Resource
Identifier, 通用资源标志符)信息确认本地没有緩存所请求的内容, 边缘服 务器向 CDN路由设备查询有保存所请求的内容的区域节点或者中心节点的地 址信息。 The Identifier, the universal resource identifier, confirms that the requested content is not cached locally, and the edge server queries the CDN routing device for the address information of the regional node or the central node that holds the requested content.
93、 CDN路由服务器向边缘服务器返回保存有所请求内容的区域节点的 位置信息, 包括域名或者 IP地址。 如果返回的是域名, 则边缘服务器通过 DNS解析也可以获取到对应的 I P地址。 93. The CDN routing server returns to the edge server location information of the area node that holds the requested content, including the domain name or the IP address. If the domain name is returned, the edge server can also obtain the corresponding IP address through DNS resolution.
94、 边缘服务器检查是否已经存在到对应 IP地址的 TCP连接是否存在: 如果不存在, 则按照配置要求建立对应的多条 TCP连接; 如果和对应的 IP地 址之间已经存在了配置要求的 TCP连接数, 则不用再单独建立新的 TCP连 接。 94. The edge server checks whether there is a TCP connection to the corresponding IP address. If it does not exist, the corresponding multiple TCP connections are established according to the configuration requirements. If the configuration requires a TCP connection with the corresponding IP address. The number does not require a new TCP connection to be established.
95、 边缘服务器选择一条 TCP连接, 在该 TCP连接上向区域节点提交 HTTP请求, HTTP请求消息中指示了要请求的内容的 URI信息, 并且在 HTTP 请求消息头扩展一个 X-Flow-I ndex头域如下: 95. The edge server selects a TCP connection, submits an HTTP request to the regional node on the TCP connection, the HTTP request message indicates the URI information of the content to be requested, and expands an X-Flow-I ndex header in the HTTP request message header. The fields are as follows:
X-Flow-lndex = " X-Flow-lndex" ":" "DIGIT X-Flow-lndex = "X-Flow-lndex" ":" "DIGIT
在 HTTP请求消息头还扩展一个 X-Connection-lndex头域如下: The X-Connection-Index header field is also extended in the HTTP request header as follows:
X-Connection-lndex = "X-Connection-lndex" ":" 1 *DIGIT X-Connection-lndex = "X-Connection-lndex" ":" 1 *DIGIT
示例性的, 边缘服务器与区域节点之间的 HTTP请求消息如下: 。 Exemplarily, the HTTP request message between the edge server and the zone node is as follows:
GET / HTTP/1 .1 GET / HTTP/1 .1
Accept: */* Accept: */*
Accept-Language: zh-cn Accept-Encoding: gzip, deflate Accept-Language: zh-cn Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1 ) Host: www.ABC.com User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Host: www.ABC.com
X-Flow-lndex = 1234 X-Flow-lndex = 1234
X-Connection-lndex = 1 X-Connection-lndex = 1
96、 区域节点收到边缘服务器的 HTTP请求消息后, 根据 HTTP请求消息 中的 URI定位所要请求的内容。 区域节点获取到边缘服务器 HTTP请求需要的 内容后, 选择给边缘服务器发送响应数据需要使用的 TCP连接。 96. After receiving the HTTP request message of the edge server, the area node locates the content to be requested according to the URI in the HTTP request message. After the zone node obtains the content required by the edge server HTTP request, it selects the TCP connection that needs to be used to send the response data to the edge server.
区域节点检查当前到边缘服务器的各条 TCP连接的传输带宽和每条 TCP 连接上目前还需要传输的数据量, 根据待传输的数据量和传输带宽可以计算 TCP连接的传输时延, 即指需要等待 TCP连接空闲来发送数据的等待时延, 区域节点选择传输时延最小的 TCP连接来传输响应数据。 The area node checks the transmission bandwidth of each TCP connection to the edge server and the amount of data that needs to be transmitted on each TCP connection. The transmission delay of the TCP connection can be calculated according to the amount of data to be transmitted and the transmission bandwidth. Waiting for the TCP connection to be idle to send data, the regional node selects the TCP connection with the smallest transmission delay to transmit the response data.
区域节点按照先获取到哪个 HTTP请求的数据则先传输对应的数据, 以 及哪条 TCP连接上的传输时延小则在该 TCP连接上传输, 实现数据的灵活高 效传输, 体现数据优先、 时延优先。 The area node first transmits the corresponding data according to which HTTP request data is first acquired, and which transmission delay on the TCP connection is small, and then transmits on the TCP connection, thereby realizing flexible and efficient transmission of data, reflecting data priority and delay. priority.
区 i或节点在响应消息中同样携带 X-Flow-lndex和 X-Connection -Index头 域, 这两个头域的取值和 HTTP请求消息中头域的取值一致。 The area i or the node also carries the X-Flow-Index and X-Connection-Index header fields in the response message. The values of the two header fields are the same as those in the HTTP request message.
示例性的, 响应消息如下: Exemplarily, the response message is as follows:
HTTP/1 .1 200 OK HTTP/1 .1 200 OK
Date: Mon, 19 Jul 2010 07:10:06 GMT Date: Mon, 19 Jul 2010 07:10:06 GMT
Expires: -1 Expires: -1
Cache-Control: private, max-age=0 Cache-Control: private, max-age=0
Content-Type: text/html; charset=UTF-8 Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip Content-Encoding: gzip
Server: gws Server: gws
X-Flow-lndex = 1234 X-Flow-lndex = 1234
X-Connection-lndex = 1 Content-Length: 4125 X-Connection-lndex = 1 Content-Length: 4125
Message Body Message Body
另外, 如果所要请求的内容之前已经保存在区域节点内存或者硬盘等存 储介质中则区域节点可以从本地直接获取, 否则区域节点可以采用和边缘服 务器获取内容相似的方式从更上层的区域节点获取所请求的内容。 In addition, if the content to be requested has been previously stored in the storage medium such as the area node memory or the hard disk, the area node can be directly obtained from the local, otherwise the area node can acquire the upper area node in a manner similar to the content acquired by the edge server. The requested content.
97、 边缘服务器收到区域节点的响应消息后, 根据 X-Flow-lndex和 X- Connection -Index头域可以关联到 HTTP请求消息, 从而最终关联到终端用 户请求上。 最终边缘服务器将从区域节点返回的内容交付给终端用户。 97. After receiving the response message of the regional node, the edge server may associate the HTTP request message according to the X-Flow-lndex and X-Connection-Index header fields, and finally associate with the terminal user request. The final edge server delivers the content returned from the zone node to the end user.
可选的, 上述步骤 96中, 区域节点检查当前到边缘服务器的各条 TCP连 接的传输带宽和每条 TCP连接上目前还需要传输的数据量, 网络节点根据待 传输的数据量和传输带宽计算每条 TCP连接的传输时延, 确定出最小传输时 延的 TCP连接, 根据到边缘服务器 RTT预测新建立 TCP连接的时延: Optionally, in the foregoing step 96, the area node checks the transmission bandwidth of each TCP connection to the edge server and the amount of data currently needed to be transmitted on each TCP connection, and the network node calculates according to the amount of data to be transmitted and the transmission bandwidth. The transmission delay of each TCP connection, the TCP connection with the minimum transmission delay is determined, and the delay of newly establishing the TCP connection is predicted according to the RTT to the edge server:
如果最小传输时延小于新建立 TCP连接的时延, 则维持当前 TCP连接个 数的稳定, 仍然等待使用之前建立的 TCP连接来传输数据。 If the minimum transmission delay is less than the delay of the newly established TCP connection, the number of current TCP connections is maintained stable, and the TCP connection established before is still used to transmit data.
如果最小传输时延大于新建立 TCP连接的时延, 则网络节点主动向边缘 服务器建立 TCP连接。 If the minimum transmission delay is greater than the delay of the newly established TCP connection, the network node actively establishes a TCP connection to the edge server.
区域节点可以通过 HTTP POST方法传输数据, 在 POST消息中携带 X- Flow-lndex和 X-Connection-lndex头域, 用于与之前的 HTTP请求消息相关 联, POST消息示例如下: The regional node can transmit data through the HTTP POST method, and the X-Flow-Index and X-Connection-Index header fields are carried in the POST message, and are used to associate with the previous HTTP request message. The POST message example is as follows:
POST / HTTP/1 .1 POST / HTTP/1 .1
Accept: */* Accept: */*
Accept-Language: zh-cn Accept-Language: zh-cn
Accept-Encoding: gzip, deflate Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1 ) Host: www.ABC.com X-Flow-lndex = 1234 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Host: www.ABC.com X-Flow-lndex = 1234
X-Connection-lndex = 1 X-Connection-lndex = 1
Content-Length: 4125 Content-Length: 4125
Message Body Message Body
由上述本发明的实施例提供的技术方案可以看出, 按照先获取到哪个业 务请求的数据则先传输对应的数据和那条 TCP连接上的传输时延小则在该 TCP连接上传输的原则来实现数据的灵活高效传输, 体现数据优先、 时延优 先, 实现减少动态删建 TCP连接的开销, 避免 TCP慢启对传输速率的影响, 减少需要维护的 TCP连接数, 提升每条 TCP连接上的复用、 并发效率。 需要说明的是, 对于前述的各方法实施例, 为了筒单描述, 故将其都表 述为一系列的动作组合, 但是本领域技术人员应该知悉, 本发明并不受所描 述的动作顺序的限制, 因为依据本发明, 某些步骤可以采用其他顺序或者同 时进行。 其次, 本领域技术人员也应该知悉, 说明书中所描述的实施例均属 于优选实施例, 所涉及的动作和模块并不一定是本发明所必须的。 According to the technical solution provided by the embodiment of the present invention, the principle of transmitting the corresponding data and the transmission delay on the TCP connection is transmitted on the TCP connection according to the data of which service request is first acquired. To achieve flexible and efficient data transmission, which reflects data priority and delay priority, reduces the overhead of dynamically deleting TCP connections, avoids the impact of TCP slow start on transmission rate, reduces the number of TCP connections that need to be maintained, and improves each TCP connection. Reuse, concurrency efficiency. It should be noted that, for the foregoing method embodiments, they are all described as a series of action combinations for the description of the device, but those skilled in the art should understand that the present invention is not limited by the described action sequence. Because certain steps may be performed in other orders or concurrently in accordance with the present invention. In addition, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
在上述实施例中, 对各个实施例的描述都各有侧重, 某个实施例中没有 详述的部分, 可以参见其他实施例的相关描述。 In the above embodiments, the descriptions of the various embodiments are different, and the parts that are not detailed in a certain embodiment can be referred to the related descriptions of other embodiments.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程, 是可以通过计算机程序来指令相关的硬件来完成, 所述的程序可存储于 一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的实施 例的流程。 其中, 所述的存储介质可为磁碟、 光盘、 只读存储记忆体 A person skilled in the art can understand that all or part of the process of implementing the above embodiment method can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. In execution, the flow of an embodiment of the methods as described above may be included. The storage medium may be a magnetic disk, an optical disk, or a read-only storage memory.
( Read-Only Memory , ROM ) 或随机存储 i己' 体 ( Random Access Memory, RAM )等。 以上所述, 仅为本发明较佳的具体实施方式, 但本发明的保护范围并不 局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可 轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明 的保护范围应该以权利要求的保护范围为准。 (Read-Only Memory, ROM) or random access random access memory (RAM). The above is only a preferred embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art may be within the technical scope disclosed by the present invention. Changes or substitutions that are easily conceived are intended to be covered by the scope of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201010579563.2A CN102158518B (en) | 2010-12-03 | 2010-12-03 | Data transmission method in content distribution network (CDN), network node and system |
| CN201010579563.2 | 2010-12-03 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012072045A1 true WO2012072045A1 (en) | 2012-06-07 |
Family
ID=44439698
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2011/083448 Ceased WO2012072045A1 (en) | 2010-12-03 | 2011-12-05 | Method, network node and system for data transmission in cdn network |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN102158518B (en) |
| WO (1) | WO2012072045A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113556411A (en) * | 2021-06-28 | 2021-10-26 | 深圳市高德信通信股份有限公司 | CDN video scheduling device and method |
| CN114338553A (en) * | 2021-12-03 | 2022-04-12 | 深圳市欧瑞博科技股份有限公司 | Message sending method and device, electronic equipment and storage medium |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102158518B (en) * | 2010-12-03 | 2014-04-30 | 华为技术有限公司 | Data transmission method in content distribution network (CDN), network node and system |
| CN103731398A (en) * | 2012-10-11 | 2014-04-16 | 北京百度网讯科技有限公司 | Data access method, system and device based on CDN |
| CN108600165A (en) * | 2018-03-15 | 2018-09-28 | 北京大米科技有限公司 | Communication means, client, Centroid based on TCP and communication system |
| CN109286624B (en) * | 2018-09-27 | 2021-05-18 | 北京锐安科技有限公司 | Communication method, device, terminal and storage medium |
| CN111212126B (en) * | 2019-12-27 | 2023-05-26 | 百度在线网络技术(北京)有限公司 | Data transmission method, device, equipment and medium of block chain network |
| CN113992543A (en) * | 2021-10-29 | 2022-01-28 | 建信金融科技有限责任公司 | Response message sending method, device, equipment and readable storage medium |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1627710A (en) * | 2003-12-12 | 2005-06-15 | 国际商业机器公司 | Estimating bandwidth of client-isp link,appts.and servers |
| CN101483535A (en) * | 2008-01-08 | 2009-07-15 | 株式会社日立制作所 | Contents distribution method and receiving device |
| CN101500016A (en) * | 2008-01-31 | 2009-08-05 | 华为技术有限公司 | Service control method, system and equipment |
| CN102158518A (en) * | 2010-12-03 | 2011-08-17 | 华为技术有限公司 | Data transmission method in content distribution network (CDN), network node and system |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2313524A (en) * | 1996-05-24 | 1997-11-26 | Ibm | Providing communications links in a computer network |
| CN100539589C (en) * | 2005-03-24 | 2009-09-09 | 北京北方烽火科技有限公司 | A kind of high speed Le interface implementation method based on asynchronous multithreading |
| CN101115050A (en) * | 2006-07-24 | 2008-01-30 | 中兴通讯股份有限公司 | System and method for processing network service request |
-
2010
- 2010-12-03 CN CN201010579563.2A patent/CN102158518B/en not_active Expired - Fee Related
-
2011
- 2011-12-05 WO PCT/CN2011/083448 patent/WO2012072045A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1627710A (en) * | 2003-12-12 | 2005-06-15 | 国际商业机器公司 | Estimating bandwidth of client-isp link,appts.and servers |
| CN101483535A (en) * | 2008-01-08 | 2009-07-15 | 株式会社日立制作所 | Contents distribution method and receiving device |
| CN101500016A (en) * | 2008-01-31 | 2009-08-05 | 华为技术有限公司 | Service control method, system and equipment |
| CN102158518A (en) * | 2010-12-03 | 2011-08-17 | 华为技术有限公司 | Data transmission method in content distribution network (CDN), network node and system |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113556411A (en) * | 2021-06-28 | 2021-10-26 | 深圳市高德信通信股份有限公司 | CDN video scheduling device and method |
| CN113556411B (en) * | 2021-06-28 | 2023-05-26 | 深圳市高德信通信股份有限公司 | CDN video scheduling device and method |
| CN114338553A (en) * | 2021-12-03 | 2022-04-12 | 深圳市欧瑞博科技股份有限公司 | Message sending method and device, electronic equipment and storage medium |
| CN114338553B (en) * | 2021-12-03 | 2023-11-28 | 深圳市欧瑞博科技股份有限公司 | Message sending method, device, electronic equipment and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN102158518A (en) | 2011-08-17 |
| CN102158518B (en) | 2014-04-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11336614B2 (en) | Content node network address selection for content delivery | |
| WO2012072045A1 (en) | Method, network node and system for data transmission in cdn network | |
| CN100505696C (en) | System, method and user terminal for realizing video live broadcast in media distributing network | |
| CN101841577B (en) | Method and device for implementing domain name resolution agent function | |
| CN104009938B (en) | The long method and system connected based on route aspect | |
| CN103475654B (en) | Network path optimization method, equipment and network system | |
| CN107979592B (en) | A method and device for sending a service request message | |
| WO2008077299A1 (en) | A redirector, a relay and a routing information configuration system and an updating method | |
| JP2004171572A (en) | Load distribution method between servers, load distribution system, load distribution server and program | |
| CN102301682A (en) | Method and system for network caching, domain name system redirection sub-system thereof | |
| WO2013044671A1 (en) | Internet access method, terminal and storage medium | |
| WO2011137809A1 (en) | Method, apparatus and system for realizing hypertext transfer protocol redirection in content delivery network | |
| CN109818905B (en) | Method, network element equipment and system for adapting transport layer protocol | |
| WO2013104237A1 (en) | Content distribution method and device, and access network device | |
| US7877479B2 (en) | Bandwidth control system and method capable of reducing traffic congestion on content servers | |
| WO2012075970A1 (en) | Method, device and system for obtaining media content | |
| CN103891237B (en) | A network storage method, switching device and controller | |
| CN113630366A (en) | Internet of things equipment access method and system | |
| JP2005184165A (en) | Traffic control device and service system using the same | |
| JP2011180820A (en) | Data transfer management apparatus, data transfer management method and data transfer management program | |
| JP2011205285A (en) | Relay node, and relay processing program | |
| CN107231567B (en) | A message transmission method, device and system | |
| CN101072242B (en) | Network point-to-point file transmitting method and system | |
| KR101469310B1 (en) | Method and system for end-to-end QoS guaranteed content delivery on service overlay network | |
| Davern et al. | HTTPEP: A HTTP performance enhancing proxy for satellite systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11845255 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 11845255 Country of ref document: EP Kind code of ref document: A1 |