Multi-version software execution management device and method based on environment isolation technology

The multi-version software execution management device based on environment isolation technology solves the version conflict and dependency conflict problems of multi-version software under Windows system, realizes one-click switching of independent operating environments and automatic dependency conflict resolution, and improves user experience.

CN120803566AInactive Publication Date: 2025-10-17BGP INC CHINA NAT PETROLEUM CORP +2
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202511319269.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-16
Publication Date
2025-10-17
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Under the Windows operating system, multi-version software can easily lead to version conflicts, chaotic environment variables, tight dependency coupling, and low management efficiency during installation and operation. Existing technical solutions are not user-friendly and lack a unified version status monitoring tool.

Method used

A multi-version software execution management device based on environment isolation technology is adopted, including an environment configuration module, an isolated execution module and a user interface. It realizes the isolation and management of the software environment through version scanning, sandbox generation, dependency analysis, environment variable management and virtual file system.

Benefits of technology

It realizes the independent operation environment of multiple versions of software, supports one-click switching, automatically resolves dependency conflicts, improves user experience, ensures that different versions of software do not affect each other, and simplifies user operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120803566A_ABST
    Figure CN120803566A_ABST
Patent Text Reader

Abstract

The invention provides a multi-version software execution management device and method based on an environment isolation technology, and relates to the technical field of software execution management and geophysical exploration, the device comprises an environment configuration module, an isolation execution module and a user interface; the environment configuration module is used for detecting and initializing a software operation environment; the isolation execution module is used for loading an environment configuration cache, injecting a version isolation strategy to a new process, hanging the version isolation strategy on a virtual file system layer and redirecting system API calling; and the user interface is used for displaying a software main control interface. According to the scheme provided by the invention, multi-version software operation environment isolation of different versions is combined with the user interface, so that the effect of switching different versions by one key is achieved, dependency conflicts can be automatically solved, a user can simultaneously open software of different versions in a Windows system, the user does not need to carry out complex operation, and the user experience is improved. And different versions are mutually independent and do not influence each other, so that the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of software execution management and geophysical exploration, and particularly relates to a multi-version software execution management device and method based on environment isolation technology. BACKGROUND

[0002] In the process of software execution, taking the Windows operating system as an example, because different versions of software will share and cover system-level components (such as DLL dynamic link library, COM object, registry item) in the installation process, version conflicts are easily caused. For example, installing Python 3.11 may cover the key system files of Python 3.8, causing “DLL missing” or “class not registered” errors when the old version of software runs, and in severe cases, even causing software crashes or data damage, and this environmental pollution is usually difficult to clean up completely, and users often need to restore the system or reinstall the operating system to recover the environment.

[0003] Multiple versions of software will compete to modify global environment variables (such as PATH, JAVA_HOME), causing variable coverage and path confusion. For example, if Node.js 14 and Node.js 18 are installed at the same time, the PATH variable may be incorrectly pointed to a non-target version, which will cause version confusion when executing the npm command on the command line. In addition, different software lacks an isolation mechanism for reading and writing the same environment variable, further exacerbating configuration conflicts, and users need to frequently manually adjust variable priorities, which is complex and prone to errors.

[0004] Old software needs to rely on a specific version of the running environment (such as.NET Framework 3.5, Visual C++ 2008 runtime library), and the new version of the system may only support higher version frameworks by default. For example, a system relies on.NET 2.0, but in Windows 11, the “old component” function needs to be enabled, and the function may still be abnormal due to API changes. This version coupling forces users to choose between “upgrading the system” and “retaining old software”, hindering technical iteration.

[0005] The existing solutions in the prior art, such as modifying the registry path and using the setx command to switch environment variables, usually require high-intensity manual intervention, which is extremely unfriendly to ordinary users. For example, Java developers need to manually edit the JAVA_HOME variable and restart the terminal to switch the JDK version, and multiple versions of Photoshop need to modify the installation path identifier through the registry. Such operations have the risk of mistakenly deleting registry items, variable residues, and lack of unified version state monitoring tools, and the management efficiency is low.

