数据热度统计方法及装置与流程

文档序号:17537515发布日期:2019-04-29 14:09阅读:364来源:国知局
数据热度统计方法及装置与流程

本发明涉及数据处理技术领域,具体涉及一种数据热度统计方法及装置。



背景技术:

描述数据被访问的频繁程度称为数据热度。nosql数据库中存储的数据的热度能直观体现数据的影响范围和重要性,对nosql数据库的数据清理、数据迁移和异常监控等工作具有重要的指导作用。

目前常见的对nosql数据库进行数据热度统计的方法是利用有序集合结构进行数据热度统计和排序,具体的,在有序集合中每个数据对应一个访问次数计数,在每次数据访问发生时,实时递增该数据的访问次数并重新排序。但是,对于数据规模不断增长的nosql数据库来说,采用这种方法会过多消耗nosql数据库的服务器资源,甚至影响数据热度统计的执行效率。

因此,如何提高数据热度统计的执行效率,成为本领域技术人员亟待解决的技术问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据热度统计方法及装置。具体方案如下:

一种数据热度统计方法,包括:

统计客户端在一个预设更新周期内对目标数据的操作信息;

根据所述操作信息,在所述客户端存储的第一数据热度集合中更新所述目标数据的热度;

在所述一个预设更新周期对应的更新时间点向数据库服务器发送所述第一数据热度集合,以使所述数据库服务器根据所述第一数据热度集合,在所述数据库服务器存储的第二数据热度集合中更新所述目标数据的热度,所述第二数据热度集合中包括所述数据库的全量数据热度。

可选地,所述根据所述操作信息,在所述客户端存储的第一数据热度集合中更新所述目标数据的热度,包括:

删除所述第一数据热度集合中存储的历史数据热度,所述历史数据热度为客户端在与所述一个预设更新周期相邻的上一个预设更新周期内操作的目标数据的热度;

在所述客户端存储的第一数据热度集合中存储所述操作信息。

可选地,所述统计客户端在一个预设更新周期内对目标数据的操作信息,包括:

按照如下方式统计客户端在一个预设更新周期内对每个目标数据的操作信息:

向数据库服务器发送目标数据操作请求;

接收所述数据库服务器发送的目标数据操作响应,所述目标数据操作响应用于指示所述数据库服务器接收并处理完成所述客户端对数据库中的目标数据的操作;

将所述目标数据的操作次数加一,并将所述操作对应的最近操作时间更新为当前时间。

可选地,所述向数据库服务器发送目标数据操作请求包括:

向数据库服务器发送读目标数据请求,所述读目标数据请求用于指示客户端对数据库中的目标数据进行读操作;

和/或,向数据库服务器发送写目标数据请求,所述写目标数据请求用于指示客户端对数据库中的目标数据进行写操作。

可选地,所述方法还包括:

向数据库服务器发送数据热度获取请求,所述数据热度获取请求用于指示客户端请求获取数据库的全量数据热度或数据库的部分数据热度;

接收所述数据库服务器发送的数据库的全量数据热度或数据库的部分数据热度。

可选地,所述方法还包括:

将所述数据库的全量数据热度或数据库的部分数据热度序列化为本地数据热度文件。

可选地,所述方法还包括:

接收第三方工具发送的文件调用请求;

将所述本地数据热度文件发送给所述第三方工具,以使第三方工具根据所述本地数据热度文件对数据库的全量数据或数据库的部分数据排序。

一种数据热度统计装置,包括:

统计单元,用于统计客户端在一个预设更新周期内对目标数据的操作信息;

更新单元,用于根据所述操作信息,在所述客户端存储的第一数据热度集合中更新所述目标数据的热度;

发送单元,用于在所述一个预设更新周期对应的更新时间点向数据库服务器发送所述第一数据热度集合,以使所述数据库服务器根据所述第一数据热度集合,在所述数据库服务器存储的第二数据热度集合中更新所述目标数据的热度,所述第二数据热度集合中包括所述数据库的全量数据热度。

一种存储介质,其特征在于,所述存储介质存储有程序,以实现如上所述的数据热度统计方法的步骤。

一种电子设备,其特征在于,包括:存储器和处理器;所述存储器存储有适于所述处理器执行的程序,以实现如上所述的数据热度统计方法的步骤。

借由上述技术方案,本发明提供的数据热度统计方法及装置,由客户端统计其在一个预设更新周期内对目标数据的操作信息;根据所述操作信息,在本地存储的第一数据热度集合中更新目标数据的热度;在一个预设更新周期对应的更新时间点向数据库服务器发送第一数据热度集合,以使数据库服务器根据第一数据热度集合,在数据库服务器存储的第二数据热度集合中更新目标数据的热度,第二数据热度集合中包括数据库的全量数据热度。本方案中,由于部分统计工作由客户端执行,能够节省数据库服务器的资源,进而提高数据热度统计的执行效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例公开的一种数据热度统计方法的流程示意图;

图2为本发明实施例公开的又一种数据热度统计方法的流程示意图;

图3为本发明实施例公开的一种数据热度统计装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

请参阅附图1,图1为本发明实施例公开的一种数据热度统计方法的流程示意图,该方法的执行主体为客户端,所述客户端可以为电脑、手机等电子设备,该方法包括:

步骤s100:统计客户端在一个预设更新周期内对目标数据的操作信息;

在本发明实施例中,预设更新周期为客户端向服务器发送第一数据热度集合的两个相邻时间点之间的时间段,比如10分钟、30分钟、1小时等,对此本发明不做任何限定。

在一种可实施方式中,客户端在一个预设更新周期内可以对多个目标数据进行操作。

在一种可实施方式中,客户端在一个预设更新周期内对每个目标数据的操作信息的统计都可以按照如下方式进行:

向数据库服务器发送目标数据操作请求;

接收所述数据库服务器发送的目标数据操作响应;其中,所述目标数据操作响应用于指示所述数据库服务接收并处理完成所述客户端对数据库中的目标数据的操作。

将所述目标数据的操作次数加一,并将所述操作对应的最近操作时间更新为当前时间。

在一种可实施方式中,所述向数据库服务器发送目标数据操作请求包括:

向数据库服务器发送读目标数据请求,所述读目标数据请求用于指示客户端对数据库中的目标数据进行读操作,则客户端接收到数据库服务器发送的目标数据读操作响应后,将所述目标数据的读操作次数加一,并将所述读操作对应的最近读操作时间更新为当前时间。

在又一种可实施方式中,所述向数据库服务器发送目标数据操作请求包括:

向数据库服务器发送写目标数据请求,所述写目标数据请求用于指示客户端对数据库中的目标数据进行写操作,则客户端接收到数据库服务器发送的目标数据写操作响应后,将所述目标数据的写操作次数加一,并将所述写操作对应的最近写操作时间更新为当前时间。

步骤s101:根据所述操作信息,在所述客户端存储的第一数据热度集合中更新所述目标数据的热度;

在一种可实施方式中,该步骤具体包括:删除所述第一数据热度集合中存储的历史数据热度,所述历史数据热度为客户端在与所述一个预设更新周期相邻的上一个预设更新周期内操作的目标数据的热度,在所述客户端存储的第一数据热度集合中存储所述操作信息。

在一种可实施方式中,所述客户端存储的第一数据热度集合是以key-value键值对的形式存储各个数据及其热度信息,其中key为数据标识,value为数据的操作信息。

在一种可实施方式中,数据的操作信息为读操作次数、最近读操作时间、写操作次数、最近写操作时间中的任意一种或多种。

在又一种可实施方式中,value还可包括读写人列表、客户端标识等信息。

在一种可实施方式中,在所述客户端存储的第一数据热度集合中存储所述操作信息具体包括:

确定操作信息对应的目标数据的key;

判断所述第一数据热度集合中是否包含所述key;

如果包含,则将操作信息存储至所述第一数据热度集合中包含的所述key对应的value处;

如果不包含,则在所述第一数据热度集合中新建一组key-value,其中key为所述操作信息对应的目标数据的key,所述value为所述操作信息。

步骤s102:在所述一个预设更新周期对应的更新时间点向数据库服务器发送所述第一数据热度集合,以使所述数据库服务器根据所述第一数据热度集合,在所述数据库服务器存储的第二数据热度集合中更新所述目标数据的热度,所述第二数据热度集合中包括所述数据库的全量数据热度。

