WO2016107390A1 - 一种管理磁盘文件的方法和装置 - Google Patents

一种管理磁盘文件的方法和装置 Download PDF

Info

Publication number
WO2016107390A1
WO2016107390A1 PCT/CN2015/096973 CN2015096973W WO2016107390A1 WO 2016107390 A1 WO2016107390 A1 WO 2016107390A1 CN 2015096973 W CN2015096973 W CN 2015096973W WO 2016107390 A1 WO2016107390 A1 WO 2016107390A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
disk
accessed
accessed file
access heat
Prior art date
Application number
PCT/CN2015/096973
Other languages
English (en)
French (fr)
Inventor
沈剑刚
李耀辉
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2016107390A1 publication Critical patent/WO2016107390A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method and apparatus for managing a disk file.
  • the disk consists of one or more circular “discs” (the discs are made of a hard substance such as aluminum) which are coated with magnetic or magnetic properties for recording data.
  • Each side has a "read head” (also known as a head) that is used to check or modify the recorded data.
  • the disk rotates around an ordinary axis; the general speed is 3600 rpm, 7200 rpm, etc.
  • the high-performance disk has a higher rotational speed, even up to 15,000 rpm.
  • the head moves along the radius of the disc, and this movement with the disc allows the head to access each part of the surface.
  • the surface layer is usually divided into a number of concentric circles, which are commonly referred to as tracks, which in turn are divided into a number of sectors. This division is used to specify the location on the disk and allocate disk space for the file. To find out the specific location of the file on the disk, you only need to point out "surface 3, the 7th sector of the 5th track". Normally, the sector numbers on all tracks are the same, but some disks have more sectors on the outer track (all sectors have the same physical size, so the outer track can hold more fans). Area). In general, one sector can hold 512 bytes of data. The disk itself cannot process data in less than one sector.
  • Each surface layer is divided into tracks and sectors in the same way. This means that when the head of one surface is on one track, the head of the other layer will also be on the corresponding track. All the corresponding tracks that are brought together are called a cylinder. It takes time for the head to move from one track to another, so put the frequently accessed data together (for example, files) so that they are in the same cylinder so that the head does not have to be moved. (It takes both time and damage to the head) to improve performance.
  • the performance of the outer channel of the disk is higher than that of the inner channel.
  • the performance of the outer channel can reach 150% of the inner channel. The reason is that there are differences between the inner and outer tracks of the disk, the angular velocity of the disk rotation is fixed, and the line speed of the outer track is faster than the inner track.
  • the magnetic density of the outer track is generally higher than that of the inner track.
  • a file system when a file system allocates disk space to a file, it is generally allocated according to a certain policy (for example, sequential allocation), and the file always occupies the disk space. Due to the different access frequency of each file, the file access frequency of the disk outside the disk may be low, and the file access frequency of the disk stored in the disk is high, which causes the storage space of the disk outside channel to be effectively utilized, which affects the use of the disk. performance.
  • Embodiments of the present invention provide a method and apparatus for managing a disk file to improve the performance of the disk.
  • a method of managing a disk file includes:
  • the file system After receiving the request to access the file, the file system accumulates the total access heat of the accessed file;
  • the file system determines, based on the total access popularity of the accessed file, whether the accessed file satisfies a condition of migrating to an outer track of the disk; determining that the accessed file is accessed After the file satisfies the condition of the outer track migrated to the disk, the accessed file is migrated to the outer track storage of the disk.
  • the method further includes:
  • Determining, in the file of the outer track of the disk, a file with the lowest total access heat; and determining, according to the total access heat of the accessed file, whether the accessed file meets an outer path of the migration to the disk includes:
  • the file system compares the total access heat of the accessed file with the total access heat of the file with the lowest total access heat in the outer track of the disk; when the total access heat of the accessed file is higher than the compared file When the total access heat is determined, it is determined that the accessed file satisfies the outer lane migrated to the disk. condition.
  • the method further includes:
  • the file with the lowest total access heat is migrated to the inner track storage of the disk.
  • the determining the storage location of the accessed file specifically includes:
  • the total access popularity ranking of the files located in the outer track of the disk is recorded in the file system; the method further includes:
  • the file system determines whether the ranking of the accessed file changes according to the accumulated total access heat, and if the change occurs, updates the access popularity ranking.
  • the method further includes:
  • the file system When the file migration occurs, the file system records the migration location in the metadata of the migrated file; after the migration is completed, the file system deletes the original storage location recorded in the metadata, and the migration Change the location to a storage location.
  • the method further includes: writing, by the file system, the content to be written to the migration of the migrated file Location and original storage location.
  • the method further includes: the file system blocking the write operation, and after the migration is completed, the write is to be performed. The content is written to the migrated file.
  • the access heat of the accumulated accessed file specifically includes:
  • the file system includes a sliding window for specifying a statistical range.
  • the obtaining the historical access heat of the accessed file specifically includes: acquiring the accessed file in a statistical range specified by the sliding window. The history of the visit is hot.
  • the method before acquiring the historical access heat of the accessed file, the method further includes: determining whether the sliding window needs to be slid, and if the sliding window needs to be slid, executing the sliding window The operation of obtaining the historical access heat of the accessed file; if the sliding window does not need to be slid, the operation of acquiring the historical access heat of the accessed file is directly performed.
  • the sliding window includes at least one statistical period; the statistical period is a sliding unit of the sliding window; and determining whether the sliding window needs to be slid comprises: comparing the accessed file by comparing the current access The time point of the time and the time point when the accessed file is accessed last time is used to determine whether there is a cross-statistical period between the current access and the last access. If the statistical period is exceeded, the sliding window needs to be slid; if the statistical period is not exceeded, There is no need to slide the sliding window.
  • the method further includes: when receiving the request for deleting the file of the outer track of the disk, the file system deleting the file requested to be deleted and deleting the file requested to be deleted are ranked in the access heat The ranking in .
  • the method further includes: determining, by the file system, whether a new data block needs to be allocated for the accessed file; when determining that a new data block needs to be allocated And assigning a data block to the accessed file according to a track type in which the accessed file is located; the track type includes an inner track of the disk and an outer track of the disk.
  • a device for managing a disk file comprising an access interface and a processing module;
  • the access interface is configured to receive a request for accessing a file, and trigger the processing module to perform processing after receiving the request;
  • the processing module is configured to accumulate the total access heat of the accessed file; determine a storage location of the accessed file; if the accessed file is stored in an inner channel of the disk, based on the total access heat of the accessed file Determining whether the accessed file satisfies a condition of migrating to a foreign channel of the disk; after determining that the accessed file satisfies a condition of migrating to a foreign channel of the disk, migrating the accessed file to the Outer track storage of the disk.
  • the processing module specifically includes:
  • the cumulative sub-module is used to accumulate the total access heat of the accessed file
  • a management submodule configured to determine a storage location of the accessed file; if the accessed file is stored in an inner lane of the disk, determining, according to the total access popularity of the accessed file, whether the accessed file meets the migration to The condition of the outer track of the disk; after determining that the accessed file satisfies the condition of the outer track migrated to the disk, the accessed file is migrated to the outer track storage of the disk.
  • the management submodule is further configured to determine a file with the lowest total access heat among the files located in the outer track of the disk;
  • the determining, by the management sub-module, whether the accessed file meets the external path of the migration to the disk based on the total access heat of the accessed file includes:
  • the management sub-module is configured to compare the total access heat of the accessed file with the total access heat of the file with the lowest total access heat in the outer channel of the disk; when the total access heat of the accessed file is higher than When comparing the total access heat of the file, it is determined that the accessed file satisfies the condition of the outer track migrated to the disk.
  • the management submodule is further configured to migrate a file with the lowest total access heat in the file located in the outer track of the disk to the foregoing when determining that the accessed file satisfies the condition of the external path migrated to the disk.
  • the internal storage of the disk is further configured to migrate a file with the lowest total access heat in the file located in the outer track of the disk to the foregoing when determining that the accessed file satisfies the condition of the external path migrated to the disk.
  • the determining, by the management submodule, the storage location of the accessed file includes:
  • the management sub-module is configured to determine a data block in which the accessed file is located; compare a block number of the data block with a boundary value for dividing the inner track and the outer track; and determine, according to the comparison result, that the accessed file is Whether it is stored in the inner or outer lane of the disk.
  • the processing module further includes a recording submodule, configured to record a total access popularity ranking of files located in an outer lane of the disk;
  • the management sub-module is further configured to: when determining that the accessed file is an external channel stored in a disk, determine whether the ranking of the accessed file changes according to the accumulated total access heat, and if the change occurs, update the location. The ranking of the access heat recorded by the recording sub-module.
  • the management submodule is further configured to: when the file is migrated, record the migration location in the metadata of the migrated file; after the migration is completed, delete the original storage location recorded in the metadata, and Change the migration location to a storage location.
  • the management submodule is further configured to separately write the content to be written. Go to the migration location and the original storage location of the migrated file.
  • the management submodule is further configured to block the write operation, where After the migration is complete, the content to be written is written to the migrated file.
  • the accumulating submodule is used to accumulate the access heat of the accessed file, and specifically includes:
  • the cumulative sub-module is configured to calculate the current access heat of the accessed file according to the current access; acquire the historical access heat of the accessed file; and compare the current access heat with the accessed file.
  • the historical access heat is accumulated to obtain the total access heat of the accessed file.
  • the accumulating sub-module is configured to obtain the historical access heat of the accessed file, where the accumulating sub-module is configured to obtain historical access heat of the accessed file in a preset sliding window.
  • the sliding window is used to specify the statistical range.
  • the aging sub-module is further configured to determine whether the sliding window needs to be slid, and if the sliding window needs to be slid, the sliding window is slid And performing the operation of acquiring the historical access heat of the accessed file; if the sliding window does not need to be slid, the operation of acquiring the historical access heat of the accessed file is directly performed.
  • the sliding window includes at least one statistical period; the statistical period is a sliding unit of the sliding window; and the accumulating sub-module determines whether the sliding window needs to be slid.
  • the time point when the accessed file is accessed and the time when the accessed file is accessed last time is used to determine whether there is a cross-statistical period between the current access and the last access. If the statistical period is exceeded, the sliding window needs to be swiped. If the statistical period is not crossed, there is no need to slide the sliding window.
  • the management submodule is further configured to delete the file that is requested to be deleted and delete the file that is requested to be deleted.
  • the management sub-module is further configured to determine whether a new data block needs to be allocated for the accessed file; And a data block is allocated to the accessed file according to a track type in which the accessed file is located; the track type includes an inner track of the disk and an outer track of the disk.
  • a system for managing a disk file comprising a disk for storing files and the device of claims 15-28.
  • the external storage space of the disk can be effectively utilized to improve the performance of the disk.
  • FIG. 1 is an architectural diagram of a system for applying the disk file management technology provided by the embodiment of the present invention
  • FIG. 2 is a schematic diagram of a data structure of a file system in a UNIX operating system
  • FIG. 3 is a flowchart of a method for managing a disk file according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of total access popularity of accumulated files accessed according to an embodiment of the present invention.
  • Figure 5 is a schematic view of a sliding window
  • FIG. 6 is a schematic diagram of data structures in a file system according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of performing a write file operation according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of an apparatus 800A for managing a disk file according to an embodiment of the present invention.
  • FIG. 8B is a schematic structural diagram of an apparatus 800B for managing a disk file according to another embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of a system 900 for managing a disk file according to an embodiment of the present invention.
  • FIG. 10 is a hardware structural diagram of an apparatus for managing a disk file according to an embodiment of the present invention.
  • FIG. 1 is a structural diagram of a system to which a disk file management technology according to an embodiment of the present invention is applied. As shown in FIG. 1, the system includes an application layer, an operating system layer, and a hardware layer.
  • the hardware layer is a disk.
  • the disk can be a Serial Advanced Technology Attachment (SATA) hard disk, a serial attached SCSI (SAS) hard disk, a solid state disk (SSD) hard disk, or a CD or a floppy disk. Wait.
  • SATA Serial Advanced Technology Attachment
  • SAS serial attached SCSI
  • SSD solid state disk
  • CD or a floppy disk a CD or a floppy disk.
  • physical storage media, disk caches, and disk controllers can be included on a disk.
  • the disk controller is used to control the writing of data to or from the physical storage medium.
  • the cache in the disk is mainly to improve storage access performance.
  • the operating system layer includes a file system (File System, FS), a general-purpose block device, and an input/output (I/O) scheduling module.
  • the file system is a method and data structure used by the operating system to clarify files on the disk, that is, a method of organizing files on the disk.
  • the file system system can logically divide the disk and use a specific data structure to describe the logical division of the disk.
  • FIG. 2 is a schematic diagram of a data structure of a file system in a UNIX operating system. As shown in FIG.
  • the data structure describing the logical division of the disk may include a super block "superblock”, a metadata area “Metadata”, a log area “Journal”, and a data area “data block”.
  • the super block is used to record the overall information of the file system, such as the size of the file system, the starting address of each area (such as: metadata area, log area, data area).
  • the metadata area is used to record the inode "inode”, also known as the i-node.
  • the index node is used to manage and store the attributes of the file, such as the size of the record file, the owner, and the most recent modification time. These attributes are called files. Metadata.
  • a file is managed by an inode.
  • the data area consists of data blocks for storing file contents.
  • the application layer includes an application (Application, APP).
  • the file system sends the access operation to the disk controller of the hardware layer through the universal block device and the I/O scheduling module, and the disk controller receives the file.
  • the I/O scheduling module access the physical storage media of the disk.
  • the general block device is responsible for converting the accessed logical area into a physical area on the disk.
  • the I/O scheduling module controls the timing and sequence of delivering access operations to the hardware layer through a scheduling algorithm.
  • the embodiment of the invention improves the file system, and implements the function of dynamically adjusting the storage location of files in the disk in the file system, so that files with high access frequency can be stored in the outer channel of the disk, thereby improving the performance of the disk.
  • the method provided by the embodiment of the present invention is described in detail below with reference to the accompanying drawings.
  • FIG. 3 is a flowchart of a method for managing a disk file according to an embodiment of the present invention. The method is applied to a file system, as shown in FIG. 3, the method includes:
  • the file system After receiving the request for accessing the file, the file system accumulates the total access heat of the accessed file.
  • the file system can provide an interface for operating the file, and the APP of the application layer can send a request for accessing the file to the file system through the interface.
  • the request typically includes the type of operation of the access (eg, a read operation or a write operation), and may further include an identification of the file to be accessed and a range of data accessed (eg, accessing the first 200 bytes of data in the file).
  • the access heat is used to characterize how often the file is accessed.
  • the file system can accumulate the access heat of the files within the statistical range to get the total access heat. This accumulation process can be performed each time a request to access a file is received.
  • the file system determines a storage location of the accessed file.
  • the file system stores files in units of data blocks, each of which has a corresponding physical area on the disk.
  • a file can be stored in one or more data blocks.
  • the inner track refers to the track near the center of the disk
  • the outer track refers to the far track away from the center of the disk.
  • the inner and outer lanes can be divided by a cutoff value.
  • the cutoff value can be represented by the block number of the data block.
  • Determining, by the file system, the storage location of the accessed file specifically includes: determining a data block in which the accessed file is located. The block number of the data block is compared to a cutoff value for dividing the inner and outer tracks. It is determined according to the comparison result whether the accessed file is stored in an inner track or an outer track of the disk.
  • the determining whether the accessed file is stored in the inner track or the outer track of the disk according to the comparison result may be: if the block number of the data block is smaller than the boundary value, determining that the accessed file is stored in the Declaring an outer track of the disk; if the block number of the data block is greater than the demarcation value, determining that the accessed file is stored in an inner track of the disk.
  • the block numbers of the data blocks are numbered from the outside to the inside according to the disk space. Therefore, the block number of the data block located outside the disk is small, and the disk block number of the inner track is large.
  • a reasonable modification may be performed according to the solution provided in the embodiment of the present invention. For example, if the block number of the data block is numbered from the inside to the outside by the disk space, the block number of the data block may be considered to be smaller than The boundary value is stored in the inner track of the disk; if the block number of the data block is greater than the boundary value, it is stored in the outer track of the disk.
  • the demarcation value can be pre-configured in the file system. It is also possible to pre-configure the ratio of the area of the inner lane to the outer lane in the file system, and determine the boundary value based on the ratio when determining the storage location of the accessed file.
  • the range of the inner or outer track can also be pre-configured in the file system. The range of the area is divided by the block number of the data block, and the boundary value is obtained from the area range when determining the storage location of the accessed file, for example, Assuming that the area of the outer track is (0, 100), the block number 100 can be used as the cutoff value.
  • the value equal to the demarcation value may be configured as an inner channel, or may be configured as an outer channel, and may be configured as needed, which is not limited in the present invention.
  • the file system determines, according to the total access heat of the accessed file, whether the accessed file satisfies the condition of the external path migrated to the disk; and determines that the accessed file meets the outer path migrated to the disk. When the condition is met, the accessed file is migrated to the outer channel storage of the disk.
  • the file system can determine the file with the lowest total popularity of the files located in the outer track of the disk.
  • the file system compares the total access heat of the accessed file with the total access heat of the file with the lowest total popularity of the disk in the outer track; when the total access heat of the accessed file is higher than the total access heat of the compared file, it is determined that The access file satisfies the conditions of the foreign road that was migrated to disk.
  • the conditions for determining whether the accessed file satisfies the external path migrated to the disk can also be implemented in other ways.
  • the total access heat threshold can be set in advance.
  • the file system can be accessed The total access heat of the piece is compared with the preset total access heat threshold; when the total access heat of the accessed file is higher than the total access heat threshold, it is determined that the accessed file satisfies the condition of the outer track migrated to the disk.
  • the specific process of migrating the accessed file to the outer channel storage of the disk may be: copying the accessed file to the outer track of the disk, and deleting the accessed file from the inner track after the copying is completed.
  • the file system keeps the accessed file on the inner path of the disk without performing migration processing.
  • the file system can migrate the files with high total access heat to the external storage of the disk, so that the access speed of the files is accelerated, and the performance of the disk is improved.
  • the file system further performs an access operation according to the request for accessing the file. If it is determined in step 302 that the accessed file is stored in an outer track of the disk, the file may be directly accessed to the file without migrating the file. If it is determined in step 302 that the accessed file is stored in the inner channel of the disk, if it is determined in step 304 that the accessed file does not satisfy the condition of the outer track migrated to the disk, the migration file may not be executed, and the file may be directly executed. Access operation. If it is determined in step 304 that the accessed file satisfies the condition of the foreign road migrated to the disk, the accessed file may be migrated to the outer track of the disk to perform an access operation on the file.
  • the file system can further migrate the file with the lowest total access heat in the disk outer path to the inner channel storage of the disk when determining that the accessed file satisfies the condition of the outer track migrated to the disk.
  • the file may be copied to the inner channel of the disk, and the file is deleted from the outer channel of the disk after the copying is completed.
  • the file system can record the total access heat ranking of the files located on the outer track of the disk. If it is determined in step S304 that the accessed file is stored in the outer track of the disk, the file system further determines whether the ranking of the accessed file changes according to the accumulated total access heat, and if the change occurs, updates the access popularity ranking. If the ranking of the accessed file has not changed, the file system continues to execute elsewhere. For example, the operation of accessing a file is performed according to the received request.
  • the file system when the file system receives the request for deleting the file of the outer channel of the disk, the file system further deletes the ranking of the file requested to be deleted in the ranking of the access heat when deleting the file requested to be deleted. .
  • the file system may receive a request to access the migrated file during the migration of the file
  • the migration location of the migrated file needs to be recorded during the migration of the file, so that the file system is receiving access. This file can be found when a request for a migrated file is made.
  • the file system includes metadata of the file.
  • the storage location of the file is recorded in the metadata of the file, and the file system can find the file according to the storage location recorded in the metadata of the file.
  • the file system may also record the migration location in the metadata of the migrated file. After the migration is complete, the file system deletes the original storage location recorded in the metadata and changes the migration location to the storage location.
  • the embodiment of the present invention provides two processing modes.
  • the file system in the process of migrating a file, if a request for writing a file to be migrated is received, the file system writes the content to be written to the migration location and the original storage location of the migrated file.
  • the file system blocks the write operation, and after the migration is completed, the content to be written is written into the migrated file. .
  • the file system can set the migration flag in the metadata of the migrated file when the file is migrated, and clear the tag after the migration is complete.
  • the request to access a file in the embodiment of the present invention may include a request to read a file or a request to write a file.
  • the file system further determines whether a new data block needs to be allocated for the accessed file during the execution of the write operation; When a new data block needs to be allocated, the file system allocates a data block for the accessed file according to the track type in which the accessed file is located.
  • the track type includes the inner track of the disk and the outer track of the disk. That is to say, the accessed file is assigned the data block of the inner track, and the accessed file is allocated the outer data block in the outer track.
  • FIG. 4 is a flowchart of total access heat of accumulated files accessed according to an embodiment of the present invention. As shown in FIG. 4, the process of accumulating the total access heat of the accessed file specifically includes:
  • the file system calculates the current access heat of the accessed file according to the current access.
  • the number of visits can be used to indicate the popularity of the visit, so that the access heat per visit is 1. Since there is only a small part of data in a file that is frequently accessed, and most of the other data is accessed at a low frequency, a more comprehensive algorithm is needed to calculate the access heat of each access.
  • the access heat calculation method provided by the embodiment of the present invention is as follows:
  • Access heat data size/file length being accessed.
  • the size of the accessed data may be obtained according to the range of data to be accessed carried in the request for accessing the file.
  • the file length can be obtained from the metadata of the file.
  • the frequency at which the entire file size is accessed can be evaluated, so that the statistics on the access heat are more accurate.
  • the file system acquires a historical access heat of the accessed file.
  • the file system can use the sliding window method to accumulate the total access heat of the accessed files.
  • a sliding window for specifying a statistical range may be included in the file system.
  • the historical access heat of the file system to obtain the accessed file specifically includes: obtaining the historical access heat of the accessed file within the statistical range specified by the sliding window. It should be noted that the statistical range refers to the time range.
  • FIG. 5 is a schematic view of a sliding window.
  • 501 is a sliding window
  • 502 is a statistical period.
  • the sliding window may include at least one statistical period (FIG. 5 takes the sliding window as an example of three statistical periods).
  • the statistical period is the sliding unit of the sliding window. Assuming statistics by hour, 1 hour is 1 statistical period. If the sliding window includes 3 statistical periods, it means that the statistical range is the last 3 hours. Since each small square represents a statistical period, the sliding window slides in a small square.
  • the file system can slide the sliding window once every statistical period. However, this requires the file system to continuously monitor the statistical period, and it is inefficient to slide the sliding window frequently. To improve efficiency, the file system can determine the sliding window position each time the historical access heat of the accessed file is obtained.
  • the file system first determines whether the sliding window needs to be slid. If the sliding window needs to be slid, S402 is performed after sliding the sliding window; if the sliding window is not required to be slid, S402 is directly executed.
  • the determining whether the sliding window needs to be slid specifically includes: determining whether the current access and the last access are between the current time and the last access by comparing the time point of the access to the accessed file and the time point of the last access to the accessed file. If the cross-statistic period spans the statistical period, the sliding window needs to be slid; if the statistical period is not crossed, the sliding window does not need to be slid.
  • the statistics period is 1 hour as an example. It is assumed that the statistics period starts from the whole point.
  • the time point of the last access to the accessed file is 2:30.
  • the time point of accessing the accessed file is 3: 20, because the statistical period starts from the whole point, therefore, 2:00 to 3:00 is a statistical period, and 3:00 to 4:00 is a statistical period.
  • the sliding window should slide from (1:00 to 3:00) to (2:00 to 4:00).
  • the sliding window is only one way to perform statistics. Other statistical methods may also be adopted in the embodiments of the present invention.
  • the file system can implement a sliding sliding window function by attenuating the accumulated total access heat by a predetermined ratio every one statistical period.
  • the file system can separately accumulate the access heat in each statistical period in the sliding window, and record the accumulated access heat of each statistical period.
  • the historical access heat acquired by the file system may include the cumulative access heat for each statistical period within the sliding window range.
  • the file system accumulates the current access heat and the historical access heat of the accessed file to obtain a total access heat of the accessed file.
  • the file system needs to record the time of obtaining the total access heat this time, so as to determine whether to slide the sliding window next time. use.
  • the total access heat of the file or each statistical week within the sliding window range can be recorded in the metadata of the file.
  • the migration information that needs to be recorded for example, migration location, migration tag, etc.
  • the metadata of the file can also be recorded in the metadata of the file.
  • FIG. 6 is a schematic diagram of data structures in a file system according to an embodiment of the present invention.
  • the data structure shown in FIG. 6 adds an access popularity ranking area based on the data structure shown in FIG. 2.
  • the access popularity ranking area is an area added for recording the access popularity ranking of files stored in the outer lane area of the disk in the embodiment of the present invention.
  • the hot ranking area may include a header "Header” and a ranking list "Top file list".
  • “Header” contains general information about the popularity ranking area, such as the size of the area in the hot ranking area, the used size, and so on.
  • the "Top file list” records the access popularity ranking of the files in the outer disk area of the disk, and can generally be managed by using a B+ tree or a bitmap.
  • the data structure shown in FIG. 6 may further include a super block, a metadata area, and a data area in the data structure shown in FIG. 2.
  • the embodiment of the present invention also adds internal and external channel migration switches and characteristic parameters in the super block.
  • the internal and external road switch is an enable switch for internal and external road migration, which is used to indicate whether to open the function of internal and external road migration.
  • the boundary value or the sliding window size can be set in the characteristic parameters.
  • a record of the starting address and size of the access heat ranking area has also been added to the super block.
  • the embodiment of the present invention also adds a new access heat field and a statistical time field in the index node "inode".
  • the access heat field is used to record the total access heat of the file or the cumulative access heat of each statistical period within the sliding window range.
  • the statistic time field is used to record the total access heat recorded in the access heat field or the update time of the cumulative access heat.
  • the data structure shown in FIG. 6 may also include a log area in the data structure shown in FIG. 2 or other logical blocks in the prior art. Since the embodiment of the present invention does not involve improvements to other logical blocks, therefore, here No longer. It should be noted that the data structure shown in FIG. 6 is only described by taking the file system of UNIX as an example. In the file system of other operating systems, the same functions can be implemented by referring to the above embodiments.
  • FIG. 7 is a flowchart of performing a write file operation according to an embodiment of the present invention. The process includes:
  • the file system receives a request to write a file.
  • the access request received by the file system is a request to write a file.
  • the request may carry the identifier of the file to be read, the type of operation, or the range of data accessed.
  • the file system accumulates the total access heat of the written file.
  • the file system determines a storage location of the file to be written; if the written file is stored in the inner channel of the disk, executing S706; if the written file is stored in the outer channel of the disk, executing S710.
  • the file system acquires metadata of the written file according to the file identifier carried in the request.
  • the data block in which the file is located is obtained from the metadata of the file, and the block number of the data block and the preset boundary value are used to determine whether the file is located on the outer or inner track of the disk.
  • the file system may further determine whether the migration flag is set in the metadata of the file. If the migration flag is set, it indicates that the file is being migrated, and the file system can block the received file. A request to write a file waits until the migration flag is cleared (that is, the file migration is complete) before proceeding with the subsequent operations.
  • S706 The file system determines a file with the lowest total access heat in the file located in the outer track of the disk, and compares the total access heat of the written file with the total access heat of the file with the lowest total access heat in the outer channel of the disk; If the total access heat of the file is higher than the total access heat of the compared file, perform S708; if the total access heat of the read file is lower than the total access heat of the compared file, execute S710.
  • S708 The file system migrates the written file to the outer storage of the disk, and migrates the file with the lowest external access of the disk to the in-disk storage.
  • file migration can be completed by copying and deleting. For example, when migrating a file to a foreign disk, you can copy the file to the disk and delete the file from the disk.
  • the file system writes the content to be written into the file to be written.
  • the file system when the file system writes a file, it can further determine whether a new data block needs to be allocated. If a new data block needs to be allocated, the file system can be allocated according to the type of track in which the file is located. Among them, the track type includes the outer track and the inner track of the disk. The file system can allocate data blocks located in the inner track for the files in the inner track, and allocate the data blocks located in the outer track for the files in the outer track.
  • FIG. 8 is a schematic structural diagram of an apparatus 800A for managing a disk file according to an embodiment of the present invention.
  • the device can include an access interface 801 and a processing module 802. among them,
  • the access interface 801 is configured to receive a request for accessing a file, and trigger the processing module to perform processing after receiving the request.
  • the processing module 802 is configured to accumulate the total access heat of the accessed file. Determining the storage location of the accessed file. If the accessed file is stored in an inner lane of the disk, determining, according to the total access popularity of the accessed file, whether the accessed file satisfies a condition of migrating to a foreign channel of the disk; determining that the accessed file satisfies a migration to After the condition of the outer track of the disk, the accessed file is migrated to the outer track storage of the disk.
  • the above access interface 801 and processing module 802 can be used to implement the functions of the file system in the method embodiment.
  • FIG. 8B is a schematic structural diagram of an apparatus 800B for managing a disk file according to another embodiment of the present invention.
  • the device 800B shown in FIG. 8B may also include the access interface 801 and the processing module 802 in the device 800A shown in FIG. 8A.
  • the access interface 801 can be an interface that is open to the file system, and can receive the call of the APP or receive the access of the user.
  • the processing module 802 may specifically include an accumulation submodule 8021 and a management submodule 8022.
  • the cumulative sub-module 8021 is configured to accumulate the total access heat of the accessed file.
  • a management sub-module 8022 configured to determine a storage location of the accessed file; if the accessed file is stored in an inner lane of the disk, determining, according to the total access popularity of the accessed file, whether the accessed file satisfies the migration The condition of the outer track to the disk; after determining that the accessed file satisfies the condition of the outer track migrated to the disk, the accessed file is migrated to the outer track storage of the disk.
  • the accumulating sub-module 8021 is used to accumulate the access heat of the accessed file, and the method includes: the accumulating sub-module 8021 is configured to calculate the current access heat of the accessed file according to the current access; Determining the historical access popularity of the accessed file; accumulating the current access heat and the historical access heat of the accessed file to obtain the total access heat of the accessed file.
  • the accumulation sub-module 8021 can calculate the current access heat by using the calculation formula of the access heat in the embodiment shown in FIG. 4.
  • the calculation formula is only an example, and other calculation formulas may be used, which are not limited herein.
  • the accumulation sub-module 8021 can employ a sliding window method to accumulate the total access heat of the accessed file.
  • the sliding window is used for the specified statistical range, which is usually the time range.
  • the cumulative sub-module 8021 is configured to obtain the historical access heat of the accessed file, and the method includes: the accumulating sub-module 8021 is configured to obtain historical access of the accessed file in a preset sliding window. heat.
  • the accumulating sub-module 8021 is further configured to determine whether the sliding window needs to be slid before acquiring the historical access heat of the accessed file. If the sliding window needs to be slid, the obtaining is performed after sliding the sliding window. The operation of the historical access heat of the accessed file; if the sliding window does not need to be slid, the operation of acquiring the historical access heat of the accessed file is directly performed.
  • the size of the sliding window can be pre-configured, and the sliding window can include at least one statistical period, which is a sliding unit of the sliding window.
  • the number of statistical periods included in the sliding window represents the size of the sliding window.
  • the accumulating sub-module 8021 determines whether it is necessary to slide the sliding window.
  • the accumulating sub-module 8021 determines the current access time by comparing the time point when the accessed file is accessed this time and the time when the accessed file is last accessed. If the cross-statistic period is used, the sliding window needs to be slid. If the statistical period is not crossed, the sliding window does not need to be slid.
  • management sub-module 8022 The function of the management sub-module 8022 will be described in more detail below.
  • the management submodule 8022 is further used to migrate the file with the lowest total access heat among the files located in the outer track of the disk when determining that the accessed file satisfies the condition of the outer track migrated to the disk. Store to the inner channel of the disk. This provides more outside space to store files with high access.
  • the management sub-module 8022 may first copy the file to the inner channel of the disk, and delete the file from the outer channel of the disk after the copying is completed.
  • the management sub-module 8022 is also used to determine that the total access heat is lowest in the file located in the outer track of the disk. document.
  • the condition for migrating the inner file to the outer channel may also be that the total access heat of the inner file is higher than the total access heat of the file with the lowest total access heat in the outer channel.
  • the determining, by the management sub-module 8022, whether the accessed file meets the external path of the migration to the disk based on the total access popularity of the accessed file includes: the management sub-module 8022 is configured to use the total access of the accessed file. The popularity is compared with the total access heat of the file with the lowest total popularity among the outer lanes of the disk; when the total access heat of the accessed file is higher than the total access heat of the compared file, it is determined that the accessed file is satisfied The conditions for migrating to the outer lane of the disk.
  • the determining, by the management sub-module 8022, the storage location of the accessed file includes: the management sub-module 8022 is configured to determine a data block where the accessed file is located; and the block number of the data block is used to divide the inner channel and The boundary values of the outer lanes are compared; and based on the comparison result, it is determined whether the accessed file is stored in an inner lane or an outer lane of the disk.
  • the block number of the data block is smaller than the boundary value, it is determined that the accessed file is stored in an outer track of the disk; if the block number of the data block is greater than the boundary value, determining the Access files are stored on the inner tracks of the disk.
  • the processing module 802 may further include a recording submodule 8023 for recording the total access heat ranking of the files located in the outer track of the disk.
  • the management sub-module 8022 is further configured to: when determining that the accessed file is an external track stored in the disk, determine whether the ranking of the accessed file changes according to the accumulated total access heat, and if the change occurs, update the Recording the popularity ranking of the sub-module records.
  • the migration location of the migrated file needs to be recorded during the migration of the file, so that the device 800B is receiving the access.
  • This file can be found when a request for a migrated file is made. Therefore, the management sub-module 8022 is also used to record in the metadata of the migrated file when the file is migrated. Migration location; after the migration is complete, delete the original storage location recorded in the metadata and change the migration location to a storage location.
  • the embodiment of the present invention implements the ability to resolve conflicts in the management sub-module 8022. Among them, the ability can be achieved in two ways.
  • the management sub-module 8022 In the first mode, in the process of migrating the file by the management sub-module 8022, if the access interface 801 receives a request for a write operation on the migrated file, the management sub-module 8022 is further configured to block the write operation. After the migration is complete, write the content to be written to the migrated file.
  • the management sub-module 8022 in the process of migrating the file by the management sub-module 8022, if the access interface 801 receives a request for a write operation on the migrated file, the management sub-module is further configured to separately write the content to be written. Write to the migration location and the original storage location of the migrated file.
  • the solution provided by the embodiments of the present invention may also involve the impact on other existing functions. Therefore, the affected functions are correspondingly improved in the embodiments of the present invention. For example, the processing of a request to delete a file, and the processing of writing a file. specific,
  • the management submodule 8022 is further configured to delete the file requested to be deleted and delete the file requested to be deleted in the popularity ranking. The ranking in .
  • the management sub-module 8022 is further configured to determine whether a new data block needs to be allocated for the accessed file; when it is determined that a new data block needs to be allocated,
  • the track type in which the accessed file is located is the data block to which the accessed file is allocated.
  • FIG. 8A and FIG. 8B The specific implementation of the functions of the device in the embodiment shown in FIG. 8A and FIG. 8B can be referred to the method embodiment, and details are not described herein again.
  • FIG. 9 is a schematic structural diagram of a system 900 for managing a disk file according to an embodiment of the present invention.
  • the system includes a management device 900 and a disk 901.
  • the disk 901 is used to store files, and the management device 900 is used to manage files stored in the disk.
  • the management device 900 may specifically be the device 800A shown in FIG. 8A or the device 800B shown in FIG. 8B.
  • the file system in the embodiment of the present invention is used for organizing and managing data storage of disk space.
  • a data structure for describing logical partitioning of a disk may be included in the file system, which may include: a data area and a metadata area.
  • the access heat field may be included in the metadata area.
  • the access heat field can record the total access heat of the file.
  • the sliding window method is used to implement statistics, it can also be used to record the accumulated access heat in the statistical period.
  • the data area includes a data block area located on the inner track of the disk and a data block area located on the outer track of the disk.
  • the data structure may further include an access popularity ranking area for recording the access popularity ranking of files stored in the outer disk area of the disk.
  • the metadata area may further include a statistical time field for recording the total access heat recorded in the access heat field or the update time of the accumulated access heat.
  • Migration tags and migration location fields can also be added to the metadata zone during the file migration process.
  • FIG. 10 is a hardware structural diagram of an apparatus for managing a disk file according to an embodiment of the present invention. As shown in FIG. 10, the device includes a memory 101, an I/O interface 102, a processor 103, and a bus 104.
  • the processor 103, the memory 101, and the I/O interface 102 are communicatively coupled via a bus 104.
  • the I/O interface 102 is used to implement interaction between the device and the outside.
  • the device can receive external access to the file through the I/O interface 102.
  • the memory 101 may be a storage medium such as a hard disk.
  • the memory 101 can store instructions of the operating system and other applications as well as application data.
  • the memory 101 stores program instructions and data structures for implementing a file system.
  • the processor 103 can be a general-purpose central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), or one or more integrated circuits for running related programs.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • Bus 104 may include a path for communicating information between various components, such as processor 103, memory 101, and communication interface 102.
  • the processor 103 is configured to run a file system in the memory 101 for real Now the following functions: After receiving the request to access the file, the total access heat of the accessed file is accumulated. Determining the storage location of the accessed file. If the accessed file is stored in an inner lane of the disk, determining, according to the total access popularity of the accessed file, whether the accessed file satisfies a condition of migrating to a foreign channel of the disk; determining that the accessed file satisfies a migration to After the condition of the outer track of the disk, the accessed file is migrated to the outer track storage of the disk.
  • the specific processing procedure of the processor 103 may refer to the method embodiment part shown in FIG. 3 to FIG. 7 , and details are not described herein again.

Landscapes

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

Abstract

一种管理磁盘文件的方法、装置和系统,该方法包括:文件系统在每次接收到访问文件的请求后,累计被访问文件的总访问热度(S300);确定所述被访问文件的存储位置(S302);若所述被访问文件存储在磁盘的内道,则所述文件系统基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件;在确定所述被访问文件满足迁移到磁盘的外道的条件后,将所述被访问文件迁移到所述磁盘的外道存储(S304)。该方案可以提升磁盘的使用性能。

Description

一种管理磁盘文件的方法和装置
本申请要求于2014年12月31日提交中国专利局、申请号为201410856658.2,发明名称为“一种管理磁盘文件的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,特别涉及一种管理磁盘文件的方法和装置。
背景技术
磁盘由一个或多个圆形的“盘片”组成(盘片是由硬的物质,比如铝,制成的),盘片的单或双面涂有磁,用于记录数据。每面都有一个“读写头”(又称磁头),用于检查或修改记录下来的数据。盘片围绕着一个普通的轴旋转;一般转速有每分钟3600转、7200转等,高性能的磁盘的转速更高,甚至可达15000转。读写头沿盘片半径移动,这种随着盘片旋转的移动允许读写头对表层上每个部分进行访问。
表层通常分为若干个同心圆,就是通常所说的磁道,而这些磁道又依次分为若干个扇区。这样的划分用于指定磁盘上的位置,以及为文件分配磁盘空间。要想找出文件在磁盘上的具体位置,只须这样指出“表层3,第5磁道第7扇区”即可。通常情况下,所有磁道上的扇区号都是一样的,但有些磁盘在外部磁道上的扇区要多一些(所有扇区的物理大小都是一样的,所以,外部磁道可容纳更多的扇区)。一般说来,一个扇区可容纳512个字节的数据。磁盘本身不能处理数额少于一个扇区数的数据。
每个表层分划分磁道和扇区的方式都是一样的。这意味着一个表层的磁头位于一个磁道上时,另一个表层的磁头也会在相应的磁道上。聚集在一起的所有对应磁道就称为一个柱面。磁头从一个磁道移到另一个磁道上是要花时间的,所以要把经常访问的数据放在一起(比如,文件),使它们在同一个柱面内,这样,磁头就不必移来移去了(既花时间,又有损磁头),从而改进性能。
磁盘的外道性能比内道性能要高,一般来说,对于SATA/SAS硬盘,外道的性能可以达到内道的150%。其原因在于磁盘内外道有差异,磁盘转动的角速度是固定的,外道的线速度比内道快。另外,外道的磁性密度一般比内道要高。
现有技术中,文件系统分配磁盘空间给文件的时候,一般按一定策略分配(如:顺序分配)后,该文件一直占有该磁盘空间。由于每个文件的访问频率不同,就可能出现存储在磁盘外道的文件访问频率低,而存储在磁盘内道的文件访问频率高,这样就导致磁盘外道的存储空间没有有效利用,影响磁盘的使用性能。
发明内容
本发明实施例提供一种管理磁盘文件的方法和装置以提升磁盘的使用性能。
第一方面,一种管理磁盘文件的方法,包括:
文件系统在接收到访问文件的请求后,累计被访问文件的总访问热度;
确定所述被访问文件的存储位置;
若所述被访问文件存储在磁盘的内道,则所述文件系统基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件;在确定所述被访问文件满足迁移到磁盘的外道的条件后,将所述被访问文件迁移到所述磁盘的外道存储。
可选的,所述方法还包括:
确定位于所述磁盘的外道的文件中总访问热度最低的文件;所述基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件具体包括:
所述文件系统将所述被访问文件的总访问热度与所述磁盘的外道中总访问热度最低的文件的总访问热度进行比较;当所述被访问文件的总访问热度高于被比较的文件的总访问热度时,确定所述被访问文件满足迁移到磁盘的外道的 条件。
可选的,在确定所述被访问文件满足迁移到磁盘的外道的条件后,所述方法还包括:
将所述总访问热度最低的文件迁移到所述磁盘的内道存储。
可选的,所述确定所述被访问文件的存储位置具体包括:
确定被访问文件所在的数据块;
将所述数据块的块号与用于划分所述内道和外道的分界值进行比较;
根据比较结果确定所述被访问文件是存储在所述磁盘的内道还是外道。
可选的,所述文件系统中记录有位于所述磁盘的外道的文件的总访问热度排名;所述方法还包括:
若所述被访问文件存储在磁盘的外道,则所述文件系统根据累计后的总访问热度判断所述被访问文件的排名是否发生变化,若发生变化,则更新所述访问热度排名。
可选的,所述方法还包括:
在文件发生迁移时,所述文件系统在发生迁移的文件的元数据中记录迁移位置;在迁移完成后,所述文件系统将所述元数据中记录的原存储位置删除,并将所述迁移位置更改为存储位置。
可选的,在迁移文件的过程中,若接收到对发生迁移的文件进行写操作的请求,所述方法还包括:所述文件系统将要写入的内容分别写入到发生迁移的文件的迁移位置和原存储位置中。
可选的,在迁移文件的过程中,若接收到对发生迁移的文件进行写操作的请求,所述方法还包括:所述文件系统阻塞所述写操作,在迁移完成后,将要写入的内容写入到迁移后的文件中。
可选的,其特征在于,所述累计被访问文件的访问热度具体包括:
根据本次访问计算所述被访问文件的本次访问热度;
获取所述所述被访问文件的历史访问热度;
将所述本次访问热度与所述被访问文件的历史访问热度进行累加,得到所 述被访问文件的总访问热度。
可选的,所述文件系统中包括用于指定统计范围的滑窗;所述获取所述被访问文件的历史访问热度具体包括:获取所述被访问文件在所述滑窗指定的统计范围内的历史访问热度。
可选的,在获取所述被访问文件的历史访问热度前,所述方法还包括:判断是否需要滑动所述滑窗,若需要滑动所述滑窗,则在滑动所述滑窗后执行所述获取所述被访问文件的历史访问热度的操作;若无需滑动所述滑窗,则直接执行所述获取所述被访问文件的历史访问热度的操作。
可选的,所述滑窗包括至少一个统计周期;所述统计周期为所述滑窗的滑动单位;所述判断是否需要滑动所述滑窗具体包括:通过比较本次访问所述被访问文件的时间点与上次访问所述被访问文件的时间点判断本次访问与上次访问之间是否跨统计周期,若跨统计周期,则需要滑动所述滑窗;若未跨统计周期,则无需滑动所述滑窗。
可选的,所述方法还包括:在接收到对所述磁盘的外道的文件进行删除的请求时,所述文件系统删除请求删除的文件以及删除所述请求删除的文件在所述访问热度排名中的排名。
可选的,当所述访问文件的请求为写文件的请求时,所述方法还包括:文件系统确定是否需要为所述被访问文件分配新的数据块;在确定需要分配新的数据块时,按照所述被访问文件所在的磁道类型为所述被访问文件分配数据块;所述磁道类型包括所述磁盘的内道和所述磁盘的外道。
第二方面,一种管理磁盘文件的设备,所述设备包括访问接口和处理模块;
所述访问接口,用于接收访问文件的请求,并在接收到所述请求后触发所述处理模块进行处理;
所述处理模块,用于累计被访问文件的总访问热度;确定所述被访问文件的存储位置;若所述被访问文件存储在磁盘的内道,则基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件;在确定所述被访问文件满足迁移到磁盘的外道的条件后,将所述被访问文件迁移到所述 磁盘的外道存储。
可选的,所述处理模块具体包括:
累计子模块,用于累计被访问文件的总访问热度;
管理子模块,用于确定所述被访问文件的存储位置;若所述被访问文件存储在磁盘的内道,则基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件;在确定所述被访问文件满足迁移到磁盘的外道的条件后,将所述被访问文件迁移到所述磁盘的外道存储。
可选的,所述管理子模块还用于确定位于所述磁盘的外道的文件中总访问热度最低的文件;
所述管理子模块基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件具体包括:
所述管理子模块用于将所述被访问文件的总访问热度与所述磁盘的外道中总访问热度最低的文件的总访问热度进行比较;当所述被访问文件的总访问热度高于被比较的文件的总访问热度时,确定所述被访问文件满足迁移到磁盘的外道的条件。
可选的,所述管理子模块在确定所述被访问文件满足迁移到磁盘的外道的条件时,还进一步用于将位于所述磁盘的外道的文件中总访问热度最低的文件迁移到所述磁盘的内道存储。
可选的,所述管理子模块用于确定所述被访问文件的存储位置具体包括:
所述管理子模块用于确定被访问文件所在的数据块;将所述数据块的块号与用于划分所述内道和外道的分界值进行比较;根据比较结果确定所述被访问文件是存储在所述磁盘的内道还是外道。
可选的,所述处理模块还包括记录子模块,用于记录位于所述磁盘的外道的文件的总访问热度排名;
所述管理子模块还用于在确定出所述被访问文件是存储在磁盘的外道时,根据累计后的总访问热度判断所述被访问文件的排名是否发生变化,若发生变化,则更新所述记录子模块记录的所述访问热度排名。
可选的,所述管理子模块还用于在文件发生迁移时,在发生迁移的文件的元数据中记录迁移位置;在迁移完成后,将所述元数据中记录的原存储位置删除,并将所述迁移位置更改为存储位置。
可选的,在所述管理子模块迁移文件的过程中,若所述访问接口接收到对发生迁移的文件进行写操作的请求,则所述管理子模块还用于将要写入的内容分别写入到发生迁移的文件的迁移位置和原存储位置中。
可选的,在所述管理子模块迁移文件的过程中,若所述访问接口接收到对发生迁移的文件进行写操作的请求,则所述管理子模块还用于阻塞所述写操作,在迁移完成后,将要写入的内容写入到迁移后的文件中。
可选的,所述累计子模块用于累计被访问文件的访问热度具体包括:
所述累计子模块用于根据本次访问计算所述被访问文件的本次访问热度;获取所述所述被访问文件的历史访问热度;将所述本次访问热度与所述被访问文件的历史访问热度进行累加,得到所述被访问文件的总访问热度。
可选的,所述累计子模块用于获取所述被访问文件的历史访问热度具体包括:所述累计子模块用于获取所述被访问文件在预先设置的滑窗内的历史访问热度,所述滑窗用于指定统计范围。
可选的,所述累计子模块在获取所述被访问文件的历史访问热度前,还进一步用于判断是否需要滑动所述滑窗,若需要滑动所述滑窗,则在滑动所述滑窗后执行所述获取所述被访问文件的历史访问热度的操作;若无需滑动所述滑窗,则直接执行所述获取所述被访问文件的历史访问热度的操作。
可选的,所述滑窗包括至少一个统计周期;所述统计周期为所述滑窗的滑动单位;所述累计子模块判断是否需要滑动所述滑窗具体包括:所述累计子模块通过比较本次访问所述被访问文件的时间点与上次访问所述被访问文件的时间点判断本次访问与上次访问之间是否跨统计周期,若跨统计周期,则需要滑动所述滑窗;若未跨统计周期,则无需滑动所述滑窗。
可选的,在所述访问接口接收到对所述磁盘的外道的文件进行删除的请求时,所述管理子模块还用于删除请求删除的文件以及删除所述请求删除的文件 在所述访问热度排名中的排名。
可选的,其特征在于,当所述访问文件的请求为写文件的请求时,所述管理子模块还用于确定是否需要为所述被访问文件分配新的数据块;在确定需要分配新的数据块时,按照所述被访问文件所在的磁道类型为所述被访问文件分配数据块;所述磁道类型包括所述磁盘的内道和所述磁盘的外道。
第三方面,一种管理磁盘文件的系统,所述系统包括用于存储文件的磁盘以及权利要求15-28所述的设备。
在上述实施例中,通过统计文件的访问热度,并基于该访问热度将文件迁移到合适的磁盘区域,可以有效利用磁盘的外道存储空间,提高磁盘的使用性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为适用本发明实施例提供的磁盘文件管理技术的系统的架构图;
图2为UNIX操作系统中的文件系统的数据结构的示意图;
图3为本发明实施例提供的管理磁盘文件的方法的流程图;
图4为本发明实施例提供的累计被访问文件的总访问热度的流程图;
图5为滑窗的示意图;
图6为本发明实施例提供的文件系统中的数据结构示意图;
图7为本发明实施例提供的执行写文件操作的流程图;
图8A为本发明实施例提供的管理磁盘文件的设备800A的结构示意图;
图8B为本发明另一实施例提供的管理磁盘文件的设备800B的结构示意图;
图9为本发明实施例提供的管理磁盘文件的系统900的结构示意图;
图10为本发明实施例提供的管理磁盘文件的设备的硬件结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为适用本发明实施例提供的磁盘文件管理技术的系统的架构图。如图1所示,该系统包括应用层、操作系统层和硬件层。
其中,硬件层为磁盘。磁盘可以是串行高级技术附件(Serial Advanced Technology Attachment,SATA)硬盘、串行连接的SCSI(serial attached SCSI,SAS)硬盘、固态磁盘(solid state disk,SSD)等硬盘,也可以是光盘、软盘等。通常情况下,磁盘中可包括物理存储介质、磁盘缓存以及磁盘控制器。磁盘控制器用于控制将数据写入物理存储介质,或者从物理存储介质中读取数据。磁盘中的缓存主要是为了提高存储访问性能。
操作系统层包括文件系统(File System,FS)、通用块设备以及输入/输出(input/output,I/O)调度模块。其中,文件系统是操作系统用于明确磁盘上的文件的方法和数据结构,即在磁盘上组织文件的方法。其中,文件系统系统可以对磁盘进行逻辑划分,并采用特定的数据结构来描述对磁盘的逻辑划分。例如,图2为UNIX操作系统中的文件系统的数据结构的示意图。如图2所示,在UNIX操作系统的文件系统中,描述磁盘的逻辑划分的数据结构可包括超级块“superblock”、元数据区“Metadata”、日志区“Journal”以及数据区“data block”。超级块用于记录文件系统的总体信息,比如文件系统的大小,各区域(如:元数据区、日志区、数据区)的起始地址。元数据区用于记录索引节点“inode”,又称i节点,索引节点用于管理和存放文件的属性,比如,记录文件的大小、所有者和最近修改时间等,这些属性被称为文件的元数据。一个文件由一个索引节点管理。数据区由数据块组成,用于存放文件内容。
应用层包括应用程序(Application,APP)。
当应用层的APP调用操作系统层的文件系统的接口对文件进行访问时,文件系统将该访问操作通过通用块设备以及I/O调度模块下发到硬件层的磁盘控制器,磁盘控制器接收到来自I/O调度模块的访问操作后,对磁盘的物理存储介质进行访问。其中,通用块设备负责将访问的逻辑区域转换为磁盘上的物理区域。I/O调度模块通过调度算法控制将访问操作下发到硬件层的时间和顺序。
本发明实施例对文件系统做了改进,在文件系统中实现了动态调整磁盘中的文件的存储位置功能,使得访问频率高的文件可以存放于磁盘的外道,从提高磁盘的使用性能。下面结合附图对本发明实施例提供的方法进行详细说明。
图3为本发明实施例提供的管理磁盘文件的方法的流程图。该方法应用于文件系统,如图3所示,该方法包括:
S300,文件系统在接收到访问文件的请求后,累计被访问文件的总访问热度。
文件系统可以提供操作文件的接口,应用层的APP可以通过该接口向文件系统发送访问文件的请求。该请求中通常包括该访问的操作类型(例如,读操作或写操作),还可以进一步包括要访问的文件的标识以及访问的数据范围(比如,访问文件中前200字节的数据)。
访问热度用于表征文件被访问的频率。文件系统可以将文件在统计范围内的访问热度进行累计得到总访问热度。该累计过程可在每次接收到访问文件的请求后执行。
S302,文件系统确定所述被访问文件的存储位置。
文件系统以数据块为单位存储文件,每个数据块在磁盘中具有对应的物理区域。一个文件可以存储在一个或多个数据块中。
其中,内道是指离磁盘中心近的磁道,外道是指离磁盘中心远磁道。而内道和外道可通过一个分界值来划分。该分界值可以采用数据块的块号来表示。
文件系统确定所述被访问文件的存储位置具体包括:确定被访问文件所在的数据块。将所述数据块的块号与用于划分所述内道和外道的分界值进行比较。根据比较结果确定所述被访问文件是存储在所述磁盘的内道还是外道。
其中,根据比较结果确定所述被访问文件是存储在所述磁盘的内道还是外道具体可以是:若所述数据块的块号小于所述分界值,则确定所述被访问文件存储在所述磁盘的外道;若所述数据块的块号大于所述分界值,则确定所述被访问文件存储在所述磁盘的内道。
需要说明的是,通常情况下,数据块的块号是按磁盘空间从外向内进行编号的,因此,位于磁盘外道的数据块的块号小,位于内道的磁盘块号大。对于未按该规则编号的情况,可以根据本发明实施例中提供的方案进行合理变形,例如,如果数据块的块号是按磁盘空间从内向外进行编号,那么可认为数据块的块号小于分界值的,存储在所述磁盘的内道;数据块的块号大于分界值的,存储在所述磁盘的外道。
分界值可以预先配置在文件系统中。也可以预先在文件系统中配置内道与外道的区域比例,在确定被访问文件的存储位置时再根据该比例来确定分界值。当然,也可以在文件系统中预先配置内道或外道的区域范围,该区域范围以数据块的块号来划分,在确定被访问文件的存储位置时从该区域范围中获取分界值,例如,假设外道的区域范围为(0,100),则可将块号100作为分界值。
在配置时,可以将等于分界值的情况配置为内道,也可以配置为外道,具体可根据需要进行配置,本发明中不做限定。
S304,若所述被访问文件存储在磁盘的内道,文件系统基于被访问文件的总访问热度确定被访问文件是否满足迁移到磁盘的外道的条件;在确定被访问文件满足迁移到磁盘的外道的条件时,将被访问文件迁移到所述磁盘的外道存储。
具体的,文件系统可以确定出位于所述磁盘的外道的文件中总访问热度最低的文件。文件系统将被访问文件的总访问热度与磁盘的外道中总访问热度最低的文件的总访问热度进行比较;当被访问文件的总访问热度高于被比较的文件的总访问热度时,确定被访问文件满足迁移到磁盘的外道的条件。
对于确定被访问文件是否满足迁移到磁盘的外道的条件,还可以采用其它方式来实现。例如,可以预先设置总访问热度阈值。文件系统可以将被访问文 件的总访问热度与预设的总访问热度阈值进行比较;当被访问文件的总访问热度高于总访问热度阈值时,确定被访问文件满足迁移到磁盘的外道的条件。
其中,将被访问文件迁移到所述磁盘的外道存储的具体处理过程可以是:将被访问文件拷贝到磁盘的外道,并在拷贝完成后从内道删除该被访问文件。
需要说明的是,如果被访问文件不满足迁移到磁盘的外道的条件,则文件系统将该访问文件继续保留在磁盘的内道,不进行迁移处理。
通过本发明实施例提供的方案,文件系统可以将总访问热度高的文件迁移到磁盘的外道存储,使得这部分文件的访问速度加快,提升了磁盘的使用性能。
本发明实施例主要是解决磁盘文件的管理问题,因此,上述实施例介绍的是管理磁盘文件的过程,对于访问操作的执行过程则未在上述实施例中详细介绍。在实际实施过程中,文件系统还进一步根据访问文件的请求执行访问操作。其中,在步骤302中如果确定出所述被访问文件存储在磁盘的外道,则无需迁移文件,可直接对文件执行访问操作。如果步骤302中确定所述被访问文件存储在磁盘的内道,则在步骤304中如果确定所述被访问文件不满足迁移到磁盘的外道的条件,则无需执行迁移文件,可直接对文件执行访问操作。在步骤304中如果确定所述被访问文件满足迁移到磁盘的外道的条件,则可将被访问文件迁移到磁盘的外道后对文件执行访问操作。
为了更有效的使用磁盘空间,在确定所述被访问文件满足迁移到磁盘的外道的条件时,文件系统还可以进一步的将磁盘外道中总访问热度最低的文件迁移到磁盘的内道存储,从而提供更多的外道空间来存储访问热度高的文件。其中,在迁移的时候,可以先将该文件拷贝到磁盘的内道,在拷贝完成后再从磁盘的外道删除该文件。
另外,为了使文件系统更高效的确定出磁盘外道中总访问热度最低的文件,文件系统中可以记录位于磁盘的外道的文件的总访问热度排名。如果在步骤S304中确定出被访问文件存储在磁盘的外道,则文件系统还进一步根据累计后的总访问热度判断被访问文件的排名是否发生变化,若发生变化,则更新该访问热度排名。如果被访问文件的排名未发生变化,则文件系统继续执行其它处 理,比如,根据接收到的请求执行访问文件的操作。
进一步的,文件系统在接收到对所述磁盘的外道的文件进行删除的请求时,文件系统在删除请求删除的文件时,还进一步删除所述请求删除的文件在所述访问热度排名中的排名。
由于在迁移文件的过程中,文件系统可能会接收到访问被迁移的文件的请求,因此,在迁移文件的过程中还需要将发生迁移的文件的迁移位置记录下来,以便文件系统在接收访问被迁移的文件的请求的时候,能找到该文件。
具体的,根据图2所示的文件系统的数据结构可知,文件系统中包括有文件的元数据。文件的元数据中记录有文件的存储位置,文件系统可以根据文件的元数据中记录的存储位置找到该文件。本发明实施例中,在文件发生迁移时,文件系统还可以在发生迁移的文件的元数据中记录迁移位置。在迁移完成后,文件系统再将元数据中记录的原存储位置删除,并将所述迁移位置更改为存储位置。
由于在迁移文件的过程中,文件系统可能会接收到对被迁移的文件进行写操作的请求,此时,由于在正在进行文件迁移,可能导致写入的内容丢失。为了解决该问题,本发明实施例提供了两种处理方式。
方式一,在迁移文件的过程中,若接收到对发生迁移的文件进行写操作的请求,文件系统将要写入的内容分别写入到发生迁移的文件的迁移位置和原存储位置中。
方式二,在迁移文件的过程中,若接收到对发生迁移的文件进行写操作的请求,文件系统阻塞所述写操作,在迁移完成后,将要写入的内容写入到迁移后的文件中。
为了更方便的识别文件是否在迁移过程中,文件系统在迁移文件时,可以在发生迁移的文件的元数据中设置迁移标记,并在迁移完成后清除该标记。
本发明实施例中的访问文件的请求可以包括读文件的请求或写文件的请求。当步骤300中的访问文件的请求为写文件的请求时,文件系统在执行写操作的过程中还进一步确定是否需要为所述被访问文件分配新的数据块;在确定 需要分配新的数据块时,文件系统按照所述被访问文件所在的磁道类型为被访问文件分配数据块。其中,磁道类型包括磁盘的内道和磁盘的外道。也就是说,被访问文件在内道则分配内道的数据块,被访问文件在外道则分配外道的数据块。
图4为本发明实施例提供的累计被访问文件的总访问热度的流程图。如图4所示,累计被访问文件的总访问热度的过程具体包括:
S400,文件系统根据本次访问计算所述被访问文件的本次访问热度。
计算访问热度的算法可以有很多。例如,可以采用访问次数来表示访问热度,这样每次访问的访问热度就为1。由于存在一个文件中只有某一小部分数据被频繁访问,而其它大部分数据的访问频率都很低的情况,因此,需要以一个更全面的算法来计算每次访问的访问热度。本发明实施例提供的访问热度计算方法如下:
访问热度=被访问的数据大小/文件长度。
其中,被访问的数据大小可以根据访问文件的请求中携带的要访问的数据范围来获得。文件长度可以从文件的元数据中获得。
通过上述公式可以评估整个文件大小都被访问的频率,使得对访问热度的统计更精确。
S402,文件系统获取所述所述被访问文件的历史访问热度。
文件系统可采用滑窗方式来累计被访问文件的总访问热度。在采用滑窗方式来实现时,文件系统中可包括用于指定统计范围的滑窗。文件系统获取所述被访问文件的历史访问热度具体包括:获取被访问文件在该滑窗指定的统计范围内的历史访问热度。需要说明的是统计范围是指时间范围。
图5为滑窗的示意图。如图5所示,501为滑窗,502为统计周期。滑窗可以包括至少一个统计周期(图5以滑窗包括3个统计周期为例)。其中,统计周期为滑窗的滑动单位。假设按小时进行统计,那么1小时为1个统计周期。如果滑窗包括3个统计周期,就表示统计范围为最近3小时,由于每个小格代表一个统计周期,因此,滑窗按小格进行滑动。
文件系统可每过一个统计周期就滑动一次滑窗,但是,这需要文件系统持续的对统计周期进行监控,而且要频繁的滑动滑窗,效率低下。为了提高效率,文件系统可以在每次获取被访问文件的历史访问热度前确定滑窗位置。
具体的,文件系统先判断是否需要滑动所述滑窗,若需要滑动所述滑窗,则在滑动所述滑窗后执行S402;若无需滑动所述滑窗,则直接执行S402。
其中,判断是否需要滑动所述滑窗具体包括:通过比较本次访问所述被访问文件的时间点与上次访问所述被访问文件的时间点来判断本次访问与上次访问之间是否跨统计周期,若跨统计周期,则需要滑动所述滑窗;若未跨统计周期,则无需滑动所述滑窗。
同样以统计周期为1小时为例进行说明,假设统计周期以整点起算,上次访问所述被访问文件的时间点是2:30,本次访问所述被访问文件的时间点是3:20,由于统计周期以整点起算,因此,2:00至3:00为一个统计周期,3:00至4:00为一个统计周期,本次访问与上次访问之间已经跨统计周期,滑窗应从(1:00至3:00)滑动至(2:00至4:00)。
需要说明的是,滑窗仅是进行统计的一种方式。本发明实施例还可以采用其它统计方式。例如,文件系统可以采用每过一个统计周期就将累计的总访问热度按预设比例进行衰减的方式来实现类似滑动滑窗的功能。
需要说明的是,在采用滑窗的方式来累计总访问热度时,文件系统可分别累计滑窗内的每个统计周期内的访问热度,并将每个统计周期的累计访问热度记录下来。文件系统获取的历史访问热度可包括滑窗范围内的每个统计周期的累计访问热度。
S404,文件系统将所述本次访问热度与所述被访问文件的历史访问热度进行累加,得到所述被访问文件的总访问热度。
需要说明的是,在采用在每次获取被访问文件的历史访问热度前确定滑窗位置的方案中,文件系统需要记录下本次获得总访问热度的时间,以便在下次确定是否滑动滑窗时使用。
在本发明实施例中,文件的总访问热度或者处于滑窗范围内的每个统计周 期的累计访问热度都可记录在该文件的元数据中。文件在发生迁移时,需要记录的迁移信息(例如,迁移位置,迁移标记等)也可记录在该文件的元数据中。
下面以UNIX的文件系统为例,对本发明的方案进行详细说明。如图6所示,图6为本发明实施例提供的文件系统中的数据结构示意图。图6所示的数据结构在图2所示的数据结构的基础上增加了访问热度排名区域。该访问热度排名区域为本发明实施例新增的用于记录存储在磁盘外道区域的文件的访问热度排名的区域。在具体实现时,热度排名区域中可包括头“Header”和排名列表“Top file list”两部分。“Header”中包含了访问热度排名区域的总体信息,如访问热度排名区域的区域大小、已使用大小等。“Top file list”中记录了磁盘外道区域的文件的访问热度排名,一般可以采用B+树、或者bitmap来管理。
除新增的访问热度排名区域外,图6所示的数据结构还可包括图2所示的数据结构中的超级块、元数据区以及数据区。其中,本发明实施例还在超级块中新增内外道迁移开关以及特性参数。内外道切换开关是内外道迁移的使能开关,用于表示是否打开进行内外道迁移的功能。特性参数中可以设置分界值或者滑窗大小等。超级块中还新增了访问热度排名区域的起始地址和大小的记录。本发明实施例还在索引节点“inode”中新增访问热度字段以及统计时间字段。其中,访问热度字段用于记录文件的总访问热度或处于滑窗范围内的每个统计周期的累计访问热度。统计时间字段用于记录访问热度字段中记录的总访问热度或累计访问热度的更新时间。在文件迁移过程中,索引节点中还可增加迁移标记位以及迁移位置字段。
图6所示的数据结构还可包括图2所示的数据结构中的日志区或现有技术中的其它逻辑分块,由于本发明实施例不涉及对其它逻辑分块的改进,因此,这里不再赘述。需要说明的是,图6中所示的数据结构仅是以UNIX的文件系统为例进行说明,在其它操作系统的文件系统中,也可以参考上述实施例实现同样的功能。
在本发明实施例中,由于写文件操作与迁移文件的操作可能发生冲突,因此对于写文件的请求的处理过程会更加复杂,下面结合图7对文件 系统接收到写文件的请求后的处理过程做更详细的说明。如图7所示,图7为本发明实施例提供的执行写文件操作的流程图。该流程包括:
S700,文件系统接收写文件的请求。
本实施例中,文件系统接收的访问请求为写文件的请求。该请求中可以携带要读取的文件的标识、操作类型或访问的数据范围等。
S702,文件系统累计被写文件的总访问热度。
文件系统累计被写文件的总访问热度的具体实现过程可参考图4部分,这里不再赘述。
S704,文件系统确定被写文件的存储位置;若所述被写文件存储在磁盘的内道,则执行S706;若所述被写文件存储在磁盘的外道,则执行S710。
具体的,文件系统根据请求中携带的文件标识获取被写文件的元数据。从该文件的元数据中获取文件所在的数据块,并通过该数据块的块号和预先设置的分界值来确定该文件是位于磁盘的外道还是内道。
文件系统在获取到被写文件的元数据后,还可进一步判断该文件的元数据中是否设置有迁移标记,若设置有迁移标记,则表明该文件正在迁移中,文件系统可以阻塞接收到的写文件的请求,等到迁移标记清除(即文件迁移完成)再继续进行后续操作。
S706,文件系统确定位于所述磁盘的外道的文件中总访问热度最低的文件,将被写文件的总访问热度与磁盘的外道中总访问热度最低的文件的总访问热度进行比较;若被读取文件的总访问热度高于被比较的文件的总访问热度,则执行S708;若所述被读取文件的总访问热度低于被比较的文件的总访问热度,则执行S710
S708,文件系统将被写文件迁移到磁盘的外道存储,并将磁盘外道总访问热度最低的文件迁移到磁盘内道存储。
其中,文件迁移可以通过复制加删除来完成。例如,在将被写文件迁移到磁盘的外道时,可先将被写文件拷贝到磁盘外道再从磁盘内道删除该文件。
S710,文件系统将要写入的内容写入到被写文件中。
具体的,文件系统在写文件时,还可以进一步判断是否需要分配新的数据块。如果需要分配新的数据块,则文件系统可根据文件所在的磁道类型来分配。其中,磁道类型包括磁盘的外道和内道。文件系统可为在内道的文件分配位于内道的数据块,为在外道的文件分配位于外道的数据块,
下面结合附图对管理磁盘文件的设备的具体结构进行详细说明。
图8A为本发明实施例提供的管理磁盘文件的设备800A的结构示意图。如图8A所示,该设备可包括访问接口801和处理模块802。其中,
所述访问接口801,用于接收访问文件的请求,并在接收到该请求后触发所述处理模块对进行处理。
所述处理模块802,用于累计被访问文件的总访问热度。确定所述被访问文件的存储位置。若所述被访问文件存储在磁盘的内道,则基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件;在确定所述被访问文件满足迁移到磁盘的外道的条件后,将所述被访问文件迁移到所述磁盘的外道存储。
上述访问接口801和处理模块802可用于实现方法实施例中文件系统的功能。
如图8B所示,图8B为本发明另一实施例提供的管理磁盘文件的设备800B的结构示意图。图8B所示的设备800B也可包括图8A所示设备800A中的访问接口801和处理模块802。其中,访问接口801可以是文件系统对外开放的接口,可以接收APP的调用或者接收用户的访问。处理模块802具体可包括累计子模块8021和管理子模块8022。其中,累计子模块8021,用于累计被访问文件的总访问热度。管理子模块8022,用于确定所述被访问文件的存储位置;若所述被访问文件存储在磁盘的内道,则基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件;在确定所述被访问文件满足迁移到磁盘的外道的条件后,将所述被访问文件迁移到所述磁盘的外道存储。
其中,累计子模块8021用于累计被访问文件的访问热度具体包括:累计子模块8021用于根据本次访问计算所述被访问文件的本次访问热度;获取所述所 述被访问文件的历史访问热度;将所述本次访问热度与所述被访问文件的历史访问热度进行累加,得到所述被访问文件的总访问热度。
累计子模块8021可采用图4所示实施例中的访问热度的计算公式来计算本次访问热度。该计算公式只是一种举例,也可采用其它计算公式来,在此不做限定。
累计子模块8021可采用滑窗方式来累计被访问文件的总访问热度。其中,滑窗用于指定的统计范围,该范围通常为时间范围。在采用滑窗方式来实现时,累计子模块8021用于获取所述被访问文件的历史访问热度具体包括:累计子模块8021用于获取所述被访问文件在预先设置的滑窗内的历史访问热度。
累计子模块8021在获取所述被访问文件的历史访问热度前,还进一步用于判断是否需要滑动所述滑窗,若需要滑动所述滑窗,则在滑动所述滑窗后执行所述获取所述被访问文件的历史访问热度的操作;若无需滑动所述滑窗,则直接执行所述获取所述被访问文件的历史访问热度的操作。
滑窗的大小可以预先配置,滑窗可包括至少一个统计周期,该统计周期为滑窗的滑动单位。滑窗包括的统计周期个数代表了滑窗的大小。累计子模块8021判断是否需要滑动所述滑窗可具体包括:累计子模块8021通过比较本次访问所述被访问文件的时间点与上次访问所述被访问文件的时间点判断本次访问与上次访问之间是否跨统计周期,若跨统计周期,则需要滑动所述滑窗;若未跨统计周期,则无需滑动所述滑窗。
其中,累计子模块8021实现累计被访问文件的访问热度的具体过程可参考图4所示的方法实施例部分,这里不再赘述。
下面对管理子模块8022的功能做更详细的说明。
为了更有效的使用磁盘空间,管理子模块8022在确定所述被访问文件满足迁移到磁盘的外道的条件时,还进一步用于将位于所述磁盘的外道的文件中总访问热度最低的文件迁移到所述磁盘的内道存储。从而提供更多的外道空间来存储访问热度高的文件。其中,在迁移的时候,管理子模块8022可以先将该文件拷贝到磁盘的内道,在拷贝完成后再从磁盘的外道删除该文件。
由于在从外道迁移文件到内道时,选择将位外道的文件中总访问热度最低的文件进行迁移,因此,管理子模块8022还用于确定位于所述磁盘的外道的文件中总访问热度最低的文件。相应的,将内道文件迁移到外道的条件也可以是内道文件的总访问热度高于外道中总访问热度最低的文件的总访问热度。具体的,管理子模块8022基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件具体包括:管理子模块8022用于将所述被访问文件的总访问热度与所述磁盘的外道中总访问热度最低的文件的总访问热度进行比较;当所述被访问文件的总访问热度高于被比较的文件的总访问热度时,确定所述被访问文件满足迁移到磁盘的外道的条件。
需要说明的是,磁盘的内外道可以通过分界值来划分。该分界值的获得可以参见方法实施例部分,这里不再赘述。管理子模块8022用于确定所述被访问文件的存储位置具体包括:管理子模块8022用于确定被访问文件所在的数据块;将所述数据块的块号与用于划分所述内道和外道的分界值进行比较;根据比较结果确定所述被访问文件是存储在所述磁盘的内道还是外道。例如,若所述数据块的块号小于所述分界值,则确定所述被访问文件存储在所述磁盘的外道;若所述数据块的块号大于所述分界值,则确定所述被访问文件存储在所述磁盘的内道。
另外,为了使管理子模块8022更高效的确定出磁盘外道中总访问热度最低的文件,处理模块802还可以包括记录子模块8023,用于记录位于所述磁盘的外道的文件的总访问热度排名。管理子模块8022还用于在确定出所述被访问文件是存储在磁盘的外道时,根据累计后的总访问热度判断所述被访问文件的排名是否发生变化,若发生变化,则更新所述记录子模块记录的所述访问热度排名。
由于在迁移文件的过程中,设备800B可能会接收到访问被迁移的文件的请求,因此,在迁移文件的过程中还需要将发生迁移的文件的迁移位置记录下来,以便设备800B在接收访问被迁移的文件的请求的时候,能找到该文件。因此,管理子模块8022还用于在文件发生迁移时,在发生迁移的文件的元数据中记录 迁移位置;在迁移完成后,将所述元数据中记录的原存储位置删除,并将所述迁移位置更改为存储位置。
由于在迁移文件的过程中,设备800B可能会接收到对被迁移的文件进行写操作的请求,此时,由于在正在进行文件迁移,可能导致写入的内容丢失。为了解决该问题,本发明实施例在管理子模块8022实现了解决冲突的能力。其中,该能力可通过两种方式来实现。
方式一,在所述管理子模块8022迁移文件的过程中,若所述访问接口801接收到对发生迁移的文件进行写操作的请求,则所述管理子模块8022还用于阻塞所述写操作,在迁移完成后,将要写入的内容写入到迁移后的文件中。
方式二,在所述管理子模块8022迁移文件的过程中,若所述访问接口801接收到对发生迁移的文件进行写操作的请求,则所述管理子模块还用于将要写入的内容分别写入到发生迁移的文件的迁移位置和原存储位置中。
应用本发明实施例提供的方案还可能涉及到对现有的其它功能的影响,因此,对这些受影响的功能,在本发明实施例中进行了相应改进。例如,对删除文件的请求的处理,以及对文件进行写操作的处理。具体的,
在所述访问接口801接收到对所述磁盘的外道的文件进行删除的请求时,所述管理子模块8022还用于删除请求删除的文件以及删除所述请求删除的文件在所述访问热度排名中的排名。
当所述访问文件的请求为写文件的请求时,所述管理子模块8022还用于确定是否需要为所述被访问文件分配新的数据块;在确定需要分配新的数据块时,按照所述被访问文件所在的磁道类型为所述被访问文件分配数据块。
图8A和图8B所示实施例的设备的各功能的具体实现可参考方法实施例,这里不再赘述。
图9为本发明实施例提供的管理磁盘文件的系统900的结构示意图,如图9所示,该系统包括管理设备900和磁盘901。其中,磁盘901用于存储文件,管理设备900用于对磁盘中存储的文件进行管理。管理设备900具体可以是图8A所示的设备800A或图8B所示的设备800B。
需要说明的是,本发明实施例中的文件系统是用于组织和管理磁盘空间的数据存储的。因此,文件系统中可包括用于描述对磁盘的逻辑划分的数据结构,该数据结构可包括:数据区和元数据区。其中,元数据区中可包括访问热度字段。访问热度字段可以记录文件的总访问热度,在采用滑窗方式来实现统计时,还可以用于记录统计周期内的累计访问热度。
数据区包括位于磁盘的内道的数据块区以及位于磁盘的外道的数据块区。
该数据结构中还可进一步包括访问热度排名区域,用于记录存储在磁盘外道区域的文件的访问热度排名。
进一步的,元数据区中还可包括统计时间字段,用于记录访问热度字段中记录的总访问热度或累计访问热度的更新时间。在文件迁移过程中,还可在元数据区中增加迁移标记以及迁移位置字段。
上述数据结构可应用在本发明实施例提供的方法、设备以及系统中。具体应用可参见图1至图9所示实施例中记载的内容。
图10为本发明实施例提供的管理磁盘文件的设备的硬件结构图。如图10所示,该设备包括存储器101,I/O接口102,处理器103和总线104。
其中,处理器103、存储器101和I/O接口102通过总线104通信连接。
I/O接口102用来实现设备与外部的交互。本发明实施例中,设备可以通过I/O接口102接收外部对文件的访问。
存储器101可以是硬盘等存储介质。存储器101可以存储操作系统和其他应用程序的指令以及应用数据。本发明实施例中存储器101存储有实现文件系统的程序指令和数据结构。
处理器103可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于运行相关程序。
总线104可包括一通路,在各个部件(例如处理器103、存储器101和通信接口102)之间传送信息。
本发明实施例中,处理器103用于运行存储器101中的文件系统,用于实 现以下功能:在接收到访问文件的请求后,累计被访问文件的总访问热度。确定所述被访问文件的存储位置。若所述被访问文件存储在磁盘的内道,则基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件;在确定所述被访问文件满足迁移到磁盘的外道的条件后,将所述被访问文件迁移到所述磁盘的外道存储。
所述处理器103具体处理过程可参考图3至图7所示的方法实施例部分,这里不再赘述。
通过以上的实施例的描述,本领域普通技术人员可以理解:实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤,所述的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述,仅为本发明的具体实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (30)

  1. 一种管理磁盘文件的方法,其特征在于,包括:
    文件系统在接收到访问文件的请求后,累计被访问文件的总访问热度;
    确定所述被访问文件的存储位置;
    若所述被访问文件存储在磁盘的内道,则所述文件系统基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件;在确定所述被访问文件满足迁移到磁盘的外道的条件后,将所述被访问文件迁移到所述磁盘的外道存储。
  2. 如权利要求1所述的方法,其特征在于,所述方法还包括:
    确定位于所述磁盘的外道的文件中总访问热度最低的文件;所述基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件具体包括:
    所述文件系统将所述被访问文件的总访问热度与所述磁盘的外道中总访问热度最低的文件的总访问热度进行比较;当所述被访问文件的总访问热度高于被比较的文件的总访问热度时,确定所述被访问文件满足迁移到磁盘的外道的条件。
  3. 如权利要求2所述的方法,其特征在于,在确定所述被访问文件满足迁移到磁盘的外道的条件后,所述方法还包括:
    将所述总访问热度最低的文件迁移到所述磁盘的内道存储。
  4. 如权利要求1-3任一项所述的方法,其特征在于,所述确定所述被访问文件的存储位置具体包括:
    确定被访问文件所在的数据块;
    将所述数据块的块号与用于划分所述内道和外道的分界值进行比较;
    根据比较结果确定所述被访问文件是存储在所述磁盘的内道还是外道。
  5. 如权利要求1-4任一项所述的方法,其特征在于,所述文件系统中记录有位于所述磁盘的外道的文件的总访问热度排名;所述方法还包括:
    若所述被访问文件存储在磁盘的外道,则所述文件系统根据累计后的总访问热度判断所述被访问文件的排名是否发生变化,若发生变化,则更新所述总访问热度排名。
  6. 如权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
    在文件发生迁移时,所述文件系统在发生迁移的文件的元数据中记录迁移位置;在迁移完成后,所述文件系统将所述元数据中记录的原存储位置删除,并将所述迁移位置更改为存储位置。
  7. 如权利要求6所述的方法,其特征在于,在迁移文件的过程中,若接收到对发生迁移的文件进行写操作的请求,所述方法还包括:所述文件系统将要写入的内容分别写入到发生迁移的文件的迁移位置和原存储位置中。
  8. 如权利要求6所述的方法,其特征在于,在迁移文件的过程中,若接收到对发生迁移的文件进行写操作的请求,所述方法还包括:所述文件系统阻塞所述写操作,在迁移完成后,将要写入的内容写入到迁移后的文件中。
  9. 如权利要求1-8任一项所述的方法,其特征在于,所述累计被访问文件的访问热度具体包括:
    根据本次访问计算所述被访问文件的本次访问热度;
    获取所述所述被访问文件的历史访问热度;
    将所述本次访问热度与所述被访问文件的历史访问热度进行累加,得到所述被访问文件的总访问热度。
  10. 如权利要求9所述的方法,其特征在于,所述文件系统中包括用于指定统计范围的滑窗;所述获取所述被访问文件的历史访问热度具体包括:获取所述被访问文件在所述滑窗指定的统计范围内的历史访问热度。
  11. 如权利要求10所述的方法,其特征在于,在获取所述被访问文件的历史访问热度前,所述方法还包括:判断是否需要滑动所述滑窗,若需要滑动所述滑窗,则在滑动所述滑窗后执行所述获取所述被访问文件的历史访问热度的操作;若无需滑动所述滑窗,则直接执行所述获取所述被访问文件的历史访问热度的操作。
  12. 如权利要求11所述的方法,其特征在于,所述滑窗包括至少一个统计周期;所述统计周期为所述滑窗的滑动单位;所述判断是否需要滑动所述滑窗具体包括:通过比较本次访问所述被访问文件的时间点与上次访问所述被访问文件的时间点判断本次访问与上次访问之间是否跨统计周期,若跨统计周期,则需要滑动所述滑窗;若未跨统计周期,则无需滑动所述滑窗。
  13. 如权利要求5所述的方法,其特征在于,所述方法还包括:在接收到对所述磁盘的外道的文件进行删除的请求时,所述文件系统删除请求删除的文件以及删除所述请求删除的文件在所述访问热度排名中的排名。
  14. 如权利要求1-13任一项所述的方法,其特征在于,当所述访问文件的请求为写文件的请求时,所述方法还包括:文件系统确定是否需要为所述被访问文件分配新的数据块;在确定需要分配新的数据块时,按照所述被访问文件所在的磁道类型为所述被访问文件分配数据块;所述磁道类型包括所述磁盘的内道和所述磁盘的外道。
  15. 一种管理磁盘文件的设备,其特征在于,所述设备包括访问接口和处理模块;
    所述访问接口,用于接收访问文件的请求,并在接收到所述请求后触发所述处理模块进行处理;
    所述处理模块,用于累计被访问文件的总访问热度;确定所述被访问文件的存储位置;若所述被访问文件存储在磁盘的内道,则基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件;在确定所述被访问文件满足迁移到磁盘的外道的条件后,将所述被访问文件迁移到所述磁盘的外道存储。
  16. 如权利要求15所述的方法,其特征在于,所述处理模块具体包括:
    累计子模块,用于累计被访问文件的总访问热度;
    管理子模块,用于确定所述被访问文件的存储位置;若所述被访问文件存储在磁盘的内道,则基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件;在确定所述被访问文件满足迁移到磁盘的外 道的条件后,将所述被访问文件迁移到所述磁盘的外道存储。
  17. 如权利要求15或16所述的设备,其特征在于,所述管理子模块还用于确定位于所述磁盘的外道的文件中总访问热度最低的文件;
    所述管理子模块基于所述被访问文件的总访问热度确定所述被访问文件是否满足迁移到磁盘的外道的条件具体包括:
    所述管理子模块用于将所述被访问文件的总访问热度与所述磁盘的外道中总访问热度最低的文件的总访问热度进行比较;当所述被访问文件的总访问热度高于被比较的文件的总访问热度时,确定所述被访问文件满足迁移到磁盘的外道的条件。
  18. 如权利要求17所述的设备,其特征在于,所述管理子模块在确定所述被访问文件满足迁移到磁盘的外道的条件时,还进一步用于将位于所述磁盘的外道的文件中总访问热度最低的文件迁移到所述磁盘的内道存储。
  19. 如权利要求15-18任一项所述的设备,其特征在于,所述管理子模块用于确定所述被访问文件的存储位置具体包括:
    所述管理子模块用于确定被访问文件所在的数据块;将所述数据块的块号与用于划分所述内道和外道的分界值进行比较;根据比较结果确定所述被访问文件是存储在所述磁盘的内道还是外道。
  20. 如权利要求15-19任一项所述的设备,其特征在于,所述处理模块还包括记录子模块,用于记录位于所述磁盘的外道的文件的总访问热度排名;
    所述管理子模块还用于在确定出所述被访问文件是存储在磁盘的外道时,根据累计后的总访问热度判断所述被访问文件的排名是否发生变化,若发生变化,则更新所述记录子模块记录的所述访问热度排名。
  21. 如权利要求15-19任一项所述的设备,其特征在于,所述管理子模块还用于在文件发生迁移时,在发生迁移的文件的元数据中记录迁移位置;在迁移完成后,将所述元数据中记录的原存储位置删除,并将所述迁移位置更改为存储位置。
  22. 如权利要求21所述的设备,其特征在于,在所述管理子模块迁移文 件的过程中,若所述访问接口接收到对发生迁移的文件进行写操作的请求,则所述管理子模块还用于将要写入的内容分别写入到发生迁移的文件的迁移位置和原存储位置中。
  23. 如权利要求21所述的设备,其特征在于,在所述管理子模块迁移文件的过程中,若所述访问接口接收到对发生迁移的文件进行写操作的请求,则所述管理子模块还用于阻塞所述写操作,在迁移完成后,将要写入的内容写入到迁移后的文件中。
  24. 如权利要求15-23任一项所述的设备,其特征在于,所述累计子模块用于累计被访问文件的访问热度具体包括:
    所述累计子模块用于根据本次访问计算所述被访问文件的本次访问热度;获取所述所述被访问文件的历史访问热度;将所述本次访问热度与所述被访问文件的历史访问热度进行累加,得到所述被访问文件的总访问热度。
  25. 如权利要求24所述的设备,其特征在于,所述累计子模块用于获取所述被访问文件的历史访问热度具体包括:所述累计子模块用于获取所述被访问文件在预先设置的滑窗内的历史访问热度,所述滑窗用于指定统计范围。
  26. 如权利要求25所述的设备,其特征在于,所述累计子模块在获取所述被访问文件的历史访问热度前,还进一步用于判断是否需要滑动所述滑窗,若需要滑动所述滑窗,则在滑动所述滑窗后执行所述获取所述被访问文件的历史访问热度的操作;若无需滑动所述滑窗,则直接执行所述获取所述被访问文件的历史访问热度的操作。
  27. 如权利要求26所述的设备,其特征在于,所述滑窗包括至少一个统计周期;所述统计周期为所述滑窗的滑动单位;所述累计子模块判断是否需要滑动所述滑窗具体包括:所述累计子模块通过比较本次访问所述被访问文件的时间点与上次访问所述被访问文件的时间点判断本次访问与上次访问之间是否跨统计周期,若跨统计周期,则需要滑动所述滑窗;若未跨统计周期,则无需滑动所述滑窗。
  28. 如权利要求20所述的设备,其特征在于,在所述访问接口接收到对 所述磁盘的外道的文件进行删除的请求时,所述管理子模块还用于删除请求删除的文件以及删除所述请求删除的文件在所述访问热度排名中的排名。
  29. 如权利要求15-28任一项所述的设备,其特征在于,其特征在于,当所述访问文件的请求为写文件的请求时,所述管理子模块还用于确定是否需要为所述被访问文件分配新的数据块;在确定需要分配新的数据块时,按照所述被访问文件所在的磁道类型为所述被访问文件分配数据块;所述磁道类型包括所述磁盘的内道和所述磁盘的外道。
  30. 一种管理磁盘文件的系统,其特征在于,所述系统包括用于存储文件的磁盘以及权利要求15-29所述的设备。
PCT/CN2015/096973 2014-12-31 2015-12-10 一种管理磁盘文件的方法和装置 WO2016107390A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410856658.2A CN105808620B (zh) 2014-12-31 2014-12-31 一种管理磁盘文件的方法和装置
CN201410856658.2 2014-12-31

Publications (1)

Publication Number Publication Date
WO2016107390A1 true WO2016107390A1 (zh) 2016-07-07

Family

ID=56284203

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/096973 WO2016107390A1 (zh) 2014-12-31 2015-12-10 一种管理磁盘文件的方法和装置

Country Status (2)

Country Link
CN (1) CN105808620B (zh)
WO (1) WO2016107390A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442309A (zh) * 2019-07-24 2019-11-12 广东紫晶信息存储技术股份有限公司 一种基于光存储的冷热数据交换方法及系统
US10782888B2 (en) 2018-02-27 2020-09-22 Cisco Technology, Inc. Method and device for improving file system write bandwidth through hard disk track management

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775461B (zh) * 2016-11-30 2020-01-21 华为技术有限公司 热点数据确定方法、设备及装置
CN106802934A (zh) * 2016-12-29 2017-06-06 中国科学院空间应用工程与技术中心 一种动态调整空间科学与应用数据文件存储的方法及装置
CN107092443B (zh) * 2017-04-28 2020-04-07 杭州宏杉科技股份有限公司 数据迁移方法及装置
CN109471836A (zh) * 2018-11-01 2019-03-15 浪潮电子信息产业股份有限公司 一种数据迁移方法、装置和系统
CN110381153A (zh) * 2019-07-24 2019-10-25 深圳市网心科技有限公司 一种文件部署方法、部署设备、系统及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113160A1 (en) * 2007-10-25 2009-04-30 Disk Trix Incorporated, A South Carolina Corporation Method and System for Reorganizing a Storage Device
US20120047189A1 (en) * 2010-08-17 2012-02-23 Iolo Technologies, Llc System and method for efficient data storage
US20120113786A1 (en) * 2010-11-05 2012-05-10 International Business Machines Corporation Smart optimization of tracks for cloud computing
CN102841931A (zh) * 2012-08-03 2012-12-26 中兴通讯股份有限公司 分布式文件系统的存储方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667772B (zh) * 2010-03-01 2015-05-20 株式会社日立制作所 文件级分级存储管理系统、方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113160A1 (en) * 2007-10-25 2009-04-30 Disk Trix Incorporated, A South Carolina Corporation Method and System for Reorganizing a Storage Device
US20120047189A1 (en) * 2010-08-17 2012-02-23 Iolo Technologies, Llc System and method for efficient data storage
US20120113786A1 (en) * 2010-11-05 2012-05-10 International Business Machines Corporation Smart optimization of tracks for cloud computing
CN102841931A (zh) * 2012-08-03 2012-12-26 中兴通讯股份有限公司 分布式文件系统的存储方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10782888B2 (en) 2018-02-27 2020-09-22 Cisco Technology, Inc. Method and device for improving file system write bandwidth through hard disk track management
CN110442309A (zh) * 2019-07-24 2019-11-12 广东紫晶信息存储技术股份有限公司 一种基于光存储的冷热数据交换方法及系统

