数据库管理方法与装置的制造方法

文档序号:9887736阅读:346来源:国知局
数据库管理方法与装置的制造方法
【技术领域】
[0001]本发明涉及数据库管理技术领域,特别是涉及一种数据库管理方法与装置。
【背景技术】
[0002]redis是一个key-value(即键值)存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set—有序集合)和hash(哈希类型)。这些数据类型都支持增加键、删除键、对键取交集并集等操作。无论哪种存储的value类型,在存储时一个键均可包含多个成员。目前基于redis的数据库基于其所支持类型的多样性,已被广泛使用。
[0003]现有的数据库管理方案,在对基于redis的数据库中的过期键(删除的键、或超过设定过期时间的键)进行管理时,若删除某一过期键,则需要管理线程访问数据库,每次从数据库中删除该过期键的一个成员,那么,若过期键包含的成员数量非常多,则需要花费大量时间才能够完成对该过期键的删除,也即长时间等待才能够得到删除成功的响应结果。并且,上述流程完成对一个过期键的删除后才能够执行对下一个过期键的删除操作,这将导致排序在后的待删除的过期键需要长时间等待才能够得到删除响应。
[0004]可见,现有的数据库管理方案,处理过期键的删除操作时响应慢。

【发明内容】

[0005]鉴于现有的数据库管理方案,处理过期键的删除操作响应慢的问题,提出了本发明以便提供一种克服上述问题的数据库管理方法与装置。
[0006]依据本发明的一个方面,提供了一种数据库管理方法,包括:调用第一管理线程检查存储具有过期时间的键的键列表;若检查到所述键列表中存在过期键,将所述过期键添加至删除队列中;以及调用第二管理线程按照过期键在所述删除队列中的排列顺序,依次删除各过期键。
[0007]优选地,所述方法还包括:建立所述键列表,并将具有过期时间的键写入所述键列表。
[0008]优选地,所述调用第一管理线程检查存储具有过期时间的键的键列表,具体包括:按照设定时间间隔调用第一管理线程检查存储具有过期时间的键的键列表。
[0009]优选地,所述键列表中存储有键与对应的过期时间的映射关系。
[0010]优选地,所述调用第一管理线程检查所述键列表,具体包括:获取当前时间以及所述键列表中各键对应的过期时间;若某一过期时间与所述当前时间不匹配,则判定与所述过期时间对应的键为过期键。
[0011]优选地,所述过期键包括多个成员,以及在调用所述第二管理线程删除所述过期键时,依据所述过期键的多个成员的排列顺序依次删除所述多个成员。
[0012]依据本发明的另一个方面,提供了一种数据库管理装置,包括:第一调用模块,用于调用第一管理线程检查存储具有过期时间的键的键列表;添加模块,用于若检查到所述键列表中存在过期键,将所述过期键添加至删除队列中;以及第二调用模块,用于调用第二管理线程按照过期键在所述删除队列中的排列顺序,依次删除各过期键。
[0013]优选地,所述装置还包括:建立模块,用于建立所述键列表,并将具有过期时间的键写入所述键列表。
[0014]优选地,所述第一调用模块具体用于:按照设定时间间隔调用第一管理线程检查存储具有过期时间的键的键列表。
[0015]优选地,所述键列表中存储有键与对应的过期时间的映射关系。
[0016]优选地,所述第一调用模块包括:过期时间获取模块,用于获取当前时间以及所述键列表中各键对应的过期时间;时间判断模块,用于若某一过期时间与所述当前时间不匹配,则判定与所述过期时间对应的键为过期键。
[0017]优选地,所述过期键包括多个成员,以及所述第二调用模块在调用所述第二管理线程删除所述过期键时,依据所述过期键的多个成员的排列顺序依次删除所述多个成员。
[0018]本发明实施例提供的数据库管理方案,通过第一管理线程在前台对过期键进行管理,通过第二管理线程在后台从数据库中对过期键进行删除来并行执行过期键的删除操作,能够提升对过期键进行删除操作的响应速度。具体地,由第一管理线程检查过期键然后将检查到的过期键添加到删除队列中,此时,第一管理线程即完成了对该过期键的删除操作返回删除成功的响应结果,继续响应下一个过期键的删除操作。相较于现有的需要从数据库中一一删除键包含的各成员才响应下一个过期键的删除操作的方案,不仅能够缩短当前处理的过期键的响应成功时间,还可以缩短对下一个过期键进行删除操作的响应时间。第二管理线程则可在后台完成具体的删除队列中的过期键的删除,第二管理线程删除过期键所花费的时间并不会影响过期键删除的响应速度。
[0019]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0020]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0021]图1示出了根据本发明一个实施例的一种数据库管理方法的步骤流程示意图;
[0022]图2示出了根据本发明一个实施例的一种数据库管理方法的步骤流程示意图;
[0023]图3示出了根据本发明一个实施例的一种数据库管理装置的结构示意图;以及
[0024]图4示出了根据本发明一个实施例的一种数据库管理装置的结构示意图。
【具体实施方式】
[0025]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0026]实施例一
[0027]参照图1,示出了本发明实施例一的一种数据库管理方法的步骤流程图。
[0028]本发明实施例的数据库管理方法包括以下步骤:
[0029]步骤101:调用第一管理线程检查存储具有过期时间的键的键列表。
[0030]本发明实施例中数据库为服务器的后端数据库,数据库中存储有多个键,且每个键包含多个成员。而这些键中有的设置有过期时间,而有的则未设置过期时间。本发明实施例中,在服务器前端预设键列表,在键列表中对具有过期时间的键进行存储。不仅如此,在键列表中还可以存储待删除的键。
[0031]服务器调用第一管理线程检查键列表,以确定是否存在过期键。其中,过期键可以为时间过期的键,也可以为被选定的待删除的键。
[0032]步骤102:若检查到键列表中存在过期键,将过期键添加至删除队列中。
[0033]第一管理线程在对键列表进行检查时,可以按照列表中键的存储顺序一一对各键的性质、以及对应的过期时间进行检查,以确定过期键。将检查出的过期键添加到删除队列中。其中对键的性质进行存储则是为了判断键是否为待删除的键。
[0034]步骤103:调用第二管理线程按照过期键在删除队列中的排列顺序,依次删除各过期键。
[0035]第二管理线程在服务器后台进行数据库中的键的删除操作。具体地,第二管理线程可以为单线程一一从数据库中将删除队列中的键以及键包含的各成员删除;当然,第二管理线程还可以为多线程,每个线程处理上述删除队列中的键,以实现删除对列中的各键及键包含的成员的并行删除,从而能够过期键删除的处理速度。
[0036]具体地,第二管理线程从数据库中将一个键进行删除的具体方式请参见相关技术即可,本发明实施例中对此不作具体限制。
[0037]通过本发明实施例提供的数据库管理方法,通过第一管理线程在前台对过期键进行管理,通过第二管理线程在后台从数据库中对过期键进行删除来并行执行过期键的删除操作,能够提升对过期键进行删除操作的响应速度。具体地,由第一管理线程检查过期键然后将检查到的过期键添加到删除队列中,此时,第一管理线程即完成了对该过期键的删除操作返回删除成功的响应结果,继续响应下一个过期键的删除操作。相较于现有的需要从数据库中一一删除键包含的各成员才响应下一个过期键的删除操作的方案,不仅能够缩短当前处理的过期键的响应成功时间,还可以缩短对下一个过期键进行删除操作的响应时间。第二管理线程则可在后台完成具体的删除队列中的过期键的删除,第二管理线程删除过期键所花费的时间并不会影响过期键删除的响应速度。
[0038]实施例二
[0039]参照图2,示出了本发明实施例二的一种数据库管理方法的步骤流程图。
[0040]本发明实施例的数据库管理方法具体
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1