一种会话管理方法及装置与流程

文档序号:15930737发布日期:2018-11-14 01:36阅读:108来源:国知局

本发明涉及互联网通信技术,尤其涉及一种会话管理方法及装置。

背景技术

即时通讯软件(例如qq、微信)的出现满足了人们相互联系的需求,即时通讯软件中的群组视频(例如多人视频会议)功能又极大的提升了用户的沟通效果。然而,在多个用户进行群组视频时,由于用户所处环境不同,有的用户所处环境声音嘈杂,导致会话过程中发表讲话的用户的声音不能被其它用户清楚的听见,给用户间的会话造成困扰,极大的降低了用户间的沟通效率。



技术实现要素:

本发明实施例提供一种会话管理方法及装置,至少解决了现有技术中存在的问题,能够对会话群组中用户的音频输出状态进行控制,进而降低用户侧声音对群组会话的干扰。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种会话管理方法,所述方法包括:

接收到第一终端基于第一会话群组发送的第一音频控制指令;所述第一会话群组包括所述第一终端对应的第一用户和除所述第一用户以外的至少一个第二用户;所述第一音频控制指令用于请求控制所述第一会话群组中至少一个第二用户的音频输出状态;

发送所述第一音频控制指令至所述第一会话群组中所述至少一个第二用户对应的至少一个第二终端,以使所述至少一个第二终端基于所述第一音频控制指令控制自身的音频输出状态。

上述方案中,所述方法还包括:

接收所述至少一个第二终端发送的第一状态更新消息;

基于所述第一状态更新消息更新存储的所述第一会话群组中所述至少一个第二用户的音频输出状态;

发送状态同步消息至所述第一会话群组中的所有用户,以使所述第一会话群组中每个用户对应的终端基于所述状态同步消息,同步所述第一会话群组中所有用户的音频输出状态。

上述方案中,所述方法还包括:

接收到第三终端的会话加入请求;所述会话加入请求用于请求将所述第三终端对应的第三用户加入至所述第一会话群组中;

基于所述会话加入请求,发送会话加入响应消息;所述会话加入响应消息携带所述第一会话群组中所有用户的音频输出状态。

上述方案中,所述接收到第一终端基于第一会话群组发送的第一音频控制指令之后,所述方法还包括:

发送控制响应消息给所述第一终端,以使所述第一终端基于所述控制响应消息控制所述第一会话群组中至少一个第二用户的音频输出状态;

其中,所述控制响应消息指示允许控制所述第一会话群组中用户的音频输出状态。

上述方案中,所述方法还包括:

接收所述第一终端更改自身的音频输出状态后发送的第二状态更新消息;

基于所述第二状态更新消息更新存储的所述第一会话群组中所述第一用户的音频输出状态。

上述方案中,所述发送所述第一音频控制指令至所述第一会话群组中所述至少一个第二用户对应的至少一个第二终端之前,所述方法还包括:

接收到所述第一会话群组中至少一个第四用户对应的至少一个第四终端发送的第二音频控制指令;

获取所述第一音频控制指令中包含的第一时间参数,以及分别获取至少一个第二音频控制指令中分别包含的至少一个第二时间参数;

对比所述第一时间参数和所述至少一个第二时间参数,获得比对结果;

相应的,所述发送第一音频控制指令至所述第一会话群组中所述至少一个第二用户对应的至少一个第二终端,包括:

当所述第一时间参数表征的时刻晚于所述至少一个第二时间参数表征的时刻时,发送第一音频控制指令至所述第一会话群组中所述至少一个第二用户对应的至少一个第二终端。

本发明实施例还提供了一种会话管理装置,所述装置包括:接收模块和发送模块;

所述接收模块,用于接收到第一终端基于第一会话群组发送的第一音频控制指令;所述第一会话群组包括所述第一终端对应的第一用户和除所述第一用户以外的至少一个第二用户;所述第一音频控制指令用于请求控制所述第一会话群组中至少一个第二用户的音频输出状态;

所述发送模块,用于发送所述第一音频控制指令至所述第一会话群组中所述至少一个第二用户对应的至少一个第二终端,以使所述至少一个第二终端基于所述第一音频控制指令控制自身的音频输出状态。

上述方案中,所述装置还包括处理模块;

所述接收模块,还用于接收所述至少一个第二终端发送的第一状态更新消息;

所述处理模块,用于基于所述第一状态更新消息更新存储的所述第一会话群组中所述至少一个第二用户的音频输出状态;

所述发送模块,还用于发送状态同步消息至所述第一会话群组中的所有用户,以使所述第一会话群组中每个用户对应的终端基于所述状态同步消息,同步所述第一会话群组中所有用户的音频输出状态。

上述方案中,所述接收模块,还用于接收到第三终端的会话加入请求;所述会话加入请求用于请求将所述第三终端对应的第三用户加入至所述第一会话群组中;

所述发送模块,还用于基于所述会话加入请求,发送会话加入响应消息;所述会话加入响应消息携带所述第一会话群组中所有用户的音频输出状态。

上述方案中,所述发送模块,还用于发送控制响应消息给所述第一终端,以使所述第一终端基于所述控制响应消息控制所述第一会话群组中至少一个第二用户的音频输出状态;

其中,所述控制响应消息指示允许控制所述第一会话群组中用户的音频输出状态。

上述方案中,所述装置还包括处理模块;

所述接收模块,还用于接收所述第一终端更改自身的音频输出状态后发送的第二状态更新消息;

所述处理模块,用于基于所述第二状态更新消息更新存储的所述第一会话群组中所述第一用户的音频输出状态。

上述方案中,所述装置还包括处理模块;

所述接收模块,还用于接收到所述第一会话群组中至少一个第四用户对应的至少一个第四终端发送的第二音频控制指令;

所述处理模块,用于获取所述第一音频控制指令中包含的第一时间参数,以及分别获取至少一个第二音频控制指令中分别包含的至少一个第二时间参数;

对比所述第一时间参数和所述至少一个第二时间参数,获得比对结果;

相应的,所述发送模块,还用于当所述第一时间参数表征的时刻晚于所述至少一个第二时间参数表征的时刻时,发送第一音频控制指令至所述第一会话群组中所述至少一个第二用户对应的至少一个第二终端。

本发明实施例提供的会话管理方法及装置,服务器接收到第一终端基于第一会话群组发送的第一音频控制指令;第一会话群组包括第一终端对应的第一用户和除第一用户以外的至少一个第二用户;第一音频控制指令用于请求控制第一会话群组中至少一个第二用户的音频输出状态;透传第一音频控制指令至第一会话群组中至少一个第二用户对应的至少一个第二终端,以使所述至少一个第二终端基于第一音频控制指令控制自身的音频输出状态。如此,可以基于用户的实际需要实现对群组会话中其它用户的音频输出状态的控制,如控制群组中某一个或某几个用户禁止其音频输出,以使其它用户进行音频输出,提高了群组会话的会话质量及效率,提高用户体验。

附图说明

图1为本发明实施例中进行信息交互的各方硬件实体的示意图;

图2为本发明实施例中会话管理方法的流程示意图一;

图3为本发明实施例中会话管理方法的拓扑示意图一;

图4为本发明实施例中会话管理的显示界面示意图一;

图5为本发明实施例中会话管理方法的流程示意图二;

图6为本发明实施例中会话管理方法的拓扑示意图二;

图7为本发明实施例中会话管理的显示界面示意图二;

图8为本发明实施例中会话管理方法的流程示意图三;

图9为本发明实施例中会话管理方法的拓扑示意图三;

图10为本发明实施例中会话管理方法的流程示意图四;

图11为本发明实施例中会话管理的显示界面示意图三;

图12为本发明实施例中会话管理方法的网络架构示意图;

图13为本发明实施例中会话管理装置的组成结构示意图;

图14为本发明实施例中会话管理装置作为硬件实体的一个示例图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细的说明。

需要说明的是,本发明实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

图1为本发明实施例中进行信息交互的各方硬件实体的示意图,图1中包括:服务器11……1n、终端设备21-24,终端设备21-24通过有线网络或者无线网络与服务器进行信息交互,终端设备包括手机、台式机、pc机、一体机等类型。一个示例中,终端设备上设置有即时通讯客户端(如wevideo),不同用户基于不同终端设备上的即时通讯客户端进行群组会话,用户基于实际需要通过服务器对其它用户的音频输出状态进行控制。

实施例一

本发明实施例提供了一种会话管理方法,所述方法应用于服务器,图2为本发明实施例中会话管理方法的流程示意图,图3为本发明实施例中会话管理方法的拓扑示意图,结合图2、图3所示,本发明实施例中会话管理方法包括:

步骤101:服务器接收到第一终端基于第一会话群组发送的音频控制指令。

这里,第一会话群组包括所述第一终端对应的第一用户和除所述第一用户以外的至少一个第二用户;所述音频控制指令用于请求控制所述第一会话群组中至少一个第二用户的音频输出状态。其中,所述音频输出状态包括:表征允许用户的音频输出的第一音频状态、表征禁止用户的音频输出的第二音频状态。

在实际应用中,第一会话群组可以为多用户视频会话群组,例如多个人进行群视频会议,相应的,第一用户即为该会话群组中请求控制其它用户的音频输出状态的用户,该会话群组中除第一用户以外的用户即为第二用户。一个示例为:图4所示为多用户进行群组会话,即群组会话管理的显示界面示意图,如图4所示,四个用户进行视频通话,第一用户发现第二用户a所处环境声音嘈杂,影响自身声音的输出质量,即第二用户a处的噪音与第一用户讲话的声音穿插在一起,导致第二用户b、c可能听不清第一用户的讲话内容,因此,第一用户想要禁止第二用户a的音频输出,即控制第二用户a对应的终端的音频输出状态为第二音频状态,此时,第一用户通过自身对应的终端发送音频控制指令给服务器,以使服务器发送该指令给第二用户a,进而控制第二用户a对应的终端的音频输出状态。所述音频控制指令中至少携带被控制音频输出状态的用户的标识,如被控制音频输出状态的用户对应的身份标识(id,identification),以及相应的用户音频输出状态,如第一音频状态/第二音频状态。

步骤102:发送所述音频控制指令至所述第一会话群组中至少一个第二用户对应的至少一个第二终端,以使所述至少一个第二终端基于所述音频控制指令控制自身的音频输出状态。

在实际实施时,服务器接收到第一用户的音频控制指令后,将其透传给第一会话群组中除第一用户以外的其它所有用户,也即除第一用户外,第一会话群组中的其它用户都会接收到所述音频控制指令。当第一会话群组中除第一用户以外的其它用户接收到该音频控制指令后,通过指令解析发现音频控制指令中携带自身的id,则基于该第一音频指令中携带的音频输出状态(如第二音频状态)对自身进行音频输出控制(对应第二音频状态即控制禁止本地音频输出)。在实际应用中,当第一用户需要控制多个第二用户的音频输出状态时,则所述音频控制指令携带多个第二用户对应的id。

一个示例为,对于本实施例中图4,当第二用户a、b、c接收到服务器发送的音频控制指令后,分别对音频控制指令进行解析,得到音频控制指令中携带的第二用户a对应的终端的id信息,以及对应的音频输出状态-第二音频状态,则第二用户b、c对应的终端不作处理,忽略该音频控制指令,而第二用户a对应的终端基于音频控制指令控制自身的音频输出状态为禁止本地音频输出。

在一实施例中,当所述第一会话群组中至少一个第二用户对应的至少一个第二终端基于服务器透传过来的音频控制指令实现本地音频输出控制后,发送状态更新消息(状态更新消息携带终端实现对自身的音频控制后的音频输出状态)给服务器,以使服务器基于该状态更新消息更新自身存储的所述第一会话群组中所述至少一个第二用户的音频输出状态,然后服务器发送状态同步消息至第一会话群组中的所有用户,以使第一会话群组中每个用户对应的终端基于状态同步消息同步第一会话群组中所有用户的音频输出状态,进而第一会话群组中用户可基于当前的用户状态进一步进行音频输出状态控制。

应用本发明上述实施例,当第一用户想要控制第一会话群组中除第一用户外的至少一个其它用户时,发送音频控制指令给服务器,服务器透传该音频控制指令给第一会话群组中除第一用户外的所有用户,第一会话群组中除第一用户外的所有用户通过音频控制指令携带的被控用户的id获知自身是否需要进行音频输出状态控制,并在得知音频控制指令携带自身id时,对应音频控制指令中携带的音频输出状态进行音频输出状态控制。如此,实现了基于用户需要对会话群组中用户音频输出状态的控制,进而提高了群组会话的会话质量,同时提高了用户体验。

实施例二

本发明实施例提供了一种会话管理方法,所述方法应用于服务器,图5为本发明实施例中会话管理方法的流程示意图,图6为本发明实施例中会话管理方法的拓扑示意图,结合图5、图6所示,本发明实施例中会话管理方法包括:

步骤201:服务器接收到第一终端基于第一会话群组发送的音频控制指令。

这里,第一会话群组包括第一终端对应的第一用户和除所述第一用户以外的至少一个第二用户;所述音频控制指令用于请求控制所述第一会话群组中至少一个第二用户的音频输出状态。其中,所述音频输出状态包括:表征允许用户的音频输出的第一音频状态、表征禁止用户的音频输出的第二音频状态。

在实际应用中,当多个用户进行多用户视频会话时,由于用户所处环境不同,有的用户所处环境声音嘈杂,导致会话过程中发表讲话的用户的声音不能被其它用户清楚的听见,此时,发表讲话的用户即有对会话群组中其它用户的音频输出状态进行控制的需求(控制会话群组中某个或某几个用户的音频输出状态为第二音频状态,即禁止其音频输出),通过终端发送音频控制指令给服务器;所述音频控制指令中至少携带被控制音频输出状态的用户的标识,如被控制音频输出状态的用户对应的id,以及相应的用户音频输出状态,如第一音频状态/第二音频状态。而当第一用户想要控制多个用户的音频输出状态时,所述音频控制指令携带多个被控用户的id。

基于本发明上述实施例,在实际应用中,服务器接收到第一终端发送的音频控制指令后,发送控制响应消息给第一终端,以使第一终端基于所述控制响应消息在本地控制第一会话群组中至少一个第二用户的音频输出状态;其中,所述控制响应消息指示允许控制所述第一会话群组中用户的音频输出状态。也就是说,当第一终端接收到服务器发送的控制响应消息后,可不等所述至少一个第二用户实现对自身的音频控制,便先在第一终端本地实现禁止/允许所述至少一个第二用户的音频输出。例如:第一终端发送的音频控制指令是控制第一会话群组中第二用户a和第二用户b的音频输出状态为第二音频状态,而当第一终端接收到服务器发送的控制响应消息后,不等第二用户a对应的终端和第二用户b对应的终端实现对自身的音频输出控制,便现在第一终端本地实现禁止第二用户a和第二用户b的音频输出。如此,提高了音频控制效率及更快的提高了群组会话质量。需要说明的是,这里第一终端接收到服务器发送的控制响应消息后所做的在本地控制第一会话群组中至少一个第二用户的音频输出状态的操作非必须操作,也就是说,第一终端可忽略服务器发送的控制响应消息,不作任何处理。

步骤202:发送所述音频控制指令至所述第一会话群组中至少一个第二用户对应的至少一个第二终端。

在实际实施时,服务器接收到第一用户的音频控制指令后,将其透传给第一会话群组中除第一用户以外的其它所有用户,也即除第一用户外,第一会话群组中的其它用户都会接收到所述音频控制指令,以使所述至少一个第二终端基于所述音频控制指令控制自身的音频输出状态。当第一会话群组中除第一用户以外的其它用户接收到该音频控制指令后,通过指令解析发现音频控制指令中携带自身的id,则基于该第一音频指令中携带的音频输出状态(如第二音频状态)对自身进行音频输出控制(对应第二音频状态即控制禁止本地音频输出)。在实际应用中,当第一用户需要控制多个第二用户的音频输出状态时,则所述音频控制指令携带多个第二用户对应的id。

步骤203:接收所述至少一个第二终端实现本地音频控制后发送的第一状态更新消息。

这里,在实际应用中,当所述至少一个第二终端基于服务器透传的音频控制指令实现本地的音频控制后,上报自身更新后的状态信息,所述第一状态更新消息中携带终端更新后的音频输出状态信息。例如:第一会话群组中基于音频控制指令实现音频输出状态控制的为第二用户a和第二用户b,则第二用户a对应的终端和第二用户b对应的终端在本地实现音频输出状态控制后,发送第一状态更新消息给服务器,第一状态更新消息携带终端更新后的音频输出状态,如第二音频状态,以使服务器基于终端上报的第一状态更新消息更新自身存储的第二用户a和第二用户b的音频输出状态。

步骤204:基于第一状态更新消息更新存储的第一会话群组中所述至少一个第二用户的音频输出状态,并发送状态同步消息至第一会话群组中的所有用户。

在实际应用中,服务器基于上报的第一状态更新消息更新了自身存储的第一会话群组中相应用户的音频输出状态后,发送状态同步消息至第一会话群组中的所有用户,以使第一会话群组中每个用户对应的终端基于状态同步消息,同步第一会话群组中用户的音频输出状态,进而使第一会话群组中用户可基于当前的用户状态进一步进行音频输出状态控制。例如:第一会话群组中所有用户基于服务器的状态同步消息同步了第一会话群组中用户的音频输出状态后,得知第二用户a和第二用户b的音频输出状态为第二音频状态(即禁止第二用户a和第二用户b的音频输出),则可依据实际需要判定是否需要进一步控制第二用户a和第二用户b(或第一会话群组中其它用户)的音频输出状态,如控制第二用户a的音频输出状态为第一音频状态(允许第二用户a的音频输出)。

基于本发明所述实施例,在实际应用中,用户在会话过程中,可能基于当时需要,如和身旁的人说话但内容不想被群组会话中用户听到,此时该用户便有了更改自身的音频输出状态的需要,如图7所示,当第一用户发送更改自身音频输出状态的指令给第一终端时(用户点击图7中静音键),第一终端基于该指令进行音频输出控制,并在音频输出控制完成后通过第二状态更新消息(携带更新后的第一终端的音频输出状态信息,如第二音频状态)上报自身的音频状态给服务器,服务器接收到第一终端发送的第二状态更新消息后,基于该状态更新消息更新自身存储的第一用户的音频输出状态,并发送状态同步消息至第一会话群组中的所有用户,以使第一会话群组中每个用户基于状态同步消息,同步第一用户的音频输出状态。也就是说,无论当前终端是基于当前终端对应的用户的指令进行的音频输出状态控制,还是基于第一会话群组中其它用户的指令进行的音频输出状态控制,在实现本地的音频输出状态更新后,均要上报给服务器,以使服务器更新本地存储的第一会话群组中用户的音频输出状态,进而让第一会话群组中的用户进行音频输出状态同步。

步骤205:接收到第三终端的会话加入请求,发送会话加入响应消息给所述第三终端。

这里,如图6所示,所述会话加入请求用于请求将所述第三终端对应的第三用户加入至第一会话群组中;所述会话加入响应消息携带所述第一会话群组中所有用户的音频输出状态。如此,便于第三用户在加入第一会话群组的第一时间了解该会话群组中各个用户的音频输出状态。

应用本发明上述实施例,第一用户基于第一终端发送用于控制第一会话群组中除第一用户外的其它用户的音频控制指令给服务器,服务器透传该音频控制指令给第一会话群组中除第一用户外的所有用户,以实现对第一会话群组中用户音频输出状态的控制,而完成音频输出状态控制的用户上报自身更新后的音频输出状态给服务器,以使服务器更新自身存储的第一会话群组中用户的音频输出状态,并发送状态同步消息给第一会话群组中用户使该会话群组中用户更新所有用户的音频输出状态,为进一步实现对第一会话群组中用户的音频输出状态进行控制做准备;而当非第一会话群组中用户想要加入该会话群组时,服务器在给该用户的回包中携带第一会话群组中所有用户的音频输出状态,以使该用户在加入第一会话群组的第一时间了解该会话群组中用户的音频输出状态。

实施例三

本发明实施例提供了一种会话管理方法,所述方法应用于服务器,图8为本发明实施例中会话管理方法的流程示意图,图9为本发明实施例中会话管理方法的拓扑示意图,需要说明的是,图9中第一指令即第一音频控制指令,第二指令即第二音频控制指令,结合图8、图9所示,本发明实施例中会话管理方法包括:

步骤301:服务器接收到第一终端基于第一会话群组发送的第一音频控制指令,以及至少一个第二终端基于第一会话群组发送的第二音频控制指令。

这里,所述第一会话群组中至少包含第一终端对应的第一用户、所述至少一个第二终端对应的至少一个第二用户;在一实施例中,所述第一会话群组还包括除所述第一用户和至少一个第二用户以外的至少一个第三用户。所述第一音频控制指令用于请求控制所述第一会话群组中至少一个第四用户的音频输出状态,所述第四用户为所述第一会话群组中第一用户以外的用户;所述第二音频控制指令用于请求控制所述第一会话群组中至少一个第五用户的音频输出状态,所述第五用户为该第二音频控制指令对应的第一会话群组中的第二用户以外的用户。一个示例为:第一会话群组中包括用户a、用户b、用户c和用户d,服务器接收到用户a对应的终端(即第一终端)发送的第一音频控制指令,以及用户b和用户c对应的终端(即两个第二终端)发送的第二音频控制指令,也即,从指令发送的角度看,用户a为第一用户,用户b和用户c为第二用户,用户d为第三用户;第一音频控制指令用于请求控制用户b和用户c(从被控制的角度看用户b和用户c又为第四用户)的音频输出状态,第一音频控制指令中携带用户b和用户c的id;第二音控制指令用于请求控制用户d(从被控制的角度看用户d又为第五用户)的音频输出状态,第二音频控制指令中携带用户d的id。

步骤302:获取第一音频控制指令中包含的第一时间参数,以及分别获取至少一个第二音频控制指令中分别包含的至少一个第二时间参数,对比第一时间参数和所述至少一个第二时间参数,获得比对结果。

这里,在一实施例中,第一时间参数对应第一操作时间戳,第二时间参数对应第二操作时间戳;在实际实施时,终端在进行音频控制指令封装的时候会追加操作时间戳,且所述第一会话群组共用一个起始点的校准时间,也就是说该操作时间戳对应的操作时间为校准后的时间,服务器接收到第一音频控制指令和第二音频控制指令后,基于指令上追加的操作时间戳可得到该音频指令对应的操作时间,服务器通过对比每个音频控制指令对应的操作时间戳可得知各个音频控制指令发送的早晚。这里所说的操作时间戳为一个字符序列,唯一地标识某一刻的时间。

一个示例为,第一操作时间戳对应的操作时间为11:03,两个第二操作时间戳对应的操作时间分别是11:01和11:02,而由于网络时延,服务器在11:05同时接收到第一音频控制指令和两个第二音频控制指令,通过对比第一操作时间戳和两个第二操作时间戳,发现第一音频控制指令的发送时间晚于两个第二音频控制指令的发送时间。

步骤303:确定第一时间参数表征的时刻晚于所述至少一个第二时间参数表征的时刻,发送第一音频控制指令至第一会话群组中除第一用户以外的其它用户对应的终端。

这里,在实际实施时,服务器同时收到多个音频控制指令时,以操作时间距当前时间(即收到指令的时间)最近的为准,也即以多个音频控制指令中操作时间最晚的为准。

服务器确定以第一音频控制指令为准后,透传该第一音频控制指令给第一会话群组中除第一用户外的所有其它用户。接收到指令的用户基于第一音频控制指令中携带的被控用户的id,得知自身是否要进行音频输出状态控制。例如:第一音频控制指令用于请求控制用户b和用户c的音频输出状态,携带用户b和用户c的id,则当用户b和用户c对应的终端解析第一音频控制指令后发现该指令中携带自身的id,便基于该第一音频控制指令携带的音频输出状态(如第二音频状态)进行音频输出控制(即禁止本地音频输出),而第一会话群组中的用户d对应的终端解析第一音频控制指令发现并不存在用户d的id,则忽略该音频控制指令,即不作任何处理。

步骤304:接收实现本地音频控制后的终端发送的状态更新消息,基于该状态更新消息更新所述实现本地音频控制后的终端的音频输出状态。

这里,在实际应用中,当第一会话群组中的用户终端基于第一音频控制指令实现本地的音频输出控制后,会上报自身更新后的音频输出状态,以使服务器更新自身存储的第一会话群组中用户的音频输出状态。例如:第一会话群组中用户b和用户c对应的终端实现本地音频输出控制后,发送携带自身更新后的音频输出状态信息的状态更新消息给服务器,以使服务器基于状态更新消息更新自身存储的用户b和用户c的音频输出状态。

步骤305:发送状态同步消息至第一会话群组中的所有用户,以使第一会话群组中用户同步第一会话群组中用户的音频输出状态。

步骤306:接收非第一会话群组中用户对应的终端发送的会话加入请求,并返回会话加入响应消息;所述会话加入响应消息携带第一会话群组中所有用户的音频输出状态。

这里,如图9所示,所述会话加入请求用于请求将所述非第一会话群组中用户加入至第一会话群组中;服务器返回的会话加入响应消息携带第一会话群组中所有用户的音频输出状态,如此,便于所述非第一会话群组中用户在加入第一会话群组的第一时间了解该会话群组中各个用户的音频输出状态。

应用本发明上述实施例,当服务器同时接收到第一会话群组中多个音频控制指令时,通过对比各个音频控制指令的操作时间戳,确定各个音频控制指令的发送早晚,进而以操作时间距当前接收时间最近的音频控制指令为准进行透传,进而实现对第一会话群组中用户的音频输出状态控制,提高了群组会话的会话质量及会话效率;而当非第一会话群组中用户想要加入该会话群组时,服务器在给该用户的回包中携带更新后的第一会话群组中所有用户的音频输出状态,以使该用户在加入第一会话群组的第一时间了解该会话群组中用户的音频输出状态。

实施例四

本发明实施例提供了一种会话管理方法,应用于多用户通信过程中的音频输出状态控制,第一会话群组包括用户a、用户b、用户c和用户d,图10为本发明实施例中会话管理方法的流程示意图,如图10所示,本发明实施例中会话管理方法包括:

步骤401:用户a对应的终端基于第一会话群组发送音频控制指令给服务器。

这里,用户a发送的音频控制指令用于请求控制用户b和用户c的音频输出状态。所述音频输出状态包括:表征允许用户的音频输出的第一音频状态、表征禁止用户的音频输出的第二音频状态。该音频控制指令中携带用户b和用户c的id信息以及相应的音频输出状态,在本实施例中为第二音频状态。

一个示例为:多个用户在进行多人视频会议,由于每个用户所处的环境不同,用户周围的杂音就会有部分传入会议中,导致整个会议的环境声音杂乱,且有时候与会的成员可能因急事忘了关闭自身终端的话筒功能,如此需要与会的其它成员对他这端的声音进行控制,如图11所示,与会的所有成员均能对群视频会议中的任何人或全部进行语音控制(如禁言),用户通过点击图11中第一个按键静音可以控制自己静音(禁言),当再次点击时解除禁言,通过点击图11中静音模式控制会议中除自身以外的所有成员静音(禁言),通过点击图11中用户按键g,即用户头像左下方的麦克图标控制与会的某个成员静音(禁言),而再次点击时解除对该成员的禁言。群聊中的所有成员都有权限发送控制其它成员语音输出状态的音频控制指令,在实际应用中该音频控制指令可以为电路交换(cs,circuitswitched)信令,通过会话管理模块封装音频控制指令,并追加操作时间戳seq(即一个唯一标识时间的字符序列sequence),然后将该音频控制指令发送给服务器,如图12所示。需要说明的是,该群组会话共用一个起始点的校准时间,操作时间戳对应的操作时间为经同一校准时间校准后的时间。

步骤402:服务器将所述音频控制指令分别透传给用户b、用户c和用户d对应的终端。

这里,在实际应用中,若服务器在同一时间只接收到用户a发送的音频控制指令,则直接将该音频控制指令透传给第一会话群组中其它用户;而若服务器在同一时刻接收到多个音频控制指令,如服务器同时接收了用户a和用户d发送的音频控制指令,则服务器通过对比音频控制指令携带的操作时间戳确定每个音频控制指令发送的早晚,并以操作时间距服务器接收音频控制指令的时间最近的音频控制指令为准。

步骤403:服务器发送控制响应消息给用户a对应的终端。

这里,控制响应消息用于指示允许用户a对会话群组中其它用户进行控制。需要说明的是,在实际应用中,当服务器不允许发送音频控制指令的用户进行音频控制时可返回表征拒绝其请求的消息或忽略其音频控制指令。

步骤404:用户b、用户c和用户d对应的终端解析收到的音频控制指令,基于该音频控制指令更新自身的音频输出状态。

这里,在实际实施时,接收到音频控制指令的用户终端都会进行指令解析,而当解析结果中包含自身的id信息时才会基于音频控制指令中携带的音频输出状态在本地进行音频输出控制。

步骤405:用户a对应的终端在本地对用户b、用户c和用户d进行音频输出状态控制。

这里,当用户a对应的终端接收到允许其对群组内其它用户进行音频输出状态控制时,便在本地先进行对用户b、用户c和用户d的音频输出状态控制,如允许用户b音频输出,禁止用户c和用户d音频输出,如此,不等用户b、用户c和用户d侧完成自身的音频输出控制,用户a侧本地已先实现对用户b、用户c和用户d的音频输出控制,如此,提高了实现音频输出控制的效率以及用户体验。

步骤406:基于所述音频控制指令实现本地音频输出控制的终端上报状态更新消息给服务器。

在实际应用中,状态更新消息中携带终端更新后的音频输出状态,以通知服务器音频控制完成,以及使服务器更新自身存储的用户的音频输出状态。

步骤407:服务器基于终端上报的状态更新消息更新实现音频输出控制的用户的音频输出状态。

步骤408:发送状态同步消息给第一会话群组中所有用户终端,以使所有用户终端同步第一会话群组中用户的音频输出状态。

这里,当用户侧终端同步了服务器上第一会话群组中用户的音频输出状态后,会在终端侧的视频界面上显示,如图11所示,当允许用户音频输出时,显示的为图11中q图标,当不允许用户音频输出时,显示的为图11中p图标。

在实际应用中,在用户的群组会话过程中,会有其它非群组成员想要加入该群组会话,该非群组成员对应的终端发送会话加入请求给服务器,以请求加入该群组会话,服务器返回会话加入响应消息,并携带该群组会话中所有成员的音频输出状态,以使该非群组成员在加入群组会话的第一时间了解该群组成员的音频输出状态。

实施例五

本实施例提供了一种会话管理装置,如图13所示为本发明实施例会话管理装置的组成结构示意图,所述装置可位于一个服务器上,或所述装置的不同模块分别位于多个服务器上,如图13所示,本发明实施例会话管理装置包括:接收模块31和发送模块32;

所述接收模块31,用于接收到第一终端基于第一会话群组发送的第一音频控制指令;所述第一会话群组包括所述第一终端对应的第一用户和除所述第一用户以外的至少一个第二用户;所述第一音频控制指令用于请求控制所述第一会话群组中至少一个第二用户的音频输出状态;

所述发送模块32,用于发送所述第一音频控制指令至所述第一会话群组中所述至少一个第二用户对应的至少一个第二终端,以使所述至少一个第二终端基于所述第一音频控制指令控制自身的音频输出状态。

在一实施例中,所述装置还包括处理模块13;

所述接收模块31,还用于接收所述至少一个第二终端发送的第一状态更新消息;

所述处理模块33,用于基于所述第一状态更新消息更新存储的所述第一会话群组中所述至少一个第二用户的音频输出状态;

所述发送模块32,还用于发送状态同步消息至所述第一会话群组中的所有用户,以使所述第一会话群组中每个用户对应的终端基于所述状态同步消息,同步所述第一会话群组中所有用户的音频输出状态。

在一实施例中,所述接收模块31,还用于接收到第三终端的会话加入请求;所述会话加入请求用于请求将所述第三终端对应的第三用户加入至所述第一会话群组中;

所述发送模块32,还用于基于所述会话加入请求,发送会话加入响应消息;所述会话加入响应消息携带所述第一会话群组中所有用户的音频输出状态。

在一实施例中,所述发送模块32,还用于发送控制响应消息给所述第一终端,以使所述第一终端基于所述控制响应消息控制所述第一会话群组中至少一个第二用户的音频输出状态;

其中,所述控制响应消息指示允许控制所述第一会话群组中用户的音频输出状态。

在一实施例中,所述装置还包括处理模块33;

所述接收模块31,还用于接收所述第一终端更改自身的音频输出状态后发送的第二状态更新消息;

所述处理模块33,用于基于所述第二状态更新消息更新存储的所述第一会话群组中所述第一用户的音频输出状态。

在一实施例中,所述装置还包括处理模块33;

所述接收模块31,还用于接收到所述第一会话群组中至少一个第四用户对应的至少一个第四终端发送的第二音频控制指令;

所述处理模块33,用于获取所述第一音频控制指令中包含的第一时间参数,以及分别获取至少一个第二音频控制指令中分别包含的至少一个第二时间参数;

对比所述第一时间参数和所述至少一个第二时间参数,获得比对结果;

相应的,所述发送模块32,还用于当所述第一时间参数表征的时刻晚于所述至少一个第二时间参数表征的时刻时,发送第一音频控制指令至所述第一会话群组中所述至少一个第二用户对应的至少一个第二终端。

在本发明实施例中,所述会话管理装置中的接收模块31、发送模块32及处理模块33,均可由终端中的中央处理器(cpu,centralprocessingunit)或数字信号处理器(dsp,digitalsignalprocessor)、或现场可编程门阵列(fpga,fieldprogrammablegatearray)、或集成电路(asic,applicationspecificintegratedcircuit)实现。

这里需要指出的是:以上涉及会话管理装置的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述。对于本发明所述终端实施例中未披露的技术细节,请参照本发明方法实施例的描述。

本实施例中,会话管理装置作为硬件实体的一个示例如图14所示。所述会话管理装置包括处理器61、存储介质62以及至少一个外部通信接口63;所述处理器61、存储介质62以及外部通信接口63均通过总线64连接。

本领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、随机存取存储器(ram,randomaccessmemory)、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、终端、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ram、rom、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1