CN107277127A - 一种基于jersey框架的数据传输方法 - Google Patents
一种基于jersey框架的数据传输方法 Download PDFInfo
- Publication number
- CN107277127A CN107277127A CN201710447859.0A CN201710447859A CN107277127A CN 107277127 A CN107277127 A CN 107277127A CN 201710447859 A CN201710447859 A CN 201710447859A CN 107277127 A CN107277127 A CN 107277127A
- Authority
- CN
- China
- Prior art keywords
- jersey
- frameworks
- data transmission
- transmission method
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2871—Implementation details of single intermediate entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于jersey框架的数据传输方法,属于数据传输技术领域。本发明的基于jersey框架的数据传输方法,利用Apache avro的二进制编码机制,实现数据的高效的序列化,将数据转为byte[]数组,从而在jersey框架中实现客户端与服务端之间的高效传输。该发明的基于jersey框架的数据传输方法传输效率高效,方便操作以及方便开发,具有很好的推广应用价值。
Description
技术领域
本发明涉及数据传输技术领域,具体提供一种基于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 WebServices,是一个Java编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。JAX-RS使用了Java SE5引入的Java标注来简化Web服务的客户端和服务端的开发和部署。
Jersey是JAX-RS的参考实现,它包含三个主要部分:(1)核心服务器(CoreServer):通过提供JSR 311中标准化的注释和API标准化,可以用直观的方式开发RESTfulWeb服务;(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:
作为优选,所述步骤S2中,使用avro插件,直接输入命令。
与现有技术相比,本发明的基于jersey框架的数据传输方法具有以下突出的有益效果:
(一)传统的byte[]数组传输,可以通过java原生的序列化操作生成byte,但是效率低下,通过本发明所述的avro序列化生成的byte[]数组效率高效;
(二)通过avro类插件生成配置好的类文件,方便操作,jersey结合avro的这种优点,方便进行开发,具有良好的推广应用价值。
具体实施方式
下面将结合实施例,对本发明的基于jersey框架的数据传输方法作进一步详细说明。
实施例
本发明的基于jersey框架的数据传输方法,利用Apache avro的二进制编码机制,实现数据的高效的序列化,将数据转为byte[]数组,从而在jersey框架中实现客户端与服务端之间的高效传输。
该基于jersey框架的数据传输方法具体包括以下步骤:
S1:定义avro中的schema。
使用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:
S2:编译schema,直接输入命令:mvn clean install,maven插件自动生成类文件:mvn clean install。
使用avro插件,直接输入命令:mvn clean install,maven插件自动生成类文件:mvn clean install。
S3:序列化类的对象,将类的实例进行序列化操作,生成byte[]数组。
生成byte[]数组,如下所示(data为生成的对象):
S4:jersey客户端向服务端传递byte[]数组,实现高效传输。
S5:jersey服务端接收客户端传输的数据,并且进行反序列化
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (4)
1.一种基于jersey框架的数据传输方法,其特征在于:所述数据传输方法利用Apacheavro的二进制编码机制,实现数据的高效的序列化,将数据转为byte[]数组,从而在jersey框架中实现客户端与服务端之间的高效传输;具体包括以下步骤:
S1:定义avro中的schema;
S2:编译schema,直接输入命令:mvn clean install,maven插件自动生成类文件;
S3:序列化类的对象,将类的实例进行序列化操作,生成byte[]数组;
S4:jersey客户端向服务端传递byte[]数组,实现高效传输;
S5:jersey服务端接收客户端传输的数据,并且进行反序列化。
2.根据权利要求1所述的基于jersey框架的数据传输方法,其特征在于:步骤S1中,使用JSON为avro定义schema。
3.根据权利要求1或2所述的基于jersey框架的数据传输方法,其特征在于:所述schema由基本类型和复杂类型组成。
4.根据权利要求3所述的基于jersey框架的数据传输方法,其特征在于:所述步骤S2中,使用avro插件,直接输入命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710447859.0A CN107277127A (zh) | 2017-06-14 | 2017-06-14 | 一种基于jersey框架的数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710447859.0A CN107277127A (zh) | 2017-06-14 | 2017-06-14 | 一种基于jersey框架的数据传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107277127A true CN107277127A (zh) | 2017-10-20 |
Family
ID=60067172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710447859.0A Pending CN107277127A (zh) | 2017-06-14 | 2017-06-14 | 一种基于jersey框架的数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107277127A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109257337A (zh) * | 2018-08-28 | 2019-01-22 | 科大国创软件股份有限公司 | 物联网设备协议转换方法及基于该方法的灯杆运营平台 |
CN110474838A (zh) * | 2019-08-22 | 2019-11-19 | 广州拓波软件科技有限公司 | 一种Json混合二进制传输数据方法 |
CN113641342A (zh) * | 2021-08-23 | 2021-11-12 | 苏州赛科智慧能源有限公司 | 一种基于jersey框架的数据传输方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713332A (zh) * | 2016-12-30 | 2017-05-24 | 山石网科通信技术有限公司 | 网络数据的处理方法、装置和系统 |
-
2017
- 2017-06-14 CN CN201710447859.0A patent/CN107277127A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713332A (zh) * | 2016-12-30 | 2017-05-24 | 山石网科通信技术有限公司 | 网络数据的处理方法、装置和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109257337A (zh) * | 2018-08-28 | 2019-01-22 | 科大国创软件股份有限公司 | 物联网设备协议转换方法及基于该方法的灯杆运营平台 |
CN109257337B (zh) * | 2018-08-28 | 2021-09-07 | 科大国创软件股份有限公司 | 物联网设备协议转换方法及基于该方法的灯杆运营平台 |
CN110474838A (zh) * | 2019-08-22 | 2019-11-19 | 广州拓波软件科技有限公司 | 一种Json混合二进制传输数据方法 |
CN113641342A (zh) * | 2021-08-23 | 2021-11-12 | 苏州赛科智慧能源有限公司 | 一种基于jersey框架的数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9888088B2 (en) | Method and apparatus for accessing an enterprise resource planning system via a mobile device | |
CN101334872B (zh) | 基于Web服务的电子公文交换方法 | |
CN104484216A (zh) | 服务接口文档和在线测试工具生成方法、装置 | |
CN107277127A (zh) | 一种基于jersey框架的数据传输方法 | |
US20130055060A1 (en) | Techniques to remotely access form information | |
CN101826085A (zh) | 一种基于ajax的网页在线导入/导出大文件的方法 | |
CN103236959A (zh) | 用于测试业务处理模块的测试系统和方法 | |
RU2011131233A (ru) | Наполнение данными информационно-развлекательной системы транспортного средства | |
CN105763619A (zh) | 客户端与服务端进行通讯的方法及装置 | |
US9053444B2 (en) | Deploying applications in a smart thin client server | |
US20130036167A1 (en) | Automatic synchronization of clipboards | |
CN106713423B (zh) | 一种云接入点控制器中分布式数据的处理方法及装置 | |
CN103297447B (zh) | 一种资源共享方法及其设备 | |
CN105681333A (zh) | 基于二进制的网络数据的传输方法及系统 | |
CN106227575B (zh) | 一种生成与解析文本文件的方法 | |
CN113467775A (zh) | 一种生成页面的方法和装置 | |
US9971751B1 (en) | Version-specific request processing | |
CN103902539A (zh) | 可扩展标记语言数据解析方法及装置 | |
CN107222461A (zh) | 通信处理方法和装置 | |
CN102646102A (zh) | Xml文件生成方法及装置、终端设备 | |
Niu et al. | A design of cross-terminal web system based on JSON and REST | |
CN105793842B (zh) | 序列化消息之间的转换方法和装置 | |
CN104616620A (zh) | 一种户外led卡的远程控制系统 | |
Mangler et al. | On the origin of services using riddl for description, evolution and composition of restful services | |
US9385979B1 (en) | Customizing posts by activity type and client type |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190711 Address after: 214029 No. 999 Gaolang East Road, Binhu District, Wuxi City, Jiangsu Province (Software Development Building) 707 Applicant after: Chaozhou Zhuoshu Big Data Industry Development Co., Ltd. Address before: 250100 S06 tower, 1036, Chao Lu Road, hi tech Zone, Ji'nan, Shandong. Applicant before: Shandong wave cloud services Mdt InfoTech Ltd |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171020 |
|
RJ01 | Rejection of invention patent application after publication |