一种对乱序数据流排序的方法与流程

文档序号:11996206阅读:来源:国知局
一种对乱序数据流排序的方法与流程

技术特征:
1.一种对乱序数据流排序的方法,应用于数据处理设备中,其特征在于,所述数据处理设备至少包括第一缓存及第二缓存,且所述第一缓存大小固定,所述方法包括:读取到达数据,并依据所述到达数据的数据序号将该到达数据插入到所述第一缓存中预设位置,如果无法插入所述第一缓存,则将所述到达数据插入到第二缓存中预设位置;所述第二缓存为一个或多个文件,将所述到达数据插入所述文件的策略为:遍历每个文件,如果所述到达数据的序号落在该文件中数据的起始序号与数据的结束序号之间,则将所述到达数据按顺序插入该文件;如果经所述遍历未能找到合适的文件,则寻找已失效的文件,复用所述已失效文件并将所述到达数据插入所述已失效文件;如果未能找到已失效文件,则创建新文件并将所述到达数据插入所述新文件;其中,所述复用已失效文件的策略为:删除该文件中所有数据,并按下述公式计算所述文件中数据的起始序号beginPos和所述文件中数据的结束序号endPos:beginPos=round[(seqN-WindowSize)]/FileSize*FileSize+WindowSizeendPos=beginPos+FileSize-1其中,seqN表示所述到达数据的序号,WindowSize表示所述第一缓存的大小,FileSize表示所述文件的大小,round表示向下取整;从所述第一缓存中依序读取数据,判断读取位置上是否有有效数据,若是,则发送给下游,若否,则等待,直至该位置存有有效数据时读取并发送给下游;将所述第二缓存中的数据回载到所述第一缓存中:遍历所述文件,如果所述文件有效,则遍历所述文件中的数据,如果数据有效并且所述数据属于所述第一缓存的范围,则将所述数据插入所述第一缓存,并将该数据设置为无效。2.根据权利要求1所述的对乱序数据流排序的方法,其特征在于,所述从所述第一缓存中依序读取数据,判断读取位置上是否有有效数据,若是,则发送给下游,若否,则等待,直至该位置存有有效数据时读取并发送给下游的步骤包括:将所述数据发送给下游后,增加lastSendSeq值,读取到所述第一缓存尾部位置后更新seqStart值,并回到所述第一缓存头部位置继续顺序读取数据,其中,lastSendSeq表示已经排序完成且发送到下游的最大数据序号,seqStart表示所述第一缓存头部位置应当存储的数据的序号。3.根据权利要求1所述的对乱序数据流排序的方法,其特征在于,所述读取到达数据,并依据所述到达数据的数据序号将该到达数据插入到所述第一缓存中预设位置,如果无法插入所述第一缓存,则将所述到达数据插入到第二缓存中预设位置的步骤中,将数据插入到第一缓存中的策略为:如果所述到达数据的序号SeqN满足:lastSendSeq≤SeqN≤lastSendSeq+WindowSize则按下述规则将所述到达数据插入所述第一缓存中:Index=SeqNmodWindowSize其中,lastSendSeq表示已经排序完成且发送到下游的最大数据序号,WindowSize表示所述第一缓存的大小,mod为求模运算,Index表示所述到达数据应当存放于所述第一缓存中的位置。4.根据权利要求1所述的对乱序数据流排序的方法,其特征在于,所述失效的文件特征是该文件的数据的结束序号小于已经排序完成且发送到下游的最大数据序号。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1