CN115203150A - 一种基于布隆过滤器的海量文件备份数据同步方法 - Google Patents
一种基于布隆过滤器的海量文件备份数据同步方法 Download PDFInfo
- Publication number
- CN115203150A CN115203150A CN202210519112.2A CN202210519112A CN115203150A CN 115203150 A CN115203150 A CN 115203150A CN 202210519112 A CN202210519112 A CN 202210519112A CN 115203150 A CN115203150 A CN 115203150A
- Authority
- CN
- China
- Prior art keywords
- files
- file
- bloom filter
- exist
- backup server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于布隆过滤器的海量文件备份数据同步方法,属于计算机、文件备份领域,本发明文件同步程序中引入布隆过滤器,经过多次通过布隆过滤器的比较,完成准确率极高的千万级以上文件同步服务。优化了文件同步的速度,避免在文件同步时消耗大量的计算资源,造成服务器压力过大的问题。
Description
技术领域
本发明涉及计算机、文件备份领域,尤其涉及一种基于布隆过滤器的海量文件备份数据同步方法。
背景技术
随着信息技术产业革命浪潮,特别是大数据技术创新应用,数据逐渐成为物质、能源后第三大的国家基础战略资源和创新生产要素。数据安全变得越来越重要。伴随着大数据技术的发展。大批量的数据备份、文件同步就成为一个亟待解决的问题。
发明内容
为了解决以上技术问题,本发明提供了一种基于布隆过滤器的海量文件备份数据同步方,优化了文件同步的速度,避免在文件同步时消耗大量的计算资源,造成服务器压力过大的问题。
本发明的技术方案是:
一种基于布隆过滤器的海量文件备份数据同步方法,
文件同步程序中引入布隆过滤器,经过数次通过布隆过滤器的比较,完成千万级以上文件同步服务。
进一步的,
根据文件的数据量级和误报率,估算出布隆过滤器BF1的长度;
依次遍历主服务器上的文件,对文件目录依据三个不同的Hash算法计算三个Hash值,将Hash值对应的布隆过滤器BF1中的数组的下标的值设置为1;
设置第二个布隆过滤器,即BF2,长度与BF1相同;
依次遍历主服务器上的文件,对文件的内容依据三个不同的Hash算法计算三个Hash值,将Hash值对应的布隆过滤器中的数组的下标的值设置为1。
再进一步的,
遍历备份服务器中的文件,分别通过BF1和BF2判断目录和文件内容是否存在,如果布隆过滤器判断文件目录或者文件内容不存在,则直接删除备份服务器上的文件。
再进一步的,
将备份服务器中的文件目录和内容遍历加载到布隆过滤器BF3和BF4中。
遍历主服务器上的文件通过布隆过滤器BF3和BF4判断是否目录和文件是否存在,若目录和文件同时不存在则将文件发送到备份服务器中对应目录,若目录存在文件不存在,则删除备份服务器上的文件将文件发送到备份服务器对应目录,若文件存在目录不存在或者两者都存在,则不操作文件。
再进一步的,
将主服务器中的文件目录和内容重新加载到布隆过滤器BF1和BF2中;
将备份服务器中的文件目录和内容重新加载到布隆过滤器的BF3和BF4中;
分别对BF1与BF3、BF2与BF4运行“与”运算,判断两者结果中各值是否都为零。
如果都为零,则认为两者文件已经一致;如果不为零则重新遍历备份服务器中的文件,分别通过BF1和BF2判断目录和文件内容是否存在,如果布隆过滤器判断文件目录或者文件内容不存在,则直接删除备份服务器上的文件。
再进一步的,
布隆过滤器的长度m:
当n添加元素和Pfp误报概率确定时,m等于:
本发明的有益效果是
支持千万级以上文件的同步,提高的大批量文件同步的可靠性。
附图说明
图1是遍历文件示意图。
图2是本发明的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
数据备份中对大批量的文件同步不友好。千万级以上文件量的文件自动化同步容易因为同步程序所在服务器内存不足等原因导致同步失败。为解决该问题,文件同步程序中引入布隆过滤器,经过多次通过布隆过滤器的比较,完成准确率极高的千万级以上文件同步服务。
本发明提供了一种基于布隆过滤器的海量文件备份数据同步方法,包括:
步骤一:根据文件的数据量级和能接受的误报率,估算出布隆过滤器BF1的大致长度。
布隆过滤器的最佳长度m:
当n添加元素和Pfp误报概率确定时,m等于:
步骤二:依次遍历主服务器上的小文件,对小文件目录依据三个不同的Hash算法计算三个Hash值,将Hash值对应的布隆过滤器BF1中的数组的下标的值设置为1。
步骤三:设置第二个布隆过滤器,即BF2,长度依然为步骤一中的m。
步骤四:依次遍历主服务器上的小文件,对小文件的内容依据三个不同的Hash算法计算三个Hash值,将Hash值对应的布隆过滤器中的数组的下标的值设置为1。
步骤五:遍历备份服务器中的文件,分别通过BF1和BF2判断目录和文件内容是否存在,如果布隆过滤器判断文件目录或者文件内容不存在,则直接删除备份服务器上的文件。
步骤六:将备份服务器中的文件目录和内容遍历加载到布隆过滤器BF3和BF4中。
步骤七:遍历主服务器上的文件通过BF3和BF4判断是否目录和文件是否存在,若目录和文件同时不存在则将文件发送到备份服务器中对应目录,若目录存在文件不存在,则删除备份服务器上的文件将文件发送到备份服务器对应目录,若文件存在目录不存在或者两者都存在,则不操作文件。
步骤八:将主服务器中的文件目录和内容重新加载到布隆过滤器BF1和BF2中。
步骤九:将备份服务器中的文件目录和内容重新加载到布隆过滤器的BF3和BF4中。
步骤十:分别对BF1与BF3、BF2与BF4运行“与”运算,判断两者结果中各值是否都为零。如果都为零,则认为两者文件已经一致。如果不为零则重新进行步骤五。
本发明:
支持千万级以上的文件量的文件同步。
支持文件目录与文件内容的比较。
采用四个布隆过滤器,经过多次循环完成文件同步。
文件同步效率极高,可靠性也比较高,通过对结果多次比较,尽可能降低文件不同步的可能性。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种基于布隆过滤器的海量文件备份数据同步方法,其特征在于,
文件同步程序中引入布隆过滤器,经过数次通过布隆过滤器的比较,完成千万级以上文件同步服务。
2.根据权利要求1所述的方法,其特征在于,
根据文件的数据量级和误报率,估算出布隆过滤器BF1的长度;
依次遍历主服务器上的文件,对文件目录依据三个不同的Hash算法计算三个Hash值,将Hash值对应的布隆过滤器BF1中的数组的下标的值设置为1;
设置第二个布隆过滤器,即BF2,长度与BF1相同;
依次遍历主服务器上的文件,对文件的内容依据三个不同的Hash算法计算三个Hash值,将Hash值对应的布隆过滤器中的数组的下标的值设置为1。
3.根据权利要求2所述的方法,其特征在于,
遍历备份服务器中的文件,分别通过BF1和BF2判断目录和文件内容是否存在,如果布隆过滤器判断文件目录或者文件内容不存在,则直接删除备份服务器上的文件。
4.根据权利要求3所述的方法,其特征在于,
将备份服务器中的文件目录和内容遍历加载到布隆过滤器BF3和BF4中。
5.根据权利要求4所述的方法,其特征在于,
遍历主服务器上的文件通过布隆过滤器BF3和BF4判断是否目录和文件是否存在,若目录和文件同时不存在则将文件发送到备份服务器中对应目录,若目录存在文件不存在,则删除备份服务器上的文件将文件发送到备份服务器对应目录,若文件存在目录不存在或者两者都存在,则不操作文件。
6.根据权利要求5所述的方法,其特征在于,
将主服务器中的文件目录和内容重新加载到布隆过滤器BF1和BF2中;
将备份服务器中的文件目录和内容重新加载到布隆过滤器的BF3和BF4中;
分别对BF1与BF3、BF2与BF4运行与运算,判断两者结果中各值是否都为零。
7.根据权利要求6所述的方法,其特征在于,
如果都为零,则认为两者文件已经一致;如果不为零则重新遍历备份服务器中的文件,分别通过BF1和BF2判断目录和文件内容是否存在,如果布隆过滤器判断文件目录或者文件内容不存在,则直接删除备份服务器上的文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210519112.2A CN115203150A (zh) | 2022-05-13 | 2022-05-13 | 一种基于布隆过滤器的海量文件备份数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210519112.2A CN115203150A (zh) | 2022-05-13 | 2022-05-13 | 一种基于布隆过滤器的海量文件备份数据同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115203150A true CN115203150A (zh) | 2022-10-18 |
Family
ID=83574742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210519112.2A Pending CN115203150A (zh) | 2022-05-13 | 2022-05-13 | 一种基于布隆过滤器的海量文件备份数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203150A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130124559A1 (en) * | 2009-10-22 | 2013-05-16 | Vmware, Inc, | Method and system for inserting data records into files |
CN105376277A (zh) * | 2014-08-25 | 2016-03-02 | Tcl集团股份有限公司 | 一种数据同步方法及装置 |
CN106101257A (zh) * | 2016-07-07 | 2016-11-09 | 广东工业大学 | 一种基于布隆过滤器的云存储数据管理方法及装置 |
CN111309680A (zh) * | 2020-02-17 | 2020-06-19 | 湖南天河国云科技有限公司 | 基于布隆过滤器的对象存储文件检索方法及系统 |
CN111930923A (zh) * | 2020-07-02 | 2020-11-13 | 上海微亿智造科技有限公司 | 布隆过滤器系统及过滤方法 |
CN113946553A (zh) * | 2021-10-27 | 2022-01-18 | 浪潮卓数大数据产业发展有限公司 | 一种基于ftp的千万级文件量的文件同步方法 |
CN114328464A (zh) * | 2021-12-28 | 2022-04-12 | 天翼云科技有限公司 | 分布式存储设备的数据维护方法、装置、设备和可读介质 |
-
2022
- 2022-05-13 CN CN202210519112.2A patent/CN115203150A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130124559A1 (en) * | 2009-10-22 | 2013-05-16 | Vmware, Inc, | Method and system for inserting data records into files |
CN105376277A (zh) * | 2014-08-25 | 2016-03-02 | Tcl集团股份有限公司 | 一种数据同步方法及装置 |
CN106101257A (zh) * | 2016-07-07 | 2016-11-09 | 广东工业大学 | 一种基于布隆过滤器的云存储数据管理方法及装置 |
CN111309680A (zh) * | 2020-02-17 | 2020-06-19 | 湖南天河国云科技有限公司 | 基于布隆过滤器的对象存储文件检索方法及系统 |
CN111930923A (zh) * | 2020-07-02 | 2020-11-13 | 上海微亿智造科技有限公司 | 布隆过滤器系统及过滤方法 |
CN113946553A (zh) * | 2021-10-27 | 2022-01-18 | 浪潮卓数大数据产业发展有限公司 | 一种基于ftp的千万级文件量的文件同步方法 |
CN114328464A (zh) * | 2021-12-28 | 2022-04-12 | 天翼云科技有限公司 | 分布式存储设备的数据维护方法、装置、设备和可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021091489A1 (en) | Method and apparatus for storing time series data, and server and storage medium thereof | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN106407224A (zh) | 一种键值存储系统中文件压实的方法和装置 | |
CN114356248B (zh) | 一种数据处理方法和装置 | |
CN111274245B (zh) | 一种用于优化数据存储的方法和装置 | |
CN117667932A (zh) | 一种向量数据库存储格式自定义和转换的方法和系统 | |
CN115203150A (zh) | 一种基于布隆过滤器的海量文件备份数据同步方法 | |
WO2023098641A1 (en) | Systems and methods for data storage in storage device | |
CN114896250B (zh) | 一种键值分离的键值存储引擎索引优化方法及装置 | |
CN108121807B (zh) | Hadoop环境下多维索引结构OBF-Index的实现方法 | |
CN113590566B (zh) | 基于堆结构的SequenceFile存储优化方法、装置、设备及存储介质 | |
CN112506651B (zh) | 一种大数据量环境中数据运算的方法和设备 | |
CN107391701B (zh) | 一种文件创建方法及装置 | |
CN113238857B (zh) | 一种基于内存池的map映射表多线程遍历方法及装置 | |
CN115454983B (zh) | 一种基于布隆过滤器的海量Hbase数据去重方法 | |
CN113127012B (zh) | 一种基于软件引擎的软件资源构建方法 | |
CN117707857B (zh) | 芯片研发数据备份方法、装置、计算机设备和存储介质 | |
CN114218441B (zh) | 对uof文档进行调用和展示的方法 | |
CN112711627B (zh) | 一种Greenplum数据库的数据导入方法、装置及设备 | |
CN115729473A (zh) | 数据迁移方法、数据迁移装置、数据迁移设备及存储介质 | |
CN114581808A (zh) | 图片一致性检测方法、装置、存储设备及可读存储介质 | |
CN116760844A (zh) | 数字孪生模型的数据同步方法、装置、设备和存储介质 | |
CN118152460A (zh) | 台账数据处理方法、装置、计算机设备和存储介质 | |
CN117391862A (zh) | 具有防篡改的资产数据管理系统、方法及计算机存储介质 | |
Gajalwar et al. | Erasure Coding and Data Deduplication: A Comprehensive Survey |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221018 |
|
RJ01 | Rejection of invention patent application after publication |