CN116701124A - 推荐系统优化方法、装置、设备及存储介质 - Google Patents
推荐系统优化方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116701124A CN116701124A CN202310835264.8A CN202310835264A CN116701124A CN 116701124 A CN116701124 A CN 116701124A CN 202310835264 A CN202310835264 A CN 202310835264A CN 116701124 A CN116701124 A CN 116701124A
- Authority
- CN
- China
- Prior art keywords
- point data
- buried point
- buried
- array
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000005457 optimization Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 173
- 238000004590 computer program Methods 0.000 claims description 7
- 238000003491 array Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 39
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000003672 processing method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种推荐系统优化方法、装置、设备及存储介质,属于人工智能技术领域。该方法包括:接收来多个第一埋点数据,第一埋点数据携带有第一时间戳信息;通过线段树算法,生成埋点数据树;基于预设的回溯处理算法,对埋点数据树中各个节点的第一埋点数据进行数据运算处理,得到处理结果值;在接收到来自客户端的第二埋点数据的情况下,根据更新规则、第二埋点数据和第二埋点数据的第二时间戳信息,对埋点数据树进行更新,并结合回溯处理算法更新处理结果值,然后对推荐系统进行优化处理;本申请实施例在处理金融行业的相关推荐业务时,能够降低数据运算处理过程的时间复杂度,从而减少推荐系统优化过程的耗时,提高优化效率。
Description
技术领域
本申请涉及但不限于人工智能技术领域,尤其涉及一种推荐系统优化方法、装置、设备及存储介质。
背景技术
在处理金融行业相关的推荐业务时,需要通过数据埋点的方式来收集应用中的信息,得到埋点数据,埋点数据上报至服务器后,服务器内的推荐系统会对埋点数据进行数据运算处理,并利用处理结果优化推荐系统。
目前,在埋点数据的上报过程中,当网络不稳定或者设备出现故障时,存在埋点数据无法及时上报的情况,上报失败后的埋点数据会在网络稳定且设备正常时再次上报,该埋点数据上报至服务器后,推荐系统对埋点数据进行数据运算处理时,会对未及时上报的埋点数据和及时上报的埋点数据进行遍历,以重新确定处理结果,但是数据运算处理过程的时间复杂度高,导致推荐系统优化过程的耗时长,优化效率低。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供了一种推荐系统优化方法、装置、设备及存储介质,能够降低数据运算处理过程的时间复杂度,从而减少推荐系统优化过程的耗时,提高优化效率。
为实现上述目的,本申请实施例的第一方面提出了一种推荐系统优化方法,包括:接收来自客户端的多个第一埋点数据,其中,所述第一埋点数据携带有第一时间戳信息,所述第一埋点数据包括所述客户端实时上报的埋点数据;根据所述第一埋点数据、所述第一时间戳信息和预设的线段树算法,生成埋点数据树,其中,所述埋点数据树的所有节点均包括至少一个所述第一埋点数据;基于预设的回溯处理算法,对所述埋点数据树中各个节点的所述第一埋点数据进行数据运算处理,得到处理结果值;在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息,根据预设的更新规则、所述第二埋点数据和所述第二埋点数据的第二时间戳信息,对所述埋点数据树进行更新,其中,所述第二埋点数据包括所述客户端上报失败后再次上报的埋点数据;根据所述回溯处理算法和更新后的所述埋点数据树,更新所述处理结果值;根据更新后的所述处理结果值,对推荐系统进行优化处理。
在一些实施例中,所述根据所述第一埋点数据、所述第一时间戳信息和预设的线段树算法,生成埋点数据树,包括:获取目标时间段,其中,所述目标时间段包括多个目标时刻;对所述第一时间戳信息和所述目标时刻进行匹配,根据匹配结果在所有所述第一埋点数据内中确定目标埋点数据;根据所述目标埋点数据和所述目标时刻,生成目标数组;根据预设的线段树算法,将所述目标数组的区间划分为多个子区间,并将长度为一的所述子区间作为单位区间;根据所述目标数组和所述子区间对应的数组,生成所述埋点数据树,其中,所述埋点数据树包括多层节点,任一父节点为所述父节点下各个子节点的并集,所述父节点是指相互连接的两层节点中位于上层的节点,所述子节点是指相互连接的两层节点中位于下层的节点,所述埋点数据树中根节点为所述目标数组,所述埋点数据树中叶节点为所述单位区间对应的数组。
在一些实施例中,所述根据所述目标埋点数据和所述目标时刻,生成目标数组,包括:根据多个所述目标时刻和多个预设的初始埋点数据,生成初始数组,其中,所述初始数组的长度为所述目标时刻的数量,所述初始数组的数组元素与所述目标时刻一一对应,所述数组元素与所述初始埋点数据一一对应;遍历所述目标时刻,判断所述目标时刻是否与任一所述目标埋点数据的第一时间戳信息匹配;当所述目标时刻与任一所述目标埋点数据的第一时间戳信息匹配,将与所述目标时刻匹配的所述目标埋点数据作为匹配埋点数据,并将所述目标时刻对应的数组元素替换为所述匹配埋点数据,以更新所述初始数组;根据更新后的所述初始数组,得到目标数组。
在一些实施例中,所述在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息,根据预设的更新规则、所述第二埋点数据和所述第二埋点数据的第二时间戳信息,对所述埋点数据树进行更新,包括:在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息;根据预设的更新规则,判断所述第二埋点数据的第二时间戳信息是否与任一所述目标时刻匹配;当所述第二埋点数据的第二时间戳信息与任一所述目标时刻匹配,将与所述第二时间戳信息匹配的所述目标时刻作为匹配时刻,并将所述匹配时刻对应的数组元素替换为所述第二埋点数据,以更新所述目标数组;根据更新后的所述目标数组,对所述埋点数据树进行更新。
在一些实施例中,所述基于预设的回溯处理算法,对所述埋点数据树中各个节点的所述第一埋点数据进行数据运算处理,得到处理结果值,包括:基于预设的回溯处理算法,按照所述埋点数据树的层级由下至上的顺序,遍历所述埋点数据树的父节点,对所述父节点下各个子节点的运算值进行数据运算处理,得到所述父节点的运算值,其中,所述埋点数据树的叶节点的数据为所述叶节点的运算值;将所述埋点数据树的根节点的运算值作为处理结果值。
在一些实施例中,所述根据所述回溯处理算法和更新后的所述埋点数据树,更新所述处理结果值,包括:对未更新的所述埋点数据树和更新后的所述埋点数据树进行比对,根据比对结果在所述埋点数据树中的多个节点中确定变化节点和未变化节点;根据所述回溯处理算法和所述未变化节点的运算值,确定所述变化节点的运算值,以确定更新后的所述处理结果值。
在一些实施例中,所述在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息,根据预设的更新规则、所述第二埋点数据和所述第二埋点数据的第二时间戳信息,对所述埋点数据树进行更新的步骤之后,所述方法还包括:获取微调信息;根据微调信息,确定查询时间段,其中,所述查询时间段包括至少一个所述目标时刻;根据所述查询时间段和预设的区间查询算法,按照所述埋点数据树的层级由上至下的顺序,在更新后的所述埋点数据树的多个节点中确定查询节点;根据所述查询节点的运算值和所述回溯处理算法,确定查询结果值;根据所述查询结果值,对所述推荐系统进行微调处理。
为实现上述目的,本申请实施例的第二方面提出了一种推荐系统优化装置,包括:接收单元,用于接收来自客户端的多个第一埋点数据,其中,所述第一埋点数据携带有第一时间戳信息,所述第一埋点数据包括所述客户端实时上报的埋点数据;生成单元,用于根据所述第一埋点数据、所述第一时间戳信息和预设的线段树算法,生成埋点数据树,其中,所述埋点数据树的所有节点均包括至少一个所述第一埋点数据;第一运算单元,用于基于预设的回溯处理算法,对所述埋点数据树中各个节点的所述第一埋点数据进行数据运算处理,得到处理结果值;更新单元,用于在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息,根据预设的更新规则、所述第二埋点数据和所述第二埋点数据的第二时间戳信息,对所述埋点数据树进行更新,其中,所述第二埋点数据包括所述客户端上报失败后再次上报的埋点数据;第二运算单元,用于根据所述回溯处理算法和更新后的所述埋点数据树,更新所述处理结果值;优化单元,用于根据更新后的所述处理结果值,对推荐系统进行优化处理。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的推荐系统优化方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的推荐系统优化方法。
本申请提出的推荐系统优化方法、装置、设备及存储介质,本申请实施例包括:接收来自客户端的多个第一埋点数据,其中,所述第一埋点数据携带有第一时间戳信息,所述第一埋点数据包括所述客户端实时上报的埋点数据;根据所述第一埋点数据、所述第一时间戳信息和预设的线段树算法,生成埋点数据树,其中,所述埋点数据树的所有节点均包括至少一个所述第一埋点数据;基于预设的回溯处理算法,对所述埋点数据树中各个节点的所述第一埋点数据进行数据运算处理,得到处理结果值;在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息,根据预设的更新规则、所述第二埋点数据和所述第二埋点数据的第二时间戳信息,对所述埋点数据树进行更新,其中,所述第二埋点数据包括所述客户端上报失败后再次上报的埋点数据;根据所述回溯处理算法和更新后的所述埋点数据树,更新所述处理结果值;根据更新后的所述处理结果值,对推荐系统进行优化处理。根据本申请实施例提供的方案,通过实时上报的第一埋点数据、第一埋点数据携带的第一时间戳信息和线段树算法,生成埋点数据树,然后先利用回溯处理算法进行首轮的数据运算处理,确定埋点数据树中第一埋点数据的处理结果值,若接收到客户端的第二埋点数据,相当于当客户端将未及时上报的埋点数据再次上报时,相对于时间复杂度高的遍历处理方法,利用第二埋点数据以及第二埋点数据携带的第二时间戳信息,按照更新规则,对埋点数据树中对应的埋点数据进行更新处理,以更新埋点数据树,再利用回溯处理算法进行新一轮的数据运算处理,只需对埋点数据树中存在更新后的埋点数据的节点进行进一步运算,就能重新确定处理结果值,并利用更新后的处理结果值优化推荐系统,能够降低数据运算处理过程的时间复杂度,从而减少推荐系统优化过程的耗时,提高优化效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是本申请一个实施例提供的推荐系统优化方法的流程图;
图2是本申请另一个实施例提供的一种生成埋点数据树的方法的流程图;
图3是本申请另一个实施例提供的一种生成目标数据的方法的流程图;
图4是本申请另一个实施例提供的一种更新埋点数据树的方法的流程图;
图5是本申请另一个实施例提供的一种确定处理结果值的方法的流程图;
图6是本申请另一个实施例提供的一种更新处理结果值的方法的流程图;
图7是本申请另一个实施例提供的一种微调推荐系统的方法的流程图;
图8是本申请另一个实施例提供的未更新的埋点数据树的示意图;
图9是本申请另一个实施例提供的更新后的埋点数据树的示意图;
图10是本申请另一个实施例提供的推荐系统优化装置的结构示意图;
图11是本申请另一个实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
在本申请的描述中,若干个的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
首先,对本申请中涉及的若干名词进行解析:
人工智能(Artificial Intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
目前,在埋点数据的上报过程中,当网络不稳定或者设备出现故障时,存在埋点数据无法及时上报的情况,上报失败后的埋点数据会在网络稳定且设备正常时再次上报,该埋点数据上报至服务器后,推荐系统对埋点数据进行数据运算处理时,会对未及时上报的埋点数据和及时上报的埋点数据进行遍历,以重新确定处理结果,但是数据运算处理过程的时间复杂度高,导致推荐系统优化过程的耗时长,优化效率低。
针对数据运算处理过程的时间复杂度高,导致推荐系统优化过程的耗时长,优化效率低的问题,本申请提供了一种推荐系统优化方法、装置、设备及存储介质,该方法包括:接收来自客户端的多个第一埋点数据,其中,第一埋点数据携带有第一时间戳信息,第一埋点数据包括客户端实时上报的埋点数据;根据第一埋点数据、第一时间戳信息和预设的线段树算法,生成埋点数据树,其中,埋点数据树的所有节点均包括至少一个第一埋点数据;基于预设的回溯处理算法,对埋点数据树中各个节点的第一埋点数据进行数据运算处理,得到处理结果值;在接收到来自客户端的第二埋点数据的情况下,获取第二埋点数据携带的第二时间戳信息,根据预设的更新规则、第二埋点数据和第二埋点数据的第二时间戳信息,对埋点数据树进行更新,其中,第二埋点数据包括客户端上报失败后再次上报的埋点数据;根据回溯处理算法和更新后的埋点数据树,更新处理结果值;根据更新后的处理结果值,对推荐系统进行优化处理。根据本申请实施例提供的方案,通过实时上报的第一埋点数据、第一埋点数据携带的第一时间戳信息和线段树算法,生成埋点数据树,然后先利用回溯处理算法进行首轮的数据运算处理,确定埋点数据树中第一埋点数据的处理结果值,若接收到客户端的第二埋点数据,相当于当客户端将未及时上报的埋点数据再次上报时,相对于时间复杂度高的遍历处理方法,利用第二埋点数据以及第二埋点数据携带的第二时间戳信息,按照更新规则,对埋点数据树中对应的埋点数据进行更新处理,以更新埋点数据树,再利用回溯处理算法进行新一轮的数据运算处理,只需对埋点数据树中存在更新后的埋点数据的节点进行进一步运算,就能重新确定处理结果值,并利用更新后的处理结果值优化推荐系统,能够降低数据运算处理过程的时间复杂度,从而减少推荐系统优化过程的耗时,提高优化效率。
本申请实施例提供的推荐系统优化方法、装置、设备及存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的推荐系统优化方法。
本申请实施例提供的推荐系统优化方法,涉及人工智能技术领域。本申请实施例提供的推荐系统优化方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现推荐系统优化方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据对象信息、对象操作数据,对象历史数据以及对象位置信息等与对象身份或特性相关的数据进行相关处理时,都会先获得对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取对象的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得对象的单独许可或者单独同意,在明确获得对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的对象相关数据。
下面结合附图,对本申请实施例作进一步阐述。
如图1所示,图1是本申请一个实施例提供的一种推荐系统优化方法的流程图。该推荐系统优化方法包括但不限于如下步骤:
步骤S110,接收来自客户端的多个第一埋点数据,其中,第一埋点数据携带有第一时间戳信息,第一埋点数据包括客户端实时上报的埋点数据;
步骤S120,根据第一埋点数据、第一时间戳信息和预设的线段树算法,生成埋点数据树,其中,埋点数据树的所有节点均包括至少一个第一埋点数据;
步骤S130,基于预设的回溯处理算法,对埋点数据树中各个节点的第一埋点数据进行数据运算处理,得到处理结果值;
步骤S140,在接收到来自客户端的第二埋点数据的情况下,获取第二埋点数据携带的第二时间戳信息,根据预设的更新规则、第二埋点数据和第二埋点数据的第二时间戳信息,对埋点数据树进行更新,其中,第二埋点数据包括客户端上报失败后再次上报的埋点数据;
步骤S150,根据回溯处理算法和更新后的埋点数据树,更新处理结果值;
步骤S160,根据更新后的处理结果值,对推荐系统进行优化处理。
可以理解的是,在处理金融行业相关的推荐业务时,需要利用推荐系统进行智能推荐,推荐系统可部署在服务器上,服务器与多个客户端之间能够进行信息交互,客户端会通过数据埋点的方式,在应用或者网页中收集大量的埋点数据,并将收集的埋点数据上报至服务器,以使服务器对埋点数据进行数据运算处理,在数据运算处理过程中,会对所有相关联的埋点数据进行遍历,通过第一时间戳信息确定相关联的埋点数据,假设相关联的埋点数据共有N个,数据运算处理过程的时间复杂度为O(N),但是,在埋点数据的上报过程中,存在埋点数据无法及时上报的情况,当客户端将上报失败后的埋点数据再次上报,且该再次上报的埋点数据为相关联的埋点数据时,在数据运算处理过程中,通过生成埋点数据树,接收到第二埋点数据后,对埋点数据树中相关联的埋点数据进行更新,并利用回溯处理算法进行新一轮的数据运算处理,只需对埋点数据树中存在更新后的埋点数据的节点进行进一步运算,就能重新确定处理结果值,再次进行数据运算处理过程的时间复杂度为O(logN),假如再次对所有相关联的埋点数据进行遍历,时间复杂度为O(N),结合第二时间戳信息确定相关联的埋点数据,因此,相对于需要再次对所有相关联的埋点数据进行遍历,时间复杂度由O(N)降低为O(logN),能够降低数据运算处理过程的时间复杂度,然后利用更新后的处理结果值优化推荐系统,从而减少推荐系统优化过程的耗时,提高优化效率,最后利用优化后的推荐系统确定推荐结果,相对于未优化后的推荐系统,优化后的推荐系统能够提供更准确的推荐结果;基于此,通过实时上报的第一埋点数据、第一埋点数据携带的第一时间戳信息和线段树算法,生成埋点数据树,然后先利用回溯处理算法进行首轮的数据运算处理,确定埋点数据树中第一埋点数据的处理结果值,若接收到客户端的第二埋点数据,相当于当客户端将未及时上报的埋点数据再次上报时,相对于时间复杂度高的遍历处理方法,利用第二埋点数据以及第二埋点数据携带的第二时间戳信息,按照更新规则,对埋点数据树中对应的埋点数据进行更新处理,以更新埋点数据树,再利用回溯处理算法进行新一轮的数据运算处理,只需对埋点数据树中存在更新后的埋点数据的节点进行进一步运算,就能重新确定处理结果值,并利用更新后的处理结果值优化推荐系统,能够降低数据运算处理过程的时间复杂度,从而减少推荐系统优化过程的耗时,提高优化效率。
需要说明的是,数据运算处理包括但不限于:求所有数据之和,求所有数据之积,在所有数据中确定最大值,在所有数据中确定最小值。
值得注意的是,客户端可以是无线终端设备也可以是有线终端设备,无线终端设备可以是指一种具有无线收发功能的设备,包括但不限于手机、平板电脑(Pad)和带无线收发功能的电脑。
需要说明的是,埋点数据包括但不限于:资讯属性数据、性能指标数据和对象操作数据,资讯属性数据包括但不限于:一段时间段内资讯的曝光次数和点击次数,性能指标数据包括但不限于:文章加载时长和视频加载时长,对象操作数据包括但不限于:目标对象对资讯进行点赞、评论、收藏和浏览;将埋点数据的处理结果值输入推荐系统的优化模型后,通过优化模型来调整推荐系统的参数,能够有效提高推荐系统的准确率。
在具体实践中,金融行业相关的业务包括但不限于:商务业务、支付业务、交易业务、证券业务、银行业务、税务业务、信用卡业务、购物业务和保险业务。
另外,参照图2,在一实施例中,图1所示实施例中的步骤S120,包括但不限于有以下步骤:
步骤S210,获取目标时间段,其中,目标时间段包括多个目标时刻;
步骤S220,对第一时间戳信息和目标时刻进行匹配,根据匹配结果在所有第一埋点数据内中确定目标埋点数据;
步骤S230,根据目标埋点数据和目标时刻,生成目标数组;
步骤S240,根据预设的线段树算法,将目标数组的区间划分为多个子区间,并将长度为一的子区间作为单位区间;
步骤S250,根据目标数组和子区间对应的数组,生成埋点数据树,其中,埋点数据树包括多层节点,任一父节点为父节点下各个子节点的并集,父节点是指相互连接的两层节点中位于上层的节点,子节点是指相互连接的两层节点中位于下层的节点,埋点数据树中根节点为目标数组,埋点数据树中叶节点为单位区间对应的数组。
可以理解的是,根据优化需求能够确定目标时间段,例如,需要利用历史时间中某个年份的第i天、第i+1天、第i+2天、第i+3天和第i+4天的埋点数据来优化推荐系统,其中,i为正整数,而且客户端被配置为在当天的最后一秒上报当天的埋点数据,第i天至第i+4天的时间段为目标时间段,第i天至第i+4天的最后一秒均为目标时刻,第一时间戳信息用于指示第一埋点数据的上报时刻,对已上报的所有第一埋点数据携带的第一时间戳信息进行匹配,匹配得到在第i天至第i+4天的最后一秒上报的第一埋点数据,并作为目标埋点数据,若第i天至第i+4天的最后一秒均有第一埋点埋点数据上报,说明在目标时间段内不存在埋点数据无法及时上报的情况,若第i天至第i+4天中,任意一天的最后一秒没有第一埋点埋点数据上报,说明在目标时间段内存在埋点数据无法及时上报的情况,例如,目标埋点数据是指资讯当天的点击次数,第i天上报的第一埋点数据为100,第i+1天没有第一埋点数据上报,第i+2天上报的第一埋点数据为300,第i+3天上报的第一埋点数据为400,第i+4天上报的第一埋点数据为500,按照目标时刻的先后顺序,在该数组中填入对应的目标埋点数据,生成目标数组,由于第i+1天没有第一埋点数据上报,在目标数组中设定该目标时刻对应的埋点数据为0,因此,生成的目标数组为[100,0,300,400,500];然后通过目标数组和线段树算法生成埋点数据树,埋点数据树的根节点为目标数组,埋点数据树的子节点由根节点的区间分块而得到,例如,将目标数组一分为二,能够确定与根节点连接的两个子节点;在埋点数据树中,若父节点的埋点数据的数量是偶数,该父节点对应的两个子节点的埋点数据的数量相同,若父节点的埋点数据的数量是奇数,该父节点对应的两个子节点分为左节点和右节点,左节点的埋点数据的数量比右节点的埋点数据的数量多一。
需要说明的是,通过线段树算法的一分为二处理方法,将目标数组的区间划分为多个子区间,例如,对于数组A1[100,0,300,400,500],数组A1的总区间为[1,5],区间[1,5]划分得到子区间[1,3]和子区间[4,5],子区间[1,3]划分得到子区间[1,2]和子区间[3],子区间[4,5]划分得到子区间[4]和子区间[5],子区间[1,2]划分得到子区间[1]和子区间[2],其中,子区间[1,3]对应的数组A2为[100,0,300],子区间[4,5]对应的数组A3为[400,500],子区间[1,2]对应的数组A4为[100,0],子区间[3]对应的数组A5为[300],子区间[4]对应的数组A6为[400],子区间[5]对应的数组A7为[500],子区间[1]对应的数组A8为[100],子区间[2]对应的数组A9为[0];通过总区间和各个子区间,以及对应的数组,生成埋点数据树;根节点为数组为A1,单位区间为子区间[1]、子区间[2]、子区间[3]、子区间[4]和子区间[5],叶节点分别为数组A5、数组A6、数组A7、数组A8和数组A9。
另外,参照图3,在一实施例中,图2所示实施例中的步骤S230,包括但不限于有以下步骤:
步骤S310,根据多个目标时刻和多个预设的初始埋点数据,生成初始数组,其中,初始数组的长度为目标时刻的数量,初始数组的数组元素与目标时刻一一对应,数组元素与初始埋点数据一一对应;
步骤S320,遍历目标时刻,判断目标时刻是否与任一目标埋点数据的第一时间戳信息匹配;
步骤S330,当目标时刻与任一目标埋点数据的第一时间戳信息匹配,将与目标时刻匹配的目标埋点数据作为匹配埋点数据,并将目标时刻对应的数组元素替换为匹配埋点数据,以更新初始数组;
步骤S340,根据更新后的初始数组,得到目标数组。
可以理解的是,先确定一个长度为目标时刻的数量的初始数组,在初始数组中,每个数组元素都为初始埋点数据,例如,初始埋点数据为0,目标时刻的数量为5,初始数组为[0,0,0,0,0];在初始数组中,数组元素与目标时刻一一对应,然后依次确定目标时刻是否存在相匹配的匹配埋点数据,若存在,则将目标时刻对应的数组元素替换为该匹配埋点数据,得到目标数组,例如,在初始数组[0,0,0,0,0]中,第一个数组元素存在相匹配的匹配埋点数据100,第三个数组元素存在相匹配的匹配埋点数据300,第四个数组元素存在相匹配的匹配埋点数据400,第五个数组元素存在相匹配的匹配埋点数据500,对初始数组的数组元素进行替换后,得到目标数组[100,0,300,400,500]。
另外,参照图4,在一实施例中,图1所示实施例中的步骤S140,包括但不限于有以下步骤:
步骤S410,在接收到来自客户端的第二埋点数据的情况下,获取第二埋点数据携带的第二时间戳信息;
步骤S420,根据预设的更新规则,判断第二埋点数据的第二时间戳信息是否与任一目标时刻匹配;
步骤S430,当第二埋点数据的第二时间戳信息与任一目标时刻匹配,将与第二时间戳信息匹配的目标时刻作为匹配时刻,并将匹配时刻对应的数组元素替换为第二埋点数据,以更新目标数组;
步骤S440,根据更新后的目标数组,对埋点数据树进行更新。
可以理解的是,当客户端将未及时上报的埋点数据再次上报时,即能够接收到来自客户端的第二埋点数据,第二时间戳信息用于指示埋点数据在上报失败时的上报时刻,例如,在某个年份第i+1天的最后一秒上报埋点数据时,埋点数据上报失败,当该埋点数据再次上报时,埋点数据会携带有第二时间戳信息,该第二时间戳信息用于指示第i+1天的最后一秒,其中,i为正整数;然后判断第二时间戳信息是否与目标时刻匹配,若匹配,将与第二时间戳信息匹配的目标时刻作为匹配时刻,在目标数组内,将匹配时刻对应的数组元素替换为该上报的第二埋点数据,进而对埋点数据树进行更新,还需要重新确定处理结果值,以保证能够有效优化推荐系统。
如图5所示,在一实施例中,图1所示实施例中的步骤S130,包括但不限于有以下步骤:
步骤S510,基于预设的回溯处理算法,按照埋点数据树的层级由下至上的顺序,遍历埋点数据树的父节点,对父节点下各个子节点的运算值进行数据运算处理,得到父节点的运算值,其中,埋点数据树的叶节点的数据为叶节点的运算值;
步骤S520,将埋点数据树的根节点的运算值作为处理结果值。
可以理解的是,在埋点数据树中,对于叶节点,叶节点的数据为叶节点的运算值;对于其余节点,其余节点均可作为父节点,通过回溯比较算法,按照层级由下至上的顺序,依次处理各个父节点,当数据运算处理为求所有数据之和,针对任一父节点,将父节点对应的各个子节点的运算值之和作为该父节点的运算值,例如,由数组A1[100,0,300,400,500]生成埋点数据树,埋点数据树共有4个层级,9个节点,第一层级包括一个节点,为数组A1[100,0,300,400,500],第二层级包括两个节点,分别为数组A2[100,0,300]和数组A3[400,500],第三层级包括四个节点,分别为数组A4[100,0]、数组A5[300]、数组A6[400]和数组A7[500],第四层级包括两个节点,分别为数组A8[100]和数组A9[0];对于叶节点,数组A8的运算值为100,数组A9的运算值为0,数组A5的运算值为300,数组A6的运算值为400,数组A7的运算值为500;对于其余节点,通过回溯比较算法,按照层级由下至上的顺序,先确定第三层级中的其余节点,即数组A4,将数组A8和数组A9的运算值相加,得到数组A4的运算值为100;然后确定第二层级中的其余节点,即数组A2和数组A3,将数组A4和数组A5的运算值相加,得到数组A2的运算值为400;将数组A6和数组A7的运算值相加,得到数组A3的运算值为900;然后确定第一层级中的其余节点,即数组A1,将数组A2和数组A3的运算值相加,得到数组A1的运算值为1300,数组A1的运算值相当于处理结果值。
如图6所示,在一实施例中,图1所示实施例中的步骤S150,包括但不限于有以下步骤:
步骤S610,对未更新的埋点数据树和更新后的埋点数据树进行比对,根据比对结果在埋点数据树中的多个节点中确定变化节点和未变化节点;
步骤S620,根据回溯处理算法和未变化节点的运算值,确定变化节点的运算值,以确定更新后的处理结果值。
可以理解的是,需要通过比对未更新的埋点数据树和更新后的埋点数据树,确定出现变化的节点,将更新后的埋点数据树的节点分为变化节点和未变化节点,利用回溯处理算法进行新一轮的数据运算处理时,未变化节点的运算值保持不变,可以直接引用,相当于只需要重新计算变化节点的运算值即可,处理过程的时间复杂度较低,能够提高处理效率。
如图7所示,在一实施例中,图1所示实施例中的步骤S140之后,还包括但不限于有以下步骤:
步骤S710,获取微调信息;
步骤S720,根据微调信息,确定查询时间段,其中,查询时间段包括至少一个目标时刻;
步骤S730,根据查询时间段和预设的区间查询算法,按照埋点数据树的层级由上至下的顺序,在更新后的埋点数据树的多个节点中确定查询节点;
步骤S740,根据查询节点的运算值和回溯处理算法,确定查询结果值;
步骤S750,根据查询结果值,对推荐系统进行微调处理。
可以理解的是,在处理某些特殊的业务需求时,需要对推荐系统进行微调处理,以使推荐系统的推荐结果能够满足该业务需求;因此,基于业务需求确定微调信息,然后通过微调信息确定查询时间段,例如,在目标时间段为第i天至第i+4天的时间段的情况下,查询时间段为第i+2天至第i+4天的时间段,其中,i为正整数,然后,通过区间查询算法,在埋点数据树中,按照层级由上至下的顺序确定查询节点,具体的,需要对各个节点的区间进行判断,若节点的区间属于查询时间段的区间,则将该节点作为查询节点,并忽略与该节点相关联的下层节点,例如,由数组A1[100,0,300,400,500]生成埋点数据树,埋点数据树共有4个层级,第一层级包括一个节点,为数组A1[100,0,300,400,500],数组A1对应的区间为[1,5],第二层级包括两个节点,分别为数组A2[100,0,300]和数组A3[400,500],数组A2对应的区间为[1,3],数组A3对应的区间为[4,5],第三层级包括四个节点,分别为数组A4[100,0]、数组A5[300]、数组A6[400]和数组A7[500],数组A4对应的区间为[1,2],数组A5对应的区间为[3],数组A6对应的区间为[4],数组A7对应的区间为[5],第四层级包括两个节点,分别为数组A8[100]和数组A9[0],数组A8对应的区间为[1],数组A9对应的区间为[2],由查询时间段可知,查询时间段对应的区间为[2,4],因此,通过区间查询算法,由于数组A3对应的区间为[4,5],数组A5对应的区间为[3],可以确定出查询节点为数组A5和数组A3,然后通过回溯处理算法,利用数组A5和数组A3的运算值确定查询结果值,整个处理过程的时间复杂度为O(logN),时间复杂度较低,能够提高处理效率,最后通过查询结果值,对推荐系统进行微调处理,以使推荐系统的推荐结果能够满足该业务需求。
另外,参考图8,图8是本申请另一个实施例提供的未更新的埋点数据树的示意图。
可以理解的是,由数组A1[100,0,300,400,500]生成未更新的埋点数据树,埋点数据树共有4个层级,9个节点,第一层级包括一个节点,为数组A1[100,0,300,400,500],第二层级包括两个节点,分别为数组A2[100,0,300]和数组A3[400,500],第三层级包括四个节点,分别为数组A4[100,0]、数组A5[300]、数组A6[400]和数组A7[500],第四层级包括两个节点,分别为数组A8[100]和数组A9[0];对于叶节点,数组A8的运算值为100,数组A9的运算值为0,数组A5的运算值为300,数组A6的运算值为400,数组A7的运算值为500;对于其余节点,通过回溯比较算法,按照层级由下至上的顺序,先确定第三层级中的其余节点,即数组A4,将数组A8和数组A9的运算值相加,得到数组A4的运算值为100;然后确定第二层级中的其余节点,即数组A2和数组A3,将数组A4和数组A5的运算值相加,得到数组A2的运算值为400;将数组A6和数组A7的运算值相加,得到数组A3的运算值为900;然后确定第一层级中的其余节点,即数组A1,将数组A2和数组A3的运算值相加,得到数组A1的运算值为1300,数组A1的运算值相当于未更新的处理结果值。
另外,参考图9,图9是本申请另一个实施例提供的更新后的埋点数据树的示意图。
可以理解的是,当客户端将未及时上报的埋点数据再次上报时,即能够接收到来自客户端的第二埋点数据,第二时间戳信息用于指示埋点数据在上报失败时的上报时刻,将数组A1中的第二个数组元素替换为上报的第二埋点数据200,进而对埋点数据树进行更新,变化节点为数组A1、A2、A5和A9,未变化节点为A3、A4、A6、A7和A8,利用回溯处理算法进行新一轮的数据运算处理时,未变化节点的运算值保持不变,可以直接引用,因此,可以依次确定出数组A9的运算值为200,数组A4的运算值为300,数组A2的运算值为600,数组A1的运算值为1500,得到更新后的处理结果值,处理过程的时间复杂度较低,能够提高处理效率。
另外,参考图10,本申请还提供了一种推荐系统优化装置1000,包括:
接收单元1010,用于接收来自客户端的多个第一埋点数据,其中,第一埋点数据携带有第一时间戳信息,第一埋点数据包括客户端实时上报的埋点数据;
生成单元1020,用于根据第一埋点数据、第一时间戳信息和预设的线段树算法,生成埋点数据树,其中,埋点数据树的所有节点均包括至少一个第一埋点数据;
第一运算单元1030,用于基于预设的回溯处理算法,对埋点数据树中各个节点的第一埋点数据进行数据运算处理,得到处理结果值;
更新单元1040,用于在接收到来自客户端的第二埋点数据的情况下,获取第二埋点数据携带的第二时间戳信息,根据预设的更新规则、第二埋点数据和第二埋点数据的第二时间戳信息,对埋点数据树进行更新,其中,第二埋点数据包括客户端上报失败后再次上报的埋点数据;
第二运算单元1050,用于根据回溯处理算法和更新后的埋点数据树,更新处理结果值;
优化单元1060,用于根据更新后的处理结果值,对推荐系统进行优化处理。
可以理解的是,该推荐系统优化装置1000的具体实施方式与上述推荐系统优化方法的具体实施例基本相同,在此不再赘述;基于此,通过实时上报的第一埋点数据、第一埋点数据携带的第一时间戳信息和线段树算法,生成埋点数据树,然后先利用回溯处理算法进行首轮的数据运算处理,确定埋点数据树中第一埋点数据的处理结果值,若接收到客户端的第二埋点数据,相当于当客户端将未及时上报的埋点数据再次上报时,相对于时间复杂度高的遍历处理方法,利用第二埋点数据以及第二埋点数据携带的第二时间戳信息,按照更新规则,对埋点数据树中对应的埋点数据进行更新处理,以更新埋点数据树,再利用回溯处理算法进行新一轮的数据运算处理,只需对埋点数据树中存在更新后的埋点数据的节点进行进一步运算,就能重新确定处理结果值,并利用更新后的处理结果值优化推荐系统,能够降低数据运算处理过程的时间复杂度,从而减少推荐系统优化过程的耗时,提高优化效率。
另外,参照图11,图11示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1101,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器1102,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器1102可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1102中,并由处理器1101来调用执行本申请实施例的推荐系统优化方法,例如,执行以上描述的图1中的方法步骤S110至步骤S160、图2中的方法步骤S210至步骤S250、图3中的方法步骤S310至步骤S340、图4中的方法步骤S410至S440、图5中的方法步骤S510至S520、图6中的方法步骤S610至S620、图7中的方法步骤S710至S750;
输入/输出接口1103,用于实现信息输入及输出;
通信接口1104,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线1105,在设备的各个组件(例如处理器1101、存储器1102、输入/输出接口1103和通信接口1104)之间传输信息;
其中处理器1101、存储器1102、输入/输出接口1103和通信接口1104通过总线1105实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述推荐系统优化方法,例如,执行以上描述的图1中的方法步骤S110至步骤S160、图2中的方法步骤S210至步骤S250、图3中的方法步骤S310至步骤S340、图4中的方法步骤S410至S440、图5中的方法步骤S510至S520、图6中的方法步骤S610至S620、图7中的方法步骤S710至S750。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的推荐系统优化方法、装置、设备及存储介质,其通过接收来自客户端的多个第一埋点数据,其中,第一埋点数据携带有第一时间戳信息,第一埋点数据包括客户端实时上报的埋点数据;根据第一埋点数据、第一时间戳信息和预设的线段树算法,生成埋点数据树,其中,埋点数据树的所有节点均包括至少一个第一埋点数据;基于预设的回溯处理算法,对埋点数据树中各个节点的第一埋点数据进行数据运算处理,得到处理结果值;在接收到来自客户端的第二埋点数据的情况下,获取第二埋点数据携带的第二时间戳信息,根据预设的更新规则、第二埋点数据和第二埋点数据的第二时间戳信息,对埋点数据树进行更新,其中,第二埋点数据包括客户端上报失败后再次上报的埋点数据;根据回溯处理算法和更新后的埋点数据树,更新处理结果值;根据更新后的处理结果值,对推荐系统进行优化处理。基于此,通过实时上报的第一埋点数据、第一埋点数据携带的第一时间戳信息和线段树算法,生成埋点数据树,然后先利用回溯处理算法进行首轮的数据运算处理,确定埋点数据树中第一埋点数据的处理结果值,若接收到客户端的第二埋点数据,相当于当客户端将未及时上报的埋点数据再次上报时,相对于时间复杂度高的遍历处理方法,利用第二埋点数据以及第二埋点数据携带的第二时间戳信息,按照更新规则,对埋点数据树中对应的埋点数据进行更新处理,以更新埋点数据树,再利用回溯处理算法进行新一轮的数据运算处理,只需对埋点数据树中存在更新后的埋点数据的节点进行进一步运算,就能重新确定处理结果值,并利用更新后的处理结果值优化推荐系统,能够降低数据运算处理过程的时间复杂度,从而减少推荐系统优化过程的耗时,提高优化效率。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1至图7中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.一种推荐系统优化方法,其特征在于,包括:
接收来自客户端的多个第一埋点数据,其中,所述第一埋点数据携带有第一时间戳信息,所述第一埋点数据包括所述客户端实时上报的埋点数据;
根据所述第一埋点数据、所述第一时间戳信息和预设的线段树算法,生成埋点数据树,其中,所述埋点数据树的所有节点均包括至少一个所述第一埋点数据;
基于预设的回溯处理算法,对所述埋点数据树中各个节点的所述第一埋点数据进行数据运算处理,得到处理结果值;
在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息,根据预设的更新规则、所述第二埋点数据和所述第二埋点数据的第二时间戳信息,对所述埋点数据树进行更新,其中,所述第二埋点数据包括所述客户端上报失败后再次上报的埋点数据;
根据所述回溯处理算法和更新后的所述埋点数据树,更新所述处理结果值;
根据更新后的所述处理结果值,对推荐系统进行优化处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一埋点数据、所述第一时间戳信息和预设的线段树算法,生成埋点数据树,包括:
获取目标时间段,其中,所述目标时间段包括多个目标时刻;
对所述第一时间戳信息和所述目标时刻进行匹配,根据匹配结果在所有所述第一埋点数据内中确定目标埋点数据;
根据所述目标埋点数据和所述目标时刻,生成目标数组;
根据预设的线段树算法,将所述目标数组的区间划分为多个子区间,并将长度为一的所述子区间作为单位区间;
根据所述目标数组和所述子区间对应的数组,生成所述埋点数据树,其中,所述埋点数据树包括多层节点,任一父节点为所述父节点下各个子节点的并集,所述父节点是指相互连接的两层节点中位于上层的节点,所述子节点是指相互连接的两层节点中位于下层的节点,所述埋点数据树中根节点为所述目标数组,所述埋点数据树中叶节点为所述单位区间对应的数组。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标埋点数据和所述目标时刻,生成目标数组,包括:
根据多个所述目标时刻和多个预设的初始埋点数据,生成初始数组,其中,所述初始数组的长度为所述目标时刻的数量,所述初始数组的数组元素与所述目标时刻一一对应,所述数组元素与所述初始埋点数据一一对应;
遍历所述目标时刻,判断所述目标时刻是否与任一所述目标埋点数据的第一时间戳信息匹配;
当所述目标时刻与任一所述目标埋点数据的第一时间戳信息匹配,将与所述目标时刻匹配的所述目标埋点数据作为匹配埋点数据,并将所述目标时刻对应的数组元素替换为所述匹配埋点数据,以更新所述初始数组;
根据更新后的所述初始数组,得到目标数组。
4.根据权利要求3所述的方法,其特征在于,所述在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息,根据预设的更新规则、所述第二埋点数据和所述第二埋点数据的第二时间戳信息,对所述埋点数据树进行更新,包括:
在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息;
根据预设的更新规则,判断所述第二埋点数据的第二时间戳信息是否与任一所述目标时刻匹配;
当所述第二埋点数据的第二时间戳信息与任一所述目标时刻匹配,将与所述第二时间戳信息匹配的所述目标时刻作为匹配时刻,并将所述匹配时刻对应的数组元素替换为所述第二埋点数据,以更新所述目标数组;
根据更新后的所述目标数组,对所述埋点数据树进行更新。
5.根据权利要求2所述的方法,其特征在于,所述基于预设的回溯处理算法,对所述埋点数据树中各个节点的所述第一埋点数据进行数据运算处理,得到处理结果值,包括:
基于预设的回溯处理算法,按照所述埋点数据树的层级由下至上的顺序,遍历所述埋点数据树的父节点,对所述父节点下各个子节点的运算值进行数据运算处理,得到所述父节点的运算值,其中,所述埋点数据树的叶节点的数据为所述叶节点的运算值;
将所述埋点数据树的根节点的运算值作为处理结果值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述回溯处理算法和更新后的所述埋点数据树,更新所述处理结果值,包括:
对未更新的所述埋点数据树和更新后的所述埋点数据树进行比对,根据比对结果在所述埋点数据树中的多个节点中确定变化节点和未变化节点;
根据所述回溯处理算法和所述未变化节点的运算值,确定所述变化节点的运算值,以确定更新后的所述处理结果值。
7.根据权利要求5所述的方法,其特征在于,所述在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息,根据预设的更新规则、所述第二埋点数据和所述第二埋点数据的第二时间戳信息,对所述埋点数据树进行更新的步骤之后,所述方法还包括:
获取微调信息;
根据微调信息,确定查询时间段,其中,所述查询时间段包括至少一个所述目标时刻;
根据所述查询时间段和预设的区间查询算法,按照所述埋点数据树的层级由上至下的顺序,在更新后的所述埋点数据树的多个节点中确定查询节点;
根据所述查询节点的运算值和所述回溯处理算法,确定查询结果值;
根据所述查询结果值,对所述推荐系统进行微调处理。
8.一种推荐系统优化装置,其特征在于,包括:
接收单元,用于接收来自客户端的多个第一埋点数据,其中,所述第一埋点数据携带有第一时间戳信息,所述第一埋点数据包括所述客户端实时上报的埋点数据;
生成单元,用于根据所述第一埋点数据、所述第一时间戳信息和预设的线段树算法,生成埋点数据树,其中,所述埋点数据树的所有节点均包括至少一个所述第一埋点数据;
第一运算单元,用于基于预设的回溯处理算法,对所述埋点数据树中各个节点的所述第一埋点数据进行数据运算处理,得到处理结果值;
更新单元,用于在接收到来自所述客户端的第二埋点数据的情况下,获取所述第二埋点数据携带的第二时间戳信息,根据预设的更新规则、所述第二埋点数据和所述第二埋点数据的第二时间戳信息,对所述埋点数据树进行更新,其中,所述第二埋点数据包括所述客户端上报失败后再次上报的埋点数据;
第二运算单元,用于根据所述回溯处理算法和更新后的所述埋点数据树,更新所述处理结果值;
优化单元,用于根据更新后的所述处理结果值,对推荐系统进行优化处理。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的推荐系统优化方法的步骤。
10.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的推荐系统优化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310835264.8A CN116701124A (zh) | 2023-07-07 | 2023-07-07 | 推荐系统优化方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310835264.8A CN116701124A (zh) | 2023-07-07 | 2023-07-07 | 推荐系统优化方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701124A true CN116701124A (zh) | 2023-09-05 |
Family
ID=87827650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310835264.8A Pending CN116701124A (zh) | 2023-07-07 | 2023-07-07 | 推荐系统优化方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701124A (zh) |
-
2023
- 2023-07-07 CN CN202310835264.8A patent/CN116701124A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zheng et al. | Real-time intelligent big data processing: technology, platform, and applications | |
CN114265979B (zh) | 确定融合参数的方法、信息推荐方法和模型训练方法 | |
CN113688923A (zh) | 订单异常智能检测方法、装置、电子设备及存储介质 | |
CN114995791A (zh) | Api聚合方法、装置、电子设备及存储介质 | |
CN116703526A (zh) | 物品推荐方法、装置、设备及存储介质 | |
CN114138977A (zh) | 日志处理方法、装置、计算机设备和存储介质 | |
US11372904B2 (en) | Automatic feature extraction from unstructured log data utilizing term frequency scores | |
CN117435999A (zh) | 一种风险评估方法、装置、设备以及介质 | |
CN112162859A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
US11294917B2 (en) | Data attribution using frequent pattern analysis | |
CN116701124A (zh) | 推荐系统优化方法、装置、设备及存储介质 | |
CN111639700A (zh) | 目标相似度识别方法、装置、计算机设备及可读存储介质 | |
US10460018B1 (en) | System for determining layouts of webpages | |
US10749766B1 (en) | Archival datastore for aggregated metrics | |
CN115168509A (zh) | 风控数据的处理方法及装置、存储介质、计算机设备 | |
CN114385570A (zh) | 数据同步的方法、装置、电子设备和可读介质 | |
US11003690B1 (en) | Aggregator systems for storage of data segments | |
CN114564925A (zh) | 报表生成方法、装置、电子设备及可读存储介质 | |
CN113821418A (zh) | 故障跟因分析方法及装置、存储介质和电子设备 | |
CN113761272A (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
US8836466B2 (en) | Monitoring system, device, monitoring method, and monitoring program | |
CN109471790A (zh) | 送核参数比对方法及装置、计算机装置及可读存储介质 | |
CN114581252B (zh) | 目标案件的预测方法和装置、电子设备、存储介质 | |
CN114579398A (zh) | 一种日志的存储方法、装置、设备及存储介质 | |
CN111581485B (zh) | 一种信息分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |