本发明属于计算机应用技术领域,涉及一种基于mi-1394总线协议处理soc芯片的网络管理消息数据发送方法。
背景技术:
1394总线网络管理消息,包括来自上层应用层的数据和来自1394芯片传输层的数据,用于管理节点的上/下网控制。节点上/下网控制流程是实现网络数据通信控制的一个主要方式,是系统控制器隔离网络故障,提高网络工作可靠性的一种控制方式,也是保证系统控制器对网络工作状态进行维护和管理的主要工作流程。网络管理消息收发控制的正确性、实时性、稳定性是整个1394总线网络正常工作的必要条件。需要一种1394网络管理消息数据发送方法,使1394网络节点有效发送网路管理消息。
技术实现要素:
本发明的目的在于提出一种基于mi-1394总线协议处理soc芯片的网络管理消息发送方法,以实现1394网络节点有效处理网路管理消息。
为了在mi-1394总线协议处理soc芯片使用中实现安全可靠的网络管理消息协议处理,本发明提供一种1394总线网络管理消息数据发送方法,包括:
应用层与传输层分别配置两个独立的网络管理消息发送缓冲区,并在初始化阶段将上述缓冲区初始化为默认值,同时初始化应用层和传输层缓冲区控制标志,
应用层处理网络管理发送消息请求时,读取应用层网络管理消息发送缓冲区控制标志,若标志指示为缓冲区a,则将消息内容更新至应用层网络管理消息发送缓冲区a中,消息内容更新完成后,应用层设置应用层网络管理消息发送缓冲区控制标志为缓冲区b,否则将消息内容更新至应用层网络管理消息发送缓冲区b中,并设置应用层网络管理消息发送缓冲区控制标志为缓冲区a,
传输层按照传输层软件周期定时从应用层网络管理消息缓冲区中读取数据,传输层首先读取应用层网络管理消息缓冲区控制标志,若应用层网络管理消息缓冲区控制标志指示为a,则从应用层网络管理消息缓冲区b读取消息内容,否则从应用层网络管理消息缓冲区a读取消息内容,根据传输层网络管理消息缓冲区控制标志填写到传输层网络管理消息发送缓冲区,当传输层控制标志指示为缓冲区a时,填写消息内容到传输层网络管理消息发送缓冲区a,否则将消息内容填写到传输层网络管理消息发送缓冲区b中,
传输层进行网络管理消息协议处理时,若传输层网络管理消息缓冲区控制标志指示为缓冲区a,则基于传输层网络管理消息缓冲区a进行网络管理协议处理,并将处理结果更新传输层网络管理消息缓冲区a中,消息内容更新完成后将该消息发送到1394总线,并更新传输层网络管理消息缓冲区控制标志为缓冲区b。否则基于传输层网络管理消息缓冲区b进行网络管理协议处理,并将处理结果更新传输层网络管理消息缓冲区b中,消息内容更新完成后将该消息发送到1394总线,并更新传输层网络管理消息缓冲区控制标志为缓冲区a。
本发明具有的优点效果:本发明通过对1394网络管理消息数据缓冲区进行划分,应用层填写1394网络管理消息数据内容至应用层1394网络管理消息发送缓冲区,传输层将消息内容更新至传输层1394网络管理消息发送缓冲区,由传输层处理后发送至1394总线上,实现了1394网络节点有效发送网路管理消息。
附图说明
图1是1394本发明网络管理消息数据缓冲区划分
图2是1394本发明网络管理消息发送流程
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
下面结合具体实施例和附图对本发明的技术方案做进一步详细描述。
一种基于mi-1394总线协议处理soc芯片的网络管理消息数据发送方法,包括:
应用层与传输层分别配置两个独立的网络管理消息发送缓冲区a区和b区,并在初始化阶段将上述缓冲区初始化为默认值,同时初始化应用层和传输层缓冲区控制标志位都为‘0’。
应用层处理网络管理发送消息请求时,首先读取应用层网络管理消息发送缓冲区a控制标志,若缓冲区a标志位为‘0’,则说明缓冲区a空闲,可以将消息内容更新至应用层网络管理消息发送缓冲区a中,消息内容更新完成后,应用层设置应用层网络管理消息发送缓冲区a区控制标志为‘1’,否则读取应用层网络管理消息发送缓冲区b控制标志,若缓冲区b标志位为‘0’,将消息内容更新至应用层网络管理消息发送缓冲区b中,并设置应用层网络管理消息发送缓冲区b区控制标志为‘1’,若缓冲区a和缓冲区b控制标志位均为‘1’,则直接退出。
传输层按照传输层软件周期定时从应用层网络管理消息缓冲区中读取数据,传输层首先读取传输层网络管理消息发送缓冲区a控制标志,若缓冲区a标志位为‘0’,则说明缓冲区a空闲,可以将消息内容更新至传输层网络管理消息发送缓冲区a中,否则读取传输层网络管理消息发送缓冲区b控制标志,若缓冲区b标志位为‘0’,则说明缓冲区b空闲,可以将消息内容更新至传输层网络管理消息发送缓冲区b中,然后读取应用层网络管理消息缓冲区a控制标志,若应用层网络管理消息缓冲区a控制标志为‘1’,则从应用层网络管理消息缓冲区a读取消息内容,否则读取应用层网络管理消息缓冲区b控制标志,若应用层网络管理消息缓冲区b控制标志为‘1’,则从应用层网络管理消息缓冲区b读取消息内容,若传输层缓冲区a和缓冲区b控制标志位均为‘1’,则直接退出。
传输层进行网络管理消息协议处理时,若传输层网络管理消息缓冲区控制标志位为‘1’,则基于传输层网络管理消息缓冲区a进行网络管理协议处理,并将处理结果更新至传输层网络管理消息缓冲区a中,消息内容更新完成后将该消息发送到1394总线,并更新传输层网络管理消息缓冲区a控制标志为‘0’。否则基于传输层网络管理消息缓冲区b进行网络管理协议处理,并将处理结果更新传输层网络管理消息缓冲区b中,消息内容更新完成后将该消息发送到1394总线,并更新传输层网络管理消息缓冲区b控制标志为‘0’,传输结束。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。