一种实现数据通讯的方法及系统技术方案

技术编号:14895472 阅读:100 留言:0更新日期:2017-03-29 10:42
本发明专利技术实施例提供了一种实现数据通讯的方法及系统,涉及通信技术领域。本发明专利技术基于TCP协议与SSL建立DTRP客户端与DTRP服务器端的加密隧道,基于加密隧道DTRP客户端向DTRP服务器端的连接进程发送第一报文,连接进程根据第一报文得到DTRP数据报文并发送至DTRP服务器端的处理进程,处理进程根据DTRP数据报文生成响应的DTRP数据报文并返回至连接进程,连接进程根据响应的DTRP数据报文生成第二报文并返回至DTRP客户端。由此解决了SNMP协议会丢包、安全性差的问题,TR069协议网络开销大,SSL不选时存在安全漏洞,维护成本大的问题,数据传输时不会丢包,网络开销小,传输更安全,维护成本低。

【技术实现步骤摘要】

本专利技术涉及通信
,特别是涉及一种实现数据通讯的方法及系统。
技术介绍
随着互联网的蓬勃发展,终端设备也越来越多,终端设备的数量增加和数据传输的安全问题,使得终端设备与服务器端之间进行通讯的复杂度和成本增加。目前,互联网市场上是使用SNMP(SimpleNetworkManagementProtocol,简单网络管理协议)协议和TR069协议,TR069协议又称CWMP(CPEWanManagementProtocol,用户终端设备广域网管理协议)协议,来实现终端设备与服务器端之间进行数据通讯,最终完成对终端设备的指令下发。在专利技术人应用在先技术时,发现在先技术对于SNMP协议存在以下缺点:基于UDP(UserDatagramProtocol,用户数据包协议)协议,会丢包;安全性差;互联网上的终端设备使用此协议的较少。对于TR069协议存在以下缺点:基于HTTP(HyperTextTransferProtocol,超文本传输协议)协议,网络开销比一般的TCP(TransmissionControlProtocol,传输控制协议)协议大,设备量大时,解析速度变慢;SSL(SecureSocketsLayer,安全套接层)为可选,不选时安全上存在漏洞;协议内容完备,开发复杂度高,维护成本大。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种实现数据通讯的方法和相应的一种实现数据通讯的系统。依据本专利技术的一个方面,提供了一种实现数据通讯的方法,包括:终端设备的DTRP(DatangRemoteProtocol,远程数据交互协议)客户端发送基于TCP协议的connect数据报文至DTRP服务器端的连接进程;所述DTRP服务器端的连接进程基于所述connect数据报文建立与DTRP客户端的连接;在所述DTRP客户端与所述DTRP服务器端建立连接后,向所述连接进程发送基于TCP协议的SSL数据报文,基于所述SSL数据报文建立所述DTRP客户端与所述DTRP服务器端的加密隧道;在所述DTRP客户端与所述DTRP服务器端建立加密隧道后,所述DTRP客户端向所述连接进程发送基于TCP协议的包含DTRP数据报文的第一报文;所述连接进程对所述第一报文进行初步处理后得到的DTRP数据报文并转发给所述DTRP服务器端的处理进程;所述处理进程对所述DTRP数据报文进行处理,并返回响应的DTRP数据报文给所述连接进程;所述连接进程将所述响应的DTRP数据报文处理为基于TCP协议的包含响应的DTRP数据报文的第二报文,以返回所述DTRP客户端。优选地,所述连接进程对所述第一报文进行初步处理后得到的DTRP数据报文并转发给所述DTRP服务器端的处理进程的步骤,包括:所述连接进程对所述第一报文进行SSL解密得到DTRP数据报文;判断所述DTRP数据报文是否被分包;如果所述DTRP数据报文被分包,则对所述DTRP数据报文进行组包处理,将组包后的DTRP数据报文发送至所述DTRP服务器端的处理进程;如果所述DTRP数据报文没有被分包,则直接将所述DTRP数据报文发送至所述DTRP服务器端的处理进程。优选地,所述处理进程对所述DTRP数据报文进行处理,并返回响应的DTRP数据报文给所述连接进程的步骤,包括:所述处理进程根据DTRP数据报文协议,对所述DTRP数据报文进行解析得到所述DTRP数据报文的关键字、指令序列和变量;根据所述DTRP数据报文的关键字判断所述DTRP数据报文的报文类型,并根据所述报文类型进入不同的数据响应流程,在所述数据响应流程中根据所述指令序列和所述变量生成响应的DTRP数据报文;将所述响应的DTRP数据报文发送给所述连接进程。优选地,所述连接进程将所述响应的DTRP数据报文处理为基于TCP协议的包含响应的DTRP数据报文的第二报文,以返回所述DTRP客户端的步骤,包括:所述连接进程判断所述响应的DTRP数据报文大小是否大于设定阈值;如果所述响应的DTRP数据报文大于设定阈值,则对所述响应的DTRP数据报文进行分包处理,将分包后的至少一个响应的DTRP数据报文进行SSL加密;如果所述响应的DTRP数据报文小于设定阈值,则直接将所述响应的DTRP数据报文进行SSL加密;基于所述SSL加密后的响应的DTRP数据报文生成第二报文,以返回所述DTRP客户端。优选地,所述DTRP数据报文包括:login数据报文、heart数据报文以及order数据报文。优选地,所述基于TCP协议的包含DTRP数据报文的第一报文包括:IP(InternetProtocol,网络协议)首部和IP数据部分;所述IP数据部分包括TCP首部和TCP数据部分;所述TCP数据部分包括SSL首部和SSL数据部分;所述SSL数据部分包括DTRP数据报文。优选地,在所述终端设备的DTRP客户端发送基于TCP协议的connect数据报文至DTRP服务器端的连接进程的步骤之前,还包括:所述DTRP服务器端的连接进程加载预置的配置文件,并初始化与所述DTRP服务器端的处理进程的连接;所述配置文件包括:端口号、线程数、版本号。根据本专利技术的另一方面,提供了一种实现数据通讯的系统,包括:connect数据报文发送模块,用于终端设备的DTRP客户端发送基于TCP协议的connect数据报文至DTRP服务器端的连接进程;连接建立模块,用于所述DTRP服务器端的连接进程基于所述connect数据报文建立与DTRP客户端的连接;加密隧道建立模块,用于在所述DTRP客户端与所述DTRP服务器端建立连接后,向所述连接进程发送基于TCP协议的SSL数据报文,基于所述SSL数据报文建立所述DTRP客户端与所述DTRP服务器端的加密隧道;第一报文发送模块,用于在所述DTRP客户端与所述DTRP服务器端建立加密隧道后,所述DTRP客户端向所述连接进程发送基于TCP协议的包含DTRP数据报文的第一报文;DTRP数据报文发送模块,用于所述连接进程对所述第一报文进行初步处理后得到的DTRP数据报文并转发给所述DTRP服务器端的处理进程;DTRP数据报文处理模块,用于所述处理进程对所述DTRP数据报文进行处理,并返回响应的DTRP数据报文给所述连接进程;第二报文返回模块,用于所述连接进程将所述响应的DTRP数据报文处理为基于TCP协议的包含响应的DTRP数据报文的第二报文,以返回所述DTRP客户端。优选地,所述DTRP数据报文发送模块,包括:解密模块,用于所述连接进程对所述第一报文进行SSL解密得到DTRP数据报文;分包判断模块,用于判断所述DTRP数据报文是否被分包;第一发送模块,用于如果所述DTRP数据报文被分包,则对所述DTRP数据报文进行组包处理,将组包后的DTRP数据报文发送至所述DTRP服务器端的处理进程;第二发送模块,用于如果所述DTRP数据报文没有被分包,则直接将所述DTRP数据报文发送至所述DTRP服务器端的处理进程。优选地,所述DTRP数据报文处理模块,包括:解析模块,用于所述处理进程根据DTRP数据报文协议,对所述DTRP数据报文进行解析得到所述DTRP数据报文的关键字、指令序列和变量;响应报文生成模块,用于根据所述DTRP本文档来自技高网...
一种实现数据通讯的方法及系统

【技术保护点】
一种实现数据通讯的方法,其特征在于,包括:终端设备的DTRP客户端发送基于TCP协议的connect数据报文至DTRP服务器端的连接进程;所述DTRP服务器端的连接进程基于所述connect数据报文建立与DTRP客户端的连接;在所述DTRP客户端与所述DTRP服务器端建立连接后,向所述连接进程发送基于TCP协议的SSL数据报文,基于所述SSL数据报文建立所述DTRP客户端与所述DTRP服务器端的加密隧道;在所述DTRP客户端与所述DTRP服务器端建立加密隧道后,所述DTRP客户端向所述连接进程发送基于TCP协议的包含DTRP数据报文的第一报文;所述连接进程对所述第一报文进行初步处理后得到的DTRP数据报文并转发给所述DTRP服务器端的处理进程;所述处理进程对所述DTRP数据报文进行处理,并返回响应的DTRP数据报文给所述连接进程;所述连接进程将所述响应的DTRP数据报文处理为基于TCP协议的包含响应的DTRP数据报文的第二报文,以返回所述DTRP客户端。

【技术特征摘要】
1.一种实现数据通讯的方法,其特征在于,包括:终端设备的DTRP客户端发送基于TCP协议的connect数据报文至DTRP服务器端的连接进程;所述DTRP服务器端的连接进程基于所述connect数据报文建立与DTRP客户端的连接;在所述DTRP客户端与所述DTRP服务器端建立连接后,向所述连接进程发送基于TCP协议的SSL数据报文,基于所述SSL数据报文建立所述DTRP客户端与所述DTRP服务器端的加密隧道;在所述DTRP客户端与所述DTRP服务器端建立加密隧道后,所述DTRP客户端向所述连接进程发送基于TCP协议的包含DTRP数据报文的第一报文;所述连接进程对所述第一报文进行初步处理后得到的DTRP数据报文并转发给所述DTRP服务器端的处理进程;所述处理进程对所述DTRP数据报文进行处理,并返回响应的DTRP数据报文给所述连接进程;所述连接进程将所述响应的DTRP数据报文处理为基于TCP协议的包含响应的DTRP数据报文的第二报文,以返回所述DTRP客户端。2.如权利要求1所述的方法,其特征在于,所述连接进程对所述第一报文进行初步处理后得到的DTRP数据报文并转发给所述DTRP服务器端的处理进程的步骤,包括:所述连接进程对所述第一报文进行SSL解密得到DTRP数据报文;判断所述DTRP数据报文是否被分包;如果所述DTRP数据报文被分包,则对所述DTRP数据报文进行组包处理,将组包后的DTRP数据报文发送至所述DTRP服务器端的处理进程;如果所述DTRP数据报文没有被分包,则直接将所述DTRP数据报文发送至所述DTRP服务器端的处理进程。3.如权利要求1所述的方法,其特征在于,所述处理进程对所述DTRP数据报文进行处理,并返回响应的DTRP数据报文给所述连接进程的步骤,包括:所述处理进程根据DTRP数据报文协议,对所述DTRP数据报文进行解析得到所述DTRP数据报文的关键字、指令序列和变量;根据所述DTRP数据报文的关键字判断所述DTRP数据报文的报文类型,并根据所述报文类型进入不同的数据响应流程,在所述数据响应流程中根据所述指令序列和所述变量生成响应的DTRP数据报文;将所述响应的DTRP数据报文发送给所述连接进程。4.如权利要求1所述的方法,其特征在于,所述连接进程将所述响应的DTRP数据报文处理为基于TCP协议的包含响应的DTRP数据报文的第二报文,以返回所述DTRP客户端的步骤,包括:所述连接进程判断所述响应的DTRP数据报文大小是否大于设定阈值;如果所述响应的DTRP数据报文大于设定阈值,则对所述响应的DTRP数据报文进行分包处理,将分包后的至少一个响应的DTRP数据报文进行SSL加密;如果所述响应的DTRP数据报文小于设定阈值,则直接将所述响应的DTRP数据报文进行SSL加密;基于所述SSL加密后的响应的DTRP数据报文生成第二报文,以返回所述DTRP客户端。5.如权利要求1所述的方法,其特征在于,所述DTRP数据报文包括:login数据报文、heart数据报文以及order数据报文。6.如权利要求1...

【专利技术属性】
技术研发人员:李峰李鹏辉
申请(专利权)人:大唐软件技术股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1