Embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present application, the technical scheme in the embodiment of the present application is carried out clear, complete
Site preparation is described, it is clear that described embodiment is only some embodiments of the present application, rather than whole embodiments.It is based on
Embodiment in the application, it is every other that those of ordinary skill in the art are obtained under the premise of creative work is not made
Embodiment, belongs to the scope of the application protection.
Below, present patent application embodiment will be so that Alipay bill business enters an item of expenditure in the accounts platform as an example, and it is one
Individual typical distributed system as shown in Figure 7,8, come the system of the measurement of the tasks carrying progress that describes the application and displaying and
Method.The system of tasks carrying progress metrics and displaying based on runtime data includes server end and one or more clients
End(At least one client), and realize corresponding method in the system.The tasks such as download, installation under other distributed systems
Implementation progress is measured also similar with displaying.
In Alipay bill business enters an item of expenditure in the accounts platform, Alipay bill serially needs to generate many families(It is multiple)The request of mechanism
File, and the time that the demand file for generating each mechanism needs is directly proportional to the data volume of the mechanism of this in database, and in string
When row generates each mechanism file, background interface needs to show file generated progress, progress bar as shown in Figure 1 by progress bar
Schematic diagram.General assignment includes 6 subtasks in Fig. 1, requires to show the completion shape of each subtask in progress bar dialog box
State, and the remaining time needed, and then estimate the progress bar of general assignment and total remaining time.Based on runtime data
Estimation can also be realized by the time series forecasting of self study.
Here, the demand file of multiple mechanisms is generated in the client of distributed system, and generates the request of each mechanism
The time that file needs is directly proportional to the data volume of the mechanism of this in database, with the growth of whole business datum scale, system
In runtime data gradually tend to a constant value.And when server-side serial generates each mechanism file, pass through
Self study run time sequence prediction constantly adjusts the weighted value of each subtask, and client background interface is based on continuous adjustment
Subtask weighted value pass through progress bar show file generated progress.Although can constantly have newly in the data of database Zhong Ge mechanisms
Increase, delete, modification, but be due to data scale than larger, relative scale is very constant between each organization data amount, and with
The development dataset for business is more and more, and this is more and more constant than regular meeting, and then the weights of task can tend to steady state value.
The realization of the present processes and system will be described in detail with specific example below.
The tasks carrying progress metrics based on runtime data of the application and the method for displaying, based on before this subtask
Task and each subtask therein execution and the runtime data that generates, measure holding for this subtask and its each subtask
Traveling degree, and control to show that the real-time progress of each subtask execution of this subtask and control show that each son of this subtask is appointed
Business performs the position that schedule is proceeded to(Such as progress metrics and control exhibiting device);Complete after this subtask, according to this
It is corresponding that the actual execution completion in each subtask in task and its each subtask before subtask, this subtask is generated
Runtime data, be predicted with update runtime data of the runtime data based on the renewal measure next subtask and
The implementation progress of its each subtask simultaneously controls displaying progress(Such as prediction meanss).It also relates to initialization(Such as initial makeup
Put), second of task run based on the runtime data initialized, and task run afterwards with operation before when
Self study prediction process based on data, so as to measure task and subtask implementation progress and the exhibition for controlling progress bar with this
Show.Tasks carrying progress metrics accordingly based on runtime data and the system of displaying, with server end and multiple client
Exemplified by the distributed system of structure.Server end, collects each subtask in the multiple client kth subtask and performs what is produced
Runtime data, each subtask performs the runtime data produced in data and kth subtask during based on history run, during progress
Between sequence prediction, update for measuring the runtime data of the subtask of kth+1 and its each subtask implementation progress, and send renewal
Runtime data afterwards is to the multiple client;The natural number of wherein k >=2.The specific self study prediction of the system and progress degree
Amount and displaying control correspond to the above method.This all will deploy to describe in example below.
Tasks carrying progress metrics and agreement mark used in the method and system of displaying based on runtime data
It is as follows:
Provided with serial pending task comprising in n subtask (1≤i≤n) kth time operation, its implementation progress passes through
Progress bar shows that agreement variable is as follows:
The actual execution time of i-th of subtask:Tk(ji);
The prediction of i-th of subtask performs the time:ETk(ji);
Kth subtask is actual to perform the total time T completedK is total;
The estimation of kth subtask performs the total time ET completedK is total=Tk(j1)/W(k-1)1;
In kth subtask, the task weights estimation of the subtask in general assignment k of i-th of subtask:Wki=Tk-1
(ji)/(Tk-1(j1)+Tk-1(j2)+…+Tk-1(jn))*100%(k≥2).Here, should because this subtask also off-duty is completed
Subtask run time is unknown, and total time is also unknown, thus can use last time Tk-1It is used as estimate.This is a kind of
Better simply method of estimation, in the present embodiment, will also provide a kind of optimization algorithm based on runtime data, for example, below will
The preferred self study Time Series Forecasting Methods specifically described:" in distributed system during self study based on runtime data
Between sequence prediction " algorithm.
The progress bar total length pre-set:L;
I-th of subtask has performed the length of progress bar advance in kth subtask(I.e. the subtask is shared on a progress bar
Length):Lki;
The currently displaying length advanced to of progress bar:Lrealtime
I-th of subtask used time in kth subtask:UTk(ji)
Kth subtask general assignment has used the time(Monitor that kth subtask is actual and have been carried out the time how long):
UTK is total
Kth subtask estimates remaining time:ETK is remained=ETK is total-UTK is total
The application tasks carrying progress metrics and displaying, are mainly described from three phases:
1)First time task run(Initial phase can claim)
Software is in exploitation test process, and certain process by debugging has just carried out " the first of task in the process
Secondary operation ", as shown in Figure 2(Task is in test environment or the flow of true environment operation for the first time).Because task does not have completely
It is out-of-date to perform, and is that, without the related time data in each any subtask, can only now use tradition side as elucidated before
Method shows progress(Generally, this initial procedure does not show user, not accurate also not serious enough), each subtask schedule bar
Advance 1/n, it is important that now need to write down the actual execution time T that each subtask is performed1(ji), and it is calculated total
Weight W in time1i.Such as a kind of simplest calculation W1i=T1(ji)/T1 is total*100%。
In fig. 2, in running software or debugging process, after general assignment starts execution, such as step S201, n son times
Business starts to perform.Judge whether whole subtasks in step S207(N)Completion is performed, if "No"(N)Step S203 is then arrived to enter
Bar advance 1/n*100% is spent, and performs step S205 and records subtask execution time T1(ji), return step S201 continuation
Next subtask is performed.Until step S207 is judged as that whole subtasks perform completion, that is, it is judged as "Yes"(Y), then enter
Enter step S209 progress bars and proceed to 100%.Each subtask weights W is calculated in step S211li=T1(ji)/T1 is total, and in step
Rapid S213 stores each subtask weights.
Wherein, in step S205, the execution time T of each subtask of system start recording1(ji), in the process, progress
Bar is shown according to usual way(It is inaccurate also not serious, because only that once), that is, preset each subtask and account for total appoint
The weight of business(Weights)It is just 1/n(The task weights of subtask).So after the completion of a subtask, Task Progress bar is by before
Enter 1/n*100%(This is a kind of mode of the initialization of citing, and other progress modes can also be used), obtain each son and appoint
After the execution time of business, initialization is calculated(First subtask)I-th of subtask task weights:
Wli=T1(ji)/T1 is total。
For example:Initialize for the first time(The debugging stage)Task have 3 subtasks.1st sub- tasks carrying, judgement is not held
Row is completed(3 altogether), progress bar advance 1/3*100%, the record actual execution T in the 1st subtask1(j1)=20s, then successively
Perform the 2nd, the 3rd subtask, progress bar advances 1/3*100% in succession, and will record actual execution time T1(j2)=35s、T1
(j3)=45s, T1 is total=100s.Judgement has performed 3 sub- Task Progress bars and has proceeded to 1(I.e. 100%), calculate appointing for each subtask
Business weights:W11=T1(j1)/100=0.2、W12=0.35、W13=0.45, and store.(S refers to unit:Second).
So, there is running time T when performing the subtask of a subtaskk(ji), based on this generation task weights
Wki, the time series forecasting of each subtask with regard to next subtask can be used for, show its progress bar measure, that is, when make use of operation
Data are measured and shown to tasks carrying.
2) first subtask of second of operation later
After the initialization that first time task run process completes task weights is calculated, based on this, second and its with
Being run afterwards for task can be carried out recording and predict.Wherein, prediction mode preferably can be using the self-study described below
Practise Time Series Forecasting Methods and carry out lower subtask weights(Runtime data)More accurate prediction.
For example:As shown in figure 3, the execution time T of first subtask of second of later each subtask operationk(j1)(k
≥2)It is to weigh the basis that other subtasks perform the time, estimation run time ETk(j1) it is kth -1 time(It is i.e. last)Task
The real time T of first subtask of middle operationk-1(j1), as estimate, show that this first sub- tasks carrying enters
Degree, and then estimate remaining time, subtask remaining time estimation T is pointed out as shown in Figure 1k-1(j1)-UTk(j1).After the completion of record
The Tk(j1), and progress bar advance W(k-1)1*L.Importantly, thus calculating and predicting the total time for recording remaining task and each son
Task execution time, it can be deduced that:
The estimation of this subtask performs the total time completed:ETK is total=Tk(j1)/W(k-1)1
I-th of subtask(2≤i≤n)Prediction perform the time:ETk(ji)=W(k-1)i*ETK is total
I-th of subtask shared length estimate on a progress bar:Lki=W(k-1)i*L
Calculate after result, export result of calculation.These results are used for for example:Used according to the execution time prompting of the prediction
The execution remaining time ET of the family subtaskk(ji)-UTk(ji);Hereafter it will be performed and be completed long shared by progress bar with the subtask
Spend LkiAnd the actual subtask is performed with time etc., pace during control progress bar displaying is such as shown more accurately
Lrealtime, to realize the displaying of more accurate progress bar and the fitting of tasks carrying progress.Here prediction mode can be preferred
Ground is using the self study Forecasting Methodology described below.
Complete behind the subtask, and then progress bar advance W(k-1)1*100%。
First sub- tasks carrying detailed process after second of Fig. 3:
Step S301, first sub- tasks carrying completes and records execution time Tk(j1)。
Step S303, due to passing through " 1)Each height is had been obtained for after the first time tasks carrying of first time task run "
The weights W of taskli, and the actual execution time T for performing completion and recording in first subtaskk(j1), then it can calculate(In advance
Survey or estimate)As a result:
(1)The estimation of this subtask performs the total time ET completedK is total;
(2)I-th of subtask of this subtask(2≤i≤n)Prediction perform time ETk(ji);
(3)I-th of subtask of this subtask shared length L on a progress barki。
The result that step S305 outputs are calculated.
Step S307 progress bar advances W(k-1)1* 100%, into next task.
Hold above-mentioned 1)In example:3 subtasks of the second subtask, its 1st sub- tasks carrying estimates run time
ET2(j1)=T1(j1)=20s, after the completion of progress bar advance 0.2L.And record execution time T2(j1)=25s.It can calculate second
The estimation of task performs the total time for completing to need:ET2 is total=T2(j1)/Wl1=25/0.2=125s.Then the 2nd~3 below is provided
The prediction ET of the execution time of individual subtask2(j2)=Wl2*ET2 is total=0.35*125=43.75s、ET2(j3)=56.25s.Calculate the 1st
~3 subtasks are in length L shared by progress bar21=Wl1*L=0.2L、L22=Wl2*L=0.35L、L23=0.45L, that is, each son estimated
The progress of task.Self study Forecasting Methodology described below can be preferably used herein.
Here, when progress display, it can also control finer and smoothlyer, for example:The estimated execution 20s of 1st subtask,
It is assumed that L is 100mm, then the 1st subtask estimation accounts for progress bar length 20mm, controls its each second or shorter time one lattice of advance
Mode, then progress display can be finer and smoother, lifting Consumer's Experience impression.The control of other subtask progresses can also use this
As soon as every very short time, the mode taken a step forward.
3)Other subtasks of operation after second
Fig. 4 describes second of general assignment execution flow chart.Other subtasks of operation refer to second after second
In the implementation procedure of secondary general assignment, other subtasks beyond its first subtask.Each general assignment afterwards performs general
Performed according to identical step.The task weight of initialization is obtained in completion first time general assignment operation and by each afterwards
Behind first subtask of task run, based on the subtask total time, i-th of subtask predicted(2≤i≤n)It is pre-
Survey execution time and i-th of subtask shared length on a progress bar;After i-th of subtask has been performed in this time operation, enter
Degree bar proceeds to Lrealtime=(Lk1+Lk2+…+Lki);And in i-th of subtask implementation procedure progress bar real-time exhibition position
For Lrealtime=(Lk1+Lk2+…+Lki-1)+(UTk(ji)/ETk(ji))*Lki.Pass through runtime data(Subtask run time,
Subtask weights of last time etc.)To the measurement of sub- tasks carrying progress, the speed of progress bar displaying is controlled so that the Lrealtime
Displaying is more accurate.And runtime data, which is predicted, using self study Forecasting Methodology described below will be more conducive to its measurement
Accuracy.
After whole subtasks of all kth time operations are completed, progress bar display is completed, and according to this operation again
Calculate this each subtask weights and store each subtask weights.Each subtask afterwards is performed the weights weight based on self study
It is new to calculate a sub- task weight, updated, more and more accurately, increasingly tended to flat one after another with the weight of this subtask
Surely, system also tends to stabilization.
Step S401 general assignments, which are performed, to be started.Here general assignment not 1) the first subtask initialization task in other words.
Step S403, first sub- tasks carrying simultaneously handles accordingly:The flow of first sub- tasks carrying such as 2) second
First subtask of operation after secondary, referring to Fig. 3 example, after the completion of output result of calculation, the progress bar of estimation advance
Progress is W(k-1)1*100%。
Step S411 judges whether whole subtasks(n-1)It is individual to perform completion, if not(N)Then enter step S405, step
S407。
In step S405, progress bar proceeds to L in real time in i-th of subtask implementation procedurerealtime=(Lk1+Lk2+…+
Lki-1)+(UTk(ji)/ETk(ji))*Lki.Step S407 is entered back into, i-th of subtask, which is performed, advances fully to Lrealtime=(Lk1+
Lk2+…+Lki).When task weights based on runtime data such as subtask, actual monitoring perform time, estimation and performed
Between, estimation perform complete when shared length, measure tasks carrying progress and control the pace of progress bar, to realize ratio
The displaying and the fitting of tasks carrying progress of more accurate progress bar.Here, because the real-time advance of progress bar is based on several
It is more accurately to estimate it is predicted that carrying out, and if progress bar can be adjusted to relevant position after the completion of being performed i-th of subtask
Next subtask execution is carried out again(Such as utilize step S405, S407), then again can be more accurate, subtask measurement below
It is more convenient, so as to play role of correcting.
In step S409, record the subtask and perform time Tk(ji)。
Until step S411 is judged as that whole subtasks of this time operation perform completion, if being judged as(Y), then enter
Step S413 progress bars proceed to 100%.
In step S415, this each subtask weights W is calculatedk,i, each subtask weights is stored in step S417, then enter
Enter step S419 weights to recalculate.Preferably, using the self study of runtime data in the distributed system hereinafter mentioned
Time Series Forecasting Methods, based on the runtime data newly collected, the weight to be used next subtask carries out weights
Recalculate.
Wherein, in step S409, the subtask of each client records each subtask and performs the time after being fully completed
Tk(ji), complete just to obtain new data T because each subtask is performedk(ji), calculate the weights of new subtask.It is preferred that
Ground, based on these execution times, weights be exactly the client this time(Kth time)The operation produced in the running of general assignment
When data, can be used to abundant historical data base, and then improve precision of prediction, and other clients are when using the software
Runtime data can be produced, also further up to the effect of rapid abundant historical data base and then raising precision of prediction;And it is all
Predicted value such as ETk(ji)、ETK is total, i-th of subtask shared length L on a progress barki, can recalculate herein(Mode with above
Description is similar)And further re-computation weights(Step S411).Here provide in a kind of improved distributed system based on operation
When data self study Time Series Forecasting Methods, as preferred prediction mode, will be explained hereinafter.
Hold above-mentioned 1)、2)Middle example:Second of task run, its 1st sub- tasks carrying and completion the 2nd)The operation of bar,
Judgement has been not carried out all tasks, into the execution of the 2nd subtask, then during the 2nd sub- tasks carrying of calculating, progress bar
The position L advanced in real timerealtime=L21+(UT2(j2)/ET2(j2))*L22If, monitor that the 2nd subtask has been held here
Capable time UT2(j2)=10s, then now control progress bar pace, is shown to up to Lrealtime=0.2L+(10/
43.75)*0.35L=0.28L;2nd sub- tasks carrying is complete, proceeds to:
Lrealtime=L21+L22=0.2L+0.35L=0.55L, and the record actual time T performed in the 2nd subtask2
(j2)=45s.
Judge not completing whole subtasks, continue the 3rd sub- tasks carrying, calculate its real-time progressive position Lrealtime=
0.55L+10/56.25*0.45L=0.63L, it, which has been performed, proceeds to Lrealtime=L, and subtask is actual performs use for record the 3rd
Time T2(j3)=40s.It is T to actually accomplish total time2 is total=25+45+40=110s。
Judge to complete whole subtasks, progress bar proceeds to last 100%.And calculate the task of second of each subtask
Weights W21=25/110=0.227, W22=45/110=0.409, W23=40/110=0.364, and store.And can be according to W11=0.2,
W12=0.35, W13=0.45 and W21=0.227, W22=0.409, W23=0.364 recalculates each subtask weights, for example, use the time
Sequence prediction mode is calculated, or more optimally use describes a kind of improved self study time series forecasting of the application below.This
In simply, such as average value mode is predicted, obtains the task weights of new each subtask for third time task:W21=
0.214, W22=0.380, W23=0.407。
So, these task weights are all the runtime datas of subtask according in current tasks carrying(The execution time,
Task weights etc.)Come what is updated(Re-computation), more accurately to predict tasks carrying progress in tasks carrying next time
And show the tasks carrying progress of measurement.
Hold above-mentioned example:
If third time tasks carrying, the 1st sub- tasks carrying, estimation run time ET3(j1)=T2(j1)=25s, and record
Execution time T3(j1)=20s。
Calculate the total time ET of the second subtask3 is total=T3(j1)/W21=20/0.214=93s;
Then the prediction ET for performing the time of the 2nd~3 subtask below is provided3(j2)=W22*T3 is total=0.380*93=
35.34s、ET3(j3)=37.85s;
The 1st~3 subtask of prediction is calculated in length L shared by progress bar31=W21*L=0.214L、L32=W22*L=
0.380L、L33=0.407L;
Export result of calculation and for the complete 1st subtask of third time tasks carrying, progress bar advance 1/3*100%.
Judgement has been not carried out all tasks, into the execution of the 2nd subtask, then calculates the 2nd sub- tasks carrying process
In, the position L that progress bar advances in real timerealtime=0.214L+(10/35.34)*0.380L=0.322L;
2nd sub- tasks carrying is complete proceeds to Lrealtime=0.214L+0.380L=0.594L, and the 2nd subtask of record
The actual time T performed3(j2)=35s.
Judge not completing whole subtasks, continue the 3rd sub- tasks carrying, calculate its real-time progressive position Lrealtime=
0.594L+10/37.85*0.407L=0.702L, it, which has been performed, proceeds to Lrealtime=L, and subtask is actual holds for record the 3rd
The time T of row3(j3)=40s.
Judge to complete whole subtasks, progress bar proceeds to last 100%.And calculate the task of each subtask of third time
Weights W31=20/(20+35+40)=0.211, W32=35/95=0.368, W33=40/95=0.421, and store.And can be according to W11
=0.2, W12=0.35, W13=0.45 and W21=0.227, W22=0.409, W23=0.364 and W31=0.211, W32=0.368, W33=
0.421 recalculates each subtask weights, and such as average mode is calculated is for the weights of the 4th subtask:W31=0.213, W22
=0.376, W23=0.412。
Thus, the runtime data based on storage repeatedly(Such as the historic task weights of storage)With new runtime data
(Subtask is such as completed according to the task weights for performing Time Calculation), weights of going out on missions are recalculated, in the 4th time below,
In the progress metrics prediction and displaying of five times ... tasks, it is reasonable, accurate and stably to more they tend to, i.e., weights increasingly tend to be steady
Fixed value, it is more accurate, it is also more accurate to estimation tasks implementation progress and control progress bar displaying.
Here, subtask progress fitting has Recursivity, if that is, some subtasks can be further divided into as more
Fine-grained two grades of subtasks, then the program still can be used on these two grades of subtasks, by that analogy, until can not
Untill use.It so can more accurately be fitted the precision of subtasks at different levels.
Below, a kind of improved more excellent time series forecasting algorithm of the application will be described in detail, based on self-learning method,
Carry out weights re-computation.
The self study time series forecasting of distributed runtime data:Include server end and multiple below in conjunction with one
Client(As Alipay bill business is entered an item of expenditure in the accounts platform)System, to tasks carrying progress metrics described above and practical method
It is specifically described.Improve constantly weights Wk, i levels of precision in operation by self study process.Fig. 5 closed loop is described
The self study process of whole distributed system, the solution that the application is provided just possesses the self study energy based on runtime data
Power.Recalculated when each tasks carrying produces service data, to reach the increase with number of run, progress bar
Progress shows the more accurate purpose of fitting degree with true progress.
First, step S501 systems instruct client to run with newest weights;Step S503, with the subtask of client
Operation constantly produce runtime data, such as task weights Wki;Then, step S505, server end passes through the client that receives
End runtime data is enriched constantly historical data base, the historical data storage module 603 in such as Fig. 6;Step S507, system is utilized
The higher weights of new database computational accuracy, realize self study.
So, using distributed system multi-client, the characteristics of server centered, using distributed data collection(Such as Fig. 7
In client 1,3,4), centralized data processing and prediction(Such as server end).Processing procedure is for single client(As schemed
Client 8 in 7)Transparent, single client improves precision of prediction rapidly in the case where unaware is without computing.
The prediction of the runtime data of client such as task weights is completed in server end, refers to Fig. 6.In server
The structure at end 600 includes runtime data receiver module 601, historical data storage module 603, time series forecasting module 605
And the sending module 607 that predicts the outcome.
First, the runtime data receiving module 601 of server end 600 receives the runtime data of client 1,3,4, then
It is deposited into history data store module 603, and notifies time series forecasting module 605, time series forecasting module 605 is sent out
Existing new historical data enters in historical data storage module 603, starts to call the data in historical data storage module 603
Carry out task weights prediction(The prediction of the task weights of server end 600 is will be described in detail below), finally by result(New appoints
Business weights)By predicting the outcome, sending module 607 is sent to client 8, and the task weights for being then based on updating are carried out to task
Implementation progress is measured and shown on a progress bar.It should be noted that historical data storage module 603 is needed according to operation
When data receiver time, safeguard that its time series carries out unified time-sequencing, in case time series forecasting module 605 makes
With.
The overall work of the self study time series forecasting based on client runtime data of the application is described in Fig. 7
Mechanism.Its system run includes server end 600 and multiple client associated with it(Such as client 1~8).Task
Execution is according to time point t0~t6Gradually backward(Time shaft as shown in Figure 7), now using the subtask of one of client 8 as
Example, to illustrate presently filed embodiment.From the angle of client 8:
In t0Moment, the kth time execution task of client 8, progress bar is measured and shown according to old task weights(Such as
[0] client shown in is measured and shown according to old weights);
In t1Moment(Such as the time:t1It is shown), the weights of each subtask of client 8 are sent to server end 600, and
Record the actual execution time T of i-th of subtask of the momentk(ji) and calculate corresponding weights WkiAnd store to historical data
In storage module 603.
In t2~t4Moment(Such as the time:t2、t3、t4It is shown), client 1,3,4, also operation complete identical task, and
And the corresponding weights in each subtask are sent to server end 600;
At this moment, such as runtime data receiver module 601 of server end 600 has collected more runtime datas(Such as [1]
Client is sent shown in real-time running data, i.e., send runtime data in real time to server end, and pre- according to time series
Survey method is predicted(As [2] calculate each task weights in real time), and new forecast power is sent to client 8(Such as the time:
t5It is shown);
In t6Moment(Such as the time:t6It is shown),+1 execution task of 8 kth of client, progress bar is according to new weights progress
Measurement and displaying, new weights estimation formula are Wk+1i=Tk(ji)/(Tk(j1)+Tk(ji)+…+Tk(jn))*100%(k≥2).It is logical
Cross the execution of many subtasks of each client, server end 600 by according to service hours it is predicted that obtaining the son of each client
Time series forecasting process in the weights of task, i.e. distributed system.As shown in Table 1 below the fortune that server end 600 is obtained
Data during row(With the task weights W of subtaskkiExemplified by):
Table 1:
|
Wk,1 |
Wk,2 |
Wk,3 |
Wk,4 |
…… |
1st operation |
0.234 |
0.102 |
0.028 |
0.428 |
|
2nd operation |
0.239 |
0.100 |
0.021 |
0.421 |
|
3rd operation |
0.134 |
0.095 |
0.031 |
0.431 |
|
The 4th is run |
0.230 |
0.097 |
0.029 |
0.429 |
|
The 5th is run |
0.232 |
0.096 |
0.028 |
0.427 |
|
6th operation |
0.231 |
0.098 |
0.028 |
0.428 |
|
…… |
|
|
|
|
|
W in table 1k,iWeights during operation of i-th of subtask in kth time operation are represented, these runtime datas are predictions
Basis, when collecting k data in historical data storage, the purpose of time series forecasting is exactly to utilize these data predictions
Go out the subtask weights of kth+1 Wi value.Such as W in table 12By one group of weights of the 1st time to the 6th time, the weights that prediction is the 7th time.
Time series forecasting module can be predicted using conventional Time Series Forecasting Methods, these methods include rolling average,
Exponential smoothing, linear trend, secondary trend etc..
Each subtask is being obtained after the weights estimation of kth time operation, similarly can be with progressive method to entering
The present position of degree bar is shown as formula Lrealtime=(Lk1+Lk2+…+Lki-1)+(UTk(ji)/ETk(ji))*Lki.(Such as client
End 8 will be measured and be shown according to new weights).
So, client 8 is during kth time and the subtask of kth+1 are performed, not any other behavior, but it is in kth
The weights predicted value obtained for+1 time is more accurately, because new weights are based on renewal and more weights.So,
One client(Such as client 8,1,3,4)When the task of execution, the service hours of itself generation can be constantly obtained
According to these data enrich database again, and providing more data for prediction supports.And time series forecasting is to be based on history
Database therefore can increase predict the degree of accuracy so that instruct system operation.
Generally, this kind of distributed system possesses a large amount of clients, and these clients are constantly be generated runtime data simultaneously,
If by these data applications, historical data base can be expanded rapidly.And for single client, per subtask
Perform circulation and carry out data prediction, the precision of prediction between its adjacent 2 subtask is performed can be lifted rapidly, be shown in Table 1.
In this regard, being improved the obtained tasks carrying progress metrics and ways of presentation based on runtime data, subtask
Recursivity is fitted, so as to the displaying of the implementation progress and progress that are accurately fitted task, each appoint is predicted in high accuracy
It is engaged in execution time and remaining time, whole tasks carrying total times.Its each task scale relative scale that is particularly suitable for use in relatively is stablized
A group task.
Improved self study time series forecasting system and method in present patent application, for distributed system client point
The characteristics of producing runtime data, server centered processing data is dissipated, conventional method is improved, main feature is as follows:
1st, some client can constantly obtain the runtime data of itself generation when the task of execution(These
Data enrich historical data base again, and providing more data for prediction supports), and time series forecasting is to be based on history number
According to storehouse, therefore the degree of accuracy of prediction can be increased, and then instruct the operation of system.
2nd, distributed system generally possesses substantial amounts of client, and these clients simultaneously may be also in continuous generation operation
Data, if these data, which are put into historical data storage module, can also expand historical data base rapidly.
3. used in self study process and progress bar measurement and display methods, without knowing task total time and each son
Task time, the weights of each subtask need to be only obtained during first time is run or tests, by the fitting of pin-point accuracy,
For multi-level task, next stage subsystem can be further subdivided into subtask, is fitted by subtask recurrence, task
Weights can constantly be corrected by self study, to be continuously increased prediction accuracy.
The beneficial effect that it brings is such as:For single client, each tasks carrying circulation carries out data prediction, its
Precision of prediction between adjacent 2 subtask is performed can be lifted rapidly, processing procedure be for single client it is transparent,
Single client improves precision of prediction rapidly in the case where unaware is without computing.
The tasks carrying progress metrics based on runtime data of correspondence the application and the method for displaying, also have its application
The system of tasks carrying progress metrics and displaying based on runtime data, including server end and multiple client are wherein, clothes
Business device end also includes in the internal memory of server end:Runtime data receiver module, is received from the multiple client
The runtime data;Historical data storage module, during storage history run data and receive that the client produces it is new
The runtime data;Time series forecasting module, during according to the operation of runtime data receiver module reception
Data when data and the history run of historical data storage module storage, by the self study Time Series Forecasting Methods,
The next Runtime of prediction, weights when calculating the new operation;Predict the outcome sending module, by time series forecasting
One be sent in the multiple client that predicts the outcome of module.
Each embodiment in this specification is typically described by the way of progressive, and what each embodiment was stressed is
With the difference of other embodiment, between each embodiment identical similar part mutually referring to.
The application can be described in the general context of computer executable instructions, such as program
Module or unit.Usually, program module or unit can include performing particular task or realize particular abstract data type
Routine, program, object, component, data structure etc..In general, program module or unit can be by softwares, hardware or both
Combination realize.The application can also be put into practice in a distributed computing environment, in these DCEs, by passing through
Communication network and connected remote processing devices perform task.In a distributed computing environment, program module or unit can
With positioned at including in the local and remote computer-readable storage medium including storage device.
In a typical configuration, computing device includes one or more processors (CPU), input/output interface, net
Network interface and internal memory.
Internal memory potentially includes the volatile memory in computer-readable medium, random access memory (RAM) and/or
The forms such as Nonvolatile memory, such as read-only storage (ROM) or flash memory (flash RAM).Internal memory is computer-readable medium
Example.
Computer-readable medium includes permanent and non-permanent, removable and non-removable media can be by any method
Or technology realizes information Store.Information can be computer-readable instruction, data structure, the module of program or other data.
The example of the storage medium of computer includes, but are not limited to phase transition internal memory (PRAM), static RAM (SRAM), moved
State random access memory (DRAM), other kinds of random access memory (RAM), read-only storage (ROM), electric erasable
Programmable read only memory (EEPROM), fast flash memory bank or other memory techniques, read-only optical disc read-only storage (CD-ROM),
Digital versatile disc (DVD) or other optical storages, magnetic cassette tape, the storage of tape magnetic rigid disk or other magnetic storage apparatus
Or any other non-transmission medium, the information that can be accessed by a computing device available for storage.Define, calculate according to herein
Machine computer-readable recording medium does not include the data-signal and carrier wave of non-temporary computer readable media (transitory media), such as modulation.
Finally, in addition it is also necessary to explanation, term " comprising ", "comprising" or its any other variant are intended to non-exclusive
Property include so that process, method, commodity or equipment including a series of key elements not only include those key elements, and
Also include other key elements for being not expressly set out, or also include for this process, method, commodity or equipment inherently
Key element.In the absence of more restrictions, the key element limited by sentence "including a ...", it is not excluded that including described
Also there is other identical element in process, method, commodity or the equipment of key element.
Specific case used herein is set forth to the principle and embodiment of the application, and above example is said
It is bright to be only intended to help and understand the present processes and its main thought;Simultaneously for those of ordinary skill in the art, foundation
The thought of the application, will change in specific embodiments and applications, in summary, and this specification content is not
It is interpreted as the limitation to the application.