[0006] In summary, in view of the technical defects existing in the multi-version software management under the Windows system, a scheme suitable for multi-version software execution management is urgently needed to solve the problem of compatible running of multi-version software under the Windows operating system environment. SUMMARY

[0007] The application shows a multi-version software execution management device and method based on environment isolation technology.

[0008] In the first aspect, the application shows a multi-version software execution management device based on environment isolation technology, which comprises an environment configuration module, an isolation execution module and a user interface. The environment configuration module detects and initializes the software running environment. The isolation execution module loads the environment configuration cache, injects the version isolation strategy into the new process, hangs in the virtual file system layer, and redirects the system API call. The user interface displays the software master interface.

[0009] Optionally, the environment configuration module comprises a version scanner, a sandbox generator and a dependency analyzer; wherein, The version scanner identifies the installed software version based on the registry depth traversal algorithm and the file feature code matching technology. The sandbox generator creates an independent sandbox for each version and generates a virtualized registry and an environment template inheritance. The dependency analyzer traces and records the system resources called by the software during software running, and generates a dependency graph.

[0010] Optionally, the isolation execution module comprises an environment variable manager, a virtual file system and a process monitor; wherein, The environment variable manager injects the isolation environment variable at the process creation time by using the dynamic injection mechanism, generates a unique color identification for each environment, and is used for quickly tracing the variable source in the mixed log. The virtual file system realizes file operation management based on path redirection and hierarchical filtering. The process monitor realizes the isolation between the child process and the inherited parent process by controlling the child process.

[0011] Optionally, the user interface module comprises a version matrix view, an intelligent starter and an environment monitoring panel; wherein, The version matrix view is sorted according to the software release time in the time axis mode, and the version compatibility is labeled. The intelligent starter generates a shortcut by icon superposition version identification. The environment monitoring panel, statistics software application information.

[0012] In a second aspect, the application shows a multi-version software execution management method based on environment isolation technology, applied to the device as described above, the method comprising: Detecting and initializing the software running environment by using the environment configuration module; Loading the environment configuration cache based on the isolation execution module, injecting the version isolation strategy into the new process, hanging in the virtual file system layer, and redirecting the system API call; Displaying the software main control interface through the user interface.

[0013] Optionally, the step of detecting and initializing the software running environment by using the environment configuration module comprises: Using the version scanner and identifying the installed software version based on the registry depth traversal algorithm and file feature code matching technology; Using the sandbox generator and creating an independent sandbox for each version, generating a virtualized registry and environment template inheritance; Using the dependency analyzer, tracking and recording the system resources called by the software during software running, and generating a dependency graph.

[0014] Optionally, the step of loading the environment configuration cache based on the isolation execution module, injecting the version isolation strategy into the new process, hanging in the virtual file system layer, and redirecting the system API call comprises: Using the environment variable manager, based on the dynamic injection mechanism, injecting the isolation environment variable at the process creation time, generating a unique color identification for each environment, which is used for quickly tracing the variable source in the mixed log; Using the virtual file system and implementing file operation management based on path redirection and hierarchical filtering; Using the process monitor and achieving the isolation between the child process and the inherited parent process by controlling the child process.

[0015] Optionally, the step of displaying the software main control interface through the user interface comprises: Through the version matrix view, sorting the software release time in the time axis mode and marking the version compatibility; Using the intelligent starter, generating a shortcut by icon superposition version identification; Using the environment monitoring panel, statistics software application information.

[0016] In a third aspect, the application shows an electronic device, comprising: a processor; a memory for storing processor executable instructions; wherein the processor is configured to execute the method of any of the above aspects.

[0017] In a fourth aspect, the present application shows a non-transitory computer readable storage medium, when instructions in the storage medium are executed by a processor of an electronic device, the electronic device can execute the method of any one of the above aspects.

[0018] In a fifth aspect, the present application shows a computer program product, when instructions in the computer program product are executed by a processor of an electronic device, the electronic device can execute the method of any one of the above aspects.

