一种交换机软件高效安全升级系统及方法与流程

文档序号:30623266发布日期:2022-07-02 05:16阅读:207来源:国知局
一种交换机软件高效安全升级系统及方法与流程

1.本发明涉及一种交换机软件高效安全升级系统及方法,属于交换机技术领域。


背景技术:

2.伴随智能变电站的通信需求,交换机软件版本会不定期的更新。工程服务人员会对现场交换机设备软件进行升级更新,升级过程中可能遇到网线松动或其他原因,导致升级失败,且有的软件包比较大,升级比较耗时,现场设备多的情况下,会导致升级效率低下。传统升级模式基于udp或tcp socket通信,通信过程中,仅包含文件信息,从文件头部开始顺序发送和接收,如果中途出现网络异常,那么此次文件传输就失败了,之前传输的部分作废,需要再次从头开始。


技术实现要素:

3.本发明的目的在于克服现有技术中的不足,提供一种交换机软件高效安全升级系统及方法,避免网络异常之前传输的文件内容再次传输,达到节约时间的目的。
4.为达到上述目的,本发明是采用下述技术方案实现的:
5.第一方面,本发明提供了一种交换机软件高效安全升级方法,包括:
6.读取配置文件初始化相关参数;
7.将需要升级的文件按照指定的大小进行分块,且将文件块逐一编号;
8.判断是否收到客户端发起的连接请求:
9.响应于没有收到连接请求时,重新判断是否收到客户端发起的连接请求;
10.响应于收到连接请求时,启动独立升级请求任务;
11.判断网络是否出现异常:
12.响应于网络出现异常时,终止向客户端传输文件块;
13.响应于网络恢复正常时,从最后一次成功传输的文件块编号的下一个文件块开始传输,直至传输完成。
14.进一步的,响应于收到连接请求时,启动独立升级请求任务,包括:
15.判断连接请求是否为第一次升级请求;
16.响应于本次连接请求为第一次升级请求时,获取第一个文件块及编号并发送至客户端后,判断是否收到确认信息;
17.响应于本次连接请求非第一次升级请求时,根据客户端反馈的编号获取下一个文件块并发送至客户端后,判断是否收到确认信息。
18.进一步的,判断网络是否出现异常,包括:判断一定时间是否收到了客户端反馈的确认信息,其中,所述确认信息为客户端收到文件块后记录并反馈给服务端的文件块编码。
19.进一步的,判断一定时间是否收到了客户端反馈的确认信息,包括:
20.响应于一定时间内没有收到确认信息则认为网络出现异常,此时记录上一次客户端反馈的文件块编号,退出本次升级任务;
21.响应于一定时间内收到了确认信息则认为则为网络恢复正常,此时接收客户端再次发起的升级请求后,基于升级请求中最后一次成功传输的文件块编号进行传输。
22.进一步的,从最后一次成功传输的文件块编号的下一个文件块开始传输,包括:根据文件块的编号和文件块大小计算出下一个文件块的起始位置,即:
23.a=(b-1)*c
24.其中,a为下一个文件块起始位置,b为当前文件块编号,c为文件块大小。
25.进一步的,传输结束后,所述客户端与服务端将传输文件块的记录全部清除。
26.进一步的,响应于网络恢复正常时,从最后一次成功传输的文件块编号的下一个文件块开始传输,直至传输完成,包括:
27.记录当前确认信息内的文件块编号后,判断能否获取下一个文件块及编号;
28.响应于能够获取下一个文件块及编号时,再次将文件块及编号发送至客户端后,判断是否收到确认信息;
29.响应于无法获取下一个文件块及编号时,通知客户端传输结束,清除文件记录消息,结束运行。
30.第二方面,本发明提供了一种交换机软件高效安全升级系统,包括:
31.升级文件服务器模块:运行于网络设备上,接收客户端发起的升级请求后,在指定路径下搜索客户端需要升级的文件;找到指定文件后,获取该文件大小,按照指定大小计算文件分块数量并进行编号;将整个文件读取到内存中,从头开始将指定大小的文件块拷贝到发送缓存中,携带文件块编号一起发送给客户端;收到客户端的确认后,记录下当前文件块编号,并继续发送下一个文件块,直至整个文件发送完成;整个文件发送完成后,发送传输完成信息至客户端,收到客户端确认后关闭该tcp会话,最后清除相关文件记录信息;
32.升级文件客户端模块:运行于交换机设备上,发送包含需要升级的文件名的升级请求至升级文件服务器模块,并依次接收文件块内容;将文件块内容写入指定文件的尾部,且记录当前文件块的编号,发送确认信息至服务端;当网络异常时,关闭该tcp会话,将最后收到的文件块编号保存至记录文件;当网络恢复时,再次发起升级请求,读取记录文件,将文件块编号发送至服务端,并开始接收该编号的下一个文件块以及记录当前文件块编号,直至文件传输完成;当收到传输完成的信息时,关闭该tcp会话,并清除相关文件记录信息;
33.升级文件管理模块:运行于交换机设备上,对升级文件客户端模块进行调用,获取客户端模块的反馈信息。
34.第三方面,本发明提供了一种交换机软件高效安全升级装置,包括处理器及存储介质;
35.所述存储介质用于存储指令;
36.所述处理器用于根据所述指令进行操作以执行根据上述任一项所述方法的步骤。
37.第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
38.与现有技术相比,本发明所达到的有益效果:
39.本发明提供了一种简易、通用的交换机软件高效安全升级方法,保证在网络异常情况下,提升升级效率,本方法可以避免网络异常之前传输的文件内容再次传输,仅传输剩余的那一部分,达到节约时间的目的。该方法适用于所有设备的软件升级需求,具有一定的
通用性。为使本发明的目的、技术方案和优点表达得更加清晰明白,下面结合附图及具体实例对本发明作进一步的详细说明。
附图说明
40.图1是本发明实施例一提供的客户端与服务端通信流程图;
41.图2是本发明实施例一提供的升级文件服务端处理流程图;
42.图3是本发明实施例一提供的升级文件客户端处理流程图。
具体实施方式
43.下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
44.实施例一:
45.为了保证在网络异常情况下,提升升级效率,本实施例提供了一种简易、通用的交换机软件高效安全升级方法,该方法可以避免网络异常之前传输的文件内容再次传输,仅传输剩余的那一部分,达到节约时间的目的。该方法适用于所有设备的软件升级需求,具有一定的通用性。为使本发明的目的、技术方案和优点表达得更加清晰明白,下面结合附图及具体实例对本发明作进一步的详细说明。
46.该升级方法基于tcp socket通信。当客户端(交换机设备)与服务端(文件服务器)建立tcp连接后,客户端发起升级请求,服务端将需要升级的文件按照指定的大小进行分块,且将文件块逐一编号,并依次发送至客户端。客户端收到文件块后,记录当前文件块编号,并将该文件块编码反馈给服务端,服务端记录当前发送块编号,并进行下一个文件块的传输,网络正常情况下,直至所有文件块传输结束。当网络出现异常时,客户端与服务端会终止传输,两端均记录下最后一个成功传输的文件块的编号。当网络恢复,客户端再次发送升级请求,并将之前记录的文件块编号发送至服务端,服务端即从指定编号的下一个文件块开始传输,直至传输结束。传输结束后,客户端与服务端将传输文件块的记录全部清除,表明此次升级成功完成。
47.需要说明的是,当客户端(交换机设备端)向服务端(工程服务人员pc)发起升级请求后,在文件传输过程中如果出现网络异常,那么会导致文件传输中断,导致此次升级失败。当网络恢复正常,客户端再次发起升级请求,服务端会将上一次未传输完成的文件块依次发送给客户端,而不用从头开始传输,达到节约时间的目的。
48.服务端会将上一次未传输完成的文件块依次发送给客户端,而不用从头开始传输,是指区别与传统升级方法,本方法将升级文件划分为多个块,服务端将文件块依次发送给客户端,网络异常时,服务端与客户端分别记录最后一次成功传输的文件块的编号。网络恢复后,服务端收到升级请求时,会根据文件块编号计算下一个文件块的起始位置,并从下一个文件块开始依次发送给客户端,直至剩余文件块传输结束。
49.网络异常时,服务端与客户端分别记录最后一次成功传输的文件块的编号,是指当网络异常时,服务端发送文件块后,不论发送成功与否都会等待客户端的确认信息,在一定时间内没有收到确认信息则认为网络出现异常,便记录上一次文件块编号,退出本次升级任务。同样客户端在一定时间内没有收到服务端的任何信息时,认为网络出现异常,便记
录上一次文件块编号,退出本次升级任务。
50.网络恢复后,服务端收到升级请求时,会根据文件块编号计算下一个文件块的起始位置,是指因为上一次网络异常导致升级失败,网络恢复后,客户端会读取指定的配置文件,获取最后一次成功传输的文件块的编号,并将升级文件名称与文件块编号作为升级请求发送给服务端。服务端根据文件块的编号和文件块大小可以计算出下一个文件块的起始位置。即:
51.下一个文件块起始位置=(当前文件块编号-1)x文件块大小
52.需要说明的是,当前文件块编号=最后一次传输成功的文件块编号+1,也就是下一个准备传输的文件块编号。服务端发送文件块后,不论发送成功与否都会等待客户端的确认信息,是指服务端依次将文件块发送给客户端,客户端每次收到文件块后就将该文件块的编号发送给服务端,服务端对该编号进行确认后才发送下一个文件块,保证每一个文件块都成功发送到客户端。
53.请参阅图1-3,在本实例中,所述的使用文件分块的方法在网络异常情况下对交换机软件进行高效率升级为:如图1,客户端(交换机设备端)与服务端(工程服务人员pc)建立起连接后,客户端发起升级请求,服务端将升级的文件进行分块并依次传输给客户端,如图1中的步骤3和4,服务端收到当前文件块的确认信息后再进行下一个文件块的的传输,在网络正常的情况下,直至文件传输完成。当网络出现异常,那么文件传输就会出现中断,如图2和3分别对异常做了处理,图2中服务端将(文件块+编号)发送至客户端后,会等待客户端的确认信息,如果收到则记录当前成功传输的文件块的编号。如果在一定时间内没有收到确认信息,说明网络出现异常,则退出此次任务,继续等待升级请求。虽然此次升级失败,但是已有部分文件块已经成功传输,服务端对当前升级文件做了记录,该记录可以推算出下一个文件块的起始位置。图3中,当客户端发送升级请求后,会依次收到服务端发送的文件块以及相关编号,并记录编号以及对文件块进行确认,当在一定时间内没有收到任何信息,说明出现网络异常,此时便将上一次成功传输的文件块的编号写入配置文件,程序退出。此次客户端升级失败,当网络恢复,客户端再次发起升级请求,将上一次升级失败保存的文件块编号发送至服务端。图2中服务端根据收到文件块编号判断并非第一次升级,便从该编号的下一个文件块进行传输,直至文件传输完成,或再次遇到网络异常。无论网络是否出现异常,之前传输的文件内容都不会重复传输,尤其针对大文件的传输,在出现网络异常的情况下,相比传统的升级模式,会节约不少时间。
54.实施例二:
55.一种交换机软件高效安全升级系统,可实现实施例一所述的一种交换机软件高效安全升级方法,包括:升级文件服务器模块、升级文件客户端模块、升级文件管理模块。
56.所述升级文件服务器模块,该模块运行于工程服务人员pc上,作为tcp通信的服务端,当收到客户端(交换机设备)发起的升级请求,便在指定路径下搜索客户端需要升级的文件。当找到指定文件后,获取该文件大小,按照指定大小计算文件可以分成多少块,并进行编号。然后将整个文件读取到内存中,从头开始将指定大小的文件块拷贝到发送缓存中,携带文件块编号一起发送给客户端,收到客户端的确认后,记录下当前文件块编号,并继续发送下一个文件块,直至整个文件发送完成。当通信过程中,因各种原因导致通信中断,当前tcp通信会话会转变为无效状态,但是指定的升级文件相关信息还存在,当再次收到同一
升级请求时,便根据上一次记录的文件块编号从下一块文件内容逐一发送,直至整个文件发送完成,并发送传输完成信息至客户端,收到客户端确认后关闭该tcp会话,最后清除相关文件记录信息。
57.所述升级文件客户端模块,该模块运行于交换机设备上,作为tcp通信客户端,负责发送文件升级请求。首先发送tcp连接请求,连接成功后,发送需要升级的文件名至服务端,并依次接收文件块内容,将文件块内容写入指定文件的尾部,且记录当前文件块的编号,发送确认信息至服务端,表明此次文件块接收成功,可以进行下一个文件块的传送。当中途网络中断,在一定时间内没有收到文件块或传输完成的信号时,便关闭该tcp会话,将最后收到的文件块编号保存至记录文件。当网络恢复再次发起升级请求时,会读取记录文件,将文件块编号发送至服务端,并开始接收该编号的下一个文件块以及记录当前文件块编号,直至文件传输完成。当收到传输完成的信息时,关闭该tcp会话,并清除相关文件记录信息。
58.所述升级文件管理模块,该模块运行于交换机设备上,主要用于用户操作,对升级客户端模块进行调用,获取客户端模块的反馈信息,比如升级失败或成功。便于工程服务人员判断是否需要再次发起升级请求。
59.实施例三:
60.本发明实施例还提供了一种交换机软件高效安全升级装置,可实现实施例一所述的一种交换机软件高效安全升级方法,包括处理器及存储介质;
61.所述存储介质用于存储指令;
62.所述处理器用于根据所述指令进行操作以执行下述方法的步骤:
63.读取配置文件初始化相关参数;
64.将需要升级的文件按照指定的大小进行分块,且将文件块逐一编号;
65.判断是否收到客户端发起的连接请求:
66.响应于没有收到连接请求时,重新判断是否收到客户端发起的连接请求;
67.响应于收到连接请求时,启动独立升级请求任务;
68.判断网络是否出现异常:
69.响应于网络出现异常时,终止向客户端传输文件块;
70.响应于网络恢复正常时,从最后一次成功传输的文件块编号的下一个文件块开始传输,直至传输完成。
71.实施例四:
72.本发明实施例还提供了一种计算机可读存储介质,可实现实施例一所述的一种交换机软件高效安全升级方法,其上存储有计算机程序,该程序被处理器执行时实现下述方法的步骤:
73.读取配置文件初始化相关参数;
74.将需要升级的文件按照指定的大小进行分块,且将文件块逐一编号;
75.判断是否收到客户端发起的连接请求:
76.响应于没有收到连接请求时,重新判断是否收到客户端发起的连接请求;
77.响应于收到连接请求时,启动独立升级请求任务;
78.判断网络是否出现异常:
79.响应于网络出现异常时,终止向客户端传输文件块;
80.响应于网络恢复正常时,从最后一次成功传输的文件块编号的下一个文件块开始传输,直至传输完成。
81.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
82.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
83.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
84.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
85.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1