CN103514089B - The software of software manager installs detection method and system - Google Patents

The software of software manager installs detection method and system Download PDF

Info

Publication number
CN103514089B
CN103514089B CN201210212867.4A CN201210212867A CN103514089B CN 103514089 B CN103514089 B CN 103514089B CN 201210212867 A CN201210212867 A CN 201210212867A CN 103514089 B CN103514089 B CN 103514089B
Authority
CN
China
Prior art keywords
software
characteristic information
mounting characteristic
client computer
mounting
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
CN201210212867.4A
Other languages
Chinese (zh)
Other versions
CN103514089A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210212867.4A priority Critical patent/CN103514089B/en
Publication of CN103514089A publication Critical patent/CN103514089A/en
Application granted granted Critical
Publication of CN103514089B publication Critical patent/CN103514089B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The software that this application discloses a kind of software manager installs detection method and system, mainly comprises and arranges inspection policies file, comprising the mounting characteristic information of all software I D in the software storage of software manager and correspondence thereof; When detecting, enumerated the mounting characteristic information of all softwares that local client computer has been installed by enumeration module; In described inspection policies file, search whether there is the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software by detection module again, if found, then judge that the software represented by software I D corresponding to the mounting characteristic information that finds is installed on local client computer.Utilize the present invention, the detection speed of software manager when carrying out software installation and detecting can be improved.

Description

The software of software manager installs detection method and system
Technical field
The present invention relates to the Added Management technical field of data processing equipment, particularly relate to software used in a kind of software administration and detection method and system are installed.
Background technology
At present, data processing equipment, as computing machine, smart mobile phone, palm PC, panel computer etc., use more and more universal.The various softwares that data processing equipment runs are also in explosive growth.Require also more and more higher to the Added Management of the hardware and software of data processing equipment.
Wherein for the management of software, current main technical schemes is software manager.Software manager is a kind of software managed the software of data processing equipment.Software manager such as 360 software house keepers, Kingsoft software house keeper etc. that current industry is relatively commonly used.The major function that current software manager possesses comprises: software storage, software upgrading, software unloading, download management etc.
Usually gather the most outstanding conventional software of current industry in software storage in software manager, select installation and upgrade for user.In order to provide abundanter to user, more fully software installation and upgrade, the software supported in current software storage gets more and more, and throughout each classes such as instant messaging, audio and video playing, web page browsing, input methods, sum can reach thousands of even up to ten thousand kinds.360 such as current software house keepers, the quantity supported in software storage is kind more than 11000.Use software manager, the user of data processing equipment can obtain the installation kit of the software in software storage very easily, and carries out edition upgrading, the problems such as the defect in solution legacy version and leak.
In software manager, a basis and the technology of key, the installation being exactly software detects.Whether so-called software installed detection and referred to a certain or various software judged in client computer (i.e. the user data treatment facility of mounting software manager) in mounting software warehouse, if installed, then obtain its version number, the latest edition number of software corresponding to software storage contrasts, and provides upgrade information.For each software supported in software storage, all need to detect client computer and whether install, thus judge that corresponding software is the need of installation and upgrade etc.When the amount of software supported in software storage more and more (as up to ten thousand kinds), how to improve the performance that volume software detects, just seem most important.
At present, in existing software manager, software is installed the main technical schemes detected and is:
Each software in software storage all at least has dbase and version number information, also has corresponding descriptor etc.And be each software distribution software I D(i.e. unique identification of this software in software storage), and provide a software detection policy configuration file, for describing the installation detection method of various software successively.Fig. 1 is the structural drawing of a kind of software detection policy configuration file of prior art.See Fig. 1, wherein " software 1 " and " software 2 " ID that is software, for each software I D, all correspondence is configured with corresponding software detection strategy, as the strategy 1 in figure, strategy 2, strategy 3.Often kind of software detection strategy all describes a kind of concrete inspection policies judging this software (" software 1 " or " software 2 " as in Fig. 1) whether client computer installed in software storage.
When usual a kind of software is installed in the operating system of client computer, except copying except the file needed for this software to the installation directory of client computer, also can do following two kinds of process:
The first process: to the ad-hoc location write key assignments of in registration table.
Such as Windows operating system, described particular location is:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
Or
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall
After above-mentioned registry-location write key assignments, can see in window control panel-interpolation delete program list, be illustrated in figure 2 a kind of schematic diagram of Windows operating system control panel-interpolation delete program list.
The second process: to beginning-programs menu and the desktop write shortcut of operating system.Be illustrated in figure 3 the shortcut schematic diagram in the beginning-programs menu of Windows operating system, described shortcut can start the application program that client computer has been installed easily for making user.
Therefore, mainly through detecting these these two positions above-mentioned, can judge whether a certain software is installed to client computer.
Software detection strategy conventional at present, mainly contains following three kinds:
The first software detection strategy: describe the shortcut of a kind of software in the beginning-programs menu and desktop of Client OS, whether having identical shortcut to judge by detection client computer, whether this client computer installs this software, if installed, get the execute file of this software, normally main EXE file or dll file etc., get installed software version number again from this execute file.
The second software detection strategy: describe the registry node information of a kind of software at Client OS, and describe the obtain manner of the installation path of this software, the software installation path of such as Windows operating system can from registration table:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
Node or
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion obtain in DisplayIcon key assignments under Uninstall node or InstallLocation key assignments.
When detecting, detect client computer and whether there is identical registry node information to judge whether this client computer installs this software, if installed, from described key assignments, get the installation path of this software, from installation path, obtain execute file, from this execute file, get installed software version number again.
The third software detection strategy: describe the registry node information of a kind of software at Client OS, and the registration table ad-hoc location directly describing this software version number place.Such as: can from registration table
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
Node or
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion obtain version number in DisplayVersion key assignments under Uninstall node.
During detection, detect client computer and whether there is identical registry node information to judge whether this client computer installs this software, if installed, from described DisplayVersion key assignments, get the version number of this software.
Fig. 4 is that the process flow diagram detected installed by existing software.In prior art, for each software in software storage, carry out order one-time detection according to the relative strategy of each software in the software detection policy configuration file described in Fig. 1.That is:
First whether inspection software 1 is installed at local client computer, specifically according to the software detection strategy of this software 1 shown in Fig. 1, namely strategy 1, strategy 2, strategy 3 detect successively, if detected, then judge that this software 1 is arranged on this client computer, if all do not detected by whole strategy, then judge that this software 1 is not arranged on this client computer.
Secondly, whether inspection software 2 is installed at local client computer, specifically according to the software detection strategy of this software 2 shown in Fig. 1, namely strategy 1, strategy 2, strategy 3 detect successively, if detected, then judge that this software 1 is arranged on this client computer, if all do not detected by whole strategy, then judge that this software 1 is not arranged on this client computer.
Then in like manner order successively inspection software 3,, software N, until software all in software storage all detects complete.
The major defect that detection technique installed by software of the prior art is: when software storage contains large batch of software number, its detection speed slowly, this is because:
1) prior art detects successively to N kind software from the first software in software storage, its overall detection time, can increase with the software number supported and linearly increase.If need the amount of software of detection few, as 100 kinds, total detection time, its speed can also receive generally within 0.1 second; But for the software storage that amount of software is huge, as containing 10,000,20,000 kind of software time, its overall detection time will increase by a year-on-year basis, such as reach 3 seconds, 5 seconds, the refresh rate of software matrix can be had a strong impact on, software matrix display to be upgraded is slow, and the operational efficiency of software manager reduces, and has had a strong impact on Consumer's Experience.
2) in prior art, for each software in software storage, no matter whether this software is installed, all can go to attempt reading registration table and shortcut, judge whether its registry entry and shortcut item exist, and actual majority of case there is no need.Such as the software storage containing 10,000 kinds of softwares, each software has a shortcut item and a registry entry, if software will be carried out to software storage install detection, then need reading 10,000 registration tablies and 10,000 shortcuts, judge whether often kind of software is installed in client computer, namely need registration table and the magnetic disc i/o operation of doing 20,000 times, as everyone knows, magnetic disc i/o operation is more consuming time.And the software number that the machine of in fact general user is installed is no more than hundred kinds.This just causes the redundancy of magnetic disc i/o operation, seriously reduces software and installs the detection speed detected.
Summary of the invention
In view of this, fundamental purpose of the present invention is that the software providing a kind of software manager installs detection method and system, to improve the detection speed of software manager when carrying out software installation and detecting.
Technical scheme of the present invention is achieved in that
A detection method installed by the software of software manager, comprising: arrange inspection policies file, comprising the mounting characteristic information of all software I D in the software storage of software manager and correspondence thereof;
When detecting, comprising:
Enumerate the mounting characteristic information of all softwares that local client computer has been installed;
Search in described inspection policies file and whether have the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software, if found, then judge that the software represented by software I D corresponding to the mounting characteristic information that finds is installed on local client computer.
A kind of software installation detecting system, comprising:
Inspection policies file, comprising the mounting characteristic information of all software I D in the software storage of software manager and correspondence thereof;
Enumeration module, for enumerating the mounting characteristic information of all softwares that local client computer has been installed;
Detection module, the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software whether is had for searching in described inspection policies file, if found, then judge that the software represented by software I D corresponding to the mounting characteristic information that finds is installed on local client computer.
Compared with prior art, the present invention arranges inspection policies file, comprising the mounting characteristic information of all software I D in the software storage of software manager and correspondence thereof; And when detecting, first enumerate the mounting characteristic information of all softwares that local client computer has been installed; And then search whether there is the mounting characteristic information identical with enumerated mounting characteristic information in described inspection policies file, if found, then judge that the software represented by software I D corresponding to the mounting characteristic information that finds is installed on local client computer.Due to compared with the amount of software in software storage, the amount of software that local client computer is installed usually is less, therefore only need from described inspection policies file, to search corresponding mounting characteristic information for the software that this quantity is little, the required operation performed of overall detection is less, and the magnetic disc i/o operation of local client computer is also reduced greatly, therefore can improve the detection speed of software manager when detection installed by software.
Accompanying drawing explanation
Fig. 1 is the structural drawing of a kind of software detection policy configuration file of prior art;
Fig. 2 is a kind of schematic diagram of Windows operating system control panel-interpolation delete program list;
Fig. 3 is the shortcut schematic diagram in the beginning-programs menu of Windows operating system;
Fig. 4 is that the process flow diagram detected installed by existing software;
Fig. 5 is a kind of process flow diagram of the software installation detection method of software manager of the present invention;
Fig. 6 is a kind of basic format schematic diagram of inspection policies file of the present invention;
Fig. 7 is the schematic diagram of the registry node of the mounting software information of Windows operating system;
Fig. 8 is the shortcut list schematic diagram of mounting software in the beginning-programs menu of Windows operating system;
Fig. 9 is the one composition schematic diagram of software installation detecting system of the present invention;
Figure 10 is a kind of schematic diagram of inspection policies file server issuing mechanism;
Figure 11 is another composition schematic diagram of software installation detecting system of the present invention.
Embodiment
Below in conjunction with drawings and the specific embodiments, the present invention is further described in more detail
Fig. 5 is a kind of process flow diagram of the software installation detection method of software manager of the present invention, and the method mainly comprises:
501, inspection policies file is set, comprising the mounting characteristic information of all software I D in the software storage of software manager and correspondence thereof;
When detecting, comprising:
502, the mounting characteristic information of all softwares that local client computer has been installed is enumerated;
503, in described inspection policies file, search whether have the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software, if found, then judge that the software represented by software I D corresponding to the mounting characteristic information that finds is installed on local client computer.
In the present invention, described client computer refers to can the data processing equipment of mounting software, as computing machine, smart mobile phone, palm PC, panel computer etc.Described software manager is run on a client.Relative to software manager, its client computer run is called as local client computer.
The described inspection policies file that arranges normally is arranged at server end, content in this inspection policies file can by manually runing setting, generate the file of specified format, such as, be generally the file of extend markup language (XML, ExtensibleMarkupLanguage) form.Software manager is handed down to after setting.Also can provide the download address of this inspection policies file to software manager, software manager initiatively can download the inspection policies file of latest edition from described download address.
When arranging inspection policies file, comprising:
1). all distribute a software I D to each software in the software storage of software manager.
2). in inspection policies file, for each software in software storage, set up the mapping relations from the mounting characteristic information of this software to the software I D of this software.
Mounting characteristic information of the present invention is: the registry node information of software in Client OS registration table and/or software are at the shortcut information of Client OS.
Such as in Windows operating system, the registry node information of described software in Client OS registration table is:
HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion Uninstall or
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion nodal information under Uninstal, the registry node information as a certain software " QQ whirlwind " can be:
HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion under Uninstall QQ whirlwind.
Described software is at the shortcut information of shortcut information normally in the beginning-programs menu and desktop of Client OS of Client OS, the specifically path of shortcut, shortcut path as audio-visual in a certain software QQ be " Tengxun's software QQ audio-visual the audio-visual .lnk of QQ ".
Fig. 6 is a kind of basic format schematic diagram of inspection policies file of the present invention.See Fig. 6, in this inspection policies file, establish the mapping from the registry node information of software to software I D, and the mapping from the shortcut information of software to software I D.Certainly in other embodiments, also only can set up the mapping from the registry node information of software to software I D in described inspection policies file, or only set up the mapping from the shortcut information of software to software I D.Only set up the mapping to software I D of registry node information and shortcut information shown in Fig. 6, detected mounting software can be more comprehensive simultaneously.
Concrete mapping relations by xml representation, shown in following XML file 1: (// rear for annotation):
1<reglist>//detected by registry entry, registry node information is to the mapping of software I D
2<itemreg="{052CFB79-9D62-42E3-8A15-DE66C2C97C3E}″softid="1″>
3<itemreg=" QQ whirlwind " softid=" 2 "/>
4</reglist>
5<linklist>//detected by shortcut, shortcut information is to the mapping of software I D
6<itemlink=" Tengxun's software QQ2011 Tencent QQ 2011.lnk " softid=" 1 "/>
7<itemlink=" Tengxun's software QQ2012 Tencent QQ 2012.lnk " softid=" 1 "/>
8<itemlink=" Tengxun's software QQ audio-visual the audio-visual .lnk of QQ " softid=" 2 "/>
9</linklist>
Wherein, the 2nd row and the 3rd row show respectively a kind of mapping relations of registry node information to software I D of software, are wherein the registry node information of this software after reg, are the ID of this software after softid.Described registry node information is registry-location
HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion Uninstall or
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion nodal information under Uninstal.
Described 6th, 7,8 row show respectively a kind of mapping relations of shortcut information to software I D of software, being wherein the shortcut information of this software after link, is the ID of this software after softid.
After described inspection policies file is issued to the software manager being arranged on client computer, software manager executive software installs the process detected, and namely performs described step 502 and 503.
Concrete, in step 502, software manager needs to perform following steps 521 and/or 522:
Step 521) to enumerate in local client computer operating system the registry node information of mounting software in registration table, generate the list of registry node information.As in Windows operating system, namely enumerate registration table:
HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion Uninstall and
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion each registry node information under Uninstal, just can obtain the mounting characteristic information of local client computer mounting software.
Fig. 7 is the schematic diagram of the registry node of the mounting software information of Windows operating system.Fig. 7 show only registration table HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion each registry node 702 under Uninstall701, such as, " QQsoftMgr ", " QQWubi ", " QQ spelling input method ", " QQ whirlwind " etc. in figure are the registry node information of corresponding software.These registry node information represent that corresponding software has been arranged on local client computer, in follow-up software is installed and detected, need to detect these mounted softwares and whether belong to software in the software storage of software manager, and the need of upgrading.The concrete mode enumerating these registry node information can the corresponding application programming interface (API, ApplicationProgrammingInterface) that provides of call operation system, such as RegEnumKeyEx.After enumerating, the registry node information that these can be enumerated generates a list, treats follow-uply in inspection policies file, to search information.As for registration table
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion registry node under Uninsta in like manner, signal of no longer drawing herein.
Step 522) enumerate all shortcuts of beginning-programs menu and desktop in local client computer operating system, generate the list of shortcut information.
Fig. 8 is the shortcut list schematic diagram of mounting software in the beginning-programs menu of Windows operating system.See Fig. 8, the shortcut of each software listed in the list all represents that corresponding software has been arranged on local client computer, and such as shortcut 801 represents that software " WinRAR " has been arranged on local client computer.In follow-up software is installed and detected, need to detect these mounted softwares and whether belong to software in the software storage of software manager, and the need of upgrading.The concrete mode enumerating these shortcut information can the corresponding API that provides of call operation system, such as FindNextFile.After enumerating, the shortcut information that these enumerate can be generated a list, treat follow-uply in inspection policies file, to search information.As for enumerating all shortcut information of desktop in this in like manner, repeat no more herein.
In step 502, when only including registry node information in inspection policies file to the mapping relations of software I D, software manager only can perform above-mentioned steps 521; When only including shortcut information in inspection policies file to the mapping relations of software I D, software manager only can perform above-mentioned steps 522; When including registry node information in inspection policies file to the mapping relations of software I D and shortcut information to the mapping relations of software I D simultaneously, software manager only can perform above-mentioned steps 521 or 522, also can perform step 521 and 522 simultaneously.Due to some software vendor just write registration table and do not increase shortcut information when client software installation, therefore perform step 521 and 522 in this case at the same time, detected result is more comprehensive.
Concrete, in step 503, software manager for step 502 the mounting characteristic information enumerated, in described inspection policies file, search whether there is the mounting characteristic information identical with enumerated mounting characteristic information, if found, then judge that the software represented by software I D corresponding to the mounting characteristic information that finds is installed on local client computer.
For the registry node information of the mounted software of local client computer that step 502 enumerates, software manager is searched in the registry node information in described inspection policies file, look into and see if there is identical registry node information, such as the registry node information " QQ whirlwind " shown in Fig. 7, search successively in inspection policies file in described registry node information and whether have " QQ whirlwind " this registry node information, if had, then judge that the software (this software is the software supported in software manager software storage) represented by the software I D that this registry node information is corresponding is installed on local client computer.
For the shortcut information of the mounted software of local client computer that step 502 enumerates, software manager is searched in the shortcut information in described inspection policies file, look into and see if there is identical shortcut information, for shortcut information that local client computer enumerates " Tengxun's software QQ audio-visual the audio-visual .lnk of QQ ", search successively in described shortcut information in inspection policies file and whether have " Tengxun's software QQ audio-visual the audio-visual .lnk of QQ " this shortcut information, if had, then judge that the software (this software is the software supported in software manager software storage) represented by the software I D that this shortcut information is corresponding is installed on local client computer.
From the above mentioned, the present invention carry out software install detect overall detection time be estimated as:
Overall detection time=enumerate that the machine filled software time+in inspection policies file search the time
Wherein enumerate the machine to have filled software time only to have filled software number with the machine relevant, in inspection policies file, search Time Dependent lookup algorithm.Compared with prior art, registration table of the present invention and magnetic disc i/o access times significantly reduce, have nothing to do with the software number that software manager software storage is supported, only filled software number with local client computer relevant, overall detection time no longer linearly increases with the software number supported.And the time of searching in inspection policies file is also very quick when not utilizing particular algorithm.Therefore, relative to prior art, the present invention can improve the detection speed of software manager when detection installed by software.
In order to improve detection speed further, in a preferred embodiment, can special lookup algorithm be adopted to improve search efficiency during information of searching in inspection policies file, thus improve overall detection speed further.
In order to coordinate lookup algorithm, described when arranging inspection policies file, also need to carry out pre-service to the mounting characteristic information in inspection policies file further.Concrete pretreatment mode can have multiple, and most typical have two kinds:
A kind of is sort to the mounting characteristic information in inspection policies file, adopts dichotomy algorithm to search, that is: to facilitate when follow-up software is installed and detected
Whether follow-up searching in inspection policies file has the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software, specifically comprises:
For the mounting characteristic information X of each enumerated local client computer mounting software i, wherein i=1 ..., n, n are the quantity of enumerated mounting characteristic information, and whether adopt dichotomy to search in described inspection policies file has and this mounting characteristic information X iidentical mounting characteristic information, if found, then judges that the software represented by the software I D that this mounting characteristic information is corresponding is installed on local client computer.
Described binary search is also known as binary search, and advantage is that number of comparisons is few, and seek rate is fast, and average behavior is good.When searching, first by the mounting characteristic information of centre position record in inspection policies file and mounting characteristic information X to be found irelatively, if both are equal, then search successfully; Otherwise utilize centre position to record and inspection policies file is divided into former and later two sublists, if the mounting characteristic information of centre position record is greater than mounting characteristic information X to be found i, then search last sublist further, otherwise a sublist after searching further.Repeat above process, until find the mounting characteristic information satisfied condition, make to search successfully, or until sublist does not exist, now search unsuccessful.
Another kind of preprocess method adopts hash algorithm to carry out Hash calculation to each bar mounting characteristic information in inspection policies file to obtain cryptographic hash, and the cryptographic hash of mounting characteristic information corresponding to all software I D in described software storage is comprised further at inspection policies file, hash algorithm is adopted to search to facilitate when follow-up software is installed and detected, that is:
Whether follow-up searching in inspection policies file has the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software, specifically comprises:
For the mounting characteristic information X of each enumerated local client computer mounting software i, wherein i=1 ..., n, n are the quantity of enumerated mounting characteristic information, adopt with described inspection policies file is set time the identical hash algorithm that adopts, calculate this mounting characteristic information X icryptographic hash; Then in described inspection policies file, search whether have the cryptographic hash identical with this cryptographic hash, if so, then search and described mounting characteristic information X in the mounting characteristic information that this cryptographic hash is corresponding from inspection policies file iidentical mounting characteristic information, if found, then judges that the software represented by the software I D that this mounting characteristic information is corresponding is installed on local client computer.
Adopt above-mentioned pre-service and special lookup algorithm, search efficiency can be improved further, and then improve detection speed.Be such as binary search, then the described time of searching in inspection policies file is log2^n, and wherein n represents the sum of registration table or shortcut in inspection policies file, if HASH to search then efficiency higher.
Certainly, the method for searching, mainly includes but not limited to that above-mentioned binary search and HASH search.In addition other lookup method is also had, such as binary tree search etc.
In another kind of embodiment, method of the present invention can further include after judging that described in step 503 software represented by software I D corresponding to the mounting characteristic information that finds has been installed on local client computer:
The version number of software on local client computer that the mounting characteristic information found described in acquisition is corresponding.After obtaining the version number of this software on local client computer, alignment processing can be carried out according to the strategy of software manager, such as can further include: the latest edition number of software in software manager software storage that the mounting characteristic information found described in acquisition is corresponding, whether the latest edition number judging in described software storage is greater than the corresponding version number on described local client computer, if be greater than, prompting needs to upgrade this software, otherwise points out this software to install.
As for the version number of software on local client computer that the mounting characteristic information found described in how obtaining is corresponding, need the kind seeing mounting characteristic information, the method utilizing registry node information and shortcut information to obtain corresponding version number is not quite similar.If described mounting characteristic information is the registry node information of software in Client OS registration table, then described inspection policies file comprises key name and the execute file name of software installation path corresponding to registry node information further, and/or the software version key name that registry node information is corresponding.
Shown in the following XML file 2 of content of such as, xml structure in inspection policies file:
Concrete mapping relations by xml representation, example following (// rear be annotation):
1<reglist>//detected by registry entry, registry node information is to the mapping of software I D
2<itemreg="{052CFB79-9D62-42E3-8A15-DE66C2C97C3E}″softid="1″>
3<itemreg=" QQ whirlwind " softid=" 2 " >
4<filekeyname=" DisplayIcon " filename=" bin QQ whirlwind .exe "/>//for getting the version number in exe resource
5<regkeyname=" DisplayVersion "/>//for getting the version number in registration table
6</item>
7</reglist>
8<linklist>//detected by shortcut, shortcut information is to the mapping of software I D
9<itemlink=" Tengxun's software QQ2011 Tencent QQ 2011.lnk " softid=" 1 "/>
10<itemlink=" Tengxun's software QQ2012 Tencent QQ 2012.lnk " softid=" 1 "/>
11<itemlink=" Tengxun's software QQ audio-visual the audio-visual .lnk of QQ " softid=" 2 "/>
12</linklist>
Wherein, the 4th row illustrates key name " DisplayIcon " (or " InstallLocation ") and the execute file name " QQ whirlwind .exe " of software installation path corresponding to described registry node information " QQ whirlwind ".Described 5th row illustrates software version key name " DisplayVersion " corresponding to described registry node information " QQ whirlwind ".
When the version number of software corresponding to the mounting characteristic information that finds described in obtaining on local client computer, concrete grammar is:
If described in the mounting characteristic information that finds comprise registry node information, then for found each registry node information Y i, wherein i=1 ..., m, m are the quantity of found registry node information, according to this registry node information Y in described inspection policies file ithe key name of corresponding software installation path and execute file name, installation path is read from the corresponding installation path key name of the corresponding registry node of local client computer, under arriving this installation path again, read execute file according to described execute file name, and obtain version number from this execute file; Or, according to this registry node information Y in described inspection policies file icorresponding software version key name, reads version number from the corresponding software version key name of the corresponding registry node of local client computer.
Such as shown in Figure 7 in the registry node information " QQ whirlwind " that local client computer enumerates, first at described XML file 2(and inspection policies file) in search, find " the QQ whirlwind " that have in identical registry node information and described 3rd row, the software (this software I D is the ID in software storage, and this software is the software in software storage) of the software I D that then this registry node information is corresponding and softid=" 2 " is installed at local client computer.The version number that following acquisition is installed at local client computer, concrete grammar is according to the installation path key name " DisplayIcon " in the 4th row of described XML file 2, read from the corresponding installation path key name " DisplayIcon " 703 of the local client computer registry node shown in Fig. 7 installation path namely " c: ProgramFiles Tencent QQDownload ", under arriving this installation path again, execute file QQ whirlwind .exe is read according to described execute file name, and version number is obtained from this execute file, concrete acquisition methods also can the relevant API of direct call operation system realize, or, software version key name " DisplayVersion " according to described XML file 2 the 5th row, reads version number and 3.9.708.403 from the corresponding software version key name " DisplayVersion " 704 of the corresponding registry node of the local client computer shown in Fig. 7.
If the mounting characteristic information found in inspection policies file is the shortcut information of software at Client OS; Then for found each shortcut information Z i(software that these shortcut information are corresponding is installed on local client computer), wherein i=1 ... p, p is the quantity of found shortcut information, reads execute file corresponding to this shortcut information, from this execute file, obtain version number from local client computer.
Corresponding with said method of the present invention, the invention also discloses a kind of software installation detecting system, for performing method of the present invention.Fig. 9 is the one composition schematic diagram of software installation detecting system of the present invention.See Fig. 9, this system comprises:
Inspection policies file 901, comprising the mounting characteristic information of all software I D in the software storage of software manager and correspondence thereof; Described mounting characteristic information is: the registry node information of software in Client OS registration table and/or software are at the shortcut information of Client OS.
Enumeration module 902, for enumerating the mounting characteristic information of all softwares that local client computer has been installed.
Detection module 903, the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software whether is had for searching in described inspection policies file, if found, then judge that the software represented by software I D corresponding to the mounting characteristic information that finds is installed on local client computer.
Enumeration module 902 of the present invention and detection module 903 are arranged in software manager, and described software manager is installed on a client.Described inspection policies file 901 can set at server end in advance, and then is handed down to software manager.Also can provide the download address of this inspection policies file to software manager, software manager initiatively can download the inspection policies file of latest edition from described download address, also can obtain described inspection policies file from server end online when detecting.
Figure 10 is a kind of schematic diagram of inspection policies file server issuing mechanism.See Figure 10, utilize inspection policies configuration-system 1001 configuration detection strategy file at server end, mainly adopt and manually run configuration, then give inspection policies and issue server 1002 and be handed down to software manager 1003 in client computer.
In order to improve detection speed further, in a preferred embodiment, can special lookup algorithm be adopted to improve search efficiency during information of searching in inspection policies file, thus improve overall detection speed further.
In order to coordinate lookup algorithm, described when arranging inspection policies file, also need to carry out pre-service to the mounting characteristic information in inspection policies file further.If Figure 10 is the pretreatment module 1004 being arranged on server end, after pre-service is carried out to described inspection policies file, be handed down to software manager again, wherein specifically comprise the first pretreatment module 1041 and/or the second pretreatment module 1042.
Described first pretreatment module 1041 is for sorting to the mounting characteristic information in described inspection policies file, be handed down to described software manager afterwards, dichotomy detection sub-module is specifically comprised, for the mounting characteristic information X for each enumerated local client computer mounting software in the detection module 903 of described software installation detecting system i, wherein i=1 ..., n, n are the quantity of enumerated mounting characteristic information, and whether adopt dichotomy to search in described inspection policies file has and this mounting characteristic information X iidentical mounting characteristic information, if found, then judges that the software represented by the software I D that this mounting characteristic information is corresponding is installed on local client computer.
Described second pretreatment module 1042 obtains cryptographic hash for adopting the hash algorithm of specifying to carry out Hash calculation to the mounting characteristic information in described inspection policies file, and adds the cryptographic hash of the mounting characteristic information that all software I D are corresponding in described software storage further in inspection policies file; Be handed down to described software manager afterwards.
The detection module 903 of described software installation detecting system can also specifically comprise Hash detection sub-module, for the mounting characteristic information X for each enumerated local client computer mounting software i, wherein i=1 ..., n, n are the quantity of enumerated mounting characteristic information, adopt the hash algorithm identical with described appointment hash algorithm, calculate this mounting characteristic information X icryptographic hash; Then in described inspection policies file, search whether have the cryptographic hash identical with this cryptographic hash, if so, then search and described mounting characteristic information X in the mounting characteristic information that this cryptographic hash is corresponding from inspection policies file iidentical mounting characteristic information, if found, then judges that the software represented by the software I D that this mounting characteristic information is corresponding is installed on local client computer.
Figure 11 is another composition schematic diagram of software installation detecting system of the present invention.As shown in figure 11, software installation detecting system of the present invention can further include version number's acquisition module 904, after the software represented by the software I D that the mounting characteristic information judging to find at described detection module 903 is corresponding has been installed on local client computer, the version number of software on local client computer that the mounting characteristic information found described in acquisition is corresponding, concrete obtain manner refers to above-mentioned method.And the latest edition number of this software in software manager software storage can be obtained further, whether the latest edition number judging in described software storage is greater than the corresponding version number on described local client computer, if be greater than, prompting needs to upgrade this software, otherwise points out this software to install.
The foregoing is only preferred embodiment of the present invention, not in order to limit the present invention, within the spirit and principles in the present invention all, any amendment made, equivalent replacement, improvement etc., all should be included within the scope of protection of the invention.

Claims (13)

1. a detection method installed by the software of software manager, it is characterized in that, arranges inspection policies file, comprising the mounting characteristic information of all software I D in the software storage of software manager and correspondence thereof, carries out pre-service to described mounting characteristic information;
When detecting, comprising:
Enumerate the mounting characteristic information of all softwares that local client computer has been installed;
Utilize the lookup algorithm corresponding with described pretreatment mode, search in described inspection policies file and whether have the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software, if found, then judge that the software represented by software I D corresponding to the mounting characteristic information that finds is installed on local client computer;
Described mounting characteristic information is: the registry node information of software in Client OS registration table and software are at the shortcut information of Client OS.
2. method according to claim 1, is characterized in that,
Described when inspection policies file is set, further mounting characteristic information is wherein sorted;
Whether described searching in inspection policies file has the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software, specifically comprises:
For the mounting characteristic information X of each enumerated local client computer mounting software i, wherein i=1 ..., n, n are the quantity of enumerated mounting characteristic information, and whether adopt dichotomy to search in described inspection policies file has and this mounting characteristic information X iidentical mounting characteristic information, if found, then judges that the software represented by the software I D that this mounting characteristic information is corresponding is installed on local client computer.
3. method according to claim 1, is characterized in that,
It is described when inspection policies file is set, further employing hash algorithm carries out Hash calculation to mounting characteristic information wherein and obtains cryptographic hash, and comprises the cryptographic hash of the software installation information that all software I D are corresponding in described software storage further at inspection policies file;
Whether described searching in inspection policies file has the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software, specifically comprises:
For the mounting characteristic information X of each enumerated local client computer mounting software i, wherein i=1 ..., n, n are the quantity of enumerated mounting characteristic information, adopt with described inspection policies file is set time the identical hash algorithm that adopts, calculate this mounting characteristic information X icryptographic hash; Then in described inspection policies file, search whether have the cryptographic hash identical with this cryptographic hash, if so, then search and described mounting characteristic information X in the mounting characteristic information that this cryptographic hash is corresponding from inspection policies file iidentical mounting characteristic information, if found, then judges that the software represented by the software I D that this mounting characteristic information is corresponding is installed on local client computer.
4. method according to claim 1, it is characterized in that, software represented by the software I D that the mounting characteristic information that the method finds in described judgement is corresponding comprises after having installed on local client computer further: the version number of software on local client computer that the mounting characteristic information found described in acquisition is corresponding.
5. method according to claim 4, is characterized in that, described mounting characteristic information is the shortcut information of software at Client OS;
The version number of software on local client computer that the mounting characteristic information found described in described acquisition is corresponding, specifically comprises: for found each shortcut information Z i, wherein i=1 ..., p, p are the quantity of found shortcut information, read execute file corresponding to this shortcut information, from this execute file, obtain version number from local client computer.
6. method according to claim 4, is characterized in that, described mounting characteristic information is the registry node information of software in Client OS registration table; Described inspection policies file comprises key name and the execute file name of software installation path corresponding to registry node information further, and/or the software version key name that registry node information is corresponding;
The version number of software on local client computer that the mounting characteristic information found described in described acquisition is corresponding, specifically comprises: for found each registry node information Y i, wherein i=1 ..., m, m are the quantity of found registry node information, according to this registry node information Y in described inspection policies file ithe key name of corresponding software installation path and execute file name, installation path is read from the corresponding installation path key name of the corresponding registry node of local client computer, under arriving this installation path again, read execute file according to described execute file name, and obtain version number from this execute file; Or, according to this registry node information Y in described inspection policies file icorresponding software version key name, reads version number from the corresponding software version key name of the corresponding registry node of local client computer.
7. the method according to any one of claim 4,5,6, it is characterized in that, the method comprises further: the latest edition number of software in software manager software storage that the mounting characteristic information found described in acquisition is corresponding, whether the latest edition number judging in described software storage is greater than the corresponding version number on described local client computer, then points out need to upgrade this software when being greater than.
8. method according to claim 1, is characterized in that, the described inspection policies file that arranges is specially: arrange inspection policies file at server end, be handed down to software manager after setting.
9. a software installation detecting system, is characterized in that, comprising:
Inspection policies file, comprising the mounting characteristic information of all software I D in the software storage of software manager and correspondence thereof, described mounting characteristic information is through pretreated mounting characteristic information;
Enumeration module, for enumerating the mounting characteristic information of all softwares that local client computer has been installed;
Detection module, for utilizing the lookup algorithm corresponding with described pretreatment mode, search in described inspection policies file and whether have the mounting characteristic information identical with the mounting characteristic information of enumerated local client computer mounting software, if found, then judge that the software represented by software I D corresponding to the mounting characteristic information that finds is installed on local client computer;
Described mounting characteristic information is: the registry node information of software in Client OS registration table and software are at the shortcut information of Client OS.
10. system according to claim 9, is characterized in that,
Mounting characteristic information in described inspection policies file is the mounting characteristic information of carrying out sorting;
Described detection module specifically comprises dichotomy detection sub-module, for the mounting characteristic information X for each enumerated local client computer mounting software i, wherein i=1 ..., n, n are the quantity of enumerated mounting characteristic information, and whether adopt dichotomy to search in described inspection policies file has and this mounting characteristic information X iidentical mounting characteristic information, if found, then judges that the software represented by the software I D that this mounting characteristic information is corresponding is installed on local client computer.
11. systems according to claim 9, is characterized in that,
Cryptographic hash that described inspection policies file comprises described mounting characteristic information further, that calculated by appointment hash algorithm;
Described detection module specifically comprises Hash detection sub-module, for the mounting characteristic information X for each enumerated local client computer mounting software i, wherein i=1 ..., n, n are the quantity of enumerated mounting characteristic information, adopt the hash algorithm identical with described appointment hash algorithm, calculate this mounting characteristic information X icryptographic hash; Then in described inspection policies file, search whether have the cryptographic hash identical with this cryptographic hash, if so, then search and described mounting characteristic information X in the mounting characteristic information that this cryptographic hash is corresponding from inspection policies file iidentical mounting characteristic information, if found, then judges that the software represented by the software I D that this mounting characteristic information is corresponding is installed on local client computer.
12. systems according to claim 9, is characterized in that, this system comprises version number's acquisition module further, the version number of software on local client computer that the mounting characteristic information for finding described in obtaining is corresponding.
13. systems according to claim 12, it is characterized in that, the latest edition number of software in software manager software storage that the mounting characteristic information that described version number acquisition module is further used for finding described in acquisition is corresponding, whether the latest edition number judging in described software storage is greater than the corresponding version number on described local client computer, then points out need to upgrade this software when being greater than.
CN201210212867.4A 2012-06-26 2012-06-26 The software of software manager installs detection method and system Active CN103514089B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210212867.4A CN103514089B (en) 2012-06-26 2012-06-26 The software of software manager installs detection method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210212867.4A CN103514089B (en) 2012-06-26 2012-06-26 The software of software manager installs detection method and system

Publications (2)

Publication Number Publication Date
CN103514089A CN103514089A (en) 2014-01-15
CN103514089B true CN103514089B (en) 2016-03-09

Family

ID=49896847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210212867.4A Active CN103514089B (en) 2012-06-26 2012-06-26 The software of software manager installs detection method and system

Country Status (1)

Country Link
CN (1) CN103514089B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015870B (en) 2016-09-19 2020-11-03 创新先进技术有限公司 Method and device for realizing communication between web page and local application and electronic equipment
CN110096443A (en) * 2019-04-28 2019-08-06 北京奇安信科技有限公司 It is a kind of to detect the method and device for having installed software

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1485732A (en) * 2002-09-27 2004-03-31 联想(北京)有限公司 Application software automatic installing and automatic restoring method
CN101789888A (en) * 2010-01-12 2010-07-28 腾讯科技(深圳)有限公司 Detection method and device for software installation
CN102238017A (en) * 2010-05-07 2011-11-09 腾讯科技(深圳)有限公司 Local software update prompting method and system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1485732A (en) * 2002-09-27 2004-03-31 联想(北京)有限公司 Application software automatic installing and automatic restoring method
CN101789888A (en) * 2010-01-12 2010-07-28 腾讯科技(深圳)有限公司 Detection method and device for software installation
CN102238017A (en) * 2010-05-07 2011-11-09 腾讯科技(深圳)有限公司 Local software update prompting method and system

Also Published As

Publication number Publication date
CN103514089A (en) 2014-01-15

Similar Documents

Publication Publication Date Title
US20240078096A1 (en) Systems and methods for code clustering analysis and transformation
US8972967B2 (en) Application packages using block maps
US9146735B2 (en) Associating workflows with code sections in a document control system
US10216510B2 (en) Silent upgrade of software with dependencies
US8904377B2 (en) Reconfiguration of computer system to allow application installation
US8126859B2 (en) Updating a local version of a file based on a rule
US8108360B2 (en) Database object update order determination
EP3453155B1 (en) Providing automatic detection and optimization of user experience upgrades based on detected customization
CN105335253A (en) Method and device for creating virtual machine system disk snapshots
US20120102453A1 (en) Multi-dimensional objects
US11182347B2 (en) File sharing among virtual containers with fast recovery and self-consistency
US11386067B2 (en) Data integrity checking in a distributed filesystem using object versioning
US20210109844A1 (en) Generating and attributing unique identifiers representing performance issues within a call stack
EP3497586A1 (en) Discovery of calling application for control of file hydration behavior
EP4085336B1 (en) Computer resource leak detection
CN102331945A (en) Application management method based on electronic store
CN103902562A (en) Method and device for upgrading terminal databases
US11977559B2 (en) Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs
US9535713B2 (en) Manipulating rules for adding new devices
KR100819702B1 (en) Method and system for exposing games
CN103514089B (en) The software of software manager installs detection method and system
CN101794293B (en) Extending management of file attribute information to virtual hard disks
CN114816772A (en) Debugging method, debugging system and computing device for application running based on compatible layer
CN112699372A (en) Vulnerability processing method and device and computer readable storage medium
CN115421785B (en) Method, device and medium for transplanting application program

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