[发明专利]一种基于jersey框架的数据传输方法在审
申请号: | 201710447859.0 | 申请日: | 2017-06-14 |
公开(公告)号: | CN107277127A | 公开(公告)日: | 2017-10-20 |
发明(设计)人: | 封金煜 | 申请(专利权)人: | 山东浪潮云服务信息科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F9/54 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 高经 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 jersey 框架 数据传输 方法 | ||
技术领域
本发明涉及数据传输技术领域,具体提供一种基于jersey框架的数据传输方法。
背景技术
REST中最重要的概念是资源(resources),使用全球ID(通常使用URI)标识。客户端应用程序使用HTTP方法(GET/POST/PUT/DELETE)操作资源或资源集。RESTful Web服务是使用HTTP和REST原理实现的Web服务。通常,RESTful Web服务应该定义以下方面:(1)Web服务的基/根URI,比如http://host/<appcontext>/resources;(2)支持MIME类型的响应数据,包括JSON/XML/ATOM等等;(3)服务支持的操作集合(例如POST、GET、PUT或DELETE)。
JAX-RS是将在JavaEE6引起的一种新技术。JAX-RS即Java API for RESTful Web Services,是一个Java编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。JAX-RS使用了Java SE5引入的Java标注来简化Web服务的客户端和服务端的开发和部署。
Jersey是JAX-RS的参考实现,它包含三个主要部分:(1)核心服务器(Core Server):通过提供JSR 311中标准化的注释和API标准化,可以用直观的方式开发RESTful Web服务;(2)核心客户端(Core Client):Jersey客户端API与REST服务轻松通信;(3)集成(Integration):Jersey还提供可以轻松集成Spring、Guice、Apache Abdera的库。Jersey传输方式包括:基本类型、文件类型、inputstream类型、reader类型、xml类型、json类型等。
Avro是Hadoop中的一个子项目,也是Apache中一个独立的项目,Avro是一个基于二进制数据传输高性能的中间件。在Hadoop的其他项目中例如HBase(Ref)和Hive(Ref)的客户端与服务端的数据传输也采用了这个工具。Avro是一个数据序列化的系统。Avro可以将数据结构或对象转化成便于存储或传输的格式。Avro设计之初就用来支持数据密集型应用,适合于远程或本地大规模数据的存储和交换。
传统的byte[]数组传递,可以通过java原生的序列化操作生成byte,但是效率低下,有待进一步改进。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种传输效率高效,方便操作以及方便开发的基于jersey框架的数据传输方法。
为实现上述目的,本发明提供了如下技术方案:
一种基于jersey框架的数据传输方法,所述数据传输方法利用Apache avro的二进制编码机制,实现数据的高效的序列化,将数据转为byte[]数组,从而在jersey框架中实现客户端与服务端之间的高效传输;具体包括以下步骤:
S1:定义avro中的schema;
S2:编译schema,直接输入命令:mvn clean install,maven插件自动生成类文件;
S3:序列化类的对象,将类的实例进行序列化操作,生成byte[]数组;
S4:jersey客户端向服务端传递byte[]数组,实现高效传输;
S5:jersey服务端接收客户端传输的数据,并且进行反序列化。
步骤S2中生成类文件:mvn clean install,可用生成类的实例,例如如下,
步骤S3中,生成byte[]数组,如下所示(data为生成的对象):
步骤S4如下:
步骤S5如下:
作为优选,步骤S1中,使用JSON为avro定义schema。
作为优选,所述schema由基本类型和复杂类型组成。
基本类型包括null,boolean,int,long,float,double,bytes和string,复杂类型包括record,enum,array,map,union和fixed。
例如,以下定义一个user的schema,在main目录下创建一个avro目录,然后在avro目录下新建文件user.avsc:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮云服务信息科技有限公司,未经山东浪潮云服务信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710447859.0/2.html,转载请声明来源钻瓜专利网。