CN101771804A - 一种数字电视接收终端软件系统的备份还原方法 - Google Patents

一种数字电视接收终端软件系统的备份还原方法 Download PDF

Info

Publication number
CN101771804A
CN101771804A CN 200810241716 CN200810241716A CN101771804A CN 101771804 A CN101771804 A CN 101771804A CN 200810241716 CN200810241716 CN 200810241716 CN 200810241716 A CN200810241716 A CN 200810241716A CN 101771804 A CN101771804 A CN 101771804A
Authority
CN
China
Prior art keywords
backup
data
receiving terminal
disk
digital television
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
Application number
CN 200810241716
Other languages
English (en)
Other versions
CN101771804B (zh
Inventor
杨有桂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Coship Electronics Co Ltd
Original Assignee
Shenzhen Coship Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Coship Electronics Co Ltd filed Critical Shenzhen Coship Electronics Co Ltd
Priority to CN 200810241716 priority Critical patent/CN101771804B/zh
Publication of CN101771804A publication Critical patent/CN101771804A/zh
Application granted granted Critical
Publication of CN101771804B publication Critical patent/CN101771804B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开一种数字电视接收终端软件系统的备份还原方法,其中,在备份时,在数字电视接收终端驱动加载后,通过所述数字电视接收终端的备份系统将用户参数或所述数字电视接收终端的软件备份到外部存储器上;在还原时,在所述数字电视接收终端加载基本驱动的情况下,接上所述外部存储器,所述数字电视接收终端通过还原系统将丢失的数据或系统还原。使得数字电视接收终端系统具有备份或还原功能,以降低数据的丢失风险。

Description

一种数字电视接收终端软件系统的备份还原方法
技术领域
本发明涉及一种系统的备份或还原技术,尤其涉及一种数字电视接收终端软件系统的备份还原方法。
背景技术
随着家用电视相关数字电器,例如数字电视机顶盒、数字电视一体机,的普及使用,人们的生活越来越丰富。例如,以及数字电视机顶盒为例,数字电视机顶盒为用户提供了海量的电视节目,方便用户选择观看喜爱的电视节目。数字电视机顶盒现在已广泛应用来收看数字电视节目,同时提供了一些增值业务,比如电子邮箱、股票浏览等。
当时,现有的机顶盒的功能越来越复杂,用户可以在机顶盒上点播电视,看股票,浏览网页,网上购物和网上缴费。功能的增多,机顶盒上保存的个人数据必然也增多。任何系统在长时间运行过程中都有出现问题的可能,机顶盒上保存的数据也存在丢失的风险。
因此,随着机顶盒的普及以及运营模式的日趋成熟和不断丰富,以及机顶盒用户的海量增长,如何使得机顶盒系统具有备份或还原功能,以降低数据的丢失风险,使机顶盒产品更具有市场竞争力,成为急待解决的问题。
发明内容
本发明的目的在于提供一种数字电视接收终端软件系统的备份还原方法,使得数字电视接收终端系统具有备份或还原功能,以降低数据的丢失风险。
为解决本发明的技术问题,本发明公开一种数字电视接收终端软件系统的备份还原方法,其中,包括:
在备份时,在数字电视接收终端驱动加载后,通过所述数字电视接收终端的备份系统将用户参数或所述数字电视接收终端的软件备份到外部存储器上;
在还原时,在所述数字电视接收终端加载基本驱动的情况下,接上所述外部存储器,所述数字电视接收终端通过还原系统将丢失的数据或系统还原。
较优的,所述数字电视接收终端的数据存在于一内部固定存储器,包括boot程序存放块,loader程序存放块,app程序存放块,用户参数存放块,系统配置表和系统信息表存放块,其中,所述boot程序存放块是所述数字电视接收终端系统必需具备的基本驱动,能备份的部分包括:Loader程序块,app程序块,用户数据块和系统配置块任意至少之一。
较优的,所述数字电视接收终端在进行必要的硬件初时化和加载必要的驱动时进行备份或还原。
较优的,所述系统备份的过程具体包括:
在选择进入备份系统后,读取系统配置表;
选择需要备份的区域;
读取被备份部分的数据;
检查备份磁盘的状态和空间,以磁盘是否能备份数据;
如果磁盘可以作为备份磁盘,则在磁盘中开辟备份空间,写入备份数据;如果磁盘不能用来备份,提示磁盘空间不够和磁盘不可用。
较优的,所述系统配置表用于存放数字电视接收终端的软件信息和存储空间的地址划分范围,读取和解析系统配置表,提取系统配置表中的信息。
较优的,所述读取被备份部分的数据具体包括:
根据系统配置内各部分的地址范围,读取相应部分的数据,读取数据时加入数据校验以保证数据的正确性,数据的读取以块为单位。
较优的,所述系统还原的过程具体包括:
在选择进入还原系统后,选择需要还原的区域;
对需要还原部分进行校验,如果校验成功,判断是否需要还原系统配置表;
如果需要还原系统配置表,先从备份磁盘读取系统配置表,并且解析配置表,还原系统配置表;
依据解析出来的系统配置表还原各部分需要还原的数据。
较优的,所述依据解析出来的系统配置表还原各部分具体包括:先从备份磁盘读取需要备份部分的数据,对数据进行校验,再和信息数据段的信息核对,如果都无误,根据各部分的地址范围写入备份的数据。
较优的,所述数字电视接收终端为机顶盒。
与现有技术相比,本发明具有如下有益效果:
本发明所提供的一种数字电视接收终端软件系统的备份还原方法,可以使得数字电视接收终端系统具有备份或还原功能,以降低数据的丢失风险。
附图说明
图1为本发明实施例的一种机顶盒系统启动流程示意图;
图2为本发明实施例的一种机顶盒系统备份流程示意图;
图3为本发明实施例的一种机顶盒系统还原流程示意图。
具体实施例
本发明提供一种数字电视接收终端软件系统的备份还原方法,
在备份时,在数字电视接收终端驱动加载后,通过数字电视接收终端的备份系统可以把用户参数或数字电视接收终端软件备份到外部存储器上(例如U盘或者移动硬盘);在还原时,例如数字电视接收终端的用户数据丢失或者数字电视接收终端系统崩溃时,在数字电视接收终端能加载基本驱动的情况下,接上已经备份的存储器,数字电视接收终端通过还原系统可以把丢失的数据或系统还原,使数字电视接收终端能正常运行。
例如,该数字电视接收终端可以是机顶盒,下面以机顶盒为例进行详细说明。
机顶盒软件系统主要包括四个部分:
Boot:硬件的初时化,读取配置文件,解压和校验loader或者app。
Loader:用于OTA升级。
App:用于应用功能的实现。
系统信息和配置表:存放系统信息和系统配置信息,一般存放的首地址和格式是固定的。
机顶盒在上电后,运行boot进行硬件初时化,读取系统配置文件,检查是否有升级信息:
如果有升级信息,则机顶盒对Loader进行解压和校验直接进入loader进行OTA升级,升级成功重启进入app。
如果无升级信息,则读取app,对app进行解压和校验,启动app。
机顶盒数据:
机顶盒的永久数据一般都保存在固定存储器上,例如机顶盒的固定存储器(flash或硬盘),固定存储器的划分可以如下,用户也可以自定义。
机顶盒内部的固定存储器(flash)大致可以分为5块:boot程序存放块,loader程序存放块,app程序存放块,用户参数(user-data)存放块,系统配置表和系统信息表存放块(Sysinfo&sysCfg)。
需要备份的数据:
Boot,机顶盒系统必需具备,若此部分遭到破坏,则机顶盒系统不具备还原的可能。在进行系统备份或还原时,要求boot数据的完整性和正确性,能保证进入boot,在机顶盒硬件初始化后选择需要备份的部分。能备份的部分有:Loader程序块,app程序块,用户数据块和系统配置块任意至少之一。
选择系统备份和系统还原的时机:
为争取最大程度的备份,可以在机顶盒进行必要的硬件初时化和加载必要的驱动就进行备份或还原。boot是系统运行时的必经路径,若在备份时机选在这个时候,可以对Loader程序块,app程序块,用户数据块和系统配置区备份或还原,应该系统备份或还原必须对存储器(包括机顶盒内部的存储器和外接存储器)进行操作,在系统备份或还原之前必须硬件初始化完毕,存储器的驱动,主板驱动和外部接口驱动(如USB驱动)加载完成。
如图1所述,为本发明实施例的一种机顶盒系统启动流程示意图,包括如下步骤。
步骤101,机顶盒启动;
步骤102,引导Boot启动;
步骤103,必需的驱动是否加载;
Boot部分是机顶盒系统必需具备的,若此部分遭到破坏,则机顶盒系统不具备还原的可能。在进行系统备份或还原时,要求boot数据的完整性和正确性,能保证进入boot。
步骤104,是否进入系统备份或还原,如是,则进入步骤105,否则,进入步骤106。
步骤105,进入系统备份或还原流程,然后进入步骤107;
步骤106,正常的开机流程,流程结束。
步骤107,进行系统备份或还原流程。
具体的系统备份过程可以如下图2所述,具体的系统还原过程可以如下图3所述。
如图2所示,为本发明实施例的一种机顶盒系统备份流程示意图,包括如下内容。
在系统进行硬件初始化和驱动的加载(flash驱动,内存驱动,主板驱动和usb驱动)后,系统可以进入备份状态,其备份流程如下所述。
步骤201,进入系统备份流程;
步骤202,在选择进入备份系统后,读取系统配置表;
系统配置表一般用来存放机顶盒的软件信息和存储空间(flash空间)的地址划分范围,读取和解析系统配置表,提取系统配置表中的信息。
步骤203,选择需要备份的区域;
需要备份的部分可以是app程序存放块,loader程序存放块,系统信息表存放块(sysinfo&syscfg),用户数据块(user-data),这几个区域都可以成为备份的部分。
步骤204,读取被备份部分的数据;
根据系统配置里面各部分的地址范围,读取相应部分的数据,读取数据时加入数据校验以保证数据的正确性,数据的读取以块为单位,这样能保证数据读取速度。
步骤205-206,检查备份磁盘的状态和空间,磁盘是否能备份数据;
检查磁盘是否可用,是否有足够的空间来存储数据,如果磁盘可以作为备份磁盘,则在磁盘中开辟备份空间,进入步骤208;如果磁盘不能用来备份,则给出相应的提示,即进入步骤207。
磁盘可以是机顶盒的内置硬盘,也可以是机顶盒的外接存储器。
步骤207,提示磁盘空间不够和磁盘不可用,转入步骤206。
步骤208,写入备份数据;
可以以数据块的方式写入数据,保证数据的写入速度,在数据写入之前必须作校验,在写入备份数据必须加入系统信息段和校验数据位段。其中,数据结构如表1所述。
表1
  系统信息段   备份数据段   校验段
系统信息段:包括机顶盒的一些信息,如软件版本,硬件版本,厂商代号,在系统信息段还需要插入所备份部分的标识。
数据校验段是用来保证数据正确部分的重要字段。
步骤209,数据备份完毕;
步骤210,结束。
备份数据成功后,机顶盒自动重启,可以进入多彩的业务进行操作。
如图3所示,为本发明实施例的一种机顶盒系统备份流程示意图,包括如下内容。
步骤301,进入系统还原;
步骤302,在选择进入还原系统后,选择需要还原的区域:
需要还原的部分可以是app,loader部分,sysinfo&syscfg,用户数据块(user-data),这几个区域都可以成为还原的部分。
步骤303-304,对需要还原部分进行校验;
读取用户需要还原的部分:可以逐个部分读取,以保证机顶盒内存够用。在读取数据的时候必须要进行数据校验。如果校验成功,进入步骤305;某个部分校验不成功,则此部分不能还原,进入步骤310。
步骤305,判断是否需要还原系统配置表:
系统配置表是整个软件系统中一个很关键的部分,如果用户选择还原系统配置表部分,这表示不能保证现有机顶盒系统中配置表的正确性,配置表的信息需要从备份盘中读取,即进入步骤306。如果不需要还原系统配置表,则从机顶盒中读取和解析系统配置表,即进入步骤311。
步骤306,先从备份磁盘读取系统配置表,并且解析配置表,以还原以后的部分做准备。
步骤307,还原系统配置表:如果用户选择还原区域中包括系统配置表,则先要对系统表进行还原,为了保证还原的安全性,先要把机顶盒中原有的系统配置表读取到内存中,如果出现还原异常,则可以把内存中备份的系统配置表还原回去。
步骤308,依据解析出来的系统配置表还原各部分。
先从备份磁盘读取需要备份部分的数据,对数据进行校验,再和信息数据段的信息核对,如果都无误,根据各部分的地址范围写入备份的数据。
步骤309,还原是否成功。
还原过程中会出现一些异常:校验失败,备份数据信息的不对(软件版本和硬件版本的不对)。如果系统还原失败,则给出提示并结束还原过程,即进入步骤310。
步骤310,提示还原失败,重启机顶盒。
步骤311,从机顶盒中读取系统配置表,解析各个部分的地址范围。
结束。
综上所述,本发明揭露的一种数字电视接收终端软件系统的备份还原方法,例如,机顶盒的备份还原方法,可以使得机顶盒系统恢和还原,可以降低机顶盒上日益增多的功能对系统的破坏风险,系统恢复和系统还原能够备份用户在网上交易的数据,如网上银行的密钥等,为机顶盒的软件系统提供系统安全的保障。

Claims (9)

1.一种数字电视接收终端软件系统的备份还原方法,其特征在于,包括:
在备份时,在数字电视接收终端驱动加载后,通过所述数字电视接收终端的备份系统将用户参数或所述数字电视接收终端的软件备份到外部存储器上;
在还原时,在所述数字电视接收终端加载基本驱动的情况下,接上所述外部存储器,所述数字电视接收终端通过还原系统将丢失的数据或系统还原。
2.如权利要求1所述的方法,其特征在于,所述数字电视接收终端的数据存在于一内部固定存储器,包括boot程序存放块,loader程序存放块,app程序存放块,用户参数存放块,系统配置表和系统信息表存放块,其中,所述boot程序存放块是所述数字电视接收终端系统必需具备的基本驱动,能备份的部分包括:Loader程序块,app程序块,用户数据块和系统配置块任意至少之一。
3.如权利要求1所述的方法,其特征在于,所述数字电视接收终端在进行必要的硬件初时化和加载必要的驱动时进行备份或还原。
4.如权利要求1所述的方法,其特征在于,所述系统备份的过程具体包括:
在选择进入备份系统后,读取系统配置表;
选择需要备份的区域;
读取被备份部分的数据;
检查备份磁盘的状态和空间,以磁盘是否能备份数据;
如果磁盘可以作为备份磁盘,则在磁盘中开辟备份空间,写入备份数据;如果磁盘不能用来备份,提示磁盘空间不够和磁盘不可用。
5.如权利要求4所述的方法,其特征在于,所述系统配置表用于存放数字电视接收终端的软件信息和存储空间的地址划分范围,读取和解析系统配置表,提取系统配置表中的信息。
6.如权利要求4所述的方法,其特征在于,所述读取被备份部分的数据具体包括:根据系统配置内各部分的地址范围,读取相应部分的数据,读取数据时加入数据校验以保证数据的正确性,数据的读取以块为单位。
7.如权利要求1所述的方法,其特征在于,所述系统还原的过程具体包括:
在选择进入还原系统后,选择需要还原的区域;
对需要还原部分进行校验,如果校验成功,判断是否需要还原系统配置表;
如果需要还原系统配置表,先从备份磁盘读取系统配置表,并且解析配置表,还原系统配置表;
依据解析出来的系统配置表还原各部分需要还原的数据。
8.如权利要求7所述的方法,其特征在于,所述依据解析出来的系统配置表还原各部分具体包括:
先从备份磁盘读取需要备份部分的数据,对数据进行校验,再和信息数据段的信息核对,如果都无误,根据各部分的地址范围写入备份的数据。
9.如权利要求1-8任意一项所述的方法,其特征在于,所述数字电视接收终端为机顶盒。
CN 200810241716 2008-12-29 2008-12-29 一种数字电视接收终端软件系统的备份还原方法 Expired - Fee Related CN101771804B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810241716 CN101771804B (zh) 2008-12-29 2008-12-29 一种数字电视接收终端软件系统的备份还原方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810241716 CN101771804B (zh) 2008-12-29 2008-12-29 一种数字电视接收终端软件系统的备份还原方法

Publications (2)

Publication Number Publication Date
CN101771804A true CN101771804A (zh) 2010-07-07
CN101771804B CN101771804B (zh) 2013-06-05

Family

ID=42504367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810241716 Expired - Fee Related CN101771804B (zh) 2008-12-29 2008-12-29 一种数字电视接收终端软件系统的备份还原方法

Country Status (1)

Country Link
CN (1) CN101771804B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231857A (zh) * 2011-07-01 2011-11-02 四川长虹电器股份有限公司 一种提高机顶盒开机速度的方法
CN102479115A (zh) * 2010-11-23 2012-05-30 鸿富锦精密工业(深圳)有限公司 数据备份与恢复系统及方法
CN102819471A (zh) * 2012-08-14 2012-12-12 深圳市杰科电子有限公司 一种设备终端的软件备份系统和方法
CN103631678A (zh) * 2013-12-02 2014-03-12 北京奇虎科技有限公司 一种客户端软件的备份方法、还原方法和装置
CN103986968A (zh) * 2014-05-12 2014-08-13 南京熊猫电子股份有限公司 一种通过按键解决智能电视系统复位的方法
CN105760258A (zh) * 2016-02-29 2016-07-13 四川长虹电器股份有限公司 Android智能电视机进行系统软件还原的方法
CN106778356A (zh) * 2016-11-17 2017-05-31 深圳市视维科技有限公司 机顶盒设备防止丢失核心数据的方法
CN107484023A (zh) * 2017-08-15 2017-12-15 深圳市芯智科技有限公司 一种用于备份升级机顶盒系统数据和用户数据的方法
CN107566158A (zh) * 2017-08-04 2018-01-09 上海斐讯数据通信技术有限公司 一种路由器配置信息备份方法及系统、恢复方法及系统
CN110083404A (zh) * 2019-04-23 2019-08-02 深圳昆仑通态科技有限责任公司 人机界面设备的数据处理方法及系统和人机界面设备
CN110389862A (zh) * 2019-07-24 2019-10-29 上海联影医疗科技有限公司 一种数据保存方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100395713C (zh) * 2002-04-23 2008-06-18 华硕电脑股份有限公司 自动修复基本输入输出系统元件的方法与模块
CN100395699C (zh) * 2002-12-31 2008-06-18 北京中视联数字系统有限公司 一种机顶盒软件更新的方法
CN1980447B (zh) * 2005-12-06 2010-06-16 中兴通讯股份有限公司 一种通信系统软件版本的平滑升级方法
CN100477756C (zh) * 2007-01-12 2009-04-08 深圳创维-Rgb电子有限公司 一种恢复电视机出厂设置的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479115A (zh) * 2010-11-23 2012-05-30 鸿富锦精密工业(深圳)有限公司 数据备份与恢复系统及方法
CN102231857B (zh) * 2011-07-01 2013-05-08 四川长虹电器股份有限公司 一种提高机顶盒开机速度的方法
CN102231857A (zh) * 2011-07-01 2011-11-02 四川长虹电器股份有限公司 一种提高机顶盒开机速度的方法
CN102819471B (zh) * 2012-08-14 2016-02-17 深圳市杰科电子有限公司 一种设备终端的软件备份系统和方法
CN102819471A (zh) * 2012-08-14 2012-12-12 深圳市杰科电子有限公司 一种设备终端的软件备份系统和方法
CN103631678A (zh) * 2013-12-02 2014-03-12 北京奇虎科技有限公司 一种客户端软件的备份方法、还原方法和装置
CN103986968A (zh) * 2014-05-12 2014-08-13 南京熊猫电子股份有限公司 一种通过按键解决智能电视系统复位的方法
CN105760258A (zh) * 2016-02-29 2016-07-13 四川长虹电器股份有限公司 Android智能电视机进行系统软件还原的方法
CN106778356A (zh) * 2016-11-17 2017-05-31 深圳市视维科技有限公司 机顶盒设备防止丢失核心数据的方法
CN107566158A (zh) * 2017-08-04 2018-01-09 上海斐讯数据通信技术有限公司 一种路由器配置信息备份方法及系统、恢复方法及系统
WO2019024385A1 (zh) * 2017-08-04 2019-02-07 上海斐讯数据通信技术有限公司 一种路由器配置信息备份方法及系统、恢复方法及系统
CN107484023A (zh) * 2017-08-15 2017-12-15 深圳市芯智科技有限公司 一种用于备份升级机顶盒系统数据和用户数据的方法
CN110083404A (zh) * 2019-04-23 2019-08-02 深圳昆仑通态科技有限责任公司 人机界面设备的数据处理方法及系统和人机界面设备
CN110083404B (zh) * 2019-04-23 2022-12-30 深圳昆仑通态科技有限责任公司 人机界面设备的数据处理方法及系统和人机界面设备
CN110389862A (zh) * 2019-07-24 2019-10-29 上海联影医疗科技有限公司 一种数据保存方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN101771804B (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
CN101771804B (zh) 一种数字电视接收终端软件系统的备份还原方法
CN104166561B (zh) 电子设备系统启动方法和电子设备
CN101334736A (zh) 软件更新方法和便携式终端设备
CN105760200A (zh) 终端设备及其系统升级方法
CN102360298B (zh) 一种终端设备的软件升级方法
CN101923473B (zh) 嵌入式电子装置及更新其固件的方法
CN101494930B (zh) 一种智能终端升级方法和智能终端
CN107179909A (zh) 软件升级方法、装置及计算机可读存储介质
CN102479098A (zh) 使用快照图像的引导设备和方法
CN102346697A (zh) 一种安卓安装包的备份与恢复的方法、系统及移动终端
CN109905770B (zh) 终端开机启动方法、装置及终端
CN102662798A (zh) 一种android系统恢复数据的方法及终端
CN102567136A (zh) 一种计算机系统的备份、还原方法、装置及计算机系统
CN102023908A (zh) 一种引导程序备份方法及装置
JP2013520744A (ja) 最小ブートイメージの生成方法及びその装置
CN102831173A (zh) 基于Android系统的内存扩展方法、装置及终端设备
CN102082965A (zh) 一种保障机顶盒升级成功的方法
CN101571807A (zh) 具有固件的系统及其启动方法
CN104199691A (zh) 一种基于安卓平台的开机自启动apk的方法及终端
CN101634960A (zh) 一种修改bios参数及重新生成校验和的方法
CN102622281A (zh) 智能终端及其数据备份和恢复的方法
CN103984565A (zh) 文件系统预提取的方法与电子装置以及启动方法
CN103197934A (zh) 多媒体装置的启动方法及多媒体装置
CN103902336A (zh) 操作系统启动控制的方法及装置
CN101854426A (zh) 一种移动终端开机启动的方法、系统及移动终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1145917

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1145917

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130605

Termination date: 20211229

CF01 Termination of patent right due to non-payment of annual fee