一种数据处理方法、装置、设备和存储介质与流程

文档序号:17721821发布日期:2019-05-22 02:13阅读:124来源:国知局
一种数据处理方法、装置、设备和存储介质与流程

本发明实施例涉及数据统计技术,尤其涉及一种数据处理方法、装置、设备和存储介质。



背景技术:

随着计算机技术的发展,越来越多的网站选择使用redis来布局信息,redis作为一个高性能的键值对(key-value)数据库,为数据统计提供了很多便利。

在现有技术中,网站每收到一条数据都需要与数据库中全部数据进行综合处理,以获得用户需求的数据。同时,每一次与数据库中全部数据进行综合处理,都需要两次网络交互,当数据量很大时,网络交互的时间成本会很大,不仅容易造成网络拥塞,还会导致不能实时获得数据交互的问题。



技术实现要素:

本发明提供一种数据处理方法、装置、设备和存储介质,以解决网站每收到一条数据都需要与数据库中全部数据进行综合处理,以获得用户需求的数据的问题。

第一方面,本发明实施例提供了一种数据处理方法,包括:

确定用户操作数据;

从所述用户操作数据中确定键和值;

根据所述用户操作数据的键从两个以上的缓存空间中确定目标空间;

在所述目标空间中,按照预设的处理目标将所述用户操作数据的值写入所述用户操作数据的键对应的候选集合;

若符合预设的处理条件,则按照所述处理目标对所述候选集合中的用户操作数据的值进行处理。

在此基础上,每个缓存空间具有空间编号;

所述根据所述用户操作数据的键从两个以上的缓存空间中确定目标空间,包括:

对所述用户操作数据的键进行处理,获得数据编号;

当所述空间编号与所述数据编号匹配时,将与所述数据编号对应的缓存空间确定为目标空间。

在此基础上,所述处理目标包括去重处理;

所述在所述目标空间中,按照预设的处理目标将所述用户操作数据的值写入所述用户操作数据的键对应的候选集合,包括:

在所述目标空间中,确定所述用户操作数据的键对应的候选集合;

判断所述候选集合中的值与所述用户操作数据的值是否相同;

若是,则忽略所述用户操作数据的值;

若否,则将所述用户操作数据的值写入所述候选集合。

在此基础上,每个所述缓存空间在数据库中分配有存储分区;

所述按照所述处理目标对所述候选集合中的用户操作数据的值进行处理,包括:

从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合;

判断所述目标集合的值中与所述候选集合中的值是否相同;

若是,则忽略所述候选集合中的值,以确定所述目标集合中值的个数;

若否,则将所述候选集合中的值写入所述目标集合,以确定所述目标集合中值的个数。

在此基础上,所述去重处理包括第一类型的去重处理与第二类型的去重处理;

第一类型的去重处理包括构建字符串类型的候选集合,所述候选集合中的值为用户标识号;

第二类型的去重处理包括构建基数统计类型的候选集合,所述候选集合中的值为经过简化处理的用户标识号。

在此基础上,所述用户操作数据的值包括数字,所述处理目标为获取最大值处理;

所述在所述目标空间中,按照预设的处理目标将所述用户操作数据的值写入所述用户操作数据的键对应的候选集合,包括:

在所述目标空间中,确定所述用户操作数据的键对应的候选集合;

判断所述用户操作数据的值是否大于所述候选集合中的值;

若是,则将所述用户操作数据的值写入所述候选集合;

若否,则忽略所述用户操作数据的值。

在此基础上,每个缓存空间在数据库中有对应的存储分区;

所述按照所述处理目标对所述候选集合中的用户操作数据的值进行处理,包括:

从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合;

判断所述候选集合中的值是否大于目标集合中的值;

若是,则将所述候选集合中的值写入所述目标集合,以确定所述目标集合中值的最大值;

若否,则忽略所述候选集合中的值,以确定所述目标集合中值的最大值。

在此基础上,所述用户操作数据的值包括数字,所述处理目标为获取最小值处理;

所述在所述目标空间中,按照预设的处理目标将所述用户操作数据的值写入所述用户操作数据的键对应的候选集合,包括:

在所述目标空间中,确定所述用户操作数据的键对应的候选集合;

判断所述用户操作数据的值是否小于候选集合中的值;

若是,则将所述用户操作数据的值写入所述候选集合;

若否,则忽略所述用户操作数据的值。

在此基础上,每个所述缓存空间在数据库中有对应的存储分区;

所述按照所述处理目标对所述候选集合中的用户操作数据的值进行处理,包括:

从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合;

判断所述候选集合中的值是否小于目标集合中的值;

若是,则将所述候选集合中的值写入所述目标集合,以确定所述目标集合中值的最小值;

若否,则忽略所述候选集合中的值,以确定所述目标集合中值的最小值。

在此基础上,所述用户操作数据的值包括数字,所述处理目标包括求和处理;

所述在所述目标空间中,按照预设的处理目标将所述用户操作数据的值写入所述用户操作数据的键对应的候选集合,包括:

在所述目标空间中,确定所述用户操作数据的键对应的候选集合;

将所述用户操作数据的值写入所述候选集合;

计算所述候选集合中的值的和,以确定第一数值。

在此基础上,每个所述缓存空间在数据库中有对应的存储分区;

所述按照所述处理目标对所述候选集合中的用户操作数据的值进行处理,包括:

从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合;

将所述候选集合中的第一数值写入所述目标集合;

计算所述目标集合中的值的和,以确定第二数值。

第二方面,本发明实施例还提供了一种数据处理装置,包括:

操作数据确定模块,用于确定用户操作数据;

键值确定模块,用于从所述用户操作数据中确定键和值;

目标空间确定模块,用于根据所述用户操作数据的键从两个以上的缓存空间中确定目标空间;

候选集合写入模块,用于在所述目标空间中,按照预设的处理目标将所述用户操作数据的值写入所述用户操作数据的键对应的候选集合;

值处理模块,用于若符合预设的处理条件,则按照所述处理目标对所述候选集合中的用户操作数据的值进行处理。

第三方面,本发明实施例还提供了一种电子设备,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如任一实施例所述的一种数据处理方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如任一实施例所述的一种数据处理方法。

本发明通过从用户操作数据中确定键和值;根据用户操作数据的键从两个以上的缓存空间中确定目标空间;在目标空间中,按照预设的处理目标将用户操作数据的值写入用户操作数据的键对应的候选集合;在符合预设的处理条件时,按照处理目标对候选集合中的用户操作数据的值进行处理,以获得用户需求的数据。解决每一条数据都会实时进行两次网络交互造成的时间成本大、不仅容易造成网络拥塞,还会导致不能实时获得数据交互的问题,实现了首先在缓存空间中对用户操作数据进行第一次处理,然后在符合预设的处理条件时,在候选集合中对用户操作数据进行第二次处理。通过对用户操作数据进行分散处理达到了减少了网络交互频率的有益效果。

附图说明

图1a为本发明实施例一提供的一种数据处理方法的流程图;

图1b为本发明实施例一提供的目标空间中的集合的示意图;

图1c为本发明实施例一提供的按照处理目标对候选集合中的值进行处理前的数据存储格式示意图;

图2为本发明实施例二提供的一种数据处理方法的流程图;

图3为本发明实施例三提供的一种数据处理方法的流程图;

图4为本发明实施例四提供的一种数据处理方法的流程图

图5为本发明实施例五提供的一种数据处理方法的流程图;

图6为本发明实施例六提供的一种数据处理装置的结构图;

图7为本发明实施例七提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1a为本发明实施例一提供的一种数据处理方法的流程图。本实施例可适用于首先对目标空间中的用户操作数据进行处理、然后对候选集合中的用户操作数据进行处理的场景。该方法可以由一种数据处理装置来执行,该装置可以由软件和/或硬件的方式实现,通常配置于电子设备中,典型的是设置在处理器中。参考图1a,该方法具体包括:

s101、确定用户操作数据。

用户操作数据是指用户与网站交互时产生的记录。确定用户操作数据是指分析用户与网站交互时产生的记录的格式,确定格式中不同字节段对应的不同内容。

如:某运营人员a运营一个网站,该网站每时每刻都有可能有x个不同用户,从不同地域访问。运营人员想知道每分钟每个省访问该网站的用户数,以搭配相应的运营策略。用户每次与网站交互,都产生这样格式的记录:时间,用户id,省份。如:2018-11-1716:05:10,user1,guangdong。这就是用户操作数据。

s102、从所述用户操作数据中确定键和值。

键值对(key=value)表现了键与值之间的对应关系,一个键可以对应于一个或多个值。

从用户操作数据对应的字节段中选定一部分作为用户操作数据中的键,再选择一部分作为用户操作数据中的值,建立用户操作数据中的键与值的对应关系。

用户操作数据中的键和值是本领域技术人员根据实际的业务情况进行选择的,本实施例对此不加以限制。

s103、根据所述用户操作数据的键从两个以上的缓存空间中确定目标空间。

用户操作数据的键经过一系列处理后,可以映射到一个缓存空间,该被映射到的缓存空间就是用户操作数据的键的目标空间。这一系列处理是固定的,不需要添加随机数,因此,用户操作数据的键每次映射到的缓存空间也是固定的。

可以对户操作数据的键进行处理获得目标空间的具体方式可以为:轮循算法(roundrobin)、哈希算法(hash)、最少连接算法(leastconnection)、响应速度算法(responsetime)、加权法(weighted)等。

s104、在所述目标空间中,按照预设的处理目标将所述用户操作数据的值写入所述用户操作数据的键对应的候选集合。

预设的处理目标是指需要对用户操作数据进行的操作,一般可能是要对用户操作数据进行去重、获取最大值、获取最小值或者求和处理,等等。

图1b为本发明实施例一提供的目标空间中的集合的示意图。目标空间11中包括多个集合,每个集合包括键12与值13。当一条用户操作数据通过键确定其目标空间后,将该用户操作数据写入目标空间。在目标空间中会有多个集合,每个集合包括键与值。集合可以理解为一个队列,队列的头部是键,队列中填充了多个值。根据该用户操作数据的键确定该条用户操作数据应该属于哪一个集合,被确定出来的集合可以理解为候选集合。将用户操作数据对应的值写入该候选集合。

图1c为本发明实施例一提供的按照处理目标对候选集合中的值进行处理前的数据存储格式示意图。可以理解为,执行步骤s105之前,需要对目标空间中的数据行进整理。目标空间中包括键列表14和值列表15,键列表14存储了用户操作数据的键,值列表15包括时间数据151,长度数据152和用户操作数据的值。时间数据151表示数据在目标空间中存在的时间,长度数据152表示用户操作数据的键对应的值的长度,长度数据152中的a、b和c分别表示值的个数。

s105、若符合预设的处理条件,则按照所述处理目标对所述候选集合中的用户操作数据的值进行处理。

对多个缓存空间、单个缓存空间或者缓存空间中某个集合设定预设的处理条件,当预设的处理条件被满足时,对集合中的用户操作数据的值进行处理,使得处理的结果符合预设的处理目标。

预设的处理条件可以是以时间为维度进行设置,如设置为距离上一次按照处理目标对候选集合中的用户操作数据的值进行处理的时间已经超过了时间阈值。

预设的处理条件可以是以数据量为维度进行设置,如设置为缓存空间的所有数据的数据量到达了数量阈值。

预设的处理条件还可以是:定长x条定时y秒策略,交互之后并马上将缓存空间清空。

定长x条表示:缓存空间的数据达到了x条后,马上对候选集合中的用户操作数据的值进行处理。

定时y秒表示:若当前时间减去缓存空间第一条数据到达时间大于y秒,马上对候选集合中的用户操作数据的值进行处理。

本发明实施例通过从用户操作数据中确定键和值;根据用户操作数据的键从两个以上的缓存空间中确定目标空间;在目标空间中,按照预设的处理目标将用户操作数据的值写入用户操作数据的键对应的候选集合;在符合预设的处理条件时,按照处理目标对候选集合中的用户操作数据的值进行处理,以获得用户需求的数据。解决每一条数据都会实时进行两次网络交互造成的时间成本大、不仅容易造成网络拥塞,还会导致不能实时获得数据交互的问题,实现了首先在缓存空间中对用户操作数据进行第一次处理,然后在符合预设的处理条件时,在候选集合中对用户操作数据进行第二次处理。通过对用户操作数据进行分散处理达到了减少了网络交互频率的有益效果。

实施例二

图2为本发明实施例二提供的一种数据处理方法的流程图。本实施例是在实施例一的基础上进行的细化,具体描述了当处理目标为去重处理时,数据处理的具体过程。参考图2,该方法具体包括:

s201、确定用户操作数据。

分析用户与网站交互时产生的记录的格式,确定格式中不同字节段对应的不同内容。

在本实施例中,可以确定时间字节段、地区字节段和用户标识号字节段对应的内容为用户操作数据。

如在2018-11-17、16:05:10,用户标识号为user1的广东用户,与网站进行交互,产生的用户操作数据可以表示为:

time=2018-11-1716:05:10

userid=user1

province=guangdong

s202、从所述用户操作数据中确定键和值。

将上述用户操作数据中的时间字节段、地区字节段对应的内容确定为用户操作数据的键。将用户标识号字节段对应的内容确定为用户操作数据的值。

键(key)=201811171605|guangdong

值(value)=user1。

s203、对所述用户操作数据的键进行处理,获得数据编号。

s204、当所述空间编号与所述数据编号匹配时,将与所述数据编号对应的缓存空间确定为目标空间。

步骤s203-s204描述了将根据用户操作数据的键从缓存空间中确定目标空间。每个缓存空间具有空间编号,对用户操作数据的键进行处理后可以获得数据编号。按照一定的对应关系,使得数据编号对应于一个缓存空间。

对用户操作数据的键进行处理,处理的方法可以是:轮循算法(roundrobin)、哈希算法(hash)、最少连接算法(leastconnection)、响应速度算法(responsetime)、加权法(weighted)等。

在一具体实现方式中,若有n个缓存空间,可以将其从1-n进行顺序编号,从而每个缓存空间具有唯一的空间编号。对要进行计算的用户操作数据的键key,进行哈希码运算hashcode(key),从而得到一个整数。对整数取模,并对最终结果取绝对值运算|hashcode(key)%n|,得到正整数m。正整数m示n个已固定好顺序的存储空中的第m个。可以理解为空间编号为m的缓存空间为目标空间。

在一具体实现方式中,以n=8(有8个缓存空间)为例进行说明,

key=201811171605|guangdong

userid=user1

hashcode(key)=-1826944887

m=|hashcode(key)%n|=|-1826944887%8|=|-7|=7

即201811171605|guangdong->user1放到空间编号为7的缓存空间中。user1为用户操作数据的值。

s205、在所述目标空间中,确定所述用户操作数据的键对应的候选集合。

目标空间中包括多个集合,每个集合可包括唯一的用户操作数据的键和多个用户操作数据的值。

在目标空间中,查找用户操作数据的键对应的集合,将其确定为候选集合。若目标空间中没有用户操作数据的键对应的集合,则新建一个集合,对应于用户操作数据的键,将该新建的集合作为用户操作数据的键对应的候选集合。

s206、判断所述候选集合中的值与所述用户操作数据的值是否相同。若是,则执行步骤s207;若否,则执行步骤s208。

确定候选集合后,通过遍历的方式判断用户操作数据的值与候选集合中的值是否相同。若相同,则忽略用户操作数据的值;若不同,则将用户操作数据的值写入候选集合。

s207、忽略所述用户操作数据的值。

用户操作数据的值与候选集合中的值相同,就不对用户操作数据的值进行处理,也不会将其添加到候选集合中。从而实现了在缓存空间中的局部去重处理。

s208、将所述用户操作数据的值写入所述候选集合。

用户操作数据的值与候选集合中的值不相同,则将用户操作数据的值写入候选集合。

s209、从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合。

每个缓存空间在数据库中分配有存储分区,在存储分区中会有多个集合,每个集合包括键与值。集合可以理解为一个队列,队列的头部是键,队列中填充了多个值。若缓存空间中的集合与存储分区中的集合的键相同,则将缓存空间中的集合的值存入存储分区中的键相同的集合中。存储分区中的键相同的集合就是目标集合。

若缓存空间中的集合与存储分区中的集合的键均不相同,则将缓存空间中的集合直接存入存储分区中。

s210、判断所述目标集合的值中与所述候选集合中的值是否相同。若是,则执行步骤s211;若否,则执行步骤s212。

缓存空间中的集合与存储分区中的集合的键相同,将缓存空间中的集合的值存入存储分区中的键相同的集合之前,还需要判断目标集合的值中与候选集合中的值是否相同。若相同,则忽略候选集合中的值,以确定目标集合中值的个数。若不同,则将候选集合中的值写入所述目标集合,以确定目标集合中值的个数。

s211、忽略所述候选集合中的值,以确定所述目标集合中值的个数。

候选集合中的值与目标集合中的值相同,就不对目标集合中的值进行处理,也不会将候选集合中的值添加到目标集合中。从而实现了在数据库存储分区中的整体去重处理。以确定所述目标集合中值的个数。

s212、将所述候选集合中的值写入所述目标集合,以确定所述目标集合中值的个数。

候选集合中的值与目标集合中的值不相同,则在存储分区中新建一个集合作为目标集合,将候选集合中的值写入候选集合。以确定所述目标集合中值的个数。

在上述实施例的基础上,去重处理包括第一类型的去重处理与第二类型的去重处理。两种类型的去重处理采用了不同的方式来构建集合。

第一类型的去重处理包括构建字符串类型的候选集合,所述候选集合中的值为用户标识号。

在一实施中,可以构建字符串(string)类型的无序集合作为候选集合。集合成员(用户标识号)是唯一的,这就意味着集合中不能出现重复的数据。利用多个redis的set集合功能,结合定时定长打包成微批量化的方式,实现对实时大数据流的精准去重计数方法。

第二类型的去重处理包括构建基数统计类型的候选集合,候选集合中的值为经过简化处理的用户标识号。

在一实施中,可以构建基数统计类型的无序集合作为候选集合。每次添加一个新的数据(经过哈希等简化处理的用户标识号)时,需要与集合成员(经过哈希等简化处理的用户标识号)进行逐一比对。利用多个redis的hyperloglog集合功能,结合定时定长打包成微批量化的方式,实现对实时大数据流的高精度去重计数方法。

本发明实施例通过从用户操作数据中确定键和值;根据用户操作数据的键从两个以上的缓存空间中确定目标空间;在目标空间中,按照去重处理将用户操作数据的值写入用户操作数据的键对应的候选集合;在符合预设的处理条件时,按照去重处理对候选集合中的用户操作数据的值进行处理,以获得用户需求的数据。解决每一条数据都会实时进行两次网络交互造成的时间成本大、不仅容易造成网络拥塞,还会导致不能实时获得数据交互的问题,实现了首先在缓存空间中对用户操作数据进行第一次处理,然后在符合预设的处理条件时,在候选集合中对用户操作数据进行第二次处理。通过对用户操作数据进行分散处理达到了减少了网络交互频率的有益效果。

实施例三

图3为本发明实施例三提供的一种数据处理方法的流程图。本实施例是在实施例一的基础上进行的细化,具体描述了当处理目标为获得最大值时,数据处理的具体过程。参考图3,该方法具体包括:

s301、确定用户操作数据。

在本实施例中,可以确定时间字节段、地区字节段和数字字节段对应的内容为用户操作数据。

如在2018-11-17、16:05:10,用户标识号为user1的广东用户,在网站消费88元,产生的用户操作数据可以表示为:

time=2018-11-1716:05:10

userid=user1

paycoin=88

province=guangdong。

s302、从所述用户操作数据中确定键和值。

将上述用户操作数据中的时间字节段、地区字节段对应的内容确定为用户操作数据的键。将数字字节段对应的内容确定为用户操作数据的值。

键(key)=201811171605|guangdong

值(value)=88。

s303、对所述用户操作数据的键进行处理,获得数据编号。

s304、当所述空间编号与所述数据编号匹配时,将与所述数据编号对应的缓存空间确定为目标空间。

s305、在所述目标空间中,确定所述用户操作数据的键对应的候选集合。

步骤s303-s305描述了将根据用户操作数据的键从缓存空间中确定目标空间,进而在目标空间中确定候选集合的过程。具体方式可以参见实施例二中步骤s203-s205的描述。

s306、判断所述用户操作数据的值是否大于所述候选集合中的值。若是,则执行步骤s307,若否,则执行步骤s308。

s307、将所述用户操作数据的值写入所述候选集合。

s308、忽略所述用户操作数据的值。

步骤s306-s308描述了是否将用户操作数据的值写入候选集合,从而确定候选集合最大值的方法。

由于本实施例是要获得最大值,那么为了节约资源,候选集合可以仅仅存储一个数字,该数字为候选集合的最大值。当然候选集合也可以存储用户操作数据的值,在需要时再获取候选集合的最大值。

当用户操作数据的值比候选集合中的值大时,说明用户操作数据的值写入候选集合后,应该为候选集合的最大值。因此需要将用户操作数据的值写入候选集合,若是候选集合仅仅存储一个数字的情况,则用用户操作数据的值覆盖掉候选集合的值。

当用户操作数据的值比候选集合中的值小时,说明用户操作数据的值写入候选集合后,不会改变候选集合的最大值。因此忽略用户操作数据的值。

s309、从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合。

s310、判断所述候选集合中的值是否大于目标集合中的值。若是,则执行步骤s311,若否,则执行步骤s312。

s311、将所述候选集合中的值写入所述目标集合,以确定所述目标集合中值的最大值。

s312、忽略所述候选集合中的值,以确定所述目标集合中值的最大值。

步骤s309-s312描述了是否将缓存空间中的值写入存储分区的目标集合中,从而确定目标集合最大值的方法。

由于本实施例是要获得最大值,那么为了节约资源,目标集合可以仅仅存储一个数字,该数字为目标集合的最大值。当然目标集合也可以存储用户操作数据的值,在需要时再获取候选目标集合的最大值。

当储空间中的集合比目标集合中的值大时,说明储空间中的集合写入目标集合后,应该为目标集合的最大值。因此需要将储空间中的集合写入目标集合,若是目标集合仅仅存储一个数字的情况,则用储空间中的集合覆盖掉目标集合的值。以确定目标集合中值的最大值。

当储空间中的集合比目标集合中的值小时,说明储空间中的集合写入目标集合后,不会改变目标集合的最大值。因此忽略所述候选集合中的值,以确定目标集合中值的最大值。

本发明实施例通过从用户操作数据中确定键和值;根据用户操作数据的键从两个以上的缓存空间中确定目标空间;在目标空间中,按照获得最大值处理将用户操作数据的值写入用户操作数据的键对应的候选集合;在符合预设的处理条件时,按照获得最大值处理对候选集合中的用户操作数据的值进行处理,以确定目标集合中值的最大值。解决每一条数据都会实时进行两次网络交互造成的时间成本大、不仅容易造成网络拥塞,还会导致不能实时获得数据交互的问题,实现了首先在缓存空间中对用户操作数据进行第一次处理,然后在符合预设的处理条件时,在候选集合中对用户操作数据进行第二次处理。通过对用户操作数据进行分散处理达到了减少了网络交互频率的有益效果。

实施例四

图4为本发明实施例四提供的一种数据处理方法的流程图。本实施例是在实施例一的基础上进行的细化,具体描述了当处理目标为获得最小值时,数据处理的具体过程。参考图4,该方法具体包括:

s401、确定用户操作数据。

在本实施例中,可以确定时间字节段、地区字节段和数字字节段对应的内容为用户操作数据。

如在2018-11-17、16:05:10,用户标识号为user1的广东用户,在网站消费88元,产生的用户操作数据可以表示为:

time=2018-11-1716:05:10

userid=user1

paycoin=88

province=guangdong。

s402、从所述用户操作数据中确定键和值。

将上述用户操作数据中的时间字节段、地区字节段对应的内容确定为用户操作数据的键。将数字字节段对应的内容确定为用户操作数据的值。

键(key)=201811171605|guangdong

值(value)=88。

s403、对所述用户操作数据的键进行处理,获得数据编号。

s404、当所述空间编号与所述数据编号匹配时,将与所述数据编号对应的缓存空间确定为目标空间。

s405、在所述目标空间中,确定所述用户操作数据的键对应的候选集合。

步骤s403-s405描述了将根据用户操作数据的键从缓存空间中确定目标空间,进而在目标空间中确定候选集合的过程。具体方式可以参见实施例二中步骤s203-s205的描述。

s406、判断所述用户操作数据的值是否小于候选集合中的值。若是,则执行步骤s407;若不是,则执行步骤s408。

s407、将所述用户操作数据的值写入所述候选集合。

s408、忽略所述用户操作数据的值。

步骤s406-s408描述了是否将用户操作数据的值写入候选集合,从而确定候选集合最小值的方法。

由于本实施例是要获得最小值,那么为了节约资源,候选集合可以仅仅存储一个数字,该数字为候选集合的最小值。当然候选集合也可以存储用户操作数据的值,在需要时再获取候选集合的最小值。

当用户操作数据的值比候选集合中的值小时,说明用户操作数据的值写入候选集合后,应该为候选集合的最小值。因此需要将用户操作数据的值写入候选集合,若是候选集合仅仅存储一个数字的情况,则用用户操作数据的值覆盖掉候选集合的值。

当用户操作数据的值比候选集合中的值大时,说明用户操作数据的值写入候选集合后,不会改变候选集合的最小值。因此忽略用户操作数据的值。

s409、从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合。

s410、判断所述候选集合中的值是否小于目标集合中的值。若是,则执行步骤s411;若不是,则执行步骤s412。

s411、将所述候选集合中的值写入所述目标集合,以确定所述目标集合中值的最小值。

s412、忽略所述候选集合中的值,以确定所述目标集合中值的最小值。

步骤s409-s412描述了是否将缓存空间中的值写入存储分区的目标集合中,从而确定目标集合最小值的方法。

由于本实施例是要获得最小值,那么为了节约资源,目标集合可以仅仅存储一个数字,该数字为目标集合的最小值。当然目标集合也可以存储用户操作数据的值,在需要时再获取候选目标集合的最小值。

当储空间中的集合比目标集合中的值小时,说明储空间中的集合写入目标集合后,应该为目标集合的最小值。因此需要将储空间中的集合写入目标集合,若是目标集合仅仅存储一个数字的情况,则用储空间中的集合覆盖掉目标集合的值。以确定目标集合中值的最小值。

当储空间中的集合比目标集合中的值大时,说明储空间中的集合写入目标集合后,不会改变目标集合的最小值。因此忽略所述候选集合中的值,以确定目标集合中值的最小值。

本发明实施例通过从用户操作数据中确定键和值;根据用户操作数据的键从两个以上的缓存空间中确定目标空间;在目标空间中,按照获得最小值处理将用户操作数据的值写入用户操作数据的键对应的候选集合;在符合预设的处理条件时,按照获得最小值处理对候选集合中的用户操作数据的值进行处理,以确定目标集合中值的最小值。解决每一条数据都会实时进行两次网络交互造成的时间成本大、不仅容易造成网络拥塞,还会导致不能实时获得数据交互的问题,实现了首先在缓存空间中对用户操作数据进行第一次处理,然后在符合预设的处理条件时,在候选集合中对用户操作数据进行第二次处理。通过对用户操作数据进行分散处理达到了减少了网络交互频率的有益效果。

实施例五

图5为本发明实施例五提供的一种数据处理方法的流程图。本实施例是在实施例一的基础上进行的细化,具体描述了当处理目标为获得和值时,数据处理的具体过程。参考图5,该方法具体包括:

s501、确定用户操作数据。

在本实施例中,可以确定时间字节段、地区字节段和数字字节段对应的内容为用户操作数据。

如在2018-11-17、16:05:10,用户标识号为user1的广东用户,在网站消费88元,产生的用户操作数据可以表示为:

time=2018-11-1716:05:10

userid=user1

paycoin=88

province=guangdong。

s502、从所述用户操作数据中确定键和值。

将上述用户操作数据中的时间字节段、地区字节段对应的内容确定为用户操作数据的键。将数字字节段对应的内容确定为用户操作数据的值。

键(key)=201811171605|guangdong

值(value)=88。

s503、对所述用户操作数据的键进行处理,获得数据编号。

s504、当所述空间编号与所述数据编号匹配时,将与所述数据编号对应的缓存空间确定为目标空间。

s505、在所述目标空间中,确定所述用户操作数据的键对应的候选集合。

步骤s503-s505描述了将根据用户操作数据的键从缓存空间中确定目标空间,进而在目标空间中确定候选集合的过程。具体方式可以参见实施例二中步骤s203-s205的描述。

s506、将所述用户操作数据的值写入所述候选集合。

s507、计算所述候选集合中的值的和,以确定第一数值。

步骤s506-s507描述了将用户操作数据的值写入候选集合,以确定第一数值,即候选集合的和值。

将用户操作数据的值写入候选集合,对候选集合中的值进行求和处理,获得每个键对应的和值作为第一和值。

s508、从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合。

s509、将所述候选集合中的第一数值写入所述目标集合。

s510、计算所述目标集合中的值的和,以确定第二数值。

步骤s508-s510描述了将缓存空间中的值写入存储分区的目标集合中,从而确定目标集合和值的方法。

将候选集合中每个键对应的第一数值写入存储分区的目标集合,对目标集合中的值进行求和处理,获得每个键对应的和值作为第二和值。

本发明实施例通过从用户操作数据中确定键和值;根据用户操作数据的键从两个以上的缓存空间中确定目标空间;在目标空间中,按照获得和值处理将用户操作数据的值写入用户操作数据的键对应的候选集合;在符合预设的处理条件时,按照获得和值处理对候选集合中的用户操作数据的值进行处理,以确定目标集合中值的和值。解决每一条数据都会实时进行两次网络交互造成的时间成本大、不仅容易造成网络拥塞,还会导致不能实时获得数据交互的问题,实现了首先在缓存空间中对用户操作数据进行第一次处理,然后在符合预设的处理条件时,在候选集合中对用户操作数据进行第二次处理。通过对用户操作数据进行分散处理达到了减少了网络交互频率的有益效果。

实施例六

图6为本发明实施例六提供的一种数据处理装置的结构图,包括:操作数据确定模块61、键值确定模块62、目标空间确定模块63、候选集合写入模块64和值处理模块65。其中:

操作数据确定模块61,用于确定用户操作数据;

键值确定模块62,用于从所述用户操作数据中确定键和值;

目标空间确定模块63,用于根据所述用户操作数据的键从两个以上的缓存空间中确定目标空间;

候选集合写入模块64,用于在所述目标空间中,按照预设的处理目标将所述用户操作数据的值写入所述用户操作数据的键对应的候选集合;

值处理模块65,用于若符合预设的处理条件,则按照所述处理目标对所述候选集合中的用户操作数据的值进行处理。

本发明实施例通过从用户操作数据中确定键和值;根据用户操作数据的键从两个以上的缓存空间中确定目标空间;在目标空间中,按照预设的处理目标将用户操作数据的值写入用户操作数据的键对应的候选集合;在符合预设的处理条件时,按照处理目标对候选集合中的用户操作数据的值进行处理,以获得用户需求的数据。解决每一条数据都会实时进行两次网络交互造成的时间成本大、不仅容易造成网络拥塞,还会导致不能实时获得数据交互的问题,实现了首先在缓存空间中对用户操作数据进行第一次处理,然后在符合预设的处理条件时,在候选集合中对用户操作数据进行第二次处理。通过对用户操作数据进行分散处理达到了减少了网络交互频率的有益效果。

在上述实施例的基础上,每个缓存空间具有空间编号,目标空间确定模块还用于:

对所述用户操作数据的键进行处理,获得数据编号;

当所述空间编号与所述数据编号匹配时,将与所述数据编号对应的缓存空间确定为目标空间。

在上述实施例的基础上,处理目标包括去重处理,候选集合写入模块还用于:

在所述目标空间中,确定所述用户操作数据的键对应的候选集合;

判断所述候选集合中的值与所述用户操作数据的值是否相同;

若是,则忽略所述用户操作数据的值;

若否,则将所述用户操作数据的值写入所述候选集合。

在上述实施例的基础上,每个所述缓存空间在数据库中分配有存储分区,值处理模块还用于:

从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合;

判断所述目标集合的值中与所述候选集合中的值是否相同;

若是,则忽略所述候选集合中的值,以确定所述目标集合中值的个数;

若否,则将所述候选集合中的值写入所述目标集合,以确定所述目标集合中值的个数。

在上述实施例的基础上,去重处理包括第一类型的去重处理与第二类型的去重处理;

第一类型的去重处理包括构建字符串类型的候选集合,所述候选集合中的值为用户标识号;

第二类型的去重处理包括构建基数统计类型的候选集合,所述候选集合中的值为经过简化处理的用户标识号。

在上述实施例的基础上,所述用户操作数据的值包括数字,所述处理目标为获取最大值处理,候选集合写入模块还用于:

所述在所述目标空间中,按照预设的处理目标将所述用户操作数据的值写入所述用户操作数据的键对应的候选集合,还用于:

在所述目标空间中,确定所述用户操作数据的键对应的候选集合;

判断所述用户操作数据的值是否大于所述候选集合中的值;

若是,则将所述用户操作数据的值写入所述候选集合;

若否,则忽略所述用户操作数据的值。

在上述实施例的基础上,每个缓存空间在数据库中有对应的存储分区,值处理模块还用于:

从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合;

判断所述候选集合中的值是否大于目标集合中的值;

若是,则将所述候选集合中的值写入所述目标集合,以确定所述目标集合中值的最大值;

若否,则忽略所述候选集合中的值,以确定所述目标集合中值的最大值。

在上述实施例的基础上,所述用户操作数据的值包括数字,所述处理目标为获取最小值处理,候选集合写入模块还用于:

在所述目标空间中,确定所述用户操作数据的键对应的候选集合;

判断所述用户操作数据的值是否小于候选集合中的值;

若是,则将所述用户操作数据的值写入所述候选集合;

若否,则忽略所述用户操作数据的值。

在上述实施例的基础上,每个所述缓存空间在数据库中有对应的存储分区,值处理模块还用于:

从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合;

判断所述候选集合中的值是否小于目标集合中的值;

若是,则将所述候选集合中的值写入所述目标集合,以确定所述目标集合中值的最小值;

若否,则忽略所述候选集合中的值,以确定所述目标集合中值的最小值。

在上述实施例的基础上,所述用户操作数据的值包括数字,所述处理目标包括求和处理,候选集合写入模块还用于:

在所述目标空间中,确定所述用户操作数据的键对应的候选集合;

将所述用户操作数据的值写入所述候选集合;

计算所述候选集合中的值的和,以确定第一数值。

在上述实施例的基础上,每个所述缓存空间在数据库中有对应的存储分区,值处理模块还用于:

从所述目标空间对应的存储分区中查找所述目标空间中的键对应的目标集合;

将所述候选集合中的第一数值写入所述目标集合;

计算所述目标集合中的值的和,以确定第二数值。

本实施例提供的一种数据处理装置可用于执行上述任一实施例提供的数据处理方法,具有相应的功能和有益效果。

实施例七

图7为本发明实施例七提供的一种电子设备的结构示意图。如图7所示,该电子设备包括处理器70、存储器71、通信模块72、输入装置73和输出装置74;电子设备中处理器70的数量可以是一个或多个,图7中以一个处理器70为例;电子设备中的处理器70、存储器71、通信模块72、输入装置73和输出装置74可以通过总线或其他方式连接,图7中以通过总线连接为例。

存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的一种数据处理方法对应的模块(例如,一种数据处理装置中的操作数据确定模块61、键值确定模块62、目标空间确定模块63、候选集合写入模块64和值处理模块65)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的一种数据处理方法。

存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

通信模块72,用于与显示屏建立连接,并实现与显示屏的数据交互。输入装置73可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。

本实施例提供的一种电子设备,可执行本发明任一实施例提供的数据处理方法,具体相应的功能和有益效果。

实施例八

本发明实施例八还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据处理方法,该方法包括:

确定用户操作数据;

从所述用户操作数据中确定键和值;

根据所述用户操作数据的键从两个以上的缓存空间中确定目标空间;

在所述目标空间中,按照预设的处理目标将所述用户操作数据的值写入所述用户操作数据的键对应的候选集合;

若符合预设的处理条件,则按照所述处理目标对所述候选集合中的用户操作数据的值进行处理。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任一实施例所提供的数据处理方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述数据处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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