对象检索方法、终端、服务器及存储介质与流程

文档序号:30058188发布日期:2022-05-17 19:52阅读:91来源:国知局
对象检索方法、终端、服务器及存储介质与流程

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.图1是本发明实施例提供的一种对象检索方法的实施环境示意图。
31.图2是本发明实施例提供的一种对象检索方法的流程示意图。
32.图3是本发明实施例提供的另一种对象检索方法的流程示意图。
33.图4是本发明实施例提供的另一种对象检索方法的流程示意图。
34.图5是本发明实施例提供的另一种对象检索方法的流程示意图。
35.图6是本发明实施例提供的一种对象检索终端的结构示意图。
36.图7是本发明实施例提供的一种对象检索服务器的结构示意图。
37.图8是本发明实施例提供的服务器的硬件结构框图。
具体实施方式
38.云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
39.云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。具体地,云技术包括安全、大数据、数据库、行业应用、网络、存储、管理工具、计算等技术领域。
40.具体地,本发明实施例涉及云技术中的云安全技术。
41.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
42.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
43.图1是本发明实施例提供的一种对象检索方法的实施环境示意图。如图1所示,该实施环境至少可以包括终端01和服务器02,终端01和服务器02可以通过有线或无线通信方式进行直接或间接地连接,本发明在此不做限制。比如,终端01可以通过有线或无线通信方式向服务器02发送通讯录信息拉取请求或对象检索请求,服务器02可以通过有线或无线通信方式向终端01返回局部组织信息或对象检索结果等。
44.具体地,终端01可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
45.需要说明的是,图1仅仅是一种示例。
46.图2是本发明实施例提供的一种对象检索方法的流程示意图。该方法可以用于图1中的实施环境中。本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,该方法可以包括:
47.s101.客户端响应携带待检索字段的对象检索请求,在本地检索待检索字段对应的第一对象检索结果,并将所述对象检索请求发送至服务器;该本地存储有对象所在组织的全量组织信息中的局部组织信息。
48.本发明实施例中的组织可以是为了实现一定的目标,互相协作结合而成的集体或团体,如党团组织、工会组织、企业、军事组织等。该组织信息可以是由该组织内成员、部门及其组织结构关系构成的记录组织成员信息的架构关系的数据。该对象可以为组织信息中特定的人或服务账号。该局部组织信息可以为该组织信息中用于做列表展示的部分信息或精简信息,而并非是组织的全量组织信息。
49.当客户端对应的对象(即执行检索的用户)需要在组织信息中检索某个对象时,可以在相应的检索输入界面中输入待检索字段,从而触发该对象检索请求,客户端响应该对象检索请求,从本地存储的局部组织信息中获取该待检索字段对应的第一对象检索结果。由于客户端存储的并非是全量组织信息,而仅是该组织信息中用于做列表展示的局部组织信息(即仅存储部分精简信息),有效避免部分敏感字段在客户端本地进行存储,提升数据
安全性。
50.以该组织为企业为例,则该全量组织信息可以为即时通讯软件中的企业通讯录。具体地,该企业通讯录是指由企业内成员、部门、标签及其组织架构关系构成的记录企业成员信息和架构关系的数据,其一般由成员信息表和组织架构两部分组成。成员信息表可以用于记录每个企业对象的详细信息,如性别、邮箱、工作地、手机号码、座机号码、中文名、英文名等,包含的业务属性信息较多,数据量较大。组织架构可以包含成员与部门的关系以及部门等有限的内置字段,数据量较小。其中,部门是指企业通讯录中某个部门,部门可能包含多个对象和多个子部门。
51.该对象可以为企业中的成员。具体地,成员可以是指企业通讯录中特定的人或服务账号。该局部组织信息可以为企业通讯库中用于做列表展示的信息,比如图像信息(具体可以包括头像信息)、标识信息(具体可以包括名称信息)等。
52.本发明实施例中,当客户端响应该对象检索请求时,会同时将该对象检索请求发送至服务器,即同时向服务器并发发起云端检索请求。
53.以下,以组织为企业,组织信息为即时通讯软件中的企业通讯录,对象为企业通讯录中的成员为例,对s101进行说明:
54.当客户端对应的用户需要检索某个成员时,可以打开相应的即时通讯软件,在该即时通讯软件界面中输入待检索字段,从而触发该对象检索请求,客户端响应该对象检索请求,从本地存储的局部组织信息中获取该待检索字段对应的第一对象检索结果(即第一成员列表),同时客户端将该对象检索请求发送至该服务器,以使服务器响应该对象检索请求。
55.需要说明的是,为了保证数据安全性,客户端对应的用户与待检索的成员应该属于同一企业。
56.本发明实施例中,如图3所述,在s101之前,该方法还可以包括:s100.拉取通讯录信息。
57.具体地,s100可以包括:
58.s1001.客户端向服务器发送组织信息拉取请求,组织信息拉取请求中携带组织的标识信息。
59.s1003.在服务器基于标识信息,确定组织中的对象数量大于预设数量阈值时,服务器对全量组织信息进行简化处理,得到局部组织信息。
60.具体地,该全量组织信息包括对象信息和组织架构信息,则s1003可以包括:
61.在服务器基于标识信息,确定组织中的对象数量大于预设数量阈值时,服务器从对象信息中获取对象图像信息和对象标识信息。
62.服务器将组织架构信息、对象图像信息和对象标识信息作为该局部组织信息。
63.s1005.服务器将局部组织信息发送至客户端。
64.s1007.客户端对局部组织信息进行存储。
65.本发明实施例中,当服务器接收到客户端发送的组织信息拉取请求时,如果根据该组织信息拉取请求中携带的标识信息,判断该组织为对象数量大于预设数量阈值的大组织,则并非是将全量组织信息下发至该客户端,而是对存储的全量组织信息进行精简,仅下发用于做列表展示的信息和组织架构信息,从而降低客户端拉取组织信息的数据大小,提
升组织信息拉取速度。此外,由于包括图像信息和标识信息的局部组织信息更能够反应用户的专有属性特征,因此客户端拉取包括图像信息和标识信息的局部组织信息能够便于用户快速识别拉取到的组织信息中的对象。
66.以下,以组织为企业,组织信息为即时通讯软件中的企业通讯录信息,对象为企业通讯录中的成员为例,对s100进行说明:
67.服务器中存储有全量企业通信信息,客户端拉取企业通讯录时,首先拉取组织架构,再拉取架构中对应成员的成员信息。之后在本地保存一份通讯录副本,用于本地检索以及其它应用功能的查询(如聊天、办公应用等)。
68.对于大企业(例如,通讯录中的成员数大于20万的企业),用户首次安装或者换设备登陆时,全量拉取企业通讯录的耗时较大,经研究分析耗时一般集中于拉取对象信息表,因此对大企业和部分拉取频繁的较大规模企业,可以对成员信息表进行精简。
69.为了实现对大企业的通讯录信息进行精简,首先需要对企业进行大企业标记,对大企业进行标记的过程可以为:当企业成员达到预设数量阈值(例如,20万)后,为该企业自动增加大企业标记,当然也可以使用工具为部分企业人工增加大企业标记。
70.需要说明的是,企业一旦具备大企业标记,如无人工干预,一般无法自动取消标记。无法自动取消标记的好处在于:可以避免在临界范围,企业在两套策略(本地检索和云端检索)来回切换,出现本地精简但又未走云端检索的情况而导致的对象检索准确率较低的缺陷。
71.具体地,如s1001所述,当客户端首次安装或者换设备登陆时后,可以拉取企业统一配置(即企业corpconfig),并可以向服务器发送所在企业的通讯录信息拉取请求,该通讯录信息拉取请求中可以携带该客户端所在企业的标识信息,该标识信息用于唯一标识该企业,该标识信息可以为该企业的身份标识号(identity document,id)。
72.如s1003-s1005所述,在服务器接收到该通讯录信息拉取请求时,可以根据其中携带的标识信息,判断该企业的通讯录信息中的成员数量是否大于预设数量阈值(即该企业是否为大企业),若是,则服务器对该企业的通讯录中的成员信息进行精简,仅从成员信息中获取需要做列表展示的图像信息(例如,成员头像)和标识信息(例如,名称信息),接着服务器将组织架构信息以及仅需要做列表展示的图像信息、标识信息作为简化后的通讯录信息返回至客户端。由于客户端在拉取通讯录信息的过程中,并非是对全量通讯录信息进行拉取,仅拉取了简化后的通信录信息(即局部组织信息),从而降低通讯录信息拉取的数据大小,提升通讯录拉取速度(经验证180w量级企业通讯录全量拉取耗时,从10min提升至5min)。此外,由于客户端存储的并非是全量企业通讯录信息,而仅是该企业通信录信息中用于做列表展示的局部组织信息,有效避免部分敏感字段在客户端本地进行存储,提升数据安全性。
73.如s1007所示,当客户端在接收到简化后的通讯录信息(即局部组织信息)后,将局部组织信息存储在本地,用于本地检索以及其它应用功能的查询(如聊天、办公应用等)。
74.对于s101所述的客户端的本地检索而言,为了实现快速且准确地使用该待检索字段检索到相应的第一对象检索结果,可以预先建立检索字段与成员之间的映射关系,并在检索时,根据该映射关系进行检索。具体为:由于局部组织信息包括图像信息(例如,成员头像)和标识信息(例如,名称信息),图像信息不方便用文字描述,则可以建立本地存储的标
识信息(例如,名称信息)与相应的成员之间的映射关系。当在客户端本地进行检索时,如果该待检索关键字为标识信息(例如,名称信息)相关的关键字,则可以直接根据该映射关系,从该局部组织信息中检索该待检索关键字对应的成员列表,如果该待检索关键字非标识信息(例如,名称信息)相关的关键字,则可能无法根据该映射关系检索到相应的成员,则该成员检索结果为空。
75.由于客户端本地存储的是简化后的通讯录信息,当客户端对应的用户想要查看某个检索到的成员的详细情况时,可以实时地从服务器拉取该成员的完整信息,具体可以为:客户端对应的用户可以点击该成员的头像信息或名称信息,从而进入详细信息获取界面,在该详细信息获取界面上可以设置详细信息获取选项,客户端对应的用户可以通过点击该详细信息获取选项,从而触发携带该成员id的详细信息获取请求,客户端将该详细信息获取请求发送至服务器,服务器根据该成员id获取该成员的详细信息,并将该成员的详细信息发送至该客户端。
76.s103.客户端在目标页面展示第一对象检索结果。
77.客户端在本地检索得到第一对象检索结果之后,可以进一步判断该第一对象检索结果是否为空,若否,表明在客户端本地检索到相应对象,则可以立即在目标页面展示该第一对象检索结果,由于客户端本地检索的速度相对较快,从而使得客户端对应的对象能够在第一时间内查看到检索结果,而无需等待较长时间,用户体验较好。若是,表明在客户端本地未检索到相应对象,则当前目标页面展示为空,可以等待服务器的对象检索结果。
78.在一个可行的实施例中,如果客户端在该目标页面展示该第一对象检索结果后发现,该第一对象检索结果已经达到该客户端的目标页面的列表可展示长度,则可以立即向服务器发送终止检索请求,以使服务器停止云端检索过程,从而节约云端检索资源。其中,该客户端的目标页面的列表可展示长度指的是该客户端的目标页面中所能够展示的列表的最大长度。
79.s105.服务器在本地的全量组织信息中检索待检索字段对应的第二对象检索结果。
80.当服务器在接收到该对象检索请求后,在本地存储的全量组织信息中检索该待检索字段对应的第二对象检索结果。
81.本发明实施例中,为了实现能够便捷地在本地存储的全量组织信息中检索到该待检索字段对应的第二对象检索结果,可以预先建立后台搜索系统,即在s101之前,该方法还包括:建立检索字段与对象信息对应的对象之间的映射关系。
82.具体地,该建立检索字段与对象信息对应的对象之间的映射关系可以包括:
83.服务器对对象信息进行分词处理,得到多个候选检索字段。
84.服务器确定多个候选检索字段各自对应的约束条件。
85.服务器基于多个候选检索字段各自对应的约束条件,对多个候选检索字段进行过滤,得到多个目标候选检索字段。
86.服务器建立多个目标检索字段和相应对象信息对应的对象之间的映射关系。
87.在构建检索字段与对象信息对应的对象之间的映射关系时,可以对该对象信息进行分词处理,从而得到多个候选检索字段,为了实现检索的精度和效率,可以为每个候选检索字段设置相应的约束条件,根据该约束条件对每个候选检索字段进行过滤,从而过滤出
满足条件的检索字段。接着建立过滤出的满足条件的检索字段与相应的对象信息对应的对象之间的映射关系,将该映射关系进行存储,从而构建得到后台搜索系统。
88.需要说明的是,并非是每个候选检索字段均会设置相应的约束条件,对于没有设置约束条件的候选检索字段,可以直接建立其与对象之间的映射关系。
89.以下,以组织为企业,全量组织信息为即时通讯软件中的企业通讯录信息,对象为企业通讯录中的成员为例,对s001进行说明:
90.当企业通讯录发生增删,或者企业内成员的可检索字段数据发生变更时,会异步同步至该服务器。该服务器通过对可检索字段的分词,建立被检索字段与对象的之间的映射关系,具体可以为:
91.企业可以在系统提供的配置范围内选择可以进行成员检索的检索字段以及对该字段的约束规则。企业通讯录信息中的成员信息一般可以包含:用户中文名、中文拼音、英文名、手机号码、邮箱、座机号码。针对部分字段需要增加约束规则,例如:
92.1)纯数字串且数字字符数大于6且小于11才能进行手机号检索。
93.2)纯数字串且数字字符数大于3才能进行座机号码检索。
94.由于可选的字段与规则属于业务逻辑,变化比较频繁,因此搜索系统将所有涉及检索的字段,全部纳入搜索范围。
95.在经过上述逻辑的筛选后,最终过滤出满足条件的检索字段,建立过滤出的满足条件的检索字段与相应的成员信息对应的成员之间的映射关系,对该映射关系进行存储,从而得到该后台搜索系统。
96.需要说明的是,并非是每个字段均需要增加约束条件,对于未增加约束条件的字段,可以直接建立与相应成员之间的映射关系。
97.以下,以成员信息为手机号码为例,对建立被搜索字段与成员的之间的映射关系进行说明:
98.假设对象“张三”的手机号码为12345678901,则对该手机号码进行分词,可以得到如下多个候选检索字段:12、34、56、12345、123456、1234567、12345678、234、23456、234567、345678、4567890等。
99.由于该手机号码的分词结果较多,为了提高搜索系统的效率和准确率,可以对该手机号码设置上述约束条件(即纯数字串且数字字符数大于6且小于11才能进行手机号检索),通过该约束条件对上述多个候选检索字段进行过滤,得到多个目标候选检索字段(123456、1234567、12345678、234567、345678、4567890),建立该多个目标候选检索字段与对象(即张三)之间的映射关系。
100.相应地,如图3所示,该s105可以包括:
101.s10501.服务器对待检索字段进行分词处理,得到多个目标待检索字段。
102.s10503.服务器基于多个目标待检索字段各自对应的预设约束条件,对多个目标待检索字段进行过滤处理,得到过滤后的多个目标待检索字段。
103.s10505.服务器在本地的全量组织信息中,检索过滤后的多个目标待检索字段各自对应的对象检索结果。
104.s10507.服务器将过滤后的多个目标待检索字段各自对应的对象检索结果,作为第二对象检索结果。
105.在该实施例中,当服务器在接收到该对象检索请求后,即可将该待检索字段输入到预先建立好的搜索系统,该搜索系统可以首先对该待检索字段进行分词,得到多个目标待检索字段,接着根据构建后台检索系统中所使用的约束条件,对该多个目标待检索字段进行过滤,得到过滤后的多个目标待检索字段,最后根据预先建立好的映射关系,在本地服务器中存储的全量组织信息中检索该过滤后的多个目标待检索字段各自对应的对象检索结果,得到第二对象检索结果。
106.在一个可行的实施例中,为了提高对象检索结果的检索准确率和效率,除了将待检索字段输入到预先建立好的搜索系统之外,还可以将需要检索的字段范围输入搜索系统,该需要检索的字段范围是指需要检索的对象的字段范围。由于通过待检索字段进行检索,命中的成员数量可能较多,因此,将需要检索的字段范围一并输入到检索系统,能够减少命中成员数量,提高检索效率和准确率。
107.在一个可行的实施例中,由于单个待检索字段命中的成员数量可能较多,因此在服务器执行检索时,可以基于客户端的目标页面的列表可展示长度,确定搜索系统能够返回的第二对象检索结果的最大结果数。例如,根据客户端的列表可展示长度,确定该最大结果数为50。
108.通过服务器基于客户端的列表可展示长度设置最大结果返回数,能够使得返回结果与客户端相匹配,避免返回数量过大,客户端无法展示的情况,提高用户体验。
109.以下,以组织为企业,全量组织信息为即时通讯软件中的企业通讯录信息,对象为企业通讯录中的成员为例,该第二对象检索结果为第二成员列表为例,对s105进行说明:
110.在服务器接收到该待检索字段之后,可以预先是对该待检索字段进行分词处理,得到多个目标待检索字段。
111.假设该待检索字段为“12345678”,则服务器对该待检索字段进行分词,得到等多个目标待检索字段(例如,“1”、“2”、“12”、“56”、“123”、“456”、“1234”、“12345”、“123456”、“234567”、“12345678”等)。
112.由于该多个目标待检索字段均为纯数字,则可以参考构建搜索系统时使用的约束规则(纯数字串且数字字符数大于6且小于11才能进行手机号检索、纯数字串且数字字符数大于3才能进行座机号码),对该多个目标待检索字段进行过滤,过滤出满足条件的检索字段,例如:过滤出可以进行手机号码检索的目标待检索字段(例如,“123456”、“234567”、“12345678”)以及可以进行座机号码检索的目标待检索字段(例如,“123”、“456”、“1234”、“12345”、“123456”、“234567”、“12345678”)。
113.接着,服务器根据预先建立好的映射关系,在本地存储的全量通讯录信息中检索过滤后的多个待检索字段各自对应的成员列表(例如,通过“123456”检索到张三和李四两名成员,通过“234567”检索到“王二”和“陈五”两名成员等)。最后,服务器将多个待检索字段各自对应的成员列表进行组合,得到该第二成员对象检索结果。
114.如上所述,本发明实施例中,对象检索过程采用的是客户端检索和服务器检索并发进行的检索方式,即优先在客户端存储的局部组织信息中检索得到第一对象检索结果,并及时在目标页面展示该第一对象检索结果,使客户端对应的用户能够在第一时间查看结果,用户体验较好。同时并发在服务器存储的全量组织信息中检索第二对象检索结果。通过客户端检索和服务器检索并发进行的检索方式,不仅能够避免仅在客户端中存储的局部组
织信息中进行检索导致的部分检索字段失效,同时又能够保证通过敏感字段在服务器中存储的全量组织信息中检索到对象,确保检索数据的完整性与安全性。
115.s107.服务器从第二对象检索结果中,确定出对客户端对应的对象设置不可见权限的隐藏对象。
116.s109.服务器过滤第二对象检索结果中的隐藏对象,得到过滤后的第二对象检索结果。
117.由于客户端本地拉取到的组织信息是经过隐藏规则过滤的,对于用户不可见的对象,不会出现在本地组织信息中。因此在客户端本地检索时,一般搜索不到对用户隐藏的对象。由于某个对象可能对a用户隐藏,但对b用户可见,理论上来说,不同执行搜索的用户搜索到的对象应该不一样,但由于云端搜索不能在搜索系统中决定其可见性,因此云端搜索可能会搜索到对执行搜索的用户(即客户端对应的对象)设置不可见权限的隐藏对象,若设置不可见权限的隐藏用户发送至客户端,那必然会使得执行搜索的用户获取到了该隐藏对象的信息,从而影响该隐藏对象的隐私安全性。
118.为了提高对象检索的准确率和数据隐私安全性,可以在云端搜索完成后,进一步根据对象的设置信息,检查命中的对象对执行搜索的用户(即客户端对应的对象)设置的可见或不可见的权限,从而确定命中的对象对执行检索的用户是否可见,并将对用户设置了不可见权限的命中对象过滤掉。例如,云端检索命中的第二对象检索结果中包括对象:a、b、c、d、e

,n,经确认,对象c、d、e对该执行搜索的用户设置了不可见权限,则将对象c、d、e从该第二对象检索结果中过滤掉,得到过滤后的第二对象检索结果。
119.如上所述,由于服务器可以基于客户端的列表可展示长度确定最大结果返回数,但隐藏对象过滤后可能导致云端检索返回的结果数量与预期不符。例如对于关键词“明”,用户的可见对象数为10,不可见对象数为200。云端检索时传入的最大对象返回数为50,如果返回的50个对象恰好对用户都不可见,则此次请求最终返回的列表数为空,与预期的10个不符。
120.因此,为了确保云端返回的结果数据与预期相符,从而满足客户端的列表显示长度,对于配置有隐藏规则的组织,可以将检索的最大对象返回数增大一倍,如默认值为50,则云端检索的时候可以输出100。接着再执行隐藏规则过滤。
121.在一个可行的实施例中,如果将检索的最大对象返回数增大一倍且对隐藏对象进行过滤后,返回的最大对象返回数仍然大于最大返回数(比如,50),则可以并保留过滤出的前50条记录,如果服务器搜索系统返回记录数为100条且过滤后不足50条,则基于上次的位置继续上述流程,直到满足50条或已经过滤完全量数据。
122.具体地,服务器云端检索输出的对象可以按照预设规则进行排序,得到对象序列,例如,可以按照输出的对象与待检索字段之间的匹配度进行逆序排序、或按照输出的对象与客户端对应的对象近期联系的频率(例如通话次数)进行逆序排序、或按照输出的对象与客户端对应的对象之间的亲密程度进行逆序排序等。最后保留该对象序列中的前预设数量个对象(例如,前50个对象)。
123.s1011.服务器将过滤后的第二对象检索结果发送至客户端。
124.s1013.客户端基于过滤后的第二对象检索结果,更新目标页面中展示的第一对象检索结果。
125.具体地,该s1013可以包括:
126.所述客户端从过滤后的第二对象检索结果中,确定出与第一对象检索结果互不重叠的对象检索结果。
127.客户端在目标页面展示第一对象检索结果和互不重叠的对象检索结果。
128.本发明实施例中,在服务器云端检索完成之后,可以将第二对象检索结果发送至该客户端,由于客户端的本地存储中存储的是简化后的通讯录信息(主要包括用于列表展示的头像信息和名称信息),而服务器存储的是全量的通讯录信息,因此,在客户端本地检索和云端检索的时候,会出现检索结果重叠的现象。为了提高对象检索结果的简洁性和准确性,可以通过过滤后的第二对象检索结果对目标页面展示的第一对象检索结果进行更新,即将过滤后的第二对象检索结果与第一对象检索结果相互重叠的部分去除,保留与第一对象检索结果互不重叠的部分,并在目标页面中展示该第一对象检索结果和该互不重叠的对象检索结果。
129.例如,客户端本地检索到的第一对象检索结果包括对象a、b、c,而服务器云端检索的过滤后的第二对象检索结果中包括a、b、c、d、e,则对象d、e即为互不重叠的检索结果,将对象d、e添加到该目标页面中与该第一对象检索结果一起进行展示,从而实现对第一对象检索结果的更新。
130.以下,以客户端为执行主体对该对象检索方法进行说明:
131.图4所示为本发明实施例提供的另一种对象检索方法的流程示意图,如图4所示,该方法可以包括:
132.s201.响应携带待检索字段的对象检索请求,在本地检索待检索字段对应的第一对象检索结果,并将对象检索请求发送至服务器;该本地存储有对象所在组织的全量组织信息中的局部组织信息。
133.s203.在目标页面展示第一对象检索结果。
134.s205.接收服务器返回的过滤后的第二对象检索结果;过滤后的第二对象检索结果由服务器过滤第二对象检索结果中的隐藏对象而得到,隐藏对象为对客户端对应的对象设置不见权限的对象;第二对象检索结果由服务器基于待检索字段,在服务器的全量组织信息中进行检索得到。
135.s207.基于过滤后的第二对象检索结果,更新目标页面中展示的第一对象检索结果。
136.具体地,在s201之前,该方法还可以包括:
137.向服务器发送组织信息拉取请求,以使服务器在基于组织信息拉取请求中携带的组织的标识信息,确定组织中的对象数量大于预设数量阈值时,对全量组织信息进行简化处理,得到局部组织信息。
138.接收服务器返回的局部组织信息。
139.对局部组织信息进行存储。
140.具体地,该全量组织信息包括对象信息和组织架构信息,则向服务器发送组织信息拉取请求,以使服务器在基于组织信息拉取请求中携带的组织的标识信息,确定组织中的对象数量大于预设数量阈值时,对全量组织信息进行简化处理,得到局部组织信息,可以包括:
141.向服务器发送组织信息拉取请求,以使服务器在基于标识信息,确定组织中的对象数量大于预设数量阈值时,从对象信息中获取对象图像信息和对象标识信息;以及以使服务器将组织架构信息、对象图像信息和对象标识信息,作为局部组织信息。
142.具体地,s203可以包括:在确定第一对象检索结果不为空时,在目标页面展示第一对象检索结果。
143.具体地,s207可以包括:
144.从过滤后的第二对象检索结果中,确定出与第一对象检索结果互不重叠的对象检索结果。
145.在目标页面展示第一对象检索结果和互不重叠的对象检索结果。
146.以下,以服务器为执行主体对该对象检索方法进行说明:
147.图5所示为本发明实施例提供的另一种对象检索方法的流程示意图,如图5所示,该方法可以包括:
148.s301.接收客户端发送的对象检索请求,对象检索请求中携带待检索字段。
149.s303.在对象所在组织的全量组织信息中,检索待检索字段对应的第二对象检索结果。
150.s305.从第二对象检索结果中,确定出对客户端对应的对象设置不可见权限的隐藏对象。
151.s307.过滤第二对象检索结果中的隐藏对象,得到过滤后的第二对象检索结果。
152.s309.将过滤后的第二对象检索结果发送至客户端,以使客户端基于过滤后的第二对象检索结果,更新目标页面中展示的第一对象检索结果;第一对象检索结果由客户端响应对象检索请求在客户端进行检索得到,客户端存储有全量组织信息中的局部组织信息。
153.具体地,s303可以包括:
154.对待检索字段进行分词处理,得到多个目标待检索字段。
155.基于多个目标待检索字段各自对应的预设约束条件,对多个目标待检索字段进行过滤处理,得到过滤后的多个目标待检索字段。
156.在全量组织信息中,检索过滤后的多个目标待检索字段各自对应的对象检索结果。
157.将过滤后的多个目标待检索字段各自对应的对象检索结果,作为第二对象检索结果。
158.如图6所示,本发明实施例还提供了一种对象检索终端,该对象检索终端可以包括:
159.响应模块401,可以用于响应携带待检索字段的对象检索请求,在本地检索待检索字段对应的第一对象检索结果,并将对象检索请求发送至服务器;本地存储有对象所在组织的全量组织信息中的局部组织信息。
160.展示模块403,可以用于在目标页面展示第一对象检索结果。
161.过滤接收模块405,可以用于接收服务器返回的过滤后的第二对象检索结果;过滤后的第二对象检索结果由服务器过滤第二对象检索结果中的隐藏对象而得到,隐藏对象为对客户端对应的对象设置不见权限的对象;第二对象检索结果由服务器基于待检索字段,
在服务器的全量组织信息中进行检索得到。
162.更新模块407,可以用于基于过滤后的第二对象检索结果,更新目标页面中展示的第一对象检索结果。
163.具体地,该终端还可以包括:
164.组织信息拉取请求发送模块,可以用于向服务器发送组织信息拉取请求,以使服务器在基于组织信息拉取请求中携带的组织的标识信息,确定组织中的对象数量大于预设数量阈值时,对全量组织信息进行简化处理,得到局部组织信息。
165.局部组织信息接收模块,可以用于接收服务器返回的局部组织信息。
166.局部组织信息存储模块,可以用于对局部组织信息进行存储。
167.具体地,全量组织信息包括对象信息和组织架构信息,则组织信息拉取请求发送模块,可以用于向服务器发送组织信息拉取请求,以使服务器在基于标识信息,确定组织中的对象数量大于预设数量阈值时,从对象信息中获取对象图像信息和对象标识信息;以及以使服务器将组织架构信息、对象图像信息和对象标识信息,作为局部组织信息。
168.具体地,该展示模块403,可以用于在确定第一对象检索结果不为空时,在目标页面展示第一对象检索结果。
169.具体地,该更新模块407可以包括:
170.去重单元,可以用于从过滤后的第二对象检索结果中,确定出与第一对象检索结果互不重叠的对象检索结果。
171.去重展示单元,可以用于在目标页面展示第一对象检索结果和互不重叠的对象检索结果。
172.需要说明的是,本发明实施例提供的服务器实施例与上述方法实施例基于相同的发明构思。
173.如图7所示,本发明实施例还提供了一种对象检索服务器,该对象检索服务器可以包括:
174.对象检索请求接收模块501,可以用于接收客户端发送的对象检索请求,对象检索请求中携带待检索字段。
175.第二对象检索结果获取模块503,可以用于在对象所在组织的全量组织信息中,检索待检索字段对应的第二对象检索结果。
176.隐藏对象确定模块505,可以用于从第二对象检索结果中,确定出对客户端对应的对象设置不可见权限的隐藏对象。
177.过滤模块507,可以用于过滤第二对象检索结果中的隐藏对象,得到过滤后的第二对象检索结果。
178.过滤发送模块509,可以用于将过滤后的第二对象检索结果发送至客户端,以使客户端基于过滤后的第二对象检索结果,更新目标页面中展示的第一对象检索结果;第一对象检索结果由客户端响应对象检索请求,在客户端进行检索得到,客户端存储有全量组织信息中的局部组织信息。
179.具体地,该第二对象检索结果获取模块503可以包括:
180.分词单元,可以用于对待检索字段进行分词处理,得到多个目标待检索字段。
181.约束过滤单元,可以用于基于多个目标待检索字段各自对应的预设约束条件,对
多个目标待检索字段进行过滤处理,得到过滤后的多个目标待检索字段。
182.过滤检索单元,可以用于在全量组织信息中,检索过滤后的多个目标待检索字段各自对应的对象检索结果。
183.第二对象检索结果确定单元,可以用于将过滤后的多个目标待检索字段各自对应的对象检索结果,作为第二对象检索结果。
184.需要说明的是,本发明实施例提供的终端实施例与上述方法实施例基于相同的发明构思。
185.本发明实施例还提供了一种对象检索系统,该对象检索系统可以包括:服务器和客户端,
186.该客户端,可以用于响应携带待检索字段的对象检索请求,在本地检索待检索字段对应的第一对象检索结果,并将对象检索请求发送至服务器;该本地存储有对象所在组织的组织信息中的局部组织信息;以及用于在目标页面展示第一对象检索结果;以及用于接收服务器返回的过滤后的第二对象检索结果;以及用于基于过滤后的第二对象检索结果,更新目标页面中展示的第一对象检索结果。
187.该服务器,用于接收客户端发送的对象检索请求,在本地的全量组织信息中检索待检索字段对应的第二对象检索结果;以及用于从第二对象检索结果中,确定出对客户端对应的对象设置不可见权限的隐藏对象;以及用于过滤第二对象检索结果中的隐藏对象,得到过滤后的第二对象检索结果;以及用于将过滤后的第二对象检索结果发送至客户端。
188.本发明实施例还提供了一种对象检索的电子设备,该电子设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上述方法实施例提供的对象检索方法。
189.本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可设置于终端之中以保存用于实现方法实施例中一种对象检索方法相关的至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上述方法实施例提供的对象检索方法。
190.可选地,在本说明书实施例中,存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
191.本说明书实施例存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用程序以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
192.本发明实施例提供的一种对象检索方法、终端、服务器及存储介质,具有如下有益效果:
193.1)基于客户端本地搜索与服务器云端搜索结合引入的字段精简拉取方式,使得客户端并非是对全量组织信息进行拉取,而是仅拉取了简化后的组织信息(即局部组织信
息),从而降低组织信息拉取的数据大小,提升通讯录拉取速度。以组织为企业,组织新为企业通讯录为例,经验证180w量级企业通讯录全量拉取耗时,从10min提升至5min。
194.2)由于客户端存储的并非是全量的组织信息,而仅是该组织信息中用于做列表展示的局部组织信息(即仅存储部分精简信息),通过该字段精简方式,有效避免部分敏感字段在客户端本地进行存储,提升数据安全性。
195.3)由于客户端本地检索的速度相对较快,在客户端存储的局部组织信息中检索得到第一对象检索结果,并及时在目标页面展示该第一对象检索结果,使客户端对应的用户能够在第一时间查看结果,用户体验较好。又由于仅在客户端存储的局部组织信息中进行检索,会导致部分检索字段失效或检索数据不完整,因此,结合服务器并发检索的方式,能够保证通过敏感字段在服务器中存储的全量组织信息中检索客户端本地检索不到的对象,确保检索数据的完整性与安全性。
196.4)通过本地搜索与云端搜索结合的方式,由于服务器端存储了全量的组织信息,因此用户在本地通讯录加载完成前,即可通过云端搜索检索组织中的对象,并向该对象发起会话。
197.5)由于服务器将检索到的第二对象检索结果过滤掉隐藏对象之后,才发送至客户端,可以避免服务器将客户端对应的用户不可见的对象发送至客户端,确保不可见对象的隐私安全性。
198.本发明实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例提供的对象检索方法。
199.本发明实施例所提供的对象检索方法实施例可以在终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图8是本发明实施例提供的一种对象检索方法的服务器的硬件结构框图。如图8所示,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)610(中央处理器610可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器630,一个或一个以上存储应用程序623或数据622的存储介质620(例如一个或一个以上海量存储设备)。其中,存储器630和存储介质620可以是短暂存储或持久存储。存储在存储介质620的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器610可以设置为与存储介质620通信,在服务器600上执行存储介质620中的一系列指令操作。服务器600还可以包括一个或一个以上电源660,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口640,和/或,一个或一个以上操作系统621,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
,freebsd
tm
等等。
200.输入输出接口640可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器600的通信供应商提供的无线网络。在一个实例中,输入输出接口640包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口640可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
201.本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器600还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。
202.需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
203.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
204.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
205.以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1