CN106201784B - 一种基于git的数据备份方法及系统 - Google Patents
一种基于git的数据备份方法及系统 Download PDFInfo
- Publication number
- CN106201784B CN106201784B CN201610565576.1A CN201610565576A CN106201784B CN 106201784 B CN106201784 B CN 106201784B CN 201610565576 A CN201610565576 A CN 201610565576A CN 106201784 B CN106201784 B CN 106201784B
- Authority
- CN
- China
- Prior art keywords
- data
- git
- standard
- increment
- data element
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004321 preservation Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012856 packing Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于git的数据备份方法及系统,由于该方法包括:先接收需要备份的多个数据单元,然后设定所述多个数据单元中的一个数据单元为标准数据单元,再利用git分别确定其他数据单元相对于所述标准数据单元的数据增量,再保存所述标准数据单元和所述数据增量,最后删除所述其他数据单元。本申请提供的上述基于git的数据备份方法及系统,能够高效的利用存储空间,降低存储成本。
Description
技术领域
本发明属于数据备份技术领域,特别是涉及一种基于git的数据备份方法及系统。
背景技术
当今社会,互联网信息行业高速发展,每天产生的数据数以EB计。在这么多的数据中,有很多是很重要的数据,需要做数据备份。由于需要备份的数据规模庞大,因此就需要占用大规模的存储空间,导致存储成本较高。通过研究发现,有些数据之间具有较大的关联性,例如,两个需要备份的数据大部分是相同的,而只有小部分有所不同,但现有技术中对二者进行存储时,依然是分别进行存储,这就造成了极大的空间浪费,因此为了达到节省存储空间的目的,如何高效的利用存储空间就变得尤为重要。
发明内容
为解决上述问题,本发明提供了一种基于git的数据备份方法及系统,能够高效的利用存储空间,降低存储成本。
本发明提供的一种基于git的数据备份方法,包括:
接收需要备份的多个数据单元;
设定所述多个数据单元中的一个数据单元为标准数据单元;
利用git分别确定其他数据单元相对于所述标准数据单元的数据增量;
保存所述标准数据单元和所述数据增量;
删除所述其他数据单元。
优选的,在上述基于git的数据备份方法中,
所述设定所述多个数据单元中的一个数据单元为标准数据单元之前,还包括:在备份服务器创建git仓库。
优选的,在上述基于git的数据备份方法中,
所述设定所述多个数据单元中的一个数据单元为标准数据单元之后,还包括:
将标准数据单元添加到git仓库的主分支。
优选的,在上述基于git的数据备份方法中,
所述利用git分别确定其他数据单元相对于所述标准数据单元的数据增量包括:
通过git工具将其他数据单元与所述标准数据单元作比较,找出其他数据单元相对于所述标准数据单元的数据增量。
优选的,在上述基于git的数据备份方法中,
所述保存所述标准数据单元和所述数据增量包括:
保存所述标准数据单元,并将所述数据增量进行打包和区别保存。
本发明提供的一种基于git的数据备份系统,包括:
接收模块,用于接收需要备份的多个数据单元;
设定模块,用于设定所述多个数据单元中的一个数据单元为标准数据单元;
确定模块,用于利用git分别确定其他数据单元相对于所述标准数据单元的数据增量;
保存模块,用于保存所述标准数据单元和所述数据增量;
删除模块,用于删除所述其他数据单元。
优选的,在上述基于git的数据备份系统中,还包括:
创建模块,用于在备份服务器创建git仓库。
优选的,在上述基于git的数据备份系统中,还包括:
添加模块,用于将标准数据单元添加到git仓库的主分支。
优选的,在上述基于git的数据备份系统中,所述确定模块中包括:
比较单元,用于通过git工具将其他数据单元与所述标准数据单元作比较,找出其他数据单元相对于所述标准数据单元的数据增量。
优选的,在上述基于git的数据备份系统中,所述保存模块包括:
第一保存单元,用于保存所述标准数据单元;
第二保存单元,用于将所述数据增量进行打包和区别保存。
通过上述描述可知,本发明提供的上述基于git的数据备份方法及系统,由于先接收需要备份的多个数据单元,然后设定所述多个数据单元中的一个数据单元为标准数据单元,再利用git分别确定其他数据单元相对于所述标准数据单元的数据增量,再保存所述标准数据单元和所述数据增量,最后删除所述其他数据单元,因此能够高效的利用存储空间,降低存储成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的第一种基于git的数据备份方法的示意图;
图2为数据服务器向备份服务器传递需要备份数据单元的示意图;
图3为利用git确定数据增量的示意图;
图4为数据恢复的流程图;
图5为本申请实施例提供的第一种基于git的数据备份系统的示意图。
具体实施方式
本发明的核心思想在于提供一种基于git的数据备份方法及系统,能够高效的利用存储空间,降低存储成本。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供的第一种基于git的数据备份方法如图1所示,图1为本申请实施例提供的第一种基于git的数据备份方法的示意图。该方法包括如下步骤:
S1:接收需要备份的多个数据单元;
在该步骤中,可以利用备份服务器接收需要备份的数据,其中数据接收包括定时接收和实时接收两种方式,以每次接收的数据为一个数据单元。
S2:设定所述多个数据单元中的一个数据单元为标准数据单元;
在该步骤中,不同的数据单元之间有部分相同的数据,可以从中选取一个数据单元作为标准数据单元,其他的数据单元均与其有部分相同数据。
S3:利用git分别确定其他数据单元相对于所述标准数据单元的数据增量;
在该步骤中,利用git技术确定出数据增量,就不再需要将相同的数据部分都进行保存,从而节省大量存储空间,也提高存储效率。
S4:保存所述标准数据单元和所述数据增量;
在该步骤中,由于不同数据单元之间有部分相同数据,因此不需要对重复数据进行保存,只需要保存其他数据单元和标准数据单元之间的差异就可以,这部分数据比较小,从而达到备份数据的同时又节省存储空间的效果。
S5:删除所述其他数据单元。
在该步骤中,将其他数据单元删除,仅仅保留标准数据单元和数据增量,这就大大降低了所需的存储空间,保证存储的效率足够高。
另外需要说明的是,当需要某个数据单元时,将对应的数据增量,应用到所述标准数据单元,就能够得到对应的额数据单元,这就是所需要的数据。
通过上述描述可知,本申请实施例提供的上述第一种基于git的数据备份方法,由于先接收需要备份的多个数据单元,然后设定所述多个数据单元中的一个数据单元为标准数据单元,再利用git分别确定其他数据单元相对于所述标准数据单元的数据增量,再保存所述标准数据单元和所述数据增量,最后删除所述其他数据单元,因此能够高效的利用存储空间,降低存储成本。
本申请实施例提供的第二种基于git的数据备份方法,是在上述第一种基于git的数据备份方法的基础上,还包括如下技术特征:
所述设定所述多个数据单元中的一个数据单元为标准数据单元之前,还包括:在备份服务器创建git仓库。
具体的,参考图2,图2为数据服务器向备份服务器传递需要备份数据单元的示意图,其中,备份服务器上预装git仓库,所有的数据单元都将数据传输至所述git仓库中,然后有git仓库对数据做后续处理。
本申请实施例提供的第三种基于git的数据备份方法,是在上述第二种基于git的数据备份方法的基础上,还包括如下技术特征:
所述设定所述多个数据单元中的一个数据单元为标准数据单元之后,还包括:
将标准数据单元添加到git仓库的主分支。
在这种情况下,保证git仓库暂存区没有要提交的数据。
本申请实施例提供的第四种基于git的数据备份方法,是在上述第三种基于git的数据备份方法的基础上,还包括如下技术特征:
所述利用git分别确定其他数据单元相对于所述标准数据单元的数据增量包括:
如图3所示,图3为利用git确定数据增量的示意图。通过git工具将备份服务器将收到的其中一份数据单元作为标准数据单元后,其他数据单元与标准数据单元作比较,将备份数据相比如标准数据的增量进行打包处理,并分别区别单独存放。
本申请实施例提供的第五种基于git的数据备份方法,是在上述第一种至第四种基于git的数据备份方法中任一种的基础上,还包括如下技术特征:
所述保存所述标准数据单元和所述数据增量包括:
保存所述标准数据单元,并将所述数据增量进行打包和区别保存。
具体的,将备份服务器接收到的数据单元相对于标准数据单元的增量利用git打包,并将打包数据区别存放。然后,将备份服务器接收到的并且和标准数据单元比较打包增量之后的各个数据单元删除,以节省存储空间。
如图4所示,图4为数据恢复的流程图。在恢复某一个数据单元时,将对应的打包的增量应用于标准数据单元,得到的数据单元就是所需要的数据单元。
本申请实施例提供的第一种基于git的数据备份系统如图5所示,图5为本申请实施例提供的第一种基于git的数据备份系统的示意图。该系统包括:
接收模块1,用于接收需要备份的多个数据单元,可以利用备份服务器接收需要备份的数据,其中数据接收包括定时接收和实时接收两种方式,以每次接收的数据为一个数据单元。;
设定模块2,用于设定所述多个数据单元中的一个数据单元为标准数据单元,由于不同的数据单元之间有部分相同的数据,因此可以从中选取一个数据单元作为标准数据单元,其他的数据单元均与其有部分相同数据;
确定模块3,用于利用git分别确定其他数据单元相对于所述标准数据单元的数据增量,利用git技术确定出数据增量,就不再需要将相同的数据部分都进行保存,从而节省大量存储空间,也提高存储效率;
保存模块4,用于保存所述标准数据单元和所述数据增量,由于不同数据单元之间有部分相同数据,因此不需要对重复数据进行保存,只需要保存其他数据单元和标准数据单元之间的差异就可以,这部分数据比较小,从而达到备份数据的同时又节省存储空间的效果;
删除模块5,用于删除所述其他数据单元,需要说明的是,将其他数据单元删除,仅仅保留标准数据单元和数据增量,这就大大降低了所需的存储空间,保证存储的效率足够高。
本申请实施例提供的上述第一种基于git的数据备份系统,能够高效的利用存储空间,降低存储成本。
本申请实施例提供的第二种基于git的数据备份系统,是在上述第一种基于git的数据备份系统的基础上,还包括如下技术特征:
创建模块,用于在备份服务器创建git仓库。
备份服务器上预装git仓库,所有的数据单元都将数据传输至所述git仓库中,然后有git仓库对数据做后续处理。
本申请实施例提供的第三种基于git的数据备份系统,是在上述第二种基于git的数据备份系统的基础上,还包括如下技术特征:
添加模块,用于将标准数据单元添加到git仓库的主分支。
在这种情况下,保证git仓库暂存区没有要提交的数据。
本申请实施例提供的第四种基于git的数据备份系统,是在上述第三种基于git的数据备份系统的基础上,还包括如下技术特征:
所述确定模块中包括:
比较单元,用于通过git工具将其他数据单元与所述标准数据单元作比较,找出其他数据单元相对于所述标准数据单元的数据增量。
通过git工具将备份服务器将收到的其中一份数据单元作为标准数据单元后,其他数据单元与标准数据单元作比较,将备份数据相比如标准数据的增量进行打包处理,并分别区别单独存放。
本申请实施例提供的第五种基于git的数据备份系统,是在上述第一种至第四种基于git的数据备份系统中任一种的基础上,还包括如下技术特征:
第一保存单元,用于保存所述标准数据单元;
第二保存单元,用于将所述数据增量进行打包和区别保存。
具体的,将备份服务器接收到的数据单元相对于标准数据单元的增量利用git打包,并将打包数据区别存放。然后,将备份服务器接收到的并且和标准数据单元比较打包增量之后的各个数据单元删除,以节省存储空间。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (2)
1.一种基于git的数据备份方法,其特征在于,包括:
接收需要备份的多个数据单元;
设定所述多个数据单元中的一个数据单元为标准数据单元;
利用git分别确定其他数据单元相对于所述标准数据单元的数据增量;
保存所述标准数据单元和所述数据增量;
删除所述其他数据单元;
所述设定所述多个数据单元中的一个数据单元为标准数据单元之前,还包括:在备份服务器创建git仓库;
所述设定所述多个数据单元中的一个数据单元为标准数据单元之后,还包括:
将标准数据单元添加到git仓库的主分支;
所述利用git分别确定其他数据单元相对于所述标准数据单元的数据增量包括:
通过git工具将其他数据单元与所述标准数据单元作比较,找出其他数据单元相对于所述标准数据单元的数据增量;
所述保存所述标准数据单元和所述数据增量包括:
保存所述标准数据单元,并将所述数据增量进行打包和区别保存。
2.一种基于git的数据备份系统,其特征在于,包括:
接收模块,用于接收需要备份的多个数据单元;
设定模块,用于设定所述多个数据单元中的一个数据单元为标准数据单元;
确定模块,用于利用git分别确定其他数据单元相对于所述标准数据单元的数据增量;
保存模块,用于保存所述标准数据单元和所述数据增量;
删除模块,用于删除所述其他数据单元;
创建模块,用于在备份服务器创建git仓库;
添加模块,用于将标准数据单元添加到git仓库的主分支;
所述确定模块中包括:
比较单元,用于通过git工具将其他数据单元与所述标准数据单元作比较,找出其他数据单元相对于所述标准数据单元的数据增量;
所述保存模块包括:
第一保存单元,用于保存所述标准数据单元;
第二保存单元,用于将所述数据增量进行打包和区别保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610565576.1A CN106201784B (zh) | 2016-07-18 | 2016-07-18 | 一种基于git的数据备份方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610565576.1A CN106201784B (zh) | 2016-07-18 | 2016-07-18 | 一种基于git的数据备份方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106201784A CN106201784A (zh) | 2016-12-07 |
CN106201784B true CN106201784B (zh) | 2019-01-29 |
Family
ID=57492915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610565576.1A Active CN106201784B (zh) | 2016-07-18 | 2016-07-18 | 一种基于git的数据备份方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106201784B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271194B (zh) * | 2018-08-22 | 2022-07-26 | 五八有限公司 | 基于分布式版本控制系统的分支访问方法和装置 |
CN110737696A (zh) * | 2019-10-12 | 2020-01-31 | 北京百度网讯科技有限公司 | 数据抽样方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647850A (zh) * | 2013-12-25 | 2014-03-19 | 北京京东尚科信息技术有限公司 | 一种分布式版本控制系统的数据处理方法、设备及系统 |
CN105094851A (zh) * | 2015-09-06 | 2015-11-25 | 浪潮软件股份有限公司 | 一种基于Git随时发布代码的实现方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8689060B2 (en) * | 2011-11-15 | 2014-04-01 | Sap Ag | Process model error correction |
CA2889387C (en) * | 2011-11-22 | 2020-03-24 | Solano Labs, Inc. | System of distributed software quality improvement |
US9378100B2 (en) * | 2013-05-17 | 2016-06-28 | Go Daddy Operating Company, LLC | Tools for storing, accessing and restoring website content via a website repository |
-
2016
- 2016-07-18 CN CN201610565576.1A patent/CN106201784B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647850A (zh) * | 2013-12-25 | 2014-03-19 | 北京京东尚科信息技术有限公司 | 一种分布式版本控制系统的数据处理方法、设备及系统 |
CN105094851A (zh) * | 2015-09-06 | 2015-11-25 | 浪潮软件股份有限公司 | 一种基于Git随时发布代码的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106201784A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8924353B1 (en) | Systems and methods for copying database files | |
US8495022B1 (en) | Systems and methods for synthetic backups | |
CN101158954B (zh) | 一种在计算机存储中识别重复数据的方法 | |
CN103164490B (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
CN102142032B (zh) | 一种分布式文件系统的数据读写方法及系统 | |
CN104166606A (zh) | 文件备份方法和主存储设备 | |
CN103473277A (zh) | 文件系统的快照方法和装置 | |
CN101819543A (zh) | 快照数据处理方法和系统以及存储设备 | |
CN102662793A (zh) | 一种可保证数据一致性的分布式数据库热备份与恢复方法 | |
US8572338B1 (en) | Systems and methods for creating space-saving snapshots | |
CN103942292A (zh) | 虚拟机镜像文件处理方法、装置及系统 | |
CN103198122A (zh) | 重启内存数据库的方法和装置 | |
CN106445643A (zh) | 克隆、升级虚拟机的方法及设备 | |
CN103778120A (zh) | 全局文件标识生成方法、生成装置及相应的分布式文件系统 | |
CN106201784B (zh) | 一种基于git的数据备份方法及系统 | |
EP3646187B1 (en) | Cost-based garbage collection scheduling in a distributed storage environment | |
CN105677252B (zh) | 读数据的方法、数据处理方法及相关存储设备 | |
CN105224256A (zh) | 一种存储系统 | |
CN104965835A (zh) | 一种分布式文件系统的文件读写方法及装置 | |
CN103559224A (zh) | 一种对元数据对象进行散列的方法及装置 | |
CN103176920A (zh) | Nor flash掉电保护方法及装置 | |
CN103577469A (zh) | 数据库连接复用方法和装置 | |
CN103841168A (zh) | 数据副本更新方法及元数据服务器 | |
CN108958974A (zh) | 一种快照方法、装置、系统及可读存储介质 | |
CN104391760A (zh) | 一种数据备份的方法、服务器和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |