CN107404535B - 设备的远端升级方法和装置 - Google Patents
设备的远端升级方法和装置 Download PDFInfo
- Publication number
- CN107404535B CN107404535B CN201710655666.4A CN201710655666A CN107404535B CN 107404535 B CN107404535 B CN 107404535B CN 201710655666 A CN201710655666 A CN 201710655666A CN 107404535 B CN107404535 B CN 107404535B
- Authority
- CN
- China
- Prior art keywords
- upgrade
- data
- thread
- upgrading
- cache
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Abstract
本发明实施例公开了一种设备的远端升级方法和装置。所述方法包括:接收升级服务器发送的升级数据,将升级数据存储于第一缓存,将升级数据接收过程中生成的第一升级反馈数据存储于第二缓存;根据第三缓存中存储回馈数据,向升级设备发送第一缓存中存储的升级数据,将升级数据发送过程中生成的第二升级反馈数据存储于第二缓存;接收升级设备返回的回馈数据,将回馈数据存储于第三缓存;提取第二缓存存储的第一升级反馈数据,和/或第二升级反馈数据作为中间数据,根据中间数据确定升级结果,将升级结果发送至升级服务器。本发明实施例的技术方案优化了充电设施升级技术,减少了在充电设施升级过程中投入的人力及时间成本。
Description
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种设备的远端升级方法和装置。
背景技术
随着科技的不断进步,电动汽车的使用逐渐得到普及。电动汽车使用的一个局限性就是需要随时充电,在目前电池技术没有取得重大突破的前提下,各种固定设置的充电设施(例如:充电桩以及充电枪等)营运而生。一般来说,各类充电设施中都内置有操作系统,以实现各种智能化功能,例如,故障计费,故障报警或者用户信息显示等。因而,充电设施在使用过程中,不可避免的需要进行软件的升级或者更新。
现有技术中,主要通过升级维护人员携带笔记本等便携式设备直接到达充电设施所在位置,现场完成对充电设施的设备升级,大大增加了人员投入成本以及时间成本。
发明内容
本发明实施例提供了一种设备的远端升级方法和装置,以优化充电设施升级技术,减少在充电设施升级过程中投入的人力及时间成本。
第一方面,本发明实施例提供了一种设备的远端升级方法,包括:
并行开启第一线程、第二线程、第三线程以及第四线程;
通过所述第一线程,接收升级服务器发送的升级前置数据,并在所述升级前置数据满足升级下载条件时,从所述升级服务器处下载升级数据存储于第一缓存中,并将升级前置数据接收处理过程中生成的第一升级反馈数据存储于第二缓存中;
通过所述第二线程,根据第三缓存中存储的回馈数据,向升级设备发送所述第一缓存中存储的所述升级数据,并将升级数据发送过程中生成的第二升级反馈数据存储于所述第二缓存中,其中,所述升级设备包括固定设置的充电设施;
通过所述第三线程,接收所述升级设备针对接收到的所述升级数据返回的回馈数据,并将所述回馈数据存储于所述第三缓存中;
通过所述第四线程,提取所述第二缓存中存储的所述第一升级反馈数据,和/或所述第二升级反馈数据作为中间数据,根据所述中间数据确定升级结果,并将所述升级结果发送至所述升级服务器。
第二方面,本发明实施例还提供了一种设备的远端升级装置,该装置包括:
多线程开启模块,用于并行开启第一线程、第二线程、第三线程以及第四线程;
第一线程执行模块,用于通过所述第一线程,接收升级服务器发送的升级前置数据,并在所述升级前置数据满足升级下载条件时,从所述升级服务器处下载升级数据存储于第一缓存中,并将升级前置数据接收处理过程中生成的第一升级反馈数据存储于第二缓存中;
第二线程执行模块,用于通过所述第二线程,根据第三缓存中存储的回馈数据,向升级设备发送所述第一缓存中存储的所述升级数据,并将升级数据发送过程中生成的第二升级反馈数据存储于所述第二缓存中,其中,所述升级设备包括固定设置的充电设施;
第三线程执行模块,用于通过所述第三线程,接收所述升级设备针对接收到的所述升级数据返回的回馈数据,并将所述回馈数据存储于所述第三缓存中;
第四线程执行模块,用于通过所述第四线程,提取所述第二缓存中存储的所述第一升级反馈数据,和/或所述第二升级反馈数据作为中间数据,根据所述中间数据确定升级结果,并将所述升级结果发送至所述升级服务器。
本发明实施例通过设置四个并行的线程以分别建立与升级服务器及升级设备(也即:固定设置的充电设施)之间的连接通道,通过第一线程获取升级服务器端发送的升级数据后,通过第二线程与第三线程的共同配合,将从升级服务器处获取的升级数据发送至升级设备,并最终通过第四线程向所述升级服务器反馈最终的升级结果,实现了充电设置的远程升级,节约了人员及时间成本,大大提高了升级任务的工作效率。
附图说明
图1是本发明实施例一提供的一种设备的远端升级方法的流程图;
图2a是本发明实施例一中的一种第一线程所执行的完整操作的流程图;
图2b是本发明实施例一中的一种第一线程所执行的升级数据处理操作的流程图;
图3是本发明实施例一中的一种第二线程所执行的完整操作的流程图;
图4是本发明实施例一中的一种第三线程所执行的完整操作的流程图;
图5是本发明实施例一中的一种第四线程所执行的完整操作的流程图;
图6是本发明实施例二提供的一种设备的远端升级装置的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
为了后文便于理解,首先将本发明实施例所适用的应用场景进行简单介绍。在本发明实施例中,主要涉及三种类型的设备,一种设备是固定设置充电设施(例如:固定设置在XX路或者XX街道的充电桩或者充电枪等);另一种设备是与该充电设施建立近距离通信连接的电子设备(例如,PC机),其也可以连接所在位置的一个或者多个充电设施。例如:一个地区内设置有6个充电桩,这6个充电桩均与附近的一台电子设备(典型的,所述电子设备可以为安装有win XP系统或者WIN7系统的台式机)建立近距离通信连接(例如:USB连接或者蓝牙连接等);还有一种设备是与该电子设备建立远距离通信连接的升级服务器(典型的,升级服务器可以通过Socket接口与所述电子设备建立连接)。显然,通过以该电子设备为中介,在无需维护人员直接到达现场的前提下,可以最终将升级服务器中存储的升级数据下载至充电设施中。
实施例一
图1为本发明实施例一提供的一种设备的远端升级方法的流程图,本实施例可适用于对固定设置的充电设施进行远程升级的情况,该方法可以由设备的远端升级装置来执行,该装置可以由软件和/或硬件的方式实现,并一般可集成于与充电设施建立近距离连接(典型的,通过USB连接方式连接)的电子设备(例如:PC机)中,与升级服务器配合使用(典型的,通过Socket接口与该升级服务器建立连接)。本实施例的方法具体包括如下步骤:
S110、并行开启第一线程、第二线程、第三线程以及第四线程。
在本实施例中,通过在作为中介的电子设备中开启四个并行的线程,可以最终实现充电设施与升级服务器之间的双向通信连接。
具体的,所述第一线程用于接收升级服务器发送的升级数据,所述第二线程用于将接收到的升级数据发送至充电设施,所述第三线程用于接收所述充电设施返回的回馈数据,所述第四线程用于将升级结果发送至所述升级服务器。
S120、通过所述第一线程,接收升级服务器发送的升级前置数据,并在所述升级前置数据满足升级下载条件时,从所述升级服务器处下载升级数据存储于第一缓存中,并将升级前置数据接收处理过程中生成的第一升级反馈数据存储于第二缓存中。
其中,所述升级前置数据具体是指在实际下载所述升级服务器发送的升级数据之前,接收到的校验数据,如果对所述升级前置数据读取、验证以及处理成功,则可以进而从所述升级服务器中下载升级数据。
具体的,在图2a中示出了本发明实施例一中的一种第一线程所执行的完整操作的流程图,如图2a所示,所述第一线程所执行的完整操作包括:
S210、接收所述升级服务器发送的强制升级指令。
典型的,在所述升级服务器中更新有针对所述升级设备(例如,充电设施)的升级数据时,通过与所述电子设备之间的Socket接口,向所述电子设备发送相应的强制升级指令。
S220、判断第一链接标识是否为链接状态:若是,执行S230;否则执行S240。
在本实施例中,在所述电子设备中除了开启上述四个并行线程之外,还要维护有两个链接标识,用于分别指示该电子设备与所述充电设备以及与所述升级服务器之间的链接状态。
其中,所述第一链接标识用于指示与所述升级服务器的链接状态;所述第二链接标识用于指示与所述充电设备的链接状态。
其中,如果所述第一链接标识或者所述第二链接标识为链接状态,则确定与所述升级服务器或者所述升级设备正常链接,如果所述第一链接标识或者所述第二链接标识为断开状态,则确定与所述升级服务器或者所述升级设备断开链接。同时,在该电子设备中还内置有自动重连机制,一旦确定所述第一链接标识或者所述第二链接标识为断开状态,则自动启动重连机制,重新建立与所述升级服务器或者所述升级设备之间的通信链接。
S230、根据所述强制升级指令从所述升级服务器中读取对应的升级前置数据,执行S250。
S240、间隔设定等待时长后,返回执行S220。
其中,所述等待时长可以根据实际情况进行预设,例如:30ms、50ms或者1s等,本实施例对此并不进行限制。
S250、判断是否成功读取所述升级前置数据:若是,执行S260;否则,返回执行S220。
S260、获取成功读取的升级前置数据中包括的待验证信息,执行S270。
其中,所述待验证信息可以为所述升级前置数据包括的升级设备标识,或者升级服务器的身份标识等,本实施例对此并不进行限制。
S270、判断所述待验证信息是否通过查验:若是,则执行S280;否则,返回执行S220。
S280、确定所述升级前置数据为有效升级前置数据,执行S290。
S290、将成功读取的有效升级前置数据进行数据处理。
其中,在图2b中示出了本发明实施例一中的一种第一线程所执行的升级数据处理操作的流程图(也即:S290中执行的具体操作)。如图2b所示,第一线程所执行的升级数据处理操作包括:
S2901、解析获取所述有效升级前置数据中包括的版本信息。
S2902、判断所述版本信息是否通过升级版本条件:若是,执行S2903;否则,执行S2904。
在一个具体的例子中,假设所述电子设备中预先缓存有当前存储的升级版本信息为V3.0,则如果接收到的版本信息为V2.0,则可以确定所述版本信息未通过升级版本条件。
也即,所述升级版本条件包括:解析获取的版本信息对应的版本号与预先存储的升级版本信息之间,不满足版本号递增条件。
S2903、判断当前链接的升级设备是否处于升级中:若是,执行S2905;否则,执行S2904。
S2904、确定所述有效升级前置数据处理失败。
S2905、判断所述有效升级前置数据是否通过指令校验:若是,执行S2906;否则,执行S2904。
在本实施例中,所述指令校验具体是指,在所述有效升级前置数据中的设定数据位置处获取硬件执行指令,并将该硬件执行指令与预存的合法硬件指令进行匹配。如果匹配成功,则确定所述有效升级前置数据通过指令校验;如果匹配失败,所述有效升级前置数据未通过指令校验。
S2906、判断所述有效升级前置数据是否通过FTP校验:若是,执行S2907;否则,执行S2904。
在本实施例中,所述FTP校验具体是指,在所述有效升级前置数据中的设定数据位置处获取升级服务器的FTP下载地址,并首先验证所述FTP下载地址是否能够正常打开,如果能正常打开,则继续验证在该FTP下载地址中是否存储有待下载文件,若存储有待下载文件,则确定所述有效升级前置数据通过FTP校验。
如果上述两个验证条件不能同时满足,则确定所述有效升级前置数据未通过FTP校验。
S2907、判断所述有效升级前置数据是否通过文件校验:若是,执行S2908;否则,执行S2904。
在本实施例中,所述文件校验具体是指,根据所述有效升级前置数据进行处理得到一个待验证校验位,将该待验证校验位与所述有效升级前置数据在设定位置处的发送校验位进行匹配,如果两者匹配成功,则确定所述有效升级前置数据通过文件校验;如果两者匹配不成功,则确定所述有效升级前置数据未通过文件校验。
S2908、确定所述有效升级前置数据处理成功。
S2100、如果确定所述升级前置数据处理成功,则从所述升级服务器中下载对应的升级数据存储于所述第一缓存中。
S2110、如果确定所述升级前置数据处理失败,则构造与处理失败类型对应的第一升级反馈数据存储于所述第二缓存中。
例如,如果确定所述版本信息未通过升级版本条件,则对应生成“版本信息匹配失败”的第一升级反馈数据;如果确定当前链接的升级设备处于升级中,则对应生成“设备升级中”的第一升级反馈数据;如果确定有效升级前置数据未通过指令校验,则对应生成“指令校验失败”的第一升级反馈数据,以此类推。
S130、通过所述第二线程,根据第三缓存中存储的回馈数据,向升级设备发送所述第一缓存中存储的所述升级数据,并将升级数据发送过程中生成的第二升级反馈数据存储于所述第二缓存中,其中,所述升级设备包括固定设置的充电设施。
在本实施例中,由于所述升级数据的数据量比较大,因此可以通过逐条发送的方式,向所述升级设备发送所述升级数据的升级子数据。
在本实施例中,在升级数据的发送过程中,发明人加入了逐条反馈的处理机制。也即:升级设备每成功接收到一条升级子数据时,会相应的向所述电子设备反馈对应的回馈数据。
其中,在图3中示出了本发明实施例一中的一种第二线程所执行的完整操作的流程图,如图3所示,所述第二线程所执行的完整操作包括:
S310、向所述升级设备发送升级信息发送请求;
S320、判断是否接收到所述升级设备返回的确认升级响应:若是,执行S330;否则执行S340。
S330、根据第三缓存中更新存储的回馈数据,确定当前发送的目标升级子数据,执行S360。
在一个具体的例子中,如果根据第三缓存中实时更新存储的回馈数据,确定所述升级设备当前已经接收到第三条升级子数据,则确定当前发送的目标升级子数据为第四条升级子数据;
在另一具体的例子中,如果根据第三缓存中实时更新存储的回馈数据,确定所述升级设备最近一次发送的回馈数据(例如,第四条升级子数据的回馈数据)的时间与当前系统时间之间的时间差超过预设时间阈值(例如:10s或者20s等),则重新发送与所述回馈数据对应的下一条升级子数据(例如:第五条升级子数据)。
S340、判断已经连续发送的升级信息发送请求是否超过第二阈值:若是,执行S350;否则,返回执行S310。
其中,所述第二阈值可以根据实际情况进行预设,例如:3、4或者5等。在确定已经连续发送的升级信息发送请求未超过第二阈值时,可以间隔设定等待时长后,返回执行S310。
S350、生成对应的第二升级反馈数据存储于所述第二缓存中,并结束流程。
S360、判断目标升级子数据重复发送次数是否超过第一阈值:若是,执行S370;否则,执行S380。
S370、生成对应的第二升级反馈数据存储于所述第二缓存中,并结束流程。
S380、将所述目标升级子数据发送至所述升级设备,并返回执行S330。
在S310-S380的操作执行过程中,所述第二线程执行的操作还包括:
在所述升级数据的发送过程中检测第二链接标识,如果确定所述第二链接标识为断开状态,则生成对应的第二升级反馈数据(例如,“断开链接”的第二升级反馈数据)存储于所述第二缓存中;
其中,所述第二链接标识用于指示与所述升级终端的链接状态。
在本实施例的一个可选的实施方式中,如果确定生成“断开链接”的第二升级反馈数据,则可以直接结束S310-S380步骤的执行,在确定第二链接标识为链接状态后,重新从S310开始执行。
S140、通过所述第三线程,接收所述升级设备针对接收到的所述升级数据返回的回馈数据,并将所述回馈数据存储于所述第三缓存中。
其中,在图4中示出了本发明实施例一中的一种第三线程所执行的完整操作的流程图,如图4所示,所述第三线程执行的完整操作包括:
S410、接收所述升级设备发送的回馈数据。
S420、判断所述回馈数据是否通过校验:若是,则执行S430;否则,返回执行S410。
S430、对所述回馈数据进行解密处理,并将解密处理后的回馈数据存储于所述第三缓存中。
S440、判断是否完成对全部回馈数据的接收,若是,结束流程;否则,返回执行S410。
S150、通过所述第四线程,提取所述第二缓存中存储的所述第一升级反馈数据,和/或所述第二升级反馈数据作为中间数据,根据所述中间数据确定升级结果,并将所述升级结果发送至所述升级服务器。
其中,在图5中示出了本发明实施例一中的一种第四线程所执行的完整操作的流程图,如图5所示,所述第四线程执行的完整操作包括:
S510、提取所述第二缓存中存储的所述第一升级反馈数据,和/或所述第二升级反馈数据作为中间数据。
S520、根据所述中间数据确定升级结果。
S530、判断第一链接标识是否为断开状态:若是,执行S540;否则,执行S550。
其中,所述第一链接标识用于指示与所述升级服务器的链接状态。
S540、对所述升级结果进行存储,执行S560。
S550、将所述升级结果发送至所述升级服务器。
S560、在接收到所述升级服务器发送的升级结果查询指令时,将存储的所述升级结果发送至所述升级服务器。
本发明实施例通过设置四个并行的线程以分别建立与升级服务器及升级设备(也即:固定设置的充电设施)之间的连接通道,通过第一线程获取升级服务器端发送的升级数据后,通过第二线程与第三线程的共同配合,将从升级服务器处获取的升级数据发送至升级设备,并最终通过第四线程向所述升级服务器反馈最终的升级结果,实现了充电设置的远程升级,节约了人员及时间成本,大大提高了升级任务的工作效率。
进一步的,通过在上述四个线程的并行执行过程中加入的各种异常处理策略,可以对电子设备中执行的其它功能或者对所链接的设备无影响,保证程序其它模块或功能畅通,同时大大节省了人员资源和维护时间,提高了维护的工作效率。
实施例二
在图6中示出了本发明实施例二提供的一种设备的远端升级装置的结构图。如图6所示,所述装置包括:多线程开启模块610、第一线程执行模块620、第二线程执行模块630、第三线程执行模块640以及第四线程执行模块650,其中:
多线程开启模块610,用于并行开启第一线程、第二线程、第三线程以及第四线程。
第一线程执行模块620,用于通过所述第一线程,接收升级服务器发送的升级前置数据,并在所述升级前置数据满足升级下载条件时,从所述升级服务器处下载升级数据存储于第一缓存中,并将升级前置数据接收处理过程中生成的第一升级反馈数据存储于第二缓存中。
第二线程执行模块630,用于通过所述第二线程,根据第三缓存中存储的回馈数据,向升级设备发送所述第一缓存中存储的所述升级数据,并将升级数据发送过程中生成的第二升级反馈数据存储于所述第二缓存中,其中,所述升级设备包括固定设置的充电设施。
第三线程执行模块640,用于通过所述第三线程,接收所述升级设备针对接收到的所述升级数据返回的回馈数据,并将所述回馈数据存储于所述第三缓存中。
第四线程执行模块650,用于通过所述第四线程,提取所述第二缓存中存储的所述第一升级反馈数据,和/或所述第二升级反馈数据作为中间数据,根据所述中间数据确定升级结果,并将所述升级结果发送至所述升级服务器。
本发明实施例通过设置四个并行的线程以分别建立与升级服务器及升级设备(也即:固定设置的充电设施)之间的连接通道,通过第一线程获取升级服务器端发送的升级数据后,通过第二线程与第三线程的共同配合,将从升级服务器处获取的升级数据发送至升级设备,并最终通过第四线程向所述升级服务器反馈最终的升级结果,实现了充电设置的远程升级,节约了人员及时间成本,大大提高了升级任务的工作效率。
在上述各实施例的基础上,所述第一线程执行模块,具体包括:
升级前置数据读取单元,用于通过所述第一线程,在接收到所述升级服务器发送的强制升级指令时,根据所述强制升级指令从所述升级服务器中读取对应的升级前置数据;
升级前置数据处理单元,用于通过所述第一线程,将成功读取的有效升级前置数据进行数据处理;
升级数据存储单元,用于通过所述第一线程,如果确定所述升级前置数据处理成功,则从所述升级服务器中下载对应的升级数据存储于所述第一缓存中;
第一升级反馈数据存储单元,用于通过所述第一线程,如果确定所述升级前置数据处理失败,则构造与处理失败类型对应的第一升级反馈数据存储于所述第二缓存中。
在上述各实施例的基础上,升级前置数据读取单元,具体用于:
通过所述第一线程,在接收到所述升级服务器发送的强制升级指令时,检测第一链接标识是否为链接状态;
若是,则通过所述第一线程,根据所述强制升级指令从所述升级服务器中读取对应的升级前置数据;若否,则通过所述第一线程,间隔设定等待时长后,返回执行检测第一链接标识为链接状态的操作,直至检测到所述第一链接标识为链接状态;
其中,所述第一链接标识用于指示与所述升级服务器的链接状态。
在上述各实施例的基础上,所述第一线程执行模块还包括:
升级前置数据查验单元,用于在通过所述第一线程,将成功读取的有效升级前置数据进行数据处理之前,通过所述第一线程,获取成功读取的升级前置数据中包括的待验证信息;
通过所述第一线程,如果确定所述待验证信息通过查验,则确定所述升级前置数据为有效升级数据。
在上述各实施例的基础上,所述升级前置数据处理单元具体用于:
通过所述第一线程,解析获取所述有效升级前置数据中包括的版本信息;
通过所述第一线程,如果确定所述版本信息通过升级版本条件,则继续判断当前链接的升级设备是否处于升级中;
通过所述第一线程,如果确定所述当前链接的升级设备未处于升级中,则继续对所述有效升级前置数据进行指令校验;
通过所述第一线程,如果确定所述有效升级前置数据通过指令校验,则继续对所述有效升级前置数据进行FTP校验;
通过所述第一线程,如果确定所述有效升级前置数据通过FTP校验,则继续对所述有效升级前置数据进行文件校验;
通过所述第一线程,如果确定所述有效升级前置数据通过文件校验,则将所述有效升级前置数据存储于所述第一缓存中;
通过所述第一线程,如果确定所述版本信息不满足升级版本条件,确定所述当前链接的升级设备处于升级中,确定所述有效升级前置数据未通过指令校验,确定所述有效升级前置数据未通过FTP校验,或者确定所述有效升级前置数据未通过文件校验,则构造与未通过类型对应的第一升级反馈数据存储于所述第二缓存中。
在上述各实施例的基础上,所述第二线程执行模块,具体用于:
通过所述第二线程,向所述升级设备发送升级信息发送请求;
通过所述第二线程,如果确定接收到所述升级设备返回的确认升级响应,则根据第三缓存中更新存储的回馈数据,确定当前发送的目标升级子数据;
通过所述第二线程,如果确定所述目标升级子数据重复发送次数未超过第一阈值,则将所述目标升级子数据发送至所述升级设备,并返回执行通过所述第二线程,如果确定接收到所述升级设备返回的确认升级响应,则根据第三缓存中更新存储的回馈数据,确定当前发送的目标升级子数据的操作;
通过所述第二线程,如果确定所述目标升级子数据重复发送次数超过所述第一阈值,则生成对应的第二升级反馈数据存储于所述第二缓存中;
通过所述第二线程,如果确定在设定延迟时间内未接收到所述升级设备返回的确认升级响应,则返回执行通过所述第二线程,向所述升级设备发送升级信息发送请求的操作,直至已经连续发送的升级信息发送请求超过第二阈值,并生成对应的第二升级反馈数据存储于所述第二缓存中。
在上述各实施例的基础上,所述第二线程执行模块,具体还用于:
通过所述第二线程,在所述升级数据的发送过程中检测第二链接标识,如果确定所述第二链接标识为断开状态,则生成对应的第二升级反馈数据存储于所述第二缓存中;
其中,所述第二链接标识用于指示与所述升级终端的链接状态。
在上述各实施例的基础上,所述第三线程执行模块,具体用于:
通过所述第三线程,接收所述升级设备发送的回馈数据;
通过所述第三线程,根据对所述回馈数据进行校验;
通过所述第三线程,如果确定所述回馈数据通过校验,则对所述回馈数据进行解密处理,并将解密处理后的回馈数据存储于所述第三缓存中。
在上述各实施例的基础上,所述第四线程执行模块,还用于:
通过所述第四线程,如果确定在将所述升级结果发送至所述升级服务器时,检测到第一链接标识为断开状态,则对所述升级结果进行存储;
通过所述第四线程,在接收到所述升级服务器发送的升级结果查询指令时,将存储的所述升级结果发送至所述升级服务器;
其中,所述第一链接标识用于指示与所述升级服务器的链接状态。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种设备的远端升级方法,其特征在于,包括:
并行开启第一线程、第二线程、第三线程以及第四线程;
通过所述第一线程,接收升级服务器发送的升级前置数据,并在所述升级前置数据满足升级下载条件时,从所述升级服务器处下载升级数据存储于第一缓存中,并将升级前置数据接收处理过程中生成的第一升级反馈数据存储于第二缓存中;
通过所述第二线程,根据第三缓存中存储的回馈数据,向升级设备发送所述第一缓存中存储的所述升级数据,并将升级数据发送过程中生成的第二升级反馈数据存储于所述第二缓存中,其中,所述升级设备包括固定设置的充电设施;
通过所述第三线程,接收所述升级设备针对接收到的所述升级数据返回的回馈数据,并将所述回馈数据存储于所述第三缓存中;
通过所述第四线程,提取所述第二缓存中存储的所述第一升级反馈数据,和/或所述第二升级反馈数据作为中间数据,根据所述中间数据确定升级结果,并将所述升级结果发送至所述升级服务器;
通过所述第一线程,接收升级服务器发送的升级前置数据,并在所述升级前置数据满足升级下载条件时,从所述升级服务器处下载述升级数据存储于第一缓存中,并将升级前置数据接收处理过程中生成的第一升级反馈数据存储于第二缓存中,包括:
通过所述第一线程,在接收到所述升级服务器发送的强制升级指令时,根据所述强制升级指令从所述升级服务器中读取对应的升级前置数据;
通过所述第一线程,将成功读取的有效升级前置数据进行数据处理;
如果通过所述第一线程,确定所述升级前置数据处理成功,则从所述升级服务器中下载对应的升级数据存储于所述第一缓存中;
如果通过所述第一线程,确定所述升级前置数据处理失败,则构造与处理失败类型对应的第一升级反馈数据存储于所述第二缓存中。
2.根据权利要求1所述的方法,其特征在于,通过所述第一线程,在接收到所述升级服务器发送的强制升级指令时,根据所述强制升级指令从所述升级服务器中读取对应的升级前置数据,包括:
通过所述第一线程,在接收到所述升级服务器发送的强制升级指令时,检测第一链接标识是否为链接状态;
若是,则通过所述第一线程,根据所述强制升级指令从所述升级服务器中读取对应的升级前置数据;若否,则通过所述第一线程,间隔设定等待时长后,返回执行检测第一链接标识为链接状态的操作,直至检测到所述第一链接标识为链接状态;
其中,所述第一链接标识用于指示与所述升级服务器的链接状态。
3.根据权利要求1或2所述的方法,其特征在于,在通过所述第一线程,将成功读取的有效升级前置数据进行数据处理之前,还包括:
通过所述第一线程,获取成功读取的升级前置数据中包括的待验证信息;
通过所述第一线程,如果确定所述待验证信息通过查验,则确定所述升级前置数据为有效升级前置数据。
4.根据权利要求1所述的方法,其特征在于,通过所述第一线程,将成功读取的有效升前置级数据进行数据处理,包括:
通过所述第一线程,解析获取所述有效升级前置数据中包括的版本信息;
通过所述第一线程,如果确定所述版本信息通过升级版本条件,则继续判断当前链接的升级设备是否处于升级中;
通过所述第一线程,如果确定所述当前链接的升级设备未处于升级中,则继续对所述有效升级前置数据进行指令校验;
通过所述第一线程,如果确定所述有效升级前置数据通过指令校验,则继续对所述有效升级前置数据进行FTP校验;
通过所述第一线程,如果确定所述有效升级前置数据通过FTP校验,则继续对所述有效升级前置数据进行文件校验;
通过所述第一线程,如果确定所述有效升级前置数据通过文件校验,则确定所述有效升级前置数据处理成功;
通过所述第一线程,如果确定所述版本信息不满足升级版本条件,确定所述当前链接的升级设备处于升级中,确定所述有效升级前置数据未通过指令校验,确定所述有效升级前置数据未通过FTP校验,或者确定所述有效升级前置数据未通过文件校验,则确定所述有效升级前置数据处理失败。
5.根据权利要求1所述的方法,其特征在于,通过所述第二线程,根据第三缓存中存储的回馈数据,向升级设备发送所述第一缓存中存储的所述升级数据,并将升级数据发送过程中生成的第二升级反馈数据存储于所述第二缓存中,包括:
通过所述第二线程,向所述升级设备发送升级信息发送请求;
通过所述第二线程,如果确定接收到所述升级设备返回的确认升级响应,则根据第三缓存中更新存储的回馈数据,确定当前发送的目标升级子数据;
通过所述第二线程,如果确定所述目标升级子数据重复发送次数未超过第一阈值,则将所述目标升级子数据发送至所述升级设备,并返回执行通过所述第二线程,如果确定接收到所述升级设备返回的确认升级响应,则根据第三缓存中更新存储的回馈数据,确定当前发送的目标升级子数据的操作;
通过所述第二线程,如果确定所述目标升级子数据重复发送次数超过所述第一阈值,则生成对应的第二升级反馈数据存储于所述第二缓存中;
通过所述第二线程,如果确定在设定延迟时间内未接收到所述升级设备返回的确认升级响应,则返回执行通过所述第二线程,向所述升级设备发送升级信息发送请求的操作,直至已经连续发送的升级信息发送请求超过第二阈值,并生成对应的第二升级反馈数据存储于所述第二缓存中。
6.根据权利要求5所述的方法,其特征在于,通过所述第二线程,根据第三缓存中存储的回馈数据,向升级设备发送所述第一缓存中存储的所述升级数据,并将升级数据发送过程中生成的第二升级反馈数据存储于所述第二缓存中,还包括:
通过所述第二线程,在所述升级数据的发送过程中检测第二链接标识,如果确定所述第二链接标识为断开状态,则生成对应的第二升级反馈数据存储于所述第二缓存中;
其中,所述第二链接标识用于指示与所述升级终端的链接状态。
7.根据权利要求1所述的方法,其特征在于,通过所述第三线程,接收所述升级设备针对接收到的所述升级数据返回的回馈数据,并将所述回馈数据存储于所述第三缓存中,包括:
通过所述第三线程,接收所述升级设备发送的回馈数据;
通过所述第三线程,对所述回馈数据进行校验;
通过所述第三线程,如果确定所述回馈数据通过校验,则对所述回馈数据进行解密处理,并将解密处理后的回馈数据存储于所述第三缓存中。
8.根据权利要求1所述的方法,其特征在于,通过所述第四线程,提取所述第二缓存中存储的所述第一升级反馈数据,和/或所述第二升级反馈数据作为中间数据,根据所述中间数据确定升级结果,并将所述升级结果发送至所述升级服务器,还包括:
通过所述第四线程,如果确定在将所述升级结果发送至所述升级服务器时,检测到第一链接标识为断开状态,则对所述升级结果进行存储;
通过所述第四线程,在接收到所述升级服务器发送的升级结果查询指令时,将存储的所述升级结果发送至所述升级服务器;
其中,所述第一链接标识用于指示与所述升级服务器的链接状态。
9.一种设备的远端升级装置,其特征在于,包括:
多线程开启模块,用于并行开启第一线程、第二线程、第三线程以及第四线程;
第一线程执行模块,用于通过所述第一线程,接收升级服务器发送的升级前置数据,并在所述升级前置数据满足升级下载条件时,从所述升级服务器处下载升级数据存储于第一缓存中,并将升级前置数据接收处理过程中生成的第一升级反馈数据存储于第二缓存中;
第二线程执行模块,用于通过所述第二线程,根据第三缓存中存储的回馈数据,向升级设备发送所述第一缓存中存储的所述升级数据,并将升级数据发送过程中生成的第二升级反馈数据存储于所述第二缓存中,其中,所述升级设备包括固定设置的充电设施;
第三线程执行模块,用于通过所述第三线程,接收所述升级设备针对接收到的所述升级数据返回的回馈数据,并将所述回馈数据存储于所述第三缓存中;
第四线程执行模块,用于通过所述第四线程,提取所述第二缓存中存储的所述第一升级反馈数据,和/或所述第二升级反馈数据作为中间数据,根据所述中间数据确定升级结果,并将所述升级结果发送至所述升级服务器;
所述第一线程执行模块,具体包括:
升级前置数据读取单元,用于通过所述第一线程,在接收到所述升级服务器发送的强制升级指令时,根据所述强制升级指令从所述升级服务器中读取对应的升级前置数据;
升级前置数据处理单元,用于通过所述第一线程,将成功读取的有效升级前置数据进行数据处理;
升级数据存储单元,用于通过所述第一线程,如果确定所述升级前置数据处理成功,则从所述升级服务器中下载对应的升级数据存储于所述第一缓存中;
第一升级反馈数据存储单元,用于通过所述第一线程,如果确定所述升级前置数据处理失败,则构造与处理失败类型对应的第一升级反馈数据存储于所述第二缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710655666.4A CN107404535B (zh) | 2017-08-03 | 2017-08-03 | 设备的远端升级方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710655666.4A CN107404535B (zh) | 2017-08-03 | 2017-08-03 | 设备的远端升级方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107404535A CN107404535A (zh) | 2017-11-28 |
CN107404535B true CN107404535B (zh) | 2020-07-31 |
Family
ID=60402652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710655666.4A Active CN107404535B (zh) | 2017-08-03 | 2017-08-03 | 设备的远端升级方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107404535B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459863A (zh) * | 2017-12-29 | 2018-08-28 | 特瓦特能源科技有限公司 | 充电设施软件升级方法、装置、设备、系统及存储介质 |
CN110244968B (zh) * | 2019-06-18 | 2021-06-29 | 深圳市小兔充充科技有限公司 | 充电站管理系统及方法 |
CN116737214A (zh) * | 2022-03-02 | 2023-09-12 | 荣耀终端有限公司 | 操作系统的升级方法、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461699C (zh) * | 2006-06-28 | 2009-02-11 | 华为技术有限公司 | 一种设备自动化升级的方法 |
CN101727338B (zh) * | 2008-08-15 | 2012-12-26 | 北京北大众志微系统科技有限责任公司 | 一种网络计算机的并行升级方法及其应用系统 |
CN104125276A (zh) * | 2014-07-21 | 2014-10-29 | 中兴通讯股份有限公司 | 升级方法及装置 |
WO2017112686A1 (en) * | 2015-12-20 | 2017-06-29 | Prophecy Sensors, Llc | Method, system and apparatus using field learning to upgrade trending sensor curves into fuel gauge based visualization of predictive maintenance by user driven feedback mechanism |
CN106790512A (zh) * | 2016-12-16 | 2017-05-31 | 普天新能源有限责任公司 | 充电设施数据传输终端及监控管理系统 |
-
2017
- 2017-08-03 CN CN201710655666.4A patent/CN107404535B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107404535A (zh) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032382A (zh) | 一种汽车电子控制单元升级方法、系统及终端设备 | |
CN107404535B (zh) | 设备的远端升级方法和装置 | |
CN103077058B (zh) | 一种安装应用程序的方法及装置 | |
CN103677946B (zh) | 电梯设备控制程序的更新方法和系统 | |
CN109413134B (zh) | 车载应用升级方法、装置、系统及存储介质 | |
CN102279756A (zh) | Cpld固件更新方法 | |
US8477647B2 (en) | Connection setting apparatus, connection setting method, and computer program product | |
CN104572221A (zh) | 一种车载ecu在线升级系统及方法 | |
CN106850241A (zh) | 一种车载obd终端及其远程升级方法 | |
CN103763351A (zh) | 基于上位机与下位机的软件在线升级方法 | |
CN111949288A (zh) | 一种基于车载以太网的智能元件远程升级方法及系统 | |
CN104991800A (zh) | 一种未联网设备固件升级方法、装置和系统 | |
CN104317764A (zh) | 一种1553b总线异步消息的实时控制方法 | |
CN113504922B (zh) | 机器人软件升级方法、装置、桥服务器及升级服务器 | |
WO2015131682A1 (zh) | 一种版本更新方法、系统、基站及计算机存储介质 | |
CN109388413A (zh) | 一种fpga程序更新方法及系统 | |
CN106856585B (zh) | 建立短距离无线通道的方法及装置 | |
CN114064091A (zh) | Ota升级控制方法、装置、电子设备及自动驾驶车辆 | |
CN110071950B (zh) | 信息传输方法、中转装置、终端、受控设备及存储介质 | |
CN103491557B (zh) | 基站升级数据的处理方法及装置 | |
US20140228000A1 (en) | Terminal device, information processing apparatus and activation authentication method | |
CN110430553B (zh) | 车辆间的互动方法、装置、存储介质及控制终端 | |
CN111817878A (zh) | 一种智能设备的联网方法、装置及云端服务器 | |
CN106775588A (zh) | 一种基于主从处理器架构的固件升级方法 | |
CN116781211A (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 |