一种数据传输方法和系统与流程

文档序号:11138637阅读:254来源:国知局
本发明涉及移动通信
技术领域
,尤其涉及一种数据传输方法和系统。
背景技术
:随着国内移动互联网市场发展和智能终端的普及,越来越多的移动应用软件正蓬勃兴起,网络流量持续不断增长,在一定程度上会造成网络速率减慢,降低用户体验度。为了实现多用户的交互和信息共享,现有的技术是使用通用的标准协议来实现,而现在通用的协议存在的问题是冗余数据多,比如通用的超文本传输协议(HyperTextTransferProtocol,HTTP),分为请求与响应两类消息,这两类消息中都有通用头,请求头/响应头,实体头,数据体。实际上,不同类型的消息需要携带的信息一般不同,但因为HTTP是通用的协议,消息要遵循其固有的格式,即使不需要的信息也会携带,导致冗余数据多,封包需要较多的计算消耗,所以导致消耗流量更多,传输有效信息的效率低。众所周知在互联网的数据传输普遍为数据量巨大,存在传输速率慢、流量消耗大等不足,近年来,各运营商已强烈认识到对移动业务流量深入理解的必要性,尤其是从互联网真实数据中挖掘基本的流量规律,提升现有网络的资源利用率,研究发现:在流量构成方面,用户面流量占总流量99%以上,其中95%流量基于TCP协议,3%流量基于UDP协议,控制面流量占总流量不足1%,因此,如何在互联网环境中通过自定义协议解决现有的通用协议导致流量消耗大、数据传输较慢、网络时延、时延较大等缺陷是目前面临的突出问题。技术实现要素:为了解决在互联网的数据传输过程中存在网络时延、时延较大、数据传输较慢、流量消耗大等问题,本发明的目的在于提供一种数据传输方法和系统,能够整体上加快数据传输的传输速度,降低数据传输时延,节省流量,减少用户的流量成本,进而提升用户体验。为实现上述目的,本发明提供一种数据传输方法,该方法包括如下步骤:S1:用户通过调用接口将业务数据传给协议客户端;S2:协议客户端接收所述业务数据,根据自定义协议进行封装数据包,通过TCP或UDP发送到协议服务端;S3:协议服务端接收所述协议客户端的数据包后,对所述数据包进行校验,检查数据的完整性及合法性;S4:协议服务端将所述数据包进行解析,并将所述业务数据按照一定的格式封装,而后通过HTTP请求POST操作发送到业务服务进行处理;S5:业务服务将所述业务数据处理完毕后,返回业务响应数据给所述协议服务端;S6:协议服务端将所述业务响应数据进行重新封装,并返回给所述协议客户端;S7:协议客户端进行数据的校验和解析,然后将解析后的业务响应数据返回给用户。优选地,所述S1步骤中的接口包括平台级接口、业务级接口中的一种或两种。优选地,所述平台级接口为登录、重连接、心跳、获取配置信息、设置客户端等待时间、设备信息上传的接口。优选地,所述业务级接口为业务查询、业务操作的接口。优选地,所述自定义协议的字段包括头、协议版本号、序列号、命令字、业务版本、状态码、数据域、摘要的数据。优选地,所述自定义协议的头数据长度为2个字节;所述自定义协议的摘要数据长度为1个字节。优选地,所述协议服务端用于接收及处理来自协议客户端上传的数据,其包含Nginx,在所述Nginx基础上进行模块扩展可得到扩展模块。本发明还提供了一种数据传输系统,该系统包括:用户、协议客户端、协议服务端、业务服务;所述用户为安装在操作系统为Android和iOS终端的App,或TPU终端;所述App用户通过TCP长连接与所述协议服务端实现通信,所述TPU终端通过TCP短连接或UDP与所述协议服务端实现通信;所述协议客户端用于提供接口服务,将业务数据按自定义协议进行封装形成数据包,或将系统返回的业务响应数据进行数据校验和解析;所述协议服务端包含Nginx和扩展模块,所述扩展模块是在所述Nginx自身基础上再进行模块的扩展得到的,用于接收来自所述协议客户端发送的业务数据并将多个数据包缓存到内存池,经解析和计算校验和后再根据负载均衡配置选择业务服务执行实际业务处理;所述业务服务包括App登录服务、App通讯服务、TPU通讯服务中的一种或几种。优选地,所述协议客户端与协议服务端采用自定义协议通过互联网传输数据,所述协议服务端与业务服务采用HTTP协议在局域网传输数据。更进一步优选地,由于互联网存在地域范围大、数据量多的特点,本发明中在互联网通信部分采用自定义协议传输数据信息能够有效的节省流量、提高传输速率,在局域网通信部分因不受地域范围的影响,达到的传输速率不低于100Mbps,则采用HTTP传输数据信息能够满足通信速率与网络时延要求。所述协议服务端在进行初始化新连接时自动创建连接上下文的内存池,如果新连接超时而无数据可读取,所述连接则关闭,如果新连接成功则分别读取自定义协议的头、数据域数据及摘要数据。与现有技术相比,本发明具有的有益效果:1、本发明提供一种数据传输方法和系统,在互联网的数据传输过程中采用自定义协议实现App或TPU与后台业务服务的数据交互,通过自定义协议对传输的数据进行流量的控制,减小网络流量,相比于现有技术采用通用协议的手段,本发明是将互联网使用自定义协议和局域网使用HTTP结合起来传输数量信息,能够从整体上提高客户端与后台服务的数据请求响应速度,进一步提高数据传输系统中数据的传输效率,降低数据传输时延,节省流量,节约用户的流量成本。2、本发明所述的系统还利用Nginx的特性进行模块扩展,通过采用epoll模型,利用异步非阻塞的方式来处理请求,支持更大的并发数据连接请求,进一步提升数据传输效率,从而提高用户整体的使用体验。为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为本实施例中一种数据传输方法流程示意图;图2为一种数据传输系统的构架图。具体实施方式下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。应注意到:本实施例所述TPU为票据处理单元,可用于检票或收费,处理电子票据。如图1所示,其为本实施例提供一种数据传输方法,该方法包括如下步骤:S1:用户通过调用接口将业务数据传给协议客户端;S2:协议客户端接收所述业务数据,根据自定义协议进行封装数据包,通过TCP或UDP发送到协议服务端;S3:协议服务端接收所述协议客户端的数据包后,对所述数据包进行校验,检查数据的完整性及合法性;S4:协议服务端将所述数据包进行解析,并将所述业务数据按照一定的格式封装,而后通过HTTP请求POST操作发送到业务服务进行处理;所述一定的格式如下所示:当业务数据为字符串字段,其数据格式约定如下:表1由表1可知,例如当用户登录时,支撑协议服务端接收到用户登录信息后,需要把用户的信息通过HTTP请求POST操作传给登录服务进行验证。请求数据以二进制字节数组的形式上传,登录服务再根据相应的数据字段自行解析。响应数据,需要登录服务按相应的数据格式组成字节数组,以字节数组返回支撑协议服务。如果业务数据的单个字段值为整形的话,则直接使用整形表示,不需要长度字段标识,则整体请求数据格式约定如下表2:表2S5:业务服务将所述业务数据处理完毕后,返回业务响应数据给所述协议服务端;整体返回业务响应数据格式约定如下表3:业务数据总长度业务数据2字节data_len字节data_lendata表3S6:协议服务端将所述业务响应数据进行重新封装,并返回给所述协议客户端;S7:协议客户端进行数据的校验和解析,然后将解析后的业务响应数据返回给用户。所述S1步骤中的接口包括平台级接口、业务级接口中的一种或两种。所述平台级接口为登录、重连接、心跳、获取配置信息、设置客户端等待时间、设备信息上传的接口。所述业务级接口为业务查询、业务操作的接口。所述自定义协议的字段包括头、协议版本号、序列号、命令字、业务版本、状态码、数据域、摘要的数据。尤其特别的是,所述自定义协议的头数据长度为2个字节。所述自定义协议的摘要数据长度为1个字节。作为进一步的说明,所述协议服务端用于接收及处理来自协议客户端上传的数据,其包含Nginx,在所述Nginx基础上进行模块扩展可得到扩展模块。如图2所示,其为本实施例的一种数据传输系统,该系统包括:用户、协议客户端、协议服务端、业务服务;所述用户为安装在操作系统为Android和iOS终端的App,或TPU终端;所述App用户通过TCP长连接与所述协议服务端实现通信,所述TPU终端通过TCP短连接或UDP与所述协议服务端实现通信;所述协议客户端用于提供接口服务,将业务数据按自定义协议进行封装形成数据包,或将系统返回的业务响应数据进行数据校验和解析;所述协议服务端包含Nginx和扩展模块,所述扩展模块是在所述Nginx自身基础上再进行模块的扩展得到的,用于接收来自所述协议客户端发送的业务数据并将多个数据包缓存到内存池,经解析和计算校验和后再根据负载均衡配置选择业务服务执行实际业务处理;所述业务服务包括App登录服务、App通讯服务、TPU通讯服务中的一种或几种。所述协议客户端与协议服务端采用自定义协议通过互联网传输数据,所述协议服务端与业务服务采用HTTP协议在局域网传输数据。更进一步优选地,由于互联网存在地域范围大、数据量多的特点,本发明中在互联网通信部分采用自定义协议传输数据信息能够有效的节省流量、提高传输速率,在局域网通信部分因不受地域范围的影响,达到的传输速率不低于100Mbps,则采用HTTP传输数据信息能够满足通信速率与网络时延要求。所述协议服务端在进行初始化新连接时自动创建连接上下文的内存池,如果新连接超时而无数据可读取,所述连接则关闭,如果新连接成功则分别读取自定义协议的头、数据域数据及摘要数据。需要进一步的说明,本实施例的协议服务端在Nginx服务器的基础上进行模块扩展,分别利用Nginx的进程模型和事件驱动模型来实现高并发数据连接请求,优化数量传输速率。综上所述,本实施例提供一种数据传输方法和系统,在互联网的数据传输过程中采用自定义协议实现App或TPU与后台业务服务的数据交互,通过自定义协议对数据进行流量控制,减小网络流量,从而实现整体上提高客户端与后台服务的数据请求响应速度,进一步提高数据传输系统中数据的传输效率,降低数据传输时延,节省流量,节约用户的流量成本;另一方面,通过利用Nginx进行模块扩展,充分利用Nginx的进程模型及其事件驱动模型,采用epoll模型,支持更大的并发数据连接请求,进一步提升数据传输效率,提高用户整体的使用体验。以上内容不能认定本发明具体实施只局限于这些说明,对于本发明所属
技术领域
的普通技术人员来说,在不脱离本发明构思前提下,还可以做出若干简单推演或替换,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1