一种数据处理方法及服务器与流程

文档序号:15455453发布日期:2018-09-15 00:58阅读:229来源:国知局

本发明涉及互联网技术领域,具体涉及一种数据处理方法及服务器。



背景技术:

随着电子科学技术和互联网技术的发展,产生了各种各样的以网络为基础,以虚拟的人物化身为载体,用户在其中生活、交流的网络世界或(虚拟平台),在这动态的网络社会生活空间中,用户可以进行学习、游戏、娱乐、购物等。

为了移动终端、个人计算机等客户端能够更好地支持多媒体,目前,通常将超级文本标记语言5(hypertextmarkuplanguage,html5)页面嵌入在客户端内,例如直播应用平台等。其中,html5页面可简称h5页面。

以直播应用平台为例,嵌入在客户端内的h5页面不仅可以为用户提供直播业务,例如视频业务,还可以实现用户与用户之间的互动业务,例如聊天业务、赠送礼物业务等。互动业务实现的过程可以看成是h5页面与服务器之间的交互过程。目前,在这个过程中,h5页面定时向服务器发送咨询请求,用于咨询服务器,该h5页面对应的业务数据是否有更新,若有更新,则服务器向该h5页面反馈更新的业务数据,该h5页面根据更新的业务数据进行输出。

上述轮询获取业务数据的方式存在以下弊端:(1)h5页面在业务数据有变化时不能及时获取更新的业务数据,导致h5页面输出的业务数据与服务器更新的业务数据存在差异;(2)由于不同客户端的h5页面刷新时间不一样,导致同一h5页面下的不同客户端输出的业务数据存在差异;(3)由于h5页面定时发送咨询请求,导致页面刷新过于频繁,不仅浪费用户流量,还增大服务器的服务压力。



技术实现要素:

本发明实施例提供一种数据处理方法及服务器,能够提高互动业务数据的及时性,确保互动业务数据的同步性,降低服务器的服务压力,同时节省用户的流量。

本发明实施例第一方面提供一种数据处理方法,包括:

接收已打开互动场景的第一网页客户端针对所述互动场景发送的互动业务数据,所述第一网页客户端与服务器具有长连接关系;

对所述互动业务数据进行处理得到广播互动数据;

获取已打开所述互动场景的所有网页客户端的用户信息,所述已打开所述互动场景的所有网页客户端与所述服务器具有长连接关系;

根据所述用户信息向所述已打开所述互动场景的所有网页客户端发送所述广播互动数据,所述广播互动数据被所述已打开所述互动场景的所有网页客户端用于在所述互动场景中输出对应的广播互动消息。

其中,所述广播互动数据包括第一广播互动数据,所述对所述互动业务数据进行处理得到广播互动数据,包括:对所述互动业务数据进行数据格式转换处理得到数据格式为json数据格式的第一广播互动数据。

其中,所述广播互动数据还包括第二广播互动数据,所述对所述互动业务数据进行处理得到广播互动数据,包括:根据所述互动业务数据的业务类型,更新所述互动场景的特征对象的互动业务统计数据;若更新后的所述互动场景的特征对象的互动业务统计数据满足第一预设互动业务广播条件,则根据所述互动场景的特征对象的互动业务统计数据生成第二广播互动数据。

其中,所述广播互动数据还包括第三广播互动数据,所述对所述互动业务数据进行处理得到广播互动数据,包括:根据所述互动业务数据的业务类型,更新所述第一网页客户端的互动业务统计数据;若更新后的所述第一网页客户端的互动业务统计数据满足第二预设互动业务广播条件,则根据所述第一网页客户端的互动业务统计数据生成第三广播互动数据。

其中,所述第一广播互动数据包括所述互动业务数据的业务类型的关键字和所述关键字对应的互动业务统计数据。

其中,所述互动业务数据包括送礼业务数据、送花业务数据、会话业务数据、气氛业务数据中的至少一种。

其中,所述广播互动数据被所述已打开所述互动场景的所有网页客户端用于通过网页客户端与网页页面之间的javascript接口在所述互动场景中输出对应的广播互动消息。

本发明实施例第二方面提供一种服务器,包括:

数据接收单元,用于接收已打开互动场景的第一网页客户端针对所述互动场景发送的互动业务数据,所述第一网页客户端与所述服务器具有长连接关系;

数据处理单元,用于对所述互动业务数据进行处理得到广播互动数据;

信息获取单元,用于获取已打开所述互动场景的所有网页客户端的用户信息,所述已打开所述互动场景的所有网页客户端与所述服务器具有长连接关系;

数据发送单元,用于根据所述用户信息向所述已打开所述互动场景的所有网页客户端发送所述广播互动数据,所述广播互动数据被所述已打开所述互动场景的所有网页客户端用于在所述互动场景中输出对应的广播互动消息。

其中,所述广播互动数据包括第一广播互动数据,所述数据处理单元具体用于对所述互动业务数据进行数据格式转换处理得到数据格式为json数据格式的第一广播互动数据。

其中,所述广播互动数据还包括第二广播互动数据,所述数据处理单元具体用于根据所述互动业务数据的业务类型,更新所述互动场景的特征对象的互动业务统计数据;若更新后的所述互动场景的特征对象的互动业务统计数据满足第一预设互动业务广播条件,则根据所述互动场景的特征对象的互动业务统计数据生成第二广播互动数据。

其中,所述广播互动数据还包括第三广播互动数据,所述数据处理单元具体用于根据所述互动业务数据的业务类型,更新所述第一网页客户端的互动业务统计数据;若更新后的所述第一网页客户端的互动业务统计数据满足第二预设互动业务广播条件,则根据所述第一网页客户端的互动业务统计数据生成第三广播互动数据。

其中,所述第一广播互动数据包括所述互动业务数据的业务类型的关键字和所述关键字对应的互动业务统计数据。

其中,所述互动业务数据包括送礼业务数据、送花业务数据、会话业务数据、气氛业务数据中的至少一种。

其中,所述广播互动数据被所述已打开所述互动场景的所有网页客户端用于通过网页客户端与网页页面之间的javascript接口在所述互动场景中输出对应的广播互动消息。

在本发明实施例中,通过接收已打开互动场景的第一网页客户端针对互动场景发送的互动业务数据,并对互动业务数据进行处理得到广播互动数据,获取已打开互动场景的所有网页客户端的用户信息,根据用户信息向已打开互动场景的所有网页客户端发送广播互动数据,从而已打开互动场景的所有网页客户端可在互动场景中输出对应的广播互动消息,实现网页客户端与服务器的互动业务数据同步更新,进而提高互动业务数据的及时性,确保互动业务数据的同步性,降低服务器的服务压力,同时节省用户的流量。

附图说明

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

图1为应用本发明实施例的网络架构示意图;

图2为本发明实施例提供的场景示意图;

图3为本发明实施例提供的一种数据处理方法的流程示意图;

图4为本发明实施例提供的另一种数据处理方法的流程示意图;

图5为本发明实施例提供的又一种数据处理方法的流程示意图;

图6为本发明实施例提供的一种服务器的结构示意图;

图7为本发明实施例提供的另一种服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述各种消息、请求和客户端,但这些消息、请求和客户端不应限于这些术语。这些术语仅用来将消息、请求和客户端彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一客户端也可以被称为第二客户端,类似地,第二客户端也可以被称为第一客户端。

请参见图1,为应用本发明实施例的网络架构示意图,该网络架构示意图包括四种网页客户端和服务器,网页客户端可以包括但不限于图1所示的智能手机、个人计算机、平板电脑(pad)和便携式电脑,还可以包括智能可穿戴等支持h5页面嵌入的电子设备。网页客户端可以支持直播类应用程序,也可以支持在浏览器中嵌入h5页面,还可以支持在应用程序中嵌入h5页面,例如在社交类应用程序(如微信)、音乐类应用程序、视频类应用程序中嵌入h5页面。网页客户端通过网络连接至服务器,建立与服务器之间的连接。其中,服务器可以是网页客户端打开的直播应用程序所对应的服务器、网页客户端打开的h5页面所对应的服务器,也可以是某个嵌入h5页面的应用程序所对应的服务器,还可以是若干服务器组成的服务器集群,还可以是云计算服务中心。需要说明的是,图1所示的网页客户端和服务器的形态、数量仅用于举例,并不构成对本发明实施例的限定。

结合图1所示的网络架构示意图,本发明实施例提供的数据处理方法及服务器可以应用于图2所示的场景示意图。图2所示的场景示意图中包括第一网页客户端、第二网页客户端、第三网页客户端…第n网页客户端和服务器。其中,n个网页客户端已打开互动场景,以直播应用程序为例,n个网页客户端为进入同一直播房间的用户所对应的网页客户端。n的具体数量视实际具体情况而定。在网页客户端打开互动场景时,便可建立网页客户端与服务器之间的长连接,只要网页客户端一直打开互动场景,该长连接便会存在,直到退出互动场景。长连接的作用在于,服务器可以及时向网页客户端发送广播数据。其中,图2所示的服务器可以是图1所示的服务器。

如图2所示,第一网页客户端在已打开互动场景的情况下,向服务器发送针对所述互动场景的互动业务数据;所述服务器在接收到所述互动业务数据时,对所述互动业务数据进行处理得到广播互动数据;所述服务器获取已打开所述互动场景的n个网页客户端的用户信息,并根据所述用户信息向所述n个网页客户端中每个网页客户端发送所述广播互动数据,每个网页客户端可在所述互动场景中输出对应的广播互动消息,从而实现网页客户端与服务器之间的互动业务数据同步,网页客户端之间的互动业务数据同步。服务器根据互动业务数据进行更新、处理得到广播互动数据,并将广播互动数据发送至n个网页客户端,能够提高互动业务数据的及时性。由服务器在更新后自主向网页客户端发送广播互动数据,而不是根据网页客户端的咨询请求发送,在一定程序上可降低服务器的服务压力,由于不需要网页客户端定时发送咨询请求,在一定程度上可以节省用户的流量。

本发明实施例可以应用于在嵌入h5页面的网页客户端与对应服务器之间进行数据交互的场景中,本发明实施例主要以直播为例进行介绍,直播可以是直播应用程序,也可以是浏览器中的直播,还可以是社交类、音乐类、视频类应用程序中的直播,等等。本发明实施例中的互动场景即为网页客户端已打开的h5页面,对于直播中的h5页面,为用户提供的视图可以分为视频显示区域、互动显示区域、主播信息显示区域,功能选择显示区域。其中,对于智能手机等移动终端的网页客户端,视频显示区域可作为底层显示区域,衬于其它几个显示区域的下方,但并不影响各个显示区域的显示。对于个人计算机等固定终端的网页客户端,视频显示区域可与其它几个区域分开显示,互不重叠。互动显示区域用于显示用户之间的互动情况,例如聊天、赠送礼物、喝彩、点赞等。主播信息显示区域用于显示主播的魅力值、人气值、关注对象等信息。功能选择显示区域用于显示会话、赠送礼物、点赞等功能,用户在功能选择显示区域选择的功能可在互动显示区域输出显示。

下面将基于附图1和附图2,并结合附图3-附图5对本发明实施例提供的数据处理方法进行详细介绍。

请参见图1,为本发明实施例提供的一种数据处理方法的流程示意图,该方法可包括步骤301-步骤304。需要说明的是,图1所示的流程示意图主要从服务器的角度进行介绍。

301,接收已打开互动场景的第一网页客户端针对所述互动场景发送的互动业务数据;

第一网页客户端在打开互动场景时,服务器可建立与所述第一网页客户端之间的长连接。建立好所述第一网页客户端与所述服务器之间的长连接后,两者之间可通过客户端服务器(clientserver,cs)协议进行数据交互,并且长连接将一直存在,直到所述第一网页客户端关闭或退出所述互动场景。任意一个网页客户端在打开所述互动场景时,所述服务器便可建立与该网页客户端之间的长连接。

具体的,所述第一网页客户端在已打开所述互动场景的情况下通过cs协议向所述服务器发送互动业务数据,所述服务器接收所述第一网页客户端发送的所述互动业务数据。可以理解的是,所述第一网页客户端在已打开某个h5页面的情况下,接收用户针对该h5页面输入的内容,并对输入的内容进行数据格式转换得到互动业务数据,并通过cs协议将所述互动业务数据发送至所述服务器。所述互动业务数据的数据格式可以为所述服务器可识别的数据格式。其中,用户针对该h5页面输入的内容可以是会话、赠送礼物、喝彩、点赞等,所述第一网页客户端根据输入的内容进行转换得到的所述互动业务数据携带所述第一网页客户端的用户信息,用于标识所述互动业务数据由哪个网页客户端发送,即标识所述互动业务数据由h5页面所在的直播房间中的哪个用户发送。其中,所述第一网页客户端的用户信息为登录所述互动场景的用户标识,即登录h5页面的用户标识,可以是昵称、账号等用户标识。

其中,所述互动业务数据包括送礼业务数据、送花业务数据、会话业务数据、气氛业务数据中的至少一种。若所述互动业务数据为所述送礼业务数据或所述送花业务数据,则所述互动业务数据还携带所述互动业务数据的接收对象的用户信息,即接收礼物或接收花的用户信息,可以是所述互动场景的特征对象的用户信息,此时所述第一网页客户端的用户向h5页面对应的主播赠送礼物或赠送花;也可以是其它网页客户端的用户信息,此时所述第一网页客户端的用户向h5页面所在的直播房间中的其它用户赠送礼物或赠送花。所述互动场景的特征对象的用户信息可以是已打开的h5页面对应的主播的用户信息。所述送礼业务数据包括礼物类型、该礼物类型的价值以及该礼物类型的数量。所述会话业务数据包括会话内容,即用户针对所述互动场景所输入的聊天内容。所述气氛业务数据可以是喝彩、点赞、鼓掌等。

需要说明的是,所述第一网页客户端可以是已打开所述互动场景的网页客户端中的任意一个,即进入h5页面所在的直播房间中的任意一个用户的网页客户端。

302,对所述互动业务数据进行处理得到广播互动数据;

具体的,由于网页客户端发送的数据的数据格式与服务器进行存储、处理的数据格式存在差异,因此所述服务器首先对所述互动业务数据进行数据格式转换处理得到数据格式为json数据格式的第一广播互动数据。

其中,json数据格式是一种轻量级的数据交换格式,json可以将javascript对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从服务器传递给网页客户端。这个字符串看起来有点儿古怪,但是javascript很容易解释它,而且json可以表示比"名称/值对"更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。

不管所述互动业务数据是哪种,所述服务器均对所述互动业务数据进行数据格式转换处理得到所述第一广播互动数据,所述第一广播互动数据包括所述互动业务数据的业务类型的关键字(key)和所述关键字对应的互动业务统计数据(value)。例如,{name=send_gift,data={"gift_id":"1,"gift_price":10}},send_gift表示所述互动业务数据的业务类型为送礼业务,所述互动业务数据为所述送礼业务数据,data表示送礼业务对应的互动业务统计数据,所述互动业务统计数据包括礼物类型(gift_id)和礼物价值(gift_price)。针对不同类型的礼物,其礼物价值有所不同。可以理解的是,根据不同的礼物价值,可为主播增加不同的魅力值,为对应的直播房间增加不同的人气值,同时还可以为送礼的网页客户端的用户增加贡献值。再例如,{name=send_flower,data={"gift_id":"1,"gift_price":10}}表示所述互动业务数据的业务类型为送花业务,所述互动业务数据为所述送花业务数据,可以理解的是,送花业务并不增加主播的魅力值,但可以增加对应的直播房间的人气值,增加送礼的网页客户端的用户的贡献值。针对所述送礼业务数据和所述送花业务数据,所述互动业务数据还携带数量信息,即赠送礼物的数量和赠送花的数量。又例如,{name=chat,data={"content":"helloworld"}},chat表示所述互动业务数据的业务类型为会话业务,所述互动业务数据为所述会话业务数据,data表示网页客户端的用户输入的内容,可以理解的是,会话业务可以增加对应的直播房间的人气值。

所述服务器根据所述互动业务数据的业务类型,更新所述互动场景的特征对象的互动业务统计数据。可以理解的是,所述服务器首先获取h5页面对应的主播的已魅力值,已魅力值即为接收到所述互动业务数据之前的魅力值,若所述互动业务数据的业务类型为送礼业务,则所述服务器根据礼物类型在已魅力值的基础上增加,若礼物数量大于一个,则所述服务器根据礼物类型以及礼物数量在已魅力值的基础上增加,对于不同类型的礼物其增加的魅力值的大小有所不同,视各种类型的礼物与魅力值增量之间的对应关系而定,该对应关系可由h5页面的系统设定。例如,所述第一网页客户端向h5页面对应的主播赠送一辆车,所述服务器根据车对应的魅力值增量在该主播已魅力值的基础上增加该魅力值增量。可以理解的是,所述互动场景的特征对象的互动业务统计数据是一个累加的数据,所述服务器可以将更新后的所述互动场景的特征对象的互动业务统计数据立即反馈给已打开所述互动场景的所有网页客户端,也可以在更新后的所述互动场景的特征对象的互动业务统计数据达到一定数值后反馈给已打开所述互动场景的所有网页客户端。

若更新后的所述互动场景的特征对象的互动业务统计数据满足第一预设互动业务广播条件,则所述服务器根据所述互动场景的特征对象的互动业务统计数据生成第二广播互动数据。其中,所述第一预设互动业务广播条件可以包括多个等级阈值,具体多个等级阈值的数量以及具体的阈值大小在此不做限定。例如,更新后的所述互动场景的特征对象的互动业务统计数据达到500,则所述服务器生成所述第二广播互动数据。可以理解的是,所述第一网页客户端送的礼物可以为h5页面对应的主播的魅力值带来50的增量,更新后的h5页面对应的主播的魅力值达到500,则所述服务器生成所述第二广播互动数据。可以理解的是,在h5页面对应的主播的魅力值达到一定数量时,所述服务器需要告知该h5页面对应的直播房间中的所有用户。需要说明的是,所述服务器一旦接收到业务类型为送礼业务的互动业务数据,便会更新所述互动场景的特征对象的互动业务统计数据,但是不一定生成所述第二广播互动数据,在更新后的所述互动场景的特征对象的互动业务统计数据满足所述第一预设互动业务广播条件时才生成所述第二广播互动数据。

所述服务器根据所述互动业务数据的业务类型,更新所述第一网页客户端的互动业务统计数据。可以理解的是,所述服务器首先获取所述第一网页客户端登录h5页面的用户的当前贡献值,当前贡献值即为所述第一网页客户端发送所述互动业务数据之前的贡献值,若所述互动业务数据的业务类型能够增加用户的贡献值,则所述服务器根据业务类型与贡献值增量之间的对应关系在当前贡献值的基础上增加,对于不同类型的业务其增加的贡献值的大小有所不同,视各种类型的业务与贡献值增量之间的对应关系而定,该对应关系可由h5页面的系统设定。若送礼数量或送花数量大于一个,则所述服务器根据业务类型以及数量在当前贡献值的基础上增加。例如,所述第一网页客户端向h5页面对应的主播赠送一辆车,所述服务器根据车对应的贡献值增量在所述第一网页客户端的当前贡献值的基础上增加该贡献值增量。可以理解的是,所述第一网页客户端的互动业务统计数据是一个累加的数据。所述服务器可以将更新后的所述第一网页客户端的互动业务统计数据立即反馈给所述第一网页客户端,也可以在更新后的所述第一网页客户端的互动业务统计数据达到一定数值后反馈给已打开所述互动场景的所有网页客户端。

若更新后的所述第一网页客户端的互动业务统计数据满足第二预设互动业务广播条件,则根据所述第一网页客户端的互动业务统计数据生成第三广播互动数据。同理,所述第二预设互动业务广播条件可以包括多个等级阈值,具体多个等级阈值的数量以及具体的阈值大小在此不做限定。例如,更新后的所述第一网页客户端的互动业务统计数据达到500,则所述服务器生成所述第三广播互动数据。可以理解的是,所述第一网页客户端送的礼物可以为所述第一网页客户端的用户带来50的增量,更新后的该用户对应的贡献值达到500,则所述服务器生成所述第三广播互动数据。可以理解的是,在某个用户的贡献值达到一定数量时,所述服务器需要告知其它用户。同理,所述服务器一旦接收到会改变所述第一网页客户端的互动业务统计数据的互动业务数据,便会更新所述第一网页客户端的互动业务统计数据,但是不一定生成所述第三广播互动数据,在更新后的所述第一网页客户端的互动业务统计数据满足所述第二预设互动业务广播条件时才生成所述第三广播互动数据。

需要说明的是,所述服务器对所述互动业务数据进行处理得到广播业务数据,所述广播业务数据一定会包括所述第一广播业务数据,但是是否包括所述第二广播业务数据、所述第三广播业务数据得视情况而定。

303,获取已打开所述互动场景的所有网页客户端的用户信息;

具体的,所述已打开所述互动场景的所有网页客户端与所述服务器具有长连接关系,即所述已打开所述互动场景的所有网页客户端与所述服务器之间的连接不会轻易断开,以便所述服务器及时向网页客户端发送广播互动数据。所述服务器获取已打开所述互动场景的所有网页客户端的用户信息,即获取与所述第一网页客户端打开同一h5页面的所有网页客户端的用户信息,也即获取该h5页面所在的直播房间中的所有用户的用户信息。其中,所述已打开所述互动场景的所有网页客户端中可以包括所述第一网页客户端,若所述第一网页客户端在发送所述互动业务数据之后关闭或退出了所述互动场景,则所述已打开所述互动场景的所有网页客户端中不包括所述第一网页客户端。

需要说明的是,步骤303可与步骤302同时执行,也可在步骤302之前或之后执行,不限定两者之间的先后顺序。

304,根据所述用户信息向所述已打开所述互动场景的所有网页客户端发送所述广播互动数据;

具体的,所述服务器根据所述用户信息向所述已打开所述互动场景的所有网页客户端发送所述广播互动数据,即向所述第一网页客户端打开的h5页面所在的直播房间中的所有用户推送所述广播互动数据,那么该直播房间中的所有用户对应的网页客户端便能同时接收到所述广播互动数据,保证了用户之间的互动业务数据的同步,也保证了服务器与用户之间的互动业务数据的同步。

其中,所述广播互动数据被所述已打开所述互动场景的所有网页客户端用于在所述互动场景中输出对应的广播互动消息,所述广播互动消息用于告知用户,所述第一网页客户端的用户发送了什么。具体的,所述广播互动数据被所述已打开所述互动场景的所有网页客户端用于通过网页客户端与网页页面之间的javascript接口在所述互动场景中输出对应的广播互动消息。

需要说明的是,本发明实施例对一个网页客户端发送的互动业务数据的处理过程进行了介绍,若有多个网页客户端发送互动业务数据,则服务器根据发送的先后顺序依次进行处理。

需要说明的是,应用本发明实施例,不限定嵌入h5页面的网页客户端的版本信息,即任何嵌入h5页面的网页客户端均可应用本发明实施例,扩大了本发明实施例的应用范围,兼容性较好。

在本发明实施例中,通过接收已打开互动场景的第一网页客户端针对互动场景发送的互动业务数据,并对互动业务数据进行处理得到广播互动数据,获取已打开互动场景的所有网页客户端的用户信息,根据用户信息向已打开互动场景的所有网页客户端发送广播互动数据,从而已打开互动场景的所有网页客户端可在互动场景中输出对应的广播互动消息,实现网页客户端与服务器的互动业务数据同步更新,进而提高互动业务数据的及时性,确保互动业务数据的同步性,降低服务器的服务压力,同时节省用户的流量。

请参见图2,为本发明实施例提供的另一种数据处理方法的流程示意图。需要说明的是,图2所示的流程示意图从服务器与网页客户端交互的角度进行介绍,并以送礼业务数据为例进行介绍。

图2所示的网页客户端的数量可以为多个,默认这多个网页客户端都已打开了h5页面,都与服务器建立了长连接,其中一个网页客户端在已打开该h5页面的情况下向服务器发送送礼业务数据。服务器在接收到送礼业务数据时,对送礼业务数据进行处理,包括:对送礼业务数据进行数据格式转换处理得到第一广播业务数据;根据送礼业务数据的礼物类型和数量对h5页面对应的主播的魅力值进行处理得到第二广播业务数据;根据送礼业务数据的贡献值增量对该网页客户端的贡献值进行处理得到第三广播业务数据;根据第一广播业务数据、第二广播业务数据和第三广播业务数据得到广播业务数据。

其中,对h5页面对应的主播的魅力值进行处理得到第二广播业务数据包括:在h5页面对应的主播的当前魅力值的基础上增加魅力值增量,并在增加后的魅力值满足第一预设互动业务广播条件时,生成第二广播业务数据。对该网页客户端的贡献值进行处理得到第三广播业务数据包括:在该网页客户端的当前贡献值的基础上增加贡献值增量,并在增加后的贡献值满足第二预设互动业务广播条件时,生成第三广播业务数据。

服务器获取这多个网页客户端的用户信息,并根据用户信息将广播业务数据发送至这多个网页客户端。这多个网页客户端在接收到广播业务数据时,进行相应的处理并输出相应的广播业务消息。用户在获取到广播业务消息可再次针对网页客户端输入内容,该网页客户端可再次向服务器发送互动业务数据。

在一个示例中,在多个网页客户端均已打开h5页面a的情况下,其中的网页客户端b的用户通过网页客户端b向该h5页面a对应的主播c赠送的礼物,网页客户端b根据该礼物生成送礼业务数据,并发送至服务器。服务器接收到该送礼业务数据时,对其进行处理得到广播互动数据,并将该广播互动数据发送至这多个网页客户端。

本发明实施例由服务器统一发送广播互动数据,能够提高互动业务数据的及时性、确保互动业务数据的同步性;不需要网页客户端定时轮询,可以降低服务器的服务压力,同时节省用户的流量。

请参见图3,为本发明实施例提供的又一种数据处理方法的流程示意图。需要说明的是,图3所示的流程示意图从一个网页客户端角度进行介绍,该网页客户端为打开互动场景的网页客户端中的任意一个。

501,接收服务器发送的广播互动数据;

具体的,网页客户端通过cs协议接收服务器发送的广播互动数据。所述广播互动数据包括数据格式为json数据格式的第一广播互动数据,可能包括第二广播互动数据,还可能包括第三广播互动数据。

502,对所述广播互动数据进行处理得到广播互动消息;

具体的,若所述广播互动数据只包括所述第一广播互动数据,则所述网页客户端通过网页客户端与h5页面之间的javascript接口进行交互,将所述第一广播互动数据透传至h5页面,h5页面在接收到所述第一广播互动数据时,对所述第一广播互动数据进行数据格式转换处理得到第一广播互动消息,所述第一广播互动消息用于告知同一直播房间的所有网页客户端的用户,哪个网页客户端的用户发送了什么消息,例如聊天内容,向谁赠送礼物或赠送花,点赞等。其中,javascript接口实现native与h5之间的交互,即本地客户端与h5页面之间的交互,可以是pushforwebg接口。

若所述广播互动数据包括所述第二广播互动数据,则所述网页客户端通过javascript接口进行交互,将所述第二广播互动数据透传至h5页面,h5页面在接收到所述第二广播互动数据时,对所述第二广播互动数据进行数据格式转换处理得到第二广播互动消息,所述第二广播互动消息用于告知同一直播房间的所有网页客户端的用户,该直播房间的主播的魅力值大小和/或等级。

若所述广播互动数据包括所述第三广播互动数据,则所述网页客户端通过javascript接口进行交互,将所述第三广播互动数据透传至h5页面,h5页面在接收到所述第三广播互动数据时,对所述第三广播互动数据进行数据格式转换处理得到第三广播互动消息,所述第三广播互动消息用于告知同一直播房间的所有网页客户端的用户,发送所述互动业务数据的网页客户端的用户的贡献值大小和/或等级。

503,输出所述广播互动消息;

具体的,所述网页客户端控制所述广播互动消息在h5页面的互动显示区域输出显示,从而所述网页客户端可以及时地接收同一直播房间中其它网页客户端的用户发送的消息。

所述第一广播互动消息、所述第二广播互动消息、所述第三广播互动消息均可在h5页面的互动显示区域输出显示。对于所述第二广播互动消息,不仅在h5页面的互动显示区域输出显示,还在h5页面的主播信息显示区域更改主播的魅力值大小和/或等级。对于所述第三广播互动消息,不仅在h5页面的互动显示区域输出显示,还在发送所述互动业务数据的网页客户端的个人贡献值栏目中更改贡献值的大小和/或等级。

需要说明的是,若所述互动业务数据为送礼业务数据、送花业务数据、气氛业务数据中的任意一种,则所述广播互动消息的具体输出显示形式在本发明实施例中不做限定,由网页客户端的系统设定。

在本发明实施例中,网页客户端无需定时向服务器发送咨询请求,由于存在与服务器之间的长连接,可直接接收服务器发送的广播互动数据即可,即确保互动业务数据的及时性、同步性,也节省用户的流程,降低服务器的服务压力。

请参见图6,为本发明实施例提供的一种服务器的结构示意图,所述服务器60可包括数据接收单元601、数据处理单元602、信息获取单元603和数据发送单元604。

数据接收单元601,用于接收已打开互动场景的第一网页客户端针对所述互动场景发送的互动业务数据,所述第一网页客户端与所述服务器具有长连接关系;

数据处理单元602,用于对所述互动业务数据进行处理得到广播互动数据;

其中,所述广播互动数据包括第一广播互动数据,所述数据处理单元602具体用于对所述互动业务数据进行数据格式转换处理得到数据格式为json数据格式的第一广播互动数据。

其中,所述第一广播互动数据包括所述互动业务数据的业务类型的关键字和所述关键字对应的互动业务统计数据。

其中,所述广播互动数据还包括第二广播互动数据,所述数据处理单元602具体用于根据所述互动业务数据的业务类型,更新所述互动场景的特征对象的互动业务统计数据;若更新后的所述互动场景的特征对象的互动业务统计数据满足第一预设互动业务广播条件,则根据所述互动场景的特征对象的互动业务统计数据生成第二广播互动数据。

其中,所述广播互动数据还包括第三广播互动数据,所述数据处理单元具体用于根据所述互动业务数据的业务类型,更新所述第一网页客户端的互动业务统计数据;若更新后的所述第一网页客户端的互动业务统计数据满足第二预设互动业务广播条件,则根据所述第一网页客户端的互动业务统计数据生成第三广播互动数据。

信息获取单元603,用于获取已打开所述互动场景的所有网页客户端的用户信息,所述已打开所述互动场景的所有网页客户端与所述服务器具有长连接关系;

数据发送单元604,用于根据所述用户信息向所述已打开所述互动场景的所有网页客户端发送所述广播互动数据,所述广播互动数据被所述已打开所述互动场景的所有网页客户端用于在所述互动场景中输出对应的广播互动消息。

其中,所述广播互动数据被所述已打开所述互动场景的所有网页客户端用于通过网页客户端与网页页面之间的javascript接口在所述互动场景中输出对应的广播互动消息。

其中,所述互动业务数据包括送礼业务数据、送花业务数据、会话业务数据、气氛业务数据中的至少一种。

需要说明的是,需要说明的是,上述数据接收单元601用于执行图3所示实施例中的步骤301;上述数据处理单元602用于执行图3所示实施例中的步骤302;上述信息获取单元603用于执行图3所示实施例中的步骤303;上述数据发送单元604用于执行图3所示实施例中的步骤304。

其中,上述数据处理单元602、上述信息获取单元603可以是处理器或控制器,例如可以是中央处理器(centralprocessingunit,cpu),通用处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。上述数据接收单元601、上述数据发送单元604可以是通信接口、通信电路等。

当上述数据处理单元602、上述信息获取单元603为处理器,上述数据接收单元601、上述数据发送单元604为通信接口时,本发明实施例所涉及的服务器可以为图7所示的服务器。图7所示的服务器包括处理器701、通信接口702、存储器703和总线704。

其中,存储器703可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码或应用程序运行装置运行所需要参数、数据等。且存储器703可以包括随机存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory),例如磁盘存储器,闪存(flash)等。

总线704可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。该总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

其中,处理器701用于执行如下操作步骤:

控制通信接口702接收已打开互动场景的第一网页客户端针对所述互动场景发送的互动业务数据,所述第一网页客户端与所述服务器具有长连接关系;

对所述互动业务数据进行处理得到广播互动数据;

获取已打开所述互动场景的所有网页客户端的用户信息,所述已打开所述互动场景的所有网页客户端与所述服务器具有长连接关系;

控制通信接口702根据所述用户信息向所述已打开所述互动场景的所有网页客户端发送所述广播互动数据,所述广播互动数据被所述已打开所述互动场景的所有网页客户端用于在所述互动场景中输出对应的广播互动消息。

其中,所述广播互动数据包括第一广播互动数据,处理器701执行对所述互动业务数据进行处理得到广播互动数据时具体执行:

对所述互动业务数据进行数据格式转换处理得到数据格式为json数据格式的第一广播互动数据。

其中,所述广播互动数据还包括第二广播互动数据,处理器701执行对所述互动业务数据进行处理得到广播互动数据时具体执行:

根据所述互动业务数据的业务类型,更新所述互动场景的特征对象的互动业务统计数据;

若更新后的所述互动场景的特征对象的互动业务统计数据满足第一预设互动业务广播条件,则根据所述互动场景的特征对象的互动业务统计数据生成第二广播互动数据。

其中,所述广播互动数据还包括第三广播互动数据,处理器701执行对所述互动业务数据进行处理得到广播互动数据时具体执行:

根据所述互动业务数据的业务类型,更新所述第一网页客户端的互动业务统计数据;

若更新后的所述第一网页客户端的互动业务统计数据满足第二预设互动业务广播条件,则根据所述第一网页客户端的互动业务统计数据生成第三广播互动数据。

其中,所述第一广播互动数据包括所述互动业务数据的业务类型的关键字和所述关键字对应的互动业务统计数据。

其中,所述互动业务数据包括送礼业务数据、送花业务数据、会话业务数据、气氛业务数据中的至少一种。

其中,所述广播互动数据被所述已打开所述互动场景的所有网页客户端用于通过网页客户端与网页页面之间的javascript接口在所述互动场景中输出对应的广播互动消息。

需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来请求相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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