WO2026007725A1 - Procédé et appareil de traitement de données, dispositif électronique, support de stockage lisible par ordinateur et produit programme informatique - Google Patents

Procédé et appareil de traitement de données, dispositif électronique, support de stockage lisible par ordinateur et produit programme informatique

Info

Publication number
WO2026007725A1
WO2026007725A1 PCT/CN2025/102678 CN2025102678W WO2026007725A1 WO 2026007725 A1 WO2026007725 A1 WO 2026007725A1 CN 2025102678 W CN2025102678 W CN 2025102678W WO 2026007725 A1 WO2026007725 A1 WO 2026007725A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
function
management unit
initial
function management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/CN2025/102678
Other languages
English (en)
Chinese (zh)
Inventor
郑豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Alicloud Apsara Information Technology Co Ltd
Cloud Intelligence Singapore Holding Pvt Ltd
Original Assignee
Hangzhou Alicloud Apsara Information Technology Co Ltd
Cloud Intelligence Singapore Holding Pvt Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Alicloud Apsara Information Technology Co Ltd, Cloud Intelligence Singapore Holding Pvt Ltd filed Critical Hangzhou Alicloud Apsara Information Technology Co Ltd
Publication of WO2026007725A1 publication Critical patent/WO2026007725A1/fr
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Definitions

  • This disclosure relates to the field of computer technology, and in particular to data processing methods and systems, computing devices, computer-readable storage media, and computer program products.
  • a target file structure corresponding to the data processing request is determined, wherein the target file structure contains a first pointer to a global virtual operation function set;
  • the global virtual operation function set is determined based on the first pointer, and the target field in the global file structure that points to the target operation function in the target function management unit is determined based on the second pointer in the global virtual operation function set that corresponds to the data processing request.
  • the target function management unit is obtained by upgrading the initial function management unit.
  • Data processing for the target device is performed according to the target operation function.
  • a target file structure corresponding to the data processing request is determined, wherein the target file structure contains a first pointer to a global virtual operation function set;
  • the global virtual operation function set is determined based on the first pointer, and the target field in the global file structure that points to the target operation function is determined based on the second pointer contained in the global virtual operation function set that corresponds to the data processing request.
  • Data processing for the target device is performed according to the target operation function.
  • a data processing system including an entry management unit and a function management unit, wherein...
  • the entry management unit is configured to, in response to a data processing request for a target device, determine the target file structure corresponding to the data processing request, wherein the target file structure contains a first pointer to a global virtual operation function set.
  • the global virtual operation function set is determined based on the first pointer, and the target field in the global file structure that points to the target operation function in the target function management unit is determined based on the second pointer in the global virtual operation function set that corresponds to the data processing request.
  • the target function management unit is obtained by upgrading the initial function management unit.
  • the function management unit is used to perform data processing for the target device according to the target operation function.
  • a computing device comprising:
  • the memory is used to store computer programs/instructions
  • the processor is used to execute the computer programs/instructions, which, when executed by the processor, implement the steps of the above-described data processing method.
  • a computer-readable storage medium stores a computer program/instructions that, when executed by a processor, implement the steps of the data processing method described above.
  • a computer program product including a computer program/instructions that, when executed by a processor, implement the steps of the data processing method described above.
  • This disclosure provides a data processing method in one embodiment.
  • the method involves pointing a first pointer of a target file structure to a global virtual operation function set. Based on a second pointer within this global virtual operation function set, corresponding to a data processing request, a target field in the global file structure pointing to a target operation function in a target function management unit can be determined.
  • the target function management unit is obtained by upgrading an initial function management unit. Therefore, the target operation function in the target function management unit is determined based on the target field.
  • This method eliminates the need to modify the target file structure or the global virtual operation function set, reducing maintenance and query overhead. Since the target operation function is the operation function corresponding to the upgraded and optimized target function management unit, data processing for the target device can be performed more effectively and quickly based on the target operation function.
  • Figure 1 is a schematic diagram of a data processing method provided in an embodiment of this disclosure
  • FIG. 2 is a flowchart of a data processing method provided in an embodiment of this disclosure
  • FIG. 3 is a flowchart of another data processing method provided in an embodiment of this disclosure.
  • Figure 4 is a flowchart of a data processing method for hot module upgrades under a virtualization architecture, provided by an embodiment of this disclosure.
  • Figure 5 is a schematic diagram of the structure of a data processing system provided in an embodiment of this disclosure.
  • Figure 6 is a structural block diagram of a computing device provided in an embodiment of this disclosure.
  • first, second, etc. may be used to describe various information in one or more embodiments of this disclosure, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this disclosure, and similarly, second may also be referred to as first.
  • word “if” as used herein may be interpreted as “when”, “in response to a determination”, or “when...”.
  • the user information including but not limited to user device information, user personal information, etc.
  • data including but not limited to data used for analysis, stored data, displayed data, etc.
  • the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
  • the ⁇ file ⁇ structure Whenever a device file is opened by a process, the kernel creates a ⁇ file ⁇ structure, also known as a file descriptor structure, to represent the opened file.
  • This ⁇ file ⁇ structure contains all the necessary information about the file's operation status, such as the file's current read/write position, the file's open mode (e.g., read-only, write-only, or read-write), the file permissions associated with the file, and a pointer to a ⁇ file_operations ⁇ structure, which contains all the function pointers needed to perform file operations (such as read, write, open, close, etc.).
  • the file_operations structure is a core part of Linux device drivers. This structure defines a series of function pointers that point to functions that implement specific file operations (such as open, read, write, close, etc.). Each device or file type has an associated file_operations structure instance in the kernel, which tells the kernel how to handle various operation requests for that type of file.
  • a .ko file is a module file, which is the file format of Linux kernel modules (Kernel Objects).
  • kernel modules are loadable, executable code that can be dynamically inserted into or removed from the kernel at runtime without recompiling the entire kernel.
  • This directory contains all the external devices used in the Linux system, but it does not contain the drivers for these external devices. Instead, it contains ports for accessing these external devices and files.
  • /dev/tj This is a character device file accessed from user space. Operations on character device files are mapped to specific module implementations through the above hierarchical structure.
  • file_operation A collection of file operations, a key data structure that associates system calls with drivers. Each member of this structure corresponds to a system call.
  • cdev.ops Character device driver, using a structure cdev to describe a device.
  • the structure contains a device number of type dev_t and a file operation set file_operations structure associated with the device.
  • Character devices are devices that transmit data in units of characters during I/O (Input/Output) transfers, such as keyboards and printers.
  • I/O Input/Output
  • character devices occupy a position in the file directory tree and have a corresponding node as special files.
  • RCU lock Read Copy Update
  • the characteristic of RCU is that multiple readers can read shared data simultaneously, while when an updater updates the shared data, it needs to make a copy, modify the copy, and then replace the original shared data with the new copy. The destruction (release) of the old data is waited until all readers no longer reference the old data.
  • the tj_g structure is a global structure whose fops field dynamically points to the file_operations structure of the currently active module (such as tj_hv_0.ko or tj_hv_1.ko).
  • the old and new modules each implement the file_operations structure and define actual operation functions, such as open, close, read and write.
  • the kernel corresponds to a ⁇ file ⁇ structure, and the device operation functionality is contained in the ⁇ f_op ⁇ field of this ⁇ file ⁇ structure.
  • the ⁇ file_operations ⁇ operations for the virtualization architecture are associated with the ⁇ f_op ⁇ field of this ⁇ file ⁇ structure. Therefore, if updating the ⁇ file_operations ⁇ operations for the virtualization architecture is required, the operation functions associated with the ⁇ f_op ⁇ fields of the already opened ⁇ file ⁇ structures can be updated to the new operation set ⁇ new_file_operations ⁇ .
  • each ⁇ file ⁇ structure generated for opening a device file needs to be saved, and the ⁇ f_op ⁇ field of each ⁇ file ⁇ structure needs to be updated. If there are many processes using virtualization devices, the overhead of maintenance and querying operations becomes very large.
  • This disclosure provides two data processing methods, and also relates to a data processing system, a computing device, a computer-readable storage medium, and a computer program product, which will be described in detail in the following embodiments.
  • Figure 1 shows a scenario diagram of a data processing method provided according to an embodiment of the present disclosure.
  • the data processing method is implemented using a data processing system, which includes an entry management unit 102 and a function management unit 104.
  • the entry management unit 102 provides a simple operation entry point, does not undertake specific virtualization functions, and basically does not require hot upgrades. Therefore, in the case of hot upgrades to the data processing system, hot upgrades can be performed on the function management unit 104, replacing the initial function management unit before the upgrade with the upgraded target function management unit.
  • the entry management unit 102 is used to respond to a data processing request for a target device, determine the target file structure corresponding to the data processing request, wherein the target file structure contains a first pointer to a global virtual operation function set, the global virtual operation function set is determined according to the first pointer, and a target field in the global file structure pointing to a target operation function in the target function management unit is determined according to a second pointer contained in the global virtual operation function set corresponding to the data processing request, and the target operation function is determined according to the target field.
  • the target operation function replaces the initial operation function corresponding to the original function management unit; the function management unit 104 is used to perform data processing for the target device according to the target operation function.
  • This disclosure provides a data processing method in one embodiment.
  • a target field in the global file structure pointing to a target operation function in a target function management unit can be determined.
  • the target function management unit is obtained by upgrading an initial function management unit. Based on the target field, the target operation function in the target function management unit is determined.
  • This method does not require modification of the target file structure or the global virtual operation function set, reducing the overhead of maintenance and query operations. Since the target operation function is the upgraded and optimized target function management unit and its corresponding operation function, data processing for the target device can be performed more effectively and quickly based on the target operation function.
  • FIG. 2 shows a flowchart of a data processing method provided in an embodiment of the present disclosure, the method specifically includes the following steps.
  • the data processing request for the target device can be understood as a request initiated by an application or system component to interact with a specific hardware device, such as a data processing request to read data from a hard drive or send a print job to a printer. These requests are initiated through system calls (such as read(), write(), ioctl(), etc.) and processed by the kernel.
  • system calls such as read(), write(), ioctl(), etc.
  • the target file structure can be understood as a file structure object in the kernel, which represents an open file or device.
  • the kernel creates such a file structure. It contains all relevant information about the currently open file, such as file offset and access mode (read, write, etc.).
  • the first pointer can be understood as a member of the target file structure, usually named f_op or a similar name. It is a pointer to the global virtual operation function set.
  • the global virtual operation function set can be understood as a global data structure that defines a series of function pointers. Each function pointer points to a general or abstract device operation function (such as open, close, mmap, ioctl, etc.). This global virtual operation function set acts as an intermediary layer, connecting the specific device operation logic.
  • this disclosure provides a virtualization architecture that includes an entry management module and a function management module.
  • the entry management module provides a simple operation entry point and does not undertake specific virtualization functions. Its functions are relatively simple and there is basically no need for hot upgrades.
  • the function management module undertakes specific virtualization functions and is responsible for various virtualization functions. Its logic is more complex and it is also the place where problems are more likely to occur.
  • the architecture evolves, its functions will become more and more complex, and the need for hot upgrades will become urgent.
  • an entry management module provides the entry point for the virtualization architecture, which can be fixed as /dev/tj (a device file for a character device); the other function management module is responsible for specific function management tasks.
  • Step 204 Determine the global virtual operation function set according to the first pointer, and determine the target field in the global file structure that points to the target operation function in the target function management unit according to the second pointer contained in the global virtual operation function set that corresponds to the data processing request, wherein the target function management unit is obtained by upgrading the initial function management unit.
  • the initial function management unit can be understood as the function management module before the upgrade; the target function management unit can be understood as the function management module after the initial function management unit has been upgraded.
  • the second pointer can be understood as a function pointer defined in the global virtual operation function set.
  • the global file structure can be understood as a global structure, and its target field stores the actual device operation function set.
  • the target field can be understood as pointing to the actual device operation function set.
  • the target operation function can be understood as the device operation function in the current actual device operation function set.
  • Step 206 Determine the target operation function based on the target field.
  • the target field of the global structure points to the target operation function in the upgraded target function management unit.
  • These target operation functions are defined in the device driver and enable direct interaction with the hardware device to complete actual data reading, writing and other operations.
  • the kernel when a user-space program initiates a system call, the kernel first finds the corresponding file structure instance based on the file descriptor. Then, it determines the associated global virtual operation function set (e.g., global_file_operations, which defines function pointers for all device operations, such as open, read, ioctl, etc.) through the file structure's f_op (first pointer). Depending on the type of the system call (e.g., a read operation), the kernel retrieves the corresponding function pointer (second pointer) from global_file_operations, such as the read function pointer.
  • global_file_operations which defines function pointers for all device operations, such as open, read, ioctl, etc.
  • the kernel retrieves the corresponding function pointer (second pointer) from global_file_operations, such as the read function pointer.
  • the read function pointer calls the target field of the global structure (e.g., the fops field of the tj_g global structure), which in turn calls the actual device operation function (defined in the file_operations structure) to execute a data processing request, such as reading data from the hardware device into the kernel buffer.
  • the target field of the global structure e.g., the fops field of the tj_g global structure
  • the actual device operation function defined in the file_operations structure
  • Each opened device file originally needed to independently store its corresponding file structure to hold pointers to the set of device operation functions within the file structure. When there were a large number of concurrent accesses, this would lead to a significant increase in memory consumption.
  • memory usage can be greatly reduced.
  • the global virtual operation function set the lookup and scheduling overhead of the kernel when handling data processing requests for devices is reduced. Each operation can directly locate the specific operation function through this global entry point, improving system response speed.
  • the target function management unit can be determined after establishing the association between the target operation function and the target field. Furthermore, the target operation function can be subsequently determined from the target function management unit through the target field.
  • the target operation function is determined from the set of target operation functions.
  • the target function management unit includes:
  • the target set of operation functions can be understood as a file_operations structure, from which the specific operation functions are determined.
  • the upgraded target function management unit is obtained by expanding in these reserved spaces.
  • the initial operation function in the initial function management unit is updated to the target operation function in the target function management unit.
  • the data processing method provided in this disclosure allows the upgraded target function management unit to fix the problems of the original initial function management unit and add new functions, thereby improving the overall performance and stability of the system. Furthermore, through dynamic loading and updating, the system can complete the upgrade without restarting, ensuring service continuity.
  • the virtualization architecture allows for the individual updating of function management units in the architecture without affecting other units, improving the modularity and long-term maintainability of the system.
  • the initial interaction interface function in the initial function management unit is replaced with the target interaction interface function in the target function management unit, wherein the target interaction interface function is used by the target function management unit to interact with other units besides the target function management unit.
  • the initial interaction interface can be understood as the interface in the initial function management unit used to communicate with other modules or system components. This interface is usually a series of functions.
  • the target interaction interface can be understood as the interface in the target function management unit used to communicate with other modules or system components.
  • the new interface (target interaction interface) defined in the new module needs to replace the old interface (initial interaction interface) in the old module (initial function management unit) so that the loaded new module can communicate with other modules.
  • replacing the initial interaction interface function in the initial function management unit with the target interaction interface function in the target function management unit includes:
  • the initial dependency interface function in the initial function management unit is replaced with the target dependency interface function in the target function management unit, wherein the target dependency interface function is used by the target function management unit to access and/or call other units besides the target function management unit.
  • the target interaction interface includes target exported interface functions and target dependent interface functions.
  • Target exported interface functions can be understood as functions in the target function management unit that need to be recognized and called by other modules or systems; target dependent interface functions can be understood as functions in the target function management unit that depend on other modules.
  • new modules can provide new or modified functions. These functions need to be recognized and called by other modules or the system. Therefore, the symbol table of these functions in the system needs to be updated to ensure that the caller can find the address of the new function. If the upgraded new module depends on functions provided by other modules, then these dependencies also need to be updated to the version corresponding to the new module. This ensures that the new module can work correctly with other modules in the system.
  • replacing the initial interaction interface function in the initial function management unit with the target interaction interface function in the target function management unit includes:
  • a lock can be understood as an RCU (Read-Copy Update) lock or other synchronization mechanism, which protects the update process through the locking mechanism.
  • RCU Read-Copy Update
  • RCU locks are typically used in the reader-writer problem, which allows multiple readers to access a shared resource simultaneously, but only one writer can modify it.
  • RCU locks are used to ensure that during the process of updating the initial interaction interface in the initial functional management unit to the target interaction interface in the target functional management unit, no reader (i.e., code executing old function calls) is interrupted or encounters an inconsistent state, while also preventing the removal of old modules.
  • the data processing method provided in this disclosure requires that the interface be correctly updated and redirected in the event of a module upgrade to ensure the stability and correctness of the system.
  • synchronization mechanisms such as RCU locks are used to protect shared resources and avoid data inconsistency or race conditions.
  • updating the initial operation function in the initial function management unit and the target operation function in the target function management unit includes:
  • the target virtual machine call function in the target function management unit is determined, wherein the target virtual machine call function is used to switch the running mode of the target processor;
  • the method further includes:
  • the target virtual machine call function can be understood as a processing function that allows the operating system to call from non-root mode to root mode.
  • the processing function corresponding to vmcall is a special mechanism that allows a guest operating system running at a non-privileged level (usually called user mode, non-root mode) to request the execution of operations that can only be performed at a higher level (such as root mode), such as hardware management, memory mapping, I/O processing, etc.
  • VMMU virtual machine monitor
  • Hypervisor Hypervisor
  • the target virtual machine call field can be understood as a field in a structure that contains an array or table of vmcall function pointers. These functions are responsible for handling specific vmcall requests.
  • the VMMU looks up the vmcall table in this global structure and executes the function corresponding to the request to respond to the request.
  • the target function management unit can correctly process the vmcall request sent by the guest operating system.
  • the initial state information file system corresponding to the initial function management unit can be unloaded, and a target state information file system corresponding to the target function management unit can be reconstructed.
  • the specific implementation is as follows:
  • the initial state information file system can be understood as the proc file system (virtual file system) corresponding to the initial functional management unit
  • the target state information file system can be understood as the proc file system corresponding to the target functional management unit.
  • the proc file system is a pseudo file system used to provide information about the kernel state and an interface for interacting with the kernel.
  • the current target state information file system records the kernel state information corresponding to the target functional management unit.
  • the data processing method provided in this disclosure when involving loading an upgraded target function management unit, ensures that system administrators and applications can access the latest module status and functions by updating the proc file system.
  • updating the initial operation function in the initial function management unit and the target operation function in the target function management unit includes:
  • the initial scheduling function of the initial function management unit associated with the scheduling class is updated to the target scheduling function of the target function management unit.
  • the scheduling class defines a set of rules and policies to determine how to manage and schedule different types of processes or threads to determine when and in what order they run on the CPU.
  • Each task (or process) belongs to a scheduling class.
  • the scheduler distinguishes tasks with different priorities or characteristics through scheduling classes (or scheduler classes, scheduling policies). For example, in Linux, there are real-time scheduling classes, normal scheduling classes, etc.
  • Each scheduling class has its own specific scheduling algorithm and priority.
  • the initial scheduling function can be understood as the primitive function or method in the initial functional management unit that is associated with a specific scheduling class and is responsible for executing task scheduling. These functions define how to arrange the execution order of tasks according to a certain strategy (such as priority, time slice allocation, etc.).
  • the target scheduling function can be understood as the original function or method in the target function management unit that is associated with a specific scheduling class and is responsible for executing task scheduling. It can be a new scheduling function or a scheduling function that has been improved and optimized from the initial scheduling function, such as by introducing a more efficient scheduling algorithm, a better resource allocation strategy, or optimization for a specific scenario.
  • the underlying tasks can be executed according to the target scheduling function of the new module, thereby improving scheduling efficiency.
  • the data processing method provided in this disclosure improves or customizes the operating system scheduling behavior by replacing the initial scheduling function with the target scheduling function, aiming to improve system performance, response speed, or resource utilization.
  • the scheduler can first consider the target scheduling class through the scheduling entry point and then implement the scheduling of the target scheduling class through the scheduling operation function of the target scheduling class.
  • the specific implementation is as follows:
  • the method further includes:
  • the target scheduling class corresponding to the target priority is determined from the scheduling classes according to the priority identifier;
  • target scheduling class can be understood as scheduling class that requires immediate response or is critical to the operation of the system; target priority can be understood as higher priority; scheduling entry can be understood as the main scheduling loop or scheduling decision point of the operating system scheduler. The scheduler will check the current system status through the scheduling entry to decide whether task switching is needed, and if so, which task should be selected to execute.
  • the higher priority tasks that require immediate response or are crucial to the system operation are identified from the scheduling class, and their corresponding scheduling operation functions are determined. This establishes the association between the scheduling entry point and the scheduling operation function, so that when the scheduler makes a decision at the scheduling entry point, it first checks the higher priority scheduling class to see if there are any tasks in a ready state that can be run; if so, the scheduler will directly select this higher priority task to execute.
  • the data processing method provided in this disclosure establishes an association between the scheduling entry point and the scheduling operation function corresponding to the target scheduling class, so that at any given moment, the system always prioritizes and attempts to execute tasks with higher priority. This design ensures that the system can respond quickly to urgent or critical tasks, while rationally allocating resources and maintaining overall performance and stability.
  • updating the initial operation function in the initial function management unit and the target operation function in the target function management unit includes:
  • the initial collaborative scheduling operation function of the initial function management unit which interacts with the client operating system, is updated to the target collaborative scheduling operation function of the target function management unit.
  • collaborative scheduling refers to the cooperation between the guest operating system (Guest OS) and the virtualization layer (Hypervisor, virtualization architecture in this embodiment of the disclosure), particularly in resource management, CPU time slice allocation and scheduling.
  • Guest OS guest operating system
  • hypervisor virtualization architecture in this embodiment of the disclosure
  • resource management CPU time slice allocation and scheduling.
  • QoS quality of service
  • updating the initial operation function in the initial function management unit and the target operation function in the target function management unit includes:
  • the initial wrapper function of the initial function management unit which handles direct memory access, is updated to the target wrapper function of the target function management unit.
  • custom logic for direct memory access operations (such as memory tagging, access control, etc.) is integrated into the new module to obtain the target wrapper function. This can be determined by adjusting the previously implemented initial wrapper function, and the target wrapper function of the target function management unit replaces the initial wrapper function of the initial function management unit.
  • updating the initial operation function in the initial function management unit and the target operation function in the target function management unit includes:
  • the initial backend storage function of the initial function management unit corresponding to the memory swap is updated to the target backend storage function of the target function management unit.
  • Memory swapping is the process by which the operating system moves temporarily unused memory pages to external storage (such as a disk) when physical memory is insufficient, thereby freeing up physical memory for more active processes.
  • This process involves interaction with the backend storage device, including zero pages (pages that are pre-zeroed for fast allocation), page compression (reducing the disk space occupied by pages), and direct read and write operations with the disk; therefore, in the case of module upgrade, the initial backend storage function related to memory swapping needs to be updated to the target backend storage function of the new module.
  • the data processing method provided in this disclosure updates the initial backend storage function of the old module to the target backend storage function of the new module, ensuring that the new module can correctly handle all backend operations related to memory swapping, and ensuring that when memory resources are scarce, the system can efficiently and reliably utilize disk space to expand its available memory based on the target backend storage function.
  • updating the initial operation function in the initial function management unit and the target operation function in the target function management unit includes:
  • the initial loop execution function of the initial function management unit is updated to the target loop execution function of the target function management unit, so that the execution of the virtual processor jumps to the target loop execution function of the target function management unit.
  • a virtual processor can be understood as a vCPU.
  • An update flag is set for each vCPU, which is a trigger point that indicates that the vCPU needs to be transferred to the new module for execution when the next opportunity arises. This flag can be seen as a lightweight signal that tells the vCPU to prepare to switch at the appropriate time.
  • this flag is checked periodically or when a specific event occurs. If the flag is found to exist, it means that a migration is required.
  • the initial loop execution function of the initial functional management unit is updated to the target loop execution function of the target functional management unit.
  • the control flow of the vCPU is redirected to the vCPU loop execution function of the new module (i.e., the target loop execution function of the target functional management unit), and the position of the new module's jump execution function is set for the vCPU. That is, when an update flag is detected in the vCPU, the execution of the vCPU will jump to the vCPU loop execution function of the new module and start execution from the set position of the jump execution function. This action is accompanied by a switch of execution context; the execution stack of the old module is discarded, meaning that it will not return to the old logic, but will continue execution directly from the initial state of the new module, ensuring the continuity of logic.
  • determining that the virtual processor has an update flag through the initial loop execution function of the initial function management unit corresponding to the virtual processor includes:
  • the state information of the virtual processor is determined by the initial loop execution function of the initial function management unit corresponding to the virtual processor.
  • the status information of the virtual processor is determined, and based on this status information, it is determined whether the virtual processor has an update flag. If it does, the execution of the virtual processor is jumped to the target loop execution function of the target function management unit.
  • the method after updating the initial loop execution function of the initial function management unit and the target loop execution function of the target function management unit, the method further includes:
  • the mode switching needs to be completed at the mode switching entry point by using the association between the target entry point and the target mode entry point corresponding to the target function management unit in the established virtual processor corresponding data structure.
  • the VMCS Virtual Machine Control Structure
  • the HOST_RIP field indicates the address of the next instruction to be executed when the vCPU returns to root mode from non-root mode for some reason (such as external interrupt, exception, or VM exit). Updating this field to the entry point of the new module ensures that in future VM exit events, the vCPU will directly jump to the processing logic of the new module, completing the switch of logical modules.
  • updating the initial operation function in the initial function management unit and the target operation function in the target function management unit includes:
  • the initial interrupt handling function in the initial function management unit associated with the interrupt timer is updated to the target interrupt handling function in the target function management unit.
  • the method further includes:
  • the target virtual processor When the target virtual processor is running in target mode, establish the association between the target entry in the data structure corresponding to the target virtual processor and the target mode entry corresponding to the target function management unit.
  • the target virtual processor uses the interrupt timer to implement interrupts.
  • Interrupt timers can be understood as timers that can handle interrupt logic, which includes, but is not limited to, setting and triggering timers and handling corresponding interrupts.
  • LAPIC timers In practical applications, for newly created virtual CPUs, since there is no real physical CPU corresponding to them, the processing of their LAPIC (each CPU needs to be associated with an independent interrupt chip, which is called LAPIC) timers cannot be completed by hardware. Therefore, software is needed to simulate the behavior of LAPIC timers, including timer settings, triggering, and corresponding interrupt handling.
  • LAPIC timers When an old module is upgraded to a new module, the processing functions related to LAPIC timers also need to be updated to ensure that the new logic or behavior can be executed correctly. This means that the old LAPIC timer processing functions need to be replaced with the corresponding functions in the new module.
  • the system triggers a mechanism that causes all running virtual CPUs to exit to the virtualization root mode.
  • root mode i.e., target mode
  • the host operating system or virtual machine manager (VMM) can safely modify the state and data structures of the virtual CPUs without affecting the operation of the guest operating system.
  • loading the target function management unit after upgrading the initial function management unit includes:
  • the process After acquiring the global lock, the process also includes:
  • the target function management unit when the target function management unit is loaded, a global lock is acquired, and when the entire upgrade process is completed, the global lock is released, and then the target function management unit (i.e., the new module) is automatically loaded.
  • Step 208 Perform data processing for the target device according to the target operation function.
  • the data processing of the target device is implemented, so that the target function management module can complete the data processing for the target device.
  • the editor program will call the system call interface provided by the operating system. For example, in Linux, the read() system call will be used, and the user space will request to read the file contents through the read() system call.
  • the sys_read() function in the kernel is called, and the target operation function in the target function management module is determined through the entry management unit. At this time, the target operation function is the read operation function. If the file is located on the hard disk, the read operation will be further delegated to the block device driver. The driver will handle low-level read requests, including building I/O request packets, sending read commands to the disk controller, and waiting for data to be returned.
  • This disclosure provides a data processing method in one embodiment.
  • a target field in the global file structure pointing to a target operation function in a target function management unit can be determined.
  • the target function management unit is obtained by upgrading an initial function management unit. Based on the target field, the target operation function in the target function management unit is determined.
  • This method does not require modification of the target file structure or the global virtual operation function set, reducing the overhead of maintenance and query operations. Since the target operation function is the upgraded and optimized target function management unit and its corresponding operation function, data processing for the target device can be performed more effectively and quickly based on the target operation function.
  • Figure 3 shows a flowchart of another data processing method provided in an embodiment of the present disclosure, which specifically includes the following steps.
  • Step 302 Load the target function management unit after upgrading the initial function management unit, determine the target operation function in the target function management unit, and establish the association between the target operation function and the target field in the global file structure.
  • Step 304 In response to a data processing request for a target device, determine the target file structure corresponding to the data processing request, wherein the target file structure contains a first pointer to a global virtual operation function set.
  • Step 306 Determine the global virtual operation function set based on the first pointer, and determine the target field in the global file structure that points to the target operation function based on the second pointer contained in the global virtual operation function set that corresponds to the data processing request.
  • Step 308 Determine the target operation function based on the target field.
  • Step 310 Perform data processing for the target device according to the target operation function.
  • the data processing method provided in this disclosure by loading the upgraded target function management unit and establishing the association between the target operation function in the target function management unit and the target field in the global file structure, can achieve better and more efficient data processing based on the target field when a data processing request is received.
  • Figure 4 shows a flowchart of a data processing method for hot module upgrades under a virtualization architecture provided by an embodiment of the present disclosure, which specifically includes the following steps.
  • the virtualization architecture consists of an entry management module and a function management module. This virtualization architecture is provided to the operating system in a modular manner. In practical applications, the virtualization architecture is split into two relatively independent modules.
  • the entry management module can be a tj.ko module, which only provides the entry point of the virtualization architecture, and its entry point is fixed at /dev/tj.
  • the function management module can be a tj_hv_x.ko module (x is the version number, which changes with the number of hot upgrades, for example, 0, 1, 2, etc.), which is responsible for specific function management work.
  • the entry point /dev/tj of the tj.ko module is a character device. Through the function pointers of a set of file_operations corresponding to cdev.ops of this character device, the specific management operations are linked to the tj_hv_0.ko (i.e., the initial functional management unit in the above embodiment) module. Therefore, if a hot upgrade of the virtualization architecture is required, it is only necessary to load the new tj_hv_1.ko (i.e., the target functional management unit in the above embodiment) module and assign the new_file_operations corresponding to the new virtualization management functions of this module to cdev.ops, thereby replacing the old module. In this way, subsequent newly requested virtualization operations will directly follow the virtualization method of the new module.
  • the new module when upgrading the old module tj_hv_0.ko to the new module tj_hv_1.ko, the new module is loaded and initialized, configuring its initial state, including allocating memory, initializing data structures, and registering drivers.
  • a global lock can be added at the beginning of the new module's initialization function to ensure that /dev/tj is not used by other hot-upgrade or other device operation processes during the short period when the new module tj_hv_1.ko is loaded and initialized.
  • Step 402 Assign the device operation function to the target field of the global structure.
  • the kernel will correspond to a file structure, and the device's operation functionality is contained in the f_op field of this file structure.
  • the specific operations on the virtualization architecture, file_operations will be associated with the f_op field of this file structure.
  • the f_ops field of the file interface after opening the device will be associated with global_file_operations.
  • the specific operation in this operation set will then call tj_g->fops, which in turn calls the specific device operation function in the new module's operation set new_file_operations.
  • the tj_g->fops field will be updated, and all existing and incremental processes that open the device will go to the logic of the new module.
  • the new_file_operations corresponding to tj_hv_1.ko is assigned to the globally associated tj_g->fops field; according to the above compatibility principle, the size of this tj_g structure must remain unchanged, and the position of its fops field cannot be changed.
  • the associated global_file_operations i.e., the global virtual operation function set in the above embodiment, which defines function pointers for all device operations, such as open, read, mmap, ioctl, etc.
  • the f_op first pointer of the file structure
  • the kernel will retrieve the corresponding read function pointer from global_file_operations.
  • the target field of the global structure namely the tj_g->fops field, is called through this read function pointer.
  • This target field then calls the actual device operation function (defined in the file_operations structure) to execute a data processing request, such as reading data from the hardware device into the kernel buffer.
  • Step 404 Interface Management.
  • the various sub-functions of the virtualization management program also need to be updated. All exported symbols need to be updated to the symbols corresponding to the new modules. At the same time, the external symbols introduced into the function management module need to be updated into the new modules. Since these symbols are function entry points and function calls have a process, the update process needs to be protected by RCU locks. In addition to updating symbol links, it is also necessary to wait to ensure that the old function calls are completed.
  • Symbols typically refer to identifiers of executable code or data, which are used in the compiled binary file to represent functions, variables, constants, etc.
  • symbols are the interfaces they provide to the outside world, allowing other modules or applications to call their functions through these interfaces.
  • Exported symbols refer to functions and variables that a module intends to allow other modules or applications to access and call; these can be understood as the exported interfaces in the above embodiments.
  • a new module e.g., tj_hv_1.ko
  • Step 406 Virtual machine management and control.
  • the function management module provides many vmcalls that enter the root mode from non-root mode. These calling functions are registered in the vmcall field of the global structure tj_g and updated to the corresponding functions of the new module.
  • new modules may introduce new VMcall handling logic or optimize existing VMcalls.
  • the pointers to the old module's VMcall handling functions are replaced with the corresponding function pointers in the new module within the global structure tj_g. This ensures that the VMcall logic in the new module is executed, rather than the logic from the old module.
  • Step 408 System monitoring and configuration.
  • the exported items in the proc file system corresponding to the old module tj_hv_0.ko are unloaded, and the proc file system corresponding to the new module tj_hv_1.ko is built. Since the proc file system is updated by unloading and then rebuilding, the proc-related structures can be updated and changed.
  • exported items typically refer to specific files or directories created by kernel modules and exposed to user space. These files or directories are used to display or modify specific status information and configuration items of the kernel or module.
  • these exported items include, but are not limited to, status monitoring (providing the module's current runtime status information, such as resource usage, active memory levels, performance metrics, etc., facilitating system administrator monitoring and debugging) and configuration management (allowing user space programs or administrators to dynamically modify the module's configuration by exporting specific files, such as adjusting the virtual machine's CPU quota, memory limits, I/O policies, etc., without restarting the service or module).
  • the old module's proc filesystem export entries When upgrading from tj_hv_0.ko to tj_hv_1.ko, the old module's proc filesystem export entries must first be unloaded. This involves removing all files and directories created under /proc by tj_hv_0.ko to prevent old configuration items that may no longer be applicable or have been replaced by the new module from persisting. Then, the proc filesystem corresponding to the new module tj_hv_1.ko is built. This includes creating new or updated export entries to reflect the functionality and configuration options provided by the new module. This process ensures that the system can use the new module's new features and configuration interfaces while avoiding potential conflicts or compatibility issues. Integrating virtualization module state information through the proc filesystem enables dynamic configuration and monitoring.
  • Step 410 Task scheduling and resource management.
  • the scheduling functions i.e., the initial scheduling functions in the above embodiments
  • the underlying tasks including CPU switching, virtual CPU, LRU, swap, etc.
  • the new module i.e., the target scheduling functions in the above embodiments.
  • the new_sched_ops operation structures updated for each priority are associated with the new module.
  • the updated target scheduling function needs to ensure compatibility with the initial scheduling function so that the running scheduling function can seamlessly transition to the scheduling logic of the new module. For example, after the running function finishes, it can correctly call the enqueue function of the new module to enqueue the task.
  • the main entry point for scheduling will be associated with higher-priority scheduling functions.
  • a background task each background scheduling task is also a structure, and compatibility needs to be maintained; what is updated is the set of operation functions within it, it will automatically enter the logic of the new module.
  • the scheduler has a central entry point for scheduling classes, which is the starting point of the entire scheduling process and is responsible for deciding which task to execute next. This decision is based on the current state of the system, including the priority of tasks in each scheduling class. When making scheduling decisions, the scheduler first considers the scheduling classes with higher priority. The purpose of this design is to ensure that critical tasks or emergency operations can be responded to and processed in a timely manner.
  • Step 412 Collaborative scheduling management.
  • guest operating systems may have mechanisms that enable them to be aware that they are running in a virtualized environment and to communicate with the virtualization layer through specific interfaces. This communication may include reporting their own scheduling decisions (such as the time slice is about to end, voluntarily relinquishing the CPU), requesting resources (such as additional time slices, memory allocation), or responding to instructions from the virtualization layer.
  • APIs Application Programming Interfaces
  • These function sets define how the guest operating system reports its status, requests operations, or responds to the virtualization layer's scheduling instructions. For example, the guest operating system may use specific functions to inform the virtualization layer of its current CPU usage, changes in the ready queue, etc.
  • the existing set of operation functions may need to be updated. This involves modifying or adding functions to support new interaction logic while ensuring backward compatibility to avoid affecting the normal operation of existing guest operating systems.
  • the guest operating system and the virtualization layer need to exchange information and work together through a unified set of operation functions. Meanwhile, continuous optimization and updates to these interfaces and function sets are essential to support new features and improve overall system performance. Therefore, when upgrading an old module to a new one, the function set corresponding to the old module needs to be replaced with the function set corresponding to the new module.
  • Step 414 Memory tagging management.
  • “memory tagging logic” and “intercepting DMA operations” refer to a technique in the Linux kernel for customized management of Direct Memory Access (DMA) operations, primarily to prevent memory used for DMA operations from being swapped out.
  • “Wrapping the kernel's dma_ops” refers to creating a wrapper layer to override or extend the original DMA operation interface without directly modifying the kernel source code, allowing the insertion of custom logic or monitoring code.
  • custom logic for DMA operations (such as memory tagging, access control, and auditing) needs to be integrated into the new module. This usually involves updating and adjusting the previously implemented dma_ops wrapper function to match the function in the new module.
  • the previously implemented dma_ops wrapper function can also be inherited without changing its logic. By inheriting the previously implemented dma_ops wrapper function, the new module can be seamlessly integrated into the kernel's DMA processing flow, even if the old module is to be removed.
  • the system can ensure that direct memory access requests are handled more efficiently and securely.
  • Step 416 Memory Interaction and Backend Storage.
  • Step 418 Mode switching and exception handling.
  • Updates also require a virtualization process that switches each vCPU to the new module. To address this, firstly, an update flag is set for each vCPU, along with the location of the new module's jump execution function. The old module's execution function is unaware of this location during its loop execution; the new module must actively update it. Then, within the vCPU's loop execution function, it checks for the flag that needs updating. If it exists, the vCPU's execution jumps to the new module's vCPU loop execution function and begins execution from the set jump execution function location.
  • the old module's execution stack is discarded, and execution returns directly to the initial stack position.
  • the HOST_RIP field corresponding to its vmcs is updated. This field represents the entry point for the vCPU to trap into root mode, and its value needs to be updated to the corresponding entry point of the new module, ensuring that the vCPU's execution logic switches to the new module.
  • vCPUs can run in two modes within a virtualization environment: root mode (also known as VMX root operation) and non-root mode (or guest mode, VMX non-root operation).
  • root mode also known as VMX root operation
  • non-root mode guest mode, VMX non-root operation
  • the hypervisor directly controls the CPU, handling virtualization-related tasks such as memory management and I/O emulation; while in non-root mode, the vCPU executes the guest operating system's code, just like on a real CPU.
  • the update logic should be inserted at the appropriate time (usually the boundary of vCPU state transition, such as when returning from guest mode to root mode).
  • An update flag is set for each vCPU, which is a trigger point indicating that the vCPU needs to be switched to the new module for execution when the next opportunity arises.
  • This flag can be seen as a lightweight signal telling the vCPU to prepare for the switch at the appropriate time.
  • this flag is checked periodically or when specific events occur. If the flag is found, it means that a migration is required.
  • the control flow of the vCPU is redirected to the vCPU loop execution function of the new module.
  • This action is accompanied by a switch in the execution context.
  • the stack memory of the old module's execution stack can be reused, but it needs to return to the top of the stack to start execution again to avoid having error information from the old module in it. This means that it no longer returns to the old logic, but continues execution directly from the initial state of the new module to ensure the continuity of the logic.
  • the VMCS Virtual Machine Control Structure
  • the HOST_RIP field indicates the address of the next instruction to be executed when the vCPU returns to root mode from non-root mode for some reason (such as external interrupt, exception, or VM exit). Updating this field to the entry point of the new module ensures that in future VM exit events, the vCPU will directly jump to the processing logic of the new module, completing the switch of logical modules.
  • Step 420 Virtual CPU Management.
  • LAPIC timers In practical applications, for newly created virtual CPUs, since there is no real physical CPU corresponding to them, the processing of their LAPIC (each CPU needs to be associated with an independent interrupt chip, which is called LAPIC) timers cannot be completed by hardware. Therefore, software is needed to simulate the behavior of LAPIC timers, including timer settings, triggering, and corresponding interrupt handling.
  • LAPIC timers When an old module is upgraded to a new module, the processing functions related to LAPIC timers also need to be updated to ensure that the new logic or behavior can be executed correctly. This means that the old LAPIC timer processing functions need to be replaced with the corresponding functions in the new module.
  • the system triggers a mechanism that causes all running virtual CPUs to exit into virtualization root mode.
  • the host operating system or virtual machine manager can safely modify the state and data structures of the virtual CPUs without affecting the operation of the guest operating system.
  • the system can perform necessary update operations, such as applying new processing functions and updating the HOST_RIP field in VMCS.
  • the update process requires waiting for each virtual CPU to complete its exit and re-entry into non-root mode to ensure that all virtual CPUs have applied the new settings and logic.
  • the system can ensure that all virtual CPUs run according to the new logic and settings, thereby avoiding potential race conditions or inconsistencies.
  • Step 422 Update process control.
  • the entire hot upgrade process can be completed, the global lock held is released, and the new module is automatically loaded.
  • the virtualization function of the new module tj_hv_1.ko will be called through the same device /dev/tj.
  • Existing file structures will also be passed to the various logical functions of the new module.
  • This disclosure provides a data processing method in one embodiment.
  • a target field pointing to a target operation function in the global file structure can be determined.
  • the target operation function in the target function management unit can be determined based on the target field.
  • This method does not require modification of the target file structure or the global virtual operation function set, reducing the overhead of maintenance and query operations.
  • the target operation function is the upgraded and optimized target function management unit and its corresponding operation function, data processing for the target device can be performed more effectively and quickly based on the target operation function.
  • Figure 5 shows a schematic diagram of the structure of a data processing system 500 provided in one embodiment of this disclosure. As shown in Figure 5, the system includes an entry management unit 502 and a function management unit 504, wherein...
  • the entry management unit 502 is configured to, in response to a data processing request for a target device, determine a target file structure corresponding to the data processing request, wherein the target file structure includes a first pointer to a global virtual operation function set, the global virtual operation function set is determined according to the first pointer, and a target field in the global file structure that points to a target operation function in a target function management unit is determined according to a second pointer in the global virtual operation function set that corresponds to the data processing request, wherein the target function management unit is obtained by upgrading an initial function management unit, and the target operation function is determined according to the target field;
  • the function management unit 504 is used to perform data processing for the target device according to the target operation function.
  • Figure 6 shows a structural block diagram of a computing device 600 according to an embodiment of the present disclosure.
  • the components of the computing device 600 include, but are not limited to, a memory 610 and a processor 620.
  • the processor 620 is connected to the memory 610 via a bus 630, and a database 650 is used to store data.
  • the computing device 600 also includes an access device 640, which enables the computing device 600 to communicate via one or more networks 660.
  • networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet.
  • Access device 640 may include one or more of any type of wired or wireless network interface (e.g., network interface card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Wi-MAX (Worldwide Interoperability for Microwave Access) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, or a Near Field Communication (NFC) interface.
  • NIC network interface card
  • the aforementioned components of the computing device 600 may also be connected to each other, for example, via a bus.
  • the computing device block diagram shown in FIG. 6 is merely for illustrative purposes and is not intended to limit the scope of this disclosure. Those skilled in the art can add or replace other components as needed.
  • the computing device 600 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or personal computers (PCs).
  • the computing device 600 can also be a mobile or stationary server.
  • the processor 620 is used to execute the following computer program/instructions, which, when executed by the processor, implement the steps of the above-described data processing method.
  • An embodiment of this disclosure also provides a computer-readable storage medium storing a computer program/instructions that, when executed by a processor, implement the steps of the above-described data processing method.
  • An embodiment of this disclosure also provides a computer program product, including a computer program/instructions that, when executed by a processor, implement the steps of the above-described data processing method.
  • the computer instructions include computer program code, which may be in the form of source code, object code, executable file, or certain intermediate forms.
  • the computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added or removed according to the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Dans les modes de réalisation de la présente invention, un procédé et un système de traitement de données, un dispositif informatique, un support de stockage lisible par ordinateur et un produit programme informatique sont divulgués. Le procédé consiste : en réponse à une demande de traitement de données pour un dispositif cible, à déterminer une structure de fichier cible correspondant à la demande de traitement de données, la structure de fichier cible comprenant un premier pointeur qui renvoie vers un ensemble de fonctions d'opération virtuelle globale ; déterminer l'ensemble de fonctions d'opération virtuelle globale sur la base du premier pointeur, et sur la base d'un second pointeur qui est inclus dans l'ensemble de fonctions d'opération virtuelle globale et correspond à la demande de traitement de données, déterminer, à partir d'une structure de fichier globale, un champ cible qui renvoie vers une fonction d'opération cible dans une unité de gestion de fonction cible ; déterminer la fonction d'opération cible sur la base du champ cible ; et effectuer un traitement de données pour le dispositif cible sur la base de la fonction d'opération cible. Par conséquent, il n'est pas nécessaire de changer l'appel pour un espace utilisateur, ce qui permet de réduire les surdébits d'opérations telles que la maintenance et l'interrogation.
PCT/CN2025/102678 2024-07-03 2025-06-23 Procédé et appareil de traitement de données, dispositif électronique, support de stockage lisible par ordinateur et produit programme informatique Pending WO2026007725A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202410891638.2 2024-07-03
CN202410891638.2A CN121277542A (zh) 2024-07-03 2024-07-03 数据处理方法及系统、计算设备、计算机可读存储介质、计算机程序产品

Publications (1)

Publication Number Publication Date
WO2026007725A1 true WO2026007725A1 (fr) 2026-01-08

Family

ID=98237583

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2025/102678 Pending WO2026007725A1 (fr) 2024-07-03 2025-06-23 Procédé et appareil de traitement de données, dispositif électronique, support de stockage lisible par ordinateur et produit programme informatique

Country Status (2)

Country Link
CN (1) CN121277542A (fr)
WO (1) WO2026007725A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553325A (zh) * 2003-06-05 2004-12-08 联想(北京)有限公司 一种透明扩充文件系统功能的方法
US20070282917A1 (en) * 2006-03-20 2007-12-06 Nec Corporation File operation control device, system, method, and program
CN103577465A (zh) * 2012-08-02 2014-02-12 亿赞普(北京)科技有限公司 系统数据处理系统及方法
CN110851181A (zh) * 2018-08-20 2020-02-28 阿里巴巴集团控股有限公司 数据处理方法、装置及计算设备
CN113312170A (zh) * 2020-05-29 2021-08-27 阿里巴巴集团控股有限公司 内存管理系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553325A (zh) * 2003-06-05 2004-12-08 联想(北京)有限公司 一种透明扩充文件系统功能的方法
US20070282917A1 (en) * 2006-03-20 2007-12-06 Nec Corporation File operation control device, system, method, and program
CN103577465A (zh) * 2012-08-02 2014-02-12 亿赞普(北京)科技有限公司 系统数据处理系统及方法
CN110851181A (zh) * 2018-08-20 2020-02-28 阿里巴巴集团控股有限公司 数据处理方法、装置及计算设备
CN113312170A (zh) * 2020-05-29 2021-08-27 阿里巴巴集团控股有限公司 内存管理系统及方法

Also Published As

Publication number Publication date
CN121277542A (zh) 2026-01-06

Similar Documents

Publication Publication Date Title
TWI705375B (zh) 中斷請求的處理方法、裝置、虛擬化設備及可讀存儲介質
US9396013B2 (en) Method for controlling a virtual machine and a virtual machine system
US11625257B2 (en) Provisioning executable managed objects of a virtualized computing environment from non-executable managed objects
US9304794B2 (en) Virtual machine control method and virtual machine system using prefetch information
EP1467282B1 (fr) Systèmes d'exploitation
US7757231B2 (en) System and method to deprivilege components of a virtual machine monitor
US9189291B2 (en) Sharing a kernel of an operating system among logical partitions
EP2296089B1 (fr) Systèmes d'exploitation
US8032899B2 (en) Providing policy-based operating system services in a hypervisor on a computing system
US20050251806A1 (en) Enhancement of real-time operating system functionality using a hypervisor
US8539499B1 (en) Symmetric multiprocessing with virtual CPU and VSMP technology
US11693722B2 (en) Fast memory mapped IO support by register switch
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
US20060020940A1 (en) Soft-partitioning systems and methods
US12175272B2 (en) Managing peripherals in a containerized environment
US11385927B2 (en) Interrupt servicing in userspace
WO2026007725A1 (fr) Procédé et appareil de traitement de données, dispositif électronique, support de stockage lisible par ordinateur et produit programme informatique
US9619277B2 (en) Computer with plurality of processors sharing process queue, and process dispatch processing method
JP5584811B2 (ja) 仮想計算機の制御方法、仮想化プログラム及び仮想計算機システム
US12511150B2 (en) Fast memory mapped IO support by register switch
US20250045085A1 (en) Efficient input/output (i/o) for nested virtual machines with memory overcommit
Crutcher et al. Operating System
Mandrik A comprehensive review of GPU virtualization and sharing methods
CN120011001A (zh) 一种轻量化的虚拟化实现方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25832078

Country of ref document: EP

Kind code of ref document: A1