数据传输方法及其装置、计算机可存储介质转让专利

申请号 : CN201910574939.1

文献号 : CN110299964B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 聂二保

申请人 : 京东数字科技控股有限公司

摘要 :

本公开涉及数据传输方法及其装置、计算机可存储介质,涉及计算机技术领域。基于区块链的数据传输方法包括:获取数据;根据所述数据,生成数据编码;将所述数据发送到数据容器;将所述数据编码发送到区块链。根据本公开,增加了匿名性,提高了隐私安全。

权利要求 :

1.一种基于区块链的数据传输方法,包括:获取数据;

分解所述数据,得到多个数据块,所述多个数据块分别具有一个序号,所述序号用于标识各个数据块的顺序;

为每个数据块分配一个碱基标签,所述碱基标签包括腺嘌呤A、鸟嘌呤G、胞嘧啶C或胸腺嘧啶T;

根据所述碱基标签、利用碱基配对原则,生成数据编码,所述多个数据块和所述数据编码具有相同的时间戳;

根据所述数据对应的各个数据块的时间戳与数据容器中的各个数据分区的时间段的对应关系,将所述数据的各个数据块发送到数据容器内对应的数据分区,每个数据分区分别对应一个时间段;

将所述数据容器中的所述多个数据块与除所述多个数据块以外的其他数据块混合均匀;

将所述数据编码发送到区块链。

2.根据权利要求1所述的数据传输方法,其中,将所述数据发送到数据容器包括:打乱所述多个数据块的顺序,得到处理后的数据;

将所述处理后的数据发送到数据容器。

3.根据权利要求1所述的数据传输方法,还包括:根据所述数据编码,生成广播消息;

对所述广播消息进行私钥签名;

向区块链广播私钥签名后的广播消息。

4.一种基于区块链的数据传输方法,包括:从区块链获取数据编码,所述数据编码包括各个数据块对应的碱基标签,各个数据块分别包括一个序号;

根据所述数据编码对应的时间戳与数据容器的各个数据分区对应的时间段的对应关系,根据各个数据块对应的碱基标签、利用碱基配对原则,从对应的数据分区获取多个数据块,每个数据分区分别对应一个时间段,所述数据容器中的所述多个数据块与除所述多个数据块以外的其他数据块均匀混合;

根据各个数据块的序号对各个数据块进行排序,还原得到对应的数据。

5.根据权利要求4所述的数据传输方法,其中,从区块链获取数据编码包括:接收并浏览区块链的私钥签名后的广播消息;

从所述私钥签名后的广播消息获取数据编码。

6.一种基于区块链的数据传输装置,包括:获取模块,被配置为获取数据;

分解模块,被配置为分解所述数据,得到多个数据块,所述多个数据块分别具有一个序号,所述序号用于标识各个数据块的顺序;

分配模块,被配置为为每个数据块分配一个碱基标签,所述碱基标签包括腺嘌呤A、鸟嘌呤G、胞嘧啶C或胸腺嘧啶T;

生成模块,被配置为根据所述碱基标签、利用碱基配对原则,生成数据编码,所述多个数据块和所述数据编码具有相同的时间戳;

第一发送模块,被配置为根据所述数据对应的各个数据块的时间戳与数据容器中的各个数据分区的时间段的对应关系,将所述数据的各个数据块发送到数据容器内对应的数据分区,每个数据分区分别对应一个时间段;

混合模块,被配置为将所述数据容器中的所述多个数据块与除所述多个数据块以外的其他数据块混合均匀;

第二发送模块,被配置为将所述数据编码发送到区块链。

7.一种基于区块链的数据传输装置,包括:第一获取模块,被配置为从区块链获取数据编码,所述数据编码包括各个数据块对应的碱基标签,各个数据块分别包括一个序号;

第二获取模块,被配置为根据所述数据对应的时间戳与数据容器的各个数据分区对应的时间段的对应关系,根据各个数据块对应的碱基标签、利用碱基配对原则,从对应的数据分区获取多个数据块,每个数据分区分别对应一个时间段,所述数据容器中的所述多个数据块与除所述多个数据块以外的其他数据块均匀混合;

还原模块,被配置为根据各个数据块的序号对各个数据块进行排序,还原得到对应的数据。

8.一种基于区块链的数据传输方法,包括:如权利要求1至3任一项所述的数据传输方法;和如权利要求4至5任一项所述的数据传输方法。

9.一种基于区块链的数据传输装置,包括:如权利要求6所述的数据传输装置;和

如权利要求7所述的数据传输装置。

10.一种基于区块链的数据传输装置,包括:存储器;以及

耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至5、8任一项所述的数据传输方法。

11.一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至5、8任一项所述的数据传输方法。

说明书 :

数据传输方法及其装置、计算机可存储介质

技术领域

[0001] 本公开涉及计算机技术领域,特别涉及数据传输方法及其装置、计算机可存储介质。

背景技术

[0002] 区块链技术为数字资产传输、加密数据存储等领域提供了数据加密和传输路径记录的良好解决方案。但是,随着区块链应用场景的不断拓展,区块链已有的技术问题不断显现,例如区块承载能力有限,导致区块链应用受到很大限制。
[0003] 相关的数据传输技术中,数据发送方直接与数据接收方交互,传输数据。

发明内容

[0004] 发明人认为:相关的数据传输技术数据发送方和数据接收方直接进行交互,传输数据,匿名性差,隐私安全性低。
[0005] 针对上述技术问题,本公开提出了一种解决方案,增加了匿名性,提高了隐私安全。
[0006] 根据本公开的第一方面,提供了一种基于区块链的数据传输方法,包括:获取数据;根据所述数据,生成数据编码;将所述数据发送到数据容器;将所述数据编码发送到区块链。
[0007] 在一些实施例中,根据所述数据,生成数据编码包括:分解所述数据,得到多个数据块;为每个数据块分别分配一个标签;根据所述多个数据块的标签,生成数据编码。
[0008] 在一些实施例中,为每个数据块分配一个标签包括:为每个数据块分配一个碱基标签,所述碱基标签包括腺嘌呤A、鸟嘌呤G、胞嘧啶C或胸腺嘧啶T。
[0009] 在一些实施例中,根据所述多个数据块的标签,生成数据编码包括:根据所述碱基标签、利用碱基配对原则,生成数据编码。
[0010] 在一些实施例中,所述多个数据块分别具有一个序号,所述序号用于标识各个数据块的顺序。
[0011] 在一些实施例中,将所述数据发送到数据容器包括:打乱所述多个数据块的顺序,得到处理后的数据;将所述处理后的数据发送到数据容器。
[0012] 在一些实施例中,所述多个数据块和所述数据编码具有相同的时间戳。
[0013] 在一些实施例中,所述数据容器包括多个数据分区,每个数据分区分别对应一个时间段,将所述数据发送到数据容器包括:根据所述数据对应的各个数据块的时间戳与各个数据分区的时间段的对应关系,将所述数据的各个数据块发送到对应的数据分区。
[0014] 在一些实施例中,数据传输方法还包括:根据所述数据编码,生成广播消息;对所述广播消息进行私钥签名;向区块链广播私钥签名后的广播消息。
[0015] 根据本公开第二方面,提供了一种基于区块链的数据传输方法,包括:从区块链获取数据编码;根据所述数据编码,从数据容器获取对应的数据。
[0016] 在一些实施例中,根据所述数据编码,从数据容器获取对应的数据包括:根据所述数据编码,从数据容器获取所述数据对应的多个数据块;根据所述多个数据块,还原得到对应的数据。
[0017] 在一些实施例中,根据所述数据编码,从数据容器获取所述数据对应的多个数据块包括:根据所述数据编码和所述数据编码对应的时间戳,从数据容器获取对应的数据的多个数据块。
[0018] 在一些实施例中,所述数据编码包括各个数据块对应的碱基标签,根据所述数据编码和所述数据编码对应的时间戳,从数据容器获取对应的数据的多个数据块包括:根据各个数据块对应的碱基标签和所述时间戳、利用碱基配对原则,从数据容器获取对应的数据的多个数据块。
[0019] 在一些实施例中,所述数据容器包括多个数据分区,每个数据分区分别对应一个时间段,根据所述数据编码和所述数据编码对应的时间戳,从数据容器获取对应的数据的多个数据块包括:根据所述数据对应的时间戳与所述数据容器的各个数据分区对应的时间段的对应关系,从对应的数据分区获取多个数据块。
[0020] 在一些实施例中,各个数据块分别包括一个序号,根据所述多个数据块,还原得到对应的数据包括:根据各个数据块的序号对各个数据块进行排序,还原得到对应的数据。
[0021] 在一些实施例中,从区块链获取数据编码包括:接收并浏览区块链的私钥签名后的广播消息;从所述私钥签名后的广播消息获取数据编码。
[0022] 根据本公开第三方面,提供了一种基于区块链的数据传输装置,包括:获取模块,被配置为获取数据;生成模块,被配置为根据所述数据,生成数据编码;第一发送模块,被配置为将所述数据发送到数据容器;第二发送模块,被配置为将所述数据编码发送到区块链。
[0023] 根据本公开第四方面,提供了一种基于区块链的数据传输装置,包括:第一获取模块,被配置为从区块链获取数据编码;第二获取模块,被配置为根据所述数据编码,从数据容器获取对应的数据。
[0024] 根据本公开第五方面,提供了基于区块链的数据传输方法,包括:上述任一实施例所述的数据传输方法;和上述任一实施例所述的数据传输方法。
[0025] 根据本公开第六方面,提供了一种基于区块链的数据传输装置,包括:上述任一实施例所述的数据传输装置;和上述任一实施例所述的数据传输装置。
[0026] 根据本公开第七方面,提供了一种基于区块链的数据传输装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的数据传输方法。
[0027] 根据本公开的第八方面,一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的数据传输方法。
[0028] 在上述实施例中,增加了匿名性,提高了隐私安全。

附图说明

[0029] 构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
[0030] 参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
[0031] 图1示出根据本公开一些实施例的数据传输方法的流程图;
[0032] 图2示出根据本公开一些实施例的生成数据编码的示意图;
[0033] 图3示出根据本公开的另一些实施例的数据传输方法的流程图;
[0034] 图4示出根据本公开一些实施例的数据传输方法的流程图;
[0035] 图5示出根据本公开一些实施例的数据传输装置的框图;
[0036] 图6示出了本公开一些实施例的数据传输装置的框图;
[0037] 图7示出根据本公开一些实施例的数据传输装置的框图;
[0038] 图8示出用于实现本公开一些实施例的计算机系统的框图。

具体实施方式

[0039] 现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0040] 同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0041] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
[0042] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0043] 在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0044] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0045] 图1示出根据本公开一些实施例的数据传输方法的流程图。
[0046] 如图1所示,数据传输方法包括步骤S110-步骤S140。在一些实施例中,数据传输方法由终端执行。例如,数据发送方或者数据提供方的终端可以通过Dapp(Decentralized Application,分散式的应用程序)进行数据传输操作。
[0047] 在步骤S110中,获取数据。例如,数据为数据包。在一些实施例中,数据发送方将数据包上传到终端。
[0048] 在步骤S120中,根据数据,生成数据编码。例如通过如下方式生成数据编码。
[0049] 下面将结合图2详细描述生成数据编码S120的步骤。
[0050] 图2示出根据本公开一些实施例的生成数据编码的示意图。
[0051] 首先,分解数据,得到多个数据块。如图2所示,数据例如为500个数据包(例如大小为100M)。将这500个数据包分解为100个数据块,每个数据块大小为1M。在一些实施例中,多个数据块分别具有一个序号。序号用于标识各个数据块的顺序。如图2所示,例如对100个数据块进行排序,得到各个数据块的序号1、2、3、4…。序号1、2、3、4…标识了各个数据块的顺序。应当注意,每个数据块的大小可以根据实际情况设定。
[0052] 然后,为每个数据块分配一个标签。在一些实施例中,为每个数据块分配一个碱基标签,所述碱基标签包括腺嘌呤A、鸟嘌呤G、胞嘧啶C或胸腺嘧啶T。腺嘌呤A、鸟嘌呤G、胞嘧啶C、胸腺嘧啶T为遗传学中的四种不同的碱基。如图2所示,例如为100个数据块分别随机分配一个碱基标签,得到碱基编码-A-T-C-G-A-T-C-G-…。
[0053] 最后,根据多个数据块的标签,生成数据编码。在一些实施例中,根据碱基标签、利用碱基配对原则,生成数据编码。碱基配对原则为A对应T、C对应G。如图2所示,例如利用碱基配对原则,得到碱基编码对应的数据编码-T-A-G-C-T-A-G-C-…。
[0054] 在步骤S130中,将数据发送到数据容器。例如,首先打乱多个数据块的顺序,得到处理后的数据,然后将处理后的数据发送到数据容器。如图2所示,例如打乱数据块的顺序为4、3、2、100、56…。
[0055] 在一些实施例中,数据容器为公有云或数据中间存储装置,提供数据存储功能。
[0056] 在一些实施例中,多个数据块和数据编码具有相同的时间戳。时间戳例如为数据生成时间。例如,数据容器包括多个数据分区。每个数据分区分别对应一个时间段。
[0057] 例如可以通过如下方式将数据发送到数据容器。根据数据对应的各个数据块的时间戳与各个数据分区的时间段的对应关系,将数据的各个数据块发送到对应的数据分区。
[0058] 在一些实施例中,数据容器拆散数据包对应的各个数据块,并将数据容器的所有数据包对应的各个数据块混合均匀,进一步提高了安全性。数据容器存在大量的数据块,增加通过排列组合方案恶意获取数据的难度。
[0059] 在步骤S140中,将数据编码发送到区块链。例如,数据发送方通过终端将数据上传到区块链。
[0060] 在一些实施例中,数据传输方法还包括以下步骤。
[0061] 首先,根据数据编码,生成广播消息。在一些实施例中,数据发送方通过终端将数据编码写入区块,生成三元组<数据编码,数据发送方的账户,数据接收方的账户>。
[0062] 然后,对广播消息进行私钥签名。在一些实施例中,数据发送方还通过终端支付区块链系统使用费燃料GAS。
[0063] 最后,向区块链广播私钥签名后的广播消息。在一些实施例中,广播消息包括数据编码和消息摘要明文。消息摘要明文例如为对数据来源、数据量、数据类型的描述。在一些实施例中,某一广播消息的摘要明文为某数据发送方名称、500个数据、全量数据的描述。
[0064] 图3示出根据本公开的另一些实施例的数据传输方法的流程图。
[0065] 如图3所示,数据传输方法包括步骤S310-步骤S320。例如,数据接收方通过终端执行数据传输方法。
[0066] 在步骤S310中,从区块链获取数据编码。在一些实施例中,通过如下方式实现从区块链获取数据编码。
[0067] 首先,接收并浏览区块链的私钥签名后的广播消息。例如,浏览广播消息的摘要明文,生成浏览记录四元组<数据编码,浏览记录,数据发送方的账户,数据接收方的账户>。
[0068] 然后,从私钥签名后的广播消息获取数据编码。例如,数据接收方通过终端对浏览记录进行私钥签名,支付给数据发送方令牌TOKEN和区块链系统使用费GAS,并向区块链全网广播。
[0069] 在一些实施例中,矿工收到数据接收方的浏览记录后,浏览并提取交易哈希值,将多个交易哈希值两两配对,采用已有技术得到梅克尔根植,组装区块,并将区块链到主区块链上。至此,数据接收方才能浏览并获取广播消息中的数据编码。应当理解,本公开基于公有链搭建,因此可以采用POW或POS作为共识算法等现有技术,本文不赘述。
[0070] 在步骤S320中,根据数据编码,从数据容器获取对应的数据。在一些实施例中,通过如下方式从数据容器获取对应的数据。
[0071] 首先,根据数据编码,从数据容器获取数据对应的多个数据块。例如,根据数据编码和数据编码对应的时间戳,从数据容器获取对应的数据的多个数据块。在一些实施例中,数据编码包括各个数据块对应的碱基标签。根据各个数据块对应的碱基标签和所述时间戳、利用碱基配对原则,从数据容器获取对应的数据的多个数据块。例如,根据数据编码A-C-T-G-C,以及时间戳1,从数据容器中获取对应的数据的包括具有碱基标签的T、G、A、C、G多个数据块。
[0072] 在一些实施例中,数据容器包括多个数据分区,每个数据分区分别对应一个时间段。根据数据对应的时间戳与数据容器的各个数据分区对应的时间段的对应关系,从对应的数据分区获取多个数据块。例如,时间戳为1,应该从时间段为0-3的数据分区获取多个数据块。
[0073] 然后,根据多个数据块,还原得到对应的数据。在一些实施例中,各个数据块分别包括一个序号。根据各个数据块的序号对各个数据块进行排序,还原得到对应的数据。例如,具有碱基标签的T、G、A、C、G多个数据块包括序号1、4、3、2。根据序号排序各个数据块,得到对应的数据1(T)-2(G)-3(C)-4(G)。应当注意,由于生成数据块过程中的随机性,时间戳一致、碱基标签也一致的数据块的存在概率很低,本公开暂不详细讨论。
[0074] 通过本公开的数据传输方法生成的数据编码具有唯一性,且不受数据发送方和数据接收方的影响。数据传输双方不再需要验证数据包对应的哈希值是否一致,减少了区块链验证数据接收方获取的数据包的哈希值和从数据发送方直接获取的数据包的哈希值是否一致的环节,减少了运算,从而提升了区块链的效率。
[0075] 图4示出根据本公开一些实施例的数据传输方法的流程图。
[0076] 如图4所示,数据传输方法包括如图1所示的步骤S110-步骤S140和如图3所示的步骤S310-步骤S320。
[0077] 图5示出根据本公开一些实施例的数据传输装置的框图。
[0078] 如图5所示,数据传输装置5包括:获取模块51,被配置为获取数据,例如执行如图1所示的步骤S110;生成模块52,被配置为根据数据,生成数据编码,例如执行如图1所示的步骤S120;第一发送模块53,被配置为将数据发送到数据容器,例如执行如图1所示的步骤S130;第二发送模块54,被配置为将数据编码发送到区块链,例如执行如图1所示的步骤S140。
[0079] 图6示出了本公开一些实施例的数据传输装置的框图。
[0080] 如图6所示,数据传输装置6包括第一获取模块61,被配置为从区块链获取数据编码,例如执行如图3所示的步骤S310;和第二获取模块62,被配置为根据数据编码,从数据容器获取对应的数据,例如执行如图3所示的步骤S320。
[0081] 图7示出根据本公开一些实施例的数据传输装置的框图。
[0082] 如图7所示,数据传输装置7包括存储器71;以及耦接至该存储器71的处理器72,存储器71用于存储执行数据传输方法对应实施例的指令。例如,存储器71存储Dapp的程序。处理器72被配置为基于存储在存储器71中的指令,执行本公开中任意一些实施例中的数据传输方法。
[0083] 图8示出用于实现本公开一些实施例的计算机系统的框图。
[0084] 如图8所示,计算机系统80可以通用计算设备的形式表现。计算机系统80包括存储器810、处理器820和连接不同系统组件的总线800。
[0085] 存储器810例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行数据传输方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
[0086] 处理器820可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
[0087] 总线800可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
[0088] 计算机系统80还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口830、840、850以及存储器810和处理器820之间可以通过总线800连接。输入输出接口830可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口840为各种联网设备提供连接接口。存储接口850为软盘、U盘、SD卡等外部存储设备提供连接接口。
[0089] 这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
[0090] 这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
[0091] 这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
[0092] 本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
[0093] 通过上述实施例中的数据传输方法及其装置、计算机可存储介质,增加了匿名性,提高了隐私安全性。
[0094] 至此,已经详细描述了根据本公开的数据传输方法及其装置、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。