一种数据传输方法及系统的制作方法

文档序号:7807204阅读:117来源:国知局
一种数据传输方法及系统的制作方法
【专利摘要】本发明公开了一种数据传输方法,应用于网络控制芯片,该方法包括:从所述网络控制芯片的数据接收接口每接收到一个报文,根据接收的报文的类型将其放入对应的虚信道;对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存;对输出缓存非空的各虚信道进行调度选择,将选出的虚信道的处理完毕的报文从所述网络控制芯片的数据发送接口发送出去。本发明能够提高网络控制芯片对多节点网络中并发报文数据的处理能力,节省数据传输接口的耗费。本发明还公开了一种数据传输系统。
【专利说明】一种数据传输方法及系统
【技术领域】
[0001]本发明涉及服务器【技术领域】,尤其涉及的是一种数据传输方法及系统。
【背景技术】
[0002]随着服务器应用领域的不断发展,高端服务器的应用需求已经进入了一个重要阶段。高端服务器系统旨在实现高性能指标、高安全性、高可用性、高可靠性等要求。
[0003]目前,网络控制芯片之间的数据传输方式有两种,一种是通过单一数据接口串行处理报文,另一种是采用多个数据接口独立并行地处理报文。
[0004]高端服务器的网络控制芯片需要支持大规模多节点网络系统对复杂报文协议的处理需求。在面对大量并发报文数据时,如果网络控制器采用单一接口串行处理报文,则在网络传输速率高于网络控制芯片处理报文速率的情况下,这种处理方式会严重影响系统性能,虽然多个数据接口独立并行的方式能够提高网络控制芯片处理大量并发报文数据的能力,但是,这种处理方式需要占用大量的网络接口资源,因此成本较高。
[0005]因此,如何提高网络控制芯片对大规模多节点网络系统中大量并发报文数据的处理能力,并且节省网络接口资源,是需要解决的问题。

【发明内容】

[0006]本发明所要解决的技术问题是提供一种数据传输方法及系统,能够提高网络控制芯片对多节点网络中并发报文数据的处理能力,节省数据传输接口的耗费。
[0007]为了解决上述技术问题,本发明提供了一种数据传输方法,应用于网络控制芯片,该方法包括:
[0008]从所述网络控制芯片的数据接收接口每接收到一个报文,根据接收的报文的类型将其放入对应的虚信道;
[0009]对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存;
[0010]对输出缓存非空的各虚信道进行调度选择,将选出的虚信道的处理完毕的报文从所述网络控制芯片的数据发送接口发送出去。
[0011]进一步地,该方法还包括下述特点:
[0012]所述数据接收接口的数量为I个,所述数据发送接口的数量为I个。
[0013]进一步地,该方法还包括下述特点:
[0014]所述根据接收的报文的类型将其放入对应的虚信道,包括:根据接收的报文的长度将其放入对应的虚信道。
[0015]进一步地,该方法还包括下述特点:
[0016]还包括:
[0017]根据网络处理芯片对单个报文的处理速度Vl、最大报文长度L和网络传输速度v2设定所述数据发送接口的位宽m:m = vl*L/v2。[0018]进一步地,该方法还包括下述特点:
[0019]所述对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存,包括:任一虚信道的处理逻辑如判断本虚信道的输入缓存非空,则从所述输入缓存中取出报文进行处理,处理完毕后送入本虚信道的输出缓存;其中,每一个虚信道设置有单独的处理逻辑和输入缓存。
[0020]进一步地,该方法还包括下述特点:
[0021]对输出缓存非空的各虚信道进行调度选择,包括:轮询输出缓存非空的各虚信道,根据调度策略选出一个虚信道;其中,所述调度策略为根据报文类型的优先级进行调度。
[0022]为了解决上述技术问题,本发明还提供了一种数据传输系统,应用于网络控制芯片,该系统包括:
[0023]接收模块,用于从所述网络控制芯片的数据接收接口每接收到一个报文,根据接收的报文的类型将其放入对应的虚信道;
[0024]报文处理模块,用于对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存。
[0025]发送模块,用于对输出缓存非空的各虚信道进行调度选择,将选出的虚信道的处理完毕的报文从所述网络控制芯片的数据发送接口发送出去。
[0026]进一步地,该系统还包括下述特点:
[0027]所述数据接收接口的数量为I个,所述数据发送接口的数量为I个。
[0028]进一步地,该系统还包括下述特点:
[0029]接收模块,用于所述根据接收的报文的类型将其放入对应的虚信道,包括:根据接收的报文的长度将其放入对应的虚信道。
[0030]进一步地,该系统还包括下述特点:
[0031]该系统还包括:
[0032]设置模块,用于根据网络处理芯片对单个报文的处理速度vl、最大报文长度L和网络传输速度v2设定所述数据发送接口的位宽m:m = vl*L/v2。
[0033]进一步地,该系统还包括下述特点:
[0034]报文处理模块,用于对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存,包括:任一虚信道的处理逻辑如判断本虚信道的输入缓存非空,则从所述输入缓存中取出报文进行处理,处理完毕后送入本虚信道的输出缓存;其中,每一个虚信道设置有单独的处理逻辑和输入缓存。
[0035]进一步地,该系统还包括下述特点:
[0036]发送模块,用于对输出缓存非空的各虚信道进行调度选择,包括:轮询输出缓存非空的各虚信道,根据调度策略选出一个虚信道;其中,所述调度策略为根据报文类型的优先级进行调度。
[0037]与现有技术相比,本发明提供的一种数据传输方法及系统,用虚信道的方式划分网络控制芯片内的处理逻辑,对不同长度的报文进行并行处理,用同一套数据传输接口的分时复用来实现报文的转发,能够提高网络控制芯片对多节点网络中大量并发报文数据的处理能力,提高网络控制芯片的工作效率,节省数据传输接口的耗费。【专利附图】

【附图说明】
[0038]图1为本发明实施例的一种数据传输方法的流程图。
[0039]图2为本发明实施例的一种数据传输系统的结构示意图。
[0040]图3为本发明实施例的网络控制芯片内数据转发的示意图。
【具体实施方式】
[0041]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0042]如图1所示,本发明实施例提供了一种数据传输方法,应用于网络控制芯片,该方法包括:
[0043]S10,从所述网络控制芯片的数据接收接口每接收到一个报文,根据接收的报文的类型将其放入对应的虚信道;
[0044]S20,对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输
出缓存。
[0045]S30,对输出缓存非空的各虚信道进行调度选择,将选出的虚信道的处理完毕的报文从所述网络控制芯片的数据发送接口发送出去。
[0046]该方法还可以进一步包括下述特点:
[0047]优选地,所述根据接收的报文的类型将其放入对应的虚信道,包括:根据接收的报文的长度将其放入对应的虚信道。
[0048]比如,报文长度分别为40bit和SObit的两种类型的报文,分别送入两个不同的虚信道。
[0049]优选地,所述数据接收接口的数量为I个,所述数据发送接口的数量为I个。
[0050]由于网络控制芯片的数据传输接口只有一套(一个数据接收接口和一个数据发送接口),因此,各虚信道分时复用所述数据传输接口,从而节省了网络接口资源。
[0051]优选地,还包括:根据网络处理芯片对单个报文的处理速度vl、最大报文长度L和网络传输速度v2设定所述数据发送接口的位宽m:
[0052]m = vl*L/v2 ;
[0053]比如,假设网络传输速度为lGbs,报文协议中定义的报文长度有40bit和80bit两种,而网络控制芯片对单个报文的处理速度为250M,则对于网络控制芯片的发送端而言,极端情况下数据发送接口需要在I秒内传输80bit*250M的数据,因此需要20个位宽的数据接口。
[0054]所述对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存,包括:
[0055]任一虚信道的处理逻辑如判断本虚信道的输入缓存非空,则从所述输入缓存中取出报文进行处理,处理完毕后送入本虚信道的输出缓存;
[0056]其中,每一个虚信道设置有单独的处理逻辑和输入缓存;
[0057]优选地,所述虚信道的输入缓存的深度根据接收的报文的长度设置,接收的报文的长度越短,输入缓存的深度设置得越深。[0058]比如,对于网络控制芯片的接收端,在极端情况下接收40bit长度的报文,处理速度(250M)会慢于报文的接收速度(20Gbs/40bit = 500M),因此相较于80bit长度报文的虚信道,40bit长度报文的虚信道需要设置额外深度的缓存区。
[0059]优选地,对输出缓存非空的各虚信道进行调度选择,包括:轮询输出缓存非空的各虚信道,根据调度策略选出一个虚信道;其中,所述调度策略为根据报文类型的优先级进行调度或者根据报文类型之间的依赖关系进行调度;
[0060]比如,网络控制芯片同时接收到其他多个网络控制芯片发送的报文,但是不同报文类型的调度优先级不同,因此可以根据优先级决定先转发哪一种类型的报文。
[0061 ] 本发明考虑到多节点网络中报文传输的特点,根据协议的复杂度和网络规模,网络控制芯片在处理和转发报文时用虚信道的方式根据不同类型报文的处理特点对报文进行并行处理,同时对网络间的数据传输接口进行分时复用,从而在提高了网络控制芯片的报文处理性能的同时,保证了对数据传输通路的利用效率,极大地降低了不同报文之间出现拥塞的可能。
[0062]如图2所示,本发明实施例提供了数据传输系统,应用于网络控制芯片上,该系统包括:
[0063]接收模块,用于从所述网络控制芯片的数据接收接口每接收到一个报文,根据接收的报文的类型将其放入对应的虚信道;
[0064]报文处理模块,用于对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存。
[0065]发送模块,用于对输出缓存非空的各虚信道进行调度选择,将选出的虚信道的处理完毕的报文从所述网络控制芯片的数据发送接口发送出去。
[0066]该系统还可以包括下述特点:
[0067]优选地,所述数据接收接口的数量为I个,所述数据发送接口的数量为I个。
[0068]优选地,接收模块,用于根据接收的报文的类型将其放入对应的虚信道,包括:根据接收的报文的长度将其放入对应的虚信道。
[0069]优选地,所述系统还包括:
[0070]设置模块,用于根据网络处理芯片对单个报文的处理速度vl、最大报文长度L和网络传输速度v2设定所述数据发送接口的位宽m:
[0071]m = vl*L/v2。
[0072]优选地,报文处理模块,用于对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存,包括:
[0073]任一虚信道的处理逻辑如判断本虚信道的输入缓存非空,则从所述输入缓存中取出报文进行处理,处理完毕后送入本虚信道的输出缓存;
[0074]其中,每一个虚信道设置有单独的处理逻辑和输入缓存。
[0075]优选地,发送模块,用于对输出缓存非空的各虚信道进行调度选择,包括:轮询输出缓存非空的各虚信道,根据调度策略选出一个虚信道;其中,所述调度策略为根据报文类型的优先级进行调度。
[0076]本发明的网络控制芯片主要考虑到高端服务器的需求导致复杂控制类芯片的性能和可靠性都需要不断提升,复杂的协议支持和系统规模的不断扩大使网络控制芯片内部需要简单和高效机制实现多种类型报文的处理和发送,从而满足高端服务器系统的高效率、高可靠性运行要求。
[0077]如图3所示,本发明用虚信道的方式划分网络控制芯片内的处理逻辑,每一个虚信道包括输入缓存、报文处理逻辑和输出缓存,多个虚信道的并行处理机制实现了在网络控制芯片内部报文流高速传输的条件下,基于完整清晰的协议设计和数据传输接口宽度定义,对于网络节点之间的报文,根据报文长度进行分类,不同长度的报文送入不同虚信道进行并行处理和缓存,处理完成的报文按分时复用的方式使用同一套数据传输接口进行发送。本发明满足了控制芯片内部对报文处理并行化处理要求的同时,保证了对数据传输通路的利用效率,极大地降低了不同报文之间出现拥塞的可能。
[0078]上述实施例提供的一种数据传输方法及系统,用虚信道的方式划分网络控制芯片内的处理逻辑,对不同长度的报文进行并行处理,用同一套数据传输接口的分时复用来实现报文的转发,能够提高网络控制芯片对多节点网络中大量并发报文数据的处理能力,提高网络控制芯片的工作效率,节省数据传输接口的耗费。
[0079]本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0080]需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
【权利要求】
1.一种数据传输方法,应用于网络控制芯片,该方法包括: 从所述网络控制芯片的数据接收接口每接收到一个报文,根据接收的报文的类型将其放入对应的虚信道; 对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存;对输出缓存非空的各虚信道进行调度选择,将选出的虚信道的处理完毕的报文从所述网络控制芯片的数据发送接口发送出去。
2.如权利要求1所述的方法,其特征在于: 所述数据接收接口的数量为I个,所述数据发送接口的数量为I个。
3.如权利要求1所述的方法,其特征在于: 所述根据接收的报文的类型将其放入对应的虚信道,包括:根据接收的报文的长度将其放入对应的虚信道。
4.如权利要求2所述的方法,其特征在于,还包括: 根据网络处理芯片对单个报文的处理速度vl、最大报文长度L和网络传输速度v2设定所述数据发送接口的位宽m:m = vl*L/v2。
5.如权利要求2所述的方法,其特征在于: 所述对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存,包括: 任一虚信道的处理逻辑如判断本虚信道的输入缓存非空,则从所述输入缓存中取出报文进行处理,处理完毕后送入本虚信道的输出缓存; 其中,每一个虚信道设置有单独的处理逻辑和输入缓存。
6.如权利要求2所述的方法,其特征在于: 对输出缓存非空的各虚信道进行调度选择,包括: 轮询输出缓存非空的各虚信道,根据调度策略选出一个虚信道; 其中,所述调度策略为根据报文类型的优先级进行调度。
7.一种数据传输系统,应用于网络控制芯片,该系统包括: 接收模块,用于从所述网络控制芯片的数据接收接口每接收到一个报文,根据接收的报文的类型将其放入对应的虚信道; 报文处理模块,用于对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存; 发送模块,用于对输出缓存非空的各虚信道进行调度选择,将选出的虚信道的处理完毕的报文从所述网络控制芯片的数据发送接口发送出去。
8.如权利要求7所述的系统,其特征在于: 所述数据接收接口的数量为I个,所述数据发送接口的数量为I个。
9.如权利要求7所述的系统,其特征在于: 接收模块,用于所述根据接收的报文的类型将其放入对应的虚信道,包括:根据接收的报文的长度将其放入对应的虚信道。
10.如权利要求8所述的系统,其特征在于,还包括: 设置模块,用于根据网络处理芯片对单个报文的处理速度vl、最大报文长度L和网络传输速度v2设定所述数据发送接口的位宽m: m = vl*L/v2。
11.如权利要求8所述的系统,其特征在于: 报文处理模块,用于对不同虚信道内部的报文进行并行处理,处理完毕的报文送入该虚信道的输出缓存,包括: 任一虚信道的处理逻辑如判断本虚信道的输入缓存非空,则从所述输入缓存中取出报文进行处理,处理完毕后送入本虚信道的输出缓存; 其中,每一个虚信道设置有单独的处理逻辑和输入缓存。
12.如权利要求8所述的系统,其特征在于: 发送模块,用于对输出缓存非空的各虚信道进行调度选择,包括:轮询输出缓存非空的各虚信道,根据调度策略选出一个虚信道; 其中,所述调度策略为根据报文类型的优先级进行调度。
【文档编号】H04L12/863GK104038441SQ201410291447
【公开日】2014年9月10日 申请日期:2014年6月25日 优先权日:2014年6月25日
【发明者】李拓, 童元满, 李仁刚 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1