CN102609278B - Method and device for software distribution - Google Patents
Method and device for software distribution Download PDFInfo
- Publication number
- CN102609278B CN102609278B CN201110402128.7A CN201110402128A CN102609278B CN 102609278 B CN102609278 B CN 102609278B CN 201110402128 A CN201110402128 A CN 201110402128A CN 102609278 B CN102609278 B CN 102609278B
- Authority
- CN
- China
- Prior art keywords
- software
- described target
- super
- data block
- concordance list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
The invention provides a method and a device for software distribution. The method includes that before downloading target data blocks of target software, examples send an example index table acquiring request to target super-examples for requesting the target super-examples to provide the example index tables of the target data blocks after the target super-examples corresponding to the block group of the target data blocks to be downloaded are searched in grouped tables if the grouped tables of the target software are stored in the examples; the examples receive the example index tables sent from the target super-examples if determining that the target data blocks contain the corresponding example index tables; the example index tables comprise index information of all examples with downloaded target data blocks; and the target data blocks can be acquired from one example in the example index tables. The method for software distribution is low in time delay during resource positioning, download speed is high, and download time delay is reduced.
Description
Technical field
The present invention relates to computer technology, particularly relate to a kind of software distribution method and device.
Background technology
Namely software serve, and (Software-as-a-Service is called for short SaaS) is a kind of software service operation mode being provided software by Internet.Under SaaS pattern, service provider's full powers administer and maintain software, the software that user's rental service provider provides, without the need to safeguarding software.In the conventional mode, software package needs intactly to dispose (copy, install) could start to perform in execution environment, if user asks the current software do not disposed, just must wait in whole deployment phase.Therefore, traditional deployment strategy is obviously conflicted with the operating characteristic as required of SaaS pattern.A solution disposes all software in advance in each environment, but this is obviously extremely inflexible for operator, can cause the huge wasting of resources.Another solution disposes the software of required kind, requirement in advance by analyzing user's request, can alleviate the wasting of resources, but still underaction.Thus, miscellaneous software has great impact with the efficiency of which kind of policy deployment on software operation in execution environment.
It is solve capable means of disposing a difficult problem that software streaming loads.In streaming loading scenario, in execution environment, do not dispose target software in advance, but in units of block, download software data according to program requirements.Research shows that, due to the locality that program is run, software usually can not use whole data in startup, operation.Thus, operationally reading software data can obtain toggle speed faster than disposing to rerun in advance as required.Streaming load mechanism is higher for the rate request of digital independent, whenever needing to use the data not yet downloaded, just needs operation suspension, until data downloaded complete from server.In addition, software streaming loads and reads and writes in units of block, increases the access frequency of XM to software storage, has higher requirement to the performance of software dispatch mechanism.
But current software distribution method adopts C/S model, each client will from software server downloading software, and data are downloaded comparatively slow, cause download to postpone longer, cannot meet the demand of the low delay that software streaming loads.
Summary of the invention
The invention provides a kind of software distribution method and device, when the number of nodes for solving software to be loaded is more, existing method for loading software postpones longer defect.
A kind of software distribution method provided by the invention, comprising:
Before example downloads the target data block of target software, if described example preserves the grouping sheet of described target software, after described example finds the super example of target corresponding with target data block place block group to be downloaded in described grouping sheet, send example concordance list to the super example of described target and obtain request, for the example concordance list of asking the super example of described target to provide described target data block; The data block of described target software forms multiple pieces of groups, and a block group at least comprises a data block, and described grouping sheet comprises the one-to-one relationship of block group and super example;
If the super example of described target determines that described target data block has corresponding example concordance list, described example receives the example concordance list that the super example of described target sends; Described example concordance list comprises the index information of all examples of the data block downloading described super instance management;
Described example obtains described target data block from an example in described example concordance list.
Another kind of software distribution method provided by the invention, comprising:
Software storage server receives the download request that example sends, for asking the target data block downloading target software;
Upgrade the instance access table of described target software, determine that the instance access amount of described target software has reached networking threshold value and the number of the super example of described target software has reached the number of block group of described target software time, the grouping sheet of described target software is sent to described example, make described example according to described grouping sheet, from the example concordance list of target data block described in the super case-based system that the block group at described target data block place is corresponding, and from described example concordance list target data block described in a case-based system; The data block of described target software is divided into multiple pieces of groups, and described grouping sheet comprises the one-to-one relationship of block group and super example; The instance access amount of described target software is the number that the example of described target software is downloaded in request; Described example concordance list comprises the index information of all examples of the data block downloading described super instance management.
A kind of software download device provided by the invention, comprising:
Grouping sheet judge module, for download target software target data block before, judge whether example preserves the grouping sheet of described target software;
Concordance list obtains request module, if preserve the grouping sheet of described target software for described example, after described example finds the super example of target corresponding with target data block place block group to be downloaded in described grouping sheet, send example concordance list to the super example of described target and obtain request, for the example concordance list of asking the super example of described target to provide described target data block; The data block of described target software forms multiple pieces of groups, and a block group at least comprises a data block, and described grouping sheet comprises the one-to-one relationship of block group and super example;
First download module, if determine that described target data block has corresponding example concordance list for the super example of described target, described example receives the example concordance list that the super example of described target sends, and obtains described target data block from an example in described example concordance list; Described example concordance list comprises the index information of all examples of the data block downloading described super instance management.
A kind of software storage server provided by the invention, comprising:
Download request receiver module, for receiving the download request that example sends, for asking the target data block downloading target software;
Grouping sheet issues module, for upgrading the instance access table of described target software, determine that the instance access amount of described target software has reached networking threshold value and the number of the super example of described target software has reached the number of block group of described target software time, the grouping sheet of described target software is sent to described example, make described example according to described grouping sheet, from the example concordance list of target data block described in the super case-based system that the block group at described target data block place is corresponding, and from described example concordance list target data block described in a case-based system; The data block of described target software is divided into multiple pieces of groups, and described grouping sheet comprises the one-to-one relationship of block group and super example; The instance access amount of described target software is the number that the example of described target software is downloaded in request; Described example concordance list comprises the index information of all examples of the data block downloading described super instance management.
The software distribution method that the embodiment of the present invention provides and device, in software service system, an example is when downloading the target data block of target software, when the grouping sheet of target software is preserved in this locality, according to grouping sheet from the super example of target corresponding to target data block place block group, obtain the example concordance list of target data block, from the example concordance list of target data block, select an example to download target data block.Because the example of target data block is downloaded in request, the grouping sheet quick position can preserved according to this locality is to the super example of target corresponding to target data block place block group, and quick position is to the example downloading target data block in the example concordance list of the target data block that can return according to the super example of target, therefore Resource orientation time delay is shorter.In addition, example selects an example to download target data block from the example concordance list of target data block, instead of downloads target data block from software storage server, and therefore speed of download is very fast.In sum, the software distribution method Resource orientation time delay that the embodiment of the present invention provides is lower, and speed of download is very fast, reduces download time delay.Further, if all VP of ST administration are in same LAN (Local Area Network), postpone a meeting or conference during the Resource orientation of the software distribution method that the embodiment of the present invention provides and reduced greatly, speed of download can get a greater increase.
Accompanying drawing explanation
Fig. 1 is software distribution method embodiment one process flow diagram provided by the invention;
Fig. 2 is software distribution method embodiment two process flow diagram provided by the invention;
Fig. 3 A is software distribution method embodiment three process flow diagram provided by the invention;
Fig. 3 B is software service system Organization Chart provided by the invention;
Fig. 4 is software distribution method embodiment four process flow diagram provided by the invention;
Fig. 5 is software download device exemplary construction schematic diagram provided by the invention;
Fig. 6 is software storage server example structural representation provided by the invention.
Embodiment
Software distribution method provided by the invention and device are applicable to software streaming loading scenario.Especially the software streaming loading scenario that all download nodes are in same LAN (Local Area Network) is adapted to.
Fig. 1 is software distribution method embodiment one process flow diagram provided by the invention.As shown in Figure 1, the software distribution method that the present embodiment provides comprises:
Step 11: before example downloads the target data block of target software, if example preserves the grouping sheet of target software, after example finds the super example of target corresponding with target data block place block group to be downloaded in grouping sheet, send example concordance list to the super example of target and obtain request, the example concordance list of target data block is provided for the super example of request target.The data block of target software forms multiple pieces of groups, and a block group at least comprises a data block, and grouping sheet comprises the one-to-one relationship of block group and super example.
Software storage server (Software Store Server, be called for short ST) for storing various different software, wherein, each software is divided into several data blocks, the data block of each software forms multiple pieces of groups, and each piece of group can comprise more than one data block.Can comprise more than one ST in a software service system, each ST is that the example (vProcess is called for short VP) of administration provides software service.Example can be that a virtualization software performs example.Example, when adding system, sends log messages to master server (Master Server is called for short MS).After MS receives the log messages of VP, from multiple ST, select a ST to provide service for this VP according to load balancing principle, and the address of this ST is returned to this VP.Receive the VP of ST address, the address by this ST communicates with this ST.The software distribution method that the embodiment of the present invention provides, VP downloads target software according to demand in units of data block, is adapted to software streaming loading scenario.
In the present invention, when the instance access amount of a software reaches networking threshold value t1, ST is that each piece of component of this software joins a super example, and the one-to-one relationship of block group and super example is stored in grouping sheet.Each super example stores the example concordance list of the data block managed to some extent.The example concordance list of a super example comprises the index information of all VP of the data block downloading this super VP management.Each super example provides the example concordance list of all data blocks in the block group that example super with this is corresponding for all VP that affiliated ST administers.Table 1 is the grouping sheet of a software. as shown in table 1, software is divided into 10 data blocks: K1, K2, K3, K4, K5, K6, K7, K8, K9 and K10,10 data blocks form 5 block groups: Z1, Z2, Z3, Z4 and Z5, the each piece of corresponding super example of group, wherein, the super example that the block group Z1 at (K1, K2) place is corresponding is vPA.For the example concordance list that the super example vPA shown in table 2 preserves, the data block that super example vPA manages is K1 and K2, is vPx1 and vPx2 by the known example having downloaded K1 at present of table 2.Super example can be that a data block sets up separately an example concordance list, and all data blocks that also can be management set up an example concordance list.
Table 1 is the grouping sheet of a software
Block group | The data block that block group comprises | Super example |
Z1 | K1,K2 | vPA |
Z2 | K3,K4 | vPB |
Z3 | K5,K6 | vPC |
Z4 | K7,K8 | vPD |
Z5 | K9,K10 | vPE |
Table 2 is the example concordance list that in table 1, super example vPA preserves
Data block | Customer instance |
K1 | vPx1 |
K1 | vPx2 |
… | … |
K2 | vPy1 |
K2 | vPy2 |
… | … |
When each VP asks to download software after login for the first time, first send download request to affiliated ST, if now the instance access amount of this software has reached networking threshold value t1, the grouping sheet of this software has then been handed down to VP by ST.Follow-up when downloading the target data block of target software according to demand, first judge the local grouping sheet whether preserving target software.If the grouping sheet of this target software is preserved in this locality, show that the instance access amount of target software has reached networking threshold value t1, the super example that target data block is corresponding has likely preserved the example concordance list of target data block.The concordance list that instant example is provided by the super example of target, has downloaded the customer instance of target data block, can download target data block, and need not obtain target data block from ST from these examples in the customer instance in ST compass of competency belonging to can knowing at present.
If the grouping sheet of this target software is preserved in this locality, VP searches the super example of target corresponding to target data block in grouping sheet, and send example concordance list to the super example of target and obtain request, the super example of request target provides the example concordance list of target data block.
Step 12: if target super example determination target data block has corresponding example concordance list, the example concordance list that the super example of example receiving target sends.
Wherein, example concordance list comprises the index information of all examples of the data block downloading super instance management.
Step 13: example obtains target data block from the example of in example concordance list.
The super example of target determines the local example concordance list whether preserving target data block after receiving the example concordance list acquisition request of example, if there is the example concordance list of target data block, the super example of target sends example concordance list to the example of request.After example receives example concordance list, from example concordance list, select an example, the index information according to this example downloads target data block from by selection example.
The grouping sheet that the embodiment of the present invention is set up and example concordance list, can provide the index of mass data block, effectively alleviate the load of ST in software distribution process.In addition, provided the example concordance list of an all data block of software respectively by multiple super example, when software is downloaded in a large amount of VP request, can obviously reduce inquiry time delay.
Further, as shown in Figure 2, after step 13, also step 14 is comprised: example sends to the super example of target and loads instruction, and the information of example is carried in example concordance list corresponding to target data block by the super example of indicating target.
Obtain the example of target data block, loading instruction can also be sent by super example to the target that this target data block place block group is corresponding, the information of this example is carried in example concordance list corresponding to target data block by the super example of indicating target, thus other example is when downloading this target data block, also can obtain object block from this example, avoid Multi-instance to download from an example phenomenon that same target data block causes speed of download excessively slow and occur.
Further, as shown in Figure 2, after step 11, send after example that example concordance list obtains request receives the result that the super example of target returns to the super example of target, judge whether return results is example concordance list, if perform step 12, otherwise perform step 15.Fig. 2 mainly illustrates the process of establishing of the example concordance list how setting up a data block.
Step 15: if target super example determination target data block does not have corresponding example concordance list, the request failure message that the super example of example receiving target sends; After example obtains target data block from software storage server, send to the super example of target and load instruction, the super example of indicating target sets up example concordance list corresponding to target data block, and the information of example is carried in example concordance list.
Particularly, if target super example determination target data block does not have corresponding example concordance list, the super example of target sends request failed message to the example of request.After the request failure message that the example of asking receives, send download request to ST, ask from ST target data block.After this example obtains target data block from ST, send to the super example that target data block is corresponding and load instruction, the super example of indicating target sets up example concordance list corresponding to target data block, and the information of example is recorded in example concordance list corresponding to target data block.
The software distribution method that the embodiment of the present invention provides, in software service system, an example is when downloading the target data block of target software, when preserving the grouping sheet of target software in this locality, according to grouping sheet from the super example of target corresponding to target data block place block group, obtain the example concordance list of target data block, from the example concordance list of target data block, select an example to download target data block.Due to, the example of target data block is downloaded in request, the grouping sheet quick position can preserved according to this locality is to the super example of target corresponding to target data block place block group, and quick position is to the example downloading target data block in the example concordance list of the target data block that can return according to the super example of target, therefore Resource orientation time delay is shorter.In addition, example selects example to download target data block from the example concordance list of target data block, this example with instead of from software storage server, download target data block, therefore speed of download is very fast.To sum up, the software distribution method Resource orientation time delay that the embodiment of the present invention provides is lower, and speed of download is very fast, reduces download time delay.Further, if all VP of ST administration are in same LAN (Local Area Network), postpone a meeting or conference during the Resource orientation of the software distribution method that the embodiment of the present invention provides and reduced greatly, speed of download can get a greater increase.
Fig. 3 A is software distribution method embodiment three process flow diagram provided by the invention.The present embodiment mainly illustrates that ST issues the method how setting up super VP in the process of target data block to VP.As shown in Figure 3A, the software distribution method that the present embodiment provides comprises:
After step 31:VP logs in the MS of software service system, obtain the address of the ST that MS issues.
Before step 32:VP downloads target software, judge the local grouping sheet whether preserving this target software.If so, perform step 39, otherwise perform step 33.
When step 33:VP does not preserve the grouping sheet of this target software, VP sends download request to ST, and the target data block of target software is downloaded in request.
Each VP, when first time access destination software, needs to send download request to affiliated ST.
After step 34:ST receives download request, judge whether the instance access amount of this target software reaches networking threshold value t1.If do not reach networking threshold value t1 to perform step 35, otherwise perform step 36.
In SaaS operation, the popular degree of a certain software may produce larger change along with passage of time, and each ST have recorded the statistical information of administrative VP, comprises the VP quantity that each software is corresponding.When ST receives the download request of VP, upgrade the instance access table that target software is corresponding, the number of the example of this target software of record access and instance access amount.A unique corresponding mark of VP in instance access table.When VP exits affiliated ST or do not visit again this target software, can report the request of exiting to ST, ST leaves out respective record, the corresponding minimizing of VP number in VP table.In addition, ST regularly can send the instance access amount of each software to MS.Step 35: if the instance access amount of this target software does not reach networking threshold value t1, ST issues target data block to VP.
Step 36: if the instance access amount of this target software reaches networking threshold value t1, ST judges whether the number of the super VP of this target software reaches the number of the block group of this target software.If do not reach the number of the block group of target software, perform step 37, otherwise perform step 38.
When the instance access amount of a software reaches networking threshold value t1, ST is this software creation networking table, and the VP of current transmission download request is recorded in networking table, makes this VP become super VP, namely starts to set up union net for this target software and collects super VP.Be after networking table set up by a software, ST according to the VP of this software table determine VP number be less than or equal to cancel threshold value t2 time, then remove the networking table of this software.In addition, when ST regularly can report the instance access amount of each software to MS, when the instance access amount that MS is checked through a software reaches networking threshold value t1, send networking to reporting the ST of this software instances visit capacity and create instruction, indicate this ST to be this software creation networking table; The instance access amount that MS is checked through a software is less than or equal to when cancelling threshold value t2, sending networking and cancelling instruction, indicating this ST to cancel the networking table of this software to reporting the ST of this software instances visit capacity.
Step 37: when the number of the super VP of this target software does not reach the number of block group of this target software, VP is recorded in the networking table of this target software by ST, super VP, the ST that make this VP become this target software issue target data block to this VP.
In the embodiment of the present invention, the number of the super VP of a software is equal with the number of the block group of this software.If when ST determines that the number of the super example of target software does not reach the number of block group of this target software, the super VP collected by union net being indicated as the foundation of this target software does not also reach the number of the block group of this target software, now the VP of current transmission download request is recorded in the networking table of target software and makes this VP become super VP by ST, also do not set up grouping sheet and example concordance list owing to collecting the super VP stage, therefore also will send target data block to the current VP sent request simultaneously.
Step 38: when the number of the super example of this target software reaches the number of block group of this target software, issue the grouping sheet of this target software to VP.
In time having the VP request of sufficient amount to download this target software, when the number of the super VP namely in networking table reaches the number of block group of target software, the process that super VP collected by the union net set up for this target software terminates, and ST stops in networking table and records new VP.
When the number of the super VP in networking table reaches the number of block group of target software, ST is a super VP in each piece of component combo net table of target software, by the one-to-one relationship of grouping sheet record block group and super example.After grouping sheet is set up, if ST receives the download request of VP, the grouping sheet of target software is handed down to this VP by ST.
Step 39:VP searches the super VP of the target corresponding with target data block in grouping sheet, after sending example concordance list acquisition request to the super VP of target, from example concordance list corresponding to target data block that the super VP of target sends, selecting a VP, to be communicated acquisition target data block with selecting VP.
The concrete grammar of step 39, can illustrate see in Fig. 1 and Fig. 2 corresponding instance, not repeat them here.
By said process, ST is that target software establishes the super VP identical with block group number.Fig. 3 B is a kind of software service system Organization Chart provided by the invention.As shown in Figure 3 B, software service system comprises three ST:STA, STB and STC.Each ST manages multiple VP, and each example is connected respectively to three ST, same software.In these examples, the circular example represented is common VP, and the example that triangle represents is super VP.Wherein, STA admin instance S1, S2, S3 and S4 and S5, for a software.S1 and S3 is respectively super VP, composition union net.S2, S4 and S5 are common VP.Common VP first time is when accessing above-mentioned software, first send download request to affiliated STA, if union net has been set up and super VP number when having reached predetermined number in union net, STA issues the grouping sheet of this software to this common VP, the super VP of management objectives data block can be learnt by grouping sheet, the index information of the example having downloaded target data block can be got by this VP.This common VP is follow-up when this software is downloaded in request again, directly searched the super VP of management objectives data block by the grouping sheet of local preservation, can be got the index information of the example having downloaded target data block, thus improve search efficiency by this VP.
The different pieces of information block of same software, visiting frequency has difference; And the visiting frequency of same data block also can be had any different at Different periods, the module that such as some running softwares are necessary can by all XM requests, and the functional module that some are of little use only can be asked by minority VP.Therefore, some super VP likely can produce single-point performance issue, and namely the visit capacity of common VP to each super VP is unbalanced.For the load of each super VP of equilibrium,
Fig. 4 is software distribution method embodiment four process flow diagram provided by the invention.Present embodiments provide a kind of grouping reconstructing method, illustrate ST recombinate a software block group after, how issue the grouping sheet after renewal to each VP and issue example concordance list to new super VP.As shown in Figure 4, the present embodiment comprises:
The access frequency of each data block of this software that step 41:ST reports according to each super VP of software, after determining to need that block group is repartitioned to the data block of this software, super VP to this software sends example concordance list and reports instruction, indicates each super VP to report the example concordance list of this software preserved separately.
In a union net, each super VP records the access frequency of administrative software block, regularly reports to affiliated ST.ST exceedes reconstruct threshold value f2 according to the access frequency of certain super VP of report information, then initiation packet reconstruct.F2 value be f1 (f1 be administrative piece of super VP group total access frequency)) 1.2 times.The each super VPVP reception example concordance list of a software reports the example concordance list of this software preserved separately after reporting and indicating to affiliated ST.
When in Union, VP quantity is more, distributed intelligence total amount is excessive easily affects reconstructed velocity, therefore reports the example index information that each piece of super VP only can choose some.
The data block of step 42:ST to this software is repartitioned block group and is determined to reconstruct super VP corresponding to rear each piece of group, forms the grouping sheet after reconstruct.
After data block is divided into groups again, such as original block group is: (K1, K3), (K2, K4), (K5, K6), the block group after reconstruct is: (K1, K5), (K2, K3), (K4), (K6), the super VP that each piece of group after reconstruct is corresponding need be redefined, form the grouping sheet after reconstruct.
Step 43:ST sends the grouping sheet after reconstruct to all examples in the instance access table of this software.
After the block group reconstruct of software, in order to make the VP downloading this software can obtain the grouping sheet after upgrading, ST sends the grouping sheet after reconstruct to all examples in the instance access table of this software.
The example concordance list that step 44:ST reports according to former super VP, sends the example concordance list corresponding to data block of new super VP management to the new super VP after reconstruct.
After ST receives the example concordance list that former super VP reports, choose the example index information corresponding to data block of each new super VP management, the super VP of Xiang Gexin issues the new example concordance list of the data block of each Self management.New example concordance list and new grouping sheet issue period, still by original example concordance list and former grouping sheet be VP service.
Following illustrated block group reconstructing method: in order to the load of the super VP of equilibrium, the total request frequency needing to make each piece organize when block group divides (employing history access frequency is as valuation) is as far as possible close.In order to control the sheer loads level of super VP, the quantity of block group also will be determined according to load total amount.The sheer loads level of single super VP represents with total request frequency f1 of administrative piece of group, then the total visiting frequency/f1 of block group number k=.Block group partition problem is actual is k-partition problem, and problem specifically describes as follows: given by n element 1 ..., all corresponding integer ci of the set C that n is formed, each element i.Need R to be divided into k (k <=n) individual subset C1, C2 ..., Ck, makes max{ ‖ C
1‖ ..., ‖ C
k‖ } minimum.Wherein
c represents all data blocks 1 of software package ..., the set of n, ci represents the request frequency of block i, and ‖ Cx ‖ represents total request frequency of block group x, and k represents packet count or super VP number.Max{ ‖ C
1‖ ..., ‖ C
k‖ } minimized object is and makes index Load Balanced distribute.K-partition problem is a np complete problem, and native system adopts the algorithm based on greedy thought to solve, and this arthmetic statement is as follows:
Input:sequence of blocks:C={1,2,…,n};access rate of each block:{c
1,c
2,…,c
n};desired group quantity:k
Output:k block groups
Method:
1.
in which
2.Sort S
naccording to
in a descending order
3.for(i=n;i>k;i--)
4.delete
from S;
5.
6.insert
into proper position of S
iaccording to
mark the new group sequence as S
i-1
return S
n-
In above-mentioned algorithm, first each piece of i is incorporated into an interim block group
the visiting frequency then often organized
then these block groups are obtained organizing sequence S by visiting frequency descending sort
n, enter merging phase.At merging phase, algorithm takes out S
ntwo groups of end
with
merge into
obviously
will
by visiting frequency insetion sequence S
nappropriate position, obtain new descending group sequence S
n-1, and to S
n-1carry out next round merger.Visible merger block group quantity of often taking turns subtracts 1, through n-k wheel track and after, we can obtain the group sequence S containing k block group
n-k, the access frequency of each group is tending towards average.
Analysis of complexity is carried out to above-mentioned algorithm, known complexity of carrying out descending sort is at first O (nlgn), merger performs n-k time, and except being O (n) by the complexity newly organizing insetion sequence in each merger, other operation complexities are O (1).Therefore algorithm total complexity T (n)=O (nlgn)+nO (n)=O (n
2).
Fig. 5 is software download device exemplary construction schematic diagram provided by the invention.As shown in Figure 5, the present embodiment comprises: grouping sheet judge module 51, concordance list obtain request module 52 and the first download module 53.
Grouping sheet judge module 51, for download target software target data block before, judge whether example preserves the grouping sheet of described target software.
Concordance list obtains request module 52, if preserve the grouping sheet of described target software for described example, after described example finds the super example of target corresponding with target data block place block group to be downloaded in described grouping sheet, send example concordance list to the super example of described target and obtain request, for the example concordance list of asking the super example of described target to provide described target data block; The data block of described target software forms multiple pieces of groups, and a block group at least comprises a data block, and described grouping sheet comprises the one-to-one relationship of block group and super example.
First download module 53, if determine that described target data block has corresponding example concordance list for the super example of described target, described example receives the example concordance list that the super example of described target sends, and obtains described target data block from an example in described example concordance list; Described example concordance list comprises the index information of all examples of the data block downloading described super instance management.
Further, also the second download module can be comprised in Fig. 5.If determine that described target data block does not have corresponding example concordance list for the super example of described target, receive the request failure message that the super example of described target sends; After obtaining described target data block from described software storage server, send to the super example of described target and load instruction, indicate the super example of described target to set up example concordance list corresponding to described target data block, and the index information of described example is carried in described example concordance list.
Above-mentioned software download device specifically can be aforementioned in example, concrete function describes see the corresponding embodiment of Fig. 1 and Fig. 2, does not repeat them here.
Fig. 6 is software storage server example structural representation provided by the invention.As shown in Figure 6, the present embodiment comprises: download request receiver module 61 and grouping sheet issue module 62.
Download request receiver module 61, for receiving the download request that example sends, for asking the target data block downloading target software.
Grouping sheet issues module 62, for upgrading the instance access table of described target software, determine that the instance access amount of described target software has reached networking threshold value and the number of the super example of described target software has reached the number of block group of described target software time, the grouping sheet of described target software is sent to described example, make described example according to described grouping sheet, from the example concordance list of target data block described in the super case-based system that the block group at described target data block place is corresponding, and from described example concordance list target data block described in a case-based system; The data block of described target software is divided into multiple pieces of groups, and described grouping sheet comprises the one-to-one relationship of block group and super example; The instance access amount of described target software is the number that the example of described target software is downloaded in request; Described example concordance list comprises the index information of all examples of the data block downloading described super instance management.
The concrete function of above-mentioned software storage server, see the description of the corresponding embodiment of Fig. 2 and Fig. 3 A, does not repeat them here.
The software download device that the embodiment of the present invention provides and software storage server, in software service system, an example is when downloading the target data block of target software, when the grouping sheet of target software is preserved in this locality, according to grouping sheet from the super example of target corresponding to target data block place block group, obtain the example concordance list of target data block, from the example concordance list of target data block, select an example to download target data block.Because the example of target data block is downloaded in request, the grouping sheet quick position can preserved according to this locality is to the super example of target corresponding to target data block place block group, and quick position is to the example downloading target data block in the example concordance list of the target data block that can return according to the super example of target, therefore Resource orientation time delay is shorter.In addition, example selects an example to download target data block from the example concordance list of target data block, instead of downloads target data block from software storage server, and therefore speed of download is very fast.In sum, the software distribution method Resource orientation time delay that the embodiment of the present invention provides is lower, and speed of download is very fast, reduces download time delay.Further, if all VP of ST administration are in same LAN (Local Area Network), postpone a meeting or conference during the Resource orientation of the software distribution method that the embodiment of the present invention provides and reduced greatly, speed of download can get a greater increase.
One of ordinary skill in the art will appreciate that: all or part of step realizing said method embodiment can have been come by the hardware that programmed instruction is relevant, aforesaid program can be stored in a computer read/write memory medium, this program, when performing, performs the step comprising said method embodiment; And aforesaid storage medium comprises: ROM, RAM, magnetic disc or CD etc. various can be program code stored medium.
Last it is noted that above embodiment is only in order to illustrate technical scheme of the present invention, be not intended to limit; Although with reference to previous embodiment to invention has been detailed description, those of ordinary skill in the art is to be understood that: it still can be modified to the technical scheme described in foregoing embodiments, or carries out equivalent replacement to wherein portion of techniques feature; And these amendments or replacement, do not make the essence of appropriate technical solution depart from the scope of various embodiments of the present invention technical scheme.
Claims (9)
1. a software distribution method, is characterized in that, comprising:
Before example downloads the target data block of target software, if described example preserves the grouping sheet of target software, after described example finds the super example of target corresponding with target data block place block group to be downloaded in described grouping sheet, send example concordance list to the super example of described target and obtain request, for the example concordance list of asking the super example of described target to provide described target data block; The data block of described target software forms multiple pieces of groups, and a block group at least comprises a data block, and described grouping sheet comprises the one-to-one relationship of block group and super example; If the super example of described target determines that described target data block has corresponding example concordance list, described example receives the example concordance list that the super example of described target sends; Described example concordance list comprises the index information of all examples of the data block downloading the super instance management of described target; Described example obtains described target data block from an example in described example concordance list;
If described example does not preserve the grouping sheet of described target software, described example sends download request to software storage server, downloads described target data block for asking; When described software storage server determines that the instance access amount of described target software has reached networking threshold value and the super instance number of described target software has reached the block group number of described target software, receive the grouping sheet of the described target software that described software storage server sends; The visit capacity of described target software is the number that the example of described target software is downloaded in request; The super example of target that described target data block place block group is corresponding is determined according to described grouping sheet, and send example concordance list acquisition request to the super example of described target, obtain the example concordance list of described target data block, described example obtains described target data block from an example in described example concordance list; After obtaining described target data block from an example in described example concordance list, described example sends to the super example of described target and loads instruction, indicates described target super example the information of described example to be carried in example concordance list corresponding to described target data block.
2. method according to claim 1, is characterized in that:
If described example preserves the grouping sheet of target software, at described example from after an example in described example concordance list obtains described target data block, also comprise:
Described example sends to the super example of described target and loads instruction, indicates described target super example the information of described example to be carried in example concordance list corresponding to described target data block;
Or, after sending example concordance list acquisition request to the super example of described target, also comprise:
If the super example of described target determines that described target data block does not have corresponding example concordance list, described example receives the request failure message that the super example of described target sends;
After described example obtains described target data block from described software storage server, send to the super example of described target and load instruction, indicate the super example of described target to set up example concordance list corresponding to described target data block, and the index information of described example is carried in described example concordance list.
3. method according to claim 1, is characterized in that, at described example to after software storage server sends download request, also comprises:
When described software storage server determines that the visit capacity of described target software has reached networking threshold value and the super instance number of described target software does not reach the block group number of described target software, after at described software storage server described example being recorded in the networking table of described target software, described example receives the described target data block that described software storage server sends; Or,
When described software storage server determines that the visit capacity of described software does not reach networking threshold value, after the visit capacity of target software described in described software storage server update, described example receives the described target data block that described software storage server sends.
4. a software distribution method, is characterized in that, comprising:
Software storage server receives the download request that example sends, for asking the target data block downloading target software;
Upgrade the instance access table of described target software, determine that the instance access amount of described target software has reached networking threshold value and the number of the super example of described target software has reached the number of block group of described target software time, the grouping sheet of described target software is sent to described example, make described example according to described grouping sheet, from the example concordance list of target data block described in the super case-based system that the block group at described target data block place is corresponding, and from described example concordance list target data block described in a case-based system; The data block of described target software is divided into multiple pieces of groups, and described grouping sheet comprises the one-to-one relationship of block group and super example; The instance access amount of described target software is the number that the example of described target software is downloaded in request; Described example concordance list comprises the index information of all examples of the data block downloading described super instance management.
5. method according to claim 4, is characterized in that, after the download request that described reception example sends, also comprises:
Determine that the instance access amount of described target software has reached networking threshold value and the number of the super example of described target software does not reach the number of block group of described target software time, in networking table, record described example, and send described target data block to described example; Described networking table is for recording the super example of described target software; The instance access amount of described target software is the number that the example of described target software is downloaded in request;
Or,
When determining that the instance access amount of described target software does not reach networking threshold value, after upgrading the instance access amount of described target software, send described target data block to described example, and increase the instance access amount of described target software;
Or,
After the block group reconstruct of described target software, the super example of each described target is indicated to report the example concordance list of each data block of described target software;
The example concordance list of each data block of the grouping sheet after described software upgrading and described target software is sent to the super example of each fresh target.
6. the method according to claim 4 or 5, is characterized in that, after described software storage server receives the download request of example transmission, also comprises:
According to the access frequency of each data block of the described target software of each super example report of described target software, after determining to need that block group is repartitioned to the data block of described target software, super example to described target software sends example concordance list and reports instruction, indicates each super example to report the example concordance list of the described target software preserved separately;
Block group repartitioned to the data block of described target software and determines to reconstruct super example corresponding to rear each piece of group, forming the grouping sheet after reconstruct;
The grouping sheet after reconstruct is sent to all examples in the instance access table of described target software;
According to the example concordance list that former super example reports, send the example concordance list corresponding to data block of described new super instance management to the new super example after reconstruct.
7. a software download device, is characterized in that, comprising:
Grouping sheet judge module, for download target software target data block before, judge whether example preserves the grouping sheet of described target software;
Concordance list obtains request module, if preserve the grouping sheet of described target software for described example, after described example finds the super example of target corresponding with target data block place block group to be downloaded in described grouping sheet, send example concordance list to the super example of described target and obtain request, for the example concordance list of asking the super example of described target to provide described target data block; The data block of described target software forms multiple pieces of groups, and a block group at least comprises a data block, and described grouping sheet comprises the one-to-one relationship of block group and super example;
Concordance list obtains request module, if also do not preserve the grouping sheet of described target software for described example, described example sends download request to software storage server, downloads described target data block for asking; When described software storage server determines that the instance access amount of described target software has reached networking threshold value and the super instance number of described target software has reached the block group number of described target software, receive the grouping sheet of the described target software that described software storage server sends; The visit capacity of described target software is the number that the example of described target software is downloaded in request; Determine according to described grouping sheet the super example of target that described target data block place block group is corresponding, and send example concordance list acquisition request to the super example of described target, obtain the example concordance list of described target data block;
First download module, if determine that described target data block has corresponding example concordance list for the super example of described target, described example receives the example concordance list that the super example of described target sends, and obtains described target data block from an example in described example concordance list; Described example concordance list comprises the index information of all examples of the data block downloading the super instance management of described target; At described example from after an example in described example concordance list obtains described target data block, described example sends to the super example of described target and loads instruction, indicates described target super example the information of described example to be carried in example concordance list corresponding to described target data block.
8. software download device according to claim 7, is characterized in that, also comprise:
Second download module, if determine that described target data block does not have corresponding example concordance list for the super example of described target, receives the request failure message that the super example of described target sends; After obtaining described target data block from described software storage server, send to the super example of described target and load instruction, indicate the super example of described target to set up example concordance list corresponding to described target data block, and the index information of described example is carried in described example concordance list.
9. a software storage server, is characterized in that, comprising:
Download request receiver module, for receiving the download request that example sends, for asking the target data block downloading target software;
Grouping sheet issues module, for upgrading the instance access table of described target software, determine that the instance access amount of described target software has reached networking threshold value and the number of the super example of described target software has reached the number of block group of described target software time, the grouping sheet of described target software is sent to described example, make described example according to described grouping sheet, from the example concordance list of target data block described in the super case-based system that the block group at described target data block place is corresponding, and from described example concordance list target data block described in a case-based system; The data block of described target software is divided into multiple pieces of groups, and described grouping sheet comprises the one-to-one relationship of block group and super example; The instance access amount of described target software is the number that the example of described target software is downloaded in request; Described example concordance list comprises the index information of all examples of the data block downloading described super instance management.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110402128.7A CN102609278B (en) | 2011-12-06 | 2011-12-06 | Method and device for software distribution |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110402128.7A CN102609278B (en) | 2011-12-06 | 2011-12-06 | Method and device for software distribution |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102609278A CN102609278A (en) | 2012-07-25 |
CN102609278B true CN102609278B (en) | 2015-07-08 |
Family
ID=46526677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110402128.7A Expired - Fee Related CN102609278B (en) | 2011-12-06 | 2011-12-06 | Method and device for software distribution |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102609278B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595479B (en) * | 2018-03-13 | 2021-07-27 | 泰安协同软件有限公司 | Web request processing method based on unified Web gateway |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852108A (en) * | 2005-12-08 | 2006-10-25 | 华为技术有限公司 | Multi-spot downloading method |
CN101364996A (en) * | 2008-07-23 | 2009-02-11 | 西安电子科技大学 | Hybrid layering P2P static network |
CN101594292A (en) * | 2008-05-30 | 2009-12-02 | 中兴通讯股份有限公司 | Content delivery method, service redirection method and system, node device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716180B2 (en) * | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
-
2011
- 2011-12-06 CN CN201110402128.7A patent/CN102609278B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852108A (en) * | 2005-12-08 | 2006-10-25 | 华为技术有限公司 | Multi-spot downloading method |
CN101594292A (en) * | 2008-05-30 | 2009-12-02 | 中兴通讯股份有限公司 | Content delivery method, service redirection method and system, node device |
CN101364996A (en) * | 2008-07-23 | 2009-02-11 | 西安电子科技大学 | Hybrid layering P2P static network |
Also Published As
Publication number | Publication date |
---|---|
CN102609278A (en) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110545326B (en) | Cluster load scheduling method and device, electronic equipment and storage medium | |
CN104809129B (en) | A kind of distributed data storage method, device and system | |
US10609174B2 (en) | Parallel prefetching log/meta stream sub-portions to recreate partition states in a distributed computing system | |
US20140358977A1 (en) | Management of Intermediate Data Spills during the Shuffle Phase of a Map-Reduce Job | |
CN103634361B (en) | The method and apparatus for downloading file | |
CN114281791B (en) | Data access method, system, device and storage medium | |
JP2018515844A (en) | Data processing method and system | |
CN109510852B (en) | Method and device for gray scale publishing | |
CN105893542A (en) | Method and system for redistributing cold data files in cloud storage system | |
CN105491117A (en) | Flow chart data processing system and method for real time data analysis | |
CN107133228A (en) | A kind of method and device of fast resampling | |
US20230229580A1 (en) | Dynamic index management for computing storage resources | |
CN104539730A (en) | Load balancing method of facing video in HDFS | |
CN107506145A (en) | A kind of physical store dispatching method and cloud main frame creation method | |
CN102609278B (en) | Method and device for software distribution | |
CN113553306A (en) | Data processing method and data storage management system | |
Funari et al. | Storage-saving scheduling policies for clusters running containers | |
CN110286854B (en) | Method, device, equipment and storage medium for group member management and group message processing | |
US20240103934A1 (en) | Allocation control apparatus, computer system, and allocation control method | |
CN109976905A (en) | EMS memory management process, device and electronic equipment | |
CN114020218B (en) | Hybrid de-duplication scheduling method and system | |
CN114153395B (en) | Object storage data life cycle management method, device and equipment | |
CN107451229B (en) | Database query method and device | |
US20130144838A1 (en) | Transferring files | |
CN113392134A (en) | Data sorting method, database engine and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150708 Termination date: 20171206 |
|
CF01 | Termination of patent right due to non-payment of annual fee |