CN111142786B - 一种数据写入方法、装置及计算机可读存储介质 - Google Patents
一种数据写入方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111142786B CN111142786B CN201911197894.7A CN201911197894A CN111142786B CN 111142786 B CN111142786 B CN 111142786B CN 201911197894 A CN201911197894 A CN 201911197894A CN 111142786 B CN111142786 B CN 111142786B
- Authority
- CN
- China
- Prior art keywords
- writing
- data
- written
- target
- cache
- 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
- 238000000034 method Methods 0.000 title claims abstract description 117
- 238000001514 detection method Methods 0.000 claims abstract description 86
- 230000008569 process Effects 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000011010 flushing procedure Methods 0.000 claims description 3
- 239000007787 solid Substances 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种数据写入方法、装置及计算机可读存储介质,包括:以预设检测频率检测写缓存区域的数据写入容量;当检测到写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中。由于预先增设了存储设备,当在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数时,将待写入至写缓存区域中的目标数据写入至了存储设备中,因此避免了写缓存区域发生阻塞,保证了后续数据的写入。
Description
技术领域
本文涉及数据处理技术,尤指一种数据写入方法、装置及计算机可读存储介质。
背景技术
HBase是一种nosql数据库,HBase写入数据时,首先会写入到HBase的服务RegionSever中的写缓存区域中,在一段时间后才会将写缓存区域中的数据刷写到磁盘中。实际应用中,往往由于数据写入速度过快造成单位时间内数据写入量较大,以超过设定的写入容量阈值,从而触发写缓存区域的阻塞,使后续数据无法写入造成数据丢失。
相关技术中,对于此问题往往采用调高所设定的写入容量阈值的方法进行处理。
然而,这种方法只能稍微延缓阻塞的发生,当数据写入量超过新设定的写入容量阈值时,仍然会触发写缓存区域的阻塞,使后续数据无法写入造成数据丢失。
发明内容
本申请提供了一种数据写入方法、装置及计算机可读存储介质,能够避免写缓存阻塞的发生,保证后续数据的写入。
本申请提供了一种数据写入方法,包括:
以预设检测频率检测写缓存区域的数据写入容量;
当检测到所述写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过所述预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至所述写缓存区域中的目标数据写入至预先增设的存储设备中。
所述写缓存区域包括:多个写缓存子区域,所述以预设检测频率检测写缓存区域的数据写入容量,包括:
利用多线程以预设检测频率检测多个写缓存子区域的数据写入容量;其中,一个线程对应一个写缓存子区域;
所述当检测到写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中,包括:
当检测到目标写缓存子区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当所述目标写缓存子区域的数据写入容量超过预设阈值的持续时间大于所述预设时间或持续次数大于所述预设次数,将待写入至目标写缓存子区域中的数据写入至所述存储设备中。
所述将待写入至目标写缓存子区域中的数据写入至存储设备中之后,还包括:
当在后续的检测过程中检测到所述目标写缓存子区域的数据写入容量未超过所述预设阈值时开始计时,且在后续的检测过程中当所述目标写缓存子区域的数据写入容量未超过预设阈值的持续时间大于所述预设时间或持续次数大于所述预设次数,将待写入至所述目标写缓存子区域中的数据写入至所述目标写缓存子区域中。
所述将待写入至目标写缓存子区域中的数据写入至存储设备中的同时,还包括:
为写入至所述存储设备中的数据添加写入时间标识;
所述将待写入至目标子写缓存区域中的数据写入至目标子写缓存区域中的同时,还包括:
为写入至所述目标写缓存子区域中的数据添加写入时间标识。
所述将待写入至目标写缓存子区域中的数据写入至目标写缓存子区域中之后,还包括:
根据写入时间标识将写入所述存储设备和所述目标写缓存子区域中的数据按照时间先后顺序刷写到与所述目标写缓存子区域对应的磁盘区域中。
所述存储设备包括:固态驱动器SSD。
所述写缓存子区域为数据库Hbase中的写缓存子区域;
所述利用多线程以预设检测频率检测多个写缓存子区域的数据写入容量之前,还包括:
根据所述Hbase的垃圾回收机制中多线程方法MSLAB创建用于检测数据写入容量的多线程。
本申请还提供了一种数据写入装置,包括:
检测模块,用于以预设检测频率检测写缓存区域的数据写入容量;
处理模块,用于当检测到所述写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过所述预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至所述写缓存区域中的目标数据写入至预先增设的存储设备中。
本申请还提供了一种数据写入装置,包括:处理器和写入器,其中,写入器中写入有以下可被处理器执行的命令:
以预设检测频率检测写缓存区域的数据写入容量;
当检测到所述写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过所述预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至所述写缓存区域中的目标数据写入至预先增设的存储设备中。
本申请还提供了一种计算机可读存储介质,所述存储介质上存储有计算机可执行命令,所述计算机可执行命令用于执行以下步骤:
以预设检测频率检测写缓存区域的数据写入容量;
当检测到所述写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过所述预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至所述写缓存区域中的目标数据写入至预先增设的存储设备中。
与现有技术相比,本申请包括:以预设检测频率检测写缓存区域的数据写入容量;当检测到写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中。由于预先增设了存储设备,当在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数时,将待写入至写缓存区域中的目标数据写入至了存储设备中,因此避免了写缓存区域发生阻塞,保证了后续数据的写入。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书、权利要求书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例提供的一种数据写入方法的流程示意图;
图2为本申请实施例提供的另一种数据写入方法的流程示意图;
图3为本申请实施例提供的一种数据写入装置的结构示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本申请实施例提供一种数据写入方法,如图1所示,该方法包括:
步骤101、以预设检测频率检测写缓存区域的数据写入容量。
在一种示例性实例中,写缓存区域的数据写入容量指的是:已写入写缓存区域中的数据的容量。
步骤102、当检测到写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中。
在一种示例性实例中,当检测到写缓存区域的数据写入容量超过预设阈值时开始计时,同时检测过程(以预设检测频率检测写缓存区域的数据写入容量)仍然持续,即上述步骤中限定的“在后续的检测过程中”。
在一种示例性实例中,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中可以是通过设置写入数据路径为存储设备实现的。
在一种示例性实例中,写缓存区域包括:多个写缓存子区域。以预设检测频率检测写缓存区域的数据写入容量,包括:
利用多线程以预设检测频率检测多个写缓存子区域的数据写入容量;其中,一个线程对应一个写缓存子区域。
当检测到写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中,包括:
当检测到目标写缓存子区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当目标写缓存子区域的数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至目标写缓存子区域中的数据写入至存储设备中。
在一种示例性实例中,目标写缓存子区域的个数可能是一个也可能是多个,当检测到目标写缓存子区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当目标写缓存子区域的数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,只将待写入至目标写缓存子区域中的数据写入至存储设备中,而不将待写入其他写缓存子区域(指的是除目标写缓存子区域以外的写缓存子区域)中的数据写入至存储设备中。
在一种示例性实例中,将待写入至目标写缓存子区域中的数据写入至存储设备中之前、之后或同时,还包括:
触发报警。
在一种示例性实例中,将待写入至目标写缓存子区域中的数据写入至存储设备中之后,还包括:
当在后续的检测过程中检测到目标写缓存子区域的数据写入容量未超过预设阈值时开始计时,且在后续的检测过程中当目标写缓存子区域的数据写入容量未超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至目标写缓存子区域中的数据写入至目标写缓存子区域中。
将待写入至目标写缓存子区域中的数据写入至目标写缓存子区域中可以是通过设置写入数据路径为目标写缓存子区域实现的。
在一种示例性实例中,将待写入至目标写缓存子区域中的数据写入至存储设备中的同时,还包括:
为写入至存储设备中的数据添加写入时间标识。
将待写入至目标子写缓存区域中的数据写入至目标子写缓存区域中的同时,还包括:
为写入至目标写缓存子区域中的数据添加写入时间标识。
在一种示例性实例中,写入时间标识具体可以是数据的Key值。
在一种示例性实例中,将待写入至目标写缓存子区域中的数据写入至目标写缓存子区域中之后,还包括:
根据写入时间标识将写入存储设备和目标写缓存子区域中的数据按照时间先后顺序刷写到与目标写缓存子区域对应的磁盘区域中。
在一种示例性实例中,写入到存储设备和目标写缓存子区域中的数据具有写入顺序,因此,将这些数据刷新到磁盘区域时也应该遵循写入的顺序。
在一种示例性实例中,存储设备包括:固态驱动器SSD。
在一种示例性实例中,采用SSD作为存储设备是因为数据写入写缓存区域的速度大于写入SSD的速度远远大于写入磁盘的速度,所以对于数据写入性能并不会有太大影响。
在一种示例性实例中,写缓存子区域为数据库Hbase中的写缓存子区域。
利用多线程以预设检测频率检测多个写缓存子区域的数据写入容量之前,还包括:
根据Hbase的垃圾回收机制中多线程方法MSLAB创建用于检测数据写入容量的多线程。
本申请实施例提供的数据写入方法,预先增设了存储设备,当在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数时,将待写入至写缓存区域中的目标数据写入至了存储设备中,因此避免了写缓存区域发生阻塞,保证了后续数据的写入。
本申请实施例还提供一种数据写入方法,该数据写入方法的应用场景为数据库Hbase,如图2所示,该方法包括:
步骤201、在数据库HBase的数据存储RegionServer中使用垃圾回收机制中多线程方法MSLAB创建多线程用于监控写缓存区域的数据写入容量。
在一种示例性实例中,该步骤具体包括:
首先、调用MSLAB的方法引入块chunk的概念,将chunk设定为大小默认为2MB的内存;在RegionServer中维护着全局的MemStroreChunkPool实例,作为chunk池;在所有的MemStore实例中都存在一个MemStoreLAB实例;在MemStore接收到KeyValue数据时候先从ChunkPool中申请一个chunk,然后放到这个Chunk中。
步骤202、开启多个进程同时监控多个Region的写缓存区域数据写入容量,并根据监控到的数据写入容量改写Hbase的数据写入位置。
在一种示例性实例中,该步骤具体包括:
首先、自定义设置写缓存区域阻塞刷写阈值的70%为默认对比值;引入hbase.busy.time作为默认时间参数;引入hbase.busy.request作为检测频率参数。
其次、在每个线程中基于设置的检测频率参数hbase.busy.time进行检测,当“数据写入容量”超出设置的默认对比值时开始计时,且检测容量超出默认值的时间大于默认时间参数hbase.busy.request时触发报警,改写HBase写入数据位置到SSD盘。触发报警后当“数据写入容量”低于设置的默认值开始计时,检测持续低于默认值时间小于默认时间参数结束报警,将数据写入位置改为写缓存区域。
其中,数据写入位置的改写过程包括:在SSD中划为一块区域用于HBase 写缓存区域的备份区域,当HBase写缓存区域触发上面算法的报警时,写缓存区域停止接受任何实时数据的写入,进行磁盘刷写flush。SSD中的备用区域启动,代替写缓存区域承担实时数据的写入,同时在写入的数据加入时间戳元素,防止后续刷写到磁盘的数据顺序错乱。由于写入内存数据速度大于写入SSD的速度远远大于写入磁盘的速度,所以此时性能并不会有太大影响。当报警解除后,设置HBase的写入数据路径改写为写缓存区域。
本申请实施例提供的数据写入方法,使用自主设计的阻塞检测算法与 HBase中的MSLAB多线程控制结合监控写缓存区域的数据写入情况,在检测到即将发生写缓存阻塞的情况时,使用了SSD来代替写缓存区域承受实时数据的写入,防止了写缓存区域的阻塞,实现了实时数据写入的高速、可靠特性,降低了内存成本。
本申请实施例还提供一种数据写入装置,如图3所示,该数据写入装置3 包括:
检测模块31,用于以预设检测频率检测写缓存区域的数据写入容量。
处理模块32,用于当检测到写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中。
在一种示例性实例中,写缓存区域包括:多个写缓存子区域。检测模块 31,具体用于利用多线程以预设检测频率检测多个写缓存子区域的数据写入容量;其中,一个线程对应一个写缓存子区域。
处理模块32,具体用于当检测到目标写缓存子区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当目标写缓存子区域的数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至目标写缓存子区域中的数据写入至存储设备中。
在一种示例性实例中,处理模块32,还用于当在后续的检测过程中检测到目标写缓存子区域的数据写入容量未超过预设阈值时开始计时,且在后续的检测过程中当目标写缓存子区域的数据写入容量未超过预设阈值的持续时间大于预设时间或持续次数大于预设次数预设阈值,将待写入至目标写缓存子区域中的数据写入至目标写缓存子区域中。
在一种示例性实例中,处理模块32,还用于为写入至存储设备中的数据添加写入时间标识;为写入至目标写缓存子区域中的数据添加写入时间标识。
在一种示例性实例中,处理模块32,还用于根据写入时间标识将写入存储设备和目标写缓存子区域中的数据按照时间先后顺序刷写到与目标写缓存子区域对应的磁盘区域中。
在一种示例性实例中,写缓存子区域为数据库Hbase中的写缓存子区域。处理模块32,还用于根据Hbase的垃圾回收机制中多线程方法MSLAB创建用于检测数据写入容量的多线程。
本申请实施例提供的数据写入装置,预先增设了存储设备,当在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数时,将待写入至写缓存区域中的目标数据写入至了存储设备中,因此避免了写缓存区域发生阻塞,保证了后续数据的写入。
在实际应用中,所述检测模块31和处理模块32均位于数据写入装置中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit, MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field ProgrammableGate Array,FPGA)等实现。
本申请实施例还提供一种数据写入装置,包括写入器,处理器及写入在写入器上并可在处理器运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一种所述的方法的处理。
本申请实施例还提供一种计算机可读存储介质,存储介质上存储有计算机可执行命令,计算机可执行命令用于执行如上述任意一种所述的方法的处理。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机写入介质(或非暂时性介质) 和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机写入介质包括在用于写入信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机写入介质包括但不限于RAM、ROM、EEPROM、闪存或其他写入器技术、CD-ROM、数字多功能盘(DVD)或其他光盘写入、磁盒、磁带、磁盘写入或其他磁写入装置、或者可以用于写入期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (7)
1.一种数据写入方法,其特征在于,包括:
以预设检测频率检测写缓存区域的数据写入容量;
当检测到所述写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过所述预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至所述写缓存区域中的目标数据写入至预先增设的存储设备中;
所述写缓存区域包括:多个写缓存子区域,所述以预设检测频率检测写缓存区域的数据写入容量,包括:
利用多线程以预设检测频率检测多个写缓存子区域的数据写入容量;其中,一个线程对应一个写缓存子区域;
所述当检测到写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中,包括:
当检测到目标写缓存子区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当所述目标写缓存子区域的数据写入容量超过预设阈值的持续时间大于所述预设时间或持续次数大于所述预设次数,将待写入至目标写缓存子区域中的数据写入至所述存储设备中;
所述将待写入至目标写缓存子区域中的数据写入至存储设备中之后,还包括:
当在后续的检测过程中检测到所述目标写缓存子区域的数据写入容量未超过所述预设阈值时开始计时,且在后续的检测过程中当所述目标写缓存子区域的数据写入容量未超过预设阈值的持续时间大于所述预设时间或持续次数大于所述预设次数,将待写入至所述目标写缓存子区域中的数据写入至所述目标写缓存子区域中;
所述将待写入至目标写缓存子区域中的数据写入至存储设备中的同时,还包括:
为写入至所述存储设备中的数据添加写入时间标识;
所述将待写入至目标子写缓存区域中的数据写入至目标子写缓存区域中的同时,还包括:
为写入至所述目标写缓存子区域中的数据添加写入时间标识。
2.根据权利要求1所述的方法,其特征在于,所述将待写入至目标写缓存子区域中的数据写入至目标写缓存子区域中之后,还包括:
根据写入时间标识将写入所述存储设备和所述目标写缓存子区域中的数据按照时间先后顺序刷写到与所述目标写缓存子区域对应的磁盘区域中。
3.根据权利要求1或2所述的方法,其特征在于,所述存储设备包括:固态驱动器SSD。
4.根据权利要求1所述的方法,其特征在于,所述写缓存子区域为数据库Hbase中的写缓存子区域;
所述利用多线程以预设检测频率检测多个写缓存子区域的数据写入容量之前,还包括:
根据所述Hbase的垃圾回收机制中多线程方法MSLAB创建用于检测数据写入容量的多线程。
5.一种数据写入装置,其特征在于,包括:
检测模块,用于以预设检测频率检测写缓存区域的数据写入容量;
处理模块,用于当检测到所述写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过所述预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至所述写缓存区域中的目标数据写入至预先增设的存储设备中;
所述写缓存区域包括:多个写缓存子区域,所述检测模块以预设检测频率检测写缓存区域的数据写入容量,包括:
所述检测模块利用多线程以预设检测频率检测多个写缓存子区域的数据写入容量;其中,一个线程对应一个写缓存子区域;
所述处理模块当所述检测模块检测到写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中,包括:
当所述检测模块检测到目标写缓存子区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当所述目标写缓存子区域的数据写入容量超过预设阈值的持续时间大于所述预设时间或持续次数大于所述预设次数,将待写入至目标写缓存子区域中的数据写入至所述存储设备中;
所述处理模块还用于将待写入至目标写缓存子区域中的数据写入至存储设备中之后,进行如下操作:
所述处理模块当在后续的检测过程中检测到所述目标写缓存子区域的数据写入容量未超过所述预设阈值时开始计时,且在后续的检测过程中当所述目标写缓存子区域的数据写入容量未超过预设阈值的持续时间大于所述预设时间或持续次数大于所述预设次数,将待写入至所述目标写缓存子区域中的数据写入至所述目标写缓存子区域中;
所述处理模块还用于将待写入至目标写缓存子区域中的数据写入至存储设备中的同时,进行如下操作:
所述处理模块为写入至所述存储设备中的数据添加写入时间标识;
所述处理模块还用于将待写入至目标子写缓存区域中的数据写入至目标子写缓存区域中的同时,进行如下操作:
所述处理模块为写入至所述目标写缓存子区域中的数据添加写入时间标识。
6.一种数据写入装置,其特征在于,包括:处理器和写入器,其中,写入器中写入有以下可被处理器执行的命令:
以预设检测频率检测写缓存区域的数据写入容量;
当检测到所述写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过所述预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至所述写缓存区域中的目标数据写入至预先增设的存储设备中;
所述写缓存区域包括:多个写缓存子区域,所述以预设检测频率检测写缓存区域的数据写入容量,包括:
利用多线程以预设检测频率检测多个写缓存子区域的数据写入容量;其中,一个线程对应一个写缓存子区域;
所述当检测到写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中,包括:
当检测到目标写缓存子区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当所述目标写缓存子区域的数据写入容量超过预设阈值的持续时间大于所述预设时间或持续次数大于所述预设次数,将待写入至目标写缓存子区域中的数据写入至所述存储设备中;
所述将待写入至目标写缓存子区域中的数据写入至存储设备中之后,还包括:
在后续的检测过程中检测到所述目标写缓存子区域的数据写入容量未超过所述预设阈值时开始计时,且在后续的检测过程中当所述目标写缓存子区域的数据写入容量未超过预设阈值的持续时间大于所述预设时间或持续次数大于所述预设次数,将待写入至所述目标写缓存子区域中的数据写入至所述目标写缓存子区域中;
所述将待写入至目标写缓存子区域中的数据写入至存储设备中的同时,还包括:
为写入至所述存储设备中的数据添加写入时间标识;
所述将待写入至目标子写缓存区域中的数据写入至目标子写缓存区域中的同时,还包括:
为写入至所述目标写缓存子区域中的数据添加写入时间标识。
7.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机可执行命令,所述计算机可执行命令用于执行以下步骤:
以预设检测频率检测写缓存区域的数据写入容量;
当检测到所述写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过所述预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至所述写缓存区域中的目标数据写入至预先增设的存储设备中;
所述写缓存区域包括:多个写缓存子区域,所述以预设检测频率检测写缓存区域的数据写入容量,包括:
利用多线程以预设检测频率检测多个写缓存子区域的数据写入容量;其中,一个线程对应一个写缓存子区域;
所述当检测到写缓存区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当数据写入容量超过预设阈值的持续时间大于预设时间或持续次数大于预设次数,将待写入至写缓存区域中的目标数据写入至预先增设的存储设备中,包括:
当检测到目标写缓存子区域的数据写入容量超过预设阈值时开始计时,且在后续的检测过程中当所述目标写缓存子区域的数据写入容量超过预设阈值的持续时间大于所述预设时间或持续次数大于所述预设次数,将待写入至目标写缓存子区域中的数据写入至所述存储设备中;
所述将待写入至目标写缓存子区域中的数据写入至存储设备中之后,还包括:
在后续的检测过程中检测到所述目标写缓存子区域的数据写入容量未超过所述预设阈值时开始计时,且在后续的检测过程中当所述目标写缓存子区域的数据写入容量未超过预设阈值的持续时间大于所述预设时间或持续次数大于所述预设次数,将待写入至所述目标写缓存子区域中的数据写入至所述目标写缓存子区域中;
所述将待写入至目标写缓存子区域中的数据写入至存储设备中的同时,还包括:
为写入至所述存储设备中的数据添加写入时间标识;
所述将待写入至目标子写缓存区域中的数据写入至目标子写缓存区域中的同时,还包括:
为写入至所述目标写缓存子区域中的数据添加写入时间标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911197894.7A CN111142786B (zh) | 2019-11-29 | 2019-11-29 | 一种数据写入方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911197894.7A CN111142786B (zh) | 2019-11-29 | 2019-11-29 | 一种数据写入方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142786A CN111142786A (zh) | 2020-05-12 |
CN111142786B true CN111142786B (zh) | 2022-07-12 |
Family
ID=70517808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911197894.7A Active CN111142786B (zh) | 2019-11-29 | 2019-11-29 | 一种数据写入方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142786B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220766A (zh) * | 2021-05-24 | 2021-08-06 | 成都四方伟业软件股份有限公司 | 一种基于Siddhi存储数据到Hbase的方法及装置 |
CN117931088B (zh) * | 2024-02-02 | 2024-09-27 | 重庆赛力斯凤凰智创科技有限公司 | 车端数据处理方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055281A (zh) * | 2016-06-29 | 2016-10-26 | 广州华多网络科技有限公司 | 数据写入方法和装置 |
CN107329694A (zh) * | 2017-06-22 | 2017-11-07 | 苏州交运电子科技有限公司 | 数据存储控制方法、控制装置及存储设备 |
CN109032517A (zh) * | 2018-07-19 | 2018-12-18 | 广东浪潮大数据研究有限公司 | 一种数据落盘的方法、装置和计算机可读存储介质 |
-
2019
- 2019-11-29 CN CN201911197894.7A patent/CN111142786B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055281A (zh) * | 2016-06-29 | 2016-10-26 | 广州华多网络科技有限公司 | 数据写入方法和装置 |
CN107329694A (zh) * | 2017-06-22 | 2017-11-07 | 苏州交运电子科技有限公司 | 数据存储控制方法、控制装置及存储设备 |
CN109032517A (zh) * | 2018-07-19 | 2018-12-18 | 广东浪潮大数据研究有限公司 | 一种数据落盘的方法、装置和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111142786A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105988884B (zh) | 用于控制看门狗的方法和装置 | |
CN111142786B (zh) | 一种数据写入方法、装置及计算机可读存储介质 | |
WO2018119638A1 (zh) | 记录应用程序配置信息的方法、装置和电子设备 | |
US8473789B2 (en) | Memory leak monitoring system and associated methods | |
US20120089774A1 (en) | Method and system for mitigating adjacent track erasure in hard disk drives | |
CN108984295B (zh) | 内存回收方法、计算机装置及计算机可读存储介质 | |
JP2017079053A (ja) | ストレージジャーナリングを改善する方法およびシステム | |
US20160062700A1 (en) | System, method for cleaning memory space and terminal device with memory space cleaning function | |
US9342246B2 (en) | Host command based read disturb methodology | |
US10209905B2 (en) | Reusing storage blocks of a file system | |
US9063863B2 (en) | Systems and methods for background destaging storage tracks | |
CN108920263B (zh) | 用于应用保持的方法与设备 | |
CN104036188A (zh) | 一种Android恶意程序检测方法、装置及设备 | |
CN103246591A (zh) | 信号处理的方法和装置 | |
CN111221790A (zh) | 一种日志文件的处理方法、装置及计算机可读存储介质 | |
US11816217B2 (en) | Decoy memory allocation | |
CN111522598A (zh) | 嵌入式设备的重启信息记录方法及装置 | |
CN113935045A (zh) | 用户数据恢复方法、装置、终端以及计算机存储介质 | |
CN110647498A (zh) | 一种文件存储方法、装置、设备及计算机可读存储介质 | |
CN112908390B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN108319527B (zh) | 一种坏道磁盘检测方法和装置 | |
CN110908792B (zh) | 一种数据处理方法及装置 | |
US11604680B2 (en) | Low system memory detection | |
CN112446191A (zh) | 一种文本处理方法、装置、设备及存储介质 | |
CN104008338A (zh) | 一种Android恶意程序处理方法、装置及设备 |
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 |