[发明专利]一种结构化数据版本管理方法与系统有效
申请号: | 202010992620.3 | 申请日: | 2020-09-21 |
公开(公告)号: | CN112035554B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | 周春姐;戴鹏飞 | 申请(专利权)人: | 烟台云朵软件有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/31 |
代理公司: | 北京中济纬天专利代理有限公司 11429 | 代理人: | 潘剑敏 |
地址: | 264003 山东省烟台*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 结构 数据 版本 管理 方法 系统 | ||
本发明公开了一种结构化数据版本管理方法,包括以下步骤:建立以ID为头结点的倒排索引;当需要写入数据时,先获取头部版本号head,然后将head+1生成新版本号重新赋予head,再将新版本的数据插入到倒排索引头部;当获取最新数据时,只需要定位到目标ID索引节点,再获取首节点的数据即可;当需要获取历史版本时,则指针向后继续移动,一种结构化数据版本管理系统,包括数据版本储存和索引模块,数据版本生成写入模块和数据版本快速访问模块,将历史版本数据从原业务系统中剥离存储于更加易于管理、访问的外部非结构化数据库中,同时兼顾对历史数据版本的索引,最新版本的快速获取,通过独立版本存储与访问服务为业务系统降低数据版本管理的代价。
技术领域
本发明涉及信息技术领域,具体为一种结构化数据版本管理方法与系统。
背景技术
在信息技术领域,数据留痕与多版本共存是一个刚性需求,现在主流的做法是在原系统的数据库表结构中增加一个版本字段,将原来的更新操作转换为插入操作,每次更新版本号加1生成一个新的版本号,然后在系统中插入一条新的记录,亦或有些软件开发人员为了方便,直接使用时间戳作为版本号。此解决方案在数据量较少,且版本留存较少的情况下,性能与易用性上还可以,但在数据版本更新频繁,留痕要求严格的情况下,因每一个版本的获取均需要进行全表扫描或联合键扫描,会对原数据集造成巨大的数据压力,甚至影响到系统的正常访问。
数据历史版本的留存主要是为了解决数据的修改溯源问题,而不是一个高频需求,因此混合在一起的数据版本存储方案在扩展性、承载量及性能上都是一种不太理想的方案。
基于此,本发明设计了一种结构化数据版本管理方法与系统,以解决上述提到的如何建立易于存取的快速版本存储结构与索引结构、如何建立高效的数据写入机制和如何建立数据任意历史版本的快速获取问题。
发明内容
本发明的目的在于提供一种结构化数据版本管理方法与系统,本发明的方法是将历史版本数据从原业务系统中剥离出来,以一种特殊的方式存储于更加易于管理、访问的外部非结构化数据库中,同时兼顾对历史数据版本的索引,最新版本的快速获取等诉求。同时,通过本发明的方法,可以在不改变现有系统数据存储结构、引擎、介质的情况下,通过独立版本存储与访问服务为业务系统提供数据版本管理服务,极大地降低数据版本管理的代价。
为实现上述目的,本发明提供如下技术方案:一种结构化数据版本管理方法与系统,包括以下步骤:
S1:建立以ID为头结点的倒排索引,所述倒排索引使用链表结构,每个索引链上的第一个节点为最新版本的数据,后续节点上版本依次降低;
S2:根据写入的ID在倒排索引的ID中找到数据ID所在位置;
S3:获取数据所在位置中的Version与SHA256;
S4:计算当前数据的SHA256,并与版本库中当前最新版本的SHA256进行比较;
S5:若相同则忽略,不同则进入下一步;
S6:插入新版本数据,先获取头部数据版本N作为head,然后将头部数据版本N+1作为生成新数据版本,并重新赋予head,再将新数据版本插入到倒排索引头部;
S7:需要获取最新数据时,从ID中找到数据ID所在位置;
S8:定位数据所在目标数据ID的索引版本节点,直接获取首节点的数据,指针只需要移动一步;
S9:当需要获取历史版本数据时,则指针从首节点的数据向后继续移动至目标版本数据,取出目标数据版本的数据。
优选的,所述倒排索引链表的长度可根据版本的数量进行限制。
优选的,所述数据版本的结构包括数据ID、当前最新的数据版本号Version、最新数据入版本库的时间戳TS、当前最新数据的数据指纹。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烟台云朵软件有限公司,未经烟台云朵软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010992620.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置