一种设备内部通信建立方法及装置与流程

文档序号:31513299发布日期:2022-09-14 11:34阅读:45来源:国知局
一种设备内部通信建立方法及装置与流程

1.本发明涉及通信领域,具体而言,涉及一种设备内部通信建立方法及装置。


背景技术:

2.一台设备可由多个处理器组成,并对外还设置有网口,通过网络交换芯片可将设备的所有处理器进行连接。
3.当设备通过网络与外部通信时,必须需要有网际互联协议(internet protocol,ip)地址,ip地址通常是主处理器/主系统级芯片(system on chip,soc)的ip地址。如图1(a)和图1(b)所示的:
4.a)主soc可支持双网卡,其中一个网卡直接对外,另外一个网卡与内部的其它处理器连接;
5.b)主soc可只有单网卡,对外的网口也是从内部的交换芯片中出去的。
6.在实际的设备制造生产过程中,通常是模块化生产,各个硬件子系统会独立生产,最后进行整机组装,图2是在相关技术中可能的一种模块化生产模式。如图2所示,单独生产主处理器的硬件子系统a(主soc),和单独生产硬件子系统b(从soc),整机组装时,彼此通过必要的线缆接上,图2示意了通信相关的线缆,另外,网络交换芯片可以在系统a上,也可以在系统b上,或是单独的将交换芯片作为一块单独的板卡。
7.子系统之间通过网络进行互联,每个子系统都有独立的网卡能通过中间的交换芯片实现数据交换。在网络通信中,是通过网络ip地址作为网络标识,如果需要跟对方链接,则需要知道对方的ip地址,最简单的方式就是每个子系统都固定ip,比如子系统a固定ip地址是192.168.1.100,子系统b固定ip是192.168.1.101,子系统c固定ip是192.168.1.102,这样设备启动后,每个子系统,都能通过已经约定的固定ip地址进行通信。但是如果两台相同的设备接在一起,同时上电启动,则可能会发生跨设备子系统连接的情况。如图3所示,设备#1和设备#2同时上电,各个系统在网络中都是互联互通,设备#1的子系统c就有可能连上设备#2的子系统b,尤其是当各个子系统在上电启动速度不一致的情况下,比如设备#1先上电启动,设备#1的各个子系统彼此建立连接是没问题的,这个时候设备#2启动,由于设备#2的各个子系统启动速度不一致,假设设备#2的子系统a先起来,而子系统c还没起来,则子系统a连接ip-192.168.1.102,就有可能连接到设备#1的子系统c中。如果在项目现场,可能会有多个这样的设备在一个网络环境中工作,则出现跨设备子系统相互连接的情况就非常大的概率出现。
8.此外,设备对外的ip是可以被用户修改的,而由于用户是不知道设备内部的工作逻辑,因而当设备内部有固定ip时,若用户在外部修改ip则容易出现与内部ip冲突的风险,例如,如图4所示的,用户在外部可看到设备#1的ip为10.30.5.210和设备#2的ip为10.30.5.211,若用户对设备#1或/和设备#2的ip进行修改,由于不知道设备内部的实现逻辑,因而有可能将设备#1或/和设备#2的ip改成192.168.1.xxx,此时,设备修改后的ip就会与内部ip产生冲突。


技术实现要素:

9.本发明实施例提供了一种设备内部通信建立方法及装置,以至少解决相关技术中容易出现子系统跨设备连接以及设备内部ip冲突的问题。
10.根据本发明的一个实施例,提供了一种设备内部通信建立方法,所述设备包括多个子系统,所述多个子系统通过网络交换子系统连接,所述方法包括:在所述设备上电后,为每个所述子系统配置一个默认的ip地址,并关闭所述设备的对外的网络端口;所述多个子系统中的第一子系统通过默认的ip地址向所述多个子系统中的其它子系统发送广播消息,其中,所述广播消息中携带所述第一子系统的信息,并接收所述其他子系统返回的回复消息;在确定所述第一子系统收到所有其它子系统的回复消息后,删除每个所述子系统上配置的默认ip地址,并开启所述设备的对外的网络端口;所述第一子系统根据收到的所述回复消息中携带的链路层地址与所述其它子系统进行内部通信。
11.在一个示例性实施例中,其中,所述每个子系统配置的默认ip地址属于同一子网。
12.在一个示例性实施例中,关闭所述设备的对外的网络端口,包括:所述第一子系统通过控制总线向网络交换子系统发送第一命令,所述网络交换子系统根据所述第一命令关闭对外的网络端口。
13.在一个示例性实施例中,所述第一子系统向网络交换子系统发送第一命令之前,包括:设置所述网络交换子系统的供电系统默认状态为断电状态,通过控制器触发通电;或,设置网络交换芯片工作引脚,通过输入电平切换所述网络交换子系统的供电系统状态。
14.在一个示例性实施例中,所述多个子系统中的第一子系统通过默认的ip地址向所述多个子系统中的其它子系统广播所述广播消息之后,还包括:每个接收到所述广播消息的子系统,保存所述广播消息,并以单播或广播的方式向所述第一子系统发送回复消息,其中,所述回复消息中携带该子系统自身的信息。
15.在一个示例性实施例中,所述第一子系统并接收所述其他子系统返回的回复消息,包括:若第一子系统在预设时长内接收到所有第二子系统的回复消息,则所述第一子系统结束向第二子系统发送广播消息;若第一子系统在预设时长内未能接收到所有第二子系统的回复消息,则第一子系统判定未返回回复消息的第二子系统为启动异常。
16.在一个示例性实施例中,在确定所述第一子系统收到所有其它子系统的回复消息后,还包括:所述第一子系统通过点播的方式向其他子系统发送确认消息。
17.在一个示例性实施例中,在确定所述第一子系统收到所有其它子系统的回复消息后,删除每个所述子系统上配置的默认ip地址,包括:除保留对外子系统的默认ip地址,删除其余子系统默认的ip地址,其中,对外子系统为所有子系统中的任一子系统。
18.具体地,例如,第一子系统给其他子系统发送广播消息a,其他子系统接收到消息a后分别向第一子系统回复消息b,第一子系统再根据接收到的消息向对应的其他子系统回复确认消息c,各其他子系统在接收到确认消息c后删除自己的默认ip,第一子系统在收集完其他子系统的信息后可删除自己的默认ip。
19.在一个示例性实施例中,开启所述设备的对外的网络端口,包括:所述第一子系统向网络交换子系统发送第二命令,所述网络交换子系统根据第二命令开启对外网络端口。
20.在一个示例性实施例中,在所述第一子系统根据收到的所述回复消息中携带的链路层地址与所述其它子系统进行内部通信之后,还包括:各个子系统上的应用程序通过
socket通信进行数据交互。
21.在一个示例性实施例中,其中,所述广播消息和回复消息中至少包括:消息发起者标识、消息类型、消息发起者的mac地址或链路本地地址。
22.根据本发明的另一个实施例,提供了一种设备内部通信建立装置,应用于包括多个子系统的设备,包括:配置模块,用于在所述设备上电后,为每个所述子系统配置一个默认的ip地址,并关闭所述设备的对外的网络端口;广播模块,用于基于默认的ip地址,通过所述多个子系统中的第一子系统向其它子系统发送广播消息,其中所述广播消息中携带所述第一子系统的信息,并接收所述其他子系统返回的回复消息;删除模块,用于在所述第一子系统收到所有其它子系统的回复消息后,删除每个所述子系统上配置的默认ip地址,并开启所述设备的对外的网络端口;通信模块,用于根据所述回复消息中携带的链路层地址与所述其它子系统进行内部通信。
23.在一个示例性实施例中,还包括:发送模块,用于在所述第一子系统收到所有其它子系统的回复消息后,通过点播方式向其他子系统发送确认消息。
24.根据本发明的又一个实施例,提供了一种设备内部通信建立装置,应用于第二子系统中,包括:
25.回复模块,用于通过默认ip地址持续向第一子系统回复回复消息,直至收到所述第一子系统的第二回复消息;还用于通过单播或广播的形式向第一子系统回复第二子系统信息。
26.根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
27.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
28.在本发明的上述实施例中,设备内的各子系统通过默认的ip地址进行通信,通过默认的ip地址子系统的链路层地址,再将获取的链路层地址用于设备的内部通信,从而,可以解决相关技术中容易出现子系统跨设备连接以及设备内部ip冲突的问题,达到可避免设备内部通信时产生的地址冲突的效果。
附图说明
29.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
30.图1是相关技术中设备内部组成示意图;
31.图2是相关技术中一种模块化生产模式示意图;
32.图3是相关技术中子系统跨设备连接示意图;
33.图4是相关技术中设备内部ip冲突示意图;
34.图5是本发明实施例的一种设备内部通信建立方法的计算机终端的硬件结构框图;
35.图6是根据本发明实施例的设备内部通信建立的流程图;
36.图7是根据本发明实施例的设备内部通信建立装置的结构框图;
37.图8是根据本发明实施例的设备内部构造示意图;
38.图9是根据本发明实施例的设备内部系统简化示意图;
39.图10是根据本发明实施例的设备内部系统组成示意图;
40.图11是根据本发明实施例的设备内部通信建立方法的流程图;
41.图12是根据本发明实施例的消息结构示意图。
具体实施方式
42.下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
43.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
44.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图5是本发明实施例的一种设备内部通信建立方法的计算机终端的硬件结构框图。如图5所示,计算机终端50可以包括一个或多个(图5中仅示出一个)处理器502(处理器502可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器504,可选地,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备508。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端50还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。
45.存储器504可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备内部通信建立方法对应的计算机程序,处理器502通过运行存储在存储器504内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器504可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器504可进一步包括相对于处理器502远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端50。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
46.传输装置506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端50的通信供应商提供的无线网络。在一个实例中,传输装置506包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置506可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
47.在本实施例中提供了一种运行于上述计算机终端的设备内部通信建立方法,图6是根据本发明实施例的设备内部通信建立的流程图,如图6所示,该流程包括如下步骤:
48.步骤s602,在所述设备上电后,为每个所述子系统配置一个默认的ip地址,并关闭所述设备的对外的网络端口;
49.具体地,在本实施例中,第一子系统通过控制总线向网络交换子系统发送第一命令,所述网络交换子系统根据所述第一命令关闭对外的网络端口。
50.在本实施例的步骤s602之前,可设置所述网络交换子系统的供电系统默认状态为断电状态,通过控制器触发通电;或,设置网络交换芯片工作引脚,通过输入电平切换所述
网络交换子系统的供电系统状态。
51.在本实施例中,所述每个子系统配置的默认ip地址属于同一子网。
52.步骤s604,所述多个子系统中的第一子系统通过默认的ip地址向所述多个子系统中的其它子系统发送广播消息,其中,所述广播消息中携带所述第一子系统的信息,并接收所述其他子系统返回的回复消息。
53.具体地,例如,在本实施例的步骤s604中:第一子系统持续向其他子系统发送广播消息a,直至收集全其他子系统信息;每个接收到所述广播信息a的子系统,保存所述广播信息a,并以单播或广播的方式分别向所述第一子系统发送回复消息b1、b2
……
bn,其中,所述回复消息bn中携带各子系统自身的信息;第一子系统接收到回复消息b1、b2
……
bn后,通过点播方式向对应的其他子系统回复确认消息c1、c2
……
cn;在本实施例中,其它子系统在没有收到确认消息cn前,会定期的发送回复消息bn以确保第一子系统能收到回复消息bn。
54.在本实施例中,若第一子系统在预设时长内接收到所有其他系统的回复消息bn,则所述第一子系统结束向其他子系统发送广播消息a;若第一子系统在预设时长内未能接收到所有其他子系统的回复消息bn,则第一子系统判定未返回回复消息bn的其他子系统为启动异常。
55.步骤s606,在确定所述第一子系统收到所有其它子系统的回复消息后,删除每个所述子系统上配置的默认ip地址,并开启所述设备的对外的网络端口;
56.具体地,例如,除对外子系统可保留默认ip地址,其它子系统在收到cn消息后,停止发送bn消息,并且删除自己的默认ip;第一子系统在信息收集全后,第一子系统停止发送广播消息a,并且删除自己的默认ip,其中,对外子系统为所有子系统中的任一子系统。在本实施例步骤s606中,还可以包括:所述第一子系统向网络交换子系统发送第二命令,所述网络交换子系统根据第二命令开启对外网络端口。
57.步骤s608,所述第一子系统根据收到的所述回复消息中携带的链路层地址与所述其它子系统进行内部通信。
58.具体地,在本实施例步骤s608之后,还可以包括:各个子系统上的应用程序通过socket通信进行数据交互。
59.在一个示例性实施例中,其中,所述广播消息和回复消息中至少包括:消息发起者标识、消息类型、消息发起者的mac地址或链路本地地址。
60.通过上述步骤,由于设备子系统间通过“三次握手”机制获取链路层地址,根据链路层地址进行内部通信。因此,可以解决相关技术中容易出现子系统跨设备连接以及设备内部ip冲突的问题,达到可避免设备内部通信时产生的地址冲突的效果。
61.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
62.在本实施例中还提供了一种设备内部通信建立装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定
功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
63.图7是根据本发明实施例的设备内部通信建立装置的结构框图,该装置应用于包括多个子系统的设备,如图7所示,该装置包括:配置模块10、广播模块20、删除模块30和通信模块40。
64.配置模块10,用于在所述设备上电后,为每个所述子系统配置一个默认的ip地址,并关闭所述设备的对外的网络端口;
65.广播模块20,用于基于默认的ip地址,通过所述多个子系统中的第一子系统向其它子系统发送广播消息,其中所述广播消息中携带所述第一子系统的信息,并接收所述其他子系统返回的回复消息;
66.删除模块30,用于在确定所述第一子系统收到所有其它子系统的回复消息后,删除每个所述子系统上配置的默认ip地址,并开启所述设备的对外的网络端口;
67.通信模块40,用于根据所述回复消息中携带的链路层地址与所述其它子系统进行内部通信。
68.发送模块50,用于在所述第一子系统收到所有其它子系统的回复消息后,通过点播方式向其他子系统发送确认消息。
69.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
70.为了便于对本发明所提供的技术方案的理解,下面将结合具体场景的实施例进行详细描述
71.在相关技术中,通常会采用vlan划分子网的方式解决内外网ip冲突或者隔离,这种方法需要采用到的网络交换芯片或者路由器芯片支持vlan功能,在硬件成本上会有一定的增加。
72.本发明提出了一种不固定ip的方式的整机内部通信方式。通常应用程序相互通信是采用socket进行编程,使用tcp(transmission control protocol,传输控制协议)或者udp(user datagram protocol,用户数据包协议)方式进行数据通信,而socket进行跨系统通信,ip地址就是通信节点的标识符,如果不固定ip地址,则必须在解决通信之前,获知到所有系统的ip地址。
73.现有的网络交换芯片都配置有总线,在硬件设计中,为了能使得网络交换芯片工作,都会与一个处理器芯片连接,处理器上的程序会对网络交换芯片进行参数配置。图8是根据本发明实施例的设备内部构造示意图,如图8所示,子系统a通过控制总线(例如:两线式串行(inter-integrated circuit,i2c)总线、串行外设接口(serial peripheral interface,spi)总线或者通用异步收发传输器(universal asynchronous receiver/transmitter,uart)总线),在组装过程中,通过线缆接插方式连接。为了简化,在本实施例中示意了两个子系统,以及一个交换机芯片对外的网口,外部设备通过端口3(port3)与整机设备进行网络通信,其中,子系统a的ip地址是这台设备整机的ip地址。
74.在网络交互芯片的选型上,选择可以单独控制每个port的使能开关(即大部分主流都是支持可配置)。
75.图9是根据本发明实施例的设备内部系统简化示意图,如图9所示,选定设备中的一个处理器子系统作为“控制器”,网络交换子系统可根据产品中的硬件选型设置多个port(例如,在本实施例中示意了6个),其中一个port用来作为设备整机与外部的通信,即图9中选定的p1,其它port作为与设备内部的其它处理器子系统连接。
76.在相关技术中,每个参与网络通信的系统,都需要有一个网卡,网卡具有ip地址和mac地址,mac地址是全球唯一,而整机设备中各子系统的ip地址不能固定,而要进行网络通信,就必须在ip地址不固定的情况下,感知到彼此的ip地址。
77.在ipv6的网络地址体系中,ipv6地址分为单播地址、任播地址(anycast address)、组播地址三种类型。ipv6单播地址分为:全局单播地址(类似ipv4的公有地址)、链路本地地址和站点本地地址(类似ipv4的私有网络地址)。
78.ipv6单播地址中的接口标识符用来标识链路上的唯一的一个接口。目前ipv6单播地址基本上都要求接口标识符为64位。ieee eui-64格式的接口标识符是从接口的链路层地址(mac地址)转换而来的。
79.图10是根据本发明实施例的设备内部系统构成示意图,如图10所示,设备由子系统(例如,a、b、c
……
)和网络交换子系统构成,其中一个子系统上有一个控制器,这个控制器是一个软件模块,负责通过控制总线向网络交换子系统配置参数或命令。其中,含有控制器的子系统可以是a、b、c
……
中任意一个,在本实施例中为子系统a。
80.图11是根据本发明实施例的设备内部通信建立方法的流程图,如图11所示,该方法包括如下步骤:
81.步骤s1101,设备整机上电。
82.具体地,设备整机上电前,通过硬件电路将网络交换子系统设计成默认不工作状态;
83.a)可以是对网络交换子系统的供电系统进行设计,默认是断电状态,需要控制器进行触发通电;
84.b)也可以是网络交换芯片工作引脚的配置,默认工作信号的输入电平;
85.设备整机上电后,为各个子系统(例如,a、b、c、
……
)配置一个默认的ip,比如:192.168.0.1、192.168.0.2、192.168.0.3、
……
,其中,各子系统的默认ip在同一个子网中;
86.步骤s1102,设备整机上电后,控制器通过控制总线向网络交换子系统中发送命令或配置参数,使能关闭对外的网络端口。
87.具体地,如果网络交换子系统是设计成默认未通电状态,则设备整机上电后,通过触发信号给网络子系统通电。当网络交换子系统在收到命令或参数后,关闭对外的网络端口(即上述实施例中的port#1)。
88.步骤s1103,子系统a发送广播消息和自身信息,其中自身信息包括:系统编号和链路地址。
89.具体地,子系统a(即控制器所在的子系统)先通过ipv4进行定时广播。在本实施例中,可以设定一个持续时间,比如定时广播1分钟,每次发送广播间隔2秒,以确保其它子系统(即b、c、
……
)有充裕的时间,能够在正常启动后收到来自子系统a的广播信息。
90.步骤s1104,其他子系统回复确认字符(acknowledge character,ack)消息以及自身的信息,其中,其他子系统的自身信息包括:系统编号和链路地址。
91.具体地,当其它子系统收到来自子系统a的广播消息后,可以以单播回复或广播的形式将自己的信息发送出去,在本实施例中,可以根据产品需要选择,例如,如果其它子系统需要相互通信,则可以采用广播的方式,否则可以采用单播回复,减少网络环境中报文的数量,对于本实施例中,由于设备数量不是很多、且频次不是很高,所以单播或组播回复都可以。
92.步骤s1105,子系统a向其他子系统发送确认消息。
93.具体地,子系统a发送广播消息的同时也开始接受其它子系统的消息回复。为了使得其它子系统能够确定子系统a收到了自己的回复消息,子系统a向每个已经收到回复的其它子系统,单点发送确认消息。
94.在本实施例中,其它子系统在未收到来自子系统a的确认消息之前,需要持续的向a回复确认消息,直到收到子系统a的确认消息收到为止,然后退出此环节,同时将自己的默认ipv4地址删除掉;
95.在本实施例中,子系统a收到其它子系统的消息回复后可以保存下来;
96.在本实施例中,如果子在预设时间内(比如预设时间为持续1分钟),子系统a收到了所有其它子系统的消息回复后,可以提前结束广播消息的发送;如果在预设的时间内,子系统未能将所有其它子系统的信息收集完成,则子系统a判定为其它子系统启动异常。在本实施例中,可以根据未收到的子系统的重要性,是否影响整机设备的正常工作,决定当前设备启动是否正常,或是有必要的情况下给出提示信息。
97.在本实施例中,子系统a收集完所有子系统的信息后或者确认个别子系统信息缺失的不影响设备正常工作的情况下,子系统a删除在广播时自身使用的ipv4地址。
98.在本实施例中,除了整机设备对外的子系统保留对外的ip地址外,其它的ipv4地址都删除掉,其中,对外的子系统可以是子系统a或其他子系中任意一个。
99.步骤s1106,子系统a向网络交换子系统发送命令或配置参数,开启对外网络端口的,使得整机对外的网络通路被使能打开。
100.在本实施例中,子系统a收集到的信息中包含了各个子系统的链路层地址(即ieee eui-64格式的接口标识符),该链路层地址就是一个ipv6地址,最终各子系统间通过socket通信使用ipv6进行内部通信。
101.本发明实施例还提供一种消息结构,图12是根据本发明实施例的消息结构示意图,如图12所示,该消息结构包括:
102.sub-system id:用于标识是哪个子系统(a、b、c、
……
)发出来的;
103.message type:用于标识消息类型
104.具体地,0:子系统a主动发起的消息;1:其它子系统回复的ack消息;2:子系统a收到回复消息后的确认消息;
105.message payload:可以直接是链路地址,或是mac地址(因为mac地址可以转换成链路地址),最终使用的还是链路地址。
106.在本发明实施例提供的解决设备内部通信与外部通信冲突的方法,具有以下特点:
107.1.内部采用网络交换机芯片或是路由器芯片将多系统连接,并且采用非固定ip地址的方式进行socket数据通信;
108.整体对外一个端口,且其中一个处理器子系统作为主系统与设备外进行数据交互。
109.2.在ip地址不固定,且各个子系统彼此之间的ip地址未知的情况下,采用广播方式将子系统自己的信息公布出去。
110.3.为防止在信息广播的过程中发生跨设备信息传播,从而导致收集到跨设备的信息,在本实施例中提出了硬件电路设计方案,即:网络交换子系统在未收到控制子系统发送过来的命令或参数之前,网络交换子系统默认不工作,至少是整机对外的网络硬件接口不工作。
111.4.为了确保广播过程中,数据能够相互接受到,在本实施例中,提出要求各个子系统在每次上电时,会默认配置一个同网段的不同ipv4地址。
112.5.为了使得网络交换子系统能够受控,设置一个控制子系统以能够输出控制信息,从而可以控制网络交换子系统的各端口的开关状态。
113.6.为了确保各子系统在网络交换芯片关闭对外网络硬件接口之后才开始信息广播,在本实施例中,提出要求控制子系统作为主动发起者,且在关闭网络交换子系统对外网络接口之后,发起信息广播。
114.7.为了确保整个广播信息的过程中,控制子系统能够完整的收集到所有需要收集的其它子系统信息,在本实施例中,提出了消息的“三次握手”机制:控制子系统主动发起广播消息、其它子系统收到广播消息后回复消息、控制子系统收到其它子系统的回复消息后再发出一个确认消息。这三次握手采用广播+单播+自定义消息内容的组合方式,区别于tcp/ip底层的链接建立过程。
115.8.为了使得广播过程中能够感知到各个子系统的信息,设计了一种消息结构,该消息至少包含:消息的发起者身份标识、消息类型、消息的发起者的mac地址或链路本地地址(link-local address)。
116.9.为了解决采用ipv4地址可能与设备外部的ip发生冲突,在本实施例中,提出在信息收集完成后,会将广播时所使用的ipv4地址清除。
117.10.为了解决采用tcp/ip通信,并且使用socket方式编程,在本实施例中,提出采用ipv6地址方式进行socket通信,使得各个子系统上的应用程序可以通过socket通信进行数据交互。
118.11.为了解决采用ipv6地址通信可能会同样面临ipv4地址通信中存在的地址冲突问题,在本实施例中,提供选用本地链路地址(link-local address),该地址确保了在mac地址全球唯一的前提下,通过mac地址可以转换出全球唯一的本地链路地址(link-local address),后续各个子系统上的应用程序可以通过socket通信进行数据交互。
119.12.为了解决设备整机对外网络联通的问题,设计了在内部各个子系统感知到彼此的ipv6链路本地地址之后,由控制子系统发送命令,让网络交换子系统打开整机对外的网络接口。
120.本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
121.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬
盘、磁碟或者光盘等各种可以存储计算机程序的介质。
122.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
123.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
124.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
125.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
126.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1