CN110119251A - 一种基于磁盘大流量的缓冲控制方法和系统 - Google Patents

一种基于磁盘大流量的缓冲控制方法和系统 Download PDF

Info

Publication number
CN110119251A
CN110119251A CN201910399102.8A CN201910399102A CN110119251A CN 110119251 A CN110119251 A CN 110119251A CN 201910399102 A CN201910399102 A CN 201910399102A CN 110119251 A CN110119251 A CN 110119251A
Authority
CN
China
Prior art keywords
data
disk
module
big flow
buffer control
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
CN201910399102.8A
Other languages
English (en)
Other versions
CN110119251B (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 Jess Safety Technology Co Ltd
Original Assignee
Beijing Jess Safety 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 Jess Safety Technology Co Ltd filed Critical Beijing Jess Safety Technology Co Ltd
Priority to CN201910399102.8A priority Critical patent/CN110119251B/zh
Publication of CN110119251A publication Critical patent/CN110119251A/zh
Application granted granted Critical
Publication of CN110119251B publication Critical patent/CN110119251B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于磁盘的大流量缓冲控制方法,包括:动态监听磁盘IO使用率,更新全局状态表;接收客户端数据请求,进行数据验证,验证成功的数据等待写入磁盘;检测全局状态表,通知客户端调整数据发送频率和发送大小;将验证成功的数据,根据不同数据类型,建立数据与磁盘目录的对应表;扫描等待写入磁盘的数据以及数据与磁盘目录的对应表,按不同数据类型将数据写入磁盘目录中。本发明还同时公开了一种基于磁盘的大流量缓冲控制系统。

Description

一种基于磁盘大流量的缓冲控制方法和系统
技术领域
本发明涉及计算机软件领域,具体涉及一种基于磁盘的大流量下缓冲控制的方法和系统。
背景技术
目前,应对服务器大流量情况的主流技术方案包括横向扩展方案和纵向扩展方案。从横向扩展角度来讲,主要采用负载均衡技术,横向扩展多个业务节点。比较典型的是服务器集群负载均衡技术。根据形态不同,可以分为硬件均衡和软件均衡技术。对软件均衡而言,可分为域名负载均衡,IP负载均衡,链路层负载均衡等。最早的负载均衡技术,利用域名解析实现负载均衡。大型网站总是部分使用域名解析,作为第一级负载均衡。IP负载均衡在网络层通过修改请求目标地址进行负载均衡。
从纵向扩展来看,就是提高单机配置,比如加大内存。使用各种缓冲机制,减少对IO敏感的数据库的冲击。比如使用Redis,Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。在比如Memcached,它是一个分布式的高性能内存对象缓存系统,可以缓存数据,如果没有它,就必须从数据库中获取数据,加重数据库的负担.有了它,减轻数据库负载,减少应用程序对数据库的调用,加快了数据的访问.
综合来看目前应对大流量环境的可用技术主要为分布式集群技术,其加大单机服务能力,提供缓存机制。然而无论单独使用硬件还是软件,其复杂度都很高,且需要大量的硬件资源作为支撑。目前为止,仍缺少能圆满解决服务器在有限资源环境下大流量写入的处理方案。
发明内容
针对现有技术中的缺陷,本发明提供一种基于磁盘的大流量缓冲控制方法和系统。以应对服务器有限资源下大流量的情况,降低磁盘负载,提高系统可用性。
为实现本发明的发明目的,本发明提出一种基于磁盘的大流量缓冲控制方法,包括以下步骤:
动态监听磁盘IO使用率,更新全局状态表;
接收客户端数据请求,进行数据验证,验证成功的数据等待写入磁盘;
检测全局状态表,通知客户端调整数据发送频率和发送大小;
将验证成功的数据,根据不同数据类型,建立数据与磁盘目录的对应表,等待数据写入磁盘;
扫描等待写入磁盘的数据以及数据与磁盘目录的对应表,按不同数据类型将数据写入磁盘目录中。
进一步的,所述更新全局状态表的具体方法为,每间隔一定时长监听一次磁盘IO使用率,当所述磁盘IO使用率低于第一阈值时或高于第二阈值时,更新全局状态表。
进一步的,所述进行数据验证的具体方法为,判定服务器端数据接收次数与客户端数据发送次数是否相同,相同则通过验证,不同则丢弃数据。
进一步的,所述通知客户端的具体方法为,向客户端发送间隔信号或大小信号。
进一步的,在所述对应表中建立全局自增长ID,保证每个数据的全局唯一性。
进一步的,通过worker线程机制周期性的实现数据扫描和数据写入。
为实现本发明的发明目的,本发明还提出一种基于磁盘的大流量缓冲控制系统,包括磁盘、监听模块、数据验证模块、状态检测模块、数据目录模块、写入模块,
所述磁盘用于存储数据库数据;
所述监听模块用于动态监听磁盘IO使用率,更新全局状态表;
所述数据验证模块用于接收客户端数据请求,进行数据验证,验证通过的数据等待写入磁盘;
所述状态检测模块,用于检测全局状态表,通知客户端调整数据发送频率和发送大小;
所述数据目录模块,用于将验证成功的数据,根据不同数据类型,建立数据与磁盘目录的对应表,等待数据写入磁盘;
所述写入模块,用于扫描所述等待写入磁盘的数据以及所述对应表,按不同数据类型将数据写入磁盘目录中。
进一步的,所述控制模块每间隔一定时长监听一次磁盘IO使用率,当所述磁盘IO使用率低于第一阈值时或高于第二阈值时,更新全局状态表。
进一步的,所述数据验证模块判定服务器数据接收次数与客户端数据发送数据次数是否相同,相同则验证成功,不同则丢弃数据。
进一步的,所述状态检测模块向客户端发送间隔信号或大小信号,通知客户端调整数据发送频率和发送大小。
进一步的,所述数据目录模块在所述对应表中建立全局自增长ID,保证每个数据的全局唯一性。
进一步的,所述写入模块通过worker线程机制周期性的实现数据扫描和数据写入。
本发明的有益效果体现在:监听服务器磁盘IO使用率,动态调整客户端数据发送大小和发送间隔,建立数据与磁盘对应表,采用worker线程机制,保证数据的分布写入,降低磁盘负载,简单高效地解决有限资源下大流量数据写入服务器的问题。同时,通过数据验证,保证数据一致性,降低重发攻击。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例一公开的一种基于磁盘的大流量缓冲控制方法;
图2为本发明实施例一公开的一种基于磁盘的大流量缓冲控制系统。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1所示,本发明提供一种基于磁盘的大流量缓冲控制方法,包括以下步骤:
步骤S1,动态监听磁盘IO使用率,更新全局状态表;
步骤S2,接收客户端数据请求,进行数据验证,验证成功的数据等待写入磁盘;
步骤S3,检测全局状态表,通知客户端调整数据发送频率和发送大小;
步骤S4,将验证成功的数据,根据不同数据类型,建立数据与磁盘目录的对应表,等待数据写入磁盘;
步骤S5,扫描等待写入磁盘的数据以及数据与磁盘目录的对应表,按不同数据类型将数据写入磁盘目录中。
可选的,所述更新全局状态表的具体方法为,每间隔一定时长监听一次磁盘IO使用率,当所述磁盘IO使用率低于第一阈值时或高于第二阈值时,更新全局状态表。
具体的,采用周期性的监听方式查看磁盘内部总体写入读出量即磁盘IO使用率,每间隔一定时长进行一次监听,该间隔时长可自由设定,一般设定为10秒。当服务器磁盘IO使用率低于第一阈值时,代表服务器磁盘负载较低,此时更新全局状态表;当服务器磁盘IO使用率高于第二阈值时,代表服务器磁盘负载较高,不便于新数据的写入,此时更新全局状态表。所述全局状态表记录了此时的磁盘IO使用率及对应时间等。通过全局状态表内容确定服务器磁盘负载高低情况,从而辅助客户端更改数据发送策略。
本发明中,当客户端发送数据,线程池接收客户端数据请求,取出线程,在该线程中进行数据验证。
可选的,数据验证的具体方法为,判定服务器端数据接收次数与客户端数据发送次数是否相同,相同则验证成功,不同则丢弃数据。
本发明中,客户端发送到服务器端的数据序列中包含了seq数值,seq数值用于记录当前客户端发送数据的次数。服务器端接收seq数值并保存,通过检测服务器端的seq数值与客户端的seq数值是否一致来验证数据唯一性:当seq数值相同,代表服务器端数据接收次数与客户端数据发送数据次数相同,数据验证成功;当seq数值不相同,代表数据丢失或数据重发,此时将客户端发送至服务器端的数据丢弃,通知客户端不进入后续数据处理。以此保障服务器不受到重发攻击。
本发明中,线程池动态检测全局状态表,以此确定服务器磁盘负载大小。当负载较小,通过API接口通知客户端增加发送数据大小和发送频率;当负载较大,通过API接口通知客户端减少发送数据大小和发送频率。
可选的,通知客户端的具体方法为,向客户端发送间隔信号或大小信号。
本发明中,发送的通知信号可以是单独的间隔信号或大小信号,也可以是在回复客户端的字段中增加通知间隔信号字段或大小信号字段。
本发明中,所述间隔信号由interval信号表示,当interval信号为正,则表示此时服务器磁盘负载大,通知客户端增加数据发送间隔时长,以保证其服务资源能合理化;当interval信号为负,表示此时服务器磁盘负载压力小,通知客户端减少数据发送间隔时长。
本发明中,所述字段信号由size信号表示,当size信号为负,表示此时服务器磁盘负载大,希望客户端减小发送数据的大小,以保证其服务资源能合理化。当size信号为正,表示此时服务器磁盘负载压力小,希望客户端增大发送数据的大小。
可选的,客户端与服务器端预先约定分别当磁盘负载过低或过高时,发送数据的间隔时长和数据大小。当出现负载过低或过高时,按其预先约定的间隔时长和数据大小进行数据发送。
本发明中,为了动态控制磁盘写入压力,在数据写入磁盘前,数据先在缓存区中缓冲,建立数据与磁盘目录的一一对应表,等到数据缓存区中缓冲一定量的数据,再根据数据与磁盘目录对应表,分步将数据写入磁盘中。
本发明中,数据与磁盘目录对应表的对应关系为:日志类型的数据对应磁盘日志目录;事件类型数据对应建立磁盘事件目录;资产类型数据对应建立磁盘资产目录;磁盘还具有错误文件目录等。
可选的,在所述对应表中建立全局自增长ID,保证每个数据的全局唯一性。
本发明中,由于数据缓冲过程是多线程的数据处理过程,在数据写入磁盘过程中,可能会将一个数据写入磁盘多个目录中,为了保证数据写入磁盘目录的唯一性,在对应表中建立全局自增长ID,保证数据的全局唯一性,依次保证每个数据写入唯一磁盘目录。
可选的,通过worker线程机制周期性的实现数据扫描和数据写入。
本发明中,worker线程机制为运行在系统后台的Java线程机制,worker线程不会影响其他任务的进行。通过worker线程机制在每个固定时间节点扫描缓存区中等待写入磁盘的数据,以及数据与磁盘目录的对应表,进行当前缓存区中数据的磁盘写入工作。所述当前缓存区中的数据是上一个固定时间节点到本次固定时间节点之间所缓冲在缓存区的数据。按照目录对应表,将不同类型的数据写入磁盘的相应目录下,如:将日志型数据写入磁盘日志目录下、将事件型数据写入磁盘事件目录下、将资产型数据写入磁盘资产目录下。当当前时间段数据写入完毕,worker线程等到下一个固定时间节点进行下一时间段数据写入磁盘,以此worker线程实现周期性数据写入。当当前时间段数据写入完毕,删除或备份缓存区中当前时间段的数据。当出现数据无法写入磁盘、数据不全等异常情况,则将错误数据放入磁盘错误文件目录中,用于后续错误数据分析。若取消线程写入任务,则worker线程删除缓存区中当前时间段数据或者备份当前时间段数据,然后停止数据写入。
本发明还建立并动态维护两张表格,即全局状态表及数据类型表。全局状态表记录磁盘IO使用率及记录时间,以此查看各时间节点的磁盘负载情况。数据类型表,用于记录客户端向服务器端传输的数据所属类型及对应的客户端IP地址,数据所属类型包括日志型、事件型、堆栈型、资产型。每间隔一定时间进行一次全局状态表的更新和数据类型表的更新。
如图2所示,本发明提供一种基于磁盘的大流量缓冲控制系统,包括:磁盘、监听模块、数据验证模块、状态检测模块、数据目录模块、写入模块。
所述磁盘用于存储数据库数据;
所述监听模块用于动态监听磁盘IO使用率,更新全局状态表;
所述数据验证模块用于接收客户端数据请求,进行数据验证,验证通过的数据等待写入磁盘;
所述状态检测模块,用于检测全局状态表,通知客户端调整数据发送频率和发送大小;
所述数据目录模块,用于将验证成功的数据,根据不同数据类型,建立数据与磁盘目录的对应表,等待数据写入磁盘;
所述写入模块,用于扫描所述等待写入磁盘的数据以及所述对应表,按不同数据类型将数据写入磁盘目录中。
本发明中,磁盘中不同的数据存储在不同的数据目录中。
可选的,所述监听模块每间隔一定时长监听一次磁盘IO使用率,当所述磁盘IO使用率低于第一阈值时或高于第二阈值时,更新全局状态表。
具体的,监听模块采用周期性的监听方式查看磁盘内部总体写入读出量即磁盘IO使用率,每间隔一定时长进行一次监听,该间隔时长可自由设定,一般设定为10秒。当服务器磁盘IO使用率低于第一阈值时,代表服务器磁盘负载较低,此时更新全局状态表;当服务器磁盘IO使用率高于第二阈值时,代表服务器磁盘负载较高,不便于新数据的写入,此时更新全局状态表。所述全局状态表记录了此时的磁盘IO使用率及完成时间等。可通过全局状态表内容确定服务器磁盘负载高低情况,从而辅助客户端更改数据发送策略。
本发明中,当客户端发送数据,数据验证模块通过线程池接收客户端数据请求,取出线程,在该线程中进行数据验证。
可选的,所述数据验证模块判定服务器数据接收次数与客户端数据发送数据次数是否相同,相同则验证成功,不同则丢弃数据。
本发明中,客户端发送到服务器端的数据序列中包含了seq数值,seq数值用于记录当前客户端发送数据的次数。服务器端接收seq数值并保存,数据验证模块通过检测服务器端的seq数值与客户端的seq数值是否相同来验证数据唯一性:当seq数值相同,代表服务器端数据接收次数与客户端数据发送数据次数相同,数据验证成功;当seq数值不相同,代表数据丢失或数据重发,此时将客户端发送至服务器端的数据丢弃,通知客户端不进入后续数据处理。以此保障服务器不受到重发攻击。
本发明中,状态检测模块通过线程池动态检测全局状态表,以此确定服务器磁盘负载大小。当负载较小,状态检测模块通过API接口通知客户端增加发送数据大小和发送频率;当负载较大,状态检测模块通过API接口通知客户端减少发送数据大小和发送频率。
可选的,所述状态检测模块向客户端发送间隔信号或大小信号,通知客户端调整数据发送频率和发送大小。
本发明中,所述发送的间隔信号或大小信号可以是单独的间隔信号或大小信号,也可以是在回复客户端的字段中增加通知间隔信号字段或大小信号字段。
本发明中,所述间隔信号由interval信号表示,当interval信号为正,则表示此时服务器磁盘负载大,通知客户端增加数据发送间隔时长,以保证其服务资源能合理化;当interval信号为负,表示此时服务器磁盘负载压力小,通知客户端减少数据发送间隔时长。
本发明中,所述字段信号由size信号表示,当size信号为负,表示此时服务器磁盘负载大,希望客户端减小发送数据的大小,以保证其服务资源能合理化。当size信号为正,表示此时服务器磁盘负载压力小,希望客户端增大发送数据的大小。
本发明中,客户端与服务器端可预先约定分别当磁盘负载过低或过高时,发送数据的间隔时长和数据大小。当出现负载过低或过高时,按其预先约定的间隔时长和数据大小进行数据发送。
本发明中,为了动态控制磁盘写入压力,在数据写入磁盘前,数据先在缓存区中缓冲,数据目录模块根据数据的不同类型,建立数据与磁盘目录的一一对应表,等到缓存区中数据缓冲到一定量,再按照数据与磁盘目录的对应表,分步将不同类型的数据写入磁盘不同目录中。
本发明中,数据与磁盘目录的对应表的对应关系为:日志类型的数据对应磁盘日志目录;事件类型数据对应建立磁盘事件目录;磁盘还具有错误文件目录等。
可选的,所述数据目录模块在所述对应表中建立全局自增长ID,保证每个数据的全局唯一性。
本发明中,由于数据缓冲过程是多线程的数据处理过程,在数据写入磁盘过程中,可能会将一个数据写入磁盘多个目录中,为了保证数据写入磁盘目录的唯一性,在对应表中建立全局自增长ID,保证数据的全局唯一性,依次保证每个数据写入唯一磁盘目录。
可选的,所述写入模块通过worker线程机制周期性的实现数据扫描和数据写入。
本发明中,worker线程机制为运行在系统后台的Java线程机制,worker线程不会影响其他任务的进行。写入模块通过worker单线程机制在每个固定时间节点扫描缓存区中等待写入磁盘的数据,以及数据与磁盘目录的对应表,进行当前缓存区中数据的磁盘写入工作。所述当前缓存区中的数据是上一个固定时间节点到本次固定时间节点之间所缓冲在缓存区的数据。按照目录对应表,将不同类型的数据写入磁盘的相应目录下如:将日志型数据写入磁盘日志目录下、将事件型数据写入磁盘事件目录下、将资产型数据写入磁盘资产目录下。当当前时间段数据写入完毕,worker线程等到下一个固定时间节点进行下一时间段数据写入磁盘,以此worker线程实现周期性数据写入。当当前时间段数据写入完毕,删除或备份缓存区中当前时间段的数据。当出现数据无法写入磁盘、数据不全等异常情况,则将错误数据放入磁盘错误文件目录中,用于后续错误数据分析。若取消线程写入任务,则worker线程删除缓存区中当前时间段数据或者备份当前时间段数据,然后停止数据写入。
所述系统还包括客户端,用于数据的发送及磁盘负载情况接收。
所述系统还包括缓存区,用于数据在写入磁盘前进行缓存。
该系统还包括了全局状态表及数据类型表。全局状态表建立在监听模块中,记录磁盘IO使用率及记录时间,以此查看各时间节点的磁盘负载情况。数据类型表建立在数据目录模块中,用于记录客户端向服务器端传输的数据所属类型及对应的客户端IP地址,数据所属类型包括日志型、事件型、堆栈型、资产型,数据类型表帮助确定数据所属类型,便于数据与磁盘目录的对应和磁盘写入。每间隔一定时间进行一次全局状态表的更新和数据类型表的更新。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (10)

1.一种基于磁盘的大流量缓冲控制方法,包括以下步骤:
动态监听磁盘IO使用率,更新全局状态表;
接收客户端数据请求,进行数据验证,验证成功的数据等待写入磁盘;
检测全局状态表,通知客户端调整数据发送频率和发送大小;
将验证成功的数据,根据不同数据类型,建立数据与磁盘目录的对应表;
扫描等待写入磁盘的数据以及数据与磁盘目录的对应表,按不同数据类型将数据写入磁盘目录中。
2.如权利要求1所述的一种基于磁盘的大流量缓冲控制方法,其特征在于,所述更新全局状态表的具体方法为,每间隔一定时长监听一次磁盘IO使用率,当所述磁盘IO使用率低于第一阈值时或高于第二阈值时,更新全局状态表。
3.如权利要求1所述的一种基于磁盘的大流量缓冲控制方法,其特征在于,所述进行数据验证的具体方法为,判定服务器端数据接收次数与客户端数据发送次数是否相同,相同则通过验证,不同则丢弃数据。
4.如权利要求1所述的一种基于磁盘的大流量缓冲控制方法,其特征在于,在所述对应表中建立全局自增长ID,保证每个数据的全局唯一性。
5.如权利要求1所述的一种基于磁盘的大流量缓冲控制方法,其特征在于,通过worker线程机制周期性的实现数据扫描和数据写入。
6.一种基于磁盘的大流量缓冲控制系统,包括磁盘、监听模块、数据验证模块、状态检测模块、数据目录模块、写入模块,
所述磁盘用于存储数据库数据;
所述监听模块用于动态监听磁盘IO使用率,更新全局状态表;
所述数据验证模块用于接收客户端数据请求,进行数据验证,验证通过的数据等待写入磁盘;
所述状态检测模块,用于检测全局状态表,通知客户端调整数据发送频率和发送大小;
所述数据目录模块,用于将验证成功的数据,根据不同数据类型,建立数据与磁盘目录的对应表;
所述写入模块,用于扫描所述等待写入磁盘的数据以及所述对应表,按不同数据类型将数据写入磁盘目录中。
7.如权利要求6所述的一种基于磁盘的大流量缓冲控制系统,其特征在于,所述控制模块每间隔一定时长监听一次磁盘IO使用率,当所述磁盘IO使用率低于第一阈值时或高于第二阈值时,更新全局状态表。
8.如权利要求6所述的一种基于磁盘的大流量缓冲控制系统,其特征在于,所述数据验证模块判定服务器数据接收次数与客户端数据发送数据次数是否相同,相同则验证成功,不同则丢弃数据。
9.如权利要求6所述的一种基于磁盘的大流量缓冲控制系统,其特征在于,所述数据目录模块在所述对应表中建立全局自增长ID,保证每个数据的全局唯一性。
10.如权利要求6所述的一种基于磁盘的大流量缓冲控制系统,其特征在于,所述写入模块通过worker线程机制周期性的实现数据扫描和数据写入。
CN201910399102.8A 2019-05-14 2019-05-14 一种基于磁盘大流量的缓冲控制方法和系统 Active CN110119251B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910399102.8A CN110119251B (zh) 2019-05-14 2019-05-14 一种基于磁盘大流量的缓冲控制方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910399102.8A CN110119251B (zh) 2019-05-14 2019-05-14 一种基于磁盘大流量的缓冲控制方法和系统

Publications (2)

Publication Number Publication Date
CN110119251A true CN110119251A (zh) 2019-08-13
CN110119251B CN110119251B (zh) 2023-01-03

Family

ID=67522336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910399102.8A Active CN110119251B (zh) 2019-05-14 2019-05-14 一种基于磁盘大流量的缓冲控制方法和系统

Country Status (1)

Country Link
CN (1) CN110119251B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54148444A (en) * 1978-05-15 1979-11-20 Tokyo Electric Co Ltd Data writing control method to magnetic tape recording device
JPS5840644A (ja) * 1981-09-03 1983-03-09 Nec Corp コマンド再試行方式
CN102096556A (zh) * 2010-12-03 2011-06-15 成都市华为赛门铁克科技有限公司 拷贝数据的方法、读取数据的方法和装置及系统
CN103729313A (zh) * 2012-10-11 2014-04-16 苏州捷泰科信息技术有限公司 Ssd缓存的输入输出流量控制方法及装置
CN104216660A (zh) * 2013-05-30 2014-12-17 华为软件技术有限公司 提高磁盘阵列性能的方法及装置
CN104407987A (zh) * 2014-10-30 2015-03-11 曙光信息产业股份有限公司 一种分级存储的方法
CN105739924A (zh) * 2016-01-29 2016-07-06 华为技术有限公司 基于缓存集群的缓存方法和系统
CN105740048A (zh) * 2016-01-26 2016-07-06 华为技术有限公司 一种镜像管理方法、装置及系统
CN106326133A (zh) * 2015-06-29 2017-01-11 华为技术有限公司 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法
CN107291370A (zh) * 2016-03-30 2017-10-24 杭州海康威视数字技术股份有限公司 一种云存储系统调度方法和装置
CN108920095A (zh) * 2018-06-06 2018-11-30 深圳市脉山龙信息技术股份有限公司 一种基于crush的数据存储优化方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54148444A (en) * 1978-05-15 1979-11-20 Tokyo Electric Co Ltd Data writing control method to magnetic tape recording device
JPS5840644A (ja) * 1981-09-03 1983-03-09 Nec Corp コマンド再試行方式
CN102096556A (zh) * 2010-12-03 2011-06-15 成都市华为赛门铁克科技有限公司 拷贝数据的方法、读取数据的方法和装置及系统
CN103729313A (zh) * 2012-10-11 2014-04-16 苏州捷泰科信息技术有限公司 Ssd缓存的输入输出流量控制方法及装置
CN104216660A (zh) * 2013-05-30 2014-12-17 华为软件技术有限公司 提高磁盘阵列性能的方法及装置
CN104407987A (zh) * 2014-10-30 2015-03-11 曙光信息产业股份有限公司 一种分级存储的方法
CN106326133A (zh) * 2015-06-29 2017-01-11 华为技术有限公司 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法
CN105740048A (zh) * 2016-01-26 2016-07-06 华为技术有限公司 一种镜像管理方法、装置及系统
CN105739924A (zh) * 2016-01-29 2016-07-06 华为技术有限公司 基于缓存集群的缓存方法和系统
CN107291370A (zh) * 2016-03-30 2017-10-24 杭州海康威视数字技术股份有限公司 一种云存储系统调度方法和装置
CN108920095A (zh) * 2018-06-06 2018-11-30 深圳市脉山龙信息技术股份有限公司 一种基于crush的数据存储优化方法和装置

Also Published As

Publication number Publication date
CN110119251B (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
US10785322B2 (en) Server side data cache system
US10467105B2 (en) Chained replication techniques for large-scale data streams
CN111585867B (zh) 消息处理方法、装置、电子设备及可读存储介质
US9471585B1 (en) Decentralized de-duplication techniques for largescale data streams
US9965364B2 (en) Fault tolerant listener registration in the presence of node crashes in a data grid
US9753954B2 (en) Data node fencing in a distributed file system
US9189348B2 (en) High availability database management system and database management method using same
CN104331492B (zh) 一种缓存多实例数据的方法及装置
US8838526B2 (en) Systems and methods for supporting transactional message handling
CN104580226A (zh) 一种共享会话数据的系统和方法
CN110308983A (zh) 资源负载均衡方法及系统、服务节点和客户端
EP4213038A1 (en) Data processing method and apparatus based on distributed storage, device, and medium
CN111324606B (zh) 数据分片的方法及装置
JP2012234333A (ja) クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム
CN113391890A (zh) 一种任务处理方法、装置、设备和计算机存储介质
WO2020036763A1 (en) Testing data changes in production systems
JP2023541298A (ja) トランザクション処理方法、システム、装置、機器、及びプログラム
US10613992B2 (en) Systems and methods for remote procedure call
CN115292414A (zh) 一种业务数据同步到数仓的方法
CN114338684B (zh) 一种能源管理系统及方法
CN107180034A (zh) MySQL数据库的集群系统
CN110119251A (zh) 一种基于磁盘大流量的缓冲控制方法和系统
CN111130882A (zh) 网络设备的监控系统及方法
US11582345B2 (en) Context data management interface for contact center
US20100250604A1 (en) Method for Processing Data Access in an Information Management System and Related Information Management System

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