数据包发送方法、装置、服务器及计算机可读存储介质制造方法及图纸

技术编号:21634320 阅读:31 留言:0更新日期:2019-07-17 12:53
本发明专利技术实施例提供了一种数据包发送方法、装置、服务器及计算机可读存储介质,属于网络技术领域。方法包括:获取待接收数据包的目标用户的数量;当所述目标用户的数量大于第一预设阈值,且所述服务器中存储有至少两个待发送的数据包时,根据所述至少两个待发送的数据包生成一个合包数据包;当所述合包数据包符合预设条件时,将所述合包数据包发送至所述目标用户所在终端。本发明专利技术实施例中在需要向用户发送数据包前,获取待接收数据包的目标用户的数量,当用户的数量很大时,对数据包进行合并后再发送,可以有效地减少服务器发送数据包的次数,从而降低了服务器的负载,提高了直播质量或者用户群组数据同步的可靠性,提高了服务质量。

Packet sending method, device, server and computer readable storage medium

【技术实现步骤摘要】
数据包发送方法、装置、服务器及计算机可读存储介质
本专利技术涉及网络
,特别涉及一种数据包发送方法、装置、服务器及计算机可读存储介质。
技术介绍
随着网络技术的发展以及终端功能的多样化,人们越来越喜欢通过网络与其他人进行数据共享,例如,人们可以通过终端建立直播房间,并在该直播房间中进行网络直播,其他人可以进入该直播房间,观看直播内容,与该直播房间的发起者进行互动,或者人们可以通过终端建立用户群组,并在该用户群组中发布消息或者进行语音、视频聊天。目前,上述过程通常是通过用户所在终端与服务器进行数据交互实现。当该直播房间或者用户群组中任一用户在其终端上进行操作,例如,在直播房间中进行的送礼物、点赞、关注、分享等操作,或者在用户群组中进行的消息发布、语音聊天、视频聊天等操作,该用户所在终端会向服务器发送数据包,该数据包中携带该用户的操作内容。服务器接收到该数据包,会将该数据包发送至该直播房间或者用户群组中每一个用户所在终端,从而该直播房间或者用户群组中的每一个用户均能看到该直播房间或者用户群组中其它用户的操作。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:服务器接收到任一终端发送的数据包,即将该数据包发送至待接收该数据包的目标用户所在终端,当该目标用户的数量较大,且每个用户发送的数据包数量较多时,服务器需要发送大量的数据包,可能导致该服务器的CPU过载,从而可能影响直播质量或者用户群组数据同步的可靠性,影响服务质量。
技术实现思路
本专利技术实施例提供了一种数据包发送方法、装置、服务器及计算机可读存储介质,解决了现有技术中CPU过载影响服务质量的问题。所述技术方案如下:一方面,提供了一种数据包发送方法,应用于服务器,所述方法包括:获取待接收数据包的目标用户的数量;当所述目标用户的数量大于第一预设阈值,且所述服务器中存储有至少两个待发送的数据包时,根据所述至少两个待发送的数据包生成一个合包数据包;当所述合包数据包符合预设条件时,将所述合包数据包发送至所述目标用户所在终端。一方面,提供了一种数据包发送装置,应用于服务器,所述装置包括:检测模块,用于获取待接收数据包的目标用户的数量;合并模块,用于当所述目标用户的数量大于第一预设阈值,且所述服务器中存储有至少两个待发送的数据包时,根据所述至少两个待发送的数据包生成一个合包数据包;发送模块,用于当所述合包数据包符合预设条件时,将所述合包数据包发送至所述目标用户所在终端。一方面,提供了一种服务器,所述服务器包括:处理器;用于存放计算机程序的存储器;其中,所述处理器用于执行存储器上所存放的计算机程序,实现所述数据包发送方法。一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现所述数据包发送方法。本专利技术实施例提供的技术方案带来的有益效果是:本专利技术实施例中在需要向用户发送数据包之前,获取待接收数据包的目标用户的数量,当用户的数量很大时,对数据包进行合并后再发送,可以有效地减少服务器发送数据包的次数,从而降低了服务器的负载,提高了直播质量或者用户群组数据同步的可靠性,提高了服务质量。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种网络直播系统示意图;图2是本专利技术实施例提供的一种数据包发送方法流程图;图3是本专利技术实施例提供的一种单个数据包的数据结构示意图;图4是本专利技术实施例提供的一种合包数据包的数据结构示意图;图5是本专利技术实施例提供的一种合包数据包的数据结构示意图;图6是本专利技术实施例提供的一种数据包发送方法的流程图;图7是本专利技术实施例提供的一种应用场景的网络架构示意图;图8是本专利技术实施例提供的一种数据包发送方法流程图;图9是本专利技术实施例提供的一种数据包发送装置的结构示意图;图10是本专利技术实施例提供的一种服务器的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。图1是本专利技术实施例提供的一种网络直播系统示意图,网络直播是一种新兴的网络社交方式,它是多个用户可以在同一时间通过网络系统观看同样的直播内容的一种社交方式。终端可以通过该终端上的直播应用获取直播数据,也可以通过门户网站获取直播数据。用户在该终端上进行操作,该终端可以向服务器发送网络直播请求,由该服务器为该用户创建直播房间,该直播房间是一种提供弹幕式视频直播的在线虚拟房间,该直播房间的发起者即为主播,该主播可以在该直播房间中展示游戏、电影、电视剧、歌唱等音视频内容,其他用户也可以通过终端进入该直播房间,在该直播房间中观看主播的展示内容,也可以与该主播进行互动,例如,点赞、为该主播送礼物、关注或者分享该主播、与该主播进行聊天等。如图1所示,根据数据包的不同类型,该网络直播系统可以包括两种网络架构。其中,第一种网络架构包括至少一个终端和内容分发网络(ContentDeliveryNetwork,CDN)。该至少一个终端可以获取该CDN提供的音视频服务。对于一个直播房间来说,其中一个终端为主播所在终端,其他终端为观众所在终端。主播所在终端可以向该CDN发送音视频上行数据包,该CDN可以将该音视频上行数据包发送至该观众所在终端,则观众所在终端可以观看主播所在终端发送的音视频内容。第二种网络架构包括至少一个终端和消息中转分发服务器。在该网络架构中,消息中转分发服务器不区分终端是观众所在终端,还是主播所在终端,该消息中转分发服务器可以将任一终端发送的消息,广播给其他终端,从而该直播房间内的所有终端均可以看到该消息,该消息通常是上述互动内容。图2是本专利技术实施例提供的一种数据包发送方法流程图。该数据包发送方法应用于服务器,在本专利技术实施例中,仅以该数据包发送方法应用于网络直播场景中为例进行说明,参见图2,该数据包发送方法包括以下步骤:201、当接收到数据包时,服务器获取待接收数据包的目标用户的数量。当直播房间中任一用户进行了某项操作,例如,点赞、送礼物、关注、分享、进退房、聊天等互动操作,该用户所在终端可以向服务器发送数据包,该数据包携带该用户的操作内容,也即是业务数据。服务器接收到该数据包,可以检测直播房间的用户数量,该直播房间的用户数量即为上述待接收数据包的目标用户的数量,该目标用户可以是该直播房间中的在线用户数量,然后可以根据该目标用户的数量确定当前直播房间是否规模较大,来确定对该数据包的处理方式。202、当该目标用户的数量大于第一预设阈值,且该服务器中存储有至少两个待发送的数据包时,服务器根据该至少两个待发送的数据包生成一个合包数据包。技术人员可以在该服务器中预先设置该第一预设阈值,则服务器以此作为是否需要对直播房间的数据包在广播前进行处理的依据。该第一预设阈值的设置可以由技术人员基于服务器的处理能力确定,当然,在实际应用中,该第一预设阈值的设置也可以结合终端的处理能力确定,例如,该第一预设阈值可以是20,当然,该第一预设阈值也可以在后续上述服务器或者终端的处理能力增强或者本文档来自技高网...

【技术保护点】
1.一种数据包发送方法,其特征在于,应用于服务器,所述方法包括:获取待接收数据包的目标用户的数量;当所述目标用户的数量大于第一预设阈值,且所述服务器中存储有至少两个待发送的数据包时,根据所述至少两个待发送的数据包生成一个合包数据包;当所述合包数据包符合预设条件时,将所述合包数据包发送至所述目标用户所在终端。

【技术特征摘要】
1.一种数据包发送方法,其特征在于,应用于服务器,所述方法包括:获取待接收数据包的目标用户的数量;当所述目标用户的数量大于第一预设阈值,且所述服务器中存储有至少两个待发送的数据包时,根据所述至少两个待发送的数据包生成一个合包数据包;当所述合包数据包符合预设条件时,将所述合包数据包发送至所述目标用户所在终端。2.根据权利要求1所述的方法,其特征在于,所述根据所述至少两个待发送的数据包生成一个合包数据包,包括:按照所述至少两个待发送的数据包的接收时间,将所述至少两个待发送的数据包合并为一个合包数据包,基于所述合包数据包生成合包数据包的长度字段、合包命令字字段以及数据包个数字段。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述目标用户的数量大于第一预设阈值,且所述服务器中存储有单个待发送的数据包时,确定所述数据包是否符合预设条件;当所述数据包符合预设条件时,将所述数据包发送至所述目标用户所在终端。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述合包数据包不符合预设条件时,存储所述合包数据包。5.根据权利要求1所述的方法,其特征在于,所述当所述合包数据包符合预设条件时,将所述合包数据包发送至所述目标用户所在终端,包括:当所述合包数据包中的数据包的个数大于第二预设阈值时,将所述合包数据包发送至所述目标用户所在终端;或,当所述合包数据包的长度大于第三预设阈值时,将所述合包数据包发送至所述目标用户所在终端;或,当当前系统时间与上次数据包发送时间之间的时间间隔超过第一预设时间间隔时,将所述合包数据包发送至所述目标用户所在终端。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述目标用户的数量小于或者等于所述第一预设阈值时,且所述服务器中存储有单个数据包时,将所述数据包发送至所述目标用户所在终端。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:定时检测所述服务器中是否存储有待发送的数据包;当计时器指示当前系统时间与上次检测时间之间的时间间隔超过第二预设时间间隔,且所述服务器中存储有所述待发送的数据包时,将所述数据包发送至所述目标用户所在终端。8.根据权利要求1所述的方法,其特征在于,所述方法还...

【专利技术属性】
技术研发人员:尹强文刘志浩曾鹏孙广成陈世荣杨涛
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1