[发明专利]一种对乱序数据流排序的方法有效
申请号: | 201310161560.0 | 申请日: | 2013-05-03 |
公开(公告)号: | CN103309940B | 公开(公告)日: | 2017-03-08 |
发明(设计)人: | 刘栋;武剑锋;王泊;宋亦鹰;张熊熊;林丽丽;白硕 | 申请(专利权)人: | 上海证券交易所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海光华专利事务所31219 | 代理人: | 余明伟 |
地址: | 200120 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种能够在内存受限的情况下对高速乱序数据流进行高性能、高可用性地排序的方法,包括将到达数据按顺序插入到固定大小的第一缓存中合适的位置,如果在第一缓存中找不到合适的位置,则按顺序将所述到达数据插入到第二缓存中合适的位置;顺序地从所述第一缓存中读取数据并发送给下游,如果读取到某个位置上没有数据或者数据无效,则等待;将所述第二缓存中的数据按顺序回载到所述第一缓存中。由于本发明的第一缓存大小固定,所以在一级缓存容量受限的系统中仍能很好的工作,并且第二缓存的组织形式灵活,且提高了缓存容量和扩展性,能减小数据缺号后的等待,减小数据阻塞,避免数据丢弃。 | ||
搜索关键词: | 一种 序数 排序 方法 | ||
【主权项】:
一种对乱序数据流排序的方法,应用于数据处理设备中,其特征在于,所述数据处理设备至少包括第一缓存及第二缓存,且所述第一缓存大小固定,所述方法包括:读取到达数据,并依据所述到达数据的数据序号将该到达数据插入到所述第一缓存中预设位置,如果无法插入所述第一缓存,则将所述到达数据插入到第二缓存中预设位置;所述第二缓存为一个或多个文件,将所述到达数据插入所述文件的策略为:遍历每个文件,如果所述到达数据的序号落在该文件中数据的起始序号与数据的结束序号之间,则将所述到达数据按顺序插入该文件;如果经所述遍历未能找到合适的文件,则寻找已失效的文件,复用所述已失效文件并将所述到达数据插入所述已失效文件;如果未能找到已失效文件,则创建新文件并将所述到达数据插入所述新文件;其中,所述复用已失效文件的策略为:删除该文件中所有数据,并按下述公式计算所述文件中数据的起始序号beginPos和所述文件中数据的结束序号endPos:beginPos=round[(seqN‑WindowSize)]/FileSize*FileSize+WindowSizeendPos=beginPos+FileSize‑1其中,seqN表示所述到达数据的序号,WindowSize表示所述第一缓存的大小,FileSize表示所述文件的大小,round表示向下取整;从所述第一缓存中依序读取数据,判断读取位置上是否有有效数据,若是,则发送给下游,若否,则等待,直至该位置存有有效数据时读取并发送给下游;将所述第二缓存中的数据回载到所述第一缓存中:遍历所述文件,如果所述文件有效,则遍历所述文件中的数据,如果数据有效并且所述数据属于所述第一缓存的范围,则将所述数据插入所述第一缓存,并将该数据设置为无效。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海证券交易所,未经上海证券交易所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310161560.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种应用更新方法、装置及系统
- 下一篇:一种字符串的比较方法及装置