数据处理方法、电子设备及计算机可读存储介质与流程

文档序号:13472098阅读:209来源:国知局
数据处理方法、电子设备及计算机可读存储介质与流程

本发明涉及数据处理技术领域,具体涉及一种数据处理方法、电子设备及计算机可读存储介质。



背景技术:

为了追求数据分析的实时性,传统实时数据分析系统会将一些数据(中间数据或结果数据)缓存在内存中以备后续使用,避免读取磁盘,进而提升速度,但系统崩溃或断电会导致内存数据丢失。

虽然目前存在周期性将缓存数据进行持久化的方案,但是,持久化的过程需要占用一定的系统资源,过度的持久化会导致不必要的系统资源浪费。



技术实现要素:

本发明提供一种数据处理方法、电子设备及计算机可读存储介质,用以节省系统资源。

本发明第一方面提供一种数据处理方法,其特征在于,包括:

监听缓存中是否存在目标数据,其中,所述目标数据为在缓存中的时间到达预设的有效时间的数据;

若监听到所述缓存中存在目标数据,则判断所述目标数据是否满足预设的持久化条件;

若所述目标数据满足预设的持久化条件,则对所述目标数据进行持久化;

若所述目标数据不满足所述持久化条件,则对所述目标数据执行预设的非持久化操作。

本发明第二方面提供一种电子设备,上述电子设备包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如下步骤:

监听缓存中是否存在目标数据,其中,所述目标数据为在缓存中的时间到达预设的有效时间的数据;

若监听到所述缓存中存在目标数据,则判断所述目标数据是否满足预设的持久化条件;

若所述目标数据满足预设的持久化条件,则对所述目标数据进行持久化;

若所述目标数据不满足所述持久化条件,则对所述目标数据执行预设的非持久化操作。

本发明第三方面提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被至少一个处理器执行时,实现如下步骤:

监听缓存中是否存在目标数据,其中,所述目标数据为在缓存中的时间到达预设的有效时间的数据;

若监听到所述缓存中存在目标数据,则判断所述目标数据是否满足预设的持久化条件;

若所述目标数据满足预设的持久化条件,则对所述目标数据进行持久化;

若所述目标数据不满足所述持久化条件,则对所述目标数据执行预设的非持久化操作。

由上可见,本发明方案中通过监听缓存中是否存在目标数据,当存在目标数据时进一步判断该目标数据是否符合预设的持久化条件,在符合预设的持久化条件时,才对该目标数据进行持久化。由于目标数据为在缓存中的时间到达预设的有效时间的数据,因此,结合效时间以及持久化条件对目标数据进行持久化的控制,能够避免因周期性对全部缓存数据进行持久化而导致的系统资源浪费,在一定程度上节省了系统资源。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的数据处理程序方法一个实施例流程示意图;

图2为本发明提供的电子设备一个实施例结构示意图;

图3为本发明提供的数据处理程序的功能模块结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明实施例对一种数据处理方法进行描述,请参阅图1,本发明实施例中的数据处理方法包括:

步骤101、监听缓存中是否存在目标数据;

本发明实施例中,缓存为数据交换的缓冲区(在某些实施例也被称为cache),缓存是高速数据交换的存储器。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行,因此,为了追求数据分析的实时性,通常会将一些数据(例如中间数据或结果数据)存入缓存中以备后续使用,以提升数据读取速度。

本发明实施例中,上述目标数据为在缓存中的时间到达预设的有效时间的数据。在步骤101中,通过实时监听缓存中各个数据在缓存中的时间以及各个数据的有效时间,即可获知该缓存中是否存在目标数据。

可选的,针对存入缓存中的各个数据分别设立对应的有效时间,即,不同数据对应有各自的有效时间,且不同数据的有效时间可以不全相同。例如,可设定存入缓存中的数据a的有效时间为10分钟,存入缓存中的数据b的有效时间为15分钟。当然,本发明实施例中,也可以针对存入缓存中的数据设立统一的有效时间,即,存入缓存中的数据的有效时间均相同。例如,设定存入缓存中的数据的有效时间均为20分钟。此处不做限定。

步骤102、若监听到上述缓存中存在目标数据,则判断上述目标数据是否满足预设的持久化条件;

在步骤102中,当某个数据在缓存中的时间到达预设的有效时间时,进一步判断该数据(也即目标数据)是否满足预设的持久化条件。若判定上述目标数据满足该持久化条件,则进入步骤103,若判定上述目标数据不满足该持久化条件,则进入步骤104。

