电子设备间的数据传输方法、电子设备及数据传输系统与流程

文档序号:11628718阅读:343来源:国知局
电子设备间的数据传输方法、电子设备及数据传输系统与流程

本发明涉及通信技术领域,尤其涉及一种电子设备间的数据传输方法、电子设备及数据传输系统。



背景技术:

各种电子设备,比如单片机烧录器、mp3播放器、手机等等,经常需要与电子计算机(电脑)或其他电子设备传输和交换数据。传输数据可以有usb、网络、无线wifi等连接,或者通过u盘、sd卡等存储媒介。

数据传输的另外一方面,是文件系统。数据在附加文件名、存储寻址等信息后,作为文件系统中的一个文件。文件系统规定了数据在磁盘上存储、存取的组织结构(磁盘分配表、文件分配表),和目录、文件名等文件结构。

文件系统种类繁多,比如windows中的fat16、fat32、ntfs;linux的ext2、ext3等。而且随着计算机技术的发展,文件系统复杂度越来越高。导致电子设备支持文件系统的软件、硬件开销越来越大。

对于电子设备,如果需要同各种操作系统的电子计算机系统,以文件系统的形式传输数据文件,就需要支持各种文件系统。从而大大增加电子设备的复杂性。比方说,单片机烧录器同windows系统传输文件,需要支持fat16、fat32、ntfs系统,同安卓手机传输文件,又需要支持ext2的文件系统。会导致单片机烧录器需要很多软件代码来支持文件系统,通常会需要用到操作系统,占用大量的内部资源,显著提高了软件、硬件成本。

当然,也可以不用文件系统的形式,而是制定专用的简单通讯协议,在电子计算机中安装专用软件后,再和电子设备通过专用的简单通讯协议传输数据。但需要为各种操作系统,都开发专用软件。电子设备的用户操作起来,也需要专门学习。不如使用文件系统的方式传输数据文件,来的简便。

因此,需要找到一种简单的方法,使电子设备能容易的同其他电子设备,通过文件系统的方式,传输、交换数据文件,而且最终进行传输的电子计算机上,无需安装专用的数据传输软件。



技术实现要素:

本发明的目的在于提供一种电子设备间的数据传输方法、电子设备及数据传输系统,不管最终数据接收方的文件系统种类、操作系统种类,均可以简单的以文件系统的形式,在电子设备间传输、交换数据。

为达此目的,本发明采用以下技术方案:

一种电子设备间的数据传输方法,包括步骤:

在发送方,将原始数据切分为若干个片段,形成若干个原始切片;

在发送方,为每个原始切片分别添加附加信息,成为重组切片;再将所有重组切片组合形成切片式重组文件;所述附加信息包括切片标志sysuniqueid、切片位置序号sectionindex、原始数据长度filelen;

发送方经过文件系统途径,直接向接收方传输所述切片式重组文件,或者经过至少一个中间设备向接收方传输所述切片式重组文件;

在接收方,从其以扇区为单位接收到的数据切片中检测出每个重组切片;

在接收方,从每个重组切片解析出附加信息和原始切片;

在接收方,将各个原始切片重组为原始数据,并将原始数据存储或输出。

可选的,在所述为每个原始切片分别添加附加信息的步骤中,所述附加信息还包括数据指纹filemd。

可选的,所述数据指纹filemd分开存储于多个重组切片中,或者存储于新增的一个或多个附加的重组切片内。

可选的,在所述接收方从以扇区为单位接收到的数据切片中检测出每个重组切片解析出附加信息和原始切片的步骤具体包括:

接收方对每一个接收的数据切片,首先判断其切片标志sysuniqueid是否相符,若相符则视为重组切片,按切片位置序号sectionindex把段内的原始切片数据放到接收存储区的对应位置;

根据原始数据长度filelen计算出切片的数量n,判断接收完所有的重组切片后,完成本次数据文件传输;

在判断接收完所有的重组切片后,计算所有接收数据的数据指纹filemd,与附加的数据指纹filemd比对,相符则判定本次数据传输具有正确性和完整性。

可选的,所述检测出每个重组切片的方法为:

通过扫描物理磁盘或虚拟磁盘的所有扇区的方式来检测出所有重组切片;或者,虚拟一个磁盘,在该虚拟磁盘的写扇区子程序处,实时检测每次写扇区的数据是否具有切片标志sysuniqueid,从而检测出所有重组切片。

可选的,所述重组切片的长度为512字节、256字节、128字节、64字节、32字节或16字节。

一种电子设备,包括:

原始数据切分单元,用于将原始数据切分为若干个片段,形成若干个原始切片;

附加信息添加单元,用于为每个原始切片分别添加附加信息以使其成为重组切片,所述附加信息包括切片标志sysuniqueid、切片位置序号sectionindex、原始数据长度filelen;

切片组合单元,用于将所有重组切片组合形成切片式重组文件;

数据传输单元,用于通过文件系统途径,直接向接收方传输所述切片式重组文件,或者经过至少一个中间设备向接收方传输所述切片式重组文件。

一种电子设备,包括:

重组文件检测单元,用于从其以扇区为单位接收到的数据切片中检测出每个重组切片;

解析单元,用于从每个重组切片解析出附加信息和原始切片;

切片重组单元,用于将各个原始切片重组为原始数据;

数据处理单元,用于将原始数据存储或输出。

一种数据传输系统,包括发送方和接收方,所述发送方和接收方分别为如上所述的电子设备。

可选的,所述发送方具体为电子计算机;所述接收方为单片机烧录器、mp3播放器或者手机;所述中间设备具体为电子计算机或者手机。

本发明的有益效果:

本发明实施例中,电子设备以切片式重组文件的方式,与其他电子设备之间通过文件系统传输数据文件,无需理会各种文件系统的复杂数据结构,且实现简单,可靠性强,特别适合应用于软件、硬件资源较为有限的电子设备。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例一提供的电子设备间的数据传输方法示意图;

图2为本发明实施例二提供的电子设备间的数据传输方法示意图;

图3为本发明实施例二提供的单片机烧录器与电子计算机之间的数据传输方法示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明的核心思想为:电子设备以切片式重组文件的方式,与其他电子设备之间通过文件系统传输数据文件,在重组切片的附加信息中包含重组出原始数据文件的信息,这样无需理会各种文件系统的复杂数据结构,特别适合应用于软件、硬件资源较为有限的电子设备。

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

实施例一

如图1所示,本实施例提供了一种电子设备间的数据传输方法流程图,包括以下步骤:

步骤101、在发送方,将原始数据切分为n个片段。

本实施例中,发送方的原始数据为orgdata,长度为filelen,按小于512字节的一个长度sectionlen,切分为n个片段orgsec0~orgsecn-1,每个片段可称为原始切片。

步骤102、在发送方,为原始数据切分形成的每个原始切片分别添加附加信息,成为重组切片;再将所有重组切片组成切片式重组文件。

本步骤中,每个原始切片orgsec附加上sysuniqueid(切片式重组文件的切片标志)、sectionindex(该切片的位置序号)、filelen(原始数据的长度,可以换算出切片的数量n),达到512字节的长度,变成n个长度为512字节的片段newsec0~newsecn-1,可称为重组切片。

本实施例中重组切片的长度,选取了512字节的扇区长度,目前来说,这是最优的选择。选取256字节、128字节、64字节、32字节甚至16字节等,也是可以的。如果确认所要兼容的文件系统,扇区都大于512,比如有的文件系统扇区为4096字节,则也可以选择4096作为切片的长度。

sysuniqueid的值,sysuniqueid、sectionindex、filelen在重组切片中的位置、长度、数据类型,都是发送方和接收方事先约定好的。sysuniqueid(切片式重组文件的切片标志),用于判断扇区的512字节是否是重组式切片,一般16字节长(128bit)已足够有效;电子设备可以识别一个或多个sysuniqueid,以接收多个种类、多个电子设备发送的切片式重组文件。

所有重组切片newsec0~newsecn-1组成新的数据文件newdata,称为切片式重组文件,重组切片的组合次序可以随机打乱。

步骤103、发送方向接收方传输切片式重组文件。

本步骤中,数据文件newdata可以经过任何文件系统、任何传输途径,经过任意多的中间电子计算机、电子设备,到达接收方。

步骤104、在接收方,从其以扇区为单位接收到的数据切片中检测出重组切片。

步骤105、在接收方,从每个重组切片解析出附加信息和原始切片。

接收方对每一个重组切片newsec0~newsecn-1,首先判断sysuniqueid,如果相符则视为重组切片,按sectionindex把段内的orgsec原始切片数据放到接收存储区的对应位置。

根据filelen计算出切片的数量n,判断接收完所有的重组切片newsec0~newsecn-1后,成功完成本次数据文件传输。

本步骤中,接收方可以采取扫描磁盘(物理磁盘或虚拟磁盘)所有扇区的方式来检测出所有重组切片newsec0~newsecn-1,这种情况下,物理磁盘或虚拟磁盘不宜过大,否则扫描耗时会很长。接收方也可以虚拟一个磁盘,然后在虚拟磁盘的写扇区子程序(类似于writesector的子程序)处检测每次写扇区的数据,是否具有sysuniqueid(切片式重组文件的切片标志),从而检测出所有重组切片newsec0~newsecn-1,这种情况下,检测是实时的,虚拟磁盘容量可以很大,也不会影响处理耗时。

原始数据少到一个重组切片就能容纳的时候,检测出一个重组切片,即完成整个切片式重组文件的接收和正确性、完整性验证,并存储或执行预定的功能。

步骤106、在接收方,将各个原始切片重组为原始数据,可以将原始数据存储,也可将原始数据输出,根据原始数据执行预定的功能。

实现上述数据传输方法的基本原理,在于一个几乎所有文件系统的共性,数据是基于512字节为基本存储长度(扇区sector),即使文件系统的最小存储单元长度不是512字节,也是512字节的整数倍。这是由于以前的磁盘扇区的大小都是512字节,现在随着磁盘容量的增大,扇区也增大了,但也都是512的整数倍。不管newdata如何传输、存储,到达接收方后,newsec0~newsecn-1(对应到磁盘扇区)内部的数据仍然会保持完整不变,而只是newsec0~newsecn-1彼此的次序被打乱。利用附加的sysuniqueid,可以判断是否是本发明的重组切片;利用sectionindex,可以获得该重组切片的数据在原始数据中的位置;利用filelen获取重组切片的数量,从而判断文件接收完毕与否。从而无需理会各种文件系统的复杂数据结构,也达到获得原始数据文件的目的。

在实际应用中,多个切片重组文件可以混合起来一次性传输,接收方利用附加信息可以区分开各个切片重组文件的重组切片。

切片式重组可以与加解密结合使用。原始数据可以先进行加密运算再进行切片,恢复重组后再进行解密运算。也可以切片后再加密,解密后再恢复重组。增加了附加信息的重组切片也可以进行加密后再传输,接收方先解密后再检测重组切片。

应用上述方法,电子设备虚拟一个磁盘,然后在虚拟磁盘的预定位置,存储切片式重组文件的切片,供电子计算机系统读取,可以实现电子设备向电子计算机发送数据和命令、状态等。

由于各种电子计算机的操作系统(windowslinuxiosandroid等等),对磁盘的文件系统写入文件时,通常不用安装驱动程序,也自带了文件管理器,写文件一般也不用管理员权限。用本发明的切片式重组文件,结合虚拟磁盘(比如虚拟的usbmassstorage),可作为电子设备的通讯接口,向电子设备发送命令、数据,接收数据、结果、状态。连接电子设备的电子计算机上,无需安装专用软件,只需用系统自带的文件管理器,进行文件拷贝操作即可实现对电子设备的控制、配置、数据传输。

实施例二

如图2所示,本实施例提供了另一种电子设备间的数据传输方法流程图,包括以下步骤:

步骤201、在发送方,将原始数据切分为n个片段。

本实施例中,发送方的原始数据为orgdata,长度为filelen,按小于512字节的一个长度sectionlen,切分为n个片段orgsec0~orgsecn-1,每个片段可称为原始切片。

步骤202、在发送方,为原始数据切分形成的每个原始切片分别添加附加信息,成为重组切片;再将所有重组切片组成切片式重组文件。

本步骤中,附加信息包括:sysuniqueid(切片式重组文件的切片标志)、sectionindex(该切片的位置序号)、filelen(原始数据的长度,可以换算出切片的数量n),还可包括filemd(从原始数据,用hash算法计算得到的数据指纹),除此之外,还可附加其他信息,比如包含文件名、文件日期等其他数据信息。

数据指纹filemd,一般应该采用sha1、md5等密码学hash算法,完全保证数据文件的正确性和完整性;也可以采用crc、累加校验和等简单的算法,进一步简化软硬件资源占用。

除sysuniqueid、sectionindex、filelen外,filemd、其它附加信息等信息,可以分开存储在多个切片中,从而更充分的利用切片的空间来存储更多的实际数据;也可以把filemd、其它附加信息等信息存储在新增的一个或多个附加切片内。

附加信息后的切片达到512字节的长度,变成n个长度为512字节的片段newsec0~newsecn-1,称为重组切片。

所有重组切片newsec0~newsecn-1组成新的数据文件newdata,称为切片式重组文件,重组切片的组合次序可以随机打乱。

步骤203、发送方向接收方传输切片式重组文件。

本步骤中,数据文件newdata可以经过任何文件系统、任何传输途径,经过任意多的中间电子计算机、电子设备,到达接收方。

步骤204、在接收方,从其以扇区为单位接收到的数据切片中检测出重组切片。

步骤205、在接收方,从检测到的重组切片中解析出附加信息和原始切片。

接收方对每一个重组切片newsec0~newsecn-1,首先判断sysuniqueid,如果相符则视为重组切片,按sectionindex把段内的orgsec原始切片数据放到接收存储区的对应位置。

根据filelen计算出切片的数量n,判断接收完所有的重组切片newsec0~newsecn-1后,成功完成本次数据文件传输。

在判断接收完所有的重组切片后,计算所有接收数据的filemd,与附加的filemd比对,相符则判断本次数据传输具有正确性和完整性。

步骤206、在接收方,将各个原始切片重组为原始数据,可以将原始数据存储,也可将原始数据输出,根据原始数据执行预定的功能。

综上,与实施例一相比,本实施例增设了一附加信息filemd(从原始数据,用hash算法计算得到的数据指纹),为数据传输的正确性和完整性提供给了有效验证依据。

用filelen判断接收完所有的重组切片,如有必要,可以剔除重复接收的重组切片,即接收到sectionindex相同的切片时,作相应处理。

下面将提供以下具体实例来说明本实施例的实现方法。

现有的单片机烧录器,下载单片机代码工程文件到烧录器时,一般通过usb、串口、网口等连接到电子计算机,在电子计算机中打开专门配套的上位机软件,进行操作;上位机软件通过专用协议与单片机烧录器进行通讯,一般只能运行在windows系统中。

如图3所示,一种应用本发明方法的数据传输方法的单片机烧录器,可以在电子计算机中打开上位机软件,把原始数据(单片机代码、配置选项和其他烧录相关信息),经本发明的方法,转换成切片式重组文件,作为单片机代码工程文件。单片机代码工程文件经过远程传输给持有单片机烧录器的操作人员的手机中;单片机烧录器通过usbotg方式,连接到手机,虚拟成一个u盘,并在虚拟u盘的写扇区子程序处判断、检测、接收重组切片;操作人员用手机自带的文件管理器,把单片机代码工程文件拷贝到该虚拟u盘中;单片机烧录器在拷贝过程中,依随机次序,接收到每一个重组切片后,重组出单片机代码工程文件中原始数据。这样一来,手机上无需运行专用软件,操作简便;单片机烧录器对应的软件代码也很精简。

更具体的举例描述:单片机代码工程文件的原始数据被切片成448字节一段共n段(如最尾的数据不足448字节,填充任意数据),附加32字节的sysuniqueid、4字节sectionindex、4字节filelen、16字节filemd、8字节的简单文件名,组成512字节的重组切片,所有重组切片按顺序组合,作为单片机代码工程文件;单片机烧录器检测到虚拟u盘的任意扇区内写入了重组切片时,即提示“正在接收文件:简单文件名”,并重组出原始数据。

另一种应用本发明的单片机烧录器,可以在电子计算机中打开上位机软件,把原始数据(单片机代码、配置选项和其他烧录相关信息),经本发明的方法,转换成切片式重组文件,作为单片机代码工程文件。单片机代码工程文件经过远程传输给持有单片机烧录器的操作人员的手机中;单片机烧录器具有microsd手机内存卡接口;操作人员用otg读卡器连接microsd手机内存卡,再用手机自带的文件管理器,把单片机代码工程文件拷贝到microsd手机内存卡中;再把microsd手机内存卡插入单片机烧录器的接口,单片机烧录器扫描microsd手机内存卡的所有扇区,检测出每一个重组切片后,重组出单片机代码工程文件中原始数据。这样一来,手机上无需运行专用软件,操作简便;单片机烧录器对应的软件代码也很精简。

实施例三

本实施例还提供了一种数据传输系统,包括发送方和接收方。

发送方的电子设备,包括:

原始数据切分单元,用于将原始数据切分为若干个片段,形成若干个原始切片;

附加信息添加单元,用于为每个原始切片分别添加附加信息以使其成为重组切片,所述附加信息包括切片标志sysuniqueid、切片位置序号sectionindex、原始数据长度filelen;

切片组合单元,用于将所有重组切片组合形成切片式重组文件;

数据传输单元,用于通过文件系统途径,直接向接收方传输所述切片式重组文件,或者经过至少一个中间设备向接收方传输所述切片式重组文件。

接收方的电子设备,包括:

重组文件检测单元,用于从以扇区为单位接收到的数据切片中检测出每个重组切片;

解析单元,用于从每个重组切片解析出附加信息和原始切片;

切片重组单元,用于将各个原始切片重组为原始数据;

数据处理单元,用于将原始数据存储或输出。

一种数据传输系统,包括发送方和接收方,还可以包括至少一个中间设备,所述发送方和接收方分别为如前所述的两种电子设备。

本实施例中,发送方通常为电子计算机;传输过程中途径的中间设备可以是电子计算机(如电脑、智能手机);接收方通常为单片机烧录器、mp3播放器或者手机等较简单的电子设备。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1