[发明专利]基于缓冲池的数据缓存排序在线处理方法有效
申请号: | 201010177960.7 | 申请日: | 2010-05-20 |
公开(公告)号: | CN101834801A | 公开(公告)日: | 2010-09-15 |
发明(设计)人: | 郑贵滨;韩纪庆;姜涛;郑铁然;陈训逊;吴震;周渊;刘峰;张冰 | 申请(专利权)人: | 哈尔滨工业大学;国家计算机网络与信息安全管理中心 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 张果瑞 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 基于缓冲池的数据缓存排序在线处理方法,属于互联网领域,为了解决目前常见的多线程下载软件对于下载数据乱序和重复的节目批量并发下载,不能实现基于内存的下载数据在线缓存、排序和去重,因而无法支持实时在线的识别、检索等处理的问题。本发明将所有缓冲区组织成缓冲区池,采用多个缓冲区缓存同一节目的下载数据。在接收节目数据包后,先查询节目的下载日志,若无新数据则丢弃不做任何处理,否则:首先选择合适的节目已有缓冲区接收数据,若无合适缓冲区且允许的情况下,申请新缓冲区接收数据;然后更新下载日志;最后调用分析处理模块将该缓冲区中排好的数据取走处理。重复上述过程,直至节目下载完成,将节目分配的缓冲区释放到缓冲区池中。 | ||
搜索关键词: | 基于 缓冲 数据 缓存 排序 在线 处理 方法 | ||
【主权项】:
基于缓冲池的数据缓存排序在线处理方法,在计算机系统内存中设置缓冲池,缓冲池中设置多个缓冲区,所有缓冲区组织成链表集中管理,其特征在于,为每个节目创建下载日志,用于记录节目已下载数据的偏移量范围,并设置节目的生命周期初始值为k,k为自然数,且k>0,对接收到的节目下载数据进行基于缓冲池的数据缓存排序在线处理方法,包括以下步骤:步骤一、接收下载模块下载的节目数据包,节目数据包中含有的信息有节目ID、起始地址、字节数、偏移量,步骤二、查询节目的下载日志,判断所述节目数据包中的数据是否下载过, 判断结果为是,则丢弃所述节目数据包不做任何处理,返回步骤一接收下一个节目数据包;判断结果为否,执行步骤三;步骤三、获取所述节目数据包的信息,并写入下载日志,计算节目数据包中的下载数据与所有缓冲区的距离中的最小距离iMinDist,最小距离对应的缓冲区命名为PInBuffer;步骤四、判断条件iMinDist<0是否成立,判断结果为是,执行步骤七,判断结果为否,执行步骤五;步骤五、判断iMinDist是否大于缓冲区申请阈值,且节目拥有的缓冲区数小于缓冲区数量上限,判断结果为是,则执行步骤六;判断结果为否,则丢弃所述节目数据包不做任何处理,返回步骤一接收下一个节目数据包;步骤六、申请新的缓冲区,并且做如下赋值:PInBuffer=新申请缓冲区;步骤七、将所述节目数据包中的新数据存入缓冲区PInBuffer中,并返回缓冲区PInBuffer中第一块连续数据的字节数、首字节指针,将节目数据包中的下载数据的偏移量范围记录到该节目的下载日志中,并将节目生命期重新置为初始值k;步骤八、调用分析处理程序,从缓冲区PInBuffer中将排好序的连续字节数据取出,分析处理程序返回取出的字节数m;步骤九、判断条件m > 0是否成立,判断结果为是,执行步骤十,判断结果为否,结束本次操作,返回步骤一接收下一个节目数据包; 步骤十、删除缓冲区PInBuffer中的前m个字节数据,并更新缓冲区PInBuffer的状态信息;重复执行步骤一至步骤十,同时系统周期的将节目的生命周期做减法操作,直至该节目的生命周期小于等于0,表示该节目下载完毕,释放该节目所占用的缓冲区,完成对该节目的数据缓存排序的在线处理。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学;国家计算机网络与信息安全管理中心,未经哈尔滨工业大学;国家计算机网络与信息安全管理中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010177960.7/,转载请声明来源钻瓜专利网。
- 上一篇:一种开放式路由器装置及其方法
- 下一篇:智能电源分配系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置