单板中本地版本软件的校验方法

文档序号:6558504阅读:194来源:国知局
专利名称:单板中本地版本软件的校验方法
技术领域
本发明涉及通信技术,尤其涉及单板中本地版本软件的校验方法。
背景技术
通信设备既要求高可靠性,又不可避免地因缺陷弥补或功能增强而需要进行软件升级。通信设备中的单板通常使用Flash(闪存)等永久介质来存储其软件,我们把该软件称为本地版本。为了确保在最坏情况下仍然能够对单板通过远程控制进行软件下载激活操作,单板上都设置了称为BOOTROM(单板上的一个存储介质,用于存放引导程序)的永久存储介质。通常,在BOOTROM中存放的软件称为BOOTROM版本软件。BOOTROM版本软件是一个功能最小化的安全版本软件,要求其非常稳定,几乎不用升级。通常,在单板出厂时能够确保BOOTROM版本软件总是存在的,因此,可以认为总是能够可靠的得到BOOTROM版本软件。BOOTROM版本软件能够在最坏的情况下确保单板能够通过远端控制进行下载激活软件的操作。
在实际应用中,单板加电后,首先启动的是BOOTROM版本软件,之后再运行本地版本软件。但是,在运行本地版本软件之前,要对其进行一系列的校验,例如验证版本号是否正确、是否与其他单板软件兼容等。
目前,在实际的通信系统中使用非常广泛的校验方法是主控版本校验(Main Controller Version Checking,MCVC)方法,该方法的处理流程如图1所示,在步骤S101中,单板启动后运行BOOTROM版本软件。进入步骤S102,单板向主控板上报本地版本软件信息。进入步骤S103,判断主控板是否回送肯定确认,如果是,进入步骤S104,否则,进入步骤S105。在步骤S104中,如果主控板回送了肯定确认后,则切换到本地版本软件上运行。在步骤S105中,如果主控板回送了否定确认,则单板将继续运行BOOTROM版本软件,等待主控板干预。
在上述方法中,单板必须在主控板回送确认信息后才能运行本地版本软件,否则,单板将继续运行BOOTROM版本软件,或者说,如果主控板长时间没有回送确认信息,单板就会长时间运行BOOTROM版本软件,如果单板运行BOOTROM版本软件,那么就由BOOTROM版本软件负责故障的排除或通信系统的调试,但BOOTROM版本软件的近端调试功能有限,不如本地版本软件的近端调试功能强大。所以,一旦通信设备需要某种调试功能,而单板运行的是不能提供这种功能的BOOTROM版本软件,就会严重影响通信设备的正常运行。

发明内容
本发明要解决的技术问题在于提供一种单板中本地版本软件的校验方法,以使单板在本地版本软件的校验过程中,可以提供更强大的近端调试功能。
为解决上述技术问题,本发明提供了一种单板中本地版本软件的校验方法,包括A.单板启动引导程序并运行本地版本软件;B.单板周期向主控板上报本地版本软件信息;C.如果所述主控板回送的确认为肯定确认,则启动所述本地版本软件的业务功能,否则,继续运行所述本地版本软件。
所述单板启动所述引导程序后还可包括D.判断所述引导程序是否支持启动所述引导程序后直接运行所述本地版本软件的功能,如果是,运行所述本地版本软件后进入步骤B,否则,进入步骤E;E.单板周期向所述主控板上报本地版本软件信息;F.判断所述主控板回送的确认是否为肯定确认,如果是,进入步骤G,否则,进入步骤H;G.运行所述本地版本软件;H.所述单板继续运行所述引导程序中。
所述单板启动所述引导程序后还可包括判断所述引导程序是否支持启动所述引导程序后直接运行所述本地版本软件的功能,如果是,运行所述本地版本软件后进入步骤B,否则,所述单板继续运行所述引导程序。
所述单板启动所述引导程序后还包括单板启动引导程序后,判断本地版本软件是否有效,如果是,进入步骤D或运行所述本地版本软件后进入步骤B,否则,单板继续运行所述引导程序。
单板周期向主控板上报所述本地版本软件信息后,所述主控板判断所述本地版本软件信息是否与所述主控板本地版本软件信息匹配,如果是,向所述单板发送肯定确认,否则,发送非肯定确认。
所述单板继续运行所述引导程序时,等待所述主控板的干预。
所述主控板干预所述单板的过程包括所述主控板激活所述单板的下载功能,所述单板自动下载与所述主控板的本地版本软件信息匹配的本地版本软件。
所述主控板向所述单板发送否定确认的同时,向所述单板发送下载命令,所述下载命令包含所述主控板的本地版本软件信息;所述单板根据所述下载命令下载与所述主控板的本地版本软件信息匹配的本地版本软件。
所述引导程序为BOOTROM版本程序。
在本发明中,单板在启动BOOTROM版本后就立即运行本地版本软件,步骤B、C实现的校验过程都是在单板运行本地版本软件的情况下进行的,这种情况下,无论步骤B、C哪一个环节出现了问题,或者在执行步骤B、C期间系统发生了故障,本地版本软件都可以进行处理,而现有技术中校验过程是在单板运行BOOTROM版本的情况下进行的,而且出现异常情况也是由BOOTROM版本进行处理,由于本地版本软件比BOOTROM版本的调试功能要强大得多,所以本发明提供的校验方法更有助于解决单板在校验过程中出现异常情况的处理。
在现有的通信系统中,有相当数量的单板在启动BOOTROM版本后并不能直接运行本地版本,当然,可以通过修改BOOTROM版本的方法来解决这一问题,但是,即使不对BOOTROM版本修改,本发明提供的校验方法依然能够保证单板完成对本地版本的校验。
在本发明中,单板启动BOOTROM版本后可以先判断本地版本是否有效,如果无效,就驻留在BOOTROM版本中,也不继续后续的校验过程,提前结束校验,这样可以提高校验的效率,也可以节省通信系统的资源。
如果单板驻留在BOOTROM版本中,主控板是可以对单板进行干预的,其中,最佳的干预方式就是激活单板的下载功能,使单板自动下载与主控板本地版本匹配的本地版本,所以,即使本地版本没有通过校验,本发明提供的校验方法也可以用灵活的方式解决校验没有通过的问题。


图1为主控版本校验方法的流程图;图2为本发明第一实施例的流程图;图3为不支持启动引导程序后直接运行本地版本软件的功能的本地版本软件校验方法的流程图;图4为本发明优选实施例的流程图。
具体实施例方式
下面我们将结合附图,对本发明的最佳实施方案进行详细描述。首先要指出的是,本发明中用到的术语、字词及权利要求的含义不能仅仅限于其字面和普通的含义去理解,还包括进而与本发明的技术相符的含义和概念,这是因为我们作为发明者,要适当地给出术语的定义,以便对我们的发明进行最恰当的描述。因此,本说明和附图中给出的配置,只是本发明的首选实施方案,而不是要列举本发明的所有技术特性。我们要认识到,还有各种各样的可以取代我们方案的同等方案或修改方案。
首先,结合图2,对本发明的第一实施例进行说明。
在步骤S201中,单板启动引导程序并运行本地版本软件。单板加电或复位后,首先启动的是引导程序,在本发明中,启动引导程序后,直接运行本地版本软件。
进入步骤S202后,单板周期向主控板上报本地版本软件信息。运行本地版本软件后,单板就要向主控板上报本地版本软件信息,主控板也是一个单板,可以对其他单板的运行进行控制,而且上报的时间要求是周期性的。
最后进入步骤S203,单板通过判断所述主控板回送的确认是否为肯定确认,决定启动所述本地版本软件的业务功能或继续运行所述本地版本软件。由于单板周期向主控板上报了本地版本软件信息,主控板要对本地版本软件信息返回确认的结果,如果主控板确认本地版本软件信息是正确的,则向单板发送肯定确认,单板收到这个确认后,启动本地版本软件的业务功能,如果主控板判断出本地版本软件信息是错误的,则向单板发送非肯定确认,单板收到这个确认后,继续运行所述本地版本软件。
在实际应用中,有些单板的引导程序支持启动引导程序后直接运行本地版本软件的功能,而有些单板在启动引导程序后,需要先进行本地版本软件校验,如果校验通过,再运行本地版本软件,换句话说,这些单板的引导程序不支持启动引导程序后直接运行本地版本软件的功能,对于这些不支持这种功能的单板来说,在启动引导程序后,不能直接进入图2的步骤S202,而是需要执行其他步骤来完成本地版本软件校验的过程。
现在结合图3,对不支持上述功能的单板的本地版本软件校验过程进行说明。在步骤S301中,单板启动引导程序。进入步骤S302,判断引导程序是否支持启动引导程序后而直接运行本地版本软件的功能,如果是,进入步骤S303,否则,进入步骤S304。
在步骤S303中,运行所述本地版本软件。
在步骤S304中,单板周期向所述主控板上报本地版本软件信息。这个步骤与图2的步骤S202基本相同,但区别在于,这个步骤中的单板运行的是引导程序,而步骤S202运行的却是本地版本软件。
完成步骤S304后,进入步骤S305,单板判断所述主控板回送的确认是否为肯定确认,如果是,进入步骤S306,否则,进入步骤S307。如图2的步骤S203所述,单板周期向主控板上报了本地版本软件信息,主控板要对本地版本软件信息返回确认的结果,如果主控板确认本地版本软件信息是正确的,则向单板发送肯定确认,否则发送非肯定确认。
在步骤S306中,单板运行并运行所述本地版本软件。如果单板接收的是肯定确认,则运行本地版本软件并启动本地版本软件的业务功能。
在步骤S307中,单板继续运行引导程序,等待主控板的干预。
此外,在步骤S302中,判断引导程序是否支持启动引导程序后直接运行本地版本软件的功能,如果是,运行所述本地版本软件,否则,可直接进入步骤S307,即,不执行步骤S304-S307。
另外,单板启动引导程序后,还可首先判断本地版本软件是否有效,如果是,运行所述本地版本软件或判断所述引导程序是否支持启动引导程序后直接运行所述本地版本软件的功能,否则,单板继续运行所述引导程序。判断本地版本软件是否有效包括判断本地版本软件的版本号是否正确等措施,增加这个过程是为了先检验本地版本软件的一些基本信息,如果基本信息不正确,则本地版本软件不能通过后续的校验过程,所以如果单板判断出基本信息不正确,则可停止后续的校验过程,以避免占用单板与主控板之间的通信链路。
需要说明的是,单板周期向主控板上报本地版本软件信息后,主控板需要判断本地版本软件信息是否正确,判断的标准可定为判断单板的本地版本软件信息与主控板本地版本软件信息是否匹配,如果是,主控板向所述单板发送肯定确认,否则,发送非肯定确认。
还需说明的是,如果单板继续运行引导程序时,就必须等待主控板的干预。主控板干预单板的过程可以包括主控板激活单板的下载功能,单板自动下载与主控板的本地版本软件信息匹配的本地版本软件。主控板干预单板的过程还可以包括主控板向单板发送否定确认的同时,向单板发送包含主控板的本地版本软件信息的下载命令。相应的,单板根据下载命令下载与主控板的本地版本软件信息匹配的本地版本软件。主控板无论采用何种干预过程,其本质都是令单板下载合适的本地版本软件。
除此之外,本发明的引导程序可以为BOOTROM版本程序。
图2所公开的步骤是实现本发明所必要的步骤,为方便本领域的普通技术人员实现本发明,现在结合图4,以引导程序为BOOTROM版本程序为例,对本发明第一实施例进行说明。
在步骤S401中,单板加电或复位后,启动BOOTROM版本程序。
进入步骤S402,判断本地版本软件是否有效,例如,判断软件版本号等基本信息是否正确,如果是,进入步骤S403,否则,进入步骤S412。
在步骤S403中,判断BOOTROM版本程序是否支持启动BOOTROM版本程序后直接运行本地版本软件的功能,如果是,进入步骤S404,否则,进入步骤S409。在实际应用中,有些单板需先进行本地版本软件校验,检验通过后再运行本地版本软件,所以,这些单板的BOOTROM版本程序不支持启动BOOTROM版本程序后直接运行本地版本软件的功能,但如果对这些单板的BOOTROM版本程序稍做修改或进行升级,则可以使这些单板能够支持启动BOOTROM版本程序后直接运行本地版本软件的功能。
在步骤S404中,如果BOOTROM版本程序支持启动BOOTROM版本程序后直接运行本地版本软件的功能,单板则运行本地版本软件。
完成步骤S404后,进入步骤S405,在运行本地版本软件时单板周期向主控板上报本地版本软件信息。
进入步骤S406,在运行本地版本软件时判断主控板返回的确认是否为肯定确认,如果是,进入步骤S407,否则,进入步骤S408。
在步骤S407中,单板启动本地版本软件的业务功能。
在步骤S408中,单板不启动本地版本软件的业务功能,继续运行本地版本软件。
在步骤S403中,如果BOOTROM版本程序不支持启动BOOTROM版本程序后直接运行本地版本软件的功能,则进入步骤S409,在运行BOOTROM版本程序时单板周期向主控板上报本地版本软件信息。
完成步骤S409后,进入步骤S410,在运行BOOTROM版本程序时判断主控板返回的确认是否为肯定确认,如果是,进入步骤S411,否则,进入步骤S412。
在步骤S411中,单板运行本地版本软件并启动本地版本软件的业务功能。
在步骤S412中,如果单板的本地版本软件无效或接收到的主控板的确认是非肯定确认,则继续运行BOOTROM版本程序,等待主控板的干预。
在实际应用中,主要有三个原因可以导致单板无法正常运行(1)单板的本地版本软件无效;(2)单板和主控板的通信链路发生断路;(3)单板的本地版本软件与主控板的本地版本软件不匹配,这个原因还可以分为单板的BOOTROM版本程序支持或不支持启动BOOTROM版本程序后而直接运行本地版本软件的功能的两种情况。
上述三个原因均会对本地版本软件的校验过程产生负面影响。
当单板的本地版本软件无效时,无论在现有技术的MCVC方法还是本发明提供的方法中,单板都会继续运行BOOTROM版本程序而不会进行后续校验流程,但出现这种情况的概率非常小。
当单板和主控板的通信链路发生断路时,如果单板正在执行周期向主控板上报本地版本软件信息的步骤,而由于通信链路发生断路,主控板就不能接收到本地版本软件信息,本地版本软件也就接收不到肯定或非肯定确认,所以单板就会保持周期上报本地版本软件信息的状态而无法进行后续流程;如果单板正在运行BOOTROM版本程序并等待主控板的干预,而由于通信链路发生断路主控板无法对单板进行干预,则单板会继续运行BOOTROM版本程序而无法进行后续流程。在现有技术的MCVC方法中,所有的校验步骤都是单板运行BOOTROM版本程序时进行的,如果单板在周期上报本地版本软件信息的过程中或单板运行BOOTROM版本程序并等待主控板干预时,单板和主控板的通信链路发生了断路,单板就会保持周期上报本地版本软件信息或运行BOOTROM版本程序的状态而无法进行后续流程,而且BOOTROM版本程序提供的近端调试功能极为有限,不能保证系统运行的稳定。而在本发明的方法中,只要BOOTROM版本程序支持启动BOOTROM版本程序后直接运行本地版本软件的功能,单板就可先运行本地版本软件,之后再执行例如周期上报本地版本软件信息的步骤,即使单板和主控板的通信链路发生断路,致使单板保持周期上报本地版本软件信息的状态,或者主控板返回非肯定确认,单板运行本地版本软件并等待主控板的干预,单板都是处于运行本地版本软件的状态。本地版本软件相对于BOOTROM版本程序具有更强大的近端调试功能,在单板运行本地版本软件期间,如果系统要求单板提供某种调试功能,单板由于运行了本地版本软件就能够完成这个任务,所以,本发明提供的校验方法可以确保通信系统运行的稳定当单板的本地版本软件与主控板的本地版本软件不匹配时,主控板会向单板返回非肯定确认。在现有技术的MCVC方法中,单板如果接收到非肯定确认,就不会运行本地版本软件,而是继续运行BOOTROM版本程序并等待主控板的干预。而在本发明的方法中,单板在接收到非肯定确认后,虽然不会启动本地版本软件的业务功能,但由于已经运行了本地版本软件,所以还会继续运行本地版本软件并等待主控板的干预。本地版本软件相对于BOOTROM版本程序具有更强大的近端调试功能,在本发明中,即使单板的本地版本软件与主控板的本地版本软件不匹配,单板仍然运行本地版本软件,而相对于现有技术的MCVC方法中,单板运行的是BOOTROM版本程序,本发明可提供更多的近端调试功能。
此外,当单板向主控板上报本地版本软件信息时,主控板就开始掌握单板的运行状态等信息。在现有技术的MCVC方法中,单板在运行BOOTROM版本程序时向主控板上报本地版本软件信息,如果主控板返回肯定确认,单板就运行本地版本软件,而运行本地版本软件的过程实际上是单板由BOOTROM版本程序向本地版本软件切换的过程,在这个过程中链路一定会发生断路现象,而主控板可能会误认为单板发生了故障,进而采取一些处理措施,而实际上单板并未出现故障,所以这些处理措施对于单板甚至整个系统都是不必要的,而也有可能由于这些处理措施占用了系统资源,导致了系统资源的浪费,甚至会影响单板原本正常的运行状态。而在本发明的方法中,单板可先运行本地版本软件,之后再上报本地版本软件信息,换句话说,主控板开始掌握单板的运行状态时单板就已经完成了由BOOTROM版本程序向本地版本软件切换的过程,主控板根本不知道这个断路过程,所以,主控板也不会采取不必要的处理措施,克服了现有技术的MCVC方法存在的缺陷。
另外,对于主控板而言,只要主控板能够识别单板发送的信息即可,主控板不需了解单板的BOOTROM版本程序是否支持不支持启动BOOTROM版本程序后直接运行本地版本软件的功能,所以,如果从现有的MCVC方法升级到本发明的校验方法,只需对单板的BOOTROM版本程序稍做修改即可,无须花费大量的操作成本,确实具备可操行性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种单板中本地版本软件的校验方法,其特征在于包括A.单板启动引导程序并运行本地版本软件;B.单板周期向主控板上报本地版本软件信息;C.如果所述主控板回送的确认为肯定确认,则启动所述本地版本软件的业务功能,否则,继续运行所述本地版本软件。
2.如权利要求1所述的单板中本地版本软件的校验方法,其特征在于所述单板启动所述引导程序后还包括D.判断所述引导程序是否支持启动所述引导程序后直接运行所述本地版本软件的功能,如果是,运行所述本地版本软件后进入步骤B,否则,进入步骤E;E.单板周期向所述主控板上报本地版本软件信息;F.判断所述主控板回送的确认是否为肯定确认,如果是,进入步骤G,否则,进入步骤H;G.运行所述本地版本软件;H.所述单板继续运行所述引导程序中。
3.如权利要求1所述的单板中本地版本软件的校验方法,其特征在于所述单板启动所述引导程序后还包括判断所述引导程序是否支持启动所述引导程序后直接运行所述本地版本软件的功能,如果是,运行所述本地版本软件后进入步骤B,否则,所述单板继续运行所述引导程序。
4.如权利要求1、2或3任意一项所述的单板中本地版本软件的校验方法,其特征在于所述单板启动所述引导程序后还包括单板启动引导程序后,判断本地版本软件是否有效,如果是,进入步骤D或运行所述本地版本软件后进入步骤B,否则,单板继续运行所述引导程序。
5.如权利要求1或2所述的单板中本地版本软件的校验方法,其特征在于单板周期向主控板上报所述本地版本软件信息后,所述主控板判断所述本地版本软件信息是否与所述主控板本地版本软件信息匹配,如果是,向所述单板发送肯定确认,否则,发送非肯定确认。
6.如权利要求1、2或3所述的单板中本地版本软件的校验方法,其特征在于所述单板继续运行所述引导程序时,等待所述主控板的干预。
7.如权利要求6所述的单板中本地版本软件的校验方法,其特征在于所述主控板干预所述单板的过程包括所述主控板激活所述单板的下载功能,所述单板自动下载与所述主控板的本地版本软件信息匹配的本地版本软件。
8.如权利要求5所述的单板中本地版本软件的校验方法,其特征在于所述主控板向所述单板发送否定确认的同时,向所述单板发送下载命令,所述下载命令包含所述主控板的本地版本软件信息;所述单板根据所述下载命令下载与所述主控板的本地版本软件信息匹配的本地版本软件。
9.如权利要求1、2或3任意一项所述的单板中本地版本软件的校验方法,其特征在于所述引导程序为BOOTROM版本程序。
全文摘要
本发明提供了一种单板中本地版本软件的校验方法,包括单板启动引导程序并运行本地版本软件;单板周期向主控板上报本地版本软件信息;单板通过判断主控板回送的确认是否为肯定确认,决定启动本地版本软件的业务功能或继续运行本地版本软件。在本发明中,单板在启动引导程序后就立即运行本地版本软件,所以本发明的本地版本软件校验过程都是在单板运行本地版本软件的情况下进行的,无论上述两个步骤中哪一个环节出现了问题,或者在执行上述两个步骤期间系统发生了故障,本地版本软件都可以提供强大的调试功能,对问题或故障进行处理。
文档编号G06F9/445GK1967501SQ200610078679
公开日2007年5月23日 申请日期2006年4月30日 优先权日2006年4月30日
发明者周天翔 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1