CN103455509A - 一种获取时间窗口模型参数的方法和系统 - Google Patents

一种获取时间窗口模型参数的方法和系统 Download PDF

Info

Publication number
CN103455509A
CN103455509A CN2012101777206A CN201210177720A CN103455509A CN 103455509 A CN103455509 A CN 103455509A CN 2012101777206 A CN2012101777206 A CN 2012101777206A CN 201210177720 A CN201210177720 A CN 201210177720A CN 103455509 A CN103455509 A CN 103455509A
Authority
CN
China
Prior art keywords
queue
record data
time
content
main body
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
CN2012101777206A
Other languages
English (en)
Other versions
CN103455509B (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.)
Advanced New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201210177720.6A priority Critical patent/CN103455509B/zh
Publication of CN103455509A publication Critical patent/CN103455509A/zh
Application granted granted Critical
Publication of CN103455509B publication Critical patent/CN103455509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请提供了一种获取时间窗口模型参数的方法和系统,涉及计算机技术领域。所述方法包括:针对各条记录数据,将属于同一主体的各条记录数据分配到同一个服务器中;将每个服务器中的属于同一主体的各条记录数据按记录的时间顺序排列;针对每个服务器,从记录数据列表表头的记录数据开始,逐条将记录数据的时间点和内容分别加入时间队列和内容队列,时间队列和内容队列按序一一对应;其中,利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值;将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出。本申请在计算海量数据的时间窗口模型参数时提高了效率,具有可扩展性。

Description

