基于节点间数据共享的数据处理方法、设备、装置、介质与流程

文档序号:19730206发布日期:2020-01-18 03:51阅读:214来源:国知局
基于节点间数据共享的数据处理方法、设备、装置、介质与流程
本公开涉及数据处理领域,具体的涉及一种基于节点间数据共享的数据处理方法、设备、装置、介质。
背景技术
:传统电子商务应用中,诸如商品信息、交易数据、信用数据、用户数据等信息容易被篡改。此外,在各个电子商务平台注册的用户,具有匿名性,甚至可以使用虚假信息进行注册,用户可以利用注册的虚拟身份来发布信息。这导致了用户与商家之间的诚信交易难以保障,商家的信誉等级、用户的评价数据等信息不真实等问题。由于网络用户注册的匿名性,这也增加了追溯虚假信息源头的困难。此外,传统电子商务应用的数据存储具有中心化的特点,需要第三方交易平台来完成交易以及支付操作,过程复杂。技术实现要素:本公开提供了一种基于节点间数据共享的数据处理方法、设备、装置、介质。根据本公开的一方面,提供了一种基于节点间数据共享的数据处理方法,包括:获取输入信息,其中,所述输入信息包括输入数据和任务标识;基于所述输入数据创建数据块;以及基于所述任务标识,将创建的数据块添加到所述当前节点的至少两个链式数据结构中的一个链式数据结构,以更新所述链式数据结构。根据本公开的一些实施例,所述至少两个链式数据结构包括一个第一链式数据结构和至少一个第二链式数据结构,其中,基于所述任务标识,将创建的数据块添加到所述当前节点的至少两个链式数据链式数据结构中的一个链式数据结构包括:在所述任务标识为第一任务标识的情况下,将创建的数据块添加到所述第一链式数据结构;在所述任务标识为第二任务标识的情况下,将创建的数据块添加到所述至少一个第二链式数据结构中的一个第二链式数据结构。根据本公开的一些实施例,所述第一链式数据结构和第二链式数据结构具有不同的共识机制,其中,所述第一链式数据结构具有工作量证明共识机制或权益证明共识机制,所述第二链式数据结构具有故障容错共识机制。根据本公开的一些实施例,所述数据处理方法还包括:确定对输入数据进行加密;基于密钥对中的公钥对所述输入数据进行加密;基于加密的输入数据创建数据块。根据本公开的一些实施例,所述数据处理方法还包括:基于所述密钥对中的私钥对数据块中加密的输入数据进行解密。根据本公开的一些实施例,所述数据处理方法还包括:对所述密钥对中的公钥和私钥进行加密。根据本公开的一些实施例,所述数据处理方法还包括:在获取到关键词的情况下,基于智能合约,在所述至少一个第二链式数据结构中确定与所述关键词相关联的数据。根据本公开的一些实施例,所述数据处理方法还包括:向其他节点发送链式数据结构更新消息,其中,所述链式数据结构更新消息用于更新所述其他节点的至少两个链式数据结构中的一个链式数据结构。根据本公开的一些实施例,向其他节点发送链式数据结构更新消息包括:获取其他节点的标识,基于所述标识向其他节点发送链式数据结构更新消息,其中,所述链式数据结构更新消息中包括创建的数据块,所述创建的数据块用于被所述其他节点校验,在通过校验的情况下,更新所述其他节点的至少两个链式数据结构中的一个链式数据结构。根据本公开的一些实施例,所述数据处理方法还包括:接收来自其他节点的链式数据结构更新消息,其中,所述链式数据结构更新消息中包括数据块,所述方法还包括:校验所述数据块,在通过校验的情况下,更新当前节点的至少两个链式数据结构中的一个链式数据结构。根据本公开的一些实施例,所述链式数据结构由至少一个数据块组成,所述至少一个数据块中的每个数据块包括:用于存储输入数据的区块主体,以及用于存储所述输入数据的特征信息的区块头,所述特征信息包括所述输入数据的特征值、版本号、时间戳和难度值。根据本公开的又一方面,还提供了一种基于节点间数据共享的数据处理设备,包括:获取单元,配置成获取输入信息,其中,所述输入信息包括输入数据和任务标识;创建单元,配置成基于所述输入数据创建数据块;以及更新单元,配置成基于所述任务标识,将创建的数据块添加到所述当前节点的至少两个链式数据结构中的一个链式数据结构,以更新所述链式数据结构。根据本公开的一些实施例,所述至少两个链式数据结构包括一个第一链式数据结构和至少一个第二链式数据结构,所述更新单元在所述任务标识为第一任务标识的情况下,将创建的数据块添加到所述第一链式数据结构;在所述任务标识为第二任务标识的情况下,将创建的数据块添加到所述至少一个第二链式数据结构中的一个第二链式数据结构。根据本公开的一些实施例,所述第一链式数据结构和第二链式数据结构具有不同的共识机制,其中,所述第一链式数据结构具有工作量证明共识机制或权益证明共识机制,所述第二链式数据结构具有故障容错共识机制。根据本公开的一些实施例,所述数据处理设备还包括处理单元,配置成确定对输入数据进行加密;基于密钥对中的公钥对所述输入数据进行加密,所述创建单元还配置成:基于加密的输入数据创建数据块。根据本公开的一些实施例,所述处理单元还配置成基于所述密钥对中的私钥对数据块中加密的输入数据进行解密。根据本公开的一些实施例,所述处理单元还配置成对所述密钥对中的公钥和私钥进行加密。根据本公开的一些实施例,所述处理单元还配置成在获取到关键词的情况下,基于智能合约,在所述至少一个第二链式数据结构中确定与所述关键词相关联的数据。根据本公开的一些实施例,所述数据处理设备还包括传输单元,配置成向其他节点发送链式数据结构更新消息,其中,所述链式数据结构更新消息用于更新所述其他节点的至少两个链式数据结构中的一个链式数据结构。根据本公开的一些实施例,所述传输单元向其他节点发送链式数据结构更新消息包括:获取其他节点的标识,基于所述标识向其他节点发送链式数据结构更新消息,其中,所述链式数据结构更新消息中包括创建的数据块,所述创建的数据块用于被所述其他节点校验,在通过校验的情况下,更新所述其他节点的至少两个链式数据结构中的一个链式数据结构。根据本公开的一些实施例,所述传输单元还配置成接收来自其他节点的链式数据结构更新消息,其中,所述链式数据结构更新消息中包括数据块,所述方法还包括:校验所述数据块,在通过校验的情况下,更新当前节点的至少两个链式数据结构中的一个链式数据结构。根据本公开的一些实施例,所述链式数据结构由至少一个数据块组成,所述至少一个数据块中的每个数据块包括:用于存储输入数据的区块主体,以及用于存储所述输入数据的特征信息的区块头,所述特征信息包括所述输入数据的特征值、版本号、时间戳和难度值。根据本公开的又一方面,还提供了一种基于节点间数据共享的数据处理装置,包括:一个或多个处理器;和一个或多个存储器,其中,所述存储器中存储有计算机可读代码,所述计算机可读代码当由所述一个或多个处理器运行时,执行如上所述的基于节点间数据共享的数据处理方法。根据本公开的又一方面,还提供了一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行如上所述的基于节点间数据共享的数据处理方法。根据本公开实施例的基于节点间数据共享的数据处理方法,利用链式数据结构来存储输入数据,保证输入数据不可篡改,基于任务标识来确定基于输入数据创建的数据块的存储位置,将具有不同任务标识的输入数据分别存储在不同的链式数据结构中,实现数据隔离,减轻单个链式数据结构的存储压力。附图说明为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了根据本公开实施例的数据处理方法的流程图;图2a示出了根据本公开实施例的链式数据结构的示意图;图2b示出了数据共享系统的示意图;图3示出了根据本公开实施例的交易链式数据结构的示意图;图4示出了根据本公开实施例的数据处理设备的示意性框图;图5示出了根据本公开实施例的数据处理装置的示意图;图6示出了根据本公开实施例的示例性计算设备的架构的示意图;图7示出了根据本公开实施例的存储介质的示意图。具体实施方式下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步。本公开提供了一种基于节点间数据共享的数据处理方法,图1示出了根据本公开实施例的数据处理方法的流程图。如图1所示,首先,在步骤s101,获取输入信息,其中,所述输入信息包括输入数据和任务标识。所述输入数据可以是需要存储的任意数据,例如,在电子商务应用中,所述输入数据可以是商品信息、用户标识、评价信息、支付数据等。根据本公开实施例,所述输入信息中的输入数据与任务标识相关联,所述任务标识可以用于指示所述输入数据的类型、内容等。可以根据具体的应用场景来设置所述任务标识以区分所述输入数据,在此不对任务标识的种类以及数目进行限制。接着,如图1所示,在步骤s102,基于所述输入数据创建数据块,在步骤s103,基于所述任务标识,将创建的数据块添加到所述当前节点的至少两个链式数据结构中的一个链式数据结构,以更新所述链式数据结构。在根据本公开的数据处理方法中,当前节点可以包含至少两个链式数据结构,并基于与输入数据相关联的任务标识来确定将基于输入数据创建的数据块添加到所述至少两个链式数据结构中的哪个链式数据结构。换句话说,在根据本公开的方法中,将具有不同任务标识的输入数据存储在不同的链式数据结构中,从而实现数据隔离,并减轻由单个链式数据结构存储全部数据的数据存储压力。此外,还可以根据具体的应用来设定链式数据结构的个数,以分别对应于不同的应用场景来进行数据存储。根据本公开实施例,所述链式数据结构由至少一个数据块组成,所述数据块还可以表示为区块。所述至少一个数据块中的每个数据块可以包括:用于存储输入数据的区块主体,以及用于存储所述输入数据的特征信息的区块头,所述特征信息包括所述输入数据的特征值、版本号、时间戳和难度值。作为一个示例,可以基于区块链技术来实施所述链式数据结构,在此示例中,所述链式数据结构也可以称为区块链,所述区块链可以由一个或多个数据块(或者称为区块)组成。所述区块链技术是点对点通信、数字加密、多方协同共识算法、分布式账本等多个领域的融合技术,具有不可篡改、链上数据可溯源等特性。例如,基于区块链存储的输入数据,可以保证链上数据可信、可流转,有助于提高操作效率,降低业务成本的效果。图2a示出了根据本公开实施例的链式数据结构的示意图,如图2a所示,链式数据结构100可以包括3个区块,其中,位于链式数据结构头部的第1个区块可以表示为创始块。所述创始块可以包括用于存储所述创始块的特征信息的区块头以及用于存储输入数据的区块主体。所述特征信息可以包括输入数据的特征值、版本号、时间戳和难度值。具体的,在电子商务应用中,所述区块主体中存储诸如商品信息数据等。接着,如图2a所示出的,创始块的下一区块表示为区块1,所述区块1以所述创始块为父区块。类似地,所述区块1可以包括区块头和区块主体,区块头中存储所述区块1的输入数据特征值、父区块(即创始块)的区块头特征值、版本号、时间戳和难度值,区块主体中存储诸如交易数据。区块1的下一区块2以所述区块1为父区块。类似地,所述区块2可以包括区块头和区块主体,区块头中存储所述区块2的输入数据特征值、父区块(即区块1)的区块头特征值、版本号、时间戳和难度值,区块主体中存储诸如用户数据。以此类推,链式数据结构100中的每个区块中存储的数据均与其父区块中存储的区块数据存在关联,实现以块链式结构的数据存储,并且,存储在所述链式数据结构内的输入数据不可篡改,例如,通过数据加密的方式来实现,从而保证了链式数据结构中的各个区块内存储的输入数据的安全性。在根据本公开的数据处理方法中,首先,可以基于输入数据来创建数据块,接着,基于任务标识来将创建的数据块添加到如图2a所示的链式数据结构中,以存储所述输入数据。以下,将对基于所述输入数据创建数据块、基于所述任务标识,将创建的数据块添加到链式数据结构,以更新所述链式数据结构的步骤进行详细描述。首先,诸如当前节点可以对输入信息中的输入数据进行校验,在完成校验之后,将所述输入数据存储至内存中,并更新用于记录所述输入数据的哈希树,接着,可以将时间戳更新为接收到所述输入数据的时间,并尝试不同的随机数,进行特征值计算,使得计算得到的特征值可以满足以下公式:sha256(sha256(version+prev_hash+merkle_root+ntime+nbits+x))<target(1)其中,sha256为计算特征值所使用的特征值算法,version(版本号)为链式数据结构中相关区块协议的版本信息,prev_hash为当前区块的父区块的区块头特征值,merkle_root为所述新增哈希值的特征值,ntime为时间戳的更新时间,nbits为难度值,在一段时间内为固定值,并在超出固定时间段后再次进行确定,x为随机数,target为特征值阈值,该特征值阈值可以根据难度值nbits确定。当得到满足上述公式(1)的随机数时,可以将所述输入数据对应存储,以生成区块头和区块主体,得到新增的数据块,即,实现基于输入数据创建数据块的过程。接着,可以将所述创建的数据块添加到如图2a所示的链式数据结构中,从而得到包括该新增的数据块的、更新后的链式数据结构。进一步地,在根据本公开的数据处理方法中,可以基于所述任务标识,将创建的数据块添加到所述当前节点的至少两个链式数据结构中的一个链式数据结构,以更新所述链式数据结构。根据本公开实施例,所述至少两个链式数据结构包括一个第一链式数据结构和至少一个第二链式数据结构。根据本公开实施例,基于所述任务标识,将创建的数据块添加到所述当前节点的至少两个链式数据链式数据结构中的一个链式数据结构包括:在所述任务标识为第一任务标识的情况下,将创建的数据块添加到所述第一链式数据结构;在所述任务标识为第二任务标识的情况下,将创建的数据块添加到所述至少一个第二链式数据结构中的一个第二链式数据结构。作为一个示例,所述至少两个链式数据结构可以包括一个第一链式数据结构和一个第二链式数据结构。所述第一链式数据结构和第二链式数据结构用于存储的对应于不同任务的数据,即,基于任务标识来存储输入数据,以更新链式数据结构。根据本公开实施例,所述数据处理方法还可以包括:向其他节点发送链式数据结构更新消息,其中,所述链式数据结构更新消息用于更新所述其他节点的至少两个链式数据结构中的一个链式数据结构。所述其他节点可以不同于当前节点,例如,可以是其他的系统平台,或者是其他的终端设备。作为一个示例,所述当前节点可以表示为节点1,所述其他节点可以表示为节点2、节点3、…、节点n。各个节点间可以实现数据共享,诸如共享所述链式数据结构,并构成数据共享系统。例如,在当前节点包括一个第一链式数据结构和一个第二链式数据结构的情况下,所述其他节点也包括一个第一链式数据结构和一个第二链式数据结构。进一步地,例如,在当前节点内,基于输入信息中的输入数据创建数据块以更新当前节点中的第二链式数据结构的情况下,所述向其他节点发送的链式数据结构更新消息,也用于更新其他节点中的第二链式数据结构,例如,通过将接收的数据块添加到其他节点的第二链式数据结构中。换句话说,当前节点与其他节点的链式数据结构中存储的数据是一致的,并可以实现同步更新。根据本公开实施例,向其他节点发送链式数据结构更新消息包括:获取其他节点的标识,基于所述标识向其他节点发送链式数据结构更新消息,其中,所述链式数据结构更新消息中包括创建的数据块,所述创建的数据块用于被所述其他节点校验,在通过校验的情况下,更新所述其他节点的至少两个链式数据结构中的一个链式数据结构。根据本公开实施例,所述数据处理方法还可以包括:接收来自其他节点的链式数据结构更新消息,其中,所述链式数据结构更新消息中包括数据块,所述方法还包括:校验所述数据块,在通过校验的情况下,更新当前节点的至少两个链式数据结构中的一个链式数据结构。以下将结合图2b来详细描述当前节点与其他节点间实现数据同步的过程。具体的,图2b示出了根据本公开实施例的数据共享系统的示意图。所述数据共享系统200是指进行节点与节点之间数据共享的系统。该数据共享系统200可以由节点1、节点2、节点3和节点4组成。此外,需要注意的是,所述系统200还可以包括除了节点1、节点2、节点3和节点4之外的更多的节点。在如图2b所示出的数据共享系统200中,每个节点可以接收输入信息,并基于接收到的输入信息来实现数据共享,例如,所述输入信息可以包括输入数据和任务标识。根据本公开实施例,图2b中示出的每个节点中可以存储各自的链式数据结构,作为共享数据,并且各个节点中的链式数据结构可以实现同步更新。为了保证数据共享系统200内的信息互通,例如用于实现所述同步更新,每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统200中的任意节点接收到输入信息时,数据共享系统200中的其他节点可以根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统200中所有节点中存储的数据保持一致,例如,使得各个节点中存储的链式数据结构保持一致。作为一个示例,如果当前节点1更新了在其中的第二链式数据结构,还可以更新数据共享系统200中其他节点的第二链式数据结构,即,实现数据同步更新。对于图2b中的数据共享系统200中的每个节点,可以具有与该节点对应的节点标识,而且数据共享系统100中的每个节点均可以存储数据共享系统200中的其他节点的节点标识,以便根据其他节点的节点标识,将更新数据传输至数据共享系统200中的其他节点。其中,所述节点标识可以是ip(internetprotocol)地址,或者是其他任一种能够用于标识该节点的信息。作为一个示例,每个节点中可以存储有如以下表1所示的节点标识列表。所述节点标识列表包括节点名称和与节点名称一一对应的节点标识(ip地址)。表1节点名称节点标识节点1117.114.151.174节点2117.116.189.145……节点n119.123.789.258如上所述,每个节点中可以存储有各自的链式数据结构作为所述共享数据,并且各个节点中的链式数据结构可以实现同步更新。以下,将对更新其他节点的链式数据结构的步骤进行详细描述。在当前节点1更新了在其中存储的链式数据结构之后,其可以按照数据共享系统100中其他节点的节点标识,将创建的数据块分别发送给其所在的数据共享系统100中的其他节点(诸如,节点1、节点2和节点3),并由所述其他节点对所述创建的数据块进行校验,并在完成校验后将所述创建的数据块添加至各个节点中的链式数据结构上,由此,可以实现各个节点中的链式数据结构的同步更新。根据本公开实施例的链式数据结构,可以实现去中心化的数据存储机制,如上所述的,数据共享系统200中的各个节点均可以创建新的数据块,并将创建的数据块广播给系统内的其他节点,以更新其他节点的链式数据结构。相比较地,在传统的中心化存储机制中,存在中心权威节点,并且只有中心权威节点具有创建、存储数据块的功能,其他节点均以中心权威节点存储的数据为准。而在共享系统200内,不存在中心权威节点,各个节点均具有写入数据的功能。由于参与数据存储的各个节点的自身状态和所处的网络环境并不完全相同,且更新数据的传递需要时间,这使得其他节点接收到链式数据结构更新消息的顺序难以保持一致。由此,各个节点内的链式数据结构需要共识机制,来确定具有数据写入权的节点,从而保证数据更新的一致性。根据本公开实施例,所述第一链式数据结构和第二链式数据结构具有不同的共识机制,其中,所述第一链式数据结构具有工作量证明共识机制或权益证明共识机制,所述第二链式数据结构具有故障容错共识机制。在所述工作量证明共识机制(proofofwork,pow)中,所述工作量指的是计算机计算随机数的过程。例如,每个节点均计算随机数,一定时间段内,找到随机数的难度是一定的,这就意味着,得到这个随机数必然要经过一定的工作量。最先得到这个随机数的节点可以将创建的数据块添加链式数据结构中,并向共享系统内的其他节点传输该创建的数据块。其他节点可以验证该创建的数据块,并实现数据同步。换句话说,在所述工作量证明共识机制中,工作量最多的节点可以创建数据块,并更新当前节点以及其他节点的链式数据结构。如上所述的,pow以计算随机数的工作量作为获得数据写入权的依据,而权益证明共识机制(proofofstake,pos)是根据节点持有的代币(token)的数量及时间的乘积来分配相应的数据写入权。拥有的代币越多,获得数据写入权的概率越大。所述代币可以相当于共享系统内的权益(stake)。以上工作量证明共识机制和权益证明共识机制可以更好的保证链式数据结构的安全性,然而,获得工作量证明或者权益证明的过程将耗费时间以及计算资源。这可能限制共享系统内的节点的数目,如果节点太多将会造成网络阻塞。所述故障容错共识机制(crashfaulttolerant,cft)也可以表示为无恶意节点的情况下的容错,其可以适用于共享系统中存在故障(crashfault),但不存在恶意节点的场景下的共识达成问题。所述故障可以是数据丢失或数据重复,但不存在错误数据。应用故障容错共识机制的系统可以适用于对于节点的安全性要求较低的应用场景。相比于工作量证明共识机制和权益证明共识机制,其可以减少计算资源的浪费,并减少网络阻塞的发生。根据本公开实施例,所述数据处理方法还可以包括:确定对输入数据进行加密;基于密钥对中的公钥对所述输入数据进行加密;基于加密的输入数据创建数据块。所述数据处理方法还可以包括:基于所述密钥对中的私钥对数据块中加密的输入数据进行解密。在根据本公开的方法中,所述密钥对可以包括两个密钥,即公钥和私钥,或者可以称为公开密钥和私有密钥。所述公钥和密钥一一对应,所述公钥用于加密,所述密钥用于对基于该公钥加密的数据进行解密。即,加密和解密使用的是密钥对中的不同密钥,可以将此种加密处理称为非对称加密算法。例如,所述非对称加密算法可以用于实现重要信息交换。作为一个示例,第一用户可以生成其密钥对,其中包括公钥和私钥。接着,第一用户可以将公钥公开,使得诸如第二用户可以知晓该公钥。在第二用户需要向第一用户发送机密信息的情况下,第二用户可以使用该第一用户的公钥来对机密信息进行加密后再发送给第一用户。在第一用户接收到加密的信息之后,可以用其私钥对加密后的信息进行解密。例如,所述第一用户可以对应于共享系统中的当前节点,所述第二用户可以对应于共享系统中的其他节点。对于需要存储在链式数据结构中的机密数据,当前节点可以基于其他节点的公钥来按照如上所述的方式进行加密,并将基于加密的数据创建的数据块传输给其他节点,从而保证传输数据的安全性。为了进一步保证链式数据结构中的数据安全,根据本公开实施例,所述数据处理方法还可以包括:对所述密钥对中的公钥和私钥进行加密。即,通过对密钥进行加密来进一步保证链式数据结构中的数据安全。作为一个示例,可以采用现有的加密算法来对密钥对进行加密,在此不再赘述。根据本公开实施例,所述数据处理方法还可以包括:在获取到关键词的情况下,基于智能合约,在所述至少一个第二链式数据结构中确定与所述关键词相关联的数据。所述智能合约可以是用于实现双方约定遵守的条款的程序,在满足约定的执行条款时,依据所述智能合约,可以自动地执行相应的操作。例如,在所述智能合约中,可以约定:在获取到关键词的情况下,在所述至少一个第二链式数据结构中确定与所述关键词相关联的数据,并将查找到的相关联的数据自动提供给各个节点。在约定的情况下,还可以基于所述智能合约进行其他的操作,诸如转账支付,在此不作限制。以下,将以电子商务应用作为一个具体示例来说明根据本公开的数据处理方法。在电子商务应用中,例如可以具有商家以及用户,其可以作为不同的节点存在于如图2b所示的数据共享系统中。基于根据本公开的数据处理方法,可以在节点之间实现诸如商品交易、支付转账等的操作。此外,由于所述数据共享系统为去中心化的存储机制,使得各个节点之间可以直接地交换数据,无需第三方交易平台。例如,各个节点中可以具有一个第一链式数据结构和一个第二链式数据结构。所述第一链式数据结构可以具有工作量证明共识机制或权益证明共识机制,用于实现与支付转账任务相关的数据处理,保障支付安全。此外,还可以利用如上所述的非对称加密算法来保证第一链式数据结构中的数据安全,确保各类支付信息的真实性、不可篡改性和可追溯性。第二链式数据结构可以具有故障容错共识机制,用于存储商品信息、交易记录、用户实名认证等任务相关的数据,在实现数据存储的同时减少计算资源的浪费,并减少网络阻塞的发生。例如,各个节点可以基于任务标识来确定用于存储输入数据的第一链式数据结构或第二链式数据结构,从而实现对应于不同任务的数据的隔离。作为一个示例,在图2b所示的数据共享系统中,节点1可以对应于商家,即卖方,节点2、节点3以及节点4对应于用户,即买方。节点1可以将商品信息存储在诸如第二链式数据结构,诸如节点2可以基于智能合约来查找关键词以获得与该关键词相关的数据,节点2还可以基于第一链式数据结构来实现与节点1之间的支付转账功能,从而实现商品交易。由于共享系统内的各个节点中的链式数据结构是同步更新的,使得各个节点可以获取到一致的数据,对于某一商品,各个节点均可以基于智能合约获取与该商品相关联的诸如流转记录、评价信息、商家的信用等级等数据,保证交易安全。如上所述,链式数据结构具有不可篡改的特性,可以保证商品信息的真实性。图3示出了根据本公开实施例的交易链式数据结构的示意图,所述交易链式数据结构可以是如上所述的第二链式数据结构,用于存储交易数据。如图3所示,各个数据块的区块主体内可以存储交易命令c1-cn。其中,c1全局状态可以是指从第一数据块到当前数据区块中存储的交易命令c1的状态,用于表示交易命令cn在链式数据结构中的确认状态。其中,状态值可以用于指示当前的交易是否已经确认成功,数据列表可以用于指示已确认交易的数据以及交易时间。类似地,cn全局状态可以是指从第一数据块到当前数据块中存储的交易命令cn的状态,表示交易命令cn在链式数据结构中的确认状态,在此不再赘述。根据本公开实施例的基于节点间数据共享的数据处理方法,利用链式数据结构来存储输入数据,保证输入数据不可篡改,基于任务标识来确定基于输入数据创建的数据块的存储位置,将具有不同任务标识的输入数据分别存储在不同的链式数据结构中,实现数据隔离,减轻单个链式数据结构的存储压力。根据本公开的另一方面,还提供了一种基于节点间数据共享的数据处理设备。图4示出了根据本公开实施例的数据处理设备的示意性框图。如图4所示,所述数据处理设备300可以包括获取单元301、创建单元302、更新单元303。根据本公开实施例,所述获取单元301可以配置成获取输入信息,其中,所述输入信息包括输入数据和任务标识。所述输入数据可以是需要存储的任意数据,例如,在电子商务应用中,所述输入数据可以是商品信息、用户标识、评价信息、支付数据等。根据本公开实施例,所述输入信息中的输入数据与任务标识相关联,所述任务标识可以用于指示所述输入数据的类型、内容等。可以根据具体的应用场景来设置所述任务标识以区分所述输入数据,在此不对任务标识的种类以及数目进行限制。所述创建单元302可以配置成基于所述输入数据创建数据块。所述更新单元303可以配置成基于所述任务标识,将创建的数据块添加到所述当前节点的至少两个链式数据结构中的一个链式数据结构,以更新所述链式数据结构。根据本公开实施例,当前节点可以包含至少两个链式数据结构,并基于与输入数据相关联的任务标识来确定将基于输入数据创建的数据块添加到所述至少两个链式数据结构中的哪个链式数据结构。换句话说,可以将具有不同任务标识的输入数据存储在不同的链式数据结构中,从而实现数据隔离,并减轻由单个链式数据结构存储全部数据的数据存储压力。此外,还可以根据具体的应用来设定链式数据结构的个数,以分别对应于不同的应用场景来进行数据存储。根据本公开的一些实施例,所述至少两个链式数据结构包括一个第一链式数据结构和至少一个第二链式数据结构,所述更新单元303在所述任务标识为第一任务标识的情况下,将创建的数据块添加到所述第一链式数据结构;在所述任务标识为第二任务标识的情况下,将创建的数据块添加到所述至少一个第二链式数据结构中的一个第二链式数据结构。作为一个示例,所述至少两个链式数据结构可以包括一个第一链式数据结构和一个第二链式数据结构。所述第一链式数据结构和第二链式数据结构用于存储的对应于不同任务的数据,即,基于任务标识来存储输入数据,以更新链式数据结构。由于参与数据存储的各个节点的自身状态和所处的网络环境并不完全相同,且更新数据的传递需要时间,这使得其他节点接收到链式数据结构更新消息的顺序难以保持一致。由此,各个节点内的链式数据结构需要共识机制,来确定具有数据写入权的节点,从而保证数据更新的一致性。根据本公开的一些实施例,所述第一链式数据结构和第二链式数据结构具有不同的共识机制,其中,所述第一链式数据结构具有工作量证明共识机制或权益证明共识机制,所述第二链式数据结构具有故障容错共识机制。在所述工作量证明共识机制(proofofwork,pow)中,所述工作量指的是计算机计算随机数的过程。例如,每个节点均计算随机数,一定时间段内,找到随机数的难度是一定的,这就意味着,得到这个随机数必然要经过一定的工作量。最先得到这个随机数的节点可以将创建的数据块添加链式数据结构中,并向共享系统内的其他节点传输该创建的数据块。其他节点可以验证该创建的数据块,并实现数据同步。换句话说,在所述工作量证明共识机制中,工作量最多的节点可以创建数据块,并更新当前节点以及其他节点的链式数据结构。如上所述的,pow以计算随机数的工作量作为获得数据写入权的依据,而权益证明共识机制(proofofstake,pos)是根据节点持有的代币(token)的数量及时间的乘积来分配相应的数据写入权。拥有的代币越多,获得数据写入权的概率越大。所述代币可以相当于共享系统内的权益(stake)。以上工作量证明共识机制和权益证明共识机制可以更好的保证链式数据结构的安全性,然而,获得工作量证明或者权益证明的过程将耗费时间以及计算资源。这可能限制共享系统内的节点的数目,如果节点太多将会造成网络阻塞。所述故障容错共识机制(crashfaulttolerant,cft)也可以表示为无恶意节点的情况下的容错,其可以适用于共享系统中存在故障(crashfault),但不存在恶意节点的场景下的共识达成问题。所述故障可以是数据丢失或数据重复,但不存在错误数据。应用故障容错共识机制的系统可以适用于对于节点的安全性要求较低的应用场景。相比于工作量证明共识机制和权益证明共识机制,其可以减少计算资源的浪费,并减少网络阻塞的发生。如图4所示,根据本公开的一些实施例,所述数据处理设备300还可以包括处理单元304,配置成确定对输入数据进行加密;基于密钥对中的公钥对所述输入数据进行加密。所述创建单元302还可以配置成:基于加密的输入数据创建数据块。根据本公开的一些实施例,所述处理单元304还可以配置成基于所述密钥对中的私钥对数据块中加密的输入数据进行解密。在根据本公开的方法中,所述密钥对可以包括两个密钥,即公钥和私钥,或者可以称为公开密钥和私有密钥。所述公钥和密钥一一对应,所述公钥用于加密,所述密钥用于对基于该公钥加密的数据进行解密。即,加密和解密使用的是密钥对中的不同密钥,可以将此种加密处理称为非对称加密算法。例如,所述非对称加密算法可以用于实现重要信息交换。作为一个示例,第一用户可以生成其密钥对,其中包括公钥和私钥。接着,第一用户可以将公钥公开,使得诸如第二用户可以知晓该公钥。在第二用户需要向第一用户发送机密信息的情况下,第二用户可以使用该第一用户的公钥来对机密信息进行加密后再发送给第一用户。在第一用户接收到加密的信息之后,可以用其私钥对加密后的信息进行解密。例如,所述第一用户可以对应于共享系统中的当前节点,所述第二用户可以对应于共享系统中的其他节点。对于需要存储在链式数据结构中的机密数据,当前节点可以基于其他节点的公钥来按照如上所述的方式进行加密,并将基于加密的数据创建的数据块传输给其他节点,从而保证传输数据的安全性。根据本公开的一些实施例,所述处理单元304还可以配置成对所述密钥对中的公钥和私钥进行加密。作为一个示例,可以采用现有的加密算法来对密钥对进行加密,在此不再赘述。根据本公开的一些实施例,所述处理单元304还可以配置成在获取到关键词的情况下,基于智能合约,在所述至少一个第二链式数据结构中确定与所述关键词相关联的数据。所述智能合约可以是用于实现双方约定遵守的条款的程序,在满足约定的执行条款时,依据所述智能合约,可以自动地执行相应的操作。例如,在所述智能合约中,可以约定:在获取到关键词的情况下,在所述至少一个第二链式数据结构中确定与所述关键词相关联的数据,并将查找到的相关联的数据自动提供给各个节点。在约定的情况下,还可以基于所述智能合约进行其他的操作,诸如转账支付,在此不作限制。如图4所示,根据本公开的一些实施例,所述数据处理设备300还可以包括传输单元305,配置成向其他节点发送链式数据结构更新消息,其中,所述链式数据结构更新消息用于更新所述其他节点的至少两个链式数据结构中的一个链式数据结构。根据本公开的一些实施例,所述传输单元305向其他节点发送链式数据结构更新消息包括:获取其他节点的标识,基于所述标识向其他节点发送链式数据结构更新消息,其中,所述链式数据结构更新消息中包括创建的数据块,所述创建的数据块用于被所述其他节点校验,在通过校验的情况下,更新所述其他节点的至少两个链式数据结构中的一个链式数据结构。根据本公开的一些实施例,所述传输单元305还可以配置成接收来自其他节点的链式数据结构更新消息,其中,所述链式数据结构更新消息中包括数据块,所述方法还包括:校验所述数据块,在通过校验的情况下,更新当前节点的至少两个链式数据结构中的一个链式数据结构。根据本公开的一些实施例,所述链式数据结构由至少一个数据块组成,所述至少一个数据块中的每个数据块包括:用于存储输入数据的区块主体,以及用于存储所述输入数据的特征信息的区块头,所述特征信息包括所述输入数据的特征值、版本号、时间戳和难度值。作为一个示例,可以基于区块链技术来实施所述链式数据结构,在此示例中,所述链式数据结构也可以称为区块链,所述区块链可以由一个或多个数据块(或者称为区块)组成。所述区块链技术是点对点通信、数字加密、多方协同共识算法、分布式账本等多个领域的融合技术,具有不可篡改、链上数据可溯源等特性。例如,基于区块链存储的输入数据,可以保证链上数据可信、可流转,有助于提高操作效率,降低业务成本的效果。根据本公开的另一方面,还提供了一种基于节点间数据共享的数据处理装置。图5示出了根据本公开实施例的数据处理装置的示意性框图。如图5所示,所述数据处理装置400可以包括一个或多个处理器401以及一个或多个存储器402。根据本公开实施例,所述存储器402中存储有计算机可读代码,所述计算机可读代码当由所述一个或多个处理器401运行时,执行如上所述的基于节点间数据共享的数据处理方法。根据本公开实施例的方法或装置也可以借助于计算设备的架构来实现。图6示出了根据本公开实施例的示例性计算设备的架构的示意图。如图6所示,计算设备500可以包括总线501、一个或多个cpu502、只读存储器(rom)503、随机存取存储器(ram)504、连接到网络的通信端口505、输入/输出组件506、硬盘507等。计算设备500中的存储设备,例如rom503或硬盘507可以存储本公开提供的基于节点间数据共享的数据处理方法的处理和/或通信使用的各种数据或文件以及cpu所执行的程序指令。计算设备500还可以包括用户界面508。当然,图6所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图6示出的计算设备中的一个或多个组件。根据本公开的又一方面,还提供了一种计算机可读存储介质。图7示出了根据本公开实施例的存储介质600的示意图。如图7所示,所述计算机存储介质602上存储有计算机可读指令601。当所述计算机可读指令601由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的基于节点间数据共享的数据处理方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。所述单元仅是说明性的,并且所述系统和方法的不同方面可以使用不同单元。本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1