一种网络传输方法及系统与流程

文档序号:11778374阅读:257来源:国知局
一种网络传输方法及系统与流程

本发明涉及通信技术领域,特别涉及一种网络传输方法及系统。



背景技术:

随着移动通信技术的发展和人们生活水平的提高,互联网已经大范围覆盖,同时,基于互联网的电子设备的普及率已达到很高水平,涉及人们的生活、娱乐、商务办公等各个领域,均通过内置或自行安装的应用程序来实现具体应用功能。现有技术中,应用程序通常以json、xml的数据编码格式对需要传输的内容进行封装后在互联网上进行传输,对于以上这两种格式进行封装的数据来说,不便于扩展,且由于压缩比不足增加了网络开销。

因此,如何为用户提供一种适用于应用程序且便于扩展又网络开销小的网络传输方案,已经成为业内亟待解决的问题。



技术实现要素:

有鉴于此,本发明提供一种适用于应用程序的网络传输方法及系统,便于扩展且网络开销小。

本发明提供了一种网络传输方法,其包括:

定义步骤:定义一协议文件;

编译步骤:将所述协议文件编译生成为适用一高级语言的目标文件;

生成步骤:使用所述目标文件进行消息封装,生成对应的发送请求;

发送步骤:将所述发送请求进行发送。

进一步地,上述网络传输方法,还包括:

接收步骤:接收所述发送请求,并解析。

进一步地,上述网络传输方法,在所述定义步骤中,在所述协议文件中定义消息结构。

进一步地,上述网络传输方法,所述消息结构包括消息名称、字段配置信息,所述字段配置信息包括字段名、类型、必要或非必要属性、位置信息。

进一步地,上述网络传输方法,在所述编译步骤中,所述协议文件根据其中定义的所述消息结构的字段配置信息生成为适用一高级语言的目标文件。

进一步地,上述网络传输方法,还包括:

升级步骤:对所述定义步骤中定义的协议文件进行修改升级;

在所述升级步骤后,继续所述编译步骤。

本发明还提供了一种网络传输系统,包括电子设备终端及服务器,所述电子设备终端包括:

定义单元:定义一协议文件;

编译单元:将所述协议文件编译生成为适用一高级语言的目标文件;

生成单元:使用所述目标文件进行消息封装,生成对应的发送请求;

发送单元:将所述发送请求进行发送;

所述服务器包括:

接收单元:接收发送请求;

解析单元:解析接收到的所述发送请求。

进一步地,上述网络传输系统,

在所述定义单元中,在所述协议文件中定义消息结构;

所述消息结构包括消息名称、字段及其配置信息,所述配置信息包括字段的字段名、类型、必要或非必要、位置信息。

本发明还提供了一种网络传输系统,包括电子设备终端及服务器,所述电子设备终端包括:

第一定义单元:定义第一协议文件;

第一编译单元:将第一协议文件编译生成为适用一高级语言的第一目标文 件;

第一生成单元:使用第一目标文件进行消息封装,生成对应的第一发送请求;

第一发送单元:将第一发送请求发送至所述服务器;

所述服务器包括:

第二接收单元:接收第一发送请求;

第二解析单元:解析接收到的第一发送请求;

第二定义单元:依据接收到第一发送请求定义第二协议文件;

第二编译单元:将第二协议文件编译生成为适用一高级语言的第二目标文件;

第二生成单元:使用第二目标文件进行消息封装,生成对应的第二发送请求;

第二发送单元:将第二发送请求发送至所述电子设备终端;

所述电子设备终端还包括:

第一接收单元:接收第二发送请求;

第一解析单元:解析接收到的第二发送请求。

本发明还提供了一种网络传输系统,包括电子设备终端及服务器,所述电子设备终端及服务器之间采用上述所述的网络传输方法。

本发明的网络传输方法及系统,首先定义一协议文件,再将协议文件编译生成为适用一高级语言的目标文件,即实现了对协议文件进行编译、序列化及压缩;继而使用目标文件进行消息封装,即通过对编译、序列化及压缩后的目标文件进行封装从而生成发送请求并进行发送。具体地,在将协议文件编译生成为适用一高级语言的目标文件的过程中,对数据结构进行了高度压缩转换,不仅使消息传输会效率有大幅度提高,同时也提升了消息传输的安全性。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

图1为本发明第一实施例提供的一种网络传输方法的流程图;

图2为本发明第二实施例提供的一种网络传输方法的流程图;

图3为本发明第三实施例提供的一种网络传输系统的方框图;

图4为本发明第四实施例提供的一种网络传输系统的方框图。

具体实施方式

为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。

本发明中的网络传输方法可应用在预装有android(安卓)或其他类似操作系统的移动终端设备、笔记本电脑、电子设备等与互联网的信息交互。上述移动终端设备、笔记本电脑、电子设备等由相关组件构成,其中,若干组件为硬件组成,可选地,包括处理器、以及处理器以外的存储器等各种硬件组成。

第一实施例

请参阅图1,本发明第一实施例提供了一种网络传输方法,包括:

定义步骤s100:定义一协议文件;

编译步骤s110:将协议文件编译生成为适用一高级语言的目标文件;

生成步骤s120:使用目标文件进行消息封装,生成对应的发送请求;

发送步骤s130:将所述发送请求进行发送。

本第一实施例的网络传输方法,首先定义一协议文件,再将协议文件编译生成为适用一高级语言的目标文件,即实现了对协议文件进行编译、序列化及压缩;继而使用目标文件进行消息封装,即通过对编译、序列化及压缩后的目标文件进行封装从而生成发送请求并进行发送。

具体地,在将协议文件编译生成为适用一高级语言的目标文件的过程中,对数据结构进行了高度压缩转换,不仅使消息传输的效率有大幅度提高,同时 也提升了消息传输的安全性。

第二实施例

请参阅图2,本发明第二实施例提供了一种网络传输方法,包括:

定义步骤s200:定义一协议文件;

具体地,本定义步骤s200中,依据protocolbuffers规则定义一个协议文件,如message.proto,在该协议文件message.proto中,定义了一个消息结构,如:

其中,

login为消息名称,其包含两个字段user_name和user_password;

user_name和user_password为字段名;

user_name和user_password的类型为均string,也就是字符串型;

required前缀表示该字段为必要字段;

数字1和2则表示不同的字段在序列化后的二进制数据中的位置信息。

总之,所述消息结构包括消息名称、字段配置信息,所述字段配置信息包括字段名、类型、必要或非必要属性、位置信息。

本文中提及的protocolbuffers(简称pb),为一种轻便高效的可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

编译步骤s210:将协议文件编译生成为适用一高级语言的目标文件;

具体地,在本编译步骤s210中,协议文件根据其中定义的消息结构的字段配置信息生成为适用一高级语言的目标文件。

将协议文件编译生成适用一高级语言的目标文件,以java为例,命令如下:

protoc--java_out=../message.proto

通过这样的命令行,将定义在协议文件message.proto文件中根据其中定义的消息结构的字段配置信息编译生成为适用高级语言java的目标文件,如message.java文件。

在其他实施例中,除了支持上述例中的java高级语言外,还支持目前主流的object-c、c#、python、c/c++以及go等主流的高级语言。

生成步骤s220:使用目标文件进行消息封装,生成对应的发送请求;

本生成步骤s220中,具体地,使用生成目标文件message.java文件进行消息的封装,如下例所示:

login.builderlbuilder=login.newbuilder();

lbuilder.setusername(“abc”);

lbuilder.setuserpassword(“xxxx”);

byte[]login_message=lbuilder.build().tobytearray();

通过上述生成步骤s220中使用目标文件message.java文件进行消息封装,生成对应的发送请求,具体地,该发送请求为二进制数据流。

可见,上述定义步骤s200、编译步骤s210的执行,即实现了对协议文件进行编译、序列化及压缩等动作,从而生成适用高级语言的目标文件;上述生成步骤s220的执行,即实现了通过对编译、序列化及压缩后的目标文件进行封装等动作,从而生成发送请求。上述整个过程不需要程序员手动进行,即可完成编译、序列化及压缩、封装等关键动作,使用效率高。

发送步骤s230:将所述发送请求进行发送。

进一步地,在发送步骤s230中,可将发送请求封装在http中,再进行发送。

进一步地,还包括升级步骤;对所述定义步骤中的协议文件进行修改升级;在所述升级步骤后,继续所述编译步骤。在进行升级时,电子设备终端或服务器可以直接在协议文件中对消息结构的字段配置信息进行重新定义即可,升级 流程简单、操作性强。

如下,将结合json、xml与pb进行对比:

从整体上来看,pb的表现比xml以及json更优秀。具体到压缩比而言,同样的消息,经过pb压缩后的数据比xml文件定义的小3-10倍;比较json来说,pb的压缩比也会提高3倍以上。

总上可见,实施本第一实施例的网络传输方法,依据pb规则定义对协议内容中的数据结构进行了高度压缩转换,不仅使消息传输会效率有大幅度提高,同时也提升了消息传输的安全性。

第三实施例

请参阅图3,本发明第三实施例提供了一种网络传输系统,其主要包括电子设备终端及服务器。

具体地,所述电子设备终端包括:

定义单元1110:定义一协议文件;

编译单元1120:将所述协议文件编译生成为适用一高级语言的目标文件;

生成单元1130:使用所述目标文件进行消息封装,生成对应的发送请求;

发送单元1140:将所述发送请求进行发送;

具体地,所述服务器包括:

接收单元1210:接收发送请求;

解析单元1220:解析接收到的所述发送请求。

进一步地,在定义单元1110中,在协议文件中定义消息结构;所述消息结构包括消息名称、字段及其配置信息,所述配置信息包括字段的字段名、类型、必要或非必要、位置信息。

总之,本第三实施例的网络传输系统,电子设备终端的定义单元1110首先定义一协议文件,再由编译单元1120将协议文件编译生成为适用一高级语言的目标文件,即实现了对协议文件进行编译、序列化及压缩;继而生成单元1130使用目标文件进行消息封装,即通过对编译、序列化及压缩后的目标文件进行封装从而生成发送请求,再由发送单元1140该发送请求发送至服务器;服务器的接收单元接收发送请求后,解析单元对解析接收到的所述发送请求进行解析。

具体地,在编译单元1120将协议文件编译生成为适用一高级语言的目标文件的过程中,对数据结构进行了高度压缩转换,不仅使消息传输会效率有大幅度提高,同时也提升了消息传输的安全性。

关于上述网络传输系统中各单元模块的实现技术方案的其他细节,可参见第一、第二实施例的网络传输方法中的描述,此处不再赘述。

第四实施例

请参阅图4,本发明第四实施例提供了一种网络传输系统,其主要包括电子设备终端及服务器。

所述电子设备终端包括:

第一定义单元2110:定义第一协议文件;

第一编译单元2120:将第一协议文件编译生成为适用一高级语言的第一 目标文件;

第一生成单元2130:使用第一目标文件进行消息封装,生成对应的第一发送请求;

第一发送单元2140:将第一发送请求发送至所述服务器;

所述服务器包括:

第二接收单元2250:接收第一发送请求;

第二解析单元2260:解析接收到的第一发送请求;

第二定义单元2210:依据接收到第一发送请求定义第二协议文件;

第二编译单元2220:将第二协议文件编译生成为适用一高级语言的第二目标文件;

第二生成单元2230:使用第二目标文件进行消息封装,生成对应的第二发送请求;

第二发送单元2240:将第二发送请求发送至所述电子设备终端;

所述电子设备终端还包括:

第一接收单元2150:接收第二发送请求;

第一解析单元2160:解析接收到的第二发送请求。

下文中,将以一种具体实施方式进行说明,具体地,首先针对电子设备终端进行阐述:

在第一定义单元2110中,依据protocolbuffers规则定义第一协议文件,如message.proto,在第一协议文件message.proto中,定义了一个消息结构。

在第一编译单元2120中,将第一协议文件message.proto根据其中定义的消息结构的字段配置信息生成为适用java语言的第一目标文件message.java。

在第一生成单元2130中,使用第一目标文件message.java进行消息封装,生成对应的第一发送请求,该第一发送请求为二进制数据流。

在第一发送单元2140中,将第一发送请求发送至服务器。

具体地,再针对服务器进行阐述:

在第二接收单元2250中,接收电子设备终端发送的第一发送请求,可理解地,第一发送请求是使用第一目标文件message.java文件进行消息封装形成的;

在第二解析单元2260中,解析接收到的第一发送请求,该解析方式,其实就是对第一目标文件message.java进行解封的过程。

在第二定义单元2210中,依据在第二解析单元中解析到的关于第一发送请求的相关信息定义第二协议文件message.proto;也可理解为,为了对第一发送请求进行响应,定义了第二协议文件message.proto;

在第二编译单元2220中,将第二协议文件message.proto编译生成为java语言的第二目标文件message.java;

在第二生成单元2230中,使用第二目标文件message.java进行消息封装,生成对应的第二发送请求;

在第二发送单元2240中,将第二发送请求发送至电子设备终端。

如上所述,在电子设备终端与服务器之间实现数据传输,具体地,关于上述网络传输系统中各单元模块的实现技术方案的其他细节,可参见第一、第二实施例的网络传输方法中的描述,此处不再赘述。

另外,电子设备终端中的第一控制单元2100、服务器中的第二控制单元均2200为其他单元的工作提供协调、组织、控制作用,此处也不再赘述。

综上,本发明的网络传输方法及传输系统,首先定义一协议文件,再将协议文件编译生成为适用一高级语言的目标文件,即实现了对协议文件进行编译、序列化及压缩;继而使用目标文件进行消息封装,即通过对编译、序列化及压缩后的目标文件进行封装从而生成发送请求并进行发送。具体地,在将协议文件编译生成为适用一高级语言的目标文件的过程中,对数据结构进行了高度压缩转换,不仅使消息传输会效率有大幅度提高,同时也提升了消息传输的安全性。总上可见,实施本第一实施例的网络传输方法,依据pb规则定义对协议内容中的数据结构进行了高度压缩转换,不仅使消息传输会效率有大幅度 提高,同时也提升了消息传输的安全性。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者装置中还存在另外的相同要素。

本领域技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

另外,本发明的电子终端设备、服务器由相关组件构成,其中,若干组件为电子终端、服务器的硬件组成模块,可理解地,电子终端设备的硬件组件包括处理器,以及除处理器以外的各种硬件组成模块,服务器的硬件组件也包括处理器,以及除处理器以外的各种硬件组成模块。当然,可理解地,所谓处理器也可理解为本文中阐述的控制单元的硬件组成。

以上,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变 化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1