CN102567382A - 一种搜索方法、搜索服务器及电子设备 - Google Patents
一种搜索方法、搜索服务器及电子设备 Download PDFInfo
- Publication number
- CN102567382A CN102567382A CN2010106109372A CN201010610937A CN102567382A CN 102567382 A CN102567382 A CN 102567382A CN 2010106109372 A CN2010106109372 A CN 2010106109372A CN 201010610937 A CN201010610937 A CN 201010610937A CN 102567382 A CN102567382 A CN 102567382A
- Authority
- CN
- China
- Prior art keywords
- user
- chain
- searched
- server
- information
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种搜索方法、搜索服务器及电子设备,该搜索方法包括:根据请求发起用户通过电子设备提供的用户搜索条件确定待搜索用户;根据预先保存的用户关联关系计算从所述请求发起用户到所述待搜索用户的第一用户链;向所述第一用户链中所有第一用户对应的电子设备发送第一询问消息;所述第一用户为所述第一用户链中除所述请求发起用户和所述待搜索用户之外的其他用户;接收所有第一用户对应的电子设备返回的第一响应消息;在预设条件满足时,向所述请求发起用户对应的电子设备返回所述待搜索用户的用户信息;所述预设条件满足至少包括所有第一响应消息均指示愿意提供搜索协助。本发明提高了用户联系人信息的利用效率,方便了用户。
Description
技术领域
本发明涉及信息技术领域,特别是一种搜索方法、搜索服务器及电子设备。
背景技术
目前不管是在手机,还是在电脑还是在其他的电子设备中,用户都具有各自的联系人,但是如果用户A不知道用户C的联系方式,用户就无法通过电子设备与用户C取得联系。
但假定用户B同时是用户A和用户C的好友,如果用户A知道上述情况的话,是可以从用户B获得用户C的用户信息的,但很多情况下,尤其是在中间隔了很多层的情况下,用户A都不会知道上述情况,就无法得到用户C的信息,导致现有的信息没有得到有效的利用。
发明内容
本发明的目的是提供一种搜索方法、搜索服务器及电子设备,使得用户的联系人信息能够得到有效的利用。
为了实现上述目的,本发明实施例提供了一种搜索方法,包括:
根据请求发起用户通过电子设备提供的用户搜索条件确定待搜索用户;
根据预先保存的用户关联关系计算从所述请求发起用户到所述待搜索用户的第一用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户;
向所述第一用户链中所有第一用户对应的电子设备发送第一询问消息;所述第一用户为所述第一用户链中除所述请求发起用户和所述待搜索用户之外的其他用户;
接收所有第一用户对应的电子设备在接收到所述第一询问消息后返回的第一响应消息;
在预设条件满足时,向所述请求发起用户对应的电子设备返回所述待搜索用户的用户信息;
所述预设条件满足至少包括所有第一响应消息均指示愿意提供搜索协助。
上述的搜索方法,其中,还包括:
向所述待搜索用户对应的电子设备发送第二询问消息;
接收所述待搜索用户对应的电子设备在接收到所述第二询问消息后返回的第二响应消息;
所述预设条件满足还包括第二响应消息指示所述待搜索用户愿意提供用户信息。
上述的搜索方法,其中,所述根据请求发起用户通过电子设备提供的用户搜索条件确定待搜索用户具体包括:
获得请求发起用户通过电子设备提供的用户搜索条件;
根据预先保存的用户信息确定满足所述用户搜索条件的用户集合;
在所述用户集合中包括多个用户时,将所述用户集合中的用户提供给用户选择,并确定请求发起用户选择的用户为所述待搜索用户。
上述的搜索方法,其中,所述第一用户链为用户链集合中具有最少用户的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户。
上述的搜索方法,其中,所述第一用户链为用户链集合中具有最大权重的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户。
上述的搜索方法,其中,还包括:
在所述预设条件不满足时,且还存在与第一用户链不同的第二用户链时,利用所述第二用户链中的用户为所述请求发起用户搜索所述待搜索用户的用户信息,所述第二用户链中任意两个相邻的用户中,后一用户为前一用户的关联用户。
上述的搜索方法,其中,还包括:
在所述请求发起用户和所述待搜索用户建立关联关系后,更新所述用户关联关系。
上述的搜索方法,其中,每一个第一用户对应的第一询问消息中包括所述第一用户链中的所述第一用户的前一相邻用户的用户信息和后一相邻用户的用户信息。
为了实现上述目的,本发明实施例提供了一种服务器,包括:
保存模块,用于保存一用户信息数据以及用户关联关系;
待搜索用户确定模块,用于根据请求发起用户通过电子设备提供的用户搜索条件确定待搜索用户;
第一用户链确定模块,用于根据所述用户关联关系计算从所述请求发起用户到所述待搜索用户的第一用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户;
第一发送模块,用于向所述第一用户链中所有第一用户对应的电子设备发送第一询问消息;所述第一用户为所述第一用户链中除所述请求发起用户和所述待搜索用户之外的其他用户;
第一接收模块,接收所有第一用户对应的电子设备在接收到所述第一询问消息后返回的第一响应消息;
信息返回模块,用于在预设条件满足时,向所述请求发起用户对应的电子设备返回所述待搜索用户的用户信息;
所述预设条件满足至少包括所有第一响应消息均指示愿意提供搜索协助。
上述的服务器,其中,还包括:
第二发送模块,用于向所述待搜索用户对应的电子设备发送第二询问消息;
第二接收模块,用于接收所述待搜索用户对应的电子设备在接收到所述第二询问消息后返回的第二响应消息;
所述预设条件满足还包括第二响应消息指示所述待搜索用户愿意提供用户信息。
上述的服务器,其中,所述待搜索用户确定模块具体包括:
获得单元,用于获得请求发起用户通过电子设备提供的用户搜索条件;
用户集合确定单元,用于根据所述保存模块保存的用户信息数据确定满足所述用户搜索条件的用户集合;
待搜索用户确定单元,用于在所述用户集合中包括多个用户时,将所述用户集合中的用户提供给用户选择,并确定请求发起用户选择的用户为所述待搜索用户。
上述的服务器,其中,所述第一用户链为用户链集合中具有最少用户的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户。
上述的服务器,其中,所述第一用户链为用户链集合中具有最大权重的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户。
上述的服务器,其中,还包括:
在所述预设条件不满足时,且还存在与第一用户链不同的第二用户链时,利用所述第二用户链中的用户为所述请求发起用户搜索所述待搜索用户的用户信息,所述第二用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户。
为了实现上述目的,本发明实施例提供了一种第一电子设备,包括:
上传模块,用于向服务器上传联系人信息,供服务器建立用户关联关系;
第三接收模块,用于从服务器接收一询问消息;
所述第一电子设备对应的用户为第一用户链中的用户,所述第一用户链是所述服务器确定待搜索用户后,根据所述用户关联关系计算得到的从所述请求发起用户到所述待搜索用户的用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户;所述第一电子设备对应的用户为所述第一用户链中除所述请求发起用户和所述待搜索用户之外的其他用户;
第三发送模块,用于向服务器发送对应于所述第一询问消息的第一响应消息,所述第一响应消息用于指示是否愿意提供搜索协助。
为了实现上述目的,本发明实施例提供了一种第二电子设备,包括:
上传模块,用于向服务器上传联系人信息,供服务器建立用户关联关系;
第四发送模块,用于向服务器发送一用户搜索条件,供所述服务器根确定一待搜索用户;
第四接收模块,用于接收所述服务器在预设条件满足时返回的所述待搜索用户的用户信息;
所述预设条件满足至少包括所有第一响应消息均指示愿意提供搜索协助;
所述第一响应消息为第一用户对应的电子设备在接收到第一询问消息后返回的第一响应消息;
所述第一用户为第一用户链中除所述第二电子设备对应的请求发起用户和所述待搜索用户之外的其他用户;
所述第一用户链为所述服务器根据用户关联关系得到的从所述请求发起用户到所述待搜索用户的用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户。
本发明实施例具有以下的有益效果:
本发明实施例的搜索方法、搜索服务器及电子设备中,由服务器根据用户设备中保存的联系人信息预先建立并保存一用户关联关系,在其他用户的联系人列表中不包括一待搜索用户,而需要搜索某一用户的用户信息时,服务器计算一用户链,用户链中任意两个相邻的用户具有关联关系,在用户链中的用户都愿意提供协助的情况下,可以将待搜索用户的用户信息提供给搜索发起用户,在发起用户自身的通信录没有待搜索用户时,可以根据所有用户的通信录得到用户关联关系来找到一条得到该待搜索用户的链条,进而为发起用户提供待搜索用户的用户信息,因此提高了用户联系人信息的利用效率,方便了用户,同时也没有违背用户的意愿。
附图说明
图1为本发明实施例的方法的流程示意图;
图2为用户关联关系的拓扑示意图。
具体实施方式
本发明实施例的搜索方法、搜索服务器及电子设备中,由服务器根据用户设备中保存的联系人信息预先建立并保存一用户关联关系,在其他用户的联系人列表中不包括一待搜索用户,而需要搜索某一用户的用户信息时,服务器计算一用户链,用户链中任意两个相邻的用户具有关联关系,在用户链中的用户都愿意提供协助的情况下,可以将待搜索用户的用户信息提供给搜索发起用户,上述信息的提供提高了用户联系人信息的利用效率,方便了用户,同时也没有违背用户的意愿。
本发明实施例的搜索方法如图1所示,包括:
根据请求发起用户通过电子设备提供的用户搜索条件确定待搜索用户;
根据预先保存的用户关联关系计算从所述请求发起用户到所述待搜索用户的第一用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户;
向所述第一用户链中所有第一用户对应的电子设备发送第一询问消息;所述第一用户为所述第一用户链中除所述请求发起用户和所述待搜索用户之外的其他用户;
接收所有第一用户对应的电子设备在接收到所述第一询问消息后返回的第一响应消息;
在预设条件满足时,向所述请求发起用户对应的电子设备返回所述待搜索用户的用户信息;
所述预设条件满足至少包括所有第一响应消息均指示愿意提供搜索协助。
在本发明具体实施例中,首先需要根据用户搜索条件确定待搜索用户,在此,该用户搜索条件可以是各种各样的条件,其中可以包括用户姓名(如张三)、工作单位(如联想)、年龄(如30)等各种各样的条件,服务器可以根据预先保存的用户信息数据来确定待搜索用户,当然,用户提供的信息越多,则搜索结果越准确。
确定待搜索用户的具体实现过程如下所述:
获得请求发起用户通过电子设备提供的用户搜索条件;
根据预先保存的用户信息确定满足所述用户搜索条件的用户集合;
在所述用户集合中包括多个用户时,将所述用户集合中的用户提供给用户选择,并确定请求发起用户选择的用户为所述待搜索用户。
当然,如果用户集合中只有一个用户时,则直接将该用户确定为所述待搜索用户即可。而用户集合中如果没有用户时,则返回搜索失败的提示,或者提示用户更新用户搜索条件以重新进行处理。
在确定了待搜索用户之后,在本发明具体实施例中,就需要利用用户关联关系来计算用户链,在此,先对用户关联关系进行详细说明。
在本发明具体实施例中,该用户关联关系是由用户利用电子设备上报的联系人信息得到的,举例说明如下。
假定有10个用户X1、...、X10,这10个用户的联系人列表中的用户如下所示:
X1:X2
X2:X1、X3
X3:X2、X4、X6
X4:X1、X7
X5:X3、X4、X7、X9、X10
X6:X5、X7、X8、X9
X7:X1、X6、
X8:X2、X3、X6、X10
X9:X7、X8
X10:X1、X5、X7、X9
应当理解的是,从以上的联系人信息可以发现,X1的联系人列表中有X3,但X3的列表中并没有X1,这种情况是常见的。
同时,应当理解的是,上述的联系人可以是各种各样的联系人,如手机通信簿、即时通信软件中的联系人、邮件客户端中的联系人等,这些联系人只不过表现形式不一样,但他们都具有唯一的标识,如在手机通信簿中其标识是电话号码、在即时通信软件中是其注册帐号(如QQ号码、注册MSN的邮件地址等),而在邮件客户端中为邮件地址。
则根据以上的联系人信息得到的用户关联关系如下所示:
在建立上述关联关系之后,就需要根据以上的关联关系来查找从请求发起用户到待搜索用户的第一用户链。
如图2所示,将每一个用户作为一个节点,与之具有关联关系的节点形成一条有向路径,则上表的关联关系可以转变为图2所示的图,则获取第一用户链就可以转变为图论研究中的一个经典问题,寻找图中两结点之间的路径。
结合图2所示,其中一种寻找路径的方式实现过程如下:
确定起始节点(发起用户);
将与起始节点间具有关联关系的节点作为起始节点的子节点A1;
寻找所有与子节点A1具有关联关系的节点A2,将A2作为A1的子节点;
寻找所有与子节点A2具有关联关系的节点A3,将A3作为A2的子节点;
以上过程中,之前已经在树中出现的节点丢弃即可,如寻找X4的子节点时,X1与X4具有关联关系,但X1之前已经出现,此时可以丢弃。
重复以上过程,建立了节点之间的树型结构关系后,即可得到所有的起始节点(发起用户)到目标节点(待搜索用户)之间的路径,之后即可按照一定的策略来选择供后续使用。
以X1为请求发起用户,而X10待搜索用户为例,则第一用户链为:
X1-X2-X3-X4-X7-X6-X5-X9;或
X1-X2-X3-X4-X7-X6-X5-X10;或
X1-X2-X3-X4-X7-X6-X8-X10;或
X1-X2-X3-X4-X7-X6-X9-X8-X10;或
X1-X2-X3-X6-X5-X10;或
X1-X2-X3-X6-X8-X10;或
X1-X2-X3-X6-X9-X8-X10。
从以上描述可以发现,对于请求发起用户和待搜索用户而言,第一用户链可能存在多条,在本发明的具体实施例中,服务器可以选择任一条来执行后续的操作。
由于在后续的操作中,需要向处于用户链中间的用户发送询问消息,为了减少信息的发送量,同时也减少对用户的干扰,在本发明实施例中,所述第一用户链为用户链集合中具有最少用户的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户,则按照上述原则,选择的用户链为X1-X2-X3-X6-X5-X10;或X1-X2-X3-X6-X8-X10。服务器可以选择任意一条来进行后续操作。
对于具有最少用户的用户链的获取,可以采用Dijkstra算法、A*算法、SPFA算法、Bellman-Ford算法以及Floyd-Warshall算法等来处理,也可以采用通信路由、导航等技术领域的其他算法,其本质都是相同的,都是在已知起点和终点的情况下,求解两结点之间的路径,其差别仅在于考虑因素的差异,因此在此仅以Dijkstra算法进行简单说明。
Dijkstra算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径,在本发明的具体实施例中,在仅考虑跳数最少时,具有关联关系的两个节点间的权值设置为相同,Dijkstra算法会以请求发起用户为中心向外层层扩展,直到扩展到待搜索用户为止,而扩展过程中经历的节点按照顺序即可组成该用户链,最终选择跳数最少的即可。Dijkstra算法的实质是一种遍历算法。
以上的方案仅仅考虑了跳数最少,但在某些情况下,根据该链条来进行后续处理,能够向所述请求发起用户对应的电子设备返回所述待搜索用户的用户信息的可能性可能非常小,说明如下。
假定得到如下的两条链条:
张三-李四-王五-赵六。
张三-李四-钱七-赵六。
而每一个联系人列表中包括几个子列表,好友关系列表、亲友关系列表、同事关系列表和普通朋友关系列表,当王五是李四的普通朋友列表中的用户时,但钱七是李四的好友关系列表中的用户时,很明显,钱七愿意提供搜索协助的可能性会高于王五愿意提供搜索协助的可能性,也就是说采用张三-李四-钱七-赵六这个用户链会更加容易成功。
因此,在本发明的具体实施例中,为每一种关联关系设置一个权值,而所述第一用户链为用户链集合中具有最大权重的用户链,这也是可以采用Dijkstra算法来执行,只不过差别点在于,具有关联关系的两个节点间的权值与其实际的关联关系有关,如亲友关联关系的权值大于普通朋友关联关系的权值,这样,不同的用户链就会有不同的权值,最后选择权重最大的用户链即可,以尽可能保证请求发起用户能够得到待搜索用户的用户信息。
在本发明的具体实施例中,实际上是为一个用户提供另外一个他不知道的用户的用户信息,虽然该用户链确实存在,通过实际交流的询问也可能能够询问到,但需要考虑到用户隐私问题,因此,服务器需要向所述第一用户链中所有第一用户对应的电子设备发送第一询问消息,来确认用户是否愿意提供搜索协助。
如前所述的例子,当王五是李四的普通朋友列表中的用户时,他就很有可能不愿意为提供赵六的用户信息提供协助,如果此时,服务器直接向请求发起用户返回所述待搜索用户的用户信息,则明显违反了用户的意愿,因此,在服务器需要向所述第一用户链中所有第一用户对应的电子设备发送第一询问消息,只有在所有的响应消息均指示愿意提供搜索协助,才能够向请求发起用户返回所述待搜索用户的用户信息。
在本发明的具体实施例中,每一个第一用户对应的第一询问消息中包括所述第一用户链中的所述第一用户的前一相邻用户的用户信息和后一相邻用户的用户信息,以供用户更好的决定是否愿意提供协助。
以张三-李四-钱七-赵六这个用户链为例,向李四的用户设备发送的询问消息包括:张三的用户信息和钱七的用户信息,表示张三希望通过李四寻找钱七,李四是否愿意提供协助,此时李四就可以根据与张三和钱七的关系来决定是否愿意提供协助,如果愿意,则返回指示愿意提供搜索协助的响应消息,否则返回不愿意提供搜索协助的响应消息,该响应消息的格式与现有技术中的各种询问消息的格式并无不同,在此不作详细描述。
当然,在所述预设条件不满足时,也就是部分或全部处于用户链中间的用户不愿意提供搜索协助时,并不表示搜索就失败了,因为在之前已经提到,用户链有多条,同时,在关联关系发生变化的情况下,即使之前不愿意提供协助的用户也有可能转变意愿,因此,如果还存在与第一用户链不同的第二用户链时,则可以利用所述第二用户链中的用户为所述请求发起用户搜索所述待搜索用户的用户信息,所述第二用户链中任意两个相邻的用户中,后一用户为前一用户的关联用户。
当然,本发明实施例是向所述请求发起用户提供待搜索用户的用户信息,为了进一步不违背用户的意愿,还可以征求待搜索用户的意见,因此在本发明的具体实施例中,该搜索方法还包括:
向所述待搜索用户对应的电子设备发送第二询问消息;
接收所述待搜索用户对应的电子设备在接收到所述第二询问消息后返回的第二响应消息;
所述预设条件满足还包括第二响应消息指示所述待搜索用户愿意提供用户信息。
也就是说,只有在用户链中间的用户愿意提供协助,而待搜索用户也愿意提供自己的用户信息的情况下,服务器才能所述请求发起用户提供待搜索用户的用户信息。
当然,该第二询问消息包括请求发起用户的用户信息,还可以包括该用户链中该待搜索用户的前一相邻用户的用户信息,供待搜索用户判断是否提供自己的用户信息。
当然,为了保证数据的实时性和准确性,在所述请求发起用户和所述待搜索用户建立关联关系(如加为好友)后,服务器需要更新所述用户关联关系。
本发明实施例的服务器,包括:
保存模块,用于保存一用户信息数据以及用户关联关系;
待搜索用户确定模块,用于根据请求发起用户通过电子设备提供的用户搜索条件确定待搜索用户;
第一用户链确定模块,用于根据所述用户关联关系计算从所述请求发起用户到所述待搜索用户的第一用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户;
第一发送模块,用于向所述第一用户链中所有第一用户对应的电子设备发送第一询问消息;所述第一用户为所述第一用户链中除所述请求发起用户和所述待搜索用户之外的其他用户;
第一接收模块,接收所有第一用户对应的电子设备在接收到所述第一询问消息后返回的第一响应消息;
信息返回模块,用于在预设条件满足时,向所述请求发起用户对应的电子设备返回所述待搜索用户的用户信息;
所述预设条件满足至少包括所有第一响应消息均指示愿意提供搜索协助。
上述的服务器,其中,还包括:
第二发送模块,用于向所述待搜索用户对应的电子设备发送第二询问消息;
第二接收模块,用于接收所述待搜索用户对应的电子设备在接收到所述第二询问消息后返回的第二响应消息;
所述预设条件满足还包括第二响应消息指示所述待搜索用户愿意提供用户信息。
上述的服务器,其中,所述待搜索用户确定模块具体包括:
获得单元,用于获得请求发起用户通过电子设备提供的用户搜索条件;
用户集合确定单元,用于根据所述保存模块保存的用户信息数据确定满足所述用户搜索条件的用户集合;
待搜索用户确定单元,用于在所述用户集合中包括多个用户时,将所述用户集合中的用户提供给用户选择,并确定请求发起用户选择的用户为所述待搜索用户。
上述的服务器,其中,所述第一用户链为用户链集合中具有最少用户的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户。
上述的服务器,其中,所述第一用户链为用户链集合中具有最大权重的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户。
上述的服务器,其中,还包括:
在所述预设条件不满足时,且还存在与第一用户链不同的第二用户链时,利用所述第二用户链中的用户为所述请求发起用户搜索所述待搜索用户的用户信息,所述第二用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户。
本发明实施例的第一电子设备,包括:
上传模块,用于向服务器上传联系人信息,供服务器建立用户关联关系;
第三接收模块,用于从服务器接收一询问消息;
所述第一电子设备对应的用户为第一用户链中的用户,所述第一用户链是所述服务器确定待搜索用户后,根据预先保存的用户关联关系计算得到的从所述请求发起用户到所述待搜索用户的用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户;所述第一电子设备对应的用户为所述第一用户链中除所述请求发起用户和所述待搜索用户之外的其他用户;
第三发送模块,用于向服务器发送对应于所述第一询问消息的第一响应消息,所述第一响应消息用于指示是否愿意提供搜索协助。
本发明实施例的第二电子设备,包括:
上传模块,用于向服务器上传联系人信息,供服务器建立用户关联关系;
第四发送模块,用于向服务器发送一用户搜索条件,供所述服务器根确定一待搜索用户;
第四接收模块,用于接收所述服务器在预设条件满足时返回的所述待搜索用户的用户信息;
所述预设条件满足至少包括所有第一响应消息均指示愿意提供搜索协助;
所述第一响应消息为第一用户对应的电子设备在接收到第一询问消息后返回的第一响应消息;
所述第一用户为第一用户链中除所述第二电子设备对应的请求发起用户和所述待搜索用户之外的其他用户;
所述第一用户链为从所述请求发起用户到所述待搜索用户的用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户。
当然,第二电子设备在向服务器发送一用户搜索条件时,如果服务器中没有该第二电子设备对应的用户(搜索发起用户)的联系人信息,但由于服务器得到的用户链中的第二个用户一定是搜索发起用户的关联用户(即第二电子设备的联系人列表中的用户),所以在这种情况下,第二电子设备需要向服务器上传联系人信息,供服务器更新用户关联关系,否则服务器无法得到用户链,也就无法返回待搜索用户的用户信息。
当然,第二电子设备也可能在本次发起搜索请求之前已经上传了联系人信息,可能是主动上传,也可能是基于服务器的请求上传,此时,服务器直接进行后续处理即可。
当然,之前的第一电子设备也需要向服务器上传联系人信息,上传可以是主动上传,也可以是基于服务器的请求上传。
如以之前的举例为例,X1用户请求进行用户搜索时,需要提供X2的用户信息及关联关系(如属于亲友还是好友还是普通朋友等)。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种搜索方法,其特征在于,包括:
根据请求发起用户通过电子设备提供的用户搜索条件确定待搜索用户;
根据预先保存的用户关联关系计算从所述请求发起用户到所述待搜索用户的第一用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户;
向所述第一用户链中所有第一用户对应的电子设备发送第一询问消息;所述第一用户为所述第一用户链中除所述请求发起用户和所述待搜索用户之外的其他用户;
接收所有第一用户对应的电子设备在接收到所述第一询问消息后返回的第一响应消息;
在预设条件满足时,向所述请求发起用户对应的电子设备返回所述待搜索用户的用户信息;
所述预设条件满足至少包括所有第一响应消息均指示愿意提供搜索协助。
2.根据权利要求1所述的搜索方法,其特征在于,还包括:
向所述待搜索用户对应的电子设备发送第二询问消息;
接收所述待搜索用户对应的电子设备在接收到所述第二询问消息后返回的第二响应消息;
所述预设条件满足还包括第二响应消息指示所述待搜索用户愿意提供用户信息。
3.根据权利要求1或2所述的搜索方法,其特征在于,所述根据请求发起用户通过电子设备提供的用户搜索条件确定待搜索用户具体包括:
获得请求发起用户通过电子设备提供的用户搜索条件;
根据预先保存的用户信息确定满足所述用户搜索条件的用户集合;
在所述用户集合中包括多个用户时,将所述用户集合中的用户提供给用户选择,并确定请求发起用户选择的用户为所述待搜索用户。
4.根据权利要求1所述的搜索方法,其特征在于,所述第一用户链为用户链集合中具有最少用户的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户。
5.根据权利要求1所述的搜索方法,其特征在于,所述第一用户链为用户链集合中具有最大权重的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户。
6.根据权利要求4或5所述的搜索方法,其特征在于,还包括:
在所述预设条件不满足时,且还存在与第一用户链不同的第二用户链时,利用所述第二用户链中的用户为所述请求发起用户搜索所述待搜索用户的用户信息,所述第二用户链中任意两个相邻的用户中,后一用户为前一用户的关联用户。
7.根据权利要求1或2所述的搜索方法,其特征在于,还包括:
在所述请求发起用户和所述待搜索用户建立关联关系后,更新所述用户关联关系。
8.根据权利要求1所述的搜索方法,其特征在于,每一个第一用户对应的第一询问消息中包括所述第一用户链中的所述第一用户的前一相邻用户的用户信息和后一相邻用户的用户信息。
9.一种服务器,其特征在于,包括:
保存模块,用于保存一用户信息数据以及用户关联关系;
待搜索用户确定模块,用于根据请求发起用户通过电子设备提供的用户搜索条件确定待搜索用户;
第一用户链确定模块,用于根据所述用户关联关系计算从所述请求发起用户到所述待搜索用户的第一用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户;
第一发送模块,用于向所述第一用户链中所有第一用户对应的电子设备发送第一询问消息;所述第一用户为所述第一用户链中除所述请求发起用户和所述待搜索用户之外的其他用户;
第一接收模块,接收所有第一用户对应的电子设备在接收到所述第一询问消息后返回的第一响应消息;
信息返回模块,用于在预设条件满足时,向所述请求发起用户对应的电子设备返回所述待搜索用户的用户信息;
所述预设条件满足至少包括所有第一响应消息均指示愿意提供搜索协助。
10.根据权利要求9所述的服务器,其特征在于,还包括:
第二发送模块,用于向所述待搜索用户对应的电子设备发送第二询问消息;
第二接收模块,用于接收所述待搜索用户对应的电子设备在接收到所述第二询问消息后返回的第二响应消息;
所述预设条件满足还包括第二响应消息指示所述待搜索用户愿意提供用户信息。
11.根据权利要求9或10所述的服务器,其特征在于,所述待搜索用户确定模块具体包括:
获得单元,用于获得请求发起用户通过电子设备提供的用户搜索条件;
用户集合确定单元,用于根据所述保存模块保存的用户信息数据确定满足所述用户搜索条件的用户集合;
待搜索用户确定单元,用于在所述用户集合中包括多个用户时,将所述用户集合中的用户提供给用户选择,并确定请求发起用户选择的用户为所述待搜索用户。
12.根据权利要求9所述的服务器,其特征在于,所述第一用户链为用户链集合中具有最少用户的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户。
13.根据权利要求9所述的服务器,其特征在于,所述第一用户链为用户链集合中具有最大权重的用户链;所述用户链集合中的每一个用户链均从所述请求发起用户指向所述待搜索用户,且任意两个相邻的用户中,后一用户为前一用户的关联用户。
14.根据权利要求12或13所述的服务器,其特征在于,还包括:
在所述预设条件不满足时,且还存在与第一用户链不同的第二用户链时,利用所述第二用户链中的用户为所述请求发起用户搜索所述待搜索用户的用户信息,所述第二用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户。
15.一种第一电子设备,其特征在于,包括:
上传模块,用于向服务器上传联系人信息,供服务器建立用户关联关系;
第三接收模块,用于从服务器接收一询问消息;
所述第一电子设备对应的用户为第一用户链中的用户,所述第一用户链是所述服务器确定待搜索用户后,根据所述用户关联关系计算得到的从所述请求发起用户到所述待搜索用户的用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户;所述第一电子设备对应的用户为所述第一用户链中除所述请求发起用户和所述待搜索用户之外的其他用户;
第三发送模块,用于向服务器发送对应于所述第一询问消息的第一响应消息,所述第一响应消息用于指示是否愿意提供搜索协助。
16.一种第二电子设备,其特征在于,包括:
上传模块,用于向服务器上传联系人信息,供服务器建立用户关联关系;
第四发送模块,用于向服务器发送一用户搜索条件,供所述服务器根确定一待搜索用户;
第四接收模块,用于接收所述服务器在预设条件满足时返回的所述待搜索用户的用户信息;
所述预设条件满足至少包括所有第一响应消息均指示愿意提供搜索协助;
所述第一响应消息为第一用户对应的电子设备在接收到第一询问消息后返回的第一响应消息;
所述第一用户为第一用户链中除所述第二电子设备对应的请求发起用户和所述待搜索用户之外的其他用户;
所述第一用户链为所述服务器根据用户关联关系得到的从所述请求发起用户到所述待搜索用户的用户链,所述第一用户链中的任意两个相邻的用户中,后一用户为前一用户的关联用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106109372A CN102567382A (zh) | 2010-12-17 | 2010-12-17 | 一种搜索方法、搜索服务器及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106109372A CN102567382A (zh) | 2010-12-17 | 2010-12-17 | 一种搜索方法、搜索服务器及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102567382A true CN102567382A (zh) | 2012-07-11 |
Family
ID=46412820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106109372A Pending CN102567382A (zh) | 2010-12-17 | 2010-12-17 | 一种搜索方法、搜索服务器及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567382A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852107A (zh) * | 2005-11-09 | 2006-10-25 | 华为技术有限公司 | 关系信息的公开、获取方法及系统 |
CN101193160A (zh) * | 2006-11-30 | 2008-06-04 | 北京三星通信技术研究有限公司 | 利用手机进行人际关系搜索的方法 |
CN101453472A (zh) * | 2005-11-09 | 2009-06-10 | 华为技术有限公司 | 关系信息的公开、获取方法及系统 |
CN101682655A (zh) * | 2007-05-24 | 2010-03-24 | 索尼爱立信移动通讯股份有限公司 | 联系标识的辅助查找 |
-
2010
- 2010-12-17 CN CN2010106109372A patent/CN102567382A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852107A (zh) * | 2005-11-09 | 2006-10-25 | 华为技术有限公司 | 关系信息的公开、获取方法及系统 |
CN101453472A (zh) * | 2005-11-09 | 2009-06-10 | 华为技术有限公司 | 关系信息的公开、获取方法及系统 |
CN101193160A (zh) * | 2006-11-30 | 2008-06-04 | 北京三星通信技术研究有限公司 | 利用手机进行人际关系搜索的方法 |
CN101682655A (zh) * | 2007-05-24 | 2010-03-24 | 索尼爱立信移动通讯股份有限公司 | 联系标识的辅助查找 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5329939B2 (ja) | コンテキスト検索方法および装置 | |
CN105245632B (zh) | 一种sdn网络中不同网段主机间通信方法 | |
CN107889082B (zh) | 一种利用用户之间社交关系的d2d设备发现方法 | |
US7991858B2 (en) | Method and device for establishing a route | |
EP2612487B1 (en) | Method and arrangement in a peer-to-peer network | |
CN102244670B (zh) | 一种用于p2p文件传输的空闲节点协助方法 | |
CN107135149A (zh) | 一种用于推荐社交用户的方法与设备 | |
CN102571968B (zh) | 云备份系统中的数据定向转发方法 | |
CN101216829B (zh) | 内容搜索系统、设备及其方法 | |
CN104967572B (zh) | 网络访问方法、装置及设备 | |
El Alami et al. | A framework for hotspot support using Wi-Fi direct based device-to-device links | |
CN107835095A (zh) | 一种日志的处理方法及装置 | |
US9521106B2 (en) | Method, system and device for obtaining potential friends information | |
CN102065512A (zh) | 多层网络中区域边界控制的方法、建立连接的方法和系统 | |
CN103166860A (zh) | 一种p2p叠加网络数据迁移的方法和装置 | |
CN102377826A (zh) | 一种对等网络中冷门资源索引的优化放置方法 | |
CN108401040A (zh) | 用于ndn的内容接收方法、内容发送方法、装置及系统 | |
CN102567382A (zh) | 一种搜索方法、搜索服务器及电子设备 | |
CN101409905A (zh) | 一种基于任播方式的移动多跳分组无线网络路由方法 | |
CN115766426A (zh) | 算力资源处理方法及装置、电子设备及可读存储介质 | |
Chilipirea et al. | Social-based routing algorithm for energy preservation in mobile opportunistic networks | |
JP2014230114A (ja) | 通信システム | |
WO2017120797A1 (zh) | 消息转发方法及装置 | |
Liquori et al. | Babelchord: a social tower of dht-based overlay networks | |
CN102082811B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120711 |