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

对象查找方法和装置、存储介质及电子设备与流程

2022-02-20 00:43:12 来源:中国专利 TAG:


1.本发明涉及计算机领域,具体而言,涉及一种对象查找方法和装置、存储介质及电子设备。


背景技术:

2.通过链表的数据结构存储数据,方便查找数据。例如,利用链表的数据结构存储好友列表中的好友对象,可以方便查找、删除和加入好友。又例如,在游戏应用中,利用链表的数据结构存储虚拟道具,可以方便玩家查找、删除、新增虚拟道具。
3.现有的查找链表中的对象,一般通过遍历链表的方式实现。在查找链表中的对象时往往需要遍历整个链表,对于数据量较大的链表,遍历整个链表复杂度较高,耗时较长,查询效率低。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种对象查找方法和装置、存储介质及电子设备,以至少解决目标应用中对象查找效率较低的技术问题。
6.根据本发明实施例的一个方面,提供了一种对象查找方法,包括:在目标应用中获取待查找的第一对象,其中,所述目标应用由目标帐号登录,所述目标帐号具有n级对象链表,所述n级对象链表中的第一级对象链表包括按目标顺序排列的一组对象,所述一组对象与所述目标帐号具有关联关系,所述n级对象链表中除所述第一级对象链表之外的每级对象链表包括上一级对象链表中按所述目标顺序排列的部分对象,n为大于或等于2的自然数;从所述n级对象链表中的第n级对象链表开始逐级查找所述第一对象,直到查找到所述第一对象,或者,遍历完所述n级对象链表;在查找到所述第一对象的情况下,在所述目标应用中显示查找到的所述第一对象。
7.可选地,所述从所述n级对象链表中的第n级对象链表开始逐级查找所述第一对象,包括:在所述n级对象链表中的第i级对象链表中未查找到所述第一对象的情况下,确定所述第i级对象链表中相邻的第一相邻对象和第二相邻对象,其中,在所述第i级对象链表中所述第一相邻对象位于所述第二相邻对象之前,在所述第一级对象链表中所述第一对象位于所述第一相邻对象和所述第二相邻对象之间,2≤i≤n;在第i-1级对象链表中从所述第一相邻对象开始按所述目标顺序查找所述第一对象,或者,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象。
8.可选地,所述从所述n级对象链表中的第n级对象链表开始逐级查找所述第一对象,还包括:在所述第i-1级对象链表中从所述第一相邻对象开始按所述目标顺序查找所述第一对象、且直到遍历至所述第i-1级对象链表中的所述第二相邻对象时均未查找到所述第一对象的情况下,或者,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象、且直到遍历至所述第i-1级对象链表中的所述第一
相邻对象时均未查找到所述第一对象的情况下,结束在所述第i-1级对象链表中查找所述第一对象;确定所述第i-1级对象链表中相邻的第三相邻对象和第四相邻对象,其中,在所述第i-1级对象链表中,所述第三相邻对象位于所述第四相邻对象之前,在所述第一级对象链表中所述第一对象位于所述第三相邻对象和所述第四相邻对象之间;在第i-2级对象链表中从所述第三相邻对象开始按所述目标顺序查找所述第一对象,或者,在所述第i-2级对象链表中从所述第四相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象,其中,3≤i≤n。
9.可选地,在第i-1级对象链表中从所述第一相邻对象开始按所述目标顺序查找所述第一对象,或者,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象,包括:在所述第一对象与所述第一相邻对象之间的距离小于所述第一对象与所述第二相邻对象之间的距离时,在所述第i-1级对象链表中从所述第一相邻对象开始按所述目标顺序查找所述第一对象;或者在所述第一对象与所述第一相邻对象之间的距离大于所述第一对象与所述第二相邻对象之间的距离时,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象。
10.可选地,所述方法还包括:在所述目标应用中获取删除指令,其中,所述删除指令用于指示删除所述一组对象中的第二对象;从所述n级对象链表中的所述第n级对象链表开始逐级查找所述第二对象,直到查找到所述第二对象,或者,遍历完所述n级对象链表;在所述n级对象链表中的第j级对象链表中查找到所述第二对象的情况下,删除所述第j级对象链表至所述第一级对象链表中的所述第二对象,其中,1≤j≤n。
11.可选地,删除所述第j级对象链表至所述第一级对象链表中的所述第一对象,包括:在所述第j级对象链表至所述第一级对象链表中的第p级链表中仅包含所述第二对象时,删除所述第p级链表,其中,1≤p≤j。
12.可选地,所述方法还包括:在所述目标应用中获取添加指令,其中,所述添加指令用于指示在所述一组对象中添加的第三对象;在所述n级对象链表中除所述第一级对象链表之外的一级或多级对象链表中查找相邻的第五相邻对象和第六相邻对象,其中,按照所述目标顺序排列时,所述第五相邻对象位于所述第六相邻对象之前,且所述第三对象的位于所述第五相邻对象和所述第六相邻对象之间;根据所述第五相邻对象和所述第六相邻对象,在所述第一级对象链表中确定所述第三对象的插入位置,并将所述第三对象添加到所述插入位置上。
13.可选地,所述在所述n级对象链表中除第一级对象链表之外的一级或多级对象链表中查找相邻的第五相邻对象和第六相邻对象,包括:在第二级对象链表中按照所述目标顺序查找相邻的所述第五相邻对象和所述第六相邻对象;或者从所述n级对象链表中的第n级对象链表或第j级对象链表开始向下逐级查找相邻的所述第五相邻对象和所述第六相邻对象,其中,所述第三对象与所述第五相邻对象之间的距离小于预设距离,或者,所述第三对象与所述第六相邻对象之间的距离小于所述预设距离,3≤j≤n-1。
14.可选地,所述根据所述第五相邻对象和所述第六相邻对象,在所述第一级对象链表中确定所述第三对象的插入位置,并将所述第三对象添加到所述插入位置上,包括:在所述第一级对象链表中从所述第五相邻对象开始按照所述目标顺序查找相邻的两个对象,或者,在所述第一级对象链表中从所述第六相邻对象开始按照与所述目标顺序相反的顺序查
找相邻的两个对象,其中,按照所述目标顺序排列时,所述第三对象位于所述相邻的两个对象之间;将所述相邻的两个对象之间的位置确定为所述第三对象的插入位置,并将所述第三对象插入到所述相邻的两个对象之间。
15.可选地,所述在目标应用中获取待查找的第一对象,包括:在所述目标应用中获取待查找的帐号,其中,所述一组对象是与所述目标帐号具有关联关系的一组帐号;或者在所述目标应用中获取待查找的虚拟物品,其中,所述一组对象是所述目标帐号具有的一组虚拟物品;或者在所述目标应用中获取待查找的虚拟道具,其中,所述一组对象是所述目标帐号具有的一组虚拟道具。
16.根据本发明实施例的另一方面,还提供了一种对象添加方法,包括:在目标应用中获取待添加的第三对象,其中,所述目标应用由目标帐号登录,所述目标帐号具有n级对象链表,所述n级对象链表中的第一级对象链表包括按目标顺序排列的一组对象,所述一组对象与所述目标帐号具有关联关系,所述n级对象链表中除所述第一级对象链表之外的每级对象链表包括上一级对象链表中按所述目标顺序排列的部分对象,n为大于或等于2的自然数;在所述n级对象链表中除所述第一级对象链表之外的一级或多级对象链表中查找相邻的第五相邻对象和第六相邻对象,其中,按照所述目标顺序排列时,所述第五相邻对象位于所述第六相邻对象之前,且所述第三对象的位于所述第五相邻对象和所述第六相邻对象之间;根据所述第五相邻对象和所述第六相邻对象,在所述第一级对象链表中确定所述第三对象的插入位置,并将所述第三对象添加到所述插入位置上。
17.可选地,所述在所述n级对象链表中除第一级对象链表之外的一级或多级对象链表中查找相邻的第五相邻对象和第六相邻对象,包括:在第二级对象链表中按照所述目标顺序查找相邻的所述第五相邻对象和所述第六相邻对象;或者从所述n级对象链表中的第n级对象链表或第j级对象链表开始向下逐级查找相邻的所述第五相邻对象和所述第六相邻对象,其中,所述第三对象与所述第五相邻对象之间的距离小于预设距离,或者,所述第三对象与所述第六相邻对象之间的距离小于所述预设距离,3≤j≤n-1。
18.可选地,所述根据所述第五相邻对象和所述第六相邻对象,在所述第一级对象链表中确定所述第三对象的插入位置,并将所述第三对象添加到所述插入位置上,包括:在所述第一级对象链表中从所述第五相邻对象开始按照所述目标顺序查找相邻的两个对象,或者,在所述第一级对象链表中从所述第六相邻对象开始按照与所述目标顺序相反的顺序查找相邻的两个对象,其中,按照所述目标顺序排列时,所述第三对象位于所述相邻的两个对象之间;将所述相邻的两个对象之间的位置确定为所述第三对象的插入位置,并将所述第三对象插入到所述相邻的两个对象之间。
19.可选地,所述在目标应用中获取待添加的第三对象,包括:在所述目标应用中获取待添加的帐号,其中,所述一组对象是与所述目标帐号具有关联关系的一组帐号;或者在所述目标应用中获取待查找的虚拟物品,其中,所述一组对象是所述目标帐号具有的一组虚拟物品;或者在所述目标应用中获取待查找的虚拟道具,其中,所述一组对象是所述目标帐号具有的一组虚拟道具。
20.根据本发明实施例的另一方面,还提供了一种对象查找装置,包括:第一获取模块,用于在目标应用中获取待查找的第一对象,其中,所述目标应用由目标帐号登录,所述目标帐号具有n级对象链表,所述n级对象链表中的第一级对象链表包括按目标顺序排列的
一组对象,所述一组对象与所述目标帐号具有关联关系,所述n级对象链表中除所述第一级对象链表之外的每级对象链表包括上一级对象链表中按所述目标顺序排列的部分对象,n为大于或等于2的自然数;第一查找模块,用于从所述n级对象链表中的第n级对象链表开始逐级查找所述第一对象,直到查找到所述第一对象,或者,遍历完所述n级对象链表;显示模块,用于在查找到所述第一对象的情况下,在所述目标应用中显示查找到的所述第一对象。
21.根据本发明实施例的另一方面,还提供了一种对象添加装置,包括:第二获取模块,用于在目标应用中获取待添加的第三对象,其中,所述目标应用由目标帐号登录,所述目标帐号具有n级对象链表,所述n级对象链表中的第一级对象链表包括按目标顺序排列的一组对象,所述一组对象与所述目标帐号具有关联关系,所述n级对象链表中除所述第一级对象链表之外的每级对象链表包括上一级对象链表中按所述目标顺序排列的部分对象,n为大于或等于2的自然数;第二查找模块,用于在所述n级对象链表中除所述第一级对象链表之外的一级或多级对象链表中查找相邻的第五相邻对象和第六相邻对象,其中,按照所述目标顺序排列时,所述第五相邻对象位于所述第六相邻对象之前,且所述第三对象的位于所述第五相邻对象和所述第六相邻对象之间;确定模块,用于根据所述第五相邻对象和所述第六相邻对象,在所述第一级对象链表中确定所述第三对象的插入位置,并将所述第三对象添加到所述插入位置上。
22.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述对象查找方法。
23.根据本技术实施例的又一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上对象查找方法。
24.根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的对象查找方法。
25.在本发明实施例中,n级对象链表中的第一级对象链表包括按目标顺序排列的一组对象,n级对象链表中除第一级对象链表之外的每级对象链表包括上一级对象链表中按目标顺序排列的部分对象。这样,在查找链表中的对象时,从第n级对象链表开始逐级查找,由于每级对象链表包括上一级对象链表中按序排列的部分对象,在逐级查找对象时,先从对象数量较少的链表中查找,将查找到的对象显示的在目标应用中。这样就不用遍历所有的对象,提升了对象链表中对象的查找效率。
26.另外,在本发明实施例中,若删除链表中的对象,通过从第n级对象链表开始逐级查找待删除对象,对查找到的待删除对象进行删除即可。由于链表中对象的查找效率提升了,因此,删除链表中的对象的效率也提升了。
27.另外,在本发明实施例中,若在对象链表中新增对象,由于链表中的对象均是按照目标顺序排序的,通过在n级对象链表中除第一级对象链表之外的一级或多级对象链表中查找与新增对象相邻的相邻对象,根据相邻对象可以确定新增对象在第一级对象链表中的插入位置。这样在第一级对象链表中的插入新增对象时,就不用遍历第一级对象链表中的
对象,就可以快速确定新增对象的待插入位置,从而提升在对象链表中新增对象的效率。
附图说明
28.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
29.图1是根据本发明实施例的一种可选的对象查找方法的应用环境的示意图;
30.图2是根据本发明实施例的一种可选的对象查找方法的流程图;
31.图3是根据本发明实施例的一种可选的n级对象链表示意图;
32.图4是根据本发明实施例的一种可选的好友搜索示意图;
33.图5是根据本发明实施例的另一种可选的好友搜索示意图;
34.图6是根据本发明实施例的另一种可选的好友删除示意图;
35.图7是根据本发明实施例的另一种可选的n级对象链表示意图;
36.图8是根据本发明实施例的又一种可选的n级对象链表示意图;
37.图9是根据本发明实施例的又一种可选的n级对象链表示意图;
38.图10是根据本发明实施例的又一种可选的n级对象链表示意图;
39.图11是根据本发明实施例的又一种可选的n级对象链表示意图;
40.图12是根据本发明实施例的又一种可选的n级对象链表示意图;
41.图13是根据本发明实施例的又一种可选的插入对象示意图;
42.图14是根据本发明实施例的又一种可选的虚拟物品列表示意图;
43.图15是根据本发明实施例的又一种可选的虚拟道具列表示意图;
44.图16是根据本发明实施例的一种可选的对象添加方法的流程图;
45.图17是根据本发明实施例的一种可选的对象查找装置的结构示意图;
46.图18是根据本发明实施例的一种可选的对象添加装置的结构示意图;
47.图19是根据本发明实施例的一种可选的电子设备的结构示意图;
48.图20是根据本发明实施例的一种可选的电子设备的计算机系统结构框图。
具体实施方式
49.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
50.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
51.根据本发明实施例的一个方面,提供了一种对象查找方法,可选地,作为一种可选的实施方式,上述对象查找方法可以但不限于应用于如图1所示的应用环境中。上述应用环境中包括用户设备102、网络110和服务器112,其中,用户设备102中包括存储器104、处理器106和显示器108,其中,上述存储器104用于存储数据,包括但不限于上述n级对象链表中的对象,上述处理器用于对数据进行处理,包括但不限于从n级对象链表中的第n级对象链表开始逐级查找第一对象。上述显示器用于对查找到的对象进行显示,包括但不限于显示上述第一对象。
52.可选地,在本实施例中,上述用户设备可以是配置有目标应用的终端设备,可以包括但不限于以下至少之一:手机(如android手机、ios手机等)、笔记本电脑、平板电脑、掌上电脑、mid(mobile internet devices,移动互联网设备)、pad、台式电脑、智能电视等。目标应用可以是视频应用、即时通信应用、浏览器应用、游戏应用等。上述网络110可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、wifi及其他实现无线通信的网络。上述服务器112可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述服务器中包括数据库114和处理引擎116,上述数据库用于存储数据,包括但不限于上述n级对象链表,以及上述n级对象链表中的对象,上述处理引擎用于处理数据,包括但不限于上述从n级对象链表中的第n级对象链表开始逐级查找第一对象,直到查找到第一对象,或者,遍历完n级对象链表。
53.上述仅是一种示例,本实施例中对此不作任何限定。
54.可选地,作为一种可选的实施方式,如图2所示,上述对象查找方法包括:
55.步骤s202,在目标应用中获取待查找的第一对象,其中,所述目标应用由目标帐号登录,所述目标帐号具有n级对象链表,所述n级对象链表中的第一级对象链表包括按目标顺序排列的一组对象,所述一组对象与所述目标帐号具有关联关系,所述n级对象链表中除所述第一级对象链表之外的每级对象链表包括上一级对象链表中按所述目标顺序排列的部分对象,n为大于或等于2的自然数;
56.其中,上述目标应用可以是即时通讯应用、游戏应用等。上述目标帐号可以是玩家使用的游戏帐号,例如,玩家通过游戏帐号登录游戏应用。上述一组对象可以时目标应用的登录帐号,例如,即使通讯中的登录帐号,游戏应用中的登录帐号等。上述一组对象可以是登录目标应用的帐号,例如,可以是目标应用中目标帐号的好友。一组对象还可以是游戏应用中的虚拟物体或虚拟道具,可以是游戏应用中允许目标帐号使用的虚拟道具,或者是虚拟物体。
57.步骤s204,从所述n级对象链表中的第n级对象链表开始逐级查找所述第一对象,直到查找到所述第一对象,或者,遍历完所述n级对象链表;
58.其中,以上述n为3为例,如图3所示是根据本发明可选实施例的n级对象链表示意图,其中,l1为第一级对象链表,l2为第二级对象链表,l23为第三级对象链表。第一级对象链表中包括的一组对象为a、b、c、f、g、h、i、j,以上述目标应用为游戏客户端为例,上述a、b、c、f、g、h、i、j可以是目标帐号的好友。如图中所示,每一级链表中包括上一级链表中的部分对象,其中,l2中包括l1中的部分对象a、c、g、i,l3中包括l2中的部分对象a、g。在查找第一对象时,从l3至l1逐链表查找,直到查找到第一对象,或者遍历完所有链表。以第一对象为c为例,从l3开始,遍历l3未查找到c,则从l2查找c,在l2中查找到对象c。或者以第一对象为e
为例,由于l3至l1中均没有e,则从l3开始制止遍历至l1,遍历完所有链表。
59.步骤s206,在查找到所述第一对象的情况下,在所述目标应用中显示查找到的所述第一对象。
60.作为一个可选的实施方式,上述n级对象链表中除了第一级对象链表之外的其他对象链表可以称为跳跃表。如图3中的l2和l3可以称为跳跃表,跳跃表l2和l3作为第一级对象链表(l1)的索引表在好友搜索时先查询索引表得到初步区间定位,再进行下一层级(下一个索引表或者第一级对象链表)的查询,以加快好友搜索速度,同时降低有序好友列表增加节点、删除节点和更新节点的服务器性能损耗。
61.如图4所示是根据本发明可选实施例的好友搜索示意图,在图4所示的好友列表中的好友按照目标顺序排列,上述目标顺序可以是字母的排列顺序,在该好友列表中可以显示n个好友。在输入框中用户可以输入待查找的对象,如图5所示,用户在输入框输入“a”,并点击搜索,在好友列表中显示搜索到的好友“a”。在本实施例中,玩家可以在好友列表中新增或删除好友,如图6所示,在好友列表中选中好友a,点击删除可以删除好友a。
62.可选地,所述从所述n级对象链表中的第n级对象链表开始逐级查找所述第一对象,包括:在所述n级对象链表中的第i级对象链表中未查找到所述第一对象的情况下,确定所述第i级对象链表中相邻的第一相邻对象和第二相邻对象,其中,在所述第i级对象链表中所述第一相邻对象位于所述第二相邻对象之前,在所述第一级对象链表中所述第一对象位于所述第一相邻对象和所述第二相邻对象之间,2≤i≤n;在第i-1级对象链表中从所述第一相邻对象开始按所述目标顺序查找所述第一对象,或者,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象。
63.作为一个可选的实施方式,以图3所示的n级对象链表为例,假设上述第i级对象链表是l3对应的对象链表。若查找对象c,首先从l3对象链表开始,从l3对象链表的对象开始查找对象c,遍历l3未查找到c,根据字母的排列顺序可以确定对象c的排列顺序位于l3对象链表中的a和g之间,则a为l3对象链表中第一对象c的第一相邻对象,g为l3对象链表中第一对象c的第二相邻对象。继续从l2查找c,由于l3包括l2中的部分对象,并在l3中确定c位于a和g之间,则在l2中在a和g之间查找c,具体地,可以在l2层从a开始按序查找c,或者从g开始反方向查找c。
64.作为一个可选的实施方式,以图3所示的n级对象链表为例,若查找对象i,首先从l3对象链表开始,从l3对象链表的对象开始查找对象i,遍历l3未查找到i,根据字母的排列顺序可以确定对象i的排列顺序位于l3对象链表中的g和null之间,则g为l3对象链表中第一对象i的第一相邻对象,null为l3对象链表中第一对象i的第二相邻对象。继续从l2查找i,由于l2作为l3的上一级链表,l3包括l2中的部分对象,并在l3中确定i位于g和null之间,则在l2中在g和null之间查找i,具体地,可以在l2层从g开始按序查找i,或者从null开始反方向查找i。
65.在上述实施例中,在查找对象时,由于设计了n级对象链表,每级对象链表包括上一级链表的部分对象,在查找对象时,从包含对象数量较小的链表开始查找,这样在查找对象时,不用遍历所有的对象,可以节省查找时间,提升查找效率。
66.可选地,所述从所述n级对象链表中的第n级对象链表开始逐级查找所述第一对象,还包括:在所述第i-1级对象链表中从所述第一相邻对象开始按所述目标顺序查找所述
第一对象、且直到遍历至所述第i-1级对象链表中的所述第二相邻对象时均未查找到所述第一对象的情况下,或者,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象、且直到遍历至所述第i-1级对象链表中的所述第一相邻对象时均未查找到所述第一对象的情况下,结束在所述第i-1级对象链表中查找所述第一对象;确定所述第i-1级对象链表中相邻的第三相邻对象和第四相邻对象,其中,在所述第i-1级对象链表中,所述第三相邻对象位于所述第四相邻对象之前,在所述第一级对象链表中所述第一对象位于所述第三相邻对象和所述第四相邻对象之间;在第i-2级对象链表中从所述第三相邻对象开始按所述目标顺序查找所述第一对象,或者,在所述第i-2级对象链表中从所述第四相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象,其中,3≤i≤n。
67.作为一个可选的实施方式,以上述图3所示的n级对象链表为例,假设查找对象f。首先在l3(第i级对象链表)对象链表中查找,遍历l3对象链表未查找到f。根据字符排列顺序,确定f位于a和g之间,则a作为第一相邻对象,g作为第二相邻对象,在l2(第i-1级对象链表)中查找对象f,在l2中的a和g之间查找f。具体地,可以在l2中从a开始按照链表顺序查找f,也可以在l2中从g开始按照链表的反向顺序查找f。以从a开始按照链表顺序查找f为例,在l2从a开始遍历,直到遍历至g未查找到f,则在l2中确定与f相邻的对象,在l2中按照字母排列顺序确定f位于对象c和g之间,则c作为第三相邻对象,g作为第四相邻对象。l1(第i-2级对象链表)中在c和g之间查找对象f,具体地可以在l1中从c开始按照链表顺序查找f,或者从g开始,按照链表顺序反向查找f。
68.作为一个可选的实施方式,以上述图3所示的n级对象链表为例,假设查找对象j。首先在l3(第i级对象链表)对象链表中查找,遍历l3对象链表未查找到j。根据字符排列顺序,确定j位于g和null之间,则g作为第一相邻对象,null作为第二相邻对象,在l2(第i-1级对象链表)中查找对象j,在l2中的g和null之间查找f。具体地,可以在l2中从g开始按照链表顺序查找j,也可以在l2中从null开始按照链表的反向顺序查找j。以从g开始按照链表顺序查找j为例,在l2从g开始遍历,直到遍历至null未查找到j,则在l2中确定与j相邻的对象,在l2中按照字母排列顺序确定j位于对象i和null之间,则i作为第三相邻对象,null作为第四相邻对象。l1(第i-2级对象链表)中在i和null之间查找对象j,具体地可以在l1中从i开始按照链表顺序查找j,或者从null开始,按照链表顺序反向查找j。
69.在上述实施例中,如果在第一级对象链表中有n个对象,则对象链表的层数可以是log n层。其中,最耗时的查询是访问所有层数,耗时(log n log n),即2log n。所以时间复杂度是o(log n)。而现有技术中,好友查找的时间复杂度为o(n)。相对于现有技术,本技术的时间复杂度降低,提升了查找效率。
70.可选地,在第i-1级对象链表中从所述第一相邻对象开始按所述目标顺序查找所述第一对象,或者,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象,包括:在所述第一对象与所述第一相邻对象之间的距离小于所述第一对象与所述第二相邻对象之间的距离时,在所述第i-1级对象链表中从所述第一相邻对象开始按所述目标顺序查找所述第一对象;或者在所述第一对象与所述第一相邻对象之间的距离大于所述第一对象与所述第二相邻对象之间的距离时,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象。
71.作为一个可选的实施方式,如图7所示,以查找对象f为例,首先在l2对象链表中查找f,遍历l2未查找到f,在l2中确定与f相邻的相邻对象为e和h,则在l1从e和h之间查找f。具体地,可以根据f与e和h之间的距离查找f。按照字母的排列顺序,f与e之间的距离为1,f与h之间的距离为2,为了加快对象的查找速度,可以从距离最小的对象开始查找f,此时在l1中从e开始按照链表顺序查找f。
72.作为一个可选的实施方式,如图8所示,以查找对象c为例,首先在l2对象链表中查找c,遍历l2未查找到c,在l2中确定与c相邻的相邻对象为a和e,则在l1从a和e之间查找c。具体地,可以根据c与a和e之间的距离查找c。按照字母的排列顺序,c与e之间的距离为1,c与a之间的距离为2,为了加快对象的查找速度,可以从距离最小的对象开始查找f,此时在l1中从e开始按照链表顺序,反方向查找f。
73.在上述实施例中,根据待查找对象与相邻对象之间的距离,从距离最近的相邻对象开始查找待查找对象,可以减少链表中对象的遍历次数,节省对象的查找时间,提升效率。
74.可选地,所述方法还包括:在所述目标应用中获取删除指令,其中,所述删除指令用于指示删除所述一组对象中的第二对象;从所述n级对象链表中的所述第n级对象链表开始逐级查找所述第二对象,直到查找到所述第二对象,或者,遍历完所述n级对象链表;在所述n级对象链表中的第j级对象链表中查找到所述第二对象的情况下,删除所述第j级对象链表至所述第一级对象链表中的所述第二对象,其中,1≤j≤n。
75.作为一个可选的实施方式,如图9所示,以删除n级对象链表中的对象c为例,在l3中查找对象c,遍历l3未查找到对象c。在l3中确定与对象c相邻的对象是a和g,则在l2对象链表中,在a和g中查找对象c。具体地,可以在l2中从a开始按照链表顺序查找c,也可以从g开始按链表顺序反向查找c,在l2中查找到c,删除l2中的对象,并删除l1中的对象c。在本实施例中,通过设计n级链表,在删除对象时,跳跃表作为第一级对象链表的索引表,在好友搜索时先查询索引表得到初步区间定位,再进行下一层级(下一个索引表或者第一级对象链表)的查询,以加快对象搜索速度,进而提升对象删除的效率。
76.可选地,删除所述第j级对象链表至所述第一级对象链表中的所述第一对象,包括:在所述第j级对象链表至所述第一级对象链表中的第p级链表中仅包含所述第二对象时,删除所述第p级链表,其中,1≤p≤j。
77.作为一个可选的实施方式,对于n级对象链表中的对象删除,例如玩家删除一名好友k,先从高级的跳跃表l3进行查找,查找到l3有元素k,把l3的k节点先删除,删除k后l3没有其他元素,则删除对象链表l3。如果对象链表l3中没有元素k,则在对象链表l2中查找k,如果在l2中查找到k,则删除l2和l1层中的对象k。在本实施例中,若删除链表中的对象后,链表中没有其他对象,则直接删除链表。这样可以减少遍历空链表的耗时,提升对象的查找时间,提升效率。此外还能节省控链表占据的内存空间。
78.可选地,所述方法还包括:在所述目标应用中获取添加指令,其中,所述添加指令用于指示在所述一组对象中添加的第三对象;在所述n级对象链表中除所述第一级对象链表之外的一级或多级对象链表中查找相邻的第五相邻对象和第六相邻对象,其中,按照所述目标顺序排列时,所述第五相邻对象位于所述第六相邻对象之前,且所述第三对象的位于所述第五相邻对象和所述第六相邻对象之间;根据所述第五相邻对象和所述第六相邻对
象,在所述第一级对象链表中确定所述第三对象的插入位置,并将所述第三对象添加到所述插入位置上。
79.作为一个可选的实施方式,在即时通讯应用或者游戏应用中通常会有添加好友的场景,以上述目标应用为游戏应用,目标帐号在游戏应用中添加好友为例。如图10是目标帐号的n级对象链表示意图,以添加对象e为例。按照字母排列顺序,在l3中查找与对象e相邻的对象,在l3中查找到与对象e相邻的对象是a(第五相邻对象)和g(第六相邻对象),则继续在l1中的a和g范围内查找与对象e相邻的对象,具体地,可以在l1中从a开始查找与e相邻的对象是c和f,则确定c和f之间为对象e的插入位置,将对象e插入至c和f之间。
80.作为一个可选的实施方式,如图11是目标帐号的n级对象链表示意图,以添加对象e为例。按照字母排列顺序,在l2中查找与对象e相邻的对象,在l2中查找到与对象e相邻的对象是c(第五相邻对象)和g(第六相邻对象),则继续在l1中的c和g范围内查找与对象e相邻的对象,具体地,可以在l1中从c开始查找与e相邻的对象是c和f,则确定c和f之间为对象e的插入位置,将对象e插入至c和f之间。
81.在上述实施例中,在好友列表中添加好友时,在添加好友时先查询索引表得到初步区间定位,再进行下一层级(下一个索引表或者第一级对象链表)的相邻对象查询,以加快速度查找好友的插入位置,同时降低有序好友列表增加节点的服务器性能损耗。
82.可选地,所述在所述n级对象链表中除第一级对象链表之外的一级或多级对象链表中查找相邻的第五相邻对象和第六相邻对象,包括:在第二级对象链表中按照所述目标顺序查找相邻的所述第五相邻对象和所述第六相邻对象;或者从所述n级对象链表中的第n级对象链表或第j级对象链表开始向下逐级查找相邻的所述第五相邻对象和所述第六相邻对象,其中,所述第三对象与所述第五相邻对象之间的距离小于预设距离,或者,所述第三对象与所述第六相邻对象之间的距离小于所述预设距离,3≤j≤n-1。
83.作为一个可选的实施方式,如图11所示,图中的l2为在第二级对象链表,以添加对象e为例。按照字母排列顺序,在l2中查找与对象e相邻的对象,在l2中查找到与对象e相邻的对象是c(第五相邻对象)和g(第六相邻对象),则继续在l1中的c和g范围内查找与对象e相邻的对象,具体地,可以在l1中从c开始查找与e相邻的对象是c和f,则确定c和f之间为对象e的插入位置,将对象e插入至c和f之间。在本实施例中,c(第五相邻对象)和g(第六相邻对象)与插入对象之间的距离可以小于预设距离,预设距离可以根据实际情况而定,例如、5、7、9等。
84.作为一个可选的实施方式,如图12所示,以在添加对象e为例。在l3中查找与对象e相邻的对象,在l3中查找到与对象e相邻的对象是a(第五相邻对象)和g(第六相邻对象),则继续在l2中a和g范围内查找与对象e相邻的对象,在l2中查找到与对象e相邻的对象是c(第五相邻对象)和g(第六相邻对象),则继续在l1中的c和g范围内查找与对象e相邻的对象,具体地,可以在l1中从c开始查找与e相邻的对象是c和f,则确定c和f之间为对象e的插入位置,将对象e插入至c和f之间。
85.可选地,所述根据所述第五相邻对象和所述第六相邻对象,在所述第一级对象链表中确定所述第三对象的插入位置,并将所述第三对象添加到所述插入位置上,包括:在所述第一级对象链表中从所述第五相邻对象开始按照所述目标顺序查找相邻的两个对象,或者,在所述第一级对象链表中从所述第六相邻对象开始按照与所述目标顺序相反的顺序查
找相邻的两个对象,其中,按照所述目标顺序排列时,所述第三对象位于所述相邻的两个对象之间;将所述相邻的两个对象之间的位置确定为所述第三对象的插入位置,并将所述第三对象插入到所述相邻的两个对象之间。
86.作为一个可选的实施方式,如图11所示,以在添加对象e为例。按照字母排列顺序,在l2中查找与对象e相邻的对象,在l2中查找到与对象e相邻的对象是c(第五相邻对象)和g(第六相邻对象),则继续在l1中的c和g范围内查找与对象e相邻的对象,具体地,可以在l1中从c开始查找与e相邻的对象是c和f,则确定c和f之间为对象e的插入位置,将对象e插入至c和f之间。或者,可以在l1中从g开始查找与e相邻的对象是c和f,则确定c和f之间为对象e的插入位置,将对象e插入至c和f之间。
87.作为一个可选的实施方式,理想的跳跃表l2层对象个数应该是l1层的1/2,l3层对象个数是l2层的对象个数的1/2,以此类推。于是,当增加一个对象时,跳跃表也应该作相应调整。可以按概率1/2决定一个新增对象是否应该提升为上一层跳跃表。步骤如下:
88.假设玩家好友列表的初始状态如下,表中一个好友也没有,如果要插入对象c,可以按概率1/2决定元素c是否插入l2层,若果假设c命中,如图13所示,则将c插入l2层。继续按概率1/2决定元素c是否插入l3层,这里假设没命中,那么结束这次插入操作。插入元素f和元素c一样,先在l1层插入元素f,且元素f没命中l2层的添加,则在l2层不插入f。再插入元素k,此次命中l2和l3层,于是在l2和l3层添加元素k。以此类推,当规模足够大,跳跃表会接近理想状态。
89.可选地,所述在目标应用中获取待查找的第一对象,包括:在所述目标应用中获取待查找的帐号,其中,所述一组对象是与所述目标帐号具有关联关系的一组帐号;或者在所述目标应用中获取待查找的虚拟物品,其中,所述一组对象是所述目标帐号具有的一组虚拟物品;或者在所述目标应用中获取待查找的虚拟道具,其中,所述一组对象是所述目标帐号具有的一组虚拟道具。
90.作为一个可选的实施方式,以上述目标应用为游戏应用为例,上述一组对象中的对象可以是帐号,与目标帐号的关系可以是好友,或者是关注目标帐号的帐号,或者是目标帐号关注的帐号。如图14所示,上述一组对象中对象还可以是虚拟物品,可以是游戏应用中目标帐号操控的虚拟角色允许使用的虚拟物品,例如,虚拟弹夹、虚拟子弹、虚拟绷带、食物、水等虚拟物品。如图15上述一组对象中的对象还可以是游戏应用中目标帐号允许使用的虚拟道具,例如,手枪、手榴弹等。
91.根据本发明实施例的另一个方面,还提供了一种对象添加方法。如图16所示,该方法包括:
92.步骤s1602,在目标应用中获取待添加的第三对象,其中,所述目标应用由目标帐号登录,所述目标帐号具有n级对象链表,所述n级对象链表中的第一级对象链表包括按目标顺序排列的一组对象,所述一组对象与所述目标帐号具有关联关系,所述n级对象链表中除所述第一级对象链表之外的每级对象链表包括上一级对象链表中按所述目标顺序排列的部分对象,n为大于或等于2的自然数;
93.步骤s1604,在所述n级对象链表中除所述第一级对象链表之外的一级或多级对象链表中查找相邻的第五相邻对象和第六相邻对象,其中,按照所述目标顺序排列时,所述第五相邻对象位于所述第六相邻对象之前,且所述第三对象的位于所述第五相邻对象和所述
第六相邻对象之间;
94.步骤s1606,根据所述第五相邻对象和所述第六相邻对象,在所述第一级对象链表中确定所述第三对象的插入位置,并将所述第三对象添加到所述插入位置上。
95.可选地,上述装置还用于在第二级对象链表中按照所述目标顺序查找相邻的所述第五相邻对象和所述第六相邻对象;从所述n级对象链表中的第n级对象链表或第j级对象链表开始向下逐级查找相邻的所述第五相邻对象和所述第六相邻对象,其中,所述第三对象与所述第五相邻对象之间的距离小于预设距离,或者,所述第三对象与所述第六相邻对象之间的距离小于所述预设距离,3≤j≤n-1。
96.可选地,上述装置还用于在所述第一级对象链表中从所述第五相邻对象开始按照所述目标顺序查找相邻的两个对象,或者,在所述第一级对象链表中从所述第六相邻对象开始按照与所述目标顺序相反的顺序查找相邻的两个对象,其中,按照所述目标顺序排列时,所述第三对象位于所述相邻的两个对象之间;将所述相邻的两个对象之间的位置确定为所述第三对象的插入位置,并将所述第三对象插入到所述相邻的两个对象之间。
97.可选地,上述装置还用于在所述目标应用中获取待添加的帐号,其中,所述一组对象是与所述目标帐号具有关联关系的一组帐号;在所述目标应用中获取待查找的虚拟物品,其中,所述一组对象是所述目标帐号具有的一组虚拟物品;在所述目标应用中获取待查找的虚拟道具,其中,所述一组对象是所述目标帐号具有的一组虚拟道具。
98.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
99.根据本发明实施例的另一个方面,还提供了一种用于实施上述对象查找方法的对象查找装置。如图17所示,该装置包括:第一获取模块1702,用于在目标应用中获取待查找的第一对象,其中,所述目标应用由目标帐号登录,所述目标帐号具有n级对象链表,所述n级对象链表中的第一级对象链表包括按目标顺序排列的一组对象,所述一组对象与所述目标帐号具有关联关系,所述n级对象链表中除所述第一级对象链表之外的每级对象链表包括上一级对象链表中按所述目标顺序排列的部分对象,n为大于或等于2的自然数;第一查找模块1704,用于从所述n级对象链表中的第n级对象链表开始逐级查找所述第一对象,直到查找到所述第一对象,或者,遍历完所述n级对象链表;显示模块1706,用于在查找到所述第一对象的情况下,在所述目标应用中显示查找到的所述第一对象。
100.可选地,上述装置用于在所述n级对象链表中的第i级对象链表中未查找到所述第一对象的情况下,确定所述第i级对象链表中相邻的第一相邻对象和第二相邻对象,其中,在所述第i级对象链表中所述第一相邻对象位于所述第二相邻对象之前,在所述第一级对象链表中所述第一对象位于所述第一相邻对象和所述第二相邻对象之间,2≤i≤n;在第i-1级对象链表中从所述第一相邻对象开始按所述目标顺序查找所述第一对象,或者,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象。
101.可选地,上述装置用于在在所述第i-1级对象链表中从所述第一相邻对象开始按
所述目标顺序查找所述第一对象、且直到遍历至所述第i-1级对象链表中的所述第二相邻对象时均未查找到所述第一对象的情况下,或者,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象、且直到遍历至所述第i-1级对象链表中的所述第一相邻对象时均未查找到所述第一对象的情况下,结束在所述第i-1级对象链表中查找所述第一对象;确定所述第i-1级对象链表中相邻的第三相邻对象和第四相邻对象,其中,在所述第i-1级对象链表中,所述第三相邻对象位于所述第四相邻对象之前,在所述第一级对象链表中所述第一对象位于所述第三相邻对象和所述第四相邻对象之间;在第i-2级对象链表中从所述第三相邻对象开始按所述目标顺序查找所述第一对象,或者,在所述第i-2级对象链表中从所述第四相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象,其中,3≤i≤n。
102.可选地,上述装置用于在在所述第一对象与所述第一相邻对象之间的距离小于所述第一对象与所述第二相邻对象之间的距离时,在所述第i-1级对象链表中从所述第一相邻对象开始按所述目标顺序查找所述第一对象;在所述第一对象与所述第一相邻对象之间的距离大于所述第一对象与所述第二相邻对象之间的距离时,在所述第i-1级对象链表中从所述第二相邻对象开始按与所述目标顺序相反的顺序查找所述第一对象。
103.可选地,上述装置用于在在所述目标应用中获取删除指令,其中,所述删除指令用于指示删除所述一组对象中的第二对象;从所述n级对象链表中的所述第n级对象链表开始逐级查找所述第二对象,直到查找到所述第二对象,或者,遍历完所述n级对象链表;在所述n级对象链表中的第j级对象链表中查找到所述第二对象的情况下,删除所述第j级对象链表至所述第一级对象链表中的所述第二对象,其中,1≤j≤n。
104.可选地,上述装置用于在所述第j级对象链表至所述第一级对象链表中的第p级链表中仅包含所述第二对象时,删除所述第p级链表,其中,1≤p≤j。
105.可选地,上述装置用于在在所述目标应用中获取添加指令,其中,所述添加指令用于指示在所述一组对象中添加的第三对象;在所述n级对象链表中除所述第一级对象链表之外的一级或多级对象链表中查找相邻的第五相邻对象和第六相邻对象,其中,按照所述目标顺序排列时,所述第五相邻对象位于所述第六相邻对象之前,且所述第三对象的位于所述第五相邻对象和所述第六相邻对象之间;根据所述第五相邻对象和所述第六相邻对象,在所述第一级对象链表中确定所述第三对象的插入位置,并将所述第三对象添加到所述插入位置上。
106.可选地,上述装置用于在在第二级对象链表中按照所述目标顺序查找相邻的所述第五相邻对象和所述第六相邻对象;从所述n级对象链表中的第n级对象链表或第j级对象链表开始向下逐级查找相邻的所述第五相邻对象和所述第六相邻对象,其中,所述第三对象与所述第五相邻对象之间的距离小于预设距离,或者,所述第三对象与所述第六相邻对象之间的距离小于所述预设距离,3≤j≤n-1。
107.可选地,上述装置用于在所述第一级对象链表中从所述第五相邻对象开始按照所述目标顺序查找相邻的两个对象,或者,在所述第一级对象链表中从所述第六相邻对象开始按照与所述目标顺序相反的顺序查找相邻的两个对象,其中,按照所述目标顺序排列时,所述第三对象位于所述相邻的两个对象之间;将所述相邻的两个对象之间的位置确定为所述第三对象的插入位置,并将所述第三对象插入到所述相邻的两个对象之间。
108.可选地,上述装置用于在所述目标应用中获取待查找的帐号,其中,所述一组对象是与所述目标帐号具有关联关系的一组帐号;在所述目标应用中获取待查找的虚拟物品,其中,所述一组对象是所述目标帐号具有的一组虚拟物品;在所述目标应用中获取待查找的虚拟道具,其中,所述一组对象是所述目标帐号具有的一组虚拟道具。
109.根据本发明实施例的另一个方面,还提供了一种用于实施上述对象添加方法的对象添加装置。如图18所示,该装置包括:第二获取模块1802,用于在目标应用中获取待添加的第三对象,其中,所述目标应用由目标帐号登录,所述目标帐号具有n级对象链表,所述n级对象链表中的第一级对象链表包括按目标顺序排列的一组对象,所述一组对象与所述目标帐号具有关联关系,所述n级对象链表中除所述第一级对象链表之外的每级对象链表包括上一级对象链表中按所述目标顺序排列的部分对象,n为大于或等于2的自然数;第二查找模块1804,用于在所述n级对象链表中除所述第一级对象链表之外的一级或多级对象链表中查找相邻的第五相邻对象和第六相邻对象,其中,按照所述目标顺序排列时,所述第五相邻对象位于所述第六相邻对象之前,且所述第三对象的位于所述第五相邻对象和所述第六相邻对象之间;确定模块1806,用于根据所述第五相邻对象和所述第六相邻对象,在所述第一级对象链表中确定所述第三对象的插入位置,并将所述第三对象添加到所述插入位置上。
110.可选地,上述装置还用于在第二级对象链表中按照所述目标顺序查找相邻的所述第五相邻对象和所述第六相邻对象;从所述n级对象链表中的第n级对象链表或第j级对象链表开始向下逐级查找相邻的所述第五相邻对象和所述第六相邻对象,其中,所述第三对象与所述第五相邻对象之间的距离小于预设距离,或者,所述第三对象与所述第六相邻对象之间的距离小于所述预设距离,3≤j≤n-1。
111.可选地,上述装置还用于在所述第一级对象链表中从所述第五相邻对象开始按照所述目标顺序查找相邻的两个对象,或者,在所述第一级对象链表中从所述第六相邻对象开始按照与所述目标顺序相反的顺序查找相邻的两个对象,其中,按照所述目标顺序排列时,所述第三对象位于所述相邻的两个对象之间;将所述相邻的两个对象之间的位置确定为所述第三对象的插入位置,并将所述第三对象插入到所述相邻的两个对象之间。
112.可选地,上述装置还用于在所述目标应用中获取待添加的帐号,其中,所述一组对象是与所述目标帐号具有关联关系的一组帐号;在所述目标应用中获取待查找的虚拟物品,其中,所述一组对象是所述目标帐号具有的一组虚拟物品;在所述目标应用中获取待查找的虚拟道具,其中,所述一组对象是所述目标帐号具有的一组虚拟道具。
113.根据本发明实施例的又一个方面,还提供了一种用于实施上述对象查找方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图19所示,该电子设备包括存储器1902和处理器1904,该存储器1902中存储有计算机程序,该处理器1904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
114.可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
115.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
116.s1,在目标应用中获取待查找的第一对象,其中,所述目标应用由目标帐号登录,
所述目标帐号具有n级对象链表,所述n级对象链表中的第一级对象链表包括按目标顺序排列的一组对象,所述一组对象与所述目标帐号具有关联关系,所述n级对象链表中除所述第一级对象链表之外的每级对象链表包括上一级对象链表中按所述目标顺序排列的部分对象,n为大于或等于2的自然数;
117.s2,从所述n级对象链表中的第n级对象链表开始逐级查找所述第一对象,直到查找到所述第一对象,或者,遍历完所述n级对象链表;
118.s3,在查找到所述第一对象的情况下,在所述目标应用中显示查找到的所述第一对象。
119.可选地,本领域普通技术人员可以理解,图19所示的结构仅为示意,电子装置电子设备也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图19其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图19中所示更多或者更少的组件(如网络接口等),或者具有与图19所示不同的配置。
120.其中,存储器1902可用于存储软件程序以及模块,如本发明实施例中的对象查找方法和装置对应的程序指令/模块,处理器1904通过运行存储在存储器1902内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的对象查找方法。存储器1902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1902可进一步包括相对于处理器1904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1902具体可以但不限于用于存储物品的样本特征与目标虚拟资源账号等信息。作为一种示例,如图19所示,上述存储器1902中可以但不限于包括上述对象查找装置中的第一获取模块1702、第一查找模块1704及显示模块1706。此外,还可以包括但不限于上述对象查找装置中的其他模块单元,本示例中不再赘述。
121.可选地,上述的传输装置1906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1906包括一个网络适配器(network interface controller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1906为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
122.此外,上述电子设备还包括:显示器1908,用于显示上述第一对象;和连接总线1910,用于连接上述电子设备中的各个模块部件。
123.在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peer to peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
124.根据本技术的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2009从网络上被下载和安装,和/或从可拆卸
介质2011被安装。在该计算机程序被中央处理器2001执行时,执行本技术实施例提供的各种功能。
125.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
126.图20示意性地示出了用于实现本技术实施例的电子设备的计算机系统结构框图。
127.需要说明的是,图20示出的电子设备的计算机系统2000仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
128.如图20所示,计算机系统2000包括中央处理器2001(central processing unit,cpu),其可以根据存储在只读存储器2002(read-only memory,rom)中的程序或者从存储部分2008加载到随机访问存储器2003(random access memory,ram)中的程序而执行各种适当的动作和处理。在随机访问存储器2003中,还存储有系统操作所需的各种程序和数据。中央处理器2001、在只读存储器2002以及随机访问存储器2003通过总线2004彼此相连。输入/输出接口2005(input/output接口,即i/o接口)也连接至总线2004。
129.以下部件连接至输入/输出接口2005:包括键盘、鼠标等的输入部分2006;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分2007;包括硬盘等的存储部分2008;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分2009。通信部分2009经由诸如因特网的网络执行通信处理。驱动器2010也根据需要连接至输入/输出接口2005。可拆卸介质2011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2010上,以便于从其上读出的计算机程序根据需要被安装入存储部分2008。
130.特别地,根据本技术的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2009从网络上被下载和安装,和/或从可拆卸介质2011被安装。在该计算机程序被中央处理器2001执行时,执行本技术的系统中限定的各种功能。
131.根据本技术的一个方面,提供了一种计算机可读存储介质,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
132.可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
133.s1在目标应用中获取待查找的第一对象,其中,所述目标应用由目标帐号登录,所述目标帐号具有n级对象链表,所述n级对象链表中的第一级对象链表包括按目标顺序排列的一组对象,所述一组对象与所述目标帐号具有关联关系,所述n级对象链表中除所述第一级对象链表之外的每级对象链表包括上一级对象链表中按所述目标顺序排列的部分对象,n为大于或等于2的自然数,
134.s2,从所述n级对象链表中的第n级对象链表开始逐级查找所述第一对象,直到查找到所述第一对象,或者,遍历完所述n级对象链表;
135.s3,在查找到所述第一对象的情况下,在所述目标应用中显示查找到的所述第一对象。
136.可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
137.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
138.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
139.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
140.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
141.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
142.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献