CN103164434A - 实时数据的获取方法、装置及系统 - Google Patents
实时数据的获取方法、装置及系统 Download PDFInfo
- Publication number
- CN103164434A CN103164434A CN2011104153464A CN201110415346A CN103164434A CN 103164434 A CN103164434 A CN 103164434A CN 2011104153464 A CN2011104153464 A CN 2011104153464A CN 201110415346 A CN201110415346 A CN 201110415346A CN 103164434 A CN103164434 A CN 103164434A
- Authority
- CN
- China
- Prior art keywords
- real time
- time data
- daily record
- data
- real
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种实时数据的获取方法、装置及系统。其中,该方法包括:在向日志服务器中写入日志时,向实时数据系统输入当前待写入的日志;实时数据系统实时获取当前输入的待写入的日志,实时数据系统实时解析待写入的日志,获取该日志中记录的实时数据。通过本申请,通过实时获取待写入日志服务器的日志,获取实时数据,由于日志服务器不依赖于用户使用的客户端,用户发生的任何行为,都能记录到日志服务器中,从而保证了实时数据的完整性,并且,由于获取的是实时向日志服务器写入的日志,因此,可以在发生用户行为的第一时间获取到相应的实时数据,提高了实时数据获取的实时性。
Description
技术领域
本申请涉及计算机及互联网技术领域,具体而言,涉及一种实时数据的获取方法、装置及系统。
背景技术
个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。随着电子商务规模的不断扩大,商品个数和种类快速增长,顾客需要花费大量的时间才能找到自己想买的商品。这种浏览大量无关的信息和产品过程无疑会使淹没在信息过载问题中的消费者不断流失。为了解决这些问题,个性化推荐系统应运而生。个性化推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务。
目前,推荐系统日益广泛的应用到了电子商务的各个领域。在推荐过程中,把握用户当前状态,最近的访问行为,可以有效的提高推荐的精准度。而如何获得实时数据,如何快速利用实时数据,一直是实现实时功能的难点。现有的推荐系统一般是利用历史数据做离线计算,数据延迟比较大,不能反应用户当前或近期行为,推荐的准确性受损。因此,现有的推荐系统大部分不能实时计算,只能做到准实时。
对于现有的已实现部分实时功能的推荐系统,实时数据的获取一般依赖于客户端的设置。比如,通过cookie或flash等客户端存储,然后定期上报给服务器,由服务器对实时数据进行处理。这种依赖客户端的设置的方式获取实时数据,并不能获取到用户所有行为的实时数据,例如,如果用户清除了cookie,或者用户从另一台机器登陆等,都将导致用户实时行为的丢失。并且,采用这种实时数据的获取方式,由于客户端是定期向服务器上报,从而导致服务器获取的数据的实时性较差。
针对现有技术中的实时数据获取不完整及实时性较差的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种实时数据的获取方法、装置及系统,以解决现有技术中的实时数据的获取不完整以及实时性较差的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种实时数据的获取方法。
根据本申请的实时数据的获取方法包括:在向日志服务器中写入日志时,向实时数据系统输入当前待写入的日志;所述实时数据系统实时获取当前输入的所述待写入的日志;所述实时数据系统实时解析所述待写入的日志,获取所述日志中记录的实时数据。
优选地,在向日志服务器写入日志之前,所述方法还包括:客户端的日志程序实时获取用户行为数据,将所述用户行为数据作为上述待写入的日志传送到所述日志服务器。
优选地,在获取所述日志中记录的实时数据之后,所述方法还包括:对所述日志中记录的数据进行实时处理,得到所需的实时数据。
优选地,对所述日志中记录的实时数据进行实时处理,包括:将所述日志中记录的数据分发给多个处理器中的一个处理器,所述处理器对所述日志中记录的实时数据进行实时处理,然后保存处理得到的所述实时数据。
优选地,将所述日志中记录的实时数据分发给多个处理器中的一个处理器,包括:以所述日志中记录的一个属性值为关键字,进行哈希计算;根据预先设置的对应关系,将所述日志中记录的实时数据分发给与哈希计算得到的结果对应的处理器。
优选地,所述处理器对所述日志中记录的实时数据进行实时处理,包括:所述处理器查询保存的历史数据,获取与所述日志中记录的实时数据相关联的历史数据;所述处理器根据获取的所述历史数据,对所述日志中记录的实时数据进行处理。
优选地,所述处理器查询保存的历史数据,包括:所述处理器向保存所述历史数据的存储模块发送查询请求,其中,所述查询请求中携带请求查询内容的关键字;根据所述关键字,进行哈希计算,根据哈希计算结果,将所述查询请求分发给与所述哈希计算结果对应的查询单元;所述查询单元查询保存的所述历史数据,将查询到的所述历史数据返回给所述处理器。
优选地,对所述日志中记录的实时数据进行实时处理,包括:加载外挂的快速时间衰减模型和逻辑规则对所述日志中记录的实时数据进行实时处理。
根据本申请的另一个方面,提供了一种实时数据的获取装置。
根据本申请的实时数据的获取装置包括:输入模块,用于接收在向日志服务器中写入日志时输入实时数据系统的当前待写入的日志;获取模块,用于实时获取当前输入的所述待写入的日志;解析模块,用于实时解析所述待写入的日志,获取所述日志中记录的实时数据。
优选地,所述装置还包括:处理模块,用于对所述日志中记录的实时数据进行实时处理,得到所需的实时数据。
优选地,所述处理模块包括:第一分发单元,用于将所述日志中记录的实时数据分发给多个所述处理单元中的一个所述处理单元;处理单元,用于对输入的所述日志中记录的实时数据进行实时处理。
优选地,所述装置还包括:存储模块,用于存储所述处理单元进行实时处理后得到的实时数据;查询模块,用于根据来自所述处理单元的查询请求,查询所述存储模块中保存的与所述日志中记录的实时数据相关联的历史数据,并将获取的所述历史数据返回给所述处理单元;所述处理单元还用于根据所述查询模块返回的所述历史数据对所述日志中记录的实时数据进行实时处理。
优选地,所述查询模块包括:第二分发单元和多个查询单元,其中,所述第二分发单元,用于根据预设的关键字,进行哈希计算,根据哈希计算结果,将所述查询请求分发给与所述哈希计算结果对应的查询单元;所述查询单元,用于执行所述查询请求对应的查询任务,将查询得到的所述历史数据返回给所述处理单元。
优选地,所述处理模块用于加载外挂的快速时间衰减模型和逻辑规则对所述日志中记录的实时数据进行实时处理。
根据本申请的再一个方面,提供了一种实时数据的获取系统。
根据本申请的实时数据的获取系统包括:实时数据存储模块和上述的实时数据的获取装置,其中,所述实时数据存储模块用于存储所述获取装置得到的实时数据。
优选地,所述实时数据存储模块包括多个对外接口。
通过本申请,通过实时获取待写入日志服务器的日志,获取实时数据,由于日志服务器不依赖于用户使用的客户端,用户发生的任何行为,都能记录到日志服务器中,从而保证了实时数据的完整性,并且,由于获取的是实时向日志服务器写入的日志,因此,可以在发生用户行为的第一时间获取到相应的实时数据,提高了实时数据获取的实时性。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的实时数据的获取方法的流程图;
图2是根据本申请优选实施例的日志服务器实时输出日志的示意图;
图3是根据本申请优选实施例的实时数据的获取方法的流程图;
图4是根据本申请优选实施例的分布处理的示意图;
图5是根据本申请实时数据的获取流程示意图;
图6是根据本申请实施例的实时数据的获取装置的结构示意图;
图7是根据本申请优选实施例的实时数据的获取装置的结构示意图;
图8是根据本申请另一优选实施例的实时数据的获取装置的结构示意图;
图9是根据本申请又一优选实施例的实时数据的获取装置的结构示意图;
图10是根据本申请又一优选实施例的实时数据的获取装置中查询模块的结构示意图;
图11是根据本申请实施例的实时数据的获取系统的结构示意图;以及
图12是根据本申请实施例的实时数据的应用系统的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
以下实施例以实时推荐系统获取实时数据为例,对本申请提出的实时数据的获取方案进行说明,但并不限于此,在实际应用中,其他需要获取用户的实时数据的系统也可以采用本申请提供的实时数据的获取方案,获取用户的实时数据,例如,安全管理系统可以根据本申请提供的实时数据的获取方案,获取用户的实时数据,根据用户的实时数据中记录的用户近期的访问路径,判断出用户是否是欺诈用户,从而保证系统的安全。
图1是根据本申请实施例的实时数据的获取方法的流程图,如图1所示,本申请实施例的实时数据的获取方法主要包括以下步骤S102-步骤S106。
步骤S102,在向日志服务器中写入日志时,向实时推荐系统输入当前待写入的日志。
在一个网络系统中,日志服务器记录每个用户访问行为,而不依赖于用户使用的客户端,因此,在本申请中,在向日志服务器写入日志时,触发向实时推荐系统输入日志的操作,将待写入日志服务器的日志输入到实时推荐系统,从而使得实时推荐系统可以获取用户的所有访问行为数据,从而保证了实时数据的完整性。
在本申请实施例的一个优选实施方式中,客户端可以通过其日志程序实时获取用户的行为数据,并实时传输至日志服务器。例如,如图2所示,各个客户端通过日志打点获取用户的行为数据,并传送到日志服务器,日志服务器生成日志并实时输出。在本申请中,每在日志服务器中增加一条日志时,就向实时推荐系统实时输出当前待增加到日志服务器的日志。
通过上述优选实施方式,利用打点日志,可以实现用户的行为数据的实时获取,不依赖于用户所使用的客户端,分散获取用户的行为数据,提高了日志服务器获取用户的行为数据的便捷性及系统的反应速度。
步骤S104,实时推荐系统实时获取当前输入的上述待写入日志服务器的日志。
步骤S106,实时推荐系统实时解析当前获取到的日志,获取日志中记录的实时数据。
在本申请中,实时推荐系统通过实时解析当前待写入到日志服务器的日志,获取日志中记录的实时数据,每向日志服务器写入一项日志记录,实时推荐系统解析一项日志记录,而不是采用周期上报的方式解析实时数据,从而分散了实时推荐系统解析日志的压力,提高了实时推荐系统解决日志的性能,加快了实时推荐系统的反应速度。
为了使各个应用模块可以利用获取的实时数据,在解析出日志中记录的实时数据之后,可以进一步对获取的实时数据进行处理,以得到所需的实时数据,即对日志中记录的实时数据进行分析,得到用户的行为特征。例如,在一个网站购物系统中,如果用户点击收藏某个商品,实时推荐系统通过解析日志服务器针对用户的该行为生成并输出的日志文件,获取用户收藏的商品的特征,得到用户可能购买的商品的特征,例如,如果用户点击收藏“xx牌奶糖”,则实时推荐系统对日志服务器输出的日志中记录的数据进行分析,获取到用户收藏的商品特征为“奶糖”,从而可以认定该用户对“奶糖”感兴趣,实时推荐系统可以实时向用户推荐其余品牌的奶糖。因此,在本申请实施例的一个优选实施方式中,如图3所示,在步骤S106之后,还包括:
步骤S108,实时推荐系统对日志中记录的数据进行实时处理,得到所需的实时数据。
在本申请实施例的一个优选实施方式中,为了提高系统的反应速度,实时推荐系统可以设置多个处理器对日志中记录的数据进行处理,在解析得到日志中记录的数据后,实时推荐系统可以将该数据分发给该多个处理器中的一个处理器,由该处理器对日志中记录的数据时行实时处理。
采用该优选实施方式,由多个处理器分布式处理日志中记录的数据,从而避免了用户数量较大时而服务器的负担较重的问题,提高了实时推荐系统处理日志数据的速度,进而使得系统可以快速的对用户当前的行为进行反应,例如,对于实时推荐系统来说,在上述所例举的用户点击收藏“xx牌奶糖”的用户行为,实时推荐系统可以快速的获取到该用户的行为特征为对“奶糖”感兴趣,则可以在反应用户点击收藏“xx牌奶糖”的网页上,向用户推荐其他品牌的奶糖,从而提高了系统的反应速度。
在本申请实施例的一个优选实施例中,可以预先设置一个对应关系,该对应关系记录了不同的哈希计算结果所对应的处理器,以日志中记录的一个属性值为关键字,对该关键字进行哈希计算,根据预先设置的上述对应关系,将当前从日志中解析得到的数据分发给与哈希计算得到的结果对应的处理器,由该处理器对当前从日志中解析得到的数据进行处理。
在上述优选实施例中,通过哈希计算分发从日志中解析得到的数据,可以保证各个处理器之间的负载均衡,避免其中某个处理器的负荷太重而导致数据堵塞,进而导致系统反应速度变慢的问题。
需要说明的是,虽然上述优选实施例以哈希算法为例进行说明,但并不限于此,在本申请实施例的其他实施例中,也可以采用其它的方式分发从日志中解析得到的数据。例如,如果用户ID为数字,处理器的数量为10,则可以按照用户ID与10之商的余数分发从日志中解析得到的数据,每个余数对应一个处理器。
在本申请实施例的一个优选实施方式中,为了保证数据处理的精确性,处理器在将得到的实时数据存储到实时数据库中时,还可以将该实时数据作为历史数据存储在本地,在对日志中记录的数据进行处理时,处理器可以结合存储的历史数据中与当前日志中记录的数据相关联的数据对当前日志中记录的实时数据进行处理。
在本申请实施例的一个优选实施方式中,处理器在对当前日志中记录的数据进行处理时,可以查询保存的历史数据,获取与当前日志中记录的数据相关联的历史数据,例如,可以获取历史数据中用户标识与当前日志中记录的用户标识相同的历史数据,或者,历史数据中客户端的IP地址与当前日志中记录的IP地址相同的历史数据,然后根据获取的相关的历史数据对当前日志中记录的数据进行处理。
例如,对于上述的用户在购物网站上点击收藏“xx牌奶糖”行为,处理器可以查询历史数据,获取曾经收藏或购买该“xx牌奶糖”的用户的用户数据,从而分析出收藏或购买该“xx牌奶糖”的用户具备的特征。
通过上述的优选实施方式,由于实时数据的处理结合了相关联的历史数据,将当前的实时数据与存储的历史数据进行整合利用,提高了数据的利用率,并保证了获取的实时数据的准确性。
在本申请实施例的一个优选实施方式中,处理器在查询历史数据时,可以向存储历史数据的数据库发送查询请求,例如,可以向数据库发送结构化查询语言(Structured QueryLanguage,简称为SQL)查询请求,该查询请求中携带请求查询的关键字,数据库在收到该查询请求后,查询存储历史数据的数据库,并将查询结构返回给处理器。为了避免大量的查询请求而导致数据堵塞,在本申请实施例的一个优选实施例中,可以采用多个查询单元并行执行查询操作,在接收到处理器的查询请求时,可以将该查询请求分发给相应的查询单元,由该查询单元执行相应的查询操作。
在上述优选实施例中,由多个查询单元并行执行查询操作操作,避免了只由一个查询单元执行而导致数据堵塞的问题,提高了存储历史数据的数据库对处理器的查询请求的反应速度,进而提高了整个系统的反应速度。
在本申请实施例的一个优选实施方式中,在分发处理器发送的查询请求时,也可以采用哈希算法来确定执行该查询请求的查询单元,例如,可以以查询请求中携带的关键字为变量,对该关键字进行哈希计算,根据哈希计算结果,将查询请求分发给与该哈希计算结果对应的查询单元。
以实时推荐系统向用户推荐offer为例,如图4所示,实时推荐系统实时读取日志服务器输出的日志(log),然后实时解析该日志中记录的数据,输出该日志中记录的用户ID(user_id)、offer_id、用户执行的行为(action)及当前时间(datetime)等,然后确定将该日志记录的实时数据按照用户关键字(userkey)进行分发,对该日志中记录的user_id进行哈希计算(Hash),根据计算结果,将从日志中解析得到的实时数据分发给对应的处理器进行处理,得到该用户的行为特征数据,并存储得到的数据。
处理器在对日志中记录的实时数据进行处理的过程中,可以结合历史数据进行处理,在本例以处理器需要获取与日志中记录的offer_id相同的记录为例,处理器在读取历史数据中记录的offer信息时,以offer为关键字分发查询请求,具体地,以日志中记录的offer_id为变量,计算Hash(offer_id),根据得到的计算结果,将查询请求分发给相应的查询单元,由查询单元查询存储的历史数据,获取历史数据中相应的内容,并返回给处理器。处理器结合查询得到历史数据,对当前从日志中解析得到的实时数据进行分析,得到用户的行为特征数据。
在本申请实施例中,上述多个查询单元可以通过多个并行的查询线程来实现;或者,也可以在存储历史数据时,按照预定的关键字,将历史数据进行分布存储,即按照预定的关键字,将历史数据分布存储于多个数据库中,例如,可以按照Hash(关键字)将历史数据存储在对应的数据库中,在查询历史数据时,可以以该关键字作哈希运算,向与哈希运算的结果对应的数据库发送查询请求,从而获取对应的历史数据。
在本申请实施例的一个优选实施方式中,为了保证实时数据的处理速度,实时数据的处理逻辑可以采用快速时间衰减模型,并加入相应的规则配置,即处理器在对实时数据进行处理时,可以通过加入规则配置的快速时间衰减模型对实时数据进行处理,从而提高实时数据的处理速度。
例如,在对某个用户进行统计运算时,可以采用以下公式进行统计计算:
score=w1*f(t1)+w2*f(t2)+...+wn*f(tn),其中,w1,w2,...,wn为权重,t1,t2,...,tn为时间参数,为当前时间点与事件发生时间点之间的时间间隔。
在上述公式中,f(t1),f(t2),...,f(tn)即为快速时间衰减模型,由于用户的偏好是随着时间的衰减而衰减的,因此,在本申请实施例中,f(t1),f(t2),...,f(tn)是随着变量时间间隔t1,t2,...,tn的增大而递减的函数,因此,f(t1),f(t2),...,f(tn)称为快速时间衰减模型。而上述公式中的w1,w2,...,wn即为加入的相应的配置规则。
在本申请实施例的一个优选实施例中,为了可以灵活配置规则,可以通过加载外挂(例如,第三方提供的)的快速时间衰减模型和逻辑规则对日志中记录的数据进行处理。在本优选实施例中,由于采用的是外挂的快速时间衰减模型和逻辑规则,实时推荐系统可以动态加载,因此,在需要修改逻辑规则时,可以直接修改第三方提供的快速时间衰减模型和逻辑规则,在修改后的快速时间衰减模型和逻辑规则生效后,处理器动态加载,而不需要重新启动,从而保证了算法及规则的灵活性。
在本申请实施例的一个优选实施方式中,在将获取的实时数据存储在实时数据库中,应用可以通过实时数据库提供的对外接口,读取实时数据库中存储的实时数据,从而实现相应的应用功能。例如,在图4中,应用可以通过实时数据库的对外接口获取用户偏好或用户最近访问记录等数据,从而可以实现相应的应用功能。其中,实时数据库提供的对外接口可以为http接口,由于http接口具有兼容性,大多数应用系统都可以通过http接口访问实时数据库,因此,可以面向多种应用,提高了实时数据的利用率。
通过本申请实施例提供的上述实时数据的获取方法,利用打点日志实现实时数据的获取,不依赖于用户所使用的客户端,并且,这种方式分散获取用户实时数据,从而可以实现实时数据的分布式获取;另外,在本申请实施例,可以分布式处理实时数据,从而提高了系统的反应速度;并且,在本申请实施例中,在对实时数据进行处理时,实时数据和历史数据的结合应用,大大提高了推荐的精准度,提高了用户体验;另外,在本申请实施例中,实时计算采用外挂的快速时间衰减模型和逻辑规则,保证了算法和规则的灵活性。
下面以图5所示的实时数据的获取流程示意图为例,对本申请实施例提供的实时数据的获取方法进行说明。
如图5所示,在本申请实施例的一个优选实施例中,实时数据的获取方法可以包括以下步骤:
步骤S501,在向日志服务器写入日志文件时,将待写入的日志文件实时输入至实时推荐系统;
步骤S502,实时推荐系统实时解析输入的日志文件,获取所述日志文件中记录的实时数据;
步骤S503,读取本地存储的历史数据,结合本地存储的历史数据,对获取的实时数据进行处理;
步骤S504,将处理得到的实时数据分别存储到实时数据库及本地的历史数据库中;
步骤S505,实时数据库通过对外接口向应用实时输出实时数据。
通过该优选实施例,通过从日志服务器实时输出的日志文件,获取实时数据,由于日志服务器记录了用户的所有用户行为,从而保证了获取的实时数据的完整性。并且,在上述优选实施例中,在对日志中记录的数据进行处理时,结合了本地存储的历史数据,从而提高了实时数据处理的准确度,进而保证了实时推荐系统得到的诸如用户偏好及用户最近访问记录的准确性。
图6是根据本申请实施例的实时数据的获取装置的结构示意图,该装置可以用来实现本申请实施例提供的上述实时数据的获取方法。
如图6所示,该装置主要包括:输入模块70、获取模块10和解析模块20。
输入模块70,用于在向日志服务器中写入日志时,输入当前待写入的日志至实时数据系统。
获取模块10,与输入模块70耦合,用于实时获取当前输入的待写入日志服务器的日志。
例如,在实际应用中,客户端在访问某个网络系统时,打点程序获取用户的行为数据,通过日志打点实时传送至日志服务器,在向日志服务器写入日志时,实时输出待写入的日志至输入模块70,获取模块10实时获取当前输入至输入模块70的日志。
解析模块20,与获取模块10耦合,用于实时解析日志服务器实时输出的日志,获取该日志中记录的实时数据。
例如,以求职网站为例,当用户通过某个客户端申请该求职网站中提供的某个职位时,打点程序获取该用户的行为数据并传输给日志服务器,在向日志服务器写入日志文件时,将当前待写入的日志文件实时输入到输入模块70,获取模块10实时获取当前输入的该日志文件,解析模块20解析该日志文件,从中获取该日志文件中记录的实时数据,得到的实时数据如表1所示。
表1.
user_id | offer_id | action | datetime | other |
abc | 123 | apply | 2010.11.11 | …… |
由于解析模块20解析得到的实时数据记录的是与用户本次操作相关的信息,为了使解析模块20得到的实时数据更便于利用,可以进一步对解析模块20得到的实时数据进行处理。因此,在本申请实施例的一个优选实施方式中,如图7所示,该装置还可以包括:处理模块30,与解析模块20耦合,用于对所述日志中记录的实时数据进行实时处理,得到所需的实时数据。
例如,为了节约存储空间,对于解析模块20得到如上述表1所示的实时数据,处理模块30可以对该实时数据进行处理,删除其中不需要的数据,例如,删除表1中“other”属性记录的信息。
为了提高系统的反应速度,避免同时处理大量实时数据而导致阻塞,在本申请实施例的一个优选实施方式中,如图8所示,处理模块30可以包括:第一分发单元310和多个处理单元320。其中,第一分发单元310,用于将日志中记录的实时数据分发给多个处理单元320中的一个处理单元;处理单元320,与第一分发单元310耦合,用于对输入的日志中记录的实时数据进行实时处理。
为了提高实时数据的处理精度,可以将处理单元320处理得到的实时数据存储为历史数据,处理单元320在处理实时数据时,可以结合保存的历史数据(可以称着为后台数据),对实时数据进行处理。因此,在本申请实施例的一个优选实施方式,如图9所示,该装置还可以包括:存储模块40和查询模块50。其中,存储模块40,耦合至多个处理单元320,用于存储处理单元320进行实时处理得到实时数据;查询模块50耦合至存储模块40,用于根据来自处理单元320的查询请求,查询存储模块40中保存的与日志中记录的实时数据相关联的历史数据,并将获取的历史数据返回给处理单元320;处理单元320用于根据查询模块50返回的历史数据对日志中记录的实时数据进行实时处理。
例如,处理单元320在处理如表1所示的实时数据时,需要获取历史数据库中存储的当前用户申请的offer_id对应的offer的相关信息,可以向存储历史数据的数据库发送查询请求,例如,可以向数据库发送结构化查询语言(Structured Query Language,简称为SQL)查询请求,该查询请求中携带请求查询的关键字,数据库在收到该查询请求后,查询存储历史数据的数据库,并将查询结构返回给处理单元320,处理单元320根据这些信息对表1所记录的实时数据进行处理,例如,获取用户当前申请的offer的某些特性信息(例如,工作地点、性质等)与用户进行关联。
通过本申请实施例的上述实施方式,处理单元320可以结合后台保存的历史数据,对解析模块20解析得到的实时数据进行处理,从而保证了实时数据处理的精度。
为了避免多个处理单元320同时发送查询请求,而导致数据拥塞的问题,在本申请实施例的一个优选实施方式,可以分布式查询处理单元320请求的数据,因此,在该优选实施方式中,如图10所示,查询模块50可以包括:第二分发单元510和多个查询单元520。其中,第二分发单元510,用于根据预设的关键字,进行哈希计算,根据哈希计算结果,将查询请求分发给与哈希计算结果对应的查询单元;查询单元520,耦合至第二分发单元510用于执行查询请求对应的查询任务,将查询得到的历史数据返回给处理单元320。
例如,针对上述表1所描述的情况,可以以offer_id为关键字,第二分发单元510在接收到处理单元320的查询请求(该查询请求中可以携带需要查询的offer_id,即为上述的关键字)后,计算Hash(offer_id),然后将查询请求发送给对应的查询单元520。例如,假设为10个查询单元520,Hash(offer_id)所有可能结果的范围是0~100,则可以将哈希结果为0~9的查询请求分配给第一个查询单元520,将哈希结果为10~19的查询请求分配给第一个查询单元520,以此类推,从而可以使得各个查询单元的负载尽可能的均衡,分散各个查询单元的负载压力,提高系统的反应速度。
需要说明的是,虽然上述优选实施例以哈希算法为例进行说明,但并不限于此,在本申请实施例的其他实施例中,也可以采用其它的方式分发从日志中解析得到的实时数据,或者,分发查询请求。例如,如果用户ID为数字,处理器的数量为10,则可以按照用户ID与10之商的余数分发从日志中解析得到的数据,每个余数对应一个处理器。
在本申请实施例的一个优选实施方式中,为了保证实时数据的处理速度,处理模块30在处理实时数据的处理逻辑可以采用快速时间衰减模型,并加入相应的规则配置,即处理模块30在对实时数据进行处理时,可以通过加载外挂的快速时间衰减模型和逻辑规则对实时数据进行处理,从而提高实时数据的处理速度。在本优选实施例中,由于采用的是外挂的快速时间衰减模型和逻辑规则,实时推荐系统可以动态加载,因此,在需要修改逻辑规则时,可以直接修改第三方提供的快速时间衰减模型和逻辑规则,在修改后的快速时间衰减模型和逻辑规则生效后,处理器动态加载,而不需要重新启动,从而保证了算法及规则的灵活性。
图11是根据本申请实施全铁实时数据的获取系统的结构示意图,如图11所示,该系统包括:实时数据存储模块2和本申请实施例上述的实时数据的获取装置4。
其中,实时数据的获取装置4可以采用本申请实施例上述所描述的结构获取实时数据,实时数据存储模块2与实时数据的获取装置4耦合,用于存储实时数据的获取装置4得到的实时数据。
在本申请实施例中,实时数据存储模块2可以通过多个对外接口向应用提供得到实时数据。其中,实时数据存储模块2提供的对外接口可以为http接口,由于http接口具有兼容性,大多数应用系统都可以通过http接口访问实时数据库,因此,可以面向多种应用,提高了实时数据的利用率。
在具体应用中,实时数据存储模块2及应用也可以与上述实时数据的获取装置4结合,组成一个实时数据的应用系统,如图12所示,根据本申请实施例的实时数据的应用系统主要包括三大模块:实时数据获取模块1(相当于上述的获取模块10和解析模块20)、实时数据处理模块3(相当于上述的处理模块30)及实时结果数据应用模块5(相当于外部应用)。
在图12中,实时数据获取模块1通过解析日志服务器实时生成并输出的日志,获取与用户行为相关的实时数据,将该实时数据输入到实时数据处理模块3,实时数据处理模块3根据实际需要,对输入的实时数据进行处理,将处理得到的实时结果数据输入到实时结果数据应用模块5,实时结果数据应用模块5根据输入的实时结果数据,进行相应的应用,例如,分析用户的偏好,对用户进行实时推荐,或者,统计用户最近的访问记录,判断用户是否为欺诈用户等。
通过本申请实施例提供的上述方案,利用打点日志实现实时数据的获取,不依赖于用户所使用的客户端,并且,这种方式分散获取用户实时数据,从而可以实现实时数据的分布式获取;另外,在本申请实施例,可以分布式处理实时数据,从而提高了系统的反应速度;并且,在本申请实施例中,在对实时数据进行处理时,实时数据和历史数据的结合应用,大大提高了推荐的精准度,提高了用户体验;另外,在本申请实施例中,实时计算采用外挂的快速时间衰减模型和逻辑规则,保证了算法和规则的灵活性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种实时数据的获取方法,其特征在于,包括:
在向日志服务器中写入日志时,向实时数据系统输入当前待写入的日志;
所述实时数据系统实时获取当前输入的所述待写入的日志;
所述实时数据系统实时解析所述待写入的日志,获取所述日志中记录的实时数据。
2.根据权利要求1所述的方法,其特征在于,在向日志服务器中写入日志之前,所述方法还包括:
客户端的日志程序实时获取用户行为数据,将所述用户行为数据作为所述待写入的日志传送到所述日志服务器。
3.根据权利要求1所述的方法,其特征在于,在获取所述日志中记录的实时数据之后,所述方法还包括:对所述日志中记录的数据进行实时处理,得到所需的实时数据。
4.根据权利要求3所述的方法,其特征在于,对所述日志中记录的实时数据进行实时处理,包括:
将所述日志中记录的数据分发给多个处理器中的一个处理器,所述处理器对所述日志中记录的实时数据进行实时处理,然后保存处理得到的所述实时数据。
5.根据权利要求4所述的方法,其特征在于,将所述日志中记录的实时数据分发给多个处理器中的一个处理器,包括:
以所述日志中记录的一个属性值为关键字,进行哈希计算;
根据预先设置的对应关系,将所述日志中记录的实时数据分发给与哈希计算得到的结果对应的处理器。
6.根据权利要求4或5所述的方法,其特征在于,所述处理器对所述日志中记录的实时数据进行实时处理,包括:
所述处理器查询保存的历史数据,获取与所述日志中记录的实时数据相关联的历史数据;
所述处理器根据获取的所述历史数据,对所述日志中记录的实时数据进行处理。
7.根据权利要求6所述的方法,其特征在于,所述处理器查询保存的历史数据,包括:
所述处理器向保存所述历史数据的存储模块发送查询请求,其中,所述查询请求中携带请求查询内容的关键字;
根据所述关键字,进行哈希计算,根据哈希计算结果,将所述查询请求分发给与所述哈希计算结果对应的查询单元;
所述查询单元查询保存的所述历史数据,将查询到的所述历史数据返回给所述处理器。
8.根据权利要求3至5中任一项所述的方法,其特征在于,对所述日志中记录的实时数据进行实时处理,包括:
加载外挂的快速时间衰减模型和逻辑规则对所述日志中记录的实时数据进行实时处理。
9.一种实时数据的获取装置,其特征在于,包括:
输入模块,用于接收在向日志服务器中写入日志时输入实时数据系统的当前待写入的日志;
获取模块,用于实时获取当前输入的所述待写入的日志;
解析模块,用于实时解析所述待写入的日志,获取所述日志中记录的实时数据。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
处理模块,用于对所述日志中记录的实时数据进行实时处理,得到所需的实时数据。
11.根据权利要求10所述的装置,其特征在于,所述处理模块包括:
第一分发单元,用于将所述日志中记录的实时数据分发给多个所述处理单元中的一个所述处理单元;
处理单元,用于对输入的所述日志中记录的实时数据进行实时处理。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
存储模块,用于存储所述处理单元进行实时处理后得到的实时数据;
查询模块,用于根据来自所述处理单元的查询请求,查询所述存储模块中保存的与所述日志中记录的实时数据相关联的历史数据,并将获取的所述历史数据返回给所述处理单元;
所述处理单元还用于根据所述查询模块返回的所述历史数据对所述日志中记录的实时数据进行实时处理。
13.根据权利要求12所述的装置,其特征在于,所述查询模块包括:第二分发单元和多个查询单元,其中,
所述第二分发单元,用于根据预设的关键字,进行哈希计算,根据哈希计算结果,将所述查询请求分发给与所述哈希计算结果对应的查询单元;
所述查询单元,用于执行所述查询请求对应的查询任务,将查询得到的所述历史数据返回给所述处理单元。
14.根据权利要求10至13中任一项所述的装置,其特征在于,所述处理模块用于加载外挂的快速时间衰减模型和逻辑规则对所述日志中记录的实时数据进行实时处理。
15.一种实时数据的获取系统,其特征在于,包括:实时数据存储模块和权利要求9至14中任一项所述的实时数据的获取装置,其中,
所述实时数据存储模块用于存储所述获取装置得到的实时数据。
16.根据权利要求15所述的系统,其特征在于,所述实时数据存储模块包括多个对外接口。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104153464A CN103164434A (zh) | 2011-12-13 | 2011-12-13 | 实时数据的获取方法、装置及系统 |
TW101107349A TW201324211A (zh) | 2011-12-13 | 2012-03-05 | 即時資料的獲取方法、裝置及系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104153464A CN103164434A (zh) | 2011-12-13 | 2011-12-13 | 实时数据的获取方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103164434A true CN103164434A (zh) | 2013-06-19 |
Family
ID=48587528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104153464A Pending CN103164434A (zh) | 2011-12-13 | 2011-12-13 | 实时数据的获取方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103164434A (zh) |
TW (1) | TW201324211A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942707A (zh) * | 2014-04-08 | 2014-07-23 | 北京璧合科技有限公司 | 基于实时竞价的广告效果优化系统 |
CN104283719A (zh) * | 2014-10-28 | 2015-01-14 | 北京国双科技有限公司 | 一种日志的处理方法、装置及服务器 |
CN106534980A (zh) * | 2016-11-15 | 2017-03-22 | 广州华多网络科技有限公司 | 音频处理系统的异常检测方法、日志记录方法及装置 |
CN106599107A (zh) * | 2016-11-28 | 2017-04-26 | 北京小米移动软件有限公司 | 获得用户行为的方法、装置及服务器 |
CN107203518A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 在线系统个性化推荐的方法、系统以及装置、电子设备 |
CN107205019A (zh) * | 2017-05-04 | 2017-09-26 | 聚好看科技股份有限公司 | 用户行为数据清理方法及装置 |
CN107295088A (zh) * | 2017-06-29 | 2017-10-24 | 广东神马搜索科技有限公司 | 打点信息监测方法、装置及客户端 |
CN107577587A (zh) * | 2017-08-28 | 2018-01-12 | 江西博瑞彤芸科技有限公司 | 积分报表的生成方法 |
CN112579408A (zh) * | 2020-10-29 | 2021-03-30 | 上海钱拓网络技术有限公司 | 一种埋点信息的分类方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1150717C (zh) * | 2001-06-21 | 2004-05-19 | 华为技术有限公司 | 综合网管设备日志管理系统 |
US20060117091A1 (en) * | 2004-11-30 | 2006-06-01 | Justin Antony M | Data logging to a database |
CA2569165A1 (en) * | 2006-12-20 | 2007-03-01 | Onestop Media Group | Adaptive advertisements and adaptive advertising distribution system |
CN1937575A (zh) * | 2005-09-22 | 2007-03-28 | 中兴通讯股份有限公司 | 信令流分发方法及信令分发处理单元 |
CN101246438A (zh) * | 2008-03-07 | 2008-08-20 | 中兴通讯股份有限公司 | 一种对称多处理系统中进程与中断的处理方法及装置 |
CN101291259A (zh) * | 2007-04-18 | 2008-10-22 | 阿里巴巴集团控股有限公司 | 一种用于监控网站访客地理位置和访问状态的系统及方法 |
WO2011073899A1 (en) * | 2009-12-16 | 2011-06-23 | Nxp Bv | Data processing apparatus |
-
2011
- 2011-12-13 CN CN2011104153464A patent/CN103164434A/zh active Pending
-
2012
- 2012-03-05 TW TW101107349A patent/TW201324211A/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1150717C (zh) * | 2001-06-21 | 2004-05-19 | 华为技术有限公司 | 综合网管设备日志管理系统 |
US20060117091A1 (en) * | 2004-11-30 | 2006-06-01 | Justin Antony M | Data logging to a database |
CN1937575A (zh) * | 2005-09-22 | 2007-03-28 | 中兴通讯股份有限公司 | 信令流分发方法及信令分发处理单元 |
CA2569165A1 (en) * | 2006-12-20 | 2007-03-01 | Onestop Media Group | Adaptive advertisements and adaptive advertising distribution system |
CN101291259A (zh) * | 2007-04-18 | 2008-10-22 | 阿里巴巴集团控股有限公司 | 一种用于监控网站访客地理位置和访问状态的系统及方法 |
CN101246438A (zh) * | 2008-03-07 | 2008-08-20 | 中兴通讯股份有限公司 | 一种对称多处理系统中进程与中断的处理方法及装置 |
WO2011073899A1 (en) * | 2009-12-16 | 2011-06-23 | Nxp Bv | Data processing apparatus |
Non-Patent Citations (6)
Title |
---|
LEE J H, ET AL.: "Multi-level intrusion detection system and log management in cloud computing", 《ADVANCED COMMUNICATION TECHNOLOGY (ICACT), 2011 13TH INTERNATIONAL CONFERENCE ON. IEEE, 2011》 * |
刘敏娴等: "基于Web日志的实时推荐系统", 《计算机工程》, vol. 35, no. 23, 31 December 2009 (2009-12-31) * |
李国徽等: "挖掘数据流任意滑动时间窗口内频繁模式", 《软件学报》, vol. 19, no. 10, 31 December 2008 (2008-12-31) * |
李胜磊: "并行数据包转发机制的研究", 《微电子学与计算机》, no. 5, 31 May 2003 (2003-05-31) * |
林子雨等: "实时主动数据仓库中面向需求的实时数据集成方法研究", 《计算机研究与发展》, vol. 44, 31 October 2007 (2007-10-31) * |
陈法山: "基于J2EE架构的电信交换网设备管理系统的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊 )》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942707B (zh) * | 2014-04-08 | 2018-05-01 | 壁合科技股份有限公司 | 基于实时竞价的广告效果优化系统 |
CN103942707A (zh) * | 2014-04-08 | 2014-07-23 | 北京璧合科技有限公司 | 基于实时竞价的广告效果优化系统 |
CN103942707B8 (zh) * | 2014-04-08 | 2018-06-29 | 璧合科技股份有限公司 | 基于实时竞价的广告效果优化系统 |
CN104283719A (zh) * | 2014-10-28 | 2015-01-14 | 北京国双科技有限公司 | 一种日志的处理方法、装置及服务器 |
CN107203518A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 在线系统个性化推荐的方法、系统以及装置、电子设备 |
CN106534980A (zh) * | 2016-11-15 | 2017-03-22 | 广州华多网络科技有限公司 | 音频处理系统的异常检测方法、日志记录方法及装置 |
CN106534980B (zh) * | 2016-11-15 | 2019-12-06 | 广州华多网络科技有限公司 | 音频处理系统的异常检测方法、日志记录方法及装置 |
CN106599107A (zh) * | 2016-11-28 | 2017-04-26 | 北京小米移动软件有限公司 | 获得用户行为的方法、装置及服务器 |
CN107205019A (zh) * | 2017-05-04 | 2017-09-26 | 聚好看科技股份有限公司 | 用户行为数据清理方法及装置 |
CN107205019B (zh) * | 2017-05-04 | 2020-08-07 | 聚好看科技股份有限公司 | 用户行为数据清理方法及装置 |
CN107295088A (zh) * | 2017-06-29 | 2017-10-24 | 广东神马搜索科技有限公司 | 打点信息监测方法、装置及客户端 |
CN107295088B (zh) * | 2017-06-29 | 2020-04-10 | 广东神马搜索科技有限公司 | 打点信息监测方法、装置及客户端 |
CN107577587A (zh) * | 2017-08-28 | 2018-01-12 | 江西博瑞彤芸科技有限公司 | 积分报表的生成方法 |
CN112579408A (zh) * | 2020-10-29 | 2021-03-30 | 上海钱拓网络技术有限公司 | 一种埋点信息的分类方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201324211A (zh) | 2013-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103164434A (zh) | 实时数据的获取方法、装置及系统 | |
AU2019203985B2 (en) | Reducing latency | |
US9916589B2 (en) | Advertisement selection using multivariate behavioral model | |
US20140195893A1 (en) | Method and Apparatus for Generating Webpage Content | |
JP5916959B2 (ja) | 動的データ取得方法およびシステム | |
EP2778970A1 (en) | Facet group ranking for search results | |
US11275748B2 (en) | Influence score of a social media domain | |
JP6514314B2 (ja) | オンライン・コンテンツ・オークションにおける入札者にコールアウトを送信するかどうかを決定するための方法、機械可読記憶装置、およびシステム。 | |
CN108021673A (zh) | 一种用户兴趣模型生成方法、职位推荐方法及计算设备 | |
US20140067548A1 (en) | Saving on device functionality for business calendar | |
US20220207180A1 (en) | Privacy preserving data collection and analysis | |
US20200098030A1 (en) | Inventory-assisted artificial intelligence recommendation engine | |
CN111858278A (zh) | 基于大数据处理的日志分析方法、系统及可读存储装置 | |
CN111488531B (zh) | 一种基于协同过滤算法的信息推荐方法、设备及介质 | |
CN107734006A (zh) | 一种统计日志发送方法、装置及电子设备 | |
CN115485676A (zh) | 基于用户画像的数据处理方法、装置、设备、介质及程序 | |
CN108200129A (zh) | 一种互联网统计数据获取方法及系统 | |
US11968185B2 (en) | On-device experimentation | |
Mousavi Khaneghah et al. | A tlantis: a time‐value model in e‐commerce | |
CN117215890A (zh) | 网页多维活跃度确定方法、装置、计算机设备及存储介质 | |
CN113868536A (zh) | 一种信息推荐方法、装置、设备和存储介质 | |
Hariramasamy et al. | Tracking Location Dependent Advertising Conversions | |
CN115796979A (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: 1182491 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130619 |
|
RJ01 | Rejection of invention patent application after publication |