CN117891820B - 多源异构数据存储方法、装置、设备、芯片及存储介质 - Google Patents
多源异构数据存储方法、装置、设备、芯片及存储介质 Download PDFInfo
- Publication number
- CN117891820B CN117891820B CN202410302111.1A CN202410302111A CN117891820B CN 117891820 B CN117891820 B CN 117891820B CN 202410302111 A CN202410302111 A CN 202410302111A CN 117891820 B CN117891820 B CN 117891820B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- address
- stored
- verified
- 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 288
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000012795 verification Methods 0.000 claims abstract description 106
- 238000012360 testing method Methods 0.000 claims description 56
- 238000004364 calculation method Methods 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 14
- 238000005314 correlation function Methods 0.000 claims description 11
- 238000010200 validation analysis Methods 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 description 46
- 238000012544 monitoring process Methods 0.000 description 23
- 210000004556 brain Anatomy 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 12
- 239000000284 extract Substances 0.000 description 9
- 210000005036 nerve Anatomy 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 7
- 210000003238 esophagus Anatomy 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 210000001015 abdomen Anatomy 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000001079 digestive effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003902 lesion Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013170 computed tomography imaging Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000011076 safety test Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012285 ultrasound imaging Methods 0.000 description 1
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/2291—User-Defined Types; 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种多源异构数据存储方法、装置、设备、芯片及存储介质,所述方法包括:确定待验证数据生成端生成的待存储目标数据和数据存储区块链中的可用存储节点;基于待存储目标数据的数据类型以及数据生成端标识对待验证数据生成端进行安全验证;若待验证数据生成端通过安全验证,根据待存储目标数据的数据量与可用存储节点的存储效率之间的对应关系确定待存储目标数据的目标存储节点;将待存储目标数据存储至目标存储节点,得到待存储目标数据的区块链地址。由此在保证多源异构类数据的安全性的同时,有效提高区块链节点的存储资源利用率。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种多源异构数据存储方法、装置、设备、芯片及存储介质。
背景技术
多源异构数据是指来自多种不同数据源,属于不同类型或具有不同结构的数据。由于多源异构数据通常具有不同的结构、属性和规模等,因此在多源异构数据的存储过程中会面临一系列技术难题,特别是数据安全和存储效率等问题。
相关技术中,主要依赖于区块链技术实现基于多源异构情况下的数据存储。然而,区块链节点的存储资源利用率有待提高。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明提出一种多源异构数据存储方法、装置、设备、芯片及存储介质,在保证多源异构类数据的安全性的同时,有效提高区块链节点的存储资源利用率。
为达到上述目的,本发明第一方面实施方式提出了一种多源异构数据存储方法,应用于数据存储端,所述数据存储端包括数据存储区块链;所述数据存储端对应有至少一个数据生成端,不同数据生成端中的至少部分对应不同的数据类型;同一数据生成端生成的待存储数据属于同一数据类型;所述方法包括:确定待验证数据生成端生成的待存储目标数据和所述数据存储区块链中的可用存储节点;基于所述待存储目标数据的数据类型以及数据生成端标识对所述待验证数据生成端进行安全验证;若所述待验证数据生成端通过安全验证,根据所述待存储目标数据的数据量与所述可用存储节点的存储效率之间的对应关系确定所述待存储目标数据的目标存储节点;将所述待存储目标数据存储至所述目标存储节点,得到所述待存储目标数据的区块链地址。
根据本发明的一个实施方式,通过以下方式确定所述待存储目标数据:向所述待验证数据生成端发送数据测试指令;其中,所述数据测试指令用于指示所述待验证数据生成端在生成有所述待存储目标数据的情况下将所述待存储目标数据发送至所述数据存储端;接收所述待验证数据生成端根据所述数据测试指令发送的所述待存储目标数据。
根据本发明的一个实施方式,所述数据测试指令还用于指示所述待验证数据生成端在所述待存储目标数据的数据量大于预设数据量阈值的情况下生成数据生成指令,并将所述待存储目标数据与所述数据生成指令发送至所述数据存储端;其中,所述数据生成指令用于指示所述数据存储端对所述待存储目标数据进行存储。
根据本发明的一个实施方式,所述基于所述待存储目标数据的数据类型以及所述数据生成端标识对所述待验证数据生成端进行安全验证,包括:基于所述数据类型和所述数据生成端标识生成所述待存储目标数据的数据地址;获取所述待验证数据生成端发送的待验证地址;其中,所述待验证地址是所述待验证数据生成端基于所述待验证数据生成端的待验证标识和待验证数据类型生成的;将所述数据地址和所述待验证地址进行比较,以对所述待验证数据生成端进行安全验证。
根据本发明的一个实施方式,在所述基于所述数据类型和所述数据生成端标识生成所述待存储目标数据的数据地址之前,所述多源异构数据存储方法还包括:获取所述待存储目标数据的数据公钥;所述基于所述数据类型和所述数据生成端标识生成所述待存储目标数据的数据地址,包括:基于所述数据公钥生成第一地址,基于所述数据生成端标识生成第二地址,以及基于所述数据类型生成第三地址;根据所述第一地址、所述第二地址和所述第三地址得到所述数据地址。
根据本发明的一个实施方式,通过以下方式获取所述数据公钥:获取所述待存储目标数据的随机数;根据所述随机数生成所述待存储目标数据的数据私钥,以基于所述数据私钥进行计算,得到所述数据公钥。
根据本发明的一个实施方式,通过以下任一方式获取所述随机数:获取所述数据存储区块链在预设时间段内存储数据成功的成功次数和存储数据失败的失败次数;根据所述成功次数和所述失败次数进行概率计算,得到存储成功概率数据;基于所述存储成功概率数据得到所述随机数;或者,获取所述数据存储区块链在预设时间段内存储数据成功的成功次数和存储数据失败的失败次数;基于所述成功次数、所述失败次数、随机因子数据进行随机数计算,得到所述随机数。
根据本发明的一个实施方式,所述基于所述数据公钥生成第一地址,基于所述数据生成端标识生成第二地址,以及基于所述数据类型生成第三地址,包括:对所述数据公钥进行哈希计算,得到公钥哈希数据;将所述公钥哈希数据中第一预设位置处的哈希数据作为所述第一地址;对所述数据生成端标识进行哈希计算,得到标识哈希数据;将所述标识哈希数据中第二预设位置处的哈希数据作为所述第二地址;对所述数据类型进行哈希计算,得到数据类型哈希数据;将所述数据类型哈希数据中第三预设位置处的哈希数据作为所述第三地址。
根据本发明的一个实施方式,所述根据所述第一地址、所述第二地址和所述第三地址得到所述数据地址,包括:将所述第二地址作为前段地址,将所述第一地址作为中段地址,以及将所述第三地址作为后段地址,以对所述第二地址、所述第一地址和所述第三地址进行组合,得到所述数据地址。
根据本发明的一个实施方式,在所述获取所述待验证数据生成端发送的待验证地址之前,所述多源异构数据存储方法包括:根据所述待验证数据生成端发送的数据生成指令得到所述待验证数据生成端的待验证网络参数;获取所述数据存储区块链中存储的所述待验证数据生成端的目标网络参数;所述获取所述待验证数据生成端发送的待验证地址,包括:若所述待验证网络参数与所述目标网络参数一致,获取所述待验证地址。
根据本发明的一个实施方式,若所述待验证网络参数与所述目标网络参数一致,所述多源异构数据存储方法还包括:获取所述数据存储区块链中存储的所述待验证数据生成端对应的数据私钥;其中,所述数据私钥是由所述数据存储端根据所述待存储目标数据的随机数生成并存储至所述数据存储区块链中的;将所述数据私钥发送至所述待验证数据生成端,以使所述待验证数据生成端根据所述数据私钥生成待验证第一地址,以及根据所述待验证标识生成待验证第二地址,以及根据所述待验证数据类型生成待验证第三地址;其中,所述待验证地址是根据所述待验证第一地址、所述待验证第二地址和所述待验证第三地址得到的。
根据本发明的一个实施方式,所述数据存储区块链还包括地址节点和验证节点;所述地址节点用于生成所述待存储目标数据的数据地址;所述验证节点用于基于所述数据地址和所述待验证数据生成端的待验证地址对所述待验证数据生成端进行安全验证,以及存储所述区块链地址。
根据本发明的一个实施方式,所述地址节点与所述待存储目标数据的数据类型对应。
根据本发明的一个实施方式,所述待存储目标数据为多个,所述可用存储节点为多个;所述根据所述待存储目标数据的数据量与所述可用存储节点的存储效率之间的对应关系确定所述待存储目标数据的目标存储节点,包括:基于多个所述待存储目标数据各自的数据量对多个所述待存储目标数据进行排序,得到排序后数据;基于多个所述可用存储节点各自的存储效率对多个所述可用存储节点进行排序,得到排序后存储节点;根据所述排序后数据与所述排序后存储节点间的排序位置对应关系确定所述目标存储节点;其中,所述对应关系包括所述排序位置对应关系。
根据本发明的一个实施方式,通过以下方式获取所述可用存储节点的存储效率:获取所述可用存储节点的历史存储记录数据;其中,所述历史存储记录数据包括历史存储数据量和历史存储时长;基于所述历史存储数据量和所述历史存储时长进行效率计算,得到所述存储效率。
根据本发明的一个实施方式,所述历史存储记录数据还包括历史存储次数和历史存储网速;所述基于所述历史存储数据量和所述历史存储时长进行效率计算,得到所述存储效率,包括:根据所述历史存储数据量、所述历史存储时长、所述历史存储次数、所述历史存储网速,以及预设正相关函数进行效率计算,得到所述存储效率。
根据本发明的一个实施方式,所述待存储目标数据对应有数据地址;所述将所述待存储目标数据存储至所述目标存储节点,得到所述待存储目标数据的区块链地址,包括:将所述待存储目标数据存储至所述目标存储节点,得到所述待存储目标数据的存储地址;根据所述数据地址和所述存储地址进行加密处理,得到所述区块链地址。
为达到上述目的,本发明第二方面实施方式提出了一种多源异构数据存储装置,应用于数据存储端,所述数据存储端包括数据存储区块链;所述数据存储端对应有至少一个数据生成端,不同数据生成端中的至少部分对应不同的数据类型;同一数据生成端生成的待存储数据属于同一数据类型;所述装置包括:数据和节点确定模块,用于确定待验证数据生成端生成的待存储目标数据和所述数据存储区块链中的可用存储节点;数据生成端验证模块,用于基于所述待存储目标数据的数据类型以及数据生成端标识对所述待验证数据生成端进行安全验证;目标节点确定模块,用于若所述待验证数据生成端通过安全验证,根据所述待存储目标数据的数据量与所述可用存储节点的存储效率之间的对应关系确定所述待存储目标数据的目标存储节点;区块链地址获取模块,用于将所述待存储目标数据存储至所述目标存储节点,得到所述待存储目标数据的区块链地址。
为达到上述目的,本发明第三方面实施方式提出了一种计算机设备,包括存储器和处理器,所述存储器存储有第一计算机程序,所述处理器执行所述第一计算机程序时实现前述任一项实施方式所述的多源异构数据存储方法的步骤。
为达到上述目的,本发明第四方面实施方式提出了一种芯片,包括存储单元和处理单元,所述存储单元存储有第二计算机程序,所述处理单元执行所述第二计算机程序时实现前述任一项实施方式所述的多源异构数据存储方法的步骤。
为达到上述目的,本发明第五方面实施方式提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一项实施方式所述的多源异构数据存储方法的步骤。
根据本发明提供的多个实施方式,通过根据待存储目标数据的数据量和存储节点的存储效率来分配区块链存储节点的存储资源,可以实现根据多源异构数据的实际存储需求和存储节点的存储性能灵活分配存储资源,以有效提高存储节点的存储资源利用率,避免存储资源浪费,提高存储效率。同时,通过基于数据类型和数据生成端标识对待验证数据生成端进行安全验证,可以确保存储到区块链上的数据源头可靠、合法且未被篡改,增强数据的安全性和可信度。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为根据本说明书一个实施方式提供的多源异构数据存储方法的流程示意图。
图2为根据本说明书一个实施方式提供的确定待存储目标数据的流程示意图。
图3为根据本说明书一个实施方式提供的进行安全验证的流程示意图。
图4为根据本说明书一个实施方式提供的生成数据地址的流程示意图。
图5为根据本说明书一个实施方式提供的生成第一地址、第二地址和第三地址的流程示意图。
图6为根据本说明书另一个实施方式提供的多源异构数据存储方法的流程示意图。
图7为根据本说明书一个实施方式提供的确定目标存储节点的流程示意图。
图8为根据本说明书一个实施方式提供的获取存储效率的流程示意图。
图9a为根据本说明书一个实施方式提供的得到区块链地址的流程示意图。
图9b为根据本说明书一个实施方式提供的多源异构数据分析和存储装置的结构框图。
图10为根据本说明书一个实施方式提供的多源异构数据存储装置的结构框图。
图11为根据本说明书一个实施方式提供的计算机设备的结构框图。
图12为根据本说明书一个实施方式提供的芯片的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
多源异构类数据是指来自多种不同数据源,属于不同类型或具有不同结构的数据,可能包括但不限于不同的操作系统(如Unix、Windows、Linux等)、不同的数据库系统(如MySQL、Oracle、NoSQL等)、不同的应用程序(如ERP、CRM、MES等)以及各种传感器、物联网设备等产生的非结构化数据(如图像、视频、日志文件等)。
以实验室为例,为了寻求科学技术的不断发展,需要建设不同类型的实验室以攻克相关技术难题,例如医学实验室、力学实验室、化学实验室等。伴随实验室的增多,实验室生成的实验数据也呈指数增加。例如某医学研究中心建设有多组医学实验室,不同的医学实验室研究的医学方向不同,且每组医学实验室都会产生对应的大量实验影像数据。由于不同实验室的研究方向不同,不同实验室所生成的影像数据也属于不同数据类型,例如,研究脑部的实验室生成的脑部影像数据属于一种数据类型,研究腹部的实验室生成的腹部影像数据属于另一种数据类型。这些由不同实验室生成的不同类型的影像数据简称为多源异构类数据。
由于多源异构类数据通常具有不同的结构、属性和规模等,因此在存储过程中会面临一系列技术难题,特别是数据安全和存储效率等问题。如何提高多源异构类数据的数据安全及存储效率是当下急需解决的技术问题。
相关技术中,主要依赖于区块链技术实现基于多源异构情况下的数据存储,即,根据需要存储的数据的数据类型,在区块链中指定出与数据类型对应的区块链节点,形成区块链节点与数据类型绑定的存储关系。例如,数据类型为A类的数据对应存储至第一个区块链节点、数据类型为B类的数据对应存储至第二个区块链节点等,以此类推。这种存储方法虽然可以实现多源异构类数据的存储,但是由于对区块链节点与数据类型进行了深度绑定,因此导致区块链节点的存储资源利用率不高。
为了在保证多源异构类数据的安全性的同时,提高区块链节点的存储资源利用率,有必要提出一种多源异构数据存储方法、装置、设备、芯片及存储介质。本说明书提供的多源异构数据存储方法通过数据存储端的数据存储区块链存储来自不同数据生成端的多源异构的待存储数据。其中,不同数据生成端中的至少部分数据生成端对应不同的数据类型,且同一数据生成端生成的待存储数据属于同一数据类型。该方法首先确定待验证数据生成端生成的待存储目标数据,并识别和确定数据存储区块链中的可用存储节点,然后依据待存储目标数据的数据类型及其对应的数据生成端标识,对待验证数据生成端进行安全验证。通过安全验证可以确认待存储目标数据的来源真实性、合法性和可信性,以及可以确认待存储目标数据的数据类型符合预期。如果待验证数据生成端通过了安全验证,则可以根据待存储目标数据的实际数据量(容量需求)和可用存储节点的存储效率(如I/O性能、存储容量、带宽等指标)建立对应关系,以从可用存储节点中确定用于存储待存储目标数据的最合适的存储节点,作为目标存储节点。将待存储目标数据存储至确定的目标存储节点,并在存储成功后生成待存储目标数据的区块链地址,作为待存储目标数据在区块链上的唯一标识符,可用于后续的数据查询、验证和追溯等。
由此,通过根据待存储目标数据的数据量和存储节点的存储效率来分配区块链节点的存储资源,可以实现根据多源异构数据的实际存储需求灵活分配存储资源,以有效提高区块链节点的存储资源利用率,避免存储资源浪费,提高存储效率。同时,通过基于数据类型和数据生成端标识对待验证数据生成端进行安全验证,可以确保存储到区块链上的数据源头可靠、合法且未被篡改,增强数据的安全性和可信度。
在一些可实现的方式中,本说明书提供的多源异构数据存储方法通过数据存储端基于待存储目标数据的数据类型和数据生成端标识生成待存储目标数据的数据地址。待验证数据生成端可以根据内部存储的待验证标识和待验证数据类型生成待验证地址。数据存储端通过对待存储目标数据的数据地址和待验证数据生成端的待验证地址进行比较,以实现对待验证数据生成端的安全验证。
进一步地,数据存储端利用待存储目标数据的公钥生成第一地址,利用对应的数据生成端标识生成第二地址,以及利用对应的数据类型生成第三地址,并根据第一地址、第二地址和第三地址生成待存储目标数据的数据地址。其中,待存储目标数据的公钥是基于待存储目标数据的私钥生成的,且待存储目标数据的私钥可以通过数据存储端发送给待验证数据生成端。则同样地,待验证数据生成端可以利用对应的私钥生成待验证第一地址,利用内部存储的待验证标识生成待验证第二地址,以及利用内部存储的待验证数据类型生成待验证第三地址,以根据待验证第一地址、待验证第二地址和待验证第三地址生成待验证地址。
由此,结合密钥、数据类型、数据生成端标识多个属性生成数据地址,不仅考虑到数据本身的特性,还结合了数据源的身份信息,有助于防止数据混淆和错误归属。待验证数据生成端使用对应的私钥、待验证标识和待验证数据类型生成待验证地址,当此地址与数据存储端计算出的数据地址一致时,即可确认数据是从经过授权且验证过的合法数据生成端发出的。通过复杂的地址生成逻辑和公钥私钥体系构建一套严密的安全验证机制,有效保障了多源异构数据在存储过程中的安全性和完整性,同时也有助于促进数据管理的有序化和可控化。
在又一些可实现的方式中,待存储目标数据的私钥是根据待存储目标数据的随机数生成的,待存储目标数据的随机数可以基于数据存储区块链在预设时间段内存储数据成功的成功次数和存储数据失败的失败次数生成。由此,通过将待存储目标数据的私钥与数据存储区块链在特定时段内的存储活动状态紧密关联,可以在较大程度上增加私钥的复杂性和不可预测性,并可以提供动态生成私钥的能力,有助于提高整个数据存储系统的安全性和可靠性。
在还有一些可实现的方式中,可用存储节点的存储效率可以基于可用存储节点的历史存储记录数据中的历史存储数据量和历史存储时长进行计算得到。进一步地,历史存储记录数据还可以包括历史存储次数和历史存储网速,可用存储节点的存储效率可以基于历史存储数据量、历史存储时长、历史存储次数和历史存储网速进行计算得到。由此,通过综合考虑可用存储节点的历史存储数据量、存储时长等因素,能够准确反映存储节点实际处理存储任务的能力,有助于更好地进行资源调度和负载均衡,实现优先选择存储效率高的节点来存放新的数据,以提高整体系统的存储性能,并减少无效或低效的存储操作。通过综合考虑历史存储数据量、历史存储时长、历史存储次数和历史存储网速等多个因素来计算存储节点的存储效率,可以实现更准确地评估、动态调整存储策略,有助于提高数据存储系统的性能、效率和可维护性。
再进一步地,本说明书提供的多源异构数据存储方法还通过将数据存储区块链中的节点按照作用划分为地址节点、存储节点及验证节点。其中,地址节点主要用于生成待存储目标数据的数据地址,验证节点主要用于基于数据地址和待验证数据生成端的待验证地址对待验证数据生成端进行安全验证,以及存储待存储目标数据的区块链地址。由此,不同的节点各司其职,协同完成多源异构类数据的存储,提高数据存储的安全性和效率。
本说明书实施方式提供一种多源异构数据存储方法,应用于数据存储端,数据存储端包括数据存储区块链;数据存储端对应有至少一个数据生成端,不同数据生成端中的至少部分对应不同的数据类型;同一数据生成端生成的待存储数据属于同一数据类型。参考图1所示,多源异构数据存储方法可以包括以下步骤。
S110、确定待验证数据生成端生成的待存储目标数据和数据存储区块链中的可用存储节点。
S120、基于待存储目标数据的数据类型以及数据生成端标识对待验证数据生成端进行安全验证。
S130、若待验证数据生成端通过安全验证,根据待存储目标数据的数据量与可用存储节点的存储效率之间的对应关系确定待存储目标数据的目标存储节点。
S140、将待存储目标数据存储至目标存储节点,得到待存储目标数据的区块链地址。
其中,待验证数据生成端是具有数据存储需求的数据生成端,且其合法性、安全性等需要验证。
可用存储节点是数据存储区块链中具有可用存储空间的可用于存储数据的区块链节点。
数据生成端标识用于唯一识别待存储目标数据的数据来源。
存储效率可以包括但不限于I/O性能、存储容量、带宽等指标,可以用于表明可用存储节点的存储性能。
区块链地址是待存储目标数据在数据存储区块链上的唯一标识符。
可以理解的是,对于不同数据生成端中的任意两个数据生成端,可以对应有相同的数据类型,也可以对应有不同的数据类型,因此,不同数据生成端中的至少部分对应不同的数据类型。
具体地,数据存储端包含有数据存储区块链,用于存储来自不同数据生成端的待存储数据,其中,同一数据生成端生成的待存储数据属于同一数据类型,且不同数据生成端中至少部分数据生成端生成的待存储数据属于不同的数据类型,即来源于不同数据生成端的数据为多源异构数据。数据存储端首先确定待验证数据生成端生成的待存储目标数据,以及确定数据存储区块链中可以用于存储数据的区块链节点,即可用存储节点。然后,针对确定的待存储目标数据,依据待存储目标数据的数据类型及其对应的数据生成端标识,对待验证数据生成端进行安全验证,以确认数据来源的真实性、合法性以及数据的安全性等。若待验证数据生成端通过了安全验证,则可以根据待存储目标数据的数据量和各可用存储节点的存储效率建立对应关系,从而确定最适宜存储待存储目标数据的节点,即目标存储节点。将待存储目标数据存储至确定的目标存储节点中,并可以根据待存储目标数据在目标存储节点中的存储地址生成与待存储目标数据对应的区块链地址。
在一些实施例中,数据类型可以是数据的不同格式,例如文本类型、图像类型、音频类型、视频类型等。存储效率可以根据可用存储节点历史存储数据的情况确定。
示例性地,待验证数据生成端包括数据生成端1、数据生成端2、数据生成端3。其中,数据生成端1对应的数据类型为文本类型,数据生成端2对应的数据类型为图像类型,数据生成端3对应的数据类型为音频类型。数据存储端可以获取数据生成端1生成的待存储目标数据,记为数据D1,并可以确定数据D1对应的数据类型为文本类型,对应的数据生成端标识记为M1;获取数据生成端2生成的待存储目标数据,记为数据D2,并可以确定数据D2对应的数据类型为图像类型,对应的数据生成端标识记为M2;获取数据生成端3生成的待存储目标数据,记为数据D3,并可以确定数据D3对应的数据类型为音频类型,对应的数据生成端标识记为M3。
数据存储端在数据存储区块链中确定可以用于存储数据的可用存储节点,包括存储节点1、存储节点2、存储节点3、存储节点4和存储节点5。假设根据各可用存储节点历史存储数据时的I/O性能、存储容量、带宽等指标,确定存储节点2的存储效率>存储节点5的存储效率>存储节点1的存储效率>存储节点4的存储效率>存储节点3的存储效率。
数据存储端可以基于数据D1对应的数据类型和数据生成端标识M1对数据生成端1进行安全验证,以及基于数据D2对应的数据类型和数据生成端标识M2对数据生成端2进行安全验证,以及基于数据D3对应的数据类型和数据生成端标识M3对数据生成端3进行安全验证。若数据生成端1、数据生成端2和数据生成端3均通过安全验证,数据存储端可以根据数据D1、数据D2和数据D3各自的数据量与上述可用存储节点的存储效率之间的对应关系确定相应的目标存储节点。
假设数据D1的数据量位于范围1内,数据D2的数据量位于范围2内,数据D3的数据量位于范围3内,且范围1内的数据量对应的存储效率>范围2内的数据量对应的存储效率>范围3内的数据量对应的存储效率,则可以确定数据D1的目标存储节点为存储节点2,数据D2的目标存储节点为存储节点5,数据D3的目标存储节点为存储节点1。数据存储端将数据D1存储至存储节点2,并可以生成数据D1的区块链地址;将数据D2存储至存储节点5,并可以生成数据D2的区块链地址;将数据D3存储至存储节点1,并可以生成数据D3的区块链地址。
示例性地,以上述待验证数据生成端、待存储目标数据和可用存储节点为例,假设数据D1和数据D2的数据量位于范围1内,数据D3的数据量位于范围3内,且范围1内的数据量与较大的存储效率对应,范围3内的数据量与较小的存储效率对应,则可以确定数据D1和数据D2的目标存储节点为存储节点2,数据D3的目标存储节点为存储节点5。
示例性地,以上述待验证数据生成端、待存储目标数据和可用存储节点为例,假设数据D1的数据量<数据D2的数据量<数据D3的数据量,则还可以根据更大的数据量与更大的存储效率对应的对应关系,确定数据D3的目标存储节点为存储节点2,数据D2的目标存储节点为存储节点5,数据D1的目标存储节点为存储节点1。
在另一些实施例中,数据类型也可以是同一格式的具有不同内容的数据。
示例性地,待验证数据生成端包括实验端1、实验端2、实验端3、实验端4和实验端5。其中,实验端1用于研究脑部,实验端2用于研究消化食道,实验端3用于研究脑部,实验端4用于研究腿部神经,实验端5用于研究颈椎。则实验端1可以用于生成脑部CT(ComputedTomography,电子计算机断层扫描)的影像数据,实验端2可以用于生成食道窥镜图的影像数据,实验端3也可以用于生成脑部CT的影像数据,实验端4可以用于生成腿部神经的影像数据,实验端5可以用于生成颈椎的影像数据。因此,不同数据类型的数据可以包括研究对象的不同受关注部位或不同受关注区域的影像数据,即,数据类型可以包括脑部CT影像数据类型、食道窥镜图影像数据类型、腿部神经影像数据类型和颈椎影像数据类型。关于对待验证数据生成端进行安全验证、确定目标存储节点的描述,与上述示例中的描述类似,具体不再赘述。
示例性地,待验证数据生成端包括视频监控端1、视频监控端2和视频监控端3。其中,视频监控端1可以用于监控实验室门禁出入,视频监控端2可以用于监控实验危险品存储区,视频监控端3可以用于监控实验操作台区域。则视频监控端1可以用于生成门禁出入的监控视频数据,视频监控端2可以用于生成危险品存储区的监控视频数据,视频监控端3可以用于生成操作台的监控视频数据。因此,不同数据类型的数据可以包括不同监控内容或不同监控区域的视频数据,即,数据类型可以包括门禁出入监控视频类型、危险品存储区监控视频类型以及操作台监控视频类型。关于对待验证数据生成端进行安全验证、确定目标存储节点的描述,与上述示例中的描述类似,具体不再赘述。
可以理解的是,待存储目标数据可以是数据存储端从待验证数据生成端获取的,也可以是由待验证数据生成端发送给数据存储端的,还可以是由待验证数据生成端存储在中间服务端(例如,云端数据库等),并由数据存储端从中间服务端获取的。
需要说明的是,数据生成端标识可以是IP地址,也可以是唯一设备标识等。
可以采用数字签名验证或哈希值验证等方式基于待存储目标数据的数据类型以及数据生成端标识对待验证数据生成端进行安全验证,本说明书中不作具体限定。
数据存储端和数据生成端可以位于同一终端或设备上,不同的数据生成端可以是不同的软件或程序等。数据存储端和数据生成端也可以位于不同的终端或设备上,不同的数据生成端可以是不同的终端或设备等。
同一数据生成端可以包括用于生成同一数据类型的待存储数据的多个软件或程序等(例如,用于生成监控视频数据的多个监控程序),或者,可以包括用于生成同一数据类型的待存储数据的多个终端或设备等(例如,用于生成腿部神经影像数据的多个实验设备),因此,同一数据生成端也可以称为同一组数据生成端。
待存储目标数据对应的数据类型和数据生成端标识可以与待存储目标数据一同存储在待验证数据生成端或中间服务端等,使数据存储端可以直接获取。数据存储端也可以通过特征提取或深度学习等方法对待存储目标数据进行分析,以得到数据类型,本说明书中不作具体限定。例如,以影像数据为例,则影像数据的数据类型可以通过分析成像技术(例如,X光影像成像、磁共振成像、计算机断层扫描成像、超声波成像等),或分析影像特征(例如,是否存在病变、病变等级和类型等),或分析影像部位(头部、胸部、腹部等)等方式中的任一种得到。
上述实施方式中,通过根据待存储目标数据的数据量和存储节点的存储效率来分配区块链存储节点的存储资源,可以实现根据多源异构数据的实际存储需求和存储节点的实际存储性能灵活分配存储资源,以有效提高区块链节点的存储资源利用率,避免存储资源浪费,提高存储效率。同时,通过基于数据类型和数据生成端标识对待验证数据生成端进行安全验证,可以确保存储到区块链上的数据源头可靠、合法且未被篡改,增强数据的安全性和可信度。
在一些实施方式中,参考图2所示,可以通过以下方式确定待存储目标数据:
S210、向待验证数据生成端发送数据测试指令;其中,数据测试指令用于指示待验证数据生成端在生成有待存储目标数据的情况下将待存储目标数据发送至数据存储端。
S220、接收待验证数据生成端根据数据测试指令发送的待存储目标数据。
其中,数据测试指令可以用于测试待验证数据生成端是否生成需要存储至数据存储端的待存储目标数据。
具体地,数据存储端可以向待验证数据生成端发送数据测试指令,以用于测试待验证数据生成端是否生成或产生了需要存储的数据。待验证数据生成端在接收到数据测试指令后,若确定生成有需要存储的数据,可以将需要存储的数据作为待存储目标数据,并将其发送至数据存储端,使数据存储端可以接收到待验证数据生成端根据数据测试指令发送的待存储目标数据。
在一些实施例中,待验证数据生成端可以是当前时段运行的数据生成端,数据存储端可以通过广播的方式向在当前时段运行的所有数据生成端发送数据测试指令。
需要说明的是,数据测试指令的生成方式以及具体的格式可以根据实际的数据传输协议、实际应用场景等确定,本说明书中不作具体限定。
在一些实施方式中,数据测试指令还用于指示待验证数据生成端在待存储目标数据的数据量大于预设数据量阈值的情况下生成数据生成指令,并将待存储目标数据与数据生成指令发送至数据存储端;其中,数据生成指令用于指示数据存储端对待存储目标数据进行存储。
其中,数据生成指令可以用于告知数据存储端相应的待验证数据生成端生成有待存储目标数据,并指示数据存储端对相应的待存储目标数据进行存储等。
具体地,待验证数据生成端接收到数据测试指令后,可以检查已生成的待存储目标数据的数据量。数据测试指令可以指示待验证数据生成端在判断待存储目标数据的数据量大于预设数据量阈值的情况下,生成数据生成指令,并将已生成的待存储目标数据与数据生成指令发送给数据存储端。通过数据生成指令,数据存储端可以知晓相应的待验证数据生成端生成有数据量超过预设数据量阈值的待存储目标数据,并需要对待存储目标数据进行存储。
在一些实施例中,待存储目标数据存储在待验证数据生成端对应的数据库中,待验证数据生成端在判断待存储目标数据的数据量大于预设数据量阈值的情况下,可以通过触发或调用数据生成程序(或指令生成程序)生成数据生成指令。
示例性地,待验证数据生成端为实验端,实验端可以包括但不限于医学实验室、力学实验室、化学实验室等。假设某医学研究中心共有5组实验室,则1组实验室即对应1组实验端,包括第1组实验端、第2组实验端、第3组实验端、第4组实验端和第5组实验端,且每组实验端用于研究和产生人体不同部位的影像数据。假设该医学研究中心中在当前时段内运行的实验端包括第1组实验端、第2组实验端和第5组实验端。
数据存储端生成数据测试指令,并将数据测试指令发送给上述在当前时段内运行的3组实验端。若在当前时段运行的第1组实验端成功接收到数据测试指令,则第1组实验端可以从该实验端对应的数据库中获取已生成的尚未被存储至数据存储区块链的影像数据。第1组实验端判断已生成的影像数据的数据量是否大于预设数据量阈值,若已生成的影像数据的数据量大于预设数据量阈值,第1组实验端可以自动触发数据生成程序生成数据生成指令,并将已生成的影像数据和数据生成指令发送给数据存储端。
同样地,关于第2组实验端和第5组实验端成功接收到数据测试指令后分别生成相应的数据生成指令的过程的描述与上述描述类似,具体不再赘述。由此,数据存储端可以接收多组实验端分别发起的数据生成指令,并根据多组实验端各自的数据生成指令分别对多组实验端各自的待存储目标数据进行分析、存储等操作。
进一步地,数据存储端可以根据数据生成指令启动数据存储区块链,并在数据存储区块链中确定可用存储节点。
需要说明的是,数据生成指令也可以用于使数据存储端获取待存储目标数据对应的数据类型和数据生成端标识。
在一些场景中,数据生成指令也可以用于指示数据存储端从待验证数据生成端或对应的数据库或中间服务器等中获取待存储目标数据。
预设数据量阈值可以根据实际应用场景或应用需求等设置,数据生成指令的生成方式以及具体的格式可以根据实际的数据传输协议、实际应用场景等确定,本说明书中不作具体限定。
上述实施方式中,通过数据测试指令和数据生成指令,可以有效地测试和优化数据生成端和数据存储端之间的通信和协作过程,实现数据生成端与数据存储区块链(数据存储端)之间自动的数据交互,不需要人为参与即可实现智能化的多源异构数据存储,并能够在需要处理多个不同的数据生成端的待存储的数据时提供额外的灵活性和效率。同时,通过使数据生成端在待存储的数据的数据量达到一定阈值的情况下生成数据生成指令,以指示数据存储端进行存储,可以在一定程度上提高数据存储端自动调整或优化资源分配的能力,减少数据存储端发生崩溃的可能性,确保数据存储端稳定运行,并能够减少资源的浪费或不足,有效提升数据存储的效率。
在一些实施方式中,参考图3所示,基于待存储目标数据的数据类型以及数据生成端标识对待验证数据生成端进行安全验证,可以包括以下步骤。
S310、基于数据类型和数据生成端标识生成待存储目标数据的数据地址。
S320、获取待验证数据生成端发送的待验证地址;其中,待验证地址是待验证数据生成端基于待验证数据生成端的待验证标识和待验证数据类型生成的。
S330、将数据地址和待验证地址进行比较,以对待验证数据生成端进行安全验证。
其中,数据地址可以是某种逻辑上的标识,可以用于标识待存储目标数据的来源和类型信息,以用于唯一识别相应的待存储目标数据。
待验证标识可以是存储在待验证数据生成端本地的数据生成端的标识,待验证数据类型可以是存储在待验证数据生成端本地的数据类型。
可以理解的是,待验证地址的生成方式与数据地址的生成方式相同。
具体地,数据存储端可以根据待存储目标数据的数据类型和数据生成端标识生成对应的数据地址。待验证数据生成端可以基于内部存储的待验证标识和待验证数据类型生成相应的待验证地址,并将待验证地址发送给数据存储端。
数据存储端接收到待验证数据生成端发送的待验证地址后,可以将相应的待存储目标数据的数据地址与待验证数据生成端的待验证地址进行比较,以此来完成对待验证数据生成端的安全验证。若这两个地址相同或匹配,则意味着待验证数据生成端是安全可信的,或者,待存储目标数据的来源是安全可信的;若这两个地址不匹配,可能意味着存在安全问题,例如待验证数据生成端或待存储目标数据的来源可能被篡改或假冒。在这种情况下,数据存储端可以采取其他安全措施,如报告异常、请求进一步的验证等。
在一些实施例中,数据存储端可以使用哈希函数对数据类型和数据生成端标识进行哈希计算,以生成相应的数据地址,以及待验证数据生成端可以使用相同的哈希函数对待验证数据类型和待验证标识进行哈希计算,以生成相应的待验证地址。
在另一些实施例中,数据存储端也可以使用加密算法对数据类型和数据生成端标识进行计算,以生成相应的数据地址,以及待验证数据生成端可以使用相同的加密算法对待验证数据类型和待验证标识进行计算,以生成相应的待验证地址。
需要说明的是,待验证标识可以是待验证数据生成端的IP地址,也可以是待验证数据生成端的唯一设备标识等。待验证数据类型可以是预先定义并存储在待验证数据生成端的,也可以是待验证数据生成端在生成待存储目标数据时存储的。
数据地址和待验证地址的生成方式可以根据实际应用场景或应用需求等确定,本说明书中不作具体限定。
在一些实施方式中,在基于数据类型和数据生成端标识生成待存储目标数据的数据地址之前,多源异构数据存储方法还可以包括:获取待存储目标数据的数据公钥。相应地,参考图4所示,基于数据类型和数据生成端标识生成待存储目标数据的数据地址,可以包括:
S410、基于数据公钥生成第一地址,基于数据生成端标识生成第二地址,以及基于数据类型生成第三地址。
S420、根据第一地址、第二地址和第三地址得到数据地址。
其中,数据公钥即待存储目标数据的公钥值。
具体地,数据存储端可以获取待存储目标数据的数据公钥,并基于数据公钥生成第一地址,基于待存储目标数据的数据生成端标识生成第二地址,以及基于待存储目标数据的数据类型生成第三地址。根据第一地址、第二地址和第三地址得到待存储目标数据的数据地址,以此,可以将待存储目标数据的数据公钥转化为数据地址的一个地址部分,将待存储目标数据的数据来源信息转化为数据地址的一个地址部分,以及将待存储目标数据的数据类型信息转化为数据地址的一个地址部分。由此,可以得到待存储目标数据的唯一性的数据地址,用于准确指向和识别待存储目标数据,确保数据的安全性、可追踪性和可管理性。
在一些实施例中,数据地址可以是将第一地址、第二地址和第三地址进行组合得到的。
示例性地,多个待验证数据生成端包括第1组实验端、第2组实验端和第3组实验端。以第1组实验端为例,将第1组实验端生成的影像数据记为第1影像数据。
数据存储端获取第1影像数据的数据公钥,记为公钥1,获取第1影像数据的数据来源IP地址作为数据生成端标识,记为IP1,以及获取第1影像数据的数据类型,记为数据类型1。数据存储端可以采用哈希函数或加密算法等中的任一种,基于公钥1生成对应的第一地址,以及基于数据生成端标识IP1生成对应的第二地址,以及基于数据类型1生成对应的第三地址。将生成的第一地址、第二地址和第三地址进行组合,可以得到第1影像数据的数据地址。关于第2影像数据和第3影像数据的数据地址的获取方式的描述与上述描述类似,具体不再赘述。需要说明的是,上述影像数据的数据地址也可以称为影像数据的影像地址。
在另一些实施例中,数据地址可以是将第一地址的部分、第二地址的部分,以及第三地址的部分进行组合得到的。
示例性地,以上述第1影像数据为例,数据存储端可以采用哈希函数或加密算法等中的任一种,基于公钥1生成对应的第一地址,以及基于数据生成端标识IP1生成对应的第二地址,以及基于数据类型1生成对应的第三地址。根据该第一地址的前半部分、第二地址的前半部分,以及第三地址的前半部分进行组合,可以得到第1影像数据的数据地址。
示例性地,以上述第1影像数据的第一地址、第二地址和第三地址为例,根据该第一地址的前半部分、第二地址的中间部分,以及第三地址的后半部分进行组合,可以得到第1影像数据的数据地址。
在又一些实施例中,数据地址还可以是基于第一地址、第二地址和第三地址的组合后地址进行哈希计算或摘要计算或加密计算得到的。
示例性地,以上述第1影像数据为例,数据存储端可以采用哈希函数或加密算法等中的任一种,基于公钥1生成对应的第一地址,以及基于数据生成端标识IP1生成对应的第二地址,以及基于数据类型1生成对应的第三地址。将生成的第一地址、第二地址和第三地址进行组合,可以得到组合后地址,对组合后地址进一步进行哈希计算或摘要计算或加密计算,可以得到第1影像数据的数据地址。
示例性地,以上述第1影像数据的第一地址、第二地址和第三地址为例,根据该第一地址的前半部分、第二地址的前半部分,以及第三地址的前半部分进行组合,可以得到组合后地址。对组合后地址进一步进行哈希计算或摘要计算或加密计算,可以得到第1影像数据的数据地址。
需要说明的是,数据公钥可以是数据存储端与待验证数据生成端动态协商得到的,也可以是数据存储端基于待存储目标数据的随机数生成的。
在一些实施方式中,可以通过以下方式获取数据公钥:获取待存储目标数据的随机数;根据随机数生成待存储目标数据的数据私钥,以基于数据私钥进行计算,得到数据公钥。
其中,数据私钥即待存储目标数据的私钥值。
具体地,数据存储端可以获取待存储目标数据的随机数,并将随机数转为私钥值,以实现根据随机数生成待存储目标数据的数据私钥。基于生成的数据私钥,数据存储端利用相关算法生成该数据私钥对应的数据公钥。
在一些实施例中,可以通过安全随机数生成器或专门的安全库函数等来获取待存储目标数据的随机数。可以使用椭圆曲线加密算法(Elliptic curve cryptography, ECC)生成数据私钥对应的数据公钥。
可以理解的是,由于数据公钥可以是基于待存储目标数据的随机数生成的,因此,基于数据公钥生成第一地址的过程,即基于随机数生成第一地址的过程。需要说明的是,本说明书中对于将随机数转为私钥值的方式,以及基于数据私钥生成对应的数据公钥的方式不作具体限定。
在一些实施方式中,可以通过以下任一方式获取随机数:
获取数据存储区块链在预设时间段内存储数据成功的成功次数和存储数据失败的失败次数;根据成功次数和失败次数进行概率计算,得到存储成功概率数据;基于存储成功概率数据得到随机数。
或者,获取数据存储区块链在预设时间段内存储数据成功的成功次数和存储数据失败的失败次数;基于成功次数、失败次数、随机因子数据进行随机数计算,得到随机数。
其中,随机因子数据是随机生成的数值。
具体地,数据存储端可以收集数据存储区块链在预设时间段内存储数据成功的成功次数和存储数据失败的失败次数,并可以使用该成功次数和失败次数计算得到存储成功概率值,作为存储成功概率数据。利用存储成功概率数据可以生成待存储目标数据的随机数。
或者,数据存储端收集数据存储区块链在预设时间段内存储数据成功的成功次数和存储数据失败的失败次数,并可以获取随机生成的随机因子数据。基于成功次数、失败次数和随机因子数据进行随机数计算,以得到待存储目标数据的随机数。
示例性地,假设预设时间段为某年的1月至7月,数据存储端可以统计在该年的1月至7月内数据存储区块链完成数据存储且存储成功的成功次数和存储失败的失败次数。假设成功次数为9000次,失败次数为1000次,则根据成功次数和失败次数进行概率计算,可以计算得到存储成功概率值为90%。将存储成功概率数据作为依据,可以通过随机数生成器生成待存储目标数据的随机数。
或者,示例性地,将数据存储区块链在预设时间段内存储数据成功的成功次数记为s,将存储数据失败的失败次数记为f。可以采用如下公式计算得到待存储目标数据的随机数:
其中,Pi表示第i组待存储目标数据(即,第i组数据生成端生成的待存储目标数据)的随机数,例如,若数据生成端为生成影像数据的实验端,则Pi表示第i组实验端生成的影像数据的随机数,即第i组影像数据的随机数。
λ为在预设时间段内数据存储区块链的存储成功概率值,λ=s/(s+f);γ为随机因子,为随机生成的数值;n为在预设时间段内数据存储区块链的成功次数和失败次数的总数,n=s+f。
可以理解的是,上述基于成功次数、失败次数和随机因子数据进行随机数计算的过程,也可以称为基于存储成功概率数据和随机因子数据进行随机数计算的过程。需要说明的是,预设时间段可以根据实际应用场景或应用需求等确定,本说明书中不作具体限定。成功次数和失败次数可以通过数据存储区块链的日志、监控工具或API(ApplicationProgramming Interface,应用程序编程接口)等中的任一种获取,本说明书中不作具体限定。
在一些实施方式中,参考图5所示,基于数据公钥生成第一地址,基于数据生成端标识生成第二地址,以及基于数据类型生成第三地址,可以包括以下步骤。
S510、对数据公钥进行哈希计算,得到公钥哈希数据。
S520、将公钥哈希数据中第一预设位置处的哈希数据作为第一地址。
S530、对数据生成端标识进行哈希计算,得到标识哈希数据。
S540、将标识哈希数据中第二预设位置处的哈希数据作为第二地址。
S550、对数据类型进行哈希计算,得到数据类型哈希数据。
S560、将数据类型哈希数据中第三预设位置处的哈希数据作为第三地址。
具体地,数据存储端在获取待存储目标数据的数据公钥后,通过对数据公钥进行哈希计算,将数据公钥转为公钥哈希值,作为待存储目标数据的公钥哈希数据。数据存储端根据第一预设位置从公钥哈希数据中提取出对应位置处的哈希数据,并将其作为第一地址。
数据存储端通过对待存储目标数据的数据生成端标识进行哈希计算,将得到的哈希值作为标识哈希数据。数据存储端根据第二预设位置从标识哈希数据中提取出对应位置处的哈希数据,并将其作为第二地址。
数据存储端还通过对待存储目标数据的数据类型进行哈希计算,将得到的哈希值作为数据类型哈希数据。数据存储端根据第三预设位置从数据类型哈希数据中提取出对应位置处的哈希数据,并将其作为第三地址。
在一些实施例中,第一预设位置可以是哈希计算得到的哈希值的前4位和后6位;第二预设位置可以是哈希计算得到的哈希值的前8位;第三预设位置可以是哈希计算得到的哈希值的后8位。
示例性地,多个待验证数据生成端包括第1组实验端、第2组实验端和第3组实验端。以第1组实验端为例,将第1组实验端生成的影像数据记为第1影像数据,数据存储端获取第1影像数据的数据公钥,记为公钥1,获取第1影像数据的数据来源IP地址作为数据生成端标识,记为IP1,以及获取第1影像数据的数据类型,记为数据类型1。
数据存储端获取第1影像数据的数据公钥,记为公钥1。数据存储端可以采用SHA256(Secure Hash Algorithm 256-bit,256位安全哈希算法)算法对公钥1进行哈希计算,以将公钥1转为公钥哈希值,得到公钥哈希数据,并选择公钥哈希数据中的前4位和后6位的哈希值作为第一地址。
数据存储端获取第1影像数据对应的实验端IP地址,记为IP1。数据存储端对数据生成端标识IP1执行哈希计算,得到实验端哈希值,即标识哈希数据,并提取实验端哈希值的前8位哈希值作为第二地址。
数据存储端确认第1影像数据的数据类型,记为数据类型1。数据存储端对数据类型1执行哈希计算,得到数据类型的哈希值,即数据类型哈希数据,并提取该数据类型的哈希值的后8位哈希值作为第三地址。
需要说明的是,本说明书对用于进行哈希计算的哈希函数不作具体限定,且可以使用同样的哈希函数对数据公钥、数据生成端标识、数据类型分别进行哈希计算,也可以使用不同的哈希函数对数据公钥、数据生成端标识、数据类型分别进行哈希计算。
第一预设位置、第二预设位置和第三预设位置可以根据实际应用场景或应用需求等设置,例如,第一预设位置、第二预设位置和第三预设位置可以均为前8位或后8位,或者,第一预设位置可以是前10位,第二预设位置和第三预设位置可以均为前4位和后4位等,本说明书中不作具体限定。
上述实施方式中,基于数据公钥、数据生成端标识和数据类型生成三个地址组件:第一地址、第二地址和第三地址,以用于构成用于唯一标识待存储目标数据的数据地址,可以确保数据的安全性、可追踪性和组织性。同时,由于使用了哈希计算和预设位置提取的方法,使得最终得到的数据地址具有高度的唯一性和不可预测性,从而进一步增强数据的数据安全性。
在一些实施方式中,根据第一地址、第二地址和第三地址得到数据地址,可以包括:将第二地址作为前段地址,将第一地址作为中段地址,以及将第三地址作为后段地址,以对第二地址、第一地址和第三地址进行组合,得到数据地址。
其中,前段地址可以理解为是整个数据地址中的高位部分或最左侧的部分;中段地址可以理解为是位于数据地址中前段地址之后的中间的部分;后段地址可以理解为是整个数据地址中最右侧或最低位的部分。
具体地,将基于数据生成端标识得到的第二地址作为位于数据地址的高位部分的前段地址,将基于数据公钥得到的第一地址作为位于数据地址的中间位部分的中段地址,以及将基于数据类型得到的第三地址作为位于数据地址的低位部分的后段地址,以将第二地址、第一地址和第三地址按照前段地址+中段地址+后段地址的方式进行组合,得到待存储目标数据的数据地址。
示例性地,多个待验证数据生成端包括多组实验端,每组实验端用于产生相应数据类型的影像数据。数据存储端生成每组影像数据(每组实验端产生的影像数据)的数据地址的过程可以包括:
首先,针对任一组影像数据,生成影像数据的随机数,并将随机数转为私钥值。其次,利用椭圆曲线计算法生成该组影像数据的私钥值对应的公钥值。然后,基于SHA256加密方法,将该组影像数据的公钥值转为公钥哈希值,并选择公钥哈希值中前4位和后6位的哈希值作为中段地址;获取该组影像数据对应的实验端IP地址,并对实验端IP地址执行哈希运算,得到实验端哈希值,提取实验端哈希值中的前8位哈希值作为前段地址;确认该组影像数据的数据类型,并对数据类型进行哈希运算,得到数据类型的哈希值,以提取数据类型的哈希值中的后8位哈希值作为后段地址。最后,按照前段地址、中段地址及后段地址的组合形式生成该组影像数据的影像地址(即数据地址)。按照这种方法,数据存储端可以分别生成每组影像数据的数据地址。
其中,数据存储端生成每组影像数据的随机数的过程可以包括:
首先,接收设定的时间段(即预设时间段),获取在预设时间段内数据存储区块链完成数据存储的成功次数和失败次数。其次,根据成功次数和失败次数计算得到存储成功概率值。然后,采用前述根据成功次数、失败次数和随机因子数据进行随机数计算的计算公式分别生成每组影像数据的随机数,以实现基于存储成功概率值分别生成每组影像数据的随机数。
由此,通过采用三段式结构,基于待存储目标数据的数据生成端标识生成前段地址,基于随机数生成中段地址,以及基于数据类型生成后段地址,可以有效结合待存储目标数据的数据特征生成其对应的具有多层含义的数据地址,从而提高地址后续的可阅读性以及可检索性,并有助于提高数据的安全性和管理效率。
在一些实施方式中,在获取待验证数据生成端发送的待验证地址之前,多源异构数据存储方法可以包括:根据待验证数据生成端发送的数据生成指令得到待验证数据生成端的待验证网络参数;获取数据存储区块链中存储的待验证数据生成端的目标网络参数。相应地,获取待验证数据生成端发送的待验证地址,可以包括:若待验证网络参数与目标网络参数一致,获取待验证地址。
其中,待验证网络参数是待验证数据生成端当前对应的网络参数,可以是用于运行待验证数据生成端的终端或设备或服务器的网络参数。
目标网络参数是预先备案和存储在数据存储区块链中的待验证数据生成端对应的网络参数。
待验证网络参数和目标网络参数均可以包括但不限于IP地址、子网掩码、默认网关、DNS、主机名等中的至少一个。
可以理解的是,当用于运行数据生成端的终端或设备或服务器(如计算机等)的网络参数发生改变时,一般需要提前在数据存储区块链中进行登记备案,以将对应的网络参数存储在数据存储区块链中,用于进行后续的身份验证等。若未备案,则该数据生成端对应的网络参数与预先存储在数据存储区块链中的相关网络参数不一致,则有较大可能存在运行数据生成端的终端或设备或服务器发生更换或被异常登录等情况。因此,可以对待验证数据生成端的当前网络参数和存储在数据存储区块链中的网络参数进行比较,以对待验证数据生成端的合法性、安全性进行初步验证。
具体地,当待验证数据生成端生成有需要存储的待存储目标数据时,可以向数据存储端发送数据生成指令。数据存储端接收到数据生成指令后,可以获取待验证数据生成端当前的待验证网络参数。数据存储端通过查询数据存储区块链,可以获取到数据存储区块链中已存储的该待验证数据生成端的网络参数,作为目标网络参数。数据存储端比较该待验证数据生成端的待验证网络参数和目标网络参数,若待验证网络参数与目标网络参数一致,表明待验证数据生成端是经过授权且合法的,则数据生成端可以接收该待验证数据生成端发送的待验证地址。
示例性地,待验证数据生成端包括实验端1。数据存储端根据接收到的实验端1发送的数据生成指令,可以获取实验端1当前的待验证网络参数,包括实验端1当前的IP地址。数据存储端通过查询数据存储区块链,可以获取区块链中已存储的实验端1的IP地址。数据存储端将获取的实验端1的当前IP地址和区块链中存储的实验端1的IP地址进行比较,若两者一致,则数据存储端可以接收实验端1发送的待验证地址。
示例性地,待验证数据生成端包括实验端1。数据存储端根据接收到的实验端1发送的数据生成指令,可以获取实验端1当前的待验证网络参数,包括实验端1当前的IP地址、子网掩码和主机名。数据存储端通过查询数据存储区块链,可以获取区块链中已存储的实验端1的IP地址、子网掩码和主机名。数据存储端可以将获取的实验端1的当前网络参数与区块链中存储的实验端1的网络参数进行比较,若一致,则数据存储端可以接收实验端1发送的待验证地址。
在一些实施方式中,若待验证网络参数与目标网络参数一致,参考图6所示,多源异构数据存储方法还可以包括以下步骤。
S610、获取数据存储区块链中存储的待验证数据生成端对应的数据私钥;其中,数据私钥是由数据存储端根据待存储目标数据的随机数生成并存储至数据存储区块链中的。
S620、将数据私钥发送至待验证数据生成端,以使待验证数据生成端根据数据私钥生成待验证第一地址,以及根据待验证标识生成待验证第二地址,以及根据待验证数据类型生成待验证第三地址;其中,待验证地址是根据待验证第一地址、待验证第二地址和待验证第三地址得到的。
其中,待验证数据生成端对应的数据私钥即待验证数据生成端生成的待存储目标数据对应的数据私钥。
具体地,数据存储端可以获取待存储目标数据的随机数,以根据随机数生成待存储目标数据的数据私钥,并将数据私钥存储至数据存储区块链中,作为待存储目标数据以及待验证数据生成端对应的数据私钥。在验证待验证数据生成端的待验证网络参数与目标网络参数一致的情况下,数据存储端可以从数据存储区块链中获取待验证数据生成端对应的数据私钥,并将数据私钥发送给待验证数据生成端。
待验证数据生成端在接收到数据私钥后,可以根据数据私钥生成对应的待验证第一地址,并根据从待验证数据生成端内提取的待验证标识生成待验证第二地址,以及根据从待验证数据生成端内提取的待验证数据类型生成待验证第三地址。根据待验证第一地址、待验证第二地址和待验证第三地址,待验证数据生成端可以得到待验证地址,并将待验证地址发送给数据存储端,以用于进行进一步的校验。
可以理解的是,根据待验证第一地址、待验证第二地址和待验证第三地址得到待验证地址的方式,与根据第一地址、第二地址和第三地址得到数据地址的方式相同。
在地址生成算法相同的情况下,根据数据私钥生成的待验证第一地址,与根据该数据私钥对应的数据公钥生成的第一地址应该相同。
需要说明的是,根据数据私钥生成待验证第一地址的方式,与前述根据数据公钥生成第一地址的方式相同;根据待验证标识生成待验证第二地址的方式,与前述根据数据生成端标识生成第二地址的方式相同;根据待验证数据类型生成待验证第三地址的方式,与前述根据数据类型生成第三地址的方式相同,具体不再赘述。
示例性地,待验证数据生成端包括实验端1,实验端1用于研究某个人体区域,并生成相应的影像数据。若数据存储端验证实验端1的当前待验证网络参数与预先存储在数据存储区块链中的存储参数(即目标网络参数)一致,则数据存储端可以从数据存储区块链中提取实验端1对应的私钥值,并将私钥值发送至实验端1。
实验端1可以在实验端1内提取实验端IP地址(即待验证标识)以及对应的影像数据的数据类型(即待验证数据类型)。实验端1基于提取到的实验端IP地址生成待测试的前段地址,即待验证第二地址,基于对应的影像数据的数据类型生成待测试的后段地址,即待验证第三地址,以及在实验端1内根据接收到的私钥值生成待测试的中段地址,即待验证第一地址。
实验端1可以将待测试的前段地址、中段地址及后段地址发送给数据存储端,或者,实验端1可以将待测试的前段地址、中段地址及后段地址进行有序组合,以得到待验证地址,并发送给数据存储端。
数据存储端验证待测试的前段地址、中段地址及后段地址与存储在数据存储区块链中的相应的影像数据的影像地址中的前段地址、中段地址及后段地址是否一致。若待测试的前段地址、中段地址及后段地址,与存储在数据存储区块链中的相应的影像地址中的前段地址、中段地址及后段地址均一致,则完成测试并可以生成安全的测试结果(即待验证数据生成端通过安全验证);若待测试的前段地址、中段地址及后段地址,与存储在验证节点中的相应的影像地址中的前段地址、中段地址及后段地址存在不一致,则完成测试并生成异常的测试结果(即待验证数据生成端未通过安全验证)。
上述实施方式中,通过复杂的地址生成逻辑和公钥私钥体系构建一套严密的安全验证机制,可以有效保障多源异构数据在存储过程中的安全性和完整性,同时也有助于促进数据管理的有序化和可控化。
在一些实施方式中,数据存储区块链还包括地址节点和验证节点;地址节点用于生成待存储目标数据的数据地址;验证节点用于基于数据地址和待验证数据生成端的待验证地址对待验证数据生成端进行安全验证,以及存储区块链地址。
其中,验证节点还可以用于对待验证数据生成端的待验证网络参数和目标网络参数进行验证。
具体地,可以对数据存储区块链中的区块链节点进行划分,得到具有不同的节点作用的地址节点、验证节点和存储节点。其中,地址节点可以根据一定的算法和规则,生成待存储目标数据的数据地址,确保待存储目标数据的可追溯性和安全性。
验证节点可以用于基于数据地址和待验证数据生成端的待验证地址对待验证数据生成端进行安全验证,以检查相应的数据地址和待验证地址是否一致或是否符合特定的验证规则。同时,验证节点还可以检查待验证数据生成端的网络参数是否与目标网络参数匹配,以确保待验证数据生成端以及对应生成的待存储目标数据的安全性和合法性。另外,验证节点还可以用于存储待存储目标数据的区块链地址,以此确保数据存储安全性的同时,维护区块链账本的完整性和可信度。
示例性地,以多个待验证数据生成端包括多组实验端为例,多组实验端分别用于生成不同人体区域的影像数据。利用地址节点为每组影像数据生成数据地址的过程可以包括:
步骤1.针对任一组影像数据,地址节点生成该组影像数据的随机数,并将随机数转为私钥值。
步骤2.地址节点利用椭圆曲线计算法生成该组影像数据的私钥值对应的公钥值,并将该组影像数据的私钥值发送至验证节点,同时可以作为该组影像数据的数据生成端标识对应的实验端的私钥值。
步骤3.地址节点基于SHA256加密方法,将该组影像数据的公钥值转为公钥哈希值,并选择公钥哈希值中的前4位及后6位哈希值作为该组影像数据的中段地址(即第一地址)。
步骤4.地址节点获取该组影像数据对应的实验端IP地址(即数据生成端标识),并对实验端IP地址执行哈希运算,得到该组影像数据的实验端哈希值,提取实验端哈希值的前8位哈希值作为该组影像数据的前段地址,即第二地址。
步骤5.地址节点确认该组影像数据的数据类型,并对该数据类型进行哈希运算,得到该数据类型的哈希值,将该数据类型的哈希值的后8位作为后段地址,即第三地址。
步骤6.地址节点按照前段地址、中段地址及后段地址的组合形式生成该组影像数据的数据地址,并将数据地址存储在验证节点中,以此可以利用地址节点生成每组影像数据的数据地址。
由此,可以理解的是,验证节点还可以用于存储待存储目标数据的数据地址。
相应地,示例性地,利用验证节点对每组实验端进行安全验证,以测试每组实验端的安全性的过程可以包括:
步骤1.针对任一组实验端,验证节点获取该组实验端的当前网络参数,并验证该组实验端的当前网络参数是否与预先存储在验证节点中的存储参数(即目标网络参数)一致。
步骤2.若该组实验端的网络参数与预先存储在验证节点中的存储参数不一致,则验证节点完成测试并生成异常的测试结果;若该组实验端的网络参数与预先存储在验证节点中的存储参数一致,则验证节点从本地中提取该组实验端对应的私钥值,并将私钥值发送至该组实验端。
步骤 3.在该组实验端内提取实验端IP地址(即待验证标识)及对应的影像数据的数据类型(即待验证数据类型)。
步骤4.该组实验端基于提取的实验端IP地址生成待测试的前段地址,即待验证第二地址,以及基于提取的对应的影像数据的数据类型生成待测试的后段地址,即待验证第三地址,以及在该组实验端内根据上述接收到的私钥值生成待测试的中段地址,即待验证第一地址。
步骤5.验证节点获取该组实验端发送的待测试的前段地址、中段地址及后段地址,并验证待测试的前段地址、中段地址及后段地址与存储在验证节点中的相应影像地址中的前段地址、中段地址及后段地址是否一致。
若待测试的前段地址、中段地址及后段地址,与存储在验证节点中的相应影像地址中的前段地址、中段地址及后段地址存在不一致,则验证节点完成测试并生成异常的测试结果。
若待测试的前段地址、中段地址及后段地址,与存储在验证节点中的相应影像地址中的前段地址、中段地址及后段地址均一致,则验证节点完成测试并生成安全的测试结果,以此,可以利用验证节点测试每组实验端的安全性,并得到测试结果,以使数据存储端将测试结果为安全的实验端所对应的影像数据存储至相应的目标存储节点,并将对应的区块链地址存储至验证节点。
上述实施方式中,通过将数据存储区块链中的节点按照节点的作用将节点类型拆分为地址节点类型、存储节点类型及验证节点类型,每种类型的节点各司其职,共同协作以实现多源异构数据的安全性验证和存储,以此有效提高多源异构数据的存储有效性。
在一些实施方式中,地址节点与待存储目标数据的数据类型对应。
具体地,数据存储端可以获取不同的待验证数据生成端生成的待存储目标数据的数据类型,以得到数据类型的数量,并从数据存储区块链中调用与数据类型的数量相同的地址节点,使一个地址节点服务于一种数据类型的待存储目标数据。因此,地址节点与待存储目标数据的数据类型对应。
示例性地,多个待验证数据生成端包括第1组实验端、第2组实验端、第3组实验端、第4组实验端和第5组实验端。其中,第1组实验端用于研究脑部CT,可以对应生成脑部CT的影像数据;第2组实验端用于研究消化食道,可以对应生成食道窥镜图的影像数据;第3组实验端也用于研究脑部CT,可以对应生成脑部CT的影像数据;第4组实验端用于研究腿部神经,可以对应生成腿部神经核磁图像的影像数据;第5组实验端用于研究颈椎,可以对应生成颈椎核磁图像的影像数据。
通过获取和统计上述5组实验室生成的影像数据的数据类型,数据存储端可以得到数据类型的数量为4,则数据存储端可以从数据存储区块链中调用4个地址节点,以使4个地址节点分别与4个数据类型对应。其中,1个地址节点服务于脑部CT图的影像数据类型,为脑部CT图的影像数据生成相应的数据地址;1个地址节点服务于食道窥镜图的影像数据类型,为食道窥镜图的影像数据生成相应的数据地址;1个地址节点服务于腿部神经核磁图像的影像数据类型,为腿部神经核磁图像的影像数据生成相应的数据地址;1个地址节点服务于颈椎核磁图像的影像数据类型,为颈椎核磁图像的影像数据生成相应的数据地址。
在一些实施方式中,待存储目标数据为多个,可用存储节点为多个,参考图7所示,根据待存储目标数据的数据量与可用存储节点的存储效率之间的对应关系确定待存储目标数据的目标存储节点,可以包括以下步骤。
S710、基于多个待存储目标数据各自的数据量对多个待存储目标数据进行排序,得到排序后数据。
S720、基于多个可用存储节点各自的存储效率对多个可用存储节点进行排序,得到排序后存储节点。
S730、根据排序后数据与排序后存储节点间的排序位置对应关系确定目标存储节点;其中,对应关系包括排序位置对应关系。
其中,多个待存储目标数据分别由多个待验证数据生成端生成,且一个待存储目标数据对应一个待验证数据生成端。
在本实施方式中,目标存储节点包括多个待存储目标数据各自的目标存储节点。
具体地,可以根据多个待存储目标数据各自的数据量大小对多个待存储目标数据进行升序排列,以得到排序后数据,有助于了解不同的待存储目标数据的数据存储需求的优先级或分布情况。按照同样的排序方式可以根据多个可用存储节点各自的存储效率对多个可用存储节点进行升序排列,以得到排序后存储节点,有助于了解不同的可用存储节点接收和处理数据的能力等。通过匹配排序后数据的排序位置与排序后存储节点的排序位置,可以确定排序位置对应关系,从而可以根据排序位置对应关系确定多个待存储目标数据各自的目标存储节点。
或者,也可以根据多个待存储目标数据各自的数据量大小对多个待存储目标数据进行降序排列,以得到排序后数据,并按照同样的排序方式根据多个可用存储节点各自的存储效率对多个可用存储节点进行降序排列,以得到排序后存储节点。通过匹配排序后数据的排序位置与排序后存储节点的排序位置,可以确定排序位置对应关系,从而可以根据排序位置对应关系确定多个待存储目标数据各自的目标存储节点。
示例性地,数据存储端在获取数据存储区块链中在当前时刻下所有可用的存储节点后,可以依次分别计算每个可用存储节点的存储效率。按照存储效率高低顺序,对所有可用存储节点执行降序排序,可以得到排序后存储节点,记为第一存储节点、第二存储节点、…、第p存储节点。按照待存储目标数据的数据量大小对待存储目标数据进行降序排序,可以得到排序后数据,记为第一数据、第二数据、……、第q数据。根据待存储目标数据的数据量与存储效率的对应关系,即,根据排序后的待存储目标数据和可用存储节点之间的排序位置对应关系,可以依次将测试结果为安全的所有待验证数据生成端的待存储目标数据依次存储至第一存储节点、第二存储节点、…、第q存储节点,其中,q小于或等于p。
示例性地,以待验证数据生成端为实验端,待存储目标数据为影像数据为例。假设可用存储节点共有30个,按照存储效率高低顺序,对所有可用存储节点执行降序排序,得到排序后存储节点,记为第1存储节点、第2存储节点、……、第30存储节点。假设经过安全验证且验证结果为安全的实验端共有5个,需要将5个实验端的共5份影像数据存储至30个可用存储节点中的5个可用存储节点中。假设按照数据量大小顺序,对5份影像数据进行降序排序,得到排序后数据,记为第1影像数据、第2影像数据、……、第5影像数据。根据排序后存储节点与排序后数据之间的排序位置对应关系,可以依次确定第1影像数据的目标存储节点为第1存储节点,第2影像数据的目标存储节点为第2存储节点,第3影像数据的目标存储节点为第3存储节点,第4影像数据的目标存储节点为第4存储节点,第5影像数据的目标存储节点为第5存储节点。由此,可以基于可用存储节点的存储效率选择出5个用于存储数据的可用存储节点。
需要说明的是,在一些场景中,也可以根据不同数据类型的待存储目标数据的数据量对多个待存储目标数据进行排序,得到排序后数据。因此,若存在对应有相同数据类型的待验证数据生成端,则同一个目标存储节点也可以用于存储对应有相同数据类型的待验证数据生成端生成的待存储目标数据。
示例性地,假设经过安全验证且验证结果为安全的实验端共有5个,分别记为第1组实验端、第2组实验端、第3组实验端、第4组实验端和第5组实验端。其中,第1组实验端生成脑部CT影像数据、第2组实验端生成食道窥镜图影像数据、第3组实验端也生成脑部CT影像数据、第4组实验端生成腿部神经核磁影像数据、第5组实验端生成颈椎核磁影像数据。第1组实验端和第3组实验端生成的影像数据属于相同的数据类型,因此,可以根据不同的数据类型,对上述4个数据类型的影像数据各自的数据量进行排序。
在一些实施方式中,参考图8所示,可以通过以下方式获取可用存储节点的存储效率:
S810、获取可用存储节点的历史存储记录数据;其中,历史存储记录数据包括历史存储数据量和历史存储时长。
S820、基于历史存储数据量和历史存储时长进行效率计算,得到存储效率。
其中,历史存储数据量可以是历史一段时间内成功存储的数据总量,也可以是历史一次或历史多次成功存储的数据总量。
历史存储时长是历史存储数据量对应的存储耗时。
具体地,数据存储端可以获取每个可用存储节点的历史存储记录数据,以从历史存储记录数据中获取可用存储节点的历史存储数据量和对应的历史存储时长。基于每个可用存储节点各自的历史存储数据量和历史存储时长进行效率计算,可以得到每个可用存储节点各自的存储效率。
在一些实施例中,存储效率可以是存储速度或存储吞吐量。
示例性地,针对任一可用存储节点,数据存储端可以获取该可用存储节点在历史一段时间内的历史存储数据量,以及该历史存储数据量对应的实际存储时长,作为历史存储时长。通过对该历史存储数据量和历史存储时长进行比值运算,可以得到该可用存储节点存储该历史存储数据量对应的数据时的平均速度(或平均吞吐量),以得到该可用存储节点的存储速度(或存储吞吐量),作为该可用存储节点的存储效率。
示例性地,针对任一可用存储节点,数据存储端也可以获取该可用存储节点历史一次存储数据时的历史存储数据量,以及该历史一次存储数据时的存储时长,作为历史存储时长。通过对该历史存储数据量和历史存储时长进行比值运算,可以得到该可用存储节点的历史存储速度,作为该可用存储节点的存储效率。
示例性地,针对任一可用存储节点,数据存储端还可以获取该可用存储节点历史每次存储数据时的历史存储数据量,以及历史每次存储数据时的历史存储时长。通过对历史每次的历史存储数据量和历史存储时长进行比值运算,可以得到该可用存储节点历史每次存储数据的历史存储速度,通过对历史每次的历史存储速度进行平均运算,可以得到该可用存储节点的平均存储速度,作为该可用存储节点的存储效率。
示例性地,针对任一可用存储节点,数据存储端还可以获取该可用存储节点历史多次存储数据时的数据总量,作为历史存储数据量,以及历史多次存储数据时的总时长,作为历史存储时长。通过对历史多次的历史存储数据量和历史存储时长进行比值运算,可以得到该可用存储节点的平均历史存储速度,作为该可用存储节点的存储效率。
在另一些实施例中,存储效率可以是根据存储速度、存储错误率等得到的。
示例性地,针对任一可用存储节点,数据存储端可以获取该可用存储节点在历史一段时间内的历史存储数据量,以及该历史存储数据量对应的历史存储时长,以计算得到该可用存储节点的存储速度。数据存储端还可以根据该可用存储节点在该历史一段时间内的成功存储的历史存储数据量以及未成功存储的数据总量,计算得到该可用存储节点的存储错误率。根据存储速度和存储错误率进行加权运算或其他运算,可以得到该可用存储节点的存储效率。
在一些实施方式中,历史存储记录数据还包括历史存储次数和历史存储网速;基于历史存储数据量和历史存储时长进行效率计算,得到存储效率,可以包括:根据历史存储数据量、历史存储时长、历史存储次数、历史存储网速,以及预设正相关函数进行效率计算,得到存储效率。
其中,历史存储次数可以是历史一段时间内成功存储数据的存储总次数,也可以是历史成功存储数据的存储总次数。
历史存储网速可以包括历史存储次数中每次存储数据时的网速。
在本实施方式中,历史存储数据量可以包括历史存储次数中每次存储数据时的数据量,历史存储时长可以包括历史存储次数中每次存储时的存储耗时。
预设正相关函数是历史存储次数中每次存储数据时,可用存储节点中已存储的数据量对应的正相关函数。
在一些情况中,基于历史存储数据量和历史存储时长可以计算得到可用存储节点的存储速度。由于存储效率还会受到存储数据时的网速、存储节点中已存储数据量等因素的影响,因此,存储速度越快并不能表示可用存储节点的性能越好,因此可以通过预先构建的存储效率计算公式,根据历史存储数据量、历史存储时长、历史存储次数、历史存储网速,以及预设正相关函数进行效率计算,得到可用存储节点的存储效率。
具体地,数据存储端可以获取每个可用存储节点的历史存储记录数据,以从历史存储记录数据中获取历史存储次数,以及历史存储次数中每次存储时的网速、数据量和存储时长,从而可以得到历史存储网速、历史存储数据量和历史存储时长。基于每个可用存储节点各自的历史存储数据量、历史存储时长、历史存储次数、历史存储网速,以及预设正相关函数进行效率计算,可以得到每个可用存储节点各自的存储效率。
在一些实施例中,可以利用以下公式计算存储效率:
其中,Dj表示第j个可用存储节点的存储效率;s为第j个存储节点的历史存储记录中存储数据的存储次数,即历史存储次数;vi表示第i次存储数据时第j个存储节点的存储速度,vi=DSi/ti,其中,DSi表示第j个存储节点在第i次存储数据时的数据量,ti表示第j个存储节点在第i次存储数据时的存储时长。
ui表示第i次存储数据时第j个可用存储节点的网速;δ(w)表示在执行第i次存储数据时,第j个可用存储节点中已存储的数据量w对应的正相关函数,其中,。
可以理解的是,上述实施例中,针对任一可用存储节点,可以根据该可用存储节点每次存储数据时的数据量和对应的存储时长计算该可用存储节点在单位时间内的存储速度,然后通过预先构建的上述存储效率计算公式进行存储效率的计算,因此,存储效率也可以称为存储速度对应的存储效率。需要说明的是,预设正相关函数可以采用一次函数或其他函数,可以是线性的、对数的、指数的或其他形式中的任一种,可以根据实际应用场景或应用需求或先验经验等设置,本说明书中不作具体限定。
上述实施方式中,通过引入历史存储记录数据中的历史存储数据量、历史存储时长、历史存储次数、历史存储网速,以及结合预设正相关函数,可以更加全面和准确地评估可用存储节点的存储效率,不仅考虑了可用存储节点处理数据的能力,还考虑了可用存储节点的稳定性、使用频率和网络性能等,从而可以提供更加综合和可靠的存储效率评估结果,以实现更准确地评估、动态调整存储策略,有助于提高数据存储系统的性能、效率和可维护性。
在一些实施方式中,待存储目标数据对应有数据地址;参考图9a所示,将待存储目标数据存储至目标存储节点,得到待存储目标数据的区块链地址,可以包括以下步骤。
S910、将待存储目标数据存储至目标存储节点,得到待存储目标数据的存储地址。
S920、根据数据地址和存储地址进行加密处理,得到区块链地址。
其中,存储地址可以根据待存储目标数据在目标存储节点中的存储位置得到。
在本说明书中,区块链地址也可以称为加密地址。
具体地,将待存储目标数据存储至目标存储节点后,可以根据待存储目标数据在目标存储节点中的存储位置得到待存储目标数据的存储地址。根据存储地址以及通过前述方法得到的数据地址,可以对数据地址和存储地址进行加密处理,以得到待存储目标数据对应的区块链地址。
在一些实施例中,可以对数据地址和存储地址分别进行加密处理,然后根据加密后的数据地址和加密后的存储地址得到相应的区块链地址。
在另一些实施例中,也可以将数据地址和存储地址进行组合,得到组合后地址,并对组合后地址进行加密处理,得到区块链地址。
进一步地,在得到待存储目标数据的数据地址和存储地址后,数据存储端可以将数据地址和存储地址存储在验证节点。为了保证数据地址和存储地址的安全性,通过对数据地址和存储地址进行加密处理生成待存储目标数据的唯一的区块链地址,数据存储端可以将区块链地址存储至验证节点,并将先前存储的待存储目标数据的数据地址和存储地址均删除,以仅在验证节点中存储区块链地址,从而在提高多源异构数据的存储效率的同时,提高数据存储的安全性。
需要说明的是,存储地址可以是物理地址,也可以是逻辑地址。本说明书对用于对数据地址和存储地址进行加密处理的算法不作具体限定。
示例性地,本说明书提供的多源异构数据存储方法可以应用于实验影像数据存储领域,实现基于实验影像数据的多源异构数据分析和存储方法。该方法的基本流程可以包括:
步骤1.接收多组实验端发起的数据生成指令,其中,每组实验端所生成的数据可以为不同类型的影像数据。
步骤2.根据数据生成指令启动数据存储区块链,其中,数据存储区块链由地址节点、存储节点及验证节点组成。通过按照节点的作用,将区块链节点分为地址节点、存储节点及验证节点,而非采用相关技术中的节点与数据类型绑定的方法,不同节点各司其职,可以有效提高区块链节点的存储资源利用率,并提高存储效率。
步骤3.获取每组影像数据的数据类型(每组实验端各自生成的影像数据的数据类型),并计算出数据类型的类型数量,从数据存储区块链中调用与类型数量相同的地址节点,其中,一个地址节点服务于一种数据类型的影像数据。
步骤4.利用地址节点分别为每组影像数据生成对应的影像地址,其中,影像地址的生成与每组影像数据对应的实验端IP地址(即对应本说明书中的数据生成端标识)以及数据类型相关。由此,可以通过地址节点根据影像数据的特征生成具有唯一标识的影像地址。
步骤5.将每组影像数据的影像地址分别存储至验证节点,并利用验证节点测试每组实验端的安全性,得到测试结果,其中,测试结果包括安全及异常两种测试结果,标记测试结果为异常的实验端,并生成异常指令反馈给相关管理后台或管理人员。
步骤6.将测试结果为安全的实验端所对应的影像数据存储至相应的存储节点,当存储成功时生成对应的存储地址。由此,通过验证节点验证影像数据的安全性,可以保证多源异构的影像数据的存储安全性。
步骤7.针对每组影像数据,分别基于影像地址和存储地址生成加密地址,并将加密地址存储至验证节点,以此完成多组实验端的影像数据存储。
由此,通过对多源异构类的影像数据的数据量和数据类型等,以及数据存储区块链中存储节点的存储性能执行合理分析,并根据分析结果执行对应存储,以实现不同类型的影像数据的高效存储,有效提高存储效率。
相应地,上述多源异构数据分析和存储方法可以应用于基于实验影像数据的多源异构数据分析和存储装置中,参考图9b所示,基于实验影像数据的多源异构数据分析和存储装置可以包括区块链启动模块、地址节点调用模块、实验端测试模块和影像数据存储模块。
其中,区块链启动模块,可以用于接收多组实验端发起的数据生成指令,并根据数据生成指令启动数据存储区块链,其中,每组实验端所生成的数据可以为不同类型的影像数据,数据存储区块链由地址节点、存储节点及验证节点组成。
地址节点调用模块,可以用于获取每组影像数据的数据类型,并计算出数据类型的类型数,从数据存储区块链中调用与类型数相同的地址节点,其中,一个地址节点服务于一种数据类型的影像数据。
实验端测试模块,可以用于利用地址节点为每组影像数据生成影像地址,将影像地址存储至验证节点,并利用验证节点测试每组实验端的安全性,得到测试结果,其中,影像地址的生成与每组影像数据对应的实验端IP地址及数据类型相关,测试结果包括安全及异常两种测试结果,标记测试结果为异常的实验端,并生成异常指令反馈给管理人员。
影像数据存储模块,可以用于将测试结果为安全的实验端所对应的影像数据存储至存储节点,当存储成功时生成存储地址,基于影像地址和存储地址生成加密地址,并将加密地址存储至验证节点,完成多组实验端的影像数据存储。
本说明书实施方式提供一种多源异构数据存储装置,应用于数据存储端,数据存储端包括数据存储区块链;数据存储端对应有至少一个数据生成端,不同数据生成端中的至少部分对应不同的数据类型;同一数据生成端生成的待存储数据属于同一数据类型。参考图10所示,多源异构数据存储装置1000可以包括:数据和节点确定模块1010、数据生成端验证模块1020、目标节点确定模块1030、区块链地址获取模块1040。
数据和节点确定模块1010,用于确定待验证数据生成端生成的待存储目标数据和数据存储区块链中的可用存储节点。
数据生成端验证模块1020,用于基于待存储目标数据的数据类型以及数据生成端标识对待验证数据生成端进行安全验证。
目标节点确定模块1030,用于若待验证数据生成端通过安全验证,根据待存储目标数据的数据量与可用存储节点的存储效率之间的对应关系确定待存储目标数据的目标存储节点。
区块链地址获取模块1040,用于将待存储目标数据存储至目标存储节点,得到待存储目标数据的区块链地址。
关于多源异构数据存储装置的具体限定可以参见上文中对于多源异构数据存储方法的限定,在此不再赘述。上述多源异构数据存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本说明书实施方式还提供一种计算机设备,参考图11所示,计算机设备1100可以包括存储器1110、处理器1120及存储在存储器1110上并可在处理器1120上运行的第一计算机程序1130,处理器1120执行第一计算机程序1130时,实现前述任一项实施方式中的多源异构数据存储方法。
本说明书实施方式还提供一种芯片,参考图12所示,芯片1200可以包括存储单元1210、处理单元1220及存储在存储单元1210上并可在处理单元1220上运行的第二计算机程序1230,处理单元1220执行第二计算机程序1230时,实现前述任一项实施方式中的多源异构数据存储方法。
本说明书实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述任一项实施方式中的多源异构数据存储方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (17)
1.一种多源异构数据存储方法,其特征在于,应用于数据存储端,所述数据存储端包括数据存储区块链;所述数据存储端对应有至少一个数据生成端,不同数据生成端中的至少部分对应不同的数据类型;同一数据生成端生成的待存储数据属于同一数据类型;所述方法包括:
确定待验证数据生成端生成的待存储目标数据和所述数据存储区块链中的可用存储节点;
基于所述待存储目标数据的数据类型以及数据生成端标识对所述待验证数据生成端进行安全验证;其中,所述基于所述待存储目标数据的数据类型以及所述数据生成端标识对所述待验证数据生成端进行安全验证,包括:基于所述数据类型和所述数据生成端标识生成所述待存储目标数据的数据地址;获取所述待验证数据生成端发送的待验证地址;将所述数据地址和所述待验证地址进行比较,以对所述待验证数据生成端进行安全验证;所述待验证地址是所述待验证数据生成端基于所述待验证数据生成端的待验证标识和待验证数据类型生成的;
若所述待验证数据生成端通过安全验证,根据所述待存储目标数据的数据量与所述可用存储节点的存储效率之间的对应关系确定所述待存储目标数据的目标存储节点;所述待存储目标数据为多个,所述可用存储节点为多个;所述根据所述待存储目标数据的数据量与所述可用存储节点的存储效率之间的对应关系确定所述待存储目标数据的目标存储节点,包括:基于多个所述待存储目标数据各自的数据量对多个所述待存储目标数据进行排序,得到排序后数据;基于多个所述可用存储节点各自的存储效率对多个所述可用存储节点进行排序,得到排序后存储节点;根据所述排序后数据与所述排序后存储节点间的排序位置对应关系确定所述目标存储节点;其中,所述对应关系包括所述排序位置对应关系;
将所述待存储目标数据存储至所述目标存储节点,得到所述待存储目标数据的区块链地址;通过以下方式获取所述可用存储节点的存储效率:获取所述可用存储节点的历史存储记录数据;其中,所述历史存储记录数据包括历史存储数据量、历史存储时长、历史存储次数和历史存储网速;根据所述历史存储数据量、所述历史存储时长、所述历史存储次数、所述历史存储网速,以及预设正相关函数进行效率计算,得到所述存储效率。
2.根据权利要求1所述的方法,其特征在于,通过以下方式确定所述待存储目标数据:
向所述待验证数据生成端发送数据测试指令;其中,所述数据测试指令用于指示所述待验证数据生成端在生成有所述待存储目标数据的情况下将所述待存储目标数据发送至所述数据存储端;
接收所述待验证数据生成端根据所述数据测试指令发送的所述待存储目标数据。
3.根据权利要求2所述的方法,其特征在于,所述数据测试指令还用于指示所述待验证数据生成端在所述待存储目标数据的数据量大于预设数据量阈值的情况下生成数据生成指令,并将所述待存储目标数据与所述数据生成指令发送至所述数据存储端;其中,所述数据生成指令用于指示所述数据存储端对所述待存储目标数据进行存储。
4.根据权利要求1所述的方法,其特征在于,在所述基于所述数据类型和所述数据生成端标识生成所述待存储目标数据的数据地址之前,所述方法还包括:
获取所述待存储目标数据的数据公钥;
所述基于所述数据类型和所述数据生成端标识生成所述待存储目标数据的数据地址,包括:
基于所述数据公钥生成第一地址,基于所述数据生成端标识生成第二地址,以及基于所述数据类型生成第三地址;
根据所述第一地址、所述第二地址和所述第三地址得到所述数据地址。
5.根据权利要求4所述的方法,其特征在于,通过以下方式获取所述数据公钥:
获取所述待存储目标数据的随机数;
根据所述随机数生成所述待存储目标数据的数据私钥,以基于所述数据私钥进行计算,得到所述数据公钥。
6.根据权利要求5所述的方法,其特征在于,通过以下任一方式获取所述随机数:
获取所述数据存储区块链在预设时间段内存储数据成功的成功次数和存储数据失败的失败次数;根据所述成功次数和所述失败次数进行概率计算,得到存储成功概率数据;基于所述存储成功概率数据得到所述随机数;或者
获取所述数据存储区块链在预设时间段内存储数据成功的成功次数和存储数据失败的失败次数;基于所述成功次数、所述失败次数、随机因子数据进行随机数计算,得到所述随机数。
7.根据权利要求4所述的方法,其特征在于,所述基于所述数据公钥生成第一地址,基于所述数据生成端标识生成第二地址,以及基于所述数据类型生成第三地址,包括:
对所述数据公钥进行哈希计算,得到公钥哈希数据;
将所述公钥哈希数据中第一预设位置处的哈希数据作为所述第一地址;
对所述数据生成端标识进行哈希计算,得到标识哈希数据;
将所述标识哈希数据中第二预设位置处的哈希数据作为所述第二地址;
对所述数据类型进行哈希计算,得到数据类型哈希数据;
将所述数据类型哈希数据中第三预设位置处的哈希数据作为所述第三地址。
8.根据权利要求4所述的方法,其特征在于,所述根据所述第一地址、所述第二地址和所述第三地址得到所述数据地址,包括:
将所述第二地址作为前段地址,将所述第一地址作为中段地址,以及将所述第三地址作为后段地址,以对所述第二地址、所述第一地址和所述第三地址进行组合,得到所述数据地址。
9.根据权利要求1所述的方法,其特征在于,在所述获取所述待验证数据生成端发送的待验证地址之前,所述方法包括:
根据所述待验证数据生成端发送的数据生成指令得到所述待验证数据生成端的待验证网络参数;
获取所述数据存储区块链中存储的所述待验证数据生成端的目标网络参数;
所述获取所述待验证数据生成端发送的待验证地址,包括:
若所述待验证网络参数与所述目标网络参数一致,获取所述待验证地址。
10.根据权利要求9所述的方法,其特征在于,若所述待验证网络参数与所述目标网络参数一致,所述方法还包括:
获取所述数据存储区块链中存储的所述待验证数据生成端对应的数据私钥;其中,所述数据私钥是由所述数据存储端根据所述待存储目标数据的随机数生成并存储至所述数据存储区块链中的;
将所述数据私钥发送至所述待验证数据生成端,以使所述待验证数据生成端根据所述数据私钥生成待验证第一地址,以及根据所述待验证标识生成待验证第二地址,以及根据所述待验证数据类型生成待验证第三地址;其中,所述待验证地址是根据所述待验证第一地址、所述待验证第二地址和所述待验证第三地址得到的。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述数据存储区块链还包括地址节点和验证节点;
所述地址节点用于生成所述待存储目标数据的数据地址;
所述验证节点用于基于所述数据地址和所述待验证数据生成端的待验证地址对所述待验证数据生成端进行安全验证,以及存储所述区块链地址。
12.根据权利要求11所述的方法,其特征在于,所述地址节点与所述待存储目标数据的数据类型对应。
13.根据权利要求1至10任一项所述的方法,其特征在于,所述待存储目标数据对应有数据地址;所述将所述待存储目标数据存储至所述目标存储节点,得到所述待存储目标数据的区块链地址,包括:
将所述待存储目标数据存储至所述目标存储节点,得到所述待存储目标数据的存储地址;
根据所述数据地址和所述存储地址进行加密处理,得到所述区块链地址。
14.一种多源异构数据存储装置,其特征在于,应用于数据存储端,所述数据存储端包括数据存储区块链;所述数据存储端对应有至少一个数据生成端,不同数据生成端中的至少部分对应不同的数据类型;同一数据生成端生成的待存储数据属于同一数据类型;所述装置包括:
数据和节点确定模块,用于确定待验证数据生成端生成的待存储目标数据和所述数据存储区块链中的可用存储节点;
数据生成端验证模块,用于基于所述待存储目标数据的数据类型以及数据生成端标识对所述待验证数据生成端进行安全验证;其中,所述基于所述待存储目标数据的数据类型以及所述数据生成端标识对所述待验证数据生成端进行安全验证,包括:基于所述数据类型和所述数据生成端标识生成所述待存储目标数据的数据地址;获取所述待验证数据生成端发送的待验证地址;将所述数据地址和所述待验证地址进行比较,以对所述待验证数据生成端进行安全验证;所述待验证地址是所述待验证数据生成端基于所述待验证数据生成端的待验证标识和待验证数据类型生成的;
目标节点确定模块,用于若所述待验证数据生成端通过安全验证,根据所述待存储目标数据的数据量与所述可用存储节点的存储效率之间的对应关系确定所述待存储目标数据的目标存储节点;所述待存储目标数据为多个,所述可用存储节点为多个;所述根据所述待存储目标数据的数据量与所述可用存储节点的存储效率之间的对应关系确定所述待存储目标数据的目标存储节点,包括:基于多个所述待存储目标数据各自的数据量对多个所述待存储目标数据进行排序,得到排序后数据;基于多个所述可用存储节点各自的存储效率对多个所述可用存储节点进行排序,得到排序后存储节点;根据所述排序后数据与所述排序后存储节点间的排序位置对应关系确定所述目标存储节点;其中,所述对应关系包括所述排序位置对应关系;
区块链地址获取模块,用于将所述待存储目标数据存储至所述目标存储节点,得到所述待存储目标数据的区块链地址;通过以下方式获取所述可用存储节点的存储效率:获取所述可用存储节点的历史存储记录数据;其中,所述历史存储记录数据包括历史存储数据量、历史存储时长、历史存储次数和历史存储网速;根据所述历史存储数据量、所述历史存储时长、所述历史存储次数、所述历史存储网速,以及预设正相关函数进行效率计算,得到所述存储效率。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有第一计算机程序,其特征在于,所述处理器执行所述第一计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
16.一种芯片,包括存储单元和处理单元,所述存储单元存储有第二计算机程序,其特征在于,所述处理单元执行所述第二计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410302111.1A CN117891820B (zh) | 2024-03-15 | 2024-03-15 | 多源异构数据存储方法、装置、设备、芯片及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410302111.1A CN117891820B (zh) | 2024-03-15 | 2024-03-15 | 多源异构数据存储方法、装置、设备、芯片及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117891820A CN117891820A (zh) | 2024-04-16 |
CN117891820B true CN117891820B (zh) | 2024-05-14 |
Family
ID=90647707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410302111.1A Active CN117891820B (zh) | 2024-03-15 | 2024-03-15 | 多源异构数据存储方法、装置、设备、芯片及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117891820B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118246079B (zh) * | 2024-05-29 | 2024-07-26 | 江西科技学院 | 一种基于云计算的电子信息安全存储系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177257A (zh) * | 2019-12-13 | 2020-05-19 | 东软集团股份有限公司 | 一种区块链的数据存储及访问方法、装置以及设备 |
CN111291420A (zh) * | 2020-01-21 | 2020-06-16 | 国家市场监督管理总局信息中心 | 一种基于区块链的分布式离链数据存储方法 |
CN111444550A (zh) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 基于区块链的业务数据的验证方法、装置及可读存储介质 |
CN115396123A (zh) * | 2021-05-06 | 2022-11-25 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN116628061A (zh) * | 2023-05-25 | 2023-08-22 | 数字广东网络建设有限公司 | 一种多源异构数据的采集方法、装置、设备及存储介质 |
CN117453810A (zh) * | 2023-09-26 | 2024-01-26 | 中国银行股份有限公司 | 异构数据处理方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11146546B2 (en) * | 2018-01-16 | 2021-10-12 | Acuant, Inc. | Identity proofing and portability on blockchain |
-
2024
- 2024-03-15 CN CN202410302111.1A patent/CN117891820B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177257A (zh) * | 2019-12-13 | 2020-05-19 | 东软集团股份有限公司 | 一种区块链的数据存储及访问方法、装置以及设备 |
CN111291420A (zh) * | 2020-01-21 | 2020-06-16 | 国家市场监督管理总局信息中心 | 一种基于区块链的分布式离链数据存储方法 |
CN111444550A (zh) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 基于区块链的业务数据的验证方法、装置及可读存储介质 |
CN115396123A (zh) * | 2021-05-06 | 2022-11-25 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN116628061A (zh) * | 2023-05-25 | 2023-08-22 | 数字广东网络建设有限公司 | 一种多源异构数据的采集方法、装置、设备及存储介质 |
CN117453810A (zh) * | 2023-09-26 | 2024-01-26 | 中国银行股份有限公司 | 异构数据处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117891820A (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117891820B (zh) | 多源异构数据存储方法、装置、设备、芯片及存储介质 | |
JP2018501567A (ja) | 装置検証方法及び機器 | |
RU2005112105A (ru) | Определение степени доступа к содержимому и тому подобному в системе защиты содержимого или тому подобного | |
CN110602135B (zh) | 网络攻击处理方法、装置以及电子设备 | |
US20190095760A1 (en) | Learning assistance device, method of operating learning assistance device, learning assistance program, learning assistance system, and terminal device | |
CN108768792B (zh) | 网络探测系统 | |
CN105825042A (zh) | 用于标识放射学数据集的数据系统 | |
CN113609533A (zh) | 一种面向智能电网数据的完整性审计方法 | |
CN110362700A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN112115507B (zh) | 基于云计算和信息数字化的云业务交互方法及大数据平台 | |
CN116775620B (zh) | 基于多方数据的风险识别方法、装置、设备及存储介质 | |
CN110020864A (zh) | 弱网环境下异常交易的识别方法、装置及设备 | |
CN116055664B (zh) | 一种用于视频处理进程的共享内存方法、装置及存储介质 | |
CN113938314B (zh) | 一种加密流量的检测方法及装置、存储介质 | |
CN112036884B (zh) | 一种签名方法及相关设备 | |
CN112734432B (zh) | 跨链数据处理方法和装置 | |
CN111212262B (zh) | 发现网吧异常行为人员的方法、装置、系统及存储介质 | |
CN109657447B (zh) | 一种设备指纹生成方法及装置 | |
CN111327666A (zh) | 服务管理方法、装置及系统、计算机设备、存储介质 | |
CN116403671B (zh) | 一种应用于医疗场景下的数据风险识别方法 | |
CN117319084B (zh) | 基于云端认证的医学检验数据共享方法和系统 | |
CN115829186B (zh) | 基于人工智能的erp管理方法及数据处理ai系统 | |
CN116664081B (zh) | 基于快办识别的案件数据固证处理方法、装置及设备 | |
CN111783154B (zh) | 一种老年人电子证照生成方法和系统 | |
US20230177151A1 (en) | System and method of microcontroller security |
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 |