一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

目标对象标签数据确定方法、装置、电子设备及存储介质与流程

2022-11-30 11:07:54 来源:中国专利 TAG:


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.在一些可能的实施例中,第二获取模块,还被配置为执行若更新日期为当前日期,从第三存储子区域获取当前日期的实时标签数据;将当前日期的实时标签数据作为目标对象的实时标签数据。
46.根据本公开实施例的第三方面,提供一种电子设备,包括:
47.处理器;
48.用于存储处理器可执行指令的存储器;
49.其中,处理器被配置为执行指令,以实现本公开实施例第一方面的目标对象标签数据确定方法。
50.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例第一方面的目标对象标签数据确定方法。
51.根据本公开实施例的第五方面,提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序存储在可读存储介质中,计算机设备的至少一个处理器从可读存储介质读取并执行计算机程序,使得计算机设备执行本公开实施例第一方面的目标对象标签数据确定方法。
52.本公开的实施例提供的技术方案至少带来以下有益效果:
53.通过根据目标对象触发预设事件的实时消息,获取目标对象的离线标签数据和离线标签数据的更新时间;离线标签数据表征在更新时间所属的更新日期前的历史时间段内目标对象触发预设事件的次数;获取目标对象的实时标签数据;实时标签数据表征更新时间后的当前时间段内,目标对象触发预设事件的次数;基于离线标签数据和实时标签数据,确定目标对象标签数据;目标对象标签数据表征预设时间段内目标对象触发预设事件的次数;预设时间段包括历史时间段和当前时间段。本公开响应于目标对象触发预设事件的实时消息,触发一次目标对象标签数据的实时计算,在实时计算时,通过覆盖全预设时间段的离线标签数据和实时标签数据相结合的方式,如此,不仅可以保证目标对象标签数据的实时性,还可以提高实时计算的目标对象标签数据的准确度。
54.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
55.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
56.图1是根据一示例性实施例示出的一种应用环境的示意图;
57.图2是根据一示例性实施例示出的一种目标对象标签数据确定方法的流程图;
58.图3是根据一示例性实施例示出的一种服务器的计算架构的示意图;
59.图4是根据一示例性实施例示出的一种取目标对象触发预设事件的实时消息的流程图;
60.图5是根据一示例性实施例示出的一种按照预设周期更新实时存储中目标对象的离线标签数据的流程图;
61.图6是根据一示例性实施例示出的一种按照预设周期更新实时存储中目标对象的离线标签数据的过程示意图;
62.图7是根据一示例性实施例示出的一种获取目标对象的离线标签数据的流程图;
63.图8是根据一示例性实施例示出的一种获取目标对象的离线标签数据的判断框图;
64.图9是根据一示例性实施例示出的一种确定目标对象标签数据的过程示意图;
65.图10是根据一示例性实施例示出的一种目标对象标签数据确定装置框图;
66.图11是根据一示例性实施例示出的一种用于目标对象标签数据确定的电子设备的框图。
具体实施方式
67.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
68.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的第一对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
69.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等),均为经用户授权或者经过各方充分授权的信息。
70.请参阅图1,其所示为根据一示例性实施例示出的一种目标对象标签数据确定方法的应用环境示意图,该应用环境可以包括客户端110和服务器120,该客户端110和服务器120之间可以通过有线网络或者无线网络连接。
71.在该应用环境中,服务器120根据目标对象触发预设事件的实时消息,触发目标对象标签数据的实时计算;其中,目标对象标签数据表征预设时间段内该目标对象触发该预设事件的次数。预设事件在客户端110上被触发,目标对象可以是客户端110的用户账户,或者在客户端110中指定页面所展示的媒体内容;当目标对象在客户端110上触发预设事件时,客户端110向服务器120发送实时消息。然后,服务器120可以根据该实时消息,获取目标对象的离线标签数据和实时标签数据,其中,离线标签数据表征在离线标签数据的更新时间所属的更新日期前的历史时间段内目标对象触发预设事件的次数,实时标签数据表征更新时间后的当前时间段内目标对象触发预设事件的次数;服务器120基于离线标签数据和实时标签数据确定出包括历史时间段与当前时间段的预设时间段内该目标对象触发该预设事件的次数,即目标对象标签数据。
72.在一些可能的实施例中,服务端120可以包括是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows、unix等。
73.在一些可能的实施例中,上述的客户端110可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、智能可穿戴设备等类型的客户端。也可以为运行于上述客户端的软体,例如应用程序、小程序等。可选的,客户端上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows、unix等。
74.应理解的,图1所示的应用环境仅为示例,在实际应用中,可以由客户端或者服务
器独立执行本公开实施例的目标对象标签数据确定方法,也可以由客户端和服务器配合执行本公开实施例的目标对象标签数据确定方法,本公开实施例对具体的应用环境不作限定。
75.图2是根据一示例性实施例示出的一种目标对象标签数据确定方法的流程图,如图2所示,目标对象标签数据确定方法可以应用于服务器,包括以下步骤:
76.在步骤s201中,根据目标对象触发预设事件的实时消息,获取目标对象的离线标签数据和离线标签数据的更新时间;离线标签数据表征在更新时间所属的更新日期前的历史时间段内目标对象触发预设事件的次数。
77.本公开实施例中,服务器根据目标对象触发预设事件的实时消息,触发目标对象标签数据的实时计算。
78.其中,目标对象触发预设事件的实时消息可以来自于客户端,目标对象可以指客户端的用户账户,也可以指客户端指定页面中所展示的媒体内容,比如短视频、音乐、商品等;预设事件是与实际应用场景相匹配的内容,可以根据实际应用需求进行设定。比如在电商应用场景中,当目标对象为客户端的用户账户时,相应的预设事件可以包括下单行为、加购行为等;又比如在短视频应用场景中,当目标对象为客户端的用户账户时,相应的预设事件可以包括点赞行为、评论行为、关注行为等;还是在短视频应用场景中,当目标对象为短视频时,相应的预设事件可以包括被账户点赞、被账户评论、被账户转发等。
79.本公开实施例中,服务器可以采用基于消息队列和flink的计算体系,实现目标对象标签数据的实时计算。flink是一款开源大数据流式计算引擎,它同时支持了批处理和流处理。如图3所示,图3是本公开实施例提供的一种服务器的计算架构的示意图,包括消息队列301、flink计算引擎302和存储303三部分。其中,消息队列301用于采集客户端的日志数据,包括目标对象触发预设事件的实时消息在内的客户端日志数据会被采集到消息队列301;flink计算引擎302根据消息队列301采集到的实时消息,实时计算目标对象标签数据;实时计算结果,即目标对象标签数据可以存放至存储303中。其中,消息队列301可以包括kafka或rocketmq;存储303可以包括离线存储和实时存储两个部分,其中离线存储为离线数据库,比如hive;实时存储可以为redis,上述的实时计算可以存放至实时存储中。
80.在一些可能的实施例中,基于图3所示的计算架构,本公开实施例的方法还可以包括如图4所示的以下步骤:
81.在步骤s401中,接收消息队列推送的实时信息流。
82.在步骤s403中,从实时信息流中,获取目标对象触发预设事件的实时消息。
83.具体的,flink计算引擎302预先对与预设事件有关的主题进行订阅,这样客户端在触发预设事件时,消息队列可以将主题对应的实时信息流推送至flink计算引擎302。该实时信息流中包含目标对象触发预设事件的实时消息。从而flink计算引擎302可以从实时信息流中获取到目标对象触发预设事件的实时消息。然后,根据该实时消息,进行标签数据的实时计算。
84.本公开实施例中,服务器每接收到一次目标对象触发预设事件的实时消息,则触发一次目标对象标签数据的实时计算,如此,可以保证目标对象标签数据的实时性。不同的目标对象标签数据可以相互结合,来确定目标对象的特征画像,从而便于服务器提供更有针对性的推荐服务等。
85.需要说明的是,目标对象可以仅包括一个对象,也可以包括多个对象。服务器可以分别对多个对象中的每个对象分别进行标签数据的实时计算,此时,目标对象标签数据的统计对象为每个对象。当多个对象具有相同属性时,目标对象标签数据的统计对象可以为该多个对象;即服务器可以响应于多个对象中任一对象触发预设事件的实时消息,对多个对象对应的标签数据进行实时计算。比如,地域属性均为上海的n个账户,该n个账户对应的标签数据为[上海地域范围内n个账户近3天内下单的次数];则,当n个账户中任一账户触发了下单行为,则触发上述标签的实时计算。
[0086]
本公开实施例中,服务器实时计算得到的目标对象标签数据,表征预设时间段内目标对象触发预设事件的次数。
[0087]
相关技术中,要么利用历史数据计算历史时间段内目标对象触发预设事件的次数,要么根据实时事件计算当日目标对象触发预设事件的次数,但历史时间段内目标对象触发预设事件的次数不能完全反应目标对象当前的特征,当日目标对象触发预设事件的次数有可能和实际情况差异巨大。因此,为了得到实时且准确的目标对象标签数据,本公开结合历史时间段内目标对象触发预设事件的次数和当前时间段内目标对象触发预设事件的次数,得到上述预设时间段内目标对象触发预设事件的次数。
[0088]
首先,服务器根据目标对象触发预设事件的实时消息,获取目标对象的离线标签数据和离线标签数据的更新时间。
[0089]
本公开实施例中,目标对象的离线标签数据按照预设周期进行更新。其中,预设周期可以是1天、2天或3天等,具体可根据实际应用设定。当预设周期为1天时,服务器每天需要更新一次目标对象的离线标签数据。进一步地,服务器可以设置预设更新时间,即每天上午10:00对目标对象的离线标签数据进行更新。本公开实施例中更新指的是,对离线数据库中的历史数据进行批处理,计算出当前更新时间所属的更新日期前的历史时间段内目标对象触发预设事件的次数,得到更新后的离线标签数据,然后将更新后的离线标签数据保存至实时存储redis中,同时保存当前周期的更新时间和所属的更新日期。
[0090]
在一些可能的实施例中,服务器按照预设周期更新实时存储中目标对象的离线标签数据,具体可以包括如图5所示的以下步骤:
[0091]
在步骤s501中,在当前时间满足预设更新时间时,基于离线数据库中目标对象的离线数据,生成目标对象的第一离线标签数据和第二离线标签数据。
[0092]
其中,第一离线标签数据表征当前时间所属当前日期前的第一历史时间段内目标对象触发预设事件的次数;第二离线标签数据表征当前时间所属当前日期前的第二历史时间段内目标对象触发预设事件的次数;第一历史时间段大于第二历史时间段。
[0093]
具体的,离线数据指的是,离线数据库中存储有目标对象触发预设事件的记录,记录可以包括对象标识、预设事件标识、触发时间等;服务器基于离线数据库中存储的记录,统计出两种时间维度的离线标签数据,即表征当前时间所属当前日期前的第一历史时间段内目标对象触发预设事件的次数的第一离线标签数据,以及表征当前时间所属当前日期前的第二历史时间段内目标对象触发预设事件的次数的第二离线标签数据;然后服务器将第一离线标签数据和第二离线标签数据保存至实时存储redis中,完成当前周期目标对象的离线标签数据的更新。
[0094]
举例而言,当预设周期为1天时,预设更新时间可以是每天上午10:00。一种离线数
据库存储的记录如图6所示,服务器基于flink计算引擎在2022-6-29上午10:00时,基于离线数据库中的记录,更新对象标识为1的目标对象的离线标签数据;具体的,确定对象标识为1的目标对象的[29日前的过去4天(28日、27日、26日和25日)内触发预设事件标识为a的预设事件a的次数]的第一离线标签数据,以及[29日前的过去3天(28日、27日、和26日)内触发预设事件标识为a的预设事件a的次数]的第二离线标签数据;这里,服务器基于离线数据库,统计得到的目标对象1的第一离线标签数据为:29日前过去4天内(下文简称28/27/26/25)触发6次预设事件a,以及第二离线标签数据为:29日前过去3天内(下文简称28/27/26)触发5次预设事件a的。
[0095]
在步骤s503中,将第一离线标签数据保存至预设缓存区域中的第一存储子区域,将当前时间作为第一离线标签数据的更新时间。
[0096]
其中,第一存储子区域用于保存至少一个更新周期对应的第一离线标签数据。
[0097]
具体的,上述预设缓存区域可以指前文实施例提到的存储303中的实时存储,即,预设缓存区域可以是redis;如图6所示,将第一离线标签数据(28/27/26/25触发6次预设事件a)保存至第一存储子区域,同时将2022-6-29 10:00作为该第一离线标签数据的更新时间。可以理解的,第一存储子区域中还可以存储有2022-6-28上午10:00更新的第一离线标签数据(27/26/25/24触发预设事件a的次数),以及2022-6-27上午10:00更新的第一离线标签数据(26/25/24/23触发预设事件a的次数)。
[0098]
在步骤s505中,将第二离线标签数据保存至预设缓存区域中的第二存储子区域,将当前时间作为第二离线标签数据的更新时间。
[0099]
其中,第二存储子区域用于保存至少一个更新周期对应的第二离线标签数据。
[0100]
具体的,如图6所示,将第二离线标签数据(28/27/26触发5次预设事件a)保存至第二存储子区域,同时将2022-6-29 10:00作为该第二离线标签数据的更新时间。可以理解的,第二存储子区域中还可以存储有2022-6-28上午10:00更新的第二离线标签数据(27/26/25触发预设事件a的次数),以及2022-6-27上午10:00更新的第二离线标签数据(26/25/24触发预设事件a的次数)。
[0101]
上述实施例中,服务器按照预设周期更新实时存储(预设缓存区域)中目标对象的离线标签数据,如此,目标对象在触发预设事件时,服务器可以根据目标对象触发预设事件的实时消息,直接从预设缓存区域中快速读取到目标对象的离线标签数据,这样可以加快标签数据的计算速度,在保证实时性的情况下,获取到能够相对准确的反应目标对象的特征的离线标签数据。
[0102]
相关技术在实时计算时,利用当天的实时数据与之前的历史数据进行结合,但是昨天的历史数据一般是在第二天进行离线统计的,因此,相关技术在实时计算时,存在数据空窗,即无法获取到昨天的历史数据,那么此时计算得到的标签数据并不准确。
[0103]
基于此,本公开实施例在进行离线标签数据和实时标签数据的结合时,考虑到若触发实时计算时,还未达到预设更新时间,那么可以获取预设缓存区域中上一周期所更新的第二离线标签数据,后续再从实时存储中获取上一周期更新时间后的实时标签数据,基于第二离线标签数据和上一周期更新时间后的实时标签数据得到目标对象标签数据。
[0104]
在一些可能的实施例中,上述根据目标对象触发预设事件的实时消息,获取目标对象的离线标签数据,可以包括如图7所示的以下步骤:
[0105]
在步骤s701中,确定实时消息的获取时间。
[0106]
其中,获取时间可以根据消息队列向服务器推送该实时消息的时间确定;即,服务器可以将从消息队列接收该实时消息的时间作为获取时间。
[0107]
在步骤s703中,基于实时消息的获取时间,通过滑动窗口机制将第一存储子区域中当前更新周期对应的第一离线标签数据或者第二存储子区域中当前更新周期对应的第二离线标签数据作为目标对象的离线标签数据。
[0108]
其中,当前更新周期即预设缓存区域中最近一次更新的周期。
[0109]
具体的,该步骤s703可以包括如图8所示的以下步骤:
[0110]
在步骤s7031中,确定实时消息的获取时间是否在预设更新时间之前。若获取时间在预设更新时间之前,则执行步骤s7033~s7035;否则,执行步骤s7037~s7039。
[0111]
基于实时消息的获取时间与预设更新时间之前的关系,将第一离线标签数据或者第二离线标签数据作为目标对象的离线标签数据。
[0112]
在步骤s7033中,将第二存储子区域作为目标子区域,利用滑动窗口获取目标子区域中当前更新周期对应的第二离线标签数据。
[0113]
在步骤s7035中,将目标子区域中当前更新周期对应的第二离线标签数据作为目标对象的离线标签数据。
[0114]
具体的,由于服务器实时消息的获取时间还未到达预设更新时间,预设缓存区域中今日之前的离线标签数据并不完整,因此通过滑动窗口函数设定第二存储子区域作为目标子区域,窗口大小为一个更新周期(预设周期),获取第二存储子区域中最近一个周期所更新的第二离线标签数据。
[0115]
下面基于上文的例子结合图9进行说明。假设目标对象标签数据为[目标对象1近5日触发预设事件a的次数]。若服务器在2022-6-298:00获取到消息队列推送的目标对象1触发预设事件a的实时消息,此时,触发[目标对象1近5日(即29/28/27/26/25)触发预设事件a的次数]的实时计算。首先,服务器确定该实时消息的获取时间8:00还未到达预设更新时间10:00,预设缓存区域中并不存在28日的离线标签数据;因此,通过滑动窗口函数从预设缓存区域中的第二存储子区域中获取最近一个周期所更新(即28日所更新)的第二离线标签数据[27/26/25触发4次预设事件a]。将该第二离线标签数据[27/26/25触发4次预设事件a]作为目标对象1的离线标签数据。
[0116]
在步骤s7037中,将第一存储子区域作为目标子区域,利用滑动窗口获取目标子区域中当前更新周期对应的第一离线标签数据。
[0117]
在步骤s7039中,将目标子区域中当前更新周期对应的第一离线标签数据作为目标对象的离线标签数据。
[0118]
具体的,由于服务器实时消息的获取时间已经超过预设更新时间,预设缓存区域中今日之前的离线标签数据已经完整,因此通过滑动窗口函数设定第一存储子区域作为目标子区域,窗口大小为一个更新周期,获取第一存储子区域中最近一个周期(即今日)所更新的第一离线标签数据。
[0119]
继续基于上文的例子结合图9进行说明。若服务器在2022-6-29上午12:00获取到目标对象1触发预设事件a的实时消息,此时,触发[目标对象1近5日(即29/28/27/26/25)触发预设事件a的次数]的实时计算。由于实时消息的获取时间12:00已经超过预设更新时间
10:00,预设缓存区域中已经存在28日的离线标签数据;因此,通过滑动窗口函数获取第一存储子区域中最近一个周期所更新(即29日所更新)的第一离线标签数据[28/27/26/25触发6次预设事件a]。将该第一离线标签数据[28/27/26/25触发6次预设事件a]作为目标对象1的离线标签数据。
[0120]
上述实施例中,考虑到获取到实时消息时,存在到达预设更新时间和还未到达预设更新时间的两种情况,从而服务器通过滑动窗口机制从预设缓存区域中获取实际所需历史时间段的离线标签数据,得到目标对象的离线标签数据。如此,可以保证后续和实时标签数据的结合可以覆盖整个预设时间段,进而可以提高实时计算的目标对象标签数据的准确度。
[0121]
在步骤s203中,获取目标对象的实时标签数据;实时标签数据表征更新时间后的当前时间段内,目标对象触发预设事件的次数。
[0122]
本公开实施例中,服务器最终要计算预设时间段内目标对象触发预设事件的次数,该预设时间段由历史时间段和当前时间段组成,历史时间段内目标对象触发预设事件的次数即离线标签数据,当前时间段指的是离线标签数据的更新时间所属更新日期至当日的时间段。因此,预设时间段内目标对象触发预设事件的次数也可以被称为包括当日在内的近n日目标对象触发预设事件的次数。
[0123]
本公开实施例中,服务器根据目标对象触发预设事件的实时消息,还从预设存储区域中获取目标对象的实时标签数据。
[0124]
在一些可能的实施例中,如图6所示,预设存储区域还包括第三存储子区域;第三存储子区域保存有更新日期的实时标签数据和当前日期的实时标签数据;如,更新日期的实时标签数据有6-27的实时标签数据和6-28的实时标签数据,当前日期的实时标签数据如6-29的实时标签数据,该数据根据实时消息进行统计计算。
[0125]
相应的,上述的获取目标对象的实时标签数据,可以包括以下步骤:
[0126]
在步骤s2031中,若更新日期在当前日期之前,从第三存储子区域获取更新日期的实时标签数据和当前日期的实时标签数据。
[0127]
此处,更新日期指的是获取到的目标对象的离线标签数据的更新时间所属更新日期,也可以称为最近一个更新日期。
[0128]
在步骤s2033中,将更新日期的实时标签数据和当前日期的实时标签数据之和作为目标对象的实时标签数据。
[0129]
对应上文例子中的第一种情况,即实时消息的获取时间8:00在预设更新时间10:00之前,此时更新日期为6-28;由于当前日期为6-29,显然,更新日期在当前日期之前,则如图9所示,从预设缓存区域中的第三存储子区域获取6-28的实时标签数据和6-29的实时标签数据,将6-28的实时标签数据(触发2次预设事件a)和6-29的实时标签数据(当前触发1次预设事件a)直接相加,得到目标对象的实时标签数据(实时触发3次预设事件a)。
[0130]
相应的,上述获取目标对象的实时标签数据,还可以包括以下步骤:
[0131]
在步骤s2031’中,若更新日期为当前日期,从第三存储子区域获取当前日期的实时标签数据。
[0132]
这里,对应实时消息的获取时间在预设更新时间之后的情况,此时更新日期,即获取到的目标对象的离线标签数据的更新时间就是预设更新时间,更新时间所属更新日期就
是当日。
[0133]
在步骤s2033’中,将当前日期的实时标签数据作为目标对象的实时标签数据。
[0134]
对应上文例子中的第二种情况,即实时消息的获取时间12:00在预设更新时间10:00之后,此时更新日期为6-29;更新日期为当前日期,如图9所示,从预设缓存区域中的第三存储子区域获取6-29的实时标签数据,直接将6-29的实时标签数据(当前触发2次预设事件a)作为目标对象的实时标签数据(实时触发2次预设事件a)。
[0135]
在步骤s205中,基于离线标签数据和实时标签数据,确定目标对象标签数据;目标对象标签数据表征预设时间段内目标对象触发预设事件的次数;预设时间段包括历史时间段和当前时间段。
[0136]
本公开实施例中,服务器实时计算确定的目标对象标签数据,即预设时间段内目标对象触发预设事件的次数,可以由离线标签数据即历史时间段目标对象触发预设事件的次数和实时标签数据即当前时间段内目标对象触发预设事件的次数直接相加得到。
[0137]
如图8所示,针对实时消息的获取时间8:00在预设更新时间10:00之前的第一种情况,实时计算的结果为,[目标对象1近5日触发预设事件a的次数]=27/26/25触发4次预设事件a 28触发2次预设事件a 29触发1次预设事件a,即目标对象1近5日触发触发7次预设事件a;针对实时消息的获取时间12:00在预设更新时间10:00之后的第二种情况,实时计算的结果为,[目标对象1近5日触发预设事件a的次数]=28/27/26/25触发6次预设事件a 29触发2次预设事件a,即目标对象1近5日触发触发8次预设事件a。
[0138]
在本公开后续应用过程中,可以结合目标对象标签数据与目标对象属性,或者结合不同的目标对象标签数据,来刻画出目标对象的特征画像,以提供更有针对性的服务。比如当目标对象为账户时,将该账户近5日下单次数和该账户的性别结合,预测该账户的兴趣特征,又比如,将该账户近5日下单次数和近5日加购次数结合,预测该账户的购物行为特征。
[0139]
综上,本公开实施例的目标对象标签数据确定方法,响应于目标对象触发预设事件的实时消息,触发一次目标对象标签数据的实时计算,在实时计算时,通过覆盖全预设时间段的离线标签数据和实时标签数据相结合的方式,如此,不仅可以保证目标对象标签数据的实时性,还可以提高实时计算的目标对象标签数据的准确度。
[0140]
图10是根据一示例性实施例示出的一种目标对象标签数据确定装置框图。参照图10,该装置包括:
[0141]
第一获取模块1001,被配置为执行根据目标对象触发预设事件的实时消息,获取目标对象的离线标签数据和离线标签数据的更新时间;离线标签数据表征在更新时间所属的更新日期前的历史时间段内目标对象触发预设事件的次数;
[0142]
第二获取模块1002,被配置为执行获取目标对象的实时标签数据;实时标签数据表征更新时间后的当前时间段内,目标对象触发预设事件的次数;
[0143]
确定模块1003,被配置为执行基于离线标签数据和实时标签数据,确定目标对象标签数据;目标对象标签数据表征预设时间段内目标对象触发预设事件的次数;预设时间段包括历史时间段和当前时间段。
[0144]
在一些可能的实施例中,装置还包括第三获取模块;
[0145]
第三获取模块,被配置为执行接收消息队列推送的实时信息流;从实时信息流中,
获取目标对象触发预设事件的实时消息。
[0146]
在一些可能的实施例中,目标对象的离线标签数据按照预设周期进行更新;装置还包括更新模块;
[0147]
更新模块,被配置为执行在当前时间满足预设更新时间时,基于离线数据库中目标对象的离线数据,生成目标对象的第一离线标签数据和第二离线标签数据;第一离线标签数据表征当前时间所属当前日期前的第一历史时间段内目标对象触发预设事件的次数;第二离线标签数据表征当前时间所属当前日期前的第二历史时间段内目标对象触发预设事件的次数;第一历史时间段大于第二历史时间段;将第一离线标签数据保存至预设缓存区域中的第一存储子区域,将当前时间作为第一离线标签数据的更新时间;第一存储子区域用于保存至少一个更新周期对应的第一离线标签数据;将第二离线标签数据保存至预设缓存区域中的第二存储子区域,将当前时间作为第二离线标签数据的更新时间;第二存储子区域用于保存至少一个更新周期对应的第二离线标签数据。
[0148]
在一些可能的实施例中,第一获取模块1001,包括:
[0149]
第一确定子模块,被配置为执行确定实时消息的获取时间;
[0150]
第二确定子模块,被配置为执行基于实时消息的获取时间,通过滑动窗口机制将第一存储子区域中当前更新周期对应的第一离线标签数据或者第二存储子区域中当前更新周期对应的第二离线标签数据作为目标对象的离线标签数据。
[0151]
在一些可能的实施例中,第二确定子模块,还被配置为执行若获取时间在预设更新时间之前,将第二存储子区域作为目标子区域,利用滑动窗口获取目标子区域中当前更新周期对应的第二离线标签数据;将目标子区域中当前更新周期对应的第二离线标签数据作为目标对象的离线标签数据;
[0152]
或者;
[0153]
第二确定子模块,还被配置为执行若获取时间在预设更新时间之后,将第一存储子区域作为目标子区域,利用滑动窗口获取目标子区域中当前更新周期对应的第一离线标签数据;将目标子区域中当前更新周期对应的第一离线标签数据作为目标对象的离线标签数据。
[0154]
在一些可能的实施例中,预设存储区域还包括第三存储子区域;第三存储子区域保存有更新日期的实时标签数据和当前日期的实时标签数据;
[0155]
第二获取模块1002,还被配置为执行若更新日期在当前日期之前,从第三存储子区域获取更新日期的实时标签数据和当前日期的实时标签数据;将更新日期的实时标签数据和当前日期的实时标签数据之和作为目标对象的实时标签数据。
[0156]
在一些可能的实施例中,第二获取模块1002,还被配置为执行若更新日期为当前日期,从第三存储子区域获取当前日期的实时标签数据;将当前日期的实时标签数据作为目标对象的实时标签数据。
[0157]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0158]
图11是根据一示例性实施例示出的一种用于目标对象标签数据确定的电子设备的框图。
[0159]
该电子设备可以是服务器,还可以是终端设备,其内部结构图可以如图11所示。该
电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种目标对象标签数据确定方法。
[0160]
本领域技术人员可以理解,图11中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0161]
在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的目标对象标签数据确定方法。
[0162]
在示例性实施例中,还提供了一种计算机可读存储介质,当该计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的目标对象标签数据确定方法。
[0163]
在示例性实施例中,还提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序存储在可读存储介质中,计算机设备的至少一个处理器从可读存储介质读取并执行计算机程序,使得计算机设备执行本公开实施例的目标对象标签数据确定方法。
[0164]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0165]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0166]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献