A multi-partition file system based on a client-server architecture

By adopting a client-server architecture multi-partition file system in the embedded system, the problems of multi-partition file sharing and data communication are solved, achieving efficient resource utilization and security isolation, and improving system performance and reliability.

CN119835334BActive Publication Date: 2025-10-31XIAN AVIATION COMPUTING TECH RES INST OF AVIATION IND CORP OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411810314.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-10
Publication Date
2025-10-31
Estimated Expiration
2044-12-10

AI Technical Summary

Technical Problem

Traditional file systems struggle to achieve efficient file sharing and data communication between multiple partitions in hypervisor-based embedded systems, and lack sufficient isolation and security, failing to meet the needs of embedded hybrid critical systems.

Method used

It adopts a multi-partition file system based on a client-server architecture. The server is deployed in an independent partition, and the client communicates with the server through IPC to realize file sharing and data exchange. It also ensures security and consistency through distributed locking mechanism, version control and concurrent transaction processing mechanism.

Benefits of technology

While ensuring strong isolation between partitions, the system's resource utilization and overall performance are improved, the client's file management process is simplified, and real-time performance and reliability are guaranteed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119835334B_ABST
    Figure CN119835334B_ABST
Patent Text Reader

Abstract

This invention belongs to the field of computer system software technology, specifically relating to a multi-partition file system based on a client-server architecture. The file system includes a server and at least one client; each client communicates with the server; the server acts as the overall access control, and each client accesses the file system through the server. This invention is based on a hypervisor-based partitioned file system architecture, in which the file system server is deployed within an independent partition, and other partitions act as clients communicating with the server via IPC. This architecture can achieve file sharing and data exchange between multiple partitions while ensuring strong isolation between partitions, improving system resource utilization and overall performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of computer system software technology, and specifically relates to a multi-partition file system based on a client-server architecture. Background Technology

[0002] With the widespread use of embedded systems in both mission-critical and non-mission-critical applications, effectively managing the execution of different tasks on the same hardware platform has become crucial. Embedded hybrid mission-critical systems typically need to run tasks with different security levels, real-time requirements, and resource needs within the same system. Therefore, hypervisor technology is widely used in such systems to achieve partitioning, isolation, and resource management.

[0003] In hypervisor-based embedded systems, different tasks or applications are assigned to run in independent partitions to ensure high security and strong isolation. However, as system scale increases, achieving file sharing and efficient data communication between multiple partitions becomes a critical issue. Traditional file systems are typically only suitable for single partitions or do not provide sufficient isolation and security, making them unsuitable for the needs of embedded hybrid mission-critical systems. Summary of the Invention

[0004] In view of this, the present invention provides a multi-partition file system based on a client-server architecture, specifically a hypervisor-based partition file system architecture. In this architecture, the server side of the file system is deployed within an independent partition, while other partitions act as clients and communicate with the server side via IPC. This architecture can achieve file sharing and data exchange between multiple partitions while ensuring strong isolation between partitions, thereby improving the system's resource utilization and overall performance.

[0005] The technical solution of this invention is as follows:

[0006] A multi-partition file system based on a client-server architecture, the file system comprising a server and at least one client; each client communicates with the server.

[0007] The server acts as the overall access control, and each client accesses the file system through the server.

[0008] The client has an access port that communicates with the server via shared memory. The client treats the access port as a local file device at the application layer and accesses its contents through the standard file system. The client's system call commands are sent to the server for processing via the shared memory mechanism based on the access port. The server performs specific file operations based on the system call commands and returns the results to the client.

[0009] Furthermore, each client is configured to only access files and data on the server that fall within its own permission scope, and the server performs permission verification when the client makes a file system access request based on the access permissions.

[0010] Furthermore, the client partition has an independent logical storage space managed by the server.

[0011] The server is configured with multiple independent threads to manage file access requests from each client.

[0012] Furthermore, the server dynamically adjusts storage resources according to the real-time needs of different clients;

[0013] When a multi-partition file system starts, the server pre-allocates a fixed storage space for each client. When a client's storage demand surges, the server reallocates resources using a scheduling algorithm.

[0014] Furthermore, the server monitors the file read / write frequency, data traffic, and storage space usage of each client and implements a dynamic load balancing strategy. When a client accesses files frequently or the number of requests increases, the server adjusts the file access priority of the client or allocates more storage and bandwidth resources accordingly.

[0015] Furthermore, each client is marked with a different critical level according to the partition it is in; the server judges and processes client requests with different critical levels, and prioritizes the processing of requests with higher critical levels to ensure the real-time performance of file access requests for partitions with higher critical levels.

[0016] Furthermore, the server-side employs a distributed locking mechanism, version control, and concurrent transaction processing mechanism to ensure the security and consistency of the multi-partition file system during concurrent operations.

[0017] The distributed lock mechanism works as follows: each file or data block is granted an exclusive lock by the server when it is accessed; when one partition is accessing a file, access requests from other partitions will be queued or blocked until the lock is released.

[0018] Version control works as follows: after each file modification, the server generates a new version number for the modified file; the client verifies the consistency of the file based on the version number.

[0019] The concurrent transaction processing mechanism is as follows: if concurrency causes a transaction to fail, the multi-partition file system automatically rolls back to a safe state.

[0020] Furthermore, the server-side is used for core file system management tasks, including file creation, deletion, read / write operations, and data management.

[0021] The beneficial effects of this invention are:

[0022] The core advantage of this invention lies in the fact that, through the virtualization mechanism provided by the hypervisor, the critical management functions of the file system are concentrated in a single partition, reducing the overhead of redundant management. The client partition only needs to be responsible for initiating file operation requests and interacting with the server through an efficient IPC mechanism, thereby simplifying the client's file management process and ensuring real-time performance and reliability. Attached Figure Description

[0023] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0024] Appendix Figure 1 : A schematic diagram of the architecture of a multi-partition file system.

[0025] Appendix Figure 2 : Execution process of multi-partition file system.

[0026] Appendix Figure 3 Diagram of a secure access model for different regions. Detailed Implementation

[0027] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0028] The following specific examples illustrate the implementation of this disclosure. Those skilled in the art can easily understand other advantages and effects of this disclosure from the content disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. This disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this disclosure. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

[0029] It should be noted that various aspects of embodiments within the scope of the appended claims are described below. It will be apparent that the aspects described herein can be embodied in a wide variety of forms, and any particular structure and / or function described herein is merely illustrative. Based on this disclosure, those skilled in the art will understand that one aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects set forth herein can be used to implement the device and / or practice the method. Additionally, this device and / or method can be implemented using other structures and / or functionalities besides one or more of the aspects set forth herein.

[0030] It should also be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of this disclosure. The illustrations only show the components related to this disclosure and are not drawn according to the number, shape and size of the components in actual implementation. In actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.

[0031] Furthermore, specific details are provided in the following description to facilitate a thorough understanding of the examples. However, those skilled in the art will understand that the described aspects can be practiced without these specific details.

[0032] In one embodiment of the present invention, a multi-partition file system based on a client-server architecture is proposed, wherein the file system includes a server and at least one client; each client communicates with the server.

[0033] The server acts as the overall access control, and each client accesses the file system through the server.

[0034] The client has an access port that communicates with the server via shared memory. The client treats the access port as a local file device at the application layer and accesses its contents through the standard file system. The client's system call commands are sent to the server for processing via the shared memory mechanism based on the access port. The server performs specific file operations based on the system call commands and returns the results to the client.

[0035] In this embodiment, each client is configured to only access files and data on the server that fall within its own permission scope, and the server performs permission verification when the client makes a file system access request based on the access permissions.

[0036] In this embodiment, the client partition has an independent logical storage space managed by the server.

[0037] The server is configured with multiple independent threads to manage file access requests from each client.

[0038] In this embodiment, the server dynamically adjusts storage resources according to the real-time needs of different clients;

[0039] When a multi-partition file system starts, the server pre-allocates a fixed storage space for each client. When a client's storage demand surges, the server reallocates resources using a scheduling algorithm.

[0040] In this embodiment, the server monitors the file read / write frequency, data traffic, and storage space usage of each client and implements a dynamic load balancing strategy. When a client accesses files frequently or the number of requests increases, the server adjusts the file access priority of the client or allocates more storage and bandwidth resources accordingly.

[0041] In this embodiment, each client is marked with a different critical level according to the partition it is in; the server judges and processes client requests with different critical levels, and prioritizes the processing of requests with higher critical levels to ensure the real-time performance of file access requests for partitions with higher critical levels.

[0042] In this embodiment, the server-side ensures the security and consistency of the multi-partition file system during concurrent operations through a distributed locking mechanism, version control, and concurrent transaction processing mechanism.

[0043] The distributed lock mechanism works as follows: each file or data block is granted an exclusive lock by the server when it is accessed; when one partition is accessing a file, access requests from other partitions will be queued or blocked until the lock is released.

[0044] Version control works as follows: after each file modification, the server generates a new version number for the modified file; the client verifies the consistency of the file based on the version number.

[0045] The concurrent transaction processing mechanism is as follows: if concurrency causes a transaction to fail, the multi-partition file system automatically rolls back to a safe state.

[0046] In this embodiment, the server is used for the core management tasks of the file system, including file creation, deletion, read and write operations, and data management.

[0047] This embodiment describes a multi-partition architecture and file system device mounting.

[0048] This system is based on a multi-partition embedded hybrid critical system architecture, with the server-side file system deployed in a separate partition. The server partition is primarily responsible for the core file system management tasks, including file creation, deletion, read / write operations, and metadata management. Each client partition treats the file system as a virtual device, mounting it through the system device management module to make file operations transparent to the client.

[0049] The client partition treats the file system device as a local device. File operations are captured by the client through standard file system calls (such as open(), read(), write()) and sent to the server for processing via IPC. The server executes the specific file operations and returns the results to the client partition, ensuring that the client can use the file system normally as if it were a local device.

[0050] Data isolation mechanism in this embodiment

[0051] In a multi-partition architecture, each partition runs different tasks, and these tasks typically have different security levels or real-time requirements. To ensure data security and independence, this invention designs a strict data isolation mechanism:

[0052] File operation isolation between partitions: Each client partition can only access files and data within its authorized scope, and the server performs strict permission verification based on access permissions. If a partition attempts to access data in another partition, the server will refuse the operation and return an error message.

[0053] Independent partition storage space: Each partition can have its own independent logical storage space, managed by the server. Each server partition has an independent file system structure, storing file metadata and data for each client partition. Even on the same physical storage device, the data in each partition is independent, preventing data leaks and cross-contamination.

[0054] This embodiment features multi-partition resource scheduling.

[0055] File system resource scheduling is one of the core components of this invention. The server-side file system not only needs to manage the storage resources within the partition, but also needs to handle requests from multiple client partitions and perform reasonable resource scheduling to ensure the efficient operation of the system.

[0056] Dynamic resource allocation: The server can dynamically adjust storage resources based on the real-time needs of different partitions. Each client partition is pre-allocated a fixed storage space when the system starts, but when the storage demand of a partition surges, the server can reallocate resources through a scheduling algorithm to ensure the rational utilization of resources between partitions.

[0057] Load balancing: The system implements dynamic load balancing strategies by monitoring the file read / write frequency, data traffic, and storage space usage of each partition. When file access to a partition becomes frequent or the request volume increases, the system can adjust file access priorities or allocate more storage and bandwidth resources in a timely manner, thereby avoiding resource bottlenecks.

[0058] Resource isolation: Although resource scheduling is dynamic, the resource consumption of each partition is strictly monitored and isolated. Even if one partition consumes a large amount of resources, the server can still ensure that the basic operation of other partitions is not affected through the resource management module.

[0059] This embodiment demonstrates concurrent access control.

[0060] Since multiple client partitions may access or modify the same file simultaneously, concurrent access control is one of the key technologies in this system. The server-side uses locking mechanisms and version control to ensure the security and consistency of the file system during concurrent operations.

[0061] Distributed locking mechanism: Each file or data block is granted an exclusive lock by the server when accessed. When one partition is accessing a file, access requests from other partitions will be queued or blocked until the lock is released. This prevents multiple partitions from modifying files simultaneously, which could lead to data inconsistency.

[0062] Version control: In complex scenarios, different partitions may concurrently modify the same file. To ensure data reliability, the system introduces a version control mechanism. After each file modification, the server generates a new version number for that file. Client partitions can verify file consistency based on the version number, preventing data loss or overwriting.

[0063] Concurrent transaction processing: The system supports concurrent file operation transactions, ensuring that file operations on multiple client partitions can be performed safely. If a transaction fails, the system can automatically roll back to a safe state, ensuring that file operations across the entire system do not result in inconsistent states due to concurrency conflicts.

[0064] Reference Figure 1-3 This embodiment provides a multi-partition file system based on a client-server architecture, which has the following characteristics:

[0065] The file system server is located on a separate partition, while other partitions act as clients. Each client mounts the file system through device management.

[0066] The server-side file system is housed in a dedicated partition, which acts as the central manager for the file system, handling all file operation requests. Other partitions act as clients, mounting the file system as virtual devices through the device management module and communicating with the server via IPC (Inter-Party Communication). Each client partition can perform read and write operations on the file system through this mounted device.

[0067] In this architecture, the server provides global file system management, handling file creation, deletion, reading, and writing. Client partitions do not directly manage the file system; instead, they send requests to the server via IPC, ensuring centralized data management and isolation between partitions. Each client partition checks access permissions before performing file operations to ensure data isolation and security.

[0068] S2. Shared data ensures consistency through status passing and file version control.

[0069] When multiple client partitions need to share access to the same file, the server maintains state information for each request and ensures data consistency through a version control mechanism. When a partition performs a write operation on a shared file, the system locks the file and notifies other partitions to update the shared data state. After the write operation is complete, the latest version of the file is updated on the server, and other partitions are notified that they can read the updated data.

[0070] During the reading of shared files, the server-side file system will synchronize the latest file status to all client partitions to ensure that the data read from each partition is consistent and to avoid data conflicts and inconsistencies between partitions.

[0071] S3. The file system separates read and write operations and manages read and write buffers separately to ensure parallel operations.

[0072] To improve the file system's read / write parallelism, a read / write separation management strategy is adopted on the server side. Read and write operations are processed using different buffers to ensure that write operations do not affect ongoing read operations. Specifically, when the file system processes a write request, the write operation is performed in the write buffer, while read operations access data through the read buffer. After a write operation is completed, the contents of the write buffer are updated in the read buffer to ensure that subsequent read operations can obtain the latest data.

[0073] This design effectively improves the system's parallel processing capability, ensuring that multiple client partitions can perform read and write operations simultaneously without interfering with each other.

[0074] S4. Perform file operations through the secure access interface (P2 interface) of the ARINC 653 Part 2 standard.

[0075] The file system in this invention uses a P2 interface conforming to the ARINC 653 Part 2 standard for secure access control. Client partitions initiate file operation requests to the server via the P2 interface, and the server executes access control based on the permission settings of each partition. Operation requests that fail the permission check are rejected, ensuring that each partition can only access data within its authorized scope, thus enhancing system security.

[0076] S5, Partition file operation execution process.

[0077] When performing file operations, the system determines the access permissions of the partition. If the partition has the necessary permissions, the operation request will be processed by the server-side file system; otherwise, the system returns an error message. For accessing shared files, the system checks the latest version of the file and decides whether to read the data from the server or from the local buffer based on the latest status.

