一种金融数据列式存储方法、系统、设备及存储介质技术方案

技术编号:34471695 阅读:19 留言:0更新日期:2022-08-10 08:45
本申请涉及数据存储的技术领域,公开了一种金融数据列式存储方法、系统、设备及存储介质,包括:将待存储的金融数据输入至列式存储引擎中,使金融数据形成若干列结构,所述列结构包括由金融数据分解而成的源数据以及用于标识源数据存放位置和类型的元数据;从若干所述列结构中复制元数据并存放在内存中,以形成元数据副本;将若干所述列结构列式存储于硬盘中,同一种源数据类型的列结构相邻存放;为数据库中的若干所述列结构设置索引列,并将所述索引列作为对齐列;本申请具有提高金融数据的访存效率的效果。访存效率的效果。访存效率的效果。

【技术实现步骤摘要】
一种金融数据列式存储方法、系统、设备及存储介质


[0001]本申请涉及数据存储的
,尤其是涉及一种金融数据列式存储方法、系统、计算机设备及存储介质。

技术介绍

[0002]数据引擎是一项非常重要的基建,在日常业务中,数以TB计算的数据已经无法存储在内存中,因此一个符合自身业务的数据引擎决定了项目的成败。目前业内比较出名的数据引擎有mysql,tidb,postgresql,oracle,kdb,clickhouse等,由于开源的数据引擎追求更广泛的通用性,因此在金融数据的存储上,并没有达到预期的性能目标。行式数据库由于内部数据的存储特征,在大规模的数据处理;中统计缓慢以列式引擎为主的clickhouse部署方案采用的是单独进程部署,由于其部署方式决定了交互需经过网络传输,不适用于高频请求场景。
[0003]而金融领域的数据,特别是股票类数据的存储中,每一支股票通常都包括收盘价、开盘价和总股本等数据,数据类型的一致性高,且其中需要经常更新和读取的数据类型少,但需要存放的股票数量确十分庞大。
[0004]因此,针对上述相关技术,专利技术人认为采用现有开源的数据存储引擎难以满足金融数据存储和读取的需求的问题。

技术实现思路

[0005]为了提高金融数据的访存效率,本申请提供一种金融数据列式存储方法、系统、计算机设备及存储介质。
[0006]本申请的专利技术目的一采用如下技术方案实现:一种金融数据列式存储方法,包括:将待存储的金融数据输入至列式存储引擎中,使金融数据形成若干列结构,所述列结构包括由金融数据分解而成的源数据以及用于标识源数据存放位置和类型的元数据;从若干所述列结构中复制元数据并存放在内存中,以形成元数据副本;将若干所述列结构列式存储于硬盘中,同一种源数据类型的列结构相邻存放;为数据库中的若干所述列结构设置索引列,并将所述索引列作为对齐列。
[0007]通过采用上述技术方案,将待存储的金融数据输入至列式存储引擎中,使金融数据分解后形成若干源数据,其中每一份源数据对应一支股票中一个类型的数据,为每一份源数据生成用于标识所述源数据存放位置和类型的元数据,并基于若干源数据和对应的元数据形成若干列结构;从若干列结构中复制一份元数据并存放在内存中,形成元数据副本,便于提高后续进行数据检索的效率,将若干列结构列式存储于硬盘中,且同一种源数据类型的列结构相邻存放,便于后续数据读取时增加数据读取效率,减少数据库的读写次数;为数据库中的若干列结构设置索引列,并将索引列作为对齐列,以便在进行区间查找的时候,能够更快的进行寻道获取到本次所需数据的索引列,加快数据的查找效率。
[0008]本申请在一较佳示例中:将若干所述列结构的元数据复制并存放在内存中的步骤之后,还包括:基于所述元数据副本建立一个基于B+树的数据结构。
[0009]通过采用上述技术方案,元数据副本加载完毕后,基于元数据副本建立一个基于B+树的数据结构,具有存储深度小,查找效率高的特点,同时能够减少查询时硬盘或内存的I/O次数,以实现利用元数据高效查找源数据的。
[0010]本申请在一较佳示例中:为数据库中的若干所述列结构设置索引列,并将所述索引列作为对齐列的步骤之后,还包括:获取数据更新指令,判断数据更新类型,所述数据更新类型包括变更和追加;若所述数据更新类型为追加,则进一步判断源数据的预留空间是否充足;若源数据的预留空间充足,则获取列结构的写锁,将待更新数据进行分解后添加至对应的列结构的源数据中。
[0011]通过采用上述技术方案,当获取到数据更新指令时,判断数据更新类型,以便采取相应的更新方案,数据更新类型包括变更和追加,若数据更新的类型为追加,则进一步判断源数据的预留空间是否足以存放需要追加的待更新数据,若源数据的预留空间足以存放需要追加的待更新数据,则获取相应列结构的写锁,将待更新数据进行分解后添加至对应的列结构的源数据中,以更新相应的列结构中存储的源数据。
[0012]本申请在一较佳示例中:若所述数据更新类型为追加,则进一步判断元数据的预留空间是否充足的步骤之后,还包括:若源数据的预留空间不充足,则复制一份元数据和源数据到新的存储块中;基于待更新数据对源数据进行变更,并修改元数据的版本信息;基于修改后的元数据对B+树进行树结构平衡,使修改后的元数据在B+树中的权重比修改前的元数据的权重更高,当下一次基于元数据查找时将获取到最新写入的源数据。
[0013]通过采用上述技术方案,若数据更新的类型为追加,且若元数据的预留空间不足以存放需要追加的待更新数据时,则复制一份元数据和源数据到新的存储块中,基于待更新数据对新的存储块中的源数据进行追加,并修改相应的源数据中的版本信息,基于修改后的元数据对B+树进行树结构平衡,使修改后的元数据在B+树中的权重比修改前的元数据的权重更高,以在后续接收到读操作信号时将更新后的列结构中的源数据复制至内存中,从而阻断旧版本的源数据的获取行为。
[0014]本申请在一较佳示例中:获取数据更新指令,判断数据更新类型,所述数据更新类型包括变更和追加的步骤之后,还包括:若所述数据更新类型为变更,则复制一份元数据和源数据到新的存储块中;基于待更新数据对源数据进行变更,并修改元数据的版本信息;基于修改后的元数据对B+树进行树结构平衡,使修改后的元数据在B+树中的权重比修改前的元数据的权重更高,下一次通过元数据访问时,即可阻断旧的源数据,返回最新归档的源数据。
[0015]通过采用上述技术方案,若数据更新类型为变更,则复制一份元数据和源数据到新的存储块中,基于待更新数据对新的存储块中的源数据进行变更,并修改相应的源数据中的版本信息,基于修改后的元数据对B+树进行树结构平衡,使修改后的元数据在B+树中
的权重比修改前的元数据的权重更高,以在后续接收到读操作信号时将更新后的列结构中的源数据复制至内存中,从而阻断旧版本的源数据的获取行为。
[0016]本申请在一较佳示例中:基于修改后的元数据对B+树进行树结构平衡,使修改后的元数据在B+树中的权重比修改前的元数据的权重更高的步骤之后,还包括:定期获取元数据的版本信息,并结合元数据的用户引用计数信息进行判断,以对旧版本的元数据以及对应的源数据进行清理,以减少数据库中的数据量。
[0017]通过采用上述技术方案,定期获取所有元数据的版本信息,结合各元数据的用户引用计数信息进行判断,以定期对旧版本元数据和对应的源数据进行清理,减少硬盘空间的占用;同时通过引用计数信息判断是否删除旧版本的数据,以达到数据写入时不影响读取的效果。
[0018]一种列式存储金融数据读取方法,所述列式存储金融数据读取方法用于读取上述任一金融数据列式存储方法所存储的金融数据,包括:获取金融数据读取信号,从内存中查询所述金融数据读取信号对应的元数据;获取读锁,基于所述元数据对硬盘进行一次寻道,以定位对应的列结构;将列结构中的源数据复制至内存中以供发出读操作信号的用户获取。
[0019]通过采用上述技术方案,当接收到来自用户端的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种金融数据列式存储方法,其特征在于:所述金融数据列式存储方法的步骤包括:将待存储的金融数据输入至列式存储引擎中,使金融数据形成若干列结构,所述列结构包括由金融数据分解而成的源数据以及用于标识源数据存放位置和类型的元数据;从若干所述列结构中复制元数据并存放在内存中,以形成元数据副本;将若干所述列结构列式存储于硬盘中,同一种源数据类型的列结构相邻存放;为数据库中的若干所述列结构设置索引列,并将所述索引列作为对齐列。2.根据权利要求1所述的一种金融数据列式存储方法,其特征在于:将若干所述列结构的元数据复制并存放在内存中的步骤之后,还包括:基于若干列结构的元数据建立一个基于B+树的数据结构。3.根据权利要求1所述的一种金融数据列式存储方法,其特征在于:为数据库中的若干所述列结构设置索引列,并将所述索引列作为对齐列的步骤之后,还包括:获取数据更新指令,判断数据更新类型,所述数据更新类型包括变更和追加;若所述数据更新类型为追加,则进一步判断源数据的预留空间是否充足;若源数据的预留空间充足,则获取列结构的写锁,将待更新数据进行分解后添加至对应的列结构的源数据中。4.根据权利要求3所述的一种金融数据列式存储方法,其特征在于:若所述数据更新类型为追加,则进一步判断元数据的预留空间是否充足的步骤之后,还包括:若元数据的预留空间不充足,则复制一份元数据和源数据到新的存储块中;基于待更新数据对源数据进行变更,并修改元数据的版本信息;基于修改后的元数据对B+树进行树结构平衡,使修改后的元数据在B+树中的权重比修改前的元数据的权重更高,下一次通过元数据访问时,即可阻断旧的源数据,返回最新归档的源数据。5.根据权利要求3所述的一种金融数据列式存储方法,其特征在于:获取数据更新指令,判断数据更新类型,所述数据更新类型包括变更和追加的步骤之后,还包括:若所述数据更新类型为变更,则复制一份元数据和源数据到新的存储块中;基于待更新数据对源数据进行变更,并修改元数据的版本信息;基于...

【专利技术属性】
技术研发人员:卢树文曾赞达罗文杰柯年军周伟杰谭彪荣
申请(专利权)人:广州经传多赢投资咨询有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1