开播提醒方法、装置及可读存储介质与流程

文档序号:14726701发布日期:2018-06-19 10:49阅读:180来源:国知局

本发明涉及互联网直播领域,具体而言,涉及一种开播提醒方法、装置及可读存储介质。



背景技术:

随着手机移动端的快速发展,越来越多的用户希望在直播中开播,展示才艺或者自己的特长来给更多的用户带来快乐。目前开播的常规的方案是服务端在主播开播时向所有的关注主播的用户发送提醒,但是上述方案存在两个问题,其一是给用户发送开播提醒不是根据主播的意愿发出的,其二是当某个用户关注的主播过多的时候,会收到过多的提醒,对用户是一种打扰。



技术实现要素:

为了克服现有技术中的上述不足,本发明的目的在于提供一种开播提醒方法、装置及可读存储介质,可以有效避免用户被过多的主播开播提醒打扰。

为了实现上述目的,本发明较佳实施例采用的技术方案如下:

本发明较佳实施例提供一种开播提醒方法,应用于与主播终端通信连接的服务器,所述方法包括:

接收主播终端发送的开播提醒请求,所述开播提醒请求中包括有登录所述主播终端的主播账号;

根据所述开播提醒请求判断所述主播账号是否具有开播提醒权限;

在判断结果为是时,根据所述开播提醒请求获取所述主播账号的开播提醒信息,并将所述开播提醒信息返回给所述主播终端,以便所述主播终端对所述开播提醒信息进行确认,所述开播提醒信息包括第一开播提醒信息和/或第二开播提醒信息,所述第一开播提醒信息中包括所有关注所述主播账号的目标用户,所述第二开播提醒信息中包括所有需要发送开播提醒的目标直播区;

在接收到所述主播终端确认的开播提醒信息后,基于所述确认的开播提醒信息向所述目标直播区和/或所述目标用户发送开播提醒。

在本发明较佳实施例中,所述根据所述开播提醒请求获取所述主播账号的开播提醒信息,包括:

调用第一信息接口获取所述主播账号的第一开播提醒信息;和/或

调用第二信息接口获取所述主播账号的第二开播提醒信息。

在本发明较佳实施例中,所述调用第一信息接口获取所述主播账号的第一开播提醒信息,包括:

调用第一信息接口获取所述主播账号的第一开播提醒次数;

判断所述第一开播提醒次数是否为0,若否,则创建一个包括有所有关注所述主播账号的目标用户的第一开播提醒模型,并将所述第一开播提醒模型添加到开播提醒数组中,以得到第一开播提醒信息。

在本发明较佳实施例中,所述调用第二信息接口获取所述主播账号的第二开播提醒信息,包括:

调用第二信息接口获取所述主播账号的主播标示参数,所述主播标示参数包括错误码和字典数据;

判断所述错误码是否为预定码;

若是,则判断所述字典数据的类型是否预设字典类型,若是,则从所述字典数据中获取需要发送开播提醒的目标直播区;

创建一个包括有需要发送开播提醒的目标直播区的第二开播提醒模型,并将所述第二开播提醒模型添加到开播提醒数组中,以得到第二开播提醒信息。

在本发明较佳实施例中,所述在接收到所述主播终端确认的开播提醒信息后,基于所述确认的开播提醒信息向所述目标直播区和/或所述目标用户发送开播提醒,包括:

从所述确认的开播提醒信息中获取开播提醒数组,所述开播提醒数组中包括有至少一个开播提醒模型;

基于所述开播提醒模型的数据类型向所述目标直播区和/或所述目标用户发送开播提醒。

本发明较佳实施例还提供一种开播提醒装置,应用于与主播终端通信连接的服务器,所述装置包括:

接收模块,用于接收主播终端发送的开播提醒请求,所述开播提醒请求中包括有登录所述主播终端的主播账号。

判断模块,用于根据所述开播提醒请求判断所述主播账号是否具有开播提醒权限。

获取模块,用于在判断结果为是时,根据所述开播提醒请求获取所述主播账号的开播提醒信息,并将所述开播提醒信息返回给所述主播终端,以便所述主播终端对所述开播提醒信息进行确认,所述开播提醒信息包括第一开播提醒信息和/或第二开播提醒信息,所述第一开播提醒信息中包括所有关注所述主播账号的目标用户,所述第二开播提醒信息中包括所有需要发送开播提醒的目标直播区。

发送模块,用于在接收到所述主播终端确认的开播提醒信息后,基于所述确认的开播提醒信息向所述目标直播区和/或所述目标用户发送开播提醒。

本发明较佳实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述的开播提醒方法。

相对于现有技术而言,本发明具有以下有益效果:

本发明实施例提供一种开播提醒方法、装置及可读存储介质,通过接收主播终端发送的开播提醒请求,所述开播提醒请求中包括有登录所述主播终端的主播账号,并根据所述开播提醒请求判断所述主播账号是否具有开播提醒权限,在判断结果为是时,根据所述开播提醒请求获取所述主播账号的开播提醒信息,并将所述开播提醒信息返回给所述主播终端,以便所述主播终端对所述开播提醒信息进行确认,并在接收到所述主播终端确认的开播提醒信息后,基于所述确认的开播提醒信息向所述目标直播区和/或所述目标用户发送开播提醒。由此,可以对主播进行限制,避免对所有主播使用开播提醒,从而可以有效避免用户被过多的主播开播提醒打扰。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为本发明较佳实施例提供的开播提醒方法的一种应用场景示意图;

图2为本发明较佳实施例提供的开播提醒方法的一种流程示意图;

图3为图2中所示的步骤S240包括的各个子步骤的一种流程示意图;

图4为本发明较佳实施例提供的用于实现上述开播提醒方法的服务器的一种方框示意图。

图标:100-服务器;110-存储器;120-处理器;200-开播提醒装置;210-接收模块;220-判断模块;230-获取模块;240-发送模块;300-主播终端。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

请参阅图1,为本发明较佳实施例提供的开播提醒方法的一种应用场景示意图。本实施例中,服务器100与至少一个主播终端300(图1中仅示出一个)通信连接。

所述主播终端300可以是直播间主播使用的终端,具体可包括室内或室外、手持、穿戴或车载设备。例如,所述主播终端300可以是智能手机、平板电脑、笔记本电脑、个人电脑(PC)等。在本发明实施例中,主播用户可以通过所述主播终端300与所述服务器100建立通信连接后在所在直播间进行在线直播,并实时将直播数据发送给所述服务器100,以便于其它用户访问所述服务器100观看该主播用户所在直播间。

在现有技术中,当主播开播时,所述服务器100会向所有的关注主播的用户发送提醒,但是由于给用户发送开播提醒不是根据主播的意愿发出的,并且当某个用户关注的主播过多的时候,会收到过多的提醒,对用户是一种打扰。由此,经本申请发明人长期研究,提出下述实施方式以避免用户被过多的主播开播提醒打扰。

请参阅图2,为本发明较佳实施例提供的开播提醒方法的一种流程示意图,所述方法由图1中所示的服务器100执行。所应说明的是,本发明实施例提供的开播提醒方法不以图2及以下所述的具体顺序为限制。所述方法的具体流程如下:

步骤S210,接收主播终端300发送的开播提醒请求。

本实施例中,所述开播提醒请求中包括有登录所述主播终端300的主播账号。详细地,当主播需要对用户发送开播提醒的时候,所述主播终端300会调用一个点击事件的函数userDidTapMoreFunctionVi ew,在这个函数userDidTapMoreFunctionView内部调用获取开播提醒次数的函数。其中,在获取开播提醒次数之前首先需要定义一个弱引用的当前对象,再在获取函数userDidTapMoreFunctionView的内部定义一个强引用的开播提醒对象,从而可以有效避免循环引用,避免产生内存崩溃问题。

上述获取开播提醒次数需要通过属性的方式拿到通知管理对象,让通知管理对象去获取开播提醒次数,获取开播提醒次数的函数,这个函数是一个对象方法,需要一个参数,其中,这个参数的类型是一个回调函数的类型,回调函数即当这个函数内部执行开播提醒请求之后,发起的开播提醒请求的结果可以通过该回调函数获得,这个回调函数会有两个参数,其一是是否有开播提醒权限,另外一个参数是发送开播提醒的直播区范围,直播区范围是一个数组,数组里面包含向那些直播区或者全站发送开播提醒。由此,通过所述回调函数去发起开播提醒请求,并且处理后续开播提醒请求的回调。

步骤S220,根据所述开播提醒请求判断所述主播账号是否具有开播提醒权限。

详细地,所述服务器100中存储有具有开播提醒权限的主播账号列表,在实际实施时可通过判断所述主播账号是否处于所述主播账号列表中来判断该主播账号是否具有开播提醒权限。若所述主播账号具有开播提醒权限,则执行:

步骤S230,根据所述开播提醒请求获取所述主播账号的开播提醒信息,并将所述开播提醒信息返回给所述主播终端300;

本实施例中,所述开播提醒信息可以包括第一开播提醒信息和/或第二开播提醒信息,其中,所述第一开播提醒信息中包括所有关注所述主播账号的目标用户,所述第二开播提醒信息中包括所有需要发送开播提醒的目标直播区。在具体实施时,所述服务器100可以通过调用第一信息接口获取所述主播账号的第一开播提醒信息,和/或调用第二信息接口获取所述主播账号的第二开播提醒信息,并将第一开播提醒信息和/或第二开播提醒信息返回给所述主播终端300,以便所述主播终端300对所述开播提醒信息进行确认。

作为一种实施方式,调用第一信息接口获取所述主播账号的第一开播提醒信息可以通过如下步骤实现:

首先,调用第一信息接口获取所述主播账号的第一开播提醒次数,并判断所述第一开播提醒次数是否为0,若否,则创建一个包括有所有关注所述主播账号的目标用户的第一开播提醒模型,并将所述第一开播提醒模型添加到开播提醒数组中,以得到第一开播提醒信息。更为具体地,本实施例可以通过InterfaceManager函数调用assist_queryRemind函数获得第一开播提醒次数,这个assist_queryRemind函数包括有三个参数,参数1是错误码errorCode,参数2是错误信息,参数3是服务器100返回到主播终端300的信息。如果上述的错误码errorCode为0,说明剩余的第一开播提醒次数为1,否则剩余的第一开播提醒次数为0。然后创建一个包括有所有关注所述主播账号的目标用户的第一开播提醒模型,并将所述第一开播提醒模型添加到开播提醒数组arr中。

作为一种实施方式,调用第二信息接口获取所述主播账号的第二开播提醒信息可以通过如下步骤实现:

首先,调用第二信息接口获取所述主播账号的主播标示参数,所述主播标示参数包括错误码和字典数据,然后,判断所述错误码是否为预定码,若是,则判断所述字典数据的类型是否预设字典类型,若是,则从所述字典数据中获取需要发送开播提醒的目标直播区,最后创建一个包括有需要发送开播提醒的目标直播区的第二开播提醒模型,并将所述第二开播提醒模型添加到开播提醒数组中,以得到第二开播提醒信息。

更为具体地,可以调用assist_queryPrivilegeRemind函数去获取可以使用第二开播提醒的目标直播区。其中assist_queryPrivilegeRemind函数需要的参数就是当前主播端的主播标示token,所谓主播标示token就是一定时间内根据主播的信息生成的一个特定的标示,所述assist_queryPrivilegeRemind函数基于所述主播标示token将会有三个主播标示参数,分别为错误码errorCode、错误信息errorMessage以及字典类型的对象data。在收到这三个返回值之后,首先判断错误码是否为0,如果为0说明当前的开播提醒请求请求成功,然后再判断请求的字典data是否是预设字典类型,若是则从这个字典data中获取字典key值为cate的数据,字典cate的数据对应的是向哪个目标直播区发送开播提醒,在获取到cate的值之后,可以使用模型转换工具将获取到的cate的内容转化为cateBroadcast模型,如果cateBroadcast模型转换成功,那么则将这个cateBroadcast模型的type属性设置为DYNotifyPrivilegeTypeCateNotify,DYNotifyPrivilegeTypeCateNotify也即一个向目标直播区发送广播开播提醒的模型,也即所述第二开播提醒模型,然后就将所述第二开播提醒模型cateBroadcast添加到开播提醒数组arr中。

其中,上述使用模型转换工具将获取到的cate的内容转化为cateBroadcast模型可以通过如下步骤实现:

首先,取出字典data里面的all字段对应的内容ALLDic,然后将allDic使用模型转化工具转化为模型,所述模型转换工具的转换过程如下:

首先,使用alloc函数为DYNotifyPrivilegeModel函数创建一个模型,使用initWithDictionary函数将字典转化为模型,initWithDicti onary函数需要一个参数,这个参数是ALLDic,从而可以构建一个模型allBroadcast,转化后的模型allBroadcast的属性就是对应ALLD ic里面的属性,allBroadcast里面会有一个开播提醒次数的属性numL eft,将转化的模型allBroadcast里面的type定义为DYNotifyPrivilege TypeSiteNotify,DYNotifyPrivilegeTypeSiteNotify也即一个向目标直播区发送广播开播提醒的模型,最后将上述模型allBroadcast添加到数组中。由此,可以限定某些主播可以发送开播提醒,某些主播不可以发送开播提醒,另外由于所有的数据存储在所述服务器100中,可以方便数据的同步和管理。

在上述基础上,所述主播终端300在发起开播提醒请求后,对所述开播提醒请求进行线程同步,具体地,线程同步可以通过使用函数dispatch_group_create创建一个group,当发起开播提醒请求的时候使用函数标记进入dispatch_group_enter,当函数有返回的时候,也即接收到所述开播提醒信息后,使用函数dispatch_group_leave标记函数请求成功,所有的函数请求都完毕之后会调用dispatch_group_notify函数,在函数dispatch_group_notify里面执行消息回调,也即在上述第一开播提醒信息和第二开播提醒信息都有返回结果的时候,会执行消息回调。当然可以理解的是,若只返回了第一开播提醒信息或者第二开播提醒信息,则无需进行线程同步流程。

步骤S240,在接收到所述主播终端300确认的开播提醒信息后,基于所述确认的开播提醒信息向所述目标直播区和/或所述目标用户发送开播提醒。

详细地,请参阅图3,作为一种实施方式,所述步骤S240可以通过如下子步骤实现:

子步骤S241,从所述确认的开播提醒信息中获取开播提醒数组。

本实施例中,所述开播提醒数组中包括有至少一个开播提醒模型,例如可包括所述第一开播提醒模型和所述第二开播提醒模型,当然,也可仅包括所述第一开播提醒模型或者所述第二开播提醒模型。

子步骤S242,基于所述开播提醒模型的数据类型向所述目标直播区和/或所述目标用户发送开播提醒。

本实施例中,可以根据所述开播提醒模型的数据类型确定开播提醒的发送对象,例如,若所述开播提醒模型的数据类型为第一开播提醒模型,则向所有关注所述主播账号的目标用户发送开播提醒。若所述开播提醒模型的数据类型为第二开播提醒模型,则向所有需要发送开播提醒的目标直播区发送开播提醒。若所述开播提醒模型包括所述第一开播提醒模型和所述第二开播提醒模型,则同时向所有关注所述主播账号的目标用户以及所有需要发送开播提醒的目标直播区发送开播提醒。

