CN102523157B - 通信设备、系统及通信方法 - Google Patents
通信设备、系统及通信方法 Download PDFInfo
- Publication number
- CN102523157B CN102523157B CN201110418636.4A CN201110418636A CN102523157B CN 102523157 B CN102523157 B CN 102523157B CN 201110418636 A CN201110418636 A CN 201110418636A CN 102523157 B CN102523157 B CN 102523157B
- Authority
- CN
- China
- Prior art keywords
- communications status
- equipment
- communication
- state
- udp
- 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
Abstract
本发明公开了一种通信设备、系统及通信方法,所述通信方法包括实时接收网络中传送过来的其他设备的通信状态的步骤;以预定间隔向外发送自身的通信状态的步骤;记录设备自身和接收到的其他设备的通信状态,分析处理并响应其他设备通信状态的步骤;其中通信状态在传输过程以UDP包的形式传输。本发明实现了基于UDP的稳定可靠的多设备相互通信的方法,以状态通信取代了传统的命令通信,比TCP占用的资源少,但又解决了UDP通信存在的例如指令复杂、状态不同步、丢包等各种问题,特别适合于嵌入式设备,尤其是多个设备通信情形。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种通信设备、系统及通信方法。
背景技术
在网络通信系统例如对讲系统、安防报警系统中,为了实现多台设备之间的网络通信,目前主要采用TCP或UDP进行网络传输,并设计相应通信指令系统完成多个设备间通信。通信过程采用TCP通信,在一些嵌入式设备时需要消耗较多资源,发送和接收数据都需要启动一个线程。当通信只在一对一进行时较简单,但多个设备同时交互时,较难控制线程个数及多线程带来的同步问题。而某些嵌入式系统资源有限,可能不支持TCP或者支持的TCP线程有限并已被其它模块占用,此时,必须考虑其它方法。而在采用UDP通信时可能存在以下问题:UDP丢包、状态同步性差、命令重发、命令确认、网络故障检测等。例如指令发送后,如果对方没有收到,必须重发;而为了检测网络故障,需要设定类似TCP心跳的命令。UDP是基于指令的通信,需要通过发送指令来确认通信,指令系统通常由多条指令构成,相应的代码算法也较复杂。
发明内容
为解决上述技术问题,本发明提供一种新型的通信设备、系统及通信方法。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种通信方法,包括:
实时接收网络中传送过来的其他设备的通信状态的步骤,其中,所述通信状态封装在UDP包中;
以预定间隔向外发送自身的通信状态的步骤,其中,所述通信状态封装在UDP包中;
记录设备自身和接收到的其他设备的通信状态,分析处理并响应其他设备通信状态的步骤。
其中,一条所述通信状态被封装为一个UDP包。
其中,所述UDP包上编有顺序号。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种通信设备,包括接收模块、发送模块和状态管理模块;所述接收模块用于接收来自网络中其他设备的以UDP包形式传输的通信状态并将接收到的内容传送给所述状态管理模块;所述发送模块用于以预定间隔向网络中的一个或多个设备发送设备自身的通信状态,其中,所述通信状态封装为UDP包;所述状态管理模块用于记录设备自身和接收到的其他设备的通信状态,分析处理并响应其他设备的通信状态。
其中,一条所述通信状态被封装为一个UDP包。
其中,所述发送模块还包括用于给UDP包加上顺序号的编号单元。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种通信系统,包括至少两个通信设备,所述通信设备均连入网络;所述通信设备包括接收模块、发送模块和状态管理模块;所述接收模块用于接收来自网络中其他设备的以UDP包形式传输的通信状态并将接收到的内容传送给所述状态管理模块;所述发送模块用于以预定间隔向网络中的一个或多个设备发送设备自身的通信状态,其中,所述通信状态封装为UDP包;所述状态管理模块用于记录设备自身和接收到的其他设备的通信状态,分析处理并响应其他设备的通信状态。
其中,一条所述通信状态被封装为一个UDP包。
其中,所述发送模块还包括用于给UDP包加上顺序号的编号单元。
本发明的有益效果是:本发明所采用的通信方式是基于状态的通信,完全不同于以往的基于命令的通信,采用本发明的通信方法至少具有以下优点:
1、通信过程简单,报告状态只需一条信息,而现有的基于命令的通信中控制指令一般都需要多条。
2、解决状态同步问题,避免两边设备状态不一致,因为设备总是向其它设备报告状态,因而能够尽快从错误中恢复。
3、省略通信心跳包,由于设备以一定的间隔向外发送自身状态,即通信是以一定间隔在运行,它本身就可以看成心跳功能,当一方在一定时间内收不到对方的状态,就按掉线故障处理。
4、解决UDP丢包重发问题,丢了也没有关系,下一次报告状态时自动恢复。
5、状态命令发送后,不需要等待确认,根据对方的下一次报告的状态即可判定如何处理。
附图说明
图1是本发明通信设备一实施例的结构示意图;
图2是本发明通信系统一实施例的结构示意图;
图3是本发明通信方法的示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
图1示出了本发明一实施例中通信系统的网络结构,在该系统中,每个通信设备必须连接到IP网络,IP网络可以是互联网,城域网,局域网等等,每个通信设备允许同时与一个或多个其他通信设备进行通信。通信设备可以有多个,局域网也可以有多个,通信可以一对一进行,也可以一对多进行,并允许多对多通信。
本发明首先提供一种可以应用于通信系统中的通信方法,包括:
实时接收网络中传送过来的其他设备的通信状态的步骤,其中,所述通信状态封装在UDP包中;
以预定间隔向外发送自身的通信状态的步骤,其中,所述通信状态封装在UDP包中;
记录设备自身和接收到的其他设备的通信状态,分析处理并响应其他设备通信状态的步骤。
在该方法中,通信状态的传输是以UDP包的形式进行,利用现有的UDP传输过程,但在UDP包中传输各设备的通信状态,以通信状态作为通信的触发点,设备通过接收其他设备的状态作出相应地响应动作例如接受通话请求拒绝通话请求等,另外设备也以预定间隔向其他设备发送自身的通信状态,这样通过告知对方自己的状态使对方知道下一步的行为。本发明实现了基于UDP的稳定可靠的多设备相互通信的方法,以状态通信取代了传统的命令通信,比TCP占用的资源少,但又解决了UDP通信存在的例如指令复杂、状态不同步、丢包等各种问题,特别适合于嵌入式设备,尤其是多个设备通信情形。
参阅图2,本发明的一实施例中,通信设备包括接收模块、发送模块和状态管理模块。
所述接收模块用于接收来自网络中其他设备的以UDP包形式传输的通信状态并将接收到的内容传送给所述状态管理模块;网络中的其他设备可以为一个或多个。
所述发送模块用于以预定间隔向网络中的一个或多个设备发送设备自身的通信状态,其中,所述通信状态封装为UDP包。
所述状态管理模块用于记录设备自身和接收到的其他设备的通信状态,分析处理并响应其他设备的通信状态。状态管理模块接收到其他设备的通信状态后,进行分析,确认应该对其他设备作出怎样的反应,例如接收到的通信状态为其他设备向本设备发起通信请求,状态管理模块就可以相应地作出接收请求或拒绝请求的处理,同时这个过程中如果本设备的通信状态发生了变化,状态管理模块还需修改本设备的通信状态,发送模块再向外发送本设备的通信状态即发送修改之后的通信状态,这样其他设备也可根据该通信状态得知本设备的情况从而作出相应的处理。
参阅图3,本发明的设备在启用通信后,接收模块、发送模块和状态管理模块均开始工作,接收模块接收其他设备的状态,并将接收到的状态传送给状态管理模块,状态管理模块对接收到的状态做相应的处理,必要时修改本设备的通信状态,而发送模块则根据预设的时间向其他设备发送状态。
由于每台设备都会以预定间隔向外发送自己的状态,因此当两台设备建立通信后,互相会以一定时间间隔向对方报告状态。这个时间间隔可以按需要确定,可以短也可以长,也可能根据不同的状态采用不同的间隔。设备的通信状态由人工预设,保证一台设备在获取对方状态后,可以确定下一步该做什么。每个设备的行为都是根据自身及对方的状态进行处理及回应,而不是等待对方的指令或应答。
以下根据一应用实例来说明:
对象为设备A与设备B,动作为设备A呼叫设备B:
设计状态格式为:Call=n,m;其中Call表示呼叫,n表示序号,m表示状态码。
设计状态码:1表示呼叫状态;2表示响铃状态;3表示通话状态;4表示通话结束状态。
需要说明的是,本例中状态并不完整,只是选取主要的状态加以说明。
可能发生的通信情形(只例举二种):
第一种:设备A呼叫失败(可能是由于B处于关机状态)
在某一时间,设备A发送[Call=1,1;]给设备B;
设备B在3秒(时间可以预先设定,并非一定限制在3秒)内都未发送状态给设备A,设备A监测接收到的其他设备的通信状态,若一直未收到设备B的状态,则可判断呼叫失败。
第二种:设备A呼叫设备B,设备B接通,两设备保持一定时长的通话,而后设备A挂机
设备A发送[Call=1,1;];
设备B发送[Call=2,2;];
设备A发送[Call=3,2;];
……
设备B发送[Call=30,3;];
设备A发送[Call=31,3;];
……
设备A发送[Call=60,4;];
设备B发送[Call=61,4;]。
“......”代表的是状态会持续一段时间,这段时间的状态没有改变,发送的状态的接收的状态处于重复状态。在上述通话过程中,设备A首先发起通话,此时其处于呼叫状态,设备B接收到设备A的状态后,响应设备A的呼叫,设备B响铃,设备B的状态相应变为响铃状态,而设备A根据设备B的状态即可以得知设备B已响应了其呼叫请求,设备A的状态亦修改为响铃状态,两设备继续交换通信状态,直至设备B接通,设备A与设备B建立通话连接,设备B首先修改通信状态为通话状态,而后设备A亦修改通信状态为通话状态,当两者在保持通话过程中,状态不变,但两者的状态交换则一直按预定间隔进行,直至最后通话结束再修改通话状态。
以上只是示意通信方法,真实的通信状态会更多和复杂一些。
根据上述的通信过程可以看出,本发明所采用的通信方式是基于状态的通信,完全不同于以往的基于命令的通信,采用本发明的通信方法至少具有以下优点:
1、通信过程简单,报告状态只需一条信息,而现有的基于命令的通信中控制指令一般都需要多条。
2、解决状态同步问题,避免两边设备状态不一致,因为设备总是向其它设备报告状态,因而能够尽快从错误中恢复。
3、省略通信心跳包,由于设备以一定的间隔向外发送自身状态,即通信是以一定间隔在运行,它本身就可以看成心跳功能,当一方在一定时间内收不到对方的状态,就按掉线故障处理。
4、解决UDP丢包重发问题,丢了也没有关系,下一次报告状态时自动恢复。
5、状态命令发送后,不需要等待确认,根据对方的下一次报告的状态即可判定如何处理。
在以上应用实例中,是以通话过程来示意本发明的通信方法,但是对于实际的通信设备来讲,并不限于一次使用此方法,可以多次使用,例如设备具有通话和监视两个功能,通话和监视可以分别采用本方法进行通信,它们在同一设备上存在,但是相对独立。
在上述的实施例中,所述通信状态以一个UDP包的形式传输。这样使得数据的表达比较精简,丢包的可能性降低。相应地,对于通信设备而言,其需要包括一个用于当然将通信状态封装为一个UDP包的封装单元。如果一个UDP包表达不了,可以用多个UDP包,正常情况下,一个UDP包是够用的,如果确实需要多个UDP包,可以考虑将状态分组。
作为改进,在一实施例中,所述UDP包上还编有顺序号,所述发送模块还包括用于给UDP包加上顺序号的编号单元。由于在UDP通信中,接收顺序和发送顺序可能不一致,接收顺序是乱序的,在状态中添加包序号,处理其它设备状态时保持序号按递增或递减或其它规则进行,避免处理过时的状态信息。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种通信方法,其特征在于:包括:
实时接收网络中传送过来的另一设备的通信状态的步骤,其中,所述通信状态封装在UDP包中,包括呼叫状态、响铃状态、通话状态和通话结束状态;当本设备的通信状态发生变化,修改本设备的通信状态;
以预定间隔向外发送自身的通信状态的步骤,其中,所述通信状态封装在UDP包中;
通过状态管理模块记录设备自身和接收到的所述另一设备的通信状态,分析处理并响应所述另一设备通信状态的步骤;
一条所述通信状态被封装为一个UDP包。
2.根据权利要求1所述的通信方法,其特征在于:所述UDP包上编有顺序号。
3.一种通信设备,其特征在于,包括接收模块、发送模块和状态管理模块;
所述接收模块用于接收来自网络中另一设备的以UDP包形式传输的通信状态并将接收到的内容传送给所述状态管理模块,所述通信状态包括呼叫状态、响铃状态、通话状态和通话结束状态;
所述发送模块用于以预定间隔向网络中的所述另一设备发送设备自身的通信状态,其中,所述通信状态封装为UDP包;
所述状态管理模块用于记录设备自身和接收到的所述另一设备的通信状态,分析处理并响应所述另一设备的通信状态;
一条所述通信状态被封装为一个UDP包。
4.根据权利要求3所述的通信设备,其特征在于:所述发送模块还包括用于给UDP包加上顺序号的编号单元。
5.一种通信系统,其特征在于,包括两个通信设备,所述通信设备均连入网络;
所述通信设备包括接收模块、发送模块和状态管理模块;
所述接收模块用于接收来自网络中另一设备的以UDP包形式传输的通信状态并将接收到的内容传送给所述状态管理模块;
所述发送模块用于以预定间隔向网络中的所述另一设备发送设备自身的通信状态,其中,所述通信状态封装为UDP包;
所述状态管理模块用于记录设备自身和接收到的所述另一设备的通信状态,分析处理并响应所述另一设备的通信状态;必要时修改本设备的通信状态;
一条所述通信状态被封装为一个UDP包。
6.根据权利要求5所述的一种通信系统,其特征在于:所述发送模块还包括用于给UDP包加上顺序号的编号单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110418636.4A CN102523157B (zh) | 2011-12-14 | 2011-12-14 | 通信设备、系统及通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110418636.4A CN102523157B (zh) | 2011-12-14 | 2011-12-14 | 通信设备、系统及通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102523157A CN102523157A (zh) | 2012-06-27 |
CN102523157B true CN102523157B (zh) | 2015-12-02 |
Family
ID=46293956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110418636.4A Active CN102523157B (zh) | 2011-12-14 | 2011-12-14 | 通信设备、系统及通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102523157B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984145B (zh) * | 2012-11-23 | 2016-04-13 | 福建星网锐捷通讯股份有限公司 | 与具有多个分机的通信终端通信的方法及通信设备 |
EP3367747B1 (en) * | 2013-12-24 | 2020-10-07 | Huawei Technologies Co., Ltd. | Access node, mobility management network element, and paging message processing method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005060179A1 (en) * | 2003-12-19 | 2005-06-30 | Nokia Corporation | Control of a suspend state |
CN102083011A (zh) * | 2009-11-26 | 2011-06-01 | Tcl集团股份有限公司 | 一种对讲系统及其多个主叫终端呼叫处理方法 |
CN102244841A (zh) * | 2010-05-14 | 2011-11-16 | 中国移动通信集团重庆有限公司 | 语音交互处理方法、装置和系统 |
-
2011
- 2011-12-14 CN CN201110418636.4A patent/CN102523157B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005060179A1 (en) * | 2003-12-19 | 2005-06-30 | Nokia Corporation | Control of a suspend state |
CN102083011A (zh) * | 2009-11-26 | 2011-06-01 | Tcl集团股份有限公司 | 一种对讲系统及其多个主叫终端呼叫处理方法 |
CN102244841A (zh) * | 2010-05-14 | 2011-11-16 | 中国移动通信集团重庆有限公司 | 语音交互处理方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102523157A (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102857956B (zh) | 主从站通信方法及装置 | |
CN102394925B (zh) | 远程监测诊断中心与地区调度中心的通讯方法及装置 | |
CN102780593B (zh) | 基于bfd协议检测链路的方法、装置和网络处理器 | |
CN102324793B (zh) | 一种实现多个虚拟配电终端的方法和系统 | |
CN104636986B (zh) | 一种基于服务的调度远程安全遥控校核的方法 | |
CN102297493A (zh) | 监控空调机组的系统和方法 | |
EP2911340B1 (en) | Method and system for removing fault of internet of things gateway | |
CN102123110B (zh) | 一种网关系统的数据传输方法及网关系统 | |
CN102833119A (zh) | 双网冗余机制下实时数据接收同步处理的方法 | |
CN104993979A (zh) | 网络连接监测方法、终端设备及通信系统 | |
CN106033641A (zh) | 电力线载波实现的多功能智能控制系统及其控制方法 | |
CN103997436A (zh) | 一种电梯物联网中的链路保持方法和网关 | |
CN102523157B (zh) | 通信设备、系统及通信方法 | |
CN102026215A (zh) | 一种m2m网络的监控方法、装置及系统 | |
CN102811451B (zh) | 一种Capwap隧道连接控制方法及装置 | |
CN104079396A (zh) | 网络冗余结构 | |
CN102984145B (zh) | 与具有多个分机的通信终端通信的方法及通信设备 | |
CN103795773A (zh) | 高压直流远供电源设备的远程组网监控方法及系统 | |
CN102868945B (zh) | 一种epon中onu的升级方法 | |
CN105743927B (zh) | 一种CANopen与DP协议数据转换方法 | |
CN105282235B (zh) | 一种解决rpc在双pon口onu升级不稳定的方法 | |
CN210274135U (zh) | 一种远程连接系统 | |
CN101795216B (zh) | 多跳双向转发检测中复位看门狗的方法及设备 | |
CN103957079A (zh) | 一种hdlc网络中的协商方法和设备 | |
CN104702892A (zh) | 基于Mesh网络的实时视频传输系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20151013 Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 juyuanzhou Ruijie Science Park building 19-22 Applicant after: Fujian Star-net Communication Co., Ltd. Address before: Fuzhou City, Fujian Province, Jinshan Road 350002 No. 618 No. 20 Ruijie orangery Chau Science Park 4 Applicant before: Fujian Starnet e-Video Information System Co., Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |