Data processing method, device and computer program product
By optimizing the layout of files and file records on the storage medium, the problem of low storage medium efficiency caused by scattered file distribution is solved, and the hardware performance is fully utilized.
Patent Information
- Application Number
- CN202510997284.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-18
- Publication Date
- 2025-11-07
AI Technical Summary
The scattered distribution of files and file records in the file system leads to low data access efficiency on the storage medium and makes it difficult to fully utilize hardware performance.
The layout of files and file records is optimized by determining the physical addresses of target file fragments and file records on the storage medium and moving them to the target location.
It improves the read and write efficiency of storage media, fully utilizes hardware performance, and reduces seek time and data transmission latency.
Smart Images

Figure CN120909509A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of information technology, and in particular, to a data processing method, device and computer program product. BACKGROUND
[0002] In the related art, in order to make full use of resources, a file system will store files in different locations of a storage medium. As the running time increases, the degree of dispersion of the files will increase. The dispersed distribution of the file fragments will result in low efficiency of accessing data in the storage medium and the hardware performance cannot be fully released.
[0003] When reading a file, the file system needs to read the file record in the metadata file to determine the distribution and location of the file data on the storage medium. However, the file record in the metadata file is also in a scattered state. SUMMARY
[0004] To overcome the problems in the related art, the present disclosure provides a data processing method, device and computer program product to change the scattered distribution state of the files and file records on the storage medium, optimize the layout of the files and file records on the storage medium, and thus improve the read-write efficiency of the storage medium and fully release the hardware performance.
[0005] According to a first aspect of an embodiment of the present disclosure, a data processing method is provided, comprising:
[0006] determining a physical address of a target file fragment on a storage medium;
[0007] determining a target file record of the target file fragment from a metadata file, and determining a physical address of the target file record on the storage medium;
[0008] moving the target file fragment and the target file record to a target location of the storage medium based on the physical address of the target file fragment and the physical address of the target file record.
[0009] According to a second aspect of an embodiment of the present disclosure, a data processing device is provided, comprising:
[0010] a first determining module configured to determine a physical address of a target file fragment on a storage medium;
[0011] a second determining module configured to determine a target file record of the target file fragment from a metadata file, and determine a physical address of the target file record on the storage medium;
[0012] a rearranging module configured to move the target file segment and the target file record to a target location of the storage medium based on the physical address of the target file segment and the physical address of the target file record.
[0013] In a third aspect, the present disclosure provides an electronic device, comprising:
[0014] a processor;
[0015] a memory for storing processor-executable instructions;
[0016] The processor executes the computer program or instructions to implement the steps of the method of any one of the first aspect.
[0017] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium is provided, which stores computer programs or instructions, and when the computer programs or instructions in the storage medium are executed by a processor, the steps of the method of any one of the first aspect are implemented.
[0018] According to a fifth aspect of the present disclosure, a computer program product is provided, which comprises computer programs or instructions, and when the computer programs or instructions are executed by a processor, the steps of the method of any one of the first aspect are implemented. The technical solutions provided by the embodiments of the present disclosure can include the following beneficial effects:
[0019] The present disclosure first determines the physical address of the target file segment in the storage medium, and determines the target file record and its physical address from the metadata file, and then moves the target file segment and the target file record to the target location of the storage medium based on the physical address of the target file segment and the physical address of the target file record.
[0020] In this way, the current scattered locations of the file and the file record can be accurately located, and the file and the file record can be concentrated to the target location. The storage medium I / O operation no longer needs to search and read the file segment and the file record in multiple scattered locations, which greatly reduces the storage medium seek time and data transmission delay, and further fully utilizes the performance of the storage medium hardware. In this way, the problem of reduced I / O efficiency of the storage medium caused by file scattering is directly addressed, the scattered distribution state of the file and the file record on the storage medium is changed, the layout of the file and the file record on the storage medium is optimized, and the read-write efficiency of the storage medium is improved, and the hardware performance is fully utilized.
[0021] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0022] The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, further serve to explain the principles of the present disclosure.
[0023] Figure 1 is a flow chart of a data processing method according to an example embodiment.
[0024] Figure 2 is a flow chart of another data processing method according to an example embodiment.
[0025] Figure 3A is a bitmap diagram according to an example embodiment.
[0026] Figure 3B is another bitmap diagram according to an example embodiment.
[0027] Figure 4 is a block diagram of a data processing apparatus according to an example embodiment.
[0028] Figure 5 is a structural diagram of an electronic device according to an example embodiment. DETAILED DESCRIPTION
[0029] The example embodiments will be described in detail herein with reference to the accompanying drawings. When the description below refers to accompanying drawings, unless otherwise stated, the same numbers in different drawings refer to the same or similar elements. The embodiments described in the following example embodiments are not representative of all embodiments consistent with the present disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the present disclosure, as detailed in the appended claims.
[0030] The present disclosure proposes a data processing method, Figure 1 is a flow chart of a data processing method according to an example embodiment. As shown in the figure, the method mainly includes the following steps: Figure 1
[0031] In step 101, the physical address of the target file segment on the storage medium is determined;
[0032] In step 102, the target file record of the target file segment is determined from the metadata file, and the physical address of the target file record on the storage medium is determined;
[0033] In step 103, based on the physical address of the target file segment and the physical address of the target file record, the target file segment and the target file record are moved to the target location of the storage medium.
[0034] It should be noted that the data processing method provided in the present disclosure can be applied to an electronic device, and can also be applied to a server. Here, the electronic device can include a terminal device, for example, a mobile terminal or a fixed terminal. The mobile terminal can include a mobile phone, a tablet computer, a notebook computer, etc. The fixed terminal can include a desktop computer, a smart television, etc. The server, as a kind of computer, can provide computing or application services for other clients (such as computers, smart phones, etc. terminal devices, and even large equipment such as train systems) in a network.
[0035] The data processing method in the embodiments of the present disclosure can be configured in a data processing apparatus, which can be arranged in a server or can also be arranged in an electronic device, and the embodiments of the present disclosure do not limit this.
[0036] It should be noted that the execution subject of the embodiments of the present disclosure can be, for example, a central processing unit (CPU) in a server or an electronic device in hardware, and can be, for example, a related background service in a server or an electronic device in software, and the present disclosure does not limit this.
[0037] In the starting process of the application program, the file segment can include code and resource segments that need to be loaded into the memory during the running of the application program. For example, the file segment can include executable code of the application program, a dynamic link library (DLL), a configuration file, a resource file (such as an icon, a string, etc.), etc.
[0038] In some embodiments, the target file segment can be any file segment in the storage medium. In the embodiments of the present disclosure, the physical address of the target file segment on the storage medium can be determined. The physical address can be the logical cluster number (LCN) of the target file segment on the storage medium. The storage medium can include a U disk, an optical disk, a solid state disk, a magnetic tape, etc. For example, the storage medium can be a hard disk of an electronic device.
[0039] In some embodiments, the target file fragment can be a file fragment required for application startup. Illustratively, after the application is successfully started, the file fragment required during the application startup process can be determined and identified as the target file fragment. For each successful startup of the application, the rearrangement of the file fragment is triggered, i.e., the following steps are performed: determining the physical address of the target file fragment on the storage medium, determining the target file record of the target file fragment from the metadata file, and determining the physical address of the target file record on the storage medium, moving the target file fragment and the target file record to the target location of the storage medium based on the physical address of the target file fragment and the physical address of the target file record. It should be noted that the metadata file is used to store and manage the relevant information of the file record, which can include the metadata of the file, such as the file name, size, creation time, modification time, access permission, and the physical address of the file record on the storage medium, etc. In some embodiments, the metadata file can include a Master File Table (MFT) file, i.e., an MFT file. In other embodiments, the metadata file can also include a File Allocation Table (FAT) file, i.e., a FAT file.
[0040] In some embodiments, the physical address of the target file fragment on the storage medium can be determined by calling the storage medium file system interface or using a storage medium analysis tool. In the file system interface-based manner, the storage medium arrangement software sends a query instruction to the file system, taking the identifier of the target file fragment as the input parameter, and the file system finds the corresponding file record (target file record) in the directory structure based on the identifier, and then determines the physical address of the target file fragment on the storage medium based on the target file record.
[0041] Illustratively, the physical address of the target file fragment on the storage medium can be obtained by sending an input / output (I / O) request of FSCTL_GET_RETRIEVAL_POINTERS to the Windows system.
[0042] Here, the logical cluster number (LCN) of the target file fragment on the storage medium can be obtained by sending an I / O request of FSCTL_GET_RETRIEVAL_POINTERS to the Windows system. FSCTL_GET_RETRIEVAL_POINTERS is a control code for retrieving the storage location of file data on the storage medium. By sending the I / O request to the Windows system and associating it with the target file fragment, the system returns the physical address information of the target file fragment on the storage medium, i.e., the LCN, thereby achieving accurate positioning of the physical location of the target file fragment on the storage medium.
[0043] In the manner of using the storage medium analysis tool, the storage medium analysis tool can scan the storage medium sectors one by one, parse the file to which each sector belongs according to the file system format and rules, and thus determine the physical address of the target file fragment. In addition, in the NTFS file system environment, the pointer to the physical storage location of the file fragment can be obtained by parsing the record (target file record) of the target file in the master file table (MFT), and thus the physical address of the target file fragment can be determined.
[0044] It should be noted that the master file table (MFT) is a core component of the NTFS file system, and stores the metadata information of each file in the file system. Determining the target file record of the target file fragment from the metadata file means finding the record corresponding to the target file fragment by parsing the entries in the MFT. The record contains detailed information of the target file fragment, such as file attributes, file size, storage location (such as LCN) of the file fragment on the storage medium, etc.
[0045] In the embodiments of the present disclosure, after the target file record is determined, the physical location of the target file record on the storage medium can be determined. For example, when parsing the storage medium data, the location of all file records can be located according to the NTFS file system rules, the entire metadata file is traversed and each file record is parsed, the virtual address of the corresponding file record of the file is determined first, and then the virtual address is mapped to the physical address on the storage medium. For example, the virtual cluster number (VCN) of the file record can be mapped to the LCN on the storage medium.
[0046] In other embodiments, determining the target file record of the target file fragment from the master file table metadata file and determining the physical address of the target file record on the storage medium comprises:
[0047] determining the file information of the target file fragment, and determining the target file record based on the file information;
[0048] determining the physical address of the target file record on the storage medium from the physical address of the file record of the metadata file in the target array.
[0049] In some embodiments, the file information of the target file fragment can be obtained through the file system interface or the storage medium analysis tool. The file information includes but is not limited to the file name, the file size, the creation time, the modification time, the access time, the file attributes (such as read-only, hidden, etc.), the virtual cluster number (VCN) range of the file, and the record number of the file in the MFT (for example, Record Number in the MFT Header).
[0050] Exemplarily, the file information of the target file segment is queried through the file system interface to obtain basic information such as a file name, a file size, a timestamp, file attributes, and a record number of the file in a metadata file, then the corresponding record position in the metadata file is accessed according to the obtained record number, and the MFT record is parsed to extract the file attribute information and the position information (such as a VCN to LCN mapping relationship) of the file data, and then the physical position of the target file record on the storage medium is determined through the VCN to LCN mapping relationship obtained by parsing, so as to determine the target file record.
[0051] In some embodiments, the file identification corresponding file record can be stored in advance, and in the case of needing to determine the file record, the file identification to be processed can be compared with the file identification stored in advance, and then the corresponding file record, that is, the target file record, is determined.
[0052] In some embodiments, in the case that the file information includes the file identification, the target file record is determined based on the file information, including:
[0053] The file identification is compared with the preset identification in the target array in sequence to determine the target identification matched with the file identification.
[0054] The file record corresponding to the target identification is determined as the target file record.
[0055] In some embodiments, the target array can be a structured data table, which contains a plurality of entries, and each entry corresponds to a file record in the metadata file. At least the preset identification (such as the Record Number of the file record or the hash value of the file name) and the physical address of the corresponding file record are stored in each entry.
[0056] In some embodiments, the preset identification and the physical address of each file record can be obtained by scanning the metadata file and stored in the target array. The preset identification can be a unique identifier such as the Record Number of the file record or the hash value of the file name.
[0057] When the target file record needs to be determined, the file identification can be extracted from the file information. For example, the file identification can be a unique identifier of the file (such as the full path of the file name or the hash value of the file), and each entry in the target array is traversed, and the file identification is compared with the preset identification in each entry in sequence. The comparison algorithm used can be selected according to the type of the preset identification. For example, if the preset identification is the hash value of the file name, the corresponding hash comparison algorithm is used, and if it is the Record Number, numerical comparison is performed.
[0058] When a preset identifier matching the file identifier is found, the preset identifier is determined as the target identifier. The preset identifier matching the file identifier can be a preset identifier identical to the file identifier or a preset identifier having a similarity greater than a preset similarity threshold to the file identifier. Then, the physical address of the target file record is obtained according to the entry corresponding to the target identifier. The present disclosure can quickly and accurately determine the target file record from the target array, reduce the comparison complexity of the file identifier and the preset identifier by using the pre-constructed target array, thereby improving the efficiency of file record retrieval and providing accurate file record information for subsequent file arrangement operations.
[0059] In some embodiments, when the file information includes file header information, determining the target file record based on the file information includes:
[0060] parsing the target file segment from the file header information to obtain a target serial number of a file record to which the target file segment belongs;
[0061] determining, as the target file record, a file record having the target serial number in the target array.
[0062] It should be noted that the serial number of the file record can be a serial number of the file record in the metadata file, used to indicate the position of the file record in the metadata file, i.e., the sequential offset of the current file record relative to the first file record. The sequential offset refers to the positional relationship of the file record in the metadata file, which can be the relative sequential position between the current file record and the first file record. In the metadata file, the file records can be arranged in a preset order, and each file record can have a unique serial number used to identify the position of the file record in the metadata file. In some embodiments, the sequential offset of the file record can be indicated by the serial number, for example, if the serial number of a file record is 5, the sequential offset of the file record can be 4, indicating that the file record is located at the 4th position after the first file record.
[0063] In some embodiments, the file header information can be accessed by using an application programming interface (API) provided by an operating system, where the file header information contains basic attributes of the file and metadata used by the system internally to manage the file. In some embodiments, the file header information of the target file segment can be obtained by calling an API function and inputting an identifier (such as a file path) of the target file segment, where the file header information can include the size, creation time, access time, file attributes (such as read-only, hidden, etc.), and target serial number of the file record to which the target file segment belongs, and other key metadata.
[0064] Exemplarily, if the metadata file includes two metadata file segments, the first metadata file segment includes 5 file records, the second metadata file segment includes 3 file records, and the target sequence number of the file record to which the target file segment belongs is parsed from the file header information as 8, the third file record in the second metadata file segment can be determined as the file record to which the target file segment belongs, i.e., the target file record.
[0065] After the target file record is determined, the physical address of the target file record on the storage medium can be determined from the physical addresses of the file records of the metadata file pre-stored in the target array. The target array pre-stores the physical addresses of the file records in the metadata file. The target array can be constructed in the system initialization stage or the file preprocessing stage. Exemplarily, the physical addresses of each file record can be obtained by pre-scanning the entire metadata file, and the physical addresses are stored in the target array. When the physical address of the target file record is needed to be determined, the record number of the target file record in the metadata file is directly used as an index to quickly find the corresponding physical address in the target array.
[0066] By pre-storing the physical addresses of the file records in the metadata file, the traditional real-time traversal parsing MFT mode is changed from the bottom principle. After the target file record is determined, the corresponding physical address is quickly located in the target array, which greatly improves the searching efficiency, avoids the repeated scanning and parsing overhead of MFT, and significantly shortens the time consumption of determining the physical address.
[0067] In some embodiments, the method further includes generating a target array, including:
[0068] For each of the file records in the metadata file, determining the physical address of the file record;
[0069] Based on the record identification and / or sequence number of all the file records in the metadata file, storing the physical address of the file record to an initial array to obtain the target array.
[0070] In the parsing operation on the metadata file, for each file record in the metadata file, the physical address of the file record can be determined, and then the obtained physical address of the file record can be stored in the initial array one by one according to the record identifier and / or the serial number of all file records in the metadata file, to obtain the target array. It should be noted that the initial array refers to an array structure defined or created in advance before storing the physical address of the file record. The initial array can include an empty array created in advance or an array containing the physical address of part of the file record. The target array refers to the array finally generated after storing the physical address of the file record, which contains the physical address of each file record in the metadata file. It should be noted that the target array is the output result of the entire processing process. By storing the physical address of the file record in the initial array one by one, the target array can be generated.
[0071] In some embodiments, in the NTFS file system, the physical address of the file record can be determined by querying the related attribute in the MFT entry. For example, each MFT entry contains a data attribute that stores the location of the actual data of the file on the storage medium (disk). The starting cluster number and the size of the file record can be indicated in the data attribute, and the physical address of the file record on the disk can be calculated in combination with the cluster size of the file system. For example, if the starting cluster number of the file is 100, the cluster size is 4 KB, and the file size is 8 KB, the physical address of the file record starts from cluster 100 and occupies two clusters, i.e., the position of 4 KB*100 to 4 KB*101.
[0072] In some embodiments, each file record in the metadata file has a unique record identifier (such as a record number) and a serial number. In order to generate the target array, each file record in the metadata file can be traversed. For example, for a file record with a record identifier of 100 and a serial number of 5, the physical address of the file record can be obtained by parsing the data attribute of the file record, which is cluster number 2048 on the disk. The physical address 2048 of the file record can be stored in the corresponding position of the target array according to the order of the record identifier or the order of the serial number. By establishing the mapping relationship between the identification information of the file record and the physical address through the target array, the physical location of the file can be quickly located according to the record identifier or the serial number.
[0073] The technical scheme of the present disclosure can establish the corresponding relationship between the file record and the physical address, and on the other hand, by the form of the target array, the related file data can be more effectively located and operated according to the target array, thereby improving the efficiency and accuracy of file processing.
[0074] In some embodiments, for each file record in the metadata file, the physical address of the file record is determined, comprising:
[0075] determining a physical address of the metadata file on the storage medium;
[0076] for each file record in the metadata file, determining a metadata file segment in which the file record is located, and based on a position of the file record in the metadata file segment, determining a virtual address of the file record;
[0077] based on the physical address of the metadata file, the virtual address of the metadata file segment, and the virtual address of the file record, determining a physical address of the file record.
[0078] It should be noted that the metadata file can be composed of multiple metadata file segments, and each metadata file segment can include at least one file record.
[0079] In some embodiments, the raw data of the storage medium can be parsed through a storage medium analysis tool or a file system interface. In the NTFS file system, the partition structure and file system metadata of the storage medium contain the location information of the metadata file, and the physical address of the metadata file on the storage medium can be determined. Illustratively, the physical address of the metadata file can be found by parsing the information in the partition boot record (Partition Boot Record) or the volume boot record (Volume Boot Record), and the key structure of the file system, such as the physical address of the metadata file, can be determined.
[0080] For example, the starting position of the metadata file corresponds to a logical cluster number (LCN) of 10, which is determined during the parsing process, and the LCN value is obtained by analyzing the metadata structure of the file system, and can be used to represent the starting physical address of the metadata file on the storage medium, i.e., the offset of the starting position of the metadata file relative to the starting position of the storage medium. In some embodiments, this information can be stored in the super block (Super Block) or other data structure of the file system to indicate the location of the key system file.
[0081] After obtaining the physical address of the metadata file on the storage medium, the physical position of each file record in the metadata file can be further determined based on the physical address of the metadata file on the storage medium. Illustratively, the physical address of each file record on the storage medium can be calculated by traversing each metadata file segment of the metadata file, and combining the relative position of each file record in the metadata file with the physical address of the metadata file on the storage medium. By converting the relative position of the file record to the absolute position on the storage medium, the physical position of each file record can be accurately determined.
[0082] It should be noted that in the NTFS file system, the location of a file record in a metadata file segment refers to the specific offset or logical order of the file record in the metadata file segment. Each metadata file segment can contain multiple file records, and each file record is arranged in a set order, such as sequentially from the start of the metadata file segment. The location of a file record can be determined by its byte offset in the metadata file segment, for example, the first file record starts at offset 0, and the second file record starts at the end of the first record.
[0083] After determining the metadata file segment in which the file record is located and the location of the file record in the metadata file segment, the virtual address of the file record can be determined based on the location of the file record in the metadata file segment. The virtual location of the file record can include the VCN of the file record, which indicates the offset of the location of the file record relative to the start of the metadata file.
[0084] In some embodiments, determining the metadata file segment in which the file record is located and determining the virtual address of the file record based on the location of the file record in the metadata file segment includes:
[0085] Based on the metric attribute of the file record in the metadata file and the metric attribute of the metadata file segment, the number of file records in the metadata file segment is determined;
[0086] Based on the number and the location of the file record in the metadata file segment, the virtual address of the file record is determined.
[0087] It should be noted that the metric attribute of the file record can be fixed. For each metadata file segment, the size of the metadata file segment can be determined, i.e. the metric attribute of the metadata file segment. For example, in the NTFS file system, the metric attribute of the metadata file segment can be obtained, for example, the metric attribute of each metadata file segment can be determined when the file system is created.
[0088] In some embodiments, the metric attribute of the file segment can include the byte length of the file segment. For example, in the file system, the size of the file segment can be represented by the byte length. For example, a file segment contains 1024KB, indicating the size of the space occupied by the file segment on the storage medium. For another example, the size of the metadata file segment can be 4KB or 8KB.
[0089] In other embodiments, the file segment can also be measured based on the start offset and the byte length. For example, a file segment has a start offset of 2048KB and a length of 512KB, indicating that the file segment starts from the position 2048 bytes from the beginning of the file and continues for 512KB.
[0090] In some embodiments, the number of file records in the metadata file segment can be determined based on a ratio of the byte length of the metadata file segment to the byte length of the file records in the metadata file. For example, if the byte length of the metadata file segment is 5KB and the byte length of the file records is 1KB, then the number of file records in the metadata file segment is determined to be 5. If the byte length of the metadata file segment is 3KB and the byte length of the file records is 1KB, then the number of file records in the metadata file segment is determined to be 3.
[0091] After determining the number of file records in the metadata file segment, the virtual address of the file records can be determined based on the number of file records in the metadata file segment and the location of the file records in the metadata file segment. For example, the VCN of the first file record (file record 1) in the metadata file segment is 0, and the VCN of the second file record (file record 2) is 1.
[0092] The present disclosure efficiently determines the virtual address of the file records by calculating the number of file records in the metadata file segment and combining the location of the file records in the segment, thereby reducing complex analysis, simplifying the operation process, and improving file management efficiency.
[0093] After obtaining the virtual address of the file records, the physical address of the file records can be determined based on the physical address of the metadata file, the virtual address of the metadata file segment, and the virtual address of the file records. The physical address of the file records can include the LCN of the file records, which is used to indicate the location of the file records relative to the starting position of the storage medium.
[0094] In some embodiments, determining the physical address of the file records based on the physical address of the metadata file, the virtual address of the metadata file segment, and the virtual address of the file records includes:
[0095] determining the physical address of the metadata file segment based on the physical address of the metadata file and the virtual address of the metadata file segment;
[0096] determining the physical address of the file records based on the physical address of the metadata file segment and the virtual address of the file records.
[0097] It should be noted that the physical address of the metadata file segment is used to indicate the offset of the metadata file segment relative to the starting position of the storage medium.
[0098] For each file record in the metadata file, a virtual address of the metadata file segment in which the file record is located can be determined, wherein the virtual address of the metadata file segment is used to indicate an offset of the location of the metadata file segment relative to the starting location of the metadata file. In some embodiments, the virtual address of the metadata file segment can include the VCN of the metadata file segment. For example, if the VCN of the metadata file segment is 5, it indicates that the offset value of the location of the metadata file segment relative to the starting location of the metadata file is 5; if the VCN of the metadata file segment is 30, it indicates that the offset value of the location of the metadata file segment relative to the starting location of the metadata file is 30.
[0099] Based on the physical address of the metadata file and the virtual address of the metadata file segment, the physical address of the metadata file segment can be determined. After obtaining the physical address of the first metadata file segment, the physical address of the file record in the first metadata file segment can be determined based on the physical address of the first metadata file segment and the virtual address of the file record in the first metadata file segment.
[0100] For example, the physical address (LCN) of the metadata file is 10, and the virtual address (VCN) of the first metadata file segment is 5, then the physical address (LCN) of the first metadata file segment is: 5+10. There are 5 file records in the first metadata file segment, wherein the virtual address of the first file record in the first metadata file segment is 0, the virtual address of the second file record in the first metadata file segment is 1, the virtual address of the third file record in the first metadata file segment is 2, the virtual address of the fourth file record in the first metadata file segment is 3, and the virtual address of the fifth file record in the first metadata file segment is 4, then the physical address of the corresponding file record 1 is: 5+10+0; the physical address of the corresponding file record 2 is: 5+10+1; the physical address of the corresponding file record 3 is: 5+10+2; the physical address of the corresponding file record 4 is: 5+10+3; and the physical address of the corresponding file record 5 is: 5+10+4.
[0101] Exemplarily, the physical address (LCN) of the metadata file is 10, and the virtual address (VCN) of the second metadata file segment is 30, then the physical address (LCN) of the second metadata file segment is: 30+10. There are 3 file records in the second metadata file segment, wherein the virtual address of file record 5 in the second metadata file segment is 0, the virtual address of file record 6 in the second metadata file segment is 1, and the virtual address of file record 7 in the second metadata file segment is 2, then the physical address of the corresponding file record 5 is: 30+10+0; the physical address of the corresponding file record 6 is: 30+10+1; and the physical address of the corresponding file record 7 is: 30+10+2. Wherein, the first metadata file segment and the second metadata file segment can be two adjacent file segments in the storage medium, and the first metadata file segment and the second metadata file segment are both free space.
[0102] After obtaining the physical addresses of the file records in the metadata file, the physical addresses of the file records can be stored in a target array based on the record identifier and / or the serial number of the file records. Exemplarily, an empty target array can be created for storing the physical addresses of the file records and the corresponding identification information. The obtained record identifier, serial number and calculated physical address are stored in the target array. For example, if the record identifier of the file record is 8 and the serial number is 1, an entry is added in the target array: {record identifier: 8, serial number: 1, physical address: 30+10+2}.
[0103] The present disclosure stores the physical addresses of the file records in the metadata file and their identification information in the target array, which provides efficient support for subsequent quick search of the physical addresses of the file records, and avoids the complex operation of real-time parsing of the metadata file.
[0104] After obtaining the physical address of the target file record on the storage medium, the target file segment and the target file record can be moved to the target location of the storage medium based on the physical address of the target file segment and the physical address of the target file record.
[0105] In some embodiments, the available space (target location) on the storage medium can be determined, and it is ensured that there is enough continuous space to accommodate the target file segment and the target file record. The target file segment and the target file record are read from their original physical addresses (the physical address of the target file segment and the physical address of the target file record) to the memory buffer, and then the target file segment and the target file record are written from the buffer to the target location of the storage medium.
[0106] In some embodiments, during the process of moving the target file fragments and the target file records to the target locations on the storage medium, an update operation can be triggered, and the file system can update the metadata structure, including the metadata file and the related allocation table, based on the update operation to indicate the new locations of the file fragments and the file records. The update operation ensures the consistency of the file system and the integrity of the data.
[0107] In some other embodiments, after successfully moving the target file fragments and the target file records to the target locations on the storage medium, the old data on the original locations can be cleaned up, thus completing the rearrangement process of the entire file. Through the file rearrangement scheme of the present disclosure, the layout of the files and the file records on the storage medium is optimized, the storage medium seek time and data access delay are reduced, and the storage medium IO performance is improved.
[0108] In some embodiments, the target location is determined based on the following manner:
[0109] In response to the application completing the startup operation, the target location is determined based on the distribution information of the data on the storage medium and / or the data processing performance of each location on the storage medium.
[0110] In some embodiments, the target file fragments are the file fragments required for the startup of the application.
[0111] It should be noted that when the application startup process ends, the distribution information of the data on the storage medium can be collected, including but not limited to the current locations of the file fragments, the file sizes, the file types, and the usage of each area of the storage medium. At the same time, the data processing performance of each location on the storage medium, such as the read / write speed, the read / write time, etc., is analyzed. According to these information, an optimal target location can be selected, which can be an area on the storage medium with the best read / write performance and capable of providing sufficient continuous space to improve the data access speed and thus optimize the subsequent running performance of the application. Exemplarily, in response to the end of the startup of the application, a bitmap of the storage medium can be obtained, and the target location is determined based on the bitmap of the storage medium. For example, the target location can be determined from a location close to the periphery of the bitmap.
[0112] In some embodiments, after the application completes the startup operation, i.e., successfully starts, the LCN of the target file fragments on the storage medium can be obtained by sending an I / O request of FSCTL_GET_RETRIEVAL_POINTERSD to the volume device driver, and then a continuous and large enough free area (target location) in the volume is found, and the target file fragments are moved to the target location through the FSCTL_MOVE_FILE request, to complete the rearrangement.
[0113] In some embodiments, after the application program is ended, a preset time length can be waited for, and in a case where the preset time length is reached, a target position is determined based on distribution information of data on the storage medium and / or data processing performance of each position on the storage medium, and the target file segment and the target file record are moved to the target position of the storage medium based on a physical address of the target file segment and a physical address of the target file record, wherein the target file segment is a file segment used by the application program in this starting process. The preset time length can be set as needed, for example, 5s, etc. In other embodiments, the preset time length can also be determined according to historical starting time, which is not limited here.
[0114] In other embodiments, after the next starting is started, the file segment required by the application program can be pre-read from the storage medium after the rearrangement, so as to improve the pre-reading speed of the file segment.
[0115] Exemplarily, in a case where the file segment required by the starting of the application program is arranged continuously in the target position of the disk, the file segment required by the starting of the application program can be determined from the target position based on the arrangement order of the file segment in the disk, and the file segment required by the starting of the application program is pre-read to the cache space. The present disclosure determines the target position according to the data distribution and performance of the storage medium after the application program is ended and a preset time length is waited for, and moves the related file segment and record to the position, so as to avoid the operation of the storage medium during the application running, thereby improving the user experience, optimizing the file layout to improve the I / O efficiency of the storage medium, and shortening the subsequent starting time.
[0116] It should be noted that the target file segment and the target file record can have corresponding target positions respectively, that is, the target file segment and the target file record can be stored in continuous target positions, or can be stored in corresponding target positions respectively.
[0117] In some embodiments, in a case where the target file segment and the target file record are moved to the target position of the storage medium, the method further comprises:
[0118] reading the file record from the target position in response to a starting event of the application program;
[0119] determining the file segment required by the starting of the application program based on the file record from the target position.
[0120] It should be noted that the scheme of moving the target file segment and the target file record to the target position of the storage medium (rearrangement operation) in any of the above embodiments of the present disclosure can be applied to any application program related scene. For example, the scheme of moving the target file segment and the target file record to the target position of the storage medium in any of the above embodiments of the present disclosure can be applied to a scene where the state of the application program changes.
[0121] Exemplarily, the scheme of moving the target file fragments and the target file records to the target positions of the storage medium (rearrangement operation) can be performed after the application is started. Exemplarily, the scheme of moving the target file fragments and the target file records to the target positions of the storage medium (rearrangement operation) can be performed after the application is updated (all the files such as the registry are updated). Exemplarily, the scheme of moving the target file fragments and the target file records to the target positions of the storage medium (rearrangement operation) can be performed after the application is repaired.
[0122] The present disclosure can directly read the related file records from the pre-optimized target positions in the case of detecting the starting event in the case of starting the application by the user. Since the file records and the file fragments have been moved to the continuous areas with better read-write performance on the storage medium, the necessary file fragments can be loaded from the target positions faster, thereby significantly reducing the starting time of the application.
[0123] In response to the starting event of triggering the application, in the case that the file fragments required for starting the application are continuously arranged at the target positions of the disk, the file fragments required for starting the application can be determined from the target positions based on the arrangement order of the file fragments in the disk, and the file fragments required for starting the application can be pre-read to the cache space.
[0124] In some embodiments, after the file fragments required for starting the application are determined, in the case that there is a target component in the process of starting the application, the file fragments are pre-read according to the pre-reading strategy of the present application. The pre-reading strategy includes: loading a first file at a preset position in an input table of the application; in the case that the system sub-file in the first file is loaded, performing first initialization configuration by using the first initialization function of the first file; in the case that the first initialization configuration is completed, determining the file fragments required for starting the application from the target positions, and pre-reading the file fragments required for starting the application.
[0125] Exemplarily, in response to the first starting event of triggering the application, in the case that there is a target component in the process of starting the application, a first file at a preset position in an input table of the application is loaded; in the case that the system sub-file in the first file is loaded, first initialization configuration is performed by using the first initialization function of the first file; in the case that the first initialization configuration is completed, the file fragments required for starting the application are pre-read.
[0126] Here, after determining the file segments required for starting the application program, a pre-reading strategy can be selected according to whether there is a target component in the starting process. The target component can also be referred to as an effective component, and can include components with preset functions, for example, the target component can be a module that has a key influence on the starting of the application program or a module with a relatively high stability requirement, and the target component can affect the dependency relationship and initialization flow in the starting process. If there is a target component in the starting process, the file segments are pre-read according to the pre-reading strategy of the present application.
[0127] In some embodiments, different types of components have corresponding pre-reading strategies respectively. Exemplarily, different types of components have different stability requirements, and the corresponding pre-reading strategies are also different; and again exemplarily, different types of components have different importance to the starting of the application program, and the corresponding pre-reading strategies are also different.
[0128] The present disclosure selects the corresponding pre-reading strategy according to whether there is a target component, so as to adapt to different starting scenarios, and can realize efficient pre-reading of the file segments required for starting the application program. Not only can the starting efficiency of the application program be improved, the time-consuming of the disk I / O operation can be reduced, and the user experience can be improved, but also various complex and changeable system environments and application program starting requirements can be coped with.
[0129] In some embodiments, pre-reading the file segments required for starting the application program to the cache space includes: loading a first file located at a preset position in an input table of a process image file of the application program; in the case that the loading of a system sub-file in the first file is completed, performing first initialization configuration by using a first initialization function in a preset callback table of the first file; in the case that the first initialization configuration is completed, pre-reading the file segments required for starting the application program, and pre-reading the file segments required for starting the application program to the cache space. Figure 2 is a flowchart of another data processing method according to an exemplary embodiment. As shown in Figure 2 the method mainly includes the following steps:
[0130] In step 201, the physical address of the target file segment on the storage medium is determined.
[0131] In some embodiments, the physical address of the target file segment on the storage medium can be determined by calling a storage medium file system interface or by using a storage medium analysis tool. In the file system interface-based manner, the storage medium arrangement software sends a query instruction to the file system, taking the identifier of the target file segment as an input parameter, the file system finds the corresponding file record (target file record) in the directory structure according to the identifier, and then determines the physical address of the target file segment on the storage medium based on the target file record.
[0132] Exemplarily, the physical address of the target file fragment on the storage medium is obtained by sending an input / output (I / O) request of FSCTL_GET_RETRIEVAL_POINTERS to the Windows system. Here, the logical cluster number (LCN) of the target file fragment on the storage medium is obtained by sending an I / O request of FSCTL_GET_RETRIEVAL_POINTERS to the Windows system. FSCTL_GET_RETRIEVAL_POINTERS is a control code for retrieving the storage location of file data on the storage medium. By sending the I / O request to the Windows system and associating it with the target file fragment, the system returns the physical address information of the storage medium corresponding to the target file fragment, i.e., the LCN.
[0133] In step 202, the physical address of the target file record on the storage medium is determined.
[0134] In some embodiments, the file information of the target file fragment can be obtained through a file system interface or a storage medium analysis tool. The file information includes, but is not limited to, the file name, the file size, the creation time, the modification time, the access time, the file attributes (such as read-only, hidden, etc.), the virtual cluster number (VCN) range of the file, and the record number of the file in the MFT (for example, Record Number in the MFT Header).
[0135] Exemplarily, the file information of the target file fragment is queried through the file system interface to obtain the basic information such as the file name, the file size, the timestamp, the file attributes, and the record number of the file in the metadata file. Then, the corresponding record position in the metadata file is accessed according to the obtained record number, and the MFT record is parsed to extract the file attribute information and the position information (such as the mapping relationship between VCN and LCN) of the file data. Further, the physical position of the target file fragment on the storage medium is determined through the parsed mapping relationship between VCN and LCN, so as to determine the target file record.
[0136] After the target file record is determined, the physical address of the target file record on the storage medium can be determined from the physical address of the file record of the pre-stored metadata file in the target array. The target array pre-stores the physical addresses of each file record in the metadata file. The target array can be constructed in the system initialization stage or the file preprocessing stage. For example, the physical addresses of each file record can be obtained by pre-scanning the entire metadata file, and the physical addresses are stored in the target array. When the physical address of the target file record is needed to be determined, the record number of the target file record in the metadata file is directly used as an index to quickly find the corresponding physical address in the target array.
[0137] In step 203, the distribution information of data on the storage medium and / or the data processing performance of each location on the storage medium is determined.
[0138] It should be noted that when the application startup process ends, the distribution information of data on the storage medium can be collected, including but not limited to the current location of the file segment, the file size, the file type, and the usage of each area of the storage medium. At the same time, the data processing performance of each location on the storage medium is analyzed, such as the read / write speed, the read / write time, etc.
[0139] In step 204, the target location is determined based on the distribution information of data on the storage medium and / or the data processing performance of each location on the storage medium.
[0140] According to the distribution information of data on the storage medium and / or the data processing performance of each location on the storage medium, the present disclosure can select an optimal target location, which can be an area on the storage medium with the best read / write performance and capable of providing sufficient continuous space, to improve the data access speed and thus optimize the subsequent running performance of the application. For example, in response to the end of the application startup, a bitmap of the storage medium can be obtained, and the target location is determined based on the bitmap of the storage medium. For example, the target location can be determined from a location close to the periphery of the bitmap.
[0141] In step 205, the target file segment is moved to the corresponding target location.
[0142] In step 206, the target file record is moved to the corresponding target location.
[0143] It should be noted that the target file segment and the target file record can have corresponding target positions respectively. Exemplarily, the target file segment and the target file record can be stored in continuous target positions, and in this case, the target file segment and the target file record are stored in continuous positions on the storage medium. Exemplarily, the target file segment and the target file record can be stored in corresponding target positions respectively, for example, the target file segment is stored in a first target position, and the target file record is stored in a second target position, wherein the first target position and the second target position are discontinuous, that is, there is a free space between the first target position and the second target position.
[0144] The present disclosure first determines the physical address of the target file segment on the storage medium, and determines the target file record and its physical address from the metadata file, and then moves the target file segment and the target file record to the target position of the storage medium based on the physical address of the target file segment and the physical address of the target file record. As Figure 3A As shown in the bitmap 301, before rearrangement, the target file segment and the target file record are dispersed in different positions of the storage medium; as Figure 3B As shown in the bitmap 302, after rearrangement, the target file segment and the target file record are concentrated to the target position of the storage medium, and the concentration degree of the files indicated by the bitmap 302 is higher than that indicated by the bitmap 301.
[0145] The present disclosure can accurately locate the current dispersed positions of the files and the file records, and then concentrate the files and the file records to the target position. The storage medium I / O operation no longer needs to search and read the file segments and the file records in multiple dispersed positions, which greatly reduces the storage medium seek time and data transmission delay, and further fully develops the performance of the storage medium hardware. In this way, the problem of reduced I / O efficiency of the storage medium caused by file dispersion is directly addressed, the scattered distribution state of the files and the file records on the storage medium is changed, the layout of the files and the file records on the storage medium is optimized, and thus the read / write efficiency of the storage medium is improved, and the hardware performance is fully developed.
[0146] Figure 4 is a data processing apparatus block diagram according to an exemplary embodiment. As Figure 4 shown, the data processing apparatus 400 mainly includes:
[0147] The first determination module 401 is configured to determine the physical address of the target file segment on the storage medium;
[0148] The second determination module 402 is configured to determine the target file record of the target file segment from the metadata file, and determine the physical address of the target file record on the storage medium;
[0149] The rearranging module 403 is configured to move the target file segment and the target file record to a target location of the storage medium based on the physical address of the target file segment and the physical address of the target file record.
[0150] In some embodiments, the second determining module 402 is configured to determine file information of the target file segment, and determine the target file record based on the file information.
[0151] The physical address of the target file record on the storage medium is determined from the physical address of the file record of the metadata file in the target array.
[0152] In some embodiments, the apparatus 400 further comprises:
[0153] The third determining module is configured to determine the physical address of each file record in the metadata file.
[0154] The storage module is configured to store the physical address of the file record to the target array based on the record identification and / or serial number of all the file records in the metadata file.
[0155] In some embodiments, the third determining module is configured to determine the physical address of the metadata file on the storage medium.
[0156] The fourth determining module is configured to determine, for each file record, the metadata file segment in which the file record is located, and determine the virtual address of the file record based on the position of the file record in the metadata file segment.
[0157] The fifth determining module is configured to determine the physical address of the file record based on the physical address of the metadata file, the virtual address of the metadata file segment, and the virtual address of the file record.
[0158] In some embodiments, the fifth determining module is configured to:
[0159] determine the physical address of the metadata file segment based on the physical address of the metadata file and the virtual address of the metadata file segment;
[0160] determine the physical address of the file record based on the physical address of the metadata file segment and the virtual address of the file record.
[0161] In some embodiments, the fourth determining module is configured to:
[0162] determine a number of file records in the metadata file segment based on a metric attribute of a file record in the metadata file and a metric attribute of the metadata file segment;
[0163] determine a virtual address of the file record based on the number and a location of the file record in the metadata file segment.
[0164] In some embodiments, when the file information comprises a file identifier, the second determining module 402 is configured to:
[0165] compare the file identifier with preset identifiers in the target array one by one, and determine a target identifier matching the file identifier;
[0166] determine a file record corresponding to the target identifier as the target file record.
[0167] In some embodiments, when the file information comprises file header information, the second determining module 402 is configured to:
[0168] obtain a target serial number of a file record to which the target file segment belongs from the file header information;
[0169] determine a file record with the target serial number in the target array as the target file record.
[0170] In some embodiments, the apparatus 400 further comprises:
[0171] a sixth determining module configured to determine the target location based on distribution information of data on the storage medium and / or data processing performance of each location on the storage medium in response to an application startup ending;
[0172] the target file segment is a file segment required for starting the application.
[0173] In some embodiments, when the target file segment and the target file record are moved to the target location of the storage medium, the apparatus 400 further comprises:
[0174] a reading module configured to read the file record from the target location in response to triggering an application startup event;
[0175] a starting module configured to determine a file segment required for starting the application based on the file record from the target location.
[0176] As to the apparatus in the above embodiments, the specific manners in which the respective modules perform operations have been described in detail in the embodiments of the method, and thus will not be described in detail here.
[0177] Based on the same inventive concept, the embodiments of the present disclosure provide an electronic device, which can be the computer or terminal in one or more of the above embodiments. Figure 5 is a structural schematic diagram of an electronic device according to an exemplary embodiment. As shown in Figure 5 , the electronic device 500 adopts general computer hardware, and includes a processor 501, a memory 502, a bus 503, an input device 504 and an output device 505.
[0178] In some possible implementations, the memory 502 can include computer storage media in the form of volatile and / or non-volatile storage such as a read only memory and / or a random access memory. The memory 502 can store operating systems, application programs, other program modules, executable codes, program data, user data, and the like.
[0179] The input device 504 can be used to input commands and information to the electronic device, and the input device 504 can be a keyboard or a pointing device such as a mouse, a trackball, a touchpad, a microphone, a joystick, a game pad, a satellite television antenna, a scanner or the like. The input device 504 can be connected to the processor 501 through the bus 503.
[0180] The output device 505 can be used for the electronic device 500 to output information, and in addition to a monitor, the output device 505 can also be other peripheral output devices such as a speaker and / or a printing device. The output device 505 can also be connected to the processor 501 through the bus 503.
[0181] The electronic device 500 can be connected to a network through an antenna 506, for example, to a local area network (LAN). In a networked environment, executable instructions can be stored in a remote storage device, not limited to being stored locally.
[0182] When the processor 501 in the electronic device 500 executes the executable codes or application programs stored in the memory 502, the electronic device 500 can implement the file processing method in the above embodiments, and the specific execution process is described above and will not be described here.
[0183] The above memory 502 can store executable instructions for implementing the functions of the first determination module 401, the second determination module 402 and the rearrangement module 403 in the above embodiments. Figure 4 Figure 4 The functions / implementation procedures of the first determining module 401, the second determining module 402 and the rearranging module 403 in the data processing device can be implemented by the processor 501 in the data processing device calling executable instructions stored in the memory 502. Figure 5 The processor 501 in the data processing device calls executable instructions stored in the memory 502 to implement the functions / implementation procedures of the first determining module 401, the second determining module 402 and the rearranging module 403 in the data processing device.
[0184] Based on the same inventive concept, the present disclosure further provides a storage medium. The storage medium stores instructions. When the instructions are run on a computer, the computer is caused to perform the data processing method in one or more embodiments described above.
[0185] Based on the same inventive concept, the present disclosure further provides a computer program or a computer program product. When the computer program product is executed on a computer, the computer is caused to implement the data processing method in one or more embodiments described above.
[0186] Other embodiments of the present disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. The present disclosure is intended to cover any variations, uses or adaptations of the present disclosure following the general principles thereof and including such departures from the present disclosure as come within known
[0187] It should be understood that the present disclosure is not limited to the precise structures as herein described and illustrated in the drawings, and that various modifications and changes can be made by those skilled in the art without departing from the scope of the present disclosure. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A data processing method, characterized by, The method comprises: determining a physical address of a target file segment on a storage medium; determining a target file record of the target file segment from a metadata file, and determining a physical address of the target file record on the storage medium; moving the target file segment and the target file record to a target location of the storage medium based on the physical address of the target file segment and the physical address of the target file record.
2. The method of claim 1, wherein, The determining of the target file record of the target file segment from the metadata file, and the determining of the physical address of the target file record on the storage medium, comprises: determining file information of the target file segment, and determining the target file record based on the file information; determining the physical address of the target file record on the storage medium from the physical address of the file record of the metadata file in a target array.
3. The method of claim 1, wherein, The method further comprises generating the target array, comprising: determining the physical address of each file record in the metadata file; storing the physical address of each file record in the metadata file to an initial array based on the record identification and / or sequence number of each file record in the metadata file, to obtain the target array.
4. The method of claim 3, wherein, The determining of the physical address of each file record in the metadata file, comprises: determining a physical address of the metadata file on the storage medium; determining a metadata file segment in which the file record is located for each file record, and determining a virtual address of the file record based on a position of the file record in the metadata file segment; determining the physical address of the file record based on the physical address of the metadata file, the virtual address of the metadata file segment, and the virtual address of the file record.
5. The method of claim 4, wherein, The determining of the physical address of the file record based on the physical address of the metadata file, the virtual address of the metadata file segment, and the virtual address of the file record, comprises: determining a physical address of the metadata file segment based on the physical address of the metadata file and the virtual address of the metadata file segment; determining the physical address of the file record based on the physical address of the metadata file segment and the virtual address of the file record.
6. The method of claim 4, wherein, The determining of the virtual address of the metadata file segment in which the file record is located, and the determining of the virtual address of the file record based on the position of the file record in the metadata file segment, comprises: determining a number of file records in the metadata file segment based on a metric attribute of the file record in the metadata file and a metric attribute of the metadata file segment; determining the virtual address of the file record based on the number and the position of the file record in the metadata file segment.
7. The method of claim 2, wherein, In a case where the file information comprises a file identification, the determining of the target file record based on the file information, comprises: comparing the file identification with preset identifications in the target array in sequence to determine a target identification matching the file identification; The target file record is determined according to the file record corresponding to the target identifier.
8. The method of claim 2, wherein, In a case where the file information comprises file header information, the target file record is determined based on the file information, including: a target sequence number of a file record to which the target file segment belongs is parsed from the file header information; the target file record is determined as a file record having the target sequence number in the target array.
9. The method according to any one of claims 1 to 8, characterized in that, The target position is determined in the following manner: In response to completion of a startup operation of an application program, the target position is determined based on distribution information of data on the storage medium and / or data processing performance of each position on the storage medium; The target file segment is a file segment required for startup of the application program.
10. The method according to any one of claims 1 to 8, characterized in that, In a case where the target file segment and the target file record are moved to the target position of the storage medium, the method further comprises: In response to a startup event of an application program being triggered, the file record is read from the target position; a file segment required for startup of the application program is determined from the target position based on the file record.
11. A data processing apparatus, characterized by comprise: a first determining module configured to determine a physical address of a target file segment on a storage medium; a second determining module configured to determine a target file record of the target file segment from a metadata file, and determine a physical address of the target file record on the storage medium; a rearranging module configured to move the target file segment and the target file record to a target position of the storage medium based on the physical address of the target file segment and the physical address of the target file record.
12. A computer program product comprising computer programs or instructions, characterized in that, The computer program or instructions, when executed by a processor, implement the steps of the method of any one of claims 1 to 10.
Citation Information
Patent Citations
Data traceless deletion method and system based on NTFS file system
CN111581163A
File fragment adjusting method and electronic equipment
CN114490442A
Method of rewriting information on a record medium by rewriting only changed portions
US5630115A
Cited By
Lossless replacement acceleration disk processing method based on cache data address translation
CN121743231A
A lossless replacement accelerated disk processing method based on cache data address translation
CN121743231B