CN110489515A - 通讯录检索的方法、服务器及存储介质 - Google Patents
通讯录检索的方法、服务器及存储介质 Download PDFInfo
- Publication number
- CN110489515A CN110489515A CN201910719752.6A CN201910719752A CN110489515A CN 110489515 A CN110489515 A CN 110489515A CN 201910719752 A CN201910719752 A CN 201910719752A CN 110489515 A CN110489515 A CN 110489515A
- Authority
- CN
- China
- Prior art keywords
- high dimension
- address list
- dimension vector
- vector
- index
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4594—Address books, i.e. directories containing contact information about correspondents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种通讯录检索的方法、服务器及存储介质,该方法包括:通讯录检索服务器的聚合服务模块接收客户端发送的用户标识码及对应的多组高维向量后,存储至向量数据库中,并分发到后端的索引服务模块;索引服务模块将高维向量转换为索引数据,存储至索引数据库中;当聚合服务模块接收到相似通讯录检索请求时,检索出与待检索的用户标识码对应的高维向量,并分发到索引服务模块;索引服务模块获取索引数据,基于索引数据检索出与该待检索的用户标识码的每一组高维向量相似的多个高维向量,将高维向量返回,以对高维向量进行聚合处理、反馈。本发明能够快速、高效地检索出与待检索的用户的通讯录相似的其他通讯录。
Description
技术领域
本发明涉及信息检索技术领域,尤其涉及一种通讯录检索的方法、服务器及存储介质。
背景技术
随着移动互联网的发展,越来越多的个人隐私数据被收集、传递、计算、交换,用于提升服务质量。其中,用户通讯录数据或通话记录数据被广泛应用于社交网络分析和反欺诈检测。常见的应用场景包括,已知用户的通讯录数据,需要找出通讯录与该用户通讯录比较相似的其它用户,用来判断是否是存在团伙欺诈的可能,或者根据关联用户的还款情况推测该用户的信用风险等。由于通讯录数据是由若干个电话号码组成的集合,因而这就涉及到集合数据的检索。在该场景中,一种检索方式为:遍历所有用户通讯录数据,进行逐个比较,这种方式在数据量大的情况下开销太大,耗时太久,达不到实时应用的响应级别;另一种检索方式为:使用图数据库构建关系网络,将通讯录检索转化为相似子图搜索,这种方式在现有的主流的图数据库都没有高效的实现,性能比较差。上述的应用场景无论采用哪种检索方式,还同时容易引发关于个人隐私信息被泄漏的问题。有鉴于此,提供一种快速高效的通讯录检索方法,同时保护个人隐私信息成为有待解决的问题。
发明内容
本发明的目的在于提供一种通讯录检索的方法、服务器及存储介质,旨在快速、高效地检索出与待检索的用户的通讯录相似的其他通讯录。
为实现上述目的,本发明提供一种通讯录检索的方法,所述通讯录检索的方法包括:
通讯录检索服务器的聚合服务模块接收客户端发送的用户标识码及对应的多组高维向量后,存储所述用户标识码及高维向量至向量数据库中,并将所述高维向量分别分发到后端的索引服务模块,所述高维向量由所述用户的通讯录数据生成;
所述索引服务模块将所述高维向量转换为索引数据,存储至索引数据库中;
当所述聚合服务模块接收到携带待检索的用户标识码的相似通讯录检索请求时,从所述向量数据库中检索出与所述待检索的用户标识码对应的高维向量,并分发到所述索引服务模块;
所述索引服务模块从所述索引数据库中获取索引数据,基于所获取的索引数据检索出与该待检索的用户标识码的每一组高维向量相似的多个高维向量,并将所检索出的高维向量返回给所述聚合服务模块;
所述聚合服务模块对所检索出的高维向量进行聚合处理,将聚合处理结果进行反馈。
优选地,所述索引服务模块包括多个索引服务,每一索引服务处理对应组编号的高维向量。
优选地,所述基于所获取的索引数据检索出与该待检索的用户标识码的每组高维向量相似的多个高维向量的步骤,具体包括:
基于所获取的索引数据,计算该待检索的用户标识码的每组高维向量与对应的索引服务的高维向量之间的欧氏距离或者夹角余弦,基于所述欧氏距离或者夹角余弦获取每组高维向量相似的多个高维向量。
优选地,所述聚合服务模块对所检索出的高维向量进行聚合处理的步骤,具体包括:根据所检索出的高维向量对应的用户标识码,对所述高维向量进行去重、合并及排序。
优选地,所述通讯录检索服务器的聚合服务模块接收客户端发送的用户标识码及对应的多组高维向量的步骤之前,还包括:
客户端读取用户原始的通讯录数据,调用预定的通讯录编码开发工具包将所述通讯录数据生成多组高维向量,将该用户的用户标识码及对应的高维向量发送给通讯录检索服务器。
优选地,所述客户端读取用户原始的通讯录数据,调用预定的通讯录编码开发工具包将所述通讯录数据生成多组高维向量的步骤,具体包括:
获取通讯录数据中手机号码的平均数据量及预定的检索准确率,根据所述平均数据量及所述检索准确率确定所述高维向量的维度;
根据所述高维向量的维度及所述检索准确,确定所述高维向量的组数;
调用预定的通讯录编码开发工具包,以所述通讯录数据、维度、组数为输入,通过预定的哈希函数进行计算,得到输出的所述组数及所述维度的高维向量。
为实现上述目的,本发明还提供一种通讯录检索服务器,所述通讯录检索服务器包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的处理系统,所述处理系统被所述处理器执行时实现如权利要求1所述的通讯录检索的方法的步骤。
优选地,所述索引服务模块包括多个索引服务,每一索引服务处理对应组编号的高维向量。
优选地,所述基于所获取的索引数据检索出与该待检索的用户标识码的每组高维向量相似的多个高维向量的步骤,具体包括:
基于所获取的索引数据,计算该待检索的用户标识码的每组高维向量与对应的索引服务的高维向量之间的欧氏距离或者夹角余弦,基于所述欧氏距离或者夹角余弦获取每组高维向量相似的多个高维向量。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现上述通讯录检索服务器执行的方法的步骤。
本发明的有益效果是:本发明将用户的通讯录数据生成高维向量,通讯录检索服务器构建索引对高维向量进行检索,基于向量能够快速、高效地检索出与待检索的用户的通讯录相似的其他通讯录,此外,将通讯录数据编码为高维向量后发送给通讯录检索服务器进行检索,隐藏了用户的通讯录,能够有效的保护用户的个人隐私。
附图说明
图1为本发明各个实施例一可选的应用环境示意图;
图2是图1中通讯录检索服务器一实施例的硬件架构的示意图;
图3为图1、图2中处理系统一实施例的程序模块图;
图4为本发明通讯录检索的方法第一实施例的流程示意图;
图5为本发明通讯录检索的方法第二实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明的较佳实施例的应用环境示意图。在该实施例中,该通讯录检索服务器1与客户端2、应用服务器3相连接。首先,客户端2读取用户的通讯录数据,调用通讯录编码开发工具包将通讯录数据生成对应的高维向量,发送给通讯录检索服务器1。然后,通讯录检索服务器1将高维向量转换为索引数据并存储。最后,应用服务器3发起相似通讯录检索请求,通讯录检索服务器1根据索引数据,检索出满足条件的相似的通讯录。
通讯录检索服务器1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述通讯录检索服务器1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
参照图2所示,在本实施例中,通讯录检索服务器1可包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,存储器11存储有可在处理器12上运行的处理系统10。需要指出的是,图2仅示出了具有组件11-13的通讯录检索服务器1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为通讯录检索服务器1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是通讯录检索服务器1的内部存储单元,例如该通讯录检索服务器1的硬盘;在另一些实施例中,该非易失性存储介质也可以是通讯录检索服务器1的外部存储设备,例如通讯录检索服务器1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。本实施例中,存储器11的可读存储介质通常用于存储安装于通讯录检索服务器1的操作系统和各类应用软件,例如存储本发明一实施例中的处理系统10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片,用于运行所述存储器11中存储的程序代码或者处理数据,例如运行处理系统10等。
所述网络接口13可包括标准的无线网络接口、有线网络接口,该网络接口13通常用于在所述通讯录检索服务器1与其他电子设备之间建立通信连接。
所述处理系统10存储在存储器11中,包括至少一个存储在存储器11中的计算机可读指令,该至少一个计算机可读指令可被处理器器12执行,以实现本申请各实施例的方法;以及,该至少一个计算机可读指令依据其各部分所实现的功能不同,可被划为不同的逻辑模块。
在一实施例中,上述处理系统10被所述处理器12执行时实现如下步骤:
聚合服务接收客户端发送的用户标识码及对应的多组高维向量后,存储所述用户标识码及高维向量至向量数据库中,并将所述高维向量分别分发到后端的索引服务,所述高维向量由所述用户的通讯录数据生成;
所述索引服务将所述高维向量转换为索引数据,存储至索引数据库中;
当所述聚合服务接收到携带待检索的用户标识码的相似通讯录检索请求时,从所述向量数据库中检索出与所述待检索的用户标识码对应的高维向量,并分发到所述索引服务;
所述索引服务从所述索引数据库中获取索引数据,基于所获取的索引数据检索出与该待检索的用户标识码的每一组高维向量相似的多个高维向量,并将所检索出的高维向量返回给所述聚合服务;
所述聚合服务对所检索出的高维向量进行聚合处理,将聚合处理结果进行反馈。
参照图3所示,为图1、图2中处理系统10的程序模块图。所述处理系统10被分割为多个模块,该多个模块被存储于存储器12中,并由处理器13执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
所述处理系统10可以被分割为:聚合服务模块101、索引服务模块102。
所述聚合服务模块101,用于接收客户端发送的用户标识码及对应的多组高维向量后,存储所述用户标识码及高维向量至向量数据库中,并将所述高维向量分别分发到后端的索引服务模块,所述高维向量由所述用户的通讯录数据生成;还用于当接收到携带待检索的用户标识码的相似通讯录检索请求时,从所述向量数据库中检索出与所述待检索的用户标识码对应的高维向量,并分发到所述索引服务模块;还用于对所检索出的高维向量进行聚合处理,将聚合处理结果进行反馈。
所述索引服务模块102,用于将所述高维向量转换为索引数据,存储至索引数据库中;还用于从所述索引数据库中获取索引数据,基于所获取的索引数据检索出与该待检索的用户标识码的每一组高维向量相似的多个高维向量,并将所检索出的高维向量返回给所述聚合服务模块。
具体原理请参照下述图4关于该方法的流程图的介绍。
如图4所示,图4为本发明通讯录检索的方法一实施例的流程示意图,通讯录检索服务器1的处理器13执行存储器12中存储的处理系统10时实现该方法的如下步骤:
步骤S1,通讯录检索服务器的聚合服务模块接收客户端发送的用户标识码及对应的多组高维向量后,存储所述用户标识码及高维向量至向量数据库中,并将所述高维向量分别分发到后端的索引服务模块,所述高维向量由所述用户的通讯录数据生成;
其中,客户端可以是手机App、内部后台应用服务或者第三方合作伙伴的应用服务,用于将用户标识码及对应的高维向量上报至通讯录检索服务器。用户标识码为用户的唯一标识,例如,手机号码、自定义的UserID等。
其中,聚合服务模块对外提供上报接口,上报接口用于接收客户端发送的用户标识码及对应的多组高维向量,将各个用户标识码及对应的高维向量均存储至向量数据库中,以用于后续的检索,并将高维向量分别分发到后端的索引服务模块。
步骤S2,所述索引服务模块将所述高维向量转换为索引数据,存储至索引数据库中;
其中,通讯录检索服务器的后端的索引服务模块包括多个索引服务,其使用ANN(Approximate nearest neighbors,近似最近邻)算法构建索引,将高维向量转换为索引数据。高维向量由用户的通讯录数据生成,一个用户的用户的通讯录数据生成的高维向量有a组。索引服务是根据不同编码规则创建的索引服务i(i=1,2,…,a),因此a组高维向量会被按照组编号分发到对应的索引服务中,并转化为索引数据,存储至索引数据库中。
步骤S3,当所述聚合服务模块接收到携带待检索的用户标识码的相似通讯录检索请求时,从所述向量数据库中检索出与所述待检索的用户标识码对应的高维向量,并分发到所述索引服务模块;
其中,聚合服务模块对外提供相似通讯录的检索接口,可以由内部后台服务或者第三方服务等发起相似通讯录检索请求,通过该检索接口接收相似通讯录检索请求。从向量数据库中检索出与待检索的用户标识码对应的多组高维向量,按照每组高维向量的组编号分发到索引服务模块对应的索引服务中,供索引服务进行检索。
步骤S4,所述索引服务模块从所述索引数据库中获取索引数据,基于所获取的索引数据检索出与该待检索的用户标识码的每一组高维向量相似的多个高维向量,并将所检索出的高维向量返回给所述聚合服务模块;
其中,基于索引数据能够快速地对高维向量进行检索。本实施例索引服务模块的每一索引服务在检索时,基于每一索引服务对应的索引数据,计算该待检索的用户标识码的某组高维向量与对应的索引服务的高维向量之间的欧氏距离L2或者夹角余弦Cosine,通过比较高维向量之间的欧氏距离L2或者夹角余弦Cosine来衡量它们间的相似程度。其中,欧氏距离L2越小,则两高维向量越相似,夹角余弦Cosine越大,表示两个向量的夹角越小,则两高维向量越相似。计算后,按照两高维向量相似程度对每一索引服务的高维向量进行排序,排序的高维向量会关联对应的用户标识码。选取排序在前的预设数量L个的高维向量及对应的用户标识码,返回给聚合服务模块。
步骤S5,所述聚合服务模块对所检索出的高维向量进行聚合处理,将聚合处理结果进行反馈。
其中,索引服务模块的每一索引服务返回L个高维向量给聚合服务模块,对于a组高维向量,聚合服务模块接收到L*a个高维向量[M11,M12,...,M1a,...,ML1,ML2,...,MLa],MLa为(用户标识码,欧氏距离L2或夹角余弦Cosine)。根据用户标识码,对L*a个高维向量进行去重、合并及排序,例如,按高维向量欧氏距离L2从小到大的顺序取最小的L个聚合处理结果进行反馈。
进一步地,对于反馈的L个聚合处理结果,根据实际需要,可以进一步地设定阈值Tthreshold,对L个聚合处理结果再进行过滤,得到最终结果,在该结果中,通过用户标识码可以确定哪些用户的通讯录与待检索的用户的通讯录相似,例如,在该结果中,所有检索出来的用户的通讯录中,每一均有超过20%的电话号码与待检索的用户的通讯录中的电话号码相同。
在一优选的实施例中,如图5所示,在上述图4的实施例的基础上,所述通讯录检索服务器的聚合服务模块接收客户端发送的用户标识码及对应的多组高维向量的步骤之前,该方法还包括:
步骤S100,客户端读取用户原始的通讯录数据,调用预定的通讯录编码开发工具包将所述通讯录数据生成多组高维向量,将该用户的用户标识码及对应的高维向量发送给通讯录检索服务器。
进一步地,所述客户端读取用户原始的通讯录数据,调用预定的通讯录编码开发工具包将所述通讯录数据生成多组高维向量的步骤,具体包括:
获取通讯录数据中手机号码的平均数据量及预定的检索准确率,根据所述平均数据量及所述检索准确率,确定所述高维向量的维度;
根据所述高维向量的维度及所述检索准确率,确定所述高维向量的组数;
调用预定的通讯录编码开发工具包,以所述通讯录数据、维度、组数为输入,通过预定的哈希函数进行计算,得到输出的所述组数及所述维度的高维向量。
其中,用户原始的通讯录数据为手机号码的集合,本实施例约定用以下符号表示某个用户的通讯录数据:
D={X1,X2,...,Xi,...,Xn};
Xi(i=1,2,...,n)表示该用户的通讯录中第i个手机号码,n表示该用户的通讯录中联系人手机号码的数量。
其中,手机号码是由0-9之间的整数组成的数字序列,约定用以下符号表示手机号码数据: 表示手机号码中的第j个数字。
其中,手机号码的构成:
前3位,即表示网络识别码;
第4-7位,即表示地区编码;
第8-11位,即表示用户号码,随机分配。
其中,将通讯录编码为高维向量的过程中,高维向量的维度选取是一个需要权衡的过程。本实施例采用ANN算法构建索引,维度过大,高维空间下两点之间的距离很难得到有效的衡量,ANN算法构建索引的时间和空间开销会很大,检索的速度也会较慢,消耗的资源变大,也不利于工程实现;维度过低,高维向量产生过程中哈希碰撞率较高,所产生的高维向量会丢失较多的有效信息,从而会降低检索的准确率。为了得到较优效果,本实施例基于通讯录数据的平均数据量及预定的检索准确率确定合适的高维向量的维度,可以预先配置通讯录数据的平均数据量范围、检索准确率与高维向量的维度之间的关系表,通过该关系表可直接确定高维向量的维度,在该关系表中,若通讯录数据的平均数据量较大,且预定的检索准确率要求较高,则维度可以取较大值,若通讯录数据的平均数据量较小,且预定的检索准确率要求较低,则维度可以取较小值。。
在确定高维向量的维度之后,再进一步根据维度及检索准确率确定组数,这里也可以预先配置维度、检索准确率及高维向量的组数之间的关系表,在该关系表中,维度取值越小,检索准确率要求越高,则组数应该取值越大,反之,维度取值越大,检索准确率要求越低,则组数应该取值越小。
关于组数和维度的取值,由于用户通讯录的手机号码的平均数据量为250左右,检索准确率要求一般为90%-95%,因此,优选地,维度可以取值在750至2000之间,组数的取值在3至8之间。
调用预定的通讯录编码开发工具包,以通讯录数据、维度、组数为输入,通过预定的哈希函数进行计算,得到输出的对应组数及维度的高维向量:
本实施例中,首先定义相应的组数及维度的0向量,然后将手机号码当成一个普通字符串输入预定的哈希函数中,计算得到一个较大的整数值,再对向量维度取模算出手机号码在向量中对应的下标,对对应的下标位置的数置1,最后输出相应维度、组数的高维向量。
例如,每一用户的通讯录数据对应的a组m维高维向量表示如下:
V={V1,V2,...,Vc,...,Va};
Vc={v1,v2,...,vk,...,vm};
其中,c=1,2,...,a,vk∈{0,1},k=1,2,...,m。
优选地,在实际应用中,可将通讯录数据编码为4组1000维的高维向量。
其中,根据通讯录的手机号码的平均数据量及检索准确率,维度可以取值1000。对手机号码各个号段做数据分析后,发现手机号码的构成特点,其前3位和第4-7位的分布不是很平均,例如,对于某一地区其地区编码都是相同的,分布较集中,哈希碰撞率比较高。后四位用户号码是随机分配的,有比较好的随机性,大致服从随机概率分布,基本可以满足生成高维向量的要求,因此,优选手机号码的后4位或包括后4位(例如,后5位、后6位等)的数据进行高维向量的组数处理。例如,基于手机号码的后4位进行组合建立映射关系,可以得到4组高维向量:
4组:
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括处理系统,该处理系统被处理器执行时实现的功能,请参照上述关于图4的介绍,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种通讯录检索的方法,其特征在于,所述通讯录检索的方法包括:
通讯录检索服务器的聚合服务模块接收客户端发送的用户标识码及对应的多组高维向量后,存储所述用户标识码及高维向量至向量数据库中,并将所述高维向量分别分发到后端的索引服务模块,所述高维向量由所述用户的通讯录数据生成;
所述索引服务模块将所述高维向量转换为索引数据,存储至索引数据库中;
当所述聚合服务模块接收到携带待检索的用户标识码的相似通讯录检索请求时,从所述向量数据库中检索出与所述待检索的用户标识码对应的高维向量,并分发到所述索引服务模块;
所述索引服务模块从所述索引数据库中获取索引数据,基于所获取的索引数据检索出与该待检索的用户标识码的每一组高维向量相似的多个高维向量,并将所检索出的高维向量返回给所述聚合服务模块;
所述聚合服务模块对所检索出的高维向量进行聚合处理,将聚合处理结果进行反馈。
2.根据权利要求1所述的通讯录检索的方法,其特征在于,所述索引服务模块包括多个索引服务,每一索引服务处理对应组编号的高维向量。
3.根据权利要求2所述的通讯录检索的方法,其特征在于,所述基于所获取的索引数据检索出与该待检索的用户标识码的每组高维向量相似的多个高维向量的步骤,具体包括:
基于所获取的索引数据,计算该待检索的用户标识码的每组高维向量与对应的索引服务的高维向量之间的欧氏距离或者夹角余弦,基于所述欧氏距离或者夹角余弦获取每组高维向量相似的多个高维向量。
4.根据权利要求1所述的通讯录检索的方法,其特征在于,所述聚合服务模块对所检索出的高维向量进行聚合处理的步骤,具体包括:根据所检索出的高维向量对应的用户标识码,对所述高维向量进行去重、合并及排序。
5.根据权利要求1至4任一项所述的通讯录检索的方法,其特征在于,所述通讯录检索服务器的聚合服务模块接收客户端发送的用户标识码及对应的多组高维向量的步骤之前,还包括:
客户端读取用户原始的通讯录数据,调用预定的通讯录编码开发工具包将所述通讯录数据生成多组高维向量,将该用户的用户标识码及对应的高维向量发送给通讯录检索服务器。
6.根据权利要求5所述的通讯录检索的方法,其特征在于,所述客户端读取用户原始的通讯录数据,调用预定的通讯录编码开发工具包将所述通讯录数据生成多组高维向量的步骤,具体包括:
获取通讯录数据中手机号码的平均数据量及预定的检索准确率,根据所述平均数据量及所述检索准确率,确定所述高维向量的维度;
根据所述高维向量的维度及所述检索准确率,确定所述高维向量的组数;
调用预定的通讯录编码开发工具包,以所述通讯录数据、维度、组数为输入,通过预定的哈希函数进行计算,得到输出的所述组数及所述维度的高维向量。
7.一种通讯录检索服务器,其特征在于,所述通讯录检索服务器包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的处理系统,所述处理系统被所述处理器执行时实现如权利要求1所述的通讯录检索的方法的步骤。
8.根据权利要求7所述的通讯录检索服务器,其特征在于,所述索引服务模块包括多个索引服务,每一索引服务处理对应组编号的高维向量。
9.根据权利要求8所述的通讯录检索服务器,其特征在于,所述基于所获取的索引数据检索出与该待检索的用户标识码的每组高维向量相似的多个高维向量的步骤,具体包括:
基于所获取的索引数据,计算该待检索的用户标识码的每组高维向量与对应的索引服务的高维向量之间的欧氏距离或者夹角余弦,基于所述欧氏距离或者夹角余弦获取每组高维向量相似的多个高维向量。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现如权利要求1至6中任一项所述通讯录检索服务器执行的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910719752.6A CN110489515B (zh) | 2019-08-01 | 2019-08-01 | 通讯录检索的方法、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910719752.6A CN110489515B (zh) | 2019-08-01 | 2019-08-01 | 通讯录检索的方法、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489515A true CN110489515A (zh) | 2019-11-22 |
CN110489515B CN110489515B (zh) | 2021-12-17 |
Family
ID=68549531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910719752.6A Active CN110489515B (zh) | 2019-08-01 | 2019-08-01 | 通讯录检索的方法、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489515B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130031061A1 (en) * | 2011-07-25 | 2013-01-31 | Salesforce.Com Inc. | Fraud analysis in a contact database |
CN103279551A (zh) * | 2013-06-06 | 2013-09-04 | 浙江大学 | 一种基于欧氏距离的高维数据准确近邻快速检索方法 |
CN104182422A (zh) * | 2013-05-28 | 2014-12-03 | 中国电信股份有限公司 | 统一通讯录信息处理方法和系统 |
US20170235812A1 (en) * | 2016-02-16 | 2017-08-17 | Microsoft Technology Licensing, Llc | Automated aggregation of social contact groups |
CN107992611A (zh) * | 2017-12-15 | 2018-05-04 | 清华大学 | 基于柯西分布哈希方法的高维数据检索方法与系统 |
CN108038778A (zh) * | 2017-12-05 | 2018-05-15 | 深圳信用宝金融服务有限公司 | 互联网金融小微贷款的团伙欺诈识别方法及装置 |
-
2019
- 2019-08-01 CN CN201910719752.6A patent/CN110489515B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130031061A1 (en) * | 2011-07-25 | 2013-01-31 | Salesforce.Com Inc. | Fraud analysis in a contact database |
CN104182422A (zh) * | 2013-05-28 | 2014-12-03 | 中国电信股份有限公司 | 统一通讯录信息处理方法和系统 |
CN103279551A (zh) * | 2013-06-06 | 2013-09-04 | 浙江大学 | 一种基于欧氏距离的高维数据准确近邻快速检索方法 |
US20170235812A1 (en) * | 2016-02-16 | 2017-08-17 | Microsoft Technology Licensing, Llc | Automated aggregation of social contact groups |
CN108038778A (zh) * | 2017-12-05 | 2018-05-15 | 深圳信用宝金融服务有限公司 | 互联网金融小微贷款的团伙欺诈识别方法及装置 |
CN107992611A (zh) * | 2017-12-15 | 2018-05-04 | 清华大学 | 基于柯西分布哈希方法的高维数据检索方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110489515B (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352902A (zh) | 日志处理方法、装置、终端设备及存储介质 | |
WO2022105135A1 (zh) | 信息审核方法、装置、电子设备及存储介质 | |
CN106874320A (zh) | 分布式流式数据处理的方法和装置 | |
CN107729924B (zh) | 图片复审概率区间生成方法及图片复审判定方法 | |
CN111723159A (zh) | 一种基于区块链的数据验证方法和装置 | |
CN111949681A (zh) | 数据的聚合处理装置、方法和存储介质 | |
CN114625973B (zh) | 一种匿名信息跨域推荐方法、装置、电子设备及存储介质 | |
CN108154024A (zh) | 一种数据检索方法、装置及电子设备 | |
CN109918277A (zh) | 电子装置、系统日志聚类分析结果的评价方法及存储介质 | |
CN114070847B (zh) | 服务器的限流方法、装置、设备及存储介质 | |
CN109918899A (zh) | 服务器、员工泄露企业信息的预测方法及存储介质 | |
CN109493046A (zh) | 基于区块链的商机信息共享方法、电子装置及可读存储介质 | |
CN117896686A (zh) | 一种话单累积量优惠计算方法、装置、设备及存储介质 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN110489515A (zh) | 通讯录检索的方法、服务器及存储介质 | |
CN113392138B (zh) | 一种隐私数据的统计分析方法、装置、服务器和存储介质 | |
CN115378806A (zh) | 流量分配方法、装置、计算机设备及存储介质 | |
CN113626387A (zh) | 一种任务数据的导出方法、装置、电子设备及存储介质 | |
CN110427315A (zh) | 推优的测试装置、方法及存储介质 | |
CN118132520B (zh) | 存储系统文件处理方法、电子设备、存储介质及程序产品 | |
CN118070327B (zh) | 满足差分隐私保护的社交图中距离查询方法及装置 | |
CN117689451B (zh) | 一种基于Flink的流式向量搜索方法及装置、系统 | |
CN114650252B (zh) | 基于企业服务总线的路由方法、装置及计算机设备 | |
Lu et al. | Massive data MapReduce fingerprint discriminant algorithm based on hadoop | |
US20240020340A1 (en) | Identity-aware data management |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |