CN108601049A - 一种通信多层状态控制方法及系统 - Google Patents
一种通信多层状态控制方法及系统 Download PDFInfo
- Publication number
- CN108601049A CN108601049A CN201810388017.7A CN201810388017A CN108601049A CN 108601049 A CN108601049 A CN 108601049A CN 201810388017 A CN201810388017 A CN 201810388017A CN 108601049 A CN108601049 A CN 108601049A
- Authority
- CN
- China
- Prior art keywords
- data
- communication
- buffering area
- network
- state control
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/22—Negotiating communication rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种通信多层状态控制方法,S1:对通信链路进行初始化并检测通信设备状态;S2:检测注册运营商网络,探测信号强度并接受运营商APN名称;S3:维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;S4:在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
Description
技术领域
本发明涉及一种通信多层状态控制方法及系统。
背景技术
物联网设备的主要功能就是通信,其在采集数据后,一般要通过运营商网络发送数据,在PCB板上,一般做成通信模块,通过uart总线发送AT命令的形式与MCU(微控制器)进行联系。而目前市面上常见的模块是基于GPRS或3G的网络功能,但随着应用环境的升级,越来越多的系统要求大量的数据采集传输,需要有更高传输速率的通信方法。
许多方案提出了用LTE模块进行数据传输,这样可以利用5G/LTE的高速数据通路进行数据通信,市面上也有许多基于LTE的模块,它们基本上利用类似传统GPRS/3G的方式对5G/LTE进行操作,只是速度更快一些。
但是在LTE通信时,个别信号较差的区域会出现降级现象,有LTE通信降到3G甚至GPRS进行传输,而数据源的产生速度还是按LTE通信的速度进行,造成数据的累积无法发送。另外有些恶劣的通信环境下会导致通信断路,如果处理不好,终端会失去与服务器的连接,所以必须有一种能够回退,重连的机制,使终端能够与服务器建立连接。
发明内容
为克服现有技术问题,本发明提供一种通信多层状态控制方法及系统。
一种通信多层状态控制方法,
S1:对通信链路进行初始化并检测通信设备状态;
S2:检测注册运营商网络,探测信号强度并接受运营商APN名称;
S3:维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
S4:在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
优选的是,每个采集设备采集的数据存放到缓冲区对应的位置中并持续更新。
优选的是,所述网络传输模式包括5G/LTE、3G和GPRS。
优选的是,对通信链路进行初始化时如果通信设备中的一个没有正常打开则重启通信设备。
优选的是,对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中减少缓冲区存储的数据字节数的大小。
一种通信多层状态控制系统,
包括网络发送端和信息配置端;
所述网络发送端用于对通信链路进行初始化并检测通信设备状态,检测注册运营商网络,探测信号强度并接受运营商APN名称;维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
所述信息配置端用于在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
优选的是,每个采集设备采集的数据存放到缓冲区对应的位置中并持续更新。
优选的是,所述网络传输模式包括5G/LTE、3G和GPRS。
优选的是,对通信链路进行初始化时如果通信设备中的一个没有正常打开则重启通信设备。
优选的是,对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中减少缓冲区存储的数据字节数的大小。
本发明的有益效果:
本发明提供的通信多层状态控制方法及系统,通过将数据与相应的通信模式相匹配,根据通信模式确定通信速率,并对缓冲区种的数据持续更新,根据通信速率将缓冲区种的数据发送出去,实现数据发送的优化,防止在低传输速率下数据堵塞造成系统瘫痪。
附图说明
图1为本发明的通信多层状态控制方法及系统的总状态机工作示意图;
图2为本发明的通信多层状态控制方法及系统的通信链路层子状态机工作示意图;
图3为本发明的通信多层状态控制方法及系统的working子状态机工作示意图;
图4为本发明的通信多层状态控制方法及系统的数据传送队列工作示意图;
图5为本发明的通信多层状态控制方法及系统的working流程示意图;
图6为本发明的通信多层状态控制方法及系统的系统结构示意图。
具体实施方式:
下面结合附图对本发明做进一步说明:本发明基于LTE模块的多层状态机控制机制,通过AT命令对LTE模块进行操作,在主控MCU芯片上运行一个多层状态机,该状态机始终保持着对整体运行流程的管控。MCU上会有多种数据来源,在单位时间内形成发送队列,通过LTE模块发送给服务器。
一种通信多层状态控制方法,
S1:对通信链路进行初始化并检测通信设备状态;
S2:检测注册运营商网络,探测信号强度并接受运营商APN名称;
S3:维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
S4:在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
发送缓冲区为固定大小,每个数据源都有自身的缓冲区,如can总线缓冲区,uart缓冲区,在发送的时刻,MCU会把数据源缓冲区的数据拷贝到发送缓冲区,每个数据源能够拷贝到发送缓冲区的大小有上限,如can总线缓冲区能够拷贝到发送缓冲区的最大长度为600字节。
当通信模式为5G/LTE时,发送的频率较高,数据缓冲区每次收满数据时,都能及时赶上发送的时间点,这些数据会拷贝到发送缓冲区并发送出去。如果通信模式是3G,则发送频率降为一半,数据缓冲区收满数据时,可能没有赶到发送数据点,这时后来的数据会将原先的数据覆盖,这次数据收满时,就会赶上发送时间点,可以发送缓冲区中的数据。当通信模式为GPRS时,发送频率降为LTE时的四分之一,这样数据源中的数据可能只能发送数据量的四分之一,由于实际环境中数据源中的数据变化不是很大,在通信状况不好时允许舍弃一些数据。
如图1所示,对于步骤S1,用于通信的总状态机,在经过开机、初始化、开启GPS之后,会进入到两个子状态机分别为GPS子状态机和GPRS子状态机。在遇到错误时会关闭模块重新启动。总状态机状态描述如下:
如图2所示,本发明的通信链路层状态机由三个状态机环组成,分别用I,II和III标识,I环负责注册运营商网络,II环负责与服务器建立连接,并对连接过程进行维护,III负责对数据通信过程进行维护,图中的err表示当前状态失效时应返回的状态。
对于步骤S2,I环的功能是负责开机和实时处理与运营商的联系,其各个状态的描述如下:
对于步骤S3,当网络注册成功后,从CGREG状态进入II环,该环的功能是维护与服务器的TCP/IP网络连接,它的各个状态的描述如下:
在建立了稳定的TCP连接后,系统由状态机环III来控制,环III的状态主要就是由working状态控制,其内部构成另外一层状态机,如图3所示,
该层状态机的各个状态描述如下:
这部分状态机由working调度器进行调度,判断器要定时查询网络模式和与服务器的连接状态,网络模式分为5G/LTE/3G/GPRS三种,对应由高到低三种不同的传输速率。
在实际使用过程中,MCU通过can、RS485、RS232等总线从传感器获取大量数据,这些数据要通过一定的策略发送给远程服务器,而现在信息系统要求传输的数据量越来越大,但无线信道不能一直保证有高速的数据上传速率,当前通信良好,为LTE信道时,系统可以采用最大速率采样,而当信号不好,系统自动降为3G通信时,采用一般的采样速率,但如果为GPRS通信时,采样率需要进一步降低,为解决这一问题,需要对数据源的数据产生速率进行筛选,并保证传输队列的稳定。
如图4所示,MCU的总线连接不同的传感器,这些总线构成数据源,传来大量数据,这些数据经过排队在队列中等待发送,其中Sn代表数据源,Pn代表数据源发送速率。
本发明为每种设备设置了固定的缓冲区,后来的数据可以覆盖前面的数据,如果通信链路处在LTE通信状态下,缓冲区的数据可以被及时发送,但如果处在3G或GPRS状态下,发送频率会降低,缓冲区中只有里发送时刻最近的数据会被发送,具体地如图5所示:
working判断器采用分时方法进行调度,它维护一个时刻变量Tick,每个定时器中断到来时,Tick加1,其中,方案定义的几种特殊时刻如下:
NSMODTICK:询问发送模式的时刻;
CNCTTICK:询问连接情况的时刻;
MAXTICK为一个周期内总共的时刻数,当Tick到达这一刻时,进行清零操作,从而完成一个调度周期,在这个周期内进行数据量的发送;
当Tick到达NSMODTICK时刻时,working状态开始判断当前的网络模式,不同的网络模式决定了不同的发送频率;
当Tick到达CNCTTICK时,working状态判断当前服务器的连接模式,检查与服务器的连接是否正常;
Tick在其它时刻时,则处于CIPSEND状态,为发送数据做准备,一般当Tick为偶数时发送命令,当收到“>”时,Tick正好处在奇数,这时发送具体数据,根据不同的网络模式选择发送的时刻点。
即,首先将数据存储到缓冲区中,并对数据进行更新,如果为5G/LTE方式则在数据存储到缓冲区中后即可将数据发送出去,如果为3G方式则缓冲区的数据进行持续更新,然后根据3G模式的发送数据的频率将数据发送出去,如果为GPRS除了对缓冲区的数据进行持续更新外,对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中减少缓冲区存储的数据字节数的大小,例如可以间隔地将独立的数据提取出来,如此减小缓冲区中的数据大小。在发送一段时间后,检测当前的网络模式,以此确定传输的速率,将传输速率与缓冲区的更新数据的速率相匹配。
本发明同时提供一种通信多层状态控制系统,
包括网络发送端和信息配置端;
所述网络发送端用于对通信链路进行初始化并检测通信设备状态,检测注册运营商网络,探测信号强度并接受运营商APN名称;维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
所述信息配置端用于在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
每个采集设备采集的数据存放到缓冲区对应的位置中并持续更新。
所述网络传输模式包括5G/LTE、3G和GPRS。
对通信链路进行初始化时如果通信设备中的一个没有正常打开则重启通信设备。
对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中减少缓冲区存储的数据字节数的大小。
具体地,如图6所示,本发明采用STM32F407芯片为主MCU,使用SIM7600C模块为LTE通信模块,两者采用UART总线进行通信,MCU控制状态机的执行和队列长度,以便及时调整数据源的数据到达速率,默认的波特率为115200。
首先定义状态机环,采用枚举类型:
然后定义状态机的数据结构
本实现方案中将特殊时刻设置如下:
#define NSMODTICK 10
#define CNCTTICK 20
#define MAXTICK 64
每个时钟周期产生的数据都会存放在g_sendbuff缓冲区中,等待tick轮转至发送节点时,发送缓冲区内数据并清空缓冲区。每隔NSMODTICK查询当前网络状态,每隔CNCTTICK查询当前服务器连接状态,
每次定时器时钟中断到来,都来对状态机进行判断,分析,确定下一步执行状态,状态主要的实现的关键函数如下:
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (10)
1.一种通信多层状态控制方法,其特征在于:
S1:对通信链路进行初始化并检测通信设备状态;
S2:检测注册运营商网络,探测信号强度并接受运营商APN名称;
S3:维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
S4:在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
2.根据权利要求1所述的通信多层状态控制方法,其特征在于:每个采集设备采集的数据存放到缓冲区对应的位置中并持续更新。
3.根据权利要求1所述的通信多层状态控制方法,其特征在于:所述网络传输模式包括5G、LTE、3G和GPRS。
4.根据权利要求1所述的通信多层状态控制方法,其特征在于:对通信链路进行初始化时如果通信设备中的一个没有正常打开则重启通信设备。
5.根据权利要求1所述的通信多层状态控制方法,其特征在于:对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中减少缓冲区存储的数据字节数的大小。
6.一种通信多层状态控制系统,其特征在于:
包括网络发送端和信息配置端;
所述网络发送端用于对通信链路进行初始化并检测通信设备状态,检测注册运营商网络,探测信号强度并接受运营商APN名称;维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
所述信息配置端用于在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
7.根据权利要求6所述的通信多层状态控制系统,其特征在于:每个采集设备采集的数据存放到缓冲区对应的位置中并持续更新。
8.根据权利要求6所述的通信多层状态控制系统,其特征在于:所述网络传输模式包括5G、LTE、3G和GPRS。
9.根据权利要求6所述的通信多层状态控制系统,其特征在于:对通信链路进行初始化时如果通信设备中的一个没有正常打开则重启通信设备。
10.根据权利要求6所述的通信多层状态控制系统,其特征在于:对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中减少缓冲区存储的数据字节数的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810388017.7A CN108601049B (zh) | 2018-04-26 | 2018-04-26 | 一种通信多层状态控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810388017.7A CN108601049B (zh) | 2018-04-26 | 2018-04-26 | 一种通信多层状态控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108601049A true CN108601049A (zh) | 2018-09-28 |
CN108601049B CN108601049B (zh) | 2020-01-17 |
Family
ID=63609774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810388017.7A Active CN108601049B (zh) | 2018-04-26 | 2018-04-26 | 一种通信多层状态控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108601049B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102244773A (zh) * | 2011-06-21 | 2011-11-16 | 浙江万里学院 | 一种基于窄变带宽网络的实时视频流传输方法 |
CN102695295A (zh) * | 2012-05-22 | 2012-09-26 | 北京建筑技术发展有限责任公司 | 分布式数据采集控制系统及应用该系统的方法 |
CN104574096A (zh) * | 2013-10-29 | 2015-04-29 | 上海沐风数码科技有限公司 | 基于3g通讯技术的网商平台物联网智能设备系统 |
-
2018
- 2018-04-26 CN CN201810388017.7A patent/CN108601049B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102244773A (zh) * | 2011-06-21 | 2011-11-16 | 浙江万里学院 | 一种基于窄变带宽网络的实时视频流传输方法 |
CN102695295A (zh) * | 2012-05-22 | 2012-09-26 | 北京建筑技术发展有限责任公司 | 分布式数据采集控制系统及应用该系统的方法 |
CN104574096A (zh) * | 2013-10-29 | 2015-04-29 | 上海沐风数码科技有限公司 | 基于3g通讯技术的网商平台物联网智能设备系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108601049B (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108769121B (zh) | 智能工业装备物联网数据采集系统及采集数据的上传方法 | |
CN101253745B (zh) | 用于透明tcp卸载的方法和系统 | |
CN103441939B (zh) | 基于IPv6无线传感器网络的多功能边界路由器 | |
US7817662B2 (en) | System and method for interfacing with a management system | |
CN103149899B (zh) | 粮库智能传感器集成终端 | |
CN100421417C (zh) | Tcp卸载的系统和方法 | |
CN1846409B (zh) | 用于基于传输控制协议话务流特征进行超高速缓存查找的设备和方法 | |
CN101702121B (zh) | Windows系统中程序网络流速控制装置 | |
CN101827073B (zh) | 跟踪片段数据流 | |
CN102123082A (zh) | 数据包转发方法和设备 | |
CN103259632B (zh) | 基于续采单传模型的无线传感网络数据可靠汇聚方法 | |
US20090016354A1 (en) | Information processing apparatus and information processing system | |
CN103795632A (zh) | 一种数据报文传输方法及相关设备、系统 | |
CN101702723A (zh) | Ip报文的过滤方法和装置 | |
CN101426015B (zh) | 面向多媒体传输的IEEE1394/GbE变换器及数据采集系统 | |
CN109828943A (zh) | 一种低速率通信网络的提高串口传输速率处理系统及方法 | |
CN106292518A (zh) | 远程plc监控和调试系统及方法 | |
CN108512907A (zh) | 半透传的设备通信方法 | |
CN101715113A (zh) | 基于地面数字电视信道的双向无线嵌入式网关 | |
JP2010517396A (ja) | ネットワークコンポーネント、このようなネットワークコンポーネントを作動させるための方法、このようなネットワークコンポーネントを有する自動化システム、このようなネットワークコンポーネントを用いて自動化システム内でデータ通信するための方法、対応するコンピュータプログラム、およびコンピュータプログラム製品 | |
CN108601049A (zh) | 一种通信多层状态控制方法及系统 | |
CN106506409A (zh) | 一种网管交换机的管理方法及网管交换机 | |
CN106302426A (zh) | 一种基于fpga的带重发机制的udp协议栈实现方法 | |
CN107528929A (zh) | Arp条目的处理方法及装置 | |
CN101931997A (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 |