WO2019174208A1 - 基于tcp的通信方法、客户端、中心节点和通信系统 - Google Patents

基于tcp的通信方法、客户端、中心节点和通信系统 Download PDF

Info

Publication number
WO2019174208A1
WO2019174208A1 PCT/CN2018/105449 CN2018105449W WO2019174208A1 WO 2019174208 A1 WO2019174208 A1 WO 2019174208A1 CN 2018105449 W CN2018105449 W CN 2018105449W WO 2019174208 A1 WO2019174208 A1 WO 2019174208A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
client
edge
edge node
access
Prior art date
Application number
PCT/CN2018/105449
Other languages
English (en)
French (fr)
Inventor
梁云格
徐军军
Original Assignee
北京大米科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京大米科技有限公司 filed Critical 北京大米科技有限公司
Publication of WO2019174208A1 publication Critical patent/WO2019174208A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Definitions

  • the present invention relates to the field of real-time online education, and in particular to a TCP-based communication method, a client, a central node, and a communication system.
  • the UDP (User Datagram Protocol) solution is currently popular in real-time online education.
  • the UDP-based solution has lower latency and stronger network adaptability than the TCP (Transmission Control Protocol)-based solution.
  • TCP Transmission Control Protocol
  • the UDP solution still has the following main problems:
  • the UDP-based solutions are basically end-based solutions, which cannot meet the needs of users with lighter usage levels and diversified usage.
  • the present invention employs a TCP-based solution.
  • the first aspect of the present invention provides a TCP-based communication method, including:
  • the client selects an edge node for access, wherein the client is configured to access the central node directly through the selected edge node, or through the selected edge, based on the link path of the accessed edge node to the central node.
  • the node accesses the central node via a sink node associated with the selected edge node;
  • the client performs a service interaction with the central node, and acquires data from other clients requested by the client through the central node.
  • the client selects an edge node to perform access, including:
  • the client displays a list of edge nodes to the user, wherein the list of edge nodes includes a plurality of candidate edge nodes;
  • the client responds to the user's selection of the alternate edge node, the client performs a response test on the selected edge node;
  • the client selects the edge node with the fastest response in the test for access.
  • the client provides a list of edge nodes of the top N names of the response speeds in the response test;
  • the client monitors the network status of the currently accessed edge node, and if an abnormality occurs, automatically connects to the fastest responding node other than the current edge node in the list of the top N fast edge nodes, where N ⁇ 3.
  • the client automatically selects the fastest M edge nodes from the candidate edge nodes according to the historical connection record
  • the client performs a response test on the edge node selected by the user and the M edge nodes, where M ⁇ 3.
  • the edge node of the access is configured to directly access the central node, otherwise the client accesses through an aggregation node related to the accessed edge node.
  • the central node
  • the related sink node is a sink node that can be accessed by both the edge node and the central node.
  • the preset condition is: a link path of the edge node and the central node is less than a predetermined threshold; and the edge node involved in the link path belongs to the same area as an IP address of the central node. .
  • a second aspect of the present invention provides a TCP-based communication method, including:
  • the central node is configured to select a client that accesses the edge node directly through the edge node connection, or accesses the edge node through an edge node accessing the aggregation node through the sink node The client;
  • the central node performs service interaction with the client, and sends data requested by the client from other clients to the client.
  • the edge node of the access is configured to directly access the central node, otherwise the client accesses through an aggregation node related to the accessed edge node.
  • the central node
  • the related sink node is a sink node that can be accessed by both the edge node and the central node.
  • the preset condition is:
  • the link path of the edge node and the central node is less than a predetermined threshold
  • the edge node involved in the link path belongs to the same area as the IP address of the central node.
  • each edge node is configured with multiple servers, including a paired streaming media server and a signaling server, wherein
  • a streaming media server receiving the push of audio and video data of a client accessing the streaming media server;
  • the signaling server receives the push of the service instruction of the client accessing the signaling server.
  • each of the servers determines whether to continue to respond to the access of the client according to its own load status.
  • a third aspect of the present invention provides a client, including:
  • An access module configured to select an edge node access, where the access module directly accesses the central node by using the selected edge node, or by selecting, based on the link path of the accessed edge node to the central node
  • the edge node accesses the central node via a sink node associated with the selected edge node
  • An uploading module configured to push the upload data of the client to the edge node of the access, and transmit the data to the central node;
  • a receiving module configured to receive, by the central node, data of another client in response to the request for uploading data.
  • the client further includes:
  • a display module configured to display a list of edge nodes to a user, where the list of edge nodes includes a plurality of candidate edge nodes;
  • a response module configured to perform a response test on the selected edge node in response to a user selection of the candidate edge node
  • the edge node access with the fastest response in the test is selected by the access module.
  • the client further includes:
  • the monitoring module is configured to monitor the network status of the currently accessed edge node, and if an abnormality occurs, automatically connect the response response in the response test provided by the response module, and the response of the current edge node in the top N edge node list is the most The fast node accesses, where N ⁇ 3.
  • the access module automatically selects the fastest M edge nodes from the candidate edge nodes according to the historical connection record
  • the response module performs a response test on the selected edge node and the M edge nodes, where M ⁇ 3.
  • a fourth aspect of the present invention provides a central node, including:
  • An access module configured to select a direct access edge node according to a link path with an edge node, or access an edge node of the sink node by using an access aggregation node connection;
  • a receiving module configured to receive upload data of a client that accesses the edge node
  • a sending module configured to return data of another client according to the request of the client for uploading data.
  • a fifth aspect of the present invention provides a communication system including
  • the client selects the edge node and accesses respectively, and pushes the audio and video files and service instructions of the client to the accessed edge node, and the accessed edge node selects direct access to the center based on the link path with the central node.
  • the central node returns the upload data of another client according to the received request for uploading data of the client.
  • the TCP-based communication method provided by the present invention can implement the method of selecting an access center node according to a data link path, and performing interactive communication through a client-center node manner to satisfy at least two participating in the teaching activity in the online classroom. Client-side interaction and data transfer using the TCP protocol for low-latency, scalable real-time online education.
  • FIG. 1 is a schematic diagram showing a scenario structure of a communication method according to an embodiment of the present invention
  • FIG. 2 is a flow chart showing a communication method according to an embodiment of the present invention.
  • FIG. 3 is a flow chart showing selection of an edge node according to another embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a client according to another embodiment of the present invention.
  • FIG. 5 is a schematic diagram showing a client according to another embodiment of the present invention.
  • FIG. 6 is a schematic diagram showing a scenario of online teaching according to another embodiment of the present invention.
  • an embodiment of the present invention provides a TCP-based communication method, including: a client selects an edge node for access, where the chain is based on the edge node to the central node that is accessed.
  • the client being configured to access the central node directly through the selected edge node, or accessing the central node via the selected edge node via a sink node associated with the selected edge node; the client Performing service interaction with the central node, and obtaining, by the central node, service instructions requested by the client and/or data from other clients.
  • the client may be an application on a computer, or an application on a smart phone or a PAD.
  • the central node is configured to process the business logic, provide the result of the client request, and receive the streaming media file and the courseware service signaling of the online education.
  • An edge node is configured to provide access services of the client, including a streaming media server and a signaling server, where the streaming media server is used for pushing and pulling the audio and video, and the signaling server is used for the courseware Service signaling, the streaming media server and the signaling server are set in pairs.
  • the aggregation node is used to provide forwarding services for the audio and video and courseware service signaling.
  • the first client 200 is an APP on the PAD
  • the second client 300 is an application software on a computer.
  • the central node 100 establishes an online classroom.
  • the first client 200 selects and accesses the edge node 400, and presents the local audio and video file as a media stream file to the streaming server of the edge node 400, and presents the user request and the courseware service request as a service command.
  • the edge node 400 estimates whether the length of the link path to the central node 100 is less than a predetermined threshold, whether the IP address of the edge node and the central node is the same area, the actual network connection status, and the delay of data transmission. Judging the delay threshold of the online education, selecting a routing path to the central node 100, wherein the same area includes the same region or country.
  • the area is a country, and the edge node to the central node meets the above conditions, and direct access is selected. That is, the edge node 400 directly accesses the central node 100, enters the online classroom, and transmits the media stream file and service command of the first terminal 200 to the central node 100.
  • the second client 300 selects and accesses the edge node 500.
  • the link path length of the edge node 500 to the central node 100 is greater than a predetermined threshold, and the IP of the edge node and the central node are not the same. A country, actual network connection status, and delay estimate for data transmission do not meet the latency threshold for online education. Therefore, the edge node 400 first accesses the sink node 500 and then forwards the access to the central node 100 via the sink node 500. And entering the online classroom, and transmitting the media stream file and the service instruction of the second client 300 to the central node 100.
  • the aggregation node 500 is a convergence node that can be accessed by both the edge node 400 and the central node 100.
  • the central node 100 receives the media stream file and the service instruction respectively sent by the first client 200 and the second client 300, and returns the service command and the media stream file requested by the two clients to the request in the service instruction, respectively.
  • Each client requesting, the client receives and executes the returned service instruction, and plays the media stream file, for example, returns a page turning instruction of the courseware service, and the client executes the instruction to render the next page of the current courseware In front of the client user.
  • the client accesses the edge node, pushes the media stream file and the service command, and directly accesses the central node according to the link path or relays the access center node through the sink node, and transmits the media stream file and the service command to the central node. , completed the uplink data transmission.
  • the central node returns the service instruction requested by the client and/or the media stream file of the other client to the requesting client according to the request in the received service instruction, and the downlink data link is also directly transmitted to the edge node according to the link path. Or relaying the transmission to the edge node through the aggregation node, thereby completing the service interaction between the client and the central node.
  • the service interaction between the client and the central node may use the same routing path or different routing paths, and should be designed according to actual needs.
  • the client selecting an edge node for accessing includes: the client displaying an edge node list to the user, wherein the edge node list includes a plurality of candidate edge nodes; and responding to the user
  • the client For the selection of the alternate edge node, the client performs a response test on the selected edge node; the client selects the fastest responding edge node access in the test.
  • the client When selecting an access edge node, first, the client performs rough selection on the available edge nodes to generate an alternate edge node list, wherein the available edge nodes are either all covered edge nodes, or according to history.
  • the connected edge node is recorded, and the user selects at least 3 edge nodes from the list of candidate edge nodes for response testing.
  • the client performs five Ping command response tests on the server corresponding to each edge node selected by the user, and then sorts the response result of the Ping command in a fast and slow manner, and returns the fastest server in the sort as a result to the client.
  • the Ping instruction is a Ping instruction operation on the application layer http level, rather than an ICMP Ping instruction in the actual sense. According to the actual test data, the result error caused by the response test performed by the client using the Ping command of the application layer is acceptable.
  • the client provides the top N list of edge nodes with the fastest response speed in the response test, and the user selects an edge node from the list to access, and after the access, the client continuously monitors the current access.
  • the network condition of the edge node if an abnormality occurs, automatically connects to the fastest responding node other than the current edge node in the list of the top N fastest-responding edge nodes, wherein N ⁇ 3, to ensure real-time communication The normal progress.
  • the client if the user selects only one candidate edge node for response testing, the client automatically selects the fastest M edge nodes from the candidate edge nodes according to the historical connection record; The client performs a response test on the selected edge node and the M edge nodes, where M ⁇ 3.
  • the purpose is to provide multiple accessable edge nodes to the client to avoid online teaching caused by abnormalities of the accessed edge nodes, such as a sharp increase in packet loss rate, insufficient delay to meet normal online interaction, and the like.
  • the routing path of the access center node is determined according to whether the link path of the edge node and the central node meets a preset condition.
  • the preset condition includes: a link path of the edge node and the central node is less than a predetermined threshold; and the edge node involved in the link path belongs to the same area as an IP address of the central node.
  • the delay of the data transmission is estimated according to the length of the link path, and the link path length threshold that satisfies the real-time communication is defined.
  • the edge node involved in the link path belongs to the same area as the IP address of the central node.
  • the area is a country, and the cross-country communication based on the TCP protocol can avoid serious packet loss, operator interception, and user-level loss caused by the UDP protocol transmission.
  • the edge node accessed by the client may directly access the central node; otherwise, the client accesses the central node via a sink node associated with the accessed edge node.
  • the related sink node is a sink node that is accessible to both the edge node and the central node. That is, when the edge path is greater than or equal to a predefined threshold, when the edge node and the central node do not belong to the same country, the edge node accessed by the client needs to be relayed through the sink node to access the central node.
  • the aggregation node that selects access needs to satisfy the link path with the edge node and the central node at the same time is less than a threshold.
  • the routing path may be dynamically selected, or the routing path may be manually deployed.
  • the edge node can select a central node to access by a response test or other method capable of achieving the same purpose.
  • the edge node searches for a connectable sink node by a response test or other method capable of achieving the same purpose, and calculates whether the sink node can access the central node, thereby determining the routing path.
  • an edge node is set in the fixed area. If the edge node and the central node meet the preset conditions, the dedicated line can be directly connected. The edge node and the central node; otherwise, selecting the most appropriate place in the link path of the edge node and the central node to set the aggregation node, and then setting a dedicated line connection between the edge node, the aggregation node, and the central node to ensure obtaining Optimal transmission efficiency.
  • another embodiment of the present invention provides a communication method, including: based on a link path with an edge node, the central node is configured to select a client that accesses the edge node directly through an edge node connection, or Accessing the client of the edge node by using an edge node that accesses the sink node through a sink node; the central node performs service interaction with the client, and the service command requested by the client and/ Or data from other clients is sent to the client.
  • the link path also needs to be determined according to the foregoing preset condition to determine a routing path between the central node and the edge node.
  • each edge node is configured with a plurality of servers, including a paired streaming media server and a signaling server, each server determining whether to continue to respond to the client's access according to its own load status.
  • the streaming media server of the edge node receives the push of the audio and video files of the client accessing the streaming media server; the signaling server of the edge node receives the push of the client service command.
  • the response test is further responsive to the election result of the edge node server.
  • the server performs election according to the load status of the server, for example, using the CPU of the server. Rate, memory usage, network bandwidth, and number of connections are queued as election factors.
  • the load status of the candidate server is greater than the preset load threshold, the election conditions are not met and the competition is withdrawn.
  • the client service that has been accessed by the server that exits the competition is not affected by the election queue, but is no longer responding to the access request of the new client. That is, when a new client access request, the candidate server whose load status is greater than the load threshold is not accessed, thereby ensuring the response speed of the server in the real-time communication process and avoiding network congestion caused by the server load being too large. Further ensure the delay and smoothness of data transmission.
  • the server includes, but is not limited to, a streaming server and a signaling server of the edge node, and may also include a server of a sink node and a central node, and those skilled in the art may design according to actual needs.
  • FIG. 4 Another embodiment of the present invention provides a client, as shown in FIG. 4, including: an access module, configured to select an edge node access, where the link path based on the accessed edge node to the central node
  • the access module directly accesses the central node through the selected edge node, or accesses the central node via the selected edge node via a sink node associated with the selected edge node; and the upload module is used to The uploading data of the client is pushed to the edge node of the access and transmitted to the central node; and the receiving module is configured to receive data of the central node to return another client according to the request for uploading data.
  • the client further includes: a display module, configured to display an edge node list to the user, where the edge node list includes a plurality of candidate edge nodes; a response module, And responsive to the user's selection of the candidate edge node, performing a response test on the selected edge node; and selecting, by the access module, the fastest-responding edge node access in the test.
  • the access module automatically selects the fastest M edge nodes from the candidate edge nodes according to the historical connection record; the response module pairs the selected edge nodes and The M edge nodes perform a response test, where M ⁇ 3.
  • the client further includes: a monitoring module, configured to monitor a network status of the currently accessed edge node, and automatically connect the response module if an abnormality occurs.
  • a monitoring module configured to monitor a network status of the currently accessed edge node, and automatically connect the response module if an abnormality occurs.
  • the fastest responding node other than the current edge node in the list of edge nodes of the top N of the response speed is accessed, where N ⁇ 3.
  • another embodiment of the present invention provides a central node, including: an access module, configured to select a direct access edge node according to a link path with an edge node, or connect through an access aggregation node Accessing an edge node of the sink node; receiving a module, configured to receive upload data of a client accessing the edge node; and sending a module, configured to return a service command according to the request of the client for uploading data, and/or another The data of the client.
  • a communication system includes a plurality of clients, an edge node, a sink node, and a central node, wherein the client selects an edge node and accesses respectively, and pushes the audio and video files and service instructions of the client to the accessed edge.
  • a node the accessed edge node selects direct access to the central node based on the link path with the central node, or accesses the central node through a related sink node connection, and the central node receives through the accessed edge node
  • the central node provides an online classroom, and both the student A in Beijing, China and the teacher B in Washington, USA use the client to pass the "edge node - central node” or “Edge Node—Convergence Node—Center Node” enters the online classroom to use the courseware for one-on-one online classes.
  • Student A and Teacher B complete the classroom teaching through service instructions and audio and video interaction.
  • the headquarters of the real-time communication system is set in Beijing, and since the proportion of users in the Beijing area is large and the traffic is large, the number of servers deployed accordingly is also large. Therefore, the link path satisfies the preset condition, and the client of the student A selects and accesses the streaming server C and the signaling server D of the edge node.
  • the student A's every move is collected by the client and the media stream data is uploaded through the accessed streaming server C and signaling server D. Since the number of servers deployed in the student A location is large, the edge node is deployed. The data link path to the central node is relatively short, and the edge node and the central node are in the same country, and the Internet packet loss problem is not obvious. Therefore, the media stream data including the student A is uploaded to the accessed streaming media server C.
  • the streaming media server C directly accesses the central node, and uses the multipath TCP protocol to directly transmit the media stream data to the central node, and the central node receives the media stream data.
  • the operation of the courseware by the student A is a service instruction request
  • the other service instruction request of the student A is uploaded from the client to the accessing signaling server D
  • the signaling server D directly accesses the central node and uses
  • the multipath TCP protocol transmits the service instruction request directly to the central node, which receives and processes the service instruction request of the student A.
  • the teacher B in Washington, USA also conducts interactive teaching through the client and the student A.
  • the corresponding server is deployed relatively less, so the teacher B's client The terminal selects and accesses the streaming server E and the signaling server F located in Washington, USA.
  • teacher B sends a service instruction request to the central node through the client using the TCP protocol, for example, requesting to obtain the audio and video data of student A, due to the central node from the edge node of Washington, USA to Beijing, China.
  • the data link path is relatively long, the coverage effect is relatively weak, the delay estimation is large, and the geographical location does not belong to the same country. Therefore, the link path does not meet the preset condition, and the streaming media server E and the signaling server F need
  • the relay instruction of the teacher node B is sent to the central node of Beijing, China through the relay node located in the Silicon Valley of the United States.
  • the central node receives the audio and video media stream data of the student A after receiving the service instruction request from the teacher B.
  • the service command is forwarded to the streaming server E and the signaling server F located in Washington, DC, through the aggregation node located in Silicon Valley, USA, and the teacher B pulls the media stream data from the streaming server E through the client and the student A from the signaling server F.
  • Service instructions are forwarded to the streaming server E and the signaling server F located in Washington, DC, through the aggregation node located in Silicon Valley, USA, and the teacher B pulls the media stream data from the streaming server E through the client and the student A from the signaling server F. Service instructions.
  • the teacher B's every move is collected by the client, and the media stream data is uploaded through the accessed streaming server E and the signaling server F, and transmitted to the central node through the edge node-aggregation node-central node, and the central node is based on Student A's request returns Teacher B's audio and video media stream data and service instructions to Student A through the central node-edge node.
  • data transmission and data exchange between Student A in Beijing, China and Teacher B in Washington, USA were realized, realizing online teaching in real time.
  • both the student A and the teacher B are located in Beijing, China, and the clients A and B respectively select the access edge node, and since the number of servers deployed by the student A and the teacher B is large,
  • the data link path from the edge node to the central node is relatively short, and the edge node and the central node accessed by Student A are in the same country.
  • the edge node and the central node accessed by Teacher B are also in the same country, and the problem of Internet packet loss is not obvious. Therefore, the link path satisfies the preset condition, the edge node accessed by student A directly accesses the central node, and the edge node accessed by teacher B also directly accesses the central node, and respectively uses the multipath TCP protocol to transmit media stream data and services.
  • the instruction is sent to the central node, and the central node respectively receives and processes the media stream data and the service instruction of the student A and the teacher B, and real-time online teaching of the student A and the teacher B is realized.
  • the student A is located in London, England
  • the teacher B is located in Washington, DC
  • the clients A and B of the teacher respectively select the access edge node, because the number of servers deployed by the student A and the teacher B is larger.
  • the data link path from the edge node to the central node is relatively long, the coverage effect is relatively weak, and the delay estimation is large, then the edge node and the central node accessed by the student A do not satisfy the preset condition, the teacher B
  • the edge node and the central node of the access also do not meet the preset conditions. Student A therefore accesses the edge node in the UK and needs to forward it through the aggregation node in Frankfurt, Germany, to access the central node in Beijing, China.
  • the location of the central node deployment is directly connected to the edge node or needs to be forwarded by the sink node, and only the length of the data link path between the edge node and the central node and the area deployed.
  • the number of servers is related. A person skilled in the art can design and deploy a node server according to actual needs, and whether a dedicated line connection is used between the node servers, and details are not described herein again.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于TCP的通信方法、客户端、中心节点和通信系统,所述通信方法包括:客户端选择边缘节点进行接入,其中,基于所接入的边缘节点到中心节点的链路路径,客户端配置为直接通过所选择的边缘节点接入中心节点,或者通过所选择的边缘节点经由与所选择的边缘节点相关的汇聚节点接入所述中心节点;客户端与中心节点进行服务交互,通过中心节点获取客户端请求的来自其它客户端的数据。本发明公开的实施例针对不同的链路路径使用不同的接入方式以确保媒体流文件和服务指令的实时传输,能够满足在线教育对延时的要求,以使得身处不同地理位置的用户能够通过所述通信方法参与其中,并获得良好的在线教学体验。

Description

基于TCP的通信方法、客户端、中心节点和通信系统 技术领域
本发明涉及实时在线教育领域,特别是涉及一种基于TCP的通信方法、客户端、中心节点和通信系统。
背景技术
近年来,随着在线教育行业的兴起,跨国实时通信有了进一步的发展。由于在线教育有很强的互动性,所以对跨国链路响应速度上有很严格的限制。从经验来看,老师学生双方延时超过500ms就已经会影响正常上课;另一方面,业务流量的迅猛增长也对技术架构的横向扩展能力有较高的要求。
UDP(User Datagram Protocol,用户数据报协议)解决方案当前在实时在线教育领域比较流行。在技术层面上,基于UDP的解决方案比基于TCP(Transmission Control Protocol,传输控制协议)的解决方案具有更低的时延,和较强的网络适应能力。但是,UDP解决方案仍然存在如下的主要问题:
1.基于UDP的方案在处理跨国链路时,由严重丢包引起的数据包重传场景比较多,会严重影响UDP的传输效率,虽然有FEC(Forward Error Correction,前向纠错)、ARQ(Automatic Repeat-reQuest,自动重传请求)等策略可以优化此类问题,但是,在严重丢包前提下,这些算法的表现效果会大打折扣。
2.其次,国内的一些中小运营商会对UDP报文做拦截,使得许多UDP报文无法穿透这些中小运营商的本地网络。
3.另外,基于UDP的方案基本都是基于端的方案,无法满足用户使用量级轻,使用多样化的需求。
发明内容
为了解决上述问题至少之一,本发明采用基于TCP的解决方案。为此,本发明第一方面提供一种基于TCP的通信方法,包括:
客户端选择边缘节点进行接入,其中,基于所接入的边缘节点到中心节点的链路路径,所述客户端配置为直接通过所选择的边缘节点接入中心节点,或者通过所选择的边缘节点经由与所选择的边缘节点相关的汇聚节点接入所述中心节点;
所述客户端与所述中心节点进行服务交互,通过所述中心节点获取所述客户端请求的来自其它客户端的数据。
进一步地,所述客户端选择边缘节点进行接入包括:
客户端向用户显示边缘节点列表,其中所述边缘节点列表包括多个备选边缘节点;
响应于用户对备选边缘节点的选择,所述客户端对所选择的边缘节点进行响应测试;
所述客户端选择所述测试中响应最快的边缘节点进行接入。
进一步地,所述客户端提供所述响应测试中响应速度前N名的边缘节点列表;
所述客户端监测当前接入的边缘节点的网络状况,若出现异常,则自动连接所述前N快的边缘节点列表中当前边缘节点以外的响应最快节点进行接入,其中N≥3。
进一步地,当用户仅选择一个备选边缘节点时,所述客户端根据历史连接记录自动从备选边缘节点中选择最快的M个边缘节点;
所述客户端对用户所选择的边缘节点和所述M个边缘节点进行响应测试,其中M≥3。
进一步地,所述链路路径满足预设条件,则所述接入的边缘节点配置为直接接入所述中心节点,否则所述客户端经由与所接入的边缘节点相关的汇聚节点接入所述中心节点,
其中所述相关的汇聚节点为与所述边缘节点和中心节点均能接入的汇聚节点。
进一步地,所述预设条件为:所述边缘节点与所述中心节点的链路路径小于预定阈值;并且所述链路路径涉及的所述边缘节点与所述中心节点的IP地址属于同一地区。
本发明第二方面提供一种基于TCP的通信方法,包括:
基于与边缘节点的链路路径,中心节点配置为选择直接通过边缘节点连接接入所述边缘节点的客户端,或者通过汇聚节点经由接入所述汇聚节点的边缘节点连接接入所述边缘节点的所述客户端;
所述中心节点与所述客户端进行服务交互,将所述客户端请求的来自其它客户端的数据发送给所述客户端。
进一步地,所述链路路径满足预设条件,则所述接入的边缘节点配置为直接接入所述中心节点,否则所述客户端经由与所接入的边缘节点相关的汇聚节点接入所述中心节点,
其中所述相关的汇聚节点为与所述边缘节点和中心节点均能接入的汇聚节点。
进一步地,所述预设条件为:
所述边缘节点与所述中心节点的链路路径小于预定阈值;并且
所述链路路径涉及的所述边缘节点与所述中心节点的I P地址属于同一地区。
进一步地,所述每个边缘节点均配置有多个服务器,包括成对设置的流媒体服务器和信令服务器,其中
流媒体服务器,接收接入所述流媒体服务器的客户端的音视频数据的推送;
信令服务器,接收接入所述信令服务器的客户端的服务指令的推送。
进一步地,所述每个服务器根据自身的负载状态确定是否继续响应客户端的接入。
本发明第三方面提供一种客户端,包括:
接入模块,用于选择边缘节点接入,其中,基于所接入的边缘节点到中心节点的链路路径,所述接入模块通过所选择的边缘节点直接接入中心节点,或者通过所选择的边缘节点经由与所选择的边缘节点相关的汇聚节点接入所述中心节点;
上传模块,用于将所述客户端的上传数据推送至所述接入的边缘节点,并传输至所述中心节点;
接收模块,用于接收所述中心节点响应于所述上传数据的请求返回另一个所述客户端的数据。
进一步地,所述客户端还包括:
显示模块,用于向用户显示边缘节点列表,其中所述边缘节点列表包括多个备选边缘节点;
响应模块,用于响应于用户对所述备选边缘节点的选择,对所选择的边缘节点进行响应测试;
通过所述接入模块选择所述测试中响应最快的边缘节点接入。
进一步地,所述客户端还包括:
监控模块,用于监测当前接入的边缘节点的网络状况,若出现异常则自动连接所述响应模块提供的所述响应测试中响应速度前N名的边缘节点列表中当前边缘节点以外的响应最快节点进行接入,其中N≥3。
进一步地,当用户仅选择一个备选边缘节点时,所述接入模块根据历史连接记录自动从备选边缘节点中选择最快的M个边缘节点;
所述响应模块对所选择的边缘节点和所述M个边缘节点进行响应测试,其中M≥3。
本发明第四方面提供一种中心节点,包括:
接入模块,用于根据与边缘节点的链路路径来选择直接接入边缘节点,或者通过接入的汇聚节点连接接入所述汇聚节点的边缘节点;
接收模块,用于接收接入所述边缘节点的客户端的上传数据;
发送模块,用于根据所述客户端的上传数据的请求返回另一个所述客户端的数据。
本发明第五方面提供一种通信系统,包括
多个客户端、边缘节点、汇聚节点和中心节点,其中
客户端分别选择边缘节点并接入,将所述客户端的音视频文件和服务指令推送至所接入的边缘节点,所接入的边缘节点基于与中心节点的链路路径选择直接接入到中心节点,或者通过相关的汇聚节点连接接入所述中心节点,所述中心节点通过所接入的边缘节点接收所述客户端的上传数据;
所述中心节点根据接收到的一个所述客户端的上传数据的请求返回另一个所述客户端的上传数据。
本发明的有益效果如下:
本发明提供的一种基于TCP的通信方法能够实现根据数据链路路径选择接入中心节点的方式,通过客户端—中心节点的方式进行交互通信,满足在在线教室中参与教学活动中的至少两个客户端的互动,并通过使用TCP协议进行数据传输从而实现低延时、可扩展的实时在线教育。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1示出本发明的一个实施例所述的通信方法的场景架构示意图;
图2示出本发明的一个实施例所述的通信方法的流程图;
图3示出本发明的另一个实施例所述的选择边缘节点的流程图;
图4示出本发明的另一个实施例所述的客户端的示意图;
图5示出本发明的另一个实施例所述的客户端的示意图;
图6示出本发明的另一个实施例所述的在线教学的场景示意图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
近年来,随着远程实时通信的发展,在线教育行业逐渐兴起。由于在线教育有很强的互动性,因此对涉及链路路径复杂的实时在线教育的通信方法在链路响应速度上设置有很严格的限制。如图1和图2所示,本发明的一个实施例提供了一种基于TCP的通信方法,包括:客户端选择边缘节点进行接入,其中,基于所接入的边缘节点到中心节点的链路路径,所述客户端配置为直接通过所选择的边缘节点接入中心节点,或者通过所选择的边缘节点经由与所选择的边缘节点相关的汇聚节点接入所述中心节点;所述客户端与所述中心节点进行服务交互,通过所述中心节点获取所述客户端请求的服务指令和/或来自其它客户端的数据。
在一个具体的示例中,如图1所示,客户端可以为电脑上的应用软件,也可以为智能手机、PAD上的APP。中心节点用于处理业务逻辑、提供所述客户请求的结果,并接收所述流媒体文件和所述在线教育的课件服务信令。边缘节点用于提供所述客户端的接入服务,包括流媒体服务器和信令服务器,其中所述流媒体服务器用于所述音视频的推送和拉取,所述信令服务器用于所述课件服务信令,所述流媒体服务器和信令服务器成对设置。汇聚节点用于提供所述音视频和课件服务信令的转发服务。
在本实施例中,第一客户端200为PAD上的APP,第二客户端300为电脑上的应用软件。
首先,中心节点100建立在线教室。
其次,第一客户端200选择边缘节点400并接入,将本地的音视频文件表现为媒体流文件推送至所述边缘节点400的流媒体服务器、将用户请 求和课件服务请求表现为服务指令发送至所述边缘节点400的信令服务器。所述边缘节点400根据到所述中心节点100的链路路径长度是否小于预定阈值、所述边缘节点和中心节点的IP地址是否为同一区域、实际网络连接状况和对数据传输的延时估计是否符合在线教育的延迟阈值进行判断,选择接入到中心节点100的路由路径,其中所述同一区域包括同一地区或国家。在本实施例中所述区域为国家,所述边缘节点到中心节点满足上述条件,选择直接接入。即所述边缘节点400直接接入到中心节点100,进入所述在线教室,并将所述第一终端200的媒体流文件和服务指令传输至中心节点100。
类似的,所述第二客户端300选择边缘节点500并接入,所述边缘节点500到所述中心节点100的链路路径长度大于预定阈值、所述边缘节点和中心节点的IP不属于同一个国家、实际网络连接状况和对数据传输的延时估计不符合在线教育的延迟阈值,因此,所述边缘节点400先接入到汇聚节点500,然后经汇聚节点500转发接入到中心节点100,从而进入所述在线教室,并将所述第二客户端300的媒体流文件和服务指令传输至中心节点100。其中,所述汇聚节点500为所述边缘节点400和中心节点100均能接入的汇聚节点。
所述中心节点100接收第一客户端200和第二客户端300分别发送的媒体流文件和服务指令,并根据服务指令中的请求分别将两个客户端请求的服务指令和媒体流文件返回到各自请求的客户端,所述客户端接收并执行返回的服务指令,并播放媒体流文件,例如返回的是课件服务的翻页指令,则客户端执行该指令,将当前课件的下一页呈现在客户端用户面前。
如此,客户端接入边缘节点,推送媒体流文件和服务指令,再根据链路路径直接接入中心节点或经过汇聚节点中继转发接入中心节点,将媒体流文件和服务指令传输至中心节点,完成了上行数据传输。中心节点根据 接收的服务指令中的请求,将客户端请求的服务指令和/或其他客户端的媒体流文件返回所述提出请求的客户端,下行数据链路也根据链路路径直接传输至边缘节点或经过汇聚节点中继转发传输至边缘节点,从而完成客户端与中心节点的服务交互。本领域技术人员应当理解,所述客户端与中心节点的服务交互可以使用同一路由路径,也可以使用不同的路由路径,应该按照实际需要进行设计。
在一个优选的实施例中,如图3所示,客户端选择边缘节点进行接入包括:客户端向用户显示边缘节点列表,其中所述边缘节点列表包括多个备选边缘节点;响应于用户对备选边缘节点的选择,客户端对所选择的边缘节点进行响应测试;所述客户端选择所述测试中响应最快的边缘节点接入。在选择接入边缘节点时,首先,客户端对可供选择的边缘节点进行粗选生成备选边缘节点列表,其中所述可供选择的边缘节点或者为所有覆盖的边缘节点,或者为根据历史记录连接的边缘节点,用户从所述备选边缘节点列表中选择至少3个边缘节点进行响应测试。具体表现为,客户端对用户选择的每个边缘节点所对应的服务器进行5次Ping指令响应测试,然后对Ping指令的响应结果进行快慢排序,将排序中最快的服务器作为结果返回客户端。在这里要特别指出的是,由于表现层web层面的技术限制,因此所述Ping指令为应用层http层面上的Ping指令操作,而不是实际意义上的ICMP Ping指令。根据实际测试的数据表明,对于客户端使用应用层的Ping指令进行的响应测试引起的结果误差是可以接受的。
然后,客户端提供所述响应测试中前N个响应速度最快的边缘节点列表呈现给用户,用户从列表中选择一个边缘节点进行接入,接入后,所述客户端持续监测当前接入的边缘节点的网络状况,若出现异常,则自动连接所述前N个响应速度最快的边缘节点列表中当前边缘节点以外的响应最快节点进行接入,其中N≥3,以确保实时通信的正常进行。
在一个优选的实施例中,若用户仅选择一个备选边缘节点进行响应测试时,则所述客户端根据历史连接记录自动从备选的边缘节点中选择最快的M个边缘节点;所述客户端对所选择的边缘节点和所述M个边缘节点进行响应测试,其中M≥3。其目的在于提供给客户端多个可接入的边缘节点,以避免已接入的边缘节点出现异常情况时影响在线教学,例如丢包率急剧增加、延迟不足以满足正常的在线交互等等。
在一个优选的实施例中,根据边缘节点与中心节点的链路路径是否满足预设条件判断接入中心节点的路由路径。所述预设条件包括:所述边缘节点与所述中心节点的链路路径小于预定阈值;并且所述链路路径涉及的所述边缘节点与所述中心节点的IP地址属于同一地区。根据链路路径长度对数据传输的延时进行估计,定义满足实时通信的链路路径长度阈值。同时,还应考虑所述链路路径涉及的所述边缘节点与所述中心节点的IP地址属于同一地区。在本实施例中,所述地区为国家,基于TCP协议进行传输的跨国通信能够避免基于UDP协议传输时导致的严重丢包、运营商拦截、用户量级轻等问题。
当所述链路路径满足预设条件则客户端接入的边缘节点可以直接接入所述中心节点;否则所述客户端经由与所接入的边缘节点相关的汇聚节点接入所述中心节点,其中所述相关的汇聚节点为与所述边缘节点和中心节点均能接入的汇聚节点。即当所述链路路径大于等于预定义的阈值时,所述边缘节点和中心节点不属于同一国家时,客户端所接入的边缘节点需要经由汇聚节点进行中继转发,接入中心节点。其中,选择接入的汇聚节点需要同时满足与所述边缘节点和中心节点的链路路径小于阈值。
在另一个优选的实施例中,判断边缘节点和中心节点是否满足预设条件后,可以采用动态选择路由路径,也可以选择人工部署路由路径。
例如采用动态选择路由路径,当边缘节点和中心节点满足预设条件,边缘节点可以通过响应测试或其他能够达到相同目的的方法选择要接入的中心节点。当边缘节点和中心节点不满足预设条件,边缘节点通过响应测试或其他能够达到相同目的的方法查找可以连接的汇聚节点,并且计算所述汇聚节点是否可以接入中心节点,从而确定路由路径。
例如采用人工部署路由路径,假设将某个固定区域作为在线教育中老师集中的工作地点,则在所述固定区域设置边缘节点,若边缘节点和中心节点满足预设条件,则可以设置专线直接连接所述边缘节点和中心节点;否则在所述边缘节点和中心节点的链路路径中选择最恰当的地方设置汇聚节点,然后在边缘节点、汇聚节点和中心节点之间设置专线连接,以确保获得最优的传输效率。
本领域技术人员应当理解,本发明的技术方案包括但不限于上述实施方式,本领域技术人员应当按照实际情况进行设计,实现传输效率最优能够最大程度满足在线教育的需求。
相对应的,本发明的另一个实施例提供了一种通信方法,包括:基于与边缘节点的链路路径,中心节点配置为选择直接通过边缘节点连接接入所述边缘节点的客户端,或者通过汇聚节点经由接入所述汇聚节点的边缘节点连接接入所述边缘节点的所述客户端;所述中心节点与所述客户端进行服务交互,将所述客户端请求的服务指令和/或来自其它客户端的数据发送给所述客户端。其中,所述链路路径也需要根据上述预设条件进行判断,以确定中心节点与边缘节点的路由路径。
在一个优选的实施例中,每个边缘节点均配置有多个服务器,包括成对设置的流媒体服务器和信令服务器,每个服务器根据自身的负载状态确定是否继续响应客户端的接入。其中,所述边缘节点的流媒体服务器接收接入所述流媒体服务器的客户端的音视频文件的推送;所述边缘节点的信 令服务器接收所述客户端服务指令的推送。具体表现为:所述响应测试还响应于所述边缘节点服务器的选举结果,当所述备选服务器在响应所述响应测试时,服务器根据自身负载状况进行选举,例如将所述服务器的CPU使用率、内存占用量、网络带宽和连接数量等作为选举因子进行排队,若备选服务器的负载状况大于预先设置的负载阈值则不符合选举条件,退出竞争。所述退出竞争的服务器原有已经接入的客户端业务不会因选举排队受到影响,只是不再响应新的客户端的接入请求。即当新的客户端接入请求时,不会再接入负载状况大于负载阈值的备选服务器,从而保证了实时通信过程中服务器的响应速度,避免因服务器负载太大而导致的网络拥堵,进一步确保数据传输的时延性和通畅程度。本领域技术人员应当理解,所述服务器包括但不限于所述边缘节点的流媒体服务器和信令服务器,还可以包括汇聚节点和中心节点的服务器,本领域技术人员可以按照实际需要进行设计。
本发明的另一个实施例提出了一种客户端,如图4所示,包括:接入模块,用于选择边缘节点接入,其中,基于所接入的边缘节点到中心节点的链路路径,所述接入模块通过所选择的边缘节点直接接入中心节点,或者通过所选择的边缘节点经由与所选择的边缘节点相关的汇聚节点接入所述中心节点;上传模块,用于将所述客户端的上传数据推送至所述接入的边缘节点,并传输至所述中心节点;接收模块,用于接收所述中心节点响应于所述上传数据的请求返回另一个所述客户端的数据。
在一个优选的实施例中,如图5所示,所述客户端还包括:显示模块,用于向用户显示边缘节点列表,其中所述边缘节点列表包括多个备选边缘节点;响应模块,用于响应于用户对所述备选边缘节点的选择,对所选择的边缘节点进行响应测试;通过所述接入模块选择所述测试中响应最快的边缘节点接入。进一步地,当用户仅选择一个备选边缘节点时,所述 接入模块根据历史连接记录自动从备选边缘节点中选择最快的M个边缘节点;所述响应模块对所选择的边缘节点和所述M个边缘节点进行响应测试,其中M≥3。
在另一个优选的实施例中,如图5所示,所述客户端还包括:监控模块,用于监测当前接入的边缘节点的网络状况,若出现异常则自动连接所述响应模块提供的所述响应测试中响应速度前N名的边缘节点列表中当前边缘节点以外的响应最快节点进行接入,其中N≥3。
相对应的,本发明的另一个实施例提供了一种中心节点,包括:接入模块,用于根据与边缘节点的链路路径来选择直接接入边缘节点,或者通过接入的汇聚节点连接接入所述汇聚节点的边缘节点;接收模块,用于接收接入所述边缘节点的客户端的上传数据;发送模块,用于根据所述客户端的上传数据的请求返回服务指令和/或另一个所述客户端的数据。
本领域技术人员应当理解,根据本发明上述多个实施例给出的教导,以下通信系统也在本发明的保护范围内。
一种通信系统,包括多个客户端、边缘节点、汇聚节点和中心节点,其中,客户端分别选择边缘节点并接入,将所述客户端的音视频文件和服务指令推送至所接入的边缘节点,所接入的边缘节点基于与中心节点的链路路径选择直接接入到中心节点,或者通过相关的汇聚节点连接接入所述中心节点,所述中心节点通过所接入的边缘节点接收所述客户端的上传数据;所述中心节点根据接收到的一个所述客户端的上传数据的请求返回服务指令和/或另一个所述客户端的上传数据。
在一个具体的示例中,如图6所示,中心节点提供了在线教室,位于中国北京的学生A和位于美国华盛顿的老师B均使用所述客户端通过所述“边缘节点—中心节点”或者“边缘节点—汇聚节点—中心节点”进入在线教室使用课件进行一对一的在线上课,学生A和老师B通过服务指令和音视频 互动完成课堂教学。本实施例中,所述实时通信系统的总部设置在北京,并且由于北京地区的用户占比多、流量大,相应部署的服务器数量也多。因此链路路径满足预设条件,学生A的客户端选择并接入了边缘节点的流媒体服务器C和信令服务器D。
在上课过程中,学生A的一举一动由客户端采集后表现为媒体流数据通过接入的流媒体服务器C和信令服务器D进行上传,由于学生A所在地部署的服务器数量较多,从边缘节点到中心节点的数据链路路径相对较短,并且所述边缘节点和中心节点处于同一国家,互联网丢包问题不明显,因此包含学生A的媒体流数据上传至接入的流媒体服务器C,所述流媒体服务器C直接接入中心节点,使用多径TCP协议将媒体流数据直接传输至中心节点,中心节点接收所述媒体流数据。相类似的,学生A对课件的操作表现为服务指令请求,和学生A的其他服务指令请求从客户端上传至接入的信令服务器D,所述信令服务器D直接接入中心节点,使用多径TCP协议将服务指令请求直接传输至中心节点,中心节点接收并处理所述学生A的服务指令请求。
同时,位于美国华盛顿的老师B也通过客户端和学生A进行互动教学,在本实施例中,由于美国的用户相比于国内少很多,相应的服务器的部署相对较少,因此老师B的客户端选择并接入所述位于美国华盛顿的流媒体服务器E和信令服务器F。
在与学生A互动教学的过程中,老师B通过客户端使用TCP协议向中心节点发送服务指令请求,例如请求获得学生A的音视频数据,由于从美国华盛顿的边缘节点到中国北京的中心节点的数据链路路径相对较长,覆盖效果相对较弱,延时估计较大,并且所处地理位置不属于同一国家,因此链路路径不满足预设条件,流媒体服务器E和信令服务器F需要通过位于美国硅谷的汇聚节点进行中继转发,将老师B的服务指令请求发送至中 国北京的中心节点,所述中心节点接收到老师B的服务指令请求后将学生A的音视频媒体流数据和服务指令通过位于美国硅谷的汇聚节点转发至位于美国华盛顿的流媒体服务器E和信令服务器F,老师B通过客户端从流媒体服务器E拉取媒体流数据、从信令服务器F获得学生A的服务指令。
同时,老师B的一举一动由客户端采集后表现为媒体流数据通过接入的流媒体服务器E和信令服务器F进行上传,通过边缘节点—汇聚节点—中心节点传输至中心节点,中心节点根据学生A的请求将老师B的音视频媒体流数据和服务指令通过中心节点—边缘节点返回给学生A。至此,实现了位于中国北京的学生A和位于美国华盛顿的老师B之间的数据传输和数据交换,从而实现了实时在线教学。
在另一个实施例中,所述学生A和老师B均位于中国北京,所述学生A和老师B的客户端分别选择接入边缘节点,由于学生A和老师B所在地部署的服务器数量很多,从边缘节点到中心节点的数据链路路径相对较短,并且学生A接入的边缘节点和中心节点处于同一国家,老师B接入的边缘节点和中心节点也处于同一国家,互联网丢包问题不明显,因此链路路径均满足预设条件,学生A接入的边缘节点直接接入中心节点,老师B接入的边缘节点也直接接入中心节点,分别使用多径TCP协议传输媒体流数据和服务指令至中心节点,中心节点分别接收并处理所述学生A和老师B所述媒体流数据和服务指令,实现了所述学生A和老师B的实时在线教学。
在另一个实施例中,所述学生A位于英国伦敦,老师B位于美国华盛顿,所述学生A和老师B的客户端分别选择接入边缘节点,由于学生A和老师B所在地部署的服务器数量较少,从边缘节点到中心节点的数据链路路径相对较长,覆盖效果相对较弱,延时估计较大,则学生A所接入的边缘节点与中心节点不满足预设条件,老师B所接入的边缘节点与中心节点 也不满足预设条件。因此学生A接入位于英国的边缘节点,并需要通过位于德国法兰克福的汇聚节点转发再接入位于中国北京的中心节点。老师B接入位于美国华盛顿的边缘节点,也需要通过位于美国硅谷的汇聚节点转发再接入位于中国北京的中心节点。其中所述英国的边缘节点到法兰克福的汇聚节点、所述法兰克福的汇聚节点到中国北京的中心节点、所述美国华盛顿的边缘节点到美国硅谷的汇聚节点、所述美国硅谷的汇聚节点到中国北京的中心节点均使用专线连接,以确保在线教育过程中互动双方的延时小于等于500ms的延时阈值。
本领域技术人员应当理解,所述中心节点部署的位置,与边缘节点是否直接连接或者需要经过汇聚节点转发,仅与所述边缘节点和中心节点之间的数据链路路径长度和所在地区部署的服务器数量有关。本领域技术人员可以根据实际需要设计和部署节点服务器,以及节点服务器之间是否使用专线连接,在此不再赘述。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

