CN107368563A - 数据库数据的删除方法及装置、电子设备、存储介质 - Google Patents

数据库数据的删除方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN107368563A
CN107368563A CN201710555262.8A CN201710555262A CN107368563A CN 107368563 A CN107368563 A CN 107368563A CN 201710555262 A CN201710555262 A CN 201710555262A CN 107368563 A CN107368563 A CN 107368563A
Authority
CN
China
Prior art keywords
data
database
value
removal request
data value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710555262.8A
Other languages
English (en)
Other versions
CN107368563B (zh
Inventor
杨艳杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201710555262.8A priority Critical patent/CN107368563B/zh
Publication of CN107368563A publication Critical patent/CN107368563A/zh
Application granted granted Critical
Publication of CN107368563B publication Critical patent/CN107368563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库数据的删除方法及装置、电子设备、存储介质,其中,数据库中的数据以数据键值对方式存储,其方法包括:接收数据删除请求,数据删除请求中至少携带有数据键;获取数据键对应的数据值所包含的数据量;判断数据值所包含的数据量是否超过第一预设数量阈值;若是,将数据删除请求交由后台进行多次删除处理。从而在删除时避免大数据量删除导致的阻塞、数据库宕机等问题。

Description

数据库数据的删除方法及装置、电子设备、存储介质
技术领域
本发明涉及数据库领域,具体涉及一种数据库数据的删除方法及装置、电子设备、存储介质。
背景技术
数据库用于存储和管理数据,实现对数据的多种操作。数据库的类型包括如关系数据库、非关系数据库。不同类型数据库存储的数据结构也不同。非关系数据库中键值数据库如Redis数据库,其以数据键值对方式进行存储。数据值可以包括多种数据类型,如string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。其中,list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)等数据类型中可以存储多个数据。在对这些数据类型的数据进行删除时,需要将其存储的多个数据一起删除。当其存储的数据量很大时,在删除时可能造成删除缓慢甚至删除阻塞的情况,严重时会导致数据库无法连接甚至数据库宕机。
因此,需要一种可以解决上述删除数据量过大导致的删除缓慢、删除阻塞、数据库无法连接等问题的数据库平缓删除方法。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据库数据的删除方法及装置、电子设备、存储介质。
根据本发明的一个方面,提供了一种数据库数据的删除方法,数据库中的数据以数据键值对方式存储,其包括:
接收数据删除请求,数据删除请求中至少携带有数据键;
获取数据键对应的数据值所包含的数据量;
判断数据值所包含的数据量是否超过第一预设数量阈值;
若是,将数据删除请求交由后台进行多次删除处理。
根据本发明的另一方面,提供了一种数据库数据的删除装置,数据库中的数据以数据键值对方式存储,其包括:
接收模块,适于接收数据删除请求,数据删除请求中至少携带有数据键;
获取模块,适于获取数据键对应的数据值所包含的数据量;
判断模块,适于判断数据值所包含的数据量是否超过第一预设数量阈值;
删除模块,适于若是,将数据删除请求交由后台进行多次删除处理。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述数据库数据的删除方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述数据库数据的删除方法对应的操作。
根据本发明提供的数据库数据的删除方法及装置、电子设备、存储介质,其中,数据库中的数据以数据键值对方式存储。在接收携带有数据键的数据删除请求后,根据数据键获取其对应的数据值所包含的数据量。当判断数据值所包含的数据量超过第一预设数量阈值时,将数据删除请求交由后台进行多次删除处理,可以在删除时避免大数据量删除导致的阻塞、数据库宕机等问题,提高删除效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的数据库数据的删除方法的流程图;
图2示出了根据本发明另一个实施例的数据库数据的删除方法的流程图;
图3示出了根据本发明一个实施例的数据库数据的删除装置的功能框图;
图4示出了根据本发明另一个实施例的数据库数据的删除装置的功能框图;
图5示出了根据本发明一个实施例的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明中的数据库为键值对数据库,数据以数据键值对方式存储在数据库中。键值对数据库有很多种,以下各实施例中数据库以redis数据库为例进行说明,但本发明不仅限于redis数据库。
图1示出了根据本发明一个实施例的数据库数据的删除方法的流程图。如图1所示,数据库数据的删除方法具体包括如下步骤:
步骤S101,接收数据删除请求。
步骤S102,获取数据键对应的数据值所包含的数据量。
数据删除请求中携带有需要删除的数据键。从数据删除请求中获取到该需要删除的数据键,根据数据键获取其对应的数据值所包含的数据量。在获取数据值所包含的数据量时,可以根据数据值的不同数据类型利用不同函数获取。如数据值为List(链表)类型时,利用函数llen获取数据值所包含的数据量;数据值为Hash(哈希)类型时,利用函数hlen获取数据值所包含的数据量;数据值为Set(集合)类型时,利用函数scard获取数据值所包含的数据量;数据值为ZSet(有序集合)类型时,利用函数zcard获取数据值所包含的数据量。以上均为举例说明,具体根据实施情况获取数据键对应的数据值所包含的数据量。
步骤S103,判断数据值所包含的数据量是否超过第一预设数量阈值。
判断数据值所包含的数据量是否超过第一预设数量阈值,若超过第一预设数量阈值,执行步骤S104,否则,可以直接执行数据删除请求,将数据键对应的数据值删除。
其中,第一预设数量阈值可以根据数据库本身的处理能力、执行环境、数据值的字节长度等情况进行设置,此处不做限定。
步骤S104,若是,将数据删除请求交由后台进行多次删除处理。
将数据删除请求交由后台处理时,可以分批次对数据值进行多次删除处理,直至数据值的数据量为零,即在每对数据值进行一次删除后,重新获取数据值的包含数据量,直至数据值的数据量为零,保证将数据值全部删除为止。其中,每批次删除的数据量小于或等于第二预设数量阈值。第二预设数量阈值可以等于第一预设数量阈值,也可以小于第一预设数量阈值。第二预设数量阈值可以根据数据库删除速度等情况进行设置。
在数据删除请求由后台进行删除处理时,可以先将数据键标记为已删除状态,以确保不会发生在数据值删除过程中又被查询到的情况。这样使得数据值虽然没有完全被删除,但由于数据键已经被标记为已删除状态,当接收到查询该数据键对应的数据值请求时,可以直接返回数据值为空或不存在,使得后台删除操作对业务而言是透明的,不影响业务的处理。
在数据删除请求由后台进行删除处理时,每删除一批次的数据值时,同时释放被删除的数据值所占用的内存空间,避免一次性释放大量内存空间时可能引起的阻塞等问题。
根据本发明提供的数据库数据的删除方法,在接收携带有数据键的数据删除请求后,根据数据键获取其对应的数据值所包含的数据量。当判断数据值所包含的数据量超过第一预设数量阈值时,将数据删除请求交由后台进行多次删除处理,可以在删除时避免大数据量删除导致的阻塞、数据库宕机等问题。
图2示出了根据本发明另一个实施例的数据库数据的删除方法的流程图。如图2所示,数据库数据的删除方法具体包括如下步骤:
步骤S201,接收数据删除请求。
步骤S202,获取数据键对应的数据值所包含的数据量。
步骤S203,判断数据值所包含的数据量是否超过第一预设数量阈值。
步骤S204,若是,将数据删除请求交由后台进行多次删除处理。
以上步骤可参考图1中的步骤S101-S104的描述,在此不再赘述。
步骤S205,在删除主数据库中的数据值之后,将数据删除请求同步至从数据库,以供删除从数据库中的数据值。
考虑数据库包括主数据库和从数据库的情况,需要将两个数据库中的数据同步。因此在删除主数据库中的数据值之后,需要将数据删除请求同步至从数据库,以供删除从数据库中的数据值。
主从数据库同步时,一般在主数据库设置有同步缓冲区。当接收到主数据库的数据删除请求时,会删除其对应的数据值。同时,将被删除的数据值记录在同步缓冲区中,将同步缓冲区中记录的数据值传送给从数据库,并对从数据库中相同的数据值进行删除处理。
由于主数据库的同步缓冲区的容量是固定的,不能自动扩充。因此,当被删除的数据值将同步缓冲区已经填满后,再向同步缓冲区中记录被删除的数据值时,会将同步缓冲区之前已经记录的被删除的数据值覆盖掉,导致将同步缓冲区中记录的数据值传送给从数据库时,同步缓冲区中记录的数据值不是本次被删除的全部的数据值,有一部分被删除的数据值没有传送给从数据库。这样使得主从数据库之间的数据不同步。
因此,在主数据库由后台进行多次删除处理时,将每批次删除的数据值记录在主数据库的同步缓冲区中,并将同步缓冲区记录的数据值传送给从数据库,以供从数据库删除对应的数据值,实现数据同步。其中,第一预设数量阈值、第二预设数量阈值根据主数据库的同步缓冲区的容量进行设置,以避免同步缓冲区无法记录全部被删除数据值的情况。
根据本发明提供的数据库数据的删除方法,在主数据库由后台进行多次删除处理时,将每批次删除的数据值记录在主数据库的同步缓冲区中,并将同步缓冲区记录的数据值传送给从数据库,以供从数据库删除对应的数据值,实现数据同步。其中,判断数据值所包含的数据量的第一预设数量阈值、每批次数据值删除的第二预设数量阈值可以根据主数据库的同步缓冲区的容量进行设置,以避免同步缓冲区无法记录全部被删除数据值,导致主从数据库中数据不同步的情况。分批次删除避免了在删除时大数据量删除导致的阻塞、数据库宕机等问题,提高删除效率。
图3示出了根据本发明一个实施例的数据库数据的删除装置的功能框图。如图3所示,数据库数据的删除装置包括如下模块:
接收模块310,适于接收数据删除请求。
获取模块320,适于获取数据键对应的数据值所包含的数据量。
数据删除请求中携带有需要删除的数据键。接收模块310在接收数据审查请求后,可以从数据删除请求中获取到该需要删除的数据键,获取模块320根据数据键获取其对应的数据值所包含的数据量。获取模块320在获取数据值所包含的数据量时,可以根据数据值的不同数据类型利用不同函数获取。如数据值为List(链表)类型时,获取模块320利用函数llen获取数据值所包含的数据量;数据值为Hash(哈希)类型时,获取模块320利用函数hlen获取数据值所包含的数据量;数据值为Set(集合)类型时,获取模块320获取模块320利用函数scard获取数据值所包含的数据量;数据值为ZSet(有序集合)类型时,获取模块320利用函数zcard获取数据值所包含的数据量。以上均为举例说明,具体根据实施情况获取数据键对应的数据值所包含的数据量。
判断模块330,适于判断数据值所包含的数据量是否超过第一预设数量阈值。
判断模块330判断数据值所包含的数据量是否超过第一预设数量阈值,若超过第一预设数量阈值,执行删除模块340,否则,可以直接执行数据删除请求,将数据键对应的数据值删除。
其中,第一预设数量阈值可以根据数据库本身的处理能力、执行环境、数据值的字节长度等情况进行设置,此处不做限定。
删除模块340,适于若是,将数据删除请求交由后台进行多次删除处理。
删除模块340将数据删除请求交由后台处理时,可以分批次对数据值进行多次删除处理,直至数据值的数据量为零,即删除模块340在每对数据值进行一次删除后,重新获取数据值的包含数据量,直至数据值的数据量为零,保证将数据值全部删除为止。其中,每批次删除的数据量小于或等于第二预设数量阈值。第二预设数量阈值可以等于第一预设数量阈值,也可以小于第一预设数量阈值。第二预设数量阈值可以根据数据库删除速度等情况进行设置。
删除模块340在数据删除请求由后台进行删除处理时,可以先将数据键标记为已删除状态,以确保不会发生在数据值删除过程中又被查询到的情况。这样使得数据值虽然没有完全被删除,但由于数据键已经被标记为已删除状态,当接收到查询该数据键对应的数据值请求时,可以直接返回数据值为空或不存在,使得后台删除操作对业务而言是透明的,不影响业务的处理。
可选地,本装置还包括了释放模块350。
释放模块350适于释放被删除的数据值所占用的内存空间。
删除模块340在数据删除请求由后台进行删除处理时,每删除一批次的数据值时,同时释放模块350释放被删除的数据值所占用的内存空间,避免一次性释放大量内存空间时可能引起的阻塞等问题。
根据本发明提供的数据库数据的删除装置,在接收携带有数据键的数据删除请求后,根据数据键获取其对应的数据值所包含的数据量。当判断数据值所包含的数据量超过第一预设数量阈值时,将数据删除请求交由后台进行多次删除处理,可以在删除时避免大数据量删除导致的阻塞、数据库宕机等问题。
图4示出了根据本发明另一个实施例的数据库数据的删除装置的功能框图。如图4所示,与图3相比,数据库数据的删除装置还包括如下模块:
同步模块360,适于在删除主数据库中的数据值之后,将数据删除请求同步至从数据库,以供删除从数据库中的数据值。
考虑数据库包括主数据库和从数据库的情况,需要将两个数据库中的数据同步。因此在删除主数据库中的数据值之后,需要同步模块360将数据删除请求同步至从数据库,以供删除从数据库中的数据值。
主从数据库同步时,一般在主数据库设置有同步缓冲区。主数据库当接收到主数据库的数据删除请求时,会删除其对应的数据值。同时,将被删除的数据值记录在同步缓冲区中,将同步缓冲区中记录的数据值传送给从数据库,并对从数据库中相同的数据值进行删除处理。
由于主数据库的同步缓冲区的容量是固定的,不能自动扩充。因此,当被删除的数据值将同步缓冲区已经填满后,再向同步缓冲区中记录被删除的数据值时,会将同步缓冲区之前已经记录的被删除的数据值覆盖掉,导致将同步缓冲区中记录的数据值传送给从数据库时,同步缓冲区中记录的数据值不是本次被删除的全部的数据值,有一部分被删除的数据值没有传送给从数据库。这样使得主从数据库之间的数据不同步。
因此,删除模块340在主数据库由后台进行多次删除处理时,同步模块360将每批次删除的数据值记录在主数据库的同步缓冲区中,并将同步缓冲区记录的数据值传送给从数据库,以供从数据库删除对应的数据值,实现数据同步。其中,第一预设数量阈值、第二预设数量阈值根据主数据库的同步缓冲区的容量进行设置,以避免同步缓冲区无法记录全部被删除数据值的情况。
根据本发明提供的数据库数据的删除装置,在主数据库由后台进行多次删除处理时,将每批次删除的数据值记录在主数据库的同步缓冲区中,并将同步缓冲区记录的数据值传送给从数据库,以供从数据库删除对应的数据值,实现数据同步。其中,判断数据值所包含的数据量的第一预设数量阈值、每批次数据值删除的第二预设数量阈值可以根据主数据库的同步缓冲区的容量进行设置,以避免同步缓冲区无法记录全部被删除数据值,导致主从数据库中数据不同步的情况。分批次删除避免了在删除时大数据量删除导致的阻塞、数据库宕机等问题,提高删除效率。
本申请还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据库数据的删除方法。
图5示出了根据本发明一个实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图5所示,该电子设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述数据库数据的删除方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
在一种可选的实施方式中,数据库中的数据以数据键值对方式存储,程序510用于使得处理器502接收数据删除请求,数据删除请求中至少携带有数据键;获取数据键对应的数据值所包含的数据量;判断数据值所包含的数据量是否超过第一预设数量阈值;若是,将数据删除请求交由后台进行多次删除处理。
在一种可选的实施方式中,程序510用于使得处理器502分批次对数据值进行删除处理,直至数据值的数据量为零。
在一种可选的实施方式中,每批次删除的数据量小于或等于第二预设数量阈值。
在一种可选的实施方式中,程序510用于使得处理器502将数据键标记为已删除状态。
在一种可选的实施方式中,程序510用于使得处理器502释放被删除的数据值所占用的内存空间。
在一种可选的实施方式中,数据库包括主数据库和从数据库,程序510用于使得处理器502在删除主数据库中的数据值之后,将数据删除请求同步至从数据库,以供删除从数据库中的数据值。
在一种可选的实施方式中,第一预设数量阈值和/或第二预设数量阈值根据主数据库的同步缓冲区的容量进行设置。
在一种可选的实施方式中,数据库为redis数据库。
程序510中各步骤的具体实现可以参见上述数据库数据的删除实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例提供的方案,在接收携带有数据键的数据删除请求后,根据数据键获取其对应的数据值所包含的数据量。当判断数据值所包含的数据量超过第一预设数量阈值时,将数据删除请求交由后台进行多次删除处理,可以在删除时避免大数据量删除导致的阻塞、数据库宕机等问题,提高删除效率。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据库数据的删除装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:A1.一种数据库数据的删除方法,所述数据库中的数据以数据键值对方式存储,其包括:
接收数据删除请求,所述数据删除请求中至少携带有数据键;
获取所述数据键对应的数据值所包含的数据量;
判断所述数据值所包含的数据量是否超过第一预设数量阈值;
若是,将所述数据删除请求交由后台进行多次删除处理。
A2.根据A1所述的方法,其中,所述将所述数据删除请求交由后台进行多次删除处理进一步包括:
分批次对所述数据值进行删除处理,直至所述数据值的数据量为零。
A3.根据A2所述的方法,其中,每批次删除的数据量小于或等于第二预设数量阈值。
A4.根据A2或A3所述的方法,其中,还包括:将所述数据键标记为已删除状态。
A5.根据A1-A4中任一项所述的方法,其中,在所述将数据删除请求交由后台进行多次删除处理之后,所述方法还包括:
释放所述被删除的数据值所占用的内存空间。
A6.根据A1-A5中任一项所述的方法,其中,所述数据库包括主数据库和从数据库,所述方法还包括:
在删除所述主数据库中的数据值之后,将所述数据删除请求同步至所述从数据库,以供删除所述从数据库中的数据值。
A7.根据A6所述的方法,其中,所述第一预设数量阈值和/或所述第二预设数量阈值根据所述主数据库的同步缓冲区的容量进行设置。
A8.根据A1-A7任一项所述的方法,其中,所述数据库为redis数据库。
本发明还公开了:B9.一种数据库数据的删除装置,所述数据库中的数据以数据键值对方式存储,其包括:
接收模块,适于接收数据删除请求,所述数据删除请求中至少携带有数据键;
获取模块,适于获取所述数据键对应的数据值所包含的数据量;
判断模块,适于判断所述数据值所包含的数据量是否超过第一预设数量阈值;
删除模块,适于若是,将所述数据删除请求交由后台进行多次删除处理。
B10.根据B9所述的装置,其中,所述删除模块进一步适于:
分批次对所述数据值进行删除处理,直至所述数据值的数据量为零。
B11.根据B10所述的装置,其中,每批次删除的数据量小于或等于第二预设数量阈值。
B12.根据B10或B11所述的装置,其中,所述删除模块进一步适于:
将所述数据键标记为已删除状态。
B13.根据B9-B12任一项所述的装置,其中,所述装置还包括:
释放模块,适于释放所述被删除的数据值所占用的内存空间。
B14.根据B9-B13任一项所述的装置,其中,所述数据库包括主数据库和从数据库,所述装置还包括:
同步模块,适于在删除所述主数据库中的数据值之后,将所述数据删除请求同步至所述从数据库,以供删除所述从数据库中的数据值。
B15.根据B14所述的装置,其中,所述第一预设数量阈值和/或所述第二预设数量阈值根据所述主数据库的同步缓冲区的容量进行设置。
B16.根据B9-B15任一项所述的装置,其中,所述数据库为redis数据库。
本发明还公开了:C17.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-A8中任一项所述的数据库数据的删除方法对应的操作。
本发明还公开了:D18.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行如A1-A8中任一项所述的数据库数据的删除方法对应的操作。

Claims (10)

1.一种数据库数据的删除方法,所述数据库中的数据以数据键值对方式存储,其包括:
接收数据删除请求,所述数据删除请求中至少携带有数据键;
获取所述数据键对应的数据值所包含的数据量;
判断所述数据值所包含的数据量是否超过第一预设数量阈值;
若是,将所述数据删除请求交由后台进行多次删除处理。
2.根据权利要求1所述的方法,其中,所述将所述数据删除请求交由后台进行多次删除处理进一步包括:
分批次对所述数据值进行删除处理,直至所述数据值的数据量为零。
3.根据权利要求2所述的方法,其中,每批次删除的数据量小于或等于第二预设数量阈值。
4.根据权利要求2或3所述的方法,其中,还包括:将所述数据键标记为已删除状态。
5.根据权利要求1-4中任一项所述的方法,其中,在所述将数据删除请求交由后台进行多次删除处理之后,所述方法还包括:
释放所述被删除的数据值所占用的内存空间。
6.根据权利要求1-5中任一项所述的方法,其中,所述数据库包括主数据库和从数据库,所述方法还包括:
在删除所述主数据库中的数据值之后,将所述数据删除请求同步至所述从数据库,以供删除所述从数据库中的数据值。
7.根据权利要求6所述的方法,其中,所述第一预设数量阈值和/或所述第二预设数量阈值根据所述主数据库的同步缓冲区的容量进行设置。
8.一种数据库数据的删除装置,所述数据库中的数据以数据键值对方式存储,其包括:
接收模块,适于接收数据删除请求,所述数据删除请求中至少携带有数据键;
获取模块,适于获取所述数据键对应的数据值所包含的数据量;
判断模块,适于判断所述数据值所包含的数据量是否超过第一预设数量阈值;
删除模块,适于若是,将所述数据删除请求交由后台进行多次删除处理。
9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的数据库数据的删除方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的数据库数据的删除方法对应的操作。
CN201710555262.8A 2017-06-30 2017-06-30 数据库数据的删除方法及装置、电子设备、存储介质 Active CN107368563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710555262.8A CN107368563B (zh) 2017-06-30 2017-06-30 数据库数据的删除方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710555262.8A CN107368563B (zh) 2017-06-30 2017-06-30 数据库数据的删除方法及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN107368563A true CN107368563A (zh) 2017-11-21
CN107368563B CN107368563B (zh) 2021-02-23

Family

ID=60305882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710555262.8A Active CN107368563B (zh) 2017-06-30 2017-06-30 数据库数据的删除方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN107368563B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108317686A (zh) * 2018-01-31 2018-07-24 青岛海信日立空调系统有限公司 一种空调器的控制参数生成方法及控制器
CN108776587A (zh) * 2018-05-25 2018-11-09 平安科技(深圳)有限公司 数据获取方法、装置、计算机设备以及存储介质
CN109298947A (zh) * 2018-10-24 2019-02-01 北京奇虎科技有限公司 分布式系统中的数据处理方法及装置、计算设备
CN112181938A (zh) * 2019-07-05 2021-01-05 杭州海康威视数字技术股份有限公司 数据库清理方法、装置和计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2009557A1 (en) * 2007-06-28 2008-12-31 Nokia Siemens Networks Oy Method and device for data processing and system comprising such device
CN102760126A (zh) * 2011-04-26 2012-10-31 阿里巴巴集团控股有限公司 一种分布式系统中的数据同步方法和分布式系统
CN103377071A (zh) * 2012-04-20 2013-10-30 宇龙计算机通信科技(深圳)有限公司 一种数据批量删除方法和系统
CN103678725A (zh) * 2013-09-11 2014-03-26 云巅(上海)网络科技有限公司 对象关系数据库中分层垃圾收集的方法、存储模块和系统
CN104391873A (zh) * 2014-10-29 2015-03-04 上海达梦数据库有限公司 数据库操作分离方法和系统
CN104965862A (zh) * 2015-06-03 2015-10-07 深圳市创梦天地科技有限公司 一种内存数据库集群的同步方法及内存数据库主机
CN105653635A (zh) * 2015-12-25 2016-06-08 北京奇虎科技有限公司 数据库管理方法与装置
CN105989195A (zh) * 2015-03-23 2016-10-05 国际商业机器公司 用于处理数据库数据的方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2009557A1 (en) * 2007-06-28 2008-12-31 Nokia Siemens Networks Oy Method and device for data processing and system comprising such device
CN102760126A (zh) * 2011-04-26 2012-10-31 阿里巴巴集团控股有限公司 一种分布式系统中的数据同步方法和分布式系统
CN103377071A (zh) * 2012-04-20 2013-10-30 宇龙计算机通信科技(深圳)有限公司 一种数据批量删除方法和系统
CN103678725A (zh) * 2013-09-11 2014-03-26 云巅(上海)网络科技有限公司 对象关系数据库中分层垃圾收集的方法、存储模块和系统
CN104391873A (zh) * 2014-10-29 2015-03-04 上海达梦数据库有限公司 数据库操作分离方法和系统
CN105989195A (zh) * 2015-03-23 2016-10-05 国际商业机器公司 用于处理数据库数据的方法和系统
CN104965862A (zh) * 2015-06-03 2015-10-07 深圳市创梦天地科技有限公司 一种内存数据库集群的同步方法及内存数据库主机
CN105653635A (zh) * 2015-12-25 2016-06-08 北京奇虎科技有限公司 数据库管理方法与装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108317686A (zh) * 2018-01-31 2018-07-24 青岛海信日立空调系统有限公司 一种空调器的控制参数生成方法及控制器
CN108776587A (zh) * 2018-05-25 2018-11-09 平安科技(深圳)有限公司 数据获取方法、装置、计算机设备以及存储介质
CN108776587B (zh) * 2018-05-25 2020-07-17 平安科技(深圳)有限公司 数据获取方法、装置、计算机设备以及存储介质
CN109298947A (zh) * 2018-10-24 2019-02-01 北京奇虎科技有限公司 分布式系统中的数据处理方法及装置、计算设备
CN112181938A (zh) * 2019-07-05 2021-01-05 杭州海康威视数字技术股份有限公司 数据库清理方法、装置和计算机可读存储介质

