CN115102904B - Scheduling method, device and system - Google Patents

Scheduling method, device and system Download PDF

Info

Publication number
CN115102904B
CN115102904B CN202110241220.3A CN202110241220A CN115102904B CN 115102904 B CN115102904 B CN 115102904B CN 202110241220 A CN202110241220 A CN 202110241220A CN 115102904 B CN115102904 B CN 115102904B
Authority
CN
China
Prior art keywords
terminal
bandwidth resources
data
server
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110241220.3A
Other languages
Chinese (zh)
Other versions
CN115102904A (en
Inventor
汪文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110241220.3A priority Critical patent/CN115102904B/en
Priority to PCT/CN2022/076174 priority patent/WO2022183899A1/en
Publication of CN115102904A publication Critical patent/CN115102904A/en
Application granted granted Critical
Publication of CN115102904B publication Critical patent/CN115102904B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/50Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
    • 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/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities

Landscapes

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

Abstract

The application discloses a scheduling method, a scheduling device and a scheduling system. In the method, a first terminal determines uplink bandwidth resources and bandwidth resources occupied by a network access service, the first terminal stores first data, and the first terminal sends information about the bandwidth resources of the CDN service to a server, wherein the bandwidth resources of the CDN service are differences between the uplink bandwidth resources and the bandwidth resources occupied by the network access service, so that the server can determine whether to request the first data to the first terminal according to the bandwidth resources of the CDN service, and the problem that network congestion is caused by fewer bandwidth resources which can be used by the network access service and further influence normal network access service of the first terminal can be avoided.

Description

Scheduling method, device and system
Technical Field
The present application relates to the field of communications technologies, and in particular, to a scheduling method, apparatus, and system.
Background
The content delivery network (content delivery network, CDN) system may redirect the user's request to the service node closest to the user so that the user may obtain the desired content nearby to address the network congestion condition and increase the response speed of the user to access the website.
At least two nodes and servers may be included in the CDN system. Wherein each of the at least two nodes may inform the server of its own storage capacity when registering with the server. The server may schedule resources based on the capacity of each node. Taking node 1 and node 2 as examples, the server stores data 1 in node 1 according to the storage capacity of node 1; the node 2 sends a request message for acquiring the data 1 to a server; the server determines that the node closest to the node 2 is the node 1, the data 1 is stored in the node 1, and the server determines that the node 1 is a source node for providing the data 1; and the server acquires the data 1 by interacting with the node 1 and transmits the data 1 to the node 2.
However, the source node supports not only the CDN service but also the internet surfing service, and the CDN service and the internet surfing service of the source node share uplink bandwidth resources of the source node, so that the more bandwidth resources occupied by the CDN service, the less bandwidth resources available for the internet surfing service are, which causes network congestion and affects the internet surfing service of the source node.
Disclosure of Invention
The application provides a scheduling method, a scheduling device and a scheduling system, which are used for avoiding network congestion caused by CDN service.
In a first aspect, an embodiment of the present application provides a scheduling method, which may be performed by a first terminal or performed by a component (such as a processor, a chip, etc.) of the first terminal. In the method, a first terminal determines uplink bandwidth resources and bandwidth resources occupied by internet surfing services, and the first terminal stores first data which is requested to be acquired by a second terminal; and the first terminal sends a first message to the server, wherein the first message comprises information about bandwidth resources of CDN service, the bandwidth resources of the CDN service are differences between uplink bandwidth resources and bandwidth resources occupied by internet service, and the bandwidth resources of the CDN service are used for the server to determine whether to request the first data from the first terminal.
In the above embodiment, the first terminal sends, to the server, information about bandwidth resources of the CDN service by determining bandwidth resources occupied by the uplink bandwidth resources and bandwidth resources occupied by the internet service, where the bandwidth resources of the CDN service are a difference between the bandwidth resources occupied by the uplink bandwidth resources and the bandwidth resources occupied by the internet service, so that the server may determine whether to request the first data to the first terminal according to the bandwidth resources of the CDN service. For example, when the bandwidth resource of the CDN service shares the uplink bandwidth resource of the first terminal with the internet service, the server determines whether to use the first terminal as a source node of the first data according to the bandwidth resource of the CDN service, so that network congestion caused by fewer bandwidth resources available to the internet service due to more bandwidth resources occupied by the CDN service can be avoided, and normal internet service of the first terminal can be ensured.
In one possible design, the information about bandwidth resources of the CDN traffic may include upstream bandwidth resources and bandwidth resources occupied by the internet traffic. Or the information on bandwidth resources of the CDN service may include only bandwidth resources of the CDN service.
Through the design, the first terminal can send the uplink bandwidth resource and the bandwidth resource occupied by the internet service to the server, or can perform difference operation on the uplink bandwidth resource and the bandwidth resource occupied by the internet service to obtain the bandwidth resource of the CDN service, and then only send the bandwidth resource of the CDN service to the server, so that the flexibility can be improved.
In one possible design, the first terminal may be an optical network terminal, and the CDN service and the internet service may be carried in the same wide area network WAN. Correspondingly, the first terminal determines the uplink bandwidth resource, and can perform bandwidth test for the first terminal to obtain the uplink bandwidth resource.
In another possible design, the first terminal may also be an optical line terminal, and the CDN service and the internet surfing service may share the same uplink port. Correspondingly, the first terminal determines the uplink bandwidth resource, and the uplink bandwidth resource can be obtained by reading the bandwidth resource of the uplink port for the first terminal.
In a second aspect, embodiments of the present application provide a scheduling method that may be performed by a server or by a component (e.g., a processor, a chip, etc.) of the server. In the method, a server may receive a first message from a first terminal, where the first terminal stores first data, where the first message includes information about bandwidth resources of a CDN service, where the bandwidth resources of the CDN service may be a difference between uplink bandwidth resources of the first terminal and bandwidth resources occupied by an internet service of the first terminal, and receive a first request message from a second terminal, where the first request message is used to request to obtain the first data; the server may determine whether to request the first data from the first terminal according to the information on bandwidth resources of the CDN service.
In one possible design, the information about bandwidth resources of the CDN service may include uplink bandwidth resources and bandwidth resources occupied by the internet service; or the information on bandwidth resources of the CDN service may include only bandwidth resources of the CDN service.
In one possible design, the first terminal may be an optical network terminal, and the CDN service and the internet service may be carried in the same wide area network WAN. Correspondingly, the uplink bandwidth resource can be obtained by performing bandwidth test on the first terminal.
In another possible design, the first terminal may also be an optical line terminal, and the CDN service and the internet surfing service may share the same uplink port. Correspondingly, the uplink bandwidth resource can be obtained by the first terminal through reading the bandwidth resource of the uplink port.
In one possible design, the method may further include: and determining the bandwidth resources of the CDN service according to the information about the bandwidth resources of the CDN service. Correspondingly, the server determines whether to request the first data from the first terminal according to the information about the bandwidth resource of the CDN service, which may be: under the condition that the bandwidth resource required for transmitting the first data is smaller than or equal to the bandwidth resource of CDN service, the server determines to request the first data to the first terminal; or in the case that the bandwidth resource required for transmitting the first data is greater than the bandwidth resource of the CDN service, the server determines not to request the first data from the first terminal.
Through the design, the server can determine whether to take the first terminal as a source node for providing the first data according to the bandwidth resources available to CDN service of the first terminal. For example, the bandwidth resource required for transmitting the first data is less than or equal to the bandwidth resource of the CDN service, which indicates that the bandwidth resource available for the CDN service of the first terminal is sufficient to support the transmission of the first data, that is, the normal internet service of the first terminal is not affected, so the server may use the first terminal as a source node for providing the first data. For another example, the bandwidth resource required for transmitting the first data is greater than the bandwidth resource of the CDN service, which indicates that the bandwidth resource available for the CDN service of the first terminal is insufficient to support the transmission of the first data, if the first terminal is adhered to transmit the first data, the normal internet surfing service of the first terminal is affected, and network congestion is caused, so that the server may not use the first terminal as a source node for providing the first data, but may further select other terminals to provide the first data, so as to ensure the normal internet surfing service of the first terminal.
In one possible design, after the server requests the first data from the first terminal, the method may further include: the server receives first data from a first terminal; and the server transmits a first response message to the second terminal, the first response message including the first data.
In a third aspect, embodiments of the present application provide a scheduling method, which may be performed by a first terminal or by a component (such as a processor, or a chip, etc.) of the first terminal. In the method, a first terminal can determine bandwidth resources of CDN service, the first terminal stores first data acquired by a second terminal, wherein CDN service of the first terminal and Internet surfing service of the first terminal are carried in different wide area networks WAN; and the first terminal sends a first message to the server, wherein the first message comprises bandwidth resources of the CDN service, and the bandwidth resources of the CDN service can be used for the server to determine whether to request the first data from the first terminal.
In the above embodiment, the CDN service of the first terminal and the internet surfing service of the first terminal are carried in different WANs, which means that the CDN service of the first terminal is configured with independent bandwidth resources, that is, how much bandwidth resources occupied by the CDN service has no influence on the bandwidth resources that can be used by the internet surfing service of the first terminal. In this case, the first terminal may send the bandwidth resources of the CDN service that may be used to the server, so the server may determine, according to the bandwidth resources actually available to the CDN service of the first terminal, whether to use the first terminal as a source node for providing the first data, so that network congestion caused by that the bandwidth resources available to the CDN service are less and the bandwidth resources required for transmitting the first data are more may be avoided.
In one possible design, the first terminal determines bandwidth resources of the CDN service, and may perform a bandwidth test for the first terminal to obtain the bandwidth resources of the CDN service.
In a fourth aspect, an embodiment of the present application provides a communication device, where the communication device may implement a function of the first terminal in the method design described above. These functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above functions. For example, the communication device may comprise a processing unit and a communication unit. The processing unit and the communication unit may perform the method provided in any one of the possible designs of the first or third aspect described above.
In a fifth aspect, an embodiment of the present application provides a communication device, where the communication device may implement a function of a server in the method design described above. These functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above functions. For example, the communication device may comprise a processing unit and a communication unit. The processing unit and the communication unit may perform the method provided in any one of the possible designs of the second aspect described above.
In a sixth aspect, embodiments of the present application provide a communications apparatus that can be a processor. The processor is coupled with a memory for storing a program or instructions which, when executed by the processor, cause the apparatus to perform the method provided in any one of the possible designs of the first or third aspect described above.
In a seventh aspect, embodiments of the present application provide a communications apparatus that can be a processor. The processor is coupled to a memory for storing a program or instructions which, when executed by the processor, cause the apparatus to perform the method provided in any one of the possible designs of the second aspect described above.
In an eighth aspect, embodiments of the present application provide a computer readable storage medium having a computer program stored therein, which when run on a computer causes the computer to perform the method provided in any one of the possible designs of the first or third aspects described above.
In a ninth aspect, embodiments of the present application provide a computer readable storage medium having a computer program stored therein, which when run on a computer causes the computer to perform the method provided in any one of the possible designs of the second aspect described above.
In a tenth aspect, embodiments of the present application provide a computer program product which, when run on a computer, causes the computer to perform the method provided in any one of the possible designs of the first or third aspects above.
In an eleventh aspect, embodiments of the present application provide a computer program product which, when run on a computer, causes the computer to perform the method provided in any one of the possible designs of the second aspect described above.
In a twelfth aspect, embodiments of the present application provide a communication system comprising communication means for implementing the method provided in any one of the possible designs of the first aspect or the third aspect, and communication means for implementing the method provided in any one of the possible designs of the second aspect.
For the technical description of the fourth aspect to the twelfth aspect, please refer to the description of the effect of any possible design in any of the first aspect to the third aspect, and the detailed description is not repeated here.
Drawings
FIG. 1 is a schematic diagram of a CDN system according to an embodiment of the present application;
fig. 2 is a schematic diagram of a transmission flow of CDN service in an embodiment of the present application;
Fig. 3 is a schematic flow chart of a scheduling method according to an embodiment of the present application;
fig. 4 is a flow chart of another scheduling method according to an embodiment of the present application;
fig. 5 is a flow chart of another scheduling method according to an embodiment of the present application;
fig. 6 is a flow chart of another scheduling method according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a communication device according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of another communication device according to an embodiment of the present application;
Fig. 9 is a schematic structural diagram of still another communication device according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of still another communication device according to an embodiment of the present application.
Detailed Description
The application provides a scheduling method, a scheduling device and a scheduling system, which aim to solve the problem of network congestion caused by the fact that the more bandwidth resources are occupied by CDN services, the less bandwidth resources are occupied by Internet surfing services, and can ensure normal Internet surfing services of source nodes. The method and the device are based on the same technical conception, and because the principles of solving the problems by the method and the device are similar, the embodiments of the device and the method can be mutually referred to, and the repetition is omitted.
The terminology used in the following examples is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in the specification of the application and the appended claims, the singular forms "a," "an," "the," and "the" are intended to include, for example, "one or more" such forms of expression, unless the context clearly indicates to the contrary. It should also be understood that in embodiments of the present application, "one or more" means one, two, or more than two; "and/or", describes an association relationship of the association object, indicating that three relationships may exist; for example, a and/or B may represent: a alone, a and B together, and B alone, wherein A, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship.
Reference in the specification to "one embodiment" or "some embodiments" or the like means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," and the like in the specification are not necessarily all referring to the same embodiment, but mean "one or more but not all embodiments" unless expressly specified otherwise. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless expressly specified otherwise.
In addition, it should be understood that in the description of the present application, the words "first," "second," and the like are used merely for distinguishing between the descriptions and not for indicating or implying any relative importance or order.
The technical solutions in the embodiments of the present application will be described in detail below with reference to the drawings in the following embodiments of the present application.
The CDN system is a strategically deployed system, and can solve the problem of slow response speed of user access websites caused by small network bandwidth, large user access amount and uneven network point distribution. The CDN system aims to add a new network architecture into the existing Internet (internet) to release the content of the website to the network 'edge' closest to the user, so that the user can obtain the required content nearby, and the response speed of the user for accessing the website is improved.
Fig. 1 shows a schematic diagram of a CDN system to which embodiments of the present application may be applied. As shown in fig. 1, a server 110, and at least two nodes may be included in the CDN system. At least two nodes in fig. 1 are exemplified by an Optical Line Terminal (OLT) 121, an OLT 122, an optical network terminal (optical network terminal, ONT) 131, an ONT 132, an ONT 133, and an ONT 134. Wherein the ONT may communicate with the server 110 through the OLT. The OLT may act as an intermediary between the server 110 and the ONTs. For example, the OLT may forward data received from the server 110 to the ONTs as downstream data, and forward data received from the ONTs to the server 110 as upstream data.
By way of example, the server 110 may be a cloud server, a global load balancing (global server load balance, GSLB) server, a global scheduling server, or the like, and the specific implementation form of the server 110 is not limited in the embodiments of the present application. The server 110 may be configured to implement resource allocation between different nodes, so as to ensure that the user closest to the server is served by the best node, thereby ensuring access quality. For example, the ONT (or OLT) informs the server 110 of its own storage capability, and the server 110 may manage the storage capability of the ONT (or OLT). The ONT may support internet surfing services, CDN services, etc. The OLT may also support a network service, a CDN service, or the like. For example, the server 110 may pre-store the data 1 in the ONT 131 according to the storage capability of the ONT 131, and when other nodes request the server 110 to acquire the data 1, the server may send a request message to the ONT 131 requesting to acquire the data 1, and the ONT 131 may send the data 1 to the other nodes after receiving the request message.
It should be understood that fig. 1 is not limited to a CDN system to which the embodiments of the present application are applicable as an example. For example, the CDN system may also include more OLTs or ONTs. As another example, the CDN system may be applied not only to the optical communication technology field shown in fig. 1, but also to the wireless communication technology field and the like. In order to facilitate understanding of the embodiments of the present application, the CDN system shown in fig. 1 is described below as an example.
The following uses ONT 131 and ONT 133 as an example, and the transmission flow of the present CDN service is briefly described with reference to fig. 2.
S201 to S202: the server 110 sends data 1 to the ONT 131 through the OLT 121.
S203: the ONT 131 stores data 1. For example, the ONT 131 may store the data 1 locally.
S204 to S205: the ONT 133 sends a request message to acquire data 1 to the server 110 through the OLT 122.
S206: the server 110 receives a request message to acquire data 1 from the ONT 133 through the OLT 122, and determines that the ONT 131 is a source node providing data 1.
Illustratively, the server 110 may determine that the ONT 131 is the closest node to the ONT 133 and stores data 1 according to a load balancing algorithm or the like. The server 110 may then determine that the ONT 131 is the source node that provides data 1.
It should be noted that, the source node in the embodiment of the present application may be understood as a node in the CDN system that provides services for other nodes. Taking fig. 1 as an example, the ONT 131 stores data 1, the ONT 131 may be a source node that provides data 1 to other nodes; the OLT 122 stores data 2, and the OLT 122 may be a source node that provides the data 2 to other nodes.
S207 to S208: the server 110 sends a request message to acquire data 1 to the ONT 131 through the OLT 121.
S209 to S212: the ONT 131 receives a request message for acquiring data 1 from the server 110 through the OLT 121, and transmits the data 1 to the ONT 133 through the OLT 121, the server 110, and the OLT 122. So far, the transmission flow of the CDN service is ended.
In the flow shown in fig. 2, the server 110 may select the ONT 131 closest to the ONT 133 as a source node, so that the ONT 133 may obtain required data nearby, which may improve the response speed of the user to access the website. However, the source node may support not only the CDN service, but also other services such as the internet service, where the CDN service shares uplink bandwidth resources with other services such as the internet service. For example, the more bandwidth resources occupied by the CDN service, the less bandwidth resources that can be used by the internet service, so that normal internet service of the source node may be affected, resulting in network congestion. As another example, the bandwidth resources available to the CDN traffic of the source node are inherently strained, and the bandwidth resources actually required by the CDN traffic are more, which also causes network congestion.
In view of this, the embodiment of the application provides a scheduling method. In the method, the first terminal may send information about bandwidth resources of the CDN service to the server, where the information about bandwidth resources of the CDN service may include bandwidth resources occupied by uplink bandwidth resources and internet surfing services, or may also include bandwidth resources of the CDN service. Therefore, the server can determine the bandwidth resources actually usable by the CDN service of the first terminal and determine whether to take the first terminal as a source node for providing data according to the bandwidth resources actually usable by the CDN service of the first terminal, so that the problem that network congestion occurs in the first terminal Internet surfing service due to the fact that the more bandwidth resources occupied by the CDN service are, the less bandwidth resources are usable by the Internet surfing service can be avoided, and normal Internet surfing service of the first terminal is further ensured.
It should be noted that, in the following embodiments, the steps performed by the terminal (e.g., the first terminal or the second terminal) may also be performed specifically by a module or a component inside the terminal (e.g., the first terminal or the second terminal), for example, may be performed by a chip or a chip system in the terminal (e.g., the first terminal or the second terminal); the steps performed by the server may also be performed in particular by a module or component within the server, such as by a chip or chip system in the server; the embodiment of the present application is not limited thereto.
Fig. 3 shows a flow chart of a scheduling method according to an embodiment of the present application. The method can be applied to the CDN system shown in FIG. 1. The first terminal may be an ONT or an OLT in fig. 1, the second terminal may be an ONT or an OLT in fig. 1 except for the first terminal, and the server may be the server 110 in fig. 1. As shown in fig. 3, the flow of the method may be as follows.
S301: the first terminal determines uplink bandwidth resources and bandwidth resources occupied by the Internet surfing service.
The first terminal stores first data requested to be acquired by the second terminal. The first data may be video data, audio data, or pictures, and the embodiment of the present application does not limit the specific form of the first data. For example, when the first terminal registers with the server, the first terminal may register its own internet protocol (internet protocol, IP) address, storage capability, and other information with the server, so that the server manages the storage capability of the first terminal. Further, the first terminal may acquire the first data by sending a request message for acquiring the first data to the server, and store the first data; or the first terminal can receive and store the first data actively pushed from the server. For example, the server may push video data of the hot spot program into the first terminal according to the capabilities of the first terminal.
The first terminal may be an ONT or an OLT. The second terminal may be an ONT or an OLT. Taking the CDN system shown in fig. 1 as an example, the first terminal and the second terminal may be two ONTs under the same OLT, for example, the first terminal is an ONT 131, and the second terminal is an ONT 132; or the first terminal and the second terminal may also be two ONTs under different OLTs, for example, the first terminal is an ONT 131, and the second terminal is an ONT 134; or the first terminal and the second terminal may both be OLT, for example, the first terminal is OLT 121, and the second terminal is OLT 122; or the first terminal may be an ONT, the second terminal may be an OLT, for example, the first terminal is an ONT 131, and the second terminal is an OLT 121; or the first terminal may be an OLT, the second terminal may be an ONT, e.g., the first terminal is OLT 121, the second terminal is ONT 131, etc.
For example, the first terminal may support multiple services such as a network service, a CDN service, and the like. In order to facilitate understanding of the embodiments of the present application, the following description will take, as an example, a first terminal supporting a network service and a CDN service. For example, when the first terminal is an ONT, the internet service of the first terminal and the CDN service of the first terminal may be carried in the same wide area network (wide area network, WAN), or the internet service of the first terminal and the CDN service of the first terminal may also be carried in different WANs. For another example, when the first terminal is the OLT, the internet service of the first terminal and the CDN service of the first terminal share the same uplink port or the same uplink port group.
The internet service of the first terminal and the CDN service of the first terminal are carried in the same WAN, which can be understood that the internet service of the first terminal and the CDN service of the first terminal share an uplink bandwidth resource (which may be simply referred to as an uplink bandwidth resource or an uplink bandwidth resource of the first terminal) that may be used by the first terminal. The internet service of the first terminal and the CDN service of the first terminal are carried in different WANs, which can be understood that the internet service of the first terminal and the CDN service of the first terminal are respectively configured with independent uplink bandwidth resources, that is, how much of the bandwidth resources occupied by the CDN service of the first terminal has no influence on the bandwidth resources available for the internet service of the first terminal, for example, an operator can respectively configure uplink bandwidth resources for the internet service and the CDN service. The internet service of the first terminal and the CDN service of the first terminal share the same uplink port, which can be understood as that the internet service of the first terminal and the CDN service of the first terminal send uplink data to the server through the same uplink port. The internet service of the first terminal and the CDN service of the first terminal share the same uplink port group, which can be understood as that the internet service of the first terminal and the CDN service of the first terminal send uplink data to the server through two uplink ports in the same uplink port group. For example, the uplink port group 1 includes an uplink port 1, an uplink port 2, and an uplink port 3, where the uplink data is sent to the server by the uplink port 1 by the internet service of the first terminal, and the uplink data is sent to the server by the CDN service of the first terminal by the uplink port 3, so that the internet service of the first terminal and the CDN service of the first terminal share the same uplink port group.
The first terminal may periodically or aperiodically determine its own uplink bandwidth resource and bandwidth resource occupied by the internet service. For example, the first terminal may determine its own uplink bandwidth resource and bandwidth resource occupied by the internet service every 10 seconds or every 5 seconds, etc. In this way, the first terminal may send its own actual use condition of the bandwidth resource to the server, so that the server determines whether to use the first terminal as a source node for providing the first data according to the actual use condition of the bandwidth resource of the first terminal.
As an example, the first terminal is an ONT, and the internet service of the first terminal and the CDN service are carried in the same WAN, the first terminal may perform a bandwidth test to obtain an uplink bandwidth resource of the first terminal, and count, by using a statistics counter, bandwidth resources occupied by the internet service of the first terminal to obtain bandwidth resources occupied by the internet service of the first terminal. For example, the first terminal may test the communication speed of the first terminal through a speed measurement website such as a speed test (SPEED TEST) in idle time, so as to obtain uplink bandwidth resources of the first terminal.
As another example, the first terminal is an OLT, and the internet service of the first terminal and the CDN service share the same uplink port, and the first terminal may obtain an uplink bandwidth resource of the first terminal by reading a bandwidth resource of the uplink port, and count, by using a statistics counter, bandwidth resources occupied by the internet service of the first terminal, to obtain bandwidth resources occupied by the internet service of the first terminal.
In another possible implementation, the first terminal is an ONT, and the internet service and the CDN service of the first terminal are carried in different WANs. In step S301, the first terminal may directly determine bandwidth resources of the CDN service of the first terminal. Because the internet service and the CDN service of the first terminal are loaded in different WANs, the internet service and the CDN service of the first terminal are configured with independent bandwidth resources, which means that the amount of bandwidth resources occupied by the CDN service of the first terminal has no influence on the internet service of the first terminal, so the first terminal can only determine the bandwidth resources of the CDN service of the first terminal. For example, the first terminal may test the communication speed of the first terminal in idle time through a speed measurement website such as a speed test, so as to obtain bandwidth resources of the CDN service of the first terminal.
It can be understood that, in the embodiment of the present application, the order of determining the uplink bandwidth resource and determining the bandwidth resource occupied by the internet service for the first terminal is not limited. For example, the first terminal may determine uplink bandwidth resources and bandwidth resources occupied by the internet service at the same time. For example, the first terminal may determine the uplink bandwidth resource first and then determine the bandwidth resource occupied by the internet service; for another example, the first terminal may determine the bandwidth resources occupied by the internet service first and then determine the uplink bandwidth resources.
S302: the first terminal sends a first message to the server. Accordingly, the server receives the first message.
Wherein, the first message may include information about bandwidth resources of the CDN service.
For example, the information about bandwidth resources of the CDN service may include uplink bandwidth resources of the first terminal and bandwidth resources occupied by the internet service of the first terminal; or the information on bandwidth resources of the CDN service may include only bandwidth resources of the CDN service. The bandwidth resources of the CDN service may be used by the server to determine whether to request the first data from the first terminal. The bandwidth resource of the CDN service may be a difference between an uplink bandwidth resource of the first terminal and a bandwidth resource occupied by an internet service of the first terminal. For example, after determining the uplink bandwidth resource and the bandwidth resource occupied by the internet service, the first terminal may perform a difference operation on the uplink bandwidth resource and the bandwidth resource occupied by the internet service to obtain the bandwidth resource of the CDN service. For another example, after determining the uplink bandwidth resource and the bandwidth resource occupied by the internet service, the first terminal may subtract the bandwidth resource occupied by the internet service from the uplink bandwidth resource, and subtract the set threshold value to obtain the bandwidth resource of the CDN service, so as to ensure that the first terminal can perform the internet service and the CDN service in parallel. The set threshold may be defined by a protocol, configured by a server, or the like, and embodiments of the present application are not limited.
For example, the first terminal may periodically or aperiodically transmit the first message to the server. For example, the first terminal transmits the first message to the server every 5 seconds or every 10 seconds. In this way, the server can acquire the actual use condition of the bandwidth resource of the first terminal, and determine whether to request the first data from the first terminal according to the actual use condition of the bandwidth resource of the first terminal, thereby improving the accuracy of resource scheduling.
In another possible implementation manner, when the first terminal is an ONT and the internet service and the CDN service of the first terminal are carried in different WANs, in step S302, the first terminal may send a first message to the server, where the first message may only include bandwidth resources of the CDN service.
S303: the second terminal sends a first request message to the server. Correspondingly, the server receives the first request message.
The first request message is used for acquiring first data. The second terminal may be an ONT or an OLT, and the specific form of the second terminal is not limited in the embodiment of the present application. For example, when the second terminal is an ONT, the first terminal may send a first request message to the server through the OLT connected thereto.
S304: the server determines whether to request the first data from the first terminal according to the information about the bandwidth resources of the CDN service.
The server determines, according to the information about the bandwidth resource of the CDN service, to request the first data to the first terminal, and then executes the contents shown in steps S305 to S307; otherwise, the flow ends.
The server may determine, according to an algorithm such as load balancing, that the first terminal is a source node for providing the first data, e.g., the server determines that the first terminal is a node closest to the second terminal and that the first terminal stores the first data, and further the server may determine, according to information about bandwidth resources of the CDN service, whether to request the first data from the first terminal, i.e., determine whether to use the first terminal as a source node for providing the first data. For example, the server may determine at least one node storing the first data according to information such as an identification of the first data, where the at least one node includes the first terminal; the server can adopt load balancing algorithm and the like to determine the node with the highest priority, namely the first terminal, from the at least one node; and the server may determine whether to request the first data from the first terminal according to the information about bandwidth resources of the CDN service. The highest priority may refer to the closest distance between the second terminal and the second terminal, which is not limited by the embodiment of the present application.
For example, the server may determine the bandwidth resource of the CDN service according to the information about the bandwidth resource of the CDN service, where the information about the bandwidth resource of the CDN service includes an uplink bandwidth resource of the first terminal and a bandwidth resource of an internet service of the first terminal. For example, the information about bandwidth resources of the CDN service includes uplink bandwidth resources and bandwidth resources occupied by the internet service, and the server may perform a difference operation on the uplink bandwidth resources and the bandwidth resources occupied by the internet service to obtain bandwidth resources of the CDN service; or the server can subtract the bandwidth resources occupied by the internet service from the uplink bandwidth resources and subtract the set threshold value to obtain the bandwidth resources of the CDN service.
For example, the server may determine whether to request the first data from the first terminal according to information about bandwidth resources of the CDN service. For example, the server may determine whether to request the first data from the first terminal according to bandwidth resources of the CDN service. For example, if the bandwidth resource required for transmitting the first data is less than or equal to the bandwidth resource of the CDN service, which means that the bandwidth resource available for the CDN service of the first terminal is sufficient to support transmission of the first data, that is, the bandwidth resource of the CDN service that does not affect or configure the internet service of the first terminal when the first terminal performs the CDN service can support transmission of the first data, the server may determine to request the first data to the first terminal; or if the bandwidth resource required for transmitting the first data is greater than the bandwidth resource of the CDN service, which means that the bandwidth resource available for the CDN service of the first terminal is insufficient to support the transmission of the first data, that is, the first terminal may affect the internet access service of the first terminal when performing the CDN service or the configured bandwidth resource of the CDN service cannot support the transmission of the first data, so as to cause network congestion, the server may determine not to request the first data to the first terminal.
As one example, after the server determines that the first data is not requested from the first terminal, the server may determine other nodes having a priority (e.g., a distance priority, a load priority, etc.) lower than the first terminal and storing the first data as source nodes for providing the first data, and then acquire the first data from the other nodes and transmit the first data to the second terminal; or the server may acquire the first data through the network and send the first data to the second terminal.
S305: the server sends a second request message to the first terminal. Correspondingly, the first terminal receives the second request message.
Wherein the second request message is used for acquiring the first data. For example, when the first terminal is an ONT, the server may send a second request message to the first terminal through an OLT connected with the first terminal.
S306: the first terminal sends a second response message to the server. Correspondingly, the server receives the second response message.
Wherein the second response message includes the first data. For example, when the first terminal is an ONT, the first terminal may send a second response message to the server through the OLT connected thereto.
S307: the server sends a first response message to the second terminal. Correspondingly, the second terminal receives the first response message.
Wherein the first response message includes first data. For example, when the second terminal is an ONT, the server may send a first response message to the second terminal through an OLT connected with the second terminal.
In the above embodiment, the first terminal sends, to the server, information about bandwidth resources of the CDN service by determining bandwidth resources occupied by the uplink bandwidth resources and bandwidth resources occupied by the internet service, where the bandwidth resources of the CDN service are a difference between the bandwidth resources occupied by the uplink bandwidth resources and the bandwidth resources occupied by the internet service, so that the server may determine whether to request the first data to the first terminal according to the bandwidth resources of the CDN service. For example, when the bandwidth resource of the CDN service shares the uplink bandwidth resource of the first terminal with the internet service, the server determines whether to use the first terminal as a source node of the first data according to the bandwidth resource of the CDN service, so that network congestion caused by fewer bandwidth resources available to the internet service due to more bandwidth resources occupied by the CDN service can be avoided, and normal internet service of the first terminal can be ensured.
The description of fig. 3 is described in more detail below in conjunction with fig. 1.
Example 1
Fig. 4 shows a flow chart of a scheduling method according to an embodiment of the present application. In the method shown in fig. 4, the first terminal may be an ONT, and the CDN service of the first terminal and the internet service of the first terminal are carried in the same WAN. As shown in fig. 4, the method may include the following.
S401: the ONT 131 registers with the server 110.
Illustratively, the ONT 131 needs to register when connected to the server 110. When the ONT 131 is registered with the server 110, the ONT 131 may register its own IP address, storage capability, and other information with the server so that the server manages the storage capability of the first terminal. The ONT 131 stores the first data, and the specific implementation process of the ONT 131 to obtain the first data may refer to the relevant content of step S301, which is not described herein. In the embodiment of the present application, the CDN service of the ONT 131 and the internet service of the ONT 131 are carried in the same WAN, that is, the CDN service of the ONT 131 and the internet service of the ONT 131 share the uplink bandwidth resource of the ONT 131.
S402: the ONT 131 determines uplink bandwidth resources and bandwidth resources occupied by the internet service.
The specific implementation process of step S402 may refer to the relevant content of step S301, which is not described herein.
S403: the ONT 131 sends a first message to the server 110 through the OLT 121. Accordingly, the server 110 receives the first message from the ONT 131 through the OLT 121.
Wherein the first message includes information about bandwidth resources of the CDN service. For example, the information about bandwidth resources of CDN traffic may include uplink bandwidth resources and bandwidth resources occupied by internet traffic; or the information on bandwidth resources of the CDN service may include only bandwidth resources of the CDN service.
S404: the ONT 133 sends a first request message to the server 110 through the OLT 122. Accordingly, the server 110 receives the first request message from the ONT 133 through the OLT 122. Wherein the first request message is used for requesting the first data.
S405: the server 110 determines the ONT 131 as the source node providing the first data.
S406: the server 110 determines whether to request the first data from the ONT 131 according to the information on bandwidth resources of the CDN service.
For example, in the case where the bandwidth resource required for transmitting the first data is less than or equal to the bandwidth resource of the CDN service, the server 110 may determine to request the first data from the ONT 131 and perform the contents shown in steps S407 to S409; otherwise, the server may determine not to request the first data from the ONT 131 and the process ends.
The specific implementation process of step S405 and step S406 may refer to the relevant content of step S304, which is not described herein.
S407: the server 110 sends a second request message to the ONT 131 through the OLT 121. Accordingly, the ONT 131 receives the second request message from the server 110 through the OLT 121. Wherein the second request message is used for requesting the first data.
S408: the ONT 131 sends a second response message to the server 110 through the OLT 121. Accordingly, the server 110 receives a second response message from the ONT 131 through the OLT 121. Wherein the second response message includes the first data.
S409: the server sends a first response message to the ONT 133 through the OLT 122. Accordingly, the ONT 133 receives the first response message from the server 110 through the OLT 122. Wherein the first response message includes first data.
In the first embodiment, the CDN service of the ONT 131 and the internet surfing service of the ONT 131 share the uplink bandwidth resource of the ONT 131, and the ONT 131 sends the information about the bandwidth resource of the CDN service to the server 110, so that the server 110 can determine whether to use the ONT 131 as the source node for providing the first data according to the bandwidth resource actually usable by the CDN service of the ONT 131, thereby avoiding the problem that the network congestion is caused by that the bandwidth resource occupied by the CDN service is more, resulting in less available bandwidth resource of the internet surfing service, and ensuring the normal internet surfing service of the ONT 131.
Example two
Fig. 5 shows a flow chart of a scheduling method according to an embodiment of the present application. In the method shown in fig. 5, the first terminal may be an ONT, and the CDN service of the first terminal and the internet service of the first terminal are carried in different WANs. As shown in fig. 5, the method may include the following.
S501: the ONT 131 registers with the server 110.
Illustratively, the ONT 131 needs to register when connected to the server 110. When the ONT 131 is registered in the server 110, information such as its own IP address and storage capability may be registered in the server so that the server manages the storage capability of the first terminal. The ONT 131 stores the first data, and the specific implementation process of the ONT 131 to obtain the first data may refer to the relevant content of step S301, which is not described herein. In the embodiment of the present application, the CDN traffic of the ONT 131 and the internet traffic of the ONT 131 are carried in different WANs, i.e., the CDN traffic of the ONT 131 is configured with independent uplink bandwidth resources.
S502: the ONT 131 determines bandwidth resources of CDN traffic.
The specific implementation process of step S502 may refer to the relevant content of step S301, which is not described herein.
S503: the ONT 131 sends a first message to the server 110 through the OLT 121. Accordingly, the server 110 receives the first message from the ONT 131 through the OLT 121. The first message includes bandwidth resources of the CDN service.
S504: the ONT 133 sends a first request message to the server 110 through the OLT 122. Accordingly, the server 110 receives the first request message from the ONT 133 through the OLT 122. Wherein the first request message is used for requesting the first data.
S505: the server 110 determines the ONT 131 as the source node providing the first data.
S506: the server 110 determines whether to request the first data from the ONT 131 according to the bandwidth resources of the CDN service.
For example, in case that the bandwidth resource required for transmitting the first data is less than or equal to the bandwidth resource of the CDN service, the server 110 may determine to request the first data from the ONT 131 and perform contents shown in steps S507 to S509; otherwise, the server may determine not to request the first data from the ONT 131 and the process ends.
The specific implementation process of step S505 and step S506 may refer to the relevant content of step S304, which is not described herein.
S507: the server 110 sends a second request message to the ONT 131 through the OLT 121. Accordingly, the ONT 131 receives the second request message from the server 110 through the OLT 121. Wherein the second request message is used for requesting the first data.
S508: the ONT 131 sends a second response message to the server 110 through the OLT 121. Accordingly, the server 110 receives a second response message from the ONT 131 through the OLT 121. Wherein the second response message includes the first data.
S509: the server sends a first response message to the ONT 133 through the OLT 122. Accordingly, the ONT 133 receives the first response message from the server 110 through the OLT 122. Wherein the first response message includes first data.
In the second embodiment, the CDN service of the ONT 131 and the internet surfing service of the ONT 131 are carried in different WANs, that is, the CDN service of the ONT 131 is configured with independent uplink bandwidth resources, and the ONT 131 sends the bandwidth resources of the CDN service to the server 110, so that the server 110 can determine whether to use the ONT 131 as a source node for providing the first data according to the bandwidth resources available to the CDN service of the ONT 131, thereby avoiding the problem of network congestion caused by the bandwidth resources required by the CDN service being greater than the bandwidth resources available to the CDN service.
Example III
Fig. 6 shows a flow chart of a scheduling method according to an embodiment of the present application. In the method shown in fig. 6, the first terminal may be an OLT, and the CDN service of the first terminal and the internet service of the first terminal share the same uplink port. As shown in fig. 6, the method may include the following.
S601: the OLT 121 registers with the server 110.
Illustratively, the OLT 121 needs to register when it is connected to the server 110. When the OLT 121 registers with the server 110, information such as its own IP address and storage capability may be registered with the server so that the server manages the storage capability of the OLT 121. The OLT 121 stores the first data, and the specific implementation process of the OLT 121 for obtaining the first data may refer to the relevant content of step S301, which is not described herein. In the embodiment of the present application, the CDN service of the OLT 121 and the internet service of the OLT 121 share the same uplink port, i.e., the CDN service of the OLT 121 and the internet service share the bandwidth resource of the same uplink port.
S602: the OLT 121 determines an upstream bandwidth resource and a bandwidth resource occupied by the internet service.
The specific implementation process of step S502 may refer to the relevant content of step S301, which is not described herein.
S603: the OLT 121 sends a first message to the server 110. Accordingly, the server 110 receives the first message from.
Wherein the first message includes information about bandwidth resources of the CDN service. For example, the information about bandwidth resources of CDN traffic may include uplink bandwidth resources and bandwidth resources occupied by internet traffic; or the information about bandwidth resources of the CDN service may include bandwidth resources of the CDN service.
S604: the ONT 133 sends a first request message to the server 110 through the OLT 122. Accordingly, the server 110 receives the first request message from the ONT 133 through the OLT 122. Wherein the first request message is used for requesting the first data.
S605: the server 110 determines that the OLT 121 is a source node that provides the first data.
S606: the server 110 determines whether to request the first data from the OLT 121 according to the information on the bandwidth resources of the CDN service.
For example, in case that the bandwidth resource required for transmitting the first data is less than or equal to the bandwidth resource of the CDN service, the server 110 may determine to request the first data from the OLT 121 and perform the contents shown in steps S607 to S609; otherwise, the server may determine that the first data is not requested from the OLT 121, and the flow ends.
The specific implementation process of step S605 and step S606 may refer to the relevant content of step S304, which is not described herein.
S607: the server 110 sends a second request message to the OLT 121. Accordingly, the OLT 121 receives the second request message from the server 110. Wherein the second request message is used for requesting the first data.
S608: the OLT 121 sends a second response message to the server 110. Accordingly, the server 110 receives a second response message from the OLT 121. Wherein the second response message includes the first data.
S609: the server sends a first response message to the ONT 133 through the OLT 122. Accordingly, the ONT 133 receives the first response message from the server 110 through the OLT 122. Wherein the first response message includes first data.
In the third embodiment, the CDN service of the OLT 121 and the internet surfing service of the OLT 121 share the uplink bandwidth resource of the same uplink port, and the OLT 121 sends the information about the bandwidth resource of the CDN service to the server 110, so that the server 110 can determine whether to use the OLT 121 as the source node for providing the first data according to the bandwidth resource actually available to the CDN service of the OLT 121, thereby avoiding the problem that the network congestion occurs due to the fact that the bandwidth resource occupied by the CDN service is more, resulting in the fact that the bandwidth resource available to the internet surfing service is less, and ensuring the normal internet surfing service of the OLT 121.
In the embodiment of the present application, the method provided by the embodiment of the present application is described from the perspective of interaction between the first terminal and the server, respectively. In order to implement the functions in the method provided by the embodiment of the present application, the first terminal and the server may include hardware structures and/or software modules, and implement the functions in the form of hardware structures, software modules, or a combination of hardware structures and software modules. Some of the functions described above are performed in a hardware configuration, a software module, or a combination of hardware and software modules, depending on the specific application of the solution and design constraints.
Fig. 7 shows a schematic structural diagram of a communication device 700. The communication device 700 may be the first terminal in any one of the embodiments shown in fig. 3 to 6, and may implement the function of the first terminal in the method provided by the embodiment of the present application; the communication device 700 may also be a device capable of supporting the first terminal to implement the function of the first terminal in the method provided by the embodiment of the present application. Communication device 700 may be a hardware structure, a software module, or a combination of hardware and software modules. The communication device 700 may be implemented by a system-on-chip. In the embodiment of the application, the chip system can be formed by a chip, and can also comprise the chip and other discrete devices.
The communication device 700 may include a processing unit 701 and a communication unit 702. The communication unit 702 is used to communicate with the communication device 700 and other modules, which may be circuits, devices, interfaces, buses, software modules, transceivers, or any other device capable of implementing communication.
In a possible implementation manner, the processing unit 701 may be configured to determine uplink bandwidth resources and bandwidth resources occupied by the internet service, where the communication device 700 stores the first data requested to be acquired by the second terminal. The communication unit 702 may be configured to send a first message to a server, where the first message includes information about bandwidth resources of a CDN service, where the bandwidth resources of the CDN service are a difference between bandwidth resources occupied by an uplink bandwidth resource and bandwidth resources occupied by an internet service, and the bandwidth resources of the CDN service are used by the server to determine whether to request the first data from the communication device 700.
As one example, the information about bandwidth resources of CDN traffic may include uplink bandwidth resources and bandwidth resources occupied by internet traffic. Or the information on bandwidth resources of the CDN service may include only bandwidth resources of the CDN service.
As an example, the communication device 700 may be an optical network terminal, and the CDN service and the internet service may be carried in the same wide area network WAN. The processing unit 701 may be specifically configured to perform a bandwidth test to obtain the uplink bandwidth resource.
As another example, the communication apparatus 700 may be an optical line terminal, and the CDN service and the internet surfing service may share the same uplink port. The processing unit 701 may be specifically configured to obtain the uplink bandwidth resource by reading the bandwidth resource of the uplink port.
In another possible implementation manner, the processing unit 701 may be configured to determine bandwidth resources of the CDN service, where the communication device 700 stores the first data requested to be acquired by the second terminal. The communication unit 702 may be configured to send a first message to the server, where the first message includes bandwidth resources of the CDN service, where the bandwidth resources of the CDN service may be used by the server to determine whether to request the first data from the communication apparatus 700. The CDN traffic and the internet traffic may be carried in different wide area networks WANs. The processing unit 701 is specifically configured to perform a bandwidth test to obtain a bandwidth resource of the CDN service.
All relevant contents of each step related to the above method embodiment may be cited to the functional description of the corresponding functional module, which is not described herein.
The division of the modules in the embodiments of the present application is schematically only one logic function division, and there may be another division manner in actual implementation, and in addition, each functional module in each embodiment of the present application may be integrated in one processor, or may exist separately and physically, or two or more modules may be integrated in one module. The integrated modules may be implemented in hardware or in software functional modules.
Fig. 8 shows a communication device 800 provided by an embodiment of the present application, where the communication device 800 may be a first terminal in any one of the embodiments shown in fig. 3 to fig. 6, and may implement a function of the first terminal in the method provided by the embodiment of the present application; the communication device 800 may also be a device capable of supporting the first terminal to implement the function of the first terminal in the method provided in the embodiment of the present application. The communication device 800 may be a system-on-chip. In the embodiment of the application, the chip system can be formed by a chip, and can also comprise the chip and other discrete devices.
In a hardware implementation, the communication unit 702 may be a transceiver, which may be integrated in the communication interface 810 in the communication device 800.
The communication device 800 may include at least one processor 820 for implementing or for supporting the communication device 800 to implement the functionality of the first terminal in the method provided by the embodiment of the application. For example, processor 820 may determine uplink bandwidth resources and bandwidth resources occupied by the internet service, which are specifically referred to in the detailed description of the method examples and are not described herein. For another example, the processor 820 may determine bandwidth resources of the CDN service, specifically referring to the detailed description in the method example, which is not described herein.
Optionally, the communication device 800 may further comprise at least one memory 830 for storing program instructions and/or data. Memory 830 is coupled to processor 820. The coupling in the embodiments of the present application is an indirect coupling or communication connection between devices, units, or modules, which may be in electrical, mechanical, or other forms for information interaction between the devices, units, or modules. Processor 820 may operate in conjunction with memory 830. Processor 820 may execute program instructions stored in memory 830. At least one of the at least one memory may be included in the processor.
The communication apparatus 800 may also include a communication interface 810 for communicating with other devices over a transmission medium, such that an apparatus for use in the communication apparatus 800 may communicate with other devices. The communication apparatus 800 is illustratively a first terminal, and the other device may be a server. Processor 820 may transmit and receive data using communication interface 810. The communication interface 810 may be a transceiver in particular.
The specific connection medium between the communication interface 810, the processor 820, and the memory 830 is not limited in the embodiment of the present application. In the embodiment of the present application, the memory 830, the processor 820 and the communication interface 810 are connected through the bus 840 in fig. 8, where the bus is indicated by a thick line in fig. 8, and the connection manner between other components is only schematically illustrated, but not limited thereto. The buses may be classified as address buses, data buses, control buses, etc. For ease of illustration, only one thick line is shown in fig. 8, but not only one bus or one type of bus.
In an embodiment of the present application, processor 820 may be a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, which may implement or perform the methods, steps, and logic blocks disclosed in the embodiments of the present application. The general purpose processor may be a microprocessor or any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present application may be embodied directly in a hardware processor for execution, or in a combination of hardware and software modules in the processor for execution.
In an embodiment of the present application, the memory 830 may be a nonvolatile memory, such as a hard disk (HARD DISK DRIVE, HDD) or a solid-state disk (SSD), or may be a volatile memory (RAM). The memory is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such. The memory in embodiments of the present application may also be circuitry or any other device capable of performing memory functions for storing program instructions and/or data.
Fig. 9 shows a schematic structural diagram of a communication device 900. The communication device 900 may be a server in any one of the embodiments shown in fig. 3 to 6, and may implement the function of the server in the method provided by the embodiment of the present application; the communication device 900 may also be a device capable of supporting a server to implement the functions of the server in the method provided in the embodiment of the present application. Communication device 900 may be a hardware structure, a software module, or a combination of hardware and software modules. The communication device 900 may be implemented by a system-on-chip. In the embodiment of the application, the chip system can be formed by a chip, and can also comprise the chip and other discrete devices.
The communication apparatus 900 may include a processing unit 901 and a communication unit 902. The communication unit 902 is used for communicating with the communication device 900 and other modules, which may be circuits, devices, interfaces, buses, software modules, transceivers or any other device capable of implementing communication.
In a possible implementation manner, the communication unit 902 may be configured to receive a first message from a first terminal, where the first terminal stores first data, where the first message includes information about bandwidth resources of a CDN service, where the bandwidth resources of the CDN service may be a difference between uplink bandwidth resources of the first terminal and bandwidth resources occupied by an internet service of the first terminal, and receive a first request message from a second terminal, where the first request message is used to request to obtain the first data. The processing unit 901 may be configured to determine whether to request the first data from the first terminal according to information about bandwidth resources of the CDN service.
As an example, the information about bandwidth resources of CDN traffic may include uplink bandwidth resources and bandwidth resources occupied by internet traffic; or the information on bandwidth resources of the CDN service may include only bandwidth resources of the CDN service.
As an example, the first terminal may be an optical network terminal, and the CDN service and the internet service may be carried in the same wide area network WAN. The uplink bandwidth resource may be obtained by performing a bandwidth test by the first terminal.
As another example, the first terminal may be an optical line terminal, and the CDN service and the internet surfing service may share the same uplink port. The uplink bandwidth resource may be obtained by the first terminal by reading the bandwidth resource of the uplink port.
As another example, the processing unit 901 is specifically configured to determine bandwidth resources of the CDN service according to information about bandwidth resources of the CDN service, and determine to request the first data from the first terminal if the bandwidth resources required for transmitting the first data are less than or equal to the bandwidth resources of the CDN service; or determining not to request the first data from the first terminal in case that the bandwidth resource required for transmitting the first data is greater than the bandwidth resource of the CDN service.
As another example, after the communication apparatus 900 requests the first data from the first terminal, the communication unit 902 is further configured to receive the first data from the first terminal; and transmitting a first response message to the second terminal, the first response message including the first data.
In another possible implementation, the communication unit 902 may be configured to receive a first message from a first terminal, where the first terminal stores first data, where the first message includes bandwidth resources of the CDN service, and receive a first request message from a second terminal, where the first request message is used to request to obtain the first data. The processing unit 901 may be configured to determine whether to request the first data from the first terminal according to a bandwidth resource of the CDN service.
As an example, the first terminal may be an optical network terminal, and the CDN service and the internet service of the first terminal may be carried in different wide area networks WANs. The bandwidth resource of the CDN service is obtained by performing bandwidth test by the first terminal.
As an example, the processing unit 901 is specifically configured to determine to request the first data to the first terminal when the bandwidth resource required for transmitting the first data is less than or equal to the bandwidth resource of the CDN service; or indeed does not request the first data from the first terminal in case the bandwidth resources required for transmitting the first data are larger than those of the CDN service.
As another example, after the communication apparatus 900 requests the first data from the first terminal, the communication unit 902 is further configured to: receiving first data from the first terminal; and sending a first response message to the second terminal, the first response message including the first data.
All relevant contents of each step related to the above method embodiment may be cited to the functional description of the corresponding functional module, which is not described herein.
The division of the modules in the embodiments of the present application is schematically only one logic function division, and there may be another division manner in actual implementation, and in addition, each functional module in each embodiment of the present application may be integrated in one processor, or may exist separately and physically, or two or more modules may be integrated in one module. The integrated modules may be implemented in hardware or in software functional modules.
Fig. 10 shows a communication device 1000 provided by an embodiment of the present application, where the communication device 1000 may be a server in any one of the embodiments shown in fig. 3 to fig. 6, and may implement a function of the server in the method provided by the embodiment of the present application; the communication device 1000 may also be a device capable of supporting a server to implement the functions of the server in the method provided in the embodiment of the present application. The communication device 1000 may be a system-on-chip. In the embodiment of the application, the chip system can be formed by a chip, and can also comprise the chip and other discrete devices.
In a hardware implementation, the communication unit 902 may be a transceiver, which may be integrated into the communication interface 1010 in the communication device 1000.
The communication device 1000 may include at least one processor 1020 for implementing or for supporting the communication device 1000 to implement the functions of a server in the method provided by the embodiment of the present application. For example, the processor 1020 may determine whether to request the first data from the first terminal according to the information about the bandwidth resource of the CDN service, which is specifically referred to in the method example and will not be described herein. For another example, the processor 1020 may determine whether to request the first data from the first terminal according to the bandwidth resource of the CDN service, which is specifically referred to in the method example and will not be described herein.
Optionally, the communications device 1000 may also include at least one memory 1030 for storing program instructions and/or data. Memory 1030 is coupled to processor 1020. The coupling in the embodiments of the present application is an indirect coupling or communication connection between devices, units, or modules, which may be in electrical, mechanical, or other forms for information interaction between the devices, units, or modules. Processor 1020 may operate in conjunction with memory 1030. Processor 1020 may execute program instructions stored in memory 1030. At least one of the at least one memory may be included in the processor.
The communications apparatus 1000 can also include a communications interface 1010 for communicating with other devices over a transmission medium such that the apparatus for use in the communications apparatus 1000 can communicate with other devices. The communication apparatus 1000 is illustratively a server, and the other device may be a first terminal or a second terminal. The processor 1020 may transmit and receive data using the communication interface 1010. The communication interface 1010 may be a transceiver in particular.
The specific connection medium between the communication interface 1010, the processor 1020, and the memory 1030 is not limited in this embodiment. In the embodiment of the present application, the memory 1030, the processor 1020 and the communication interface 1010 are connected by a bus 1040 in fig. 10, where the bus is indicated by a thick line in fig. 10, and the connection manner between other components is merely illustrative and not limited thereto. The buses may be classified as address buses, data buses, control buses, etc. For ease of illustration, only one thick line is shown in fig. 10, but not only one bus or one type of bus.
In an embodiment of the present application, the processor 1020 may be a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, where the methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. The general purpose processor may be a microprocessor or any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present application may be embodied directly in a hardware processor for execution, or in a combination of hardware and software modules in the processor for execution.
In an embodiment of the present application, the memory 1030 may be a nonvolatile memory, such as a hard disk (HARD DISK DRIVE, HDD) or a Solid State Disk (SSD), or may be a volatile memory (RAM). The memory is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such. The memory in embodiments of the present application may also be circuitry or any other device capable of performing memory functions for storing program instructions and/or data.
Embodiments of the present application also provide a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the method performed by the first terminal in the foregoing embodiments.
Embodiments of the present application also provide a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the method performed by the server in the foregoing embodiments.
Embodiments of the present application also provide a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method performed by the first terminal in the previous embodiments.
Embodiments of the present application also provide a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method performed by the server in the previous embodiments.
The embodiment of the application provides a chip system, which comprises a processor and can also comprise a memory, wherein the memory is used for realizing the function of a first terminal in the method. The chip system may be formed of a chip or may include a chip and other discrete devices.
The embodiment of the application provides a chip system, which comprises a processor and can also comprise a memory, wherein the memory is used for realizing the functions of a server in the method. The chip system may be formed of a chip or may include a chip and other discrete devices.
The embodiment of the application provides a communication system, which comprises the first terminal and the server in the previous embodiment.
The method provided by the embodiment of the application can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, a network device, a user device, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g., from one website, computer, server, or data center, by wired (e.g., coaxial cable, fiber optic, digital subscriber line (digital subscriber line, DSL) or wireless (e.g., infrared, wireless, microwave, etc.) means, the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc., that contains an integration of one or more available media, the available media may be magnetic media (e.g., floppy disk, hard disk, tape), optical media (e.g., digital video disc (digital video disc, DVD)), or semiconductor media (e.g., SSD), etc.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the scope of the application. Thus, it is intended that the present application also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (22)

1. A scheduling method, comprising:
The method comprises the steps that a first terminal determines uplink bandwidth resources and bandwidth resources occupied by internet surfing services, and the first terminal stores first data which a second terminal requests to acquire;
The first terminal sends a first message to a server, wherein the first message comprises information about bandwidth resources of Content Delivery Network (CDN) service, the bandwidth resources of the CDN service are differences between the uplink bandwidth resources and bandwidth resources occupied by the internet service, and the bandwidth resources of the CDN service are used for the server to determine whether to request the first data from the first terminal.
2. The method of claim 1, wherein the information about bandwidth resources of the CDN service includes bandwidth resources occupied by the upstream bandwidth resources and the internet service; or alternatively
The information about bandwidth resources of the CDN service includes bandwidth resources of the CDN service.
3. The method according to claim 1 or 2, wherein the first terminal is an optical network terminal, and the CDN service and the internet service are carried in the same wide area network WAN.
4. The method of claim 3, wherein the first terminal determining uplink bandwidth resources comprises:
and the first terminal performs bandwidth test to obtain the uplink bandwidth resource.
5. The method of claim 1 or 2, wherein the first terminal is an optical line terminal, and the CDN service and the internet surfing service share the same uplink port.
6. The method of claim 5, wherein the first terminal determining uplink bandwidth resources comprises:
and the first terminal obtains the uplink bandwidth resource by reading the bandwidth resource of the uplink port.
7. A scheduling method, comprising:
The method comprises the steps that a server receives a first message from a first terminal, wherein first data are stored in the first terminal, the first message comprises information about bandwidth resources of Content Delivery Network (CDN) service, and the bandwidth resources of the CDN service are differences between uplink bandwidth resources of the first terminal and bandwidth resources occupied by Internet surfing services of the first terminal;
the server receives a first request message from a second terminal, wherein the first request message is used for requesting to acquire the first data;
and the server determines whether to request the first data from the first terminal according to the information about the bandwidth resources of the CDN service.
8. The method of claim 7, wherein the information about bandwidth resources of CDN traffic includes bandwidth resources occupied by the upstream bandwidth resources and the internet traffic; or alternatively
The information about bandwidth resources of the CDN service includes bandwidth resources of the CDN service.
9. The method of claim 7 or 8, wherein the first terminal is an optical network terminal, and the CDN service and the internet service are carried in the same wide area network WAN.
10. The method of claim 9, wherein the uplink bandwidth resource is obtained by performing a bandwidth test on the first terminal.
11. The method of claim 7 or 8, wherein the first terminal is an optical line terminal, and the CDN service and the internet surfing service share the same uplink port.
12. The method of claim 11, wherein the uplink bandwidth resources are obtained by the first terminal by reading bandwidth resources of the uplink port.
13. The method of claim 7 or 8, wherein the method further comprises:
And the server determines the bandwidth resources of the CDN service according to the information about the bandwidth resources of the CDN service.
14. The method of claim 13, wherein the server determining whether to request the first data from the first terminal according to the information about bandwidth resources of CDN traffic comprises:
The server determines to request the first data to the first terminal under the condition that the bandwidth resource required for transmitting the first data is less than or equal to the bandwidth resource of the CDN service; or alternatively
In the case that the bandwidth resource required for transmitting the first data is greater than the bandwidth resource of the CDN service, the server determines not to request the first data from the first terminal.
15. The method of claim 14, wherein after the server determines to request the first data from the first terminal, the method further comprises:
The server receives first data from the first terminal;
The server sends a first response message to the second terminal, the first response message including the first data.
16. A communication device, comprising a processing unit and a communication unit;
The communication unit is used for carrying out data transmission between the device and other devices;
The processing unit for performing the method according to any of claims 1 to 6 by the communication unit.
17. A communication device, comprising a processing unit and a communication unit;
The communication unit is used for carrying out data transmission between the device and other devices;
the processing unit for performing the method of any of claims 7 to 15 by the communication unit.
18. A communication device, comprising: a processor coupled to a memory for storing a program or instructions that, when executed by the processor, cause the apparatus to perform the method of any one of claims 1 to 6.
19. A communication device, comprising: a processor coupled to a memory for storing a program or instructions that, when executed by the processor, cause the apparatus to perform the method of any one of claims 7 to 15.
20. A communication system comprising a communication device according to claim 16 and a communication device according to claim 17; or alternatively
Comprising a communication device according to claim 18 and a communication device according to claim 19.
21. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a computer program which, when run on a computer, causes the computer to perform the method of any of claims 1 to 15.
22. A computer program product, characterized in that the computer program product, when run on a computer, causes the computer to perform the method of any one of claims 1 to 15.
CN202110241220.3A 2021-03-04 2021-03-04 Scheduling method, device and system Active CN115102904B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110241220.3A CN115102904B (en) 2021-03-04 2021-03-04 Scheduling method, device and system
PCT/CN2022/076174 WO2022183899A1 (en) 2021-03-04 2022-02-14 Scheduling method, apparatus and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110241220.3A CN115102904B (en) 2021-03-04 2021-03-04 Scheduling method, device and system

Publications (2)

Publication Number Publication Date
CN115102904A CN115102904A (en) 2022-09-23
CN115102904B true CN115102904B (en) 2024-05-17

Family

ID=83155002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110241220.3A Active CN115102904B (en) 2021-03-04 2021-03-04 Scheduling method, device and system

Country Status (2)

Country Link
CN (1) CN115102904B (en)
WO (1) WO2022183899A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640699A (en) * 2009-08-21 2010-02-03 深圳创维数字技术股份有限公司 P2P streaming media system and streaming media downloading method thereof
CN101800621A (en) * 2010-01-12 2010-08-11 腾讯科技(深圳)有限公司 Method and device for limiting uploading speed
CN103036790A (en) * 2012-12-31 2013-04-10 乐视网信息技术(北京)股份有限公司 P2P (peer-to-peer) node selection method introducing node bandwidth condition constrain
CN104038442A (en) * 2014-06-11 2014-09-10 普联技术有限公司 Bandwidth allocation method and router
CN107396204A (en) * 2017-06-12 2017-11-24 江苏大学 A kind of P2P video request program node selecting methods based on linear programming and intensified learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100488146C (en) * 2006-09-14 2009-05-13 华为技术有限公司 Method for establishing point-to-point collection in P2P network and nodes in P2P network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640699A (en) * 2009-08-21 2010-02-03 深圳创维数字技术股份有限公司 P2P streaming media system and streaming media downloading method thereof
CN101800621A (en) * 2010-01-12 2010-08-11 腾讯科技(深圳)有限公司 Method and device for limiting uploading speed
CN103036790A (en) * 2012-12-31 2013-04-10 乐视网信息技术(北京)股份有限公司 P2P (peer-to-peer) node selection method introducing node bandwidth condition constrain
CN104038442A (en) * 2014-06-11 2014-09-10 普联技术有限公司 Bandwidth allocation method and router
CN107396204A (en) * 2017-06-12 2017-11-24 江苏大学 A kind of P2P video request program node selecting methods based on linear programming and intensified learning

Also Published As

Publication number Publication date
CN115102904A (en) 2022-09-23
WO2022183899A1 (en) 2022-09-09

Similar Documents

Publication Publication Date Title
US20140082135A1 (en) Apparatus and method for providing content, and system for providing content with the said apparatus
CN114040467B (en) Transmission path determining method, device, server and storage medium
US9619292B2 (en) Resource placement in networked cloud based on resource constraints
US8972519B2 (en) Optimization of multimedia service over an IMS network
US20150295785A1 (en) Resource Subscription Method and Device
CN111787069A (en) Method, device and equipment for processing service access request and computer storage medium
CN112039796B (en) Data packet transmission method and device, storage medium and electronic equipment
CN110830565B (en) Resource downloading method, device, system, electronic equipment and storage medium
US20140222960A1 (en) Method and Apparatus for Rapid Data Distribution
CN112566072A (en) NF-based communication method, device and storage medium
US20230262143A1 (en) Relocation of application context to edge data network
CN114302426B (en) Method, device, medium and electronic equipment for controlling service quality in heterogeneous network
CN111741512B (en) Private network access method and device
CN111757402B (en) Communication method and device
CN115102904B (en) Scheduling method, device and system
WO2023035925A1 (en) Service processing method, apparatus and system
EP2999266B1 (en) Method, device and system for obtaining mobile network data resources
CN112566262B (en) Data processing method and device, communication equipment and storage medium
CN113783963A (en) Data transmission method, server node, gateway device and network system
KR20120111626A (en) System and method for providing push service
KR101082786B1 (en) System and Method for Allocation of Contents using Proxy Server
EP3780424A1 (en) Message processing method and device
CN113133056B (en) Data transmission method and device
EP2939382B1 (en) Distributed data processing system
US20220141913A1 (en) Core network for mobile communication system

Legal Events

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