CN103870471B - 二度好友查询系统、方法与装置 - Google Patents

二度好友查询系统、方法与装置 Download PDF

Info

Publication number
CN103870471B
CN103870471B CN201210531942.3A CN201210531942A CN103870471B CN 103870471 B CN103870471 B CN 103870471B CN 201210531942 A CN201210531942 A CN 201210531942A CN 103870471 B CN103870471 B CN 103870471B
Authority
CN
China
Prior art keywords
good friend
once
account
degree
friend
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.)
Active
Application number
CN201210531942.3A
Other languages
English (en)
Other versions
CN103870471A (zh
Inventor
林僚
石峰
石一峰
潘树燊
汪聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210531942.3A priority Critical patent/CN103870471B/zh
Priority to PCT/CN2013/086698 priority patent/WO2014090058A1/zh
Publication of CN103870471A publication Critical patent/CN103870471A/zh
Priority to US14/736,410 priority patent/US10025859B2/en
Application granted granted Critical
Publication of CN103870471B publication Critical patent/CN103870471B/zh
Priority to US16/007,181 priority patent/US10810269B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Abstract

本发明公开了一种二度好友查询方法,存储每个账号的一度好友,待接到二度好友查询命令后,先查询一度好友,对一度好友再次路由得到二度好友。由于只需存储一度好友关系,大大减小了机器资源占用,由于二度好友是根据一度好友查询得来,相比离线计算的方法,具有较强的实时性。本发明还公开了一种与上述方法相对应的二度好友查询装置和系统,其中系统包括计算服务器和存储服务器,存储服务器存储每个账号的一度好友,并在计算服务器的请求下查询并返回一度好友,计算服务器控制整个查询流程,经过两度查询后得到二度好友,除具有上述方法所列效果外,还由于计算服务器可以管理多个存储服务器,支持在一次查询命令中获得多种业务的好友关系链。

Description

二度好友查询系统、方法与装置
技术领域
本发明涉及网络数据查询技术领域,特别是涉及一种二度好友查询系统、方法与装置。
背景技术
在社交网络中,一个用户拥有很多好友,其每个好友又拥有很多好友。好友的好友也许是用户认识的或是希望认识的人,若能将好友的好友推荐给用户,将有利于为用户建立更完善的好友关系。传统的好友关系查询服务多是提供直接好友即一度好友的服务,当需要查找好友的好友即二度好友时,需要预先将二度好友关系离线计算好,并在查询时从预存的位置直接获取二度好友。这种离线计算的方式致使二度好友关系无法及时更新,同时离线计算的二度好友关系的存储将占用大量的机器资源。
发明内容
基于上述情况,本发明实施例提出了一种二度好友查询系统、方法与装置,以获得最新的二度好友,同时减少机器资源占用。
一种二度好友查询系统,包括计算服务器和存储服务器,
所述存储服务器存储所有账号的一度好友,所述计算服务器接到当前账号二度好友查询命令后,先向所述存储服务器发送当前账号一度好友查询请求,所述存储服务器从所存储的所有账号的一度好友中查询并返回当前账号的一度好友,所述计算服务器再向所述存储服务器发送所返回当前账号每个一度好友的一度好友查询请求,所述存储服务器从所存储的所有账号的一度好友中查询并返回当前账号每个一度好友的一度好友,所述计算服务器得到当前账号的二度好友。
一种二度好友查询方法,包括以下步骤:
接收当前账号二度好友查询命令;
从预存的所有账号的一度好友中查询当前账号的一度好友;
待返回当前账号的一度好友后,从预存的所有账号的一度好友中实时查询当前账号每个一度好友的一度好友,得到当前账号的二度好友。
一种二度好友查询装置,包括计算模块和存储模块,
所述存储模块存储每个账号的一度好友,所述计算模块接到当前账号二度好友查询命令后,先向所述存储模块发送当前账号一度好友查询请求,所述存储模块从所存储的每个账号的一度好友中查询并返回当前账号的一度好友,所述计算模块再向所述存储模块发送所返回当前账号每个一度好友的一度好友查询请求,所述存储模块从所存储的每个账号的一度好友中查询并返回当前账号每个一度好友的一度好友,所述计算模块得到当前账号的二度好友。
本发明实施例二度好友查询系统、方法与装置,先查询一度好友,对一度好友再次路由得到二度好友。由于只需存储一度好友关系,大大减小了机器资源占用,由于二度好友是根据一度好友查询得来,相比离线计算的方法,具有较强的实时性。
附图说明
图1为本发明二度好友查询系统实施例一的结构示意图;
图2为本发明二度好友查询系统实施例二的结构示意图;
图3为本发明二度好友查询方法实施例一的流程示意图;
图4为本发明二度好友查询方法实施例二的流程示意图;
图5为本发明二度好友查询方法实施例三的流程示意图;
图6为本发明二度好友查询方法实施例四的流程示意图;
图7为本发明二度好友查询装置实施例一的结构示意图;
图8为本发明二度好友查询装置实施例二的结构示意图。
具体实施方式
下面结合附图与实施例详细介绍本发明的方案,首先介绍本发明二度好友查询系统的实施例。
实施例一
本实施例二度好友查询系统,如图1所示,包括计算服务器101和存储服务器102。存储服务器102存储所有账号的一度好友,计算服务器101接到客户端发来的当前账号二度好友的查询命令后,先向所述存储服务器102发送当前账号一度好友的查询请求,所述存储服务器102从所存储的所有账号的一度好友中查询并返回当前账号的一度好友,所述计算服务器101再向所述存储服务器102发送所返回当前账号每个一度好友的一度好友的查询请求,所述存储服务器102从所存储的所有账号的一度好友中查询并返回当前账号每个一度好友的一度好友,所述计算服务器101得到当前账号的二度好友。
由以上描述可知,在本实施例中,存储服务器102预先存储了所有账号的一度好友,当接到计算服务器101查询某账号一度好友的请求时,从所存储的所有账号的一度好友中查询并返回结果。计算服务器101通过存储服务器102先查到客户端发来账号的一度好友,再将所查得的一度好友作为待查账号,再次通过存储服务器102查询该待查账号的一度好友,则客户端发来账号的所有一度好友的所有一度好友即为其二度好友。
例如,计算服务器102接到查询账号A的二度好友的查询命令,则其先向存储服务器102发送查询账号A一度好友的请求,存储服务器102从预存的所有账号的一度好友中查询账号A的一度好友,得到A1,A2,...An,将结果发送给计算服务器101。计算服务器101收到结果后,再向存储服务器102发送查询A1,A2,...An一度好友的请求,存储服务器102再从预存的所有账号的一度好友中,分别查询账号A1,A2,...An的一度好友,如账号A1的一度好友为A11,A12,...A1m,账号A2的一度好友为A21,A22,...A2p,账号An的一度好友为An1,An2,...Anq,存储服务器102将查询到的结果再次发送给计算服务器101。计算服务器101得到账号A的二度好友:A11,A12,...A1m,A21,A22,...A2p,An1,An2,...Anq
本实施例利用存储服务器102存储并查询一度好友,利用计算服务器101控制两度查询的进行,从而得到二度好友。由于存储服务器102只需存储一度好友,从而省去二度好友离线计算与存储所占用的资源,并有利于实时更新,所得到的二度好友也是当前的最新情况。
实施例二
若需要存储的账号资源有限,则存储服务器可以只有一个,若账号过多、好友关系复杂,则存储服务器可以是多个。如图2所示,本实施例包括1个计算服务器101和n个存储服务器:存储服务器1021,存储服务器1022,…,存储服务器102n。一个存储服务器存储一部分账号的一度好友,如尾号为0的账号的一度好友,另一个存储服务器存储另一部分账号的一度好友,以此类推。
基于上述存储方式,本实施例的计算服务器101需要对存储服务器进行节点管理,即计算服务器101记录存储服务器与账号的对应关系,对应关系的具体表现形式可以是一个索引或列表。客户端发来当前账号二度好友查询命令时,计算服务器101先从对应关系中查到当前账号对应的存储服务器,再向该存储服务器发送当前账号一度好友查询请求,或者说,计算服务器101只向存储服务器发送分布在该存储服务器上的账号的一度好友查询请求。存储服务器返回一度好友后,计算服务器101再次查询上述对应关系,得到每个一度好友对应的存储服务器,并将该一度好友的一度好友查询请求发送至该存储服务器,该存储服务器查到一度好友的一度好友后返回给计算服务器101,计算服务器101综合各个存储服务器返回的结果,得到客户端发来账号的二度好友。
本实施例由于采用了多个存储服务器来分担存储和查询的工作,并建立了账号和其所在存储服务器的对应关系,从而可以减轻单个存储服务器的查询压力,减小存储服务器和计算服务器之间网络包的大小,提高查询效率。
实施例三
如今,社区种类(如QQ、微博、空间等)越来越丰富,一个用户通常在各个社区都有注册,为了方便管理,一般采用一个统一的账号对同个用户在各个社区的信息进行关联。同时,用户在每个社区拥有特定的好友,不同社区的好友或许相同或许不同。本实施例为了完善所查得的一度好友和二度好友,增加了对社区的考虑。
本实施例的二度好友查询系统,包括1个计算服务器101和n个存储服务器:存储服务器1021,存储服务器1022,…,存储服务器102n。存储服务器各自存储部分账号在部分社区的一度好友,且部分账号和部分社区可以任意组合。
基于上述存储方式,本实施例的计算服务器101对各个存储服务器进行节点管理。若客户端需要了解账号在所有社区的二度好友,则计算服务器101可以只记录账号与存储服务器的对应关系,并向所有存有当前账号一度好友及一度好友的一度好友(无论是在什么社区)的存储服务器发送请求;若客户端需要了解某账号在特定社区的二度好友,则计算服务器101所记录的对应关系还应该包括社区,即记录账号、社区和存储服务器的对应关系。计算服务器101在接到客户端的查询命令后,通过查找对应关系,只向存有当前账号在特定社区的一度好友及一度好友的一度好友的存储服务器发送请求,也可以在查询一度好友时不区分社区,只在查询一度好友的一度好友时,在特定社区内查询。
例如,采用用户的QQ号对该用户在QQ、微博、空间等社区的信息进行关联,存储服务器1021存储尾号为0的QQ号在QQ上的一度好友,存储服务器1022存储尾号为0的QQ号在微博上的一度好友即所收听的好友,存储服务器1023存储尾号为1的QQ号在QQ和微博上的所有一度好友,存储服务器1024存储尾号为3的QQ号在QQ、微博及空间上的所有一度好友,等等。若客户端需要了解待查QQ号在所有社区的二度好友,则计算服务器101对存储服务器和QQ号的对应关系进行记录,当接到某QQ号二度好友的查询命令后,先通过对应关系确定所有存有该QQ号一度好友的存储服务器,无论一度好友是在哪个社区。如计算服务器101接到的是尾号为0的QQ号二度好友的查询命令,则通过查找对应关系确定存储尾号为0的QQ号的一度好友的存储服务器包括1021和1022,则向这两个服务器发送一度好友查询请求。存储服务器1021接到请求后查询该QQ号在QQ上的一度好友并返回计算服务器101,存储服务器1022查询该QQ号在微博上的一度好友并返回计算服务器101。计算服务器101综合两个社区的一度好友,并分别作为待查账号,按照前述方式查询一度好友的一度好友,最后得到客户端发来账号在各个社区的二度好友。
本实施例的存储服务器存储账号在各个社区内的一度好友,计算服务器可以记录账号、社区和存储服务器之间的对应关系,从而在查询二度好友时,可以查到在各个社区内的一度好友和二度好友,丰富了所查到的好友,还可以对好友所在社区进行指定,从而得到定位更清晰的二度好友。
实施例四
本实施例的二度好友查询系统,包括1个计算服务器101和n个存储服务器:存储服务器1021,存储服务器1022,…,存储服务器102n。存储服务器各自存储部分账号在部分社区的一度好友,且部分账号和部分社区可以任意组合。
基于上述存储方式,本实施例的计算服务器101对各个存储服务器进行节点管理。若客户端需要了解账号在所有社区的二度好友,则计算服务器101可以只记录账号与存储服务器的对应关系,并向所有存有当前账号一度好友及一度好友的一度好友(无论是在什么社区)的存储服务器发送请求;若客户端需要了解某账号在特定社区的二度好友,则计算服务器101所记录的对应关系还应该包括社区,即记录账号、社区和存储服务器的对应关系。计算服务器101在接到客户端的查询命令后,通过查找对应关系,只向存有当前账号在特定社区的一度好友及一度好友的一度好友的存储服务器发送请求,也可以在查询一度好友时不区分社区,只在查询一度好友的一度好友时,在特定社区内查询。
为了对客户端的查询命令做出回应,本实施例中计算服务器101还将所得到的当前账号在各个社区或特定社区的一度好友和/或二度好友返回至客户端,返回时还可以注明一度好友或二度好友所在的社区。
为了使客户端了解潜在的好友,本实施例还将共同好友推荐给客户端。所述的共同好友指的是当前账号与其一度好友之间的共同好友。
计算服务器101确定共同好友的方法可以是,将存储服务器所返回的当前账号的一度好友及一度好友的一度好友进行对比,若当前账号的所有一度好友与其中一个一度好友的所有一度好友之间有重叠账号,则该重叠账号为当前账号与其中一个一度好友的共同好友。计算服务器101可以将当前账号与其每个一度好友的共同好友都确定下来,一并推荐给客户端。
将最终查得的二度好友、中间查得的一度好友及上述共同好友均推荐给客户端,有利于客户端了解各种好友情况,并进一步作出选择。
下面介绍本发明二度好友查询方法的实施例。
实施例一
本实施例二度好友查询方法,如图3所示,包括如下步骤:
步骤S101、预存所有账号的一度好友;
步骤S102、接到当前账号二度好友查询命令后,根据该命令从预存的所有账号的一度好友中查询当前账号的一度好友;
步骤S103、待返回当前账号的一度好友后,从预存的所有账号的一度好友中实时查询当前账号每个一度好友的一度好友,得到当前账号的二度好友。
由以上描述可知,在本实施例中,所有账号的一度好友是预先存储好的。客户端发来某个账号二度好友的查询命令后,先从预存的一度好友关系中查得该账号的一度好友,再将所查得的一度好友作为待查账号,从预存的一度好友中进一步查询该待查账号的一度好友,最终得到客户端所查账号的二度好友。
例如,接到查询账号A的二度好友的查询命令,则先从预存的所有账号的一度好友中查询账号A的一度好友,得到A1,A2,...An,再从预存的所有账号的一度好友中,分别查询账号A1,A2,...An的一度好友,如账号A1的一度好友为A11,A12,…A1m,账号A2的一度好友为A21,A22,…A2p,账号An的一度好友为An1,An2,...Anq,则账号A的二度好友为A11,A12,…A1m,A21,A22,…A2p,An1,An2,...Anq
本实施例的两度查询都是从预存的一度好友中进行查询的,由于所预存的一度好友可以实时更新,因此,最终得到的二度好友是当前的最新情况。同时,采用本实施例的方案无需另外离线计算并存储二度好友,省去了大量的资源占用。采用传统技术,亿级别用户的关系链要存储好友信息需要40台机器以上,采用本实施例的方案只需要不到原来10%的机器资源。
实施例二
本实施例二度好友查询方法,如图4所示,包括如下步骤:
步骤S201、将所有账号的一度好友分布式预存于多个存储模块,并记录账号与所述存储模块的对应关系;
步骤S202、接到当前账号二度好友查询命令后,查找所述对应关系,从当前账号对应的存储模块中查询当前账号的一度好友;
步骤S203、查到当前账号的一度好友后,再次查找所述对应关系,从每个一度好友对应的存储模块中查询该一度好友的一度好友,得到当前账号的二度好友。
由以上描述可知,在本实施例中,所有账号的一度好友是预先存储好的,且存储于不同的存储模块,因此需要记录账号与存储模块的对应关系,并在查询前通过对应关系先确定当前账号对应的存储模块,再在该存储模块中查询当前账号的一度好友。查到一度好友后,再次通过对应关系确定每个一度好友对应的存储模块,并分别从所确定的各个存储模块中查找每个一度好友的一度好友,最终得到当前账号的二度好友。
本实施例由于采用了多个存储模块来分担存储任务,并建立了账号和其所在存储服务器的对应关系,从而在查询一度好友及一度好友的一度好友时,可以针对性地从相应存储模块中查询,有利于提高查询效率。
实施例三
本实施例二度好友查询方法,如图5所示,包括如下步骤:
步骤S301、将所有账号在各个社区的一度好友分布式预存于多个存储模块,每个存储模块存储的账号与其一度好友所在的社区可以任意组合,记录账号、社区与存储模块的对应关系;
步骤S302、接到当前账号二度好友查询命令后,查找所述对应关系,从当前账号与特定社区对应的存储模块中查询当前账号的一度好友;
步骤S303、查到当前账号的一度好友后,再次查找所述对应关系,从每个一度好友与特定社区对应的存储模块中查询该一度好友的一度好友,得到当前账号的二度好友。
如今,社区种类(如QQ、微博、空间等)越来越丰富,一个用户通常在各个社区都有注册,为了方便管理,一般采用一个统一的账号对同个用户在各个社区的信息进行关联。同时,用户在每个社区拥有特定的好友,不同社区的好友或许相同或许不同。本实施例为了完善所查得的一度好友和二度好友,增加了对社区的考虑。
在步骤S301中,账号、社区与存储模块之间可以任意组合,同一个账号在各个社区的一度好友可以存储于同一个存储模块或不同的存储模块。若客户端需要了解账号在所有社区的二度好友,则在步骤S301中可以只记录账号与存储模块的对应关系,并从所有存有当前账号一度好友及一度好友的一度好友(无论是在什么社区)的存储模块中查询一度好友及一度好友的一度好友;若客户端需要了解某账号在特定社区的二度好友,则在步骤S301中所记录的对应关系还应该包括社区,即记录账号、社区和存储模块三者之间的对应关系。步骤S302接到客户端的查询命令后,通过查找对应关系,从存有当前账号在特定社区的一度好友及一度好友的一度好友的存储模块中查询一度好友即一度好友的一度好友,也可以在查询一度好友时不区分社区,只在查询一度好友的一度好友时,在特定社区内查询。
例如,采用用户的QQ号对该用户在QQ、微博、空间等社区的信息进行关联,采用存储模块1021存储尾号为0的QQ号在QQ上的一度好友,采用存储模块1022存储尾号为0的QQ号在微博上的一度好友即所收听的好友,采用存储模块1023存储尾号为1的QQ号在QQ和微博上的所有一度好友,采用存储模块1024存储尾号为3的QQ号在QQ、微博及空间上的所有一度好友,等等。若客户端需要了解待查QQ号在所有社区的二度好友,则对存储模块和QQ号的对应关系进行记录,当接到某QQ号二度好友的查询命令后,先通过对应关系确定所有存有该QQ号一度好友的存储模块,无论一度好友是在哪个社区。如接到的是尾号为0的QQ号二度好友的查询命令,则通过查找对应关系确定存储尾号为0的QQ号的一度好友的存储模块包括1021和1022,则从这两个服务器中进行查找。
本实施例的存储模块存储账号在各个社区内的一度好友,通过查询账号、社区和存储模块之间的对应关系,从对应的存储模块中查找,从而在查询二度好友时,可以查到在各个社区内的一度好友和二度好友,丰富了所查到的好友,还可以对好友所在社区进行指定,从而得到定位更清晰的二度好友。
实施例四
本实施例的二度好友查询方法,如图6所示,包括如下步骤:
步骤S401、将所有账号在各个社区的一度好友分布式预存于多个存储模块,每个存储模块存储的账号与其一度好友所在的社区可以任意组合,记录账号、社区与存储模块的对应关系;
步骤S402、接到当前账号二度好友查询命令后,查找所述对应关系,从当前账号与特定社区对应的存储模块中查询当前账号的一度好友;
步骤S403、查到当前账号的一度好友后,再次查找所述对应关系,从每个一度好友及特定社区对应的存储模块中查询该一度好友的一度好友,得到当前账号的二度好友;
步骤S404、将所查得的当前账号的一度好友与二度好友返回当前账号二度好友查询命令的发送方。
如步骤S404所述,本实施例还将最终的二度好友及中间查询到的一度好友返回给查询命令的发送方即客户端。
更进一步地,本实施例还可以将一度好友与二度好友进行对比得到共同好友,并将共同好友一并推荐给客户端。对比的具体过程为:将当前账号的某个一度好友的所有一度好友与当前账号其他的一度好友对比,若发现同一个账号,则将该账号作为当前账号与前述某一度好友的共同好友。如此,便于用户找到更多的好友。
下面介绍本发明二度好友查询装置的实施例。
实施例一
本实施例二度好友查询装置,如图7所示,包括计算模块201和存储模块202。存储模块202存储所有账号的一度好友,计算模块201接到客户端发来的当前账号二度好友的查询命令后,先向所述存储模块202发送当前账号一度好友的查询请求,所述存储模块202从所存储的所有账号的一度好友中查询并返回当前账号的一度好友,所述计算模块201再向所述存储模块202发送所返回当前账号每个一度好友的一度好友的查询请求,所述存储模块202从所存储的所有账号的一度好友中查询并返回当前账号每个一度好友的一度好友,所述计算模块201得到当前账号的二度好友。
由以上描述可知,在本实施例中,存储模块202预先存储了所有账号的一度好友,当接到计算模块201查询某账号一度好友的请求时,从所存储的所有账号的一度好友中查询并返回结果。计算模块201通过存储模块202先查到客户端发来账号的一度好友,再将所查得的一度好友作为待查账号,再次通过存储模块202查询该待查账号的一度好友,则客户端发来账号的所有一度好友的所有一度好友即为其二度好友。
例如,计算模块202接到查询账号A的二度好友的查询命令,则其先向存储模块202发送查询账号A一度好友的请求,存储模块202从预存的所有账号的一度好友中查询账号A的一度好友,得到A1,A2,…An,将结果发送给计算模块201。计算模块201收到结果后,再向存储模块202发送查询A1,A2,…An一度好友的请求,存储模块202再从预存的所有账号的一度好友中,分别查询账号A1,A2,...An的一度好友,如账号A1的一度好友为A11,A12,…A1m,账号A2的一度好友为A21,A22,…A2p,账号An的一度好友为An1,An2,...Anq,存储模块202将查询到的结果再次发送给计算模块201。计算模块201得到账号A的二度好友:A11,A12,…A1m,A21,A22,…A2p,An1,An2,....Anq
本实施例利用存储模块202存储并查询一度好友,利用计算模块201控制两度查询的进行,从而得到二度好友。由于存储模块202只需存储一度好友,从而省去二度好友离线计算与存储所占用的资源,并有利于实时更新,所得到的二度好友也是当前的最新情况。
实施例二
若需要存储的账号资源有限,则存储模块可以只有一个,若账号过多、好友关系复杂,则存储模块可以是多个。如图8所示,本实施例包括1个计算模块201和n个存储模块:存储模块2021,存储模块2022,…,存储模块202n。一个存储模块存储一部分账号的一度好友,如尾号为0的账号的一度好友,另一个存储模块存储另一部分账号的一度好友,以此类推。
基于上述存储方式,本实施例的计算模块201需要对存储模块进行节点管理,即计算模块201记录存储模块与账号的对应关系,对应关系的具体表现形式可以是一个索引或列表。客户端发来当前账号二度好友查询命令时,计算模块201先从对应关系中查到当前账号对应的存储模块,再向该存储模块发送当前账号一度好友查询请求,或者说,计算模块201只向存储模块发送分布在该存储模块上的账号的一度好友查询请求。存储模块返回一度好友后,计算模块201再次查询上述对应关系,得到每个一度好友对应的存储模块,并将该一度好友的一度好友查询请求发送至该存储模块,该存储模块查到一度好友的一度好友后返回给计算模块201,计算模块201综合各个存储模块返回的结果,得到客户端发来账号的二度好友。
本实施例由于采用了多个存储模块来分担存储和查询的工作,并建立了账号和其所在存储模块的对应关系,从而可以减轻单个存储模块的查询压力,减小存储模块和计算模块之间网络包的大小,提高查询效率。
实施例三
如今,社区种类(如QQ、微博、空间等)越来越丰富,一个用户通常在各个社区都有注册,为了方便管理,一般采用一个统一的账号对同个用户在各个社区的信息进行关联。同时,用户在每个社区拥有特定的好友,不同社区的好友或许相同或许不同。本实施例为了完善所查得的一度好友和二度好友,增加了对社区的考虑。
本实施例的二度好友查询装置,如图8所示,包括1个计算模块201和n个存储模块:存储模块2021,存储模块2022,…,存储模块202n。存储模块各自存储部分账号在部分社区的一度好友,且部分账号和部分社区可以任意组合。
基于上述存储方式,本实施例的计算模块201对各个存储模块进行节点管理。若客户端需要了解账号在所有社区的二度好友,则计算模块201可以只记录账号与存储模块的对应关系,并向所有存有当前账号一度好友及一度好友的一度好友(无论是在什么社区)的存储模块发送请求;若客户端需要了解某账号在特定社区的二度好友,则计算模块201所记录的对应关系还应该包括社区,即记录账号、社区和存储模块的对应关系。计算模块201在接到客户端的查询命令后,通过查找对应关系,只向存有当前账号在特定社区的一度好友及一度好友的一度好友的存储模块发送请求,也可以在查询一度好友时不区分社区,只在查询一度好友的一度好友时,在特定社区内查询。
例如,采用用户的QQ号对该用户在QQ、微博、空间等社区的信息进行关联,存储模块2021存储尾号为0的QQ号在QQ上的一度好友,存储模块2022存储尾号为0的QQ号在微博上的一度好友即所收听的好友,存储模块2023存储尾号为1的QQ号在QQ和微博上的所有一度好友,存储模块2024存储尾号为3的QQ号在QQ、微博及空间上的所有一度好友,等等。若客户端需要了解待查QQ号在所有社区的二度好友,则计算模块201对存储模块和QQ号的对应关系进行记录,当接到某QQ号二度好友的查询命令后,先通过对应关系确定所有存有该QQ号一度好友的存储模块,无论一度好友是在哪个社区。如计算模块201接到的是尾号为0的QQ号二度好友的查询命令,则通过查找对应关系确定存储尾号为0的QQ号的一度好友的存储模块包括2021和2022,则向这两个服务器发送一度好友查询请求。存储模块2021接到请求后查询该QQ号在QQ上的一度好友并返回计算模块201,存储模块2022查询该QQ号在微博上的一度好友并返回计算模块201。计算模块201综合两个社区的一度好友,并分别作为待查账号,按照前述方式查询一度好友的一度好友,最后得到客户端发来账号在各个社区的二度好友。
本实施例的存储模块存储账号在各个社区内的一度好友,计算模块可以记录账号、社区和存储模块之间的对应关系,从而在查询二度好友时,可以查到在各个社区内的一度好友和二度好友,丰富了所查到的好友,还可以对好友所在社区进行指定,从而得到定位更清晰的二度好友。
实施例四
本实施例的二度好友查询装置,如图8所示,包括1个计算模块201和n个存储模块:存储模块2021,存储模块2022,…,存储模块202n。存储模块各自存储部分账号在部分社区的一度好友,且部分账号和部分社区可以任意组合。
基于上述存储方式,本实施例的计算模块201对各个存储模块进行节点管理。若客户端需要了解账号在所有社区的二度好友,则计算模块201可以只记录账号与存储模块的对应关系,并向所有存有当前账号一度好友及一度好友的一度好友(无论是在什么社区)的存储模块发送请求;若客户端需要了解某账号在特定社区的二度好友,则计算模块201所记录的对应关系还应该包括社区,即记录账号、社区和存储模块的对应关系。计算模块201在接到客户端的查询命令后,通过查找对应关系,只向存有当前账号在特定社区的一度好友及一度好友的一度好友的存储模块发送请求,也可以在查询一度好友时不区分社区,只在查询一度好友的一度好友时,在特定社区内查询。
为了对客户端的查询命令做出回应,本实施例中计算模块201还将所得到的当前账号在各个社区或特定社区的一度好友和/或二度好友返回至客户端,返回时还可以注明一度好友或二度好友所在的社区。
为了使客户端了解潜在的好友,本实施例还将共同好友推荐给客户端。所述的共同好友指的是当前账号与其一度好友之间的共同好友。
计算模块201确定共同好友的方法可以是,将存储模块所返回的当前账号的一度好友及一度好友的一度好友进行对比,若当前账号的所有一度好友与其中一个一度好友的所有一度好友之间有重叠账号,则该重叠账号为当前账号与其中一个一度好友的共同好友。计算模块201可以将当前账号与其每个一度好友的共同好友都确定下来,一并推荐给客户端。
将最终查得的二度好友、中间查得的一度好友及上述共同好友均推荐给客户端,有利于客户端了解各种好友情况,并进一步作出选择。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种二度好友查询系统,其特征在于,包括计算服务器和存储服务器,
所述存储服务器存储所有账号的一度好友,所述计算服务器接到当前账号二度好友查询命令后,先向所述存储服务器发送当前账号一度好友查询请求,所述存储服务器从所存储的所有账号的一度好友中查询并返回当前账号的一度好友,所述计算服务器再向所述存储服务器发送所返回当前账号每个一度好友的一度好友查询请求,所述存储服务器从所存储的所有账号的一度好友中查询并返回当前账号每个一度好友的一度好友,所述计算服务器得到当前账号的二度好友;
本系统包含多个所述存储服务器,每个所述存储服务器存储部分账号的一度好友,所述计算服务器记录存储服务器与账号的对应关系,接到当前账号二度好友查询命令后,查询记录并向当前账号对应的存储服务器发送当前账号一度好友查询请求,所述存储服务器返回当前账号的一度好友后,所述计算服务器再次查询记录并向当前账号每个一度好友对应的存储服务器发送当前账号每个一度好友的一度好友查询请求;
所述存储服务器所存储的一度好友为部分账号在预定社区的一度好友,所述存储服务器综合查询当前账号及其一度好友在所述预定社区内的一度好友,所述计算服务器记录的所述对应关系为存储服务器、账号和社区的对应关系,所述计算服务器接到所述当前账号二度好友查询命令后,查找所述对应关系,向存有所述当前账号在预定社区的一度好友及一度好友的一度好友的存储服务器发送请求,所述存储服务器查询当前账号及其一度好友在所述预定社区内的一度好友。
2.根据权利要求1所述的二度好友查询系统,其特征在于,所述计算服务器接到的当前账号二度好友查询命令包含在指定社区内进行查询的信息,与当前账号对应的存储服务器综合查询当前账号在所述指定社区内的一度好友,与当前账号一度好友对应的存储服务器综合查询当前账号一度好友在所述指定社区内的一度好友。
3.根据权利要求1或2所述的二度好友查询系统,其特征在于,所述计算服务器还将当前账号的一度好友与二度好友进行对比,得到当前账号与其一度好友的共同好友。
4.根据权利要求3所述的二度好友查询系统,其特征在于,所述计算服务器还将所查得的当前账号的一度好友、二度好友及所述共同好友返回至所述二度好友查询命令的发送方。
5.一种二度好友查询方法,其特征在于,包括以下步骤:
预存所有账号的一度好友;
接收当前账号二度好友查询命令,根据该命令从预存的所有账号的一度好友中查询当前账号的一度好友;
待返回当前账号的一度好友后,从预存的所有账号的一度好友中实时查询当前账号每个一度好友的一度好友,得到当前账号的二度好友;
其中,将所述所有账号的一度好友分布式预存于多个存储模块,并记录账号与所述存储模块的对应关系;
接到所述当前账号二度好友查询命令后,查找所述对应关系,从当前账号对应的存储模块中查询当前账号的一度好友;
查到所述当前账号的一度好友后,查找所述对应关系,从每个所述一度好友对应的存储模块中查询该一度好友的一度好友,得到所述当前账号的二度好友;
所述步骤预存所有账号的一度好友中,所预存的一度好友为所有账号在预定社区内的一度好友,查询当前账号的一度好友及其每个一度好友的一度好友时,在所述预定社区内综合查询,记录的所述对应关系为存储模块、账号和社区的对应关系;
在预定社区内综合查询中,接到所述当前账号二度好友查询命令后,查找所述对应关系,从当前账号与特定社区对应的存储模块中查询当前账号的一度好友,查到当前账号的一度好友后,再次查找所述对应关系,从每个所述一度好友与特定社区对应的存储模块中查询该一度好友的一度好友,得到当前账号的二度好友。
6.根据权利要求5所述的二度好友查询方法,其特征在于,所述当前账号二度好友查询命令包含在指定社区进行查询的信息,查询当前账号一度好友及每个一度好友的一度好友时,在所述指定社区内综合查询。
7.根据权利要求5或6所述的二度好友查询方法,其特征在于,还包括步骤:将当前账号的一度好友与二度好友进行对比,得到当前账号与其一度好友的共同好友。
8.根据权利要求7所述的二度好友查询方法,其特征在于,还包括步骤:
将所查得的当前账号的一度好友、二度好友及所述共同好友返回至所述二度好友查询命令的发送方。
9.一种二度好友查询装置,其特征在于,包括计算模块和存储模块,
所述存储模块存储每个账号的一度好友,所述计算模块接到当前账号二度好友查询命令后,先向所述存储模块发送当前账号一度好友查询请求,所述存储模块从所存储的每个账号的一度好友中查询并返回当前账号的一度好友,所述计算模块再向所述存储模块发送所返回当前账号每个一度好友的一度好友查询请求,所述存储模块从所存储的每个账号的一度好友中查询并返回当前账号每个一度好友的一度好友,所述计算模块得到当前账号的二度好友;
本装置包含多个所述存储模块,每个所述存储模块存储部分账号的一度好友,所述计算模块记录存储模块与账号的对应关系,接到当前账号二度好友查询命令后,查询记录并向当前账号对应的存储模块发送当前账号一度好友查询请求,所述存储模块返回当前账号的一度好友后,所述计算模块再次查询记录并向当前账号每个一度好友对应的存储模块发送当前账号每个一度好友的一度好友查询请求;
所述存储模块所存储的一度好友为部分账号在预定社区的一度好友,所述存储模块综合查询当前账号及其一度好友在所述预定社区内的一度好友,记录的所述对应关系为存储服务器、账号和社区的对应关系,所述计算模块接到所述当前账号二度好友查询命令后,查找所述对应关系,向存有所述当前账号在预定社区的一度好友及一度好友的一度好友的存储服务器发送请求,所述存储服务器查询当前账号及其一度好友在所述预定社区内的一度好友。
10.根据权利要求9所述的二度好友查询装置,其特征在于,所述计算模块接到的当前账号二度好友查询命令包含在指定社区内进行查询的信息,与当前账号对应的存储模块综合查询当前账号在所述指定社区内的一度好友,与当前账号一度好友对应的存储模块综合查询当前账号一度好友在所述指定社区内的一度好友。
11.根据权利要求9或10所述的二度好友查询装置,其特征在于,所述计算模块还将当前账号的一度好友与二度好友进行对比,得到当前账号与其一度好友的共同好友。
12.根据权利要求11所述的二度好友查询装置,其特征在于,所述计算模块还将所查得的当前账号的一度好友、二度好友及所述共同好友返回至所述二度好友查询命令的发送方。
CN201210531942.3A 2012-12-11 2012-12-11 二度好友查询系统、方法与装置 Active CN103870471B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210531942.3A CN103870471B (zh) 2012-12-11 2012-12-11 二度好友查询系统、方法与装置
PCT/CN2013/086698 WO2014090058A1 (zh) 2012-12-11 2013-11-07 二度好友查询系统、方法及存储介质
US14/736,410 US10025859B2 (en) 2012-12-11 2015-06-11 Method and system for second-degree friend query
US16/007,181 US10810269B2 (en) 2012-12-11 2018-06-13 Method and system for second-degree friend query

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210531942.3A CN103870471B (zh) 2012-12-11 2012-12-11 二度好友查询系统、方法与装置

Publications (2)

Publication Number Publication Date
CN103870471A CN103870471A (zh) 2014-06-18
CN103870471B true CN103870471B (zh) 2018-01-05

Family

ID=50909015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210531942.3A Active CN103870471B (zh) 2012-12-11 2012-12-11 二度好友查询系统、方法与装置

Country Status (3)

Country Link
US (2) US10025859B2 (zh)
CN (1) CN103870471B (zh)
WO (1) WO2014090058A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10191948B2 (en) * 2015-02-27 2019-01-29 Microsoft Technology Licensing, Llc Joins and aggregations on massive graphs using large-scale graph processing
CN104966241A (zh) * 2015-07-10 2015-10-07 成都品果科技有限公司 一种小成本计算拥有共同好友的好友方法
CN112329899B (zh) * 2018-03-12 2022-09-13 重庆文理学院 一种高效准确的防走失定位方法
CN110674413B (zh) * 2019-09-09 2022-03-25 平安科技(深圳)有限公司 用户关系挖掘方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237426A (zh) * 2008-03-06 2008-08-06 腾讯科技(深圳)有限公司 好友添加装置及方法
CN101968818A (zh) * 2010-11-08 2011-02-09 北京开心人信息技术有限公司 一种社交网站中向用户推荐好友的方法及系统
CN101976263A (zh) * 2010-11-16 2011-02-16 北京开心人信息技术有限公司 一种社交网站中用户向好友推荐好友的方法及系统
CN102710556A (zh) * 2012-06-28 2012-10-03 奇智软件(北京)有限公司 即时通信好友的添加方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120619B2 (en) * 2003-04-22 2006-10-10 Microsoft Corporation Relationship view
US7269590B2 (en) * 2004-01-29 2007-09-11 Yahoo! Inc. Method and system for customizing views of information associated with a social network user
US10007895B2 (en) * 2007-01-30 2018-06-26 Jonathan Brian Vanasco System and method for indexing, correlating, managing, referencing and syndicating identities and relationships across systems
US20120158720A1 (en) * 2008-04-29 2012-06-21 Microsoft Corporation Social network powered search enhancements
US20100132049A1 (en) * 2008-11-26 2010-05-27 Facebook, Inc. Leveraging a social graph from a social network for social context in other systems
CN101883127A (zh) * 2009-09-01 2010-11-10 联想(北京)有限公司 接收、查看、转发网络发布信息的方法和电子设备
US8239364B2 (en) * 2009-12-08 2012-08-07 Facebook, Inc. Search and retrieval of objects in a social networking system
US8244848B1 (en) * 2010-04-19 2012-08-14 Facebook, Inc. Integrated social network environment
US20120124150A1 (en) * 2010-11-11 2012-05-17 Samsung Electronics Co., Ltd. Intelligent network communication system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237426A (zh) * 2008-03-06 2008-08-06 腾讯科技(深圳)有限公司 好友添加装置及方法
CN101968818A (zh) * 2010-11-08 2011-02-09 北京开心人信息技术有限公司 一种社交网站中向用户推荐好友的方法及系统
CN101976263A (zh) * 2010-11-16 2011-02-16 北京开心人信息技术有限公司 一种社交网站中用户向好友推荐好友的方法及系统
CN102710556A (zh) * 2012-06-28 2012-10-03 奇智软件(北京)有限公司 即时通信好友的添加方法及装置

Also Published As

Publication number Publication date
US20150278364A1 (en) 2015-10-01
US10810269B2 (en) 2020-10-20
CN103870471A (zh) 2014-06-18
WO2014090058A1 (zh) 2014-06-19
US10025859B2 (en) 2018-07-17
US20180293316A1 (en) 2018-10-11

Similar Documents

Publication Publication Date Title
CN110166409A (zh) 设备接入方法、相关平台及计算机存储介质
CN106572054B (zh) 分布式系统中分布式锁服务实现方法以及装置
CN103596066B (zh) 一种数据处理方法及装置
CN103685590B (zh) 获取ip地址的方法及系统
CN101771723A (zh) 数据同步方法
CN103324487B (zh) 一种流程引擎应用服务化的实现方法
CN104794249A (zh) 一种数据库的实现方法和设备
CN103870471B (zh) 二度好友查询系统、方法与装置
AU2012228693A1 (en) Method and system for synchronization mechanism on multi-server reservation system
CN107784044A (zh) 表数据查询方法及装置
CN103024053A (zh) 云存储方法、资源调度系统、云存储节点及系统
CN104809601A (zh) 基于电子地图的快递互助系统
CN101116313B (zh) 为覆盖网络中的节点确定最高工作负荷
CN105208090A (zh) 一种基于Zookeeper实现Leader选举的方法
CN102868770A (zh) 一种分配接口的方法、设备及系统
CN109104406A (zh) 一种在线客服管理方法、装置、服务器及存储介质
CN105814864B (zh) 一种输入输出io请求处理方法及文件服务器
EP2091184A1 (en) Method and system for publishing the content, method and system for querying the content
CN103229480A (zh) 分布式存储系统中的数据处理方法及设备、客户端
CN106446050A (zh) 一种针对数据库的变化数据进行订阅的方法及系统
CN100396002C (zh) 一种利用关联查询进行鉴权的系统及其方法
CN110311855B (zh) 用户消息处理方法、装置、电子设备及存储介质
CN103441860A (zh) 一种互联网业务的推荐方法以及装置
CN111460038A (zh) 一种数据准实时同步方法及装置
CN101789963A (zh) 数据同步系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant