【技术实现步骤摘要】
信息处理方法、设备、系统及存储介质
本申请涉及互联网
,尤其涉及一种信息处理方法、设备、系统及存储介质。
技术介绍
数据中心的网络规模越来越庞大,单个集群可能包含上千台交换机、上万台服务器、上十万台光电线路。在这样庞大的网络中,由于各种软件、硬件的配置的问题或故障,网络应用会时常遇到各种性能问题,例如连接中断、带宽下降、延时上升等等。这些性能问题会引发严重的服务质量下降,并对网络运营商造成损失。现有技术中常用的应用性能异常处理方式,可称之为“在线修复、离线诊断”。首先,网络管理员定位出发生故障的设备或链路。然后,由于数据中心网络具有较好的冗余性,网络管理员可以在不影响网络应用正常运行的情况下,安全地隔离故障设备或链路。最后,网络管理员在不影响网络应用正常运行的情况下,线下诊断故障原因。在实际应用中,网络管理员定位发生故障的设备或链路的方式,通常是:结合从多个来源收集到的粗粒度信息,并根据经验猜测网络是否存在问题,如果存在,问题可能在哪里。这种猜测可能存在错误,其验证也耗费大量时间,并拖慢定位进度,导致故 ...
【技术保护点】
1.一种网络交换设备,其特征在于,包括:可编程的数据平面;所述可编程的数据平面被编程,以用于:/n从经过所述网络交换设备的数据流中,选取发生设定事件的事件报文;基于所述事件报文向数据处理端提供事件信息,所述事件信息用于描述发生所述设定事件的相关信息,可供定位与所述设定事件相关的网络问题。/n
【技术特征摘要】
1.一种网络交换设备,其特征在于,包括:可编程的数据平面;所述可编程的数据平面被编程,以用于:
从经过所述网络交换设备的数据流中,选取发生设定事件的事件报文;基于所述事件报文向数据处理端提供事件信息,所述事件信息用于描述发生所述设定事件的相关信息,可供定位与所述设定事件相关的网络问题。
2.根据权利要求1所述的设备,其特征在于,所述事件信息包括以下至少一种:所述设定事件的类型、所述设定事件的详情信息以及发生所述设定事件的数据流信息。
3.根据权利要求2所述的设备,其特征在于,所述设定事件包括以下至少一种类型:拥塞事件、暂停事件、丢包事件以及换路事件。
4.根据权利要求1所述的设备,其特征在于,所述可编程的数据平面为流水线结构。
5.根据权利要求4所述的设备,其特征在于,所述可编程的数据平面依次包括:入端流水线、缓存管理单元和出端流水线;
所述入端流水线,用于在对经过所述网络交换设备的数据流进行报文接收处理的过程中,选取发生设定事件的事件报文,并将所述事件报文及其对应的事件元数据上报给所述出端流水线;
所述缓存管理单元,用于在对经过所述网络交换设备的数据流进行报文交换处理的过程中,选取发生设定事件的事件报文,并将所述事件报文及其对应的事件元数据上报给所述出端流水线;
所述出端流水线,用于在对经过所述网络交换设备的数据流进行报文发送处理的过程中,选取发生设定事件的事件报文,并根据本端选取出的事件报文及其对应的事件元数据和所述入端流水线以及所述缓存管理单元上报的事件报文及其对应的事件元数据向数据处理端上报事件信息。
6.根据权利要求5所述的设备,其特征在于,所述入端流水线包括以下至少一个入端事件检测模块:
入端流水线丢包检测模块,用于检测在所述报文接收处理的过程中是否发生流水线丢包事件,并在为是的情况下,生成事件元数据,将发生流水线丢包事件的报文作为事件报文连同所述事件元数据一并上报给所述出端流水线;
暂停事件检测模块,用于检测在所述报文接收处理的过程中是否发生暂停事件,并在为是的情况下,生成事件元数据,将发生暂停事件的报文作为事件报文连同所述事件元数据一并上报给所述出端流水线。
7.根据权利要求6所述的设备,其特征在于,所述报文接收处理的过程包括针对接收到的各报文查路由表的过程和/或校验过程;
所述入端流水线丢包检测模块具体用于:检测针对接收到的各报文查路由表的过程和/或校验过程中是否发生丢包,若是,确定发生流水线丢包事件。
8.根据权利要求6所述的设备,其特征在于,所述暂停事件检测模块具体用于:在接收到的报文需要被路由至目标出端口的情况下,检测所述目标出端口是否处于暂停发送状态,若是,确定发生暂停事件。
9.根据权利要求6所述的设备,其特征在于,所述入端流水线还包括:
入端链路丢包检测模块,用于检测经过所述网络交换设备的数据流是否发生链路丢包事件,并在为是的情况下,向上游设备发送丢包通知消息,以通知上游设备发生了链路丢包事件。
10.根据权利要求9所述的设备,其特征在于,所述入端链路丢包检测模块具体用于:检测来自上游设备的报文的编号是否连续;若不连续,确定发生链路丢包事件。
11.根据权利要求5-10任一项所述的设备,其特征在于,所述缓存管理单元包括:缓存丢包检测模块;
所述缓存丢包检测模块,用于检测在向所述网络交换设备的多个出端口对应的队列中缓存报文的过程中是否发生缓存丢包事件,并在为是的情况下,生成事件元数据,将发生缓存丢包事件的报文作为事件报文连同所述事件元数据一并上报给所述出端流水线。
12.根据权利要求5-10任一项所述的设备,其特征在于,所述出端流水线包括:事件报文处理模块和以下至少一个出端事件检测模块:
拥塞事件检测模块,用于检测所述网络交换设备的各出端口是否发生拥塞事件,并在为是的情况下,生成事件元数据,将发生拥塞事件的报文作为事件报文连同所述事件元数据一并发送给所述事件报文处理模块;
换路事件检测模块,用于检测所述网络交换设备中是否发生换路事件,并在为是的情况下,生成事件元数据,将发生换路事件的报文作为事件报文连同所述事件元数据一并发送给所述事件报文处理模块;
出端流水线丢包检测模块,用于检测在所述报文发送处理的过程中是否发生流水线丢包事件,并在为是的情况下,生成事件元数据,将发生流水线丢包事件的报文作为事件报文连同所述事件元数据一并发送给所述事件报文处理模块;
出端链路丢包检测模块,用于检测在所述报文发送处理的过程中是否发生链路丢包事件,并在为是的情况下,生成事件元数据,将发生链路丢包事件的报文作为事件报文连同所述事件元数据一并发送给所述事件报文处理模块;
所述事件报文处理模块,用于根据接收到的事件报文和所述事件元数据,向所述数据处理端提供事件信息。
13.根据权利要求12所述的设备,其特征在于,所述拥塞事件检测模块具体用于:针对各出端口,判断所述出端口对应的队列中报文的排队延时是否超出设定时延阈值,或者判断所述出端口对应的队列的长度是否超出设定的长度阈值;若是,确定所述出端口发生了拥塞事件。
14.根据权利要求12所述的设备,其特征在于,所述换路事件检测模块具体用于:针对每个待发送的报文,检测所述待发送的报文所属的数据流信息是否是第一次出现;若是,确定发生换路事件。
15.根据权利要求12所述的设备,其特征在于,所述报文发送处理的过程包括对每个待发送的报文进行校验的过程;
所述出端流水线丢包检测模块具体用于:检测在对每个待发送的报文进行校验的过程中是否发生丢包,若是,确定发生流水线丢包事件。
16.根据权利要求12所述的设备,其特征在于,所述出端链路丢包检测模块具体用于:在将每个待发送的报文发送出去之前,对每个待发送的报文进行编号,以供下游设备根据报文编号协助判断是否发生链路丢包事件;以及
检测是否接收到下游设备在确定发生链路丢包事件时返回的丢包通知消息,若是,确定发生链路丢包事件。
17.根据权利要求16所述的设备,其特征在于,所述出端链路丢包检测模块具体用于:
在本地缓存每个待发送的报文的编号及其所属的数据流信息;以及
根据所述丢包通知消息中携带的缺失报文的编号,确定发生链路丢包的事件报文及其所属的数据流信息。
18.根据权利要求12所述的设备,其特征在于,所述事件报文处理模块具体用于:
将接收到的事件报文及其对应的事件元数据发送给所述数据处理端,以供所述数据处理端从所述事件报文及其对应的事件元数据中提取事件信息;或者
从接收到的事件报文及其对应的事件元数据中提取事件信息,并将所述事件信息提供给所述数据处理端。
19.根据权利要求18所述的设备,其特征在于,所述事件报文处理模块还用于:在将接收到的事件报文及其对应的事件元数据发送给所述数据处理端之前,或者在从接收到的事件报文及其对应的事件元数据中提取事件信息之前,以一条数据流保留一个事件报文为目标,对接收到的事件报文进行去冗余处理,得到目标事件报文。
20.根据权利要求19所述的设备,其特征在于,所述事件报文处理模块包括:去冗余子模块和第一信息表,所述第一信息表中的每个表项用于记录一条数据流信息及其对应的事件报文数量;
所述去冗余子模块用于:针对接收到的每个事件报文,将所述事件报文所属的数据流信息的哈希值作为索引,在所述第一信息表中进行匹配;
若未匹配到对应的目标表项,将所述事件报文作为目标事件报文,并将所述事件报文所属的数据流信息记录到一个空表项中,开始对事件报文数量进行计数;
若匹配到对应的目标表项,且目标表项中记录的数据流信息与所述事件报文所属的数据流信息相同,则将目标表项对应的事件报文数量加1;
若匹配到对应的目标表项,但目标表项中记录的数据流信息与所述事件报文所属的数据流信息不相同,则将目标表项对应的事件报文数量减1;以及若减1后的事件报文数量为0,则将所述事件报文作为目标事件报文,并将目标表项中记录的数据流信息替换为所述事件报文所属的数据流信息,并重新对事件报文数量进行计数。
21.根据权利要求20所述的设备,其特征在于,所述事件报文处理模块还包括:事件提取子模块、事件栈以及批处理子模块,所述事件栈包括栈顶计数器和至少一个栈块;
所述事件提取子模块,用于从所述目标事件报文及其对应的事件元数据中提取事件信息,将所述事件信息存储至所述至少一个栈块中;
所述栈顶计数器,用于记录所述至少一个栈块中暂存的事件信息的个数;
所述批处理子模块,用于从所述至少一个栈块中提取指定数量个事件信息,将所述指定数量个事件信息拼接成一个数据包,将所述数据包提供给所述数据处理端。
22.根据权利要求21所述的设备,其特征在于,所述事件提取子模块具体用于:从所述目标事件报文中提取发生所述设定事件的数据流信息,并从所述目标事件报文对应的事件元数据中提取所述设定事件的类型和所述设定事件的详情信息,作为所述事件信息。
23.根据权利要求21所述的设备,其特征在于,所述事件提取子模块具体用于:在所述事件信息的大小大于所述栈块的最大位宽时,将所述事件信息拆分为多个信息块,将所述多个信息块存储至多个栈块中;每个信息块的大小小于或等于所述最大位宽。
24.根据权利要求21所述的设备,其特征在于,还包括:控制平面;
所述批处理子模块具体用于:
直接将所述数据包发送给所述数据处理端;
或者
将所述数据包上报给所述控制平面,以供所述控制平面将所述数据包发送给所述数据处理端。
25.根据权利要求24所述的设备,其特征在于,所述控制平面包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述处理器执行所述计算机程序,以用于:
对所述数据包中的事件信息进行去冗余处理,得到新的数据包;并将新的数据包发送给所述数据处理端。
26.根据权利要求25所述的设备,其特征在于,所述处理器具体用于:
从所述数据包中解析出所述指定数量个事件信息;
针对解析出的每个事件信息,检查第二信息表中是否已有相应记录;若是,则丢弃所述事件信息;
将未被丢弃的事件信息重新封装为新的数据包;其中,所述第二信息表记录有已经发送给所述数据处理端的事件信息。
27.根据权利要求26所述的设备,其特征在于,所述处理器还用于:将未被丢弃的事件信息记录到所述第二信息表中。
28.根据权利要求26所述的设备,其特征在于,所述处理器还用于:
在发送所述新的数据包过程中,对所述新的数据包进行流量整形。
29.一种信息处理方法,适用于网络交换设备,其特征在于,所述网络交换设备具有可编程的数据平面,所述方法由被编程后的数据平面实现,所述方法包括:
从经过所述网络交换设备的数据流中,选取...
【专利技术属性】
技术研发人员:孙晨,刘洪强,周禹,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。