报文发送方法和装置制造方法及图纸

技术编号:15800013 阅读:104 留言:0更新日期:2017-07-11 13:57
本发明专利技术公开了一种报文发送方法,所述方法包括:在发送第一报文时,将所述第一报文保存在缓存空间中;向接收队列发起发送请求;在接收到接收队列同意发送的信息时,根据所述信息将所述缓存空间中相应数量的第一报文发送至所述接收队列,以使得所述接收队列发送相应数量的第一报文。本发明专利技术还公开了一种报文发送装置。本发明专利技术在发送报文时,先将报文保存在缓存空间中,然后向接收队列发送相应数量的报文,能够解决因为报文数量比较多时,容易造成接收队列溢出,丢弃报文的问题,从而保证设备之间的正常通信。

Message sending method and device

The invention discloses a message transmission method, the method includes: sending a first message, the first message is stored in the cache space; launched a request sent to the receiving queue; received in the receiving queue agreed to send information, according to the number of the corresponding information will be sent in the cache space the first message to the receiving queue, so that the first message the receiving queue sends a corresponding number of. The invention also discloses a message sending device. The present invention in sending the message, the message is stored in the cache space, and then to receive message queue to send the corresponding number, because the number of packets can be solved relatively long, easy to cause the receiving queue overflow, dropping packets, so as to ensure the normal communication between devices.

【技术实现步骤摘要】
报文发送方法和装置
本专利技术涉及通信
,尤其涉及一种报文发送方法和装置。
技术介绍
通信网络中的设备都是通过协议报文进行交互的,通过报文的发送和接收,完成邻居的设备的发现和相关信息的交换。为了兼容各个厂商之间的协议通信,相应地,必须制定共同的交互规则和固定的协议报文格式,否则无法保证不同厂商之间的互通。目前,业界一般通过协议进程将协议报文发送至设备端口的接收队列中,再由设备端口的接收队列将协议报文发送出去。这种方式可能会出现某一协议进程突发大量协议报文(比如路由协议进程可能通告大量路由信息),使得接收队列被该协议报文填满,导致后续其他协议发送来的协议报文溢出被丢弃,从而影响其他协议进程之间通信。如图1所示:假设业务进程1、业务进程2和业务进程3分别为中间系统-中间系统IntermediateSystem-to-IntermediateSystem(ISIS)进程、边界网关协议BorderGatewayProtocol(BGP)进程和链路状态路由算法(包括开放式最短路径优先OpenShortestPathFirst(OSPF)进程)。ISIS进程发送大量的协议报文至接收队列并且接收队列被填满,BGP进程发送的邻居保活HELLO报文因为接收队列填满而溢出丢弃,BGP进程的邻居保活HELLO报文一直发送不出去,一定时间后,对端设备BGP进程会因为没有及时接收到本端BGP进程发送的邻居保活HELLO报文,会删除本端的邻居关系,导致先前通告的路由信息全部删除,进而影响设备数据报文的正常转发。
技术实现思路
本专利技术的主要目的在于提出一种报文发送方法和装置,旨在解决现有技术中接收队列容易被填满,从而丢弃报文的技术问题。为实现上述目的,本专利技术提供的一种报文发送方法,所述方法包括以下步骤:在发送第一报文时,将所述第一报文保存在缓存空间中;向接收队列发起发送请求;在接收到接收队列同意发送的信息时,根据所述信息将所述缓存空间中相应数量的第一报文发送至所述接收队列,以使得所述接收队列发送相应数量的第一报文。优选地,所述在发送第一报文时,将所述第一报文保存在缓存空间中的步骤包括:在发送第一报文时,开辟缓存空间;将所述第一报文保存在所述缓存空间中。优选地,所述向接收队列发起发送请求的步骤之后包括:在接收到所述接收队列已满时发送的信息时,根据接收到所述接收队列发送的暂停发送信息,暂停发送所述缓存空间中第一报文。优选地,所述在接收到接收队列同意发送的信息时,根据所述信息将所述缓存空间中相应数量的第一报文发送至所述接收队列,以使得所述接收队列发送相应数量的第一报文的步骤之后包括:将所述缓存空间中相应数量的第一报文发送至所述接收队列时,判断所述缓存空间中是否还有第一报文的遗留报文;如果所述缓存空间中还有遗留报文,则在下一次发送时,向所述接收队列发送相应数量的所述遗留报文。优选地,所述将所述缓存空间中相应数量的第一报文发送至所述接收队列时,判断所述缓存空间中是否还有第一报文的遗留报文的步骤之后还包括:如果所述缓存空间中还有遗留报文,则在下一次发送时,向所述接收队列发送所述遗留报文和缓存空间中相应数量的第二报文,其中所述第二报文为在所述第一报文之后保存的报文。优选地,所述在下一次发送时,向所述接收队列发送所述遗留报文和缓存空间中相应数量的第二报文的步骤包括:在下一次发送时,根据所述第一报文和所述第二报文对应的优先级,向所述接收队列发送对应数量的所述遗留报文和/或第二报文。此外,为实现上述目的,本专利技术还提供一种报文发送装置,所述装置包括:保存模块,用于在发送第一报文时,将所述第一报文保存在缓存空间中;请求模块,用于向接收队列发起发送请求;第一发送模块,用于在接收到接收队列同意发送的信息时,根据所述信息将所述缓存空间中相应数量的第一报文发送至所述接收队列,以使得所述接收队列发送相应数量的第一报文。优选地,所述保存模块包括:开辟单元,用于在发送第一报文时,开辟缓存空间;保存单元,将所述第一报文保存在所述缓存空间中。优选地,所述装置还包括:暂停模块,用于在接收到所述接收队列已满时发送的信息时,根据接收到所述接收队列发送的暂停发送信息,暂停发送所述缓存空间中第一报文。优选地,所述装置还包括:判断模块,用于将所述缓存空间中相应数量的第一报文发送至所述接收队列时,判断所述缓存空间中是否还有第一报文的遗留报文;第二发送模块,用于如果所述缓存空间中还有遗留报文,则在下一次发送时,向所述接收队列发送相应数量的所述遗留报文。优选地,所述装置还包括:第三发送模块,用于如果所述缓存空间中还有遗留报文,则在下一次发送时,向所述接收队列发送所述遗留报文和缓存空间中相应数量的第二报文,其中所述第二报文为在所述第一报文之后保存的报文。优选地,所述第三发送模块还用于在下一次发送时,根据所述第一报文和所述第二报文对应的优先级,向所述接收队列发送对应数量的所述遗留报文和/或第二报文。本专利技术在发送第一报文时,将所述第一报文保存在缓存空间中;向接收队列发起发送请求;在接收到接收队列同意发送的信息时,根据所述信息将所述缓存空间中相应数量的第一报文发送至所述接收队列,以使得所述接收队列发送相应数量的第一报文。通过上述方式,本专利技术在发送报文时,先将报文保存在缓存空间中,然后向接收队列发送相应数量的报文,比如在报文数量比较大时,根据接收队列中可以根据接收队列接收能力,发送对应接收队列接收能力的报文,遗留的报文在下一次发送,或者在报文数量比较小时,报文数量没有超过接收队列接收能力时,将所有报文发送给接收队列,从而不会因为接收队列被填满,而丢弃其他的报文,保证了设备之间的正常通信。附图说明图1为现有技术中报文发送形象示意图;图2为本专利技术报文发送方法第一实施例的流程示意图;图3为本专利技术实施例中在发送第一报文时,将所述第一报文保存在缓存空间中的步骤的细化流程示意图;图4为本专利技术报文发送方法第二实施例的流程示意图;图5为本专利技术报文发送装置第一实施例的功能模块示意图;图6为本专利技术实施例中保存模块的细化功能模块示意图;图7为本专利技术报文发送装置第二实施例的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种报文发送方法。参照图2,图2为本专利技术报文发送方法第一实施例的流程示意图。在本实施例中,该报文发送方法包括:步骤S10,在发送第一报文时,将所述第一报文保存在缓存空间中;为使得节省开辟缓存空间的时间,快速发送产生的报文,本专利技术预先在设备内存或者存储空间开辟缓存空间,具体实施中也可以不先预先开辟缓存空间。在发送报文时,比如在路由设备之间需要发送保活报文时,本专利技术先将产生的报文保存在预先开辟的缓存空间中。步骤S20,向接收队列发起发送请求;将所述报文保存在所述缓存空间后,向接收队列发起发送缓存空间中报文的发送请求。接收队列接收到所述发送请求时,判断当前接收队列是否已满,如果当前的接收队列已满,则反馈对应当前接收队列已满的信息,比如反馈信息为暂停发送的信息;如果当前的接收队列为空,则反馈对应当前接收队列为空的信息。然后进入步骤S30。步骤S30,在本文档来自技高网...
报文发送方法和装置

【技术保护点】
一种报文发送方法,其特征在于,所述方法包括以下步骤:在发送第一报文时,将所述第一报文保存在缓存空间中;向接收队列发起发送请求;在接收到接收队列同意发送的信息时,根据所述信息将所述缓存空间中相应数量的第一报文发送至所述接收队列,以使得所述接收队列发送相应数量的第一报文。

【技术特征摘要】
1.一种报文发送方法,其特征在于,所述方法包括以下步骤:在发送第一报文时,将所述第一报文保存在缓存空间中;向接收队列发起发送请求;在接收到接收队列同意发送的信息时,根据所述信息将所述缓存空间中相应数量的第一报文发送至所述接收队列,以使得所述接收队列发送相应数量的第一报文。2.如权利要求1所述的方法,其特征在于,所述在发送第一报文时,将所述第一报文保存在缓存空间中的步骤包括:在发送第一报文时,开辟缓存空间;将所述第一报文保存在所述缓存空间中。3.如权利要求1所述的方法,其特征在于,所述向接收队列发起发送请求的步骤之后包括:在接收到所述接收队列已满时发送的信息时,根据接收到所述接收队列发送的暂停发送信息,暂停发送所述缓存空间中第一报文。4.如权利要求1所述的方法,其特征在于,所述在接收到接收队列同意发送的信息时,根据所述信息将所述缓存空间中相应数量的第一报文发送至所述接收队列,以使得所述接收队列发送相应数量的第一报文的步骤之后包括:将所述缓存空间中相应数量的第一报文发送至所述接收队列时,判断所述缓存空间中是否还有第一报文的遗留报文;如果所述缓存空间中还有遗留报文,则在下一次发送时,向所述接收队列发送相应数量的所述遗留报文。5.如权利要求4所述的方法,其特征在于,所述将所述缓存空间中相应数量的第一报文发送至所述接收队列时,判断所述缓存空间中是否还有第一报文的遗留报文的步骤之后还包括:如果所述缓存空间中还有遗留报文,则在下一次发送时,向所述接收队列发送所述遗留报文和缓存空间中相应数量的第二报文,其中所述第二报文为在所述第一报文之后保存的报文。6.如权利要求5所述的方法,其特征在于,所述在下一次发送时,向所述接收队列发送所述遗留报文和缓存空间中相应数量的第二报文...

【专利技术属性】
技术研发人员:何建军
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1