用户账号管理方法及装置与流程

文档序号:12493070阅读:195来源:国知局
用户账号管理方法及装置与流程

本发明涉及网络技术领域,特别涉及一种用户账号管理方法及装置。



背景技术:

随着网络技术的快速发展,出现了各种类型的服务器。服务器提供有直播聊天室,通常情况下,终端可以通过用户账号登录至该直播聊天室中,也可以退出该直播聊天室。

在实际应用过程中,服务器可以对直播聊天室内的用户账号进行管理,管理过程包括:当服务器接收到终端通过用户账号发送的登录请求时,将该用户账号添加至该直播聊天室内,也即是,将该用户账号与该直播聊天室的标识之间对应存储至自身的系统资源中,当接收到该终端通过该用户账号发送的退出直播聊天室的退出请求时,该服务器将该用户账号从该直播聊天室中删除,也即是,将该用户账号从该系统资源中删除。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:上述仅仅是对请求登录和请求退出的用户账号进行管理,管理对象具有一定的局限性。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种用户账号管理方法及装置。所述技术方案如下:

第一方面,提供了一种用户账号管理方法,所述方法包括:

当检测到直播聊天室有上行消息时,向连接管理代理CMP发送上行消息指示,以通过CMP通知当前加入所述直播聊天室的各用户进行消息拉取;

维护用户对应的对象,等待CMP回调;

根据CMP回调信息,确定处于稳定离线状态的用户,所述稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态;

将确定为处于稳定离线状态的用户对应的用户账号从所述直播聊天室内删除。

可选地,所述维护用户对应的对象,等待CMP回调,具体包括:

根据用户历史状态信息,确定统计为离线状态的用户;所述用户历史状态信息根据CMP历史回调信息得到;

根据用户消息拉取情况,确定未进行消息拉取的用户;

创建并维护统计为离线状态的用户及未进行消息拉取的用户对应的对象,等待CMP回调。

可选地,所述根据CMP回调信息,确定处于稳定离线状态的用户,包括:

对本次CMP做回调的各用户,根据本次回调信息及所述用户历史状态信息,将用户状态信息中离线状态的时长达到所述第一预设时长和/或持续处于离线状态的次数达到所述预设次数的用户,确定为处于稳定离线状态的用户;

所述CMP回调信息中包括做回调的用户的当前状态。

可选地,所述方法还包括:

根据CMP回调信息及确定处于稳定离线状态的用户,更新用户历史状态信息;具体为:

清除所述用户历史状态信息中所述确定为处于稳定离线状态的用户对应的用户状态统计信息;

对于所述用户状态信息中统计为离线状态、而所述CMP回调信息指示为在线状态的用户,将对应的用户状态统计信息进行清零。

可选地,所述方法还包括:

获取直播聊天室对应的白名单用户,所述白名单用户包括主播用户及主播或管理员设置的不进行删除的用户;

所述维护用户对应的对象,等待CMP回调;根据CMP回调信息,确定处于稳定离线状态的用户的操作,为针对所述直播聊天室中除所述白名单用户外的用户。

第二方面,提供了一种用户账号管理方法,所述方法包括:

当接收到直播聊天室的服务器的上行消息指示时,通知当前加入所述直播聊天室内的各用户进行消息拉取;

对所述服务器维护的用户对应的对象做回调,反馈回调信息,以使所述服务器根据所述回调信息,确定并删除处于稳定离线状态的用户对应的用户账号,所述稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态。

可选地,所述回调信息包括做回调的用户的当前状态;

所述方法还包括:

根据与所述直播聊天室内的各用户之间的交互信息,确定并更新用户当前状态,所述当前状态包括在线状态或离线状态;

所述交互信息包括重连消息,所述重连消息为客户端检测到用户由离线转为在线时,由客户端通过软件开发工具包SDK自动发起;

其中,当接收到所述连接消息时,将发送所述连接消息的用户的当前状态更新为在线状态。

第三方面,提供了一种用户账号管理装置,所述装置包括:

通知模块,用于当检测到直播聊天室有上行消息时,向连接管理代理CMP发送上行消息指示,以通过CMP通知当前加入所述直播聊天室的各用户进行消息拉取;

维护模块,用于维护用户对应的对象,等待CMP回调;

确定模块,用于根据CMP回调信息,确定处于稳定离线状态的用户,所述稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态;

删除模块,用于将确定为处于稳定离线状态的用户对应的用户账号从所述直播聊天室内删除。

可选地,所述维护模块用于:

根据用户历史状态信息,确定统计为离线状态的用户;所述用户历史状态信息根据CMP历史回调信息得到;

根据用户消息拉取情况,确定未进行消息拉取的用户;

创建并维护统计为离线状态的用户及未进行消息拉取的用户对应的对象,等待CMP回调。

第四方面,提供了一种用户账号管理装置,所述装置包括:

通知模块,用于当接收到直播聊天室的服务器的上行消息指示时,通知当前加入所述直播聊天室内的各用户进行消息拉取;

反馈模块,用于对所述服务器维护的用户对应的对象做回调,反馈回调信息,以使所述服务器根据所述回调信息,确定并删除处于稳定离线状态的用户对应的用户账号,所述稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态。

本发明实施例提供的技术方案带来的有益效果是:当检测到直播聊天室内有上行消息时,向CMP发送上行消息指示,以通过该CMP通知当前加入该直播聊天室的各用户对该上行消息进行拉取。之后,维护用户对应的对象,等待CMP回调,根据CMP回调信息,确定处于稳定离线状态的用户,由于当用户处于稳定离线状态时,说明该用户已经在较长时长内持续处于离线状态,因此,可以将确定为处于稳定离线状态的用户对应的用户账号从该直播聊天室内删除,如此,增加了管理对象,并且,由于将稳定离线状态的用户账号进行了删除处理,从而节省了系统资源。

附图说明

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

图1A是根据一示例性实施例示出的一种实施环境示意图。

图1B是根据一示例性实施例示出的一种用户账号管理方法的流程图。

图1C是根据另一示例性实施例示出的一种用户账号管理方法流程图。

图2是根据另一示例性实施例示出的一种用户账号管理方法的流程图。

图3是根据一示例性实施例示出的一种用户账号管理装置的结构示意图。

图4是根据另一示例性实施例示出的一种用户账号管理装置的结构示意图。

图5是根据一示例性实施例示出的一种用户账号管理装置500的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1A是根据一示例性实施例示出的一种实施环境示意图,该实施环境中主要包括服务器110和多个终端120,该多个终端120均可以通过有线网络或者无线网络分别与该服务器110建立连接。进一步,该服务器110可以采用一个独立的服务负责与各个终端120之间建立连接,在本发明实施例中,该独立的服务为CMP(Connection Management Proxy,连接管理代理)。也即是,终端120与该服务器110之间的通信可以通过该CMP来进行。

其中,该服务器110可以提供直播聊天室,该服务器110可以为一台服务器,也可以是由多台服务器集成的服务器集群,主要用于实现下述图1B和图2实施例所示的用户账号管理方法。

其中,该多个终端120均可以分别通过用户账号登录至上述直播聊天室中,对于该多个终端120中的每个终端120,该终端120可以为诸如手机、平板电脑和计算机等之类的终端,本发明实施例对此不做限定。

图1B是根据一示例性实施例示出的一种用户账号管理方法流程图,该用户账号管理方法可以包括如下几个步骤:

步骤101:当检测到直播聊天室有上行消息时,向连接管理代理CMP发送上行消息指示,以通过CMP通知当前加入该直播聊天室的各用户进行消息拉取。

本申请中的上行消息,具体为需要发给加入聊天室用户的消息。

步骤102:维护用户对应的对象,等待CMP回调。

步骤103:根据CMP回调信息,确定处于稳定离线状态的用户,该稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态。

步骤104:将确定为处于该稳定离线状态的用户对应的用户账号从该直播聊天室内删除。

在本发明实施例中,当检测到直播聊天室内有上行消息时,向CMP发送上行消息指示,以通过该CMP通知当前加入该直播聊天室的各用户对该上行消息进行拉取。之后,维护用户对应的对象,等待CMP回调,根据CMP回调信息,确定处于稳定离线状态的用户,由于当用户处于稳定离线状态时,说明该用户已经在较长时长内持续处于离线状态,因此,可以将确定为处于稳定离线状态的用户对应的用户账号从该直播聊天室内删除,如此,增加了管理对象,实现了对聊天室内用户账号的关联,并且,由于将稳定离线状态的用户账号进行了删除处理,从而节省了系统资源。

可选地,维护用户对应的对象,等待CMP回调,具体包括:

根据用户历史状态信息,确定统计为离线状态的用户;所述用户历史状态信息根据CMP历史回调信息得到;根据用户消息拉取情况,确定未进行消息拉取的用户;

创建并维护统计为离线状态的用户及未进行消息拉取的用户对应的对象,等待CMP回调。

可选地,根据CMP回调信息,确定处于所述稳定离线状态的用户,包括:

对本次CMP做回调的各用户,根据本次回调信息及所述用户历史状态信息,将用户状态信息中离线状态的时长达到所述第一预设时长和/或持续处于离线状态的次数达到所述预设次数的用户,确定为处于所述稳定离线状态的用户;

所述CMP回调信息中包括做回调的用户的当前状态。

本申请中,CMP根据与各用户终端之间的交互消息,确定用户的当前状态,并在CMP回调消息中携带用户当前状态信息。

直播聊天室的服务器,根据本次CMP回调信息更新所述用户历史状态信息,对本次CMP回调信息确定当前状态为离线状态的,离线计数加1,同时根据离线状态对应时间,确定是否达到所述第一预设时长。

可选地,所述方法还包括:

根据CMP回调信息及确定处于所述稳定离线状态的用户,更新用户历史状态信息;具体为:

清除所述用户历史状态信息中所述确定为处于所述稳定离线状态的用户对应的用户状态统计信息;

对于所述用户状态信息中统计为离线状态、而所述CMP回调信息指示为在线状态的用户,将对应的用户状态统计信息进行清零。

可选地,所述方法还包括:

获取直播聊天室对应的白名单用户,所述白名单用户包括主播用户及主播或管理员设置的不进行删除的用户;

所述维护用户对应的对象,等待CMP回调;根据CMP回调信息,确定处于所述稳定离线状态的用户的操作,为针对所述直播聊天室中除所述白名单用户外的用户。

上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。

图1C是根据另一示例性实施例示出的一种用户账号管理方法流程图,该用户账号管理方法可以包括如下几个步骤:

步骤112:当接收到直播聊天室的服务器的上行消息指示时,通知当前加入该直播聊天室内的各用户进行消息拉取。

步骤114:对该服务器维护的用户对应的对象做回调,反馈回调信息,以使该服务器根据该回调信息,确定并删除处于稳定离线状态的用户对应的用户账号,该稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态。

在本发明实施例中,当接收到直播聊天室的服务器的上行消息指示时,通知该直播聊天室内的各用户进行消息拉取,对该服务器维护的用户对应的对象做回调,反馈回调信息,以使该服务器根据该回调信息,确定并删除处于稳定离线状态的用户对应的用户账号,该稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态,如此,增加了管理对象,并且,由于将稳定离线状态的用户账号进行了删除处理,从而节省了系统资源。

可选地,该回调信息包括做回调的用户的当前状态;

该方法还包括:

根据与该直播聊天室内的各用户之间的交互信息,确定并更新用户当前状态,该当前状态包括在线状态或离线状态;

该交互信息包括心跳消息、重连消息等一切交互信息,该重连消息为客户端检测到用户由离线转为在线时,由客户端通过软件开发工具包SDK自动发起;

其中,当接收到该连接消息时,将发送该连接消息的用户的当前状态更新为在线状态,尤其是针对离线用户,当收到用户的重连消息时,立即将该用户状态更新为在线状态,从而使得下一次需要发送上行消息时,通过CMP回调通知服务器该用户转换为在线状态。

上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。

图2是根据另一示例性实施例示出的一种用户账号管理方法流程图,本实施例以该用户账号管理方法应用于服务器中进行举例说明,该用户账号管理方法可以包括如下几个步骤:

步骤201:当检测到直播聊天室有上行消息时,向CMP发送上行消息指示,以通过CMP通知当前加入该直播聊天室内的各用户进行消息拉取。

在实际应用场景中,服务器可以提供直播聊天室,直播聊天室可以在视频直播业务中为主播和观众之间提供消息实时互动的云服务,直播聊天室的特点在于,直播聊天室内可以容纳海量的用户账号,且能够支持海量的上行消息并发。

通常情况下,为了保证高性能,直播聊天室的绝大部分操作都是纯内存操作,例如,当用户账号登录至该直播聊天室时,服务器将该用户账号和该直播聊天室的标识对应存储至系统资源中,如此,对于系统资源消耗非常高。其中,该直播聊天室的标识可以用于唯一标识一个直播聊天室。

在实际实现过程中,可能由于网络信号不稳定等因素,导致当前加入该直播聊天室的部分用户长时间处于离线状态,在该种情况下,如果该直播聊天室内有新的上行消息,长时间处于离线状态的用户对应的用户账号也无法获取到,但是该用户账号仍然占用着系统资源,导致资源浪费,为此,本发明实施例提供了一种用户账号管理方法,以对直播聊天室内长时间处于离线状态的用户进行删除管理。

其中,上述直播聊天室内产生的上行消息可以是由该直播聊天室内的任一用户账号发送的,也可以是由该直播聊天室的管理员发布的,本发明实施例对此不做限定。

上述上行消息指示用于指示CMP通知当前加入该直播聊天室内的各用户进行消息拉取,且做CMP回调。

也即是,当CMP接收到直播聊天室的服务器的上行消息指示时,通知当前加入该直播聊天室内的各用户进行消息拉取,并对服务器维护的用户对应的对象做回调,反馈回调信息,以使该服务器根据该回调信息,确定并删除处于稳定离线状态的用户对应的用户账号。

其中,为了确保各个用户能够稳定地获取到该上行消息,这里可以采用通知、拉取的方式使得该终端来获取该上行消息。

也即是,该服务器通过该CMP向用户对应的用户账号所在的终端发送拉取通知消息,以使该终端通过该用户账号从该直播聊天室内拉取该上行消息。其中,该终端通过该用户账号从该直播聊天室内拉取该上行消息的实现过程可以包括:该终端通过该用户账号向该服务器发送上行消息拉取请求,该服务器通过该CMP接收该上行消息拉取请求,之后,将该上行消息发送给该用户账号所在的终端。该终端从该直播聊天室内拉取到该上行消息后,即可在自身的显示界面中显示该上行消息。

步骤202:获取直播聊天室对应的白名单用户,该白名单用户包括主播用户及主播或管理员设置的不进行删除的用户。

在本发明实施例中,还可以设置白名单,在实际实现过程中,可以不对该白名单用户进行删除操作,即后续步骤中所涉及的维护用户对应的对象,等待CMP回调;根据CMP回调信息,确定处于所述稳定离线状态的用户的操作,为针对该直播聊天室中除该白名单用户外的用户。

也即是,在直播聊天室内,一些重要的用户账号可能不需要删除,例如,主播的用户账号或账号级别较高的用户账号等,因此,在执行本发明实施例所提供的用户账号管理的过程中,可以将该白名单用户排除掉,以免将白名单用户误删除。

另外,为了便于服务器判断直播聊天室内哪些用户属于白名单用户,可以预先设置白名单,具体地:服务器接收白名单设置请求,该白名单设置请求中携带用户账号,将该白名单设置请求中携带的用户账号存储至该白名单中,从而得到白名单用户。

上述排除白名单用户,即不对白名单用户对应的用户账号进行删除,提高了用户体验。例如,对于主播来说,即使该主播离线,也不将该主播的用户账号删除,如此,一旦主播的用户账号所在的终端再次检测到信号,不需要重新申请加入直播聊天室,即可自动恢复在线状态。

另外,需要说明的是,在设置白名单的过程中,还可以限定白名单中存储的用户账号的数量,例如,可以限定该白名单中存储的用户账号的数量为预设数量,该预设数量可以由用户根据实际需求自定义设置,也可以由该服务器默认设置,例如,该预设数量可以为5,本发明实施例对此不做限定。

上述限定白名单中存储的用户账号的数量,如此,即使不对该白名单用户对应的用户账号进行删除处理,对系统的资源的浪费也是有限的。

需要说明的是,这里仅是以设置白名单为例进行说明,在另一实施例中,还可以不设置白名单,即该步骤202为可选步骤。

步骤203:维护用户对应的对象,等待CMP回调。

服务器向CMP发送上行消息指示后,维护用户对应的对象,并等待CMP回调,即如前文所述,该上行消息指示不仅用于CMP通知当前加入该直播聊天室内的各用户进行消息拉取,还用于指示CMP做回调。

在实际应用场景中,由于直播聊天室内大部分的用户为在线状态,而当服务器通过CMP通知各用户进行消息拉取后,需要维护一个对象来等待CMP回调,如此,所维护的对象的生命周期相对比较长,这样的对象无法被回收,可能导致系统内存资源不足,当通过Java实现时,会造成较频繁的Full GC(Gabage Collection,垃圾回收),而Full GC为了扫描存活的对象,会造成系统瞬间停顿。

为此,当服务器通过CMP回调时,可以根据CMP历史回调信息,从加入该直播聊天室内的用户中只选择必须回调的用户。

具体地,根据用户历史状态信息,确定统计为离线状态的用户,所述用户历史状态信息根据CMP历史回调信息得到,根据用户消息拉取情况,确定未进行消息拉取的用户,创建并维护统计为离线状态的用户及未进行消息拉取的用户对应的对象,等待CMP回调。

也就是说,在CMP回调时,服务器只回调上一次账号状态为离线状态的用户账号,以及虽然上一次账号状态为在线状态,但是截止至本次回调时间为止,一直未来拉取上行消息的用户账号,如此,可以减小回调对象的数量。

步骤204:根据CMP回调信息,确定处于稳定离线状态的用户,所述稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态。

其中,该第一预设时长可以由用户根据实际需求自定义设置,例如30秒,也可以由该服务器默认设置,本发明实施例对此不做限定。

其中,该预设次数可以由用户根据实际需求自定义设置,例如30次,也可以由该服务器默认设置,本发明实施例对此不做限定。

具体地,对本次CMP做回调的各用户,根据本次回调信息及所述用户历史状态信息,将用户状态信息中离线状态的时长达到所述第一预设时长和/或持续处于离线状态的次数达到所述预设次数的用户,确定为处于所述稳定离线状态的用户,该CMP回调信息中包括做回调的用户的当前状态。

将用户状态信息中离线状态的时长达到所述第一预设时长和/或持续处于离线状态的次数达到所述预设次数的用户,确定为处于所述稳定离线状态的用户的具体实现可以包括如下三种实现方式:

第一种方式:用户历史状态信息中统计有用户历史持续离线次数,如果根据本次回调信息确定该用户的账号状态为离线状态,则统计持续离线次数加1,并判断统计后的离线次数是否达到该预设次数,该离线次数是指通过回调CMP确定账号状态连续为离线状态的次数,如果统计后的离线次数达到该预设次数,则确定该用户账号当前处于该稳定离线状态。

也即是,在实际实现过程中,如前文所述,在CMP给服务器的回调中,服务器可以获知用户的账号状态,如果该用户账号为离线状态,例如,若第一次确定该用户账号为离线状态,则统计该用户账号处于离线状态的次数为1次,假设通过offlineCount来标记,服务器判断统计后的离线次数offlineCount是否达到预设次数,若该离线次数offlineCount达到该预设次数,则确定该用户的账号状态为稳定离线状态,如果若该离线次数offlineCount未达到该预设次数,则该服务器等待该直播聊天室中再次出现新的上行消息。

当该直播聊天室中再次产生上行消息时,该服务器再次执行上述步骤,并通过CMP回调该用户的账号状态,若该用户的账号状态仍为离线状态,则该服务器再次统计离线次数,即将offlineCount加1,并判断统计后的离线次数是否达到预设次数。按照该过程,若经过多次统计后确定该用户账号持续处于离线状态,则确定该用户账号处于稳定离线状态。否则,若第N次通过CMP回调该用户的账号状态为在线状态,说明该用户账号只是瞬间离线,在该种情况下,服务器将该离线次数offlineCount进行清零,其中,N小于预设次数。

第二种方式:用户历史状态信息中记录有用户持续为离线状态的时长,如果该用户的账号状态为离线状态,则根据本次回调时间或离线状态对应的时间戳确定持续离线时长,并判断确定后的持续离线时长是否大于或等于第一预设时长,该持续离线时长是指在当前时间点与当前时间点之前最近登录的时间点之间的时间段内持续处于离线状态的时长,若确定后的持续离线时长大于或等于该第一预设时长,则确定该用户账号当前处于该稳定离线状态。

其中,该第一预设时长可以由用户根据实际需求自定义设置,也可以由该服务器默认设置,本发明实施例对此不做限定。

也即是,在实际实现过程中,如前文所述,在CMP给服务器的回调中,服务器可以获知该用户的账号状态,如果该用户账号为离线状态,例如,若第一次确定该用户账号为离线状态,则该服务器记录当前的系统时间offlineTime1,当该直播聊天室中再一次产生上行消息时,该服务器再次执行上述步骤,通过CMP回调该用户的账号状态,若该用户的账号状态仍为离线状态,则该服务器记录当前的系统时间offlineTime2,确定该系统时间offlineTime2与上一次记录的系统时间offlineTime1之间的差值,该差值即为上述持续离线时长,并判断该持续离线时长是否大于或等于第一预设时长,如果该持续离线时长小于该第一预设时长,则等待下一次直播聊天室中产生新的上行消息,按照该种方式,当持续离线时长大于或等于该第一预设时长时,确定该用户的账号状态为稳定离线状态。

其中,与第一种实现方式类似,若在该过程中,该用户的账号状态为在线状态,说明该用户账号只是瞬间离线,在该种情况下,服务器将用户历史状态中记录的持续离线时长进行清零。

第三种方式:即以上两种方式结合,满足其一即判断为稳定离线状态,或者:当用户持续离线次数达到预设次数,同时持续离线时长达到第一预设时长即判为稳定离线状态。根据上述描述可见,服务器还可以根据CMP回调信息及确定处于所述稳定离线状态的用户,更新用户历史状态信息,具体为:清除该用户历史状态信息中确定为处于该稳定离线状态的用户对应的用户状态统计信息,对于该用户状态信息中统计为离线状态、而该CMP回调信息指示为在线状态的用户,将对应的用户状态统计信息进行清零。

也即是,如果确定用户的用户账号为稳定离线状态,则将该用户账号对应的用户状态统计信息进行清除,以便于后续重新对该用户的用户账号进行管理。并且,如上文所述,如果该用户状态信息中统计为离线状态、而该CMP回调信息指示为在线状态的用户,说明该用户仅是瞬间离线,在该种情况下,需要对该用户对应的用户状态统计信息进行清零,以便于后续重新对该用户账号的账号状态进行统计。

