基于内存缓冲区的流媒体数据缓存(2)
之间,如果在之间,就丢弃这个数据包,因为这个数据包已经是无效的。
算法框图:
是
是
是
开始 baglength>512K? 否 original
重复的数据包对于单用户来说,是无效的,而如果多用户就要发给不
同的文件,而对于其中的每个文件来说,重复的文件也是无效的,所以,决定对于重复的数据包只做丢弃处理,原理上是没有错误的;
解决方法:设置vector barrier数组,用来记录所有已经进入缓冲区的数
据包,而记录的元素为数据包的特征值indataoffset+baglength; 每个数 据包在进入缓冲区前都要调用fence“栅栏”函数进行特征值比较,如果 比较成功,则拦截成功,否则barrier数组记录这个数据包的特征值。
算法框图: 开始
计算数据包特征值:
offset=indataoffset+baglenth;
为数据包最后一个数据的偏
移量 fence栅栏函数比较特征值
return=1?
是 否 数据包进入缓冲区
结束
5、多节目ID数据包处理 算法描述:
即每个数据包都带有节目信息ID;节目类需要进行三个操作,一是
数据包未传送完毕,节目类接收数据包;二是数据包传送完毕,节目类进行缓冲区的清空;三是节目类内存空间的释放。
1、 节目类接收数据包:节目类需要判断此数据包的ID信息是否和当
前类对象的ID信息符合,符合则写在当前类对象所拥有的缓冲区
中,否则查看当前类的指针私有变量是否为NULL,如果非空,就把数据包传送给下一个类对象进行比较;如果为NULL值,就要启动一个新类,新类向缓冲池申请新的缓冲区,如果申请失败,则数据包存储失败,如果申请成功,就将数据包写入新类的缓冲区; 2、 数据包传送完毕:传送完毕时,节目类再次接收到最后一个数据包,
但是decision变为1,即通知节目类数据包传送完毕,当前节目类首先调用clearremainer函数输出缓冲区剩余数据,如果其指针私有变量next为非空,则传递decision为1这个信息,如果为空,则结束;
3、 节目类内存空间的释放:由于设计中的类的应用是用指针加new实
现的,故需要用delete来调用类的析构函数,而delete只能释放类型定义变量,不能释放类内部new出的内存,也不能关闭文件,故需要在析构函数~program中关闭文件、释放当前缓冲区的内存;另如果指针私有变量next为非空,则delete下一个类,启动下一个类的析构函数,如果为空,则结束。
算法框图:
开始
bagnumber=1?
new初节目类original; origianl.ID=databag.ID
初节目类original调用
printdata函数接收
databag
decision=1? 当前节目类调用 clearremainer函数输出缓冲区剩余数据; next=NULL?
当前类 .ID=databag.ID? next=NULL? new新类; 新类调用printdata函数接收数据包 当前类调用printdata函数接收数据包 结束 6、用户需求处理 算法描述:
用户需求问题在整个数据传送过程中,都要加以处理的,即如果缓冲区
进行数据输出,那么缓冲区一次性的数据数据输出量是要满足用户要求的,即一次性的输出量要大于1k;而在整个实验中,有三个位置,缓冲区是进行数据输出的,一是在顺序输出printdata函数中,缓冲区是边接收边输出的,每次输出的一定是连续的数据,且一次性的输出量大于1K;二是在forceout强制输出函数中,由于forceout函数的主要目的并不是让用户使用当前的数据,而是为了容纳当前数据包,因此,forceout函数是优先输出任意大小连续数据块,如果不能找到连续的数据块,那么就输出次连续的数据块;三是在clearremainer输出剩余数据函数中,因为没有了数据输入,因此无论缓冲区中有多少数据,大于1K或者小于1K,无论剩余数据是否连续,都是要一
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




