Software installation method and device, electronic equipment and computer storage medium
By identifying and automatically recommending legal software with high functional similarity, the accuracy of illegal software identification and installation in enterprise environments is solved, and security and user experience are improved.
Patent Information
- Application Number
- CN202510483448.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-16
- Publication Date
- 2025-07-25
AI Technical Summary
In an enterprise environment, it is difficult for the existing technology to accurately identify variant illegal software, and the software installation process is prone to legal risks and security risks, and the software cannot be dynamically changed according to user preferences when recommending software.
By judging the identity information and functional information of the software to be installed, using the pre-trained software semantic model to identify illegal software, and recommending legal software that meets the conditions for its functional similarity to it, providing an intelligent recommendation solution.
It improves the detection accuracy of illegal software, prevents potential security risks, automatically recommends legal software replacement, reduces the hassle of manual search by users, and avoids missing functions.
Smart Images

Figure CN120372628A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of software installation, and in particular, to a software installation method, device, electronic device, and computer storage medium. Background Art
[0002] In an enterprise environment, employees often face inefficiencies when selecting and installing software. Especially when faced with a large number of software options, it is easy to install illegal software by mistake. The installation and use of illegal software not only pose legal risks but also may bring security hazards. In related technologies, when detecting illegal software, it often relies on static features (such as hash values, digital signatures), making it difficult to identify variant illegal software and resulting in a high false positive rate. At the same time, when recommending software for installation, it mostly searches based on keywords of the user's historical behavior or functional information introduction. Due to the small amount of keyword information, the search results corresponding to the keyword information are few, and the search strategy cannot be dynamically changed according to user preferences.
[0003] How to provide a more accurate software installation method for enterprises is an urgent problem to be solved. Summary of the Invention
[0004] In view of the above, embodiments of the present application provide a software installation method, device, electronic device, and computer storage medium, which can improve the detection accuracy of illegal software and at the same time give an intelligent recommendation scheme for the software to be installed.
[0005] The first aspect of the embodiments of the present application provides a software installation method, which is applied to a terminal device and includes: determining whether the software to be installed is illegal software; if the software to be installed is illegal software, obtaining a legal software whose similarity to the software to be installed meets a preset similarity condition; and recommending the legal software to the user.
[0006] Compared with the related technologies, the embodiments of the present application have at least the following advantages: By determining whether the software to be installed is illegal software, potential security risks can be effectively identified and avoided, preventing users from installing software that may contain malicious code, viruses, or infringe on intellectual property rights, thereby protecting the security of the user's device and personal privacy. At the same time, if the software to be installed is identified as illegal software, the user does not need to manually search and screen alternative solutions, and automatically obtains a legal alternative software that is similar to the function information of the software to be installed, avoiding function loss or inconvenience caused by the inability to use illegal software.
[0007] Optionally, determining whether the software to be installed is illegal software includes: obtaining first identity information of the software to be installed; obtaining a plurality of pre-stored candidate legal software, and second identity information corresponding to each of the candidate legal software; matching the first identity information with the plurality of second identity information, and determining that the software to be installed is illegal software when the first identity information does not match each of the second identity information.
[0008] Optionally, obtaining a legal software whose similarity to the software to be installed meets a preset similarity condition includes: obtaining first function information of the software to be installed and second function information of each candidate legal software; generating first semantic information corresponding to the first function information and second semantic information corresponding to the second function information; calculating the similarity between the first semantic information and the second semantic information; and when the similarity meets the preset similarity threshold, determining the target second semantic information corresponding to the similarity, and using the candidate legal software corresponding to the second semantic information as the legal software.
[0009] Optionally, the method further includes: when the similarity does not meet the preset similarity threshold, performing structured conversion on the first semantic information according to a preset search order to obtain a query vector; performing an online search based on the query vector, and determining a legal software according to the search result.
[0010] Optionally, the method further includes: when the similarity does not meet the preset similarity threshold, counting the requirements of the software to be installed and pushing the requirements to a target user.
[0011] Optionally, after recommending the legal software to the user, it further includes: when the number of legal software is greater than one, determining the similarity between the legal software and the software to be installed; generating a recommendation index for the legal software according to the similarity, where the greater the similarity, the higher the recommendation index.
[0012] Optionally, the terminal device includes a display interface. After determining whether the software to be installed is illegal software, it further includes: if the software to be installed is illegal software, displaying an alarm prompt on the display interface indicating that the software to be installed cannot be installed; and after determining that the software to be installed is authorized software, generating a permission prompt on the display interface indicating that the software to be installed can be installed.
[0013] In a second aspect, an embodiment of the present application further provides a software installation device, including: A judgment unit, configured to judge whether the software to be installed is illegal software; An obtaining unit, configured to obtain a legal software whose similarity to the software to be installed meets a preset similarity condition if the software to be installed is illegal software; A recommendation unit, configured to recommend the legal software to the user.
[0014] In a third aspect, an embodiment of the present application further provides an electronic device, which includes a processor and a memory. The memory is used to store instructions, and the processor is used to call the instructions in the memory so that the electronic device executes the software installation method as described in the first aspect.
[0015] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium that stores computer instructions. When the computer instructions run on an electronic device, the electronic device is caused to execute the software installation method as described in the first aspect.
[0016] The technical effects obtained in the above second, third, and fourth aspects are similar to those obtained by the corresponding technical means in the first aspect, and will not be elaborated here. Description of the Drawings
[0017] Figure 1 It is a flowchart of the application environment of the software installation method provided by an embodiment of the present application.
[0018] Figure 2 It is a flowchart of the steps of the software installation method provided by an embodiment of the present application.
[0019] Figure 3 It is a flowchart of the steps of the software installation method provided by another embodiment of the present application.
[0020] Figure 4 It is a flowchart of the steps of the software installation method provided by another embodiment of the present application.
[0021] Figure 5 It is a functional module diagram of the software installation device provided by an embodiment of the present application.
[0022] Figure 6 It is a schematic structural diagram of the electronic device provided by an embodiment of the present application. Detailed Embodiments
[0023] In order to more clearly understand the above objects, features, and advantages of the present application, the present application will be described in detail below with reference to the drawings and specific embodiments. It should be noted that, without conflict, the embodiments of the present application and the features in the embodiments can be combined with each other.
[0024] Many specific details are set forth in the following description in order to provide a thorough understanding of the present application. The described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments.
[0025] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the technical field to which this application belongs. The terms used in the specification of this application are for the purpose of describing specific embodiments only and are not intended to limit this application.
[0026] Further, it should be noted that in this document, the term "comprising", "including" or any other variation thereof is intended to cover a non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the phrase "comprising a..." does not exclude the presence of additional identical elements in the process, method, article or device comprising such element.
[0027] In this application, "at least one" means one or more, and "a plurality" means two or more than two. "And / or" describes the association relationship of associated objects and indicates that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone, where A and B may be singular or plural. The terms "first", "second", "third", "fourth", etc. (if any) in the specification, claims and drawings of this application are used to distinguish similar objects and not to describe a specific order or sequence.
[0028] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or having more advantages than other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present relevant concepts in a specific manner.
[0029] In view of the above, the embodiments of this application provide a software installation method, device, electronic device and computer storage medium, which can improve the detection accuracy of illegal software installation and use while giving an intelligent software recommendation scheme.
[0030] As Figure 1 shown, the system architecture 100 may include a terminal device 110, a network 120 and a server 130. The network 120 is used to provide a medium for a communication link between the terminal device 110 and the server 130. The network 120 may include various connection types, such as wired, wireless communication links or fiber optic cables, etc.
[0031] Users can use the terminal device 110 to interact with the server 130 via the network 120 to receive or send messages, etc. Various applications for implementing information communication between the two can be installed on the terminal device 110 and the server 130, such as search applications, model training applications, etc.
[0032] The terminal device 110 and the server 130 can be either hardware or software. When the terminal device 110 is hardware, it can be various electronic devices with a display screen, including but not limited to smartphones, tablets, laptop computers, desktop computers, etc.; when the terminal device 110 is software, it can be installed in the above-listed electronic devices, and it can be implemented as multiple software or software modules, or it can be implemented as a single software or software module, and no specific limitation is made here. When the server 130 is hardware, it can be implemented as a distributed server cluster composed of multiple servers, or it can be implemented as a single server; when the server is software, it can be implemented as multiple software or software modules, or it can be implemented as a single software or software module, and no specific limitation is made here.
[0033] The server 130 can provide various services through various built-in applications. Taking a search application that can provide a search service for users as an example, when the server 130 runs this search application, the following effects can be achieved: First, record the installation information of the software to be installed recorded by the terminal device 110 transmitted through the network 120; then, use this installation information as input data and input it into a pre-trained software semantic model to obtain the first semantic information and the second semantic information, and retrieve the software details list according to the first semantic information and the second semantic information. Next, generate a query vector according to the first semantic information, call the interface of the software semantic model according to the query vector to perform a query, and obtain related software or alternative software for the software to be installed. Further, the related software or alternative software can also be re-transmitted back to the terminal device 110 through the network 120, so that the terminal device 110 can present it to the user through the display screen.
[0034] Optionally, the software semantic model is the SimBERT model, which is a pre-trained language model based on the Transformer architecture, integrating the dual capabilities of text generation and semantic similarity calculation. Its core technical features include: Multi-task joint training: It adopts the UniLM (Unified Language Model) framework and supports both generation tasks and semantic matching tasks through the self-attention mask mechanism, enabling the model to generate similar texts and output sentence vectors for similarity retrieval. Semantic vector representation: The model uses the hidden state of the token as the overall semantic vector of the sentence and calculates the semantic relevance between texts through cosine similarity. The SimBERT model introduces a contrastive loss function (ContrastiveLoss) during the training process, enhancing the model's ability to capture semantic differences by maximizing the similarity of positive sample pairs and minimizing the similarity of negative sample pairs, thereby enhancing the diversity and balance of sample screening.
[0035] Training the software semantic model requires a large amount of computing resources and strong computing power. Therefore, the generative software semantic model training method provided in the subsequent embodiments of this application is generally executed by the server 130 with strong computing power and a large amount of computing resources. Correspondingly, the software semantic model training device is generally also set in the server 130. However, it should also be noted that when the terminal device 110 also has sufficient computing power and computing resources, the terminal device 110 can also complete the above operations originally performed by the server 130 through the model training applications installed thereon, and then output the same results as the server 130. Correspondingly, the generative software semantic model training device can also be set in the terminal device 110. In this case, the exemplary system architecture 100 may not include the server 130 and the network 120.
[0036] Of course, the server used to train the software semantic model can be different from the server that calls the trained software semantic model for use. Specifically, the software semantic model trained by the server 130 can also be distilled into a lightweight software semantic model suitable for being placed in the terminal device 110 through model distillation, that is, the lightweight software semantic model in the terminal device 110 or the more complex software semantic model in the server 130 can be flexibly selected according to the recognition accuracy required in actual situations.
[0037] It should be understood that Figure 1 the numbers of terminal devices, networks, and servers in
[0038] are merely illustrative. According to the implementation requirements, there can be any number of terminal devices, networks, and servers. Figure 2 Figure 2 The flowchart of a software installation method provided by an embodiment of the present disclosure includes the following steps: Step S110: Determine whether the software to be installed is illegal software.
[0039] Among them, to determine whether the software to be installed is illegal software, it can be determined by judging whether the software to be installed is open-source software, or by comparing the software to be installed with the legal software in the enterprise's knowledge base. The enterprise's knowledge base can be represented in the form of a software details list. The software details list regularly detects the software installed by employees and the software used recently. The software details list includes, but is not limited to: software detailed introduction, function information point extraction, compatibility, security, ease of use, performance, updates and support, charging situation, user evaluation, online score, download times, whether it is illegal software of the company, whether it is green software of the company, etc. It should be noted that the present application does not specify the specific form of the knowledge base.
[0040] In one embodiment, determining whether the software to be installed is illegal software includes: obtaining the first identity information of the software to be installed; a plurality of pre-stored candidate legal software, and the second identity information corresponding to each candidate legal software; matching the first identity information with the plurality of second identity information, and determining that the software to be installed is illegal software when the first identity information does not match each second identity information.
[0041] In response to the software installation instruction, obtain the installation information of the software, and determine the identity information according to the installation information. The installation information can be carried by the installation package or obtained by searching the Internet based on the information of the installation package. Generally, the identity information includes: the software name of the software to be installed and the developer information. When the software to be installed is paid software. The first identity information of the software to be installed and the second identity information of the legal software also include: information fingerprint, which is also often referred to as data fingerprint, digital fingerprint or content hash. Information fingerprint is a technical method used to ensure the integrity and uniqueness of information. Its working principle is to perform specific algorithm processing on the original data (such as text, image, audio or video file) to generate a fixed-length, unique numerical value or string. In one embodiment, the first identity information and the second identity information may also include other information that can prompt the software to be installed, such as installation path, version information, etc.
[0042] In one embodiment, when the first identity information is a digital fingerprint and the second identity information is a digital certificate, the above matching process is to verify the digital fingerprint according to the digital certificate, and when the digital fingerprint verification passes, it is determined that the software to be installed is authorized software.
[0043] The software details list includes legal software, the software descriptions corresponding to the legal software, and the installation status corresponding to the legal software. The authorization status includes: authorized software and unauthorized software. Among them, the authorized software includes: software name, developer information. The second identity information also includes: a digital authorization certificate for verifying the digital fingerprint. It should be noted that the legal software includes: an open-source software library and an enterprise-paid software library. The list has the ability of continuous learning and can be continuously updated over time. Each time the system recognizes that a software is being installed, if it is not illegal software, it can be updated immediately, or when the company purchases a new software license and enters it into the system, it will also be automatically updated. The software details list is also used to open an interface for employees to supplement and evaluate.
[0044] Optionally, when the first identity information is the software name and developer information of the software to be installed, the second identity information is the software name and developer information of the compliant legal software. The above matching process includes: traversing the second identity information to find whether there is the software name and developer information of the software to be installed in the second identity information. When finding the software name and developer information that are the same as the software to be installed in the second identity information, it is determined that the software to be installed is authorized software, otherwise it is considered that the software to be installed is unauthorized software.
[0045] Optionally, the above function information further includes: one or more of functional characteristic parameters, standard function prompt codes, functional equivalence thresholds, cross-verification, and interface matching degrees.
[0046] Step S120, if the software to be installed is illegal software, obtain legal software whose similarity to the software to be installed meets the preset similarity condition.
[0047] In one embodiment, obtaining legal software whose similarity to the software to be installed meets the preset similarity condition includes: obtaining the first function information of the software to be installed and the second function information of each candidate legal software; generating the first semantic information corresponding to the first function information and the second semantic information corresponding to the second function information; calculating the similarity between the first semantic information and the second semantic information; when the similarity meets the preset similarity threshold, determining the target second semantic information corresponding to the similarity, and using the candidate legal software corresponding to the second semantic information as the legal software.
[0048] The function information of the software at least includes: software API (Application Programming Interface), input data, output data, and functional modules. The first semantic information and the second semantic information can be the installation information corresponding to the software or the functional information description obtained by network search based on the software name.
[0049] By converting functional information into semantic information, the search scope is expanded to identify as many legitimate software as possible. By associating and recommending the similarity between the first semantic information and the second semantic information, the retrieval recall rate of software with incomplete or low-frequency function descriptions is improved. At the same time, the first semantic information and the second semantic information are dynamically adapted to the scenario, enabling a structured cross-modal matching between the natural language description of the functional information of the software to be installed and the natural description of the legitimate software, thereby realizing a two-way mapping of "requirements - functions" in the recommendation system. Specifically, a retrieval term for expanding the first semantic information is generated through a semantic decoder, breaking through the limitation of literal keyword matching. For example, "file conversion" is associated with derivative requirements such as "data compression" and "encrypted transmission".
[0050] Optionally, a three-level determination of "recommended - to be determined - not recommended" is achieved through a similarity threshold grading mechanism. For example, a first similarity threshold is set to indicate recommendation, a second similarity threshold is set to indicate to be determined, and a third similarity threshold is set to indicate not recommended. When the matching result shows that the similarity between the first semantic information and the second semantic information is greater than the first similarity threshold, the legitimate software corresponding to the second semantic information is the target legitimate software. When the matching result shows that the similarity between the first semantic information and the second semantic information is less than the first similarity threshold but greater than the second similarity threshold, the legitimate software corresponding to the second semantic information is a software to be determined, and further judgment on compliance software is required. When the matching result shows that the similarity between the first semantic information and the second semantic information is less than the third similarity threshold, the legitimate software corresponding to the second semantic information cannot be used as an alternative software for the software to be installed.
[0051] It should be noted that the first semantic information and the second semantic information in step 140 can be semantic information generated based on the prompt words of the functional information. For how to obtain the semantic information of the first semantic information and the second semantic information, see the following embodiments and will not be elaborated here.
[0052] In one embodiment, the method further includes: when the similarity does not meet the preset similarity threshold, counting the requirements of the software to be installed and pushing the requirements to the target user.
[0053] In one embodiment, after recommending the legitimate software to the user, it further includes: when the number of legitimate software is greater than one, determining the similarity between the legitimate software and the software to be installed; generating a recommendation index for the legitimate software according to the similarity, where the greater the similarity, the higher the recommendation index.
[0054] In this embodiment, the similarity corresponding to the legitimate software and the installation status of the legitimate software in the user's company are obtained; according to the similarity result and the installation status, the recommendation index of the target legitimate software is calculated; and the target legitimate software is sorted according to the recommendation index to generate an alternative installation plan. Among them, the installation status includes: software score and the number of company users.
[0055] Step S130, recommend legal software to the user.
[0056] Optionally, the terminal device includes a display interface. After determining whether the software to be installed is illegal software, it further includes: if the software to be installed is illegal software, display a warning prompt on the display interface indicating that the software to be installed cannot be installed; after determining that the software to be installed is authorized software, generate a permission prompt on the display interface indicating that the software to be installed can be installed.
[0057] The warning prompt is displayed on a pop-up window of the display interface. The warning prompt includes: prompting employees that illegal software cannot be installed and publicizing the reasons to enhance employees' awareness of legal compliance; work order system: notify management / statistics personnel of the situation of illegal software and automatically generate work orders for relevant disposal decisions.
[0058] In one embodiment, generating the first semantic information corresponding to the first function information and the second semantic information corresponding to the second function information includes: identifying the first keyword information of the first function information and the second keyword information of the second function information; according to the software semantic database, obtaining a plurality of preset keywords and the preset semantic information corresponding to each preset keyword; matching the first keyword information with the preset keywords, and determining the first semantic information from the plurality of semantic information according to the first matching result; matching the second keyword information with the preset keywords, and determining the second semantic information from the plurality of semantic information according to the second matching result.
[0059] In this embodiment, using the optical character recognition method, identify the first keyword information of the first function information, and through a plurality of preset keywords and the preset semantic information corresponding to each preset keyword, extract a plurality of semantic information related to the first keyword information to generate the first semantic information.
[0060] Among them, the plurality of preset keywords and the preset semantic information corresponding to each preset keyword are generated by a software semantic model. Optionally, the software semantic model is a SimBERT model. The process of obtaining the software semantic model includes: collecting legal software and the semantic database corresponding to the legal software, and the semantic database is used to describe the function information of the legal software; training the initial SimBERT model according to the semantic database to obtain the target SimBERT model.
[0061] In one embodiment, performing a similarity match on the first semantic information and the second semantic information, and determining the target legal software from a plurality of legal software according to the matching result includes: calculating the cosine similarity between the first semantic information and each second semantic information; selecting the second semantic information with a cosine similarity greater than the similarity threshold as the target second semantic information; using the legal software corresponding to the target second semantic information as the target legal software.
[0062] Among them, for the first semantic information and the second semantic information, the preset vector calculation formula is Formula (1), and Formula (1) includes: Formula (1) Among them, A is the first semantic information, B is the second semantic information, and cos(A, B) is the cosine similarity.
[0063] In one embodiment, the method further includes: when the similarity does not meet the preset similarity threshold, structurally transform the first semantic information according to the preset search order to obtain a query vector; perform an online search based on the query vector, and determine a legal software according to the search results.
[0064] In this embodiment, a large number of results can be retrieved by constructing a query vector. Compared with the original method that can only obtain retrieval results based on the results of some web pages, this embodiment overcomes the data sparsity of the original retrieval results.
[0065] In this embodiment, the search strategy is constructed according to the software semantic database, and its logical structure can be software name - function information - applicable platform, or function information - software name - alternative - applicable platform, or only reduce software name - function information to obtain preliminary results and then screen the applicable platform. This embodiment does not limit it.
[0066] Exemplarily, if the logical structure of the search strategy is software name - function information - application platform, then four keywords are parsed from the first semantic information, corresponding to software name - function information - applicable platform respectively. For example, if the software name of the software to be installed is Software 1, the function information is image editing, and the applicable platform is the Android architecture, a query vector is generated according to the structure of Software 1's name - image editing - Android architecture, and an online search is performed based on the query vector. During the search process, the above keywords are converted into corresponding semantic information to search as many web pages as possible to obtain multiple results.
[0067] Optionally, the above search strategy is not limited to software name, function information, and application platform (Windows / macOS / Linux, etc.), and may also include: license type (free / open source / commercial), core requirements (such as "image editing", "code development"), user requirements, etc. For example, the structured query vector for the software to be installed with software name Software 2, function information image editing, and application platform Android architecture includes: “Alternatives to [software name of Software 2]”; “Open source [function] + alternative”; “Free software similar to [function] on [platform]”.
[0068] Integrate the search results using the above structured query vector, set filtering conditions for the integrated search results, and obtain alternative software. Optionally, a search engine API can also be called or an open-source database can be accessed based on the structured query vector (Optionally, the above filtering conditions include: license, user rating, active development status, cross-platform support, etc.). Optionally, according to the similarity, an output matching score is provided, such as 80% function coverage, and alternative software is listed by priority, marking advantages and disadvantages, such as learning curve, community support).
[0069] In a specific embodiment, in combination with Figure 3 the above steps S110 to S160 are further described as follows Figure 3 The following is an embodiment in which an employee installs software using the software installation method of this application, which specifically includes: S1: Employee software installation application. After step S1, step S2 is performed: detecting the software. Step S2 specifically includes: obtaining multiple legal software in the software details list by acquiring the first identity information of the software to be installed, and verifying the authorization status of the software according to the first identity information. Step S3 is executed: determining whether the software is illegal software based on the authorization status. In the case where the software is illegal software, step S4 is performed. In the case where the software is illegal software, step S8 is performed. Among them, step S4 includes: generating an alarm prompt, which is used to prompt the employee that the illegal software cannot be installed and publicize the reason to improve the employee's legal compliance awareness.
[0070] At the same time, after step S8, it also includes: notifying the management / statistics personnel of the illegal software situation and automatically generating a work order for relevant disposal decisions. After step S4, step S5 is performed. Step S5 includes: retrieving legal software in the software details list, specifically including: finding the installation process of alternative software for the software. In the case where there is legal software in step S5, step S6 is performed to generate a recommended solution for the user to install. After step S6 is completed, step S7 is generated to generate a no-software installation prompt to prompt the employee that there is no alternative software to install, and at the same time prompt the employee whether the company plans to purchase the software and the specific procurement progress, and collect the necessity of the demand for the software. Step S8 is used to generate a second alarm indication to prompt the employee that the software is open-source software / software paid in the library and can be installed. At the same time, step S8 can also prompt the employee with the introduction, rating and the number of company users of each open-source / software paid in the library of the same type. After step S8, it also includes the production of step S9 to generate relevant software, which is used to prompt the employee with the introduction, rating and the number of company users of alternative open-source / software paid in the library of the same type.
[0071] In a specific embodiment, in combination with Figure 4 the above steps S110 to S160 are further described as followsFigure 3 It includes a terminal device 410, a cloud 420, and a terminal device 430. The terminal device 410 issues a software installation instruction in response to the installation of software by the first user in S2.1. After receiving the user instruction, the cloud 420 executes steps S2.1 and S2.2, determines the authorization status of the software to be installed according to the software details list, determines a recommended solution according to the authorization status, and generates an alarm prompt at the terminal 410 through step S2.4. Among them, the alarm prompt in step S2.3 is uploaded by the terminal device 430 through step S2.4, and the terminal device 430 triggers an instruction by the second user to edit the alarm prompt. The user permission of the second user is higher than that of the first user. After generating the alarm prompt at the cloud 410, the installation of the software is confirmed through step S2.5, and the installation result is uploaded to the cloud 420, and the software installation status is counted through step S2.6.
[0072] The terminal device 430 is also used to regularly collect the installation situation of the company's software and automatically generate a software installation situation report. This report is used to help user 2 optimize software asset management by automatically tracking and reporting software usage.
[0073] In a second aspect, as Figure 5 shown, an embodiment of the present application also provides a software installation device 50, including: A judgment unit 510, configured to judge whether the software to be installed is illegal software; An acquisition unit 520, configured to obtain a legal software whose similarity to the software to be installed meets a preset similarity condition if the software to be installed is illegal software; A recommendation unit 530, configured to recommend the legal software to the user.
[0074] Compared with the related art, the embodiments of the present application have at least the following advantages: By judging whether the software to be installed is illegal software, potential security risks can be effectively identified and avoided, preventing users from installing software that may contain malicious code, viruses or infringe intellectual property rights, thereby protecting the security of users' devices and personal privacy. At the same time, if the software to be installed is identified as illegal software, the user does not need to manually search and screen for alternative solutions, and automatically obtains a legal alternative software similar to the function information to be installed, avoiding function loss or inconvenience caused by the inability to use illegal software.
[0075] Please refer to Figure 6 , Figure 6 which is a schematic diagram of an embodiment of an electronic device of the present application.
[0076] The electronic device 100 includes a memory 20, a processor 30, and a computer program 40 stored in the memory 20 and executable on the processor 30. When the processor 30 executes the computer program 40, it implements the steps in the above-mentioned software installation method embodiment, for exampleFigure 1 Steps 110 to 130 shown above.
[0077] Exemplarily, the computer program 40 can also be segmented into one or more modules / units, and one or more modules / units are stored in the memory 20 and executed by the processor 30. One or more modules / units can be a series of computer program instruction segments capable of accomplishing specific functions, and the instruction segments are used to describe the execution process of the computer program 40 in the electronic device 100. For example, it can be segmented into the judgment unit 510, the acquisition unit 520, and the recommendation unit 530 shown above.
[0078] Those skilled in the art can understand that the schematic diagram is only an example of the electronic device 100 and does not constitute a limitation on the electronic device 100. It may include more or fewer components than shown in the figure, or combine some components, or different components. For example, the electronic device 100 may further include input / output devices, network access devices, buses, etc.
[0079] The processor 30 can be a central processing unit (CPU), or can also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor, a single-chip microcomputer, or the processor 30 can also be any conventional processor, etc.
[0080] The memory 20 can be used to store computer programs 40 and / or modules / units. By running or executing the computer programs and / or modules / units stored in the memory 20, and by invoking the data stored in the memory 20, the processor 30 realizes various functions of the electronic device 100. The memory 20 mainly includes a program storage area and a data storage area. Among them, the program storage area can store an operating system, application programs required for at least one function (such as a sound playback function, an image playback function, etc.); the data storage area can store data created according to the use of the electronic device 100 (such as audio data, etc.). In addition, the memory 20 can include high-speed random access memory, and can also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.
[0081] If the modules / units integrated in the electronic device 100 are implemented in the form of functional information units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on such an understanding, to implement all or part of the processes in the above-described embodiment methods of the present application, it can also be completed by instructing relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, it can implement the steps of the above-described various method embodiments. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, an executable file, or some intermediate form, etc. The computer-readable medium can include: any entity or device capable of carrying computer program code, a recording medium, a USB flash drive, a mobile hard disk, a magnetic disk, an optical disc, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.
Claims
1. A software installation method, applied to a terminal device, characterized in that Including: Determine whether the software to be installed is illegal software; If the software to be installed is illegal software, obtain legal software whose similarity to the software to be installed meets a preset similarity condition; Recommend the legal software to the user.
2. The method according to claim 1, wherein The determining whether the software to be installed is illegal software includes: Obtain the first identity information of the software to be installed; Obtain multiple pre-stored candidate legal software and the corresponding second identity information of each candidate legal software; Match the first identity information with the multiple second identity information, and determine that the software to be installed is illegal software when the first identity information does not match each of the second identity information.
3. The method according to claim 2, wherein The obtaining legal software whose similarity to the software to be installed meets a preset similarity condition includes: Obtain the first function information of the software to be installed and the second function information of each candidate legal software; Generate the first semantic information corresponding to the first function information and the second semantic information corresponding to the second function information; Calculate the similarity between the first semantic information and the second semantic information; When the similarity meets the preset similarity threshold, determine the target second semantic information corresponding to the similarity, and use the candidate legal software corresponding to the second semantic information as the legal software.
4. The method according to claim 3, wherein The method further includes: When the similarity does not meet the preset similarity threshold, structurally transform the first semantic information according to a preset search order to obtain a query vector; Perform an online search based on the query vector, and determine the legal software according to the search results.
5. The method according to claim 3, wherein The method further includes: When the similarity does not meet the preset similarity threshold, count the requirements of the software to be installed and push the requirements to the target user.
6. The method according to claim 1, wherein After recommending the legal software to the user, it further includes: When the number of the legal software is greater than one, determine the similarity between the legal software and the software to be installed; Generate a recommendation index for the legal software according to the similarity, where the greater the similarity, the higher the recommendation index.
7. The method according to claim 1, wherein The terminal device includes a display interface. After determining whether the software to be installed is illegal software, it further includes: If the software to be installed is illegal software, display an alarm prompt on the display interface indicating that the software to be installed cannot be installed; After determining that the software to be installed is authorized software, generate a permission prompt on the display interface indicating that the software to be installed can be installed.
8. A software installation device, characterized in that, Including: A judgment unit for judging whether the software to be installed is illegal software; An obtaining unit for obtaining legal software whose similarity to the software to be installed meets a preset similarity condition if the software to be installed is illegal software; A recommendation unit for recommending the legal software to the user.
9. An electronic device, the electronic device comprising a processor and a memory, characterized in that, The memory is used to store instructions, and the processor is used to call the instructions in the memory, so that the electronic device executes the software installation method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when run on an electronic device, cause the electronic device to execute the software installation method according to any one of claims 1 to 7.