[发明专利]一种网络数据的接收方法有效
申请号: | 201110336749.X | 申请日: | 2011-10-28 |
公开(公告)号: | CN103095646A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 周明伟;何林强;张兴明;傅利泉;朱江明;吴军;吴坚 | 申请(专利权)人: | 浙江大华技术股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京邦信阳专利商标代理有限公司 11012 | 代理人: | 王昭林;项京 |
地址: | 310053 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络 数据 接收 方法 | ||
技术领域
本发明涉及网络上的数据传输技术,特别涉及一种网络数据的接收方法。
背景技术
目前,利用网络进行数据传输已经普及。例如:在视频会议和视频监控领域,视频或者音频采样数据,通过特定的编码算法编码之后,形成的特定格式的数字媒体,往往需要通过网络传输至网络上的另外一端进行播放,这里传输的数据就是一种流媒体数据。而作为流媒体的网络接收端,其网络接收性能直接影响到系统的整体性能。
现有技术中,网络数据的接收方法通常采用以下两种:
第一种:通过阻塞式的接收方式进行接收。
这是最为简单常用的一种网络数据接收方式,即接收端应用程序为每一个网络套接字建立一个线程,该线程对该套接字执行系统调用数据接收处理流程(recv),以进行网络数据的接收。若没有收到数据,则线程一直阻塞在对recv的调用上,直至收到数据为止。
这种方式需要建立大量的线程专门用于网络数据的接收,虽然有系统负荷允许的前提下,数据时延较小,但由于其大量消耗系统资源,整体性能极其受限,并发度比较低。
第二种:通过操作系统支持的多路复用技术进行接收。
这种方式是由一个线程监测应用中的所有网络套接字,查看是否有数据到达,一旦检测到有数据到达,立即进行接收。
这种方式表面上资源消耗低,数据接收时延小,但在实际使用过程中会发现,监测网络套接字的线程本身的监测操作会消耗大量系统资源,同时,当监测到某个套接字上有数据到达并去接收时,往往收到的数据量较小(因为刚刚有一小部分数据到达就被监测到,并立即去接收),从而造成每次的接收调用recv都只能收到很少的数据,而接收的次数却相当频繁,这又进一步降低了系统的效率,实际应用效果会比较差。
上述两种网络数据的接收方法对于流媒体数据的接收来说,缺陷更为明显。
发明内容
有鉴于此,本发明的目的在于提供一种网络数据的接收方法,以降低包括流媒体数据在内的网络数据接收过程中的系统资源消耗。
为达到上述目的,本发明提供了一种网络数据的接收方法,包括:定时处理流程、接收者对象处理流程和数据接收处理流程。
所述定时处理流程在每次定时时间到时,检查预设的接收者对象注册表,在接收对象注册表不为空时,调用其中每个接收者的接收接口,驱动各个接收接口执行所述数据接收处理流程;
所述接收者对象处理流程在一个接收会话初始化后,设置使用的套接字,,将该会话的接收者对象添加到所述接收者对象注册表中,并由定时处理流程驱动在所述接收接口中操作套接字执行数据接收处理流程,在所述的接收接口执行完数据接收处理流程后,将该会话的接收者对象从接收者对象注册表中删除;
所述数据接收流程为操作系统套接字提供的数据接收流程。
较佳地,所述定时处理流程包括如下步骤:
A1、建立并启动定时器;
A2、等待定时器超时;
A3、在定时器超时时,重启定时器;并检查接收者对象注册表,判断其是否为空,如果为空,则返回步骤A2;否则,执行步骤A4;
A4、调用接收者对象注册表中每个接收者的接收接口,驱动各个接收接口执行所述数据接收处理流程;返回步骤A2。
较佳地,所述步骤A2中,在等待定时器超时前,还包括:判断系统是否关闭的步骤,在系统关闭时注销定时器,结束流程。
较佳地,所述接收接口为套接字;所述接收者对象处理流程为C++的一个数据接收基类的派生类流程;所述数据接收基类中封装了开始接收接口和停止接收接口;该派生类流程包括如下步骤:
B1、接收会话初始化后,设置该会话使用的套接字的接收缓冲区;
B2、调用数据接收基类中的开始接收接口,将该会话的接收者对象添加到所述接收者对象注册表中;
B3、判断是否继续接收网络数据,如果是,则执行步骤B4;否则,执行步骤B5;
B4、定时处理流程驱动在所述接收接口中操作套接字执行数据接收处理流程后,返回步骤B3;
B5、调用数据接收基类中的停止接收接口,将该会话的接收者对象从接收者对象注册表中删除后,结束流程。
较佳地,所述步骤B1中,套接字接收缓冲区的大小根据网络数据平均码流的大小和定时器时间间隔设置。
较佳地,若系统具有多个CPU,则在定时处理流程中建立与CPU数量相同的定时器;每个定时器对应设置一个接收者对象注册表;每个定时器超时时检查各自对应的接收者对象注册表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大华技术股份有限公司,未经浙江大华技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110336749.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:移动互联网支付方法
- 下一篇:基于在线离线一体化的维护管理系统和方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置