[0078] The parallel read / write process of a file system is as follows: When multiple partitions have shared data requests, one process can perform write operations while other processes perform read operations. During a write operation, the system writes to the write buffer and simultaneously records the transaction log. After the write operation is completed and the transaction is committed, the system synchronizes the updated content of the write buffer to the read buffer, ensuring that other partitions can read the latest data. Independent management of the read and write buffers ensures parallel processing of read and write operations, avoiding the impact of write operations on read operations.

[0079] The specific working steps of the multi-partition file system based on the client-server architecture in this embodiment are as follows:

[0080] Step 1: The file system server is set up on a dedicated partition, and other partitions act as clients, accessing the file system through mounted devices.

[0081] Step 2: The shared partitions ensure the consistency of shared data through status passing and version control mechanisms.

[0082] Step 3: The file system ensures parallel processing of read and write operations through read-write separation management and buffer separation.

[0083] Step 4: The client partition performs secure file operations compliant with the ARINC653 Part 2 standard through the P2 interface.

[0084] Step 5: Process file operations according to the partition file operation execution flow, including permission checks and data access for exclusive and shared devices. The above description is merely a specific embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.

Claims

1. A multi-partition file system based on a client-server architecture, characterized in that... The file system includes a server and at least one client; each client communicates with the server. The server acts as the overall access control, and each client accesses the file system through the server. The client is equipped with an access port, which communicates with the server via shared memory. The client treats the access port as a local file device at the application layer and accesses the contents of the access port through the standard file system; the client's system call commands are sent to the server for processing based on the access port through a shared memory mechanism. The server executes specific file operations based on system call instructions and then returns the results to the client.

2. The multi-partition file system based on a client-server architecture according to claim 1, characterized in that... Each client is configured to only access files and data on the server that fall within its own permission scope. The server verifies permissions when a client makes a file system access request based on the access permissions.

3. The multi-partition file system based on a client-server architecture according to claim 2, characterized in that... The client partition has an independent logical storage space managed by the server. The server is configured with multiple independent threads to manage file access requests from each client.

4. The multi-partition file system based on a client-server architecture according to claim 3, characterized in that... The server dynamically adjusts storage resources according to the real-time needs of different clients; When a multi-partition file system starts, the server pre-allocates a fixed storage space for each client. When a client's storage demand surges, the server reallocates resources using a scheduling algorithm.

5. The multi-partition file system based on a client-server architecture according to claim 4, characterized in that... The server monitors the file read / write frequency, data traffic, and storage space usage of each client and implements a dynamic load balancing strategy. When a client accesses files frequently or the number of requests increases, the server adjusts the file access priority of the client or allocates more storage and bandwidth resources accordingly.

6. The multi-partition file system based on a client-server architecture according to claim 5, characterized in that... Each client is marked with a different critical level according to the partition it is in; the server judges and processes client requests of different critical levels, and prioritizes the processing of requests with higher critical levels to ensure the real-time performance of file access requests for partitions with higher critical levels.

7. The multi-partition file system based on a client-server architecture according to claim 6, characterized in that... The server-side employs distributed locking, version control, and concurrent transaction processing mechanisms to ensure the security and consistency of the multi-partition file system during concurrent operations. The distributed lock mechanism works as follows: each file or data block is granted an exclusive lock by the server when it is accessed; when one partition is accessing a file, access requests from other partitions will be queued or blocked until the lock is released. Version control works as follows: after each file modification, the server generates a new version number for the modified file; the client verifies the consistency of the file based on the version number. The concurrent transaction processing mechanism is as follows: if concurrency causes a transaction to fail, the multi-partition file system automatically rolls back to a safe state.

8. The multi-partition file system based on a client-server architecture according to claim 7, characterized in that... The server-side is used for the core management tasks of the file system, including file creation, deletion, read and write operations, and data management.