另外,在本发明实施例中,可以通过该CMP来不断监测用户的账号状态,例如:该CMP根据与各用户之间的交互消息确定并更新用户当前状态,交互消息包括各种消息,例如每隔第二预设时长发送的心跳消息、连接消息、重连消息等,其中,该第二预设时长可以由用户根据实际需求自定义设置,也可以由该服务器默认设置,本发明实施例对此不做限定。

其中,该交互信息包括重连消息,该重连消息为客户端检测到用户由离线转为在线时,由客户端通过SDK(Software Development Kit,软件开发工具包)自动发起。

上述通过CMP监测各个用户账号的账号状态后,可以将对应的账号状态存储至系统资源中。因此,基于上述监测的各个用户账号的账号状态,服务器通过回调该CMP,根据CMP回调信息,即可确定所维护的用户当前的账号状态。

步骤205:将确定为处于所述稳定离线状态的用户对应的用户账号从所述直播聊天室内删除。

如果确定用户处于稳定离线状态,则说明该用户不是暂时离线,在该种情况下,可以将该用户对应的用户账号从该直播聊天室中删除,如此,可以节约服务器的系统资源。在实际实现过程中,可能该用户账号在该直播聊天室内产生数据,因此,在删除过程中,还可以将该用户账号对应的账号信息一起从该直播聊天室内删除。

由于将处于稳定离线状态的用户对应的用户账号从该直播聊天室中删除后,对于终端来说,无法获知该用户对应的用户账号已经被从服务器中删除,当该用户从离线状态切换至在线状态时,为了能够使得终端通过该用户对应的用户账号能够直接登录到该直播聊天室中,在本发明实施例中,在终端侧可以采用SDK实现自动连接。

也即是,当检测到用户账号从离线状态切换至在线状态时,该终端通过该SDK自动向该服务器发送重连请求,该重连请求中携带该用户账号和该直播聊天室的标识,该服务器接收到该自动登录请求后,将该用户账号添加至该直播聊天室内,也即是,该服务器将该用户账号和该直播聊天室的标识之间对应存储至自身的系统资源中。

如此,即使该服务器将该用户账号从系统资源中删除,一旦检测到用户账号从离线状态切换至在线状态,说明用户账号可以正常收发直播聊天室内的上行消息,因此,该终端通过SDK自动重新登录该直播聊天室,避免需要用户手动重新查找该直播聊天室并触发登录操作,避免用户感受到被删除过程,从而提高了用户体验。

在本发明实施例中,当检测到直播聊天室内有上行消息时,向CMP发送上行消息指示,以通过该CMP通知当前加入该直播聊天室的各用户对该上行消息进行拉取。之后,维护用户对应的对象,等待CMP回调,根据CMP回调信息,确定处于稳定离线状态的用户,由于当用户处于稳定离线状态时,说明该用户已经在较长时长内持续处于离线状态,因此,可以将确定为处于稳定离线状态的用户对应的用户账号从该直播聊天室内删除,如此,增加了管理对象,并且,由于将稳定离线状态的用户账号进行了删除处理,从而节省了系统资源。

图3是根据一示例性实施例示出的一种用户账号管理装置的结构示意图,该用户账号管理装置可以由软件、硬件或者两者的结合实现。该用户账号管理装置可以包括:

通知模块310,用于当检测到直播聊天室有上行消息时,向连接管理代理CMP发送上行消息指示,以通过CMP通知当前加入该直播聊天室的各用户进行消息拉取;

维护模块320,用于维护用户对应的对象,等待CMP回调;

确定模块330,用于根据CMP回调信息,确定处于稳定离线状态的用户,该稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态;

删除模块340,用于将确定为处于该稳定离线状态的用户对应的用户账号从该直播聊天室内删除。

可选地,该维护模块320用于:

根据用户历史状态信息,确定统计为离线状态的用户;该用户历史状态信息根据CMP历史回调信息得到;

根据用户消息拉取情况,确定未进行消息拉取的用户;

创建并维护统计为离线状态的用户及未进行消息拉取的用户对应的对象,等待CMP回调。

所述确定模块330根据CMP回调信息,确定处于所述稳定离线状态的用户,具体包括:

对本次CMP做回调的各用户,根据本次回调信息及所述用户历史状态信息,将用户状态信息中离线状态的时长达到所述第一预设时长和/或持续处于离线状态的次数达到所述预设次数的用户,确定为处于所述稳定离线状态的用户;所述CMP回调信息中包括做回调的用户的当前状态。

所述装置还包括:更新模块;

所述更新模块用于根据CMP回调信息及确定处于所述稳定离线状态的用户,更新用户历史状态信息;具体用于:

清除所述用户历史状态信息中所述确定为处于所述稳定离线状态的用户对应的用户状态统计信息;

对于所述用户状态信息中统计为离线状态、而所述CMP回调信息指示为在线状态的用户,将对应的用户状态统计信息进行清零。

所述装置还包括:白名单设置模块;

所述白名单设置模块用于获取直播聊天室对应的白名单用户,所述白名单用户包括主播用户及主播或管理员设置的不进行删除的用户;

相应的,维护模块320、确定模块330、删除模块340只针对所述直播聊天室中除所述白名单用户外的用户进行操作。

在本发明实施例中,当检测到直播聊天室内有上行消息时,向CMP发送上行消息指示,以通过该CMP通知当前加入该直播聊天室的各用户对该上行消息进行拉取。之后,维护用户对应的对象,等待CMP回调,根据CMP回调信息,确定处于稳定离线状态的用户,由于当用户处于稳定离线状态时,说明该用户已经在较长时长内持续处于离线状态,因此,可以将确定为处于稳定离线状态的用户对应的用户账号从该直播聊天室内删除,如此,增加了管理对象,并且,由于将稳定离线状态的用户账号进行了删除处理,从而节省了系统资源。

图4是根据一示例性实施例示出的一种用户账号管理装置的结构示意图,该用户账号管理装置可以由软件、硬件或者两者的结合实现。该用户账号管理装置可以包括:

通知模块410,用于当接收到直播聊天室的服务器的上行消息指示时,通知当前加入所述直播聊天室内的各用户进行消息拉取;

反馈模块420,用于对所述服务器维护的用户对应的对象做回调,反馈回调信息,以使所述服务器根据所述回调信息,确定并删除处于所述稳定离线状态的用户对应的用户账号,所述稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态。

进一步的,所述装置还包括:

用户状态确定模块,用于根据与所述直播聊天室内的各用户之间的交互信息,确定并更新用户当前状态,所述当前状态包括在线状态或离线状态;

所述交互信息包括重连消息,所述重连消息为客户端检测到用户由离线转为在线时,由客户端通过软件开发工具包SDK自动发起;

所述用户状态确定模块还用于当接收到所述连接消息时,将发送所述连接消息的用户的当前状态更新为在线状态。

在本发明实施例中,当接收到直播聊天室的服务器的上行消息指示时,通知该直播聊天室内的各用户进行消息拉取,对该服务器维护的用户对应的对象做回调,反馈回调信息,以使该服务器根据该回调信息,确定并删除处于稳定离线状态的用户对应的用户账号,该稳定离线状态是指持续处于离线状态的时长达到第一预设时长的状态和/或经过统计持续处于离线状态的次数达到预设次数的状态,如此,增加了管理对象,并且,由于将稳定离线状态的用户账号进行了删除处理,从而节省了系统资源。

需要说明的是:上述实施例提供的用户账号管理装置在实现用户账号管理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的用户账号管理装置与用户账号管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图5是根据一示例性实施例示出的一种用户账号管理装置500的框图。例如,装置500可以被提供为一服务器。参照图5,装置500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述图1B或图2实施例所示的用户账号管理方法。

装置500还可以包括一个电源组件526被配置为执行装置500的电源管理,一个有线或无线网络接口550被配置为将装置500连接到网络,和一个输入输出(I/O)接口558。装置500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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