Also Published As

Publication number Publication date
CN107368563B (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
US11853389B2 (en) Methods and apparatus for sorting data
CN107368563A (zh) 数据库数据的删除方法及装置、电子设备、存储介质
CN105117289B (zh) 基于云测试平台的任务分配方法、装置及系统
US10223437B2 (en) Adaptive data repartitioning and adaptive data replication
CN110555012B (zh) 数据迁移方法及装置
US8280917B1 (en) Batching content management operations to facilitate efficient database interactions
CN104657387B (zh) 一种数据查询方法及装置
CN107807815B (zh) 分布式处理任务的方法和装置
US9400767B2 (en) Subgraph-based distributed graph processing
CN105447167B (zh) 分布式系统中节点缓存数据的处理方法及装置
CN107333248B (zh) 一种短信实时发送方法和系统
CN106168963B (zh) 实时流数据的处理方法、装置及服务器
EP3018581B1 (en) Data staging management system
CN104933054B (zh) 缓存资源文件的url存储方法及装置、缓存服务器
US10965750B2 (en) Distributed management of dynamic processing element connections in streaming applications
CN108139927A (zh) 联机事务处理系统中事务的基于动作的路由
CN109977139B (zh) 基于类结构化查询语句的数据处理方法和装置
CN103761240B (zh) 数据库访问方法和装置
CN106790489A (zh) 并行数据加载方法和系统
CN105389394A (zh) 基于多个数据库集群的数据请求处理方法及装置
CN112433757A (zh) 一种确定接口调用关系的方法和装置
CN105912596A (zh) 一种操作数据库的方法和装置
JP2006277158A (ja) データ更新システム、サーバ及びプログラム
US20230032682A1 (en) Find operation for union-mounted systems
CN110019071A (zh) 数据处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant