CN116719822A - 一种海量结构化数据的存储方法及系统 - Google Patents

一种海量结构化数据的存储方法及系统 Download PDF

Info

Publication number
CN116719822A
CN116719822A CN202311002077.8A CN202311002077A CN116719822A CN 116719822 A CN116719822 A CN 116719822A CN 202311002077 A CN202311002077 A CN 202311002077A CN 116719822 A CN116719822 A CN 116719822A
Authority
CN
China
Prior art keywords
data
partition
storing
structured
preset
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
CN202311002077.8A
Other languages
English (en)
Other versions
CN116719822B (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.)
Shengzhen Linkapp Technology Co ltd
Original Assignee
Shengzhen Linkapp Technology Co ltd
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 Shengzhen Linkapp Technology Co ltd filed Critical Shengzhen Linkapp Technology Co ltd
Priority to CN202311002077.8A priority Critical patent/CN116719822B/zh
Publication of CN116719822A publication Critical patent/CN116719822A/zh
Application granted granted Critical
Publication of CN116719822B publication Critical patent/CN116719822B/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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

Abstract

本发明提供了一种海量结构化数据的存储方法及系统,所述方法包括:从数据源获取海量结构化数据;基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据;获取每个分区数据内的主数据,基于主数据对隶属的分区数据添加分类标签,根据分类标签对每个分区数据进行列存储;对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序;基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型;建立每个数据排列模型与对应分区数据的映射关系并存储至预设存储位置。本发明可以降低海量结构化存储数据的存储空间压力,提高数据处理效率。

Description

