CN105141567A - 终端应用和服务端的交互数据处理方法及系统、交互方法 - Google Patents

终端应用和服务端的交互数据处理方法及系统、交互方法 Download PDF

Info

Publication number
CN105141567A
CN105141567A CN201410226285.0A CN201410226285A CN105141567A CN 105141567 A CN105141567 A CN 105141567A CN 201410226285 A CN201410226285 A CN 201410226285A CN 105141567 A CN105141567 A CN 105141567A
Authority
CN
China
Prior art keywords
binary
data string
service end
http message
data
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
Application number
CN201410226285.0A
Other languages
English (en)
Other versions
CN105141567B (zh
Inventor
吴发强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410226285.0A priority Critical patent/CN105141567B/zh
Publication of CN105141567A publication Critical patent/CN105141567A/zh
Application granted granted Critical
Publication of CN105141567B publication Critical patent/CN105141567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种终端应用、服务端的交互数据处理方法及其系统,以及一种终端应用和服务端的数据交互方法,将终端应用的交互数据编码成二进制数据串,并以HTTP报文为载体,将所述二进制数据串放入所述HTTP报文的消息体中发送给所述服务端。服务端在接收所述HTTP报文之后,只需要从所述HTTP报文的消息体中提取相应的二进制数据串并解码,即可获得所述终端应用的交互数据。可将以计算机语言表述的交互数据的结构化打乱,减少其中的控制信息,使数据占用的空间较少,更方便传输,同时提高了数据交互的安全性。并且,由于数据传输使用了HTTP协议,使终端应用的接入逻辑简化。

Description

终端应用和服务端的交互数据处理方法及系统、交互方法
技术领域
本发明涉及终端和服务端通信的技术领域,尤其涉及一种终端应用的交互数据处理方法及其系统,以及一种服务端的交互数据处理方法及其系统,一种终端应用与服务端的数据交互方法。
背景技术
现有的终端应用与服务端的数据交互方式有多种,以移动APP(Application,移动终端应用程序)和后台服务器的交互方法为例,主要是使用SOCKET(套接字)长连接加上短连接结合的方式直接连接后台服务端,特别是SNS(SocialNetworkingServices,社会性网络服务)应用中比较常见。通常在和后台交互之前,需要拉取一次serverlist找到最合适的后台服务器之后才能开始通信,如果在WAP(WirelessApplicationProtocol,无线应用协议)网络下,就只能采用短连接的方式访问后台。
然而,使用SOCKET方式直接连接后台服务端的方式有明显的缺点,该方案太过复杂,APP端要特别关注SOCKET编程,同时服务端的程序实现也比较复杂,特别是在大用户量通过长连接与后台服务端交互的情况下,对终端和服务端的实现要求都较高。
而其他简单的数据交互方法虽然可以简化数据交互流程,降低终端和服务端的实现难度,但通常安全性无法保证。
发明内容
基于此,针对现有技术终端应用与服务端的数据交互实现复杂或者安全性不高的问题,本发明的目的在于提供一种终端应用的交互数据处理方法,降低终端应用与服务端的数据交互的复杂度,同时具有较好的安全性。
一种终端应用的交互数据处理方法,包括以下步骤:
获取终端应用的交互数据;
根据预设的二进制编码协议将所述交互数据编码成二进制数据串;
对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给所述服务端。
与所述终端应用的交互数据处理方法相对应,本发明还提供一种终端应用的交互数据处理系统,同样可降低终端应用与服务端的数据交互的复杂度,同时具有较好的安全性。
一种终端应用的交互数据处理系统,包括:
交互数据获取模块,用于获取终端应用的交互数据;
第一编码模块,用于根据预设的二进制编码协议将所述交互数据编码成二进制数据串;
第一发送模块,用于对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给所述服务端。
本发明终端应用的交互数据处理方法及其系统中,将所述终端应用的交互数据编码成二进制数据串,并以HTTP报文为载体,将所述二进制数据串放入所述HTTP报文的消息体中发送给所述服务端。因此可将以计算机语言表述的交互数据的结构化打乱,减少其中的控制信息,使数据占用的空间较少,更方便传输,同时提高了数据交互的安全性。并且,由于数据传输使用了HTTP协议,使终端应用的接入逻辑简化,对提升服务质量也有很大的作用。
针对现有技术终端应用与服务端的数据交互实现复杂或者安全性不高的问题,本发明的目的还在于提供一种服务端的交互数据处理方法,降低终端应用与服务端的数据交互的复杂度,同时具有较好的安全性。
一种服务端的交互数据处理方法,包括以下步骤:
接收终端应用发送的HTTP报文,其中,所述HTTP报文的消息体中包含由所述终端应用的交互数据编码而成的二进制数据串;
从所述HTTP报文的消息体中提取相应的二进制数据串;
根据相应的二进制解码协议对所述二进制数据串进行解码,获取所述终端应用的交互数据。
与所述服务端的交互数据处理方法相对应,本发明还提供一种服务端的交互数据处理系统,同样可降低终端应用与服务端的数据交互的复杂度,同时具有较好的安全性。
一种服务端的交互数据处理系统,包括:
第一接收模块,用于接收终端应用发送的HTTP报文,其中,所述HTTP报文的消息体中包含由所述终端应用的交互数据编码而成的二进制数据串;
第一提取模块,用于从所述HTTP报文的消息体中提取相应的二进制数据串;
第一解码模块,用于根据相应的二进制解码协议对所述二进制数据串进行解码,获取所述终端应用的交互数据。
本发明服务端的交互数据处理方法及其系统中,终端发送的交互数据被编码成二进制数据串,并以HTTP报文为载体发送,因此,服务端在接收所述HTTP报文之后,只需要从所述HTTP报文的消息体中提取相应的二进制数据串并解码,即可获得所述终端应用的交互数据。通过编码成二进制数据串可将以计算机语言表述的交互数据的结构化打乱,减少其中的控制信息,使数据占用的空间较少,更方便传输,同时提高了数据交互的安全性。并且,由于数据传输使用HTTP协议,使终端应用的接入逻辑简化,对提升服务质量也有很大的作用。
本发明的目的还在于提供一种终端应用与服务端的数据交互方法,降低数据交互的复杂度,同时具有较好的安全性。
一种终端应用与服务端的数据交互方法,包括以下步骤:
终端应用根据预设的二进制编码协议将与服务端的交互数据编码成二进制数据串,对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给服务端;
服务端接收终端应用发送的HTTP报文,从所述HTTP报文的消息体中提取相应的二进制数据串,并根据相应的二进制解码协议对所述二进制数据串进行解码,获取所述终端应用的交互数据。
本发明终端应用与服务端的数据交互方法中,终端发送的交互数据被编码成二进制数据串,并以HTTP报文为载体发送,因此,服务端在接收所述HTTP报文之后,只需要从所述HTTP报文的消息体中提取相应的二进制数据串并解码,即可获得所述终端应用的交互数据。通过编码成二进制数据串可将以计算机语言表述的交互数据的结构化打乱,减少其中的控制信息,使数据占用的空间较少,更方便传输,同时提高了数据交互的安全性。并且,由于数据传输使用HTTP协议,使终端应用的接入逻辑简化,对提升服务质量也有很大的作用。
附图说明
图1为本发明终端应用的交互数据处理方法一种实施方式的流程图;
图2为本发明服务端的交互数据处理方法一种实施方式的流程图;图3为应用本发明终端应用和服务端的数据交互方法在一种具体实施例中的数据交互的流程图;
图4为本发明终端应用的交互数据处理系统一种实施方式的结构示意图;
图5为本发明终端应用的交互数据处理系统一种实施方式中的第一编码模块的结构示意图;
图6为本发明终端应用的交互数据处理系统一个优选实施方式的结构示意图;
图7为本发明服务端的交互数据处理系统一种实施方式的结构示意图;
图8为本发明服务端的交互数据处理系统一种优选实施方式的结构示意图;
图9为能实现本发明实施例的一个计算机系统1000的模块图。
具体实施例
为了使本发明的目的、技术方案和有点更加清楚,下面将结合附图对本发明作进一步地详细描述。
请参阅图1,其是本发明终端应用的交互数据处理方法一种实施方式的流程图。
所述终端应用的交互数据处理方法,包括以下步骤:
S101,获取终端应用的交互数据;
S102,根据预设的二进制编码协议将所述交互数据编码成二进制数据串;
S103,对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给所述服务端。
本发明终端应用的交互数据处理方法中,将所述终端应用的交互数据编码成二进制数据串,并以HTTP报文为载体,将所述二进制数据串放入所述HTTP报文的消息体中发送给所述服务端。因此可将以计算机语言表述的交互数据的结构化打乱,减少其中的控制信息,使数据占用的空间较少,更方便传输,同时提高了数据交互的安全性。并且,由于数据传输使用了HTTP协议,使终端应用的接入逻辑简化,对提升服务质量也有很大的作用。
其中,对于步骤S101,获取终端应用的交互数据。所述终端应用是指在终端运行且需要与服务端进行交互的应用,例如移动终端的APP等。
所述终端应用需要与服务端进行交互的数据为交互数据,包括所述终端应用的业务数据,请求数据等等。
对于步骤S102,根据预设的二进制编码协议将所述交互数据编码成二进制数据串;
所述预设的二进制编码协议可以采用各种本领域常用的二进制编码协议,例如protobuf、thrift等。这里的二进制编码协议是相对于XML等描述性协议而言的,它将数据打散成二进制的数据串,长度更小。
优选地,针对终端应用的交互数据可能使用各种不同计算机语言构成,本实施方式中提供一种可适用于多种计算机语言的二进制编码方式:
根据所述交互数据的编程语言,从所述二进制编码协议的定义文件中获取与所述编程语言对应的二进制编码规则;其中,所述二进制编码协议的定义文件包含有多种编程语言对应的二进制编码规则;
根据获取的所述二进制编码规则,将所述交互数据编码成二进制数据串。
通过上述方式,所述二进制编码协议可通过一种类C语法的协议定义文件定义多种编程语言对应的二进制编码规则,从而根据所述协议定义文件可生成多种编程语言的业务协议源码,并可提供与多种编程语言对应的编码或者解码API,以供终端调用,比较方便。所述多种编程语言包括C++、C、java、PHP、python等。
根据所述协议定义文件,可以生成出不同编程语言对应的类。这些类的运行期表现形式就是对象,可以存储交互数据。在不同编程语言的类所对应的对象中填充所述交互数据,并调用相应的编码API对所述对象进行处理,就可以获得相应的二进制数据串。
对于步骤S103,对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给所述服务端。
HTTP协议将请求和响应报文分成消息头和消息体两部分,其中消息体的部分用于承载业务数据,本发明将已经编码好的二进制数据串放入所述HTTP报文的消息体(body)中,将所述HTTP报文发送给所述服务端,即将所述二进制数据串作为HTTP报文的body数据发送。
并且,由于终端发送的是HTTP报文,所以服务端在终端应用一侧表现的接口就是一个URL(UniformResourceLocator,统一资源定位符),因此可进一步结合DNS(DomainNameSystem,域名系统)协议,快速定位合适的服务端地址。因此,将所述HTTP报文发送给所述服务端的步骤可进一步包括:
根据所述服务端的URL,向DNS服务器发送HTTP报文传输请求;
接收所述DNS服务器指定的服务端地址,根据所述服务端地址将所述HTTP报文发送给相应的服务端。
在本发明中,接收和处理交互数据的服务端CGI(CommonGatewayInterface,公共网关接口)可通过URL来定位地址,这样一来配合DNS非协议,可以常轻松的选择出当前终端应用访问最快速的服务端。终端应用通过DNS协议解析获取服务端的地址,而DNS服务器会根据终端应用所在的IP地址下发最合适最快的服务器IP(InternetProtocol,网络之间互连的协议)供终端访问,对提升服务质量有很大的作用。
本发明的终端应用的交互数据处理方法通过对交互数据采用二进制方式编码并使用HTTP协议的配合传输,将生成的二进制数据串从终端运载到服务端。由于终端应用的交互数据是结构化的,有一定的规则,包含一些控制信息。通过二进制数据串把这种结构化打乱,减少控制信息,让数据占用的空间最少,这样更方便传输,可达到节省流量的目的。并且,二进制协议具有较好的安全性,提高对后台服务的访问过程的安全性。
本发明的终端应用的交互数据处理方法尤其适用于与后台服务端交互不是特别频繁的终端应用的交互场景,对非即时通讯类的移动APP大都可以适用。而且,通过获取与多种编程语言对应的二进制编码规则,可跨平台适用,对具有Android、iOS、WindowsPhone等操作系统的终端应用都可以适用本发明。例如:水印相机程序(Android/iOS)中的拉取水印库的后台服务端访问操作、LBS(基于位置服务)对后台服务端的访问等都可使用本发明的终端应用的交互数据处理方法实现,开发时间大大缩短。在支持多平台的时候,由于使用同一套编码协议,后台无需特别处理,这样一来大大简化了开发量,在敏捷开发模式下特别适合,可以快速的实现出多平台下的后台访问模块。
在一种优选实施方式中,在步骤S102根据预设的二进制编码协议将所述交互数据编码成二进制数据串之后,还包括以下步骤:
根据第一压缩编码规则对所述二进制数据串进行压缩处理;
和/或,根据第一加密规则对所述二进制数据串进行加密处理。
所述第一压缩编码规则可以是本领域的各种常用的压缩编码规则,如gzip、rar等;所述第一加密规则也可以是本领域的各种常用的加密规则。
从安全性和流量方面的考虑。众所周知,终端应用特别是移动APP对于流量的使用非常敏感。因此通过加入压缩处理的步骤,可进一步降低交互数据包的大小,达到节省流量的目的。而在安全方面,加入加密处理的步骤使得整个后台访问更加安全。
由于服务端在接收到终端应用的交互数据之后,通常会返回一个响应数据,表示成功接收数据,或者传达处理结果等。
因此,本发明的终端应用的交互数据处理方法还可进一步包括接收和处理服务端返回的响应报文的步骤:
接收服务端返回的响应HTTP报文,其中,所述响应HTTP报文的消息体中包含由所述服务端的响应数据编码而成的二进制数据串;
从所述响应HTTP报文的消息体中提取相应的二进制数据串;
根据相应的二进制解码协议对所述响应HTTP报文中提取的二进制数据串进行解码,获取所述服务端的响应数据。
在上述方式中,服务端返回的响应HTTP报文的消息体中包含由所述服务端的响应数据编码而成的二进制数据串。因此在终端接收所述响应HTTP报文之后,只需要从所述响应HTTP报文的消息体中提取相应的二进制数据串,并对所述二进制数据串进行解码,即可获取所述服务端的响应数据。通过上述方式同样可以减少响应数据的传输数据量,提高响应数据传输的安全性。
优选地,所述响应数据中包含的二进制数据串同样可经过压缩和/或加密处理,以进一步减少传输数据量和提高安全性,因此终端从所述响应HTTP报文的消息体中提取相应的二进制数据串之后,还可包括以下步骤:
根据第二解压缩编码规则对所述响应HTTP报文中提取的二进制数据串进行解压缩处理;
和/或,根据第二解密规则对所述响应HTTP报文中提取的二进制数据串进行解密处理。
请参阅图2,其是本发明服务端的交互数据处理方法一种实施方式的流程图。
所述服务端的交互数据处理方法,包括以下步骤:
S201,接收终端应用发送的HTTP报文,其中,所述HTTP报文的消息体中包含由所述终端应用的交互数据编码而成的二进制数据串;
S202,从所述HTTP报文的消息体中提取相应的二进制数据串;
S203,根据相应的二进制解码协议对所述二进制数据串进行解码,获取所述终端应用的交互数据。
本发明服务端的交互数据处理方法中,终端发送的交互数据被编码成二进制数据串,并以HTTP报文为载体发送,因此,服务端在接收所述HTTP报文之后,只需要从所述HTTP报文的消息体中提取相应的二进制数据串并解码,即可获得所述终端应用的交互数据。通过编码成二进制数据串可将以计算机语言表述的交互数据的结构化打乱,减少其中的控制信息,使数据占用的空间较少,更方便传输,同时提高了数据交互的安全性。并且,由于数据传输使用HTTP协议,使终端应用的接入逻辑简化,对提升服务质量也有很大的作用。
其中,所述终端应用是指在终端运行且需要与服务端进行交互的应用,例如移动终端的APP等。
所述终端应用需要与服务端进行交互的数据为交互数据,包括所述终端应用的业务数据,请求数据等等。
在步骤S201中,由于终端应用发送的是HTTP报文,所以服务端可通过CGI(公共网关接口)接收所述HTTP报文。所述HTTP报文的消息体中包含由所述终端应用的交互数据编码而成的二进制数据串。所述二进制数据串可以采用各种本领域常用的二进制编码协议编码而成,例如protobuf、thrift等。
在步骤S202中,从所述HTTP报文的消息体中提取相应的二进制数据串的方式与终端将所述二进制数据串放入HTTP报文的方式对应。
在步骤S203中,对所述二进制数据串进行解码的二进制解码协议与终端使用的对所述二进制数据串的编码协议对应,可以是本领域中常用的各种编码、解码协议。
进一步地,如果接收的所述HTTP报文中包含的二进制数据串经过压缩和/或加密处理,则从所述HTTP报文的消息体中提取相应的二进制数据串之后,还包括以下步骤:
根据第一解压缩编码规则对所述二进制数据串进行解压缩处理;
和/或,根据第一解密规则对所述二进制数据串进行解密处理。
所述HTTP报文中包含的二进制数据串经过压缩和/或加密处理,可以进一步减少传输数据量和提高安全性。
由于服务端只需要通过HTTPCGI接收终端应用发送的二进制数据,所以后台服务端在构建时可以选择更灵活的方式。服务端可以使用传统的Apache+PHP(HypertextPreprocessor,超级文本预处理语言)的方式,其实现比较简单;也可以使用Nginx+自定义module方式,其实现较难,需要掌握nginx,但性能高;还可以使用Python编写CGI;更加可以使用自己编写的CGI+逻辑处理部分,以提高性能。在后台服务端在创建时可以根据性能以及项目要求的情况灵活地选择。
由于服务端在接收到终端应用的交互数据之后,通常会返回一个响应数据,表示成功接收数据,或者传达处理结果等。
因此,本发明的服务端的交互数据处理方法在获取所述终端应用的交互数据之后,还可进一步包括返回响应报文的步骤:
生成响应数据;
根据预设的二进制编码协议将所述响应数据编码成二进制数据串;
对所述终端应用生成响应HTTP报文,将所述响应数据编码而成的二进制数据串放入所述响应HTTP报文的消息体中,并将所述响应HTTP报文发送给所述终端应用。
服务端将返回的响应数据编码成二进制数据串并添加到返回的响应HTTP报文的消息体中。因此在终端接收所述响应HTTP报文之后,只需要从所述响应HTTP报文的消息体中提取相应的二进制数据串,并对所述二进制数据串进行解码,即可获取所述服务端的响应数据。通过上述方式同样可以减少响应数据的传输数据量,提高响应数据传输的安全性。这里的二进制编码协议是相对于XML等描述性协议而言的,它将数据打散成二进制的数据串,长度更小。
优选地,所述响应数据中包含的二进制数据串同样可进行压缩和/或加密处理,以进一步减少传输数据量和提高安全性,因此在根据所述二进制编码协议将所述响应数据编码成二进制数据串之后,还包括以下步骤:
根据第二压缩编码规则对所述响应数据编码而成的二进制数据串进行压缩处理;
和/或,根据第二加密规则对所述响应数据编码而成的二进制数据串进行加密处理。
所述第二压缩编码、解码规则可以是本领域的各种常用的压缩编码、解码规则,如gzip、rar等;所述第二加密、解密规则也可以是本领域的各种常用的加密、解密规则,可根据具体需要进行选择。
与上述的移动终端、服务端的交互数据处理方法相对应,本发明还提供一种终端应用与服务端的数据交互方法。
所述终端应用与服务端的数据交互方法,包括以下步骤:
终端应用根据预设的二进制编码协议将与服务端的交互数据编码成二进制数据串,对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给服务端;
服务端接收终端应用发送的HTTP报文,从所述HTTP报文的消息体中提取相应的二进制数据串,并根据相应的二进制解码协议对所述二进制数据串进行解码,获取所述终端应用的交互数据。
在一种优选实施方式中,终端应用根据所述交互数据的编程语言,从所述二进制编码协议的定义文件中获取与所述编程语言对应的二进制编码规则;其中,所述二进制编码协议的定义文件包含有多种编程语言对应的二进制编码规则,并根据获取的所述二进制编码规则,将所述交互数据编码成二进制数据串;
服务端从所述HTTP报文的消息体中提取相应的二进制数据串之后,根据所述二进制编码协议,对所述二进制数据串进行解码。
在另一种优选实施方式中,所述终端应用与服务端的数据交互方法还包括以下步骤:
服务端获取所述终端应用的交互数据之后,生成响应数据,根据预设的二进制编码协议将所述响应数据编码成二进制数据串,对所述终端应用生成响应HTTP报文,将所述响应数据编码而成的二进制数据串放入所述响应HTTP报文的消息体中,并将所述响应HTTP报文发送给所述终端应用;
终端应用接收服务端返回的响应HTTP报文,从所述响应HTTP报文的消息体中提取相应的二进制数据串,并根据相应的二进制解码协议对所述响应HTTP报文中提取的二进制数据串进行解码,获取所述服务端的响应数据。
本发明的终端应用与服务端的数据交互方法的各个步骤与上述移动终端、服务端的交互数据处理方法的步骤相对应,在此不再赘述。
下面结合具体的实施例说明本发明的终端应用和服务端的数据交互方法。
请参阅图3,其是应用本发明终端应用和服务端的数据交互方法在一种具体实施例中的数据交互的流程图。
S301,终端应用发起交互请求,向根据预设的二进制编码协议生成的编码对象中填充交互数据;
S302,调用编码API,将所述交互数据编码成二进制数据串;
S303,根据具体情况选择对所述二进制数据串进行加密和/或压缩处理;
S304,将所述二进制数据串放入HTTP报文的消息体中并发出;
S305,服务端通过CGI接收所述HTTP报文,并从所述HTTP报文的消息体中提取出二进制数据串;
S306,根据具体情况并对应步骤S303,对所提取出的二进制数据串进行解压缩和/或解密处理;
S307,对所述二进制数据串进行解码处理,生成交互数据;
S308,根据所述交互数据进行业务逻辑处理;
S309,业务逻辑处理完成后,向根据预设的二进制编码协议生成的编码对象中填充响应数据;
S310,调用编码API,将所述响应数据编码成二进制数据串;
S311,根据具体情况选择对所述响应数据编码成的二进制数据串进行加密和/或压缩处理;
S312,将所述响应数据编码成的二进制数据串放入响应HTTP报文的消息体中并发出;
S313,终端应用接收所述响应HTTP报文,并从所述响应HTTP报文的消息体中提取出二进制数据串;
S314,根据具体情况并对应步骤S311,对所述响应HTTP报文中提取出的二进制数据串进行解压缩和/或解密处理;
S315,对二进制数据串进行解码处理,生成响应数据;
S316,使用所述响应数据,整个流程完成。
请参阅图4,其是本发明终端应用的交互数据处理系统一种实施方式的结构示意图。
所述终端应用的交互数据处理系统10,包括:
交互数据获取模块11,用于获取终端应用的交互数据;
第一编码模块12,用于根据预设的二进制编码协议将所述交互数据编码成二进制数据串;
第一发送模块13,用于对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给所述服务端。
本发明终端应用的交互数据处理系统中,将所述终端应用的交互数据编码成二进制数据串,并以HTTP报文为载体,将所述二进制数据串放入所述HTTP报文的消息体中发送给所述服务端。因此可将以计算机语言表述的交互数据的结构化打乱,减少其中的控制信息,使数据占用的空间较少,更方便传输,同时,因为终端应用的交互数据的结构化被打乱了,转换成二进制数据串,因此提高了数据交互的安全性。并且,由于数据传输使用了HTTP协议,使终端应用的接入逻辑简化,对提升服务质量也有很大的作用。
其中,所述交互数据获取模块11获取终端应用的交互数据。所述终端应用是指在终端运行且需要与服务端进行交互的应用,例如移动终端的APP等。
所述终端应用需要与服务端进行交互的数据为交互数据,包括所述终端应用的业务数据,请求数据等等。
所述第一编码模块12根据预设的二进制编码协议将所述交互数据编码成二进制数据串;
所述预设的二进制编码协议可以采用各种本领域常用的二进制编码协议,例如protobuf、thrift等。这里的二进制编码协议是相对于XML等描述性协议而言的,它将数据打散成二进制的数据串,长度更小。
优选地,针对终端应用的交互数据可能使用各种不同计算机语言构成,本实施方式中提供一种可适用于多种计算机语言的编码模块,请参阅图5,所述第一编码模块12包括:
匹配模块121,用于根据所述交互数据的编程语言,从所述二进制编码协议的定义文件中获取与所述编程语言对应的二进制编码规则;其中,所述二进制编码协议的定义文件包含有多种编程语言对应的二进制编码规则;
编码执行模块122,根据获取的所述二进制编码规则,将所述交互数据编码成二进制数据串。
通过上述方式,所述二进制编码协议可通过一种类C语法的协议定义文件定义多种编程语言对应的二进制编码规则,从而根据所述协议定义文件可生成多种编程语言的业务协议源码,并可提供与多种编程语言对应的编码或者解码API,以供终端调用,比较方便。所述多种编程语言包括C++、C、java、PHP、python等。
根据所述协议定义文件,可以生成出不同编程语言对应的类。这些类的运行期表现形式就是对象,可以存储交互数据。在不同编程语言的类所对应的对象中填充所述交互数据,并调用相应的编码API对所述对象进行处理,就可以获得相应的二进制数据串。
所述第一发送模块13对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给所述服务端。
HTTP协议将请求和响应报文分成消息头和消息体两部分,其中消息体的部分用于承载业务数据,本发明将已经编码好的二进制数据串放入所述HTTP报文的消息体(body)中,将所述HTTP报文发送给所述服务端,即将所述二进制数据串作为HTTP报文的body数据发送。
并且,由于终端发送的是HTTP报文,所以服务端在终端应用一侧表现的接口就是一个URL(UniformResourceLocator,统一资源定位符),因此可进一步结合DNS(DomainNameSystem,域名系统)协议,快速定位合适的服务端地址。所述第一发送模块13可根据所述服务端的URL,向DNS服务器发送HTTP报文传输请求,并接收所述DNS服务器指定的服务端地址,根据所述服务端地址将所述HTTP报文发送给相应的服务端。
在本发明中,接收和处理交互数据的服务端CGI(CommonGatewayInterface,公共网关接口)可通过URL来定位地址,这样一来配合DNS非协议,可以常轻松的选择出当前终端应用访问最快速的服务端。终端应用通过DNS协议解析获取服务端的地址,而DNS服务器会根据终端应用所在的IP地址下发最合适最快的服务器IP(InternetProtocol,网络之间互连的协议)供终端访问,对提升服务质量有很大的作用。
本发明的终端应用的交互数据处理系统通过对交互数据采用二进制方式编码并使用HTTP协议的配合传输,将生成的二进制数据串从终端运载到服务端。由于终端应用的交互数据是结构化的,有一定的规则,包含一些控制信息。通过二进制数据串把这种结构化打乱,减少控制信息,让数据占用的空间最少,这样更方便传输,可达到节省流量的目的。并且,二进制协议具有较好的安全性,提高对后台服务的访问过程的安全性。
本发明的终端应用的交互数据处理系统尤其适用于与后台服务端交互不是特别频繁的终端应用的交互场景,对非即时通讯类的移动APP大都可以适用。而且,通过获取与多种编程语言对应的二进制编码规则,可跨平台适用,对具有Android、iOS、WindowsPhone等操作系统的终端应用都可以适用本发明。例如:水印相机程序(Android/iOS)中的拉取水印库的后台服务端访问操作、LBS(基于位置服务)对后台服务端的访问等都可使用本发明的终端应用的交互数据处理系统实现,开发时间大大缩短。在支持多平台的时候,由于使用同一套编码协议,后台无需特别处理,这样一来大大简化了开发量,在敏捷开发模式下特别适合,可以快速的实现出多平台下的后台访问模块。
优选地,请参考图6,本发明的终端应用的交互数据处理系统还包括以下模块:
第一压缩模块14,用于根据第一压缩编码规则对所述二进制数据串进行压缩处理;
和/或,
第一加密模块15,用于根据第一加密规则对所述二进制数据串进行加密处理。
所述第一压缩模块14使用的第一压缩编码规则可以是本领域的各种常用的压缩编码规则,如gzip、rar等;所述第一加密模块15使用的第一加密规则也可以是本领域的各种常用的加密规则。
从安全性和流量方面的考虑。众所周知,终端应用特别是移动APP对于流量的使用非常敏感。因此通过加入压缩处理,可进一步降低交互数据包的大小,达到节省流量的目的。而在安全方面,加入加密处理使得整个后台访问更加安全。
由于服务端在接收到终端应用的交互数据之后,通常会返回一个响应数据,表示成功接收数据,或者传达处理结果等。
因此,本发明的终端应用的交互数据处理系统还可进一步包括以下模块:
第二接收模块16,用于接收服务端返回的响应HTTP报文,其中,所述响应HTTP报文的消息体中包含由所述服务端的响应数据编码而成的二进制数据串;
第二提取模块17,用于从所述响应HTTP报文的消息体中提取相应的二进制数据串;
第二解码模块18,用于根据相应的二进制解码协议对所述响应HTTP报文中提取的二进制数据串进行解码,获取所述服务端的响应数据。
服务端返回的响应HTTP报文的消息体中包含由所述服务端的响应数据编码而成的二进制数据串。因此在终端接收所述响应HTTP报文之后,只需要从所述响应HTTP报文的消息体中提取相应的二进制数据串,并对所述二进制数据串进行解码,即可获取所述服务端的响应数据。通过上述方式同样可以减少响应数据的传输数据量,提高响应数据传输的安全性。
优选地,所述响应数据中包含的二进制数据串同样可经过压缩和/或加密处理,以进一步减少传输数据量和提高安全性,因此所述终端应用的交互数据处理系统还可包括以下模块:
第二解压缩模块191,用于根据第二解压缩编码规则对所述响应HTTP报文中提取的二进制数据串进行解压缩处理;
和/或,第二解密模块192,用于根据第二解密规则对所述响应HTTP报文中提取的二进制数据串进行解密处理。
请参阅图7,其是本发明服务端的交互数据处理系统一种实施方式的结构示意图。
所述服务端的交互数据处理系统20,包括:
第一接收模块21,用于接收终端应用发送的HTTP报文,其中,所述HTTP报文的消息体中包含由所述终端应用的交互数据编码而成的二进制数据串;
第一提取模块22,用于从所述HTTP报文的消息体中提取相应的二进制数据串;
第一解码模块23,用于根据相应的二进制解码协议对所述二进制数据串进行解码,获取所述终端应用的交互数据。
本发明服务端的交互数据处理系统中,终端发送的交互数据被编码成二进制数据串,并以HTTP报文为载体发送,因此,服务端在接收所述HTTP报文之后,只需要从所述HTTP报文的消息体中提取相应的二进制数据串并解码,即可获得所述终端应用的交互数据。通过编码成二进制数据串可将以计算机语言表述的交互数据的结构化打乱,减少其中的控制信息,使数据占用的空间较少,更方便传输,同时,因为终端应用的交互数据的结构化被打乱了,转换成二进制数据串,因此提高了数据交互的安全性。并且,由于数据传输使用HTTP协议,使终端应用的接入逻辑简化,对提升服务质量也有很大的作用。
其中,所述终端应用是指在终端运行且需要与服务端进行交互的应用,例如移动终端的APP等。
所述终端应用需要与服务端进行交互的数据为交互数据,包括所述终端应用的业务数据,请求数据等等。
对于所述第一接收模块21,由于终端应用发送的是HTTP报文,所以服务端通过CGI(公共网关接口)接收所述HTTP报文。所述HTTP报文的消息体中包含由所述终端应用的交互数据编码而成的二进制数据串。所述二进制数据串可以采用各种本领域常用的二进制编码协议编码而成,例如protobuf、thrift等。
所述第一提取模块22中,从所述HTTP报文的消息体中提取相应的二进制数据串的方式与终端将所述二进制数据串放入HTTP报文的方式对应。
所述第一解码模块23中,对所述二进制数据串进行解码的二进制解码协议与终端使用的对所述二进制数据串的编码协议对应,可以是本领域中常用的各种编码、解码协议。
优选地,请参阅图8,如果接收的所述HTTP报文中包含的二进制数据串经过压缩和/或加密处理,则所述服务端的交互数据处理系统还可包括以下模块:
第一解密模块24,用于根据第一解密规则对所述二进制数据串进行解密处理;
和/或,第一解压缩模块25,用于根据第一解压缩编码规则对所述二进制数据串进行解压缩处理。
所述HTTP报文中包含的二进制数据串经过压缩和/或加密处理,可以进一步减少传输数据量和提高安全性。
由于服务端只需要通过HTTPCGI接收终端应用发送的二进制数据,所以后台服务端在构建时可以选择更灵活的方式。服务端可以使用传统的Apache+PHP(HypertextPreprocessor,超级文本预处理语言)的方式,其实现比较简单;也可以使用Nginx+自定义module方式,其实现较难,需要掌握nginx,但性能高;还可以使用Python编写CGI;更加可以使用自己编写的CGI+逻辑处理部分,以提高性能。在后台服务端在创建时可以根据性能以及项目要求的情况灵活地选择。
由于服务端在接收到终端应用的交互数据之后,通常会返回一个响应数据,表示成功接收数据,或者传达处理结果等。
因此,本发明的服务端的交互数据处理系统还可进一步包括以下模块:
响应生成模块26,用于生成响应数据;
第二编码模块27,用于根据预设的二进制编码协议将所述响应数据编码成二进制数据串;
第二发送模块28,用于对所述终端应用生成响应HTTP报文,将所述响应数据编码而成的二进制数据串放入所述响应HTTP报文的消息体中,并将所述响应HTTP报文发送给所述终端应用。
服务端将返回的响应数据编码成二进制数据串并添加到返回的响应HTTP报文的消息体中。因此在终端接收所述响应HTTP报文之后,只需要从所述响应HTTP报文的消息体中提取相应的二进制数据串,并对所述二进制数据串进行解码,即可获取所述服务端的响应数据。通过上述方式同样可以减少响应数据的传输数据量,提高响应数据传输的安全性。这里的二进制编码协议是相对于XML等描述性协议而言的,它将数据打散成二进制的数据串,长度更小。
优选地,所述响应数据中包含的二进制数据串同样可进行压缩和/或加密处理,以进一步减少传输数据量和提高安全性,因此本发明的服务端的交互数据处理系统还可进一步包括以下模块:
第二压缩模块291,用于根据第二压缩编码规则对所述响应数据编码而成的二进制数据串进行压缩处理;
和/或,第二加密模块292,用于根据第二加密规则对所述响应数据编码而成的二进制数据串进行加密处理。
所述第二压缩编码、解码规则可以是本领域的各种常用的压缩编码、解码规则,如gzip、rar等;所述第二加密、解密规则也可以是本领域的各种常用的加密、解密规则,可根据具体需要进行选择。
除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。
图9为能实现本发明实施例的一个计算机系统1000的模块图。该计算机系统1000只是一个适用于本发明的计算机环境的示例,不能认为是提供了对本发明的使用范围的任何限制。计算机系统1000也不能解释为需要依赖于或具有图示的示例性的计算机系统1000中的一个或多个部件的组合。
图9中示出的计算机系统1000是一个适合用于本发明的计算机系统的例子。具有不同子系统配置的其它架构也可以使用。例如有大众所熟知的台式机、笔记本、个人数字助理、智能电话、平板电脑等类似设备可以适用于本发明的一些实施例。但不限于以上所列举的设备。
如图9所示,计算机系统1000包括处理器1010、存储器1020和系统总线1022。包括存储器1020和处理器1010在内的各种系统组件连接到系统总线1022上。处理器1010是一个用来通过计算机系统中基本的算术和逻辑运算来执行计算机程序指令的硬件。存储器1020是一个用于临时或永久性存储计算程序或数据(例如,程序状态信息)的物理设备。系统总线1020可以为以下几种类型的总线结构中的任意一种,包括存储器总线或存储控制器、外设总线和局部总线。处理器1010和存储器1020可以通过系统总线1022进行数据通信。其中存储器1020包括只读存储器(ROM)或闪存(图中都未示出),以及随机存取存储器(RAM),RAM通常是指加载了操作系统和应用程序的主存储器。
计算机系统1000还包括显示接口1030(例如,图形处理单元)、显示设备1040(例如,液晶显示器)、音频接口1050(例如,声卡)以及音频设备1060(例如,扬声器)。显示设备1040和音频设备1060是用于体验多媒体内容的媒体设备。
计算机系统1000一般包括一个存储设备1070。存储设备1070可以从多种计算机可读介质中选择,计算机可读介质是指可以通过计算机系统1000访问的任何可利用的介质,包括移动的和固定的两种介质。例如,计算机可读介质包括但不限于,闪速存储器(微型SD卡),CD-ROM,数字通用光盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需信息并可由计算机系统1000访问的任何其它介质。
计算机系统1000还包括输入装置1080和输入接口1090(例如,IO控制器)。用户可以通过输入装置1080,如键盘、鼠标、显示装置1040上的触摸面板设备,输入指令和信息到计算机系统1000中。输入装置1080通常是通过输入接口1090连接到系统总线1022上的,但也可以通过其它接口或总线结构相连接,如通用串行总线(USB)。
计算机系统1000可在网络环境中与一个或者多个网络设备进行逻辑连接。网络设备可以是个人电脑、服务器、路由器、智能电话、平板电脑或者其它公共网络节点。计算机系统1000通过局域网(LAN)接口1100或者移动通信单元1110与网络设备相连接。局域网(LAN)是指在有限区域内,例如家庭、学校、计算机实验室、或者使用网络媒体的办公楼,互联组成的计算机网络。WiFi和双绞线布线以太网是最常用的构建局域网的两种技术。WiFi是一种能使计算机系统1000间交换数据或通过无线电波连接到无线网络的技术。移动通信单元1110能在一个广阔的地理区域内移动的同时通过无线电通信线路接听和拨打电话。除了通话以外,移动通信单元1110也支持在提供移动数据服务的2G,3G或4G蜂窝通信系统中进行互联网访问。
应当指出的是,其它包括比计算机系统1000更多或更少的子系统的计算机系统也能适用于发明。例如,计算机系统1000可以包括能在短距离内交换数据的蓝牙单元,用于照相的图像传感器,以及用于测量加速度的加速计。
如上面详细描述的,适用于本发明的计算机系统1000能执行终端应用和服务端的数据交互方法的指定操作。计算机系统1000通过处理器1010运行在计算机可读介质中的软件指令的形式来执行这些操作。这些软件指令可以从存储设备1070或者通过局域网接口1100从另一设备读入到存储器1020中。存储在存储器1020中的软件指令使得处理器1010执行上述的终端应用和服务端的数据交互方法。此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明。因此,实现本发明并不限于任何特定硬件电路和软件的组合。
以上所述实施例仅表达了本发明的几种实施例,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (23)

1.一种终端应用的交互数据处理方法,其特征在于,包括以下步骤:
获取终端应用的交互数据;
根据预设的二进制编码协议将所述交互数据编码成二进制数据串;
对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给所述服务端。
2.根据权利要求1所述的终端应用的交互数据处理方法,其特征在于,根据预设的二进制编码协议将所述交互数据编码成二进制数据串的步骤包括:
根据所述交互数据的编程语言,从所述二进制编码协议的定义文件中获取与所述编程语言对应的二进制编码规则;其中,所述二进制编码协议的定义文件包含有多种编程语言对应的二进制编码规则;
根据获取的所述二进制编码规则,将所述交互数据编码成二进制数据串。
3.根据权利要求1所述的终端应用的交互数据处理方法,其特征在于,将所述HTTP报文发送给所述服务端的步骤包括:
根据所述服务端的URL,向DNS服务器发送HTTP报文传输请求;
接收所述DNS服务器指定的服务端地址,根据所述服务端地址将所述HTTP报文发送给相应的服务端。
4.根据权利要求1至3任意一项所述的终端应用的交互数据处理方法,其特征在于,根据预设的二进制编码协议将所述交互数据编码成二进制数据串之后,还包括以下步骤:
根据第一压缩编码规则对所述二进制数据串进行压缩处理;
和/或,根据第一加密规则对所述二进制数据串进行加密处理。
5.根据权利要求1至3任意一项所述的终端应用的交互数据处理方法,其特征在于,还包括以下步骤:
接收服务端返回的响应HTTP报文,其中,所述响应HTTP报文的消息体中包含由所述服务端的响应数据编码而成的二进制数据串;
从所述响应HTTP报文的消息体中提取相应的二进制数据串;
根据相应的二进制解码协议对所述响应HTTP报文中提取的二进制数据串进行解码,获取所述服务端的响应数据。
6.根据权利要求5所述的终端应用的交互数据处理方法,其特征在于,从所述响应HTTP报文的消息体中提取相应的二进制数据串之后,还包括以下步骤:
根据第二解压缩编码规则对所述响应HTTP报文中提取的二进制数据串进行解压缩处理;
和/或,根据第二解密规则对所述响应HTTP报文中提取的二进制数据串进行解密处理。
7.一种服务端的交互数据处理方法,其特征在于,包括以下步骤:
接收终端应用发送的HTTP报文,其中,所述HTTP报文的消息体中包含由所述终端应用的交互数据编码而成的二进制数据串;
从所述HTTP报文的消息体中提取相应的二进制数据串;
根据相应的二进制解码协议对所述二进制数据串进行解码,获取所述终端应用的交互数据。
8.根据权利要求7所述的服务端的交互数据处理方法,其特征在于,从所述HTTP报文的消息体中提取相应的二进制数据串之后,还包括以下步骤:
根据第一解压缩编码规则对所述二进制数据串进行解压缩处理;
和/或,根据第一解密规则对所述二进制数据串进行解密处理。
9.根据权利要求7或者8所述的服务端的交互数据处理方法,其特征在于,获取所述终端应用的交互数据之后,进一步包括以下步骤:
生成响应数据;
根据预设的二进制编码协议将所述响应数据编码成二进制数据串;
对所述终端应用生成响应HTTP报文,将所述响应数据编码而成的二进制数据串放入所述响应HTTP报文的消息体中,并将所述响应HTTP报文发送给所述终端应用。
10.根据权利要求9所述的服务端的交互数据处理方法,其特征在于,根据所述二进制编码协议将所述响应数据编码成二进制数据串之后,还包括以下步骤:
根据第二压缩编码规则对所述响应数据编码而成的二进制数据串进行压缩处理;
和/或,根据第二加密规则对所述响应数据编码而成的二进制数据串进行加密处理。
11.一种终端应用的交互数据处理系统,其特征在于,包括:
交互数据获取模块,用于获取终端应用的交互数据;
第一编码模块,用于根据预设的二进制编码协议将所述交互数据编码成二进制数据串;
第一发送模块,用于对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给所述服务端。
12.根据权利要求11所述的终端应用的交互数据处理系统,其特征在于,所述第一编码模块包括:
匹配模块,用于根据所述交互数据的编程语言,从所述二进制编码协议的定义文件中获取与所述编程语言对应的二进制编码规则;其中,所述二进制编码协议的定义文件包含有多种编程语言对应的二进制编码规则;
编码执行模块,根据获取的所述二进制编码规则,将所述交互数据编码成二进制数据串。
13.根据权利要求11所述的终端应用的交互数据处理系统,其特征在于,所述第一发送模块根据所述服务端的URL,向DNS服务器发送HTTP报文传输请求,并接收所述DNS服务器指定的服务端地址,根据所述服务端地址将所述HTTP报文发送给相应的服务端。
14.根据权利要求11至13任意一项所述的终端应用的交互数据处理系统,其特征在于,还包括:
第一压缩模块,用于根据第一压缩编码规则对所述二进制数据串进行压缩处理;
和/或,
第一加密模块,用于根据第一加密规则对所述二进制数据串进行加密处理。
15.根据权利要求11至13任意一项所述的终端应用的交互数据处理系统,其特征在于,还包括:
第二接收模块,用于接收服务端返回的响应HTTP报文,其中,所述响应HTTP报文的消息体中包含由所述服务端的响应数据编码而成的二进制数据串;
第二提取模块,用于从所述响应HTTP报文的消息体中提取相应的二进制数据串;
第二解码模块,用于根据相应的二进制解码协议对所述响应HTTP报文中提取的二进制数据串进行解码,获取所述服务端的响应数据。
16.根据权利要求15所述的终端应用的交互数据处理系统,其特征在于,还包括:
第二解压缩模块,用于根据第二解压缩编码规则对所述响应HTTP报文中提取的二进制数据串进行解压缩处理;
和/或,第二解密模块,用于根据第二解密规则对所述响应HTTP报文中提取的二进制数据串进行解密处理。
17.一种服务端的交互数据处理系统,其特征在于,包括:
第一接收模块,用于接收终端应用发送的HTTP报文,其中,所述HTTP报文的消息体中包含由所述终端应用的交互数据编码而成的二进制数据串;
第一提取模块,用于从所述HTTP报文的消息体中提取相应的二进制数据串;
第一解码模块,用于根据相应的二进制解码协议对所述二进制数据串进行解码,获取所述终端应用的交互数据。
18.根据权利要求17所述的服务端的交互数据处理系统,其特征在于,还包括:
第一解压缩模块,用于根据第一解压缩编码规则对所述二进制数据串进行解压缩处理;
和/或,第一解密模块,用于根据第一解密规则对所述二进制数据串进行解密处理。
19.根据权利要求17或者18所述的服务端的交互数据处理系统,其特征在于,还包括:
响应生成模块,用于生成响应数据;
第二编码模块,用于根据预设的二进制编码协议将所述响应数据编码成二进制数据串;
第二发送模块,用于对所述终端应用生成响应HTTP报文,将所述响应数据编码而成的二进制数据串放入所述响应HTTP报文的消息体中,并将所述响应HTTP报文发送给所述终端应用。
20.根据权利要求19所述的服务端的交互数据处理系统,其特征在于,还包括:
第二压缩模块,用于根据第二压缩编码规则对所述响应数据编码而成的二进制数据串进行压缩处理;
和/或,第二加密模块,用于根据第二加密规则对所述响应数据编码而成的二进制数据串进行加密处理。
21.一种终端应用与服务端的数据交互方法,其特征在于,包括以下步骤:
终端应用根据预设的二进制编码协议将与服务端的交互数据编码成二进制数据串,对相应的服务端生成HTTP报文,并将所述二进制数据串放入所述HTTP报文的消息体中,将所述HTTP报文发送给服务端;
服务端接收终端应用发送的HTTP报文,从所述HTTP报文的消息体中提取相应的二进制数据串,并根据相应的二进制解码协议对所述二进制数据串进行解码,获取所述终端应用的交互数据。
22.根据权利要求21所述的终端应用与服务端的数据交互方法,其特征在于:
终端应用根据所述交互数据的编程语言,从所述二进制编码协议的定义文件中获取与所述编程语言对应的二进制编码规则;其中,所述二进制编码协议的定义文件包含有多种编程语言对应的二进制编码规则,并根据获取的所述二进制编码规则,将所述交互数据编码成二进制数据串;
服务端从所述HTTP报文的消息体中提取相应的二进制数据串之后,根据所述二进制编码协议,对所述二进制数据串进行解码。
23.根据权利要求21或者22所述的终端应用与服务端的数据交互方法,其特征在于,还包括以下步骤:
服务端获取所述终端应用的交互数据之后,生成响应数据,根据预设的二进制编码协议将所述响应数据编码成二进制数据串,对所述终端应用生成响应HTTP报文,将所述响应数据编码而成的二进制数据串放入所述响应HTTP报文的消息体中,并将所述响应HTTP报文发送给所述终端应用;
终端应用接收服务端返回的响应HTTP报文,从所述响应HTTP报文的消息体中提取相应的二进制数据串,并根据相应的二进制解码协议对所述响应HTTP报文中提取的二进制数据串进行解码,获取所述服务端的响应数据。
CN201410226285.0A 2014-05-26 2014-05-26 终端应用和服务端的交互数据处理方法及系统、交互方法 Active CN105141567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410226285.0A CN105141567B (zh) 2014-05-26 2014-05-26 终端应用和服务端的交互数据处理方法及系统、交互方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410226285.0A CN105141567B (zh) 2014-05-26 2014-05-26 终端应用和服务端的交互数据处理方法及系统、交互方法

Publications (2)

Publication Number Publication Date
CN105141567A true CN105141567A (zh) 2015-12-09
CN105141567B CN105141567B (zh) 2019-03-01

Family

ID=54726777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410226285.0A Active CN105141567B (zh) 2014-05-26 2014-05-26 终端应用和服务端的交互数据处理方法及系统、交互方法

Country Status (1)

Country Link
CN (1) CN105141567B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209575A (zh) * 2016-06-23 2016-12-07 厦门幻世网络科技有限公司 信息发送方法、获取方法、装置及界面系统
CN107517133A (zh) * 2017-09-04 2017-12-26 上海斐讯数据通信技术有限公司 一种路由器配置方法及系统
CN108183909A (zh) * 2017-12-29 2018-06-19 深圳市信锐网科技术有限公司 一种LoRa通信方法及系统
CN108243259A (zh) * 2018-02-08 2018-07-03 北京车和家信息技术有限公司 车联网数据的传输方法、装置及系统
CN109862095A (zh) * 2019-01-30 2019-06-07 新华三大数据技术有限公司 基于Web服务的数据处理方法及装置
CN110311936A (zh) * 2018-03-27 2019-10-08 香港乐蜜有限公司 客户端之间的通讯方法、装置、电子设备及存储介质
CN111405029A (zh) * 2020-03-12 2020-07-10 北京字节跳动网络技术有限公司 一种请求处理方法及装置
CN113518094A (zh) * 2021-09-14 2021-10-19 深圳市普渡科技有限公司 数据处理方法、装置、机器人和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388905A (zh) * 2008-10-09 2009-03-18 浙江大学 一种基于移动设备的简单对象访问协议引擎实现方法
CN101453705A (zh) * 2007-12-05 2009-06-10 北京邮电大学 一种新闻离线浏览系统
CN102447678A (zh) * 2010-10-11 2012-05-09 胡一鸣 基于wap和web协同设计的口岸鉴定系统及其实现方法
CN103812878A (zh) * 2014-03-17 2014-05-21 哈尔滨理工大学 基于Android的路况信息交互系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453705A (zh) * 2007-12-05 2009-06-10 北京邮电大学 一种新闻离线浏览系统
CN101388905A (zh) * 2008-10-09 2009-03-18 浙江大学 一种基于移动设备的简单对象访问协议引擎实现方法
CN102447678A (zh) * 2010-10-11 2012-05-09 胡一鸣 基于wap和web协同设计的口岸鉴定系统及其实现方法
CN103812878A (zh) * 2014-03-17 2014-05-21 哈尔滨理工大学 基于Android的路况信息交互系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209575A (zh) * 2016-06-23 2016-12-07 厦门幻世网络科技有限公司 信息发送方法、获取方法、装置及界面系统
CN107517133A (zh) * 2017-09-04 2017-12-26 上海斐讯数据通信技术有限公司 一种路由器配置方法及系统
CN108183909A (zh) * 2017-12-29 2018-06-19 深圳市信锐网科技术有限公司 一种LoRa通信方法及系统
CN108243259A (zh) * 2018-02-08 2018-07-03 北京车和家信息技术有限公司 车联网数据的传输方法、装置及系统
CN110311936A (zh) * 2018-03-27 2019-10-08 香港乐蜜有限公司 客户端之间的通讯方法、装置、电子设备及存储介质
CN109862095A (zh) * 2019-01-30 2019-06-07 新华三大数据技术有限公司 基于Web服务的数据处理方法及装置
CN111405029A (zh) * 2020-03-12 2020-07-10 北京字节跳动网络技术有限公司 一种请求处理方法及装置
CN111405029B (zh) * 2020-03-12 2023-06-02 北京字节跳动网络技术有限公司 一种请求处理方法及装置
CN113518094A (zh) * 2021-09-14 2021-10-19 深圳市普渡科技有限公司 数据处理方法、装置、机器人和存储介质
CN113518094B (zh) * 2021-09-14 2021-12-28 深圳市普渡科技有限公司 数据处理方法、装置、机器人和存储介质

Also Published As

Publication number Publication date
CN105141567B (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
CN105141567A (zh) 终端应用和服务端的交互数据处理方法及系统、交互方法
EP3125594B1 (en) Intelligent communication method and terminal
US9213931B1 (en) Matrix barcode enhancement through capture and use of neighboring environment image
US8036598B1 (en) Peer-to-peer transfer of files with back-office completion
CN112217831A (zh) 关于物联网设备的信息交互方法、装置及设备
CN103873692B (zh) 一种分享资源的方法、装置及系统
CN111954051B (zh) 传输视频音频数据的方法、系统、云端服务器和存储介质
KR20120123199A (ko) 휴대단말기의 어플리케이션 리소스 선택장치 및 방법
US9143940B2 (en) Wireless communication system, portable terminal, digital camera, communication method, and computer-readable storage device
CN106027608B (zh) 一种图片上传方法、客户端及服务器
US11196868B2 (en) Audio data processing method, server, client and server, and storage medium
CN103888817A (zh) 一种将文件上传到智能电视和播放文件的方法及设备
CN107959932B (zh) 无线接入点信息的处理方法、设备及计算机可读存储介质
CN103873251A (zh) 用于通过音频建立连接的方法和设备
CN107644168B (zh) 一种信息提取的方法、终端及计算机可读存储介质
CN111130805B (zh) 安全传输方法、电子设备及计算机可读存储介质
JP2009252153A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
CN113038192A (zh) 视频处理方法、装置、电子设备和存储介质
US10104422B2 (en) Multimedia playing control method, apparatus for the same and system
CN110555175A (zh) 二维码解析和生成方法及设备
EP3229478B1 (en) Cloud streaming service system, image cloud streaming service method using application code, and device therefor
CN104754400B (zh) 一种基于移动终端的封套信息共享方法及装置
EP3637734B1 (en) Video data display method and device
CN110636374A (zh) 用于查找信息的方法和装置
CN111246276A (zh) 一种远程课件播放方法及装置、电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant