CN114510362A - 数据缓存处理方法、装置、设备以及存储介质 - Google Patents
数据缓存处理方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN114510362A CN114510362A CN202210153552.0A CN202210153552A CN114510362A CN 114510362 A CN114510362 A CN 114510362A CN 202210153552 A CN202210153552 A CN 202210153552A CN 114510362 A CN114510362 A CN 114510362A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- cache
- real
- occupancy rate
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000009471 action Effects 0.000 claims description 35
- 238000000034 method Methods 0.000 claims description 31
- 230000003139 buffering effect Effects 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 40
- 238000005070 sampling Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000004519 manufacturing process 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
- 239000012536 storage buffer Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种数据缓存处理方法、装置、设备以及存储介质,属于计算机技术领域。数据缓存处理方法,包括:获取缓存模块的实时缓存占用率;判断所述实时缓存占用率是否在预设阈值范围内;若不在所述预设阈值范围内,则对所述缓存模块的已缓存数据队列进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内。本发明改善了缓存数据溢出而批量丢失的现象,或缓存数据为空而异常突变的现发生。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据缓存处理方法、装置、设备以及存储介质。
背景技术
在电子设备领域,例如扬声器和线性马达等执行模块能够提供声音和振动反馈,给用户带来良好的使用体验。而扬声器和线性马达等执行模块在控制过程中通常需要对输入的数据进行处理得到数据流,然后将数据流放置在缓存模块,执行模块的功率电路再从缓存模块接收数据。
但是,电子设备在执行数据流所需的动作时,存在缓存区内数据溢出而丢失或为空后异常突变的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据缓存处理方法、装置、设备以及存储介质,旨在解决电子设备存在缓存区内数据溢出而丢失或为空后异常突变的问题。
为实现上述目的,第一方面,本发明提供一种数据缓存处理方法,包括:
获取缓存模块的实时缓存占用率;
判断所述实时缓存占用率是否在预设阈值范围内;
若不在所述预设阈值范围内,则对所述缓存模块的已缓存数据队列进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内。
在一实施例中,所述对所述缓存模块的已缓存数据队列进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内,包括:
根据预设调整步长,将所述已缓存数据队列划分成至少一个子数据队列;所述子数据队列包括至少一个数据点;
针对任一所述子数据队列,从至少一个所述数据点中确定出目标数据点;
对所述目标数据点进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内。
在一实施例中,所述针对任一所述子数据队列,从至少一个所述数据点中确定出目标数据点,包括:
针对任一所述子数据队列,从至少一个所述数据点筛选出数据点的模的绝对值最小的目标数据点。
在一实施例中,所述对所述缓存模块的已缓存数据队列进行调整,包括:
若所述实时缓存占用率大于或者等于所述预设阈值范围的预设占用率上限值,则删除所述目标数据点。
在一实施例中,所述对所述缓存模块的已缓存数据队列进行调整,包括:
若所述实时缓存占用率小于或者等于所述预设阈值范围的预设占用率下限值,则复制所述目标数据点,得到复制数据点,并缓存所述复制数据点。
在一实施例中,所述缓存所述复制数据点,包括:
在所述已缓存数据队列中所述目标数据点的相邻位置处,插入并缓存所述复制数据点。
第二方面,本发明还提供了一种数据缓存处理装置,包括:
占用率获取模块,用于获取缓存模块的实时缓存占用率;
占用率判断模块,用于判断所述实时缓存占用率是否在预设阈值范围内;
数据调整模块,用于若不在所述预设阈值范围内,则对所述缓存模块的已缓存数据队列进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内。
第三方面,本发明还提供了一种电子设备,包括:
数据流处理模块,用于输出动作数据流;
缓存模块,所述缓存模块用于接收并缓存所述动作数据流,得到已缓存数据队列;
数据流调整模块,用于获取缓存模块的实时缓存占用率;判断所述实时缓存占用率是否在预设阈值范围内;若不在所述预设阈值范围内,则对所述缓存模块的已缓存数据队列进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内;
执行模块,用于读取所述缓存模块中调整后的已缓存数据队列,并执行所述调整后的已缓存数据队列相应的动作。
在一实施例中,所述执行模块,还用于在检测到所述缓存模块中的实时缓存占用率首次达到预设启动阈值时,读取所述缓存模块中调整后的已缓存数据队列,并执行所述调整后的已缓存数据队列相应的动作。
第四方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据缓存处理程序,所述数据缓存处理程序被处理器执行时实现如上所述的数据缓存处理方法。
本发明提出一种数据缓存处理方法、装置、设备以及存储介质,通过获取缓存模块的实时缓存占用率;判断所述实时缓存占用率是否在预设阈值范围内;若不在所述预设阈值范围内,则对所述缓存模块的已缓存数据队列进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内。
由此,本发明通过实时缓存占用率对缓存模块的已缓存数据队列进行动态调整,使得实时缓存占用率始终保持在所述预设阈值范围内,从而缓存模块内的数据个数始终维持在一定的范围内,进而改善了缓存模块内数据溢出而批量丢失的现象,或缓存模块内数据为空而异常突变的现发生。
附图说明
图1为本申请电子设备的结构示意图;
图2为本申请数据缓存处理方法第一实施例的流程示意图;
图3为本申请数据缓存处理方法第二实施例的流程示意图;
图4为本申请数据缓存处理装置的模块示意图;
图5为本申请一实施例电子设备的实时缓存占用率曲线图;
图6为本申请一实施例电子设备的实时缓存占用率曲线图的局部图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在电子产品领域,扬声器等发声器件能够提供声音,线性马达等振动器件能够提供振动反馈,均可给用户带来良好的使用体验。发声器件和振动器件等执行模块在控制过程中通常需要数据流输入模块通过特定的算法对输入的动作数据流进行处理,然后再输出给功率电路,驱动扬声器和线性马达等执行模块,以实现电子设备搭载的应用程序所需的频域拓宽、低频增强以及降噪等特定功能。受电子产品硬件设计、晶振一致性差异等限制,数据流输入模块的数据流输出采样速率与驱动执行模块的功率电路的数据流接收采样速率难以完全一致,通常存在一定差异。当数据流输出采样速率大于数据流接收采样速率时,功率电路来不及执行数据流输入模块输出的所有动作数据流,导致数据批量丢失的问题;当数据流输出采样速率小于数据流接收采样速率时,功率电路将出现无数据可接收的情况,进而播放随机数据导致异常突变的问题。为此,现有技术一般一个占用空间较大的数据缓存模块,将数据流输入模块输出的动作数据流逐步填充到缓存模块,当数据流输入模块输出的动作数据流填充到缓存模块一半缓存空间时,再调用功率电路从缓存模块接收并执行动作数据。如此一来,当数据流输出采样速率大于数据流接收采样速率时,缓存模块的数据量将从总空间的一半逐渐增加;当数据流输出采样速率小于数据流接收采样速率时,缓存模块的数据量将从总空间的一半逐渐减少。通常情况下,缓存模块的存储空间设置的足够大,短时间播放不会导致缓存模块的数据溢出或者为空,从而使得动作数据流可以无丢失、无异常突变地输出。
但是,现有的这种方法在长时间执行数据流所需的动作时,仍会出现数据批量丢失或异常突变的问题,同时超大缓冲区的设置也带来了信号延时大、软件存储空间占用大的问题。
为此,本实施例提供了一种数据缓存处理方法,通过根据缓存模块的实时缓存占用率动态调整已缓存数据队列,以将缓存模块内的数据个数始终维持在一定的范围内,从而改善了缓存模块内数据溢出而批量丢失的现象,或缓存模块内数据为空而异常突变的现发生。
下面结合一些具体实施方式进一步阐述本申请的发明构思。
参阅图1,图1示出一种电子设备,包括:
数据流处理模块100,用于输出动作数据流。具体而言,数据流处理模块100用于接收电子设备的各个应用程序响应于用户动作生成的动作数据流。如电子设备为增强显示设备时,动作数据流可以是增强显示设备上搭载的游戏程序为了更好的游戏体验所需的振动数据流,以控制增强显示设备的线性马达执行振动动作。动作数据流可以是模拟信号,还可以是数字信号,本实施例对此并不限制。
值得一提的是,该数据流处理模块100可根据电子设备正在运行的程序所需的实际控制需求对输入的动作数据流进行算法处理,再将处理后的动作数据流输出,该控制需求可以是频域拓宽、低频增强、降噪等功能。若无控制需求,则该数据流处理模块100不对输入的动作数据流进行处理,将其直接输出。其中,数据流处理模块100的输出速率为数据流输出采样速率。
缓存模块200,所述缓存模块200用于接收并缓存所述动作数据流,得到已缓存数据队列。具体而言,该缓存模块200用于实时存储数据流处理模块100输出的动作数据流。可以理解的,缓存模块200可为一划分出的缓存区。
数据流调整模块300,用于获取缓存模块200的实时缓存占用率;判断所述实时缓存占用率是否在预设阈值范围内;若不在所述预设阈值范围内,则对所述缓存模块200的已缓存数据队列进行调整,以使调整后所述缓存模块200的实时缓存占用率在所述预设阈值范围内。
执行模块400,用于读取所述缓存模块200中调整后的已缓存数据队列,并执行所述调整后的已缓存数据队列相应的动作。如,执行模块400可为扬声器或者线性马达的功率电路,其从缓存模块200中实时读取动作数据流并转化为具备功率驱动能力的电压输出,驱动扬声器产生声音或线性马达振动反馈。其中,该执行模块400从缓存区获取动作数据流的采样率定义为数据流输入采样率。
值得一提的是,在一实施例中,所述执行模块400,还用于在检测到所述缓存模块200中的实时缓存占用率首次达到预设启动阈值时,读取所述缓存模块200中调整后的已缓存数据队列,并执行所述调整后的已缓存数据队列相应的动作。如预设启动阈值可以为50%,即缓存模块200中数据占比首次达到50%时,执行模块400才启动执行动作,从而可以提高数据输出的稳定性。
基于上述硬件结构但不限于上述硬件结构,本申请提供一种数据缓存处理方法第一实施例,参阅图2,图2为本申请数据缓存处理方法第一实施例的流程示意图。
本实施例中,所述方法包括:
步骤S101、获取缓存模块200的实时缓存占用率。
本实施例中,数据缓存处理方法的执行主体为电子设备中的数据流调整模块300。实时缓存占用率为缓存模块200中已缓存数据队列占缓存模块200的总存储空间的百分比。其中,该缓存模块200的总存储空间的大小可表示为n,也即是缓存模块200合计可存储的数据个数。缓存模块200的当前已缓存数据队列的大小可表示为q,两者的比值d=q/n即为实时缓存占用率。
具体而言,作为本实施例的一种选择,缓存模块200可实时检测当前已缓存数据队列占缓存模块200的总存储空间的百分比,即实时缓存占用率。数据流调整模块300可实时读取到缓存模块200的实时缓存占用率。或者,作为本实施例的另一种选择,数据流调整模块300可实时监测到缓存模块200的当前已缓存数据队列占缓存模块200的总存储空间的百分比,从而得到实时缓存占用率。
步骤S102、判断所述实时缓存占用率是否在预设阈值范围内。
预设阈值范围包括预设占用率上限值和预设占用率下限值,其中,预设占用率上限值为预设的低数据占比值,即在执行模块400开始读取缓存模块200中的已缓存数据队列后,缓存模块200中已缓存数据队列占用总缓存空间的最高占用率,其中,预设占用率上限值为可表示为dH。可以理解的,预设占用率下限值为预设的高数据占比值,即在执行模块400开始读取缓存模块200中的已缓存数据队列后,缓存模块200中已缓存数据队列占用总缓存空间的最高占用率,其中,预设占用率下限值可表示为dL。可以理解的,dH和dL可由用户具体设置已经更新,如预设占用率下限值dL可确定为20%,预设占用率上限值dH可确定为80%。
数据流调整模块300在获取到缓存模块200的实时缓存占用率d后,可将该实时缓存占用率d分别与预设占用率上限值dH和预设占用率下限值dL相比较,以判断d是否在dH和dL之间。d在dH和dL之间,则实时缓存占用率在预设阈值范围内。
具体而言,数据流调整模块300判断dL<d<dH是否成立,若dL<d<dH成立,则实时缓存占用率在预设阈值范围内,则数据流调整模块300无需执行调整动作。
步骤S103、若不在所述预设阈值范围内,则对所述缓存模块200的已缓存数据队列进行调整,以使调整后所述缓存模块200的实时缓存占用率在所述预设阈值范围内。
数据流调整模块300判断dL<d<dH是否成立,若dL<d<dH不成立,即dL≥d,或者,d≥dH时,缓存模块200的实时缓存占用率不在预设阈值范围内。此时,数据流调整模块300可对缓存模块200的已缓存数据队列进行调整,如对数据进行删减从而降低实时缓存占用率,或者进行数据增加操作以提高实时缓存占用率,以使得调整后所述缓存模块200的实时缓存占用率在所述预设阈值范围内,从而缓存模块200的已缓存数据量可以控制在设置的预设阈值范围内,因此缓存模块200的存储总空间大小可以设置得较小,从而降低延时。
容易理解的,受电子设备系统硬件设计以及晶振一致性差异等因素的影响,数据流输出采样率与数据流输入采样率无法完全相等,导致在长时间执行动作时,缓存模块200数据易出现批量丢失或者异常突变的异常情况,本实施例中,通过对缓存模块200内的已缓存数据队列进行动态增加数据点、删除数据点等调整操作将缓冲模块的数据个数始终维持在一定的范围内,杜绝了缓存模块200内出现数据批量丢失而为空,或者数据溢出而异常突变的现象。
值得一提的是,本实施例中,数据流调整模块300可批量删除部分数据,如新增数据或者最开始的数据,或者选择性地删除其中的部分数据点。或者,本实施例中,数据流调整模块300还可新增部分数据或者新增数据点,以填充缓存模块200的存储空间,以提高实时缓存占用率。
基于上述方法第一实施例,提出本发明数据缓存处理方法第一实施例,参阅图3,图3为本发明数据缓存处理方法第二实施例的流程示意图。
本实施例中,方法包括:
步骤S201、获取缓存模块200的实时缓存占用率。
步骤S202、判断所述实时缓存占用率是否在预设阈值范围内。
其中,步骤S201至步骤S202可参考上述步骤S101至步骤S102,此处不再赘述。
步骤S203、若不在所述预设阈值范围内,则根据预设调整步长,将所述已缓存数据队列划分成至少一个子数据队列;所述子数据队列包括至少一个数据点。
其中,已缓存数据队列由数据点依次构成。预设调整步长为预先设置的子数据队列的长度,可表示为m。具体而言,数据流调整模块300在判断得到dL<d<dH不成立时,将所述已缓存数据队列划分成至少一个长度不超过m的子数据队列,也即是每个子数据队列最多包括m个数据点。
步骤S204、针对任一所述子数据队列,从至少一个所述数据点中确定出目标数据点。
步骤S205、对所述目标数据点进行调整,以使调整后所述缓存模块200的实时缓存占用率在所述预设阈值范围内。
本实施例中,数据流调整模块300仅仅对目标数据点进行调整操作,也即是在整个已缓存数据队列中,数据流调整模块300仅仅对其中的一部分数据点进行调整操作,以降低对原本数据流的影响。
值得一提的是,目标数据点可以是子数据队列中的任一者,即数据流调整模块300每隔m个数据点就随机删除一个数据点。
或者,目标数据点还可以是从子数据队列中依据算法选择出的数据点。如在一具体实施方式中,步骤S204具体为:
针对任一所述子数据队列,从至少一个所述数据点筛选出数据点的模的绝对值最小的目标数据点。
具体而言,数据流调整模块300将当前的已缓存数据队列根据预设调整步长m分割为多个子数据队列后,针对每m个数据点中的所有数据点取模的绝对值,并对m个模的绝对值采用冒泡排序法排序,从而确定出其中的最小值对应的目标数据点。其中,数据点的模的绝对值表征了数据点的大小,绝对值越小,越接近于0。
本实施例中,数据流调整模块300选择m个点中最接近0的点作为目标调整点进行调整操作,从而对目标数据点的删除或者复制等操作后,对原数据流的影响会最小,以使得电子设备的系统输入的动作数据流中的有效数据流基本不受到影响。
如在一具体实施方式中,执行模块400为线性马达,此时缓存模块200中缓存的动作数据流为目标加速度波形数据a(t)。因此可将目标加速度波形数据a(t)分割为多段m个数据点,对于每组m个数据点,将加速度幅值最接近0的数据点作为目标数据点,从而使得目标加速度波形数据a(t)中的有效数据流基本不受到影响。
作为一个实施例,步骤S205包括:
若所述实时缓存占用率大于或者等于所述预设阈值范围的预设占用率上限值,则删除所述目标数据点。
具体而言,当数据流调整模块300判断d≥dH时,则缓存模块200内的已缓存数据队列在增加,且即将达到数据为满的边界,存在出现数据溢出的风险,此时,可删除目标数据点,进行删点调整。从而本实施例通过动态删除数据点的方式将缓冲区的数据个数始终维持在一定的范围内,杜绝了缓存区数据溢出的现象,进而解决了在长时间响应过程中出现数据批量丢失的问题。
此外,本实施例中,删除的目标数据点为最接近0的数据点,对动作数据流的有效数据影响最小,从而确保确保执行模块400可稳定的、较为贴合地输出系统所需的动作反馈。
作为一个实施例,步骤S205包括:
若所述实时缓存占用率小于或者等于所述预设阈值范围的预设占用率下限值,则复制所述目标数据点,得到复制数据点,并缓存所述复制数据点。
当数据流调整模块300判断d≤dL时,则缓存模块200内的已缓存数据队列在减少,且即将达到数据为空的边界,存在出现数据异常突变的风险,此时,可增加目标数据点,进行增点调整。具体而言,数据流调整模块300可复制目标数据点并缓存复制后得到的复制数据点,从而更新动作数据流。
本实施例通过动态增加数据点的方式将缓冲模块的数据个数始终维持在一定的范围内,杜绝了缓存模块200内数据为空的现象,进而解决了在长时间响应过程中出现数据异常突变的问题。
此外,本实施例中,复制并增加的目标数据点为最接近0的数据点,对动作数据流的有效数据影响最小,从而确保执行模块400可稳定的、较为贴合地、且无突变地输出系统所需的动作反馈。
作为本实施例的一种选择,步骤S205具体包括:
在所述已缓存数据队列中所述目标数据点的相邻位置处,插入并缓存所述复制数据点。
本实施例中,为了进一步降低对动作数据流中有效数据的影响,数据流调整模块300可在不改变现有数据的基础上,将复制数据点作为所述目标数据点的相邻数据点插入缓存在所述缓存模块200中。
如执行模块400为线性马达,此时缓存模块200中缓存的动作数据流为目标加速度波形数据a(t)。目标加速度波形数据a(t)分割为多段m个数据点后,对于每组m个数据点a(t)1、……、a(t)m,将加速度幅值最接近0的数据点a(t)3作为目标数据点,然后复制得到复制数据点a(t)'3,从而调整后的该组数据点包括m+1个数据点:a(t)1、a(t)2、a(t)3、a(t)'3……、a(t)m。可以理解的,复制数据点可插入在目标数据点之前或者之后,本实施例对此并不限制。
可见,本实施例中,由于a(t)3、a(t)'3均接近于0,目标加速度波形数据a(t)中的有效数据流基本不受到影响。
为了便于理解,下面示出一具体实施方式:
在以电子设备中,缓存模块200中总存储缓存区的总长度n为480个数据点,预设占用率下限值dL=20%,预设占用率上限值dH=80%,数据流输出采样速率Fs1为恒定48kHz,数据流输入采样率Fs2在47kHz-49kHz之间波动时,在执行动作数据流过程中,缓存模块200的实时缓存占用率如图5所示,缓存模块200的实时缓存占用率在某0.2S中的局部如图6所示。可见当输入、输出采样率不一致、且采样率存在波动时,在较小的数据缓存区设置下,本实施例中缓存模块200的实时缓存占用率d被严格限制在设定的20%-80%区间范围内,表明本实施例可有效解决采样速率不一致带来的长时间播放数据缓冲区溢出或为空的问题,并且缓存区可以设置的很小,具有播放延时小的优势。
此外,基于同一发明构思,参阅图4,本发明还提供了一种数据缓存处理装置,包括:
占用率获取模块,用于获取缓存模块200的实时缓存占用率;
占用率判断模块,用于判断所述实时缓存占用率是否在预设阈值范围内;
数据调整模块,用于若不在所述预设阈值范围内,则对所述缓存模块200的已缓存数据队列进行调整,以使调整后所述缓存模块200的实时缓存占用率在所述预设阈值范围内。
在一实施例中,数据调整模块包括:
划分单元,用于根据预设调整步长,将所述已缓存数据队列划分成至少一个子数据队列;所述子数据队列包括至少一个数据点;
目标确定单元,用于针对任一所述子数据队列,从至少一个所述数据点中确定出目标数据点;
数据调整单元,用于对所述目标数据点进行调整,以使调整后所述缓存模块200的实时缓存占用率在所述预设阈值范围内。
在一实施例中,目标确定模块,还用于针对任一所述子数据队列,从至少一个所述数据点筛选出数据点的模的绝对值最小的目标数据点。
在一实施例中,数据调整模块还用于若所述实时缓存占用率大于或者等于所述预设阈值范围的预设占用率上限值,则删除所述目标数据点。
在一实施例中,数据调整模块还用于若所述实时缓存占用率小于或者等于所述预设阈值范围的预设占用率下限值,则复制所述目标数据点,得到复制数据点,并缓存所述复制数据点。
在一实施例中,数据调整模块还用于在所述子数据队列中所述目标数据点的相邻位置处,插入并缓存所述复制数据点。
此外,本发明实施例还提出一种计算机存储介质,存储介质上存储有数据缓存处理程序,数据缓存处理程序被处理器执行时实现如上文的数据缓存处理方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。确定为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据缓存处理方法,其特征在于,包括:
获取缓存模块的实时缓存占用率;
判断所述实时缓存占用率是否在预设阈值范围内;
若不在所述预设阈值范围内,则对所述缓存模块的已缓存数据队列进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内。
2.根据权利要求1所述的数据缓存处理方法,其特征在于,所述对所述缓存模块的已缓存数据队列进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内,包括:
根据预设调整步长,将所述已缓存数据队列划分成至少一个子数据队列;所述子数据队列包括至少一个数据点;
针对任一所述子数据队列,从至少一个所述数据点中确定出目标数据点;
对所述目标数据点进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内。
3.根据权利要求2所述的数据缓存处理方法,其特征在于,所述针对任一所述子数据队列,从至少一个所述数据点中确定出目标数据点,包括:
针对任一所述子数据队列,从至少一个所述数据点筛选出数据点的模的绝对值最小的目标数据点。
4.根据权利要求2或3所述的数据缓存处理方法,其特征在于,所述对所述缓存模块的已缓存数据队列进行调整,包括:
若所述实时缓存占用率大于或者等于所述预设阈值范围的预设占用率上限值,则删除所述目标数据点。
5.根据权利要求2或3所述的数据缓存处理方法,其特征在于,所述对所述缓存模块的已缓存数据队列进行调整,包括:
若所述实时缓存占用率小于或者等于所述预设阈值范围的预设占用率下限值,则复制所述目标数据点,得到复制数据点,并缓存所述复制数据点。
6.根据权利要求5所述的数据缓存处理方法,其特征在于,所述缓存所述复制数据点,包括:
在所述已缓存数据队列中所述目标数据点的相邻位置处,插入并缓存所述复制数据点。
7.一种数据缓存处理装置,其特征在于,包括:
占用率获取模块,用于获取缓存模块的实时缓存占用率;
占用率判断模块,用于判断所述实时缓存占用率是否在预设阈值范围内;
数据调整模块,用于若不在所述预设阈值范围内,则对所述缓存模块的已缓存数据队列进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内。
8.一种电子设备,其特征在于,包括:
数据流处理模块,用于输出动作数据流;
缓存模块,所述缓存模块用于接收并缓存所述动作数据流,得到已缓存数据队列;
数据流调整模块,用于获取缓存模块的实时缓存占用率;判断所述实时缓存占用率是否在预设阈值范围内;若不在所述预设阈值范围内,则对所述缓存模块的已缓存数据队列进行调整,以使调整后所述缓存模块的实时缓存占用率在所述预设阈值范围内;
执行模块,用于读取所述缓存模块中调整后的已缓存数据队列,并执行所述调整后的已缓存数据队列相应的动作。
9.根据权利要求8所述的电子设备,其特征在于,所述执行模块,还用于在检测到所述缓存模块中的实时缓存占用率首次达到预设启动阈值时,读取所述缓存模块中调整后的已缓存数据队列,并执行所述调整后的已缓存数据队列相应的动作。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据缓存处理程序,所述数据缓存处理程序被处理器执行时实现如权利要求1至6任一项所述的数据缓存处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210153552.0A CN114510362A (zh) | 2022-02-18 | 2022-02-18 | 数据缓存处理方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210153552.0A CN114510362A (zh) | 2022-02-18 | 2022-02-18 | 数据缓存处理方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114510362A true CN114510362A (zh) | 2022-05-17 |
Family
ID=81551572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210153552.0A Pending CN114510362A (zh) | 2022-02-18 | 2022-02-18 | 数据缓存处理方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114510362A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235247A (zh) * | 2023-11-13 | 2023-12-15 | 深圳市微克科技有限公司 | 一种基于智能穿戴设备的小说阅读方法、系统及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005123942A (ja) * | 2003-10-17 | 2005-05-12 | Matsushita Electric Ind Co Ltd | 受信装置、キャッシュ管理方法およびプログラムまたはプログラムを記録した記録媒体 |
CN1776656A (zh) * | 2005-12-13 | 2006-05-24 | 北京中星微电子有限公司 | 一种主机与usb设备之间进行数据传输的方法及相应的usb设备 |
CN109257320A (zh) * | 2017-07-13 | 2019-01-22 | 北京京东尚科信息技术有限公司 | 消息存储方法和装置 |
CN110213694A (zh) * | 2019-04-16 | 2019-09-06 | 浙江大华技术股份有限公司 | 一种音频设备及其啸叫的处理方法、计算机存储介质 |
CN112466274A (zh) * | 2020-10-29 | 2021-03-09 | 中科上声(苏州)电子有限公司 | 一种电动汽车的车内主动发声方法及系统 |
CN113726341A (zh) * | 2021-08-25 | 2021-11-30 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
-
2022
- 2022-02-18 CN CN202210153552.0A patent/CN114510362A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005123942A (ja) * | 2003-10-17 | 2005-05-12 | Matsushita Electric Ind Co Ltd | 受信装置、キャッシュ管理方法およびプログラムまたはプログラムを記録した記録媒体 |
CN1776656A (zh) * | 2005-12-13 | 2006-05-24 | 北京中星微电子有限公司 | 一种主机与usb设备之间进行数据传输的方法及相应的usb设备 |
CN109257320A (zh) * | 2017-07-13 | 2019-01-22 | 北京京东尚科信息技术有限公司 | 消息存储方法和装置 |
CN110213694A (zh) * | 2019-04-16 | 2019-09-06 | 浙江大华技术股份有限公司 | 一种音频设备及其啸叫的处理方法、计算机存储介质 |
CN112466274A (zh) * | 2020-10-29 | 2021-03-09 | 中科上声(苏州)电子有限公司 | 一种电动汽车的车内主动发声方法及系统 |
CN113726341A (zh) * | 2021-08-25 | 2021-11-30 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235247A (zh) * | 2023-11-13 | 2023-12-15 | 深圳市微克科技有限公司 | 一种基于智能穿戴设备的小说阅读方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874144B (zh) | 使用映射的声音-触觉效应转换系统 | |
CN107333076B (zh) | 电视机及其音频信号中频点数据的调整方法、装置 | |
CN114510362A (zh) | 数据缓存处理方法、装置、设备以及存储介质 | |
CN109217834A (zh) | 增益调整方法、音频设备及可读存储介质 | |
JP2020202549A (ja) | オーディオ処理方法、装置、電子機器及び記憶媒体 | |
US20080232456A1 (en) | Encoding apparatus, encoding method, and computer readable storage medium storing program thereof | |
CN113170260B (zh) | 音频处理方法、装置、存储介质及电子设备 | |
CN108347209B (zh) | 过冲响应消除系统及方法 | |
CN112078516B (zh) | 显示参数动态调整方法、装置、车辆及存储介质 | |
JP2016519380A (ja) | 読書速度に基づく情報送信 | |
CN111741407B (zh) | 一种扬声器补偿方法、装置、存储介质及设备 | |
JP2004320516A (ja) | 音響信号処理装置及びその方法 | |
CN112802453B (zh) | 快速自适应预测拟合语音方法、系统、终端及存储介质 | |
CN111787268B (zh) | 音频信号的处理方法、装置、电子设备及存储介质 | |
JP2003318673A (ja) | 電子ボリューム回路 | |
KR20070084312A (ko) | 적응 시간-기반 잡음 억제 | |
CN111766946B (zh) | 触觉效果的优化方法及设备、计算机可读存储介质 | |
KR20170087016A (ko) | 음성 합성 시스템의 최적화 방법 및 장치 | |
CN112040373A (zh) | 一种音频数据处理方法、计算设备及可读存储介质 | |
CN110431854B (zh) | 音频信号处理装置 | |
CN112187204A (zh) | 电子装置及其根据音量的均衡器调整方法 | |
JP7266142B1 (ja) | プログラム、処理装置及び処理方法 | |
CN111768329B (zh) | 采集内核执行时间的方法、装置、存储介质及电子设备 | |
US20220148569A1 (en) | Semi-sorted batching with variable length input for efficient training | |
JP2021057880A (ja) | プログラム、情報処理方法、及び情報処理装置 |
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 |