一种RapidIO通信动态管理方法及系统与流程

文档序号:24887318发布日期:2021-04-30 13:10阅读:147来源:国知局
一种RapidIO通信动态管理方法及系统与流程

本发明涉及网络领域,特别是涉及一种rapidio通信动态管理方法及系统。



背景技术:

rapidio技术是一种主要应用于嵌入式系统开放互连的技术,在高性能嵌入式系统应用广泛,其主要有两种数据传输方式,一种是消息传输方式,一种是直接存储器访问(directmemoryaccess,dma)传输方式。消息传输方式优点是传输灵活,缺点是因系统需要频繁响应消息中断导致传输效率低。dma传输方式优点是在分配好的内存空间采用dma传输,因此效率高,缺点是需要预先分配内存空间,因此与硬件资源高度绑定。

一般情况下,用户应用都会采用dma传输方式,实现高效的数据传输。而现有的数据分发服务(datadistributionservice,dds)都是对网络的tcp/ip协议通信支持友好,由于rapidio通信对硬件资源高度绑定,因此对rapidio支持不友好。同时,现有的dds软件实现复杂,很难在高性能嵌入式系统使用。



技术实现要素:

本发明的目的是提供了一种rapidio通信动态管理方法及系统,实现了dds发布订阅机制下rapidio通信的rapidio地址信息的动态管理。

本发明第一方面提供一种rapidio通信动态管理方法,应用于rapidio通信动态管理系统,rapidio通信动态管理系统包括中心节点及至少一个物理节点,方法包括:

中心节点获取并保存所有物理节点的rapidio信息,rapidio信息用于表示对应物理节点进行rapidio通信时可以使用的地址段信息;

当目标物理节点使用数据分发服务dds发布订阅功能时,中心节点获取目标物理节点的发布订阅主题及rapidio映射地址大小;

中心节点根据发布订阅主题对目标物理节点进行匹配,并根据rapidio映射地址大小分配rapidio地址信息,使得目标物理节点与匹配的物理节点根据rapidio地址信息建立rapidio通信。

进一步的,中心节点获取并保存所有物理节点的rapidio信息,包括:

在当前物理节点使用dds发布订阅功能之前,当前物理节点进行初始化,并得到自身的rapidio信息,rapidio信息用于表示当前物理节点进行rapidio通信时可以使用的地址段信息,当前物理节点至少为一个;

当前物理节点根据rapidio信息生成tcp消息,将tcp消息发送至中心节点;

中心节点根据tcp消息确定当前物理节点及rapidio信息,并将当前物理节点对应的rapidio信息保存至数据库。

进一步的,中心节点根据发布订阅主题对目标物理节点进行匹配,并根据rapidio映射地址大小分配rapidio地址信息,包括:

中心节点查找发布订阅主题是否已经发布;

若否,则中心节点生成匹配等待信息,将匹配等待信息发送至目标物理节点;

若是,则中心节点确定已经发布发布订阅主题的物理节点,作为匹配节点;

中心节点根据目标物理节点的rapidio信息、匹配节点的rapidio信息及rapidio映射地址大小,分配rapidio地址信息,使得目标物理节点与匹配的物理节点根据rapidio地址信息建立rapidio通信。

进一步的,中心节点根据目标物理节点的rapidio信息、匹配节点的rapidio信息及rapidio映射地址大小,分配rapidio地址信息,包括:

中心节点根据目标物理节点的rapidio信息及匹配节点的rapidio信息,确定目标物理节点可以进行rapidio通信的目标地址段及匹配节点可以进行rapidio通信的匹配地址段;

中心节点根据rapidio映射地址大小,从目标地址段和匹配地址段中分别选择出rapidio地址段,得到rapidio地址信息。

进一步的,中心节点根据rapidio映射地址大小,从目标地址段和匹配地址段中分别选择出rapidio地址段,得到rapidio地址信息,包括:

中心节点对目标地址段和匹配地址段进行切片,得到地址段切片;

中心节点根据预置规则,按照地址大小对地址段切片进行排序,得到地址段切片信息;

中心节点根据rapidio映射地址大小,从地址段切片信息中选择出目标物理节点和匹配节点对应的最优地址段切片,作为rapidio地址段,从而得到rapidio地址信息。

进一步的,方法还包括:

中心节点将地址段切片信息保存至数据库,并且根据最优地址段切片标示出已使用的rapidio地址段。

进一步的,rapidio通信方式为组播时,方法还包括:

中心节点为所有可以分配的物理节点预分配rapidio地址信息。

进一步的,方法还包括:

当目标物理节点或匹配节点停止使用dds发布订阅功能时,中心节点根据rapidio地址信息,标示出未使用的rapidio地址段;

中心节点将所有未使用的rapidio地址段按照相邻连续地址段合并规则进行合并,并标示为未使用。

进一步的,rapidio通信动态管理系统还包括备份节点,方法还包括:

中心节点根据预设时间向备份节点同步存储信息。

本发明第二方面提供一种rapidio通信动态管理系统,包括:

中心节点及至少一个物理节点,

中心节点用于执行以上第一方面的rapidio通信动态管理方法。

由此可见,本发明的rapidio通信动态管理方法中,中心节点获取并保存所有物理节点的rapidio信息,rapidio信息用于表示对应物理节点进行rapidio通信时可以使用的地址段信息,当目标物理节点使用dds发布订阅功能时,中心节点获取目标物理节点的发布订阅主题及rapidio映射地址大小,中心节点根据发布订阅主题对目标物理节点进行匹配,并根据rapidio映射地址大小分配rapidio地址信息,使得目标物理节点与匹配的物理节点根据rapidio地址信息建立rapidio通信。实现了dds发布订阅机制下rapidio通信的rapidio地址信息的动态管理。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的rapidio通信动态管理方法的一个实施例的流程示意图;

图2为本发明提供的rapidio通信动态管理方法的另一个实施例的流程示意图;

图3为本发明提供的rapidio通信动态管理系统的一个实施例的结构示意图。

具体实施方式

本申请公开了一种rapidio通信动态管理方法及系统,实现了dds发布订阅机制下rapidio通信的rapidio地址信息的动态管理。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

请参考图1,本发明实施例提供一种rapidio通信动态管理方法,包括:

101、中心节点获取并保存所有物理节点的rapidio信息,rapidio信息用于表示对应物理节点进行rapidio通信时可以使用的地址段信息;

102、当目标物理节点使用dds发布订阅功能时,中心节点获取目标物理节点的发布订阅主题及rapidio映射地址大小;

103、中心节点根据发布订阅主题对目标物理节点进行匹配,并根据rapidio映射地址大小分配rapidio地址信息,使得目标物理节点与匹配的物理节点根据rapidio地址信息建立rapidio通信。

本发明实施例中,是基于dds的发布订阅机制,提供以限定长度用户自定义的主题topic在系统中心节点匹配机制,存在一个主中心节点管理所有包含rapidio信息的物理节点,还可以选择配置若干个备份节点。中心节点和备份节点都包含一个轻量级数据库sql,每个物理节点都提供一套统一简单的接口给用户调用,实现简单的对象编程模型,对象编程模型可以创建发布者或者订阅者->发布数据->终止发布者或者订阅者。发布者发布主题,订阅者订阅主题。中心节点获取并保存所有物理节点的rapidio信息,rapidio信息用于表示对应物理节点进行rapidio通信时可以使用的地址段信息,当目标物理节点使用dds发布订阅功能时,中心节点获取目标物理节点的发布订阅主题及rapidio映射地址大小,中心节点根据发布订阅主题对目标物理节点进行匹配,并根据rapidio映射地址大小分配rapidio地址信息,使得目标物理节点与匹配的物理节点根据rapidio地址信息建立rapidio通信。实现了dds发布订阅机制下rapidio通信的rapidio地址信息的动态管理。

可选的,本发明的一些实施例中,中心节点获取并保存所有物理节点的rapidio信息,包括:

在当前物理节点使用dds发布订阅功能之前,当前物理节点进行初始化,并得到自身的rapidio信息,rapidio信息用于表示当前物理节点进行rapidio通信时可以使用的地址段信息,当前物理节点至少为一个;

当前物理节点根据rapidio信息生成tcp消息,将tcp消息发送至中心节点;

中心节点根据tcp消息确定当前物理节点及rapidio信息,并将当前物理节点对应的rapidio信息保存至数据库。

本发明实施例中,在当前物理节点使用dds发布订阅功能,即创建一个基于一个topic的发布者或者订阅者之前,当前物理节点进行信息的初始化,并得到自身的rapidio信息,rapidio信息用于表示当前物理节点进行rapidio通信时可以使用的地址段信息,当前物理节点至少为一个,当前物理节点根据rapidio信息生成传输控制协议(transmissioncontrolprotocol,tcp)消息,将tcp消息发送至中心节点,中心节点根据tcp消息确定当前物理节点及rapidio信息,并将当前物理节点对应的rapidio信息保存至数据库sql,即实现了物理节点的注册。

需要说明的是,在分配了rapidio地址信息之后,也是通过tcp消息通知发布和订阅主题的物理节点。

使用tcp进行通信,不会存在用户数据报协议(userdatagramprotocol,udp)消息丢失的问题,保障管理的rapidio信息在传输过程中可靠。

请参考图2,本发明实施例提供一种rapidio通信动态管理方法,包括:

201、中心节点获取并保存所有物理节点的rapidio信息,rapidio信息用于表示对应物理节点进行rapidio通信时可以使用的地址段信息;

202、当目标物理节点使用数据分发服务dds发布订阅功能时,中心节点获取目标物理节点的发布订阅主题及rapidio映射地址大小;

203、中心节点查找发布订阅主题是否已经发布;若否,执行步骤204;若是,执行步骤205;

204、中心节点生成匹配等待信息,将匹配等待信息发送至目标物理节点;

205、中心节点确定已经发布发布订阅主题的物理节点,作为匹配节点;

206、中心节点根据目标物理节点的rapidio信息、匹配节点的rapidio信息及rapidio映射地址大小,分配rapidio地址信息,使得目标物理节点与匹配的物理节点根据rapidio地址信息建立rapidio通信。

本发明实施例中,中心节点可以在数据库sql中查找发布订阅主题是否已经发布,如果没有发布,则表明是第一次发布或者订阅,那么中心节点生成匹配等待信息,将匹配等待信息发送至目标物理节点,使得目标物理节点等待匹配;如果有发布,则中心节点查找已经发布发布订阅主题的物理节点,作为匹配节点,中心节点根据目标物理节点的rapidio信息、匹配节点的rapidio信息及rapidio映射地址大小,分配rapidio地址信息,使得目标物理节点与匹配的物理节点根据rapidio地址信息建立rapidio通信。

可选的,本发明的一些实施例中,中心节点根据目标物理节点的rapidio信息、匹配节点的rapidio信息及rapidio映射地址大小,分配rapidio地址信息,包括:

中心节点根据目标物理节点的rapidio信息及匹配节点的rapidio信息,确定目标物理节点可以进行rapidio通信的目标地址段及匹配节点可以进行rapidio通信的匹配地址段;

中心节点根据rapidio映射地址大小,从目标地址段和匹配地址段中分别选择出rapidio地址段,得到rapidio地址信息。

本发明实施例中,中心节点根据目标物理节点的rapidio信息,确定目标物理节点可以进行rapidio通信的目标地址段;根据匹配节点的rapidio信息,确定匹配节点可以进行rapidio通信的匹配地址段;中心节点根据rapidio映射地址大小,从目标地址段和匹配地址段中分别选择出rapidio地址段,得到rapidio地址信息。

可选的,本发明的一些实施例中,中心节点根据rapidio映射地址大小,从目标地址段和匹配地址段中分别选择出rapidio地址段,得到rapidio地址信息,包括:

中心节点对目标地址段和匹配地址段进行切片,得到地址段切片;

中心节点根据预置规则,按照地址大小对地址段切片进行排序,得到地址段切片信息;

中心节点根据rapidio映射地址大小,从地址段切片信息中选择出目标物理节点和匹配节点对应的最优地址段切片,作为rapidio地址段,从而得到rapidio地址信息。

本发明实施例中,rapidio通信方式可以包括单播或者组播,中心节点对目标地址段和匹配地址段进行切片,得到地址段切片,中心节点根据预置规则,按照地址大小对地址段切片进行排序,得到地址段切片信息,中心节点根据rapidio映射地址大小,从地址段切片信息中选择出目标物理节点和匹配节点对应的最优地址段切片,作为rapidio地址段,从而得到rapidio地址信息。

需要说明的是,中心节点可以将将地址段切片信息保存至数据库,并且根据最优地址段切片标示出已使用的rapidio地址段。

可选的,本发明的一些实施例中,rapidio通信方式为组播时,方法还包括:

中心节点为所有可以分配的物理节点预分配rapidio地址信息。

本发明实施例中,rapidio通信方式为组播时,中心节点为所有可以分配的物理节点预分配rapidio地址信息,以保证其他物理节点后续订阅相同的主题时可以快速命中预分配rapidio地址信息。

可选的,本发明的一些实施例中,方法还包括:

当目标物理节点或匹配节点停止使用dds发布订阅功能时,中心节点根据rapidio地址信息,标示出未使用的rapidio地址段;

中心节点将所有未使用的rapidio地址段按照相邻连续地址段合并规则进行合并,并标示为未使用。

本发明实施例中,当目标物理节点或匹配节点在收到一个发布者或者订阅者终止订阅或发布主题,即停止使用dds发布订阅功能时,中心节点根据rapidio地址信息,标示出未使用的rapidio地址段,中心节点将数据库sql中所有的未使用的rapidio地址段按照相邻连续地址段合并规则进行合并,并标志为未使用。

可选的,本发明的一些实施例中,rapidio通信动态管理系统还包括备份节点,方法还包括:

中心节点根据预设时间向备份节点同步存储信息。

本发明实施例中,rapidio通信动态管理系统还包括备份节点,主中心节点会按预设时间向其他备份节点广播其数据库sql的所有存储信息,同步相应的信息,保护信息不丢失。

需要说明的是,在发布者和订阅者实现匹配后,发布节点或者订阅节点将依据中心节点分配的rapidio地址信息建立起rapidio通信。通信建立完成后,数据就可以实现dma的发送。在发布者或者订阅者通信结束后,发布节点或订阅节点将使用的地址段释放,并向中心节点通知主题结束发布或主题结束订阅。中心节点依据算法规则回收对应的rapidio地址信息。

请参阅图3,本发明实施例提供一种rapidio通信动态管理系统,包括:

中心节点301及至少一个物理节点302;

中心节点301,用于获取并保存所有物理节点302的rapidio信息,rapidio信息用于表示对应物理节点302进行rapidio通信时可以使用的地址段信息;

中心节点301,还用于当目标物理节点302使用dds发布订阅功能时,获取目标物理节点302的发布订阅主题及rapidio映射地址大小;

中心节点301,还用于根据发布订阅主题对目标物理节点302进行匹配,并根据rapidio映射地址大小分配rapidio地址信息,使得目标物理节点302与匹配的物理节点根据rapidio地址信息建立rapidio通信。

本发明实施例中,是基于dds的发布订阅机制,提供以限定长度用户自定义的主题topic在系统中心节点匹配机制,存在一个主中心节点管理所有包含rapidio信息的物理节点,还可以选择配置若干个备份节点。中心节点和备份节点都包含一个轻量级数据库sql,每个物理节点都提供一套统一简单的接口给用户调用,实现简单的对象编程模型,对象编程模型可以创建发布者或者订阅者->发布数据->终止发布者或者订阅者。发布者发布主题,订阅者订阅主题。中心节点获取并保存所有物理节点的rapidio信息,rapidio信息用于表示对应物理节点进行rapidio通信时可以使用的地址段信息,当目标物理节点使用dds发布订阅功能时,中心节点获取目标物理节点的发布订阅主题及rapidio映射地址大小,中心节点根据发布订阅主题对目标物理节点进行匹配,并根据rapidio映射地址大小分配rapidio地址信息,使得目标物理节点与匹配的物理节点根据rapidio地址信息建立rapidio通信。实现了dds发布订阅机制下rapidio通信的rapidio地址信息的动态管理。

可选的,结合图3所示的实施例,本发明的一些实施例中,

在当前物理节点使用dds发布订阅功能之前,当前物理节点302进行初始化,并得到自身的rapidio信息,rapidio信息用于表示当前物理节点进行rapidio通信时可以使用的地址段信息,当前物理节点至少为一个;

当前物理节点302根据rapidio信息生成tcp消息,将tcp消息发送至中心节点;

中心节点301根据tcp消息确定当前物理节点及rapidio信息,并将当前物理节点对应的rapidio信息保存至数据库。

本发明实施例中,在当前物理节点302使用dds发布订阅功能,即创建一个基于一个topic的发布者或者订阅者之前,当前物理节点进行信息的初始化,并得到自身的rapidio信息,rapidio信息用于表示当前物理节点进行rapidio通信时可以使用的地址段信息,当前物理节点至少为一个,当前物理节点根据rapidio信息生成传输控制协议(transmissioncontrolprotocol,tcp)消息,将tcp消息发送至中心节点,中心节点301根据tcp消息确定当前物理节点及rapidio信息,并将当前物理节点对应的rapidio信息保存至数据库sql,即实现了物理节点的注册。

需要说明的是,在分配了rapidio地址信息之后,也是通过tcp消息通知发布和订阅主题的物理节点。

使用tcp进行通信,不会存在用户数据报协议(userdatagramprotocol,udp)消息丢失的问题,保障管理的rapidio信息在传输过程中可靠。

可选的,结合图3所示的实施例,本发明的一些实施例中,

中心节点301,还用于查找发布订阅主题是否已经发布;

中心节点301,还用于若否,生成匹配等待信息,将匹配等待信息发送至目标物理节点;

中心节点301,还用于若是,确定已经发布发布订阅主题的物理节点,作为匹配节点;

中心节点301,还用于根据目标物理节点的rapidio信息、匹配节点的rapidio信息及rapidio映射地址大小,分配rapidio地址信息,使得目标物理节点与匹配的物理节点根据rapidio地址信息建立rapidio通信。

本发明实施例中,中心节点301可以在数据库sql中查找发布订阅主题是否已经发布,如果没有发布,则表明是第一次发布或者订阅,那么中心节点301生成匹配等待信息,将匹配等待信息发送至目标物理节点,使得目标物理节点等待匹配;如果有发布,则中心节点301查找已经发布发布订阅主题的物理节点,作为匹配节点,中心节点301根据目标物理节点的rapidio信息、匹配节点的rapidio信息及rapidio映射地址大小,分配rapidio地址信息,使得目标物理节点与匹配的物理节点根据rapidio地址信息建立rapidio通信。

可选的,结合图3所示的实施例,本发明的一些实施例中,

中心节点301,还用于根据目标物理节点的rapidio信息及匹配节点的rapidio信息,确定目标物理节点可以进行rapidio通信的目标地址段及匹配节点可以进行rapidio通信的匹配地址段;

中心节点301,还用于根据rapidio映射地址大小,从目标地址段和匹配地址段中分别选择出rapidio地址段,得到rapidio地址信息。

本发明实施例中,中心节点301根据目标物理节点的rapidio信息,确定目标物理节点可以进行rapidio通信的目标地址段;根据匹配节点的rapidio信息,确定匹配节点可以进行rapidio通信的匹配地址段;中心节点301根据rapidio映射地址大小,从目标地址段和匹配地址段中分别选择出rapidio地址段,得到rapidio地址信息。

可选的,结合图3所示的实施例,本发明的一些实施例中,

中心节点301,还用于对目标地址段和匹配地址段进行切片,得到地址段切片;

中心节点301,还用于根据预置规则,按照地址大小对地址段切片进行排序,得到地址段切片信息;

中心节点301,还用于根据rapidio映射地址大小,从地址段切片信息中选择出目标物理节点和匹配节点对应的最优地址段切片,作为rapidio地址段,从而得到rapidio地址信息。

本发明实施例中,rapidio通信方式可以包括单播或者组播,中心节点301对目标地址段和匹配地址段进行切片,得到地址段切片,中心节点301根据预置规则,按照地址大小对地址段切片进行排序,得到地址段切片信息,中心节点根据rapidio映射地址大小,从地址段切片信息中选择出目标物理节点和匹配节点对应的最优地址段切片,作为rapidio地址段,从而得到rapidio地址信息。

需要说明的是,中心节点301可以将将地址段切片信息保存至数据库,并且根据最优地址段切片标示出已使用的rapidio地址段。

可选的,本发明的一些实施例中,

中心节点301,还用于将地址段切片信息保存至数据库,并且根据最优地址段切片标示出已使用的rapidio地址段。

本发明实施例中,rapidio通信方式为组播时,中心节点301为所有可以分配的物理节点预分配rapidio地址信息,以保证其他物理节点后续订阅相同的主题时可以快速命中预分配rapidio地址信息。

可选的,本发明的一些实施例中,

中心节点为所有可以分配的物理节点预分配rapidio地址信息。

可选的,本发明的一些实施例中,

当目标物理节点或匹配节点停止使用dds发布订阅功能时,中心节点根据rapidio地址信息,标示出未使用的rapidio地址段;

中心节点将所有未使用的rapidio地址段按照相邻连续地址段合并规则进行合并,并标示为未使用。

可选的,本发明的一些实施例中,rapidio通信动态管理系统还包括备份节点,中心节点根据预设时间向备份节点同步存储信息。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1