一种多核网络设备发送报文的方法及装置制造方法及图纸

技术编号:14026794 阅读:141 留言:0更新日期:2016-11-19 04:38
本发明专利技术实施例公开一种多核网络设备发送报文的方法及装置,所述方法包括:对网卡加锁,判断发送报文标志位是否置位;若所述发送报文标志位置位,将待发送报文放入发送队列,对网卡解锁。所述装置用于实施所述方法。本发明专利技术实施例提供的方法,可使线程免于等待,从而减少了网络设备性能的损耗。

【技术实现步骤摘要】

本专利技术实施例涉及网络通信领域,具体涉及一种多核网络设备发送报文的方法及装置
技术介绍
网络设备通常是多核多线程的设备,多个线程从网卡接收报文并对报文进行处理,当处理完报文后会将报文从网卡发送出去。为了避免多个线程同时操作网卡的情况,通常要对网卡加锁,获取锁的线程可以进行报文的发送处理,其他没有获取到锁的线程则等待。当报文发送出去后线程就可以将锁释放,这时其他等待中的线程中的某一个线程就可以获取到锁,然后进行报文的发送处理。然而,由于报文发送占用时间相对较长,导致锁一直被占用,而其它线程不得不等待而无法进行其它任务,这就造成了网络设备性能上的损耗。因此,如何提出一种方法,可有效减少这种性能上的损耗,成为亟待解决的问题。
技术实现思路
针对现有技术中的缺陷,一方面,本专利技术实施例提供一种多核网络设备发送报文的方法,包括:对网卡加锁,判断发送报文标志位是否置位;若所述发送报文标志位置位,将待发送报文放入发送队列,对网卡解锁。本专利技术实施例提供的方法,由于在发送报文标志位置位即有线程占用网卡发送报文时,将需要发送的报文放入了发送队列,从而使线程得到解放,因此可使线程免于等待,从而减少了网络设备性能的损耗。另一方面,本专利技术实施例还提出一种多核网络设备发送报文的装置,包括:判断单元,用于对网卡加锁,判断发送报文标志位是否置位;放文单元,若所述发送报文标志位置位,则用于将待发送报文放入发送队列,对网卡解锁。本专利技术实施例提供的装置,由于在发送报文标志位置位即有线程占用网卡发送报文时,将需要发送的报文放入了发送队列,从而使线程得到解放,因此可使线程免于等待,从而减少了网络设备性能的损耗。附图说明图1为本专利技术多核网络设备发送报文的方法实施例的流程示意图;图2为本专利技术多核网络设备发送报文的方法实施例程序流程图;图3为本专利技术装置实施例的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术多核网络设备发送报文的方法实施例的流程示意图,参看图1,本实施例公开一种多核网络设备发送报文的方法,包括:S1、对网卡加锁,判断发送报文标志位是否置位;当线程对网卡加锁后,会判断预先设置的发送报文标志位是否置位。具体地,所述发送报文标志位可预先设置在网卡的报文发送端口的控制程序中,当有线程使用端口发送报文时,所述发送报文的标志位会置位。S2、若所述发送报文标志位置位,将待发送报文放入发送队列,对网卡解锁。若线程判断得知所述发送报文标志位置位,即已有其它线程正在发送报文,则线程将自身携带的待发送报文放入预先设置的发送队列中,并对网卡解锁。本专利技术实施例提供的方法,由于在发送报文标志位置位即有线程占用网卡发送报文时,将需要发送的报文放入了发送队列,从而使线程得到解放,因此可使线程免于等待,从而减少了网络设备性能的损耗。本专利技术实施例中,若线程判断得知所述发送报文标志位没有置位,即没有其它线程占用发送端口发送报文,则线程将所述发送报文标志位置位,并对网卡解锁,发送报文。进一步地,在所述线程发送完报文后,还包括:对网卡加锁,并检测发送队列中是否存在其它线程放入的待发送的报文,若检测到所述发送队列中存在待发送的报文,则所述线程对网卡解锁,发送待发送的报文。可以理解的是,所述发送队列中的所述待发送报文可以为多个,且所述待发送报文按优一定的规则排序,所述规则可以为例如时序、优先级等。其中,检测发送队列存在待发送的报文的步骤具体为:线程从所述发送队列中取待发送报文,若能取出,则发送所述待发送报文。若不能取出,则线程清除发送报文标志(将所述发送报文标志位复位),并对网卡解锁。进一步地,图2为本专利技术多核网络设备发送报文的方法程序流程图,如图2所示,在线程从所述发送队列中取出待发送报文并发送后,还可以再对网卡加锁,并从所述发送队列中取出下一个待发送报文并发送,如此重复,直到所述发送队列中没有待发送报文为止。本专利技术实施例提供的多核网络设备发送报文的方法,由于设置了发送报文标志位,因此在线程占用发送端口发送报文时,不会受到其它线程的干扰,保证了网卡的正常有序工作。同时,在线程发送报文前,对网卡进行解锁,从而使其它线程可对网卡进行加锁并将待发送的报文放入发送队列。因此,相较于现有技术,本专利技术实施例有效地避免了线程因等待发送报文而导致的性能的损耗,有效地提高了网络设备的系统性能和发送报文的效率。图3为本专利技术装置实施例的结构示意图,参看图3,本专利技术实施例还提供一种多核网络设备发送报文的装置,包括:判断单元1以及放文单元2;其中,判断单元1用于对网卡加锁,判断发送报文标志位是否置位;放文单元2用于当所述发送报文标志位置位时将待发送报文放入发送队列,对网卡解锁。本专利技术实施例提供的装置,由于在发送报文标志位置位即有线程占用网卡发送报文时,将需要发送的报文放入了发送队列,从而使线程得到解放,因此可使线程免于等待,从而减少了网络设备性能的损耗。进一步地,本专利技术实施例提供的装置还包括发送单元,用于当判断得知所述发送报文标志位没有置位,即没有其它线程占用发送端口发送报文时,将所述发送报文标志位置位,并对网卡解锁,发送报文。进一步地,所述发送单元还用于在所述报文发送完毕之后,对网卡加锁;检测所述发送队列中是否存在待发送的报文,若检测到所述发送队列中存在待发送的报文,则对网卡解锁,发送待发送的报文。其中,所述发送单元检测所述发送队列存在待发送的报文具体为:从所述发送队列中取出待发送报文,若能取出,则发送所述待发送报文。若能取出,则清除发送报文标志(将所述发送报文标志位复位),并对网卡解锁。在所述发送单元取出待发送报文并发送后,还开以再对网卡加锁,并从所述发送队列中取出下一个待发送报文并发送,如此重复,直到所述发送队列中没有待发送报文为止。本专利技术实施例提供的多核网络设备发送报文的装置,由于设置了发送报文标志位,因此在线程占用发送端口发送报文时,不会受到其它线程的干扰,保证了网卡的正常有序工作。同时,在线程发送报文前,对网卡进行解锁,从而使其它线程可对网卡进行加锁并将待发送的报文放入发送队列。因此,相较于现有技术,本专利技术实施例有效地避免了线程因等待发送报文而导致的性能的损耗,有效地提高了网络设备的系统性能和发送报文的效率。最后应说明的是:以上实施例仅用以说明本专利技术的技术方案,而非对其限制;尽管参照前述实施例对本专利技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本专利技术各实施例技术方案的精神和范围。本文档来自技高网...
一种多核网络设备发送报文的方法及装置

【技术保护点】
一种多核网络设备发送报文的方法,其特征在于,包括:对网卡加锁,判断发送报文标志位是否置位;若所述发送报文标志位置位,将待发送报文放入发送队列,对网卡解锁。

【技术特征摘要】
1.一种多核网络设备发送报文的方法,其特征在于,包括:对网卡加锁,判断发送报文标志位是否置位;若所述发送报文标志位置位,将待发送报文放入发送队列,对网卡解锁。2.根据权利要求1所述的方法,其特征在于,还包括:若所述发送报文标志位没有置位,则将所述发送报文标志位置位;对网卡解锁,发送报文。3.根据权利要求2所述的方法,其特征在于,还包括:所述报文发送完毕之后,对网卡加锁;检测发送队列存在待发送的报文,对网卡解锁,发送该待发送的报文。4.根据权利要求3所述的方法,其特征在于,检测发送队列存在待发送的报文的步骤包括:检测是否能够取出报文,如果能,则发送报文;如果不能,清除发送报文标志,对网卡解锁。5.一种多核网络设...

【专利技术属性】
技术研发人员:李鹏
申请(专利权)人:汉柏科技有限公司
类型:发明
国别省市:天津;12

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

1