文档存储方法和文档恢复方法

文档序号:6427372阅读:103来源:国知局
专利名称:文档存储方法和文档恢复方法
文档存储方法和文档恢复方法
技术领域
本发明涉及文件存储领域,特别是一种文档存储方法和文档恢复方法。背景技术
随着信息化建设的推进,各种企业应用软件已成为企业发展的重要信息手段。随之而来的,企业中各类文档在存储管理中的安全性也成为众多企业日趋重视的问题。近年来,企业无纸化、电子化办公的普及,使得内部信息更容易泄露,企业机密文档泄露事件频频发生。目前,应用程序中生成的各类文档通常会被作为一个整体保存在本地、网络服务器中或数据库中。这种技术存在的缺陷是只要有人知道该文档保存的具体路径,就可以轻而易举地获知该文档的真实内容。专利公开号为CN 101227602A和专利公开号为CN 101198016A均阐述了一种首先将流媒体进行分片然后将其存储的方法,但这种公开的技术主要是针对媒体格式的文件, 其在分片时主要是根据媒体文件的特定信息来进行的,这种分片的方式不适用其他格式的文件,适用性较窄;此外,其主要目的是为了减少文件的网络传输,减少用户播放媒体文件的等待时间,而没有对媒体文件的安全性采取任何措施。因此有必要提出一种新的技术方案来解决上述问题。

发明内容本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。本发明的目的之一在于在于提供一种文档存储方法,其将一文档分片或重新组合成不可直接读取内容的完整分片结果文档以存放到预定位置处,存储的安全性较高。本发明的目的之二在于还提供一种文档恢复方法,其针对上述文档存储方法以将独立的分片文件或不可直接读取内容的完整分片结果文档读取出来。根据本发明的一方面,本发明提供一种文档存储方法,其包括针对一文档生成文档分片种子;根据所述文档分片种子将所述文档分成多个文档分片;和将所述文档分片种子和所述文档分片进行存储。进一步的,所述文档分片种子是根据文档的内容、属性和/或用户输入的安全信息生成的;所述文档分片种子包括文档分片数量、每一个文档分片的大小、文档分片间的分离顺序、文档分片间的组合顺序、文档分片的存储位置和/或文档分片的加密方式。更进一步的,所述多个文档分片是根据文档分片种子中文档分片数量、每一个文档分片的大小和文档分片间的分离顺序对所述文档进行分片而生成的。更进一步的,将所述文档分片种子和所述文档分片进行存储包括将所述文档分片种子存储到预定位置;根据各个文档分片的存储位置将各个文档分片分别进行存储以形成多个独立文档分片文件。更进一步的,所述文档分片种子还包括一文档分片间的索引目录,所述文档分片间的索引目录包括所述各个文档分片的存储位置信息。进一步的,将所述文档分片种子和所述文档分片进行存储包括将所述文档分片种子存储到预定位置;根据所述文档分片种子中文档分片间的组合顺序将文档分片组合成一个新的完整分片结果文档。更进一步的,所述根据所述文档分片种子将所述文档分成多个文档分片后,所述方法还包括根据所述文档分片种子中文档分片的加密方式对各个文档分片进行加密处理。根据本发明的另一方面,本发明还提供一种文档恢复方法,其包括找到一文档对应的文档分片种子;根据所述文档分片种子恢复出基于该文档分离出的文档分片;和根据所述文档分片种子和所述文档分片恢复得到原始的真实文档。进一步的,所述根据所述文档分片种子恢复出基于该文档分离出的文档分片包括根据所述文档分片种子中文档分片间的索引目录将索引目录下的所有文档分片均恢复出来;所述根据所述文档分片种子和所述文档分片恢复得到原始的真实文档包括根据文档分片种子中分离顺序将所有文档分片进行组合以得到原始的真实文档。更进一步的,所述根据所述文档分片种子中文档分片间的索引目录将索引目录下的所有文档分片均恢复出来之后,所述方法还包括判断所述文档分片是否被加密,若被加密,则根据所述文档分片种子中文档分片间的加密方式对所述文档分片进行解密。进一步的,所述根据所述文档分片种子恢复出基于该文档分离出的文档分片包括根据所述文档分片种子中文档分片的存储位置信息将完整分片结果文档恢复出来,然后根据文档分片种子中文档分片间的组合顺序将所述完整分片结果文档进行拆分已得到拆分后的文档分片;所述根据所述文档分片种子和所述文档分片恢复得到原始的真实文档包括根据文档分片种子中文档分片间的组合顺序将拆分后的所有文档分片进行组合以得到原始的真实文档。更进一步的,所述根据文档分片种子中文档分片间的组合顺序将所述完整分片结果文档进行拆分之后,所述方法还包括判断拆分后的所述文档分片是否进被加密,若被加密,则根据文档分片种子中文档分片间的加密方式对所述文档分片进行解密。与现有技术相比,本发明提出了一种文档存储方法,其首先将通过文档生成对应的文档分片种子,然后根据所述文档分片种子信息产生文档分片,随后将文档分片种子和文档分片进行存储;恢复文档时,首先根据文档分片种子将文档分片恢复出来,然后将所有文档分片进行组合已得到原始的真实文档。此外,产生文档分片后对其进行加密,对应地, 在恢复时可以进行解密,这样进一步增加文档的存储安全,实现简单。

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中图1为本发明中文档存储方法在一个实施例中的方法流程图;和图2为本发明中文档恢复方法在一个实施例中的方法示意图。
具体实施方式本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来直接或间接地模拟本发明技术方案的运作。为透彻的理解本发明,在接下来的描述中陈述了很多特定细节。而在没有这些特定细节时,本发明则可能仍可实现。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。换句话说,为避免混淆本发明的目的,由于熟知的方法和程序已经容易理解,因此它们并未被详细描述。此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。文中所指的“多个”为两个或两个以上;文中“和/或”是指和或者或, 比如A、B和/或C包括A、B、C、AB、AC、BC, ABC几种情况。图1为本发明中文档存储方法100在一个实施例中的方法流程图,所述文档存储方法100包括步骤110,针对一文档生成文档分片种子。所述文档一般可以为word格式、excel格式、txt格式、ppt格式、rar格式以及其他格式的文档,或者也可以为文件夹。在实际应用中,通常会根据文档的内容,文档的属性 (如文档的大小、文档产生的时间等),和/或用户输入的安全信息以产生对应的文档分片种子,其中通过文档内容的限制可以保证每个文档具有一个独一无二的文档分片种子,且为了更进一步保证其文档存储的安全性,仅有当用户输入正确的安全信息时才对文档进行存储的处理,即有权限的人才可以存储所述文档,而文档的大小可用于后续对文档进行分片的处理。所述针对一文档生成文档分片种子可以通过很多算法实现,在一个实施例中,可以先根据文档的内容产生文档内容的MD5 (Message Digest Algorithm)的值,然后根据得到的MD5的值以及对应的文档的大小、用户输入的安全信息产生新的MD5的值,最后将第二次生成的MD5的值取哈希(hash)值以得到文档分片种子。由上述用于生成文档分片种子的算法可以看出,每个不同的文档对应的内容、文档的大小以及用户输入的安全信息不完全相同,所以经所述算法可以对应得到不同的文档分片种子。通常,所述根据文档的内容、文档的属性以及相关信息产生的所述文档分片种子可以包括文档分片数量、每一个文档分片的大小、文档分片间的分离顺序、文档分片间的组合顺序、文档分片的存储位置和/或文档分片的加密方式等。这里根据所述文档分片种子获取的每一个文档分片的大小可以相同也可以不同,较优的,为了提高安全性,通过上述生成文档分片种子的算法产生的每一个文档分片的大小通常会位于一个预定的区间内,为了保证便于存放和识别,该区间一般不能太大,如最大的文档分片的值与最小的文档分片的
6值的差的绝对值在Ik左右。其中,在进行文档存储的过程中,所述文档分片间的分离顺序和文档分片间的组合顺序可以相同,这样,在对文档进行重新组合时可以直接利用获取到的文档分片间的分离顺序对其进行组合。当然,所述文档分片间的分离顺序和文档分片间的组合顺序也可以不相同,对应地,在对文档进行重新组合时可以直接利用所述文档分片间的组合顺序对其进行组合。这里所述文档分片间的分离顺序和文档分片间的组合顺序是否相同的设定主要取决于文档分片存储的方式,该问题将在后面进行详述。步骤120,根据所述文档分片种子将所述文档分成多个文档分片。根据文档分片种子的文档分片数量、每一个文档分片的大小和文档分片间的分离顺序等信息可以将文档进行分片处理。步骤130,将所述文档分片种子和所述文档分片进行存储。每个保存该文档的系统在进行保持该文档时,首先要将文档分片种子保存到预定的位置,比如,如果需要将文档保存到本地磁盘,则所述预定位置也应该为本地磁盘的某一个预定的位置;再比如,如果需要将所述文档保存到网络服务器中,则所述预定位置也应该为所述网络服务器中的某一个预定的位置;又比如,如果需要将所述文档保存到数据库中, 则所述预定位置也应该为所述数据库中某一预定的位置。而文档分片的存储通常会根据文档分片种子中各个文档分片种子的存储位置信息来决定的。如果生成的文档分片种子中各个文档分片的存储位置部分或全部不相同,则意味着要将所有文档分片存储到指定的位置以形成多个独立文档分片文件;如果生成的文档分片种子中各个文档分片的存储位置均相同,则意味着要将所有文档分片存储到同一个位置,也就意味着需要将所有的文档分片进行组合以存放到该位置。下面分别讲述上述两种文档分片存储的方式。在生成的文档分片种子中各个文档分片的存储位置部分或全部不相同的情况下 根据各个文档分片种子的存储位置信息将各个文档分片分别进行对应地存储以形成多个独立文档分片文件。通常,为了保证每个独立文档分片的安全性,会在步骤120之后根据所述文档分片种子中文档分片的加密方式对所述文档分片进行加密,之后再将经加密后的所述文档分片进行存储,这样由于每个独立的文档分片文件不是一个完整文档且经过上述加密处理后,即使使用者在所述文档分片存放的位置打开所述文档分片也得不到真实的信息。需要注意的是,在所述文档分片的存储位置不相同时,所述文档分片种子还会包括一文档分片间的索引目录,其包括所述各个文档分片的存储位置信息。该文档分片间的索引目录有利于在恢复所述文档时找到所有存放在不同存储位置的文档分片。在生成的文档分片种子中各个文档分片的存储位置部分均相同的情况下根据所述文档分片种子中文档分片间的组合顺序将文档分片组合成一个新的完整分片结果文档。此时,如果所述所有文档分片的存储位置均相同时,且不对文档分片进行加密,为了保证在存放所述文档分片时不易被截获者直接恢复,通常此时所述文档分片种子中文档分片间的组合顺序与之前所述的文档分片间的分离顺序可以设置为不同,这样得到的新的完整分片结果文档并不是原有的真实文档。也就是说,即使不对各个分片进行加密,为了保证内容的安全性,可以将文档分片间的组合顺序和之前文档分片间的分离顺序设置为不
7同,这样便可以保证重新组合的新为完整分片结果文档并不是原有的真实文档。当然,为了提高文档存储的安全性,会在文档分片被存放前对所述文档分片进行加密,也就是说,在根据所述文档分片种子将所述文档分成多个文档分片后,采用所述文档分片种子中文档分片的加密方式对所述文档分片进行加密。如果已经采用加密方式对各个文档分片进行加密后则执行组合的文档分片间的组合顺序可以和所述文档分片间的分离顺序相同,因为已经经加密后再按照所述分片间的分离顺序重新将其组合也不会直接恢复到文档的真实信息;当然,为了更进一步保证存储的安全性,所述文档分片间的组合顺序也可以不与所述文档分片间的分离顺序相同。由上可知,在所述所有文档分片的存储位置均相同时,如果每个文档分片没有经过上述加密处理,且采用与所述文档分片间的分离顺序不同的分片间的组合顺序组合得到的新的完整分片结果文档,所述新的完整分片结果文档不是原有的真实的文档,不会被轻易的获取内部的信息;而如果每个文档经上述加密处理,即使所述文档分片经过所述文档分片间的分离顺序进行了组合,使用者也得不到真实的文档信息,因此,对文档分片进行加密可以进一步提高文档存放的安全性。在实际应用中,由于所述存放位置可以为本地磁盘,也可以为网络服务器,甚至还可以为网络数据库,如果存放在网络服务器或网络数据库中时,则首先需要在文档生成端和文档存放端建立一个网络传输连接,所述文档分片种子和所述文档分片则通过所述网络传输连接传送到文档存放端(如网络服务器或网络数据库),对应的,所述文档分片种子则应该包括文档分片间的传输顺序的信息,首先将文档分片种子传输到文档存放端后,再根据所述文档分片间的传输顺序的信息将所述文档传输到文档存放端。之所以有这样的顺序,主要是因为接收方可以根据所述文档分片种子中文档分片的数量的信息来确定是否接收完所述文档分片;或根据文档的传输顺序判定接收到的文档分片是否正确;或根据所述文档分片种子中每一个文档分片的大小的信息来确定是否接收到发生方传送来的正确的文档分片等。所述网络传输连接可以以有线或无线方式进行连接,在实际应用中,可以采用各种传输协议,如超文本传输协议(http协议)、消息队列等,对文档分片种子进行传输。通常针对选取的传输协议,只需要将其对应的协议信息作为包头,后面加入文档分片种子或文档分片即可形成不同的数据包,对应地,接收端接收到所述数据包后会根据所述传输协议将数据包内文档分片种子或文档分片的信息提取出来。至于根据传输协议形成的数据包的格式已经是所属领域的普通技术人员都能够实现的,且不作为本发明的重要发明点,所以这里就不再详述。综上所述,本发明提供的文档存放方法首先将原始文档进行分片加密,然后将文档分片按照预定的位置进行存储,使用者即使在存储位置查看到每个文档分片也不会得知文档的真实内容,文档存储的安全性较高。图2为本发明中文档恢复方法200在一个实施例中的方法示意图,所述文档恢复方法200包括步骤步骤210,找到一文档对应的文档分片种子。所述文档分片种子一般包括文档分片数量、每一个文档分片的大小、文档分片间的分离顺序、文档分片间的组合顺序、文档分片的存储位置和/或文档分片的加密方式。在
8文档分片种子和文档分片的存放终端则可以根据文档分片种子中的文档分片数量确定是否已接收完所有的文档分片;或根据所述文档分片种子中每一个文档分片的大小的信息来确定是否接收到发生方传送来的正确的文档分片等。甚至于,当需要将所述文档传输到远端时,所述文档分片种子还包括文档分片间的传输顺序,文档分片则根据所述文档分片间的传输顺序进行传输,对应的,文档分片的存放终端则可以根据文档的传输顺序判定接收到的文档分片是否正确。步骤220,根据所述文档分片种子恢复出基于该文档分离出的文档分片。在具体应用中,所述文档分片的存储通常会有两种形式,一种是所有文档分片分别存储在不同的位置以形成多个独立文档分片文件;另一种是所有文档分片已经被组合成一个完整分片结果文档。根据上述文档分片的两种存储方式,分别采用不同的方法来恢复所述文档分片。在所有文档分片分别存储在不同的位置以形成多个独立文档分片文件的情况下 通常,根据文档分片种子中文档分片间的索引目录来存放所述文档分片时,每个文档分片会对应一个存储位置,即所有存储位置会组成一个文档分片间的索引目录,而在存放终端需要恢复所述文档分片文件时,则根据所述文档分片索引目录分别将所述文档分片文件恢复出来。在一个实施例中,所述索引目录可以包括三个分支,第一分支包括本地磁盘D盘下的文件夹1目录中的10个存储位置,如D:\文件夹1\文档分片1,D:\文件夹1\文档分片
2,......,D:\文件夹1\文档分片10 ;第二分支包括本地磁盘E盘下的文件夹2目录中的
10个存储位置,如E:\文件夹2\文档分片1,E:\文件夹2\文档分片2,......,E:\文件
夹2\文档分片10 ;第三分支包括本地磁盘F盘下的文件夹3目录中的10个存储位置,如
F:\文件夹3\文档分片1,F: \文件夹3\文档分片2,......,F:\文件夹3\文档分片10。
这样根据所述索引目录将可以将三个分支所有的所述30个文档分片均恢复出来。在所有文档分片已经被组合成一个完整分片结果文档的情况下此时所述分片完整结果文档中的各个文档分片可能已经被加密过了,或者此时得到的分片完整结果文档是根据不同于文档分片间的分离顺序的文档分片间的组合顺序进行组合的,其均不能看到真实的文档内容。如果是后者的话,这时则需要根据拆分顺序将其进行拆分,而该拆分顺序则对应其进行组合时的所述文档分片间组合顺序的规则。当然,所述各个文档分片被加密后, 也可以采用与所述文档分片间分离顺序相同的文档分片间的组合顺序进行组合,将其拆分时通过对应的文档分片间组合顺序进行拆分,然后对各个文档分片进行解密后,根据所述文档分片间的分离顺序将其再次重新组合以得到真实的文档。通常没有经过加密的文档进行分片存储组合时,该组合的方式即所述文档分片间的组合顺序与所述文档分片种子中对应于所述分离顺序的组合方式是不同的,这样将各个文档进行组合时得到的新的分片完整结果文档也是不可直接得知内容的乱码。总之,不论上述文档分片采用何种模式存储,当获取到各个文档分片后,一般会其进行加密判断,即判断所述文档分片是否被加密过,若被加密过,则根据所述文档分片中文档分片间的加密方式对所述文档分片进行解密。步骤230,将所述所有文档分片种子和所述文档分片恢复得到原始的真实文档。在所有文档分片分别存储在不同的位置以形成多个独立文档分片文件的情况下 如果判定证实所述文档分片并没有进行加密处理过,则可以直接通过上述文档分片间的索
9引目录将所有文档分片一一'陕复出来,然后通过预定位置处对应的文档分片种子中文档分片间的分离顺序将所述文档分片进行组合以得到原始真实的文档。而如果经判定证实所述文档分片已经进行过加密处理,则首先通过所述文档分片间的索引目录将所述文档分片一一'陕复出来,然后根据所述预定位置处的对应的文档分片种子中文档分片的加密方式将所述文档分片进行解密,最后根据所述文档分片种子中文档分片间的分离顺序将所述文档分片进行组合以得到原始真实的文档。在所有文档分片已经被组合成一个完整分片结果文档的情况下直接通过预存储位置处的文档分片种子的文档分片间的组合顺序将拆分后的所述各个文档分片进行组合以得到原始的真实文档。综上所述,本发明提供的文档恢复方法利用与存储位置处地文档分片种子的信息将以存放在存放终端的文档分片进行重新组合以得到原始的真实文档。在实际应用中,所述文档恢复方法200通常是和所述文档存储方法100相对应的, 即若所述文档存储方法100中的存储文档分片采用的是根据文档分片间的索引目录将所有文档分片分别单独存放的,则对应地所述文档恢复方法200则根据所述文档分片间的索引目录将所述文档分片进行读取;若所述文档存储方法100中的存储文档分片采用是将所有文档分片进行组合以形成一完整分片结果文档,则对应地所述文档恢复方法200则将所述完整分片结果文档进行拆分以得到文档分片。上述说明已经充分揭露了本发明的具体实施方式
。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式
所做的任何改动均不脱离本发明的权利要求书的范围。 相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式

权利要求
1.一种文档存储方法,其特征在于,其包括针对一文档生成文档分片种子;根据所述文档分片种子将所述文档分成多个文档分片;和将所述文档分片种子和所述文档分片进行存储。
2.根据权利要求1所述的文档存储方法,其特征在于所述文档分片种子是根据文档的内容、属性和/或用户输入的安全信息生成的;所述文档分片种子包括文档分片数量、 每一个文档分片的大小、文档分片间的分离顺序、文档分片间的组合顺序、文档分片的存储位置和/或文档分片的加密方式。
3.根据权利要求2所述的文档存储方法,其特征在于所述多个文档分片是根据文档分片种子中文档分片数量、每一个文档分片的大小和文档分片间的分离顺序对所述文档进行分片而生成的。
4.根据权利要求3所述的文档存储方法,其特征在于将所述文档分片种子和所述文档分片进行存储包括将所述文档分片种子存储到预定位置;根据各个文档分片的存储位置将各个文档分片分别进行存储以形成多个独立文档分片文件。
5.根据权利要求4所述的文档存储方法,其特征在于所述文档分片种子还包括一文档分片间的索引目录,所述文档分片间的索引目录包括所述各个文档分片的存储位置信息。
6.根据权利要求3所述的文档存储方法,其特征在于将所述文档分片种子和所述文档分片进行存储包括将所述文档分片种子存储到预定位置;根据所述文档分片种子中文档分片间的组合顺序将文档分片组合成一个新的完整分片结果文档。
7.根据权利要求4或6所述的文档存储方法,其特征在于所述根据所述文档分片种子将所述文档分成多个文档分片后,所述方法还包括根据所述文档分片种子中文档分片的加密方式对各个文档分片进行加密处理。
8.一种基于权利要求1所述的文档存储方法的文档恢复方法,其特征在于,其包括找到一文档对应的文档分片种子;根据所述文档分片种子恢复出基于该文档分离出的文档分片;和根据所述文档分片种子和所述文档分片恢复得到原始的真实文档。
9.根据权利要求8所述的文档恢复方法,其特征在于所述根据所述文档分片种子恢复出基于该文档分离出的文档分片包括根据所述文档分片种子中文档分片间的索引目录将索引目录下的所有文档分片均恢复出来;所述根据所述文档分片种子和所述文档分片恢复得到原始的真实文档包括根据文档分片种子中分离顺序将所有文档分片进行组合以得到原始的真实文档。
10.根据权利要求9所述的文档恢复方法,其特征在于所述根据所述文档分片种子中文档分片间的索引目录将索引目录下的所有文档分片均恢复出来之后,所述方法还包括判断所述文档分片是否被加密,若被加密,则根据所述文档分片种子中文档分片间的加密方式对所述文档分片进行解密。
11.根据权利要求8所述的文档恢复方法,其特征在于所述根据所述文档分片种子恢复出基于该文档分离出的文档分片包括根据所述文档分片种子中文档分片的存储位置信息将完整分片结果文档恢复出来,然后根据文档分片种子中文档分片间的组合顺序将所述完整分片结果文档进行拆分已得到拆分后的文档分片;所述根据所述文档分片种子和所述文档分片恢复得到原始的真实文档包括根据文档分片种子中文档分片间的组合顺序将拆分后的所有文档分片进行组合以得到原始的真实文档。
12.根据权利要求11所述的文档恢复方法,其特征在于所述根据文档分片种子中文档分片间的组合顺序将所述完整分片结果文档进行拆分之后,所述方法还包括判断拆分后的所述文档分片是否进被加密,若被加密,则根据文档分片种子中文档分片间的加密方式对所述文档分片进行解密。
全文摘要
本发明提供一种文档存储方法,其包括针对一文档生成文档分片种子;根据所述文档分片种子将所述文档分成多个文档分片;和将所述文档分片种子和所述文档分片进行存储。该方法将一文档分片或重新组合成不可直接读取内容的完整分片结果文档以存放到预定位置处,存储的安全性较高。
文档编号G06F17/30GK102194014SQ20111017698
公开日2011年9月21日 申请日期2011年6月28日 优先权日2011年6月28日
发明者徐文平 申请人:无锡永中软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1