CN103036806B - A kind of on-demand data broadcast scheduling method based on dynamic index - Google Patents

A kind of on-demand data broadcast scheduling method based on dynamic index Download PDF

Info

Publication number
CN103036806B
CN103036806B CN201210422270.2A CN201210422270A CN103036806B CN 103036806 B CN103036806 B CN 103036806B CN 201210422270 A CN201210422270 A CN 201210422270A CN 103036806 B CN103036806 B CN 103036806B
Authority
CN
China
Prior art keywords
request
data item
broadcast
index
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210422270.2A
Other languages
Chinese (zh)
Other versions
CN103036806A (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.)
Wuhan Ge torch Intelligent Technology Co., Ltd.
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201210422270.2A priority Critical patent/CN103036806B/en
Publication of CN103036806A publication Critical patent/CN103036806A/en
Application granted granted Critical
Publication of CN103036806B publication Critical patent/CN103036806B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The present invention relates to a kind of on-demand data broadcast scheduling method based on dynamic index.Including receiving step: when certain client sends a request of data by up channel to server, request comprises request time, request off period and solicited message and describes;Obtaining step: data acquisition module constantly takes out request from request queue in order, then searches from data base or other data storages and obtains the data item meeting request, and after obtaining data item, this request is added in the ready queue of scheduler module;Scheduling steps: scheduler module is first scheduling tissue according to dispatching algorithm to ready queue, then adds index information in broadcast queue, finally by the corresponding broadcast queue of down channel broadcast.Advantage: advantageously reduce mean access time and tuning period, and reduce crash rate;Dynamic determines optimum index Cycle Length and makes request crash rate, mean access time and average tuning period reach to expect Least-cost value, and general effect is more excellent.

Description

A kind of on-demand data broadcast scheduling method based on dynamic index
Technical field
The present invention relates to a kind of on-demand data broadcast scheduling method, especially relate to a kind of on-demand number based on dynamic index According to broadcast scheduling method.
Background technology
Mobile computing, accesses data whenever and wherever possible and provides the foundation so that user appoints in any place for mobile client The information that accesses between when becomes possibility, and it effectively compensate for the wretched insufficiency of IP network bandwidth, and application prospect is the most increasingly Wide, the mobile communication technology such as such as 3G, LTE and 4G.It is different from the traditional distributed computing environment of fixing network, mobile computing Environment has many peculiar features, such as: mobility, frequent discontinuity, the multiformity of network condition and asymmetry, therefore mobile meter In calculation, topmost research topic is the scheduling problem of data broadcast, and how its research server organizes generation under finite bandwidth Broadcast data sequence, it is achieved system overall quality of service (Quality of service, Qos) is best.
Data broadcast realizes a large number of users by bandwidth reuse and accesses hot spot data simultaneously, and this data broadcaster Formula, can support the mobile computing characteristic of mobile client.In accordance with the way of the broadcast, data broadcast mainly includes that quiescent period is broadcasted (push-based), on-demand broadcasting (pull-based) and mixing three kinds of modes of broadcast.Quiescent period broadcast be server according to The request of data item is distributed by user, periodically broadcasts hot spot data, and this mode need not user and sends request of data, as Cell Broadcast CB and military combat instruction transmission etc..Lot of documents have studied quiescent period broadcast mode, the most influential calculation Method is multi-disk schedule algorithm, and all of data item is asked probability to arrange according to user by it, then these data item is pressed Becoming several set, each set to be defined as a dish according to priority merger, the dish velocity of rotation that global precedence effect level is big is fast, preferentially The little dish velocity of rotation of level is slow, respectively to air broadcast data, so the big data item of priority will repeatedly be broadcasted.But in reality In the situation of border, different users is different to the requirement of different data in the different time, and hot spot data exists over time Being continually changing, on-demand broadcasting just reflects this demand, and it organizes broadcast data item according to the dynamic need of mobile client. Mixing broadcast mode is the combination of above two mode, a part of hot spot data periodic broadcasting, non-hot spot data then on-demand broadcasting.
The most several typical cases on-demand data broadcast scheduling algorithm, wherein has the algorithm that the off period retrains, also has the non-off period The algorithm of constraint.
The EDF(off period the earliest is preferential) it is priority scheduling based on the data item off period the earliest, i.e. first is broadcasted Data item is the most urgent requested data item.Assume that data item is di, current kth index periodic scheduling jth data item, diPriority calculating formula isIt is worth the least data item priority the highest.The shortcoming of algorithm is to only considered cut-off Phase situation, the data item being likely to result in the few data item of request more than request is preferentially broadcasted, and causes crash rate the lowest.
MRF(at most asks preferentially) first broadcast the data item having at most request, i.e. broadcast the data of those hottest points. Assume that data item is di, current kth index periodic scheduling jth data item, diPriority calculating formula isIt is worth the least Data item priority the highest.The shortcoming of algorithm is the request situation that only considered data item, if being applied to real-time on-demand broadcasting In, the not clear sense of urgency to data item request, therefore crash rate may be the biggest.
RxW (number of request and waiting time) preferentially broadcast has the data item of maximum RxW value.Wherein R represents having of data item Effect number of request, W is the high latency of data item.RxW combined with access frequency and waiting time reduce response time.Assume Data item is di, current kth index periodic scheduling jth data item, diPriority calculating formula isValue The least data item priority is the highest.Although the shortcoming of algorithm is to reduce mean access time and average tuning period, but Can not be for real-time on-demand broadcasting problem, as MRF algorithm, crash rate may be the biggest.
SIN-α (shift time is than number of request) is in each broadcast moments, the data item of broadcast minimum SIN value.SIN value is defined Become shift time and the ratio of number of request of data item.SIN combined with access frequency and urgency improve scheduling performance.Assume Data item is di, current kth index periodic scheduling jth data item, diPriority calculating formula is Being worth the least data item priority the highest, in algorithm, α is to weigh off period and the weight of number of request, document Wirelessreal-time on-demand data broadcast scheduling with dual deadlines points out During α=1, the effect of calculating formula is close with optimal situation.The shortcoming of algorithm is to reflect the overall urgency of data item with the off period, The most perfect, and do not account for waiting time situation.
The broadcast of real-time on-demand data more can meet the diversified demand real-time to information of user in reality, and therefore it is increasingly Become study hotspot.Much research and propose at present efficient scheduling algorithm to improve the performance of non real-time on-demand broadcasting system, Even if some algorithm considers request off period (in real time) factor, the most only consider with the minimum cut-off in data item request set Phase represents the overall urgency of this data item, and this may cause the urgent data item of real a large amount of request not to be broadcasted.Separately Outward, most of dispatching algorithms only consider how to reduce the request crash rate of whole system, do not account for how reducing not losing efficacy and ask The mean access time asked and average tuning period.There is presently no a kind of data broadcast scheduling algorithm and can meet user's request Off period constraint, the energy expenditure (tuning period) of mobile terminal can be reduced again.
Summary of the invention
The above-mentioned technical problem of the present invention is mainly addressed by following technical proposals:
A kind of on-demand data broadcast scheduling method based on dynamic index, it is characterised in that based on definition: data item information Data structure include data item numbering, will invalidation request number, current request number, high latency and request row Table, wherein request list comprises multiple request, the data structure of solicited message include request numbering, the off period, the access time, Tuning period and initial time, specifically include following steps:
Receiving step: when certain client sends a request of data by up channel to server, request comprises please Seeking time, request off period and solicited message describe, and first receiver module first looks at the information of request the most in request In queue or broadcast queue, if, just it is added directly in the request list of corresponding data item, otherwise this request will be by Request receiver module is put in request queue;The priority that all of request sets according to request time sequencing or user Arrangement, first in first out;
Obtaining step: data acquisition module constantly takes out request from request queue in order, then from data base, Searching in Internet or caching and obtain the data item meeting request, after obtaining data item, this request has been added into scheduling In the ready queue of module;
Scheduling steps: index start time in cycle at each, ready queue is first entered by scheduler module according to dispatching algorithm Row scheduling tissue, dynamically determines each data item in broadcast queue, then adds index information in broadcast queue, finally Corresponding broadcast queue is broadcasted by down channel.
At above-mentioned a kind of based on dynamic index on-demand data broadcast scheduling method, in described scheduling steps, Scheduler module is first scheduling tissue according to dispatching algorithm to ready queue will invalidation request number based on data itemWhen Front number of requestHigh latencyAs the strategic factor of scheduling, based on formula: scheduling strategy value Weight ( d i ) = 1 ( L d i , k , j ) × ( R d i , k , j ) α × ( W d i , k , j ) β if L d i , k , j ≠ 0 start S d i , k , j ( R d i , k , j ) α if L d i , k , j = 0 Formula one.
At above-mentioned a kind of based on dynamic index on-demand data broadcast scheduling method, in described scheduling steps, add Interpolation index information to the concrete grammar of broadcast queue is: assumes initially that some data item is broadcasted, then can add up by extensively The number of request that will lose efficacy after broadcasting, is used for calculating the scheduling plan of the data item being broadcasted according to this by invalidation request number Slightly being worth, the priority being only worth minimum is maximum, and this data item is added in actual broadcast queue, then assumes again that second Data item is broadcasted, can add up again the most all data item will invalidation request number, the same tune calculating each data item Degree priority value, can select an actual data item to be inserted in broadcast queue, by that analogy, when reaching the index cycle After length, index set i.e. index entry according to actual broadcast queue facility, then index entry is inserted into broadcast queue foremost, Actual broadcast data item is carried out afterwards according to the broadcast queue of this tape index item.
In above-mentioned a kind of based on dynamic index on-demand data broadcast scheduling method, the described step setting up the index cycle Rapid concrete grammar is as follows: doping data item bdK, jAfter, it is further assumed that bdK, jIt is broadcasted, then statistical estimation bdK, 1To bdK, jIt Between request crash rate, mean access time and average tuning period, be newly worth calculate now total finally according to these three index Cost, total cost decides whether bdK, jIt is inserted into actual broadcast queue, i.e. indexes and increase to j from j-1, define fIJ () is rope Draw the cycle total cost when being j:
f I ( j ) = &alpha; &times; Ratio k , < j + 1 + ( 1 - &alpha; ) &times; &beta; &times; A A k , < j + 1 + ( 1 - &beta; ) &times; AT k , < j + 1 avg S k , < j + 1 Formula two
In formula two, Part I is request crash rate cost, and Part II is waiting time cost, when comprising average access Between and average tuning period, represent that the waiting time accounts for the ratio of off period start offset amount, waiting time of some request is not Its off period deviation can be exceeded, from the off period of the 1st data item to jth data item successful request in the kth index cycle Start offset amount is as shown in formula five.
avg S k , < j + 1 = &Sigma; t = 1 j &Sigma; r = 1 Z &Delta; S bd k , t , k , t , r R k , < j + 1 = &Sigma; t = 1 j &Sigma; r = 1 R bd k , t , k , t &Delta; S bd k , t , k , t , r &Sigma; t j R d k , t , k , t Formula five,
In formula five, α, β represent request crash rate and the waiting time weight factor to total cost respectively.Object function is to seek A suitable j is asked to make fIJ () minimizes value, the index cycle is at least 1, and index Cycle Length is in each phase in index cycle Between from the index cycle a length of 1 start be incremented by judgement.
Therefore, present invention have the advantage that
Use in 1.LxRxW algorithm more will can represent the entirety of data item by invalidation request number than the off period of data item Urgency;Algorithm preferentially broadcasts the data item of high latency, and this advantageously reduces mean access time and tuning period, and And reduction crash rate.
2. have the LxRxW dispatching algorithm of index add on a small quantity than indexless LxRxW dispatching algorithm request crash rate and Access time, but make the tuning period of mobile device be remarkably decreased, illustrate from the point of view of general effect the present invention index prediction and Index organization's effect is obvious, therefore introduces index strategy in real-time on-demand data broadcast scheduling highly effective;LxRxW-DAIL Algorithm has more preferable stability than LxRxW during the fixed indices cycle, and the method dynamic determines optimum index Cycle Length also Making request crash rate, mean access time and average tuning period reach to expect Least-cost value, general effect is more excellent.
Accompanying drawing explanation
Accompanying drawing 1 is the structure of on-demand digital broadcasting dispatch system.
Accompanying drawing 2 is on-demand broadcasting system queue data structure diagram.
Accompanying drawing 3 is that broadcast queue indexes cycle schematic diagram.
Accompanying drawing 4a is the impact being uniformly distributed lower request rate to request crash rate.
Accompanying drawing 4b is the request rate impact on request crash rate under exponential.
Accompanying drawing 4c is the request rate impact on request crash rate under stationary distribution.
Detailed description of the invention
Below by embodiment, and combine accompanying drawing, technical scheme is described in further detail.
Embodiment:
In the present invention, the structure of on-demand digital broadcasting dispatch system is as shown in Figure 1.Assume system comprises a server With multiple mobile clients, mobile client uses uplink channel transmission request, and server passes through down channel broadcast data item Queue.System mainly includes receiving (Accept), obtaining (Fetch) and scheduling (Schedule) three modules, and receiver module is tieed up Protecting a request queue (Req), scheduler module safeguards a ready queue (Ready), and server system safeguards a broadcast team Row (Broadcast), request queue is made up of request, and ready queue and broadcast queue are made up of data item, and each data item Comprise a request list.
The process of implementing is: receive: when certain client sends a request of data by up channel to server, Request comprises request time, request off period and solicited message and describes, and first Accept module first looks at the information of request and is No in Ready queue or Broadcast queue, if, just it is added directly into the request list of corresponding data item In, otherwise requested receiver module is put in Req queue by this request.All of request according to request time sequencing or Certain priority arrangement of person, first in first out.
Obtain: data Fetch module constantly takes out request from Req queue in order, then from data base, Searching in Internet or caching and obtain the data item meeting request, after obtaining data item, this request is added into In the ready queue of Schedule module.Herein, the acquisition time of data item does not considers, cache policy does not considers.
Scheduling: index start time in cycle at each, Ready queue is first entered by Schedule module according to dispatching algorithm Row scheduling tissue, this algorithm dynamically determines each data item in broadcast queue, then adds index information to broadcast queue In, broadcast Broadcast queue finally by down channel.
If during server process, certain request is not satisfied for a long time, then can exceed that request the off period and Lost efficacy, and if certain client can receive the data of request within the off period, then this data item is for client For be effective.In this system structure, a client can send in the case of a upper request is not satisfied Another request.
Data item data structure mainly include numbering that 8 partial informations are data item, will invalidation request number, current request Number, waiting time, off period skew, request list, representation is { id, lostNum, reqNum, waitTime, min Slack, aTime, tTime, reqList}, composition ready queue and each and every one queue of broadcast queue two, the data knot of each list Structure is as shown in Figure 2.All solicited messages under one data item of list records, solicited message includes the numbering of request, cut-off Phase, access time, tuning period and initial time, representation is { rid, deadline, aTime, tTime, sTime}.Please Queue is asked to be made up of solicited message.In order to statistical module in support system, solicited message structure adds whether add up mark The information such as will, monitoring mark, composition overall situation user request list pUserList.
For request queue, using list structure, the present invention is according to request successively time-sequencing.In order to prevent often traveling through With the time loss searched, ready queue uses linear list structure, and initial length is the number of data item, and each unit is initially Empty.Owing to broadcast queue's randomness is bigger, and the most only account for the sub-fraction of total data entry, so the number in broadcast queue According to item struc-ture also maintain one to backpointer, after a broadcast queue determines, these data item will form one Individual chained list, it is simple to searching, therefore broadcast queue not only uses linear list structure, but also safeguards a list structure.Ready In queue and broadcast queue, a chained list is safeguarded in the request of each data item, so containing to backpointer in appealing structure, when User asks to arrive, and in the request list of the corresponding data item that request is inserted in queue by server, between queue, conversion is The pointer of direct copying data item is the most permissible.
If in queue, corresponding data item is chosen as next item to be broadcast by Schedule module, then from ready queue " shear " all information of data item and " paste " renewal to corresponding field in broadcast queue, and be linked to broadcast queue's afterbody, former team In row, data item is set to NULL.
All it is not satisfied or invalidation request, in total request list pUserList of server, all safeguards a pointer, The effect of this total request list is exactly, when carrying out data item crash rate, mean access time and average tuning period statistics Can travel through the most completely.
Below, the method and process being applied to required for the present invention is elaborated:
First, model hypothesis is carried out:
(1) assume that data broadcast uses the scheduling mode of cycle dynamics, i.e. server periodically to generate broadcast index , before broadcast data item, then broadcast this index entry.Wherein dynamic broadcast is a special case of periodic broadcast.
(2) independence that broadcast data is accessed by mobile client: on server, the data item of all broadcast is to all movements Client is visible, all mobile clients to the access of data item be all separate, do not interfere with each other.
(3) broadcast item atomicity: broadcast queue's item includes data item and index entry, all as broadcast least unit, and institute Having the data item being broadcasted is all equal length, herein normalized.In actual applications, data item can be server The data such as the record information inside cache information, data base, the video web page resource on Internet.
(4) broadcast item recognizability: i.e. mobile client can basis before receiving any one index entry or data item Identification code knows that it is the data item that oneself is to be accessed.This can be by inserting suitable head before each data item Mark realizes.
(5) broadcast item global uniqueness: the most each broadcast index entry or data item have a key, and it can be uniquely Identify a broadcast item, and mobile client always accesses the broadcast item in data broadcast according to key, this and broadcast item Recognizability is consistent.
(6) broadcast item position in broadcast queue determines: defining data item position in data are broadcasted is this number According to item in broadcast channel when being broadcasted from the side-play amount of certain initial time.All data item are all that order is broadcasted, no There is multichannel or concurrent-broadcast situation.
(7) concordance of data is assumed: all of data item update is in units of a broadcast cycle, i.e. at one In broadcast cycle, the same data item data of all requests is identical, also can only be deferred to the next one extensively even if being modified Broadcast in the cycle.
(8) data processing time agreement: assume that server is processing request, obtaining data item and scheduling data item Time be 0, the most all broadcast data items are all continuously continuously every broadcast, long time treatment will be needed to send out because of data item Raw pause.
(9) forms data request agreement: each mobile client simply requests a data item, mobile client in once request Onrelevant between the repeatedly requested data item of end, and under user can send before a request data on there is no One request.
2. broadcast model definition:
Fig. 3 is that data broadcast queue indexes cycle, wherein kth secondary index cycle, comprises index entry Index and M Data item, 1,2,3 .., a M respectively corresponding data item, it is assumed that each data item in the same size, each data item The broadcast time is a medium wave and is all 1, a length of index entry of kth secondary index periodic key and the data item comprised Number, i.e. index Cycle Length is | Index |+M ≈ M, convenient for research, makes the following assumptions herein and defines:
(1) diFor i-th data item, i ∈ 1,2 ... N};
(2)For data item diRequest rate during the kth secondary index cycle, i ∈ 1,2 ..., N};
(3) bdK, jDuring the kth secondary index cycle, jth data item, j ∈ 1,2 ..., M}, broadcast queue is Bk= {Index,bdK, 1,bdK, 2,bdK, 3,...,bdK, j..., bdk,M};
(4)For data item diDuring the kth secondary index cycle, jth data item starts the number of request of broadcast moments, i ∈ 1,2 ..., N}, wherein, works as di∈BkTime,All successfully meet acquisition data before the off period, the most unsuccessful obtain Fetch data;
(5)For data item diDuring the kth secondary index cycle, jth data item starts broadcast moments
The r request, i ∈ 1,2 ..., N}, ifR ∈ 1,2 ..., Z}, diRequest set be
ReqC d i , k , j = { Req d i , k , j , 1 , Req d i , k , j , 2 , Req d i , k , j , 3 , . . . , Req d i , k , j , r , . . . , Req d i , k , j , z } ;
(6)For data item diDuring the kth secondary index cycle jth data item start the r of broadcast moments please The off period asked, i ∈ 1,2 ... N}, if Z=| R, k, j|, r ∈ 1,2 ... Z}, then data item diOff period be S d i , k , j = Min { S d i , k , j , 1 , S d i , k , j , 2 , S d i , k , j , 3 , . . . , S d i , k , j , r , . . . S d i , k , j , Z } , And;Wherein Min is for taking minima;
(7)For data item diDuring the kth secondary index cycle jth data item start the r of broadcast moments please The off period side-play amount asked, i ∈ 1,2 ... and N}, off period side-play amount is the offset value of off period and current time, if definition During the kth secondary index cycle, jth data item starts broadcast moments and isThen startS d i , k , j , r = S d i , k , j , r - Stime d i , k , j ; Then startS d i , k , j = Min { start S d i , k , j , 1 , startS d i , k , j , 2 , startS d i , k , j , 3 , . . . , startS d i , k , j , r , . . . startS d i , k , j , Z } Data item diOff period side-play amount, Wherein Z = | R d i , k , j | , r &Element; { 1,2 , . . . Z } ;
(8)For data item diDuring the kth secondary index cycle, jth data item starts the r request of broadcast moments Off period start offset amount, i ∈ 1,2 ... N}, off period start offset amount be request the off period with request send the time Offset value, if definitionSend request time for forThen &Delta; S d i , k , j , r = S d i , k , j , r - Rtime d i , k , j , r ;
(9)For data item diInvalidation request number during jth data item broadcast during the kth secondary index cycle, i ∈ 1,2 ..., N}, thenStarting broadcast moments in jth data item is diWill invalidation request number,Solve Method: for data item d each in broadcast systemi∈ D, it is assumed that jth medium wave start time t, adds up diAll requests in Off period meets conditionNumber of requestThenAll data item failure number set G k , j = { g d i , k , 1 , g d i , k , 2 , g d i , k , 3 , . . . , g d i , k , N } , i &Element; { 1,2 , . . . , N } ; Obviously there may be data item di's L d i , k , j = 0 ;
(10)For data item diDuring the kth secondary index cycle, jth data item starts r of broadcast moments The waiting time of request, i ∈ 1,2 ... N}, ifR ∈ 1,2 ... Z}, then data item diWaiting time is W d i , k , j = Max { W d i , k , j , 1 , W d i , k , j , 2 , W d i , k , j , 3 , . . . , W d i , k , j , r , . . . W d i , k , j , Z } And, wherein Max is for taking maximum;
(11)For data item diDuring the kth secondary index cycle, jth data item starts r of broadcast moments The access time of request;
(12)For data item diDuring the kth secondary index cycle, jth data item starts r of broadcast moments The tuning period of request;
(13) IkThe index cycle for the kth secondary index cycle is long, index long set I={I1,I2,I3,...,Ik... }, and k≥1。
3.LxRxW dispatching algorithm
(1) algorithm introduction
Present invention defect based on SIN-α algorithm proposes the LxRxW algorithm of a kind of improvement, it is important to find a kind of ratio More can represent the factor of data item entirety urgency, analyze and find, if using the meansigma methods of request off period or averagely ending Phase total value, all can not represent data item entirety urgency.
The present invention its be different from SIN-α algorithm: it combines data item will invalidation request numberCurrent request numberHigh latencyAs the main policies factor of scheduling, failure number wherein will be askedCompare data item Off periodMore can represent the overall urgency of data item, if because major part request is urgent, thenMust be very big, butThe request of the least the most not necessarily major part is urgent, and possible just what a request is relatively more urgent, and other requests are the most urgent.? In the kth secondary index cycle, during jth medium wave, the relation that affects of data item A, B can be described by tri-strategic factors of LxRxW As follows:
(1) when two data item A, B request amount with when high latency is identical, i.e. AndRespectively calculate the two data item will invalidation request numberWithHere do not take into account that The request being newly added during this period of time.IfThen broadcast A, otherwise broadcast B, because broadcasting at most inefficacy After data item, the invalidation request of whole system is minimum, it is possible to reduce the request crash rate of whole system.
(2) when two data item A, B will invalidation request number and high latency equal, i.e. L d A , k , j = L d B , k , j And W d A , k , j = W d B , k , j . When R d A , k , j > R d B , k , j , Then broadcast A, otherwise broadcast B, so that met before the off period Requesting up to of broadcast data item, can reduce request crash rate, mean access time and average tuning period.
(3) when two data item A, B will invalidation request number and request amount equal, i.e. AndWhenThen broadcast A, otherwise broadcast B, so that the data item waiting time shortens, this Sample is it is contemplated that the minimizing invalidation request number of property, and can reduce system mean access time and average tuning period.
For the priority of quantitatively evaluating data item, within each index cycle, determine each medium wave data item it Before, data item all can calculate a LxRxW value.The kth secondary index cycle, during jth medium wave, data item diLxRxW value Calculate such as formula one.
Weight ( d i ) = 1 L d i , k , j &times; R d i , k , j &times; W d i , k , j Formula one
Wherein, the data item priority with minimum Weight value is the highest, is broadcasted by override.In Weight value calculatesMay be 0, now just useRepresent data item diUrgency, therefore formula one is revised as formula two.
Weight ( d i ) = 1 ( L d i , k , j ) &times; ( R d i , k , j ) &alpha; &times; ( W d i , k , j ) &beta; if L d i , k , j &NotEqual; 0 start S d i , k , j ( R d i , k , j ) &alpha; if L d i , k , j = 0 Formula two
Due to for all di, may only someValue may be 0, LxRxW algorithm of the present invention specifies, only Have when eachWhen being all 0, just can selectCalculating, wherein minimum LxRxW value corresponding data item will be wide Broadcast, otherwise from allIt is not the d of 0iMiddle selection data item broadcast.The kth secondary index cycle, during jth medium wave, data Item diBeing scheduled, it is assumed that the failure number before scheduling is ALostNum, successful request number is ARNum, then the inefficacy after scheduling Rate such as formula three.
Pro = ALostNum + &Sigma; i = 1 N L k , d i , j ARNum + ALostNum + R k , d i , j + &Sigma; i = 1 N L k , d i , j Formula three
Utilizing LxRxW algorithm to be analyzed the data in table 1, during first medium wave, D1 lost efficacy 1 request, V1 value is 1/ (1*5*5)=0.04, and D2 fails 5 requests, and V2 value is 1/ (5*5*5)=0.0008, then V1 > V2, then broadcast Order is D1 after first D2, it is seen then that LxRxW Algorithm for Solving compliance problem optimal solution.
(2) LxRxW Analysis of scheduling algorithm
Being analyzed by (1), LxRxW algorithm has 2 advantages than SIN-α: by data item in (1) SIN-α algorithm The minimum off period as the data item off period calculate, this value can not represent the urgency level of all requests of whole data item; And the present invention's will invalidation request number be all results asking off period current urgency of statistics, can response data item entirety Urgency level;(2) SIN-α algorithm does not accounts for the waiting time of data item, and preferentially broadcasts high latency data item, This advantageously reduces mean access time and tuning period, and reduces crash rate, because the waiting time is the longest, more provides easy access to With exceed the off period, broadcast high latency data item can effectively reduce crash rate.
Data item example dispatched by table 1
But, LxRxW algorithm in some cases, can not well work, such as table 2 example.Divide according to LxRxW algorithm Analysis, the value of calculation of D1 is V1=1/ (1*5*10)=0.02, and the value of calculation of D2 is V2=1/ (5*5*1)=0.04, then V1 < V2, so D1 preferentially broadcasts, but this is not optimal sequence.It is different that the value difference of waiting time result in value of calculation, with reference in SIN-α algorithm Alpha factor effect understand, Different Strategies factor on algorithm affect size may different, therefore formula four to two is more reasonable.
Weight ( d i ) = 1 ( L d i , k , j ) &times; ( R d i , k , j ) &alpha; &times; ( W d i , k , j ) &beta; if L d i , k , j &NotEqual; 0 start S d i , k , j ( R d i , k , j ) &alpha; if L d i , k , j = 0 Formula four
What in formula four, the value of α and β weight factor determined three strategic factors affects size.Request was lost efficacy Rate has a direct impact,Request crash rate, mean access time and average response time are all had a direct impact, Mean access time and average response time are had a direct impact, so the selection of α and β has an impact for different indexs.
Fig. 4 (a), 4(b) and 4(c) be β fix and the LxRxW algorithm of different α value (0.5,1,2 and 4) in difference request Under speed (0.25,0.5,1,2,4,8,16,32,64,128), the effect tendency of failure rate compares.In experiment, set β as 1, Broadcast rate is 10 (objects/second), and the average off period is 60 (s), and off period scope is [0,120] (s), and other are imitated True experiment parameter sets such as table 3.The request off period of mobile client is randomly provided in the range of the off period, according to three kinds not With distribution (be uniformly distributed, exponential and stationary distribution).As can be seen from Figure 3, when request rate ratio is time relatively low, and LxRxW is not Descend crash rate relatively with α value, and when request rate is bigger, crash rate gap has the trend of increase.When α is 1 LxRxW algorithm combination property under several distribution situations is more excellent than other three kinds, but generally, LxRxW is affected not by the change of α Greatly.Different α and β value can change the final deflection of index, and such as α is big, and β is little, and crash rate can be made lower, and during average access Between and average tuning period may uprise, the little β of α is big, and mean access time and average tuning period can be made lower, and crash rate May uprise, therefore dynamic index period modulation method DAIL in the 4th chapter is also had an impact by α and β.The present invention selects The α of LxRxW is 1, and β is 1.
4. dynamic index period modulation method (DAIL)
Request crash rate, mean access time and average tuning period can this disappears that with the difference of index Cycle Length Long, in order to make three reach optimal balance, the present invention needs to dynamically determine each index cycle.Document An Adaptive and Energy-Conserving Indexing Method forOn-Demand Data Broadcasting Systems gives and a kind of determined next rope according to the mean access time in the upper index cycle and average tuning period The method drawing Cycle Length, it is disadvantageous in that: on the one hand goes up an index cyclical indicator and can not embody next index The real-time condition in cycle and granularity are inadequate, and on the other hand it does not accounts for asking off period and crash rate.Document An Adaptive and Energy-Conserving Indexing Method for On-Demand DataBroadcasting In Systems, Cycle Length determines that the granularity of method is the index cycle, and disposably determines index Cycle Length, side of the present invention Method granularity is medium wave, dynamically determines whether the index cycle increases.Cycle Length of the present invention determines that method DAIL concrete thought is: Data item bd is doped at data broadcast scheduling algorithm steps 3-6K, jAfter, it is further assumed that bdK, jIt is broadcasted, then statistical estimation bdK, 1 To bdK, jBetween request crash rate, mean access time and average tuning period, be newly worth calculating finally according to these three index Total cost now, total cost decides whether bdK, jIt is inserted into actual broadcast queue, i.e. indexes and increase to j from j-1.Formula five is The present invention gives index cycle cost computing formula based on three indexs, fIJ () is the index cycle total cost when being j.
f I ( j ) = &alpha; &times; Ratio k , < j + 1 + ( 1 - &alpha; ) &times; &beta; &times; A A k , < j + 1 + ( 1 - &beta; ) &times; AT k , < j + 1 avg S k , < j + 1 Formula five
In formula five, Part I is request crash rate cost, and Part II is waiting time cost, when comprising average access Between and average tuning period, represent that the waiting time accounts for the ratio of off period start offset amount, waiting time of some request is not Its off period deviation can be exceeded, from the off period of the 1st data item to jth data item successful request in the kth index cycle Start offset amount is as shown in formula six.
avg S k , < j + 1 = &Sigma; t = 1 j &Sigma; r = 1 Z &Delta; S bd k , t , k , t , r R k , < j + 1 = &Sigma; t = 1 j &Sigma; r = 1 R bd k , t , k , t &Delta; S bd k , t , k , t , r &Sigma; t j R d k , t , k , t Formula six
In formula six, α, β represent request crash rate and the waiting time weight factor to total cost respectively.Object function is to seek A suitable j is asked to make fIJ () minimizes value.The index cycle is at least 1, DAIL during each index cycle from index Cycle a length of 1 starts to be incremented by judgement, and adjustment algorithm is DynamicAjust.In the present embodiment, it is 1 to start to be incremented by from the index cycle An optimum index length value can be found so that request crash rate and total Least-cost of waiting time, in the present embodiment, α, β all take the positive number less than 1.
Process: DynamicAjust
Input: k, j, fI(j-1)
Output: Yes or No (Yes represents can increase the index cycle, No represent cannot)
(1) (assume) to broadcast bdK, j, update broadcast after data item all requests (include the off period, if lost efficacy, etc. Treat the time etc.);
(2) computation requests crash rate, mean access time and average tuning period
(3) avgS is first calculatedK, < j+1, then calculate fI(j)
(4) if fI(j-1) > fI(j), return Yes, otherwise return No
DynamicAjust can replace " the judging whether medium wave terminates " of step 7 in broadcast scheduling algorithm, only needs root Somewhat adjust according to context environmental.
5. dynamic index period modulation method (DAIL)
Request crash rate, mean access time and average tuning period can this disappears that with the difference of index Cycle Length Long, in order to make three reach optimal balance, the present invention needs to dynamically determine each index cycle.Document An Adaptive and Energy-Conserving Indexing Method forOn-Demand Data Broadcasting Systems gives and a kind of determined next rope according to the mean access time in the upper index cycle and average tuning period The method drawing Cycle Length, it is disadvantageous in that: on the one hand goes up an index cyclical indicator and can not embody next index The real-time condition in cycle and granularity are inadequate, and on the other hand it does not accounts for asking off period and crash rate.Document AnAdaptive and Energy-Conserving Indexing Method for On-Demand In DataBroadcasting Systems, Cycle Length determines that the granularity of method is the index cycle, and disposably determines index Cycle Length, the inventive method granularity is medium wave, dynamically determines whether the index cycle increases.The Cycle Length side of determination of the present invention Method DAIL concrete thought is: dope data item bd at data broadcast scheduling algorithm steps 3-6K, jAfter, it is further assumed that bdK, jBy extensively Broadcast, then statistical estimation bdK, 1To bdK, jBetween request crash rate, mean access time and average tuning period, finally according to These three index is newly worth the total cost calculated now, and total cost decides whether bdK, jIt is inserted into actual broadcast queue, i.e. indexes J is increased to from j-1.Formula seven is to The present invention gives index cycle cost computing formula based on three indexs, fIJ () is index Total cost when cycle is j.
f I ( j ) = &alpha; &times; Ratio k , < j + 1 + ( 1 - &alpha; ) &times; &beta; &times; A A k , < j + 1 + ( 1 - &beta; ) &times; AT k , < j + 1 avg S k , < j + 1 Formula seven
In formula seven, Part I is request crash rate cost, and Part II is waiting time cost, when comprising average access Between and average tuning period, represent that the waiting time accounts for the ratio of off period start offset amount, waiting time of some request is not Its off period deviation can be exceeded, from the off period of the 1st data item to jth data item successful request in the kth index cycle Start offset amount is as shown in formula eight.
avg S k , < j + 1 = &Sigma; t = 1 j &Sigma; r = 1 Z &Delta; S bd k , t , k , t , r R k , < j + 1 = &Sigma; t = 1 j &Sigma; r = 1 R bd k , t , k , t &Delta; S bd k , t , k , t , r &Sigma; t j R d k , t , k , t Formula eight
In formula eight, α, β represent request crash rate and the waiting time weight factor to total cost respectively.
Object function is to seek a suitable j to make fIJ () minimizes value.The index cycle is at least 1, and DAIL is often Starting to be incremented by judgement from the index cycle a length of 1 during the individual index cycle, adjustment algorithm is DynamicAjust.By 4.2 joints point It is 1 to start to be incremented by and can find an optimum index length value that analysis understood from the index cycle so that request crash rate and when waiting Between total Least-cost.
Process: DynamicAjust
Input: k, j, fI(j-1)
Output: Yes or No (Yes represents can increase the index cycle, No represent cannot)
(1) (assume) to broadcast bdK, j, update broadcast after data item all requests (include the off period, if lost efficacy, etc. Treat the time etc.);
(2) computation requests crash rate, mean access time and average tuning period
(3) avgS is first calculatedK, < j+1, then calculate fI(j)
(4) if fI(j-1) > fIJ (), return Yes, otherwise return NoDynamicAjust can replace broadcast In dispatching algorithm " the judging whether medium wave terminates " of step 7, based on context environment is only needed somewhat to adjust.
6. LxRxW dispatching algorithm based on dynamic index strategy
In system, LxRxW, index strategy and dynamic index length regulating method DAIL are combined by dispatching algorithm, calculate Method thinking is, when each index periodic scheduling, according to current request distribution situation, carries out one and assumes broadcasting process, first Assume that some data item is broadcasted, then can add up the number of request that will lose efficacy after being broadcasted, please by inefficacy according to this Asking number for calculating the scheduling strategy value of the data item being broadcasted, the priority being only worth minimum is maximum, this data item It is added in actual broadcast queue, then assumes again that second data item is broadcasted, the most all data item can be added up again Will invalidation request number, the same dispatching priority value calculating each data item, an actual data item can be selected to insert Enter in broadcast queue, by that analogy, after reaching to index Cycle Length, index set i.e. rope according to actual broadcast queue facility Drawing item, then index entry is inserted into broadcast queue foremost, the broadcast queue finally according to this tape index item carrys out actual broadcast Data item.
Specific embodiment described herein is only to present invention spirit explanation for example.Technology neck belonging to the present invention Described specific embodiment can be made various amendment or supplements or use similar mode to replace by the technical staff in territory Generation, but without departing from the spirit of the present invention or surmount scope defined in appended claims.

