本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種在安卓系統(tǒng)下保存系統(tǒng)唯一標(biāo)識及硬件id的設(shè)備。
背景技術(shù):
在采用android(安卓)作為操作系統(tǒng)的手機(jī)和智能數(shù)據(jù)采集器等各種設(shè)備,無論是硬件的生產(chǎn)商、銷售商還是應(yīng)用程序的開發(fā)者,都非常期待有一種辦法能唯一標(biāo)識具體某臺android設(shè)備,也就是每一臺android設(shè)備都有一個全球唯一的id(英文為:identity,中文簡稱:身份標(biāo)識號碼)。對于企業(yè)應(yīng)用管理,譬如mdm(英文為:mobiledevicemanagement,中文簡稱:移動設(shè)備管理)、byod(英文為:bringyourowndevice,中文簡稱:辦公場所)等管理系統(tǒng),更是除了需要一臺android設(shè)備對應(yīng)一個唯一標(biāo)識,還需要包括產(chǎn)品序列號s/n(英文為:serialnumber,中文簡稱:產(chǎn)品序列號)、藍(lán)牙m(xù)ac(英文為:mediaaccesscontrol)地址、wifi(英文為:wireless-fidelity,中文簡稱:無線保真)網(wǎng)卡mac地址等等硬件id永久保存。
目前,android系統(tǒng)在首次運(yùn)行時會自動生成一個64位的android_id作為唯一標(biāo)識,但每次恢復(fù)出廠設(shè)置會重新生成該唯一標(biāo)識。而其他類似imei(英文為:internationalmobileequipmentidentity,中文簡稱:移動設(shè)備國際身份碼)、meid(英文為:mobileequipmentidentifier,中文簡稱:移動設(shè)備識別碼)、產(chǎn)品序列號s/n、藍(lán)牙m(xù)ac地址、wifi網(wǎng)卡mac地址等等硬件id,目前市場占有率比較大的mtk和高通方案,都是直接在內(nèi)部存儲nandflash芯片進(jìn)行分區(qū),針對硬件id分一個獨(dú)立的隱藏分區(qū),限制普通應(yīng)用對該分區(qū)的讀寫進(jìn)行保護(hù)。但這種方案存在不足之處:第一,二次定制開發(fā)時可能會對分區(qū)進(jìn)行調(diào)整,導(dǎo)致原來存儲信息丟失;第二,同品牌的刷機(jī)工具基本上通用,刷機(jī)工具和產(chǎn)線刷號生產(chǎn)工具的泛濫,造成終端用戶可以很隨便進(jìn)行刷機(jī),存儲上述各個硬件id的分區(qū)會被格式化或者隨意修改。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種在android(安卓)系統(tǒng)下保存系統(tǒng)唯一標(biāo)識及硬件id的裝置,可以有效解決背景技術(shù)中存在的問題。
本發(fā)明實(shí)施例提供了一種在android系統(tǒng)下保存系統(tǒng)唯一標(biāo)識及硬件id的設(shè)備,包括:
數(shù)據(jù)編碼模塊,結(jié)構(gòu)化分區(qū)存儲模塊和電路模塊;
所述結(jié)構(gòu)化分區(qū)存儲模塊通過所述電路模塊與所述數(shù)據(jù)編碼模塊電聯(lián)接;
所述電路模塊包括eeprom芯片。
優(yōu)選地,所述數(shù)據(jù)編碼模塊包括二次開發(fā)庫、aes128-cbc加解密模塊和bcd數(shù)據(jù)編碼模塊。
優(yōu)選地,所述結(jié)構(gòu)化分區(qū)存儲模塊,包括分區(qū)格式標(biāo)識、存儲節(jié)點(diǎn)控制信息、系統(tǒng)信息存儲區(qū)和用戶數(shù)據(jù)存儲區(qū)。
優(yōu)選地,其特征在于,所述eeprom芯片采用atmel公司出品的具有8kbit存儲空間和寫保護(hù)控制pin的at24c08系列芯片。
優(yōu)選地,所述eeprom芯片的供電電路采用gpio控制ldo模塊進(jìn)行供電控制。
優(yōu)選地,所述eeprom芯片與android系統(tǒng)主板采用i2c通信電路進(jìn)行數(shù)據(jù)通信。
與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例具有以下有益效果:
(1)數(shù)據(jù)永久保存:
本發(fā)明實(shí)施例中,電路模塊包括的eeprom芯片,具備可反復(fù)擦寫和永久保存數(shù)據(jù)的能力,通過上述設(shè)計(jì),可以確定能夠?qū)π薷臄?shù)據(jù)的寫入操作進(jìn)行權(quán)限控制,可保證寫入的數(shù)據(jù)永久保存;
(2)抗干擾能力:
本發(fā)明實(shí)施例中,使用的存儲芯片與android系統(tǒng)相對獨(dú)立,不受android系統(tǒng)恢復(fù)出廠設(shè)置影響,也不受mtk、高通等方案的刷機(jī)工具影響,數(shù)據(jù)存儲在eeprom芯片也同時進(jìn)行了crc校驗(yàn),確保數(shù)據(jù)的準(zhǔn)確性;
(3)提升二次開發(fā)的應(yīng)用程序運(yùn)行效率:
在mtk、高通默認(rèn)方案的android設(shè)備下開發(fā)應(yīng)用程序,以獲取藍(lán)牙m(xù)ac地址為例,當(dāng)開機(jī)后沒有啟用過藍(lán)牙設(shè)備的話,二次開發(fā)的應(yīng)用程序是無法獲取藍(lán)牙m(xù)ac地址的,必須經(jīng)過先申請權(quán)限,然后啟用藍(lán)牙設(shè)備,等待藍(lán)牙設(shè)備完成初始化,調(diào)用系統(tǒng)服務(wù)才能獲得藍(lán)牙m(xù)ac地址,耗時基本上需要等待2、3秒;而本發(fā)明實(shí)施例中,用于信息存儲在獨(dú)立的eeprom芯片,獲取包括藍(lán)牙m(xù)ac地址在內(nèi)的各個硬件id,只需要在100ms以內(nèi)。
附圖說明
圖1為本發(fā)明實(shí)施例提供的一種在android系統(tǒng)下保存系統(tǒng)唯一標(biāo)識及硬件id的系統(tǒng)結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的結(jié)構(gòu)化分區(qū)存儲示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例:
圖1為本發(fā)明實(shí)施例提供的一種在android系統(tǒng)下保存系統(tǒng)唯一標(biāo)識及硬件id的系統(tǒng)結(jié)構(gòu)示意圖,如圖1所示,本發(fā)明實(shí)施例提供的系統(tǒng)包括:
數(shù)據(jù)編碼模塊,結(jié)構(gòu)化分區(qū)存儲模塊和電路模塊。其中,結(jié)構(gòu)化分區(qū)存儲模塊通過電路模塊與數(shù)據(jù)編碼模塊電聯(lián)接。
在本發(fā)明實(shí)施例中,電路模塊包括eeprom芯片,通信電路和供電電路。其中,通信電路采用i2c通信電路進(jìn)行數(shù)據(jù)通信,供電電路采用gpio控制ldo模塊進(jìn)行供電控制gpio控制ldo模塊進(jìn)行供電控制。在實(shí)際應(yīng)用中,eeprom芯片用于永久保存數(shù)據(jù),i2c通信電路用于eeprom芯片和android系統(tǒng)主板進(jìn)行數(shù)據(jù)通信。
需要說明的是,在本發(fā)明實(shí)施例中,eeprom芯片采用atmel公司的at24c08系列芯片,提供8kbit存儲空間,具備寫保護(hù)控制功能。
在本發(fā)明實(shí)施例中,數(shù)據(jù)編碼模塊包括編碼系統(tǒng)、aes128-cbc加解密模塊和bcd數(shù)據(jù)編碼模塊。其中,編碼系統(tǒng)包括底層驅(qū)動和二次開發(fā)庫,底層驅(qū)動層負(fù)責(zé)二次開發(fā)庫與底層存儲芯片的通信和控制,二次開發(fā)庫為上層應(yīng)用程序開發(fā)提供api接口,封裝了供電控制和讀寫數(shù)據(jù)等i/o操作。
在本發(fā)明實(shí)施例中,結(jié)構(gòu)化分區(qū)存儲模塊包括分區(qū)格式標(biāo)識、存儲節(jié)點(diǎn)控制信息、系統(tǒng)信息存儲區(qū)、和用戶數(shù)據(jù)存儲區(qū)。存儲數(shù)據(jù)采用結(jié)構(gòu)體,由于結(jié)構(gòu)化有利于采用絕對地址進(jìn)行檢索,讀寫操作的存儲地址檢索速度最優(yōu)化。
圖2為本發(fā)明實(shí)施例提供的結(jié)構(gòu)化分區(qū)存儲示意圖,該結(jié)構(gòu)化分區(qū)存儲,是指對eeprom芯片的存儲進(jìn)行分區(qū)劃分,其中,eeprom芯片分區(qū)劃分后,包括分區(qū)格式標(biāo)識、存儲節(jié)點(diǎn)信息表、系統(tǒng)信息存儲區(qū)、用戶數(shù)據(jù)存儲區(qū)。
如圖2所示:分區(qū)格式標(biāo)識主要包括格式簽名標(biāo)識、分區(qū)版本號、存儲節(jié)點(diǎn)信息表偏移地址、存儲節(jié)點(diǎn)信息表總空間大小、系統(tǒng)信息存儲區(qū)偏移地址、系統(tǒng)信息存儲區(qū)總空間大小、用戶數(shù)據(jù)存儲區(qū)偏移地址、用戶數(shù)據(jù)存儲區(qū)總空間大小、crc16校驗(yàn)值;
如圖2所示:存儲節(jié)點(diǎn)信息表包括40個存儲節(jié)點(diǎn)索引信息,每個存儲節(jié)點(diǎn)信息包括屬性位標(biāo)識、有效數(shù)據(jù)長度、原數(shù)據(jù)crc校驗(yàn)值、加密后數(shù)據(jù)校驗(yàn)值。
如圖2所示:系統(tǒng)信息存儲區(qū)根據(jù)寫入的數(shù)據(jù)的實(shí)際代表意義,分別提供8或者16字節(jié)的存儲空間;eeprom進(jìn)行初始化時便自動生成一個128位的guid作為設(shè)備唯一標(biāo)識,并禁止后續(xù)改寫該項(xiàng)數(shù)據(jù)的操作,從而保證設(shè)備唯一標(biāo)識終身不變。
如圖2所示:用戶數(shù)據(jù)存儲區(qū)固定以16個字節(jié)為一個存儲邏輯單元,共提供20個存儲邏輯單元,寫入的數(shù)據(jù)采用aes128-cbc加密。
綜上所述,本發(fā)明實(shí)施例提供的一種在android系統(tǒng)下保存系統(tǒng)唯一標(biāo)識及硬件id的系統(tǒng),電路模塊包括的eeprom芯片,具備可反復(fù)擦寫和永久保存數(shù)據(jù)的能力,通過上述設(shè)計(jì),可以確定能夠?qū)π薷臄?shù)據(jù)的寫入操作進(jìn)行權(quán)限控制,可保證寫入的數(shù)據(jù)永久保存;使用的存儲芯片與android系統(tǒng)相對獨(dú)立,不受android系統(tǒng)恢復(fù)出廠設(shè)置影響,也不受mtk、高通等方案的刷機(jī)工具影響,數(shù)據(jù)存儲在eeprom芯片也同時進(jìn)行了crc校驗(yàn),確保數(shù)據(jù)的準(zhǔn)確性;在mtk、高通默認(rèn)方案的android設(shè)備下開發(fā)應(yīng)用程序,以獲取藍(lán)牙m(xù)ac地址為例,當(dāng)開機(jī)后沒有啟用過藍(lán)牙設(shè)備的話,二次開發(fā)的應(yīng)用程序是無法獲取藍(lán)牙m(xù)ac地址的,必須經(jīng)過先申請權(quán)限,然后啟用藍(lán)牙設(shè)備,等待藍(lán)牙設(shè)備完成初始化,調(diào)用系統(tǒng)服務(wù)才能獲得藍(lán)牙m(xù)ac地址,耗時基本上需要等待2、3秒;而本發(fā)明實(shí)施例中,用于信息存儲在獨(dú)立的eeprom芯片,獲取包括藍(lán)牙m(xù)ac地址在內(nèi)的各個硬件id,只需要在100ms以內(nèi)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的系統(tǒng)。
這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令系統(tǒng)的制造品,該指令系統(tǒng)實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。