專利名稱::一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及內(nèi)存硬盤技術(shù)與關(guān)系數(shù)據(jù)庫相結(jié)領(lǐng)域,尤其涉及一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法。
背景技術(shù):
:由于每個(gè)車臺(tái)基本上以一分鐘的頻率(有些甚至只有10秒或30秒)主動(dòng)上報(bào)位置信息,一輛車一天要處理的數(shù)據(jù)就超過1000條,而每一條GPS位置信息又要發(fā)給當(dāng)前在線的有權(quán)限的操作員。所以一個(gè)操作員可以對哪些車輛有權(quán)限做監(jiān)控、調(diào)度等指令下發(fā)操作,同時(shí)又可以接收哪些車輛主動(dòng)上報(bào)的數(shù)據(jù);反過來一個(gè)車臺(tái)上報(bào)的數(shù)據(jù)要如何發(fā)送給對他有權(quán)限的當(dāng)前在線的操作員,這些都是車輛狀態(tài)管理要處理的事,既要管理維護(hù)車輛與操作員的在離線狀態(tài),又要分別車輛與操作員之間的權(quán)限控制關(guān)系等,所以大型的GPS管理系統(tǒng)中的車輛狀態(tài)管理有數(shù)據(jù)量大、變化快、訪問頻繁、關(guān)系復(fù)雜等特點(diǎn)1.與本發(fā)明相關(guān)的現(xiàn)有技術(shù)一1.1訪問關(guān)系數(shù)據(jù)庫的技術(shù)方案這種技術(shù)方案中通過關(guān)系數(shù)據(jù)庫管理車輛狀態(tài),各個(gè)程序通過直接訪問數(shù)據(jù)庫的方法,更新車輛狀態(tài),讀取權(quán)限控制信息,這些操作都需要頻繁打開數(shù)據(jù)庫連接,頻繁對數(shù)據(jù)庫磁盤文件做寫入讀取操作,在數(shù)據(jù)量膨脹的時(shí)候,數(shù)據(jù)庫的并發(fā)操作變多而可能導(dǎo)致表被鎖而引起性能下降。1.2現(xiàn)有技術(shù)一的缺點(diǎn)所以采用關(guān)系數(shù)據(jù)庫管理車輛狀態(tài)數(shù)據(jù)的方法雖然可以解決關(guān)系復(fù)雜的數(shù)據(jù)訪問問題,但在數(shù)據(jù)量大,訪問頻繁的問題上則存在IO操作的性能瓶頸;2.與本發(fā)明相關(guān)的現(xiàn)有技術(shù)二2.1緩存服務(wù)器與本地緩存相結(jié)合的技術(shù)方案這種技術(shù)方法中,緩存服務(wù)器維護(hù)全局車輛狀態(tài)數(shù)據(jù),本地緩存維護(hù)最近訪問過的車輛狀態(tài)數(shù)據(jù),在數(shù)據(jù)量大(如車輛與操作員分別增加的情況下)需要管理的數(shù)據(jù)量呈現(xiàn)m*n的幾何式增長,緩存服務(wù)器只能維護(hù)一維key-value結(jié)構(gòu)的數(shù)據(jù),所以在數(shù)據(jù)量幾何式增長的同時(shí),每次通過key找value都要遍歷一下所有的值,在程序頻繁訪問的時(shí)候,性能將大為下降,同時(shí)本地緩存在數(shù)據(jù)量呈現(xiàn)m*n的幾何式增長的時(shí)候,則將會(huì)存在內(nèi)存瓶頸;2.2現(xiàn)有技術(shù)二的缺點(diǎn)所以雖然采用緩存服務(wù)器與本地緩存相結(jié)合的方式管理車輛狀態(tài)數(shù)據(jù),在數(shù)據(jù)量少的時(shí)候有訪問速度快的優(yōu)勢,但在數(shù)據(jù)量膨脹的時(shí)候?qū)?huì)存在內(nèi)存瓶頸和訪問性能下降厲害的問題。
發(fā)明內(nèi)容針對現(xiàn)有技術(shù)存在的不足,無法對車輛狀態(tài)數(shù)據(jù)進(jìn)行高效的管理的問題,本發(fā)明提供一種新型的基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,通過虛擬內(nèi)存硬盤技術(shù),將系統(tǒng)內(nèi)存映射為系統(tǒng)內(nèi)的虛擬硬盤,在數(shù)據(jù)庫存儲(chǔ)路徑下創(chuàng)建車輛狀態(tài)數(shù)據(jù)庫,并將該車輛狀態(tài)數(shù)據(jù)庫移植到內(nèi)存虛擬硬盤上,根據(jù)GPS管理系統(tǒng)內(nèi)實(shí)際的業(yè)務(wù)需求創(chuàng)建車輛狀態(tài)數(shù)據(jù)表和創(chuàng)建存儲(chǔ)過程,用于維護(hù)GPS管理系統(tǒng)中的車輛狀態(tài)數(shù)據(jù),復(fù)雜的邏輯關(guān)系可以通過存儲(chǔ)過程算法實(shí)現(xiàn),而不用將復(fù)雜的邏輯關(guān)系轉(zhuǎn)化成一一對應(yīng)的key與value的關(guān)系。使用本發(fā)明的方法可以通過直接讀取內(nèi)存數(shù)據(jù)對數(shù)據(jù)庫表進(jìn)行操作,有效提高數(shù)據(jù)處理速度;同時(shí)利用硬盤尋址技術(shù),不與操作系統(tǒng)爭奪邏輯內(nèi)存,使得內(nèi)存空間充足;同時(shí)采用數(shù)據(jù)庫存儲(chǔ)引擎高效地處理GPS管理系統(tǒng)中大量關(guān)系型數(shù)據(jù),足以滿足百萬數(shù)量級(jí)的GPS管理系統(tǒng)中的車輛狀態(tài)管理需求。本發(fā)明的所采用的技術(shù)解決方案是一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,應(yīng)用于GPS管理系統(tǒng),該GPS管理系統(tǒng)包括管理主機(jī)及連接的其他設(shè)備,其特征在于,包括以下過程過程1采用內(nèi)存硬盤工具,在GPS管理系統(tǒng)的中將一特定容量的內(nèi)存虛擬成硬盤,建立一虛擬硬盤R;過程2選用一數(shù)據(jù)庫存儲(chǔ)引擎,將對數(shù)據(jù)庫存儲(chǔ)引擎的存儲(chǔ)路徑映射至虛擬硬盤R中,重啟數(shù)據(jù)庫存儲(chǔ)引擎的服務(wù);過程3在數(shù)據(jù)庫存儲(chǔ)引擎存儲(chǔ)路徑下創(chuàng)建車輛狀態(tài)數(shù)據(jù)庫;過程4停止數(shù)據(jù)庫存儲(chǔ)引擎服務(wù),將已經(jīng)建立好的車輛狀態(tài)數(shù)據(jù)庫移植到虛擬硬盤R中,并在原數(shù)據(jù)庫存儲(chǔ)引擎的存儲(chǔ)路徑下創(chuàng)建一個(gè)車輛狀態(tài)數(shù)據(jù)庫的符號(hào)連接,編輯該符號(hào)連接添加虛擬硬盤R的盤符標(biāo)志R:\,將對車輛狀態(tài)數(shù)據(jù)庫的操作映射至虛擬硬盤R中,保存后重新啟動(dòng)數(shù)據(jù)庫存儲(chǔ)引擎服務(wù);過程5在GPS管理系統(tǒng)的主業(yè)務(wù)數(shù)據(jù)庫中,創(chuàng)建不同業(yè)務(wù)信息表內(nèi)容的存儲(chǔ)過程過程6在車輛狀態(tài)數(shù)據(jù)庫中,創(chuàng)建車輛狀態(tài)信息的存儲(chǔ)過程,包括過程7使用編程語言編譯車輛狀態(tài)管理的業(yè)務(wù)資源庫,分別提供過程6在車輛狀態(tài)數(shù)據(jù)庫中創(chuàng)建的存儲(chǔ)過程對應(yīng)的數(shù)據(jù)訪問接口;過程8:GPS管理系統(tǒng)中的其他部分設(shè)備分別加載過程7中編譯的車輛狀態(tài)管理的業(yè)務(wù)資源庫,根據(jù)不同的業(yè)務(wù)需要調(diào)用不同接口,分別讀取和寫入各自業(yè)務(wù)所需的數(shù)據(jù)。進(jìn)一步的,所述的內(nèi)存硬盤工具為Ramdisk5。進(jìn)一步的,所述的數(shù)據(jù)庫存儲(chǔ)引擎為MYSQL。進(jìn)一步的,所述的過程3中創(chuàng)建的車輛狀態(tài)數(shù)據(jù)庫Database,包括數(shù)據(jù)庫表結(jié)構(gòu)與表數(shù)據(jù),各數(shù)據(jù)庫表的類型均為^noDB。進(jìn)一步的,所述的過程5的存儲(chǔ)過程具體包括500獲取一個(gè)或多個(gè)車輛基本信息,以車輛狀態(tài)數(shù)據(jù)庫中的車輛基本信息表內(nèi)容的格式輸出;501獲取所有的分組信息,以車輛狀態(tài)數(shù)據(jù)庫中的分組信息表內(nèi)容的格式輸出;502獲取所有的操作員信息,以車輛狀態(tài)數(shù)據(jù)庫中的操作員信息表內(nèi)容的格式輸出;503獲取所有的車臺(tái)類型信息,以車輛狀態(tài)數(shù)據(jù)庫中的車臺(tái)類型表內(nèi)容的格式輸出;504根據(jù)操作員ID獲取某一的操作員信息,以車輛狀態(tài)數(shù)據(jù)庫中的操作員信息表內(nèi)容的格式輸出;505根據(jù)車牌號(hào)獲取某一車輛基本信息,以車輛狀態(tài)數(shù)據(jù)庫中的車輛基本信息表內(nèi)容的格式輸出。進(jìn)一步的,所述的過程6的存儲(chǔ)過程具體包括600批量插入多個(gè)車輛信息;601插入或更新某一車輛信息;602刪除某一車輛信息及GPS數(shù)據(jù);603通過車輛ID更新車輛所在的GPRS前置機(jī);604通過車輛ID更新車輛在離線狀態(tài);605通過車輛ID更新車輛的掉線時(shí)間;606查詢某一車的基本信息及默認(rèn)設(shè)備;607通過車牌號(hào)獲取車輛ID;608通過手機(jī)號(hào)獲取車輛ID;609通過車輛ID更新車輛GPS表所有信息;610通過車輛ID獲取車輛GPS表所有信息;611批插入多個(gè)操作員信息一初始化用;612插入或更新某一操作員信息;613刪除某一操作員信息;614通過操作員ID更新是否接受主動(dòng)上報(bào)數(shù)據(jù);615通過操作員ID更新主動(dòng)上報(bào)協(xié)議類型;616通過操作員ID更新操作員是否在線;617批插入多個(gè)分組信息一初始化用;618插入或更新某一分組信息;619刪除某一分組信息;620根據(jù)車輛ID查詢本級(jí)及上級(jí)的操作員信息;621批插入多個(gè)車臺(tái)類型信息一初始化用;622插入或更新某一車臺(tái)類型信息;623刪除某一車臺(tái)類型信息;624查詢某一操作員的信息;625查詢本級(jí)及上級(jí)或本級(jí)及下級(jí)分組。進(jìn)一步的,還包括過程9創(chuàng)建一個(gè)車輛狀態(tài)數(shù)據(jù)庫守護(hù)服務(wù),當(dāng)GPS管理系統(tǒng)重啟后,重新初始化車輛狀態(tài)數(shù)據(jù)庫中業(yè)務(wù)數(shù)據(jù)。更進(jìn)一步的,還包括過程10初始化完成后,車輛狀態(tài)數(shù)據(jù)庫重新讀取并更新GPS管理系統(tǒng)中車輛上報(bào)數(shù)據(jù)和指令下發(fā)數(shù)據(jù)。更進(jìn)一步的,所述的過程9,包括以下步驟步驟900當(dāng)GPS管理系統(tǒng)重啟后,停止數(shù)據(jù)庫存儲(chǔ)引擎服務(wù),從數(shù)據(jù)庫存儲(chǔ)引擎配置文件中指定的存儲(chǔ)路徑下,將車輛狀態(tài)數(shù)據(jù)庫文件夾復(fù)制到虛擬硬盤R,再重新啟動(dòng)數(shù)據(jù)庫存儲(chǔ)引擎服務(wù);步驟901調(diào)用過程5中在主業(yè)務(wù)數(shù)據(jù)庫中創(chuàng)建的各存儲(chǔ)過程接口,加載各初始化業(yè)務(wù)數(shù)據(jù);步驟902調(diào)用過程6中在車輛狀態(tài)數(shù)據(jù)庫創(chuàng)建的存儲(chǔ)過程600批量插入多個(gè)車輛信6息,將各初始化業(yè)務(wù)數(shù)據(jù)同步到車輛狀態(tài)數(shù)據(jù)庫的相應(yīng)表中。本發(fā)明具有的有益效果是車輛狀態(tài)數(shù)據(jù)庫中只存儲(chǔ)基本的原始數(shù)據(jù),其復(fù)雜的邏輯關(guān)系可以通過存儲(chǔ)過程算法實(shí)現(xiàn),不用將復(fù)雜的邏輯關(guān)系轉(zhuǎn)化成一一對應(yīng)的key與value的關(guān)系,所以本發(fā)明解決了數(shù)據(jù)膨脹引起內(nèi)存瓶頸的問題,也降低了復(fù)雜的邏輯關(guān)系的維護(hù)難度,同時(shí)還能提高數(shù)據(jù)的查詢處理效率。使用本發(fā)明的方法可以通過直接讀取內(nèi)存數(shù)據(jù)對數(shù)據(jù)庫表進(jìn)行操作,有效提高數(shù)據(jù)處理速度;同時(shí)利用硬盤尋址技術(shù),不與操作系統(tǒng)爭奪邏輯內(nèi)存,使得內(nèi)存空間充足;同時(shí)采用數(shù)據(jù)庫存儲(chǔ)引擎高效地處理GPS管理系統(tǒng)中大量關(guān)系型數(shù)據(jù),足以滿足百萬數(shù)量級(jí)的GPS管理系統(tǒng)中的車輛狀態(tài)管理需求。圖1是本發(fā)明第一實(shí)施例的處理流程圖。圖2是圖1中的過程1的系統(tǒng)界面。圖3是圖1中的過程3中創(chuàng)建的數(shù)據(jù)庫表示意圖。具體實(shí)施例方式現(xiàn)結(jié)合附圖和具體實(shí)施方式對本發(fā)明進(jìn)一步說明。第一實(shí)施例參考圖1、圖2和圖3所示,對本發(fā)明的一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,應(yīng)用于GPS管理系統(tǒng),其GPS管理系統(tǒng)包括管理主機(jī)及連接的其他設(shè)備,其管理主機(jī)包括主業(yè)務(wù)數(shù)據(jù)庫TXkrve、車輛狀態(tài)管理的業(yè)務(wù)資源庫、車輛狀態(tài)數(shù)據(jù)庫和MYSQL數(shù)據(jù)庫存儲(chǔ)引擎;其他設(shè)備包括網(wǎng)管服務(wù)器、業(yè)務(wù)服務(wù)器、通信前置機(jī),本GPS管理系統(tǒng)支持?jǐn)?shù)據(jù)庫開發(fā)的高級(jí)計(jì)算機(jī)語言MicrosoftVisualC++6.0。本發(fā)明的一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法包括以下過程過程1采用ramdisk5的內(nèi)存硬盤工具,在GPS管理系統(tǒng)中將一特定容量的內(nèi)存虛擬成硬盤,建立一虛擬硬盤R,其創(chuàng)建RamDisk的界面圖如圖2所示;過程2選用MYSQL數(shù)據(jù)庫存儲(chǔ)引擎,修改my.ini的MYSQL配置文件,在MYSQL下增加irm0db_file_per_table=l的設(shè)置,重啟MYSQL服務(wù),以便新創(chuàng)建的表可以獨(dú)享表空間;過程3在MYSQL存儲(chǔ)路徑下創(chuàng)建車輛狀態(tài)數(shù)據(jù)庫Database,所創(chuàng)建的數(shù)據(jù)表如圖3所示,所創(chuàng)建的表包括車輛基本信息、車胎信息、分組信息、最后GPS數(shù)據(jù)、操作員信息,所有創(chuàng)建的數(shù)據(jù)庫表都包括數(shù)據(jù)庫表結(jié)構(gòu)與表數(shù)據(jù),各數(shù)據(jù)庫表的類型均為^noDB;過程4停止MYSQL服務(wù),將已經(jīng)建立好的Database移植到R盤中,并在原MYSQL存儲(chǔ)路徑下創(chuàng)建一個(gè)車輛狀態(tài)數(shù)據(jù)庫Database的符號(hào)連接DataBase,sym,在該DataBase,sym添加新的Database存放路徑即R:\DataBase,保存后重新啟動(dòng)MYSQL服務(wù),此時(shí)車輛狀態(tài)數(shù)據(jù)庫Database已運(yùn)行在內(nèi)存虛擬的硬盤R盤中;過程5在GPS管理系統(tǒng)的主業(yè)務(wù)數(shù)據(jù)庫,創(chuàng)建不同業(yè)務(wù)信息表內(nèi)容的存儲(chǔ)過程,包括500獲取一個(gè)或多個(gè)車輛基本信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的車輛基本信息表內(nèi)容的格式輸出;501獲取所有的分組信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的分組信息表內(nèi)容的格式輸出;502獲取所有的操作員信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的操作員信息表內(nèi)容的格式輸出;503獲取所有的車臺(tái)類型信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的車臺(tái)類型表內(nèi)容的格式輸出;504根據(jù)操作員ID獲取某一的操作員信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的操作員信息表內(nèi)容的格式輸出;505根據(jù)車牌號(hào)獲取某一車輛基本信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的車輛基本信息表內(nèi)容的格式輸出;過程6在車輛狀態(tài)數(shù)據(jù)庫Database中,創(chuàng)建車輛狀態(tài)信息的存儲(chǔ)過程,包括600批量插入多個(gè)車輛信息;601插入或更新某一車輛信息;602刪除某一車輛信息及GPS數(shù)據(jù);603通過車輛ID更新車輛所在的GPRS前置機(jī);604通過車輛ID更新車輛在離線狀態(tài);605通過車輛ID更新車輛的掉線時(shí)間;606查詢某一車的基本信息及默認(rèn)設(shè)備;607通過車牌號(hào)獲取車輛ID;608通過手機(jī)號(hào)獲取車輛ID;609通過車輛ID更新車輛GPS表所有信息;610通過車輛ID獲取車輛GPS表所有信息;611批插入多個(gè)操作員信息一初始化用;612插入或更新某一操作員信息;613刪除某一操作員信息;614通過操作員ID更新是否接受主動(dòng)上報(bào)數(shù)據(jù);615通過操作員ID更新主動(dòng)上報(bào)協(xié)議類型;616通過操作員ID更新操作員是否在線;617批插入多個(gè)分組信息一初始化用;618插入或更新某一分組信息;619刪除某一分組信息;620根據(jù)車輛ID查詢本級(jí)及上級(jí)的操作員信息;621批插入多個(gè)車臺(tái)類型信息一初始化用;622插入或更新某一車臺(tái)類型信息;623刪除某一車臺(tái)類型信息;624查詢某一操作員的信息;625查詢本級(jí)及上級(jí)或本級(jí)及下級(jí)分組,被別的存儲(chǔ)過程調(diào)用,做權(quán)限控制;過程7使用MicrosoftVisualC++6.0語言編譯車輛狀態(tài)管理的業(yè)務(wù)資源庫,提供過程6在車輛狀態(tài)數(shù)據(jù)庫Database中創(chuàng)建的從600到625的存儲(chǔ)過程對應(yīng)的數(shù)據(jù)訪問接Π;過程8:GPS管理系統(tǒng)中的網(wǎng)管服務(wù)器、業(yè)務(wù)服務(wù)器、通信前置機(jī)分別加載過程7中編譯的車輛狀態(tài)管理的業(yè)務(wù)資源庫,根據(jù)不同的業(yè)務(wù)需要調(diào)用不同接口,分別讀取和寫入各自業(yè)務(wù)所需的數(shù)據(jù);過程9創(chuàng)建一個(gè)車輛狀態(tài)數(shù)據(jù)庫守護(hù)服務(wù),當(dāng)GPS管理系統(tǒng)重啟后,重新初始化車輛狀態(tài)數(shù)據(jù)庫Database中業(yè)務(wù)數(shù)據(jù),包括以下步驟步驟900當(dāng)GPS管理系統(tǒng)重啟后,停止MYSQL服務(wù),從MYSQL配置文件中指定的存儲(chǔ)路徑,將車輛狀態(tài)數(shù)據(jù)庫Database文件夾復(fù)制到R盤,再重新啟動(dòng)MYSQL服務(wù);步驟901調(diào)用過程5中在主業(yè)務(wù)數(shù)據(jù)庫中創(chuàng)建的各存儲(chǔ)過程接口,加載各初始化業(yè)務(wù)數(shù)據(jù);步驟902調(diào)用過程6中在車輛狀態(tài)數(shù)據(jù)庫Database創(chuàng)建的存儲(chǔ)過程600批量插入多個(gè)車輛信息,將各初始化業(yè)務(wù)數(shù)據(jù)同步到車輛狀態(tài)數(shù)據(jù)庫Database的相應(yīng)表中;過程10初始化完成后,車輛狀態(tài)數(shù)據(jù)庫Database重新讀取并更新GPS管理系統(tǒng)中車輛上報(bào)數(shù)據(jù)和指令下發(fā)數(shù)據(jù)。第二實(shí)施例本發(fā)明中第二實(shí)施列中,將車輛狀態(tài)數(shù)據(jù)庫Database獨(dú)立部署在一臺(tái)服務(wù)器上,建立內(nèi)存虛擬硬盤R盤,其車輛狀態(tài)數(shù)據(jù)庫BaseData的數(shù)據(jù)庫文件(包括表結(jié)構(gòu)與數(shù)據(jù))放置在虛擬磁盤中,并且將MYSQL存儲(chǔ)引擎也直接安裝到內(nèi)存虛擬磁盤上,其流程為過程1采用ramdisk5的內(nèi)存硬盤工具,在GPS管理系統(tǒng)中將一特定容量的內(nèi)存虛擬成硬盤,建立一虛擬硬盤R,其創(chuàng)建RamDisk的界面圖如圖2所示;過程2選用MYSQL數(shù)據(jù)庫存儲(chǔ)引擎,在該內(nèi)存虛擬硬盤R盤中直接安裝MYSQL數(shù)據(jù)庫存儲(chǔ)引擎,修改my.ini的MYSQL配置文件,在MYSQL下增加innodb_file_per_table=l的設(shè)置,重啟MYSQL服務(wù),以便新創(chuàng)建的表可以獨(dú)享表空間;過程3在MYSQL存儲(chǔ)路徑下創(chuàng)建車輛狀態(tài)數(shù)據(jù)庫Database,所創(chuàng)建的數(shù)據(jù)表如圖3所示,所創(chuàng)建的表包括車輛基本信息、車胎信息、分組信息、最后GPS數(shù)據(jù)、操作員信息,所有創(chuàng)建的數(shù)據(jù)庫表都包括數(shù)據(jù)庫表結(jié)構(gòu)與表數(shù)據(jù),各數(shù)據(jù)庫表的類型均為^noDB;此時(shí)車輛狀態(tài)數(shù)據(jù)庫Database已運(yùn)行在內(nèi)存虛擬的硬盤R盤中;過程4在GPS管理系統(tǒng)的主業(yè)務(wù)數(shù)據(jù)庫,創(chuàng)建不同業(yè)務(wù)信息表內(nèi)容的存儲(chǔ)過程,包括在GPS管理系統(tǒng)的主業(yè)務(wù)數(shù)據(jù)庫,創(chuàng)建不同業(yè)務(wù)信息表內(nèi)容的存儲(chǔ)過程,包括400獲取一個(gè)或多個(gè)車輛基本信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的車輛基本信息表內(nèi)容的格式輸出;401獲取所有的分組信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的分組信息表內(nèi)容的格式輸出;402獲取所有的操作員信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的操作員信息表內(nèi)容的格式輸出;403獲取所有的車臺(tái)類型信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的車臺(tái)類型表內(nèi)容的格式輸出;404根據(jù)操作員ID獲取某一的操作員信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的操作員信息表內(nèi)容的格式輸出;405根據(jù)車牌號(hào)獲取某一車輛基本信息,以車輛狀態(tài)數(shù)據(jù)庫Database中的車輛基本信息表內(nèi)容的格式輸出;過程5在車輛狀態(tài)數(shù)據(jù)庫Database中,創(chuàng)建車輛狀態(tài)信息的存儲(chǔ)過程,包括500批量插入多個(gè)車輛信息;501插入或更新某一車輛信息;502刪除某一車輛信息及GPS數(shù)據(jù);503通過車輛ID更新車輛所在的GPRS前置機(jī);504通過車輛ID更新車輛在離線狀態(tài);505通過車輛ID更新車輛的掉線時(shí)間;506查詢某一車的基本信息及默認(rèn)設(shè)備;507通過車牌號(hào)獲取車輛ID;508通過手機(jī)號(hào)獲取車輛ID;509通過車輛ID更新車輛GPS表所有信息;510通過車輛ID獲取車輛GPS表所有信息;511批插入多個(gè)操作員信息一初始化用;512插入或更新某一操作員信息;513刪除某一操作員信息;514通過操作員ID更新是否接受主動(dòng)上報(bào)數(shù)據(jù);515通過操作員ID更新主動(dòng)上報(bào)協(xié)議類型;516通過操作員ID更新操作員是否在線;517批插入多個(gè)分組信息一初始化用;518插入或更新某一分組信息;519刪除某一分組信息;520根據(jù)車輛ID查詢本級(jí)及上級(jí)的操作員信息;521批插入多個(gè)車臺(tái)類型信息一初始化用;522插入或更新某一車臺(tái)類型信息;523刪除某一車臺(tái)類型信息;524查詢某一操作員的信息;525查詢本級(jí)及上級(jí)或本級(jí)及下級(jí)分組,被別的存儲(chǔ)過程調(diào)用,做權(quán)限控制;過程6使用MicrosoftVisualC++6.0語言編譯車輛狀態(tài)管理的業(yè)務(wù)資源庫,分別提供過程5在車輛狀態(tài)數(shù)據(jù)庫Database中創(chuàng)建的從500到525的存儲(chǔ)過程對應(yīng)的數(shù)據(jù)訪問接口;過程7:GPS管理系統(tǒng)中的網(wǎng)管服務(wù)器、業(yè)務(wù)服務(wù)器、通信前置機(jī)分別加載過程5中編譯的車輛狀態(tài)管理的業(yè)務(wù)資源庫,根據(jù)不同的業(yè)務(wù)需要調(diào)用不同接口,分別讀取和寫入各自業(yè)務(wù)所需的數(shù)據(jù);過程8創(chuàng)建一個(gè)車輛狀態(tài)數(shù)據(jù)庫守護(hù)服務(wù),當(dāng)GPS管理系統(tǒng)重啟后,重新初始化車輛狀態(tài)數(shù)據(jù)庫Database中業(yè)務(wù)數(shù)據(jù),包括以下步驟步驟800當(dāng)GPS管理系統(tǒng)重啟后,停止MYSQL服務(wù),從MYSQL配置文件中指定的存儲(chǔ)路徑,將MYSQL全部文件夾復(fù)制到R盤,再重新啟動(dòng)MYSQL服務(wù);步驟801調(diào)用過程4中在主業(yè)務(wù)數(shù)據(jù)庫中創(chuàng)建的各存儲(chǔ)過程接口,加載各初始化業(yè)務(wù)數(shù)據(jù);步驟802調(diào)用過程5中在車輛狀態(tài)數(shù)據(jù)庫Database創(chuàng)建的存儲(chǔ)過程500批量插入多個(gè)車輛信息,將各初始化業(yè)務(wù)數(shù)據(jù)同步到車輛狀態(tài)數(shù)據(jù)庫Database的相應(yīng)表中;過程9初始化完成后,車輛狀態(tài)數(shù)據(jù)庫Database重新讀取并更新GPS管理系統(tǒng)中車輛上報(bào)數(shù)據(jù)和指令下發(fā)數(shù)據(jù)。盡管結(jié)合優(yōu)選實(shí)施方案具體展示和介紹了本發(fā)明,但所屬領(lǐng)域的技術(shù)人員應(yīng)該明白,在不脫離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍內(nèi),在形式上和細(xì)節(jié)上可以對本發(fā)明做出各種變化,均為本發(fā)明的保護(hù)范圍。權(quán)利要求1.一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,應(yīng)用于GPS管理系統(tǒng),該GPS管理系統(tǒng)包括管理主機(jī)及連接的其他設(shè)備,其特征在于,包括以下過程過程1采用內(nèi)存硬盤工具,在GPS管理系統(tǒng)的中將一特定容量的內(nèi)存虛擬成硬盤,建立一虛擬硬盤R;過程2選用一數(shù)據(jù)庫存儲(chǔ)引擎,將對數(shù)據(jù)庫存儲(chǔ)引擎的存儲(chǔ)路徑映射至虛擬硬盤R中,重啟數(shù)據(jù)庫存儲(chǔ)引擎的服務(wù);過程3在數(shù)據(jù)庫存儲(chǔ)引擎存儲(chǔ)路徑下創(chuàng)建車輛狀態(tài)數(shù)據(jù)庫;過程4停止數(shù)據(jù)庫存儲(chǔ)引擎服務(wù),將已經(jīng)建立好的車輛狀態(tài)數(shù)據(jù)庫移植到虛擬硬盤R中,并在原數(shù)據(jù)庫存儲(chǔ)引擎的存儲(chǔ)路徑下創(chuàng)建一個(gè)車輛狀態(tài)數(shù)據(jù)庫的符號(hào)連接,編輯該符號(hào)連接添加虛擬硬盤R的盤符標(biāo)志R:\,將對車輛狀態(tài)數(shù)據(jù)庫的操作映射至虛擬硬盤R中,保存后重新啟動(dòng)數(shù)據(jù)庫存儲(chǔ)引擎服務(wù);過程5在GPS管理系統(tǒng)的主業(yè)務(wù)數(shù)據(jù)庫中,創(chuàng)建不同業(yè)務(wù)信息表內(nèi)容的存儲(chǔ)過程過程6在車輛狀態(tài)數(shù)據(jù)庫中,創(chuàng)建車輛狀態(tài)信息的存儲(chǔ)過程,包括過程7使用編程語言編譯車輛狀態(tài)管理的業(yè)務(wù)資源庫,分別提供過程6在車輛狀態(tài)數(shù)據(jù)庫中創(chuàng)建的存儲(chǔ)過程對應(yīng)的數(shù)據(jù)訪問接口;過程8:GPS管理系統(tǒng)中的其他部分設(shè)備分別加載過程7中編譯的車輛狀態(tài)管理的業(yè)務(wù)資源庫,根據(jù)不同的業(yè)務(wù)需要調(diào)用不同接口,分別讀取和寫入各自業(yè)務(wù)所需的數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,其特征在于,所述的內(nèi)存硬盤工具為Ramdisk5。3.根據(jù)權(quán)利要求1所述的一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,其特征在于,所述的數(shù)據(jù)庫存儲(chǔ)引擎為MYSQL。4.根據(jù)權(quán)利要求1所述的一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,其特征在于,所述的過程3中創(chuàng)建的車輛狀態(tài)數(shù)據(jù)庫Database,包括數(shù)據(jù)庫表結(jié)構(gòu)與表數(shù)據(jù),各數(shù)據(jù)庫表的類型均為hnoDB。5.根據(jù)權(quán)利要求1所述的一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,其特征在于,所述的過程5的存儲(chǔ)過程具體包括500獲取一個(gè)或多個(gè)車輛基本信息,以車輛狀態(tài)數(shù)據(jù)庫中的車輛基本信息表內(nèi)容的格式輸出;501獲取所有的分組信息,以車輛狀態(tài)數(shù)據(jù)庫中的分組信息表內(nèi)容的格式輸出;502獲取所有的操作員信息,以車輛狀態(tài)數(shù)據(jù)庫中的操作員信息表內(nèi)容的格式輸出;503獲取所有的車臺(tái)類型信息,以車輛狀態(tài)數(shù)據(jù)庫中的車臺(tái)類型表內(nèi)容的格式輸出;504根據(jù)操作員ID獲取某一的操作員信息,以車輛狀態(tài)數(shù)據(jù)庫中的操作員信息表內(nèi)容的格式輸出;505根據(jù)車牌號(hào)獲取某一車輛基本信息,以車輛狀態(tài)數(shù)據(jù)庫中的車輛基本信息表內(nèi)容的格式輸出。6.根據(jù)權(quán)利要求1所述的一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,其特征在于,所述的過程6的存儲(chǔ)過程具體包括600批量插入多個(gè)車輛信息;601插入或更新某一車輛信息;602刪除某一車輛信息及GPS數(shù)據(jù);603通過車輛ID更新車輛所在的GPRS前置機(jī);604通過車輛ID更新車輛在離線狀態(tài);605通過車輛ID更新車輛的掉線時(shí)間;606查詢某一車的基本信息及默認(rèn)設(shè)備;607通過車牌號(hào)獲取車輛ID;608通過手機(jī)號(hào)獲取車輛ID;609通過車輛ID更新車輛GPS表所有信息;610通過車輛ID獲取車輛GPS表所有信息;611批插入多個(gè)操作員信息一初始化用;612插入或更新某一操作員信息;613刪除某一操作員信息;614通過操作員ID更新是否接受主動(dòng)上報(bào)數(shù)據(jù);615通過操作員ID更新主動(dòng)上報(bào)協(xié)議類型;616通過操作員ID更新操作員是否在線;617批插入多個(gè)分組信息一初始化用;618插入或更新某一分組信息;619刪除某一分組信息;620根據(jù)車輛ID查詢本級(jí)及上級(jí)的操作員信息;621批插入多個(gè)車臺(tái)類型信息一初始化用;622插入或更新某一車臺(tái)類型信息;623刪除某一車臺(tái)類型信息;624查詢某一操作員的信息;625查詢本級(jí)及上級(jí)或本級(jí)及下級(jí)分組。7.根據(jù)權(quán)利要求1所述的一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,其特征在于,還包括過程9創(chuàng)建一個(gè)車輛狀態(tài)數(shù)據(jù)庫守護(hù)服務(wù),當(dāng)GPS管理系統(tǒng)重啟后,重新初始化車輛狀態(tài)數(shù)據(jù)庫中業(yè)務(wù)數(shù)據(jù)。8.根據(jù)權(quán)利要求7所述的一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,其特征在于,還包括過程10初始化完成后,車輛狀態(tài)數(shù)據(jù)庫重新讀取并更新GPS管理系統(tǒng)中車輛上報(bào)數(shù)據(jù)和指令下發(fā)數(shù)據(jù)。9.根據(jù)權(quán)利要求7或8任一所述的一種基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,其特征在于,所述的過程9,包括以下步驟步驟900當(dāng)GPS管理系統(tǒng)重啟后,停止數(shù)據(jù)庫存儲(chǔ)引擎服務(wù),從數(shù)據(jù)庫存儲(chǔ)引擎配置文件中指定的存儲(chǔ)路徑下,將車輛狀態(tài)數(shù)據(jù)庫文件夾復(fù)制到虛擬硬盤R,再重新啟動(dòng)數(shù)據(jù)庫存儲(chǔ)引擎服務(wù);步驟901調(diào)用過程5中在主業(yè)務(wù)數(shù)據(jù)庫中創(chuàng)建的各存儲(chǔ)過程接口,加載各初始化業(yè)務(wù)數(shù)據(jù);步驟902調(diào)用過程6中在車輛狀態(tài)數(shù)據(jù)庫創(chuàng)建的存儲(chǔ)過程600批量插入多個(gè)車輛信息,將各初始化業(yè)務(wù)數(shù)據(jù)同步到車輛狀態(tài)數(shù)據(jù)庫的相應(yīng)表中。全文摘要本發(fā)明提供一種新型的基于內(nèi)存數(shù)據(jù)庫的車輛狀態(tài)管理方法,通過虛擬內(nèi)存硬盤技術(shù),將系統(tǒng)內(nèi)存映射為系統(tǒng)內(nèi)的虛擬硬盤,在數(shù)據(jù)庫存儲(chǔ)路徑下創(chuàng)建車輛狀態(tài)數(shù)據(jù)庫,并將該車輛狀態(tài)數(shù)據(jù)庫移植到內(nèi)存虛擬硬盤上,根據(jù)GPS管理系統(tǒng)內(nèi)實(shí)際的業(yè)務(wù)需求創(chuàng)建車輛狀態(tài)數(shù)據(jù)表和創(chuàng)建存儲(chǔ)過程,用于維護(hù)GPS管理系統(tǒng)中的車輛狀態(tài)數(shù)據(jù),復(fù)雜的邏輯關(guān)系可以通過存儲(chǔ)過程算法實(shí)現(xiàn),而不用將復(fù)雜的邏輯關(guān)系轉(zhuǎn)化成一一對應(yīng)的key與value的關(guān)系。使用本發(fā)明的方法可以滿足百萬數(shù)量級(jí)的GPS管理系統(tǒng)中的車輛狀態(tài)管理需求。文檔編號(hào)G06F17/30GK102201013SQ20111017303公開日2011年9月28日申請日期2011年6月24日優(yōu)先權(quán)日2011年6月24日發(fā)明者余建成,傅建記,黃奇峰申請人:廈門雅迅網(wǎng)絡(luò)股份有限公司