[发明专利]面向列的缓存方法、装置、设备及计算机可读存储介质在审
申请号: | 201911326754.5 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111104067A | 公开(公告)日: | 2020-05-05 |
发明(设计)人: | 黄启军;黄铭毅;李诗琦;刘玉德;陈天健 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 王韬 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 缓存 方法 装置 设备 计算机 可读 存储 介质 | ||
本发明公开了一种面向列的缓存方法、装置、设备及计算机可读存储介质,所述方法包括:获取待缓存数据的列式格式信息;根据所述列式格式信息在内存资源中为所述待缓存数据分配内存块;将所述内存块添加至连续的虚拟内存中,并生成所述待缓存数据的元数据,其中,所述元数据中包括所述列式格式信息与所述虚拟内存之间的对应关系,以及所述虚拟内存与所述内存块之间的映射关系。本发明实现了跨进程计算时无需进行序列化和反序列化的操作,节省了计算资源,也提高了计算效率。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种面向列的缓存方法、装置、设备及计算机可读存储介质。
背景技术
随着大数据、人工智能等技术的发展,对计算机的数据处理效率要求也越来越高。现有的缓存系统在跨进程计算是需要序列化和反序列化操作,序列化是把对象转换为字节序列的过程称为对象的序列化,反序列化是把字节序列恢复为对象的过程称为对象的反序列化。而这两个过程均需要花费计算机的计算资源,从而导致计算机在跨进程计算时效率降低。
发明内容
本发明的主要目的在于提供一种面向列的缓存方法、装置、设备及计算机可读存储介质,旨在解决现有缓存系统在跨进程计算是需要序列化和反序列化操作,浪费计算资源的技术问题。
为实现上述目的,本发明提供一种面向列的缓存方法,所述面向列的缓存方法包括:
获取待缓存数据的列式格式信息;
根据所述列式格式信息在内存资源中为所述待缓存数据分配内存块;
将所述内存块添加至连续的虚拟内存中,并生成所述待缓存数据的元数据,其中,所述元数据中包括所述列式格式信息与所述虚拟内存之间的对应关系,以及所述虚拟内存与所述内存块之间的映射关系。
可选地,所述将所述内存块添加至连续的虚拟内存中,并生成所述待缓存数据的元数据的步骤之后,还包括:
当将所述待缓存数据进行列式缓存获得列式缓存数据后,为并行进程或并行线程指定所述列式缓存数据中的目标虚拟行或目标列;
调用所述并行进程或所述并行线程根据所述元数据,确定所述目标虚拟行或所述目标列对应的虚拟内存块,对所述虚拟内存块中的数据进行并行处理。
可选地,所述将所述内存块添加至连续的虚拟内存中,并生成所述待缓存数据的元数据的步骤之后,还包括:
当将所述待缓存数据进行列式缓存获得列式缓存数据后,根据所述元数据确定所述列式缓存数据中的待写入数据对应的目标内存块;
复制所述目标内存块中的内容至复制内存块中;
更新所述元数据,其中,更新后的所述元数据中所述待写入数据与所述复制内存块对应关联。
可选地,所述将所述内存块添加至连续的虚拟内存中,并生成所述待缓存数据的元数据的步骤之后,还包括:
当将所述待缓存数据进行列式缓存获得列式缓存数据后,根据所述元数据确定所述列式缓存数据中的待修改数据对应的目标内存块;
将所述待修改数据和修改后的值传入并发写入的汇编指令,执行所述并发写入的汇编指令以将所述目标内存块中的待修改数据更新为所述修改后的值。
可选地,所述将所述内存块添加至连续的虚拟内存中,并生成所述待缓存数据的元数据的步骤之后,还包括:
当将所述待缓存数据进行列式缓存获得列式缓存数据后,从所述列式缓存数据中确定目标虚拟块;
检测所述元数据中是否有与所述目标虚拟块重叠的已经锁定的虚拟块;
若没有,则将所述目标虚拟块对应的虚拟行信息或列信息添加至所述元数据中以锁定所述目标虚拟块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911326754.5/2.html,转载请声明来源钻瓜专利网。