设备数据通信方法、装置、电子设备及存储介质与流程

文档序号:25032887发布日期:2021-05-11 17:03阅读:77来源:国知局
设备数据通信方法、装置、电子设备及存储介质与流程

本发明涉及通讯技术领域,尤其涉及设备数据通信方法、装置、电子设备及存储介质。



背景技术:

目前在本地家庭环境下的设备即时通讯上,可以让设备保持多个连接,进而组成节点网络,每个设备对应一个节点。随着网络节点数量的增加,本地设备间的通讯路径不断被加长。设备发给网络内另一设备的数据往往要经由云端服务器寻址确定路径再下发到设备中,而且设备地址也很冗长,经过重重节点的地址重封装后,会出现有效数据少,无效数据臃肿的情况。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种设备数据通信方法,适用于树状网络中的数据通信,基于树状网络的分叉数确定进位计数制,以此确定节点地址的内容形式,并基于树状网络的层级数建立各节点地址之间的换算关系,使在传输过程中仅需具备目标节点地址,便能够基于换算关系确定源节点到目标节点之间的数据传输路径,无需增加其他节点信息,保持了数据封装的完整性,也不会导致无效数据过于冗长。

本发明还提供一种设备数据通信装置、电子设备及存储介质。

本发明第一方面实施例的设备数据通信方法,所述方法应用于节点之间连接形成的树状网络中,每个节点对应一个设备,节点具备节点地址,节点地址基于所述树状网络的分叉数和层级数确定;所述方法包括:

执行节点确定带有目标节点地址的通信数据,所述执行节点为源节点或中间节点,具备执行节点地址;

执行节点根据所述执行节点地址和所述目标节点地址确定待接收节点,将所述通信数据传输给待接收节点,所述待接收节点为中间节点或目标节点。

本发明实施例提供的设备数据通信方法,还具有以下附加技术特征:

进一步地,所述根据所述执行节点地址和所述目标节点地址确定待接收节点,包括:

根据所述执行节点地址和所述目标节点地址确定执行节点和目标节点在所述树状网络中的层级数;

确定执行节点和目标节点在所述树状网络中的层级数之间的比较结果;

根据目标节点地址和当前树状网络的分叉数确定候选节点地址,所述候选节点地址为目标节点所在树枝中与执行节点同层级的节点的节点地址,所述树枝为根节点到目标节点的链路;

确定执行节点地址与候选节点地址之间的匹配结果;

根据比较结果、匹配结果和在执行节点存储的路由表确定待接收节点。

进一步地,所述根据比较结果、匹配结果和在执行节点存储的路由表确定待接收节点,包括:

确定比较结果为执行节点的层级数小于目标节点的层级数,且确定匹配结果为所述候选节点地址与执行节点地址不同,使执行节点的上级节点作为待接收节点。

进一步地,根据比较结果、匹配结果和在执行节点存储的路由表确定待接收节点,包括:

确定比较结果为执行节点的层级数小于目标节点的层级数,且确定所述候选节点地址与执行节点地址相同,根据在执行节点存储的路由表确定在目标节点所在树枝中的待接收节点。

进一步地,所述根据目标节点地址和当前树状网络的分叉数确定候选节点地址,包括:

根据目标节点地址确定目标节点在所述树状网络中的层级数;

根据目标节点地址、当前树状网络的分叉数和层级数采用第一公式以k个循环次数计算候选节点地址;

其中,第一公式包括:

indexex=indexself-(m-1)*mn+1-b*mn-1+(m-1)*mn

其中,indexex为上级节点的节点地址,indexself为本级节点的节点地址,m为分叉数,n为下级节点的层级数,b取值于1-m,k为正整数。

进一步地,所述根据比较结果、匹配结果和在执行节点存储的路由表确定待接收节点,包括:

确定比较结果为执行节点的层级数大于或等于目标节点的层级数,使执行节点的上级节点作为待接收节点。

进一步地,在根据所述执行节点地址和所述目标节点地址确定待接收节点之前,还包括:

执行节点确定执行节点地址与目标节点地址相同,对通信数据进行处理。

进一步地,所述方法还包括节点地址的确定步骤,包括:

根据当前树状网络的分叉数确定根节点的根节点地址;

根据根节点地址、当前树状网络的分叉数和层级数采用第二公式以s个循环次数计算各节点的节点地址;

其中,第二公式包括:

indexnext=indexself&(~mn)+b*mn-1+(m-1)*mn+1

其中,indexnext为下级节点的节点地址,indexself为本级节点的节点地址,m为分叉数,n为下级节点的层级数,b取值于1-m,s为正整数,&为位与符号,~为位反符号。

本发明第二方面实施例的设备数据通信装置,所述装置应用于节点之间连接形成的树状网络中,每个节点对应一个设备,节点具备节点地址,节点地址基于所述树状网络的分叉数和层级数确定;所述装置包括:

接收模块,用于确定带有目标节点地址的通信数据;

处理模块,用于根据执行节点地址和所述目标节点地址确定待接收节点,将所述通信数据传输给待接收节点,所述待接收节点为中间节点或目标节点;

所述接收模块和所述处理模块所属于执行节点,执行节点为源节点或中间节点,具备执行节点地址。

本发明第三方面的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述设备数据通信方法的步骤。

本发明第四方面的非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述设备数据通信方法的步骤。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

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

图1是本发明设备数据通信方法的流程示意图;

图2是本发明二叉树网络的节点关系示意图;

图3是本发明基于二叉树网络的节点地址关系图;

图4是本发明基于三叉树网络的节点地址关系图;

图5是本发明设备数据通信装置的结构示意图;

图6是本发明电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例用于说明本发明,但不能用来限制本发明的范围。

图1示出了本发明提供的一种设备数据通信方法的流程示意图,该方法应用于节点之间连接形成的树状网络中,该树状网络可为二叉树、三叉树或四叉树等网络。该树状网络可由wifi+ble方式构建,或,由ble方式构建,或由wifi方式构建。在树状网络中,每个节点对应一个设备(如智能冰箱、智能空调、智能电视等),每个节点具备唯一的节点地址。

在本发明中,节点地址以进位计数制完成配置。例如二叉树网络中,节点地址以二进制完成配置;三叉树网络中,节点地址以三进制完成配置,g叉树网络中,节点地址以g进制完成配置。g为正整数。

在树状网络中,当确定分叉数之后,树状网络中每个节点的下级节点的数目均与分叉数相同。由此可知,树状网络一旦构建,网络中所有节点的分叉数视为固定,网络中所存在的最大分叉数和最小分叉数相同。

由于上述提及的节点地址以进位计数制完成配置,故树状网络的分叉数用来决定节点地址的进位计数制。

由于每个节点会按照分叉网络的构建要求向下建立下属节点。故每个节点在树状网络中存有与自身等级所匹配的层级数。例如源节点为0级,则后续的节点依次按序被配置为1、2、3、4、5…n级,n为正整数。

在树状网络中,由根节点作为主机连接二级节点(从机),二级节点再作为主机连接三级节点(从机),每个节点可以连接多个下级节点。如图2所示为二叉树网络的节点关系示意图。从图2中可以看出各节点之间的连接关系,以及各节点在树状网络中的层级。

在本发明中,节点的节点地址基于树状网络的分叉数和层级数确定。在树状网络构建过程中,先配置源节点,此时基于分叉数确定的进位计数,为源节点的地址进行配置。然后再对源节点的下一级节点的地址进行配置。此时的节点地址需要基于源节点的地址为基础,根据源节点的下一级节点在网络中所处于的层级数和预设的计算规则(如计算公式)完成数值计算,从而得到源节点的下一级节点的地址对应的进位计数值,将该进位计数值作为源节点的下一级节点的节点地址。后续源节点的下一级节点的下一级节点,以及再后续的下属节点的节点地址配置依据上述的配置过程所实现。

由此可知,节点的节点地址基于树状网络的分叉数和层级数确定,实际上是以分叉数确定节点地址的表现方式,再以待配置地址的节点的上级节点的节点地址和待配置地址的节点所在的层级数去配置待配置地址的节点的节点地址。

通信数据在树状网络中节点间进行传输。该通信数据由源节点发起,最终传输到目标节点。源节点和目标节点均是树状网络中的节点。

通信数据传输到目标节点,由目标节点进行后续处理。若源节点到目标节点需经过其他节点,则其他节点作为该通信数据对应的传输路径上的中间节点。若源节点到目标节点无需经过其他节点,则该通信数据对应的传输路径上不存在中间节点。

通信数据由源节点发出,以及在中间节点进行再发出,最终到达目标节点。由此可知,在源节点和中间节点上对通信数据的发出处理过程相同。故在本发明中,对该方法的描述以一个节点的执行动作进行描述,在该描述中,对通信数据进行处理的源节点或中间节点统称为执行节点。

如图1所示,该方法包括以下步骤:

11、执行节点确定带有目标节点地址的通信数据,执行节点为源节点或中间节点,具备执行节点地址;

12、执行节点根据执行节点地址和目标节点地址确定待接收节点,将通信数据传输给待接收节点,待接收节点为中间节点或目标节点。

针对步骤11和步骤12,需要说明的是,在本发明中,执行节点接收通信数据。该通信数据中包含目标节点的节点地址,即目标节点地址。同时,执行节点能够获知自身的节点地址,即执行节点地址。

该通信数据在执行节点处进行处理,其处理结果是由执行节点向目标节点发出。在通信数据到达目标节点的过程中,可能存在其他节点进一步的中转。为此,执行节点需根据执行节点地址和目标节点地址确定这些用来中转通信数据的节点,这些节点称为待接收节点,待接收节点为下一次接收通信数据的节点。若当前的执行节点能够直接将通信数据传输到目标节点,则该目标节点为待接收节点。若当前的执行节点不能够直接将通信数据传输到目标节点,则中转通信数据的节点为待接收节点。

从上述对节点地址的描述可知,节点地址是以进位计数制完成配置。为此,在本发明中,执行节点根据执行节点地址和目标节点地址确定待接收节点,实际上是基于进位计数制得到执行节点和目标节点的地址内容去确定待接收节点的地址内容,从而根据地址内容确定待接收节点,然后将通信数据发送到该待接收节点上。接下来,待接收节点作为新的执行节点对通信数据进行后续处理。

本发明提供的设备数据通信方法,适用于树状网络中的数据通信,基于树状网络的分叉数确定进位计数制,以此确定节点地址的内容形式,并基于树状网络的层级数建立各节点地址之间的换算关系,使在传输过程中仅需具备目标节点地址,便能够基于换算关系确定源节点到目标节点之间的数据传输路径,无需增加其他节点信息,保持了数据封装的完整性,也不会导致无效数据过于冗长。

在上述发明的进一步方法中,主要是对根据执行节点地址和目标节点地址确定待接收节点的处理过程进行解释说明,具体如下:

执行节点根据执行节点地址和目标节点地址确定执行节点和目标节点在树状网络中的层级数;

确定执行节点和目标节点在树状网络中的层级数之间的比较结果;

根据目标节点地址和当前树状网络的分叉数确定候选节点地址,候选节点地址为目标节点所在树枝中与执行节点同层级的节点的节点地址,树枝为根节点到目标节点的链路;

确定执行节点地址与候选节点地址之间的匹配结果;

根据比较结果、匹配结果和在执行节点存储的路由表确定待接收节点。

对此,需要说明的是,在本发明中,由于节点地址是基于树状网络的分叉数确定进位计数制,以此确定节点地址的内容形式,并基于树状网络的层级数建立各节点地址之间的换算关系,为此根据节点地址能够确定节点在树状网络中的层级。

执行节点与目标节点的层级,可以看出执行节点与目标节点的所在位置,为此,将执行节点和目标节点在树状网络中的层级数之间的比较,能够说明执行节点是向下的方向确定待接收节点,还是以向上的方向确定待接收节点。

在确定寻找待接收节点的方向之后,根据目标节点地址和当前树状网络的分叉数确定候选节点地址,在本发明中,该候选节点地址为目标节点所在树枝中与执行节点同层级的节点的节点地址,树枝为根节点到目标节点的链路。

然后将执行节点地址和候选节点地址进行匹配,确实这两个节点地址是否是相同的地址,得到匹配结果。

然后,根据比较结果和匹配结果可以得到不同的寻址场景,不同的场景下,会按照不同场景所对应的预设的不同选择方式去确定待接收节点。该选择方式表征在某个场景时,选择待接收节点的依据。

在本发明中,不同的选择方式在选择待接收节点时,可能需要以在执行节点存储的路由表进行辅助,实现确定待接收节点的目的。

在本发明中,路由表存储有网络中节点地址与节点信息的映射关系。只有根节点的路由表存储整个网络中节点地址与节点信息的映射关系,网络中的其他节点仅存储各自下级节点的节点地址与节点信息的映射关系。

为此,在本发明中,根据目标节点地址和当前树状网络的分叉数能够确定目标节点所在树枝上的一些节点的地址,根据这些节点地址与执行节点地址的关系确定待接收节点,或是在确定这些节点地址与执行节点地址的关系之后,再根据在执行节点存储的路由表确定待接收节点。

本发明进一步的方法,采用执行节点与目标节点的层级间的比较结果,确定寻找待接收节点的方向,在特定的方向上寻找待接收节点,能够减少无谓的传输路径。

在上述发明的进一步方法中,主要是对根据比较结果、匹配结果和在执行节点存储的路由表确定待接收节点的处理过程中的解释说明,具体如下:

1)确定执行节点的层级数小于目标节点的层级数,且确定候选节点地址与执行节点地址不同,使执行节点的上级节点作为待接收节点。

存在一种场景,如图2所示为某个树状网络中节点关系示意图。参见图2,节点a为根节点,节点e为执行节点,节点h为目标节点。根据节点e的节点地址和节点h的节点地址确定各自的层级数,分别为2和3。由此可以确定执行节点的层级数小于目标节点的层级数(即2<3,相当于第2层的级别高于第3层的级别),此时根据目标节点地址和当前树状网络的分叉数,以预设的计算公式计算得到目标节点所在树枝中与执行节点同层级的节点的节点地址。

参见图2,节点h所在树枝是a、b、d、h。该树枝上的节点d与节点e属于同一层级,为此,能够计算得到节点d的节点地址。

确定节点d的节点地址与节点e的节点地址不同,此时,需要使执行节点的上级节点b作为待接收节点。

2)确定执行节点的层级数小于目标节点的层级数,且确定候选节点地址与执行节点地址相同,根据在执行节点存储的路由表确定在目标节点所在树枝中的待接收节点。

存在一种场景,如图2所示为某个树状网络中节点关系示意图。参见图2,节点a为根节点,节点b为执行节点,节点h为目标节点。根据节点b的节点地址和节点h的节点地址确定各自的层级数,分别为1和3。由此可以确定执行节点的层级数小于目标节点的层级数(即1<3,相当于第1层的级别高于第3层的级别),此时根据目标节点地址和当前树状网络的分叉数,以预设的计算公式计算得到目标节点所在树枝中与执行节点同层级的节点的节点地址。

参见图2,节点h所在树枝是a、b、d、h。为此,得到目标节点所在树枝中与执行节点同层级的节点只能是节点b,即树枝上的节点的节点地址与执行节点地址相同。

接下来,需要根据在节点b存储的路由表确定在节点h所在树枝中的待接收节点。

节点b存储的路由表包括节点d和节点e的节点地址,节点d在节点h的树枝上。为此,节点d作为待接收节点。

3)确定执行节点的层级数大于或等于目标节点的层级数,使执行节点的上级节点作为待接收节点。

存在一种场景,如图2所示为某个树状网络中节点关系示意图。参见图2,节点a为根节点,节点h为执行节点,节点b为目标节点。根据节点h的节点地址和节点b的节点地址确定各自的层级数,分别为3和1。由此可以确定执行节点的层级数大于目标节点的层级数(即3<1,相当于第3层的级别低于第1层的级别),此时通信数据只能向执行节点的上级节点d发出,上级节点d作为待接收节点。

存在一种场景,如图2所示为某个树状网络中节点关系示意图。参见图2,节点a为根节点,节点d为执行节点,节点e为目标节点。根据节点d的节点地址和节点e的节点地址确定各自的层级数,分别为2和2。由此可以确定执行节点的层级数等于目标节点的层级数(即2=2,相当于两节点处于同一层级),此时通信数据也只能向执行节点的上级节点b发出,上级节点b作为待接收节点。

另外,在根据执行节点地址和目标节点地址确定待接收节点之前,即执行节点接收到通信数据之后,要确定执行节点地址与目标节点地址是否相同,若相同,则说明执行节点就是目标节点,通信数据已传输到位,此时,执行节点可对通信数据进行处理。

本发明进一步的方法,采用执行节点与目标节点的层级间的比较结果,确定寻找待接收节点的方向,在特定的方向上寻找待接收节点,能够减少无谓的传输路径。

在上述发明的进一步方法中,主要是对根据目标节点地址和当前树状网络的分叉数,计算目标节点所在树枝中与执行节点同层级的节点的节点地址的处理过程进行解释说明,具体如下:

根据目标节点地址确定目标节点在树状网络中的层级数;

根据目标节点地址、当前树状网络的分叉数和层级数采用第一公式以k个循环次数计算目标节点所在树枝中与执行节点同层级的节点的节点地址;

其中,第一公式包括:

indexex=indexself-(m-1)*mn+1-

b*mn-1+(m-1)*mn

其中,indexex为上级节点的节点地址,indexself为本级节点的节点地址,m为分叉数,n为下级节点的层级数,b取值于1-m,k为正整数。

存在一种场景,如图2所示为某个树状网络中节点关系示意图。参见图2,节点a为根节点,节点e为执行节点,节点h为目标节点。根据节点h的节点地址确定的层级数为3。基于上述的第一公式,可计算一次即可得到与节点e同一层级的节点d的节点地址。

存在一种场景,如图2所示为某个树状网络中节点关系示意图。参见图2,节点a为根节点,节点c为执行节点,节点h为目标节点。根据节点h的节点地址确定的层级数为3。基于上述的第一公式,可计算两次即可得到与节点c同一层级的节点b的节点地址。

本发明进一步的方法,基于特定的计算方式能够快速的确定目标节点所在树枝中与执行节点同层级的节点的节点地址,便于后续的处理动作的执行。

在上述发明的进一步方法中,主要是对节点地址的确定过程进行解释说明,具体如下:

根据当前树状网络的分叉数确定根节点的根节点地址;

根据根节点地址、当前树状网络的分叉数和层级数采用第二公式以s个循环次数计算各节点的节点地址;

其中,第二公式包括:

indexnext=indexself&(~mn)+b*mn-1+(m-1)*mn+1

其中,indexnext为下级节点的节点地址,indexself为本级节点的节点地址,m为分叉数,n为下级节点的层级数,b取值于1-m,s为正整数,&为位与符号,~为位反符号。

对此,需要说明的是,在本发明中,若当前树状网络的分叉数为m,则根节点地址为2m-2对应的进制编码。如二叉树根节点地址为2m-2=2,即二进制为00000010。

参见图2,根节点a的地址配置之后,根据第二公式计算一次为节点b和节点c进行地址配置,然后根据第二公式计算两次为节点defg进行地址配置,依次类推,直到网络中所有节点的节点地址均配置完成。地址配置完成后,每个节点相应保存有自身的路由表。

本发明进一步的方法,基于特定的计算方式能够快速的为树状网络中的节点配置地址,便于后续的处理动作的执行。

在上述发明的进一步方法中,主要是对节点在树状网络中层级的确定过程进行解释说明,具体如下:

对于家庭环境下的设备间形成的树状网络,每个地址转换成8位的对应进制数即可满足需求,根据8位数的节点地址,从高位计算到第一个非“0”的“0”位数量即为count0,使用以下第三公式可以计算出节点的层级。

n=8-count0-2

本发明进一步的方法,基于特定的计算方式能够专门适应地址的配置方式,快速计算出树状网络中的节点的层级,便于后续的处理动作的执行。

下面以具体实例对上述方法进行整体说明,具体如下:

如图3,从节点a触发构建二叉树网络,并在网络中节点g发布一个通信数据,指向节点l。

1、节点a连接上从机设备,参照第二公式分配地址b(00000101)、c(00000110)。

2、节点b、c分别连接上从机设备,并分配地址d、e、f、g。

3、第2层级四个节点d、e、f、g连接上从机设备,并分配地址h、i、j、k、l、m、n、o。

4、节点l地址解析成二进制为00011000。根据第三公式计算层级为8-3-2=3级。

5、节点g地址解析成二进制为00001110。根据第三公式计算层级为8-4-2=2级。

6、从节点g地址看,通信数据未指向节点g,且l地址层级比节点g低。则计算l地址所在树枝中与节点g同层级的节点的地址。代入第一公式计算出地址为00001100,该地址并非节点g地址。所以将通信数据向节点g的上级地址发布。

7、节点g的上级地址为c00000110。根据第三公式计算层级为1级。

8、从节点c地址看,通信数据未指向节点c,且l地址层级比节点c低。则计算l地址所在树枝中与节点c同层级的节点的地址。代入第一公式计算出地址为00000110,该地址为节点c地址。

9、计算节点l所在树枝中,与节点c的下级地址同层级的节点是否存在于节点c的路由表中。已存在,为节点f00001100,则将通信数据发布给该节点f。

10、节点f的地址为00001100。根据第三公式计算层级为2级。

11、从节点f地址看,通信数据未指向节点f。且l地址层级比节点f低。则计算l地址所在树枝中与节点f同层级的节点的地址。代入公式计算出地址为00001100。该地址为节点f地址。

12、计算节点l所在树枝中,与节点f的下级地址同层级的节点是否存在于节点f的路由表中。已存在,为节点l00011000。则将通信数据发布给该节点l。

13、节点l为通信数据的指向地址。节点l开始处理数据,该通信数据完成了一次最优路径传输。

如图4,从节点a触发构建三叉树网络,节点l发布一个通信数据,指向节点b。

1、节点l地址解析成三进制为00002100,根据第三公式计算层级为8-4-2=2级。

2、目标节点b解析成三进制为00000201,根据第三公式计算层级为8-5-2=1级。

3、从节点l看,通信数据未指向节点l,且节点b层级比节点l高,故直接将通信数据发往上级节点d(00000210)。

4、从节点d地址看,通信数据未指向节点d,且节点b层级与节点d相同,故直接将数据发往上级节点a(00000020)。

5、从节点a地址看,通信数据未指向节点a,节点b层级比节点a层级低。且节点a处于节点b同树枝。计算树枝中节点a下级层级地址,并从节点a的下级路由表中寻到该节点b,将通信数据发往节点b。

6、从节点b看,通信数据指向本身,节点b开始处理数据,该通信数据完成一次最优路径传输。

图5示出了本发明提供的一种设备数据通信装置的结构示意图,该装置应用于节点之间连接形成的树状网络中,每个节点对应一个设备,节点具备节点地址,节点地址基于树状网络的分叉数和层级数确定。参见图5,该装置包括接收模块51和处理模块52,其中:

接收模块51,用于确定带有目标节点地址的通信数据;

处理模块52,用于根据执行节点地址和目标节点地址确定待接收节点,将通信数据传输给待接收节点,待接收节点为中间节点或目标节点;

接收模块和处理模块所属于执行节点,执行节点为源节点或中间节点,具备执行节点地址。

在上述发明的进一步装置中,所述处理模块在根据执行节点地址和目标节点地址确定待接收节点的处理过程中,具体用于:

确定执行节点和目标节点在所述树状网络中的层级数之间的比较结果;

根据目标节点地址和当前树状网络的分叉数确定候选节点地址,所述候选节点地址为目标节点所在树枝中与执行节点同层级的节点的节点地址,所述树枝为根节点到目标节点的链路;

确定执行节点地址与候选节点地址之间的匹配结果;

根据比较结果、匹配结果和在执行节点存储的路由表确定待接收节点。

在上述发明的进一步装置中,该处理模块在根据比较结果、匹配结果和在执行节点存储的路由表确定待接收节点的处理过程中,具体用于:

确定执行节点的层级数小于目标节点的层级数,且确定所述候选节点地址与执行节点地址不同,使执行节点的上级节点作为待接收节点。

或是,确定执行节点的层级数小于目标节点的层级数,且确定所述候选节点地址与执行节点地址相同,根据在执行节点存储的路由表确定在目标节点所在树枝中的待接收节点。

或是,确定执行节点的层级数大于或等于目标节点的层级数,使执行节点的上级节点作为待接收节点。

在上述发明的进一步装置中,该处理模块还用于:确定执行节点地址与目标节点地址相同,对通信数据进行处理。

在上述发明的进一步装置中,该处理模块在根据目标节点地址和当前树状网络的分叉数确定候选节点地址的处理过程中,具体用于:

根据目标节点地址确定目标节点在所述树状网络中的层级数;

根据目标节点地址、当前树状网络的分叉数和层级数采用第一公式以k个循环次数计算候选节点地址;

其中,第一公式包括:

indexex=indexself-(m-1)*mn+1-b*mn-1+(m-1)*mn

其中,indexex为上级节点的节点地址,indexself为本级节点的节点地址,m为分叉数,n为下级节点的层级数,b取值于1-m,k为正整数。

在上述发明的进一步装置中,还包括配置模块,用于:

根据当前树状网络的分叉数确定根节点的根节点地址;

根据根节点地址、当前树状网络的分叉数和层级数采用第二公式以s个循环次数计算各节点的节点地址;

其中,第二公式包括:

indexnext=indexself&(~mn)+b*mn-1+(m-1)*mn+1

其中,indexnext为下级节点的节点地址,indexself为本级节点的节点地址,m为分叉数,n为下级节点的层级数,b取值于1-m,s为正整数,&为位与符号,~为位反符号。

由于本发明的装置与上述发明的方法的原理相同,对于更加详细的解释内容在此不再赘述。

需要说明的是,本发明中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

上述实施例提供的设备数据通信装置,适用于树状网络中的数据通信,采用基于树状网络的分叉数和层级数的地址配置方式对各节点的地址进行配置,使各节点能够根据自身的节点地址和目标节点地址确定数据的传输路径,在传输过程中能够保证数据仅需具备目标节点地址,无需增加其他节点信息,保持了数据封装的完整性,也不会导致无效数据过于冗长。

图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)61、通信接口(communicationsinterface)62、存储器(memory)63和通信总线64,其中,处理器61,通信接口62,存储器63通过通信总线64完成相互间的通信。处理器61可以调用存储器63中的逻辑指令,以执行如下方法:确定带有目标节点地址的通信数据;根据执行节点地址和目标节点地址确定待接收节点,将通信数据传输给待接收节点,待接收节点为中间节点或目标节点,执行节点为源节点或中间节点,具备执行节点地址。

此外,上述的存储器63中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:确定带有目标节点地址的通信数据;根据执行节点地址和目标节点地址确定待接收节点,将通信数据传输给待接收节点,待接收节点为中间节点或目标节点,执行节点为源节点或中间节点,具备执行节点地址。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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