主控板用户态从业务板内核态获取数据的方法及装置制造方法及图纸

技术编号:13707865 阅读:102 留言:0更新日期:2016-09-15 01:12
本发明专利技术提供一种主控板与业务板间传输数据的方法及装置,其中,方法包括:获取用户请求数据;通过系统调用通信机制将用户请求数据发送到内核态;通过内核态板间通信机制将用户请求报文发送给业务板内核态;当操作类型为读操作时,建立netlink服务端;通过netlink客户端将接收到的应答数据发送给netlink服务端;netlink服务端接收到应答数据后,返回到用户态程序;用户态程序解析应答数据,组织成用户理解的形式呈现给用户。采用本发明专利技术实施例提供的方法可以实现主控板用户态程序直接高效、实时地从业务板内核态程序读取数据。

【技术实现步骤摘要】

本专利技术涉及网络通信
,尤其涉及一种主控板用户态从业务板内核态读取数据的方法及装置。
技术介绍
随着互联网的迅猛发展,内核态进程和用户态进程之间的数据交互越来越频繁,并且交互的数据量越来越大。现有的一体化分布式网络设备一般由设备机框和安装在机框上的一至两块主控板卡、若干业务板卡和交换板卡构成,其中,主控板卡用于设备管理控制,业务板卡和交换板卡用于业务处理。由于一体化机制,用户不直接管理业务板卡,而由主控板卡统一管理。用户在管理设备时,需要读取业务板卡的软件版本信息以及业务板在业务处理过程中产生的会话信息和日志信息等,上述过程为主控板卡用户态从业务板卡内核态读取数据的过程。现有技术主控板用户态从业务板内核态读取数据的过程为:主控板用户态先连接到业务板用户态、再由业务板用户态通过系统调用等方式从业务板内核态读取所需信息的数据。在这一过程中,系统需要分别在主控板、业务板的用户态/内核态间反复切换,虽然大部分过程都封装在标准网络通信流程中,但数据反复传送和重新组织,不仅拉长了处理流程,容易引入错误,而且造成CPU和通道繁忙,对系统性能造成不良影响。
技术实现思路
有鉴于此,本专利技术提供一种主控板与业务板间传输数据的方法,应用于一
体化分布式网关设备的主控板中,上述方法包括:获取用户请求数据;通过系统调用通信机制将上述用户请求数据发送到内核态;通过内核态板间通信机制将上述用户请求数据对应的用户请求报文发送给对应业务板的内核态程序,以使上述业务板的内核态程序组织相应的应答数据,并将上述应答数据传输到主控板的用户态程序;查询上述用户请求数据中的操作类型,当上述操作类型为读操作时,建立用于监听主控板内核态消息的netlink服务端;接收来自业务板内核态的数据,通过netlink客户端将应答数据发送给用户态程序的上述netlink服务端;上述netlink服务端接收到上述应答数据后,将上述应答数据返回到用户态程序;上述用户态程序解析上述应答数据,组织成用户理解的形式并呈现给上述用户。可选地,上述主控板与业务板间传输数据的方法还包括:系统初始化时,主控板内核态程序建立面向主控板用户态的netlink客户端,以使上述netlink客户端在监听到来自业务板内核态的消息后,将上述消息发送给主控板的用户态程序。可选地,上述获取用户请求数据,包括:接收用户请求;根据上述用户请求组织目标数据,上述目标数据至少包括:通信类型、业务板槽号、操作类型;将上述目标数据按照预设数据格式封装为用户请求数据。可选地,上述通过内核态板间通信机制将上述用户请求数据对应的用户请求报文发送给对应业务板的内核态程序,以使上述业务板内核态程序组织相应的应答数据,返回到用户态程序,包括:从上述用户请求数据中解析业务板槽号;将上述用户请求数据按照板间通信机制所需报文格式封装成用户请求报文;通过内核态板间通信机制将上述用户请求报文发送给上述业务板槽号对应业务板的内核态程序,以使上述业务板内核态程序组织相应的应答数据;上述系统调用返回到用户态程序。可选地,上述查询上述用户请求数据中的操作类型,当上述操作类型为读操作时,建立用于监听主控板内核态消息的netlink服务端;包括:从上述目标数据中查询业务板槽号和操作类型;判断上述操作类型是否为表示从上述业
务板槽号对应的业务板中读取数据的读操作;若上述操作类型为读操作,则建立netlink服务端,以使上述netlink服务端监听主控板内核态消息;若上述操作类型不是读操作,则返回到用户态程序。可选地,上述接收到来自业务板内核态的数据,通过netlink客户端将应答数据发送给用户态程序的上述netlink服务端;包括:接收上述业务板通过内核态板间通信机制返回的数据;判断上述数据中是否包含板间系统调用标记;若上述数据中包含板间系统调用标记,表示该数据为应答数据,通过netlink客户端将上述应答数据发送给上述netlink服务端;若上述应答数据中不包含板间系统调用标记,表示该数据不是应答数据,结束流程。可选地,上述主控板与业务板间传输数据的方法还包括:设置上述netlink服务端等待内核态消息的时间阈值;若上述netlink服务端等待内核态消息的时间达到上述时间阈值后未获取到应答数据,则返回失败信息。另一方面,本专利技术实施例公开了一种主控板与业务板间传输数据的方法,应用于一体化分布式网关设备的业务板中,上述方法包括:接收主控板内核态通过内核态板间通信机制发送的用户请求报文;解析上述用户请求报文中的操作类型、模块操作码、模块数据信息,组织上述信息对应的数据,并为上述数据作上板间系统调用标记,形成应答数据;将上述应答数据通过上述内核态板间通信机制发送给主控板内核态程序。相应的,提供了一种主控板与业务板间传输数据的装置,设置于一体化分布式网关的主控板中,上述装置包括:用户请求获取模块,用于获取用户请求数据;第一发送模块,用于通过系统调用通信机制将上述用户请求数据发送到内核态;第二发送模块,用于通过内核态板间通信机制将上述用户请求数据对应的用户请求报文发送给对应业务板的内核态程序,以使上述业务板的内核态程序组织相应的应答数据,并将上述应答数据传输到主控板的用户态程序;netlink服务端建立模块,用于查询上述用户请求数据中操作类型,当上述
操作类型为读操作时,建立用于监听主控板内核态消息的netlink服务端;第三发送模块,用于接收来自业务板内核态的数据,通过netlink客户端将应答数据发送给用户态程序的上述netlink服务端;接收模块,用于在上述netlink服务端接收到上述应答数据后,将上述应答数据返回到用户态程序;反馈模块,用于上述用户态程序解析上述应答数据,组织成用户理解的形式并呈现给上述用户。可选的,上述装置还包括:netlink客户端建立模块,用于在系统初始化时,主控板内核态程序建立面向主控板用户态的netlink客户端,以使上述netlink客户端在监听到来自业务板内核态的消息后,将上述消息发送给主控板的用户态程序。可选的,上述用户请求获取模块,包括:请求接收单元,用于接收用户请求;目标数据组织单元,用于根据上述用户请求组织目标数据,上述目标数据至少包括:通信类型、业务板槽号、操作类型;数据封装单元,用于将上述目标数据按照预设数据格式封装为用户请求数据。可选的,上述第二发送模块包括:第一查询单元,用于从上述用户请求数据中解析业务板槽号;封装单元,用于将上述用户请求数据按照板间通信机制所需报文格式封装成用户请求报文;第二发送单元,用于通过内核态板间通信机制将上述用户请求报文发送给上述业务板槽号对应业务板的内核态程序,以使上述业务板内核态程序组织相应的应答数据;第一返回单元,用于上述系统调用返回到用户态程序。可选的,上述netlink服务端建立模块,包括:第二查询单元,用于从上述目标数据中查询业务板槽号和操作类型;第一判断单元,用于判断上述操作类型是否为表示从上述业务板槽号对应的业务板读取数据的读操作;netlink服务端建立单元,用于在上述操作类型为读操作的情况下,建立netlink服务端,以使上述netlink服务端监听主控板内核态消息;第二返回单元,用于在上述操作类型不是本文档来自技高网
...

【技术保护点】
一种主控板与业务板间传输数据的方法,其特征在于,应用于一体化分布式网关设备的主控板中,所述方法包括:获取用户请求数据;通过系统调用通信机制将所述用户请求数据发送到内核态;通过内核态板间通信机制将所述用户请求数据对应的用户请求报文发送给对应业务板的内核态程序,以使所述业务板的内核态程序组织相应的应答数据,并将所述应答数据传输到主控板的用户态程序;查询所述用户请求数据中的操作类型,当所述操作类型为读操作时,建立用于监听主控板内核态消息的netlink服务端;接收来自业务板内核态的数据,通过netlink客户端将应答数据发送给用户态程序的所述netlink服务端;所述netlink服务端接收到所述应答数据后,将所述应答数据返回到用户态程序;所述用户态程序解析所述应答数据,组织成用户理解的形式并呈现给所述用户。

【技术特征摘要】
1.一种主控板与业务板间传输数据的方法,其特征在于,应用于一体化分布式网关设备的主控板中,所述方法包括:获取用户请求数据;通过系统调用通信机制将所述用户请求数据发送到内核态;通过内核态板间通信机制将所述用户请求数据对应的用户请求报文发送给对应业务板的内核态程序,以使所述业务板的内核态程序组织相应的应答数据,并将所述应答数据传输到主控板的用户态程序;查询所述用户请求数据中的操作类型,当所述操作类型为读操作时,建立用于监听主控板内核态消息的netlink服务端;接收来自业务板内核态的数据,通过netlink客户端将应答数据发送给用户态程序的所述netlink服务端;所述netlink服务端接收到所述应答数据后,将所述应答数据返回到用户态程序;所述用户态程序解析所述应答数据,组织成用户理解的形式并呈现给所述用户。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:系统初始化时,主控板内核态程序建立面向主控板用户态的netlink客户端,以使所述netlink客户端在监听到来自业务板内核态的消息后,将所述消息发送给主控板的用户态程序。3.根据权利要求1所述的方法,其特征在于,所述获取用户请求数据,包括:接收用户请求;根据所述用户请求组织目标数据,所述目标数据至少包括:通信类型、业务板槽号、操作类型;将所述目标数据按照预设数据格式封装为用户请求数据。4.根据权利要求1所述的方法,其特征在于,所述通过内核态板间通信机制将所述用户请求数据对应的用户请求报文发送给对应业务板的内核态程序,以使所述业务板内核态程序组织相应的应答数据,返回到用户态程序,包括:从所述用户请求数据中解析业务板槽号;将所述用户请求数据按照板间通信机制所需报文格式封装成用户请求报文;通过内核态板间通信机制将所述用户请求报文发送给所述业务板槽号对应业务板的内核态程序,以使所述业务板内核态程序组织相应的应答数据;所述系统调用返回到用户态程序。5.根据权利要求3所述的方法,其特征在于,所述查询所述用户请求数据中的操作类型,当所述操作类型为读操作时,建立用于监听主控板内核态消息的netlink服务端;包括:从所述目标数据中查询业务板槽号和操作类型;判断所述操作类型是否为表示从所述业务板槽号对应的业务板中读取数据的读操作;若所述操作类型为读操作,则建立netlink服务端,以使所述netlink服务端监听主控板内核态消息;若所述操作类型不是读操作,则返回到用户态程序。6.根据权利要求1所述的方法,其特征在于,所述接收到来自业务板内核态的数据,通过netlink客户端将应答数据发送给用户态程序的所述netlink服务端;包括:接收所述业务板通过内核态板间通信机制返回的数据;判断所述数据中是否包含板间系统调用标记;若所述数据中包含板间系统调用标记,表示该数据为应答数据,通过netlink客户端将所述应答数据发送给所述netlink服务端;若所述应答数据中不包含板间系统调用标记,表示该数据不是应答数据,结束流程。7.根据权利要求5所述的方法,其特征在于,所述方法还包括:设置所述netlink服务端等待内核态消息的时间阈值;若所述netlink服务端等待内核态消息的时间达到所述时间阈值后未获取到应答数据,则返回失败信息。8.一种主控板与业务板间传输数据的方法,其特征在于,应用于一体化分布式网关设备的业务板中,所述方法包括:接收主控板内核态通过内核态板间通信机制发送的用户请求报文;解析所述用户请求报文中的操作类型、模块操作码、模块数据信息,组织所述信息对应的数据,并为所述数据作上板间系统调用标记,形成应答数据;将所述应答数据通过所述内核态板间通信机制发送给主控板内核态程序。9.一种主控板与业务板间传输数据的装置,设置于一体化分布式网关的主控板中,其特征在于,所述装置包括:用户请求获取模块,用于...

【专利技术属性】
技术研发人员:符志清
申请(专利权)人:杭州迪普科技有限公司
类型:发明
国别省市:浙江;33

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

1