专利名称:一种数据流控制的方法及系统的制作方法
技术领域:
本发明属于即时通信领域,尤其涉及一种数据流控制的方法及系统。
背景技术:
随着信息化社会的飞速发展,各种各样的通信工具如飞信、QQ等被人们普遍使用,除了个人应用以外,一些企业版的即时通信方式也逐渐为大众所熟悉,譬如视频会议等。在实际使用中,音视频数据播放的流畅与否对网络会议质量起着关键作用。在实际应用中,由于网络状况不佳,或服务器资源分配不均,在播放音视频数据流时,容易出现接收端播放不连续,使得会议效果较差,从而影响用户体验
发明内容
本发明提供一种数据流控制的方法及系统以解决上述问题。本发明提供一种数据流控制的方法,包括以下步骤。发送端及接收端分别与流媒体服务器建立连接。所述发送端将获取的流媒体数据信息发送至所述流媒体服务器,所述流媒体服务器将自身每秒获取的字节数信息通知信息处理服务器。所述流媒体服务器接收到所述接收端发送的流媒体数据请求后,所述流媒体服务器通知所述信息处理服务器进行周期性流量统计。所述信息处理服务器根据所述流媒体服务器发送的每秒获取的字节数信息,计算并获取周期平均流量值。所述信息处理服务器比较所述周期平均流量值与自身存储的第一预设值并将比较结果发送至信息发布服务器。所述信息发布服务器根据所述比较结果,进行流量控制。本发明提供一种数据流控制的系统,包括发送端、流媒体服务器、接收端、信息处理服务器及信息发布服务器,所述发送端通过所述流媒体服务器与所述接收端相连,所述流媒体服务器通过所述信息处理服务器与所述信息发布服务器相连,所述信息发布服务器与所述流媒体服务器相连。所述发送端,用于与流媒体服务器建立连接,并将获取的流媒体数据信息发送至所述流媒体服务器。所述接收端,用于向所述流媒体服务器发送流媒体数据请求。所述流媒体服务器,用于将自身每秒获取的字节数信息通知信息处理服务器,还用于接收到所述接收端发送的流媒体数据请求后,通知所述信息处理服务器进行周期性流量统计。所述信息处理服务器,用于根据所述流媒体服务器发送的每秒获取的字节数信息,计算并获取周期平均流量值,还用于比较所述周期平均流量值与自身存储的第一预设值并将比较结果发送至信息发布服务器。所述信息发布服务器,用于根据所述比较结果,进行流量控制。相较于先前技术,根据本发明提供的数据流控制的方法及系统,发送端及接收端分别与流媒体服务器建立连接。所述发送端将获取的流媒体数据信息发送至所述流媒体服务器,所述流媒体服务器将自身每秒获取的字节数信息通知信息处理服务器。所述流媒体服务器接收到所述接收端发送的流媒体数据请求后,所述流媒体服务器通知所述信息处理服务器进行周期性流量统计。所述信息处理服务器根据所述流媒体服务器发送的每秒获取的字节数信息,计算并获取周期平均流量值。有效避免因短时间无流量造成服务器判断失误。所述信息处理服务器比较所述周期平均流量值与自身存储的第一预设值并将比较结果发送至信息发布服务器。所述信息发布服务器根据所述比较结果,进行流量控制。如此,可以在网页上流畅播放音视频,保证了视频会议质量。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1所示为根据本发明的较佳实施例提供的数据流控制的方法的流程图;图2所示为根据本发明的较佳实施例提供的数据流控制的系统的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1所示为根据本发明的较佳实施例提供的数据流控制的方法的流程图。如图1所示,本发明的较佳实施例提供的数据流控制的方法包括步骤IOf 106。步骤101 :发送端及接收端分别与流媒体服务器建立连接。具体而言,于建立连接之前,所述发送端及接收端分别创建Flash Flex项目,并且所述发送端新建发布流媒体应用程序MXML,名称为PublishStream,所述接收端新建播放流媒体应用程序MXML,名称为PI ay Str earn。所述发送端与流媒体服务器建立连接的过程为使用NetConnection类的构造函数创建一个NetConnection连接对象,名称为conn。所述发送端使用connect (URL)连接流媒体服务器,及所述流媒体服务器的URL地址。所述发送端使用conn, connect (URL)与流媒体服务器建立连接后,为所述conn连接对象绑定监听事件。若监听获知状态信息为NetConnction. Connect. Success,则与所述流媒体服务器建立连接成功,若所述状态信息为NetConnction. Connect. Failed,则与所述流媒体服务器建立连接失败,需检查所述流媒体服务器是否已启动,URL地址是否正确等。所述接收端与流媒体服务器建立连接的过程与上述过程类似,故于此不再赘述。步骤102 :所述发送端将获取的流媒体数据信息发送至所述流媒体服务器,所述流媒体服务器将自身每秒获取的字节数信息通知信息处理服务器。具体而言,所述发送端与流媒体服务器建立连接后,需创建发布流。具体过程如下使用NetStream类构造方法创建流对象stream,所述流对象stream用于通过NetConnection对象播放媒体文件和发送数据。所述发送端获取音频及视频数据信息的方式为使用flash Camera类的getCameraO获取本地摄像头数据,使用flash Microphone类的getMicrophoneO获取麦克风数据。所述发送端使用attachCamera方法将摄像头数据附加到流steam上,使用attachMicrophone方法将麦克风数据附加到流stream上。所述发送端将获取的流媒体数据信息以数据流方式发送至流媒体服务器,除已获取的音视频数据外,所述数据流还包含用于标识自身身份信息的key。发送端完成发布流的创建后,添加一页面按钮事件,即可发布相应key的流媒体数据流至流媒体服务器。
发送端开始将流媒体数据流发送至流媒体服务器后,所述流媒体服务器将自身每秒获取的字节数信息通知信息处理服务器,或者所述信息处理服务器主动到所述流媒体服务器读取其每秒获取的字节数信息,然而对此本发明并不作限定。步骤103 :所述流媒体服务器接收到所述接收端发送的流媒体数据请求后,所述流媒体服务器通知所述信息处理服务器进行周期性流量统计。具体而言,信息处理服务器内置定时器,当接收到流媒体服务器的通知时,所述定时器触发,所述信息处理服务器开始统计一个或多个周期流量。步骤104 :所述信息处理服务器根据所述流媒体服务器发送的每秒获取的字节数信息,计算并获取周期平均流量值。具体而言,所述信息处理服务器根据所述流媒体服务器发送的每秒获取的字节数信息,计算并获取周期平均流量值的过程为若每秒获取的字节数设置为S,η秒内流量统计结果=S1+S2+. ..Sn (η秒为一个周期),则η秒内平均流量值=(S1+S2+. . . Sn)/n)字节/秒。步骤105 :所述信息处理服务器比较所述周期平均流量值与自身存储的第一预设值并将比较结果发送至信息发布服务器。具体而言,信息处理服务器存储流量的第一预设值,所述信息处理服务器比较一个或多个周期的周期平均流量值与第一预设值,并将比较结果发送至信息发布服务器。步骤106 :所述信息发布服务器根据所述比较结果,进行流量控制。具体而言,所述信息发布服务器根据一个或多个周期的周期平均流量值与第一预设值的比较结果,进行流量控制的方式,包括以下几种。第一种若为一个周期,周期平均流量值小于第一预设值,则所述信息发布服务器通知所述流媒体服务器停止发送当前key的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。 该流量控制方式的优点解决了在网络情况比较差或者服务器资源分配严重不合理的情况下,所导致的接收端不能接收到流畅的音视频流的问题。第二种若为多个周期,周期平均流量值小于第一预设值达到预设次数,则所述信息发布服务器通知所述流媒体服务器停止发送当前key的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。于此,若周期平均流量值小于第一预设值,且下一个周期内周期平均流量值不小于第一预设值,则信息发布服务器重新统计周期平均流量值小于第一预设值次数,若重新统计的周期平均流量值小于第一预设值达到预设次数,所述信息发布服务器通知所述流媒体服务器停止发送当前key的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。上述流量控制方式的优点网络情况比较差或者服务器资源分配严重不合理,但持续时间比较短的情况下,避免了盲目停止发送当前key的流媒体数据流,给用户带来的体验差的问题。第三种若为多个周期,周期平均流量值小于第一预设值连续达到预设次数,则所述信息发布服务器通知所述流媒体服务器停止发送当前key的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。上述流量控制方式的优点网络情况比较差或者服务器资源分配严重不合理,但持续时间比较长的情况下,避免了接收端不能接收到流畅的音视频流的问题。于本实施例中,仅列举上述信息发布服务器进行流量控制的方式,以适用于不同情形。于其它实施例中,可根据实际需要自行设置流量控制方式,然而对此本发明并不作限定。举例而言,若2012年10月9日10:00:00,发送端向流媒体服务器发送key为test 的流媒体数据流,且流媒体服务器于10:02:00收到接收端发送的流媒体请求后向信息处理服务器发出通知,所述信息处理服务器启动定时器开始周期性流量统计。若所述周期为10秒,且信息处理服务器于10:02:00至10:02:10的周期内,统计每秒的流量分别为55kb/s>45 kb/s、12kb/s、2 kb/s>2 kb/s、I kb/s、3kb/s、3 kb/s>2 kb/s>I kb/s。信息处理服务器计算周期平均流量为(55+45+12+2+2+1+3+3+2+1) /10=12. 6 kb/s,若信息发布服务器存储流量的第一预设值为20kb/s。于此,所述周期平均流量(12. 6 kb/s)小于第一预设值(20kb/s),信息处理服务器将比较结果通知信息发布服务器。若采用第一种流量控制方式,则当信息发布服务器第一次接收到周期平均流量值(12. 6 kb/s)小于第一预设值(20kb/s)的比较结果时,通知流媒体服务器停止发送key为test的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。于本实施例中,若采用第二种流量控制方式,且所述预设次数为3。若信息发布服务器在第一次接收到周期平均流量值(12. 6 kb/s)小于第一预设值(20kb/s)的比较结果后,又接收到接下来第一个10秒(即10:02:10至10:02:20 )周期平均流量值(55kb/s )大于第一预设值(20kb/s)的比较结果,第二个10秒(即10:02:20至10:02:30)周期平均流量值(15kb/s)小于第一预设值(20kb/s)的比较结果。则所述信息发布服务器从第二个10秒,即10:02:20开始,重新统计周期平均流量值小于20kb/s的次数,并当所述次数大于等于预设次数3次时,通知流媒体服务器停止发送key为test的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。若采用第三种流量控制方式,且所述预设次数为3。信息发布服务器接收到第三个10秒(即10:02:30至10:02:40)周期平均流量值(18 kb/s)小于第一预设值(20kb/s)的比较结果,第四个10秒(即10:02:40至10:02:50)周期平均流量值(16 kb/s)第一预设值(20kb/s)的比较结果,则信息发布服务器于10:02:51通知流媒体服务器停止发送key为test的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。图2所示为根据本发明的较佳实施例提供的数据流控制的系统的示意图。如图2所示,本发明的较佳实施例提供的数据流控制的系统包括发送端201、流媒体服务器202、接收端203、信息处理服务器204及信息发布服务器205,所述发送端201通过所述流媒体服务器202与所述接收端203相连,所述流媒体服务器202通过所述信息处理服务器204与所述信息发布服务器205相连,所述信息发布服务器205与所述流媒体服务器202相连。所述发送端201,用于与流媒体服务器202建立连接,并将获取的流媒体数据信息发送至所述流媒体服务器202。所述接收端203,用于向所述流媒体服务器202发送流媒体数据请求。所述流媒体服务器202,用于将自身每秒获取的字节数信息通知信息处理服务器204,还用于接收到所述接收端203发送的流媒体数据请求后,通知所述信息处理服务器204进行周期性流量统计。所述信息处理服务器204,用于根据所述流媒体服务器202发送的每秒获取的字节数信息,计算并获取周期平均流量值,还用于比较所述周期平均流量值与自身存储的第一预设值并将比较结果发送至信息发布服务器205。所述信息发布服务器205,用于根据所述比较结果,进行流量控制。关于上述系统的操作流程同上述方法所述,故于此不再赘述。综上所述,根据本发明的较佳实施例提供的数据流控制的方法及系统,发送端及接收端分别与流媒体服务器建立连接。所述发送端将获取的流媒体数据信息发送至所述流媒体服务器,所述流媒体服务器将自身每秒获取的字节数信息通知信息处理服务器。所述流媒体服务器接收到所述接收端发送的流媒体数据请求后,所述流媒体服务器通知所述信息处理服务器进行周期性流量统计。所述信息处理服务器根据所述流媒体服务器发送的每秒获取的字节数信息,计算并获取周期平均流量值。有效避免因短时间无流量造成服务器 判断失误。所述信息处理服务器比较所述周期平均流量值与自身存储的第一预设值并将比较结果发送至信息发布服务器。所述信息发布服务器根据所述比较结果,进行流量控制。如此,可以在网页上流畅播放音视频,保证了视频会议质量。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种数据流控制的方法,其特征在于,包括以下步骤 发送端及接收端分别与流媒体服务器建立连接; 所述发送端将获取的流媒体数据信息发送至所述流媒体服务器,所述流媒体服务器将自身每秒获取的字节数信息通知信息处理服务器; 所述流媒体服务器接收到所述接收端发送的流媒体数据请求后,所述流媒体服务器通知所述信息处理服务器进行周期性流量统计; 所述信息处理服务器根据所述流媒体服务器发送的每秒获取的字节数信息,计算并获取周期平均流量值; 所述信息处理服务器比较所述周期平均流量值与自身存储的第一预设值并将比较结果发送至信息发布服务器; 所述信息发布服务器根据所述比较结果,进行流量控制。
2.根据权利要求1所述的方法,其特征在于,若为一个周期,周期平均流量值小于第一预设值,则所述信息发布服务器通知所述流媒体服务器停止发送当前key的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。
3.根据权利要求1所述的方法,其特征在于,若为多个周期,周期平均流量值小于第一预设值达到预设次数,则所述信息发布服务器通知所述流媒体服务器停止发送当前key的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。
4.根据权利要求1所述的方法,其特征在于,若为多个周期,周期平均流量值小于第一预设值时,接续的下一个周期内周期平均流量值不小于第一预设值,则信息发布服务器重新统计周期平均流量值小于第一预设值次数,若重新统计的周期平均流量值小于第一预设值达到预设次数,则所述信息发布服务器通知所述流媒体服务器停止发送当前key的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。
5.根据权利要求1所述的方法,其特征在于,若为多个周期,周期平均流量值小于第一预设值连续达到预设次数,则所述信息发布服务器通知所述流媒体服务器停止发送当前key的流媒体数据流并指示所述流媒体服务器重新发布,并由所述流媒体服务器向所述接收端发送重新发布的流媒体数据流。
6.根据权利要求1所述的方法,其特征在于,所述信息处理服务器根据所述流媒体服务器发送的每秒获取的字节数信息,计算并获取周期平均流量值的过程为 若每秒获取的字节数设置为S ; η秒内流量统计结果=S1+S2+. .. Sn,其中,η秒为一个周期, η秒内平均流量值=(SI+S2+. . . Sn)/n)字节/秒。
7.一种数据流控制的系统,其特征在于,包括发送端、流媒体服务器、接收端、信息处理服务器及信息发布服务器,所述发送端通过所述流媒体服务器与所述接收端相连,所述流媒体服务器通过所述信息处理服务器与所述信息发布服务器相连,所述信息发布服务器与所述流媒体服务器相连, 所述发送端,用于与流媒体服务器建立连接,并将获取的流媒体数据信息发送至所述流媒体服务器; 所述接收端,用于向所述流媒体服务器发送流媒体数据请求; 所述流媒体服务器,用于将自身每秒获取的字节数信息通知信息处理服务器,还用于接收到所述接收端发送的流媒体数据请求后,通知所述信息处理服务器进行周期性流量统计; 所述信息处理服务器,用于根据所述流媒体服务器发送的每秒获取的字节数信息,计算并获取周期平均流量值,还用于比较所述周期平均流量值与自身存储的第一预设值并将比 较结果发送至信息发布服务器; 所述信息发布服务器,用于根据所述比较结果,进行流量控制。
全文摘要
本发明提供一种数据流控制的方法及系统,本发明方法包括以下步骤。发送端及接收端分别与流媒体服务器建立连接。所述发送端将获取的流媒体数据信息发送至所述流媒体服务器,所述流媒体服务器将自身每秒获取的字节数信息通知信息处理服务器。所述流媒体服务器接收到所述接收端发送的流媒体数据请求后,所述流媒体服务器通知所述信息处理服务器进行周期性流量统计。所述信息处理服务器根据所述流媒体服务器发送的每秒获取的字节数信息,计算并获取周期平均流量值。所述信息处理服务器比较所述周期平均流量值与自身存储的第一预设值并将比较结果发送至信息发布服务器。所述信息发布服务器根据所述比较结果,进行流量控制。
文档编号H04L12/58GK103023794SQ20121051933
公开日2013年4月3日 申请日期2012年12月6日 优先权日2012年12月6日
发明者胡加明, 刘晓东 申请人:苏州阔地网络科技有限公司