Also Published As

Publication number Publication date
CN105808620B (zh) 2019-11-26
CN105808620A (zh) 2016-07-27

Similar Documents

Publication Publication Date Title
WO2016107390A1 (zh) 一种管理磁盘文件的方法和装置
US9355112B1 (en) Optimizing compression based on data activity
US9535616B2 (en) Scheduling transfer of data
JP5685676B2 (ja) 計算機システム及びデータ管理方法
US5734861A (en) Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity
US8495260B2 (en) System, method and program product to manage transfer of data to resolve overload of a storage system
JP4699837B2 (ja) ストレージシステム、管理計算機及びデータ移動方法
US8423727B2 (en) I/O conversion method and apparatus for storage system
JP2004334419A (ja) 磁気ディスク装置、ファイル管理システム及びその方法
US10606503B2 (en) Apparatus to reduce a data-migration time for rearranging data between storage hierarchical layers
US9086805B2 (en) Dynamic tracking of storage region operating parameters
WO2017148242A1 (zh) 一种访问叠瓦式磁记录smr硬盘的方法及服务器
WO2014209234A1 (en) Method and apparatus for hot data region optimized dynamic management
US9183127B2 (en) Sequential block allocation in a memory
WO2017211247A1 (zh) 缓存管理方法、缓存控制器以及计算机系统
JP6724534B2 (ja) 情報処理装置、重複除去プログラム、及び重複除去方法
US10599619B2 (en) Techniques for managing file fragmentation at a computing device
US20170315924A1 (en) Dynamically Sizing a Hierarchical Tree Based on Activity
US20170344269A1 (en) Storage system, control apparatus, and method of transmitting data
US11429431B2 (en) Information processing system and management device
JP6680069B2 (ja) ストレージ制御装置、ストレージシステム及びストレージ装置制御プログラム
US10585592B2 (en) Disk area isolation method and device
US20150012691A1 (en) Storage control apparatus, control program, and control method
JP4301026B2 (ja) データ記録装置及びデータ記録方法、並びに記録再生システム
US10740015B2 (en) Optimized management of file system metadata within solid state storage devices (SSDs)

Legal Events

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

Ref document number: 15875068

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15875068

Country of ref document: EP

Kind code of ref document: A1