CN114090072B - Windows user file system development framework building method and system and application thereof - Google Patents

Windows user file system development framework building method and system and application thereof Download PDF

Info

Publication number
CN114090072B
CN114090072B CN202210072604.1A CN202210072604A CN114090072B CN 114090072 B CN114090072 B CN 114090072B CN 202210072604 A CN202210072604 A CN 202210072604A CN 114090072 B CN114090072 B CN 114090072B
Authority
CN
China
Prior art keywords
request
file system
kernel
filtering
control
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.)
Active
Application number
CN202210072604.1A
Other languages
Chinese (zh)
Other versions
CN114090072A (en
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.)
Chengdu Vinchin Science And Technology Co
Original Assignee
Chengdu Vinchin Science And Technology Co
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 Chengdu Vinchin Science And Technology Co filed Critical Chengdu Vinchin Science And Technology Co
Priority to CN202210072604.1A priority Critical patent/CN114090072B/en
Publication of CN114090072A publication Critical patent/CN114090072A/en
Application granted granted Critical
Publication of CN114090072B publication Critical patent/CN114090072B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to a method and a system for building a Windows user file system development framework and application thereof. The method comprises the following steps: establishing a background service process which is compiled with a dynamic link library on a user layer, wherein the dynamic link library provides a programming interface; binding the kernel driver with a kernel-mode file system; the kernel drives and establishes a filtering unit, a queue management unit and a control unit; the control unit sets an I/O request processing feedback routine, sets a kernel-mode file system control routine, and performs coding interaction with a programming interface through ioctl control codes. The system comprises: a first creation module; a binding module; a second creation module; a control unit setting module; a filtering classification module; a queue saving module; an I/O request extraction delivery module. The invention exposes the development programming interface to the outside through the kernel layer filter driver and the support of the operation environment library, and places the realization part of the kernel mode file system in the user layer for processing, thereby reducing the development difficulty of the Windows user file system.

Description

