一种在安卓系统下保存系统唯一标识及硬件ID的设备的制作方法

文档序号:12829843阅读:2436来源:国知局
一种在安卓系统下保存系统唯一标识及硬件ID的设备的制作方法与工艺

本发明涉及通信技术领域,具体涉及一种在安卓系统下保存系统唯一标识及硬件id的设备。



背景技术:

在采用android(安卓)作为操作系统的手机和智能数据采集器等各种设备,无论是硬件的生产商、销售商还是应用程序的开发者,都非常期待有一种办法能唯一标识具体某台android设备,也就是每一台android设备都有一个全球唯一的id(英文为:identity,中文简称:身份标识号码)。对于企业应用管理,譬如mdm(英文为:mobiledevicemanagement,中文简称:移动设备管理)、byod(英文为:bringyourowndevice,中文简称:办公场所)等管理系统,更是除了需要一台android设备对应一个唯一标识,还需要包括产品序列号s/n(英文为:serialnumber,中文简称:产品序列号)、蓝牙mac(英文为:mediaaccesscontrol)地址、wifi(英文为:wireless-fidelity,中文简称:无线保真)网卡mac地址等等硬件id永久保存。

目前,android系统在首次运行时会自动生成一个64位的android_id作为唯一标识,但每次恢复出厂设置会重新生成该唯一标识。而其他类似imei(英文为:internationalmobileequipmentidentity,中文简称:移动设备国际身份码)、meid(英文为:mobileequipmentidentifier,中文简称:移动设备识别码)、产品序列号s/n、蓝牙mac地址、wifi网卡mac地址等等硬件id,目前市场占有率比较大的mtk和高通方案,都是直接在内部存储nandflash芯片进行分区,针对硬件id分一个独立的隐藏分区,限制普通应用对该分区的读写进行保护。但这种方案存在不足之处:第一,二次定制开发时可能会对分区进行调整,导致原来存储信息丢失;第二,同品牌的刷机工具基本上通用,刷机工具和产线刷号生产工具的泛滥,造成终端用户可以很随便进行刷机,存储上述各个硬件id的分区会被格式化或者随意修改。



技术实现要素:

本发明提供了一种在android(安卓)系统下保存系统唯一标识及硬件id的装置,可以有效解决背景技术中存在的问题。

本发明实施例提供了一种在android系统下保存系统唯一标识及硬件id的设备,包括:

数据编码模块,结构化分区存储模块和电路模块;

所述结构化分区存储模块通过所述电路模块与所述数据编码模块电联接;

所述电路模块包括eeprom芯片。

优选地,所述数据编码模块包括二次开发库、aes128-cbc加解密模块和bcd数据编码模块。

优选地,所述结构化分区存储模块,包括分区格式标识、存储节点控制信息、系统信息存储区和用户数据存储区。

优选地,其特征在于,所述eeprom芯片采用atmel公司出品的具有8kbit存储空间和写保护控制pin的at24c08系列芯片。

优选地,所述eeprom芯片的供电电路采用gpio控制ldo模块进行供电控制。

优选地,所述eeprom芯片与android系统主板采用i2c通信电路进行数据通信。

与现有技术相比,本发明实施例具有以下有益效果:

(1)数据永久保存:

本发明实施例中,电路模块包括的eeprom芯片,具备可反复擦写和永久保存数据的能力,通过上述设计,可以确定能够对修改数据的写入操作进行权限控制,可保证写入的数据永久保存;

(2)抗干扰能力:

本发明实施例中,使用的存储芯片与android系统相对独立,不受android系统恢复出厂设置影响,也不受mtk、高通等方案的刷机工具影响,数据存储在eeprom芯片也同时进行了crc校验,确保数据的准确性;

(3)提升二次开发的应用程序运行效率:

在mtk、高通默认方案的android设备下开发应用程序,以获取蓝牙mac地址为例,当开机后没有启用过蓝牙设备的话,二次开发的应用程序是无法获取蓝牙mac地址的,必须经过先申请权限,然后启用蓝牙设备,等待蓝牙设备完成初始化,调用系统服务才能获得蓝牙mac地址,耗时基本上需要等待2、3秒;而本发明实施例中,用于信息存储在独立的eeprom芯片,获取包括蓝牙mac地址在内的各个硬件id,只需要在100ms以内。

附图说明

图1为本发明实施例提供的一种在android系统下保存系统唯一标识及硬件id的系统结构示意图;

图2为本发明实施例提供的结构化分区存储示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例:

图1为本发明实施例提供的一种在android系统下保存系统唯一标识及硬件id的系统结构示意图,如图1所示,本发明实施例提供的系统包括:

数据编码模块,结构化分区存储模块和电路模块。其中,结构化分区存储模块通过电路模块与数据编码模块电联接。

在本发明实施例中,电路模块包括eeprom芯片,通信电路和供电电路。其中,通信电路采用i2c通信电路进行数据通信,供电电路采用gpio控制ldo模块进行供电控制gpio控制ldo模块进行供电控制。在实际应用中,eeprom芯片用于永久保存数据,i2c通信电路用于eeprom芯片和android系统主板进行数据通信。

需要说明的是,在本发明实施例中,eeprom芯片采用atmel公司的at24c08系列芯片,提供8kbit存储空间,具备写保护控制功能。

在本发明实施例中,数据编码模块包括编码系统、aes128-cbc加解密模块和bcd数据编码模块。其中,编码系统包括底层驱动和二次开发库,底层驱动层负责二次开发库与底层存储芯片的通信和控制,二次开发库为上层应用程序开发提供api接口,封装了供电控制和读写数据等i/o操作。

在本发明实施例中,结构化分区存储模块包括分区格式标识、存储节点控制信息、系统信息存储区、和用户数据存储区。存储数据采用结构体,由于结构化有利于采用绝对地址进行检索,读写操作的存储地址检索速度最优化。

图2为本发明实施例提供的结构化分区存储示意图,该结构化分区存储,是指对eeprom芯片的存储进行分区划分,其中,eeprom芯片分区划分后,包括分区格式标识、存储节点信息表、系统信息存储区、用户数据存储区。

如图2所示:分区格式标识主要包括格式签名标识、分区版本号、存储节点信息表偏移地址、存储节点信息表总空间大小、系统信息存储区偏移地址、系统信息存储区总空间大小、用户数据存储区偏移地址、用户数据存储区总空间大小、crc16校验值;

如图2所示:存储节点信息表包括40个存储节点索引信息,每个存储节点信息包括属性位标识、有效数据长度、原数据crc校验值、加密后数据校验值。

如图2所示:系统信息存储区根据写入的数据的实际代表意义,分别提供8或者16字节的存储空间;eeprom进行初始化时便自动生成一个128位的guid作为设备唯一标识,并禁止后续改写该项数据的操作,从而保证设备唯一标识终身不变。

如图2所示:用户数据存储区固定以16个字节为一个存储逻辑单元,共提供20个存储逻辑单元,写入的数据采用aes128-cbc加密。

综上所述,本发明实施例提供的一种在android系统下保存系统唯一标识及硬件id的系统,电路模块包括的eeprom芯片,具备可反复擦写和永久保存数据的能力,通过上述设计,可以确定能够对修改数据的写入操作进行权限控制,可保证写入的数据永久保存;使用的存储芯片与android系统相对独立,不受android系统恢复出厂设置影响,也不受mtk、高通等方案的刷机工具影响,数据存储在eeprom芯片也同时进行了crc校验,确保数据的准确性;在mtk、高通默认方案的android设备下开发应用程序,以获取蓝牙mac地址为例,当开机后没有启用过蓝牙设备的话,二次开发的应用程序是无法获取蓝牙mac地址的,必须经过先申请权限,然后启用蓝牙设备,等待蓝牙设备完成初始化,调用系统服务才能获得蓝牙mac地址,耗时基本上需要等待2、3秒;而本发明实施例中,用于信息存储在独立的eeprom芯片,获取包括蓝牙mac地址在内的各个硬件id,只需要在100ms以内。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1