一种海量结构化数据的存储方法及系统
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种海量结构化数据的存储方法及系统。
背景技术
海量结构化数据是指大量且具有明确定义格式的数据集。这些数据以表格、数据库或其他结构化的形式存储,并且具备明确的数据模式和关系。与非结构化数据(如文本、图片、音频等)不同,海量结构化数据通常以规范化的方式存储,并且可以方便地进行查询、分析和处理。结构化数据通常具有预定义的数据模式,即数据的组织结构和域的类型在存储之前已经定义好。例如,在一个关系型数据库中,表定义了数据的列和数据类型,并且通过设置主键和外键等约束来定义数据之间的关系。这种结构化的数据模式使得数据的插入、更新和查询操作更加容易和高效。
然而,现有的海量结构化数据在存储时大多还是进行统一存储,忽略了海量速度对存储器带来的过载问题。且没有利用结构化数据具备明确定义格式的数据特点进行合理规划存储。且直接进行统一存储还会为后期的管理查询带来较大的数据处理压力,每次获取一个结构化数据都需要在海量的结构化数据中进行遍历查询,数据处理效率低下。如何有效地存储海量结构化数据是数据存储管理过程中一个亟待解决的技术问题。
发明内容
本发明旨在提供一种海量结构化数据的存储方法及系统,以解决上述技术问题,通过分区存储和列存储对海量结构化数据进行分散式存储,建立每个分区数据的数据排列模型,降低海量结构化存储数据的存储空间压力,提高数据处理效率。
为了解决上述技术问题,本发明提供了一种海量结构化数据的存储方法,包括:
从数据源获取海量结构化数据;
基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据;
获取每个分区数据内的主数据,基于主数据对隶属的分区数据添加分类标签,根据分类标签对每个分区数据进行列存储;
对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序;
基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型;
建立每个数据排列模型与对应分区数据的映射关系,将建立映射关系的每个数据排列模型存储至预设存储位置。
上述方案中,根据海量结构化数据的主数据进行分区存储,分散海量结构化数据的存储压力,避免因庞大的存储量拉低数据处理压力。而后根据每个分区数据内的主元素构建分类标签,基于构建的分类标签对每个分区数据进行分类切片,将分类后的数据进行列存储,从而进一步减少每个分区内的数据执行压力。进一步的,对每个分区数据内的数据分配唯一身份识别码,根据唯一身份识别码和对应的分类标签构建数据排列模型,并建立每个数据排列模型与对应分区数据的映射关系,基于建立的数据排列可以模型可以快速进行数据索引查询,无需在整个分区数据内对整个数据进行遍历查询,可以降低处理器的数据处理压力,提高响应速度。
在一种实现方式中,基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据,具体包括:
获取海量结构化数据的元数据;
基于每个元数据的类型对海量结构化数据进行分类,根据预设分区规则将分类后的海量结构化数据进行分区存储;其中,预设分区规则为:将属于第一预设类型元数据的数据存储至Oracle数据库;将属于第二预设类型元数据的数据存储至HBase数据库;将属于第三预设类型元数据的数据存储至Redis数据库。
在一种实现方式中,在计算每个分区数据内的数据与隶属的分类标签的相似度,基于相似度对每个数据进行排列前,还包括:
对每个分区数据内的数据进行分类标签数量检测;
当检测到同一个数据存在若干个分类标签时,判定数据为冗余数据;
获取冗余数据在每个分类标签的访问热度,将冗余数据的分类标签设置为最高访问热度的分类标签;
根据冗余数据的每个非最高访问热度分类标签建立冗余数据的数据描述符;
逐一对每个分区数据内的数据进行标签数量检测,直至每个数据仅存在一个分类标签。
在一种实现方式中,对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序,具体包括:
将每一列数据划分为若干个单位向量大小的数据块;
根据SIMD向量化排序算法对每一数据块进行排序;
对排序后的每个数据块进行合并,生成每一列数据的排序结果。
在一种实现方式中,基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型,具体包括:
根据每个数据的分类标签和排序结果对每个数据分配唯一身份识别码;
以每个分区数据内的分类标签为行元素,每个数据的唯一身份识别码为列元素构建数据排列模型;其中,数据排列模型为二维矩阵。
在一种实现方式中,建立每个数据排列模型与对应分区数据的映射关系,具体包括:
将每个二维矩阵进行转置,生成每个二维矩阵的转置矩阵;
根据每个转置矩阵的列元素进行存储区域定位,生成每个转置矩阵的映射分区数据;
根据每个转置矩阵的行元素进行逐元素定位,生成转置矩阵中每个行元素在映射分区数据中的数据位置。
在一种实现方式中,在将建立映射关系的每个数据排列模型存储至预设存储位置前,还包括对每个数据排列模型执行校验操作,具体包括:
对每个数据排列模型进行校验处理;其中,校验处理包括:数据格式校验、数据完整性校验、唯一性校验、逻辑性校验、异常值校验和数据一致性校验;
将不符合校验处理的数据排列模型进行回滚,直至所有的数据排列模型符合校验处理;
将通过校验处理的所有数据排列模型进行拼接,生成海量化结构数据的数据存储排列模型。
第二方面,本申请还提供一种海量结构化数据的存储系统,包括数据获取模块、数据分区模块、分区存储模块、数据排序模块、模型构建模块和映射建立模块;
数据获取模块用于从数据源获取海量结构化数据;
数据分区模块用于基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据;
分区存储模块用于获取每个分区数据内的主数据,基于主数据对隶属的分区数据添加分类标签,根据分类标签对每个分区数据进行列存储;
数据排序模块用于对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序;
模型构建模块用于基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型;
映射建立模块用于建立每个数据排列模型与对应分区数据的映射关系,将建立映射关系的每个数据排列模型存储至预设存储位置
上述方案中,根据海量结构化数据的主数据进行分区存储,分散海量结构化数据的存储压力,避免因庞大的存储量拉低数据处理压力。而后根据每个分区数据内的主元素构建分类标签,基于构建的分类标签对每个分区数据进行分类切片,将分类后的数据进行列存储,从而进一步减少每个分区内的数据执行压力。进一步的,对每个分区数据内的数据分配唯一身份识别码,根据唯一身份识别码和对应的分类标签构建数据排列模型,并建立每个数据排列模型与对应分区数据的映射关系,基于建立的数据排列可以模型可以快速进行数据索引查询,无需在整个分区数据内对整个数据进行遍历查询,可以降低处理器的数据处理压力,提高响应速度。
在一种实现方式中,基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据,具体包括:
获取海量结构化数据的元数据;
基于每个元数据的类型对海量结构化数据进行分类,根据预设分区规则将分类后的海量结构化数据进行分区存储;其中,预设分区规则为:将属于第一预设类型元数据的数据存储至Oracle数据库;将属于第二预设类型元数据的数据存储至HBase数据库;将属于第三预设类型元数据的数据存储至Redis数据库。
在一种实现方式中,在计算每个分区数据内的数据与隶属的分类标签的相似度,基于相似度对每个数据进行排列前,还包括:
对每个分区数据内的数据进行分类标签数量检测;
当检测到同一个数据存在若干个分类标签时,判定数据为冗余数据;
获取冗余数据在每个分类标签的访问热度,将冗余数据的分类标签设置为最高访问热度的分类标签;
根据冗余数据的每个非最高访问热度分类标签建立冗余数据的数据描述符;
逐一对每个分区数据内的数据进行标签数量检测,直至每个数据仅存在一个分类标签。
在一种实现方式中,对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序,具体包括:
将每一列数据划分为若干个单位向量大小的数据块;
根据SIMD向量化排序算法对每一数据块进行排序;
对排序后的每个数据块进行合并,生成每一列数据的排序结果。
在一种实现方式中,基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型,具体包括:
根据每个数据的分类标签和排序结果对每个数据分配唯一身份识别码;
以每个分区数据内的分类标签为行元素,每个数据的唯一身份识别码为列元素构建数据排列模型;其中,数据排列模型为二维矩阵。
在一种实现方式中,建立每个数据排列模型与对应分区数据的映射关系,具体包括:
将每个二维矩阵进行转置,生成每个二维矩阵的转置矩阵;
根据每个转置矩阵的列元素进行存储区域定位,生成每个转置矩阵的映射分区数据;
根据每个转置矩阵的行元素进行逐元素定位,生成转置矩阵中每个行元素在映射分区数据中的数据位置。
在一种实现方式中,在将建立映射关系的每个数据排列模型存储至预设存储位置前,还包括对每个数据排列模型执行校验操作,具体包括:
对每个数据排列模型进行校验处理;其中,校验处理包括:数据格式校验、数据完整性校验、唯一性校验、逻辑性校验、异常值校验和数据一致性校验;
将不符合校验处理的数据排列模型进行回滚,直至所有的数据排列模型符合校验处理;
将通过校验处理的所有数据排列模型进行拼接,生成海量化结构数据的数据存储排列模型。
第三方面,本申请还提供一种终端设备,包括处理器、存储器以及存储在存储器中且被配置为由处理器执行的计算机程序,处理器执行计算机程序时实现如上的海量结构化数据的存储方法。
第四方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行如上的海量结构化数据的存储方法。
附图说明
图1为本发明一实施例中提供的一种海量结构化数据的存储方法的流程示意图;
图2为本发明一实施例中提供的一种海量结构化数据的存储系统的模块结构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本申请的说明书和权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)元数据:元数据是描述数据的数据,用于对数据进行描述、解释和管理。它提供了关于数据的信息,包括数据的结构、格式、含义、来源以及数据间的关系等。
(2)主数据:主数据是对某个领域的核心业务对象进行标识、定义和管理的数据,它为企业提供了一致、准确的数据参考,确保各个业务系统之间的数据一致性。
实施例1,参见图1,图1为本发明一实施例中提供的一种海量结构化数据的存储方法的流程示意图。本发明实施例提供一种海量化结构化数据的存储方法,包括步骤101至步骤106,各项步骤具体如下:
步骤101:从数据源获取海量结构化数据。
海量结构化数据是指大量且具有明确定义格式的数据集。本发明实施例中,从数据库、数据仓库、日志文件、互联网数据、传感器数据、金融数据、公共数据集和企业内部数据等数据源获取海量结构化数据。
步骤102:基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据。
一实施例中,基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据,具体包括:获取海量结构化数据的元数据;基于每个元数据的类型对海量结构化数据进行分类,根据预设分区规则将分类后的海量结构化数据进行分区存储;其中,预设分区规则为:将属于第一预设类型元数据的数据存储至Oracle数据库;将属于第二预设类型元数据的数据存储至HBase数据库;将属于第三预设类型元数据的数据存储至Redis数据库。
获取海量结构化数据的元数据,一般的,元数据包含表信息元数据、列信息元数据、索引信息元数据、关系信息元数据、数据质量元数据、数据源信息元数据、数据访问权限元数据和数据变更历史元数据八个类型,不同类型元数据包含具体的元数据细则,表信息类型元数据包含表名和表结构(列明、数据类型、长度、约束)等元数据细则,列信息类型元数据包含包括列名、数据类型、长度和约束条件等元数据细则;索引信息类型元数据包含索引名称、类型、所属表、索引列等元数据细则;关系信息类型元数据包括表与表之间的关系、外键关系、参照完整性等元数据细则;数据质量类型元数据包括数据准确性、完整性、一致性、唯一性等元数据细则;数据源信息类型元数据包含数据来源、数据采集时间、数据格式等元数据细则;数据访问权限类型元数据包括对数据的访问权限、用户角色、数据敏感性等元数据细则;数据变更历史类型元数据包括数据的修改时间、修改人、修改操作等元数据细则。
根据元数据的类型对获取的海量结构化数据进行分类。而后根据不同类型数据库的存储特点设定分区规则,将不同类型的海量结构化数据进行分区存储。具体的,将属于表信息类型元数据、数据质量类型元数据和数据源信息类型的数据存储至Oracle数据库;将属于数据变更历史类型元数据和数据访问权限元数据的数据存储至HBase数据库;将属于列信息类型元数据、索引信息类型元数据和关系信息类型元数据的数据存储至Redis数据库。
步骤103:获取每个分区数据内的主数据,基于主数据对隶属的分区数据添加分类标签,根据分类标签对每个分区数据进行列存储。
一实施例中,在计算每个分区数据内的数据与隶属的分类标签的相似度,基于相似度对每个数据进行排列前,还包括:对每个分区数据内的数据进行分类标签数量检测;当检测到同一个数据存在若干个分类标签时,判定数据为冗余数据;获取冗余数据在每个分类标签的访问热度,将冗余数据的分类标签设置为最高访问热度的分类标签;根据冗余数据的每个非最高访问热度分类标签建立冗余数据的数据描述符;逐一对每个分区数据内的数据进行标签数量检测,直至每个数据仅存在一个分类标签。
一个结构化数据通常只对应一个主数据,但一个结构化数据可以关联多个元数据。例如,一个结构化数据可能同时存在结构元数据、语义元数据、来源元数据和关系元数据等多个元数据。本发明实施例中预先根据每个结构化数据的主数据类型进行分区存储,而后根据分区数据内的元数据添加分类标签,对每个分区数据进行进一步的切片,但由于一个结构化数据可能涉及多个元数据,因此一个结构化数据可能会在一个分区内的不同分类标签下重复出现,从而导致数据冗余。基于此,本发明实施例对每个分局内的结构化数据进行分类标签数量检测,当同一个结构化数据存在多个分类标签时,判定其为冗余数据。根据一定时间长度内,冗余数据在不同分类标签下的访问次数即可获取冗余数据在每个分类标签的访问热度,将最高访问热度的分类标签作为冗余数据的主分类标签,剔除冗余数据在其余分类标签下的存储位置,从而减少分区存储时的数据冗余度。并根据每个冗余数据的每个非最高访问热度的分类标签建立冗余数据的数据描述,当调用冗余数据时,同步呈现该冗余数据的数据描述符,从而避免数据信息的丢失。作为本发明实施例的一个优化方案,还可以将每个冗余数据的非最高访问热度标签存储至固定存储区域,用户同样可以根据非最高访问热度对冗余数据进行存储、访问。逐一对每个分区数据内的数据进行标签数量检测,直至每个数据仅存在一个分类标签,实现对每个分区数据的冗余处理。
当每个分区数据中的数据仅存在一个分类标签时,以每个分类标签为列标题,将每个分类标签的对应的数据进行列存储,存储顺序可自定进行设定,一般根据数据的采集顺序进行初始排列存储。
步骤104:对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序。
一实施例中,对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序,具体包括:将每一列数据划分为若干个单位向量大小的数据块;根据SIMD向量化排序算法对每一数据块进行排序;对排序后的每个数据块进行合并,生成每一列数据的排序结果。
本发明实施例采用向量化操作对列存储数据进行排列操作,从而生成一个根据指定排序规则排序后的列存储结果。将列存储的数据分为若干个单位向量大小的数据块,根据SIMD向量化排序算法对划分的数据块进行排序,根据具体的存储要求可选择SIMD快速排序算法(SIMD QuickSort))或SIMD归并排序算法(SIMD MergeSort)对划分的数据块进行排序,上述两个SIMD排序算法属于本领域的常用技术手段,在此不做赘述。作为本发明实施例的一个优化方案,还可以在每个数据块中采用比较操作和交换操作,对数据块内部的数据进行数据排序交换。当每个数据块排序完成后,对排序后的数据块进行合并,生成每一列数据的排序结果。
步骤105:基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型。
一实施例中,基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型,具体包括:根据每个数据的分类标签和排序结果对每个数据分配唯一身份识别码;以每个分区数据内的分类标签为行元素,每个数据的唯一身份识别码为列元素构建数据排列模型;其中,数据排列模型为二维矩阵。
本发明实施例中,以每个结构化数据的分类标签作为身份识别码的前序值,结合每个结构化数据的排序结果生成每个数据的唯一身份识别码。作为本发明实施例的一个替代方案,还可以直接根据系统自动生成唯一标识符对每个结构化数据分配身份识别码,一般的,唯一标识符基于整数序列、全局唯一标识符(UUID)或哈希值等生成,上述标识符生成过程属于本领域的常规技术手段,在此不做赘述。根据每个分区数据内的分类标签为行元素,每个结构化数据的唯一身份识别码构建数据排列模型,数据排列模型为行列式二维矩阵。通过构建的数据排列矩阵可以对海量结构化数据进行初步索引,而后在对应映射的分区数据内快速进行定位,无需直接在数据库内进行遍历查询,可以降低数据查询处理压力,提高数据响应速度。
步骤106:建立每个数据排列模型与对应分区数据的映射关系,将建立映射关系的每个数据排列模型存储至预设存储位置。
一实施例中,建立每个数据排列模型与对应分区数据的映射关系,具体包括:将每个二维矩阵进行转置,生成每个二维矩阵的转置矩阵;根据每个转置矩阵的列元素进行存储区域定位,生成每个转置矩阵的映射分区数据;根据每个转置矩阵的行元素进行逐元素定位,生成转置矩阵中每个行元素在映射分区数据中的数据位置。为了实现数据排列模型与对应分区数据的关联关系,本发明实施例建立每个数据排列模型与对应分区数据的映射关系。将每个二维矩阵进行转置,生成每个二维矩阵对应的转置矩阵,经过转置后的转置矩阵,其行元素为每个数据的唯一身份识别码,列元素为分区数据的分类标签。基于此,根据每个转置矩阵的列元素进行存储区域定位,获取每个转置区域所映射的数据存储区域,即映射的分区数据。进一步的,由于每个身份识别码中包含每个结构化数据的排序结果,因此可以根据每个转置矩阵的行元素进行逐元素定位,生成转置矩阵中每个行元素在映射分区数据中的数据位置,从而建立数据排列模型与分区数据的映射关系。
一实施例中,在将建立映射关系的每个数据排列模型存储至预设存储位置前,还包括对每个数据排列模型执行校验操作,具体包括:对每个数据排列模型进行校验处理;其中,校验处理包括:数据格式校验、数据完整性校验、唯一性校验、逻辑性校验、异常值校验和数据一致性校验;将不符合校验处理的数据排列模型进行回滚,直至所有的数据排列模型符合校验处理;将通过校验处理的所有数据排列模型进行拼接,生成海量化结构数据的数据存储排列模型。
在对海量数据进行存储时,数据校验是确保数据准确性、完整和一致性的关键步骤。在将建立映射关系的数据排列模型进行存储时,需要对每个数据排列模型进行执行校验操作。其中,数据格式校验用于验证数据是否符合预期的格式,例如日期格式、数值格式、文本格式等。可以通过使用正则表达式、数据类型检查等方法进行验证;数据完整性校验用于验证数据是否完整,即没有缺失值或数据不完整的情况,可以通过缺失值检测进行验证;唯一性校验用于检查数据中是否存在重复的记录或主键,可以使用唯一性约束或通过查询和聚合操作来进行数据中的重复性验证;逻辑性校验用于对数据进行逻辑上的验证,例如验证数据之间的关系、约束条件是否满足等,可以通过这具体的业务规则和逻辑规则进行验证;异常值校验用于识别和处理可能存在的异常值。异常值可能是由于数据录入错误、测量错误或其他异常情况导致的。可以通过使用统计、图表分析、规则检测等方法进行验证;数据一致性校验用于确保数据在不同数据源、不同系统或不同时间点之间的一致性。可通过比较和验证不同数据源中的数据是否一致,或与参考数据和标准进行比较进行校验。
将不符合校验处理的数据排列模型进行回滚,重新生成新的数据排列模型,直至所有的数据排列模型符合校验处理,将符合校验处理的所有数据排列模型进行拼接,即可生成海量化数据的数据存储排列模型。将生成的数据存储排列模型存储至预设存储位置,预设存储位置可以为硬盘等可实现快速响应的存储位置,通过建立映射关系后的数据排列存储模型即可实现对海量结构化数据的快速处理。
本发明实施例中,还提供了一种海量结构化数据的存储设备,包括处理器、存储器以及存储在存储器中且被配置为由处理器执行的计算机程序,处理器执行计算机程序时实现上述的基于扫描设备的数据收集方法。
本发明实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的基于扫描设备的数据收集方法。示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在海量结构化数据的存储设备中的执行过程。
海量结构化数据的存储设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。海量结构化数据的存储设备可包括,但不仅限于,处理器、存储器、显示器。本领域技术人员可以理解,上述部件仅仅是海量结构化数据的存储设备的示例,并不构成对海量结构化数据的存储设备的限定,可以包括比部件更多或更少的部件,或者组合某些部件,或者不同的部件,例如海量结构化数据的存储设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是海量结构化数据的存储设备的控制中心,利用各种接口和线路连接整个海量结构化数据的存储设备的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现海量结构化数据的存储设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,海量结构化数据的存储设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例提供一种海量结构化数据,根据海量结构化数据的主数据进行分区存储,分散海量结构化数据的存储压力,避免因庞大的存储量拉低数据处理压力。而后根据每个分区数据内的主元素构建分类标签,基于构建的分类标签对每个分区数据进行分类切片,将分类后的数据进行列存储,从而进一步减少每个分区内的数据执行压力。进一步的,对每个分区数据内的数据分配唯一身份识别码,根据唯一身份识别码和对应的分类标签构建数据排列模型,并建立每个数据排列模型与对应分区数据的映射关系,基于建立的数据排列可以模型可以快速进行数据索引查询,无需在整个分区数据内对整个数据进行遍历查询,可以降低处理器的数据处理压力,提高响应速度。
实施例2,参见图2,图2为本发明一实施例中提供的一种海量结构化数据的存储系统的模块结构图。本发明实施例提供一种海量结构化数据的存储系统,包括数据获取模块201、数据分区模块202、分区存储模块203、数据排序模块204、模型构建模块205和映射建立模块206;
数据获取模块201用于从数据源获取海量结构化数据;
数据分区模块202用于基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据;
分区存储模块203用于获取每个分区数据内的主数据,基于主数据对隶属的分区数据添加分类标签,根据分类标签对每个分区数据进行列存储;
数据排序模块204用于对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序;
模型构建模块205用于基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型;
映射建立模块206用于建立每个数据排列模型与对应分区数据的映射关系,将建立映射关系的每个数据排列模型存储至预设存储位置。
一实施例中,基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据,具体包括:获取海量结构化数据的元数据;基于每个元数据的类型对海量结构化数据进行分类,根据预设分区规则将分类后的海量结构化数据进行分区存储;其中,预设分区规则为:将属于第一预设类型元数据的数据存储至Oracle数据库;将属于第二预设类型元数据的数据存储至HBase数据库;将属于第三预设类型元数据的数据存储至Redis数据库。
一实施例中,在计算每个分区数据内的数据与隶属的分类标签的相似度,基于相似度对每个数据进行排列前,还包括:对每个分区数据内的数据进行分类标签数量检测;当检测到同一个数据存在若干个分类标签时,判定数据为冗余数据;获取冗余数据在每个分类标签的访问热度,将冗余数据的分类标签设置为最高访问热度的分类标签;根据冗余数据的每个非最高访问热度分类标签建立冗余数据的数据描述符;逐一对每个分区数据内的数据进行标签数量检测,直至每个数据仅存在一个分类标签。
一实施例中,对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序,具体包括:将每一列数据划分为若干个单位向量大小的数据块;根据SIMD向量化排序算法对每一数据块进行排序;对排序后的每个数据块进行合并,生成每一列数据的排序结果。
一实施例中,基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型,具体包括:根据每个数据的分类标签和排序结果对每个数据分配唯一身份识别码;以每个分区数据内的分类标签为行元素,每个数据的唯一身份识别码为列元素构建数据排列模型;其中,数据排列模型为二维矩阵。
一实施例中,建立每个数据排列模型与对应分区数据的映射关系,具体包括:将每个二维矩阵进行转置,生成每个二维矩阵的转置矩阵;根据每个转置矩阵的列元素进行存储区域定位,生成每个转置矩阵的映射分区数据;根据每个转置矩阵的行元素进行逐元素定位,生成转置矩阵中每个行元素在映射分区数据中的数据位置。
一实施例中,在将建立映射关系的每个数据排列模型存储至预设存储位置前,还包括对每个数据排列模型执行校验操作,具体包括:对每个数据排列模型进行校验处理;其中,校验处理包括:数据格式校验、数据完整性校验、唯一性校验、逻辑性校验、异常值校验和数据一致性校验;将不符合校验处理的数据排列模型进行回滚,直至所有的数据排列模型符合校验处理;将通过校验处理的所有数据排列模型进行拼接,生成海量化结构数据的数据存储排列模型。
所属领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例提供一种海量结构化数据的存储系统,根据海量结构化数据的主数据进行分区存储,分散海量结构化数据的存储压力,避免因庞大的存储量拉低数据处理压力。而后根据每个分区数据内的主元素构建分类标签,基于构建的分类标签对每个分区数据进行分类切片,将分类后的数据进行列存储,从而进一步减少每个分区内的数据执行压力。进一步的,对每个分区数据内的数据分配唯一身份识别码,根据唯一身份识别码和对应的分类标签构建数据排列模型,并建立每个数据排列模型与对应分区数据的映射关系,基于建立的数据排列可以模型可以快速进行数据索引查询,无需在整个分区数据内对整个数据进行遍历查询,可以降低处理器的数据处理压力,提高响应速度。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。