一种获取时间窗口模型参数的方法和系统
技术领域
本申请涉及计算机技术领域,特别是涉及一种获取时间窗口模型参数的方法和系统。
背景技术
随着网络的发展,对于网络用户的用户行为,比如使用网上银行进行交易,需要利用一些模型(如逻辑回归模型等)判断当前这笔用户行为是否异常(盗用,欺诈,套现等),而这些模型需要用到用户的历史交易行为等历史数据作为参数。在交易发生前的一段时间内的用户行为的统计值(包括交易行为,操作行为等)对判断当前交易是否异常(盗用,欺诈,套现等)具有至关重要的作用,在本文中这种类型的参数称作时间窗口模型参数。时间窗口模型参数的一般定义为:指当前事件的主体往前回溯一段时间该主体所参与事件的统计值。如计算当前交易的卖家在过去30天(包括当前这笔交易)交易金额的累加和。在实际中,通过该参数建立模型分析用户行为是否异常。
目前在传统数据仓库中计算这类时间窗口模型参数时,一般采用固定时间段来近似计算,也就是说粒度是到天而不是到每笔用户行为,比如买家或卖家的每笔交易行为。如在T日某位卖家发生的所有交易,那么计算他最近30天交易资金累加和,那就是(T-30)日直到T日所有交易的累加和。该种方案计算量小,但是精度不够高,比如无法计算某笔交易对应的买家在过去45分钟进行的交易金额累计,因为精度是到天的。如上述例子中,其只计算离T最近的30天的交易累加和,针对T日进行分析判断,无法准确识别出T日该卖家哪些交易存在异常。
为了能识别一个用户的每笔用户行为的异常,在数据库中可以用表自关联,再通过对交易时间做限制来计算。该种方案一般是在普通数据库中进行计算,比如要计算某卖家T日有100笔交易是否异常,而数据库中存在该卖家的T日之前有10000笔历史交易记录,那么就将T日该卖家的数据表与数据库中T日以及T日之前的所有10100笔数据通过主体作为关联键进行关联操作。那么对于T日每一笔交易与历史交易表关联时,选取每一笔交易最近的30天的数据,然后按顺序逐笔累加,将各累加值输入模型进行计算;最终导致数据库实际计算的数据容量变化为100*10000。该种方式在数据量小时,还可在相对短的时间内完成计算,如果交易数据量超过千万级就无法在有限时间内完成计算。
另外,在ORACLE等高端数据库中针对这类问题提供了一个句子:rowsbetween...preceding and...following,来遍历计算数据库中的每一笔交易记录。而rows between...preceding and...following这类查询句子一般在高端的数据库才提供此类函数,并且受制于单节点数据库的因素,计算效率和扩展能力不佳。
发明内容
本申请所要解决的技术问题是提供一种获取时间窗口模型参数的方法和系统,可解决现有技术中由于数据库本身的限制导致的计算效率低的问题,并且可方便扩展。
为了解决上述问题,本申请公开了一种获取时间窗口模型参数的方法,包括:
针对各条记录数据,将属于同一主体的各条记录数据分配到同一个服务器中;
将每个服务器中的属于同一主体的各条记录数据按记录的时间顺序排列;
针对每个服务器,从记录数据列表表头的记录数据开始,逐条将记录数据的时间点和内容分别加入时间队列和内容队列,时间队列和内容队列按序一一对应;其中,利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值;
将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出。
优选的,所述利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值包括:
步骤A1,判断当前待处理的记录数据的主体是否与当前时间队列和内容队列的主体不同;若不同,转入步骤A2;若相同,转入步骤A3;
步骤A2,则将时间队列和内容队列清空,并将当前记录数据主体作为时间队列和内容队列的主体,转入步骤A3;
步骤A3,将当前记录数据的时间点加入时间队列,将当前记录数据的内容加入内容队列,保持当前时间队列队尾的时间点与队首的时间点的差距符合预置的时间段范围,并保持内容队列与时间队列一致;其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
步骤A4,利用内容队列的内容值计算当前记录数据的目标值。
优选的,所述步骤A3包括:
步骤S3,将当前待处理的一条记录数据的时间点加入时间队列,和将所述记录数据的记录内容加入内容队列;其中,其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
步骤S4,判断当前待处理的一条记录数据的时间点与时间队列的队首的时间点相距的时间段是否大于阈值;如果大于,转入步骤S5;如果小于或等于,则转入步骤A4;
步骤S5,将时间队列队首时间点从队列移除,并同时将内容队列的队首内容值移除,转入步骤S4。
优选的,所述步骤A4包括:
基于新加入内容队列的内容值,和/或前一条记录数据的目标值,和/或被移除内容队列的队首值,计算当前记录数据对应的目标值。
优选的,将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出时还包括:
将当前记录数据的时间点、和/或卖家id、和/或买家id、和/或金额进行输出。
优选的,所述目标值包括:
当前记录数据对应的内容队列的求和、内容队列的求最大值、内容队列的求最小值、当前记录数据对应的记录总数。
优选的,采用记录模块记录时间队列和内容队列队尾对应的记录数据的目标值;若当前待处理的记录数据的主体与当前时间队列和内容队列的主体不同,则将记录模块的记录进行清空。
相应的,本申请还公开了一种获取时间窗口模型参数的系统,包括:
数据分配模块,用于针对各条记录数据,将属于同一主体的各条记录数据分配到同一个服务器中;
排序模块,用于将每个服务器中的属于同一主体的各条记录数据按记录的时间顺序排列;
分析计算模块,用于针对每个服务器,从记录数据列表表头的记录数据开始,逐条将记录数据的时间点和内容分别加入时间队列和内容队列,时间队列和内容队列按序一一对应;其中,利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值;
输出模块,用于将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出。
优选的,所述分析计算模块包括:
第一判断子模块,用于判断当前待处理的记录数据的主体是否与当前时间队列和内容队列的主体不同;若不同,则将时间队列和内容队列清空,并将当前记录数据主体作为时间队列和内容队列的主体,转;若相同,转入队列处理子模块;
队列处理子模块,用于将当前记录数据的时间点加入时间队列,将当前记录数据的内容加入内容队列,保持当前时间队列队尾的时间点与队首的时间点的差距符合预置的时间段范围,并保持内容队列与时间队列一致;其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
计算子模块,利用内容队列的内容值计算当前记录数据的目标值。
优选的,所述队列处理子模块包括:
加入子模块,用于将当前待处理的一条记录数据的时间点加入时间队列,和将所述记录数据的记录内容加入内容队列;其中,其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
第二判断子模块,用于判断当前待处理的一条记录数据的时间点与时间队列的队首的时间点相距的时间段是否大于阈值;如果大于,转入移除子模块;如果小于或等于,则转入计算子模块;
移除子模块,用于将时间队列队首时间点从队列移除,并同时将内容队列的队首内容值移除,转入第二判断子模块。
与现有技术相比,本申请包括以下优点:
本申请利用分布式计算平台,将大量的数据以主体为单位分配到分布式计算平台的各个服务器中按序排列,然后在各个服务器中,利用时间队列和内容队列逐条对排完序的各个主体的记录数据进行处理,其中时间队列和内容队列按序一一对应,即属于同一条记录的时间点和内容在上述两个队列中的位置一一对应;在利用时间队列和内容队列对数据进行处理时,通过时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,通过内容队列计算对应每条记录的目标值,如此逐个计算下来,只需遍历一次记录数据即可完成目标值的计算,即获得时间窗口模型参数;同时,把一个大的问题分解成多个子问题,并把子问题分配到集群中的多个节点来计算,从而解决了使用普通数据库在计算海量数据的时间窗口模型参数时的效率问题,提高了效率,具有可扩展性。
附图说明
图1是本申请一种获取时间窗口模型参数的方法的流程示意图;
图2是本申请优选的一种获取时间窗口模型参数的方法的流程示意图;
图3是本申请一种获取时间窗口模型参数的系统的结构示意图;
图4是本申请优选的一种获取时间窗口模型参数的系统的流程示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本发明的核心思想之一在于,基于分布式计算机平台,将各数据库中存储的属于同一主体的记录数据分配到集群中同一个服务器中,将对于各个用户各笔交易对应的时间窗口模型参数的计算分解成多个子计算单元,并在集群的各个节点中分别进行计算,绕开了现有的数据库的限制,能够快速、高效的获取用于行为分析的时间窗口模型参数,并且当数据量增加时,只需要添加集群中的服务器即可,便于扩展。
参照图1,示出了本申请一种获取时间窗口模型参数的方法的流程示意图,具体可以包括:
步骤110,针对各条记录数据,将属于同一主体的各条记录数据分配到同一个服务器中。
在本申请中,采用分布式平台,利用集群中各台服务器分别进行处理。实际中,对于各个用户的每条交易的存储,也可存储于集群中各个服务器中。一般情况下,采用负载均衡策略控制系统中实时出现的各种用户行为,比如用户的交易行为,或对其账户的操作行为等,在记录时一般按记录时间先后顺序标记上记录id,同时记录数据中包括记录的主体,记录的时间,和记录的内容,比如记录id为1是卖家seller-4,交易时间为2011-08-01,交易金额为20;记录id为2是卖家seller-2,交易时间为2011-08-05,交易金额为50。对于每条交易,可以有负载均衡模块控制分配到某个负载合适的服务器中进行存储。
对以上述方法对各个主体的各条记录数据进行存储方式,当需要时间窗口模型参数进行行为分析时,可由调度中心将集群中各个服务器中同一主体的记录数据调整分配到集群中同一个服务器中。其中调度中心可与负载均衡模块属于同一服务器。
另外,本申请也可对实时的主体的记录数据,在存储时将属于同一主体的记录数据分配到集群中同一台服务器中。
步骤120,将每个服务器中的属于同一主体的各条记录数据按记录的时间顺序排列。
对于每台服务器中供于计算时间窗口模型参数的各主体的记录数据,为便于计算,需要将其按时间顺序排列。
因此,在同一台服务器中,为了便于后续计算,对于该台服务器中各个主体,按时间排序时,时间远近的方向一致,比如,在一台服务器中有主体1和主体2:对于主体1的数据,按从远至近进行排序时,那么对于主体2的数据也从远至近排序。比如,在数据库中,对于seller-1,其存在4条记录数据,那么按时间先后顺序排列为:
卖家id为seller-1,交易时间为2011-08-20,交易金额为10;
卖家id为seller-1,交易时间为2011-09-04,交易金额为20;
卖家id为seller-1,交易时间为2011-09-15,交易金额为30;
卖家id为seller-1,交易时间为2011-10-01,交易金额为40。
对于seller-3,其存在2条记录数据,那么按时间先后顺序排列为:
卖家id为seller-3,交易时间为2011-08-15,交易金额为50;
卖家id为seller-3,交易时间为2011-09-28,交易金额为100。
那么在数据库中,各个主体的数据会再按先后顺序进行排列,那么再排列时,那么相邻两个主体的排序方向一致。比如前一个主体的排尾时间为最晚的时间,那么排在该主体之后的主体的排首时间为最靠早的时间,而一般不是排在该主体之后的主体的排首时间为最靠晚的时间。比如前述seller-1和seller-3,如果在数据库中,seller-1排在前面,seller-3排在后面,那么整体的记录数据排序为:
卖家id为seller-1,交易时间为2011-08-20,交易金额为10;
卖家id为seller-1,交易时间为2011-08-22,交易金额为10;
卖家id为seller-1,交易时间为2011-09-04,交易金额为20;
卖家id为seller-1,交易时间为2011-09-15,交易金额为30;
卖家id为seller-1,交易时间为2011-10-01,交易金额为40;
卖家id为seller-3,交易时间为2011-08-15,交易金额为50;
卖家id为seller-3,交易时间为2011-09-28,交易金额为100。
步骤130,针对每个服务器,从记录数据列表表头的记录数据开始,逐条将记录数据的时间点和内容分别加入时间队列和内容队列,时间队列和内容队列按序一一对应;其中,利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值。
在实际中,各种行为分析模型用到的时间窗口模型参数是在一定的时间段范围内计算的某个主体参与事件的统计值。比如对于计算内容队列的累加值时,时间队列是记录同一主体按时间顺序发生的各个事件的时间点,内容队列记录的是同一主体按时间顺序发生的各个事件的内容(如交易金额,交易对象等);目标值用一个变量X保存,X记录的是当前记录对应的目标值,X根据内容队列和时间队列动态做加减等操作。用另一个变量Y保存前一条处理的主体(如SELLER-1),当前处理的主体与Y不同,则清空时间队列和内容队列。
比如,如果计算T日用户A某笔交易,一般是计算最近N日内用户A的交易总额。比如对于seller-1,其交易记录为:
卖家id为seller-1,交易时间为2011-08-01,交易金额为10;
卖家id为seller-1,交易时间为2011-08-02,交易金额为10;
卖家id为seller-1,交易时间为2011-08-03,交易金额为30;
卖家id为seller-1,交易时间为2011-08-04,交易金额为20;
卖家id为seller-1,交易时间为2011-08-05,交易金额为40;
卖家id为seller-1,交易时间为2011-08-06,交易金额为20;
卖家id为seller-1,交易时间为2011-08-07,交易金额为30;
卖家id为seller-1,交易时间为2011-08-08,交易金额为40。
如果要计算seller-1每笔交易的是否异常,比如设置时间段为5天,那么每笔交易对应的一个时间窗口模型参数(累加值)分别为:
卖家id为seller-1,交易时间为2011-08-01,时间窗口参模型数:10
卖家id为seller-1,交易时间为2011-08-02,时间窗口参模型数:20
卖家id为seller-1,交易时间为2011-08-03,时间窗口参模型数:50
卖家id为seller-1,交易时间为2011-08-04,时间窗口参模型数:70
卖家id为seller-1,交易时间为2011-08-05,时间窗口参模型数:110;
卖家id为seller-1,交易时间为2011-08-06,时间窗口参模型数:120;
卖家id为seller-1,交易时间为2011-08-07,时间窗口参模型数:140;
卖家id为seller-1,交易时间为2011-08-08,时间窗口参模型数:150。
即以5天为界限,逐条计算以每笔交易为结尾,最近5天时间内的交易总值作为一个时间窗口模型参数。另外,也可计算以每笔交易为结尾,最近5天时间内交易的平均值作为一个时间窗口模型参数;也可计算以每笔交易为结尾,最近5天时间内交易的最大值作为一个时间窗口模型参数;也可计算以每笔交易为结尾,最近5天时间内交易的最小值作为一个时间窗口模型参数;也可计算以每笔交易为结尾,最近5天时间内交易的记录总数作为一个时间窗口模型参数,所述记录总数为时间窗口。
在本申请中,将主体的时间加入时间队列,利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值,时间队列和内容队列按序一一对应,即属于同一主体的时间与内容在时间队列和内容队列中的位置一一对应。比如前述seller-1,计算5天内的累加值作为一个时间窗口模型参数,那么对于seller-1的第1至第5条记录,由于其根据时间队列其判断在5天范围之内,每条对应的时间窗口模型参数-累加值为:计算内容队列中相应与前面记录的交易金额的累加即可。从第6条开始,将第6条的时间加入队列队尾,交易金额加入内容队列;并判断出队尾与队首之间的时间差距超过5天,那么将时间队列队首的时间删除,并将相应内容队列队首值删除;其中,相应的第六条记录对应的变量X的值在110的基础上减去队首的内容10加上新加入的内容20,变为120。此时,时间队列队首与队尾的之间的差值不超过时间段阈值,即前述5天时间,那么可根据内容队列计算第6条对应的时间窗口模型参数-累加值。
优选的,参照图2,其示出了本申请优选的一种获取时间窗口模型参数的流程示意图。所述利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值包括:
步骤A1,判断当前待处理的记录数据的主体是否与当前时间队列和内容队列的主体不同;若不同,转入步骤A2;若相同,转入步骤A3;
比如对于前述目标值用一个变量X保存即可,X记录的是当前记录对应的目标值,X根据内容队列和时间队列动态做加减等操作。用另一个变量Y保存前一条处理的主体时。判断当前待处理的记录数据的主体是否与前述中的变量Y相同,比如当前待处理数据的主体是seller-2,Y=seller-1,那么不相同,转入步骤A2。
步骤A2,则将时间队列和内容队列清空,并将当前记录数据主体作为时间队列和内容队列的主体,转入步骤A3;
比如对于前述目标值用一个变量X保存即可,X记录的是当前记录对应的目标值,X根据内容队列和时间队列动态做加减等操作。用另一个变量Y保存前一条处理的主体时,清空当前时间队列和内容队列中的seller-1相关的数据,将当前seller-2的记录的时间加入时间队列,当前seller-2的记录的内容加入内容队列,把变量Y赋值为当前记录的主体seller-2,同时可清空变量X。
比如对于前述一台服务器中存在seller-1和seller-3的排序后的记录为:
卖家id为seller-1,交易时间为2011-08-20,交易金额为10;
卖家id为seller-1,交易时间为2011-08-22,交易金额为10;
卖家id为seller-1,交易时间为2011-09-04,交易金额为20;
卖家id为seller-1,交易时间为2011-09-15,交易金额为30;
卖家id为seller-1,交易时间为2011-10-01,交易金额为40;
卖家id为seller-3,交易时间为2011-08-15,交易金额为50;
卖家id为seller-3,交易时间为2011-09-28,交易金额为100。
时间窗口模型参数的时间段阈值设置为30天。
那么对于第一条记录,此时时间队列和内容队列的主体为空,第一条记录的主体seller-1直接更新为当前时间队列和内容队列的主体,转入步骤A3。
即第一条记录的时间和金额分别入时间队列和内容队列,变量Y赋值为seller-1。
第二条记录的主体为seller-1与当前时间队列和内容队列的主体seller-1相同,转入步骤A3。
第三条记录的主体为seller-1与当前时间队列和内容队列的主体seller-1相同,转入步骤A3。
第四条记录的主体为seller-1与当前时间队列和内容队列的主体seller-1相同,转入步骤A3。
第五条记录的主体为seller-1与当前时间队列和内容队列的主体seller-1相同,转入步骤A3。
第六条记录的主体为seller-3与当前时间队列和内容队列的主体seller-1不同,则将时间队列和内容队列清空,并将当前记录数据主体作为时间队列和内容队列的主体,然后转入步骤A3。
即把前述变量Y赋值为当前记录的主体seller-2,清空X。
第七条记录的主体为seller-3与当前时间队列和内容队列的主体seller-3相同,然后转入步骤A3。
步骤A3,将当前记录数据的时间点加入时间队列,将当前记录数据的内容加入内容队列,保持当前时间队列队尾的时间点与队首的时间点的差距符合预置的时间段范围,并保持内容队列与时间队列一致;其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
本步骤将当前记录数据的时间点加入时间队列,将当前记录数据的内容加入内容队列,并保持内容队列与时间队列一致;其中时间队列时间点和内容队列的内容值按加入顺序一一对应。然后利用时间队列保持当前时间队列队尾的时间点与队首的时间点的差距符合预置的时间段范围。
优选的,所述步骤A3包括:
步骤S3,将当前待处理的一条记录数据的时间点加入时间队列,和将所述记录数据的记录内容加入内容队列;其中,其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
对于前述判断处理后的每条记录数据,将其记录的时间点加入时间队列,将所述记录数据的记录内容加入内容队列。其中,时间队列和内容队列的顺序一一对于,即比如对于第一条,时间队列的队首为2011-08-20,那么内容队列的队首为10;同理,对于第二条,时间队列的第二列为2011-08-22,那么内容队列的第二列为10,对于第三条,时间队列的第二列为2011-09-04,那么内容队列的第二列为20。
步骤S4,判断当前待处理的一条记录数据的时间点与时间队列的队首的时间点相距的时间段是否大于阈值;如果大于,转入步骤S5;如果小于或等于,则转入步骤A4;
当设置时间段阈值为30天时:
对于加入的第一条记录,队首2011-08-20与队尾2011-08-20均为自己,时间段差距为0,小于30天,转入步骤A4。
对于加入的第二条记录,队尾2011-08-22与队首2011-08-20差距2天,小于30天,转入步骤A4。
对于加入的第三条记录,队尾2011-09-04与队首差2011-08-20距15天,小于30天,转入步骤A4。
对于加入的第四条记录,队尾2011-09-15与队首差2011-08-20距26天,小于30天,转入步骤A4。
对于加入的第五条记录,队尾2011-10-01与队首2011-08-20差距42天,大于30天,转入步骤S5。在步骤S5对此时的时间队列和内容队列的队首进行移除后,会再次判断该条记录的对应的队尾2011-10-01与队首2011-08-22之间的差距,差距为40天,大于30天,继续转入步骤S5,将时间队列队首时间点从队列移除,并同时将内容队列的队首内容值移除,然后对该条记录判断队尾2011-10-01与队首2011-09-04之间的差距为27天,小于30天,则转入步骤A4。
步骤S5,将时间队列队首时间点从队列移除,并同时将内容队列的队首内容值移除,转入步骤S4。
步骤A4,利用内容队列的内容值计算当前记录数据的目标值。
在本申请中,目标值包括:前述时间窗口内的累加值,时间窗口内的最大值,时间窗口内的最小值,时间窗口内的平均值,前述记录总数等。
优选的,所述步骤A4包括:
步骤S6,基于新加入内容队列的内容值,和/或前一条记录数据的目标值,和/或被移除内容队列的队首值,计算当前记录数据对应的目标值。
比如当计算内容队列最大值或最小值时,扫描整个内容队列获取最大值或最小值。比如计算累加值时,存在两种情况:(1)当内容队列队首没有移除队首值时,那么则将前一条记录数据的目标值加上新加入内容队列的内容值,即可获得目标值;(2)当当内容队列队首移除队首值时,则将前一条记录数据的目标值减去被移除内容队列的队首值,然后加上新加入内容队列的内容值,即可获得目标值。
比如计算时间窗口的累加值作为一个时间窗口模型参数,那么:
对于第一条记录对应的目标值为:内容队列的队首值,即10;
对于第二条记录对应的目标值为:内容队列的队尾值加上队首值,即20;
对于第三条记录对应的目标值为:内容队列的队尾值加上第二条记录对应的目标值20,即40;
对于第四条记录对应的目标值为:内容队列的队尾值加上第三条记录对应的目标值40,即70;
对于第五条记录对应的目标值为:
因为其进行了步骤A5的删除动作,所以在第一次进行删除动作时,可以由队尾值加上第四条记录对应的目标值70,然后再减去当前被删除的队列的队首值10,即得到目标值100;在第二次进行删除动作时,可直接由刚得到的目标值减去当前被删除的队列的队首值10,即得到90。如此可进一步节省计算时间。
步骤140,将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出。
在得到每条记录的目标值后,将其作为时间窗口模型参数,然后结合相应记录数据对应的主体、时间点进行输出。实际中,输出到行为分析计算模块,进行用户的行为分析,判断其行为是否异常,比如交易行为是否存在盗用,欺诈,套现等。
其中,将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出时还包括:
将当前记录数据的时间点、和/或卖家id、和/或买家id、和/或金额进行输出。
即可根据行为分析模型等模型的精度要求,输出当前记录数据的时间点、和/或卖家id、和/或买家id、和/或金额进行输出。
将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出时,每台服务器排好序后从上到下依次处理每一条数据,处理一条数据,输出这个数据对应的X值。即当前数据入队列,计算对应目标值,输出结果。
比如前述例子中,对于2011-09-01以后的每笔交易进行分析,那么需要对2011-09-01以后的每笔交易的时间窗口之内的各条记录的目标值进行输出。即当时间队列的队尾为2011-09-04时,比如对于seller-1,开始将时间队列中存在seller-1的2011-08-20,2011-08-22,2011-09-04及对应的三条记录数据对应的目标值一起输出;其中,如果需要是分析2011-09-01以后的交易,最终结果可以忽略2011-08-20,2011-08-22这两笔交易数据。
当时间队列的队尾为2011-09-15时,将时间队列中2011-08-20,2011-08-22,2011-09-04,2011-09-15及对应的四条记录数据对应的目标值一起输出;
当时间队列的队尾为2011-10-01时,将时间队列中2011-09-04,2011-09-15,2011-10-01及对应的三条记录数据对应的目标值一起输出。
在上述步骤中,采用记录模块记录时间队列和内容队列队尾对应的记录数据的目标值;若当前待处理的记录数据的主体与当前时间队列和内容队列的主体不同,则将记录模块的记录进行清空。比如前述采用变量X进行记录。
由于通过上述步骤将整个记录数据可以单个主体为单位,可以轻易的分配到一台服务器中进行计算,那么对于记录数据中的各个主体,那么可将各主体分散到多台台服务器中进行计算,可不被服务器的数据库性能所限制,当主体的数量增大时,则可采用增加服务器的方式,将新增的主体分配入新增的服务器中进行计算,因此基于本申请方法的运算特性,使本申请的可扩展性高。
参照图3,其示出了本申请一种获取时间窗口模型参数的系统,包括:
数据分配模块310,用于针对各条记录数据,将属于同一主体的各条记录数据分配到同一个服务器中;
排序模块320,用于将每个服务器中的属于同一主体的各条记录数据按记录的时间顺序排列;
分析计算模块330,用于针对每个服务器,从记录数据列表表头的记录数据开始,逐条将记录数据的时间点和内容分别加入时间队列和内容队列,时间队列和内容队列按序一一对应;其中,利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值;
输出模块340,用于将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出。
其中,所述分析计算模块330包括:
第一判断子模块,用于判断当前待处理的记录数据的主体是否与当前时间队列和内容队列的主体不同;若不同,则将时间队列和内容队列清空,并将当前记录数据主体作为时间队列和内容队列的主体,转入队列处理子模块;若相同,转入队列处理子模块;
队列处理子模块,用于将当前记录数据的时间点加入时间队列,将当前记录数据的内容加入内容队列,保持当前时间队列队尾的时间点与队首的时间点的差距符合预置的时间段范围,并保持内容队列与时间队列一致;其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
计算子模块,利用内容队列的内容值计算当前记录数据的目标值。
其中,所述队列处理子模块包括:
加入子模块,用于将当前待处理的一条记录数据的时间点加入时间队列,和将所述记录数据的记录内容加入内容队列;其中,其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
第二判断子模块,用于判断当前待处理的一条记录数据的时间点与时间队列的队首的时间点相距的时间段是否大于阈值;如果大于,转入移除子模块;如果小于或等于,则转入计算子模块;
移除子模块,用于将时间队列队首时间点从队列移除,并同时将内容队列的队首内容值移除,第二判断子模块。
参照图4,其示出了本申请优选的一种获取时间窗口模型参数的系统,包括:
调度中心410,和集群服务器;
所述调度中心410包括数据分配模块,用于针对各条记录数据,将属于同一主体的各条记录数据分配到同一个服务器中;
所述集群服务器中各服务器包括:
排序模块421,用于将每个服务器中的属于同一主体的各条记录数据按记录的时间顺序排列;
分析计算模块422,用于针对每个服务器,从记录数据列表表头的记录数据开始,逐条将记录数据的时间点和内容分别加入时间队列和内容队列,时间队列和内容队列按序一一对应;其中,利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值;
输出模块423,用于将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出。
由于通过前述方法的描述,将整个记录数据可以单个主体为单位,可以轻易的分配到一台服务器中进行计算,那么对于记录数据中的各个主体,那么可将各主体分散到多台台服务器中进行计算,可不被服务器的数据库性能所限制,当主体的数量增大时,则可采用增加服务器的方式,将新增的主体分配入新增的服务器中进行计算,因此本申请的系统,可扩展性高。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明优选应用于嵌入式系统中。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上对本申请所提供的一种获取时间窗口模型参数的方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种获取时间窗口模型参数的方法,其特征在于,包括:
针对各条记录数据,将属于同一主体的各条记录数据分配到同一个服务器中;
将每个服务器中的属于同一主体的各条记录数据按记录的时间顺序排列;
针对每个服务器,从记录数据列表表头的记录数据开始,逐条将记录数据的时间点和内容分别加入时间队列和内容队列,时间队列和内容队列按序一一对应;其中,利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值;
将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出。
2.根据权利要求1所述的方法,其特征在于,所述利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值包括:
步骤A1,判断当前待处理的记录数据的主体是否与当前时间队列和内容队列的主体不同;若不同,转入步骤A2;若相同,转入步骤A3;
步骤A2,则将时间队列和内容队列清空,并将当前记录数据主体作为时间队列和内容队列的主体,转入步骤A3;
步骤A3,将当前记录数据的时间点加入时间队列,将当前记录数据的内容加入内容队列,保持当前时间队列队尾的时间点与队首的时间点的差距符合预置的时间段范围,并保持内容队列与时间队列一致;其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
步骤A4,利用内容队列的内容值计算当前记录数据的目标值。
3.根据权利要求2所述的方法,其特征在于,所述步骤A3包括:
步骤S3,将当前待处理的一条记录数据的时间点加入时间队列,和将所述记录数据的记录内容加入内容队列;其中,其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
步骤S4,判断当前待处理的一条记录数据的时间点与时间队列的队首的时间点相距的时间段是否大于阈值;如果大于,转入步骤S5;如果小于或等于,则转入步骤A4;
步骤S5,将时间队列队首时间点从队列移除,并同时将内容队列的队首内容值移除,转入步骤S4。
4.根据权利要求2或3所述的方法,其特征在于,所述步骤A4包括:
基于新加入内容队列的内容值,和/或前一条记录数据的目标值,和/或被移除内容队列的队首值,计算当前记录数据对应的目标值。
5.根据权利要求4所述的方法,其特征在于,将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出时还包括:
将当前记录数据的时间点、和/或卖家id、和/或买家id、和/或金额进行输出。
6.根据权利要求1或4所述的方法,其特征在于,所述目标值包括:
当前记录数据对应的内容队列的求和、内容队列的求最大值、内容队列的求最小值、当前记录数据对应的记录总数。
7.根据权利要求2或4所述的方法,其特征在于:
采用记录模块记录时间队列和内容队列队尾对应的记录数据的目标值;若当前待处理的记录数据的主体与当前时间队列和内容队列的主体不同,则将记录模块的记录进行清空。
8.一种获取时间窗口模型参数的系统,其特征在于,包括:
数据分配模块,用于针对各条记录数据,将属于同一主体的各条记录数据分配到同一个服务器中;
排序模块,用于将每个服务器中的属于同一主体的各条记录数据按记录的时间顺序排列;
分析计算模块,用于针对每个服务器,从记录数据列表表头的记录数据开始,逐条将记录数据的时间点和内容分别加入时间队列和内容队列,时间队列和内容队列按序一一对应;其中,利用时间队列筛选属于同一主体的符合时间段阈值范围的记录数据,利用内容队列计算对应每条记录数据的目标值;
输出模块,用于将所述目标值作为时间窗口模型参数,并结合相应记录数据对应的主体进行输出。
9.根据权利要求8所述的系统,其特征在于,所述分析计算模块包括:
第一判断子模块,用于判断当前待处理的记录数据的主体是否与当前时间队列和内容队列的主体不同;若不同,则将时间队列和内容队列清空,并将当前记录数据主体作为时间队列和内容队列的主体,转;若相同,转入队列处理子模块;
队列处理子模块,用于将当前记录数据的时间点加入时间队列,将当前记录数据的内容加入内容队列,保持当前时间队列队尾的时间点与队首的时间点的差距符合预置的时间段范围,并保持内容队列与时间队列一致;其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
计算子模块,利用内容队列的内容值计算当前记录数据的目标值。
10.根据权利要求9所述的系统,其特征在于,所述队列处理子模块包括:
加入子模块,用于将当前待处理的一条记录数据的时间点加入时间队列,和将所述记录数据的记录内容加入内容队列;其中,其中时间队列时间点和内容队列的内容值按加入顺序一一对应;
第二判断子模块,用于判断当前待处理的一条记录数据的时间点与时间队列的队首的时间点相距的时间段是否大于阈值;如果大于,转入移除子模块;如果小于或等于,则转入计算子模块;
移除子模块,用于将时间队列队首时间点从队列移除,并同时将内容队列的队首内容值移除,转入第二判断子模块。
CN201210177720.6A 2012-05-31 2012-05-31 一种获取时间窗口模型参数的方法和系统 Active CN103455509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210177720.6A CN103455509B (zh) 2012-05-31 2012-05-31 一种获取时间窗口模型参数的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210177720.6A CN103455509B (zh) 2012-05-31 2012-05-31 一种获取时间窗口模型参数的方法和系统

