System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机通信,更具体地说,它涉及一种聚合报文超时检测处理方法。
技术介绍
1、随着日常工作需求的增加以及网络技术的发展,对网络芯片的处理速度的要求进一步提升,为了提高芯片对不同报文的处理速度,提出了聚合的概念,将报文聚合在一起唤醒同一个np,进而提高np的使用效率。
2、现有的报文聚合主要是建立一个不同业务的缓存模块,输入数据根据不同的标识进入不同缓存模块,当缓存达到配置阈值后推出聚合报文。然而此报文聚合方法灵活性差,若后续数据无法达到设定阈值,便容易造成该数据流卡死,影响工作效率。
3、因此,如何研究设计一种能够克服上述缺陷的聚合报文超时检测处理方法是我们目前急需解决的问题。
技术实现思路
1、为解决现有技术中的不足,本专利技术的目的是提供一种聚合报文超时检测处理方法,通过对新旧不同的数据流进行不同的数据处理,提高了报文聚合的灵活性;加入不同的聚合策略和聚合规则,便于满足不同业务需求,方便配置。
2、本专利技术的上述技术目的是通过以下技术方案得以实现的:
3、第一方面,提供了一种聚合报文超时检测处理方法,包括以下步骤:
4、通过接收通路接收待聚合数据a,读取与留存待聚合数据a的关键信息;
5、将待聚合数据a的关键信息与上一个待聚合数据b所留存的关键信息对比判断是否符合聚合;
6、若待聚合数据a与待聚合数据b符合聚合,则将待聚合数据a写入聚合模块cq中与待聚合数据b进行聚合,聚合完成的聚
7、若待聚合数据a与待聚合数据b不符合聚合,则将聚合模块cq中保存的聚合数据推出至先入先出队列,并将待聚合数据a保存在聚合模块cq中等待继续聚合;
8、对聚合模块cq中保存的聚合数据进行超时状态检测,将处于超时状态的聚合数据推出至先入先出队列;
9、其中,先入先出队列中的聚合数据通过唤醒网络处理器np进行报文传输。
10、进一步的,所述接收通路包括iq通路和fq通路;
11、其中,所述iq通路接收的待聚合数据为未唤醒网络处理器np的新数据;
12、所述fq通路接收的待聚合数据为已唤醒网络处理器np的聚合数据。
13、进一步的,所述关键信息包括聚合规则信息、聚合类型和聚合地址;
14、所述聚合规则信息包括业务类型、流号、数据长度和序列号;
15、所述聚合类型分为强聚合和弱聚合;
16、若聚合类型为强聚合:当iq通路接收的两个待聚合数据之间的业务类型和聚合地址相同,则符合聚合;当fq通路接收的两个待聚合数据之间的业务类型、流号和聚合地址相同,以及后一个待聚合数据a的序列号等于前一个待聚合数据b的数据长度与序列号之和,则符合聚合;
17、若聚合类型为弱聚合:当iq通路接收的两个待聚合数据的聚合地址相同,则符合聚合;当fq通路接收的两个待聚合数据之间的业务类型、流号和聚合地址相同,则符合聚合。
18、进一步的,所述关键信息还包括聚合限制命令;
19、所述聚合限制命令包括:
20、第一命令,表示和前后命令均可聚合;
21、第二命令,表示前后命令均不能聚合;
22、第三命令,表示和前面命令可以聚合,不和后面的命令聚合;
23、和/或,第四命令,表示不和前面命令聚合,可以和后面命令聚合。
24、进一步的,所述聚合模块cq配置有聚合命令的数量阈值和/或聚合数据的长度阈值;
25、当聚合模块cq中保存的聚合数据所对应聚合次数等于或超过聚合命令的数量阈值时,将聚合模块cq中保存的聚合数据推出;
26、当聚合模块cq中保存的聚合数据所对应聚合总长等于或超过聚合数据的长度阈值时,将聚合模块cq中保存的聚合数据推出。
27、进一步的,所述聚合模块cq中配置有至少一个计时器;
28、所述超时状态检测的超时时间等于时间精度与时间步长之积;
29、所述时间精度为单次超时状态检测的时间周期。
30、进一步的,该方法还包括:
31、超时检测过程中维护有第一状态图和第二状态图,第一状态图和第二状态图均包含所有聚合模块的聚合地址;
32、当计时器对聚合模块cq中聚合数据所统计的时间值小于超时时间时,则相应聚合数据的时间状态为未超时,状态记为0并写入第一状态图中相应聚合地址处;
33、当计时器对聚合模块cq中聚合数据所统计的时间值等于超时时间时,则相应聚合数据的时间状态为正在超时,状态记为1并写入第一状态图中相应聚合地址处;
34、当计时器对聚合模块cq中聚合数据所统计的时间值大于超时时间时,则相应聚合数据的时间状态为已超时,状态记为2并写入第二状态图中相应聚合地址处;
35、超时状态检测时查询第一状态图和第二状态图中处于超时状态的超时数据,并将超时数据推出。
36、进一步的,所述计时器对聚合模块cq中聚合数据进行计时的过程包括:
37、开始计时,当一个空闲的聚合数据加入一个可聚合的命令时启动开始计时操作,相应计时器的时间值从0开始计数。
38、进一步的,所述计时器对聚合模块cq中聚合数据进行计时的过程包括:
39、重新计时,当一个正在聚合的数据流加入一个新的可聚合命令,且可继续聚合时启动重新计时操作;或是,一个正在聚合的数据流加入一个新的不可与当前聚合的命令,但新命令可与后续命令聚合时启动重新计时操作,此时计时器的时间值清零后重新开始计数。
40、进一步的,所述计时器对聚合模块cq中聚合数据进行计时的过程包括:
41、停止计时,当一个正在聚合的数据流加入一个新的可聚合命令,聚合后不可再聚合时启动停止计时操作;或是,一个正在聚合的数据流加入一个新的不可与当前聚合的命令,且新命令也不能与后续命令聚合时启动停止计时操作,相应计时器的时间值清零,新命令未来之前不计数。
42、与现有技术相比,本专利技术具有以下有益效果:
43、1、本专利技术提供的一种聚合报文超时检测处理方法,通过对新旧不同的数据流进行不同的数据处理,提高了报文聚合的灵活性;加入不同的聚合策略和聚合规则,便于满足不同业务需求,方便配置;
44、2、本专利技术在超时处理时采用了并行的处理方式,将不同流量的数据报文分成不同的组,分别进行数据流超时状态存储,维护两张不同的超时状态表,计时到设置超时门限时,并行轮询各组时间状态表,通过高速查找以及进一步的灵活关联,减少数据流卡死的风险。
本文档来自技高网...【技术保护点】
1.一种聚合报文超时检测处理方法,其特征是,包括以下步骤:
2.根据权利要求1所述的一种聚合报文超时检测处理方法,其特征是,所述接收通路包括IQ通路和FQ通路;
3.根据权利要求1所述的一种聚合报文超时检测处理方法,其特征是,所述关键信息包括聚合规则信息、聚合类型和聚合地址;
4.根据权利要求1所述的一种聚合报文超时检测处理方法,其特征是,所述关键信息还包括聚合限制命令;
5.根据权利要求1所述的一种聚合报文超时检测处理方法,其特征是,所述聚合模块CQ配置有聚合命令的数量阈值和/或聚合数据的长度阈值;
6.根据权利要求1所述的一种聚合报文超时检测处理方法,其特征是,所述聚合模块CQ中配置有至少一个计时器;
7.根据权利要求6所述的一种聚合报文超时检测处理方法,其特征是,该方法还包括:
8.根据权利要求6所述的一种聚合报文超时检测处理方法,其特征是,所述计时器对聚合模块CQ中聚合数据进行计时的过程包括:
9.根据权利要求6所述的一种聚合报文超时检测处理方法,其特征是,所述计时器对聚合模块
10.根据权利要求6所述的一种聚合报文超时检测处理方法,其特征是,所述计时器对聚合模块CQ中聚合数据进行计时的过程包括:
...【技术特征摘要】
1.一种聚合报文超时检测处理方法,其特征是,包括以下步骤:
2.根据权利要求1所述的一种聚合报文超时检测处理方法,其特征是,所述接收通路包括iq通路和fq通路;
3.根据权利要求1所述的一种聚合报文超时检测处理方法,其特征是,所述关键信息包括聚合规则信息、聚合类型和聚合地址;
4.根据权利要求1所述的一种聚合报文超时检测处理方法,其特征是,所述关键信息还包括聚合限制命令;
5.根据权利要求1所述的一种聚合报文超时检测处理方法,其特征是,所述聚合模块cq配置有聚合命令的数量阈值和/或聚合数据的长度阈值;
6.根据权利要...
【专利技术属性】
技术研发人员:苗珍珍,吴小林,王万财,杨成勇,
申请(专利权)人:成都北中网芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。