CN104967497B - 一种基于网络通信协议的数据可靠传输方法及升级方法 - Google Patents

一种基于网络通信协议的数据可靠传输方法及升级方法 Download PDF

Info

Publication number
CN104967497B
CN104967497B CN201510313656.3A CN201510313656A CN104967497B CN 104967497 B CN104967497 B CN 104967497B CN 201510313656 A CN201510313656 A CN 201510313656A CN 104967497 B CN104967497 B CN 104967497B
Authority
CN
China
Prior art keywords
data
control terminal
node
transmission
data transmission
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
Application number
CN201510313656.3A
Other languages
English (en)
Other versions
CN104967497A (zh
Inventor
陈荣
闫礼飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Ruishi Digital Technology Co.,Ltd.
Original Assignee
WUHAN DIGITAL PEAK TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WUHAN DIGITAL PEAK TECHNOLOGY Co Ltd filed Critical WUHAN DIGITAL PEAK TECHNOLOGY Co Ltd
Priority to CN201510313656.3A priority Critical patent/CN104967497B/zh
Publication of CN104967497A publication Critical patent/CN104967497A/zh
Application granted granted Critical
Publication of CN104967497B publication Critical patent/CN104967497B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1806Go-back-N protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种基于网络通信协议的数据可靠传输方法,(1)控制端发送数据传输请求,判断节点是否满足数据传输条件:若满足转入步骤(2);否则结束此次数据传输;(2)传输数据:控制端对待发送数据文件分块,依次发送每组数据块,节点接收到一组数据块后等待控制端发送的该组数据块的校验指令以进行校验码校验:(a)校验成功,保存该组数据块并告知,则继续下一组数据块的发送,直至全部数据块发送完毕并结束;(b)校验失败告知控制端,继续当前数据块的发送直校验成功并保存,则控制端继续下一组数据块的发送,若重复发送N次,仍校验失败,则结束此次数据传输。通过数据传输前确认、分块发送及重传机制,能够可靠的保证所有数据的传输。

Description

一种基于网络通信协议的数据可靠传输方法及升级方法
技术领域
本发明属于通信技术领域,涉及一种数据传输与升级技术,特别是一种可靠的数据传输及升级方法。
背景技术
目前,在大多数的应用或者设备间进行通信时,都需要保证数据的可靠传输,即需要保证数据传输的可靠性。比如TCP/IP等协议只能保证单一数据包传输的可靠性,为了恢复出错数据包,需要从源端重传数据,可能会导致数据包乱序,无法保证整个文件数据传输的可靠性和完整性;CAN总线通讯技术在各个领域的综合自动化控制系统中的应用广泛,其可靠性高、抗干扰性强、开发简单、造价低廉及短帧传输和无破坏仲裁技术等优点使其应用极为广泛。但CAN本身并非一个完整的协议,只包括物理层和数据链路层两个底层协议,要进行高可靠性及高效率的通讯还需要进一步开发高层协议。此外,当使用上述TCP协议或CAN总线进行组件的升级时,在设备组件数据传输的过程中,如果下载的数据传输文件数据不是设备组件数据传输所需要的数据传输文件数据或传输的组件数据不完整时,则数据传输后的设备不但不能够完成数据传输,还同时丧失了它原有的功能,无法保证设备的正常使用,尤其对于如PET、CT等大型昂贵的医疗影像设备,若在进行组件升级时,出现意外情况,升级不成功,往往会导致其无法投入正常的医疗使用中,会给医院以及患者带来种种不利及损失。
发明内容
本发明的目的在于提供一种基于网络通信协议的数据可靠传输方法及升级方法,其中,在进行数据传输时,通过数据传输前的确认工作以及数据传输时的分块发送及重传机制,能够有效的保证全部的数据从控制端发送至指定节点处,本发明还提供了一种节点内组件升级的方法,一方面,其利用的上述数据传输方法进行组件数据升级时,能够保证待升级数据准确的传输至指定区域,另一方面,其还设置了有效的备份机制,即便出现升级错误或不成功的情况,也可及时恢复设备原有的功能,不会影响正常使用。
为达到上述目的,本发明的解决方案是:
一种基于网络通信协议的数据可靠传输方法,包括以下步骤:
(1)控制端发送数据传输请求,判断待接收节点是否满足数据传输条件:若满足数据传输条件,则转入步骤(2);若不满足数据传输条件,结束此次数据传输;
(2)传输数据:控制端对待发送数据文件进行分块,然后依次发送每组数据块及校验指令,节点每接收到一组数据块后等待控制端发送的该组数据块的校验指令,以进行校验码校验:
(a)若节点判断校验成功,则保存该组数据块并告知控制端,控制端按照前述步骤继续下一组数据块及校验的发送,直至全部数据块发送完毕(保存)后,控制端判断数据传输结束;
(b)若节点判断校验失败则告知控制端,控制端按照前述步骤继续当前数据块的发送:若节点判断当前数据块校验成功并保存后,则控制端继续下一组数据块及校验的发送,若重复发送N次,仍校验失败,则控制端结束此次数据传输。
所述步骤(1)中,所述数据传输请求包括以下内容:(I)判断能否进行数据传输步骤:控制端发送指令确定通信链路是否导通,若通信链路导通,则转入步骤(2),否则控制端结束此次数据传输。
所述步骤(1)中,所述数据传输请求还包括步骤(II):确定节点中待传输文件类型的步骤,所述节点判断控制端发送的控制指令中包括文件类型字段时,则进行文件类型校验:若判断该文件类型字段属于节点中待传输文件类型中的一种,则校验成功并告知控制端,若判断该文件类型字段不属于节点中待传输文件类型,则校验失败并告知控制端。
所述步骤(1)中,当步骤(I)或步骤(II)结束后,还包括步骤(III):判断是否需要进行数据传输的步骤,节点判断控制端发送的控制指令中是否包括强制数据传输标志,若包括强制数据传输标志,则告知控制端需要进行数据传输,控制端则进行后续步骤,若节点判断没有强制数据传输标志,则节点比较版本号,若版本号相同,则告知控制端不需要进行数据传输,则控制端结束此次数据传输,如版本号不同,则告知控制端需要进行数据传输,控制端收到反馈后进行后续步骤。
所述步骤(1)与步骤(2)之间,还包括数据传输前准备步骤:步骤(1)结束后,控制端发送初始化指令,告知节点需要数据传输的数据总长度,节点记录此次数据传输应接收的数据总长度后告知控制端。
所述步骤(a)中,所述节点记录每组收到的数据块的长度,当收到控制端判断数据传输结束指令后,所述节点计算数据块长度总和之后,与控制端告知的数据总长度进行比较,若二者相等,则节点判断并告知控制端此次数据传输成功,控制端与节点各自恢复初始值;若二者不等,则节点判断并告知控制端此次数据传输失败,控制端结束此次数据传输。
所述节点每次收到控制端发送的控制指令后,首先进行数据传输状态检查步骤:节点判断接收的指令与节点当前状态是否符合:若符合,则节点接受控制端的指令进行操作并告知控制端此次命令执行成功,同时节点依据指令内容更新当前状态,否则告知控制端此次命令执行失败。
所述节点内预先存储关于控制指令与当前状态变更的全局状态迁徙图,当节点当前状态处于某一特定状态,并收到控制端发送的相应指令时,则节点判断接受控制端的指令:当节点收到控制端发送的指令后,将收到的控制指令以及节点当前状态与全局状态迁徙图进行比较,若节点当前状态与接收的指令符合全局状态迁徙图,则节点接受控制端的指令进行操作并告知控制端此次命令成功执行,同时节点依据指令内容更新当前状态,否则告知控制端此次命令执行失败;
所述网络通信协议为CAN总线、TCP/IP中的一种。
一种节点内组件升级的方法,包括以下步骤:
(A)加载:经由权利要求1至9任一项所述的数据可靠传输方法将待传输组件数据发送至节点,节点将接收到的组件数据存储至备区;
(B)激活:将所述备区存储的组件数据写入至用于组件运行的运行区并复位,所述节点复位后运行所述组件;
(C)同步:若组件正常运行,则判断升级成功,并将备区存储的组件数据同步至用于存储原始组件数据的主区内;
(D)回滚:若组件无法正常运行,则将主区内存储的原始组件数据分别恢复至备区以及运行区。
由于采用上述方案,本发明的有益效果是:
本发明所示的基于网络通信协议的数据可靠传输方法具有以下作用
(1)通过数据传输前的确认以及数据传输时的分块发送及重传机制,能够有效的保证数据整体从控制端发送至指定节点处。
(2)通过状态检查机制,每次控制端发送指令后,节点判断接收的指令与节点当前状态是否符合来确认是否进行后续步骤,能够有效的保证数据传输的可靠性,防止出现错乱。
(3)数据传输前的准备步骤即初始化告知待发送数据总长度,同时控制端判决数据传输结束后,节点处收到数据长度与数据总长度的比较,能够有效防止漏包事件的发生。
本发明所示的节点内组件数据升级的方法有益效果如下:
(1)由于采取上述的基于网络通信协议的数据可靠传输方法,故当待升级组件数据准确时,能够可靠的将组件数据发送至指定组件的数据存储区处,以用于后续的升级程序;
(2)同时,由于各组件的数据存储区划分为用于存储升级组件数据的备区、用于存储原始组件数据的主区以及用于运行组件数据的运行区,当升级组件数据在运行区运行失败后,将主区内存储的原始组件数据分别恢复至备区以及运行区,故能够及时应对升级过程中出现的各种情况,规避由于升级出错而导致设备运行问题。
附图说明
图1为本发明所示的数据传输方法的一实施例的数据包时序和流向示意图;
图2为图1所示实施例中控制端的工作流程图;
图3(a)至图3(e)为图1所示实施例中节点的工作流程图;
图4为图1所示实施例中节点的状态变更图;
图5(a)至图5(d)本发明所示的节点内组件升级的方法一实施例的升级流程图。
具体实施方式
以下结合附图所示实施例对本发明作进一步的说明。
如图1至图3所示,本发明公开了一种基于网络通信协议的数据可靠传输方法,包括以下步骤:
(1)如图1所示,控制端发送数据传输请求,判断待接收节点是否满足数据传输条件:若满足数据传输条件,则转入步骤(2);若不满足数据传输条件,结束此次数据传输;
根据数据传输条件的不同,数据传输请求指令包括的内容也不相同,一般的,步骤(1)中,上述数据传输条件首先需要包括步骤(I)判断能否进行数据传输步骤,即控制端与指定节点之间通信链路是否导通的步骤,;同时还可根据具体情况选择包括(II)确定待传输文件类型的步骤或(III)判断是否进行数据传输步骤,或同时包括步骤(I)、(II)、(III)。
其中步骤(I)中判断能否进行数据传输步骤具体是确定控制端与指定节点之间的通信链路是否导通:控制端发送指令至节点处以确定通信链路是否导通,若控制端收到节点成功返回的数据包后判断通信链路导通,则说明数据能够传输至指定节点处,可跳过步骤(II)以及(III)直接转入步骤(2)进行后续的数据传输,否则,若控制端在指定时间内未能收到节点成功返回的数据包,判断通信链路未能连通,无法进行后续的步骤,则控制端结束此次数据传输。
考虑到一个节点处可能包含多个不同类型的功能组件,不同功能组件需要运行的程序或者加载的数据不同,为了确保将相应数据传送至指定节点的指定功能组件区,故在步骤(I)确定控制端与指定节点之间的通信链路为导通后,还设置了步骤(II)确定节点中待传输文件类型的步骤:即控制端发送的控制指令中还包括文件类型字段,每个节点中包含的不同功能组件对应不同文件类型字段,当节点处收到控制端发送的请求数据传输指令,当判断通信链路是否连通后,继续进行文件类型校验步骤,若节点若判断该文件类型字段属于所包含的文件类型中的一种,则记录当前传输的文件类型字段、判断校验成功并告知控制端,若判断该文件类型字段不属于所包含的文件类型中的一种,则校验失败并告知控制端。
此外,上述数据传输请求指令还可包括步骤(III)判断是否需要数据传输的步骤,即节点判断控制端发送的数据传输请求指令中是否包括强制数据传输标志:若节点判断包括强制数据传输标志,则告知控制端需要进行数据传输,控制端根据收到的反馈进行后续步骤,若节点判断没有强制数据传输标志,则节点比较版现有文件版本与数据传输请求中记录的文件版本,若版本号相同,则告知控制端无需更新,不需要进行数据传输,则控制端结束此次数据传输,如版本号不同,则告知控制端需要进行数据传输,控制端则进行后续步骤。
通过步骤(1)所示的步骤后,可确认控制端与节点之间已经满足数据传输条件,故控制端可以选择进行步骤(2),将待传输数据直接发送至节点处。本发明所示的基于网络通信协议的数据可靠传输方法在步骤(1)与步骤(2)之间还设置了数据传输前准备步骤:步骤(1)结束后,控制端发送初始化指令,告知节点需要数据传输的数据总长度,节点记录此次数据传输应接收的数据总长度后告知控制端进入步骤(2)。
(2)发送数据,本发明通过分块与重传的机制的配合进行数据的发送以确保数据能够有效完整的到达节点处。
初始化步骤结束后,控制端开始发送数据,为了保证数据文件能够有效的传输,控制端将待发送的数据文件分为多组数据块,各数据块的大小可根据需求设定,每组数据块根据不同通信协议能够容纳的字节长度分为多个数据包,且每组数据块对应一组校验码,以通信网络为CAN总线为例,则每个数据包的总长度为8个字节,一个数据块中包括多个数据包,控制端按照顺序依次发送每组数据块,一组数据块发送完毕之后,控制端发送该组数据块的校验指令,节点每保存一组数据块之前,首先进行该组数据块的校验码校验:
(a)若节点判断校验成功,则保存该组数据块并告知控制端,控制端按照前述步骤继续下一组数据块及校验指令的发送,直至全部数据块发送完毕后,控制端判断数据传输结束;
(b)若节点判断校验失败,则控制端重复发送当前数据块:若节点判断校验成功,则控制端继续下一组数据块及校验指令的发送,若重复发送当前数据块N次后,节点判断仍校验失败,则控制端结束此次数据传输。
通过上述分块以及重传机制,将待升级数据分为多组数据块传输,且对每组数据块分别进行校验,校验成功后方进行下一数据块的传输,校验失败后,进行当前数据块的重传,这样设置,一方面不会发生数据的漏传或错传现在,尤其是待传数据量大的情况下,能够有效的保证所有的数据均能发送出去;另一方面,对待传数据进行合理的分块之后,在每组数据块设置一组校验码,可更为有效的节约传输时间。
此外,步骤(2)中,对应数据传输前准备步骤,步骤(a)每次接受并保存数据块的同时,节点还记录每组收到的数据块的长度;步骤(b)中,当节点收到控制端发送的判断数据传输结束指令后,节点计算所接受的数据块长度总和之后,与控制端告知的数据总长度进行比较,若二者相等,则节点判断并告知控制端此次数据传输成功,控制端与节点各自恢复初始值;若二者不等,则节点判断并告知控制端此次数据传输失败,控制端发送指令真正结束此次数据传输。
为了进一步的保证数据传输的可靠性,本发明所示的一种基于网络通信协议的数据可靠传输方法中,还设置了状态检查步骤。节点在每次收到控制端发送的控制指令后,首先进行数据传输状态检查步骤:即节点判断接收的指令与节点当前状态是否符合:若符合,则节点接受控制端的指令进行操作并告知控制端此次命令成功执行,同时节点依据指令内容更新当前状态,否则告知控制端此次命令执行失败。
节点内通过预先存储关于控制指令与当前状态变更的全局状态迁徙图,全局状态迁徙图中,节点所处的当前状态与接收到的控制端的指令一一对应,当节点当前状态处于某一特定状态,并收到控制端发送的相应指令时,则节点接受控制端的指令:当节点收到控制端发送的指令后,将收到的控制指令以及节点当前状态与全局状态迁徙图进行比较,若节点当前状态与接收的指令符合全局状态迁徙图,则节点接受控制端的指令进行操作并告知控制端此次命令成功执行,同时节点依据指令内容更新当前状态,否则告知控制端此次命令执行失败。
具体到本发明中,节点内预先存储的全局状态迁徙图如图4所示。
开始时,节点处于空状态,只有当节点处于空状态下收到控制端发送的数据传输请求时,节点判断状态检查成功,并告知控制端节点可接受控制端的指令进行步骤(1)中的各项步骤,开始进行数据传输条件的确认,同时,节点更新当前状态为数据传输请求状态;否则,当节点处于空的状态时,收到控制端发送的其他指令时,均无法进行后续的步骤。
当节点处于数据传输请求状态时,只有收到控制端发送的初始化指令,节点才判断状态检查成功,并告知控制端节点接受控制端的初始化指令,根据进行初始化内容进行数据总长度的记录及反馈,同时,节点更新当前状态为初始化状态;否则,当节点处于数据传输请求状态时,收到控制端发送的其他指令时,均无法进行后续的步骤。
当节点处于初始化状态时,只有收到控制端发送的数据传输指令,节点判断状态检查成功,并告知控制端节点接受控制端的数据传输指令,可进行步骤(2)中的各项步骤,开始进行数据传输,同时节点更新当前状态为数据传输状态;否则,当节点处于数据传输请求状态时,收到控制端发送的其他指令时,均无法进行后续的步骤。通过控制端与节点之间的状态检查机制,可有效保证在数据传输的过程中不会出现错乱。
上述数据传输的方法中,网络通信协议可为CAN总线、TCP/IP协议中的一种,以下以网络通信协议为CAN总线对本发明所示一种基于网络通信协议的数据可靠传输方法一实施例的工作原理及流程作进一步的说明。
每次CAN通信由CAN-ID(4字节)与CAN-DATA(8字节)组成。[CAN-ID]的具体格式如下:
当确定需要进行数据传输时,各步骤种控制端和节点的具体操作如下:
一、数据传输条件确认请求
【发起方】
控制端发送数据传输条件确认请求(CAN-CMD=0x1),作为CAN升级的第一步,发送具体要升级的文件类型及版本号信息等。
(1)文件类型:要传输的文件标识。
(2)强制升级标记:是否强制进行数据传输。
(3)版本号:待传输数据的版本信息。
接收到节点的正常回应(CAN-CMD=0x2)后,继续下一步
【接收方】
如图3(a)所示,节点收到数据传输条件确认请求后:如果判断没有强制传输标记,则读取对应文件类型的版本号进行比较,相等则回应不需要升级(CAN-CMD=0xA)
正常回应(CAN-CMD=0x2)
异常回应(CAN-CMD=0xF)
(二)、数据传输前准备:
【发起方】
控制端发送初始化指令(CAN-CMD=3),作为CAN升级的第二步,发送对应文件的长度信息。
(1)数据长度:要升级文件的字节数。
CAN-DATA 文件长度
字节长度 3
接收到正常回应(CAN-CMD=0x2)后,继续下一步
【接收方】
如图3(b)所示,节点收到初始化指令后,进行传输状态检查,若判断正常,节点正常回应(CAN-CMD=0x2),则控制端接收到正常回应(CAN-CMD=0x2)后,继续下一步;若异常回应(CAN-CMD=0xF),
(三)、数据传输
【发起方】
控制端进行数据传输(CAN-CMD=4),发送真正数据部分。
(1)传输数据:待传输的文件数据体。
CAN-DATA 文件数据
字节长度 8
循环发送每组数据块中的剩余数据
(2)CRC校验码发送(CAN-CMD=5)
每发送128字节数据体,发送2字节CRC校验码。
CRC:已发送128字节的CRC校验码。
CAN-DATA CRC
字节长度 2
接收到正常回应(CAN-CMD=0x2)后,继续下一数据块的发送及校验
未接收到正常回应,重复发送该数据块。
【接收方】
如图3(c)所示,(1)数据接收:缓存接收数据;
如图3(d)所示,(2)CRC校验:校验成功:将缓存的数据块写入FLASH,正常回应(CAN-CMD=0x2);校验失败:异常回应(CAN-CMD=0xF)
(四)传输结束
【发起方】
控制端发送传输结束(CAN-CMD=6)指令,无数据体
CAN-DATA
字节长度
【接收方】
如图3(e)所示,节点比较接受数据长度是否正确,并进行文件完整性校验:
校验成功:正常回应(CAN-CMD=0x2),恢复初始化状态,释放资源,升级结束。
校验失败:异常回应(CAN-CMD=0xF)。
如图5所示,本发明还公开了一种节点内组件升级的方法,其中节点内包含多个不同的功能组件,不同的组件分别对应设置了一组数据存储区,组件的数据存储区进一步的又划分为用于存储接收新的组件数据的备区,用于存储原始组件数据的主区以及用于运行组件数据的运行区,正常工作时下,同一个组件数据存储区内主区、备区以及运行区三者内的组件数据相同,均为原始组件数据,当进行组件升级时,具体工作过程如下:
(A)加载:首先经由上述基于通信网络协议的数据可靠传输方法将待传输组件数据发送至节点,节点将接收到的对应组件的数据存储至备区。步骤(A)中,经过前述的数据传输方法,控制端将待升级的组件数据发送至节点中,节点通过文件类型校验,将收到的待升级数据存储至指定组件的数据存储区内,即指定的数据存储区中备区文件进行更新,此处数据传输步骤不在赘述;
(B)激活:节点设置升级标记并复位,节点系统启动时主程序将检查升级标志,如果需要升级,将跳转到升级程序所在地址,进行升级操作:将所述备区存储的组件数据写入至用于组件运行的运行区,清除升级标记,所述节点复位后即可运行所述组件;当备区收到新的组件数据之后,节点将组件数据写入至运行区内,清除升级标记后并进行复位,从而可运行区中试运行新收到的组件数据。
(C)同步:若组件正常运行,则判断升级成功,并将备区存储的组件数据同步至用于存储原始组件数据的主区内。组件数据运行成功,说明发送的组件数据是可行的,则将主区同步更新。
(D)回滚:若组件无法正常运行,则说明新的组件数据与组件不兼容或者有误,节点设置回滚标记并复位,节点系统启动时主程序将检查回滚标志,如果需要回滚,将跳转到回滚程序所在地址,进行回滚操作:将所述主区存储的组件数据写入至用于组件运行的运行区,清除回滚标记,所述节点复位后即可运行原始组件,故能够及时应对升级过程中出现的各种情况,规避由于升级出错而导致设备运行问题。
上述的对实施例的描述是为便于该技术领域的普通技术人员能理解和使用本发明。熟悉本领域技术的人员显然可以容易地对这些实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,不脱离本发明范畴所做出的改进和修改都应该在本发明的保护范围之内。

Claims (8)

1.一种基于网络通信协议的数据可靠传输方法,其特征在于:包括以下步骤:
(1)控制端发送数据传输请求,判断待接收节点是否满足数据传输条件:若满足数据传输条件,则转入步骤(2);若不满足数据传输条件,结束此次数据传输;
所述节点内包含多个不同的功能组件,不同的所述组件分别对应设置了一组数据存储区,所述组件的所述数据存储区划分为用于存储接收新的组件数据的备区,用于存储原始组件数据的主区以及用于运行组件数据的运行区,正常工作时,同一个所述组件的数据存储区内主区、备区以及运行区三者内的组件数据相同,均为原始组件数据;
(2)传输数据:控制端对待发送数据文件进行分块,然后依次发送每组数据块及校验指令,节点每接收到一组数据块后等待控制端发送的该组数据块的校验指令,以进行校验码校验:
(a)若节点判断校验成功,则保存该组数据块至所述备区并告知控制端,控制端按照前述步骤继续下一组数据块及校验的发送,直至全部数据块发送完毕后,控制端判断数据传输结束;
(b)若节点判断校验失败则告知控制端,控制端按照前述步骤继续当前数据块的发送:若节点判断当前数据块校验成功并保存至所述备区后,则控制端继续下一组数据块及校验的发送,若重复发送N次,仍校验失败,则控制端结束此次数据传输;
所述步骤(1)中,所述数据传输请求包括步骤(II):确定节点中待传输文件类型的步骤,所述节点判断控制端发送的控制指令中包括文件类型字段时,则进行文件类型校验:若判断该文件类型字段属于节点中待传输文件类型中的一种,则校验成功并告知控制端,若判断该文件类型字段不属于节点中待传输文件类型,则校验失败并告知控制端;
所述节点每次收到控制端发送的控制指令后,首先进行数据传输状态检查步骤:节点判断接收的指令与节点当前状态是否符合:若符合,则节点接受控制端的指令进行操作并告知控制端此次命令执行成功,同时节点依据指令内容更新当前状态,否则告知控制端此次命令执行失败。
2.根据权利要求1所述的数据可靠传输方法,其特征在于:所述步骤(1)中,所述数据传输请求包括以下内容:(I)判断能否进行数据传输步骤:控制端发送指令确定通信链路是否导通,若通信链路导通,则转入步骤(2),否则控制端结束此次数据传输。
3.根据权利要求2所述的数据可靠传输方法,其特征在于:所述步骤(1)中,当步骤(I)或步骤(II)结束后,还包括步骤(III):判断是否需要进行数据传输的步骤,节点判断控制端发送的控制指令中是否包括强制数据传输标志,若包括强制数据传输标志,则告知控制端需要进行数据传输,控制端则进行后续步骤,若节点判断没有强制数据传输标志,则节点比较版本号,若版本号相同,则告知控制端不需要进行数据传输,则控制端结束此次数据传输,如版本号不同,则告知控制端需要进行数据传输,控制端收到反馈后进行后续步骤。
4.根据权利要求1 所述的数据可靠传输方法,其特征在于:所述步骤(1)与步骤(2)之间,还包括数据传输前准备步骤:步骤(1)结束后,控制端发送初始化指令,告知节点需要数据传输的数据总长度,节点记录此次数据传输应接收的数据总长度后告知控制端。
5.根据权利要求4所述的数据可靠传输方法,其特征在于:所述步骤(a)中,所述节点记录每组收到的数据块的长度,当收到控制端判断数据传输结束指令后,所述节点计算数据块长度总和之后,与控制端告知的数据总长度进行比较,若二者相等,则节点判断并告知控制端此次数据传输成功,控制端与节点各自恢复初始值;若二者不等,则节点判断并告知控制端此次数据传输失败,控制端结束此次数据传输。
6.根据权利要求1所述的数据可靠传输方法,其特征在于:所述节点内预先存储关于控制指令与当前状态变更的全局状态迁徙图,当节点当前状态处于某一特定状态,并收到控制端发送的相应指令时,则节点判断接受控制端的指令:当节点收到控制端发送的指令后,将收到的控制指令以及节点当前状态与全局状态迁徙图进行比较,若节点当前状态与接收的指令符合全局状态迁徙图,则节点接受控制端的指令进行操作并告知控制端此次命令成功执行,同时节点依据指令内容更新当前状态,否则告知控制端此次命令执行失败。
7.根据权利要求1所述的数据可靠传输方法,其特征在于:所述网络通信协议为CAN总线、TCP/IP中的一种。
8.一种节点内组件升级的方法,其特征在于:包括以下步骤:
(A)加载:经由权利要求1至7任一项所述的数据可靠传输方法将待传输组件数据发送至节点,节点将接收到的组件数据存储至备区;
(B)激活:将所述备区存储的组件数据写入至用于组件运行的运行区并复位,所述节点复位后运行所述组件;
(C)同步:若组件正常运行,则判断升级成功,并将备区存储的组件数据同步至用于存储原始组件数据的主区内;
(D)回滚:若组件无法正常运行,则将主区内存储的原始组件数据分别恢复至备区以及运行区。
CN201510313656.3A 2015-06-09 2015-06-09 一种基于网络通信协议的数据可靠传输方法及升级方法 Active CN104967497B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510313656.3A CN104967497B (zh) 2015-06-09 2015-06-09 一种基于网络通信协议的数据可靠传输方法及升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510313656.3A CN104967497B (zh) 2015-06-09 2015-06-09 一种基于网络通信协议的数据可靠传输方法及升级方法

Publications (2)

Publication Number Publication Date
CN104967497A CN104967497A (zh) 2015-10-07
CN104967497B true CN104967497B (zh) 2019-04-12

Family

ID=54221451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510313656.3A Active CN104967497B (zh) 2015-06-09 2015-06-09 一种基于网络通信协议的数据可靠传输方法及升级方法

Country Status (1)

Country Link
CN (1) CN104967497B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107230331B (zh) * 2016-03-23 2020-12-04 上海宝钢工业技术服务有限公司 应用于工业检测的无线数据通讯方法
CN107707335B (zh) * 2016-08-09 2021-07-06 中国移动通信集团内蒙古有限公司 一种数据传输方法和装置
CN107733674B (zh) * 2016-08-12 2021-03-09 北京小米移动软件有限公司 组件升级方法及终端
CN107800754B (zh) * 2016-09-07 2021-01-29 腾讯科技(深圳)有限公司 数据传输任务处理、数据传输任务监控方法和装置
CN108024215A (zh) * 2016-11-04 2018-05-11 中兴通讯股份有限公司 一种多播业务的传输方法及装置
CN108876143A (zh) * 2018-06-13 2018-11-23 亳州市药通信息咨询有限公司 一种中药材价格指数系统
CN108964844B (zh) * 2018-06-29 2021-08-31 东软医疗系统股份有限公司 数据传输方法、装置、电子设备和ct机架
CN109327525A (zh) * 2018-10-26 2019-02-12 浙江理工大学 一种用于针织机联网的文件传输方法及装置
CN109640302A (zh) * 2018-12-06 2019-04-16 上海荣泰健康科技股份有限公司 基于ble蓝牙的程序更新方法、电子设备及移动终端
CN111464258B (zh) * 2019-01-18 2022-10-11 阿里巴巴集团控股有限公司 一种数据校验方法、装置、计算设备及介质
CN110704233A (zh) * 2019-08-23 2020-01-17 浙江合众新能源汽车有限公司 一种Bootloader刷新方法及系统
CN111008092A (zh) * 2019-12-12 2020-04-14 上海沪工焊接集团股份有限公司 一种焊机通信管理方法及焊机
CN111290430A (zh) * 2020-02-17 2020-06-16 一飞智控(天津)科技有限公司 一种无人机编队舞步上传传输控制系统、方法、智能终端
CN111683065A (zh) * 2020-05-23 2020-09-18 上海沪工焊接集团股份有限公司 焊机通讯协议的数据传输方法、系统、装置及存储介质
CN112512016A (zh) * 2021-02-05 2021-03-16 智道网联科技(北京)有限公司 基于智慧交通的数据传输方法、装置、系统及存储介质
CN113852687B (zh) * 2021-09-24 2023-12-01 成都质数斯达克科技有限公司 一种区块链节点间文件传输方法
CN114531314B (zh) * 2022-01-11 2023-12-22 宁波天擎航天科技有限公司 航天领域大数据可靠传输的方法、电子设备及存储介质
CN115242773B (zh) * 2022-06-21 2023-05-26 重庆长安汽车股份有限公司 一种用于车辆内部的文件传输方法及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814971A (zh) * 2009-02-24 2010-08-25 肖宏声 一种手机文件传输方法
CN102082833A (zh) * 2011-01-31 2011-06-01 瑞斯康达科技发展股份有限公司 一种通信设备的自动升级方法及装置
CN103092662A (zh) * 2013-02-04 2013-05-08 烽火通信科技股份有限公司 一种基于嵌入式操作系统的终端设备的软件模块升级方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005322044A1 (en) * 2004-12-24 2006-07-06 Aspera, Inc. Bulk data transfer
CN101453478B (zh) * 2007-11-28 2013-07-03 新奥特(北京)视频技术有限公司 一种在文件传输中的完整性校验方法
CN102231658A (zh) * 2011-06-09 2011-11-02 山东电力集团公司 一种安全的跨网络隔离装置通信方法
CN102436388A (zh) * 2011-12-22 2012-05-02 华为技术有限公司 嵌入式系统软件升级方法和装置
CN102571291A (zh) * 2012-02-27 2012-07-11 杭州星纬物联技术有限公司 一种无线传感器网络节点间的数据传输方法
CN102868765B (zh) * 2012-10-09 2015-06-03 乐视网信息技术(北京)股份有限公司 文件上传方法和系统
CN104579556A (zh) * 2014-12-05 2015-04-29 苏州沃斯麦机电科技有限公司 多节点间数据完整性传输系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814971A (zh) * 2009-02-24 2010-08-25 肖宏声 一种手机文件传输方法
CN102082833A (zh) * 2011-01-31 2011-06-01 瑞斯康达科技发展股份有限公司 一种通信设备的自动升级方法及装置
CN103092662A (zh) * 2013-02-04 2013-05-08 烽火通信科技股份有限公司 一种基于嵌入式操作系统的终端设备的软件模块升级方法

Also Published As

Publication number Publication date
CN104967497A (zh) 2015-10-07

Similar Documents

Publication Publication Date Title
CN104967497B (zh) 一种基于网络通信协议的数据可靠传输方法及升级方法
CN104917586B (zh) 传输数据的校验方法、装置及系统
US9372682B2 (en) Parallel programming and updating of lighting bus subscribers
CN102281121A (zh) 一种数据文件传输和校验的方法、设备及系统
CN106254238B (zh) 一种数据传输方法、集中控制器和通信装置
CN107425943A (zh) 报文数据传输方法、装置、电子设备及计算机存储介质
CN107357595B (zh) 一种基于总线的多驱动器固件在线更新系统
CN109800104A (zh) 数据存储的检测方法、装置、存储介质及电子装置
CN107948063B (zh) 一种建立聚合链路的方法和接入设备
CN112769939B (zh) 一种用于实时通讯的大数据可靠传输方法
CN108989103A (zh) 设备升级方法、调试器、网络设备和网络系统
CN101621411A (zh) 微控制器远程更新方法和更新系统
CN108052094A (zh) 一种扩展卡识别方法、装置及变频器
CN104834286A (zh) 一种重编程方法、系统、重编程设备及电子控制单元
CN109639448A (zh) 升级设备的方法和升级系统
US20030231642A1 (en) Data upgrade method for a switching device in two-layer network environment
CN114866525A (zh) 一种一主多从模式嵌入式设备远程在线固件升级方法及系统
CN104714761A (zh) 一种应用Android系统的设备的无线数据打印系统和方法
CN110121193B (zh) 一种层间数据传输方法、装置、介质及设备
CN107852275A (zh) 数据传输装置和数据传输方法、接收装置和接收方法、程序以及数据传输系统
CN112190276A (zh) 探测系统及其探测方法
CN100593293C (zh) 同步发射设备和接收设备中的存储区的方法以及接收设备
US20140153384A1 (en) Electronic device and transmission control method
CN115220750B (zh) 汽车ota升级方法、前排主机及系统
CN109783433A (zh) 一种算法加速系统以及加速卡的配置方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 230000 China (Anhui) pilot Free Trade Zone, Hefei, Anhui Province, the first floor of building C2, national health big data Industrial Park, the intersection of Xiyou road and kongtai Road, Hefei high tech Zone

Patentee after: Hefei Ruishi Digital Technology Co.,Ltd.

Address before: 430074 No. 666 High-tech Avenue, Donghu Development Zone, Wuhan City, Hubei Province, B1 R&D Building, Area B, C and D, Wuhan National Biological Industrial Base Project

Patentee before: THE WUHAN DIGITAL PET Co.,Ltd.