一种基于区块链的数据处理方法、装置、设备及计算机存储介质

    专利查询2023-06-02  114



    1.本发明属于区块链领域,尤其涉及一种基于区块链的数据处理方法、装置、设备及计算机存储介质。


    背景技术:

    2.在大数据时代,数据交易行业高速发展,但也面临着较多的问题。由于数据是一种可复制、可篡改的交易产品,而且行业缺乏统一的标准,因此数据交易存在无限次倒卖、市场价值不断降低、所有权不明确、数据可靠性差等一系列问题,对于数据的溯源迫在眉睫。
    3.由于区块链具有可信任、去中心化、不可篡改、信息公开等特点,成为了溯源系统构建的首选技术。基于区块链的溯源系统,必然将极大推动数据交易行业的发展,使得在数据产品交易的过程中溯源变得更加有价值。但随着区块链技术的发展,区块链上存储着大量的数据信息,因此存储与查询的效率低下,导致难以展开对区块链上数据信息的溯源,同时,数据信息在区块链上的多个节点之间进行传输,无法保证所溯源到的数据信息的准确性。
    4.综上,现有技术中的区块链难以展开对区块链上数据信息的溯源,并无法保证所溯源到的数据信息的准确性。


    技术实现要素:

    5.本发明实施例提供一种基于区块链的数据处理方法、装置、设备及计算机存储介质,能够实现区块链上数据信息的精准溯源。
    6.第一方面,本发明实施例提供了一种基于区块链的数据处理方法,方法包括:
    7.第一目标访问节点对数据节点发出数据传输请求,在对目标访问节点认证通过后,允许第一目标访问节点与数据节点进行数据传输,并生成第一目标访问节点的访问记录,第一目标访问节点为多个访问节点中的任一节点;
    8.根据多个第二目标访问节点的访问记录,确定所传输的多个数据的空间戳信息,第二目标访问节点为第一目标访问节点中完成数据传输的访问节点;
    9.基于空间戳信息,对多个数据进行溯源。
    10.第二方面,本发明实施例提供了一种基于区块链的数据处理装置,装置包括:
    11.生成模块,用于通过第一目标访问节点对数据节点发出数据传输请求,在对目标访问节点认证通过后,允许第一目标访问节点与数据节点进行数据传输,并生成第一目标访问节点的访问记录,第一目标访问节点为多个访问节点中的任一节点;
    12.确定模块,用于根据多个第二目标访问节点的访问记录,确定所传输的多个数据的空间戳信息,第二目标访问节点为第一目标访问节点中完成数据传输的访问节点;
    13.溯源模块,用于基于空间戳信息,对区块链上传输的多个数据信息进行溯源。
    14.第三方面,本发明实施例提供了一种基于区块链的数据处理设备,设备包括:
    15.处理器,以及存储有计算机程序指令的存储器;处理器读取并执行计算机程序指令,以实现如本发明实施例第一方面所提供的基于区块链的数据处理方法。
    16.第四方面,本发明实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如本发明实施例第一方面所提供的基于区块链的数据处理方法。
    17.本发明实施例的基于区块链的数据处理方法、装置、设备及计算机存储介质,在访问节点对数据节点发出数据传输请求时,基于对访问节点对应访问节点的身份信息进行核查的认证机制,保证了数据节点与访问节点之间数据传输的安全性;结合上述身份认证的认证结果,生成访问节点的访问记录;同时根据完成了数据传输的多个访问节点的访问记录,确定所传输的多个数据的空间戳信息;基于空间戳信息,对数据信息进行溯源。相比于现有技术,从空间维度和时间维度上两个方面进行验证,有效避免了被其他访问节点假冒或转移身份的问题,同时降低数据信息在传输过程中被非法传播或泄露的可能性,实现对数据信息的精准溯源。
    附图说明
    18.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    19.图1是本发明实施例提供的一种基于区块链的数据处理方法的流程示意图;
    20.图2是本发明实施例提供的一种基于区块链的数据处理系统的流程示意图;
    21.图3是本发明实施例提供的一种私有链区块的结构示意图;
    22.图4是本发明实施例提供的一种联盟链区块的结构示意图;
    23.图5是本发明实施例提供的一种空间戳粒度可视化的结构示意图;
    24.图6是本发明实施例提供的一种区块链外联数据库的结构示意图;
    25.图7是本发明实施例提供的一种基于区块链的数据处理装置的结构示意图;
    26.图8是本发明实施例提供的一种基于区块链的数据处理设备的结构示意图。
    具体实施方式
    27.下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本发明,而不是限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
    28.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
    ……”
    限定的要素,并不排除在包括
    所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
    29.在大数据时代,数据交易行业高速发展,但也面临着较多的问题。由于数据产品是一种可复制、可篡改的交易产品,而且行业缺乏统一的标准,因此数据产品交易存在无限次倒卖、市场价值不断降低、所有权不明确、数据可靠性差等一系列问题,对于数据产品的溯源迫在眉睫。
    30.区块链具有可信任、去中心化、不可篡改、信息公开等特点,自然成为溯源系统构建的首选技术。基于区块链的溯源系统,必然将极大推动数据交易行业的发展,使得在数据产品交易的过程中溯源变得更加有价值。
    31.现有的区块链溯源系统包括以下几种:
    32.(1)沃尔顿链,它是一种结合了rfid技术与区块链技术的溯源系统,可防止溯源系统的信息被篡改并通过rfid防止标签复制。其通过母链子链来实现溯源功能。其中,子链上可开发不同的智能合约来满足不同应用场景的需求,而母链主要用于管理子链。
    33.(2)安信链(eximchain),它是在混合式公共、许可区块链上建立起来的联盟链系统。提供从以太坊分支,支持信息私密性的智能合约生态系统让企业为上下游供应链创造个性化的供应链金融产品。共识协议采用平方投票quadratic voting(qvec)来实现有限时间的安全性。从供应链金融到采购流程管理,利用智能合约帮助买家、卖家和资金提供方优化供应链系统。
    34.(3)使用双区块链的防伪溯源系统(traceability system using public and private blockchain,tsppb),它是包含公有链和私有链两套区块链,利用私有链高效、大容量存储以及公有链可信度高的特点,让私有链存储产品各个环节的数据,公有链存储每件产品的标签信息,以确保获得的溯源信息的真实可靠、不可篡改,并解决传统产品溯源系统存在的产品标签复制、滥发和产品质量问题发生环节和相关责任人定位困难的问题,同时确保高效且保持低成本地运行。
    35.(4)蚂蚁区块链溯源服务系统(ant blockchain traceability as a service,taas),利用区块链和物联网技术追踪记录有形商品流转链条,把商品的品质信息、物流信息、质检信息等关于商品特征的数据,不可篡改的登记在区块链上。从基础商品的维度,对品牌商、商品、批次、溯源环节、溯源信息等进行灵活的配置,从而实现溯源管理。
    36.(5)轻量级比特币交易溯源机制,是一种针对比特币交易的溯源机制,能够追踪交易信息在网络层的传播路径,从而将交易中的匿名比特币地址和发起交易节点的ip地址相关联。通过设计一种基于主动嗅探的邻居节点识别方法,该溯源机制支持轻量级监测,相比现有溯源技术具有更好的实用性。
    37.(6)唯链(vechain),它提供了农业、电子证件档案、汽车行业、新零售、物流运输等不同领域的产品全过程信息追溯,其基本方法主要是将过程信息存证于区块链上,并且提供参与方及终端用户共享。京东智臻链同样提供baas服务,在追溯领域的解决方案包括:按照统一的编码机制,为每件商品的最小包装赋予唯一的身份标识,实现消费者线上验真伪。将商品生产、加工、包装、出厂等信息,结合京东仓储出入库、订单、物流等信息,实现商品全程品质信息可追溯。
    38.但上述基于区块链产品溯源系统主要是以实物类产品交易溯源为主,缺乏数据产品的溯源机制,且将已有的溯源机制直接应用于数据产品的溯源时存在如下不足:
    39.(1)存储与查询效率低下。基于区块链的溯源系统,尽管有着保证产品真实可靠、保证每个生产环节透明公开、落实责任追究等功能而有着广阔的应用前景与价值,但在区块链上存储大量的信息以及频繁的查询,这在查询效率方面遇到了极大的挑战。特别是,对于数据产品,将所有数据存储在区块链上来实现查询和溯源是难以实现的。
    40.(2)数据产品交易的精准溯源机制存在不足。现有的溯源系统主要是针对实物类产品溯源,如奶粉、农产品、工业用品、档案信息等,在交易和流通的每个环节相关信息容易被获取和记录。但在数据产品交易过程中,一旦数据被获取后可以被不同人员多次复制使用,从而给数据安全和产权保护带来挑战,在遇到数据被非法传播或泄漏时难以开展精准溯源。
    41.为了解决现有技术的不足,本发明实施例提供一种基于区块链的数据处理方法、装置、设备及计算机存储介质,用以降低数据信息在传输过程中被非法传播或泄露的可能性,实现对数据信息的精准溯源。
    42.下面首先对本发明实施例所提供的一种基于区块链的数据处理方法进行介绍。
    43.图1示出了本发明一个实施例提供的基于区块链的数据处理方法的流程示意图。如图1所示,该方法可以包括以下步骤:
    44.s101,第一目标访问节点对数据节点发出数据传输请求,在对目标访问节点认证通过后,允许第一目标访问节点与数据节点进行数据传输,并生成第一目标访问节点的访问记录,第一目标访问节点为多个访问节点中的任一节点。
    45.在一些实施例中,区块链至少包括私有链与联盟链;
    46.多个访问节点至少包括至少一个第一访问节点和至少一个第二访问节点;
    47.私有链由数据节点与至少一个第一访问节点组成;
    48.联盟链由数据节点与至少一个第二访问节点组成。
    49.可选的,第一访问节点可以用于向数据节点提供数据和/或下载数据节点的数据,第二访问节点可以用于向数据节点提供数据和/或下载数据节点的数据,本发明对此均不作限定。
    50.在一些实施例中,第一目标访问节点对数据节点发出数据传输请求,在对目标访问节点认证通过后,允许第一目标访问节点与数据节点进行数据传输,并生成第一目标访问节点的访问记录,可以包括:
    51.第一目标访问节点对数据节点发出数据传输请求,对第一目标访问节点进行身份认证;
    52.身份认证包括检测第一目标访问节点的密钥信息、地理位置信息与ip地址,若密钥信息、地理位置信息与ip地址正确,则允许第一目标访问节点与数据节点进行数据传输,否则拒绝数据传输请求;
    53.根据身份认证的认证结果,生成第一目标访问节点的访问记录。
    54.在一些实施例中,当第一目标访问节点为联盟链上的第二访问节点时,对第一目标访问节点的节点认证在身份认证之前,还可以包括:
    55.对第一目标访问节点的访问期限进行核对,当确定数据传输请求在访问期限内时,对第一目标访问节点进行身份认证,若超出访问期限则拒绝该访问,访问期限是根据第一目标访问节点与数据节点之间建立的智能合约所确定的。
    56.可选的,对第一目标访问节点的密钥信息认证具体可以通过以下方式:
    57.系统初始化,访问节点输入一个安全参数k,由此,密钥生成中心pkg系统公开参数param和pkg的主私钥s,同时pkg系统保存主私钥s;
    58.密钥提取,访问节点在区块链系统中完成注册后,pkg根据访问节点id生成私钥d
    id
    ,同时用私钥d
    id
    对公钥(p
    id
    =id)进行签名生成s(p
    id
    ),将公钥及签名(p
    id
    ,s(p
    id
    ))放进区块链中并公开。
    59.当访问节点为联盟链上的节点时,密钥信息认证还可以包括:
    60.会话密钥管理,会话秘钥更新时系统根据系统公开参数param,生成新的会话私钥sd
    id
    和会话公钥sp
    id
    ,用会话私钥对会话公钥签名生成s(sp
    id
    ),将会话公钥及其签名(s(p
    id
    ),s(sp
    id
    ))存放到区块链中并公开;
    61.会话实现,节点a要与节点b进行数据共享时,查询区块链上节点b的最新会话公钥sp
    idb
    以及签名s(sp
    id
    )b,同时用sp
    idb
    验证签名s(sp
    id
    )b,以确保会话公钥的正确性,节点a可得会话秘钥speaka=(sp
    idb
    )
    sdida
    ,同理,节点b则可获得会话秘钥speakb=(sp
    ida
    )
    sdidb
    ,且speaka=speakb。
    62.可选的,对第一目标访问节点的ip地址认证具体可以通过以下方式:
    63.访问节点在首次注册时,系统就将分配访问节点的身份id,同时绑定ip地址,将其记录在区块链上,并添加至白名单中;
    64.访问节点登录认证时,查看访问节点是否在白名单中,即同时认证访问节点的身份id、私钥以及绑定的ip地址,若匹配正确,则认证成功,生成身份认证信息,否则认证失败,失败超过预设次数则加入黑名单中。
    65.在一些实施例中,根据身份认证的认证结果,生成第一目标访问节点的访问记录,可以包括:
    66.在密钥信息、地理位置信息与ip地址中有任一个认证失败的情况下,生成拒绝访问的访问记录;
    67.在密钥信息、地理位置信息与ip地址均认证通过的情况下,生成允许访问的访问记录;
    68.访问记录中至少包括访问节点的以下至少一项信息:密钥信息、地理位置信息、ip地址、传输时间信息。
    69.可选的,访问节点与数据节点之间的数据传输均以智能合约为基础,通过智能合约确定访问节点的访问期限,同时也基于智能合约生成访问记录,智能合约的构建及执行可以包括:
    70.访问节点提交合约构建申请给智能合约服务器,生成合约并由服务器发布到区块链生效,形成与数据节点之间的区块链智能合约;
    71.智能合约开始执行,每次访问前智能合约会对访问节点进行身份认证,即检查访问节点的密钥信息、地理位置信息以及ip地址是否正确,如果正确,智能合约允许访问节点访问数据节点,否则,拒绝访问,同时将访问记录存入区块链中;
    72.智能合约到期后,智能合约服务器生成一条合约记录并发布到区块链,合约执行中止。
    73.可选的,当上述访问节点是联盟链上的第二访问节点时,在形成智能合约之后,访
    问节点提交合约构建申请给智能合约服务器之前,还可以包括:
    74.数据节点将己方银行账号ma提供给智能合约服务器,访问节点通过己方银行账号mb向智能合约服务器支付一定费用。
    75.可选的,当上述访问节点是联盟链上的第二访问节点时,智能合约开始执行之后,对访问节点进行身份认证之前,还可以包括:
    76.对访问节点的访问期限进行核对,当确定数据传输请求在访问期限内时,对第一目标访问节点进行身份认证,若超出访问期限则拒绝该访问,访问期限是由智能合约确定的。
    77.上述智能合约执行的整个过程受到所有参与者监管,所有参与者都可以通过区块链查询智能合约的执行情况。
    78.在区块链系统中身份认证是一项关键技术,节点身份决定了其相应权限、用户的隐私及其真实世界中的角色,通常使用基于身份的公钥加密体系来完成对节点身份的认证。因此需要对密钥进行严格管理,一旦密钥丢失就无法在整个区块链中实现同步,这将对区块链中各节点的身份认证以及信任问题带来很多的困扰。在数据产品区块链中因为不同数据的密级程度而对应相应等级身份权限,则更需要将公私钥与节点身份绑定,并利用智能合约进行密钥的更新和分配,提高节点认证的安全性。
    79.s102,根据多个第二目标访问节点的访问记录,确定所传输的多个数据的空间戳信息,第二目标访问节点为第一目标访问节点中完成数据传输的访问节点。
    80.在一些实施例中,根据多个第二目标访问节点的访问记录,确定所传输的多个数据的空间戳信息,可以包括:
    81.根据多个第二目标访问节点的访问记录,对多个第二目标访问节点进行身份认证;
    82.在身份认证通过的情况下,通过多个第二目标访问节点的访问记录确定多个第二目标访问节点的地理位置信息,以及多个数据的传输时间信息;
    83.根据多个第二目标访问节点的地理位置信息,以及多个数据的传输时间信息,确定所传输的多个数据的空间戳信息。
    84.在一些实施例中,根据多个第二目标访问节点的地理位置信息,以及多个数据的传输时间信息,确定多个数据的空间戳信息,可以包括:
    85.根据多个第二目标访问节点的地理位置信息,对多个地理位置分别进行多粒度表达,确定多个不同空间粒度的空间模型;
    86.根据多个数据的传输时间信息,对多个传输时间分别进行多粒度表达,确定多个不同时间粒度的离散时刻;
    87.基于地学信息系统,根据多个不同空间粒度的空间模型和多个不同时间粒度的离散时刻,确定多个数据的空间戳信息。
    88.在一些实施例中,根据多个不同空间粒度的空间模型和多个不同时间粒度的离散时刻,确定多个数据的空间戳信息,可以包括:
    89.根据多个不同空间粒度的空间模型和多个不同时间粒度的离散时刻,对所传输的多个数据转换至同一时空粒度的地图上进行分析,确定多个数据的空间戳信息;或者,
    90.根据多个不同空间粒度的空间模型和多个不同时间粒度的离散时刻,对所传输的
    多个数据在不同时空粒度的地图上进行分析,确定多个数据的空间戳信息。
    91.在一些实施例中,利用区块链的透明性以及不可篡改等特征,在区块链上数据传输的基础上,增加空间戳的概念,实现从“时间维度”和“空间维度”两方面的身份控制,降低身份假冒、身份转移等多种问题的出现。
    92.数据节点获取区块链中各节点的空间戳,并对数据传输双方实体在不同时空位置进行多粒度表达(即根据不同细度对位置进行划分,例如可以按照道路、社区、城市进行划分),通过地学信息系统gis进行核密度可视化操作进行数据分析。
    93.在时间维度上,将不同时段或时刻转换为一系列不同时间粒度的离散时间点。空间维度上构建一种具有不同空间粒度的“全局-相对-对象”三级空间,将粒度细化到进行精准定位溯源的空间模块。
    94.根据上述离散时间点和空间模型,可以开展不同时空粒度下分析,也可将不同时空粒度下的空间位置信息转换到同一时空粒度进行分析,本发明对此不作限定。
    95.上述通过ip地址限制与空间戳匹配的数据溯源方式,有效降低了数据被未经授权的第三方使用可能性。一旦对数据进行了确权,就要保证数据的使用权,避免用户非法将数据的使用权转让给第三方使用,从而无法保证数据安全。
    96.s103,基于空间戳信息,对多个数据进行溯源。
    97.本发明实施例的基于区块链的数据处理方法、装置、设备及计算机存储介质,在访问节点对数据节点发出数据传输请求时,基于对访问节点对应智能合约中的访问期限、和访问节点的身份信息进行核查的双重认证机制,保证了数据节点与访问节点之间数据传输的安全性;结合上述双重认证的认证结果,生成访问节点的访问记录;同时根据完成了数据传输的多个访问节点的访问记录,确定多个数据传输在同一时空粒度上空间戳信息;基于空间戳信息,对数据信息进行溯源。相比于现有技术,从空间维度和时间维度上两个方面进行验证,有效避免了被其他访问节点假冒或转移身份的问题,同时降低数据信息在传输过程中被非法传播或泄露的可能性,实现对数据信息的精准溯源。
    98.为了便于理解,下面结合附图对本发明实施例提供的基于区块链的数据处理方法,并通过具体实施例进行详细说明。
    99.如图2所示,a公司即a公司旗下至少一个分公司中的任一公司,为a公司提供数据,至少一个用户从a公司下载数据。如图3所示,a公司旗下至少一个分公司与a公司之间组成私有链,如图4所示,至少一个用户与a公司之间组成联盟链。下面对本发明实施例提供的基于区块链的数据处理方法,通过数据传输和数据溯源两个方面进行详细说明。
    100.实施例一、基于区块链的数据传输
    101.可选的,私有链中的数据提供方为a公司提供数据,生成数据产品;联盟链中的数据使用方从a公司中下载数据,实现数据交易和使用,上述数据产品的生成与使用均以智能合约的构建为基础,其中,智能合约的执行可以包括以下步骤:
    102.步骤a1,建立智能合约
    103.a公司或用户提交合约构建申请给智能合约服务器,生成合约并由服务器发布到区块链生效,形成与a公司之间的区块链智能合约。
    104.当节点为用户时,步骤a1还可以包括:
    105.a公司将己方银行账号ma提供给智能合约服务器;
    106.用户通过己方银行账号mb向智能合约服务器支付一定费用。
    107.步骤a2,基于智能合约使用数据
    108.智能合约开始执行,每次访问前智能合约会对a公司或用户进行身份验证,即检查a公司或用户的密钥信息、地理位置信息以及ip地址是否正确,如果正确,智能合约允许a公司或用户访问a公司数据库,否则,拒绝访问,同时将访问记录存入区块链中。
    109.当节点为用户时,智能合约开始执行之后,对访问节点进行身份认证之前,步骤a2还可以包括:
    110.对用户的访问期限进行核对,当确定数据传输请求在访问期限内时,对用户进行身份认证,若超出访问期限则拒绝该访问,访问期限是由智能合约确定的。
    111.步骤a3,智能合约定期检查
    112.智能合约到期后,智能合约服务器生成一条合约记录并发布到区块链,合约执行中止。
    113.上述智能合约执行的整个过程受到所有参与者监管,所有参与者都可以通过区块链查询智能合约的执行情况。
    114.在智能合约的执行期限内,作为数据提供方,a公司在上传数据的同时利用公私密钥实时更新的方式进行身份验证,保障数据上传过程中的稳定性与安全性。在数据审核通过后,添加数字水印成为数据产品上传到a公司的数据库中。
    115.作为数据使用方,用户在下载数据的同时同样利用公司密钥实施更新的方式进行身份验证,保障数据下载过程中的稳定性与安全性。用户申请加入联盟链,在提交申请后进行资格审查,审查通过后成为联盟链的一员,普通用户可单次访问区块链的数据库,vip用户在一年之内可以任意次数访问下载。用户在注册的同时,用户id、ip地址和空间戳信息都会实时记录在区块链中。
    116.联盟链中的用户,可以对数据库中的数据产品进行共享,在共享的过程中公私密钥实时更新保证账号密钥的安全性,同时增加会话密钥保证数据传输过程中的安全性,共享成功后,用户双方的空间戳信息、共享记录、确权证书等都会记录在联盟链上,确保日后对数据溯源。
    117.可选的,a公司上传数据至a公司可以包括以下步骤:
    118.步骤b1,a公司经过身份认证后,将身份认证信息作为公钥基于身份加密算法(ibe),并通过私钥生成中心(pkg)生成与公钥对应的私钥,同时将此公钥发布在网络中,经过特定周期后验证有效的公钥将发布在区块链最新区块中。
    119.步骤b2,在更新密钥时,上传设备使用现有的安全密码算法生成更新的公私钥对,并将最新公钥发布在区块链中,通过签名算法确保公钥更新的有效性。
    120.步骤b3,从区块链中获取a公司所对应的最新公钥,对a公司进行数据传输。
    121.通过上述步骤,私有链上的密钥在特定周期进行更新,从而防止黑客盗取密钥,上传伪造数据,保证数据真实可靠。
    122.可选的,用户从a公司下载数据可以包括以下步骤:
    123.步骤c1,用户经过身份认证后,将身份认证信息作为公钥基于身份加密算法(ibe),并通过私钥生成中心(pkg)生成与公钥对应的私钥,同时将此公钥发布在网络中,经过特定周期后验证有效的公钥将发布在区块链最新区块中。
    124.步骤c2,在更新密钥时,下载设备使用现有的安全密码算法生成更新的公私钥对,并将最新公钥发布在区块链中,通过签名算法确保公钥更新的有效性。
    125.步骤c3,从区块链中获取用户所对应的最新公钥,从a公司进行数据下载。
    126.步骤c4,下载设备使用现有的安全密码算法生成更新的会话公私钥对,并将最新会话密钥发布在区块链中,在会话密钥协商时即用户从a公司获取数据时,a公司通过区块链查询会员最新的会话公钥和公钥,计算得到会话密钥,允许该用户与其他用户进行数据共享。
    127.通过上述步骤,联盟链上的密钥在特定周期进行更新,保证用户下载数据的安全性,同时实现不同用户之间会话密钥异步更新、查询和协商,对数据交易进行加密保证传输过程中的安全快捷。
    128.可选的,密钥及会话密钥的生成、更新及管理可以包括以下步骤:
    129.步骤d1,系统初始化。用户输入一个安全参数k,由此,密钥生成中心pkg系统公开参数param和pkg的主私钥s,同时pkg系统保存主私钥s。
    130.步骤d2,密钥提取。用户在系统中完成注册后,用户要与a公司请求数据传输时pkg根据用户id生成用户私钥d
    id
    ,同时用私钥d
    id
    对公钥(p
    id
    =id)进行签名生成s(p
    id
    ),将公钥及签名(p
    id
    ,s(p
    id
    ))放进区块链中,对外公开。
    131.步骤d3,会话密钥管理。会话秘钥更新时,系统根据系统公开参数param,生成新的会话私钥sd
    id
    和会话公钥sp
    id
    ,用会话私钥对会话公钥签名生成s(sp
    id
    ),将会话公钥及其签名(s(p
    id
    ),s(sp
    id
    ))存放到区块链中,对外公开。
    132.步骤d4,会话实现。用户对a公司的数据传输请求通过后,与a公司进行数据传输时,查询区块链上b的最新会话公钥sp
    idb
    以及签名s(sp
    id
    )b,同时用sp
    idb
    验证签名s(sp
    id
    )b,以确保会话公钥的正确性,用户a可得会话秘钥speaka=(sp
    idb
    )
    sdida
    ,同理,用户b则可获得会话秘钥speakb=(sp
    ida
    )
    sdidb
    ,且speaka=speakb。
    133.可选的,步骤b1与步骤c1中对用户或a公司进行身份认证,获取身份认证信息可以包括以下步骤:
    134.步骤e1,用户或a公司在首次注册时,系统就将分配用户或a公司的身份id,同时绑定ip地址、地理位置信息,将其记录在区块链上。
    135.步骤e2,用户或a公司登录认证时,同时认证用户或a公司的身份id、私钥以及绑定的ip地址、地理位置信息,若匹配正确,则认证成功,生成身份认证信息,否则认证失败。
    136.实施例二、基于区块链的数据溯源
    137.利用区块链的透明性以及不可篡改等特征,在区块链上数据传输的基础上,增加空间戳的概念,实现从“时间维度”和“空间维度”两方面的身份控制,降低身份假冒、身份转移等多种问题的出现。
    138.a公司获取区块链中各节点的空间戳,并对数据传输双方实体在不同时空位置进行多粒度表达(即根据不同细度对位置进行划分,例如可以按照道路、社区、城市进行划分),通过地学信息系统gis进行核密度可视化操作进行数据分析。其中,各节点包括所有分公司和用户。
    139.在时间维度上,将不同时段或时刻转换为一系列不同时间粒度的离散时间点。空间维度上构建一种具有不同空间粒度的“全局-相对-对象”三级空间,将粒度细化到进行精
    准定位溯源的空间模块。
    140.对各节点ip地址进行认证,同时可以开展不同时空粒度下分析,也可将不同时空粒度下的空间位置信息转换到同一时空粒度进行分析本发明对此不作限定。
    141.可选的,对区块链上的数据进行溯源可以包括如下步骤:
    142.步骤f1,调用外联数据库,获取各节点的空间戳信息。
    143.步骤f2,将各节点的空间戳信息导入excel,转换为csv数据。
    144.步骤f3,将csv数据导入gis,建立地理坐标系,使其带有经纬度的地理信息能基于所建立的地理坐标系在空间上落位。
    145.步骤f4,指定某一地理坐标系。
    146.步骤f5,对多个节点带有经纬度的地理信息进行投影转换,统一至所指定地理坐标系中。
    147.步骤f6,通过核密度分析将空间戳信息在地图上进行精确性定位分析。
    148.步骤f7,合并图层,效果显示图如图5所示,该图将对数据传输双方的空间位置进行溯源,在地图上进行展示。
    149.需要说明的是,区块链的数据查询有两种方式,一种是外联数据库,另一种是内置索引。两种方式各有千秋,但考虑到溯源系统本身频繁的存储、查询操作,在原有的区块链基础上,本方案修改存储查询层,保持基本架构不变,提供一个接口与外部的数据库相连,数据主要都存放在外连数据库中,区块上存储元数据,比如数据存储的位置等等。较为典型的是巨链数据库(bigchaindb)系统,它将查询交给后端数据库执行,而区块链则仅用以防止篡改保证数据的安全性,且提高存储与查询效率。
    150.如图6所示,本发明实施例中区块链底层采用外联数据库,它是一种在区块链外层设计的查询,将区块链数据同步到外部数据库中,并借助外部数据库提供的功能接口设计查询层。其设计了区块链数据监听系统,将链上数据复制到分布式文档存储数据库(mongodb)中,然后利用mongodb执行分析查询操作。mongodb是一个开源的跨平台nosql数据库,支持灵活模式,可以轻松配置实现可缩性。这种方法不需要修改原有的区块链系统,直接在区块链系统之上实现查询层即可。
    151.图6中,区块链外联数据库结构包括3个主要部分:数据监测与解析模块、外部数据库和查询应用程序接口(application program interface,api)。数据监测与解析模块:负责实时同步来自区块链的数据(区块链底层数据库leveldb的key/value);外部数据库:将设计属于本系统专属数据库,在区块链系统运行阶段,数据监听与解析模块通过区块链提供的api监听区块数据并导入到外部数据库中。查询主要借助外部数据库提供的查询接口实现,数据监听模块通过以太坊提供的api读取数据。关于区块链系统中查询处理模块设计的研究主要优势依然在于将外部数据库作为媒介,以简单的实现方式换取查询效率和丰富的查询功能。
    152.下面结合图7详细介绍本发明实施例提供的基于区块链的数据处理装置。
    153.图7示出了根据本发明实施例提供的一种基于区块链的数据处理装置的结构示意图。如图7所示,基于区块链的数据处理装置700包括:
    154.生成模块701,用于通过第一目标访问节点对数据节点发出数据传输请求,在对目标访问节点认证通过后,允许第一目标访问节点与数据节点进行数据传输,并生成第一目
    标访问节点的访问记录,第一目标访问节点为多个访问节点中的任一节点;
    155.确定模块702,用于根据多个第二目标访问节点的访问记录,确定所传输的多个数据的空间戳信息,第二目标访问节点为第一目标访问节点中完成数据传输的访问节点;
    156.溯源模块703,用于基于空间戳信息,对多个数据进行溯源。
    157.在一些实施例中,生成模块701可以包括:
    158.请求单元,用于通过第一目标访问节点对数据节点发出数据传输请求,对第一目标访问节点进行身份认证;
    159.第一认证单元,用于对第一目标访问节点进行身份认证,身份认证包括检测第一目标访问节点的密钥信息、地理位置信息与ip地址,若密钥信息、地理位置信息与ip地址正确,则允许第一目标访问节点与数据节点进行数据传输,否则拒绝数据传输请求;
    160.生成单元,用于根据身份认证结果,生成第一目标访问节点的访问记录。
    161.在一些实施例中,生成单元可以包括:
    162.第一生成子单元,用于在密钥信息、地理位置信息与ip地址中有任一个认证失败的情况下,生成拒绝访问的访问记录;
    163.第二生成子单元,用于在所述密钥信息、地理位置信息与ip地址均认证通过的情况下,生成允许访问的访问记录;
    164.所述访问记录中至少包括访问节点的以下至少一项信息:密钥信息、地理位置信息、ip地址、传输时间信息。
    165.在一些实施例中,确定模块702可以包括:
    166.第二认证单元,用于根据多个第二目标访问节点的访问记录,对多个第二目标访问节点进行身份认证;
    167.第一确定单元,用于在身份认证通过的情况下,通过多个第二目标访问节点的访问记录确定多个第二目标访问节点的地理位置信息,以及多个数据的传输时间信息;
    168.第二确定单元,用于根据多个第二目标访问节点的地理位置信息,以及多个数据的传输时间信息,确定所传输的多个数据的空间戳信息。
    169.在一些实施例中,第二确定单元可以包括:
    170.第一确定子单元,用于根据多个第二目标访问节点的地理位置信息,对多个地理位置分别进行多粒度表达,确定多个不同空间粒度的空间模型;
    171.第二确定子单元,用于根据多个数据的传输时间信息,对多个传输时间分别进行多粒度表达,确定多个不同时间粒度的离散时刻;
    172.第三确定子单元,用于基于地学信息系统,根据多个不同空间粒度的空间模型和多个不同时间粒度的离散时刻,确定多个数据的空间戳信息。
    173.在一些实施例中,第三确定子单元具体可用于:
    174.根据多个不同空间粒度的空间模型和多个不同时间粒度的离散时刻,对所传输的多个数据转换至同一时空粒度的地图上进行分析,确定多个数据的空间戳信息;或者,
    175.根据多个不同空间粒度的空间模型和多个不同时间粒度的离散时刻,对所传输的多个数据在不同时空粒度的地图上进行分析,确定多个数据的空间戳信息。
    176.在一些实施例中,区块链至少包括私有链与联盟链;
    177.多个访问节点至少包括至少一个第一访问节点和至少一个第二访问节点;
    178.私有链由数据节点与至少一个第一访问节点组成;
    179.联盟链由数据节点与至少一个第二访问节点组成。
    180.根据本发明实施例提供的基于区块链的数据处理装置的其他细节与以上结合图1-图6描述的根据本发明实施例的基于区块链的数据处理方法类似,在此不再赘述。
    181.图8示出了本发明实施例提供的基于区块链的数据处理的硬件结构示意图。
    182.结合图1-图7描述的根据本发明实施例提供的基于区块链的数据处理方法和装置可以由基于区块链的数据处理设备来实现。图8是示出根据发明实施例的基于区块链的数据处理设备的硬件结构800示意图。
    183.在基于区块链的数据处理设备可以包括处理器801以及存储有计算机程序指令的存储器802。
    184.具体地,上述处理器801可以包括中央处理器(central processing unit,cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。
    185.存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在一个实例中,存储器302可以包括可移除或不可移除(或固定)的介质,或者存储器802是非易失性固态存储器。存储器802可在综合网关容灾设备的内部或外部。
    186.在一个实例中,存储器802可以是只读存储器(read only memory,rom)。在一个实例中,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
    187.处理器801通过读取并执行存储器802中存储的计算机程序指令,以实现图1所示实施例中的方法/步骤s101至s103,并达到图1所示实例执行其方法/步骤达到的相应技术效果,为简洁描述在此不再赘述。
    188.在一个示例中,基于区块链的数据处理设备还可包括通信接口803和总线810。其中,如图8所示,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。
    189.通信接口803,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
    190.总线810包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(accelerated graphics port,agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,eisa)总线、前端总线(front side bus,fsb)、超传输(hyper transport,ht)互连、工业标准架构(industry standard architecture,isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
    191.本发明实施例提供的基于区块链的数据处理设备通过在区块链上数据传输的基
    础上,增加空间戳信息的方法,从时间维度和空间维度两个方面对区块链上的节点进行身份控制,有效避免了被其他节点假冒或转移身份的问题,同时降低数据信息在传输过程中被非法传播或泄露的可能性,实现对数据信息的精准溯源。
    192.另外,结合上述实施例中的基于区块链的数据处理方法,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种基于区块链的数据处理方法。
    193.需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
    194.以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(application specific integrated circuit,asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(radio frequency,rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
    195.还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
    196.上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
    197.以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

    技术特征:
    1.一种基于区块链的数据处理方法,其特征在于,所述区块链包括数据节点与多个访问节点,所述方法包括:第一目标访问节点对所述数据节点发出数据传输请求,在对所述目标访问节点认证通过后,允许所述第一目标访问节点与所述数据节点进行数据传输,并生成所述第一目标访问节点的访问记录,所述第一目标访问节点为所述多个访问节点中的任一节点;根据多个第二目标访问节点的访问记录,确定所传输的多个数据的空间戳信息,所述第二目标访问节点为所述第一目标访问节点中完成数据传输的访问节点;基于所述空间戳信息,对所述多个数据进行溯源。2.根据权利要求1所述的方法,其特征在于,所述第一目标访问节点对所述数据节点发出数据传输请求,在对所述目标访问节点认证通过后,允许所述第一目标访问节点与所述数据节点进行数据传输,并生成所述第一目标访问节点的访问记录,包括:所述第一目标访问节点对所述数据节点发出数据传输请求,对所述第一目标访问节点进行身份认证;所述身份认证包括检测所述第一目标访问节点的密钥信息、地理位置信息与ip地址,若所述密钥信息、地理位置信息与ip地址正确,则允许所述第一目标访问节点与所述数据节点进行数据传输,否则拒绝所述数据传输请求;根据所述身份认证的认证结果,生成所述第一目标访问节点的访问记录。3.根据权利要求2所述的方法,其特征在于,所述根据所述身份认证的认证结果,生成所述第一目标访问节点的访问记录,包括:在所述密钥信息、地理位置信息与ip地址中有任一个认证失败的情况下,生成拒绝访问的访问记录;在所述密钥信息、地理位置信息与ip地址均认证通过的情况下,生成允许访问的访问记录;所述访问记录中至少包括访问节点的以下至少一项信息:密钥信息、地理位置信息、ip地址、传输时间信息。4.根据权利要求1所述的方法,其特征在于,所述根据多个第二目标访问节点与所述数据节点的访问记录,确定所传输的多个数据的空间戳信息,包括:根据所述多个第二目标访问节点的访问记录,对所述多个第二目标访问节点进行身份认证;在所述身份认证通过的情况下,通过所述多个第二目标访问节点的访问记录,确定所述多个第二目标访问节点的地理位置信息,以及所述多个数据的传输时间信息;根据所述多个第二目标访问节点的地理位置信息,以及所述多个数据的传输时间信息,确定所传输的多个数据的空间戳信息。5.根据权利要求4所述的方法,其特征在于,所述根据所述多个第二目标访问节点的地理位置信息,以及所述多个数据的传输时间信息,确定所述多个数据的空间戳信息,包括:根据所述多个第二目标访问节点的地理位置信息,对多个地理位置分别进行多粒度表达,确定多个不同空间粒度的空间模型;根据所述多个数据的传输时间信息,对多个传输时间分别进行多粒度表达,确定多个不同时间粒度的离散时刻;
    基于地学信息系统,根据所述多个不同空间粒度的空间模型和所述多个不同时间粒度的离散时刻,确定所述多个数据的空间戳信息。6.根据权利要求5所述的方法,其特征在于,所述根据所述多个不同空间粒度的空间模型和所述多个不同时间粒度的离散时刻,确定所述多个数据的空间戳信息,包括:根据所述多个不同空间粒度的空间模型和所述多个不同时间粒度的离散时刻,对所传输的多个数据转换至同一时空粒度的地图上进行分析,确定所述多个数据的空间戳信息;或者,根据所述多个不同空间粒度的空间模型和所述多个不同时间粒度的离散时刻,对所传输的多个数据在不同时空粒度的地图上进行分析,确定所述多个数据的空间戳信息。7.根据权利要求1所述的方法,其特征在于,所述区块链至少包括私有链与联盟链;所述多个访问节点至少包括至少一个第一访问节点和至少一个第二访问节点;所述私有链由所述数据节点与所述至少一个第一访问节点组成;所述联盟链由所述数据节点与所述至少一个第二访问节点组成。8.一种基于区块链的数据处理装置,其特征在于,所述区块链包括数据节点与多个访问节点,所述装置包括:生成模块,用于通过第一目标访问节点对所述数据节点发出数据传输请求,在对所述目标访问节点认证通过后,允许所述第一目标访问节点与所述数据节点进行数据传输,并生成所述第一目标访问节点的访问记录,所述第一目标访问节点为所述多个访问节点中的任一节点;确定模块,用于根据多个第二目标访问节点的访问记录,确定所传输的多个数据的空间戳信息,所述第二目标访问节点为所述第一目标访问节点中完成数据传输的访问节点;溯源模块,用于基于所述空间戳信息,对所述多个数据进行溯源。9.根据权利要求8所述的装置,其特征在于,所述生成模块,包括:请求单元,用于所述第一目标访问节点对所述数据节点发出数据传输请求,对所述第一目标访问节点进行身份认证;第一认证单元,用于所述身份认证包括检测所述第一目标访问节点的密钥信息、地理位置信息与ip地址,若所述密钥信息、地理位置信息与ip地址正确,则允许所述第一目标访问节点与所述数据节点进行数据传输,否则拒绝所述数据传输请求;生成单元,用于根据所述身份认证结果,生成所述第一目标访问节点的访问记录。10.根据权利要求8所述的装置,其特征在于,所述确定模块,包括:第二认证单元,用于根据所述第二目标访问节点的访问记录,对所述第二目标访问节点进行身份认证;第一确定单元,用于在所述身份认证通过的情况下,通过所述多个第二目标访问节点的访问记录,确定所述多个第二目标访问节点的地理位置信息,以及所述多个数据的传输时间信息;第二确定单元,用于根据所述多个第二目标访问节点的地理位置信息,以及所述多个数据的传输时间信息,确定所传输的多个数据的空间戳信息。11.一种基于区块链的数据处理设备,其特征在于,所述设备包括:处理器,以及存储有
    计算机程序指令的存储器;所述处理器读取并执行所述计算机程序指令,以实现如权利要求1-7任意一项所述的基于区块链的数据处理方法。12.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的基于区块链的数据处理方法。

    技术总结
    本发明实施例提供一种基于区块链的数据处理方法、装置、设备及计算机存储介质,涉及数据处理领域,用以实现对区块链上的数据进行精准溯源。所述方法包括:第一目标访问节点对数据节点发出数据传输请求,在对目标访问节点认证通过后,允许第一目标访问节点与数据节点进行数据传输,并生成第一目标访问节点的访问记录,第一目标访问节点为多个访问节点中的任一节点;根据多个第二目标访问节点的访问记录,确定所传输的多个数据的空间戳信息,第二目标访问节点为第一目标访问节点中完成数据传输的访问节点;基于空间戳信息,对多个数据进行溯源。溯源。溯源。


    技术研发人员:徐萌 杨猛 张帆 李迁 陶涛 徐海勇 张芷毓 胡家琪 周蓓蓉 李耕宇 胡睿
    受保护的技术使用者:中国移动通信集团有限公司 南京大学
    技术研发日:2020.11.23
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-16733.html

    最新回复(0)