一种时序数据库的数据删除方法及系统技术方案

技术编号:15690936 阅读:96 留言:0更新日期:2017-06-24 03:44
本发明专利技术公开一种时序数据库的数据删除方法及系统,方法包括步骤:将多个时序数据库构建为一个组;将所有的组统一管理;以组为单元进行删除。需要对时序数据库进行删除时,以组为单元进行删除,因为一个组由多个时序数据库构建而成,同组的实例有的在执行删除,有的实例为正常的实例,用户此时查询正在执行删除任务的组时可以通过其他未执行删除的实例获取正常的结果,可以使得现有的时序数据库可以正常而快速的执行删除任务,当用户的删除数据量特别大时,也不会影响用户的正常查询数据的请求,并且保证了用户在整个过程获取的数据都是正确且一致的。

Data deletion method and system for time sequence database

The invention discloses a method and a system for deleting data in a sequential database, comprising the steps of constructing a plurality of time series databases into a group, managing all the groups in a unified way, and deleting groups as units. The need for temporal database is deleted by the group as a unit to delete, because a set composed of a plurality of temporal database, some instances of the same group in the implementation of some examples is deleted, the normal case, the user query is being executed to delete task set can delete the other by not obtaining normal examples the results can make the existing database can be a normal timing and fast delete tasks, when deleting data amount of users is large, normal query data does not affect the user's request, and to ensure that users in the process of obtaining the data are correct and consistent.

【技术实现步骤摘要】
一种时序数据库的数据删除方法及系统
本专利技术涉及数据库领域,更具体的说,涉及一种时序数据库的数据删除方法及系统。
技术介绍
随着云计算技术的发展,用户对计算资源使用的便捷性要求越来越高,与此同时就更希望能实时的对用户数据进行分析,于是专门针对这种时间维度追加的结构化数据库,即时序数据库应运而生。时序数据库因为数据以时间维度追加,故而可以根据这个特性压缩存储,但是一旦用户想要删除就需要对这些数据解压缩,同时为了确保数据的一致性及安全,在进行实际删除的过程会阻止数据的写入和查询。删除数据是一个很普遍的需求,用户在写错或者不用某些数据时,为了节省资源,就会删除。但是现有的删除会阻塞用户的正常请求,导致服务不可用。同时有些服务会因为有数据在写入导致删除任务特别慢。
技术实现思路
本专利技术所要解决的技术问题是提供一种执行删除任务同时保证数据一致、保证用户数据不丢失的时序数据库的数据删除方法及系统。本专利技术的目的是通过以下技术方案来实现的:一种时序数据库的数据删除方法,包括步骤:将多个时序数据库构建为一个组;将所有的组统一管理;以组为单元进行删除。进一步的,将多个时序数据库构建为一个组包括:同组的时序数据库实例部署在不同的服务器上、同组的时序数据库实例网络访问速度相当、同组的时序数据库实例磁盘存储空间相当和同组的时序数据库实例各自保存一份完整的用户数据中的至少一项。有利于数据的安全和调用,有利于资源的合理分配和充分应用,提高整体的反应速度。进一步的,以组为单元进行删除包括:拆分删除涉及的组;查看删除涉及的一个组的所有实例的读写状态;根据实例的读写状态对一个组的每个实例执行删除任务。开始删除后,第一步就是将用户数据分解为涉及的组,对于每个组,查看是否所有实例都在可读可写状态,若否,则等待一段时间再次尝试,若是,则开始依次对每个实例执行删除任务。减小工作量,不需要对整个数据进行处理,仅对需要删除的组进行处理。进一步的,删除任务包括:找到尚未执行删除任务的实例;记录起始的数据标记;删除数据开始,并将实例变为不可读不可写状态;删除数据完毕,并记录下结束的数据标记,同时将实例变为可写不可读状态;恢复从起始的数据标记到结束的数据标记期间的所有请求数据,同时接收写入请求;当数据恢复完毕后,将实例变为可读可写状态。找到尚未执行删除任务的实例,然后记录下起始的数据标记startOffset,然后开始执行删除,直到删除完毕,记录下结束的数据标记endOffset,然后开始恢复从startOffset到endOffset这期间的所有用户请求数据,同时正常接收用户的写入请求,但是不支持用户的查询。当数据恢复完毕后,实例变为可读可写,继续下一个实例的删除。当所有的实例都删除完毕时,就结束删除任务。进一步的,拆分删除涉及的组包括多个组,并发式的同时对该多个组执行删除任务。并发式的处理速度更快效率更高。进一步的,根据实例的读写状态对一个组的每个实例执行删除任务包括:同组所有实例都是可读可写状态才开始删除任务。防止误操作,保证了一致性。进一步的,根据实例的读写状态对一个组的每个实例执行删除任务包括:同组的所有实例中,同一时刻只允许一个实例执行删除任务。防止误操作,保证了一致性。进一步的,根据实例的读写状态对一个组的每个实例执行删除任务包括:该组包括可读可写的实例。可以正常的写入到同组的其他可读可写的实例;也可以正常的从同组的任意一个可读可写的实例查询数据。进一步的,当数据恢复完毕后,将实例变为可读可写状态还包括:设置一个外部的消息队列,存储处于删除状态时的用户请求。用户的数据写入到所有可读可写实例成功后,还要再写入一个外部的消息队列,这些都成功后才反馈给用户成功。当正在删除的实例删除完毕后,标记为可写不可读,此时不立即开始下一个实例的删除,而是通过之前记录在外部消息队列的记录,将这段时间的用户请求,补写到这个刚刚完成删除任务的实例,当补写完成后,这个实例恢复可读可写状态,此时开始下一个实例的删除;当同组的所有实例都完成删除任务后,该组的删除任务正式完成。进一步的,该方法还包括:以组为单元进行数据写入和查询。正常情况下的以组为单元的数据写入和查询;状态处于删除状态时的以组为单元的数据写入和查询,数据一致性较好。进一步的,将所有的组统一管理包括:不同的用户对应不同的组或共享同一个组、一个用户对应一个或多个组、每个组之间的删除互不影响中的至少一项。不同的用户可以用不同的组也可以共享同一个组;一个用户可以有一个或多个组;每个组之间的删除互不影响。不同的用户可以用不同的组也可以共享同一个组;一个用户可以有一个或多个组;每个组之间的删除互不影响。管理数据更加方便。进一步的,以组为单元进行数据写入和查询包括:根据时序数据库状态将同组的所有实例都写入成功才反馈成功和/或任选一个实例进行查询获得数据即反馈。本专利技术的另一优选方案,一种时序数据库的删除系统,包括:组调度模块,用于将多个不同的时序数据库实例组合成多个组并统一管理;删除任务执行模块,用于以组为单元进行删除。进一步的,该系统还包括:多个服务器,用于提供取网络传输速率相当、磁盘剩余空间相当的时序数据库实例组成一个组。进一步的,该系统还包括:元数据管理模块,用于记录用户数据与时序数据库实例的对应关系,并且记录时序数据库的状态,同时对要删除的数据进行标记,保证无法对已经删除的数据进行再操作;根据写入请求获得请求对应的时序数据库实例信息,然后写入状态为可写的时序数据库实例中;根据查询请求从状态为可读的时序数据库实例中获取数据。进一步的,该系统还包括:用户请求处理模块,用于通过查看元数据管理模块,获取用户数据与时序数据库对应关系,并到对应组写入或查询数据。进一步的,该系统还包括:消息队列模块,用于存储处于删除状态的用户请求。进一步的,该系统还包括:数据恢复模块,用于恢复处于删除状态的时序数据库实例所错过的写入数据。本专利技术由于多个时序数据库构建为一个组;将所有的组统一管理;以组为单元进行删除。需要对时序数据库进行删除时,以组为单元进行删除,因为一个组由多个时序数据库构建而成,同组的实例有的在执行删除,有的实例为正常的实例,用户此时查询正在执行删除任务的组时可以通过其他未执行删除的实例获取正常的结果,可以使得现有的时序数据库可以正常而快速的执行删除任务,当用户的删除数据量特别大时,也不会影响用户的正常查询数据的请求,并且保证了用户在整个过程获取的数据都是正确且一致的,一个组一个组的进行删除,互不影响,不会影响其他组的正常写入和查询,在保证服务可用、保证数据一致、保证用户数据安全不丢失的情况下,完成用户的删除部分指定数据的任务,同时做到了不同用户互相隔离,互不影响。附图说明图1是本专利技术实施例的一种时序数据库的数据删除方法示意图;图2是本专利技术实施例的删除过程流程图;图3是本专利技术实施例的删除状态转换图;图4是本专利技术实施例的删除过程的数据流图。具体实施方式在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有本文档来自技高网...
一种时序数据库的数据删除方法及系统

【技术保护点】
一种时序数据库的数据删除方法,其特征在于,包括步骤:将多个时序数据库构建为一个组;将所有的组统一管理;以组为单元进行删除。

【技术特征摘要】
1.一种时序数据库的数据删除方法,其特征在于,包括步骤:将多个时序数据库构建为一个组;将所有的组统一管理;以组为单元进行删除。2.如权利要求1所述的一种时序数据库的数据删除方法,其特征在于,将多个时序数据库构建为一个组包括:同组的时序数据库实例部署在不同的服务器上、同组的时序数据库实例网络访问速度相当、同组的时序数据库实例磁盘存储空间相当和同组的时序数据库实例各自保存一份完整的用户数据中的至少一项。3.如权利要求1所述的一种时序数据库的数据删除方法,其特征在于,以组为单元进行删除包括:拆分删除涉及的组;查看删除涉及的一个组的所有实例的读写状态;根据实例的读写状态对一个组的每个实例执行删除任务。4.如权利要求3所述的一种时序数据库的数据删除方法,其特征在于,删除任务包括:找到尚未执行删除任务的实例;记录起始的数据标记;删除数据开始,并将实例变为不可读不可写状态;删除数据完毕,并记录下结束的数据标记,同时将实例变为可写不可读状态;恢复从起始的数据标记到结束的数据标记期间的所有请求数据,同时接收写入请求;当数据恢复完毕后,将实例变为可读可写状态。5.如权利要求3所述的一种时序数据库的数据删除方法,其特征在于,拆分删除涉及的组包括多个组,并发式的同时对该多个组执行删除任务。6.如权利要求3所述的一种时序数据库的数据删除方法,其特征在于,根据实例的读写状态对一个组的每个实例执行删除任务包括:同组所有实例都是可读可写状态才开始删除任务。7.如权利要求3所述的一种时序数据库的数据删除方法,其特征在于,根据实例的读写状态对一个组的每个实例执行删除任务包括:同组的所有实例中,同一时刻只允许一个实例执行删除任务。8.如权利要求3所述的一种时序数据库的数据删除方法,其特征在于,根据实例的读写状态对一个组的每个实例执行删除任务包括:该组包括可读可写的实例。9.如权利要求3所述的一种时序数据库的数据删除方法,其特征在于,当数据恢复完毕后,将实例变为可读可写状态...

【专利技术属性】
技术研发人员:吕桂华孙健波孟静磊陈超崔文正
申请(专利权)人:上海七牛信息技术有限公司
类型:发明
国别省市:上海,31

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

1