Claims (3)

1. an on-demand data broadcast scheduling method based on dynamic index, it is characterised in that based on definition: data item information Data structure include data item numbering, will invalidation request number, current request number, high latency and request list, Wherein request list comprises multiple request, and the data structure of solicited message includes the numbering of request, off period, access time, tune Humorous time and initial time, specifically include following steps:
Receiving step: when certain client sends a request of data by up channel to server, when request comprises request Between, request the off period and solicited message describe, first receiver module first looks at the information of request the most in request queue Or in broadcast queue, if, just it is added directly in the request list of corresponding data item, otherwise this request is by requested Receiver module is put in request queue;The priority row that all of request sets according to request time sequencing or user Row, first in first out;
Obtaining step: data acquisition module constantly takes out request from request queue in order, then from data base, Searching in Internet or caching and obtain the data item meeting request, after obtaining data item, this request has been added into scheduling In the ready queue of module;
Scheduling steps: index start time in cycle at each, ready queue is first adjusted by scheduler module according to dispatching algorithm Degree tissue, dynamically determines each data item in broadcast queue, then adds index information in broadcast queue, finally by Down channel broadcasts corresponding broadcast queue;
In described scheduling steps, scheduler module is first scheduling tissue according to dispatching algorithm to ready queue and based on data item is By invalidation request numberCurrent request numberHigh latencyAs the strategic factor of scheduling, based on public affairs Formula:
Scheduling strategy value
Wherein,Represent data item diUrgency;α and β is weight factor;I, j, k are positive integer, d represent treat wide Multicast data item, diRepresent i-th data item to be broadcast.
A kind of on-demand data broadcast scheduling method based on dynamic index the most according to claim 1, it is characterised in that institute In the scheduling steps stated, the concrete grammar of addition interpolation index information to broadcast queue is: assume initially that some data item quilt Broadcast, then can add up the number of request that will lose efficacy after being broadcasted, according to this by invalidation request number be used for calculate by The scheduling strategy value of the data item of broadcast, the priority being only worth minimum is maximum, and this data item is added to actual broadcast team In row, then assume again that second data item is broadcasted, can add up again the most all data item will invalidation request number, with Sample calculates the dispatching priority value of each data item, and an actual data item can be selected to be inserted in broadcast queue, with this Analogize, after reaching to index Cycle Length, index set i.e. index entry according to actual broadcast queue facility, then index entry is inserted To broadcast queue foremost, the broadcast queue finally according to this tape index item carrys out actual broadcast data item.
A kind of on-demand data broadcast scheduling method based on dynamic index the most according to claim 2, it is characterised in that build The step concrete grammar that lithol draws the cycle is as follows: doping data item bdk,jAfter, it is further assumed that bdk,jBeing broadcasted, then statistics is commented Estimate bdk,1To bdk,jBetween request crash rate, mean access time and average tuning period, new finally according to these three index Value calculates total cost now, and total cost decides whether bdk,jIt is inserted into actual broadcast queue, i.e. indexes and increase to j from j-1, Definition fIJ () is the index cycle total cost when being j:
Wherein, what the value of α and β weight factor determined three strategic factors affects size;RatioK, < j+1Index for kth The 1st medium wave of cycle is to the request crash rate of jth medium wave, AAK, < j+1For the 1st medium wave of K secondary index cycle to jth The mean access time of individual medium wave;ATK, < j+1Average tuning for the 1st medium wave of K secondary index cycle to jth medium wave Time;
Part I α × Ratio in formula twoK, < j+1For request crash rate cost, Part II For waiting time cost, comprise mean access time and average tuning period, represent that the waiting time accounts for off period start offset amount Ratio, waiting time of some request not over its off period deviation, from the 1st data item in the kth index cycle To the off period start offset amount of jth data item successful request as shown in formula five:
In formula five, α, β represent request crash rate and the waiting time weight factor to total cost respectively, and object function is to seek one Individual suitable j makes fIJ () minimizes value, the index cycle is at least 1, index Cycle Length during each index cycle from The index cycle a length of 1 starts to be incremented by judgement;For data item diDuring the kth secondary index cycle, jth data item starts The off period start offset amount of the r request of broadcast moments, i ∈ 1,2 ... N}, N are positive integer;K, j, t, r are the most whole Number, bdk,tDuring the kth secondary index cycle, the t data item.
CN201210422270.2A 2012-10-30 2012-10-30 A kind of on-demand data broadcast scheduling method based on dynamic index Active CN103036806B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210422270.2A CN103036806B (en) 2012-10-30 2012-10-30 A kind of on-demand data broadcast scheduling method based on dynamic index

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210422270.2A CN103036806B (en) 2012-10-30 2012-10-30 A kind of on-demand data broadcast scheduling method based on dynamic index

Publications (2)

Publication Number Publication Date
CN103036806A CN103036806A (en) 2013-04-10
CN103036806B true CN103036806B (en) 2016-12-21

Family

ID=48023308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210422270.2A Active CN103036806B (en) 2012-10-30 2012-10-30 A kind of on-demand data broadcast scheduling method based on dynamic index

Country Status (1)

Country Link
CN (1) CN103036806B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248500B (en) * 2013-05-22 2016-03-16 武汉大学 A kind of real-time data broadcast dispatching method as required considering data item size
CN104468143B (en) * 2014-10-30 2015-08-26 武汉市武钢三中 The broadcast scheduling algorithm of cycle continuous real-time query is supported under a kind of broadcast environment
CN104486248B (en) * 2014-12-04 2017-11-14 南京邮电大学 The AQM system and method for stochastic earlytest algorithm based on Generalized PID
CN106102167B (en) * 2016-06-22 2019-03-19 武汉大学 Data broadcasting scheduling adaptive channel divides and distribution system and method on demand in real time
CN110166380B (en) * 2018-02-14 2022-08-19 华为技术有限公司 Method for scheduling message, first network device and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959327B1 (en) * 2000-08-29 2005-10-25 International Business Machines Corporation System and method for dispatching and scheduling network transmissions with feedback
CN101163141A (en) * 2007-11-12 2008-04-16 中兴通讯股份有限公司 Method of implementing data immediate processing based on wireless session protocol
CN101236622A (en) * 2007-12-21 2008-08-06 北京方正国际软件系统有限公司 Multi- terminal parallel typesetting method, server and system
CN101252451A (en) * 2008-03-22 2008-08-27 桂林电子科技大学 Method and middleware for Web server system requesting to distinguish service ensuring service quality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959327B1 (en) * 2000-08-29 2005-10-25 International Business Machines Corporation System and method for dispatching and scheduling network transmissions with feedback
CN101163141A (en) * 2007-11-12 2008-04-16 中兴通讯股份有限公司 Method of implementing data immediate processing based on wireless session protocol
CN101236622A (en) * 2007-12-21 2008-08-06 北京方正国际软件系统有限公司 Multi- terminal parallel typesetting method, server and system
CN101252451A (en) * 2008-03-22 2008-08-27 桂林电子科技大学 Method and middleware for Web server system requesting to distinguish service ensuring service quality

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种新的数据广播调度失效性控制策略;胡文斌,王磊,范存联等;《中国科技论文在线》;20090228;第4卷(第2期);正文第80页第1栏第2段,第2栏第2.1小节,第82页第2栏第3节 *

Also Published As

Publication number Publication date
CN103036806A (en) 2013-04-10

Similar Documents

Publication Publication Date Title
CN103036806B (en) A kind of on-demand data broadcast scheduling method based on dynamic index
CN101981531B (en) Aggregating recurrent schedules to optimize resource consumption
Lv et al. Profit-based scheduling and channel allocation for multi-item requests in real-time on-demand data broadcast systems
Lu et al. Efficient data retrieval scheduling for multi-channel wireless data broadcast
CN107483981B (en) Resource Calculation monitoring distribution method, storage medium, electronic equipment and system is broadcast live
WO2005018254A3 (en) Provision of services by reserving resources in a communications network having resource management according to policy rules
Hui et al. Joint scheduling of proactive pushing and on-demand transmission over shared spectrum for profit maximization
Fang et al. A pull-based broadcast algorithm that considers timing constraints
Lu et al. Data retrieval scheduling for multi-item requests in multi-channel wireless broadcast environments
He et al. On-demand data broadcast with deadlines for avoiding conflicts in wireless networks
Dabbagh et al. Online assignment and placement of cloud task requests with heterogeneous requirements
Hu et al. An on‐demand data broadcasting scheduling algorithm based on dynamic index strategy
Liu et al. Broadcasting on-demand data with time constraints using multiple channels in wireless broadcast environments
CN103023820A (en) Admission control method available for fragmented reservation
CN116360922A (en) Cluster resource scheduling method, device, computer equipment and storage medium
Hu et al. A real-time scheduling algorithm for on-demand wireless XML data broadcasting
CN101964947A (en) Data scheduling platform of integrated information service broadcasting system
Li et al. Dynamic cache placement, node association, and power allocation in fog aided networks
Lee et al. Scheduling time‐critical requests for multiple data objects in on‐demand broadcast
Lei et al. Enhancement of the IEEE 802.11 power saving mode by prioritized reservations
Qiu et al. RPPM: a request pre-processing method for real-time on-demand data broadcast scheduling
Chiang et al. Disseminating data with time constraint based on multichannel over ubiquitous computing environments
Wu et al. A preemptive scheduling algorithm for wireless real-time on-demand data broadcast
Dewri et al. Real time stochastic scheduling in broadcast systems with decentralized data storage
CN105898714A (en) Real-time on-demand data broadcast scheduling system and method based on XML

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
TR01 Transfer of patent right

Effective date of registration: 20180525

Address after: 430051 Wuhan, Hubei Hanyang District Jinlong South Road and Longxiang street, Yuecheng block 12, 1601 room.

Patentee after: Wuhan Ge torch Intelligent Technology Co., Ltd.

Address before: 430072 Wuhan University, Luojia mountain, Wuchang District, Wuhan, Hubei

Patentee before: Wuhan University

TR01 Transfer of patent right