Android平臺北鬥星曆服務控制方法及系統與流程
2023-10-08 01:22:39

本發明涉及北鬥星曆服務技術領域,特別涉及一種android平臺北鬥星曆服務控制方法及系統。
背景技術:
北鬥定位系統主要用於車載設備和軍事裝備,隨著移動終端行業的蓬勃發展,手機行業與傳統終端設備行業的不斷融合,手機搭載北鬥定位系統已經成為眾多行業終端設備的標配。目前北鬥衛星數量有限,定位相對困難,加強北鬥天線信號會干擾手機正常通訊。截至目前,尚未出現在android手機上實現北鬥星曆服務控制的相關技術方案。
技術實現要素:
本發明的目的旨在至少解決所述技術缺陷之一。
為此,本發明的目的在於提出一種android平臺北鬥星曆服務控制方法及系統,可以通過移動數據網絡將星曆數據實時下載到本地資料庫,並適時下發給北鬥定位模塊,以縮短冷啟動和跟蹤定位時間。
為了實現上述目的,本發明的實施例提供一種android平臺北鬥星曆服務控制方法,包括如下步驟:
步驟s1,安裝有android系統的終端設備監測是否開啟以下功能:北鬥定位模塊是否開啟、移動數據或wifi功能是否開啟;如果監測開啟,則執行步驟s2;
步驟s2,所述終端設備與星曆伺服器建立連接;
步驟s3,所述終端設備從所述星曆伺服器上自動下載星曆數據,並存儲至本地的星曆資料庫,其中,所述星曆數據的下載方式包括:立即下載和定時下載;
步驟s4,當判斷收到接收到預定的系統事件或星曆服務事件時,根據需要下載的星曆數據更新所述星曆資料庫,從所述星曆資料庫中讀取星曆數據並同時發送至所述北鬥定位模塊使用。
進一步,在所述步驟s1中,北鬥定位模塊至少提供以下功能之一:北鬥獨立定位、gps獨立定位、北鬥與gps組合定位模式。
進一步,在所述步驟s3中,所述星曆數據的下載方式,包括:
(1)立即下載:
當所述星曆資料庫中沒有數據時,第一次啟動系統服務或服務數據被清除,創建本地資料庫,沒有星曆數據記錄,需要立即下載;
當資料庫中星曆數據已經失效時,檢查當前系統時間與星曆數據修改時間的差,如果小於0或大於1小時,認為星曆已經失效,修改系統日期時間或長時間關閉北鬥定位功能都會導致星曆數據失效,需要立即下載。
(2)定時下載;
北鬥星曆服務啟動後或星曆數據下載完成後,星曆服務根據系統時間計算出到下一個整點的時長,啟動定時喚醒手機系統服務;當整點到達時,系統被喚醒並發出定時下載消息,北鬥星曆服務在收到定時下載消息時,下載星曆數據。
進一步,在所述步驟s3中,採用blob類型保存二進位星曆數據,採用整數類型保存星曆數據長度,採用文本類型保存創建時間和修改時間。
進一步,在所述步驟s4中,所述預定的系統事件包括:
網絡連接事件:當網絡開關打開時收到;
系統啟動完成事件:手機開機後收到;
設置日期時間事件:用戶設置系統時間收到。
進一步,所述星曆服務事件在北鬥模塊啟動、清除星曆數據、冷啟動、導航開始工況收到;北鬥模塊切換工作模式,北鬥獨立定位、gps獨立定位、北鬥與gps組合定位模式切換時收到。
本發明還提出一種android平臺北鬥星曆服務控制系統,包括:安裝有android系統的終端設備和星曆伺服器,其中,所述終端設備內置有北鬥定位模塊,
所述終端設備用於監測是否開啟以下功能:北鬥定位模塊是否開啟、移動數據或wifi功能是否開啟,如果開啟則所述終端設備與所述星曆伺服器建立連接;
所述終端設備從所述星曆伺服器上自動下載星曆數據,並存儲至本地的星曆資料庫,其中,所述星曆數據的下載方式包括:立即下載和定時下載;
所述終端設備在判斷收到接收到預定的系統事件或星曆服務事件時,根據需要下載的星曆數據更新所述星曆資料庫,從所述星曆資料庫中讀取星曆數據並同時發送至所述北鬥定位模塊使用。
進一步,所述北鬥定位模塊至少提供以下功能之一:北鬥獨立定位、gps獨立定位、北鬥與gps組合定位模式。
進一步,所述星曆數據的下載方式,包括:
(1)立即下載:
當所述星曆資料庫中沒有數據時,第一次啟動系統服務或服務數據被清除,創建本地資料庫,沒有星曆數據記錄,需要立即下載;
當資料庫中星曆數據已經失效時,檢查當前系統時間與星曆數據修改時間的差,如果小於0或大於1小時,認為星曆已經失效,修改系統日期時間或長時間關閉北鬥定位功能都會導致星曆數據失效,需要立即下載。
(2)定時下載;
北鬥星曆服務啟動後或星曆數據下載完成後,星曆服務根據系統時間計算出到下一個整點的時長,啟動定時喚醒手機系統服務;當整點到達時,系統被喚醒並發出定時下載消息,北鬥星曆服務在收到定時下載消息時,下載星曆數據。
進一步,所述星曆資料庫採用blob類型保存二進位星曆數據,採用整數類型保存星曆數據長度,採用文本類型保存創建時間和修改時間。
根據本發明實施例的android平臺北鬥星曆服務控制方法及系統,可以實現自動下載更新北鬥星曆數據,根據星曆有效性判斷是否需要下載,最大限度地降低用戶的數據流量消費。在北鬥模塊啟動後適時地從本地資料庫中讀取星曆數據,下發給北鬥模塊使用,極大提高了北鬥模塊的定位速度,最大程度上彌補了當前衛星數量不足,解決了定位跟蹤困難的問題,使北鬥定位在移動終端上能夠到達實用目的,大大提高了產品的競爭能力,為產品贏得市場提供了強有力的保證。本發明通過移動數據網絡將星曆數據實時下載到本地資料庫,並適時下發給北鬥定位模塊,以縮短冷啟動和跟蹤定位時間。
本發明附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的實踐了解到。
附圖說明
本發明的上述和/或附加的方面和優點從結合下面附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為根據本發明實施例的android平臺北鬥星曆服務控制方法的流程圖;
圖2為根據本發明實施例的android平臺北鬥星曆服務控制系統的結構圖;
圖3為根據本發明實施例的北鬥星曆資料庫結構的示意圖。
具體實施方式
下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用於解釋本發明,而不能理解為對本發明的限制。
如圖1所示,本發明實施例的android平臺北鬥星曆服務控制方法,包括如下步驟:
步驟s1,安裝有android系統的終端設備監測是否開啟以下功能:北鬥定位模塊是否開啟、移動數據或wifi功能是否開啟;如果監測開啟,則執行步驟s2。
具體來說,北鬥星曆服務作為一個android系統服務,始終運行在系統後臺,自動管理星曆數據下載和適時將星曆數據下發給北鬥定位模塊。其中,下載星曆數據的前提條件是北鬥模塊定位已經啟動,並且移動數據功能打開或wifi功能打開,終端設備能正常連接到廠商提供的星曆伺服器上。基於此,首先需要執行步驟s1的開啟監測功能。其中,終端設備可以為手機或平板電腦等。
在本發明的一個實施例中,北鬥定位模塊至少提供以下功能之一:北鬥獨立定位、gps獨立定位、北鬥與gps組合定位模式。
步驟s2,終端設備與星曆伺服器建立連接。
步驟s3,終端設備從星曆伺服器上自動下載星曆數據,並存儲至本地的星曆資料庫,其中,星曆數據的下載方式包括:立即下載和定時下載。
星曆數據伺服器中存儲的星曆數據分別對應以下有效期:
gps星曆數據每2個小時更新一次,北鬥星曆數據每1個小時更新一次。因此,本發明確定星曆數據的最小有效期為1小時。
下面參考圖3對星曆資料庫的結構進行說明:在本地創建一個星曆資料庫,僅保存一條記錄,採用blob類型保存二進位星曆數據,採用整數類型保存星曆數據長度,採用文本類型保存創建時間和修改時間。
在本發明的一個實施例中,星曆數據下載方式分為兩種,立即下載和定時下載。下載的星曆數據保存在本地資料庫,同時下發給北鬥定位模塊使用。
具體地,星曆數據的下載方式,包括:
(1)立即下載:
當星曆資料庫中沒有數據時,第一次啟動系統服務或服務數據被清除(包括恢復出廠設置),創建本地資料庫,沒有星曆數據記錄,需要立即下載;
當資料庫中星曆數據已經失效時,檢查當前系統時間與星曆數據修改時間的差,如果小於0或大於1小時,認為星曆已經失效,修改系統日期時間或長時間關閉北鬥定位功能都會導致星曆數據失效,需要立即下載。
(2)定時下載;
北鬥星曆服務啟動後或星曆數據下載完成後,星曆服務根據系統時間計算出到下一個整點的時長,啟動定時喚醒手機系統服務;當整點到達時,系統被喚醒並發出定時下載消息,北鬥星曆服務在收到定時下載消息時,下載星曆數據。
步驟s4,當判斷收到接收到預定的系統事件或星曆服務事件時,根據需要下載的星曆數據更新星曆資料庫,從星曆資料庫中讀取星曆數據並同時發送至北鬥定位模塊使用。
在本發明的一個實施例中,預定的系統事件包括:
1)網絡連接事件("android.net.conn.connectivity_change"),當網絡開關(移動數據或wifi)打開時收到;
2)系統啟動完成事件("android.intent.action.boot_completed"),手機開機後收到;
3)設置日期時間事件("android.intent.action.time_set"),用戶設置系統時間收到。
星曆服務事件"android.intent.action.action_ephemeris_service",在北鬥模塊啟動、清除星曆數據、冷啟動、導航開始等工況收到;北鬥模塊切換工作模式,北鬥獨立定位、gps獨立定位、北鬥與gps組合定位模式切換時收到。
如圖2所示,本發明實施例的android平臺北鬥星曆服務控制系統,包括:安裝有android系統的終端設備1和星曆伺服器2。其中,終端設備1內置有北鬥定位模塊。
具體地,終端設備1用於監測是否開啟以下功能:北鬥定位模塊是否開啟、移動數據或wifi功能是否開啟,如果開啟則終端設備1與星曆伺服器2建立連接。
由於下載星曆數據的前提條件是北鬥模塊定位已經啟動,並且移動數據功能打開或wifi功能打開,終端設備能正常連接到廠商提供的星曆伺服器上。基於此,首先需要執行北鬥定位和網絡開啟監測功能。其中,終端設備1可以為手機或平板電腦等。
在本發明的一個實施例中,北鬥定位模塊至少提供以下功能之一:北鬥獨立定位、gps獨立定位、北鬥與gps組合定位模式。
終端設備1從星曆伺服器2上自動下載星曆數據,並存儲至本地的星曆資料庫。
星曆伺服器2中存儲的星曆數據分別對應以下有效期:
gps星曆數據每2個小時更新一次,北鬥星曆數據每1個小時更新一次。因此,本發明確定星曆數據的最小有效期為1小時。
下面參考圖3對星曆資料庫的結構進行說明:在本地創建一個星曆資料庫,僅保存一條記錄,採用blob類型保存二進位星曆數據,採用整數類型保存星曆數據長度,採用文本類型保存創建時間和修改時間。
在本發明的一個實施例中,星曆數據下載方式分為兩種,立即下載和定時下載。下載的星曆數據保存在本地資料庫,同時下發給北鬥定位模塊使用。
具體地,星曆數據的下載方式,包括:
(1)立即下載:
當星曆資料庫中沒有數據時,第一次啟動系統服務或服務數據被清除(包括恢復出廠設置),創建本地資料庫,沒有星曆數據記錄,需要立即下載;
當資料庫中星曆數據已經失效時,檢查當前系統時間與星曆數據修改時間的差,如果小於0或大於1小時,認為星曆已經失效,修改系統日期時間或長時間關閉北鬥定位功能都會導致星曆數據失效,需要立即下載。
(2)定時下載;
北鬥星曆服務啟動後或星曆數據下載完成後,星曆服務根據系統時間計算出到下一個整點的時長,啟動定時喚醒手機系統服務;當整點到達時,系統被喚醒並發出定時下載消息,北鬥星曆服務在收到定時下載消息時,下載星曆數據。
終端設備1在判斷收到接收到預定的系統事件或星曆服務事件時,根據需要下載的星曆數據更新星曆資料庫,從星曆資料庫中讀取星曆數據並同時發送至北鬥定位模塊使用。
在本發明的一個實施例中,預定的系統事件包括:
1)網絡連接事件("android.net.conn.connectivity_change"),當網絡開關(移動數據或wifi)打開時收到;
2)系統啟動完成事件("android.intent.action.boot_completed"),手機開機後收到;
3)設置日期時間事件("android.intent.action.time_set"),用戶設置系統時間收到。
星曆服務事件"android.intent.action.action_ephemeris_service",在北鬥模塊啟動、清除星曆數據、冷啟動、導航開始等工況收到;北鬥模塊切換工作模式,北鬥獨立定位、gps獨立定位、北鬥與gps組合定位模式切換時收到。
根據本發明實施例的android平臺北鬥星曆服務控制方法及系統,可以實現自動下載更新北鬥星曆數據,根據星曆有效性判斷是否需要下載,最大限度地降低用戶的數據流量消費。在北鬥模塊啟動後適時地從本地資料庫中讀取星曆數據,下發給北鬥模塊使用,極大提高了北鬥模塊的定位速度,最大程度上彌補了當前衛星數量不足,解決了定位跟蹤困難的問題,使北鬥定位在移動終端上能夠到達實用目的,大大提高了產品的競爭能力,為產品贏得市場提供了強有力的保證。本發明通過移動數據網絡將星曆數據實時下載到本地資料庫,並適時下發給北鬥定位模塊,以縮短冷啟動和跟蹤定位時間。
在本說明書的描述中,參考術語「一個實施例」、「一些實施例」、「示例」、「具體示例」、或「一些示例」等的描述意指結合該實施例或示例描述的具體特徵、結構、材料或者特點包含於本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特徵、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
儘管上面已經示出和描述了本發明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發明的限制,本領域的普通技術人員在不脫離本發明的原理和宗旨的情況下在本發明的範圍內可以對上述實施例進行變化、修改、替換和變型。本發明的範圍由所附權利要求及其等同限定。