1.本发明实施例涉及计算机技术领域,尤其涉及一种即时通讯的链路连接方法、装置、设备及存储介质。
背景技术:
2.短轮询的优点是服务器反应快,但是其发起的多次请求会造成浏览器的响应时间延长,从而延长用户的等待时间。在浏览网页的过程中,可能会通过逐渐加载资源,在这种应用情境下,长轮询和短轮询的优劣并不明显。但是当应用场景转换到即时通讯时,短链接由于要频繁发起服务器请求,所引起的多次请求处理会同时占用客户端和服务端的大批资源,这样可能会造成聊天过程中的卡顿的反应。具体原因如下,在客户端发出消息同时,由于每次的轮询时间过短,整个输入消息的过程要包括多次轮询过程,那么在轮询过程中,每次都需要封装https请求,就会造成资源的浪费。同时,若用户量增多时,发出的短时间轮询请求会大量占用服务器资源,有可能造成宕机。由此可见,短轮询的通讯方式并不适用于即时通讯场景。
技术实现要素:
3.本发明实施例提供一种即时通讯的链路连接方法、装置、设备及存储介质,采用长轮询机制建立即时通讯双方的链路连接,可以大规模的节省资源。
4.第一方面,本发明实施例提供了一种即时通讯的链路连接方法,包括:
5.接收通讯发起方发送的消息报文;其中,所述消息报文携带即时消息及一个或者多个通讯接收方的标识码;
6.确定所述一个或者多个通讯接收方的登录状态;
7.对于登录状态为在线的通讯接收方,建立所述通讯发起方与所述通讯接收方间的通讯链路,将所述即时消息通过所述通讯链路发送至所述通讯接收方,并保持所述通讯链路处于连通状态为设定时长;
8.对于登录状态为离线的通讯接收方,将所述即时消息备份至数据库。
9.第二方面,本发明实施例还提供了一种即时通讯的链路连接装置,其特征在于,包括:
10.消息报文接收模块,用于接收通讯发起方发送的消息报文;其中,所述消息报文携带即时消息及一个或者多个通讯接收方的标识码;
11.登录状态确定模块,用于确定所述一个或者多个通讯接收方的登录状态;
12.通讯链路建立模块,用于对于登录状态为在线的通讯接收方,建立所述通讯发起方与所述通讯接收方间的通讯链路,将所述即时消息通过所述通讯链路发送至所述通讯接收方,并保持所述通讯链路处于连通状态为设定时长;
13.即时消息备份模块,用于对于登录状态为离线的通讯接收方,将所述即时消息备份至数据库。
14.第三方面,本发明实施例还提供了一种计算机设备,所述设备包括:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例所述的即时通讯的链路连接方法。
15.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理装置执行时实现如本发明实施例所述的即时通讯的链路连接方法。
16.本发明实施例公开了一种即时通讯的链路连接方法、装置、设备及存储介质。该方法包括:接收通讯发起方发送的消息报文;其中,消息报文携带即时消息及一个或者多个通讯接收方的标识码;确定一个或者多个通讯接收方的登录状态;对于登录状态为在线的通讯接收方,建立通讯发起方与通讯接收方间的通讯链路,将即时消息通过通讯链路发送至通讯接收方,并保持通讯链路处于连通状态为设定时长;对于登录状态为离线的通讯接收方,将即时消息备份至数据库。本发明实施例提供即时通讯的链路连接方法,采用长轮询机制建立即时通讯双方的链路连接,可以大规模的节省资源。
附图说明
17.图1为本发明实施例一提供的一种即时通讯的链路连接方法的流程图;
18.图2为本发明实施例二提供的一种即时通讯的链路连接装置的结构示意图;
19.图3为本发明实施例三提供的一种计算机设备的结构示意图。
具体实施方式
20.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
21.实施例一
22.为保持金融业务的畅通,增加业务人员与客户的交流有效性,在金融客户端逐渐开放了实时通讯功能。实时通讯功能一方面能解决客户与业务管理人员的延时性,让信息交流更加通畅;另外实时通讯功能能发送与接收多种不同类型的消息,包括通信消息、页面链接、通讯客户名片等多方式的消息类型。对于此种特殊应用场景、往常的单一消息接收并不能满足适用于多种消息类型的实时通讯。因此要在往常的单一消息接收的基础上进行消息封装和通讯链路改进。
23.金融客户端发起实时通讯方式涉及多种。首先金融业务相关应用程序(application,app)的通讯主体为客户端使用客户,客户类型包括客户、管理员、业务员、管理员兼业务员等。此种客户类型配置有利于针对不同客户的业务需求完成不同的客户权限配置。客户主体信息同时也包括用户登录状态、用户登陆时间等多维度讯息。其中用户通讯类型也分为点对点通讯接收与多人通讯讯息接收,两种从人员维度分类的主要通讯方式所采用的通讯链路保持方式也截然不同。
24.首先对客户端的通讯消息发起部分进行介绍。客户端的使用主体是客户。通讯功能只是作为客户中拥有功能的一部分。进入金融业务app,点击通讯模块,可以与当前的好友直接发起聊天。或者在查看各种金融业务相关的讯息时,客户端将提供给用户联系其他用户的渠道,通过讯息渠道,用户之间可以互发消息。对于用户来说,当通讯对象只有一名
客户时,将出现经典聊天页面。用户通过在输入框内输入消息,并点击发送按钮,上方屏幕会出现发送气泡和消息。整个操作过程为客户端发送点对点消息的方式之一。同时app支持意向、债券、存单等业务信息的分享,该类信息的主体为app内页面链接,在页面中的显示形式表现为方框类信息。两种形式的信息均支持实时收发。
25.对于多用户参与的群聊讯息发送方式,app客户端提供发起群聊按钮。可以将多个用户共同纳入消息共享群体,并享有消息发送与接收权。与单人点对点的通讯方式不同的是,群聊模式需要同时保持来自多个用户的消息并实时分享至多个用户。同时该群聊消息链路与单人聊天的讯息链路并不冲突。
26.作为单一app用户,所有群聊和单人聊天的消息发送记录将被记录在通讯模块的消息子页面,通过点击不同的消息记录可查看以往的消息记录。而通讯的实时性主要表现为客户的实时发送和实时接收,该过程由整个消息系统完成。接收后的消息将被保存到后台服务端客户端本地两端,保证用户在登陆时能够在第一时间查看消息,在未登录时服务端将实时记录消息收发过程。
27.图1为本发明实施例一提供的一种即时通讯的链路连接方法的流程图,本实施例可适用于建立即时通讯中的链路连接的情况,该方法可以由即时通讯的链路连接装置来执行,该装置可以设置于服务器或者服务器集群中。如图1所示,该方法具体包括如下步骤:
28.步骤110,接收通讯发起方发送的消息报文。
29.其中,消息报文携带即时消息及一个或者多个通讯接收方的标识码。示例性的,消息报文可以是用户与用户之间传输消息格式为json报文。即时消息可以包含不同形式的消息格式,消息格式可以是文本、名片、图片、语音等。一条即时消息可以包括多种属性,如文本、发送方昵称、发送方机构名、头像代码等,其中文本内容为最主要内容。不同类型的消息,文本属性的内容也不相同。对于单纯文字消息,其文本属性内容与文字消息一致,该种消息为最简单形式。另外一种为分享消息,包括名片分享、信息分享、表格分享等。对于在该类消息中,文本属性的内容一般以json形式出现,其中包括表格、确认信息、名片等形式,所有信息在存储时以json形式存储,在解析时会对应样式进行解析。而在发送时也是以json形式进行发送。另外一种形式包括图片、文件、语音等形式,所有该类消息会生成一个对应存储码存储到文件服务器,在消息发送过程中只要发送文件存储码和文件类型的json报文消息,发送成功后,接收方客户端会对其格式进行解析,再通过json报文格式中的存储码获取得到文件本身。整个文件传输过程会减少传输时间。
30.消息报文携带一个或者多个通讯接收方的标识码,该标识码用于标识接收即时消息的通讯接收方。每个标识码与每个通讯接收方具有一一对应的关系。通讯接收方的标识码可以是通讯接收方的机构代码,也可以是其他唯一表示通讯接收方的代码,此处不做具体限定。
31.具体的,当用户发起方发起通讯时,用户发起方向服务器发送消息报文,服务器对接收到的消息报文进行解析。根据接收到的消息报文,该服务器可以解析出消息报文中包含的即时消息相关内容以及一个或者多个通讯接收方的标识码。根据标识码可以确定与通讯发起方进行通讯的通讯接收方,通讯接收方可以是一个也可以是多个,根据即时信息可以确定通讯接收方接收的相关内容。当应用场景中通讯发起方和通讯接收方为一对一进行通讯时,消息报文携带一个通讯接收方的标识码;当应用场景为多个参与方群聊时,其中一
方为通讯发起方,其余参与者为通讯接收方,消息报文携带每一个通讯接收方的标识码。
32.s120,确定一个或者多个通讯接收方的登录状态。
33.其中,通讯接收方的登录状态可以包括在线和离线。本步骤查询步骤110中通过标识码确定的通讯接收方的登录状态,针对通讯接收方的登录状态从而确定是否可以建立通讯发起方与通讯接收方的通讯链路。若通讯接收方为在线状态,则可以建立通讯发起方与通讯接收方的通讯链路,进而该通讯发起方与通讯接收方可以进行后续的通讯。若通讯接收方为离线状态,则可以做其他处理。
34.s130,对于登录状态为在线的通讯接收方,建立通讯发起方与通讯接收方间的通讯链路,将即时消息通过通讯链路发送至通讯接收方,并保持通讯链路处于连通状态为设定时长。
35.具体的,当通讯接收方的登录状态为在线时,则建立长轮询机制,建立发起方与通讯接收方间的通讯链路,将即时消息通过通讯链路发送至通讯接收方,并在服务器和网络中分配带宽和内存来保持通讯链路处于连通状态为设定时长。
36.每次发送不同格式的即时消息,都会进行一次消息记录并将即时消息详细内容记录至数据库,同时作为消息会话保持的计时器会记录当时时间,而对于不同类型的消息的记录时间是按已送达的时间进行计算,而不包括解析消息和下载文件的时间。其中,设定时长的取值可以根据实际需求进行设定,若通讯发起方与通讯接收方通讯较频繁,可以把设定时长的取值设置的大一些;若通讯发起方与通讯接收方通讯较少,可以把设定时长的取值设置的小一些。
37.当应用场景中通讯发起方和通讯接收方为一对一进行通讯时,若通讯接收方登录状态为在线,则建立通讯发起方和通讯接收方之间的通讯链路。例如,若通讯发起方a与通讯接收方b进行通讯,若通讯接收方b的登录状态为在线时,则建立通讯发起方a与通讯接收方b之间的通讯链路。当应用场景为多个参与方群聊时,根据消息报文携带每一个通讯接收方的标识码,确定标识码对应的通讯接收方登录状态是否为在线,所有在线状态下的参与方会被直接加入群组当中,通讯发起方分别与各个参与方建立通讯链路。例如,若通讯发起方a与通讯接收方b、c进行通讯,若通讯接收方b、c的登录状态为在线时,则建立通讯发起方a与通讯接收方b之间的通讯链路、以及通讯发起方a与通讯接收方c之间的通讯链路。
38.s140,对于登录状态为离线的通讯接收方,将即时消息备份至数据库。
39.具体的,当通讯接收方的登录状态为离线时,则无法建立长轮询机制,此时可以把即时消息存储到数据库中进行备份,此时,该通讯接收方并不会实时接收到即时消息。当登录状态再次为在线时,通讯接收方可以从数据库中获取即时消息。
40.本发明实施例公开了一种即时通讯的链路连接方法。该方法包括:接收通讯发起方发送的消息报文;其中,消息报文携带即时消息及一个或者多个通讯接收方的标识码;确定一个或者多个通讯接收方的登录状态;对于登录状态为在线的通讯接收方,建立通讯发起方与通讯接收方间的通讯链路,将即时消息通过通讯链路发送至通讯接收方,并保持通讯链路处于连通状态为设定时长;对于登录状态为离线的通讯接收方,将即时消息备份至数据库。本发明实施例提供即时通讯的链路连接方法,采用长轮询机制建立即时通讯双方的链路连接,可以大规模的节省资源。
41.作为本发明实施例的可选实施例,在上述实施例的基础上,在保持通讯链路处于
连通状态为设定时长之后,还包括:若在设定时长内接收到通讯发起方和/或通讯接收方发送的即时消息,则重置通讯链路保持在连通状态为设定时长。
42.具体的,保持通讯链路处于连通状态为设定时长,若在设定时长内通讯接收方通过该链路接收到通讯发起方发送的即时消息或者若在设定时长内通讯发起方通过该链路接收到通讯接收方发送的即时消息,即通讯接收方和通讯发起方之间在设定时长内有即时信息交换,则重置通讯链路保持在连通状态为设定时长。也可以理解成,将轮询时间进行重置,通讯发起方和通讯接收方若一直保持消息互换的话,该通信链路就会一直保持为连通状态。
43.可选的,在保持通讯链路处于连通状态为设定时长之后,还包括:若在设定时长内未接接收到通讯发起方及通讯接收方发送的即时消息,则断开通讯链路。
44.具体的,保持通讯链路处于连通状态为设定时长,若在设定时长内通讯接收方通过该链路未接收到通讯发起方发送的即时消息且在设定时长内通讯发起方通过该链路未接收到通讯接收方发送的即时消息,即通讯接收方和通讯发起方之间在设定时长内无即时信息交换,则断开通讯链路。也可以理解成,当通讯发起方和通讯接收方为无即时消息交换时,就会在设定时间结束时释放该通讯链路资源,至此为一个通讯链路的结束。比起保留所有消息链路要节省很多网络带宽和服务器资源。
45.作为本发明实施例的可选实施例,在上述实施例的基础上,若消息报文中携带有多个通讯接收方,则通讯发起方和多个通讯接收方组成一个群组。在保持通讯链路处于连通状态为设定时长之后,还包括:
46.a)若在设定时长内接收到群组中通讯接收方发送的即时消息,则建立通讯接收方与登录状态为在线的其余通讯接收方间的通讯链路。
47.本实施例中,当应用场景为多个参与方群聊时,根据消息报文携带每一个通讯接收方的标识码,确定对应标识码的通讯接收方登录状态是否为在线,所有在线状态下的参与方会被直接加入群组当中,通讯发起方和多个通讯接收方组成一个群组。
48.在保持通讯链路处于连通状态为设定时长之后,若在设定时长内接收到群组中通讯接收方发送的即时消息,则建立通讯接收方与登录状态为在线的其余通讯接收方间的通讯链路。示例性的,若通讯发起方a与通讯接收方b、c组成一个群组,若在设定时长内接收到群组中通讯接收方b发送的即时消息,则建立通讯接收方b与登录状态为在线的通讯接收方c之间的通讯链路。也可以理解为,对于其他群组参与方不仅会看到通讯发起方发送的消息,也可以接收到其他群组参与方的消息。
49.b)将即时消息发送至登录状态为在线的其余通讯接收方及通讯发起方,并保持通讯接收方和其余通讯接收方间的通讯链路处于连通状态为设定时长,重置通讯接收方与通讯发起方间的通讯链路保持在连通状态为设定时长。
50.具体的,通过建立的通讯链路将即时消息发送至登录状态为在线的其余通讯接收方及通讯发起方,并保持通讯接收方和其余通讯接收方间的通讯链路处于连通状态为设定时长,重置通讯接收方与通讯发起方间的通讯链路保持在连通状态为设定时长。
51.可选的,对于群组中两两参与方间的通讯链路,若在设定时长内,通讯链路中未有消息传输,则断开通讯链路。
52.可以清楚的是,对于若在设定时长内,通讯链路中未有消息传输,则断开通讯链
路,通讯链路会被释放资源,比起保留所有消息链路要节省很多网络带宽和服务器资源。
53.示例性的,假设群组中包括参与方a、b和c,参与方a与b之间、参与方b与c之间、参与方a与c之间均建立有通讯链路,若在设定时长内,参与方a与b之间未有消息传输、参与方b与c之间、a与c之间有消息传输,则断开参与方a与b之间的通讯链路。
54.可选的,还包括:当检测到新参与方加入群组时,建立新参与方与群组中从设定时刻开始发送即时消息的参与方间的通讯链路,并保持通讯链路处于连通状态为设定时长。
55.其中,设定时刻为新参与方加入群组的时刻。具体的,当检测到新参与方加入群组时,则需要建立新参与方与群组中其他参与方的通讯链路。而建立通讯链路的前提是,从新参与方加入群组的时刻开始,其他参与方中一个或多个参与方发送即时消息,则建立新参与方与群组中发送即时消息的参与方间的通讯链路,并保持通讯链路处于连通状态为设定时长。设定时长可以与上述步骤所述设定时长相同。
56.示例性的,若原群组中包括参与方a、b和c,若有新参与方d加入群组中,则从新参与方d加入群组的时刻开始,建立新参与方d与群组中从设定时刻开始发送即时消息的参与方间的通讯链路。这里假设b发送即时消息,则建立参与方d与参与方b之间通讯链路,并保持此通讯链路处于连通状态为设定时长。可以清楚的是,若参与方a或参与方c也发送即时消息,则也会建立参与方d与参与方a、或参与方d与参与方c之间的通讯链路,同样会保持此通讯链路处于连通状态为设定时长。
57.可选的,还包括:当检测到参与方退出群组,则断开退出群组的参与方与其余参与方间的通讯链路。
58.具体的,当检测到参与方退出群组,则断开退出群组的参与方与其余参与方间的通讯链路。退出群组的参与方不可再接收群组中的任何消息,除非被再次邀请到群组中。
59.作为可选实施例,本实施例提供了在保持所述通讯链路处于连通状态为设定时长之后,通过判断通讯发起方和通讯接收方是否有发送即时消息,确定通讯链路是保持还是断开;另外针对群组参与方之间链路的建立与断开,采用长轮询机制建立即时通讯双方的链路连接,可以大规模的节省资源。
60.实施例二
61.图2为本发明实施例二提供的一种即时通讯的链路连接装置的结构示意图,该装置包括:消息报文接收模块21、登录状态确定模块22、通讯链路建立模块23和即时消息备份模块24。其中:
62.消息报文接收模块21,用于接收通讯发起方发送的消息报文。
63.其中,消息报文携带即时消息及一个或者多个通讯接收方的标识码;
64.登录状态确定模块22,用于确定一个或者多个通讯接收方的登录状态;
65.通讯链路建立模块23,用于对于登录状态为在线的通讯接收方,建立通讯发起方与通讯接收方间的通讯链路,将即时消息通过通讯链路发送至通讯接收方,并保持通讯链路处于连通状态为设定时长;
66.即时消息备份模块24,用于对于登录状态为离线的通讯接收方,将即时消息备份至数据库。
67.可选的,该装置还包括:第一设定时长重置模块,
68.第一设定时长重置模块,用于当在设定时长内接收到通讯发起方和/或通讯接收
方发送的即时消息时,重置通讯链路保持在连通状态为设定时长。
69.可选的,该装置还包括:通讯链路断开模块,
70.通讯链路断开模块,用于当在设定时长内未接接收到通讯发起方及通讯接收方发送的即时消息时,断开通讯链路。
71.可选的,若消息报文中携带有多个通讯接收方,则通讯发起方和多个通讯接收方组成一个群组;该装置,还包括:
72.接收方通讯链路建立模块,用于当在设定时长内接收到群组中通讯接收方发送的即时消息时,建立通讯接收方与登录状态为在线的其余通讯接收方间的通讯链路;
73.第二设定时长重置模块,用于将即时消息发送至登录状态为在线的其余通讯接收方及通讯发起方,并保持通讯接收方和其余通讯接收方间的通讯链路处于连通状态为设定时长,重置通讯接收方与通讯发起方间的通讯链路保持在连通状态为设定时长。
74.可选的,对于群组中两两参与方间的通讯链路,若在设定时长内,通讯链路中未有消息传输,则断开通讯链路。
75.可选的,该装置还包括新参与方加入模块,
76.新参与方加入模块,用于当检测到新参与方加入群组时,建立新参与方与群组中从设定时刻开始发送即时消息的参与方间的通讯链路,并保持通讯链路处于连通状态为设定时长。
77.其中,设定时刻为新参与方加入群组的时刻。
78.可选的,该装置还包括参与方退出模块,
79.参与方退出模块包括:当检测到参与方退出群组,则断开退出群组的参与方与其余参与方间的通讯链路。
80.上述装置可执行本发明前述实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
81.实施例三
82.图3为本发明实施例三提供的一种计算机设备的结构示意图,如图3所示,该计算机设备包括处理器31、存储器32、输入装置33和输出装置34;设备中处理器31的数量可以是一个或多个,图3中以一个处理器31为例;设备中的处理器31、存储器32、输入装置33和输出装置34可以通过总线或其他方式连接,图3中以通过总线连接为例。
83.存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的即时通讯的链路连接方法对应的模块(例如,即时通讯的链路连接装置中的消息报文接收模块21、登录状态确定模块22、通讯链路建立模块23和即时消息备份模块24)。处理器31通过运行存储在存储器32中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的即时通讯的链路连接方法。
84.存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器32可进一步
包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
85.输入装置33可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置34可包括显示屏等显示设备。
86.实施例四
87.本发明实施例四还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种即时通讯的链路连接方法,该方法包括:
88.接收通讯发起方发送的消息报文;其中,消息报文携带即时消息及一个或者多个通讯接收方的标识码;
89.确定一个或者多个通讯接收方的登录状态;
90.对于登录状态为在线的通讯接收方,建立通讯发起方与通讯接收方间的通讯链路,将即时消息通过通讯链路发送至通讯接收方,并保持通讯链路处于连通状态为设定时长;
91.对于登录状态为离线的通讯接收方,将即时消息备份至数据库。
92.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的即时通讯的链路连接方法中的相关操作。
93.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
94.值得注意的是,上述即时通讯的链路连接装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
95.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
技术特征:
1.一种即时通讯的链路连接方法,其特征在于,包括:接收通讯发起方发送的消息报文;其中,所述消息报文携带即时消息及一个或者多个通讯接收方的标识码;确定所述一个或者多个通讯接收方的登录状态;对于登录状态为在线的通讯接收方,建立所述通讯发起方与所述通讯接收方间的通讯链路,将所述即时消息通过所述通讯链路发送至所述通讯接收方,并保持所述通讯链路处于连通状态为设定时长;对于登录状态为离线的通讯接收方,将所述即时消息备份至数据库。2.根据权利要求1所述的方法,其特征在于,在保持所述通讯链路处于连通状态为设定时长之后,还包括:若在所述设定时长内接收到所述通讯发起方和/或所述通讯接收方发送的即时消息,则重置所述通讯链路保持在连通状态为设定时长。3.根据权利要求1所述的方法,其特征在于,在保持所述通讯链路处于连通状态为设定时长之后,还包括:若在所述设定时长内未接接收到所述通讯发起方及所述通讯接收方发送的即时消息,则断开所述通讯链路。4.根据权利要求1所述的方法,其特征在于,若所述消息报文中携带有多个通讯接收方,则所述通讯发起方和所述多个通讯接收方组成一个群组;在保持所述通讯链路处于连通状态为设定时长之后,还包括:若在所述设定时长内接收到所述群组中通讯接收方发送的即时消息,则建立所述通讯接收方与登录状态为在线的其余通讯接收方间的通讯链路;将所述即时消息发送至登录状态为在线的其余通讯接收方及所述通讯发起方,并保持所述通讯接收方和所述其余通讯接收方间的通讯链路处于连通状态为设定时长,重置所述通讯接收方与所述通讯发起方间的通讯链路保持在连通状态为设定时长。5.根据权利要求4所述的方法,其特征在于,对于所述群组中两两参与方间的通讯链路,若在所述设定时长内,所述通讯链路中未有消息传输,则断开所述通讯链路。6.根据权利要求4所述的方法,其特征在于,还包括:当检测到新参与方加入所述群组时,建立所述新参与方与群组中从设定时刻开始发送即时消息的参与方间的通讯链路,并保持所述通讯链路处于连通状态为设定时长;其中,所述设定时刻为所述新参与方加入所述群组的时刻。7.根据权利要求4所述的方法,其特征在于,还包括:当检测到参与方退出所述群组,则断开退出群组的参与方与其余参与方间的通讯链路。8.一种即时通讯的链路连接装置,其特征在于,包括:消息报文接收模块,用于接收通讯发起方发送的消息报文;其中,所述消息报文携带即时消息及一个或者多个通讯接收方的标识码;登录状态确定模块,用于确定所述一个或者多个通讯接收方的登录状态;通讯链路建立模块,用于对于登录状态为在线的通讯接收方,建立所述通讯发起方与所述通讯接收方间的通讯链路,将所述即时消息通过所述通讯链路发送至所述通讯接收方,并保持所述通讯链路处于连通状态为设定时长;
即时消息备份模块,用于对于登录状态为离线的通讯接收方,将所述即时消息备份至数据库。9.一种计算机设备,其特征在于,所述设备包括:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-7任一所述的即时通讯的链路连接方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现如权利要求1-7中任一所述的即时通讯的链路连接方法。
技术总结
本发明公开了一种即时通讯的链路连接方法、装置、设备及存储介质。该方法包括:接收通讯发起方发送的消息报文;其中,消息报文携带即时消息及一个或者多个通讯接收方的标识码;确定一个或者多个通讯接收方的登录状态;对于登录状态为在线的通讯接收方,建立通讯发起方与通讯接收方间的通讯链路,将即时消息通过通讯链路发送至通讯接收方,并保持通讯链路处于连通状态为设定时长;对于登录状态为离线的通讯接收方,将即时消息备份至数据库。本发明实施例提供即时通讯的链路连接方法,采用长轮询机制建立即时通讯双方的链路连接,可以大规模的节省资源。的节省资源。的节省资源。
技术研发人员:李泽翰 方文凤 蔡菥 李泽正 阎鑫鹏
受保护的技术使用者:上海浦东发展银行股份有限公司
技术研发日:2021.11.25
技术公布日:2022/3/8