CN113014691A - 节点地址的分配方法及装置 - Google Patents
节点地址的分配方法及装置 Download PDFInfo
- Publication number
- CN113014691A CN113014691A CN202110279941.3A CN202110279941A CN113014691A CN 113014691 A CN113014691 A CN 113014691A CN 202110279941 A CN202110279941 A CN 202110279941A CN 113014691 A CN113014691 A CN 113014691A
- Authority
- CN
- China
- Prior art keywords
- command
- node
- sequence
- target
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种节点地址的分配方法及装置,使节点在接收到地址分配命令时,将第一参数作为该节点的节点地址,所述第一参数为接收到的命令中的命令操作参数,并可依据第一预设掩码及第二预设掩码,确定第一参数中的第一序列及第二序列,应用预设的编号规则对第一参数中的第一序列或第二序列进行更改,得到各个第二参数,生成每个第二参数对应的第二命令,各个第二命令与各个连接端口一一对应,当连接端口符合命令发送规则时,通过该连接端口将其对应的第二命令发送至相连节点。基于本发明的方法,配置节点地址时,通过命令源发送地址分配命令即可,该命令可在节点之间传递并由各节点更改参数,实现各个节点的地址分配,减少了工作量,效率较高。
Description
技术领域
本发明涉及信息技术领域,特别是涉及一种节点地址的分配方法及装置。
背景技术
在工业生产抑或是科学研究等各个领域,存在着大量的数据采集及传输等处理需求。在实际的工程应用中,常常会构建可实现数据采集、传输及分析的数据获取系统,以进行数据处理。数据获取系统通常由多个物理节点组成,由系统的命令源发出的各个命令控制各个物理节点协同工作,实现系统的数据处理功能。
在实现系统功能的过程中,各个物理节点的节点地址是关键的参数之一。在实际的工程应用中,数据获取系统中的各个物理节点之间常常使用光纤、双绞线等介质进行点到点的连接,故在确定节点地址时,不便于使用IP地址作为节点地址,而通常由人工为每个节点设定唯一的节点地址,通过逻辑烧录等方式将各个设定的节点地址分别配置到其对应的节点中。
随着数据处理需求的不断增加,系统中的物理节点数目也随之增多,通过现有的方式为系统中的物理节点分配节点地址,工作量较大,消耗时间较多。
发明内容
有鉴于此,本发明实施例提供了一种节点地址的分配方法,以解决在分配节点地址的过程中,工作量较大,消耗时间较多的问题。
本发明实施例还提供了一种节点地址的分配装置,用以保证上述方法实际中的实现及应用。
为实现上述目的,本发明实施例提供如下技术方案:
一种节点地址的分配方法,所述方法应用于数据获取系统,所述数据获取系统包括多个物理节点,每个所述物理节点中设置有至少一个第一节点,所述方法包括:
将当前接收到第一命令的第一节点确定为目标第一节点,并当所述目标第一节点确定所述第一命令为本地响应命令时,判断所述第一命令是否为地址分配命令;
若所述第一命令为地址分配命令,则将第一参数存储至预设的节点地址寄存器,以将所述第一参数作为所述目标第一节点的节点地址,所述第一参数为所述第一命令中的命令操作参数;
获取第一预设掩码和第二预设掩码,所述第一预设掩码为依据目标层级的层级编号所预先设置的掩码,所述第二预设掩码为依据所述目标层级的下一层级的层级编号所预先设置的掩码,所述目标层级为所述目标第一节点在其对应的系统树状拓扑结构中所处层级;
确定所述第一参数中的第一序列以及第二序列,所述第一序列由所述第一参数中与所述第一预设掩码依次对应的各个二进制位组成,所述第二序列由所述第一参数中与所述第二预设掩码依次对应的各个二进制位组成;
依次应用预设规则组中的各个编号规则对所述第一参数中的所述第一序列或所述第二序列进行修改,得到所述第一参数对应的各个第二参数,并确定每个所述第二参数对应的第二命令,每个所述第二命令中的命令操作参数为其对应的第二参数;
确定每个所述第二命令对应的连接端口,每个所述连接端口与其对应的第一节点相连接;每个所述连接端口对应的第一节点为,所述系统树状拓扑结构中所述目标第一节点的子节点;
判断每个所述第二命令对应的连接端口是否符合命令发送规则,并将符合命令发送规则的连接端口对应的第二命令,确定为待发送的第二命令;
将每个待发送的第二命令发送至其对应的连接端口所对应的第一节点,以便于确定各个所述连接端口对应的第一节点的节点地址。
上述的方法,可选的,所述目标第一节点确定所述第一命令为本地响应命令的过程,包括:
获取所述第一命令中的命令地址,将所述第一命令中的命令地址确定为第一命令地址;
确定所述第一命令地址中的第三序列以及第四序列,所述第三序列由所述第一命令地址中与所述第一预设掩码依次对应的各个二进制位组成,所述第四序列由所述第一命令地址中与所述第二预设掩码依次对应的各个二进制位组成;
依据所述第一命令地址、所述第三序列以及所述第四序列,判断所述第一命令是否与各个预设的本地响应规则相匹配;
若所述第一命令与任意一个所述预设的本地响应规则相匹配,则确定所述第一命令为本地响应命令。
上述的方法,可选的,所述各个预设的本地响应规则包括第一本地响应规则、第二本地响应规则以及第三本地响应规则,所述判断所述第一命令是否与各个预设的本地响应规则相匹配的过程,包括:
分别将所述第一命令与所述第一本地响应规则、第二本地响应规则及所述第三本地响应规则进行匹配;其中:
所述第一命令与所述第一本地响应规则匹配的过程,包括:将所述第一命令地址与预设的全局广播地址进行比对,若所述第一命令地址与所述全局广播地址相同,则确定所述第一命令与所述第一本地响应规则相匹配;
所述第一命令与所述第二本地响应规则匹配的过程,包括:判断所述第三序列中的每个二进制位是否均为一,以及所述第四序列中的每个二进制位是否均为零,若所述第三序列中的每个二进制位均为一,且所述第四序列中的每个二进制位均为零,则确定所述第一命令与所述第二本地响应规则相匹配;
所述第一命令与所述第三本地响应规则匹配的过程,包括:获取当前所述节点地址寄存器中存储的节点地址,并确定第五序列,所述第五序列由所述节点地址寄存器中存储的节点地址中与所述第一预设掩码依次对应的各个二进制位组成;
将所述第三序列与所述第五序列进行比对,若所述第三序列与所述第五序列相同,则判断所述第四序列中的每个二进制位是否均为零;
若所述第四序列中的每个二进制位均为零,则确定所述第一命令与所述第三本地响应规则相匹配。
上述的方法,可选的,所述依次应用预设规则组中的各个编号规则对所述第一参数中的所述第一序列或所述第二序列进行修改,得到所述第一参数对应的各个第二参数的过程,包括:
应用所述预设规则组中的第一编号规则确定所述第一序列对应的第一目标序列,将所述第一参数中的所述第一序列修改为所述第一目标序列,将修改后的第一参数作为所述第一参数对应的第二参数,
以及应用所述预设规则组中的第二编号规则确定所述第二序列对应的多个第二目标序列,针对每个所述第二目标序列,将所述第一参数中的所述第二序列修改为所述第二目标序列,并将修改后的第一参数确定为所述第一参数对应的第二参数;其中:
所述第一编号规则为:对所述第一序列作加一运算,将运算结果确定为所述第一目标序列;
所述第二编号规则为:确定所述目标第一节点对应的预设节点属性,所述预设节点属性用于表征目标节点集合中各个节点的节点类型是否相同,所述目标节点集合中包括所述目标第一节点,以及处于所述目标层级,且与所述目标第一节点属于同一子树的各个第一节点;
若所述预设节点属性表征所述目标节点集合中各个节点的节点类型不相同,则将所述第二序列分别与每个预设端口序号作和运算,将每个运算结果确定为所述第二目标序列。
上述的方法,可选的,还包括:
若所述预设节点属性表征所述目标节点集合中各个节点的节点类型相同,则判断所述目标第一节点是否为命令源节点;
若所述目标第一节点为命令源节点,则将每个所述预设端口序号对应的二进制序列,确定为所述第二目标序列;
若所述目标第一节点不为命令源节点,则确定连接端口的端口总数目,并依据所述端口总数目及所述第一序列,确定每个所述预设端口序号对应的目标序列,并将每个所述预设端口序号对应的目标序列确定为所述第二目标序列。
上述的方法,可选的,所述确定每个所述第二命令对应的连接端口,包括:
将应用所述第一编号规则得到的第二参数所对应的第二命令,确定为同级第二命令,将应用所述第二编号规则得到的每个第二参数所对应的第二命令,确定为下级第二命令;
在各个连接端口中,确定第一连接端口以及各个第二连接端口,所述第一连接端口对应的第一节点为,处于所述目标层级的所述目标第一节点的子节点,每个所述第二连接端口对应的第一节点为,处于所述目标层级的下一层级的所述目标第一节点的子节点;
将所述第一连接端口确定为所述同级第二命令对应的连接端口;
确定每个所述下级第二命令对应的预设端口序号;
将每个所述下级第二命令对应的预设端口序号分别与各个所述第二连接端口进行匹配,并将与所述下级第二命令对应的预设端口序号相匹配的第二连接端口,确定为所述下级第二命令对应的连接端口。
上述的方法,可选的,所述判断每个所述第二命令对应的连接端口是否符合命令发送规则,包括:
判断所述第三序列中的每个二进制位是否均为一,若所述第三序列中的每个二进制位均为一,则确定所述第一连接端口符合命令发送规则,并判断所述第四序列中的每个二进制位是否均为一或是均为零;
若所述第四序列中的每个二进制位均为一,则确定每个所述第二连接端口均符合命令发送规则;
若所述第四序列中的每个二进制位并非均为一,且并非均为零,则将所述第四序列与所述端口总数目作求余运算,将运算结果确定为目标端口序号;
在各个所述第二连接端口中确定所述目标端口序号对应的目标第二连接端口,并确定所述目标第二连接端口符合命令发送规则。
上述的方法,可选的,还包括:
若所述第三序列中的每个二进制位并非均为一,则判断所述第三序列与所述第五序列是否相同;
若所述第三序列与所述第五序列不相同,则确定所述第一连接端口符合命令发送规则;
若所述第三序列与所述第五序列相同,则判断所述第四序列中的每个二进制位是否均为一或是均为零;
若所述第四序列中的每个二进制位均为一,则确定每个所述第二连接端口均符合命令发送规则;
若所述第四序列中的每个二进制位并非均为一,且并非均为零,则将所述第四序列与连接端口的端口总数目作求余运算,将运算结果确定为目标端口序号;
在各个所述第二连接端口中确定所述目标端口序号对应的目标第二连接端口,并确定所述目标第二连接端口符合命令发送规则。
一种节点地址的分配装置,所述装置应用于数据获取系统,所述数据获取系统包括多个物理节点,每个所述物理节点中设置有至少一个第一节点,所述装置包括:
第一判断单元,用于将当前接收到第一命令的第一节点确定为目标第一节点,并当所述目标第一节点确定所述第一命令为本地响应命令时,判断所述第一命令是否为地址分配命令;
存储单元,用于若所述第一命令为地址分配命令,则将第一参数存储至预设的节点地址寄存器,以将所述第一参数作为所述目标第一节点的节点地址,所述第一参数为所述第一命令中的命令操作参数;
第一获取单元,用于获取第一预设掩码和第二预设掩码,所述第一预设掩码为依据目标层级的层级编号所预先设置的掩码,所述第二预设掩码为依据所述目标层级的下一层级的层级编号所预先设置的掩码,所述目标层级为所述目标第一节点在其对应的系统树状拓扑结构中所处层级;
第一确定单元,用于确定所述第一参数中的第一序列以及第二序列,所述第一序列由所述第一参数中与所述第一预设掩码依次对应的各个二进制位组成,所述第二序列由所述第一参数中与所述第二预设掩码依次对应的各个二进制位组成;
第二确定单元,用于依次应用预设规则组中的各个编号规则对所述第一参数中的所述第一序列或所述第二序列进行修改,得到所述第一参数对应的各个第二参数,并确定每个所述第二参数对应的第二命令,每个所述第二命令中的命令操作参数为其对应的第二参数;
第三确定单元,用于确定每个所述第二命令对应的连接端口,每个所述连接端口与其对应的第一节点相连接;每个所述连接端口对应的第一节点为,所述系统树状拓扑结构中所述目标第一节点的子节点;
第二判断单元,用于判断每个所述第二命令对应的连接端口是否符合命令发送规则,并将符合命令发送规则的连接端口对应的第二命令,确定为待发送的第二命令;
发送单元,用于将每个待发送的第二命令发送至其对应的连接端口所对应的第一节点,以便于确定各个所述连接端口对应的第一节点的节点地址。
上述的装置,可选的,还包括:
第二获取单元,用于获取所述第一命令中的命令地址,将所述第一命令中的命令地址确定为第一命令地址;
第四确定单元,用于确定所述第一命令地址中的第三序列以及第四序列,所述第三序列由所述第一命令地址中与所述第一预设掩码依次对应的各个二进制位组成,所述第四序列由所述第一命令地址中与所述第二预设掩码依次对应的各个二进制位组成;
第三判断单元,用于依据所述第一命令地址、所述第三序列以及所述第四序列,判断所述第一命令是否与各个预设的本地响应规则相匹配;
第五确定单元,用于若所述第一命令与任意一个所述预设的本地响应规则相匹配,则确定所述第一命令为本地响应命令。
上述的装置,可选的,所述第三判断单元,包括:
匹配子单元,用于分别将所述第一命令与所述第一本地响应规则、第二本地响应规则及所述第三本地响应规则进行匹配;其中:
所述第一命令与所述第一本地响应规则匹配的过程,包括:将所述第一命令地址与预设的全局广播地址进行比对,若所述第一命令地址与所述全局广播地址相同,则确定所述第一命令与所述第一本地响应规则相匹配;
所述第一命令与所述第二本地响应规则匹配的过程,包括:判断所述第三序列中的每个二进制位是否均为一,以及所述第四序列中的每个二进制位是否均为零,若所述第三序列中的每个二进制位均为一,且所述第四序列中的每个二进制位均为零,则确定所述第一命令与所述第二本地响应规则相匹配;
所述第一命令与所述第三本地响应规则匹配的过程,包括:获取当前所述节点地址寄存器中存储的节点地址,并确定第五序列,所述第五序列由所述节点地址寄存器中存储的节点地址中与所述第一预设掩码依次对应的各个二进制位组成;
将所述第三序列与所述第五序列进行比对,若所述第三序列与所述第五序列相同,则判断所述第四序列中的每个二进制位是否均为零;
若所述第四序列中的每个二进制位均为零,则确定所述第一命令与所述第三本地响应规则相匹配。
上述的装置,可选的,所述第二确定单元,包括:
第一确定子单元,用于应用所述预设规则组中的第一编号规则确定所述第一序列对应的第一目标序列,将所述第一参数中的所述第一序列修改为所述第一目标序列,将修改后的第一参数作为所述第一参数对应的第二参数,其中,所述第一编号规则为:对所述第一序列作加一运算,将运算结果确定为所述第一目标序列;
第二确定子单元,用于应用所述预设规则组中的第二编号规则确定所述第二序列对应的多个第二目标序列,针对每个所述第二目标序列,将所述第一参数中的所述第二序列修改为所述第二目标序列,并将修改后的第一参数确定为所述第一参数对应的第二参数,其中,所述第二编号规则为:确定所述目标第一节点对应的预设节点属性,所述预设节点属性用于表征目标节点集合中各个节点的节点类型是否相同,所述目标节点集合中包括所述目标第一节点,以及处于所述目标层级,且与所述目标第一节点属于同一子树的各个第一节点;若所述预设节点属性表征所述目标节点集合中各个节点的节点类型不相同,则将所述第二序列分别与每个预设端口序号作和运算,将每个运算结果确定为所述第二目标序列。
上述的装置,可选的,所述第二确定子单元,还包括:
第一判断子单元,用于若所述预设节点属性表征所述目标节点集合中各个节点的节点类型相同,则判断所述目标第一节点是否为命令源节点;
第三确定子单元,用于若所述目标第一节点为命令源节点,则将每个所述预设端口序号对应的二进制序列,确定为所述第二目标序列;
第四确定子单元,用于若所述目标第一节点不为命令源节点,则确定连接端口的端口总数目,并依据所述端口总数目及所述第一序列,确定每个所述预设端口序号对应的目标序列,并将每个所述预设端口序号对应的目标序列确定为所述第二目标序列。
上述的装置,可选的,所述第三确定单元,包括:
第五确定子单元,用于将应用所述第一编号规则得到的第二参数所对应的第二命令,确定为同级第二命令,将应用所述第二编号规则得到的每个第二参数所对应的第二命令,确定为下级第二命令;
第六确定子单元,用于在各个连接端口中,确定第一连接端口以及各个第二连接端口,所述第一连接端口对应的第一节点为,处于所述目标层级的所述目标第一节点的子节点,每个所述第二连接端口对应的第一节点为,处于所述目标层级的下一层级的所述目标第一节点的子节点;
第七确定子单元,用于将所述第一连接端口确定为所述同级第二命令对应的连接端口;
第八确定子单元,用于确定每个所述下级第二命令对应的预设端口序号;
第九确定子单元,用于将每个所述下级第二命令对应的预设端口序号分别与各个所述第二连接端口进行匹配,并将与所述下级第二命令对应的预设端口序号相匹配的第二连接端口,确定为所述下级第二命令对应的连接端口。
上述的装置,可选的,所述第二判断单元,包括:
第十确定子单元,用于判断所述第三序列中的每个二进制位是否均为一,若所述第三序列中的每个二进制位均为一,则确定所述第一连接端口符合命令发送规则,并判断所述第四序列中的每个二进制位是否均为一或是均为零;
第十一确定子单元,用于若所述第四序列中的每个二进制位均为一,则确定每个所述第二连接端口均符合命令发送规则;
第十二确定子单元,用于若所述第四序列中的每个二进制位并非均为一,且并非均为零,则将所述第四序列与所述端口总数目作求余运算,将运算结果确定为目标端口序号,并在各个所述第二连接端口中确定所述目标端口序号对应的目标第二连接端口,并确定所述目标第二连接端口符合命令发送规则。
上述的装置,可选的,所述第二判断单元,还包括:
第二判断子单元,用于若所述第三序列中的每个二进制位并非均为一,则判断所述第三序列与所述第五序列是否相同;
第十三确定子单元,用于若所述第三序列与所述第五序列不相同,则确定所述第一连接端口符合命令发送规则;
第三判断子单元,用于若所述第三序列与所述第五序列相同,则判断所述第四序列中的每个二进制位是否均为一或是均为零;
第十四确定子单元,用于若所述第四序列中的每个二进制位均为一,则确定每个所述第二连接端口均符合命令发送规则;
第十五确定子单元,用于若所述第四序列中的每个二进制位并非均为一,且并非均为零,则将所述第四序列与连接端口的端口总数目作求余运算,将运算结果确定为目标端口序号,并在各个所述第二连接端口中确定所述目标端口序号对应的目标第二连接端口,并确定所述目标第二连接端口符合命令发送规则。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的节点地址的分配方法。
一种电子设备,包括存储单元,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储单元中,且经配置以由一个或者一个以上处理单元执行上述的节点地址的分配方法。
基于上述本发明实施例提供的一种节点地址的分配方法,当节点接收到地址分配命令时,可将该命令中的命令操作参数作为第一参数,以作为该节点的节点地址,同时,可依据第一预设掩码及第二预设掩码,确定第一参数中的第一序列及第二序列,以应用预设规则组中的各个编号规则对第一参数中的第一序列或第二序列进行更改,得到第一参数对应的各个第二参数,将每个第二参数作为命令操作参数,生成每个第二参数对应的第二命令,各个第二命令与各个连接端口一一对应,当连接端口符合命令发送规则时,则通过该连接端口将其对应的第二命令发送至该连接端口连接的节点,以便于确定该连接端口所连接节点的节点地址。应用本发明实施例提供的方法,在给系统中各个节点分配节点地址的过程中,通过命令源触发地址分配命令即可,通过系统的命令流传递,当前的节点接收到地址分配命令时,可从该命令中获取当前节点的节点地址,并依据预设的编号规则以及当前的节点地址,确定各个连接端口对应的地址分配命令,并发送至各个连接端口对应的节点,以使连接端口所连接的节点在接收到地址分配命令时,亦可获取该节点的节点地址,且继续按照上述方式向其连接的节点发送地址分配命令,以实现系统中各个节点的节点地址分配。在此过程中,无需由人工为每个节点配置节点地址,工作量较小,消耗时间较少,分配效率较高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据获取系统中命令流模型的示意图;
图2为本发明实施例提供的一种节点地址的分配方法的方法流程图;
图3为本发明实施例提供的一种树状拓扑结构的示意图;
图4为本发明实施例提供的一种预设掩码的结构示意图;
图5为本发明实施例提供的一种节点并联的连接结构示意图;
图6为本发明实施例提供的一种节点串联的连接结构示意图;
图7为本发明实施例提供的一种数据获取系统的节点连接结构示意图;
图8为本发明实施例提供的一种数据获取系统的树状拓扑结构的示意图;
图9为本发明实施例提供的一种数据获取系统的又一节点连接结构示意图;
图10为本发明实施例提供的一种数据获取系统的树状拓扑结构的又一示意图;
图11为本发明实施例提供的一种数据获取系统的结构示意图;
图12为本发明实施例提供的一种数据获取系统中各节点地址分配的示意图;
图13为本发明实施例提供的一种数据获取系统的又一结构示意图;
图14为本发明实施例提供的一种数据获取系统中各节点地址分配的又一示意图;
图15为本发明实施例提供的一种节点地址的分配装置的结构示意图;
图16为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在现有的数据获取系统中,各个节点通常是采用外设部件互连标准(PeripheralComponent Interconnect,PCI)、高速串行计算机扩展总线标准(Peripheral ComponentInterconnect express,PCIe)、VME总线(VersaModule Eurocard)等总线方式进行连接,或直接通过光纤、双绞线、差分电缆等器材进行点到点方式的连接。
在采用PCI、PCIe、VME等总线方式进行连接时,常见的节点地址的分配方式是通过以太网访问总线控制器所在节点,然后由总线控制器在总线上查找连接到总线的节点,通过总线进行配置或直接使用总线(设备)编号为各个连接到总线的子节点分配地址。但是这样的地址分配方法不适用于点到点方式进行连接的节点。而随着高速串行通信技术的发展,在大型数据获取系统中越来越多地使用光纤、双绞线、差分电缆等点到点方式进行节点间的连接。在这样的数据获取系统中,通常需通过手动配置的方式为各个节点分配节点地址,即系统设计者根据系统现有模型,为系统内各节点分配一个唯一的地址,并通过逻辑烧录,脚本读取等初始化方式逐个配置到各软硬件节点。当系统的拓扑结构复杂,且大规模集群化部署节点时,通过上述方式为各个节点分配节点地址,需逐个对节点手动配置地址,费时费力,尤其当系统中存在大量同类型节点时,引入大量重复工作。其次,节点地址不能反映节点所在拓扑位置的变化,从而使得发向节点的控制流的路由判断成为一个难题。另外,以节点为唯一单位的地址分配方式,命令对象往往也局限为单个节点,在树状结构的数据获取系统中不利于进行层次化,集群化的命令管理。
因此,本发明实施例提供了一种节点地址的分配方法,通过系统的命令流在各个节点中传递地址分配命令,实现节点地址的分配,无需手动配置地址,可节省大量时间以及重复工作,提高效率。
本发明实施例提供了一种节点地址的分配方法,所述方法可应用于数据获取系统,其执行主体可以为数据获取系统中节点的处理器。
数据获取系统是一种结合软硬件设备实现数据采集、数据传输及数据分析的系统,往往由多个软硬件对应的物理节点构成,这些物理节点的存在形式可能是包含FPGA或专用芯片的硬件处理设备,或是工作站、机箱服务器等软件处理单元。
本发明实施例提供的方法中,数据获取系统中预先建立了各个节点之间的命令通道,节点发出的命令在处理过程中可基于命令通道以流的形式在系统中传递。图1示出了一种数据获取系统中命令流模型的示意图,如图1所示,系统中包括前端处理系统、子系统1及子系统2,命令流是从命令源节点(Root_CMD)发送到各个底层节点PN的实际命令信息,命令反馈流是来自各个底层节点PN的命令反馈信息。
在图1中,PN表示物理节点,代表真实存在的物理设备,如机箱控制器,工作站,或是包含FPGA的前端探测器数据采集板卡等,FN表示功能节点,代表实际最终需要接收命令的具体功能单元,其存在方式可以是软件系统中的一个进程,或是FPGA中的一个功能模块等等。在每个物理节点中,设置了特殊的功能节点,分别是用于完成命令流的向下发送操作的Map_CMD节点,以及用于完成命令反馈流的合并上传操作的Merge_CMD节点。
每个PN中的Map_CMD节点,负责接收上级节点发送的命令,并根据命令中包含的地址信息,决定是否将命令转发至与其相连接的FN节点进行处理,以及决定是否将命令转发至与其相连接的Map_CMD节点进行处理。通过各个Map_CMD节点的级联,可构建整个数据获取系统的命令网络。通常,系统中的命令来源于命令源节点,并通过Map_CMD节点向下转发。命令源节点发送的命令中包含命令地址以及命令操作参数。命令地址中包括物理节点地址以及物理节点内偏移地址,其中,物理节点地址指明需要对命令进行处理的Map_CMD节点的地址,也是Map_CMD所在的物理节点的地址,而物理节点内偏移地址由当前物理节点内的功能节点编号和在功能节点内部定义的偏移地址组成。命令操作参数也就是与该命令所需触发的操作相关联的命令参数,由具体命令的定义决定。
需要说明的是,图1仅为更好地说明命令流所提供的一个简要示意图,并非实际数据获取系统的完整架构示意图,其中仅示意性地包含系统中的部分架构,图1中并未示出数据获取系统中包含的所有子系统,以及每个子系统中设置的所有物理节点及所有功能节点。此外,图1中所提及的前端处理系统、子系统1及子系统2,仅为一种数据获取系统的具体实施例,并非对数据获取系统的实际子系统进行限定,在具体的实际应用中,可根据实际需求设计数据获取系统的各个子系统。
本发明实施例提供的方法,通过对上述数据获取系统的各个Map_CMD节点进行地址分配,以得到其对应的物理节点的节点地址。本发明实施例提供的节点地址的分配方法的流程图如图2所示,包括:
S101:将当前接收到第一命令的第一节点确定为目标第一节点,并当所述目标第一节点确定所述第一命令为本地响应命令时,判断所述第一命令是否为地址分配命令;
本发明实施例提供的方法中,当需要对数据获取系统中的各个第一节点分配节点地址时,可通过前端处理系统中的命令源节点发送地址分配命令,该命令可通过预先建立的命令通道传输,经过各个第一节点的处理,逐一到达各个需响应该命令的第一节点。本发明实施例中所述第一节点,也就是上文中提及的Map_CMD节点。可将命令源节点发出的地址分配命令中的命令操作参数配置为0,而命令地址配置为全局广播地址。
在系统的运行过程中,将当前接收到第一命令的第一节点,确定为目标第一节点。目标第一节点可根据第一命令中的命令地址确定该命令是否为本地响应命令,当确定第一命令为本地响应命令时,可通过该命令中的命令标识判断该命令的类型是否为地址分配命令。
需要说明的是,本发明实施例中所提及的第一命令仅是为了便于区分表达而使用的命名,并不特指某一类命令,仅表示节点当前接收到的命令。
S102:若所述第一命令为地址分配命令,则将第一参数存储至预设的节点地址寄存器,以将所述第一参数作为所述目标第一节点的节点地址,所述第一参数为所述第一命令中的命令操作参数;
本发明实施例提供的方法中,若目标第一节点当前接收到的命令中的命令标识表征该命令为地址分配命令,则获取第一命令中包含的命令操作参数,将其存储预设的节点地址寄存器,该节点地址寄存器用于存储该第一节点的节点地址。
在本发明实施例提供的数据获取系统中,每个第一节点(Map_CMD节点)中用于存储节点地址的节点地址寄存器对应的功能节点的编号,以及在功能节点内部定义的偏移地址均是一致的取值,以使每个第一节点对应的节点地址寄存器在该节点中具有相同的物理节点内偏移地址,在每个第一节点响应地址分配命令时,可基于相同的物理节点内偏移地址存储节点地址。在节点的初始化阶段,每个第一节点中的节点地址均为0。
S103:获取第一预设掩码和第二预设掩码,所述第一预设掩码为依据目标层级的层级编号所预先设置的掩码,所述第二预设掩码为依据所述目标层级的下一层级的层级编号所预先设置的掩码,所述目标层级为所述目标第一节点在其对应的系统树状拓扑结构中所处层级;
本发明实施例提供的方法中,系统中每个第一节点中均预先配置有第一预设掩码以及第二预设掩码。每个第一节点中配置的第一预设掩码以及第二预设掩码,由该节点在其对应的系统树状拓扑结构中所处的层级所决定。所述系统的树状拓扑结构为数据获取系统对应的树状拓扑结构,该树状拓扑结构为该系统中各个物理节点中的第一节点之间的拓扑连接,为依据该系统的命令流的拓扑连接情况所抽象得到的树状拓扑结构。
图3示出了一种数据获取系统的树状拓扑结构的示意图,如图3所示,在该拓扑结构中,由一个根节点S(系统中的命令源节点)作为起点,递归地向下级联,除了根节点S外,每个节点有且仅有一个前驱节点,除结构中末尾节点外,每个节点有至少一个后续节点,任意两个节点之间仅包含一条直接连接的路径。图中每个圆圈表示系统中的一个第一节点,圆圈中的数字表征该节点所在层级的层级编号。根节点S所在层级为层级编号为0,每个节点所在层级的层级编号由该节点到根节点S之间经过的层级个数确定。
本发明实施例提供的方法中,节点的第一预设掩码及第二预设掩码分别为一串二进制数值,其长度与节点地址的长度相同,也就是与地址分配命令中的命令操作参数的长度相同。这两个掩码的结构如图4所示,通常包含三个字段,为图中所示Nhigh位、Nmiddle位及Nlow位分别对应的字段。掩码设置的原理为将不重合的各段二进制位分别对应给拓扑结构中的各个层级,每个层级对应一段二进制位,每段二进制位中包括至少一个二进制位。对于每个层级而言,通过对该层级对应的二进制位(图中的Nmiddle位)全置一,而其他二进制位(图中的Nhigh位及Nlow位)全置零的方式得到该层级对应的掩码,对于每个层级中的对应同类型物理节点的第一节点而言,将该层级对应的掩码作为该第一节点的第一预设掩码,而将该层级的下一层级对应的掩码作为该第一节点中的第二预设掩码,处于相同层级且对应同类型物理节点的第一节点中设置的第一预设掩码及第二预设掩码是相同的。
需要说明的是,图4中所示结构仅为更好地说明这两个预设掩码所提供的一个实施例,在实际的应用过程中,具体设置的掩码可能不包含图中所示的Nhigh位或是Nlow位,即掩码的首位或是末尾的二进制位的数值可能为一。例如,以二进制表述的情况下,在拓扑结构中处于第一层级的第一节点对应的第一预设掩码为00110000,第二预设掩码为00001100,而处于第二层级的第一节点对应的第一预设掩码为00001100,第二预设掩码为00000011。需要说明的是,本发明实施例提供的方法中所举例的具体掩码,仅为示意性说明,并非对系统的层级个数或是掩码的长度等内容作出限定。
本发明实施例提供的方法中,当目标第一节点接收到地址分配命令时,可获取预先配置的、该节点对应的第一预设掩码及第二预设掩码。第一预设掩码为目标第一节点所处层级对应的掩码,而第二预设掩码则为目标第一节点所处层级的下一层级对应的掩码。
S104:确定所述第一参数中的第一序列以及第二序列,所述第一序列由所述第一参数中与所述第一预设掩码依次对应的各个二进制位组成,所述第二序列由所述第一参数中与所述第二预设掩码依次对应的各个二进制位组成;
本发明实施例提供的方法中,可通过第一预设掩码及第二预设掩码确定第一参数中的第一序列及第二序列,第一序列为第一参数中与第一预设掩码中的置一位依次对应的各个二进制位,而第二序列为第一参数中与第二预设掩码中的置一位依次对应的各个二进制位,例如第一参数为00100000,第一预设掩码为00110000,第二预设掩码为00001100,则参数00100000中标有下划横线的序列为第一序列,标有下划波浪线的序列为第二序列。
S105:依次应用预设规则组中的各个编号规则对所述第一参数中的所述第一序列或所述第二序列进行修改,得到所述第一参数对应的各个第二参数,并确定每个所述第二参数对应的第二命令,每个所述第二命令中的命令操作参数为其对应的第二参数;
本发明实施例提供的方法中,每个第一节点中预先设置有包含各个编号规则的规则组,用于修改地址分配命令中的命令操作参数。
目标第一节点可基于各个编号规则,对第一参数中的第一序列或第二序列进行修改,得到各个第二参数及每个第二参数对应的第二命令,每个第二命令均与目标第一节点接收到第一命令相对应,也就是说每个第二命令均为地址分配命令,每个第二命令的命令地址亦与第一命令的命令地址相同,只是第二命令中的命令操作参数为该第二命令对应的第二参数,是在第一参数的基础上进行修改得到的参数。可将每个第二命令视为第一命令对应的转发命令。在应用编号规则时,会依次应用预设规则组中的每个编号规则,需要说明的是,具体的规则应用顺序不影响本发明实施例提供的方法实现功能。
通常情况下,第一节点对于接收到的命令,在转发过程中不作任何处理,将原有完整的命令信息发送给对应的节点。而对于地址分配命令的转发,则会依据预设的规则修改命令中的命令操作参数,才得到可向其他节点转发的命令信息。
S106:确定每个所述第二命令对应的连接端口,每个所述连接端口与其对应的第一节点相连接;每个所述连接端口对应的第一节点为,所述系统树状拓扑结构中所述目标第一节点的子节点;
本发明实施例提供的方法中,依据系统中预先构建的命令通道,每个第一节点中亦预先配置有多个连接端口,用于连接应接收该节点的命令的各个节点,也就是拓扑结构中该节点的子节点。连接端口亦可视为输出端口,用于发送命令。
目标第一节点可通过每个第二命令中的命令操作参数确定每个第二命令对应的连接端口,在上述应用编号规则得到各个第二参数的过程,实际上是确定各个连接端口所连接的节点的节点地址,各个第二命令与各个连接端口一一对应。
S107:判断每个所述第二命令对应的连接端口是否符合命令发送规则,并将符合命令发送规则的连接端口对应的第二命令,确定为待发送的第二命令;
本发明实施例提供的方法中,目标第一节点可根据第一命令中的命令地址,判断每个连接端口当前是否符合命令发送规则,也就是判断每个连接端口对应的第二命令是否应被发送,将应被发送的第二命令确定为待发送的第二命令。
命令发送规则是用于判断节点是否应转发当前接收到命令,所预先设置的规则,在本发明实施例提供的方法中,地址分配命令对应的各个转发命令为本发明实施例中的各个第二命令。地址分配命令中的节点地址通常为全局广播地址,故地址分配命令根据规则应被发送至系统中的所有节点,故通常每个第二命令对应的连接端口均符合命令发送规则,即每个第二命令均为待发送的第二命令。
S108:将每个待发送的第二命令发送至其对应的连接端口所对应的第一节点,以便于确定各个所述连接端口对应的第一节点的节点地址。
本发明实施例提供的方法中,目标第一节点可基于预先建立的命令通道,将每个待发送的第二命令发送至其对应的端口所对应的第一节点,当该第一节点接收到第二命令时,该第一节点亦会触发本发明实施例提供的方法中的流程,将其接收到的第二命令中的命令操作参数作为该节点的节点地址,并修改该命令中的命令操作参数,向与其相连的节点发送修改后的命令。由此,可实现系统中各个第一节点的节点地址分配,继而可确定各个第一节点对应的物理节点的节点地址。
基于本发明实施例提供的方法,可触发地址分配命令实现节点地址的分配,通过配置地址分配命令的命令地址,可使需要分配地址的节点响应该命令,并按照预定的方式传递该地址分配命令。每个响应地址分配命令的节点,可获取其中的命令操作参数作为节点地址,并按照预设的规则更改地址分配命令中的命令操作参数,获得各个向与其相连接的后续节点发送的地址分配命令,以传递地址分配命令。应用本发明实施例提供的方法,在需为系统中的各个节点分配地址时,工作人员根据实际的分配需求通过命令源节点配置并发送地址分配命令即可,地址分配命令可按照预定的命令流方向在系统中传递,并为各个节点分配其对应的节点地址,无需由人工为每个节点配置节点地址,分配地址的工作量较小,消耗时间较少,工作效率较高。另外,在节点地址的分配过程中,只涉及一条命令流,而不需要各个节点进行信息交互,执行速度较快。
需要说明的是,将地址分配命令中的命令地址配置为全局广播地址,通常是在各个节点未基于地址分配命令获得节点地址时的常规配置,在系统曾执行过全局的地址分配命令后,若后续系统节点的连接情况发生变化,需重新分配地址时,可仍以全局广播地址发送地址分配命令,也可以针对存在连接变动的节点位置,以局部广播地址等其他地址作为命令地址发送地址分配命令,使需分配地址的节点能够响应地址分配命令即可,不影响本发明实施例提供的方法实现功能。
为了更好地说明本发明实施例提供的方法,本发明实施例结合图5~图10说明本发明实施例中提及的系统树状拓扑结构。
本发明实施例中的数据获取系统中,每个物理节点包括一个或多个第一节点(也就是结合图1所示结构中的Map_CMD节点),通常一个物理节点中仅包含一个第一节点,该第一节点可连接该物理节点中的各个功能节点。而本发明实施例提供的系统中,为便于地址管理,在某些物理节点中插入了虚拟的第一节点,虚拟的第一节点亦可执行图2所示流程,但其在物理节点中并未连接除了第一节点外的其他功能节点。通过本发明实施例提供的方法,真实的第一节点以及虚拟的第一节点均可分配得到一个对应的节点地址,但仅有真实的第一节点连接物理节点中的功能节点,故当一个物理节点中包含一个真实的第一节点和至少一个虚拟的第一节点时,以其真实的第一节点对应的节点地址,作为该物理节点的节点地址。
在系统树状拓扑结构的层级划分中,通常将同种类型的物理节点中设置的第一节点,划分至相同的层级。同种类型的物理节点指的是采用完全相同的软硬件设计,实现相同的功能,并且到上级节点采用相同的连接方式的一系列物理节点,如多个完全相同的前端电子学读出模块。常见的同类型的物理节点的第一节点在同一层级中可由并联方式或串联方式进行连接。图5示出了节点以并联方式连接的示意图,而图6示出了节点以串联方式连接的示意图。在图5与图6中,圆圈标识第一节点,字母a与b表征该第一节点对应的物理节点类型。在并联方式中,由上级物理节点a中的第一节点同时连接各个下级物理节点b中的各个第一节点。在串联方式中,由上级物理节点a中的第一节点,依次连接到每个下级物理节点b中的第一节点,可见,同类型的物理节点b对应的各个第一节点被设置在相同的层级,均对应相同的层级编号。
为了保障地址分配过程中,地址分配的唯一性,该树状拓扑结构是基于一定的规则进行确定的。在本发明实施例提供的系统树状拓扑结构中,对应同类型物理节点的各个第一节点可向前追溯到同一个前驱节点。若存在对应不同类型物理节点的多个第一节点,当对应每个类型物理节点的第一节点仅有一个时,这些第一节点才能连接到同一个前驱节点,也就是通常情况下,对应不同类型物理节点的各个第一节点不能直接连接到同一个前驱节点。为了满足系统树状拓扑结构的这些要求,在确定系统树状拓扑结构时,需对实际的数据获取系统中的各个节点进行抽象处理,且有时需要插入虚拟的第一节点。接下来举例说明在具体应用中,将实际的数据获取系统抽象为树状拓扑结构的处理过程中的一些特殊处理。
图7示出一种非树状结构的数据获取系统的节点连接结构示意图,图8示出一种与图7所示结构相对应的树状拓扑结构的示意图。在图7中,每个圆圈表征一个物理节点,圆圈中的字母表征该物理节点的类型,而图8中每个圆圈表征物理节点中的第一节点,圆圈中的字母亦表征其对应的物理节点的类型,图中顶端数值为层级编号。需要说明的是,图7与图8中的具体字母仅为便于表达而进行的命名,并不与图5和图6所示结构中的节点有任何关联关系,图7与图8所示结构与图5及图6所示结构为相互独立的结构。
当系统中存在多个节点作为命令源发送命令时,在拓扑中仅当成一个广义命令源节点处理,使其共享一个节点地址。如图7所示结构中,存在多个a类型节点作为命令源节点(命令源节点仅发送命令,不接收来自系统的任何信息),如图8所示,在其对应的拓扑结构中,将各个a类型节点以及O号节点当做了一个节点s(广义命令源节点)处理。
当系统中多个节点之间的连接具有可以互相访问的网络结构时,如基于以太网互联的各个节点,对于这些节点接收其他节点命令通道仅保留一条路径,根据实际节点的类型将其抽象到一个树状结构下,如图7所示结构中,b类型节点以及c类型节点属于可互相访问的网络连接结构,如图8所示,在拓扑结构中分别将这两类型的节点抽象为一个子树的叶子节点。
当系统中有某个节点下(如图7中的O号节点)有多个不同类型的下级节点、且至少有一种类型的下级节点个数超过一个时,在每一种下级节点个数超过一个的类型的下级节点之前插入一个虚拟的第一节点(如图8中的i类型节点,虚拟节点不挂载本地功能节点,这两个i类型节点配置在O号节点中),然后将这些虚拟的第一节点连接到此节点中真实的第一节点上。在图8所示结构中,物理节点O中包含三个第一节点,即节点s以及两个i类型节点,此时使用s节点的节点地址作为该物理节点地址。
进一步的,图9示出又一种数据获取系统中的节点连接结构示意图,而图10示出一种与图9所示结构相对应的树状拓扑结构的结构示意图。图9中各图元含义与图7中的含义相同,图10中各图元的含义与图8中的含义相同,可参见上述说明。需要说明的是,图9与图10中的具体字母仅为便于表达而进行的命名,并不与图5、图6、图7及图8所示结构中的节点有任何关联,图9与图10所示结构,与图5、图6、图7及图8所示结构为相互独立的结构。
在图9中具有多个同种功能的物理节点,即b类型节点,最左侧的b类型节点到前级节点采用并联方式连接,而其余b类型节点到前级节点采用串联方式连接,在这种情况下,在并联连接的b类型节点之前插入一个虚拟的第一节点,该虚拟节点具体配置在a类型节点对应的物理节点中,其对应的拓扑节点即如图10所示,此时,物理节点a中包含四个第一节点,使用节点a1的节点地址作为该物理节点的节点地址。
另外,当系统中多个节点之间的连接为具有一个主节点和多个从节点的总线型结构(如PCI总线上挂载的多个外围设备)时,将主节点和其他从节点之间的总线连接抽象为主节点到多个从节点的多个点到点连接以构建树状拓扑结构。
基于上述处理的原理,通常可将数据获取系统中的各个第一节点的连接关系抽象成图3所示的树状拓扑结构。
基于本发明实施例提供的方法,可将以总线型、点到点型或网络型多种连接方式的数据获取系统,统一抽象为点到点连接的树状拓扑结构,可采用本发明实施例提供的节点地址的分配方法实现节点地址的分配。
为了更好地说明本发明实施例提供的方法中所提及的第一预设掩码以及第二预设掩码,接下来对系统中各个第一节点中预设的两个掩码的设置作举例说明。
本发明实施例提供的方法中,在拓扑结构中处于相同层级,且对应相同类型物理节点的第一节点中可配置相同的第一预设掩码以及第二预设掩码,这两类掩码的总位宽均相同。
系统中掩码的预估总位宽可根据以下公式计算确定:
预估总位宽=[log2(L1+2)]+[log2(L2+2)]+...+[log2(Ln+2)]
其中,Ln表示层级n中分布在各个子树上所有同类型节点总个数,加2主要是同一层级保留(全置1或全置0)节点地址的个数。公式中的[x]表示对x向上取整,取整后的各项分别表示各层级所需的掩码位数。可选的,针对某一层级下只存在唯一节点的情况,为减少掩码位宽的分配,该层级所需的掩码位宽可无需采用上述计算规则,可取固定值1。在系统中设置的掩码的总位宽应大于等于上述预估总位宽。
在系统中设置的各个掩码,在非最底层节点所在的层级中,该层级的第二预设掩码,为其下一层级的第一预设掩码,最底层节点所在层级中的第二预设掩码,可配置为各位均为“0”的掩码。
各个层级中的各个第一节点中配置的掩码,随着其所在子树单独计算和划分,在同一层级的不同子树中的第一节点定义有不同的掩码,但它们的共同的前驱节点在各自的定义方式下具有相同的掩码。结合图4所示的结构,在层级n对应的第一预设掩码中,Nmiddle字段宽度应大于等于[log2(Ln+2)]。
在具体的实现过程中,可选的,可采用以下方式设置掩码:定义每一层级的第一预设掩码的Nmiddle字段宽度均为[log2(Ln+2)],其Nhigh字段宽度为其上各层级对应的Nmiddle字段宽度之和,其Nlow字段宽度为掩码总位宽减去Nmiddle字段宽度和Nhigh字段宽度。最底层节点的第二预设掩码中的各位设置为0。
基于本发明实施例提供的掩码的设置方式,可最大限度的减少位宽分配,节省资源。另外,每个第一节点中配置的第一预设掩码以及第二预设掩码,实际上反映了其在拓扑结构中的位置。在系统需增加节点或删除节点时,在不影响系统拓扑层级的情况下,无需对原有节点进行配置修改,只需为新节点配置其对应的掩码,就可纳入系统通过地址分配命令为其分配地址,具有很高的灵活性。
为了更好地说明本发明实施例提供的节点地址的分配方法,本发明实施例提供了又一节点地址的分配方法,在图2所示方法的基础上,本发明实施例提供的方法中,步骤S101中提及的确定第一命令为本地响应命令的过程,包括:
获取所述第一命令中的命令地址,将所述第一命令中的命令地址确定为第一命令地址;
本发明实施例提供的方法中,系统中的每个第一节点预先配置有本地响应的规则,用于判断是否将接收到的命令(不限于地址分配命令,而是节点接收到的任何命令)转发至该命令的命令地址中包含的物理节点内偏移地址指定的功能节点。
本发明实施例提供的方法中的目标第一节点在接收到命令时,可获取该命令中的命令地址,作为本发明实施例中的第一命令地址。
确定所述第一命令地址中的第三序列以及第四序列,所述第三序列由所述第一命令地址中与所述第一预设掩码依次对应的各个二进制位组成,所述第四序列由所述第一命令地址中与所述第二预设掩码依次对应的各个二进制位组成;
本发明实施例提供的方法中,基于目标第一节点中预先设置的第一预设掩码以及第二预设掩码,确定第一命令地址中对应的第三序列以及第四序列,第一命令地址中的第三序列也就是该命令地址中位置与第一预设掩码中的Nmiddle字段相对应的字段,第四序列也就是该命令地址中位置与第二预设掩码中的Nmiddle字段相对应的字段。
依据所述第一命令地址、所述第三序列以及所述第四序列,判断所述第一命令是否与各个预设的本地响应规则相匹配;
本发明实施例提供的方法中,目标第一节点中预设有各个本地响应规则,其中规定了该节点应在本地处理的命令的命令地址应符合的条件。通过第一命令地址以及其中的第三序列与第四序列,分别与各个预设的本地响应规则进行匹配,以判断当前的命令是否应在本地进行处理。
若所述第一命令与任意一个所述预设的本地响应规则相匹配,则确定所述第一命令为本地响应命令。
本发明实施例提供的方法中,若是通过命令地址信息与各个本地响应规则进行匹配,若是与任意一个本地响应规则相匹配,也就是当前接收到的命令属于在本地进行处理的其中一类命令。
基于本发明实施例提供的方法,可在本发明实施例提供的方法所分配的节点地址的基础上,可对应配置命令在本地进行处理的规则,可在系统中运行过程中,按照由本方法得到的节点地址配置系统命令,使其可得到命令地址指向的节点的响应。
进一步的,在上述方法的基础上,本发明实施例提供了又一种节点地址的分配方法,其中,各个预设的本地响应规则包括第一本地响应规则、第二本地响应规则以及第三本地响应规则,所述判断所述第一命令是否与各个预设的本地响应规则相匹配的过程,包括:分别将所述第一命令与所述第一本地响应规则、第二本地响应规则及所述第三本地响应规则进行匹配;
所述第一命令与所述第一本地响应规则匹配的过程,包括:将所述第一命令地址与预设的全局广播地址进行比对,若所述第一命令地址与所述全局广播地址相同,则确定所述第一命令与所述第一本地响应规则相匹配;
本发明实施例提供的方法中,预设有全局广播地址,全局广播地址表征该命令应在系统中的所有物理节点进行本地处理。本发明实施例提供的方法中,预设的全局广播地址为节点地址中的每个二进制位均为一的地址,将第一命令地址与预设的全局广播地址进行比对,也就是判断第一命令地址中的各个二进制位是否均为一。若第一命令地址与预设的全局广播地址相同时,则意味着第一命令为全局广播命令,需在本地进行处理。
所述第一命令与所述第二本地响应规则匹配的过程,包括:判断所述第三序列中的每个二进制位是否均为一,以及所述第四序列中的每个二进制位是否均为零,若所述第三序列中的每个二进制位均为一,且所述第四序列中的每个二进制位均为零,则确定所述第一命令与所述第二本地响应规则相匹配;
本发明实施例提供的方法中,通过判断第三序列中的每个二进制位是否均为一,第四序列中的每个二进制是否均为零,也就是判断第一命令地址中对应第一预设掩码中的Nmiddle字段的字段是否均为一,第一命令地址中对应第二预设掩码中的Nmiddle字段的字段是否均为零,当第三序列中的每个二进制位均为一,第四序列中的每个二进制均为零时,说明该第一命令为目标第一节点对应的局部广播命令,需在本地进行处理。
所述第一命令与所述第三本地响应规则匹配的过程,包括:获取当前所述节点地址寄存器中存储的节点地址,并确定第五序列,所述第五序列由所述节点地址寄存器中存储的节点地址中与所述第一预设掩码依次对应的各个二进制位组成;将所述第三序列与所述第五序列进行比对,若所述第三序列与所述第五序列相同,则判断所述第四序列中的每个二进制位是否均为零;若所述第四序列中的每个二进制位均为零,则确定所述第一命令与所述第三本地响应规则相匹配。
本发明实施例提供的方法中,基于当前节点地址寄存器中存储的节点地址,判断当前接收到的命令中的命令地址是否符合本地处理的规则,在系统未触发过地址分配命令时,每个节点的节点地址寄存器中存储的默认节点地址为0,而在系统触发过地址分配命令后,当前节点地址寄存器中存储的节点地址则为该节点当前最后一次处理地址分配命令过程中得到的节点地址。
判断第三序列与第五序列是否相同,也就是判断第一命令地址与本地保存的节点地址对应于第一预设掩码的Nmiddle字段的字段是否相同,判断第四序列中的每个二进制位是否均为零,也就是判断第一命令地址中对应第二预设掩码的Nmiddle字段的字段是否均为零,若第三序列与第五序列相同,且第四序列中的每个二进制位均为零,则说明该命令为该节点的点播命令,需要在本地进行处理。
基于本发明实施例提供的方法,可分别应用规则判断当前接收到的命令是否为全局广播命令、该节点的局部广播命令或是点播命令,以便进行本地处理。
为了更好地说明本发明实施例提供的方法中,第一节点对于地址分配命令的处理,在上述实施例的基础上,本发明实施例提供了又一种地址分配方法,其中,步骤S105中所提及依次应用预设规则组中的各个编号规则对所述第一参数中的所述第一序列或所述第二序列进行修改,得到所述第一参数对应的各个第二参数的过程,包括:
应用所述预设规则组中的第一编号规则确定所述第一序列对应的第一目标序列,将所述第一参数中的所述第一序列修改为所述第一目标序列,将修改后的第一参数作为所述第一参数对应的第二参数,以及应用所述预设规则组中的第二编号规则确定所述第二序列对应的多个第二目标序列,针对每个所述第二目标序列,将所述第一参数中的所述第二序列修改为所述第二目标序列,并将修改后的第一参数确定为所述第一参数对应的第二参数;
本发明实施例提供的方法中,确定第一参数对应的各个第二参数的过程,实际上是确定与目标第一节点相连接的各个节点的节点地址的过程,本发明实施例中通过第一编号规则确定目标第一节点的同级节点的节点地址,通过第二编号规则确定目标第一节点的下级节点的节点地址。在本发明实施例提供的拓扑结构中,每个第一节点最多仅连接一个同级节点,可同时连接多个下级节点,应用第一编号规则仅得到一个第二参数,而应用第二编号规则可得到多个第二参数。
本发明实施例提供的方法中,第一编号规则为对所述第一序列作加一运算,将运算结果确定为所述第一目标序列,将第一参数中的第一序列修改为第一目标序列,得到预分配给目标第一节点的同级节点的节点地址。例如第一参数为00010000,其中标有下划线的部分为其中的第一序列,按照规则应将第一序列修改为0010,即得到第二参数00100000。
本发明实施例提供的方法中,所述第二编号规则为:确定目标第一节点对应的预设节点属性,所述预设节点属性用于表征目标节点集合中各个节点的节点类型是否相同,所述目标节点集合中包括目标第一节点,以及与目标第一节点处于相同层级,且与目标第一节点属于同一子树的各个第一节点;
若所述预设节点属性表征所述目标节点集合中各个节点的节点类型不相同,则将所述第二序列分别与每个预设端口序号作和运算,将每个运算结果确定为所述第二目标序列。
本发明实施例提供的方法中,每个第一节点中预先配置由一个节点属性,具体的可采用参数NODE_MODE描述在某一子树下某一层内部各节点是否为相同类型,若类型相同,将NODE_MODE配置为“0”,若是类型不同,则将NODE_MODE配置为“1”。另外,每个第一节点中预设有多个端口,用于连接该节点的下级节点,按照端口顺序给每个端口进行编号,如预设端口的数目为m,编号由1开始逐一递增至m,即这些端口的序号分别为1、2……m。
若目标第一节点中的参数NODE_MODE=1,则将第二序列分别与各个预设端口序号作和运算得到第二目标序列,将第一参数中的第二序列修改为第二目标序列,以得到预分配给目标第一节点的各个下级节点的节点地址。例如第一参数为00010000,其中标有下划线的部分为其中的第二序列,目标第一节点中预设有四个端口用于连接下级节点,按照规则计算得到0001、0010、0011以及0100四个第二目标序列,分别对第一参数修改得到00010001、00010010、00010011及00010100四个第二参数。
进一步的,本发明实施例提供的方法中,若所述预设节点属性表征所述目标节点集合中各个节点的节点类型相同,则判断所述目标第一节点是否为命令源节点;
本发明实施例提供的方法中,若参数NODE_MODE=0,则进一步判断目标第一节点是否为命令源这一物理节点中的第一节点,具体可在节点中预设参数表征其是否为命令源节点。
若所述目标第一节点为命令源节点,则将每个所述预设端口序号对应的二进制序列,确定为所述第二目标序列;
本发明实施例提供的方法中,在目标第一节点为命令源节点的情况下,将第一参数中的第二序列分别修改为每个预设端口序号对应的二进制序列,以得到各个第二参数。例如第一参数为00000000,其中标有下划线的部分为其中的第二序列,预设端口序号分别为1~4,按照规则可得到00010000、00100000、00110000及01000000四个第二参数。
若所述目标第一节点不为命令源节点,则确定连接端口的端口总数目,并依据所述端口总数目及所述第一序列,确定每个所述预设端口序号对应的目标序列,并将每个所述预设端口序号对应的目标序列确定为所述第二目标序列。
本发明实施例提供的方法中,在目标第一节点不为命令源节点的情况下,可按照预设的公式,确定每个预设端口序号对应的目标序列,以得到各个第二参数。目标序列可按照下述公式确定:
每个预设端口序号对应的目标序列=(第一序列-1)*端口总数目m+该预设端口序号。可选的,若是端口总数目m可以表示m=2k(k为非负整数),则该公式可配置为(第一序列-1)<<k+该预设端口序号。
需要说明的是,本发明实施例提供的编号规则仅为一种确定第二参数,也就是确定下级节点的节点地址的一种具体实施例,本发明实施例的原理可以理解为将参数中的某一字段对应分配给该字段对应层级的各个节点,在这一字段上进行编号,分别得到每个节点对应的编号,以组成节点地址。本发明实施例采用逐一递增的方式在字段中进行编号,在具体的实现过程中,也可以采取其他方式进行编号,该字段的位宽足以满足对应的各个节点的编号个数需求即可,不影响本发明实施例提供的方法实现功能。
基于本发明实施例提供的方法,可最大限度的利用地址位宽给各个节点分配地址,有利于节省地址资源。
为了更好地说明本发明实施例提供的方法,在上述实施例的基础上,本发明实施例提供的方法中,步骤S106中所提及的每个第二命令对应的连接端口的确定过程为:
将应用所述第一编号规则得到的第二参数所对应的第二命令,确定为同级第二命令,将应用所述第二编号规则得到的每个第二参数所对应的第二命令,确定为下级第二命令;
本发明实施例提供的方法中,应用第一编号规则得到的第二参数对应的第二命令为需向目标第一节点连接的同级节点发送的地址分配命令,而应用第二编号规则得到的第二参数对应的第二命令为需向目标第一节点连接的下级节点发送的地址分配命令。
在各个连接端口中,确定第一连接端口以及各个第二连接端口,所述第一连接端口对应的第一节点为,处于所述目标层级的所述目标第一节点的子节点,每个所述第二连接端口对应的第一节点为,处于所述目标层级的下一层级的所述目标第一节点的子节点;
将所述第一连接端口确定为所述同级第二命令对应的连接端口;
确定每个所述下级第二命令对应的预设端口序号;将每个所述下级第二命令对应的预设端口序号分别与各个所述第二连接端口进行匹配,并将与所述下级第二命令对应的预设端口序号相匹配的第二连接端口,确定为所述下级第二命令对应的连接端口。
本发明实施例提供的方法中,在每个第一节点中预设有两种不同的连接端口,一是用于连接目标第一节点的同级节点的第一连接端口,二是用于连接目标第一节点的下级节点的第二连接端口。根据本发明实施例的拓扑结构,每个第一节点中仅预设一个第一连接端口,而第二连接端口的数目可以是多个,本发明实施例中的第二连接端口,也就是上述实施例中所提及的按顺序配置端口序号的预设端口。在本发明实施例提供的方法中,将用于连接同级节点的第一连接端口,作为需发送至同级节点的同级第二命令对应的端口。而在确定每个下级第二命令中的第二参数的过程中,每个第二参数对应有一个预设端口序号,这些预设端口序号实际上也对应了每个第二连接端口,是这些第二连接端口的端口序号。可通过各个下级第二命令对应的预设端口序号,匹配第二连接端口,以将用于连接下级节点的第二连接端口,作为需发送至其连接的下级节点的第二命令对应的端口。
在上述实施例的基础上,本发明实施例提供的方法中,图2所示步骤S107中所提及的判断每个第二命令对应的连接端口是否符合命令发送规则的过程,包括:
判断所述第三序列中的每个二进制位是否均为一,也就是判断接收到的命令中的命令地址(第一命令地址)对应于第一预设掩码中的Nmiddle字段的字段各位是否均为一,若所述第三序列中的每个二进制位均为一,则确定第一连接端口符合命令发送规则,也就是第一连接端口当前需将其对应的第二命令发送至其连接的节点。此时,判断所述第四序列中的每个二进制位是否均为一或是均为零,也就是判断第一命令地址对应于第二预设掩码中的Nmiddle字段的字段各位是否均为一或是均为零。
若所述第四序列中的每个二进制位均为一,则确定每个第二连接端口均符合命令发送规则,也就是每个第二连接端口当前均需将其对应的第二命令发送至其连接的节点。
若所述第四序列中的每个二进制位并非均为一,且并非均为零,则将所述第四序列与端口总数目m作求余运算,将运算结果确定为目标端口序号;
在各个所述第二连接端口中确定所述目标端口序号对应的目标第二连接端口,并确定所述目标第二连接端口符合命令发送规则。可选的,如果端口总数目m可以表示为m=2k(k为非负整数),目标端口序号为第一命令地址中对应第二预设掩码中的Nmiddle字段的字段中低k位取值。
进一步的,若所述第三序列中的每个二进制位并非均为一,则判断所述第三序列与所述第五序列是否相同,也就是判断第一命令地址与当前的节点地址分别对应于第一预设掩码的Nmiddle字段的字段是否相同。
若所述第三序列与所述第五序列不相同,则确定所述第一连接端口符合命令发送规则;
若所述第三序列与所述第五序列相同,则判断所述第四序列中的每个二进制位是否均为一或是均为零,后续的处理规则与上述实施例中提及该判断步骤后的处理规则相同,在此不再赘述。
本发明实施例提供的方法中,上述判断连接端口是否符合命令发送规则的过程,实际上是每个第一节点对于接收到的命令,判断该命令是否需转发的过程,在普通命令的转发过程中,每个端口对应的命令,也就是需通过端口发送的命令与节点接收到的命令相同。只是本发明实施例提供的方法着重于地址分配命令的处理,在地址分配命令的处理过程中会对命令操作参数进行修改,故得到与接收到的第一命令不同的第二命令。
基于上述本发明实施例提供的方法,当地址分配命令被逐级发送到各节点并进行处理后,各节点即可分配并记录一个唯一的节点地址。该节点地址实际由多个层级的地址组合而成,可以在单点命令管理的基础上,实现层次化,集群化节点命令管理。具体的,在节点地址各层级位(也就是节点地址中对应第一预设掩码Nmiddle字段的字段)中保留全“1”地址作为该层级的广播地址,可实现在某一层设置广播命令以实现针对层级的局部广播,当所有层级的地址位全部为“1”时,即可实现全局广播。
为了更好地说明本发明实施例提供的方法,结合本发明实施例提供的方法在实际系统中的应用进行举例说明。
本发明实施例中提供一种用于海洋地震勘探的数据获取系统,图11为该系统的结构示意图,示出了该系统中各组成单元的连接关系。
如图11所示,系统中设置有系统监控服务器(命令源),用于完成整个系统的配置、控制和状态监视,系统监控服务器通过以太网与数据记录服务器相连接,数据记录服务器内置一个PCIe插卡PIFC板,该PIFC板可以汇聚来自四个MIFC板的数据,一个MIFC板可以收集来自四条拖缆的数据,并将其进行实时数据转换后上传至数据记录服务器内的PIFC板。每一条拖缆的数据通过光电包(仅完成信号转换,透明模式,不参与节点地址分配)转换为光信号通过光纤上传到MIFC板,拖缆中均匀分布有多个传感器,由其附近的数字包完成信号的采集和数字化,并将数据逐级上传,一条拖缆可以支持150个数字包。
基于上述实施例提供的方法,确定图11所示系统对应的树状拓扑结构及层级划分,以及通过地址分配命令实现节点地址分配等,可以得到如图12所示的系统中各节点地址分配的示意图,图中示出了该系统对应的树状拓扑结构,每个实线或虚线的圆圈表示一个第一节点(虚线的圆圈表示插入的虚拟节点),圆圈中的数值表征该节点的节点地址,而圆圈下方标识的数值为以路由信息表示的路由地址,从中可以看出节点地址亦反映了命令的发送路由。图中亦标识了每一层级中的第一节点中预设的同级掩码、下级掩码以及预设节点属性NODE_MODE,图中的同级掩码为上述实施例中所提及的第一预设掩码,下级掩码则为第二预设掩码。
在本发明实施例中,各个层级和范围的节点的广播命令的地址信息如表1所示。
表1
广播范围 | 广播地址 | 路由地址 |
系统监控服务器 | 0x0 | 0.0.0.0.0 |
所有MIFC板 | 0x3E000 | 1.1.7.0.0 |
所有数字包板 | 0x3FFFF | 1.1.7.31.255 |
第1条缆的所有数字包 | 0x321FF | 1.1.1.1.255 |
第1个MIFC连接到的所有数字包 | 0x33FFF | 1.1.1.31.255 |
第15条缆的所有数字包 | 0x38FFF | 1.1.4.15.255 |
本发明实施例提供又一种数据获取系统,其系统的结构示意图如图13所示,图中示出了系统中各组成单元的连接关系。该系统中包含两个子探测器系统,其中子探测器系统1中包含十六块前端电子学(FEE)插件,其数据经过光纤被发往数据的汇聚节点,每八个FEE插件对应一个数据汇聚节点。子探测器系统2中包含六十四块前端电子学(FEE)插件,这些插件的数据经过了两级汇聚节点。两个子探测器系统的汇聚节点的输出最终通过一个PCIe插卡接入到数据接入服务器,以在计算机群中进行处理和存储。系统的计算机群中,包含两个事例组装服务器,一个存储服务器(不参与节点地址分配)以及一台在线/控制服务器(命令源节点位于此服务器)。
基于上述实施例提供的方法,可得到该系统对应树状拓扑结构、层级划分以及地址分配的相关信息,该系统中中各节点地址分配的示意图如图14所示。其中,第一层与第三层中有插入的虚拟节点。图14中各图元的含义与图12中的含义相同,可参见上述说明。
本发明实施例中,各个层级和范围的节点的广播命令的地址信息如表2所示。
表2
广播范围 | 广播地址 | 路由地址 |
在线/控制服务器 | 0x0 | 0.0.0.0.0 |
所有事例组装服务器 | 0xB000 | 2.3.0.0.0 |
所有汇聚节点1_1 | 0x6E00 | 1.1.1.3.0 |
所有探测器1FEE | 0x6FF0 | 1.1.1.3.31 |
所有汇聚节点2_1 | 0x7780 | 1.1.2.15.0 |
所有探测器2FEE | 0x77FF | 1.1.2.15.127 |
与图2所示的节点地址的分配方法相对应的,本发明实施例还提供了一种节点地址的分配装置,用于对图2中所示方法的具体实现,其结构示意图如图15所示,包括:
第一判断单元201,用于将当前接收到第一命令的第一节点确定为目标第一节点,并当所述目标第一节点确定所述第一命令为本地响应命令时,判断所述第一命令是否为地址分配命令;
存储单元202,用于若所述第一命令为地址分配命令,则将第一参数存储至预设的节点地址寄存器,以将所述第一参数作为所述目标第一节点的节点地址,所述第一参数为所述第一命令中的命令操作参数;
第一获取单元203,用于获取第一预设掩码和第二预设掩码,所述第一预设掩码为依据目标层级的层级编号所预先设置的掩码,所述第二预设掩码为依据所述目标层级的下一层级的层级编号所预先设置的掩码,所述目标层级为所述目标第一节点在其对应的系统树状拓扑结构中所处层级;
第一确定单元204,用于确定所述第一参数中的第一序列以及第二序列,所述第一序列由所述第一参数中与所述第一预设掩码依次对应的各个二进制位组成,所述第二序列由所述第一参数中与所述第二预设掩码依次对应的各个二进制位组成;
第二确定单元205,用于依次应用预设规则组中的各个编号规则对所述第一参数中的所述第一序列或所述第二序列进行修改,得到所述第一参数对应的各个第二参数,并确定每个所述第二参数对应的第二命令,每个所述第二命令中的命令操作参数为其对应的第二参数;
第三确定单元206,用于确定每个所述第二命令对应的连接端口,每个所述连接端口与其对应的第一节点相连接;每个所述连接端口对应的第一节点为,所述系统树状拓扑结构中所述目标第一节点的子节点;
第二判断单元207,用于判断每个所述第二命令对应的连接端口是否符合命令发送规则,并将符合命令发送规则的连接端口对应的第二命令,确定为待发送的第二命令;
发送单元208,用于将每个待发送的第二命令发送至其对应的连接端口所对应的第一节点,以便于确定各个所述连接端口对应的第一节点的节点地址。
应用本发明实施例提供的装置,在需为系统中的各个节点分配地址时,工作人员根据实际的分配需求通过命令源节点配置并发送地址分配命令即可,地址分配命令可按照预定的命令流方向在系统中传递,并为各个节点分配其对应的节点地址,无需由人工为每个节点配置节点地址,分配地址的工作量较小,消耗时间较少,工作效率较高。另外,在节点地址的分配过程中,只涉及一条命令流,而不需要各个节点进行信息交互,执行速度较快。
在上述装置的基础上,本发明实施例提供的装置中,还包括:
第二获取单元,用于获取所述第一命令中的命令地址,将所述第一命令中的命令地址确定为第一命令地址;
第四确定单元,用于确定所述第一命令地址中的第三序列以及第四序列,所述第三序列由所述第一命令地址中与所述第一预设掩码依次对应的各个二进制位组成,所述第四序列由所述第一命令地址中与所述第二预设掩码依次对应的各个二进制位组成;
第三判断单元,用于依据所述第一命令地址、所述第三序列以及所述第四序列,判断所述第一命令是否与各个预设的本地响应规则相匹配;
第五确定单元,用于若所述第一命令与任意一个所述预设的本地响应规则相匹配,则确定所述第一命令为本地响应命令。
在上述装置的基础上,本发明实施例提供的装置中,所述第三判断单元,包括:
匹配子单元,用于分别将所述第一命令与所述第一本地响应规则、第二本地响应规则及所述第三本地响应规则进行匹配;其中:
所述第一命令与所述第一本地响应规则匹配的过程,包括:将所述第一命令地址与预设的全局广播地址进行比对,若所述第一命令地址与所述全局广播地址相同,则确定所述第一命令与所述第一本地响应规则相匹配;
所述第一命令与所述第二本地响应规则匹配的过程,包括:判断所述第三序列中的每个二进制位是否均为一,以及所述第四序列中的每个二进制位是否均为零,若所述第三序列中的每个二进制位均为一,且所述第四序列中的每个二进制位均为零,则确定所述第一命令与所述第二本地响应规则相匹配;
所述第一命令与所述第三本地响应规则匹配的过程,包括:获取当前所述节点地址寄存器中存储的节点地址,并确定第五序列,所述第五序列由所述节点地址寄存器中存储的节点地址中与所述第一预设掩码依次对应的各个二进制位组成;将所述第三序列与所述第五序列进行比对,若所述第三序列与所述第五序列相同,则判断所述第四序列中的每个二进制位是否均为零;若所述第四序列中的每个二进制位均为零,则确定所述第一命令与所述第三本地响应规则相匹配。
在上述装置的基础上,本发明实施例提供的装置中,所述第二确定单元205,包括:
第一确定子单元,用于应用所述预设规则组中的第一编号规则确定所述第一序列对应的第一目标序列,将所述第一参数中的所述第一序列修改为所述第一目标序列,将修改后的第一参数作为所述第一参数对应的第二参数,其中,所述第一编号规则为:对所述第一序列作加一运算,将运算结果确定为所述第一目标序列;
第二确定子单元,用于应用所述预设规则组中的第二编号规则确定所述第二序列对应的多个第二目标序列,针对每个所述第二目标序列,将所述第一参数中的所述第二序列修改为所述第二目标序列,并将修改后的第一参数确定为所述第一参数对应的第二参数,其中,所述第二编号规则为:确定所述目标第一节点对应的预设节点属性,所述预设节点属性用于表征目标节点集合中各个节点的节点类型是否相同,所述目标节点集合中包括所述目标第一节点,以及处于所述目标层级,且与所述目标第一节点属于同一子树的各个第一节点;若所述预设节点属性表征所述目标节点集合中各个节点的节点类型不相同,则将所述第二序列分别与每个预设端口序号作和运算,将每个运算结果确定为所述第二目标序列。
在上述装置的基础上,本发明实施例提供的装置中,所述第二确定子单元,还包括:
第一判断子单元,用于若所述预设节点属性表征所述目标节点集合中各个节点的节点类型相同,则判断所述目标第一节点是否为命令源节点;
第三确定子单元,用于若所述目标第一节点为命令源节点,则将每个所述预设端口序号对应的二进制序列,确定为所述第二目标序列;
第四确定子单元,用于若所述目标第一节点不为命令源节点,则确定连接端口的端口总数目,并依据所述端口总数目及所述第一序列,确定每个所述预设端口序号对应的目标序列,并将每个所述预设端口序号对应的目标序列确定为所述第二目标序列。
在上述装置的基础上,本发明实施例提供的装置中,所述第三确定单元206,包括:
第五确定子单元,用于将应用所述第一编号规则得到的第二参数所对应的第二命令,确定为同级第二命令,将应用所述第二编号规则得到的每个第二参数所对应的第二命令,确定为下级第二命令;
第六确定子单元,用于在各个连接端口中,确定第一连接端口以及各个第二连接端口,所述第一连接端口对应的第一节点为,处于所述目标层级的所述目标第一节点的子节点,每个所述第二连接端口对应的第一节点为,处于所述目标层级的下一层级的所述目标第一节点的子节点;
第七确定子单元,用于将所述第一连接端口确定为所述同级第二命令对应的连接端口;
第八确定子单元,用于确定每个所述下级第二命令对应的预设端口序号;
第九确定子单元,用于将每个所述下级第二命令对应的预设端口序号分别与各个所述第二连接端口进行匹配,并将与所述下级第二命令对应的预设端口序号相匹配的第二连接端口,确定为所述下级第二命令对应的连接端口。
在上述装置的基础上,本发明实施例提供的装置中,所述第二判断单元207,包括:
第十确定子单元,用于判断所述第三序列中的每个二进制位是否均为一,若所述第三序列中的每个二进制位均为一,则确定所述第一连接端口符合命令发送规则,并判断所述第四序列中的每个二进制位是否均为一或是均为零;
第十一确定子单元,用于若所述第四序列中的每个二进制位均为一,则确定每个所述第二连接端口均符合命令发送规则;
第十二确定子单元,用于若所述第四序列中的每个二进制位并非均为一,且并非均为零,则将所述第四序列与所述端口总数目作求余运算,将运算结果确定为目标端口序号,并在各个所述第二连接端口中确定所述目标端口序号对应的目标第二连接端口,并确定所述目标第二连接端口符合命令发送规则。
在上述装置的基础上,本发明实施例提供的装置中,所述第二判断单元207,还包括:
第二判断子单元,用于若所述第三序列中的每个二进制位并非均为一,则判断所述第三序列与所述第五序列是否相同;
第十三确定子单元,用于若所述第三序列与所述第五序列不相同,则确定所述第一连接端口符合命令发送规则;
第三判断子单元,用于若所述第三序列与所述第五序列相同,则判断所述第四序列中的每个二进制位是否均为一或是均为零;
第十四确定子单元,用于若所述第四序列中的每个二进制位均为一,则确定每个所述第二连接端口均符合命令发送规则;
第十五确定子单元,用于若所述第四序列中的每个二进制位并非均为一,且并非均为零,则将所述第四序列与连接端口的端口总数目作求余运算,将运算结果确定为目标端口序号,并在各个所述第二连接端口中确定所述目标端口序号对应的目标第二连接端口,并确定所述目标第二连接端口符合命令发送规则。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的节点地址的分配方法。
本发明实施例还提供了一种电子设备,其结构示意图如图16所示,具体包括存储单元301,以及一个或者一个以上的指令302,其中一个或者一个以上指令302存储于存储单元301中,且经配置以由一个或者一个以上处理单元303执行所述一个或者一个以上指令302进行以下操作:
将当前接收到第一命令的第一节点确定为目标第一节点,并当所述目标第一节点确定所述第一命令为本地响应命令时,判断所述第一命令是否为地址分配命令;
若所述第一命令为地址分配命令,则将第一参数存储至预设的节点地址寄存器,以将所述第一参数作为所述目标第一节点的节点地址,所述第一参数为所述第一命令中的命令操作参数;
获取第一预设掩码和第二预设掩码,所述第一预设掩码为依据目标层级的层级编号所预先设置的掩码,所述第二预设掩码为依据所述目标层级的下一层级的层级编号所预先设置的掩码,所述目标层级为所述目标第一节点在其对应的系统树状拓扑结构中所处层级;
确定所述第一参数中的第一序列以及第二序列,所述第一序列由所述第一参数中与所述第一预设掩码依次对应的各个二进制位组成,所述第二序列由所述第一参数中与所述第二预设掩码依次对应的各个二进制位组成;
依次应用预设规则组中的各个编号规则对所述第一参数中的所述第一序列或所述第二序列进行修改,得到所述第一参数对应的各个第二参数,并确定每个所述第二参数对应的第二命令,每个所述第二命令中的命令操作参数为其对应的第二参数;
确定每个所述第二命令对应的连接端口,每个所述连接端口与其对应的第一节点相连接;每个所述连接端口对应的第一节点为,所述系统树状拓扑结构中所述目标第一节点的子节点;
判断每个所述第二命令对应的连接端口是否符合命令发送规则,并将符合命令发送规则的连接端口对应的第二命令,确定为待发送的第二命令;
将每个待发送的第二命令发送至其对应的连接端口所对应的第一节点,以便于确定各个所述连接端口对应的第一节点的节点地址。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种节点地址的分配方法,其特征在于,所述方法应用于数据获取系统,所述数据获取系统包括多个物理节点,每个所述物理节点中设置有至少一个第一节点,所述方法包括:
将当前接收到第一命令的第一节点确定为目标第一节点,并当所述目标第一节点确定所述第一命令为本地响应命令时,判断所述第一命令是否为地址分配命令;
若所述第一命令为地址分配命令,则将第一参数存储至预设的节点地址寄存器,以将所述第一参数作为所述目标第一节点的节点地址,所述第一参数为所述第一命令中的命令操作参数;
获取第一预设掩码和第二预设掩码,所述第一预设掩码为依据目标层级的层级编号所预先设置的掩码,所述第二预设掩码为依据所述目标层级的下一层级的层级编号所预先设置的掩码,所述目标层级为所述目标第一节点在其对应的系统树状拓扑结构中所处层级;
确定所述第一参数中的第一序列以及第二序列,所述第一序列由所述第一参数中与所述第一预设掩码依次对应的各个二进制位组成,所述第二序列由所述第一参数中与所述第二预设掩码依次对应的各个二进制位组成;
依次应用预设规则组中的各个编号规则对所述第一参数中的所述第一序列或所述第二序列进行修改,得到所述第一参数对应的各个第二参数,并确定每个所述第二参数对应的第二命令,每个所述第二命令中的命令操作参数为其对应的第二参数;
确定每个所述第二命令对应的连接端口,每个所述连接端口与其对应的第一节点相连接;每个所述连接端口对应的第一节点为,所述系统树状拓扑结构中所述目标第一节点的子节点;
判断每个所述第二命令对应的连接端口是否符合命令发送规则,并将符合命令发送规则的连接端口对应的第二命令,确定为待发送的第二命令;
将每个待发送的第二命令发送至其对应的连接端口所对应的第一节点,以便于确定各个所述连接端口对应的第一节点的节点地址。
2.根据权利要求1所述的方法,其特征在于,所述目标第一节点确定所述第一命令为本地响应命令的过程,包括:
获取所述第一命令中的命令地址,将所述第一命令中的命令地址确定为第一命令地址;
确定所述第一命令地址中的第三序列以及第四序列,所述第三序列由所述第一命令地址中与所述第一预设掩码依次对应的各个二进制位组成,所述第四序列由所述第一命令地址中与所述第二预设掩码依次对应的各个二进制位组成;
依据所述第一命令地址、所述第三序列以及所述第四序列,判断所述第一命令是否与各个预设的本地响应规则相匹配;
若所述第一命令与任意一个所述预设的本地响应规则相匹配,则确定所述第一命令为本地响应命令。
3.根据权利要求2所述的方法,其特征在于,所述各个预设的本地响应规则包括第一本地响应规则、第二本地响应规则以及第三本地响应规则,所述判断所述第一命令是否与各个预设的本地响应规则相匹配的过程,包括:
分别将所述第一命令与所述第一本地响应规则、第二本地响应规则及所述第三本地响应规则进行匹配;其中:
所述第一命令与所述第一本地响应规则匹配的过程,包括:将所述第一命令地址与预设的全局广播地址进行比对,若所述第一命令地址与所述全局广播地址相同,则确定所述第一命令与所述第一本地响应规则相匹配;
所述第一命令与所述第二本地响应规则匹配的过程,包括:判断所述第三序列中的每个二进制位是否均为一,以及所述第四序列中的每个二进制位是否均为零,若所述第三序列中的每个二进制位均为一,且所述第四序列中的每个二进制位均为零,则确定所述第一命令与所述第二本地响应规则相匹配;
所述第一命令与所述第三本地响应规则匹配的过程,包括:获取当前所述节点地址寄存器中存储的节点地址,并确定第五序列,所述第五序列由所述节点地址寄存器中存储的节点地址中与所述第一预设掩码依次对应的各个二进制位组成;
将所述第三序列与所述第五序列进行比对,若所述第三序列与所述第五序列相同,则判断所述第四序列中的每个二进制位是否均为零;
若所述第四序列中的每个二进制位均为零,则确定所述第一命令与所述第三本地响应规则相匹配。
4.根据权利要求3所述的方法,其特征在于,所述依次应用预设规则组中的各个编号规则对所述第一参数中的所述第一序列或所述第二序列进行修改,得到所述第一参数对应的各个第二参数的过程,包括:
应用所述预设规则组中的第一编号规则确定所述第一序列对应的第一目标序列,将所述第一参数中的所述第一序列修改为所述第一目标序列,将修改后的第一参数作为所述第一参数对应的第二参数,
以及应用所述预设规则组中的第二编号规则确定所述第二序列对应的多个第二目标序列,针对每个所述第二目标序列,将所述第一参数中的所述第二序列修改为所述第二目标序列,并将修改后的第一参数确定为所述第一参数对应的第二参数;其中:
所述第一编号规则为:对所述第一序列作加一运算,将运算结果确定为所述第一目标序列;
所述第二编号规则为:确定所述目标第一节点对应的预设节点属性,所述预设节点属性用于表征目标节点集合中各个节点的节点类型是否相同,所述目标节点集合中包括所述目标第一节点,以及处于所述目标层级,且与所述目标第一节点属于同一子树的各个第一节点;
若所述预设节点属性表征所述目标节点集合中各个节点的节点类型不相同,则将所述第二序列分别与每个预设端口序号作和运算,将每个运算结果确定为所述第二目标序列。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述预设节点属性表征所述目标节点集合中各个节点的节点类型相同,则判断所述目标第一节点是否为命令源节点;
若所述目标第一节点为命令源节点,则将每个所述预设端口序号对应的二进制序列,确定为所述第二目标序列;
若所述目标第一节点不为命令源节点,则确定连接端口的端口总数目,并依据所述端口总数目及所述第一序列,确定每个所述预设端口序号对应的目标序列,并将每个所述预设端口序号对应的目标序列确定为所述第二目标序列。
6.根据权利要求4或5所述的方法,其特征在于,所述确定每个所述第二命令对应的连接端口,包括:
将应用所述第一编号规则得到的第二参数所对应的第二命令,确定为同级第二命令,将应用所述第二编号规则得到的每个第二参数所对应的第二命令,确定为下级第二命令;
在各个连接端口中,确定第一连接端口以及各个第二连接端口,所述第一连接端口对应的第一节点为,处于所述目标层级的所述目标第一节点的子节点,每个所述第二连接端口对应的第一节点为,处于所述目标层级的下一层级的所述目标第一节点的子节点;
将所述第一连接端口确定为所述同级第二命令对应的连接端口;
确定每个所述下级第二命令对应的预设端口序号;
将每个所述下级第二命令对应的预设端口序号分别与各个所述第二连接端口进行匹配,并将与所述下级第二命令对应的预设端口序号相匹配的第二连接端口,确定为所述下级第二命令对应的连接端口。
7.根据权利要求6所述的方法,其特征在于,所述判断每个所述第二命令对应的连接端口是否符合命令发送规则,包括:
判断所述第三序列中的每个二进制位是否均为一,若所述第三序列中的每个二进制位均为一,则确定所述第一连接端口符合命令发送规则,并判断所述第四序列中的每个二进制位是否均为一或是均为零;
若所述第四序列中的每个二进制位均为一,则确定每个所述第二连接端口均符合命令发送规则;
若所述第四序列中的每个二进制位并非均为一,且并非均为零,则将所述第四序列与所述端口总数目作求余运算,将运算结果确定为目标端口序号;
在各个所述第二连接端口中确定所述目标端口序号对应的目标第二连接端口,并确定所述目标第二连接端口符合命令发送规则。
8.根据权利要求7所述的方法,其特征在于,还包括:
若所述第三序列中的每个二进制位并非均为一,则判断所述第三序列与所述第五序列是否相同;
若所述第三序列与所述第五序列不相同,则确定所述第一连接端口符合命令发送规则;
若所述第三序列与所述第五序列相同,则判断所述第四序列中的每个二进制位是否均为一或是均为零;
若所述第四序列中的每个二进制位均为一,则确定每个所述第二连接端口均符合命令发送规则;
若所述第四序列中的每个二进制位并非均为一,且并非均为零,则将所述第四序列与连接端口的端口总数目作求余运算,将运算结果确定为目标端口序号;
在各个所述第二连接端口中确定所述目标端口序号对应的目标第二连接端口,并确定所述目标第二连接端口符合命令发送规则。
9.一种节点地址的分配装置,其特征在于,所述装置应用于数据获取系统,所述数据获取系统包括多个物理节点,每个所述物理节点中设置有至少一个第一节点,所述装置包括:
第一判断单元,用于将当前接收到第一命令的第一节点确定为目标第一节点,并当所述目标第一节点确定所述第一命令为本地响应命令时,判断所述第一命令是否为地址分配命令;
存储单元,用于若所述第一命令为地址分配命令,则将第一参数存储至预设的节点地址寄存器,以将所述第一参数作为所述目标第一节点的节点地址,所述第一参数为所述第一命令中的命令操作参数;
第一获取单元,用于获取第一预设掩码和第二预设掩码,所述第一预设掩码为依据目标层级的层级编号所预先设置的掩码,所述第二预设掩码为依据所述目标层级的下一层级的层级编号所预先设置的掩码,所述目标层级为所述目标第一节点在其对应的系统树状拓扑结构中所处层级;
第一确定单元,用于确定所述第一参数中的第一序列以及第二序列,所述第一序列由所述第一参数中与所述第一预设掩码依次对应的各个二进制位组成,所述第二序列由所述第一参数中与所述第二预设掩码依次对应的各个二进制位组成;
第二确定单元,用于依次应用预设规则组中的各个编号规则对所述第一参数中的所述第一序列或所述第二序列进行修改,得到所述第一参数对应的各个第二参数,并确定每个所述第二参数对应的第二命令,每个所述第二命令中的命令操作参数为其对应的第二参数;
第三确定单元,用于确定每个所述第二命令对应的连接端口,每个所述连接端口与其对应的第一节点相连接;每个所述连接端口对应的第一节点为,所述系统树状拓扑结构中所述目标第一节点的子节点;
第二判断单元,用于判断每个所述第二命令对应的连接端口是否符合命令发送规则,并将符合命令发送规则的连接端口对应的第二命令,确定为待发送的第二命令;
发送单元,用于将每个待发送的第二命令发送至其对应的连接端口所对应的第一节点,以便于确定各个所述连接端口对应的第一节点的节点地址。
10.根据权利要求9所述的装置,其特征在于,还包括:
第二获取单元,用于获取所述第一命令中的命令地址,将所述第一命令中的命令地址确定为第一命令地址;
第四确定单元,用于确定所述第一命令地址中的第三序列以及第四序列,所述第三序列由所述第一命令地址中与所述第一预设掩码依次对应的各个二进制位组成,所述第四序列由所述第一命令地址中与所述第二预设掩码依次对应的各个二进制位组成;
第三判断单元,用于依据所述第一命令地址、所述第三序列以及所述第四序列,判断所述第一命令是否与各个预设的本地响应规则相匹配;
第五确定单元,用于若所述第一命令与任意一个所述预设的本地响应规则相匹配,则确定所述第一命令为本地响应命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110279941.3A CN113014691B (zh) | 2021-03-16 | 2021-03-16 | 节点地址的分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110279941.3A CN113014691B (zh) | 2021-03-16 | 2021-03-16 | 节点地址的分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113014691A true CN113014691A (zh) | 2021-06-22 |
CN113014691B CN113014691B (zh) | 2022-05-13 |
Family
ID=76408016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110279941.3A Active CN113014691B (zh) | 2021-03-16 | 2021-03-16 | 节点地址的分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113014691B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778471A (zh) * | 2021-09-10 | 2021-12-10 | 昆山丘钛微电子科技股份有限公司 | 摄像模组烧录方法、装置及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848791A (zh) * | 2005-04-12 | 2006-10-18 | 华为技术有限公司 | 树型组网拓扑结构的获取及地址分配方法 |
US20060259625A1 (en) * | 2003-04-01 | 2006-11-16 | Bjorn Landfeldt | Method and system for centrally allocating addresses and port numbers |
CN106790741A (zh) * | 2016-11-24 | 2017-05-31 | 上海易杵行智能科技有限公司 | 一种基于链路层数据通信的级联设备自动分配网络地址的方法 |
CN109194525A (zh) * | 2018-10-11 | 2019-01-11 | 迈普通信技术股份有限公司 | 一种网络节点配置方法及管理节点 |
CN110913037A (zh) * | 2019-12-04 | 2020-03-24 | 杭州东方通信软件技术有限公司 | 一种基于二叉树的c类地址的分配方法 |
CN111131533A (zh) * | 2019-11-29 | 2020-05-08 | 中煤科工集团重庆研究院有限公司 | 串行通信系统地址自动分配方法 |
-
2021
- 2021-03-16 CN CN202110279941.3A patent/CN113014691B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259625A1 (en) * | 2003-04-01 | 2006-11-16 | Bjorn Landfeldt | Method and system for centrally allocating addresses and port numbers |
CN1848791A (zh) * | 2005-04-12 | 2006-10-18 | 华为技术有限公司 | 树型组网拓扑结构的获取及地址分配方法 |
CN106790741A (zh) * | 2016-11-24 | 2017-05-31 | 上海易杵行智能科技有限公司 | 一种基于链路层数据通信的级联设备自动分配网络地址的方法 |
CN109194525A (zh) * | 2018-10-11 | 2019-01-11 | 迈普通信技术股份有限公司 | 一种网络节点配置方法及管理节点 |
CN111131533A (zh) * | 2019-11-29 | 2020-05-08 | 中煤科工集团重庆研究院有限公司 | 串行通信系统地址自动分配方法 |
CN110913037A (zh) * | 2019-12-04 | 2020-03-24 | 杭州东方通信软件技术有限公司 | 一种基于二叉树的c类地址的分配方法 |
Non-Patent Citations (2)
Title |
---|
熊宛星: "密集传感器网络中的结构化地址分配方法", 《小型微型计算机系统》 * |
王东旅,杨俊峰等: "地震数据采集系统中的数据传输系统设计", 《数据采集与处理》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778471A (zh) * | 2021-09-10 | 2021-12-10 | 昆山丘钛微电子科技股份有限公司 | 摄像模组烧录方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113014691B (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alicherry et al. | Network aware resource allocation in distributed clouds | |
US6571286B2 (en) | Method and system for enhancing communications efficiency in data communications networks | |
CN104871145A (zh) | 网络设备中的存储器共享 | |
US9930006B2 (en) | Method for assigning logical addresses to the connection ports of devices of a server cluster, and corresponding computer program and server cluster | |
CN113014691B (zh) | 节点地址的分配方法及装置 | |
CN108650177A (zh) | 对sptn设备进行跨域业务配置的方法及系统 | |
CN104506669A (zh) | 一种面向分布式网络仿真平台的ip地址分配系统及方法 | |
Lu et al. | X-NEST: a scalable, flexible, and high-performance network architecture for distributed machine learning | |
US20220150044A1 (en) | Quantum measurement and control system for multi-bit quantum feedback control | |
CN115913937A (zh) | 一种容器多网卡网络配置方法、装置、设备及存储介质 | |
Akella et al. | A universal approach to data center network design | |
Bao et al. | A high-performance and cost-efficient interconnection network for high-density servers | |
CN104836688B (zh) | 网络装置及其虚拟配置底层设备的方法 | |
CN105430058A (zh) | 一种基于网络感知的新型云数据中心资源分配方法 | |
CN114217920A (zh) | 作业调度方法和装置、计算机机群、计算机可读存储介质 | |
Zhao et al. | A Real-time Reconfigurable Edge computing System in Industrial Internet of Things Based on FPGA | |
CN110597809B (zh) | 一种支持树状数据结构的一致性算法系统及其实现方法 | |
Zhang et al. | Modeling and optimization in distributed integrated modular avionics | |
Zhang et al. | Optimizing data intensive flows for networks on chips | |
CN112653765B (zh) | 一种基于社区重叠和内嵌分析的资源配置的方法和装置 | |
Wang et al. | Similarity-based node distance exploring and locality-aware shuffle optimization for Hadoop MapReduce | |
US20240154906A1 (en) | Creation of cyclic dragonfly and megafly cable patterns | |
WO2023279834A1 (zh) | 分配地址的方法、确定节点的方法、装置及存储介质 | |
CN114157668B (zh) | 多租户跨集群的组网方法、通信系统和可读存储介质 | |
Wang et al. | Research on Node Deployment Strategy in Multi-Server/Cluster Emulation Platform for Space Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |