CN104182361B - 数据缓存处理方法及装置 - Google Patents

数据缓存处理方法及装置 Download PDF

Info

Publication number
CN104182361B
CN104182361B CN201410412521.8A CN201410412521A CN104182361B CN 104182361 B CN104182361 B CN 104182361B CN 201410412521 A CN201410412521 A CN 201410412521A CN 104182361 B CN104182361 B CN 104182361B
Authority
CN
China
Prior art keywords
data
buffering area
buffer storage
data buffer
occupancy
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
Application number
CN201410412521.8A
Other languages
English (en)
Other versions
CN104182361A (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 Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum 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 Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201410412521.8A priority Critical patent/CN104182361B/zh
Publication of CN104182361A publication Critical patent/CN104182361A/zh
Application granted granted Critical
Publication of CN104182361B publication Critical patent/CN104182361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种数据缓存处理方法及装置。数据缓存处理方法包括:接收数据获取线程获取数据的请求信号;检测缓冲区的数据缓存占用量,其中,所述缓冲区用于缓存所述数据获取线程请求获取的数据;判断所述缓冲区的数据缓存占用量是否达到预设条件;如果判断所述缓冲区的数据缓存占用量达到所述预设条件,则控制所述数据获取线程处于等待状态;以及如果判断所述缓冲区的数据缓存占用量未达到预设条件,则控制所述数据获取线程处于运行状态。通过本发明解决了数据处理过程中因数据处理速度滞后造成数据堆积在内存中造成内存被长时间占用的问题,进而达到了高效利用内存的效果。

Description

数据缓存处理方法及装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据缓存处理方法及装置。
背景技术
同步程序通过webservice服务、接口等方式获取源数据,获取完成后对数据进行处理并更新到目标数据源。一般情况下为了效率的提升会直接采取多个线程进行数据获取,再利用数据处理程序处理获取完成的数据。但是如果数据处理程序处理数据的速度比获取数据速度慢时,会造成获取到的数据堆积在内存中,造成内存的长时间占用。采用单线程获取数据处理数据不存在该问题,但是该方式效率很低。
针对相关技术中数据处理过程中因数据处理速度滞后造成数据堆积在内存中的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据缓存处理方法及装置,以解决数据处理过程中因数据处理速度滞后造成数据堆积在内存中的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据缓存处理方法。
根据本发明的数据缓存处理方法包括:接收数据获取线程获取数据的请求信号;检测缓冲区的数据缓存占用量,其中,所述缓冲区用于缓存所述数据获取线程请求获取的数据;判断所述缓冲区的数据缓存占用量是否达到预设条件;如果判断所述缓冲区的数据缓存占用量达到所述预设条件,则控制所述数据获取线程处于等待状态;以及如果判断所述缓冲区的数据缓存占用量未达到所述预设条件,则控制所述数据获取线程处于运行状态。
进一步地,检测缓冲区的数据缓存占用量包括:检测所述缓冲区的缓存占用长度,其中,缓存占用长度用于表示缓冲区已经执行缓存的次数,判断缓冲区的数据缓存占用量是否达到预设条件包括:判断缓存占用长度是否达到预设数量,其中,如果缓存占用长度达到预设数量,则确定缓冲区的数据缓存占用量达到预设条件,如果缓存占用长度未达到预设数量,则确定缓冲区的数据缓存占用量未达到预设条件。
进一步地,检测缓冲区的数据缓存占用量包括:检测所述缓冲区的内存占用量,判断缓冲区的数据缓存占用量是否达到预设条件包括:判断所述内存占用量是否达到预设内存占用量,其中,如果内存占用量达到预设内存占用量,则确定缓冲区的数据缓存占用量达到预设条件,如果内存占用量未达到预设内存占用量,则确定缓冲区的数据缓存占用量未达到预设条件。
进一步地,在控制数据获取线程处于等待状态之后,数据缓存处理方法还包括:检测缓冲区是否清空;以及如果检测到缓冲区清空,则控制处于等待状态的数据获取线程发送请求信号。
进一步地,在控制数据获取线程处于等待状态之后,数据缓存处理方法还包括:检测缓冲区的空闲存储量是否大于预设存储阈值;以及如果检测到缓冲区的空闲存储量大于预设存储阈值,则控制处于等待状态的数据获取线程发送请求信号。
为了实现上述目的,根据本发明的另一方面,提供了一种数据缓存处理装置。
根据本发明的数据缓存处理装置包括:接收模块,用于接收数据获取线程获取数据的请求信号;检测模块,用于检测缓冲区的数据缓存占用量,其中,缓冲区用于缓存数据获取线程请求获取的数据;判断模块,用于判断缓冲区的数据缓存占用量是否达到预设条件;第一控制模块,用于当判断缓冲区的数据缓存占用量达到预设条件时,控制所述数据获取线程处于等待状态;以及第二控制模块,用于当判断缓冲区的数据缓存占用量未达到预设条件时,则控制数据获取线程处于运行状态。
进一步地,检测缓冲区的数据缓存占用量包括:检测缓冲区的缓存占用长度,其中,缓存占用长度用于表示缓冲区已经执行缓存的次数,判断模块包括:第一判断单元,用于判断缓存占用长度是否达到预设数量,其中,如果缓存占用长度达到预设数量,则确定缓冲区的数据缓存占用量达到预设条件,如果缓存占用长度未达到预设数量,则确定缓冲区的数据缓存占用量未达到预设条件。
进一步地,检测缓冲区的数据缓存占用量包括:检测缓冲区的内存占用量,判断模块包括:第二判断单元,用于判断内存占用量是否达到预设内存占用量,其中,如果内存占用量达到预设内存占用量,则确定缓冲区的数据缓存占用量达到预设条件,如果内存占用量未达到预设内存占用量,则确定缓冲区的数据缓存占用量未达到预设条件。
进一步地,在控制数据获取线程处于等待状态之后,数据缓存处理装置还包括:第二检测模块,用于检测缓冲区是否清空;以及第三控制模块,用于在检测到缓冲区清空时,控制处于等待状态的数据获取线程发送请求信号。
进一步地,在控制数据获取线程处于等待状态之后,数据缓存处理装置还包括:第三检测模块,用于检测缓冲区的空闲存储量是否大于预设存储阈值;以及第四控制模块,用于在检测到缓冲区的空闲存储量大于预设存储阈值时,控制处于等待状态的数据获取线程发送请求信号。
通过本发明,通过判断缓冲区的缓存占用量是否达到预设条件来控制是否允许数据获取线程运行并获取数据存放在缓冲区,解决了数据处理过程中因数据处理速度滞后造成数据堆积在内存中造成内存被长时间占用的问题,进而达到了高效利用内存的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据缓存处理方法的流程图;
图2是根据本发明实施例的数据缓存处理的流程图;
图3是根据本发明第一实施例的数据缓存处理装置的示意图;
图4是根据本发明第二实施例的数据缓存处理装置的示意图;以及
图5是根据本发明第三实施例的数据缓存处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
根据本发明实施例,提供了一种数据缓存处理方法,图1是根据本发明实施例的数据缓存处理方法的流程图。
如图1所示,该方法包括如下的步骤S102至步骤S110:
步骤S102:接收数据获取线程获取数据的请求信号;
数据获取线程在获取数据之前,向线程控制模块发出获取数据的请求信号,由于线程控制模块一次只能处理一个数据获取线程的请求信号,因而在该线程控制模块接收该请求信号之后,对该数据获取线程进行标识,例如在该数据获取线程中添加一个标志位,表明线程控制模块正在处理该数据获取线程,使得其他申请运行的数据获取线程处于等待处理状态。
步骤S104:检测缓冲区的数据缓存占用量,其中,缓冲区用于缓存数据获取线程请求获取的数据;
数据获取线程获取得到的数据都存储在缓冲区中,该缓冲区分为两个属性,一是已经占用量,其不仅包括已经放入缓冲区的数据,还包括数据获取线程正在获取但是还没有完成的数据;二是实际占用量,该实际占用量仅仅包含应经放入缓冲区的数据。线程控制模块在检测缓冲区占用量时检测的是缓存已经占用量,根据该缓存已经占用量决定是否允许该数据获取线程运行并获取数据。
步骤S106:判断缓冲区的数据缓存占用量是否达到预设条件;
该预设条件用于控制缓冲区的的数据缓存占用量的上限值,该预设条件值可以根据缓冲区的最大容量、数据处理程序的数据处理速度等来合理设置,从而使得在不影响数据处理速度的条件下尽量减少内存的占用。
步骤S108:如果判断上述缓冲区的数据缓存占用量达到所述预设条件,则控制数据获取线程处于等待状态;
数据获取线程处于等待状态时自动进入等待队列,不再继续进行数据的获取申请。
步骤S110:如果判断上述缓冲区的数据缓存占用量未达到预设条件,则控制数据获取线程处于运行状态。
本发明实施例通过在接收数据获取线程的请求信号之后,首先检测缓冲区的数据缓存占用量,并通过该数据缓存占用量与预设条件的比较判断是否允许数据获取线程运行并获取数据,如若缓存占用量达到预设条件则不再允许数据获取线程运行,从而避免由于数据大量堆积在内存中造成内存的长时间占用。
可选地,为了不影响数据处理程序的数据处理效率,检测缓冲区的数据缓存占用量包括:检测缓冲区的缓存占用长度,其中,该缓存占用长度用于表示缓冲区已经执行缓存的次数,判断缓冲区的数据缓存占用量是否达到预设条件包括:判断缓存占用长度是否达到预设数量,其中,如果缓存占用长度达到预设数量,则确定缓冲区的数据缓存占用量达到预设条件,如果缓存占用长度未达到预设数量,则确定缓冲区的数据缓存占用量未达到预设条件。
通过判断缓冲区的缓存占用长度是否达到预设数量来确定是否允许数据获取线程运行,这样可以确保数据处理程序具有足够的数据源可以处理,不会出现数据处理程序空闲的情况,从而不会影响数据处理的效率。
可选地,为了直观的了解内存的占用情况,检测缓冲区的数据缓存占用量包括:检测缓冲区的内存占用量,判断缓冲区的数据缓存占用量是否达到预设条件包括:判断内存占用量是否达到预设内存占用量,其中,如果内存占用量达到预设内存占用量,则确定缓冲区的数据缓存占用量达到预设条件,如果内存占用量未达到预设内存占用量,则确定缓冲区的数据缓存占用量未达到预设条件。
检测缓冲区的内存占用量可以直观的了解内存的占用情况,如果内存占用量达到预设内存占用量就不允许数据获取线程运行并获取数据放置在缓冲区中,因此通过合理的设置预设内存占用量,就可以保证内存不被大量的占用。
可选地,为了在不影响数据处理程序的数据处理效率的同时保证内存不被大量占用,可以同时检测缓冲区的缓存占用长度和内存占用量,均衡这两个指标进行数据获取线程的控制,在缓存占用长度未达到预设数量的同时内存占用量也未达到预设内存占用量的条件下才允许数据获取线程运行并获取数据存放在缓冲区中。
可选地,在控制数据获取线程处于等待状态之后,数据缓存处理方法还包括:检测缓冲区是否清空;以及如果检测到缓冲区清空,则控制处于等待状态的数据获取线程发送请求信号。
处理程序不断地从缓冲区取出数据进行处理同时同步到本地数据库,并将该数据从缓冲区中删除。从缓冲区删除数据后,检测缓冲区是否清空,如果检测到缓冲区清空,则通知处于等待队列中的数据获取线程重新向线程控制模块申请运行。处于等待状态的数据获取线程只有在得到通知信号才再次向线程控制模块申请运行,这样可以减少线程控制模块的运行频率。
可选地,为了不影响数据处理程序的数据处理效率,在控制数据获取线程处于等待状态之后,数据缓存处理方法还包括:检测缓冲区的空闲存储量是否大于预设存储阈值;以及如果检测到缓冲区的空闲存储量大于预设存储阈值,则控制处于等待状态的数据获取线程发送所述请求信号。
通过检测缓冲区的空闲存储量是否大于预设存储阈值来判断是否通知处于等待队列中的数据获取线程重新向线程控制模块申请运行,通过合理设置预设存储阈值,可以避免由于缓存区没有数据造成数据处理程序的空闲而降低数据处理效率。
具体的,如图2所示的数据处理流程图,处理步骤如下:
步骤S202:多个数据获取线程向线程控制模块发送获取数据的请求信号,线程控制模块对最先接收到的请求信号进行处理;
步骤S204:线程控制模块根据缓存区的占用量判断是否给与数据获取线程运行权限,如果允许该数据获取线程运行,则该数据获取线程获取数据并存放在缓冲区;如果不允许该数据获取线程运行,则该数据获取线程处于等待状态,并进入等待队列;
步骤S206:数据处理程序从缓冲区取出数据,并将该数据从缓冲区删除,从缓冲区取出数据后判断该缓冲区是否为空,如果判断出缓冲区为空,则通知处于等待队列中的数据获取线程重新向线程控制模块申请运行;如果缓冲区不为空,则数据处理程序继续从缓冲区取出数据进行处理,直至判断出缓冲区为空。
从以上的描述中,可以看出,本发明实现了如下技术效果:
根据本发明的实施例,提供了一种数据缓存处理方法,该方法通过检测线程控制模块检测缓冲区的占用量并与预设条件比较判断是否允许数据获取线程运行并获取数据放入到缓冲区中,当缓冲区的占用量达到预设条件时则禁止上述数据获取线程运行,从而避免了因数据处理速度滞后造成数据堆积在内存中造成内存被长时间占用的问题,达到了高效的利用内存的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明又一实施例,提供了一种数据缓存处理装置,图1为根据本发明实施例的数据缓存处理装置示意图。
如图1所示,该装置包括:接收模块10、检测模块20、判断模块30、第一控制模块40和第二控制模块50。
接收模块10,用于接收数据获取线程获取数据的请求信号;
数据获取线程在获取数据之前,向线程控制模块发出获取数据的请求信号,由于线程控制模块一次只能处理一个数据获取线程的请求信号,因而在该线程控制模块接收该请求信号之后,对该数据获取线程进行标识,例如在该数据获取线程中添加一个标志位,表明线程控制模块正在处理该数据获取线程,使得其他申请运行的数据获取线程处于等待处理状态。
检测模块20,用于检测缓冲区的数据缓存占用量,其中,缓冲区用于缓存数据获取线程请求获取的数据;
数据获取线程获取得到的数据都存储在缓冲区中,该缓冲区分为两个属性,一是已经占用量,其不仅包括已经放入缓冲区的数据,还包括数据获取线程正在获取但是还没有完成的数据;二是实际占用量,该实际占用量仅仅包含应经放入缓冲区的数据。线程控制模块在检测缓冲区占用量时检测的是缓存已经占用量,根据该缓存已经占用量决定是否允许该数据获取线程运行并获取数据。
判断模块30,用于判断缓冲区的数据缓存占用量是否达到预设条件;
该预设条件用于控制缓冲区的的数据缓存占用量的上限值,该预设条件值可以根据缓冲区的最大容量、数据处理程序的数据处理速度等来合理设置,从而使得在不影响数据处理速度的条件下尽量减少内存的占用。
第一控制模块40,用于当判断缓冲区的数据缓存占用量达到预设条件时,控制数据获取线程处于等待状态;
数据获取线程处于等待状态时自动进入等待队列,不再继续进行数据的获取申请。
第二控制模块50,用于当判断缓冲区的数据缓存占用量未达到预设条件时,则控制数据获取线程处于运行状态。
本发明实施例通过接收模块10接收数据获取线程的请求信号之后,首先利用检测模块20检测缓冲区的数据缓存占用量,并通过该数据缓存占用量与预设条件的比较判断是否允许数据获取线程运行并获取数据,如若缓存占用量达到预设条件则不再允许数据获取线程运行,从而避免由于数据大量堆积在内存中造成内存的长时间占用,提高内存的使用效率。
可选地,为了不影响数据处理程序的数据处理效率,检测缓冲区的数据缓存占用量包括:检测缓冲区的缓存占用长度,其中,缓存占用长度用于表示缓冲区已经执行缓存的次数,判断模块30包括:第一判断单元,用于判断缓存占用长度是否达到预设数量,其中,如果缓存占用长度达到预设数量,则确定缓冲区的数据缓存占用量达到预设条件,如果缓存占用长度未达到预设数量,则确定缓冲区的数据缓存占用量未达到预设条件。
通过判断缓冲区的缓存占用长度是否达到预设数量来确定是否允许数据获取线程运行,这样可以确保数据处理程序具有足够的数据源可以处理,不会出现数据处理程序空闲的情况,从而不会影响数据处理的效率。
可选地,为了直观的了解内存的占用情况,检测缓冲区的数据缓存占用量包括:检测缓冲区的内存占用量,判断模块30包括:第二判断单元,用于判断内存占用量是否达到预设内存占用量,其中,如果内存占用量达到预设内存占用量,则确定缓冲区的数据缓存占用量达到预设条件,如果内存占用量未达到预设内存占用量,则确定缓冲区的数据缓存占用量未达到预设条件。
检测缓冲区的内存占用量可以直观的了解内存的占用情况,如果内存占用量达到预设内存占用量就不允许数据获取线程运行并获取数据放置在缓冲区中,因此通过合理的设置预设内存占用量,可以保证内存不被大量的占用。
可选地,在控制数据获取线程处于等待状态之后,如图4所示,数据缓存处理装置还包括:第二检测模块60和第三控制模块70。
第二检测模块60,用于检测缓冲区是否清空;以及
第三控制模块70,用于在检测到缓冲区清空时,控制处于等待状态的数据获取线程发送请求信号。
处理程序不断地从缓冲区取出数据进行处理同时同步到本地数据库,并将该数据从缓冲区中删除。从缓冲区删除数据后,检测缓冲区是否清空,如果检测到缓冲区清空,则通知处于等待队列中的数据获取线程重新向线程控制模块申请运行。处于等待状态的数据获取线程只有在得到通知信号才再次向线程控制模块申请运行,这样可以减少线程控制模块的运行频率。
可选地,在控制数据获取线程处于等待状态之后,如图5所示,数据缓存处理装置还包括:第三检测模块80和第四控制模块90。
第三检测模块80,用于检测缓冲区的空闲存储量是否大于预设存储阈值;以及
第四控制模块90,用于在检测到缓冲区的空闲存储量大于预设存储阈值时,控制处于等待状态的数据获取线程发送请求信号。
通过检测缓冲区的空闲存储量是否大于预设存储阈值来判断是否通知处于等待队列中的数据获取线程重新向线程控制模块申请运行,通过合理设置预设存储阈值,可以避免由于缓存区没有数据造成数据处理程序的空闲而降低数据处理效率。
根据本发明实施例提供的数据缓存处理装置,该数据缓存处理装置通过检测模块20检测线程控制模块检测缓冲区的缓存占用量,并利用判断模块30判断缓冲区的缓存占用量是否达到预设条件从而控制是否允许数据获取线程运行并获取数据放入到缓冲区中,当缓冲区的占用量达到预设条件时则禁止上述数据获取线程运行,从而避免了因数据处理速度滞后造成数据堆积在内存中造成内存被长时间占用的问题,达到了高效的利用内存的效果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据缓存处理方法,其特征在于,包括:
接收数据获取线程获取数据的请求信号;
检测缓冲区的数据缓存占用量,其中,所述缓冲区用于缓存所述数据获取线程请求获取的数据,所述缓冲区的数据缓存占用量包括已经放入所述缓冲区的数据和所述数据获取线程正在获取但是还没有完成的数据;
判断所述缓冲区的数据缓存占用量是否达到预设条件;
如果判断所述缓冲区的数据缓存占用量达到所述预设条件,则控制所述数据获取线程处于等待状态;以及
如果判断所述缓冲区的数据缓存占用量未达到所述预设条件,则控制所述数据获取线程处于运行状态,
其中,在接收到所述请求信号之后,对所述数据获取线程进行标识,以指示正在处理所述数据获取线程。
2.根据权利要求1所述的数据缓存处理方法,其特征在于,检测缓冲区的数据缓存占用量包括:检测所述缓冲区的缓存占用长度,其中,所述缓存占用长度用于表示所述缓冲区已经执行缓存的次数,判断所述缓冲区的数据缓存占用量是否达到预设条件包括:
判断所述缓存占用长度是否达到预设数量,
其中,如果所述缓存占用长度达到所述预设数量,则确定所述缓冲区的数据缓存占用量达到所述预设条件,如果所述缓存占用长度未达到所述预设数量,则确定所述缓冲区的数据缓存占用量未达到所述预设条件。
3.根据权利要求1所述的数据缓存处理方法,其特征在于,检测缓冲区的数据缓存占用量包括:检测所述缓冲区的内存占用量,判断所述缓冲区的数据缓存占用量是否达到预设条件包括:
判断所述内存占用量是否达到预设内存占用量,
其中,如果所述内存占用量达到所述预设内存占用量,则确定所述缓冲区的数据缓存占用量达到所述预设条件,如果所述内存占用量未达到所述预设内存占用量,则确定所述缓冲区的数据缓存占用量未达到所述预设条件。
4.根据权利要求1所述的数据缓存处理方法,其特征在于,在控制所述数据获取线程处于等待状态之后,所述数据缓存处理方法还包括:
检测所述缓冲区是否清空;以及
如果检测到所述缓冲区清空,则控制处于等待状态的所述数据获取线程发送所述请求信号。
5.根据权利要求1所述的数据缓存处理方法,其特征在于,在控制所述数据获取线程处于等待状态之后,所述数据缓存处理方法还包括:
检测所述缓冲区的空闲存储量是否大于预设存储阈值;以及
如果检测到所述缓冲区的空闲存储量大于预设存储阈值,则控制处于等待状态的所述数据获取线程发送所述请求信号。
6.一种数据缓存处理装置,其特征在于,包括:
接收模块,用于接收数据获取线程获取数据的请求信号;
检测模块,用于检测缓冲区的数据缓存占用量,其中,所述缓冲区用于缓存所述数据获取线程请求获取的数据,所述缓冲区的数据缓存占用量包括已经放入所述缓冲区的数据和所述数据获取线程正在获取但是还没有完成的数据;
判断模块,用于判断所述缓冲区的数据缓存占用量是否达到预设条件;
第一控制模块,用于当判断所述缓冲区的数据缓存占用量达到所述预设条件时,控制所述数据获取线程处于等待状态;以及
第二控制模块,用于当判断所述缓冲区的数据缓存占用量未达到所述预设条件时,则控制所述数据获取线程处于运行状态,
其中,在接收到所述请求信号之后,对所述数据获取线程进行标识,以指示正在处理所述数据获取线程。
7.根据权利要求6所述的数据缓存处理装置,其特征在于,检测缓冲区的数据缓存占用量包括:检测所述缓冲区的缓存占用长度,其中,所述缓存占用长度用于表示所述缓冲区已经执行缓存的次数,所述判断模块包括:
第一判断单元,用于判断所述缓存占用长度是否达到预设数量,
其中,如果所述缓存占用长度达到所述预设数量,则确定所述缓冲区的数据缓存占用量达到所述预设条件,如果所述缓存占用长度未达到所述预设数量,则确定所述缓冲区的数据缓存占用量未达到所述预设条件。
8.根据权利要求6所述的数据缓存处理装置,其特征在于,检测缓冲区的数据缓存占用量包括:检测所述缓冲区的内存占用量,所述判断模块包括:
第二判断单元,用于判断所述内存占用量是否达到预设内存占用量,
其中,如果所述内存占用量达到所述预设内存占用量,则确定所述缓冲区的数据缓存占用量达到所述预设条件,如果所述内存占用量未达到所述预设内存占用量,则确定所述缓冲区的数据缓存占用量未达到所述预设条件。
9.根据权利要求6所述的数据缓存处理装置,其特征在于,在控制所述数据获取线程处于等待状态之后,所述数据缓存处理装置还包括:
第二检测模块,用于检测所述缓冲区是否清空;以及
第三控制模块,用于在检测到所述缓冲区清空时,控制处于等待状态的所述数据获取线程发送所述请求信号。
10.根据权利要求6所述的数据缓存处理装置,其特征在于,在控制所述数据获取线程处于等待状态之后,所述数据缓存处理装置还包括:
第三检测模块,用于检测所述缓冲区的空闲存储量是否大于预设存储阈值;
以及
第四控制模块,用于在检测到所述缓冲区的空闲存储量大于预设存储阈值时,控制处于等待状态的所述数据获取线程发送所述请求信号。
CN201410412521.8A 2014-08-20 2014-08-20 数据缓存处理方法及装置 Active CN104182361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410412521.8A CN104182361B (zh) 2014-08-20 2014-08-20 数据缓存处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410412521.8A CN104182361B (zh) 2014-08-20 2014-08-20 数据缓存处理方法及装置

Publications (2)

Publication Number Publication Date
CN104182361A CN104182361A (zh) 2014-12-03
CN104182361B true CN104182361B (zh) 2018-06-26

Family

ID=51963424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410412521.8A Active CN104182361B (zh) 2014-08-20 2014-08-20 数据缓存处理方法及装置

Country Status (1)

Country Link
CN (1) CN104182361B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407960B (zh) * 2014-12-15 2017-12-22 北京国双科技有限公司 数据监控方法及装置
CN105824691B (zh) * 2015-01-08 2019-11-22 平安科技(深圳)有限公司 动态调节线程的方法及装置
CN107203918A (zh) * 2016-03-18 2017-09-26 北京京东尚科信息技术有限公司 订单处理方法和装置
CN112559390B (zh) * 2016-09-23 2023-06-06 成都华为技术有限公司 一种数据写入控制方法及存储设备
US10209887B2 (en) * 2016-12-20 2019-02-19 Texas Instruments Incorporated Streaming engine with fetch ahead hysteresis
CN106776041B (zh) * 2016-12-30 2020-01-14 Oppo广东移动通信有限公司 一种数据处理方法及装置
CN112506447B (zh) * 2021-02-01 2021-04-30 成都焱之阳科技有限公司 一种用于视频监控设备的数据无锁缓存方法和服务器
CN116300861A (zh) * 2022-12-20 2023-06-23 上海木蚁机器人科技有限公司 路径规划方法以及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665751B1 (en) * 1999-04-17 2003-12-16 International Business Machines Corporation Streaming media player varying a play speed from an original to a maximum allowable slowdown proportionally in accordance with a buffer state
CN1812313A (zh) * 2005-01-26 2006-08-02 华为技术有限公司 无线链路控制层缓冲区溢出的控制方法
CN1852229A (zh) * 2005-10-20 2006-10-25 华为技术有限公司 实时流媒体传输方法及系统
CN101702676A (zh) * 2009-11-23 2010-05-05 深圳华为通信技术有限公司 数据缓冲处理的方法和装置
CN101710992A (zh) * 2009-11-16 2010-05-19 乐视网信息技术(北京)股份有限公司 一种预解码高清播放器及播放方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855068A (zh) * 2005-04-29 2006-11-01 华为技术有限公司 测试多线程软件并发冲突的方法
CN101207570A (zh) * 2007-11-26 2008-06-25 上海华为技术有限公司 数据传输方法、数据发送速率控制方法及基站
US8655955B2 (en) * 2011-08-18 2014-02-18 International Business Machines Corporation Stream processing using a client-server architecture
CN103345450B (zh) * 2013-06-26 2016-11-02 浙江宇视科技有限公司 一种动态调整冗余raid阵列重建的装置和方法
CN103365776B (zh) * 2013-06-28 2016-04-13 中国科学院计算技术研究所 基于确定性重放的并行系统弱一致性的验证方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665751B1 (en) * 1999-04-17 2003-12-16 International Business Machines Corporation Streaming media player varying a play speed from an original to a maximum allowable slowdown proportionally in accordance with a buffer state
CN1812313A (zh) * 2005-01-26 2006-08-02 华为技术有限公司 无线链路控制层缓冲区溢出的控制方法
CN1852229A (zh) * 2005-10-20 2006-10-25 华为技术有限公司 实时流媒体传输方法及系统
CN101710992A (zh) * 2009-11-16 2010-05-19 乐视网信息技术(北京)股份有限公司 一种预解码高清播放器及播放方法
CN101702676A (zh) * 2009-11-23 2010-05-05 深圳华为通信技术有限公司 数据缓冲处理的方法和装置

Also Published As

Publication number Publication date
CN104182361A (zh) 2014-12-03

Similar Documents

Publication Publication Date Title
CN104182361B (zh) 数据缓存处理方法及装置
US8438572B2 (en) Task scheduling method and apparatus
CN101567849B (zh) 一种数据缓存方法和装置
CN102724314B (zh) 一种基于元数据管理的分布式缓存客户端
CN103164202A (zh) 一种灰度发布方法和装置
CN107665146A (zh) 内存管理装置和方法
CN104202261A (zh) 一种业务请求处理方法及装置
US20200250112A1 (en) Handling an input/output store instruction
CN104394096A (zh) 一种基于多核处理器的报文处理方法及多核处理器
CN103227826A (zh) 一种文件传输方法及装置
US11074203B2 (en) Handling an input/output store instruction
CN109889567A (zh) 支持海量设备接入的物联网平台的实现方法
CN106649146A (zh) 一种内存释放方法及装置
CN111615692A (zh) 数据搬运方法、计算处理装置、设备及存储介质
CN106330766A (zh) 一种消息发送方法及装置
CN102710790B (zh) 一种基于元数据管理的分布式缓存实现方法及系统
CN102156722B (zh) 一种大批量数据处理系统及方法
CN105516024A (zh) 一种基于队列的任务流量监控方法及系统
KR20150122119A (ko) 동시 우선순위 큐에서 시퀀서를 이용하는 시스템 및 방법
US9336162B1 (en) System and method for pre-fetching data based on a FIFO queue of packet messages reaching a first capacity threshold
CN101196928A (zh) 一种内容搜索方法、系统以及引擎分发单元
CN110796400A (zh) 一种缓存货物的方法和装置
CN103677959B (zh) 一种基于组播的虚拟机集群迁移方法及系统
CN106656675B (zh) 一种传输节点集群的检测方法和装置
US11252121B2 (en) Message sending method and terminal device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data caching processing method and device

Effective date of registration: 20190531

Granted publication date: 20180626

Pledgee: Shenzhen Black Horse World Investment Consulting Co., Ltd.

Pledgor: Beijing Guoshuang Technology Co.,Ltd.

Registration number: 2019990000503

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Patentee after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Patentee before: Beijing Guoshuang Technology Co.,Ltd.