基于上述设计,本实施例可以对主播进行限制,避免对所有主播使用开播提醒,从而可以有效避免用户被过多的主播开播提醒打扰。

进一步地,如图4所示,是本发明实施例提供的用于实现上述开播提醒方法的服务器100的示意图。本实施例中,所述服务器100包括开播提醒装置200、存储器110以及处理器120。本发明较佳实施例中,开播提醒装置200包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器110中或固化在所述主播终端300的操作系统(Operating System,OS)中的软件功能模块。所述处理器120用于执行所述存储器110中存储的可执行软件模块,例如,所述开播提醒装置200所包括的软件功能模块及计算机程序等。本实施例中,所述开播提醒装置200也可以集成于所述操作系统中,作为所述操作系统的一部分。具体地,所述开播提醒装置200可以包括:

接收模块210,用于接收主播终端300发送的开播提醒请求,所述开播提醒请求中包括有登录所述主播终端300的主播账号;

判断模块220,用于根据所述开播提醒请求判断所述主播账号是否具有开播提醒权限;

获取模块230,用于在判断结果为是时,根据所述开播提醒请求获取所述主播账号的开播提醒信息,并将所述开播提醒信息返回给所述主播终端300,以便所述主播终端300对所述开播提醒信息进行确认,所述开播提醒信息包括第一开播提醒信息和/或第二开播提醒信息,所述第一开播提醒信息中包括所有关注所述主播账号的目标用户,所述第二开播提醒信息中包括所有需要发送开播提醒的目标直播区;

发送模块240,用于在接收到所述主播终端300确认的开播提醒信息后,基于所述确认的开播提醒信息向所述目标直播区和/或所述目标用户发送开播提醒。

在一种实施方式中,所述获取模块230,还用于调用第一信息接口获取所述主播账号的第一开播提醒信息;和/或调用第二信息接口获取所述主播账号的第二开播提醒信息。

在一种实施方式中,所述获取模块230,还用于调用第一信息接口获取所述主播账号的第一开播提醒次数,并判断所述第一开播提醒次数是否为0,若否,则创建一个包括有所有关注所述主播账号的目标用户的第一开播提醒模型,并将所述第一开播提醒模型添加到开播提醒数组中,以得到第一开播提醒信息。

在一种实施方式中,所述获取模块230,还用于调用第二信息接口获取所述主播账号的主播标示参数,所述主播标示参数包括错误码和字典数据,并判断所述错误码是否为预定码,若是,则判断所述字典数据的类型是否预设字典类型,若是,则从所述字典数据中获取需要发送开播提醒的目标直播区,并创建一个包括有需要发送开播提醒的目标直播区的第二开播提醒模型,并将所述第二开播提醒模型添加到开播提醒数组中,以得到第二开播提醒信息。

可以理解的是,本实施例中的各功能模块的具体操作方法可参照上述方法实施例中相应步骤的详细描述,在此不再重复赘述。

进一步地,本发明较佳实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述的开播提醒方法。

综上所述,本发明实施例提供一种开播提醒方法、装置及可读存储介质,通过接收主播终端发送的开播提醒请求,所述开播提醒请求中包括有登录所述主播终端的主播账号,并根据所述开播提醒请求判断所述主播账号是否具有开播提醒权限,在判断结果为是时,根据所述开播提醒请求获取所述主播账号的开播提醒信息,并将所述开播提醒信息返回给所述主播终端,以便所述主播终端对所述开播提醒信息进行确认,并在接收到所述主播终端确认的开播提醒信息后,基于所述确认的开播提醒信息向所述目标直播区和/或所述目标用户发送开播提醒。由此,可以对主播进行限制,避免对所有主播使用开播提醒,从而可以有效避免用户被过多的主播开播提醒打扰。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的电子设备、服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,术语\"包括\"、\"包含\"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句\"包括一个……\"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

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