掌桥专利:专业的专利平台
掌桥专利
首页

一种线上会议中的终端状态更新方法及服务器

文献发布时间:2024-04-18 19:58:53


一种线上会议中的终端状态更新方法及服务器

本申请是2021年06月17日递交的,申请号为202110670670.4,发明名称为“一种线上会议中的终端状态更新方法、装置及电子设备”的中国专利申请的分案申请。

技术领域

本申请涉及计算机技术领域,尤其涉及一种线上会议中的终端状态更新方法及服务器。

背景技术

目前,在线上会议中,参会终端周期性(例如每隔90s)向服务器发送心跳信令,以使服务器根据心跳信令确定终端的状态,例如,在线状态、离开会议等,进而在参会终端的状态变化时更新其状态。具体地,服务器如果在90s内接收到参会终端发送的心跳信令,则可以设置参会终端的状态为在线状态,并将该参会终端的在线状态广播至其他参会终端;接下来,如果超时未接收到终端心跳信令,则将参会终端的状态更新为离开状态,并将离开状态广播至其他参会终端。

参会终端在一些异常情况下,例如偶然的网络波动,可能造成心跳信令超时但很快又恢复正常心跳信令的状况,在这个过程中,服务器需要将参会终端的状态由在线状态更新为离开状态,并将其离开状态广播至其他参会终端,然后在很短时间后,又需要将该参会终端的状态由离开状态更新为在线状态,并将其在线状态广播至其他参会终端,这个状态更新过程是不必要的,会浪费服务器的处理资源。

发明内容

本申请提供了一种线上会议中的终端状态更新方法及服务器,用以避免浪费服务器的处理资源。

本申请实施例提供的具体技术方案如下:

第一方面,本申请实施例提供一种线上会议中的终端状态更新方法,应用于服务器,包括:在第一终端加入线上会议后,设置所述第一终端的状态为在线状态,并向已加入所述线上会议的至少一个第二终端广播所述第一终端的在线状态;监听所述第一终端对应的长连接;在检测到与所述第一终端的长连接断开之后,先不改变所述第一终端在线状态的状态,并等待与所述第一终端重新建立长连接,以避免将所述第一终端更新后的离线状态通知给所述第二终端;在与所述第一终端重新建立长连接后,继续保持所述第一终端的状态为在线状态。

第二方面,本申请实施例提供一种服务器,所述服务器实现第一方面任一项所述的方法。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中提供的一种线上会议中的终端状态更新方法的应用场景示意图;

图2为本申请实施例中提供的又一种线上会议中的终端状态更新方法的流程图;

图3为本申请实施例中提供的一种线上会议中的终端状态更新方法的信令交互图;

图4为本申请实施例中提供的另一种线上会议中的终端状态更新方法的结构示意图;

图5为本申请实施例中提供的又一种线上会议中的终端状态更新方法的示意图;

图6为本申请实施例中提供的一种电子设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

目前,参会终端在一些异常情况下,例如偶然的网络波动,可能造成与服务器的长连接断开然后又很快恢复的情况,这会造成参会终端的心跳信令超时但很快又恢复正常心跳信令,在这个过程中,服务器需要将参会终端的状态由在线状态更新为离开状态,并将其离开状态广播至其他参会终端,然后在很短时间后,又需要将该参会终端的状态由离开状态更新为在线状态,并将其在线状态广播至其他参会终端,这个状态更新过程是不必要的,会浪费服务器的处理资源。

有鉴于此,本申请实施例提供一种线上会议中的终端状态更新方法、装置及电子设备,用以在更新参会终端的状态过程中,可以避免不必要的状态更新,从而避免浪费服务器的处理资源。

下面结合图1所示的一种线上会议中的终端状态更新的应用场景示意图,对本申请实施例的应用场景可能涉及的设备进行示例介绍。

如图1所示,会议系统包括:服务器100和多个参会终端200,服务器100和多个参会终端200之间可以通过通信网络进行连接。针对任一参会终端,用户可以通过该终端上的客户端或者web应用,使用预先注册的用户标识和密码登录服务器,从而建立起服务器与该参会终端之间的长连接通道,使得该参会终端与服务器之间可以进行交互。其中,用户标识可以唯一确定使用参会终端的用户,即服务器可以根据该用户标识唯一确定对应的用户。其中,用户标识可以包括但不限于用户的身份信息、用户的账号信息或者用户群体的账号信息。

此外,为了区分不同的参会终端,服务器可以将参会终端的终端标识进行存储,即该终端标识可以唯一标识对应的参会终端,使得服务器可以确定与该终端标识对应的参会终端之间的长连接通道,实现服务器与参会终端之间的交互。其中,本申请实施例对终端标识的具体实现形式不做限定,终端标识具体可以包括设备地址、设备类型与设备的端口号等。

服务器可以执行本申请实施例的线上会议中的终端状态更新方法,以对参会终端的状态进行更新。

下面结合附图和具体实施例对本申请的线上会议中的终端状态更新方法进行详细介绍。

图2示出了本申请实施例提供的一种线上会议中的终端状态更新方法,该方法可以应用于服务器,该服务器具体可以是会议管理服务器。参照图2所示,线上会议中的终端状态更新方法包括如下步骤:

步骤S201,在第一终端加入线上会议后,设置第一终端的状态为在线状态,并向已加入线上会议的至少一个第二终端广播第一终端的在线状态。

其中,线上会议可以是视频会议、语音会议等,也可以是视频通话、语音通话等。第一终端为目标参会者使用的终端,第二终端为其他参会者使用的终端,第一终端和第二终端均包括但不限于手机、笔记本、平板电脑、个人计算机、车载终端等电子设备。

在线上会议中,服务器需要了解各个参会终端的状态,包括在线状态、离开状态、离线状态等,并将每个参会终端的状态广播至其他参会终端,这样,使得其他参会终端可以了解某个参会终端的终端,而某个参会终端也可以了解其他参会终端的状态。进一步地,在参会终端的状态变化时更新其状态。本申请实施例中,以更新第一终端的状态为例进行说明。

本申请实施例中,服务器和第一终端可以基于长连接进行交互,例如进行会议信令的收发等。因此,在执行步骤S201之前,服务器还可以执行如下步骤:

A1、接收第一终端发送的长连接请求后,与第一终端建立长连接。

A2、通过建立的长连接接收第一终端发送的加入会议信令,以确定第一终端加入线上会议。

在具体实施中,第一终端在加入线上会议之前,需要与服务器建立长连接,例如websokcet连接,通过建立的长连接可以进行会议信令的收发。例如,第一终端可以向服务器发送携带用户标识和第一终端标识的长连接请求,以使服务器确定加入会议的第一终端及其对应的用户,如果用户标识验证通过,可以与第一终端建立长连接。

本申请实施例中,服务器与第一终端建立长连接后,第一终端需要周期性向服务器发送心跳信令,以使服务器了解第一终端的状态,包括但不限于在线状态、离线状态等。其中,第一终端的在线状态是指:可以接收第二终端的音视频数据并上传本端音视频数据的音视频通讯状态;第一终端的离线状态是指:不能接收第二终端的音视频数据,且不能上传本端音视频数据的音视频通讯状态。

例如,第一终端每隔一定时长(即下述第二设定时长,例如90s)向服务器发送一次心跳信令。如果在一定时长内接收到第一终端发送的心跳信令,可以确定第一终端的状态为在线状态,如果超时未接收到第一终端发送的心跳信令,可以确定第一终端的状态为离线状态,该离线状态可以表示第一终端异常离开会议,与正常离开会议进行区分。可见,在心跳信令等待时长内,第一终端的状态为在线状态。

步骤S202,若检测到与第一终端的长连接断开,且在第一设定时长内与第一终端重新建立长连接,则继续保持第一终端的状态为在线状态。

该步骤中,服务器可以通过监听长连接通道,以确定长连接是否断开,例如,如果服务器与第一终端的长连接断开,服务器可以接收到连接错误信息。其中,第一设定时长为重连接等待时长,具体可以根据需要设置,例如可以是45s,在此不作限定。

本申请实施例中,服务器与第一终端建立长连接时,可以通过相应的连接通道进行连接。在线上会议过程中,服务器可以检测与第一终端的长连接是否断开,如果建立的长连接断开,可以说明第一终端发生异常,例如,第一终端受网络状况、设备自身等因素的影响出现网络断开、运行崩溃等情况,此时,第一终端和服务器之间不能正常进行会议信令的收发。

需要说明的是,进一步地,步骤S202中服务器与第一终端重新建立长连接后,如果在第二设定时长内接收到第一终端发送的心跳信令,可以确定第一终端的状态为在线状态,如果超时未接收到第一终端发送的心跳信令,可以确定第一终端的状态为上述离线状态。

考虑到在一些情况下,第一终端由于偶然的网络波动,可能造成与服务器的长连接断开并又很快恢复,这会使得第一终端的心跳信令超时但很快又恢复正常心跳信令,这种情况下没有必要更新第一终端的状态,以及通知其他参会终端。因此,在步骤S202中,服务器检测到与第一终端的长连接断开时,可以等待一定时长,使第一终端重新与服务器建立长连接,这样可以避免不必要的状态更新。

在一些实施例中,步骤S202可以包括如下步骤:

B1、在检测到与第一终端的长连接断开之后,先不改变第一终端在线状态的状态,并等待与第一终端重新建立长连接。

B2、若在第一设定时长内与第一终端重新建立长连接,则继续保持第一终端的状态为在线状态。

其中,第一设定时长为重连接等待时长,在重连接等待时长内,第一终端的状态仍为在线状态,并在重连接成功后,维持第一终端在线状态的状态,以避免不必要的状态更新。

步骤S203,若检测到与第一终端的长连接断开,且在第一设定时长内未与第一终端重新建立长连接,则将第一终端的状态由在线状态变为离线状态,并向至少一个第二终端广播第一终端的离线状态;其中,离线状态表示第一终端异常离开会议。

需要说明的是,服务器检测到与第一终端的长连接断开,可以确定第一终端发生异常,如果确定第一终端在短时间内不能从异常中恢复,可以更新第一终端的状态为离线状态。可选的,该第二设定时长可以大于上述第一设定时长,这样,服务器可以在明显感知到第一终端异常的情况下,相对于心跳信令等待时长,缩短重连接等待时长,尽量减小给其他参会者带来的困扰。

在一些实施例中,步骤S203可以包括如下步骤:

C1、在检测到与第一终端的长连接断开之后,先不改变第一终端在线状态的状态,并等待与第一终端重新建立长连接;

C2、若在第一设定时长内未与第一终端重新建立长连接,则将第一终端的状态由在线状态变为离线状态。

本申请实施例中,考虑到会议信令的收发依赖于服务器和终端之间的长连接,长连接断开会导致终端的心跳信令超时,因此,服务器检测到与第一终端的长连接断开时,先等待一定时长,如果在等待时长内与第一终端重新建立长连接,说明第一终端发生异常并很快又恢复正常,则保持第一终端的在线状态,否则,确认第一终端在短时间内无法回到线上会议后,更新第一终端的状态为离线状态,并及时通知参会的至少一个第二终端,以提醒其他参会者第一终端异常离开会议,可以避免不必要的状态更新,从而避免浪费服务器的处理资源。

在一些实施例中,考虑到第一终端在一些异常情况下,可能导致心跳信令超时,但是服务器并不能检测到与第一终端的长连接断开,因此,在步骤S201之后,方法还可以包括如下步骤:

若检测到与第一终端的长连接未断开,且在第二设定时长内,未接收到第一终端发送的心跳信令,则将第一终端的状态由在线状态变为离线状态,并向至少一个第二终端广播第一终端的离线状态。

本申请实施例中,服务器如果检测到与第一终端的长连接未断开,说明没有感知到第一终端发生异常,那么在心跳信令的等待时长内没有接收到第一终端的心跳心信令,则将第一终端的状态更新为离线状态,并通知至少一个第二终端,以提醒其他参会者第一终端异常离开会议,与正常离开会议进行区分,以免其他参会者不了解第一终端由于发生异常而离开会议,可以避免造成会议中重要信息的丢失。

