数据的处理方法、装置及系统制造方法及图纸

技术编号:9170953 阅读:142 留言:0更新日期:2013-09-19 19:28
本申请公开了一种数据的处理方法、装置及系统。其中,该方法包括:服务器接收客户端输出的一组或多组操作数据;服务器按照预设的时间窗口长度对每组操作数据中的数据进行筛选,以获取一组或多组备份数据;将所有的备份数据保存至服务器的内存中。通过本申请,能够实现降低数据库的处理压力,提高服务器系统的性能。

【技术实现步骤摘要】
数据的处理方法、装置及系统
本申请涉及计算机领域,具体而言,涉及一种数据的处理方法、装置及系统。
技术介绍
在现有的电子商务网上行为的活动中,服务器需要记录并保存用户历史行为的相关操作数据,比如用户登陆的IP、交易的金额等等。这些记录的数据可以用于许多分析工作,例如,为了规避商业风险,可以对这些操作数据进行保存,并采用实时统计分析的手段来判断用户是否有不正当的行为,例如如果检测到某个用户一天的商务登陆次数在1万次以上,则可以估计此用户很有可能是采用了机器登陆的暴力登陆手段,需要加以控制。其他的场景例如网络游戏等,也有类似针对历史行为的操作数据的处理需求。此外,这些场景也有线下处理数据的需求,即通过线下对历史行为数据的处理和分析来寻找一些规律,为决策提供支持。所有这些的根本目的就是要通过对历史行为数据的统计和分析来发现用户行为的问题和风险。现有技术通常利用数据库对用户历史行为的操作数据进行存储,从而对所有操作数据的统计和分析也是基于对数据库的查询进行处理的。具体的,在将所有的操作数据都保存在数据库中之后,可以采用sql语句对数据库中的数据进行查询以对用户的历史行为进行统计,然后对查询到的查询结果集进行相应的计算,但当查询结果的数据量较大的时候,这种处理方式会导致数据库压力过大,响应速度过慢。由此可知,基于数据库的数据查询方法在数据量小的情况下可以正常运作,但是一旦数据量大的时候数据库就会承受较大的压力,查询的效率也越来越不能满足实施处理的需求,实际运用中会有很大的困难。这种方法在数据量较大的时候会遇到性能上的瓶颈。目前针对相关技术中在处理大量的历史行为数据时查询速度过慢,导致数据库压力过大、服务器性能差的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中在处理大量的历史行为数据时查询速度过慢,导致数据库压力过大、服务器性能差的问题,而提出本申请,为此,本申请的主要目的在于提供一种数据的处理方法、装置及系统,以解决上述问题。为了实现上述目的,根据本申请的一个方面,提供了一种数据的处理方法,该方法包括:服务器接收客户端输出的一组或多组操作数据;服务器按照预设的时间窗口长度对每组操作数据中的数据进行筛选,以获取一组或多组备份数据;将所有的备份数据保存至服务器的内存中。进一步地,每组备份数据的属性包括:关键字、数据字段、时间窗口以及计算函数,且每组备份数据对应唯一的一类计算函数,计算函数按照类型划分包括普通算术函数、比较函数以及统计函数,其中,在将所有的备份数据保存至服务器的内存中之后,方法还包括:接收用于查询的查询条件,查询条件包括:查询时间、查询属性对以及复杂计算函数,查询属性对包括关键字和数据字段;根据计算函数的类型对复杂计算函数进行划分,得到一类或多类计算函数;根据查询属性对以及当前得到的每类计算函数在内存中进行查询操作,以获取N组备份数据;对获取到的每组备份数据按照其对应的一类计算函数进行计算处理,并对计算结果进行合并以获取计算结果。进一步地,对获取到的每组备份数据按照其对应的计算函数进行计算处理,并对计算结果进行合并以获取计算结果包括:步骤A,获取第一组备份数据中每个数据的时间窗口;步骤B,根据时间窗口对查询时间进行划分,以获取一个或多个连续的时间区间作为有效时间区间;步骤C,通过第一组备份数据对应的计算函数对每个有效时间区间内的数据进行计算处理,并对每个数据的计算结果进行合计得到第一组备份数据的第一处理结果;步骤D,对获取到的每组备份数据执行步骤A到步骤C,以获取每组备份数据的处理结果,将所有的处理结果进行合并后得到计算结果。进一步地,在根据时间窗口对查询时间进行划分之前,方法还包括:判断查询时间是否小于等于第一阈值,其中,在查询时间小于等于第一阈值的情况下,执行根据时间窗口对查询时间进行划分;在查询时间大于第一阈值的情况下,返回查询结果为空。进一步地,服务器按照预设的时间窗口长度对每组操作数据中的数据进行筛选,以获取一组或多组备份数据包括:判断每组操作数据中连续的两个数据之间的时间差是否处于预设的时间窗口长度之内,其中,在时间差处于预设的时间窗口长度之内的情况下,确定两个数据为该组操作数据对应的备份数据;在时间差处于预设的时间窗口长度之外的情况下,抛弃两个数据。进一步地,在将所有的备份数据保存至服务器的内存之后,方法还包括:判断备份数据的数目是否大于第二阈值,其中,在备份数据的数目大于第二阈值的情况下,服务器按照内存中所有备份数据的保存时间,依次删除保存时间最早的备份数据,直至内存中保存的备份数据的数目小于等于第二阈值;在备份数据的数目小于等于第二阈值的情况下,保持内存中备份数据的数目不变。为了实现上述目的,根据本申请的另一方面,提供了一种数据的处理装置,该装置包括:第一接收模块,用于接收客户端输出的一组或多组操作数据;第一处理模块,用于按照预设的时间窗口长度对每组操作数据中的数据进行筛选,以获取一组或多组备份数据;保存模块,用于将所有的备份数据保存至服务器的内存中。进一步地,每组备份数据的属性包括:关键字、数据字段、时间窗口以及计算函数,且每组备份数据对应唯一的一类计算函数,计算函数按照类型划分包括普通算术函数、比较函数以及统计函数,其中,装置还包括:第二接收模块,用于接收用于查询的查询条件,查询条件包括:查询时间、查询属性对以及复杂计算函数,查询属性对包括关键字和数据字段;第一划分模块,用于根据计算函数的类型对复杂计算函数进行划分,得到一类或多类计算函数;查询模块,用于根据查询属性对以及当前得到的每类计算函数在内存中进行查询操作,以获取N组备份数据;第二处理模块,用于对获取到的每组备份数据按照其对应的一类计算函数进行计算处理,并对计算结果进行合并以获取计算结果。进一步地,第二处理模块包括:获取模块,用于获取第一组备份数据中每个数据的时间窗口;第二划分模块,用于根据时间窗口对查询时间进行划分,以获取一个或多个连续的时间区间作为有效时间区间;计算模块,用于通过第一组备份数据对应的计算函数对每个有效时间区间内的数据进行计算处理,并对每个数据的计算结果进行合计得到第一组备份数据的第一处理结果;循环执行模块,用于对获取到的每组备份数据执行获取模块、第二划分模块以及计算模块,以获取每组备份数据的处理结果,将所有的处理结果进行合并后得到计算结果。进一步地,装置还包括:第一判断模块,用于判断查询时间是否小于等于第一阈值;第一执行模块,用于在查询时间小于等于第一阈值的情况下,执行根据时间窗口对查询时间进行划分;返回模块,用于在查询时间大于第一阈值的情况下,返回查询结果为空。进一步地,第一处理模块包括:第二判断模块,用于判断每组操作数据中连续的两个数据之间的时间差是否处于预设的时间窗口长度之内;第二执行模块,用于在时间差处于预设的时间窗口长度之内的情况下,确定两个数据为该组操作数据对应的备份数据;丢弃模块,用于在时间差处于预设的时间窗口长度之外的情况下,抛弃两个数据。进一步地,装置还包括:第三判断模块,用于判断备份数据的数目是否大于第二阈值;第三执行模块,用于在备份数据的数目大于第二阈值的情况下,服务器按照内存中所有备份数据的保存时间,依次删除保存时间最早的备份数据,直至内存中保存的备份本文档来自技高网
...
数据的处理方法、装置及系统

【技术保护点】
一种数据的处理方法,其特征在于,包括:服务器接收客户端输出的一组或多组操作数据;所述服务器按照预设的时间窗口长度对每组操作数据中的数据进行筛选,以获取一组或多组备份数据;将所有的备份数据保存至所述服务器的内存中。

【技术特征摘要】
1.一种数据的处理方法,其特征在于,包括:服务器接收客户端输出的一组或多组操作数据;所述服务器按照预设的时间窗口长度对每组操作数据中的数据进行筛选,以获取一组或多组备份数据;将所有的备份数据保存至所述服务器的内存中,其中,所述服务器保存的备份数据在所述内存中以二叉树的结构进行存储;所述服务器按照预设的时间窗口长度对每组操作数据中的数据进行筛选,以获取一组或多组备份数据包括:判断每组操作数据中连续的两个数据之间的时间差是否处于所述预设的时间窗口长度之内,其中,在所述时间差处于所述预设的时间窗口长度之内的情况下,确定所述两个数据为该组操作数据对应的备份数据;在所述时间差处于所述预设的时间窗口长度之外的情况下,抛弃所述两个数据;在将所有的备份数据保存至所述服务器的内存中之后,所述方法还包括:接收查询条件,并根据所述查询条件中的查询属性以及计算函数在所述内存中进行查询操作,以获取所述一组或多组备份数据。2.根据权利要求1所述的方法,其特征在于,每组备份数据的属性包括:关键字、数据字段、时间窗口以及计算函数,且每组备份数据对应唯一的一类计算函数,所述计算函数按照类型划分包括普通算术函数、比较函数以及统计函数,其中,在将所有的备份数据保存至所述服务器的内存中之后,所述方法还包括:接收用于查询的查询条件,所述查询条件包括:查询时间、查询属性对以及复杂计算函数,所述查询属性对包括关键字和数据字段;根据计算函数的类型对所述复杂计算函数进行划分,得到一类或多类计算函数;根据查询属性对以及当前得到的每类计算函数在内存中进行查询操作,以获取N组备份数据;对获取到的每组备份数据按照其对应的一类计算函数进行计算处理,并对计算结果进行合并以获取计算结果。3.根据权利要求2所述的方法,其特征在于,对获取到的每组备份数据按照其对应的计算函数进行计算处理,并对计算结果进行合并以获取计算结果包括:步骤A,获取第一组备份数据中每个数据的时间窗口;步骤B,根据所述时间窗口对所述查询时间进行划分,以获取一个或多个连续的时间区间作为有效时间区间;步骤C,通过所述第一组备份数据对应的计算函数对每个有效时间区间内的数据进行计算处理,并对每个数据的计算结果进行合计得到所述第一组备份数据的第一处理结果;步骤D,对获取到的每组备份数据执行步骤A到步骤C,以获取每组备份数据的处理结果,将所有的处理结果进行合并后得到所述计算结果。4.根据权利要求3所述的方法,其特征在于,在根据所述时间窗口对所述查询时间进行划分之前,所述方法还包括:判断所述查询时间是否小于等于第一阈值,其中,在所述查询时间小于等于所述第一阈值的情况下,执行根据所述时间窗口对所述查询时间进行划分;在所述查询时间大于所述第一阈值的情况下,返回查询结果为空。5.根据权利要求1所述的方法,其特征在于,在将所有的备份数据保存至所述服务器的内存之后,所述方法还包括:判断所述备份数据的数目是否大于第二阈值,其中,在所述备份数据的数目大于第二阈值的情况下,所述服务器按照所述内存中所有备份数据的保存时间,依次删除保存时间最早的备份数据,直至内存中保存的备份数据的数目小于等于所述第二阈值;在所述备份数据的数目小于等于第二阈值的情况下,保持所述内存中备份数据的数目不变。6.一种数据的处理装置,其特征在于,包括:第一接收模块,用于接收客户端输出的一组或多组操作数据;第一处理模块,用于按照预设的时间窗口长度对每组操作数据中的数据进行筛选,以获取一组或多组备份数据;保存模块,用于将所有的备份数据保存至服务器的内存中,其中,所述服务器保存的备份数据在所述内存中以二叉树的结构进行存储;所述第一处理模块包括:第二判断模块,用于判断每组操作数据中连续的两个数据之间的时间差是否处于所述预设的时间窗口长度之内;第二执行模块,用于在所述时间差处于所述预设的时间窗口长度之内的情况下,确定所述两个数据为该组操作数据对应的备份数据;丢弃模块,用于在所述时间差处...

【专利技术属性】
技术研发人员:许泰清周志衡徐磊石
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1