CN102025645B - Method for scheduling data in peer-to-peer network - Google Patents

Method for scheduling data in peer-to-peer network Download PDF

Info

Publication number
CN102025645B
CN102025645B CN201010623255A CN201010623255A CN102025645B CN 102025645 B CN102025645 B CN 102025645B CN 201010623255 A CN201010623255 A CN 201010623255A CN 201010623255 A CN201010623255 A CN 201010623255A CN 102025645 B CN102025645 B CN 102025645B
Authority
CN
China
Prior art keywords
node
service
fragment
service node
data
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.)
Expired - Fee Related
Application number
CN201010623255A
Other languages
Chinese (zh)
Other versions
CN102025645A (en
Inventor
刘文冈
李继优
曹明明
彭宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
UTStarcom Telecom Co Ltd
Original Assignee
UTStarcom Telecom 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 UTStarcom Telecom Co Ltd filed Critical UTStarcom Telecom Co Ltd
Priority to CN201010623255A priority Critical patent/CN102025645B/en
Publication of CN102025645A publication Critical patent/CN102025645A/en
Application granted granted Critical
Publication of CN102025645B publication Critical patent/CN102025645B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a method for scheduling data in a peer-to-peer (P2P) network. The P2P network is used for exchanging stream media data. According to the method, all data section requests transmitted to each P2P node which serves a scheduling period in the scheduling period are pre-collected so as to concentratedly schedule all the P2P nodes to reduce control overhead in the data request process; furthermore, the method provided by the invention determines an emergency scheduling method or a balance scheduling method used in a corresponding data scheduling period on the basis of the data requirement emergency degree of the nodes. The P2P data scheduling method can make full use of the advantages of the emergency scheduling method and the balance scheduling method in the periodic data scheduling process; and the two methods are combined together to find out and maximize the performance of a P2P group, improve the data exchanging efficiency, reduce the data exchanging redundancy and relieve the network burden.

Description

A kind of method that is used for carrying out data dispatch at peer-to-peer network
Technical field
Relate generally to multimedia network communication technical field of the present invention relates more specifically to utilize the data dispatching method in the stream medium data exchange process of peer-to-peer network (P2P network).
Background technology
P2P (Peer-to-Peer) technology is claimed the peer-to-peer network technology again, and as a kind of network new technology, it is one of current research focus.This technology makes full use of participant's in the network computing capability and bandwidth, rather than all accumulates on less several station servers relying on.The P2P network typically comes connected node through Ad Hoc mode.Compare with C/S (client/server) computation schema early, so reciprocity computation schema does not have the difference of tangible client and server, can think that its any end has the function of client and server simultaneously.Through P2P, the user can be directly connected to other user's computer and carry out exchange files, rather than must be connected to server as before and go to browse and download this convenient explosive increase that will promote internet content.
Streaming Media is meant on data network in chronological sequence order transmission and continuant, the video data stream play.Streaming media data stream has 3 characteristics: continuity, real-time, sequential property, promptly its data flow has strict front and back sequential relationship.Because these characteristics of Streaming Media, it has become the main mode of real-time Transmission sound, video on the internet.C/S model is mostly adopted in traditional streaming media service, and promptly the user clicks from streaming media server and watches program, and streaming media server is pushed to the user to Media Stream with mode of unicast then.After streaming media service develops into certain phase; Total number of users increases considerably; This C/S model adds the defective that mode of unicast pushes Media Stream and just displays significantly; For example the streaming media server bandwidth occupancy is big, the requirement of streaming media server disposal ability is high, and bandwidth, server etc. usually becomes system bottleneck, the poor expandability of system.
In recent years, people are incorporated into the P2P technology and have formed the P2P stream media technology in the Streaming Media transmission.The exchange of the stream medium data of traditional relatively C/S model can adapt to more massive user's request based on the stream medium data exchanged form of P2P mode, can give full play to simultaneously and utilize limited Internet resources.Need realize the management of P2P network node, the data dispatch of P2P network node, the major functions such as communication protocol of P2P network node based on the stream medium data switching network of P2P mode; Wherein the data dispatch problem is based on the important challenge that the stream medium data exchange of P2P mode need face; The good and bad directly influence of data dispatching method directly influences user's experience based on the performance and the efficient of the stream medium data exchange of P2P mode.
The data dispatching method that uses in the stream medium data switching network of great majority based on the P2P mode is at present paid attention to the request of individual data fragment or is paid attention to the window request of a dispatching cycle; The request of individual data fragment has brought a large amount of relatively control expenses; Too rely on the window request of a dispatching cycle for counsel and ignored the combination of continuous dispatching between the cycle; Cause waste of network resources easily, backbone network is formed impact especially easily.
Summary of the invention
The objective of the invention is in utilizing the Streaming Media transmission course of P2P network, to find and maximize P2P crowd's performance, improve the efficient of exchanges data, can reduce the redundant of exchanges data simultaneously and alleviate network burden.
For realizing above-mentioned purpose; The invention provides a kind of method that is used for carrying out data dispatch at the P2P network; Said P2P network is used to the stream medium data exchange, and said P2P network comprises the service node of local node and a plurality of equities, and wherein said local node is from said a plurality of service node receiving stream media data slots; It is characterized in that, said method comprising the steps of: a. local node is assessed the service ability of said a plurality of service nodes; B. its fragment buffering area of local node scanning is confirmed the scheduling window of treating in the current dispatching cycle; C. the local node fragment and said of calculating local current broadcast treat scheduling window interior from the fragment of this current broadcast nearest treat the side-play amount between the schedule fragment; D. said side-play amount and urgent line threshold ratio and according to said comparative result are confirmed saidly to treat the order standard of treating the schedule fragment set in the scheduling window and treat schedule fragment for each and choose the constraints that service node is gathered; E. local node is treated schedule fragment set according to said the treating of determined order standard descending in the scheduling window; F. treat schedule fragment according to determined constraints for each and choose the service node set; G. local node treats that with each the pairing service node of schedule fragment is merged into total service node set; H. local node forms with said treating to each service node in the said total service node set and treats schedule fragment set corresponding download request set in the scheduling window; I. local node sends said download request set to corresponding service node; J. local node receives from the fragment data of said service node and upgrades said fragment buffering area.
Preferably, in steps d, if said comparative result be said side-play amount less than said urgent line threshold value, then said order standard is confirmed as the urgency level of treating schedule fragment.Preferably, said urgency level can be defined as and treat schedule fragment to leave the fragment of said current broadcast more closely then urgency level is high more.
Preferably, in steps d, if said comparative result be said side-play amount greater than said urgent line threshold value, then said order standard is confirmed as the rare degree of treating schedule fragment.Preferably, said rare degree can be defined as that to hold the rare more at least degree of the service node of treating schedule fragment high more.Preferably, under the identical situation of the rare degree of treating schedule fragment, in step e by the said schedule fragment of treating of said urgency level descending.
Preferably, in steps d, if said comparative result be said side-play amount less than said urgent line threshold value, then said constraints is confirmed as urgent constraints.
Preferably, for the single schedule fragment i that treats, said urgent constraints can comprise the following: service node is selected in (1) from all service nodes of intactly holding fragment i; (2) quantity of selected service node must not surpass predetermined thresholding; (3) selected service node provides the summation of the ability of service must not surpass the descending service ability of local node to local node; (4) set of selected service node is to satisfy condition the set of maximum service ability can be provided in (1) to the set of (3).
Preferably, in steps d, in the service node set of satisfying said urgent constraints, select the maximum service node set of number of nodes.
Preferably, in steps d, in the service node set of satisfying said urgent constraints, select to comprise quantity maximum, before dispatching cycle in through the set of the service node of assessment.
Preferably, in steps d, if said comparative result be said side-play amount greater than said urgent line threshold value, then said constraints is confirmed as balance constraints.
Preferably, for the single schedule fragment i that treats, wherein said balance constraints comprises the following: service node is selected in (1) from all service nodes of intactly holding fragment i; (2) quantity of selected service node must satisfy predetermined value; (3) selected service node provides the summation of the ability of service must not surpass the descending service ability of local node to local node; (4) set of selected service node is to satisfy condition the set of minimum service ability can be provided in (1) to the set of (3).
Preferably, in steps d, in the service node set of satisfying said urgent constraints, select to comprise quantity set maximum, that do not have the service node of process assessment in dispatching cycle before.
Preferably, in said step a according to the historical record of service ability and or the multinomial service ability of assessing said service node in the actual reception data of last dispatching cycle.
Preferably, one or the multinomial service ability of assessing said service node in the service ability that in said step a, in current dispatching cycle, reports according to the historical record and the said service node of service ability.
Preferably, the service ability of said service node can be defined as the upload bandwidth of said service node.Preferably, said stream medium data comprises sound stream, video flowing, text flow and image streams.
Collect all the data slot requests that to send to each P2P node in the dispatching cycle according to the method for the invention in advance for this service dispatching cycle; Thus all these P2P nodes are carried out centralized dispatching, thereby reduced the control expense in the data request process.This centralized dispatching is directed against the real needs of different dispatching cycles and uses two kinds of different dispatching algorithms neatly, when guaranteeing QoS of customer, has reduced waste of network resources.
To combine concrete embodiment to describe method of the present invention below.
Description of drawings
Aforementioned and other targets of the present invention, feature and advantage will be according to being conspicuous in the face of the explanation more specifically of embodiments of the invention down, and these embodiment are illustrated in the accompanying drawings.
Fig. 1 is the flow chart according to the data dispatching method of the P2P network that is used to carry out the stream medium data exchange of the present invention.
Fig. 2 is the further flow chart that is used at the data dispatching method of the P2P network that carries out the stream medium data exchange according to the present invention.
Fig. 3 carries out the sketch map of an embodiment of data dispatch in utilizing the stream medium data exchange process of P2P network for method shown in Figure 2.
Fig. 4 carries out the sketch map of another embodiment of data dispatch in utilizing the stream medium data exchange process of P2P network for method shown in Figure 2.
Embodiment
Below in conjunction with accompanying drawing and embodiment further explain the utility model.Need to prove that each structure in the accompanying drawing is a schematic illustration, with so that those of ordinary skills understand principle of the present invention best, it is not necessarily drawn in proportion.
Though it should be understood that in following explanation and explain embodiments of the invention by concrete peer network architecture, method provided by the invention is applicable to any peer network architecture existing or that develop in the future.In addition, though in following explanation be the exchange process of free flow media data in peer-to-peer network the example with the video data, scope of the present invention should not be subject to this, and it is applicable to the stream medium data of any kind.In addition, the node in the P2P network can be such as any main process equipments that can be used for making up the P2P network such as desktop computer, laptop computer, personal digital assistant (PDA), mobile phone, server computers.
Fig. 1 is 100 a flow chart according to the method for the invention.Said method is applicable to the scene of in the P2P network, carrying out the stream medium data exchange process; For example a node in the P2P network is just being carried out the task (this node can be called as local node) of online playing video on its main process equipment, thereby it need continuous other peer node from network download the video data (these peer node are service node with respect to said local node) that will be play in the process of video playback.In such data exchange process; Local node generally can disposablely not download to all contents that need play on its main process equipment; Because this will need the user to wait for for a long time and need take a large amount of Internet resources, especially under the very large situation of amount that needs are play.Routinely, local node employing mode in batches download a part of data, and downloading process each time is a dispatching cycle from the service node data download at every turn.Required video data can be divided into equal-sized video data fragment.Local node obtains the said fragment of equal amount or unequal number amount from service node in each dispatching cycle, the data that obtained are right after after current in progress content on the memory of being watched or be stored in main process equipment by the user and watch for follow-up.Even under the good situation of network condition,, also probably cause owing to the be not in time broadcast that produces of data is not smooth if do not use appropriate dispatching algorithm.In the process of online playing video, local node can be in each dispatching cycle method for using 100, thereby realize data dispatch efficiently, when not taking too much Internet resources, make the user can watch video glibly.
In said method 100, local node is at first assessed the service ability of a plurality of service nodes in the network when begin each dispatching cycle, shown in step S10.In practice, local node usually can not assessed all service nodes in the network, but the node that carried out exchanges data before with it is assessed.In addition, local node also can be assessed the node in the new adding network.This assessment can be carried out with several different methods, and can utilize various tolerance.For instance, each service node of participating in this data dispatch process initially can need the local node of data to report the metric of himself service ability from trend.Said metric can be a upload bandwidth for example, is assumed to 1Mbps.This initial metric of local node record, and in current dispatching cycle, be worth according to this and choose service node, what adopt for the node in the new adding network is exactly this strategy.When begin next dispatching cycle, local node will be gone up in one-period and should compare from its data volume of receiving with actual from the data volume that selected service node is received.If actual value less than desired value, is then turned down the service ability metric of this node, for example transfer to 0.9Mbps from 1Mbps; Otherwise, then the service ability metric is heightened, for example from 1Mbps modulation 1.1Mbps.Through the metric of adjustment will in the current cycle, be used to select service node and be used for by record after cycle assess the service ability of node.In fact, some node maybe be in certain several dispatching cycle deviated from network and no longer participate in data dispatch, but local node will keep the record to the service ability of these nodes equally, when they return network once more, to use.In this case, can historical record be combined to assess with the service ability that such service node reports when adding network once more.It should be understood that in the description in front with the upload bandwidth to be the evaluation process that example has been explained service ability, but any other appropriate metric parameter can be used also.
In step S11, local node its fragment buffering area of scanning also confirms to treat scheduling window.The said scheduling window of treating is included in all fragments that need be scheduled in the current dispatching cycle.This scheduling window can be isometric, has promptly comprised the schedule fragment of treating of equal amount.In practice, which node is intactly held these fragments (not shown in Fig. 1) in the service node that when confirming to treat schedule fragment, also will confirm to be assessed.In method 100; Can use any suitable method well known in the art to confirm to hold the node of required fragment; And all are mentioned to treating that schedule fragment chooses the place of service node below the supposition, all are from the service node with this fragment, to select.
Then, in step S12, calculate current in progress fragment with treat to leave in the scheduling window this fragment nearest treat the side-play amount between the schedule fragment.Usually, between each node in network each fragment in the same video data is had unified numbering, this numbering can be represented the broadcast sequencing of each fragment.Treat that the set of segments in the scheduling window normally arranges by this number order, promptly the nearest schedule fragment of treating of fragment from current broadcast comes the foremost, and last from the fragment of current broadcast coming farthest.Therefore, in practical operation, usually can directly calculate and treat that in the scheduling window first treat that numbering difference between the fragment of schedule fragment and current broadcast is as said side-play amount.
Then, local node with this side-play amount and urgent line threshold ratio, shown in S13.Can come in advance to confirm said urgent line threshold value and it is stored in the local node according to network condition, joint behavior, stream medium data type.With said side-play amount and this urgent line threshold ratio, just can confirm the urgent degree of the desired task of current dispatching cycle.According to this comparative result (being that the urgent degree of task is high or low), can trigger different scheduling strategies, and different scheduling strategies is corresponding to different fragment order standards and service joint constraint condition.Usually, when the urgent degree of task is high, can adopt usually to make local node receive the scheduling strategy of the fragment of urgent need at first and the most reliably.When the urgent degree of task is low, then can formulate scheduling strategy according to the needs of different local nodes, for example can adopt to make data exchange process take minimal network resource or the minimum strategy of node control expense.In addition, can also adopt a plurality of urgent line threshold values that the urgent degree of task is further segmented, for example in a dispatching cycle, need under the more situation of the fragment of scheduling.
In case confirmed to treat the order standard of schedule fragment and treat schedule fragment for each and choose the constraints of service node that method 100 just begins service node is carried out uniform dispatching.The so-called uniform dispatching meaning is exactly after the service ability of all enabled nodes of comprehensive consideration, to treat schedule fragment for each earlier all to select service node; In all selected service nodes each is concentrated to send and is treated corresponding all download requests of schedule fragment with each then; Be that the disposable task that this service node need be accomplished for current scheduling window is informed this node, comprise that which it need send and treat schedule fragment, when send and send how many data volumes or the like.Comprise following step specifically: descending (step S14) is carried out in the schedule fragment set of treating according to determined order standard is treated in the scheduling window, does order from data slot to local node that confirmed that potentially service node sends like this; Treat schedule fragment according to determined constraints for each and choose service node set (step S15); Each is treated that the pairing service node of schedule fragment is merged into total service node set (step S16); Zong for each service node in the service node set forms a download request set (step S17), this download request set has comprised with each treats the request of schedule fragment corresponding download, no matter whether this service node is held or needs send this fragment; Send said download request set (S18) to corresponding service node.These steps will combine the embodiment of Fig. 3 and Fig. 4 to be described vividerly.
At last, in step S19, local node receives from the fragment data of said service node and upgrades said fragment buffering area.
Fig. 2 is 200 a flow chart according to the method for the invention.In flow chart shown in Figure 2, except step S23 to S25, other steps all with flow chart shown in Figure 1 in corresponding step consistent, do not give unnecessary details for not doing at this for purpose of brevity.Step S23 at Fig. 2 shows two kinds of scheduling strategies to the urgent degree grade of various tasks particularly to step S25.In step S23, more said side-play amount and urgent line threshold value.When side-play amount during less than urgent line threshold value, adopt the intervention schedule strategy, it comprises step S24a and step S25a.Intervention schedule strategy shown in Figure 2 is treated the schedule fragment that remains in the scheduling window according to the urgency level descending in step S24a, be about to the highest fragment of urgency level and come the foremost of treating scheduling window, and the minimum fragment of urgency level comes backmost.Because as stated, will receive after the service node in the download request set of arranging and also handle in this order, so descending has guaranteed that the highest fragment of emergency procedure will be processed at first by fragment order.Said urgency level can be defined as treats that schedule fragment leaves the far and near degree of fragment of current broadcast.Data slot by some embodiment of serial number in, said far and near degree can by the numbering between difference embody.In further embodiments, treat that the far and near degree that schedule fragment leaves the fragment of current broadcast can also utilize timestamp to confirm.Then in step S25a, local node will correspondingly be treated schedule fragment according to urgent constraints for each and choose the service node set.Preferably, can utilize to make the most by force and the most reliably constraints that is selected of node of service ability, this will combine Fig. 3 to describe in more detail.
When side-play amount during greater than urgent line threshold value, adopt the balance scheduling strategy, it comprises step S24b and step S25b.Intervention schedule strategy shown in Figure 2 is treated the schedule fragment that remains in the scheduling window according to rare degree descending in step S24b.Said rare degree can be defined as holds for what of the service node of treating schedule fragment, and the rare more at most degree of node of promptly holding fragment is low more, otherwise then rare degree is high more.A purpose that adopts this strategy is exactly to hope to obtain the fragment of less existence in advance in simple terms, for example causes video playback to interrupt to avoid can't obtaining when this fragment of needs.Then in step S25b, local node will correspondingly be treated schedule fragment according to balance constraints for each and choose the service node set.Preferably, can utilize the constraints that makes that resource occupying is minimum.In addition, can also under the low situation of the urgent degree of task, utilize initiate node more, so that its actual node capacity is assessed, for preparing dispatching cycle afterwards.These all will combine Fig. 4 to describe in more detail.
Embodiment shown in Figure 2 serves as according to correspondingly using intervention schedule strategy and balance scheduling strategy in the cycle at different data dispatch with node to the urgency level of data demand.The urgency level that the intervention schedule strategy is play with fragment serves as preferential, and choosing of fragment supplier adopted the constraints that makes group maximizing performance and avoid network congestion simultaneously.The balance scheduling strategy serves as preferential with the rare degree of fragment, to fragment supplier's the constraints that adopts balanced node service ability of choosing.Both combine and help finding and maximizing P2P crowd's performance, improve the efficient of exchanges data, can reduce the redundancy of exchanges data simultaneously, alleviate network burden.
Fig. 3 is method shown in Figure 2 is carried out an embodiment of data dispatch in utilizing the stream medium data exchange process of P2P network a sketch map, and Fig. 4 carries out the sketch map of another embodiment of data dispatch in utilizing the stream medium data exchange process of P2P network for method shown in Figure 2.In Fig. 3 and Fig. 4, node P0-P8 constitutes a P2P network, and wherein P0 is a local node, and P1-P8 is service node accordingly, and P0-P8 can for example interconnect through the internet.The user who supposes the P0 node just goes up the online video of watching at the main process equipment (for example personal computer) of P0 node, so P0 need be from P1-P8 foradownloaded video data slot.Before describing these two embodiment, suppose at first as follows:
(1) the descending service ability of supposing local node is 2.0Mbps;
(2) service ability of each P2P service node is as shown in the table:
Table 1
(3) it is listed that current time, each node are held the situation such as the following table of fragment:
Node Hold fragment
P1 {S11,S12,S14,S15}
P2 {S11,S12,S13,S15}
P3 {S11,S12,S13,S14}
P4 {S11,S12,S13,S15}
P5 {S11,S13,S14}
P6 {S11,S12,S13,S14,S15}
P7 {S11,S14,S15}
P8 {S11,S12,S13,S14,S15}
Table 2
(wherein the side-play amount between the fragment by each sheet segment identification after difference expression between the two digits).
(4) urgent threshold value=10 fragment;
(5) urgent constraints:
I. from P1-P8, select service node in complete all nodes of holding fragment;
Ii. the quantity of selected service node is no more than 3;
Iii. the service ability summation of selected node is no more than the descending service ability of local node;
Iv. the set of selected service node is to satisfy condition the set of maximum service ability can be provided in (1) to the set of (3);
Above-mentioned urgent constraints can be represented in order to the formula of giving a definition:
Figure BSA00000413725800111
Wherein
Figure BSA00000413725800113
is expressed as the set of the selected service node of fragment i,
Figure BSA00000413725800114
the service ability summation of all nodes of promptly representing to be comprised in
Figure BSA00000413725800115
.
(6) balance constraints:
I selects service node in complete all nodes of holding fragment from P1-P8;
The quantity of the selected service node of ii equals 3;
The service ability summation of the selected node of iii is no more than the descending service ability of local node;
The set of the selected service node of iv is to satisfy condition the set of minimum service ability can be provided in (1) to the set of (3).
Above-mentioned balance constraints can be represented in order to the formula of giving a definition:
Figure BSA00000413725800117
Wherein
Figure BSA00000413725800118
is expressed as the set of the selected service node of fragment i,
Figure BSA00000413725800119
the service ability summation of all nodes of promptly representing to be comprised in .
In the embodiments of figure 3, suppose that further the current in progress fragment of user is S10, it can be understood that it is to play the 10th video data fragment.Thus, it is following to carry out the concrete steps of method of the present invention:
A) real data that received according to historical record and last cycle of the local node service ability of each service node of reappraising obtains the listed result of above-mentioned table 1;
B) local node scanning fragment buffering area, confirm to treat in the scheduling window set of segments for S11, S12, S13, S14, S15} calculates that the side-play amount between schedule fragment and the current plays clip is 1 from nearest the treating of current plays clip;
C) judge said side-play amount less than urgent threshold value 10, confirm thus and will treat schedule fragment and select service node by the descending of fragment urgency level according to urgent constraints;
D) by obtain after the urgency level descending new treat scheduling window be S11, S12, S13, S14, S15}, urgency level treats that promptly schedule fragment leaves the far and near degree of current in progress fragment.In fact in the situation of present embodiment, treat that the fragment in the scheduling window is initially arranged according to urgency level;
E). it is to treat that each fragment in the scheduling window chooses the service node set that local node adopts above-mentioned urgent constraints definition, obtains the result listed like following table:
Fragment Service node
S11 {P2,P6,P7}
S12 {P1,P2,P6}
S13 {P2,P4}
S14 {P1,P3,P7}
S15 {P2,P6,P7}
Wherein for S11, the service ability summation of node P2, P6 and P7 is 2.0Mpbs, do not surpass the descending service ability of local node P0, and the node in this set adds up to 3 regulations that also meet urgent constraints ii.In fact, hold in the node of fragment S11 at all, total service ability of P1, P4 and P7 also is 2.0Mbps, and interstitial content is not equally above 3.In this case, local node P0 can confirm that which node combination has comprised the most a plurality of used nodes before through checking the historical record on its this machine.We can think at this, and P2, P6 and P7 are the nodes that had sent data before to P0.In addition, it is the highest to understand the stability of service ability of which service node further according to historical record, is promptly all keeping stable upload bandwidth in data repeatedly in sending, and such node will preferentially be selected for use.For S12, the service ability summation of node combination P1, P2 and the P6 that is selected for use is 1.9Mbps.Can find out that total service ability of node P2 and P4 also is 1.9Mbps, and interstitial content is not also above 3.In this case, local node P0 preferably can select the combination of three nodes, because node as much as possible will reduce to have suddenly a node to leave the influence that is brought.Through above-mentioned selection course, local node will be selected the strongest and the highest service node of stability of service ability and make up and accomplish the transmission of fragment data in emergency circumstances.
F) the service node set that local node is corresponding with each fragment merges, and obtains total service node collection { P1, P2, P3, P4, P6, P7};
G) local node forms and the set of segments corresponding download request set of treating in the scheduling window to each node in total service node set, and is listed as follows:
P 1 ( S 11,0,0 , delay ( S 11 / 2.0 ) ) ( S 12,1 * S 12 / 19,5 * S 12 / 19,0 ) ( S 13,0,0 , delay ( S 13 / 1.9 ) ) ( S 14,1 * S 14 / 19,5 * S 14 / 19,0 ) ( S 15,0,0 , delay ( S 15 / 2.0 ) ) P 2 ( S 11,1 * S 11 / 20,10 * S 11 / 20,0 ) ( S 12,6 * S 12 / 19,10 * S 12 / 19,0 ) ( S 13,1 * S 13 / 19,10 * S 13 / 19,0 ) ( S 14,0,0 , delay ( S 14 / 1.9 ) ) ( S 15,1 * S 15 / 20,10 * S 15 / 20,0 )
P 3 ( S 11,0,0 , delay ( S 11 / 2.0 ) ) ( S 12 , 0,0 , delay ( S 12 / 19.0 ) ) ( S 13,0,0 , delay ( S 13 / 1.9 ) ) ( S 14 , 6 * S 14 / 19,8 * S 14 / 19,0 ) ( S 15,0,0 , delay ( S 15 / 2.0 ) ) P 4 ( S 11 , 0,0 , delay ( S 11 / 2.0 ) ) ( S 12 , 0,0 , delay ( S 12 / 19.0 ) ) ( S 13,11 * S 13 / 19 , 9 * S 13 / 19,0 ) ( S 14,0,0 , delay ( S 14 / 1.9 ) ) ( S 15 , 0,0 , delay ( S 15 / 2.0 ) )
P 6 ( S 11,11 * S 11 / 20,4 * S 11 / 20,0 ) ( S 12,16 * S 12 / 19,4 * S 12 / 19,0 ) ( S 13,0,0 , delay ( S 13 / 1.9 ) ) ( S 14,0,0 , delay ( S 14 / 1.9 ) ) ( S 15,11 * S 15 / 20,4 * S 15 / 20,0 ) P 7 ( S 11,15 * S 11 / 20 , 6 * S 15 / 20,0 ) ( S 12 , 0,0 , delay ( S 12 / 1.9 ) ) ( S 13,0,0 , delay ( S 13 / 1.9 ) ) ( S 14 , 14 * S 14 / 19,5 * S 14 / 1,9 ) ( S 15,15 * S 15 / 20 , 6 * S 15 / 20,0 )
Above the set of listed download request constitute by element corresponding with data slot and that form is identical, wherein the form of each element is defined as:
Download request=(whether fragment is downloaded the starting position, downloads length, need to wait for) for clarity sake, explained the concrete implication of this download request from the angle of P1.When receiving this download request set; P1 at first parses first request (S11; 0,0, delay (S11/2.0)); This this node of expression request does not provide the data of fragment S11 and waits for the time that S11/2.0 is long to local node; Wherein S11 representes the size (typically being unit with the byte) of fragment several piece, and denominator then is the service ability summation 2Mbps that is selected for the node P2, P6 and the P7 that send fragment S11, and the parameter of time span that obtains representing sending S11 thus is as stand-by period of P1.P1 resolves second request (S12,1*S12/19,5*S12/19,0) that obtains and is meant that this node need provide the data of fragment S12 to local node, and the starting position is 1*S12/19, and data length is 5*S12/19.Wherein, S12/19 representes total data block S12 is divided into 19 more small data pieces that wait size; The P1 node need be from these small data pieces first begin to send 5 continuously and give local node P0, can be readily seen that 5/19 is exactly that the service ability of P1 is selected for the ratio of the service ability summation of the node P1, P2 and the P7 that send S12 with all.Be used to send the node P2 of S12 for the next one, can find out that P2 will be since the 6th data that the data fritter sends fragment S12 from corresponding download request.Every other download request can be explained by above-mentioned analysis; This shows; Realize in a dispatching cycle polymerization to all data slot requests of same P2P node through method of the present invention, thereby reduced the control expense in the data procedures.
H) local node scans the set of total service node, will be used for total service node set P1, P2, P3, P4, P6, the download request set of each node among the P7} sends to node corresponding;
I) { P1, P2, P3, P4, P6, P7} receive after the download request set, wait for or send data according to the rule in the set service node;
J) local node from service node P1, P2, P3, P4, P6, P7} receives data, and upgrades the state information treat fragment in the scheduling window.
In the embodiment of Fig. 4, suppose that further the current in progress fragment of user is S1, it can be understood that it is to play the 1st video data fragment.Thus, it is following to carry out the concrete steps of method of the present invention:
A) real data that received according to historical record and last cycle of the local node service ability of each service node of reappraising obtains the listed result of above-mentioned table 1;
B) local node scanning fragment buffering area, confirm to treat in the scheduling window set of segments for S11, S12, S13, S14, S15} calculates that the side-play amount between schedule fragment and the current plays clip is 1 from nearest the treating of current plays clip;
C) judge that said side-play amount is not less than urgent threshold value 10, confirm thus and will treat schedule fragment and select service node by the rare degree descending of fragment according to balance constraints;
D) by obtain after the rare degree descending new treat scheduling window be S13, S14, S15, S12, S11}, rare degree can be embodied by the number of the node of holding fragment.In fact, can find out from Fig. 4 that the rare degree of fragment S13, S14 and S15 is identical, all held respectively by 6 nodes.In this case, with sorting by the urgency level of fragment more further.Therefore, S13 is nearest from current in progress fragment S1, thereby is come first, after it, is arranged in order S14 and S15.
E). it is to treat that each fragment in the scheduling window chooses the service node set that local node adopts above-mentioned urgent constraints definition, obtains the result listed like following table:
Fragment Service node
S13 {P5,P6,P8}
S14 {P5,P6,P8}
S15 {P1,P6,P8}
S12 {P1,P6,P8}
S11 {P5,P6,P8}
Compare the situation under the contingency condition, the node under the equilibrium condition is selected simple relatively.Can select the unique service node set for each fragment substantially according to aforementioned balance constraints.But; If when the identical node set of two groups of service ability is arranged; Local node preferably can select to comprise the set of a plurality of newly added nodes, can in so not urgent data dispatch process, the active service ability of these initiate nodes be assessed thus.
F) the service node set that local node is corresponding with each fragment merges, and obtains total service node collection { P1, P5, P6, P8};
G) local node forms and the set of segments corresponding download request set of treating in the scheduling window to each node in total service node set, and is listed as follows:
P 1 ( S 13,0,0 , delay ( S 13 / 1.0 ) ) ( S 14,0,0 , delay ( S 14 / 1.0 ) ) ( S 15,1 , * S 15 / 12,5 * S 15 / 12 , 0 ) ( S 12,1 * S 12 / 12,5 * S 12 / 12,0 ) ( S 11,0,0 , delay ( S 11 / 1.0 ) ) P 5 ( S 13,1 * S 13 / 10,3 * S 13 / 10,0 ) ( S 14,1 * S 14 / 10,3 * S 14 / 10,0 ) ( S 15,0,0 , delay ( S 15 / 1.2 ) ) ( S 12,0,0 , delay ( S 12 / 1.2 ) ) ( S 11,1 * S 11 / 10,3 * S 11 / 10,0 )
P 6 ( S 13,4 * S 13 / 10,4 * S 13 / 10,0 ) ( S 14,4 * S 14 / 10,4 * S 14 / 10,0 ) ( S 15,6 * S 15 / 12,4 * S 15 / 12,0 ) ( S 12,6 * S 12 / 12,4 * S 12 / 12,0 ) ( S 11,4 * S 11 / 10,4 * S 11 / 10,0 ) P 8 ( S 13 , 8 * S 13 / 10 , 3 * S 13 / 10,0 ) ( S 14 , 8 * S 14 / 10 , 3 * S 14 / 10,0 ) ( S 15 , 10 * S 15 / 12 , 3 * S 15 / 12,0 ) ( S 12 , 10 * S 12 / 12 , 3 * S 12 / 12,0 ) ( S 11 , 8 * S 11 / 10 , 3 * S 11 / 10,0 )
Above described in conjunction with Figure 3 consistent in form and the preceding text of formation and each download request of listed download request set, so here repeat no more.
H) local node scans the set of total service node, will be used for total service node set P1, P5, P6, the download request set of each node among the P8} sends to node corresponding;
I) { P1, P5, P6, P8} receive after the download request set, wait for or send data according to the rule in the set service node;
J) local node from service node P1, P5, P6, P8} receives data, and upgrades the state information treat fragment in the scheduling window.
Should be noted that above embodiment is only in order to technical scheme of the present invention to be described but not limit it.Although the present invention has been carried out detailed explanation with reference to above-mentioned embodiment; Those of ordinary skill in the art is to be understood that; Still can specific embodiments of the invention make amendment or the part technical characterictic is equal to replacement and does not break away from essence of the present invention, it all be encompassed in the scope that the present invention asks for protection.In addition, each step in the described method also can be carried out by being different from described order, and they can be modified, and/or can be combined or further separate.Therefore, should come the construe requirement with the mode of broad sense according to current disclosure.

Claims (13)

1. method that is used for carrying out data dispatch at peer-to-peer network; Said peer-to-peer network is used to the stream medium data exchange; Said peer-to-peer network comprises the service node of local node and a plurality of equities; Wherein said local node is characterized in that from said a plurality of service node receiving stream media data slots, said method comprising the steps of:
A. local node is assessed the service ability of said a plurality of service nodes;
B. its fragment buffering area of local node scanning is confirmed the scheduling window of treating in the current dispatching cycle;
C. the local node fragment and said of calculating local current broadcast treat scheduling window interior from the fragment of this current broadcast nearest treat the side-play amount between the schedule fragment;
D. said side-play amount and urgent line threshold ratio and according to said comparative result are confirmed saidly to treat the order standard of treating the schedule fragment set in the scheduling window and treat schedule fragment for each and choose the constraints that service node is gathered;
E. local node is treated schedule fragment set according to said the treating of determined order standard descending in the scheduling window;
F. treat schedule fragment according to determined constraints for each and choose the service node set;
G. local node treats that with each the pairing service node of schedule fragment is merged into total service node set;
H. local node forms with said treating to each service node in the said total service node set and treats schedule fragment set corresponding download request set in the scheduling window;
I. local node sends said download request set to corresponding service node;
J. local node receives from the fragment data of said service node and upgrades said fragment buffering area;
Wherein said steps d comprises: if said comparative result be said side-play amount less than said urgent line threshold value, then said order standard is confirmed as the urgency level of treating schedule fragment, and said constraints is confirmed as urgent constraints;
If said comparative result be said side-play amount greater than said urgent line threshold value, then said order standard is confirmed as the rare degree of treating schedule fragment, and said constraints is confirmed as balance constraints.
2. the method for claim 1 is characterized in that, wherein said urgency level is defined as to be treated schedule fragment to leave the fragment of said current broadcast more closely then urgency level is high more.
3. the method for claim 1 is characterized in that, wherein said rare degree is defined as that to hold the rare more at least degree of the service node of treating schedule fragment high more.
4. the method for claim 1 is characterized in that, wherein said step e comprises:
Under the identical situation of the rare degree of treating schedule fragment, by the said schedule fragment of treating of said urgency level descending.
5. the method for claim 1 is characterized in that, wherein for the single schedule fragment i that treats, said urgent constraints comprises the following:
(1) from all service nodes of intactly holding fragment i, selects service node;
(2) quantity of selected service node must not surpass predetermined thresholding;
(3) selected service node provides the summation of the ability of service must not surpass the descending service ability of local node to local node;
(4) set of selected service node is to satisfy condition the set of maximum service ability can be provided in (1) to the set of (3).
6. method as claimed in claim 5 is characterized in that, wherein said steps d also is included in and selects the maximum service node set of number of nodes in the service node set of satisfying said urgent constraints.
7. method as claimed in claim 5 is characterized in that, wherein said steps d also be included in select in the service node set of satisfying said urgent constraints to comprise quantity maximum, before dispatching cycle in through the set of the service node of assessment.
8. the method for claim 1 is characterized in that, wherein for the single schedule fragment i that treats, said balance constraints comprises the following:
(1) from all service nodes of intactly holding fragment i, selects service node;
(2) quantity of selected service node must satisfy predetermined value;
(3) selected service node provides the summation of the ability of service must not surpass the descending service ability of local node to local node;
(4) set of selected service node is to satisfy condition the set of minimum service ability can be provided in (1) to the set of (3).
9. method as claimed in claim 8; It is characterized in that wherein said steps d also is included in selects to comprise quantity set maximum, that do not have the service node of process assessment in dispatching cycle before in the service node set of satisfying said balance constraints.
10. the method for claim 1 is characterized in that, wherein said step a comprises according to one in the actual reception data of the historical record of service ability and last dispatching cycle or the multinomial service ability of assessing said service node.
11. the method for claim 1; It is characterized in that wherein said step a comprises or the multinomial service ability of assessing said service node in the service ability that in current dispatching cycle, reports according to the historical record of service ability and said service node.
12., it is characterized in that the service ability of wherein said service node is defined as the upload bandwidth of said service node like any described method in the claim 1 to 11.
13., it is characterized in that wherein said stream medium data comprises sound stream, video flowing, text flow and image streams like any described method in the claim 1 to 11.
CN201010623255A 2010-12-24 2010-12-24 Method for scheduling data in peer-to-peer network Expired - Fee Related CN102025645B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010623255A CN102025645B (en) 2010-12-24 2010-12-24 Method for scheduling data in peer-to-peer network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010623255A CN102025645B (en) 2010-12-24 2010-12-24 Method for scheduling data in peer-to-peer network

Publications (2)

Publication Number Publication Date
CN102025645A CN102025645A (en) 2011-04-20
CN102025645B true CN102025645B (en) 2012-10-10

Family

ID=43866518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010623255A Expired - Fee Related CN102025645B (en) 2010-12-24 2010-12-24 Method for scheduling data in peer-to-peer network

Country Status (1)

Country Link
CN (1) CN102025645B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404608A (en) * 2011-11-30 2012-04-04 苏州奇可思信息科技有限公司 Video on demand method based on point-to-point transmission of local area network
CN103581259B (en) * 2012-08-03 2018-07-06 上海果壳电子有限公司 P2P downloading tasks dispatching method and system
CN108737330B (en) * 2017-04-14 2020-11-24 腾讯科技(深圳)有限公司 Processing method and device of social behavior data and storage medium
CN107818706A (en) * 2017-10-30 2018-03-20 中科汉华医学科技(北京)有限公司 A kind of hospital's remote living broadcast formula teaching and training system
CN108512921A (en) * 2018-03-28 2018-09-07 深圳市网心科技有限公司 Document down loading method, electronic equipment based on P2P networks and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345768A (en) * 2008-08-15 2009-01-14 南京邮电大学 Peer-to-peer network transmission method of music demand system
CN101668037A (en) * 2009-09-29 2010-03-10 乐视网信息技术(北京)股份有限公司 Method for dispatching P2P network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991906B2 (en) * 2008-12-09 2011-08-02 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Method of data request scheduling in peer-to-peer sharing networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345768A (en) * 2008-08-15 2009-01-14 南京邮电大学 Peer-to-peer network transmission method of music demand system
CN101668037A (en) * 2009-09-29 2010-03-10 乐视网信息技术(北京)股份有限公司 Method for dispatching P2P network

Also Published As

Publication number Publication date
CN102025645A (en) 2011-04-20

Similar Documents

Publication Publication Date Title
CN101355522B (en) Control method and system for media server
CN101841556B (en) Method and system for placing resources replication in CDN-P2P (Content Distribution Network-Peer-to-Peer) network
CN102025645B (en) Method for scheduling data in peer-to-peer network
US8838823B2 (en) Performance aware peer-to-peer content-on-demand
CN104205769B (en) The DASH clients and receiver of the improvement selected using playback rate
CN103843297B (en) For for real-time streaming service is provided and selects the methods, devices and systems of both candidate nodes
US8150966B2 (en) Multi-party cooperative peer-to-peer video streaming
CN103167324A (en) Method and apparatus to control a multipath adaptive streaming session
US20100005185A1 (en) Substream trading in a peer to peer live streaming system
CN102868936B (en) Method and system for storing video logs
CN101645927A (en) System, method and server for slicing media files
WO2013130993A1 (en) Systems and methods for hybrid content delivery
CN101741884A (en) Distributed storage method and device
CN101605242B (en) Method, device and system for realizing video-on-demand service
CN102209262B (en) Method, device and system for scheduling contents
CN102158767B (en) Scalable-coding-based peer to peer live media streaming system
Hu et al. Mesh-based peer-to-peer layered video streaming with taxation
US20110113099A1 (en) Method for transmitting buffer map and network thereof
Chi et al. Deadline-aware network coding for video on demand service over P2P networks
CN103051556A (en) Stream media data control system and method thereof
CN104853221A (en) Multi-source stream video on demand system and multi-source stream video on demand method based on virtual server matrix
CN101562626B (en) Method, system and device for medium distribution
Febiansyah et al. Peer-assisted adaptation in periodic broadcasting of videos for heterogeneous clients
Sheshjavani et al. A free-riding resiliency incentive mechanism for VoD streaming over hybrid CDN-P2P networks
Chen et al. Scheduling piece requests blindly and randomly for peer-to-peer live streaming

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121010

Termination date: 20151224

EXPY Termination of patent right or utility model