在一些实施例中,当第一终端正常离开会议时,可以向服务器发送离开会议信令,此时,方法还可以包括如下步骤:

若接收到第一终端发送的离开会议信令,则将第一终端的状态由在线状态变为离开状态,并向至少一个第二终端广播第一终端的离开状态;其中,离开状态表示第一终端正常离开会议。

本申请实施例中,服务器接收到第一终端发送的离开会议信令后,确定第一终端正常离开会议,于是将第一终端的状态更新为离开状态,并通知至少一个第二终端,以提醒其他参会者第一终端正常离开会议。

在一些示例性的实施方式中,考虑到第一终端由于异常状况,导致与服务器的长连接断开,但是又重新建立长连接时,服务器和第一终端之间会存在多个连接通道,为了避免失效的连接通道占用资源,服务器可以对第一终端的长连接的连接通道进行管理,保证第一终端只有一条正在使用的长连接,此时,需要关闭或释放失效的连接通道,并基于重新建立的长连接进行会议信令收发。

因此,方法还可以包括如下步骤:

与第一终端重新建立长连接后,释放与第一终端的上一次长连接的连接通道;其中,上一次长连接的标识与重新建立的长连接的标识不同。

在具体实施中,服务器可以根据用户标识、终端标识、终端类型等确定唯一的参会终端,然后为每个参会终端建立的长连接设置唯一标识。例如,当第一终端首次与服务器建立长连接时,设置长连接的标识为X0;当发生网络异常并重新建立长连接时,设置新的长连接的标识为X1,此时,检查第一终端的长连接标识发生改变,需要进行替换并释放原有的长连接X0,长连接的替换并不会影响该第一终端在线上会议中的状态。

本申请实施例中,服务器与第一终端重新建立长连接后,释放与第一终端的上一次长连接的连接通道,可以保证第一终端只有一条正在使用的长连接,并基于该长连接进行会议信令的收发,避免失效的连接通道占用资源。

进一步地,第一终端与服务器建立长连接后,可能基于同一长连接重复向服务器发送加入会议信令,此时,服务器确定与第一终端的长连接并未改变,会保持该长连接,因此,方法还包括如下步骤:

若与第一终端建立长连接后,检测到第一终端基于建立的长连接重复加入线上会议,则保持与第一终端建立的长连接。

下面结合图3和图4对本申请实施例的线上会议中的终端状态更新方法进行详细说明。

参照图3和图4所示,服务器设置终端的状态包括:在线状态、离开和离线;在线状态则包括等待心跳、等待重连等场景。终端A表示上述第一终端,终端B表示上述第二终端,上述第一设定时长以45s为例,上述第二设定时长以90s为例。

具体地,终端A在加入终端B正在进行的线上会议之前,与服务器建立websocket连接后,向服务器发送加入会议信令,服务器接收到终端A的加入会议信令后,设置终端A的状态为在线状态,并向终端B广播终端A加入会议,以使终端B获得终端A加入会议的消息。终端A加入会议成功后,会周期发送ping(Packet Internet Groper,因特网包探索器)信令(即心跳信令)。

服务器如果检测到与终端A的websocket连接未断开,但是服务器在90s内未收到终端A的ping信令,则认为终端A的心跳信令超时,可以确定终端A异常离开会议,设置终端A的状态为离线状态,并向终端B广播终端A的离线状态,区别于离开状态。

当终端A正常离开会议时,会向服务器发送离开会议信令,终端B通过广播得到终端A的状态为离开状态。

终端A发生异常的情况下,服务器若检测到与终端A的websocket连接断开,那么终端A需要重新建立一条新的websocket连接来继续进行会议,如果终端A在45s内未与服务器重新建立websocket连接,那么无法继续进行会议,可以提前将终端A设置为离线状态,并广播给终端B。其中,服务器检测到与终端A的websocket连接断开时,在等待重连的45s内,终端A的状态仍为在线状态。

本申请实施例,可以区分正常离会和异常离会的状态并提供给其他终端展示,同时对于某个终端发生异常且短时间无法恢复的场景,能够及时进行状态的同步和更新,使其他参会者能够明确线上会议中某个终端的状态。

基于相同的发明构思,本申请实施例提供一种线上会议中的终端状态更新装置,应用于服务器,该装置解决问题的原理与上述实施例的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

参照图5所示,本申请实施例提供的一种线上会议中的终端状态更新装置包括:

设置模块51,用于在第一终端加入线上会议后,设置第一终端的状态为在线状态,并向已加入线上会议的至少一个第二终端广播第一终端的在线状态;

检测模块52,用于若检测到与第一终端的长连接断开,且在第一设定时长内与第一终端重新建立长连接,则继续保持第一终端的状态为在线状态;

第一更新模块53,用于若检测到与第一终端的长连接断开,且在第一设定时长内未与第一终端重新建立长连接,则将第一终端的状态由在线状态变为离线状态,并向至少一个第二终端广播第一终端的离线状态;其中,离线状态表示第一终端异常离开会议。

在一些示例性的实施方式中,第一更新模块,还用于:

在检测到与第一终端的长连接断开之后,先不改变第一终端在线状态的状态,并等待与第一终端重新建立长连接;

若在第一设定时长内与第一终端重新建立长连接,则继续保持第一终端的状态为在线状态;

第二更新模块,还用于:

在检测到与第一终端的长连接断开之后,先不改变第一终端在线状态的状态,并等待与第一终端重新建立长连接;

若在第一设定时长内未与第一终端重新建立长连接,则将第一终端的状态由在线状态变为离线状态。

在一些示例性的实施方式中,装置还包括:

第二更新模块,用于若检测到与第一终端的长连接未断开,且在第二设定时长内,未接收到第一终端发送的心跳信令,则将第一终端的状态由在线状态变为离线状态,并向至少一个第二终端广播第一终端的离线状态。

在一些示例性的实施方式中,装置还包括:

第三更新模块,用于若接收到第一终端发送的离开会议信令,则将第一终端的状态由在线状态变为离开状态,并向至少一个第二终端广播第一终端的离开状态;其中,离开状态表示第一终端正常离开会议。

在一些示例性的实施方式中,装置还包括接收模块,用于:

接收第一终端发送的长连接请求后,与第一终端建立长连接;

通过建立的长连接接收第一终端发送的加入会议信令,以确定第一终端加入线上会议。

在一些示例性的实施方式中,装置还包括释放模块,用于:

与第一终端重新建立长连接后,释放与第一终端的上一次长连接的连接通道;其中,上一次长连接的标识与重新建立的长连接的标识不同。

在一些示例性的实施方式中,装置还包括保持模块,用于:

若与第一终端建立长连接后,检测到第一终端基于建立的长连接重复加入线上会议,则保持与第一终端建立的长连接。

基于相同的发明构思,本申请实施例提供一种电子设备,该电子设备具体可以为服务器,也可以为终端设备,在此不作限定。该电子设备解决问题的原理与上述实施例的方法相似,因此该电子设备的实施可以参见方法的实施,重复之处不再赘述。

如图6所示,电子设备包括:处理器61、通信接口63、存储器62和通信总线64,其中,处理器61,通信接口63,存储器62通过通信总线64完成相互间的通信;

存储器62中存储有计算机程序,当程序被处理器61执行时,使得处理器61执行上述实施例的任一种线上会议中的终端状态更新方法。

上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。

本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述实施例的任一种线上会议中的终端状态更新方法。

上述实施例中的计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD)等。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 一种数据更新方法、服务器、电子终端
  • 一种联系人信息更新方法、云端服务器及终端
  • 一种更新标签页的方法、系统、终端及服务器
  • 一种游戏场景运动状态切换方法、装置、服务器及终端
  • 一种线上会议中的终端状态更新方法、装置及电子设备
  • 一种会议状态显示方法、会议状态更新方法及装置
技术分类

06120116513496