Claims (10)

1.一种海量结构化数据的存储方法,其特征在于,包括:
从数据源获取海量结构化数据;
基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据;
获取每个分区数据内的主数据,基于主数据对隶属的分区数据添加分类标签,根据分类标签对每个分区数据进行列存储;
对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序;
基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型;
建立每个数据排列模型与对应分区数据的映射关系,将建立映射关系的每个数据排列模型存储至预设存储位置。
2.根据权利要求1所述的一种海量结构化数据的存储方法,其特征在于,基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据,具体包括:
获取海量结构化数据的元数据;
基于每个元数据的类型对海量结构化数据进行分类,根据预设分区规则将分类后的海量结构化数据进行分区存储;其中,预设分区规则为:将属于第一预设类型元数据的数据存储至Oracle数据库;将属于第二预设类型元数据的数据存储至HBase数据库;将属于第三预设类型元数据的数据存储至Redis数据库。
3.根据权利要求1所述的一种海量结构化数据的存储方法,其特征在于,在计算每个分区数据内的数据与隶属的分类标签的相似度,基于相似度对每个数据进行排列前,还包括:
对每个分区数据内的数据进行分类标签数量检测;
当检测到同一个数据存在若干个分类标签时,判定数据为冗余数据;
获取冗余数据在每个分类标签的访问热度,将冗余数据的分类标签设置为最高访问热度的分类标签;
根据冗余数据的每个非最高访问热度分类标签建立冗余数据的数据描述符;
逐一对每个分区数据内的数据进行标签数量检测,直至每个数据仅存在一个分类标签。
4.根据权利要求1所述的一种海量结构化数据的存储方法,其特征在于,对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序,具体包括:
将每一列数据划分为若干个单位向量大小的数据块;
根据SIMD向量化排序算法对每一数据块进行排序;
对排序后的每个数据块进行合并,生成每一列数据的排序结果。
5.根据权利要求1所述的一种海量结构化数据的存储方法,其特征在于,基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型,具体包括:
根据每个数据的分类标签和排序结果对每个数据分配唯一身份识别码;
以每个分区数据内的分类标签为行元素,每个数据的唯一身份识别码为列元素构建数据排列模型;其中,数据排列模型为二维矩阵。
6.根据权利要求5所述的一种海量结构化数据的存储方法,其特征在于,建立每个数据排列模型与对应分区数据的映射关系,具体包括:
将每个二维矩阵进行转置,生成每个二维矩阵的转置矩阵;
根据每个转置矩阵的列元素进行存储区域定位,生成每个转置矩阵的映射分区数据;
根据每个转置矩阵的行元素进行逐元素定位,生成转置矩阵中每个行元素在映射分区数据中的数据位置。
7.根据权利要求1所述的一种海量结构化数据的存储方法,其特征在于,在将建立映射关系的每个数据排列模型存储至预设存储位置前,还包括对每个数据排列模型执行校验操作,具体包括:
对每个数据排列模型进行校验处理;其中,校验处理包括:数据格式校验、数据完整性校验、唯一性校验、逻辑性校验、异常值校验和数据一致性校验;
将不符合校验处理的数据排列模型进行回滚,直至所有的数据排列模型符合校验处理;
将通过校验处理的所有数据排列模型进行拼接,生成海量化结构数据的数据存储排列模型。
8.一种海量结构化数据的存储系统,其特征在于,包括数据获取模块、数据分区模块、分区存储模块、数据排序模块、模型构建模块和映射建立模块;
数据获取模块用于从数据源获取海量结构化数据;
数据分区模块用于基于海量结构化数据的元数据对海量结构化数据进行分区存储,生成分区数据;
分区存储模块用于获取每个分区数据内的主数据,基于主数据对隶属的分区数据添加分类标签,根据分类标签对每个分区数据进行列存储;
数据排序模块用于对列存储的每一列数据执行预设向量化操作,基于预设向量化操作对每一列数据进行排序;
模型构建模块用于基于排序结果对每个数据分配唯一身份识别码,根据每个分区数据内的分类标签和身份识别码构建数据排列模型;
映射建立模块用于建立每个数据排列模型与对应分区数据的映射关系,将建立映射关系的每个数据排列模型存储至预设存储位置。
9.一种终端设备,其特征在于,包括处理器、存储器以及存储在存储器中且被配置为由处理器执行的计算机程序,处理器执行计算机程序时实现如权利要求1至7任意一项所述的海量结构化数据的存储方法。
10.一种计算机可读存储介质,其特征在于,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的海量结构化数据的存储方法。
CN202311002077.8A 2023-08-10 2023-08-10 一种海量结构化数据的存储方法及系统 Active CN116719822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311002077.8A CN116719822B (zh) 2023-08-10 2023-08-10 一种海量结构化数据的存储方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311002077.8A CN116719822B (zh) 2023-08-10 2023-08-10 一种海量结构化数据的存储方法及系统

Publications (2)

Publication Number Publication Date
CN116719822A true CN116719822A (zh) 2023-09-08
CN116719822B CN116719822B (zh) 2023-12-22

Family

ID=87875611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311002077.8A Active CN116719822B (zh) 2023-08-10 2023-08-10 一种海量结构化数据的存储方法及系统

Country Status (1)

Country Link
CN (1) CN116719822B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117289872A (zh) * 2023-10-10 2023-12-26 北京三博脑科医院有限公司 一种计算机大数据存储系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100865481B1 (ko) * 2007-05-14 2008-10-27 엔에이치엔(주) 삼차원으로 구조화된 데이터 모델을 이용하여 데이터를분산 관리하는 방법
CN104035956A (zh) * 2014-04-11 2014-09-10 江苏瑞中数据股份有限公司 一种基于分布式列存储的时间序列数据存储方法
WO2015109250A1 (en) * 2014-01-20 2015-07-23 Alibaba Group Holding Limited CREATING NoSQL DATABASE INDEX FOR SEMI-STRUCTURED DATA
US20170212680A1 (en) * 2016-01-22 2017-07-27 Suraj Prabhakar WAGHULDE Adaptive prefix tree based order partitioned data storage system
CN110268397A (zh) * 2016-12-30 2019-09-20 日彩电子科技(深圳)有限公司 应用于数据仓库系统的高效优化数据布局方法
US20190311051A1 (en) * 2018-04-04 2019-10-10 Sap Se Virtual columns to expose row specific details for query execution in column store databases
CN111090645A (zh) * 2019-10-12 2020-05-01 平安科技(深圳)有限公司 基于云存储的数据传输方法、装置及计算机设备
CN113655968A (zh) * 2021-08-24 2021-11-16 上海晋朔信息科技有限公司 非结构化数据存储方法
CN113761017A (zh) * 2021-01-28 2021-12-07 北京沃东天骏信息技术有限公司 相似性搜索方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100865481B1 (ko) * 2007-05-14 2008-10-27 엔에이치엔(주) 삼차원으로 구조화된 데이터 모델을 이용하여 데이터를분산 관리하는 방법
WO2015109250A1 (en) * 2014-01-20 2015-07-23 Alibaba Group Holding Limited CREATING NoSQL DATABASE INDEX FOR SEMI-STRUCTURED DATA
CN104035956A (zh) * 2014-04-11 2014-09-10 江苏瑞中数据股份有限公司 一种基于分布式列存储的时间序列数据存储方法
US20170212680A1 (en) * 2016-01-22 2017-07-27 Suraj Prabhakar WAGHULDE Adaptive prefix tree based order partitioned data storage system
CN110268397A (zh) * 2016-12-30 2019-09-20 日彩电子科技(深圳)有限公司 应用于数据仓库系统的高效优化数据布局方法
US20190311051A1 (en) * 2018-04-04 2019-10-10 Sap Se Virtual columns to expose row specific details for query execution in column store databases
CN111090645A (zh) * 2019-10-12 2020-05-01 平安科技(深圳)有限公司 基于云存储的数据传输方法、装置及计算机设备
CN113761017A (zh) * 2021-01-28 2021-12-07 北京沃东天骏信息技术有限公司 相似性搜索方法和装置
CN113655968A (zh) * 2021-08-24 2021-11-16 上海晋朔信息科技有限公司 非结构化数据存储方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117289872A (zh) * 2023-10-10 2023-12-26 北京三博脑科医院有限公司 一种计算机大数据存储系统

Also Published As

Publication number Publication date
CN116719822B (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
CN111522816B (zh) 基于数据库引擎的数据处理方法、装置、终端及介质
US20210049163A1 (en) Data preparation context navigation
CN111459985B (zh) 标识信息处理方法及装置
CN111046034B (zh) 管理内存数据及在内存中维护数据的方法和系统
US9747349B2 (en) System and method for distributing queries to a group of databases and expediting data access
CN110659282B (zh) 数据路由的构建方法、装置、计算机设备和存储介质
CN116719822B (zh) 一种海量结构化数据的存储方法及系统
CN111159184A (zh) 元数据追溯方法、装置及服务器
US20180357278A1 (en) Processing aggregate queries in a graph database
CN111639077B (zh) 数据治理方法、装置、电子设备、存储介质
CN115905630A (zh) 一种图数据库查询方法、装置、设备及存储介质
CN111125199B (zh) 一种数据库访问方法、装置及电子设备
He et al. Stylus: a strongly-typed store for serving massive RDF data
CN115544183A (zh) 数据可视化方法、装置、计算机设备和存储介质
TW202020756A (zh) 數據權限管控方法及系統、計算機裝置及可讀存儲介質
CN114741368A (zh) 基于人工智能的日志数据统计方法及相关设备
CN110704635B (zh) 一种知识图谱中三元组数据的转换方法及装置
CN110321388B (zh) 一种基于Greenplum的快速排序查询方法及系统
CN116186116A (zh) 一种基于等保测评的资产问题分析方法
CN115114297A (zh) 数据轻量存储及查找方法、装置、电子设备及存储介质
CN111723129B (zh) 报表生成方法、报表生成装置和电子设备
CN114090547A (zh) 一种数据迁移的方法、装置、计算机设备及存储介质
CN114297236A (zh) 一种数据血缘分析方法、终端设备及存储介质
CN112527776A (zh) 数据稽核方法、装置及存储介质
CN112667859A (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