CN101582089A - 一种嵌入式设备的文件管理方法及系统 - Google Patents
一种嵌入式设备的文件管理方法及系统 Download PDFInfo
- Publication number
- CN101582089A CN101582089A CNA2009101572134A CN200910157213A CN101582089A CN 101582089 A CN101582089 A CN 101582089A CN A2009101572134 A CNA2009101572134 A CN A2009101572134A CN 200910157213 A CN200910157213 A CN 200910157213A CN 101582089 A CN101582089 A CN 101582089A
- Authority
- CN
- China
- Prior art keywords
- board information
- single board
- page
- veneer
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种嵌入式设备的文件管理方法及系统,所述嵌入式设备用于监控通信系统中的通信单板,初始化嵌入式设备的存储单元的所有存储空间,在文件指针区域中建立哈希表,对通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定上述单板信息的首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中。利用页面分配表区域记录存储了单板信息、升级软件和默认驱动程序的页面的状态。根据单板信息的大小在单板信息存储区域中分配其所需的页面个数,通过链表结构将存储单板信息的页面在逻辑上形成一个连续的数据存储区域。本发明能够解决存储空间利用率不足的问题,提高文件访问速度和工作效率。
Description
技术领域
本发明涉及嵌入式设备的文件管理,具体涉及一种通信设备中单板的文件管理方法及系统。
背景技术
在移动通信领域,一套完整的通信系统通常是由很多单板组成的多处理器分布式系统。每个单板分别运行着各自的操作系统,安装了特定的软件程序,执行特定的工作。单板的软件和配置文件都存储在存储单元上。电可擦除只读存储器EEPROM(Electrically ErasableProgrammable Read Only Memory)和闪存存储器FLASH(FLASH memory)是常用的非易失性存储器,在通信产品中通常用来存储处理器所运行的软件程序和数据配置文件。
在对可插拔的单板进行设备监控时,利用一种嵌入式设备存储每个单板的运行状态、配置信息和告警信息。嵌入式设备的存储器件为EEPROM/FLASH,为了方便的存取数据,需要采用文件系统,而常用的嵌入式文件系统(例如JFFS/JFFS2)比较负载,不适于在单板上使用。随着通信系统的功能日益强大,在单板上运行的软件程序的大小也在逐渐变大,但是,单板的存储空间及其有限,且价格昂贵,EEPROM和FLASH还不能满足软件程序对存储空间的要求。因此,如何有效的管理文件是嵌入式设备的研究重点。
嵌入式设备系统负责监控单板的运行状态,通常按照单板的槽位将存储单元平均分配给所有单板。但是单板的信息大小通常是不相同的,导致有的单板所对应的存储空间还有剩余,而有的有的单板所对应的存储空间不足。那么将会造成大量的宝贵EEPROM/FLASH间没有得到合理利用,而且平均分配以后,有可能会导致某些单板的信息无法全部保存到EEPROM/FLASH中。当通信系统中的单板需要升级驱动程序/更新配置文件时,往往会导致单板需要重新启动从而运行新的驱动程序/配置文件,这样操作系统的内核才能认识到新的驱动程序/配置文件的存在。这样导致单板无法对数据请求进行实时响应,影响通信系统的性能。
发明内容
本发明的目的在于提供一种嵌入式设备的文件管理方法,该方法能够解决存储空间利用率不足的问题,提高文件访问速度和工作效率。
一种嵌入式设备的文件管理方法,所述嵌入式设备用于监控通信系统中的通信单板,其特征在于,包括:
A1、上电检测时擦除嵌入式设备存储单元的所有存储空间;
A2、将存储单元划分为3个区域:文件指针区域、页面分配表区域和单板信息存储区域;
A3、在文件指针区域中建立哈希表,对通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定通信单板的单板信息的首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中;
A4、利用页面分配表区域记录嵌入式设备存储单元的页面状态;
A5、根据单板信息的大小在单板信息存储区域中分配单板信息所需的页面,通过链表结构将存储单板信息的页面在逻辑上形成一个连续的数据存储区域;在单板信息第1页的头部都定义了一个固定的存储模板,方便查询该通信单板的基本信息,所述存储模板的格式为:位置、单板类型、软件版本、单板状态、数据完整性标记、保留字段和单板信息;在单板信息最后1页的末尾具有:数据区结束符、空闲字段和页面地址指针为0的结尾指针。
A6、利用单板信息存储区域存储单板信息、升级软件和默认驱动程序。
进一步,在文件指针区域还存储嵌入式设备的信息,包括:硬件类型和操作系统版本。
进一步,当某一插槽位置新插入了通信单板时进行如下操作:
B1、对新插入通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定单板信息首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中,将单板信息的首地址作为通信单板防问存储单元的文件指针;
B2、在单板信息第1页的头部写入模板信息,根据模板信息确定所述单板信息所占用的空间,根据所占用的空间计算上述单板信息所需要的页面个数,在页面分配表区域里查找没有使用的页面,建立链表结构,在每一页面的最后一个字节写入下一页面的地址;
B3、对单板信息所占用的空间进行初始化;
B4、把单板信息写入到存储单元的页面中,保证单板信息掉电不丢失。
进一步,如果单板被拔出,但是所述单板的插槽位置没有插入其它的单板,那么只是把该插槽位置的单板状态更改为单板不在位置,不重新初始化该单板的信息,这样确保所述单板再次插入相同的插槽位置时,之前的单板信息不丢失。
进一步,如果单板被拔出,并重新插入了其它的单板,那么将被拔出单板的单板信息所占用的存储空间进行初始化,同时把页面分配表区域中相应页面的使用标记全部设置为“未被使用”,然后再根据这个新插入单板的单板信息,重新分配页地址和页空间。
进一步,当通信单板需要升级第一驱动程序时,嵌入式设备将默认驱动程序发送给所述通信单板,通信单板停止当前正在运行的第一驱动程序,并运行默认驱动程序,当通信单板从其上运行的应用程序接收到执行与第一驱动程序相关联的调用时,通知所述应用程序切换到默认驱动程序;将第一驱动程度升级为第二驱动程序,通信单板停止默认驱动程序,并运行第二驱动程序,当通信单板从其上运行的应用程序接收到执行与默认驱动程序相关联的调用时,通知所述应用程序切换到第二驱动程序。
进一步,当通信单板需要升级软件但单板存储空间不足时,通过在嵌入式设备存储单元的单板信息存储区域中执行新的软件部分来替换执行旧的软件部分,在单板信息存储区域中存储新的软件部分,并通过单板存储空间的第一指针替换在单板存储空间中的旧的软件部分来执行在单板信息存储区域中的新的软件部分,其中通过单板信息存储区域的第二指针在执行所述新的软件部分后,重新返回单板存储空间中,并继续执行在单板存储空间中的其它与旧的软件部分不同的软件部分。
其中,所述旧的软件部分仍然保存在单板存储空间中,将所述单板信息存储区域中新的软件部分的起始地址用作第一指针,根据起始地址部分的修改旧的软件部分,将单板存储空间中与旧的软件部分不同的软件的起始地址作为第二指针。
进一步,当通信单板需要更新数据时,将当前更新操作所对应更新块中的所有数据备份至嵌入式设备的单板信息存储区域中,设置备份标记为有效,不允许更改备份的数据,擦除当前更新操作所对应的更新块,用新数据更新单板信息存储区域中的备份数据,并将更新后的备份数据写回当前更新块,并设置备份标记为无效,允许更改备份的数据。
本发明的目的在于提供一种嵌入式设备的文件管理系统,该方法能够解决存储空间利用率不足的问题,提高文件访问速度和工作效率。
一种嵌入式设备的文件管理系统,所述嵌入式设备用于监控通信系统中的通信单板,所述系统包括存储单元和控制单元,控制单元控制存储单元执行读取和写入操作,其特征在于,所述控制单元包括:
初始化装置,上电检测时擦除嵌入式设备存储单元的所有存储空间,将存储单元划分为3个区域:文件指针区域、页面分配表区域和单板信息存储区域,在文件指针区域中建立哈希表,利用哈希表在文件指针区域中存储通信单板的单板信息在存储单元中的首地址;所述页面分配表区域用于记录嵌入式设备存储单元的页面状态;所述单板信息存储区域用于存储单板信息、升级软件和默认驱动程序;
哈希处理装置,对通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定通信单板的单板信息的首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中;
页面控制装置,根据单板信息的大小在单板信息存储区域中分配单板信息所需的页面,通过链表结构将存储单板信息的页面在逻辑上形成一个连续的数据存储区域;在单板信息第1页的头部都定义了一个固定的存储模板,方便查询该通信单板的基本信息,所述存储模板的格式为:位置、单板类型、软件版本、单板状态、数据完整性标记、保留字段和单板信息;在单板信息最后1页的末尾具有:数据区结束符、空闲字段和页面地址指针为0的结尾指针。
进一步,在文件指针区域还存储嵌入式设备的信息,包括:硬件类型和操作系统版本。
进一步,当某一插槽位置新插入了通信单板时进行如下操作:
B1、对新插入通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定单板信息首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中,将单板信息的首地址作为通信单板访问存储单元的文件指针;
B2、在单板信息第1页的头部写入模板信息,根据模板信息确定所述单板信息所占用的空间,根据所占用的空间计算上述单板信息所需要的页面个数,在页面分配表区域里查找没有使用的页面,建立链表结构,在每一页面的最后一个字节写入下一页面的地址;
B3、对单板信息所占用的空间进行初始化;
B4、把单板信息写入到存储单元的页面中,保证单板信息掉电不丢失。
进一步,如果单板被拔出,但是所述单板的插槽位置没有插入其它的单板,那么只是把该插槽位置的单板状态更改为单板不在位置,不重新初始化该单板的信息,这样确保所述单板再次插入相同的插槽位置时,之前的单板信息不丢失。
进一步,如果单板被拔出,并重新插入了其它的单板,那么将被拔出单板的单板信息所占用的存储空间进行初始化,同时把页面分配表区域中相应页面的使用标记全部设置为“未被使用”,然后再根据这个新插入单板的单板信息,重新分配页地址和页空间。
进一步,当通信单板需要升级第一驱动程序时,嵌入式设备将默认驱动程序发送给所述通信单板,通信单板停止当前正在运行的第一驱动程序,并运行默认驱动程序,当通信单板从其上运行的应用程序接收到执行与第一驱动程序相关联的调用时,通知所述应用程序切换到默认驱动程序;将第一驱动程度升级为第二驱动程序,通信单板停止默认驱动程序,并运行第二驱动程序,当通信单板从其上运行的应用程序接收到执行与默认驱动程序相关联的调用时,通知所述应用程序切换到第二驱动程序。
进一步,当通信单板需要升级软件但单板存储空间不足时,通过在嵌入式设备存储单元的单板信息存储区域中执行新的软件部分来替换执行旧的软件部分,在单板信息存储区域中存储新的软件部分,并通过单板存储空间的第一指针替换在单板存储空间中的旧的软件部分来执行在单板信息存储区域中的新的软件部分,其中通过单板信息存储区域的第二指针在执行所述新的软件部分后,重新返回单板存储空间中,并继续执行在单板存储空间中的其它与旧的软件部分不同的软件部分。
其中,所述旧的软件部分仍然保存在单板存储空间中,将所述单板信息存储区域中新的软件部分的起始地址用作第一指针,根据起始地址部分的修改旧的软件部分,将单板存储空间中与旧的软件部分不同的软件的起始地址作为第二指针。
进一步,当通信单板需要更新数据时,将当前更新操作所对应更新块中的所有数据备份至嵌入式设备的单板信息存储区域中,设置备份标记为有效,不允许更改备份的数据,擦除当前更新操作所对应的更新块,用新数据更新单板信息存储区域中的备份数据,并将更新后的备份数据写回当前更新块,并设置备份标记为无效,允许更改备份的数据。
附图说明
图1是本发明嵌入式设备存储单元的存储区域示意图;
图2是本发明嵌入式设备的文件管理方法流程图;
图3是本发明嵌入式设备存储单元的文件指针区域示意图;
图4是本发明嵌入式设备存储单元的页面分配区域示意图;
图5是本发明嵌入式设备存储单元的单板信息存储区域示意图;
图6是本发明利用链表结构存储单板信息的示意图;
图7是本发明执行软件升级时的示意图。
具体实施方式
下面结合具体的实施方式对本发明进行详细说明:
图1是本发明嵌入式设备存储单元的存储区域示意图,本发明将存储单元划分为3个区域:文件指针区域、页面分配表区域和单板信息存储区域。其中,文件指针区域用于存储各单板信息在存储单元中的首地址;页面分配表区域记录存储单元的存储页面使用情况;单板信息存储区域用于存储单板的数据信息,且暂存升级软件和默认驱动程序。
下面以EEPROM为例进行说明,常见的EEPOM芯片如AT28C64B,64K bit(8K×8)并行EEPROM,接口为intel总线方式,write cycle<10ms,可以按页写,每页最多64字节,可以通过软件指令设置写保护。MICROCHIP 25LC640,64K bit(8K×8)串行EEPROM,接口为spi方式,write cycle<5ms,可以按页写,每页最多32字节,可以通过硬件管脚或软件指令写保护。
为了灵活使用EEPROM存储区域,本发明采用了动态分页方式。根据嵌入式设备所监控的单板数量和单板数据信息的大小动态分配文件指针区域、页面分配表区域和单板信息存储区域的大小。一个具体的分配方式可以是,如果存储单元的容量为64K bit(8K×8),且每页32字节,那么8K字节数据区共分为256页,序号为00H~FFH。文件指针区域8页(2K bit),页面分配表区域8页(2Kbit),单板信息存储区域240页(60Kbit)。
文件指针区域、页面分配表区域和单板信息存储区域的大小可以在初始化式进行设定,并不可以修改。另外,文件指针区域、页面分配表区域和单板信息存储区域的大小可以在初始化式设定,在嵌入式设备运行过程中进行动态调整。
文件指针区域利用哈希表存储单板信息在存储单元中的首地址,先对单板的硬件地址进行哈希运算,根据哈希计算获得的散列码确定上述单板信息的首地址在哈希表中的位置。页面分配表区域中记录存储单板数据信息的页面信息和暂存升级软件和默认驱动程序的页面信息。单板信息存储区域用于存储单板的数据信息,且暂存升级软件和默认驱动程序。
嵌入式设备能够在运行的过程中动态调整用于存储升级软件和默认驱动程序的存储单元空间的大小,以满足不同被监控通信单板的需要。
图2是本发明嵌入式设备的文件管理方法流程图,嵌入式设备的文件管理方法,所述嵌入式设备用于监控通信系统中的通信单板,其特征在于,包括:
A1、上电检测时擦除嵌入式设备存储单元的所有存储空间;
A2、将存储单元划分为3个区域:文件指针区域、页面分配表区域和单板信息存储区域;
A3、在文件指针区域中建立哈希表,对通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定通信单板的单板信息的首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中;
A4、利用页面分配表区域记录嵌入式设备存储单元的页面状态;
A5、根据单板信息的大小在单板信息存储区域中分配单板信息所需的页面,通过链表结构将存储单板信息的页面在逻辑上形成一个连续的数据存储区域;在单板信息第1页的头部都定义了一个固定的存储模板,方便查询该通信单板的基本信息,所述存储模板的格式为:位置、单板类型、软件版本、单板状态、数据完整性标记、保留字段和单板信息;在单板信息最后1页的末尾具有:数据区结束符、空闲字段和页面地址指针为0的结尾指针。
A6、利用单板信息存储区域存储单板信息、升级软件和默认驱动程序。
图3足本发明嵌入式设备存储单元的文件指针区域示意图,文件指针区域分为:单板信息首地址和嵌入式设备配置信息。其中,文件指针区域的头部240字节存储单板信息在存储单元中的首地址,每个单板信息的首地址为2个字节,可以存储120个单板信息的首地址。例如,第一个单板信息的首地址为:0020;第11个单板信息的首地址为:0A2D。
文件指针区域的最后16个字节存储嵌入式设备配置信息,其中,第1字节存储嵌入式设备硬件类型,第2字节存储嵌入式设备操作系统版本,第3至16字节为保留字节。
图4是本发明嵌入式设备存储单元的页面分配区域示意图,页面分配区域记录存储单元的页面使用情况,状态类型包括:“0”表示该页未被使用;“1”表示该页已经使用,且单板在对应的位置上;“2”该页已经使用,但单板不在对应的位置上;“3”该页不可写入。
如图4所示,第1个页面的状态为“3”,说明第1个页面不可以写入任何数据。当通信单板需要更新数据时,将当前更新操作所对应更新块中的所有数据备份至嵌入式设备的单板信息存储区域中,设置备份标记为有效,不允许更改备份的数据,此时,图3的对应区域(最后8个页面)的状态也为3,表示这8个页面不可以写入任何数据。
图5是本发明嵌入式设备存储单元的单板信息存储区域示意图,每个页面为32字节,序号为00H~F0H,分别对应1~240页,每页前31字节为数据,最后一个字节为指向下一页的指针,内容为下一页的页码;如果本页为该槽位存储区域的最后一个字节,下页序号写0。
图6是本发明利用链表结构存储单板信息的示意图。用链表结构将多个页面在逻辑上形成一个连续的数据存储区域。每个槽位第一页开头都定义了一个固定的存储模板,方便查询该槽位上功能盘的版本类型等一些有用信息。存储模板的格式:位置(通信单板所在的插槽位置)、单板类型(单板的硬件类型)、软件版本、单板状态(0表示盘不在位、3表示盘正常、4表示手动添加的盘)、数据完整性标记、保留字段和单板信息;在最后1页的末尾具有:数据区结束符、空闲字段和页面地址指针为0的结尾指针。
每个插槽位置都有一个数据完整性标记(标记1),0表示数据区尚未完成初始化,初始化完成后,将标记写为FFH;如果检测到某板卡标记为0,则重新给该板卡分配空间;这样保证了数据区域的完整性,避免了新插入板卡正在分配数据区时断电,导致存储单元错误。
优选的,在文件指针区域还存储嵌入式设备的信息,包括:硬件类型和操作系统版本。
优选的,当某一位置新插入了通信单板时的操作如下:
B1、对新插入的通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定上述单板信息的首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中,将单板信息的首地址作为通信单板所使用存储单元的文件指针;
B2、在单板信息第1页的头部写入模板信息,根据模板信息确定所述单板信息所占用的空间,根据所占用的空间计算上述单板信息所需要的页面个数,在页面分配表区域里查找没有使用的页面,建立链表结构,在每一页面的最后一个字节写入下一页面的地址;
B3、对所占用的空间进行初始化;
B4、把单板信息写入到存储单元的页面中,保证单板信息掉电不丢失。
如果单板被拔出,但是所述单板的位置没有插入其它的单板,那么只是把该位置的单板状态更改为单板不在位置,不重新初始化该单板的信息,这样确保所述单板再次插入相同的位置时,之前单板信息不丢失;
如果单板被拔出,并重新插入了其它的单板,那么将被拔出的单板信息所占用的存储空间进行初始化,同时把页面分配表区域中的页面使用标记全部清除为不使用,然后再根据这个新插入单板的单板信息,重新分配页地址和页空间。
现有技术中,通信单板在升级驱动程序时需要进行重新引导,这样才能使处理器识别新的驱动程序,但是种方式导致通信单板在一段时间内无法使用,降低了通信单板的实时性。因此,为了避免通信单板升级驱动时的这种问题,本发明提出,当通信单板需要升级其驱动程序时,嵌入式设备将默认驱动程序发送给所述通信单板,通信单板停止当前正在运行的驱动程序,并运行嵌入式设备发送的默认驱动程序。此时,通信单板上的应用程序并不了解驱动程序的变化,因此,如果通信单板从其上运行的应用程序接收到执行与原驱动程序相关联的调用时,通信单板通知所述应用程序切换到默认驱动程序,因为,此时只有默认驱动程序在运行。通信单板将驱动程度进行升级,得到升级后的驱动程序。通信单板停止默认驱动程序的运行,并运行升级后的驱动程序。同理,通信单板上的应用程序并不了解驱动程序的变化,当通信单板从其上运行的应用程序接收到执行与默认驱动程序相关联的调用时,通知所述应用程序切换到第二驱动程序。
图7是本发明执行软件升级时的示意图。单板存储空间存储的是需要升级的旧的软件,并且将旧的软件分为0100-0113个软件部分,即,共14个旧的软件部分。当通信单板需要升级软件但单板存储空间不足时,在嵌入式设备存储单元的单板信息存储区域中存储对旧的软件进行更新的部分,并且将新的软件分为0200-0207个软件部分,即,共8个新的软件部分。
当通信单板需要运行升级的软件但单板存储空间不足时,通过在嵌入式设备存储单元的单板信息存储区域中执行新的软件部分(0200-0207)来替换执行旧的软件部分(0100-0113),在单板信息存储区域中存储新的软件部分并通过单板存储空间的第一指针,替换在单板存储空间中的旧的软件部分来执行在单板信息存储区域中的新的软件部分,其中通过单板信息存储区域的第二指针在执行所述新的软件部分后,重新返回单板存储空间中,并继续执行在单板存储空间中的其它与旧的软件部分不同的软件。
如图7所示,当通信单板运行旧的软件部分0103时,通过第一指针来找到新的软件部分0201的地址,从而运行新的软件部分0201-0204,当通信单板运行了0204后,利用第二指针返回旧的软件部分0105,从而实现了利用新的软件部分0201-0204替换了旧的软件部分0103-01005。
同理,当通信单板运行旧的软件部分0109时,通过第一指针来找到新的软件部分0207的地址,从而运行新的软件部分0207-0208,当通信单板运行了0208后,利用第二指针返回旧的软件部分0110,从而实现了利用新的软件部分0207-0208替换了旧的软件部分0109-0110。
通过软件部分的跳转执行解决了通信单板存储空间不足的问题,有效的利用了潜入式设备的存储单元来为通信单板服务。
其中,所述旧的软件部分仍然保存在单板存储空间中,将所述单板信息存储区域中新的软件部分的起始地址用作第一指针,根据起始地址部分的修改旧的软件部分,将单板存储空间中与旧的软件部分不同的软件的起始地址作为第二指针。
进一步,当通信单板需要更新数据时,将当前更新操作所对应更新块中的所有数据备份至嵌入式设备的单板信息存储区域中,设置备份标记为有效,即将单板信息存储区域的相应页面类型置为“3”,不允许更改备份的数据,擦除当前更新操作所对应的更新块,用新数据更新单板信息存储区域中的备份数据,并将更新后的备份数据写回当前更新块,并设置备份标记为无效,即将单板信息存储区域的相应页面类型置为“0”,允许更改备份的数据。
本发明还提供了一种嵌入式设备的文件管理系统,所述嵌入式设备用于监控通信系统中的通信单板,所述系统包括存储单元和控制单元,控制单元控制存储单元执行读取和写入操作,所述控制单元包括:
初始化装置,上电检测时擦除嵌入式设备存储单元的所有存储空间,将存储单元划分为3个区域:文件指针区域、页面分配表区域和单板信息存储区域,在文件指针区域中建立哈希表,利用哈希表在文件指针区域中存储通信单板的单板信息在存储单元中的首地址;所述页面分配表区域用于记录嵌入式设备存储单元的页面状态;所述单板信息存储区域用于存储单板信息、升级软件和默认驱动程序;
哈希处理装置,对通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定通信单板的单板信息的首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中;
页面控制装置,根据单板信息的大小在单板信息存储区域中分配单板信息所需的页面,通过链表结构将存储单板信息的页面在逻辑上形成一个连续的数据存储区域;在单板信息第1页的头部都定义了一个固定的存储模板,方便查询该通信单板的基本信息,所述存储模板的格式为:位置、单板类型、软件版本、单板状态、数据完整性标记、保留字段和单板信息;在单板信息最后1页的末尾具有:数据区结束符、空闲字段和页面地址指针为0的结尾指针。
优选的,在文件指针区域还存储嵌入式设备的信息,包括:硬件类型和操作系统版本。
优选的,当某一插槽位置新插入了通信单板时进行如下操作:
B1、对新插入通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定单板信息首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中,将单板信息的首地址作为通信单板访问存储单元的文件指针;
B2、在单板信息第1页的头部写入模板信息,根据模板信息确定所述单板信息所占用的空间,根据所占用的空间计算上述单板信息所需要的页面个数,在页面分配表区域里查找没有使用的页面,建立链表结构,在每一页面的最后一个字节写入下一页面的地址;
B3、对单板信息所占用的空间进行初始化;
B4、把单板信息写入到存储单元的页面中,保证单板信息掉电不丢失。
优选的,如果单板被拔出,但是所述单板的插槽位置没有插入其它的单板,那么只是把该插槽位置的单板状态更改为单板不在位置,不重新初始化该单板的信息,这样确保所述单板再次插入相同的插槽位置时,之前的单板信息不丢失。
优选的,如果单板被拔出,并重新插入了其它的单板,那么将被拔出单板的单板信息所占用的存储空间进行初始化,同时把页面分配表区域中相应页面的使用标记全部设置为“未被使用”,然后再根据这个新插入单板的单板信息,重新分配页地址和页空间。
优选的,当通信单板需要升级第一驱动程序时,嵌入式设备将默认驱动程序发送给所述通信单板,通信单板停止当前正在运行的第一驱动程序,并运行默认驱动程序,当通信单板从其上运行的应用程序接收到执行与第一驱动程序相关联的调用时,通知所述应用程序切换到默认驱动程序;将第一驱动程度升级为第二驱动程序,通信单板停止默认驱动程序,并运行第二驱动程序,当通信单板从其上运行的应用程序接收到执行与默认驱动程序相关联的调用时,通知所述应用程序切换到第二驱动程序。
优选的,当通信单板需要升级软件但单板存储空间不足时,通过在嵌入式设备存储单元的单板信息存储区域中执行新的软件部分来替换执行旧的软件部分,在单板信息存储区域中存储新的软件部分,并通过单板存储空间的第一指针替换在单板存储空间中的旧的软件部分来执行在单板信息存储区域中的新的软件部分,其中通过单板信息存储区域的第二指针在执行所述新的软件部分后,重新返回单板存储空间中,并继续执行在单板存储空间中的其它与旧的软件部分不同的软件部分。
其中,所述旧的软件部分仍然保存在单板存储空间中,将所述单板信息存储区域中新的软件部分的起始地址用作第一指针,根据起始地址部分的修改旧的软件部分,将单板存储空间中与旧的软件部分不同的软件的起始地址作为第二指针。
进一步,当通信单板需要更新数据时,将当前更新操作所对应更新块中的所有数据备份至嵌入式设备的单板信息存储区域中,设置备份标记为有效,不允许更改备份的数据,擦除当前更新操作所对应的更新块,用新数据更新单板信息存储区域中的备份数据,并将更新后的备份数据写回当前更新块,并设置备份标记为无效,允许更改备份的数据。
Claims (10)
1、一种嵌入式设备的文件管理方法,所述嵌入式设备用于监控通信系统中的通信单板,其特征在于,包括:
A1、上电检测时擦除嵌入式设备存储单元的所有存储空间;
A2、将存储单元划分为3个区域:文件指针区域、页面分配表区域和单板信息存储区域;
A3、在文件指针区域中建立哈希表,对通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定通信单板的单板信息的首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中;
A4、利用页面分配表区域记录嵌入式设备存储单元的页面状态;
A5、根据单板信息的大小在单板信息存储区域中分配单板信息所需的页面,通过链表结构将存储单板信息的页面在逻辑上形成一个连续的数据存储区域;在单板信息第1页的头部都定义了一个固定的存储模板,方便查询该通信单板的基本信息,所述存储模板的格式为:位置、单板类型、软件版本、单板状态、数据完整性标记、保留字段和单板信息;在单板信息最后1页的末尾具有:数据区结束符、空闲字段和页面地址指针为0的结尾指针。
A6、利用单板信息存储区域存储单板信息、升级软件和默认驱动程序。
2、根据权利要求1所述的方法,其特征在于,当某一插槽位置新插入了通信单板时进行如下操作:
B1、对新插入通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定单板信息首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中,将单板信息的首地址作为通信单板访问存储单元的文件指针;
B2、在单板信息第1页的头部写入模板信息,根据模板信息确定所述单板信息所占用的空间,根据所占用的空间计算上述单板信息所需要的页面个数,在页面分配表区域里查找没有使用的页面,建立链表结构,在每一页面的最后一个字节写入下一页面的地址;
B3、对单板信息所占用的空间进行初始化;
B4、把单板信息写入到存储单元的页面中,保证单板信息掉电不丢失。
3、根据权利要求1所述的方法,其特征在于,如果单板被拔出,但是所述单板的插槽位置没有插入其它的单板,那么只是把该插槽位置的单板状态更改为单板不在位置,不重新初始化该单板的信息,这样确保所述单板再次插入相同的插槽位置时,之前的单板信息不丢失。
4、根据权利要求1所述的方法,其特征在于,如果单板被拔出,并重新插入了其它的单板,那么将被拔出单板的单板信息所占用的存储空间进行初始化,同时把页面分配表区域中相应页面的使用标记全部设置为“未被使用”,然后再根据这个新插入单板的单板信息,重新分配页地址和页空间。
5、根据权利要求1所述的方法,其特征在于,当通信单板需要升级第一驱动程序时,嵌入式设备将默认驱动程序发送给所述通信单板,通信单板停止当前正在运行的第一驱动程序,并运行默认驱动程序,当通信单板从其上运行的应用程序接收到执行与第一驱动程序相关联的调用时,通知所述应用程序切换到默认驱动程序;将第一驱动程度升级为第二驱动程序,通信单板停止默认驱动程序,并运行第二驱动程序,当通信单板从其上运行的应用程序接收到执行与默认驱动程序相关联的调用时,通知所述应用程序切换到第二驱动程序。
6、根据权利要求1所述的方法,其特征在于,当通信单板需要升级软件但单板存储空间不足时,通过在嵌入式设备存储单元的单板信息存储区域中执行新的软件部分来替换执行旧的软件部分,在单板信息存储区域中存储新的软件部分,并通过单板存储空间的第一指针替换在单板存储空间中的旧的软件部分来执行在单板信息存储区域中的新的软件部分,其中通过单板信息存储区域的第二指针在执行所述新的软件部分后,重新返回单板存储空间中,并继续执行在单板存储空间中的其它与旧的软件部分不同的软件部分。
其中,所述旧的软件部分仍然保存在单板存储空间中,将所述单板信息存储区域中新的软件部分的起始地址用作第一指针,根据起始地址部分的修改旧的软件部分,将单板存储空间中与旧的软件部分不同的软件的起始地址作为第二指针。
7、根据权利要求1所述的方法,其特征在于,当通信单板需要更新数据时,将当前更新操作所对应更新块中的所有数据备份至嵌入式设备的单板信息存储区域中,设置备份标记为有效,不允许更改备份的数据,擦除当前更新操作所对应的更新块,用新数据更新单板信息存储区域中的备份数据,并将更新后的备份数据写回当前更新块,并设置备份标记为无效,允许更改备份的数据。
8.一种嵌入式设备的文件管理系统,所述嵌入式设备用于监控通信系统中的通信单板,所述系统包括存储单元和控制单元,控制单元控制存储单元执行读取和写入操作,其特征在于,所述控制单元包括:
初始化装置,上电检测时擦除嵌入式设备存储单元的所有存储空间,将存储单元划分为3个区域:文件指针区域、页面分配表区域和单板信息存储区域,在文件指针区域中建立哈希表,利用哈希表在文件指针区域中存储通信单板的单板信息在存储单元中的首地址;所述页面分配表区域用于记录嵌入式设备存储单元的页面状态;所述单板信息存储区域用于存储单板信息、升级软件和默认驱动程序;
哈希处理装置,对通信单板的硬件地址进行哈希运算,根据哈希运算获得的散列码确定通信单板的单板信息的首地址在哈希表中的位置,并将单板信息的首地址存储在哈希表中;
页面控制装置,根据单板信息的大小在单板信息存储区域中分配单板信息所需的页面,通过链表结构将存储单板信息的页面在逻辑上形成一个连续的数据存储区域;在单板信息第1页的头部都定义了一个固定的存储模板,方便查询该通信单板的基本信息,所述存储模板的格式为:位置、单板类型、软件版本、单板状态、数据完整性标记、保留字段和单板信息;在单板信息最后1页的末尾具有:数据区结束符、空闲字段和页面地址指针为0的结尾指针。
9、根据权利要求8所述的系统,其特征在于,当通信单板需要升级第一驱动程序时,嵌入式设备将默认驱动程序发送给所述通信单板,通信单板停止当前正在运行的第一驱动程序,并运行默认驱动程序,当通信单板从其上运行的应用程序接收到执行与第一驱动程序相关联的调用时,通知所述应用程序切换到默认驱动程序;将第一驱动程度升级为第二驱动程序,通信单板停止默认驱动程序,并运行第二驱动程序,当通信单板从其上运行的应用程序接收到执行与默认驱动程序相关联的调用时,通知所述应用程序切换到第二驱动程序。
10、根据权利要求8所述的系统,其特征在于,当通信单板需要升级软件但单板存储空间不足时,通过在嵌入式设备存储单元的单板信息存储区域中执行新的软件部分来替换执行旧的软件部分,在单板信息存储区域中存储新的软件部分,并通过单板存储空间的第一指针替换在单板存储空间中的旧的软件部分来执行在单板信息存储区域中的新的软件部分,其中通过单板信息存储区域的第二指针在执行所述新的软件部分后,重新返回单板存储空间中,并继续执行在单板存储空间中的其它与旧的软件部分不同的软件部分。
其中,所述旧的软件部分仍然保存在单板存储空间中,将所述单板信息存储区域中新的软件部分的起始地址用作第一指针,根据起始地址部分的修改旧的软件部分,将单板存储空间中与旧的软件部分不同的软件的起始地址作为第二指针。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101572134A CN101582089B (zh) | 2009-07-02 | 2009-07-02 | 一种嵌入式设备的文件管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101572134A CN101582089B (zh) | 2009-07-02 | 2009-07-02 | 一种嵌入式设备的文件管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101582089A true CN101582089A (zh) | 2009-11-18 |
CN101582089B CN101582089B (zh) | 2011-06-29 |
Family
ID=41364235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101572134A Expired - Fee Related CN101582089B (zh) | 2009-07-02 | 2009-07-02 | 一种嵌入式设备的文件管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101582089B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867488A (zh) * | 2010-06-11 | 2010-10-20 | 中兴通讯股份有限公司 | 一种单板在位信息监测和记录装置和方法 |
CN102447578A (zh) * | 2011-11-23 | 2012-05-09 | 瑞斯康达科技发展股份有限公司 | 一种备份方法以及设备 |
CN102760063A (zh) * | 2011-04-25 | 2012-10-31 | 联想(北京)有限公司 | 一种文件加载方法及装置 |
CN102789404A (zh) * | 2011-05-20 | 2012-11-21 | 北京同方微电子有限公司 | 一种用于ic卡更新数据时防掉电数据存储的方法 |
CN103002045A (zh) * | 2012-12-18 | 2013-03-27 | 江苏乐买到网络科技有限公司 | 一种web服务系统 |
CN104598519A (zh) * | 2014-12-11 | 2015-05-06 | 浙江浙大中控信息技术有限公司 | 一种基于连续内存的数据库索引系统及处理方法 |
CN104615545A (zh) * | 2013-11-05 | 2015-05-13 | 中兴通讯股份有限公司 | 单板信息的存储方法及单板 |
CN109308230A (zh) * | 2017-07-27 | 2019-02-05 | 华为技术有限公司 | 一种备份方法及装置 |
CN110716904A (zh) * | 2019-10-14 | 2020-01-21 | 深圳市优创亿科技有限公司 | 一种嵌入式文件系统设计方法 |
CN110928609A (zh) * | 2020-01-20 | 2020-03-27 | 武汉斗鱼鱼乐网络科技有限公司 | 一种标记设备的方法、装置、介质及计算机设备 |
CN114035749A (zh) * | 2018-01-12 | 2022-02-11 | 珠海极海半导体有限公司 | 电子设备和Flash存储器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1118025C (zh) * | 2000-10-23 | 2003-08-13 | 大唐电信科技股份有限公司微电子分公司 | 采用逻辑区间链表寻址的智能卡嵌入式软件系统实现方法 |
CN100499853C (zh) * | 2005-12-06 | 2009-06-10 | 中兴通讯股份有限公司 | 一种嵌入式分布系统的版本信息处理方法 |
US9396103B2 (en) * | 2007-06-08 | 2016-07-19 | Sandisk Technologies Llc | Method and system for storage address re-mapping for a memory device |
-
2009
- 2009-07-02 CN CN2009101572134A patent/CN101582089B/zh not_active Expired - Fee Related
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867488A (zh) * | 2010-06-11 | 2010-10-20 | 中兴通讯股份有限公司 | 一种单板在位信息监测和记录装置和方法 |
CN102760063A (zh) * | 2011-04-25 | 2012-10-31 | 联想(北京)有限公司 | 一种文件加载方法及装置 |
CN102760063B (zh) * | 2011-04-25 | 2015-08-26 | 联想(北京)有限公司 | 一种文件加载方法及装置 |
CN102789404A (zh) * | 2011-05-20 | 2012-11-21 | 北京同方微电子有限公司 | 一种用于ic卡更新数据时防掉电数据存储的方法 |
CN102447578A (zh) * | 2011-11-23 | 2012-05-09 | 瑞斯康达科技发展股份有限公司 | 一种备份方法以及设备 |
CN102447578B (zh) * | 2011-11-23 | 2014-10-29 | 瑞斯康达科技发展股份有限公司 | 一种备份方法以及设备 |
CN103002045A (zh) * | 2012-12-18 | 2013-03-27 | 江苏乐买到网络科技有限公司 | 一种web服务系统 |
WO2015067057A1 (zh) * | 2013-11-05 | 2015-05-14 | 中兴通讯股份有限公司 | 单板信息的存储方法及单板 |
CN104615545A (zh) * | 2013-11-05 | 2015-05-13 | 中兴通讯股份有限公司 | 单板信息的存储方法及单板 |
CN104598519A (zh) * | 2014-12-11 | 2015-05-06 | 浙江浙大中控信息技术有限公司 | 一种基于连续内存的数据库索引系统及处理方法 |
CN104598519B (zh) * | 2014-12-11 | 2019-05-21 | 浙江浙大中控信息技术有限公司 | 一种基于连续内存的数据库索引系统及处理方法 |
CN109308230A (zh) * | 2017-07-27 | 2019-02-05 | 华为技术有限公司 | 一种备份方法及装置 |
CN109308230B (zh) * | 2017-07-27 | 2020-11-17 | 华为技术有限公司 | 一种备份方法及装置 |
CN114035749A (zh) * | 2018-01-12 | 2022-02-11 | 珠海极海半导体有限公司 | 电子设备和Flash存储器 |
CN114035749B (zh) * | 2018-01-12 | 2023-02-28 | 珠海极海半导体有限公司 | 电子设备和Flash存储器 |
CN110716904A (zh) * | 2019-10-14 | 2020-01-21 | 深圳市优创亿科技有限公司 | 一种嵌入式文件系统设计方法 |
CN110928609A (zh) * | 2020-01-20 | 2020-03-27 | 武汉斗鱼鱼乐网络科技有限公司 | 一种标记设备的方法、装置、介质及计算机设备 |
CN110928609B (zh) * | 2020-01-20 | 2020-06-16 | 武汉斗鱼鱼乐网络科技有限公司 | 一种标记设备的方法、装置、介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101582089B (zh) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101582089B (zh) | 一种嵌入式设备的文件管理方法及系统 | |
CN101937319B (zh) | 存储器系统及其映射方法 | |
CN102317928B (zh) | 修改命令 | |
EP2115595B1 (en) | Memory device performance enhancement through pre-erase mechanism | |
CN100570546C (zh) | 使用第一和第二存储装置的磁盘加速 | |
CN100487632C (zh) | 双媒体存储装置 | |
CN101763295B (zh) | 一种数据备份、备份项擦除及数据恢复方法和装置 | |
US9335953B2 (en) | Memory system in which extended function can easily be set | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
CN101918928B (zh) | 包括一次写入存储器器件和多次写入存储器器件的用于计算机的存储子系统及相关方法 | |
CN101551780B (zh) | 一种电视机及其数据存储方法、装置 | |
CN101571832B (zh) | 数据写入方法及使用该方法的快闪存储系统与其控制器 | |
CN102375788A (zh) | 为具有非易失性存储器的系统动态地分配功率预算的方法及装置 | |
US8914587B2 (en) | Multi-threaded memory operation using block write interruption after a number or threshold of pages have been written in order to service another request | |
CN101408864B (zh) | 用于断电时的数据保护方法及使用此方法的控制器 | |
CN103473182B (zh) | 非挥发性存储器存取方法及非挥发性存储器控制器 | |
CN100365574C (zh) | 一种嵌入式芯片及其程序空间扩展的方法 | |
CN101727397B (zh) | 区块管理与更换方法、闪存储存系统及其控制器 | |
CN101859278B (zh) | 用于闪存的数据储存方法及储存系统 | |
CN103218300B (zh) | 数据处理方法、存储器控制器与存储器储存装置 | |
CN103377132B (zh) | 管理存储器空间的方法、存储器控制器与存储器储存装置 | |
CN103389941A (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
CN104182352A (zh) | 用于访问4gb以上物理内存地址空间的方法及装置 | |
CN101661432B (zh) | 闪存区块管理方法、闪存储存系统及控制器 | |
CN102053920A (zh) | 数据写入方法及闪存控制器与闪存存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110629 Termination date: 20210702 |