CN114443095A - 空调器升级方法、空调器 - Google Patents
空调器升级方法、空调器 Download PDFInfo
- Publication number
- CN114443095A CN114443095A CN202210072036.5A CN202210072036A CN114443095A CN 114443095 A CN114443095 A CN 114443095A CN 202210072036 A CN202210072036 A CN 202210072036A CN 114443095 A CN114443095 A CN 114443095A
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- storage area
- sequence number
- receiving end
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000005540 biological transmission Effects 0.000 claims abstract description 85
- 238000012790 confirmation Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 55
- 238000012795 verification Methods 0.000 claims description 10
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000008569 process Effects 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010257 thawing Methods 0.000 description 1
Images
Classifications
-
- 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
Abstract
本发明公开了一种空调器升级方法和空调器,空调器包括作为数据发送端的室内机和作为数据接收端的室外机,方法包括以下步骤:数据发送端向数据接收端发送数据包;数据接收端对接收到的数据包校验正确时,向数据发送端发送确认包,确认包包含当前接收的数据包的包序号;数据发送端将接收到的确认包中的包序号交替写入第一存储区和第二存储区;当数据发送端与数据接收端的数据传输出现断点并恢复数据传输连接后,确定第一存储区和第二存储区中所存储的较大的一个包序号;数据发送端向数据接收端发送较大的包序号之后的一个包序号所对应的数据包。根据本发明的空调器升级方法,可以大大缩短室外机的升级时间,提高升级效率,提高用户体验。
Description
技术领域
本发明涉及家用电器技术领域,尤其是涉及一种空调器升级方法、空调器。
背景技术
目前的空调室外机进行软件升级时,在数据包的传输过程中,如果由于断电等原因导致传输中断,在恢复传输连接后,需要从第一个数据包开始重新开始传递。这种传输的缺陷是传输效率低,传输时间比较长,比较影响用户的使用体验。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明在于提出一种空调器升级方法,所述空调器升级方法可以提高室外机软件的升级效率。
本发明还提出一种应用上述空调器升级方法的空调器。
根据本发明第一方面的空调器升级方法,所述空调器包括作为数据发送端的室内机和作为数据接收端的室外机,所述方法包括以下步骤:所述数据发送端向所述数据接收端发送数据包;所述数据接收端对接收到的数据包校验正确时,向所述数据发送端发送确认包,所述确认包包含当前接收的数据包的包序号;所述数据发送端将接收到的确认包中的包序号交替写入第一存储区和第二存储区;当所述数据发送端与所述数据接收端的数据传输出现断点并恢复数据传输连接后,确定所述第一存储区和所述第二存储区中所存储的较大的一个包序号;所述数据发送端向所述数据接收端发送较大的所述包序号之后的一个包序号所对应的数据包。
根据本发明的空调器升级方法,在室内机与室外机之间进行短线传输以完成室外机的软件升级,一方面可以避免相关技术中室内机和室外机需要分别从服务器下载升级包以进行升级,从而避免室外机无法与服务器连接时导致不能升级的情况发生,另外,当出现传输断点后,可以准确地查询到断点位置,并从断点位置的数据包开始继续传输,从而避免从起始数据包重新传输,可以大大缩短室外机的升级时间,提高升级效率,提高用户体验。
根据本发明的一些实施例,所述空调器升级方法还包括:在数据包传输过程中,在数据包传输过程中,当判断到所述第一存储区和所述第二存储区中的其中一个当前所写入的数据包的包序号大于另一个的包序号时,擦除较小的包序号以备较小的包序号所对应的存储区写入下一个传输的数据包的包序号。
根据本发明的一些实施例,所述空调器升级方法,还包括:判断写入所述第一存储区和所述第二存储区中任意一个的包序号是否小于数据包的最大包序号;若写入所述第一存储区和所述第二存储区中任意一个的包序号不小于所述数据包的最大包序号,所述数据发送段向所述数据接收端发送完成包,所述完成包包含室外机升级版本的控制程序总文件的CRC校验值,数据包传输完成。
进一步地,所述空调器升级方法还包括:在数据包传输完成后,数据接收端对所有数据包进行校验,并将计算得到的校验值与所述完成包包含的室外机升级版本的控制程序总文件的CRC校验值作比较;若不一致,所述数据接收端向所述数据发送端发送数据包重传请求,所述第一处理模块重新发送所有数据包。
更进一步地,所述数据接收端包括下载区和数据运行区,所述数据发送端向所述数据接收端发送数据包,具体包括:所述数据接收端将接收的数据包存储至所述下载区,所述方法还包括:若校验成功,将所述数据发送端的所述下载区的所有数据包拷贝至所述数据发送端的数据运行区;擦除所述下载区的数据包。
在一些实施例中,所述空调器升级方法,还包括:在数据包传输过程中,判断所述第一存储区的存储的包序号和所述第二存储区存储的包序号的差值是否等于设定值,所述设定值为相邻的两个数据包的包序号的差;若所述第一存储区的存储的包序号和所述第二存储区存储的包序号的差值不等于设定值,所述数据发送端从起始数据包开始重新向所述数据接收端发送数据包。
根据本发明第二方面的空调器,包括作为数据发送端的室内机和作为数据接收端的室外机,其中,所述数据发送端包括:第一存储模块,所述第一存储模块具有第一存储区和第二存储区,所述数据接收端对接收到的数据包校验正确时,向所述数据发送端发送确认包,所述确认包包含当前接收的数据包的包序号,所述数据发送端将接收到的确认包中的包序号交替写入第一存储区和第二存储区;第一处理模块,所述第一处理模块用于确定所述第一存储区和所述第二存储区中所存储的较大的一个包序号;所述数据接收端包括:第二存储模块,所述第二存储模块用于存储数据包;第二处理模块,所述第二处理模块用于检测所述室内机与所述室外机的数据传输是否出现断点,并在断点出现后重新与所述数据发送端建立数据传输连接。
进一步地,所述第一处理模块还用于:在数据包传输过程中,判断写入所述第一存储区和所述第二存储区中任意一个的包序号是否小于数据包的最大包序号;在所述第一处理模块判断到所述第一存储区和所述第二存储区中任意一个存储的包序号不小于所述数据包的最大包序号时,向所述第二处理模块发送完成包,所述完成包包含室外机升级版本的控制程序总文件的CRC校验值。
更进一步地,所述第二处理模块在接收到完成包后,对所有数据包进行校验,并将计算得到的校验值与所述完成包包含的室外机升级版本的控制程序总文件的CRC校验值作比较;若不一致,所述第二处理模块向所述第一处理模块发送数据包重传请求,所述第一处理模块重新发送所有数据包。
在一个具体地示例中,所述第二存储模块包括:下载区,所述下载区用于存储所述数据接收端接收的数据包;数据运行区,所述数据运行区用于当校验成功时存储从所述下载区写入的数据包。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是根据本发明实施例的空调器升级方法的流程控制图;
图2是根据本发明实施例的空调器升级方法的一个具体实施例的流程示意图;
图3是根据本发明实施例的空调器的示意图;
图4是根据本发明实施例的室内机的示意图;
图5是根据本发明实施例的室外机的示意图。
附图标记:
空调器100:
室内机10,第一存储模块101,第一处理模块102,
室外机20,第二存储模块201,第二处理模块202。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考图1和图2描述根据本发明第一方面实施例的空调器升级方法。
如图1所示,根据本发明第一方面实施例的空调器升级方法,空调包括室内机10和室外机20,在对室内机10和室外机20进行固件升级时,可以先将室外机20和室内机10的升级文件合并成一个升级包并部署至服务器,然后将合并后的升级包从服务器下载至室内机10,再由室内机10单独将室外机20的升级文件发送给室外机20以实现空调器100系统的整体升级,这里,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或分布式系统,或者,还可以是提供云服务、云数据库、云计算、云储存、以及大数据和人工智能平台等基础云计算服务的云服务器。在室内机10和室外机20之间进行短线传输时,室内机10可以作为数据发送端,室外机20可以作为数据接收端,室内机10和室外机20之间的数据传输可以是通过传输介质传输,也可以是WiFi传输,或者还可以是蓝牙传输。
本实施例的空调器升级方法包括以下步骤:
S1,数据发送端向数据接收端发送数据包;
S2,数据接收端对接收到的数据包校验正确时,向数据发送端发送确认包,确认包包含当前接收的数据包的包序号;
S3,数据发送端将接收到的确认包中的包序号交替写入第一存储区和第二存储区;
S4,当数据发送端与数据接收端的数据传输出现断点并恢复数据传输连接后,确定第一存储区和第二存储区中所存储的较大的一个包序号;
S5,数据发送端向数据接收端发送较大的包序号之后的一个包序号所对应的数据包。
具体而言,作为数据发送端的室内机10先将室外机20的升级包切割成多个数据包进行传输,并为每个数据包设置包序号1、2、3……N、数据包可以是以串行或并行的形式进行传输。其中,数据发送端的存储设备开辟了两个存储区,即第一存储区和第二存储区,第一存储区和第二存储区中存储的初始数据均为0。
在传输过程中,数据发送端依次向数据接收端发送数据包。例如,数据发送端首先向数据接收端发送包序号为1的数据包,在数据接收端接收到该数据包后,先对该数据包进行CRC校验,在校验失败时,说明数据包中的数据信息在传输过程中发生错误,此时数据接收端可以丢弃该数据包,然后请求数据发送端重新发送被丢弃的数据包;校验正确时,数据接收端向数据发送端返回一个Ack(回执)即确认包,以表明自身接收到包序号为1的数据包,确认包可以包含数据接收端当前接收到的数据包的包序号以及校验和,数据发送端将确认包中的包序号1写入中的第一存储区。然后进行第二个数据包的传输,当数据发送端接收到数据接收端返回的第二个确认包时,将第二个确认包中的包序号2写入到第二存储区;当数据发送端在发送完包序号为3的数据包且接收到第三个确认包后,再次将第三个确认包中的包序号3写入第一存储区,以此类推,数据发送端将接收到的确认包中的包序号交替写入第一存储区和第二存储区,直到所有的数据包均传输成功。
由于在数据包传输过程中,可能会由于断电、断网、用户操作等事件导致数据发送端和数据接收端之间的数据传输出现断点即传输中断。当导致出现断点的原因消除后,数据发送端与数据接收端之间重新握手以建立数据传输连接。此时,为避免重新从第一数据包开始传输,需要先确定断点发生时的传输位置,即断点发生时已传输完成的数据包的位置。具体的确定方法如下:数据发送端读取并判断第一存储区存储的包序号和第二存储区存储的包序号中较大的一个包序号,若第一存储区存储的包序号大于第二存储区存储的包序号,则说明断点发生时的传输位置为第一存储区的存储的包序号所对应的数据包,则可以从第一存储区的存储的包序号之后的一个数据包开始继续传输;若第二存储区存储的包序号大于第一存储区存储的包序号,则说明断点发生时的传输位置为第二存储区的存储的包序号所对应的数据包,则可以从第二存储区的存储的包序号之后的一个数据包开始继续传输。
根据本发明的空调器升级方法,在室内机10与室外机20之间进行短线传输以完成室外机20的升级,可以避免相关技术中室内机10和室外机20需要分别从服务器下载升级包以进行升级,从而避免室外机20无法与服务器连接时导致不能升级的情况发生,同时,当出现传输断点后,可以准确地查询到断点位置,并从断点位置的数据包开始继续传输,从而避免从起始数据包重新传输,可以大大缩短室外机20的升级时间,提高升级效率,提高用户体验。
可选地,在一些实施例中,数据接收端也可以设有两个存储区,在数据包传输过程中,数据接收端在接收到数据包后,在对数据包校验正确的情况下,交替将数据包的包序号写入到两个存储区,在数据发送端与数据接收端发生断点事件且重新握手建立数据传输连接后,数据接收端确定两个存储区中存储的较大的一个包序号,然后数据接收端将确定的包序号发送给数据发送端,由数据发送端比较自身和数据接收端确定的两个较大的包序号是否相同,若相同,则数据发送端向数据接收端发送该包序号之后的一个包序号对应的数据包;若不同,则数据发送端将接收到的包序号写入相应的存储区,然后数据发送端向数据接收端发送该包序号之后的包序号所对应的数据包。
根据本发明的一些实施例,空调器升级方法还包括:在数据包传输过程中,当判断到第一存储区和第二存储区中的其中一个当前所写入的数据包的包序号大于另一个的包序号时,擦除较小的包序号以备较小的包序号所对应的存储区写入下一个传输的数据包的包序号。由此可以避免第一存储区和第二存储区的内存占用,更好地节约存储资源。
例如,在数据包的正常传输过程中,数据发送端将包序号1写入第一存储区后,标志着包序号为1的数据包已传输成功;在此基础上,若数据发送端包序号2写入到第二存储区,说明包序号为2的数据包也已传输完成,此时可以将第一存储区的包序号1擦除,以便于数据发送端在发送完包序号为3的数据包后将接收到的确认包中的包序号3写入到第一存储区;同理,当包序号3成功写入第一存储区后,数据发送端将第二存储区的包序号2擦除,以便于数据发送端在发送完包序号为4的数据包后将接收到的确认包中的包序号4写入到第二存储区,从而避免在升级过程中将所有的数据包的包序号均写入第一存储区或第二存储区,降低内存占用,节约数据发送端的内存资源。
根据本发明的一些实施例,空调器升级方法,还包括:在数据包传输过程中,判断写入第一存储区和第二存储区中任意一个的包序号是否小于数据包的最大包序号;若写入第一存储区和第二存储区中任意一个的包序号不小于数据包的最大包序号,所述数据发送段向所述数据接收端发送完成包,所述完成包包含室外机升级版本的控制程序总文件的CRC校验值。
具体而言,在数据包的传输过程中,实时检测并判断第一存储区或第二存储区存储的包序号是否小于数据包的最大包序号,当判断到第一存储区和第二存储区中任意一个写入的包序号等于最大的数据包的包序号时,说明数据发送端已将包含室外机升级版本的控制程序的所有数据包均传输至数据接收端,此时数据发送端可以向数据接收端发送完成包,完成包包含室外机升级版本的控制程序总文件的CRC校验值,由此,可以准确得判断数据包是否全部发送成功,及时终止传输,节省系统开销。
进一步地,所述空调器升级方法还可以包括:数据接收端接收到完成包后,对所有数据包进行校验,并将计算得到的校验值与所述完成包包含的室外机升级版本的控制程序总文件的CRC校验值作比较;若不一致,所述数据接收端向所述数据发送端发送数据包重传请求,所述数据发送端向所述数据接收端重新发送所有数据包。
为避免数据传输出现错误,例如数据包缺失、重复,可以设立纠错机制,具体为,在数据发送端将所有的数据包传输至数据接收端后,数据接收端对接收到的所有数据包的CRC校验值,并将计算得到的校验值与完成包中包含的室外机升级版本的控制程序总文件的CRC校验值作比较,若完全一致,则校验正确,若不一致,则校验失败。若校验失败,则数据接收端和数据发送端重新启动握手建立数据传输连接,同时,数据接收端擦除已接收的数据包,数据发送端从包序号为1的数据包开始向数据接收端重新发送所有数据包,待所有数据包发送成功后,再次进行CRC校验,直到校验成功,如此,实现室外机20升级包的正确传输。
更进一步地,所述数据接收端包括下载区和数据运行区,所述数据发送端向所述数据接收端发送数据包,具体包括:所述数据接收端将接收的数据包存储至所述下载区,所述方法还包括:若校验成功,将所述数据发送端的所述下载区的所有数据包拷贝至所述数据发送端的数据运行区;擦除所述下载区的数据包。
具体而言,数据接收端包括下载区和数据运行区,其中,室外机20在运行过程中从数据运行区读取指令和数据,而下载区可以仅在固件升级过程中用于临时接收并存储数据包,这样,用户可以在空调室外机20运行的过程中完成不停机升级,在数据发送端向数据接收端发送数据包的过程中,数据接收端先将所接收的数据包均存储至下载区,所有的数据包传输完成后,先对下载区的所有数据包进行CRC校验,若检验成功,则将下载区的所有数据包拷贝至数据运行区,对下载的数据包进行解析,并将解析后的数据包替换或覆盖数据运行区内的旧板本的运行软件,从而完成室外机20运行软件的升级,并且,在升级完成后,需要擦除下载区的数据包,以备进行下次升级时适用。
可选地,作为一种替代的方式,数据接收端可以仅包括数据运行区,在数据发送端向数据接收端发送数据包的过程中,数据接收端可以将接收的数据包直接写入数据运行区覆盖旧板本的数据包,此时,在空调器100的升级过程中,用户无法控制室外机20的运行。
在一些实施例中,所述空调器升级方法,还可以包括:服务器将升级包发送至所述数据发送端;所述数据发送端将所述升级包分割成多个大小相同的数据包。
具体而言,当对室内机10和室外机20进行固件升级时,可以先利用PC机软件将室外机20和室内机10的升级文件合并成一个升级包并上传至服务器,然后将该升级包从服务器下载至室内机10,然后再由室内机10单独将室外机20的升级包发送给室外机20以实现空调器100系统的整体升级,由此,仅需要室内机10与服务器建立一次数据传输连接,即可将室外机20和室内机10的升级包下载到室内机10,而室内机10和室外机20之间进行短距离通信,传输效率更高,可以较大提升室外机20升级效率。
根据本发明的一些实施例,空调器升级方法还可以包括:判断是否出现断点事件,断点事件包括:掉电或断网或用户操作,其中掉电可以包括断电或电压不稳,断网例如网络连接完全中端,或者网络连接不稳、信号差、丢包等状况,用户操作例如用户开关机、调整温度、风速等用户触发事件,或者,还可以是空调器100控制系统的主动控制,例如化霜、达温调节导风角度、风速等。若判断到出现断点事件,数据接收端向数据发送端发送连接请求,数据发送端确认请求并响应,数据接收端与数据发送端恢复数据传输连接,然后进行断点续传的相应机制。
根据本发明的一些实施例,空调器升级方法还包括:在数据包传输过程中,判断第一存储区的存储的包序号和第二存储区存储的包序号的差值是否等于设定值,设定值为相邻的两个数据包的包序号的差;若第一存储区的存储的包序号和第二存储区存储的包序号的差值不等于设定值,数据发送端从起始数据包开始重新向数据接收端发送数据包。
例如,若数据发送端将室内机的升级包分割成多个数据包,并且为多个数据包依次设置的序号为1、2、3……N时,在正常状态下,第一存储区和第二存储区存储的包序号的差值应当始终为1,即设定值为1,若第一存储区和第二存储区存储的包序号的差值大于1,说明出现了数据包的丢失,本次升级失败,数据发送端需要从包序号为1的数据包重新向数据接收端传输;当然本发明不限于此,当多个数据包的包序号为2、4、6……2N时,设定值为2,以此类推。如此,通过设置本实施例的纠错机制,可以防止数据传输过程出现数据包的丢失,确保室外机的升级顺利进行。
下面描述根据本发明第二方面实施例的空调器100。
根据本发明第二方面实施例的空调器100,包括作为数据发送端的室内机10和作为数据接收端的室外机20,其中,数据发送端包括:第一存储模块101和第一处理模块102。数据接收端包括:第二存储模块201和第二处理模块202。
其中,第一存储模块101可以是室内机10的dataflash存储器(非易失性数据存储器)或者外部EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)等记忆设备,第一存储模块101开辟出第一存储区和第二存储区,例如,第一存储区可以是地址为M的存储区,第二存储区可以是地址为N的存储区,当然本发明不限于此,第一存储区和第二存储区在记忆设备中的地址可以根据实际需要来合理选择。在数据包传输过程中,数据接收端的第二处理模块202对接收到的数据包校验正确时,向数据发送端发送确认包,确认包包含当前接收的数据包的包序号,数据发送端将接收到的确认包中的包序号交替写入第一存储区和第二存储区,第一处理模块102用于在数据发送端与数据接收端的数据传输出现断点并恢复数据传输连接后,确定第一存储区的包序号与第二存储区的包序号中较大的一个包序号。
第二存储模块201可以是室外机20的dataflash存储器(非易失性数据存储器)或者外部EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)等记忆设备,第二存储模块201用于接收并存储数据包;第二处理模块202用于检测室内机10与室外机20的通信是否出现断点,并在断点出现后重新与数据发送端建立数据传输连接。
具体而言,室内机10的第一处理模块102将室外机20的升级包分割成多个数据包,并为每个数据包设置包序号1、2、3……N、数据包可以是以串行或并行的形式进行传输,第一存储模块101开辟了两个存储区,即第一存储区和第二存储区,在传输过程中,在传输过程中,数据发送端依次向数据接收端发送数据包。例如,数据发送端首先向数据接收端发送包序号为1的数据包,在数据接收端接收到该数据包后,第二处理模块202对该数据包进行校验,校验正确时,数据接收端向数据发送端返回一个Ack(回执)即确认包,以表明自身接收到包序号为1的数据包,确认包可以包含数据接收端当前接收到的数据包的包序号以及校验和,数据发送端将确认包中的包序号1写入第一存储模块的第一存储区。然后进行第二个数据包的传输,当数据发送端接收到数据接收端返回的第二个确认包时,将第二个确认包中的包序号2写入到第一存储模块的第二存储区;当数据发送端在发送完包序号为3的数据包且接收到第三个确认包后,再次将第三个确认包中的包序号3写入第一存储区,以此类推,数据发送端将接收到的确认包中的包序号交替写入第一存储区和第二存储区,直到所有的数据包均传输成功。
由于在数据包传输过程中,可能会由于各种状况例如断电、断网等导致数据发送端和数据接收端之间的数据传输出现断点即传输中断,当导致出现断点的原因消除后,第一处理模块102与第二处理模块202之间重新建立数据传输连接。此时,为避免重新从第一数据包开始传输,需要先确定断点发生时的传输位置,即断点发生时已传输完成的数据包的位置。具体的操作如下:第一处理模块101读取并判断第一存储区存储的包序号和第二存储区存储的包序号中较大的一个包序号,若第一存储区存储的包序号大于第二存储区存储的包序号,则说明断点发生时的传输位置为第一存储区的存储的包序号所对应的数据包,则可以从第一存储区的存储的包序号之后的一个数据包开始继续向数据接收端传输;若第二存储区存储的包序号大于第一存储区存储的包序号,则说明断点发生时的传输位置为第二存储区的存储的包序号所对应的数据包,则可以从第二存储区的存储的包序号之后的一个数据包开始继续传输。
根据本发明的空调器,在室内机10与室外机20之间进行短线传输以完成室外机20的升级,可以避免相关技术中室内机10和室外机20需要分别从服务器下载升级包以进行升级,从而避免室外机20无法与服务器连接时导致不能升级的情况发生,同时,当出现传输断点后,可以准确地查询到断点位置,并从断点位置的数据包开始继续传输,从而避免从起始数据包重新传输,可以大大缩短室外机20的升级时间,提高升级效率,提高用户体验。
进一步地,第一处理模块102还用于:在数据包传输过程中,判断写入第一存储区和第二存储区中任意一个的包序号是否小于数据包的最大包序号;若写入第一存储区和第二存储区中任意一个的包序号不小于数据包的最大包序号,说明包含室外机升级版本的控制程序的所有数据包均已传输完成,此时,第一处理模块可以向第二处理模块发送完成包,完成包包含室外机升级版本的控制程序总文件的CRC校验值。
具体而言,第一处理模块102向第二处理模块202顺序发送数据包,并且在传输过程中,第一处理模块102实时检测并判断第一存储区和第二存储区中任意一个存储的包序号是否小于数据包的最大包序号,由于第一存储区或第二存储区每写入一个包序号,均表明该包序号所对应的数据包已传输完成,因此,当第一处理模块102判断到第一存储区和第二存储区中任意一个存储的包序号不小于即等于最大的数据包的包序号时,说明数据发送端已将所有数据包均传输至数据接收端,此时第一处理模块102可以向第二处理模块202发送完成包,完成包包含室外机升级版本的控制程序总文件的CRC校验值。由此,可以准确得判断数据包是否全部发送成功,及时终止传输,节省系统开销。
更进一步地,第二处理模块202在接收到完成包后,对所有数据包进行校验;并将计算得到的校验值与所述完成包包含的室外机升级版本的控制程序总文件的CRC校验值作比较;若不一致,第二处理模块202向第一处理模块102发送数据包重传请求,第一处理模块102重新发送所有数据包。
具体而言,纠错机制还包括,在第一处理模块102和第二处理模块202的数据包传输终止后,第二处理模块202对第二存储模块201存入的所有的数据包进行CRC校验(循环冗余校验),并将计算得到的校验值与所述完成包包含的室外机升级版本的控制程序总文件的CRC校验值作比较;若两者一致,说明所有数据包均正确,可以进行下一步地操作,即替换旧版本的室外机控制程序,若不一致,则第二处理模块202和第一处理模块重新启动握手建立数据传输连接,同时,第二处理模块202将第二存储模块201内已接收的数据包擦除,第一处理模块102从包序号为1的数据包开始向第二处理模块202重新发送所有数据包,待所有数据包发送成功后,第二处理模块202再次进行CRC校验,直到校验成功,如此,实现室外机20升级包的可靠传输。
在一个具体地示例中,第二存储模块201包括:下载区和数据运行区。其中,下载区用于存储数据接收端接收的数据包;数据运行区用于当校验成功时存储从下载区写入的数据包,第二处理模块202在运行过程中从数据运行区读取指令和数据,而下载区可以仅在固件升级过程中用于临时接收并存储数据包,这样,用户可以在空调室外机20运行的过程中完成不停机升级,在数据发送端向数据接收端发送数据包的过程中,数据接收端先将所接收的数据包均存储至下载区,所有的数据包传输完成后,先对下载区的所有数据包进行CRC校验,若检验成功,则将下载区的所有数据包拷贝至数据运行区,以替换或覆盖数据运行区内的旧板本的运行软件,从而完成室外机20运行软件的升级,并且,在升级完成后,需要擦除下载区的数据包,以备进行下次升级时适用。
在一些实施例中,第一处理模块101还用于:在数据包传输过程中,判断第一存储区的存储的包序号和第二存储区存储的包序号的差值是否等于设定值,设定值为相邻的两个数据包的包序号的差;若第一存储区的存储的包序号和第二存储区存储的包序号的差值不等于设定值,数据发送端从起始数据包开始重新向数据接收端发送数据包。
例如,若数据发送端将室内机的升级包分割成多个数据包,并且为多个数据包依次设置的序号为1、2、3……N时,在正常状态下,第一存储区和第二存储区存储的包序号的差值应当始终为1,即设定值为1,若第一存储区和第二存储区存储的包序号的差值大于1,说明出现了数据包的丢失,本次升级失败,数据发送端需要从包序号为1的数据包重新向数据接收端传输;当然本发明不限于此,当多个数据包的包序号为2、4、6……2N时,设定值为2,以此类推。如此,通过设置本实施例的纠错机制,可以防止数据传输过程出现数据包的丢失,确保室外机的升级顺利进行。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接,还可以是通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种空调器升级方法,其特征在于,所述空调器包括作为数据发送端的室内机和作为数据接收端的室外机,所述方法包括以下步骤:
所述数据发送端向所述数据接收端发送数据包;
所述数据接收端对接收到的数据包校验正确时,向所述数据发送端发送确认包,所述确认包包含当前接收的数据包的包序号;
所述数据发送端将接收到的确认包中的包序号交替写入第一存储区和第二存储区;
当所述数据发送端与所述数据接收端的数据传输出现断点并恢复数据传输连接后,确定所述第一存储区和所述第二存储区中所存储的较大的一个包序号;
所述数据发送端向所述数据接收端发送较大的所述包序号之后的一个包序号所对应的数据包。
2.根据权利要求1所述的空调器升级方法,其特征在于,还包括:
在数据包传输过程中,当判断到所述第一存储区和所述第二存储区中的其中一个当前所写入的数据包的包序号大于另一个的包序号时,擦除较小的包序号以备较小的包序号所对应的存储区写入下一个传输的数据包的包序号。
3.根据权利要求1所述的空调器升级方法,其特征在于,还包括:
在数据包传输过程中,判断写入所述第一存储区和所述第二存储区中任意一个的包序号是否小于数据包的最大包序号;
若写入所述第一存储区和所述第二存储区中任意一个的包序号不小于所述数据包的最大包序号,所述数据发送段向所述数据接收端发送完成包,所述完成包包含室外机升级版本的控制程序总文件的CRC校验值。
4.根据权利要求3所述的空调器升级方法,其特征在于,还包括:
所述数据接收端接收到完成包后,对所有数据包进行校验,并将计算得到的校验值与所述完成包包含的室外机升级版本的控制程序总文件的CRC校验值作比较;
若不一致,所述数据接收端向所述数据发送端发送数据包重传请求,所述数据发送端向所述数据接收端重新发送所有数据包。
5.根据权利要求4所述的空调器升级方法,其特征在于,所述数据接收端包括下载区和数据运行区,所述数据发送端向所述数据接收端发送数据包,具体包括:所述数据接收端将接收的数据包存储至所述下载区,所述方法还包括:
若校验成功,将所述数据发送端的所述下载区的所有数据包拷贝至所述数据发送端的数据运行区;
擦除所述下载区的数据包。
6.根据权利要求1所述的空调器升级方法,其特征在于,还包括:
在数据包传输过程中,判断所述第一存储区的存储的包序号和所述第二存储区存储的包序号的差值是否等于设定值,所述设定值为相邻的两个数据包的包序号的差;
若所述第一存储区的存储的包序号和所述第二存储区存储的包序号的差值不等于设定值,所述数据发送端从起始数据包开始重新向所述数据接收端发送数据包。
7.一种空调器,其特征在于,所述空调器包括作为数据发送端的室内机和作为数据接收端的室外机,其中,所述数据发送端包括:
第一存储模块,所述第一存储模块具有第一存储区和第二存储区,所述数据接收端对接收到的数据包校验正确时,向所述数据发送端发送确认包,所述确认包包含当前接收的数据包的包序号,所述数据发送端将接收到的确认包中的包序号交替写入第一存储区和第二存储区;
第一处理模块,所述第一处理模块用于确定所述第一存储区和所述第二存储区中所存储的较大的一个包序号;
所述数据接收端包括:
第二存储模块,所述第二存储模块用于存储数据包;
第二处理模块,所述第二处理模块用于校验接收到的数据包以及检测所述室内机与所述室外机的数据传输是否出现断点,并在断点出现后重新与所述数据发送端建立数据传输连接。
8.根据权利要求7所述的空调器,其特征在于,所述第一处理模块还用于:在数据包传输过程中,判断写入所述第一存储区和所述第二存储区中任意一个的包序号是否小于数据包的最大包序号;
在所述第一处理模块判断到所述第一存储区和所述第二存储区中任意一个存储的包序号不小于所述数据包的最大包序号时,向所述第二处理模块发送完成包,所述完成包包含室外机升级版本的控制程序总文件的CRC校验值。
9.根据权利要求8所述的空调器,其特征在于,所述第二处理模块在接收到完成包后,对所有数据包进行校验,并将计算得到的校验值与所述完成包包含的室外机升级版本的控制程序总文件的CRC校验值作比较;若不一致,所述第二处理模块向所述第一处理模块发送数据包重传请求,所述第一处理模块重新发送所有数据包。
10.根据权利要求9所述的空调器,其特征在于,所述第二存储模块包括:
下载区,所述下载区用于存储所述数据接收端接收的数据包;
数据运行区,所述数据运行区用于当校验成功时存储从所述下载区写入的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210072036.5A CN114443095A (zh) | 2022-01-21 | 2022-01-21 | 空调器升级方法、空调器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210072036.5A CN114443095A (zh) | 2022-01-21 | 2022-01-21 | 空调器升级方法、空调器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443095A true CN114443095A (zh) | 2022-05-06 |
Family
ID=81368289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210072036.5A Pending CN114443095A (zh) | 2022-01-21 | 2022-01-21 | 空调器升级方法、空调器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443095A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440205A (zh) * | 2013-08-21 | 2013-12-11 | 深圳市九洲电器有限公司 | 一种机顶盒数据存储方法及装置 |
CN103457707A (zh) * | 2012-05-30 | 2013-12-18 | 华为技术有限公司 | 一种数据传输方法、装置及系统 |
CN104468061A (zh) * | 2014-11-25 | 2015-03-25 | 厦门雅迅网络股份有限公司 | 一种低速网络环境下的实时可靠数据传输的方法及系统 |
CN106453233A (zh) * | 2016-08-10 | 2017-02-22 | 深圳市中兴物联科技股份有限公司 | 一种基于udp的数据传输方法及装置 |
CN107770623A (zh) * | 2017-11-06 | 2018-03-06 | 深圳创维-Rgb电子有限公司 | 一种电视机系统软件的升级方法及装置 |
CN107957880A (zh) * | 2017-11-30 | 2018-04-24 | 广东美的暖通设备有限公司 | 空调固件升级方法、装置、空调和计算机设备 |
CN108234087A (zh) * | 2016-12-22 | 2018-06-29 | 华为技术有限公司 | 数据传输方法及发送端 |
CN108881008A (zh) * | 2017-05-12 | 2018-11-23 | 华为技术有限公司 | 一种数据传输的方法、装置和系统 |
CN109842523A (zh) * | 2019-02-14 | 2019-06-04 | 上海华测导航技术股份有限公司 | 一种固件升级方法、装置、设备及存储介质 |
CN110505039A (zh) * | 2019-09-26 | 2019-11-26 | 北京达佳互联信息技术有限公司 | 一种数据传输控制方法、装置、设备及介质 |
CN111953454A (zh) * | 2020-07-16 | 2020-11-17 | 西安万像电子科技有限公司 | 丢包重传方法、设备及存储介质 |
CN112863582A (zh) * | 2021-02-23 | 2021-05-28 | 广东申菱环境系统股份有限公司 | 一种数据掉电保持方法、装置、计算机设备和存储介质 |
CN113757950A (zh) * | 2021-09-14 | 2021-12-07 | 北京小米移动软件有限公司 | 空调器的程序升级方法、装置、空调器和存储介质 |
-
2022
- 2022-01-21 CN CN202210072036.5A patent/CN114443095A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103457707A (zh) * | 2012-05-30 | 2013-12-18 | 华为技术有限公司 | 一种数据传输方法、装置及系统 |
CN103440205A (zh) * | 2013-08-21 | 2013-12-11 | 深圳市九洲电器有限公司 | 一种机顶盒数据存储方法及装置 |
CN104468061A (zh) * | 2014-11-25 | 2015-03-25 | 厦门雅迅网络股份有限公司 | 一种低速网络环境下的实时可靠数据传输的方法及系统 |
CN106453233A (zh) * | 2016-08-10 | 2017-02-22 | 深圳市中兴物联科技股份有限公司 | 一种基于udp的数据传输方法及装置 |
CN108234087A (zh) * | 2016-12-22 | 2018-06-29 | 华为技术有限公司 | 数据传输方法及发送端 |
CN108881008A (zh) * | 2017-05-12 | 2018-11-23 | 华为技术有限公司 | 一种数据传输的方法、装置和系统 |
CN107770623A (zh) * | 2017-11-06 | 2018-03-06 | 深圳创维-Rgb电子有限公司 | 一种电视机系统软件的升级方法及装置 |
CN107957880A (zh) * | 2017-11-30 | 2018-04-24 | 广东美的暖通设备有限公司 | 空调固件升级方法、装置、空调和计算机设备 |
CN109842523A (zh) * | 2019-02-14 | 2019-06-04 | 上海华测导航技术股份有限公司 | 一种固件升级方法、装置、设备及存储介质 |
CN110505039A (zh) * | 2019-09-26 | 2019-11-26 | 北京达佳互联信息技术有限公司 | 一种数据传输控制方法、装置、设备及介质 |
CN111953454A (zh) * | 2020-07-16 | 2020-11-17 | 西安万像电子科技有限公司 | 丢包重传方法、设备及存储介质 |
CN112863582A (zh) * | 2021-02-23 | 2021-05-28 | 广东申菱环境系统股份有限公司 | 一种数据掉电保持方法、装置、计算机设备和存储介质 |
CN113757950A (zh) * | 2021-09-14 | 2021-12-07 | 北京小米移动软件有限公司 | 空调器的程序升级方法、装置、空调器和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096294B (zh) | 一种可任意断点无线升级mcu应用程序的方法 | |
CN107179909B (zh) | 软件升级方法、装置及计算机可读存储介质 | |
US9372682B2 (en) | Parallel programming and updating of lighting bus subscribers | |
US8136108B2 (en) | Updating firmware with multiple processors | |
US10153887B2 (en) | Patch download with improved acknowledge mechanism | |
CN101998438B (zh) | 一种提升pdcp鲁棒性头压缩算法性能的方法及设备 | |
CN109828769B (zh) | 一种基于tcp/ip的嵌入式程序远程更新系统及方法 | |
WO2011157074A1 (zh) | 一种数据文件传输和校验的方法、设备及系统 | |
CN111309363A (zh) | 基于Contiki操作系统的在线升级方法及装置 | |
CN105677398A (zh) | 一种通用的嵌入式计算机软件在线升级方法 | |
CN113905039A (zh) | 系统升级文件传输方法、装置及系统 | |
JP3588064B2 (ja) | 送信装置および受信装置 | |
CN112015447A (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
JP2009134563A (ja) | 通信アダプタ | |
US20050105518A1 (en) | Method for transmitting and processing command and data | |
CN114443095A (zh) | 空调器升级方法、空调器 | |
CN113190259B (zh) | 数据烧写方法、装置、互联网模组及存储介质 | |
JP5731473B2 (ja) | 遠隔装置アプリケーション更新のためのシステムおよび方法 | |
JP2004519057A (ja) | 目的メモリー領域に対するデータ量格納方法、および、記憶システム | |
CN114138542A (zh) | 电能表的数据配置方法、电能表及可读存储介质 | |
JP2003309485A (ja) | ソフトウェア更新装置及びソフトウェア更新方法 | |
CN111813597A (zh) | 一种空调器 | |
CN113176891A (zh) | 一种基于Bootloader带有备份功能的ECU的程序烧写方法 | |
KR20090114974A (ko) | 안테나의 원거리 틸트 시스템에서의 프로그램 업데이트방법 및 장치 | |
WO2020207045A1 (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 |