CN104022961A - Data transmission method, apparatus and system - Google Patents

Data transmission method, apparatus and system Download PDF

Info

Publication number
CN104022961A
CN104022961A CN201410234515.8A CN201410234515A CN104022961A CN 104022961 A CN104022961 A CN 104022961A CN 201410234515 A CN201410234515 A CN 201410234515A CN 104022961 A CN104022961 A CN 104022961A
Authority
CN
China
Prior art keywords
quota
data
request
switch
data end
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.)
Pending
Application number
CN201410234515.8A
Other languages
Chinese (zh)
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 CN201410234515.8A priority Critical patent/CN104022961A/en
Publication of CN104022961A publication Critical patent/CN104022961A/en
Priority to PCT/CN2014/091382 priority patent/WO2015180426A1/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

The invention relates to the field of communications, and provides a data transmission method, apparatus and system, for solving the problem of incapability of ensuring data loss-free transmission by use of a conventional technology. The method comprises: a source data end sending a quota request, wherein the quota request is used for requesting a road switch and an object data end to distribute a quota to data, which needs to be sent to the object data end, of a source data end, the quota is used for buffering data, and the road switch comprises all switches needing to be passed from the source data end to the object data end; the source data end receiving a quota response corresponding to the quota request, wherein the quota response is used for representing whether the road switch and the object data end distribute the quota to the data; and if the quota response represents that the road switch and the object data end distribute the quota to the data, the source data end sending the data.

Description

A kind of data transmission method, Apparatus and system
Technical field
The present invention relates to the communications field, relate in particular to a kind of data transmission method, Apparatus and system.
Background technology
Data center's Ethernet, also referred to as CEE (Converged Enhanced Ethernet merges enhanced ethernet).At present, in CEE, mainly by 802.1Qbb PFC (the flow control standard of Priority Flow Control based on order of priority) agreement and 802.1Qau QCN (Quantized Congestion Notification congestion management standard end to end) agreement, realize the transmission of data.
In prior art, above-mentioned PFC has defined a kind of priority Flow Control, be specially minute 8 tunnels on a physical link, and distribute respectively a priority for each tunnel, thereby make the tunnel with different priorities can be used for transmitting different data.When network occurs when congested, receiving terminal can send and open frame/closure frame having on the tunnel of certain priority, to continue/to suppress the transmission of data on this tunnel with certain priority, thereby guarantees the transmission of the data of high priority.Above-mentioned QCN has defined a kind of congestion notification mechanism, is specially and in discovering network, occurs when congested, and the transmission source that source data end can be noticed in congested source reduces transmission rate, thereby attempts to solve network congestion, and then attempts to realize data lossless transmission.
Yet, if transmit data by PFC, when network occurs when congested, because the data that all transmission data send through the source data end of congestion points all can suppressedly be transmitted, therefore may cause the partial data of these source data end bufferings to overflow, thereby cannot guarantee data lossless transmission; If transmit data by QCN,, because source data end is to being existed and lag behind between congestion point, therefore may causes the partial data of congestion point buffering to overflow, thereby cannot guarantee data lossless transmission.
Summary of the invention
Embodiments of the invention provide a kind of data transmission method, Apparatus and system, have solved prior art and cannot guarantee the problem that data lossless transmits.
For achieving the above object, embodiments of the invention adopt following technical scheme:
First aspect, the invention provides a kind of data transmission method, comprising:
Source data end sends quota request, described quota request is the data allocations quota that described source data end need be sent to described target data end for asking switch and target data end on the way, described quota is for data described in buffer memory, and described switch on the way comprises all switches that need pass through from described source data end to described target data end;
Described source data termination is received the quota response corresponding with described quota request, and described quota responds described in being used for characterizing whether switch and described target data end be quota described in described data allocations on the way;
If switch and described target data end are quota described in described data allocations on the way described in the response of described quota characterizes, described source data end sends described data.
In the possible implementation of the first of first aspect, described method also comprises:
If a switch in switch or described target data end are not quota described in described data allocations on the way described in the response of described quota characterizes, described source data end resends described quota request.
In conjunction with the possible implementation of the first of aforesaid first aspect or first aspect, in the possible implementation of the second, described quota response is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way, and described in characterizing, a switch or the described target data end of switch are not quota described in described data allocations to described quota refusal on the way.
In conjunction with the possible implementation of the first of first aspect, in the third possible implementation, described data are the message queue being comprised of a plurality of Ethernet messages, and described quota request comprises quota application amount,
Wherein, described source data end resends described quota request, comprising:
In the quota application amount of described source data end from described quota request, deduct the quota application amount that the first Ethernet message needs, to obtain the first quota application amount, described the first Ethernet message is the message that is positioned at described message queue tail of the queue;
Described source data end resends described quota request, and described quota request comprises described the first quota application amount.
The third possible implementation in conjunction with first aspect, in the 4th kind of possible implementation, if the quota application amount in described quota request is the quota application amount that the second Ethernet message needs, described the second Ethernet message is the message that is positioned at described message queue head of the queue, described source data end resends described quota request, comprising:
In the time after described source data end receives described quota refusal at every turn, described source data end resends described quota request.
In conjunction with the possible implementation of the first of first aspect, in the 5th kind of possible implementation, described data comprise a plurality of Ethernet messages, and described quota request comprises quota application amount,
Wherein, described source data end resends described quota request, comprising:
Described source data end resends described quota request, and described quota request comprises the quota application amount of described a plurality of Ethernet message needs.
In the 6th kind of possible implementation of first aspect, described method also comprises:
In described source data end sends the first Preset Time after described quota request, if described source data end does not receive described quota response, described source data end, after described the first Preset Time, resends described quota request.
In conjunction with any implementation in the possible six kinds of possible implementations of implementation to the of the first of aforesaid first aspect or first aspect, in the 7th kind of possible implementation, described source data end sends described data, comprising:
Described source data end is in the second Preset Time receiving after described quota responds, and described source data end sends described data.
In conjunction with any implementation in the possible seven kinds of possible implementations of implementation to the of the second of aforesaid first aspect or first aspect, in the 8th kind of possible implementation, before described source data end sends quota request, described method also comprises:
Described source data termination is received and is triggered quota request, and described triggering quota request is used for triggering described source data end and sends described quota request;
Wherein, described source data end sends quota request, comprising:
Described source data end, according to described triggering quota request, sends described quota request.
In conjunction with the 8th kind of possible implementation of first aspect, in the 9th kind of possible implementation,
Described triggering quota request comprises the effective time of idle quota amount and described triggering quota request.
In conjunction with any implementation in nine kinds of possible implementations of the third possible implementation to the of first aspect, in the tenth kind of possible implementation,
In described quota request, also comprise the effective time of described quota application amount, for switch and described target data end retain described quota application amount the effective time of described quota application amount described in asking on the way.
In the 11 kind of possible implementation of first aspect, when the buffer memory that the data of buffer memory take described source data end in described source data end is greater than the first predetermined threshold value, described quota request is urgent quota request,
Wherein, described source data end sends quota request; Described source data termination is received the quota response corresponding with described quota request, comprising:
Described source data end sends described urgent quota request;
Described source data termination is received the described quota response corresponding with described urgent quota request.
Second aspect, the present invention also provides a kind of data transmission method, comprising:
The first switch receives quota request, described quota request is the data allocations quota that source data end need be sent to described target data end for asking switch and target data end on the way, described quota is for data described in buffer memory, described switch on the way comprises all switches that need pass through from described source data end to described target data end, and described the first switch is a switch in described switch on the way;
If available free quota in described the first switch, described the first switch:
According to described quota request, be quota described in described data allocations, and forward described quota request;
Receive the quota corresponding with described quota request response, and forward described quota response, described in described quota response is used for characterizing, whether switch and described target data end are quota described in described data allocations on the way;
Receive described data, and forward described data, described data for when described in the response of described quota characterizes on the way switch and described target data end be described in described data allocations during quota, described source data end transmission.
In the possible implementation of the first of second aspect, described method also comprises:
If in described the first switch without idle quota, described the first switch is replied the first quota refusal corresponding with described quota request, and abandoning described quota request, it is not quota described in described data allocations that described the first quota refusal is used for characterizing described the first switch.
In conjunction with the possible implementation of the first of aforesaid second aspect or second aspect, in the possible implementation of the second,
Described quota response is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way, and described in characterizing, a switch or the described target data end of switch are not quota described in described data allocations to described quota refusal on the way.
In conjunction with the possible implementation of the first of aforesaid second aspect or second aspect to any implementation in the possible implementation of the second, in the third possible implementation, described the first switch is described in described data allocations after quota according to described quota request, and described method also comprises:
After the first Preset Time, described the first switch checks in described quota, whether to be cached with described data;
If data described in buffer memory not in described quota, described the first switch reclaims described quota.
In conjunction with the possible implementation of the first of aforesaid second aspect or second aspect to any implementation in the third possible implementation, in the 4th kind of possible implementation, after described the first switch forwards described data, described method also comprises:
Described the first switch reclaims described quota.
In conjunction with any implementation in the possible four kinds of possible implementations of implementation to the of the second of second aspect, in the 5th kind of possible implementation, if the response of described quota is described quota refusal, described method also comprises:
Described the first switch reclaims described quota.
In conjunction with any implementation in the possible five kinds of possible implementations of implementation to the of the second of aforesaid second aspect or second aspect, in the 6th kind of possible implementation, before described the first switch receives quota request, described method also comprises:
Described the first switch receives and triggers quota request, and described triggering quota request is used for triggering described source data end and sends described quota request, and described triggering quota request comprises the effective time of idle quota amount and described triggering quota request;
Described the first switch forwards described triggering quota request.
In conjunction with any implementation in the possible six kinds of possible implementations of implementation to the of the first of aforesaid second aspect or second aspect, in the 7th kind of possible implementation,
Described quota request comprises the effective time of quota application amount and described quota application amount, for switch and described target data end retain described quota application amount the effective time of described quota application amount on the way described in asking.
In the 8th kind of possible implementation of second aspect, described the first switch receives quota request, comprising:
Described the first switch receives urgent quota request, and described urgent quota request is buffer memory that the data of buffer memory in described source data end take described source data end while being greater than the first predetermined threshold value, and described source data end sends.
In conjunction with the 8th kind of possible implementation of second aspect, in the 9th kind of possible implementation, described method also comprises:
If in described the first switch without idle quota, described the first switch:
Record described urgent quota request, and forward described urgent quota request;
Receive the described quota response corresponding with described urgent quota request;
While there is idle quota in described the first switch, according to described urgent quota request, be quota described in described data allocations;
When described in the response of described quota characterizes on the way switch and described target data end be described in described data allocations during quota, forward described quota response, and receive described data, and forward described data, or,
When the response of described quota characterizes described target data end, be described in described data allocations during quota, forward described quota and respond, reclaim described quota.
In conjunction with the 9th kind of possible implementation of second aspect, in the tenth kind of possible implementation, described method also comprises:
When the response of described quota characterize between described the first switch and described target data end, need through all switches and described target data end be quota described in described data allocations, and described the first switch is not described in described data allocations during quota, described the first switch
According to described quota response, allocation of quota sign is set, and abandon the response of described quota, described allocation of quota sign for identify between described the first switch and described target data end, need through all switches and described target data end be quota described in described data allocations
Waiting in described the first switch and occurring after idle quota, according to described urgent quota request, is quota described in described data allocations,
Generate quota granted, and send described quota granted, described quota granted for characterize between described the first switch, described the first switch and described target data end, need through all switches and described target data end be quota described in described data allocations,
Receive described data, and forward described data; Or,
When the response of described quota characterizes described target data end, be quota described in described data allocations, and described the first switch is not described in described data allocations during quota, described the first switch forwards described quota and responds, and abandons described urgent quota request.
The third aspect, the present invention also provides a kind of data transmission method, comprising:
Target data termination is received quota request, described quota request is the data allocations quota that source data end need be sent to described target data end for asking switch and described target data end on the way, described quota is for data described in buffer memory, and described switch on the way comprises all switches that need pass through from described source data end to described target data end;
If available free quota in described target data end, described target data end is quota described in described data allocations according to described quota request, and the reply quota granted corresponding with described quota request, and receiving described data, described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way.
In the possible implementation of the first of the third aspect, described method also comprises:
If, without idle quota, described target data end is replied quota refusal in described target data end, it is not quota described in described data allocations that described quota refusal is used for characterizing described target data end.
In conjunction with the possible implementation of the first of the aforesaid third aspect or the third aspect, in the possible implementation of the second, described target data end is described in described data allocations after quota according to described quota request, and described method also comprises:
After the first Preset Time, described target data end checks in described quota, whether to be cached with described data;
If data described in buffer memory not in described quota, described target data end reclaims described quota.
In conjunction with the possible implementation of the first of the aforesaid third aspect or the third aspect to any implementation in the possible implementation of the second, in the third possible implementation, after described target data termination is received described data, described method also comprises:
Described target data end is preserved described data to local internal memory;
Described target data end reclaims described quota.
In conjunction with the possible implementation of the second of the aforesaid third aspect or the third aspect to any implementation in the third possible implementation, in the 4th kind of possible implementation, before described target data termination is received quota request, described method also comprises:
Described target data end sends and triggers quota request, and described triggering quota request is used for triggering described source data end and sends described quota request.
In conjunction with the 4th kind of possible implementation of the third aspect, in the 5th kind of possible implementation,
Described triggering quota request comprises the effective time of idle quota amount and described triggering quota request.
In conjunction with any implementation in the possible five kinds of possible implementations of implementation to the of the first of the aforesaid third aspect or the third aspect, in the 6th kind of possible implementation,
Described quota request comprises the effective time of quota application amount and described quota application amount, for switch and described target data end retain described quota application amount the effective time of described quota application amount on the way described in asking.
In conjunction with the possible implementation of the first of the aforesaid third aspect or the third aspect, to any implementation in the third possible implementation, in the 7th kind of possible implementation, described target data termination is received quota request, comprising:
Described target data termination is tightened up anxious quota request, and described urgent quota request is buffer memory that the data of buffer memory in described source data end take described source data end while being greater than the first predetermined threshold value, and described source data end sends.
Fourth aspect, the invention provides a kind of data transmission device, comprising:
Transmitting element, be used for sending quota request, described quota request is the data allocations quota that described data transmission device need be sent to described target data end for asking switch and target data end on the way, described quota is for data described in buffer memory, and described switch on the way comprises all switches that need pass through from described data transmission device to described target data end;
Receiving element, for receiving quota response corresponding to described quota request sending with described transmitting element, described in described quota response is used for characterizing, whether switch and described target data end are quota described in described data allocations on the way;
Described transmitting element, if the described quota response also receiving for described receiving element characterize described on the way switch and described target data end be quota described in described data allocations, send described data.
In the possible implementation of the first of fourth aspect,
Described transmitting element, if the described quota response also receiving for described receiving element characterize described on the way a switch of switch or described target data end be not quota described in described data allocations, resend described quota request.
In conjunction with the possible implementation of the first of aforesaid fourth aspect or fourth aspect, in the possible implementation of the second,
The described quota response that described receiving element receives is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way, and described in characterizing, a switch or the described target data end of switch are not quota described in described data allocations to described quota refusal on the way.
In conjunction with the possible implementation of the first of fourth aspect, in the third possible implementation, described data transmission device also comprises processing unit, and described data are the message queue being comprised of a plurality of Ethernet messages, the quota request that described transmitting element sends comprises quota application amount
Wherein, described processing unit, the quota application amount needing for deducting the first Ethernet message the quota application amount from described quota request, to obtain the first quota application amount, described the first Ethernet message is the message that is positioned at described message queue tail of the queue;
Described transmitting element, specifically for resending described quota request, described quota request comprises described the first quota application amount.
In conjunction with the third possible implementation of fourth aspect, in the 4th kind of possible implementation,
Described transmitting element, if be the quota application amount that the second Ethernet message needs specifically for the quota application amount in described quota request, described the second Ethernet message is the message that is positioned at described message queue head of the queue,, in the time after described receiving element receives described quota refusal at every turn, resend described quota request.
In conjunction with the possible implementation of the first of fourth aspect, in the 5th kind of possible implementation, described data comprise a plurality of Ethernet messages, and the described quota request that described transmitting element sends comprises quota application amount,
Wherein, described transmitting element, specifically for resending described quota request, described quota request comprises the quota application amount of described a plurality of Ethernet message needs.
In the 6th kind of possible implementation of fourth aspect,
Described transmitting element, also in the first Preset Time after sending described quota request, if described receiving element does not receive described quota response,, after described the first Preset Time, resends described quota request.
In conjunction with any implementation in the possible six kinds of possible implementations of implementation to the of the first of aforesaid fourth aspect or fourth aspect, in the 7th kind of possible implementation,
Described transmitting element, specifically for receiving at described receiving element in the second Preset Time after described quota response, sends described data.
In conjunction with any implementation in the possible seven kinds of possible implementations of implementation to the of the second of aforesaid fourth aspect or fourth aspect, in the 8th kind of possible implementation,
Described receiving element, also, for before sending quota request at described transmitting element, receives and triggers quota request, and described triggering quota request is used for triggering described data transmission device and sends described quota request;
Wherein, described transmitting element, the described triggering quota request specifically for receiving according to described receiving element, sends described quota request.
In conjunction with the 8th kind of possible implementation of fourth aspect, in the 9th kind of possible implementation,
The described triggering quota request that described receiving element receives comprises the effective time of idle quota amount and described triggering quota request.
In conjunction with any implementation in nine kinds of possible implementations of the third possible implementation to the of fourth aspect, in the tenth kind of possible implementation,
The effective time that also comprises described quota application amount in the described quota request that described transmitting element sends, for switch and described target data end retain described quota application amount the effective time of described quota application amount on the way described in asking.
In the 11 kind of possible implementation of fourth aspect,
Described transmitting element, when the buffer memory that takies described data transmission device specifically for the data of buffer memory in described data transmission device is greater than the first predetermined threshold value, sends urgent quota request;
Described receiving element, specifically for receiving described quota response corresponding to described urgent quota request sending with described transmitting element.
The 5th aspect, the present invention also provides a kind of data transmission device, comprising:
Receiving element, be used for receiving quota request, and the reception quota response corresponding with described quota request, and reception sources data terminal need be sent to the data of target data end, it is described data allocations quota that described quota request is used for asking data transmission device and described target data end on the way, described quota is for data described in buffer memory, described data transmission device on the way comprises all data transmission devices that need pass through from described source data end to described target data end, described data transmission device is a data transmission device in described data transmission device on the way, described in the response of described quota is used for characterizing, whether data transmission device and described target data end are quota described in described data allocations on the way, described data are for when described in described quota response sign, data transmission device and described target data end are described in described data allocations during quota on the way, described source data end sends,
Allocation units, if for the available free quota of described data transmission device, the described quota request receiving according to described receiving element is quota described in described data allocations;
Described transmitting element, for forwarding described quota request, and forwards described quota response, and forwards described data.
In the possible implementation of the first aspect the 5th, described data transmission device also comprises discarding unit,
Described transmitting element, if also for described data transmission device without idle quota, reply the first quota refusal corresponding to described quota request receiving with described receiving element, it is not quota described in described data allocations that described the first quota refusal is used for characterizing described data transmission device;
Described discarding unit, the described quota request receiving for abandoning described receiving element.
In conjunction with the possible implementation of the first of aforesaid the 5th aspect or the 5th aspect, in the possible implementation of the second,
The described quota response that described receiving element receives is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, data transmission device and described target data end are quota described in described data allocations on the way, and described in characterizing, a data transmission device or the described target data end of data transmission device are not quota described in described data allocations to described quota refusal on the way.
In conjunction with the possible implementation of the first of aforesaid the 5th aspect or the 5th aspect, to any implementation in the possible implementation of the second, in the third possible implementation, described data transmission device also comprises processing unit,
Described processing unit, for being described in described data allocations after quota according to described quota request at described allocation units, after the first Preset Time, check in described quota, whether to be cached with described data, if and data described in buffer memory not in described quota, reclaim described quota.
In conjunction with the third possible implementation of the 5th aspect, in the 4th kind of possible implementation,
Described processing unit, also, for after described transmitting element forwards described data, reclaims described quota.
In conjunction with the third possible implementation or the 4th kind of possible implementation of the 5th aspect, in the 5th kind of possible implementation,
Described processing unit, if the described quota response also receiving for described receiving element is for described quota refusal, reclaims described quota.
In conjunction with any implementation in the possible five kinds of possible implementations of implementation to the of the second of aforesaid the 5th aspect or the 5th aspect, in the 6th kind of possible implementation,
Described receiving element, also for before receiving quota request, receive and trigger quota request, described triggering quota request is used for triggering described source data end and sends described quota request, and described triggering quota request comprises the effective time of idle quota amount and described triggering quota request;
Described transmitting element, the described triggering quota request also receiving for forwarding described receiving element.
In conjunction with any implementation in the possible six kinds of possible implementations of implementation to the of the first of aforesaid the 5th aspect or the 5th aspect, in the 7th kind of possible implementation,
The described quota request that described receiving element receives comprises the effective time of quota application amount and described quota application amount, for data transmission device and described target data end retain described quota application amount the effective time of described quota application amount on the way described in asking.
In the 8th kind of possible implementation aspect the 5th,
Described receiving element, specifically for receiving urgent quota request, described urgent quota request is buffer memory that the data of buffer memory in described source data end take described source data end while being greater than the first predetermined threshold value, described source data end sends.
In conjunction with the 8th kind of possible implementation of the 5th aspect, in the 9th kind of possible implementation, described data transmission device also comprises processing unit,
Described processing unit, if be used for described data transmission device without idle quota, record the described urgent quota request that described receiving element receives, and when corresponding with described urgent quota request, it is not described in described data allocations during quota that the described quota response that described receiving element receives characterizes described target data end, reclaims described quota;
Described transmitting element, the described urgent quota request also receiving for forwarding described receiving element, and described in the described quota response receiving when described receiving element characterizes, data transmission device and described target data end are described in described data allocations during quota on the way, forward described quota response, and forward described data;
Described receiving element, also for receiving described quota response, and receives described data;
Described allocation units, also for when idle quota appears in described data transmission device, the described urgent quota request receiving according to described receiving element, is quota described in described data allocations.
In conjunction with the 9th kind of possible implementation of the 5th aspect, in the tenth kind of possible implementation, described data transmission device also comprises discarding unit,
Described processing unit, also for the described quota response receiving when described receiving element characterize between described data transmission device and described target data end, need through all data transmission devices and described target data end be quota described in described data allocations, and described data transmission device is not described in described data allocations during quota, according to described quota response, allocation of quota sign is set, and generate quota granted, described allocation of quota sign for identify between described data transmission device and described target data end, need through all switches and described target data end be quota described in described data allocations, described quota granted is used for characterizing described data transmission device, between described data transmission device and described target data end, need through all data transmission devices and described target data end be that quota and described target data end are quota described in described data allocations described in described data allocations,
Described discarding unit, the described quota response receiving for abandoning described receiving element,
Described allocation units, also for waiting for that described data transmission device occurs after idle quota, the described urgent quota request receiving according to described receiving element, is quota described in described data allocations,
Described receiving element, also for receiving described data,
Described transmitting element, also for sending described quota granted, and forwards the described data that described receiving element receives; Or,
Described transmitting element, be also quota described in described data allocations for characterize described target data end when the response of described quota, and described data transmission device is not described in described data allocations during quota, forward described quota and respond,
Described discarding unit, the described urgent quota request receiving for abandoning described receiving element.
The 6th aspect, the present invention also provides a kind of data transmission device, comprising:
Receiving element, be used for receiving quota request, and reception sources data terminal need be sent to the data of described data transmission device, it is described data allocations quota that described quota request is used for asking switch and described data transmission device on the way, described quota is for data described in buffer memory, and described switch on the way comprises all switches that need pass through from described source data end to described data transmission device;
Allocation units, if for the available free quota of described data transmission device, the described quota request receiving according to described receiving element is quota described in described data allocations;
Transmitting element, for replying quota granted corresponding to described quota request receiving with described receiving element, described in described quota granted is used for characterizing, switch and described data transmission device are quota described in described data allocations on the way.
In the possible implementation of the first aspect the 6th,
Described transmitting element, if also for described data transmission device without idle quota, reply quota refusal, it is not quota described in described data allocations that described quota refusal is used for characterizing described data transmission device.
In conjunction with the possible implementation of the first of aforesaid the 6th aspect or the 6th aspect, in the possible implementation of the second, described data transmission device also comprises processing unit,
Described processing unit, for being described in described data allocations after quota according to described quota request at described allocation units, after the first Preset Time, check in described quota, whether to be cached with described data, if and data described in buffer memory not in described quota, reclaim described quota.
In conjunction with the possible implementation of the second of the 6th aspect, in the third possible implementation,
Described processing unit, also for after described receiving element receives described data, preserves described data to local internal memory, and reclaims described quota.
In conjunction with the possible implementation of the second of aforesaid the 6th aspect or the 6th aspect to any implementation in the third possible implementation, in the 4th kind of possible implementation,
Described transmitting element, also, for before receiving quota request at described receiving element, sends and triggers quota request, and described triggering quota request is used for triggering described source data end and sends described quota request.
In conjunction with the 4th kind of possible implementation of the 6th aspect, in the 5th kind of possible implementation,
The described triggering quota request that described transmitting element sends comprises the effective time of idle quota amount and described triggering quota request.
In conjunction with any implementation in the possible five kinds of possible implementations of implementation to the of the first of aforesaid the 6th aspect or the 6th aspect, in the 6th kind of possible implementation,
The described quota request that described receiving element receives comprises the effective time of quota application amount and described quota application amount, for switch and described data transmission device retain described quota application amount the effective time of described quota application amount on the way described in asking.
In conjunction with the possible implementation of the first of aforesaid the 6th aspect or the 6th aspect to any implementation in the third possible implementation, in the 7th kind of possible implementation,
Described receiving element, specifically for receiving urgent quota request, described urgent quota request is buffer memory that the data of buffer memory in described source data end take described source data end while being greater than the first predetermined threshold value, described source data end sends.
The 7th aspect, the invention provides a kind of data transmission system, comprising:
Data transmission device as described in above-mentioned fourth aspect, at least one data transmission device as described in above-mentioned the 5th aspect, and the data transmission device as described in above-mentioned the 6th aspect,
Wherein, data transmission device described in above-mentioned fourth aspect is source data end, data transmission device described in above-mentioned the 5th aspect is switch, data transmission device described in above-mentioned the 6th aspect is target data end, between described source data end and described target data end, by described switch, transmits data.
The invention provides a kind of data transmission method, Apparatus and system, by source data end, send quota request, this quota request is for asking switch and target data end on the way need be sent to the data allocations quota of target data end for this source data end, this quota is for these data of buffer memory, this on the way switch comprise all switches that need pass through to this target data end from this source data end, and this source data termination is received the quota response corresponding with this quota request, this quota response is used for characterizing whether switch is on the way this data allocations quota with this target data end, if and the response of this quota to characterize switch and this target data end be on the way this data allocations quota, this source data end sends these data.By this scheme, because source data end is before transferring data to target data end, source data end can be first to switch and target data end are this data quota application on the way, and when switch and target data end have been this data allocations after quota on the way, source data end just starts to transmit this data, therefore, when transmitting data in prior art first " congested " afterwards the method for " management " compare, the data transmission method that the embodiment of the present invention provides has solved the problem of network congestion, has guaranteed the harmless transmission of data.
Accompanying drawing explanation
The flow chart one of a kind of data transmission method that Fig. 1 provides for the embodiment of the present invention;
The flowchart 2 of a kind of data transmission method that Fig. 2 provides for the embodiment of the present invention;
The flow chart 3 of a kind of data transmission method that Fig. 3 provides for the embodiment of the present invention;
The source data end that Fig. 4 provides for the embodiment of the present invention sends the schematic diagram of quota request;
The target data end that Fig. 5 provides for the embodiment of the present invention is replied the schematic diagram of quota granted;
The source data end that Fig. 6 provides for the embodiment of the present invention transfers data to the schematic diagram of target data end;
The interaction figure one of a kind of data transmission method that Fig. 7 provides for the embodiment of the present invention;
The interaction figure two of a kind of data transmission method that Fig. 8 provides for the embodiment of the present invention;
The interaction figure three of a kind of data transmission method that Fig. 9 provides for the embodiment of the present invention;
The interaction figure four of a kind of data transmission method that Figure 10 provides for the embodiment of the present invention;
The interaction figure five of a kind of data transmission method that Figure 11 provides for the embodiment of the present invention;
The interaction figure six of a kind of data transmission method that Figure 12 provides for the embodiment of the present invention;
The target data end that Figure 13 provides for the embodiment of the present invention sends the schematic diagram of triggering quota request;
The interaction figure seven of a kind of data transmission method that Figure 14 provides for the embodiment of the present invention;
The interaction figure eight of a kind of data transmission method that Figure 15 provides for the embodiment of the present invention;
The source data end that Figure 16 provides for the embodiment of the present invention sends the schematic diagram of urgent quota request;
The interaction figure nine of a kind of data transmission method that Figure 17 provides for the embodiment of the present invention;
The interaction figure ten of a kind of data transmission method that Figure 18 provides for the embodiment of the present invention;
The interaction figure 11 of a kind of data transmission method that Figure 19 provides for the embodiment of the present invention;
The interaction figure 12 of a kind of data transmission method that Figure 20 provides for the embodiment of the present invention;
The interaction figure 13 of a kind of data transmission method that Figure 21 provides for the embodiment of the present invention;
The interaction figure 14 of a kind of data transmission method that Figure 22 provides for the embodiment of the present invention;
The interaction figure 15 of a kind of data transmission method that Figure 23 provides for the embodiment of the present invention;
The interaction figure 16 of a kind of data transmission method that Figure 24 provides for the embodiment of the present invention;
The interaction figure 17 of a kind of data transmission method that Figure 25 provides for the embodiment of the present invention;
The structural representation one of a kind of data transmission device 1 that Figure 26 provides for the embodiment of the present invention;
The structural representation two of a kind of data transmission device 1 that Figure 27 provides for the embodiment of the present invention;
The structural representation one of a kind of data transmission device 2 that Figure 28 provides for the embodiment of the present invention;
The structural representation two of a kind of data transmission device 2 that Figure 29 provides for the embodiment of the present invention;
The structural representation three of a kind of data transmission device 2 that Figure 30 provides for the embodiment of the present invention;
The structural representation four of a kind of data transmission device 2 that Figure 31 provides for the embodiment of the present invention;
The structural representation five of a kind of data transmission device 2 that Figure 32 provides for the embodiment of the present invention;
The structural representation one of a kind of data transmission device 3 that Figure 33 provides for the embodiment of the present invention;
The structural representation two of a kind of data transmission device 3 that Figure 34 provides for the embodiment of the present invention;
The structural representation of the source data end that Figure 35 provides for the embodiment of the present invention;
The structural representation of the switch that Figure 36 provides for the embodiment of the present invention;
The target data end structure schematic diagram that Figure 37 provides for the embodiment of the present invention;
The block diagram of a kind of data transmission system that Figure 38 provides for the embodiment of the present invention.
Embodiment
A kind of data transmission method, the Apparatus and system that the embodiment of the present invention are provided below in conjunction with accompanying drawing are clearly and completely described.
Embodiment mono-
The embodiment of the present invention provides a kind of data transmission method, relates to source data distolateral, and as shown in Figure 1, the method can comprise:
S101, source data end send quota request, this quota request is the data allocations quota that source data end need be sent to target data end for asking switch and target data end on the way, this quota need be sent to the data of target data end for buffer memory source data end, and switch comprises all switches that need pass through from source data end to target data end on the way.
Before source data end need to transfer data to target data end, source data end can be is in advance this data quota application to switch and target data end on the way, wherein, this on the way switch can comprise all switches that need pass through from source data end to target data end.
Concrete, source data end can send quota request to switch on the way, be positioned at the next stage switch of source data end, if available free quota in this next stage switch, this next stage switch can be the data allocations quota that this source data end need be sent to target data end according to this quota request, and forward this quota request, and after the allocated quotas of switch on the way by other, forward this quota request to target data end successively, target data termination is received after this quota request, if the available free quota of target data end, target data end can be this data allocations quota.Wherein, the quota that switch and target data end are this data allocations on the way can be used for these data of buffer memory.
Further, above-mentioned source data end need be sent to the message queue that the data of target data end specifically can be comprised of a plurality of Ethernet messages.Concrete, each Ethernet message comprises header and payload two parts, header portion can comprise source data end address information, need the port numbers of the switch of process, and the address information of target data end etc.; Payload part can comprise the data that need transmission.Wherein, the address information of source data end can comprise IP (the Internet Protocol of source data end, the agreement interconnecting between network) MAC of address, source data end (Media Access Control, medium access control sublayer agreement) address etc.; Accordingly, the address information of target data end can comprise the IP address of target data end, the MAC Address of target data end etc.
S102, source data termination receive the quota response corresponding with quota request, and quota responds and is used for characterizing whether switch and target data end are on the way this data allocations quota.
Target data termination is received after quota request, target data end can be replied the quota corresponding with this quota request response to switch on the way, be positioned at the upper level switch of target data end, by this upper level switch, forwarding this quota responds, and pass through successively the forwarding of other switch on the way, until forward this quota, respond to source data end, source data termination is received this quota response.Wherein, the response of this quota can be used for characterizing whether switch and target data end are on the way the data allocations quota that source data end need be sent to target data end, thereby source data end can determine whether that transmission source data terminal need be sent to the data of target data end by this quota response.
It should be noted that, this quota response can be quota granted or quota refusal.Wherein, to can be used for characterizing switch and target data end be on the way the data allocations quota that source data end need be sent to target data end to quota granted.Switch or target data end that quota refusal can be used for characterizing in switch on the way need not be sent to the data allocations quota of target data end for source data end.
Be understandable that, target data termination is received after quota request, if available free quota in target data end, target data end can be the data allocations quota that source data end need be sent to target data end according to this quota request, and replys the quota granted corresponding with this quota request; Contrary, if in target data end without idle quota, target data end can directly be replied the quota corresponding with this quota request and be refused.
If it is this data allocations quota that S103 quota response characterizes switch and target data end on the way, source data end transmission source data terminal need be sent to the data of target data end.
After source data termination is received quota response, if source data end know this quota response characterize switch and target data end be on the way source data end need be sent to target data end data allocations quota, source data end can directly send this data.
The embodiment of the present invention provides a kind of data transmission method, relates to exchanger side, and as shown in Figure 2, the method can comprise:
S201, the first switch receive quota request, this quota request is this data allocations quota that source data end need be sent to target data end for asking switch and target data end on the way, this quota is for these data of buffer memory, switch comprises all switches that need pass through from source data end to target data end on the way, wherein, the first switch is a switch in switch on the way.
Before source data end need to transfer data to target data end, source data end can be is in advance this data quota application to switch and target data end on the way, wherein, this on the way switch can comprise all switches that need pass through from source data end to target data end.
Concrete, source data end sends quota request, and the switches at different levels after source data end in switch on the way forward successively, until this quota request is forwarded to the first switch, the first switch receives quota request, wherein, it is the data allocations quota that source data end need be sent to target data end that this quota request can be used for asking switch and target data end on the way, this quota can be used for the data that buffer memory source data end need be sent to target data end, and the first switch is a switch in switch on the way.
If available free quota in S202 the first switch, the first switch is this data allocations quota according to this quota request, and forwards this quota request.
After the first switch receives quota request, if available free quota in the first switch, the first switch can be the data allocations quota that source data end need be sent to target data end according to this quota request, and continue to forward this quota request to switch on the way, be positioned at the next stage switch of this first switch, and after other the allocated quotas of switch on the way between this next stage switch and target data end, forward this quota request successively, until this quota request is forwarded to target data end.
S203, the first switch receive the quota response corresponding with quota request, and forward this quota response, and this quota responds and is used for characterizing whether switch and target data end are on the way this data allocations quota.
Target data termination is received after this quota request, target data end can be replied the quota corresponding with this quota request response to switch on the way, be positioned at the upper level switch of target data end, this upper level switch forwards this quota response, and successively by the forwarding from this upper level switch to all switches the first switch, until this quota response is forwarded to the first switch, be that first order switch receives this quota response, and forward the response of this quota to switch on the way, be positioned at the upper level switch of the first switch, and successively by other the forwarding of switch on the way between this upper level switch and source data end, until this quota response is forwarded to source data end.Wherein, the response of this quota can be used for characterizing whether switch and target data end are on the way the data allocations quota that source data end need be sent to described target data end.
S204, when the response of this quota characterizes that switch and target data end are for this data allocations quota on the way, the first switch receives this data, and forwards this data.
After the first switch forwards this quota response, when source data termination is received this quota response, and know that the response of this quota characterizes when switch and target data end are source data end allocated quotas on the way, source data end directly transmission source data terminal need be sent to the data of target data end, and through switch on the way, forward this data successively, until by this data retransmission to the first switch, the first switch receives this data, and continuation forwards these data, until by this data retransmission to target data end, thereby source data end has completed the transmission of these data.
The embodiment of the present invention provides a kind of data transmission method, relates to target data distolateral, and as shown in Figure 3, the method can comprise:
S301, target data termination are received quota request.
Before source data end need to transfer data to target data end, source data end can be is in advance this data quota application to switch and target data end on the way, wherein, this on the way switch can comprise all switches that need pass through from source data end to target data end.
Concrete, source data end sends quota request, and successively through forwarding this quota request after switch allocated quotas on the way, until this quota request is forwarded to target data end.Wherein, it is the data allocations quota that source data end need be sent to target data end that this quota request can be used for asking switch and target data end on the way, and this quota can be used for the data that buffer memory source data end need be sent to target data end.
If available free quota in S302 target data end, target data end is this data allocations quota that source data end need be sent to target data end according to quota request, and the reply quota granted corresponding with quota request.
After target data termination is received quota request, if available free quota in target data end, target data end can be the data allocations quota that source data end need be sent to target data end according to the quota request of receiving, and replys the quota granted corresponding with this quota request.
Concrete, target data end can be replied the quota granted corresponding with this quota request to switch on the way, be positioned at the upper level switch of target data end, by this upper level switch, forward this quota granted, and pass through according to this forwarding of other switch on the way, until forward this quota granted to source data end.Thereby source data end can according to this quota granted know switch and target data end be on the way source data end need transfer to target data end data allocations quota, and then source data end can directly send this data.
S303, target data termination are received this data.
After source data end transmission source data terminal need be sent to the data of target data end, through switch on the way, forward successively these data, until by this data retransmission to target data end, thereby source data end completes the transmission of these data.
Exemplary, suppose to comprise source data end, switch, target data end at data center's Ethernet, wherein switch can have one or morely, and the embodiment of the present invention be take now a switch A and further illustrated the data transmission method that the embodiment of the present invention provides as example.Concrete, as shown in Figure 4, source data end need to transmit data to before target data end, source data end can send quota request to switch A, if available free quota in switch A, switch A can be the data allocations quota that source data end need be sent to target data end, and forward this quota request to target data end, as shown in Figure 5, if available free quota in target data end, target data end can be the data allocations quota that source data end need be sent to target data end, and reply quota granted to switch, by switch, again this quota granted is transmitted to source data end, thereby source data end can according to this quota granted know switch and target data end be on the way source data end need be sent to target data end data allocations quota, and then as shown in Figure 6, source data end can start to transmit this data.Concrete, source data end can be sent to switch A by these data, by this switch A by this data retransmission to target data end, source data end completes the transmission of these data.
The embodiment of the present invention provides a kind of data transmission method, by source data end, send quota request, this quota request is for asking switch and target data end on the way need be sent to the data allocations quota of target data end for this source data end, this quota is for these data of buffer memory, this on the way switch comprise all switches that need pass through to this target data end from this source data end, and this source data termination is received the quota response corresponding with this quota request, the response of this quota is used for characterizing this, and whether switch and this target data end are this data allocations quota on the way, if and the response of this quota characterizes this, and switch and this target data end are this data allocations quota on the way, this source data end sends these data.By this scheme, because source data end is before transferring data to target data end, source data end can be to switch and target data end are this data quota application on the way, and when switch and target data end have been this data allocations after quota on the way, source data end just starts to transmit this data, therefore, when transmitting data in prior art first " congested " afterwards the method for " management " compare, the data transmission method that the embodiment of the present invention provides has solved the problem of network congestion, has guaranteed the harmless transmission of data.
Embodiment bis-
The embodiment of the present invention provides a kind of data transmission method, in data center's Ethernet, while transmitting data between source data end and target data end, can pass through switch on the way, the forwarding successively of all switches that need pass through from source data end to target data end realizes.Wherein, the quantity of switch can be for one or more on the way, for convenient, clearly describe the data transmission method that the embodiment of the present invention provides, and the present embodiment be take on the way switch, and to only have a switch be example, and this data transmission method is exemplarily described.
The embodiment of the present invention provides a kind of data transmission method, and as shown in Figure 7, the method can comprise:
S401, source data end send quota request to switch, this quota request is the data allocations quota that source data end need be sent to target data end for asking switch and target data end, and this quota need be sent to the data of target data end for buffer memory source data end.
Before source data end need to transfer data to target data end, source data end can send quota request to switch.This quota request is the data allocations quota that source data end need be sent to target data end for asking switch and target data end, and this quota is for these data of buffer memory.
Optionally, source data end can be entrained in above-mentioned quota request in the header of Ethernet message and transmit.Concrete, source data end can be entrained in above-mentioned quota request in the header of existing certain Ethernet message and transmit, exemplary, as shown in table 1, in the header of existing certain Ethernet message, carry this quota request secretly, this mode can be passed through the encapsulation format of the existing Ethernet message of expansion, and redefines a new types value realization, it is quota request that such offset can be used for indicating the field of carrying secretly in header, and data segment field is data.Or, can be an Ethernet message of this quota request definition again, and this quota request is entrained in the header of this Ethernet message and transmits, exemplary, as shown in table 2, be an Ethernet message of this quota request definition, and in the header of this Ethernet message, carry this quota request secretly, this mode can be passed through the encapsulation format of the existing Ethernet message of expansion, and redefines a new types value realization, and it is quota request that such offset can be used for indicating the field of carrying secretly in header.
Table 1
Table 2
Especially, in above-mentioned quota request, can comprise: the effective time of quota application amount and quota application amount, wherein, the buffer memory that the quota application amount data that to be source data end need be sent to target data end to switch and target data end for its source data end waiting for transmission need be applied for; Be that source data end request switch and target data end are the time that its these data waiting for transmission retain this buffer memory the effective time of quota application amount.
Further, above-mentioned source data end need be sent to the message queue that the data of target data end specifically can be comprised of a plurality of Ethernet messages.Concrete, can be with reference to the description of above-described embodiment S101.
If available free quota in S402 switch, switch can be this data allocations quota according to this quota request, and forwards this quota request to target data end.
After the quota request that switch reception sources data terminal sends, if available free quota in switch, switch can be the data allocations quota that source data end need be sent to target data end according to this quota request, and forwards this quota request to target data end.
Concrete, switch can be the data allocations quota that source data end need be sent to target data end according to the quota application amount in this quota request, and according to the effective time of the quota application amount in this quota request, the quota that is this data allocations by switch retains the effective time of quota application amount.For example, quota application amount 200,000 bytes, be 1 second the effective time of quota application amount, the quota that switch is this data allocations is 200,000 bytes, and the quota of 200,000 bytes that are this data allocations by switch retains 1 second.
If available free quota in S403 target data end, target data end can be this data allocations quota according to this quota request, and replys the quota granted corresponding with this quota request to switch.
After the quota request that target data end desampler forwards, if available free quota in target data end, target data end can be this data allocations quota according to this quota request, and reply the quota granted corresponding with this quota request to switch, wherein, quota granted can be used for characterizing switch and target data end for this data allocations quota.
S404, switch forward this quota granted to source data end.
Switch receives after the quota granted corresponding with quota request of target data end reply, and switch can forward this quota granted to source data end.
S405, source data end send these data to switch.
After the quota granted that source data end desampler forwards, source data end can according to this quota granted know switch and target data end be source data end need be sent to target data end data allocations quota, thereby source data end can directly transmit the data to switch.
S406, switch forward these data to target data end.
After the data that switch reception sources data terminal sends, switch can forward these data to target data end, and source data end has completed the transmission of these data.
It should be noted that, after switch receives the data of source data end transmission, switch can the quota that be this data allocations at switch by this data buffer storage in, and this switch can forward these data to target data end, in the quota that is this data allocations by this data buffer storage at target data end by target data end, and by this transfer of data in local internal memory.
Further, in the data transmission method that the embodiment of the present invention provides, the quantity of switch can be for a plurality of on the way, wherein, the method that each switch in the plurality of switch is carried out is all identical with the method that the switch of describing in the present embodiment is carried out, repeat no more herein, be that the embodiment of the present invention is only to take the data transmission method that the quantity of switch provides as an exemplary explanation embodiment of the present invention on the way, the quantity of concrete switch on the way can determine according to the actual conditions of network, and the present invention is not restricted.
Further, as shown in Figure 8, after above-mentioned S401, the data transmission method that the embodiment of the present invention provides can also comprise:
If in S407 switch, without idle quota, switch is replied the quota corresponding with this quota request and is refused to source data end, and abandons this quota request.
After the quota request that switch reception sources data terminal sends, if in switch without idle quota, switch can be replied the quota corresponding with this quota request and be refused to source data end, and abandons this quota request.Wherein, to can be used for characterizing switch be not source data end allocated quotas to this quota refusal.
Further, source data termination is received after this quota refusal of switch transmission, source data end can know that this switch need not be sent to the data allocations quota of target data end for source data end according to this quota refusal, thereby source data end can be determined and cannot send these data to target data end.
Further, as shown in Figure 9, after above-mentioned S402, the data transmission method that the embodiment of the present invention provides can also comprise:
If, without idle quota, target data end is replied the quota corresponding with this quota request and is refused to switch in S408 target data end.
After the quota request that target data end desampler forwards, if in target data end without idle quota, target data end can be replied the quota corresponding with this quota request and be refused to switch, and wherein, it is not source data end allocated quotas that this quota refusal can be used for characterizing target data end.
Wherein, target data end can be entrained in above-mentioned quota refusal in the header of Ethernet message and transmit.Concrete, the transmission means of quota refusal and the transmission means of quota request are similar, can be with reference to the description of the transmission means of quota request in S401.
S409, switch are forwarded to source data end by this quota refusal.
After the quota refusal that switch receiving target data terminal is replied, switch can be forwarded to source data end by this quota refusal.
Further, as shown in figure 10, after above-mentioned S407, or as shown in figure 11, after above-mentioned S408-S409, the data transmission method that the embodiment of the present invention provides can also comprise:
S410, source data termination receive that after the quota refusal corresponding with this quota request, source data end resends this quota request.
Switch is replied quota and is refused to refuse to source data end to the quota of source data end or the reply of switch forwarding target data end, be that source data termination is received after this quota refusal, source data end can know that switch or target data end need not be sent to the data allocations quota of target data end for source data end according to this quota refusal, thereby source data end can resend this quota request, take is this data quota application to switch and target data end again.
In a kind of possible implementation, the data that source data end need be sent to target data end are the message queue being comprised of a plurality of Ethernet messages, and wherein, source data end resends this quota request and specifically can comprise:
In the quota application amount of source data end from quota request, deduct the quota application amount that the first Ethernet message needs, to obtain the first quota application amount, and the first quota application amount is carried in quota request and is sent, be that the quota request that source data end resends comprises the first quota application amount, wherein, the first Ethernet message is the message that is positioned at above-mentioned message queue tail of the queue.
Further, source data end receives after quota refusal at every turn, in quota application amount the quota request that source data end can send from the last time, deduct the quota application amount that the message of above-mentioned message queue tail of the queue needs that is positioned at, and remaining quota amount is carried in quota request and is resend, take is this data quota application to switch and target data end again, until remaining quota amount is the message that is positioned at this message queue head of the queue, till the quota amount that the second Ethernet message needs.
Further, in above-mentioned data transmission method, quota application amount in the quota request that source data end sends is the quota application amount that the second Ethernet message needs, while being minimum quota application amount, if source data termination is received the quota refusal corresponding with the quota request of its transmission, source data end still needs to resend quota request, concrete, source data end can, in source data end receives a Preset Time after quota is refused at every turn, resend quota request.
Be understandable that, when Ethernet load is higher, the quota request of source data end may be refused by switch or target data end, and source data end may receive quota refusal, in this case, source data end can gradually reduce the quota application amount of carrying in the quota request of each transmission; Accordingly, when Ethernet load is lower, the quota request of source data end can be allowed by switch or target data end, and source data end can receive quota granted, in this case, source data end can progressively increase the quota application amount of carrying in the quota request of each transmission.
In another kind of possible implementation, source data end resends this quota request and specifically can comprise:
The quota application amount that source data end needs the plurality of Ethernet message is carried at this quota request, and resends this quota request.
Exemplary, in the embodiment of the present invention, an above-mentioned Preset Time can be for a default set time, as at least one RTT (Round Trip Time, round-trip delay); Also it can be default set time not, as on the basis of certain set time, with certain expression formula, indicate this set time not, for example source data end is every applies for unsuccessfully once, and source data end can increase after waiting for a RTT and resends this quota request again.
Wherein, in the Preset Time of source data end after at every turn receiving quota refusal, resending this quota request can be any one in following two kinds of situations:
(1) if the quota application amount in the quota request that source data end sends is the quota application amount that the second Ethernet message needs, source data end is every applies for unsuccessfully once, often receive quota refusal one time, source data end resends this quota request after can waiting for an above-mentioned set time again.Wherein, an above-mentioned set time can be at least one RTT.
For instance, when the quota application amount in the quota request that source data end sends is the quota application amount of the second Ethernet message needs, if source data end receives quota refusal for the first time, source data end resends this quota request after needing to wait at least one RTT again; If source data end receives quota refusal for the second time, source data end resends this quota request after still needing to wait at least one RTT again.
(2) if the quota application amount in the quota request that source data end sends is the quota application amount that the second Ethernet message needs, source data end is every applies for unsuccessfully once, often receive quota refusal one time, source data end can wait for that above-mentioned one does not resend this quota request after the set time again.For example, source data end is every to be applied for unsuccessfully once, and source data end sends this quota request after can increasing a RTT of wait again.Wherein, above-mentioned certain set time can be at least one RTT, and certain expression formula can be the integral multiple of this at least one RTT.
For instance, when the quota application amount in the quota request that source data end sends is the quota application amount of the second Ethernet message needs, if source data end receives quota refusal for the first time, source data end resends this quota request after needing to wait at least one RTT again; If source data end receives quota refusal for the second time, source data end resends this quota request after needing to wait at least two RTT again.
It should be noted that, it is only exemplary explanation that an above-mentioned set time and certain set time are set at least one RTT, be an above-mentioned set time and certain set time all can be set at least one RTT, can be set to according to actual needs other different times, the present invention is not restricted yet.
Optionally, if in the first Preset Time after source data end sends quota request, this source data end does not receive the quota response corresponding with this quota request, and source data end can, after the first Preset Time, resend this quota request.Wherein, this first Preset Time can be at least two RTT.
Further, above-mentioned the first Preset Time preferably can be set at least two RTT.Certainly, this first Preset Time also can be set to the time that other meet the demands arbitrarily, and the present invention is not restricted.
Optionally, in source data termination is received the second Preset Time after quota granted, source data end can transmission source data terminal need be sent to the data of target data end.Wherein, this second Preset Time can be at least one RTT.
Further, above-mentioned the second Preset Time preferably can be set at least one RTT.Certainly, this second Preset Time also can be set to the time that other meet the demands arbitrarily, and the present invention is not restricted.
Further, as shown in figure 12, before above-mentioned S401, the data transmission method that the embodiment of the present invention provides can also comprise:
S411, target data end send and trigger quota request to switch.
In target data end, during available free quota, target data end can send and trigger quota request to switch, and this triggerings quota request can be used for trigger source data terminal transmission quota request.
Especially, in above-mentioned triggering quota request, can comprise: the effective time of idle quota amount and this triggering quota request.Wherein, idle quota amount is buffer memory not taken up by data in target data end; Be used for representing that source data termination is received after this triggerings quota request how long interiorly can send quota request the effective time of triggering quota request.
Further, source data end can be " urgent set-asides request " receiving the quota request sending after triggering quota request, for asking switch and target data end, is data allocations the reserved quota that this source data end need be sent to target data end.Certainly, if in switch without idle quota, switch can be replied the quota corresponding with this " urgent set-asides request " and be refused to source data end, and abandons this " urgent set-asides request ".
Further, can be at least one RTT this effective time of triggering quota request, can also be the time of other any practical requirement, and concrete can arrange according to the actual requirements, and the present invention is not restricted.
Needing explanation, target data end above-mentioned triggering quota request can be entrained in the header of Ethernet message transmits.Concrete, trigger the transmission means of quota request and the transmission means of quota request similar, can be with reference to the description of the transmission means of quota request in S401.
S412, switch forward this triggering quota request to source data end.
After the triggering quota request that switch receiving target data terminal sends, switch can forward this triggering quota request to source data end.Thereby trigger this source data end and send quota request, triggering this source data end is the data quota application that source data end need transfer to target data end to switch and target data end, and then make switch and target data end reserve quotas for these data.
Exemplary, suppose to comprise source data end, switch, target data end at data center's Ethernet, wherein switch can have one or morely, and the switch b of now take further illustrates the data transmission method that the embodiment of the present invention provides as example.Concrete, as shown in figure 13, in target data end during available free quota, target data end can send and trigger quota request to switch b, after switch b receives this triggering quota request, switch b can forward this triggering quota request to source data end, with trigger source data terminal, sends quota request.
When the quota request of source data end transmission is urgent quota request, the embodiment of the present invention also provides a kind of data transmission method, and as shown in figure 14, the method can comprise:
When S501, the buffer memory that the data of buffer memory take source data end in source data end are greater than the first predetermined threshold value, source data end sends urgent quota request to switch.
When the buffer memory that the data of buffer memory take source data end in source data is greater than the first default thresholding of this source data end buffer memory, source data end sends urgent quota request to switch.
Especially, promptly quota request comprises: the effective time of blue streak request quota amount and blue streak request quota amount.Concrete, the effective time of this blue streak request quota amount and this blue streak request quota amount, can be with reference in above-mentioned S401, the description of the effective time of quota application amount and quota application amount.
Optionally, when the data that need be sent to target data end at source data end are high-priority data, source data end also can send this urgent quota request, wherein, this high-priority data can be, the highest data of all data medium priorities of buffer memory in this source data end.
If available free quota in S502 switch, switch, according to the urgent quota request of receiving, for source data end need be sent to the data allocations quota of target data end, and forwards this urgent quota request to target data end.
After the urgent quota request that switch reception sources data terminal sends, if available free quota in switch, switch, according to the urgent quota request of receiving, for source data end need be sent to the data allocations quota of target data end, and forwards this urgent quota request to target data end.
Concrete, the method that switch is this data allocations quota according to this urgent quota request, can be with reference in above-mentioned S402, and switch is the description of this data allocations quota according to quota request.
If available free quota in S503 target data end, target data end can be this data allocations quota according to this urgent quota request, and replys the quota granted corresponding with this urgent quota request to switch.
After the urgent quota request that target data end desampler forwards, if available free quota in target data end, target data end can be the data allocations quota that source data end need be sent to target data end according to this urgent quota request, and reply the quota granted corresponding with this urgent quota request to switch, wherein, quota granted can be used for characterizing target data end for this data allocations quota.
S504, switch forward this quota granted to source data end.
Switch receives after the quota granted that target data end replys, due to switch also for source data end need be sent to target data end data allocations quota, therefore, this switch can forward this quota granted to source data end.
S505, source data end send these data to switch.
After the quota granted that source data end desampler forwards, source data end can according to this quota granted know switch and target data end be source data end need be sent to target data end data allocations quota, thereby source data end can directly transmit the data to switch.
S506, switch forward these data to target data end.
After the data that switch reception sources data terminal sends, switch can forward these data to target data end, and source data end completes the transmission of these data.
It should be noted that, after switch receives the data of source data end transmission, switch can the quota that be this data allocations at switch by this data buffer storage in, and this switch can forward these data to target data end, in the quota that is this data allocations by this data buffer storage at target data end by target data end, and by this transfer of data in local internal memory.
Further, as shown in figure 15, after S501, the data transmission method that the embodiment of the present invention provides can also comprise:
If, without idle quota, switch records this urgent quota request in S507 switch, and forward this urgent quota request to target data end.
After switch receives urgent quota request, if in switch without idle quota, switch records the urgent quota request received in switch, and forwards this urgent quota request to target data end.
Exemplary, suppose to comprise source data end, switch, target data end at data center's Ethernet, wherein switch can have one or morely, and the switch C of now take further illustrates the data transmission method that the embodiment of the present invention provides as example.Concrete, as shown in figure 16, source data end sends urgent quota request to switch C, if in switch C without idle quota, switch C can first record this urgent quota request of receiving in switch C, and forwards this urgent quota request to target data end.
Further, as shown in figure 17, after S502, the data transmission method that the embodiment of the present invention provides can also comprise:
If, without idle quota, target data end is replied the quota corresponding with this urgent quota request and is refused to switch in S508 target data end.
After the urgent quota request that target data end desampler forwards, if in target data end without idle quota, target data end can be replied the quota corresponding with this quota request and be refused to switch, and wherein, it is not source data end allocated quotas that this quota refusal can be used for characterizing target data end.
Wherein, target data end can be entrained in above-mentioned quota refusal in the header of Ethernet message and transmit.Concrete, the transmission means of quota refusal and the transmission means of quota request are similar, can be with reference to the description of the transmission means of quota request in S401.
S509, switch are forwarded to source data end by this quota refusal.
After the quota refusal that switch receiving target data terminal is replied, while still there is no idle quota in switch, switch is forwarded to source data end by this quota refusal, and abandons this urgent quota request.
It should be noted that, in the data transmission method that the embodiment of the present invention provides, number of targets termination receives after urgent quota request, and in target data end, without idle quota, target data end can be waited for certain time.If within this certain time, the idle quota occurring in target data end can meet the required quota of these data, and target data end is this data allocations quota; If after this certain time, in target data end, still without the idle quota that meets the required quota of these data, target data end can be carried out S508, replys quota and refuses to switch, by switch, this quota refusal is forwarded to source data end again, thereby source data end can not send these data.
Optionally, when source data end sends quota request or urgent quota request, if after switch is this data allocations quota, switch receives the quota refusal that target data end sends, and switch is the recyclable quota that it is this data allocations.
Further, as shown in figure 18, after above-mentioned S507, the data transmission method that the embodiment of the present invention provides can also comprise:
S510, while there is idle quota in switch, switch, according to this urgent quota request, is this data allocations quota.
Switch is received the urgent quota request that source data end sends, and in switch during without idle quota, switch can record this urgent quota request, and forwards this urgent quota request to target data end.At switch, forward this urgent quota request to target data end, while there is idle quota in switch, this switch can be according to this urgent quota request, for source data end need send to the data allocations quota of target data end.Wherein, the idle quota occurring in switch can meet the required quota of these data.
It should be noted that, after S507, in target data end, during available free quota, the present invention does not limit the execution sequence of S510 and S503, i.e. the present invention can first carry out S503, rear execution S510; Also can first carry out S510, rear execution S503; Can also carry out S503 and S510, the present invention is not restricted simultaneously.
Further, as shown in figure 19, after S507, in target data end, during without idle quota, the present invention can first carry out S510, rear execution S508; Can carry out S508 and S510, the present invention is not restricted simultaneously yet.
Further, as shown in figure 20, after S503, before S505, the data transmission method that the embodiment of the present invention provides can also comprise:
S511, switch be according to this quota granted, and allocation of quota sign is set, and abandons this quota granted, wherein, the quota that has been this data allocations that this allocation of quota sign can be used for identifying target data end.
Target data end is replied quota granted to switch, and switch can arrange allocation of quota sign, and abandon this quota granted according to this quota granted, wherein, and the quota that has been this data allocations that this allocation of quota sign can be used for identifying target data end.
Especially, if on the way the quantity of switch have a plurality of, this allocation of quota sign can be used for needing between switch that sign receives this quota granted and target data end through all switches and the target data end quota that has been this data allocations.
S512, switch are waited in switch and being occurred after idle quota, according to this urgent quota request, be this data allocations quota.
Target data end is replied quota granted to switch, in switch wait switch, occurs after idle quota, and switch can be the data allocations quota that this source data end need be sent to target data end according to this urgent quota request.
S513, switch generate quota granted, and send this quota granted to source data end.
After switch is this data allocations quota, switch can generate quota granted and send this quota granted to source data end.Thereby source data end is received after this quota granted that switch sends, can know switch and target data end be source data end need be sent to destination end data allocations quota, and then source data end can send these data.
It should be noted that, as shown in figure 20, after S503, if switch is not also this data allocations quota, switch needs to carry out S511-S513, without carrying out S504; Accordingly, as shown in figure 18, if after S503, quota that switch has been this data allocations, switch, without carrying out S511-S513, only needs to carry out S504.
Further, as shown in figure 21, if carry out S508 after S510, when there is idle quota in this switch, switch is according to this urgent quota request, after this data allocations quota, target data end is replied the quota corresponding with urgent quota request and is refused to switch, and the data transmission method that embodiment of the present invention provides can also comprise:
S514, switch are recovered as the quota of this data allocations.
While there is idle quota in switch, this switch is according to this urgent quota request, and after this data allocations quota, target data end is replied the quota corresponding with this urgent quota request and refused to switch, this switch receives after this quota refusal, and this switch is recovered as the quota of this data allocations.
As shown in figure 22, if at S502, available free quota in switch even, switch is according to the urgent quota request of receiving, for this source data end need be sent to the data allocations quota of target data end, and forward this urgent quota request to target data end, carry out S508, even in target data end without idle quota, target data end is replied the quota corresponding with this urgent quota request and is refused to switch,, after carrying out S508, switch can be carried out above-mentioned S514, and switch reclaims it for the quota of this data allocations.
Further, the present invention does not limit the execution sequence of S509 and S514, i.e. the present invention can first carry out S509, rear execution S514; Also can first carry out S514, rear execution S509 can also carry out S509 and S514 simultaneously.
Further, as shown in figure 23, when source data end sends quota request, after switch is data allocations quota, the data transmission method that the embodiment of the present invention provides can also comprise S515; And after target data end is data allocations quota, the data transmission method that the embodiment of the present invention provides can also comprise S516, concrete:
S515, after the first Preset Time, whether switch inspection is cached with these data in the quota of this data allocations, and if these data of buffer memory not in this quota, switch reclaims this quota.
Switch is after source data end need be sent to the data allocations quota of target data end, switch is waited for after the first Preset Time, switch can check it is whether to be cached with these data in the quota of this data allocations, if switch checks that it is these data of buffer memory not in the quota of this data allocations, switch reclaims this quota.
S516, after the first Preset Time, whether the inspection of target data end is cached with these data in the quota of this data allocations, and if these data of buffer memory not in this quota, target data end reclaims this quota.
Target data end is after source data end need be sent to the data allocations quota of target data end, target data end is waited for after the first Preset Time, target data end can check it is whether to be cached with these data in the quota of this data allocations, if target data end checks that it is these data of buffer memory not in the quota of this data allocations, target data end reclaims this quota.
Be understandable that, as shown in figure 24, when source data end sends urgent quota request, after switch is data allocations quota, the data transmission method that the embodiment of the present invention provides can also comprise S515; And after target data end is data allocations quota, the data transmission method that the embodiment of the present invention provides can also comprise S516.
Further, as shown in figure 25, at switch, forward these data to target data end, the data transmission method that the embodiment of the present invention provides can also comprise S517; After target data termination is received these data, the data transmission method that the embodiment of the present invention provides can also comprise S518-S519, concrete:
S517, switch are recovered as the quota of this data allocations.
Switch forwards these data to target data end, the recyclable quota that it is this data allocations of switch.
S518, target data end are preserved these data to local internal memory.
After these data that target data end desampler forwards, target data end can be preserved these data to local internal memory.
S519, target data end are recovered as the quota of this data allocations.
Target data end is preserved these data to local internal memory, the recyclable quota that it is this data allocations of target data end.
In prior art, when transfer of data, the switch in data center's Ethernet is dealt with congested by increase buffer memory, and data center's Ethernet is realized not packet loss by limiting network scale and the excessive Internet resources that provide.When network occurs when congested, by a kind of congestion notification mechanism QCN, notice source data end and reduce message transmission rate, attempt to solve network congestion, yet, while transmitting data by QCN, because source data end is to being existed and lag behind between congestion point, therefore may cause the partial data of congestion point buffering to overflow, thereby cannot guarantee data lossless transmission.
Data center's Ethernet is a kind of network model of best effort, while therefore transmitting data in data center's Ethernet, network congestion or packet loss may occur.The embodiment of the present invention provides a kind of data transmission method, be that source data end is before transferring data to target data end, to switch and target data end are this data quota application on the way, and only on the way, switch and target data end have been this data allocations after quota, source data end just starts to transmit this data.Therefore, the data transmission method that the embodiment of the present invention provides, before transfer of data, has been confirmed the unimpeded of data transfer path, has stopped the generation of network congestion problem.Thereby, solved in prior art because the waste buffer memory flow that network congestion problem causes, bandwidth usage is not enough, the problem of congestion packet loss, has saved the buffer memory in switch on the way, takes full advantage of the network bandwidth, guaranteed the ageing and stability of distributed service, and the data transmission method that the embodiment of the present invention provides is without the excessive Internet resources that provide, and be not subject to the restriction of network size, there is cost advantage.
The embodiment of the present invention provides a kind of data transmission method, by source data end, send quota request, this quota request is for asking switch and target data end on the way need be sent to the data allocations quota of target data end for this source data end, this quota is for these data of buffer memory, this on the way switch comprise all switches that need pass through to this target data end from this source data end, and this source data termination is received the quota response corresponding with this quota request, the response of this quota is used for characterizing this, and whether switch and this target data end are this data allocations quota on the way, if and the response of this quota characterizes this, and switch and this target data end are this data allocations quota on the way, this source data end sends these data.By this scheme, because source data end is before transferring data to target data end, source data end can be to switch and target data end are this data quota application on the way, and when switch and target data end have been this data allocations after quota on the way, source data end just starts to transmit this data, therefore, when transmitting data in prior art first " congested " afterwards the method for " management " compare, the data transmission method that the embodiment of the present invention provides has solved the problem of network congestion, has guaranteed the harmless transmission of data.
Embodiment tri-
As shown in figure 26, the embodiment of the present invention provides a kind of data transmission device 1, and this data transmission device 1 can comprise:
Transmitting element 10, be used for sending quota request, described quota request is the data allocations quota that described data transmission device 1 need be sent to described target data end for asking switch and target data end on the way, described quota is for data described in buffer memory, and described switch on the way comprises all switches that need pass through to described target data end from described data transmission device 1; Receiving element 11, for receiving quota response corresponding to described quota request sending with described transmitting element 10, described in described quota response is used for characterizing, whether switch and described target data end are quota described in described data allocations on the way; Described transmitting element 10, if the described quota response also receiving for described receiving element 11 characterize described on the way switch and described target data end be quota described in described data allocations, send described data.
Further, described transmitting element 10, if a switch of switch or described target data end are not quota described in described data allocations described in the described quota response also receiving for described receiving element 11 characterizes, resend described quota request on the way.
Optionally, the described quota response that described receiving element 11 receives is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way, and described in characterizing, a switch or the described target data end of switch are not quota described in described data allocations to described quota refusal on the way.
Optionally, described transmitting element 10, transmits specifically for described quota request being entrained in the header of Ethernet message.
Further, as shown in figure 27, described data transmission device 1 can also comprise processing unit 12, and described data are the message queue being comprised of a plurality of Ethernet messages, and the quota request that described transmitting element 10 sends comprises quota application amount,
Wherein, described processing unit 12, the quota application amount needing for deducting the first Ethernet message the quota application amount from described quota request, to obtain the first quota application amount, described the first Ethernet message is the message that is positioned at described message queue tail of the queue; And described transmitting element 10, specifically for resending described quota request, described quota request comprises described the first quota application amount.
Optionally, described transmitting element 10, if be the quota application amount that the second Ethernet message needs specifically for the quota application amount in described quota request, described the second Ethernet message is the message that is positioned at described message queue head of the queue,, in the time after described receiving element 11 receives described quota refusal at every turn, resend described quota request.
Optionally, described data comprise a plurality of Ethernet messages, and the described quota request that described transmitting element 10 sends comprises quota application amount,
Wherein, described transmitting element 10, specifically for resending described quota request, described quota request comprises the quota application amount of described a plurality of Ethernet message needs.
Optionally, described transmitting element 10, also in the first Preset Time after sending described quota request, if described receiving element 11 does not receive described quota response,, after described the first Preset Time, resends described quota request.
Optionally, described transmitting element 10, specifically for receiving at described receiving element 11 in the second Preset Time after described quota response, sends described data.
Optionally, described receiving element 11, also, for before sending quota request at described transmitting element 10, receives and triggers quota request, and described triggering quota request is used for triggering described data transmission device and sends described quota request;
Wherein, described transmitting element 10, the described triggering quota request specifically for receiving according to described receiving element 11, sends described quota request.
Further, the described triggering quota request that described receiving element 11 receives comprises the effective time of idle quota amount and described triggering quota request.
Optionally, in the described quota request that described transmitting element 10 sends, also comprise the effective time of described quota application amount, for switch and described target data end retain described quota application amount the effective time of described quota application amount described in asking on the way.
Optionally, described transmitting element 10, when the buffer memory that takies described data transmission device specifically for the data of buffer memory in described data transmission device is greater than the first predetermined threshold value, sends urgent quota request; And described receiving element 11, specifically for receiving described quota response corresponding to described urgent quota request sending with described transmitting element 10.
The data transmission device 1 that the embodiment of the present invention provides can be for the equipment communicating by switch, as terminal equipments such as mobile phone, computers.
The embodiment of the present invention provides a kind of data transmission device, because data transmission device is before transferring data to target data end, data transmission device can be to switch and target data end are this data quota application on the way, and when switch and target data end have been this data allocations after quota on the way, data transmission device just starts to transmit this data, therefore, when transmitting data in prior art first " congested " afterwards the method for " management " compare, the data transmission device that the embodiment of the present invention provides has solved the problem of network congestion, guaranteed the harmless transmission of data.
As shown in figure 28, the embodiment of the present invention provides a kind of data transmission device 2, and this data transmission device 2 can comprise:
Receiving element 20, be used for receiving quota request, and the reception quota response corresponding with described quota request, and reception sources data terminal need be sent to the data of target data end, it is described data allocations quota that described quota request is used for asking data transmission device and described target data end on the way, described quota is for data described in buffer memory, described data transmission device on the way comprises all data transmission devices that need pass through from described source data end to described target data end, described data transmission device 2 is a data transmission device in described data transmission device on the way, described in the response of described quota is used for characterizing, whether data transmission device and described target data end are quota described in described data allocations on the way, described data are for when described in described quota response sign, data transmission device and described target data end are described in described data allocations during quota on the way, described source data end sends, allocation units 21, if for the available free quota of described data transmission device 2, the described quota request receiving according to described receiving element 20 is quota described in described data allocations, described transmitting element 22, for forwarding described quota request, and forwards described quota response, and forwards described data.
Further, as shown in figure 29, described data transmission device 2 can also comprise discarding unit 23,
Described transmitting element 22, if also for described data transmission device 2 without idle quota, reply the first quota refusal corresponding to described quota request receiving with described receiving element 20, it is not quota described in described data allocations that described the first quota refusal is used for characterizing described data transmission device 2; Described discarding unit 23, the described quota request receiving for abandoning described receiving element 20.
Optionally, the described quota response that described receiving element 20 receives is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, data transmission device and described target data end are quota described in described data allocations on the way, and described in characterizing, a data transmission device or the described target data end of data transmission device are not quota described in described data allocations to described quota refusal on the way.
Optionally, described transmitting element 22, transmits specifically for described the first quota refusal being entrained in the header of Ethernet message.
Optionally, as shown in figure 30, described data transmission device 2 can also comprise processing unit 24,
Described processing unit 24, for being described in described data allocations after quota according to described quota request at described allocation units 21, after the first Preset Time, check in described quota, whether to be cached with described data, if and data described in buffer memory not in described quota, reclaim described quota.
Further, described processing unit 24, also, for after described transmitting element 22 forwards described data, reclaims described quota.
Optionally, described processing unit 24, if the described quota response also receiving for described receiving element 22 is for described quota refusal, reclaims described quota.
Optionally, described receiving element 20, also for before receiving quota request, receives and triggers quota request, described triggering quota request is used for triggering described source data end and sends described quota request, and described triggering quota request comprises the effective time of idle quota amount and described triggering quota request; Described transmitting element 22, the described triggering quota request also receiving for forwarding described receiving element 20.
Optionally, the described quota request that described receiving element 20 receives comprises the effective time of quota application amount and described quota application amount, for data transmission device and described target data end retain described quota application amount the effective time of described quota application amount on the way described in asking.
Optionally, described receiving element 20, specifically for receiving urgent quota request, described urgent quota request is buffer memory that the data of buffer memory in described source data end take described source data end while being greater than the first predetermined threshold value, described source data end sends.
Optionally, as shown in figure 31, described data transmission device 2 can also comprise processing unit 24,
Described processing unit 24, if be used for described data transmission device 2 without idle quota, record the described urgent quota request that described receiving element 20 receives, and when corresponding with described urgent quota request, it is not described in described data allocations during quota that the described quota response that described receiving element 20 receives characterizes described target data end, reclaims described quota; Described transmitting element 22, the described urgent quota request also receiving for forwarding described receiving element 20, and described in the described quota response receiving when described receiving element 20 characterizes, data transmission device and described target data end are described in described data allocations during quota on the way, forward described quota response, and forward described data; Described receiving element 20, also for receiving described quota response, and receives described data; Described allocation units 21, also for when idle quota appears in described data transmission device, the described urgent quota request receiving according to described receiving element 20, is quota described in described data allocations.
Further, shown in figure 32, described data transmission device 2 can also comprise discarding unit 23,
Described processing unit 24, also for the described quota response receiving when described receiving element 20 characterize between described data transmission device 2 and described target data end, need through all data transmission devices and described target data end be quota described in described data allocations, and described data transmission device 2 is not described in described data allocations during quota, according to described quota response, allocation of quota sign is set, and generate quota granted, described allocation of quota sign for identify between described data transmission device 2 and described target data end, need through all switches and described target data end be quota described in described data allocations, described quota granted is used for characterizing described data transmission device 2, between described data transmission device 2 and described target data end, need through all data transmission devices and described target data end be that quota and described target data end are quota described in described data allocations described in described data allocations, described discarding unit 23, the described quota response receiving for abandoning described receiving element 20, described allocation units 21, also for waiting for that described data transmission device 2 occurs after idle quota, the described urgent quota request receiving according to described receiving element 20, for quota described in described data allocations, described receiving element 20, also for receiving described data, described transmitting element 22, also for sending described quota granted, and forward the described data that described receiving element 20 receives, or, described transmitting element 22, for characterize described target data end when the response of described quota, be not also quota described in described data allocations, and described data transmission device 2 is not described in described data allocations during quota, forward described quota response, described discarding unit 23, the described urgent quota request receiving for abandoning described receiving element 20.
The data transmission device 2 that the embodiment of the present invention provides can be the equipment such as switch.
The embodiment of the present invention provides a kind of data transmission device, because source data end is before transferring data to target data end, source data end can be to data transmission device and target data end are this data quota application on the way, and when data transmission device and target data end have been this data allocations after quota on the way, source data end just starts to transmit this data, therefore, when transmitting data in prior art first " congested " afterwards the method for " management " compare, the data transmission device that the embodiment of the present invention provides has solved the problem of network congestion, guaranteed the harmless transmission of data.
As shown in figure 33, the embodiment of the present invention provides a kind of data transmission device 3, and this data transmission device 3 can comprise:
Receiving element 30, be used for receiving quota request, and reception sources data terminal need be sent to the data of described data transmission device 3, it is described data allocations quota that described quota request is used for asking switch and described data transmission device 3 on the way, described quota is for data described in buffer memory, and described switch on the way comprises all switches that need process from described source data end to described data transmission device 3; Allocation units 31, if for the available free quota of described data transmission device 3, the described quota request receiving according to described receiving element 30 is quota described in described data allocations; Transmitting element 32, for replying quota granted corresponding to described quota request receiving with described receiving element 30, described in described quota granted is used for characterizing, switch and described data transmission device 3 are quota described in described data allocations on the way.
Optionally, described transmitting element 32, if also for described data transmission device 3 without idle quota, reply quota refusal, it is not quota described in described data allocations that described quota refusal is used for characterizing described data transmission device 3.
Further, described transmitting element 32, transmits specifically for described quota granted/described quota refusal being entrained in the header of Ethernet message.
Further, as shown in figure 34, described data transmission device 3 can also comprise processing unit 33,
Described processing unit 33, for being described in described data allocations after quota according to described quota request at described allocation units 31, after the first Preset Time, check in described quota, whether to be cached with described data, if and data described in buffer memory not in described quota, reclaim described quota.
Further, described processing unit 33, also, for after described receiving element 30 receives described data, preserves described data to local internal memory, and reclaims described quota.
Optionally, described transmitting element 32, also, for before receiving quota request at described receiving element 30, sends and triggers quota request, and described triggering quota request is used for triggering described source data end and sends described quota request.
Further, the described triggering quota request that described transmitting element 32 sends comprises the effective time of idle quota amount and described triggering quota request.
Optionally, the described quota request that described receiving element 30 receives comprises the effective time of quota application amount and described quota application amount, for switch and described data transmission device retain described quota application amount the effective time of described quota application amount on the way described in asking.
Optionally, described receiving element 30, specifically for receiving urgent quota request, described urgent quota request is buffer memory that the data of buffer memory in described source data end take described source data end while being greater than the first predetermined threshold value, described source data end sends.
The data transmission device 3 that the embodiment of the present invention provides can be for the equipment communicating by switch, as terminal equipments such as mobile phone, computers.
The embodiment of the present invention provides a kind of data transmission device, because source data end is before transferring data to data transmission device, source data end can be to switch and this data transmission device are this data quota application on the way, and when switch and this data transmission device have been this data allocations after quota on the way, source data end just starts to transmit this data, therefore, when transmitting data in prior art first " congested " afterwards the method for " management " compare, the data transmission device that the embodiment of the present invention provides has solved the problem of network congestion, has guaranteed the harmless transmission of data.
Embodiment tetra-
As shown in figure 35, the embodiment of the present invention provides a kind of source data end, and this source data end can be the equipment communicating by switch, and this source data end can comprise processor 13, memory 14, system bus 15 and communication interface 16.Between processor 13, memory 14 and communication interface 16, by system bus 15, connect and complete mutual communication.
Processor 13 can be monokaryon or multinuclear CPU, or can be specific integrated circuit, or can be for being configured to implement one or more integrated circuits of the embodiment of the present invention.
Memory 14 can be high-speed RAM memory, can be also nonvolatile memory (non-volatile memory), for example at least one magnetic disc store.
Memory 14 is for storing the execution instruction of source data end.Concrete, in the execution instruction of source data end, can comprise program code.
Communication interface 16 is the interface circuit that a system and other system communicate.
When source data end moves, described processor 13 can execution graph 1 or one of any described method flow of Fig. 4 to Figure 25, specifically comprises:
Described processor 13, for passing through described system bus 15, from described communication interface 16, send quota request, described quota request is the data allocations quota that described source data end need be sent to described target data end for asking switch and target data end on the way, described quota is for data described in buffer memory, described switch on the way comprises all switches that need pass through from described source data end to described target data end, and described processor 13 is by described system bus 15, from described communication interface 16, receive the quota response corresponding with described quota request, described in the response of described quota is used for characterizing, whether switch and described target data end are quota described in described data allocations on the way, if and the described quota response that receives of described processor 13 switch and described target data end are quota described in described data allocations on the way described in characterizing, 13 of described processors pass through described system bus 15, from described communication interface 16, send described data, described memory 14, be used for storing the program code of described data, the program code of the program code of described quota request, the response of described quota, and control described processor 13 and complete the software program of said process, thereby make described processor 13 complete said process by carrying out above-mentioned software program and calling above-mentioned each program code.
Optionally, described processor 13, if a switch or the described target data end of switch are not quota described in described data allocations on the way described in also characterizing for the described quota response receiving,, by described system bus 15, from described communication interface 16, resend described quota request.
Optionally, the described quota response that described processor 13 receives is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way, and described in characterizing, a switch or the described target data end of switch are not quota described in described data allocations to described quota refusal on the way.
Optionally, described processor 13, transmits specifically for described quota request being entrained in the header of Ethernet message.
Optionally, described data are the message queue being comprised of a plurality of Ethernet messages, described quota request comprises quota application amount, wherein, described processor 13, the quota application amount also needing for deducting the first Ethernet message the quota application amount from described quota request, to obtain the first quota application amount, described the first Ethernet message is the message that is positioned at described message queue tail of the queue; And by described system bus 15, from described communication interface 16, resending described quota request, described quota request comprises described the first quota application amount.
Optionally, described processor 13, if be the quota application amount that the second Ethernet message needs specifically for the quota application amount in described quota request, described the second Ethernet message is the message that is positioned at described message queue head of the queue, in the time after at every turn receiving described quota refusal, by described system bus 15, from described communication interface 16, resend described quota request.
Optionally, described data comprise a plurality of Ethernet messages, and described quota request comprises quota application amount,
Wherein, described processor 13, specifically for by described system bus 15, resends described quota request from described communication interface 16, and described quota request comprises the quota application amount of described a plurality of Ethernet message needs.
Optionally, described processor 13, also in the first Preset Time after sending described quota request, if described processor 13 does not receive described quota response,, after described the first Preset Time, by described system bus 15, from described communication interface 16, resend described quota request.
Optionally, described processor 13, in the second Preset Time after receiving described quota response, by described system bus 15, sends described data from described communication interface 16.
Optionally, described processor 13, also for before sending quota request, by described system bus 15, from described communication interface 16, receive and trigger quota request, and according to described triggering quota request, by described system bus 15, from described communication interface 16, send described quota request, described triggering quota request is used for triggering described source data end and sends described quota request.
Optionally, the described triggering quota request of described processor 13 receptions comprises the effective time of idle quota amount and described triggering quota request.
Optionally, in the described quota request that described processor 13 sends, also comprise the effective time of described quota application amount, for switch and described target data end retain described quota application amount the effective time of described quota application amount described in asking on the way.
Optionally, described processor 13, when the buffer memory that takies described memory 14 specifically for the data of buffer memory in described memory 14 is greater than the first predetermined threshold value, by described system bus 15, from described communication interface 16, send urgent quota request, and by described system bus 15, from described communication interface 16, receive the described quota response corresponding with described urgent quota request.
The source data end that the embodiment of the present invention provides can be for the equipment communicating by switch, as terminal equipments such as mobile phone, computers.
The embodiment of the present invention provides a kind of source data end, because source data end is before transferring data to data transmission device, source data end can be to switch and this data transmission device are this data quota application on the way, and when switch and this data transmission device have been this data allocations after quota on the way, source data end just starts to transmit this data, therefore, when transmitting data in prior art first " congested " afterwards the method for " management " compare, the source data end that the embodiment of the present invention provides has solved the problem of network congestion, has guaranteed the harmless transmission of data.
As shown in figure 36, the embodiment of the present invention provides a kind of switch, and this switch can comprise processor 25, memory 26, system bus 27 and communication interface 28.Between processor 25, memory 26 and communication interface 28, by system bus 27, connect and complete mutual communication.
The description of processor 25 is identical with the description of processor in above-described embodiment 13.
The description of memory 26 is identical with the description of memory in above-described embodiment 14.
The description of communication interface 28 is identical with the description of communication interface in above-described embodiment 16.
When switch moves, described processor 25 can execution graph 2 or one of any described method flow of Fig. 4 to Figure 25, specifically comprises:
Described processor 25, for passing through described system bus 27, from described communication interface 28, receive quota request, and the reception quota response corresponding with described quota request, and reception sources data terminal need be sent to the data of target data end, it is described data allocations quota that described quota request is used for asking switch and described target data end on the way, described quota is for data described in buffer memory, described switch on the way comprises all switches that need pass through from described source data end to described target data end, described switch is a switch in described switch on the way, described in the response of described quota is used for characterizing, whether switch and described target data end are quota described in described data allocations on the way, described data are for when described in described quota response sign, switch and described target data end are described in described data allocations during quota on the way, described source data end sends, and described processor 25, if for the available free quota of described switch, according to described processor 25, by described system bus 27, the described quota request receiving from described communication interface 28 is quota described in described data allocations, and described processor 25, for passing through described system bus 27, from described communication interface 28, forward described quota request, and forward the response of described quota, and forward described data.Described memory 26 can be used for storing described quota request program code, store the response of described quota program code, store the program code of described data and control described processor 25 and complete the software program of said process, thereby make described processor 25 complete said process by carrying out above-mentioned software program and calling above-mentioned each program code.
Optionally, described processor 25, if also for described switch without idle quota, by described system bus 27.From described communication interface 28, reply the first quota refusal corresponding to described quota request receiving with described processor 25, it is not quota described in described data allocations that described the first quota refusal is used for characterizing described switch; Described processor 25, also for abandoning described quota request.
Optionally, described processor 25, the described quota response receiving by described system bus 27 and described communication interface 28 is refused for quota granted or quota, wherein,
Described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way, and described in characterizing, a switch or the described target data end of switch are not quota described in described data allocations to described quota refusal on the way.
Optionally, described processor 25, transmits specifically for described the first quota refusal being entrained in the header of Ethernet message.
Optionally, described processor 25, for being described in described data allocations after quota according to described quota request, after the first Preset Time, check in described quota, whether to be cached with described data, and if data described in buffer memory not in described quota, reclaim described quota.
Optionally, described processor 25, also, for after forwarding described data, reclaims described quota.
Optionally, described processor 25, if also for described processor 25, by described system bus 27, the described quota response receiving from described communication interface 28, for described quota refusal, is reclaimed described quota.
Optionally, described processor 25, also for before receiving quota request, receives and triggers quota request, described triggering quota request is used for triggering described source data end and sends described quota request, and described triggering quota request comprises the effective time of idle quota amount and described triggering quota request; Described processor 25, also for forwarding described triggering quota request.
Optionally, described processor 25, the described quota request receiving comprises the effective time of quota application amount and described quota application amount, for switch and described target data end retain described quota application amount the effective time of described quota application amount on the way described in asking.
Optionally, described processor 25, specifically for receiving urgent quota request by described system bus 27 and described communication interface 28, described urgent quota request is buffer memory that the data of buffer memory in described source data end take described source data end while being greater than the first predetermined threshold value, and described source data end sends.
Optionally, described processor 25, if be used for described switch without idle quota, record described urgent quota request, and when corresponding with described urgent quota request, described processor 25, it be described in described data allocations during quota that the described quota response of reception characterizes described target data end, the described quota of described processor 25 recovery; Described processor 25, also for passing through described system bus 27, from described communication interface 28, forward the described urgent quota request receiving, and when described in the described quota response receiving characterizes, switch and described target data end are described in described data allocations during quota on the way, forward described quota response, and forward described data; Described processor 25, also responds for receiving described quota by described system bus 27 and described communication interface 28, and receives described data; Described processor 25, also for when idle quota appears in described switch, according to the described urgent quota request receiving, is quota described in described data allocations.
Optionally, described processor 25, also for working as described processor 25, by described system bus 27, the described quota response receiving from described communication interface 28 characterize between described switch and described target data end, need through all switches and described target data end be quota described in described data allocations, and described switch is not described in described data allocations during quota, according to described quota response, allocation of quota sign is set, and generate quota granted, described allocation of quota sign for identify between described switch and described target data end, need through all switches and described target data end be quota described in described data allocations, described quota granted is used for characterizing described switch, between described switch and described target data end, need through all switches and described target data end be quota described in described data allocations, described processor 25, be used for abandoning described quota response, described processor 25, also for waiting for that described switch occurs after idle quota, according to described processor 25, by described system bus 27, the described urgent quota request receiving from described communication interface 28, for quota described in described data allocations, described processor 25, also for receiving described data by described system bus 27 and described communication interface 28, described processor 25, also for sending described quota granted by described system bus 27 and described communication interface 28, and forward described data, or, described processor 25, for characterize described target data end when the response of described quota, be not also quota described in described data allocations, and described switch is not described in described data allocations during quota, forward described quota response, described processor 25, for abandoning the described urgent quota request of described reception.
The embodiment of the present invention provides a kind of switch, because source data end is before transferring data to data transmission device, source data end can be to switch and this data transmission device are this data quota application on the way, and when switch and this data transmission device have been this data allocations after quota on the way, source data end just starts to transmit this data, therefore, when transmitting data in prior art first " congested " afterwards the method for " management " compare, the switch that the embodiment of the present invention provides has solved the problem of network congestion, has guaranteed the harmless transmission of data.
As shown in figure 37, the embodiment of the present invention provides a kind of target data end, and this target data end can be the equipment communicating by switch, and this target data end can comprise processor 34, memory 35, system bus 36 and communication interface 37.Between processor 34, memory 35 and communication interface 37, by system bus 36, connect and complete mutual communication.
The description of processor 34 is identical with the description of processor in above-described embodiment 13.
The description of memory 35 is identical with the description of memory in above-described embodiment 14.
The description of communication interface 37 is identical with the description of communication interface in above-described embodiment 16.
When target data end moves, one of processor 34 is can execution graph 3 to Fig. 7 any, Fig. 9 or one of any described method flow of Figure 11 to Figure 25, specifically comprises:
Described processor 34, for passing through system bus 36, from communication interface 37, receive quota request, and reception sources data terminal need be sent to the data of described switch, it is described data allocations quota that described quota request is used for asking switch and described target data end on the way, described quota is for data described in buffer memory, described switch on the way comprises all switches that need pass through from described source data end to described target data end, and described processor 34, if for the available free quota of described target data end, according to the described quota request receiving, be quota described in described data allocations, and described processor 34, for passing through system bus 36, from communication interface 37, reply quota granted corresponding to described quota request receiving with described processor 34, described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way.Described memory 35, for store quota request program code, storage quota granted program code, store the program code of described data, and control described processor 34 and complete the software program of above-mentioned steps, thereby make described processor 34 complete above-mentioned steps by carrying out above-mentioned software program and calling above-mentioned each program code.
Optionally, described processor 34, if also for described target data end without idle quota, by system bus 36, from communication interface 37, reply quotas refusal, it is not quota described in described data allocations that described quota refusal is used for characterizing described target data end.
Optionally, described processor 34, transmits specifically for described quota granted/described quota refusal being entrained in the header of Ethernet message.
Optionally, described processor 34, for being described in described data allocations after quota according to described quota request, after the first Preset Time, check in described quota, whether to be cached with described data, and if data described in buffer memory not in described quota, reclaim described quota.
Optionally, described processor 34, also, for after receiving described data, preserves described data to memory 35, and reclaims described quota.
Optionally, described processor 34, also for before receiving quota request, by system bus 36, sends and triggers quota request from communication interface 37, and described triggering quota request is used for triggering described source data end and sends described quota request.
Optionally, the described triggering quota request of described processor 34 transmissions comprises the effective time of idle quota amount and described triggering quota request.
Optionally, described processor 34, the described quota request receiving comprises the effective time of quota application amount and described quota application amount, for switch and described target data end retain described quota application amount the effective time of described quota application amount on the way described in asking.
Optionally, described processor 34, specifically for by system bus 36, receives urgent quota request from communication interface 37, described urgent quota request is buffer memory that the data of buffer memory in described source data end take described source data end while being greater than the first predetermined threshold value, and described source data end sends.
The target data end that the embodiment of the present invention provides can be for the equipment communicating by switch, as terminal equipments such as mobile phone, computers.
The embodiment of the present invention provides a kind of target data end, because source data end is before transferring data to data transmission device, source data end can be to switch and this data transmission device are this data quota application on the way, and when switch and this data transmission device have been this data allocations after quota on the way, source data end just starts to transmit this data, therefore, when transmitting data in prior art first " congested " afterwards the method for " management " compare, the target data end that the embodiment of the present invention provides has solved the problem of network congestion, has guaranteed the harmless transmission of data.
Embodiment five
As shown in figure 38, the embodiment of the present invention provides a kind of data transmission system, and this data transmission system can comprise source data end, at least one switch, target data end.
In the data transmission system providing in the embodiment of the present invention, the quantity of switch can be for one or more, wherein, the method that each switch in the plurality of switch is carried out is all identical with the method that the switch of describing in the present embodiment is carried out, therefore, in order conveniently clearly to describe the data transmission system that the embodiment of the present invention provides, the present embodiment is with in this data transmission system, only having a switch is example, this data transmission system is exemplarily described, the quantity of concrete switch can determine according to actual conditions, and the present invention is not restricted.
In the data transmission system providing in the embodiment of the present invention, source data end sends quota request to switch, this quota request is the data allocations quota that this source data end need be sent to target data end for asking switch and target data end, this quota is for these data of buffer memory, if available free quota in this switch, this switch is this data allocations quota, and forward this quota request to target data end, after target data termination is received this quota request, if available free quota in target data end, target data end is this data allocations quota, and reply the quota granted corresponding with this quota request to switch, after this switch receives this quota granted, forward this quota granted to source data end, quota that this quota granted sign switch and this target data end have been this data allocations, therefore after source data end is received this quota granted, source data end can directly transmit the data to switch, by this switch, forward these data to target data end, completed the transmission of these data.
It should be noted that, the data transmission system that the embodiment of the present invention provides can also be applied to the scene of a plurality of source data ends and a plurality of target data ends, between concrete source data end and target data end, transmit that between the method for data and the source data end described in above-described embodiment and target data end, to transmit the method for data similar, repeat no more herein.
The embodiment of the present invention provides a kind of data transmission system, by source data end, send quota request to switch, this quota request is the data allocations quota that this source data end need be sent to target data end for asking switch and target data end, this quota is for these data of buffer memory, if available free quota in this switch, this switch is this data allocations quota, and forward this quota request to target data end, after target data termination is received this quota request, if available free quota in target data end, target data end is this data allocations quota, and reply the quota granted corresponding with this quota request to switch, after this switch receives this quota granted, forward this quota granted to source data end, quota that this quota granted sign switch and this target data end have been this data allocations, therefore after source data end is received this quota granted, source data end can directly transmit the data to switch, by this switch, forward these data to target data end.By this scheme, because source data end is before transferring data to target data end, source data end can be to switch and target data end are this data quota application on the way, and when switch and target data end have been this data allocations after quota on the way, source data end just starts to transmit this data, therefore, when transmitting data in prior art first " congested " afterwards the method for " management " compare, the data transmission system that the embodiment of the present invention provides has solved the problem of network congestion, has guaranteed the harmless transmission of data.
Those skilled in the art can be well understood to, for convenience and simplicity of description, only the division with above-mentioned each functional module is illustrated, in practical application, can above-mentioned functions be distributed and by different functional modules, completed as required, the internal structure that is about to device is divided into different functional modules, to complete all or part of function described above.The system of foregoing description, the specific works process of device and unit, can, with reference to the corresponding process in preceding method embodiment, not repeat them here.
In the several embodiment that provide in the application, should be understood that, disclosed system, apparatus and method, can realize by another way.For example, device embodiment described above is only schematic, for example, the division of described module or unit, be only that a kind of logic function is divided, during actual realization, can have other dividing mode, for example a plurality of unit or assembly can in conjunction with or can be integrated into another system, or some features can ignore, or do not carry out.Another point, shown or discussed coupling each other or direct-coupling or communication connection can be by some interfaces, indirect coupling or the communication connection of device or unit can be electrically, machinery or other form.
The described unit as separating component explanation can or can not be also physically to separate, and the parts that show as unit can be or can not be also physical locations, can be positioned at a place, or also can be distributed in a plurality of network element.Can select according to the actual needs some or all of unit wherein to realize the object of the present embodiment scheme.
In addition, each functional unit in each embodiment of the present invention can be integrated in a processing unit, can be also that the independent physics of unit exists, and also can be integrated in a unit two or more unit.Above-mentioned integrated unit both can adopt the form of hardware to realize, and also can adopt the form of SFU software functional unit to realize.
If the form of SFU software functional unit of usining described integrated unit realizes and during as production marketing independently or use, can be stored in a computer read/write memory medium.Understanding based on such, the all or part of of the part that technical scheme of the present invention contributes to prior art in essence in other words or this technical scheme can embody with the form of software product, this computer software product is stored in a storage medium, comprise that some instructions are with so that a computer equipment (can be personal computer, server, or the network equipment etc.) or processor (processor) carry out all or part of step of method described in each embodiment of the present invention.And aforesaid storage medium comprises: USB flash disk, portable hard drive, read-only memory (ROM, Read-Only Memory), the various media that can be program code stored such as random access memory (RAM, Random Access Memory), magnetic disc or CD.
The above; be only the specific embodiment of the present invention, but protection scope of the present invention is not limited to this, is anyly familiar with those skilled in the art in the technical scope that the present invention discloses; can expect easily changing or replacing, within all should being encompassed in protection scope of the present invention.Therefore, protection scope of the present invention should be as the criterion by the described protection range with claim.

Claims (47)

1. a data transmission method, is characterized in that, comprising:
Source data end sends quota request, described quota request is the data allocations quota that described source data end need be sent to described target data end for asking switch and target data end on the way, described quota is for data described in buffer memory, and described switch on the way comprises all switches that need pass through from described source data end to described target data end;
Described source data termination is received the quota response corresponding with described quota request, and described quota responds described in being used for characterizing whether switch and described target data end be quota described in described data allocations on the way;
If switch and described target data end are quota described in described data allocations on the way described in the response of described quota characterizes, described source data end sends described data.
2. data transmission method according to claim 1, is characterized in that, described method also comprises:
If a switch in switch or described target data end are not quota described in described data allocations on the way described in the response of described quota characterizes, described source data end resends described quota request.
3. data transmission method according to claim 1 and 2, is characterized in that,
Described quota response is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way, and described in characterizing, a switch or the described target data end of switch are not quota described in described data allocations to described quota refusal on the way.
4. data transmission method according to claim 2, is characterized in that, described data are the message queue being comprised of a plurality of Ethernet messages, and described quota request comprises quota application amount,
Wherein, described source data end resends described quota request, comprising:
In the quota application amount of described source data end from described quota request, deduct the quota application amount that the first Ethernet message needs, to obtain the first quota application amount, described the first Ethernet message is the message that is positioned at described message queue tail of the queue;
Described source data end resends described quota request, and described quota request comprises described the first quota application amount.
5. data transmission method according to claim 4, it is characterized in that, if the quota application amount in described quota request is the quota application amount that the second Ethernet message needs, described the second Ethernet message is the message that is positioned at described message queue head of the queue, described source data end resends described quota request, comprising:
In the time after described source data end receives described quota refusal at every turn, described source data end resends described quota request.
6. data transmission method according to claim 2, is characterized in that, described data comprise a plurality of Ethernet messages, and described quota request comprises quota application amount,
Wherein, described source data end resends described quota request, comprising:
Described source data end resends described quota request, and described quota request comprises the quota application amount of described a plurality of Ethernet message needs.
7. data transmission method according to claim 1, is characterized in that, described method also comprises:
In described source data end sends the first Preset Time after described quota request, if described source data end does not receive described quota response, described source data end, after described the first Preset Time, resends described quota request.
8. according to the data transmission method described in claim 1-7 any one, it is characterized in that, described source data end sends described data, comprising:
Described source data end is in the second Preset Time receiving after described quota responds, and described source data end sends described data.
9. according to the data transmission method described in claim 1 or 3-8 any one, it is characterized in that, before described source data end sends quota request, described method also comprises:
Described source data termination is received and is triggered quota request, and described triggering quota request is used for triggering described source data end and sends described quota request;
Wherein, described source data end sends quota request, comprising:
Described source data end, according to described triggering quota request, sends described quota request.
10. data transmission method according to claim 9, is characterized in that,
Described triggering quota request comprises the effective time of idle quota amount and described triggering quota request.
11. according to the data transmission method described in claim 4-10 any one, it is characterized in that,
In described quota request, also comprise the effective time of described quota application amount, for switch and described target data end retain described quota application amount the effective time of described quota application amount described in asking on the way.
12. data transmission methods according to claim 1, is characterized in that, when the buffer memory that the data of buffer memory take described source data end in described source data end is greater than the first predetermined threshold value, described quota request is urgent quota request,
Wherein, described source data end sends quota request; Described source data termination is received the quota response corresponding with described quota request, comprising:
Described source data end sends described urgent quota request;
Described source data termination is received the described quota response corresponding with described urgent quota request.
13. 1 kinds of data transmission methods, is characterized in that, comprising:
The first switch receives quota request, described quota request is the data allocations quota that source data end need be sent to described target data end for asking switch and target data end on the way, described quota is for data described in buffer memory, described switch on the way comprises all switches that need pass through from described source data end to described target data end, and described the first switch is a switch in described switch on the way;
If available free quota in described the first switch, described the first switch:
According to described quota request, be quota described in described data allocations, and forward described quota request;
Receive the quota corresponding with described quota request response, and forward described quota response, described in described quota response is used for characterizing, whether switch and described target data end are quota described in described data allocations on the way;
Receive described data, and forward described data, described data for when described in the response of described quota characterizes on the way switch and described target data end be described in described data allocations during quota, described source data end transmission.
14. data transmission methods according to claim 13, is characterized in that, described method also comprises:
If in described the first switch without idle quota, described the first switch is replied the first quota refusal corresponding with described quota request, and abandoning described quota request, it is not quota described in described data allocations that described the first quota refusal is used for characterizing described the first switch.
15. according to the data transmission method described in claim 13 or 14, it is characterized in that,
Described quota response is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way, and described in characterizing, a switch or the described target data end of switch are not quota described in described data allocations to described quota refusal on the way.
16. according to the data transmission method described in claim 13-15 any one, it is characterized in that, described the first switch is described in described data allocations after quota according to described quota request, and described method also comprises:
After the first Preset Time, described the first switch checks in described quota, whether to be cached with described data;
If data described in buffer memory not in described quota, described the first switch reclaims described quota.
17. according to the data transmission method described in claim 13-16 any one, it is characterized in that, after described the first switch forwards described data, described method also comprises:
Described the first switch reclaims described quota.
18. according to the data transmission method described in claim 15-17 any one, it is characterized in that, if the response of described quota is described quota refusal, described method also comprises:
Described the first switch reclaims described quota.
19. according to the data transmission method described in claim 13 or 15-18 any one, it is characterized in that, before described the first switch receives quota request, described method also comprises:
Described the first switch receives and triggers quota request, and described triggering quota request is used for triggering described source data end and sends described quota request, and described triggering quota request comprises the effective time of idle quota amount and described triggering quota request;
Described the first switch forwards described triggering quota request.
20. according to the data transmission method described in claim 13-19 any one, it is characterized in that,
Described quota request comprises the effective time of quota application amount and described quota application amount, for switch and described target data end retain described quota application amount the effective time of described quota application amount on the way described in asking.
21. data transmission methods according to claim 13, is characterized in that, described the first switch receives quota request, comprising:
Described the first switch receives urgent quota request, and described urgent quota request is buffer memory that the data of buffer memory in described source data end take described source data end while being greater than the first predetermined threshold value, and described source data end sends.
22. data transmission methods according to claim 21, is characterized in that, described method also comprises:
If in described the first switch without idle quota, described the first switch:
Record described urgent quota request, and forward described urgent quota request;
Receive the described quota response corresponding with described urgent quota request;
While there is idle quota in described the first switch, according to described urgent quota request, be quota described in described data allocations;
When described in the response of described quota characterizes on the way switch and described target data end be described in described data allocations during quota, forward described quota response, and receive described data, and forward described data, or,
When the response of described quota characterizes described target data end, be described in described data allocations during quota, forward described quota and respond, reclaim described quota.
23. data transmission methods according to claim 22, is characterized in that, described method also comprises:
When the response of described quota characterize between described the first switch and described target data end, need through all switches and described target data end be quota described in described data allocations, and described the first switch is not described in described data allocations during quota, described the first switch:
According to described quota response, allocation of quota sign is set, and abandon the response of described quota, described allocation of quota sign for identify between described the first switch and described target data end, need through all switches and described target data end be quota described in described data allocations
Waiting in described the first switch and occurring after idle quota, according to described urgent quota request, is quota described in described data allocations,
Generate quota granted, and send described quota granted, described quota granted for characterize between described the first switch, described the first switch and described target data end, need through all switches and described target data end be quota described in described data allocations,
Receive described data, and forward described data; Or,
When the response of described quota characterizes described target data end, be quota described in described data allocations, and described the first switch is not described in described data allocations during quota, described the first switch forwards described quota and responds, and abandons described urgent quota request.
24. 1 kinds of data transmission devices, is characterized in that, comprising:
Transmitting element, be used for sending quota request, described quota request is the data allocations quota that described data transmission device need be sent to described target data end for asking switch and target data end on the way, described quota is for data described in buffer memory, and described switch on the way comprises all switches that need pass through from described data transmission device to described target data end;
Receiving element, for receiving quota response corresponding to described quota request sending with described transmitting element, described in described quota response is used for characterizing, whether switch and described target data end are quota described in described data allocations on the way;
Described transmitting element, if the described quota response also receiving for described receiving element characterize described on the way switch and described target data end be quota described in described data allocations, send described data.
25. data transmission devices according to claim 24, is characterized in that,
Described transmitting element, if the described quota response also receiving for described receiving element characterize described on the way a switch of switch or described target data end be not quota described in described data allocations, resend described quota request.
26. according to the data transmission device described in claim 24 or 25, it is characterized in that,
The described quota response that described receiving element receives is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, switch and described target data end are quota described in described data allocations on the way, and described in characterizing, a switch or the described target data end of switch are not quota described in described data allocations to described quota refusal on the way.
27. data transmission devices according to claim 25, it is characterized in that, described data transmission device also comprises processing unit, and described data are the message queue being comprised of a plurality of Ethernet messages, the quota request that described transmitting element sends comprises quota application amount
Wherein, described processing unit, the quota application amount needing for deducting the first Ethernet message the quota application amount from described quota request, to obtain the first quota application amount, described the first Ethernet message is the message that is positioned at described message queue tail of the queue;
Described transmitting element, specifically for resending described quota request, described quota request comprises described the first quota application amount.
28. data transmission devices according to claim 27, is characterized in that,
Described transmitting element, if be the quota application amount that the second Ethernet message needs specifically for the quota application amount in described quota request, described the second Ethernet message is the message that is positioned at described message queue head of the queue,, in the time after described receiving element receives described quota refusal at every turn, resend described quota request.
29. data transmission devices according to claim 25, is characterized in that, described data comprise a plurality of Ethernet messages, and the described quota request that described transmitting element sends comprises quota application amount,
Wherein, described transmitting element, specifically for resending described quota request, described quota request comprises the quota application amount of described a plurality of Ethernet message needs.
30. data transmission devices according to claim 24, is characterized in that,
Described transmitting element, also in the first Preset Time after sending described quota request, if described receiving element does not receive described quota response,, after described the first Preset Time, resends described quota request.
31. according to the data transmission device described in claim 24-30 any one, it is characterized in that,
Described transmitting element, specifically for receiving at described receiving element in the second Preset Time after described quota response, sends described data.
32. according to the data transmission device described in claim 24 or 26-31 any one, it is characterized in that,
Described receiving element, also, for before sending quota request at described transmitting element, receives and triggers quota request, and described triggering quota request is used for triggering described data transmission device and sends described quota request;
Wherein, described transmitting element, the described triggering quota request specifically for receiving according to described receiving element, sends described quota request.
33. data transmission devices according to claim 32, is characterized in that,
The described triggering quota request that described receiving element receives comprises the effective time of idle quota amount and described triggering quota request.
34. according to the data transmission device described in claim 27-33 any one, it is characterized in that,
The effective time that also comprises described quota application amount in the described quota request that described transmitting element sends, for switch and described target data end retain described quota application amount the effective time of described quota application amount on the way described in asking.
35. data transmission devices according to claim 24, is characterized in that,
Described transmitting element, when the buffer memory that takies described data transmission device specifically for the data of buffer memory in described data transmission device is greater than the first predetermined threshold value, sends urgent quota request;
Described receiving element, specifically for receiving described quota response corresponding to described urgent quota request sending with described transmitting element.
36. 1 kinds of data transmission devices, is characterized in that, comprising:
Receiving element, be used for receiving quota request, and the reception quota response corresponding with described quota request, and reception sources data terminal need be sent to the data of target data end, it is described data allocations quota that described quota request is used for asking data transmission device and described target data end on the way, described quota is for data described in buffer memory, described data transmission device on the way comprises all data transmission devices that need pass through from described source data end to described target data end, described data transmission device is a data transmission device in described data transmission device on the way, described in the response of described quota is used for characterizing, whether data transmission device and described target data end are quota described in described data allocations on the way, described data are for when described in described quota response sign, data transmission device and described target data end are described in described data allocations during quota on the way, described source data end sends,
Allocation units, if for the available free quota of described data transmission device, the described quota request receiving according to described receiving element is quota described in described data allocations;
Described transmitting element, for forwarding described quota request, and forwards described quota response, and forwards described data.
37. data transmission devices according to claim 36, is characterized in that, described data transmission device also comprises discarding unit,
Described transmitting element, if also for described data transmission device without idle quota, reply the first quota refusal corresponding to described quota request receiving with described receiving element, it is not quota described in described data allocations that described the first quota refusal is used for characterizing described data transmission device;
Described discarding unit, the described quota request receiving for abandoning described receiving element.
38. according to the data transmission device described in claim 36 or 37, it is characterized in that,
The described quota response that described receiving element receives is quota granted or quota refusal, wherein,
Described in described quota granted is used for characterizing, data transmission device and described target data end are quota described in described data allocations on the way, and described in characterizing, a data transmission device or the described target data end of data transmission device are not quota described in described data allocations to described quota refusal on the way.
39. according to the data transmission device described in claim 36-38 any one, it is characterized in that, described data transmission device also comprises processing unit,
Described processing unit, for being described in described data allocations after quota according to described quota request at described allocation units, after the first Preset Time, check in described quota, whether to be cached with described data, if and data described in buffer memory not in described quota, reclaim described quota.
40. according to the data transmission device described in claim 39, it is characterized in that,
Described processing unit, also, for after described transmitting element forwards described data, reclaims described quota.
41. according to the data transmission device described in claim 39 or 40, it is characterized in that,
Described processing unit, if the described quota response also receiving for described receiving element is for described quota refusal, reclaims described quota.
42. according to the data transmission device described in claim 36 or 38-41 any one, it is characterized in that,
Described receiving element, also for before receiving quota request, receive and trigger quota request, described triggering quota request is used for triggering described source data end and sends described quota request, and described triggering quota request comprises the effective time of idle quota amount and described triggering quota request;
Described transmitting element, the described triggering quota request also receiving for forwarding described receiving element.
43. according to the data transmission device described in claim 36-42 any one, it is characterized in that,
The described quota request that described receiving element receives comprises the effective time of quota application amount and described quota application amount, for data transmission device and described target data end retain described quota application amount the effective time of described quota application amount on the way described in asking.
44. data transmission devices according to claim 36, is characterized in that,
Described receiving element, specifically for receiving urgent quota request, described urgent quota request is buffer memory that the data of buffer memory in described source data end take described source data end while being greater than the first predetermined threshold value, described source data end sends.
45. according to the data transmission device described in claim 44, it is characterized in that, described data transmission device also comprises processing unit,
Described processing unit, if be used for described data transmission device without idle quota, record the described urgent quota request that described receiving element receives, and when corresponding with described urgent quota request, it is not described in described data allocations during quota that the described quota response that described receiving element receives characterizes described target data end, reclaims described quota;
Described transmitting element, the described urgent quota request also receiving for forwarding described receiving element, and described in the described quota response receiving when described receiving element characterizes, data transmission device and described target data end are described in described data allocations during quota on the way, forward described quota response, and forward described data;
Described receiving element, also for receiving described quota response, and receives described data;
Described allocation units, also for when idle quota appears in described data transmission device, the described urgent quota request receiving according to described receiving element, is quota described in described data allocations.
46. according to the data transmission device described in claim 45, it is characterized in that, described data transmission device also comprises discarding unit,
Described processing unit, also for the described quota response receiving when described receiving element characterize between described data transmission device and described target data end, need through all data transmission devices and described target data end be quota described in described data allocations, and described data transmission device is not described in described data allocations during quota, according to described quota response, allocation of quota sign is set, and generate quota granted, described allocation of quota sign for identify between described data transmission device and described target data end, need through all switches and described target data end be quota described in described data allocations, described quota granted is used for characterizing described data transmission device, between described data transmission device and described target data end, need through all data transmission devices and described target data end be quota described in described data allocations,
Described discarding unit, the described quota response receiving for abandoning described receiving element,
Described allocation units, also for waiting for that described data transmission device occurs after idle quota, the described urgent quota request receiving according to described receiving element, is quota described in described data allocations,
Described receiving element, also for receiving described data,
Described transmitting element, also for sending described quota granted, and forwards the described data that described receiving element receives; Or,
Described transmitting element, be also quota described in described data allocations for characterize described target data end when the response of described quota, and described data transmission device is not described in described data allocations during quota, forward described quota and respond,
Described discarding unit, the described urgent quota request receiving for abandoning described receiving element.
47. 1 kinds of data transmission systems, is characterized in that, comprising:
Data transmission device as described in claim 24-35 any one, at least one data transmission device as described in claim 36-46 any one, and target data end,
Wherein, described data transmission device as described in claim 24-35 any one is source data end, described at least one data transmission device as described in claim 36-46 any one is switch, between described source data end and described target data end by described switch transmission data.
CN201410234515.8A 2014-05-29 2014-05-29 Data transmission method, apparatus and system Pending CN104022961A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410234515.8A CN104022961A (en) 2014-05-29 2014-05-29 Data transmission method, apparatus and system
PCT/CN2014/091382 WO2015180426A1 (en) 2014-05-29 2014-11-18 Data transmission method, device, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410234515.8A CN104022961A (en) 2014-05-29 2014-05-29 Data transmission method, apparatus and system

Publications (1)

Publication Number Publication Date
CN104022961A true CN104022961A (en) 2014-09-03

Family

ID=51439535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410234515.8A Pending CN104022961A (en) 2014-05-29 2014-05-29 Data transmission method, apparatus and system

Country Status (2)

Country Link
CN (1) CN104022961A (en)
WO (1) WO2015180426A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104917694A (en) * 2015-06-15 2015-09-16 上海斐讯数据通信技术有限公司 Flow control method based on priority
WO2015180426A1 (en) * 2014-05-29 2015-12-03 华为技术有限公司 Data transmission method, device, and system
CN113852589A (en) * 2020-06-28 2021-12-28 华为技术有限公司 Method, apparatus and medium for data transmission and data reception

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597075B (en) * 2020-12-28 2023-02-17 成都海光集成电路设计有限公司 Cache allocation method for router, network on chip and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050240681A1 (en) * 2004-04-27 2005-10-27 Hitachi, Ltd. Communication device, storage system and a communication method
KR20090047426A (en) * 2009-04-16 2009-05-12 정영삼 The methodology of transmmting live data that uses p2p relays and server's resource concurrently
CN102377662A (en) * 2010-08-25 2012-03-14 北京中星微电子有限公司 Routing cache negotiation method and system facing to bandwidth adaptation in video monitoring
JP2012100165A (en) * 2010-11-04 2012-05-24 Tokyo Broadcasting System Television Inc Data transmission system and multi-point data distribution system
CN103840910A (en) * 2012-11-22 2014-06-04 深圳市腾讯计算机系统有限公司 Data transmission control method and apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE50014591D1 (en) * 2000-11-27 2007-10-04 Siemens Ag Bandwidth reservation in data networks
US9813529B2 (en) * 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
CN102447736B (en) * 2011-11-17 2013-12-18 华中科技大学 Management and control method for user quota in multi-network storage system
CN104022961A (en) * 2014-05-29 2014-09-03 华为技术有限公司 Data transmission method, apparatus and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050240681A1 (en) * 2004-04-27 2005-10-27 Hitachi, Ltd. Communication device, storage system and a communication method
KR20090047426A (en) * 2009-04-16 2009-05-12 정영삼 The methodology of transmmting live data that uses p2p relays and server's resource concurrently
CN102377662A (en) * 2010-08-25 2012-03-14 北京中星微电子有限公司 Routing cache negotiation method and system facing to bandwidth adaptation in video monitoring
JP2012100165A (en) * 2010-11-04 2012-05-24 Tokyo Broadcasting System Television Inc Data transmission system and multi-point data distribution system
CN103840910A (en) * 2012-11-22 2014-06-04 深圳市腾讯计算机系统有限公司 Data transmission control method and apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015180426A1 (en) * 2014-05-29 2015-12-03 华为技术有限公司 Data transmission method, device, and system
CN104917694A (en) * 2015-06-15 2015-09-16 上海斐讯数据通信技术有限公司 Flow control method based on priority
CN113852589A (en) * 2020-06-28 2021-12-28 华为技术有限公司 Method, apparatus and medium for data transmission and data reception
CN113852589B (en) * 2020-06-28 2023-10-24 华为技术有限公司 Method, apparatus and medium for data transmission and data reception

Also Published As

Publication number Publication date
WO2015180426A1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
KR102233104B1 (en) Information transmission method and device
KR100875739B1 (en) Apparatus and method for packet buffer management in IP network system
EP3531620B1 (en) Method for processing message in hybrid access network, and network device
US7953024B2 (en) Fast credit system
CN113014528B (en) Message processing method, processing unit and virtual private network server
CN106953797B (en) RDMA data transmission method and device based on dynamic connection
CN109218222B (en) Method, device and system for realizing speed regulation of sending end
US11252099B2 (en) Data stream sending method and system, and device
WO2019105317A1 (en) Method for sending service packet, network device, and system
CN104022961A (en) Data transmission method, apparatus and system
CN105141603A (en) Communication data transmission method and system
JP7046983B2 (en) Packet transmission method and equipment
CN107786464B (en) Method and device for realizing communication between nodes
CN102611630A (en) Message receiving control method and system
US8054847B2 (en) Buffer management in a network device
US20190075058A1 (en) Weighted fair queueing using severity-based window in reliable packet delivery network
CN105939282A (en) Method and device for adjusting group size
CN115176453A (en) Message caching method, memory distributor and message forwarding system
CN103051612B (en) Fire compartment wall and prevent method of network attack
CN106797626A (en) A kind of beep-page message sending method and equipment
EP3562108B1 (en) Load sharing between hybrid tunnels
CN116684354A (en) Network flow congestion management device and method thereof
CN104426866A (en) Data transmission method and apparatus
CN116260887A (en) Data transmission method, data transmission device, data reception device, and storage medium
WO2023125430A1 (en) Traffic management apparatus, packet caching method, chip, and network device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140903

RJ01 Rejection of invention patent application after publication