CN117591625A - 一种数据存储方法、装置、存储介质及电子设备 - Google Patents

一种数据存储方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN117591625A
CN117591625A CN202410076461.0A CN202410076461A CN117591625A CN 117591625 A CN117591625 A CN 117591625A CN 202410076461 A CN202410076461 A CN 202410076461A CN 117591625 A CN117591625 A CN 117591625A
Authority
CN
China
Prior art keywords
data
stored
identifier
unstructured
acquisition
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.)
Granted
Application number
CN202410076461.0A
Other languages
English (en)
Other versions
CN117591625B (zh
Inventor
洪泓
刘仪阳
姚祥龙
潘爱民
李海燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202410076461.0A priority Critical patent/CN117591625B/zh
Publication of CN117591625A publication Critical patent/CN117591625A/zh
Application granted granted Critical
Publication of CN117591625B publication Critical patent/CN117591625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书公开了一种数据存储方法、装置、存储介质及电子设备,在此方法中,通过对目标数据源进行周期性数据采集,来得到目标数据源中的非结构化数据,并将根据每个非结构化数据对应的元数据生成该非结构化数据对应的数据标识,进而,使用数据标识作为判断依据对每次采集到的非结构化数据进行筛选,以得到待存储数据,同时对预设的数据标识表进行实时更新,并将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储。使用数据标识作为判断依据来确定待存储的非结构数据,减少了数据冗余,并将这些待存储的非结构数据转化为结构化数据进行存储,大大提高了非结构化数据的存储效率以及查询效率。

Description

一种数据存储方法、装置、存储介质及电子设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种数据存储方法、装置、存储介质及电子设备。
背景技术
使用非结构化数据的方法能够对存储量大的数据源进行存储,也可以针对各种类型的数据进行存储,在天文数据、电商、视频监控等场景都有广泛应用,能够满足日益增长的数据存储需求。
但由于非结构化数据在实际应用中难以管理,导致在数据库中存储这些非结构数据时,存储效率也往往较低。
如何有效地实现对非结构化数据的管理,提高对非结构化数据的存储效率,则是一个亟待解决的问题。
发明内容
本说明书实施例提供一种数据存储方法、装置、存储介质及电子设备,以部分解决上述现有技术存在的问题。
本说明书实施例采用下述技术方案:
本说明书提供的一种数据存储方法,包括:
针对每个采集周期,获取在该采集周期所采集到的各非结构化数据;
针对在该采集周期所采集到每个非结构化数据,根据该非结构化数据对应的元数据,生成该非结构化数据对应的数据标识,其中,若所述元数据发生变化,该非结构化数据对应的数据标识也发生变化;
将在该采集周期所采集到每个非结构化数据对应的数据标识与预设的数据标识表中所存储的数据标识进行比对,并将未存储在数据标识表中的数据标识所对应的非结构化数据作为待存储数据;
将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储,并将所述各待存储数据对应的数据标识记录在所述数据标识表中。
可选地,针对每个非结构化数据,该结构化数据对应的元数据包括:该非结构化数据的文件路径、该非结构化数据对应的文件名、该非结构化数据的文件大小以及该非结构化数据的最新修改时间。
可选地,将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储,具体包括:
将每个待存储数据输入到预设的流式数据处理组件中,以通过所述流式数据处理组件,将各待存储数据转换成预设的数据格式;
将转换数据格式后的各待存储数据写入到预设的数据库中进行存储。
可选地,将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储,具体包括:
将每个待存储数据输入到预设的流式数据处理组件中,以通过所述流式数据处理组件,分别确定每个待存储数据所对应的线程;
通过每个待存储数据所对应的线程,将各待存储数据并行写入到预设的数据库中进行存储。
可选地,所述方法还包括:
针对在该采集周期所采集到的每个非结构化数据,若确定该非结构化数据对应的数据标识已存储在所述数据标识表中,则将所述数据标识表中记录的该非结构化数据的数据标识所对应的采集时间更新为该采集周期所对应的时间。
可选地,所述方法还包括:
当确定结束数据采集后,对预设的数据标识表中所存储的数据标识对应的采集时间进行扫描,确定出与数据采集结束时所对应的时间不匹配的采集时间,作为目标时间;
确定所述数据标识表中所述目标时间所对应的数据标识,作为待排除标识,并通过所述待排除标识,对数据库中存储的所述待排除标识所对应的数据进行排查。
本说明书提供的一种数据存储装置,包括:
获取模块,用于针对每个采集周期,获取在该采集周期所采集到的各非结构化数据;
生成模块,用于针对在该采集周期所采集到每个非结构化数据,根据该非结构化数据对应的元数据,生成该非结构化数据对应的数据标识,其中,若所述元数据发生变化,该非结构化数据对应的数据标识也发生变化;
确定模块,用于将在该采集周期所采集到每个非结构化数据对应的数据标识与预设的数据标识表中所存储的数据标识进行比对,并将未存储在数据标识表中的数据标识所对应的非结构化数据作为待存储数据;
存储模块,用于将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储,并将所述各待存储数据对应的数据标识记录在所述数据标识表中。
可选地,所述存储模块还用于,当确定结束数据采集后,对预设的数据标识表中所存储的数据标识对应的采集时间进行扫描,确定出与数据采集结束时所对应的时间不匹配的采集时间,作为目标时间;确定所述数据标识表中所述目标时间所对应的数据标识,作为待排除标识,并通过所述待排除标识,对数据库中存储的所述待排除标识所对应的数据进行排查。
本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种数据存储方法。
本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的一种数据存储方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
本说明书实施例中通过对目标数据源进行周期性数据采集,来得到目标数据源中的非结构化数据,并将根据每个非结构化数据对应的元数据生成该非结构化数据对应的数据标识,进而,使用每个非结构化数据对应的数据标识与预设的数据标识表中所存储的数据标识进行比对,以得到待存储数据,同时对预设的数据标识表进行实时更新,并将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储。
在此方法中,通过使用基于非结构化数据对应的元数据所生成的唯一数据标识作为判断依据,来确定待存储的非结构数据的方式,可以在筛选待存储的非结构化数据时有效地筛选出未被存储的非结构化数据,并且,在存储非结构化数据的过程中,可以基于生成的数据标识,按照结构化数据的方式对非结构化数据进行存储,这也大大提高了非结构化数据的存储效率,也进一步地提高了后续查询非结构化数据的效率。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书实施例提供的一种数据存储方法的流程示意图;
图2为本说明书实施例提供的一种数据存储系统架构图;
图3为本说明书实施例提供的一种数据存储装置的结构示意图;
图4为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书实施例提供的一种数据存储方法的流程示意图,包括:
S100:针对每个采集周期,获取在该采集周期所采集到的各非结构化数据。
以非结构化形式进行存储数据的方式可以灵活存储各种类型的数据,包括文件、图片、音频以及视频等,除此之外,以非结构化形式进行存储数据的方式还具有扩展性强和可移植性的特点,所以,以非结构化结构形式进行数据存储,可以适用于各种大数据处理场景,如在天文数据、电商、视频监控以及医学影像等场景中得到了广泛应用。
但是,非结构化数据进行存储时,同样的数据可能以不同的格式和存储形式在不同的位置中进行重复存储,会造成数据冗余,导致非结构化数据在实际应用中难以管理,并且,在数据库中进行存储非结构数据时,存储效率也往往较低。
综合上述问题,虽然现有技术也可以对非结构化数据以较好的形式进行存储,但仍会造成资源浪费以及存储效率低的问题。为了解决上述问题,在本说明书实施例中,针对目标数据源会进行周期性数据采集,每一个采集周期均会从目标数据源中采集非结构化数据,并根据采集到的每个非结构化数据对应的元数据生成该非结构化数据对应的数据标识,进而,将每个非结构化数据对应的数据标识与预设的数据标识表中所存储的数据标识进行比对,并将未查询到的数据标识所对应的非结构化数据作为待存储数据,同时,将各待存储数据对应的数据标识记录在所述数据标识表中,进一步地,将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储。
在此方法中,基于元数据生成的数据标识是唯一的数据标识,使用数据标识作为判断依据来确定待存储的非结构数据的方法,可以明确需要进行存储在预设的数据库中的非结构化数据,并且,将待存储的非结构数据转化为结构化数据的进行存储,大大提高了非结构化数据的存储效率。
对于本说明书提供的一种数据存储方法来说,可以通过诸如台式电脑、笔记本电脑等终端设备作为执行主体,也可以通过服务器作为执行主体。而为了便于描述,下面仅以服务器为执行主体,对本说明书提供的一种数据存储方法进行描述。
首先,服务器需要先获取到本轮采集周期所采集到的各非结构化数据。
在本说明书实施例中,在服务器进行采集数据之前,需要先确定目标数据源来确定采集范围,如,将数据源下的某个目录设定为目标数据源,针对文本、图像、音频以及视频等类型的非结构数据进行采集,采集过程中可以按照指定的时间间隔对目标数据源进行非结构化数据采集,其中,指定的时间间隔可以作为采集周期。
在本说明书中,服务器开始对目标数据源进行采集后,通过遍历的方式来获取目标数据源所存储的非结构化数据。
其中,这里提到的遍历的方式可以有多种,比如,使用深度优先算法对目标数据源进行遍历,来获取目标数据源所存储的非结构化数据。本说明书不对具体的遍历方式进行限定。
S102:针对在该采集周期所采集到每个非结构化数据,根据该非结构化数据对应的元数据,生成该非结构化数据对应的数据标识,其中,若所述元数据发生变化,该非结构化数据对应的数据标识也发生变化。
在本说明书实施例中,服务器得到采集后的各非结构化数据后,会对每个非结构化数据所对应元数据中包含的数据信息进行计算,以得到每个非结构化数据对应的数据标识。
其中,元数据是用于描述数据的数据,一个非结构化数据对应的元数据主要用于描述该非结构化数据的数据属性。例如,在本说明书中,非结构化数据所对应元数据中包含的数据信息主要包括:非结构化数据的文件路径、非结构化数据对应的文件名、非结构化数据的文件大小以及非结构化数据的最新修改时间,通过根据这些数据信息,来生成非结构化数据所对应的数据标识,进而,通过预设的数据标识表来对获取到的非结构化数据进行筛选,来得到需要进行存储的非结构化数据。
需要注意的是,这里提到的生成数据标识的方式有多种,如使用安全哈希算法1(Secure Hash Algorithm 1,SHA-1)、安全哈希算法256位(Secure Hash Algorithm 256-bit,SHA-256)等哈希函数来进行哈希计算,将生成的哈希值作为非结构化数据所对应的数据标识。
当然,除了使用哈希函数之外还可以使用其他方式生成数据标识,如,使用消息摘要算法第五版(messagedigest algorithm 5,MD5)生成信息摘要,将生成的信息摘要作为非结构化数据所对应的数据标识。
S104:将在该采集周期所采集到每个非结构化数据对应的数据标识与预设的数据标识表中所存储的数据标识进行比对,并将未存储在数据标识表中的数据标识所对应的非结构化数据作为待存储数据。
通过上述方法得到每个非结构化数据对应的数据标识后,服务器会将每个非结构化数据对应的数据标识在预设的数据标识表中所存储的数据标识进行查询,将未查询到的数据标识所对应的非结构化数据,作为待存储数据,并将待存储数据存储在预设的数据库中。
具体的,在本说明书实施例中,由于数据标识是根据非结构化数据对应的元数据生成的,元数据发生变化,则基于元数据生成的数据标识也会发生变化,所以,非结构化数据对应的数据标识是唯一的,因此,服务器根据非结构化数据对应的数据标识在预设的数据标识表中的查询结果,来判断该数据标识所对应的非结构化数据是否已存储在预设的数据库中,即,若查询到对应的数据标识,则该数据标识对应的非结构化数据已存储在预设的数据库中,无需进行重复存储,若无法查询到,则将该数据标识对应的非结构化数据作为待存储数据,并写入预设的数据库中进行存储。
当然,服务器在确定待存储数据的同时,也会根据查询结果对预设的数据标识表进行实时更新,即,对查询到的数据标识所对应的采集时间进行更新,更改为该非结构化数据对应的采集时间;对未查询到的数据标识对应的非结构化数据,即,待存储数据,在预设的数据标识表中进行记录,以便确定下一轮采集获取到的各非结构化数据中需要存储在预设的数据库中的待存储数据。
具体的,预设的数据标识表对待存储数据进行记录时,可以按照待存储数据对应的数据标识为键,获取到待存储数据的采集时间为值的键值对的形式,对预设的数据标识表对待存储数据进行记录。
需要注意说的是,预设的数据标识表位于中间存储,并且中间存储使用的是缓存型数据库(如,远程字典服务器(Remote Dictionary Server,Redis)、分布式内存缓存系统(Memcached)等),且读写速度很快,即,可以快速地在预设的数据标识表来查询非结构化数据对应的数据标识,大大提高了数据查询效率,进而,提高非结构化数据的存储效率。
S106:将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储,并将所述各待存储数据对应的数据标识记录在所述数据标识表中。
在本说明书实施例中,服务器针对每个待存储数据所对应的元数据进行解析,得到对应的数据信息,并将每个待存储数据对应的数据标识作为结构化数据的标识,进而,将每个待存储数据对应的数据标识与数据标识对应的数据信息以结构化数据的形式进行存储。
具体的,服务器将每个待存储数据输入到预设的流式数据处理组件后,预设的流式数据处理组件会将每个待存储数据输入到多个线程中,进而,每个线程会根据待存储数据所对应的元数据,来对在该线程中的待处理的待存储数据进行解析,以得到待存储数据所对应的元数据中所包含的数据信息,进而,预设的流式数据处理组件会将待存储数据所对应的数据标识以及对应的解析后的数据信息,转化为预设的数据格式,即,数据标识作为结构化数据的键,对应的解析后的数据信息作为值的形式,继而,通过每个待存储数据所对应的线程,将各待存储数据并行写入到预设的数据库中进行存储。
其中,预设的流式数据处理组件对接收到的待存储数据划分到多个线程的方法有多种,如,预设的流式数据处理组件会依次将接收到的待存储数据划分到多个线程中,或是根据接收到的待存储数据所对应的数据标识来将接收到的待存储数据划分到多个线程中等(例如,在数据标识为哈希值的情况下,将哈希值除以指定除数,得到余数,以将待存储数据划分至该余数对应的线程中)。
需要注意的是,这里提到的使用线程对待存储数据进行解析后得到的数据信息都包括,如,数据源类型,用于说明待存储数据是对象存储还是文件存储;数据名称,用于说明待存储数据以非结构化形式进行存储时所对应的名称;数据路径,用于说明待存储数据以非结构化形式进行存储时的路径名;数据大小,用于说明待存储数据以非结构化形式进行存储时所需要的存储空间大小;文件最新修改时间,用于说明待存储数据以非结构化形式进行存储时的最近上传时间;数据标识,用于说明待存储数据以结构化数据存储时所对应的标识等。
在本说明书中,预设的数据库包括但不限于传统关系型数据库、数据仓库以及数据湖(数据湖是一种以原始格式(通常是对象块或文件)存储数据的系统或存储库。数据湖通常包含一个机构的所有数据,并且支持各种不同类型的数据,包括结构化、半结构化和非结构化数据。它还具有强大的数据管理和分析功能,可以帮助机构快速获取洞察并进行决策)等。
除此之外,当确定结束数据采集后,对预设的数据标识表中所存储的数据标识对应的采集时间进行扫描,确定出与数据采集结束时所对应的时间不匹配的采集时间,作为目标时间,并将预设的数据标识表中目标时间所对应的数据标识,作为待排除标识,进而,通过待排除标识,对数据库中存储的待排除标识所对应的数据进行排查,以确保数据库中没有数据重复存储的现象。
例如,若数据采集结束时所对应的时间为a,则若是已被存储的非结构化数据在数据采集期间均没有发生变化的情况下,预设的数据标识表中的所存储数据标识对应的采集时间也应均为a,但是通过数据标识表中所记录的采集时间发现,部分数据标识对应的采集时间为b,则说明与采集时间b对应的数据标识所对应的非结构化数据可能对应两种情况,一种情况为该非结构化数据是之前未存储过的非结构化数据,另一种情况则是该非结构化数据是之前已经存储过的非结构化数据,只是因为出现了修改而导致数据标识发生了变化。
对于第二种情况来说,显然不应将其作为未存储过的非结构化数据进行存储,否则会造成重复存储的情况,导致存储空间资源的浪费。所以,对于在数据采集结束后数据标识表中与数据采集结束的时间不匹配的采集时间所对应的数据标识,则需要在数据库中对这些数据标识对应的非结构化数据进行排查,如可以从数据库中读取这些数据标识对应的非结构化数据的具体信息,并按照读取的具体信息,将其与其他存储在数据库中的非结构化数据进行比对,例如,可以通过读取非结构化数据的文件名,来判断这些非结构化数据是属于重复存储的数据,还是未被存储过的数据,若确定为重复存储的数据,则可以将存储时间位于最后的非结构化数据保留,其余的则进行删除,以释放更多的存储空间资源。
需要说明的是,本说明书中在确定出与数据采集结束时所对应的时间不匹配的采集时间的过程中分为几种情况,例如,若是数据采集结束的时间就定义为最后一个采集周期,那么只要采集时间不位于最后一个采集周期的,就视为与数据采集结束时所对应的时间不匹配的采集时间;再例如,若是数据采集结束时是指最后一个采集周期结束后过一段时间的某一时刻,那么只要采集时间不位于最后一个采集周期的,就视为与数据采集结束时所对应的时间不匹配的采集时间。
综上所述,通过使用基于元数据生成的唯一数据标识对每轮采集到的非结构化数据进行筛选,来得到待存储数据,极大地确保能够准确的筛选出未被存储在数据库中的非结构化数据,并且,使用预设的流式处理组件将待存储数据划分到多个线程中进行解析,实现了对大规模数据的并行处理,大大提高了数据处理效率。此外,预设的流式处理组件会将待存储数据对应的数据标识作为结构化数据的标识进行存储,这样可以实现对非结构化数据的有效管理,而利用每个待存储数据所对应的线程,将各待存储数据并行写入到预设的数据库中进行存储,则可以减少对网络带宽的需求,进一步提高了非结构化数据的存储效率。
并且,通过采集目标数据源中的不同类型的非结构化数据,来实现对非结构化数据的分类管理,除此之外,可以对已存储在预设数据库中的非结构化数据进行特定的数据信息的查询,如,使用最新修改时间来对数据进行查找,从而,进一步提高非结构化数据的查询效率。
图2为本说明书实施例提供的一种数据存储系统架构图。
如图2所示,本说明书中提供的数据存储系统架构图包括五部分,分别是:元数据采集器、数据源接入模块、元数据抽取模块、元数据存储模块以及元数据实时监测和更新模块。
在本说明书实施例中,通过使用元数据采集器来设定对目标数据源的采集规则,即,采集范围、采集类型及采集时间,进而,服务器会通过元数据实时监测和更新模块以采集时间为采集周期,每一个采集周期,通过遍历的方法来获取目标数据源中的非结构化数据,并根据非结构化数据所对应的元数据,生成非结构化数据对应的标识符,并通过与预设的数据标识表中所存储的数据标识进行对比,来确定待存储数据,同时,对预设的数据标识表进行实时更新,而后,将待存储数据传输给元数据抽取模块中,以通过元数据抽取模块中的流式数据处理组件将待存储数据转化为预设的数据格式,进而,将转化后的数据传输给元数据存储模块,来存储转化后的数据。
其中,元数据采集器用于确定针对目标数据源的采集规则;数据源接入模块用于根据不同外部数据源的连接规则,来进行和外部数据源的适配连接,以便于获取目标数据源所包含的非结构数据所对应的数据信息;元数据实时监测和更新模块用于采集目标数据源所包含的非结构数据,并使用数据标识对采集到的非结构数据进行筛选,以确定待存储的非结构化数据,以及对预设的数据标识表进行实时更新;元数据抽取模块用于将待存储的非结构化数据转化为预设的数据格式;元数据存储模块用于存储转化后的数据。
这样一来,基于元数据生成的唯一的数据标识对采集到的非结构化数据进行筛选,不仅可以确定出需要存储在预设数据库中的非结构化数据,减少数据冗余,还可进一步将数据标识作为非结构化数据转化成结构化数据对应的标识,对待存储的非结构化数据进行存储,来达到提高非结构化数据的存储效率的目的。
以上为本说明书实施例提供的一种数据存储方法,基于同样的思路,本说明书还提供了相应的装置、存储介质和电子设备。
图3为本说明书实施例提供的一种数据存储装置的结构示意图,所述装置包括:
获取模块301,用于针对每个采集周期,获取在该采集周期所采集到的各非结构化数据;
生成模块302,用于针对在该采集周期所采集到每个非结构化数据,根据该非结构化数据对应的元数据,生成该非结构化数据对应的数据标识,其中,若所述元数据发生变化,该非结构化数据对应的数据标识也发生变化;
确定模块303,用于将在该采集周期所采集到每个非结构化数据对应的数据标识与预设的数据标识表中所存储的数据标识进行比对,并将未存储在数据标识表中的数据标识所对应的非结构化数据作为待存储数据;
存储模块304,用于将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储,并将所述各待存储数据对应的数据标识记录在所述数据标识表中。
可选地,针对每个非结构化数据,该结构化数据对应的元数据包括:该非结构化数据的文件路径、该非结构化数据对应的文件名、该非结构化数据的文件大小以及该非结构化数据的最新修改时间。
可选地,所述存储模块304具体用于,将每个待存储数据输入到预设的流式数据处理组件中,以通过所述流式数据处理组件,将各待存储数据转换成预设的数据格式;将转换数据格式后的各待存储数据写入到预设的数据库中进行存储。
可选地,所述存储模块304具体用于,将每个待存储数据输入到预设的流式数据处理组件中,以通过所述流式数据处理组件,分别确定每个待存储数据所对应的线程;通过每个待存储数据所对应的线程,将各待存储数据并行写入到预设的数据库中进行存储。
可选地,所述确定模块303还用于,针对在该采集周期所采集到的每个非结构化数据,若确定该非结构化数据对应的数据标识已存储在所述数据标识表中,则将所述数据标识表中记录的该非结构化数据的数据标识所对应的采集时间更新为该采集周期所对应的时间。
可选地,所述存储模块304还用于,当确定结束数据采集后,对预设的数据标识表中所存储的数据标识对应的采集时间进行扫描,确定出与数据采集结束时所对应的时间不匹配的采集时间,作为目标时间;确定所述数据标识表中所述目标时间所对应的数据标识,作为待排除标识,并通过所述待排除标识,对数据库中存储的所述待排除标识所对应的数据进行排查。
本说明书还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可用于执行上述图1提供的一种数据存储方法。
基于图1所示的一种数据存储方法,本说明书实施例还提供了图4所示的电子设备的结构示意图。如图4,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的一种数据存储方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (10)

1.一种数据存储方法,其特征在于,包括:
针对每个采集周期,获取在该采集周期所采集到的各非结构化数据;
针对在该采集周期所采集到每个非结构化数据,根据该非结构化数据对应的元数据,生成该非结构化数据对应的数据标识,其中,若所述元数据发生变化,该非结构化数据对应的数据标识也发生变化;
将在该采集周期所采集到每个非结构化数据对应的数据标识与预设的数据标识表中所存储的数据标识进行比对,并将未存储在数据标识表中的数据标识所对应的非结构化数据作为待存储数据;
将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储,并将所述各待存储数据对应的数据标识记录在所述数据标识表中。
2.如权利要求1所述的方法,其特征在于,针对每个非结构化数据,该结构化数据对应的元数据包括:该非结构化数据的文件路径、该非结构化数据对应的文件名、该非结构化数据的文件大小以及该非结构化数据的最新修改时间。
3.如权利要求1所述的方法,其特征在于,将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储,具体包括:
将每个待存储数据输入到预设的流式数据处理组件中,以通过所述流式数据处理组件,将各待存储数据转换成预设的数据格式;
将转换数据格式后的各待存储数据写入到预设的数据库中进行存储。
4.如权利要求1或3所述的方法,其特征在于,将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储,具体包括:
将每个待存储数据输入到预设的流式数据处理组件中,以通过所述流式数据处理组件,分别确定每个待存储数据所对应的线程;
通过每个待存储数据所对应的线程,将各待存储数据并行写入到预设的数据库中进行存储。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
针对在该采集周期所采集到的每个非结构化数据,若确定该非结构化数据对应的数据标识已存储在所述数据标识表中,则将所述数据标识表中记录的该非结构化数据的数据标识所对应的采集时间更新为该采集周期所对应的时间。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
当确定结束数据采集后,对预设的数据标识表中所存储的数据标识对应的采集时间进行扫描,确定出与数据采集结束时所对应的时间不匹配的采集时间,作为目标时间;
确定所述数据标识表中所述目标时间所对应的数据标识,作为待排除标识,并通过所述待排除标识,对数据库中存储的所述待排除标识所对应的数据进行排查。
7.一种数据存储装置,其特征在于,包括:
获取模块,用于针对每个采集周期,获取在该采集周期所采集到的各非结构化数据;
生成模块,用于针对在该采集周期所采集到每个非结构化数据,根据该非结构化数据对应的元数据,生成该非结构化数据对应的数据标识,其中,若所述元数据发生变化,该非结构化数据对应的数据标识也发生变化;
确定模块,用于将在该采集周期所采集到每个非结构化数据对应的数据标识与预设的数据标识表中所存储的数据标识进行比对,并将未存储在数据标识表中的数据标识所对应的非结构化数据作为待存储数据;
存储模块,用于将每个待存储数据对应的数据标识作为结构化数据的标识,对各待存储数据进行存储,并将所述各待存储数据对应的数据标识记录在所述数据标识表中。
8.如权利要求7所述的装置,其特征在于,所述存储模块还用于,当确定结束数据采集后,对预设的数据标识表中所存储的数据标识对应的采集时间进行扫描,确定出与数据采集结束时所对应的时间不匹配的采集时间,作为目标时间;确定所述数据标识表中所述目标时间所对应的数据标识,作为待排除标识,并通过所述待排除标识,对数据库中存储的所述待排除标识所对应的数据进行排查。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-6任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-6任一项所述的方法。
CN202410076461.0A 2024-01-18 2024-01-18 一种数据存储方法、装置、存储介质及电子设备 Active CN117591625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410076461.0A CN117591625B (zh) 2024-01-18 2024-01-18 一种数据存储方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410076461.0A CN117591625B (zh) 2024-01-18 2024-01-18 一种数据存储方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN117591625A true CN117591625A (zh) 2024-02-23
CN117591625B CN117591625B (zh) 2024-04-12

Family

ID=89913750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410076461.0A Active CN117591625B (zh) 2024-01-18 2024-01-18 一种数据存储方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN117591625B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104160398A (zh) * 2012-03-13 2014-11-19 国际商业机器公司 结构化大对象(lob)数据
CN109213756A (zh) * 2018-10-22 2019-01-15 北京锐安科技有限公司 数据存储、检索方法、装置、服务器和存储介质
WO2019019957A1 (zh) * 2017-07-24 2019-01-31 阿里巴巴集团控股有限公司 一种发送电子券的方法及装置
CN109726178A (zh) * 2018-12-25 2019-05-07 中国南方电网有限责任公司 非结构化文件的交互应用方法、装置、计算机设备和存储介质
CN113656608A (zh) * 2021-08-18 2021-11-16 中国科学院软件研究所 一种面向软件定义卫星的大数据系统及数据自动处理方法
CN113986873A (zh) * 2021-09-26 2022-01-28 夏文祥 一种海量物联网数据模型化的处理、存储与共享方法
CN114064647A (zh) * 2021-11-16 2022-02-18 山东旗帜信息有限公司 一种基于流式处理的数据存储方法、设备及介质
CN114356878A (zh) * 2022-01-10 2022-04-15 中国银行股份有限公司 一种非结构化数据分布式存储方法及装置
CN115543198A (zh) * 2022-09-30 2022-12-30 招商局金融科技有限公司 非结构化数据入湖方法、装置、电子设备及存储介质
CN115576905A (zh) * 2022-11-02 2023-01-06 航天信息股份有限公司 档案文件管理方法、装置、电子设备和存储介质
CN115617799A (zh) * 2022-10-18 2023-01-17 支付宝(杭州)信息技术有限公司 一种数据存储的方法、装置、设备及存储介质
CN115981563A (zh) * 2022-12-29 2023-04-18 航天信息股份有限公司 一种交通影像信息的存储方法及系统
CN117271584A (zh) * 2023-09-15 2023-12-22 网易(杭州)网络有限公司 数据处理方法及装置、计算机可读存储介质和电子设备

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104160398A (zh) * 2012-03-13 2014-11-19 国际商业机器公司 结构化大对象(lob)数据
WO2019019957A1 (zh) * 2017-07-24 2019-01-31 阿里巴巴集团控股有限公司 一种发送电子券的方法及装置
CN109213756A (zh) * 2018-10-22 2019-01-15 北京锐安科技有限公司 数据存储、检索方法、装置、服务器和存储介质
CN109726178A (zh) * 2018-12-25 2019-05-07 中国南方电网有限责任公司 非结构化文件的交互应用方法、装置、计算机设备和存储介质
CN113656608A (zh) * 2021-08-18 2021-11-16 中国科学院软件研究所 一种面向软件定义卫星的大数据系统及数据自动处理方法
CN113986873A (zh) * 2021-09-26 2022-01-28 夏文祥 一种海量物联网数据模型化的处理、存储与共享方法
CN114064647A (zh) * 2021-11-16 2022-02-18 山东旗帜信息有限公司 一种基于流式处理的数据存储方法、设备及介质
CN114356878A (zh) * 2022-01-10 2022-04-15 中国银行股份有限公司 一种非结构化数据分布式存储方法及装置
CN115543198A (zh) * 2022-09-30 2022-12-30 招商局金融科技有限公司 非结构化数据入湖方法、装置、电子设备及存储介质
CN115617799A (zh) * 2022-10-18 2023-01-17 支付宝(杭州)信息技术有限公司 一种数据存储的方法、装置、设备及存储介质
CN115576905A (zh) * 2022-11-02 2023-01-06 航天信息股份有限公司 档案文件管理方法、装置、电子设备和存储介质
CN115981563A (zh) * 2022-12-29 2023-04-18 航天信息股份有限公司 一种交通影像信息的存储方法及系统
CN117271584A (zh) * 2023-09-15 2023-12-22 网易(杭州)网络有限公司 数据处理方法及装置、计算机可读存储介质和电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HAO DAI; YANG WANG; KENNETH B. KENT; LINGFANG ZENG; CHENGZHONG XU: "The State of the Art of Metadata Managements in Large-Scale Distributed File Systems — Scalability, Performance and Availability", IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 4 May 2022 (2022-05-04), pages 3850 *
徐英辉;祝恩国;赵睿;杨挺;: "MongoDB索引的用电信息非结构化数据存储方法", 电力系统及其自动化学报, no. 09, 15 September 2017 (2017-09-15), pages 97 - 101 *
陆慧: "对象存储技术在电子档案在线存储中的研究与应用", 中国档案, 31 December 2023 (2023-12-31), pages 61 - 63 *

Also Published As

Publication number Publication date
CN117591625B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
CN110399359B (zh) 一种数据回溯方法、装置及设备
CN110989939A (zh) 一种数据缓存处理方法、装置、设备及缓存组件
CN110083617B (zh) 一种ddl语句的处理方法、装置、电子设备和介质
US20240256613A1 (en) Data processing method and apparatus, readable storage medium, and electronic device
CN115617799A (zh) 一种数据存储的方法、装置、设备及存储介质
CN116521705A (zh) 一种数据查询方法、装置、存储介质及电子设备
CN116483859A (zh) 数据查询方法及装置
CN110245137B (zh) 一种索引的处理方法、装置及设备
CN116644090B (zh) 一种数据查询方法、装置、设备及介质
CN117591625B (zh) 一种数据存储方法、装置、存储介质及电子设备
CN116048977B (zh) 一种基于数据还原的测试方法及装置
CN116010419A (zh) 一种创建唯一索引和优化逻辑删除的方法及装置
WO2024001029A1 (zh) 一种维护区块链数据的方法、装置、电子设备和存储介质
CN116628010A (zh) 数据处理方法、装置及设备
CN117349401B (zh) 一种非结构化数据的元数据存储方法、装置、介质及设备
CN111241147B (zh) 一种数据采集方法、装置、电子设备及存储介质
CN117056316B (zh) 一种多源异构数据关联查询加速方法、装置及设备
CN118567791B (zh) 一种缓存方法、装置、存储介质以及电子设备
CN117992600B (zh) 一种业务执行方法、装置、存储介质以及电子设备
CN116521713B (zh) 一种数据查询的方法、装置、设备及存储介质
CN118378006B (zh) 一种溯源数据的评估方法、装置及设备
CN111581357B (zh) 一种基于专项辅助核算的处理方法、装置、设备及介质
CN116186035A (zh) 一种数据查询方法、装置、存储介质及电子设备
CN118277470A (zh) 一种数据转换方法、装置、电子设备及存储介质
CN118193802A (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