使用计数器来跟踪在多个队列中存储的事件的备选到达顺序制造技术

技术编号:15397687 阅读:72 留言:0更新日期:2017-05-20 22:10
公开了使用计数器来跟踪在多个队列中存储的事件的备选到达顺序的技术。顺序控制器随着在存储时间根据到达顺序计数器设置的单独计数器值在至少两个队列之一中的单独条目中存储每个接收的事件,其中在存储接收的事件中的每个事件之后递增到达顺序计数器并且在溢出时到达顺序计数器绕回到零。顺序控制器计算在随着来自至少两个队列之中的第一队列中的活跃第一接下来条目存储的第一计数器值与随着来自至少两个队列之中的第二队列中的活跃第二接下来条目存储的第二计数器值之间的差值的绝对值。顺序控制器比较绝对值与计数器中点值以确定第一计数器值是否在第二计数器值之前被存储。

A counter is used to track the alternate arrival order of events stored in multiple queues

Techniques for using a counter to track the alternate arrival order of events stored in multiple queues are disclosed. With the storage time sequence controller according to a separate counter counter set arrival order value stored in each received event in one of at least two separate entries in the queue, after each event in the event of storage of the received increasing arrival order and counter overflow in arrival order around the counter to zero. In the calculation of sequence controller with the first counter from at least the first queue two queue in the first active next items stored value and with the absolute value of the difference between the second counters from at least two queue second queue second active values stored in the next entry. The sequence controller compares the absolute value and the counter to determine whether the first choice counter value before the second counter value is stored.

【技术实现步骤摘要】
使用计数器来跟踪在多个队列中存储的事件的备选到达顺序
本专利技术的实施例主要地涉及管理队列并且具体地涉及在随着每个到达事件存储来自计数器的计数器值以指示到达顺序并且随着每个到达事件递增计数器时跟踪在多个队列中存储的事件的相对到达顺序,其中计数器在溢出时绕回到零。
技术介绍
在处置事件流的电子系统中,经常对一个或者多个队列进行定位以存储事件直至可以处理事件。在向多个单独队列中存储到达流的事件时,如果指明有序设置,则可能需要按照事件到达流的相同顺序从队列处理事件。
技术实现思路
鉴于前文,需要一种用于在随着每个到达事件存储来自计数器的计数器值以指示到达顺序并且随着每个到达事件递增计数器时计算在多个队列中存储的事件的相对到达顺序的方法、系统和计算机程序产品,其中计数器在溢出时绕回到零。在一个实施例中,一种用于跟踪在至少两个队列中存储的事件的相对到达顺序的方法涉及顺序控制器随着在存储时间根据到达顺序计数器设置的单独计数器值,在来自至少两个队列之一中的多个条目之中的单独条目中存储每个接收的事件,其中在存储接收的事件中的每个事件之后递增到达顺序计数器,并且在溢出时到达顺序计数器绕回到零。该方法还涉及顺序计数器计算在随着来自至少两个队列之中的第一队列中的多个条目之中的活跃第一接下来条目而存储的第一计数器值与随着来自至少两个队列之中的第二队列中的多个条目之中的活跃第二接下来条目而存储的第二计数器值之间的差值的绝对值。该方法涉及顺序控制器比较绝对值与计数器中点值以确定第一计数器值是否按照接收的事件的到达顺序在第二计数器值之前被存储。在另一实施例中,一种用于跟踪在至少两个队列中存储的事件的相对到达顺序的系统,包括:在至少一个硬件部件中实施的顺序控制器,操作用于随着在存储时间根据到达顺序计数器设置的单独计数器值、在来自至少两个队列之一中的多个条目之中的单独条目中存储每个接收的事件,其中在存储接收的事件中的每个事件之后递增到达顺序计数器,并且在溢出时到达顺序计数器绕回到零。顺序计数器操作用于计算在随着来自至少两个队列之中的第一队列中的多个条目之中的活跃第一接下来条目而存储的第一计数器值与随着来自至少两个队列之中的第二队列中的多个条目之中的活跃第二接下来条目而存储的第二计数器值之间的差值的绝对值。顺序控制器操作用于比较绝对值与计数器中点值以确定第一计数器值是否按照接收的事件的到达顺序在第二计数器值之前被存储。在另一实施例中,一种用于跟踪在至少两个队列中存储的事件的相对到达顺序的计算机程序产品。该计算机程序产品包括:在一个或者多个存储设备中的至少一个存储设备上存储的程序指令,用于随着在存储时间根据到达顺序计数器设置的单独计数器值、在来自至少两个队列之一中的多个条目之中的单独条目中存储多个接收的事件中的每个事件,其中在存储多个接收的事件中的每个事件之后递增到达顺序计数器,并且在溢出时到达顺序计数器绕回到零。该计算机程序产品包括:在一个或者多个存储设备中的至少一个存储设备上存储的程序指令,用于计算在随着来自至少两个队列之中的第一队列中的多个条目之中的活跃第一接下来条目而存储的第一计数器值与随着来自至少两个队列之中的第二队列中的多个条目之中的活跃第二接下来条目而存储的第二计数器值之间的差值的绝对值。该计算机程序产品包括:在一个或者多个存储设备中的至少一个存储设备上存储的程序指令,用于比较绝对值与计数器中点值以确定第一计数器值是否在第二计数器值之前被存储。附图说明在所附权利要求中阐述被认为是本专利技术的一个或者多个实施例的特点的新颖特征。然而在结合附图阅读时参照对示例实施例的以下具体描述将最好地理解本专利技术本身的一个或者多个实施例,在附图中:图1图示系统的一个示例的框图,在该系统中,对于在多个队列中存储的事件跟踪相对到达顺序;图2图示用于多队列接口的顺序控制器的部件的一个示例的框图,该多队列接口用于处置选择用于到达事件的可用队列并且跟踪放置于多个队列之一中的事件的相对到达顺序;图3图示随着每个队列条目而存储的值的一个示例的框图,这些值包括顺序计数器值和状态位;图4图示用于多队列接口的顺序控制器的部件的示例的框图,该多队列接口用于处置按照到达顺序从多个队列中对放置于队列之一中的待处理的事件的时间选择;图5A、5B和5C图示顺序控制器的一个示例的框图,该顺序控制器在随着每个到达事件存储来自计数器的计数器值以指示到达顺序并且随着每个到达事件递增计数器时跟踪在多个队列中存储的事件的相对到达顺序,其中计数器在溢出时绕回到零;图6图示顺序控制器的一个示例的框图的一个示例,该顺序控制器跟踪在多个队列中存储的事件的相对到达顺序,其中多个连续的计算的绝对值大于计数器中点值;图7A-7B图示用于跟踪在多个队列中存储的事件的相对到达顺序的顺序控制器的一个示例的框图,其中将每个队列的深度设置成八个条目;图8图示其中可以实施本专利技术的一个实施例的计算机系统的一个示例的框图;图9图示存储器核控制器的一个示例的框图,该存储器核控制器包括具有多个队列的队列接口,事件存储于这些队列中并且在这些队列中跟踪事件的相对到达顺序;图10图示用于在具有多个队列的队列接口中管理一个或者多个计数器和一个或者多个指针的过程和程序的高级逻辑流程图,事件放置于这些队列中并且在这些队列中跟踪事件的相对到达顺序;图11图示用于在具有多个队列的队列接口中管理传入事件请求的过程和程序的高级逻辑流程图,事件放置于这些队列中并且在这些队列中跟踪事件的相对到达顺序;以及图12图示用于在具有多个队列的队列接口中管理选择待处理的接下来事件的过程和程序的高级逻辑流程图,事件放置于这些队列中并且在这些队列中跟踪事件的相对到达顺序。具体实施方式在以下描述中,出于说明的目的而阐述许多具体细节以便提供对本专利技术的透彻理解。然而本领域技术人员将清楚,没有这些具体细节仍然可以实现本专利技术。在其他实例中,在框图形式中示出熟知结构和设备以免不必要地模糊本专利技术。此外,在以下描述中,出于说明的目的而描述许多系统。重要的是注意并且本领域技术人员将清楚,本专利技术可以在多种系统中执行,这些系统包括操作任何数目的不同类型的操作系统的多种计算机系统和电子设备。图1图示系统的一个示例的框图,在该系统中,对于在多个队列中存储的事件跟踪相对到达顺序。在该示例中,接收接口104从一个或者多个设备接收事件流102。在该示例中,事件流102可以代表在一个或者多个时间段内从一个或者多个设备按照特定顺序到达接收接口104的事件流。在该示例中,接收接口104标识在事件流102中接收的每个事件的一个或者多个分类并且基于分类从队列接口110中的一个或者多个队列之中选择与每个事件关联的队列。在一个示例中,接收接口104可以标识事件流102中的每个事件被分类为读取请求还是写入请求。在该示例中,队列接口110包括深度为N个条目的队列106和深度为M个条目的队列108。在一个示例中,在队列106中仅存储事件流102中被分类为读取请求的事件,并且在队列108中仅存储事件流102中被分类为写入请求的事件。在其他实施例中,队列接口110可以包括单个队列或者可以包括附加队列。在一个实施例中,队列106的深度N个条目等于队列108的深度M个条目。在另一实施例中,队列106的深度N个条目本文档来自技高网...
使用计数器来跟踪在多个队列中存储的事件的备选到达顺序

【技术保护点】
一种用于跟踪在至少两个队列中存储的多个事件的相对到达顺序的方法,所述方法包括:顺序控制器在来自至少两个队列之一中的多个条目之中的单独条目中存储多个接收的事件中的每个事件,其中每个事件具有在存储时间由到达顺序计数器设置的单独计数器值,其中在存储所述多个接收的事件中的每个事件之后递增所述到达顺序计数器并且在溢出时所述到达顺序计数器绕回到零;所述顺序控制器计算在随着来自所述至少两个队列之中的第一队列中的所述多个条目之中的活跃第一接下来条目而存储的第一计数器值与随着来自所述至少两个队列之中的第二队列中的所述多个条目之中的活跃第二接下来条目而存储的第二计数器值之间的差值的绝对值;以及所述顺序控制器比较所述绝对值与计数器中点值以确定所述第一计数器值是否在所述第二计数器值之前被存储。

【技术特征摘要】
2012.12.18 US 13/718,2671.一种用于跟踪在至少两个队列中存储的多个事件的相对到达顺序的方法,所述方法包括:顺序控制器在来自至少两个队列之一中的多个条目之中的单独条目中存储多个接收的事件中的每个事件,其中每个事件具有在存储时间由到达顺序计数器设置的单独计数器值,其中在存储所述多个接收的事件中的每个事件之后递增所述到达顺序计数器并且在溢出时所述到达顺序计数器绕回到零;所述顺序控制器计算在随着来自所述至少两个队列之中的第一队列中的所述多个条目之中的活跃第一接下来条目而存储的第一计数器值与随着来自所述至少两个队列之中的第二队列中的所述多个条目之中的活跃第二接下来条目而存储的第二计数器值之间的差值的绝对值;以及所述顺序控制器比较所述绝对值与计数器中点值以确定所述第一计数器值是否在所述第二计数器值之前被存储。2.根据权利要求1所述的方法,其中所述顺序控制器比较所述绝对值与计数器中点值以确定所述第一计数器值是否在所述第二计数器值之前被存储还包括:响应于所述绝对值小于所述计数器中点值,所述顺序控制器选择所述第一计数器值和所述第二计数器值中的较小值作为选择的值;响应于所述绝对值大于或者等于所述计数器中点值,所述顺序控制器选择所述第一计数器值和所述第二计数器值中的较大值作为所述选择的值;以及所述顺序控制器选择随着所述选择的值而存储的特定条目用于接下来处理。3.根据权利要求2所述的方法,还包括:响应于选择所述特定条目用于接下来处理,将随着所述特定条目而存储的状态位从活跃位设置成完成位并且递增指针以指向具有所述特定条目的、来自所述至少两个队列之中的特定队列中的接下来条目。4.根据权利要求1所述的方法,还包括:所述顺序控制器计算所述计数器中点值,所述计数器中点值被设置成所述第一队列中的条目数目加上所述第二队列中的条目数目。5.根据权利要求1所述的方法,还包括:所述顺序控制器在溢出并且绕回到零之前递增所述到达顺序计数器至所述第一队列中的条目数目与所述第二队列中的条目数目求和再减一的最大计数器值。6.根据权利要求1所述的方法,还包括:在所述顺序控制器的接收接口处接收所述多个接收的事件中的每个事件;所述顺序控制器确定来自所述多个接收的事件之中的特定事件的多个事件分类之中的特定分类;所述顺序控制器确定与所述特定分类关联的、来自所述至少两个队列之中的特定队列是否为满;响应于确定所述特定队列为满,所述顺序控制器拒绝所述特定事件;响应于确定所述特定队列未满,所述顺序控制器随着在所述到达顺序计数器中计数到的当前值而在所述特定队列中存储所述特定事件;以及所述顺序控制器递增所述到达顺序计数器。7.根据权利要求6所述的方法,其中所述顺序控制器确定来自所述多个接收的事件之中的特定事件的多个事件分类之中的特定分类还包括:所述顺序控制器确定来自包括读取事件和写入事件的所述多个事件分类之中的所述特定分类。8.根据权利要求1所述的方法,还包括:响应于所述顺序控制器准备好选择待处理的接下来事件,确定来自所述至少两个队列之中的第一队列中的所述多个条目之中的第一接下来条目的第一状态位和来自所述至少两个队列之中的第二队列中的所述多个条目之中的第二接下来条目的第二状态位是否均被设置成完成位;响应于所述第一状态位和所述第二状态位二者均被设置成所述完成位,则不处理条目;响应于所述第一状态位和所述第二状态位二者未被设置成所述完成位,确定是否所述第一状态位和所述第二状态位中仅一个状态位被设置成活跃位;响应于所述第一状态位和所述第二状态位中仅一个状态位被设置成所述活跃位,选择特定事件状态位被设置成所述活跃位的、来自所述第一接下来条目和所述第二接下来条目之中的所述特定事件的待处理的所述接下来事件;以及响应于所述第一状态位和所述第二状态位二者均被设置成所述活跃位,所述顺序控制器计算在所述第一计数器值与所述第二计数器值之间的差值的所述绝对值并且比较所述绝对值与所述计数器中点值以确定所述第一计数器值是否在所述第二计数器值之前被存储。9.根据权利要求1所述的方法,其中所述顺序控制器比较所述绝对值与计数器中点值以确定所述第一计数器值是否在所述第二计数器值之前被存储还包括:所述顺序控制器比较所述绝对值与计数器中点值以独立于与所述第二计数器值比较的所述第一计数器值的序列顺序确定所述第一计数器值是否在所述第二计数器值之前被存储。10.一种用于跟踪在至少两个队列中存储的多个事件的相对到达顺序的系统,所述系统包括:在至少一个硬件部件中实施的顺序控制器,...

【专利技术属性】
技术研发人员:R·M·丁克简L·R·帕克G·C·阮B·N·昂
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1