本发明实施例涉及数据处理,具体涉及一种曝光量处理方法、装置、计算设备及存储介质。
背景技术:
1、随着科技及社会的不断发展,各类互联网服务的出现极大丰富了人们的工作与生活。许多互联网服务为用户提供了丰富的展示资源,展示资源的曝光量是互联网服务中的一项重要指标,记录曝光量对资源展示策略的选取以及用户体验的提升等具有十分重要的意义。
2、展示资源的曝光量是展示资源被用户浏览的次数,目前每当用户浏览一次展示资源便会在数据库中更新一次该展示资源的曝光量。然而,在展示资源较多、用户活跃度较高等情况下,大量的数据库曝光量更新操作需要并发进行,从而对互联网服务系统的可靠性、业务处理效率等造成不利影响。
技术实现思路
1、鉴于现有技术中存在互联网服务系统的可靠性和/或业务处理效率较低的技术问题,提出了本发明实施例,以便提供一种克服上述问题或者至少部分地解决上述问题的曝光量处理方法、装置、计算设备及存储介质。
2、根据本发明实施例的第一方面,提供了一种曝光量处理方法,包括:
3、响应于接收到的目标资源的曝光事件,在所述目标资源对应的第一数据集合中生成所述曝光事件对应的事件记录;
4、在所述第一数据集合中的事件记录满足第一预设条件时,对所述第一数据集合中的事件记录进行聚合后生成所述第一数据集合的聚合结果;
5、利用所述聚合结果更新缓存中所述目标资源的曝光量;
6、在所述目标资源对应的第二数据集合中生成所述聚合结果对应的聚合记录,在所述第二数据集合中的聚合记录满足第二预设条件时,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量。
7、在一种可选的实施方式中,在所述目标资源对应的第一数据集合中生成所述曝光事件对应的事件记录之前,所述方法还包括:根据所述目标资源的资源标识,确定所述目标资源对应的第一数据集合;
8、在所述目标资源对应的第二数据集合中生成所述聚合结果对应的聚合记录之前,所述方法还包括:根据所述目标资源的资源标识,确定所述目标资源对应的第二数据集合。
9、在一种可选的实施方式中,所述在所述第一数据集合中的事件记录满足第一预设条件时,对所述第一数据集合中的事件记录进行聚合后生成所述第一数据集合的聚合结果进一步包括:
10、在所述目标资源对应的第一数据集合中事件记录的数量达到第一数量阈值时,对所述第一数据集合中的事件记录进行聚合后生成所述第一数据集合的聚合结果;
11、和/或,在所述目标资源对应的第一数据集合中最早的事件记录的记录时间与当前时间的时间间隔达到第一时间阈值时,对所述第一数据集合中的事件记录进行聚合后生成所述第一数据集合的聚合结果。
12、在一种可选的实施方式中,所述在所述第二数据集合中的聚合记录满足第二预设条件时,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量进一步包括:
13、在所述目标资源对应的第二数据集合中聚合记录的数量达到第二数量阈值时,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量;
14、和/或,在所述目标资源对应的第二数据集合中最早的聚合记录的记录时间与当前时间的时间间隔达到第二时间阈值时,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量。
15、在一种可选的实施方式中,在所述生成所述第一数据集合的聚合结果之后,所述方法还包括:清空所述第一数据集合中的事件记录;
16、在所述根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量之后,所述方法还包括:清空所述第二数据集合中的聚合记录。
17、在一种可选的实施方式中,在所述利用所述聚合结果更新缓存中所述目标资源的曝光量之前,所述方法还包括:
18、判断所述缓存中是否记录有所述目标资源的曝光量;
19、若否,则从所述数据库中查询所述目标资源的曝光量,并将查询到的所述目标资源的曝光量记录于所述缓存中。
20、在一种可选的实施方式中,所述在所述第二数据集合满足第二预设条件时,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量进一步包括:
21、在所述第二数据集合满足第二预设条件时,判断所述数据库是否处于操作限制状态;
22、若是,在限制集合中记录所述目标资源的资源标识,并在所述数据库未处于操作限制状态时,从所述限制集合中获取目标资源的资源标识,利用所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量;
23、若否,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量。
24、在一种可选的实施方式中,在所述生成所述第一数据集合的聚合结果之后,所述方法还包括:消息中间件将生成的所述第一数据集合的聚合结果记录于消息中间件的目标资源对应的第三数据集合中;
25、在所述利用生成的聚合结果更新缓存中所述目标资源的曝光量之前,所述方法还包括:从所述消息中间件的第三数据集合中提取聚合结果。
26、在一种可选的实施方式中,所述第一数据集合和/或所述第二数据集合位于消息中间件中;
27、所述响应于接收到的目标资源的曝光事件,在所述目标资源对应的第一数据集合中生成所述曝光事件对应的事件记录进一步包括:响应于接收到的目标资源的曝光事件,向消息中间件发送所述曝光事件,以供消息中间件响应于接收到的目标资源的曝光事件,在消息中间件的目标资源对应的第一数据集合中生成所述曝光事件对应的事件记录,以及在所述第一数据集合中的事件记录满足第一预设条件时,对所述第一数据集合中的事件记录进行聚合后生成所述第一数据集合的聚合结果,并且在消息中间件的所述目标资源对应的第二数据集合中生成所述聚合结果对应的聚合记录,并使消息中间件在第二数据集合满足第二预设条件时生成预设完成标识;
28、所述利用所述聚合结果更新缓存中所述目标资源的曝光量进一步包括:获取消息中间件中目标资源的聚合记录,根据所述聚合记录更新缓存中所述目标资源的曝光量;
29、所述根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量进一步包括:获取到消息中间件中的预设完成标识,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量。
30、根据本发明实施例的第二方面,提供了一种曝光量处理装置,包括:
31、第一处理模块,用于响应于接收到的目标资源的曝光事件,在所述目标资源对应的第一数据集合中生成所述曝光事件对应的事件记录;在所述第一数据集合中的事件记录满足第一预设条件时,对所述第一数据集合中的事件记录进行聚合后生成所述第一数据集合的聚合结果;
32、第一更新模块,用于利用所述聚合结果更新缓存中所述目标资源的曝光量;
33、第二处理模块,用于在所述目标资源对应的第二数据集合中生成所述聚合结果对应的聚合记录;
34、第二更新模块,用于在所述第二数据集合中的聚合记录满足第二预设条件时,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量。
35、在一种可选的实施方式中,第一处理模块用于:根据所述目标资源的资源标识,确定所述目标资源对应的第一数据集合;
36、第二处理模块用于:根据所述目标资源的资源标识,确定所述目标资源对应的第二数据集合。
37、在一种可选的实施方式中,第一处理模块用于:在所述目标资源对应的第一数据集合中事件记录的数量达到第一数量阈值时,对所述第一数据集合中的事件记录进行聚合后生成所述第一数据集合的聚合结果;
38、和/或,在所述目标资源对应的第一数据集合中最早的事件记录的记录时间与当前时间的时间间隔达到第一时间阈值时,对所述第一数据集合中的事件记录进行聚合后生成所述第一数据集合的聚合结果。
39、在一种可选的实施方式中,第二更新模块用于:在所述目标资源对应的第二数据集合中聚合记录的数量达到第二数量阈值时,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量;
40、和/或,在所述目标资源对应的第二数据集合中最早的聚合记录的记录时间与当前时间的时间间隔达到第二时间阈值时,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量。
41、在一种可选的实施方式中,第一处理模块用于:在所述生成所述第一数据集合的聚合结果之后,清空所述第一数据集合中的事件记录;
42、第二更新模块用于:在所述根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量之后,清空所述第二数据集合中的聚合记录。
43、在一种可选的实施方式中,第一更新模块用于:判断所述缓存中是否记录有所述目标资源的曝光量;
44、若否,则从所述数据库中查询所述目标资源的曝光量,并将查询到的所述目标资源的曝光量记录于所述缓存中。
45、在一种可选的实施方式中,第二更新模块用于:在所述第二数据集合中的聚合记录满足第二预设条件时,判断所述数据库是否处于操作限制状态;
46、若是,在限制集合中记录所述目标资源的资源标识,并在所述数据库未处于操作限制状态时,从所述限制集合中获取目标资源的资源标识,利用所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量;
47、若否,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量。
48、在一种可选的实施方式中,消息中间件将所述聚合结果记录于消息中间件的目标资源对应的第三数据集合中;
49、第一更新模块用于:从所述消息中间件的第三数据集合中提取聚合结果。
50、在一种可选的实施方式中,所述第一数据集合和/或所述第二数据集合位于消息中间件中;消息中间件响应于接收到的目标资源的曝光事件,在消息中间件的目标资源对应的第一数据集合中生成所述曝光事件对应的事件记录,以及在所述第一数据集合中的事件记录满足第一预设条件时,对所述第一数据集合中的事件记录进行聚合后生成所述第一数据集合的聚合结果,并且在消息中间件的所述目标资源对应的第二数据集合中生成所述聚合结果对应的聚合记录,并使消息中间件在第二数据集合中的聚合记录满足第二预设条件时生成预设完成标识;
51、第一更新模块用于:获取消息中间件中目标资源的聚合记录,根据所述聚合记录更新缓存中所述目标资源的曝光量;
52、第二更新模块用于:获取到消息中间件中的预设完成标识,根据所述缓存中目标资源的曝光量更新数据库中目标资源的曝光量。
53、根据本发明实施例的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
54、所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述曝光量处理方法对应的操作。
55、根据本发明实施例的第四方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行上述曝光量处理方法对应的操作。
56、本发明实施例在接收到目标资源的曝光事件之后先在第一数据集合中记录该曝光事件,待第一数据集合中的事件记录满足第一预设条件时对记录的曝光事件进行初次聚合以得到聚合结果,并在第二数据集合中记录生成的聚合结果,待第二数据集合满足第二预设条件时进行数据库中目标资源的曝光量的更新,从而能够降低对数据库的操作次数,减少对数据库的操作并发,保障系统整体的稳定性和业务处理性能;而且每次生成聚合结果后及时更新缓存中目标资源的曝光量,便于后续向用户反馈缓存中的曝光量,保障用户能够及时查看到目标资源曝光量的更新,提升用户体验。
57、本发明实施例根据资源标识进行数据集合划分,能够保障数据集合的准确性,保障资源标识与数据集合的对应关系。
58、本发明实施例根据数据集合中的记录数量来确定是否满足预设条件,从而简化预设条件的判断逻辑,提升整体的处理效率;还可以根据数据集合中记录在数据集合中的等待时长来确定是否满足预设条件,从而能够减少曝光量更新的延迟,提升用户体验。
59、本发明实施例在满足预设条件后清空相应数据集合中的记录,避免某一记录被多次处理,提升曝光量处理的精度。
60、本发明实施例在更新缓存中曝光量时,先判断是否存在资源的缓存数据,在不存在时构建该资源的缓存数据,从而保障缓存中资源曝光量的记录精度。
61、本发明实施例在数据库处于操作限制状态时,先记录未成功更新的资源标识,并后续进行数据回刷,避免数据库中曝光量与缓存中曝光量存在较大延迟。
62、本发明实施例第一数据集合和第二数据集合可以位于内存中,从而能够提升事件记录和聚合结果的读写速度,从而提升曝光量处理效率。
63、本发明实施例第一数据集合和第二数据集合还可以位于消息中间件中,从而能够节约系统内存资源,并能够降低处理工具与消息中间件之间的频繁数据交互,有利于提升整体的执行效率。
64、上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。