一种防篡改防损坏的办公文件备份方法与流程

文档序号:33273696发布日期:2023-02-24 19:07阅读:111来源:国知局
一种防篡改防损坏的办公文件备份方法与流程

1.本发明涉及文件保护技术领域,尤其涉及一种对企业内部重要备份文件进行防篡改防损坏的方法。


背景技术:

2.在日常工作生产中,企业内部会积累越来越多的不需要改动但需要长期保存的文件。如报账凭证、合同文件等。为了保证文件的绝对安全和兼顾审计查阅的方便,此类文件一般采用线下线上结合方式存储,即保存纸质文件和文件内容录入信息系统。纸质文件有保存期限而且占用大量的仓库资源,也容易因各种事故而毁灭,因此线上备份的文件往往容易形成“孤本”,需要进行重点保护。对于中小规模的企业,传统多磁盘多节点的备份手段需要硬件成本较高,而且缺乏有效的防篡改机制,而新颖的区块链技术则需要的运维成本更高。中小规模企业需要一种能兼顾高效率、低存储、安全性高的文件备份手段。
3.现有技术的技术方案
4.目前比较新颖的文件备份技术方案是基于区块链文件备份。大概的方案步骤有设定备份目录;加密发送文件数据,并且把文件名,大小,权限,目录,md5值提交给计算节点;计算节点进行记录,并且分块分配给不同的存储节点;存储节点接收文件,并存储;在需要恢复时,向计算节点发送请求,计算节点依据记录,获取和合并解密数据,最终实现了数据恢复。
5.现有技术存在的缺点:
6.(1)大量的区块信息是重复的,从而导致数据冗余;
7.(2)文件所在节点需要不断彼此同步,企业内部网络容易过载;
8.(3)需要大量的计算资源,软硬件成本高,运维成本高。


技术实现要素:

9.为解决上述技术问题,本发明的目的是提供一种高性能低存储而且可以防篡改防损毁的文件备份方法,该方法的目的是提高硬件资源利用率,非压缩情况下,备份文件所需空间只有总磁盘空间的33%;提高数据读写性能,可以做到读写分离和并行读写,不需要占用大量的加密和同步计算资源;提高安全性,做到任意文件的校验和修复,任一备份节点被完全破坏后也能重建。
10.本发明的目的通过以下的技术方案来实现:
11.一种防篡改防损坏的办公文件备份方法,包括:
12.步骤a通过服务器和存储节点对文件进行备份;
13.步骤b获取文件相关记录信息,并对记录信息进行读取与比较;
14.步骤c对损坏的文件进行恢复。
15.与现有技术相比,本发明的一个或多个实施例可以具有如下优点:
16.(1)容量消耗小:保存两个文件后,进行一次文件二进制的异或运算,形成一个文
件关联信息,文件关联信息可用于数据防篡改校验和数据备份,理想情况下,文件关联信息只占据总备份文件大小的33%,基于传统拷贝的文件备份在不压缩的情况下是总备份文件大小的100%,基于区块链技术的文件备份是总备份文件的300%以上。相比之下,本发明的方法使容量消耗空间更小。
17.(2)备份速度快:相当于每时每刻都在进行文件热备份,热备份颗粒度为两个文件,备份内容平均分布在三个存储节点中,相对传统备份方式可提高一倍的文件写入速度。
18.(3)安全性高:同组文件中的任意一个文件可以通过其余两个进行恢复或校验,因此能防止文件数据被破坏或被篡改。保存在存储节点的bin文件同样经过加盐异或运算,不包含文件的还原信息,不法分子拿到bin文件也无法恢复其文件内容。而且要攻破异地部署的两个存储节点才能做到文件的破坏。同样,遇到不可抗力的灾害,至少要两个存储节点遭到破坏才能损坏文件。
附图说明
19.图1是防篡改防损坏的办公文件备份方法流程图;
20.图2是是防篡改防损坏的办公文件备份方法的系统拓扑图;
21.图3是是文件备份的流程图;
22.图4是文件读取的流程图。
具体实施方式
23.为使本发明的目的、技术方案和优点更加清楚,下面将结合实施例及附图对本发明作进一步详细的描述。
24.如图1所示,为防篡改防损坏的办公文件备份方法流程,包括以下步骤:
25.步骤10通过服务器和存储节点对文件进行备份;
26.步骤20获取文件相关记录信息,并对记录信息进行读取与比较;
27.步骤30对损坏的文件进行恢复。
28.上述步骤10具体包括以下步骤:
29.步骤101设至少一台服务器和三个用于文件备份的存储节点;
30.步骤102用户登录服务器,提交备份的文件,服务器进行文件缓存;
31.步骤103将文件内容信息写入时序数据库;
32.步骤104对时序相邻的两个备份文件进行二进制转换,得到字节流a和b;
33.步骤105对a和b进行对齐后分别加盐异或得到a

和b

两个bin文件;
34.步骤106对a

和b

进行异或运算得到bin文件c

,信息写入时序数据库;
35.步骤107把a

、b

、c

作为一组,按顺序存放在3个文件备份节点。
36.上述步骤101中所述存储节点是3台异地部署的nas存储器,且文件加密处理后的二进制bin文件和经过异或所得的bin文件由3个存储节点进行轮流存储;每一组的存储节点序号为123、231、312之间交替。假设待备份的文件集合为{a,b,c,d,...},以两个文件和一个异或结果为一组,从存储节点1开始进行存储,每一组顺序也交替进行变换,如表1所示:
37.表1
38.存储节点1存储节点2存储节点3a的bin文件a

b的bin文件b
′a′
、b

的异或文件ab
′c′
和d

的异或文件cd

c的bin文件c

d的bin文件d

39.上述步骤103中所述时序数据库保存的内容有文件id、组id、文件原名称、文件原后缀、实际保存路径、随机加密盐等,如表2:
40.表2
41.id组id名称后缀路径盐状态11xxx框架合同.pdfnode_1://namel10010011正常21xxx协议.docnode_2://name211010011正常31备份冗余文件nullnode_3://name310101011正常42xxx调研报告.pdfnode_2://name411011101正常52xxx合作合同.jpgnode_3://name511001100正常62备份冗余文件nullnode_l://name610111011正常
42.假设待备份的文件集合{a,b,c,d}中每个文件的内容分别是{

this



is


′a′


demo

},则他们对应的二进制流、对齐后的二进制流、盐异或加密、互相异或结果如表3所示:
43.表3
[0044][0045]
文件集合{a,b,c,d}在存储节点保存的bin文件内容如表4所示:
[0046]
表4
[0047]
存储节点1存储节点2存储节点301110100 01101000 01101001 1110000001101001 01110011 00000000 110100110001 1101 0001 1011 0110 1001 0011 00110000 0101 0110 0101 0110 1101 0111 111001100001 00000000 00000000 1101110101100100 01100101 01101101 10100011
[0048]
如图3所示,上述步骤20获取文件相关记录信息,并对记录信息进行读取与比较的具体流程包括:
[0049]
步骤21登录服务器,通过数据库检索文件a获得文件相关记录信息;
[0050]
步骤22根据记录信息读获得对应bin文件a

和同组的b

、c


[0051]
步骤23对b

、c

进行异或运算获得a

,a

与a

进行比较;
[0052]
步骤24若比较一致,则对a

进行盐的异或解密获得a,进而生成文件a;
[0053]
步骤25若比较不一致,则文件a被篡改或被破坏,记录并返回错误提示;
[0054]
假设从表3中获取文件a,根据上述步骤21,获取到文件a以及同组的另外两个文件的相关信息,有id、组id名称、后缀、路径、盐等信息,如下表5所示:
[0055]
表5
[0056]
id组id名称后缀路径盐状态11xxx框架合同.pdfnode_1://namel10010011正常21xxx协议.docnode_2://name211010011正常31备份冗余文件nullnode_3://name310101011正常
[0057]
上述步骤22-24中,根据路径信息获取到a

、b

、c

,并把b

、c

进行异或运算,获得a

,把a

与a

进行比较。a

、b

、c

、a

的内容如表6所示:
[0058]
表6
[0059]
文件内容a

01110100011010000110100111100000b

01101001011100110000000011010011c

00011101000110110110100100110011a

01110100011010000110100111100000
[0060]
对比可知a

=a

,则文件没有损坏或者篡改,可以对a

进行解密,解密过程就是把a

与盐进行异或运算得a,由表6可知a

的盐值,过程如表7所示:
[0061]
表7
[0062]
文件内容盐异或后求得aa

01110100011010000110100111100000100100110111 0100 0110 1000 0110 1001 0111 0011
[0063]
对a进行二进制逆运算,获得原文件a,根据表6还原文件名和后缀名,获得文件“xxx框架合同.pdf”。把文件返回给用户,至此读取文件的操作完成。
[0064]
上述步骤30对损坏的文件进行恢复的具体流程包括:
[0065]
若是a

单文件损坏,则通过同组的b

、c

进行异或运算替换,运算公式如下所示,其中xor是异或运算的缩写,f
xor
表示异或运算。
[0066]a′
=f
xor
(b

,c

)
[0067]
若是存储节点1整体损坏,则通过另外两个存储节点的bin文件,按照同组进行异或的方式重新生成损坏节点的所有bin文件,如表8所示:
[0068]
表8
[0069][0070][0071]
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1