一种高效的可调度的二维码传输文件的方法与流程

文档序号:14717880发布日期:2018-06-16 01:58阅读:260来源:国知局
一种高效的可调度的二维码传输文件的方法与流程

本发明涉及图像采集及文件处理技术领域,特别涉及一种高效的可调度的二维码传输文件的方法。



背景技术:

二维码作为一种具备纠错能力的数据载体,目前在手机端支付、产品溯源、身份编号识别等方面有着广泛的用途。

因为二维码携带的数据量大,上限为1.8kB左右。如果通过摄像头连续对二维码进行连续采集,便可以成为一种新的数据传输的方式。为此,如何提供一种采用二维码方式进行文件传输的方法是当前需要解决的技术问题。



技术实现要素:

本发明的目的旨在至少解决所述技术缺陷之一。

为此,本发明的目的在于提出一种高效的可调度的二维码传输文件的方法。

为了实现上述目的,本发明的实施例提供一种高效的可调度的二维码传输文件的方法,包括如下步骤:

步骤S1,发送端接收任务传输指令并对该任务传输指令进行解析,得到解析结果;

步骤S2,所述发送端根据解析结果查询对应的文件,并对查询得到的文件进行文件处理,得到待发送文件,将所述待发送文件转化为多个可通过二维码进行传输的碎片文件,并根据传输指令中记载的优先级,将处理得到的碎片文件以该优先级顺序进行抢占式发送;

步骤S3,接收端进行预接收,包括接收任务相关属性和文件相关属性,并进行任务解析,等待正文传输;

步骤S4,所述接收端接收正文的二维码,识别并接收正文所属的二维码,将二维码识别成为对应的字符串,开始接收正文的碎片文件,对正文进行解析,将正文碎片放入对应的目的位置;

步骤S5,对接收到的碎片进行还原处理,将接收到的碎片还原为原文件,并记录接收完成状态,供用户查询。

进一步,在所述步骤S1中,所述任务传输指令包括:日期、文件名、md5sum校验计算值和优先级。

进一步,在所述步骤S2中,所述对查询得到的文件进行文件处理,包括如下步骤:压缩、裁剪、文本化、加报头和加密操作,转化为多个可通过二维码进行传输的碎片。

进一步,在所述步骤S2中,所述发送端将处理得到的碎片文件转换成二维码进行显示,并在发送完成后记录发送结果。

进一步,在所述步骤S4中,每个所述碎片文件均包括报头和正文。

进一步,在所述步骤S4中,所述对正文进行解析,将正文碎片放入对应的目的位置,包括:接收正文的二维码,识别并接收正文所属的二维码,将二维码识别成为对应的字符串,根据每个碎片文件中携带的报头,将接收到的字符消息正确的分类,放入目标目录。

进一步,在所述步骤S5中,所述对接收到的碎片进行还原处理,包括:解密、去文本化、拼接和解压缩操作。

进一步,在所述步骤S2中,所述将处理得到的碎片文件以该优先级顺序进行抢占式发送,包括如下步骤:

在当前任务的执行过程中,如果有更高优先级的任务到来,则保存现场,并开始执行更高优先级的任务,完毕后再恢复现场继续执行,对之前挂起的任务继续进行断点续传。

本发明通过一帧图像播放多个二维码,提高发送效率,使用抢占式发送,实现不同优先级任务的调度,支持断点续传,经过加密处理的文件传输方法与装置,使两台物理隔离的设备可以实现绝对的单项传输。本发明能够在两台设备之间,不需要其他任何网络连接,实现数据的传输。一帧图像最多可以播放16张二维码,大大提高了传输速率。并且支持抢占式的任务调度,可以随时抢占式发送优先级更高的内容。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明实施例的高效的可调度的二维码传输文件的方法流程图;

图2为根据本发明实施例的高效传输二维码的示意图;

图3为根据本发明实施例的发送端流程图;

图4为根据本发明实施例的接收端流程图;

图5为根据本发明实施例的接收端状态切换图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

如图1所示,本发明实施例的高效的可调度的二维码传输文件的方法,包括如下步骤:

步骤S1,发送端接收任务传输指令并对该任务传输指令进行解析,得到解析结果。

在本发明的一个实施例中,任务传输指令包括:日期、文件名、md5sum校验计算值和优先级等消息。

步骤S2,发送端根据解析结果查询对应的文件,并对查询得到的文件进行文件处理,得到待发送文件,将待发送文件转化为多个可通过二维码进行传输的碎片文件,并根据传输指令中记载的优先级,将处理得到的碎片文件以该优先级顺序进行抢占式发送。发送端将处理得到的碎片文件转换成二维码进行显示,并在发送完成后记录发送结果。

在本步骤中,对查询得到的文件进行文件处理,包括如下步骤:压缩、裁剪、文本化、加报头和加密等操作,转化为多个可通过二维码进行传输的碎片。

在本发明的一个实施例中,每个碎片文件均包括报头和正文。

需要说明的是,在当前任务执行过程中,发送端根据新到任务的有限据,决定是否对当前任务进行抢占。优选的,支持不同优先级任务的任务调度。当有更高优先级的任务到达时,优先处理更高优先级的任务。

在本发明中,将处理得到的碎片文件以该优先级顺序进行抢占式发送,包括如下步骤:在当前任务的执行过程中,如果有更高优先级的任务到来,则保存现场,并开始执行更高优先级的任务,完毕后再恢复现场继续执行,对之前挂起的任务继续进行断点续传。

本发明可以实现高效处理,即可以选取不同分辨率的显示器,一帧图像显示多张二维码,裁剪后分别进行识别。

具体的,发送端将处理得到的碎片文件转换成二维码进行显示,并在发送完成后记录发送结果。例如,可以以多种不同的显示模式播放,一帧图像最多播放4x4=16张二维码。发送端记录当前一次任务的发送状态,是否成功。如果不成功,记录失败原因。

如图2,在本发明的一个实施例中,一帧图像可包含多张二维码,更加的高效。已知识别一张携带1.9k数据量的二维码,最少需要640x480的分辨率。目前主流的显示器与相机都可以达到4k分辨率。如此,一个4kx2k分辨率的显示器最大同时可以采集8张二维码,也选用4kx2k的相机进行接收。播放模式与接收模式均可以选择为1x1显示,2x2显示,3x3显示,4x4显示,每一个显示框的分辨率为640x480。相比其他类的二维码传输,该种传输更加高效,播放速率最多可以达到4x4=16倍。

图3为根据本发明实施例的发送端流程图。

步骤S101(命令接收):发送端通过解析接收到的消息,得到待传输的文件名,保存路径,及其它属性。监听到命令消息后,就开始进行步骤S102。

步骤S102(文件处理):对文件进行处理,经过压缩,加密,文本化,拆分,加报头等处理后,根据不同的发送模式,每次显示不同数量的二维码。

步骤S103(任务调度):分为多种优先级,进行抢占式的发送。

定义最低、次低、中、次高、最高等多种优先级,可以进行任务调度。进行抢占式的发送。如果有更高优先级的任务到来,保存现场,并开始执行更高优先级的任务。完毕后再恢复现场继续执行。

当发送大文件时时间可能过久,期间可能有优先级更高的文件需要传输。高优先级任务到来后保存现场并处理高优先级任务,待传输完毕后恢复现场,对之前挂起的任务继续进行断点续传。

步骤S104(发送):读取S102处理完毕的碎片文件,转换成二维码并进行显示,可以设置显示的帧率为1~120fps。

步骤S105(结果记录):记录并发送是否成功,失败的话返回失败原因,供用户查询。

步骤S3,接收端进行预接收,包括接收任务相关属性和文件相关属性,并进行任务解析,等待正文传输。

在本步骤中,采集camera sensor输出的图像到内存中,接收并识别发送端播放的二维码。本发明采用单向传输方式,只能通过相机采集二维码图像,实现从发送端到接收端的发送。反向则无法发送。

步骤S4,接收端接收正文的二维码,识别并接收正文所属的二维码,将二维码识别成为对应的字符串,开始接收正文的碎片文件,对正文进行解析,将正文碎片放入对应的目的位置。

在本步骤中,对正文进行解析,将正文碎片放入对应的目的位置,包括:接收正文的二维码,识别并接收正文所属的二维码,将二维码识别成为对应的字符串,根据每个碎片文件中携带的报头,将接收到的字符消息正确的分类,放入目标目录。

步骤S5,对接收到的碎片进行还原处理,将接收到的碎片还原为原文件,并记录接收完成状态,供用户查询。

在本步骤中,对接收到的碎片进行还原处理,包括:解密、去文本化、拼接和解压缩等操作。

由接收端记录当前一次任务的接收状态,是否成功。如果不成功,记录失败原因。

图4为根据本发明实施例的接收端流程图。

步骤S201(图像采集):支持多种类型的CCD,CMOS camera,使用多线程方式进行图像采集和处理。

步骤S202(预接收):接收发送端发送的任务相关属性与文件相关属性,接收端解析后即可知道发送端的任务详情与待发送文件详情。

步骤S203(预解析):将S202预接收到的二维码识别后,在接收端做各项准备工作,等待正文的到来。

步骤S204(正文接收):接收正文的二维码,识别并接收正文所属的二维码,将二维码识别成为对应的字符串。

步骤S205(正文解析):根据每个碎片文件的报头。将接收到的字符消息正确的分类,放入目标目录。

步骤S206(文件处理):对接收到的碎片做还原处理,将接收到的碎片还原为原文件。步骤包括解密,去文本化,拼接,解压缩等操作。

步骤S207(任务记录):根据每次记录接收完成的状态,供用户查询。

图5为根据本发明实施例的接收端状态切换图。

步骤S301(开始):初始化。

步骤S302(空闲):S301初始化完毕之后,进入空闲状态。如果没有收到S101发来的消息,则保持空闲状态;如果收到S101消息,则进入S203预接收状态。

步骤S303(预接收):发送端口向接收端发送待发送文件的属性,包括日期,发送时间,文件名,文件结构,md5sum值等。

步骤S304(预处理):解析S203预接收到的内容,做好接收整个文件的准备工作。

步骤S305(传输正文):根据每个碎片文件的报头,将接收到的二位码转换成文本,并正确的分类到对应的目标目录,在传输中,将报头拆出,正文碎片按照拆分时的顺序,顺序放置在目标路径下。

步骤S306(传输完毕):接收发送端的传输完毕状态,接收到后,通知接收端进行S307,开始处理正文。

步骤S307(处理正文):处理S305过程中接收到的正文碎片。按照发送端的文件操作S102的反向进行操作,恢复文件。

步骤S308(传输结束):传输完成后,根据每次记录接收完成的状态,供用户查询。如果没有新任务,则进入S302状态,如果由新任务,则进入S303状态,处理新任务。

步骤S309(高优先级抢占):根据每次记录接收完成的状态,供用户查询。

步骤S310(开启新任务):根据每次记录接收完成的状态,供用户查询。

步骤S311(恢复之前任务):根据每次记录接收完成的状态,供用户查询。

支持多次抢占,以任务1、2、3为例,设置任务1、任务2、任务3的优先级依次递增。

首先,初始任务1,被更高优先级的任务2抢占,任务2执行期间又出现新任务3;

如果任务3的优先级高于任务2的优先级,则任务3再次对任务2进行抢占,挂起当前的任务2,开始进行任务3的传递;

如果新任务3的优先级低于当前优先级,但高于被抢占任务的优先级,则在当前优先级任务。

根据本发明实施例的高效的可调度的二维码传输文件的方法,将待传输文件转化为二维码碎片文件进行传输。相比于WIFI、蓝牙、HTTP和射频传输等主流传输方式,不需要蓝牙、WIFI、以太网口等环境,该种传输有如下几种优势:

1.不需用网络链接,只需要发送端通过LED做显示,接收端只需要一个摄像头进行采集。

2.可以忽略传输端与接受端的其他介质,可以在物理隔绝的两台终端上进行传输。

3.传输是单向的。

4.采用二维码可携带大量文本信息。

本发明通过一帧图像播放多个二维码,提高发送效率,使用抢占式发送,实现不同优先级任务的调度,支持断点续传,经过加密处理的文件传输方法与装置,使两台物理隔离的设备可以实现绝对的单项传输。本发明能够在两台设备之间,不需要其他任何网络连接,实现数据的传输。一帧图像最多可以播放16张二维码,大大提高了传输速率。并且支持抢占式的任务调度,可以随时抢占式发送优先级更高的内容。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

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