分发包方法技术

技术编号:11187569 阅读:46 留言:0更新日期:2015-03-25 16:26
本发明专利技术公开了一种分发包方法,其包括有:S1、创建含有节点的链表;S2、将各节点分别与功能模块映射;S3、接收报文;S4、判断顶端的节点所映射的功能模块是否可用,若是则执行S7,若否则执行S5;S5、判断是否还存在其他节点,若是则执行S6,否则结束流程;S6、判断下一节点所映射的功能模块是否可用,若是则执行S7,若否则返回执行S5;S7、判断是否需要报文,若是则执行S8,否则执行S5;S8、处理报文;S9、判断报文是否还用于其他功能模块,若是则返回执行S5,若否则结束流程。通过设置调试节点,使得调试、维护更为便利;通过功能模块挂接到链表上各个节点的方式,使得本发明专利技术易于移植。

【技术实现步骤摘要】

本专利技术涉及一种。
技术介绍
现代通信设备中,尤其是大型机架、机框式的通信设备,往往是采用(中央处理器)结合八3108^601^10 1111:6^1-81:6(1 011X1111:8,专用集成电路)的硬件设计方案。^810通信芯片负责硬件转发,而0^负责协议层面的处理,这个处理过程主要依赖于^810芯片传向的报文来完成。 0?^上运行的很多应用程序来进行包处理,包括二层的协议模块,三层协议模块等等,一个好的分发包机制能够最大程度上让各个应用程序专注于各自的实现保持其各自的内聚性。以往的通信设备(包括某些线卡单盘)中,运行在0^上的软件往往需要处理一些来自于通信芯片的以太报文,例如03了? (1-81)1(1 81)81111111? 11*66 ?1~01:0。01,快速生成树协议)报文、0此? (1)7115111110 ^081: 0011?18111~81:1011 ?1~01:0。01,动态主机设置协议)报文以及需要送往协议栈处理的I?层报文等。 传统的设计中,往往直接在通信芯片的驱动中调用各个应用程序(如831?,0^)的处理接口,处理完毕后送往协议栈,这种处理方式的弊端在于:耦合度极高,在有新的需要处理报文的应用程序被添加时,往往需要修改驱动层的代码,不符合驱动层应该稳定的原则;难以维护和调试,在系统的收包过程出现故障时,每个模块都需要维护有自己的调试代码,杂乱而难以实施;没有完整的独立性,难以移植并重新使用。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中未对软件分层设计导致耦合度高、分发报文过程中的异常难以定位、设计缺乏独立性而难以移植的缺陷,提供一种分层设计、易于移植的。 本专利技术是通过下述技术方案来解决上述技术问题: —种,其特点在于,其包括有以下步骤: 31、创建一包含有至少一节点的链表; 32、将各个所述节点分别与外部的功能模块映射; 33、接收一报文; [0011〕 34、判断所述链表顶端的节点所映射的所述功能模块是否可用,若是则执行57,若否则执行35,此处,由于链表本身的全部节点都是按照一定顺序排列的,链表顶端的节点也就是该顺序的第一个节点; 35、判断所述链表中是否还存在其他所述节点,若是则执行36,否则结束流程; 36、判断所述链表中下一个所述节点所映射的所述功能模块是否可用,若是则执行37,若否则返回执行35,此处,下一个节点为按照链表上节点顺序,相对于已处理或者已判断过的上一顺位的节点的下一顺位的节点; 37、判断所述功能模块是否需要所述报文,若是则执行38,否则执行35 ; 38、所述功能模块处理所述报文; 39、判断所述报文是否还可以用于其他功能模块,若是则返回执行35,若否则结束流程。 较佳的,所述33与所述34之间还包括有: 331、设置一全局调试节点,所述调试节点输出并显示全部或部分所述报文的信息、所述节点的状态、所述功能模块的状态。也就是说,设置全局调试节点从整体上对流程运行中的各种信息进行监控,以调试便利并在发送异常时可以迅速维护。 较佳的,所述37为:判断所述功能模块是否需要所述报文,若是则执行371,否则执行35 ; 371、设置一调试节点,所述调试节点输出并显示全部或部分进入所述功能模块的所述报文的信息、所述节点的状态、所述功能模块的状态。也就是说,设置调试节点对报文进入功能模块阶段的各种状态进行监控,使得调试进一步的便利。 较佳的,所述功能模块通过一注册接口挂接到所述节点,使得各个所述节点分别与所述功能模块映射。 本专利技术的积极进步效果在于:通过设置调试节点输出显示节点和功能模块的信息等,使得调试、维护更为便利;通过外部的功能模块挂接到链表上各个节点的方式,使得本专利技术有层次且易于移植。 【附图说明】 图1为本专利技术较佳实施例的的流程图。 【具体实施方式】 下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。 实施例1: 图1为本实施例的的流程图,如图1所示,本实施例涉及的包括有以下步骤: 步骤1、创建链表,该链表包含有若干个节点(此处设定为包含有第一节点和第二节点,2个节点),各个节点按顺序排列,第一节点排在第二节点前,位于链表的顶端。 步骤2、将外部的若干个功能模块(此处设定为包含有第一功能模块和第二功能模块,2个功能模块,)调用注册接口挂接到各个节点,建立映射关系,即第一功能模块挂接到第一节点,第二功能模块挂接到第二节点。第一功能模块和第二功能模块具体可以为组播模块、0此?(动态主机设置协议)线路标识模块、03?? (01)611 81101-^68^ ?社1! ?匕8。开放式最短路径优先)模块等2层或3层协议模块。 步骤3、接收报文。 步骤31、设置全局调试节点,调试节点输出并显示全部或部分报文的信息、节点的状态、功能模块的状态,例如 19(1111:611161:^00688 媒体介入控制层)信息等等。 步骤4、判断链表顶端的节点(即第一节点)所映射的功能模块(即第一功能模块)是否可用,即判定处于,若是则执行步骤7,若否则执行步骤5。 步骤5、判断链表中是否还存在其他节点,若是则执行步骤6,否则结束流程。 步骤6、判断下一个节点(即第二节点)所映射的功能模块(即第二功能模块)是否可用,若是则执行步骤7,若否则返回执行步骤5。 步骤7、判断功能模块是否需要报文,若是则执行步骤71,否则执行步骤5。 步骤71、设置调试节点,调试节点输出并显示全部或部分进入功能模块的报文的信息、节点的状态、功能模块的状态。 步骤8、功能模块处理报文。 步骤9、判断报文是否还可以用于其他功能模块,若是则返回执行步骤5,若否则结束流程。 虽然以上描述了本专利技术的【具体实施方式】,但是本领域的技术人员应当理解,这些仅是举例说明,本专利技术的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本专利技术的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本专利技术的保护范围。本文档来自技高网...

【技术保护点】
一种分发包方法,其特征在于,其包括有以下步骤:S1、创建一包含有至少一节点的链表;S2、将各个所述节点分别与外部的功能模块映射;S3、接收一报文;S4、判断所述链表顶端的节点所映射的所述功能模块是否可用,若是则执行S7,若否则执行S5;S5、判断所述链表中是否还存在其他所述节点,若是则执行S6,否则结束流程;S6、判断所述链表中下一个所述节点所映射的所述功能模块是否可用,若是则执行S7,若否则返回执行S5;S7、判断所述功能模块是否需要所述报文,若是则执行S8,否则执行S5;S8、所述功能模块处理所述报文;S9、判断所述报文是否还用于其他功能模块,若是则返回执行S5,若否则结束流程。

【技术特征摘要】
1.一种分发包方法,其特征在于,其包括有以下步骤: 51、创建一包含有至少一节点的链表; 52、将各个所述节点分别与外部的功能模块映射; 53、接收一报文; 54、判断所述链表顶端的节点所映射的所述功能模块是否可用,若是则执行S7,若否则执行S5 ; 55、判断所述链表中是否还存在其他所述节点,若是则执行S6,否则结束流程; 56、判断所述链表中下一个所述节点所映射的所述功能模块是否可用,若是则执行S7,若否则返回执行S5; 57、判断所述功能模块是否需要所述报文,若是则执行S8,否则执行S5; 58、所述功能模块处理所述报文; 59、判断所述报文是否还用于其他功能模块,若是则返...

【专利技术属性】
技术研发人员:吴晓宇
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

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

1