CN106230880B - 一种数据的存储方法以及应用服务器 - Google Patents
一种数据的存储方法以及应用服务器 Download PDFInfo
- Publication number
- CN106230880B CN106230880B CN201610546951.8A CN201610546951A CN106230880B CN 106230880 B CN106230880 B CN 106230880B CN 201610546951 A CN201610546951 A CN 201610546951A CN 106230880 B CN106230880 B CN 106230880B
- Authority
- CN
- China
- Prior art keywords
- file
- stored
- application server
- finger print
- print information
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据的存储方法,所述方法应用于数据处理系统中的应用服务器,所述数据处理系统还包括完整性管理服务器和数据存储服务器,所述方法包括:接收多个终端上传的待存储的文件,得到文件集合;针对所述文件集合中的各个文件生成对应的指纹信息;以各个所述指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点;将所述文件集合中的文件存储在所述数据存储服务器,将所述根节点存储在所述完整性管理服务器,以及将指纹信息包存储在所述文件集合中的各个文件对应的终端。相应的,本发明实施例还公开了一种应用服务器。采用本发明,可以减少数据存储过程所占用的存储资源,从而节省成本开销。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据的存储方法以及应用服务器。
背景技术
随着计算机技术和互联网技术的快速发展,云服务已成为目前最为火热的应用服务。应理解的,对于终端的文件,如图片、视频、音频和文本等,都可以通过APP(Application,应用程序)与位于互联网云端的服务器交互,并将这些文件存储在对应的服务器中,可见,云服务为文件的处理和存储提供了一种有效的解决方案。
对于一些云服务,服务器需要为文件生成额外的信息,这些额外的信息用于检验文件是否被篡改,即完整性校验。例如:一些涉及版权的交易网站,终端将作品上传至该网站的服务器之后,服务器会为该作品生成额外的信息,若该作品后续被篡改,则服务器便可以根据该额外的信息校验得知已被篡改,从而可以解决版权纠纷等问题;又如:一些涉及执法数据的保存网站,终端将取证照片上传至该网站的服务器之后,服务器为该取证照片生成额外的信息,若该取证照片后续被篡改,则服务器便可以根据该额外的信息校验得知已被篡改,从而可以提高执法数据的可信性。
但是,众多的终端每时每刻都在上传文件,这些海量的文件同时也将对应生成海量的额外信息,极大的占用了服务器的存储资源,增大了成本开销。因此,如何减少文件所生成的海量额外信息,又不影响文件的完整性校验,是目前亟需解决的问题。
发明内容
本发明实施例提供了一种数据的存储方法以及应用服务器,可以减少数据存储过程所占用的存储资源,从而节省成本开销。
本发明实施例第一方面提供了一种数据的存储方法,所述方法应用于数据处理系统中的应用服务器,所述数据处理系统还包括完整性管理服务器和数据存储服务器,所述完整性管理服务器和所述数据存储服务器分别与所述应用服务器建立有通信连接,所述方法包括:
所述应用服务器接收多个终端上传的待存储的文件,得到文件集合;
所述应用服务器针对所述文件集合中的各个文件生成对应的指纹信息;
所述应用服务器以各个所述指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,所述指纹树用于对所述文件集合中的文件进行完整性校验;
所述应用服务器将所述文件集合中的文件存储在所述数据存储服务器,将所述根节点存储在所述完整性管理服务器,以及将指纹信息包存储在所述文件集合中的各个文件对应的终端,所述指纹信息包至少包括与所述文件集合中目标文件关联的叶子节点和与所述文件集合中目标文件关联的枝干节点。
在第一方面的第一种可能实现方式中,所述应用服务器针对所述文件集合中的各个文件生成对应的指纹信息,包括:
所述应用服务器获取所述文件集合中的各个文件的元数据;
所述应用服务器通过哈希算法求取各个所述元数据的哈希值,以作为所述文件集合中的各个文件对应的指纹信息。
结合第一方面的第一种可能实现方式,在第二种可能实现方式中,所述文件的元数据包括以下任意一个或多个:所述文件的名称、所述文件的格式、所述文件的创建者、所述文件的创建时间、所述文件的创建位置。
在第一方面的第三种可能实现方式中,所述应用服务器接收多个终端上传的待存储的文件,包括:
所述应用服务器接收多个终端在同一时刻上传的待存储的文件。
结合第一方面的第三种可能实现方式,在第四种可能实现方式中,所述应用服务器接收多个终端在同一时刻上传的待存储的文件,包括:
所述服务器将多个所述终端在预设时间段内上传的待存储的文件,认定为多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件;
所述服务器获取多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件。
本发明实施例第二方面提供了一种应用服务器,所述应用服务器应用于数据处理系统,所述数据处理系统还包括完整性管理服务器和数据存储服务器,所述完整性管理服务器和所述数据存储服务器分别与所述应用服务器建立有通信连接,所述应用服务器包括:
文件接收模块,用于接收多个终端上传的待存储的文件,得到文件集合;
信息生成模块,用于针对所述文件集合中的各个文件生成对应的指纹信息;
节点生成模块,用于以各个所述指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,所述指纹树用于对所述文件集合中的文件进行完整性校验;
数据存储模块,用于将所述文件集合中的文件存储在所述数据存储服务器,将所述根节点存储在所述完整性管理服务器,以及将指纹信息包存储在所述文件集合中的各个文件对应的终端,所述指纹信息包至少包括与所述文件集合中目标文件关联的叶子节点和与所述文件集合中目标文件关联的枝干节点。
在第二方面的第一种可能实现方式中,所述信息生成模块包括:
数据获取单元,用于获取所述文件集合中的各个文件的元数据;
信息生成单元,用于通过哈希算法求取各个所述元数据的哈希值,以作为所述文件集合中的各个文件对应的指纹信息。
结合第二方面的第一种可能实现方式,在第二种可能实现方式中,所述文件的元数据包括以下任意一个或多个:所述文件的名称、所述文件的格式、所述文件的创建者、所述文件的创建时间、所述文件的创建位置。
在第二方面的第一种可能实现方式中,所述文件接收模块,具体用于接收多个终端在同一时刻上传的待存储的文件。
结合第二方面的第三种可能实现方式,在第四种可能实现方式中,所述文件接收模块包括:
文件认定单元,用于将多个所述终端在预设时间段内上传的待存储的文件,认定为多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件;
文件获取单元,用于获取多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件。
本发明实施例第三方面提供了一种应用服务器,包括:通信接口、存储器和处理器,其中,存储器中存储一组程序,且处理器用于调用存储器中存储的程序,执行以下操作:
接收多个终端上传的待存储的文件,得到文件集合;
针对所述文件集合中的各个文件生成对应的指纹信息;
以各个所述指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,所述指纹树用于对所述文件集合中的文件进行完整性校验;
将所述文件集合中的文件存储在所述数据存储服务器,将所述根节点存储在所述完整性管理服务器,以及将指纹信息包存储在所述文件集合中的各个文件对应的终端,所述指纹信息包至少包括与所述文件集合中目标文件关联的叶子节点和与所述文件集合中目标文件关联的枝干节点。
由上可见,本发明实施例中的数据处理系统包括完整性管理服务器和数据存储服务器,完整性管理服务器和数据存储服务器分别与应用服务器建立有通信连接,具体实现中,应用服务器接收多个终端上传的待存储的文件,得到文件集合,接着针对文件集合中的各个文件生成对应的指纹信息,再以各个指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,然后将根节点存储在完整性管理服务器,使得完整性管理服务器针对多个终端的文件只需存储一个根节点即可,极大减少了数据存储过程所占用的存储资源,从而节省成本开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据处理系统的结构示意图;
图2是本发明实施例提供的一种数据的存储方法的流程示意图;
图3是本发明实施例提供的另一种数据的存储方法的流程示意图;
图4是本发明实施例提供的一种应用服务器的结构示意图;
图5是本发明实施例提供的一种信息生成模块的结构示意图;
图6是本发明实施例提供的一种文件接收模块的结构示意图;
图7是本发明实施例提供的另一种应用服务器的结构示意图;
图8是本发明实施例提供的一种指纹树的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,如图所示本发明各个实施例中的数据处理系统包括应用服务器、完整性管理服务器和数据存储服务器。其中,应用服务器主要用于与终端(如智能手机、平板电脑、智能可穿戴设备、笔记本电脑、数字音视频播放器、电子阅读器、手持游戏机和车载电子设备等)进行交互;数据存储服务器主要用于对终端上传的文件的进行存储,可以基于NAS(Network Attached Storage,网络附属存储)架构来存储终端的文件;完整性管理服务器主要用于对数据存储服务器中存储的文件进行完整性校验。
图2是本发明实施例中一种数据的存储方法的流程示意图。如图所示本实施例中的数据的存储方法的流程可以包括:
S101,应用服务器接收多个终端上传的待存储的文件,得到文件集合。
可选的,终端通过APP连接对应的应用服务器,并通过APP向应用服务器上传待存储的文件,相应的,应用服务器接收多个终端通过APP上传的待存储的文件,得到文件集合。其中,所述待存储的文件可以是图片、视频、音频和文本等,例如发表的文章,又如取证的照片,等等。
需要指出的是,用户在终端上报待存储的文件的过程中,只需通过APP执行选择存储的简单步骤,并不需要执行完整性操作、加密操作等,具体的存储过程对用户是透明的。可见,本发明并不会额外增加用户的操作负担。
具体的,终端接收多个终端在同一时刻上传的待存储的文件,也就是说,不同时刻上传的待存储的文件会得到不同的文件集合。进一步的,应用服务器接收多个终端在同一时刻上传的待存储的文件的实现方式可以是:将多个终端在预设时间段内上传的待存储的文件,认定为多个终端在预设时间段内的同一时刻上传的待存储的文件;获取多个终端在预设时间段内的同一时刻上传的待存储的文件。例如:应用服务器将多个终端在19:00-19:01时间段内上传的文件,认定为在19:00这一时刻同时上传的文件。
S102,所述应用服务器针对所述文件集合中的各个文件生成对应的指纹信息。
其中,所述指纹信息是一种具有标识作用的信息。具体的,应用服务器先获取文件集合中的各个文件的元数据,再通过哈希算法求取各个元数据的哈希值,以作为文件集合中的各个文件对应的指纹信息。也就是说,文件的元数据发生改变后,计算得到的哈希值也会发生改变。
可选的,文件的元数据可以包括以下任意一个或多个:文件的名称、文件的格式、文件的创建者、文件的创建时间、文件的创建位置。例如:某个文档的元数据包括“我的自传”(名称)、“doc”(格式)、“user1”(创建者)、“18:30”(时间)和“D/:我的文档”(位置)。
需要指出的是,有些元数据可以从文件上直接分析得出,如名称,而有些元数据不能从文件上直接分析出,本发明实施例中,对于不能从文件上直接分析出的元数据,需要APP主动生成,并伴随着文件上报到应用服务器。
S103,所述应用服务器以各个所述指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点。
具体的,请参阅图8,应用服务器以各个指纹信息作为叶子节点(如图所示的A、B、C、D、E、F、G和H),并根据叶子节点生成指纹树的枝干节点以及指纹树的根节点。具体实现过程中,在生成文件集合的指纹树时,文件集合中各个文件的指纹信息作为所述指纹树的叶子节点,然后根据两个或者多个叶子节点(指纹信息)生成下一级的枝干节点,再以两个或者多个枝干节点(枝干节点记录的也是指纹信息)生成再下一级的枝干节点,以此类推,最终得到指纹树的根节点。由此可知,若叶子节点的指纹信息发生改变,则与之关联的枝干节点也会发生改变,根节点必定发生改变。鉴于此,指纹树可以用于对文件集合中的文件进行完整性校验,如判定文件是否被篡改过。可选的,指纹信息可以为哈希值,相应的,指纹树可以为哈希树,哈希树的生成过程可以参阅现有技术,这里不作赘述。
S104,所述应用服务器将所述文件集合中的文件存储在所述数据存储服务器,将所述根节点存储在所述完整性管理服务器,以及将指纹信息包存储在所述文件集合中的各个文件对应的终端。
具体的,应用服务器将文件集合中的文件发送至数据存储服务器,数据存储服务器存储该文件集合中的文件;应用服务器将根节点发送至完整性管理服务器,完整性管理服务器存储该根节点;应用服务器将指纹信息包发送至终端,终端存储该指纹信息包。应理解的,完整性管理服务器只需存储一个根节点,无需存储每个文件的指纹信息,因此极大减少了数据存储过程所占用的存储资源,从而节省成本开销。
需要指出的是,目标文件为终端对应上报的文件。还需要指出的是,存储在终端的指纹信息包至少包括与文件集合中目标文件关联的叶子节点和与文件集合中目标文件关联的枝干节点,使得通过目标文件的叶子节点、与目标文件关联的叶子节点以及与目标文件关联的枝干节点能够重新生成根节点。例如:请参阅图8,发送给终端A的指纹信息包至少包括与叶子节点A关联的叶子节点B,以及与叶子节点A关联的枝干节点2.2和枝干节点3.2,使得通过叶子节点A、叶子节点B、枝干节点2.2和枝干节点3.2能够重新生成根节点。其它叶子节点对应的终端的指纹信息包所包括的信息以此类推,这里不再赘述。
本发明实施例中的数据处理系统包括完整性管理服务器和数据存储服务器,完整性管理服务器和数据存储服务器分别与应用服务器建立有通信连接,具体实现中,应用服务器接收多个终端上传的待存储的文件,得到文件集合,接着针对文件集合中的各个文件生成对应的指纹信息,再以各个指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,然后将根节点存储在完整性管理服务器,使得完整性管理服务器针对多个终端的文件只需存储一个根节点即可,极大减少了数据存储过程所占用的存储资源,从而节省成本开销。
图3是本发明实施例中另一种数据的存储方法的流程示意图。如图所示本实施例中的数据的存储方法的流程可以包括:
S201,终端向应用服务器上传待存储的文件。
可选的,终端通过APP连接对应的应用服务器,并通过APP向应用服务器上传待存储的文件。
S202,应用服务器接收多个终端上传的待存储的文件,得到文件集合。
其中,所述待存储的文件可以是图片、视频、音频和文本等,例如发表的文章,又如取证的照片,等等。
需要指出的是,用户在终端上报待存储的文件的过程中,只需通过APP执行选择存储的简单步骤,并不需要执行完整性操作、加密操作等,具体的存储过程对用户是透明的。可见,本发明并不会额外增加用户的操作负担。
具体的,终端接收多个终端在同一时刻上传的待存储的文件,也就是说,不同时刻上传的待存储的文件会得到不同的文件集合。进一步的,应用服务器接收多个终端在同一时刻上传的待存储的文件的实现方式可以是:将多个终端在预设时间段内上传的待存储的文件,认定为多个终端在预设时间段内的同一时刻上传的待存储的文件;获取多个终端在预设时间段内的同一时刻上传的待存储的文件。例如:应用服务器将多个终端在19:00-19:01时间段内上传的文件,认定为在19:00这一时刻同时上传的文件。
S203,应用服务器针对所述文件集合中的各个文件生成对应的指纹信息。
其中,所述指纹信息是一种具有标识作用的信息。具体的,应用服务器先获取文件集合中的各个文件的元数据,再通过哈希算法求取各个元数据的哈希值,以作为文件集合中的各个文件对应的指纹信息。也就是说,文件的元数据发生改变后,计算得到的哈希值也会发生改变。
可选的,文件的元数据可以包括以下任意一个或多个:文件的名称、文件的格式、文件的创建者、文件的创建时间、文件的创建位置。例如:某个文档的元数据包括“我的自传”(名称)、“doc”(格式)、“user1”(创建者)、“18:30”(时间)和“D/:我的文档”(位置)。
需要指出的是,有些元数据可以从文件上直接分析得出,如名称,而有些元数据不能从文件上直接分析出,本发明实施例中,对于不能从文件上直接分析出的元数据,需要APP主动生成,并伴随着文件上报到应用服务器。
S204,应用服务器以各个所述指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点。
具体的,请参阅图8,应用服务器以各个指纹信息作为叶子节点(如图所示的A、B、C、D、E、F、G和H),并根据叶子节点生成指纹树的枝干节点以及指纹树的根节点。具体实现过程中,在生成文件集合的指纹树时,文件集合中各个文件的指纹信息作为所述指纹树的叶子节点,然后根据两个或者多个叶子节点(指纹信息)生成下一级的枝干节点,再以两个或者多个枝干节点(枝干节点记录的也是指纹信息)生成再下一级的枝干节点,以此类推,最终得到指纹树的根节点。由此可知,若叶子节点的指纹信息发生改变,则与之关联的枝干节点也会发生改变,根节点必定发生改变。鉴于此,指纹树可以用于对文件集合中的文件进行完整性校验,如判定文件是否被篡改过。可选的,指纹信息可以为哈希值,相应的,指纹树可以为哈希树,哈希树的生成过程可以参阅现有技术,这里不作赘述。
S205,应用服务器将所述文件集合中的文件发送至数据存储服务器。
S206,数据存储服务器存储所述文件集合中的文件。
具体的,数据存储服务器接收应用服务器发送的文件集合中的文件,并存储该文件集合中的文件。
S207,应用服务器将所述根节点发送至所述完整性管理服务器。
S208,完整性管理服务器存储所述根节点。
具体的,完整性管理服务器接收应用服务器发送的根节点,并存储该根节点。应理解的,完整性管理服务器只需存储一个根节点,无需存储每个文件的指纹信息,因此极大减少了数据存储过程所占用的存储资源,从而节省成本开销。
S209,应用服务器将指纹信息包发送至所述文件集合中的目标文件对应的终端。
需要指出的是,目标文件为终端对应上报的文件。还需要指出的是,发送给终端的指纹信息包至少包括与文件集合中目标文件关联的叶子节点和与文件集合中目标文件关联的枝干节点,使得通过目标文件的叶子节点、与目标文件关联的叶子节点以及与目标文件关联的枝干节点能够重新生成根节点。例如:请参阅图8,发送给终端A的指纹信息包至少包括与叶子节点A关联的叶子节点B,以及与叶子节点A关联的枝干节点2.2和枝干节点3.2,使得通过叶子节点A、叶子节点B、枝干节点2.2和枝干节点3.2能够重新生成根节点。其它叶子节点对应的终端的指纹信息包所包括的信息以此类推,这里不再赘述。
S210,终端存储所述指纹信息包。
具体的,完整性管理服务器接收应用服务器发送的文件集合中的目标文件,并存储该根节点。
S211,终端向应用服务器上传存储在终端的目标文件和指纹信息包。
可选的,当用户想要对存储在终端的目标文件进行完整性校验时,通过APP向应用服务器上传存储在终端的目标文件和指纹信息包。
S212,应用服务器将存储在终端的目标文件和指纹信息包发送至完整性管理服务器。
具体的,应用服务器接收到目标文件和指纹信息包之后,将其转发至完整性管理服务器。
S213,完整性管理服务器根据指纹信息包和根节点,对所述存储在终端的目标文件进行完整性校验。
例如:假设用户上报的目标文件已被篡改,那么目标文件的元数据发生改变(如创建时间发生改变),进而得到的叶子节点A的指纹信息将会发生改变,从而通过叶子节点A、叶子节点B、枝干节点2.2和枝干节点2.3重新生成的根节点发生改变,最终与存储在完整性管理服务器的原始根节点不一致,即结果为“不完整”,实现了完整性校验。
本发明实施例中的数据处理系统包括完整性管理服务器和数据存储服务器,完整性管理服务器和数据存储服务器分别与应用服务器建立有通信连接,具体实现中,应用服务器接收多个终端上传的待存储的文件,得到文件集合,接着针对文件集合中的各个文件生成对应的指纹信息,再以各个指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,然后将根节点存储在完整性管理服务器,使得完整性管理服务器针对多个终端的文件只需存储一个根节点即可,极大减少了数据存储过程所占用的存储资源,从而节省成本开销。
图4是本发明实施例中应用服务器的结构示意图。如图所示本发明实施例中的应用服务器至少可以包括文件接收模块310、信息生成模块320、节点生成模块330以及数据存储模块340,其中:
文件接收模块310,用于接收多个终端上传的待存储的文件,得到文件集合。具体实现中,文件接收模块310可以如图5所示进一步包括文件认定单元311和文件获取单元312,其中:
文件认定单元311,用于将多个所述终端在预设时间段内上传的待存储的文件,认定为多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件;
文件获取单元312,用于获取多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件。
信息生成模块320,用于针对所述文件集合中的各个文件生成对应的指纹信息。具体实现中,信息生成模块320可以如图6所示进一步包括数据获取单元321和信息生成单元322,其中:
数据获取单元321,用于获取所述文件集合中的各个文件的元数据。
信息生成单元322,用于通过哈希算法求取各个所述元数据的哈希值,以作为所述文件集合中的各个文件对应的指纹信息。
节点生成模块330,用于以各个所述指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,所述指纹树用于对所述文件集合中的文件进行完整性校验。
数据存储模块340,用于将所述文件集合中的文件存储在所述数据存储服务器,将所述根节点存储在所述完整性管理服务器,以及将指纹信息包存储在所述文件集合中的各个文件对应的终端,所述指纹信息包至少包括与所述文件集合中目标文件关联的叶子节点和与所述文件集合中目标文件关联的枝干节点。
图7是本发明实施例中的另一种应用服务器的结构示意图,如图7所示,该应用服务器可以包括:至少一个处理器401,例如CPU,至少一个通信总线402,至少一个通信接口403,存储器404。其中,通信总线402用于实现这些组件之间的连接通信;通信接口403用于与其它设备进行通信;存储器404可以是高速RAM存储器,也可以是非易失的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器404还可以是至少一个位于远离前述处理器401的存储装置。存储器404中存储一组程序代码,处理器401用于调用存储器404中存储的程序代码,执行以下操作:
接收多个终端上传的待存储的文件,得到文件集合;
针对所述文件集合中的各个文件生成对应的指纹信息;
以各个所述指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,所述指纹树用于对所述文件集合中的文件进行完整性校验;
将所述文件集合中的文件存储在所述数据存储服务器,将所述根节点存储在所述完整性管理服务器,以及将指纹信息包存储在所述文件集合中的各个文件对应的终端,所述指纹信息包至少包括与所述文件集合中目标文件关联的叶子节点和与所述文件集合中目标文件关联的枝干节点。
可选的,所述处理器401针对所述文件集合中的各个文件生成对应的指纹信息的具体操作为:
获取所述文件集合中的各个文件的元数据;
通过哈希算法求取各个所述元数据的哈希值,以作为所述文件集合中的各个文件对应的指纹信息。
进一步的,所述文件的元数据包括以下任意一个或多个:所述文件的名称、所述文件的格式、所述文件的创建者、所述文件的创建时间、所述文件的创建位置。
又可选的,所述处理器401接收多个终端上传的待存储的文件的具体操作为:
接收多个终端在同一时刻上传的待存储的文件。
进一步的,所述处理器401接收多个终端在同一时刻上传的待存储的文件的具体操作为:
将多个所述终端在预设时间段内上传的待存储的文件,认定为多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件;
获取多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件。
本发明实施例还提出了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序包括若干指令用以执行本发明实施例图2-图3所描述的数据的存储方法中的部分或全部的步骤。
本发明实施例中的数据处理系统包括完整性管理服务器和数据存储服务器,完整性管理服务器和数据存储服务器分别与应用服务器建立有通信连接,具体实现中,应用服务器接收多个终端上传的待存储的文件,得到文件集合,接着针对文件集合中的各个文件生成对应的指纹信息,再以各个指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,然后将根节点存储在完整性管理服务器,使得完整性管理服务器针对多个终端的文件只需存储一个根节点即可,极大减少了数据存储过程所占用的存储资源,从而节省成本开销。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种数据的存储方法,其特征在于,所述方法应用于数据处理系统中的应用服务器,所述数据处理系统还包括完整性管理服务器和数据存储服务器,所述完整性管理服务器和所述数据存储服务器分别与所述应用服务器建立有通信连接,所述方法包括:
所述应用服务器接收多个终端上传的待存储的文件,得到文件集合;
所述应用服务器针对所述文件集合中的各个文件生成对应的指纹信息;
所述应用服务器以各个所述指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,所述指纹树用于对所述文件集合中的文件进行完整性校验;
所述应用服务器将所述文件集合中的文件存储在所述数据存储服务器,将所述根节点存储在所述完整性管理服务器,以及将指纹信息包存储在所述文件集合中的各个文件对应的终端,所述指纹信息包至少包括与所述文件集合中目标文件关联的叶子节点和与所述文件集合中目标文件关联的枝干节点。
2.如权利要求1所述的方法,其特征在于,所述应用服务器针对所述文件集合中的各个文件生成对应的指纹信息,包括:
所述应用服务器获取所述文件集合中的各个文件的元数据;
所述应用服务器通过哈希算法求取各个所述元数据的哈希值,以作为所述文件集合中的各个文件对应的指纹信息。
3.如权利要求2所述的方法,其特征在于,所述文件的元数据包括以下任意一个或多个:所述文件的名称、所述文件的格式、所述文件的创建者、所述文件的创建时间、所述文件的创建位置。
4.如权利要求1所述的方法,其特征在于,所述应用服务器接收多个终端上传的待存储的文件,包括:
所述应用服务器接收多个终端在同一时刻上传的待存储的文件。
5.如权利要求4所述的方法,其特征在于,所述应用服务器接收多个终端在同一时刻上传的待存储的文件,包括:
所述应用服务器将多个所述终端在预设时间段内上传的待存储的文件,认定为多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件;
所述应用服务器获取多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件。
6.一种应用服务器,其特征在于,所述应用服务器应用于数据处理系统,所述数据处理系统还包括完整性管理服务器和数据存储服务器,所述完整性管理服务器和所述数据存储服务器分别与所述应用服务器建立有通信连接,所述应用服务器包括:
文件接收模块,用于接收多个终端上传的待存储的文件,得到文件集合;
信息生成模块,用于针对所述文件集合中的各个文件生成对应的指纹信息;
节点生成模块,用于以各个所述指纹信息作为叶子节点,并根据叶子节点的指纹信息生成指纹树的枝干节点以及指纹树的根节点,所述指纹树用于对所述文件集合中的文件进行完整性校验;
数据存储模块,用于将所述文件集合中的文件存储在所述数据存储服务器,将所述根节点存储在所述完整性管理服务器,以及将指纹信息包存储在所述文件集合中的各个文件对应的终端,所述指纹信息包至少包括与所述文件集合中目标文件关联的叶子节点和与所述文件集合中目标文件关联的枝干节点。
7.如权利要求6所述的应用服务器,其特征在于,所述信息生成模块包括:
数据获取单元,用于获取所述文件集合中的各个文件的元数据;
信息生成单元,用于通过哈希算法求取各个所述元数据的哈希值,以作为所述文件集合中的各个文件对应的指纹信息。
8.如权利要求7所述的应用服务器,其特征在于,所述文件的元数据包括以下任意一个或多个:所述文件的名称、所述文件的格式、所述文件的创建者、所述文件的创建时间、所述文件的创建位置。
9.如权利要求6所述的应用服务器,其特征在于,所述文件接收模块,具体用于接收多个终端在同一时刻上传的待存储的文件。
10.如权利要求9所述的应用服务器,其特征在于,所述文件接收模块包括:
文件认定单元,用于将多个所述终端在预设时间段内上传的待存储的文件,认定为多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件;
文件获取单元,用于获取多个所述终端在所述预设时间段内的同一时刻上传的待存储的文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610546951.8A CN106230880B (zh) | 2016-07-12 | 2016-07-12 | 一种数据的存储方法以及应用服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610546951.8A CN106230880B (zh) | 2016-07-12 | 2016-07-12 | 一种数据的存储方法以及应用服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106230880A CN106230880A (zh) | 2016-12-14 |
CN106230880B true CN106230880B (zh) | 2019-05-28 |
Family
ID=57519035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610546951.8A Active CN106230880B (zh) | 2016-07-12 | 2016-07-12 | 一种数据的存储方法以及应用服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106230880B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145651B (zh) * | 2018-08-22 | 2021-12-28 | 何晓行 | 一种数据处理方法及装置 |
CN110445811A (zh) * | 2019-09-16 | 2019-11-12 | 秒针信息技术有限公司 | 用于非云存储的数据管理系统、方法、服务器和存储介质 |
CN116028444B (zh) * | 2022-12-30 | 2023-10-20 | 北京明朝万达科技股份有限公司 | 文件指纹生成方法、装置、系统、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019988B2 (en) * | 2005-08-22 | 2011-09-13 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of The University Of Oregon | Security protocols for hybrid peer-to-peer file sharing networks |
CN102413313A (zh) * | 2010-09-26 | 2012-04-11 | 索尼公司 | 数据完整性验证信息生成方法和装置、数据完整性验证方法和装置 |
US8805793B2 (en) * | 2012-08-08 | 2014-08-12 | Amazon Technologies, Inc. | Data storage integrity validation |
CN103218574A (zh) * | 2013-04-09 | 2013-07-24 | 电子科技大学 | 一种基于哈希树的数据动态操作可验证性方法 |
-
2016
- 2016-07-12 CN CN201610546951.8A patent/CN106230880B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106230880A (zh) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3646529B1 (en) | System and method for managing a public software component ecosystem using a distributed ledger | |
CN108111585B (zh) | 基于区块链的分布式存储方法 | |
CN103078881B (zh) | 网络资源下载信息的分享控制系统和方法 | |
CN107767478A (zh) | 一种保存工作记录的方法及装置 | |
CN108230047B (zh) | 抽奖数据处理方法及装置 | |
CN102752388B (zh) | 基于浏览器的交互系统、方法、浏览器和云端服务器 | |
US20180137199A1 (en) | Targeted collection and storage of online social network data in evidence domains | |
CN106100902A (zh) | 云端指标监控方法和装置 | |
CN105743988B (zh) | 网络用户追踪实现方法、装置及系统 | |
CN110659134A (zh) | 一种应用于人工智能平台的数据处理方法及装置 | |
CN106230880B (zh) | 一种数据的存储方法以及应用服务器 | |
CN103678463B (zh) | 将元数据与媒体对象相关联的方法和装置 | |
CN105027106B (zh) | 使用管理元数据在云计算环境中管理数据 | |
CN113326165B (zh) | 基于区块链的数据处理方法、设备及计算机可读存储介质 | |
Acker et al. | Tweets may be archived: civic engagement, digital preservation and Obama White House social media data | |
CN110232633A (zh) | 一种电子签约方法、装置、存储介质和服务器 | |
CN106326082A (zh) | 网络系统中记录日志的方法和装置 | |
CN101615206A (zh) | 提供元数据的系统和方法 | |
CN106203179B (zh) | 一种对文件的完整性校验系统及方法 | |
CN102932476B (zh) | 网络存储同步系统 | |
CN105184559B (zh) | 一种支付系统及方法 | |
CN106130880A (zh) | 网络邮件数据的搜集方法及系统 | |
CN110472128A (zh) | 基于图像识别的网页取证方法、装置、存储介质及服务器 | |
CN112287403B (zh) | 基于区块链的电子卷宗管理方法、装置、电子设备及介质 | |
Hwang et al. | Efficient real-time auditing and proof of violation for cloud storage systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |