CN112149002A - 社交关系链的建立方法、装置、设备及存储介质 - Google Patents
社交关系链的建立方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112149002A CN112149002A CN202011112927.6A CN202011112927A CN112149002A CN 112149002 A CN112149002 A CN 112149002A CN 202011112927 A CN202011112927 A CN 202011112927A CN 112149002 A CN112149002 A CN 112149002A
- Authority
- CN
- China
- Prior art keywords
- information
- chain
- identifier
- relation
- user
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种社交关系链的建立方法、装置、电子设备及计算机可读存储介质;涉及互联网和基于云技术的大数据计算;方法包括:针对第一对象发送的信息,获取所述第一对象的对象标识,并获取对所述信息执行互动操作的多个第二对象的对象标识;基于所述第一对象的对象标识以及所述多个第二对象的对象标识,建立所述第一对象和所述多个第二对象之间的一级关系链;基于对所述信息均执行互动操作的多个第二对象的对象标识,建立对同一信息执行互动操作的多个第二对象之间的二级关系链;将所述一级关系链和所述二级关系链整合得到社交关系链。通过本申请,能够基于大数据快速地建立有效社交关系链。
Description
技术领域
本申请涉及互联网、云技术的大数据计算,尤其涉及一种社交关系链的建立方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网的普及和终端硬件技术的发展进步,用户之间可以通过个人计算机或者手机等终端进行即时通信和内容分享等社交互动。
云技术中的大数据计算在计算互联网的社交关系链中扮演重要着色,通过对海量用户数据的计算,可以挖掘出用户彼此之间的关系,进而构建社交关系链。关系链是向用户提供精准的网络服务(例如好友推荐、信息推荐)的基础,每个用户可以作为社交网络中的一个节点,而两点之间的连线成为一个关系链。
然而,通过手动加好友等方式来建立关系链的速度较慢,而通过将用户与好友的好友直接建立关系链的方式又会造成社交关系链过于泛滥,导致基于社交关系链的互联网服务的定向不准确。
综上,相关技术缺乏高效精准建立社交关系链的有效方案。
发明内容
本申请实施例提供一种社交关系链的建立方法、装置、电子设备及计算机可读存储介质,能够高效精准建立社交关系链。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种社交关系链的建立方法,包括:
针对第一对象发送的信息,获取所述第一对象的对象标识,并获取对所述信息执行互动操作的多个第二对象的对象标识;
基于所述第一对象的对象标识以及所述多个第二对象的对象标识,建立所述第一对象和所述多个第二对象之间的一级关系链;
基于对所述信息均执行互动操作的多个第二对象的对象标识,建立对同一信息执行互动操作的多个第二对象之间的二级关系链;
将所述一级关系链和所述二级关系链整合得到社交关系链。
本申请实施例提供一种社交关系链的建立装置,包括:
获取模块,用于针对第一对象发送的信息,获取所述第一对象的对象标识,并获取对所述信息执行互动操作的多个第二对象的对象标识;
一级关系链建立模块,用于基于所述第一对象的对象标识以及所述多个第二对象的对象标识,建立所述第一对象和所述多个第二对象之间的一级关系链;
二级关系链建立模块,用于基于对所述信息均执行互动操作的多个第二对象的对象标识,建立对同一信息执行互动操作的多个第二对象之间的二级关系链;
整合模块,用于将所述一级关系链和所述二级关系链整合得到社交关系链。
在上述方案中,所述获取模块,还用于接收所述第二对象的终端发送的所述第一对象的标识;其中,所述第一对象的标识是所述第二对象的终端发送的,且是在接收到针对所述信息标识所对应的信息执行的互动操作时发送的;其中,所述第一对象的标识是所述第二对象的终端从所述信息中提取得到的。
在上述方案中,所述获取模块,还用于接收所述第二对象的终端发送的所述第二对象的对象标识和信息标识;其中,所述第二对象的对象标识和所述信息标识是所述第二对象的终端发送的,且是在接收到针对所述信息标识所对应的信息执行的互动操作时发送的;其中,所述信息标识是所述第二对象的终端从所述信息中提取得到的;根据所述信息标识识别出不同的信息,以确定针对每个信息执行互动操作的第二对象的标识。
在上述方案中,所述一级关系链建立模块,还用于针对根据所述信息标识识别出的不同信息中的每个信息执行以下操作:构建第一映射关系,其中,所述第一映射关系包括所述第一对象的对象标识、以及针对所述信息执行互动操作的第二对象的对象标识;在数据库的关系链表中,写入所述第一映射关系,并标记为一级关系链。
在上述方案中,所述二级关系链建立模块,还用于针对根据所述信息标识识别出的不同信息中的每个信息执行以下操作:构建第二映射关系,其中,所述第二映射关系包括对所述信息均执行互动操作的任意两个第二对象的对象标识;将所述第二映射关系写入数据库的关系链表中,并标记为二级关系链。
在上述方案中,所述社交关系链的建立装置还包括:存储模块,用于所述将所述接收到的第二对象的对象标识,存入第一缓存空间中与所述信息标识对应的对象列表;所述二级关系链建立模块,还用于从所述第一缓存空间中获取与所述信息标识对应的对象列表;基于所述对象列表中任意两个第二对象的对象标识,构建对应的第二映射关系。
在上述方案中,所述存储模块,还用于设置所述第二对象的对象标识的缓存时间;在所述第一缓存空间的所述对象列表中,清除缓存时间已经超时的第二对象的对象标识。
在上述方案中,所述二级关系链建立模块,还用于查询所述数据库的关系链表;当所述关系链表中不存在所述第二映射关系时,将所述第二映射关系存入第二缓存空间中的关系链队列;定期从所述第二缓存空间中获取所述关系链队列中的第二映射关系,将所获取的第二映射关系写入所述数据库的关系链表,并标记为二级关系链。
在上述方案中,所述社交关系链的建立装置还包括:转发模块,用于当所述第一对象的终端发送的信息被所述第二对象的终端转发时,所述第二对象的终端将转发的所述信息中的所述信息标识替换为新的信息标识。
在上述方案中,所述转发模块,还用于当所述第一对象的终端发送的信息被所述第二对象的终端转发时,所述第二对象的终端将转发的所述信息中的所述第一对象的对象标识,替换为所述第二对象的对象标识。
在上述方案中,所述整合模块,还用于将所述多个一级关系链,以及所述多个二级关系链基于共同的对象进行连接,以得到所述社交关系链;其中,当所述对象之间同时存在一级关系链和二级关系链时,仅保留所述对象之间的一级关系链。
在上述方案中,所述互动操作包括以下至少之一:查看所述信息的操作、转发所述信息的操作、收藏所述信息的操作。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的社交关系链的建立方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的社交关系链的建立方法。
本申请实施例具有以下有益效果:
根据对象之间基于信息的不同的互动,能收集反映不同的互动的关系链,并通过整合关系链得到社交关系链,在提升社交关系链建立速度的同时也保证了社交关系链的有效性。
附图说明
图1是本申请实施例提供的社交关系链的建立系统架构100的结构示意图;
图2是本申请实施例提供的社交关系链的建立装置200的结构示意图;
图3是本申请实施例提供的社交关系链的建立方法的流程示意图;
图4是本申请实施例提供的社交关系链的建立方法的流程示意图;
图5是本申请实施例提供的社交关系链表的示意图;
图6是本申请实施例提供的社交关系链的建立方法的流程示意图;
图7是本申请实施例提供的社交关系链的建立方法的流程示意图;
图8A是本申请实施例提供的社交关系链的建立方法的建立场景示意图;
图8B是本申请实施例提供的社交关系链的建立方法建立的关系链示意图;
图8C是本申请实施例提供的社交关系链的建立方法建立的关系链示意图;
图9A是本申请实施例提供的一级关系链的建立过程示意图;
图9B是本申请实施例提供的二级关系链的建立过程示意图;
图9C是本申请实施例提供的二级关系链建立过程的定时任务处理示意图;
图10是本申请实施例提供社交关系链示意图;
图11A-11C是本申请实施例提供社交关系链应用示意图;
图12A-12B是本申请实施例提供社交关系链应用示意图;
图13A-13B是本申请实施例提供社交关系链应用示意图;
图14A-14B是本申请实施例提供社交关系链应用示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一\第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使作为示例描述的本申请实施例能够以除了在作为示例图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)社交关系链:指对象(也称为用户,例如互联网服务的用户)之间点对点的关系,每个对象可以作为社交网络中的一个节点,而两点之间的连线成为关系链的边,多个点及其连线构成社交关系链。
2)对象标识:能够唯一标识对象的标志符,例如对象的账号、身份信息等。
3)一级关系链:基于信息形成直接的互动关系的对象之间建立的关系链,例如用户A与用户B之间就同一信息存在互动,则二者构成一级关系链。
4)二级关系链:基于信息形成间接的互动关系的对象之间建立的关系链,例如,用户A与用户B之间就同一信息存在互动,用户B与用户C之间就同一信息存在互动(而用户A与用户C没有就同一信息存在互动),则用户A与用户C之间的关系链为二级关系链。
本申请实施例提供一种社交关系链的建立方法、装置、电子设备和计算机可读存储介质,能够快速地建立有效社交关系链,解决了关系链积累速度慢和关系链过泛的问题,从而能够为互联网服务。
下面说明实施本申请实施例提供的社交关系链的建立方法的电子设备的示例性应用,电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器或者服务器集群,还可以采用由用户终端和服务器协同的方式实施。下面,将说明电子设备实施为服务器时示例性应用。
参见图1,图1是本申请实施例提供的社交关系链的建立系统100的一个架构示意图。图1中,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,服务器200与数据库500进行数据传输。
作为示例,第一对象(例如持有登录客户端的账号的用户)可以通过终端400-1中的客户端410-1,例如社交客户端、短视频客户端,分享信息(例如社交动态、短视频)给第二对象终端400-2中的客户端410-2,第二终端400-2中客户端410-2可以发送互动的数据给服务器200进行处理。服务器200可以针对第一对象发送的信息获取第一对象的对象标识(例如,用户在社交网络中所持有的账号,可以作为登录各种客户端的凭证),并获取对信息执行互动操作的多个第二对象的对象标识,建立第一对象和多个第二对象之间的一级关系链,并建立对同一信息执行互动操作的多个第二对象之间的二级关系链,整合一级关系链和二级关系链得到社交关系链。服务器200可以将接收的数据及建立的关系链存储到数据库500,当需要使用时可以从数据库500中获取。服务器200可以基于建立的社交关系链实施各种互联网应用,例如信息推荐,潜在好友推荐。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
示例性地,本申请实施例提供的社交关系链的建立方法可以提供为云服务,任意应用(例如社交网络应用)的后台服务器可以向云服务提供方提交应用中用户互动的大数据,由云服务来挖掘社交关系链。客户端的后台服务器也可以向云服务请求获取社交关系链,并基于社交关系链来提供更为精准的互联网服务,例如好友推荐,信息推荐等。
参见图2,图2是本申请实施例提供的服务器200的结构示意图,以社交关系链的建立装置是服务器200为例,图2所示的服务器200包括:至少一个处理器210、存储器230、至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器230可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器230包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器230旨在包括任意适合类型的存储器。
在一些实施例中,存储器230能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统231,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块232,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的社交关系链的建立装置可以采用软件方式实现,图2示出了存储在存储器230中的社交关系链的建立装置233,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块2331、一级关系链模块2332、二级关系链模块2333和整合模块2334,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
将结合本申请实施例提供的服务器的示例性应用和实施,以服务器实现本申请实施例提供的社交关系链的建立方法为例进行说明,因此下文中不再重复说明各个步骤的执行主体。
参见图3,图3是本申请实施例提供的社交关系链的建立方法的一个流程示意图,将结合图3示出的步骤进行说明。
在步骤101中,针对第一对象发送的信息,获取第一对象的对象标识,并获取对信息执行互动操作的多个第二对象的对象标识。
在一些实施例中,可以接收第二对象的终端发送的第一对象的标识;其中,第一对象的标识是第二对象的终端发送的,且是在接收到针对信息标识所对应的信息执行的互动操作时发送的;其中,第一对象的标识是第二对象的终端从信息中提取得到的。
作为示例,第一对象可以单独向第二对象发送信息,例如通过一对一的聊天窗口发送信息,或者在对象群(例如群聊天窗口)里发送信息,第一对象发送的信息中可以附带第一对象的对象标识以及信息标识。当第二对象对接收到第一对象发送的信息执行互动操作时,第二对象的终端(如图1中所示的终端400-1中的客户端410-1,终端400-2中的客户端410-2)从信息中提取得到信息的信息标识和第一对象的对象标识,并发送到后台服务器(如图1中所示的服务器200)。从而,在信息的互动过程中就可以收集与互动相关的数据,作为建立社交关系链的基础数据。
在一些实施例中,参见图4,图4中示出了本申请实施例提供的社交关系链的建立方法的一个流程示意图。步骤101可以通过步骤1011-1012实现,下面具体说明。
在步骤1011中,接收第二对象的终端发送的第二对象的对象标识和信息标识。
在步骤1012中,根据信息标识识别出不同的信息,以确定针对每个信息执行互动操作的第二对象的标识。
作为示例,第二对象的终端在接收到第一对象发送的信息后,可以对信息进行互动操作。而第二对象的终端可以获取第二对象的对象标识,其中,信息可以包括内容、对象标识和信息标识。当第二对象对接收到第一对象发送的信息执行互动操作时,第二对象的终端从信息中提取信息标识、第二对象的对象标识,并发送到后台服务器(如图1中所示的服务器200)。后台服务器接收第二对象的对象标识和信息标识后,可以根据信息标识识别出不同的信息,以确定针对每个信息执行互动操作的第二对象的标识。
作为示例,对信息执行的互动操作可以包括以下至少之一:查看信息的操作、转发信息的操作、收藏信息的操作。
举例来说,第一对象可以将活动链接发送到好友群中,发送的活动链接中可以携带有第一对象的对象标识以及信息标识,其中,对象标识可以是对象ID、对象的账号、身份信息等用户唯一标识符,活动链接既可以是明文的访问路径,例如统一资源定位符(URL,Uniform Resource Locator)等,也可以是与后台服务器(如图1中所示的服务器200)中的活动链接内容一一对应的标识符。随后,第二对象可以通过登录进入活动链接关联的页面中,此时,第二对象的活动链接前台,例如应用程序客户端、网络页面(如图1中所示的终端400-1中的客户端410-1,终端400-2中的客户端410-2)可以获取第二对象的对象标识,并从活动链接中获取信息标识和第一对象的对象标识,将第二对象的对象标识、第一对象的对象标识和信息标识发送到后台服务器。后台服务器接收到第二对象的对象标识和信息标识后,可以根据信息标识识别出不同的信息,并且可以确定针对每个信息执行互动操作的对象的对象标识。
可见,在信息中携带对象标识的机制可以有效识别信息来源,不管信息跨平台应用的转发,以及在用户之间如何流转发送,都可以通过对象标识实现有效跟踪流转路径,为社交关系链挖掘提供准确充足的大数据。
在步骤102中,基于第一对象的对象标识以及多个第二对象的对象标识,建立第一对象和多个第二对象之间的一级关系链。
在一些实施例中,参见图4,步骤102可以通过步骤1021-1022实现,下面具体说明。
针对根据信息标识识别出的不同信息中的每个信息执行以下操作:
在步骤1021中,构建第一映射关系。
第一映射关系包括第一对象的对象标识、以及针对信息执行互动操作的第二对象的对象标识。作为示例,第一映射关系可以是对象标识的有序的二元数组,也可以是对象标识的无序集合。
需要指出,第二对象代表的是第一对象发送信息的目标,是一类对象,不是特指一个或几个对象。
在步骤1022中,在数据库的关系链表中,写入第一映射关系,并标记为一级关系链。
举例来说,当第二对象点击进入第一对象发送的活动链接时,第一对象和第二对象之间实际上已经产生了直接联系,后台服务器(如图1中所示的服务器200)可以基于接受到的第一对象的对象标识和第二对象的对象标识,建立第一对象和第二对象的对象标识之间的第一映射关系,用来表征第一对象和第二对象之间的关系链,并将第一映射关系写入数据库中关系链表里进行存储,标记为一级关系链。
参见图5,图5中示出了本申请实施例提供的社交关系链表的示意图,作为示例,用户A和用户B之间的一级关系链在数据库关系链表中的存储形式可以如图5中所示,记录至少包括以下字段:用户A的对象标识A,用户B的对象标志B,以及标记为一级关系链的关系链类别。
作为示例,数据库可以是关系型数据库,例如构建二维表存储每一条关系链记录,将对象标识、关系链类别分别作为记录的字段,也可以是非关系型数据库,例如通过键值对的方式存储,将对象标识作为键,关系链的类型作为值进行存储。
可见,通过建立并存储第一对象的对象标识和第二对象的对象标识之间的映射,能够快速简便地构建第一对象与具有直接关联的第二对象之间的关系链,提高了关系链的建立速度。
在步骤103中,基于对信息均执行互动操作的多个第二对象的对象标识,建立对同一信息执行互动操作的多个第二对象之间的二级关系链。
在一些实施例中,参见图4,图4中示出了本申请实施例提供的社交关系链的建立方法的一个流程示意图。步骤103可以通过步骤1031-1032实现,下面具体说明。
针对根据信息标识识别出的不同信息中的每个信息执行如步骤1031和步骤1032的操作,下面分别说明。
在步骤1031中,构建第二映射关系,其中,第二映射关系包括对信息均执行互动操作的任意两个第二对象的对象标识。
作为示例,可以通过遍历对同一信息均执行过互动操作的第二对象的对象标识,并在遍历过程中建立第二对象的对象标识两两之间的第二映射关系。
在步骤1032中,将第二映射关系写入数据库的关系链表中,并标记为二级关系链。
举例来说,活动的后台服务器可以基于信息标识和对象标识,确定出对同一活动链接信息执行互动操作的多个用户,并建立多个用户的对象标识之间的第二映射关系,用来表征用户之间的关系链,并将第二映射关系写入数据库中关系链表里进行存储,标记为二级关系链。作为示例,用户B和用户C之间的二级关系链在数据库关系链表中的存储形式可以如图5中所示,记录至少包括以下字段:用户B的对象标识B,用户C的对象标志C,以及标记为二级关系链的关系链类别。
通过上述步骤103,充分挖掘访问了同一信息的对象之间的关联性,建立了一级关系链的基础上建立此类对象之间的关系链,并作为二级关系链,可以在一级关系链的基础上进一步完善对象之间的关系链,且二级关系链表征了实质的对象关联,保证了关系链的有效性。
在一些实施例中,参见图6,基于图4,图6中示出了本申请实施例提供的社交关系链的建立方法的一个流程示意图,在步骤1011接收第二对象的终端发送的第二对象的对象标识和信息标识之后,还可以执行步骤1013将接收到的第二对象的对象标识,存入第一缓存空间中与信息标识对应的对象列表。
作为示例,将接收到的第二对象的对象标识存入第一缓存空间中与信息标识对应的对象列表,其中,第一缓存空间可以是图1中示出的服务器200的缓存空间,也可以是独立于服务器200部署的缓存服务器或者缓存服务器集群中的缓存空间,作为对象标识等数据在存入数据库之前的中转。
作为示例,存储关系链表的数据库可以是图1中所示的服务器200中运行的数据库,也可以是独立于服务器200之外部署的数据库服务器或集群。
在一些实施例中,参见图6,步骤1031可以通过步骤1031a-1031b实现,下面具体说明。
在步骤1031a中,从第一缓存空间中获取与信息标识对应的对象列表。
作为示例,可以将信息标识作为索引,从第一缓存空间中检索获取与信息标识对应的对象列表。
在步骤1031b中,基于对象列表中任意两个第二对象的对象标识,构建对应的第二映射关系。
通过上述步骤1031a-1031b,基于接收到的对象标识和信息标识,将对信息执行过互动操作的对象的对象标识存入信息标识对应的对象列表中,对每一个信息均维护了一个对该信息执行过互动操作的对象的对象标识组成的列表,当需要使用时,可以快速的从对象列表中获取对象标识,节省了处理时间,提高了响应速率。
在一些实施例中,将接收到的第二对象的对象标识,存入第一缓存空间中与信息标识对应的对象列表之后,可以设置第二对象的对象标识的缓存时间,从第一缓存空间的对象列表中清除缓存时间已经超时的第二对象的对象标识。
作为示例,缓存时间可以设置成固定值,也可以设置为根据缓存的剩余可用空间进行动态改变,例如可以将缓存时间与缓存剩余可用空间设定为正相关关系,例如线性正关系,当剩余的可用空间减小时,缓存时间相应缩小,当剩余的可用空间增加时,缓存时间相应增加。
作为示例,可以根据关系链所支持的不同网络服务的时效性需求来设定缓存时间,例如用于好友推荐服务时设定的缓存时间长于用于新闻推荐服务时设定的缓存时间。其中,可以通过时效性参数来表征时效性需求,当时效性参数越大时,时效性越差,即二者负相关,例如网络服务的推送周期,当推送周期越长时,时效性要求越弱,则设置的缓存时间可以越长,即推送周期与缓存之间正相关;当推送周期越短时,时效性要求越强,则设置的缓存时间可以越短。即,时效性参数与缓存时间负相关。
在另一些实施例中,当第一缓存空间的可用空间低于可用空间阈值时,可以将对象列表中各对象标识根据缓存时间剩余值从小到大进行排序,将排序在前的部分(例如,预定比例或预定数量)的对象标识进行清除。作为示例,可以将排序在前的20%的对象标识进行清除。
通过上述步骤103,清除对象标识可以有效的节省缓存的空间,并且可以避免出现僵尸用户,保证对象列表中对象标识的时效性,提高使用对象列表中的对象标识构建关系链时的有效性。
在一些实施例中,参见图7,图7中示出了本申请实施例提供的社交关系链的建立方法的一个流程示意图,图4中的步骤1032可以通过步骤201-203实现,下面具体说明。
在步骤201中,查询数据库的关系链表。
在步骤202中,当关系链表中不存在第二映射关系时,将第二映射关系存入第二缓存空间中的关系链队列。当关系链表中存在第二映射关系时,不需要重复进行存储操作。
其中,第二缓存空间可以是图1中示出的服务器200中的缓存空间,也可以是独立于服务器200部署的缓存服务器或者服务器集群中的缓存空间,作为对象标识等数据在存入数据库之前的中转
在步骤203中,定期从第二缓存空间中获取关系链队列中的映射关系,将所获取映射关系写入数据库的关系链表,并标记为二级关系链。或者,当关系链队列中存储的映射值大于或等于处理阈值时,获取关系链队列中的映射关系,将所获取映射关系写入数据库的关系链表,并标记为二级关系链。
作为示例,由于二级关系链表征的对象之间的关联的强度弱于一级关系链,且二级关系链的使用需求可能并非是实时的,为了降低数据库的处理压力,当将映射关系写入数据库的关系链表中时,可以先进行缓存再延后进行处理,而不是实时的将映射关系写入数据库中,降低了数据库的处理压力。
在一些实施例中,包括相同内容的信息被同一个第二对象多次转发时,或者被不同的第二对象分别转发时,信息中的信息标识总是被更新为一个全新的信息标识(即与已有的信息标识均不同),例如,当第一对象的终端发送的信息被第二对象的终端转发时,第二对象的终端可以将转发的信息中的信息标识替换为新的信息标识。
举例来说,当第二对象转发第一对象发送的活动链接时,第二对象的终端(如图1中所示的终端400-1中的客户端410-1,终端400-2中的客户端410-2)可以重新生成不同的信息标识,并替换活动链接中原有的信息标识,使得转发后的活动链接中的信息标识与原活动链接中的信息标识不同。
通过上述替换标识的方案,使得相同内容的信息被转发时均具有不同的信息标识,当信息标志一直不变时,可能导致服务器建立的社交关系链规模过大,产生大量无效的关系链,因此,使相同内容的信息被转发时具有不同的信息标识,可以导致避免积累多余的关系链,保证了社交关系链的准确性,也保证了基于社交关系链的互联网服务的定向准确率。
在一些实施例中,包括相同内容的信息被第一对象多次发送时,信息中的信息标识总是保持不变,从而,使得具有相同内容的信息中总是包括相同的信息标识。
示例性的,第一对象在不同场景中(例如不同对象,或不同群组)发送的相同内容的信息具有相同的信息标识,例如,第一对象将包括相同内容的信息发送给第二对象1、第二对象2、群组1以及群组2时,第二对象1、第二对象2、群组1以及群组2接收到的信息中的信息标识相同,使得不同场景中的第二对象对信息进行互动操作时,发送给服务器的信息标识相同。因此,针对基于相同内容的信息均执行过互动操作的第二对象,服务器建立了任意两个第二对象的对象标识之间的第二映射关系,并基于第二映射关系建立了第二对象间的二级关系链。
举例来说,参见图8A,图8A示出了本申请实施例提供的社交关系链的建立场景示意图,用户X发送同一条信息给群组A和群组B,由于是相同的信息,因此群组A中的用户A1、用户A2以及群组B中的用户B1、用户B2接收到的信息中的信息标识相同,当用户A1、用户A2、用户B1和用户B2对这条信息进行互动操作时,后台服务器将用户A1、用户A2、用户B1和用户B2的对象标识均存入这条信息的信息标识对应的对象列表中,并构建用户A1、用户A2、用户B1和用户B2的对象标识两两之间的第二映射关系,以表征用户A1、用户A2、用户B1和用户B2之间两两建立的二级关系链,构建的关系链如图8B中的关系链1所示,用户X与用户A1、用户A2、用户B1、用户B2之间均建立了一级关系链,用户A1、用户A2、用户B1和用户B2两两之间均建立了二级关系链。
通过对具有相同内容的信息设置相同的信息标识,使服务器在对相同内容的信息进行互动操作的第二对象之间,均建立二级关系链,可以加快关系链的建立速度,快速扩大社交关系链的规模。
在一些实施例中,包括相同的内容信息每一次被发送时,其中携带的信息标识都被更新为全新的信息标识(即与已有的信息标识均不同)。
示例性的,第一对象每一次发送的相同内容的信息均具有不同的信息标识,也就是说,即使发送的是相同内容的信息,信息中的信息标识也不相同,例如第一对象将具有相同内容的信息分别发送给第二对象1、第二对象2、群组1以及群组2时,信息中的信息标识不同。第二对象将接收的第一对象发送的信息进行转发时,第二对象的终端会重新生成不同的信息标识,并替换信息中原有的信息标识,例如第二对象将接收的第一对象发送的信息转发给第三对象时,更新信息中的信息标识,使得转发给第三对象的信息中的信息标识与第二对象接收的信息中的信息标识不同。
需要指出,第三对象是第二对象发送信息的目标,是一类对象,不是特指一个或多个对象。
举例来说,参见图8A,用户X发送包括相同内容的信息到群组A和群组B,由于每一次发送的信息均设置有不同的信息标识,因此群组A中的用户A1、用户A2接收到的信息中的信息标识相同,群组B中的用户B1、用户B2接收到的信息中的信息标识相同,但群组A中的用户和群组B中的用户接收到的信息的信息标识不同。当用户A1、用户A2、用户B1和用户B2对这条信息进行互动操作时,后台服务器将用户A1和A2、用户B1和B2的对象标识分别存入不同的信息标识对应的不同对象列表中,接着基于不同对象列表分别构建关系链,构建的关系链如图8C中的关系链2所示,用户X与用户A1、用户A2、用户B1、用户B2之间均建立了一级关系链,但仅构建了属于同一群组的用户A1和用户A2的二级关系链,用户B1和用户B2的二级关系链,未构建跨群组的用户之间(例如用户A1与用户B1之间)的二级关系链。
不同于对具有相同内容的信息设置相同的信息标识,通过对每一次发送的相同内容的信息设置不同的信息标识,从而使服务器识别为不同信息,并以此来分别构建关系链,过滤掉了大量无效的二级关系链,例如,将图8C中的关系链2与图8B中的关系链1进行比较,可以发现图8C中建立的关系链2精简了二级关系链的数量,提高了社交关系链的准确性,也降低了服务器的处理负载。
在一些实施例中,具有相同内容的信息被多次发送,例如被第一对象多次发送时,或者被同一个第二对象多次转发时,或者多个不同的第二对象分别转发时,如果发送行为满足信息标识的更新条件,则信息中的信息标识会更新为新的信息标识,从而使服务器识别为新的信息。
其中,更新条件包括以下至少之一:发送信息的第一对象和接收信息的第二对象之间的用户画像数据的重合程度,接收信息的群组之间的标签匹配度,具有相同内容的信息的发送次数。
作为示例,第一对象多次发送具有相同内容的信息时,当第二对象的用户画像数据与发送信息的第一对象重合程度大于或等于匹配阈值时,第一对象的终端在信息中设置相同的信息标识;当接收信息的第二对象与发送信息的第一对象的用户画像数据重合程度小于匹配阈值时,第一对象的终端更新信息中的信息标识,以使发送的信息中的信息标识不同。
当第一对象多次发送具有相同内容的信息时,若发送信息的第一对象与接收信息的第二对象之间的用户画像数据重合程度大于或等于匹配阈值,说明发送信息的第一对象和接收信息的第二对象个性相似,两者之间很有可能具有关联关系。因此,可以不改变信息的信息标识,以使当接收信息的第二对象对信息执行互动操作时,后台服务器可以基于相同的信息标识构建多个第二对象之间的二级关系链,达到了挖掘潜在社交关系,利用相似对象扩展关系链的效果,既能加快社交关系链的构建速度,也能保证社交关系链的准确性。
作为示例,第一对象多次发送具有相同内容的信息时,当接收信息的群组之间的标签匹配度大于或等于群组匹配阈值,例如,当第一对象向群组1和群组2发送相同内容的信息时,若群组1和群组2的标签匹配程度大于群组匹配阈值,则群组1和群组2中收到的信息的信息标识相同。第一对象的终端在信息中设置相同的信息标识;当接收信息的群组的标签匹配度小于群组匹配阈值,第一对象的终端更新信息中的信息标识,以使发送的信息中的信息标识不同。
其中,群组的标签包括以下至少之一:群组话题、群组对象职业、群组对象性别、群组对象年龄。
例如,当第一对象向群组1和群组2发送相同内容的信息时,若群组1和群组2的标签匹配程度大于群组匹配阈值,则群组1和群组2中收到的信息的信息标识相同,因此,群组1和群组2中的第二对象对信息进行互动操作后,可以跨群组的建立第二对象间的二级关系链。通过使标签相近的不同群组收到的相同内容的信息的信息标识相同,达到挖掘潜在关系链,加快社交关系链构建速度的效果。
作为示例,第一对象发送的具有相同内容的信息时,当发送次数大于或等于更新次数阈值,第一对象的终端更新信息中的信息标识,以使发送的信息中的信息标识不同;当发送次数小于更新次数阈值时,第一对象的终端在信息中设置相同的信息标识。
当第一对象多次发送具有相同内容的信息时,若发送次数小于更新次数阈值,则第一对象的终端针对发送的信息设置相同的信息标识,以使服务器可以在对相同内容的信息进行互动操作的第二对象之间,均建立二级关系链,可以挖掘潜在的社交关系,加快关系链的建立速度。
在一些实施例中,当第一对象发送的信息被第二对象转发到一个或多个第三对象时,第二对象的终端将转发的信息中的第一对象的对象标识,替换为第二对象的对象标识。
示例性的,当第二对象将接收的第一对象的信息转发给第三对象1和第三对象2时,第二对象的终端将信息中的第一对象的标识替换成为了第二对象的标识,即第三对象1和第三对象2接收到的信息中的对象标识均为第二对象的对象标识。
通过使每个对象发送的信息中的对象标识仅指向发送信息的对象,并据此建立作为信息发送对象的第二对象和第三对象之间的一级关系链,明确了信息来源和一级关联链的关联对象,确保了一级关系链的准确性。
在步骤104中,将一级关系链和二级关系链整合得到社交关系链。
在一些实施例中,确定一级关系链和二级关系链中的重合对象,并基于重合对象将一级关系链和二级关系链进行连接。
通过基于重合对象连接一级关系链和二级关系链的方式,快速实现社交关系链的连接,减少设备的处理负载,提高社交关系链的建立速度。
其中,当对象之间同时存在一级关系链和二级关系链时,仅保留对象之间的一级关系链。
在一些实施例中,可以获取第三方平台建立的关系链;将第三方平台建立的关系链和社交关系链整合,得到整合后的社交关系链。
举例来说,获取各类型互联网服务的后台服务器的自有关系链,并将获取的自有关系链与建立的社交关系链整合,可以基于整合后的社交关系链提供互联网服务,并扩展了可以提供的互联网服务种类和提高了互联网服务的准确性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
参见图9A,在图9A中示出的是一级关系链的建立过程,如图9A所示,在步骤801中,用户userA在终端上的客户端或平台(例如微信、QQ等)打开运营活动页面,在步骤802中,运营活动页面前台例如应用程序客户端、网络页面(如图1中所示的终端400-1中的客户端410-1,终端400-2中的客户端410-2)可以调用平台的登录能力获取用户信息(例如使用微信和QQ接口进行登录),进而可以获取userA的用户id(对象标识)userAid。之后,用户userA可以将运营活动页面内容信息分享给好友(或者群、朋友圈等社交场景),在步骤803中,分享的运营活动页面内容链接URL可以自动携带用户userA的用户id(对象标识)userAid来标识来源用户userA,随后执行步骤804,将连接分享给好友、群、朋友圈。
如果其他用户,例如用户userB登录并点击进入用户userA分享的链接页面后,执行步骤805,判断Url中是否有用户userA的userAid,当不存在时,结束处理;当存在时,继续执行步骤806,运营活动页面从链接中获取用户userA的对象标识userAid,然后从平台获取用户userB的用户id(对象标识)userBid,然后将userAid和userBid发送给运营活动页面后台服务器。
运营活动页面后台服务器接收到userAid和userBid以后,执行步骤807,检验后台服务器中是否存储有用户userA和用户userB的信息。当不存在时,结束处理;当存在时,继续执行步骤808,将用户userA和用户userB的关系链信息写入运营活动页面的后台数据库中,标识为一级关系链。
其中,当用户userB将用户userA分享出来的链接分享给好友、群以及朋友圈时,用户userB的客户端将链接中的userAid替换为userBid,例如http://xxx?userid=[userBid],即用户userB分享出去的该链接中包含userBid。
参见图9B,在图9B中示出的是二级关系链的建立过程,如图9B所示,在步骤901中,用户user进入链接的运营活动页面,在步骤902中,用户user的运营活动页面前台会从平台获取用户user的用户id(对象标识)userid,在步骤903中,生成新的唯一uuid,并在步骤904中,从链接中获取信息标识linkid,然后执行步骤907,将linkid和userid发送给运营活动页面后台服务器。
其中,运营活动页面链接被发送时,链接URL中会携带信息标识linkid。
在步骤908中,当运营活动页面后台服务器接收到linkid和userid时,会先查询链接缓存中是否有该linkid对应的用户列表(对象列表)userids信息,用户列表userids包括点击过该linkid的所有用户id(对象标识),如果有,就获取用户列表userids,接着执行步骤909,遍历userids,建立userid与userids[i](userids[i]表示用户列表userids中存储的用户id,其中,i为大于或等于零,且小于或等于userids存储的用户id总量的整数)的映射,将映射写入关系队列缓存;如果没有就创建该linkid对应的用户列表userids,接着执行步骤910,将userid添加进该linkid的链接缓存的用户列表userids中,并设置缓存时间为x天(x为大于或等于0的整数)。
将该userid用户与该linkid下的所有用户进行关联时,当并发大的时候处理效率会很低,比如用户将链接分享到500人的群里,有100人点击,那么数据库写入会有很大压力,而且会影响到正常页面访问,而这些关系链信息不需要及时反馈在页面中,所以作为示例先将该userid与该linkid的所有用户需要建立关系链的信息缓存起来,建立userid与userids[i](userids[i]表示用户列表userids中存储的用户id,其中,i为大于或等于零,且小于或等于userids存储的用户id总量的整数)的映射,并将映射写入关系链队列缓存,比如使用redis进行缓存,然后定时进行处理,以解决数据库压力问题。另外,将userid写入linkid对应的用户列表userids中,并设置缓存时间,以及清理缓存时间超时的用户id。
参见图9C,基于图9B,在图9C中示出的是二级关系链建立过程中定时任务处理示意图,如图9C所示,在步骤911中,每隔预定时间,读取关系链队列缓存,取出其中m(m为大于或等于零,且小于或等于关系链队列缓存映射数量的整数)条映射信息,以其中一条举例(userA和userB),执行步骤912,判断数据库的用户表中是否有userA和userB,当不存在时,结束处理;当存在时,继续执行步骤913,判读数据库存储的关系链表中是否已经存在userA和userB的关系链,当存在时,结束处理;当数据库中不存在userA和userB的关系链时,执行步骤914,在数据库的关系链表中写入userA和userB的关系链信息,并标识为二级关系链。
另外,当用户user将该链接分享给好友、群以及朋友圈时,执行步骤905,使用步骤903中生成新的唯一uuid newid,替换用户分享URL中的原linkid,随后执行步骤906,将连接分享给好友、群、朋友圈。
示例性的,用户A在用户群1中分享了活动链接,活动链接中包含用户A的userAid和该次分享链接的linkid,用户B和用户C点击链接时,前台会将userAid和userBid以及userAid和userCid分别发送到后台服务器,后台服务器根据用户id实时构建用户A与用户B,用户A与用户C的一级关系链。
同时,前台会将linkid和userBid,以及linkid和userCid发送到后台服务器,后台服务器将userBid和userCid添加进链接的linkid的链接缓存中,随后定时进行关联处理,以构建用户B和用户C的二级关系链。
另外,linkid可以是针对每一次分享的,例如,用户A将同一活动的链接分享到用户群1和用户群2时,链接URL中的linkid是不同的。原因是为了避免在用户群1和用户群2中使用相同的linkid,使得用户群1和用户群2的用户通过对链接URL执行互动操作形成二级关系链,导致没有关系的用户强行构建关系链。
最后,将一级关系链和二级关系链整合得到社交关系链,参见图10,图10示出的是社交关系链示意图,如图10所示,每个人可以当做是社交关系链中的一个节点,而两点之间的连线成为一个关系链,共同构成社交关系链。例如图10中的用户1与用户2,用户1与用户3之间具有一级关系链,用户2与用户4,用户3与用户4之间具有二级关系链,通过查找重合对象用户3、用户4,基于重合对象用户3、用户4连接一级关系链和二级关系链,共同构成社交关系链。
参见图11A-11C,图11A-11C示出的是社交关系链应用示意图,如图11A-11C所示,用户110在进入页面以后可以拉取与用户110存在关系链连接的用户,引导用户参与,如图11A所示,根据建立的社交关系链信息,获取与用户110有关系链连接的用户111的游戏信息(例如游戏得分等),并显示在游戏开始界面中,让用户更有代入感。用户在活动过程中,可以根据社交关系链和用户当前状态,出现相关好友的信息,例如图11B所示,用户110的游戏分数超越具有关系链的好友用户112时,在游戏界面中显示用户112的头像信息,并提升用户110已经超越用户112,同时可以附带表扬用户的特效,例如图11B中示出的“GOOD X3”,以激励用户继续进行游戏。当用户110结束游戏后,可以拉取到用户110的关系链,显示与用户110具有关系链连接的用户的游戏成绩并进行排名,如图11C中示出的用户113和用户114。
下面,结合具体的社交关系链建立示例来说明社交关系链在游戏好友信息展示场景中的应用,假设用户社交关系链的建立场景如图8A,用户X将信息发送到群组A和群组B中,群组A中包括用户A1、用户A2,群组B中包括用户B1、用户B2,当用户A1、用户A2、用户B1和用户B2对这条信息进行互动操作时,用户A1建立的社交关系链有如下几种情形:
情形一,参见图12A-12B,图12A-12B示出的是社交关系链应用示意图,在图12A-12B中,使用现有技术来建立社交关系链,即只有当用户对另一用户发送的信息进行互动操作后,两者之间才会建立社交关系链。在图8A的场景中,用户X将信息发送到群组A和群组B中,用户A1、用户A2、用户B1和用户B2均点击了用户X发送的信息,此时,用户A1的社交关系链如图12A所示,用户A1只与用户X建立了一级关系链,即用户A1的社交关系链中,仅包含与用户A1的一级关系链。因此,当用户A1在游戏结束后,呈现的好友成绩列表如图12B所示,在图12B中,由于用户A1的社交关系链中只有用户X,因此,仅呈现了用户X的游戏信息(图12B中122所示)和用户A1的游戏信息(图12B中121所示)。
可见,只有当用户对另一用户发送的信息进行互动操作后,两者之间才会建立社交关系链,例如文章转发过程中,阅读者会为转发者贡献积分,从而建立两者之间的关系链,但是,阅读者之间不会因此而建立关系链,如上述示例中用户A1只与用户X建立了社交关系链,但与阅读了同一信息的用户A2、B1、B2之间并未建立社交关系链,导致社交关系链建立速度缓慢,也无法挖掘用户之间潜在的社交关系。
情形二,参见图13A-13B,图13A-13B示出的是社交关系链应用示意图,在图13A-13B中,使用本申请实施例提供的社交关系链的建立方法来建立社交关系链,且用户X发送的相同内容的信息具有相同的信息标识。因此,建立的社交关系链如图8B所示,其中,用户A1的社交关系链如图13A所示,用户A1与用户X建立了一级关系链,用户A1与用户A2、用户B1、用户B2均建立了二级关系链。因此,当用户A1在游戏结束后,呈现的好友成绩列表如图13B所示,在图13B中,由于用户A1的社交关系链中包括了用户X、用户A2、用户B1和用户B2,因此,呈现了用户X的游戏信息(图13B中131所示)、用户A1的游戏信息(图13B中132所示)、用户A2的游戏信息(图13B中133所示)、用户B1的游戏信息(图13B中134所示)、用户B2的游戏信息(图13B中135所示)。
通过对具有相同内容的信息设置相同的信息标识,在对相同内容的信息进行互动操作的用户之间均建立了二级关系链,可以加快关系链的建立速度,快速扩大社交关系链的规模,也能挖掘用户间潜在的社交关系。
情形三,参见图14A-14B,图14A-14B示出的是社交关系链应用示意图,在图14A-14B中,使用本申请实施例提供的社交关系链的建立方法来建立社交关系链,且用户X发送的相同内容的信息具有相同的信息标识。因此,建立的社交关系链如图8B所示,其中,用户A1的社交关系链如图14A所示,用户A1与用户X建立了一级关系链,用户A1与用户A2建立了二级关系链。因此,当用户A1在游戏结束后,呈现的好友成绩列表如图14B所示,在图14B中,由于用户A1的社交关系链中包括了用户X和用户A2,因此,呈现了用户X的游戏信息(图13B中131所示)、用户A1的游戏信息(图13B中132所示)、用户A2的游戏信息(图13B中133所示)。
通过对每一次发送的相同内容的信息设置不同的信息标识,将信息标识不同的信息识别为不同信息,并以此来分别构建关系链,过滤掉了大量无效的二级关系链,提高了社交关系链的准确性,也降低了设备的处理负载。
社交关系链还可以应用于好友推荐等社交场景中,例如当需要向用户A推荐好友时,可以根据用户A的对象标识在数据库中的关系链中进行查询,具体的,可以先查询与用户A具有一级关系链的用户,当与用户A具有一级关系链的用户的数量和属性满足推荐需求时,将用户按照存入数据库的时间顺序或者属性条件排序,然后依次向用户A进行推荐。当与用户A具有一级关系链的用户的数量和属性不满足推荐需求时,继续查询数据库中的关系链表,获取与用户A具有二级关系链的用户,将与用户A具有一级关系链的用户和与用户A具有二级关系链的用户,按照存入数据库的时间顺序或者属性条件排序,然后依次向用户A进行推荐。
下面继续说明本申请实施例提供的社交关系链的建立装置233的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器230的社交关系链的建立装置233中的软件模块可以包括:
获取模块2331,用于针对第一对象发送的信息,获取所述第一对象的对象标识,并获取对所述信息执行互动操作的多个第二对象的对象标识;一级关系链建立模块2332,用于基于所述第一对象的对象标识以及所述多个第二对象的对象标识,建立所述第一对象和所述多个第二对象之间的一级关系链;二级关系链建立模块2333,用于基于对所述信息均执行互动操作的多个第二对象的对象标识,建立对同一信息执行互动操作的多个第二对象之间的二级关系链;整合模块2334,用于将所述一级关系链和所述二级关系链整合得到社交关系链。
在一些实施例中,所述获取模块2331,还用于接收所述第二对象的终端发送的所述第一对象的标识;其中,所述第一对象的标识是所述第二对象的终端发送的,且是在接收到针对所述信息标识所对应的信息执行的互动操作时发送的;其中,所述第一对象的标识是所述第二对象的终端从所述信息中提取得到的。
在一些实施例中,所述获取模块2331,还用于接收所述第二对象的终端发送的所述第二对象的对象标识和信息标识;其中,所述第二对象的对象标识和所述信息标识是所述第二对象的终端发送的,且是在接收到针对所述信息标识所对应的信息执行的互动操作时发送的;其中,所述信息标识是所述第二对象的终端从所述信息中提取得到的;根据所述信息标识识别出不同的信息,以确定针对每个信息执行互动操作的第二对象的标识。
在一些实施例中,所述一级关系链建立模块2332,还用于针对根据所述信息标识识别出的不同信息中的每个信息执行以下操作:构建第一映射关系,其中,所述第一映射关系包括所述第一对象的对象标识、以及针对所述信息执行互动操作的第二对象的对象标识;在数据库的关系链表中,写入所述第一映射关系,并标记为一级关系链。
在一些实施例中,所述二级关系链建立模块2333,还用于针对根据所述信息标识识别出的不同信息中的每个信息执行以下操作:构建第二映射关系,其中,所述第二映射关系包括对所述信息均执行互动操作的任意两个第二对象的对象标识;将所述第二映射关系写入数据库的关系链表中,并标记为二级关系链。
在一些实施例中,所述社交关系链的建立装置还包括:存储模块,用于所述将所述接收到的第二对象的对象标识,存入第一缓存空间中与所述信息标识对应的对象列表;所述二级关系链建立模块,还用于从所述第一缓存空间中获取与所述信息标识对应的对象列表;基于所述对象列表中任意两个第二对象的对象标识,构建对应的第二映射关系。
在一些实施例中,所述存储模块,还用于设置所述第二对象的对象标识的缓存时间;在所述第一缓存空间的所述对象列表中,清除缓存时间已经超时的第二对象的对象标识。
在一些实施例中,所述二级关系链建立模块2333,还用于查询所述数据库的关系链表;当所述关系链表中不存在所述第二映射关系时,将所述第二映射关系存入第二缓存空间中的关系链队列;定期从所述第二缓存空间中获取所述关系链队列中的第二映射关系,将所获取的第二映射关系写入所述数据库的关系链表,并标记为二级关系链。
在一些实施例中,所述社交关系链的建立装置还包括:转发模块,用于当所述第一对象的终端发送的信息被所述第二对象的终端转发时,所述第二对象的终端将转发的所述信息中的所述信息标识替换为新的信息标识。
在一些实施例中,所述转发模块,还用于当所述第一对象的终端发送的信息被所述第二对象的终端转发时,所述第二对象的终端将转发的所述信息中的所述第一对象的对象标识,替换为所述第二对象的对象标识。
在一些实施例中,所述整合模块2334,还用于将所述多个一级关系链,以及所述多个二级关系链基于共同的对象进行连接,以得到所述社交关系链;其中,当所述对象之间同时存在一级关系链和二级关系链时,仅保留所述对象之间的一级关系链。
在一些实施例中,所述互动操作包括以下至少之一:查看所述信息的操作、转发所述信息的操作、收藏所述信息的操作。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的社交关系链的建立方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的社交关系链的建立方法。
综上所述,建立第一对象和对第一对象发送的信息执行互动操作的多个第二对象之间的一级关系链,并建立对同一信息执行互动操作的多个第二对象之间的二级关系链,通过整合一级关系链和二级关系链得到社交关系链,实现了提升社交关系链建立速度的同时也保证了社交关系链的有效性。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种社交关系链的建立方法,其特征在于,包括:
针对第一对象发送的信息,获取所述第一对象的对象标识,并获取对所述信息执行互动操作的多个第二对象的对象标识;
基于所述第一对象的对象标识以及所述多个第二对象的对象标识,建立所述第一对象和所述多个第二对象之间的一级关系链;
基于对所述信息均执行互动操作的多个第二对象的对象标识,建立对同一信息执行互动操作的多个第二对象之间的二级关系链;
将所述一级关系链和所述二级关系链整合得到社交关系链。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第一对象的标识,包括:
接收所述第二对象的终端发送的所述第一对象的标识;
其中,所述第一对象的标识是所述第二对象的终端发送的,且是在接收到针对所述信息标识所对应的信息执行的互动操作时发送的;
其中,所述第一对象的标识是所述第二对象的终端从所述信息中提取得到的。
3.根据权利要求1所述的方法,其特征在于,所述获取对所述信息执行互动操作的多个第二对象的对象标识,包括:
接收所述第二对象的终端发送的所述第二对象的对象标识和信息标识;
其中,所述第二对象的对象标识和所述信息标识是所述第二对象的终端发送的,且是在接收到针对所述信息标识所对应的信息执行的互动操作时发送的;
其中,所述信息标识是所述第二对象的终端从所述信息中提取得到的;
根据所述信息标识识别出不同的信息,以确定针对每个信息执行互动操作的第二对象的标识。
4.根据权利要求3所述的方法,其特征在于,所述基于第一对象的对象标识以及所述多个第二对象的对象标识,建立所述第一对象和所述多个第二对象之间的一级关系链,包括:
针对根据所述信息标识识别出的不同信息中的每个信息执行以下操作:
构建第一映射关系,其中,所述第一映射关系包括所述第一对象的对象标识、以及针对所述信息执行互动操作的第二对象的对象标识;
在数据库的关系链表中,写入所述第一映射关系,并标记为一级关系链。
5.根据权利要求3所述的方法,其特征在于,所述基于对所述信息均执行互动操作的多个第二对象的对象标识,建立对同一信息执行互动操作的多个第二对象之间的二级关系链,包括:
针对根据所述信息标识识别出的不同信息中的每个信息执行以下操作:
构建第二映射关系,其中,所述第二映射关系包括对所述信息均执行互动操作的任意两个第二对象的对象标识;
将所述第二映射关系写入数据库的关系链表中,并标记为二级关系链。
6.根据权利要求5所述的方法,其特征在于,
所述接收所述第二对象的终端发送的所述第二对象的对象标识和信息标识之后,所述方法还包括:
将所述接收到的第二对象的对象标识,存入第一缓存空间中与所述信息标识对应的对象列表;
所述构建第二映射关系,包括:
从所述第一缓存空间中获取与所述信息标识对应的对象列表;
基于所述对象列表中任意两个第二对象的对象标识,构建对应的第二映射关系。
7.根据权利要求6所述的方法,其特征在于,所述将所述接收到的第二对象的对象标识,存入第一缓存空间中与所述信息标识对应的对象列表之后,还包括:
设置所述第二对象的对象标识的缓存时间;
在所述第一缓存空间的所述对象列表中,清除缓存时间已经超时的第二对象的对象标识。
8.根据权利要求5所述的方法,其特征在于,所述将所述第二映射关系写入数据库的关系链表中,并标记为二级关系链,包括:
查询所述数据库的关系链表;
当所述关系链表中不存在所述第二映射关系时,将所述第二映射关系存入第二缓存空间中的关系链队列;
定期从所述第二缓存空间中获取所述关系链队列中的第二映射关系,将所获取的第二映射关系写入所述数据库的关系链表,并标记为二级关系链。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一对象的终端发送的信息被所述第二对象的终端转发时,所述第二对象的终端将转发的所述信息中的所述信息标识替换为新的信息标识。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一对象的终端发送的信息被所述第二对象的终端转发时,所述第二对象的终端将转发的所述信息中的所述第一对象的对象标识,替换为所述第二对象的对象标识。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述将所述一级关系链和所述二级关系链整合得到社交关系链,包括:
将所述多个一级关系链,以及所述多个二级关系链基于共同的对象进行连接,以得到所述社交关系链;
其中,当所述对象之间同时存在一级关系链和二级关系链时,仅保留所述对象之间的一级关系链。
12.根据权利要求1至10任一项所述的方法,其特征在于,
所述互动操作包括以下至少之一:查看所述信息的操作、转发所述信息的操作、收藏所述信息的操作。
13.一种社交关系链的建立装置,其特征在于,包括:
获取模块,用于针对第一对象发送的信息,获取所述第一对象的对象标识,并获取对所述信息执行互动操作的多个第二对象的对象标识;
一级关系链模块,用于基于所述第一对象的对象标识以及所述多个第二对象的对象标识,建立所述第一对象和所述多个第二对象之间的一级关系链;
二级关系链模块,用于基于对所述信息均执行互动操作的多个第二对象的对象标识,建立对同一信息执行互动操作的多个第二对象之间的二级关系链;
整合模块,用于将所述一级关系链和所述二级关系链整合得到社交关系链。
14.一种电子设备,其特征在于,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至12任一项所述的社交关系链的建立方法。
15.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令被执行时用于实现权利要求1至12任一项所述的社交关系链的建立方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011112927.6A CN112149002A (zh) | 2020-10-16 | 2020-10-16 | 社交关系链的建立方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011112927.6A CN112149002A (zh) | 2020-10-16 | 2020-10-16 | 社交关系链的建立方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112149002A true CN112149002A (zh) | 2020-12-29 |
Family
ID=73952253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011112927.6A Pending CN112149002A (zh) | 2020-10-16 | 2020-10-16 | 社交关系链的建立方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112149002A (zh) |
-
2020
- 2020-10-16 CN CN202011112927.6A patent/CN112149002A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10530899B2 (en) | Method and system for establishing a trust association | |
CN102307210B (zh) | 一种数据下载系统及其数据管理和下载方法 | |
JP6526172B2 (ja) | データ情報取引方法およびシステム | |
CN107786621B (zh) | 一种用户信息管理方法、访问处理方法及装置和系统 | |
CN109462631B (zh) | 数据处理方法、装置、存储介质及电子装置 | |
KR20100048571A (ko) | 다중 사용자-다중 서비스 제공 방법, 장치 및 시스템 | |
US9578119B2 (en) | Method, server, and client for pushing and displaying splash screen | |
KR20140068299A (ko) | 소셜 네트워크 포렌식 장치 및 이 장치의 sns 데이터 분석 방법 | |
CN106470150B (zh) | 关系链存储方法及装置 | |
US20160094680A1 (en) | Content Sharing Method and Social Synchronization Apparatus | |
US20140040390A1 (en) | Publish Information on Website | |
CN112765499A (zh) | 一种排行榜处理方法、装置、设备及存储介质 | |
US20170155712A1 (en) | Method and device for updating cache data | |
CN114090388A (zh) | 信息获取方法、服务器集群、服务器及设备 | |
CN100561477C (zh) | 基于关键字和分类共享的搜索方法和系统 | |
US20170004531A1 (en) | Advertisement selection using information retrieval systems | |
CN106487653B (zh) | 一种消息处理方法及服务器 | |
CN112149002A (zh) | 社交关系链的建立方法、装置、设备及存储介质 | |
CN113704486A (zh) | 图谱数据构建方法及装置和图谱数据查询方法及装置 | |
CN101291273B (zh) | 一种网页间通信的方法、系统及在音乐搜索中的应用 | |
CN110474954B (zh) | 基于区块链的文件分享方法、装置、计算机设备及可读存储介质 | |
CN108306812A (zh) | 一种数据处理方法以及服务器 | |
JP5193977B2 (ja) | イベント通知機能提供システム | |
CN111782428B (zh) | 数据调用系统以及方法 | |
US9497251B2 (en) | Serving of web pages according to web site launch times |
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 |