CN117667163A - 一种通过以太网远程更新dsp程序的方法、设备和存储介质 - Google Patents
一种通过以太网远程更新dsp程序的方法、设备和存储介质 Download PDFInfo
- Publication number
- CN117667163A CN117667163A CN202410135423.8A CN202410135423A CN117667163A CN 117667163 A CN117667163 A CN 117667163A CN 202410135423 A CN202410135423 A CN 202410135423A CN 117667163 A CN117667163 A CN 117667163A
- Authority
- CN
- China
- Prior art keywords
- target
- dsp
- update
- software
- program
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000012795 verification Methods 0.000 claims abstract description 97
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000012544 monitoring process Methods 0.000 claims abstract description 21
- 230000002159 abnormal effect Effects 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Stored Programmes (AREA)
Abstract
一种通过以太网远程更新DSP程序的方法、设备和存储介质,涉及电数字数据处理领域,该方法包括:切换目标DSP的程序加载接口为第一存储接口;基于远程更新代理程序对第一目标业务软件进行合理性验证;在合理性验证失败时,重新获取第一目标业务软件;在合理性验证成功时,开启远程更新代理程序的软件更新权限;实时监测软件更新状态;在软件更新状态为异常时,发送重新更新请求到上位机;接收上位机返回的第二目标业务软件,再次进行验证和更新操作;在软件更新状态为成功时,发送更新停止请求到上位机;切换目标DSP的程序加载接口为第二存储接口。实施该方法,在程序更新失败后,仍然可以重新更新,确保DSP在后续的正常启动和运行。
Description
技术领域
本申请涉及电数字数据处理领域,尤其涉及一种通过以太网远程更新DSP程序的方法、设备和存储介质。
背景技术
在现代工业自动化和智能制造的不断发展中,DSP(Digital Signal Processing,数字信号处理器)能够快速执行加法、乘法等数学运算。也正是因其强大的实时信号处理能力,DSP成为了众多高性能控制系统的核心,这些控制系统广泛应用于通信、图像处理、音频处理等领域。随着技术的迭代,如何快速、高效地更新DSP程序,以适应功能升级和性能优化的需求,成为一个重要的研究方向。
相关技术中,DSP的远程更新方法通常包括上位机通过以太网向DSP发送编译后的二进制更新文件;DSP通过其引导加载程序接收并暂存文件至一个临时区域;新程序在验证通过后,被DSP写入闪存或其他非易失性存储器中,最后再重启并从新程序启动。
然而,相关的远程更新方法在闪存中进行程序更新写入时,可能出现数据丢失或重复,造成相关的运行程序出错,会直接影响到DSP的后续正常运行,导致设备无法启动。
发明内容
本申请提供了一种通过以太网远程更新DSP程序的方法、设备和存储介质,在DSP进行程序的远程更新时,可以保证DSP在程序更新失败后,仍然可以重新进行更新操作,确保DSP和相关设备在后续可以正常启动和运行,降低因更新失败带来的经济时间损失。
第一方面,本申请提供了一种通过以太网远程更新DSP程序的方法,应用于电子设备,该电子设备包括控制器、目标DSP、第一存储器和第二存储器,该方法包括:响应于上位机通过以太网发送的更新开始指令,通过控制器切换目标DSP的程序加载接口为第一存储接口,使得目标DSP运行第一存储接口对应的第一存储器中的远程更新代理程序;控制目标DSP基于远程更新代理程序对第一目标业务软件进行合理性验证;第一目标业务软件在目标DSP运行远程更新代理程序之后,由上位机发送,并存储在目标DSP的随机存取存储器上;在合理性验证失败时,重新从上位机获取第一目标业务软件;在合理性验证成功时,开启目标DSP中远程更新代理程序的软件更新权限,使得目标DSP更新第一目标业务软件到第二存储接口对应的第二存储器上;实时监测第二存储器的软件更新状态;在软件更新状态为异常时,发送重新更新请求到上位机;接收上位机返回的第二目标业务软件,再次进行验证和更新操作;在软件更新状态为成功时,发送更新停止请求到上位机;响应于上位机通过以太网返回的更新结束指令,通过控制器切换目标DSP的程序加载接口为第二存储接口,使得目标DSP运行第二存储器上的更新后的业务软件;更新后的业务软件为第一目标业务软件或第二目标业务软件。
在上述实施例中,电子设备通过在更新前让DSP运行更新代理程序,再进行严格的业务软件验证,以及更新状态的监控和异常处理机制,确保了即使更新过程中出现异常,还能重新更新,避免了更新失败后无法恢复的风险,保证了远程更新的可靠性。在更新完成后切换加载接口再运行业务软件,增加了一道安全隔离,可以避免受到更新过程的影响,进一步提升了稳定性。
结合第一方面的一些实施例,在一些实施例中,在开启目标DSP中远程更新代理程序的软件更新权限的步骤之前,该方法还包括:上传第二存储接口对应的第二存储器上的原始业务软件至上位机;在通过控制器切换目标DSP的程序加载接口为第二存储接口,使得目标DSP运行对应的目标业务软件的步骤之后,该方法还包括:实时监测目标DSP运行目标业务软件的运行状态;在运行状态为异常时,发送更新回溯请求至上位机;响应于上位机通过以太网返回的更新回溯指令,通过控制器切换目标DSP的程序加载接口为第一存储接口;接收上位机发送的原始业务软件数据,并通过第一存储器中的远程更新代理程序更新原始业务软件数据到第二存储器上。
在上述实施例中,电子设备通过在更新前将原始业务软件备份上传,设置软件回退机制,在更新后新软件运行异常时,可以快速回滚到原始稳定版本,避免了更新失败后的服务中断,保证了更新的可用性和鲁棒性。既可以进行新功能的升级,又可以随时快速回退,极大降低了更新风险,提升了远程更新的灵活性。
结合第一方面的一些实施例,在一些实施例中,该电子设备还包括备用DSP和第三存储器,在通过控制器切换目标DSP的程序加载接口为第一存储接口的步骤之前,该方法还包括:通过控制器切换备用DSP运行第三存储器上的与目标DSP的业务软件对应的稳定业务软件;稳定业务软件由上位机分发;控制备用DSP基于稳定业务软件对目标DSP的数据处理任务进行代理。
在上述实施例中,电子设备通过备用DSP进行任务代理,确保了在目标DSP进行更新时,业务功能可以不间断地继续运行,将更新对服务的影响降到最小,保证了远程更新的平滑性,对正常的工作运营无影响,进一步提升了实用性和用户体验。
结合第一方面的一些实施例,在一些实施例中,在控制备用DSP基于稳定业务软件对目标DSP的数据处理任务进行代理的步骤之后,该方法还包括:在确定目标DSP运行更新完成后的目标业务软件之后,通过控制器将备用DSP的数据处理任务返还给目标DSP;清空第三存储器上的软件数据。
在上述实施例中,电子设备通过在任务转移恢复后清空备用DSP的存储器,实现了资源的合理释放和数据安全隔离。避免了长时间备份带来的存储资源占用问题,确保了备用DSP在下一轮更新时具有充足的存储空间加载稳定业务软件,提高了系统资源的利用效率,同时也清除了旧数据遗留造成的数据泄露风险,增强了更新操作的安全性。
结合第一方面的一些实施例,在一些实施例中,对第一目标业务软件进行格式校验,得到格式校验结果;在格式校验结果为成功时,检测第一目标业务软件中的关键程序模块是否存在,得到程序验证结果;在程序验证结果为成功时,统计关键程序模块之间的调用关系,生成程序调用图;根据预设的多个调用逻辑模板,逐一比对程序调用图与多个调用逻辑模板的匹配度,得到逻辑匹配结果;在逻辑匹配结果为成功时,以匹配成功的调用逻辑模板为匹配逻辑模板,对第一目标业务软件中的参数、变量初始值进行逻辑校验,判断是否符合预设参数阈值,得到变量验证结果;在变量验证结果为成功时,确定合理性验证成功。
在上述实施例中,电子设备通过详细的业务软件验证流程,实现了全面的合理性检查。格式校验、关键模块检测、调用关系统计、逻辑匹配和变量验证的组合,从代码结构到业务逻辑进行了全面验证,确保了业务软件的完整性与合规性,避免了非法、错误的软件破坏系统稳定运行,增强了更新过程的安全控制。
结合第一方面的一些实施例,在一些实施例中,响应于上位机通过以太网发送的更新开始指令,通过控制器切换目标DSP的程序加载接口为第一存储接口的步骤,具体包括:接收上位机通过以太网发送的更新开始指令;解析更新开始指令,确定软件更新的更新权重;在更新权重低于预设权重阈值时,延迟预设等待时间后,再通过控制器切换目标DSP的程序加载接口为第一存储接口。
在上述实施例中,电子设备通过解析更新指令的权重信息,实现了智能化的更新决策。根据业务需求的紧迫程度动态确定更新时机,避免了简单固定策略带来的等待时间过长或更新不当的问题。同时根据DSP的工作周期科学设置等待时间,确保了更新效率,实现了智能化更新,在兼顾业务需求的同时也保证了更新的顺利进行。
结合第一方面的一些实施例,在一些实施例中,在更新权重低于预设权重阈值时,延迟预设等待时间后,再通过控制器切换目标DSP的程序加载接口为第一存储接口的步骤,具体包括:在更新权重低于预设权重阈值时,收集目标DSP的工作周期;工作周期包括工作时间段和待机时间段;确定目标DSP的程序更新的预测更新用时;计算得到当前时间到下一个目标待机时间段的差值绝对值,得到预设等待时间;目标待机时间段大于预测更新用时;延迟预设等待时间后,再通过控制器切换目标DSP的程序加载接口为第一存储接口。
在上述实施例中,电子设备通过预测更新时间和计算最佳等待时间,实现了高效的时间管理。合理预估更新时间,选取保证更新完成的最短待机窗口,最大程度压缩了更新所需时间,既满足了更新的需要,又尽量缩短了对业务的中断时间,提升了更新效率与时间利用率。
第二方面,本申请实施例提供了一种电子设备,该电子设备包括:第一切换模块,用于响应于上位机通过以太网发送的更新开始指令,通过控制器切换目标DSP的程序加载接口为第一存储接口,使得目标DSP运行第一存储接口对应的第一存储器中的远程更新代理程序;程序验证模块,用于控制目标DSP基于远程更新代理程序对第一目标业务软件进行合理性验证;第一目标业务软件在目标DSP运行远程更新代理程序之后,由上位机发送,并存储在目标DSP的随机存取存储器上;第一重置模块,用于在验证失败时,重新从上位机获取第一目标业务软件;程序更新模块,用于在验证成功时,开启目标DSP中远程更新代理程序的软件更新权限,使得目标DSP更新第一目标业务软件到第二存储接口对应的第二存储器上;状态监测模块,用于实时监测第二存储器的软件更新状态;第二重置模块,用于在软件更新状态为异常时,发送重新更新请求到上位机;重新更新模块,用于接收上位机返回的第二目标业务软件,再次进行验证和更新操作;更新终止模块,用于在软件更新状态为成功时,发送更新停止请求到上位机;第二切换模块,用于响应于上位机通过以太网返回的更新结束指令,通过控制器切换目标DSP的程序加载接口为第二存储接口,使得目标DSP运行第二存储器上的更新后的业务软件;更新后的业务软件为第一目标业务软件或第二目标业务软件。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第四方面,本申请实施例提供一种包含指令的计算机程序产品,当上述计算机程序产品在电子设备上运行时,使得上述电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,包括指令,当上述指令在电子设备上运行时,使得上述电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
可以理解地,上述第二方面、第三方面提供的电子设备,第四方面提供的计算机程序产品和第五方面提供的计算机存储介质均用于执行本申请实施例所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、由于采用了在DSP远程更新前运行更新代理程序进行业务软件验证,进行更新状态监测和异常处理的机制,所以可以有效避免更新失败后DSP程序的无法恢复,保证远程更新的安全可靠执行,有效解决了相关技术中远程更新失败后无法重新更新导致服务中断的问题,进而实现了稳定可靠的DSP远程更新。
2、由于采用了在DSP更新后将原始业务软件备份并提供软件回退机制,所以在新软件运行异常时可以快速回退到原始稳定版本,避免更新失败后对服务造成的损失,有效解决了相关技术中远程更新失败后无法回滚导致业务中断的问题,进而实现了既可以进行新功能升级又可以随时回退保证业务稳定运行的可靠灵活的DSP远程更新。
3、由于采用了预测更新时间和计算最佳等待时间的方式确定更新时机,所以可以最大程度压缩更新所需时间,既满足了更新的需求,又尽量缩短了对业务的中断,有效解决了相关技术中简单固定的更新策略导致等待时间过长或更新不当的问题,进而实现了更新效率高且时间利用率优化的智能化DSP远程更新。
附图说明
图1是本申请实施例中通过以太网远程更新DSP程序的方法的一个流程示意图;
图2是本申请实施例中电子设备的信息交互示意图;
图3是本申请实施例中通过以太网远程更新DSP程序的方法的另一个流程示意图;
图4是本申请实施例中电子设备的一种功能模块结构示意图;
图5是本申请实施例中电子设备的一种实体装置结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书中所使用的那样,单数表达形式“一个”、“一种”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为便于理解,下面介绍本申请实施例的应用场景。
某新能源公司在全国范围内布局了上千个新能源电站,这些电站中的关键逆变器和变流器设备中都搭载了XYZ公司的DSP芯片,用于电力转换控制。近年来电力智能化提升要求提高了对DSP计算能力和控制精度的需求,但是这些设备出厂后,DSP的软件接口都被内部包装层封闭,无法进行有线本地更新。为实现在线远程更新DSP软件,提升电站设备智能化水平,就需要解决接口被封闭无法直接接入DSP进行有线更新的难题。而这些电站地域分散,如果需要现场打开设备更新软件,将耗费巨大的人力和物力成本。
在相关技术中,可以通过以太网接口将DSP固件更新包发送给DSP设备,由DSP中的引导加载程序直接完成更新来实现远程无线更新。下面介绍使用相关技术中的通过以太网远程更新DSP程序的方法的场景。
之前该公司采用了简单的有线网络远程更新方案,研发人员通过网络直接远程登录设备,发送更新指令进行DSP固件更新文件覆盖。但由于无法直接访问封闭的DSP接口,该更新方式极不稳定。一次因网络传输问题导致的更新失败,造成上百台设备DSP固件损坏,设备无法启动,直接经济损失上百万。之后不得不组织大量工程师打开设备逐一进行DSP硬件修复,工期长达一月之久。
而采用本申请实施例中的通过以太网远程更新DSP程序的方法,通过严格验证更新包合理性,可以实现可靠的远程更新,还可以通过重新开启程序更新进程,有效解决更新失败后无法恢复的问题,进而实现了安全可靠的DSP远程无线更新。下面介绍使用了本申请中通过以太网远程更新DSP程序的方法的场景。
为解决该问题,研发团队采用了本申请的通过以太网远程更新DSP程序的方法,通过预置的更新代理程序实现对封闭DSP的验证备份更新,即使更新失败也可以快速重启更新,避免开箱维修。该方法投入使用后,在多次因个人操作失误造成的更新失败情况下,设备也可以迅速恢复控制和通信功能,避免了大规模停机事故的发生。也不再需要大量出差维修,每年为公司节省了上百万元的维护成本。该方法实现了低成本、可靠的在线远程更新方案,大幅降低了维护成本,提升了系统的安全性和智能化水平,达到了电力行业的可靠性要求。
可见,采用本申请实施例中的通过以太网远程更新DSP程序的方法,在实现DSP远程无线更新的同时,还可以有效解决现有技术中更新失败后无法恢复导致系统瘫痪的问题,进而实现了稳定可靠的DSP远程无线更新。
为便于理解,下面结合上述场景,对本实施提供的方法进行流程叙述。请参阅图1,为本申请实施例中通过以太网远程更新DSP程序的方法的一个流程示意图。
S101、响应于上位机通过以太网发送的更新开始指令,通过控制器切换目标DSP的程序加载接口为第一存储接口,使得目标DSP运行第一存储接口对应的第一存储器中的远程更新代理程序。
请参阅图2,为本申请实施例中电子设备的信息交互示意图。图2中(a)示出了上位机和电子设备交互的场景,电子设备中有控制器、目标DSP、第一存储器和第二存储器。第一存储器中存储有远程更新代理程序,第二存储器中存储有业务软件运行程序。
需要说明的是,控制器不限于单片机、嵌入式处理器、CPU、FPGA等具有网络通信功能的单元,能够接收指令并进行数据处理,还能信息响应和分发指令。控制器通过以太网与上位机通信连接,目标DSP也过以太网与上位机通信连接。以太网在一些实施例中为特定的网线和接口。控制器能发送控制信号到目标DSP,用于切换目标DSP的存储接口,也能控制目标DSP的运行。
当电子设备中的控制器通过以太网收到上位机发送过来的远程更新开始指令时,会首先解析该启动指令,检查指令中的更新任务信息是否正确完整。例如更新任务信息中可能包含要更新的目标DSP芯片的编号、更新文件在服务器上的存储路径等。在确认更新任务信息完整无误后,控制器会将目标DSP芯片的程序加载接口切换为连接第一存储器的第一存储接口,这样目标DSP芯片在启动时就会运行存储在第一存储器中的远程更新代理程序,以开始后续的更新准备流程。
S102、控制目标DSP基于远程更新代理程序对第一目标业务软件进行合理性验证。
在目标DSP芯片运行存储在第一存储器中的远程更新代理程序后,电子设备会利用该远程更新代理程序对上位机通过以太网发送过来的第一目标业务软件进行全面的合理性验证。验证内容可以包括文件格式校验、关键程序模块检测、程序调用关系校验、业务逻辑参数合法性校验等。例如对第一目标业务软件进行格式头校验,判断文件大小、版本信息是否匹配;检测关键程序模块是否存在完整;扫描程序参数和变量初始值,判断是否在合理阈值范围内等。这些严格的验证检测可以全面保证第一目标业务软件的完整性和正确性。
S103、在合理性验证失败时,重新从上位机获取第一目标业务软件。
如果上述S102步骤中的任一验证检测失败,则判断为第一目标业务软件不合法,更新代理程序会向上位机发送重新获取指令。上位机在经用户确认后,可以重新发送目标业务软件发送给电子设备,重复S102步骤进行合理性验证。如果多次获取的业务软件均不合理,更新代理程序也可以发送更新中止指令,完全终止本次更新过程。如果验证成功,则进入后续的更新步骤,利用更新代理程序中的权限执行第一目标业务软件的更新。
S104、在合理性验证成功时,开启目标DSP中远程更新代理程序的软件更新权限,使得目标DSP更新第一目标业务软件到第二存储接口对应的第二存储器上。
如果第一目标业务软件通过了更新代理程序的合理性验证,电子设备中的控制器就会按照验证通过的业务软件版本,开启目标DSP芯片中更新代理程序的软件更新权限,解锁并授权更新代理程序的对第二存储器的更新访问权限。这时,更新代理程序就可以根据验证通过的第一目标业务软件,将其中的代码和数据进行更新写入操作,将第一目标业务软件更新到第二存储器上,以完成主要的软件更新过程。比如第一目标业务软件在完成验证后,更新代理程序可以获取到该业务软件的存储地址、长度等信息,然后利用开启的更新权限,进行逐段验证与写入,将新软件更新到第二存储器指定分区。
一般来说,目标DSP在验证第一目标业务软件时,会将其存储在自身的随机存取存储器上,验证通过后,可以直接将第一目标业务软件写入到第二存储器上。在一些实施例中,第一目标业务软件内存占用较大,目标DSP在验证第一目标业务软件时,可以采用边验证边存储的方式,即上位机发过来的第一目标业务软件可以是分段的,目标DSP对这些一段一段的第一目标业务软件分别进行验证,验证通过后存储到第二存储器上,一段一段的第一目标业务软件在第二存储器上最终又会整合为完整的业务软件文件。第一目标业务软件的写入,将擦除第二存储器上原有的业务软件。
S105、实时监测第二存储器的软件更新状态。
在软件更新写入的过程中,电子设备中的状态监测模块会实时监视第二存储器的软件更新状态,对整个更新写入的过程进行监控。例如可以检测写入的地址范围是否正确,数据块校验值是否匹配,以及最终的更新完成标志是否正确设置等。如果监测到任何写入异常,例如数据校验错误,地址越界等,都会判定为更新状态异常,触发重新更新的回退机制。
S106、在软件更新状态为异常时,发送重新更新请求到上位机。
当状态监测模块判断软件更新状态为异常时,表示本次软件更新出现问题,没有正确完成,这时电子设备会立即停止当前更新操作,控制器会向上位机发送重新更新请求指令,要求上位机重新发送第二目标业务软件,以便进行新一轮的验证更新过程,修复更新失败问题。同时电子设备也会提供本次更新的详细日志,协助找出失败原因。此回退机制可以避免更新不成功对系统影响。
这里的第二目标业务软件,“第二”是为了区分上述第一目标业务软件的“第一”而进行的表述,在实际的实施过程中,第二目标业务软件根据用户在上位机的选择操作来确定,根据用户的选择,第二目标业务软件可以是之前的第一目标业务软件,也可以是用户用来测试效果的其他业务软件。
S107、接收上位机返回的第二目标业务软件,再次进行验证和更新操作。
当电子设备向上位机发送重新更新请求后,上位机在经用户确认后,或在等待预设时间后,会发送第二目标业务软件给电子设备。电子设备中的控制器会调用更新代理程序接收该第二目标业务软件,重复之前的验证流程,对第二目标业务软件进行合理性验证,验证通过后将第二目标业务软件更新到第二存储器上。
S108、在软件更新状态为成功时,发送更新停止请求到上位机。
当软件更新状态为成功时,电子设备即确认已将验证通过的第一目标业务软件或第二目标业务软件更新到了第二存储器中。电子设备会向上位机发送更新停止请求,通知上位机业务软件已更新成功。
S109、响应于上位机通过以太网返回的更新结束指令,通过控制器切换目标DSP的程序加载接口为第二存储接口,使得目标DSP运行第二存储器上的更新后的业务软件。
收到电子设备发送的更新停止请求后,经用户确认,或在预设等待时间后,上位机会返回正式的更新结束指令给电子设备。此时电子设备判断本次远程更新已全部结束,控制器会切换目标DSP芯片的程序加载接口到连接第二存储器的接口上,这样目标DSP芯片在下次启动时就会运行存储在第二存储器中的更新完成的新版本的业务软件。至此,整个远程更新过程通过电子设备的主动控制和管理,最终可靠地完成了目标DSP芯片的软件升级,并重新恢复到正常业务运行。
上面实施例中,采用更新前置验证和后置重新更新机制进行远程无线更新。在实际应用中,还需要考虑不同应用场景下的具体实现,例如针对无人值守设备可以设置版本回退,针对计划维护场景可以选择延迟更新。下面对本实施例的场景进行补充。
在持续改进中,研发团队结合电力负荷预测技术,实现了“低谷期预约更新”模式,可以根据电站未来一周的负荷曲线预判出设备闲置的低谷期时间段,自动预约在该低谷期进行设备更新。该模式大幅压缩了对正常发电的影响,也避免了人工判断更新时机的错误操作。最近一次调用该模式后,成功在用户完全未察觉的情况下完成了区域内上百台设备的批量更新升级,大幅降低了更新对电力供应的影响。
在结合上述场景后,下面对本实施提供的方法进行进一步的更具体的流程叙述。请参阅图3,为本申请实施例中通过以太网远程更新DSP程序的方法的另一个流程示意图。
S301、响应于上位机通过以太网发送的更新开始指令,通过控制器切换目标DSP的程序加载接口为第一存储接口,使得目标DSP运行第一存储接口对应的第一存储器中的远程更新代理程序。
参考步骤S101,电子设备会在接收更新开始指令后,切换目标DSP的程序加载接口到第一存储接口,为更新做准备。
在一些实施例中,电子设备会接收上位机通过以太网发送的更新开始指令;并解析更新开始指令,确定软件更新的更新权重;在更新权重低于预设权重阈值时,电子设备会延迟预设等待时间后,再通过控制器切换目标DSP的程序加载接口为第一存储接口。
具体的,当上位机确定需要对连接其下的某台电子设备中的DSP芯片进行远程更新时,会先通过以太网网络发送一条更新开始指令数据包给该电子设备。电子设备中的网络接口在收到该数据包后,会调用指令解析模块对数据包进行解析,提取出启动更新任务的具体信息,如目标DSP的身份信息、更新文件存储位置等,以确认远程更新作用的目标DSP,该目标DSP可以为一个或多个。该数据包中还会包含更新权重,电子设备中内置有设备运行权重,电子设备会将该更新权重与设备运行权重进行比较,若更新权重更高,则确认需要立即更新;若更新权重更低,则需要等待设备运行完毕。
而且不同的更新任务根据业务需求会存在紧迫程度,上位机会根据用户设置配置不同的数字类型的更新权重,该数字类型的更新权重可以直接表示出设备更新的最短等待时间或最长等待时间。例如,电子设备内置的设备运行权重为10,权重越小则越重要,如果该数字类型的更新权重为9,则电子设备需要立即停止运行,并对目标DSP进行更新;如果该数字类型的更新权重为20,则电子设备需要在20分钟内进行更新。另外,更新权重也可以为小数或特殊格式,例如20.60,20-60,20(空格)60等,用于表示更新可以在20分钟后启动,但不能超过60分钟。而使用了小数或特殊格式后,检测更新权重时,会先检测如小数点、横杠、空格的位置,再取前面的数值为更新权重,取后面的数值为最大的更新等待时间,若后面无数值,则可以进行无限制等待。
该预设权重阈值为上述的设备运行权重,低于预设权重阈值即更新权重的数值大于设备运行权重的数值,即权重大小与数值大小成反比。例如,如果解析得到的更新权重值为3,而预设的权重阈值设置为5,数值上3小于5,权重上3高于5,这时电子设备需要立即执行切换DSP接口的操作。而更新权重值为10时,此时更新权重低于预设权重阈值时,电子设备会延迟预设等待时间后,再通过控制器切换目标DSP的程序加载接口为第一存储接口,等待期间,电子设备可继续维持当前DSP业务运行,避免过早中断。待等待时间达到后,电子设备才会执行切换DSP接口等后续更新操作。这样可以根据更新的紧迫程度动态调整更新时间,避免对正在运行的业务造成不必要的中断影响。
进一步的,在一些实施例中,电子设备会在更新权重低于预设权重阈值时,收集目标DSP的工作周期;电子设备会确定目标DSP的程序更新的预测更新用时;然后计算得到当前时间到下一个目标待机时间段的差值绝对值,得到预设等待时间;延迟预设等待时间后,电子设备会再通过控制器切换目标DSP的程序加载接口为第一存储接口。
具体的,电子设备会在更新权重低于预设权重阈值时,收集目标DSP的工作周期。工作周期是指DSP执行业务任务的运行时间段和待机时间段。例如工作时间段可以是8点10分到8点50分,待机时间段是8点50分到9点。收集DSP工作周期可以让电子设备更好确定更新时机。
电子设备会确定目标DSP的程序更新的预测更新用时。电子设备会根据第一目标业务软件的大小,以及网络带宽、DSP读写速率等信息,来预测完成全部更新要花费的时间。例如一个1GB的更新包在80MB/s的网络下,虽然DSP读写速度100MB/s,但预测更新时间根据网速,确定为12.5秒。
然后电子设备会计算得到当前时间到下一个目标待机时间段的差值绝定值,得到预设等待时间。电子设备会根据当前时间、工作周期、预测更新用时来智能算出最佳等待时间。比如当前时间是下午15点,距离15点30分的待机时间段还有30分钟,该待机时间段为5分钟,而更新需要6分钟,则电子设备会继续查找后面的待机时间段。又如16点30分有一次长待机,该长待机的待机时间段为15分钟,满足6分钟的更新要求,则电子设备会以16点30分的待机时间段为目标待机时间段,计算出预设等待时间为1个小时30分钟。
延迟预设等待时间后,电子设备会再通过控制器切换目标DSP的程序加载接口为第一存储接口,进行后续的业务软件验证和更新操作。
在一些实施例中,电子设备还会通过控制器切换备用DSP运行第三存储器上的与目标DSP的业务软件对应的稳定业务软件;并控制备用DSP基于稳定业务软件对目标DSP的数据处理任务进行代理。
请参阅图2,为本申请实施例中电子设备的信息交互示意图。图2中(b)示出了第2个上位机和电子设备交互的场景,电子设备中除了控制器、目标DSP、第一存储器和第二存储器之外,还有备用DSP和第三存储器。
电子设备中的控制器在更新目标DSP的业务软件之前,会先指令备用DSP加载存储在第三存储器中的相应的稳定版本业务软件,在稳定版本业务软件接管原有的业务之后,再让目标DSP逐步停止当前于运行的业务。上位机会在更新前下发这个稳定版本软件给电子设备保存,用于在更新期间替代运行。这个版本的业务软件与目标DSP原有软件功能对应,但更加稳定可靠。
电子设备会控制备用DSP基于稳定业务软件对目标DSP的数据处理任务进行代理。在备用DSP完成稳定业务软件的加载后,电子设备中的控制器会将目标DSP原先进行的数据处理任务转移给备用DSP,由备用DSP利用稳定版本的业务软件进行过渡期的任务处理。例如可以将目标DSP上进行的A区、B区和C区的图像处理任务临时交给备用DSP先进行代替处理,避免任务中断。图像处理任务可以分为多个区域,有A区、B区、C区、……N区等,可交由不同的DSP进行处理。在目标DSP进入更新状态时,其原有的数据处理任务可以由备用DSP先代为继续进行,使电子设备无需停止服务就可以进行DSP软件更新,可以最大限度保证服务的持续性。
进一步的,在一些实施例中,电子设备会在确定目标DSP运行更新完成后的目标业务软件之后,通过控制器将备用DSP的数据处理任务返还给目标DSP;并清空第三存储器上的软件数据。
具体的,电子设备会在确定目标DSP运行更新完成后的目标业务软件之后,通过控制器将备用DSP的数据处理任务返还给目标DSP。在目标DSP完成软件更新,运行验证正常后,电子设备中的控制器会向备用DSP发送控制指令,指示备用DSP停止当前的任务处理,并将之前从目标DSP接管的那些待处理任务逐步返还给目标DSP。例如将之前代理处理的A区、B区和C区的图像识别等任务的后续处理权限逐步移交回目标DSP,恢复目标DSP的正常业务运行。
在全部任务返回后,电子设备还会清除第三存储器中保存的备用DSP用于替代运行的那个稳定版本的业务软件。清空的方式可以是直接按位数据抹写、目录删除等,将第三存储器上的软件内容全部删除,为下次更新时再次保存新的稳定版本软件做准备,或为下一个DSP的更新做准备。
这样一来,更新完成后电子设备可以做到自动化地使目标DSP回归正常业务,备用DSP停止过渡任务,第三存储器清空技术数据,系统自动恢复到初始待更新的状态。整个过程无需人工参与,实现了无感知的自动化DSP更新。
S302、控制目标DSP基于远程更新代理程序对第一目标业务软件进行合理性验证。
参考步骤S102,电子设备会对第一目标业务软件进行验证。
在一些实施例中,电子设备会对第一目标业务软件进行格式校验,得到格式校验结果;在格式校验结果为成功时,电子设备会检测第一目标业务软件中的关键程序模块是否存在,得到程序验证结果;在程序验证结果为成功时,电子设备会统计关键程序模块之间的调用关系,生成程序调用图;电子设备会根据预设的多个调用逻辑模板,逐一比对程序调用图与多个调用逻辑模板的匹配度,得到逻辑匹配结果;在逻辑匹配结果为成功时,电子设备会以匹配成功的调用逻辑模板为匹配逻辑模板,对第一目标业务软件中的参数、变量初始值进行逻辑校验,判断是否符合预设参数阈值,得到变量验证结果;最后电子设备会在变量验证结果为成功时,确定合理性验证成功。
具体的,电子设备会对第一目标业务软件进行格式校验,得到格式校验结果。例如电子设备中的格式校验模块会检测业务软件文件的格式头信息是否符合标准格式,文件大小是否在合理范围内,版本号格式是否正确等。如果所有格式信息都符合预期,则判定校验成功,否则判定失败。格式校验是第一道关口,可以过滤掉绝大多数不合规的非法文件。
在格式校验结果为成功时,电子设备会检测第一目标业务软件中的关键程序模块是否存在,得到程序验证结果。电子设备会扫描业务软件文件,提取程序段的函数名、类名等,并与标准模板对比判断关键模块是否存在,如通信处理模块、图像算法模块等,如果模板内的关键模块在业务软件中都检测到,则判定程序验证成功,否则失败。程序验证可以避免受损或缺失关键模块的业务软件被更新。
在程序验证结果为成功时,电子设备会统计关键程序模块之间的调用关系,生成程序调用图。电子设备会深入分析业务软件中的主要模块和函数的调用逻辑,绘制出调用关系图,如A模块调用B模块,B模块调用C模块等。调用图反映了程序逻辑架构。
电子设备会根据预设的多个调用逻辑模板,逐一比对程序调用图与多个调用逻辑模板的匹配度,得到逻辑匹配结果。电子设备预存了多种调用逻辑模板,将生成的调用图分别与每个调用逻辑模板进行结构化比对,计算相似度得分,若高于阈值则判定匹配成功,调用逻辑校验可以避免程序被恶意修改后的运行隐患。
在逻辑匹配结果为成功时,电子设备会以匹配成功的调用逻辑模板为匹配逻辑模板,对第一目标业务软件中的参数、变量初始值进行逻辑校验,判断是否符合预设参数阈值,得到变量验证结果。利用匹配成功的标准调用模板,电子设备可以进行更细致的参数变量合法性判断,避免参数被非法修改导致的风险。
最后电子设备会在变量验证结果为成功时,确定合理性验证成功。经过层层校验后,如果所有结果均为成功,则最终判定第一目标业务软件通过完整性和合理性验证。这样可以全面保证更新业务软件的质量,降低更新风险。
S303、在合理性验证失败时,重新从上位机获取第一目标业务软件。
参考步骤S103,电子设备会在验证失败时,重新获取第一目标业务软件。
S304、在合理性验证成功时,上传第二存储接口对应的第二存储器上的原始业务软件至上位机。
在电子设备中,当第一目标业务软件通过了远程更新代理程序的合理性验证之后,电子设备会将当前第二存储器中原先储存的旧版本业务软件上传备份到上位机。这是一种预防措施,用于在更新后新软件可能出现问题时,可以快速回退到原有稳定版本的业务软件。为实现该备份操作,电子设备中的业务备份模块会读取第二存储器中原先的业务软件内容,并通过以太网的网络接口发送备份数据包给上位机,上位机收到后存为原始业务软件。
S305、开启目标DSP中远程更新代理程序的软件更新权限,使得目标DSP更新第一目标业务软件到第二存储接口对应的第二存储器上。
参考步骤S104,电子设备会开启更新权限,让软件更新到第二存储器上。
S306、实时监测第二存储器的软件更新状态。
参考步骤S105,电子设备会实时监测第二存储器的软件更新状态。
S307、在软件更新状态为异常时,发送重新更新请求到上位机。
参考步骤S106,电子设备会在更新状态异常时,发送重新更新请求,以再次进行更新。
S308、接收上位机返回的第二目标业务软件,再次进行验证和更新操作。
参考步骤S107,电子设备会再次对返回的第二目标业务软件进行验证和更新。
S309、在软件更新状态为成功时,发送更新停止请求到上位机。
参考步骤S108,电子设备会在更新状态成功时,发送更新停止请求到上位机。
S310、响应于上位机通过以太网返回的更新结束指令,通过控制器切换目标DSP的程序加载接口为第二存储接口,使得目标DSP运行第二存储器上的更新后的业务软件。
参考步骤S109,电子设备会结束更新,转换程序加载接口为第二存储接口,以加载更新后的业务软件。
S311、实时监测目标DSP运行目标业务软件的运行状态。
在更新完成后,即当电子设备通过控制器切换目标DSP运行更新后的新版本业务软件后,电子设备中的运行监测模块会实时监测目标DSP的运行状态。例如可以检测DSP芯片的温度、电压、时钟频率等参数是否正常,也可以针对业务功能检测通信流量、处理延时等指标。如果任一监测指标异常,都可以判定运行状态存在问题。
S312、在运行状态为异常时,发送更新回溯请求至上位机。
如果在预设检查时间内,即在一个较短的时间内,电子设备的运行监测模块判断业务软件的运行状态为异常,说明新版本业务软件存在问题导致DSP芯片运行不正常,这时电子设备中的异常处理模块会及时向上位机发送更新回溯请求,要求进行更新回退操作,将业务软件还原为之前上传备份的原始稳定版本,以纠正新版本软件带来的故障状况。这个预设检查时间可以由用户在上位机进行设定,打包在新软件的基本信息上。有的软件可能需要较长的测试检查时间,用户可以按需进行设定。
S313、响应于上位机通过以太网返回的更新回溯指令,通过控制器切换目标DSP的程序加载接口为第一存储接口。
当电子设备向上位机发送更新回溯请求后,如果上位机根据用户操作,或等待预设时间后确认可以进行回退,则会返回更新回退指令给电子设备。收到回退指令后,电子设备会重新将目标DSP芯片的程序加载接口切换为第一存储接口,也就是更新前使用的备用接口。这样可以隔离目标DSP芯片与存在问题的第二存储器上的新版本业务软件,准备进行回退还原。
S314、接收上位机发送的原始业务软件数据,并通过第一存储器中的远程更新代理程序更新原始业务软件数据到第二存储器上。
切换程序加载接口后,电子设备会从上位机获取之前备份上传的原始业务软件数据,然后利用第一存储器中运行的更新代理程序,将原始业务软件还原更新到第二存储器相应分区中,覆盖回退新版本存在问题的业务软件。待回退更新完成后,上传成功结果到上位机,以通知业务软件已恢复到原始正常版本,至此完成了本次远程更新回退过程。这样,利用备份的原始业务软件,电子设备可以快速纠正更新后软件出现的故障,大大降低了维护成本。
本申请实施例中,由于采用了在DSP固件远程更新前置验证和备份回退的双保险机制,所以可以有效解决现有技术中DSP固件远程更新失败后无法恢复的问题,进而实现了稳定可靠的DSP固件远程无线更新方案。具体的,本申请在更新前,通过使DSP运行专用的远程更新代理程序对新的业务软件进行全面严格的合理性验证,避免了非法和低质量固件的风险,保证了更新包的可靠性。同时采用备份回退机制,在更新失败时可以快速恢复原有稳定版本的固件,有效解决了更新失败后无法重新更新的缺陷。两者相结合,全方位提升了DSP固件远程更新的安全性与可用性,实现了稳定可靠的DSP固件无线远程更新方案,大幅降低了更新故障的风险,避免了维护和恢复的高昂成本支出。
下面从模块的角度介绍本申请实施例中的电子设备。请参阅图4,为本申请实施例中电子设备的一种功能模块结构示意图。
该电子设备包括:
第一切换模块401,用于响应于上位机通过以太网发送的更新开始指令,通过控制器切换目标DSP的程序加载接口为第一存储接口,使得目标DSP运行第一存储接口对应的第一存储器中的远程更新代理程序;
程序验证模块402,用于控制目标DSP基于远程更新代理程序对第一目标业务软件进行合理性验证;第一目标业务软件在目标DSP运行远程更新代理程序之后,由上位机发送,并存储在目标DSP的随机存取存储器上;
第一重置模块403,用于在验证失败时,重新从上位机获取第一目标业务软件;
程序更新模块404,用于在验证成功时,开启目标DSP中远程更新代理程序的软件更新权限,使得目标DSP更新第一目标业务软件到第二存储接口对应的第二存储器上;
状态监测模块405,用于实时监测第二存储器的软件更新状态;
第二重置模块406,用于在软件更新状态为异常时,发送重新更新请求到上位机;
重新更新模块407,用于接收上位机返回的第二目标业务软件,再次进行验证和更新操作;
更新终止模块408,用于在软件更新状态为成功时,发送更新停止请求到上位机;
第二切换模块409,用于响应于上位机通过以太网返回的更新结束指令,通过控制器切换目标DSP的程序加载接口为第二存储接口,使得目标DSP运行第二存储器上的更新后的业务软件;更新后的业务软件为第一目标业务软件或第二目标业务软件。
在一些实施例中,该电子设备还可以包括:
业务备份模块410,用于上传第二存储接口对应的第二存储器上的原始业务软件至上位机;
运行监测模块411,用于实时监测目标DSP运行目标业务软件的运行状态;
异常处理模块412,用于在运行状态为异常时,发送更新回溯请求至上位机;
第三切换模块413,用于响应于上位机通过以太网返回的更新回溯指令,通过控制器切换目标DSP的程序加载接口为第一存储接口;
业务回溯模块414,用于接收上位机发送的原始业务软件数据,并通过第一存储器中的远程更新代理程序更新原始业务软件数据到第二存储器上。
在一些实施例中,该电子设备还可以包括:
软件代理模块415,用于通过控制器切换备用DSP运行第三存储器上的与目标DSP的业务软件对应的稳定业务软件;稳定业务软件由上位机分发;
任务代理模块416,用于控制备用DSP基于稳定业务软件对目标DSP的数据处理任务进行代理。
在一些实施例中,该电子设备还可以包括:
任务返还模块417,用于在确定目标DSP运行更新完成后的目标业务软件之后,通过控制器将备用DSP的数据处理任务返还给目标DSP;
数据清理模块418,用于清空第三存储器上的软件数据。
在一些实施例中,该程序验证模块402具体可以包括:
格式校验单元4021,用于对第一目标业务软件进行格式校验,得到格式校验结果;
程序校验单元4022,用于在格式校验结果为成功时,检测第一目标业务软件中的关键程序模块是否存在,得到程序验证结果;
调用统计单元4023,用于在程序验证结果为成功时,统计关键程序模块之间的调用关系,生成程序调用图;
调用校验单元4024,用于根据预设的多个调用逻辑模板,逐一比对程序调用图与多个调用逻辑模板的匹配度,得到逻辑匹配结果;
参数校验单元4025,用于在逻辑匹配结果为成功时,以匹配成功的调用逻辑模板为匹配逻辑模板,对第一目标业务软件中的参数、变量初始值进行逻辑校验,判断是否符合预设参数阈值,得到变量验证结果;
结果确认单元4026,用于在变量验证结果为成功时,确定合理性验证成功。
在一些实施例中,该第一切换模块401具体可以包括:
指令接收单元4011,用于接收上位机通过以太网发送的更新开始指令;
指令解析单元4012,用于解析更新开始指令,确定软件更新的更新权重;
接口切换单元4013,用于在更新权重低于预设权重阈值时,延迟预设等待时间后,再通过控制器切换目标DSP的程序加载接口为第一存储接口。
在一些实施例中,该接口切换单元4013具体可以包括:
周期确认子单元40131,用于在更新权重低于预设权重阈值时,收集目标DSP的工作周期;工作周期包括工作时间段和待机时间段;
更新预测子单元40132,用于确定目标DSP的程序更新的预测更新用时;
等待计算子单元40133,用于计算得到当前时间到下一个目标待机时间段的差值绝对值,得到预设等待时间;目标待机时间段大于预测更新用时;
延迟切换子单元40134,用于延迟预设等待时间后,再通过控制器切换目标DSP的程序加载接口为第一存储接口。
上面从模块化功能实体的角度对本申请实施例中的电子设备进行描述,下面从硬件处理的角度对本发明申请实施例中的电子设备进行描述,请参阅图5,为本申请实施例中电子设备的一种实体装置结构示意图。
需要说明的是,图5示出的电子设备的结构仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备包括中央处理单元(Central Processing Unit,CPU)501,其可以根据存储在只读存储器(Read-Only Memory,ROM)502中的程序或者从存储部分508加载到随机访问存储器(Random Access Memory,RAM)503中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 503中,还存储有系统操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(Input /Output,I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括音频输入装置、按钮开关等的输入部分506;包括液晶显示器(Liquid Crystal Display,LCD)以及音频输出装置、指示灯等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明中限定的各种功能。
需要说明的是,计算机可读存储介质的具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。
具体的,本实施例的电子设备包括处理器和存储器,存储器上存储有计算机程序,计算机程序被处理器执行时,实现上述实施例提供的通过以太网远程更新DSP程序的方法。
作为另一方面,本发明还提供了一种计算机可读的存储介质,该存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述存储介质承载有一个或者多个计算机程序,当上述一个或者多个计算机程序被一个该电子设备的处理器执行时,使得该电子设备实现上述实施例中提供的通过以太网远程更新DSP程序的方法。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (10)
1.一种通过以太网远程更新DSP程序的方法,其特征在于,应用于电子设备,所述电子设备包括控制器、目标DSP、第一存储器和第二存储器,所述方法包括:
响应于上位机通过以太网发送的更新开始指令,通过所述控制器切换所述目标DSP的程序加载接口为第一存储接口,使得所述目标DSP运行所述第一存储接口对应的第一存储器中的远程更新代理程序;
控制所述目标DSP基于所述远程更新代理程序对第一目标业务软件进行合理性验证;所述第一目标业务软件在所述目标DSP运行所述远程更新代理程序之后,由所述上位机发送,并存储在所述目标DSP的随机存取存储器上;
在所述合理性验证失败时,重新从所述上位机获取所述第一目标业务软件;
在所述合理性验证成功时,开启所述目标DSP中所述远程更新代理程序的软件更新权限,使得所述目标DSP更新所述第一目标业务软件到第二存储接口对应的第二存储器上;
实时监测所述第二存储器的软件更新状态;
在所述软件更新状态为异常时,发送重新更新请求到所述上位机;
接收所述上位机返回的第二目标业务软件,再次进行验证和更新操作;
在所述软件更新状态为成功时,发送更新停止请求到所述上位机;
响应于所述上位机通过以太网返回的更新结束指令,通过所述控制器切换所述目标DSP的所述程序加载接口为所述第二存储接口,使得所述目标DSP运行所述第二存储器上的更新后的业务软件;所述更新后的业务软件为所述第一目标业务软件或所述第二目标业务软件。
2.根据权利要求1所述的方法,其特征在于,在所述开启所述目标DSP中所述远程更新代理程序的软件更新权限的步骤之前,所述方法还包括:
上传第二存储接口对应的第二存储器上的原始业务软件至所述上位机;
在所述通过所述控制器切换所述目标DSP的所述程序加载接口为所述第二存储接口,使得所述目标DSP运行对应的目标业务软件的步骤之后,所述方法还包括:
实时监测所述目标DSP运行所述目标业务软件的运行状态;
在所述运行状态为异常时,发送更新回溯请求至所述上位机;
响应于所述上位机通过所述以太网返回的更新回溯指令,通过所述控制器切换所述目标DSP的所述程序加载接口为所述第一存储接口;
接收所述上位机发送的所述原始业务软件数据,并通过所述第一存储器中的所述远程更新代理程序更新所述原始业务软件数据到第二存储器上。
3.根据权利要求1所述的方法,其特征在于,所述电子设备还包括备用DSP和第三存储器,在所述通过所述控制器切换所述目标DSP的程序加载接口为第一存储接口的步骤之前,所述方法还包括:
通过所述控制器切换所述备用DSP运行所述第三存储器上的与所述目标DSP的业务软件对应的稳定业务软件;所述稳定业务软件由上位机分发;
控制所述备用DSP基于所述稳定业务软件对所述目标DSP的数据处理任务进行代理。
4.根据权利要求3所述的方法,其特征在于,在所述控制所述备用DSP基于所述稳定业务软件对所述目标DSP的数据处理任务进行代理的步骤之后,所述方法还包括:
在确定所述目标DSP运行更新完成后的目标业务软件之后,通过控制器将所述备用DSP的所述数据处理任务返还给所述目标DSP;
清空所述第三存储器上的软件数据。
5.根据权利要求1所述的方法,其特征在于,所述控制所述目标DSP基于所述远程更新代理程序对第一目标业务软件进行合理性验证的步骤,具体包括:
对所述第一目标业务软件进行格式校验,得到格式校验结果;
在所述格式校验结果为成功时,检测所述第一目标业务软件中的关键程序模块是否存在,得到程序验证结果;
在所述程序验证结果为成功时,统计所述关键程序模块之间的调用关系,生成程序调用图;
根据预设的多个调用逻辑模板,逐一比对所述程序调用图与所述多个调用逻辑模板的匹配度,得到逻辑匹配结果;
在所述逻辑匹配结果为成功时,以匹配成功的调用逻辑模板为匹配逻辑模板,对所述第一目标业务软件中的参数、变量初始值进行逻辑校验,判断是否符合预设参数阈值,得到变量验证结果;
在所述变量验证结果为成功时,确定合理性验证成功。
6.根据权利要求1所述的方法,其特征在于,所述响应于上位机通过以太网发送的更新开始指令,通过所述控制器切换所述目标DSP的程序加载接口为第一存储接口的步骤,具体包括:
接收上位机通过以太网发送的更新开始指令;
解析所述更新开始指令,确定软件更新的更新权重;
在所述更新权重低于预设权重阈值时,延迟预设等待时间后,再通过所述控制器切换所述目标DSP的程序加载接口为第一存储接口。
7.根据权利要求6所述的方法,其特征在于,所述在所述更新权重低于预设权重阈值时,延迟预设等待时间后,再通过所述控制器切换目标DSP的程序加载接口为第一存储接口的步骤,具体包括:
在所述更新权重低于预设权重阈值时,收集所述目标DSP的工作周期;所述工作周期包括工作时间段和待机时间段;
确定所述目标DSP的程序更新的预测更新用时;
计算得到当前时间到下一个目标待机时间段的差值绝对值,得到预设等待时间;所述目标待机时间段大于所述预测更新用时;
延迟预设等待时间后,再通过所述控制器切换目标DSP的程序加载接口为第一存储接口。
8.一种电子设备,其特征在于,所述电子设备包括控制器、目标DSP、第一存储器和第二存储器,所述电子设备还包括:
第一切换模块,用于响应于上位机通过以太网发送的更新开始指令,通过所述控制器切换所述目标DSP的程序加载接口为第一存储接口,使得所述目标DSP运行所述第一存储接口对应的第一存储器中的远程更新代理程序;
程序验证模块,用于控制所述目标DSP基于所述远程更新代理程序对第一目标业务软件进行合理性验证;所述第一目标业务软件在所述目标DSP运行所述远程更新代理程序之后,由所述上位机发送,并存储在所述目标DSP的随机存取存储器上;
第一重置模块,用于在验证失败时,重新从所述上位机获取所述第一目标业务软件;
程序更新模块,用于在验证成功时,开启所述目标DSP中所述远程更新代理程序的软件更新权限,使得所述目标DSP更新所述第一目标业务软件到第二存储接口对应的第二存储器上;
状态监测模块,用于实时监测所述第二存储器的软件更新状态;
第二重置模块,用于在所述软件更新状态为异常时,发送重新更新请求到所述上位机;
重新更新模块,用于接收所述上位机返回的第二目标业务软件,再次进行验证和更新操作;
更新终止模块,用于在所述软件更新状态为成功时,发送更新停止请求到所述上位机;
第二切换模块,用于响应于所述上位机通过以太网返回的更新结束指令,通过所述控制器切换所述目标DSP的所述程序加载接口为所述第二存储接口,使得所述目标DSP运行所述第二存储器上的更新后的业务软件;所述更新后的业务软件为所述第一目标业务软件或所述第二目标业务软件。
9.一种电子设备,其特征在于,包括:一个或多个处理器和存储器;
所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410135423.8A CN117667163B (zh) | 2024-01-31 | 2024-01-31 | 一种通过以太网远程更新dsp程序的方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410135423.8A CN117667163B (zh) | 2024-01-31 | 2024-01-31 | 一种通过以太网远程更新dsp程序的方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117667163A true CN117667163A (zh) | 2024-03-08 |
CN117667163B CN117667163B (zh) | 2024-04-05 |
Family
ID=90075332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410135423.8A Active CN117667163B (zh) | 2024-01-31 | 2024-01-31 | 一种通过以太网远程更新dsp程序的方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117667163B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7971199B1 (en) * | 2004-05-03 | 2011-06-28 | Hewlett-Packard Development Company, L.P. | Mobile device with a self-updating update agent in a wireless network |
CN112506536A (zh) * | 2020-11-12 | 2021-03-16 | 东风汽车集团有限公司 | 一种车载控制器软件更新方法、装置、设备和介质 |
CN113760332A (zh) * | 2021-08-30 | 2021-12-07 | 青岛信芯微电子科技股份有限公司 | 软件升级方法和电子设备 |
CN116610340A (zh) * | 2023-05-06 | 2023-08-18 | 广州汽车集团股份有限公司 | 车辆软件的更新方法、装置、车辆及存储介质 |
CN117407020A (zh) * | 2023-09-27 | 2024-01-16 | 重庆赛力斯新能源汽车设计院有限公司 | Ota升级刷写方法、装置、电子设备及存储介质 |
-
2024
- 2024-01-31 CN CN202410135423.8A patent/CN117667163B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7971199B1 (en) * | 2004-05-03 | 2011-06-28 | Hewlett-Packard Development Company, L.P. | Mobile device with a self-updating update agent in a wireless network |
CN112506536A (zh) * | 2020-11-12 | 2021-03-16 | 东风汽车集团有限公司 | 一种车载控制器软件更新方法、装置、设备和介质 |
CN113760332A (zh) * | 2021-08-30 | 2021-12-07 | 青岛信芯微电子科技股份有限公司 | 软件升级方法和电子设备 |
CN116610340A (zh) * | 2023-05-06 | 2023-08-18 | 广州汽车集团股份有限公司 | 车辆软件的更新方法、装置、车辆及存储介质 |
CN117407020A (zh) * | 2023-09-27 | 2024-01-16 | 重庆赛力斯新能源汽车设计院有限公司 | Ota升级刷写方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
何宾 等: "基于GPRS的DSP程序远程升级的研究与实现", 计算机工程与设计, no. 15, 16 August 2010 (2010-08-16), pages 3390 - 3392 * |
Also Published As
Publication number | Publication date |
---|---|
CN117667163B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111312325B (zh) | 一种bbu故障诊断方法、装置、电子设备及存储介质 | |
CN103209197B (zh) | 集群服务器部署方法及系统 | |
CN104090796A (zh) | 一种嵌入式设备程序更新方法和系统 | |
CN100492305C (zh) | 一种计算机系统的快速恢复方法及设备 | |
CN109508295B (zh) | 区块链共识算法测试方法、装置、计算装置和存储介质 | |
CN110413432B (zh) | 一种信息处理方法、电子设备及存储介质 | |
CN113051104B (zh) | 基于纠删码的磁盘间数据恢复方法及相关装置 | |
CN110362622B (zh) | 基于实时数仓的实时流处理系统、方法、设备及存储介质 | |
CN1719413A (zh) | 通信设备的升级方法 | |
CN113468009B (zh) | 一种压力测试方法、装置、电子设备及存储介质 | |
CN117667163B (zh) | 一种通过以太网远程更新dsp程序的方法、设备和存储介质 | |
EP2312443A2 (en) | Information processing apparatus, method of controlling information processing apparatus and control program | |
US20240095019A1 (en) | Out-of-band updating method and system of expander | |
CN110333964B (zh) | 异常日志处理方法及装置、电子设备、存储介质 | |
CN109885420B (zh) | 一种PCIe链路故障的分析方法、BMC及存储介质 | |
CN115632706B (zh) | 一种fc链路管理方法、装置、设备及可读存储介质 | |
KR100605031B1 (ko) | Usb 메모리 장치를 이용한 임베디드 시스템의 장애복구 및 업그레이드 방법 | |
CN111522571A (zh) | 设备升级方法、装置、终端设备及存储介质 | |
CN104866380A (zh) | 一种集群管理系统的状态转换的处理方法和装置 | |
CN113987065A (zh) | 数据库漂移方法、系统、电子设备和存储介质 | |
CN115658356A (zh) | 一种Linux系统中的看门狗喂狗方法及系统 | |
CN111124455B (zh) | 一种电池管理系统升级方法、装置、服务器及存储介质 | |
CN112035368A (zh) | 自动化软件测试方法、装置、电子设备、存储介质 | |
CN105391575A (zh) | 一种金库控制方法及系统 | |
CN112260297B (zh) | 双母线并网储能系统管理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |