欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于jersey框架的數(shù)據(jù)傳輸方法與流程

文檔序號(hào):11778533閱讀:324來(lái)源:國(guó)知局

本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,具體提供一種基于jersey框架的數(shù)據(jù)傳輸方法。



背景技術(shù):

rest中最重要的概念是資源(resources),使用全球id(通常使用uri)標(biāo)識(shí)??蛻舳藨?yīng)用程序使用http方法(get/post/put/delete)操作資源或資源集。restfulweb服務(wù)是使用http和rest原理實(shí)現(xiàn)的web服務(wù)。通常,restfulweb服務(wù)應(yīng)該定義以下方面:(1)web服務(wù)的基/根uri,比如http://host/<appcontext>/resources;(2)支持mime類型的響應(yīng)數(shù)據(jù),包括json/xml/atom等等;(3)服務(wù)支持的操作集合(例如post、get、put或delete)。

jax-rs是將在javaee6引起的一種新技術(shù)。jax-rs即javaapiforrestfulwebservices,是一個(gè)java編程語(yǔ)言的應(yīng)用程序接口,支持按照表述性狀態(tài)轉(zhuǎn)移(rest)架構(gòu)風(fēng)格創(chuàng)建web服務(wù)。jax-rs使用了javase5引入的java標(biāo)注來(lái)簡(jiǎn)化web服務(wù)的客戶端和服務(wù)端的開(kāi)發(fā)和部署。

jersey是jax-rs的參考實(shí)現(xiàn),它包含三個(gè)主要部分:(1)核心服務(wù)器(coreserver):通過(guò)提供jsr311中標(biāo)準(zhǔn)化的注釋和api標(biāo)準(zhǔn)化,可以用直觀的方式開(kāi)發(fā)restfulweb服務(wù);(2)核心客戶端(coreclient):jersey客戶端api與rest服務(wù)輕松通信;(3)集成(integration):jersey還提供可以輕松集成spring、guice、apacheabdera的庫(kù)。jersey傳輸方式包括:基本類型、文件類型、inputstream類型、reader類型、xml類型、json類型等。

avro是hadoop中的一個(gè)子項(xiàng)目,也是apache中一個(gè)獨(dú)立的項(xiàng)目,avro是一個(gè)基于二進(jìn)制數(shù)據(jù)傳輸高性能的中間件。在hadoop的其他項(xiàng)目中例如hbase(ref)和hive(ref)的客戶端與服務(wù)端的數(shù)據(jù)傳輸也采用了這個(gè)工具。avro是一個(gè)數(shù)據(jù)序列化的系統(tǒng)。avro可以將數(shù)據(jù)結(jié)構(gòu)或?qū)ο筠D(zhuǎn)化成便于存儲(chǔ)或傳輸?shù)母袷?。avro設(shè)計(jì)之初就用來(lái)支持?jǐn)?shù)據(jù)密集型應(yīng)用,適合于遠(yuǎn)程或本地大規(guī)模數(shù)據(jù)的存儲(chǔ)和交換。

傳統(tǒng)的byte[]數(shù)組傳遞,可以通過(guò)java原生的序列化操作生成byte,但是效率低下,有待進(jìn)一步改進(jìn)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的技術(shù)任務(wù)是針對(duì)上述存在的問(wèn)題,提供一種傳輸效率高效,方便操作以及方便開(kāi)發(fā)的基于jersey框架的數(shù)據(jù)傳輸方法。

為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下技術(shù)方案:

一種基于jersey框架的數(shù)據(jù)傳輸方法,所述數(shù)據(jù)傳輸方法利用apacheavro的二進(jìn)制編碼機(jī)制,實(shí)現(xiàn)數(shù)據(jù)的高效的序列化,將數(shù)據(jù)轉(zhuǎn)為byte[]數(shù)組,從而在jersey框架中實(shí)現(xiàn)客戶端與服務(wù)端之間的高效傳輸;具體包括以下步驟:

s1:定義avro中的schema;

s2:編譯schema,直接輸入命令:mvncleaninstall,maven插件自動(dòng)生成類文件;

s3:序列化類的對(duì)象,將類的實(shí)例進(jìn)行序列化操作,生成byte[]數(shù)組;

s4:jersey客戶端向服務(wù)端傳遞byte[]數(shù)組,實(shí)現(xiàn)高效傳輸;

s5:jersey服務(wù)端接收客戶端傳輸?shù)臄?shù)據(jù),并且進(jìn)行反序列化。

步驟s2中生成類文件:mvncleaninstall,可用生成類的實(shí)例,例如如下,

步驟s3中,生成byte[]數(shù)組,如下所示(data為生成的對(duì)象):

步驟s4如下:

步驟s5如下:

作為優(yōu)選,步驟s1中,使用json為avro定義schema。

作為優(yōu)選,所述schema由基本類型和復(fù)雜類型組成。

基本類型包括null,boolean,int,long,float,double,bytes和string,復(fù)雜類型包括record,enum,array,map,union和fixed。

例如,以下定義一個(gè)user的schema,在main目錄下創(chuàng)建一個(gè)avro目錄,然后在avro目錄下新建文件user.avsc:

作為優(yōu)選,所述步驟s2中,使用avro插件,直接輸入命令。

與現(xiàn)有技術(shù)相比,本發(fā)明的基于jersey框架的數(shù)據(jù)傳輸方法具有以下突出的有益效果:

(一)傳統(tǒng)的byte[]數(shù)組傳輸,可以通過(guò)java原生的序列化操作生成byte,但是效率低下,通過(guò)本發(fā)明所述的avro序列化生成的byte[]數(shù)組效率高效;

(二)通過(guò)avro類插件生成配置好的類文件,方便操作,jersey結(jié)合avro的這種優(yōu)點(diǎn),方便進(jìn)行開(kāi)發(fā),具有良好的推廣應(yīng)用價(jià)值。

具體實(shí)施方式

下面將結(jié)合實(shí)施例,對(duì)本發(fā)明的基于jersey框架的數(shù)據(jù)傳輸方法作進(jìn)一步詳細(xì)說(shuō)明。

實(shí)施例

本發(fā)明的基于jersey框架的數(shù)據(jù)傳輸方法,利用apacheavro的二進(jìn)制編碼機(jī)制,實(shí)現(xiàn)數(shù)據(jù)的高效的序列化,將數(shù)據(jù)轉(zhuǎn)為byte[]數(shù)組,從而在jersey框架中實(shí)現(xiàn)客戶端與服務(wù)端之間的高效傳輸。

該基于jersey框架的數(shù)據(jù)傳輸方法具體包括以下步驟:

s1:定義avro中的schema。

使用json為avro定義schema,schema由基本類型和復(fù)雜類型組成,基本類型包括null,boolean,int,long,float,double,bytes和string,復(fù)雜類型包括record,enum,array,map,union和fixed。

以下定義一個(gè)user的schema,在main目錄下創(chuàng)建一個(gè)avro目錄,然后在avro目錄下新建文件user.avsc:

s2:編譯schema,直接輸入命令:mvncleaninstall,maven插件自動(dòng)生成類文件:mvncleaninstall。

使用avro插件,直接輸入命令:mvncleaninstall,maven插件自動(dòng)生成類文件:mvncleaninstall。

s3:序列化類的對(duì)象,將類的實(shí)例進(jìn)行序列化操作,生成byte[]數(shù)組。

生成byte[]數(shù)組,如下所示(data為生成的對(duì)象):

s4:jersey客戶端向服務(wù)端傳遞byte[]數(shù)組,實(shí)現(xiàn)高效傳輸。

s5:jersey服務(wù)端接收客戶端傳輸?shù)臄?shù)據(jù),并且進(jìn)行反序列化

以上所述的實(shí)施例,只是本發(fā)明較優(yōu)選的具體實(shí)施方式,本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進(jìn)行的通常變化和替換都應(yīng)包含在本發(fā)明的保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
内乡县| 六枝特区| 林甸县| 敖汉旗| 福州市| 瑞昌市| 雷波县| 万山特区| 独山县| 襄城县| 包头市| 改则县| 西丰县| 德庆县| 乐平市| 阿拉尔市| 邵武市| 西和县| 桐庐县| 莲花县| 手游| 额尔古纳市| 吉隆县| 临桂县| 宜黄县| 余江县| 根河市| 布拖县| 儋州市| 遵义县| 商丘市| 修文县| 英吉沙县| 神木县| 漾濞| 桃园县| 蕲春县| 济阳县| 德惠市| 黔西县| 富源县|