CN104915227B - A kind of method for upgrading software and system of multi-source multithreading - Google Patents

A kind of method for upgrading software and system of multi-source multithreading Download PDF

Info

Publication number
CN104915227B
CN104915227B CN201510269890.0A CN201510269890A CN104915227B CN 104915227 B CN104915227 B CN 104915227B CN 201510269890 A CN201510269890 A CN 201510269890A CN 104915227 B CN104915227 B CN 104915227B
Authority
CN
China
Prior art keywords
resource server
download
server
resource
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510269890.0A
Other languages
Chinese (zh)
Other versions
CN104915227A (en
Inventor
邹炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201510269890.0A priority Critical patent/CN104915227B/en
Publication of CN104915227A publication Critical patent/CN104915227A/en
Application granted granted Critical
Publication of CN104915227B publication Critical patent/CN104915227B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses the method for upgrading software and system of a kind of multi-source multithreading, method therein includes: to collect the current version information of software to be upgraded;High-quality resource server ranking list is calculated;Calculated version difference lists differential file inventory, notifies that top n Resource Server prepares different differential files in ranking list;Download thread is distributed respectively for N number of Resource Server, downloads corresponding differential file respectively from this to client;After the completion of downloading, merges current version file and differential file, carry out locally applied upgrading.In the present invention, client multithreading starting, server end calculates best resource server seniority among brothers and sisters, and supply client multithreading downloading reduces downloading duration;It realizes and combats a natural disaster performance, once listening to downloading exception, thread is transferred to other Resource Servers immediately and continues to download, ensure that downloading success rate;Dynamic version difference calculates, asynchronous generation, reduces redundant file downloading, further improves speed of download.

Description

A kind of method for upgrading software and system of multi-source multithreading
Technical field
The present invention relates to field of communication technology more particularly to a kind of method for upgrading software and system of multi-source multithreading.
Background technique
As what Software Industry and Internet network developed makes rapid progress, the life cycle of software product is also constantly contracting Short, the online upgrading function of software is come into being.Currently, more and more software support online upgrading functions, this function increase The scalability and flexibility for having added software, improve the life cycle of software, and the application market of mobile terminal has also been enlarged.It is aobvious So, the time in the epoch constantly accelerated in this rhythm of life, application software response is faster, and can more promote user uses body It tests.On application this software of store, embody especially pronounced;The speed wherein APP downloading or updated tends to determine to use The use at family selects, to influence the survival prospects using store.
Currently, method for upgrading software mainly comprises the processes of in the case where networking, the upgrading engine inspection in client software It surveys and whether there is corresponding software upgrade package in remote server, if it is present software upgrade package is locally downloading, then The installation engine in client software is called, by the content update in software upgrade package to locally.
Method for upgrading software in the prior art is primarily present following problems: each client only chooses at random a service Device carries out upgrade package downloading, and to the loading condition and current network connection for not considering this server, speed of download is slow, The redundant file of generation is more, and nothing combats a natural disaster scheme.
Summary of the invention
It is a primary object of the present invention to propose the method for upgrading software and system of a kind of multi-source multithreading, existing skill is overcome Speed of download existing for art is slow, poor reliability defect.
To achieve the above object, the present invention provides a kind of method for upgrading software of multi-source multithreading, comprising steps of
Collect the current version information of software to be upgraded;
High-quality resource server ranking list is calculated;
The current version of software to be upgraded and the difference in version of latest edition are calculated, differential file inventory is listed, is notified excellent Top n Resource Server prepares different differential files, N >=1 respectively in matter Resource Server ranking list;
Download thread is distributed respectively for N number of Resource Server, is downloaded respectively accordingly from N number of Resource Server Differential file is to client;
After the completion of differential file downloading, merge the current version file and differential file of software to be upgraded, carries out Locally applied upgrading.
Preferably, in the method further include:
In the downloading process of each download thread, the progress of each download thread is monitored in real time;
When there is download thread to occur abnormal, request other Resource Servers in high-quality resource server ranking list quasi- Standby corresponding differential file, abnormal download thread transfer occur, so far Resource Server continues to download.
Preferably, the method for calculating high-quality resource server ranking list are as follows: according to the load of each Resource Server The network connection situation of situation and each Resource Server and client.
Preferably, described the step of distributing download thread respectively for N number of Resource Server, further comprises:
It is that each Resource Server calculates corresponding weight according to its high-quality ranking, is each resource service according still further to weight The download thread of device distribution different number.
Preferably, in the method, notify that ranking is leaned in high-quality resource server ranking list using asynchronous notifications mode Preceding N number of Resource Server prepares different differential files respectively.
Correspondingly, the present invention also provides a kind of software update systems, comprising: client monitors server and multiple moneys Source server;
The client further comprises:
Information collection unit, for collecting the current version information of software to be upgraded and notifying to monitor server;
Differential file download unit, for dividing respectively for top n Resource Server in high-quality resource server ranking list With download thread, corresponding differential file is downloaded respectively from N number of Resource Server;
Local upgrade unit, for merging the existing version file and difference of software to be upgraded after differential file is downloaded Single cent part carries out locally applied upgrading;
The monitoring server further comprises:
Good service device ranks unit, for high-quality resource server ranking list to be calculated;
Difference calculation units are listed for calculating the current version of software to be upgraded and the difference in version of latest edition Differential file inventory;
File prepares notification unit, for notifying high-quality resource service according to differential file inventory in upgrading initial time Top n Resource Server prepares differential file respectively in device ranking list;
Server info return unit is used for M Resource Server information preceding in high-quality resource server ranking list It is back to client, and client is notified to start to download, the M >=N;
The Resource Server, for preparing corresponding differential file when receiving the notice for monitoring server, for visitor The downloading of family end.
Preferably, the client further include: thread monitoring unit;
The thread monitoring unit, for monitoring the progress of each download thread in real time, when discovery has download thread appearance different Notice monitors server when often, to request ranking to be located at N+1 to the new corresponding difference of Resource Server preparation between M File;
The differential file download unit is also used to be transferred to the download thread when there is download thread to occur abnormal New Resource Server continues to download corresponding differential file;
The file prepares notification unit, is also used to notify corresponding resource when receiving the request of thread monitoring unit Server prepares corresponding differential file.
Preferably, the good service device seniority among brothers and sisters unit further comprises:
Resource Server information acquisition module, for obtaining the loading condition and each Resource Server of each Resource Server With the network connection situation of client;
Ranking computing module, for according to the loading condition of each Resource Server and each Resource Server and client It is connected to the network situation, calculates high-quality resource server ranking list.
Preferably, the differential file download unit further comprises:
Weight calculation module, for being that each Resource Server calculates corresponding weight according to its high-quality ranking;
Thread distribution module, for being the download thread of each Resource Server distribution different number according to weight size.
Preferably, the file prepares notification unit, for notifying top n Resource Server point using asynchronous notifications mode It Zhun Bei not differential file.
Scheme proposed by the present invention, has the advantages that
1) client multithreading starts, and server end calculates best resource server seniority among brothers and sisters, supplies under client multithreading It carries, reduces downloading duration;
2) it realizes and combats a natural disaster performance, client has once listened to downloading exception, and thread is transferred to other resources immediately Server continues to download, and ensure that downloading success rate, greatly improves user experience;
3) dynamic version difference calculates, asynchronous generation, reduces redundant file downloading, further improves speed of download.
Detailed description of the invention
The hardware structural diagram of Fig. 1 mobile terminal of each embodiment to realize the present invention;
Fig. 2 is the wireless communication system schematic diagram of mobile terminal as shown in Figure 1;
Fig. 3 is method for upgrading software flow chart in first embodiment of the invention;
Fig. 4 is method for upgrading software flow chart in second embodiment of the invention;
Fig. 5 is software update system structure chart in third embodiment of the invention.
The embodiments will be further described with reference to the accompanying drawings for the realization, the function and the advantages of the object of the present invention.
Specific embodiment
It should be appreciated that the specific embodiments described herein are merely illustrative of the present invention, it is not intended to limit the present invention.
The mobile terminal of each embodiment of the present invention is realized in description with reference to the drawings.In subsequent description, use For indicate component such as " module ", " component " or " unit " suffix only for being conducive to explanation of the invention, itself There is no specific meanings.Therefore, " module " can be used mixedly with " component ".
Mobile terminal can be implemented in a variety of manners.For example, terminal described in the present invention may include such as moving Phone, smart phone, laptop, digit broadcasting receiver, PDA (personal digital assistant), PAD (tablet computer), PMP The mobile terminal of (portable media player), navigation device etc. and such as number TV, desktop computer etc. are consolidated Determine terminal.Hereinafter it is assumed that terminal is mobile terminal.However, it will be understood by those skilled in the art that in addition to being used in particular for moving Except the component of purpose, the construction of embodiment according to the present invention can also apply to the terminal of fixed type.
The hardware structural diagram of Fig. 1 mobile terminal of each embodiment to realize the present invention.
Mobile terminal 100 may include wireless communication unit 110, A/V (audio/video) input unit 120, user's input Unit 130, sensing unit 140, output unit 150, memory 160, interface unit 170, controller 180 and power supply unit 190 Etc..Fig. 1 shows the mobile terminal with various assemblies, it should be understood that being not required for implementing all groups shown Part.More or fewer components can alternatively be implemented.The component of mobile terminal will be discussed in more detail below.
Wireless communication unit 110 generally includes one or more components, allows mobile terminal 100 and wireless communication system Or the radio communication between network.For example, wireless communication unit may include broadcasting reception module 111, mobile communication module 112, at least one of wireless Internet module 113, short range communication module 114 and location information module 115.
Broadcasting reception module 111 receives broadcast singal and/or broadcast from external broadcast management server via broadcast channel Relevant information.Broadcast channel may include satellite channel and/or terrestrial channel.Broadcast management server, which can be, to be generated and sent The broadcast singal and/or broadcast related information generated before the server or reception of broadcast singal and/or broadcast related information And send it to the server of terminal.Broadcast singal may include TV broadcast singal, radio signals, data broadcasting Signal etc..Moreover, broadcast singal may further include the broadcast singal combined with TV or radio signals.Broadcast phase Closing information can also provide via mobile communications network, and in this case, broadcast related information can be by mobile communication mould Block 112 receives.Broadcast singal can exist in a variety of manners, for example, it can be with the electronics of digital multimedia broadcasting (DMB) Program guide (EPG), digital video broadcast-handheld (DVB-H) electronic service guidebooks (ESG) etc. form and exist.Broadcast Receiving module 111 can receive signal broadcast by using various types of broadcast systems.Particularly, broadcasting reception module 111 It can be wide by using such as multimedia broadcasting-ground (DMB-T), digital multimedia broadcasting-satellite (DMB-S), digital video It broadcasts-holds (DVB-H), forward link media (MediaFLO@) Radio Data System, received terrestrial digital broadcasting integrated service (ISDB-T) etc. digit broadcasting system receives digital broadcasting.Broadcasting reception module 111, which may be constructed such that, to be adapted to provide for extensively Broadcast the various broadcast systems and above-mentioned digit broadcasting system of signal.Via the received broadcast singal of broadcasting reception module 111 and/ Or broadcast related information can store in memory 160 (or other types of storage medium).
Mobile communication module 112 sends radio signals to base station (for example, access point, node B etc.), exterior terminal And at least one of server and/or receive from it radio signal.Such radio signal may include that voice is logical Talk about signal, video calling signal or according to text and/or Multimedia Message transmission and/or received various types of data.
The Wi-Fi (Wireless Internet Access) of the support mobile terminal of wireless Internet module 113.The module can be internally or externally It is couple to terminal.Wi-Fi (Wireless Internet Access) technology involved in the module may include WLAN (Wireless LAN) (Wi-Fi), Wibro (WiMAX), Wimax (worldwide interoperability for microwave accesses), HSDPA (high-speed downlink packet access) etc..
Short range communication module 114 is the module for supporting short range communication.Some examples of short-range communication technology include indigo plant ToothTM, radio frequency identification (RFID), Infrared Data Association (IrDA), ultra wide band (UWB), purple honeybeeTMEtc..
Location information module 115 is the module for checking or obtaining the location information of mobile terminal.Location information module Typical case be GPS (global positioning system).According to current technology, GPS module 115, which calculates, comes from three or more satellites Range information and correct time information and the Information application triangulation for calculating, thus according to longitude, latitude Highly accurately calculate three-dimensional current location information.Currently, it is defended for the method for calculating position and temporal information using three Star and the error that calculated position and temporal information are corrected by using an other satellite.In addition, GPS module 115 It can be by Continuous plus current location information in real time come calculating speed information.
A/V input unit 120 is for receiving audio or video signal.A/V input unit 120 may include 121 He of camera Microphone 1220, camera 121 is to the static map obtained in video acquisition mode or image capture mode by image capture apparatus The image data of piece or video is handled.Treated, and picture frame may be displayed on display unit 151.At camera 121 Picture frame after reason can store in memory 160 (or other storage mediums) or carry out via wireless communication unit 110 It sends, two or more cameras 1210 can be provided according to the construction of mobile terminal.Microphone 122 can be in telephone relation mould Sound (audio data) is received via microphone in formula, logging mode, speech recognition mode etc. operational mode, and can be incited somebody to action Such acoustic processing is audio data.Audio that treated (voice) data can be converted in the case where telephone calling model For the format output that can be sent to mobile communication base station via mobile communication module 112.Various types can be implemented in microphone 122 Noise eliminate (or inhibit) algorithm with eliminate noise that (or inhibition) generates during sending and receiving audio signal or Person's interference.
The order that user input unit 130 can be inputted according to user generates key input data to control each of mobile terminal Kind operation.User input unit 130 allows user to input various types of information, and may include keyboard, metal dome, touch Plate (for example, the sensitive component of detection due to the variation of resistance, pressure, capacitor etc. caused by being contacted), idler wheel, rocking bar etc. Deng.Particularly, when touch tablet is superimposed upon in the form of layer on display unit 151, touch screen can be formed.
Sensing unit 140 detects the current state of mobile terminal 100, (for example, mobile terminal 100 opens or closes shape State), the position of mobile terminal 100, user is for the presence or absence of contact (that is, touch input) of mobile terminal 100, mobile terminal 100 orientation, the acceleration or deceleration movement of mobile terminal 100 and direction etc., and generate for controlling mobile terminal 100 The order of operation or signal.For example, sensing unit 140 can sense when mobile terminal 100 is embodied as sliding-type mobile phone The sliding-type phone is to open or close.In addition, sensing unit 140 be able to detect power supply unit 190 whether provide electric power or Whether person's interface unit 170 couples with external device (ED).Sensing unit 140 may include that proximity sensor 1410 will combine below Touch screen is described this.
Interface unit 170 be used as at least one external device (ED) connect with mobile terminal 100 can by interface.For example, External device (ED) may include wired or wireless headphone port, external power supply (or battery charger) port, wired or nothing Line data port, memory card port, the port for connecting the device with identification module, audio input/output (I/O) end Mouth, video i/o port, ear port etc..Identification module can be storage and use each of mobile terminal 100 for verifying user It plants information and may include subscriber identification module (UIM), client identification module (SIM), Universal Subscriber identification module (USIM) Etc..In addition, the device (hereinafter referred to as " identification device ") with identification module can take the form of smart card, therefore, know Other device can be connect via port or other attachment devices with mobile terminal 100.Interface unit 170, which can be used for receiving, to be come from The input (for example, data information, electric power etc.) of external device (ED) and the input received is transferred in mobile terminal 100 One or more components can be used for transmitting data between mobile terminal and external device (ED).
In addition, when mobile terminal 100 is connect with external base, interface unit 170 may be used as allowing will be electric by it Power, which is provided from pedestal to the path or may be used as of mobile terminal 100, allows the various command signals inputted from pedestal to pass through it It is transferred to the path of mobile terminal.The various command signals or electric power inputted from pedestal, which may be used as mobile terminal for identification, is The no signal being accurately fitted on pedestal.Output unit 150 is configured to provide with vision, audio and/or tactile manner defeated Signal (for example, audio signal, vision signal, alarm signal, vibration signal etc.) out.Output unit 150 may include display Unit 151, audio output module 152, alarm unit 153 etc..
Display unit 151 may be displayed on the information handled in mobile terminal 100.For example, when mobile terminal 100 is in electricity When talking about call mode, display unit 151 can show and converse or other communicate (for example, text messaging, multimedia file Downloading etc.) relevant user interface (UI) or graphic user interface (GUI).When mobile terminal 100 is in video calling mode Or when image capture mode, display unit 151 can show captured image and/or received image, show video or figure Picture and the UI or GUI of correlation function etc..
Meanwhile when display unit 151 and touch tablet in the form of layer it is superposed on one another to form touch screen when, display unit 151 may be used as input unit and output device.Display unit 151 may include liquid crystal display (LCD), thin film transistor (TFT) In LCD (TFT-LCD), Organic Light Emitting Diode (OLED) display, flexible display, three-dimensional (3D) display etc. at least It is a kind of.Some in these displays may be constructed such that transparence to allow user to watch from outside, this is properly termed as transparent Display, typical transparent display can be, for example, TOLED (transparent organic light emitting diode) display etc..According to specific Desired embodiment, mobile terminal 100 may include two or more display units (or other display devices), for example, moving Dynamic terminal may include outernal display unit (not shown) and inner display unit (not shown).Touch screen can be used for detecting touch Input pressure and touch input position and touch input area.
Audio output module 152 can mobile terminal be in call signal reception pattern, call mode, logging mode, It is when under the isotypes such as speech recognition mode, broadcast reception mode, wireless communication unit 110 is received or in memory 160 The audio data transducing audio signal of middle storage and to export be sound.Moreover, audio output module 152 can provide and movement The relevant audio output of specific function (for example, call signal receives sound, message sink sound etc.) that terminal 100 executes. Audio output module 152 may include loudspeaker, buzzer etc..
Alarm unit 153 can provide output notifying event to mobile terminal 100.Typical event can be with Including calling reception, message sink, key signals input, touch input etc..Other than audio or video output, alarm unit 153 can provide output in different ways with the generation of notification event.For example, alarm unit 153 can be in the form of vibration Output is provided, when receiving calling, message or some other entrance communications (incoming communication), alarm list Member 153 can provide tactile output (that is, vibration) to notify to user.By providing such tactile output, even if When the mobile phone of user is in the pocket of user, user also can recognize that the generation of various events.Alarm unit 153 The output of the generation of notification event can be provided via display unit 151 or audio output module 152.
Memory 160 can store the software program etc. of the processing and control operation that are executed by controller 180, Huo Zheke Temporarily to store oneself data (for example, telephone directory, message, still image, video etc.) through exporting or will export.And And memory 160 can store about the vibrations of various modes and audio signal exported when touching and being applied to touch screen Data.
Memory 160 may include the storage medium of at least one type, and the storage medium includes flash memory, hard disk, more Media card, card-type memory (for example, SD or DX memory etc.), random access storage device (RAM), static random-access storage Device (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read only memory (PROM), magnetic storage, disk, CD etc..Moreover, mobile terminal 100 can execute memory with by network connection The network storage device of 160 store function cooperates.
The overall operation of the usually control mobile terminal of controller 180.For example, controller 180 executes and voice communication, data Communication, video calling etc. relevant control and processing.In addition, controller 180 may include for reproducing (or playback) more matchmakers The multi-media module 1810 of volume data, multi-media module 1810 can construct in controller 180, or can be structured as and control Device 180 processed separates.Controller 180 can be with execution pattern identifying processing, by the handwriting input executed on the touchscreen or figure Piece draws input and is identified as character or image.
Power supply unit 190 receives external power or internal power under the control of controller 180 and provides operation each group Electric power appropriate needed for part and component.
Various embodiments described herein can be to use the calculating of such as computer software, hardware or any combination thereof Machine readable medium is implemented.Hardware is implemented, embodiment described herein can be by using application-specific IC (ASIC), digital signal processor (DSP), digital signal processing device (DSPD), programmable logic device (PLD), scene can Programming gate array (FPGA), controller, microcontroller, microprocessor, is designed to execute function described herein processor At least one of electronic unit is implemented, and in some cases, such embodiment can be implemented in controller 180. For software implementation, the embodiment of such as process or function can with allow to execute the individual of at least one functions or operations Software module is implemented.Software code can by the software application (or program) write with any programming language appropriate Lai Implement, software code can store in memory 160 and be executed by controller 180.
So far, oneself is through describing mobile terminal according to its function.In the following, for the sake of brevity, will description such as folded form, Slide type mobile terminal in various types of mobile terminals of board-type, oscillating-type, slide type mobile terminal etc., which is used as, to be shown Example.Therefore, the present invention can be applied to any kind of mobile terminal, and be not limited to slide type mobile terminal.
Mobile terminal 100 as shown in Figure 1 may be constructed such that using via frame or grouping send data it is all if any Line and wireless communication system and satellite-based communication system operate.
Referring now to Fig. 2 description communication system that wherein mobile terminal according to the present invention can operate.
Different air interface and/or physical layer can be used in such communication system.For example, used by communication system Air interface includes such as frequency division multiple access (FDMA), time division multiple acess (TDMA), CDMA (CDMA) and universal mobile communications system System (UMTS) (particularly, long term evolution (LTE)), global system for mobile communications (GSM) etc..As non-limiting example, under The description in face is related to cdma communication system, but such introduction is equally applicable to other types of system.
With reference to Fig. 2, cdma wireless communication system may include multiple mobile terminals 100, multiple base stations (BS) 270, base station Controller (BSC) 275 and mobile switching centre (MSC) 280.MSC280 is configured to and Public Switched Telephony Network (PSTN) 290 form interface.MSC280 is also structured to form interface with the BSC275 that can be couple to base station 270 via back haul link. Back haul link can be constructed according to any in several known interfaces, and the interface includes such as E1/T1, ATM, IP, PPP, frame relay, HDSL, ADSL or xDSL.It will be appreciated that system may include multiple BSC2750 as shown in Figure 2.
Each BS270 can service one or more subregions (or region), by multidirectional antenna or the day of direction specific direction Each subregion of line covering is radially far from BS270.Alternatively, each subregion can be by two or more for diversity reception Antenna covering.Each BS270, which may be constructed such that, supports multiple frequency distribution, and the distribution of each frequency has specific frequency spectrum (for example, 1.25MHz, 5MHz etc.).
What subregion and frequency were distributed, which intersects, can be referred to as CDMA Channel.BS270 can also be referred to as base station transceiver System (BTS) or other equivalent terms.In this case, term " base station " can be used for broadly indicating single BSC275 and at least one BS270.Base station can also be referred to as " cellular station ".Alternatively, each subregion of specific BS270 can be claimed For multiple cellular stations.
As shown in Figure 2, broadcast singal is sent to the mobile terminal operated in system by broadcsting transmitter (BT) 295 100.Broadcasting reception module 111 as shown in Figure 1 is arranged at mobile terminal 100 to receive the broadcast sent by BT295 Signal.In fig. 2 it is shown that several global positioning system (GPS) satellites 300.The help of satellite 300 positions multiple mobile terminals At least one of 100.
In Fig. 2, multiple satellites 300 are depicted, it is understood that, it is useful to can use any number of satellite acquisition Location information.GPS module 115 as shown in Figure 1 is generally configured to cooperate with satellite 300 to obtain desired positioning and believe Breath.It substitutes GPS tracking technique or except GPS tracking technique, the other of the position that can track mobile terminal can be used Technology.In addition, at least one 300 property of can choose of GPS satellite or extraly processing satellite dmb transmission.
As a typical operation of wireless communication system, BS270 receives the reverse link from various mobile terminals 100 Signal.Mobile terminal 100 usually participates in call, information receiving and transmitting and other types of communication.Certain base station 270 is received each anti- It is handled in specific BS270 to link signal.The data of acquisition are forwarded to relevant BSC275.BSC provides call The mobile management function of resource allocation and the coordination including the soft switching process between BS270.The number that BSC275 will also be received According to MSC280 is routed to, the additional route service for forming interface with PSTN290 is provided.Similarly, PSTN290 with MSC280 forms interface, and MSC and BSC275 form interface, and BSC275 controls BS270 correspondingly with by forward link signals It is sent to mobile terminal 100.
Based on above-mentioned mobile terminal hardware configuration and communication system, each embodiment of the method for the present invention is proposed.
Embodiment one
As shown in figure 3, in the present embodiment, method for upgrading software the following steps are included:
Step 301, client collect the current version information of software to be upgraded and the network information of this client, and will It collects information notice and monitors server.
Step 302 after monitoring the notification message that server parsing receives, proceeds as follows:
1. calculating high-quality resource according to the loading condition of client network information and the numerous Resource Servers listened to Server ranking list;The calculation basis of high-quality seniority among brothers and sisters is the integrated load situation and network connection situation of Resource Server;
2. calculating the current version of software to be upgraded and the difference in version of latest edition, differential file inventory is listed, it is asynchronous Notify that (in the present embodiment, 3) N takes to be prepared N number of Resource Server in the top in high-quality resource server ranking list respectively Different differential files;
3. above-mentioned N number of Resource Server information is returned to client, and client is notified to start to download.
Step 303, client take out above-mentioned N number of Resource Server information, and calculate corresponding weight, according to weight distribution Thread reads differential file segment from Resource Server.
Citing: the Resource Server of weight first distributes five threads, and the Resource Server of weight second distributes three lines The Resource Server of journey, weight third distributes a thread.
After step 304, differential file downloading, client merges current version file and the downloading of software to be upgraded Differential file carries out locally applied upgrading, ends here using more new technological process.
In the present embodiment, good resource service can be calculated according to loading condition and network condition by monitoring server Device, client download differential file from multiple high-quality resource servers by multithreading, can not only reduce the downloading of redundant file, And downloading duration is greatly reduced, improve the success rate of upgrading.
Embodiment two
In example 1, the technical side of the calculating of dynamic version difference, asynchronous generation and multithreading downloading is used Case, accelerates the downloading or renewal speed of application, but has no and combat a natural disaster performance, once some resource of differential file is provided Server breaks down, and will lead to download or update failure.Thus the present embodiment two proposes solution to this.
As shown in figure 4, in the present embodiment, method for upgrading software the following steps are included:
Step 401, client collect the current version information of software to be upgraded and the network information of this client, and will It collects information notice and monitors server.
Step 402 after monitoring the notification message that server parsing receives, proceeds as follows:
1. calculating high-quality resource according to the loading condition of client network information and the numerous Resource Servers listened to Server ranking list;The calculation basis of high-quality seniority among brothers and sisters is the integrated load situation and network connection situation of Resource Server;
2. calculating the current version of software to be upgraded and the difference in version of latest edition, differential file inventory is listed, it is asynchronous Notify that (in the present embodiment, 3) N takes to be prepared N number of Resource Server in the top in high-quality resource server ranking list respectively Different differential files;
3. M Resource Server information in the top in high-quality resource server ranking list is returned to client (M > N, 6) M takes in the present embodiment, and client is notified to start to download.
Step 403, client take out above-mentioned N number of Resource Server information, and calculate corresponding weight, according to weight distribution Thread reads differential file segment from Resource Server.
Citing: the Resource Server of weight first distributes five threads, and the Resource Server of weight second distributes three lines The Resource Server of journey, weight third distributes a thread.
Step 404, client monitor the progress of each download thread in real time, once it is different to find that network occurs in download thread Often, notice monitors server immediately, and the N+1 Resource Server is requested to prepare differential file, and client will carry out failure thread The N+1 Resource Server is transferred to continue to download.
After step 405, differential file downloading, client merges current version file and the downloading of software to be upgraded Differential file carries out locally applied upgrading, ends here using more new technological process.
To sum up, it is realized in the present embodiment and combats a natural disaster to download, client is once break down having listened to Resource Server When be immediately transferred into another Resource Server downloading differential file segment, guarantee that downloading/update is gone on smoothly.
Embodiment three
Referring to Fig. 5, present embodiments providing a kind of software update system, comprising: client 510 monitors server 520, multiple Resource Servers 530.
Wherein, server 520 is monitored for calculating best resource server seniority among brothers and sisters, and the multiple Resource Servers of asynchronous notifications are raw At differential file;Client 510 downloads corresponding differential file from multiple Resource Servers for starting multithreading;Resource clothes Business device 530, for providing differential file downloading for client 510.It will be described in detail respectively below.In the present embodiment, client 510 can be various mobile terminals.
(1) client 510 further comprises:
Information collection unit 511, for collecting the current version information of software to be upgraded and notifying to monitor server 520.
Differential file download unit 512, for being preceding N in high-quality resource server ranking list in upgrading initial time A Resource Server 530 distributes download thread respectively, downloads corresponding differential file respectively from N number of Resource Server 530; It is also used to when there is download thread to occur abnormal, which is transferred to new Resource Server 530 and continues downloading correspondence Differential file.The unit further comprises: weight calculation module 5121, for being each resource service according to its high-quality ranking Device 530 calculates corresponding weight;Thread distribution module 5122, for being the distribution of each Resource Server 530 according to weight size The download thread of different number.
Thread monitoring unit 513, for monitoring the progress of each download thread in real time, when discovery has download thread exception occur Shi Tongzhi monitors server, to request ranking to be located at N+1 to the corresponding difference text of new Resource Server preparation between M Part.
Local upgrade unit 514, for merging the existing version file of software to be upgraded after differential file is downloaded And differential file, carry out locally applied upgrading.
(2) monitoring server 520 further comprises:
Good service device ranks unit 521, for high-quality resource server ranking list to be calculated;The unit is further It include: Resource Server information acquisition module 5211, for obtaining the loading condition and each resource clothes of each Resource Server 530 The network connection situation of business device 530 and client 510;Ranking computing module 5212, for according to the negative of each Resource Server 530 The network connection situation for carrying situation and each Resource Server 530 and client 510 calculates high-quality resource server seniority among brothers and sisters column Table.
Difference calculation units 522 are arranged for calculating the current version of software to be upgraded and the difference in version of latest edition Differential file inventory out.
File prepares notification unit 523, for being taken according to differential file inventory notice high-quality resource in upgrading initial time Top n Resource Server prepares differential file respectively in business device ranking list.
Server info return unit 524, for believing M Resource Server preceding in high-quality resource server ranking list Breath is back to client, and client is notified to start to download, M >=N.
Back and forth it should be noted that, in this document, the terms "include", "comprise" or its any other variant are intended to Non-exclusive inclusion, so that process, method, article or device including a series of elements are not only wanted including those Element, but also including other elements that are not explicitly listed, or further include for this process, method, article or device Intrinsic element.In the absence of more restrictions, the element limited by sentence "including a ...", it is not excluded that There is also other identical elements in process, method, article or device including the element.
The serial number of the above embodiments of the invention is only for description, does not represent the advantages or disadvantages of the embodiments.
Through the above description of the embodiments, those skilled in the art can be understood that above-described embodiment side Method can be realized by means of software and necessary general hardware platform, naturally it is also possible to by hardware, but in many cases The former is more preferably embodiment.Based on this understanding, technical solution of the present invention substantially in other words does the prior art The part contributed out can be embodied in the form of software products, which is stored in a storage medium In (such as ROM/RAM, disk, CD), including some instructions are used so that a terminal device (can be mobile phone, computer, clothes Business device, air conditioner or the network equipment etc.) execute method described in each embodiment of the present invention.
The above is only a preferred embodiment of the present invention, is not intended to limit the scope of the invention, all to utilize this hair Equivalent structure or equivalent flow shift made by bright specification and accompanying drawing content is applied directly or indirectly in other relevant skills Art field, is included within the scope of the present invention.

Claims (9)

1. a kind of method for upgrading software of multi-source multithreading, which is characterized in that the method comprising the steps of:
Collect the current version information of software to be upgraded;
According to the loading condition of client network information and the numerous Resource Servers listened to, high-quality resource service is calculated Device ranking list;
The current version of software to be upgraded and the difference in version of latest edition are calculated, differential file inventory is listed, notifies high-quality money Top n Resource Server prepares different differential files, N >=1 respectively in source server ranking list;
Corresponding weight is calculated according to above-mentioned N number of Resource Server information, is that N number of Resource Server divides respectively according to weight With download thread, corresponding differential file is downloaded respectively to client from N number of Resource Server;
After the completion of differential file downloading, merge the current version file and differential file of software to be upgraded, carries out local Application upgrade;Wherein, in the downloading process of each download thread, the progress of each download thread is monitored in real time;When there is downloading wire When journey occurs abnormal, other Resource Servers in high-quality resource server ranking list is requested to prepare corresponding differential file, Abnormal download thread transfer to occur, so far Resource Server continues to download.
2. method for upgrading software as described in claim 1, which is characterized in that the calculating high-quality resource server ranking list Method are as follows: according to the network connection situation of the loading condition of each Resource Server and each Resource Server and client.
3. method for upgrading software as described in claim 1, which is characterized in that described to distribute downloading respectively for N number of Resource Server The step of thread, further comprises:
It is that each Resource Server calculates corresponding weight according to its high-quality ranking, is each Resource Server point according still further to weight Download thread with different number.
4. method for upgrading software as described in claim 1, which is characterized in that in the method, notified using asynchronous notifications mode N number of Resource Server in the top prepares different differential files respectively in high-quality resource server ranking list.
5. a kind of software update system of multi-source multithreading, which is characterized in that the system include: client, monitor server and Multiple Resource Servers;
The client further comprises:
Information collection unit, for collecting the current version information of software to be upgraded and notifying to monitor server;
Differential file download unit is the N according to weight for calculating corresponding weight according to N number of Resource Server information A Resource Server distributes download thread respectively, downloads corresponding differential file respectively from N number of Resource Server;
Local upgrade unit, for merging the existing version file and difference text of software to be upgraded after differential file is downloaded Part carries out locally applied upgrading;
The monitoring server further comprises:
Good service device ranks unit, for the load feelings according to client network information and the numerous Resource Servers listened to High-quality resource server ranking list is calculated in condition;
Difference calculation units list difference text for calculating the current version of software to be upgraded and the difference in version of latest edition Part inventory;
File prepares notification unit, for notifying that top n Resource Server prepares respectively in high-quality resource server ranking list Different differential files, N >=1;
Server info return unit, for returning to M Resource Server information preceding in high-quality resource server ranking list To client, and client is notified to start to download, the M >=N;
The Resource Server, for preparing corresponding differential file when receiving the notice for monitoring server, for client Downloading;
Wherein, in the downloading process of each download thread, the progress of each download thread is monitored in real time;When there is download thread appearance When abnormal, request other Resource Servers in high-quality resource server ranking list to prepare corresponding differential file, will occur So far Resource Server continues to download for abnormal download thread transfer.
6. software update system as claimed in claim 5, which is characterized in that the client further include: thread monitoring unit;
The thread monitoring unit, for monitoring the progress of each download thread in real time, when discovery has download thread to occur abnormal Notice monitors server, to request ranking to be located at N+1 to the corresponding difference text of new Resource Server preparation between M Part;
The differential file download unit is also used to be transferred to the download thread new when there is download thread to occur abnormal Resource Server continues to download corresponding differential file;
The file prepares notification unit, is also used to notify corresponding resource service when receiving the request of thread monitoring unit Device prepares corresponding differential file.
7. the software update system as described in claim 5 or 6, which is characterized in that
The good service device seniority among brothers and sisters unit further comprises:
Resource Server information acquisition module, for obtain each Resource Server loading condition and each Resource Server and visitor The network connection situation at family end;
Ranking computing module, for according to the loading condition of each Resource Server and the network of each Resource Server and client Connection calculates high-quality resource server ranking list.
8. the software update system as described in claim 5 or 6, which is characterized in that the differential file download unit further wraps It includes:
Weight calculation module, for being that each Resource Server calculates corresponding weight according to its high-quality ranking;
Thread distribution module, for being the download thread of each Resource Server distribution different number according to weight size.
9. the software update system as described in claim 5 or 6, which is characterized in that the file prepares notification unit, for using Asynchronous notifications mode notifies top n Resource Server to prepare differential file respectively.
CN201510269890.0A 2015-05-25 2015-05-25 A kind of method for upgrading software and system of multi-source multithreading Active CN104915227B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510269890.0A CN104915227B (en) 2015-05-25 2015-05-25 A kind of method for upgrading software and system of multi-source multithreading

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510269890.0A CN104915227B (en) 2015-05-25 2015-05-25 A kind of method for upgrading software and system of multi-source multithreading

Publications (2)

Publication Number Publication Date
CN104915227A CN104915227A (en) 2015-09-16
CN104915227B true CN104915227B (en) 2019-07-30

Family

ID=54084309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510269890.0A Active CN104915227B (en) 2015-05-25 2015-05-25 A kind of method for upgrading software and system of multi-source multithreading

Country Status (1)

Country Link
CN (1) CN104915227B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162885B (en) * 2015-09-25 2019-04-12 宇龙计算机通信科技(深圳)有限公司 Resource downloading method, resource downloading system and terminal
CN106776947A (en) * 2016-12-02 2017-05-31 乐视控股(北京)有限公司 Resource acquiring method, device and terminal
CN106933625A (en) * 2017-02-23 2017-07-07 湖北光谷天下传媒股份有限公司 A kind of method and system of multi-source software upgrading
CN109766131B (en) * 2017-11-06 2022-04-01 上海宝信软件股份有限公司 System and method for realizing intelligent automatic software upgrading based on multithreading technology
JP6943799B2 (en) * 2018-03-27 2021-10-06 アズビル株式会社 Data collection system
CN110389771B (en) * 2018-04-18 2024-03-01 视联动力信息技术股份有限公司 Upgrading method and system of video networking client
CN110012086B (en) * 2019-03-27 2023-10-20 努比亚技术有限公司 Method, terminal and storage medium for improving application downloading and installation speed
CN112671816B (en) * 2019-10-16 2022-07-22 腾讯科技(深圳)有限公司 File downloading method, device, equipment and medium
CN112866046A (en) * 2019-11-27 2021-05-28 宇龙计算机通信科技(深圳)有限公司 Software upgrading method and device for intelligent rod, storage medium and intelligent rod
CN112383638B (en) * 2020-11-27 2023-12-05 北京小米移动软件有限公司 Fragment downloading method, device and medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771931A (en) * 2008-12-26 2010-07-07 中国移动通信集团公司 P2P (peer 2 peer) resource downloading method and identification device
CN102123063A (en) * 2011-04-26 2011-07-13 杭州华三通信技术有限公司 Method and device for detecting link bandwidth
CN102223411A (en) * 2011-06-15 2011-10-19 奇智软件(北京)有限公司 Method and system for downloading file by adopting P2P (Peer-to-Peer) technology and client side
CN103701930A (en) * 2014-01-07 2014-04-02 浙江大学 Mobile application program real-time updating method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771931A (en) * 2008-12-26 2010-07-07 中国移动通信集团公司 P2P (peer 2 peer) resource downloading method and identification device
CN102123063A (en) * 2011-04-26 2011-07-13 杭州华三通信技术有限公司 Method and device for detecting link bandwidth
CN102223411A (en) * 2011-06-15 2011-10-19 奇智软件(北京)有限公司 Method and system for downloading file by adopting P2P (Peer-to-Peer) technology and client side
CN103701930A (en) * 2014-01-07 2014-04-02 浙江大学 Mobile application program real-time updating method and system

Also Published As

Publication number Publication date
CN104915227A (en) 2015-09-16

Similar Documents

Publication Publication Date Title
CN104915227B (en) A kind of method for upgrading software and system of multi-source multithreading
CN105101366B (en) Method for controlling mobile terminal and mobile terminal
CN106155741B (en) It is a kind of to avoid processing unit and method of the application program without response
CN105827775B (en) A kind of test method and system reducing MIPI interference
CN105282245B (en) Cross-server message push system and method
CN105682057B (en) A kind of message notifying device and message prompt method
CN104955023B (en) A kind of mobile terminal and the method for updating network parameter
CN105357593B (en) A kind of methods, devices and systems of uploaded videos
CN105099870B (en) A kind of information push method and device
CN105306457B (en) Data buffer storage device and method
CN104899090B (en) The method, device and mobile terminal of fast dispatch application process
CN104967802B (en) The method for recording and device of mobile terminal and its plurality of regions on screen
CN104850443B (en) A kind of method and mobile terminal for closing error starting application program
CN104967573B (en) A kind of monitoring method and terminal of data traffic
CN104850343B (en) Start the method and apparatus of one-hand operating format
CN106844032A (en) The storage processing method and device of a kind of terminal applies
CN105138400B (en) Application program self-starting management method and device
CN106506858B (en) Star orbital prediction technique and device
CN105278995B (en) Management method, system, server and the mobile terminal of application program
CN105897995B (en) A kind of method and apparatus for adding contact information
CN106095464B (en) A kind of method and device of the seamless operation of application program
CN105867749B (en) A kind of menu interface display methods and terminal
CN106803860A (en) The storage processing method and device of a kind of terminal applies
CN104735254B (en) terminal screen locking method and system
CN105827531B (en) A kind of routing access method and terminal

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant