芯片网络的拓扑结构的构建方法及芯片节点与流程

文档序号:16930756发布日期:2019-02-22 20:15阅读:575来源:国知局
芯片网络的拓扑结构的构建方法及芯片节点与流程

本发明涉及芯片网络技术领域,特别涉及一种芯片网络的拓扑结构的构建方法及芯片节点。



背景技术:

随着计算机技术的发展,单个芯片的性能已经难以满足对处理速度的需求。因此,常常需要将多个芯片相互连接,构成一个芯片网络,从而达到提高处理速度的效果。

在芯片网络中,芯片之间的通信需要基于网络的拓扑结构实现,现有的建立网络拓扑结构的方法是,预先设计网络拓扑结构,并将其预置于芯片节点中,然后根据所述网络拓扑结构连接芯片节点。

现有技术的问题在于,基于上述方法构建的芯片网络只能工作在预先设计的网络拓扑结构下,若要部署不同结构的网络,就需要针对每一种网络结构定制对应的芯片,无法灵活的采用同一芯片结构支持多种网络。



技术实现要素:

基于上述现有技术的不足,本申请提出一种芯片网络的拓扑结构的构建方法及芯片节点,以实现构建得到芯片网络的拓扑结构。

为解决上述问题,现提出的方案如下:

本申请第一方面提供了一种芯片网络的拓扑结构的构建方法,包括:

第一芯片节点建立与第二芯片节点的连接;其中,所述第一芯片节点为所述芯片网络中的任一个芯片节点;所述第二芯片节点与第一芯片节点的未建立连接的主端口物理连接;

第一芯片节点利用自身与所述第二芯片节点之间的连接,建立直接连接关系表;其中,所述直接连接关系表用于记录所述第一芯片节点和所述第二芯片节点的连接关系;

所述第一芯片节点通过未使用的主端口,向所述未使用的主端口连接的第二芯片节点发送第一信令;其中,所述第一芯片节点的未使用的主端口用于指代主端口未发送过信令;所述第一信令用于控制所述第二芯片节点执行所述第一芯片节点建立自身的直接连接关系表和发送所述第一信令的动作;

所述第一芯片节点接收所述第二芯片节点反馈的第二信令;其中,所述第二信令由所述第二芯片节点识别出自身所有主端口均非未使用的主端口,向所述第一芯片节点反馈。

可选地,所述第一芯片节点建立与第二芯片节点的连接,包括:

所述第一芯片节点接收第三芯片节点发送的第三信令;其中,所述第三芯片节点与所述第一芯片节点物理连接,且不等于所述第二芯片节点;

所述第一芯片节点建立与所述第二芯片节点的连接。

可选地,所述第一芯片节点建立与第二芯片节点的连接,包括:

所述第一芯片节点识别出自身为初始节点,建立与所述第二芯片节点的连接。

可选地,所述第一信令为多个、且分别对应于所述第一芯片节点中的一个未使用的主端口;其中,所述第一芯片节点向所述第二芯片节点发送第一信令,包括:

所述第一芯片节点利用每一个未使用的主端口,分别向所述未使用的主端口连接的第二芯片节点发送对应的所述第一信令。

可选地,还包括:

所述第一芯片节点接收所述第二芯片节点发送的直接连接关系表;其中,所述第二芯片节点发送的直接连接关系表,用于记录所述第二芯片节点和第三芯片节点的连接关系;所述第三芯片节点与所述第二芯片节点物理连接,且不等于所述第一芯片节点。

本申请第二方面提供了一种芯片节点,所述芯片节点为第一芯片节点,所述第一芯片节点,包括:

第一建立单元,用于建立与第二芯片节点的连接;其中,所述第一芯片节点为所述芯片网络中的任一个芯片节点;所述第二芯片节点与第一芯片节点的未建立连接的主端口物理连接;

第二建立单元,用于利用自身与所述第二芯片节点之间的连接,建立直接连接关系表;其中,所述直接连接关系表用于记录所述第一芯片节点和所述第二芯片节点的连接关系;

发送单元,用于通过未使用的主端口,向所述未使用的主端口连接的第二芯片节点发送第一信令;其中,所述第一芯片节点的未使用的主端口用于指代主端口未发送过信令;所述第一信令用于控制所述第二芯片节点执行所述第一芯片节点建立自身的直接连接关系表和发送所述第一信令的动作;

接收单元,用于接收所述第二芯片节点反馈的第二信令;其中,所述第二信令由所述第二芯片节点在识别出自身的主端口均非未使用端口,向所述第一芯片节点反馈。

可选地,所述第一建立单元,包括:

接收子单元,用于接收第三芯片节点发送的第三信令;其中,所述第三芯片节点与所述第一芯片节点物理连接,且不等于所述第二芯片节点;

第一建立子单元,用于建立与所述第二芯片节点的连接。

可选地,所述第一建立单元,包括:

识别单元,用于识别所述第一芯片节点是否为初始节点;

第二建立子单元,用于所述识别单元识别出第一芯片节点为初始节点,建立与所述第二芯片节点的连接。

可选地,所述第一信令为多个、且分别对应于所述第一芯片节点中的一个未使用的主端口;其中,所述发送单元,包括:

发送子单元,用于利用每一个未使用的主端口,分别向所述未使用的主端口连接的第二芯片节点发送对应的所述第一信令。

可选地,所述接收单元还用于:接收所述第二芯片节点发送的直接连接关系表;其中,所述第二芯片节点发送的直接连接关系表,用于记录所述第二芯片节点和第三芯片节点的连接关系;所述第三芯片节点与所述第二芯片节点物理连接,且不等于所述第一芯片节点。

本申请提供了一种芯片网络的拓扑结构的构建方法及芯片节点。所述芯片网络的拓扑结构的构建方法中,第一芯片节点与未建立连接的第二芯片节点建立连接,并基于连接得到直接连接关系表,如此,第一芯片节点可以依据直接连接关系表得到自身与物理连接的芯片节点之间的拓扑关系。并且,第一芯片节点通过未发送过信令的主端口向该端口连接的第二芯片节点发送第一信令,控制该第二芯片节点收到第一信令后执行上述建立连接并发送第一信令的步骤,因此,第二芯片节点也可以根据自身的直接连接关系表得到自身与物理连接的芯片节点之间的拓扑关系,并通过再发送第一信令而依次控制芯片网络中的其他芯片节点建立自身的直接连接关系表,直至芯片网络中的每一个芯片节点均得到自身的直接连接关系表。如此,通过得到芯片网络中的每一个芯片节点的直接连接关系表的方式,可以得到芯片网络的网络拓扑,不需要预先在芯片中写入网络拓扑结构即可完成芯片网络拓扑结构的构建,因此本申请提供的芯片网络的拓扑结构的构建方法及芯片节点允许芯片网络的结构发生变更,能够支持多种芯片网络结构。

附图说明

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

图1a是本申请实施例公开的一种芯片网络的示意图;

图1b是本申请实施例公开的另一种芯片网络的示意图;

图1c是本申请实施例公开的另一种芯片网络的示意图;

图2是本申请实施例公开的一种芯片网络的拓扑结构的构建方法;

图3是本申请实施例公开的一种芯片节点的结构示意图。

具体实施方式

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

为了更好地理解本申请任一实施例提供的芯片网络的拓扑结构的构建方法,首先需要对芯片网络及其拓扑结构进行简要的说明。

所述芯片网络,请参考图1a、图1b和图1c,是指多个芯片节点通过芯片的端口之间的直接物理连接构成的网络,其中每个芯片节点都有一个在所述芯片网络中唯一的芯片标识符(或者说芯片id)。所述芯片网络中的任意一个芯片节点,都与至少一个芯片节点有直接物理连接。对于任意一个芯片节点,与这个芯片节点有直接物理连接的芯片节点,称为这个芯片节点的邻居芯片节点。

例如,在如图1a所示的一种简单的芯片网络中,芯片节点102是芯片节点101和芯片节点103的邻居芯片节点,芯片节点103和芯片节点101是芯片节点102的邻居节点102,芯片节点104是芯片节点101的邻居芯片节点。

需要说明的是,所述芯片节点,是指构成芯片网络的芯片,所述芯片网络,可以由集成在一块电路板上的多个芯片构成,也可以由多个由芯片控制的设备内的芯片通过数据传输线路连接构成。

还需要说明的是,每个设计好的芯片都有固定数量的端口,两个芯片(记为芯片a和芯片b)之间有直接物理连接,是指,芯片a的某个端口与芯片b的某个端口之间有直接的电气连接。例如,集成在一块电路板上的两个芯片的端口的引脚直接连接,或者,两个设备中的芯片的端口通过数据传输线路连接。也就是说,两个芯片节点之间的连接,可以理解成两个芯片之间通过对应的端口相互连接,芯片a向芯片b发送信息,具体是,芯片a通过与芯片b连接的端口向芯片b发送信息。

所述芯片网络的拓扑结构,仍然参考图1a,可以认为是一种芯片id和芯片在所述芯片网络中的位置之间的映射关系,芯片节点之间的通信,需要依赖于所述芯片网络的拓扑结构进行。芯片节点101、芯片节点102和芯片节点103的id依次是1、2和3,若芯片节点101要与芯片节点103通信,需要知道id为3的芯片节点是id为2的芯片节点的邻居芯片节点,且id为2的芯片节点是自身的邻居芯片节点,然后才能依据这一信息进行通信。也就是说,任意芯片节点在获得整个芯片网络的拓扑结构后,才能根据所述芯片网络中任一芯片的id准确地与该芯片进行通信。

本申请实施例提供了一种芯片网络的拓扑结构的构建方法,下面结合图1a所示的芯片网络进行说明,请参考图2,所述方法包括:

s201、初始化阶段,芯片网络中的芯片节点根据自身的节点类型设置自身的端口。

具体的,步骤s201包括,若芯片节点识别出自身是初始芯片节点,则将自身的所有端口设置为主端口;若芯片节点识别出自身为非初始芯片节点,则将自身的所有端口设置为从端口。

例如:在图1a所示的芯片网络中,芯片节点101预先设置为初始芯片节点,芯片节点102、芯片节点103和芯片节点104设置为非初始芯片节点。因此,在初始化阶段,芯片节点101将自身的所有端口设置为主端口,其他芯片节点将自身的所有端口设置为从端口。

需要说明的是,所述初始芯片节点,是执行本申请提供的方法之前预先设置的。以集成在电路板上的多个芯片为例,所述初始芯片节点,可以在芯片集成至电路板之前,由技术人员预先设置,也可以在所有芯片集成至电路板后,构建芯片网络的拓扑结构之前,通过向其中的某个芯片节点发送外部信号来将其设置为初始芯片节点。

还需要说明的是,初始芯片节点可以是芯片网络中的任意一个芯片节点,也就是说,芯片网络中的所有芯片节点的地位是等同的,在设置初始芯片节点时,芯片网络中的任意一个芯片节点都可以被设置为初始芯片节点。此外,初始芯片节点与非初始芯片节点的结构或写入芯片的程序也没有区别。初始芯片节点和非初始芯片节点,应当理解成,只是芯片节点的某个标识的取值不同,在芯片节点执行预设程序时,根据所述标识的不同取值,具体执行预设程序中的不同分支,而不是,向不同标识的芯片节点写入了不同程序。

s202、芯片节点101向其邻居芯片节点发送连接请求。

芯片节点101在识别出自身为初始节点后,需要与其邻居芯片节点建立连接。具体的,芯片节点101向其邻居芯片节点发送连接请求,连接请求包括发送连接请求的芯片节点的id,即自身的id。

在图1a所示的芯片网络中,芯片节点101的邻居节点包括芯片节点102和芯片节点104。因此,本步骤中,芯片节点101是分别向芯片节点102和芯片节点104发送连接请求。以下仅以图1a所示的芯片网络,芯片节点101、芯片节点102和芯片节点103为实例,对本申请实施例公开的多芯片网络的拓扑结构的构建方法进行说明。

还需要说明的是,在芯片网络中,任意一个芯片节点向自身邻居芯片节点发送连接请求,可以是一次向自身的所有邻居芯片节点发送连接请求,也可以是每次发送连接请求时,都从自身的邻居芯片节点中选择一部分,向其发送连接请求,下次再向另一部分的邻居芯片节点发送连接请求,直到自身与所有邻居芯片节点建立连接为止。并且,任意一个芯片节点都只能通过主端口向邻居节点发送连接请求。

还需要特别指出的是,一个芯片节点在向邻居芯片节点发送连接请求之前,需要确定出该邻居芯片节点并未与自身建立过连接。

s203、芯片节点102向芯片节点101发送连接响应信息。

所述连接响应信息是,收到连接请求的芯片节点对连接请求的响应信息,可以包括,发送所述连接响应信息的芯片节点的id。

需要说明的是,所述芯片网络中的任意一个芯片节点在收到邻居芯片节点发送的连接请求后,都会向所述邻居芯片节点发送连接响应信息。

可以认为,芯片节点101收到芯片节点102的连接响应信息后,就建立了与芯片节点102的连接,得到自身与芯片节点102的连接关系。

s204、芯片节点102记录与芯片节点101的连接关系。

芯片节点102记录与芯片节点101的连接关系,是指在自身的直接连接关系表中记录与芯片节点101的连接关系。

需要说明的是,在自身的直接连接关系表中记录与邻居芯片节点的连接关系,包括:邻居芯片节点的id,收到连接请求的端口,以及所述端口与所述id的对应关系。

可以认为,芯片节点102在收到芯片节点101的连接请求后,就建立了自身与芯片节点101的连接,得到自身与芯片节点101的连接关系。

具体的,步骤s204中,芯片节点102将芯片节点101的id,与芯片节点101物理连接的端口,以及所述端口与芯片节点101的id的对应关系记录在自身的直接连接关系表中。

可选的,步骤s204也可以在步骤s203之前执行,也就是说芯片节点102也可以在发送连接响应信息之前记录所述连接关系。

s205、芯片节点101记录与芯片节点102的连接关系。

同理,芯片节点101记录与芯片节点102的连接关系,是指在自身的直接连接关系表中记录与芯片节点102的连接关系。

具体的,芯片节点101将芯片节点102的id,与芯片节点102物理连接的端口,以及所述端口与芯片节点102的id的对应关系记录在自身的直接连接关系表中。

可以认为,芯片节点101向芯片节点102发送连接请求并获取连接响应信息后,就建立了芯片节点101与芯片节点102的连接,得到自身与芯片节点102的连接关系。所述将连接关系记录在直接连接关系表的动作,也可以认为是利用所述连接关系建立直接连接关系表。

如上述步骤s202和步骤s203所述的芯片节点101向芯片节点102发送连接请求,并接收芯片节点102发送的连接响应信息的过程,可以认为是芯片节点101主动与芯片节点102建立连接的过程。对应的,芯片节点102接收芯片节点101的连接请求,并反馈连接响应信息的过程,也可以认为是芯片节点102被动的与芯片节点101建立连接的过程。

还需要说明的是,在图1a中所示的芯片网络中,芯片节点101除了与芯片节点102建立连接,还会与芯片节点104建立连接,因此,芯片节点101的直接连接关系表中记录有自身与芯片节点102和芯片节点104的连接关系。

由此可以看出:在芯片网络中,每一个芯片节点需要利用自身与其邻居芯片节点之间的连接关系,建立直接连接关系表;其中,所述直接连接关系表用于记录自身和其邻居芯片节点的连接关系。

并且,每一个芯片节点建立的直接连接关系表,记录有自身与邻居芯片节点之间的连接关系,如此,芯片网络中关于本芯片节点的拓扑结构即可根据直接连接关系表确定出。

还需要特别说明的是,步骤s204中,芯片节点102记录与芯片节点101的连接关系,可以选择性执行。在步骤s205中,芯片节点101在自身的直接连接关系表中记录与芯片节点102的连接关系,基本可以通过芯片节点101的直接连接关系表,明确芯片节点101和芯片节点102之间的网络拓扑。因此,芯片节点102可以选择不执行步骤s204。

由此可以得出:在芯片网络中,每一个芯片节点响应其邻居芯片节点发起的建立连接的请求,而发送连接响应信息之前或者之后,可以选择性的执行以下步骤:

利用自身与邻居芯片节点之间的连接关系,建立直接连接关系表;该直接连接关系表用于记录自身与邻居芯片节点之间的连接关系,并且,此处提出的邻居芯片节点是发送建立连接的请求的芯片节点。

s206、芯片节点101向芯片节点102发送信令。

其中,芯片节点101发送的信令,可以称之为第一信令。

在图1a所述的芯片网络中,芯片节点101分别向芯片节点102和芯片节点104发送连接请求,从而与芯片节点102和芯片节点104都建立了连接,那么在步骤s206中,芯片节点101是需要通过与芯片节点102连接的端口向芯片节点102发送信令,且通过与芯片104连接的端口向芯片节点104发送信令。

并且,所述信令只能由初始芯片节点在发送之前生成,芯片网络中的非初始芯片节点只能传递自身接收的信令,而不能生成信令。具体在图1a所示的芯片网络中,芯片节点101是初始芯片节点,生成并发送信令后,芯片节点102、芯片节点103和芯片节点104均只能接收信令,并向其邻居芯片节点传递,而不能生成信令。

可选的,信令可以包括历史路径表和信令标识符。

历史路径表中按时间顺序记载了所述信令经过的节点以及端口。因此,在芯片网络中的初始芯片节点,生成信令后,需要在该信令的历史路径表中记载初始芯片节点的id、以及自身向邻居芯片节点发送信令时所采用的端口。而芯片网络中的的任意一个非初始芯片节点,接收到该信令后,还需要在该信令的历史路径表中记载自身id、接收信令的端口,以及再向邻居芯片节点发送时所采用的端口。

信令标识符可以是一个字符串,用于区分初始芯片节点产生的多种信令,若两个信令不是同一种信令,那么这两个信令的信令标识符就不同,反之,若两个信令是同一种信令,那么这两个信令的信令标识符相同。例如,若初始芯片节点生成了两种信令,记为信令1和信令2,那么信令1的信令标识符就与信令2的信令标识符不同,任一芯片节点收到上述两种信令中的一种后,就可以根据信令中的信令标识符判断所述收到的信令具体是信令1还是信令2。

还需要说明的是,芯片节点101需要分别向芯片节点102和芯片节点104发送信令。因此,芯片节点101可以生成两种不同的信令,分别对应自身的两个邻居芯片节点。具体的,芯片节点101生成信令1,通过自身连接芯片节点102的主端口1向芯片节点102发送;生成信令2,通过自身连接芯片节点104的主端口2向芯片节点104发送。芯片节点101也可以生成一种信令,分别通过连接芯片节点102和芯片节点104的主端口,向芯片节点102和芯片节点104发送。

若芯片节点101只生成了一种信令,但分别向芯片节点102和芯片节点104都发送了这个信令,那么芯片节点102收到的信令和芯片节点104收到的信令中,其历史路径表的内容也是不同的。

具体的,芯片节点101生成上述信令1后,对其进行复制得到两个信令1,然后将这两个信令1分别发送至芯片节点102和芯片节点104,此时芯片节点102和芯片节点104收到的都是信令1,但由于这两个信令1是芯片节点101通过不同的端口发送,因此两个信令1的历史路径表中记载的内容是不同的。

也就是说,这种情况下,芯片节点102收到的信令和芯片节点104收到的信令,属于同一种信令,即两个信令的信令标识符相同,但历史路径表不同,因此是两个不同的信令。可以将芯片节点102收到的信令1记为信令1-2,将芯片节点104收到的信令1记为1-4。其他芯片节点收到上述任一个信令后,可以通过信令标识符识别出收到的信令是信令1,进一步的可以根据其中的历史路径表识别出收到的信令是信令1-2还是信令1-4。

需要特别说明的是,芯片节点101每次发送信令,都需要确保芯片节点101是通过未使用的主端口向邻居芯片节点发送。其中,未使用的主端口是指:芯片节点101未利用该主端口发送过信令,即未发送过信令的主端口。

因此,可以看出:在芯片网络中,初始芯片节点,其邻居芯片节点一般都有多个,并且,初始芯片节点可以建立与其所有邻居芯片节点的连接。针对初始芯片节点连接的多个邻居芯片节点,初始芯片节点发送信令,可以只发送一个信令,也可以发送多个信令。当发送多个信令时,其中的任意两个信令可以同一种信令,也可以不是同一种信令。另外,其中的任意两个信令,即使是同一种信令,由于两个信令是通过不同的端口发送的,这两个信令的历史路径表中的内容也是不同的。

在初始芯片节点生成的信令的数量,少于自身用于连接邻居节点的主端口的数量时,受信令数量的限制,初始芯片节点未能实现一次性发送的信令,全部占用了所有的主端口,这样,在初始芯片节点发送过一次信令后,初始芯片节点就会有已使用主端口和未使用主端口。因此,在初始芯片节点再发送信令,就需要使用未使用主端口发送信令。

如此可以确定,初始初始芯片节点向邻居芯片节点发送信令,是指通过未使用的主端口向邻居芯片节点发送信令。

可选地,若信令为多个、且分别对应于初始芯片节点中的一个未使用的主端口;初始芯片节点利用每一个未使用的主端口,分别向所述未使用的主端口连接的芯片节点发送对应的信令。

s207、芯片节点102收到信令后,判断是否有未连接邻居芯片节点,若有未连接邻居芯片节点,则执行步骤s208,否则执行步骤s213。

可选的,所述判断自身是否有未连接的邻居节点,可以通过判断自身的直接连接关系表中是否存储的id的数量是否等于自身的邻居芯片节点的数量实现。在芯片之间建立物理连接后,对于网络中的每个芯片,自身的邻居芯片节点的数量是已知的,可以认为,对于一个芯片,在这个芯片的端口与另一个芯片的端口建立物理连接后,这个芯片会将这个端口标记为有邻居节点的端口,因此,网络中任意一个芯片节点都记录有自身的邻居芯片节点数量,以及具体是哪些端口与邻居芯片节点连接。

综上所述,任意一个芯片节点收到所述信令后,可以识别自身的直接连接关系表中存储的id的数量,若存储的id的数量少于自身的邻居芯片节点的数量,则判断出自身有未连接的邻居芯片节点,若存储的id的数量等于自身的邻居芯片节点的数量,则判断出自身没有未连接的邻居芯片节点。

在上述实例中,芯片节点102收到芯片节点101发送的第一信令后,读取自身的直接连接关系表中记录的id的数量,此时芯片节点102仅与芯片节点101建立了连接,因此自身的直接连接关系表中仅记录一个id,也就是芯片节点101的id,而芯片节点102有芯片节点101和芯片节点103,共两个邻居芯片节点。记录的id的数量小于芯片节点102的邻居芯片节点的数量,因此,芯片节点102判断出自身有未连接的邻居芯片节点,执行步骤s208。

s208、芯片节点102将自身的未连接端口设置为主端口。

所述自身的未连接端口用于指代,与邻居芯片节点的端口有物理连接,但未与所述邻居芯片节点建立连接,也就是未记录在自身的直接连接关系表中的端口。

可选的,步骤s208可以采用以下方式实现,芯片节点102对比自身的直接连接关系表中记录的端口与自身的有邻居芯片节点的端口,从而查找出自身的有邻居芯片节点,但未记录在所述直接连接关系表中的端口,也就是未与邻居芯片节点连接的端口,然后将所述端口设置为主端口。

可选的,所述将未与邻居芯片节点连接的端口设置为主端口,可以是,芯片节点在第一次收到信令时,就将自身的所有未连接端口设置为主端口,也可以是,芯片节点第一次收到信令时,从自身的多个未连接端口中选择几个设置为主端口,此后每次收到信令时,若自身仍有未连接端口,就继续从未连接端口中选取几个设置为主端口,直到自身没有未连接端口为止。

若芯片节点102与除了芯片节点102和芯片节点103以外的更多芯片节点物理连接,那么芯片节点102执行步骤s208时,可以将与芯片节点103和其他芯片节点物理连接的端口都设置为主端口。

s209、芯片节点102向自身的未连接的邻居芯片节点发送连接请求。

其中,所述连接请求由芯片节点102通过自身的主端口发送。

在上述实例中,执行步骤s208时,芯片节点102的未连接的邻居芯片节点是芯片节点103,步骤s208也可以认为是,向芯片节点103发送信令。

与步骤s202类似,若芯片节点102有多个未连接的邻居芯片节点,也可以向所述多个未连接的邻居芯片节点发送连接请求。

还需要说明的是,芯片节点102不是初始芯片节点,因此,在其接收到其邻居芯片节点101发送的信令后,才执行与自身的其他未连接邻居芯片节点103建立连接。

由此可以看出:在芯片网络中,非初始芯片节点(可以称之为第一芯片节点)接收到其一个邻居芯片节点(可以称之为第三芯片节点)发送的信令(可以称之为第三信令)后,在确定自身有其他未建立连接的邻居芯片节点后(可以称之为第二芯片节点),才会建立与该邻居芯片节点(即第二芯片节点)建立连接。

s210、芯片节点103向芯片节点102发送连接响应信息。

s211、芯片节点103记录自身与芯片节点102的连接关系。

本步骤中,芯片节点103的具体执行方式,可以参考步骤s204的内容,此处不再赘述。并且,该步骤也可以由芯片节点103选择性的执行。

s212、芯片节点102记录自身与芯片节点103的连接关系。

本步骤中,芯片节点102的具体执行方式,可以参考步骤s205的内容,此处也不再赘述。

并且,由步骤s205和步骤s212可以看出:芯片网络中的每一个芯片节点,利用自身与邻居芯片节点的连接关系,建立直接连接关系表,由该表记录自身与邻居芯片节点的连接关系。如此,每一个芯片节点的直接连接关系表的拼接组合后,即可以形成芯片网络的网络拓扑结构。

s213、芯片节点102判断自身是否有未使用的主端口,若自身有未使用的主端口,则执行步骤s214,若自身没有未使用的主端口,则执行步骤s216。

其中,未使用的主端口是指:芯片节点未利用该主端口发送过信令,即未发送过信令的主端口。同理,芯片节点发送过信令的端口即称之为已使用端口。

需要说明的是,在芯片网络中,任意一个非初始芯片节点,其邻居芯片节点一般也都有多个,并且,芯片节点可以建立与其所有邻居芯片节点的连接。但是,在其接收的信令的数量少于芯片节点用于连接邻居节点的主端口的数量时,受信令数量的限制,芯片节点未能实现一次性发送的信令,全部占用了所有的主端口,这样,在芯片节点发送过一次信令后,芯片节点就会有已使用主端口和未使用主端口。因此,在芯片节点发送信令之前,就需要先判断自身是否有未使用的主端口。

在上述实例中,芯片节点102识别出与芯片节点103连接的主端口为未使用主端口,执行步骤s214。

还需要说明的是,判断自身是否有未使用的主端口,可以通过判断主端口的使用标识实现,每个芯片节点在通过自身的一个主端口发送信令后,就将这个主端口的使用标识设置为已使用,当一个芯片节点的所有主端口的使用标识都是已使用时,表明自身的主端口均非未使用的主端口。

s214、芯片节点102通过所述未使用的主端口向对应的邻居芯片节点发送所述信令。

其中,芯片节点102向邻居芯片节点发送的信令,也可以称之为第一信令。

步骤s213和步骤s214中,判断自身是否有未使用的主端口,并在判断出有未使用的主端口后,通过所述未使用的主端口向邻居芯片节点发送信令的过程,是为了确保芯片网络中的每个非初始芯片节点都收到至少一个信令,或者说都至少收到过一次信令。

并且,本实施例中,由步骤s206、以及步骤s213~s214,可以看出:

在芯片网络中,无论是初始芯片节点,还是非初始芯片节点,在向其邻居芯片节点发送信令时,都是通过未使用的主端口向其连接的邻居芯片节点发送。

另外,非初始芯片节点接收到信令(即第三信令)后,再通过未使用的主端口向其连接的邻居芯片节点发送的信令(即第一信令),可以是相同的信令,这里仅仅是为了区分非初始芯片节点接收的信令和对外发送的信令,才分别定义为第三信令和第一信令。

s215、芯片节点103收到信令后,向最早向自身发送信令的芯片节点反馈信令。

在上述实例中,最早向芯片节点103发送所述信令的芯片节点是芯片节点102,因此,芯片节点103向芯片节点102反馈所述信令。

芯片节点103向芯片节点102反馈的信令,可以称之为第二信令。并且,芯片节点103接收的第一信令和反馈的第二信令,可以理解成是同一个信令,仅仅是为了区别芯片节点发送的信令和向邻居节点反馈的信令而分别记为第一信令和第二信令。可选的,芯片节点103向芯片节点102反馈的信令,即第二信令,还可以携带芯片节点103的直接连接关系表。

当然,芯片节点103的直接连接关系表还可以单独向芯片节点102发送,并不携带于其反馈的第二信令中。

其中,芯片节点103的直接连接关系表中记录的是自身与自身的邻居芯片节点的连接关系,因此,再向芯片节点102反馈后,等同于向芯片节点102告知了自身与自身的邻居芯片节点的连接关系,如此,芯片节点102,除明确了自身与自身的邻居芯片节点的连接关系之外,还进一步的明确了自身的邻居芯片节点,与其邻居芯片节点的连接关系。

还需要说明的是,步骤s215是在芯片节点103收到信令后,执行如上述步骤s207和步骤s213所述的判断,并都判断为否后执行的动作,若上述判断中任一项为是,则根据判断结果执行步骤s208至步骤s212或执行步骤s214。即:芯片节点103需要识别出自身与所有的邻居芯片节点均建立有连接,且通过每一个主端口均向邻居芯片节点发送过信令之后,才会向芯片节点102反馈信令。

因此可以看出:芯片网络中的任意一个非初始芯片节点,将自身收到的信令反馈给最早向自身发送所述信令的芯片节点之前,都需要确保自身与自身的邻居节点建立有连接,即自身没有未连接的主端口,还需要确保自身所有的主端口均非未使用的主端口。

并且,芯片网络中的任意一个非初始芯片节点,向最早向自身发送信令的邻居芯片节点反馈信令中,还可以携带自身的直接连接关系表。或者,在确定可以反馈信令后,直接向自身发送信令的邻居芯片节点反馈自身的直接连接关系表。

s216、芯片节点102向最早向自身发送信令的芯片节点反馈信令。

同理,芯片节点102在接收到芯片节点103反馈的信令后,也需要在明确自身没有未连接的主端口,且自身所有的主端口均非未使用的主端口的情况下,才会向芯片节点101反馈信令。

本实施例中,步骤s215和步骤s216提出的芯片节点将信令反馈给最早向自身发送所述信令的邻居芯片节点,是为了使所述信令能够沿着从初始芯片节点传递至自身的路径返回至初始芯片节点,在初始芯片节点接收到反馈的信令后,则可以确定芯片网络的网络拓扑构建完成。也就是说,芯片网络中的每个芯片节点都与自身的邻居芯片节点建立了连接,并将所述连接关系记录在自身的直接连接关系表中。如此,芯片网络中的任意一个芯片节点在需要整个网络的拓扑结构时,都可以通过获取其他芯片节点的直接连接关系表并整合直接连接关系表得到芯片网络的拓扑结构。

并且,反馈给最早向自身发送所述信令的邻居芯片节点,是因为,在一个较复杂的网络中,一个收到信令的芯片节点(记为本地芯片节点),可能向多个邻居芯片节点发送信令,并接收多个邻居芯片节点反馈的信令,因此在本地芯片节点满足上述反馈信令的条件时,可能有多个向本地芯片节点发送信令的邻居芯片节点,为了使本申请实施例提供的方法顺利执行,反馈的对象应该是最初向本地芯片节点发送所述信令的邻居芯片节点。

可选的,所述将信令反馈给最初向自身发送所述信令的邻居芯片节点,可以通过查询所述信令的历史路径表找到最早向自身发送所述信令的邻居芯片节点,然后通过对应的端口反馈。

需要提出的一点是:在网络芯片中,芯片网络中的中间芯片节点,即不属于叶子节点,也不是初始节点的情况下,中间芯片节点向最早向自身发送信令的芯片节点反馈信令中,可以携带自身的直接连接关系表,以及自身接收的反馈信令中携带的直接连接关系表(即自身邻居芯片节点的直接连接关系表)。亦或者,将自身的直接连接关系表和自身接收的反馈信令中携带的直接连接关系表打包反馈。当然,如果中间芯片节点接收的自身邻居芯片节点单独反馈的直接连接关系表,则可以将自身的直接连接关系表、接收的邻居芯片节点的直接连接关系表打包反馈,或者打包携带于反馈的信令中。

还需要提出的一点是:网络芯片中的芯片节点,将至少包括自身的直接连接关系表,向最早向自身发送信令的芯片节点反馈,直至最终反馈到初始芯片节点。初始芯片节点可以依据接收的所有的直接连接关系表,整理得到芯片网络的网络拓扑结构。

基于上述芯片网络的拓扑结构的构建方法,本申请另一实施例提供了一种芯片节点,用于执行上述芯片网络的拓扑结构的构建方法,请参考图3,所述芯片节点包括:

第一建立单元301,用于建立与第二芯片节点的连接;其中,所述第一芯片节点为所述芯片网络中的任一个芯片节点;所述第二芯片节点与第一芯片节点的未建立连接的主端口物理连接。

第二建立单元302,用于利用自身与所述第二芯片节点之间的连接,建立直接连接关系表;其中,所述直接连接关系表用于记录所述第一芯片节点和所述第二芯片节点的连接关系。

发送单元303,用于通过未使用的主端口,向所述未使用的主端口连接的第二芯片节点发送第一信令;其中,所述第一芯片节点的未使用的主端口用于指代主端口未发送过信令;所述第一信令用于控制所述第二芯片节点执行所述第一芯片节点建立自身的直接连接关系表和发送所述第一信令的动作。

接收单元304,用于接收所述第二芯片节点反馈的第二信令;其中,所述第二信令由所述第二芯片节点在识别出自身的主端口均非未使用端口,向所述第一芯片节点反馈。

可选的,所述第一建立单元301包括:

接收子单元,用于接收第三芯片节点发送的第三信令;其中,所述第三芯片节点与所述第一芯片节点物理连接,且不等于所述第二芯片节点;

第一建立子单元,用于建立与所述第二芯片节点的连接。

可选的,所述第一建立单元301包括:

识别单元,用于识别所述第一芯片节点是否为初始节点;

第二建立子单元,用于所述识别单元识别出第一芯片节点为初始节点,建立与所述第二芯片节点的连接。

可选的,所述第一信令为多个、且分别对应于所述第一芯片节点中的一个未使用的主端口;其中,所述发送单元,包括:

发送子单元,用于利用每一个未使用的主端口,分别向所述未使用的主端口连接的第二芯片节点发送对应的所述第一信令。

可选的,所述接收单元还用于:接收所述第二芯片节点发送的直接连接关系表;其中,所述第二芯片节点发送的直接连接关系表,用于记录所述第二芯片节点和第三芯片节点的连接关系;所述第三芯片节点与所述第二芯片节点物理连接,且不等于所述第一芯片节点。

本申请实施例提供的芯片节点中,第一建立单元建立与第二芯片节点的连接,并用第二建立单元依据连接关系建立直接连接关系表,然后用发送单元向第二芯片节点发送信令。进一步的,网络中任意芯片节点在收到信令后都可以作为第一芯片节点用自身的第一建立单元、第二建立单元和发送单元执行上述过程。最终,网络中的任意一个芯片节点都建立了直接连接关系表,并在所述直接连接关系表中记录自身与邻居芯片节点的连接关系,从而可以构建芯片网络的拓扑结构。本申请实施例提供的芯片节点,可以自动构建起网络的拓扑结构,因此仅使用本申请实施例提供的芯片节点,就可以支持多种网络拓扑结构。

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

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