本技术涉及数据处理,具体涉及一种数据处理方法、装置、电子设备和计算机可读存储介质。
背景技术:
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、即在本技术实施例中,缓存中的映射关系只存储了相邻的候选块行为数据的目标用户的候选相邻用户行为数据,或只存储了相邻的后续块行为数据的后续用户的后续相邻用户的行为数据,即缓存中的映射关系只存储了相邻的块数据的用户的相邻用户的行为数据,无需存储原始数据中所有用户的相邻用户的行为数据,节省了相邻用户的行为数据占用的缓存。