本发明实施例中,可以统计缓存中的各个数据的被查询次数和/或被更新次数。在步骤102中,上述判断上述目标数据是否满足预设的持久化条件可以包括:根据上述目标数据在缓存中的被查询次数和/或被更新次数,确定上述目标数据的分值,若该分值达到预设的阈值,则判定上述目标数据满足预设的持久化条件,若该分值未达到预设的阈值,则判定上述目标数据不满足预设的持久化条件。具体的,上述判断上述目标数据是否满足预设的持久化条件可以包括如下任一方式:

方式一:基于上述目标数据在缓存中的被查询次数,确定上述目标数据的第一分值,其中,上述第一分值与上述被查询次数正相关,也即,被查询次数越多,第一分值越大。可选的,预先将被查询次数划分为多个查询区间,每个查询区间对应相应的第一分值,则基于上述目标数据在缓存中的被查询次数所在的查询区间,即可确定上述目标数据的第一分值。或者,也可以预先设置被查询次数与第一分值的对应关系曲线,则基于上述目标数据在缓存中的被查询次数和预设的被查询次数与第一分值的对应关系曲线,即可确定上述目标数据的第一分值。进一步,若上述第一分值达到预设的第一阈值,则判定上述目标数据满足预设的持久化条件,此时进入步骤103,若上述第一分值未达到上述第一阈值,则判定上述目标数据不满足上述持久化条件,此时进入步骤104。

方式二、基于上述目标数据在缓存中的被更新次数,确定上述目标数据的第二分值,其中,上述第二分值与上述被更新次数负相关,也即,被更新次数越多,第二分值越大。可选的,预先将被更新次数划分为多个更新区间,每个更新区间对应相应的第二分值,则基于上述目标数据在缓存中的被更新次数所在的更新区间,即可确定上述目标数据的第二分值。或者,也可以预先设置被更新次数与第二分值的对应关系曲线,则基于上述目标数据在缓存中的被更新次数和预设的被更新次数与第二分值的对应关系曲线,即可确定上述目标数据的第二分值。进一步,若上述第二分值达到预设的第二阈值,则判定上述目标数据满足预设的持久化条件,此时进入步骤103,若上述第二分值未达到上述第二阈值,则判定上述目标数据不满足上述持久化条件,此时进入步骤104。

方式三、基于上述目标数据在缓存中的被查询次数,确定上述目标数据的第一分值,其中,上述第一分值与所述被查询次数正相关;基于上述目标数据在缓存中的被更新次数,确定上述目标数据的第二分值,其中,上述第二分值与上述被更新次数负相关;将上述第一分值和上述第二分值进行加权求平均值,得到第三分值;若上述第三分值达到预设的第三阈值,则判定上述目标数据满足预设的持久化条件;若上述第三分值未达到所述第三阈值,则判定上述目标数据不满足上述持久化条件。具体地,如何基于上述目标数据在缓存中的被查询次数可以参照方式一中的描述,而如何基于上述目标数据在缓存中的被更新次数可以参照方式二中的描述,此处不再赘述。

当然,本发明实施例中,也可以预设其它持久化条件,以通过其它方式判断上述数据是否满足预设的持久化条件,此处不做限定。

步骤103、对上述目标数据进行持久化;

需要说明的是,上述持久化是指将缓存中的数据保存到可永久保存的存储设备中(例如磁盘)的过程。持久化的具体过程可以参照已有技术实现,此处不再赘述。

步骤104、对上述目标数据执行预设的非持久化操作;

本发明实施例中,当判定上述目标数据不满足上述持久化条件时,不对上述目标数据进行持久化,此时,对上述目标数据执行预设的非持久化操作。

在一种应用场景中,可以针对存入缓存中的各个数据设置相应的有效时间,上述非持久化操作为延长目标数据的有效时间。则步骤104可包括:根据预设的时长,延长上述目标数据的有效时间。举例说明,设预设的时长为5分钟,上述目标数据的有效时间为20分钟,当步骤102判定该目标数据不满足预设的持久化条件时,可延长该目标数据的有效时间,使得该目标数据的有效时间变为25分钟。在步骤101实时监听的情况下,5分钟后由于该目标数据在缓存中的时间到达其有效时间,此时将会再次针对该目标数据执行如步骤102以及后续步骤。

当然,本发明实施例中,上述非持久化操作也可以为其它操作,只要不是为对数据进行持久化的操作都可认为属于非持久化操作。

需要说明的是,本发明实施例中的数据处理方法可以由数据处理装置实现,该数据处理装置具体可以集成在诸如手机、服务器、个人计算机等电子设备中,此处不作限定。

由上可见,本发明实施例中通过监听缓存中是否存在目标数据,当存在目标数据时进一步判断该目标数据是否符合预设的持久化条件,在符合预设的持久化条件时,才对该目标数据进行持久化。由于目标数据为在缓存中的时间到达预设的有效时间的数据,因此,结合效时间以及持久化条件对目标数据进行持久化的控制,能够避免因周期性对全部缓存数据进行持久化而导致的系统资源浪费,在一定程度上节省了系统资源。

实施例二

对应于实施例一所述的数据处理方法,图2示出了本发明实施例提供的与上述数据处理方法相关的计算机程序(例如数据处理程序)的运行环境示意图,为了便于说明,仅示出了与本发明实施例相关的部分。

在本发明实施例中,上述数据处理程序安装并运行于电子设备中。该电子设备可包括但不仅限于一个或多个存储器21(图中仅示出一个)、一个或多个处理器22(图中仅示出一个),上述存储器21和处理器22通过总线23连接。图2仅示出了具有组件21-23的电子设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多的组件(例如显示器等)或者更少的组件。

存储器21在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的硬盘或内存。存储器21在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器21还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器21用于存储安装于电子设备的应用软件及各类数据,例如上述数据处理程序的程序代码等。存储器21还可以用于暂时地存储已经输出或者将要输出的数据。

处理器22在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行存储器21中存储的程序代码或处理数据,例如执行上述数据处理程序等。

进一步,在图2基础上,请参阅图3,图3为本发明实施例提供的对应于实施例一所述的数据处理方法的数据处理程序的功能模块图。在本发明实施例中,上述数据处理程序可以被分割成一个或多个模块,上述一个或者多个模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。例如,在图3中,上述数据处理程序可以被分割成监听模块31、判断模块32、持久化模块33和非持久化模块34。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述上述数据处理程序在上述电子设备中的执行过程。以下描述将具体介绍监听模块31、判断模块32、持久化模块33和非持久化模块34的功能。

监听模块31,用于监听缓存中是否存在目标数据,其中,所述目标数据为在缓存中的时间到达预设的有效时间的数据;

判断模块32,用于当监听模块31监听到上述缓存中存在目标数据时,判断上述目标数据是否满足预设的持久化条件;

持久化模块33,用于当判断模块32判断出上述目标数据满足预设的持久化条件时,对上述目标数据进行持久化;

非持久化模块34,用于当判断模块32判断出上述目标数据不满足上述持久化条件时,对上述目标数据执行预设的非持久化操作。

在一种应用场景中,判断模块32具体用于:基于所述目标数据在缓存中的被查询次数,确定所述目标数据的第一分值,其中,所述第一分值与所述被查询次数正相关;若所述第一分值达到预设的第一阈值,则判定所述目标数据满足预设的持久化条件;若所述第一分值未达到所述第一阈值,则判定所述目标数据不满足所述持久化条件。

在另一种应用场景中,判断模块32具体用于:基于所述目标数据在缓存中的被更新次数,确定所述目标数据的第二分值,其中,所述第二分值与所述被更新次数负相关;若所述第二分值达到预设的第二阈值,则判定所述目标数据满足预设的持久化条件;若所述第二分值未达到所述第二阈值,则判定所述目标数据不满足所述持久化条件。

在再一种应用场景中,判断模块32具体用于:基于所述目标数据在缓存中的被查询次数,确定所述目标数据的第一分值,其中,所述第一分值与所述被查询次数正相关;基于所述目标数据在缓存中的被更新次数,确定所述目标数据的第二分值,其中,所述第二分值与所述被更新次数负相关;将所述第一分值和所述第二分值进行加权求平均值,得到第三分值;若所述第三分值达到预设的第三阈值,则判定所述目标数据满足预设的持久化条件;若所述第三分值未达到所述第三阈值,则判定所述目标数据不满足所述持久化条件。

可选的,非持久化模块34具体用于:当判断模块32判断出上述目标数据不满足上述持久化条件时,根据预设的时长,延长上述目标数据的有效时间。

应理解,本发明实施例中的电子设备可以用于实现上述方法实施例中的全部技术方案,在本发明实施例中没有详述和提及的部分,可以参见上述方法实施例的描述,此处不再赘述。

由上可见,本发明实施例中通过监听缓存中是否存在目标数据,当存在目标数据时进一步判断该目标数据是否符合预设的持久化条件,在符合预设的持久化条件时,才对该目标数据进行持久化。由于目标数据为在缓存中的时间到达预设的有效时间的数据,因此,结合效时间以及持久化条件对目标数据进行持久化的控制,能够避免因周期性对全部缓存数据进行持久化而导致的系统资源浪费,在一定程度上节省了系统资源。

为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1