[发明专利]一种对乱序数据流排序的方法有效
申请号: | 201310161560.0 | 申请日: | 2013-05-03 |
公开(公告)号: | CN103309940B | 公开(公告)日: | 2017-03-08 |
发明(设计)人: | 刘栋;武剑锋;王泊;宋亦鹰;张熊熊;林丽丽;白硕 | 申请(专利权)人: | 上海证券交易所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海光华专利事务所31219 | 代理人: | 余明伟 |
地址: | 200120 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 序数 排序 方法 | ||
1.一种对乱序数据流排序的方法,应用于数据处理设备中,其特征在于,所述数据处理设备至少包括第一缓存及第二缓存,且所述第一缓存大小固定,所述方法包括:
读取到达数据,并依据所述到达数据的数据序号将该到达数据插入到所述第一缓存中预设位置,如果无法插入所述第一缓存,则将所述到达数据插入到第二缓存中预设位置;
从所述第一缓存中依序读取数据,判断读取位置上是否有有效数据,若是,则发送给下游,若否,则等待,直至该位置存有有效数据时读取并发送给下游;
将所述第二缓存中的数据回载到所述第一缓存中。
2.根据权利要求1所述的对乱序数据流排序的方法,其特征在于,所述从所述第一缓存中依序读取数据,判断读取位置上是否有有效数据,若是,则发送给下游,若否,则等待,直至该位置存有有效数据时读取并发送给下游的步骤中,将所述数据发送给下游后,增加lastSendSeq值,读取到所述第一缓存尾部位置后更新seqStart值,并回到所述第一缓存头部位置继续顺序读取数据,其中,lastSendSeq表示已经排序完成且发送到下游的最大数据序号,seqStart表示所述第一缓存头部位置应当存储的数据的序号。
3.根据权利要求1所述的对乱序数据流排序的方法,其特征在于,所述读取到达数,并依据所述到达数据的数据序号将该到达数据插入到所述第一缓存中预设位置,如果无法插入所述第一缓存,则将所述到达数据插入到第二缓存中预设位置的步骤中,将数据插入到第一缓存中的策略为:如果所述到达数据的序号SeqN满足:
lastSendSeq≤SeqN≤lastSendSeq+WindowSize
则按下述规则将所述到达数据插入所述第一缓存中:
Index=SeqNmodWindowSize
其中,lastSendSeq表示已经排序完成且发送到下游的最大数据序号,WindowSize表示所述第一缓存的大小,mod为求模运算,Index表示所述到达数据应当存放于所述第一缓存中的位置。
4.根据权利要求1所述的对乱序数据流排序的方法,其特征在于所述第二缓存为一个或多个文件。
5.根据权利要求4所述的对乱序数据流排序的方法,其特征在于,所述将所述第二缓存中的数据回载到所述第一缓存中的步骤中,将所述文件中的数据回载到所述第一缓存中的策略为:
遍历所述文件,如果所述文件有效,则遍历所述文件中的数据,如果数据有效并且所述数据属于所述第一缓存的范围,则将所述数据插入所述第一缓存,并将该数据设置为无效。
6.根据权利要求4所述的对乱序数据流排序的方法,其特征在于,所述读取到达数,并依据所述到达数据的数据序号将该到达数据插入到所述第一缓存中预设位置,如果无法插入所述第一缓存,则将所述到达数据插入到第二缓存中预设位置的步骤中,将所述到达数据插入所述文件的策略为:
遍历每个文件,如果所述到达数据的序号落在该文件中数据的起始序号与数据的结束序号之间,则将所述到达数据按顺序插入该文件;如果经所述遍历未能找到合适的文件,则寻找已失效的文件,复用所述已失效文件并将所述到达数据插入所述已失效文件;如果未能找到已失效文件,则创建新文件并将所述到达数据插入所述新文件。
7.根据权利要求6所述的对乱序数据流排序的方法,其特征在于,所述失效的文件特征是该文件的数据的结束序号小于已经排序完成且发送到下游的最大数据序号。
8.根据权利要求6所述的对乱序数据流排序的方法,其特征在于,所述复用已失效文件的策略为:删除该文件中所有数据,并按下述公式计算所述文件中数据的起始序号beginPos和所述文件中数据的结束序号endPos:
beginPos=round[(seqN-WindowSize)]/FileSize*FileSize+WindowSize
endPos=beginPos+FileSize-1
其中,seqN表示所述到达数据的序号,WindowSize表示所述第一缓存的大小,FileSize表示所述文件的大小,round表示向下取整。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海证券交易所,未经上海证券交易所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310161560.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种应用更新方法、装置及系统
- 下一篇:一种字符串的比较方法及装置