CN112469030A - 一种跨终端多文件传输方法 - Google Patents
一种跨终端多文件传输方法 Download PDFInfo
- Publication number
- CN112469030A CN112469030A CN202011386098.0A CN202011386098A CN112469030A CN 112469030 A CN112469030 A CN 112469030A CN 202011386098 A CN202011386098 A CN 202011386098A CN 112469030 A CN112469030 A CN 112469030A
- Authority
- CN
- China
- Prior art keywords
- file
- terminal
- data
- receiving
- task
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种跨终端多文件传输方法,包括以下步骤:步骤201,位于同一局域网内的发送终端和接收终端,进行基础数据交互,互相确认双方身份及支持对方版本;步骤202,确认双方连接的有效性;步骤203,发送终端通过控制器Socket向接收终端发送‘请求发送文件’,此时附带需要发送的文件信息;步骤204,接收终端确认自身是否满足存储条件,通过控制器Socket给予回应‘准许发送文件’;步骤205,进行文件的传输,直到文件全传输完成。本发明通过控制流与传输流的分工工作,可在传输多个文件或文件夹的过程中,跳过出现传输错误的单个文件或者重试该文件,并且继续传输剩余内容,以解决一旦传输过程出现异常则连接无法继续正常进行的问题。
Description
技术领域
本发明涉及计算机技术应用领域,具体为一种跨终端多文件传输方法。
背景技术
随着移动互联网的发展、普及和移动智能系统(Android/iOS)的完善,移动终端量呈现了指数级的增长,用户对文件操作及传送的需求从传统PC端大量转移到了移动终端。
对于从某个终端设备将文件发送给另一个终端设备的需求。目前,业界通常采用的方式为通过一个Socket套接字连接终端设备,然后进行数据及文件的传输,最终完成跨设备的文件传输。
通常情况下,当采用一个Socket套接字连接时,两端交流的数据内容是信息及文件数据的交替传送。该过程发送方先告诉接收方即将发送的文件信息,如文件个数、文件名、文件大小及文件类型等,之后发送方进行文件数据传输,接收方依据信息进行文件数据的接收。容易理解的是,除了发送文件前需要发送文件信息外,在连接时也需要发送部分关于传输引擎版本、设备名称等信息,用于双方判断是否互相支持。除此之外可能由于不同的交互实现还存在其他的数据传输。
在上述传输过程中,若出现异常状况(例如发送方读取文件失败、接收方写入文件失败、数据传输偏移量出现误差等),接收方会不知道接下来的数据是信息还是文件数据,会造成发、收终端数据交互的错乱,无法继续正常进行数据交流,如果一次发送多个文件,则会造成后续文件都无法在此连接上继续正常传输。由于只有单个Socket连接,在传输文件时只能有单个任务引擎进行处理,无法达到对网络带宽、CPU性能最高效的利用。如果进行传输任务的是一个文件夹(内含多个文件或文件夹),在某个文件失败后,双方无法确认传输的文件进度,即重新启动传输后,无法基于上一次的进度继续传输。
发明内容
鉴于现有技术中所存在的问题,本发明提供了一种跨终端多文件传输方法,可在传输多个文件或文件夹的过程中,跳过出现传输错误的单个文件或者重试该文件,并且继续传输剩余内容,以解决一旦传输过程出现异常则连接无法继续正常进行的问题。
为实现以上目的,本发明采用的技术方案是,一种跨终端多文件传输方法,包括以下步骤:
步骤201,位于同一局域网内的发送终端和接收终端,进行基础数据交互,互相确认双方身份及支持对方版本;
步骤202,确认双方连接的有效性;
步骤203,发送终端通过控制器Socket向接收终端发送‘请求发送文件’,此时附带需要发送的文件信息;
步骤204,接收终端确认自身是否满足存储条件,通过控制器Socket给予回应‘准许发送文件’;
步骤205,进行文件的传输,直到文件全传输完成。
优选的,所示发送终端包括:
待处理任务维护模块,用于将新添加的任务放入等待队列和将即将启动传输的任务移出等待队列;
任务提取器,用于从任务维护模块获取待发送的任务,交由控制处理中心进行处理,直到上一个任务被成功传输,或者传输失败后,继续从待处理任务模块内获取待发送任务;
发送控制流处理中心,用于在接收到任务提取器发送的任务后,通过控制流Socket向接收终端进行控制指令交互;
数据发送中心,在控制流处理中心获批发送文件后被唤醒,启动数据传输。
所示接收终端包括:
接收控制流处理中心,用于在接收到发送文件请求时进行本地条件判断,并依据用户抉择作出处理响应,同时通过控制流Socket反馈回执指令;
数据接收及处理中心,用于向接收控制流处理中心提供接收中心的数据端口;
当发送终端接收到可发送文件的回执后,提取目标端口,然后向数据接收及处理中心发起Socket连接,成功建立数据流Socket连接,发送终端正式进行文件数据的传输,数据接收及处理中心将开始接收文件数据并写入到接收终端的本地磁盘上。
本发明的有益效果:
1、成功率高,通过控制流与传输流的分工工作,避免常规方案中单连接流控制信息、数据流共用的情况,从而规避掉一次异常引发整体任务失败的发生情形。
2、传输速度快,通过单独的数据流连接,可动态的启用多线程技术,相较于常规方案,能极大的利用网络带宽及设备处理器性能。常规方案将控制信息及数据混杂在一起,无法启用多线程技术进行传输。
3、快速重试,常规方案无法在失败后立即在原来进度上进行续传,因为常规方案无法正确记录传输进度,而本发明能够针对每个单独文件进行进度记录,一旦发生异常能通过控制流连接进行进度同步,从而保障在原进度下进行续传。
附图说明
图1为本发明应用的示例性系统架构图;
图2为跨终端多文件传输方法的流程图;
图3为发送终端的结构示意图;
图4为接收终端的结构示意图。
具体实施方式
下面结合附图及实施实例对本申请进行详细说明。需要明确的是,下文所描述的具体实施实例是为了解释本发明,而非对本发明的限定。同时为了便于描述,附图中将仅示出与本发明相关的部分。
图1示出了本发明实施时所依赖的基础前提。其中,101为发送终端,102为接收终端,103为局域网示意。如图1所示,实施本发明前提一为:需要存在明确的发送终端、接收终端。二为:发送终端、接收终端都需要接入在同一个局域网内,需要说明的是,当一个终端开启热点AP,另一个终端连接该热点AP,则双方也处于同一局域网内。
由于数据传输依赖的是网络传输,所以容易理解,此前提对发送终端、接收终端的具体形态没有实际要求,即双方可能是不同操作系统,不同设备形态。例如一方为安卓电视,而另一方为安卓平板;或者一方为安卓平板,另一方为苹果手机。
发送终端可以通过局域网连接向接收终端发起连接请求、发送数据、接收数据,同理,接收终端也可以完成这些操作。双方的数据交互依托于局域网的存在。
如图2所示,跨终端多文件传输方法,包括以下步骤:
步骤201中,发送终端与接收终端进行基础数据交互,数据文本格式采用业界流行的JSON格式,通过互相发送自身的版本信息、设备信息(操作系统、设备类型、设备名称)等数据,确认双方身份及支持对方版本。
步骤202中,正式确认双方连接的有效性,本次为有效、合法的连接。
此后发送终端进行步骤203,向接收终端请求发送文件(文件夹或多文件),此时会附带需要发送的文件信息,接收终端在步骤204中,会确认自身是否满足存储这些文件的条件,之后给予回应‘准许发送文件’的信息。
当双方确认文件可进行传输后,在步骤205中正式进行文件的传输,直到文件全传输完成,达到206传输成功的状态。
在图3中示意了发送终端的工作模块,在图4中示意了接收终端的工作模块。
在图3中,301为待发送的文件任务维护中心,用来将新添加的任务放入等待队列,将即将启动传输的任务移出等待队列,在整个结构中,充分保障任务的先后顺序、状态维护。
302为任务提取器,将从任务维护模块获取待发送的任务,然后交由303控制流处理中心进行处理,直到上一个任务被成功传输,或者传输失败后,会继续尝试从待处理任务模块内获取待发送任务,如此往复。
控制流处理中心303在接收到302发送的任务后,将通过305控制流(控制器Socket连接)向接收终端进行控制指令交互。
305控制流Socket为一个Socket套接字连接,这是一个总控指令交互通道,在接到303的发送文件请求后,305控制流Socket将向306接收终端发送‘请求发送文件’的指令。
306接收终端会依据接收设备的具体情况,从305控制流向303控制流处理中心回复‘准许发送文件’指令,并且附带准许连接的Socket端口、接收终端剩余空间、允许最高线程数等数据,用于准备接下来的数据传输。在303控制流处理中心获批发送文件后,直接唤醒数据发送中心304,启动数据传输。
304数据发送中心依据回复的端口、最大线程数等信息,通过智能动态的匹配计算,确定采用的线程数量、缓冲区大小等配置,然后向该目标端口进行Socket连接,形成数据流Socket,在成功创建数据流Socket后,文件传输正式开始。
发送终端401通过402控制流Socket向接收终端的控制流处理中心发送文件传输指令,在此时会附带文件的md5、大小、名称、相对路径等一系列数据。
402控制流处理中心在接收到发送文件请求时,会进行本地条件判断,是否有足够的存储空间,当前路径是否已经存在文件等,依据用户抉择作出处理响应,同时通过控制流Socket402反馈回执指令。
如果条件符合,则控制流处理中心会从404数据接收及处理中心获取接收中心的数据端口,在得到数据端口之后将“允许发送’指令通过402控制流Socket回执给发送终端。
当401发送终端接收到可发送文件的回执后,提取目标端口,之后向数据接收及处理中心404发起Socket连接。
此时成功建立405数据流Socket连接,发送终端401正式进行文件数据的传输,而404数据接收及处理中心将开始接收文件数据并写入到接收终端的本地磁盘上。
本发明与现有传输方法不同,主要体现在如下三方面:
1、在现有传输过程中若出现异常状况(例如发送方读取文件失败、接收方写入文件失败、数据传输偏移量出现误差等),接收方会不知道接下来的数据是信息还是文件数据,会造成发、收终端数据交互的错乱,无法继续正常进行数据交流,如果一次发送多个文件,则会造成后续文件都无法在此连接上继续正常传输。
本发明可在传输多个文件(文件夹)过程中单个文件出现传输错误时,跳过该文件(或者重试该文件)并且继续传输剩余内容。避免单个文件失败导致整个传输失败,提高传输效率以及网络资源的利用率。解决了上述方式‘一旦出现异常则本次连接无法继续正常进行’的问题。
2、在现有传输过程中,由于只有单个Socket连接,在传输文件时只能有单个任务引擎进行处理,无法达到对网络带宽、CPU性能最高效的利用。
本发明在基于局域网的多文件传输过程中,可启用多线程技术进行数据的传输,通过动态调配线程数量,达到对网络带宽、CPU性能的最高利用率。
3、在现有传输过程中,如果进行传输任务的是一个文件夹(内含多个文件或文件夹),在某个文件失败后,双方无法确认传输的文件进度,即重新启动传输后,无法基于上一次的进度继续传输。
本发明可在发生异常终端后,依据动态存储的进度数据,重新基于上一次的进度进行传输,避免性能资源、网络资源的浪费,提高传输成功率。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (3)
1.一种跨终端多文件传输方法,其特征在于,包括以下步骤:
步骤201,位于同一局域网内的发送终端和接收终端,进行基础数据交互,互相确认双方身份及支持对方版本;
步骤202,确认双方连接的有效性;
步骤203,发送终端通过控制器Socket向接收终端发送‘请求发送文件’,此时附带需要发送的文件信息;
步骤204,接收终端确认自身是否满足存储条件,通过控制器Socket给予回应‘准许发送文件’;
步骤205,进行文件的传输,直到文件全传输完成。
2.根据权利要求1所述的跨终端多文件传输方法,其特征在于,所示发送终端包括:
待处理任务维护模块,用于将新添加的任务放入等待队列和将即将启动传输的任务移出等待队列;
任务提取器,用于从任务维护模块获取待发送的任务,交由控制处理中心进行处理,直到上一个任务被成功传输,或者传输失败后,继续从待处理任务模块内获取待发送任务;
发送控制流处理中心,用于在接收到任务提取器发送的任务后,通过控制流Socket向接收终端进行控制指令交互;
数据发送中心,在控制流处理中心获批发送文件后被唤醒,启动数据传输。
3.根据权利要求1或2所述的跨终端多文件传输方法,其特征在于,所示接收终端包括:
接收控制流处理中心,用于在接收到发送文件请求时进行本地条件判断,并依据用户抉择作出处理响应,同时通过控制流Socket反馈回执指令;
数据接收及处理中心,用于向接收控制流处理中心提供接收中心的数据端口;
当发送终端接收到可发送文件的回执后,提取目标端口,然后向数据接收及处理中心发起Socket连接,成功建立数据流Socket连接,发送终端正式进行文件数据的传输,数据接收及处理中心将开始接收文件数据并写入到接收终端的本地磁盘上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011386098.0A CN112469030A (zh) | 2020-12-01 | 2020-12-01 | 一种跨终端多文件传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011386098.0A CN112469030A (zh) | 2020-12-01 | 2020-12-01 | 一种跨终端多文件传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112469030A true CN112469030A (zh) | 2021-03-09 |
Family
ID=74806359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011386098.0A Pending CN112469030A (zh) | 2020-12-01 | 2020-12-01 | 一种跨终端多文件传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112469030A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257678A (zh) * | 2022-03-02 | 2022-03-29 | 深圳中科智能技术有限公司 | 一种手机数据互通方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107105058A (zh) * | 2017-05-24 | 2017-08-29 | 努比亚技术有限公司 | 文件夹传输方法及移动终端 |
CN109286688A (zh) * | 2018-11-28 | 2019-01-29 | 深圳市元征科技股份有限公司 | 一种数据下载方法及装置 |
CN109309730A (zh) * | 2018-10-31 | 2019-02-05 | 北京国信宏数科技有限责任公司 | 一种可信的文件传输方法和系统 |
CN110611718A (zh) * | 2019-10-08 | 2019-12-24 | 深圳市九洲电器有限公司 | 文件传输方法、装置、服务器及存储介质 |
CN111180049A (zh) * | 2019-12-31 | 2020-05-19 | 广州市华奕电子科技有限公司 | 医学影像数据一对多快速传送方法 |
CN111245934A (zh) * | 2020-01-10 | 2020-06-05 | 深圳壹账通智能科技有限公司 | 文件传输的反馈方法、装置、设备和存储介质 |
-
2020
- 2020-12-01 CN CN202011386098.0A patent/CN112469030A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107105058A (zh) * | 2017-05-24 | 2017-08-29 | 努比亚技术有限公司 | 文件夹传输方法及移动终端 |
CN109309730A (zh) * | 2018-10-31 | 2019-02-05 | 北京国信宏数科技有限责任公司 | 一种可信的文件传输方法和系统 |
CN109286688A (zh) * | 2018-11-28 | 2019-01-29 | 深圳市元征科技股份有限公司 | 一种数据下载方法及装置 |
CN110611718A (zh) * | 2019-10-08 | 2019-12-24 | 深圳市九洲电器有限公司 | 文件传输方法、装置、服务器及存储介质 |
CN111180049A (zh) * | 2019-12-31 | 2020-05-19 | 广州市华奕电子科技有限公司 | 医学影像数据一对多快速传送方法 |
CN111245934A (zh) * | 2020-01-10 | 2020-06-05 | 深圳壹账通智能科技有限公司 | 文件传输的反馈方法、装置、设备和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257678A (zh) * | 2022-03-02 | 2022-03-29 | 深圳中科智能技术有限公司 | 一种手机数据互通方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8898311B2 (en) | Data communication method and information processing device | |
CN109597782B (zh) | 用于通过扩展介质来扩展usb 3.0兼容通信的方法和设备 | |
WO2022127118A1 (zh) | 文件传输方法、装置、电子设备及存储介质 | |
US20150127849A1 (en) | Tcp data transmission method, tcp offload engine, and system | |
CN108989432B (zh) | 用户态的文件发送方法、文件接收方法和文件收发装置 | |
CN101594242A (zh) | 一种传输视频数据的方法、系统和装置 | |
US20070006020A1 (en) | Inter-host data transfer method, program, and system | |
CN107645517B (zh) | 数据推送方法及装置 | |
CN110611718A (zh) | 文件传输方法、装置、服务器及存储介质 | |
CN103650401A (zh) | 一种移动终端内部通信方法 | |
CN103491162A (zh) | 基于移动互联网的信息分享方法及系统 | |
WO2000073902A1 (en) | Single logical clipboard for multiple computers | |
CN105141603A (zh) | 通信数据传输方法及系统 | |
JP3439320B2 (ja) | データ通信方法、データ通信装置、およびデータ通信プログラム記録媒体 | |
CN112469030A (zh) | 一种跨终端多文件传输方法 | |
CN112395242B (zh) | 多芯片控制方法、装置、电子设备和计算机可读存储介质 | |
CN109302456A (zh) | 一种基于空中下载ota技术的文件传输方法及装置 | |
CN111404842B (zh) | 数据传输方法、装置及计算机存储介质 | |
JPH0567009A (ja) | フアイル転送処理方式 | |
CN105471718A (zh) | 一种全双工消息队列的实现方法 | |
CN108289165B (zh) | 一种基于手机控制相机的实现方法、装置及终端设备 | |
US11809358B2 (en) | USB device removal and ping intervention in an extension environment | |
CN108021459B (zh) | 跨进程发送打点日志的方法及装置 | |
JP2001067299A (ja) | インタフェース制御装置及び計算機システム | |
CN114328317B (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 |