具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,是本发明较佳实施例提供的服务器100与本地终端200进行交互的示意图。所述服务器100通过网络与一个或多个本地终端200进行通信连接,以进行数据通信或交互。所述服务器100 可以为一个或多个服务器,如web服务器(WebSserver)、用户服务器、网络服务器、数据库服务器等。若服务器100为多个服务器,该多个服务器之间可以相互配合,进行数据交互。所述本地终端200可以是个人电脑(personal computer,PC)、平板电脑、智能手机等。并且,本地终端中安装有客户端,该客户端为可以为浏览器、直播应用程序、播放器、点播应用程序或者其他。
图2示出了一种可应用于本发明实施例中的服务器100的结构框图。如图2所示,服务器100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口108、射频模块110等。这些组件通过一条或多条通信总线/信号线116相互通信。
存储器102可用于存储软件程序以及模块,如本发明实施例中的首页推荐排期方法及装置对应的程序指令/模块,处理器106通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的首页推荐排期方法。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
外设接口108连接处理器106以及存储器102。在一些实施例中,外设接口108、处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通信网络或者其他设备进行通信。
可以理解,图2所示的结构仅为示意,服务器100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例提供的首页推荐排期方法及装置,应用于在直播间的首页推荐。当然,本发明实施例中也不排除该首页推荐排期方法及装置用于在播放器、点播应用程序等其他可进行首页推荐的场景,本发明实施例主要以直播间为例进行说明。
在服务器中,设置有首页推荐列表。客户端的首页对部分直播间进行推荐显示,提高这些被推荐的直播间被知道并且点击的可能性。其中,客户端进行首页推荐显示的直播间为存储于服务器的首页推荐列表中的房间标识所对应的直播间,首页推荐列表中有多少房间标识,则有多少直播间在客户端进行首页推荐。其中,客户端可以通过访问首页推荐列表来抓取直播间对应的房间标识,对抓取到的直播间进行首页推荐。
另外,还设置有排期列表,排期列表中的房间标识为等待进入首页推荐列表进行首页推荐的直播间的房间标识,对应排期列表中的每个房间标识,设置有该房间标识对应的直播间的排期时间,该排期时间为直播间进入首页推荐的时间。在本实施例中,根据首页推荐列表以及排期列表进行排期。下面将通过具体实施例对该首页推荐排期方法及装置进行详细说明。
第一实施例
本实施例提供了一种首页推荐排期方法,请参见图3,所述方法包括:
步骤S110:判断首页推荐列表中直播间的房间标识的数量是否小于第一预设数量,所述首页推荐列表中的房间标识为在客户端进行首页推荐显示的直播间的房间标识。
在本实施例中,首先判断首页推荐列表中房间标识是否小于第一预设数量,该第一预设数量为设置的首页推荐列表所能存储的房间标识的最大数量,其具体值在本实施例中并不限制。
步骤S120:若是,从排期列表中选取房间标识添加至所述首页推荐列表,以使选取的房间标识对应的直播间在客户端进行首页推荐显示,所述排期列表中包括排期时间晚于或等于当前时间的直播间对应的房间标识。
当首页推荐列表中直播间的房间标识小于第一预设数量,说明首页推荐列表出现空缺,在客户端进行首页推荐的直播间数量小于客户端所能推荐的直播间的总数量。
而此时排期列表中若存储有房间标识,但存储的房间标识的排期时间晚于当前时间,未到达其排期时间,若此时不从排期列表中选取房间标识添加至首页推荐列表,则会导致客户端中首页推荐资源的浪费。因此,在本实施例中,当判定首页推荐列表中房间标识的数量小于第一预设数量,则从排期列表中选取房间标识添加至所述首页推荐列表,填补客户端首页推荐的空缺,充分利用客户端的推荐资源以及推荐时间。其中,当前时间可以由系统时间(如函数代码中System.date)确定,在本实施例中并不作为限定。
另外,在本实施例中,从排期列表中选取房间标识添加至首页推荐列表中,其选取规则可以是,选取排期时间最靠近当前时间的直播间的房间标识,或者是选取热度值最高的直播间的房间标识,也可以是,随机选取房间标识。
当然,若排期列表中有排期时间等于当前时间的直播间的房间标识,可以是,优先选取排期时间等于当前时间的直播间的房间标识添加至首页推荐列表。另外,本实施例中,为添加至首页推荐列表的房间标识设置锁定标识,表示对于的房间标识被添加到首页推荐列表进行首页推荐。
进一步的,还可以计算首页推荐列表中直播间的房间标识的数量与第一预设数量之间的差值,从排期列表中选取房间标识添加至所述首页推荐列表中时,选取的房间标识的数量等于该差值,使首页推荐列表中所有空缺都被填满,提高首页推荐的利用率。
进一步的,在本实施例中,还可以包括:服务器判断所述排期列表中是否有排期时间等于当前时间的直播间。若排期列表中有排期时间等于当前时间的直播间,则将该直播间对应的房间标识添加至首页推荐列表,使到达排期时间的直播间能及时进行首页推荐。
另外,当排期列表中存在排期时间等于当前时间的直播间,但是此时首页推荐列表中直播间的房间标识的数量等于第一预设数量,也就是说,排期列表中有到达排期时间的直播间的房间标识,但此时首页推荐列表中并未出现空缺,此时,从所述首页推荐列表中移除部分直播间的房间标识,使首页推荐列表出现空缺,其中的房间标识小于第一预设数量,再将排期列表中排期时间等于当前时间的直播间的房间标识添加至所述首页推荐列表。其中,从首页推荐列表中移除的房间标识的数量可以是,等于排期列表中排期时间等于当前时间的房间标识的数量,使排期列表中排期时间等于当前时间的房间标识均能进入首页推荐列表进行首页推荐。
具体的,从所述首页推荐列表中移除的直播间的房间标识为排期时间晚于当前时间的直播间的房间标识,或者是首页推荐结束的直播间的房间标识。优选从首页推荐列表中移除首页推荐结束的直播间的房间标识。当从首页推荐列表中移除的直播间的房间标识为排期时间晚于当前时间的直播间的房间标识时,该房间标识可以在排期列表中继续等待首页推荐,也就是说,在首页推荐列表中出现空缺时,利用该空缺对排期时间晚于当前时间的直播间进行首页推荐,使首页推荐列表中的推荐资源充分利用,而当有排期时间到达的直播间需要进行首页推荐时,再将排期时间晚于当前时间的直播间从首页推荐列表中移除,使其在排期列表中再次等待进入首页推荐列表进行首页推荐,以实现首页推荐碎片时间的充分利用。
另外,排期列表中每个房间标识对应的排期时间可以是该房间标识添加至排期列表中时确定。进一步的,在本实施例中,还可以包括:判断所述排期列表中的房间标识对应的排期时间是否早于当前时间,也就是说,判断排期列表中的每一个直播间是否已过期,若已过期,则不再对其进行首页推荐。因此,若排期列表中存在排期时间早于当前时间的直播间的房间标识,则将该排期时间早于当前时间的房间标识从所述排期列表中删除,使排期列表中的房间标识的排期时间均晚于或等于当前时间。其中,对排期列表中房间标识对应的排期时间是否早于当前时间的判断可以是按周期执行,以定时删除其中过期的房间标识。
另外,也可以是,当房间标识从排期列表中被添加到首页推荐列表时,从排期列表中删除该房间标识,若该房间标识对应的直播间的排期时间晚于当前时间,且从首页推荐列表中移除时,再将该房间标识添加至排期列表等待下一次首页推荐,使排期列表中的房间标识的排期时间均晚于或等于当前时间。
进一步的,在本实施例中,还可以包括,定时记录首页推荐列表中的房间标识对应的直播间的首页推荐时间,可以是每隔一分钟记录一次,当然,定时记录的间隔时间在本实施例中并不限定。另外,还可以将推荐时间与房间标识进行一对多的记录,即记录某一推荐时间长度对应的房间标识,以备后续分析。
第二实施例
本实施例提供了一种首页推荐排期方法,请参见图4,该方法包括:
步骤S210:接收第一客户端发送的首页推荐请求,所述请求中包括被推荐的直播间的房间标识。
当需要申请对直播间进行首页推荐时,用户可以通过第一客户端向服务器发送首页推荐请求,并且,发送的首页推荐请求中包括所要推荐的直播间的房间标识。第一客户端可以通过服务器(如web服务器)获得所要推荐的直播间的房间标识,如通过函数代码“ComDel ComID=new WebSserver.ArrayList.RoomID();”实现。其中,该第一客户端为具有发起首页推荐请求的用户所对应的客户端。
步骤S220:根据所述首页推荐请求向第二客户端发送审批请求。
服务器接收到首页推荐请求后,发起审批流程,如通过函数代码“OACommerceOAID=new OA.Flow.Technological.Process(p)”实现,当然,发起的审批流程中包括需要审批的房间标识,也就是首页推荐请求中的房间标识,可以通过函数代码“result=RoomCommerce.Add(OAID,RoomMark)”查询房间标识是否已添加到审批流程中。
在该审批流程中,向第二客户端发送审批请求,请求第二客户端对该审批流程进行审批。第二客户端对应的审批用户若同意该审批流程中的房间标识对应的直播间进入首页推荐,则进行通过该审批请求的审批操作,并且,进一步的,还可以为该直播间设置排期时间。若第二客户端对应的审批用户不同意该审批流程中的房间标识对应的直播间进入首页推荐,则进行不通过该审批请求的审批操作。
第二客户端根据用户的审批操作向服务器返回审批回复。
步骤S230:接收第二客户端返回的审批回复,根据所述审批回复判断所述首页推荐请求是否通过审批。
服务器接收第二客户端返回的审批回复后,根据审批回复判断该首页推荐请求是否通过相关审批用户的审批。具体的,可以通过审批回复中的参数判断是否通过,例如,在函数代码中,将OAID.start赋值为1表示审批通过,则服务器判断“if(OAID.start=="1")”,若OAID.start等于1,则通过审批。
另外,还可以对通过审批的首页推荐请求中的房间标识添加对应的标识,如函数代码可以是“result=SlideShow.Add(RoomComDel.p)”,以表示该房间标识通过审批。
当然,若审批回复中的参数不等于通过审批对应的参数,则该首页推荐请求未通过审批,其中的房间标识对应的直播间不能进行首页推荐,本次首页推荐排期过程结束。对应的函数代码可以是“Char RoomMark str="3";return RoomCommerce.Add(OAID,RoomMark);”,表示该审批流程中的房间标识未通过审批。
步骤S240:若所述首页推荐请求通过审批,将首页推荐请求中的房间标识、以及审批回复中该房间标识对应的直播间的排期时间对应添加至排期列表。
若首页推荐请求通过审批,则表明该首页推荐请求中的房间标识对应的直播间可以进行首页推荐,因此,可以将首页推荐请求中的房间标识添加至排期列表等待首页推荐。另外,对应将审批回复中直播间的排期时间添加至排期列表,使排期列表中包括房间标识以及该房间标识对应的排期时间。
具体的,对应的函数代码中,可以是主站后台通过调用Technological中日期的参数,如“ContentD Cdate=OA.Flow.Technological.Schedule();”,并将获取的时间Cdate推送至用于首页推荐的服务器,如web服务器,并通过排期(Schedule)接口传递排期日期,函数代码可以是“Schedule sch=new WebSlideServer.Schedule.date(Cdate);”。
另外,在本实施例中,还可以包括,根据直播间的内容类型对通过审批的房间标识添加对应的内容标识,以表示该房间标识对应的直播间所属内容类型,如游戏类、唱歌类、科技类等,以使在对直播间进行首页推荐时进行分类推荐。
其中,直播间的内容类型可以是由第二客户端对应的审批用户在通过审批时确定,或者第一客户端对应的用户在发起首页推荐请求时确定,或者是通过其他方式确定。
进一步的,在本实施例中,还可以预先设置排期列表中可存储的房间标识的数量为第二数量,因此,只有当排期列表中的房间标识的数量小于第二数量,即排期列表中存在空缺,才能将房间标识添加到排期列表中。
因此,本实施例中还可以包括,在将首页推荐请求中的房间标识、以及审批回复中该房间标识对应的直播间的排期时间对应添加至排期列表之前,服务器判断所述排期列表中房间标识的数量是否小于第二预设数量,若是,说明排期列表中所存储的房间标识的数量未达到排期列表中可以存储的最大数量,还可以向排期列表中添加房间标识,则执行将首页推荐请求中的房间标识、以及审批回复中该房间标识对应的直播间的排期时间对应添加至排期列表的步骤。
服务器对排期列表中房间标识的数量是否小于第二数量的判断可以定时进行,并且,具体实现方式可以是,每隔一段时间,如一分钟,对排期列表进行一次遍历,遍历可以通过函数代码“Ergodic Erg=new WebSlideServer.Ergodic.Schedule()”执行。判断遍历到的排期时间是否有空闲,即判断排期列表中是否出现空缺,若排期列表中出现空缺,可以向排期列表中添加房间标识。其中,可以通过函数代码“if(Erg==null)”判断排期列表是否有空缺,若Erg等于null,排期列表有空缺,可以添加房间标识。
当然,若排期列表中房间标识的数量达到第二数量,此时不能向排期列表中添加房间标识。
进一步的,在本实施例中,当判定排期列表中房间标识的数量小于第二预设数量之后,还可以进一步判定首页推荐请求中的房间标识对应的直播间的排期时间是否已过,即该直播间是否已过期,若已过期,则可以不再将该房间标识添加至排期列表等待首页推荐。因此,本实施例中,在判定排期列表中房间标识的数量小于第二预设数量之后,还可以包括:判断所述首页推荐请求中的房间标识对应的排期时间是否晚于当前时间,若是,说明当前时间还未到该房间标识对应的直播间的排期时间,可以将首页推荐请求中的房间标识、以及审批回复中该房间标识对应的直播间的排期时间对应添加至排期列表等待首页推荐。
其中,判断房间标识对应的排期时间是否晚于当前时间的函数代码可以是,“if(System.date<=Cdate)”,其中,System.date表示系统时间,用于作为当前时间,Cdate表示相应房间标识的排期时间。
步骤S250:判断首页推荐列表中直播间的房间标识的数量是否小于第一预设数量,所述首页推荐列表中的房间标识为在第三客户端进行首页推荐显示的直播间的房间标识。
本步骤与步骤S110相似,可以参见步骤S110,在此不再赘述。需要说明的是,本步骤的第三客户端与步骤S110中的客户端均表示会对直播间进行首页推荐的客户端。
步骤S260:若是,从排期列表中选取房间标识添加至所述首页推荐列表,以使选取的房间标识对应的直播间在第三客户端进行首页推荐显示,所述排期列表中包括排期时间晚于或等于当前时间的直播间对应的房间标识。
本步骤与步骤S120相似,可以参见步骤S120,在此不再赘述。本步骤中的第三客户端与步骤S120中的客户端也均表示会对直播间进行首页推荐的客户端。
综上所述,本发明实施例中,首页推荐列表中的房间标识对应的直播间在客户端进行首页推荐显示,当首页推荐列表中房间标识的数量小于第一预设数量时,从排期列表中选取房间标识添加至首页推荐列表,使选取的房间标识对应的直播间在客户端进行首页推荐显示,此时不必等到排期列表中的直播间的排期时间到达才将其添加至首页推荐列表,实现首页推荐的充分利用,以及排期列表中房间标识的快速推荐。
第三实施例
本实施例提供了一种首页推荐排期装置300,请参见图5,所述装置300包括:
数量判断模块310,用于判断首页推荐列表中直播间的房间标识的数量是否小于第一预设数量,所述首页推荐列表中的房间标识为在客户端进行首页推荐显示的直播间的房间标识;添加模块320,若首页推荐列表中直播间的房间标识的数量小于第一预设数量,用于从排期列表中选取房间标识添加至所述首页推荐列表,以使选取的房间标识对应的直播间在客户端进行首页推荐显示,所述排期列表中包括排期时间晚于或等于当前时间的直播间对应的房间标识。
其中,优选的,所述添加模块320选取的房间标识的数量等于首页推荐列表中直播间的房间标识的数量与第一预设数量的差值。
进一步的,在本实施例中,还可以包括第一时间判断模块以及另一添加模块,其中,第一时间判断模块用于判断所述排期列表中是否有排期时间等于当前时间的直播间;若是,该另一添加模块用于将所述直播间对应的房间标识添加至所述首页推荐列表。
另外,本实施例还可以包括移除模块,当所述首页推荐列表中直播间的房间标识的数量等于所述第一预设数量,且所述排期列表中存在排期时间等于当前时间的直播间,此时首页推荐列表中不存在空缺,但是排期列表中又有房间标识对应的直播间的排期时间到达,移除模块可以从所述首页推荐列表中移除部分的直播间的房间标识;再通过另一添加模块将所述排期列表中排期时间等于当前时间的直播间的房间标识添加至所述首页推荐列表。
在本实施例中,还可以包括第二时间判断模块以及删除模块,用于判断所述排期列表中的房间标识对应的排期时间是否早于当前时间,若是,删除模块用于将排期时间早于当前时间的房间标识从所述排期列表中删除。
进一步的,如图6所示在本实施例中,还可以包括:请求接收模块301,用于接收第一客户端发送的首页推荐请求,所述请求中包括被推荐的直播间的房间标识;审批发送模块302,用于根据所述首页推荐请求向第二客户端发送审批请求;审批判断模块303,用于接收第二客户端返回的审批回复,根据所述审批回复判断所述首页推荐请求是否通过审批;排期模块304,用于若所述首页推荐请求通过审批,将首页推荐请求中的房间标识、以及审批回复中该房间标识对应的直播间的排期时间对应添加至排期列表。
进一步的,本实施例提供的装置还可以包括排期数量判断模块,用于判断所述排期列表中房间标识的数量是否小于第二预设数量;若是,排期模块将首页推荐请求中的房间标识、以及审批回复中该房间标识对应的直播间的排期时间对应添加至排期列表。
进一步的,本实施例提供的装置还可以包括排期时间判断模块,用于判断所述首页推荐请求中的房间标识对应的排期时间是否晚于当前时间,若是,排期模块再将首页推荐请求中的房间标识、以及审批回复中该房间标识对应的直播间的排期时间对应添加至排期列表。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可,同一个实施例中相同相似的部分也可互相参见。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。