CN112181938B - 数据库清理方法、装置和计算机可读存储介质 - Google Patents
数据库清理方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112181938B CN112181938B CN201910605673.2A CN201910605673A CN112181938B CN 112181938 B CN112181938 B CN 112181938B CN 201910605673 A CN201910605673 A CN 201910605673A CN 112181938 B CN112181938 B CN 112181938B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- threshold value
- disk space
- space occupied
- 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.)
- Active
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 140
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003780 insertion Methods 0.000 claims description 27
- 230000037431 insertion Effects 0.000 claims description 27
- 238000004064 recycling Methods 0.000 claims description 3
- 230000015654 memory Effects 0.000 description 16
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000010926 purge Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据库清理方法、装置和计算机可读存储介质,属于计算机技术领域。该方法包括:当数据库占用的磁盘空间大小大于第一阈值时,如果数据库中的数据量大于或等于第二阈值,则执行第一清理命令,第一清理命令用于回收数据库中存储的失效数据占据的磁盘空间;如果数据库中的数据量小于第二阈值,则执行第二清理命令,第二清理命令用于释放数据库中存储的失效数据占据的磁盘空间和数据库占用的处于空闲状态的磁盘空间。本申请中第一清理命令不会对数据库的正常使用造成影响,且第二清理命令是在数据库中的数据量较小时才执行,因而第二清理命令的执行效率高,从而可以有效避免清理数据库时对业务运行造成较大影响。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种数据库清理方法、装置和计算机可读存储介质。
背景技术
数据库是用于存储数据的数据集合,数据库在运行过程中会产生一些失效数据。例如,对数据库中的数据进行删除或更新后,数据库中已经被删除的数据或者被更新过后过时的数据并没有从数据库中被物理删除,而是依旧留存于数据库中成为失效数据。因而,需要经常对数据库中存储的失效数据进行清理,以便能够再次使用这些失效数据占据的磁盘空间。
目前,在数据库占用的磁盘空间大小没有达到设定阈值时,是执行vacuum命令来回收数据库中存储的失效数据占用的磁盘空间。在数据库占用的磁盘空间大小达到设定阈值时,是执行vacuum full命令来释放数据库中存储的失效数据占据的磁盘空间和数据库占用的处于空闲状态的磁盘空间。
然而,vacuum full命令是通过复制表来实现清理,即是先将原先的数据表中的有效数据复制到另一张新建的数据表中,再删除原先的数据表,以新建的数据表取代原先的数据表。这种情况下,在执行vacuum full命令时数据库中的数据无法使用且数据库占用的磁盘空间大小将会翻倍。此时如果vacuum full命令的执行效率较低,则极易造成业务中断,严重影响业务运行。
发明内容
本申请实施例提供了一种数据库清理方法、装置和计算机可读存储介质,可以解决相关技术中清理数据库时会严重影响业务运行的问题。所述技术方案如下:
一方面,提供了一种数据库清理方法,所述方法包括:
当数据库占用的磁盘空间大小大于第一阈值时,如果所述数据库中的数据量大于或等于第二阈值,则执行第一清理命令,所述第一清理命令用于回收所述数据库中存储的失效数据占据的磁盘空间;
当所述数据库占用的磁盘空间大小大于第一阈值时,如果所述数据库中的数据量小于第二阈值,则执行第二清理命令,所述第二清理命令用于释放所述数据库中存储的失效数据占据的磁盘空间和所述数据库占用的处于空闲状态的磁盘空间。
可选地,所述方法还包括:
当所述数据库占用的磁盘空间大小小于或等于所述第一阈值时,执行所述第一清理命令。
可选地,所述方法还包括:
接收数据***请求,所述数据***请求用于请求向所述数据库中***数据;
当所述数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当所述数据库中的数据量大于或等于第四阈值时,拒绝将所述数据***所述数据库;
当所述数据库占用的磁盘空间大小小于所述第三阈值,且所述数据库中的数据量小于所述第四阈值时,将所述数据***所述数据库,所述第三阈值大于所述第一阈值,所述第四阈值大于所述第二阈值。
可选地,所述方法还包括:
接收任务数据***请求,所述任务数据***请求用于请求向所述数据库中***任务数据;
当所述数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当所述数据库中的任务数据条数大于或等于第五阈值时,拒绝将所述任务数据***所述数据库;
当所述数据库占用的磁盘空间大小小于所述第三阈值,且所述数据库中的任务数据条数小于所述第五阈值时,将所述任务数据***所述数据库,所述第三阈值大于所述第一阈值。
可选地,所述方法还包括:
每隔第一参考时长执行一次所述第一清理命令。
可选地,所述数据库中存储有任务数据和所述任务数据的状态数据,所述方法还包括:
从所述数据库中拉取所述任务数据;
执行所述任务数据;
当所述任务数据执行完成时,删除所述数据库中存储的所述任务数据的状态数据。
可选地,所述第一清理命令为vacuum命令,所述第二清理命令为vacuum full命令。
一方面,提供了一种数据库清理装置,所述装置包括:
第一执行模块,用于当数据库占用的磁盘空间大小大于第一阈值时,如果所述数据库中的数据量大于或等于第二阈值,则执行第一清理命令,所述第一清理命令用于回收所述数据库中存储的失效数据占据的磁盘空间;
第二执行模块,用于当所述数据库占用的磁盘空间大小大于第一阈值时,如果所述数据库中的数据量小于第二阈值,则执行第二清理命令,所述第二清理命令用于释放所述数据库中存储的失效数据占据的磁盘空间和所述数据库占用的处于空闲状态的磁盘空间。
可选地,所述装置还包括:
第三执行模块,用于当所述数据库占用的磁盘空间大小小于或等于所述第一阈值时,执行所述第一清理命令。
可选地,所述装置还包括:
第一接收模块,用于接收数据***请求,所述数据***请求用于请求向所述数据库中***数据;
第一拒绝模块,用于当所述数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当所述数据库中的数据量大于或等于第四阈值时,拒绝将所述数据***所述数据库;
第一***模块,用于当所述数据库占用的磁盘空间大小小于所述第三阈值,且所述数据库中的数据量小于所述第四阈值时,将所述数据***所述数据库,所述第三阈值大于所述第一阈值,所述第四阈值大于所述第二阈值。
可选地,所述装置还包括:
第二接收模块,用于接收任务数据***请求,所述任务数据***请求用于请求向所述数据库中***任务数据;
第二拒绝模块,用于当所述数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当所述数据库中的任务数据条数大于或等于第五阈值时,拒绝将所述任务数据***所述数据库;
第二***模块,用于当所述数据库占用的磁盘空间大小小于所述第三阈值,且所述数据库中的任务数据条数小于所述第五阈值时,将所述任务数据***所述数据库,所述第三阈值大于所述第一阈值。
可选地,所述装置还包括:
第四执行模块,用于每隔第一参考时长执行一次所述第一清理命令。
可选地,所述数据库中存储有任务数据和所述任务数据的状态数据,所述装置还包括:
拉取模块,用于从所述数据库中拉取所述任务数据;
第五执行模块,用于执行所述任务数据;
删除模块,用于当所述任务数据执行完成时,删除所述数据库中存储的所述任务数据的状态数据。
可选地,所述第一清理命令为vacuum命令,所述第二清理命令为vacuum full命令。
一方面,提供了一种数据库清理装置,所述装置包括:
处理器和存储器;
其中,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述的数据库清理方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令被运行时,执行上述的数据库清理方法。
本申请实施例提供的技术方案至少可以带来以下有益效果:
当数据库占用的磁盘空间大小大于第一阈值时,如果该数据库中的数据量大于或等于第二阈值,则执行第一清理命令,第一清理命令用于回收该数据库中存储的失效数据占据的磁盘空间。由于第一清理命令不会对该数据库的正常使用造成影响,所以此时对该数据库进行清理不会影响业务运行。当该数据库占用的磁盘空间大小大于第一阈值时,如果该数据库中的数据量小于第二阈值,则执行第二清理命令,第二清理命令用于释放该数据库中存储的失效数据占据的磁盘空间和该数据库占用的处于空闲状态的磁盘空间。由于该数据库中的数据量较小,所以执行第二清理命令时可以快速通过复制表来实现清理,因而可以保证第二清理命令的执行效率较高,从而可以有效避免第二清理命令的执行对业务运行造成较大影响。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据库清理方法的流程图;
图2是本申请实施例提供的另一种数据库清理方法的流程图;
图3是本申请实施例提供的一种数据库清理装置的结构示意图;
图4是本申请实施例提供的另一种数据库清理装置的结构示意图;
图5是本申请实施例提供的又一种数据库清理装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种数据库清理方法的流程图。参见图1,该方法包括:
步骤101:判断数据库占用的磁盘空间大小是否大于第一阈值。
需要说明的是,数据库是用于存储数据的数据集合,如该数据库可以为postgresql数据库、mysql数据库等。数据库中存储的数据包括有效数据和失效数据,失效数据一般是对数据库中的数据进行删除、更新等操作后产生的旧数据,即失效数据为已经删除的数据、被更新过后过时的数据等,失效数据在进行清理之前是没有从数据库中被物理删除的,而是依旧留存于数据库中。
另外,数据库占用的磁盘空间可以是由操作***分配的。向数据库中***数据时,可以将数据***该数据库占用的磁盘空间中处于空闲状态的磁盘空间中,也可以是操作***先为该数据库分配新的磁盘空间,再将数据***新分配的磁盘空间中。如此,随着向数据库中不断地***数据,该数据库占用的磁盘空间会越来越大。
再者,第一阈值可以预先进行设置,第一阈值为用于判断是否直接执行第一清理命令的磁盘空间大小阈值。例如,第一阈值可以为3GB(Gigabyte,吉字节)等。
值得注意的是,可以每隔第二参考时长执行一次步骤101,第二参考时长可以预先进行设置。也即,实际应用中,可以每隔一段时间就执行一次本申请实施例提供的数据库清理方法来对数据库进行清理。
当该数据库占用的磁盘空间大小小于或等于第一阈值时,可以继续执行如下步骤102来对该数据库进行清理。当该数据库占用的磁盘空间大小大于第一阈值时,可以继续执行如下步骤103-步骤105来对该数据库进行清理。
步骤102:当该数据库占用的磁盘空间大小小于或等于第一阈值时,执行第一清理命令。
需要说明的是,第一清理命令用于回收该数据库中存储的失效数据占据的磁盘空间,即第一清理命令可以清理该数据库中存储的失效数据,使原先被失效数据占据的磁盘空间处于空闲状态,以便后续可以再次使用该数据库占用的处于空闲状态的磁盘空间来存储新数据。也即是,第一清理命令用于对该数据库中存储的失效数据占据的磁盘空间进行逻辑回收。第一清理命令的执行不会影响该数据库的正常使用,即不会影响该数据库中数据的增加、删除、更改、查询等操作。例如,第一清理命令可以为vacuum命令等。
另外,当该数据库占用的磁盘空间大小小于或等于第一阈值时,表明该数据库占用的磁盘空间不是很大,因而此时可以仅执行第一清理命令来对该数据库进行清理。这种情况下,该数据库占用的磁盘空间大小不变,仅是对该数据库占用的磁盘空间中存储的失效数据进行了清理,使该数据库中原先被失效数据占据的磁盘空间处于空闲状态,以便可以使用这些处于空闲状态的磁盘空间来存储新数据。
步骤103:当该数据库占用的磁盘空间大小大于第一阈值时,判断该数据库中的数据量是否小于第二阈值。
需要说明的是,第二阈值可以预先进行设置,第二阈值为用于判断是否直接执行第二清理命令的数据量阈值。例如,第二阈值可以为5000等。
另外,当该数据库占用的磁盘空间大小大于第一阈值时,表明该数据库占用的磁盘空间比较大,因而此时需要以该数据库中的数据量为依据来判断后续是执行第一清理命令还是第二清理命令来对该数据库进行清理。
再者,第二清理命令用于释放该数据库中存储的失效数据占据的磁盘空间和该数据库占用的处于空闲状态的磁盘空间,即第二清理命令不仅可以清理该数据库中存储的失效数据,还可以将原先被失效数据占据的磁盘空间归还给操作***,且还可以将该数据库占用的处于空闲状态的磁盘空间也归还给操作***,以便后续操作***可以对这些磁盘空间重新进行分配。也即是,第二清理命令用于对该数据库中存储的失效数据占据的磁盘空间和该数据库占用的处于空闲状态的磁盘空间进行物理释放。例如,第二清理命令可以为vacuum full命令等。
值得注意的是,在执行第二清理命令时,会运行有排他锁,在执行第二清理命令期间,不能正常使用该数据库,即不能进行该数据库中数据的增加、删除、更改、查询等操作。并且,第二清理命令通常是通过复制表来实现清理,即是先将原先的数据表中的有效数据复制到另一张新建的数据表中,再删除原先的数据表,以新建的数据表取代原先的数据表,如此导致在执行第二清理命令时该数据库占用的磁盘空间大小将会翻倍。因而第二清理命令的执行效率会对业务运行体验造成影响。如果第二清理命令的执行效率较低,由于执行第二清理命令期间数据库中的数据无法使用且数据库占用的磁盘空间翻倍,所以将极易造成业务中断,严重影响业务运行。
当该数据库中的数据量大于或等于第二阈值时,可以继续执行如下步骤104来对该数据库进行清理。当该数据库中的数据量小于第二阈值时,可以继续执行如下步骤105来对该数据库进行清理。
步骤104:当该数据库中的数据量大于或等于第二阈值时,执行第一清理命令。
由于该数据库中的数据量大于或等于第二阈值时,表明该数据库中的数据量较大,所以可以执行第一清理命令来对该数据库进行清理。由于第一清理命令不会对该数据库的正常使用造成影响,所以此时对该数据库进行清理不会影响业务运行。
步骤105:当该数据库中的数据量小于第二阈值时,执行第二清理命令。
由于该数据库中的数据量小于第二阈值时,表明该数据库中的数据量较小。然而此时该数据库占用的磁盘空间又比较大,说明该数据库占用的磁盘空间中处于空闲状态的磁盘空间比较多,因而可以执行第二清理命令,来释放该数据库中存储的失效数据占据的磁盘空间和该数据库占用的处于空闲状体的磁盘空间。这种情况下,由于该数据库中的数据量较小,所以执行第二清理命令时可以快速通过复制表来实现清理,因而可以保证第二清理命令的执行效率较高,从而可以有效避免第二清理命令的执行对业务运行造成较大影响。
值得注意的一点是,本申请实施例中不仅可以根据该数据库占用的磁盘空间大小和该数据库中的数据量来确定是否执行第一清理命令,为了及时对该数据库进行清理,还可以周期性地执行第一清理命令。例如,可以每隔第一参考时长执行一次第一清理命令。
需要说明的是,第一参考时长可以预先进行设置,且可以通过对该数据库的参数进行调整来实现对第一参考时长的设置。例如,当该数据库为postgresql数据库且第一清理命令为vacuum命令时,可以通对postgresql数据库的配置文件postgresql.conf中的参数进行相应调整,来实现对vacuum命令的执行频率的调整,即实现对第一参考时长的调整,如可以将配置文件postgresql.conf中的checkpoint-segments参数、shared-buffers参数等与vacuum命令的执行频率相关的参数调大,来提高vacuum命令的执行频率,即增大第一参考时长。
值得注意的另一点是,该数据库中可以存储有任务数据和该任务数据的状态数据。对于该数据库中存储的任务数据,可以定时从该数据库中拉取任务数据并执行。在从该数据库中拉取任务数据并执行的过程中,可以更新该数据库中存储的该任务数据的状态数据,该任务数据的状态数据可以包括未执行、等待、运行、完成、错误等。
相关技术中,在任务数据的状态每进行一次变化时,就会对数据库中存储的该任务数据的状态数据进行一次更新。例如,在未拉取数据库中的任务数据时,数据库中存储的该任务数据的状态数据可以为未执行;在拉取数据库中的该任务数据并将该任务数据加入到等待队列后,将数据库中存储的该任务数据的状态数据更新为等待;在从等待队列中取出该任务数据并执行时,将数据库中存储的该任务数据的状态数据更新为运行;在该任务数据执行完成后,将数据库中存储的该任务数据的状态数据更新为完成,或者,在该任务数据执行出错时,将数据库中存储的该任务数据的状态数据更新为错误。也即是,相关技术中在该任务数据的状态变化过程中一直需要对数据库中存储的该任务数据的状态数据进行更新。并且,在将数据库中存储的该任务数据的状态数据更新为完成后,需要间隔一段时间才会删除该任务数据的状态数据。如此,当任务数据量较大时,在任务数据的状态数据的更新过程中会产生大量的失效数据,这些失效数据的积累将极易造成数据库中的数据膨胀。
本申请实施例中,可以从该数据库中拉取该任务数据,然后执行该任务数据,当该任务数据执行完成时,无需对该数据库中存储的该任务数据的状态数据进行更新,而是可以直接删除该数据库中存储的该任务数据的状态数据。如此,可以减小该数据库中存储的状态数据的更新次数,避免多次更新状态数据而产生过多的失效数据。特别地,当该任务数据为执行速度较快的数据(如图片数据)时,在执行该任务数据时,也无需对该数据库中存储的该任务数据的状态数据进行更新;当该任务数据为执行速度较慢的数据(如视频数据)时,在执行该任务数据时,可以将该数据库中存储的该任务数据的状态数据更新为运行。换句话说,本申请实施例中,对于执行速度较快的任务数据,该数据库中存储的该任务数据的状态数据只有从未执行到等待一种状态更新,对于执行速度较慢的任务数据,该数据库中存储的该任务数据的状态数据存在从未执行到等待、从等待到运行这两种状态更新。
进一步地,还可以通过控制数据库的数据***来避免数据库中的数据膨胀,具体可以包括如下两种可能的实现方式:
第一种可能的实现方式:接收数据***请求,该数据***请求用于请求向该数据库中***数据;当该数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当该数据库中的数据量大于或等于第四阈值时,拒绝将该数据***该数据库;当该数据库占用的磁盘空间大小小于第三阈值,且该数据库中的数据量小于第四阈值时,将该数据***该数据库。
需要说明的是,第三阈值可以预先进行设置,且第三阈值可以为该数据库最大所能占用的磁盘空间大小,第三阈值可以大于第一阈值,如第三阈值可以为5GB。
另外,第四阈值可以预先进行设置,且第四阈值可以为该数据库最多所能存储的数据量,第四阈值可以大于第二阈值,如第四阈值可以为20万。
需要说明的是,当该数据库占用的磁盘空间大小大于或等于第三阈值时,表明该数据库占用的磁盘空间已经很大了,因而此时可以拒绝将该数据***该数据库,以避免数据***后导致该数据库的数据膨胀。当该数据库中的数据量大于或等于第四阈值时,表明该数据库中的数据量已经很多了,因而此时可以拒绝将该数据***数据库,以避免数据***后导致该数据库的数据膨胀。
另外,当该数据库占用的磁盘空间大小小于第三阈值,且该数据库中的数据量小于第四阈值时,表明该数据库占用的磁盘空间不是很大,且该数据库中的数据量也不是很多,因而此时可以将该数据正常***该数据库中。
第二种可能的实现方式:接收任务数据***请求,该任务数据***请求用于请求向该数据库中***任务数据;当该数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当该数据库中的任务数据条数大于或等于第五阈值时,拒绝将该任务数据***该数据库;当该数据库占用的磁盘空间大小小于第三阈值,且该数据库中的任务数据条数小于第五阈值时,将该任务数据***该数据库。
需要说明的是,第三阈值可以预先进行设置,且第三阈值可以为该数据库最大所能占用的磁盘空间大小,第三阈值可以大于第一阈值。
另外,第五阈值可以预先进行设置,且第五阈值可以为该数据库最多所能存储的任务数据条数。
需要说明的是,当该数据库占用的磁盘空间大小大于或等于第三阈值时,表明该数据库占用的磁盘空间已经很大了,因而此时可以拒绝将该任务数据***该数据库,以避免任务数据***后导致该数据库的数据膨胀。当该数据库中的任务数据条数大于或等于第五阈值时,表明该数据库中已经存储了很多条任务数据了,因而此时可以拒绝将该任务数据***数据库,以避免任务数据***后导致该数据库的数据膨胀。
另外,当该数据库占用的磁盘空间大小小于第三阈值,且该数据库中的任务数据条数小于第五阈值时,表明该数据库占用的磁盘空间不是很大,且该数据库中存储了较少条任务数据,因而此时可以将该任务数据正常***该数据库中。
值得注意的是,任务数据往往是与任务的运行有关的数据,也即,任务数据往往有对应的任务存在。当拒绝将任务数据***数据库中后,该任务数据对应的任务的运行会被中断,从而可以避免该任务继续运行后产生新的任务数据来尝试***数据库,进而可以有效避免数据库的数据膨胀。
为了便于理解,下面结合图2来对上述数据库清理方法进行举例说明。参见图2,上述数据库清理方法可以由调度服务执行,调度服务是一个用于接收任务、存储任务、下派任务的服务,调度服务一般执行的是异步任务。
当客户端向调度服务的任务接收接口(如webservice接口、restful接口等)提交异步任务时,调度服务会先判断数据库占用的磁盘空间大小是否大于或等于第三阈值以及判断该数据库中的数据量是否大于或等于第四阈值。当该数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当该数据库中的数据量大于或等于第四阈值时,调度服务拒绝将该异步任务的任务数据***该数据库;当该数据库占用的磁盘空间大小小于第三阈值,且该数据库中的数据量小于第四阈值时,调度服务将该异步任务的任务数据***该数据库。
与此同时,调度服务的内部线程会定时判断该数据库占用的磁盘空间大小是否小于或等于第一阈值。当该数据库占用的磁盘空间大小小于或等于第一阈值时,执行第一清理命令。当该数据库占用的磁盘空间大小大于第一阈值时,内部线程继续判断该数据库中的数据量是否大于或等于第二阈值。如果该数据库中的数据量大于或等于第二阈值,则执行第一清理命令;如果该数据库中的数据量小于第二阈值,则执行第二清理命令。
例如,第一阈值为3GB,第二阈值为5000,第三阈值为5GB,第四阈值为20万,第一清理命令为vacuum命令,第二清理命令为vacuum full命令。
当客户端向调度服务提交异步任务时,调度服务会先判断数据库占用的磁盘空间的大小是否大于或等于5GB,以及判断该数据库中的数据量是否大于或等于20万。假设此时该数据库占用的磁盘空间大小为3GB,该数据库中的数据量为10万,则调度服务将该异步任务的任务数据***该数据库。
与此同时,调度服务的内部线程会定时判断该数据库占用的磁盘空间大小是否小于或等于3GB。假设此时该数据库占用的磁盘空间的大小为3GB,则会执行vacuum命令来对该数据库进行清理。
当从该数据库中拉取任务数据的速度较慢,而向该数据库中***任务数据的速度较快时,该数据库中的数据量会增多。直至该数据库中的数据量超过20万且该数据库占用的磁盘空间大小超过3GB,此时调度服务就会拒绝向该数据库中再***数据,且此时由于内线线程确定该数据库占用的磁盘空间大小大于或等于3GB,所以可以继续判断该数据库中的数据量是否小于5000。由于该数据库中的数据量超过20万,所以还是执行vacuum命令来对该数据库进行清理。
当该数据库中的任务数据逐渐被拉取,且执行vacuum命令后回收该数据库中存储的失效数据占据的磁盘空间后,该数据库中的数据量会减少。直至该数据库中的数据量小于5000,就会执行vacuum full命令来对该数据库进行锁表清理。由于此时该数据库中的数据量小,所以vacuum full命令的执行效率高,从而可以有效避免对业务运行造成较大影响。
在本申请实施例中,当数据库占用的磁盘空间大小大于第一阈值时,如果该数据库中的数据量大于或等于第二阈值,则执行第一清理命令,第一清理命令用于回收该数据库中存储的失效数据占据的磁盘空间。由于第一清理命令不会对该数据库的正常使用造成影响,所以此时对该数据库进行清理不会影响业务运行。当该数据库占用的磁盘空间大小大于第一阈值时,如果该数据库中的数据量小于第二阈值,则执行第二清理命令,第二清理命令用于释放该数据库中存储的失效数据占据的磁盘空间和该数据库占用的处于空闲状态的磁盘空间。由于该数据库中的数据量较小,所以执行第二清理命令时可以快速通过复制表来实现清理,因而可以保证第二清理命令的执行效率较高,从而可以有效避免第二清理命令的执行对业务运行造成较大影响。
图3是本申请实施例提供的一种数据库清理装置的结构示意图。参见图3,该装置包括:第一执行模块301和第二执行模块302。
第一执行模块301,用于当数据库占用的磁盘空间大小大于第一阈值时,如果数据库中的数据量大于或等于第二阈值,则执行第一清理命令,第一清理命令用于回收数据库中存储的失效数据占据的磁盘空间;
第二执行模块302,用于当数据库占用的磁盘空间大小大于第一阈值时,如果数据库中的数据量小于第二阈值,则执行第二清理命令,第二清理命令用于释放数据库中存储的失效数据占据的磁盘空间和数据库占用的处于空闲状态的磁盘空间。
可选地,该装置还包括:
第三执行模块,用于当数据库占用的磁盘空间大小小于或等于第一阈值时,执行第一清理命令。
可选地,该装置还包括:
第一接收模块,用于接收数据***请求,数据***请求用于请求向数据库中***数据;
第一拒绝模块,用于当数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当数据库中的数据量大于或等于第四阈值时,拒绝将数据***数据库;
第一***模块,用于当数据库占用的磁盘空间大小小于第三阈值,且数据库中的数据量小于第四阈值时,将数据***数据库,第三阈值大于第一阈值,第四阈值大于第二阈值。
可选地,该装置还包括:
第二接收模块,用于接收任务数据***请求,任务数据***请求用于请求向数据库中***任务数据;
第二拒绝模块,用于当数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当数据库中的任务数据条数大于或等于第五阈值时,拒绝将任务数据***数据库;
第二***模块,用于当数据库占用的磁盘空间大小小于第三阈值,且数据库中的任务数据条数小于第五阈值时,将任务数据***数据库,第三阈值大于第一阈值。
可选地,该装置还包括:
第四执行模块,用于每隔第一参考时长执行一次第一清理命令。
可选地,数据库中存储有任务数据和任务数据的状态数据,该装置还包括:
拉取模块,用于从数据库中拉取任务数据;
第五执行模块,用于执行任务数据;
删除模块,用于当任务数据执行完成时,删除数据库中存储的任务数据的状态数据。
可选地,第一清理命令为vacuum命令,第二清理命令为vacuum full命令。
在本申请实施例中,当数据库占用的磁盘空间大小大于第一阈值时,如果该数据库中的数据量大于或等于第二阈值,则执行第一清理命令,第一清理命令用于回收该数据库中存储的失效数据占据的磁盘空间。由于第一清理命令不会对该数据库的正常使用造成影响,所以此时对该数据库进行清理不会影响业务运行。当该数据库占用的磁盘空间大小大于第一阈值时,如果该数据库中的数据量小于第二阈值,则执行第二清理命令,第二清理命令用于释放该数据库中存储的失效数据占据的磁盘空间和该数据库占用的处于空闲状态的磁盘空间。由于该数据库中的数据量较小,所以执行第二清理命令时可以快速通过复制表来实现清理,因而可以保证第二清理命令的执行效率较高,从而可以有效避免第二清理命令的执行对业务运行造成较大影响。
需要说明的是:上述实施例提供的数据库清理装置在数据库清理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据库清理装置与数据库清理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本发明实施例提供的一种数据库清理装置的结构示意图。参见图4,该装置可以为终端400,终端400可以是:智能手机、平板电脑、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端400包括有:处理器401和存储器402。
处理器401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器401可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器402还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器401所执行以实现本申请中方法实施例提供的数据库清理方法。
在一些实施例中,终端400还可选包括有:***设备接口403和至少一个***设备。处理器401、存储器402和***设备接口403之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口403相连。具体地,***设备包括:射频电路404、触摸显示屏405、摄像头406、音频电路407、定位组件408和电源409中的至少一种。
***设备接口403可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器401和存储器402。在一些实施例中,处理器401、存储器402和***设备接口403被集成在同一芯片或电路板上;在一些其他实施例中,处理器401、存储器402和***设备接口403中的任意一个或两个可以在单独的芯片或电路板上实现,本申请对此不加以限定。
射频电路404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路404包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等。射频电路404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏405是触摸显示屏时,显示屏405还具有采集在显示屏405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器401进行处理。此时,显示屏405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏405可以为一个,设置在终端400的前面板;在另一些实施例中,显示屏405可以为至少两个,分别设置在终端400的不同表面或呈折叠设计;在再一些实施例中,显示屏405可以是柔性显示屏,设置在终端400的弯曲表面上或折叠面上。甚至,显示屏405还可以设置成非矩形的不规则图形,也即异形屏。显示屏405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件406用于采集图像或视频。可选地,摄像头组件406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器401进行处理,或者输入至射频电路404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器401或射频电路404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路407还可以包括耳机插孔。
定位组件408用于定位终端400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件408可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***、俄罗斯的格雷纳斯***或欧盟的伽利略***的定位组件。
电源409用于为终端400中的各个组件进行供电。电源409可以是交流电、直流电、一次性电池或可充电电池。当电源409包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端400还包括有一个或多个传感器410。该一个或多个传感器410包括但不限于:加速度传感器411、陀螺仪传感器412、压力传感器413、指纹传感器414、光学传感器415以及接近传感器416。
加速度传感器411可以检测以终端400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器411可以用于检测重力加速度在三个坐标轴上的分量。处理器401可以根据加速度传感器411采集的重力加速度信号,控制触摸显示屏405以横向视图或纵向视图进行用户界面的显示。加速度传感器411还可以用于游戏或用户的运动数据的采集。
陀螺仪传感器412可以检测终端400的机体方向及转动角度,陀螺仪传感器412可以与加速度传感器411协同采集用户对终端400的3D动作。处理器401根据陀螺仪传感器412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器413可以设置在终端400的侧边框和/或触摸显示屏405的下层。当压力传感器413设置在终端400的侧边框时,可以检测用户对终端400的握持信号,由处理器401根据压力传感器413采集的握持信号进行左右手识别或快捷操作。当压力传感器413设置在触摸显示屏405的下层时,由处理器401根据用户对触摸显示屏405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器414用于采集用户的指纹,由处理器401根据指纹传感器414采集到的指纹识别用户的身份,或者,由指纹传感器414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器414可以被设置在终端400的正面、背面或侧面。当终端400上设置有物理按键或厂商Logo时,指纹传感器414可以与物理按键或厂商Logo集成在一起。
光学传感器415用于采集环境光强度。在一个实施例中,处理器401可以根据光学传感器415采集的环境光强度,控制触摸显示屏405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏405的显示亮度;当环境光强度较低时,调低触摸显示屏405的显示亮度。在另一个实施例中,处理器401还可以根据光学传感器415采集的环境光强度,动态调整摄像头组件406的拍摄参数。
接近传感器416也称距离传感器,通常设置在终端400的前面板。接近传感器416用于采集用户与终端400的正面之间的距离。在一个实施例中,当接近传感器416检测到用户与终端400的正面之间的距离逐渐变小时,由处理器401控制触摸显示屏405从亮屏状态切换为息屏状态;当接近传感器416检测到用户与终端400的正面之间的距离逐渐变大时,由处理器401控制触摸显示屏405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图4中示出的结构并不构成对终端400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图5是本申请实施例提供的一种数据库清理装置的结构示意图。参见图5,该装置可以为服务器500,服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上CPU501和一个或一个以上的存储器502,其中,存储器502中存储有至少一条指令,该至少一条指令由处理器501加载并执行,以实现上述实施例中数据库清理方法。当然,服务器500还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,服务器500还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由计算机设备中的处理器执行以完成上述实施例中数据库清理方法。例如,该计算机可读存储介质可以是ROM(read-only memory,只读存储器)、RAM(random accessmemory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
值得注意的是,本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,是非瞬时性存储介质。
应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。该计算机指令可以存储在上述计算机可读存储介质中。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种数据库清理方法,其特征在于,所述方法包括:
当数据库占用的磁盘空间大小大于第一阈值时,如果所述数据库中的数据量大于或等于第二阈值,则执行第一清理命令,所述第一清理命令为vacuum命令,所述第一清理命令用于回收所述数据库中存储的失效数据占据的磁盘空间;
当所述数据库占用的磁盘空间大小大于第一阈值时,如果所述数据库中的数据量小于第二阈值,则执行第二清理命令,所述第二清理命令为vacuum full命令,所述第二清理命令用于释放所述数据库中存储的失效数据占据的磁盘空间和所述数据库占用的处于空闲状态的磁盘空间。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述数据库占用的磁盘空间大小小于或等于所述第一阈值时,执行所述第一清理命令。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收数据***请求,所述数据***请求用于请求向所述数据库中***数据;
当所述数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当所述数据库中的数据量大于或等于第四阈值时,拒绝将所述数据***所述数据库;
当所述数据库占用的磁盘空间大小小于所述第三阈值,且所述数据库中的数据量小于所述第四阈值时,将所述数据***所述数据库,所述第三阈值大于所述第一阈值,所述第四阈值大于所述第二阈值。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收任务数据***请求,所述任务数据***请求用于请求向所述数据库中***任务数据;
当所述数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当所述数据库中的任务数据条数大于或等于第五阈值时,拒绝将所述任务数据***所述数据库;
当所述数据库占用的磁盘空间大小小于所述第三阈值,且所述数据库中的任务数据条数小于所述第五阈值时,将所述任务数据***所述数据库,所述第三阈值大于所述第一阈值。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
每隔第一参考时长执行一次所述第一清理命令。
6.如权利要求1所述的方法,其特征在于,所述数据库中存储有任务数据和所述任务数据的状态数据,所述方法还包括:
从所述数据库中拉取所述任务数据;
执行所述任务数据;
当所述任务数据执行完成时,删除所述数据库中存储的所述任务数据的状态数据。
7.一种数据库清理装置,其特征在于,所述装置包括:
第一执行模块,用于当数据库占用的磁盘空间大小大于第一阈值时,如果所述数据库中的数据量大于或等于第二阈值,则执行第一清理命令,所述第一清理命令为vacuum命令,所述第一清理命令用于回收所述数据库中存储的失效数据占据的磁盘空间;
第二执行模块,用于当所述数据库占用的磁盘空间大小大于第一阈值时,如果所述数据库中的数据量小于第二阈值,则执行第二清理命令,所述第二清理命令为vacuum full命令,所述第二清理命令用于释放所述数据库中存储的失效数据占据的磁盘空间和所述数据库占用的处于空闲状态的磁盘空间。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
第三执行模块,用于当所述数据库占用的磁盘空间大小小于或等于所述第一阈值时,执行所述第一清理命令。
9.如权利要求7所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收数据***请求,所述数据***请求用于请求向所述数据库中***数据;
第一拒绝模块,用于当所述数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当所述数据库中的数据量大于或等于第四阈值时,拒绝将所述数据***所述数据库;
第一***模块,用于当所述数据库占用的磁盘空间大小小于所述第三阈值,且所述数据库中的数据量小于所述第四阈值时,将所述数据***所述数据库,所述第三阈值大于所述第一阈值,所述第四阈值大于所述第二阈值。
10.如权利要求7所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收任务数据***请求,所述任务数据***请求用于请求向所述数据库中***任务数据;
第二拒绝模块,用于当所述数据库占用的磁盘空间大小大于或等于第三阈值时,或者,当所述数据库中的任务数据条数大于或等于第五阈值时,拒绝将所述任务数据***所述数据库;
第二***模块,用于当所述数据库占用的磁盘空间大小小于所述第三阈值,且所述数据库中的任务数据条数小于所述第五阈值时,将所述任务数据***所述数据库,所述第三阈值大于所述第一阈值。
11.如权利要求7所述的装置,其特征在于,所述装置还包括:
第四执行模块,用于每隔第一参考时长执行一次所述第一清理命令。
12.如权利要求7所述的装置,其特征在于,所述数据库中存储有任务数据和所述任务数据的状态数据,所述装置还包括:
拉取模块,用于从所述数据库中拉取所述任务数据;
第五执行模块,用于执行所述任务数据;
删除模块,用于当所述任务数据执行完成时,删除所述数据库中存储的所述任务数据的状态数据。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令被运行时,执行如权利要求1-6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910605673.2A CN112181938B (zh) | 2019-07-05 | 2019-07-05 | 数据库清理方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910605673.2A CN112181938B (zh) | 2019-07-05 | 2019-07-05 | 数据库清理方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181938A CN112181938A (zh) | 2021-01-05 |
CN112181938B true CN112181938B (zh) | 2024-06-14 |
Family
ID=73915355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910605673.2A Active CN112181938B (zh) | 2019-07-05 | 2019-07-05 | 数据库清理方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181938B (zh) |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740395A (en) * | 1992-10-30 | 1998-04-14 | Intel Corporation | Method and apparatus for cleaning up a solid state memory disk storing floating sector data |
US8521789B2 (en) * | 2003-05-27 | 2013-08-27 | Oracle International Corporation | Undrop objects and dependent objects in a database system |
US7865658B2 (en) * | 2007-12-31 | 2011-01-04 | Sandisk Il Ltd. | Method and system for balancing host write operations and cache flushing |
WO2012070144A1 (ja) * | 2010-11-26 | 2012-05-31 | 株式会社日立製作所 | データベースの管理方法、データベース管理装置及び記憶媒体 |
US9053166B2 (en) * | 2012-12-10 | 2015-06-09 | Microsoft Technology Licensing, Llc | Dynamically varying the number of database replicas |
US8965857B2 (en) * | 2012-12-28 | 2015-02-24 | Sybase, Inc. | Method and system to avoid space bloating during run-time compression |
CN105338027B (zh) * | 2014-07-30 | 2019-01-25 | 杭州海康威视***技术有限公司 | 进行视频数据云存储的方法、***及装置 |
CN105760553A (zh) * | 2016-03-25 | 2016-07-13 | 北京奇虎科技有限公司 | 数据管理方法和装置 |
CN106484562B (zh) * | 2016-09-14 | 2019-08-23 | Oppo广东移动通信有限公司 | 一种数据传输处理方法及终端设备 |
CN106503260B (zh) * | 2016-11-18 | 2020-04-28 | 北京奇虎科技有限公司 | 一种提高数据库的有效存储空间的方法和装置 |
CN108287835B (zh) * | 2017-01-09 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 一种数据清理方法及装置 |
US11036590B2 (en) * | 2017-03-02 | 2021-06-15 | Salesforce.Com, Inc. | Reducing granularity of backup data over time |
US10671525B2 (en) * | 2017-06-21 | 2020-06-02 | International Business Machines Corporation | Space reclamation in data deduplication storage systems |
CN107368563B (zh) * | 2017-06-30 | 2021-02-23 | 北京奇虎科技有限公司 | 数据库数据的删除方法及装置、电子设备、存储介质 |
CN109391647B (zh) * | 2017-08-04 | 2021-08-17 | 杭州海康威视***技术有限公司 | 存储资源回收方法、装置及*** |
CN108153882A (zh) * | 2017-12-26 | 2018-06-12 | 中兴通讯股份有限公司 | 一种数据处理方法及装置 |
CN109271381A (zh) * | 2018-08-21 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 测试数据表的处理方法、装置、计算机设备和存储介质 |
CN109739843A (zh) * | 2018-12-26 | 2019-05-10 | 篱笆墙网络科技有限公司 | 区块链数据读写方法、***、设备及存储介质 |
CN109871411B (zh) * | 2019-02-18 | 2023-05-09 | Oppo广东移动通信有限公司 | 同步数据的方法、装置、电子设备及介质 |
CN109960686B (zh) * | 2019-03-26 | 2021-07-20 | 北京百度网讯科技有限公司 | 数据库的日志处理方法和装置 |
-
2019
- 2019-07-05 CN CN201910605673.2A patent/CN112181938B/zh active Active
Non-Patent Citations (2)
Title |
---|
SQLite 在嵌入式认证授权***中的应用;王盛义等;信息技术与标准化;第51-54页 * |
数据库日常维护工作分析;阮宏一;湖北第二师范学院学报;第25卷(第02期);第46-48页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181938A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304265B (zh) | 内存管理方法、装置及存储介质 | |
CN108762881B (zh) | 界面绘制方法、装置、终端及存储介质 | |
CN110147380B (zh) | 数据更新方法、装置、服务器以及存储介质 | |
CN108132790B (zh) | 检测无用代码的方法、装置及计算机存储介质 | |
CN110119305B (zh) | 任务执行方法、装置、计算机设备及存储介质 | |
CN113127181A (zh) | 内存管理方法、装置及存储介质 | |
CN110673944B (zh) | 执行任务的方法和装置 | |
CN110968815B (zh) | 页面刷新方法、装置、终端及存储介质 | |
CN111813322B (zh) | 存储池的创建方法、装置、设备及存储介质 | |
CN111666076B (zh) | 图层添加方法、装置、终端及存储介质 | |
CN111459410B (zh) | 内存空间分配方法、装置、电子设备及存储介质 | |
CN112181915B (zh) | 执行业务的方法、装置、终端和存储介质 | |
CN111275607A (zh) | 界面显示方法、装置、计算机设备及存储介质 | |
CN115344537A (zh) | 存储空间分配的方法、装置、文件***和存储介质 | |
CN113301422B (zh) | 获取视频封面的方法、终端及存储介质 | |
CN112181938B (zh) | 数据库清理方法、装置和计算机可读存储介质 | |
CN113408989B (zh) | 汽车数据的比对方法、装置及计算机存储介质 | |
CN111708669B (zh) | ***运行的分析方法、装置、设备及存储介质 | |
CN116842047A (zh) | 缓存更新方法、装置、设备及计算机可读存储介质 | |
CN110032421B (zh) | 内存中图集的管理方法、装置、终端及存储介质 | |
CN109189525B (zh) | 加载子页面的方法、装置、设备及计算机可读存储介质 | |
CN111523876A (zh) | 支付方式的显示方法、装置、***及存储介质 | |
CN111190751A (zh) | 基于歌单的任务处理方法、装置、计算机设备及存储介质 | |
CN111400544B (zh) | 视频数据的存储方法、装置、设备及存储介质 | |
CN112817768B (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 |