Windows user file system development framework building method and system and application thereof
Technical Field
The invention belongs to the technical field of software development, and particularly relates to a method and a system for building a Windows user file system development framework and application thereof.
Background
The file system, i.e. the method and the data structure of the files on the storage device or the partition, the commonly used file systems in the Windows system include NTFS, FAT32, exFat, etc., and the commonly used file systems in the Linux/Unix system include XFS, EXT4, etc. With the continuous change of the information industry, the attention degree of data is increasing day by day, and it is a hot problem to use a file system adapted to a specific service environment in Windows for organizing data.
At present, a common way for developing a file system of a specific service use scene under a Linux system platform is to use third-party open source software Fuse to build a user-mode file system, which is limited by the limitation of a non-open source environment of Windows, the adaptability of Fuse on the Windows platform is not strong, and the Windows is not easy to develop the user-mode file system; in addition, because the Windows kernel source code is not open, the development of a kernel file system which is adaptive to the Windows environment is difficult, and the learning cost is high.
Therefore, how to develop a file system of a specific service scene on a Windows platform more efficiently and conveniently is a technical problem which needs to be solved urgently.
Disclosure of Invention
In order to solve the technical problems in the background art, the invention provides a method and a system for building a Windows user file system development framework and application thereof. The technical scheme is as follows:
in a first aspect, a method for building a Windows user file system development framework is provided, the method comprising the steps of:
establishing a background service process which is programmed with a dynamic link library on a user layer, wherein the dynamic link library provides a programming interface for packaging functions corresponding to ioctl operation;
binding the kernel driver with a kernel-mode file system;
the kernel drives and establishes a filtering unit, a queue management unit and a control unit;
the control unit sets an I/O request processing feedback routine, sets a kernel-mode file system control routine, and performs coding interaction with the programming interface through ioctl control codes;
when an I/O request is issued, the filtering unit intercepts the I/O request and classifies the I/O request;
the queue management unit stores the I/O request classified by the filtering unit;
the control unit extracts the stored I/O request from the queue management unit for processing and management, and transmits the processing result to the user layer through the I/O request processing feedback routine.
Further, the step of binding the kernel driver and the kernel-mode file system includes:
the kernel driver creates a volume control device object, a volume filter device object and a registration device object;
the control filtering equipment object is bound with a drive control equipment of the kernel-mode file system;
the volume filter device object binds a drive volume device of the kernel-state file system;
and the registered equipment object is registered and named in a kernel-mode file system equipment manager.
Further, the control unit performs coding interaction with the programming interface through an ioctl control code, and the coding interaction includes:
the control unit sets an ioctl control code;
and the control unit introduces the ioctl control code into a header file and shares the user layer code.
Further, when the I/O request is issued, the step of intercepting the I/O request and classifying the I/O request by the filter unit includes:
the filtering unit creates a filtering path table;
when an I/O request is issued, the filtering unit intercepts the I/O request and judges whether the I/O request is sent to file system volume equipment and a target path is in a filtering path table; if yes, sending the I/O request to a queue management unit for storage; if not, the file is sent to the kernel-mode file system.
Further, the step of the queue management unit saving the I/O requests classified by the filtering unit includes:
the queue management unit sets an I/O request storage format and creates an I/O request queue to be processed, an I/O request queue in processing and a redo I/O request queue;
and according to the I/O request storage format, the queue management unit classifies and stores the I/O requests classified by the filtering unit.
In a second aspect, a Windows user file system development framework building system is provided, the system including:
the system comprises a first establishing module, a second establishing module and a third establishing module, wherein the first establishing module is used for establishing a background service process which is programmed with a dynamic link library on a user layer, and the dynamic link library provides a programming interface for packaging functions corresponding to ioctl operation;
the binding module is used for binding the kernel driver with the kernel-mode file system;
the second establishing module is used for establishing a filtering unit, a queue management unit and a control unit in a kernel drive;
the control unit setting module is used for setting an I/O request processing feedback routine, setting a kernel-mode file system control routine and carrying out coding interaction with the programming interface through ioctl control codes by the control unit;
the filtering and classifying module is used for intercepting the I/O request by the filtering unit and classifying the I/O request when the I/O request is issued;
the queue storage module is used for storing the I/O requests classified by the filtering unit by the queue management unit;
and the I/O request extraction and transmission module is used for the control unit to extract the stored I/O request from the queue management unit for processing and management and transmit the processing result to the user layer through the I/O request processing feedback routine.
And in the third aspect, a Windows user file system development method is provided, wherein a user-mode file system access entry and a synchronous object are created by using the Windows user file system development framework building method, and the access entry transmits the synchronous object and an access path to a kernel driver through the programming interface.
Further, the method also comprises the following steps: and creating a user mode file system service process, wherein the user mode file system service process manages and processes the I/O request.
In a fourth aspect, an electronic device is provided, which includes a processor, a memory, and an executable program stored on the memory and capable of being executed by the processor, and when the processor executes the executable program, the Windows user file system development framework building method is executed.
In a fifth aspect, a computer-readable storage medium is provided, on which a computer program is stored, wherein the program, when executed by a processor, implements the Windows user file system development framework building method as described above.
The invention has the beneficial effects that:
(1) the invention exposes the development programming interface to the outside through the kernel layer filter driver and the support of the operation environment library, and places the realization part of the kernel-mode file system on the user layer for processing, thereby reducing the development difficulty of the Windows user file system and being easier to adapt to the service;
(2) the file system is developed on the original file system drive layer, a new volume or a network driver does not need to be newly built, and the original kernel code structure cannot be damaged;
(3) the development framework of the invention is modularized, is convenient for management, is easy to update, and has high system development efficiency and system updating efficiency.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic flow chart of a method for building a Windows user file system development framework according to the present invention.
FIG. 2 is a diagram of a Windows user file system development framework of the present invention.
FIG. 3 is a schematic diagram of a Windows user file system development framework building system of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
Example one
In one embodiment, as shown in fig. 1 and fig. 2, a method for building a Windows user file system development framework is provided, the method comprising the steps of:
s1, establishing a background service process which is compiled with a dynamic link library on a user layer, wherein the dynamic link library provides a programming interface for packaging functions corresponding to ioctl operation.
Optionally, the step S1 includes:
s11, a user layer creates a background service process which is compiled with a dll library, and the dll library is written with a function interface set by an export keyword as a programming interface;
s12, packaging functions corresponding to ioctl operation by the programming interface.
It should be noted that the background service process written with dll library is located in the environment subsystem. In addition, there are two kinds of function interfaces that need export keyword setting, one is file system registration related interface function, including but not limited to setting path function, creating file table function, file system mount function, file system unload function; another interface function related to processing file I/O requests is shown in Table 1, and includes, but is not limited to, an open file function, a read file function, a write file function, a query file attribute function, a modify file attribute function, a query directory tree function, a view file security descriptor function, a modify file security descriptor function, and a close file function.
TABLE 1 File I/O request handling related interface function
IRP type Means of Service interface
IRP_MJ_CREATE Opening, creating files cp_Create
IRP_MJ_READ Reading documents cp_Read
IRP_MJ_WRITE Writing files cp_Write
IRP_MJ_QUERY_INFORMATION Querying file attributes cp_QueryInfo
IRP_MJ_SET_INFORMATION Modifying file attributes cp_SetInfo
IRP_MJ_DIRECTORY_CONTROL Querying a directory tree cp_DirCtl
IRP_MJ_QUERY_SECURITY Querying file security descriptors cp_QuerySecurity
IRP_MJ_SET_SECURITY Modifying file security descriptors cp_SetSecurity
IRP_MJ_CLOSE Closing file objects cp_Close
To facilitate understanding, an example of operation is provided:
after the user-mode file system is started, the background service process uses the packaged special ioctl to operate an I/O request with an IRP type of IRP _ MJ _ CREATE obtained from a kernel driver, which indicates that the I/O request is a request for opening or creating a file, the background service process uses a cp _ Create service interface to process the request, and transmits parameters such as an opening path, an operation type, an access authority and the like, an interface function is actually realized by the user-mode file system, and the user-mode file system completes the actual operation of the opening request.
And S2, binding the kernel driver with a kernel mode file system.
Optionally, the step S2 includes:
s21, the kernel driver creates a control filtering equipment object, a volume filtering equipment object and a registration equipment object;
s22, the volume control device controls the filtering device object to bind with a drive control device of a kernel-state file system;
s23, binding the volume filtering device object with a drive volume device of a kernel-state file system;
and S24, registering and naming the registered equipment object in a kernel-mode file system equipment manager.
It will be appreciated that, when the control device is named and registered with the device object manager, the user layer program may open the control device via the device name to obtain a handle to establish communication with the control device in the form of a file.
It can also be understood that the Windows system has two file system drivers of exFat and NTFS, the C/D/E volume is in NTFS format, and the Z volume is in exFat format. The NTFS driver is provided with control equipment \ DEV \ Ntfs, and three unnamed volume devices are respectively bound with equipment objects corresponding to the C/D/F volume, namely \ Device \ Harddisk volume [ digital sequence ]; the exFat driver is provided with a control device \ DEV \ exFat, and an unnamed volume device binds a Z volume.
In the technical scheme, a kernel driver creates anonymous control filtering device object binding file system driver control devices such as DEV/Ntfs, \ DEV/exFat and the like; creating an anonymous volume filtering Device object binding file system driver volume Device, such as \ Device \ Harddiskvolume 1; and creating a registered device object representing the device, and setting device extensions of various device objects.
And S3, a kernel driving creation filtering unit, a queue management unit and a control unit.
And S4, the control unit sets an I/O request processing feedback routine, sets a kernel-mode file system control routine, and performs coding interaction with the programming interface through ioctl control codes.
The specific operation mode of the control unit and the programming interface for carrying out the encoding interaction step through the ioctl control code is as follows:
the control unit sets an ioctl control code;
and the control unit introduces the ioctl control code into a header file and shares the user layer code.
It is worth to be noted that the control unit of the present invention is a main channel for the kernel driver to communicate with the user layer, and the user layer opens the handle through the shared header file, establishes communication with the kernel driver, and completes a series of communication operations such as filtering setting, obtaining a request, transmitting a request processing result, and the like.
It should be noted that, when the user layer program of the present invention obtains an I/O request, the control unit will remove the I/O request in the pending request list and insert the I/O request into the pending I/O request list.
To facilitate understanding, an example of operation is provided:
and when the user layer uses a DeviceIoControl function and takes the IOCTL _ SET _ FILE _ SYSTEM as a control CODE parameter in the function, the control CODE transmits the filtering path and a synchronization object to a kernel driver, and the kernel driver responds to the operation, inserts the path into a filtering path table and starts the filtering function.
And S5, when the I/O request is sent to a kernel state file system through an application program, an environment subsystem and an IO manager in sequence, the filtering unit intercepts the I/O request and classifies the I/O request.
Optionally, the step S5 includes:
s51, the filtering unit creates a filtering path table;
s52, when an I/O request is issued, the filtering unit intercepts the I/O request and judges whether the I/O request is sent to file system volume equipment and a target path is in a filtering path table; if yes, sending the I/O request to a queue management unit for storage; if not, the file is sent to the kernel-mode file system.
To facilitate understanding, an example of operation is provided:
when the Create request reaches the filter driver, the MajorFunction field in the IRP packet STACK unit structure IO _ STACK _ LOCATION is IRP _ MJ _ Create, which indicates that the request is a request for an open operation, analyzes a DeviceObject device object of the STACK unit, judges to which type of device object the request is sent according to the device extension information of the DeviceObject device object, and if the type of device is a registered device, enters a registered device request processing routine, and if the type of device is a volume filter device, enters a volume filter device request processing routine. After entering a volume filtering device request processing routine, analyzing the FILE _ OBJECT pointed by the FILE OBJECT pointer of the stack unit, comparing FILE paths in the FILE _ OBJECT, judging whether a target path is in a filtering path table, if so, entering a FILE I/O routine to be processed, otherwise, issuing the FILE I/O routine to a FILE system driver.
And S6, the queue management unit stores the I/O requests classified by the filtering unit.
Optionally, the step S6 includes:
s61, the queue management unit sets an I/O request storage format, and creates an I/O request queue to be processed, an I/O request queue in processing and a redo I/O request queue;
and S62, according to the I/O request storage format, the queue management unit stores the I/O requests classified by the filtering unit in a classified manner.
It should be noted that saving the I/O request requires saving information such as IRP, IO stack unit, and allocated memory space.
It should be noted that the request processing list includes three lists, i.e., a pending list, a processing list and a redo list, where the pending list stores I/O requests to be processed, the processing list stores I/O requests being processed, and the redo list stores I/O requests to be reprocessed when the processing of the request fails.
And S7, the control unit extracts the stored I/O request from the queue management unit for processing and management, and transmits a processing result to an application program of a user layer through the I/O request processing feedback routine.
According to the technical scheme of the embodiment, the development programming interface is exposed to the outside through the kernel layer filter driver and the support of the operation environment library, the implementation part of the kernel-mode file system is processed in the user layer, the development difficulty of the Windows user file system is reduced, and the adaptation service is easier.
Example two
In one embodiment, as shown in fig. 3, a Windows user file system development framework building system is provided, the system comprising:
a first creating module 1001, configured to create, on a user layer, a background service process programmed with a dynamic link library, where the dynamic link library provides a programming interface for encapsulating a function corresponding to an ioctl operation;
a binding module 1002, configured to bind the kernel driver with a kernel-mode file system;
a second creating module 1003, configured to create, by the kernel driver, a filtering unit, a queue management unit, and a control unit;
a control unit setting module 1004, configured to set an I/O request processing feedback routine, set a kernel-mode file system control routine, and perform coding interaction with the programming interface through ioctl control codes;
a filtering classification module 1005, configured to intercept, when an I/O request is issued, the I/O request by the filtering unit, and classify the I/O request;
a queue storage module 1006, configured to store, by the queue management unit, the I/O request classified by the filtering unit;
an I/O request extraction and transmission module 1007, configured to the control unit extracts the saved I/O request from the queue management unit for processing and management, and transmits the processing result to the user layer through the I/O request processing feedback routine.
In the technical scheme of this embodiment, the first creating module 1001 is configured to create a background service process in which a dynamic link library is compiled on a user layer, where the background service process provides a programming interface through the dynamic link library; a binding module 1002, configured to bind the kernel driver with a kernel-mode file system; a second creating module 1003, configured to create, by the kernel driver, a filtering unit, a queue management unit, and a control unit; the control unit setting module 1004 is used for setting an I/O request processing feedback routine, setting a kernel-mode file system control routine and carrying out coding interaction with a programming interface through ioctl control codes by the control unit; a filtering classification module 1005, configured to intercept and classify the I/O request by the filtering unit when the I/O request is issued; a queue storage module 1006, configured to store the I/O requests classified by the filtering unit by the queue management unit; an I/O request extraction and transmission module 1007, configured to the control unit extract the saved I/O request from the queue management unit for processing and management, and transmit the processing result to the user layer through an I/O request processing feedback routine. The technical problem that development frames are not easy to manage in the prior art is solved. By developing the file system on the original file system drive layer, a new volume or a network driver does not need to be newly built, and the original kernel code structure cannot be damaged. Meanwhile, the development framework is modularized, management is convenient, updating is easy, system development efficiency is high, and system updating efficiency is high.
EXAMPLE III
In one embodiment, a Windows user file system development method is provided, wherein a user-mode file system access entry and a synchronization object are created by using the Windows user file system development framework construction method of the first embodiment, and the access entry transmits the synchronization object and an access path to a kernel driver through a programming interface.
Optionally, the method further comprises the steps of: and creating a user mode file system service process, wherein the user mode file system service process manages and processes the I/O request.
According to the technical scheme of the embodiment, the user mode file system access entry realizes the registration of the user mode file system through the programming interface, so that the information of the development operation can be sequentially transmitted to the kernel driver and the kernel mode file system, and the development and application of the kernel mode file system are completed.
Example four
In one embodiment, an electronic device is provided, and includes a processor, a memory, and an executable program stored on the memory and capable of being executed by the processor, where the Windows user file system development framework building method according to the first embodiment is executed when the executable program is executed by the processor.
EXAMPLE five
In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, where the computer program is executed by a processor to implement the Windows user file system development framework building method according to the first embodiment.
Computer storage media for embodiments of the invention may employ any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The above-mentioned embodiments only express several embodiments of the present invention, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the inventive concept, which falls within the scope of the present invention. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (8)

1. A Windows user file system development framework building method is characterized by comprising the following steps:
establishing a background service process which is programmed with a dynamic link library on a user layer, wherein the dynamic link library provides a programming interface for packaging functions corresponding to ioctl operation;
binding the kernel driver with a kernel-mode file system;
the kernel drives and establishes a filtering unit, a queue management unit and a control unit;
the control unit sets an I/O request processing feedback routine, sets a kernel-mode file system control routine, and performs coding interaction with the programming interface through ioctl control codes;
when an I/O request is issued, the filtering unit intercepts the I/O request and classifies the I/O request;
the queue management unit stores the I/O request classified by the filtering unit;
the control unit extracts the stored I/O request from the queue management unit for processing and management, and transmits a processing result to a user layer through the I/O request processing feedback routine;
the step of binding the kernel driver and the kernel-mode file system comprises the following steps:
the kernel driver creates a control filtering device object, a volume filtering device object and a registration device object;
the control filtering equipment object is bound with a drive control equipment of the kernel-mode file system;
the volume filter device object binds a drive volume device of the kernel-state file system;
the registered equipment object is registered and named in a kernel-mode file system equipment manager;
when the I/O request is issued, the filtering unit intercepts the I/O request and classifies the I/O request, including:
the filtering unit creates a filtering path table;
when an I/O request is issued, the filtering unit intercepts the I/O request and judges whether the I/O request is sent to file system volume equipment and a target path is in a filtering path table; if yes, sending the I/O request to a queue management unit for storage; if not, the file is sent to the kernel-mode file system.
2. The Windows user file system development framework building method of claim 1, wherein the control unit performs a coding interaction step with the programming interface through ioctl control codes, including:
the control unit sets an ioctl control code;
and the control unit introduces the ioctl control code into a header file and shares the user layer code.
3. The Windows user file system development framework building method of claim 1, wherein the step of the queue management unit saving the I/O requests classified by the filtering unit comprises:
the queue management unit sets an I/O request storage format and creates an I/O request queue to be processed, an I/O request queue in processing and a redo I/O request queue;
and according to the I/O request storage format, the queue management unit classifies and stores the I/O requests classified by the filtering unit.
4. A Windows user file system development framework building system, the system comprising:
the system comprises a first establishing module, a second establishing module and a third establishing module, wherein the first establishing module is used for establishing a background service process which is programmed with a dynamic link library on a user layer, and the dynamic link library provides a programming interface for packaging functions corresponding to ioctl operation;
the binding module is used for binding the kernel driver with the kernel-mode file system;
the second establishing module is used for establishing a filtering unit, a queue management unit and a control unit in a kernel drive;
the control unit setting module is used for setting an I/O request processing feedback routine, setting a kernel-mode file system control routine and carrying out coding interaction with the programming interface through ioctl control codes by the control unit;
the filtering and classifying module is used for intercepting the I/O request by the filtering unit and classifying the I/O request when the I/O request is issued;
the queue storage module is used for storing the I/O requests classified by the filtering unit by the queue management unit;
an I/O request extraction and transmission module, which is used for the control unit to extract the stored I/O request from the queue management unit for processing and management and transmit the processing result to the user layer through the I/O request processing feedback routine;
wherein the binding the kernel driver with the kernel-mode file system further comprises:
the kernel driver creates a control filtering device object, a volume filtering device object and a registration device object;
the control filtering equipment object is bound with a drive control equipment of the kernel-mode file system;
the volume filter device object binds a drive volume device of the kernel-state file system;
the registered equipment object is registered and named in a kernel-mode file system equipment manager;
the filtering unit is used for intercepting the I/O request and classifying the I/O request when the I/O request is issued, and further comprises:
the filtering unit creates a filtering path table;
when an I/O request is issued, the filtering unit intercepts the I/O request and judges whether the I/O request is sent to file system volume equipment and a target path is in a filtering path table; if yes, sending the I/O request to a queue management unit for storage; if not, the file is sent to the kernel-mode file system.
5. A Windows user file system development method is characterized in that a user-mode file system access entry and a synchronous object are created by using the Windows user file system development framework building method of any one of claims 1 to 3, and the access entry transmits the synchronous object and an access path to a kernel driver through a programming interface.
6. The Windows user file system development method of claim 5, further comprising the steps of: and creating a user mode file system service process, wherein the user mode file system service process manages and processes the I/O request.
7. An electronic device, comprising a processor, a memory and an executable program stored on the memory and capable of being executed by the processor, wherein the processor executes the executable program and executes the Windows user file system development framework building method according to any one of claims 1 to 3.
8. A computer-readable storage medium on which a computer program is stored, the program, when executed by a processor, implementing the Windows user file system development framework building method according to any one of claims 1 to 3.
CN202210072604.1A 2022-01-21 2022-01-21 Windows user file system development framework building method and system and application thereof Active CN114090072B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210072604.1A CN114090072B (en) 2022-01-21 2022-01-21 Windows user file system development framework building method and system and application thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210072604.1A CN114090072B (en) 2022-01-21 2022-01-21 Windows user file system development framework building method and system and application thereof

Publications (2)

Publication Number Publication Date
CN114090072A CN114090072A (en) 2022-02-25
CN114090072B true CN114090072B (en) 2022-04-26

Family

ID=80309078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210072604.1A Active CN114090072B (en) 2022-01-21 2022-01-21 Windows user file system development framework building method and system and application thereof

Country Status (1)

Country Link
CN (1) CN114090072B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118012839B (en) * 2024-01-12 2024-09-20 湖南国科亿存信息科技有限公司 Method, device and system for file service system to transfer file layout in user mode
CN117724905B (en) * 2024-02-05 2024-04-19 成都云祺科技有限公司 Real-time copying method, system and recovery method of file system under Linux

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571448B1 (en) * 2004-07-28 2009-08-04 Symantec Corporation Lightweight hooking mechanism for kernel level operations
CN103617039A (en) * 2013-11-28 2014-03-05 北京华胜天成科技股份有限公司 Method and device for accessing user space file system
CN103747064A (en) * 2013-12-26 2014-04-23 广东中科遥感技术有限公司 Mounting method, client and system based on MooseFS distributed file system
CN105138565A (en) * 2015-07-23 2015-12-09 浪潮(北京)电子信息产业有限公司 File processing method and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1270229C (en) * 2002-12-31 2006-08-16 上海科泰世纪科技有限公司 Method of realizing cross address space establishing construction member target based on dynamic core
US8495750B2 (en) * 2010-08-31 2013-07-23 International Business Machines Corporation Filesystem management and security system
CN104123229B (en) * 2014-07-21 2017-10-24 上海斐讯数据通信技术有限公司 Message can be made efficiently to be submitted to the method and system of User space from kernel state
US20200319944A1 (en) * 2019-04-02 2020-10-08 International Business Machines Corporation User-space parallel access channel for traditional filesystem using capi technology

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571448B1 (en) * 2004-07-28 2009-08-04 Symantec Corporation Lightweight hooking mechanism for kernel level operations
CN103617039A (en) * 2013-11-28 2014-03-05 北京华胜天成科技股份有限公司 Method and device for accessing user space file system
CN103747064A (en) * 2013-12-26 2014-04-23 广东中科遥感技术有限公司 Mounting method, client and system based on MooseFS distributed file system
CN105138565A (en) * 2015-07-23 2015-12-09 浪潮(北京)电子信息产业有限公司 File processing method and system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Dokan官方说明文档;子健儿;《https://www.cnblogs.com/langren1992/p/5226524.html》;20160229;第1-4页 *
一种Linux下基于Upnp和FUSE的虚拟网络用户文件系统的构建与研究;裴鹏真;《软件》;20140131;第35卷(第1期);第75-78页 *

Also Published As

Publication number Publication date
CN114090072A (en) 2022-02-25

Similar Documents

Publication Publication Date Title
CN114090072B (en) Windows user file system development framework building method and system and application thereof
US11016932B2 (en) Systems, methods, and apparatuses for simplifying filesystem operations utilizing a key-value storage system
US9135322B2 (en) Environment classification
US5511196A (en) Method and system in a data processing system for the enhancement of relationships between reference objects in an object oriented environment and a data object outside an object oriented environment
US5442779A (en) System and method for enabling an interpreted programming language to be executed in a database management system environment
US7567968B2 (en) Integration of a non-relational query language with a relational data store
US6871245B2 (en) File system translators and methods for implementing the same
US9836471B2 (en) System and method of handling file metadata
CN100399310C (en) Information processing apparatus, information processing method, program and recording medium used therewith
US5124909A (en) Software program for providing cooperative processing between personal computers and a host computer
US7877567B2 (en) Transporting image files
JP2680255B2 (en) System and method for transferring data in an object oriented environment
CN100504873C (en) Method and system for managing an archived file system
US20050187974A1 (en) Modularized extraction, transformation, and loading for a database
KR102263357B1 (en) System for supporting user-level dma i/o in distributed filesystem environment and method for the same
WO2024113717A1 (en) Zns ssd-based file system control method, apparatus and device
US20070174360A1 (en) Storage system embedding database
CN109739828A (en) Data processing method and device and computer readable storage medium
US5996030A (en) System for providing an interrogating host computer with group status information about disk devices including status information regarding disk devices not accessible to said host
US8489559B2 (en) Methods and apparatus for conversion of content
US20020143793A1 (en) Method and apparatus for providing file system access to a disk array
CN114416057A (en) Project code packaging method and device, terminal equipment and storage medium
CN115438066A (en) Data retrieval processing method and system
CN114328119A (en) Database monitoring method, system and server
US20080040404A1 (en) Host computer I/O filter re-directing potentially conflicting I/O commands from instantiations of legacy application

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant