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

GPS定位數據的提取與存儲系統的設計

2016-09-26 08:27:24鮑萍萍王鵬輝
網絡安全與數據管理 2016年11期
關鍵詞:數據庫系統設計

鮑萍萍,陳 光,王 朋,王鵬輝

(東華大學 信息科學與技術學院 上海 201620)

?

GPS定位數據的提取與存儲系統的設計

鮑萍萍,陳光,王朋,王鵬輝

(東華大學 信息科學與技術學院 上海 201620)

針對傳統的在VC++平臺上實現的GPS定位數據的提取與存儲系統已經不能滿足系統的實時性和可靠性等需求,以及軟件方面存在擴展性、兼容性、移植性差等問題,運用GPS定位技術、多線程串口通信處理技術和數據庫存儲訪問技術,應用Java語言編寫,在Eclipse開發工具上設計并實現了一套GPS定位數據的實時提取與存儲系統。測試結果表明,該系統運行穩定,實驗數據有效可靠,達到了預期的目標。

GPS;多線程;串口通信;數據存儲;Java

引用格式:鮑萍萍,陳光,王朋,等. GPS定位數據的提取與存儲系統的設計[J].微型機與應用,2016,35(11):11-13.

0 引言

隨著衛星導航定位技術的發展,全球衛星定位系統(Global Position System,GPS)成為目前最為常用的一種導航定位系統,其全方位、全天候、全時段、高精度等特點使得GPS的應用遙遙領先。其原理是用戶通過GPS接收機接收衛星信號,結合地理信息系統對信號進行處理,從而獲得用戶所需的經緯度、速度等信息,最終實現導航和定位[1]。而GPS接收機中的數據提取與存儲是GPS定位中的重要組成部分。

目前,GPS定位數據處理系統大多數在VC++平臺上實現,其擴展性、移植性、兼容性差。為改善其性能,2003年王緩緩等人[2]對GPS定位數據進行提取,增強了系統的擴展性和兼容性,但仍然存在數據不能實時接收、同步處理及存儲等問題。2006年李新源等人基于Java語言的GPS接收機的串口通信程序設計[3],整個系統結構雖然較為清晰,但其只是實現了GPS數據的提取,對數據的存儲并未研究。

為改善已有GPS定位數據的提取與存儲功能,有效提高數據的可靠性和實時性等要求,本文基于Java的跨平臺性、開放性與面向對象等特點[3],運用GPS定位技術、多線程串口通信編程技術和數據庫存儲技術,設計了一套GPS定位數據的提取與存儲系統。該系統能實時地接收、處理和存儲GPS數據。

1 系統組成

圖1 系統架構圖

GPS定位數據的提取與存儲系統主要包括GPS串口通信和GPS數據存儲兩部分,其結構圖如圖1所示。其中,GPS串口通信部分主要實現多線程編程、串口的打開、串口數據的接收、提取處理與串口的關閉等操作;GPS數據存儲部分實現將提取處理后的數據保存在MySQL數據庫中[2-4]。

2 GPS串口通信

圖2 串口通信流程圖

傳統的用Java實現串口通信通常采用串口API,它以獨立jar包的方式提供一個標準擴展[5]。此系統中,采用串口和并口通信的開源Java類庫RXTX,其提供了多操作系統下的兼容javax.comm串口通信包API的實現。在Windows操作系統下,包含3個文件:RXTXcomm.jar、rxtxParallel.dll和rxtxSerial.dll,其提供了通信用的Java API及相應的驅動類接口。系統在串口通信前,必須對串口驅動程序裝載。其串口操作流程圖如圖2所示[6]。

2.1多線程技術

對串口進行操作的過程中,為提高CPU的使用效率,系統采用了多線程處理技術,很好地滿足了多任務和實時性的需求[7-8]。

Java有兩種實現多線程的方式:一是創建一個類繼承Thread類,并重寫run()方法;二是實現Runnable接口。本文采用繼承Thread類的方式實現多線程,主要涉及串口數據接收線程、數據提取處理線程、數據存儲線程,系統的關鍵是處理好線程之間的同步、安全和死鎖[7-8]。

2.2多線程串口通信

(1)串口數據接收

在對GPS串口數據接收之前,必須明確GPS接收機的數據接收格式[2-4]。GPS接收機遵守NEMA-0183標準協議,該協議內容包含GPS定位的經緯度、速度、日期時間、地面航向、衛星狀況、磁偏角等信息。本系統中,使用NEMA-0183協議中的“MYMGPRMC”幀格式進行數據的提取處理。

在進行數據接收前,首先打開串口并進行參數設置。然后,調用數據接收線程中的類實例方法對串口數據進行接收。為保證數據的可靠性和實時性,系統中設置了串口事件監聽器。其部分關鍵代碼如下,數據接收結果圖如圖3所示。

serialport.addEventListener(commlist);

serialport.notifyOnDataAvailable(true);

if(arg0.getEventType()==SerialPortEvent.DATA_AVAILABLE){

int y=0;

byte[] b= new byte[1024];

while((y=in.read(b))!=-1){

System.out.println("下面為讀取的數據"+new String(b)));}}

圖3 串口數據接收圖

(2)串口數據提取處理

在成功接收GPS數據串后,要對其解析,轉化成相應的格式。其思路如下:首先,判斷數據串中是否含有“MYMGPRMC”數據,若存在,則截取MYMGPRMC包含的70 B數據;其次,對MYMGPRMC包含的GPS定位信息進行提取;最后,對數據作進一步的處理運算并保存在GpsData對象中,提高了代碼的健壯性。為了簡化問題,本文只提取出日期時間、經緯度、狀態、速度信息[9]。其部分關鍵代碼如下所示[2],數據提取處理圖如圖4、圖5所示。

if (gprmcdata!=null){

String gprmcdata=gprmcstart.substring(0,70);

......

gpsdata=new GpsData();

......

for (int i =0;i<12;i++){

String value =gprmcdata.substring(0, gprmcdata.indexOf(","));

gprmcdata =gprmcdata.substring(gprmcdata.indexOf(",")+1);

switch(i){

case 3: gpsdata.setLatitude(DateTimeUtils.ChangeLatitude(value));

System.out.println(gpsdata.getLatitude()); //緯度

break;.......}}}

圖5 解析處理后的數據

圖4截取的GPRMC數據圖

3 數據庫存儲

對GPS定位數據進行提取處理后,需要將數據保存在數據庫中,方便后期的使用。本設計將GPS定位數據存儲部分作為后臺數據庫,不僅作為定位數據的容器,同時還可以隨時隨地地訪問數據庫與進行增、刪、改、查等操作[4]。

在本系統中,將靈活可靠的MySQL作為后臺數據庫,應用JDBC技術連接數據庫。下面從數據庫的配置設計、存儲和互聯來實現高效可靠的數據存儲。

3.1數據庫的配置與數據表的設計

對MySQL數據庫操作前,需要對其配置。配置信息封裝在dbconfig.properties配置文件中,如圖6所示。

圖6 數據庫配置信息截取圖

本系統采用JDBC方式連接數據庫,在MySQL中,需要新建一個數據庫命名為mydb1,并添加一張數據表gpsdata用于存儲GPS定位數據。數據表的列分別命名為日期時間datetime、定位狀態status、緯度latitude、經度longitude、速度speed,并設置相應的列屬性,允許為NULL。

3.2數據的存儲與互聯

數據的存儲與互聯技術是存儲系統設計的核心。本設計中定義了兩個核心類:JdbcUtils工具類和JdbcUtilsImpl類。其中,JdbcUtils類主要用于實現加載配置文件、加載驅動類與獲取連接操作;JdbcUtilsImpl類主要用于向數據庫中存儲GPS數據、數據表的更新、釋放等。其部分關鍵代碼如下所示,圖7為數據存入情況。

InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("dbconfig.properties");

props = new Properties();

props.load(in);

Class.forName(props.getProperty("driverClassName"));

DriverManager.getConnection(props.getProperty("url"),props.getProperty("username"),props.getProperty("password"));

String sql = "INSERT INTO gpsdata VALUES(?,?,?,?,?)";

pstmt=con.prepareStatement(sql);pstmt.setString(1, gpsdata.getDatetime());

......

pstmt.setDouble(4, gpsdata.getSpeed());

pstmt.executeUpdate();

圖7 數據成功存入數據庫圖

4 結論

本系統在Eclipse開發環境下,結合MySQL數據庫技術,對GPS定位數據進行接收和提取處理,并將其存入數據庫中,以供開發者后期使用。其中,系統中利用了Java中的多線程技術,將數據接收與提取處理高效地分離,有效地提高了數據的處理能力。同時,系統中加入了數據存儲部分,為數據的有效性和可靠性提供了保障,更加體現了系統的整體性能。

[1] 張帥帥, 崔紅霞. GPS數據的采集提取和顯示[J]. 科技創新導報, 2013(25):22-23.

[2] 王緩緩, 李虎. 用Java實現GPS全球定位系統定位數據的提取[J]. 計算機與現代化, 2004(11):89-91.

[3] 李新源, 趙樹法, 魏宗壽,等. 基于Java語言的GPS接收機的串口通信程序設計[J]. 鐵路計算機應用, 2007, 16(5):4-6.

[4] 徐涴砯, 陳光, 高孟茹. GPS船舶試航數據提取與存儲系統的開發[J]. 微型機與應用, 2013,32(23):86-89.

[5] 丁振凡, 王小明, 鄧建明,等. 基于Java的串口通信應用編程[J]. 微型機與應用, 2012, 31(13):84-86.

[6] 牛立, 王景中. GPS導航數據提取的設計與研究[J]. 微型機與應用, 2010, 29(20):1-3.

[7] 李良, 朱善安. 基于Java的串口通信[J]. 電子器件, 2007, 30(2):714-716,720.

[8] 吳金鋒, 劉偉平, 黃紅斌. Java串口通信數據采控系統的設計與實現[J]. 微計算機信息, 2010, 26(10):65-66.

[9] 袁林, 曹杰. 利用VC++實現GPS全球定位系統定位數據的提取[J]. 現代電子技術, 2004, 27(24):105-107.

Design of GPS positioning data extraction and storage system

Bao Pingping,Chen Guang,Wang Peng,Wang Penghui

(College of Information Science & Technology,Donghua University,Shanghai 201620,China)

The traditional GPS positioning data extraction and storage system based on VC++ platform can’t meet the demand of real-time and reliability. It has disadvantages such as scalability, compatibility, portability problems on software.The design this paper proposed applies GPS positioning technology,multithreding serial communication technology and database storage access technology,using the Java programming language.It designs and implements a set of GPS data real-time receiving,extracting and storaging system on Eclipse development tools. Results of test show that the system has stable operation,experimental data is effective and reliable, and has reached the expected goal.

GPS; multithreading; serial communication; data storage; Java

TP391

A

10.19358/j.issn.1674- 7720.2016.11.004

2016-03-03)

鮑萍萍(1990-),通信作者,女,碩士研究生,主要研究方向:GPS無線通信,Android應用。E-mail:250360420@qq.com。

陳光(1957-),男,教授,主要研究方向:無線移動通信,電磁場理論等。

王朋(1989-),男,碩士研究生,主要研究方向:機器視覺與圖形圖像處理技術。

猜你喜歡
數據庫系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 亚洲综合中文字幕国产精品欧美| 国产综合精品日本亚洲777| 99久久这里只精品麻豆| 欧美三级日韩三级| 国产美女在线免费观看| 欧美笫一页| 欧美综合激情| 自拍亚洲欧美精品| 国产最新无码专区在线| 久久青草热| 色欲不卡无码一区二区| 69av免费视频| 国产精品成人一区二区不卡| 国内精品久久九九国产精品| 女高中生自慰污污网站| 久久99国产精品成人欧美| 精品日韩亚洲欧美高清a| 日本亚洲国产一区二区三区| 成年女人a毛片免费视频| 成年女人a毛片免费视频| 欧类av怡春院| 国产AV毛片| 国产成年女人特黄特色大片免费| 狠狠亚洲五月天| 国产精品污污在线观看网站| 91国语视频| 亚洲国产精品成人久久综合影院| 九九视频免费看| 精品国产一区二区三区在线观看| 亚洲中文字幕久久无码精品A| 亚洲精品日产精品乱码不卡| 日韩欧美中文字幕一本| 婷婷久久综合九色综合88| 国产杨幂丝袜av在线播放| 无码AV动漫| 亚洲综合精品第一页| 精品夜恋影院亚洲欧洲| 国产主播一区二区三区| 久久99精品久久久久纯品| 2021国产精品自产拍在线观看| 伊伊人成亚洲综合人网7777| 日韩二区三区| 久久综合丝袜日本网| 欧美另类图片视频无弹跳第一页| 69av免费视频| 性色一区| 熟女日韩精品2区| 欧美日韩一区二区在线播放| 国产在线精品99一区不卡| 精品视频福利| 99精品欧美一区| 亚洲h视频在线| 高清免费毛片| 色香蕉网站| 99久久精彩视频| 99精品热视频这里只有精品7| 51国产偷自视频区视频手机观看 | 日韩 欧美 小说 综合网 另类| 国产好痛疼轻点好爽的视频| 99在线视频精品| 国产成人精品免费av| jizz国产视频| 91蝌蚪视频在线观看| 在线欧美日韩| 国产在线啪| 成人免费视频一区| 综合五月天网| 亚洲经典在线中文字幕| 亚洲综合色婷婷| 免费A级毛片无码免费视频| 亚洲区视频在线观看| 狠狠干综合| 欧美激情视频二区三区| 亚洲精品你懂的| 99re经典视频在线| 亚洲国产亚综合在线区| 一区二区影院| 99re经典视频在线| 69av免费视频| 国产精品网曝门免费视频| 伊人色婷婷| 青青草国产在线视频|