Multi-partition file system based on client-server architecture

By adopting a multi-partition file system based on client-server architecture in embedded hybrid key systems, the problems of file sharing and data communication between multiple partitions are solved, and efficient resource utilization and performance improvement are achieved.

CN119835334AActive Publication Date: 2025-04-15XIAN AVIATION COMPUTING TECH RES INST OF AVIATION IND CORP OF CHINA
View PDF 4 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In an embedded hybrid critical system based on hypervisor, how to achieve file sharing and efficient data communication between multiple partitions is a key issue, and traditional file systems are difficult to meet the needs of embedded systems.

Method used

A multi-partition file system based on the client-server architecture is adopted. The server side is deployed in an independent partition, and other partitions communicate with the server side as clients through IPC to realize file sharing and data exchange.

Benefits of technology

While ensuring strong isolation between partitions, it realizes file sharing and data exchange between multiple partitions, improving the system's resource utilization and overall performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119835334A_ABST
    Figure CN119835334A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of computer system software, and particularly relates to a multi-partition file system based on a client-server architecture, which comprises a server and at least one client, each client side is communicated with the server side; the server side serves as total access control, and each client side accesses the file system through the server; according to the partition file system architecture based on the hypervisor, in the architecture, a server side of a file system is deployed in an independent partition, and other partitions serve as clients to communicate with the server side through an IPC. According to the architecture, file sharing and data exchange among a plurality of partitions can be realized while strong isolation among the partitions is ensured, and the resource utilization rate and the overall performance of the system are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of computer system software, and in particular relates to a multi-partition file system based on a client-server architecture. Background Art

[0002] With the widespread use of embedded systems in mission-critical and non-mission-critical applications, it is critical to effectively manage the execution of different tasks on the same hardware platform. Embedded mixed-criticality systems often need to run tasks with different security levels, real-time requirements, and resource requirements on the same system. To this end, hypervisor technology is widely used in such systems to achieve partition isolation and resource management.

[0003] In hypervisor-based embedded systems, different tasks or applications are assigned to independent partitions to ensure high security and strong isolation. However, as the scale of the system increases, how to achieve file sharing and efficient data communication between multiple partitions becomes a key issue. Traditional file systems are usually only applicable to a single partition or do not provide sufficient isolation and security, which makes it difficult to meet the needs of embedded mixed-criticality 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, a hypervisor-based partition file system architecture, in which the server side of the file system is deployed in an independent partition, and other partitions communicate with the server side as clients through IPC. This architecture can achieve file sharing and data exchange between multiple partitions while ensuring strong isolation between partitions, thereby improving the resource utilization and overall performance of the system.

[0005] The technical solution of the present invention is:

[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 is used as the overall access control, and each client accesses the file system through the server;

[0008] The client is provided with an access port, and the access port communicates with the server through shared memory; the client treats the access port as a local file device at the application layer, and calls the content of the access port through a standard file system; the client's system call instructions are sent to the server through a shared memory mechanism based on the access port for processing; the server performs specific file operations based on the system call instructions and returns the results to the client.

[0009] Furthermore, each of the clients is configured to only access files and data in the server that are within their respective authority ranges, and the server performs authority verification when the client makes a file system call request based on the access authority;

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

[0011] The server side is configured with multiple independent threads to manage the file call requests of each client.

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

[0013] When the multi-partition file system is started, the server pre-allocates a fixed storage space for each client. When the storage demand of a client surges, the server reallocates resources through a scheduling algorithm.

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

[0015] Furthermore, each client has a different critical level according to the different tags of the partition in which it is located; the server judges and processes client requests of different critical levels, and gives priority to those with higher critical levels to ensure the real-time performance of file call requests of partitions with higher critical levels.

[0016] Furthermore, the server ensures the security and consistency of the multi-partition file system during concurrent operations through a distributed lock mechanism, version control, and concurrent transaction processing mechanism, wherein:

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

[0018] Version control is 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: if concurrency causes a transaction to fail, the multi-partition file system automatically rolls back to a safe state.

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

[0021] Beneficial effects of the present invention:

[0022] The core advantage of the present invention is that through the virtualization mechanism provided by the hypervisor, the key management functions of the file system are concentrated in one partition to reduce the overhead of redundant management. The client partition is only responsible for initiating file operation requests and interacting with the server through an efficient IPC mechanism, thereby simplifying the file management process of the client and ensuring real-time performance and reliability. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0024] Attached Figure 1 : Schematic diagram of the architecture of a multi-partition file system.

[0025] Attached Figure 2 : Multi-partition file system execution process.

[0026] Attached Figure 3 : Diagram of the security access model between partitions. DETAILED DESCRIPTION

[0027] The embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.

[0028] The following describes the embodiments of the present disclosure through specific examples, and those skilled in the art can easily understand other advantages and effects of the present disclosure from the contents disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all of the embodiments. The present disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present disclosure. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present disclosure.

[0029] It should be noted that various aspects of the embodiments within the scope of the appended claims are described below. It should be apparent that the aspects described herein can be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on the present disclosure, it should be understood by those skilled in the art that an 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 described herein can be used to implement the device and / or practice the method. In addition, other structures and / or functionalities other than one or more of the aspects described herein can be used to implement this device and / or practice this method.

[0030] It should also be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present disclosure. The illustrations only show components related to the present disclosure rather than being drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component may be changed arbitrarily, and the component layout may also be more complicated.

[0031] Additionally, in the following description, specific details are provided to facilitate a thorough understanding of the examples. However, it will be understood by those skilled in the art that the aspects described may 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 provided, wherein the file system includes a server and at least one client; each client communicates with the server;

[0033] The server is used as the overall access control, and each client accesses the file system through the server;

[0034] The client is provided with an access port, and the access port communicates with the server through shared memory; the client treats the access port as a local file device at the application layer, and calls the content of the access port through a standard file system; the client's system call instructions are sent to the server through a shared memory mechanism based on the access port for processing; the server performs specific file operations based on the system call instructions and returns the results to the client.

[0035] In this embodiment, each of the clients is configured to only access files and data in the server that are within their respective authority ranges, and the server performs authority verification when the client makes a file system call request based on the access authority;

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

[0037] The server side is configured with multiple independent threads to manage the file call requests of each client.

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

[0039] When the multi-partition file system is started, the server pre-allocates a fixed storage space for each client. When the storage demand of a client surges, the server reallocates resources through a scheduling algorithm.

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

[0041] In this embodiment, each client has a different critical level according to the different labels of the partition in which it is located; the server judges and processes client requests of different critical levels, and gives priority to those with higher critical levels to ensure the real-time performance of file call requests for partitions with higher critical levels.

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

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

[0044] Version control is 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: 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] Multi-partition architecture and file system device mounting in this embodiment

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

[0049] The client partition treats the file system device as a local device. Through standard file system calls (such as open(), read(), write()), file operations are captured by the client and sent to the server through the IPC mechanism for processing. The server performs 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 usually have different security levels or real-time requirements. To ensure the security and independence of data, the present invention designs a strict data isolation mechanism:

[0052] Isolation of file operations between partitions: Each client partition can only access files and data within its permission range, and the server performs strict permission verification based on the access permissions. If a partition attempts to access data from other partitions, the server will reject the operation and return an error message.

[0053] Independent storage space for partitions: Each partition can have an independent logical storage space, which is managed by the server. The server partition has an independent file system structure to store the file metadata and data of each client partition. Even on the same physical storage device, the data of each partition is independent of each other to avoid data leakage and cross contamination.

[0054] Multi-partition resource scheduling in this embodiment

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

[0056] Dynamic resource allocation: The server can dynamically adjust storage resources according to the real-time needs of different partitions. Each client partition will be 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 scheduling algorithms to ensure the rational use of resources between partitions.

[0057] Load balancing: The system implements dynamic load balancing strategies by monitoring the file read and write frequency, data traffic, and storage space usage of each partition. When a partition's files are frequently accessed or the number of requests increases, the system can adjust the file access priority or allocate more storage and bandwidth resources in a timely manner to avoid 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 occupies more resources, the server can still ensure that the basic operation of other partitions is not affected through the resource management module.

[0059] Concurrent access control in this embodiment

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

[0061] Distributed lock mechanism: Each file or data block is assigned 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. This can prevent multiple partitions from modifying files at the same time, resulting in data inconsistency.

[0062] Version control: In complex scenarios, different partitions may perform concurrent modifications on 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 the file. The client partition can verify the consistency of the file based on the version number to prevent 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 on the entire system will not be inconsistent due to concurrent conflicts.

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

[0065] The server side of the file system is placed in a separate partition, and other partitions serve as clients. Each client mounts the file system through device management.

[0066] The server-side file system is set up in a dedicated partition, which serves as the central manager of the file system and handles all file operation requests. Other partitions act as clients, mount the file system as a virtual device through the device management module, and communicate with the server through the IPC (inter-partition communication) mechanism. Each client partition can perform read and write operations on the file system through the mounted device.

[0067] In this architecture, the server provides global management of the file system and is responsible for creating, deleting, reading, and writing files. The client partition does not directly manage the file system, but sends requests to the server through IPC to ensure centralized management of data and isolation between partitions. When each client partition performs a file operation, it will first check whether it has access rights to ensure data isolation and security.

[0068] S2. Shared data ensures consistency through state transfer and file version control.

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

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

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

[0072] To improve the read-write parallel capability of the file system, the server adopts a read-write separation management strategy. Read operations 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, and the read operation accesses data through the read buffer. After the write operation is completed, the content in the write buffer is updated to the read buffer to ensure that subsequent read operations can obtain the latest data.

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

[0074] S4. Perform file operations through the ARINC653 Part 2 standard security access interface (P2 interface).

[0075] The file system in the present invention performs secure access control through the P2 interface that complies with the ARINC653 Part 2 standard. The client partition initiates a file operation request to the server through the P2 interface, and the server performs access control according to the permission settings of each partition. Operation requests that fail the permission check will be rejected, ensuring that each partition can only access data within its permission range, thereby enhancing the security of the system.

[0076] S5. Partition file operation execution process.

[0077] When performing file operations, the system makes a judgment based on the access rights of the partition. If the partition has the operation rights, the operation request will be processed by the server-side file system; if it does not have the rights, the system returns an error message. For access to shared files, the system will check the latest version of the file and decide whether to read the data from the server or read the shared file from the local cache based on the latest status.

[0078] The parallel read and write process of the file system is as follows: When multiple partitions have shared data requests, one process can perform write operations and other processes can perform read operations. When performing write operations, the system will write to the write buffer and record the transaction log at the same time. After the write operation is completed and the transaction is committed, the system will synchronize the updated content of the write buffer to the read buffer to ensure that other partitions can read the latest data. The independent management of the read and write buffers ensures the parallel processing of read and write operations and avoids 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 of this embodiment are as follows:

[0080] Step 1: The file system server is set up in a dedicated partition, and other partitions act as clients to access the file system by mounting devices.

[0081] Step 2: The consistency of shared data is ensured through state transfer and version control mechanisms between shared partitions.

[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 that comply with the ARINC653 Part 2 standard through the P2 interface.

[0084] Step 5: Process file operations according to the partition file operation execution process, including permission checks and data access for exclusive devices and shared devices. The above is only a specific implementation of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any changes or replacements that can be easily thought of by any technician familiar with the technical field within the technical scope disclosed in the present disclosure should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be based on the protection scope of the claims.

Claims

1. A multi-partition file system based on 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 is used as the overall access control, and each client accesses the file system through the server; The client is provided with an access port, and the access port communicates with the server through a shared memory; The client treats the access port as a local file device at the application layer and calls the content of the access port through a standard file system; the system call instruction of the client is sent to the server through a shared memory mechanism based on the access port for processing; The server performs a specific file operation based on the system call instruction and returns the result to the client.

2. The multi-partition file system based on client-server architecture according to claim 1, characterized in that ,Each of the clients is configured to only access files and data in the server that are within their respective authority ranges, and the server performs authority verification based on the access rights when the client makes a file system call request.

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

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

5. The multi-partition file system based on client-server architecture according to claim 4, characterized in that The server implements a dynamic load balancing strategy by monitoring the file reading and writing frequency, data flow and storage space usage of each client. When a client accesses files frequently or the number of requests increases, the server adjusts the client's file access priority or allocates more storage and bandwidth resources in a timely manner.

6. The multi-partition file system based on client-server architecture according to claim 5, characterized in that Each of the clients has a different critical level according to the different labels of the partitions it is in; the server judges and processes client requests of different critical levels, and gives priority to those with high critical levels to ensure the real-time performance of file call requests for partitions with higher critical levels.

7. The multi-partition file system based on client-server architecture according to claim 6, characterized in that The server ensures the security and consistency of the multi-partition file system during concurrent operations through a distributed lock mechanism, version control, and concurrent transaction processing mechanism, wherein: The distributed lock mechanism is as follows: each file or data block is given an exclusive lock by the server when it is accessed; when a partition is accessing a file, access requests from other partitions will be queued or blocked until the lock is released; Version control is 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: 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 client-server architecture according to claim 7, characterized in that ,The server is used for the core management tasks of the file system, ,including file creation, deletion, read and write operations and data management.

Citation Information

Patent Citations

  • Embedded virtualization system implementation method based on microkernel mechanism

    CN113778612A

  • Shared file security information storage method based on multi-domain isolation operating system

    CN115168920A

  • Apparatus and method for sharing a virtual file system between logical partitions

    US20060259710A1

  • System and method for providing a partition file system in a multitenant application server environment

    US20160092278A1