亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Visual Studio程序語(yǔ)言的GPS局域網(wǎng)時(shí)間同步研究

        2018-09-10 00:55:53劉飛鵬許婧王建雄奉延龍
        河南科技 2018年20期
        關(guān)鍵詞:局域網(wǎng)

        劉飛鵬 許婧 王建雄 奉延龍

        摘 要:在通常的局域網(wǎng)中,各網(wǎng)絡(luò)設(shè)備的時(shí)鐘都有數(shù)秒甚至數(shù)分鐘的誤差,采用一種經(jīng)濟(jì)實(shí)用高效的方法來(lái)提高局域網(wǎng)時(shí)間同步的準(zhǔn)確性具有十分重要的意義。本文利用計(jì)算機(jī)獲取GPS時(shí)間和自動(dòng)校核時(shí)間的方法,并提出局域網(wǎng)時(shí)間同步的解決方案,利用Visual Studio來(lái)實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)時(shí)間同步,方法簡(jiǎn)捷,適用性強(qiáng),時(shí)間誤差得到顯著修正。

        關(guān)鍵詞:Visual Studio;局域網(wǎng);時(shí)間同步;GPS時(shí)間

        中圖分類號(hào):TP391.72 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-5168(2018)20-0018-03

        Research on GPS Local Area Network Time Synchronization

        Based on Visual Studio

        LIU Feipeng1 XU Jing2,3 WANG Jianxiong2,3 FENG Yanlong4

        (1.China Forest Exploration and Design Institute on Kunming,Kunming Yunnan 650216;2. College of Water Conservancy, Yunnan Agricultural University,Kunming Yunnan 650201;3.Research Center of Agricultural Remote Sensing and Precision Agriculture Engineering in Yunnan Universities,Kunming Yunnan 650201; 4. Hepu County Water Conservancy Bureau,Hepu Guangxi 536100)

        Abstract: In the usual LAN, the clock of each network device has a few seconds or even a few minutes of error. It is of great significance to adopt an economical, practical and efficient method to improve the accuracy of the time synchronization of the LAN. In this paper, the method of acquiring GPS time and auto-checking time by computer was presented, and the solution of time synchronization in LAN was put forward. The method was simple and applicable, and the time error was significantly corrected by using Visual Studio to realize time synchronization in computer system.

        Keywords: Visual Studio;local area network;time synchronization;GPS time

        隨著網(wǎng)絡(luò)科技的發(fā)展,時(shí)間同步的重要性逐漸提升。傳統(tǒng)應(yīng)用程序大多是獨(dú)立、自成一體的,具有一定的局限性,修改程序復(fù)雜,且傳統(tǒng)程序的建立極為麻煩,維護(hù)費(fèi)用昂貴。相反,用分布式對(duì)象建立的應(yīng)用程序卻可以很自然地包含多個(gè)層次結(jié)構(gòu),從而將需要考慮的不同問(wèn)題完全分離開(kāi)來(lái)。分布式應(yīng)用程序的運(yùn)行需要將不同的應(yīng)用程序分布在不同的電腦上,然后通過(guò)網(wǎng)絡(luò)來(lái)共同完成一項(xiàng)任務(wù),這就需要時(shí)間同步來(lái)保證任務(wù)準(zhǔn)確無(wú)誤地完成。另外,E-mail信息、文件創(chuàng)建和訪問(wèn)時(shí)間、數(shù)據(jù)庫(kù)處理時(shí)間、通信行業(yè)、測(cè)繪行業(yè)和交通運(yùn)輸業(yè)的時(shí)間顯示系統(tǒng)等對(duì)時(shí)間同步要求都很高。因此,開(kāi)發(fā)一個(gè)經(jīng)濟(jì)、準(zhǔn)確、高效的軟件來(lái)確保局域網(wǎng)時(shí)間同步具有重要意義。

        1 GPS簡(jiǎn)介

        利用GPS定位衛(wèi)星在全球范圍內(nèi)實(shí)時(shí)進(jìn)行定位、導(dǎo)航的系統(tǒng)稱為全球衛(wèi)星定位系統(tǒng),簡(jiǎn)稱GPS。其特點(diǎn)為:①全球全天候定位;②定位精度高;③觀測(cè)時(shí)間短;④測(cè)站間無(wú)須通視;⑤儀器操作簡(jiǎn)單;⑥可提供全球統(tǒng)一的三維地心坐標(biāo);⑦應(yīng)用廣泛[1]。

        GPS的功能有3個(gè),即導(dǎo)航、測(cè)量、授時(shí)。完成時(shí)間同步需要用到授時(shí)功能。GPS由3部分組成:空間部分、地面控制系統(tǒng)和用戶設(shè)備。常用的是用戶設(shè)備,也就是GPS信號(hào)接收機(jī)。GPS定位系統(tǒng)由24顆環(huán)繞地球的衛(wèi)星組成,衛(wèi)星向全球發(fā)射可接收的標(biāo)準(zhǔn)授時(shí)信號(hào),GPS時(shí)鐘設(shè)備通過(guò)鎖定4~6顆衛(wèi)星,計(jì)算出準(zhǔn)確的格林尼治時(shí)間,并發(fā)出校時(shí)信號(hào)。GPS時(shí)鐘一般包括天線、GPS接收器和守時(shí)鐘等部件。當(dāng)前,較多的局域網(wǎng)采用Windows自帶的時(shí)間獲取軟件,但時(shí)間準(zhǔn)確度難以得到保證,所以采用GPS時(shí)鐘設(shè)備作為時(shí)鐘源進(jìn)行授時(shí)就十分必要。

        2 獲取時(shí)間的方法

        2.1 GPS與電腦取得聯(lián)系的方法

        GPS和Visual Studio軟件連接的參數(shù)主要有兩個(gè)。

        ①串口端口號(hào)。安裝好GPS驅(qū)動(dòng)后,在設(shè)備管理器硬件列表端口下面的USB GPS Comm Port設(shè)備后的括號(hào)中找到相應(yīng)的驅(qū)動(dòng)。對(duì)于Windows 8系統(tǒng),可在驅(qū)動(dòng)程序中找到相應(yīng)驅(qū)動(dòng)[2]。

        進(jìn)入設(shè)備列表的方法是:在桌面“我的電腦”圖標(biāo)上按鼠標(biāo)右鍵—選擇屬性菜單—選擇硬件菜單欄—設(shè)備管理器—點(diǎn)擊列表里面的端口項(xiàng)—USB GPS Comm Port (COM?),找到問(wèn)號(hào)所代表的GPS端口號(hào)[3]。

        ②波特率,即單片機(jī)或計(jì)算機(jī)在串口通信時(shí)的速率。

        2.2 從GPS獲取時(shí)間到電腦的方法

        要用GPS獲取時(shí)間和日期,需要對(duì)導(dǎo)航型GPS進(jìn)行數(shù)據(jù)處理,語(yǔ)句要選用GPRMC,推薦定位信息(GPRMC)[4]。

        $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh

        <1> UTC時(shí)間,hhmmss.sss(時(shí)分秒.毫秒)格式;

        <2> 定位狀態(tài),A=有效定位,V=無(wú)效定位;

        <3> 緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸);

        <4> 緯度半球N(北半球)或S(南半球);

        <5> 經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被傳輸);

        <6> 經(jīng)度半球E(東經(jīng))或W(西經(jīng));

        <7> 地面速率(000.0~999.9節(jié),前面的0也將被傳輸);

        <8> 地面航向(000.0~359.9°,以正北為參考基準(zhǔn),前面的0也將被傳輸)

        <9> UTC日期,ddmmyy(日月年)格式;

        <10> 磁偏角(000.0~180.0°,前面的0也將被傳輸);

        <11> 磁偏角方向,E(東)或W(西);

        <12> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數(shù)據(jù)無(wú)效)。

        本文研究時(shí)間同步,因此選取<1>和<9>。

        <1> UTC時(shí)間,hhmmss.sss(時(shí)分秒.毫秒)格式;

        <9> UTC日期,ddmmyy(日月年)格式。

        獲取的格式需要轉(zhuǎn)換為yyyy/mm/dd,hh:mm:ss

        北京為東8區(qū),因此要加8h轉(zhuǎn)為北京時(shí)間,C#代碼如下:

        private void BasePortUpdateTextBox(string BasePorttext)

        {try

        { string[] temp = BasePorttext.Split(',');

        if (temp[0] == "$GPRMC") //獲取GPRMC

        {if (temp[2] == "A")

        {BaseLabel.Text = "有效定位" ;

        if (temp[9].Length == 6 && temp[1].Length >= 6)

        {temp[1] = (BaseB + 80000).ToString();

        string dtString = string.Format("{0}-{1}-{2} {3}:{4}:{5}",

        temp[9].Substring(4),

        temp[9].Substring(2, 2),

        temp[9].Substring(0, 2),

        temp[1].Substring(0, 2),

        temp[1].Substring(2, 2),

        temp[1].Substring(4));

        this.UTCDateTime = DateTime.Parse(dtString); }

        textBox1.Text = UTCDateTime.ToString(); textBox2.Text = DateTime.Now.ToString();}

        else

        {BaseLabel.Text = "無(wú)效定位"; }}}

        catch (Exception ex)

        { MessageBox.Show(ex.Message); }}

        3 自動(dòng)更改系統(tǒng)時(shí)間為GPS時(shí)間的方法

        要設(shè)置系統(tǒng)時(shí)間,需要調(diào)用系統(tǒng)動(dòng)態(tài)鏈接庫(kù)kernel32.dll,要求自動(dòng)更新時(shí)間需要用到timer控件,需要設(shè)置每隔一段固定的時(shí)間運(yùn)行一次程序來(lái)更改系統(tǒng)時(shí)間為通過(guò)GPS獲取的時(shí)間[5]。

        相關(guān)C#代碼如下:

        // 獲取系統(tǒng)時(shí)間API

        [DllImport("kernel32.dll")]

        public extern static void GetSystemTime(ref SystemTime sysTime);

        // 設(shè)置系統(tǒng)時(shí)間API

        [DllImport("kernel32.dll")]

        public extern static bool SetSystemTime(ref SystemTime sysTime);

        private void timer1_Tick(object sender, EventArgs e)

        { timer1.Enabled = false;

        timer1.Interval = 15000;//以毫秒為單位

        // 設(shè)定時(shí)間,該結(jié)構(gòu)體內(nèi)的時(shí)間必須為UTC時(shí)間

        SystemTime updatedTime = new SystemTime();

        updatedTime.Year = (ushort)UTCDateTime.Year;

        updatedTime.Month = (ushort)UTCDateTime.Month;

        updatedTime.Day = (ushort)UTCDateTime.Day;

        updatedTime.Hour = (ushort)(UTCDateTime.Hour - 8);

        updatedTime.Minute = (ushort)UTCDateTime.Minute;

        updatedTime.Second = (ushort)(UTCDateTime.Second + 1);

        // 設(shè)定時(shí)間

        SetSystemTime(ref updatedTime); }

        4 基于Visual Studio局域網(wǎng)時(shí)間同步方案

        4.1 服務(wù)器時(shí)間校核為GPS時(shí)間

        先用Visual Studio程序語(yǔ)言編寫(xiě)應(yīng)用程序,并將服務(wù)器時(shí)間手動(dòng)校核一次,使服務(wù)器時(shí)間更新為GPS時(shí)間;由于系統(tǒng)時(shí)間每隔一定時(shí)間都會(huì)有一定的誤差,因此還需點(diǎn)自動(dòng)校核按鈕,使服務(wù)器每隔一定時(shí)間自動(dòng)校核一次,保證服務(wù)器時(shí)間始終與GPS時(shí)間一致。

        4.2 客戶機(jī)時(shí)間校核為服務(wù)器時(shí)間

        創(chuàng)建局域網(wǎng)頁(yè),使網(wǎng)頁(yè)中顯示服務(wù)器時(shí)間和客戶機(jī)時(shí)間,客戶機(jī)時(shí)間獲取方法與前文一致,服務(wù)器時(shí)間需要由應(yīng)用程序中獲取的GPS時(shí)間讀入數(shù)據(jù)庫(kù),再由數(shù)據(jù)庫(kù)讀入網(wǎng)頁(yè),網(wǎng)頁(yè)中設(shè)置2個(gè)按鈕:一個(gè)用于人工校核,一個(gè)用于電腦自動(dòng)校核。最終結(jié)果顯示:①點(diǎn)校核按鈕,客戶機(jī)局域網(wǎng)頁(yè)中客戶機(jī)與服務(wù)器時(shí)間同步;②點(diǎn)自動(dòng)校核按鈕,讓電腦自動(dòng)校核,并完成客戶機(jī)與服務(wù)器時(shí)間同步。

        5 結(jié)語(yǔ)

        GPS作為標(biāo)準(zhǔn)時(shí)鐘源,運(yùn)用Visual Studio程序語(yǔ)言,在局域網(wǎng)時(shí)間同步中的作用顯著,方法簡(jiǎn)捷,適用性強(qiáng)。其不僅能滿足多設(shè)備的要求,而且能保證時(shí)間需求的高精度、高穩(wěn)定性。

        局域網(wǎng)頁(yè)中獲取GPS時(shí)間的過(guò)程中,先將GPS時(shí)間讀入應(yīng)用程序,再由應(yīng)用程序進(jìn)入數(shù)據(jù)庫(kù),最后再通過(guò)數(shù)據(jù)庫(kù)讀入網(wǎng)頁(yè)中,在這幾個(gè)階段,不斷的讀入過(guò)程也需要花費(fèi)時(shí)間,因此最終到達(dá)網(wǎng)頁(yè)的時(shí)間可能與GPS時(shí)間存在一定誤差,這個(gè)誤差還應(yīng)該修正。本文較好地實(shí)現(xiàn)了GPS時(shí)間與單個(gè)系統(tǒng)的同步,局域網(wǎng)的同步還需要不斷修正,最終達(dá)到更為準(zhǔn)確的時(shí)間同步。

        參考文獻(xiàn):

        [1]肖明,賀鵬,徐守志.基于GPS的局域網(wǎng)時(shí)間同步的研究[J].科技信息,2010(5):443.

        [2]胡紹波.局域網(wǎng)時(shí)間同步系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,2013(6):45-52.

        [3]諶華金,羅雙喜,何佳洲.利用CPU時(shí)間戳實(shí)現(xiàn)局域網(wǎng)時(shí)間同步的新機(jī)制[J].計(jì)算機(jī)應(yīng)用,2009(11):2920-2924.

        [4]諶華金,何佳洲.一種基于數(shù)據(jù)鏈路層的局域網(wǎng)時(shí)間同步新機(jī)制[J].計(jì)算機(jī)應(yīng)用,2010(5):1183-1187.

        [5]劉愛(ài)東,黃彬,張永輝.一種基于通用PC的局域網(wǎng)時(shí)間同步方法[J].科學(xué)技術(shù)與工程,2012(28):7434-7438.

        猜你喜歡
        局域網(wǎng)
        基于VPN的機(jī)房局域網(wǎng)遠(yuǎn)程控制系統(tǒng)
        電子制作(2019年16期)2019-09-27 09:35:04
        基于802.1Q協(xié)議的虛擬局域網(wǎng)技術(shù)研究與實(shí)現(xiàn)
        電子制作(2017年17期)2017-12-18 06:40:48
        局域網(wǎng)性能的優(yōu)化
        電子制作(2017年8期)2017-06-05 09:36:15
        一区二区三区在线观看精品视频| 欧美亚洲色综久久精品国产| 国产高颜值大学生情侣酒店| 欧美日韩亚洲精品瑜伽裤| 美女视频永久黄网站免费观看国产| 国产91在线精品观看| av在线免费观看网站免费| 国产精品 亚洲 无码 在线| 内射无码专区久久亚洲| 伊人亚洲综合网色AV另类| 国产精品日本一区二区三区| 在线天堂av一区二区| 日本大乳高潮视频在线观看| 色偷偷久久一区二区三区| 456亚洲人成在线播放网站| 亚洲一区二区三区视频免费| 色婷婷精品久久二区二区蜜臀av| 亚洲中文字幕无码中文字| 99精品视频在线观看免费| caoporon国产超碰公开| 九一精品少妇一区二区三区| 亚洲精品无码永久中文字幕| a级毛片成人网站免费看| 亚洲V无码一区二区三区四区观看| 久久熟女精品—区二区蜜臀| 日韩亚洲一区二区三区四区| 久久精品国产亚洲av无码娇色| 日韩精品无码久久久久久| 色老汉亚洲av影院天天精品 | 精品福利一区二区三区| 国产免费久久精品99久久| 国产成人无码区免费内射一片色欲| 精品在免费线中文字幕久久| 日韩人妻大奶子生活片| 草草影院发布页| a级国产乱理伦片在线播放| 久久国产国内精品对话对白| 久久精品伊人久久精品| 边添小泬边狠狠躁视频| 无码人妻精一区二区三区| 国产丝袜免费精品一区二区 |