掌桥专利:专业的专利平台
掌桥专利
首页

一种数据传输方法、装置及设备

文献发布时间:2023-06-19 12:24:27


一种数据传输方法、装置及设备

技术领域

本申请涉及大数据领域,特别涉及一种数据传输方法、装置及设备。

背景技术

二维码是应用特定的几何图形按某种规律在二维方向上分布的黑白相间的图形来表征信息的,其中,以黑和白来表征二进制的“0”、“1”比特。这样,通过将信息转变为二维码,再由识读设备(图像输入设备或光学扫描设备)来识读,可实现数据传输。

目前针对大量数据传输问题,已经有将多个二维码排列显示,然后通过识读设备读取所有二维码数据后拼接还原出待传输数据。然而,这种方法需要对待传输数据进行分段处理,这样,在还原待传输数据时,需要正确识读出每个二维码才能还原出待传输数据,任何一个二维码识读失败将导致带传输数据还原失败,使得数据传输稳定性较低。

因此,业内亟需一种可以解决上述技术问题的技术方案。

发明内容

本说明书实施例提供了一种数据传输方法、装置及设备,可以有效提高数据传输的稳定性。

本说明书提供的一种数据传输方法、装置及设备是包括以下方式实现的。

一种数据传输方法,应用于图像生成设备中,所述方法包括:获取传输信息对应的信息字节码;对所述信息字节码进行分块,获得多个数据块;根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组;基于每个数据块对应的二维码图像组,获得所述传输信息对应的二维码图像集;将所述传输信息对应的二维码图像集发送至图像识读设备。

一种数据传输方法,应用于图像识读设备中,所述方法包括:接收图像生成设备发送的二维码图像集;其中,所述二维码图像集中包括多个二维码图像;获取每个二维码图像包括的数据信息;其中,所述数据信息中包括数据块标识;根据所述数据块标识对所述数据信息进行分组,获得多个数据信息组;基于纠删码编码机制将每个数据信息组还原为数据块信息;将所有数据块信息进行拼接,获得所述二维码图像集对应的传输信息。

一种数据传输方法,应用于数据传输系统,所述数据传输系统包括图像生成设备和图像识读设备,所述方法包括:所述图像生成设备获取传输信息对应的信息字节码;对所述信息字节码进行分块,获得多个数据块;根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组;基于每个数据块对应的二维码图像组,获得所述传输信息对应的二维码图像集;将所述传输信息对应的二维码图像集发送至图像识读设备;所述图像识读设备接收所述二维码图像集;获取所述二维码图像集中每个二维码图像包括的数据信息;其中,所述数据信息中包括数据块标识;根据所述数据块标识对所述数据信息进行分组,获得多个数据信息组;基于纠删码编码机制将每个数据信息组还原为数据块信息;将所有数据块信息进行拼接,获得所述二维码图像集对应的传输信息。

一种数据传输装置,包括:获取模块,用于获取传输信息对应的信息字节码;分块模块,用于对所述信息字节码进行分块,获得多个数据块;处理模块,用于根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组;获得模块,用于基于每个数据块对应的二维码图像组,获得所述传输信息对应的二维码图像集;发送模块,用于将所述传输信息对应的二维码图像集发送至图像识读设备。

一种数据传输装置,包括:接收模块,用于接收图像生成设备发送的二维码图像集;其中,所述二维码图像集中包括多个二维码图像;获取模块,用于获取每个二维码图像包括的数据信息;其中,所述数据信息中包括数据块标识;分组模块,用于根据所述数据块标识对所述数据信息进行分组,获得多个数据信息组;还原模块,用于基于纠删码编码机制将每个数据信息组还原为数据块信息;获得模块,用于将所有数据块信息进行拼接,获得所述二维码图像集对应的传输信息。

一种数据传输设备,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现本说明书实施例中任意一个方法实施例的步骤。

一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现本说明书实施例中任意一个方法实施例的步骤。

本说明书提供的一种数据传输方法、装置及设备。一些实施例中可以获取传输信息对应的信息字节码,对信息字节码进行分块,获得多个数据块;还可以根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组,基于每个数据块对应的二维码图像组,获得传输信息对应的二维码图像集。进一步,可以将传输信息对应的二维码图像集发送至图像识读设备,以便图像识读设备获取每个二维码图像包括的数据信息,其中,数据信息中包括数据块标识;根据数据块标识对数据信息进行分组,获得多个数据信息组;基于纠删码编码机制将每个数据信息组还原为数据块信息;将所有数据块信息进行拼接,获得二维码图像集对应的传输信息。由于基于纠删码编码机制将每个数据块转换为二维码图像,使得数据被离散分布到更多的数据片中,数据被有效加密,从而使得数据安全性得到了极大提升。由于基于纠删码编码机制将每个数据信息组还原为数据块信息,这样,在缺失部分二维码图像或无法读取部分二维码图像时,仍然可以还原出数据块信息,从而使得数据传输有效性及稳定性得到较大提升。采用本说明书提供的实施方案,可以有效提高数据传输的稳定性。

附图说明

此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:

图1是本说明书提供的一种数据传输方法的一个场景示意图;

图2是本说明书提供的一种数据传输方法的一个实施例的流程示意图;

图3是本说明书提供的一种生成编码矩阵的流程示意图;

图4是本说明书提供的一种数据传输方法的另一个实施例的流程示意图;

图5是本说明书提供的一种数据传输的场景示意图;

图6是本说明书提供的一种数据传输方法的一个具体实施例的流程示意图;

图7是本说明书提供的一种数据传输装置的一个实施例的模块结构示意图;

图8是本说明书提供的一种数据传输装置的另一个实施例的模块结构示意图;

图9是本说明书提供的一种数据传输服务器的一个实施例的硬件结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书中的一部分实施例,而不是全部的实施例。基于本说明书中的一个实施例或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书实施例保护的范围。

如图1所示,图1是本说明书提供的一种数据传输方法的一个场景示意图。其中,数据传输方法可以应用于数据传输系统。数据传输系统可以包括图像生成设备101和图像识读设备102。其中,所述图像生成设备101可以获取传输信息对应的信息字节码;对所述信息字节码进行分块,获得多个数据块;根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组;基于每个数据块对应的二维码图像组,获得所述传输信息对应的二维码图像集;将所述传输信息对应的二维码图像集发送至图像识读设备102。所述图像识读设备102可以接收所述二维码图像集;获取所述二维码图像集中每个二维码图像包括的数据信息;其中,所述数据信息中包括数据块标识;根据所述数据块标识对所述数据信息进行分组,获得多个数据信息组;基于纠删码编码机制将每个数据信息组还原为数据块信息;将所有数据块信息进行拼接,获得所述二维码图像集对应的传输信息。由于基于纠删码编码机制将每个数据块转换为二维码图像组,使得数据被离散分布到更多的数据片中,数据被有效加密,从而使得数据安全性得到了极大提升。由于基于纠删码编码机制将每个数据信息组还原为数据块信息,这样,在缺失部分二维码图像或无法读取部分二维码图像时,仍然可以还原出数据块信息,从而使得数据传输有效性及稳定性得到较大提升。

上述图像生成设备101可以用于将传输信息转化为二维码图像。图像生成设备101可以是用户操作使用的终端设备(如智能手机、平板电脑、笔记本电脑等)或者软件(如图像生成应用等),也可以是单一的服务器、服务器集群等。

上述图像识读设备102可以用于识别二维码图像,基于二维码图像还原出对应传输信息。图像识读设备102可以是用户操作使用的终端设备(如智能手机、平板电脑、笔记本电脑等)或者软件(如图像扫描应用、图像识别应用等),也可以是单一的服务器、服务器集群等。图像识读设备102也可以称为数据还原设备。

本说明书实施例中,对于数据传输过程,可以适用于图像生成设备101与图像识读设备102不存在有线通信的情况,也可以适用其它其他通信情况(如通过WIFI、蓝牙等通信)。

本说明书实施例中,图像生成设备101与图像识读设备102双方可以基于约定相同的生成矩阵完成所有处理步骤。一些实施场景中,可以由图像生成设备生成一个生成矩阵,然后将其编码为二维码图像,由图像识读设备扫描读取,从而完成双方使用相同生成矩阵的同步。其中,生成矩阵是进行纠删码编码时选择的一个合适的矩阵,如果生成矩阵未知,则无法通过二维码解码出原始信息,从而使得生成矩阵可以保证数据安全性。生成矩阵可以采用范德蒙矩阵(Vandermonde)或柯西矩阵(Cauchy)。生成矩阵是按范德蒙、柯西等数学理论生成,所以其包括的子矩阵均为可逆矩阵。

一些实施场景中,图像识读设备102可以采用异步还原方式进行信息还原。一些实施场景中,可以将还原后的信息保存为图像文件。进一步,可以将图像文件按一定顺序命名,从而可以在解析时减少对图像顺序和数据块顺序的排序,提高数据处理效率。

下面以一个具体的应用场景为例对本说明书实施方案进行说明。具体的,图2是本说明书提供的一种数据传输方法的一个实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。

需要说明的是,下述从图像生成设备角度进行描述的实施例并不对基于本说明书的其他可扩展到的应用场景中的技术方案构成限制。具体的一种实施例如图2所示,本说明书提供的一种数据传输方法的一种实施例可以包括以下步骤。

S20:获取传输信息对应的信息字节码。

其中,传输信息可以是任意需要通过二维码传输的信息。信息字节码可以理解为可以按照字节读取的数据流。

一些实施例中,所述获取传输信息对应的信息字节码,可以包括:获取传输信息;将所述传输信息编码为字节码数据;在所述字节码数据末尾拼接数据结束标志信息,获得信息字节码。

例如一些实施场景中,可以先将待传输信息编码为字节码数据(对于位于存储介质上的数据,则以字节码读取),然后在末尾拼接上数据结束标志信息,形成数据容量为M(Byte)的可按字节读取的数据流,即获得信息字节码。其中,传输信息可支持包含多个文件的情况,由在末尾拼接的数据结束标志信息标识传输信息是否处理结束。数据结束标志信息可以用于确定信息编码是否结束。例如,传输信息不限于单个文件,只要未看到约定的数据结束标志信息,整个将信息编码成二维码的过程便不结束,当所有的文件处理完毕后再末尾拼接数据结束标志信息,最后数据结束标志信息也被转换到二维码之中。在数据还原阶段,处理是否完成也需要通过判断该数据结束标志信息是否出现作为依据。一些实施场景中,数据结束标志信息可以是包含不可见字符等、且信息正文中不会出现的特殊字符组合,如\0\1\0\0\1。

S22:对所述信息字节码进行分块,获得多个数据块。

本说明书实施例中,在获取传输信息对应的信息字节码后,可以对信息字节码进行分块,获得多个数据块。

一些实施例中,在获取传输信息对应的信息字节码后,可以对信息字节码按字节顺序切分,形成容量大小相同的多个数据块。

例如一些实施场景中,在获取传输信息对应的信息字节码(即可按字节读取的数据流)后,可以对数据流按字节顺序切分,形成容量大小均为m(Byte)的s个数据块D

S24:根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组。

本说明书实施例中,在获得多个数据块后,可以根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组。

一些实施例中,所述根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组,可以包括:构造纠删码编码的生成矩阵;其中,所述生成矩阵的行数大于列数,所述生成矩阵包括的子矩阵均为可逆矩阵;对数据块进行分片,获得数据块对应的数据片;基于所述数据块对应的数据片,生成所述数据块对应的数据矩阵;其中,所述数据矩阵的行数与所述生成矩阵的列数相等;基于所述生成矩阵和所述数据矩阵,生成编码矩阵;对编码矩阵中每一行进行二维码编码,获得所述数据块对应的二维码图像组。

其中,纠删码是一种数据保护的编码方法,它首先将原始数据分为等大的数据块,然后再将数据块编码为校验块。当若干个数据块或校验块丢失时,纠删码技术可以保证原始数据仍然可以恢复。从RAID(独立硬盘冗余阵列)到分布式存储系统,纠删码广泛应用于存储系统中,其可以用于防止部分数据丢失或数据服务器宕机导致的数据不可访问。生成矩阵是利用纠删码编码时选择的一个合适的矩阵,如果生成矩阵未知,则无法通过二维码解码出原始信息,可见,使用生成矩阵可以保证数据安全性。

一些实施场景中,生成矩阵可以采用范德蒙矩阵、柯西矩阵等。由于生成矩阵是按范德蒙、柯西等数学理论生成,所以其包括的子矩阵均为可逆矩阵。

例如一些实施场景中,构造的纠删码编码的生成矩阵可以记为GM。即:

其中,生成矩阵GM是k×n(k>n)维的分块矩阵,其包括k乘n个子矩阵,每个子矩阵均是n×n维,每个子矩阵均为可逆矩阵。

一些实施场景中,在构造纠删码编码的生成矩阵后,可以对数据块进行分片,获得数据块对应的数据片。例如一些实施场景中,可以取多个数据块中一个数据块D

一些实施场景中,在获得数据块对应的数据片后,可以顺序排列所有数据片,生成一个n行的数据矩阵,数据矩阵可以记为DM。例如,对于数据块[b

其中,b

一些实施场景中,在生成数据块对应的数据矩阵后,可以计算生成矩阵GM与数据矩阵DM乘积(计算基于有限域),生成编码矩阵,如下:

其中,编码矩阵的行数为k,每一行可以理解为一个离散片。其中,n个数据片经过纠删码编码后可以得到k个离散片。编码矩阵可以理解对第i个数据块进行纠删码编码后的结果。

本说明书实施例中,通过计算生成矩阵与数据矩阵的乘积,不仅可以使获得的编码矩阵中包含的数据片多于数据矩阵包含的数据片,而且可以使数据被离散地分布到每个数据片中。

一些实施场景中,在生成编码矩阵后,可以对编码矩阵中每一行进行二维码编码,获得数据块对应的二维码图像组。其中,一个数据块对应一个二维码图像组,根据一个二维码图像组的内容可以还原出一个数据块。一些实施场景中,在进行信息还原时,一个二维码图像组中的二维码图像可以存在缺失。例如一些实施场景中,可以将上述所生成的k行编码矩阵中每一行数据分别进行二维码编码,生成k个二维码图像,将这k个二维码图像作为一个数据块对应的二维码图像组。

一些实施例中,所述对编码矩阵中每一行进行编码前,可以包括:在所述编码矩阵中每行的起始位置插入数据块标识及数据片标识,获得标识后的编码矩阵;对标识后的编码矩阵中每一行进行二维码编码,获得所述数据块对应的二维码图像组。其中,数据块标识和数据片标识可以通过序号表示。数据片标识可以理解为上述离散片对应的标识。

例如一些实施场景中,在生成编码矩阵后,可以分别在每行数据起始位置插入数据块序号i及离散片所在行号j,即:

其中,第一列中i

如图3所示,图3是本说明书提供的一种生成编码矩阵的流程示意图。其中,包括数据块(1-13个字节)、数据矩阵DM(数据矩阵DM是通过将数据块分布放置到多个数据片P0、P1、P2、P3中生成)、生成矩阵GM、插入数据块序号i(图中为ii)及离散片所在行号(0、1、2、3、4、5)的编码矩阵。

进一步,可以将上述插入数据块序号及离散片所在行号后生成的k行矩阵中每一行数据分别进行二维码编码,生成k个二维码图像,将这k个二维码图像作为一个数据块对应的二维码图像组。

进一步,可以对每个数据块执行上述步骤,从而获得所有数据块对应的二维码图像组。需要说明的是,获取每个数据块对应的二维码图像组的过程类似,可以相互参照,对此不作赘述。

S26:基于每个数据块对应的二维码图像组,获得所述传输信息对应的二维码图像集。

本说明书实施例中,在获得每个数据块对应的二维码图像组后,可以基于所有数据块对应的二维码图像组,获得传输信息对应的二维码图像集。其中,二维码图像集中可以包括多个二维码图像组。每个二维码图像组中可以包括多个二维码图像。

一些实施例中,可以将每个数据块对应的二维码图像组按照数据块标识进行排列,从而获得传输信息对应的二维码图像集。当然,上述只是进行示例性说明,基于每个数据块对应的二维码图像组获得二维码图像集的方式不限于上述举例,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。

S28:将所述传输信息对应的二维码图像集发送至图像识读设备。

本说明书实施例中,获得传输信息对应的二维码图像集后,可以将传输信息对应的二维码图像集发送至图像识读设备,以便图像识读设备在接收后对二维码图像集中二维码图像进行识别,从而还原出对应的传输信息。其中,在将传输信息对应的二维码图像集发送至图像识读设备的过程中,每个二维码图像组中可以允许丢失部分二维码图像。

一些实施例中,在单次生成二维码图像组时,需要满足一定计算公式,且需要基于二维码最大容量范围内进行计算。以二维码容量512(Byte)、生成矩阵GM=k×n,k=6,n=4、总数据量M(Byte)为例,假设所需数据块序号i占2字节,即可支持数据块上限为65536块,数据片个数等于k,其序号占1字节,则二维码除序号外的数据容量为512-2-1=509(Byte)。

数据块容量m=4×509=2036(Byte),数据块个数s=M/2036(个),s≤65536。

数据片大小为2036/n=2036/4=509(Byte),进行纠删码编码,并为结果的每行左侧拼接数据块序号i及离散片所在行号j合计长度为3(Byte)的数据,获得k=6个待编码数据片:

进一步,可以对上述6个待编码数据片进行二维码编码,获得对应的二维码图像组。

本说明书实施例中,通过将一个数据块信息分散放置,将原本连续的数据分散在不同数据片中,再进过纠删编码后数据被离散分布到更多的数据片中,可以使数据被有效加密,从而提高传输数据的安全性。

本说明书实施例中,基于纠删码编码机制将每个数据块转换为二维码图像组,可以使数据被离散分布到更多的数据片中,数据被有效加密的同时,还可以在缺失部分二维码图像或无法读取部分二维码图像时,还原出数据块信息,从而使得数据传输有效性及稳定性得到较大提升。

当然,上述只是进行示例性说明,本说明书实施例不限于上述举例,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。

上述实施例从图像生成设备角度描述了数据传输方法的实施方案。基于上述实施例描述,本说明书还提供一种应用于图像识读设备的数据传输方法。如图4所示,图4是本说明书提供的一种数据传输方法的另一个实施例的流程示意图。具体的,一种实施例中,所述方法可以包括以下步骤。

S30:接收图像生成设备发送的二维码图像集;其中,所述二维码图像集中包括多个二维码图像。

其中,图像生成设备可以是图像输入设备或光学扫描设备等。

一些实施例中,图像生成设备发送的二维码图像集可以是图像设备生成的完整的二维码图像集(其全部可以识别),也可以是丢失部分二维码图像的二维码图像集,还可以是完整的二维码图像集但存在部分无法识别的二维码图像等。其中,二维码图像集中可以包括多个二维码图像。

需要说明的是,针对二维码图像集生成阶段所使用的生成矩阵GM=k×n,k>n,一个二维码图像组中允许k-n个二维码图像由于清晰度等问题导致的不能读取现象。即,基于纠删码编码机制生成的每个数据块对应的二维码图像组中允许部分数据(即二维码图像)丢失,允许丢失的个数为生成矩阵GM行列数之差,即k-n个二维码图像。其中,二维码图像不够清晰导致不能读取可以表示这部分数据丢失了。

S32:获取每个二维码图像包括的数据信息;其中,所述数据信息中包括数据块标识。

本说明书实施例中,在接收图像生成设备发送的二维码图像集后,可以获取每个二维码图像包括的数据信息。其中,数据信息中可以包括数据块标识、数据片标识、数据内容等。数据块标识也称数据块序号。数据片标识也称数据片序号、离散片所在行号。

一些实施例中,在接收到二维码图像集后,可以利用图像识别设备识读二维码图像,获取每个二维码图像包括的数据信息。

例如一些实施场景中,在接收到二维码图像集后,可以读取多个二维码图像获取每个二维码图像对应的数据信息,并获取数据信息中的第1、2字节的数据块序号i及第3字节的数据片序号j。其中,数据块序号相同的二维码图像对应同一个数据块。其中,每个二维码图像对应的数据信息通过字节码编码,其第1、2字节表示数据块序号(即数据块标识),第3个字节表示数据片序号(即数据片标识)。每个二维码图像对应的数据信息可以与一个数据片对应。

S34:根据所述数据块标识对所述数据信息进行分组,获得多个数据信息组。

本说明书实施例中,在获取每个二维码图像包括的数据信息后,可以根据数据块标识对数据信息进行分组,获得多个数据信息组。

由于数据块序号相同的二维码图像对应同一个数据块,所以本说明书实施例中,可以根据数据块序号对数据信息进行分组,获得多个数据信息组。

本说明书实施例中,根据数据块标识对数据信息进行分组,获得多个数据信息组可以理解为将属于一个数据块的数据片划分到一组,这样,后续可以根据每个数据块对应的数据片还原对应的信息。

S36:基于纠删码编码机制将每个数据信息组还原为数据块信息。

本说明书实施例中,在获得多个数据信息组后,可以基于纠删码编码机制将每个数据信息组还原为数据块信息。

一些实施例中,所述基于纠删码编码机制将每个数据信息组还原为数据块信息,可以包括:构造纠删码编码的生成矩阵;其中,所述生成矩阵的行数大于列数,所述生成矩阵包括的子矩阵均为可逆矩阵;获取所述数据信息组中每个数据信息对应的数据片标识;基于所述数据信息组中包括的数据信息和数据信息对应的数据片标识,生成数据矩阵;其中,所述数据矩阵的行数与所述生成矩阵的列数相等;根据所述数据矩阵中每行所对应的数据片标识,从所述生成矩阵中获取对应行,生成解码矩阵;其中,所述解码矩阵的行数和列数均与所述生成矩阵的列数相等,所述解码矩阵为所述生成矩阵的子矩阵;基于所述数据矩阵和所述解码矩阵,获得所述数据信息组对应的数据块信息。

本说明书实施例中,构造的纠删码编码的生成矩阵与图像生成设备中构造的生成矩阵相同。具体构造方式可以参照上述相关实施例中描述,对此不作赘述。

一些实施场景中,在构造纠删码编码的生成矩阵后,可以获取数据信息组中每个数据信息对应的数据片标识,然后基于数据信息组中包括的数据信息和数据信息对应的数据片标识,生成数据矩阵。

一些实施场景中,所述基于所述数据信息组中包括的数据信息和数据信息对应的数据片标识,生成数据矩阵,可以包括:从数据信息组中选择预设数量的数据信息作为一行,按照所选择的数据信息对应的数据片标识生成第一矩阵;其中,所述第一矩阵的行数与所述生成矩阵的列数相等;将所述第一矩阵中每行起始位置的数据块标识及数据片标识删除,获得数据矩阵。

例如一些实施场景中,可以将一个数据信息组中任意n个数据信息作为一行数据,按数据片序号j顺序排列形成一个n行的第一矩阵DM',然后去除第一矩阵DM'的前三列数据,获得不包含数据块序号i及数据片序号j的数据矩阵DM″。其中,数据矩阵DM″的行数与生成矩阵GM的列数相等。

一些实施场景中,在生成数据矩阵后,可以根据数据矩阵中每行所对应的数据片标识,从生成矩阵中获取对应行,生成解码矩阵。

例如一些实施场景中,可以根据数据矩阵中每行所对应的数据片序号j的值,依次获取GM中对应的行,形成一个n×n维的解码矩阵GM′。其中,由于解码矩阵GM′是生成矩阵GM的子矩阵,所以该解码矩阵GM′可逆。

一些实施场景中,在获得数据矩阵和解码矩阵后,可以基于纠删码原理,还原得到每个数据信息组所传输的数据,即获得表示数据块信息的矩阵DM:

DM=GM′

其中,GM′

在获得表示数据块信息的矩阵DM后,可以从左上到右下读取拼接DM字节码信息,获得数据块信息,同时取得其对应的数据块序号i。

进一步,可以对每个数据信息组执行上述步骤,从而获得所有数据信息组对应的数据块信息。需要说明的是,获取每个数据信息组对应的数据块信息的过程类似,可以相互参照,对此不作赘述。

S38:将所有数据块信息进行拼接,获得所述二维码图像集对应的传输信息。

本说明书实施例中,在获得每个数据信息组对应的数据块信息后,可以将所有数据块信息进行拼接,获得二维码图像集对应的传输信息。

一些实施例中,所述将所有数据块信息进行拼接,获得所述二维码图像集对应的传输信息,可以包括:根据每个数据块信息对应的数据块标识拼接所有数据块信息;在数据块信息中出现数据结束标志信息的情况下,去除所述数据结束标志信息,获得拼接结果;将所述拼接结果作为所述二维码图像集对应的传输信息。

例如一些实施场景中,可以按数据块序号i顺序拼接所有数据块信息(去除末尾的补零数据),直至数据块末尾出现数据结束标志信息,去除数据结束标志信息后形成被传输的数据。

如图5所示,图5是本说明书提供的一种数据传输的场景示意图。其中,在生成二维码图像集阶段(即生成图组阶段),数据片P1-P4经过处理后成6个二维码,记为原始图组(包括QR1、QR2、QR3、QR4、QR5、QR6),表示中间使用了6×4维的生成矩阵GM。在读取二维码图像集阶段(即读取图组阶段),丢失了QR2和QR5后仅剩余4个二维码,记为可识别图组(包括QR1、QR3、QR4、QR6,其包括的信息并不和右侧的P1-P4对称),假设为DM',还原时,相应的去掉GM中第2、5行的数据,获得4×4的GM子矩阵GM',使用GM'和DM'做运算获得右侧的P1-P4数据片(记为还原数据片)。可见,虽然传输信息对应的二维码图像有丢失,但利用本申请方案依旧可以还原出起始的4个数据片。

本说明书实施例中,数据发送方与数据接收方通过预先约定生成矩阵,这样,第三方未获得生成矩阵的前提下就无法通过二维码图像解析出部分数据,更无法获取整体传输数据,从而可以使数据安全性得到极大提升。

本说明书实施例中,基于纠删码编码机制将每个数据信息组还原为数据块信息,这样,在缺失部分二维码图像或无法读取部分二维码图像时,仍然可以还原出数据块信息,从而使得数据传输有效性及稳定性得到较大提升。

本说明书实施例中,数据发送方(图像生成设备)通过优化生成算法(如利用计算机CPU多核性能多线程并发生成二维码)可提升二维码生成速度。数据接收方(图像识读设备)的图像存储处理和图像解析处理采用异步方式,图像存储处理可使用高速图像读取设备提高二维码图像从源到目标的传输速度。

本说明书实施例中,基于纠删码编码机制,对于图像高速读取过程中可能存在的读取模糊、读取遗漏等情况具有一定的容错机制。其中,由于容错率可以通过调整纠删码生成矩阵GM的行数k可控,因此通过权衡k值及图像读取速度,可以极尽可能地使用高速图像读取设备提高传输速度,以适配数据生成方的二维码高速生成。

下面以具体实施场景对上述测试方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。如图6所示,图6是本说明书提供的一种数据传输方法的一个具体实施例的流程示意图。在本具体实施例中,包括图组生成阶段(即生成二维码图像集阶段)和数据还原阶段(即读取二维码图像集阶段),图组生成阶段可以由图像生成设备完成,数据还原阶段可以由图像识读设备完成。

本实施例中,预先生成纠删码编码的生成矩阵GM。

本实施例中,在图组生成阶段,首先将传输信息转化为字节码,并在末尾补零,获得总容量大小为M(Byte)的信息字节码;其次,对信息字节码进行数据分块,获得数据块D

进一步,可以通过图像生成设备的屏幕轮播二维码图像集中的所有二维码图像。相应的,可以通过图像识读设备扫描图像生成设备屏幕中播放的二维码图像,获得所有二维码图像。进一步,可以读取二维码图像,获得每个二维码图像的数据信息,按头部数据块序号i将数据信息分组,获得多个数据信息组。对一个数据信息组,可以基于纠删码原理将数据信息组还原成多个数据片(n个数据片),将多个数据片进行拼接获得单个数据信息组对应的数据块。针对每个数据信息组进行上述相同处理,获得所有数据信息组对应的数据块。最后拼接所有数据块获得原始信息字节码,去除末尾零数据,完成数据传输。

上述实施例中,纠删码原理可以理解为纠删码编码机制。基于纠删码原理将数据片转换成二维码和基于纠删码原理将数据信息组还原成多个数据片时,所使用的生成矩阵GM相同。

本说明书实施例中,基于纠删码原理将传输信息编码编码成多个二维码,形成一个允许部分二维码丢失、可解码还原出待传输信息的二维码图像集,可以极大地提高信息安全程度及信息传输稳定性。

当然,上述只是进行示例性说明,本说明书实施例不限于上述举例,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。

从以上的描述中,可以看出,本申请实施例可以获取传输信息对应的信息字节码,对信息字节码进行分块,获得多个数据块;还可以根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组,基于每个数据块对应的二维码图像组,获得传输信息对应的二维码图像集。进一步,可以将传输信息对应的二维码图像集发送至图像识读设备,以便图像识读设备获取每个二维码图像包括的数据信息,其中,数据信息中包括数据块标识;根据数据块标识对数据信息进行分组,获得多个数据信息组;基于纠删码编码机制将每个数据信息组还原为数据块信息;将所有数据块信息进行拼接,获得二维码图像集对应的传输信息。由于基于纠删码编码机制将每个数据块转换为二维码图像,使得数据被离散分布到更多的数据片中,数据被有效加密,从而使得数据安全性得到了极大提升。由于基于纠删码编码机制将每个数据信息组还原为数据块信息,这样,在缺失部分二维码图像或无法读取部分二维码图像时,仍然可以还原出数据块信息,从而使得数据传输有效性及稳定性得到较大提升。

本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参照即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。

基于上述所述一种数据传输方法,本说明书一个或多个实施例还提供一种数据传输装置。所述的装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

具体地,图7是本说明书提供的一种数据传输装置的一个实施例的模块结构示意图,如图7所示,本说明书提供的一种数据传输装置可以包括:获取模块120,分块模块122,处理模块124,获得模块126,发送模块128。

获取模块120,可以用于获取传输信息对应的信息字节码;

分块模块122,可以用于对所述信息字节码进行分块,获得多个数据块;

处理模块124,可以用于根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组;

获得模块126,可以用于基于每个数据块对应的二维码图像组,获得所述传输信息对应的二维码图像集;

发送模块128,可以用于将所述传输信息对应的二维码图像集发送至图像识读设备。

图8是本说明书提供的一种数据传输装置的另一个实施例的模块结构示意图,如图8所示,本说明书提供的一种数据传输装置可以包括:接收模块130,获取模块132,分组模块134,还原模块136,获得模块138。

接收模块130,可以用于接收图像生成设备发送的二维码图像集;其中,所述二维码图像集中包括多个二维码图像;

获取模块132,可以用于获取每个二维码图像包括的数据信息;其中,所述数据信息中包括数据块标识;

分组模块134,可以用于根据所述数据块标识对所述数据信息进行分组,获得多个数据信息组;

还原模块136,可以用于基于纠删码编码机制将每个数据信息组还原为数据块信息;

获得模块138,可以用于将所有数据块信息进行拼接,获得所述二维码图像集对应的传输信息。

需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

本说明书还提供一种数据传输设备的实施例,包括处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现上述任意一项方法的步骤。如所述指令被所述处理器执行时实现以下步骤:获取传输信息对应的信息字节码;对所述信息字节码进行分块,获得多个数据块;根据纠删码编码机制对每个数据块进行处理,得到每个数据块对应的二维码图像组;基于每个数据块对应的二维码图像组,获得所述传输信息对应的二维码图像集;将所述传输信息对应的二维码图像集发送至图像识读设备。

需要说明的,上述所述的设备根据方法或装置实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

本说明书所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图9是本说明书提供的一种数据传输服务器的一个实施例的硬件结构框图,该服务器可以是上述实施例中的数据传输装置或数据传输设备。如图9所示,服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输模块300。本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图9中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图9所示不同的配置。

存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的数据传输方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果。所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。

本说明书提供的上述数据传输方法或装置实施例可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现、linux系统实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。

需要说明的是说明书上述所述的装置、设备、系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把部分模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。

本发明是参照根据本发明实施例的方法、装置、设备、系统的流程图和/或方框图来描述的。应理解可由计算机程序指令实现,可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。

以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。

相关技术
  • 一种混合数据传输方法、数据传输方法及相关设备
  • 一种数据传输方法、数据传输装置、数据传输设备及终端
技术分类

06120113283679