CN110995492B - 一种基于c/s结构的自动定位方法 - Google Patents
一种基于c/s结构的自动定位方法 Download PDFInfo
- Publication number
- CN110995492B CN110995492B CN201911250503.3A CN201911250503A CN110995492B CN 110995492 B CN110995492 B CN 110995492B CN 201911250503 A CN201911250503 A CN 201911250503A CN 110995492 B CN110995492 B CN 110995492B
- Authority
- CN
- China
- Prior art keywords
- network
- address
- client
- server
- port1
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
-
- 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/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于C/S结构的自动定位方法,基于C/S结构的整机系统包括服务器和n个客户端,所述服务器和客户端均外接两个网络端口;所述整机系统的网络连接采用菊花链路网络拓扑结构将服务器和客户端连接成一个环路;所述基于C/S结构的自动定位方法包括:服务器根据客户端需求分配IP地址;客户端根据固定时间切换网络端口并按周期主动请求IP地址,接收到分配IP地址后完成IP地址和网络端口的配置。本发明实现的基于C/S结构的自动定位方法中,在服务器和客户端设备都正常的情况下,处理时间只需要不到15s即可完成自动识别定位,当其中有设备出现故障的情况下,也可保证在50s内完成。
Description
技术领域
本发明涉及通信技术领域,尤其是一种基于C/S结构的自动定位方法。
背景技术
在很多小型协同工作的系统中采用C/S(客户端/服务器)体系结构来实现数据的分区传输和控制,服务端设备与客户端设备通常采用菊花链路网络拓扑结构依次连接。一般服务器端选用的都是具有强大运算、处理能力并带有操作系统的芯片,而客户端由于功能比较简单,只用于模式控制和数据转发等,一般选用如STM32系列等成本低、功耗低、易于开发的产品。对于多客户端系统,在设备初始化阶段,在没有动态主机配置(DHCP)协议服务器情况下,客户端能用代码最少,处理时间最短的方式根据自己所处位置自动识别定位,既可以缩短整个系统启动的时间,也可以减少因某个客户端设备故障引起系统重新布置数据链路通信的麻烦。
目前在这种基于C/S体系结构的系统中对客户端定位的方法采用在启动阶段手动更改代码配置IP地址。这种方法的弊端是随着客户端数量的增加,手动配置的工作量也在成倍的增加,而且当某个设备出现故障,不满足整个环路数据通信需求时,还需对邻近设备IP地址和链路状态重新配置。这无疑增加了整个系统运营维护的成本,而且这种方法对维护人员的专业能力也要求特别高。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供一种基于C/S结构的自动定位方法。
本发明采用的技术方案如下:
一种基于C/S结构的自动定位方法,基于C/S结构的整机系统包括服务器和n个客户端,所述服务器和客户端均外接两个网络端口;所述整机系统的网络连接采用菊花链路网络拓扑结构将服务器和客户端连接成一个环路;
所述基于C/S结构的自动定位方法包括:
服务器根据客户端需求分配IP地址;
客户端根据固定时间切换网络端口并按周期主动请求IP地址,接收到分配IP地址命令后完成IP地址和网络端口的配置。
进一步,所述服务器根据客户端需求分配IP地址的方法包括如下子步骤:
(1)整机系统上电,完成系统正常工作所需硬件设备初始化;
(2)配置服务器的IP地址为ip1并打开网络接收端口k,将客户端需求分配IP地址依次放入IPAddr数组中,IPAddr数组前向索引forword置为0,IPAddr数组后向索引backword置为n-1;
(3)将网络端口切换状态portFlag设置为网络端口1,自动定位等待时间sysWaitTime设置为t,客户端IP地址数IPCount设置为n;
(4)判断当前任务执行时间,如果超出自动定位等待时间sysWaitTime,自动定位功能结束,退出执行系统主任务,如果没有超出自动定位等待时间sysWaitTime,则继续执行步骤(5);
(5)客户端IP地址数IPCount如果为0,自动定位功能结束,退出执行系统主任务,如果不为0,继续执行步骤(6);
(6)网络端口1累计打开次数openPort1如果为2,网络端口2分配IP地址port2_IP大于0,自动定位功能结束,退出执行系统主任务,否则继续执行步骤(7);
(7)网络端口切换状态portFlag如果为网络端口1,执行步骤(8)~(12),否则,执行步骤(13)~(17);
(8)打开网络端口1,关闭网络端口2,并且网络端口1累计打开次数openPort1加1;
(9)当网络端口2累计打开次数openPort2大于0时,将系统等待时间waitTime设置为t1,当openPort2等于0时,将系统等待时间waitTime设置为t2;
(10)在系统等待时间waitTime内判断网络端口1累计打开次数openPort1,如果openPort1为1,且网络端口1已分配IP地址port1_IP为2,则跳转到步骤(12);否则继续判断IP地址总数IPCount是否为0,若是则跳转到步骤(12),否则继续执行步骤(11);
(11)在系统等待时间waitTime内循环查询网络接收端口k,接收到IP请求数据报文,将IPAddr数组前向索引forword位置处的IP地址组装成IP分配地址报文发送给客户端,将客户端IP地址配置为ip2,网络接收端口k;发送完成后,等待接收IP配置完成命令,如果接收到IP配置完成命令,IPAddr数组前向索引forword加1,客户端IP地址数IPCount减1,网络端口1已分配IP地址port1_IP加1;如果没有接收到IP配置完成命令则继续等待,如果当前等待时间超出系统等待时间waitTime则执行步骤(11);
(12)网络端口切换状态portFlag设置为网络端口2,跳转到步骤(4);
(13)打开网络端口2,关闭网络端口1,并且网络端口2累计打开次数openPort2加1;
(14)当网络端口1分配IP地址port1_IP大于0时,将系统等待时间waitTime设置为t3,否则将系统等待时间waitTime设置为t4;
(15)在系统等待时间waitTime内判断IP地址总数IPCount是否为0,是则跳转到步骤(17),否则继续执行步骤(16);
(16)在系统等待时间waitTime内循环查询网络接收端口k,接收到IP请求数据报文,将IPAddr数组后向索引backword位置处的IP地址组装成IP分配地址报文发送给客户端,将客户端IP地址配置为ip2,网络接收端口k;发送完成后,等待接收IP配置完成命令,如果接收到IP配置完成命令,IPAddr数组后向索引backword减1,客户端IP地址数IPCount减1,网络端口2已分配IP地址port2_IP加1;如果没有接收到IP配置完成命令则继续等待,当等待时间超出系统等待时间waitTime则执行步骤(17);
(17)将网络端口切换状态portFlag设置为网络端口1,进行步骤(4)。
进一步,所述客户端根据固定时间切换网络端口并按周期主动请求IP地址,接收到分配IP地址命令后完成IP地址和网络端口的配置的方法包括如下子步骤:
(1)整机系统上电,完成系统正常工作所需硬件设备初始化;
(2)将客户端IP地址配置为ip2,并打开网络接收端口k;
(3)通过SPI总线控制打开网络端口1,关闭网络端口2,并开启1s定时器;
(4)当1s定时器时间到时,给服务器IP地址ip1、网络接收端口k周期发送IP请求数据报文;
(5)t3时间内循环查询接收服务器发送IP分配地址报文,如果接收到该条IP分配地址报文,首先关闭周期发送IP请求数据报文并将分配IP地址配置为本机地址,然后给服务器IP地址ip1、网络接收端口k发送IP配置完成命令,最后打开网络端口2,跳转到步骤(9);如果客户端当前IP地址尾号为整机系统形成的环路中间位置的一个客户端ip地址尾号ipx,继续等待接收服务器发送的所有IP地址都分配完成命令,如果收到则关闭网络端口2,跳转到步骤(9);如果没有收到,保持当前网络端口状态,跳转到步骤(9);如果当前IP地址尾号不是ipx,直接跳转到步骤(9);
(6)t3时间内没有收到服务器发送IP分配地址报文,则关闭网络端口1,打开网络端口2,当1s定时器时间到时,给服务器IP地址ip1、网络接收端口k周期发送IP请求数据报文;
(7)t4时间内循环查询接收服务器发送IP分配地址报文,如果接收到该条IP分配地址报文,首先关闭周期发送IP请求数据报文并将分配IP地址配置为本机地址,然后给服务器IP地址ip1、网络接收端口k发送IP配置完成命令,跳转到步骤(9);
(8)t4时间内没有收到服务器发送IP分配地址报文,客户端IP地址保持默认IP地址ip2,网络端口保持当前状态;
(9)客户端IP分配完成,退出执行主任务。
进一步,所述服务器和客户端的网络端口1和网络端口2均采用KSZ8567网络转换芯片实现。
进一步,所述网口端口1和网络端口2通过SPI总线控制进行打开和关闭操作。
进一步,所述客户端通过UDP数据协议给服务器IP地址ip1、网络接收端口k周期发送IP请求数据报文。
进一步,n=4。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明实现的基于C/S结构的自动定位方法中,在服务器和客户端设备都正常的情况下,处理时间只需要不到15s即可完成自动识别定位,当其中有设备出现故障的情况下,也可保证在50s内完成。
2、本发明中当某一个设备出现故障时,系统会根据当前正常的设备状态自动完成链路的重新搭建,不需要手动更改网络配置数据,大大提高了系统运行效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的基于C/S结构的自动定位方法的流程框图。
图2为本发明的服务器自动定位的流程框图。
图3为本发明的客户端自动定位的流程框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供的一种基于C/S结构的自动定位方法中,基于C/S结构的整机系统包括服务器和n个客户端,所述服务器和客户端均外接两个网络端口;所述整机系统的网络连接采用菊花链路网络拓扑结构将服务器和客户端连接成一个环路;
其中,服务器采用基于VxWorks操作系统的PowerPC P1101处理器完成系统工作模式的切换、自检、数据接收、协议转换、任务调度以及数据流向控制,客户端采用STM32F746VG微控制器完成终端传感器的控制和数据传输。服务器和客户端外接的两个网络端口,采用KSZ8567网络转换芯片完成数据的交换和传输;用户可通过SPI总线控制协议操作KSZ8567网络转换芯片的寄存器状态完成网络端口的打开和关闭操作和状态查询。
所述基于C/S结构的自动定位方法包括:
服务器根据客户端需求分配IP地址;
客户端根据固定时间切换网络端口并按周期主动请求IP,接收到分配IP地址后完成IP地址和网络端口的配置。
以下结合实施例对本发明的特征和性能作进一步的详细描述。
如图1所示,本实施例中,整机系统由服务器和4个客户端组成,所述整机系统实现约束如下:
(1)整机系统上电的时候,服务器和4个客户端设备的上电时间间隔不超过10s;
(2)服务器默认IP地址ip1为192.168.1.100,客户端默认IP地址ip2都为192.168.1.200,上电初始化完成后,通过IP自动分配需实现客户端1、客户端2、客户端3和客户端4的IP地址分别为192.168.1.11、192.168.1.22、192.168.1.33、192.168.1.44。客户端1、2、3、4的命名与设备无关,只与设备所处环路位置有关。当设备某一网络端口故障或设备故障,引起设备无法接收或发送网络数据实现本机自动识别定位时,系统也可通过切换服务器的网络端口,从另一条网络通路实现客户端的自动识别定位,并同时完成整个系统网络链路确认工作;
(3)整机系统上电后,当IP自动分配完成后,如果4个客户端都被识别,且工作状态都为正常,则需断开客户端2和客户端3的连接,以防整个系统网络形成环路,数据回流,影响系统整体功能的实现;
(4)整机系统中,所有设备上电初始化完成后,服务器和客户端设备都统一默认先打开网络端口1,关闭网络端口2;
(5)整机系统完成自动识别定位的时间不超过50s。
为了在满足上述约束条件下实现自动识别定位功能,服务器和客户端还需明确数据通信的网络接收端口和数据协议。网络接收端口k统一采用6600,数据协议见表1。
表1:
所述基于C/S结构的自动定位方法包括:服务器自动定位和客户端自动定位两个部分,其中,
服务器自动定位为:服务器根据客户端需求分配IP地址;
客户端自动定位为:客户端按周期切换网络端口主动请求IP,接收到分配IP地址后完成IP地址和网络端口的配置。
如图2所示,所述服务器根据客户端需求分配IP地址的方法包括如下子步骤:
(1)整机系统上电,完成系统正常工作所需硬件设备初始化;
(2)配置服务器的IP地址为ip1(192.168.1.100)并打开网络接收端口k(6600),将客户端需求分配IP地址(客户端1:192.168.1.11;客户端2:192.168.1.22;客户端3:192.168.1.33;客户端4:192.168.1.44)依次放入IPAddr数组中,IPAddr数组前向索引forword置为0,IPAddr数组后向索引backword置为3;
(3)将网络端口切换状态portFlag设置为网络端口1,自动定位等待时间sysWaitTime设置为t=50s,客户端IP地址数IPCount设置为4;
(4)判断当前任务执行时间,如果超出自动定位等待时间sysWaitTime(t=50s),自动定位功能结束,退出执行系统主任务,如果没有超出自动定位等待时间sysWaitTime(t=50s),则继续执行步骤(5);
(5)客户端IP地址数IPCount如果为0,自动定位功能结束,退出执行系统主任务,如果不为0,继续执行步骤(6);
(6)网络端口1累计打开次数openPort1如果为2,网络端口2分配IP地址port2_IP大于0,自动定位功能结束,退出执行系统主任务,否则继续执行步骤(7);
(7)网络端口切换状态portFlag如果为网络端口1,执行步骤(8)~(12),否则,执行步骤(13)~(17);
(8)通过SPI总线控制打开网络端口1,关闭网络端口2,并且网络端口1累计打开次数openPort1加1;
(9)当网络端口2累计打开次数openPort2大于0时,将系统等待时间waitTime设置为t1=20s,当openPort2等于0时,将系统等待时间waitTime设置为t2=10s;
(10)在系统等待时间waitTime内判断网络端口1累计打开次数openPort1,如果openPort1为1,且网络端口1已分配IP地址port1_IP为2,则跳转到步骤(12);否则继续判断IP地址总数IPCount是否为0,若是则跳转到步骤(12),否则继续执行步骤(11);
(11)在系统等待时间waitTime内循环查询网络接收端口k(6600),接收到IP请求数据报文,将IPAddr数组前向索引forword位置处的IP地址组装成IP分配地址报文发送给客户端,将客户端IP地址配置为ip2(192.168.1.200),网络接收端口k(6600);发送完成后,等待接收IP配置完成命令,如果接收到IP配置完成命令,IPAddr数组前向索引forword加1,客户端IP地址数IPCount减1,网络端口1已分配IP地址port1_IP加1;如果没有接收到IP配置完成命令则继续等待,如果当前等待时间超出系统等待时间waitTime则执行步骤
(11);
(12)网络端口切换状态portFlag设置为网络端口2,跳转到步骤(4);
(13)通过SPI总线控制打开网络端口2,关闭网络端口1,并且网络端口2累计打开次数openPort2加1;
(14)当网络端口1分配IP地址port1_IP大于0时,将系统等待时间waitTime设置为t3=30s,否则将系统等待时间waitTime设置为t4=10s;
(15)在系统等待时间waitTime内判断IP地址总数IPCount是否为0,是则跳转到步骤(17),否则继续执行步骤(16);
(16)在系统等待时间waitTime内循环查询网络接收端口k(6600),接收到IP请求数据报文,将IPAddr数组后向索引backword位置处的IP地址组装成IP分配地址报文发送给客户端,将客户端IP地址配置为ip2(192.168.1.200),网络接收端口k(6600);发送完成后,等待接收IP配置完成命令,如果接收到IP配置完成命令,IPAddr数组后向索引backword减1,客户端IP地址数IPCount减1,网络端口2已分配IP地址port2_IP加1;如果没有接收到IP配置完成命令则继续等待,当等待时间超出系统等待时间waitTime则执行步骤(17);
(17)将网络端口切换状态portFlag设置为网络端口1,进行步骤(4)。
如图3所示,所述客户端根据固定时间切换网络端口并按周期主动请求IP地址,接收到分配IP地址命令后完成IP地址和网络端口的配置的方法包括如下子步骤:
(1)整机系统上电,完成系统正常工作所需硬件设备初始化;
(2)将客户端IP地址配置为ip2(192.168.1.200),并打开网络接收端口k(6600);
(3)通过SPI总线控制打开网络端口1,关闭网络端口2,并开启1s定时器;
(4)当1s定时器时间到时,通过UDP数据协议给服务器IP地址ip1(192.168.1.100)、网络接收端口k(6600)周期发送IP请求数据报文;
(5)30s内循环查询接收服务器发送IP分配地址报文,如果接收到该条IP分配地址报文,首先关闭周期发送IP请求数据报文并将分配IP地址配置为本机地址,然后给服务器IP地址ip1(192.168.1.100)、网络接收端口k(6600)发送IP配置完成命令,最后打开网络端口2,跳转到步骤(9);如果客户端当前IP地址尾号为整机系统形成的环路中间位置的一个客户端ip地址尾号ipx(如本实施例的客户端3的尾号33),继续等待接收服务器发送的所有IP地址都分配完成命令,如果收到则关闭网络端口2,跳转到步骤(9);如果没有收到,保持当前网络端口状态,跳转到步骤(9);如果当前IP地址尾号不是ipx(33),直接跳转到步骤(9);
(6)30s内没有收到服务器发送IP分配地址报文,则关闭网络端口1,打开网络端口2,当1s定时器时间到时,通过UDP数据协议给服务器IP地址ip1(192.168.1.100)、网络接收端口k(6600)周期发送IP请求数据报文;
(7)10s内循环查询接收服务器发送IP分配地址报文,如果接收到该条IP分配地址报文,首先关闭周期发送IP请求数据报文并将分配IP地址配置为本机地址,然后给服务器IP地址ip1(192.168.1.100)、网络接收端口k(6600)发送IP配置完成命令,跳转到步骤(9);
(8)10s内没有收到服务器发送IP分配地址报文,客户端IP地址保持默认IP地址ip2(192.168.1.200),网络端口保持当前状态;
(9)客户端IP分配完成,退出执行主任务。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于C/S结构的自动定位方法,其特征在于,基于C/S结构的整机系统包括服务器和n个客户端,所述服务器和客户端均外接两个网络端口;所述整机系统的网络连接采用菊花链路网络拓扑结构将服务器和客户端连接成一个环路;
所述基于C/S结构的自动定位方法包括:
服务器根据客户端需求分配IP地址;
客户端根据固定时间切换网络端口并按周期主动请求IP地址,接收到分配IP地址命令后完成IP地址和网络端口的配置;
所述服务器根据客户端需求分配IP地址的方法包括如下子步骤:
(1)整机系统上电,完成系统正常工作所需硬件设备初始化;
(2)配置服务器的IP地址为ip1并打开网络接收端口k,将客户端需求分配IP地址依次放入IPAddr数组中,IPAddr数组前向索引forword置为0,IPAddr数组后向索引backword置为n-1;
(3)将网络端口切换状态portFlag设置为网络端口1,自动定位等待时间sysWaitTime设置为t,客户端IP地址数IPCount设置为n;
(4)判断当前任务执行时间,如果超出自动定位等待时间sysWaitTime,自动定位功能结束,退出执行系统主任务,如果没有超出自动定位等待时间sysWaitTime,则继续执行步骤(5);
(5)客户端IP地址数IPCount如果为0,自动定位功能结束,退出执行系统主任务,如果不为0,继续执行步骤(6);
(6)网络端口1累计打开次数openPort1如果为2,网络端口2分配IP地址port2_IP大于0,自动定位功能结束,退出执行系统主任务,否则继续执行步骤(7);
(7)网络端口切换状态portFlag如果为网络端口1,执行步骤(8)~(12),否则,执行步骤(13)~(17);
(8)打开网络端口1,关闭网络端口2,并且网络端口1累计打开次数openPort1加1;
(9)当网络端口2累计打开次数openPort2大于0时,将系统等待时间waitTime设置为t1,当openPort2等于0时,将系统等待时间waitTime设置为t2;
(10)在系统等待时间waitTime内判断网络端口1累计打开次数openPort1,如果openPort1为1,且网络端口1已分配IP地址port1_IP为2,则跳转到步骤(12);否则继续判断IP地址总数IPCount是否为0,若是则跳转到步骤(12),否则继续执行步骤(11);
(11)在系统等待时间waitTime内循环查询网络接收端口k,接收到IP请求数据报文,将IPAddr数组前向索引forword位置处的IP地址组装成IP分配地址报文发送给客户端,将客户端IP地址配置为ip2,网络接收端口k;发送完成后,等待接收IP配置完成命令,如果接收到IP配置完成命令,IPAddr数组前向索引forword加1,客户端IP地址数IPCount减1,网络端口1已分配IP地址port1_IP加1;如果没有接收到IP配置完成命令则继续等待,如果当前等待时间超出系统等待时间waitTime则执行步骤(11);
(12)网络端口切换状态portFlag设置为网络端口2,跳转到步骤(4);
(13)打开网络端口2,关闭网络端口1,并且网络端口2累计打开次数openPort2加1;
(14)当网络端口1分配IP地址port1_IP大于0时,将系统等待时间waitTime设置为t3,否则将系统等待时间waitTime设置为t4;
(15)在系统等待时间waitTime内判断IP地址总数IPCount是否为0,是则跳转到步骤(17),否则继续执行步骤(16);
(16)在系统等待时间waitTime内循环查询网络接收端口k,接收到IP请求数据报文,将IPAddr数组后向索引backword位置处的IP地址组装成IP分配地址报文发送给客户端,将客户端IP地址配置为ip2,网络接收端口k;发送完成后,等待接收IP配置完成命令,如果接收到IP配置完成命令,IPAddr数组后向索引backword减1,客户端IP地址数IPCount减1,网络端口2已分配IP地址port2_IP加1;如果没有接收到IP配置完成命令则继续等待,当等待时间超出系统等待时间waitTime则执行步骤(17);
(17)将网络端口切换状态portFlag设置为网络端口1,进行步骤(4)。
2.根据权利要求1所述的基于C/S结构的自动定位方法,其特征在于,所述客户端根据固定时间切换网络端口并按周期主动请求IP地址,接收到分配IP地址命令后完成IP地址和网络端口的配置的方法包括如下子步骤:
(1)整机系统上电,完成系统正常工作所需硬件设备初始化;
(2)将客户端IP地址配置为ip2,并打开网络接收端口k;
(3)通过SPI总线控制打开网络端口1,关闭网络端口2,并开启1s定时器;
(4)当1s定时器时间到时,给服务器IP地址ip1、网络接收端口k周期发送IP请求数据报文;
(5)t3时间内循环查询接收服务器发送IP分配地址报文,如果接收到该条IP分配地址报文,首先关闭周期发送IP请求数据报文并将分配IP地址配置为本机地址,然后给服务器IP地址ip1、网络接收端口k发送IP配置完成命令,最后打开网络端口2,跳转到步骤(9);如果客户端当前IP地址尾号为整机系统形成的环路中间位置的一个客户端ip地址尾号ipx,继续等待接收服务器发送的所有IP地址都分配完成命令,如果收到则关闭网络端口2,跳转到步骤(9);如果没有收到,保持当前网络端口状态,跳转到步骤(9);如果当前IP地址尾号不是ipx,直接跳转到步骤(9);
(6)t3时间内没有收到服务器发送IP分配地址报文,则关闭网络端口1,打开网络端口2,当1s定时器时间到时,给服务器IP地址ip1、网络接收端口k周期发送IP请求数据报文;
(7)t4时间内循环查询接收服务器发送IP分配地址报文,如果接收到该条IP分配地址报文,首先关闭周期发送IP请求数据报文并将分配IP地址配置为本机地址,然后给服务器IP地址ip1、网络接收端口k发送IP配置完成命令,跳转到步骤(9);
(8)t4时间内没有收到服务器发送IP分配地址报文,客户端IP地址保持默认IP地址ip2,网络端口保持当前状态;
(9)客户端IP分配完成,退出执行主任务。
3.根据权利要求1所述的基于C/S结构的自动定位方法,其特征在于,所述服务器和客户端的网络端口1和网络端口2均采用KSZ8567网络转换芯片实现。
4.根据权利要求3所述的基于C/S结构的自动定位方法,其特征在于,所述网络端口1和网络端口2通过SPI总线控制进行打开和关闭操作。
5.根据权利要求1所述的基于C/S结构的自动定位方法,其特征在于,所述客户端通过UDP数据协议给服务器IP地址ip1、网络接收端口k周期发送IP请求数据报文。
6.根据权利要求1-5任一项所述的基于C/S结构的自动定位方法,其特征在于,n=4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911250503.3A CN110995492B (zh) | 2019-12-09 | 2019-12-09 | 一种基于c/s结构的自动定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911250503.3A CN110995492B (zh) | 2019-12-09 | 2019-12-09 | 一种基于c/s结构的自动定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110995492A CN110995492A (zh) | 2020-04-10 |
CN110995492B true CN110995492B (zh) | 2022-05-03 |
Family
ID=70091372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911250503.3A Active CN110995492B (zh) | 2019-12-09 | 2019-12-09 | 一种基于c/s结构的自动定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110995492B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651561A (zh) * | 2009-08-25 | 2010-02-17 | 中兴通讯股份有限公司 | 基于规则引擎的网络拓扑分析方法和系统 |
CN104272276A (zh) * | 2012-02-27 | 2015-01-07 | 泰勒维克有限公司 | 用于指派网络地址的设备和方法 |
CN106506712A (zh) * | 2015-09-04 | 2017-03-15 | 施耐德电器工业公司 | 以太网通信体系架构中的自动寻址方法 |
CN108199944A (zh) * | 2017-12-15 | 2018-06-22 | 中国航空工业集团公司上海航空测控技术研究所 | 一种动态菊花链环网的机载客舱核心系统及动态定位方法 |
CN110166495A (zh) * | 2018-02-06 | 2019-08-23 | 苏州科可瑞尔航空技术有限公司 | 机载娱乐系统 |
-
2019
- 2019-12-09 CN CN201911250503.3A patent/CN110995492B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651561A (zh) * | 2009-08-25 | 2010-02-17 | 中兴通讯股份有限公司 | 基于规则引擎的网络拓扑分析方法和系统 |
CN104272276A (zh) * | 2012-02-27 | 2015-01-07 | 泰勒维克有限公司 | 用于指派网络地址的设备和方法 |
CN106506712A (zh) * | 2015-09-04 | 2017-03-15 | 施耐德电器工业公司 | 以太网通信体系架构中的自动寻址方法 |
CN108199944A (zh) * | 2017-12-15 | 2018-06-22 | 中国航空工业集团公司上海航空测控技术研究所 | 一种动态菊花链环网的机载客舱核心系统及动态定位方法 |
CN110166495A (zh) * | 2018-02-06 | 2019-08-23 | 苏州科可瑞尔航空技术有限公司 | 机载娱乐系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110995492A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11428430B2 (en) | Air conditioning system having multiple outdoor units and multiple indoor units, method and device for operating air conditioning system | |
CN102571996B (zh) | Ip地址分配方法、装置以及网络系统 | |
CN101394400A (zh) | 网络业务的智能负载平衡和故障转移 | |
CN101350817A (zh) | 网络业务的智能负载平衡和故障转移 | |
CN101350818A (zh) | 网络业务的智能负载平衡和故障转移 | |
CN113645047B (zh) | 一种基于智能网卡的带外管理系统和服务器 | |
CN112511392B (zh) | 智能家居网络Combo设备网关选择方法及控制系统 | |
WO2012163295A1 (zh) | 通信基站电源并联监控方法及系统 | |
CN111913397B (zh) | 设备控制方法、装置、存储介质及电子装置 | |
EP3422655B1 (en) | Method for managing address of meter device, and acquisition terminal and meter device | |
CN102291259A (zh) | 基于多主站模式的低压电力线通信网络层管理方法 | |
CN101204069B (zh) | 网络连接交换单元和网络站点 | |
CN110995492B (zh) | 一种基于c/s结构的自动定位方法 | |
US11128558B2 (en) | Automatic routing configuration between hosts and network layer devices | |
CN112055347A (zh) | 一种多网关协同工作方法及系统 | |
CN115396243B (zh) | 一种PoE供电控制方法、存储介质及终端 | |
WO2015067051A1 (zh) | 测试代理方法及其装置 | |
CN104660664A (zh) | 用来管理储存系统的方法与装置 | |
CN109962941A (zh) | 通信方法、装置以及服务器 | |
US9219763B2 (en) | Network system | |
CN115268951A (zh) | 一种操作系统的安装方法、装置、设备及存储介质 | |
CN114401156A (zh) | Pse设备的供电控制方法、装置、pse设备及供电系统 | |
CN110319537B (zh) | 控制空调的总线通讯的方法、主机及空调系统 | |
CN106209480A (zh) | 同步配置信息的方法及装置 | |
CN110611589A (zh) | 区域控制系统的控制方法及装置、空调系统 |
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 |