Embodiment
As shown in Figure 1, in one embodiment, a kind of software recommendation method, comprises the steps:
Step S10, catches startup event.
In the present embodiment, startup event is the process creating corresponding process when arbitrary program starts in system, and the kernel-driven interception interface function by pre-setting realizes the seizure of the startup event corresponding to arbitrary program.Concrete, interface function can be the functions such as NtCreateProcess, NtCreateSection
Step S30, obtains the start-up routine information corresponding with the event of startup, and initiates inquiry request according to start-up routine information.
In the present embodiment, when capturing the corresponding process of a certain program creation to start, still normally start this program, and obtain this start-up routine information corresponding to startup event.Start-up routine information is for marking the information such as each attribute, identity relevant to the program that is activated.Concrete, start-up routine information comprises the informative abstract value of the program of being activated, program name, program description or digital signature etc.
According to the start-up routine information generated query request got, the content recorded in start-up routine information is contained in inquiry request, inquiry request when starting a certain program by generating initiates inquiry to backstage, the software recommend carried out with the program triggering the corresponding current startup in backstage.
Above-mentioned software recommendation method, at the independent operating of terminal, achieves the software recommend processing procedure in client, and therefore, be necessary to provide a kind of software recommendation method run in client, its idiographic flow is as described in above-mentioned steps S10 and step S30.
Step S50, according to the classification of the start-up routine information searching start-up routine in inquiry request.
In the present embodiment, backstage, after the inquiry request receiving initiation, will extract start-up routine information from inquiry request, to search the classification belonging to start-up routine in the software information recorded on backstage.Concrete, in advance software various in Internet resources is classified, such as, the classification of software can be " office ", " system tool ", " network application " and " security protection " etc., in assorting process, each software all has classification corresponding thereto, and for relevant informations such as the informative abstract value, dbase, software description and the digital signature that mark this software.
As shown in Figure 2, in one embodiment, the detailed process of above-mentioned steps S50 is:
Step S510, searches in software information according to the start-up routine information in inquiry request, judges whether to there is the software information entry identical with start-up routine information, if so, then enters step S530, if not, then enter step S550.
In the present embodiment, software information comprises some software information entries, and each software information entry is used for the attribute of marker software, have recorded informative abstract value, dbase, software description, digital signature and the classification corresponding to software particularly.In one embodiment, software information is the form of list, a list entry that each software information entry is corresponding, and with informative abstract value for index, facilitates searching of software information entry.
Such as, the arbitrary software information entry in software information is as shown in the table to be stored in backstage:
Start-up routine information in inquiry request and software information entry are carried out comparison one by one and obtains the software information entry consistent with log-on message, and then extract the classification of record from the software information entry obtained, this classification is the classification belonging to start-up routine.
If do not find the software information entry identical with start-up routine information in software information, then need to become new software information entry in start-up routine information updating to software information, enrich the content in software information, make in software information, to record more how all kinds of software.
Step S530, extracts the classification of software information entry record.
In the present embodiment, if do not record corresponding classification in software information entry, then need to upgrade this software information entry, add the classification corresponding to software.
Step S550, by start-up routine information updating to software information.
In the present embodiment, new software information entry will be formed in start-up routine information updating to software information, now, also need the classification being realized this start-up routine according to information such as the dbase recorded in start-up routine information, software descriptions by the mode that manual sort, automatic classification or artificial and automatic classification combine, and in new software information entry, add the classification of classifying and obtaining.
Further, automatic classification can pass through the realizations such as decision Tree algorithms, bayesian algorithm and rule association algorithm.
Step S70, chooses the software matched with classification, and pushes to the terminal triggering startup event the software chosen.
In the present embodiment, by backstage according to start-up routine information carry out searching the classification obtained and carry out software and choose, it is identical with searching the classification obtained or close for choosing the software generic obtained, such as, the classification obtained if search is " office ", then generic is that the software of " office " and " working and studying " will be selected, and pushes to the terminal triggering startup event.Concrete, in the software propelling movement process that backstage is carried out, the terminal that uniquely tagged triggers the user place of startup event can be carried out by user ID, and according to user ID, the software chosen is pushed, and then to eject dialog box or other form shows the software of propelling movement to user, realize recommending other software relevant to start-up routine to user in the start-up and operation process of program, software recommend is close to the users intention further.
As shown in Figure 3, in one embodiment, the detailed process of above-mentioned steps S70 is:
Step S710, obtains the software of network social intercourse tool user and use, and from the software obtained, chooses the software matched with classification in the corresponding relation of software with use user.
In the present embodiment, network social intercourse tool user information is introduced in software recommend, choosing of software is carried out as foundation using network social intercourse tool user information, wherein, network social intercourse tool user information for employ network social intercourse instrument user corresponding to user profile, along with the development of internet, applications, the network social intercourse instrument applied also gets more and more, it can be SNS community network, based on the social networks of mailbox contact person, microblogging, blog etc., such as, in SNS community network, network social intercourse tool user information can be the user profile of user in SNS community network.
Backstage, except storing software information, also stored for the corresponding relation of software and use user, obtains by the corresponding relation of software and use user the user employing a certain software.Concrete, the corresponding relation of software and use user is using software identification and uses user ID to combine as keyword, and the information such as the classification of this software of respective record, informative abstract value.Software identification and use user ID are combined and is conducive to ensureing that a certain user uses the record of a certain software to be redundantly stored as index.
Such as, software stores, shown in table specific as follows with the form using the corresponding relation of user by user and software relation table:
From network social intercourse tool server, obtain network social intercourse tool user information, this network social intercourse instrument is that the user of current triggering startup event uses.Network social intercourse tool user information comprises corresponding user ID, obtain network social intercourse tool user information, the software stored on backstage according to the user ID in network social intercourse tool user information with use the corresponding relation of user and obtain the use user ID identical with the user ID in network social intercourse tool user information, and then obtain according to the use user ID obtained the software that network social intercourse tool user uses.
Such as, network social intercourse tool user information stores by the form of list, shown in network social intercourse tool user information table table specific as follows:
Obtain in the process of the software of network social intercourse tool user and use with using in the corresponding relation of user at software according to network social intercourse tool user information, can search at user and software relation table and network social intercourse tool user information table, namely the friend_id in the user_id=network social intercourse tool user information table in user and software relation table, and then obtain the corresponding relation of user and software relation table and network social intercourse tool user information table, and then obtain the software that network social intercourse tool user uses.After the software obtaining the use of network social intercourse tool user, also need to choose the software that network social intercourse tool user uses according to the classification of start-up routine, obtain the software that the network social intercourse tool user identical or similar with start-up routine classification uses.
In software recommend process, carry out the processing procedure such as to choose of software for convenience, no matter be the user ID triggering startup event, or use user ID all to adopt same Indicator system in the user ID in network social intercourse tool user information and above-mentioned corresponding relation, such as, the Indicator system using user ID all to adopt network social intercourse instrument to apply is triggered in the user ID of startup event and above-mentioned corresponding relation; In addition, also can user ID be used all to use email address as identify label in the user ID triggered in the user ID of startup event, network social intercourse tool user information and above-mentioned corresponding relation, will not enumerate at this.
In another embodiment, also comprise before above-mentioned steps S730: the user according to triggering startup event filters the software that network social intercourse tool user and network social intercourse tool user use, and obtains the good friend of user in network social intercourse tool user and the software of use.
In the present embodiment, filtering screening is carried out to the software that network social intercourse tool user and network social intercourse tool user use, obtains there is the network social intercourse tool user of friend relation and the software of use thereof with the user of current triggering startup event in network social intercourse instrument.
Step S730, pushes the software of network social intercourse tool user and use to the terminal triggering startup event.
In one embodiment, the step of occurrence number software being counted to get to software is also comprised after above-mentioned steps S730.
In the present embodiment, sort according to order from big to small according to the occurrence number counted to get, and then the software of the network social intercourse tool user obtained according to sorting and use pushes to the terminal triggering startup event.Concrete, the software recommend list used according to occurrence number order generating network social tool user from big to small, have recorded the software of corresponding network social intercourse tool user and use in each list entry.
In another embodiment, according to occurrence number, the software that network social intercourse tool user uses is chosen, the software that the network social intercourse tool user obtaining predetermined number uses, and then push to the terminal triggering startup event, with the user triggering startup event of announcement, the good friends such as XX, XX are using XX class software XX, thus the user triggering startup event downloads by clicking corresponding network linking.The software that the network social intercourse tool user choosing predetermined number in multiple software to be recommended uses, and then the software of the more network social intercourse tool user use of occurrence number is pushed to the terminal triggering startup event, to avoid the software meeting the user view triggering startup event to be submerged in a large amount of recommendation software, improve accuracy and the validity of software recommend.
As shown in Figure 4, in one embodiment, the detailed process of above-mentioned steps S730 is:
Step S731, chooses the software of predetermined number in the software obtained.
In the present embodiment, choosing of software is carried out according to the occurrence number counted to get in the software that the network social intercourse tool user matched in the classification with start-up routine uses, in a preferred embodiment, the software that the software that the network social intercourse tool user matched with the classification of start-up routine uses uses for the good friend that there is friend relation with the user triggering startup event in network social intercourse instrument, and choosing from the large order to water corresponding to occurrence number obtains.
In another embodiment, also comprise after above-mentioned steps S731: judge that whether the software chosen is consistent with start-up routine, if not, then enter step S733, if so, then in the software chosen, remove the software consistent with start-up routine.
In the present embodiment, the software chosen if determine is all consistent with start-up routine, then need to remove it, can not recommend to user, to ensure the validity of software recommend further.
Step S733, obtains the network social intercourse tool user information using the good friend of software corresponding.
Step S735, by the software chosen and use the good friend of software corresponding network social intercourse tool user information pushing to the terminal triggering startup event.
In the present embodiment, push the network social intercourse tool user information of software that good friend uses and this good friend to the terminal triggering startup event, wherein, the software that the good friend pushed uses be in start-up routine same classification or Similarity Class other.
In the process of start-up and operation program, initiatively carry out software recommend, make user not need often pay close attention on one's own initiative and search for up-to-date software, and only for the program of start-up and operation, effectively filter the interference of irrelevant information.
As shown in Figure 5, in one embodiment, a kind of software recommend system, comprises capture module 10, start treatment module 30, searches module 50 and push processing module 70.
Capture module 10, for catching startup event.
In the present embodiment, startup event is the process creating corresponding process when arbitrary program starts in system, and capture module 10 realizes the seizure of the startup event corresponding to arbitrary program by the kernel-driven interception interface function pre-set.Concrete, interface function can be the functions such as NtCreateProcess, NtCreateSection.
Start treatment module 30, for obtaining the start-up routine information corresponding with startup event, and initiates inquiry request according to start-up routine information.
In the present embodiment, when capturing the corresponding process of a certain program creation to start, still normally start this program, and start treatment module 30 obtains this start-up routine information corresponding to startup event.Start-up routine information is for marking the information such as each attribute, identity relevant to the program that is activated.Concrete, start-up routine information comprises the informative abstract value of the program of being activated, program name, program description or digital signature etc.
Start treatment module 30 is according to the start-up routine information generated query request got, the content recorded in start-up routine information is contained in inquiry request, inquiry request when starting a certain program by generating initiates inquiry to backstage, the software recommend carried out with the program triggering the corresponding current startup in backstage.
Above-mentioned software recommend system cloud gray model is in terminal device and background server, and therefore, there is a need to provide a kind of terminal device for carrying out software recommend, this terminal device comprises above-mentioned capture module 10 and start treatment module 30, does not repeat them here.
Search module 50, for the classification according to the start-up routine information searching start-up routine in inquiry request.
In the present embodiment, backstage, after the inquiry request receiving initiation, is searched module 50 and will be extracted start-up routine information from inquiry request, to search the classification belonging to start-up routine in the software information recorded on backstage.Concrete, in advance software various in Internet resources is classified, such as, the classification of software can be " office ", " system tool ", " network application " and " security protection " etc., in assorting process, each software all has classification corresponding thereto, and for relevant informations such as the informative abstract value, dbase, software description and the digital signature that mark this software.
As shown in Figure 6, in one embodiment, above-mentioned module 50 of searching comprises software information and searches unit 510, entry extraction unit 530 and updating block 550.
Software information searches unit 510, for searching in software information according to the start-up routine information in inquiry request, judges whether to there is the software information entry identical with start-up routine information, if, then notify entry extraction unit 530, if not, then notify updating block 550.
In the present embodiment, software information comprises some software information entries, and each software information entry is used for the attribute of marker software, have recorded informative abstract value, dbase, software description, digital signature and the classification corresponding to software particularly.In one embodiment, software information is the form of list, a list entry that each software information entry is corresponding, and with informative abstract value for index, facilitates searching of software information entry.
Such as, the arbitrary software information entry in software information is as shown in the table to be stored in backstage:
Software information is searched unit 510 and the start-up routine information in inquiry request and software information entry are carried out comparison is one by one obtained the software information entry consistent with log-on message, and then entry extraction unit 530 extracts the classification of record from the software information entry obtained, this classification is the classification belonging to start-up routine.
If do not find the software information entry identical with start-up routine information in software information, then need updating block 550 will to become new software information entry in start-up routine information updating to software information, enrich the content in software information, make in software information, to record more how all kinds of software.
Entry extraction unit 530, for extracting the classification of software information entry record.
In the present embodiment, if do not record corresponding classification in software information entry, then need notice updating block 550 to upgrade this software information entry, add the classification corresponding to software.
Updating block 550, for by start-up routine information updating to software information.
In the present embodiment, updating block 550 will form new software information entry in start-up routine information updating to software information, now, also need the classification being realized this start-up routine according to information such as the dbase recorded in start-up routine information, software descriptions by the mode that manual sort, automatic classification or artificial and automatic classification combine, and in new software information entry, add the classification of classifying and obtaining.
Further, automatic classification can pass through the realizations such as decision Tree algorithms, bayesian algorithm and rule association algorithm.
Pushing processing module 70, for choosing the software matched with this classification, and pushing to the terminal triggering startup event the software chosen.
In the present embodiment, push processing module 70 by backstage according to start-up routine information carry out searching the classification obtained and carry out software and choose, it is identical with searching the classification obtained or close for choosing the software generic obtained, such as, the classification obtained if search is " office ", then generic is that the software of " office " and " working and studying " will be selected, and pushes to the terminal triggering startup event.Concrete, in the software propelling movement process that backstage is carried out, the terminal that uniquely tagged triggers startup event can be carried out by user ID, and according to user ID, the software chosen is pushed, and then to eject dialog box or other form shows the software of propelling movement to user, realize recommending other software relevant to start-up routine to user in the start-up and operation process of program, software recommend is close to the users intention further.
As shown in Figure 7, in one embodiment, above-mentioned propelling movement processing module 70 comprises and chooses unit 710 and push unit 730.
Choosing unit 710, for obtaining the software of network social intercourse tool user and use in the relation that software is corresponding with using user, and from the software obtained, choosing the software matched with classification.
In the present embodiment, choose unit 710 in software recommend, introduce network social intercourse tool user information, choosing of software is carried out as foundation using network social intercourse tool user information, wherein, network social intercourse tool user information for employ network social intercourse instrument user corresponding to user profile, along with the development of internet, applications, the network social intercourse instrument applied also gets more and more, it can be SNS community network, based on the social networks of mailbox contact person, microblogging, blog etc., such as, in SNS community network, network social intercourse tool user information can be the user profile of user in SNS community network.
Backstage, except storing software information, also stored for the corresponding relation of software and use user, obtains by the corresponding relation of software and use user the user employing a certain software.Concrete, the corresponding relation of software and use user is using software identification and uses user ID to combine as keyword, and the information such as the classification of this software of respective record, informative abstract value.Software identification and use user ID are combined and is conducive to ensureing that a certain user uses the record of a certain software to be redundantly stored as index.
Such as, software stores, shown in table specific as follows with the form using the corresponding relation of user by user and software relation table:
Choose unit 710 from network social intercourse tool server, obtain network social intercourse tool user information, this network social intercourse instrument is that the user of current triggering startup event uses.Network social intercourse tool user information comprises corresponding user ID, the software stored on backstage according to the user ID in network social intercourse tool user information with use the corresponding relation of user and obtain the use user ID identical with the user ID in network social intercourse tool user information, and then obtain according to the use user ID obtained the software that network social intercourse tool user uses.
Such as, network social intercourse tool user information stores by the form of list, shown in network social intercourse tool user information table table specific as follows:
Obtain in the process of the software of network social intercourse tool user and use with using in the corresponding relation of user at software according to network social intercourse tool user information, can search at user and software relation table and network social intercourse tool user information table, namely the frend_id in the user_id=network social intercourse tool user information table in user and software relation table, and then obtain the corresponding relation of user and software relation table and network social intercourse tool user information table, and then obtain the software that network social intercourse tool user uses.
After the software obtaining the use of network social intercourse tool user, also need to choose unit 710 to choose the software that network social intercourse tool user uses according to the classification of start-up routine, obtain the software that the network social intercourse tool user identical or similar with start-up routine classification uses.
In software recommend process, carry out the processing procedure such as to choose of software for convenience, no matter be the user ID triggering startup event, or use user ID all to adopt same Indicator system in the user ID in network social intercourse tool user information and above-mentioned corresponding relation, such as, the Indicator system using user ID all to adopt network social intercourse instrument to apply is triggered in the user ID of startup event and above-mentioned corresponding relation; In addition, also can user ID be used all to use email address as identify label in the user ID triggered in the user ID of startup event, network social intercourse tool user information and above-mentioned corresponding relation, will not enumerate at this.
In another embodiment, above-mentioned propelling movement processing module 70 also comprises filter element.The user that filter element is used for according to triggering startup event filters the software that network social intercourse tool user and network social intercourse tool user use, and obtains the good friend of user in network social intercourse tool user and the software of use.
In the present embodiment, filter element carries out filtering screening to the software that network social intercourse tool user and network social intercourse tool user use, and obtains there is the network social intercourse tool user of friend relation and the software of use thereof with the user of current triggering startup event in network social intercourse instrument.
Push unit 730, for pushing the software of network social intercourse tool user and use to the terminal triggering startup event.
In one embodiment, above-mentioned propelling movement processing module 70 also comprises counting unit, and counting unit is used for occurrence number software being counted to get to software.
Push unit 730 sorts according to order from big to small according to the occurrence number counted to get, and then the software of the network social intercourse tool user obtained according to sorting and use pushes to the terminal triggering startup event.Concrete, the software recommend list that push unit 730 uses according to occurrence number order generating network social tool user from big to small, have recorded the software of corresponding network social intercourse tool user and use in each list entry, and choosing from the large order to water corresponding to occurrence number obtains.
In another embodiment, push unit 730 is chosen the software that network social intercourse tool user uses according to occurrence number, the software that the network social intercourse tool user obtaining predetermined number uses, and then push to the terminal triggering startup event, with the user triggering startup event of announcement, the good friends such as XX, XX are using XX class software XX, thus the user triggering startup event downloads by clicking corresponding network linking.The software that the network social intercourse tool user that push unit 730 chooses predetermined number in multiple software to be recommended uses, and then the software of the more network social intercourse tool user use of occurrence number is pushed to the terminal triggering startup event, to avoid the software meeting the user view triggering startup event to be submerged in a large amount of recommendation software, improve accuracy and the validity of software recommend.
In one embodiment, above-mentioned push unit 70 also for choosing the software of predetermined number in the software obtained according to order from big to small according to occurrence number, obtain the network social intercourse tool user information using the good friend of software corresponding, by the software chosen and use the good friend of software corresponding network social intercourse tool user information pushing to the terminal triggering startup event.
In the present embodiment, choosing of software is carried out according to the occurrence number counted to get in the software that the network social intercourse tool user that push unit 70 matches in the classification with start-up routine uses, in a preferred embodiment, the software that the software that the network social intercourse tool user matched with the classification of start-up routine uses uses for the good friend that there is friend relation with the user triggering startup event in network social intercourse instrument.
Push unit 70 pushes the network social intercourse tool user information of software that good friend uses and this good friend to the terminal triggering startup event, wherein, the software that the good friend pushed uses be in start-up routine same classification or Similarity Class other.
In the process of start-up and operation program, initiatively carry out software recommend, make user not need often pay close attention on one's own initiative and search for up-to-date software, and only for the program of start-up and operation, effectively filter the interference of irrelevant information.
In another embodiment, whether above-mentioned push unit 70 is also consistent with start-up routine for judging the software chosen, and if not, then software counted to get to the occurrence number of software, if so, then in the software chosen, the software consistent with start-up routine is removed.
In the present embodiment, if to determine the software chosen all consistent with start-up routine for push unit 70, then need to remove it, can not recommend to user, to ensure the validity of software recommend further.
Above-mentioned capture module 10 and start treatment module 30 are arranged in the local client of terminal device, search module 50 and push processing module 70 to be arranged in background server, are undertaken alternately by internet.
Above-mentioned software recommendation method and system, terminal device, catch startup event, obtain the start-up routine information corresponding with the event of startup, and then the classification of this start-up routine is obtained according to start-up routine information, choose and push the software matched with this classification, the active that program based on user's startup achieves software is recommended, also different according to the software that the difference of the program started is recommended, and improves the specific aim of software recommend.
The above embodiment only have expressed several embodiment of the present invention, and it describes comparatively concrete and detailed, but therefore can not be interpreted as the restriction to the scope of the claims of the present invention.It should be pointed out that for the person of ordinary skill of the art, without departing from the inventive concept of the premise, can also make some distortion and improvement, these all belong to protection scope of the present invention.Therefore, the protection domain of patent of the present invention should be as the criterion with claims.