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

缓存更新方法、装置、电子设备及计算机可读存储介质与流程

2022-12-20 21:25:53 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种缓存更新方法、装置、电子设备、计算机可读存储介质以及计算机程序产品。


背景技术:

2.随着计算机技术的发展,海量信息的传输和存储的场景日益增多。由于缓存能够实现高效的查找和更新,因此被广泛应用于推荐系统中。
3.相关技术中,推荐系统收到用户推荐请求后,一般先从本地缓存中查找请求的内容,对于查找不到的内容再从远端服务器中查找,查找完成后更新本地缓存。但是,由于缓存空间有限,更新缓存时需要决定如何删除缓存中的内容。目前经典的淘汰算法如最近最少使用算法(least recently used,lru),其优先淘汰最近未出现的请求内容。
4.然而,由于lru算法需要模拟请求内容的流行度变化,且需要频繁地执行写操作,从而导致更新时会占用系统大量的cpu资源,使得单位时间内能够处理的请求数量下降,从而严重影响处理效率。


技术实现要素:

5.本公开提供一种缓存更新方法、装置、电子设备、计算机可读存储介质以及计算机程序产品,以至少解决相关技术中通过lru算法更新缓存导致处理效率低的问题。本公开的技术方案如下:
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.本公开的实施例提供的技术方案至少带来以下有益效果:通过获取与嵌入参数的查询请求对应的第一标识表,对第一标识表进行抽样处理,得到抽样的第二标识表,并向服务器集群发送第二标识表,进而接收服务器集群返回的与第二标识表中目标嵌入参数标识匹配的目标嵌入参数,根据第二标识表和匹配的目标嵌入参数更新本地的嵌入参数缓存。其通过抽样的方式更新缓存,相较于传统的lru更新,由于不需要模拟请求内容的流行度变化,因此更新时可以减小cpu开销,进而能够提高处理效率。
32.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不
能限制本公开。
附图说明
33.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
34.图1是根据一示例性实施例示出的一种缓存更新方法的应用环境图。
35.图2是根据一示例性实施例示出的一种缓存更新方法的流程图。
36.图3是根据一示例性实施例示出的抽样步骤的示意图。
37.图4是根据一示例性实施例示出的缓存更新步骤的示意图。
38.图5是根据一示例性实施例示出的缓存更新步骤的示意图。
39.图6是根据一示例性实施例示出的缓存更新步骤的示意图。
40.图7是根据一示例性实施例示出的缓存更新步骤的示意图。
41.图8是根据一示例性实施例示出的缓存更新步骤的示意图。
42.图9是根据一示例性实施例示出的缓存更新步骤的示意图。
43.图10是根据一示例性实施例示出的缓存更新步骤的示意图。
44.图11是根据一示例性实施例示出的查询步骤的示意图。
45.图12是根据一示例性实施例示出的查询场景的示意图。
46.图13是根据一示例性实施例示出的一种缓存更新装置的框图。
47.图14是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
48.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
49.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
50.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
51.由于推荐系统可以针对不同用户为其推荐感兴趣的内容。通常为实现该目标,推荐系统使用了大量的稀疏特征来刻画用户兴趣和内容特性。每个稀疏特征会对应到一个二元组《key,value》,其中,key表示稀疏特征的签名,通常是一个整数,value表示这个特征对应的嵌入向量(embedding),通常是一个稠密向量,通过训练得到。而工业级推荐系统中的稀疏特征数量一般可达千亿级,其对应的嵌入向量需要tb级存储。并且为了支持实时查询,只能通过内存ram(random-access memory)存储。这些因素导致无法使用单台服务器存储嵌入向量,因此工业级推荐系统使用专门的集群提供嵌入向量的存储和查询服务(简称
embedding服务)。推荐系统收到用户推荐请求后,从请求中提取稀疏特征对应的key,然后请求该服务,获取其对应的嵌入向量,并根据嵌入向量计算推荐列表。而从embedding服务查找和传输embedding需要占用大量的网络带宽。同时,由于每个推荐请求都需要请求embedding服务,embedding服务本身也需要占用大量机器资源。
52.而且,通过分析线上服务数据发现,稀疏特征存在明显的冷热不均现象,一些特征在很多请求中都会出现,而另外一些特征则只在极少数的请求中出现。而通过缓存热点稀疏特征对应的embedding,可以大幅降低需要从embedding服务中查找embedding的key数量,并能够减少embedding服务需要的机器资源和传输embedding占用的网络带宽资源。
53.但是,由于目前是直接使用lru算法更新缓存,因此,需要模拟请求内容的流行度变化,导致更新和查找时都会占用大量的cpu资源,进而导致单位时间内能够处理的请求数量下降,且从缓存中查找嵌入向量延时较高,会大幅增加处理请求的端到端延时,从而严重影响处理效率。
54.基于此,本公开提供了一种缓存更新方法,可以应用于如图1所示的应用环境中。其中,推荐系统服务端102通过网络与服务器104进行通信。数据存储系统可以存储推荐系统服务端102需要处理的数据。数据存储系统可以集成在推荐系统服务端102上,也可以放在云上或其他网络服务器上。其中,推荐系统服务端102可以是能够提供推荐服务的各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备。服务器104可以多个服务器组成的服务器集群来实现。
55.具体地,推荐系统服务端102可以是提供推荐服务的服务器,其中,推荐服务包括但不限于购物推荐服务、直播推荐服务、短视频推荐服务等。在本实施例中,这些推荐服务均可以针对不同用户为其推荐感兴趣的内容,而稀疏特征则可以刻画用户兴趣和内容特性。每个稀疏特征可以对应到一个二元组《key,value》,其中,key表示稀疏特征的签名,也即稀疏特征的标识,value表示这个特征对应的嵌入向量,也即嵌入参数,则key也可以表示嵌入参数的标识。
56.在本实施例中,当推荐系统服务端获取到对嵌入参数的查询请求时,可以对该查询请求进行抽样处理,以得到抽样的第二标识,并向服务器集群发送该第二标识表,进而接收服务器集群返回的与该第二标识表对应的目标嵌入参数,从而根据第二标识表和对应的目标嵌入参数更新缓存。其通过抽样的方式更新缓存,相较于传统的lru更新方式,由于不需要模拟请求内容的流行度变化,因此更新时可以减小cpu开销,进而能够提高处理效率。
57.在一个实施例中,如图2所示,提供了一种缓存更新方法,本实施例以该方法应用于推荐系统服务端进行举例说明,本实施例中,该方法可以包括以下步骤:
58.在步骤s210中,获取与嵌入参数的查询请求对应的第一标识表。
59.其中,查询请求可以是用于查询嵌入参数的查询指令或查询命令。第一标识表包括至少一个待查询的嵌入参数标识,因此,第一标识表与嵌入参数的查询请求相对应。在本实施例中,嵌入参数标识可以是需要查询的嵌入参数对应的标识(即稀疏特征对应的key),每一个嵌入参数标识在嵌入表中都具有对应的一个嵌入参数(即稀疏特征的嵌入向量value)。
60.具体地,查询请求可以是推荐系统服务端从接收的用户推荐请求中获取的,则第一标识表可以是用户推荐请求中直接携带的;在一种场景下,第一标识表也可以是推荐系
统服务端根据用户推荐请求计算得到。在本实施例中,当推荐系统服务端接收到用户推荐请求时,则可以提取稀疏特征对应的key,并生成对嵌入参数的查询请求。
61.在步骤s220中,对第一标识表进行抽样处理,得到抽样的第二标识表。
62.其中,抽样又称取样。第二标识表包括从第一标识表中抽样得到的至少一个目标嵌入参数标识。在本实施例中,可以是基于每个第一标识表进行抽样,即可以从每个查询请求对应的第一标识表中抽样部分嵌入参数标识作为抽样的第二标识表。或者,也可以是基于请求粒度的抽样,即可以从多个查询请求对应的第一标识表中抽样得到部分查询请求对应的第一标识表,并将抽样得到的查询请求对应的第一标识表作为抽样的第二标识表。在本实施例中,推荐系统服务端可以通过对查询请求进行抽样处理,从而得到抽样的第二标识表。
63.在步骤s230中,向服务器发送第二标识表。
64.其中,第二标识表用于指示服务器查询与该第二标识表中目标嵌入参数标识匹配的目标嵌入参数。具体地,目标嵌入参数标识是从第一标识表中抽样得到的嵌入参数标识。目标嵌入参数则是指与目标嵌入参数标识对应的嵌入参数。服务器则是指服务器集群。
65.在本实施例中,推荐系统服务端通过向服务器集群发送第二标识表,从而使得服务器集群能够查询与该第二标识表中目标嵌入参数标识匹配的目标嵌入参数。
66.在步骤s240中,接收服务器返回的与第二标识表中目标嵌入参数标识匹配的目标嵌入参数,根据第二标识表和匹配的目标嵌入参数更新嵌入参数缓存。
67.其中,嵌入参数缓存可以是推荐系统服务端本地缓存的包括嵌入参数标识与嵌入参数对应关系的嵌入表。在本实施例中,推荐系统服务端可以接收服务器集群返回的与第二标识表中目标嵌入参数标识匹配的目标嵌入参数,进而根据第二标识表和匹配的目标嵌入参数更新本地的嵌入参数缓存。
68.上述缓存更新方法中,推荐系统服务端通过获取与嵌入参数的查询请求对应的第一标识表,对第一标识表进行抽样处理,得到抽样的第二标识表,并向服务器集群发送第二标识表,进而接收服务器集群返回的与第二标识表中目标嵌入参数标识匹配的目标嵌入参数,根据第二标识表和匹配的目标嵌入参数更新本地的嵌入参数缓存。其通过抽样的方式更新嵌入参数缓存,相较于传统的lru更新,由于不需要模拟请求内容的流行度变化,因此更新时可以减小cpu开销,进而能够提高处理效率。
69.在一示例性实施例中,如图3所示,在步骤s220中,对第一标识表进行抽样处理,得到抽样的第二标识表,具体可以通过以下步骤实现:
70.在步骤s222中,针对每一个查询请求对应的第一标识表,采用预设的第一抽样策略,从第一标识表中抽取满足第一抽样策略的嵌入参数标识。
71.其中,抽样策略包括但不限于对应的抽样比例和抽样方法。具体地,抽样方法包括但不限于随机抽样、分层抽样、整体抽样、系统抽样等。抽样比例则可以根据实际场景进行配置。在本实施例中,将对查询请求对应的第一标识表中嵌入参数标识进行抽样的策略定义为第一抽样策略。
72.在本实施例中,推荐系统服务端可以针对每一个查询请求对应的第一标识表,采用预设的第一抽样策略,从第一标识表中抽取满足第一抽样策略的嵌入参数标识。例如,若第一抽样策略对应的抽样方法为随机抽样,抽样比例为5%。则对于每一个查询请求对应的
第一标识表,推荐系统服务端可以从该第一标识表中随机抽取5%的嵌入参数标识,而随机抽取的5%的嵌入参数标识即为满足第一抽样策略的嵌入参数标识。
73.在步骤s224中,将满足第一抽样策略的嵌入参数标识作为目标嵌入参数标识,根据目标嵌入参数标识生成针对第一标识表进行抽样的第二标识表。
74.具体地,推荐系统服务端将上述抽样得到的满足第一抽样策略的嵌入参数标识作为目标嵌入参数标识,并根据目标嵌入参数标识生成针对第一标识表进行抽样的第二标识表。即第二标识表中存储的是抽样得到的至少一个目标嵌入参数标识。
75.上述实施例中,推荐系统服务端可以针对每一个查询请求对应的第一标识表,采用预设的第一抽样策略,从第一标识表中抽取满足第一抽样策略的嵌入参数标识,并将满足第一抽样策略的嵌入参数标识作为目标嵌入参数标识,从而根据目标嵌入参数标识生成针对第一标识表进行抽样的第二标识表。其通过对每一个查询请求对应的第一标识表中的嵌入参数标识进行抽样,从而得到抽样的第二标识表,进而基于抽样的第二标识表进行缓存更新,相较于传统的lru更新,能够减小cpu开销,并提高处理效率。
76.在一示例性实施例中,在步骤s220中,对第一标识表进行抽样处理,得到抽样的第二标识表,还可以通过以下步骤实现:当查询请求满足预设的第二抽样策略时,将查询请求对应的第一标识表中的嵌入参数标识作为目标嵌入参数标识,根据目标嵌入参数标识生成第二标识表。
77.其中,第二抽样策略是基于请求粒度对查询请求进行抽样的抽样策略。在本实施例中,为了区分不同抽样粒度的抽样策略,将上述基于嵌入参数标识粒度进行抽样的抽样策略定义为第一抽样策略,将基于请求粒度进行抽样的抽样策略定义为第二抽样策略。
78.例如,若第二抽样策略对应的抽样方法为系统抽样,抽样比例为10%。则推荐系统服务端每获取到一个查询请求,则判断该查询请求是否满足对应的第二抽样策略,当查询请求满足对应的第二抽样策略时,则将该查询请求对应的第一标识表中的嵌入参数标识作为目标嵌入参数标识,即将该查询请求对应的第一标识表作为抽样得到的第二标识表。本实施例基于请求粒度对查询请求进行抽样,从而得到抽样的第二标识表,进而基于抽样的第二标识表进行缓存更新,由于不需要每次请求都进行抽样及更新,因此,降低了缓存的更新频率,能够有效减小推荐系统服务端更新缓存的cpu开销。
79.在一示例性实施例中,嵌入参数缓存中可以包括第一嵌入信息表和第二嵌入信息表,其中,第一嵌入信息表可以是链表,第二嵌入信息表可以是map查找表。具体地,第一嵌入信息表的每一个节点用于存储嵌入参数标识和对应的嵌入参数。第二嵌入信息表用于记录嵌入参数标识和节点位置的对应关系,其中,节点位置用于表征对应的嵌入参数标识位于第一嵌入信息表中的具体节点位置。例如,若在第一嵌入信息表的第x个节点存储有嵌入参数标识a和对应的嵌入参数a,则第二嵌入信息表中存在嵌入参数标识a与第x个节点的对应关系的记录。
80.如图4所示,在步骤s240中,根据第二标识表和匹配的目标嵌入参数更新嵌入参数缓存,具体可以通过以下步骤实现:
81.在步骤s410中,当第二嵌入信息表中存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识时,确定匹配的嵌入参数标识对应的第一目标节点位置。
82.其中,第一目标节点位置是指第二嵌入信息表中该匹配的嵌入参数标识所对应的
节点位置。
83.具体地,由于第二标识表和对应的目标嵌入参数是抽样得到的需要对嵌入参数缓存进行更新的内容,而嵌入参数缓存的第二嵌入信息表记录了嵌入参数标识和节点位置的对应关系。因此,推荐系统服务端在对嵌入参数缓存进行更新时,首先查找嵌入参数缓存的第二嵌入信息表中是否存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识,其中,匹配可以是相同,也即查找嵌入参数缓存的第二嵌入信息表中是否存在与第二标识表中相同的嵌入参数标识。当第二嵌入信息表中存在与第二标识表中相同的嵌入参数标识时,则表示嵌入参数缓存中已经存在对应的参数记录,因此,进一步从第二嵌入信息表中确定该嵌入参数标识对应的第一目标节点位置。
84.在步骤s420中,根据第一目标节点位置,基于目标嵌入参数标识对应的目标嵌入参数,更新第一嵌入信息表中对应节点的嵌入参数。
85.又由于第一嵌入信息表中的每一个节点用于存储嵌入参数标识和对应的嵌入参数。因此,推荐系统服务端在确定匹配的嵌入参数标识对应的第一目标节点位置后,还可以根据该第一目标节点位置,对第一嵌入信息表中对应节点位置的内容进行更新。具体地,将该节点位置对应的嵌入参数更新为匹配的嵌入参数标识对应的目标嵌入参数,从而实现对嵌入参数缓存进行更新。
86.上述实施例中,当确定第二嵌入信息表中存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识时,则确定匹配的嵌入参数标识对应的第一目标节点位置,并根据第一目标节点位置,基于目标嵌入参数标识对应的目标嵌入参数,更新第一嵌入信息表中对应节点的嵌入参数,从而实现对嵌入参数缓存中存在的部分待更新内容进行更新,由于其更新逻辑相较于lru来说较为简单,因此可以提高更新效率。又由于此方式在查找时不会对链表和map表进行修改,因此,还可以减小查找过程导致的cpu开销。
87.在一示例性实施例中,如图5所示,在步骤s420中,更新第一嵌入信息表中对应节点的嵌入参数之后,上述方法还可以包括:
88.在步骤s510中,调整第一嵌入信息表中更新后的节点至第二目标节点位置。
89.其中,第二目标节点位置可以是预先定义的更新后的节点位于链表中的相对位置,具体地,第二目标节点位置可以是位于第一嵌入信息表表头的位置,或者也可以是位于第一嵌入信息表表尾的位置。
90.在本实施例中,为了避免缓存中存储量达到饱和而进行数据删除时,误将最新更新的数据删除,因此,在对嵌入参数缓存的第一嵌入信息表更新后,将对应更新后的节点移至链表的头部或尾部,并在删除时从链表的反方向进行数据删除。例如,若将更新后的节点移至链表的头部,则数据删除时从链表的尾部开始删除;若将更新后的节点移至链表的尾部,则数据删除时从链表的头部开始删除。
91.在步骤s520中,根据更新后的节点的第二目标节点位置,更新第二嵌入信息表。
92.又由于第二嵌入信息表用于记录嵌入参数标识和节点位置的对应关系,因此,当第一嵌入信息表中的节点位置发生变化时,则推荐系统服务端可以基于对应的变化自动更新嵌入参数缓存中的第二嵌入信息表。即自动更新第二嵌入信息表中记录的嵌入参数标识和节点位置的对应关系,从而实现与第一嵌入信息表中数据的同步,以确保嵌入参数缓存中数据的正确性。
93.在一示例性实施例中,如图6所示,在步骤s240中,根据第二标识表和对应的目标嵌入参数更新嵌入参数缓存,具体还可以通过以下步骤实现:
94.在步骤s610中,当第二嵌入信息表中不存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识时,在第一嵌入信息表中新建节点。
95.具体地,推荐系统服务端在对嵌入参数缓存进行更新时,首先查找嵌入参数缓存的第二嵌入信息表中是否存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识,其中,匹配可以是相同,也即查找嵌入参数缓存的第二嵌入信息表中是否存在与第二标识表中相同的嵌入参数标识。当第二嵌入信息表中不存在与第二标识表中相同的嵌入参数标识时,则表示嵌入参数缓存中不存在对应的参数记录。因此,推荐系统服务端可以在第一嵌入信息表中新建节点,其中,该新建节点用于存储目标嵌入参数标识和对应的目标嵌入参数,以实现对嵌入参数缓存进行更新。
96.在步骤s620中,根据新建节点,更新第二嵌入信息表。
97.又由于第二嵌入信息表用于记录嵌入参数标识和节点位置的对应关系,因此,当第一嵌入信息表中新增了用于存储目标嵌入参数标识和对应的目标嵌入参数的新建节点时,推荐系统服务端还可根据该新建节点,更新第二嵌入信息表。即在第二嵌入信息表中新增该新建节点与目标嵌入参数标识的对应关系,从而实现与第一嵌入信息表中数据的同步,以确保嵌入参数缓存中数据的正确性。
98.在一示例性实施例中,如图7所示,在步骤s620中,根据新建节点,更新第二嵌入信息表之后,上述方法还可以包括:
99.在步骤s710中,获取第一嵌入信息表当前的已存储量。
100.其中,已存储量可以是第一嵌入信息表当前所占用嵌入参数缓存的空间容量,也可以是第一嵌入信息表当前存储数据所占用的节点数量。
101.在本实施例中,当推荐系统服务端根据新建节点,更新第二嵌入信息表之后,还可以获取第一嵌入信息表当前的已存储量,并进行后续处理,从而避免缓存溢出。
102.在步骤s720中,当已存储量达到存储量阈值时,则删除第一嵌入信息表中目标位置的节点。
103.其中,目标位置可以是与上述第二目标节点位置相对的位置。具体地,当第二目标节点位置为位于第一嵌入信息表表头的位置时,则目标位置为位于第一嵌入信息表表尾的位置。而当第二目标节点位置为位于第一嵌入信息表表尾的位置时,则目标位置为位于第一嵌入信息表表头的位置。
104.存储量阈值可以是基于嵌入参数缓存的最大存储量而确定的第一嵌入信息表的存储量上限。具体地,存储量阈值可以是对应的空间容量阈值,也可以是对应的节点数量阈值,即嵌入参数标识的数量阈值。
105.在本实施例中,当推荐系统服务端获取的第一嵌入信息表当前的已存储量达到存储量阈值时,则删除第一嵌入信息表中目标位置的节点,直到已存储量小于存储量阈值时,得到已删除节点后的第一嵌入信息表,从而避免缓存溢出。例如,若目标位置为位于第一嵌入信息表表尾的位置,则当第一嵌入信息表当前的已存储量达到存储量阈值时,则删除第一嵌入信息表表尾位置的节点,直到该第一嵌入信息表的已存储量小于存储量阈值时,得到更新后的第一嵌入信息表。
106.在一示例性实施例中,又由于第二嵌入信息表用于记录嵌入参数标识和节点位置的对应关系,因此,当第一嵌入信息表中的数据发生变化时,则同步更新第二嵌入信息表。具体地,推荐系统服务端可以根据第一嵌入信息表中已删除的节点,而删除第二嵌入信息表中对应节点的对应关系,从而实现对第二嵌入信息表的更新,并实现与第一嵌入信息表中数据的同步,以确保嵌入参数缓存中数据的正确性。
107.在一示例性实施例中,嵌入参数缓存中还可以包括两个第三嵌入信息表、以及各指向其中一个第三嵌入信息表的查找指针和更新指针。其中,两个第三嵌入信息表均用于存储嵌入参数标识和对应的嵌入参数。例如,嵌入参数缓存中可以包括第三嵌入信息表t1和t2,其中,查找指针可以指向其中的一个第三嵌入信息表,更新指针则指向其中的另一个第三嵌入信息表。具体地,当查找指针指向t1时,则更新指针指向t2,此时,若收到查找请求时,则在t1中进行查找,若收到更新请求时,则对t2进行更新。而当查找指针指向t2时,则更新指针指向t1,此时,若收到查找请求时,则在t2中进行查找,若收到更新请求时,则对t1进行更新。
108.则如图8所示,在步骤s240中,根据第二标识表和匹配的目标嵌入参数更新嵌入参数缓存,具体可以通过以下步骤实现:
109.在步骤s810中,当更新指针当前指向的第三嵌入信息表中,存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识时,执行第一更新。
110.其中,第一更新是根据目标嵌入参数标识对应的目标嵌入参数,对更新指针当前指向的第三嵌入信息表中匹配的嵌入参数标识对应的嵌入参数进行更新的过程。
111.具体地,由于第二标识表和对应的目标嵌入参数是抽样得到的需要对嵌入参数缓存进行更新的内容,而更新指针当前指向的第三嵌入信息表则是嵌入参数缓存中当前用于更新的表。因此,推荐系统服务端在对缓存进行更新时,首先查找嵌入参数缓存中更新指针当前指向的第三嵌入信息表中,是否存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识,其中,匹配可以是相同,也即查找嵌入参数缓存的更新指针当前指向的第三嵌入信息表中是否存在与第二标识表中相同的嵌入参数标识。当更新指针当前指向的第三嵌入信息表中存在与第二标识表中相同的嵌入参数标识时,则表示嵌入参数缓存中已经存在对应的参数记录,因此,可以直接对该参数记录进行更新。例如,根据匹配的嵌入参数标识对应的目标嵌入参数,对更新指针当前指向的第三嵌入信息表中该匹配的嵌入参数标识对应的嵌入参数进行更新,从而实现对嵌入参数缓存进行更新。
112.在步骤s820中,当更新指针当前指向的第三嵌入信息表中,不存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识时,执行第二更新。
113.其中,第二更新是将目标嵌入参数标识和对应的目标嵌入参数,写入更新指针当前指向的第三嵌入信息表的过程。
114.具体地,推荐系统服务端在对嵌入参数缓存进行更新时,首先查找嵌入参数缓存中更新指针当前指向的第三嵌入信息表中,是否存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识,其中,匹配可以是相同,也即查找嵌入参数缓存的更新指针当前指向的第三嵌入信息表中是否存在与第二标识表中相同的嵌入参数标识。当更新指针当前指向的第三嵌入信息表中不存在与第二标识表中相同的嵌入参数标识时,则表示嵌入参数缓存中不存在对应的参数记录。因此,推荐系统服务端将该目标嵌入参数标识和对应的目标嵌入
参数,写入更新指针当前指向的第三嵌入信息表中,从而实现对嵌入参数缓存进行更新。
115.上述实施例中,当更新指针当前指向的第三嵌入信息表中,存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识时,执行第一更新,而当更新指针当前指向的第三嵌入信息表中,不存在与第二标识表中目标嵌入参数标识匹配的嵌入参数标识时,执行第二更新,从而实现对嵌入参数缓存进行更新,由于其更新逻辑相较于lru来说较为简单,因此可以提高更新效率。
116.在一示例性实施例中,如图9所示,在上述步骤s820中,执行第二更新之后,即写入更新指针当前指向的第三嵌入信息表之后,上述方法还可以包括:
117.步骤s910中,获取更新指针当前指向的第三嵌入信息表的已存储量。
118.同理,已存储量可以是更新指针当前指向的第三嵌入信息表所占用缓存的空间容量,也可以是该第三嵌入信息表当前存储的嵌入参数标识的数量。
119.在本实施例中,当推荐系统服务端执行第二更新之后,即写入更新指针当前指向的第三嵌入信息表之后,还可以获取该第三嵌入信息表当前的已存储量,并进行后续处理,从而避免缓存溢出。
120.步骤s920中,当已存储量达到存储量阈值时,交换更新指针与查找指针当前分别指向的第三嵌入信息表,并对交换后更新指针指向的第三嵌入信息表进行清空处理。
121.其中,存储量阈值可以是基于缓存的最大存储量而确定的更新指针所指向的第三嵌入信息表的存储量上限。具体地,存储量阈值可以是对应的空间容量阈值,也可以是对应存储嵌入参数标识的数量阈值。
122.在本实施例中,当更新指针指向的第三嵌入信息表的已存储量达到存储量阈值时,还可以交换更新指针与查找指针当前分别指向的第三嵌入信息表。例如,当更新指针当前指向的第三嵌入信息表为t1,则此时查找指针指向的第三嵌入信息表为t2,如果某一时刻确定t1的已存储量达到存储量阈值时,则将更新指针调整为指向t2,并将查找指针调整为指向t1,即交换更新指针与查找指针当前分别指向的第三嵌入信息表。同时对交换后更新指针指向的第三嵌入信息表进行清空处理,例如,若交换后更新指针指向的第三嵌入信息表为t2,则对t2进行清空处理,从而确保在下一次对嵌入参数缓存进行更新时能有足够的缓存空间。
123.在一示例性实施例中,如图10所示,上述方法还可以包括:
124.步骤s1010中,当已存储量未达到存储量阈值时,获取更新指针与查找指针的交换时间记录中距离当前时间最近的交换时间。
125.其中,交换时间记录可以是基于更新指针与查找指针之间的交换而记录的具体地交换时间信息。具体地,交换时间记录可以基于对应的日志得到,通常在计算机领域,系统的每一次操作事件都会被日志记录下来。距离当前时间最近的交换时间可以是日志中更新指针与查找指针最后一次进行交换的交换时间。
126.因此,在本实施例中,当更新指针指向的第三嵌入信息表的已存储量没有达到存储量阈值时,推荐系统服务端还可以基于更新指针与查找指针的交换时间记录,而获取距离当前时间最近的交换时间。
127.步骤s1020中,当交换时间与当前时间之间的时间间隔达到了设定的时间阈值时,交换更新指针与查找指针当前分别指向的第三嵌入信息表,并对交换后更新指针指向的第
三嵌入信息表进行清空处理。
128.其中,时间阈值是指预先设定的更新指针与查找指针之间进行交换的最大时间间隔,表示在上一次交换后最多再经过该时间阈值就需要进行下一次交换。
129.具体地,当推荐系统服务端获取到更新指针与查找指针的交换时间记录中距离当前时间最近的交换时间时,则进一步判断该交换时间与当前时间之间的时间间隔是否达到了设定的时间阈值,如果达到,则交换更新指针与查找指针当前分别指向的第三嵌入信息表,并对交换后更新指针指向的第三嵌入信息表进行清空处理,从而确保在下一次对缓存进行更新时能有足够的缓存空间。
130.在一示例性实施例中,如图11所示,本公开的缓存更新方法还可以包括如下步骤:
131.步骤s1110中,获取第三标识表。
132.其中,第三标识表包括从第一标识表中抽样第二标识表后,剩余的至少一个待查询的嵌入参数标识。
133.具体地,如图12所示,推荐系统服务端获取对嵌入参数的查询请求,该查询请求中携带有第一标识表l1,第一标识表l1包括至少一个待查询的嵌入参数标识。推荐系统服务端首先对查询请求进行抽样处理,从而得到抽样的第二标识表l2,该第二标识表l2用于对嵌入参数缓存进行更新,因此,并不会在嵌入参数缓存中进行查找,而是通过服务器集群进行查找,即向服务器集群发送该第二标识表l2,由服务器集群查询最新数据,并通过如图2所示的方法,基于服务器集群返回的与第二标识表l2对应的目标嵌入参数对缓存进行更新。
134.推荐系统服务端从第一标识表l1中抽样第二标识表l2后,剩余的待查询的嵌入参数标识则构成第三标识表l3。在本实施例中,第三标识表l3用于在缓存中查询。
135.步骤s1120中,当嵌入参数缓存中存在与第三标识表中待查询的嵌入参数标识匹配的目标嵌入参数标识时,从嵌入参数缓存中获取与目标嵌入参数标识对应的第一嵌入参数。
136.由于嵌入参数缓存是推荐系统服务端本地缓存的包括嵌入参数标识与嵌入参数对应关系的嵌入表,因此,通过在嵌入参数缓存中查询能够提高查询效率。
137.在本实施例中,推荐系统服务端通过在嵌入参数缓存中查询该第三标识表l3对应的嵌入参数,当嵌入参数缓存中存在与第三标识表l3中待查询的嵌入参数标识匹配的目标嵌入参数标识时,推荐系统服务端则从嵌入参数缓存中获取与该目标嵌入参数标识对应的第一嵌入参数,即从嵌入参数缓存中获取命中的嵌入参数标识对应的嵌入参数。其中,如图12所示,命中的嵌入参数标识可以定义为l3_0,第一嵌入参数则是与l3_0对应的嵌入参数。
138.步骤s1130中,当嵌入参数缓存中不存在与第三标识表中待查询的嵌入参数标识匹配的目标嵌入参数标识时,向服务器发送第三标识表中待查询的嵌入参数标识。
139.具体地,推荐系统服务端可以从第三标识表l3中滤除上述从第三标识表中缓存中命中的l3_0,从而得到剩余的待查询的嵌入参数标识,并将此定义为l3_1。也即l3_1所对应的嵌入参数标识,是在第三标识表中缓存中没有命中的第三标识表l3中待查询的嵌入参数标识。因此,可以在服务器集群继续查询与l3_1对应的嵌入参数。在本实施例中,推荐系统服务端通过向服务器集群发送第三标识表中待查询的嵌入参数标识l3_1,从而使得服务器集群能够据此进行查询。
140.步骤s1140中,接收服务器返回的与第三标识表中待查询的嵌入参数标识对应的第二嵌入参数。
141.其中,第二嵌入参数是与l3_1对应的嵌入参数。具体地,推荐系统服务端通过向服务器集群发送l3_1,从而使得服务器集群能够据此进行查询,之后,服务器集群返回查询到的与l3_1对应的第二嵌入参数,推荐系统服务端则接收服务器集群返回的与l3_1对应的第二嵌入参数。
142.步骤s1150中,根据第一嵌入参数、第二嵌入参数以及与第二标识表中目标嵌入参数标识匹配的目标嵌入参数,得到查询请求的查询结果。
143.由于第二标识表l2是从查询请求对应的第一标识表l1中抽样出来的,而目标嵌入参数是从服务器集群查询的与第二标识表l2匹配的嵌入参数;第一嵌入参数则是基于抽样后剩余的嵌入参数标识构成的第三标识表l3,在嵌入参数缓存中查询所命中的l3_0对应的嵌入参数;第二嵌入参数则是基于抽样后剩余的嵌入参数标识构成的第三标识表l3,在嵌入参数缓存中查询后未命中的l3_1对应的嵌入参数。因此,推荐系统服务端通过对第一嵌入参数、第二嵌入参数以及与第二标识表匹配的目标嵌入参数进行合并,从而得到查询请求的查询结果,即得到第一标识表l1对应的嵌入参数。
144.上述实施例中,推荐系统服务端通过获取第三标识表,当嵌入参数缓存中存在与第三标识表中待查询的嵌入参数标识匹配的目标嵌入参数标识时,从嵌入参数缓存中获取与目标嵌入参数标识对应的第一嵌入参数,当嵌入参数缓存中不存在与第三标识表中待查询的嵌入参数标识匹配的目标嵌入参数标识时,向服务器集群发送第三标识表中待查询的嵌入参数标识,并接收服务器集群返回的与第三标识表中待查询的嵌入参数标识对应的第二嵌入参数,从而根据第一嵌入参数、第二嵌入参数以及与第二标识表对应的目标嵌入参数,得到查询请求的查询结果。由于本实施例在查询时,只会对嵌入参数缓存中的内容执行读操作,而不会更新嵌入参数缓存系统中的内容,因此,不仅能够降低从嵌入参数缓存中查找嵌入参数的延时,还能够降低嵌入参数缓存的cpu开销,进而能够提高查询效率。
145.应该理解的是,虽然图1-图12的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图12中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
146.可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
147.图13是根据一示例性实施例示出的一种缓存更新装置框图。参照图13,该装置包括请求获取模块1302,抽样模块1304,发送模块1306和缓存更新模块1308。
148.请求获取模块1302,被配置为执行获取与嵌入参数的查询请求对应的第一标识表,所述第一标识表包括至少一个待查询的嵌入参数标识;
149.抽样模块1304,被配置为执行对所述第一标识表进行抽样处理,得到抽样的第二
标识表,所述第二标识表包括从所述第一标识表中抽样得到的至少一个目标嵌入参数标识;
150.发送模块1306,被配置为执行向服务器发送所述第二标识表,所述第二标识表用于指示所述服务器查询与所述第二标识表中目标嵌入参数标识匹配的目标嵌入参数;
151.缓存更新模块1308,被配置为执行接收所述服务器返回的与所述第二标识表中目标嵌入参数标识匹配的目标嵌入参数,根据所述第二标识表和匹配的目标嵌入参数更新嵌入参数缓存。
152.在一示例性实施例中,抽样模块还被配置为执行:针对每一个所述查询请求对应的第一标识表,采用预设的第一抽样策略,从所述第一标识表中抽取满足所述第一抽样策略的嵌入参数标识;将满足所述第一抽样策略的嵌入参数标识作为目标嵌入参数标识,根据所述目标嵌入参数标识生成针对所述第一标识表进行抽样的第二标识表。
153.在一示例性实施例中,抽样模块还被配置为执行:当所述查询请求满足预设的第二抽样策略时,将所述查询请求对应的第一标识表中的嵌入参数标识作为目标嵌入参数标识,根据所述目标嵌入参数标识生成第二标识表。
154.在一示例性实施例中,所述嵌入参数缓存中包括第一嵌入信息表和第二嵌入信息表,所述第一嵌入信息表的每一个节点用于存储嵌入参数标识和对应的嵌入参数,所述第二嵌入信息表用于记录所述嵌入参数标识和节点位置的对应关系,所述节点位置用于表征所述嵌入参数标识位于所述第一嵌入信息表中的位置;则缓存更新模块被配置为执行:当所述第二嵌入信息表中存在与所述第二标识表中目标嵌入参数标识匹配的嵌入参数标识时,确定匹配的所述嵌入参数标识对应的第一目标节点位置;根据所述第一目标节点位置,基于所述目标嵌入参数标识对应的目标嵌入参数,更新所述第一嵌入信息表中对应节点的嵌入参数。
155.在一示例性实施例中,所述缓存更新模块还被配置为执行:调整所述第一嵌入信息表中更新后的节点至第二目标节点位置,所述第二目标节点位置位于所述第一嵌入信息表的表头或表尾;根据更新后的节点的第二目标节点位置,更新所述第二嵌入信息表。
156.在一示例性实施例中,所述缓存更新模块还被配置为执行:当所述第二嵌入信息表中不存在与所述第二标识表中目标嵌入参数标识匹配的嵌入参数标识时,在所述第一嵌入信息表中新建节点,所述新建节点用于存储所述目标嵌入参数标识和对应的目标嵌入参数;根据所述新建节点,更新所述第二嵌入信息表。
157.在一示例性实施例中,所述缓存更新模块还被配置为执行:获取所述第一嵌入信息表当前的已存储量;当所述已存储量达到存储量阈值时,则删除所述第一嵌入信息表中目标位置的节点,直到所述已存储量小于所述存储量阈值时,得到已删除节点后的第一嵌入信息表。
158.在一示例性实施例中,所述缓存更新模块还被配置为执行:根据所述第一嵌入信息表中已删除的节点,更新所述第二嵌入信息表。
159.在一示例性实施例中,所述嵌入参数缓存中包括两个第三嵌入信息表、以及各指向其中一个所述第三嵌入信息表的查找指针和更新指针,所述两个第三嵌入信息表均用于存储嵌入参数标识和对应的嵌入参数;则所述缓存更新模块还被配置为执行:当所述更新指针当前指向的所述第三嵌入信息表中,存在与所述第二标识表中目标嵌入参数标识匹配
的嵌入参数标识时,根据所述目标嵌入参数标识对应的目标嵌入参数,更新所述更新指针当前指向的所述第三嵌入信息表中匹配的嵌入参数标识对应的嵌入参数。
160.在一示例性实施例中,所述缓存更新模块还被配置为执行:当所述更新指针当前指向的所述第三嵌入信息表中,不存在与所述第二标识表中目标嵌入参数标识匹配的嵌入参数标识时,将所述目标嵌入参数标识和对应的目标嵌入参数,写入所述更新指针当前指向的所述第三嵌入信息表。
161.在一示例性实施例中,所述缓存更新模块还被配置为执行:获取所述更新指针当前指向的所述第三嵌入信息表的已存储量;当所述已存储量达到存储量阈值时,交换所述更新指针与所述查找指针当前分别指向的第三嵌入信息表,并对交换后所述更新指针指向的第三嵌入信息表进行清空处理。
162.在一示例性实施例中,所述缓存更新模块还被配置为执行:当所述已存储量未达到存储量阈值时,获取所述更新指针与所述查找指针的交换时间记录中距离当前时间最近的交换时间;当所述交换时间与所述当前时间之间的时间间隔达到了设定的时间阈值时,交换所述更新指针与所述查找指针当前分别指向的第三嵌入信息表,并对交换后所述更新指针指向的第三嵌入信息表进行清空处理。
163.在一示例性实施例中,所述装置还包括查询模块,被配置为执行:获取第三标识表,所述第三标识表包括从所述第一标识表中抽样第二标识表后,剩余的至少一个待查询的嵌入参数标识;当所述嵌入参数缓存中存在与所述第三标识表中待查询的嵌入参数标识匹配的目标嵌入参数标识时,从所述嵌入参数缓存中获取与所述目标嵌入参数标识对应的第一嵌入参数;当所述嵌入参数缓存中不存在与所述第三标识表中待查询的嵌入参数标识匹配的目标嵌入参数标识时,向服务器发送所述第三标识表中待查询的嵌入参数标识;接收所述服务器返回的与所述第三标识表中待查询的嵌入参数标识对应的第二嵌入参数;根据所述第一嵌入参数、第二嵌入参数以及与所述第二标识表中目标嵌入参数标识匹配的目标嵌入参数,得到所述查询请求的查询结果。
164.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
165.图14是根据一示例性实施例示出的一种用于缓存更新的电子设备z00的框图。例如,电子设备z00可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
166.参照图14,电子设备z00可以包括以下一个或多个组件:处理组件z02、存储器z04、电源组件z06、多媒体组件z08、音频组件z10、输入/输出(i/o)的接口z12、传感器组件z14以及通信组件z16。
167.处理组件z02通常控制电子设备z00的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件z02可以包括一个或多个处理器z20来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件z02可以包括一个或多个模块,便于处理组件z02和其他组件之间的交互。例如,处理组件z02可以包括多媒体模块,以方便多媒体组件z08和处理组件z02之间的交互。
168.存储器z04被配置为存储各种类型的数据以支持在电子设备z00的操作。这些数据的示例包括用于在电子设备z00上操作的任何应用程序或方法的指令、联系人数据、电话簿
数据、消息、图片、视频等。存储器z04可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、快闪存储器、磁盘、光盘或石墨烯存储器。
169.电源组件z06为电子设备z00的各种组件提供电力。电源组件z06可以包括电源管理系统,一个或多个电源,及其他与为电子设备z00生成、管理和分配电力相关联的组件。
170.多媒体组件z08包括在所述电子设备z00和用户之间的提供输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件z08包括前置摄像头和/或后置摄像头。当电子设备z00处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是固定的光学透镜系统或具有焦距和光学变焦能力。
171.音频组件z10被配置为输出和/或输入音频信号。例如,音频组件z10包括麦克风(mic),当电子设备z00处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器z04或经由通信组件z16发送。在一些实施例中,音频组件z10还包括扬声器,用于输出音频信号。
172.i/o接口z12为处理组件z02和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
173.传感器组件z14包括一个或多个传感器,用于为电子设备z00提供各个方面的状态评估。例如,传感器组件z14可以检测到电子设备z00的打开/关闭状态,组件的相对定位,例如所述组件为电子设备z00的显示器和小键盘,传感器组件z14还可以检测电子设备z00或电子设备z00组件的位置改变,用户与电子设备z00接触的存在或不存在,设备z00方位或加速/减速和电子设备z00的温度变化。传感器组件z14可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件z14还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件z14还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
174.通信组件z16被配置为便于电子设备z00和其他设备之间有线或无线方式的通信。电子设备z00可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件z16经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件z16还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
175.在示例性实施例中,电子设备z00可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
176.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指
令的存储器z04,上述指令可由电子设备z00的处理器z20执行以完成上述方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
177.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备z00的处理器z20执行以完成上述方法。
178.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
179.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
180.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献