一种实现集中器远程升级多线程并行的方法

文档序号:9754809阅读:459来源:国知局
一种实现集中器远程升级多线程并行的方法
【技术领域】
[0001] 本发明涉及涉及一种多线程并行运行的方法,特别是涉及一种实现集中器远程升 级多线程并行的方法。
【背景技术】
[0002] 随着电力公司使用集中器数量的日益增加,全国地区已广泛使用,各个厂家在升 级设备时会存在以下问题:1)一些偏远山区,人员无法进行快速效的进行升级,效率低下 .2)现有一些在信号偏弱地区的设备.经常出现升级中断通信故障等导致的反复重新下发 升级数据文件,没有采用断点技术.3)有些厂家的远程升级只能给一台设备进行升级,升级 数据文件下发的效率低.4)以往以人为管理、需要实地进行现场U盘升级,或用随身携带的 笔记本电脑对设备进行程序升级,当设备数目庞大并且分布广泛时必将造成升级过程繁琐 成本高时间长等问题,工作效率极为低下。

【发明内容】

[0003] 本发明的目的在于提供一种实现集中器远程升级多线程并行的方法,该方法为一 种多线程并行运行的方法,将远程多线程技术用于集中器设备远程升级的运行方法。利用 现有的gprs通讯技术,根据嵌入式设备存储结构和更新原理,实现集中器多线程并发设备 自动升级的方法。
[0004] 本发明的目的是通过以下技术方案实现的: 一种实现集中器远程升级多线程并行的方法,所述方法包括以下过程: 1) 首先准备好已加密好的磁带文件; 2) 每块按数据结构图进行组包发送; 3) 在集合C中默认为建立7个通道线程; 4) 执行过程,主通道随时统计出子通道的运行情况; 5) 管理通道并进运行运算; 6) 每个子通道独立运行; 7) 把整个大的文件分成若干个小的数据块; 8) 在子通道内发送完所有数据包完成之后,如设备没有应答完成此次通讯,会重新发 送补包数据; 9) 多台设备同时进行升级; 10.建立块数据内容格式,保证数据包的完整性与准备性。
[0005] 所述的一种实现集中器远程升级多线程并行的方法,所述首先准备好已加密好的 磁带文件,其字节为F字节,确定每一块数据流大小D字节,以字节数切割成N个小文件块。
[0006] 所述的一种实现集中器远程升级多线程并行的方法,所述建立7个通道线程,步骤 如下: 1)建立主通道先将所有设备存入S列表中; 2) 每个通道去运行1. . N个数据块; 3) 主线程把未成功的设备继续添加到S列表的队列中等待; 4) 设备在掉线或断开后,等待数秒后,没有超过指定的时间设备上线,重新发送当前已 记录的数据包,设备应答成功之后,继续发送下一块数据包,直到发送完最后一块,第N数据 块,最后把任务执行的状态发给子通道,主通道会根据子通道状态随时调配通道利用率,节 省资源开销,提高运行速度。
[0007] 所述的一种实现集中器远程升级多线程并行的方法,所述每个子通道独立运行, 每个子通道并行运行ι-N个子任务,不共享之间的数据,运用子通道加锁技术。
【附图说明】
[0008] 图1为切割磁带加密文件形成文件块; 图2中所显示的是任务核心处理; 图3主线程处理流程; 图4为子线程分解图; 图5基本数据流程图; 图6基本结构图。
【具体实施方式】
[0009] 下面结合附图所示实施例对本发明进行详细说明。
[0010] 1.先准备好已加密好的磁带文件,其字节为F字节,这块根据地区的情况(信号好 坏进行选择的传输每一包节字的大小)确定每一块数据流大小D字节,以字节数切割成N个 小文件块,每一小块文件格式进行处理,[头文件68H]+数据长度+数据内容+此小块文件的 检验和+文件结尾,目地设备在接收此文件包时,校验包的完整性与准确性,F除以G,如果整 除就直接分为N个数据块,如不能整数情况下(N+1)块。
[0011] 2.每块按如下数据结构图进行组包发送。
[0012]块数据格式内容如下:
3.为减少线程的创建,在集合C中默认为建立了 7个通道线程,说明步骤如下: 1)建立主通道先将所有设备存入S列表中,从此列表中以先进先出的方式,默认读出7 个设备分配到C集合中并创建的7个子通道,每个通道存在二种状态,通道运行状态,任务执 行状态。
[0013] 2)每个通道去运行1..N个数据块,如在执行数据包过程中,遇到掉线,断电情况, 需要记录当前块数据内容及数据包块的标识,启动通道内部监控,进行补报数据,补报数据 默认为3次,每一次回应时间为60秒,如超时默认次数3次,就会记录当前断掉的块号,存入 到数据结构里,会通知给子通道内部的任务状态,未成功. 3)主线程把未成功的设备继续添加到S列表的队列中等待,这时通道处于空闲状态,主 线程再从S列表中向集合C中添加一个未执行的设备到此空闲子通道内,继续工作。
[0014] 4)设备在掉线或断开后,等待数秒后,没有超过指定的时间设备上线,重新发送当 前已记录的数据包,设备应答成功之后,继续发送下一块数据包,直到发送完最后一块,第N 数据块,最后把任务执行的状态发给子通道,主通道会根据子通道状态随时调配通道利用 率,节省资源开销,提高运行速度。
[0015] 4.在执行过程,主通道可以随时统计出子通道的运行情况,当所有S列表里的数据 完成之后,主通道会统计并进行汇总数据。
[0016] 5.本发明主要是减少通道的创建,管理通道的并进运行运算,提高工作效率。
[0017] 6.每个子通道独立运行,每个子通道并行运行1-N个子任务,不共享之间的数据, 运用子通道加锁技术。
[0018] 7.把整个大的文件分成若干个小的数据块有助于gprs信号偏弱的地区发送文件, 在设备上线之后,续传当前数据包,完成历史断点续传功能,每发送一个小块数据,都会记 录此小块文件的偏移量、数据内容、待通讯出现问题时,重新进行补发此块文件时使用。
[0019] 8.在子通道内发送完所有数据包完成之后,如设备没有应答完成此次通讯,软件 会检测发送的数据包有几个没有发送成功,就会重新发送补包数据。
[0020] 9.多台设备可同时进行升级,将多台设备分配到指定数量的通道中,每个通道独 立运行的已完成分割的N个小文件块,这样可以多台集中器同时升级,完全缩短设备升级的 时间与提高工作效率,达到快速集中器升级为目地。
[0021 ] 10.建立块数据内容格式,确保数据包的完整性与准备性。
【主权项】
1. 一种实现集中器远程升级多线程并行的方法,其特征在于,所述方法包括以下过程: 1) 首先准备好已加密好的磁带文件; 2) 每块按数据结构图进行组包发送; 3) 在集合C中默认为建立7个通道线程; 4) 执行过程,主通道随时统计出子通道的运行情况; 5) 管理通道并进运行运算; 6) 每个子通道独立运行; 7) 把整个大的文件分成若干个小的数据块; 8) 在子通道内发送完所有数据包完成之后,如设备没有应答完成此次通讯,会重新发 送补包数据; 9) 多台设备同时进行升级;10.建立块数据内容格式,保证数据包的完整性与准备性。2. 根据权利要求1所述的一种实现集中器远程升级多线程并行的方法,其特征在于,所 述首先准备好已加密好的磁带文件,其字节为F字节,确定每一块数据流大小D字节,以字 节数切割成N个小文件块。3. 根据权利要求1所述的一种实现集中器远程升级多线程并行的方法,其特征在于,所 述建立7个通道线程,步骤如下: 1) 建立主通道先将所有设备存入S列表中; 2) 每个通道去运行1. . N个数据块; 3) 主线程把未成功的设备继续添加到S列表的队列中等待; 4) 设备在掉线或断开后,等待数秒后,没有超过指定的时间设备上线,重新发送当前已 记录的数据包,设备应答成功之后,继续发送下一块数据包,直到发送完最后一块,第N数据 块,最后把任务执行的状态发给子通道,主通道会根据子通道状态随时调配通道利用率,节 省资源开销,提高运行速度。4. 根据权利要求1所述的一种实现集中器远程升级多线程并行的方法,其特征在于,所 述每个子通道独立运行,每个子通道并行运行1-N个子任务,不共享之间的数据,运用子通 道加锁技术。
【专利摘要】一种实现集中器远程升级多线程并行的方法,涉及一种多线程并行运行的方法,所述方法包括首先准备好已加密好的磁带文件;每块按数据结构图进行组包发送;在集合C中默认为建立7个通道线程;执行过程主通道随时统计出子通道的运行情况;管理通道并进运行运算;每个子通道独立运行;把整个大的文件分成若干个小的数据块;重新发送补包数据;多台设备同时进行升级;建立块数据内容格式。该方法为一种多线程并行运行的方法,将远程多线程技术用于集中器设备远程升级的运行方法。利用现有的gprs通讯技术,根据嵌入式设备存储结构和更新原理,实现集中器多线程并发设备自动升级的方法。
【IPC分类】H04L29/08, G06F9/445
【公开号】CN105516351
【申请号】CN201610010500
【发明人】边双志, 高新, 陈潋平, 张俊哲, 武金龙, 林伯刚, 宋延林, 刘洋, 周佳伟, 袁滨成, 袁东彪, 张巍华, 李克楠, 李功伦
【申请人】沈阳时尚实业有限公司
【公开日】2016年4月20日
【申请日】2016年1月8日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1