一种视频结果项的展示、提供方法、客户端及服务器
技术领域
本申请涉及互联网技术领域,特别涉及一种视频结果项的展示、提供方法、客户端及服务器。
背景技术
当前的视频播放平台通常都会提供视频搜索功能,通过接收用户输入的搜索关键词,便可以向用户提供与所述搜索关键词相适配的视频结果项。
随着视频数量的不断攀升,根据搜索关键词反馈的视频结果项的数量通常会较多。为了从众多的视频结果项中挑选自己感兴趣的视频,用户通常会根据视频结果项的历史点击次数来进行判断,历史点击次数越多,表明该视频结果项越受欢迎。
然而,历史点击次数无法反应视频结果项表征的视频的实际内容。如果需要对视频内容进行进一步的确定,用户则需要点击各个视频结果项,以进入实际的视频页面。在视频页面中,可以展示用户发表的评论信息。这样,用户通过查看视频的评论信息,从而可以确定该视频是否是自己感兴趣的视频。
由上可见,在当前的视频结果项的展示方式中,用户需要逐一点击各个视频结果项,才能确定自身是否对视频的内容感兴趣。这样的方式会给用户带来较大的负担,无法高效地让用户在视频结果项中筛选出感兴趣的视频。
发明内容
本申请实施方式的目的是提供一种视频结果项的展示、提供方法、客户端及服务器,能够提高用户筛选视频的效率。
为实现上述目的,本申请实施方式提供一种视频结果项的展示方法,所述方法包括:向服务器发送包含搜索关键词的搜索请求;接收所述服务器反馈的与所述搜索关键词相匹配的视频结果集,所述视频结果集中包括至少一个与弹幕数据相关联的视频结果项;在搜索结果页面中展示所述视频结果集中的各个视频结果项;其中,当展示与弹幕数据相关联的视频结果项时,在所述视频结果项所占的区域中显示关联的所述弹幕数据。
为实现上述目的,本申请实施方式还提供一种客户端,所述客户端包括网络通信端口、处理器以及显示器,其中:所述网络通信端口,用于与服务器进行数据交互;所述显示器,用于显示所述服务器反馈的视频结果集中的各个视频结果项;所述处理器,用于控制所述网络通信端口向所述服务器发送包含搜索关键词的搜索请求并通过所述网络通信端口接收所述服务器反馈的与所述搜索关键词相匹配的视频结果集,所述视频结果集中包括至少一个与弹幕数据相关联的视频结果项;在所述显示器的搜索结果页面中展示所述视频结果集中的各个视频结果项;其中,当展示与弹幕数据相关联的视频结果项时,在所述视频结果项所占的区域中显示关联的所述弹幕数据。
为实现上述目的,本申请实施方式还提供一种视频结果项的提供方法,所述方法包括:接收客户端发来的包含搜索关键词的搜索请求,并从数据库中获取与所述搜索关键词相匹配的至少一个视频结果项;当所述至少一个视频结果项中存在与弹幕数据相关联的目标结果项时,获取所述目标结果项关联的弹幕数据,并将所述至少一个视频结果项以及获取的所述弹幕数据反馈至所述客户端,以使得所述客户端在搜索结果页面中展示各个视频结果项;其中,当展示与弹幕数据相关联的目标结果项时,所述客户端在所述目标结果项所占的区域中显示关联的所述弹幕数据。
为实现上述目的,本申请实施方式还提供一种服务器,所述服务器包括网络通信端口、存储器以及处理器,其中:所述网络通信端口,用于与客户端进行数据交互;所述存储器,用于存储视频资源以及与所述视频资源相关联的弹幕数据;所述处理器,用于通过所述网络通信端口接收所述客户端发来的包含搜索关键词的搜索请求,并从所述存储器中获取与所述搜索关键词相匹配的至少一个视频结果项;当所述至少一个视频结果项中存在与弹幕数据相关联的目标结果项时,从所述存储器中获取所述目标结果项关联的弹幕数据,并通过所述网络通信端口将所述至少一个视频结果项以及获取的所述弹幕数据反馈至所述客户端,以使得所述客户端在搜索结果页面中展示各个视频结果项;其中,当展示与弹幕数据相关联的目标结果项时,所述客户端在所述目标结果项所占的区域中显示关联的所述弹幕数据。
由上可见,在用户提供了搜索关键词之后,服务器在针对该搜索关键词反馈相适配的视频结果项时,还可以将其中一部分视频结果项关联的弹幕数据一并反馈给用户的客户端。所述弹幕数据可以是用户在观看视频的过程中发表的针对该视频内容的评论或者感想。在客户端的搜索结果页面中,除了显示各个视频结果项,还可以在视频结果项所占的区域中显示其关联的弹幕数据。这样,用户可以直接在搜索结果页面中查看到视频结果项对应的弹幕数据,从而使得用户在无需进行额外的操作的情况下,获知观看过视频的用户对该视频的看法,从而确定该视频是否是自己感兴趣的视频。由上可见,本申请提供的技术方案,在客户端显示了搜索结果页面之后,用户不需要进行额外的操作便可以筛选出自己感兴趣的视频,从而提高了视频筛选的效率,也提高了用户的体验。
附图说明
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施方式中服务器和客户端的交互示意图;
图2为本申请实施方式中客户端界面的第一示意图;
图3为本申请实施方式中控件位置的第一示意图;
图4为本申请实施方式中控件位置的第二示意图;
图5为本申请实施方式中分析用户行为数据的流程图;
图6为本申请实施方式中的客户端的结构示意图;
图7为本申请实施方式中的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
本申请提供一种视频结果项的展示和提供方法,所述展示和提供方法可以应用于服务器和客户端的系统架构中。其中,所述服务器可以指视频播放网站的后台服务器。所述视频播放网站例如可以是爱奇艺、搜狐视频、Acfun等。在本实施方式中并不具体限定所述服务器的数量。所述服务器可以为一个服务器,还可以为几个服务器,或者,若干服务器形成的服务器集群。
所述客户端可以是具备网络通信功能、数据处理功能以及图像显示功能的电子设备。所述电子设备例如可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、智能电视机等。当然,所述客户端还可以是在上述电子设备中运行的软件。所述软件可以是具备视频制作功能或者视频播放功能的软件。例如,所述软件可以是安装于智能手机上的应用(Application,APP)。
请参阅图1,本申请提供一种视频结果项的展示方法,所述方法可以应用于客户端中。所述方法可以包括以下步骤。
步骤S11:向服务器发送包含搜索关键词的搜索请求。
在本实施方式中,所述搜索关键词可以是用户在视频播放网站的搜索栏中输入的内容。所述搜索关键词可以是视频的名称,也可以是关于视频内容的描述性短语。例如,所述搜索关键词可以是“微微一笑很倾城”、“悬疑欧美”、“莱昂纳多”等。
在本实施方式中,当用户在视频播放网站的搜索栏中输入搜索关键词,并点击搜索或者确认等按键后,客户端便可以生成包含所述搜索关键词的搜索请求,并向所述视频播放网站的服务器发送该搜索请求。
在本实施方式中,所述搜索请求可以是按照预设规则进行编写的字符串。其中,所述预设规则可以是所述客户端与所述服务器之间遵循的网络通信协议。例如,所述搜索请求可以是按照HTTP协议进行编写的字符串。所述预设规则可以限定搜索请求中的各个组成部分以及各个组成部分之间的排列顺序。例如,所述搜索请求中可以包括请求标识字段、源IP地址字段以及目的IP地址字段。所述请求标识字段可以填充所述搜索关键词。所述源IP地址字段可以填写所述客户端的IP地址,所述目标IP地址字段可以填写所述服务器的IP地址。这样,所述搜索请求便可以从所述客户端发送至所述服务器处。
步骤S13:接收所述服务器反馈的与所述搜索关键词相匹配的视频结果集,所述视频结果集中包括至少一个与弹幕数据相关联的视频结果项。
在本实施方式中,所述服务器中可以提供有视频数据库。所述视频数据库可以是存储视频数据的数据集。所述视频数据库可以采用MySQL、Oracle、DB2、Sybase等数据库格式中的任意一种。所述视频数据库可以部署在服务器中的存储介质上。
在本实施方式中,所述视频数据库中可以存储各种视频数据。所述视频数据库中的每个视频数据可以具备各自的数据标识。所述数据标识与视频数据之间可以通过key-value(键值对)的形式进行存储,这样,通过将搜索关键词与数据标识进行匹配,便可以从所述视频数据库中获取到搜索关键词对应的视频数据。
在本实施方式中,所述服务器从所述视频数据库中获取到的每个视频数据均可以作为一个视频结果项。其中,一部分视频数据可以与弹幕数据相关联。所述弹幕数据可以是历史用户在观看视频时发表的针对该视频内容的评论信息或者用户自身的感想。所述弹幕数据通常都是字符信息。
在本实施方式中,视频数据与关联的弹幕数据可以同时存储于所述视频数据库中,并且视频数据与关联的弹幕数据同样可以通过key-value的形式进行存储。这样,服务器在从视频数据库中获取视频数据时,可以将所述视频数据关联的弹幕数据一并获取。
在本实施方式中,当服务器获取了与所述搜索关键词相适配的视频数据并且获取了与视频数据相关联的弹幕数据之后,可以将获取的视频数据以及关联的弹幕数据作为视频结果集反馈至所述客户端处。这样,所述客户端便可以接收到所述视频结果集,所述视频结果集中的每一个视频数据均可以作为一个视频结果项,所述视频结果集中包括至少一个与弹幕数据相关联的视频结果项。
需要说明的是,在本实施方式中,所述弹幕数据中的信息可以包括用户在观看视频时通过弹幕栏发送的弹幕信息,还可以包括用户在视频的评论区中发布的评论信息。此外,由于实际的弹幕信息和评论信息的数量通常较多,在本申请中,所述弹幕数据中的信息可以是从上述的弹幕信息和评论信息中提取的一部分信息。
步骤S15:在搜索结果页面中展示所述视频结果集中的各个视频结果项;其中,当展示与弹幕数据相关联的视频结果项时,在所述视频结果项所占的区域中显示关联的所述弹幕数据。
在本实施方式中,当所述客户端接收到所述视频结果集后,便可以在搜索结果页面中展示所述视频结果集中的各个视频结果项。具体地,所述搜索结果页面可以预先指定各个视频结果项的展示方式以及各个视频结果项所占的区域。例如,所述搜索结果页面可以限定每个视频结果项占据的大小都是相同的,并且在当前页面中每一行仅展示一个视频结果项,各个视频结果项按照从上至下的方式排列。又例如,所述搜索结果页面可以根据视频结果项的类型的不同,为视频结果项设置不同的显示方式。具体地,当视频结果项表征视频合集时,显示在搜索结果页面中的通常是视频合集的封面以及相应的一些文字简介以及剧集的选择按键。因此,视频合集类型的视频结果项所占据的区域可以稍大一些。当视频结果项表征单个视频时,该视频结果项所占据的区域可以稍微小一些。在进行展示时,可以将视频合集类型的视频结果项优先显示。当然,在实际应用场景中,所述搜索结果页面中可以设置切换页面布局的控件,用户可以在所述控件中选择视频结果项的排列方式。
在本实施方式中,对于不与弹幕数据相关联的视频结果项,可以按照常规的方式在搜索结果页面中进行展示。但是在展示与弹幕数据相关联的视频结果项时,可以直接在所述视频结果项所占的区域中显示关联的所述弹幕数据。请参阅图2,假设用户提供的搜索关键词是“微微一笑很倾城”,那么客户端接收到的视频结果集中可以包括该电视剧的合集,也可以包括独立的单个视频。此时,针对与弹幕数量相关联的视频结果项,可以在该视频结果项的显示区域中展示其相关联的弹幕数据。这样,用户可以直接在搜索结果页面中看到历史用户针对这些视频或者视频合集发布的评价信息或者感想,从而可以根据这些评价信息或者感想选择观看感兴趣的视频。
在本实施方式中,展示所述弹幕数据的方式可以包括将所述弹幕数据中的每条弹幕依次在所述视频结果项所占的区域中进行播放。具体的播放方式例如可以是将弹幕从右至左动态播放,还可以是在固定位置处保持显示指定时长。关于各条弹幕的播放顺序,可以按照在弹幕数据中排列的顺序依次播放,还可以按照各个弹幕生成的时间从先到后的顺序进行播放。在本实施方式中,在播放完所述弹幕数据中的各条弹幕之后,可以停止播放弹幕,还可以继续重新播放弹幕,本申请对此并不作限定。
由上可见,在用户提供了搜索关键词之后,服务器在针对该搜索关键词反馈相适配的视频结果项时,还可以将其中一部分视频结果项关联的弹幕数据一并反馈给用户的客户端。所述弹幕数据可以是用户在观看视频的过程中发表的针对该视频内容的评论或者感想。在客户端的搜索结果页面中,除了显示各个视频结果项,还可以在视频结果项所占的区域中显示其关联的弹幕数据。这样,用户可以直接在搜索结果页面中查看到视频结果项对应的弹幕数据,从而使得用户在无需进行额外的操作的情况下,获知观看过视频的用户对该视频的看法,从而确定该视频是否是自己感兴趣的视频。
在本申请一个实施方式中,当客户端在搜索结果页面中展示视频结果项时,通常会根据视频结果项实际所需占用的尺寸,在搜索结果页面中构建相应的容器(container),该容器通常是不可见的。在建立了该容器之后,可以在该容器中填充所述视频结果项对应的可视化内容。这样,用户便可以在搜索结果页面中查看到对应的视频结果项。
在本实施方式中,当客户端判定当前需要展示的视频结果项具备关联的弹幕数据时,可以在建立上述容器的同时,在所述视频结果项所占的区域中建立浮窗,并在建立的所述浮窗中显示关联的所述弹幕数据。具体地,所述浮窗可以视为在所述容器中嵌套的另一个容器,只不过该浮窗的属性可以设置为处于所述容器的上一层。这样,所述容器中展示的视频结果项便不会对该浮窗中显示的弹幕数据构成遮挡。
在本实施方式中,为了能够将关联弹幕数据的视频结果项与其它视频结果项进行明显的区分,可以将所述浮窗的背景色设置为与所述搜索结果页面的背景色不同。例如,所述搜索结果页面的背景色为白色,那么所述浮窗的背景色便可以为灰色。需要说明的是,由于浮窗处于所述容器的上一层,为了不对容器中展示的视频结果项的内容造成严重的遮挡,可以将所述浮窗的透明度设置的较高,从而可以透过该浮窗查看到容器内的视频结果项的信息。
在本申请一个实施方式中,考虑到并不是所有的用户都习惯视频结果项的区域中显示弹幕数据,因此可以在所述搜索结果页面中设置用于控制所述弹幕数据开启或者关闭的控件。请参阅图3,所述控件在所述搜索结果页面中可以仅显示一个,该控件可以控制整个搜索结果页面中各个视频结果项上弹幕数据的关闭和开启。此外,请参阅图4,与弹幕数据相关联的视频结果项所占的区域中均可以包括一个控件,这样,控件与关联有弹幕数据的视频结果项便可以一一对应,每个视频结果项对应的控件可以用于控制该视频结果项的区域中弹幕数据的开启或者关闭,而不会影响到别的视频结果项的区域中弹幕数据的显示情况。
在本申请一个实施方式中,展示所述弹幕数据的方式可以包括将所述弹幕数据中的每条弹幕依次在所述视频结果项所占的区域中进行播放。具体的播放方式例如可以是将弹幕从右至左动态播放,还可以是在固定位置处保持显示指定时长。关于各条弹幕的播放顺序,可以按照在弹幕数据中排列的顺序依次播放,还可以按照所述弹幕数据中每条弹幕的生成时间,在所述视频结果项所占的区域中依次播放所述弹幕数据中的各条弹幕。在本实施方式中,在播放完所述弹幕数据中的各条弹幕之后,可以停止播放弹幕,还可以继续重新播放弹幕,本申请对此并不作限定。
在本申请一个实施方式中,为了体现与弹幕数据相关联的视频结果项的特殊性,客户端在接收到所述视频结果集后,可以对其中的各个视频结果项进行排序。排序的依据在于,将与弹幕数据相关联的视频结果项排列于不与弹幕数据相关联的视频结果项之前。这样,在搜索结果页面中展示各个视频结果项时,与弹幕数据相关联的视频结果项可以位于不与弹幕数据相关联的视频结果项之前。
在本实施方式中,在与弹幕数据相关联的视频结果项的数量为至少两个的情况下,可以根据各个视频结果项关联的弹幕数据中的弹幕数量,对所述各个视频结果项进行排序。具体地,可以按照弹幕数量从多到少的顺序进行排序,并按照排序结果在所述搜索结果页面中展示所述各个视频结果项。弹幕数量越多,表明该视频观看的用户也可能越多,该视频便可能越受欢迎。这样,可以将弹幕数量较多的视频结果项优先向用户展示。此外,在本实施方式中,各个所述视频结果项所占的区域中还可以分别显示有各自关联的弹幕数据中的弹幕数量,从而可以让用户直观地看到具体的弹幕数量。
请参阅图5,在本申请一个实施方式中,可以对用户观看视频的习惯进行记录,并根据记录的结果判断用户是否对弹幕数据感兴趣,从而确定是否向用户展示带有弹幕数据的视频结果项。具体地,客户端可以判断提供所述搜索关键词的用户是否倾向于查看带有弹幕数据的视频,当确定所述用户倾向于查看带有弹幕数据的视频时,才在所述视频结果项所占的区域中显示关联的所述弹幕数据。
在本实施方式中,可以通过对用户的行为数据进行分析,从而判断该用户是否倾向于查看带有弹幕数据的视频。具体地,客户端可以通过埋点的方式来记录用户的行为数据。具体地,埋点的方式可以指在视频播放网站的页面中预先绑定用于获取用户行为数据的代码。当该代码被触发时,客户端可以自动采集用户的行为数据。其中,所述用户的行为数据可以包括用户在当前页面上的点击、滑动、拖拽等操作行为,还可以包括用户查看的页面类型、查看当前页面的时长等信息。在本实施方式中,所述代码可以与指定界面或者指定界面中的控件相绑定,这样,一旦该指定界面被加载或者该指定界面中的控件被触发,所述代码便可以自动运行。例如,视频播放网站中的视频播放页面可以与所述代码相绑定,这样,每当用户客户端加载视频播放页面时,客户端便可以统计用户观看当前页面中视频的总时长。
在本实施方式中,通过埋点的方式,客户端可以记录所述用户观看视频的总时长以及在观看视频过程中开启弹幕的总时长,这样,可以计算所述开启弹幕的总时长与所述观看视频的总时长之间的比值。所述比值越大,表明用户在观看视频过程中开启弹幕的时长越长。这样,当所述比值大于或者等于指定阈值时,可以确定提供所述搜索关键词的用户倾向于查看带有弹幕数据的视频。其中,所述指定阈值可以是根据实际应用场景灵活变动的数值。例如,所述指定阈值可以为50%。那么当计算出的比值达到50%时,便可以判定该用户倾向于查看带有弹幕数据的视频。
需要说明的是,上述的用户,通常可以指所述客户端中的保存的用户信息表征的用户。所述用户信息例如可以是在客户端中注册的用户账号。这样,每当该用户账号处于登陆状态时,客户端便可以记录该用户账号对应的行为特征,从而可以总结出该用户账号针对带有弹幕数据的视频的倾向性。当在该用户账号登陆的情况下,客户端接收到搜索关键词时,便可以根据该用户账号对应的倾向性,相应地展示带有弹幕数据或者不带有弹幕数据的视频结果项。
在本实施方式中,为了保证所述倾向性判断的准确性,可以针对该用户的历史观看记录进行整体的计算。也就是说,可以统计一段时间内该用户观看视频的总时长,以及开启弹幕的总时长,通过这段时间内统计的数据进行计算所述比值,从而保证最终判定结果的准确性。
在本申请一个实施方式中,在对用户的行为数据进行分析时,还可以统计该用户经常观看的视频的类别。具体地,可以统计一段时间内该用户观看过的各个视频所属的类别,并将观看次数较多的视频类别作为该用户对应的指定视频类别。例如,某个用户在最近半年内,主要观看的是爱情题材的视频,因此可以将该用户对应的指定视频类别设定为“言情”。
在本实施方式中,基于用户对应的指定视频类别,在向用户展示视频结果集中的各个视频结果项时,可以在搜索结果页面中优先展示与所述指定视频类别相适配的视频结果项,从而满足该用户的喜好。例如,指定视频类别为“言情”的用户输入的搜索关键词为“微微一笑”,那么便可以将“微微一笑很倾城”的电视剧或者电影优先展示给所述用户,而将其它类型的相关视频排列于“言情”主题的视频之后。
请参阅图6,本申请还提供一种客户端,所述客户端包括网络通信端口100、处理器200以及显示器300。
其中,所述网络通信端口100,用于与服务器进行数据交互;
所述显示器300,用于显示所述服务器反馈的视频结果集中的各个视频结果项;
所述处理器200,用于控制所述网络通信端口向所述服务器发送包含搜索关键词的搜索请求并通过所述网络通信端口接收所述服务器反馈的与所述搜索关键词相匹配的视频结果集,所述视频结果集中包括至少一个与弹幕数据相关联的视频结果项;在所述显示器的搜索结果页面中展示所述视频结果集中的各个视频结果项;其中,当展示与弹幕数据相关联的视频结果项时,在所述视频结果项所占的区域中显示关联的所述弹幕数据。
在本实施方式中,所述网络通信端口100可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的80号端口,也可以是负责进行FTP数据通信的21号端口,还可以是负责进行邮件数据通信的25号端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
所述显示器300可以为将一定的电子文件通过特定的传输设备显示到屏幕上再反射到人眼的显示工具。所述显示器可以包括液晶LCD显示屏、阴极射线管CRT显示屏、发光二极管LED显示屏等。
所述处理器200可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。
上述实施方式公开的客户端,其网络通信端口100、显示器300和处理器200实现的具体功能,可以与本申请中视频结果项的展示方法实施方式相对照解释,可以实现本申请的视频结果项的展示方法实施方式并达到方法实施方式的技术效果。
本申请还提供一种视频结果项的提供方法,所述方法可以应用于服务器中。请参阅图1,所述方法可以包括以下步骤。
S21:接收客户端发来的包含搜索关键词的搜索请求,并从数据库中获取与所述搜索关键词相匹配的至少一个视频结果项。
在本实施方式中,所述搜索关键词可以是用户在视频播放网站的搜索栏中输入的内容。所述搜索关键词可以是视频的名称,也可以是关于视频内容的描述性短语。例如,所述搜索关键词可以是“微微一笑很倾城”、“悬疑欧美”、“莱昂纳多”等。
在本实施方式中,所述搜索请求可以是按照预设规则进行编写的字符串。其中,所述预设规则可以是所述客户端与所述服务器之间遵循的网络通信协议。例如,所述搜索请求可以是按照HTTP协议进行编写的字符串。所述预设规则可以限定搜索请求中的各个组成部分以及各个组成部分之间的排列顺序。例如,所述搜索请求中可以包括请求标识字段、源IP地址字段以及目的IP地址字段。所述请求标识字段可以填充所述搜索关键词。所述源IP地址字段可以填写所述客户端的IP地址,所述目标IP地址字段可以填写所述服务器的IP地址。这样,所述搜索请求便可以从所述客户端发送至所述服务器处。
在本实施方式中,所述服务器中可以提供有数据库。所述数据库可以是存储视频数据的数据集。所述数据库可以采用MySQL、Oracle、DB2、Sybase等数据库格式中的任意一种。所述数据库可以部署在服务器中的存储介质上。
在本实施方式中,所述数据库中可以存储各种视频数据。所述数据库中的每个视频数据可以具备各自的数据标识。所述数据标识与视频数据之间可以通过key-value(键值对)的形式进行存储,这样,通过将搜索关键词与数据标识进行匹配,便可以从所述数据库中获取到搜索关键词对应的视频数据。
在本实施方式中,所述服务器从所述数据库中获取到的每个视频数据均可以作为一个视频结果项。这样,所述服务器便可以从所述数据库中获取与所述搜索关键词相匹配的至少一个视频结果项。
S23:当所述至少一个视频结果项中存在与弹幕数据相关联的目标结果项时,获取所述目标结果项关联的弹幕数据,并将所述至少一个视频结果项以及获取的所述弹幕数据反馈至所述客户端,以使得所述客户端在搜索结果页面中展示各个视频结果项;其中,当展示与弹幕数据相关联的目标结果项时,所述客户端在所述目标结果项所占的区域中显示关联的所述弹幕数据。
在本实施方式中,获取的所述至少一个视频结果项中,一部分目标结果项可以与弹幕数据相关联。所述弹幕数据可以是历史用户在观看视频时发表的针对该视频内容的评论信息或者用户自身的感想。所述弹幕数据通常都是字符信息。
在本实施方式中,目标结果项表征的视频数据与关联的弹幕数据可以同时存储于所述数据库中,并且视频数据与关联的弹幕数据可以通过key-value的形式进行存储。这样,服务器在从数据库中获取视频数据时,可以将所述视频数据关联的弹幕数据一并获取。
在本实施方式中,当服务器获取了与所述搜索关键词相适配的视频数据并且获取了与目标结果项表征的视频数据相关联的弹幕数据之后,可以将获取的各个视频数据作为视频结果项反馈至所述客户端,同时,还可以将获取的所述弹幕数据一并反馈至所述客户端。这样,当所述客户端接收到所述视频结果项和弹幕数据后,便可以在搜索结果页面中展示各个视频结果项。在本实施方式中,对于不与弹幕数据相关联的视频结果项,可以按照常规的方式在搜索结果页面中进行展示。但是在展示与弹幕数据相关联的视频结果项时,可以直接在所述视频结果项所占的区域中显示关联的所述弹幕数据。例如,假设用户提供的搜索关键词是“微微一笑很倾城”,那么客户端接收到的视频结果项可以包括该电视剧的合集,也可以包括独立的单个视频。此时,针对与弹幕数量相关联的视频结果项,可以在该视频结果项的显示区域中展示其相关联的弹幕数据。这样,用户可以直接在搜索结果页面中看到历史用户针对这些视频或者视频合集发布的评价信息或者感想,从而可以根据这些评价信息或者感想选择观看感兴趣的视频。
在本申请一个实施方式中,客户端可以对用户观看视频的行为进行分析,从而得出该用户比较关注的视频类别。在这种情况下,为了能够给用户提供其感兴趣的视频题材,客户端在发送所述搜索请求时,在所述搜索请求中还可以包括用户的指定视频类别。所述指定视频类别便可以是该用户比较关注的视频类别。这样,当服务器从数据库中获取与所述搜索关键词相匹配的至少一个视频结果项之后,可以从所述至少一个视频结果项中筛选出符合所述指定视频类别的视频结果项。具体地,所述至少一个视频结果项可以分别与视频标识相关联,所述视频标识可以标注该视频结果项表征的视频所对应的题材。那么所述服务器可以将视频标识中包含所述指定视频类别的视频结果项作为符合所述指定视频类别的视频结果项。这样,所述服务器后续可以从符合所述指定视频类别的视频结果项中确定与弹幕数据相关联的目标结果项,从而可以保证提供给客户端的视频结果项均是与所述用户的指定视频类别相对应的视频结果项。
在本申请一个实施方式中,所述目标结果项相关联的弹幕数据中的信息,可以包括用户在观看视频时通过弹幕栏发送的弹幕信息,还可以包括用户在视频的评论区中发布的评论信息。此外,由于实际的弹幕信息和评论信息的数量通常较多,在本申请中,所述弹幕数据中的信息可以是从上述的弹幕信息和评论信息中提取的一部分信息。具体地,在提取弹幕信息时,可以先将所述目标结果项表征的视频的总时长划分为预设数量的时长区间。在划分时长区间时,可以按照固定的时间区间进行划分。例如,可以将视频的总时长按照2分钟的时间区间进行划分。在划分时长区间之后,可以统计每个所述时长区间内用户针对所述视频发布的弹幕的总数量。弹幕的总数量越多,表明该时长区间内的内容越能引发大家的讨论,该时长区间内的弹幕的内容也更能够反映视频的实际内容。这样,可以将用户针对所述视频发布的弹幕的总数量大于或者等于指定弹幕阈值的时长区间作为目标时长区间,并从各个所述目标时长区间内分别提取指定数量的弹幕。所述指定弹幕阈值可以是根据实际情况进行灵活变动的数值,该指定弹幕阈值可以作为判断目标时长区间的门槛。当弹幕总数量大于或者等于所述指定弹幕阈值时,说明该时长区间内播放的内容能够引发用户的广泛讨论,该时长区间内的弹幕便可以较好地反映视频的实际内容。这样,可以将从各个所述目标时长区间内提取的弹幕作为与所述目标结果项相关联的弹幕数据。从各个目标时长区间内提取弹幕的方式可以是在限定总数量的前提下进行随机提取,也可以将该时长区间内重复次数最多的一些弹幕提取出来。
需要说明的是,除了对视频的弹幕进行提取,在实际应用场景中还可以对视频评论区中的评论信息进行提取,并将提取的评论信息也作为弹幕数据的一部分。具体地,可以统计每条评论信息点赞的次数,或者每条评论信息跟帖的次数,并将统计的次数较多的评论信息提取为弹幕数据的一部分。
在本申请一个实施方式中,所述目标结果项表征的可能不是单一的视频,而是一个视频合集,在所述视频合集中包括多个视频,每个或者部分视频可以具备对应的弹幕信息。在这种情况下,可以针对所述目标结果项表征的各个视频,从各个视频中分别提取相应的弹幕子集,然后可以将各个所述弹幕子集的组合作为所述目标结果项相关联的弹幕数据。具体地,提取各个视频的弹幕子集的方式可以与上述的提取单个视频对应的弹幕数据的方式一致,首先可以将所述视频的总时长划分为预设数量的时长区间,然后可以统计每个所述时长区间内用户针对所述视频发布的弹幕的总数量。接着,可以将用户针对所述视频发布的弹幕的总数量大于或者等于指定弹幕阈值的时长区间作为目标时长区间,并从各个所述目标时长区间内分别提取指定数量的弹幕。这样,可以将从各个所述目标时长区间内提取的弹幕作为所述视频对应的弹幕子集。具体的提取过程可以参见上述实施方式,这里便不再赘述。
请参阅图7,本申请还提供一种服务器,所述服务器包括网络通信端口110、存储器210以及处理器310。
其中,所述网络通信端口110,用于与客户端进行数据交互;
所述存储器210,用于存储视频资源以及与所述视频资源相关联的弹幕数据;
所述处理器310,用于通过所述网络通信端口接收所述客户端发来的包含搜索关键词的搜索请求,并从所述存储器中获取与所述搜索关键词相匹配的至少一个视频结果项;当所述至少一个视频结果项中存在与弹幕数据相关联的目标结果项时,从所述存储器中获取所述目标结果项关联的弹幕数据,并通过所述网络通信端口将所述至少一个视频结果项以及获取的所述弹幕数据反馈至所述客户端,以使得所述客户端在搜索结果页面中展示各个视频结果项;其中,当展示与弹幕数据相关联的目标结果项时,所述客户端在所述目标结果项所占的区域中显示关联的所述弹幕数据。
在本实施方式中,所述网络通信端口110可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的80号端口,也可以是负责进行FTP数据通信的21号端口,还可以是负责进行邮件数据通信的25号端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施方式中,所述存储器210可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也可以叫存储器,如内存条、TF卡等。
所述处理器310可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。
上述实施方式公开的服务器,其网络通信端口1100、存储器210和处理器310实现的具体功能,可以与本申请中视频结果项的提供方法实施方式相对照解释,可以实现本申请的视频结果项的提供方法实施方式并达到方法实施方式的技术效果。
由上可见,在用户提供了搜索关键词之后,服务器在针对该搜索关键词反馈相适配的视频结果项时,还可以将其中一部分视频结果项关联的弹幕数据一并反馈给用户的客户端。所述弹幕数据可以是用户在观看视频的过程中发表的针对该视频内容的评论或者感想。在客户端的搜索结果页面中,除了显示各个视频结果项,还可以在视频结果项所占的区域中显示其关联的弹幕数据。这样,用户可以直接在搜索结果页面中查看到视频结果项对应的弹幕数据,从而使得用户在无需进行额外的操作的情况下,获知观看过视频的用户对该视频的看法,从而确定该视频是否是自己感兴趣的视频。由上可见,本申请提供的技术方案,在客户端显示了搜索结果页面之后,用户不需要进行额外的操作便可以筛选出自己感兴趣的视频,从而提高了视频筛选的效率,也提高了用户的体验。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端和服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端和服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端和服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对客户端和服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。