CN101539885B - 一种无线通信模块软件自主空中升级的方法、装置及系统 - Google Patents
一种无线通信模块软件自主空中升级的方法、装置及系统 Download PDFInfo
- Publication number
- CN101539885B CN101539885B CN2009100826491A CN200910082649A CN101539885B CN 101539885 B CN101539885 B CN 101539885B CN 2009100826491 A CN2009100826491 A CN 2009100826491A CN 200910082649 A CN200910082649 A CN 200910082649A CN 101539885 B CN101539885 B CN 101539885B
- Authority
- CN
- China
- Prior art keywords
- data
- submodule
- communication module
- wireless communication
- upgrade
- 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.)
- Active
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提出一种无线通信模块的数据组织方法:在无线通信模块中,通过修改分散加载文件将各子模块链接并烧写至存储器中固定的地址;在每一子模块中,将指向该子模块中需要被其它子模块调用的函数或使用的全局变量的指针放在一个独立的段中,并通过修改分散加载文件将该段链接到该子模块的首地址。通过采用该方法进行数据组织的无线通信模块在入网后定时启动通用分组无线业务功能,通过无线网络连接服务器,与服务器进行信令交互来实现对该无线通信模块中当前各子模块的自动升级,无须专人职守,无须外部存储设备,并且可以升级协议栈任意子模块,甚至全部协议栈软件。
Description
技术领域
本发明涉及通信领域,尤其涉及一种无线通信模块软件自主空中升级的方法、装置及系统。
背景技术
当前,各厂家所开发的GSM(Global System for Mobile Communications,全球移动通讯系统)/GPRS(General Packet Radio Service,通用分组无线业务)模块大部分是没有升级功能的。有些带有升级功能的GSM/GPRS模块是通过在本地增加外围设备,例如增加通信接口、模块外存储设备或配合PC机来进行升级。但是,这种方式需要升级专用软硬件设备,并需要专人值守,而且大部分升级范围有限,例如只能升级脚本等,无法进行软件子模块的升级或整个协议栈软件的升级等。当模块作为产品出售后会发往全国各地,如果进行升级则需要大量的人力物力。若将使用现有方案的模块扩展为空中升级则需要添加专用的数据下载软硬件和模块外部存储设备,提高了模块的使用成本。
而且,在目前协议栈程序开发过程中,一般是将所有的子模块都编译成库文件,最后整合在主工程中进行链接,因此每次链接后各个子模块的链接地址会发生变化。这样如果单独升级子模块,较难掌握子模块的烧写位置。在每次链接后子模块内的函数地址会发生变化,而子模块中的一些函数或全局变量可能被其他子模块调用或使用,在调用模块未升级情况下,被调用函数的地址发生变化将会导致调用模块找不到被调用函数的地址。
另外,现有技术中在升级前需要现将升级数据下载到本地设备,但由于空中下载过程需要执行模块程序,因此下载时模块程序不能擦除。也就是说下载和升级需要分步进行,这就需要将下载数据暂时保存在模块中的闪速存储器(Flash Memory)中。而作为嵌入式系统,模块中的flash存储器空间非常有限,无法存储全部的升级代码。
发明内容
本发明要解决的技术问题是提出一种无线通信模块软件自主空中升级的方法、装置及系统,可以实现无线通信模块软件的自主空中升级,无须专人职守,无须外部存储设备,并且可以升级协议栈任意子模块,甚至全部协议栈软件。
为了解决上述技术问题,本发明提出一种无线通信模块的数据组织方法,包括:
在无线通信模块中,通过修改分散加载文件将各子模块链接并烧写至存储器中固定的地址;在每一子模块中,将指向该子模块中需要被其它子模块调用的函数或使用的全局变量的指针放在一个独立的段中,并通过修改分散加载文件将该段链接到该子模块的首地址。
进一步地,上述方法还可具有以下特点:
在各子模块之间预留出升级所需的存储空间。
进一步地,上述方法还可具有以下特点:
当调用子模块调用被调用子模块中的函数或者使用被调用子模块中的全局变量时,先访问被调用子模块的首地址处指向该函数或者该全局变量的指针,再通过该指针来调用被调用子模块中的该函数或者使用被调用子模块中的该全局变量。
为了解决上述技术问题,本发明还提出一种无线通信模块,包含至少一个子模块,其中:
所述无线通信模块,通过分散加载文件将所述各子模块链接并烧写至存储器中固定的地址;所述每一子模块,将指向该子模块中需要被其它子模块调用的函数或使用的全局变量的指针放在一个独立的段中,并通过分散加载文件将该段链接到该子模块的首地址。
进一步地,上述无线通信模块还可具有以下特点:
所述各子模块之间预留有升级所需的存储空间。
进一步地,上述无线通信模块还可具有以下特点:
所述子模块包含调用子模块和被调用子模块;
调用子模块调用被调用子模块中的函数或者使用被调用子模块中的全局变量时,先访问被调用子模块的首地址处指向该函数或者该全局变量的指针,再通过该指针来调用被调用子模块中的该函数或者该全局变量。
进一步地,上述无线通信模块还可具有以下特点:
所述无线通信模块具有通用分组无线业务功能;所述无线通信模块内部固化有服务器的地址信息;
所述无线通信模块入网后定时启动通用分组无线业务功能,根据其内部固化的服务器的地址信息通过无线网络连接服务器,将其当前各子模块的软件版本告知服务器,与服务器进行信令交互,自动完成升级数据的下载和子模块升级。
为了解决上述技术问题,本发明还提出一种无线通信模块软件自主空中升级的方法,用于对上述无线通信模块进行软件自主空中升级,包括:
无线通信模块入网后定时启动通用分组无线业务功能,通过无线网络连接服务器,并将其当前各子模块的软件版本告知服务器;
服务器根据该无线通信模块中当前各子模块的软件版本检测是否存在该无线通信模块的升级数据,如果存在,则向该无线通信模块下发升级指令;
该无线通信模块在收到服务器下发的升级指令后,从服务器上将其升级数据下载至该无线通信模块内的存储器,并在存储器预先约定的地址位置写入升级标志和升级信息;
该无线通信模块在重新启动后,首先检查其存储器中预先约定的地址位置处的升级标志,如果发现有数据需要升级,则读取所述下载至存储器中的升级数据和升级信息,按照升级信息将升级数据写入指定的地址。
进一步地,上述方法还可具有以下特点:
所述服务器的地址是预先定制的;
所述升级信息包括需要升级的子模块数量,每个需要升级的子模块的首地址。
进一步地,上述方法还可具有以下特点:
该无线通信模块在升级时,如果增加了某一子模块的功能,且存在其它子模块调用该子模块的该新增功能,则在增加该子模块的功能后,还需更新调用该子模块的该新增功能的所述其它子模块;或者该无线通信模块如果增加了一新子模块,且存在其它子模块调用该新子模块,则在增加该新子模块后,还需更新调用该新子模块的所述其它子模块。
进一步地,上述方法还可具有以下特点:
服务器在检测到存在该无线通信模块的升级数据后,还对该无线通信模块的升级数据进行数据压缩处理;
服务器在对该无线通信模块的升级数据进行数据压缩处理时,是参考前一版本的数据,将新版本的数据和旧版本的数据进行对比,将相同的数据使用所述数据在旧版本中的偏移和长度标出。
进一步地,上述方法还可具有以下特点:
服务器在对该无线通信模块的升级数据进行数据压缩处理时,还增加了相同数据的敏感度参数。
进一步地,上述方法还可具有以下特点:
服务器将新版本的数据和旧版本的数据按照预先配置的数据块大小划分为多个数据块,并以数据块为单位将新版本的数据和旧版本的数据从数据块0开始进行对比,如果在旧数据块中找不到与新数据块相同的数据时,按照下述方式载入新的数据块,直到找到相同数据:
一,如果新旧数据块号相同则新数据块号加1;
二,如果新数据块号大于旧数据块号则新旧数据块号交换;
三,如果旧数据块号大于新数据块号则新旧数据块号交换且旧数据块号加1。
进一步地,上述方法还可具有以下特点:
该无线通信模块从服务器下载所述经过压缩处理后的升级数据后,进行解压缩处理,该无线通信模块在对升级数据进行解压缩处理时,是遇到相同数据标志,按标志中旧文件的偏移和长度读取相同数据;遇到不同数据标志,标志中有效数据即为新文件数据。
为了解决上述技术问题,本发明还提出一种服务器,包含通信模块、逻辑判断模块、存储模块和数据压缩处理模块,其中:
所述通信模块,与上述无线通信模块进行信令交互,在接收到所述无线通信模块中当前各子模块的软件版本信息后,将所述软件版本信息发送给所述逻辑判断模块,在所述逻辑判断模块的控制下向所述无线通信模块下发升级指令;以及在接收到无线通信模块发送来的下载请求信息后,根据该下载请求信息获取所述存储模块中经过所述数据压缩处理模块压缩处理后的该无线通信模块的升级数据,并将其发送给该无线通信模块;
所述逻辑判断模块,用以根据接收到的该无线通信模块的中当前各子模块的软件版本信息来判断所述存储模块中是否存储有所述无线通信模块中某一子模块的升级数据,如果存在则控制所述数据压缩处理模块压缩所述升级数据,并控制所述通信模块向所述无线通信模块下发升级指令;
所述数据压缩处理模块,用以在所述逻辑判断模块的控制下从所述存储模块中获取需要进行压缩处理的升级数据,对所述需要进行升级的数据进行压缩处理,并将经过压缩处理后的数据存储于所述存储模块;
所述存储模块,用以存储所述无线通信模块中各子模块的升级数据。
进一步地,上述服务器还可具有以下特点:
数据压缩处理模块在对该无线通信模块的升级数据进行数据压缩处理时,是参考前一版本的数据,将新版本的数据和旧版本的数据进行对比,将相同的数据使用所述数据在旧版本中的偏移和长度标出。
进一步地,上述服务器还可具有以下特点:
数据压缩处理模块在对该无线通信模块的升级数据进行数据压缩处理时,还增加了相同数据的敏感度参数。
进一步地,上述服务器还可具有以下特点:
数据压缩处理模块将新版本的数据和旧版本的数据按照预先配置的数据块大小划分为多个数据块,并以数据块为单位将新版本的数据和旧版本的数据从数据块0开始进行对比,如果在旧数据块中找不到与新数据块相同的数据时,按照下述方式载入新的数据块,直到找到相同数据:
一,如果新旧数据块号相同则新数据块号加1;
二,如果新数据块号大于旧数据块号则新旧数据块号交换;
三,如果旧数据块号大于新数据块号则新旧数据块号交换且旧数据块号加1。
为了解决上述技术问题,本发明还提出一种无线通信模块软件自主空中升级的系统,包含无线网络、上述无线通信模块和上述服务器,其中:
无线通信模块入网后定时启动通用分组无线业务功能,通过无线网络连接服务器,并将该无线通信模块中当前各子模块的软件版本告知服务器;
服务器根据该无线通信模块中当前各子模块的软件版本检测是否存在该无线通信模块的升级数据,如果存在,则通过无线网络向该无线通信模块下发升级指令;
该无线通信模块在收到服务器下发的升级指令后,通过无线网络从服务器上将其升级数据下载至该无线通信模块内的存储器,并在所述存储器预先约定的地址位置写入升级标志和升级信息;
该无线通信模块在重新启动后,首先检查其存储器预先约定的地址位置处的升级标志,当发现有数据需要升级时则读取所述下载至存储器中的升级数据和升级信息,按照升级信息将升级数据写入指定的地址。
进一步地,上述系统还可具有以下特点:
所述升级信息包括需要升级的子模块数量,每个需要升级的子模块的首地址。
进一步地,上述系统还可具有以下特点:
该无线通信模块在升级时,如果增加了某一子模块的功能,且存在其它子模块调用该子模块的该新增功能,则在增加该子模块的功能后,还需更新调用该子模块的该新增功能的所述其它子模块;或者该无线通信模块如果增加了一新子模块,且存在其它子模块调用该新子模块,则在增加该新子模块后,还需更新调用该新子模块的所述其它子模块。
进一步地,上述系统还可具有以下特点:
服务器在检测到存在该无线通信模块的升级数据后,还对该无线通信模块的升级数据进行数据压缩处理;服务器在对该无线通信模块的升级数据进行数据压缩处理时,是参考前一版本的数据,将新版本的数据和旧版本的数据进行对比,将相同的数据使用所述数据在旧版本中的偏移和长度标出。
进一步地,上述系统还可具有以下特点:
服务器在对该无线通信模块的升级数据进行数据压缩处理时,还增加了相同数据的敏感度参数,所述敏感度参数用以指示相同数据连续超过多少个字节才认为是有效的相同数据。
进一步地,上述系统还可具有以下特点:
服务器将新版本的数据和旧版本的数据按照预先配置的数据块大小划分为多个数据块,并以数据块为单位将新版本的数据和旧版本的数据从数据块0开始进行对比,如果在旧数据块中找不到与新数据块相同的数据时,按照下述方式载入新的数据块,直到找到相同数据:
一,如果新旧数据块号相同则新数据块号加1;
二,如果新数据块号大于旧数据块号则新旧数据块号交换;
三,如果旧数据块号大于新数据块号则新旧数据块号交换且旧数据块号加1。
进一步地,上述系统还可具有以下特点:
该无线通信模块从服务器下载所述经过压缩处理后的升级数据,进行解压缩处理;该无线通信模块在对升级数据进行解压缩处理时,是遇到相同数据标志,按标志中旧文件的偏移和长度读取相同数据;遇到不同数据标志,标志中有效数据即为新文件数据。
本发明提出的一种无线通信模块软件自主空中升级的方法、装置及系统,可以实现无线通信模块软件的自主空中升级,无须专人职守,无须外部存储设备,其升级所需数据量更小,能够有效节约模块的flash存储器空间,并且可以升级协议栈任意子模块,甚至全部协议栈软件,有效地降低了升级和使用成本,并提高了使用的便利性。
附图说明
图1是本发明实施例无线通信模块的数据组织方式示意图。
图2是本发明应用实例子模块之间的调用方式示意图。
图3是本发明实施例一种无线通信模块软件自主空中升级的方法流程图。
图4是本发明实施例一种无线通信模块软件自主空中升级过程示意图。
图5是本发明实施例新旧数据块加载和比较次序示意图。
图6是本发明应用实例无线通信模块软件自主空中升级的方法流程图。
图7是本发明实施例无线通信模块软件自主空中升级的系统方框图。
具体实施方式
为了解决现有技术的不足,本发明实施例在此提出一种无线通信模块软件自主空中升级的方法、装置及系统。
下面结合附图来详细说明本发明技术方案。
为了使得无线通信模块中的子模块具备独立升级的功能,需要重新对无线通信模块的数据组织方式进行规划,如图1所示,包含:
步骤S101:修改分散加载文件,使用“固定地址”属性将各子模块的链接地址固定在预先设定的地址,即将各子模块的首地址(base address)固定;
固定各子模块的首地址后,在编译出来的映像文件中,各子模块会被链接和烧写到固定的位置,较佳地,各子模块之间应预留出升级所需的空闲空间。在单独升级某个子模块时,可以将该子模块从映像文件中提取出来,并通过预先在升级系统中编写好的程序将该子模块的升级数据烧写到指定地址。
链接器在执行链接程序时会参考分散加载文件中的数据,可以通过编辑分散加载文件命令便一起将各子模块链接到指定的位置。
步骤S102:在每一子模块中,将指向该子模块中需要被其它子模块调用的函数或使用的全局变量的指针放在一个独立的段中,并通过修改分散加载文件将该段链接到该子模块的首地址。
将每个子模块分为执行部分和对外接口部分,将对外接口部分置于子模块的最前端,即首地址。对外接口部分用以承载本子模块中需要被其它子模块调用的函数的指针或者需要被其它子模块使用的全局变量的指针。每个子模块可以预支M个函数指针和N个全局变量指针,即位于子模块首地址的对外接口部分共(M+N)*4个字节。由于将对外接口固定在子模块的首地址,而首地址又是在上述步骤S101中预先设定好的,因此其他子模块可以通过保存在固定地址的指针来访问每次被编译在不同地址的函数或全局变量,从而为独立升级子模块创造必要的条件。
下面以一应用实例来说明采用图1所示方式进行数据组织的子模块之间的调用方式。
如图2所示,子模块2中有2个函数:函数1和函数2,以及2个全局变量:全局变量1和全局变量2。函数1和函数2需要被其他子模块调用,全局变量1和全局变量2需要被其他子模块使用,例如子模块1调用子模块2中的函数2,并使用子模块2中的全局变量1。因此,可如图1中所示数据组织方式,在子模块2中将指向函数1、函数2、全局变量1和全局变量2的指针固定在子模块2的首地址,而子模块2的首地址是固定的,因此这4个指针的地址是固定的。每次编译时,虽然指针指向的地址会随函数或者全局变量地址的变化而变化,但是由于指针的地址是固定的,因此,当子模块1需要调用子模块2中的函数2时,可以先访问子模块2头部的固定地址的指针,再通过该指针来调用子模块2中的函数2即可,该调用方式可以有效地避免由于被调用函数升级而调用函数未升级导致调用函数找不到被调用函数地址而出错的情况。
上述图1所示的子模块数据组织方式以及图2所示的子模块之间调用函数或者使用全局变量的方式,使得子模块独立升级成为可能,下面将在图1和图2的基础上,详细介绍本发明实施例一种无线通信模块软件自主空中升级的方法,参考图3,包含步骤:
步骤S301:无线通信模块入网后定时启动通用分组无线业务(GeneralPacket Radio Service,简称GPRS)功能,通过无线网络连接该无线通信模块内指定的服务器;
所述无线通信模块具有通用分组无线业务功能,其内部固化有服务器的地址信息,所述服务器的地址可根据需要定制;
步骤S302:该无线通信模块在与服务器连接后,与服务器进行信令交互,将该无线通信模块中当前各子模块的软件版本告知服务器;
步骤S303:服务器根据该无线通信模块中当前各子模块的软件版本,检测是否存在该无线通信模块的升级数据,如果存在,则向该无线通信模块下发升级指令;
步骤S304:该无线通信模块在收到服务器下发的升级指令后,根据所述升级指令从所述服务器上将其升级数据下载至该无线通信模块内的flash存储器;
所述升级数据可以是该无线通信模块内的若干个子模块的升级数据;
步骤S305:该无线通信模块对下载来的所述升级数据进行校验,之后在其flash存储器的指定地址写升级标志和升级信息,同时提醒用户有软件需要升级,并告知用户重新启动该无线通信模块后开始升级;
所述升级信息包括需要升级的子模块数量,每个需要升级的子模块的首地址;
步骤S306:待用户重新启动该无线通信模块后,该无线通信模块首先检查其flash存储器中的升级标志,当发现有数据需要升级时则到指定的地址读取升级数据和升级信息,按照升级信息将升级数据写入指定的地址。
经过上述步骤S301至步骤S306完成了该无线通信模块中的若干个子模块的升级,然后引导协议栈软件。
为了更加形象说明上述升级过程,本发明实施例特提供一升级过程示意图,如图4所示,可以帮助进一步理解上述升级过程,该示意图中以需要升级子模块2为例,具体实现方式如上所述,这里不再赘述。
下面将结合图3、图4所示无线通信模块软件自主空中升级的方法,详细介绍在自主升级过程中可能出现的几种情况以及处理方法:
在升级过程中往往会出现通过升级软件扩展现有子模块的功能或直接增加实现扩展功能的子模块,一般称之为增量升级。增量升级技术建立在子模块独立升级的基础上。增量升级分为3种情况:
第一种增量升级情况:
增加子模块功能,该功能与其它子模块无调用关系,或该功能调用其它子模块中的对外接口。
对于该第一种增量升级情况,由于其它子模块的对外接口有固定地址,该新增功能中只需在指定地址调用其它子模块对外接口即可,不会导致其它子模块发生改动,因此该情况相当于子模块独立升级,并且由于子模块间已经留出升级空间,因此只需升级变化的子模块即可。
第二种增量升级情况:
增加子模块功能,其它子模块调用该新增功能的提供的对外接口。
对于该第二种增量升级情况,该情况涉及到与该子模块相关的其他子模块的升级。其它子模块调用增加功能的子模块必然导致其他子模块的功能发生变化。同时提供新增功能的子模块的对外接口也需要改动。这种情况相当于需要同时升级多个子模块。此时需要更新相关的所有子模块。
第三种增量升级情况:
增加1个新的子模块,且该模块具有若干个相关子模块。
对于该第三种增量升级情况,新的子模块可以按照图1所示的方式来组织该新增模块的数据,并添加到协议栈的末尾,同时要在该新增模块前留出空间供前面的子模块升级所需的空间。此外,由于新增的子模块与原来存在的子模块存在调用关系,因此还要更新相关有调用关系的子模块。
由于无线通信模块的flash存储空间的限制,为了实现本发明实施例无线通信模块软件的自主空中升级,还需要考虑如何减少升级数据所占用的存储空间。考虑到每次版本升级时需要修改的数据很少,大部分数据并没有改变,为了减少升级数据所占用的存储空间,本发明实施例还提供了一种数据压缩方法,用以对升级数据进行压缩以减少其占用的存储空间:服务器可以对无线通信模块所需下载的升级数据进行压缩,在进行数据压缩时参考前一版本的数据,将新版本和旧版本进行对比,将相同的数据使用数据在旧文件中的偏移和长度标出。不同数据使用指定标志“0x00000000+不同数据长度+不同数据内容”写入压缩文件。由于标示相同和不同数据需要存储空间成本,而存储空间成本是压缩算法的主要测试指标,因此应严格控制存储空间的使用。
在进行数据压缩时,若使用4字节数据记录和标志,标示一块相同数据需要额外付出8字节的空间成本:4个字节用于标志该块在旧文件中的对应位置,4个字节用于标示相同数据块长度;标示一块不同数据也需要额外付出8字节成本:4个字节用于标示该块为不同数据块,4个字节用于标示不同数据块长度。因此相同数据块的有效数据长度必须大于8字节才有意义。例如:在对16个字节不同数据后跟4字节相同数据再跟16字节不同数据进行压缩时,如果完全按照上述算法进行压缩需要8+16+8+8+16=56个字节的数据,即8字节不同数据块头,加16字节不同数据,加8字节相同数据块,加8字节不同数据块头,加16字节不同数据。而如果将该段数据全部认为是不同数据则只需要8+16+4+16=44个字节,即8字节不同数据块头,加全部的36个字节的数据。因此,本发明实施例中还在此算法中加入对相同数据的敏感度参数,例如当相同数据连续超过12个字节才认为是有效的相同数据。这样可以减少由于相同与不同数据频繁转换而带来的空间资源的浪费。
在进行数据压缩时,若将数据按字节比较速度较慢,因此本发明实施例中提出在进行数据压缩采用将数据按块进行比较的方式,每次比较数据块大小预先定义,并可根据压缩效果进行修改。当在旧数据块中找不到与新数据块相同的数据时,系统按照预先设定的逻辑载入新的数据块,直到找到相同数据。比较顺序为,每新引入一个数据块则将该数据块与所有旧数据块进行比较。
较佳地,本发明实施例提出一种新旧数据块加载和比较方法,包含:
1,新旧数据块从0号开始依次进行比较;
2,如果新旧数据块号相同则新数据块号加1;
3,如果新数据块号大于旧数据块号则新旧数据块号交换;
4,如果旧数据块号大于新数据块号则新旧数据块号交换且旧数据块号加1。
采用上述方法进行比较的过程可以如图5所示,即第1次,将第0个新数据块与第0个旧数据块进行比较;第二次,将第1个新数据块与第0个旧数据块进行比较;第3次,将第0个新数据块与第1个旧数据块进行比较......依此类推。
上述比较方法操作简单,易于实现,其处理速度快,压缩效率高。
另外,采用上述方法对升级数据进行压缩后,除了节约了存储空间外,也大大节约了升级数据的下载时间。
相应地,无线通信模块从服务器中下载到经过压缩处理后的升级数据后,需要对所述经过压缩处理后的升级数据进行解压缩处理,在进行数据的解压缩时,可以是:遇到相同数据标志,按标志中旧文件的偏移和长度读取相同数据;遇到不同数据标志,标志中有效数据即为新文件数据。
下面以一应用实例来说明本发明实施例进行无线通信模块软件自主空中升级的方法:
现有新本版数据如下,其中每个字母代表4个字节:
ADDC EBBD DDME RRQO SKEJ W
旧版本数据如下,其中每个数据块包含4个字母,敏感度为3:
ADDC EFFD DMER RQOS KEJW
下面将以上述两个版本的数据为例,详细介绍无线通信模块软件自主空中升级的方法,参考图6,包含步骤:
步骤S601:无线通信模块入网后定时启动GPRS功能,通过无线网络连接该无线通信模块内指定的服务器;
步骤S602:该无线通信模块在与服务器连接后,与服务器进行信令交互,将该无线通信模块中当前各子模块的软件版本告知服务器;
步骤S603:服务器根据该无线通信模块中当前各子模块的软件版本检测是否存在该无线通信模块的新版本数据,如果存在,则对所述新版本数据进行数据压缩,并向该无线通信模块下发升级指令;
服务器对所述新版本数据进行数据压缩的过程是:
判断两个数据块的前三个字相同,且满足敏感度要求,因此记为相同数据,由于当第一个字节即开始不同与第一个字节相同两种情况下压缩文件的第一个字节都为0,可能引起混淆,为了避免混淆,较佳地,可以写入一个0以示区分,即记录旧数据地址00。然后继续比较第一个数据块,未发现不同,载入新数据的第二个数据块EBBD和旧数据的第二个数据块EFFD,经比较,从第二个字开始出现不同数据,至此,相同数据记录结束,写入相同数据长度5,并写入不同数据标志0,当前压缩数据为0050。经新数据第2块和旧数据第2块比较,在第二个数据块的第4个字时发现相同数据D。继续比较看是否满足敏感度,发现只有两个字相同,即新数据中的第8、9个字和旧数据中的第8、9个字,相同数据个数不满足敏感度,因此不作为相同数据处理。经新数据第3块和旧数据第2块比较,发现新数据第3块中的第一个字与旧数据第2块中的第4个字相同,继续比较,发现超过3个字相同,因此记为相同。不同比较结束,写入不同数据长度和内容以及相同数据在旧数据中的地址后,当前压缩文件为00503 BBD8。继续比较,直到新数据结束,没有不相同数据,记录相同数据长度13=0xD后,当前压缩文件为00503 BBD8 D。压缩结束。
步骤S604:该无线通信模块在收到服务器下发的升级指令后,从服务器下载经压缩处理后的升级数据,并对其进行解压缩处理,之后存储至该无线通信模块的flash存储器;
该无线通信模块对所述经压缩处理后的升级数据进行解压缩的过程是:
读取压缩文件,前两个字为00,在这里认为是相同数据,长度为5,因此读取旧文件中的5个字,当前解压文件为ADDC E。继续读取压缩数据为03,说明当前数据为不同数据,长度为3,直接读取压缩文件中的数据,因此当前解压缩文件为ADDC EBBD。继续读取压缩数据为8,不为0说明这里记录的是相同数据,长度为D,即13个字,因此,读取在旧文件中D地址读取13个字,解压缩文件为ADDC EBBD DDME RRQO SKEJ W,至此,解压缩结束。
升级数据可以是一个或者多个子模块的升级数据。
步骤S605:该无线通信模块对解压缩处理后的升级数据进行数据校验,之后在其flash存储器中预先约定的地址位置写升级标志和升级信息,同时提醒用户有软件需要升级,并告知用户重新启动该无线通信模块后开始升级;
所述升级信息包括需要升级的子模块数量,每个需要升级的子模块的首地址;
步骤S606:该无线通信模块在重新启动后,首先检查其存储器预先约定的地址位置处的升级标志,当发现有数据需要升级时则读取所述下载至存储器中的升级数据和升级信息,按照升级信息将升级数据写入指定的地址。
经过上述步骤S601至步骤S606完成了用新版本的数据更新该无线通信模块中旧版本的数据,即完成了该无线通信模块的升级,然后引导协议栈软件。
为了实现图6所示无线通信模块软件自主空中升级的方法,本发明实施例还提供了一种无线通信模块软件自主空中升级系统,如图7所示,包含无线通信模块71、无线网络72和服务器73,其中:
所述无线通信模块71中包含至少一个子模块。所述无线通信模块71,通过分散加载文件将所述各子模块链接并烧写至存储器中固定的地址;所述每一子模块,将指向本子模块中需要被其它子模块调用的函数或使用的全局变量的指针放在一个独立的段中,并通过分散加载文件将该段链接到本子模块的首地址。所述各子模块之间预留有升级所需的存储空间。
所述无线通信模块71中的子模块包含调用子模块和被调用子模块:调用子模块调用被调用子模块中的函数或者使用被调用子模块中的全局变量时,先访问被调用子模块的首地址处指向该函数或者该全局变量的指针,再通过该函数的指针来调用被调用子模块中的该函数,或者通过该全局变量的指针来使用被调用子模块中的该全局变量。
所述无线通信模块71,具有通用分组无线业务功能,其内部固化有服务器的地址信息。所述无线通信模块71入网后定时启动通用分组无线业务功功能,根据所述服务器的地址信息通过无线网络72连接服务器73,将该无线通信模块71中当前各子模块的软件版本告知服务器73;在收到服务器下发的升级指令后,通过无线网络72从服务器73上将其升级数据下载至该无线通信模块71内的存储器,并在所述存储器预先约定的地址位置写入升级标志和升级信息;以及在重新启动后,首先检查其存储器预先约定的地址位置处的升级标志,当发现有数据需要升级时则读取所述下载至存储器中的升级数据和升级信息,按照升级信息将升级数据写入指定的地址。其中,所述升级信息包括需要升级的子模块数量,以及每个需要升级的子模块的首地址。
较佳地,所述无线通信模块71从服务器73上下载来的升级数据是经过压缩处理的,该无线通信模块71从服务器73下载所述经过压缩处理后的升级数据后,先进行解压缩处理。该无线通信模块71在对升级数据进行解压缩处理时,是遇到相同数据标志,按标志中旧文件的偏移和长度读取相同数据;遇到不同数据标志,标志中有效数据即为新文件数据。
该无线通信模块71在升级时,如果增加了某一子模块的功能,且存在其它子模块调用该子模块的该新增功能,则在增加该子模块的功能后,还需更新调用该子模块的该新增功能的所述其它子模块;或者该无线通信模块71如果增加了一新子模块,且存在其它子模块调用该新子模块,则在增加该新子模块后,还需更新调用该新子模块的所述其它子模块。
所述服务器73,接收到无线通信模块71发送来的当前各子模块的软件版本信息后,根据所述无线通信模块71当前各子模块的软件版本信息检测是否存在该无线通信模块71的升级数据,如果存在,则通过无线网络72向该无线通信模块71下发升级指令。
进一步地,所述服务器73包含通信模块731、逻辑判断模块732、存储模块733和数据压缩处理模块734,其中:
通信模块731,与无线通信模块71进行交互,在接收到无线通信模块71发送来的该无线通信模块71当前各子模块的软件版本信息后,将所述软件版本信息发送给逻辑判断模块732,并在逻辑判断模块732的控制下向无线通信模块71下发升级指令;以及在接收到无线通信模块71发送来的下载请求信息后,根据该下载请求信息获取存储模块733中经过数据压缩处理模块734压缩处理后的该无线通信模块71的升级数据,并将其下发给该无线通信模块71;
逻辑判断模块732,用以根据接收到的该无线通信模块71的中当前各子模块的软件版本信息来判断存储模块733中是否存储有该无线通信模块71中某一子模块的升级数据,如果存在则控制数据压缩处理模块734压缩所述升级数据以及控制通信模块731向无线通信模块71下发升级指令;
数据压缩处理模块734,用以在逻辑判断模块732的控制下从存储模块733中获取需要进行压缩处理的升级数据,对所述需要进行升级的数据进行压缩处理,并将经过压缩处理后的数据存储于存储模块733。数据压缩处理模块734在对该无线通信模块731的升级数据进行数据压缩处理时,是参考前一版本的数据,将新版本的数据和旧版本的数据进行对比,将相同的数据使用所述数据在旧版本中的偏移和长度标出。数据压缩处理模块734是将新版本的数据和旧版本的数据按照预先配置的数据块大小划分为多个数据块,并以数据块为单位将新版本的数据和旧版本的数据从数据块0开始进行对比,如果在旧数据块中找不到与新数据块相同的数据时,按照下述方式载入新的数据块,直到找到相同数据:
一,如果新旧数据块号相同则新数据块号加1;
二,如果新数据块号大于旧数据块号则新旧数据块号交换;
三,如果旧数据块号大于新数据块号则新旧数据块号交换且旧数据块号加1。
较佳地,数据压缩处理模块734在对该无线通信模块71的升级数据进行数据压缩处理时,还可以增加相同数据的敏感度参数。
存储模块733,用以存储无线通信模块71中各子模块的升级数据。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (18)
1.一种无线通信模块软件自主空中升级的方法,其特征在于,所述无线通信模块,包含至少一个子模块,其中:所述无线通信模块,通过分散加载文件将所述各子模块链接并烧写至存储器中固定的地址;所述每一子模块,将指向该子模块中需要被其它子模块调用的函数或使用的全局变量的指针放在一个独立的段中,并通过分散加载文件将该段链接到该子模块的首地址;该方法包括:
无线通信模块入网后定时启动通用分组无线业务功能,通过无线网络连接服务器,并将其当前各子模块的软件版本告知服务器;
服务器根据该无线通信模块中当前各子模块的软件版本检测是否存在该无线通信模块的升级数据,如果存在,则向该无线通信模块下发升级指令;
该无线通信模块在收到服务器下发的升级指令后,从服务器上将其升级数据下载至该无线通信模块内的存储器,并在存储器预先约定的地址位置写入升级标志和升级信息;
该无线通信模块在重新启动后,首先检查其存储器中预先约定的地址位置处的升级标志,如果发现有数据需要升级,则读取所述下载至存储器中的升级数据和升级信息,按照升级信息将升级数据写入指定的地址。
2.如权利要求1所述的方法,其特征在于:
所述服务器的地址是预先定制的;
所述升级信息包括需要升级的子模块数量,每个需要升级的子模块的首地址。
3.如权利要求1或2所述的方法,其特征在于:
该无线通信模块在升级时,如果增加了某一子模块的功能,且存在其它子模块调用该子模块的该新增功能,则在增加该子模块的功能后,还需更新调用该子模块的该新增功能的所述其它子模块;或者该无线通信模块如果增加了一新子模块,且存在其它子模块调用该新子模块,则在增加该新子模块后,还需更新调用该新子模块的所述其它子模块。
4.如权利要求1或2所述的方法,其特征在于:
服务器在检测到存在该无线通信模块的升级数据后,还对该无线通信模块的升级数据进行数据压缩处理;
服务器在对该无线通信模块的升级数据进行数据压缩处理时,是参考前一版本的数据,将新版本的数据和旧版本的数据进行对比,将相同的数据使用所述数据在旧版本中的偏移和长度标出。
5.如权利要求4所述的方法,其特征在于:
服务器在对该无线通信模块的升级数据进行数据压缩处理时,还增加了相同数据的敏感度参数。
6.如权利要求4所述的方法,其特征在于:
服务器将新版本的数据和旧版本的数据按照预先配置的数据块大小划分为多个数据块,并以数据块为单位将新版本的数据和旧版本的数据从数据块0开始进行对比,如果在旧数据块中找不到与新数据块相同的数据时,按照下述方式载入新的数据块,直到找到相同数据:
一,如果新旧数据块号相同则新数据块号加1;
二,如果新数据块号大于旧数据块号则新旧数据块号交换;
三,如果旧数据块号大于新数据块号则新旧数据块号交换且旧数据块号加1。
7.如权利要求4所述的方法,其特征在于:
该无线通信模块从服务器下载所述经过压缩处理后的升级数据后,进行解压缩处理,该无线通信模块在对升级数据进行解压缩处理时,是遇到相同数据标志,按标志中旧文件的偏移和长度读取相同数据;遇到不同数据标志,标志中有效数据即为新文件数据。
8.一种服务器,包含通信模块、逻辑判断模块、存储模块和数据压缩处理模块,其中:
所述通信模块,与无线通信模块进行信令交互,在接收到所述无线通信 模块中当前各子模块的软件版本信息后,将所述软件版本信息发送给所述逻辑判断模块,在所述逻辑判断模块的控制下向所述无线通信模块下发升级指令;以及在接收到无线通信模块发送来的下载请求信息后,根据该下载请求信息获取所述存储模块中经过所述数据压缩处理模块压缩处理后的该无线通信模块的升级数据,并将其发送给该无线通信模块;
所述逻辑判断模块,用以根据接收到的该无线通信模块中的当前各子模块的软件版本信息来判断所述存储模块中是否存储有所述无线通信模块中某一子模块的升级数据,如果存在则控制所述数据压缩处理模块压缩所述升级数据,并控制所述通信模块向所述无线通信模块下发升级指令;
所述数据压缩处理模块,用以在所述逻辑判断模块的控制下从所述存储模块中获取需要进行压缩处理的升级数据,对所述需要进行升级的数据进行压缩处理,并将经过压缩处理后的数据存储于所述存储模块;
所述存储模块,用以存储所述无线通信模块中各子模块的升级数据。
9.如权利要求8所述的服务器,其特征在于:
数据压缩处理模块在对该无线通信模块的升级数据进行数据压缩处理时,是参考前一版本的数据,将新版本的数据和旧版本的数据进行对比,将相同的数据使用所述数据在旧版本中的偏移和长度标出。
10.如权利要求9所述的服务器,其特征在于:
数据压缩处理模块在对该无线通信模块的升级数据进行数据压缩处理时,还增加了相同数据的敏感度参数。
11.如权利要求8所述的服务器,其特征在于:
数据压缩处理模块将新版本的数据和旧版本的数据按照预先配置的数据块大小划分为多个数据块,并以数据块为单位将新版本的数据和旧版本的数据从数据块0开始进行对比,如果在旧数据块中找不到与新数据块相同的数据时,按照下述方式载入新的数据块,直到找到相同数据:
一,如果新旧数据块号相同则新数据块号加1;
二,如果新数据块号大于旧数据块号则新旧数据块号交换;
三,如果旧数据块号大于新数据块号则新旧数据块号交换且旧数据块号加1。
12.一种无线通信模块软件自主空中升级的系统,包含无线网络、无线通信模块和权利要求8所述的服务器,其中:
所述无线通信模块,包含至少一个子模块,其中:所述无线通信模块,通过分散加载文件将所述各子模块链接并烧写至存储器中固定的地址;所述每一子模块,将指向该子模块中需要被其它子模块调用的函数或使用的全局变量的指针放在一个独立的段中,并通过分散加载文件将该段链接到该子模块的首地址;
所述无线通信模块入网后定时启动通用分组无线业务功能,通过无线网络连接服务器,并将该无线通信模块中当前各子模块的软件版本告知服务器;
服务器根据该无线通信模块中当前各子模块的软件版本检测是否存在该无线通信模块的升级数据,如果存在,则通过无线网络向该无线通信模块下发升级指令;
该无线通信模块在收到服务器下发的升级指令后,通过无线网络从服务器上将其升级数据下载至该无线通信模块内的存储器,并在所述存储器预先约定的地址位置写入升级标志和升级信息;
该无线通信模块在重新启动后,首先检查其存储器预先约定的地址位置处的升级标志,当发现有数据需要升级时则读取所述下载至存储器中的升级数据和升级信息,按照升级信息将升级数据写入指定的地址。
13.如权利要求12所述的系统,其特征在于:
所述升级信息包括需要升级的子模块数量,每个需要升级的子模块的首地址。
14.如权利要求12所述的系统,其特征在于:
该无线通信模块在升级时,如果增加了某一子模块的功能,且存在其它子模块调用该子模块的该新增功能,则在增加该子模块的功能后,还需更新 调用该子模块的该新增功能的所述其它子模块;或者该无线通信模块如果增加了一新子模块,且存在其它子模块调用该新子模块,则在增加该新子模块后,还需更新调用该新子模块的所述其它子模块。
15.如权利要求12所述的系统,其特征在于:
服务器在检测到存在该无线通信模块的升级数据后,还对该无线通信模块的升级数据进行数据压缩处理;服务器在对该无线通信模块的升级数据进行数据压缩处理时,是参考前一版本的数据,将新版本的数据和旧版本的数据进行对比,将相同的数据使用所述数据在旧版本中的偏移和长度标出。
16.如权利要求15所述的系统,其特征在于:
服务器在对该无线通信模块的升级数据进行数据压缩处理时,还增加了相同数据的敏感度参数,所述敏感度参数用以指示相同数据连续超过多少个字节才认为是有效的相同数据。
17.如权利要求15所述的系统,其特征在于:
服务器将新版本的数据和旧版本的数据按照预先配置的数据块大小划分为多个数据块,并以数据块为单位将新版本的数据和旧版本的数据从数据块0开始进行对比,如果在旧数据块中找不到与新数据块相同的数据时,按照下述方式载入新的数据块,直到找到相同数据:
一,如果新旧数据块号相同则新数据块号加1;
二,如果新数据块号大于旧数据块号则新旧数据块号交换;
三,如果旧数据块号大于新数据块号则新旧数据块号交换且旧数据块号加1。
18.如权利要求12所述的系统,其特征在于:
该无线通信模块从服务器下载所述经过压缩处理后的升级数据,进行解压缩处理;该无线通信模块在对升级数据进行解压缩处理时,是遇到相同数据标志,按标志中旧文件的偏移和长度读取相同数据;遇到不同数据标志,标志中有效数据即为新文件数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100826491A CN101539885B (zh) | 2009-04-23 | 2009-04-23 | 一种无线通信模块软件自主空中升级的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100826491A CN101539885B (zh) | 2009-04-23 | 2009-04-23 | 一种无线通信模块软件自主空中升级的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101539885A CN101539885A (zh) | 2009-09-23 |
CN101539885B true CN101539885B (zh) | 2011-06-08 |
Family
ID=41123084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100826491A Active CN101539885B (zh) | 2009-04-23 | 2009-04-23 | 一种无线通信模块软件自主空中升级的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101539885B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243587B (zh) * | 2010-05-14 | 2015-09-23 | 康佳集团股份有限公司 | 嵌入式系统中对rom程序的升级方法 |
CN102650947B (zh) * | 2012-04-01 | 2015-06-24 | 广东欧珀移动通信有限公司 | 一种Android手持设备连续增量的空中升级方法 |
CN103686685A (zh) * | 2012-09-20 | 2014-03-26 | 芯讯通无线科技(上海)有限公司 | 无线通讯模块的空中升级方法 |
CN103838587B (zh) * | 2012-11-20 | 2018-03-16 | 贵阳铝镁设计研究院有限公司 | 基于gprs的控制系统远程升级方法及装置 |
CN103902309A (zh) * | 2012-12-27 | 2014-07-02 | 龙尚智联通信科技(上海)有限公司 | 一种远程升级无线模块固件的方法 |
CN103336699A (zh) * | 2013-06-07 | 2013-10-02 | 青岛海信宽带多媒体技术有限公司 | 嵌入式系统软件的升级方法和装置 |
CN104602221A (zh) * | 2013-11-01 | 2015-05-06 | 龙尚科技(上海)有限公司 | 一种基于gprs的远程升级设计方式的模块 |
CN106155734B (zh) * | 2015-04-27 | 2020-09-18 | 南京中兴软件有限责任公司 | 一种软件版本的下载方法及装置 |
CN106293784A (zh) * | 2015-05-19 | 2017-01-04 | 深圳市阿乐卡科技有限公司 | 一种bin文件分块升级的方法 |
CN106940649A (zh) * | 2016-01-04 | 2017-07-11 | 希姆通信息技术(上海)有限公司 | 移动终端升级的方法 |
CN105760201B (zh) | 2016-02-29 | 2019-05-28 | 华为技术有限公司 | 一种嵌入式装置的启动方法和装置 |
CN106250188B (zh) * | 2016-07-29 | 2019-08-23 | 捷开通讯(深圳)有限公司 | 一种系统固件映像文件的生成方法及系统 |
CN106250195A (zh) * | 2016-08-10 | 2016-12-21 | 青岛海信电器股份有限公司 | 更新系统文件的方法、设备及系统 |
CN106411619A (zh) * | 2016-12-02 | 2017-02-15 | 北京博大光通物联科技股份有限公司 | 一种基于低功耗广域网的无线设备升级方法 |
CN106843954A (zh) * | 2017-01-16 | 2017-06-13 | 武汉慧联无限科技有限公司 | 传感器节点远程升级方法 |
CN107357604A (zh) * | 2017-05-04 | 2017-11-17 | 许继集团有限公司 | 一种应用于集成保护的多模块运行方法及装置 |
CN110471675B (zh) * | 2019-08-21 | 2023-06-16 | 山东比特智能科技股份有限公司 | 一种程序烧录方法、系统、装置及计算机可读存储介质 |
CN111025127B (zh) * | 2019-12-05 | 2022-09-23 | 上海御渡半导体科技有限公司 | 一种Pattern静态编译链接的方法 |
CN113433973A (zh) * | 2021-07-20 | 2021-09-24 | 一飞(海南)科技有限公司 | 编队表演航点压缩文件下载到飞机个体保存的方法及系统 |
CN114095954B (zh) * | 2021-10-09 | 2024-02-06 | 福建新大陆通信科技股份有限公司 | 一种基于uart的无线通信模块升级方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356982B1 (en) * | 1999-06-24 | 2002-03-12 | International Business Machines Corporation | Dynamic mechanism to upgrade o state memory-consistent cache lines |
KR20020046668A (ko) * | 2000-12-15 | 2002-06-21 | 김지한, 김재형 | 무선 통신 기기 간 직접 데이터 통신 처리 방법 및 시스템 |
CN1535419A (zh) * | 2001-07-26 | 2004-10-06 | 用于编制现场可升级的无线通信设备软件的系统及方法 | |
CN1331365C (zh) * | 2002-12-31 | 2007-08-08 | 北京信威通信技术股份有限公司 | 无线通信系统终端软件自动升级的方法及系统 |
-
2009
- 2009-04-23 CN CN2009100826491A patent/CN101539885B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356982B1 (en) * | 1999-06-24 | 2002-03-12 | International Business Machines Corporation | Dynamic mechanism to upgrade o state memory-consistent cache lines |
KR20020046668A (ko) * | 2000-12-15 | 2002-06-21 | 김지한, 김재형 | 무선 통신 기기 간 직접 데이터 통신 처리 방법 및 시스템 |
CN1535419A (zh) * | 2001-07-26 | 2004-10-06 | 用于编制现场可升级的无线通信设备软件的系统及方法 | |
CN1331365C (zh) * | 2002-12-31 | 2007-08-08 | 北京信威通信技术股份有限公司 | 无线通信系统终端软件自动升级的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101539885A (zh) | 2009-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101539885B (zh) | 一种无线通信模块软件自主空中升级的方法、装置及系统 | |
US8479180B2 (en) | Maintenance of over the air upgradeable wireless communication device software | |
US7542758B2 (en) | Field downloading of wireless device software | |
KR100422103B1 (ko) | 네트워크를통한전송전에컴퓨터프로그램을처리하기위한장치및방법 | |
EP1410192B1 (en) | System and method for compacting field upgradeable wireless communication device software code sections | |
CN101390057B (zh) | 两级中断服务例程 | |
US20030033599A1 (en) | System and method for executing wireless communications device dynamic instruction sets | |
US20080119178A1 (en) | Allocating Compression-Based Firmware Over the Air | |
CN100511156C (zh) | 强制性地终止输入/输出操作阻止的线程的设备和方法 | |
CN101287189B (zh) | 一种终端显示方法、服务器及终端 | |
CN102013994B (zh) | 网管中实现网元版本兼容的方法、终端及系统 | |
CN104375849A (zh) | 加载内核的方法及装置 | |
CN105242962A (zh) | 基于异构众核的轻量级线程快速触发方法 | |
CN1886976B (zh) | 用于使用动作列表及版本控制对一无线装置执行动作的方法及设备 | |
CN102404149B (zh) | 一种业务特性的管理系统和方法 | |
CN105159718A (zh) | 固件升级方法及装置 | |
US7328007B2 (en) | System and method for organizing wireless communication device system software | |
CN107124446A (zh) | 应用程序下载方法、服务器及终端 | |
KR100653280B1 (ko) | 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법 | |
CN113268272B (zh) | 基于私有云的应用交付方法、装置及系统 | |
US20030069007A1 (en) | System and method for updating persistent data in a wireless communications device | |
CN113127268A (zh) | 银行数据库的数据传输方法及装置 | |
CN103425510B (zh) | 一种交互式升级的方法及装置 | |
CN115437551A (zh) | 数据克隆的方法、设备、存储介质及计算机程序产品 | |
CN103124381B (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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20090923 Assignee: Beijing Datang Smart Card Co., Ltd. Assignor: Datang Microelectronics Technology Co., Ltd. Contract record no.: 2016110000008 Denomination of invention: Soft ware autonomous air upgrading method of wireless communication module, device and system thereof Granted publication date: 20110608 License type: Common License Record date: 20160422 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model |