[发明专利]一种快速生成索引的方法有效
申请号: | 201210119272.4 | 申请日: | 2012-04-20 |
公开(公告)号: | CN102779145B | 公开(公告)日: | 2017-12-29 |
发明(设计)人: | 夏永宏 | 申请(专利权)人: | 新奥特(北京)视频技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京挺立专利事务所(普通合伙)11265 | 代理人: | 叶树明 |
地址: | 100195 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 生成 索引 方法 | ||
1.一种快速生成索引的方法,包括导入流媒体文件,其特征在于,包括以下步骤:
创建内存池BlockAllocator,所述内存池BlockAllocator中包括多个DataBlock;
读数据调度线程读取所述流媒体文件的数据到当前DataBlock中;
数据分析调度线程通过流媒体数据分析函数对所述当前DataBlock中的流媒体文件数据进行分析,生成索引信息IndexInfoData;
索引Index伴侣文件写数据线程将所述索引信息IndexInfoData写到Index伴侣文件中;
所述读数据调度线程读取所述流媒体文件的数据到当前DataBlock中,具体包括:
循环获取BlockAllocator中的DataBlock,其中,每次获取一个,每次获取到的DataBlock为当前DataBlock;
通过IO顺次读取所述流媒体文件中的数据到所述当前DataBlock中;
保存所述当前DataBlock到数据列表DataBlockList中;
所述数据分析调度线程通过流媒体数据分析函数对所述当前DataBlock中的流媒体文件数据进行分析,生成索引信息IndexInfoData具体包括:
通过Event的方式监听所述DataBlockList;
实时获取所述DataBlockList中存储的所述当前DataBlock;
调用所述流媒体数据分析函数对所述当前DataBlock中的流媒体文件数据进行分析,得到数据分析结果;
根据所述数据分析结果生成索引信息IndexInfoData;
将所述索引信息IndexInfoData保存到索引信息列表IndexInfoDataList中;
将所述DataBlock在所述DataBlockList中移除并释放,使其返回所述BlockAllocator以备重新获取。
2.如权利要求1所述方法,其特征在于,所述读数据调度线程、所述数据分析调度线程以及所述索引Index伴侣文件写数据线程可同时进行。
3.如权利要求1所述方法,其特征在于,所述循环获取BlockAllocator中的DataBlock会持续到所述流媒体文件中的数据读完。
4.如权利要求1所述方法,其特征在于,所述索引Index伴侣文件写数据线程将所述索引信息IndexInfoData写到Index伴侣文件中具体包括:
通过Event的方式监听所述索引信息列表IndexInfoDataList;
实时获取所述索引信息列表IndexInfoDataList中存储的所述索引信息IndexInfoData;
将所述索引信息IndexInfoData写到所述Index伴侣文件中;
将所述索引信息IndexInfoData在所述索引信息列表IndexInfoDataList中移除并释放内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新奥特(北京)视频技术有限公司,未经新奥特(北京)视频技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210119272.4/1.html,转载请声明来源钻瓜专利网。