CN116821076A - A file search method and device based on electronic equipment - Google Patents
A file search method and device based on electronic equipment Download PDFInfo
- Publication number
- CN116821076A CN116821076A CN202210283183.7A CN202210283183A CN116821076A CN 116821076 A CN116821076 A CN 116821076A CN 202210283183 A CN202210283183 A CN 202210283183A CN 116821076 A CN116821076 A CN 116821076A
- Authority
- CN
- China
- Prior art keywords
- file
- hash value
- electronic device
- inode number
- current read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
技术领域Technical field
本申请实施例涉及电子技术领域,并且更具体地,涉及一种基于电子设备的文件查找方法和装置。The embodiments of the present application relate to the field of electronic technology, and more specifically, to a file search method and device based on electronic equipment.
背景技术Background technique
在手机等设备的内部会存储大量文件,大量文件中存在部分相同的文件,从而相同的文件重复占用了电子设备的存储空间,因此需要去除重复占用存储空间的文件,可以简称文件去重。通常,文件去重时需要计算多个文件的哈希(hash)值,去重速度较慢。A large number of files are stored inside devices such as mobile phones, and there are some identical files in a large number of files. As a result, the same files repeatedly occupy the storage space of the electronic device. Therefore, it is necessary to remove files that repeatedly occupy the storage space, which can be referred to as file deduplication. Usually, when deduplicating files, you need to calculate hash values of multiple files, and the deduplication speed is slow.
发明内容Contents of the invention
本申请实施例提供一种基于电子设备的文件查找方法和装置,能够提升重复文件的查找速度,提升文件去重的效率。Embodiments of the present application provide a file search method and device based on electronic equipment, which can improve the search speed of duplicate files and improve the efficiency of file deduplication.
第一方面,提供了一种基于电子设备的文件查找方法,包括:电子设备确定所述电子设备的负载程度;当确定所述电子设备的负载程度为重负载时,所述电子设备获取当前读/写文件的第一hash值以及所述当前读/写文件的索引节点inode号;当确定所述电子设备的负载程度为轻负载时,所述电子设备获取所述电子设备中存储的至少一个文件的第二hash值以及所述至少一个文件的inode号;其中,所述第一hash值为当前读/写文件的第一个信息块的hash值,并且用于供所述电子设备查找具有相同所述第一hash值的重复文件;所述第二hash值为所述至少一个文件的第一个信息块的hash值,并且用于供所述电子设备查找具有相同所述第二hash值的重复文件。通过该方法,获取文件的第一个信息块的hash值以及文件的inode号,并将其用于重复文件的查找,提升了重复文件的查找效率,并且在进一步地将获取的数据用于电子设备的去重时,提升了文件去重的效率,同时,在文件查找时考虑了电子设备的负载情况,避免了由于负载较重时,进行去重导致的电子设备卡顿等情况,提升了用户体验。In a first aspect, a file search method based on an electronic device is provided, including: the electronic device determines the load level of the electronic device; when it is determined that the load level of the electronic device is a heavy load, the electronic device obtains the current read /write the first hash value of the file and the index node inode number of the current read/write file; when it is determined that the load level of the electronic device is light load, the electronic device obtains at least one stored in the electronic device The second hash value of the file and the inode number of the at least one file; wherein the first hash value is the hash value of the first information block of the currently read/write file, and is used for the electronic device to find Duplicate files with the same first hash value; the second hash value is the hash value of the first information block of the at least one file, and is used for the electronic device to search for files with the same second hash value of duplicate files. Through this method, the hash value of the first information block of the file and the inode number of the file are obtained, and used to find duplicate files, which improves the efficiency of finding duplicate files, and further uses the obtained data for electronic When deduplicating the device, the efficiency of file deduplication is improved. At the same time, the load condition of the electronic device is taken into consideration when searching for files, which avoids the jamming of the electronic device caused by deduplication when the load is heavy, and improves the efficiency of file deduplication. user experience.
结合第一方面,在第一方面的某些实现方式中,所述电子设备确定所述电子设备的负载程度,包括:在第一时间窗内,所述电子设备计算读/写文件的信息量,确定所述电子设备的负载程度。该方法考虑了第一时间窗内电子设备的负载程度,便于电子设备在合适的查找节点,进行文件的查找,避免了去重导致的电子设备卡顿的情况,提升了用户体验。With reference to the first aspect, in some implementations of the first aspect, the electronic device determines the load level of the electronic device, including: within the first time window, the electronic device calculates the amount of information read/written in the file. , determine the load level of the electronic device. This method takes into account the load level of the electronic device within the first time window, allowing the electronic device to search for files at the appropriate search node, avoiding the jamming of the electronic device caused by deduplication, and improving the user experience.
结合第一方面,在第一方面的某些实现方式中,所述当确定所述电子设备的负载程度为重负载时,所述电子设备获取当前读/写文件的第一hash值以及所述当前读/写文件的inode号,包括:所述电子设备根据所述当前读/写文件的文件名,获取所述当前读/写文件的inode号;所述电子设备根据所述当前读/写文件的inode号,读取或计算所述当前读/写文件的第一hash值;所述电子设备保存所述当前读/写文件的inode号与所述当前读/写文件的第一hash值的对应关系。通过电子设备在重负载时,获取当前读/写文件的inode号与第一hash值的对应关系,使得可以根据第一hash值查找到相应文件inode号,从而找到文件的具体数据信息,由于具有相同第一hash值的文件重复的可能性较大,提升了重复文件的查找效率,便于下一步的重复文件去重。并且在重负载时,考虑到电子设备的运行情况,对当前读/写文件的相关信息进行了统计,降低了电子设备卡顿的可能性,提升了用户体验。With reference to the first aspect, in some implementations of the first aspect, when it is determined that the load level of the electronic device is heavy load, the electronic device obtains the first hash value of the current read/write file and the The inode number of the currently read/write file includes: the electronic device obtains the inode number of the currently read/write file based on the file name of the currently read/write file; the electronic device obtains the inode number of the currently read/write file based on the current read/write file name. The inode number of the file, read or calculate the first hash value of the currently read/write file; the electronic device saves the inode number of the currently read/write file and the first hash value of the currently read/write file corresponding relationship. Under heavy load, the electronic device obtains the corresponding relationship between the inode number of the current read/write file and the first hash value, so that the corresponding file inode number can be found based on the first hash value, thereby finding the specific data information of the file. Files with the same first hash value are more likely to be duplicated, which improves the efficiency of finding duplicate files and facilitates the next step of deduplicating duplicate files. And under heavy load, taking into account the operating conditions of electronic devices, statistics are collected on the relevant information of the current read/write files, which reduces the possibility of jamming of electronic devices and improves user experience.
结合第一方面,在第一方面的某些实现方式中,当确定所述电子设备的负载程度为轻负载时,所述电子设备获取所述电子设备中存储的至少一个文件的第二hash值以及所述至少一个文件的inode号,包括:所述电子设备读取或计算所述至少一个文件的inode号以及所述至少一个文件的第二hash值;所述电子设备保存所述至少一个文件的inode号与所述至少一个文件的第二hash值的对应关系。通过电子设备在轻负载时,获取其存储的一个或多个文件的inode号与第二hash值的对应关系,使得可以根据第二hash值查找到相应文件inode号,从而找到文件的具体数据信息,由于具有相同第二hash值的文件重复的可能性较大,提升了重复文件的查找效率,便于下一步的重复文件去重。并且在轻负载时,遍历电子设备的存储空间,避免了重负载时进行大规模的查找操作,降低了电子设备卡顿的可能性,提升了用户体验。In conjunction with the first aspect, in some implementations of the first aspect, when it is determined that the load level of the electronic device is light load, the electronic device obtains a second hash value of at least one file stored in the electronic device. and the inode number of the at least one file, including: the electronic device reads or calculates the inode number of the at least one file and the second hash value of the at least one file; the electronic device saves the at least one file The corresponding relationship between the inode number and the second hash value of the at least one file. When the electronic device is under light load, the corresponding relationship between the inode number and the second hash value of one or more files stored in the electronic device is obtained, so that the corresponding file inode number can be found based on the second hash value, thereby finding the specific data information of the file. , because files with the same second hash value are more likely to be duplicated, which improves the efficiency of finding duplicate files and facilitates the next step of deduplication of duplicate files. And when the load is light, the storage space of the electronic device is traversed, which avoids large-scale search operations under heavy load, reduces the possibility of the electronic device getting stuck, and improves the user experience.
结合第一方面,在第一方面的某些实现方式中,所述电子设备保存所述当前读/写文件的inode号与所述当前读/写文件的第一hash值的对应关系,包括:所述电子设备将所述当前读/写文件的inode号与所述当前读/写文件的第一hash值的对应关系保存至键值表中。通过键值表保存上述对应关系,对应关系表示清楚,便于电子设备的后续查找。With reference to the first aspect, in some implementations of the first aspect, the electronic device saves the corresponding relationship between the inode number of the currently read/write file and the first hash value of the currently read/write file, including: The electronic device saves the corresponding relationship between the inode number of the currently read/write file and the first hash value of the currently read/write file into a key value table. The above corresponding relationship is saved through the key-value table, and the corresponding relationship is clearly expressed, which facilitates subsequent search of the electronic device.
结合第一方面,在第一方面的某些实现方式中,所述电子设备保存所述至少一个文件的inode号与所述至少一个文件的第二hash值的对应关系,包括:所述电子设备将所述至少一个文件的inode号与所述至少一个文件的第二hash值的对应关系保存至键值表中。通过键值表保存上述对应关系,对应关系表示清楚,便于电子设备的后续查找。With reference to the first aspect, in some implementations of the first aspect, the electronic device saves the corresponding relationship between the inode number of the at least one file and the second hash value of the at least one file, including: the electronic device The corresponding relationship between the inode number of the at least one file and the second hash value of the at least one file is saved in the key value table. The above corresponding relationship is saved through the key-value table, and the corresponding relationship is clearly expressed, which facilitates subsequent search of the electronic device.
结合第一方面,在第一方面的某些实现方式中,所述第一时间窗为所述电子设备根据全局变量确定的。通过根据全局变量定义第一时间窗,考虑到了电子设备的整体性能,便于电子设备选择在合适的节点查找重复文件,提升了重复文件的查找效率。With reference to the first aspect, in some implementations of the first aspect, the first time window is determined by the electronic device according to a global variable. By defining the first time window based on global variables, the overall performance of the electronic device is taken into consideration, making it easier for the electronic device to select a suitable node to search for duplicate files, and improving the efficiency of finding duplicate files.
结合第一方面,在第一方面的某些实现方式中,当存在至少两个文件的第一hash值相同,所述电子设备确定具有相同所述第一hash值的至少两个文件为重复文件;当存在至少两个文件的第二hash值相同,所述电子设备确定具有相同所述第二hash值的至少两个文件为重复文件。In connection with the first aspect, in some implementations of the first aspect, when there are at least two files with the same first hash value, the electronic device determines that the at least two files with the same first hash value are duplicate files. ; When there are at least two files with the same second hash value, the electronic device determines that the at least two files with the same second hash value are duplicate files.
结合第一方面,在第一方面的某些实现方式中,所述第一hash值和/或所述第二hash值用于所述电子设备对所述重复文件进行去重。In conjunction with the first aspect, in some implementations of the first aspect, the first hash value and/or the second hash value are used by the electronic device to deduplicate the duplicate files.
第二方面,提供了一种基于电子设备的文件查找装置,所述装置包括:第一处理单元,用于确定电子设备的负载程度;第二处理单元,用于当确定所述电子设备的负载程度为重负载时,获取当前读/写文件的第一hash值以及所述当前读/写文件的inode号;第三处理单元,用于当确定所述电子设备的负载程度为轻负载时,获取所述电子设备中存储的至少一个文件的第二hash值以及所述至少一个文件的inode号;其中,所述第一hash值为当前读/写文件的第一个信息块的hash值,并且用于供所述电子设备查找具有相同所述第一hash值的重复文件;所述第二hash值为所述至少一个文件的第一个信息块的hash值,并且用于供所述电子设备查找具有相同所述第二hash值的重复文件。In a second aspect, a file search device based on electronic equipment is provided. The device includes: a first processing unit for determining the load level of the electronic equipment; and a second processing unit for determining the load level of the electronic equipment. When the load level is heavy load, obtain the first hash value of the current read/write file and the inode number of the current read/write file; the third processing unit is used to when it is determined that the load level of the electronic device is light load, Obtain the second hash value of at least one file stored in the electronic device and the inode number of the at least one file; wherein the first hash value is the hash value of the first information block of the currently read/write file, And used for the electronic device to search for duplicate files with the same first hash value; the second hash value is the hash value of the first information block of the at least one file, and is used for the electronic device to search for duplicate files with the same first hash value. The device looks for duplicate files with the same second hash value.
结合第二方面,在第二方面的某些实现方式中,所述第一处理单元用于确定电子设备的负载程度,所述第一处理单元具体用于:在第一时间窗内,所述电子设备计算读/写文件的信息量,确定所述电子设备的负载程度。With reference to the second aspect, in some implementations of the second aspect, the first processing unit is used to determine the load level of the electronic device, and the first processing unit is specifically configured to: within the first time window, the The electronic device calculates the amount of information read/written in the file and determines the load level of the electronic device.
结合第二方面,在第二方面的某些实现方式中,所述第二处理单元用于当确定所述电子设备的负载程度为重负载时,获取当前读/写文件的第一hash值以及所述当前读/写文件的inode号,所述第二处理单元具体用于:根据所述当前读/写文件的文件名,获取所述当前读/写文件的inode号;根据所述当前读/写文件的inode号,读取或计算所述当前读/写文件的第一hash值;保存所述当前读/写文件的inode号与所述当前读/写文件的第一hash值的对应关系。In connection with the second aspect, in some implementations of the second aspect, the second processing unit is configured to obtain the first hash value of the current read/write file when it is determined that the load level of the electronic device is heavy load and The inode number of the currently read/write file, the second processing unit is specifically configured to: obtain the inode number of the currently read/write file according to the file name of the currently read/write file; /Write the inode number of the file, read or calculate the first hash value of the currently read/write file; save the correspondence between the inode number of the current read/write file and the first hash value of the current read/write file relation.
结合第二方面,在第二方面的某些实现方式中,所述第三处理单元用于当确定所述电子设备的负载程度为轻负载时,获取所述电子设备中存储的至少一个文件的第二hash值以及所述至少一个文件的inode号,所述第三处理单元具体用于:读取或计算所述至少一个文件的inode号以及所述至少一个文件的第二hash值;保存所述至少一个文件的inode号与所述至少一个文件的第二hash值的对应关系。In conjunction with the second aspect, in some implementations of the second aspect, the third processing unit is configured to obtain the data of at least one file stored in the electronic device when it is determined that the load level of the electronic device is light load. The second hash value and the inode number of the at least one file, the third processing unit is specifically configured to: read or calculate the inode number of the at least one file and the second hash value of the at least one file; save the The corresponding relationship between the inode number of the at least one file and the second hash value of the at least one file.
结合第二方面,在第二方面的某些实现方式中,所述第二处理单元用于保存所述当前读/写文件的inode号与所述当前读/写文件的第一hash值的对应关系,所述第二处理单元具体用于:将所述当前读/写文件的inode号与所述当前读/写文件的第一hash值的对应关系保存至键值表中。In connection with the second aspect, in some implementations of the second aspect, the second processing unit is configured to save the correspondence between the inode number of the currently read/write file and the first hash value of the currently read/write file. The second processing unit is specifically configured to: save the corresponding relationship between the inode number of the currently read/write file and the first hash value of the currently read/write file into a key value table.
结合第二方面,在第二方面的某些实现方式中,所述第三处理单元用于保存所述至少一个文件的inode号与所述至少一个文件的第二hash值的对应关系,所述第三处理单元具体用于:将所述至少一个文件的inode号与所述至少一个文件的第二hash值的对应关系保存至键值表中。With reference to the second aspect, in some implementations of the second aspect, the third processing unit is configured to save the correspondence between the inode number of the at least one file and the second hash value of the at least one file, and the The third processing unit is specifically configured to: save the corresponding relationship between the inode number of the at least one file and the second hash value of the at least one file into a key value table.
结合第二方面,在第二方面的某些实现方式中,所述第一时间窗为根据全局变量确定的。Combined with the second aspect, in some implementations of the second aspect, the first time window is determined based on a global variable.
结合第二方面,在第二方面的某些实现方式中,当存在至少两个文件的第一hash值相同,确定具有相同所述第一hash值的至少两个文件为重复文件;当存在至少两个文件的第二hash值相同,确定具有相同所述第二hash值的至少两个文件为重复文件。In connection with the second aspect, in some implementations of the second aspect, when at least two files have the same first hash value, it is determined that at least two files with the same first hash value are duplicate files; when there are at least two files with the same first hash value, If the second hash values of the two files are the same, it is determined that at least two files with the same second hash value are duplicate files.
结合第二方面,在第二方面的某些实现方式中,所述第一hash值和/或所述第二hash值用于所述电子设备对所述重复文件进行去重。In conjunction with the second aspect, in some implementations of the second aspect, the first hash value and/or the second hash value is used by the electronic device to deduplicate the duplicate files.
第三方面,提供了一种基于电子设备的文件查找装置,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,以使所述装置执行上述第一方面或第一方面中任意一种实现方式中所述的方法。In a third aspect, a file search device based on an electronic device is provided, including at least one processor, the at least one processor being coupled to at least one memory, and the at least one processor being configured to execute a file stored in the at least one memory. Computer programs or instructions to cause the device to execute the method described in the above first aspect or any implementation of the first aspect.
第四方面,提供了一种芯片,包括处理器和通信接口,所述通信接口用于接收数据和/或信息,并将接收到的数据和/或信息传输至所述处理器,所述处理器根据上述第一方面或第一方面中任意一种实现方式中所述的方法处理所述数据和/或信息。In a fourth aspect, a chip is provided, including a processor and a communication interface. The communication interface is used to receive data and/or information and transmit the received data and/or information to the processor. The processing The processor processes the data and/or information according to the method described in the above first aspect or any implementation of the first aspect.
第五方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。In a fifth aspect, a computer-readable medium is provided. The computer-readable medium stores program code. When the computer program code is run on a computer, it causes the computer to execute the above-mentioned first aspect or any one of the first possible aspects. method of execution. These computer-readable storages include but are not limited to one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasablePROM, EPROM), Flash Memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (harddrive).
第六方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。In a sixth aspect, a computer program product is provided. The computer program product includes: computer program code. When the computer program code is run on a computer, it causes the computer to execute the above-mentioned first aspect or any possible execution of the first aspect. Methods.
附图说明Description of the drawings
图1是本申请实施例的一种电子设备的系统架构的结构示意图。FIG. 1 is a schematic structural diagram of the system architecture of an electronic device according to an embodiment of the present application.
图2是本申请实施例提供的一种基于电子设备的文件查找方法的示意性流程图。Figure 2 is a schematic flow chart of a file search method based on electronic devices provided by an embodiment of the present application.
图3是本申请实施例提供的一种基于电子设备的文件查找方法的示意性流程图。Figure 3 is a schematic flow chart of a file search method based on electronic devices provided by an embodiment of the present application.
图4是本申请实施例提供的一种基于电子设备的文件查找的模块架构示意图。FIG. 4 is a schematic diagram of a module architecture of electronic device-based file search provided by an embodiment of the present application.
图5是本申请实施例提供的一种基于电子设备的文件查找装置的示意性结构图。FIG. 5 is a schematic structural diagram of an electronic device-based file search device provided by an embodiment of the present application.
图6是本申请实施例提供的一种基于电子设备的文件查找装置的硬件结构示意图。Figure 6 is a schematic diagram of the hardware structure of a file search device based on electronic equipment provided by an embodiment of the present application.
具体实施方式Detailed ways
下面将结合附图,对本申请实施例中的技术方案进行描述。The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.
图1示出了适用于本申请实施例的一种电子设备的系统架构的结构示意图。如图1所示,该电子设备的系统架构100中包括处于用户空间的应用程序101以及处于内核空间的文件系统102和磁盘103。其中,应用程序101可以用于与用户进行交互,具有可视的用户界面;文件系统102用于对用户所需要的数据进行管理和存取,因此文件系统与应用程序之间可以进行交互;磁盘103用于记录用户的相关数据,通过文件系统与磁盘之间的交互,磁盘可以记录用户的相关数据。用户可以直接与应用程序进行交互,文件系统和磁盘则可以间接地对用户的相关数据进行管理和存取。FIG. 1 shows a schematic structural diagram of the system architecture of an electronic device suitable for embodiments of the present application. As shown in FIG. 1 , the system architecture 100 of the electronic device includes an application program 101 in user space and a file system 102 and disk 103 in kernel space. Among them, the application program 101 can be used to interact with the user and has a visual user interface; the file system 102 is used to manage and access the data required by the user, so the file system and the application program can interact; the disk 103 is used to record user-related data. Through the interaction between the file system and the disk, the disk can record user-related data. Users can directly interact with applications, while file systems and disks can indirectly manage and access user-related data.
应理解,具备上述系统架构的电子设备可以是用户设备。具体地,用户设备可以是无线通信功能的手持设备、计算设备、车载设备、可穿戴设备等等。例如,可以是手机、平板电脑、笔记本电脑或其他设备。本申请对此不作限定。It should be understood that the electronic device having the above system architecture may be a user device. Specifically, the user equipment may be a handheld device with a wireless communication function, a computing device, a vehicle-mounted device, a wearable device, or the like. For example, it could be a mobile phone, tablet, laptop or other device. This application does not limit this.
为便于理解,以下对本申请实施例涉及到的相关名词进行示例性的解释和说明,应理解,下述内容同样包括于本申请实施例所要求的保护的范围内。To facilitate understanding, the relevant terms involved in the embodiments of the present application are explained and described below. It should be understood that the following content is also included in the scope of protection required by the embodiments of the present application.
文件系统:是操作系统中负责管理和存储文件信息的软件机构。具体地,文件系统负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。或者说,文件系统主要用于管理和存储文件的数据和元数据,大多数的文件系统的文件或目录在存储器中的存储空间的分配都采用索引节点(inode)+数据块(datablock)的方法。在索引节点中存储文件或目录的元数据和文件的数据块号,在对应的数据块中存放文件或目录的具体内容。每一个文件或目录都有一个索引节点,根据文件大小来确定需要多少个数据块。File system: It is the software organization in the operating system responsible for managing and storing file information. Specifically, the file system is responsible for creating files for users, storing, reading, modifying, and dumping files, controlling file access, and revoking files when users no longer use them. In other words, file systems are mainly used to manage and store file data and metadata. Most file system files or directories allocate storage space in the memory using the index node (inode) + data block (datablock) method. . The metadata of the file or directory and the data block number of the file are stored in the index node, and the specific content of the file or directory is stored in the corresponding data block. Each file or directory has an index node, which determines how many data blocks are needed based on the size of the file.
索引节点(inode):在许多类Unix文件系统中的一种数据结构,保存了文件系统中的一个文件系统对象的元信息数据,但不包括数据内容。其中,元信息数据又可以称为元数据(metadata),主要是用于描述数据属性的信息,用于支持如指示存储位置、历史数据、资源查找、文件记录等功能。例如,元数据中可以包括数据的哈希值。Index node (inode): A data structure in many Unix-like file systems that saves the metainformation data of a file system object in the file system, but does not include the data content. Among them, metainformation data can also be called metadata, which is mainly information used to describe data attributes and is used to support functions such as indicating storage location, historical data, resource search, file recording, etc. For example, metadata can include a hash of the data.
索引节点号(inode number):一个索引节点号对应于一个文件,即使文件名改变,索引节点号也是不变的,由于系统内部通过索引节点号查找数据,从而在文件名改变的时候,也能够正确的查找到数据。Inode number: An inode number corresponds to a file. Even if the file name changes, the inode number remains unchanged. Because the system searches for data internally through the inode number, it can also retrieve data when the file name changes. Find the data correctly.
索引节点表(inode table):记录了文件的inode在磁盘的存储位置。例如,索引节点表中包括索引节点号与文件的inode的对应关系,从而可以通过文件的索引节点号查找到文件的inode。Inode table: records the storage location of the file's inode on the disk. For example, the index node table includes the corresponding relationship between the index node number and the inode of the file, so that the inode of the file can be found through the index node number of the file.
哈希(hash)值:通过哈希算法可以计算出一个数据对应的一个hash值,类似于数据的身份证,当两个数据的hash值相同时,该两个数据大概率也是相同的,因此,与现有技术不同,在本申请实施例提供的方法和装置中,hash值可以用于判断两个数据是否相同,以便于查找重复文件。Hash value: A hash value corresponding to a data can be calculated through the hash algorithm, similar to the ID card of the data. When the hash value of two data is the same, the two data are likely to be the same, so , Different from the existing technology, in the method and device provided by the embodiment of the present application, the hash value can be used to determine whether two data are the same, so as to facilitate the search for duplicate files.
守护线程:线程是操作系统能够进行运算调度的最小单位,包含于进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程可以并发多个线程,每条线程执行不同的任务。守护线程是特殊的线程,一般用于在后台为其他线程提供服务。Daemon thread: A thread is the smallest unit that the operating system can perform calculation scheduling. It is included in the process and is the actual operating unit in the process. A thread refers to a single sequence of control flow in a process. A process can have multiple threads concurrently, and each thread performs different tasks. Daemon threads are special threads that are generally used to provide services for other threads in the background.
在通过文件系统查找磁盘中的文件数据时,首先文件系统找到文件名对应的inode号;然后通过inode号和inode table,获取该文件的inode的信息;最后,根据inode的信息,找到该文件所在的数据块,读出数据。When searching for file data in the disk through the file system, first the file system finds the inode number corresponding to the file name; then obtains the inode information of the file through the inode number and inode table; finally, based on the inode information, the location of the file is found data block, read the data.
手机等设备内部会存在大量的文件,其中一些文件是相同的,但是占用了设备的存储空间,此时需要对设备存储的文件进行去重。例如可以通过文件系统去重。然而在通过文件系统去重时,通常需要计算整个文件的hash值,去重速度较慢,并且不会考虑设备的负载情况,在关键I/O路径进行重复数据搜索,影响用户体验。There will be a large number of files inside devices such as mobile phones. Some of the files are the same, but occupy the storage space of the device. In this case, the files stored on the device need to be deduplicated. For example, deduplication can be done through the file system. However, when deduplicating through the file system, it is usually necessary to calculate the hash value of the entire file. The deduplication speed is slow, and the load of the device is not considered. Duplicate data searches are performed on critical I/O paths, which affects the user experience.
因此,本申请实施例提出了一种基于电子设备的文件查找方法,通过获取文件的第一个信息块的hash值,查找重复文件,进而实现重复文件的去除,提升了重复文件查找的速度,同时,在查找时考虑了电子设备的负载情况,避免了由于负载较重时,进行去重导致的设备卡顿等情况,提升了用户体验。Therefore, the embodiment of the present application proposes a file search method based on electronic devices, which searches for duplicate files by obtaining the hash value of the first information block of the file, thereby removing duplicate files and improving the speed of duplicate file search. At the same time, the load condition of the electronic device is taken into account when searching, which avoids device freezes caused by deduplication when the load is heavy, and improves the user experience.
图2示出了本申请实施例提供的一种基于电子设备的文件查找方法的示意性流程图,具体地,该方法200包括:Figure 2 shows a schematic flow chart of an electronic device-based file search method provided by an embodiment of the present application. Specifically, the method 200 includes:
S201,电子设备确定电子设备的负载程度。S201, the electronic device determines the load level of the electronic device.
一种可能的实现方式中,电子设备可以为通过文件系统对文件进行管理的用户设备,例如,电子设备为手机或者平板电脑等。In a possible implementation manner, the electronic device may be a user device that manages files through a file system. For example, the electronic device may be a mobile phone or a tablet computer.
在本申请实施例中,电子设备中的第一模块可以用于确定电子设备的负载程度为轻负载或重负载。In this embodiment of the present application, the first module in the electronic device may be used to determine whether the load level of the electronic device is light load or heavy load.
应理解,第一模块可以为电子设备中的软件模块。例如第一模块为电子设备中的文件系统中的软件模块,又例如第一模块为电子设备中的文件系统的外插部件中的软件模块。It should be understood that the first module may be a software module in the electronic device. For example, the first module is a software module in a file system in an electronic device. For example, the first module is a software module in an external plug-in component of a file system in an electronic device.
在本申请实施例中,第一模块可以称为负载感知模块,或者第一模块还可以有其他名称,本申请对此不作限定。In this embodiment of the present application, the first module may be called a load sensing module, or the first module may have another name, which is not limited in this application.
一种可能的实现方式中,电子设备确定电子设备的负载程度的方式可以为,电子设备在第一时间窗内,计算电子设备读/写文件的信息量,确定电子设备的负载程度。In one possible implementation, the electronic device may determine the load level of the electronic device by calculating the amount of information read/written by the electronic device within the first time window to determine the load level of the electronic device.
在本申请实施例中,电子设备可以:在电子设备的读文件的信息量和写文件的信息量均小于第一门限值时,确定负载程度为轻负载。In this embodiment of the present application, the electronic device may: determine that the load level is light load when both the information amount of reading files and the amount of information writing files of the electronic device are less than the first threshold value.
在本申请实施例中,电子设备可以:在电子设备的读文件的信息量小于第一门限值,写文件的信息量大于等于第一门限值时,确定负载程度为写重负载,反之为读重负载;在读文件和写文件的信息量均大于等于第一门限值时,确定负载程度为读/写重负载。In the embodiment of the present application, the electronic device may: determine the load level to be a write heavy load when the information amount of the electronic device reading the file is less than the first threshold value and the information amount writing the file is greater than or equal to the first threshold value, and vice versa. It is a read-heavy load; when the amount of information for reading files and writing files is greater than or equal to the first threshold, the load level is determined to be a read/write heavy load.
一种可能的实现方式中,在电子设备的读文件的信息量大于等于第一门限值时,确定负载程度为读重负载;在电子设备的写文件的信息量大于等于第二门限值时,确定负载程度为写重负载。其中,第一门限值和第二门限值不同。In one possible implementation, when the information amount of the electronic device reading the file is greater than or equal to the first threshold value, the load level is determined to be a heavy reading load; when the information amount of the electronic device writing the file is greater than or equal to the second threshold value When , the load level is determined to be write-heavy load. Wherein, the first threshold value and the second threshold value are different.
另一种可能的实现方式中,在电子设备的读文件的信息量与写文件的信息量之和大于等于第一门限值时,可以确定负载程度为重负载,反之为轻负载。例如,当读文件的次数与写文件的次数之和大于等于100次时,可以确定电子设备的负载程度为重负载。In another possible implementation, when the sum of the information amount of reading files and the amount of information writing files of the electronic device is greater than or equal to the first threshold value, the load level can be determined to be heavy load, and vice versa. For example, when the sum of the number of times the file is read and the number of times the file is written is greater than or equal to 100 times, the load level of the electronic device can be determined to be heavy load.
应理解,写重负载、读重负载以及读/写重负载可以均称为重负载。It should be understood that write heavy load, read heavy load, and read/write heavy load may all be referred to as heavy load.
在本申请实施例中,电子设备读/写文件的信息量可以根据读/写文件的数量和尺寸确定。In the embodiment of the present application, the amount of information required to read/write files by the electronic device can be determined based on the number and size of the files read/written.
在本申请实施例中,第一时间窗可以为电子设备根据全局变量确定的。例如可以为5秒或10秒等。In this embodiment of the present application, the first time window may be determined by the electronic device based on global variables. For example, it can be 5 seconds or 10 seconds, etc.
S202,当确定电子设备的负载程度为重负载时,电子设备获取当前读/写文件的第一hash值以及当前读/写文件的inode号,第一hash值为该当前读/写文件的第一个信息块的hash值,并且用于供该电子设备查找具有相同第一hash值的重复文件。S202, when it is determined that the load level of the electronic device is heavy load, the electronic device obtains the first hash value of the currently read/write file and the inode number of the current read/write file, and the first hash value is the first hash value of the currently read/write file. A hash value of a block of information, and is used by the electronic device to find duplicate files with the same first hash value.
在本申请实施例中,当确定电子设备的负载程度为重负载时,电子设备的第二模块可以用于获取当前读/写文件的第一hash值以及当前读/写文件的inode号,然后第二模块将上述第一hash值保存至电子设备的inode中,并将第一hash值以及当前读/写文件的inode号发送至第四模块中,第四模块保存当前读/写文件的第一hash值以及当前读/写文件的inode号。In the embodiment of the present application, when it is determined that the load level of the electronic device is heavy load, the second module of the electronic device can be used to obtain the first hash value of the currently read/write file and the inode number of the currently read/write file, and then The second module saves the above-mentioned first hash value to the inode of the electronic device, and sends the first hash value and the inode number of the current read/write file to the fourth module. The fourth module saves the inode number of the current read/write file. A hash value and the inode number of the current read/write file.
在本申请实施例中,第二模块和第四模块可以为电子设备中的软件模块。例如第二模块和第四模块为电子设备中的文件系统中的软件模块,又例如第二模块和第四模块为电子设备中的文件系统的外插部件中的软件模块。在本申请实施例中,第二模块可以称为前台重复文件搜索模块,第四模块可以为可去重信息记录模块,或者第二模块和第四模块还可以有其他名称,本申请对此不作限定。In this embodiment of the present application, the second module and the fourth module may be software modules in the electronic device. For example, the second module and the fourth module are software modules in the file system in the electronic device, and for example, the second module and the fourth module are software modules in the external plug-in component of the file system in the electronic device. In the embodiment of this application, the second module may be called the front-end duplicate file search module, and the fourth module may be a deduplication information recording module, or the second module and the fourth module may also have other names, which this application does not limited.
一种可能的实现方式中,电子设备可以根据当前读/写文件的文件名,获取当前读/写文件的inode号。根据当前读/写文件的inode号,读取或计算当前读/写文件的第一hash值,最后电子设备保存当前读/写文件的inode号与第一hash值的对应关系。In one possible implementation, the electronic device can obtain the inode number of the current read/write file based on the file name of the current read/write file. According to the inode number of the currently read/write file, the first hash value of the currently read/write file is read or calculated. Finally, the electronic device saves the corresponding relationship between the inode number of the currently read/write file and the first hash value.
在本申请实施例中,电子设备根据当前读/写文件的inode号,读取或计算当前读/写文件的第一hash值的方法可以是:对于读文件,电子设备的第二模块判断当前读文件的第一hash值是否存在。当存在时,电子设备的第二模块读取该第一hash值;当不存在时,电子设备的第二模块计算该第一hash值。对于写文件,电子设备的第二模块可以计算该第一hash值。在本申请实施例中,当电子设备计算该第一hash值后,可以将该第一hash值保存至inode中。In the embodiment of the present application, the method for the electronic device to read or calculate the first hash value of the currently read/write file based on the inode number of the currently read/write file may be: for reading the file, the second module of the electronic device determines the current Read whether the first hash value of the file exists. When it exists, the second module of the electronic device reads the first hash value; when it does not exist, the second module of the electronic device calculates the first hash value. For writing files, the second module of the electronic device can calculate the first hash value. In this embodiment of the present application, after the electronic device calculates the first hash value, the first hash value can be saved in the inode.
另一种可能的实现方式中,电子设备可以不计算当前读/写文件的第一hash值。对于当前读文件的第一hash值不存在的情况,或,对于当前写文件,电子设备不计算其对应的第一hash值。In another possible implementation, the electronic device may not calculate the first hash value of the current read/write file. For the case where the first hash value of the currently read file does not exist, or for the current write file, the electronic device does not calculate the corresponding first hash value.
应理解,当前读/写文件的第一hash值可以存储于电子设备的inode中,判断第一hash值是否存在的方法可以是,电子设备判断inode中是否存储有该第一hash值。It should be understood that the first hash value of the currently read/written file may be stored in the inode of the electronic device. The method of determining whether the first hash value exists may be that the electronic device determines whether the first hash value is stored in the inode.
S203,当确定电子设备的负载程度为轻负载时,电子设备获取电子设备中存储的至少一个文件的第二hash值以及该至少一个文件的inode号,第二hash值为至少一个文件的第一个信息块的hash值,并且用于供该电子设备查找具有相同第二hash值的重复文件。S203. When it is determined that the load level of the electronic device is light load, the electronic device obtains the second hash value of at least one file stored in the electronic device and the inode number of the at least one file. The second hash value is the first hash value of the at least one file. The hash value of the information block is used by the electronic device to find duplicate files with the same second hash value.
应理解,在该步骤S203中的“至少一个文件”为电子设备中存储的文件,而上述步骤S202中的“当前读/写文件”为电子设备当前正在读出或写入的文件,两者是不同的。并且在本申请实施例中,S203中的“至少一个文件”与S202中的“当前读/写文件”可以分别对应于电子设备的文件系统中的不同部分。It should be understood that the "at least one file" in step S203 is a file stored in the electronic device, and the "current read/write file" in step S202 is a file currently being read or written by the electronic device. is different. And in this embodiment of the present application, "at least one file" in S203 and "currently reading/writing the file" in S202 may respectively correspond to different parts of the file system of the electronic device.
在本申请实施例中,当确定电子设备的负载程度为轻负载时,电子设备的第三模块获取电子设备中存储的至少一个文件的第二hash值以及该至少一个文件的inode号,电子设备的第四模块保存该至少一个文件的第二hash值以及该至少一个文件的inode号。In the embodiment of the present application, when it is determined that the load level of the electronic device is light load, the third module of the electronic device obtains the second hash value of at least one file stored in the electronic device and the inode number of the at least one file. The electronic device The fourth module saves the second hash value of the at least one file and the inode number of the at least one file.
应理解,第二hash值可以为至少一个文件的第一个信息块的hash值,可以理解为,至少一个文件对应至少一个第二hash值,至少一个文件中的任意一个文件均对应一个第二hash值。还应理解,上述至少一个文件为存储于电子设备中的文件,例如为存储于电子设备磁盘中的文件,从而电子设备可以遍历磁盘中的文件,获取相应的第二hash值以及inode号。It should be understood that the second hash value can be the hash value of the first information block of at least one file. It can be understood that at least one file corresponds to at least one second hash value, and any one of the at least one file corresponds to a second hash value. hash value. It should also be understood that the above-mentioned at least one file is a file stored in an electronic device, such as a file stored in a disk of the electronic device, so that the electronic device can traverse the files in the disk and obtain the corresponding second hash value and inode number.
在本申请实施例中,第三模块可以为电子设备中的软件模块。例如第三模块为电子设备中的文件系统中的软件模块,又例如第三模块为电子设备中的文件系统的外插部件中的软件模块。在本申请实施例中,第三模块可以称为后台重复文件搜索模块,或者第三模块还可以有其他名称,本申请对此不作限定。In this embodiment of the present application, the third module may be a software module in the electronic device. For example, the third module is a software module in a file system in an electronic device, or for example, the third module is a software module in an external plug-in component of a file system in an electronic device. In the embodiment of this application, the third module may be called a background duplicate file search module, or the third module may also have other names, which is not limited in this application.
一种可能的实现方式中,电子设备可以读取或计算上述至少一个文件的inode号以及至少一个文件的第二hash值,然后保存该至少一个文件的inode号与至少一个文件的第二hash值的对应关系。In a possible implementation, the electronic device can read or calculate the inode number of the at least one file and the second hash value of the at least one file, and then save the inode number of the at least one file and the second hash value of the at least one file. corresponding relationship.
另一种可能的实现方式中,电子设备保存的当前读/写文件的inode号与当前读/写文件的第一hash值,以及上述至少一个文件的inode号与该至少一个文件的第二hash值,可以用于电子设备的去重。例如,电子设备中保存有用于记录文件inode号与第一个信息块的hash值相互对应的键值表,在键值表中,任意一个第一个信息块的hash值对应于一个或多个inode号,从而在对应多个inode号时,电子设备可以对该多个inode号对应的文件执行去重操作。In another possible implementation, the electronic device stores the inode number of the currently read/write file and the first hash value of the currently read/write file, and the inode number of the above-mentioned at least one file and the second hash value of the at least one file. value, which can be used to deduplicate electronic devices. For example, the electronic device stores a key-value table that records the correspondence between the file inode number and the hash value of the first information block. In the key-value table, the hash value of any first information block corresponds to one or more inode number, so that when corresponding to multiple inode numbers, the electronic device can perform deduplication operations on the files corresponding to the multiple inode numbers.
应理解,在本申请实施例中,文件可以存储至一个或多个数据块中,文件对应的一个信息块可以包括至少一个数据块。例如,文件对应的第一个信息块可以包括文件的第一个数据块,也可以包括文件的第一个和第二个数据块,等等,本申请对此不作限定。It should be understood that in this embodiment of the present application, a file may be stored in one or more data blocks, and an information block corresponding to the file may include at least one data block. For example, the first information block corresponding to the file may include the first data block of the file, or may include the first and second data blocks of the file, etc. This application does not limit this.
还应理解,在本申请实施例中,当电子设备中的文件较大时,上述“第一hash值”可以是当前读/写文件的第N个信息块的hash值,N为正整数,例如N为二。It should also be understood that in the embodiment of the present application, when the file in the electronic device is large, the above-mentioned "first hash value" may be the hash value of the Nth information block of the current read/write file, where N is a positive integer, For example, N is two.
在本申请实施例中,当电子设备中的文件较大时,上述“第二hash值”可以是当前读/写文件的第M个信息块的hash值,M为正整数,例如M为二。In the embodiment of the present application, when the file in the electronic device is large, the above-mentioned "second hash value" may be the hash value of the Mth information block of the currently read/write file, M is a positive integer, for example, M is two .
因此,通过根据文件的信息块的hash值等信息的查找、获取,提高了重复文件的查找效率,进一步当将获取结果用于去重时,提高了重复文件的去除效率。Therefore, by searching and obtaining information such as the hash value of the information block of the file, the search efficiency of duplicate files is improved. Furthermore, when the obtained results are used for deduplication, the removal efficiency of duplicate files is improved.
以下,示例性地,结合图3和图4,以上述方法通过电子设备中的第一模块、第二模块、第三模块以及第四模块执行的方式为例,对本申请实施例提供的一种基于电子设备的文件查找方法进行介绍。Hereinafter, by way of example, with reference to FIG. 3 and FIG. 4 , taking the method in which the above method is executed by the first module, the second module, the third module and the fourth module in the electronic device as an example, a method provided by the embodiment of the present application will be described. File search methods based on electronic devices are introduced.
需要说明的是,图3和图4中所示方法的部分步骤与上述图2中的部分步骤相同,此处不再赘述。It should be noted that some steps of the method shown in Figures 3 and 4 are the same as some of the steps in Figure 2 above, and will not be described again here.
图3示出了本申请实施例提供的一种基于电子设备的文件查找方法的示意性流程图,具体地,该方法300可以包括但不限于:Figure 3 shows a schematic flow chart of an electronic device-based file search method provided by an embodiment of the present application. Specifically, the method 300 may include but is not limited to:
S301,第一模块确定第一时间窗内电子设备的负载程度为轻负载或重负载。S301. The first module determines whether the load level of the electronic device within the first time window is light load or heavy load.
在本申请实施例中,第一模块为电子设备中的模块。In this embodiment of the present application, the first module is a module in an electronic device.
关于上述步骤S301的详细介绍,可参考上述方法200中的S201中的相关说明,此处不再赘述。For a detailed introduction to the above step S301, please refer to the relevant description in S201 in the above method 200, which will not be described again here.
S302,当第一模块确定电子设备的负载程度为重负载时,触发第二模块的第一操作,该第一操作包括获取当前读/写文件的inode号和第一hash值,然后将当前读/写文件的第一hash值记录至inode中,并将当前读/写文件的inode号以及当前读/写文件的第一hash值发送至第四模块。S302. When the first module determines that the load level of the electronic device is heavy load, trigger the first operation of the second module. The first operation includes obtaining the inode number and the first hash value of the currently read/write file, and then converting the current read/write file into /The first hash value of the written file is recorded in the inode, and the inode number of the currently read/written file and the first hash value of the currently read/written file are sent to the fourth module.
在本申请实施例中,第二模块和第四模块为电子设备中的模块,第一模块触发第二模块的第一操作的方法可以是,当第一模块确定当前负载程度为重负载时,向第二模块发送第一信息,该第一信息用于指示当前负载程度为重负载。In this embodiment of the present application, the second module and the fourth module are modules in an electronic device. The method for the first module to trigger the first operation of the second module may be that when the first module determines that the current load level is a heavy load, Send first information to the second module, where the first information is used to indicate that the current load level is heavy load.
关于上述步骤S302的第一操作中,获取当前读/写文件的第一hash值以及当前读/写文件的inode号的具体方式可参考上述方法200中步骤S202的相关介绍,此处不再赘述。Regarding the specific method of obtaining the first hash value of the currently read/write file and the inode number of the currently read/write file in the first operation of the above-mentioned step S302, please refer to the relevant introduction of step S202 in the above-mentioned method 200, and will not be repeated here. .
S303,当第一模块确定电子设备的负载程度为轻负载时,触发第三模块的第二操作,该第二操作包括获取第一设备中存储的至少一个文件的inode号以及该至少一个文件的第二hash值,并将该至少一个文件的inode号以及该至少一个文件的第二hash值发送至第四模块。S303. When the first module determines that the load level of the electronic device is light load, trigger a second operation of the third module. The second operation includes obtaining the inode number of at least one file stored in the first device and the inode number of the at least one file. the second hash value, and sends the inode number of the at least one file and the second hash value of the at least one file to the fourth module.
在本申请实施例中,第三模块和第四模块为电子设备中的模块,第一模块触发第三模块的第二操作的方法为,当第一模块确定当前负载程度为轻负载时,向第三模块发送第二信息,该第二信息用于指示当前负载程度为轻负载。In the embodiment of the present application, the third module and the fourth module are modules in an electronic device. The first module triggers the second operation of the third module by: when the first module determines that the current load level is light load, The third module sends second information, and the second information is used to indicate that the current load level is light load.
关于上述步骤S303的第二操作中,获取至少一个文件的inode号以及该至少一个文件的第二hash值的具体方式可参考上述方法S200中步骤S203的相关介绍,此处不再赘述。Regarding the specific method of obtaining the inode number of at least one file and the second hash value of the at least one file in the second operation of step S303, please refer to the relevant introduction of step S203 in method S200, which will not be described again here.
一种可能的实现方式中,在电子设备系统初始化时,电子设备创建第一守护线程,第一守护线程可以用于第三模块在设备空闲的时机遍历文件系统的inode表,获取至少一个文件的inode号以及该至少一个文件的inode中保存的第一个信息块的hash值。In one possible implementation, when the electronic device system is initialized, the electronic device creates a first daemon thread. The first daemon thread can be used by the third module to traverse the inode table of the file system when the device is idle, and obtain the inode table of at least one file. The inode number and the hash value of the first information block stored in the inode of the at least one file.
在本申请实施例中,设备空闲的时机可以是深夜的某个时段;例如,电子设备通过可穿戴设备确认用户处于睡眠状态的时段,本申请对此不作限定。在其他的实施例中,设备空闲的时机可以是电子设备处于充电、息屏的时段。In this embodiment of the present application, the time when the device is idle may be a certain time period in the middle of the night; for example, the time period when the electronic device confirms that the user is sleeping through the wearable device, which is not limited in this application. In other embodiments, the time when the device is idle may be a period when the electronic device is charging and the screen is off.
S304,第四模块接收并保存第二模块和/或第三模块发送的文件的inode号,以及文件的第一个信息块的hash值。S304. The fourth module receives and saves the inode number of the file sent by the second module and/or the third module, and the hash value of the first information block of the file.
应理解,上述方法S304中的文件可以是电子设备中的当前读/写文件,也可以是电子设备中存储的至少一个文件。It should be understood that the file in the above method S304 may be a current read/write file in the electronic device, or may be at least one file stored in the electronic device.
在本申请实施例中,第四模块可以将文件的inode号与文件的第一个信息块的hash值记录至键值(key-value)表中,该键值表还可以称为重复数据删除表(deduptable)。第四模块记录了来自第二模块和第三模块的hash值与inode号的关联信息。在键值表中,对于同一个hash值,相应的可能会有多个inode号,从而电子设备可以对同一个hash值对应的多个inode号的文件进行进一步的去重。In this embodiment of the present application, the fourth module can record the inode number of the file and the hash value of the first information block of the file into a key-value table. This key-value table can also be called deduplication. table(deduptable). The fourth module records the correlation information between the hash value and the inode number from the second module and the third module. In the key-value table, for the same hash value, there may be multiple inode numbers, so that the electronic device can further deduplicate files with multiple inode numbers corresponding to the same hash value.
一种可能的实现方式中,键值表可以为下面表1所示,该键值表包括两列,第一列表示第一个信息块的hash值,例如key1、key2、key3¨¨¨keyn分别表示文件的第一个信息块的hash值;第二列表示inode号的列表(list),例如,i-list1可以包括inode1-inode3,表示inode号为inode1-inode3的三个文件的第一个信息块的hash值相同,为key1;i-list2包括inode4,表示inode号为inode4的文件的第一个信息块的hash值为key2;i-list3可以包括inode5-inode6,表示inode号为inode5-inode6的两个文件的第一个信息块的hash值相同,为key3;i-listm可类比理解,此处不再赘述。从而电子设备可以对第一个信息块的hash值相同的多个文件进行去重。例如,电子设备中的第五模块对第一个信息块的hash值相同的多个文件进行去重。在本申请实施例中,第五模块可以为去重模块,或者第五模块可以有其他名称,本申请对此不作限定。In a possible implementation, the key-value table can be as shown in Table 1 below. The key-value table includes two columns. The first column represents the hash value of the first information block, such as key1, key2, key3¨¨¨keyn Respectively represent the hash value of the first information block of the file; the second column represents the list of inode numbers. For example, i-list1 can include inode1-inode3, indicating the first of three files with inode numbers inode1-inode3. The hash value of each information block is the same, which is key1; i-list2 includes inode4, which means that the hash value of the first information block of the file with inode number inode4 is key2; i-list3 can include inode5-inode6, which means that the inode number is inode5. The hash value of the first information block of the two files of -inode6 is the same, which is key3; i-listm can be understood by analogy and will not be described again here. Therefore, the electronic device can deduplicate multiple files with the same hash value of the first information block. For example, the fifth module in the electronic device deduplicates multiple files whose first information block has the same hash value. In this embodiment of the present application, the fifth module may be a deduplication module, or the fifth module may have another name, which is not limited in this application.
表1Table 1
图4示出了本申请实施例提供的一种基于电子设备的文件查找的模块架构示意图。该模块架构400可以用于电子设备的去重,具体地,该模块架构包括负载感知模块401、前台重复文件搜索模块402、后台重复文件搜索模块403、可去重信息记录模块404以及去重模块405。FIG. 4 shows a schematic module architecture diagram of electronic device-based file search provided by an embodiment of the present application. The module architecture 400 can be used for deduplication of electronic devices. Specifically, the module architecture includes a load sensing module 401, a foreground duplicate file search module 402, a background duplicate file search module 403, a deduplication information recording module 404, and a deduplication module. 405.
模块(401,402,403,404,405)可以均为软件模块:负载感知模块401可以获取应用程序的运行情况,可以根据应用程序的运行情况判断当前设备的负载程度;当负载感知模块401判断设备当前为重负载时,前台重复文件搜索模块402可以对当前读/写的数据的相关信息进行计算、记录等操作;当负载感知模块401判断当前设备为轻负载时,后台重复文件搜索模块403可以对设备中的已存储的数据的相关信息进行扫描、计算、记录等操作;前台重复文件搜索模块402和后台重复文件搜索模块403将获取的数据的相关信息发送至可去重信息记录模块404中,可去重信息记录模块404将保存该相关信息;去重模块405根据可去重信息记录模块404中保存的信息执行去重。The modules (401, 402, 403, 404, 405) can all be software modules: the load sensing module 401 can obtain the running status of the application program, and can determine the load level of the current device based on the running status of the application program; when the load sensing module 401 determines When the device is currently under heavy load, the foreground duplicate file search module 402 can calculate, record and other operations on the relevant information of the currently read/written data; when the load sensing module 401 determines that the current device is under light load, the background duplicate file search module 403 The relevant information of the stored data in the device can be scanned, calculated, recorded and other operations; the foreground duplicate file search module 402 and the background duplicate file search module 403 send the relevant information of the acquired data to the deduplication information recording module 404 , the deduplication information recording module 404 will save the relevant information; the deduplication module 405 performs deduplication according to the information saved in the deduplication information recording module 404 .
应理解,模块(401,402,403,404,405)可以为文件系统的模块,或者模块(401,402,403,404,405)还可以为文件系统的外部插件,为文件系统提供服务。It should be understood that the modules (401, 402, 403, 404, 405) may be modules of the file system, or the modules (401, 402, 403, 404, 405) may also be external plug-ins of the file system to provide services for the file system.
关于上述模块(401,402,403,404,405)能够实现的具体方法以及能够执行的具体功能,可参考上述方法200和300中的相关介绍,此处不再赘述。Regarding the specific methods that can be implemented by the above modules (401, 402, 403, 404, 405) and the specific functions that can be performed, please refer to the relevant introductions in the above methods 200 and 300, which will not be described again here.
以上结合图2至图4对本申请实施例提供的基于电子设备的文件查找方法进行了详细介绍。下面,结合图5和图6对本申请实施例提供的装置进行详细说明。应理解,装置实施例的描述与方法实施例的描述相对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。The file search method based on electronic devices provided by the embodiment of the present application is introduced in detail above with reference to FIGS. 2 to 4 . Next, the device provided by the embodiment of the present application will be described in detail with reference to FIG. 5 and FIG. 6 . It should be understood that the description of the device embodiments corresponds to the description of the method embodiments. Therefore, content that is not described in detail can be referred to the above method embodiments. For the sake of brevity, they will not be described again here.
图5示出了本申请实施例提供的一种基于电子设备的文件查找装置的示意性结构图。图5所示的装置500可以执行上述方法实施例中电子设备执行的相应步骤。Figure 5 shows a schematic structural diagram of an electronic device-based file search device provided by an embodiment of the present application. The device 500 shown in Figure 5 can perform corresponding steps performed by the electronic device in the above method embodiment.
如图5所示,装置500可以包括:第一处理单元501、第二处理单元502以及第三处理单元503。其中,第一处理单元501可以用于确定电子设备的负载程度;第二处理单元502可以用于当确定所述电子设备的负载程度为重负载时,获取当前读/写文件的第一hash值以及所述当前读/写文件的inode号;第三处理单元503可以用于当确定所述电子设备的负载程度为轻负载时,获取所述电子设备中存储的至少一个文件的第二hash值以及所述至少一个文件的inode号;其中,所述第一hash值为当前读/写文件的第一个信息块的hash值,并且用于供所述电子设备查找具有相同所述第一hash值的重复文件;所述第二hash值为所述至少一个文件的第一个信息块的hash值,并且用于供所述电子设备查找具有相同所述第二hash值的重复文件。As shown in FIG. 5 , the device 500 may include: a first processing unit 501 , a second processing unit 502 and a third processing unit 503 . Among them, the first processing unit 501 can be used to determine the load level of the electronic device; the second processing unit 502 can be used to obtain the first hash value of the current read/write file when it is determined that the load level of the electronic device is heavy load. and the inode number of the currently read/write file; the third processing unit 503 may be configured to obtain a second hash value of at least one file stored in the electronic device when it is determined that the load level of the electronic device is light load. and the inode number of the at least one file; wherein the first hash value is the hash value of the first information block of the currently read/write file, and is used for the electronic device to find the first hash value with the same The second hash value is the hash value of the first information block of the at least one file, and is used for the electronic device to find duplicate files with the same second hash value.
关于第一处理单元、第二处理单元和第三处理单元的具体功能可以参考上述方法实施例中的相关说明此处不再详细赘述。Regarding the specific functions of the first processing unit, the second processing unit and the third processing unit, reference may be made to the relevant descriptions in the above method embodiments and will not be described in detail here.
应理解的是,本申请实施例提供的装置500可以通过中央处理单元(centralprocessing unit,CPU)实现,也可以通过专用集成电路(application-specificintegrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(genericarray logic,GAL)或其任意组合。也可以在通过软件实现图2至图4所示的方法时,装置500及其各个模块也可以为软件模块。It should be understood that the device 500 provided in the embodiment of the present application can be implemented by a central processing unit (CPU), an application-specific integrated circuit (ASIC), or a programmable logic device (programmable logic). device, PLD), the above PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a general array logic (genericarray logic, GAL) or any of them combination. When the methods shown in Figures 2 to 4 are implemented through software, the device 500 and its respective modules can also be software modules.
图6是本申请实施例提供的一种基于电子设备的文件查找装置1000的硬件结构示意图。FIG. 6 is a schematic diagram of the hardware structure of an electronic device-based file search device 1000 provided by an embodiment of the present application.
如图6所示,该装置1000包括处理器1001、存储器1002、接口1003和总线1004。其中接口1003可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器1001、存储器1002和接口1003通过总线1004连接。所述接口1003具体可以包括发送器和接收器,用于所述装置实现上述收发。所述处理器1001用于执行上述实施例中由所述装置进行的处理。存储器1002包括操作系统10021和应用程序10022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中的处理过程。在本申请实施例中,所述存储器1002可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行装置1000时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导装置1000进入正常运行状态。在装置1000进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及装置1000的处理过程。图6仅仅示出了装置1000的简化设计。在实际应用中,所述装置可以包含任意数量的接口,处理器或者存储器。As shown in Figure 6, the device 1000 includes a processor 1001, a memory 1002, an interface 1003 and a bus 1004. The interface 1003 can be implemented in a wireless or wired manner, specifically, it can be a network card. The above-mentioned processor 1001, memory 1002 and interface 1003 are connected through a bus 1004. The interface 1003 may specifically include a transmitter and a receiver, for the device to implement the above-mentioned sending and receiving. The processor 1001 is used to perform the processing performed by the device in the above embodiment. The memory 1002 includes an operating system 10021 and an application program 10022, which is used to store programs, codes or instructions. When the processor or hardware device executes these programs, codes or instructions, the processing in the method embodiment can be completed. In this embodiment of the present application, the memory 1002 may include read-only memory (ROM) and random access memory (RAM). Wherein, the ROM includes a basic input/output system (BIOS) or an embedded system; the RAM includes an application program and an operating system. When it is necessary to run the device 1000, the system is started through the BIOS solidified in the ROM or the bootloader in the embedded system, and the device 1000 is booted into a normal operating state. After the device 1000 enters the normal operating state, the application program and operating system in the RAM are run, thereby completing the processing procedures involving the device 1000 in the method embodiment. Figure 6 shows only a simplified design of device 1000. In practical applications, the device may contain any number of interfaces, processors or memories.
在一些实现方式中,该装置1000可以是上述装置500的硬件结构示意图。此时,处理器1001与上述第一处理单元501至第三处理单元503具有相同的功能。In some implementations, the device 1000 may be a schematic diagram of the hardware structure of the device 500 described above. At this time, the processor 1001 has the same function as the first to third processing units 501 to 503 described above.
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述方法实施例中电子设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。Embodiments of the present application also provide a computer-readable medium. The computer-readable medium stores program code. When the computer program code is run on a computer, it causes the computer to perform the method performed by the electronic device in the above method embodiment. These computer-readable storage include but are not limited to one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (hard drive).
本申请实施例还提供了一种芯片系统,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中电子设备的操作。在具体实现过程中,该芯片系统可以以中央处理器(central processingunit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logicdevice,PLD)的形式实现。Embodiments of the present application also provide a chip system. The chip system includes: at least one processor, at least one memory, and an interface circuit. The interface circuit is responsible for information interaction between the chip system and the outside world. The at least one memory, The interface circuit and the at least one processor are interconnected through lines, and instructions are stored in the at least one memory; the instructions are executed by the at least one processor to perform the electronic equipment in the methods of the above aspects. operation. In the specific implementation process, the chip system can be based on a central processing unit (CPU), a microcontroller unit (MCU), a microprocessor (micro processing unit, MPU), a digital signal processor (digital signal processor) processing (DSP), system on chip (SoC), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or programmable logic device (programmable logic device, PLD).
本申请实施例还提供了一种计算机程序产品,应用于电子设备中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述电子设备的操作。Embodiments of the present application also provide a computer program product for use in electronic equipment. The computer program product includes a series of instructions. When the instructions are executed, the methods described in the above aspects are performed. Operation of electronic equipment.
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。The terms "component", "module", "system", etc. used in this specification are used to refer to computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process, a processor, an object, an executable file, a thread of execution, a program and/or a computer running on a processor. Through the illustrations, both applications running on the computing device and the computing device may be components. One or more components can reside in a process and/or thread of execution and a component can be localized on one computer and/or distributed between 2 or more computers. Additionally, these components can execute from various computer-readable media having various data structures stored thereon. A component may, for example, be based on a signal having one or more data packets (eg, data from two components interacting with another component, such as a local system, a distributed system, and/or a network, such as the Internet, which interacts with other systems via signals) Communicate through local and/or remote processes.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each specific application, but such implementations should not be considered beyond the scope of this application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be described again here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or can be integrated into another system, or some features can be ignored, or not implemented. On the other hand, the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program code. .
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above are only specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any person familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application. should be covered by the protection scope of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210283183.7A CN116821076A (en) | 2022-03-22 | 2022-03-22 | A file search method and device based on electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210283183.7A CN116821076A (en) | 2022-03-22 | 2022-03-22 | A file search method and device based on electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116821076A true CN116821076A (en) | 2023-09-29 |
Family
ID=88113298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210283183.7A Pending CN116821076A (en) | 2022-03-22 | 2022-03-22 | A file search method and device based on electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116821076A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118410020A (en) * | 2024-03-18 | 2024-07-30 | 荣耀终端有限公司 | File processing method and electronic device |
-
2022
- 2022-03-22 CN CN202210283183.7A patent/CN116821076A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118410020A (en) * | 2024-03-18 | 2024-07-30 | 荣耀终端有限公司 | File processing method and electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11733871B2 (en) | Tier-optimized write scheme | |
US11449239B2 (en) | Write-ahead log maintenance and recovery | |
US11797191B2 (en) | Systems and methods for storing data in SSD | |
US9977746B2 (en) | Processing of incoming blocks in deduplicating storage system | |
US9454321B1 (en) | Workload-driven storage configuration management | |
US11263087B2 (en) | Methods and systems for serverless data deduplication | |
US10929176B2 (en) | Method of efficiently migrating data from one tier to another with suspend and resume capability | |
US9274907B1 (en) | Decommissioning of virtual backup appliances | |
US10678446B2 (en) | Bitmap processing for log-structured data store | |
US10725966B1 (en) | Block level incremental backup for QCOW2 virtual disks | |
US10379977B2 (en) | Data management method, node, and system for database cluster | |
US10649807B1 (en) | Method to check file data integrity and report inconsistencies with bulk data movement | |
US10042719B1 (en) | Optimizing application data backup in SMB | |
CN109804359A (en) | For the system and method by write back data to storage equipment | |
US10248656B2 (en) | Removal of reference information for storage blocks in a deduplication system | |
CN105493080B (en) | The method and apparatus of data de-duplication based on context-aware | |
US12045203B2 (en) | Systems and methods for physical capacity estimation of logical space units | |
US20140279943A1 (en) | File system verification method and information processing apparatus | |
US9619336B2 (en) | Managing production data | |
JP2019537097A (en) | Tracking I-node access patterns and pre-empting I-nodes | |
CN116821076A (en) | A file search method and device based on electronic equipment | |
US11188248B2 (en) | System and method to achieve an uninterrupted file level backup using a pass-through snapshot engine | |
US20240220371A1 (en) | Data backup system and apparatus | |
US11531644B2 (en) | Fractional consistent global snapshots of a distributed namespace | |
US11847334B2 (en) | Method or apparatus to integrate physical file verification and garbage collection (GC) by tracking special segments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |