CN102594736B - 一种gps设备接入网关装置 - Google Patents
一种gps设备接入网关装置 Download PDFInfo
- Publication number
- CN102594736B CN102594736B CN201210031616.6A CN201210031616A CN102594736B CN 102594736 B CN102594736 B CN 102594736B CN 201210031616 A CN201210031616 A CN 201210031616A CN 102594736 B CN102594736 B CN 102594736B
- Authority
- CN
- China
- Prior art keywords
- module
- sip
- data
- equipment
- tcp
- 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.)
- Expired - Fee Related
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种GPS设备接入网关装置,包括线程池模块,所述线程池模块与TCP通信模块、SIP通信模块和协议转换模块连接,所述TCP通信模块用于与GPS设备通过TCP协议进行通信,所述SIP模块用于与服务器之间采用SIP+XML协议进行数据通信;所述协议转换模块用于完成TCP协议的数据和SIP+XML协议数据的相互转换。本发明提供一种改善GPS的通信模式,将GPS设备和SIP系统相关联,建立一个应用层的协议可以对不同类型的数据进行统一管理,保持良好通信稳定性的GPS设备接入网关装置。
Description
技术领域
本发明涉及网络技术领域的协议转换装置,是一种GPS设备接入网关装置。
背景技术
现有GPS系统的数据传输方式简单,通常采用TCP协议将GPS模块得到的定位数据等上传服务器,不对数据进行处理,也不对通信方式进行管理,简单易行,但在车载定位、录像采集、音视频录像等大框架中,这样不利于和其他数据整合,造成管理多种数据的不便。音视频数据通常也有各自适用的通信协议,例如RTP等,这就造成在同一个框架内,有多种协议的数据并存,这就迫切需要一个应用层的协议可以对数据进行无差别的管理。SIP协议是由IETF制定的,是一个应用层控制信令协议,用于建立、修改、终止用户之间的会话,广泛用于音视频等多数据通信的会话场合,成为了一通用的标准。通过该协议,可以对各类型数据通信进行有效的管理。将SIP应用于GPS系统的方式,一种是重新设计GPS设备,在设备端加入SIP并以此进行发送,但该方式需要修改设备硬件和软件,代价巨大,不利于现存设备的继续使用。另一种方式则是在服务器端建立一种GPS设备接入网关装置,GPS设备通过该装置进行SIP协议接入,这样设备就可以在不做出任何改变的情况下通过该装置接入到SIP网络中。
虽然SIP协议转换相关的文献或产品已经有出现,在已公布的专利文献和产品中,大多是和类似协议如H.323等同层协议的转换,尚未有涉及设备接入而进行协议转换的装置。
发明内容
本发明针对现有的GPS系统简单低效的通信模式、通信稳定性较差的不足,提供一种改善GPS的通信模式,将GPS设备和SIP系统相关联,建立一个应用层的协议可以对不同类型的数据进行统一管理,保持良好通信稳定性的GPS设备接入网关装置。
本发明解决其技术问题所采用的技术方案是:
一种GPS设备接入网关装置,包括线程池模块,所述线程池模块与TCP通信模块、SIP通信模块和协议转换模块连接,所述TCP通信模块用于与GPS设备通过TCP协议进行通信,所述SIP模块用于与服务器之间采用SIP+XML协议进行数据通信;所述协议转换模块用于完成TCP协议的数据和SIP+XML协议数据的相互转换。
进一步,所述线程池模块中,控制TCP通信模块和SIP通信模块,完成GPS设备在SIP框架下的服务器注册,实现设备的接入,TCP模块获取GPS设备的数据,通过协议转换模块转换数据,最后通过SIP模块将数据发送给服务器;同样,SIP模块接收服务器下发到设备的数据,通过协议转换模块转换数据,最后通过TCP模块下发到指定的设备。
再进一步,所述线程池模块中,控制TCP通信模块和SIP通信模块,通过设置TCP模块的保活机制,并和SIP模块的定时心跳包机制一起,保证GPS设备和接入网关装置、SIP服务器和接入网关装置两个网络的通信保活。如发生中断,则能通过TCP模块切断GPS设备和接入网关装置的通信,同时通过SIP模块切断接入网关装置和服务器的通信。
本发明的技术构思为:采用TCP套接口技术、线程池技术、SIP协议及TCP协议,实现服务器、接入网关装置与GPS设备三者间的通信。
针对接入网关装置需要应对大量设备的连接请求,以及整个系统接入SIP网络所对应的信令控制作出相应的改进:
(1)采用线程池技术,对于同时大量的设备连接以及协议转换请求,能作出及时的响应。
(2)TCP通信模块,保证TCP通信可靠性:
(a)设置setsockopt()的keepalive保活机制,并和SIP的定时心跳包机制一起,保证GPS设备和接入网关装置、SIP服务器和接入网关装置两个网络的通信保活;
(b)采用select()机制,从recv()读取报文之前判断GPS设备主动断开/异常断开/正常报文;如果出现异常,则close()套接字,释放套接字;
(c)针对网络转换中SIP注册失败、服务器断开设备连接等接入网关装置与SIP服务器这一侧通信中断的情况,也会调用close()断开接入网关装置和GPS设备的连接;
(d)采用状态转移图2编程,简单可靠。
(3)分析了GPS设备裸数据的消息格式,实现协议转换模块,将信息转换为XML格式的数据,方便SIP服务器统一管理。同时,对于SIP服务器下发的命令,也可以通过该模块解析并转换得到GPS设备可识别的消息格式。模块独立,方便添加和修改协议消息的内容。
(4)每个GPS设备会通过接入网关装置的SIP通信模块,和服务器建立注册、心跳保活、消息上传、命令下发等一系列通信机制,并和线程池结合,每个设备相互独立,互不干扰。
软件实现步骤为:GPS设备首先连接到接入网关装置,通过其以SIP协议规定的格式注册到SIP服务器;接入网关装置和SIP服务器在设备注册过程中完成加密解密、心跳保活等操作;接下来,GPS设备将采集到的定位信息等以二进制格式上发接入网关装置,通过其转换成XML格式数据然后以SIP协议上发到服务器;服务器将需要发给设备的信息命令等以SIP协议格式先发到接入网关装置,通过其解析出命令数据,转发给对应设备。
线程池模块处理设备连接和SIP消息发送的工作流程图为图3,接入网关装置和服务器的SIP通信图为图4,接入网关装置进行SIP协议转换的流程图为图5。
本发明的有益效果主要表现在:(1)实现GPS设备、接入网关装置和服务器的独立,可以方便对各个模块进行添加修改;(2)很好的保有了原有GPS设备的软硬件,不要修改原有设备,只需在系统中添加接入网关装置,简单易用,不破坏系统架构;(3)接入网关装置能实现一定量的设备连接,有一定的承载能力;(4)对于GPS设备的连接能和SIP系统相关联,实现无缝的网络通断判断,保证系统的稳定运行。
附图说明
图1是总体架构框架。
图2是Socket通信状态转移图。
图3是线程池处理设备连接和SIP消息发送的工作流程图。
图4是接入网关装置和服务器的SIP通信图。
图5是接入网关装置进行SIP协议转换的流程图。
具体实施方式
下面结合附图对本发明做进一步描述。
参照图1~图5,一种GPS设备接入网关装置,接入网关装置的底层是一个实现任务调度的线程池模块,该模块控制TCP通信模块、SIP通信模块和协议转换模块,实现整个接入网关装置的功能。服务器和接入网关装置之间的通信通过TCP通信模块,以GPRS网络交互,采用的是SIP+TCP协议;接入网关装置与GPS设备之间通过TCP通信模块进行TCP连接。接入网关装置与服务器间的数据通信采用SIP+XML协议,接入网关装置与GPS设备间的数据通信采用普通的二进制数据,封装在TCP协议内,协议转换模块则完成以上数据的相互转换。其基本架构框架如图1所示。
依据附图1搭建工作环境,由服务器、接入网关装置与GPS设备三部分组成。网络选择GPRS网络,实现了无线通信,设备则为任何带有GPS模块,并以TCP方式通信的设备。服务器端则为处理SIP协议的服务器。
整个发明的核心是接入网关装置,其底层采用的是一线程池模块,工作流程如图3所示。系统开始阶段需要进行初始化的准备,这里首先涉及到的是需要开辟一系列工作线程,这些线程需要符合SIP通信的要求,对线程的内存大小等有一定的要求和限制。再者,需要对所有工作线程实现任务分配以及维护回收工作线程等操作,这些会在线程池的初始化中设定状态参数,让所有工作线程依据状态参数的变化实现获得任务以及释放等自动化操作,实现线程的自动化操作和管理。在设计中,会根据设备请求TCP的连接来分配任务到某一个工作线程,当有连接请求时则分配线程工作。被分配任务的工作线程则负责维护一个设备的连接,进行数据的上传和下发。在进行具体数据的上发之前,会根据SIP协议和系统的设计,通过SIP通信模块完成设备的注册,如果注册成功,则会触发另外一个请求,从线程池中分配出一个工作线程,让这个线程成为SIP协议下心跳保活机制的工作线程,用于维持服务器和接入网关装置的SIP通信;如果注册失败,则会回收工作线程到线程池,并断开注册失败的设备。成功的注册之后,设备就可以通过工作线程实现和SIP服务器的数据上发。当设备的通信中断后,用于维护的线程能自己判断出来,并释放线程的资源。
GPS设备和接入网关装置采用的是Socket的方式实现TCP通信。这里TCP通信模块会结合接入网关装置的底层线程池模块实现Socket的功能强化。首先,接入网关装置的TCP通信模块会从配置文件中获取服务器的IP和端口、然后调用socket()函数创建Socket客户端,最终监听在网络转换装置的IP和端口上等待GPS设备的TCP连接。当有设备连接的时候,为每个得到的连接开启TCP的保活机制,并将该连接作为任务的请求触发线程池分配工作线程处理连接请求的具体任务。然后通信的工作就移交到具体的线程中,在其中,会调用select()函数检测是否有数据到来,若检测到有数据,则调用recv()函数接收数据,并将工作移交到SIP通信模块实现SIP的设备注册或者后续的数据上发;假设出现recv()异常或者TCP定时超时或者是设备断开等情况,则会在线程中关闭该socket,并释放该资源;其他情况下,则继续等待数据。如图2所示为整个状态转移图,根据状态转移图进行Socket编程,思路清晰,简单可靠。
接入网关装置与服务器之间采用如图3的模型实现SIP的通信,具体功能由SIP通信模块实现。整个流程开始会需要有一个注册过程,这保证了只有拥有权限的设备才能建立和服务器的通信,保证了系统的安全。设备发送SIP注册请求是在设备连上接入网关装置,并获得工作线程之后。工作线程会首先根据设备的连接信息,通过协议转换模块实现注册信息的封装,后通过SIP通信模块将其发给服务器。服务器会根据收到的注册信息分析判断该设备是否有注册的权限,如果有则给发出注册请求的设备发送注册密文,也就是先发送到接入网关装置,对密文的解析工作由接入网关装置代替设备完成。如果接入网关装置没有收到服务器下发的注册密文,则整个SIP通信失败,则断开设备的连接,回收线程的资源。如收到,则接入网关装置对注册密文进行解析,并将解析后的信息通过SIP通信模块发送给服务器,服务器则对该信息进行解析,对于正确注册的设备,服务器会下发注册成功的响应到接入网关装置,至此,该设备的SIP注册阶段就完成了。同样,如果接入网关装置没有收到注册成功的响应,SIP的通信也失败,同样要断开设备连接,并释放相关资源。最终,拥有了和服务器通信权限的设备可以和服务器进行SIP协议下的通信。注册成功之后,会开启一个用于维护该SIP通信的保活机制,具体的就是采用一个单独的线程定时和服务器保持信息的交互,维护住该设备在服务器上的在线状态。该方法保证了心跳保活机制和设备数据上发的独立性,两种类型数据单独发送便于维护。在系统中,除了通信协议的转换之后,还有具体设备信息和服务器可识别数据的协议转换部分。本设计中,为此单独设计了一个协议转换模块,抽象出接口,方便以后添加和管理更多类型的数据类型转换。设备上发的GPS信息以及设备信息等,会通过这个模块处理,转换成现服务器可识别的XML格式,然后再封装到SIP协议的数据包中,而SIP协议的数据包也通过函数接口实现统一的封装,简化程序。同理,服务器下发的数据到达网络转换装置,也会经过协议转换模块,从收到的XML信息中解析出具体的数据,并转换成GPS设备可识别的数据格式,完成封装,之后接入网关装置就将该信息发给特定的设备,实现服务器到设备的数据下发。
本发明基于SIP协议,接入网关装置能主动与服务器建立连接,同时在与GPS设备的通信中能根据设备的中断情况,以及和服务器端注册、通信等状况实现异常情况的判断,实现断开和重连,保证数据稳定传输与交互。由于使用了线程池技术,因此能在多设备情况环境下得到使用,并能对同时大量等严苛的情况实现良好的响应,拥有良好的吞吐量。本发明实现了在协议转换时,保证设备连接和通信的稳定正常工作。
Claims (3)
1.一种GPS设备接入网关装置,其特征在于:所述接入网关装置包括线程池模块,所述线程池模块与TCP通信模块、SIP通信模块和协议转换模块连接,所述TCP通信模块用于与GPS设备通过TCP协议进行通信,所述SIP模块用于与服务器之间采用SIP+XML协议进行数据通信;所述协议转换模块用于完成TCP协议的数据和SIP+XML协议数据的相互转换。
2.如权利要求1所述的GPS设备接入网关装置,其特征在于:所述线程池模块中,控制TCP通信模块和SIP通信模块,完成GPS设备在SIP框架下的服务器注册,实现设备的接入,TCP模块获取GPS设备的数据,通过协议转换模块转换数据,最后通过SIP模块将转换后的数据发送给服务器;同样,SIP模块接收服务器下发到设备的数据,通过协议转换模块转换数据,最后通过TCP模块下发到制定的设备。
3.如权利要求1所述的GPS设备接入网关装置,其特征在于:所述线程池模块中,控制TCP通信模块和SIP通信模块,通过设置TCP模块的保活机制,所述的保活机制和SIP模块的定时心跳包机制一起,保证GPS设备和接入网关装置、SIP服务器和接入网关装置两个网络的通信保活;如发生中断,则能通过TCP模块切断GPS设备和接入网关装置的通信,同时通过SIP模块切断接入网关装置和服务器的通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210031616.6A CN102594736B (zh) | 2012-02-13 | 2012-02-13 | 一种gps设备接入网关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210031616.6A CN102594736B (zh) | 2012-02-13 | 2012-02-13 | 一种gps设备接入网关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102594736A CN102594736A (zh) | 2012-07-18 |
CN102594736B true CN102594736B (zh) | 2014-10-15 |
Family
ID=46482951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210031616.6A Expired - Fee Related CN102594736B (zh) | 2012-02-13 | 2012-02-13 | 一种gps设备接入网关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102594736B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243162B (zh) * | 2016-12-26 | 2020-12-04 | 大唐移动通信设备有限公司 | 一种sip注册的方法及装置 |
CN114679433B (zh) * | 2022-05-27 | 2022-08-30 | 武汉中科通达高新技术股份有限公司 | 视频访问会话管理系统、方法、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1398095A (zh) * | 2001-07-13 | 2003-02-19 | 沃卢比尔公司 | 一种移动终端寻址方法 |
CN1479114A (zh) * | 2002-08-30 | 2004-03-03 | 华夏科技股份有限公司 | 全球定位系统的收发装置及其数据传输方法 |
CN101374118A (zh) * | 2007-08-23 | 2009-02-25 | 华为技术有限公司 | 一种消息互连的方法、系统及装置 |
-
2012
- 2012-02-13 CN CN201210031616.6A patent/CN102594736B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1398095A (zh) * | 2001-07-13 | 2003-02-19 | 沃卢比尔公司 | 一种移动终端寻址方法 |
CN1479114A (zh) * | 2002-08-30 | 2004-03-03 | 华夏科技股份有限公司 | 全球定位系统的收发装置及其数据传输方法 |
CN101374118A (zh) * | 2007-08-23 | 2009-02-25 | 华为技术有限公司 | 一种消息互连的方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102594736A (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020380107B2 (en) | Method and apparatus for transmitting data in IoT system, and gateway device and storage medium thereof | |
CN107800621B (zh) | 一种支持多种接入协议的新型智能家居网关 | |
CN105207853B (zh) | 一种局域网监控管理方法 | |
CN111031034A (zh) | 多协议融合边缘计算网关 | |
CN109660584A (zh) | 一种客户端与服务器建立长连接的方法及通信方法与通信系统 | |
CN101764706B (zh) | 基于epa网桥的链路冗余控制方法 | |
CN103873472A (zh) | 一种自动连接网络的方法 | |
CN106302536B (zh) | 基于交换机的一体机多系统间通信的方法和装置 | |
CN104270355A (zh) | 一种基于网络总线跨安全区传输数据的方法 | |
CN103095703B (zh) | 一种实现网络与串口数据交互的方法、设备及系统 | |
CN109586958B (zh) | 双系统装置的配置管理方法及双系统装置 | |
CN102195946A (zh) | 基于arm技术的智能通信控制器 | |
CN108566284A (zh) | 一种用于mes的数据采集方法 | |
WO2015103848A1 (zh) | 一种实现Wifi访问网络的方法、系统及终端 | |
CN104993979A (zh) | 网络连接监测方法、终端设备及通信系统 | |
CN110460483A (zh) | 一种基于SDN的Profinet和Modbus设备异构组网方法 | |
CN103442003A (zh) | 面向scada系统的数据采集回填系统及其方法 | |
CN107171916B (zh) | 工业计量泵远程监控专用4g无线智能网桥 | |
CN102594736B (zh) | 一种gps设备接入网关装置 | |
CN204193645U (zh) | 一种压滤机监控系统 | |
CN103763395A (zh) | 连接物联网管理平台与终端设备的中间件及其工作方法 | |
US8645551B2 (en) | Method for automatically negotiating type of service and aggregation apparatus therefor | |
CN112039746B (zh) | 一种工业控制网络系统 | |
KR102475542B1 (ko) | 이기종 필드버스용 게이트웨이 시스템 | |
CN104102607A (zh) | 基于VxWorks操作系统环境下的CAN总线驱动方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141015 Termination date: 20210213 |
|
CF01 | Termination of patent right due to non-payment of annual fee |