CN114765596B - 社交关系的构建方法、装置、服务器及存储介质 - Google Patents
社交关系的构建方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN114765596B CN114765596B CN202110003660.5A CN202110003660A CN114765596B CN 114765596 B CN114765596 B CN 114765596B CN 202110003660 A CN202110003660 A CN 202110003660A CN 114765596 B CN114765596 B CN 114765596B
- Authority
- CN
- China
- Prior art keywords
- instant messaging
- messaging server
- server
- request
- account
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 39
- 238000010276 construction Methods 0.000 title claims description 27
- 238000002360 preparation method Methods 0.000 claims abstract description 137
- 230000004044 response Effects 0.000 claims abstract description 107
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000012795 verification Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 abstract description 13
- 238000004891 communication Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种社交关系的构建方法、装置、服务器及存储介质,涉及即时通信技术领域。该方法包括:向第二即时通信服务器转发第一即时通信服务器发送的准备请求,准备请求用于指示第二即时通信服务器准备写入数据;向第一即时通信服务器转发第二即时通信服务器发送的准备完成应答,以使得第一即时通信服务器基于准备完成应答写入社交关系数据,社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系;向第二即时通信服务器转发第一即时通信服务器发送的提交请求,以使得第二即时通信服务器基于提交请求写入所述社交关系数据。在上述先准备后提交机制下,在数据写入阶段即能够保证数据一致性,有助于提高即时通信系统的可用性。
Description
技术领域
本申请实施例涉及即时通信技术领域,特别涉及一种社交关系的构建方法、装置、服务器及存储介质。
背景技术
即时通信应用是一种通过即时通信技术实现文字或音视频交流的应用。常见的即时通信应用包括工作类即时通信应用和社交类即时通信应用。
为了提高沟通的便捷性,不同即时通信应用之间已经实现了消息互通。在进行消息收发前,帐号之间首先需要构建社交关系,且为了保证后续消息收发功能的可用性,不同即时通信应用的服务器中需要维护相同的社交关系数据。比如,工作类即时通信应用中的帐号A和社交类即时通信应用中的帐号B建立社交关系后,工作类类即时通信应用以及社交类即时通信应用的服务器需要存储帐号A和帐号B之间的社交关系数据,
相关技术中,在构建社交关系时,不同即时通信应用的服务器同步写入社交关系数据,并通过定时校验机制,确保服务器中社交关系数据的一致性。然后,这种定时校验机制下存在一段窗口期,若在这个窗口期内数据不一致,将影响消息互通功能的可用性。
发明内容
本申请实施例提供了一种社交关系的构建方法、装置、服务器及存储介质,能够保证不同即时通信服务器中社交关系数据的一致性,从而提高即时通信应用间消息互通功能的可用性。所述技术方案如下:
一方面,本申请实施例提供了一种社交关系的构建方法,应用于中间服务器,所述方法包括:
向第二即时通信服务器转发第一即时通信服务器发送的准备请求,所述第一即时通信服务器为第一即时通信应用的服务器,所述第二即时通信服务器为第二即时通信应用的服务器,所述准备请求用于指示所述第二即时通信服务器准备写入数据;
向所述第一即时通信服务器转发所述第二即时通信服务器发送的准备完成应答,以使得所述第一即时通信服务器基于所述准备完成应答写入社交关系数据,所述社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系,所述第一帐号为所述第一即时通信应用中的帐号,所述第二帐号为所述第二即时通信应用中的帐号;
向所述第二即时通信服务器转发所述第一即时通信服务器发送的提交请求,以使得所述第二即时通信服务器基于所述提交请求写入所述社交关系数据,所述提交请求由所述第一即时通信服务器完成数据写入时发送。
另一方面,本申请实施例提供了一种社交关系的构建方法,应用于第一即时通信服务器,所述方法包括:
响应于接收到第一帐号发送的验证通过消息,向中间服务器发送准备请求,以使得所述中间服务器向第二即时通信服务器发送所述准备请求,所述验证通过消息指示第二帐号通过所述第一帐号的构建社交关系验证,所述第一帐号为第一即时通信应用中的帐号,所述第二帐号为第二即时通信应用中的帐号;
响应于接收到所述第二即时通信服务器发送的准备完成应答,写入社交关系数据,所述社交关系数据用于表征所述第一帐号与所述第二帐号之间构建有社交关系;
响应于完成数据写入,向所述中间服务器发送提交请求,以使得所述中间服务器向所述第二即时通信服务器转发所述提交请求,所述第二即时通信服务器用于基于所述提交请求写入所述社交关系数据。
另一方面,本申请实施例提供了一种社交关系的构建方法,应用于第二即时通信服务器,所述方法包括:
接收中间服务器发送的准备请求,所述准备请求由所述第一即时通信服务器发送给第一即时通信服务器,所述准备请求用于指示准备写入数据;
向所述中间服务器发送准备完成应答,以使得所述中间服务器向所述第一即时通信服务器发送所述准备完成应答,所述第一即时通信服务器用于基于所述准备完成应答写入社交关系数据,所述社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系,所述第一帐号为第一即时通信应用中的帐号,所述第二帐号为第二即时通信应用中的帐号;
响应于接收到所述中间服务器发送的提交请求,写入所述社交关系数据,所述提交请求由所述第一即时通信服务器完成数据写入时发送。
另一方面,本申请实施例提供了一种社交关系的构建装置,所述装置包括:
第一转发模块,用于向第二即时通信服务器转发第一即时通信服务器发送的准备请求,所述第一即时通信服务器为第一即时通信应用的服务器,所述第二即时通信服务器为第二即时通信应用的服务器,所述准备请求用于指示所述第二即时通信服务器准备写入数据;
第二转发模块,用于向所述第一即时通信服务器转发所述第二即时通信服务器发送的准备完成应答,以使得所述第一即时通信服务器基于所述准备完成应答写入社交关系数据,所述社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系,所述第一帐号为所述第一即时通信应用中的帐号,所述第二帐号为所述第二即时通信应用中的帐号;
第三转发模块,用于向所述第二即时通信服务器转发所述第一即时通信服务器发送的提交请求,以使得所述第二即时通信服务器基于所述提交请求写入所述社交关系数据,所述提交请求由所述第一即时通信服务器完成数据写入时发送。
另一方面,本申请实施例提供了一种社交关系的构建装置,所述装置包括:
准备请求发送模块,用于响应于接收到第一帐号发送的验证通过消息,向中间服务器发送准备请求,以使得所述中间服务器向第二即时通信服务器发送所述准备请求,所述验证通过消息指示第二帐号通过所述第一帐号的构建社交关系验证,所述第一帐号为第一即时通信应用中的帐号,所述第二帐号为第二即时通信应用中的帐号;
第一写入模块,用于响应于接收到所述第二即时通信服务器发送的准备完成应答,写入社交关系数据,所述社交关系数据用于表征所述第一帐号与所述第二帐号之间构建有社交关系;
提交请求发送模块,用于响应于完成数据写入,向所述中间服务器发送提交请求,以使得所述中间服务器向所述第二即时通信服务器转发所述提交请求,所述第二即时通信服务器用于基于所述提交请求写入所述社交关系数据。
另一方面,本申请实施例提供了一种社交关系的构建装置,所述装置包括:
准备请求接收模块,用于接收中间服务器发送的准备请求,所述准备请求由所述第一即时通信服务器发送给第一即时通信服务器,所述准备请求用于指示准备写入数据;
应答发送模块,用于向所述中间服务器发送准备完成应答,以使得所述中间服务器向所述第一即时通信服务器发送所述准备完成应答,所述第一即时通信服务器用于基于所述准备完成应答写入社交关系数据,所述社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系,所述第一帐号为第一即时通信应用中的帐号,所述第二帐号为第二即时通信应用中的帐号;
第二写入模块,用于响应于接收到所述中间服务器发送的提交请求,写入所述社交关系数据,所述提交请求由所述第一即时通信服务器完成数据写入时发送。
另一方面,本申请实施例提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上述方面所述的社交关系的构建方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上述方面所述的社交关系的构建方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。服务器的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该服务器执行上述方面提供的社交关系的构建方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
不同于相关技术中采用同步写入和定时校验机制来保证不同服务器中社交关系数据的一致性,本申请实施例中,第一即时通信服务器在写入社交关系数据前,首先通过中间服务器向第二即时通信服务器发送准备请求,当第二即时通信服务器完成数据写入准备并反馈准备完成应答时,第一即时通信服务器写入社交关系数据,并通过中间服务器向第二即时通信服务器发送提交请求,指示第二即时通信服务器写入社交关系数据;在上述先准备后提交机制下,在数据写入阶段即能够保证数据一致性,无需等待写入后的定时校验,从而避免因定时窗口期内社交关系数据不一致,导致消息互通功能不可用的问题,提高了即时通信系统的可用性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的实施环境的示意图;
图2示出了本申请一个示例性实施例提供的社交关系的构建方法的流程图;
图3是本申请一个示例性实施例示出的社交关系构建过程的界面示意图;
图4是本申请一个示例性实施例示出的服务器间数据交互关系的示意图;
图5示出了本申请另一个示例性实施例提供的社交关系的构建方法的流程图;
图6是本申请一个示例性实施例示出的第一即时通信服务器构建社交关系过程的流程图;
图7是本申请一个示例性实施例示出的社交关系构建过程的时序图;
图8是本申请一个示例性实施例提供的社交关系的构建装置的结构框图;
图9是本申请另一个示例性实施例提供的社交关系的构建装置的结构框图;
图10是本申请另一个示例性实施例提供的社交关系的构建装置的结构框图;
图11示出了本申请一个示例性实施例提供的服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
按照使用场景进行划分,即时通信应用通常可以被划分为工作类即时通信应用和社交类即时通信应用,相较于社交类即时通信应用,工作类即时通信应用具备更强的办公属性。在实现不同即时通信应用之间消息互通前,首先需要在不同即时通信应用帐号(对应不同即时通信应用)之间构建社交关系。
在一种可能的应用场景下,当用户A想要通过社交类即时通信应用与使用工作类即时通信应用的用户B进行沟通时,首先通过社交类即时通信应用发起社交关系构建请求,并等待用户B同意该请求。用户B同意该请求后,第一即时通信服务器(工作类即时通信应用对应的后台服务器)和第二即时通信服务器(社交类即时通信应用对应的后台服务器)中同时写入用户A与用户B之间的社交关系数据,且为了保证第一即时通信服务器和第二即时通信服务器中社交关系数据的一致性,第一即时通信服务器和第二即时通信服务器会定时发起数据一致性校验。
然而,在上述定时校验机制下,社交关系数据同步写入至数据一致性校验之间存在一段窗口期。若因网络波动等原因,导致第一即时通信服务器和第二即时通信服务器中写入的社交关系数据不一致,比如,第一即时通信服务器中写入了社交关系数据,但是第二即时通信服务器中未写入社交关系数据,则在该窗口期内,用户A和用户B之间无法进行消息收发,影响即时通信系统的可用性。
本申请实施例中提出了两段提交方案,在该方案下,不同即时通信应用中帐号之间的社交关系数据非同时写入不同的即时通信服务器,而是第一即时通信服务器接收到验证通过请求时(即建立社交关系的请求通过用户验证),由第一即时通信服务器首先发送准备请求,并在第二即时通信服务器完成准备后,写入社交关系数据;当第一即时通信服务器完成社交关系数据写入后,即向第二即时通信服务器发送提交请求,指示第二即时通信服务器进行社交关系数据写入。通过上述方案,由于在数据写入阶段即能够保证数据一致性,因此不存在不可用窗口期问题,进而提高了即时通信系统的可用性。
图1示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括第一终端110、第一即时通信服务器120、中间服务器130、第二即时通信服务器140以及第二终端150。其中,第一终端110与第一即时通信服务器120之间、第二终端150与第二即时通信服务器140之间、中间服务器130与第二即时通信服务器140之间、中间服务器130与第一即时通信服务器120之间通过通信网络进行数据通信,可选地,通信网络可以是有线网络也可以是无线网络,且该通信网络可以是局域网、城域网以及广域网中的至少一种。
第一终端110是运行有第一即时通信应用的电子设备,第二终端150是运行有第二即时通信应用的电子设备。该电子设备可以是智能手机、平板电脑、膝上便携式笔记本电脑、车载终端等移动终端,也可以是台式电脑、投影式电脑等终端,本申请实施例对此不做限定。
本申请实施例中,第一即时通信应用和第二即时通信应用是支持消息互通的即时通信应用,即第一即时通信应用中的第一帐号与第二即时通信应用中的第二帐号建立社交关系后,第一帐号和第二帐号之间即能够进行跨应用消息收发。在一种可能的实施方式中,第一即时通信应用为工作类即时通信应用和社交类即时通信应用中的任一种,而第二即时通信设备则是工作类即时通信应用和社交类即时通信应用中的另一种。
第一即时通信服务器120为第一即时通信应用的后台服务器,第二即时通信服务器140为第二即时通信应用的后台服务器。第一即时通信服务器120和第二即时通信服务器140可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例中,第一即时通信服务器120和第二即时通信服务器140中维护有即时通信应用中各个帐号对应的社交关系链,且当第一即时通信应用中的第一帐号与第二即时通信应用中的第二帐号之间构建有社交关系时,第一即时通信服务器120和第二即时通信服务器140之间需要向社交关系链中存储相同的社交关系数据。其中,该社交关系包括但不限于好友关系、关注关系、跟随关系等等。
中间服务器130是连接第一即时通信服务器120和第二即时通信服务器140的服务器,用于在(不同即时通信应用)帐号间社交关系构建过程中,负责服务器之间请求的转发。其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群、分布式系统或云服务器。
如图1所示,当第二即时通信应用中登录的第二帐号请求添加第一即时通信应用中登录的第一帐号为好友时,第二终端150即向第二即时通信服务器140发送好友添加验证,当第一终端110中的第一即时通信应用接收到好友添加验证并通过验证后,第一终端110即向第一即时通信服务器120发送好友验证通过消息,触发第一即时通信服务器120与第二即时通信服务器140分别写入社交关系数据。
第一即时通信服务器120首先通过中间服务器130向第二即时通信服务器140发送准备请求,提示第二即时通信服务器140准备写入数据。第二即时通信服务器140准备完成后,通过中间服务器130向第一即时通信服务器120发送准备完成应答。第一即时通信服务器120接收到准备完成应答后,即向本地写入社交关系数据,并进一步通过中间服务器130向第二即时通信服务器140发送提交请求。由于已经做好数据写入准备,因此第二即时通信服务器140接收到提交请求后,即向本地写入社交关系数据,保证与第一即时通信服务器120中数据的一致性。
需要说明的是,上述实施例仅以中间服务器指出双即时通信应用接入为例进行示意性说明,在其他可能的实施方式中,中间服务器还可以支持三个甚至三个以上即时通信应用接入,确保多个即时通信服务器中数据的一致性和可用性,本实施例对此并不构成限定。
为了方便表述,下述各个实施例以社交关系的构建方法应用于图1所示的实施环境为例进行说明。
图2示出了本申请一个示例性实施例提供的社交关系的构建方法的流程图。本实施例以该方法用于图1所示的实施环境为例进行说明,该方法包括如下步骤。
步骤201,响应于接收到第一帐号发送的验证通过消息,第一即时通信服务器向中间服务器发送准备请求。
在一种可能的实施方式中,当第二即时通信应用的第二帐号请求与第一即时通信应用中的第一帐号建立社交关系时,第二终端即向第二即时通信服务器发送验证请求,第二即时通信服务器接收到验证请求后,将该验证请求转发至第一即时通信服务器,由第一即时通信服务器将验证请求发送至第一帐号,并等待第一帐号响应验证请求。其中,第二终端可以通过图形码扫描、帐号搜索、名片推送以及附件搜索等方式,触发向第一帐号发送验证请求,且验证请求中包含第二帐号的帐号信息(包括帐号名称、帐号头像等等)以及验证备注信息。
当接收对验证请求的接受操作时,表明同意在第一帐号和第二帐号之间构建社交关系,第一终端基于第一帐号向第一即时通信服务器发送验证通过消息,指示第二帐号通过第一帐号的构建社交关系验证,以触发第一即时通信服务器和第二即时通信服务器的社交关系数据写入流程。可选的,该验证通过消息中包含第一帐号和第二帐号。
示意性的,如图3所示,社交类即时通信应用中的用户“张三”请求添加工作类即时通信应用中的用户“李四”为好友时,用户“李四”使用的工作类即时通信应用显示基于用户帐号“张三”发送的验证消息31。当接收到对验证通过控件32的触发操作时,第一终端即向第一即时通信服务器(工作类即时通信应用的后台服务器)发送验证通过消息。
由于本申请实施例中采用先准备后提交机制构建社交关系,因此第一即时通信服务器接收到验证通过消息后,并非直接将第一帐号和第二帐号的社交关系数据写入本地存储,而是向中间服务器发送准备请求(preparerequest),指示第二即时通信服务器准备写入数据。可选的,第一即时通信服务器通过http请求的方式向中间服务器发送准备请求,且该准备请求中包含第一帐号和第二帐号。
在一种可能的实施方式中,接收到验证通过消息后,第一即时通信服务器对第一帐号进行鉴权,确定第一帐号是否具备与其他帐号构建社交关系的权限,若具备权限,则向中间服务器发送准备请求;若不具备权限,则拒绝第一帐号的社交关系构建请求。其中,对第一帐号进行鉴权包括但不限于如下方式:社交关系数量上限(比如好友上限)、帐号实名制、帐号违规记录和社交关系构建频率。
步骤202,中间服务器向第二即时通信服务器转发第一即时通信服务器发送的准备请求。
中间服务器作为第一即时通信服务器和第二即时通信服务器之间进行请求转发的中间媒介,将接收到准备请求转发至第一即时通信服务器,提示第二即时通信服务器准备写入社交关系数据。
可选的,中间服务器通过http请求的方式向第二即时通信服务器发送准备请求。
步骤203,第二即时通信服务器接收中间服务器发送的准备请求。
可选的,第二即时通信服务器接收中间服务器通过http方式发送的准备请求。
步骤204,第二即时通信服务器向中间服务器发送准备完成应答。
在一种可能的实施方式中,第二即时通信服务器接收到准备请求后,若网络状态良好,且工作状态正常,即向中间服务器发送准备完成应答,表明已做好数据写入准备。
可选的,第二即时通信服务器还可以对准备请求中包含的第一帐号和第二帐号进行校验,确定是否允许在第一帐号和第二帐号之间构建社交关系。比如,第二即时通信服务器根据准备请求,确定第二帐号是否向第一帐号发起过社交关系构建请求,并在第二帐号发起过社交关系构建请求时,允许构建第一帐号与第二帐号之间的社交关系。
可选的,若第二即时通信服务器的网络出现波动,第二即时通服务器可能无法接收到中间服务器发送的准备请求,或者,无法向中间服务器发送准备完成应答。
步骤205,中间服务器向第一即时通信服务器转发第二即时通信服务器发送的准备完成应答。
相应的,中间服务器将准备完成应答转发至第一即时通信服务器,告知第二即时通信服务器允许后续社交关系数据写入。
步骤206,响应于接收到第二即时通信服务器发送的准备完成应答,第一即时通信服务器写入社交关系数据。
第一即时通信服务器接收到准备完成应答后,表明已经得到第二即时通信服务器写入社交关系数据的承诺,从而将表征第一帐号与第二帐号之间构建有社交关系的社交关系数据写入第一即时通信服务器的本地存储中,完成第一即时通信服务器侧帐号间社交关系的构建。
步骤207,响应于完成数据写入,第一即时通信服务器向中间服务器发送提交请求。
由于在写入数据前,已经得到第二即时通信服务器的数据写入承诺,因此为了保证服务器间数据的一致性,第一即时通信服务器完成数据写入后,向中间服务器发送提交请求(commitrequest),指示第二即时通信服务器向本地存储中写入第一帐号与第二帐号的社交关系数据。可选的,该提交请求中包含第一帐号和第二帐号。
步骤208,中间服务器向第二即时通信服务器转发第一即时通信服务器发送的提交请求。
与准备请求的转发过程类似的,中间服务器将提交请求转发至第二即时通信服务器,以便第二即时通信服务器进行社交关系数据写入。
步骤209,响应于接收到中间服务器发送的提交请求,第二即时通信服务器写入社交关系数据。
在一种可能的实施方式中,第二即时通信服务器接收到提交请求后,若提交请求中包含的帐号与准备请求中包含的帐号一致,则将表征第一帐号与第二帐号之间构建有社交关系的社交关系数据写入第二即时通信服务器的本地存储中,完成第二即时通信服务器侧帐号间社交关系的构建。至此,第一即时通信服务器和第二即时通信中写入的社交关系数据一致,完成帐号间社交关系的构建。
示意性的,如图3所示,第一即时通信服务器和第二即时通信服务器基于验证通过消息完成社交关系构建后,用户“李四”使用的工作类即时通信应用显示与用户“张三”的即时通信界面33。
通过上述prepare+commit机制,为即时通信服务器中社交关系数据的写入过程增加了事务保证,能够避免因网络波动导致多服务器中写入数据不一致的问题,保证了写入阶段的数据一致性,提高了即时通信系统的可用性。
综上所述,本申请实施例中,不同于相关技术中采用同步写入和定时校验机制来保证不同服务器中社交关系数据的一致性,本申请实施例中,第一即时通信服务器在写入社交关系数据前,首先通过中间服务器向第二即时通信服务器发送准备请求,当第二即时通信服务器完成数据写入准备并反馈准备完成应答时,第一即时通信服务器写入社交关系数据,并通过中间服务器向第二即时通信服务器发送提交请求,指示第二即时通信服务器写入社交关系数据;在上述先准备后提交机制下,在数据写入阶段即能够保证数据一致性,无需等待写入后的定时校验,从而避免因定时窗口期内社交关系数据不一致,导致消息互通功能不可用的问题,提高了即时通信系统的可用性。
可选的,向第二即时通信服务器转发第一即时通信服务器发送的准备请求后,若接收到第二即时通信服务器发送的准备失败响应,则表明第二即时通信服务器不允许在第一帐号和第二帐号之间构建社交关系,此时,中间服务器向第一即时通信服务器发送准备失败响应,以使得第一即时通信服务器基于准备失败响应终止写入社交关系数据的流程。避免出现第一即时通信服务器中写入社交关系数据,而第二即时通信服务器中未写入社交关系数据,导致数据不一致的问题。
以第一即时通信应用帐号和第二即时通信应用帐号间构建社交关系为例,如图4所示,第二即时通信应用41通过第二即时通信服务器42、中间服务器43、第一即时通信服务器44向第一即时通信应用45发送好友添加请求后,第一即时通信应用45向第一即时通信服务器44发送验证通过请求。
第一即时通信服务器44接收到验证通过请求后,首先通过逻辑层对第一即时通信帐号进行鉴权,并在鉴权通过后,通过接入层向中间服务器43发送准备请求,由中间服务器43将准备请求转发至第二即时通信服务器42。第二即时通信服务器42通过接入层接收到准备请求后,通过逻辑层对准备请求进行处理,并向中间服务器43发送准备完成应答。中间服务器43将准备完成应答转发至第一即时通信服务器44后,第一即时通信服务器44即通过数据层将社交关系数据写入本方存储。
完成第一即时通信服务器44侧社交关系构建后,第一即时通信服务器44进一步通过中间服务器43向第二即时通信服务器42发送提交请求,由第二即时通信服务器42的逻辑层对提交请求进行处理,并通过数据层将社交关系数据写入本方存储。
第一即时通信服务器44和第二即时通信服务器42均完成社交关系构建后,分别向第一即时通信应用45和第二即时通信应用41发送好友添加成功消息,提示双方可以进行消息收发。
构建社交关系过程中,除了需要在服务器中写入社交关系数据外,还需要执行下发打招呼消息以及频率上报等流程。为了降低同步调用耗时,本申请实施例中,对于非主干流程,中间服务器异步方式进行请求转发。下面采用示例性的实施例进行说明。
图5示出了本申请另一个示例性实施例提供的社交关系的构建方法的流程图。本实施例以该方法用于图1所示的实施环境为例进行说明,该方法包括如下步骤。
步骤501,响应于接收到第一帐号发送的验证通过消息,第一即时通信服务器向中间服务器发送准备请求。
步骤502,中间服务器向第二即时通信服务器转发第一即时通信服务器发送的准备请求。
步骤503,第二即时通信服务器接收中间服务器发送的准备请求。
步骤504,第二即时通信服务器向中间服务器发送准备完成应答。
步骤505,中间服务器向第一即时通信服务器转发第二即时通信服务器发送的准备完成应答。
步骤506,响应于接收到第二即时通信服务器发送的准备完成应答,第一即时通信服务器写入社交关系数据。
上述步骤501至506的实施方式可以参考步骤201至206,本实施例在此不再赘述。
步骤507,响应于在转发准备完成应答后的预设时长内未接收到提交请求,中间服务器向第一即时通信服务器发送超时询问请求。
在一些可能的情况下,当第一即时通信服务器出现网络波动,或者,数据写入功能存在异常时,第一即时通信服务器可能无法接收到中间服务器转发的准备完成应答,或者,无法完成社交关系数据写入。为了能够识别出上述情况,在一种可能的实施方式中,中间服务器转发准备完成应答后,即启动定时器,并检测定时器时长(即预设时长)内是否接收到第一即时通信服务器发送的提交请求。其中,该定时器时长可以由中间服务器预先设置,比如5s。
若在定时器时长时长内未接收到提交请求,中间服务器则向第一即时通信服务器发送超时询问请求(query),询问第一即时通信服务器能够完成社交关系数据写入。
在一种可能的实施方式中,当第一即时通信服务器能够完成社交关系数据写入时,向中间服务器发送提交请求,并触发后续流程;当第一即时通信息服务器无法完成社交关系数据写入时,向中间服务器发送取消请求(cancel),从而结束社交关系数据写入流程,即第一帐号和第二帐号之间的社交关系构建失败,第一即时通信服务器和第二即时通信服务器中均未存储相应的社交关系数据(同样保证了数据一致性)。
可选的,当接收到第一即时通信服务器发送的取消请求时,中间服务器向第二即时通信服务器发送取消请求;第二即时通信服务器接收到取消请求后,终止写入社交关系数据的流程。
步骤508,响应于完成数据写入,第一即时通信服务器向中间服务器发送提交请求。
步骤509,中间服务器接收第一即时通信服务器发送的提交请求。
步骤510,中间服务器向第一即时通信服务器发送提交成功响应。
中间服务器在接收到提交请求后,若采用同步请求方式直接向第二即时通信服务器转发提交请求,第一即时通信服务器需要等待第二即时通信服务器反馈后,才能进行一步触发后续流程,导致延迟较高。
由于第一即时通信服务器在写入社交关系数据前,已经得到第二即时通信服务器写入社交关系数据的承诺(即准备完成应答),因此为了降低延迟,本实施例中,中间服务器接收到提交请求后,并非直接向第二即时通信服务器转发提交请求,而是首先向第一即时通信服务器发送提交成功响应,以此触发第一即时通信服务器执行社交关系建立过程中的非主干流程,既不会影响整体功能造成影响,还能够降低同步调用耗时。
步骤511,第一即时通信服务器基于提交成功响应执行完成社交关系构建后的异步逻辑。
相应的,第一即时通信服务器接收到提交成功响应后,执行本端社交关系构建后的异步逻辑,比如,第一即时通信服务器接收到提交成功响应后,向第一终端下发打招呼消息,本申请实施例并不对异步逻辑的具体内容进行限定。
步骤512,中间服务器采用异步请求方式向第二即时通信服务器发送提交请求。
进一步的,中间服务器采用异步请求方式向第二即时通信服务器发送提交请求,触发第二即时通信服务器侧的社交关系数据写入流程。需要说明的是,中间服务器发送提交成功响应以及异步转发提交请求之间的时间间隔较短,且不会被用户感知,不影响整体功能的正常实现。
步骤513,响应于接收到中间服务器发送的提交请求,第二即时通信服务器写入社交关系数据。
第二即时通信服务器写入社交关系数据的过程中,可能会因为某些原因(比如自身数据写入功能出现问题)导致数据写入失败。由于第一即时通信服务器已经完成了数据写入,因此为了保证数据一致性,进而保证系统可用性,第二即时通信服务器需要向中间服务器反馈提交请求的处理结果,以便中间服务器根据处理结果确定是否需要进行提交重试。
步骤514,响应于接收到第二即时通信服务器发送的提交失败响应,中间服务器向第一即时通信服务器发送失败询问请求。
可选的,当第二即时通信服务器根据提交请求写入社交关系数据失败时,向中间服务器发送提交失败响应,触发中间服务器的提交重试功能。
在一种可能的实施方式中,由于第一即时通信服务器同样可能因某些原因导致社交关系数据写入异常(比如存储资源出现异常,导致写入的社交关系数据异常),因此为了进一步确保数据的一致性,中间服务器接收到提交失败响应后,向第一即时通信服务器发送失败询问请求,询问第一即时通信服务器是否需要尝试重新向第二即时通信服务器发送提交请求。其中,该失败询问请求中可以包括第一帐号和第二帐号。
可选的,第一即时通信服务器接收到失败询问请求后,检测自身社交关系数据是否正确写入本地存储。若正确写入,则向中间服务器发送提交重试请求,指示中间服务器不断进行提交重试,直至第二即时通信服务器成功写入社交关系数据;若未正确写入,则向中间服务器发送取消请求,以使得第二即时通信服务器终止写入社交关系数据的流程,确保第一和第二即时通信服务器中均为写入该社交关系数据,保证数据一致性。
步骤515,响应于接收到第一即时通信服务器发送的提交重试请求,中间服务器向第二即时通信服务器转发提交重试请求。
可选的,当第一即时通信服务器基于失败询问请求确定社交关系数据正确写入时,即向中间服务器发送提交重试请求,中间服务器即向第二即时通信服务器转发提交重试请求,不断进行提交重试,直至第二即时通信服务器成功写入社交关系数据(因为第二即时通信服务器在准备阶段承诺写入)。
步骤516,第二即时通信服务器基于提交重试请求重试写入社交关系数据。
相应的,第二即时通信服务器基于提交重试请求重试写入社交关系数据,直至社交关系数据写入成功。
本实施例中,通过引入异步处理机制,中间服务器在接收到提交请求后,向第一即时通信服务器发送提交成功响应,触发第一即时通信服务器执行异步逻辑,并采用异步方式向第二即时通信服务器发送提交请求,在不影响功能实现的前提下,相较于同步调用方式有助于降低延迟。
此外,本实施例中,中间服务器通过设置超时询问机制以及重试机制,确保第一即时通信服务器和第二即时通信服务器均写入社交关系数据,或,均不写入社交关系数据,确保服务器之间数据的一致性。
需要说明的是,上述实施例中,以中间服务器为执行主体的步骤可以单独实现成为中间服务器侧的社交关系的构建方法,以第一即时通信服务器为执行主体的步骤可以单独实现成为第一即时通信服务器侧的社交关系的构建方法,以第二即时通信服务器为执行主体的步骤可以单独实现成为第二即时通信服务器侧的社交关系的构建方法,本实施例对此不再赘述。
从第一即时通信服务器的角度来看,如图6所示,在实现跨应用社交关系构建时的步骤如下。
步骤601,接收验证通过消息。
步骤602,对第一帐号进行鉴权;若第一帐号通过鉴权,则执行步骤603。
步骤603,向中间服务器发送prepare请求。
步骤604,prepare请求是否成功;若成功,则执行步骤605。
步骤605,写入社交关系数据。
步骤606,向中间服务器发送commit请求。
在一个示意性的例子中,以第二即时通信应用中的第二帐号请求添加第一即时通信应用中的第一帐号为例,如图7所示,第一即时通信服务器接收验证通过消息后,对第一帐号进行鉴权,并在鉴权通过后,通过中间服务器向第二即时通信服务器转发准备请求(preparereq)。第二即时通信服务器完成数据写入准备后,通过中间服务器向第一即时通信服务器发送准备完成应答(return OK),以便第一即时通信服务器写入社交关系数据。
完成社交关系数据写入后,第一即时通信服务器即向中间服务器发送提交请求(commitreq)。其中,中间服务器等待提交请求的过程中进行超时检测,并在超时询问第一即时通信服务器(query)。
中间服务器接收到提交请求后,向第一即时通信服务器反馈提交成功响应(return OK),以便第一即时通信服务器执行异步逻辑。同时,中间服务器采用异步方式向第二即时通信服务器发送提交请求。当第二即时通信服务器的反馈指示提交失败时,中间服务器则进行提交重试询问,并在第一即时通信服务器指示进行提交重试时,重新向第二即时通信服务器发送提交请求,直至第二即时通信服务器成功写入社交关系数据。
图8是本申请一个示例性实施例提供的社交关系的构建装置的结构框图,如图8所示,该装置包括:
第一转发模块801,用于向第二即时通信服务器转发第一即时通信服务器发送的准备请求,所述第一即时通信服务器为第一即时通信应用的服务器,所述第二即时通信服务器为第二即时通信应用的服务器,所述准备请求用于指示所述第二即时通信服务器准备写入数据;
第二转发模块802,用于向所述第一即时通信服务器转发所述第二即时通信服务器发送的准备完成应答,以使得所述第一即时通信服务器基于所述准备完成应答写入社交关系数据,所述社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系,所述第一帐号为所述第一即时通信应用中的帐号,所述第二帐号为所述第二即时通信应用中的帐号;
第三转发模块803,用于向所述第二即时通信服务器转发所述第一即时通信服务器发送的提交请求,以使得所述第二即时通信服务器基于所述提交请求写入所述社交关系数据,所述提交请求由所述第一即时通信服务器完成数据写入时发送。
可选的,第三转发模块803,包括:
提交请求接受单元,用于接收所述第一即时通信服务器发送的所述提交请求;
提交请求发送单元,用于采用异步请求方式向所述第二即时通信服务器发送所述提交请求。
可选的,所述第三转发模块803,还包括:
成功响应发送单元,用于向所述第一即时通信服务器发送提交成功响应,以使得所述第一即时通信服务器执行完成社交关系构建后的异步逻辑。
可选的,所述装置还包括:
第一询问模块,用于响应于接收到所述第二即时通信服务器发送的提交失败响应,向所述第一即时通信服务器发送失败询问请求;
重试请求转发模块,用于响应于接收到所述第一即时通信服务器发送的提交重试请求,向所述第二即时通信服务器转发所述提交重试请求,以使得所述第二即时通信服务器基于所述提交重试请求重试写入所述社交关系数据,所述提交重试请求由所述第一即时通信服务器基于所述失败询问请求确定所述社交关系数据正确写入时发送。
可选的,所述装置还包括:
第一取消模块,用于响应于接收到所述第一即时通信服务器发送的取消请求,向所述第二即时通信服务器发送所述取消请求,以使得所述第二即时通信服务器终止写入所述社交关系数据的流程,所述取消请求由所述第一即时通信服务器基于所述失败询问请求确定所述社交关系数据未正确写入时发送。
可选的,所述装置包括:
第二询问模块,用于响应于在转发所述准备完成应答后的预设时长内未接收到所述提交请求,向所述第一即时通信服务器发送超时询问请求。
可选的,所述装置还包括:
第二取消模块,用于响应于接收到所述第一即时通信服务器发送的取消请求,向所述第二即时通信服务器发送所述取消请求,以使得所述第二即时通信服务器终止写入所述社交关系数据的流程。
可选的,所述装置还包括:
失败响应转发模块,用于响应于接收到所述第二即时通信服务器发送的准备失败响应,向所述第一即时通信服务器发送所述准备失败响应,以使得所述第一即时通信服务器基于所述准备失败响应终止写入所述社交关系数据的流程。
图9是本申请另一个示例性实施例提供的社交关系的构建装置的结构框图,如图9所示,该装置包括:
准备请求发送模块901,用于响应于接收到第一帐号发送的验证通过消息,向中间服务器发送准备请求,以使得所述中间服务器向第二即时通信服务器发送所述准备请求,所述验证通过消息指示第二帐号通过所述第一帐号的构建社交关系验证,所述第一帐号为第一即时通信应用中的帐号,所述第二帐号为第二即时通信应用中的帐号;
第一写入模块902,用于响应于接收到所述第二即时通信服务器发送的准备完成应答,写入社交关系数据,所述社交关系数据用于表征所述第一帐号与所述第二帐号之间构建有社交关系;
提交请求发送模块903,用于响应于完成数据写入,向所述中间服务器发送提交请求,以使得所述中间服务器向所述第二即时通信服务器转发所述提交请求,所述第二即时通信服务器用于基于所述提交请求写入所述社交关系数据。
图10是本申请另一个示例性实施例提供的社交关系的构建装置的结构框图,如图10所示,该装置包括:
准备请求接收模块1001,用于接收中间服务器发送的准备请求,所述准备请求由所述第一即时通信服务器发送给第一即时通信服务器,所述准备请求用于指示准备写入数据;
应答发送模块1002,用于向所述中间服务器发送准备完成应答,以使得所述中间服务器向所述第一即时通信服务器发送所述准备完成应答,所述第一即时通信服务器用于基于所述准备完成应答写入社交关系数据,所述社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系,所述第一帐号为第一即时通信应用中的帐号,所述第二帐号为第二即时通信应用中的帐号;
第二写入模块1003,用于响应于接收到所述中间服务器发送的提交请求,写入所述社交关系数据,所述提交请求由所述第一即时通信服务器完成数据写入时发送。
需要说明的是:上述实施例提供的社交关系的构建装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其实现过程详见方法实施例,这里不再赘述。
请参考图11,其示出了本申请一个示例性实施例提供的服务器的结构示意图。具体来讲:所述服务器1300包括中央处理单元(Central Processing Unit,CPU)1301、包括随机存取存储器1302和只读存储器1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述服务器1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机可读介质为服务器1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括随机存取记忆体(RAM,Random Access Memory)、只读存储器(ROM,Read Only Memory)、闪存或其他固态存储其技术,只读光盘(Compact Disc Read-Only Memory,CD-ROM)、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1301执行,一个或多个程序包含用于实现上述方法的指令,中央处理单元1301执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述服务器1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1300可以通过连接在所述系统总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由中间服务器、第一即时通信服务器或第二即时通信服务器所执行的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上述方面所述的社交关系的构建方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。服务器的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该服务器执行上述实施例所述的社交关系的构建方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种社交关系的构建方法,其特征在于,应用于中间服务器,所述方法包括:
向第二即时通信服务器转发第一即时通信服务器发送的准备请求,所述第一即时通信服务器为第一即时通信应用的服务器,所述第二即时通信服务器为第二即时通信应用的服务器,所述准备请求用于指示所述第二即时通信服务器准备写入数据;
向所述第一即时通信服务器转发所述第二即时通信服务器发送的准备完成应答,以使得所述第一即时通信服务器基于所述准备完成应答写入社交关系数据,所述社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系,所述第一帐号为所述第一即时通信应用中的帐号,所述第二帐号为所述第二即时通信应用中的帐号;
向所述第二即时通信服务器转发所述第一即时通信服务器发送的提交请求,以使得所述第二即时通信服务器基于所述提交请求写入所述社交关系数据,所述提交请求由所述第一即时通信服务器完成数据写入时发送。
2.根据权利要求1所述的方法,其特征在于,所述向所述第二即时通信服务器转发所述第一即时通信服务器发送的提交请求,包括:
接收所述第一即时通信服务器发送的所述提交请求;
采用异步请求方式向所述第二即时通信服务器发送所述提交请求。
3.根据权利要求2所述的方法,其特征在于,所述采用异步请求方式向所述第二即时通信服务器发送所述提交请求之前,所述方法还包括:
向所述第一即时通信服务器发送提交成功响应,以使得所述第一即时通信服务器执行完成社交关系构建后的异步逻辑。
4.根据权利要求3所述的方法,其特征在于,所述向所述第二即时通信服务器转发所述第一即时通信服务器发送的提交请求之后,所述方法还包括:
响应于接收到所述第二即时通信服务器发送的提交失败响应,向所述第一即时通信服务器发送失败询问请求;
响应于接收到所述第一即时通信服务器发送的提交重试请求,向所述第二即时通信服务器转发所述提交重试请求,以使得所述第二即时通信服务器基于所述提交重试请求重试写入所述社交关系数据,所述提交重试请求由所述第一即时通信服务器基于所述失败询问请求确定所述社交关系数据正确写入时发送。
5.根据权利要求4所述的方法,其特征在于,所述向所述第一即时通信服务器发送失败询问请求之后,所述方法还包括:
响应于接收到所述第一即时通信服务器发送的取消请求,向所述第二即时通信服务器发送所述取消请求,以使得所述第二即时通信服务器终止写入所述社交关系数据的流程,所述取消请求由所述第一即时通信服务器基于所述失败询问请求确定所述社交关系数据未正确写入时发送。
6.根据权利要求1至5任一所述的方法,其特征在于,所述向所述第二即时通信服务器转发所述第一即时通信服务器发送的提交请求之前,所述方法还包括:
响应于在转发所述准备完成应答后的预设时长内未接收到所述提交请求,向所述第一即时通信服务器发送超时询问请求。
7.根据权利要求6所述的方法,其特征在于,所述向所述第一即时通信服务器发送超时询问请求之后,所述方法还包括:
响应于接收到所述第一即时通信服务器发送的取消请求,向所述第二即时通信服务器发送所述取消请求,以使得所述第二即时通信服务器终止写入所述社交关系数据的流程。
8.根据权利要求1至5任一所述的方法,其特征在于,所述向第二即时通信服务器转发第一即时通信服务器发送的准备请求之后,所述方法还包括:
响应于接收到所述第二即时通信服务器发送的准备失败响应,向所述第一即时通信服务器发送所述准备失败响应,以使得所述第一即时通信服务器基于所述准备失败响应终止写入所述社交关系数据的流程。
9.一种社交关系的构建方法,其特征在于,应用于第一即时通信服务器,所述方法包括:
响应于接收到第一帐号发送的验证通过消息,向中间服务器发送准备请求,以使得所述中间服务器向第二即时通信服务器发送所述准备请求,所述验证通过消息指示第二帐号通过所述第一帐号的构建社交关系验证,所述第一帐号为第一即时通信应用中的帐号,所述第二帐号为第二即时通信应用中的帐号;
响应于接收到所述第二即时通信服务器发送的准备完成应答,写入社交关系数据,所述社交关系数据用于表征所述第一帐号与所述第二帐号之间构建有社交关系;
响应于完成数据写入,向所述中间服务器发送提交请求,以使得所述中间服务器向所述第二即时通信服务器转发所述提交请求,所述第二即时通信服务器用于基于所述提交请求写入所述社交关系数据。
10.一种社交关系的构建方法,其特征在于,应用于第二即时通信服务器,所述方法包括:
接收中间服务器发送的准备请求,所述准备请求由第一即时通信服务器发送给所述第二即时通信服务器,所述准备请求用于指示准备写入数据;
向所述中间服务器发送准备完成应答,以使得所述中间服务器向所述第一即时通信服务器发送所述准备完成应答,所述第一即时通信服务器用于基于所述准备完成应答写入社交关系数据,所述社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系,所述第一帐号为第一即时通信应用中的帐号,所述第二帐号为第二即时通信应用中的帐号;
响应于接收到所述中间服务器发送的提交请求,写入所述社交关系数据,所述提交请求由所述第一即时通信服务器完成数据写入时发送。
11.一种社交关系的构建装置,其特征在于,所述装置包括:
第一转发模块,用于向第二即时通信服务器转发第一即时通信服务器发送的准备请求,所述第一即时通信服务器为第一即时通信应用的服务器,所述第二即时通信服务器为第二即时通信应用的服务器,所述准备请求用于指示所述第二即时通信服务器准备写入数据;
第二转发模块,用于向所述第一即时通信服务器转发所述第二即时通信服务器发送的准备完成应答,以使得所述第一即时通信服务器基于所述准备完成应答写入社交关系数据,所述社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系,所述第一帐号为所述第一即时通信应用中的帐号,所述第二帐号为所述第二即时通信应用中的帐号;
第三转发模块,用于向所述第二即时通信服务器转发所述第一即时通信服务器发送的提交请求,以使得所述第二即时通信服务器基于所述提交请求写入所述社交关系数据,所述提交请求由所述第一即时通信服务器完成数据写入时发送。
12.一种社交关系的构建装置,其特征在于,所述装置包括:
准备请求发送模块,用于响应于接收到第一帐号发送的验证通过消息,向中间服务器发送准备请求,以使得所述中间服务器向第二即时通信服务器发送所述准备请求,所述验证通过消息指示第二帐号通过所述第一帐号的构建社交关系验证,所述第一帐号为第一即时通信应用中的帐号,所述第二帐号为第二即时通信应用中的帐号;
第一写入模块,用于响应于接收到所述第二即时通信服务器发送的准备完成应答,写入社交关系数据,所述社交关系数据用于表征所述第一帐号与所述第二帐号之间构建有社交关系;
提交请求发送模块,用于响应于完成数据写入,向所述中间服务器发送提交请求,以使得所述中间服务器向所述第二即时通信服务器转发所述提交请求,所述第二即时通信服务器用于基于所述提交请求写入所述社交关系数据。
13.一种社交关系的构建装置,其特征在于,所述装置包括:
准备请求接收模块,用于接收中间服务器发送的准备请求,所述准备请求由第一即时通信服务器发送给第二即时通信服务器,所述准备请求用于指示准备写入数据;
应答发送模块,用于向所述中间服务器发送准备完成应答,以使得所述中间服务器向所述第一即时通信服务器发送所述准备完成应答,所述第一即时通信服务器用于基于所述准备完成应答写入社交关系数据,所述社交关系数据用于表征第一帐号与第二帐号之间构建有社交关系,所述第一帐号为第一即时通信应用中的帐号,所述第二帐号为第二即时通信应用中的帐号;
第二写入模块,用于响应于接收到所述中间服务器发送的提交请求,写入所述社交关系数据,所述提交请求由所述第一即时通信服务器完成数据写入时发送。
14.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至8任一所述的社交关系的构建方法,或,实现如权利要求9所述的社交关系的构建方法,或,实现如权利要求10所述的社交关系的构建方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至8任一所述的社交关系的构建方法,或,实现如权利要求9所述的社交关系的构建方法,或,实现如权利要求10所述的社交关系的构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110003660.5A CN114765596B (zh) | 2021-01-04 | 2021-01-04 | 社交关系的构建方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110003660.5A CN114765596B (zh) | 2021-01-04 | 2021-01-04 | 社交关系的构建方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114765596A CN114765596A (zh) | 2022-07-19 |
CN114765596B true CN114765596B (zh) | 2023-12-01 |
Family
ID=82363667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110003660.5A Active CN114765596B (zh) | 2021-01-04 | 2021-01-04 | 社交关系的构建方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114765596B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413073A (zh) * | 2011-11-30 | 2012-04-11 | 中兴通讯股份有限公司 | 即时消息发送方法和装置 |
CN102958008A (zh) * | 2011-08-26 | 2013-03-06 | 阿里巴巴集团控股有限公司 | 一种实现即时通讯的方法、系统和移动终端 |
WO2014201838A1 (zh) * | 2013-06-19 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 社交信息推送方法和系统、推送服务器和存储介质 |
CN104935496A (zh) * | 2014-03-19 | 2015-09-23 | 腾讯科技(深圳)有限公司 | 即时通信方法、系统、装置和即时通信终端 |
CN105049340A (zh) * | 2015-08-14 | 2015-11-11 | 北京奇虎科技有限公司 | 一种基于即时通讯接入智能设备的方法和装置 |
CN106487644A (zh) * | 2015-08-28 | 2017-03-08 | 中国移动通信集团公司 | 一种通信方法和系统 |
WO2017054510A1 (zh) * | 2015-09-30 | 2017-04-06 | 北京奇虎科技有限公司 | 一种通话过程中的数据通信方法、装置和系统 |
CN107809368A (zh) * | 2016-09-09 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 信息过滤方法及装置 |
CN111597455A (zh) * | 2020-04-29 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 社交关系的建立方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8090779B2 (en) * | 2007-02-20 | 2012-01-03 | Google Inc. | Systems and methods for viewing media content in instant messaging |
US10395246B2 (en) * | 2013-12-30 | 2019-08-27 | Tencent Technology (Shenzhen) Company Limited | System and method for verifying identity information using a social networking application |
CN104144206B (zh) * | 2014-05-29 | 2016-10-26 | 腾讯科技(深圳)有限公司 | 一种界面加载方法、系统及装置 |
CN107623668A (zh) * | 2016-07-16 | 2018-01-23 | 华为技术有限公司 | 一种网络认证方法、相关设备及系统 |
-
2021
- 2021-01-04 CN CN202110003660.5A patent/CN114765596B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102958008A (zh) * | 2011-08-26 | 2013-03-06 | 阿里巴巴集团控股有限公司 | 一种实现即时通讯的方法、系统和移动终端 |
CN102413073A (zh) * | 2011-11-30 | 2012-04-11 | 中兴通讯股份有限公司 | 即时消息发送方法和装置 |
WO2014201838A1 (zh) * | 2013-06-19 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 社交信息推送方法和系统、推送服务器和存储介质 |
CN104935496A (zh) * | 2014-03-19 | 2015-09-23 | 腾讯科技(深圳)有限公司 | 即时通信方法、系统、装置和即时通信终端 |
CN105049340A (zh) * | 2015-08-14 | 2015-11-11 | 北京奇虎科技有限公司 | 一种基于即时通讯接入智能设备的方法和装置 |
CN106487644A (zh) * | 2015-08-28 | 2017-03-08 | 中国移动通信集团公司 | 一种通信方法和系统 |
WO2017054510A1 (zh) * | 2015-09-30 | 2017-04-06 | 北京奇虎科技有限公司 | 一种通话过程中的数据通信方法、装置和系统 |
CN107809368A (zh) * | 2016-09-09 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 信息过滤方法及装置 |
CN111597455A (zh) * | 2020-04-29 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 社交关系的建立方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114765596A (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11126981B2 (en) | Resource transferring method and apparatus | |
US10530716B2 (en) | Voice chat mode self-adapting method and apparatus | |
CN112835688A (zh) | 分布式事务处理方法、设备及存储介质 | |
US9264414B2 (en) | Retry and snapshot enabled cross-platform synchronized communication queue | |
US11954396B2 (en) | Screen projection status determining method and apparatus | |
JP2015520440A (ja) | 分散合意プロトコルにおいてcrud型のプロトコルをバインドする | |
CN111953784B (zh) | 基于异步通信框架的文件传输方法、装置及系统 | |
US10609272B2 (en) | Method, device and computer readable medium for communication using smart video cameras | |
EP3352415A1 (en) | Smb service failure handling method, and storage device | |
CN112995262B (zh) | 分布式事务提交方法、系统及计算设备 | |
CN109614271A (zh) | 多个集群数据一致性的控制方法、装置、设备及存储介质 | |
CN110928887A (zh) | 一种数据处理方法及装置 | |
US10425778B2 (en) | Distributed transactions on mobile devices via a messaging service provided by a mobile network operator | |
CN115002690A (zh) | 基于5g消息的用户信息快速采集系统、方法及装置 | |
CN111028076A (zh) | 基于异步处理的银行线上开户方法、装置及存储介质 | |
US20210019705A1 (en) | Method and apparatus for sharing data across groups | |
CN114765596B (zh) | 社交关系的构建方法、装置、服务器及存储介质 | |
WO2020119608A1 (zh) | 基于Spark Shuffle的远程直接内存访问系统及方法 | |
US20200084286A1 (en) | Method, apparatus and system for call prompting | |
CN111461659A (zh) | 基于大数据的个人合同业务处理方法、装置、介质及设备 | |
CN114390239B (zh) | 通信方法、装置、系统、电子设备以及存储介质 | |
CN110673970A (zh) | 一种基于web应用的跨进程调用系统及方法 | |
CN115811538A (zh) | 数字钥匙业务的请求和处理方法、装置、系统和介质 | |
CN114039981B (zh) | 一种消息处理方法、装置、服务器及存储介质 | |
CN114281373A (zh) | 设备状态更新方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40071938 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |