一种远程文件无线下载的方法与流程

文档序号:20137564发布日期:2020-03-24 14:03阅读:241来源:国知局
一种远程文件无线下载的方法与流程
本发明涉及列车远程文件下载
技术领域
,特别是涉及一种远程文件无线下载的方法。
背景技术
:事件记录仪用于采集列车运行过程中产生的各种信息,并将这些信息保存为事件记录文件。当列车发生故障,bo(backoffice,地面操作中心)需要获取故障数据文件来进行数据解析时,现有技术中的做法通常是wtd(车载无线传输设备)将故障数据文件打包发送至地面操作中心,当由于网络不可靠等原因造成故障数据文件发送失败时,wtd会将故障数据文件重新打包再发送一遍,一方面,占用带宽及bo端的服务器内存,另一方面,浪费时间。因此,如何提供一种解决上述技术问题的远程文件无线下载的方法是本领域技术人员目前需要解决的问题。技术实现要素:本发明的目的是提供一种远程文件无线下载的方法,一方面,减少带宽及bo端服务器的内存的占用,另一方面,减少了文件发送时间。为解决上述技术问题,本发明提供了一种远程文件无线下载的方法,包括:当bo要获取故障数据文件且wtd查找到存在所述故障数据文件时,wtd将所述故障数据文件按照预设字节的数据量依次发送至bo;bo每接收到所述预设字节的故障数据文件的数据时均按照所述数据的起始字节进行标记以记录所述数据是否正确接收到;当所述故障数据文件全部数据发送完成时,bo将包括所述故障数据文件对应的所有标记的标记包发送至wtd;wtd依据所述标记包判断是否所有故障数据文件均正确接收,当存在部分故障数据文件丢失时,重新发送丢失部分的故障数据文件。优选地,所述当bo要获取故障数据文件且wtd查找到存在所述故障数据文件时,wtd将所述故障数据文件按照预设字节的数据量依次发送至bo的过程具体为:wtd与bo建立连接;bo向wtd发送远程文件无线下载指令;wtd接收到所述远程文件无线下载指令后查询特定目录中是否存在故障数据文件,如果是,将所述故障数据文件按照预设字节的数据量依次发送至bo。优选地,所述将所述故障数据文件按照预设字节的数据量依次发送至bo的过程具体为:对于所述故障数据文件中的所有文件,依次进行如下操作:wtd将所述文件的信息填入初始报文并将所述初始报文发送至bo;bo接收所述初始报文后向wtd发送文件标识报文,所述文件标识报文包括所述文件的uid和起始字节;wtd将所述文件按照预设字节的数据量依次发送至bo。优选地,在所述wtd将所述文件按照预设字节的数据量依次发送至bo之前该方法还包括:wtd接收到所述文件标识报文后,发送文件确认报文至bo,所述文件确认报文包括确认的uid和起始字节。优选地,所述文件标识报文还包括最大负载;则相对应地:所述文件确认报文还包括确认的最大负载;该方法还包括:wtd将所述故障数据文件按照所述最大负载分为多个文件块,并依次发送所述文件块;当所述故障数据文件全部数据发送完成时,bo将包括所述故障数据文件对应的所有标记的标记包发送至wtd的过程为:当一个文件块全部数据发送完成时,bo将包括所述文件块对应的所有标记的标记包发送至wtd。优选地,该方法还包括:wtd在发送完一个文件块后,依据标记包计算完成标记的数据的数量占所在文件块的所有数据的数量的比例,并按照所述比例改变发送下一个文件块时的发送速率。优选地,所述按照所述比例改变发送下一个文件块时的发送速率的过程具体为:当所述比例为1时,wtd增加速率发送下一个文件块;当所述比例大于预设阈值且小于1时,wtd保持速率发送下一个文件块;当所述比例小于预设阈值时,wtd降低速率发送下一个文件块。优选地,所述预设阈值为80%。优选地,所述标记包包括有效负载、完成标记数量及完成标记编号。优选地,当所述预设字节的故障数据文件的数据被正确接收到时,所述完成标记编号中的对应编号为1,当所述预设字节的故障数据文件的数据没有被正确接收到时,所述完成标记编号中的对应编号为0。本发明提供了一种远程文件无线下载的方法,包括当bo要获取故障数据文件且wtd查找到存在故障数据文件时,wtd将故障数据文件按照预设字节的数据量依次发送至bo;bo每接收到预设字节的故障数据文件的数据时均按照数据的起始字节进行标记以记录数据是否正确接收到;当故障数据文件全部数据发送完成时,bo将包括故障数据文件对应的所有标记的标记包发送至wtd;wtd依据标记包判断是否所有故障数据文件均正确接收,当存在部分故障数据文件丢失时,重新发送丢失部分的故障数据文件。可见,本发明在对故障数据文件进行传输时,bo会对传输的故障数据文件的接收情况进行标记,以便wtd查找是否存在丢失的数据,当存在部分故障数据文件丢失时,只对丢失部分的故障数据文件进行重新发送,一方面,减少带宽及bo端服务器的内存的占用,另一方面,减少了文件发送时间。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的一种远程文件无线下载的方法的过程的流程图。具体实施方式本发明的核心是提供一种远程文件无线下载的方法,一方面,减少带宽及bo端服务器的内存的占用,另一方面,减少了文件发送时间。为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参照图1,图1为本发明提供的一种远程文件无线下载的方法的过程的流程图,该方法包括:步骤s11:当bo要获取故障数据文件且wtd查找到存在故障数据文件时,wtd将故障数据文件按照预设字节的数据量依次发送至bo;具体地,列车出现故障时,事件记录仪会记录故障数据文件,当bo要获取故障数据文件时,wtd从特定目录中查找是否存在未发送的故障数据文件,如果存在,则将故障数据文件按照预设字节的数据量发送至bo。具体地,这里的预设字节可以为1kb,当然,也可以为其他数值,本发明在此不做特别的限定,根据实际情况来定。步骤s12:bo每接收到预设字节的故障数据文件的数据时均按照数据的起始字节进行标记以记录数据是否正确接收到;具体地,以上述预设字节为1kb为例作介绍:bo每接收到1kb的故障数据文件的数据时,均按照该数据的起始字节进行标记,用来记录该数据是否被正确接收到,当该1kb的故障数据文件丢失时,则刚开始的时候该数据并未被标记,直至当故障数据文件中的所有数据全部发送完成时,wtd补充发送一帧控制报文表明故障数据文件全部数据发送完成,除了bo已完成的将正确接收的所有数据在完成标记编号中进行的对应的标记,其余的未标记的意味着数据丢失。步骤s13:当故障数据文件全部数据发送完成时,bo将包括故障数据文件对应的所有标记的标记包发送至wtd;作为优选地,标记包包括有效负载、完成标记数量及完成标记编号。步骤s14:wtd依据标记包判断是否所有故障数据文件均正确接收,当存在部分故障数据文件丢失时,重新发送丢失部分的故障数据文件。作为优选地,当bo要获取故障数据文件且wtd查找到存在故障数据文件时,wtd将故障数据文件按照预设字节的数据量依次发送至bo的过程具体为:wtd与bo建立连接;bo向wtd发送远程文件无线下载指令;wtd接收到远程文件无线下载指令后查询特定目录中是否存在故障数据文件,如果是,将故障数据文件按照预设字节的数据量依次发送至bo。具体地,wtd向bo发送连接请求,连接请求包括列车的车辆号、ip地址等列车信息,bo响应wtd的连接请求并建立连接,同时记录列车信息。建立连接以后,bo可以自动或者接收用户手动触发的指令去向wtd发送远程文件无线下载指令,wtd接收到远程文件无线下载指令后,查询特定目录中是否存在故障数据文件,如果存在,则将故障数据文件按照预设字节的数据量依次发送至bo。作为优选地,将故障数据文件按照预设字节的数据量依次发送至bo的过程具体为:对于故障数据文件中的所有文件,依次进行如下操作:wtd将文件的信息填入初始报文并将初始报文发送至bo;bo接收初始报文后向wtd发送文件标识报文,文件标识报文包括文件的uid和起始字节;wtd将文件按照预设字节的数据量依次发送至bo。bo在接收到初始报文后,知道wtd有文件要传输,分配一个uid(唯一标识符)。具体地,这里的uid用来唯一标记该文件,这一标识符将在这个文件的数据传输中一直使用。另外,在wtd查找到故障数据文件后,将这些故障数据文件加入待发送文件列表,对于故障数据文件中的所有文件,均重复上述过程。优选地,在wtd将文件按照预设字节的数据量依次发送至bo之前该方法还包括:wtd接收到文件标识报文后,发送文件确认报文至bo,文件确认报文包括确认的uid和起始字节。为了提高数据传输的可靠性,wtd接收到文件标识报文后,发送文件确认报文至bo,文件确认报文包括确认的uid和起始字节。理论上,这里的确认的uid和确认的起始字节应该分别和文件标识报文包括文件的uid和起始字节是一样的,如果不一样,则wtd不会向bo发送故障数据文件。作为优选地,文件标识报文还包括最大负载;则相对应地:文件确认报文还包括确认的最大负载;该方法还包括:wtd将故障数据文件按照最大负载分为多个文件块,并依次发送文件块;当故障数据文件全部数据发送完成时,bo将包括故障数据文件对应的所有标记的标记包发送至wtd的过程为:当一个文件块全部数据发送完成时,bo将包括文件块对应的所有标记的标记包发送至wtd。具体地,因为bo端可能同时与多个wtd进行数据传输,受其服务器的配置及性能的限制,为每个待传输的文件设置了最大负载,这里的最大负载表明连续传输多少个预设字节的数据后双方暂停传输确认已接收报文数量的值。最大负载的值的设定与服务器的配置相关。假设这里的故障数据文件为128kb,最大负载为50kb,则wtd可以将故障数据文件分为50kb、50kb及28kb。则文件块的大小为:有效负载×预设字节。这里的有效负载是指本次故障数据文件中内容需按文件报文格式发送的次数,其值小于等于bo规定的最大负载值(小于时对应的通常wtd最后发送的故障数据文件,例如上述提到的28kb)。另外,当一个文件块的数据全部传完后,判断是否全部传输正确,如果是,再进行下一个文件块的传输。否则,将丢失的数据再重新发送一遍。具体地,对于初始报文的格式,请参照表1:表1初始报文表bo接收到初始报文后,向wtd发送文件标识报文,文件标识报文的格式如表2:表2文件标识报文表wtd接收到文件标识报文后,发送文件确认报文给bo,具体地,文件确认报文的格式如表3:表3文件确认报文表消息编号报文长度报文版本uid起始字节最大负载确认2bytes2bytes1byte2bytes5bytes2bytesbo将包括文件块对应的所有标记的标记包发送至wtd,这里的标记包的格式为:表4标记包表完成标记数据指的是bo已正确接收数据的数量,完成标记编号记录了故障数据文件或者文件块中的所有预设字节的数据对应的标记。wtd开始按照起始字节和未完成标记,将未完成标记所对应的故障数据分块数据打包成文件报文,并按以下文件报文格式进行发送,每次发送1kb数据量(预设字节数,文件内容字段内),文件报文的格式为:表5文件报文表消息编号报文长度报文版本uid起始字节有效负载文件内容2bytes2bytes1byte2bytes5bytes2bytes1024bytes当wtd完成所有未完成标记对应故障数据的文件报文后,wtd补充发送一帧控制报文表明本次文件分块已传输完成。表6控制报文表消息编号报文长度报文版本uid代码2bytes2bytes1byte2bytes1bytebo接收到后,发送带完成标记的标记包发送给wtd,其中,完成标记编号表明地面服务器端接收报文的状态,若该编号的有效负载位数值均为1表明数据已全部接收正确,则进行下一文件块的传输直到所有文件分块均传输完成。否则wtd重传标记包标记字段前有效负载位中为0所对应的故障数据文件。作为优选地,该方法还包括:wtd在发送完一个文件块后,依据标记包计算完成标记的数据的数量占所在文件块的所有数据的数量的比例,并按照比例改变发送下一个文件块时的发送速率。可以理解的是,如果比例为1,则说明所有数据均已标记,即所有数据均正确接收,说明此时信道较通畅,此时可以增加速率来发送下一个文件块,否则,说明此时信道不通畅,此时可以保持或者减小发送下一个文件块。作为优选地,按照比例改变发送下一个文件块时的发送速率的过程具体为:当比例为1时,wtd增加速率发送下一个文件块;当比例大于预设阈值且小于1时,wtd保持速率发送下一个文件块;当比例小于预设阈值时,wtd降低速率发送下一个文件块。作为优选地,预设阈值为80%。当然,这里的预设阈值还可以为其他数值,本发明在此不做特别的限定,根据实际情况来定。作为优选地,当预设字节的故障数据文件的数据被正确接收到时,完成标记编号中的对应编号为1,当预设字节的故障数据文件的数据没有被正确接收到时,完成标记编号中的对应编号为0。下面以最大负载以100为例对本发明提供的方法作介绍:wtd接收到bo的文件标识报文后,发送文件确认报文给bo,对uid和最大负载进行确认,并将起始字节0发送给bo。bo反馈标记包,此标记包发送文件的uid号,并确认文件分块起始字节为0,最大负载为100,完成标记数量为0,完成标记编号为100个0(因为此时还没有开始传送文件)。wtd接收到初始的标记包后,从文件块起始字节开始,对照接收到标记包中完成标记位为0所对应的起始字节,发送文件报文。传输完100个预设字节的文件报文后,wtd发送控制报文给bo(控制报文中的代码列定义一个代码表示本次文件分块已传输完成)。bo将带有完成标记编号的标记包发送给wtd,其中完成标记数量为有效负载(以100为例)个文件报文中已接收到的个数(若为100,则表示所有发送的文件报文均已收到。若小于100(例如为80的话),表示在传输过程中,有20个文件报文已丢失,丢失的文件位置可见完成标记编号(100个0和1的序列,1表示已接收,0表示未接收)。wtd针对标记包完成标记位为0的文件数据,再次将20个未收到的文件报文重新发送,并发送控制报文表示本次文件分块已传输完成。wtd和bo将重复上述步骤直到bo反馈完成标记数量为100,且完成标记中每1位均为1。综上,本发明通过定义的一整套远程文件无线下载传输协议,确认列车在移动通信中将数据文件可靠地传输到地面操作中心服务器。本发明提供了一种远程文件无线下载的方法,包括当bo要获取故障数据文件且wtd查找到存在故障数据文件时,wtd将故障数据文件按照预设字节的数据量依次发送至bo;bo每接收到预设字节的故障数据文件的数据时均按照数据的起始字节进行标记以记录数据是否正确接收到;当故障数据文件全部数据发送完成时,bo将包括故障数据文件对应的所有标记的标记包发送至wtd;wtd依据标记包判断是否所有故障数据文件均正确接收,当存在部分故障数据文件丢失时,重新发送丢失部分的故障数据文件。可见,本发明在对故障数据文件进行传输时,bo会对传输的故障数据文件的接收情况进行标记,以便wtd查找是否存在丢失的数据,当存在部分故障数据文件丢失时,只对丢失部分的故障数据文件进行重新发送,一方面,减少带宽及bo端服务器的内存的占用,另一方面,减少了文件发送时间。需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1