CN117376342A - 文件传输方法、装置、主机设备及系统、存储介质 - Google Patents
文件传输方法、装置、主机设备及系统、存储介质 Download PDFInfo
- Publication number
- CN117376342A CN117376342A CN202311408406.9A CN202311408406A CN117376342A CN 117376342 A CN117376342 A CN 117376342A CN 202311408406 A CN202311408406 A CN 202311408406A CN 117376342 A CN117376342 A CN 117376342A
- Authority
- CN
- China
- Prior art keywords
- file
- flow control
- slave
- equipment
- frame
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 142
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000004891 communication Methods 0.000 claims abstract description 45
- 238000004806 packaging method and process Methods 0.000 claims abstract description 13
- 238000005538 encapsulation Methods 0.000 claims abstract description 10
- 238000012546 transfer Methods 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种文件传输方法、装置、主机设备及系统、存储介质,文件传输方法包括:获取基于从机设备的端口级联信息得到的路由路径信息,根据所述路由路径信息在所述从机设备中确定与主机设备建立通信连接的主节点设备;获取携带有目标从机设备信息和待传输文件信息的文件传输指令;将待传输文件封装成数据帧发送给所述主节点设备,以通过所述主节点设备根据通信路径发送至所述目标从机设备,所述通信路径为根据所述路由路径信息所确定的从所述主节点设备到所述目标从机设备之间的通信路径。如此,支持主机设备基于从机设备之间的端口级联信息所形成的路由路径信息和数据封装,实现与原本不支持某些网络传输协议的从机设备之间的文件传输,可直接透传多级从机设备,实现多设备的集中网络化管理。
Description
技术领域
本发明涉及数据传输技术领域,特别涉及一种文件传输方法、装置、主机设备及系统、存储介质。
背景技术
随着网络技术的发展,人们步入了一个全新的信息时代,面对日益复杂的网络结构与逐渐增加的网络流量,越来越多的设备需要接入到网络,以方便终端管理各种各样的设备。然而,目前仍有一些设备可能并不支持某些网络传输协议,如很多嵌入式设备仅支持串口通信协议,只能一对一文件传输,从而终端不能对多设备进行集中网络化管理。
发明内容
为了解决现有存在的技术问题,本发明实施例提供一种能够透传多级设备以实现多设备的集中网络化管理的文件传输方法及装置、主机设备、文件传输系统以及计算机可读存储介质。
本发明实施例的技术方案是这样实现的:
第一方面,一种文件传输方法,应用于主机设备,包括:
获取基于从机设备的端口级联信息得到的路由路径信息,根据所述路由路径信息在所述从机设备中确定与主机设备建立通信连接的主节点设备;
获取携带有目标从机设备信息和待传输文件信息的文件传输指令;
将待传输文件封装成数据帧发送给所述主节点设备,以通过所述主节点设备根据通信路径发送至所述目标从机设备,所述通信路径为根据所述路由路径信息所确定的从所述主节点设备到所述目标从机设备之间的通信路径。
第二方面,提供一种文件传输装置,包括:
路径信息模块,用于获取基于从机设备的端口级联信息得到的路由路径信息,根据所述路由路径信息在所述从机设备中确定与主机设备建立通信连接的主节点设备;
指令模块,用于获取携带有目标从机设备信息和待传输文件信息的文件传输指令;
封装传输模块,用于将待传输文件封装成数据帧发送给所述主节点设备,以通过所述主节点设备根据通信路径发送至所述目标从机设备,所述通信路径为根据所述路由路径信息所确定的从所述主节点设备到所述目标从机设备之间的通信路径。
第三方面,提供一种主机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请任一实施例所述的文件传输方法的步骤。
第四方面,提供一种文件传输系统,包括本申请任一实施例所述的主机设备以及多个嵌入式从机设备;其中,所述从机设备之间通过数据传输端口连接形成多个层级,所述主节点设备为第一层级的所述从机设备。
第五方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器本申请任一实施例所述的文件传输方法的步骤。
上述实施例所提供的文件传输方法,主机设备通过获取基于从机设备的端口级联信息得到的路由路径信息,根据所述路由路径信息在所述从机设备中确定与主机设备建立通信连接的主节点设备,在主机设备需要向目标从机设备进行文件传输时,可通过将待传输文件按照自定义格式封装成统一设定格式的数据帧,将数据帧发送给从机设备中的主节点设备,再由主节点设备按照路由路径信息所确定的目标从机设备对应的通信路径后发送至目标从机设备,目标从机设备可以是从机设备中选定的任意一个或者多个从机设备,如此,支持主机设备基于从机设备之间的端口级联信息所形成的路由路径信息和数据封装,实现与原本不支持某些网络传输协议的从机设备之间的文件传输,可直接透传多级从机设备,实现多设备的集中网络化管理。
上述实施例中,文件传输装置、主机设备、文件传输系统及计算机可读存储介质分别与对应的文件传输方法实施例属于同一构思,从而与对应的文件传输方法实施例具有相同的技术效果,在此不再赘述。
附图说明
图1为一实施例中文件传输方法的可选应用场景图;
图2为一实施例中从机设备基于端口互联的拓扑图示意图;
图3为一实施例中文件传输方法的流程图;
图4为一实施例中一组流控的数据帧的发送流程图;
图5为一可选的具体示例中文件传输方法的流程图;
图6为一实施例中文件传输装置的示意图;
图7为一实施例中主机设备的示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明技术方案做进一步的详细阐述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明的保护范围。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
在以下的描述中,涉及到“一些实施例”的表述,其描述了所有可能实施例的子集,但是应当理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
请参阅图1,为本申请实施例提供的一种文件传输方法的可选的应用场景示意图,文件传输方法实施的系统架构包括服务器10、主机设备20和从机设备30。主机设备20通过运行实现本申请实施例所述的文件传输方法的计算机程序,以实现从服务器10下载待传输文件后传输给指定的从机设备30,获取指定的从机设备30上传的指定类型数据并发送给服务器10等。该计算机程序的呈现形式包括但不限于各种应用程序(APP)、网页程序、小程序。在一个具体示例中,文件传输方法对应的计算机程序是指搭载在各种软件平台中的小程序,可以方便地在各种操作系统的智能终端设备中应用,用户使用时无下载安装压力。从机设备30可以包括各种不支持网络传输协议的嵌入式设备,多个从机设备30之间通过端口互联,通过端口连接的两个从机设备30之间通过数据线实现数据通信,请参阅图2,为一可选示例中,多个从机设备30之间基于端口互联的拓扑图示意图。主机设备20获取路径路径信息,可通过用户在主机设备20的小程序界面中,根据多个从机设备30之间的端口连接关系进行配置得到,如用户在主机设备20的小程序界面通过配置操作,设置从机设备a的端口号a1与从机设备b的端口号b1连接,端口号a2与从机设备c的端口号c1连接,从机设备c的端口号c2与从机设备d的端口号d1连接,如此,根据从机设备a、b、c的端口级联信息得到的路由路径信息可知,从机设备a为第一层级,即主节点设备,从机设备b、c为第二层级,从机设备d为第三层级。
请参阅图3,为本申请实施例提供的一种文件传输方法的流程图,可应用于图1所示的主机设备,该文件传输方法包括如下步骤。
S101,获取基于从机设备的端口级联信息得到的路由路径信息,根据所述路由路径信息在所述从机设备中确定与主机设备建立通信连接的主节点设备。
从机设备的端口级联信息,是指针对通过端口连接实现数据通信的多个从机设备,包含这些从机设备的端口号连接关系的信息,如图2所示为例,从机设备a、b、c的端口级联信息是指从机设备a的端口号a1与从机设备b的端口号b1连接,端口号a2与从机设备c的端口号c1连接,从机设备c的端口号c2与从机设备d的端口号d1连接,其中,端口级联信息的表达形式,可以是树状结构、链表结构、主节点设备到任意一层的从机设备间的端口级联信息的数组形成的数据集等数据结构形式,本申请对此不做限制。路由路径信息,是指起点到通往每个目的地的路径,对于文件传输而言,也即从起点传输到达每个目的地的走向路径信息。这里,路由路径的起点,可以理解为是主机设备,也可以理解为是从机设备中的主节点设备。可选的,主机设备获取基于从机设备的端口级联信息得到的路由路径信息,是指用户在主机设备提供的配置界面通过配置操作得到,如主机设备通过配置界面提供预设的配置项,供用户根据配置项输入从机设备的标识、端口号连接信息来完成配置操作,根据用户的配置操作来得到路由路径信息。需要说明的是,用户对从机设备的端口级联信息的配置操作,可以并不限于用户根据配置项输入从机设备的标识、端口号连接信息来完成,比如,也可以是通过批量导入指定格式的文件来得到、通过标签扫描得到等,在此不做限制。
S103,获取携带有目标从机设备信息和待传输文件信息的文件传输指令。
目标从机设备信息,是指能够表征主机设备需要发送文件的从机设备的身份的相关信息,如能够表征从机设备的身份的标识、编码、名称、序列号等,也可以是从机设备的标识、编码、名称、序列号等其中多项信息的组合。待传输文件信息,是指能够表征需要进行传输的文件的身份的相关信息,如文件的名称、存储地址、文件编号、文件类型等其中一项或多项信息的组合。文件传输指令,是指表达当前主机设备启动向从机设备进行文件传输的指令。文件传输指令中携带目标从机设备信息和待传输文件信息,包括用户通过一个或多个操作步骤等多种形式来获得,当通过多个操作步骤来获得时也包括多个操作步骤是同步或异步的多种情况,本申请对此不做限制,比如,用户在主机设备的界面中选定需要进行文件传输的哪几个从机设备、选定需要传输的哪几个文件后点击文件下发按键;又比如,用户在主机设备的界面中点击文件下发按键,再选定需要进行文件传输的哪几个从机设备、选定需要传输的哪几个文件即可。
S105,将待传输文件封装成数据帧发送给所述主节点设备,以通过所述主节点设备根据通信路径发送至所述目标从机设备,所述通信路径为根据所述路由路径信息所确定的从所述主节点设备到所述目标从机设备之间的通信路径。
将待传输文件封装成数据帧,可以是指将待传输文件采用自定义协议封装成统一格式的数据帧。主机设备通过封装成数据帧发送给主节点设备,再通过主节点设备发送至目标从机设备,主节点设备向目标从机设备发送待传输文件的通信路径可通过路由路径信息确定得到,如此,可选定任意一个或多个从机设备作为目标从机设备,主机设备可实现向选定的任意一个或多个从机设备进行文件传输。通信路径,可以是由主机设备根据路由路径信息所确定的从主节点设备到目标从机设备之间的端口级联信息形成的通信路径;或由主节点设备根据路由路径信息所确定的从主节点设备到目标从机设备之间的端口级联信息形成的通信路径。通过将待传输文件封装成数据帧进行传输,从而从机设备和主机设备之间可基于预设的封装格式来完成数据的收发、解析,而不再受限于从机设备必须支持某特定的网络传输协议来接收文件。
上述实施例中,主机设备通过获取基于从机设备的端口级联信息得到的路由路径信息,根据所述路由路径信息在所述从机设备中确定与主机设备建立通信连接的主节点设备,在主机设备需要向目标从机设备进行文件传输时,可通过将待传输文件按照自定义格式封装成统一设定格式的数据帧,将数据帧发送给从机设备中的主节点设备,再由主节点设备按照路由路径信息所确定的目标从机设备对应的通信路径后发送至目标从机设备,目标从机设备可以是从机设备中选定的任意一个或者多个从机设备,如此,支持主机设备基于从机设备之间的端口级联信息所形成的路由路径信息和数据封装,实现与原本不支持某些网络传输协议的从机设备之间的文件传输,可直接透传多级从机设备,实现多设备的集中网络化管理。
可选的,在步骤S105中,将待传输文件封装成数据帧发送给所述主节点设备,包括:
与所述从机设备对流控参数进行协商,基于多个所述从机设备共同接受的所述流控参数的取值动态确定当前流控参数;所述流控参数包括流控帧数量、流控帧间隔及流控帧长度;
将所述待传输文件封装成数据帧,并基于所述当前流控参数发送给所述主节点设备。
本实施例中,主机设备向从机设备下发待传输文件采用流控控制。流控控制是通过控制发送方发送数据的速率以与接收方的接收能力匹配,流控参数则是指能够控制发送方发送数据的速率的相关参数。其中,流控参数包括流控帧数量、流控帧间隔及流控帧长度,基于流控参数进行数据发送时,根据流控帧数量来确定一组流控的数据包内包含的数据帧的数量,也即一次连续发送的数据帧的数量,根据流控帧间隔来决定发送每一数据帧的快慢,根据流控帧大小来确定数据包的字节数。不同的从机设备接受数据传输的能力不同,主机设备通过与多个从机设备进行协商,以确定出多个从机设备均可接受的数据传输能力,以在所有从机设备可接受的数据传输能力的最大范围内,提升数据传输效率,也可最大程度地减少拥塞、数据丢失或传输错误等问题。
在一些实施例中,所述与所述从机设备对流控参数进行协商,基于多个所述从机设备共同接受的所述流控参数的取值确定当前流控参数,包括:
向所述从机设备下发流控参数的默认值,接收多个所述从机设备根据所述默认值与其自身的流控参数进行对比返回的对比结果;若对比结果为一致,则将所述默认值作为当前流控参数;若对比结果为不一致,则对所述流控参数的默认值进行调整后,返回向所述从机设备下发流控参数的默认值的步骤;或,
向所述从机设备下发流控参数的默认值,接收多个所述从机设备根据所述默认值与其自身的流控参数进行对比返回的协商参数值,根据所述协商参数值选取流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者作为当前流控参数;其中,所述协商参数值为对应所述从机设备自身的流控参数与默认值相比得到的流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者;或,
向所述从机设备下发流控参数协商请求,接收多个所述从机设备返回的协商参数值,根据所述协商参数值选取流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者作为当前流控参数;其中,所述协商参数值为各所述从机设备自身的流控参数。
本实施例中,主机设备与从机设备之间对流控参数进行协商可以支持多种形式,在进行待传输文件的传输之前,主机设备通过与从机设备对流控参数进行协商,以确定各从机设备均可接受的流控参数取值来统一主机设备进行文件传输的速率。在一个具体示例中,可通过下发包含流控参数的默认值的协商数据帧到从机设备,当从机设备比对自身的流控参数与默认值一致时,可返回表达结果一致的响应指令到主机设备,当从机设备比对自身的流控参数与默认值不一致时,则可以按照择优选取参数的方式返回协商参数值到主机设备,协商参数值的确定方式可以是对应所述从机设备自身的流控参数与默认值相比得到的流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者;进一步的,主机设备接收到各从机设备返回的协商参数值,同样可以不同从机设备的协商参数值中流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者进行择优选取,可以理解的是,上述协商过程可以重复,直至得到各从机设备均能接受的协商结果作为当前流控参数。
通过协商动态地确定流控参数,当流控参数确定下来后,主机设备与从机设备之间的最大通信速度也就确定下来,确定最大通信速度带来的优势是:既可以避免因为主机设备发送数据帧的速度过快导致文件传输过程丢帧严重,重发次数过多的问题;又可以防止主机发送数据帧的速度太慢导致文件传输时间太长,优化传输效率。
在一些实施例中,所述将所述待传输文件封装成数据帧,并基于所述当前流控参数发送给所述主节点设备,包括:
将所述待传输文件封装成数据帧,并基于所述当前流控参数确定数据传输参数,根据所述数据传输参数将所述待传输文件的所述数据帧发送给所述主节点设备;所述数据传输参数包括根据所述流控帧数量确定一组流控的数据包内包含的帧数,根据所述流控帧长度确定所述数据包的字节数,根据所述流控帧间隔确定每一数据帧的发送速度。
主机设备在进行文件传输之前,通过与接收待传输文件的从机设备进行协商以动态地确定符合这些从机设备的数据传输能力的当前流控参数,再将待传输文件封装形成的数据帧根据当前流控参数所限定的传输的速率进行传输。其中,根据流控帧数量对数据帧进行组划分,将待传输文件的数据帧以组为单位进行传输,也即,一组流控的数据帧连续发送,当一组流控的数据帧发送成功结束后,再发送下一组流控的数据帧,如此,可减少传输过程中的错误率和重传率。
在一些实施例中,所述根据所述数据传输参数将所述待传输文件的所述数据帧发送给所述主节点设备之前,包括:
将所述待传输文件的预设文件信息发送给所述从主节点设备,通过所述主节点设备发送给所述目标从机设备;其中,所述预设文件信息包括所述待传输文件的大小、文件CRC校验码和文件类型;
在接收到所述从机设备根据所述预设文件信息返回的响应指令后,执行根据所述数据传输参数将所述待传输文件的所述数据帧发送给所述主节点设备的步骤。
主机设备在进行文件传输之前,主机设备会将本次传输的待传输文件的大小、文件CRC校验码和文件类型等预设文件信息发送给从机设备,从机设备答复成功接收到此预设文件信息后,主机设备再执行将待传输文件向从机设备的发送。其中,预设文件信息用于供各从机设备在文件传输过程中,实时校对数据帧的准确性,可通过逐帧校对CRC,对校验不通过的数据帧丢弃,记录发送错误或失败的数据帧,以便于能够及时的对未成功接收的数据帧进行重发。
在一些实施例中,所述文件传输方法,还包括:
在一组流控的数据包发送结束后,向所述目标从机设备发送查询帧;
接收各所述目标从机设备分别基于所述查询帧和对所述数据包进行CRC校验码比对所确定的接收失败的空洞帧序号,将所述空洞帧序号对应的数据帧进行重发;
重发结束后,再次向所述目标从机设备发送查询帧并判断当前组的所述数据包的发送是否存在接收失败的空洞帧,直至各所述目标从机设备对当前组的所述数据包均接收成功;
将下一组流控的数据包根据所述数据传输参数发送给所述主节点设备,并返回所述在一组流控的数据包发送结束后,向所述目标从机设备发送查询帧的步骤,直至所述待传输文件发送完成。
本实施例中,将待传输文件的数据帧以组为单位进行传输,一组流控的数据帧发送后,主机设备向从机设备发送一查询帧,从机设备根据当前组的数据帧校对结果返回未成功接收到的数据帧的信息,主机设备将当前组流控中,所有从机设备未成功接收的数据帧的并集进行重发,从机设备再次校对,重复该过程直至当前组的流控的数据帧全部被从机设备成功接收,则当前组流控的数据帧发送结束,从而提高了数据接收的成功率。
请参阅图4,为一可选示例中,一组流控的数据帧的发送流程,包括:
S11,判断一组流控的多个数据帧连续发送是否结束;若否,执行S12;若是,执行S13。
S12,继续发送数据帧。
S13,查询丢失的数据帧;其中,主机设备和从机设备分别根据CRC校验码逐帧校对,从机设备判断是否成功接收到各数据帧,并记录自身未成功接收到的数据帧。
S14,判断是否丢帧;若否,执行S19;若是,执行S15。
S15,重新发送丢失帧;其中,主机设备根据各个从机设备丢失的数据帧的并集,对丢失帧进行重新发送。
S16,判断所有丢失帧是否发送完毕;若否,返回S15;若是,返回S13。
一组流控的数据帧发送结束后,再接着发送下一组流控的数据帧,直至整个待传输文件传输完成。需要说明的是,主机设备和从机设备除了在一组流控的数据帧的发送中,根据CRC校验码对是否存在失败的流控帧进行校验外,当整个待传输文件的发送完成后,将根据总的CRC校验码对待传输文件的发送进行整体校验,进一步确保文件传输的准确性。
在一些实施例中,步骤S105,将待传输文件封装成数据帧发送给所述主节点设备之前,包括:
将所述路由路径信息发送给所述主节点设备,所述路由路径信息用于提供所述主节点设备进行存储、及根据所述路由路径信息确定其它所述从机设备对应的通信路径。
本实施例中,用户可以通过主机设备提供的配置界面对各从机设备的端口级联信息进行配置完成后,配置界面上可直观地显示从机设备的拓扑图,便于用户根据拓扑图来选定要进行文件传输的一个或多个从机设备,根据拓扑图生成从机设备对应的路由路径信息;此外,主机设备将配置完成生成的路由路径信息发送给主节点设备,主节点设备将路由路径信息进行存储,以能够根据路径路径信息确定到每一从机设备的通信路径,主机设备将发送给各个从机设备的待传输文件先发送给主节点设备,由主节点设备根据各个从机设备对应的通信路径进行发送。主机设备与主节点设备之间可不限于有线、无线通信连接的形式,本实施例中,主机设备与主节点设备之间采用蓝牙BLE协议通信。
在一些实施例中,所述获取基于从机设备的端口级联信息得到的路由路径信息,包括:
根据在小程序界面对从机设备的端口级联关系的配置项信息的设置,得到所述路由路径信息;其中,所述配置项信息至少包括:从机设备对应的标识信息、从机设备的端口号及端口连接关系。
本实施例中,实施文件传输方法的计算机程序是基于小程序实现的文件传输装置,如文件传输装置被设计为微信中的文件传输小程序,便于在各种不同操作系统的智能终端设备上使用。用户打开小程序,在小程序界面中对需要进行文件传输的场景中各从机设备的端口连接关系进行配置,通过基于从机设备的端口级联信息配置得到路由路径信息后,即可便利地实现对各个从机设备进行一对一、或一对多的文件传输。其中,配置界面中可预先设置从机设备对应的标识信息、从机设备的端口号及端口连接关系的对应配置项,用户仅需在各配置项中逐一地输入各个从机设备对应的信息,即可完成对从机设备的路由路径信息的配置,从而可以减小用户的配置难度。
在一些实施例中,步骤S103,获取携带有目标从机设备信息和待传输文件信息的文件传输指令,包括:
根据对目标从机设备的选定操作,确定目标从机设备信息;
根据对待传输文件的选定操作或对待传输文件的存储路径的选定操作,确定待传输文件信息;
根据发送文件的确认操作,获得文件传输指令;
其中,所述确定目标从机设备信息和所述确定待传输文件信息在获得所述文件传输指令之前或之后。
在一个示例中,用户通过在主机设备的界面中显示的各从机设备的拓扑图中,直接点击选取当前需要进行文件传输的一个或多个从机设备,主机设备根据用户的选定操作而获得目标从机设备信息。用户可以在主机设备的界面中选择当前需要进行传输的一个或多个预设文件类型,或者用户可以直接输入当前需要进行传输的一个或多个文件的存储路径,主机设备根据用户的选定操作而获得待传输文件信息。此外,用户可以在主机设备的界面中点击发送文件的确认按键,以触发文件传输流程。需要说明的是,主机设备提供对目标从机设备的选定操作、对待传输文件的选定操作和对发送文件的确认操作的界面可以是指同一界面,也可以是支持相互跳转的多个界面,操作顺序也并不限于先选定目标从机设备或待传输文件或者先触发文件传输流程。
在一些实施例中,步骤S103,获取携带有目标从机设备信息和待传输文件信息的文件传输指令之后,包括:
根据所述待传输文件信息从服务器下载所述待传输文件。
本实施例中,主机设备可以是用户个人日常使用的智能终端设备,通过智能终端设备连接网络,从服务器上通过HTTPS协议下载待传输文件,再将待传输文件发送给目标从机设备。如此,用户可通过日常使用的智能终端设备,打开小程序,实时地根据文件传输应用场景的需求,对接收文件的对象(从机设备的路由路径信息)进行配置,利用智能终端设备接入网络,从服务器下载需要进行传输的文件后,将文件通过封装成数据帧,基于协商后的流控参数先发送给从机设备中的主节点设备,再由主节点设备根据路由路径信息发送给对应的文件接收对象(目标从机设备)。支持主机设备实现与原本不支持某些网络传输协议的从机设备之间的文件传输,可直接透传多级从机设备,实现多设备的集中网络化管理。
在一些实施例中,所述文件传输方法,还包括:
获取携带有选定从机设备信息和待上报数据信息的文件上报指令,将所述文件上报指令发送给所述主节点设备,以通过所述主节点设备将所述文件上报指令根据由所述路由路径信息所确定的选定从机设备对应的通信路径发送至所述选定从机设备;
接收所述选定从机设备响应所述文件上报指令,根据所述待上报数据信息发送的数据报文。
选定从机设备信息,是指能够表征需要向主机设备进行数据上报的从机设备的身份的相关信息,如能够表征从机设备的身份的标识、编码、名称、序列号等,也可以是指从机设备的标识、编码、名称、序列号等其中多项信息的组合。待上报数据信息,是指能够表征需要从机设备上报的数据的身份的相关信息,如能够表征数据的身份的数据名称、类型、时间范围等其中一项或多项信息的组合。
本实施例中,文件传输方法支持用户通过操作主机设备,选定哪些从机设备上报哪些数据信息,比如,用户可以通过小程序提供的界面中显示的各从机设备的拓扑图中,直接点击选取当前需要进行数据上报的一个或多个从机设备,主机设备根据用户的选定操作而获得选定从机设备信息,并选取需要从机设备需要上报的待上报数据信息,如需要从机设备上报的工作日志记录的参数类型、时间周期的数据信息,从机设备接收到文件上报指令后,响应所述文件上报指令而将相应的待上报数据根据由路由路径信息所确定的对应的通信路径发送给主节点设备,由主节点设备发送给主机设备。因此,本申请实施例提供的文件传输方法,文件传输过程可以双向的,用户可操作主机设备发送文件给从机设备,也可以操作主机设备控制从机设备上报指定的数据文件。
为了能够对本申请实施例所提供的文件传输方法具有更加整体、完整的理解,请结合参阅图5,下面以实现文件传输方法的计算机程序设计为文件传输小程序为例进行说明。所述文件传输方法包括如下步骤:
S21,主机设备上搭载文件传输小程序,通过文件传输小程序的界面设置从机设备的拓扑信息,根据拓扑信息得到路由路径信息。理由路径信息可以表格形式存储,形成路由表文件。
S22,主机设备通过与从机设备进行流控协商,确定流控参数。
主机设备与从机设备间文件传输的过程使用流控方式来控制。在开始传输文件之前,首先确定流控参数,不同从机设备的流控参数可能不同;主机设备通过和从机设备进行协商,在流控参数不一致时,择优选取参数:流控帧间隔选取主机设备和从机设备协商的较大值;流控帧大小取二者协商的较小值;流控帧数量取二者间的较小值。重复协商直至各个从机设备与主机设备的参数一致,才开始传输文件。其中,根据流控帧间隔决定发送每一帧数据的快慢;根据流控帧大小确定数据包的字节数;根据流控帧数量确定应该连续发送多少帧数据。
S23,主机设备传输文件之前,将本次传输的文件的大小、文件CRC校验码和文件类型等信息发送给从机设备。主机设备需接收到从机设备答复成功接收此信息后,才可以开始传输文件的数据帧给从机设备。
S24,主机设备将配置好的路由路径信息封装成数据帧下发给从机设备,从机设备对路由路径信息进行解析,以根据主机设备需要将文件发送的对象选择对应的通信路径进行文件传输。其中,主机设备可选择路径文件中的任意从机设备进行文件传输。
S25,在文件传输过程中,主机设备和从机设备双方均会实时地逐帧效验CRC,CRC校验不通过的数据帧会被丢弃。在一组流控结束后,主机设备查询哪些数据帧未被从机设备成功接收,然后重发未被成功接收的数据帧,重复该过程直至这组流控所有数据帧全部被从机设备接收;一组流控结束后接着发送下一组流控的数据,直至整个文件传输完毕。
一组流控内数据帧若为30帧,一组流控发送后,主机设备向从机设备发送一个查询帧,主机设备和从机设备间比对CRC校验码,以确定发送失败的数据帧并记录失败的数据帧的序号,从机设备根据查询帧进行应答,返回自身接收失败的数据帧的序号。
S26,文件传输完毕后,主机设备和从机设备会校验文件总CRC,主机设备和从机设备计算的文件总CRC不一致,则表示文件拼接过程出现错误,应该丢弃,重新开始传输;主、从机设备计算的文件总CRC一致则说明文件传输成功。
S27,主机设备根据对需要进行数据上报的从机设备的文件传输操作,控制对应的从机设备将指定数据进行上报。其中,主机设备可通过文件传输小程序提供用户操作的界面,将需要上报数据的从机设备信息和需要上报的数据信息封装成帧发送给对应的从机设备,从机设备响应并上报数据到主机设备。
上述实施例提供的文件传输方法,至少具备如下特点:
1、用户可以通过文件传输小程序配置下位机(即从机设备)的路径信息,生成对应的路由表和拓扑图,将生成的路由表发送给下位机,下位机可解析路由表来获取自身的设备连接拓扑信息;由此,通过文件传输小程序可以和不同层级的下位机通信,解决了局限于一对一传输文件的问题,还能够与多级设备之间进行文件传输。
2、通过将文件使用自定义协议封装成帧,通过流控参数来控制文件传输的过程,不仅可以提高文件传输的可靠性,还能控制文件传输的速度。传统使用BLE协议进行通信时,难免会出现丢包和误码的情况,导致文件传输失败。而本申请实施例所提供的文件传输方法,可通过逐帧进行CRC校验,流控帧序号查询,文件传输完毕校验总CRC等多重保险机制有效提高文件传输的成功率。
3、文件传输之前,可以通过流控协商,以能够根据不同设备自适应不同的文件传输速度,包括文件上、下行传输速度,如此,既可以保证文件传输的准确性,又可以根据设备性能提高传文件输速度上限。
请参阅图6,本申请实施例另一方面提供一种文件传输装置,包括:路径信息模块221,用于获取基于从机设备的端口级联信息得到的路由路径信息,根据所述路由路径信息在所述从机设备中确定与主机设备建立通信连接的主节点设备;指令模块222,用于获取携带有目标从机设备信息和待传输文件信息的文件传输指令;封装传输模块223,用于将待传输文件封装成数据帧发送给所述主节点设备,以通过所述主节点设备根据通信路径发送至所述目标从机设备,所述通信路径为根据所述路由路径信息所确定的从所述主节点设备到所述目标从机设备之间的通信路径。
可选的,所述封装传输模块223,还用于与所述从机设备对流控参数进行协商,基于多个所述从机设备共同接受的所述流控参数的取值动态确定当前流控参数;所述流控参数包括流控帧数量、流控帧间隔及流控帧长度;将所述待传输文件封装成数据帧,并基于所述当前流控参数发送给所述主节点设备。
可选的,所述封装传输模块223,还用于向所述从机设备下发流控参数的默认值,接收多个所述从机设备根据所述默认值与其自身的流控参数进行对比返回的对比结果;若对比结果为一致,则将所述默认值作为当前流控参数;若对比结果为不一致,则对所述流控参数的默认值进行调整后,返回向所述从机设备下发流控参数的默认值的步骤;或,向所述从机设备下发流控参数的默认值,接收多个所述从机设备根据所述默认值与其自身的流控参数进行对比返回的协商参数值,根据所述协商参数值选取流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者作为当前流控参数;其中,所述协商参数值为对应所述从机设备自身的流控参数与默认值相比得到的流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者;或,向所述从机设备下发流控参数协商请求,接收多个所述从机设备返回的协商参数值,根据所述协商参数值选取流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者作为当前流控参数;其中,所述协商参数值为各所述从机设备自身的流控参数。
可选的,所述封装传输模块223,还用于将所述待传输文件封装成数据帧,并基于所述当前流控参数确定数据传输参数,根据所述数据传输参数将所述待传输文件的所述数据帧发送给所述主节点设备;所述数据传输参数包括根据所述流控帧数量确定一组流控的数据包内包含的帧数,根据所述流控帧长度确定所述数据包的字节数,根据所述流控帧间隔确定每一数据帧的发送速度。
可选的,所述封装传输模块223,还用于将所述待传输文件的预设文件信息发送给所述从主节点设备,通过所述主节点设备发送给所述目标从机设备;其中,所述预设文件信息包括所述待传输文件的大小、文件CRC校验码和文件类型;在接收到所述从机设备根据所述预设文件信息返回的响应指令后,执行根据所述数据传输参数将所述待传输文件的所述数据帧发送给所述主节点设备的步骤。
可选的,所述封装传输模块223,还用于在一组流控的数据包发送结束后,向所述目标从机设备发送查询帧;接收各所述目标从机设备分别基于所述查询帧和对所述数据包进行CRC校验码比对所确定的接收失败的空洞帧序号,将所述空洞帧序号对应的数据帧进行重发;重发结束后,再次向所述目标从机设备发送查询帧并判断当前组的所述数据包的发送是否存在接收失败的空洞帧,直至各所述目标从机设备对当前组的所述数据包均接收成功;将下一组流控的数据包根据所述数据传输参数发送给所述主节点设备,并返回所述在一组流控的数据包发送结束后,向所述目标从机设备发送查询帧的步骤,直至所述待传输文件发送完成。
可选的,所述路径信息模块221,还用于将所述路由路径信息发送给所述主节点设备,所述路由路径信息用于提供所述主节点设备进行存储、及根据所述路由路径信息确定其它所述从机设备对应的通信路径。
可选的,所述路径信息模块221,还用于根据在小程序界面对从机设备的端口级联关系的配置项信息的设置,得到所述路由路径信息;其中,所述配置项信息至少包括:从机设备对应的标识信息、从机设备的端口号及端口连接关系。
可选的,所述指令模块222,还用于根据对目标从机设备的选定操作,确定目标从机设备信息;根据对待传输文件的选定操作或对待传输文件的存储路径的选定操作,确定待传输文件信息;根据发送文件的确认操作,获得文件传输指令;其中,所述确定目标从机设备信息和所述确定待传输文件信息在获得所述文件传输指令之前或之后。
可选的,所述封装传输模块223,还用于根据所述待传输文件信息从服务器下载所述待传输文件。
可选的,所述封装传输模块,还用于获取携带有选定从机设备信息和待上报数据信息的文件上报指令,将所述文件上报指令发送给所述主节点设备,以通过所述主节点设备将所述文件上报指令根据由所述路由路径信息所确定的选定从机设备对应的通信路径发送至所述选定从机设备;接收所述选定从机设备响应所述文件上报指令,根据所述待上报数据信息发送的数据报文。
上述实施例提供的文件传输装置在实现文件传输过程中,仅以上述各程序模块的划分进行举例说明,在实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即可将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分方法步骤。另外,上述实施例提供的文件传输装置与应用于主机设备侧的文件传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参阅图7,本申请实施例的另一方面,还提供了一种主机设备,包括存储器211和处理器212,存储器211存储有计算机程序,计算机程序被处理器执行时,使得处理器212执行本申请上述任一实施例所提供的文件传输方法的步骤。
本申请实施例另一方面,还提供一种文件传输系统,包括本申请实施例所述的主机设备以及多个嵌入式从机设备,其中,所述从机设备之间通过数据传输端口连接形成多个层级,所述主节点设备为第一层级的所述从机设备。
本申请实施例另一方面,还提供一种存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请上述任一实施例所提供的文件传输方法的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述计算机可读存储介质,可以是只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(RandomAccessMemory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机、计算机,服务器,或网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围以准。
Claims (10)
1.一种文件传输方法,应用于主机设备,其特征在于,包括:
获取基于从机设备的端口级联信息得到的路由路径信息,根据所述路由路径信息在所述从机设备中确定与主机设备建立通信连接的主节点设备;
获取携带有目标从机设备信息和待传输文件信息的文件传输指令;
将待传输文件封装成数据帧发送给所述主节点设备,以通过所述主节点设备根据通信路径发送至所述目标从机设备,所述通信路径为根据所述路由路径信息所确定的从所述主节点设备到所述目标从机设备之间的通信路径。
2.如权利要求1所述的文件传输方法,其特征在于,所述将待传输文件封装成数据帧发送给所述主节点设备,包括:
与所述从机设备对流控参数进行协商,基于多个所述从机设备共同接受的所述流控参数的取值动态确定当前流控参数;所述流控参数包括流控帧数量、流控帧间隔及流控帧长度;
将所述待传输文件封装成数据帧,并基于所述当前流控参数发送给所述主节点设备。
3.如权利要求2所述的文件传输方法,其特征在于,所述与所述从机设备对流控参数进行协商,基于多个所述从机设备共同接受的所述流控参数的取值确定当前流控参数,包括:
向所述从机设备下发流控参数的默认值,接收多个所述从机设备根据所述默认值与其自身的流控参数进行对比返回的对比结果;若对比结果为一致,则将所述默认值作为当前流控参数;若对比结果为不一致,则对所述流控参数的默认值进行调整后,返回向所述从机设备下发流控参数的默认值的步骤;或,
向所述从机设备下发流控参数的默认值,接收多个所述从机设备根据所述默认值与其自身的流控参数进行对比返回的协商参数值,根据所述协商参数值选取流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者作为当前流控参数;其中,所述协商参数值为对应所述从机设备自身的流控参数与默认值相比得到的流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者;或,
向所述从机设备下发流控参数协商请求,接收多个所述从机设备返回的协商参数值,根据所述协商参数值选取流控帧数量中较小者、流控帧间隔中较大者、流控帧长度中较小者作为当前流控参数;其中,所述协商参数值为各所述从机设备自身的流控参数。
4.如权利要求2所述的文件传输方法,其特征在于,所述将所述待传输文件封装成数据帧,并基于所述当前流控参数发送给所述主节点设备,包括:
将所述待传输文件封装成数据帧,并基于所述当前流控参数确定数据传输参数,根据所述数据传输参数将所述待传输文件的所述数据帧发送给所述主节点设备;所述数据传输参数包括根据所述流控帧数量确定一组流控的数据包内包含的帧数,根据所述流控帧长度确定所述数据包的字节数,根据所述流控帧间隔确定每一数据帧的发送速度。
5.如权利要求4所述的文件传输方法,其特征在于,所述根据所述数据传输参数将所述待传输文件的所述数据帧发送给所述主节点设备之前,包括:
将所述待传输文件的预设文件信息发送给所述从主节点设备,通过所述主节点设备发送给所述目标从机设备;其中,所述预设文件信息包括所述待传输文件的大小、文件CRC校验码和文件类型;
在接收到所述从机设备根据所述预设文件信息返回的响应指令后,执行根据所述数据传输参数将所述待传输文件的所述数据帧发送给所述主节点设备的步骤。
6.如权利要求4所述的文件传输方法,其特征在于,还包括:
在一组流控的数据包发送结束后,向所述目标从机设备发送查询帧;
接收各所述目标从机设备分别基于所述查询帧和对所述数据包进行CRC校验码比对所确定的接收失败的空洞帧序号,将所述空洞帧序号对应的数据帧进行重发;
重发结束后,再次向所述目标从机设备发送查询帧并判断当前组的所述数据包的发送是否存在接收失败的空洞帧,直至各所述目标从机设备对当前组的所述数据包均接收成功;
将下一组流控的数据包根据所述数据传输参数发送给所述主节点设备,并返回所述在一组流控的数据包发送结束后,向所述目标从机设备发送查询帧的步骤,直至所述待传输文件发送完成。
7.一种文件传输装置,其特征在于,包括:
路径信息模块,用于获取基于从机设备的端口级联信息得到的路由路径信息,根据所述路由路径信息在所述从机设备中确定与主机设备建立通信连接的主节点设备;
指令模块,用于获取携带有目标从机设备信息和待传输文件信息的文件传输指令;
封装传输模块,用于将待传输文件封装成数据帧发送给所述主节点设备,以通过所述主节点设备根据通信路径发送至所述目标从机设备,所述通信路径为根据所述路由路径信息所确定的从所述主节点设备到所述目标从机设备之间的通信路径。
8.一种主机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7任一项所述文件传输方法的步骤。
9.一种文件传输系统,其特征在于,包括如权利要求8所述的主机设备以及多个嵌入式从机设备;
其中,所述从机设备之间通过数据传输端口连接形成多个层级,所述主节点设备为第一层级的所述从机设备。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7任一项所述文件传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311408406.9A CN117376342A (zh) | 2023-10-26 | 2023-10-26 | 文件传输方法、装置、主机设备及系统、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311408406.9A CN117376342A (zh) | 2023-10-26 | 2023-10-26 | 文件传输方法、装置、主机设备及系统、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117376342A true CN117376342A (zh) | 2024-01-09 |
Family
ID=89405659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311408406.9A Pending CN117376342A (zh) | 2023-10-26 | 2023-10-26 | 文件传输方法、装置、主机设备及系统、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376342A (zh) |
-
2023
- 2023-10-26 CN CN202311408406.9A patent/CN117376342A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8274984B2 (en) | Radio network controller | |
CN106688277A (zh) | 在时隙化信道调频网络中的有效集中式资源和调度管理 | |
US20100070649A1 (en) | Process for communication between a device running java me and a server over the air, as well as related system | |
EP2647175A1 (en) | Facilitating device-to-device communication | |
CN101572597A (zh) | 无线通讯系统的同步混合式自动重复请求的操作方法 | |
WO2021232681A1 (zh) | 耳机与充电盒的通信方法、充电盒、耳机及可读存储介质 | |
CN112910679B (zh) | 一种电力物联网多层次远程升级方法 | |
EP1527571B1 (en) | Method and apparatus for implementing qos in data transmissions | |
WO2011137640A1 (zh) | 文件传输方法、文件发送装置和文件接收装置 | |
CN110234114A (zh) | 数据传输方法、装置、设备、介质和系统 | |
CN110808948A (zh) | 远程过程调用方法、装置及系统 | |
CN111435866A (zh) | 数据传输方法及相关装置 | |
US7646787B2 (en) | Method for the packet-oriented transmission of data, network intermediate nodes and telecommunications network | |
CN113347681A (zh) | 数据传输方法、装置、存储介质及电子装置 | |
US11160139B2 (en) | Method for optimizing per message type data exchange between connected objects | |
CN117376342A (zh) | 文件传输方法、装置、主机设备及系统、存储介质 | |
CN101888343B (zh) | 一种业务数据的发送方法及系统 | |
CN111885564A (zh) | 数据传输方法、设备升级方法、计算机可读的存储介质 | |
CN112865990A (zh) | 一种文件升级方法、系统及装置 | |
CN111669364B (zh) | 一种数据传输的方法、装置、电子设备及介质 | |
Vallati et al. | ECOAP: experimental assessment of congestion control strategies for CoAP using the wishful platform | |
CN112019491B (zh) | 一种报文处理方法及系统 | |
US7545793B2 (en) | Extended range wireless packetized data communication system | |
CN115514799A (zh) | Tcp连接方法、系统、网络设备及存储介质 | |
CN117459521A (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 |