CN110019358A - 一种数据处理方法、装置及设备和存储介质 - Google Patents

一种数据处理方法、装置及设备和存储介质 Download PDF

Info

Publication number
CN110019358A
CN110019358A CN201710940348.2A CN201710940348A CN110019358A CN 110019358 A CN110019358 A CN 110019358A CN 201710940348 A CN201710940348 A CN 201710940348A CN 110019358 A CN110019358 A CN 110019358A
Authority
CN
China
Prior art keywords
pending data
data collection
pending
data
quota
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
CN201710940348.2A
Other languages
English (en)
Other versions
CN110019358B (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 Sogou Technology Development Co Ltd
Original Assignee
Beijing Sogou Technology Development 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 Sogou Technology Development Co Ltd filed Critical Beijing Sogou Technology Development Co Ltd
Priority to CN201710940348.2A priority Critical patent/CN110019358B/zh
Publication of CN110019358A publication Critical patent/CN110019358A/zh
Application granted granted Critical
Publication of CN110019358B publication Critical patent/CN110019358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种数据处理方法、装置及设备和存储介质,实现提高数据处理效率的目的。其中,所述方法包括:获取待处理数据集和所述待处理数据集对应的配额,所述待处理数据集至少包括两个,且至少两个所述待处理数据集对应的配额不同;基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据;将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。

Description

一种数据处理方法、装置及设备和存储介质
技术领域
本申请涉及计算机领域,尤其涉及一种数据处理方法、装置及设备和存储介质。
背景技术
在计算机的世界里,离不开对数据的处理。传统的数据处理模块直接从存储数据的磁盘中进行数据读取,由于从磁盘或数据库中进行数据读取速度较慢,所以相关技术采用缓存的方式来存储待处理数据,即预先将磁盘或数据库中的数据读取到缓存中,当需要待处理数据时,直接从缓存中读取待处理数据进行处理。由于从缓存中读取待处理数据的速度比从磁盘或数据库中读取的速度快,所以能够节约待处理数据的读取时间。
然而发明人在实现本发明的过程中发现,对于优先级别不同的待处理数据,需要根据数据的优先级别分别进行相应的处理,例如需要在缓存阶段分析待处理数据的优先级别,根据优先级别确定其相应的缓存区域,然后再根据缓存区域的优先级别进行数据处理,从而大大降低了数据处理效率。
发明内容
为了解决上述技术问题,本申请实施例提供了一种数据处理方法、装置及设备和存储介质,实现了提高数据处理效率的目的。
本申请实施例提供了一种数据处理方法,所述方法包括:
获取待处理数据集和所述待处理数据集对应的配额,所述待处理数据集至少包括两个,且至少两个所述待处理数据集对应的配额不同;
基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据;
将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。
可选的,所述基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据包括:
计算所述待处理数据集对应的配额的最大公约数;
根据所述待处理数据集对应的配额和所述最大公约数,计算从所述待处理数据集中选取的目标数据的数量;
按照计算得到的所述目标数据的数量从所述待处理数据集中选取所述目标数据。
可选的,所述方法还包括:当所述待处理数据集中不存在数据时,将所述待处理数据集删除。
可选的,所述基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据包括:
若所述第一缓存池存放的所述目标数据的数量少于或等于预设阈值,则基于所述待处理数据集对应的配额,从所述待处理数据集中选择所述目标数据。
可选的,所述方法还包括:
将所述待处理数据集和所述待处理数据集对应的配额存储在第二缓存池中,所述第二缓存池包括第二值和分数,其中所述第二值存储所述待处理数据集,所述分数存储所述待处理数据集对应的配额。
可选的,所述基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据包括:
基于所述第二缓存池中的分数,从所述第二值存储的所述待处理数据集中选择所述目标数据。
可选的,所述获取待处理数据集和所述待处理数据集对应的配额包括:
获取第一原始文件和所述第一原始文件的配置文件,所述第一原始文件中存储有多个待处理数据,所述配置文件中存储有所述多个待处理数据对应的配额;
根据所述多个待处理数据对应的配额,确定待处理数据集和所述待处理数据集对应的配额。
可选的,所述获取多个待处理数据集和所述多个待处理数据集分别对应的配额包括:
获取第二原始文件,所述第二原始文件的文件名中携带有各自的配额;
根据所述多个待处理数据对应的配额,确定待处理数据集和所述待处理数据集对应的配额。
本申请实施例提供了一种数据处理装置,所述装置包括:
获取单元、选择单元和第一存储单元;
其中,所述获取单元,用于获取待处理数据集和所述待处理数据集对应的配额,所述待处理数据集至少包括两个,且至少两个所述待处理数据集对应的配额不同;
所述选择单元,用于基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据;
所述第一存储单元,用于将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。
可选的,所述选择单元包括:
第一计算单元、第二计算单元和选取单元;
其中,所述第一计算单元,用于计算所述待处理数据集对应的配额的最大公约数;
所述第二计算单元,用于根据所述待处理数据集对应的配额和所述最大公约数,计算从所述待处理数据集中选取的目标数据的数量;
所述选取单元,用于按照计算得到的所述目标数据的数量从所述待处理数据集中选取所述目标数据。
可选的,所述装置还包括:
删除单元,用于当所述待处理数据集中不存在数据时,将所述待处理数据集删除。
可选的,所述选择单元,具体用于若所述第一缓存池存放的所述目标数据的数量少于或等于预设阈值,则基于所述待处理数据集对应的配额,从所述待处理数据集中选择所述目标数据。
可选的,所述装置还包括:
第二存储单元,用于将所述待处理数据集和所述待处理数据集对应的配额存储在第二缓存池中,所述第二缓存池包括第二值和分数,其中所述第二值存储所述待处理数据集,所述分数存储所述待处理数据集对应的配额。
可选的,所述选择单元,还用于:
基于所述第二缓存池中的分数,从所述第二值存储的所述待处理数据集中选择所述目标数据。
可选的,所述获取单元,具体用于:
获取第一原始文件和所述第一原始文件的配置文件,所述第一原始文件中存储有多个待处理数据,所述配置文件中存储有所述多个待处理数据对应的配额;根据所述多个待处理数据对应的配额,确定待处理数据集和所述待处理数据集对应的配额。
可选的,所述获取单元,具体用于:
获取第二原始文件,所述第二原始文件的文件名中携带有各自的配额;根据所述多个待处理数据对应的配额,确定待处理数据集和所述待处理数据集对应的配额。
本申请实施例还提供了一种数据处理设备,所述设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取待处理数据集和所述待处理数据集对应的配额,所述待处理数据集至少包括两个,且至少两个所述待处理数据集对应的配额不同;
基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据;
将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。
本申请实施例还提供了一种存储介质,所述存储介质存储有程序,所述程序在执行时使得处理器执行以下步骤:
获取待处理数据集和所述待处理数据集对应的配额,所述待处理数据集至少包括两个,且至少两个所述待处理数据集对应的配额不同;
基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据;
将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。
本申请实施例通过获取待处理数据集和所述待处理数据集对应的配额,基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据,并将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。由于本实施例预先确定了待处理数据集的配额,只需要根据配额将目标数据存放待第一缓存池即可,减少数据处理过程中的步骤,提高了数据处理效率。此外,由于配额高的待处理数据集放入的目标数据的个数多,所以能够待处理数据集能够被以较快的速度进行处理;而配额低的待处理数据集放入的目标数据的个数少,所以能够待处理数据集能够被以较慢的速度进行处理,从而满足不同待处理数据集具有不同的处理速度的需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种数据处理方法的流程图;
图2为本申请实施例提供的另一种数据处理方法的流程图;
图3为本申请实施例提供的利用第一缓存池和第二缓存池进行存储的示意图;
图4为本申请实施例提供的第一缓存池和第二缓存池内部存储形式的示意图;
图5为本申请实施例提供的一种数据处理装置的结构框图;
图6为本申请实施例提供的一种数据处理设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
方法实施例:
参见图1,该图为本申请实施例提供的一种数据处理方法的流程图。
本实施例提供的数据处理方法包括如下步骤:
S101:获取待处理数据集和所述待处理数据集对应的配额。
在本实施例中,待处理数据集是指待处理数据的集合,待处理数据可以根据任务请求进行确定。例如,当视频网站上的某个URL(Uniform Resource Locator,统一资源定位符)对应的网页由于视频被删除等原因而无法打开时,该URL就成为死链。为了提高用户体验,视频网站通常会将死链删除。在删除之前,首先需要对URL是否为死链进行判定处理。视频一般分为长视频和短视频,长视频是指持续时间较长的视频,例如0.5小时以上;短视频是指持续时间较短的视频,例如0.5小时以内。
假设长视频URL的判定周期为一天一轮,那么,每天都会生成一个长视频URL判定任务请求,根据该请求从数据库中确定需要判定的长视频URL,作为待处理长视频URL。
假设短视频URL的判定周期为一周一轮,那么,每周都会生成一个短视频URL判定任务请求,根据该请求从数据库中确定需要判定的短视频URL,作为待处理短视频URL。
在处理资源有限的情况下,待处理数据需要分配的资源的额度,称为待处理数据对应的配额。在本实施例中,可以将配额相同的待处理数据作为一个待处理数据集,一个待处理数据集对应一个配额。配额越高,待处理数据集中的待处理数据需要处理的速度越快;配额越高,待处理数据集中的待处理数据需要处理的速度越低。在本实施例中,所述待处理数据集至少包括两个,且各个待处理数据集对应的配额不同。
以长视频URL和短视频URL为例,由于长视频URL需要处理的周期是一天一轮,所以需要较快的速度处理,因此待处理长视频URL数据集对应的配额较高;而短视频URL需要处理的周期是一周一轮,所以处理的速度可以较慢,因此待处理短视频URL数据集对应的配额较低。假设待处理长视频URL对应的配额有10和20,那么配额为10的待处理长视频URL可以形成一个待处理长视频URL集合,配额为20的待处理长视频URL可以形成一个待处理长视频URL集合。假设待处理短视频URL对应的配额均为1,那么这些待处理短视频URL可以形成一个待处理短视频URL集合。
另外,同一个待处理数据集中待处理数据的格式可以是相同的,也可以是不同的。例如若待处理数据为视频,则同一个待处理数据集中视频的格式可以是AVI格式、ASF格式、WMV格式、MOV格式等等。
S102:基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据。
在本实施例中,第一缓存池是指存储目标数据的缓冲区,可以是RAM(Random-Access Memory,随机存取存储器)、内存条等。其中,目标数据为需要先被处理的待处理数据。
在本实施例中,从至少两个待处理数据集中选择出目标数据存放到第一缓存池中的规则是基于待处理数据集对应的配额。具体的,一个待处理数据集对应的配额越高,从该待处理数据集中选出的目标数据的个数越多;反之,对应的配额越低,从该待处理数据集中选出的目标数据的个数越少。从待处理数据集中选取的目标数据放入第一缓存池中,配额高的待处理数据集放入的目标数据的个数多,所以能够待处理数据集能够被以较快的速度进行处理;而配额低的待处理数据集放入的目标数据的个数少,所以能够待处理数据集能够被以较慢的速度进行处理,从而满足不同待处理数据集具有不同的处理速度的需求。
可选的,S102可以通过如下步骤来实现:
首先,计算所述待处理数据集对应的配额的最大公约数。可选的,可以计算所有的待处理数据集对应的配额的最大公约数。假设一共有五个待处理数据集,那么就计算这五个待处理数据集对应的配额的最大公约数。“所有”的含义还包括新待处理数据集,即如果当前产生了新的待处理数据集,那么就计算原待处理数据集和新待处理数据集的最大公约数。
然后,根据所述待处理数据集对应的配额和所述最大公约数,计算从所述待处理数据集中选取的目标数据的数量。例如,一个待处理数据集对应的要选取的目标数据的数量为所述待处理数据集对应配额与所述最大公约数的比值或该比值的预设倍数。
最后,按照计算得到的所述目标数据的数量从所述待处理数据集中选取所述目标数据。
在实际应用中,可以从所述待处理数据集中随机选取所述数量的目标数据,也可以按照一定顺序进行选取。例如,待处理数据集包括待处理长视频URL数据集和待处理短视频URL数据集,待处理长视频URL数据集URL配额为10,待处理短视频URL数据集URL的配额为2。待处理长视频URL数据集URL的配额和待处理短视频URL数据集URL的配额的最大公约数为2,那么,待处理长视频URL数据集URL每次存放到第一缓存池中的目标数据的数量可以为5个(10/2),待处理短视频URL数据集URL每次存放到第一缓存池中的目标数据的数量可以为1个(2/2)。这意味着待处理长视频URL数据集中长视频URL的处理速度是5个/次,而待处理短视频URL数据集中短视频URL的处理速度是1个/次。显然,待处理短视频URL数据集URL的处理速度快于待处理短视频URL数据集URL的处理速度,满足长视频URL的判定周期为一天一轮,短视频URL的判定周期为一周一轮的需求。
可选的,为了确保各个待处理数据集的处理速度,每当待处理数据集中待处理数据被选为目标数据存入第一缓存池中之后,可以将待处理数据集的这些待处理数据删除,当待处理数据集的所有待处理数据都被删除后,该待处理数据集就不复存在,不参与最大公约数的计算。
当然,还可以理解的是,上述实现方式并不构成对S102的限定,本领域技术人员还可以在基于上述基本思想的基础上采用其他实现方式,本申请不做具体限定。
S103:将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。
可选的,第一缓存池可以以队列(list)的形式存储目标数据。每个队列可以包括两个值:第一键(key)和第一值(value)。key的中文是键,value的中文是值,由key和value构成的存储形式叫键值对或键值项。键和值往往是一一对应的关系。在本实施例中,第一key中存储队列的队列名,第一值中存储所述目标数据。
为了在数据处理过程中能够识别出目标数据,队列名可以是目标数据的标识,例如目标数据所属任务的任务名和/或目标数据的原始存储地址。原始存储地址是指目标数据原始存储在磁盘或内存中的地址,它可以是所属文件的标识或所属数据库的标识等等,所属文件的标识可以是所属文件的文件名,所属数据库的标识可以是所属数据库的数据库位置。当然,队列名还可以是其他自定义名字,本领域技术人员可以自行设定。例如,将5个目标长视频URL和1个目标短视频URL存放到队列名为cache1的队列中。
可选的,目标数据可以被数据处理单元来处理。为了便于对目标数据进行处理,第一缓存池中的队列可以具有pop功能,即可以“弹出”队列中的预设数量的目标数据到目标数据处理单元,起到向目标数据处理单元发送队列中预设数量的目标数据和删除预设数量的目标数据的功能,其中预设数量小于或等于第一缓存池中存储的目标数据的数量。
当数据处理单元不止一个时,不同的数据处理单元可以根据自身需要发送pop请求,该请求中可以携带有需要pop的目标数据的预设数量和第一key。第一缓存池在接收到pop请求后,根据第一key找到相应的队列,并向对应的数据处理单元pop第一key的队列中预设量的目标数据,即预设量的第一值。
由于队列中的目标数据被pop出去之后,队列中目标数据的数量减少,所以可选的,第一缓存池中的队列还可以具有push功能,即可以在pop的同时,将后续从待处理数据集中选择出来的目标数据放到队列的末端,即通过将待pop出去的目标数据提前准备好,实现提高效率的目的。
可选的,队列能够最多存放的目标数据的个数称为队列的阈值,该阈值可以根据数据处理模块的处理速度进行确定,若数据处理单元的处理速度较高,那么阈值也应当相应较高,以避免队列处于供不应求的状况,影响数据处理单元的处理速度;若数据处理单元的处理速度较低,那么阈值也应当较低,以避免过多的占用第一缓存池的资源。
例如,假设死链处理单元处理一条URL的速度为秒级,那么队列cache1的阈值可以设置为目标数据的配额总数*60=(10+2)*60=720个,即队列cache1最多可以存放720个目标数据。
可选的,若第一缓存池存放的所述目标数据的个数少于或等于阈值,则基于所述多个待处理数据集分别对应的配额,从待处理数据集中选择目标数据,并逐个push到第一缓存池的队列中。
综上所述,本实施例通过获取待处理数据集和所述待处理数据集对应的配额,基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据,并将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。由于本实施例预先确定了待处理数据集的配额,只需要根据配额将目标数据存放待第一缓存池即可,减少数据处理过程中的步骤,提高了数据处理效率。此外,由于配额高的待处理数据集放入的目标数据的个数多,所以能够待处理数据集能够被以较快的速度进行处理;而配额低的待处理数据集放入的目标数据的个数少,所以能够待处理数据集能够被以较慢的速度进行处理,从而满足不同待处理数据集具有不同的处理速度的需求。
参见图2,该图为本申请实施例提供的另一种数据处理方法的流程图。
本实施例提供的数据处理方法包括如下步骤:
S201:获取待处理数据集和所述待处理数据集对应的配额。
所述待处理数据集至少包括两个,且至少两个所述待处理数据集对应的配额不同。
S201和S101相同,相关介绍请参见上文。
S202:将所述待处理数据集和所述待处理数据集对应的配额存储在第二缓存池中。
在本实施例中,参见图3,在从待处理数据集选择出目标数据之前,将所述待处理数据集和所述待处理数据集对应的配额存储在第二缓存池中,然后从第二缓存池中存储的待处理数据集中选出目标数据存入第一缓存池中,以便数据处理单元对目标数据进行处理。因为从磁盘中读取数据较慢,通过将磁盘中的待处理数据集提前存入第二缓存池,能够为第一缓存池更快的获取目标数据提供支持。可选的,如图3,第二缓存池可以存储在Redis数据库中。
可选的,第二缓存池可以以队列的形式进行存储,该队列可以包括第二键(key)、第二值(value)和分数(score)。
其中第二key存储队列的标识,所述队列的标识可以是待处理数据集的标识,所述待处理数据集的标识可以是所述待处理数据集对应的任务名、所述待处理数据集的原始存储地址或自定义标识等。
第二值存储所述待处理数据集中的各个待处理数据。除了待处理数据之外,第二值还可以存储数据集名,数据集名用于对处理后的待处理数据进行存储、更新或删除。举个例子,某个待处理长视频URL数据集原来存储在服务器A的文件夹B中,那么数据集名可以是文件夹B的文件名,当该待处理长视频URL数据集中的长视频URL被判定为死链,那么就可以根据该数据集名将文件夹B中存储的该长视频URL删除。或者,该待处理长视频URL数据集的数据集名还可以是服务器A中的文件夹C,当该长视频URL被判定为非死链,那么就可以将该长视频URL存储到文件夹C中。
需要注意的是,当第二值中存储有数据集名时,且第二key中存储有原始存储地址,那么第二key中的原始存储地址可以不为第二值中的数据集名。例如,第二key可以是服务器A的名称。
所述分数存储所述待处理数据集对应的配额。一个待处理数据集可以对应一个分数。
在本实施例中,待处理数据可以存储在磁盘中的原始文件中,待处理数据的配额可以存储在原始文件的配置文件中,也可以存储在原始文件的文件名中。后者适用于一个原始文件中存储的待处理数据的配额均相同的情况。
可选的,配额的获取方式可以是读取待处理数据集中的待处理数据在磁盘中所属的原始文件,从该原始文件的配置文件中提取配额,或从该原始文件的文件名中提取配额,并将提取出来的配额存储在所述分数中。
若配额从原始文件的配置文件中提取,首先获取第一原始文件和所述第一原始文件的配置文件,所述第一原始文件中存储有多个待处理数据,所述配置文件中存储有所述多个待处理数据对应的配额。然后,根据所述多个待处理数据对应的配额,确定待处理数据集和所述待处理数据集对应的配额。
若配额从原始文件的文件名中提取,首先获取第二原始文件,所述第二原始文件的文件名中携带有各自的配额。然后根据所述多个待处理数据对应的配额,确定待处理数据集和所述待处理数据集对应的配额。
可选的,第二缓存池中的队列可以是按照分数由大到小或由小到大的顺序进行排序,形成有序集合。
例如,参见图4,假设有长视频文件file1和file2,file1中存储配额为20的长视频URL,file2中存储配额为10的长视频URL。假设还有短视频文件file3,file3中存储有配额为1的短视频URL。那么从file1中可以提取出配额为20的长视频URL形成第一个队列,从file2中提取出配额为10的长视频URL形成第二个队列,从file3中提取出配额为1的短视频URL形成第三个队列,这三个队列按照配额由大到小的顺序进行排序,从而形成有序集合。
另外,第二缓存池的大小与第二缓存池所在的内存的大小相关,不需要将所有的待处理数据集都一次性放入第二缓存池,至需要存放足够补充第一缓存池的数据量即可。
此外,在从磁盘读取待处理数据时,可以多线程并行读取,也可以单线程串行读取,不管是哪种方式,都应当保证在有限时间内多个数据集均被读取到,避免长时间只读取一个数据集的情况。因为一个数据集对应一个配额,如果长时间仅读取一个数据集,那么第二缓存池中就只存有一个配额对应的待处理数据集,不利于目标数据的及时选取。
S203:基于所述第二缓存池中的分数,从所述第二值存储的所述待处理数据集中选择所述目标数据。
第二缓存池中的分数存储有待处理数据集的配额,所以在本实施例中,基于第二缓存池中的分数,从所述第二值存储的待处理数据集中选择目标数据。选择的原则仍然是配额越高,选出的该配额对应的目标数据的数量越多;配额越低,选出的该配额对应的目标数据的数量越少,此处不再赘述。
在本实施例中,如图3所示,第二缓存池可以存储在Redis数据库中。如前文所述,目标数据可以从待处理数据集中随机选择,那么在Redis数据库中可以通过调用如下接口来随机取出目标数据:Redisdb.readsortsetbyscore(key,score,randomnum,n),其中n为目标数据的数量。
S204:将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。
本实施例通过将待处理数据预先存储在第二缓存池中,使得第一缓存池能尽快的从第二缓存池中获取到目标数据,提高效率。
另外,可选的,如果第一缓存池和第二缓存池在不同的内存中,则同一个目标数据在第一缓存池中对应的第一key和在第二缓存池中对应的第二key可以相同,即在从第二缓存池中选择出目标数据后,可以根据该目标数据对应的第二key找到第一缓存池中与第二key相同的第一key,并把该目标数据存储在该相同的第一key的队列中。
如果第一缓存池和第二缓存池在相同的内存中,因为在一个内存中不允许出现两个一样的key,所以同一个目标数据在第一缓存池中对应的第一key和在第二缓存池中对应的第二key是不相同的,在这种情况下,需要构建第一key和第二key之间的映射关系。也就是说,在从第一缓存池中选择出目标数据之后,根据该目标数据对应的第二key,以及映射关系,找到与第二key对应的第一key,并将目标数据存储到该第一key对应的队列中。
基于以上实施例提供的一种数据处理方法,本申请实施例还提供了一种数据处理装置,下面结合附图来详细说明其工作原理。
参见图5,该图为本申请实施例提供的一种数据处理装置的结构框图。
本实施例提供的数据处理装置包括:
获取单元101、选择单元102和第一存储单元103;
其中,所述获取单元101,用于获取待处理数据集和所述待处理数据集对应的配额,所述待处理数据集至少包括两个,且至少两个所述待处理数据集对应的配额不同;
所述选择单元102,用于基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据;
所述第一存储单元103,用于将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。
可选的,所述选择单元包括:
第一计算单元、第二计算单元和选取单元;
其中,所述第一计算单元,用于计算所述待处理数据集对应的配额的最大公约数;
所述第二计算单元,用于根据所述待处理数据集对应的配额和所述最大公约数,计算从所述待处理数据集中选取的目标数据的数量;
所述选取单元,用于按照计算得到的所述目标数据的数量从所述待处理数据集中选取所述目标数据。
可选的,所述装置还包括:
删除单元,用于当所述待处理数据集中不存在数据时,将所述待处理数据集删除。
可选的,所述选择单元,具体用于若所述第一缓存池存放的所述目标数据的数量少于或等于预设阈值,则基于所述待处理数据集对应的配额,从所述待处理数据集中选择所述目标数据。
可选的,所述装置还包括:
第二存储单元,用于将所述待处理数据集和所述待处理数据集对应的配额存储在第二缓存池中,所述第二缓存池包括第二值和分数,其中所述第二值存储所述待处理数据集,所述分数存储所述待处理数据集对应的配额。
可选的,所述选择单元,还用于:
基于所述第二缓存池中的分数,从所述第二值存储的所述待处理数据集中选择所述目标数据。
可选的,所述获取单元,具体用于:
获取第一原始文件和所述第一原始文件的配置文件,所述第一原始文件中存储有多个待处理数据,所述配置文件中存储有所述多个待处理数据对应的配额;根据所述多个待处理数据对应的配额,确定待处理数据集和所述待处理数据集对应的配额。
可选的,所述获取单元,具体用于:
获取第二原始文件,所述第二原始文件的文件名中携带有各自的配额;根据所述多个待处理数据对应的配额,确定待处理数据集和所述待处理数据集对应的配额。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种数据处理设备300的框图。例如,设备300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,设备300可以包括以下一个或多个组件:处理组件302,存储器304,电源组件306,多媒体组件308,音频组件310,输入/输出(I/O)的接口312,传感器组件314,以及通信组件316。
处理组件302通常控制设备300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件302可以包括一个或多个处理器320来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件302可以包括一个或多个模块,便于处理组件302和其他组件之间的交互。例如,处理部件302可以包括多媒体模块,以方便多媒体组件303和处理组件302之间的交互。
存储器304被配置为存储各种类型的数据以支持在设备300的操作。这些数据的示例包括用于在设备300上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件306为设备300的各种组件提供电力。电源组件306可以包括电源管理系统,一个或多个电源,及其他与为设备300生成、管理和分配电力相关联的组件。
多媒体组件308包括在所述设备300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件308包括一个前置摄像头和/或后置摄像头。当设备300处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件310被配置为输出和/或输入音频信号。例如,音频组件310包括一个麦克风(MIC),当设备300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器304或经由通信组件316发送。在一些实施例中,音频组件310还包括一个扬声器,用于输出音频信号。
I/O接口312为处理组件302和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件314包括一个或多个传感器,用于为设备300提供各个方面的状态评估。例如,传感器组件314可以检测到设备300的打开/关闭状态,组件的相对定位,例如所述组件为设备300的显示器和小键盘,传感器组件314还可以检测设备300或设备300一个组件的位置改变,用户与设备300接触的存在或不存在,设备300方位或加速/减速和设备300的温度变化。传感器组件314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件314还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件316被配置为便于设备300和其他设备之间有线或无线方式的通信。设备300可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件316还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,设备300可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器304,上述指令可由设备300的处理器320执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种数据处理方法,其特征在于,所述方法包括:
获取待处理数据集和所述待处理数据集对应的配额,所述待处理数据集至少包括两个,且至少两个所述待处理数据集对应的配额不同;
基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据;
将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据包括:
计算所述待处理数据集对应的配额的最大公约数;
根据所述待处理数据集对应的配额和所述最大公约数,计算从所述待处理数据集中选取的目标数据的数量;
按照计算得到的所述目标数据的数量从所述待处理数据集中选取所述目标数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述待处理数据集中不存在数据时,将所述待处理数据集删除。
4.根据权利要求1所述的方法,其特征在于,所述基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据包括:
若所述第一缓存池存放的所述目标数据的数量少于或等于预设阈值,则基于所述待处理数据集对应的配额,从所述待处理数据集中选择所述目标数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述待处理数据集和所述待处理数据集对应的配额存储在第二缓存池中,所述第二缓存池包括第二值和分数,其中所述第二值存储所述待处理数据集,所述分数存储所述待处理数据集对应的配额。
6.根据权利要求5所述的方法,其特征在于,所述基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据包括:
基于所述第二缓存池中的分数,从所述第二值存储的所述待处理数据集中选择所述目标数据。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述获取待处理数据集和所述待处理数据集对应的配额包括:
获取第一原始文件和所述第一原始文件的配置文件,所述第一原始文件中存储有多个待处理数据,所述配置文件中存储有所述多个待处理数据对应的配额;
根据所述多个待处理数据对应的配额,确定待处理数据集和所述待处理数据集对应的配额。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述获取多个待处理数据集和所述多个待处理数据集分别对应的配额包括:
获取第二原始文件,所述第二原始文件的文件名中携带有各自的配额;
根据所述多个待处理数据对应的配额,确定待处理数据集和所述待处理数据集对应的配额。
9.一种数据处理装置,其特征在于,所述装置包括:
获取单元、选择单元和第一存储单元;
其中,所述获取单元,用于获取待处理数据集和所述待处理数据集对应的配额,所述待处理数据集至少包括两个,且至少两个所述待处理数据集对应的配额不同;
所述选择单元,用于基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据;
所述第一存储单元,用于将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。
10.一种数据处理设备,其特征在于,所述设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取待处理数据集和所述待处理数据集对应的配额,所述待处理数据集至少包括两个,且至少两个所述待处理数据集对应的配额不同;
基于所述待处理数据集对应的配额,从所述待处理数据集中选择目标数据;
将所述目标数据存放到第一缓存池中,以对所述目标数据进行处理。
11.一种机器可读存储介质,其上存储有指令,其特征在于,当由一个或多个处理器执行时,使得装置执行如权利要求1至8中一个或多个所述数据处理方法。
CN201710940348.2A 2017-09-30 2017-09-30 一种数据处理方法、装置及设备和存储介质 Active CN110019358B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710940348.2A CN110019358B (zh) 2017-09-30 2017-09-30 一种数据处理方法、装置及设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710940348.2A CN110019358B (zh) 2017-09-30 2017-09-30 一种数据处理方法、装置及设备和存储介质

Publications (2)

Publication Number Publication Date
CN110019358A true CN110019358A (zh) 2019-07-16
CN110019358B CN110019358B (zh) 2021-08-24

Family

ID=67186603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710940348.2A Active CN110019358B (zh) 2017-09-30 2017-09-30 一种数据处理方法、装置及设备和存储介质

Country Status (1)

Country Link
CN (1) CN110019358B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080295105A1 (en) * 2007-05-22 2008-11-27 Arm Limited Data processing apparatus and method for managing multiple program threads executed by processing circuitry
CN101667198A (zh) * 2009-09-18 2010-03-10 浙江大学 实时垂直搜索引擎对象缓存优化方法
CN102053859A (zh) * 2009-11-09 2011-05-11 中国移动通信集团甘肃有限公司 批量数据处理的方法与装置
US20120079487A1 (en) * 2010-09-29 2012-03-29 Microsoft Corporation Subscriber-Based Ticking Model for Platforms
CN103944917A (zh) * 2014-05-04 2014-07-23 中山大学 一种应用于微博社交网络的视频分发优化方法
CN104199790A (zh) * 2014-08-21 2014-12-10 北京奇艺世纪科技有限公司 数据处理方法及装置
US20150206371A1 (en) * 2012-10-09 2015-07-23 Grg Banking Equipment Co., Ltd. Cash replenishment method for financial self-service equipment
CN106156038A (zh) * 2015-03-26 2016-11-23 腾讯科技(深圳)有限公司 数据存储方法和装置
CN107092632A (zh) * 2017-02-09 2017-08-25 北京小度信息科技有限公司 数据处理方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080295105A1 (en) * 2007-05-22 2008-11-27 Arm Limited Data processing apparatus and method for managing multiple program threads executed by processing circuitry
CN101667198A (zh) * 2009-09-18 2010-03-10 浙江大学 实时垂直搜索引擎对象缓存优化方法
CN102053859A (zh) * 2009-11-09 2011-05-11 中国移动通信集团甘肃有限公司 批量数据处理的方法与装置
US20120079487A1 (en) * 2010-09-29 2012-03-29 Microsoft Corporation Subscriber-Based Ticking Model for Platforms
US20150206371A1 (en) * 2012-10-09 2015-07-23 Grg Banking Equipment Co., Ltd. Cash replenishment method for financial self-service equipment
CN103944917A (zh) * 2014-05-04 2014-07-23 中山大学 一种应用于微博社交网络的视频分发优化方法
CN104199790A (zh) * 2014-08-21 2014-12-10 北京奇艺世纪科技有限公司 数据处理方法及装置
CN106156038A (zh) * 2015-03-26 2016-11-23 腾讯科技(深圳)有限公司 数据存储方法和装置
CN107092632A (zh) * 2017-02-09 2017-08-25 北京小度信息科技有限公司 数据处理方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YOGEV SITTON: "Grand Central Dispatch Crash Course for Swift", 《HTTPS://MEDIUM.COM/MODERNNERD-CODE/GRAND-CENTRAL-DISPATCH-CRASH-COURSE-FOR-SWIFT-3-8BF2652C1CB8》 *
张蓉蓉: "P2P点播流媒体传输机制研究及仿真", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
李想: "大规模数据聚类中的权重抽样方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
CN110019358B (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
US11385778B2 (en) Inline message alert
US11275489B2 (en) Method and apparatus for uploading photographed file
EP2892208B1 (en) Method and apparatus for operating electronic device
CN109683714B (zh) 多媒体资源管理方法、装置及存储介质
US9276883B2 (en) Information collection, storage, and sharing platform
KR102015534B1 (ko) 복수의 단말들간의 메시지 싱크 방법, 기계로 읽을 수 있는 저장 매체 및 서버
AU2015418786B2 (en) Multimedia file management method, electronic device, and graphical user interface
CN106302996B (zh) 消息显示方法及装置
KR20140120712A (ko) 발신자 전화번호를 이용한 부가 정보 제공 장치 및 방법
CN105190520A (zh) 用于使能触摸的设备的悬停手势
JP2013507882A (ja) ユーザーデータエントリーのアプリケーションへのルーティング方法及び装置
CN103543941A (zh) 在移动装置中提供剪贴板功能的方法和设备
CN103813007A (zh) 移动终端及其控制方法
US8868550B2 (en) Method and system for providing an answer
US20140324946A1 (en) Platform for sharing collected information with third-party applications
US10848558B2 (en) Method and apparatus for file management
CN106649784A (zh) 图片存储方法、图片查找方法、装置及终端
CN108572979A (zh) 一种位置服务方法和装置、一种用于位置服务的装置
CN110286775A (zh) 一种词库管理方法及装置
CN105488074A (zh) 照片聚类的方法及装置
CN110019358A (zh) 一种数据处理方法、装置及设备和存储介质
CN109800019A (zh) 代码管理方法、系统、电子设备和计算机可读存储介质
KR101752413B1 (ko) 이동 단말기 및 그 제어 방법
WO2018094930A1 (zh) 基于屏幕图像的用户行为获取方法及终端
CN107483605A (zh) 文件下载方法及装置、存储介质

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