在一种可实施方式中,所述一个预设更新周期对应的更新时间点即为该预设更新周期结束时对应的时间点,比如,预设更新周期为30分钟,与所述一个预设更新周期相邻的上一个预设更新周期对应的更新时间点为15:00,则所述一个预设更新周期对应的更新时间点为15:30。

在一种可实施方式中,所述数据库服务器根据所述第一数据热度集合,在所述数据库服务器存储的第二数据热度集合中更新所述目标数据的热度包括:

从第二数据热度集合中确定与所述第一数据热度集合中包含的key相同的key;

更新该key在第二数据热度集合中对应的value,具体的,如果value为操作次数,则将该key在第二数据热度集合中对应的操作次数加上该key在第一数据热度集合中对应的操作次数作为更新后的操作次数。如果value为最近操作时间,则将该key在第二数据热度集合中对应的最近操作时间变更为该key在第一数据热度集合中对应的最近操作时间。

本实施例提供的数据热度统计方法,由客户端统计其在一个预设更新周期内对目标数据的操作信息;根据所述操作信息,在本地存储的第一数据热度集合中更新目标数据的热度;在一个预设更新周期对应的更新时间点向数据库服务器发送第一数据热度集合,以使数据库服务器根据第一数据热度集合,在数据库服务器存储的第二数据热度集合中更新目标数据的热度,第二数据热度集合中包括数据库的全量数据热度。本方案中,由于部分统计工作由客户端执行,数据库服务器每隔预设更新周期才执行一次统计,因此,能够节省数据库服务器的资源,进而提高数据热度统计的执行效率。

请参阅附图2,图2为本发明实施例公开的又一种数据热度统计方法的流程示意图,该方法可以在上述实施例的基础上执行,该方法具体包括如下步骤:

步骤s200:客户端向数据库服务器发送数据热度获取请求,所述数据热度获取请求用于指示客户端请求获取数据库的全量数据热度或数据库的部分数据热度;

当客户端需要数据库的数据热度时,则可以向数据库服务器发送数据热度获取请求去获取数据库的全量数据热度或数据库的部分数据热度;在一种可实施方式中,当客户端请求获取数据库的部分数据热度时,可在数据热度获取请求中添加所述部分数据的key。这样,客户端可以仅仅消耗较少的网络资源即可获取自身所需的数据,而且无需先获取数据库全量数据热度,再从中排除无用数据,减轻了自身的负担。

步骤s201:所述数据库服务器发送数据库的全量数据热度或数据库的部分数据热度给客户端。

步骤s202:客户端接收所述数据库服务器发送的数据库的全量数据热度或数据库的部分数据热度,并将所述数据库的全量数据热度或数据库的部分数据热度序列化为本地数据热度文件。

本发明实施例给出了一种本地数据热度文件示例,具体如下表所示:

上表中,read_datetime为读操作最近时间、write_datetime为写操作最近时间、read_times为读操作次数、write_times为写操作次数。

步骤s203:第三方工具发送文件调用请求给所述客户端。

步骤s204:所述客户端接收第三方工具发送的文件调用请求,并将所述本地数据热度文件发送给所述第三方工具。

步骤s205:所述第三方工具根据所述本地数据热度文件对数据库的全量数据或数据库的部分数据排序。

在本实施例中,数据排序的工作由第三方工具执行,能够进一步减少数据库服务器的资源消耗,进而进一步提高数据热度统计的执行效率。

请参阅附图3,图3为本发明实施例公开的一种数据热度统计装置的结构示意图,该装置包括:

统计单元10,用于统计客户端在一个预设更新周期内对目标数据的操作信息;

更新单元11,用于根据所述操作信息,在所述客户端存储的第一数据热度集合中更新所述目标数据的热度;

发送单元12,用于在所述一个预设更新周期对应的更新时间点向数据库服务器发送所述第一数据热度集合,以使所述数据库服务器根据所述第一数据热度集合,在所述数据库服务器存储的第二数据热度集合中更新所述目标数据的热度,所述第二数据热度集合中包括所述数据库的全量数据热度。

可选地,所述更新单元,具体用于:

删除所述第一数据热度集合中存储的历史数据热度,所述历史数据热度为客户端在与所述一个预设更新周期相邻的上一个预设更新周期内操作的目标数据的热度;

在所述客户端存储的第一数据热度集合中存储所述操作信息。

可选地,所述统计单元,具体用于:

按照如下方式统计客户端在一个预设更新周期内对每个目标数据的操作信息:

向数据库服务器发送目标数据操作请求;

接收所述数据库服务器发送的目标数据操作响应,所述目标数据操作响应用于指示所述数据库服务器接收并处理完成所述客户端对数据库中的目标数据的操作;

将所述目标数据的操作次数加一,并将所述操作对应的最近操作时间更新为当前时间。

可选地,所述统计单元,具体用于:

向数据库服务器发送读目标数据请求,所述读目标数据请求用于指示客户端对数据库中的目标数据进行读操作;

和/或,

向数据库服务器发送写目标数据请求,所述写目标数据请求用于指示客户端对数据库中的目标数据进行写操作。

可选地,所述装置还包括:

第一发送子单元,用于向数据库服务器发送数据热度获取请求,所述数据热度获取请求用于指示客户端请求获取数据库的全量数据热度或数据库的部分数据热度;

第一接收子单元,用于接收所述数据库服务器发送的数据库的全量数据热度或数据库的部分数据热度。

可选地,所述装置还包括:

序列化单元,用于将所述数据库的全量数据热度或数据库的部分数据热度序列化为本地数据热度文件。

可选地,所述装置还包括:

第二接收子单元,用于接收第三方工具发送的文件调用请求;

第二发送子单元,用于将所述本地数据热度文件发送给所述第三方工具,以使所述第三方工具根据所述本地数据热度文件对数据库的全量数据或数据库的部分数据排序。

需要说明的是,上述各个单元的具体功能实现已在方法实施例中详细说明,本实施例不再赘述。

所述数据热度统计装置包括处理器和存储器,上述统计单元、更新单元、和发送单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高数据热度统计的执行效率。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据热度统计方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据热度统计方法。

本发明实施例提供了一种电子设备,包括处理器及存储器,所述存储器存储有适于所述处理器执行的程序,处理器执行程序时实现以下步骤:

统计客户端在一个预设更新周期内对目标数据的操作信息;

根据所述操作信息,在所述客户端存储的第一数据热度集合中更新所述目标数据的热度;

在所述一个预设更新周期对应的更新时间点向数据库服务器发送所述第一数据热度集合,以使所述数据库服务器根据所述第一数据热度集合,在所述数据库服务器存储的第二数据热度集合中更新所述目标数据的热度,所述第二数据热度集合中包括所述数据库的全量数据热度。

可选地,所述根据所述操作信息,在所述客户端存储的第一数据热度集合中更新所述目标数据的热度,包括:

删除所述第一数据热度集合中存储的历史数据热度,所述历史数据热度为客户端在与所述一个预设更新周期相邻的上一个预设更新周期内操作的目标数据的热度;

在所述客户端存储的第一数据热度集合中存储所述操作信息。

可选地,所述统计客户端在一个预设更新周期内对目标数据的操作信息,包括:

按照如下方式统计客户端在一个预设更新周期内对每个目标数据的操作信息:

向数据库服务器发送目标数据操作请求;

接收所述数据库服务器发送的目标数据操作响应,所述目标数据操作响应用于指示所述数据库服务器接收并处理完成所述客户端对数据库中的目标数据的操作;

将所述目标数据的操作次数加一,并将所述操作对应的最近操作时间更新为当前时间。

可选地,所述向数据库服务器发送目标数据操作请求包括:

向数据库服务器发送读目标数据请求,所述读目标数据请求用于指示客户端对数据库中的目标数据进行读操作;

和/或,向数据库服务器发送写目标数据请求,所述写目标数据请求用于指示客户端对数据库中的目标数据进行写操作。

可选地,所述方法还包括:

向数据库服务器发送数据热度获取请求,所述数据热度获取请求用于指示客户端请求获取数据库的全量数据热度或数据库的部分数据热度;

接收所述数据库服务器发送的数据库的全量数据热度或数据库的部分数据热度。

可选地,所述方法还包括:

将所述数据库的全量数据热度或数据库的部分数据热度序列化为本地数据热度文件。

可选地,所述方法还包括:

接收第三方工具发送的文件调用请求;

将所述本地数据热度文件发送给所述第三方工具,以使第三方工具根据所述本地数据热度文件对数据库的全量数据或数据库的部分数据排序。

本文中的电子设备可以是服务器、pc、pad、手机等。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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