[0019] The technical solutions provided by the present application can include the following beneficial effects: The solutions provided by the present application isolate different versions of multi-version software running environment and combine with user interface, achieve the effect of one-key switching different versions, and can also automatically solve dependency conflicts, so as to realize that the user opens different versions of software in the Windows system at the same time, without the user's complex operation, ensuring that different versions are independent and do not affect each other, and improving the user experience. BRIEF DESCRIPTION OF DRAWINGS

[0020] Figure 1 A structural diagram of the multi-version software execution management device based on environment isolation technology provided by the present application is shown; Figure 2 An architectural diagram of the multi-version software execution management device based on environment isolation technology provided by the present application is shown; Figure 3 A software version management interface schematic diagram of the multi-version software execution management device based on environment isolation technology provided by the present application is shown; Figure 4 A flowchart of the multi-version software execution management method based on environment isolation technology provided by the present application is shown; Figure 5 An environment isolation implementation sequence diagram of the multi-version software execution management method based on environment isolation technology provided by the present application is shown; Figure 6 A block diagram of an electronic device provided by the present application is shown; Figure 7 A block diagram of another electronic device provided by the present application is shown. DETAILED DESCRIPTION

[0021] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of the present application.

[0022] As the foregoing, in view of the technical defects existing in the management of multi-version software under the Windows system, the application provides a multi-version software execution management device and method based on environment isolation technology, which is suitable for the scheme of multi-version software execution management, so as to solve the problem of compatible running of multi-version software under the Windows operating system environment.

[0023] It should be noted that the application relates to the field of geophysical exploration, belongs to the software platform technology class in the seismic software, and provides a multi-version software execution management device and method based on environment isolation technology, which is especially suitable for compatible running management of multi-version software under the Windows operating system environment. The multi-version software execution management device based on environment isolation technology provided by the application will be described below with reference to the accompanying drawings.

[0024] Embodiment one Reference Figure 1 A structural diagram of the multi-version software execution management device based on environment isolation technology provided by the application is shown, and the device comprises an environment configuration module 110, an isolated execution module 120 and a user interface 130. The environment configuration module 110 performs software running environment detection and initialization. The isolated execution module 120 loads the environment configuration cache, injects the version isolation strategy into the new process, hangs in the virtual file system layer, and redirects the system API call. The user interface 130 displays the software master interface.

[0025] As known from the above, the application provides a visual management software execution environment isolation device, which can realize independent environment configuration of multi-version software, one-key version switching function, automatic dependence conflict resolution and dynamic management of system-level environment variables.

[0026] Please see Figure 2 The architecture diagram of the multi-version software execution management device based on environment isolation technology provided by the application is shown, and the specific structure of the device embodiment will be described below. Figure 1

[0027] In one case, the environment configuration module 110 comprises a version scanner, a sandbox generator and a dependence analyzer; wherein the version scanner identifies the installed software version based on the registry depth traversal algorithm and the file feature code matching technology; the sandbox generator creates an independent sandbox for each version, generates a virtualized registry and an environment template inheritance; and the dependence analyzer traces and records the system resources (such as loaded DLL, accessed registry item, etc.) called by the software during software running, and generates a dependence graph.

[0028] ​In one aspect, the isolated execution module 120 comprises an environment variable manager, a virtual file system, and a process monitor; wherein the environment variable manager injects an isolated environment variable at process creation time using a dynamic injection mechanism, generates a unique color identifier for each environment, and uses the color identifier to quickly trace the source of the variable in a mixed log; the virtual file system implements file operation management based on path redirection and hierarchical filtering; and the process monitor implements isolation between a child process and an inherited parent process by controlling the child process, such as environment inheritance lock and API interception.

[0029] Specifically, as shown in Figure 2 , the execution engine of the isolated execution module can implement file isolation through a virtual file system, implement variable management through an environment variable isolator, and implement process control through a process monitor.

[0030] In one aspect, the user interface module 130 comprises a version matrix view, an intelligent launcher, and an environment monitoring panel; wherein the version matrix view sorts software release times in a timeline mode and labels version compatibility; the intelligent launcher generates shortcuts by icon superimposition version identification; and the environment monitoring panel counts software application information.

[0031] Please refer to Figure 3 , the software version management interface of the multi-version software execution management device based on environment isolation technology provided in the present application can comprise a version list area, a scrollable list for displaying each software version; an environment detail area for displaying current environment variables, registry configurations, and virtual file system paths; an operation control panel for displaying environment snapshots, advanced configurations, and start buttons; and a status bar for displaying memory occupation information and switching time consumption. It should be noted that Figure 3 This is only one preferred implementation provided in the present application and should not be understood as a limitation of the present application.

[0032] The present application combines the running environment isolation of multi-version software of different versions and the user interface to achieve the effect of one-key switching of different versions, and can automatically solve dependency conflicts, thereby realizing that the user can simultaneously open different versions of software in the Windows system without complex operations, ensuring that different versions are independent and do not affect each other, and improving the user experience.

[0033] Next, the multi-version software execution management method based on environment isolation technology provided in the present application will be described.

[0034] Embodiment Two Please refer to Figure 4A flowchart of a multi-version software execution management method based on an environment isolation technology provided in the present application can be applied in an electronic device, and the method can specifically include the following steps: Step S201: Perform software running environment detection and initialization using an environment configuration module.

[0035] Specifically, a version scanner can be used to identify installed software versions based on a registry deep traversal algorithm and a file signature matching technology; a sandbox generator can be used to create an independent sandbox for each version, generate a virtualized registry, and inherit an environment template; and a dependency analyzer can be used to track and record system resources called by software during software running, and generate a dependency graph.

[0036] Step S202: Load an environment configuration cache based on an isolation execution module, inject a version isolation strategy into a new process, and hang in a virtual file system layer, and redirect system API calls.

[0037] In a preferred implementation, an environment variable manager can be used to inject an isolation environment variable at process creation based on a dynamic injection mechanism, generate a unique color identifier for each environment, and use the color identifier to quickly trace the source of the variable in a mixed log; a virtual file system can be used to implement file operation management based on path redirection and hierarchical filtering; and a process monitor can be used to achieve isolation between a child process and an inherited parent process by controlling the child process.

[0038] Step S203: Display a software main control interface through a user interface.

[0039] Specifically, a version matrix view can be used to sort software release times in a time axis mode and mark version compatibility; an intelligent launcher can be used to generate a shortcut by icon superposition and version identification; and an environment monitoring panel can be used to count software application information.

[0040] The scheme provided in the present application combines different versions of multi-version software running environments and user interfaces to achieve one-key switching of different versions, and can automatically solve dependency conflicts, thereby enabling a user to simultaneously open different versions of software in a Windows system without complex operations, ensuring that different versions are independent and do not affect each other, and improving user experience.

[0041] It should be noted that, for the method embodiments, the series of action combinations are described for simplicity, but those skilled in the art should know that the present application is not limited by the action order described, because some steps can be performed in other orders or simultaneously according to the present application. In addition, those skilled in the art should know that the embodiments described in the specification are all optional embodiments, and the actions involved are not necessarily required by the present application.

[0042] For the convenience of understanding, the following will take the case of installing GeoEast-RC 2.0 and 2.1 versions in Windows environment at the same time as an example to further illustrate the implementation of the present application, please refer to Figure 5 The environment isolation implementation sequence diagram of the multi-version software execution management method based on environment isolation technology provided in the present application.

[0043] The present application scheme is applicable to the field of geophysical exploration, and can be particularly applicable to seismic software such as GeoEast. It should be noted that the present application scheme does not limit the specific software of different versions, that is, it is applicable to various software, and can achieve the effects of running environment isolation and one-key switching of different versions. Step one, start the application program provided by the present application scheme.

[0044] It should be noted that the multi-version software execution management device and method based on environment isolation technology provided in the present application can be embodied in the form of an application program, that is, it can be an application program in the multi-version software execution management device based on environment isolation technology provided in the present application, or it can be an application program implemented by applying the multi-version software execution management method based on environment isolation technology provided in the present application.

[0045] S11, version scanning. Deep scanning of the registry, using RegOpenKeyEx and RegEnumKeyEx to traverse the registry branch to obtain the installed software version. Or through file characteristic code matching, obtain the executable file version information.

[0046] S12, sandbox generator construction. Create an isolated environment directory, including two aspects: create a directory connection to avoid repeated storage of files; set ACL permissions to prohibit unauthorized processes from accessing directories outside the sandbox. Set TEMP and other directories specific to each version.

[0047] S13, generate isolated registry and PATH environment variables. Adopt registry virtualization technology and environment variable injection technology to generate isolated environments for different versions.

[0048] S14, cache environment configuration.

[0049] Step two, start the application. Click the GeoEast-RC 2.0 or 2.1 icon to start GeoEast-RC.

[0050] S21, load environment configuration cache. Adopt pre-reading strategy to load commonly used version configuration in advance according to user usage habits. Through cache loading, realize software fast start.

[0051] S22, inject version isolation strategy to new process. Windows system defaults sub-process to inherit parent process environment, leading to pollution diffusion, and needs to create independent secure context for each process. Realize process level environment isolation.

[0052] S23, mount virtual file system layer. Avoid multi-version software DLL file conflict, at the same time avoid redundant storage, and ensure isolation.

[0053] S24, redirect system API call. Software conflict in Windows system is mainly caused by unisolated API call, seamlessly take over key system service call, compatible system call and support mixed environment.

[0054] Step three, display GeoEast-RC 2.0 main control interface.

[0055] So far, the independent running of different versions of GeoEast-RC software is completed. As can be seen from the specific example, in the running process of the seismic software GeoEast-RC, by combining the running environment isolation of different versions of multi-version software and the user interface, the effect of one-key switching of different versions is achieved, and the dependent conflict can be automatically solved, so that the user can open different versions of software in the Windows system at the same time without complex operation, ensuring that different versions are independent and do not affect each other, and improving the user experience.

[0056] Embodiment three Optionally, the embodiment of the application further provides an electronic device, including: a processor, a memory, a computer program stored in the memory and executable on the processor, which implements each process of the above-mentioned method embodiment when executed by the processor and achieves the same technical effect. To avoid repetition, this will not be repeated here.

[0057] The embodiment of the application further provides a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement each process of the above-mentioned method embodiment and achieve the same technical effect. To avoid repetition, this will not be repeated here. The computer readable storage medium includes read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc.

[0058] Figure 6 A block diagram of an electronic device 800 is provided. For example, the electronic device 800 can be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0059] Referring to Figure 6 The electronic device 800 can include one or more of the following components: a processing component 802, a memory 804, a power supply component 806, a multimedia component 808, an audio component 810, an input / output (I / O) interface 812, a sensor component 814, and a communication component 816.

[0060] The processing component 802 usually controls overall operations of the electronic device 800, such as operations associated with displaying, making phone calls, data communications, camera operations and recording operations. The processing component 802 can include one or more processors 820 to execute instructions to complete all or part of steps of the above methods. In addition, the processing component 802 can include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0061] The memory 804 is configured to store various types of data to support operations of the electronic device 800. Examples of these data include instructions for any application or method operating on the electronic device 800, contact data, phonebook data, messages, images, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage devices or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.

[0062] The power supply component 806 provides power to various components of the electronic device 800. The power supply component 806 can include a power supply management system, one or more power supplies, and other components associated with generating, managing and distributing power for the electronic device 800.

[0063] The multimedia component 808 includes a screen to provide an output interface between the electronic device 800 and a user. In some embodiments, the screen can include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense a touch, a slide, and a gesture on the touch panel. The touch sensor can not only sense a boundary of a touching or a sliding action, but also detect duration and pressure related to the touching or sliding action. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. The front camera and / or the rear camera can receive external multimedia data when the electronic device 800 is in an operating mode, such as a shooting mode or a video mode. Each of the front and rear camera can be a fixed optical lens system or have a focal length and optical zooming capability.

[0064] The audio component 810 is configured to output and / or input an audio signal. For example, the audio component 810 includes a microphone (MIC) to receive an external audio signal when the electronic device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal can be further stored in the memory 804 or transmitted via the communication component 816. In some embodiments, the audio component 810 further includes a speaker to output an audio signal.

[0065] The I / O interface 812 provides an interface between the processing component 802 and peripheral interface modules, which can be a keypad, a click wheel, buttons, and the like. The buttons can include, but are not limited to, a home button, a volume button, a start button, and a lock button.

[0066] The sensor component 814 includes one or more sensors to provide various state assessments for the electronic device 800. For example, the sensor component 814 can detect an open / closed state of the device 800, relative positioning of components, such as a display and a keypad of the electronic device 800, a change in position of the electronic device 800 or a component of the electronic device 800, presence or absence of user contact with the electronic device 800, an orientation or acceleration / deceleration of the electronic device 800, and a temperature change of the electronic device 800. The sensor component 814 can include a proximity sensor configured to detect presence of a nearby object without any physical touch. The sensor component 814 can further include a light sensor such as a CMOS or CCD image sensor for use in an imaging application. In some embodiments, the sensor component 814 can further include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0067] The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 can access a wireless network based on a communication standard, such as WiFi, a cellular network (e.g., 2G, 3G, 4G or 5G), or a combination thereof. In an example embodiment, the communication component 816 receives broadcast signals or broadcast operation information from an external broadcast management system via a broadcast channel. In an example embodiment, the communication component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on Radio Frequency Identification (RFID) techniques, infrared data association (IrDA) techniques, ultra-wideband (UWB) techniques, Bluetooth (BT) techniques and other techniques.

[0068] In an example embodiment, the electronic device 800 can be implemented with one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic elements, for performing the above-described methods.

[0069] In an example embodiment, a non-transitory computer-readable storage medium including instructions, such as the memory 804 including instructions, is also provided, which can be executed by the processor 820 of the electronic device 800 to complete the above-described methods. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disc, and an optical data storage device, etc.

[0070] Embodiment Four Figure 7 Another block diagram of an electronic device 1900 is provided for the present application. For example, the electronic device 1900 can be provided as a server.

[0071] Reference Figure 7 The electronic device 1900 includes a processing component 1922, which further includes one or more processors, and memory resources represented by a memory 1932, for storing instructions, such as application programs, executable by the processing component 1922. The application programs stored in the memory 1932 can include one or more modules each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute the instructions to perform the above-described methods.

[0072] The electronic device 1900 can further include a power supply component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input / output (I / O) interface 1958. The electronic device 1900 can operate based on an operating system stored in the memory 1932, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, or the like.

[0073] Embodiment Five In a fifth aspect, a computer program product is shown, which, when instructions in the computer program product are executed by a processor of an electronic device, enables the electronic device to perform the method according to any one of the preceding aspects.

[0074] It should be noted that, in the present document, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises a", "comprising", or "includes a", "including" does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises, includes, or is implemented with such element.

[0075] Those skilled in the art can clearly understand the above-mentioned embodiment method by means of software and necessary general hardware platform, of course, it can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, or optical disk) and includes a plurality of instructions for causing a terminal (which can be a mobile phone, computer, server, air conditioner, or network device) to execute the methods described in the various embodiments of the present application.

[0076] The embodiments of the present application are described above with reference to the accompanying drawings, but the present application is not limited to the specific embodiments described above, which are merely illustrative rather than restrictive, and those of ordinary skill in the art can make many forms without departing from the purpose of the present application and the scope protected by the claims.

[0077] Those skilled in the art can clearly understand the unit and algorithm steps of each example described in combination with the embodiments disclosed in the present application can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized in hardware or software manner depends on the specific application and design constraints of the technical solution. The skilled person can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0078] Those skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.

[0079] In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented by other ways. For example, the apparatus embodiments described above are only schematic, for example, the division of the units is only a logical function division, and there can be another division manner in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interface, device or unit, and can be electrical, mechanical or other forms.

[0080] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the present embodiment.

[0081] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit.

[0082] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the parts that contribute to the prior art or parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes various media that can store program codes, such as a U disk, a mobile hard disk, a ROM, a RAM, a magnetic disk or an optical disk, etc.

[0083] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A multi-version software execution management device based on environment isolation technology, characterized in that: The device includes: an environment configuration module, an isolation execution module and a user interface; The environment configuration module performs software operating environment detection and initialization; The isolation execution module loads the environment configuration cache, injects the version isolation policy into the new process, hangs on the virtual file system layer, and redirects system API calls; The user interface displays the software main control interface.

2. The multi-version software execution management device based on environment isolation technology according to claim 1, characterized in that: The environment configuration module includes: a version scanner, a sandbox generator and a dependency analyzer; wherein, The version scanner identifies the installed software version based on a registry deep traversal algorithm and file signature matching technology; The sandbox generator creates an independent sandbox for each version and generates a virtualized registry and environment template inheritance; The dependency analyzer tracks and records the system resources called by the software when the software is running, and generates a dependency graph.

3. The multi-version software execution management device based on environment isolation technology according to claim 1, characterized in that: The isolation execution module includes: an environment variable manager, a virtual file system and a process monitor; wherein, The environment variable manager uses a dynamic injection mechanism to inject isolated environment variables when a process is created, and generates a unique color identifier for each environment for quickly tracing the source of the variable in mixed logs; The virtual file system implements file operation management based on path redirection and hierarchical filtering; The process monitor controls the child process to isolate the child process from the inherited parent process.

4. The multi-version software execution management device based on environment isolation technology according to claim 1, characterized in that: The user interface module includes: version matrix view, smart launcher and environment monitoring panel; wherein, The version matrix view is sorted by software release time in a timeline mode and marked with version compatibility; The smart launcher generates a shortcut by superimposing the version identifier on the icon; The environmental monitoring panel counts software application information.

5. A multi-version software execution management method based on environment isolation technology, characterized in that: Applied to the apparatus according to any one of claims 1 to 4, the method comprises: Use the environment configuration module to detect and initialize the software operating environment; Based on the isolated execution module, the environment configuration cache is loaded, the version isolation policy is injected into the new process, and it is mounted on the virtual file system layer, and the system API calls are redirected; The software main control interface is displayed through the user interface.

6. The multi-version software execution management method based on environment isolation technology according to claim 5 is characterized in that: The step of using the environment configuration module to detect and initialize the software operating environment includes: Utilizes version scanner to identify installed software versions based on deep registry traversal algorithm and file signature matching technology; Use the sandbox generator to create an independent sandbox for each version, generate a virtualized registry and environment template inheritance; Use the dependency analyzer to track and record the system resources called by the software during software runtime and generate a dependency graph.

7. The multi-version software execution management method based on environment isolation technology according to claim 5, characterized in that: The steps of loading the environment configuration cache based on the isolation execution module, injecting the version isolation policy into the new process, hanging it in the virtual file system layer, and redirecting the system API call include: Utilize the environment variable manager, based on a dynamic injection mechanism, to inject isolated environment variables when a process is created. Generate a unique color identifier for each environment, which can be used to quickly trace the source of the variable in mixed logs. Utilizes a virtual file system and implements file operation management based on path redirection and hierarchical filtering; The process monitor is used to isolate the child process from the inherited parent process by controlling the child process.

8. The multi-version software execution management method based on environment isolation technology according to claim 5, characterized in that: The step of displaying the software main control interface through the user interface includes: Use the version matrix view to sort software by release date in timeline mode and mark version compatibility; Use the smart launcher to overlay the version logo on the icon to generate a shortcut; Use the environmental monitoring panel to collect statistics on software application information.

9. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the method according to any one of claims 5 to 8 when executed by the processor.

10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which implements the method according to any one of claims 5 to 8 when executed by a processor.

11. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device implements the method according to any one of claims 5 to 8.

Citation Information

Patent Citations

  • Multi-version application running method, computing device and storage medium

    CN114217904A

  • Application software cross-version compatible operation method, system and device and storage medium

    CN114780950A

  • Method and device for isolating multiple version dependency

    WO2020063252A1