一种网络实时互动系统中高并发动态速率数据传输的方法技术方案

技术编号:14145732 阅读:162 留言:0更新日期:2016-12-11 01:53
本发明专利技术公开了一种网络实时互动系统中高并发动态速率数据传输的方法。本发明专利技术首先根据数据拆分策略对文档进行拆分,从而形成文档、页、基本包、数据包的传输层次结构。其次在文档上传时以客户端PPT文档公共页和第1页为先。最后服务器端在收到给客户端的数据请求后,根据规则统计服务器文档需要传输的用户数。本发明专利技术实现在高并发、带宽限定以及不稳定的情况下,动态调速、最大化使用网络带宽的传输方法。

【技术实现步骤摘要】

本专利技术属于计算机分布式数据传输领域,涉及一种网络实时互动系统中高并发动态速率数据传输的方法,实现在高并发、带宽限定以及不稳定的情况下,动态调速、最大化使用网络带宽的传输方法。
技术介绍
在大型在线互动平台(如分布式视频会议系统)中,在既定较为稳定的和波动不稳定的网络带宽条件下,均能高效率稳定支持万人级别的客户端与服务器之间的数据通信,是个难点,也是一个瓶颈问题,同时也是区别在线互动平台之间质量优劣的一个重要指标。对于实时互动系统中高并发数据传输,常规的做法是通过分布式负载均衡来解决,这样做虽然可以通过由多台服务器来分担万人级用户的数据请求和传输通信压力,在一定程度上解决问题。但也明显存在缺陷,对于同一台服务器上的数据通信,还是存在通信峰值和带宽瓶颈问题。比如每台服务器分担1000个客户端(用户),每个客户端可能同时在请求几兆的数据,如果不进行控制就会导致网络拥堵,用户体验无法得到保障。
技术实现思路
本专利技术主要目的是针对现在常规的做法仅从负载均衡来解决的不足,提供一种网络实时互动系统中高并发动态速率数据传输的方法。一种动态调速、最大化使用网络带宽的传输方法,支持高并发数据的稳定可靠传输。本专利技术解决其技术问题所采用的技术方案包括如下步骤:第一部分:数据分包策略本专利技术数据拆分策略如下:文档先根据页面进行拆分,是采取分页传输而不是整个文档一起传输;每页根据64K字节作为一个单位拆分成基本包;基本包又以1K字节为单位拆分成数据包。从而形成文档、页、基本包、数据包的传输层次结构。文档等之类数据,一般都比较大,可以到几十兆甚至几百兆。互联网上传输数据,一般都采取分包传输的策略,不会全部打包在一起一次性传过去,这样容易造成网络拥堵。第二部分:文档上传步骤(1)基于用户体验的考虑,用户希望尽快看到文档数据的第一页。因此客户端PPT文档公共页和第1页的数据传输,采用600Kbps(根据实验测定)的传输速度根据前面的拆包规则上传数据步骤(2)非PPT公共页和非第1页,采用200Kbps的传输速度根据前面的拆包规则上传数据步骤(3)服务器部分将收到的数据根据前面的拆包规则组包成完整的数据后,记录文档、页、基本包、数据包之间的逻辑关系,并在服务器内存中仍旧以数据包、基本包、页、文档层次关系保存,以便其他客户端随时来请求,避免了重新组包,有请求可以直接转发,从而提高传输效率。第三部分:文档下载服务器端在收到给客户端的数据请求后,以100Kbps的速率为基准,通过调整单次发包个数来实现100Kbps至600Kbps的速率调整;单个用户支持100Kbps、200Kbps、300Kbps、400Kbps、500Kbps、600Kbps这几个速率。服务器理论可用带宽Kbps,我们一般固定为100*1024Kbps。服务器文档需要传输的用户数的统计按照如下规则:步骤(1)每隔1秒统计音视频已占用带宽Kbps情况步骤(2)每隔1秒重新统计当前服务器上有文档背景数据包在发送的用户数,和20秒之内曾经发过数据包的用户数,并将两个用户数叠加;步骤(3)新统计人数规则新统计人数>=上1秒统计人数,采用新统计人数,实现快速降速新统计人数<上1秒统计人数,传输人数=新统计人数*0.2+上1秒统计人数*0.8,确保提速平稳过渡;步骤(4)计算服务器给客户端单次发包个数服务器给客户端单次发包个数=(服务器理论可用带宽Kbps–音视频已占用带宽Kbps)/(100Kbps*服务器上文档传输用户数)。步骤(5)确定服务器给客户端的传输速率服务器给客户端单次发包个数最小等于1,100Kbps传输速率服务器给客户端单次发包个数最大等于6,600Kbps传输速率服务器给客户端单次发包个数每1秒调整一次,以支持瞬间用户数上升问题(如瞬间断网,所有用户重新登录的情况)。本专利技术有益效果如下:本专利技术解决了现在常规的做法仅从负载均衡来解决的不足,提供一种动态调速、最大化使用网络带宽的传输方法,支持高并发数据的稳定可靠传输。具体实施方式下面集合实施例对本专利技术做进一步说明。如下以大型在线互动平台中的文档数据传输为例说明,本专利技术方法的具体步骤包括:第一部分:数据分包策略本专利技术数据拆分策略如下:文档先根据页面进行拆分,是采取分页传输而不是整个文档一起传输;每页根据64K字节作为一个单位拆分成基本包;基本包又以1K字节为单位拆分成数据包。从而形成文档、页、基本包、数据包的传输层次结构。文档等之类数据,一般都比较大,可以到几十兆甚至几百兆。互联网上传输数据,一般都采取分包传输的策略,不会全部打包在一起一次性传过去,这样容易造成网络拥堵。第二部分:文档上传步骤(1)基于用户体验的考虑,用户希望尽快看到文档数据的第一页。因此客户端PPT文档公共页和第1页的数据传输,采用600Kbps(根据实验测定)的传输速度根据前面的拆包规则上传数据步骤(2)非PPT公共页和非第1页,采用200Kbps的传输速度根据前面的拆包规则上传数据步骤(3)服务器部分将收到的数据根据前面的拆包规则组包成完整的数据后,记录文档、页、基本包、数据包之间的逻辑关系,并在服务器内存中仍旧以数据包、基本包、页、文档层次关系保存,以便其他客户端随时来请求,避免了重新组包,有请求可以直接转发,从而提高传输效率。第三部分:文档下载服务器端在收到给客户端的数据请求后,以100Kbps的速率为基准,通过调整单次发包个数来实现100Kbps至600Kbps的速率调整;单个用户支持100Kbps、200Kbps、300Kbps、400Kbps、500Kbps、600Kbps这几个速率。服务器理论可用带宽Kbps,我们一般固定为100*1024Kbps。服务器文档需要传输的用户数的统计按照如下规则:步骤(1)每隔1秒统计音视频已占用带宽Kbps情况步骤(2)每隔1秒重新统计当前服务器上有文档背景数据包在发送的用户数,和20秒之内曾经发过数据包的用户数,并将两个用户数叠加;步骤(3)新统计人数规则新统计人数>=上1秒统计人数,采用新统计人数,实现快速降速新统计人数<上1秒统计人数,传输人数=新统计人数*0.2+上1秒统计人数*0.8,确保提速平稳过渡;步骤(4)计算服务器给客户端单次发包个数服务器给客户端单次发包个数=(服务器理论可用带宽Kbps–音视频已占用带宽Kbps)/(100Kbps*服务器上文档传输用户数)。步骤(5)确定服务器给客户端的传输速率服务器给客户端单次发包个数最小等于1,100Kbps传输速率服务器给客户端单次发包个数最大等于6,600Kbps传输速率服务器给客户端单次发包个数每1秒调整一次,以支持瞬间用户数上升问题(如瞬间断网,所有用户重新登录的情况)。实施例:以一个总带宽为500Mbps的系统为例,当系统当前用户数为1000,且正在播放一个流量为400Kbps的视频时,视频所占用的总流量为400Kbps*1000=400000Kbps,假如当时统计得到的文档传输用户数是300,而记录的上一秒的文档传输用户数是250,则根据300来计算单次发包数,即(500000Kbps-400000Kbps)/(100Kbps*300)=3.333…,即每次发送3个数据包,再过一秒后,若统计本文档来自技高网...

【技术保护点】
一种网络实时互动系统中高并发动态速率数据传输的方法,其特征在于包括如下部分:第一部分:数据分包策略数据拆分策略如下:文档先根据页面进行拆分,是采取分页传输而不是整个文档一起传输;每页根据64K字节作为一个单位拆分成基本包;基本包又以1K字节为单位拆分成数据包;从而形成文档、页、基本包、数据包的传输层次结构;第二部分:文档上传首先,基于用户体验的考虑,用户希望尽快看到文档数据的第一页;因此客户端PPT文档公共页和第1页的数据传输,采用的最快传输速度根据前面的拆包规则上传数据,最快传输速度为600Kbps,根据实验测定有浮动;其次,非PPT公共页和非第1页,采用200Kbps的传输速度根据前面的拆包规则上传数据;然后,服务器部分将收到的数据根据前面的拆包规则组包成完整的数据后,记录文档、页、基本包、数据包之间的逻辑关系,并在服务器内存中仍旧以数据包、基本包、页、文档层次关系保存,以便其他客户端随时来请求,避免了重新组包,有请求可以直接转发,从而提高传输效率;第三部分:文档下载服务器端在收到给客户端的数据请求后,以100Kbps的速率为基准,通过调整单次发包个数来实现100Kbps至600Kbps的速率调整;单个用户支持100Kbps、200Kbps、300Kbps、400Kbps、500Kbps、600Kbps这几个速率;服务器理论可用带宽Kbps,固定为100*1024Kbps;服务器文档需要传输的用户数的统计按照如下规则:步骤(1)每隔1秒统计音视频已占用带宽Kbps情况步骤(2)每隔1秒重新统计当前服务器上有文档背景数据包在发送的用户数,和20秒之内曾经发过数据包的用户数,并将两个用户数叠加;步骤(3)新统计人数规则新统计人数>=上1秒统计人数,采用新统计人数,实现快速降速新统计人数<上1秒统计人数,传输人数=新统计人数*0.2+上1秒统计人数*0.8,确保提速平稳过渡;步骤(4)计算服务器给客户端单次发包个数服务器给客户端单次发包个数=(服务器理论可用带宽Kbps–音视频已占用带宽Kbps)/(100Kbps*服务器上文档传输用户数);步骤(5)确定服务器给客户端的传输速率服务器给客户端单次发包个数最小等于1,100Kbps传输速率服务器给客户端单次发包个数最大等于6,600Kbps传输速率服务器给客户端单次发包个数每1秒调整一次,以支持瞬间用户数上升问题。...

【技术特征摘要】
1.一种网络实时互动系统中高并发动态速率数据传输的方法,其特征在于包括如下部分:第一部分:数据分包策略数据拆分策略如下:文档先根据页面进行拆分,是采取分页传输而不是整个文档一起传输;每页根据64K字节作为一个单位拆分成基本包;基本包又以1K字节为单位拆分成数据包;从而形成文档、页、基本包、数据包的传输层次结构;第二部分:文档上传首先,基于用户体验的考虑,用户希望尽快看到文档数据的第一页;因此客户端PPT文档公共页和第1页的数据传输,采用的最快传输速度根据前面的拆包规则上传数据,最快传输速度为600Kbps,根据实验测定有浮动;其次,非PPT公共页和非第1页,采用200Kbps的传输速度根据前面的拆包规则上传数据;然后,服务器部分将收到的数据根据前面的拆包规则组包成完整的数据后,记录文档、页、基本包、数据包之间的逻辑关系,并在服务器内存中仍旧以数据包、基本包、页、文档层次关系保存,以便其他客户端随时来请求,避免了重新组包,有请求可以直接转发,从而提高传输效率;第三部分:文档下载服务器端在收到给客户端的数据请求后,以100Kbps的速率为基准,通过调整单次发包个数来实现100Kbps至600Kb...

【专利技术属性】
技术研发人员:李群巍胡开荆
申请(专利权)人:浙江万朋教育科技股份有限公司
类型:发明
国别省市:浙江;33

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

1