CN113905357A - 基于WiFi直连的数据迁移方法、装置、设备及存储介质 - Google Patents
基于WiFi直连的数据迁移方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113905357A CN113905357A CN202111494776.XA CN202111494776A CN113905357A CN 113905357 A CN113905357 A CN 113905357A CN 202111494776 A CN202111494776 A CN 202111494776A CN 113905357 A CN113905357 A CN 113905357A
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- file
- end equipment
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013508 migration Methods 0.000 title claims abstract description 45
- 230000005012 migration Effects 0.000 title claims abstract description 45
- 230000005540 biological transmission Effects 0.000 claims abstract description 95
- 238000004806 packaging method and process Methods 0.000 claims description 26
- 238000012790 confirmation Methods 0.000 claims description 13
- 230000003993 interaction Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 8
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000009517 secondary packaging Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于WiFi直连的数据迁移方法、装置、设备及存储介质,其中,方法包括:通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接;构建发送端设备和接收端设备之间的TCP传输通道;通过数据包的方式将待迁移文件从发送端设备传输至接收端设备;在接收端设备中对所述数据包进行解析,并将数据包解析后得到的文件数据保存在接收端设备的第一路径中,第一路径与待迁移文件在发送端设备中的原始存储路径相同。本发明的数据迁移方法无需电脑、数据线等工具的辅助,基于wifi直连建立的传输通道传输效率比传统的网盘备份效率更高,并且能够自动根据文件的原始路径把文件保存到新设备的相同路径下,实现数据的高度还原。
Description
技术领域
本发明涉及数据备份技术领域,尤其涉及一种基于WiFi直连的数据迁移方法、装置、设备及存储介质。
背景技术
随着移动设备的快速迭代,从旧设备转移数据到新设备的需求也越来越多,移动端传统的文件传输方式是通过PC端进行备份,再把备份文件传输到另一台移动设备,或通过网络把备份上传到云服务器,另一台设备再通过云服务器下载备份文件。通过PC端作为中转站进行文件传输的方式,需要PC设备与数据线等硬性条件,大大增加了传输的成本,而且文件从旧设备转移到PC端,再从PC端转移到新设备,总计进行了两次的数据拷贝,文件传输的效率也比较低。另外,一些聊天数据及附件进行转移的时候,需要手动转移到指定的目录下,才能被聊天应用所识别还原,这也增加了用户的操作成本。而通过上传云服务器的方法,需要网络并且耗费流量,而且上传和下载速度都会受到网络信号影响,往往传输速率都比较慢。
因此,现有技术还有待于改进和发展。
发明内容
本发明的主要目的在于解决现有技术用户换机之后数据迁移不便,迁移效率不高的技术问题。
本发明第一方面提供了一种基于WiFi直连的数据迁移方法,所述数据迁移方法包括:
通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接;
构建所述发送端设备和所述接收端设备之间的TCP传输通道;
通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备,所述数据包包括包头和包体,所述包头包括包长度、包类型和数据类型,所述数据类型用于标注所述待迁移文件的传输阶段,所述包体包括数据内容,所述数据内容中包含有所述待迁移文件的原始存储路径;
在所述接收端设备中对所述数据包进行解析,并将所述数据包解析后得到的文件数据保存在所述接收端设备的第一路径中,所述第一路径与所述原始存储路径相同。
在本发明第一方面一种可选的实施方式中,所述通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备包括:
文件传输开始,先构建只封装有所述待迁移文件的文件名和原始存储路径的起始数据包,并将所述起始数据包发送给所述接收端设备;
在所述接收端设备中解析所述起始数据包,在所述接收端设备中创建与所述原始存储路径相同且以所述文件名命名的文件夹;
文件传输过程中,构建封装有所述待迁移文件的文件内容的中间数据包,并将所述中间数据包发送给所述接收端设备;
在所述接收端设备中解析所述中间数据包,将解析得到的所述文件内容写入所述文件夹;
文件传输结束时,构建封装有文件传输结束标志位的结尾数据包,并将所述结尾数据包发送给所述接收端设备;
在所述接收端设备中解析所述结尾数据包,当所述接收端设备读取到所述文件传输结束标志位后停止向所述文件夹中写入所述文件传输结束标志位之后的所述文件内容。
在本发明第一方面一种可选的实施方式中,所述文件传输过程中,构建封装有所述待迁移文件的文件内容的中间数据包,并将所述中间数据包发送给所述接收端设备包括:
将所述待迁移文件进行拆分并封装打包成多个中间数据包;
按照打包的先后顺序将多个所述中间数据包移入所述发送端设备的发送缓存区,若多个所述中间数据包一次无法全部转入所述发送缓存区,则分批多次移入;
在所述发送缓存区中对所述中间数据包进行二次打包后发送至所述接收端设备的接收缓存区中。
在本发明第一方面一种可选的实施方式中,所述在所述接收端设备中对所述数据包进行解析包括:
解析所述数据包的包头部分,根据包长度判断所述数据包是否粘包或分包,若存在分包,则在接收到所述发送端设备发送的下一所述数据包后,对存在分包的所述数据包进行拼接,在存在分包的所述数据包完整之后再进行包体部分的解析;
若存在粘包,则对存在粘包的所述数据包进行切割,去除其他数据包的多余数据后,再进行包体部分的解析,而去除的其他数据包的多余数据则用于与所述发送端设备发送的下一所述数据包进行拼接。
在本发明第一方面一种可选的实施方式中,所述建立所述发送端设备和所述接收端设备之间的TCP传输通道之后,所述通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备之前包括:
对所述数据包进行分类,将所述数据包分为文件包,应答包,交互包、心跳包和确认包,其中,所述文件包用于存储所述待迁移文件的文件数据;所述应答包用于在所述接收端设备端接收到所述文件包后作出应答;所述交互包用于所述发送端设备和所述接收端设备进行设备信息交互;所述心跳包和所述确认包用于所述发送端设备和所述接收端设备之间不传输文件或不进行信息交互时,相互判断彼此的活跃状态。
在本发明第一方面一种可选的实施方式中,所述通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接包括:
在接收端设备启动WiFi直连服务,使所述接收端设备可被其他开启WiFi直连的设备发现,并注册广播监听所述接收端设备的连接状态;
在发送端设备启动扫描设备服务,并通过广播更新扫描到的设备列表,连接指定的所述接收端设备并等待所述接收端设备接受连接请求;
在所述接收端设备接受请求后,建立所述发送端设备和所述接收端设备WiFi直连,并通过广播监听所述发送端设备和所述接收端设备的连接状态。
在本发明第一方面一种可选的实施方式中,所述构建所述发送端设备和所述接收端设备之间的TCP传输通道包括:
在发送端设备中创建ServerSocket类并绑定发送端口号;
在接收端设备中根据局域网主机地址与接收端口号创建Socket类,与所述发送端设备建立TCP长连接。
本发明第二方面提供了一种数据迁移装置,所述数据迁移装置包括:
无线连接模块,用于通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接;
通道构建模块,用于构建所述发送端设备和所述接收端设备之间的TCP传输通道;
数据传输模块,用于通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备,所述数据包包括包头和包体,所述包头包括包长度、包类型和数据类型,所述数据类型用于标注所述待迁移文件的传输阶段,所述包体包括数据内容,所述数据内容中包含有所述待迁移文件的原始存储路径;
解析存储模块,用于在所述接收端设备中对所述数据包进行解析,并将所述数据包解析后得到的文件数据保存在所述接收端设备的第一路径中,所述第一路径与所述原始存储路径相同。
本发明第三方面提供了一种数据迁移设备,所述数据迁移设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据迁移设备执行如上述任一项所述的基于WiFi直连的数据迁移方法。
本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述任一项所述的基于WiFi直连的数据迁移方法。
有益效果:本发明提供了一种基于WiFi直连的数据迁移方法、装置、设备及存储介质,其中,方法包括:通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接;构建发送端设备和接收端设备之间的TCP传输通道;通过数据包的方式将待迁移文件从发送端设备传输至接收端设备;在接收端设备中对所述数据包进行解析,并将数据包解析后得到的文件数据保存在接收端设备的第一路径中,第一路径与待迁移文件在发送端设备中的原始存储路径相同。本发明的数据迁移方法无需电脑、数据线等工具的辅助,基于wifi直连建立的传输通道传输效率比传统的网盘备份效率更高,并且能够自动根据文件的原始路径把文件保存到新设备的相同路径下,实现数据的高度还原。
附图说明
图1为本发明一种基于WiFi直连的数据迁移方法的一个实施例示意图;
图2为本发明一种数据迁移装置的一个实施例示意图;
图3为本发明一种数据迁移设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于WiFi直连的数据迁移方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明第一方面提供了一种基于WiFi直连的数据迁移方法,所述数据迁移方法包括:
S100、通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接;WiFi直连是WiFi协议簇中的一个,能够使设备之间能够轻松连接彼此而不再需要一个中介性质的无线接入点,其使用范围从网页浏览到文件传输,以及同时与多个设备进行通信,能够充分发挥WiFi的速度优势,符合此标准的设备即使来自不同的生产厂商,亦可实现轻松互联;WiFi直连是通过WiFi网络传输、共享文件的一种技术,具有传输速度快、效率高;
在步骤S100中,所述通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接包括:
在接收端设备启动WiFi直连服务(调用discoverPeers接口),使所述接收端设备可被其他开启WiFi直连的设备发现,并注册广播监听所述接收端设备的连接状态;
在发送端设备启动扫描设备服务,并通过广播更新扫描到的设备列表,连接指定的所述接收端设备(通过调用connectDevice接口)并等待所述接收端设备接受连接请求;
在所述接收端设备接受请求后,建立所述发送端设备和所述接收端设备WiFi直连,并通过广播监听所述发送端设备和所述接收端设备的连接状态。
S200、构建所述发送端设备和所述接收端设备之间的TCP传输通道;传输控制协议(TCP)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。本发明技术方案采用TCP协议的传输通道可以在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销。
在步骤S200中,所述构建所述发送端设备和所述接收端设备之间的TCP传输通道包括:在发送端设备中创建ServerSocket类并绑定发送端口号;在接收端设备中根据局域网主机地址与接收端口号创建Socket类,与所述发送端设备建立TCP长连接。传输通道建立成功后,需要制定数据传输协议,用于数据的打包发送与接收校验,对数据传输中出现的粘包和分包问题进行有效处理,保证数据传输的完整性与稳定性,并开启心跳服务,通过每隔5秒发送心跳包的方式,来检测接收端设备是否处于活跃状态,若接收端设备处于非活跃状态时,发送端设备可发起重连请求。
在本发明的TCP数据传输协议中,对数据包进行了分类,将数据包分为文件包,应答包,交互包、心跳包和确认包,其中,所述文件包用于存储所述待迁移文件的文件数据;所述应答包用于在所述接收端设备端接收到所述文件包后作出应答;所述交互包用于所述发送端设备和所述接收端设备进行设备信息交互;所述心跳包和所述确认包用于所述发送端设备和所述接收端设备之间不传输文件或不进行信息交互时,相互判断彼此的活跃状态(判断过程为任一端设备发送心跳包,另一端设备收到心跳包后发送确认包,以此判断彼此的活跃状态,一分钟内没检测到另一端设备的确认包时,则发起重连请求)。
S300、通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备,所述数据包包括包头和包体,所述包头包括包长度、包类型和数据类型,所述数据类型用于标注所述待迁移文件的传输阶段,包括“文件传输开始”,“文件传输中”,“文件传输结束”三种状态,“文件传输开始”则根据文件名和保存路径创建文件,“文件传输中”则把文件数据追加写入本地并计算传输进度,“文件传输结束”则关闭该文件流,停止写入,并判断文件数据接收是否完整;所述包体包括数据内容,只有文件包和交互包有包体,文件包的所述数据内容中包含有所述待迁移文件的文件数据和原始存储路径;交互包的包体为交互信息(比如设备的电量,内存空间等信息)。本发明技术方案的包头中还包括数据类型,可以更直观的获取的整个数据传输的过程状态。
在步骤S300中,所述通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备包括:
文件传输开始,先构建只封装有所述待迁移文件的文件名和原始存储路径的起始数据包,并将所述起始数据包发送给所述接收端设备;在所述接收端设备中解析所述起始数据包,在所述接收端设备中创建与所述原始存储路径相同且以所述文件名命名的文件夹;本步骤S300中均使用protobuf进行封装,protobuf是一种结构数据序列化方法,用于数据高效传输,相比传统的json数据结构扩展性和兼容性更好;文件传输开始,封装文件大小,文件路径等信息,接收端设备解析后根据路径在本地创建文件,准备保存文件内容;
文件传输过程中,构建封装有所述待迁移文件的文件内容的中间数据包,并将所述中间数据包发送给所述接收端设备;在所述接收端设备中解析所述中间数据包,将解析得到的所述文件内容写入所述文件夹;在本发明文件传输过程中,主要封装的是待传输文件的文件内容,接收端设备解析后追加写入到之前创建的文件夹中;
文件传输结束时,构建封装有文件传输结束标志位的结尾数据包,并将所述结尾数据包发送给所述接收端设备;在所述接收端设备中解析所述结尾数据包,当所述接收端设备读取到所述文件传输结束标志位后停止向所述文件夹中写入所述文件传输结束标志位之后的所述文件内容。本发明技术方案在文件传输结束,封装文件传输结束标志位,接收端设备解析后停止写入,完成单个文件的传输操作。
本发明技术方案最重要的是文件传输过程,在所述文件传输过程中,构建封装有所述待迁移文件的文件内容的中间数据包,并将所述中间数据包发送给所述接收端设备包括:
将所述待迁移文件进行拆分并封装打包成多个中间数据包;之后按照打包的先后顺序将多个所述中间数据包移入所述发送端设备的发送缓存区,若多个所述中间数据包一次无法全部转入所述发送缓存区,则分批多次移入;再之后在所述发送缓存区中对所述中间数据包进行二次打包后发送至所述接收端设备的接收缓存区中。
具体来说,在所述发送缓存区中,中间数据包形成有界的缓冲队列,该缓冲队列初始化时需要指定队列的大小,以该大小作为存储边界,本发明在传输文件时,由于读取文件数据的速率远大于TCP的传输速率,直接传输会造成传输通道堵塞,因此把读取的数据通过队列保存起来,队列满则停止读取,传输时循环从队列取数据发送,可以控制发送的间隔,防止发送过快造成通道堵塞。
S400、在所述接收端设备中对所述数据包进行解析,并将所述数据包解析后得到的文件数据保存在所述接收端设备的第一路径中,所述第一路径与所述原始存储路径相同。
接收端设备解析接收缓冲区中的数据时,循环从接收缓冲区读取数据到一个指定长度的另一缓冲区(该缓冲区用于临时保存从接收缓冲区读取的数据包,创建该缓冲区时同样需指定长度,该长度表示每次读取数据的最大长度,每次读取的数据将覆盖上一次的数据)中,开始对另一缓冲区中的数据进行解析。首先,根据包头的固定长度截取包头信息,从而获取到包体的长度,根据包体长度读完完整的一包数据,从而对包体数据进行解析,可以从包体中获得文件路径,文件大小等信息,根据文件路径在指定位置创建文件,保存文件数据,并可以根据文件大小计算传输进度,判断文件数据是否完整接收。
另外,由于数据包传输会出现分包以及粘包的情况,在步骤S400中,所述在所述接收端设备中对所述数据包进行解析中还包括:
解析所述数据包的包头部分,根据包长度判断所述数据包是否粘包或分包,若存在分包,则在接收到所述发送端设备发送的下一所述数据包后,对存在分包的所述数据包进行拼接,在存在分包的所述数据包完整之后再进行包体部分的解析;
若存在粘包,则对存在粘包的所述数据包进行切割,去除其他数据包的多余数据后,再进行包体部分的解析,而去除的其他数据包的多余数据则用于与所述发送端设备发送的下一所述数据包进行拼接。
简单来讲,就是分包和粘包每次读取数据时,首先根据TCP数据传输协议截取数据包的包头,获取本包数据的包长度,若读取长度大于包长度,则为粘包,若读取长度小于包长度,则为分包。出现粘包时,根据包长度截取本包数据进行解析,剩下的数据保存起来,与下一次读取的数据进行拼接,作为下一次解析的数据。出现分包时,本次读取的数据不作解析,用于拼接下次读取的数据,若拼接后的长度依然小于包长度,则继续读取新的数据拼接,否则根据包长度截取一包数据进行解析。
综上所述,本发明的数据迁移方法可以实现两台移动设备之间的数据直接进行无线传输,无需电脑、数据线等工具的辅助,并且基于WiFi直连建立的传输通道传输效率比传统的网盘备份效率更高,另外本发明可以自动根据文件的原始路径把文件保存到新设备的相同路径下,实现数据的高度还原。
参见图2,本发明第二方面提供了一种数据迁移装置,所述数据迁移装置包括:
无线连接模块10,用于通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接;
通道构建模块20,用于构建所述发送端设备和所述接收端设备之间的TCP传输通道;
数据传输模块30,用于通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备,所述数据包包括包头和包体,所述包头包括包长度、包类型和数据类型,所述数据类型用于标注所述待迁移文件的传输阶段,所述包体包括数据内容,所述数据内容中包含有所述待迁移文件的原始存储路径;
解析存储模块40,用于在所述接收端设备中对所述数据包进行解析,并将所述数据包解析后得到的文件数据保存在所述接收端设备的第一路径中,所述第一路径与所述原始存储路径相同。
在本发明第二方面一种可选的实施方式中,所述数据传输模块30包括:
初始传输单元,用于文件传输开始,先构建只封装有所述待迁移文件的文件名和原始存储路径的起始数据包,并将所述起始数据包发送给所述接收端设备;以及在所述接收端设备中解析所述起始数据包,在所述接收端设备中创建与所述原始存储路径相同且以所述文件名命名的文件夹;
中间传输单元,用于文件传输过程中,构建封装有所述待迁移文件的文件内容的中间数据包,并将所述中间数据包发送给所述接收端设备;以及在所述接收端设备中解析所述中间数据包,将解析得到的所述文件内容写入所述文件夹;
结尾传输单元,用于文件传输结束时,构建封装有文件传输结束标志位的结尾数据包,并将所述结尾数据包发送给所述接收端设备;以及在所述接收端设备中解析所述结尾数据包,当所述接收端设备读取到所述文件传输结束标志位后停止向所述文件夹中写入所述文件传输结束标志位之后的所述文件内容。
在本发明第二方面一种可选的实施方式中,所述中间传输单元包括:
封装子单元,用于将所述待迁移文件进行拆分并封装打包成多个中间数据包;
转移子单元,用于按照打包的先后顺序将多个所述中间数据包移入所述发送端设备的发送缓存区,若多个所述中间数据包一次无法全部转入所述发送缓存区,则分批多次移入;
发送子单元,用于在所述发送缓存区中对所述中间数据包进行二次打包后发送至所述接收端设备的接收缓存区中。
在本发明第二方面一种可选的实施方式中,所述解析存储模块40包括:
解析单元,用于解析所述数据包的包头部分;
判断单元,用于根据包长度判断所述数据包是否粘包或分包,若存在分包,则在接收到所述发送端设备发送的下一所述数据包后,对存在分包的所述数据包进行拼接,在存在分包的所述数据包完整之后再进行包体部分的解析;
若存在粘包,则对存在粘包的所述数据包进行切割,去除其他数据包的多余数据后,再进行包体部分的解析,而去除的其他数据包的多余数据则用于与所述发送端设备发送的下一所述数据包进行拼接。
在本发明第二方面一种可选的实施方式中,所述建立所述发送端设备和所述接收端设备之间的TCP传输通道之后,所述通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备之前包括:
对所述数据包进行分类,将所述数据包分为文件包,应答包,交互包、心跳包和确认包,其中,所述文件包用于存储所述待迁移文件的文件数据;所述应答包用于在所述接收端设备端接收到所述文件包后作出应答;所述交互包用于所述发送端设备和所述接收端设备进行设备信息交互;所述心跳包和所述确认包用于所述发送端设备和所述接收端设备之间不传输文件或不进行信息交互时,相互判断彼此的活跃状态。
在本发明第一方面一种可选的实施方式中,所述无线连接模块10包括:
服务发布单元,用于在接收端设备启动WiFi直连服务,使所述接收端设备可被其他开启WiFi直连的设备发现,并注册广播监听所述接收端设备的连接状态;
扫描单元,用于在发送端设备启动扫描设备服务,并通过广播更新扫描到的设备列表,指定需要连接的所述接收端设备,等待所述接收端设备接受连接请求;
连接单元,用于在所述接收端设备接受请求后,建立所述发送端设备和所述接收端设备WiFi直连,并通过广播监听所述发送端设备和所述接收端设备的连接状态。
在本发明第二方面一种可选的实施方式中,所述通道构建模块20包括:
第一创建单元,用于在发送端设备中创建ServerSocket类并绑定发送端口号;
第二创建单元,用于在接收端设备中根据局域网主机地址与接收端口号创建Socket类,与所述发送端设备建立TCP长连接。
图3是本发明实施例提供的一种数据迁移设备的结构示意图,该数据迁移设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器50(centralprocessing units,CPU)(例如,一个或一个以上处理器)和存储器60,一个或一个以上存储应用程序或数据的存储介质70(例如一个或一个以上海量存储设备)。其中,存储器和存储介质可以是短暂存储或持久存储。存储在存储介质的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据迁移设备中的一系列指令操作。更进一步地,处理器可以设置为与存储介质通信,在数据迁移设备上执行存储介质中的一系列指令操作。
本发明的数据迁移设备还可以包括一个或一个以上电源80,一个或一个以上有线或无线网络接口90,一个或一个以上输入输出接口100,和/或,一个或一个以上操作系统,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图3示出的数据迁移设备结构并不构成对数据迁移设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述的基于WiFi直连的数据迁移方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种基于WiFi直连的数据迁移方法,其特征在于,所述数据迁移方法包括:
通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接;
构建所述发送端设备和所述接收端设备之间的TCP传输通道;
通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备,所述数据包包括包头和包体,所述包头包括包长度、包类型和数据类型,所述数据类型用于标注所述待迁移文件的传输阶段,所述包体包括数据内容,所述数据内容中包含有所述待迁移文件的原始存储路径;
在所述接收端设备中对所述数据包进行解析,并将所述数据包解析后得到的文件数据保存在所述接收端设备的第一路径中,所述第一路径与所述原始存储路径相同;
所述通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备包括:
文件传输开始,先构建只封装有所述待迁移文件的文件名和原始存储路径的起始数据包,并将所述起始数据包发送给所述接收端设备;
在所述接收端设备中解析所述起始数据包,在所述接收端设备中创建与所述原始存储路径相同且以所述文件名命名的文件夹;
文件传输过程中,构建封装有所述待迁移文件的文件内容的中间数据包,并将所述中间数据包发送给所述接收端设备;
在所述接收端设备中解析所述中间数据包,将解析得到的所述文件内容写入所述文件夹;
文件传输结束时,构建封装有文件传输结束标志位的结尾数据包,并将所述结尾数据包发送给所述接收端设备;
在所述接收端设备中解析所述结尾数据包,当所述接收端设备读取到所述文件传输结束标志位后停止向所述文件夹中写入所述文件传输结束标志位之后的所述文件内容。
2.根据权利要求1所述的基于WiFi直连的数据迁移方法,其特征在于,所述文件传输过程中,构建封装有所述待迁移文件的文件内容的中间数据包,并将所述中间数据包发送给所述接收端设备包括:
将所述待迁移文件进行拆分并封装打包成多个中间数据包;
按照打包的先后顺序将多个所述中间数据包移入所述发送端设备的发送缓存区,若多个所述中间数据包一次无法全部转入所述发送缓存区,则分批多次移入;
在所述发送缓存区中对所述中间数据包进行二次打包后发送至所述接收端设备的接收缓存区中。
3.根据权利要求1所述的基于WiFi直连的数据迁移方法,其特征在于,所述在所述接收端设备中对所述数据包进行解析包括:
解析所述数据包的包头部分,根据包长度判断所述数据包是否粘包或分包,若存在分包,则在接收到所述发送端设备发送的下一所述数据包后,对存在分包的所述数据包进行拼接,在存在分包的所述数据包完整之后再进行包体部分的解析;
若存在粘包,则对存在粘包的所述数据包进行切割,去除其他数据包的多余数据后,再进行包体部分的解析,而去除的其他数据包的多余数据则用于与所述发送端设备发送的下一所述数据包进行拼接。
4.根据权利要求1所述的基于WiFi直连的数据迁移方法,其特征在于,所述建立所述发送端设备和所述接收端设备之间的TCP传输通道之后,所述通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备之前包括:
对所述数据包进行分类,将所述数据包分为文件包,应答包,交互包、心跳包和确认包,其中,所述文件包用于存储所述待迁移文件的文件数据;所述应答包用于在所述接收端设备端接收到所述文件包后作出应答;所述交互包用于所述发送端设备和所述接收端设备进行设备信息交互;所述心跳包和所述确认包用于所述发送端设备和所述接收端设备之间不传输文件或不进行信息交互时,相互判断彼此的活跃状态。
5.根据权利要求1所述的基于WiFi直连的数据迁移方法,其特征在于,所述通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接包括:
在接收端设备启动WiFi直连服务,使所述接收端设备可被其他开启WiFi直连的设备发现,并注册广播监听所述接收端设备的连接状态;
在发送端设备启动扫描设备服务,并通过广播更新扫描到的设备列表,连接指定的所述接收端设备并等待所述接收端设备接受连接请求;
在所述接收端设备接受请求后,建立所述发送端设备和所述接收端设备WiFi直连,并通过广播监听所述发送端设备和所述接收端设备的连接状态。
6.根据权利要求1所述的基于WiFi直连的数据迁移方法,其特征在于,所述构建所述发送端设备和所述接收端设备之间的TCP传输通道包括:
在发送端设备中创建ServerSocket类并绑定发送端口号;
在接收端设备中根据局域网主机地址与接收端口号创建Socket类,与所述发送端设备建立TCP长连接。
7.一种数据迁移装置,其特征在于,所述数据迁移装置包括:
无线连接模块,用于通过WiFi直连的方式建立发送端设备和接收端设备之间的无线连接;
通道构建模块,用于构建所述发送端设备和所述接收端设备之间的TCP传输通道;
数据传输模块,用于通过数据包的方式将待迁移文件从所述发送端设备传输至所述接收端设备,所述数据包包括包头和包体,所述包头包括包长度、包类型和数据类型,所述数据类型用于标注所述待迁移文件的传输阶段,所述包体包括数据内容,所述数据内容中包含有所述待迁移文件的原始存储路径;
解析存储模块,用于在所述接收端设备中对所述数据包进行解析,并将所述数据包解析后得到的文件数据保存在所述接收端设备的第一路径中,所述第一路径与所述原始存储路径相同。
8.一种数据迁移设备,其特征在于,所述数据迁移设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据迁移设备执行如权利要求1-6中任一项所述的基于WiFi直连的数据迁移方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的基于WiFi直连的数据迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111494776.XA CN113905357B (zh) | 2021-12-09 | 2021-12-09 | 基于WiFi直连的数据迁移方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111494776.XA CN113905357B (zh) | 2021-12-09 | 2021-12-09 | 基于WiFi直连的数据迁移方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113905357A true CN113905357A (zh) | 2022-01-07 |
CN113905357B CN113905357B (zh) | 2022-03-25 |
Family
ID=79025775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111494776.XA Active CN113905357B (zh) | 2021-12-09 | 2021-12-09 | 基于WiFi直连的数据迁移方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113905357B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115982074A (zh) * | 2023-03-20 | 2023-04-18 | 深圳市欣博跃电子有限公司 | 扩展坞数据处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309269A (zh) * | 2008-06-17 | 2008-11-19 | 北京锐安科技有限公司 | 一种静默隐蔽网络传输的方法及系统 |
CN105491113A (zh) * | 2015-11-25 | 2016-04-13 | 小米科技有限责任公司 | 迁移方法、装置及终端 |
CN106547486A (zh) * | 2016-10-20 | 2017-03-29 | 广东欧珀移动通信有限公司 | 一种数据迁移方法及装置 |
CN108733729A (zh) * | 2017-04-25 | 2018-11-02 | 天津三星通信技术研究有限公司 | 一种在电子终端分享文件的方法和设备 |
US20190268749A1 (en) * | 2016-09-09 | 2019-08-29 | Huawei Technologies Co., Ltd. | File Sending Method and Terminal, and File Receiving Method and Terminal |
WO2021169369A1 (zh) * | 2020-02-24 | 2021-09-02 | 荣耀终端有限公司 | 一种数据传输方法、装置及系统 |
-
2021
- 2021-12-09 CN CN202111494776.XA patent/CN113905357B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309269A (zh) * | 2008-06-17 | 2008-11-19 | 北京锐安科技有限公司 | 一种静默隐蔽网络传输的方法及系统 |
CN105491113A (zh) * | 2015-11-25 | 2016-04-13 | 小米科技有限责任公司 | 迁移方法、装置及终端 |
US20190268749A1 (en) * | 2016-09-09 | 2019-08-29 | Huawei Technologies Co., Ltd. | File Sending Method and Terminal, and File Receiving Method and Terminal |
CN106547486A (zh) * | 2016-10-20 | 2017-03-29 | 广东欧珀移动通信有限公司 | 一种数据迁移方法及装置 |
CN108733729A (zh) * | 2017-04-25 | 2018-11-02 | 天津三星通信技术研究有限公司 | 一种在电子终端分享文件的方法和设备 |
WO2021169369A1 (zh) * | 2020-02-24 | 2021-09-02 | 荣耀终端有限公司 | 一种数据传输方法、装置及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115982074A (zh) * | 2023-03-20 | 2023-04-18 | 深圳市欣博跃电子有限公司 | 扩展坞数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113905357B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7710968B2 (en) | Techniques to generate network protocol units | |
US10735373B2 (en) | Communications over multiple protocol interfaces in a computing environment | |
US20070006020A1 (en) | Inter-host data transfer method, program, and system | |
JP5696724B2 (ja) | 中継装置,中継システム,中継方法,プログラム,及びプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
WO2014008793A1 (zh) | 一种tcp数据传输方法、tcp卸载引擎及系统 | |
WO2022032984A1 (zh) | 一种mqtt协议仿真方法及仿真设备 | |
CN110868278B (zh) | 一种轨道交通综合监控系统通信前置机双机冗余的方法 | |
CN113905357B (zh) | 基于WiFi直连的数据迁移方法、装置、设备及存储介质 | |
KR102383782B1 (ko) | 데이터 통신에서의 터널 데이터 업데이트 처리방법 | |
CN102821082A (zh) | 一种数据传输方法、装置和系统 | |
TWI290799B (en) | Extensible protocol processing system | |
WO2022017454A1 (zh) | 一种报文处理方法、网络设备以及相关设备 | |
EP1562115A2 (en) | Socket connections over a serial link | |
US20190306055A1 (en) | Efficient and reliable message channel between a host system and an integrated circuit acceleration system | |
CN110602143B (zh) | Pc端与远程设备实现通讯的方法、系统及可读存储介质 | |
CN112399446A (zh) | 边缘网关通信方法、装置、计算机设备和存储介质 | |
JP2009182458A (ja) | 通信装置、通信システム、通信方法及びプログラム | |
US20120136969A1 (en) | Multi-cast download method for image file | |
JP4415391B2 (ja) | データをネットワークに送信する方法及び装置並びにデータをネットワークから受信する方法及び装置 | |
CN113810370B (zh) | 一种基于Socket对接TOE驱动的TCP加速方法 | |
CN114338477A (zh) | 一种通信链路监控方法、装置、设备及存储介质 | |
EP2226728A1 (en) | Communication device, communication system, communication method, and program | |
KR100900963B1 (ko) | 네트워크 프로토콜 패킷 전송을 위한 하드웨어 장치 및 그방법 | |
US7844753B2 (en) | Techniques to process integrity validation values of received network protocol units | |
CN111107663B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000 Patentee after: Shenzhen Ruan Niu Technology Group Co.,Ltd. Address before: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000 Patentee before: AFIRSTSOFT CO.,LTD. |
|
CP01 | Change in the name or title of a patent holder |