CN110209666B - 一种数据存储方法及终端设备 - Google Patents
一种数据存储方法及终端设备 Download PDFInfo
- Publication number
- CN110209666B CN110209666B CN201910269375.0A CN201910269375A CN110209666B CN 110209666 B CN110209666 B CN 110209666B CN 201910269375 A CN201910269375 A CN 201910269375A CN 110209666 B CN110209666 B CN 110209666B
- Authority
- CN
- China
- Prior art keywords
- storage
- information
- target data
- data
- generating
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000015654 memory Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据存储方法、终端设备。其中,所述方法包括:获取待存储的目标数据;从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的存储节点;将所述目标数据存储至所述存储节点;将所述目标数据的存储信息存储至所述存储网络数据库的各个节点。相较于现有技术,本申请提供的数据存储方法可以有效提高数据存储的安全性和可追溯性,且具备较高的访问效率。
Description
技术领域
本申请涉及数据存储技术领域,具体涉及一种数据存储方法、终端设备。
背景技术
随着互联网技术的快速发展和大数据时代的到来,数据的重要性越来越高,相应的,对数据存储技术的要求也越来越高,尤其对于数据存储的真实性、不易失性、不可篡改性和可追溯性提出了越来越高的要求。
目前,数据存储主要依赖于数据服务器实现,这是一种高度中心化的存储方式,在遭受到黑客入侵、管理者篡改等非法事件后,可能被恶意篡改而不被用户察觉,从而给数据的用户带来严重的损失。
而且,随着网络存储技术的快速发展,网络数据库中的节点越来越多,大量的非专用节点和多重网络节点在受到奖励机制的激励下加入到网络数据库中,但这些节点存在较大的不稳定性,容易发生离线的情况,从而导致如果使用该节点存储数据可能会面临存储的数据在需要访问时不可读取的问题,影响数据访问效率。
因此,如何提高网络数据存储技术的安全性、便捷性,从而提供一种安全性更高的、可追溯的、且具备较高访问效率的数据存储方案,已成为迫切解决的问题。
发明内容
鉴于上述问题,本申请提供一种数据存储方法、装置、终端设备及计算机可读介质。
本申请第一方面提供一种数据存储方法,包括:
获取待存储的目标数据;
从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的存储节点;
将所述目标数据存储至所述存储节点;
将所述目标数据的存储信息存储至所述存储网络数据库的各个节点。
在本申请第一方面的一些变更实施方式中,所述从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的存储节点,包括:
从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的多个备选节点;
采用共识机制从所述多个备选节点中选出用于存储所述目标数据的存储节点。
在本申请第一方面的一些变更实施方式中,所述从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的多个备选节点,包括:
确定目标数据的预计访问时间;
确定所述存储网络数据库中各个节点的预计在线时间;
分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度;
选取匹配度最高的多个所述节点作为备选节点。
在本申请第一方面的一些变更实施方式中,所述分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度,包括:
采用以下公式分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度:
其中,
a=x1-x0
上式中,σ表示匹配度,m表示修正系数,a表示预计访问时间的时长,b表示预计访问时间与预计在线时间的重合时长,c表示预计访问时间中点与预计在线时间中点间的偏移量,x0和x1分别表示预计访问时间的起始时间点和终止时间点,y0和y1分别表示预计在线时间的起始时间点和终止时间点。
在本申请第一方面的一些变更实施方式中,所述将所述目标数据的存储信息存储至所述存储网络数据库的各个节点,包括:
生成所述目标数据的存储信息;
根据所述存储信息生成数据集合;
将所述数据集合存储至所述存储网络数据库的各个节点。
在本申请第一方面的一些变更实施方式中,所述生成所述目标数据的存储信息,包括:
生成所述目标数据的指纹信息;
根据所述指纹信息和存储所述目标数据的存储节点的节点标识,生成所述目标数据的存储信息。
在本申请第一方面的一些变更实施方式中,所述生成所述目标数据的指纹信息,包括:
获取所述目标数据的数据标识;以及,
采用消息摘要算法生成所述目标数据的摘要信息;
根据所述数据标识和所述摘要信息生成所述目标数据的指纹信息。
在本申请第一方面的一些变更实施方式中,所述根据所述存储信息生成数据集合,包括:
根据所述目标数据的数据标识或摘要信息,在所述存储网络数据库中查找所述目标数据的历史存储数据集合;
生成所述历史存储数据集合的摘要信息;
根据所述存储信息和所述历史存储数据集合的摘要信息,生成存储数据集。
在本申请第一方面的一些变更实施方式中,所述根据所述存储信息生成数据集合,包括:
在所述存储网络数据库中查找上一次存储事件对应的数据集合;
生成所述上一次存储事件对应的数据集合的摘要信息;
根据所述存储信息和所述上一次存储事件对应的数据集合的摘要信息,生成存储数据集。
本申请第二方面提供一种数据存储装置,包括:
目标数据获取模块,用于获取待存储的目标数据;
存储节点确定模块,用于从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的存储节点;
目标数据存储模块,用于将所述目标数据存储至所述存储节点;
存储信息分发模块,用于将所述目标数据的存储信息存储至所述存储网络数据库的各个节点。
在本申请第二方面的一些变更实施方式中,所述存储节点确定模块,包括:
备选节点确定单元,用于从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的多个备选节点;
存储节点确定单元,用于采用共识机制从所述多个备选节点中选出用于存储所述目标数据的存储节点。
在本申请第二方面的一些变更实施方式中,所述备选节点确定单元,包括:
访问时间确定子单元,用于确定目标数据的预计访问时间;
在线时间确定子单元,用于确定所述存储网络数据库中各个节点的预计在线时间;
匹配度计算子单元,用于分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度;
备选节点选取子单元,用于选取匹配度最高的多个所述节点作为备选节点。
在本申请第二方面的一些变更实施方式中,所述匹配度计算子单元,具体采用以下公式分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度:
其中,
a=x1-x0
上式中,σ表示匹配度,m表示修正系数,a表示预计访问时间的时长,b表示预计访问时间与预计在线时间的重合时长,c表示预计访问时间中点与预计在线时间中点间的偏移量,x0和x1分别表示预计访问时间的起始时间点和终止时间点,y0和y1分别表示预计在线时间的起始时间点和终止时间点。
在本申请第二方面的一些变更实施方式中,所述存储信息分发模块,包括:
存储信息生成单元,用于生成所述目标数据的存储信息;
数据集合生成单元,用于根据所述存储信息生成数据集合;
数据集合存储单元,用于将所述数据集合存储至所述存储网络数据库的各个节点。
在本申请第二方面的一些变更实施方式中,所述存储信息生成单元,包括:
指纹生成子单元,用于生成所述目标数据的指纹信息;
存储信息生成子单元,用于根据所述指纹信息和存储所述目标数据的存储节点的节点标识,生成所述目标数据的存储信息。
在本申请第二方面的一些变更实施方式中,所述指纹生成子单元,包括:
数据标识获取子单元,用于获取所述目标数据的数据标识;以及,
摘要信息生成子单元,用于采用消息摘要算法生成所述目标数据的摘要信息;
指纹信息生成子单元,用于根据所述数据标识和所述摘要信息生成所述目标数据的指纹信息。
在本申请第二方面的一些变更实施方式中,所述数据集合生成单元,包括:
历史数据集查询子单元,用于根据所述目标数据的数据标识或摘要信息,在所述存储网络数据库中查找所述目标数据的历史存储数据集合;
历史数据集摘要子单元,用于生成所述历史存储数据集合的摘要信息;
第一数据集生成子单元,用于根据所述存储信息和所述历史存储数据集合的摘要信息,生成存储数据集。
在本申请第二方面的一些变更实施方式中,所述数据集合生成单元,包括:
在先存储查询子单元,用于在所述存储网络数据库中查找上一次存储事件对应的数据集合;
在先存储摘要子单元,用于生成所述上一次存储事件对应的数据集合的摘要信息;
第一数据集生成子单元,用于根据所述存储信息和所述上一次存储事件对应的数据集合的摘要信息,生成存储数据集。
本申请第三方面提供一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行本申请第一方面所述的方法。
本申请第四方面提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行本申请第一方面所述的方法。
本申请第一方面提供的数据存储方法,包括:获取待存储的目标数据;从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的存储节点;将所述目标数据存储至所述存储节点;将所述目标数据的存储信息存储至所述存储网络数据库的各个节点。相较于现有技术,本申请提供的数据存储方法,只需要将目标数据存储至存储网络数据库中的存储节点上,然后将所述目标数据的存储信息存储至所述存储网络数据库的各个节点,使得所述存储网络数据库的各个节点成为所述目标数据真伪的见证节点,由于所述存储信息不可能被轻易删除或篡改,从而可以确保目标数据的可追溯性和真实性。此外,本申请实施方式在选择存储节点时充分考量了目标数据的预计访问时间与存储节点的预计在线时间相匹配的问题,从而可以有效避免因存储节点离线而导致数据不可访问的情况,确保了数据访问效率。综上,本申请第一方面提供的数据存储方法可以有效提高数据存储的安全性和可追溯性,且具备较高的访问效率。
本申请第二方面提供的数据存储装置、第三方面提供的终端设备以及第四方面提供的计算机可读介质,与上述第一方面提供的数据存储方法出于相同的发明构思,具有相同的有益效果。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施方式所提供的一种数据存储方法的流程图;
图2示出了本申请实施方式所提供的一种数据存储装置的示意图;
图3示出了本申请实施方式所提供的一种终端设备的示意图;
图4示出了本申请实施方式所提供的一种计算机可读介质的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施方式提供了一种数据存储方法、装置、终端设备及计算机可读介质。下面结合附图对本申请的实施例进行说明。
请参考图1,其示出了本申请实施方式所提供的一种数据存储方法的流程图,所述数据存储方法,包括以下步骤:
步骤S101:获取待存储的目标数据。
步骤S102:从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的存储节点。
本申请实施例中,在所述存储网络数据库中,目标数据可以存储于所述存储网络数据库的任意一个或多个节点,用于存储所述目标数据的节点可以暂称为存储节点,同时所述目标数据的存储信息则会存储于所述存储网络数据库的各个节点,而不会导致增大网络传输开销和提高各节点存储容量需求等问题,提供一种安全性更高的、可追溯的数据存储方案。
在一些实施方式中,所述从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的存储节点,可以包括:
从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的多个备选节点;
采用共识机制从所述多个备选节点中选出用于存储所述目标数据的存储节点。
其中,所述共识机制可以使用现有技术中的任意共识算法实现,本申请不做限定。
通过上述实施方式,可以先选出时间匹配的多个备选节点,然后再利用共识机制从所述多个备选节点中选出存储节点,从而可以减少参与共识的节点数量,提高效率。
在一些实施方式中,所述从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的多个备选节点,可以包括:
确定目标数据的预计访问时间;
确定所述存储网络数据库中各个节点的预计在线时间;
分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度;
选取匹配度最高的多个所述节点作为备选节点。
其中,所述目标数据的预计访问时间可以根据所述目标数据的属性信息和历史访问数据等确定,例如目标数据是某公司的办公数据,那么其预计访问时间则为工作日的工作时间,诸如此类,本实施例不再一一举例赘述。
所述各个节点的预计在线时间可以根据各所述节点的属性信息、历史在线数据和使用规划等确定,例如,对于某多重网络节点(可以参与多个网络数据库的节点,但需要按规定在各个网络数据库之间切换),其在本存储网络数据库的预计在线时间可以根据预先设定的切换规则、切换时间等确定;又如,某些节点的属性信息中已经记载了其在线时间,可以据此直接确定所述预计在线时间;再如,还可以根据节点的历史在线数据,通过统计确定该节点的预计在线时间,本申请实施例不再一一赘述,其均应在本申请的保护范围之内
在一些实施方式中,所述分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度,可以包括:
采用以下公式分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度:
其中,
a=x1-x0
上式中,σ表示匹配度,m表示修正系数,a表示预计访问时间的时长,b表示预计访问时间与预计在线时间的重合时长,c表示预计访问时间中点与预计在线时间中点间的偏移量,x0和x1分别表示预计访问时间的起始时间点和终止时间点,y0和y1分别表示预计在线时间的起始时间点和终止时间点。
通过上述实施方式,可以有效地确定节点的预计在线时间与目标数据的预计访问时间的匹配度,匹配度越高,上述预计在线时间和所述预计访问时间越重合,这样选出来的匹配度较高的节点被进一步确定为存储节点后,访问该目标数据时,该存储节点在线的概率也会较高,从而有效避免数据不可读取的问题。且由于引入的修正系数m,该修正系数充分考虑了预计在线时间和所述预计访问时间彼此偏移的因素影响,使得选出的匹配度较高的节点,不仅预计在线时间和所述目标数据的预计访问时间重合度较高,且二者的时长也相差较小,实现更加精准的匹配,使得节点即使在线时间很长也并不一定会被选为备选节点,解决长期在线的节点与所有数据的时间匹配度都较高的问题,以及进而导致的所有数据都有可能被存储到长期在线的节点的概率,实现精准化、差异化的数据存储。
步骤S103:将所述目标数据存储至所述存储节点。
步骤S104:将所述目标数据的存储信息存储至所述存储网络数据库的各个节点。
在一些实施方式中,所述将所述目标数据的存储信息存储至所述存储网络数据库的各个节点,可以包括:
生成所述目标数据的存储信息;
根据所述存储信息生成数据集合;
将所述数据集合存储至所述存储网络数据库的各个节点。
上述实施例,可以采用网络数据存储技术实现,例如,根据存储信息生成数据集合,所述数据集合可以为包含于其他数据集合的链接信息的数据集合,从而将各个数据集合链接起来形成分布式存储的大数据集,确保所述存储信息在存储后的不可篡改性和可追溯性。
在一些实施方式中,所述生成所述目标数据的存储信息,可以包括:
生成所述目标数据的指纹信息;
根据所述指纹信息和存储所述目标数据的存储节点的节点标识,生成所述目标数据的存储信息。
其中,在一些实施方式中,所述生成所述目标数据的指纹信息,可以包括:
获取所述目标数据的数据标识;以及,
采用消息摘要算法生成所述目标数据的摘要信息;
根据所述数据标识和所述摘要信息生成所述目标数据的指纹信息。
其中,所述目标数据的指纹信息可以采用信息摘要算法例如MD5算法等生成,本申请实施例不做限定。由于需要将数据集合在各个节点中进行存储或备份,其不适于对数据量较大(例如,MB、GB以上数据大小的数据其数据量较大)的目标数据进行在存储网络数据库的各个节点进行存储,为了解决上述问题,本申请实施例中,将目标数据存储至网络数据库中的至少一个存储节点中,然后将目标数据的存储信息进行分布式存储,由于所述指纹信息的大小可以远远小于目标数据的大小,因此所述存储信息的大小可以确保对所述存储信息进行分布式存储,由于所述存储信息中含有所述目标数据的指纹信息,因此,所述存储信息可以有效地用于对目标数据的真伪进行辨识,从而确保所述目标数据的真实性和可追溯性。
综上,通过上述实施方式,可以利用所述指纹信息采用较小的数据量实现分布式存储以及对目标数据真实性的见证。
在一些实施方式中,所述根据所述存储信息生成数据集合,可以包括:
根据所述目标数据的数据标识或摘要信息,在所述存储网络数据库中查找所述目标数据的历史存储数据集合;
生成所述历史存储数据集合的摘要信息;
根据所述存储信息和所述历史存储数据集合的摘要信息,生成存储数据集。
通过上述实施方式,在生成存储数据集时,首先查询所述目标数据的历史存储数据集合,然后利用所述存储信息和所述历史存储数据集合的摘要信息生成存储数据集,从而将目标数据的当前版本与历史版本进行关联,形成分布式存储的大数据集,实现对目标数据的修改历史的追溯。
在一些实施方式中,所述根据所述存储信息生成数据集合,可以包括:
在所述存储网络数据库中查找上一次存储事件对应的数据集合;
生成所述上一次存储事件对应的数据集合的摘要信息;
根据所述存储信息和所述上一次存储事件对应的数据集合的摘要信息,生成存储数据集。
通过上述实施方式,在生成存储数据集时,首先查询所述存储网络数据库中上一次存储事件对应的数据集合,然后利用所述存储信息和所述上一次存储事件对应的数据集合的摘要信息生成存储数据集,从而将所述存储网络数据库中的各个存储事件的存储信息关联起来,形成分布式存储的大数据集,从而确保所述存储信息的不可篡改性和可追溯性,由于所述存储信息是用于对目标数据进行辨识或见证的,因此,可以进一步确保所述目标数据的可追溯性。
相较于现有技术,本申请提供的数据存储方法,只需要将目标数据存储至存储网络数据库中的存储节点上,然后将所述目标数据的存储信息存储至所述存储网络数据库的各个节点,使得所述存储网络数据库的各个节点成为所述目标数据真伪的见证节点,由于所述存储信息不可能被轻易删除或篡改,从而可以确保目标数据的可追溯性和真实性。此外,本申请实施方式在选择存储节点时充分考量了目标数据的预计访问时间与存储节点的预计在线时间相匹配的问题,从而可以有效避免因存储节点离线而导致数据不可访问的情况,确保了数据访问效率。综上,本申请实施例提供的数据存储方法可以有效提高数据存储的安全性和可追溯性,且具备较高的访问效率。
本申请还提供一种数据存储装置。所述的装置可以包括使用了本申请所述数据存储方法的***(包括分布式***)、软件(应用)、模块、组件、服务器、客户端、量子计算机等并结合必要的实施硬件的装置。基于同一创新构思,本申请提供的一种实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本申请具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体的,图2是本申请提供的一种数据存储装置实施例的模块结构示意图,如图2所示,所述数据存储装置10,可以包括:
目标数据获取模块101,用于获取待存储的目标数据;
存储节点确定模块102,用于从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的存储节点;
目标数据存储模块103,用于将所述目标数据存储至所述存储节点;
存储信息分发模块104,用于将所述目标数据的存储信息存储至所述存储网络数据库的各个节点。
在本申请实施例的一些变更实施方式中,所述存储节点确定模块102,包括:
备选节点确定单元,用于从存储网络数据库中确定预计在线时间与所述目标数据的预计访问时间相匹配的多个备选节点;
存储节点确定单元,用于采用共识机制从所述多个备选节点中选出用于存储所述目标数据的存储节点。
在本申请实施例的一些变更实施方式中,所述备选节点确定单元,包括:
访问时间确定子单元,用于确定目标数据的预计访问时间;
在线时间确定子单元,用于确定所述存储网络数据库中各个节点的预计在线时间;
匹配度计算子单元,用于分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度;
备选节点选取子单元,用于选取匹配度最高的多个所述节点作为备选节点。
在本申请实施例的一些变更实施方式中,所述匹配度计算子单元,具体采用以下公式分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度:
其中,
a=x1-x0
上式中,σ表示匹配度,m表示修正系数,a表示预计访问时间的时长,b表示预计访问时间与预计在线时间的重合时长,c表示预计访问时间中点与预计在线时间中点间的偏移量,x0和x1分别表示预计访问时间的起始时间点和终止时间点,y0和y1分别表示预计在线时间的起始时间点和终止时间点。
在本申请实施例的一些变更实施方式中,所述存储信息分发模块104,包括:
存储信息生成单元,用于生成所述目标数据的存储信息;
数据集合生成单元,用于根据所述存储信息生成数据集合;
数据集合存储单元,用于将所述数据集合存储至所述存储网络数据库的各个节点。
在本申请实施例的一些变更实施方式中,所述存储信息生成单元,包括:
指纹生成子单元,用于生成所述目标数据的指纹信息;
存储信息生成子单元,用于根据所述指纹信息和存储所述目标数据的存储节点的节点标识,生成所述目标数据的存储信息。
在本申请实施例的一些变更实施方式中,所述指纹生成子单元,包括:
数据标识获取子单元,用于获取所述目标数据的数据标识;以及,
摘要信息生成子单元,用于采用消息摘要算法生成所述目标数据的摘要信息;
指纹信息生成子单元,用于根据所述数据标识和所述摘要信息生成所述目标数据的指纹信息。
在本申请实施例的一些变更实施方式中,所述数据集合生成单元,包括:
历史数据集查询子单元,用于根据所述目标数据的数据标识或摘要信息,在所述存储网络数据库中查找所述目标数据的历史存储数据集合;
历史数据集摘要子单元,用于生成所述历史存储数据集合的摘要信息;
第一数据集生成子单元,用于根据所述存储信息和所述历史存储数据集合的摘要信息,生成存储数据集。
在本申请实施例的一些变更实施方式中,所述数据集合生成单元,包括:
在先存储查询子单元,用于在所述存储网络数据库中查找上一次存储事件对应的数据集合;
在先存储摘要子单元,用于生成所述上一次存储事件对应的数据集合的摘要信息;
第一数据集生成子单元,用于根据所述存储信息和所述上一次存储事件对应的数据集合的摘要信息,生成存储数据集。
在本申请实施例的一些变更实施方式中,所述目标数据存储模块102,包括:
多节点存储单元,用于将所述目标数据存储至存储网络数据库中的多个存储节点。
本申请实施例提供的数据存储装置10,与本申请前述实施例提供的数据存储方法出于相同的发明构思,具有相同的有益效果。
在上述的实施例中,提供了一种数据存储方法及装置,与之相对应的,本申请还提供一种终端设备,所述终端设备可以是任意的具有存储功能的电子设备,且可以作为存储网络数据库中的节点,例如,服务器、服务器集群、台式计算机、笔记本电脑、智能手机等。请参考图3,图3为本申请实施例提供的一种终端设备的示意图。如图3所示,所述终端设备20包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本申请提供的任一数据存储方法。
其中,存储器201可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口203(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线202可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述数据存储方法可以应用于处理器200中,或者由处理器200实现。
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的终端设备与本申请实施例提供的数据存储方法出于相同的发明构思,具有相同的有益效果。
本申请实施例还提供一种与上述数据存储方法相对应的计算机可读介质,请参考图4,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施例所提供的数据存储方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请实施例提供的计算机可读存储介质与本申请实施例提供的数据存储出于相同的发明构思,具有相同的有益效果。
需要说明的是,附图中的流程图和框图显示了根据本申请的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。
Claims (7)
1.一种数据存储方法,其特征在于,包括:
获取待存储的目标数据;
确定所述目标数据的预计访问时间;
确定存储网络数据库中各个节点的预计在线时间;
分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度;
选取匹配度最高的多个所述节点作为备选节点;
采用共识机制从所述备选节点中选出用于存储所述目标数据的存储节点;
将所述目标数据的存储信息存储至所述存储网络数据库的各个节点;
其中,所述分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度,包括:
采用以下公式分别计算各所述节点的预计在线时间与所述预计访问时间的匹配度:
其中,
a=x1-x0
上式中,σ表示匹配度,m表示修正系数,a表示预计访问时间的时长,b表示预计访问时间与预计在线时间的重合时长,c表示预计访问时间中点与预计在线时间中点间的偏移量,x0和x1分别表示预计访问时间的起始时间点和终止时间点,y0和y1分别表示预计在线时间的起始时间点和终止时间点。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标数据的存储信息存储至所述存储网络数据库的各个节点,包括:
生成所述目标数据的存储信息;
根据所述存储信息生成数据集合;
将所述数据集合存储至所述存储网络数据库的各个节点。
3.根据权利要求2所述的方法,其特征在于,所述生成所述目标数据的存储信息,包括:
生成所述目标数据的指纹信息;
根据所述指纹信息和存储所述目标数据的存储节点的节点标识,生成所述目标数据的存储信息。
4.根据权利要求3所述的方法,其特征在于,所述生成所述目标数据的指纹信息,包括:
获取所述目标数据的数据标识;以及,
采用消息摘要算法生成所述目标数据的摘要信息;
根据所述数据标识和所述摘要信息生成所述目标数据的指纹信息。
5.根据权利要求2所述的方法,其特征在于,所述根据所述存储信息生成数据集合,包括:
根据所述目标数据的数据标识或摘要信息,在所述存储网络数据库中查找所述目标数据的历史存储数据集合;
生成所述历史存储数据集合的摘要信息;
根据所述存储信息和所述历史存储数据集合的摘要信息,生成存储数据集。
6.根据权利要求2所述的方法,其特征在于,所述根据所述存储信息生成数据集合,包括:
在所述存储网络数据库中查找上一次存储事件对应的数据集合;
生成所述上一次存储事件对应的数据集合的摘要信息;
根据所述存储信息和所述上一次存储事件对应的数据集合的摘要信息,生成存储数据集。
7.一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910269375.0A CN110209666B (zh) | 2019-04-04 | 2019-04-04 | 一种数据存储方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910269375.0A CN110209666B (zh) | 2019-04-04 | 2019-04-04 | 一种数据存储方法及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110209666A CN110209666A (zh) | 2019-09-06 |
CN110209666B true CN110209666B (zh) | 2020-01-31 |
Family
ID=67785299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910269375.0A Active CN110209666B (zh) | 2019-04-04 | 2019-04-04 | 一种数据存储方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209666B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779020A (zh) * | 2021-01-25 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 数据存储方法、数据读取方法、装置、介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075582A (zh) * | 2011-01-26 | 2011-05-25 | 南京财经大学 | 一种可信的云存储***数据存储模型的存储方法 |
CN103020255A (zh) * | 2012-12-21 | 2013-04-03 | 华为技术有限公司 | 分级存储方法和装置 |
CN106055272A (zh) * | 2016-05-20 | 2016-10-26 | 乐视控股(北京)有限公司 | 存储介质的选择方法与装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713852B (zh) * | 2012-09-28 | 2017-06-27 | 联想(北京)有限公司 | 一种信息处理方法、服务平台及电子设备 |
US10210165B2 (en) * | 2015-09-04 | 2019-02-19 | Walmart Apollo, Llc | File management for eDiscovery |
CN107094155B (zh) * | 2017-06-14 | 2020-03-10 | 广东工业大学 | 一种基于联盟区块链的数据安全存储方法及装置 |
CN108696571B (zh) * | 2018-03-28 | 2021-09-24 | 深圳市网心科技有限公司 | 云存储服务***、方法、云服务智能设备及电子装置 |
-
2019
- 2019-04-04 CN CN201910269375.0A patent/CN110209666B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075582A (zh) * | 2011-01-26 | 2011-05-25 | 南京财经大学 | 一种可信的云存储***数据存储模型的存储方法 |
CN103020255A (zh) * | 2012-12-21 | 2013-04-03 | 华为技术有限公司 | 分级存储方法和装置 |
CN106055272A (zh) * | 2016-05-20 | 2016-10-26 | 乐视控股(北京)有限公司 | 存储介质的选择方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110209666A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11095451B2 (en) | Optimal data storage configuration in a blockchain | |
CN110020902B (zh) | 跨链存证方法及访问方法、装置、电子设备 | |
CN109040341B (zh) | 智能合约地址的生成方法、装置、计算机设备及可读存储介质 | |
CN107633016B (zh) | 数据处理方法及装置和电子设备 | |
US8949535B1 (en) | Cache updating | |
CN109032803B (zh) | 数据处理方法和装置、客户端 | |
CN111352902A (zh) | 日志处理方法、装置、终端设备及存储介质 | |
CN110543448A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
CN109918382A (zh) | 数据处理方法、装置、终端及存储介质 | |
US20210158353A1 (en) | Methods, systems, apparatuses, and devices for processing request in consortium blockchain | |
CN109145053B (zh) | 数据处理方法和装置、客户端、服务器 | |
CN111611249A (zh) | 数据管理方法、装置、设备及存储介质 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
CN110209666B (zh) | 一种数据存储方法及终端设备 | |
CN108399175A (zh) | 一种数据存储、查询方法及其装置 | |
CN112291321B (zh) | 业务处理方法、装置及*** | |
CN110209347B (zh) | 一种可追溯的数据存储方法 | |
CN109828832B (zh) | 基于区块链的数据流通方法、装置、设备和介质 | |
CN110209679B (zh) | 一种用于提升访问效率的数据存储方法、终端设备 | |
CN111464312B (zh) | 一种区块链中账户地址的处理方法、装置和电子设备 | |
CN109032804B (zh) | 数据处理方法和装置、服务器 | |
CN113626383A (zh) | 一种数据处理方法、装置及设备 | |
CN109067542B (zh) | Token生成方法、基于Token的追踪方法及装置 | |
CN110209727B (zh) | 一种数据存储方法、终端设备及介质 | |
CN113032820A (zh) | 文件存储方法、访问方法、装置、设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |