Software configuration method and apparatus, electronic device, storage medium, and program product

By establishing a target process identification collection and redirecting software configuration operation parameters to remote disk files, the problem of software configuration information loss during desktop system restoration is solved, and the configuration information is effectively saved and restored.

WO2025067523A1PCT designated stage expired Publication Date: 2025-04-03RUIJIE NETWORKS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/122064
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-28
Filing Date
2024-09-27
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

It is difficult for the prior art to effectively save and restore the user's personalized configuration of software under the desktop system, especially when restoring the desktop system, configuration information is easily lost.

Method used

By establishing a target process identification set, in response to the software configuration operations of the third-party software, the process identification is determined and the operation parameters are redirected to the remote disk file to save and restore the software configuration.

Benefits of technology

It realizes that when restoring the desktop system, the user's personalized software configuration information is retained, which improves the security and reliability of the configuration information and avoids the loss of configuration information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024122064_03042025_PF_FP_ABST
    Figure CN2024122064_03042025_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides a software configuration method and apparatus, an electronic device, a storage medium, and a program product. The method comprises: in response to a first software configuration operation on third-party software, determining a process identifier of the first software configuration operation; and in response to the process identifier of the first software configuration operation successfully matching a first process identifier in a target process identifier set, redirecting operation parameters of the first software configuration operation to a remote disk file, wherein the target process identifier set comprises one or more redirectable process identifiers.
Need to check novelty before this filing date? Find Prior Art

Description

Software configuration method, device, electronic device, storage medium and program product

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on September 28, 2023, with application number 202311274551.2 and invention name “Software configuration storage and processing method, device, electronic device and storage medium”, the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to computer technology, and in particular to a software configuration method, device, electronic device, storage medium, and program product. Background Art

[0004] In order to save the user's personalized configuration of the software when restoring the desktop system, the relevant approach is to write the file path and registry path of the third-party software's personalized storage into a lightweight data exchange formula, that is, a configuration file in the JS object notation (English: JavaScript Object Notation, JSON) format, so that the personalized configuration information can be read after the file and registry filter driver is started.

[0005] Understandably, generating a JSON-formatted configuration file requires knowing in advance the file or registry path to which each software program saves its configuration. The current approach is to use process monitoring software to capture all file and registry operations performed by the operating system during the software configuration save. This process then gradually eliminates possible file or registry paths and writes them into the JSON-formatted configuration file.

[0006] Summary of the Invention

[0007] The present application provides a software configuration method, device, electronic device, storage medium and program product.

[0008] In one aspect, the present application provides a software configuration method, the method comprising:

[0009] In response to a first software configuration operation on third-party software, determining a process identifier of the first software configuration operation;

[0010] In response to a successful match between the process identifier of the first software configuration operation and a first process identifier in a target process identifier set, the operation parameters of the first software configuration operation are redirected to a remote disk file, wherein the target process identifier set includes one or more redirectable process identifiers.

[0011] In an embodiment of the present application, a target process ID set is established to determine the set of process IDs that need to be redirected. When processes in the target process ID set are executed, the operation parameters of the software configuration operations performed by these processes are redirected to a remote disk file, thereby achieving software configuration preservation of the restored desktop system.

[0012] In an optional embodiment, when the process identifier in response to the first software configuration operation successfully matches the first process identifier in the target process identifier set, before redirecting the operation parameters of the first software configuration operation to the remote disk file, the method further includes:

[0013] Determining, based on the received target software name, a set of installation paths of one or more executable files of the third-party software of the terminal device, wherein the target software name corresponds to the third-party software;

[0014] In response to a start-up operation of a second process, determining a second process identifier and a first executable file path corresponding to the start-up operation of the second process; and

[0015] In response to the first executable file path successfully matching the first installation path in the installation path set, the second process identifier is added to the target process identifier set.

[0016] In an optional embodiment, in response to the first executable file path successfully matching the first installation path in the installation path set, after adding the second process identifier to the target process identifier set, the method further includes:

[0017] In response to an exit operation of the third process, determining a third process identifier and a second executable file path corresponding to the exit operation of the third process; and

[0018] In response to the second executable file path successfully matching the second installation path of the installation path set, the third process identifier is removed from the target process identifier set.

[0019] In an optional implementation, determining the installation path set of the third-party software on the terminal device based on the target software name includes:

[0020] According to the target software name, query at least one of a registry, a start menu, and a desktop shortcut in the desktop operating system to obtain a query result; and

[0021] Based on the query result, the installation path set of the third-party software is determined.

[0022] In an optional implementation, before determining the installation path set of the third-party software on the terminal device based on the received target software name, the method further includes:

[0023] In response to a selection operation on a software name displayed on an operation interface of the server, the target software name is determined.

[0024] In an optional embodiment, in response to the selection operation of the software name displayed on the operation interface of the server, before determining the target software name, the method further includes:

[0025] Obtaining the registry, start menu, and desktop shortcuts in the desktop operating system;

[0026] Determining the third-party software installed in the desktop operating system according to at least one of the registry, the start menu, and the desktop shortcut; and

[0027] The software name of the third-party software is uploaded to the server to allow the server to display the software name on the operation interface.

[0028] In an optional implementation, uploading the software name of the third-party software to the server to allow the server to display the software name on the operation interface includes:

[0029] The auxiliary information of the third-party software is uploaded to the server, so as to allow the server to display the software name including the auxiliary information on the operation interface.

[0030] In an optional implementation, the auxiliary information includes at least one of the following: a version of the third-party software, a type of the third-party software, or a source of the third-party software.

[0031] In an optional implementation, the auxiliary information includes at least one of the following: a data format of the third-party software or an interface of the third-party software.

[0032] In an optional implementation, the method further includes:

[0033] determining a path for a second software configuration operation; and

[0034] When the remote disk file includes the path of the second software configuration operation, the operation parameters of the second software configuration operation are redirected to the remote disk file.

[0035] In an optional implementation, the first software configuration operation is a write operation on the configuration of the third-party software.

[0036] In an optional implementation manner, after redirecting the operating parameters of the software configuration operation to the remote disk file, the method further includes:

[0037] In response to a shutdown operation of the terminal device, the desktop operating system is restored to obtain a restored desktop operating system.

[0038] In an optional implementation manner, after redirecting the operating parameters of the software configuration operation to the remote disk file, the method further includes:

[0039] In response to a restart operation of the terminal device, running the third-party software;

[0040] In response to a read operation on the configuration information of the third-party software, determining an operation parameter of the read operation in the third-party software; and

[0041] The operation parameters of the read operation are redirected to the remote disk file to read the historical configuration information of the third-party software.

[0042] In an optional implementation, the method further includes:

[0043] Acquiring a system disk operation performed by a user on the desktop operating system, wherein the system disk operation is used to represent a modification operation performed by the user on third-party software in the system disk within a predetermined time period, wherein the modification operation includes at least one of the following: an installation operation and a removal operation; and

[0044] The operation parameters of the system disk operation are redirected to the remote disk file, so that the operation parameters of the system disk operation are read into the desktop operating system when the terminal device is turned on.

[0045] According to a second aspect of the present application, a software configuration device is provided, the device comprising:

[0046] a first determining module, configured to determine a process identifier of a first software configuration operation on third-party software in response to the first software configuration operation; and

[0047] A redirection module is used to redirect the operation parameters of the first software configuration operation to a remote disk file in response to a successful match between the process identifier of the first software configuration operation and the first process identifier in the target process identifier set; wherein the target process identifier set includes one or more redirectable process identifiers.

[0048] In an optional embodiment, the device further includes:

[0049] a second determining module, configured to determine, based on the received target software name, a set of installation paths of one or more executable files of the third-party software of the terminal device, wherein the target software name corresponds to the third-party software;

[0050] an acquisition module, configured to determine, in response to a start-up operation of a second process, a second process identifier and a first executable file path corresponding to the start-up operation of the second process; and

[0051] The recording module adds the second process identifier to the target process identifier set in response to the first executable file path successfully matching the first installation path in the installation path set.

[0052] A third aspect of the present application provides a software configuration device, an electronic device, characterized in that it includes: a processor, and a memory connected to the processor;

[0053] The memory stores computer-executable instructions;

[0054] The processor executes the computer-executable instructions stored in the memory to implement any one of the above methods.

[0055] According to a fourth aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to implement any of the above methods when executed by a processor.

[0056] In a fifth aspect of the present application, a computer program product is provided, wherein the computer program product comprises: computer program code, which, when executed by one or more processors, enables a device including the processor to perform any one of the above methods.

[0057] The software configuration method, device, electronic device, storage medium and program product provided in the present application determine the process identifier of the first software configuration operation in response to the first software configuration operation on the third-party software; in response to the successful match between the process identifier of the first software configuration operation and the first process identifier in the target process identifier set, redirect the operation parameters of the first software configuration operation to a remote disk file, wherein the target process identifier set includes one or more redirectable process identifiers. In an embodiment of the present application, the process identifier set that needs to be redirected is determined by establishing a target process identifier set. When the processes in the target process identifier set are executed, the operation parameters of the software configuration operations executed by these processes are redirected to the remote disk file, thereby realizing the software configuration retention of the restored desktop system.

[0058] Through the embodiments of the present application, a simple and universal method is provided to determine the software configuration operations of the files or registries that need to be redirected, so that after the desktop system is restored and shut down, the software configuration information of the third-party software can be redirected to the remote disk file when it is turned on next time. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0060] FIG1 is a flow chart of a software configuration saving method provided in an embodiment of the present application.

[0061] FIG2 is a flow chart of an optional software configuration saving processing method provided in an embodiment of the present application.

[0062] FIG3 is a schematic diagram of an operating interface of an optional desktop operating system provided in an embodiment of the present application.

[0063] FIG4 is a flowchart illustrating file redirection in an optional software configuration saving processing scenario provided in an embodiment of the present application.

[0064] FIG5 is a flow chart of registry redirection in an optional software configuration saving processing scenario provided in an embodiment of the present application.

[0065] FIG6 is a flow chart of a method for saving software configuration provided in an embodiment of the present application.

[0066] FIG7 is a flow chart of a method for determining a target process identifier set provided in an embodiment of the present application.

[0067] FIG8 is a structural block diagram of a software configuration storage processing device provided in an embodiment of the present application.

[0068] FIG9 is a structural block diagram of a software configuration storage processing device provided in an embodiment of the present application.

[0069] FIG10 is a schematic structural diagram of an electronic device provided in an embodiment of the present application.

[0070] The above drawings illustrate specific embodiments of the present application, which will be described in more detail below. These drawings and the textual description are not intended to limit the scope of the present application in any way, but rather to illustrate the concepts of the present application to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION

[0071] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.

[0072] First, let’s explain the terms involved in this application:

[0073] exe is the extension of executable program files in Windows operating system, which stands for executable file (English: executable file).

[0074] A process is an instance of a program running in a computer system. It includes a program counter, a stack, and a data area. A process is the basic unit for resource allocation and scheduling in an operating system.

[0075] JavaScript Object Notation (JSON) is a lightweight data exchange format. It is based on a subset of the ECMAScript specification developed by the European Computer Manufacturers Association (ECMAScript) and uses a text format that is completely independent of the programming language to store and represent data.

[0076] Process monitor software is used to monitor running processes, file systems, and registry activity in the Windows operating system. Process monitor is equivalent to Filemon and Regmon. Filemon is specifically used to monitor any file operations in the system, while Regmon monitors registry read and write operations.

[0077] In order to save the user's personalized configuration of the software when restoring the desktop system, the relevant approach is to write the file path and registry path of the software's personalized storage in a lightweight data exchange formula, that is, a configuration file in json format, so that the personalized configuration information can be read after the file and registry filter driver is started.

[0078] When the user operates the software to modify the configuration, the software will be captured by the file or registry filter driver when saving the configuration in the file or registry. It will recognize that the path to be written is in the JSON format configuration file and redirect the write operation to another disk.

[0079] The next time you boot up, the system is restored to its original state. When software runs and attempts to read a configuration file, it's detected by the file or registry filter driver, which recognizes the path being read as a JSON-formatted configuration file and redirects the read operation to another disk. This ensures that the configuration data read by the software is the one set by the user since the last boot. This method preserves the user's personalized configuration data when restoring the desktop system.

[0080] However, to generate a JSON-formatted configuration file, you need to know in advance which file or registry path each software program writes to when saving its configuration. To address this, you can use Process Monitor to capture all file and registry operations performed by the operating system during the software configuration save process. Then, you can gradually eliminate possible file or registry paths and write them into the JSON-formatted configuration file.

[0081] Related solutions have several disadvantages: 1. High workload and high technical threshold. In just a few tens of seconds, Process Monitor will capture tens of thousands of records and exclude irrelevant records, which requires extensive experience and patience. Generally, only R&D personnel can do this job. It takes an average of about 2 hours to find the configuration storage location for a piece of software. 2. Capturing is required while the software is running. For example, some software requires logging in and running in a specific environment. If it cannot be run when copied to another environment, its configuration storage path must be captured. If it cannot be done remotely (no need or permission to log in to the external network), technical personnel must travel to the customer site, increasing operating costs. 3. Not universal. For example, a piece of software needs to be captured once. If the configuration storage location changes after the software is upgraded, it needs to be re-captured. Moreover, because R&D personnel are not familiar with the business software, they may not be able to run all the configuration operations again, resulting in the possibility of omissions in the captured path.

[0082] Therefore, it is necessary to find a simple and universal method to let the file and registry filter drivers know which file and registry related operations should be redirected.

[0083] To solve the above technical problems, there are several solutions in the related art.

[0084] Solution 1: Application layering. This solution utilizes file and registry filter drivers to redirect user modifications made while using the desktop system to another disk. The next time the computer boots, the files and registry on this disk are read first, preserving the user's application configuration when restoring the desktop system.

[0085] This solution basically saves all modifications made by Windows to the system disk to another disk, which has the following problems:

[0086] A. When you upgrade Windows or security software, some system files and drivers are also saved to a separate disk. The next time you boot your computer, the operating system and security software will initialize before the files, registry filters, and drivers. This means the operating system and security software may be unable to load the corresponding files, causing a crash or freeze.

[0087] B. Too much irrelevant data is saved, affecting performance. If the administrator edits the original image, it may conflict with the saved data.

[0088] In fact, this solution comes before the existing JSON format configuration solution. It is precisely because this solution has problems that the JSON format configuration solution appears as its upgrade solution.

[0089] Solution 2: A method for continuously updating the virus database for instant desktop restoration. This method configures a folder to record the virus database, saves file operations in this folder to a separate virtual disk, and then loads the files from this virtual disk the next time the computer boots. This way, the antivirus software in the restored desktop system will be able to read the latest virus database.

[0090] This solution does not solve the problem of finding out in which directory the configuration file is written. Moreover, the premise of this solution is self-developed software, such as developing antivirus software yourself, then it is easy to know in which directory its virus library is stored. It is not applicable to the application scenario in the embodiment of this application.

[0091] Solution 3: A personalized configuration retention solution. This solution requires the administrator to enable recording, then modify the configuration using the software, and then disable recording. During recording, all file and registry changes made by Windows are redirected to the personalized data disk. When the end user boots up their computer, if the personalized data disk is merged into the system disk, the administrator's configuration changes will be reflected in the end user's Windows.

[0092] This solution has a low barrier to entry and is accessible to ordinary administrators. It minimizes recording time to reduce the risk of other Windows operations being recorded. However, it cannot completely eliminate the possibility of other operations being recorded. If the system is being patched or other programs are being silently upgraded during recording, the recorded personalized data disk may cause system instability.

[0093] This solution is not necessary for general software configuration, as it is easier for administrators to modify software configurations by editing the image. This solution is generally used in software activation scenarios (activation codes vary depending on the hardware), which means that administrators need to record as many times as there are terminals, which is a lot of work.

[0094] Solution 4: Use the snapshot feature. The snapshot feature was introduced to preserve the user's third-party software configurations on the restored desktop system. After the user modifies the software configuration, they can set a snapshot. The snapshot will be loaded the next time the computer is restarted, thus preserving the software configuration. However, this snapshot feature sacrifices the advantages of a restored desktop system and, technically, is more like a personalized desktop system.

[0095] By analyzing the above-mentioned related solutions, it can be seen that it costs a huge amount of money to save the configuration of third-party software when restoring the desktop system.

[0096] The exemplary embodiments of this application provide a software configuration saving method that allows file and registry filter drivers to accurately determine which files or registry operations require redirection without requiring JSON configuration. This eliminates the need to use Process Monitor to locate and pre-save the path where third-party software configurations are saved.

[0097] To facilitate understanding of the specific implementation methods in the embodiments of the present application, in addition to the above-mentioned explanations of terms, the embodiments of the present application also provide the following content to explain some technical concepts in the field that appear or are involved in the embodiments of the present application.

[0098] 1. Restore the desktop system

[0099] The original image file of a virtual desktop system stores the system disk data. After entering the virtual desktop system, the system disk data will change as the user operates. After the desktop system is shut down, a differential file is generated for the external image file. The differential file records the changes made to the system disk during the current boot. If the differential file is deleted, the system disk will be restored to the state at the next boot, and all user operations during the previous boot will be lost. This desktop system is called a restored desktop system.

[0100] Restoring a desktop system offers two major benefits for maintenance personnel: A. By editing the original image, for example, by installing new software or changing the Windows configuration, the changes will take effect on all terminals using that image. B. Restoring the system to its original state each time it boots up prevents user operations from damaging the system, minimizing maintenance efforts.

[0101] The downside of restoring a desktop system is that the user's customized software configurations will also be lost. These personalized configurations, such as input methods, network storage, communication software login history, browser favorites, and productivity software configuration options, will significantly impact user productivity if they disappear every time the computer is turned on.

[0102] 2. File and registry filter drivers

[0103] Filter drivers, for example, utilize the interfaces provided by Windows to capture the read and write operations of Windows programs on files and the registry. They can redirect these operations by modifying the parameters of the read and write operations. This allows the configuration files and registry entries that applications read and write to be saved on a dedicated disk. When the system disk is restored during boot, the application can still read the configuration files and registry entries that were written last time the system was booted.

[0104] 3. Process start\exit monitoring driver

[0105] The driver uses the interface provided by Windows to register a callback function. Each time a process starts or exits in Windows, the callback function is triggered. The callback function passes in parameters that reveal the process ID and executable path.

[0106] 4. Extract software name and installation path

[0107] By traversing at least four places in the registry, for example, as known to those skilled in the art, 1) for a 64-bit operating system, for software used by all users of the local machine: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall; 2) for a 32-bit operating system, for software used by all users of the local machine: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall; 3) for a 64-bit operating system, for software used by the currently logged-in user: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall; 4) for a 32-bit operating system, for software used by the currently logged-in user: HKEY_CURRENT_USER\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall, that is, by traversing the above paths, a list of third-party software names (corresponding to the software list under Control Panel\Programs) can be obtained, and then the Install Path, Uninstall Path, and String and other information to extract the software installation path.

[0108] For some software that does not record information in the registry, you can find the folder path where the program is located through the start menu or desktop shortcut, and use the start menu directory or shortcut name as the software name.

[0109] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0110] FIG1 is a flow chart of a software configuration saving processing method provided in an embodiment of the present application. As shown in FIG1 , the method includes the following steps.

[0111] S101 , in response to a received target software name, determining third-party software corresponding to the target software name in a desktop operating system of a terminal device.

[0112] S102: In response to a software startup operation on third-party software, obtain a process identifier and an executable file path of a software startup process corresponding to the software startup operation.

[0113] S103: In response to the software configuration operation on the third-party software, determine a process identifier of the software configuration operation.

[0114] S104: In response to a successful match between the process identifier of the software configuration operation and the process identifier of the startup process, redirect the operation parameters of the software configuration operation to a remote disk file.

[0115] Optionally, the target software name is the software name of the third-party software whose configuration needs to be saved, which is pre-selected by the administrator or user of the terminal device.

[0116] Optionally, the software configuration operation includes a write operation of the configuration of the third-party software, for example, including a new creation operation and / or a modification operation.

[0117] It can be understood that the above software configuration operation may include a read operation or a delete operation of the above third-party software.

[0118] Optionally, the creation operation may include, but is not limited to, creating a new registry entry or a new file. The registry (also known as a registry file) is an important database in Windows that stores system and application settings. The file may be any type of file, including, but not limited to, Word files and PDF files.

[0119] It can be understood that the above modification operations may also include attribute modification operations, file name modification operations, file length modification operations, etc.

[0120] It can be understood that the operation parameters of the software configuration operation include the operation address of the software configuration operation, such as the address of a registry or the address of a file.

[0121] An embodiment of the present application provides a software configuration saving and processing method, which can implement configuration modification of the target software in the Windows desktop operating system of the terminal device and save the modified configuration information in a remote disk file, thereby realizing centralized management and backup of the software configuration information and improving the security and reliability of the software configuration information.

[0122] The software configuration saving processing method provided in the embodiment of the present application first determines the third-party software corresponding to the target software name in the desktop operating system of the terminal device in response to the received target software name, thereby realizing automatic identification and matching of the third-party software installed on the terminal device, and improving the versatility and adaptability of the software configuration saving processing solution.

[0123] In this way, no matter which third-party software is installed on the terminal device, unified and standardized configuration modifications can be made through the target software name without manual intervention or additional settings.

[0124] Afterwards, by responding to the software startup operation on the above-mentioned third-party software, obtaining the process identifier and executable file path of the software startup process corresponding to the above-mentioned software startup operation, and responding to the software configuration operation on the above-mentioned third-party software, determining the process identifier of the above-mentioned software configuration operation, the effective capture of the software configuration operation performed on the terminal device is achieved, and the accuracy and effectiveness of the software configuration saving processing method are improved. It can be understood by ordinary technicians in this field that the process identifier refers to the identifier used to identify the executable file. The process identifiers of operations under the same executable file are all included in the same process identifier set. By matching the process identifiers, the corresponding executable file can be corresponded.

[0125] In this way, it can be ensured that redirection is triggered only when the target software is started and configuration operations such as new creation or modification are performed, and the modified configuration information is redirected to the remote disk file, avoiding erroneous or redundant operations.

[0126] The embodiments of the present application not only enable configuration modification of target software within the desktop operating system of a terminal device, but also save the modified configuration information in a remote disk file, thereby achieving centralized management and backup of software configuration information and improving the security and reliability of the software configuration information. Thus, even if a terminal device fails or is lost, the integrity and availability of the software configuration information will not be affected, nor will the software configuration information be leaked or tampered with.

[0127] In one example, an embodiment of the present application only needs to determine the directories containing the exe files contained in the third-party software based on the software name, and based on the directories containing the exe files contained in the third-party software, determine which write configuration operations corresponding to the directories containing these exe files need to be redirected, and determine which process IDs (i.e., process identifiers) need to have their write configuration operations redirected. When these process IDs perform file and registry operations, the file and registry paths can be redirected to a remote server based on the process IDs, thereby restoring the software configuration of the desktop system.

[0128] The embodiment of the present application does not need to find out in advance which path the executable file exe of these third-party software will write the configuration to, and it is only necessary to determine the directory where the exe is located according to the software name. The solution for determining the directory where the exe is located saves the use of the third-party software Process monitor, and there is no situation of missing some configurations (when using Process monitor to capture, the technician may not have operated all configuration scenarios). In addition, when the third-party software is upgraded, the location of the configuration file after the upgrade may change. At this time, if the relevant technical solution is adopted, it is necessary to use Process monitor to recapture the configuration file location. When the solution provided by the embodiment of the present application is adopted, even if the configuration file location is changed after the third-party software is upgraded, the preservation of the software configuration can also be supported.

[0129] In the embodiment of the present application, the software name and the software installation path can be matched through the correspondence between the registry, start menu, desktop shortcut and software name. For example, "C:\Program Files(x86)\Tent\Chat" can be found through the software "Instant Messaging Software 2", so that by configuring the software name "Instant Messaging Software 2", it can be configured to "C:\Program Files(x86)\Tent\Chat, the directory where the executable file exe is located", thereby reducing the administrator's understanding cost and improving the administrator's efficiency in configuring policies.

[0130] The software configuration saving processing method provided in the embodiment of the present application specifically relates to a method of using the file filtering driver Minifilter, the registry operation filtering driver, and the process startup / exit monitoring driver under the Windows desktop operating system (restore desktop system) to accurately read and write configuration operations of files and registry of a certain process, and perform redirection operations, that is, a method of extracting the software name and installation directory of the software by using the information left by the software in the registry, start menu, and desktop shortcuts in Windows. As long as the target software name is determined, the read and write configuration operations performed by the executable file exe process in the software installation directory can be identified. Therefore, redirection operations can be performed based on the software name, so that the program configuration of certain software can also be saved in the restored desktop system.

[0131] In an optional implementation, before determining the process identifier of the software configuration operation, the method further includes:

[0132] Determine the installation path of the third-party software in the desktop operating system.

[0133] In response to a successful match between the executable file path and the installation path, a process identifier of the software startup process is recorded.

[0134] In the embodiments of the present application, by recording the process identifier of the software startup process in response to a successful match between the executable file path and the installation path, effective identification and recording of the target software started on the terminal device is achieved, thereby improving the accuracy and security of the software configuration storage processing method. In this way, it is possible to avoid mistaking the startup process of non-target software for the startup process of the target software, thereby avoiding erroneous or invalid configuration modifications to the non-target software.

[0135] In this way, when multiple versions or types of third-party software of the same or similar type are installed on the terminal device, the configuration file addresses of these multiple versions or types of third-party software of the same or similar type are different, so there is no need to capture information for each version and each software, avoiding omissions. By adopting the solution in the embodiment of the present application, the specific third-party software to be configured and modified can be determined based on the target software name, and the modified configuration information can be saved in a remote disk file, thereby realizing multi-version or multi-type management and differentiation of software configuration information.

[0136] In addition, when running multiple third-party software on the terminal device and performing configuration modification operations at the same time, the new operation parameters to be redirected to the server's remote disk file can be determined based on the different process identifiers corresponding to different third-party software, and the modified configuration information can be saved in the server's remote disk file, realizing multi-tasking management and synchronization of software configuration information.

[0137] In an optional implementation, FIG2 is a flow chart of an optional software configuration saving processing method provided in an embodiment of the present application. As shown in FIG2 , before determining the third-party software corresponding to the target software name in the desktop operating system of the terminal device, the method further includes:

[0138] S201, obtaining a registry, a start menu, and desktop shortcuts in the above desktop operating system.

[0139] S202: Determine the third-party software installed in the desktop operating system according to at least one of the registry, the start menu, and the desktop shortcut.

[0140] S203: Upload the software name of the third-party software to the server, so that the server displays the software name on an operation interface.

[0141] It can be understood that it is an operation interface on the administrator's desktop operating system.

[0142] S204: In response to the selection operation of the software name displayed on the operation interface, determine the target software name.

[0143] In a possible implementation, the method further includes uploading the target software name to the server.

[0144] As shown in Figure 3, which is a schematic diagram of an optional desktop operating system operating interface, the administrator can determine which third-party software configuration contents to save by checking the software names of the third-party software, and the operation of finding the location to save the write configuration of the third-party software is automatically completed within Windows and is not presented on the system interface.

[0145] For example, the left window of the operation interface shown in Figure 3 automatically displays a list of software installed in Windows. The administrator can select any third-party software based on multiple third-party software displayed in the software list, and move the selected third-party software to the whitelist in the right window of the operation interface. The file and registry filter driver in Windows can redirect the configuration of the third-party software in the whitelist.

[0146] In the above embodiment, by obtaining the registry, start menu and desktop shortcut in the above desktop operating system, the above third-party software installed in the above desktop operating system is determined based on at least one of the above registry, the above start menu and the above desktop shortcut. This not only can comprehensively and accurately detect and identify the third-party software already on the terminal device, but also can enhance the intelligence and convenience of the software configuration saving processing method.

[0147] In this way, when a large amount of third-party software is installed on the terminal device and some or all of them need to be configured and modified, the tedious steps of manually searching or entering the third-party software name or path can be omitted. The list of available third-party software can be directly sent from the server and displayed on the operation interface.

