999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JSON的農業異構數據中間件的研究

2019-08-22 11:10:16王振鐸王振輝邊倩王英強
微型電腦應用 2019年8期
關鍵詞:農業

王振鐸, 王振輝, 邊倩, 王英強

(1. 西安思源學院 電子信息學院, 西安 710038; 2. 西安翻譯學院 工程技術學院, 西安 710105)

0 引言

農業數據是關系著居民衣食、生態環保、健康醫療、工業生產的本源數據。但是,由于數據共享開放不足,信息孤島、數據壁壘、數據碎片化和信息不對稱等問題大量存在,直接制約了跨部門、跨區域和跨行業的互連互通、協作協同和科學決策。2015年8月31日,國務院發布的《促進大數據發展行動綱要》,2015年12月31日農業部發布的《關于推進農業農村大數據發展的實施意見》,均明確提出政府數據資源共享開放工程,及具體任務,力求在未來五至十年內實現農業數據的有序共享開放,初步完成農業數據化改造。

1 農業異構數據問題

由于歷史上沒有重視數據的共享,原有歷史數據在數據格式、數據類型、存儲類型、存儲標準等方面仍然存在諸多問題。一是缺乏共享標準體系,沒有針對不同地區、不同行業、不同領域的數據格式匯交技術,特別缺乏針對農業多源異構、結構化、半結構化數據的標準化技術和海量數據管理的模型技術;二是缺乏不同平臺的整合技術。目前我國農業存在諸多網站和數據平臺,但是各個平臺之間層次不清晰、覆蓋內容不一致,架構布局不合理、尚不能實現互聯互通;三是缺乏便捷、高效的數據查詢、瀏覽、檢索、分發技術。目前我國已經開放的一些數據平臺中,要么數據無法瀏覽,要么數據無法下載,要么數據鏈接不存在,平臺的便捷性和可訪問性較差。

2 相關研究工作

針對異構數據集成,朱峰針對互聯網金融應用領域提出了一種基于JSON技術的異構數據中間件系統,設計了一種可擴展的異構數據整合框架JHD,構建了中介模式和數據源模式以及它們的映射關系,以解決數據源的語義異構問題,利用多個異構數據源各自提供的數據服務接口,增加了系統的可擴展性[1]。韓威威提出了一種利用XML技術解決語義沖突,利用Web Service架構設計構建異構信息共享平臺,以服務的方式為各終端用戶解決了農業多源異構數據共享的難題[2]。倪芳提出了一種 采用分布式 Web 服務中的 XML 技術對多源異構農業數據實現融合,能將抽象的農業數據變得模型化,從而有效解決當前農業不同領域的數據整合與交互問題[3]。

綜上所述,目前進行異構數據信息集成的技術主要集中在XML技術上,比較新的系統采用了JSON技術,本文工作是利用JSON作為異構數據集成的中間件,解決多源異構數據信息共享的難題。

3 JSON技術

JSON(JavaScript Object Notation)一種輕量級的數據交換格式,具有良好的可讀和便于快速編寫的特性。可在不同平臺之間進行數據交換。JSON采用兼容性很高的、完全獨立于語言文本格式,同時也具備類似于C語言的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)體系的行為。這些特性使JSON成為理想的數據交換語言。

3.1 JSON相對于XML的優勢

XML(可擴展的標記語言)格式統一,符合標準;容易與其他系統進行遠程交互,數據共享比較方便。但是它具有文件龐大,文件格式復雜,傳輸占帶寬;服務器端和客戶端都需要花費大量代碼來解析XML,導致服務器端和客戶端代碼變得異常復雜且不易維護;客戶端不同瀏覽器之間解析XML的方式不一致,需要重復編寫很多代碼;

相比之下,JSON具有數據格式比較簡單,易于讀寫,格式都是壓縮的,JSON相對于XML來講,數據的體積小,傳遞的速度更快些占用帶寬小;易于解析,客戶端JavaScript可以簡單的通過eval()進行JSON數據的讀取;支持多種語言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服務器端語言,便于服務器端的解析;同時,因為JSON格式能直接為服務器端代碼使用,大大簡化了服務器端和客戶端的代碼開發量,且完成任務不變,并且易于維護。JSON與JavaScript的交互更加方便,更容易解析處理,更好的數據交互。下面,通過實例比較XML和JSON:

例如:用XML表示中國部分省市數據如下:

<2>.用JSON表示中國部分省市數據如下:

var country =

{

name: "中國",

provinces: [

{ name: "陜西", citys: { city: ["西安", "寶雞"]} },

{ name: "漢南", citys: { city: ["鄭州", "洛陽"]} }

}

從上面實例可以看出,XML的結構化形式利于程序的閱讀。而JSON讀起來更像一個數據塊,讀起來就比較費解,然而這一點非常適合機器閱讀,所以通過JSON的索引country.provinces[0].name就能夠讀取“陜西”這個值。并且,XML數據中包含很多重復的標記字符,而JSON中僅僅存在的是密密麻麻的有用數據。

3.2 JSON異構數據集成中間件的設計

中間件模式通過統一的全局數據模型來訪問異構的數據庫、遺留系統、Web 資源等。中間件位于異構數據源系統(數據層) 和應用程序(應用層) 之間,向下協調各數據源系統,向上為訪問集成數據的應用提供統一數據模式和數據訪問的通用接口。各數據源的應用仍然完成它們的任務,中間件系統則主要集中為異構數據源提供一個高層次檢索服務。

中間件模式是比較流行的數據集成方法,它通過在中間層提供一個統一的數據邏輯視圖來隱藏底層的數據細節,使得用戶可以把集成數據源看為一個統一的整體。這種模型下的關鍵問題是如何構造這個邏輯視圖并使得不同數據源之間能映射到這個中間層。根據此原理,我們設計了基于JSON的異構數據中間件系統,如下圖1所示:

圖1 JSON異構數據集成中間件

4 關鍵技術

4.1 將數據庫中的數據轉換成JSON數據

為了構建異構數據集成平臺,需要將各異構數據庫中的數據取出來,進行數據格式的統一,以便JSON 異構數據集成中間件進行進一步處理。下面以Java Web開發為例。

數據庫中數據轉換成JSON數據分為兩步,首先將java對象保存在JSON中; 然后通過Ajax來得到JSON轉化成js對象的數據,以便在Web頁面中顯示。關鍵代碼如下:

<%@ page import=java.io.Writer%>

<%@ page import="org.json.JSONArray"%>

<%@ page import="org.json.JSONObject"%>

public class Tsdh {

private String depname;

private String name;

private String tel;

//這幾個屬性的get和set方法省略

}

JSONArray jsons=new JSONArray();

try{

Tsdh tsdh=new Tsdh();

tsdh.setDepname("辦公室");

tsdh.setName("大熊");

tsdh.setTel("0431-1111111");

Tsdh tsdh2=new Tsdh();

tsdh2.setDepname("行政部");

tsdh2.setName("柯基");

tsdh2.setTel("0431-2222222");

JSONObject json=new JSONObject(tsdh);

JSONObject json1=new JSONObject(tsdh2);

jsons.put(json);

jsons.put(json1);

response.setContentType("text/html;charset=utf-8");

Writer writer=response.getWriter();

writer.writer(jsons.toString);

writer.flush();

writer.close();

writer=null;

}catch(Exception e){

System.out.println("error: "+e);

}

}

Html代碼 AJAX處理代碼

4.2 把JSON數據存放到數據庫

通過異構數據中間件,將用戶輸入的數據存入各異構數據庫的步驟是:

1.在用戶端在處理量數據提交的表單時,可以使用Ajax提交,并將數據轉換成JSON格式,使用jquery.serializeJSON,可以在基于jQuery技術實現。

2.頁面中,調用 .serializeJSON() 方法來序列化form表單的數據成JS對象。

3.將JS對象轉換成實體類。調用JSONObject 的toBean方法。示例代碼如下:

for(Object obj : arr){

JSONObject jsonObject =JSONObject.fromObject(obj);

EnterpriseInfoEntity entInfo = (EnterpriseInfoEntity)JSONObject.toBean(jsonObject, EnterpriseInfoEntity.class);

}

4.使用ORM技術,將實體映射到相應的關系表中,實現數據的存儲。

5 系統特點

利用Java技術實現的該農業異構數據集成平臺,具有平臺無關性、安全性等特點。通過系統測試,可以兼容SQL Server、MySql、Oracle等大型關系庫。

6 總結

JSON (JavaScriptObject Notation) 是一種輕量級的數據交換格式,主要用于傳送數據。JSON采用了獨立于語言的文本格式,類似XML,但是比XML簡單,易讀并且易編寫。對機器來說易于解析和生成,并且會減少網絡帶寬的傳輸。由于JSON格式可以解耦javascript客戶端應用與服務器端的方法調用,因而在互聯網應用中被大量使用。所以,系統采用JSON技術,將異構數據統一成JSON格式輸出顯示,和將用戶數據轉換成JSON格式對象保存到異構數據庫。以此為基礎構建的數據集成中間件,具有易實施,擴展性強等優點,為從事異構數據集成提供了借鑒。

猜你喜歡
農業
國內農業
今日農業(2022年1期)2022-11-16 21:20:05
國內農業
今日農業(2022年3期)2022-11-16 13:13:50
國內農業
今日農業(2022年2期)2022-11-16 12:29:47
擦亮“國”字招牌 發揮農業領跑作用
今日農業(2021年14期)2021-11-25 23:57:29
新農業 從“看天吃飯”到“看數吃飯”
今日農業(2021年13期)2021-08-14 01:38:18
歐盟發布短期農業展望
今日農業(2020年15期)2020-12-15 10:16:11
“5G+農業”:5G如何為農業賦能?
今日農業(2019年12期)2019-08-13 00:49:56
健康富硒168慢病未病全靠它——加入農業合作社,與健康同行!
健康富硒168慢病未病全靠它——加入農業合作社,與健康同行!
外向型農業
江蘇年鑒(2014年0期)2014-03-11 17:09:36
主站蜘蛛池模板: 国产一区二区精品福利| 国产亚洲男人的天堂在线观看| 一级看片免费视频| 婷婷午夜天| 青青草国产一区二区三区| 欧美激情视频二区三区| 久久精品66| 乱人伦中文视频在线观看免费| 欧美a级在线| 伊人久久影视| 亚洲国产午夜精华无码福利| 美美女高清毛片视频免费观看| 视频国产精品丝袜第一页| 久久精品人人做人人爽97| 波多野结衣一区二区三区AV| а∨天堂一区中文字幕| 亚洲无码高清视频在线观看 | 国产成人av大片在线播放| 亚洲国产精品日韩av专区| 91精品啪在线观看国产60岁| 久久久噜噜噜久久中文字幕色伊伊| 香蕉视频在线精品| 91成人在线免费观看| 欧美亚洲综合免费精品高清在线观看| 亚洲侵犯无码网址在线观看| 久久国产亚洲偷自| 亚洲综合色区在线播放2019| 波多野结衣一区二区三区88| 亚洲天堂高清| 青草国产在线视频| 亚洲成人福利网站| 国产视频资源在线观看| 成人va亚洲va欧美天堂| 男女精品视频| 无码AV日韩一二三区| 国模粉嫩小泬视频在线观看| 国产一级小视频| 亚洲综合九九| 国产高清色视频免费看的网址| 精品人妻一区无码视频| 最近最新中文字幕在线第一页| 亚洲—日韩aV在线| 国产尤物jk自慰制服喷水| 无码久看视频| 久久永久视频| 国产区在线看| 人妻丰满熟妇AV无码区| 国产丝袜丝视频在线观看| 亚洲女同欧美在线| 97久久超碰极品视觉盛宴| a亚洲视频| 狠狠色香婷婷久久亚洲精品| 欧美精品二区| 国产成年女人特黄特色毛片免 | 亚洲综合专区| jizz亚洲高清在线观看| 亚洲第一成年人网站| 国产国语一级毛片| 狠狠色丁婷婷综合久久| 亚洲成人在线免费观看| 久久久久亚洲精品成人网| 亚洲精品欧美重口| 精品国产污污免费网站| 亚洲第一香蕉视频| 日韩国产综合精选| 国产人成乱码视频免费观看| 国产在线高清一级毛片| 亚洲欧美一区二区三区麻豆| 伊人久热这里只有精品视频99| 亚洲制服丝袜第一页| 亚洲色图综合在线| 久久国产V一级毛多内射| 香蕉国产精品视频| 成人综合在线观看| 国产免费一级精品视频| 高潮毛片免费观看| 欧美激情视频一区二区三区免费| 久久青青草原亚洲av无码| 欧洲高清无码在线| aⅴ免费在线观看| 午夜啪啪福利| 无码中文字幕加勒比高清|