Claims (17)

  1. 一种基于TCP的通信方法,其特征在于,包括:
    客户端选择边缘节点进行接入,其中,基于所接入的边缘节点到中心节点的链路路径,所述客户端配置为直接通过所选择的边缘节点接入中心节点,或者通过所选择的边缘节点经由与所选择的边缘节点相关的汇聚节点接入所述中心节点;
    所述客户端与所述中心节点进行服务交互,通过所述中心节点获取所述客户端请求的来自其它客户端的数据。
  2. 根据权利要求1所述的通信方法,其特征在于,所述客户端选择边缘节点进行接入包括:
    客户端向用户显示边缘节点列表,其中所述边缘节点列表包括多个备选边缘节点;
    响应于用户对备选边缘节点的选择,所述客户端对所选择的边缘节点进行响应测试;
    所述客户端选择所述测试中响应最快的边缘节点进行接入。
  3. 根据权利要求2所述的通信方法,其特征在于,
    所述客户端提供所述响应测试中响应速度前N名的边缘节点列表;
    所述客户端监测当前接入的边缘节点的网络状况,若出现异常,则自动连接所述前N快的边缘节点列表中当前边缘节点以外的响应最快节点进行接入,其中N≥3。
  4. 根据权利要求2所述的通信方法,其特征在于,
    当用户仅选择一个备选边缘节点时,所述客户端根据历史连接记录自动从备选边缘节点中选择最快的M个边缘节点;
    所述客户端对用户所选择的边缘节点和所述M个边缘节点进行响应测试,其中M≥3。
  5. 根据权利要求1所述的通信方法,其特征在于,
    所述链路路径满足预设条件,则所述接入的边缘节点配置为直接接入所述中心节点,否则所述客户端经由与所接入的边缘节点相关的汇聚节点接入所述中心节点,
    其中所述相关的汇聚节点为与所述边缘节点和中心节点均能接入的汇聚节点。
  6. 根据权利要求5所述的通信方法,其特征在于,
    所述预设条件为:
    所述边缘节点与所述中心节点的链路路径小于预定阈值;并且
    所述链路路径涉及的所述边缘节点与所述中心节点的IP地址属于同一地区。
  7. 一种基于TCP的通信方法,其特征在于,包括:
    基于与边缘节点的链路路径,中心节点配置为选择直接通过边缘节点连接接入所述边缘节点的客户端,或者通过汇聚节点经由接入所述汇聚节点的边缘节点连接接入所述边缘节点的所述客户端;
    所述中心节点与所述客户端进行服务交互,将所述客户端请求的来自其它客户端的数据发送给所述客户端。
  8. 根据权利要求7所述的通信方法,其特征在于,
    所述链路路径满足预设条件,则所述接入的边缘节点配置为直接接入所述中心节点,否则所述客户端经由与所接入的边缘节点相关的汇聚节点接入所述中心节点,
    其中所述相关的汇聚节点为与所述边缘节点和中心节点均能接入的汇聚节点。
  9. 根据权利要求8所述的通信方法,其特征在于,
    所述预设条件为:
    所述边缘节点与所述中心节点的链路路径小于预定阈值;并且
    所述链路路径涉及的所述边缘节点与所述中心节点的IP地址属于同一地区。
  10. 根据权利要求7所述的通信方法,其特征在于,所述每个边缘节点均配置有多个服务器,包括成对设置的流媒体服务器和信令服务器,其中
    流媒体服务器,接收接入所述流媒体服务器的客户端的音视频数据的推送;
    信令服务器,接收接入所述信令服务器的客户端的服务指令的推送。
  11. 根据权利要求10所述的通信方法,其特征在于,所述每个服务器根据自身的负载状态确定是否继续响应客户端的接入。
  12. 一种客户端,其特征在于,包括:
    接入模块,用于选择边缘节点接入,其中,基于所接入的边缘节点到中心节点的链路路径,所述接入模块通过所选择的边缘节点直接接入中心节点,或者通过所选择的边缘节点经由与所选择的边缘节点相关的汇聚节点接入所述中心节点;
    上传模块,用于将所述客户端的上传数据推送至所述接入的边缘节点,并传输至所述中心节点;
    接收模块,用于接收所述中心节点响应于所述上传数据的请求返回另一个所述客户端的数据。
  13. 根据权利要求12所述的客户端,其特征在于,所述客户端还包括:
    显示模块,用于向用户显示边缘节点列表,其中所述边缘节点列表包括多个备选边缘节点;
    响应模块,用于响应于用户对所述备选边缘节点的选择,对所选择的边缘节点进行响应测试;
    通过所述接入模块选择所述测试中响应最快的边缘节点接入。
  14. 根据权利要求12所述的客户端,其特征在于,所述客户端还包括:
    监控模块,用于监测当前接入的边缘节点的网络状况,若出现异常则自动连接所述响应模块提供的所述响应测试中响应速度前N名的边缘节点列表中当前边缘节点以外的响应最快节点进行接入,其中N≥3。
  15. 根据权利要求13所述的客户端,其特征在于,
    当用户仅选择一个备选边缘节点时,所述接入模块根据历史连接记录自动从备选边缘节点中选择最快的M个边缘节点;
    所述响应模块对所选择的边缘节点和所述M个边缘节点进行响应测试,其中M≥3。
  16. 一种中心节点,其特征在于,包括:
    接入模块,用于根据与边缘节点的链路路径来选择直接接入边缘节点,或者通过接入的汇聚节点连接接入所述汇聚节点的边缘节点;
    接收模块,用于接收接入所述边缘节点的客户端的上传数据;
    发送模块,用于根据所述客户端的上传数据的请求返回另一个所述客户端的数据。
  17. 一种通信系统,其特征在于,包括多个客户端、边缘节点、汇聚节点和中心节点,其中
    客户端分别选择边缘节点并接入,将所述客户端的音视频文件和服务指令推送至所接入的边缘节点,所接入的边缘节点基于与中心节点的链路 路径选择直接接入到中心节点,或者通过相关的汇聚节点连接接入所述中心节点,所述中心节点通过所接入的边缘节点接收所述客户端的上传数据;
    所述中心节点根据接收到的一个所述客户端的上传数据的请求返回另一个所述客户端的上传数据。
PCT/CN2018/105449 2018-03-15 2018-09-13 基于tcp的通信方法、客户端、中心节点和通信系统 WO2019174208A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810215614.XA CN108600165A (zh) 2018-03-15 2018-03-15 基于tcp的通信方法、客户端、中心节点和通信系统
CN201810215614.X 2018-03-15

Publications (1)

Publication Number Publication Date
WO2019174208A1 true WO2019174208A1 (zh) 2019-09-19

Family

ID=63626559

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/105449 WO2019174208A1 (zh) 2018-03-15 2018-09-13 基于tcp的通信方法、客户端、中心节点和通信系统

Country Status (2)

Country Link
CN (1) CN108600165A (zh)
WO (1) WO2019174208A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111786901A (zh) * 2020-05-21 2020-10-16 网宿科技股份有限公司 一种传输参数自适应调整方法及加速服务系统
CN114844804A (zh) * 2022-06-01 2022-08-02 重庆奥普泰通信技术有限公司 网络测量方法、系统、电子设备及计算机可读存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110942611A (zh) * 2019-12-12 2020-03-31 上海邦芯物联网科技有限公司 一种实时通讯方法及系统
CN111818145B (zh) * 2020-06-29 2021-03-23 苏州好玩友网络科技有限公司 一种文件传输方法、装置、系统、设备及存储介质
CN114007042A (zh) * 2021-10-25 2022-02-01 京东方科技集团股份有限公司 网络摄像头的配置方法及装置、存储介质、电子设备
CN114466008B (zh) * 2021-12-22 2023-10-13 天翼云科技有限公司 一种云边通信系统、方法、装置、电子设备及存储介质
CN117955903A (zh) * 2022-10-27 2024-04-30 成都华为技术有限公司 设备管理方法、设备、系统和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585357A (zh) * 2003-08-19 2005-02-23 华为技术有限公司 一种在网络中选择服务器的方法
CN101919209A (zh) * 2008-01-23 2010-12-15 艾利森电话股份有限公司 在固定接入通信网络中选择边缘节点
CN102158518A (zh) * 2010-12-03 2011-08-17 华为技术有限公司 一种cdn网络中的数据传输方法、网络节点及系统
CN106230971A (zh) * 2016-08-29 2016-12-14 无锡华云数据技术服务有限公司 基于cdn的大文件分发方法
WO2017036247A1 (zh) * 2015-08-28 2017-03-09 华为技术有限公司 网络系统和网络通信的方法
US20170195161A1 (en) * 2015-12-31 2017-07-06 Akamai Technologies, Inc. Overlay network ingress edge region selection

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729273A (zh) * 2008-10-27 2010-06-09 中国移动通信集团公司 一种流媒体分发系统、方法及装置
CN101938483A (zh) * 2010-09-03 2011-01-05 中兴通讯股份有限公司 一种直播内容分发方法和系统
CN102546226B (zh) * 2010-12-08 2014-06-11 中国科学院声学研究所 一种基于多节点提供网络服务的系统及方法
US8745267B2 (en) * 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
CN106792261B (zh) * 2016-11-22 2020-06-09 北京大米科技有限公司 用于流媒体转发的方法及装置、路由方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585357A (zh) * 2003-08-19 2005-02-23 华为技术有限公司 一种在网络中选择服务器的方法
CN101919209A (zh) * 2008-01-23 2010-12-15 艾利森电话股份有限公司 在固定接入通信网络中选择边缘节点
CN102158518A (zh) * 2010-12-03 2011-08-17 华为技术有限公司 一种cdn网络中的数据传输方法、网络节点及系统
WO2017036247A1 (zh) * 2015-08-28 2017-03-09 华为技术有限公司 网络系统和网络通信的方法
US20170195161A1 (en) * 2015-12-31 2017-07-06 Akamai Technologies, Inc. Overlay network ingress edge region selection
CN106230971A (zh) * 2016-08-29 2016-12-14 无锡华云数据技术服务有限公司 基于cdn的大文件分发方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111786901A (zh) * 2020-05-21 2020-10-16 网宿科技股份有限公司 一种传输参数自适应调整方法及加速服务系统
CN114844804A (zh) * 2022-06-01 2022-08-02 重庆奥普泰通信技术有限公司 网络测量方法、系统、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN108600165A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
WO2019174208A1 (zh) 基于tcp的通信方法、客户端、中心节点和通信系统
WO2021129861A1 (zh) 一种数据流控制的方法和装置
JP6473688B2 (ja) データ転送レートを増加させるためのデータストリーム分割
CN100531143C (zh) 一种媒体流转发方法和媒体服务器
WO2018086076A1 (zh) 数据传输方法及装置
Liao et al. Introducing multipath selection for concurrent multipath transfer in the future internet
US10666769B2 (en) Network system and method for establishing data link by using relay node
WO2019128989A1 (zh) 一种智能路由器服务质量的实现方法、路由器及电子设备
CN109996126A (zh) 一种混合网络架构下的设备连接动态调度方法及系统
CN109831490A (zh) 业务访问方法及系统
Zhang et al. Congestion control and packet scheduling for multipath real time video streaming
CN113783787B (zh) 一种基于云边协同的非实时数据传输方法及装置
CN104092625A (zh) 一种用于dcn中的自适应请求分批调度方法
US8706865B1 (en) Enhanced network communications using diagnostic information
CN115277806A (zh) 云桌面连接方法、装置和设备
Liu et al. Cross-layer design for UAV-based streaming media transmission
Audah et al. QoS based admission control using multipath scheduler for IP over satellite networks
CN103188132B (zh) 基于内容分发网络的即时通讯方法及系统
US20130067083A1 (en) Transmitting Data Over Multiple Networks
Kalan et al. Design of a layer-based video streaming system over software-defined networks
Song et al. AI-driven Multipath Transmission: Empowering UAV-based Live Streaming
TW201724863A (zh) 串流服務系統、串流服務方法以及串流服務控制裝置
CN111615170B (zh) 一种数据传输方法及系统
Veytser et al. An implementation of a common virtual multipoint interface in Linux
KR20110028057A (ko) 복수의 세션 설정 방법 및 이를 이용하는 노드

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: 18909981

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 18/01/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18909981

Country of ref document: EP

Kind code of ref document: A1