Publications (2)

Publication Number Publication Date
CN103455509A true CN103455509A (zh) 2013-12-18
CN103455509B CN103455509B (zh) 2017-03-01

Family

ID=49737889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210177720.6A Active CN103455509B (zh) 2012-05-31 2012-05-31 一种获取时间窗口模型参数的方法和系统

Country Status (1)

Country Link
CN (1) CN103455509B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653551A (zh) * 2014-11-14 2016-06-08 阿里巴巴集团控股有限公司 分布式系统中数据更新和统计的方法及其装置
CN106227765A (zh) * 2016-07-13 2016-12-14 广州唯品会网络技术有限公司 时间窗口累计的实现方法
CN109471873A (zh) * 2018-09-05 2019-03-15 珠海格力电器股份有限公司 数据记录筛选方法和装置
CN110501947A (zh) * 2019-08-23 2019-11-26 上海东软载波微电子有限公司 信号处理方法及设备
CN111078622A (zh) * 2018-10-18 2020-04-28 武汉光谷航天三江激光产业技术研究院有限公司 一种多路数据采集及筛选方法和装置
CN112954977A (zh) * 2021-02-18 2021-06-11 财拓云计算(上海)有限公司 一种基于人工智能实现数据中心节能温控的系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101496056A (zh) * 2006-06-20 2009-07-29 欧睦技术公司 用于监控交易的系统和方法
US20100306042A1 (en) * 1999-06-15 2010-12-02 Fraser Stuart A System and method that provide incentives to qualified users of an electronic trading system
CN101908160A (zh) * 2009-06-08 2010-12-08 弋涛 银行卡管理系统、其交易统计和积分使用的方法
CN102089759A (zh) * 2008-07-09 2011-06-08 凯森公司 生成用于输入分析模型的分析数据集的方法
WO2011112418A2 (en) * 2010-03-09 2011-09-15 Google Inc. Method and system for detecting fraudulent internet merchants
CN102376061A (zh) * 2011-08-26 2012-03-14 浙江工业大学 基于全方位视觉的消费者购买行为分析装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306042A1 (en) * 1999-06-15 2010-12-02 Fraser Stuart A System and method that provide incentives to qualified users of an electronic trading system
CN101496056A (zh) * 2006-06-20 2009-07-29 欧睦技术公司 用于监控交易的系统和方法
CN102089759A (zh) * 2008-07-09 2011-06-08 凯森公司 生成用于输入分析模型的分析数据集的方法
CN101908160A (zh) * 2009-06-08 2010-12-08 弋涛 银行卡管理系统、其交易统计和积分使用的方法
WO2011112418A2 (en) * 2010-03-09 2011-09-15 Google Inc. Method and system for detecting fraudulent internet merchants
CN102376061A (zh) * 2011-08-26 2012-03-14 浙江工业大学 基于全方位视觉的消费者购买行为分析装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653551A (zh) * 2014-11-14 2016-06-08 阿里巴巴集团控股有限公司 分布式系统中数据更新和统计的方法及其装置
CN105653551B (zh) * 2014-11-14 2019-01-11 阿里巴巴集团控股有限公司 分布式系统中数据更新和统计的方法及其装置
CN106227765A (zh) * 2016-07-13 2016-12-14 广州唯品会网络技术有限公司 时间窗口累计的实现方法
CN106227765B (zh) * 2016-07-13 2019-09-06 广州唯品会网络技术有限公司 时间窗口累计的实现方法
CN109471873A (zh) * 2018-09-05 2019-03-15 珠海格力电器股份有限公司 数据记录筛选方法和装置
CN111078622A (zh) * 2018-10-18 2020-04-28 武汉光谷航天三江激光产业技术研究院有限公司 一种多路数据采集及筛选方法和装置
CN110501947A (zh) * 2019-08-23 2019-11-26 上海东软载波微电子有限公司 信号处理方法及设备
CN112954977A (zh) * 2021-02-18 2021-06-11 财拓云计算(上海)有限公司 一种基于人工智能实现数据中心节能温控的系统及方法

Also Published As

Publication number Publication date
CN103455509B (zh) 2017-03-01

Similar Documents

Publication Publication Date Title
Zheng et al. Real-time intelligent big data processing: technology, platform, and applications
CN103620601B (zh) 在映射缩减过程中汇合表
US20190004875A1 (en) Artificial Creation Of Dominant Sequences That Are Representative Of Logged Events
CN103455509A (zh) 一种获取时间窗口模型参数的方法和系统
US10614073B2 (en) System and method for using data incident based modeling and prediction
CN110956273A (zh) 融合多种机器学习模型的征信评分方法及系统
CN111339073A (zh) 实时数据处理方法、装置、电子设备及可读存储介质
US20200250193A1 (en) Aggregating quantile metrics in multidimensional data sets
CN110322931A (zh) 一种碱基识别方法、装置、设备及存储介质
Aleskerov et al. Multicriterial ranking approach for evaluating bank branch performance
CN109460299B (zh) 一种分布式并行多源社交网络数据采集系统和方法
CN108647714A (zh) 负面标签权重的获取方法、终端设备及介质
CN105138656A (zh) 一种处理数据的方法及装置
Suriarachchi et al. Big provenance stream processing for data intensive computations
CN111984677B (zh) 资源数据核对方法、装置、计算机设备和存储介质
Joshi Analyzing big data tools and deployment platforms
Farokhmehr et al. Implementing machine learning on a big data engine for e-learning
CN110795469A (zh) 基于Spark的高维序列数据相似性查询方法及系统
CN108595669A (zh) 一种无序分类变量处理方法及装置
CN110929121B (zh) 基于日志分析的地震资料处理机时精细化计算方法及系统
Finogeev et al. Application of hyper-convergent platform for big data in exploring regional innovation systems
CN113918623B (zh) 风控相关行为的次数计算方法及其装置
Babu et al. ANP-GP approach for selection of software architecture styles
WO2022227213A1 (zh) 行业推荐方法、装置、计算机设备及存储介质
CN109960777A (zh) 物品评论个性化推荐方法、系统、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1191717

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1191717

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191210

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Patentee after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Co., Ltd.