[0148] Furthermore, in an embodiment of the present application, by uploading the software names of the third-party software to a server, the server displays the software names on the operating interface of the desktop operating system. This provides an intuitive and user-friendly display of the third-party software that can be configured and modified on the terminal device, thereby improving the user experience and satisfaction of the software configuration saving processing method. For example, if multiple languages ​​or versions or types that are the same, similar, or different but have similar or related functions are installed on the terminal device, the third-party software can be distinguished or selected based on the list of auxiliary information such as icons or other identification information issued by the server and displayed on the operating interface.

[0149] In addition, the embodiment of the present application determines the above-mentioned target software name by responding to the selection operation of the software name displayed on the above-mentioned operation interface, and can flexibly and accurately select the third-party software to be configured and modified on the terminal device, thereby improving the flexibility and accuracy of the software configuration saving processing method.

[0150] It is understandable that if multiple third-party software are installed on the terminal device and different or the same configuration modifications need to be made to some or all of them, you can select one or more target software names by clicking or dragging, etc., and upload them to the server according to actual needs, thereby triggering the corresponding configuration modification operation.

[0151] When restoring a desktop system, any configurations written by third-party software will disappear after shutting down the computer. Therefore, if you want to retain personalized software configurations, the administrator needs to select the software name on the operation interface to retain its configuration information.

[0152] In addition, as an optional embodiment, for browser software, since the administrator sets the favorites uniformly when creating the image, if this meets the needs, then there is no need to check this option. If the user wants to create a browser that can log in to their own account and bookmark their own web pages, because each user's account and bookmarked web pages are different, then the administrator needs to check this browser software.

[0153] In an optional implementation, determining the installation path of the third-party software in the desktop operating system includes:

[0154] querying at least one of a registry, a start menu, and a desktop shortcut in the desktop operating system according to the target software name of the third-party software to obtain a query result;

[0155] The installation path of the third-party software is determined based on the query results.

[0156] Optionally, in an embodiment of the present application, based on the target software name of the third-party software, at least one or more of the registry, the start menu, and the desktop shortcut are queried to determine the installation path of the third-party software. For example, if multiple programs with the same or similar functions or uses but different versions, types, or sources are installed on a terminal device, the target software name with auxiliary information such as version, type, or source, which is sent by the server and displayed on the operation interface, can be used to distinguish or select the program, and configuration modifications can be made based on the corresponding installation path queried.

[0157] The above implementation enables rapid and accurate retrieval of the installation location of third-party software installed on a terminal device, improving the efficiency and reliability of the software configuration storage method. Thus, when modifying a configuration, the executable or configuration file of the third-party software can be directly located based on the retrieved installation path, eliminating the need for complex and time-consuming searches or traversal operations.

[0158] In addition, there is an optional embodiment. In the case where multiple software with different functions or uses but the same or similar data formats or interfaces are installed on the terminal device, the target software can be distinguished or selected based on the name of the target software with auxiliary information such as the data format or interface sent by the server and displayed on the operation interface, and the configuration can be modified based on the corresponding installation path queried.

[0159] In an optional implementation manner, after redirecting the operating parameters of the software configuration operation to the remote disk file, the method further includes:

[0160] In response to the shutdown operation of the terminal device, the desktop operating system is restored to obtain a restored desktop operating system.

[0161] Optionally, in an embodiment of the present application, the desktop operating system is restored in response to a shutdown operation of the terminal device to obtain a restored desktop operating system, so that the software configuration information on the terminal device can be temporarily modified and restored. In this way, when the software configuration is modified on the terminal device, it will not affect the original software configuration information, nor will it cause conflicts or confusion in the software configuration information, and it can also protect the user's privacy and data security.

[0162] For example, in one optional implementation scenario, when using public or shared third-party software on a terminal device, the user can select the third-party software to be modified based on the target software name and save the modified configuration information to a remote disk file on the server. After use, shutting down the computer triggers a restore process on the desktop operating system, restoring the third-party software on the terminal device to its original state, preventing it from affecting other users or leaking personal information.

[0163] For another example, in another optional implementation scenario, when using third-party software with the same or similar functions or uses but different configuration requirements, such as different versions, types, or sources, on a terminal device, the third-party software that needs to be modified can be selected based on the target software name, and the modified configuration information can be saved in a remote disk file on the server. After use, shutting down the computer will trigger a restore process on the desktop operating system, restoring the third-party software on the terminal device to its original state, thereby preventing any impact or errors on other third-party software with the same or similar functions or uses but different configuration requirements, such as different versions, types, or sources.

[0164] For example, in another optional implementation scenario, when a terminal device uses multiple different functions or purposes but has the same or similar data formats or interfaces and needs to exchange data or collaborate, the third-party software that needs to be modified to achieve data exchange or collaboration can be selected based on the target software name, and the modified configuration information can be saved in a remote disk file on the server. After use, shutting down the computer will trigger a restore process on the desktop operating system, restoring the third-party software on the terminal device to its original state, avoiding any impact or errors on third-party software with other functions or purposes.

[0165] In an optional implementation manner, after redirecting the operating parameters of the software configuration operation to the remote disk file, the method further includes:

[0166] In response to the restarting operation of the terminal device, the third-party software is run.

[0167] In response to a read operation on the configuration information of the third-party software, an operation parameter of the read operation in the third-party software is determined.

[0168] The operation parameters of the above-mentioned read operation are redirected to the above-mentioned remote disk file to read the historical configuration information of the above-mentioned third-party software.

[0169] In an embodiment of the present application, the above-mentioned optional implementation method redirects the operating parameters of the above-mentioned software configuration operation to the above-mentioned remote disk file, and after the terminal device is shut down, in response to the above-mentioned terminal device being turned on again, runs the above-mentioned third-party software, and in response to the reading operation of the configuration information of the above-mentioned third-party software, determines the operating parameters of the reading operation in the above-mentioned third-party software, and redirects the operating parameters of the above-mentioned reading operation to the above-mentioned remote disk file to read the historical configuration information of the above-mentioned third-party software, thereby realizing the persistent preservation and recovery of the software configuration information on the terminal device.

[0170] For example, after modifying software configuration on a terminal device, the modified configuration information will not be lost or damaged even if the device is shut down or loses power. Instead, it will be saved to the server's remote disk file. When you restart the device and run third-party software, you can read the modified configuration information from the server's remote disk file and apply it to the third-party software without having to reconfigure it.

[0171] In another example, when a terminal device uses multiple different functions or purposes that are interrelated or dependent on each other and requires data exchange or collaborative work, the target software name with auxiliary information such as association or dependency, which is sent by the server and displayed on the operation interface, can be distinguished or selected, and the configuration can be modified according to the corresponding installation path found, and the modified configuration information can be saved in the server's remote disk file. When the computer is turned on again and the third-party software is run, the modified configuration information can be read from the server's remote disk file and applied to the third-party software, thus achieving the consistency and synchronization of the software configuration information required for data exchange or collaborative work.

[0172] There is another optional example. When a terminal device uses multiple different functions or purposes but has the same or similar data format or interface and needs to perform data analysis or processing, it can be distinguished or selected based on the target software name with auxiliary information such as data format or interface issued by the server and displayed on the operation interface, and the configuration can be modified according to the corresponding installation path queried, and the modified configuration information can be saved in the server remote disk file. When the computer is turned on again and the third-party software is run, the modified configuration information can be read from the server remote disk file and applied to the third-party software. In this way, the persistence and reusability of the software configuration information required for data analysis or processing can be improved.

[0173] In the embodiments of the present application, it is understood that, in one example, when a terminal device uses multiple different functions or uses but has the same or similar functional modules or components and needs to perform functional expansion or optimization, it can be distinguished or selected based on the target software name with auxiliary information such as functional modules or components issued by the server and displayed on the operation interface, and the configuration can be modified based on the corresponding installation path found, and the modified configuration information can be saved in the server remote disk file. When the computer is turned on again and the third-party software is run, the modified configuration information can be read from the server remote disk file and applied to the third-party software, thereby realizing the scalability and optimizability of the software configuration information required for functional expansion or optimization.

[0174] The above embodiment is described in detail below using an optional implementation method and schematic diagram to better understand the software configuration storage processing method provided by the embodiment of the present application, the technical problems solved, and the technical effects achieved.

[0175] As shown in Figure 4, an optional schematic diagram of redirecting new and modify operations on files is shown. The application module determines which third-party software is installed on Windows by scanning the Windows registry, start menu, and desktop shortcuts, and then uploads the software names of the third-party software to the Web server. The Web server displays the software list on the operation interface to facilitate the administrator to check which third-party software configurations need to be saved.

[0176] In response to the target software name checked by the administrator, the installation directory of the third-party software in Windows is found according to the target software name, so that the administrator does not need to worry about how many exe files are under the software, in which folders they are saved, etc.

[0177] Furthermore, after the executable file (.exe) of the third-party software is run, the process monitoring driver detects that it is in the administrator's selected installation directory and stores its process ID. The file filter driver and registry filter driver then perform redirection operations when they detect access to files and registry entries by this process ID.

[0178] For example, the web server sends the name of the target software selected by the administrator, such as "Instant Messenger Software 2". The application determines the path of the local computer where the third-party software is installed by searching the registry, start menu, and desktop shortcuts, for example, "C:\Program Files(x86)\Tent\Chat".

[0179] Later, when the user launches the software, the process monitoring driver module receives a message and learns the process ID of the startup program and the executable file path, such as "C:\Program Files(x86)\Tent\Chat\Chat.exe." If the executable file path matches the installation path, the executable file's run configuration is saved and the process ID of the software startup process is recorded.

[0180] In the file filter driver module shown in Figure 4 or the registry filter driver module shown in Figure 5, when an administrator or user modifies the configuration of a third-party software, the exe program will write the configuration information to the local configuration file, local database, or registry. The file filter driver and the registry filter driver will intercept the write operation in advance. If the process ID performing the write operation is found to be the same as the process ID recorded in the above steps, the parameters of the write operation (target file / registry address) will be redirected to the remote end, and the configuration information will be saved to the remote disk.

[0181] Finally, the file configuration processing scheme shown in FIG4 or the registry configuration processing scheme shown in FIG5 is still used. In response to the shutdown operation of the terminal device operated by the user, the virtual desktop is shut down after running for a period of time. A differential file will be generated in addition to the original system image file. The differential file records the file and registry modifications after the local startup. If the above differential file is deleted and the virtual desktop is restarted, the data of the desktop system at this time is the same as the first startup, so it is called a restored desktop system (a restored desktop system). In the embodiment of the present application, in response to the terminal device being restarted, the last third-party software is run. The third-party software reads its own configuration information. This read operation is intercepted by the file filter driver module or the registry filter driver module. After querying and determining that there is a file / registry to be read on the remote disk, the parameters of the read operation are changed to remote, so that the third-party software can read the configuration information written by it at the last startup.

[0182] In an optional embodiment, the above method further includes:

[0183] Obtaining the user's system disk operations on the desktop operating system, wherein the system disk operations are used to represent the user's modification operations on third-party software in the system disk within a predetermined time period, wherein the modification operations include at least one of the following: installation operations and removal operations.

[0184] The operation parameters of the system disk operation are redirected to the remote disk file, so that the operation parameters of the system disk operation are read into the desktop operating system when the terminal device is turned on.

[0185] In an embodiment of the present application, administrators and other users can be allowed to edit the original image on the server and install third-party software required for business. After that, all changes to the system disk on the desktop operating system within a period of time can redirect the operating parameters of the system disk operation to a remote disk file (that is, an application layered disk based on a file) so that the operating parameters of the system disk operation can be read into the desktop operating system when the above-mentioned terminal device is turned on.

[0186] In this way, the application layered disk can be merged with the system disk when the administrator controls the terminal device to start up. Then the user will see the third-party software previously installed by the administrator in the desktop operating system appearing in Windows. In this way, the administrator can use the above solution to flexibly install and / or remove business software.

[0187] When an administrator edits an image to install business software or records software configuration, the system or other software may be silently upgrading. These upgrade operations will also be recorded. If only half of the upgrade is recorded, it may cause instability in the end user's system. To address the above-mentioned "excessive recording" problem, the software configuration storage processing solution provided in this application can be used.

[0188] Furthermore, this embodiment of the application provides a personalized configuration retention solution. When it detects that an administrator or other user is editing the original image on the server, only the file and registry changes made by the installation package process (and its child processes) are saved. Furthermore, only the file and registry changes made by the administrator in the directory containing the third-party software exe are recorded. This solves the problem of "excessive recording."

[0189] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0190] As shown in FIG6 , FIG6 is a flow chart of a method for saving software configuration provided in an embodiment of the present application. The method for saving software configuration includes:

[0191] S601 : In response to a first software configuration operation on first software, determine a process identifier of the software configuration operation.

[0192] S602: In response to a successful match between the process identifier of the first software configuration operation and the first process identifier in the target process identifier set, redirecting the operation parameters of the first software configuration operation to a remote disk file, wherein the target process identifier set includes one or more redirectable process identifiers.

[0193] In an embodiment of the present application, a target process identifier set is established to determine the process identifier set that needs to be redirected. When the processes in the target process identifier set are executed, the operating parameters of the software configuration operations performed by these processes are redirected to remote disk files, so that the software configuration of the restored desktop system is retained. The remote disk file referred to in the embodiment of the present application refers to a disk file that will not be reset when the restored desktop system is shut down. Through the software configuration saving method provided by the embodiment of the present application, there is no need to find out in advance which path the executable file exe of the third-party software will write the configuration to, but only the process identifier of the third-party software that performs the software configuration operation needs to be known. By adopting the solution in the embodiment of the present application, there is no need to use the third-party software Process monitor, and there is no configuration omission.

[0194] In some possible implementations, before executing S601, the method provided in the embodiment of the present application further includes: determining a path for the software configuration operation, and if the remote disk file includes the software configuration operation path, redirecting the operation parameters of the software configuration operation to the remote disk file.

[0195] In this embodiment, if the remote disk file already contains the operation path, there is no need to compare the process identifiers, and the operation parameters are directly redirected to the remote disk file, thereby improving the efficiency of redirection.

[0196] As shown in Figure 7, Figure 7 is a flow chart of a method for determining a target process identifier set provided by an embodiment of the present application. The method includes the following steps.

[0197] S701 : Determine an installation path set of one or more executable files of the third-party software of the terminal device based on a received target software name, wherein the target software name corresponds to the third-party software.

[0198] The method for determining the installation path set of the third-party software corresponding to the target software name in the desktop operating system of the terminal device has been described in detail in other embodiments and will not be repeated here.

[0199] S702: In response to a start-up operation of a second process, determine a second process identifier and a first executable file path corresponding to the start-up operation of the second process.

[0200] In some possible implementations, the process monitoring driver on the terminal device monitors the start and exit of each process in the terminal device, and can determine the process identifier and executable file path corresponding to the process start based on the process start message.

[0201] S703: In response to the first executable file path successfully matching the first installation path in the installation path set, add the second process identifier to the target process identifier set.

[0202] In some possible implementations, when the first executable file path successfully matches the first installation path, it indicates that the process is a preset third-party software process and requires software configuration redirection. Therefore, the second process representation corresponding to the process can be added to the target process representation set.

[0203] S704: In response to the exit operation of the third process, determine a third process identifier and a second executable file path corresponding to the exit operation of the third process.

[0204] S705 : In response to the second executable file path successfully matching the second installation path in the installation path set, remove the third process identifier from the target process identifier set.

[0205] In some possible implementations, when a process exits in response to a process startup operation, the corresponding process ID is removed from the target process ID set to maintain the target process ID set in real time. By maintaining the target process ID set in real time, it is possible to prevent process IDs in the target process ID set from being assigned to other software, thereby preventing the relationship between process IDs and executable file paths from being incorrect.

[0206] According to one or more embodiments of the present application, an embodiment of a software configuration storage processing device is provided. FIG8 is a structural block diagram of a software configuration storage processing device provided in an embodiment of the present application. As shown in FIG8 , the device 600 includes:

[0207] The first determining module 601 is configured to determine, in response to the received target software name, third-party software corresponding to the target software name in the desktop operating system of the terminal device.

[0208] The acquisition module 602 is configured to, in response to a software startup operation on the third-party software, acquire a process identifier and an executable file path of a software startup process corresponding to the software startup operation.

[0209] The second determining module 603 is configured to determine a process identifier of a software configuration operation on the third-party software in response to the software configuration operation on the third-party software, wherein the software configuration operation is a write operation on the configuration of the third-party software.

[0210] The redirection module 604 is configured to redirect the operation parameters of the software configuration operation to a remote disk file in response to a successful match between the process identifier of the software configuration operation and the process identifier of the startup process.

[0211] According to one or more embodiments of the present application, the apparatus further includes:

[0212] The path determination module is used to determine the installation path of the third-party software in the desktop operating system.

[0213] The recording module is used to record the process identifier of the software startup process in response to the successful matching between the executable file path and the installation path.

[0214] According to one or more embodiments of the present application, the above-mentioned device also includes.

[0215] The information acquisition module is used to obtain the registry, start menu and desktop shortcuts in the above desktop operating system.

[0216] The third determining module is configured to determine the third-party software installed in the desktop operating system according to at least one of the registry, the start menu, and the desktop shortcut.

[0217] The first uploading module is used to upload the software name of the third-party software to the server, so that the server displays the software name on the operation interface of the desktop operating system.

[0218] The second uploading module is configured to upload the target software name to the server in response to a selection operation on the software name displayed on the operation interface.

[0219] According to one or more embodiments of the present application, the path determination module includes:

[0220] The query unit is used to query at least one of the registry, the start menu, and the desktop shortcut in the desktop operating system according to the target software name of the third-party software to obtain a query result.

[0221] The determining unit is configured to determine the installation path of the third-party software based on the query result.

[0222] According to one or more embodiments of the present application, the apparatus further includes:

[0223] The restoration module is used to restore the desktop operating system in response to the shutdown operation of the terminal device to obtain a restored desktop operating system.

[0224] According to one or more embodiments of the present application, the apparatus further includes:

[0225] The running module is used to run the third-party software in response to the restart operation of the terminal device.

[0226] a fourth determining module, configured to determine, in response to a read operation on the configuration information of the third-party software, an operation parameter of the read operation in the third-party software;

[0227] The reading module is used to redirect the operation parameters of the above-mentioned reading operation to the above-mentioned remote disk file to read the historical configuration information of the above-mentioned third-party software.

[0228] According to one or more embodiments of the present application, a software configuration preservation processing device is provided. FIG9 is a structural block diagram of a software configuration preservation processing device provided by an embodiment of the present application. As shown in FIG9 , the above-mentioned device 900 includes the following modules.

[0229] The first determining module 901 is configured to determine a process identifier of a software configuration operation performed on third-party software in response to the software configuration operation.

[0230] Redirection module 902 is used to redirect the operation parameters of the first software configuration operation to a remote disk file in response to a successful match between the process identifier of the first software configuration operation and the first process identifier in the target process identifier set; wherein the target process identifier set includes one or more redirectable process identifiers.

[0231] The software configuration storage processing device 900 may further include the following modules.

[0232] The second determining module is configured to determine an installation path set of one or more executable files of the third-party software of the terminal device based on the received target software name, wherein the target software name corresponds to the third-party software.

[0233] The acquisition module is configured to determine, in response to a start-up operation of a second process, a second process identifier and a first executable file path corresponding to the start-up operation of the second process.

[0234] The recording module is configured to add the second process identifier to the target process identifier set in response to a successful match between the first executable file path and the first installation path in the installation path set.

[0235] In an exemplary embodiment, the present application further provides an electronic device, including: a processor, and a memory connected to the processor.

[0236] The memory stores computer-executable instructions.

[0237] The processor executes the computer-executable instructions stored in the memory to implement any of the above methods.

[0238] In an exemplary embodiment, the embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to implement any of the above methods when executed by a processor.

[0239] In an exemplary embodiment, the present application further provides a computer program product, including a computer program, which implements any of the above methods when executed by a processor.

[0240] In order to implement the above embodiment, the embodiment of the present application also provides an electronic device. Referring to Figure 10, it shows a structural schematic diagram of an electronic device 700 suitable for implementing the embodiment of the present application, and the electronic device 700 can be a terminal device or a server. Among them, the terminal device can include but is not limited to mobile phones, laptops, digital broadcast receivers, messaging devices, game consoles, medical devices, fitness equipment, personal digital assistants (English: Personal Digital Assistant, abbreviated as PDA), tablet computers (English: Portable Android Device, abbreviated as PAD), portable multimedia players (English: Portable Media Player, abbreviated as PMP), mobile terminals such as vehicle-mounted terminals (such as vehicle-mounted navigation terminals), and fixed terminals such as digital TVs, desktop computers, etc. The electronic device shown in Figure 7 is only an example and should not bring any limitations to the functions and scope of use of the embodiments of the present application.

[0241] As shown in Figure 10, the electronic device 700 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. Various programs and data required for the operation of the electronic device 700 are also stored in the RAM 703. The processing device 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0242] Typically, the following devices may be connected to the I / O interface 705: an input device 706 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 707 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 708 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 709. The communication device 709 may allow the electronic device 700 to communicate with other devices wirelessly or by wire to exchange data. Although FIG. 7 shows an electronic device 700 having various devices, it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have alternatively.

[0243] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network via the communication device 709, or installed from the storage device 708, or installed from the ROM 702. When the computer program is executed by the processing device 701, the above-mentioned functions defined in the method of the embodiment of the present application are performed.

[0244] It should be noted that the computer-readable medium mentioned above in this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor device or component, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this application, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution device or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. This propagated data signal can take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution apparatus or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.

[0245] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0246] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device executes the method shown in the above embodiment.

[0247] Computer program code for performing the operations of the present application can be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0248] The flow charts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the prescribed logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart, can be implemented by a dedicated hardware-based system that performs the prescribed function or operation, or can be implemented by a combination of dedicated hardware and computer instructions.

[0249] The units involved in the embodiments described in this application may be implemented in software or hardware. The name of a unit does not necessarily limit the unit itself. For example, the first acquisition unit may also be described as a "unit for acquiring at least two Internet Protocol addresses."

[0250] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.

[0251] In the context of the present application, a machine-readable medium can be a tangible medium that can contain or store a program for use by an instruction execution device or device or used in combination with an instruction execution device or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor devices or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0252] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present application that follow the general principles of the present application and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, and the true scope and spirit of the present application are indicated by the following claims.

[0253] It should be understood that the present application is not limited to the exact structure described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A software configuration method, applied to a terminal device, comprising: In response to a first software configuration operation on third-party software, determining a process identifier of the first software configuration operation; In response to a successful match between the process identifier of the first software configuration operation and a first process identifier in a target process identifier set, redirecting an operation parameter of the first software configuration operation to a remote disk file, wherein the target process identifier set includes one or more redirectable process identifiers.

2. The method according to claim 1, wherein: The method further includes, before the process identifier in response to the first software configuration operation successfully matches the first process identifier in the target process identifier set and the operation parameter of the first software configuration operation is redirected to the remote disk file: Determine, based on the received target software name, a set of installation paths of one or more executable files of the third-party software of the terminal device, wherein the target software name corresponds to the third-party software; In response to a start-up operation of a second process, determining a second process identifier and a first executable file path corresponding to the start-up operation of the second process; and In response to the first executable file path successfully matching the first installation path in the installation path set, the second process identifier is added to the target process identifier set.

3. The method according to claim 2, wherein: In response to the first executable file path successfully matching the first installation path in the installation path set, after adding the second process identifier to the target process identifier set, the method further includes: In response to an exit operation of a third process, determining a third process identifier and a second executable file path corresponding to the exit operation of the third process; and In response to the second executable file path successfully matching the second installation path of the installation path set, the third process identifier is removed from the target process identifier set.

4. The method according to claim 2, wherein: The step of determining the installation path set of the third-party software of the terminal device based on the target software name includes: According to the target software name, query at least one of a registry, a start menu, and a desktop shortcut in the desktop operating system to obtain a query result; and Based on the query result, the installation path set of the third-party software is determined.

5. The method according to claim 2, wherein: Before determining the installation path set of the third-party software of the terminal device based on the received target software name, the method further includes: In response to a selection operation on a software name displayed on an operation interface of the server, the target software name is determined.

6. The method according to claim 5, wherein: In response to the selection operation of the software name displayed on the operation interface of the server, before determining the target software name, the method further includes: Obtaining a registry, a start menu, and desktop shortcuts in the desktop operating system; Determining the third-party software installed in the desktop operating system according to at least one of the registry, the start menu, and the desktop shortcut; and The software name of the third-party software is uploaded to the server to allow the server to display the software name on the operation interface.

7. The method according to claim 6, wherein: The uploading the software name of the third-party software to the server to allow the server to display the software name on the operation interface includes: The auxiliary information of the third-party software is uploaded to the server to allow the server to display the software name containing the auxiliary information on the operation interface.

8. The method according to claim 7, wherein: The auxiliary information includes at least one of the following: a version of the third-party software, a type of the third-party software, or a source of the third-party software.

9. The method according to claim 7, wherein: The auxiliary information includes at least one of the following: the data format of the third-party software or the interface of the third-party software.

10. The method according to claim 1, wherein: The method further comprises: determining a path for a second software configuration operation; and When the remote disk file includes the path of the second software configuration operation, the operation parameters of the second software configuration operation are redirected to the remote disk file.

11. The method according to claim 1, wherein: The first software configuration operation is a write operation on the configuration of the third-party software.

12. The method according to any one of claims 1, wherein: The first software configuration operation includes a registry operation and / or a file operation.

13. The method according to any one of claims 1 to 12, wherein: After redirecting the operation parameters of the software configuration operation to the remote disk file, the method further includes: In response to a shutdown operation of the terminal device, the desktop operating system is restored to obtain a restored desktop operating system.

14. The method according to any one of claims 1 to 13, wherein: After redirecting the operation parameters of the software configuration operation to the remote disk file, the method further includes: In response to a restart operation of the terminal device, running the third-party software; In response to a read operation on the configuration information of the third-party software, determining an operation parameter of the read operation in the third-party software; and The operation parameters of the read operation are redirected to the remote disk file to read the historical configuration information of the third-party software.

15. The method according to any one of claims 1 to 14, wherein: The method further comprises: Acquiring a system disk operation performed by a user on the desktop operating system, wherein the system disk operation is used to represent a modification operation performed by the user on a third-party software in the system disk within a predetermined time period, wherein the modification operation includes at least one of the following: an installation operation and a removal operation; and The operation parameters of the system disk operation are redirected to the remote disk file, so that the operation parameters of the system disk operation are read into the desktop operating system when the terminal device is turned on.

16. A software configuration device, wherein: The device comprises: A first determining module, configured to determine a process identifier of a first software configuration operation on third-party software in response to the first software configuration operation; and A redirection module is used to redirect the operation parameters of the first software configuration operation to a remote disk file in response to a successful match between the process identifier of the first software configuration operation and the first process identifier in the target process identifier set; wherein the target process identifier set includes one or more redirectable process identifiers.

17. The device according to claim 16, wherein: The device also includes: A second determination module is used to determine, based on the received target software name, a set of installation paths of one or more executable files of the third-party software of the terminal device, wherein the target software name corresponds to the third-party software; an acquisition module, configured to determine, in response to a start operation of a second process, a second process identifier and a first executable file path corresponding to the start operation of the second process; and The recording module adds the second process identifier to the target process identifier set in response to the first executable file path successfully matching the first installation path in the installation path set.

18. An electronic device, characterized in that: include: A processor, and a memory connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 15.

19. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 15 when executed by a processor.

20. A computer program product, wherein: The computer program product comprises: a computer program code, which, when executed by one or more processors, enables a device comprising the processor to perform the method according to any one of claims 1 to 15.

Citation Information

Patent Citations

  • Data anti-leakage method based on operating system virtualization principle

    CN102004886A

  • Software running control method and device

    CN103309666A

  • Software configuration reading method and device, software configuration writing method and device and electronic equipment

    CN114238994A

  • Starting item management method and device, equipment, storage medium and program product

    CN115858042A

  • Method and system for configuration of virtualized software applications

    US20100037206A1