CN111339202A - 一种数据访问方法、装置、设备及存储介质 - Google Patents
一种数据访问方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111339202A CN111339202A CN202010129508.7A CN202010129508A CN111339202A CN 111339202 A CN111339202 A CN 111339202A CN 202010129508 A CN202010129508 A CN 202010129508A CN 111339202 A CN111339202 A CN 111339202A
- Authority
- CN
- China
- Prior art keywords
- chain
- access
- transaction request
- data
- data object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000000977 initiatory effect Effects 0.000 claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 24
- 230000007246 mechanism Effects 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 20
- 238000012795 verification Methods 0.000 claims description 10
- 239000002699 waste material Substances 0.000 abstract description 9
- 238000004873 anchoring Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000003999 initiator Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据访问方法、装置、设备及存储介质,涉及区块链技术领域。该方法由部署有超级区块链网络中的基础链和平行链的区块链节点执行,包括:在识别到本机节点为基础链的当前出块节点时,确定本机节点为所部署平行链的当前出块节点;获取所部署的基础链或平行链中发起的源事务请求;在执行源事务请求过程中,在确定存在目标区块链所属数据对象的访问需求时,发起对待访问数据对象的访问操作;在获取到访问结果时根据访问结果继续执行源事务请求。本申请实施例通过锚定基础链和平行链的当前出块节点,及时获知源事务请求和访问操作的执行情况,保证了两执行结果的一致性,避免了源事务请求的无效执行造成的计算资源的浪费。
Description
技术领域
本申请涉及计算机技术,尤其涉及区块链技术领域,具体涉及一种数据访问方法、装置、设备及存储介质。
背景技术
区块链本质上是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。
然而,由于不同区块链彼此独立运行,数据高度异构化,链与链之间协作难度大,导致区块链之间互通性缺失,存在信息孤岛的问题,极大地限制了区块链的应用空间。
有鉴于此,通过跨链技术实现不同区块链之间的数据共享成为亟待解决的问题。
发明内容
本申请实施例提供了一种数据访问方法、装置、设备及存储介质,以实现不同区块链之间的数据共享。
第一方面,本申请实施例提供了一种数据访问方法,由区块链节点执行,所述区块链节点部署有超级区块链网络中的基础链和至少一条平行链,所述方法包括:
如果识别到本机节点为所述基础链的当前出块节点,则确定所述本机节点为所部署平行链的当前出块节点;
所述当前出块节点获取所部署的基础链或平行链中发起的源事务请求;
所述当前出块节点在执行所述源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据对象的访问操作;
所述当前出块节点如果获取到访问结果,则根据所述访问结果继续执行所述源事务请求。
本申请实施例在超级区块链网络中,在识别到本机节点为基础链的当前出块节点时,确定本机节点为部署平行链的当前出块节点;获取所部署的基础链或平行链中发起的源事务请求;在执行源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据兑现的访问操作;如果获取到访问结果,则根据访问结果继续执行源事务请求。上述技术方案,通过锚定基础链和平行链的当前出块节点,从而能够及时获知源事务请求和访问操作的执行情况,保证两执行结果的一致性。同时,通过在发起的访问操作获取到访问结果时,触发源事务请求的继续执行,避免了没有获取到访问结果仍对源事务请求的无效执行的情况的发生,减少了计算资源的浪费。
可选的,发起对待访问数据对象的访问操作之后,还包括:
如果获知访问失败,则拒绝执行所述源事务请求。
上述申请中的一个可选实施方式,在发起待访问数据对象的访问操作之后,在获知访问失败时,拒绝执行源事务请求的,避免了访问失败后仍对源事务请求进行无效执行的情况的发生,减少了计算资源的浪费。
可选的,所述方法还包括:
根据设定共识机制,从部署有所述基础链的多个区块链节点中,确定所述基础链的当前出块节点。
上述申请中的一个可选实施方式,通过设定共识机制进行基础链中的当前出块节点的确定,进而将基础链中的当前出块节点作为平行链中的当前出块节点,实现了区块链网络中执行源事务请求和数据对象访问操作的统一,便于对源事务请求的执行情况和数据对象访问情况的同步掌控。
可选的,所述超级区块链网络中基础链和各平行链的出块周期相同。
上述申请中的一个可选实施方式,通过对超级区块链网络中基础链和各平行链的出块周期进行限定,为源事务请求的执行结果和数据对象访问结果的一致性奠定基础。
可选的,发起对待访问数据对象的访问操作,包括:
调用桥接函数发起对待访问数据对象的访问操作。
上述申请中的一个可选实施方式,通过调用桥接函数发起对待访问数据对象的访问操作,为对不同区块链中数据对象的间接访问提供保障。
可选的,发起对待访问数据对象的访问操作,包括:
在所述区块链节点本地数据库中进行待访问数据对象的读操作;或
在目标区块链网络中发起访问所述待访问数据对象的目标事务请求,以请求目标区块链网络执行所述目标事务请求,对待访问数据对象执行访问操作,所述访问操作包括读操作或写操作。
上述申请中的一个可选实施方式,通过将对待访问数据对象的访问操作细化为通过区块链节点本地数据库的本地访问和通过发起目标事务请求实现对待访问数据的链上访问,丰富了数据访问的访问方式;同时,通过将访问操作的操作方式细化为读操作和写操作,进一步丰富了数据访问的操作内容。
可选的,获知访问失败包括:
如果在本地监听到所述目标事务请求的执行失败,则确定为访问失败。
上述申请中的一个可选实施方式,通过在本地监听的目标事务请求的执行情况,确定访问操作成功与否,进而指示源事务请求的执行结果,完善了访问操作结果的确定机制,进而为源事务请求执行情况与数据对象访问情况的一致性提供保障。
可选的,在目标区块链网络中发起访问所述待访问数据对象的目标事务请求之后,还包括:
如果在本地监听到所述源事务请求的执行失败,则停止执行所述目标事务请求。
上述申请中的一个可选实施方式,通过监听源事务请求的执行情况,确定目标事务请求的执行情况,为源事务请求与目标事务请求的执行情况的一致性提供保障。
可选的,在发起对待访问数据对象的访问操作之前,还包括:
基于区块链部署的权限控制模型,对所述访问需求进行权限验证。
上述申请中的一个可选实施方式,通过在发起对待访问数据对象的访问操作之前,基于区块链部署的权限控制模型,对待访问需求进行权限验证,从而实现了对源事务请求发起方的数据访问操作进行权限控制。
可选的,确定存在目标区块链所属数据对象的访问需求,包括:
根据所述源事务请求中待访问数据对象的数据标识,确定所述待访问数据对象属于不同区块链,且属于相同区块网络,则确定存在目标区块链所属数据对象的访问需求;
其中,所述数据标识包括数据级、链级和网络级的名称。
上述申请中的一个可选实施方式,通过根据待访问数据对象的数据标识,对待访问数据对象所属区块链和区块链网络与目标区块链和所属区块链网络进行比较,从而进行访问需求的确定,完善了访问需求的确定机制。同时,通过限定数据标识所包含的内容,完善了数据标识的命名机制,为基于数据标识进行访问需求的确定提供保障。
第二方面,本申请实施例还提供了一种数据访问装置,配置于区块链节点,所述区块链节点部署有超级区块链网络中的基础链和至少一条平行链,包括:
当前出块节点确定模块,用于如果识别到本机节点为所述基础链的当前出块节点,则确定本机节点为所部署平行链的当前出块节点;
源事务请求获取模块,用于获取所部署的所述基础链或平行链中发起的源事务请求;
访问操作发起模块,用于在执行所述源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据对象的访问操作;
访问结果使用模块,用于如果获取到访问结果,则根据所述访问结果继续执行所述源事务请求。
第三方面,本申请实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面实施例所提供的一种数据访问方法。
第四方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面实施例所提供的一种数据访问方法。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例一中的一种数据访问方法的流程图;
图2是本申请实施例二中的一种数据访问方法的流程图;
图3是本申请实施例三中的一种数据访问方法的流程图;
图4是本申请实施例四中的一种数据访问装置的结构图;
图5是用来实现本申请实施例的数据访问方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请各实施例的技术方案基于超级区块链网络实现,其中,超级区块链网络由基础链网络和平行链网络组成。为清楚介绍后续实施例的技术方案,首先对超级区块链网络技术进行介绍说明。
其中,基础链是一种区块链,可以用于在各种独立的区块链之间建立联系。基础链可以与对应的平行链进行关联,用于辅助创建平行链、管理平行链、辅助平行链进行数据交换。例如,基础链可以用于在现有的彼此独立的区块链之间建立联系,使得区块链中的数据交互不再局限于一条单独的区块链,使得价值的流动范围不再局限于一条单独的区块链。也即,基础链可以对整个区块链网络中的运行参数进行管理和监督。
平行链也是一种区块链,与基础链是相对的概念。平行链具有一般区块链的所有属性,同时,可能会基于基础链去建立、被管理以及进行数据交换。平行链可以是由基础链派生而成的,或者也可以是与基础链具有对等地位和功能,相互辅助建立、管理和数据交换。平行链可以有一条,也可以存在多条。且可选的是,多条平行链之间彼此独立,不相互影响,或者,两条平行链之间也可以是互为基础链和平行链的关系。
通常,基础链是先于平行链建立和运行的,其具有更高的公信力、号召力,其价值更得到大家的认可。所以平行链的节点可以利用基础链节点的公信力和号召力来借助愿意提供算力的节点为其提供服务。
在平行链创建时,可以由任意节点发起基础链事务请求,其中包括平行链创世区块的内容,即平行链部署数据。由基础链的节点处理该事务请求,记录平行链的创建操作,同时也相当于通知了网络中各个节点,最终接受并部署了平行链数据的节点,就参与了平行链,能够随后处理平行链事务请求了。
基础链网络和平行链网络可以组成超级区块链网络。在超级区块链网络中,基础链也可以是一条或多条。需要说明的是,参与基础链的所有节点和参与平行链的所有节点之间存在重叠关系。也即,参与平行链的至少部分节点与参与基础链的至少部分是相同的网络节点。在这些重叠的网络节点中,部署有其参与的区块链的所有数据,即,既存储有基础链的部署数据,也存储有平行链的部署数据,还同时存储有基础链和平行链的区块本身。所谓部署数据,包括参与区块链所需的通信机制数据、共识机制、智能合约、事务请求脚本以及其他需要的数据。由于同时部署有不同区块链的数据,所以这样的网络节点可以生成不同区块链的事务请求,以及还可以本地查询到不同区块链中的事务数据,方便其进行跨链事务处理。
其中,基础链用于支持超级区块链网络中的区块链平台的数据存储;平行链用于支持区块链平台上运行的应用程序的数据存储。其中,区块链平台可以理解为能够支持多种应用程序功能的服务平台,基础链存储和处理例如各种应用程序管理平台的应用数据和缓存数据等。同时,平行链存储区块链平台上运行的各类应用程序的数据,例如,一条平行链可以存储一种应用程序的应用数据和缓存数据等。
实施例一
图1是本申请实施例提供的一种数据访问方法的流程图。本申请实施例适用于对超级区块链网络中不同区块链所属的数据对象的跨链访问情况。在区块链系统中,可以部署实现不同功能的智能合约,每个智能合约包括程序的组合,在运行程序的过程中完成设定的功能处理。在智能合约运行中会涉及到产生一些数据以及读取一些数据,例如用户数据、业务数据等,这些可称为数据对象。每个智能合约可基于设定的数据存储模型来管理所属数据对象的存储和读写访问,形成数据对象集。一般而言,不同智能合约之间的数据对象集不交叠,无法相互访问。当不同智能合约位于不同区块链中,则存在交叉访问的障碍。本申请实施例针对这一问题,提出了一种跨区块链进行数据对象访问的方法。该方法由数据访问装置执行,该装置通过软件和/或硬件实现,并具体配置于承载有区块链节点的电子设备中。该区块链节点部署有超级区块链网络中的基础链和至少一条平行链。
如图1所示的一种数据访问方法,包括:
S101、如果识别到本机节点为基础链的当前出块节点,则确定本机节点为所部署平行链的当前出块节点。
本机节点中部署有超级区块链网络中的基础链和至少一条平行链。当本机节点识别到当前时刻自身为基础链的当前出块节点时,为了避免在本机节点执行事务请求需要访问自身所部署的平行链中的数据时,自身所部署的平行链中的出块节点对平行链中所存储数据进行更改,给基础链中事务请求的顺利执行带来影响,会通过将自身所部署的平行链中的当前出块节点强制确定为本机节点,实现对平行链中的当前出块节点的限制。
在本申请实施例的一种可选实施方式中,可以根据设定共识机制,从部署有基础链的多个区块链节点中,确定本机节点作为基础链的当前出块节点。
其中,设定共识机制可以是基础链部署时的工作量证明机制(Proof OfWork,POW)、权益证明机制(Proof of Stake,POS)、或委托权益证明机制(Delegated Proof ofStake,DPoS)或验证池共识机制(Verify thepooling)等。
可以理解的是,由于本机节点作为所部署的基础链和平行链的当前出块节点,那么,后续在所部署的基础链或平行链中获取和执行事务请求时,均由本机节点来执行。
S102、所述当前出块节点获取所部署的基础链或平行链中发起的源事务请求。
当用户具备业务功能需求时,向超级区块链网络中的基础链或平行链中发起源事务请求;相应的,本机节点获取所部署的基础链或平行链中发起的源事务请求,并在源事务请求所述的源区块链中执行该源事务请求。
S103、所述当前出块节点在执行所述源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据对象的访问操作。
在执行该源事务请求的过程中,本机节点确定是否存目标区块链所属数据对象的访问需求;根据源事务请求的源区块链与待访问数据对象所属的目标区块链的一致性,确定是否存在目标区块链所属数据对象的访问需求;若两者不一致,则确定存在目标区块链所属数据对象的访问需求。由于不同区块链中数据的交叉访问存在一定的障碍,因此无法直接对目标区块链中的待访问数据对象进行直接访问,此时,可以通过调用桥接函数(XuperBridge)发起对待访问数据对象的访问操作,以通过间接方式进行待访问数据的访问操作,并向源事务请求所属的源区块链反馈。其中,访问操作包括读操作或写操作。
其中,桥接函数部署于区块链系统中,供区块链网络中的智能合约进行调用。
示例性地,区块链网络中的智能合约可以基于区块链网络中的桥接模块,创建桥接实例,并通过运行该桥接实例,实现桥接函数的调用。
S104、所述当前出块节点如果获取到访问结果,则根据所述访问结果继续执行所述源事务请求。
示例性地,当源区块链获取到访问结果时,根据该访问结果继续执行源事务请求,从而为用户提供相应的业务功能;当源区块链在设定时间段内没有接收到访问结果,或者获知访问失败,则拒绝执行源事务请求,并确定源事务请求执行失败。进一步地,还可以向用户一并反馈执行失败的原因。
可选的,访问失败可以是在执行数据对象访问操作时,所访问的数据对象被回滚执行。
可以理解的是,由于源事务请求的执行需要使用到待访问数据对象的访问结果,因此,当无法获取到访问结果时,再执行源事务请求将没有意义;当获取到访问结果,也即待访问数据对象访问成功,而源事务请求执行失败时,如果将访问操作对应的事务数据在目标区块链中上链存储,将会对后续目标区块链中所存储的数据对象的准确性产生影响,因此需要保证源事务请求和访问操作的结果同步,也即保证源事务请求和访问操作的上链结果的一致性。
由于执行源事务请求和执行数据访问操作的节点均为本机节点,因此本机节点可以根据源事务请求的执行情况以及数据访问操作的执行情况,确定另一个的执行情况。也即,当源事务请求执行失败时,确定数据访问操作也执行失败,拒绝数据访问操作的目标事务数据在目标区块链的上链操作;当数据访问操作执行失败时,中止源事务请求的执行,并拒绝源事务请求的源事务数据在源区块链的上链操作。
需要说明的是,为了保证源事务请求的源事务数据和数据访问操作的目标事务数据能够同时上链成功或上链失败,可以将超级区块链网络中基础链和各平行链的出块周期设置为相同值。
本申请实施例在超级区块链网络中,在识别到本机节点为基础链的当前出块节点时,确定本机节点为部署平行链的当前出块节点;获取所部署的基础链或平行链中发起的源事务请求;在执行源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据兑现的访问操作;如果获取到访问结果,则根据访问结果继续执行源事务请求。上述技术方案,通过锚定基础链和平行链的当前出块节点,从而能够及时获知源事务请求和访问操作的执行情况,保证两执行结果的一致性。同时,通过在发起的访问操作获取到访问结果时,触发源事务请求的继续执行,避免了没有获取到访问结果仍对源事务请求的无效执行的情况的发生,减少了计算资源的浪费。
实施例二
图2是本申请实施例二中的一种数据访问方法的流程图,本申请实施例在上述各实施例的技术方案的基础上进行了优化改进。
进一步地,将操作“发起对待访问数据对象的访问操作”细化为“在所述区块链节点本地数据库中进行待访问数据对象的读操作;或在目标区块链网络中发起访问所述待访问数据对象的目标事务请求,以请求目标区块链网络执行所述目标事务请求,对待访问数据对象执行访问操作;所述访问操作包括读操作或写操作”,以完善访问操作的发起机制。
进一步地,将操作“发起对待访问数据对象的访问操作”之后,追加“如果获知访问失败,则拒绝执行所述源事务请求”,以进一步完善数据访问机制。
如图2所示的一种数据访问方法,包括:
S201、如果识别到本机节点为基础链的当前出块节点,则确定本机节点为所部署平行链的当前出块节点。
S202、所述当前出块节点获取所部署的基础链或平行链中发起的源事务请求。
S203、所述当前出块节点在执行所述源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则在所述区块链节点本地数据库中进行待访问数据对象的读操作;或,在目标区块链网络中发起访问所述待访问数据对象的目标事务请求,以请求目标区块链网络执行所述目标事务请求,对待访问数据对象执行访问操作;访问操作包括读操作或写操作。
在本申请实施例的一种可选实施方式中,在所述区块链节点本地数据库中进行待访问数据对象的读操作,可以是:调用桥接函数,如果桥接函数确定调用类型为本地读取,则在本机节点的本地数据库中进行待访问数据对象的读操作。
示例性地,若待访问数据对象为基于目标智能合约生成,则在本地数据库中进行待访问数据对象的读操作时,可以是通过调用桥接函数,调用待访问数据对象所属的目标智能合约,从而实现对待访问数据对象的读操作,并将读取的数据对象反馈至源事务请求的源区块链,以供执行源事务请求使用。
可以理解的是,由于本机节点的本地数据库中的数据发生变动后,目标区块链网络中其他节点所存储的数据并不会知晓该变动,因此也不会基于该数据变动进行相应数据对象存储内容的更新,将会出现目标区块链网络中不同区块链节点所存储的区块数据不同的情况,违背了区块链存储数据公开透明可追溯的原则。因此,当对数据对象进行本地访问时,能够进行数据对象的读操作,无法进行数据对象的写操作。
为了保证数据访问过程在目标区块链的可追溯性,还可以通过链上访问的方式进行待访问数据对象的访问操作。其中,访问操作包括读操作或写操作。
在本申请实施例的一种可选实施方式中,在目标区块链网络中发起访问待访问数据对象的目标事务请求,以请求目标区块链网络执行目标事务请求,对待访问数据对象执行读操作或写操作。
示例性地,若待访问数据对象为基于目标智能合约生成,则在目标区块链网络中发起访问待访问数据对象的目标事务请求,以请求目标区块链网络执行目标事务请求,对待访问数据对象执行访问操作,可以是:调用桥接函数,如果桥接函数确定调用类型为非本地读取,则基于目标智能合约发起访待访问数据对象的目标事务请求,以请求区块链网络执行目标事务请求,对待访问数据对象执行访问操作。
当访问操作包括读操作时,可以读取待访问数据对象,并将所读取的数据对象通过桥接函数反馈至源事务请求所属的源区块链,以供执行源事务请求使用;当访问操作包括写操作时,目标事务请求中会包含有写操作的源数据值和目标数据值;通过调用目标智能合约将源数据值更新为目标数据值。其中,源数据值可以是默认数据值或当前存储的数据值。其中,默认数据值为未存储数据时所存储的内容,例如可以是空值。当然,目标事务请求中可以仅包含目标数据值,源数据值可以通过查找获取。
在一实施例中,确定调用类型可以通过数据访问方式和操作方式确定,当数据访问方式为本地访问,操作方式为读操作,则确定调用类型为本地读取;否则,确定调用类型为非本地读取。
示例性地,访问方式可以通过以下方式进行实现:由用户指定访问方式、随机确定访问方式、根据源事务请求的执行时间选择访问方式、或者根据区块链中的共识机制确定访问方式。
S204A、所述当前出块节点如果获取到访问结果,则根据所述访问结果继续执行所述源事务请求。
S204B、所述当前出块节点如果获知访问失败,则拒绝执行所述源事务请求。
可以理解的是,当访问失败时,表明无法获取到访问结果,此时再继续执行源事务请求将无法得到正确结果,还会造成计算资源的浪费,因此可以拒绝执行源事务请求。
在本申请实施例的一种可选实施方式中,获知访问失败,可以是在本地数据库进行待访问数据对象的读操作,或者是在目标区块链中发起访问待访问数据对象的目标事务请求时,源事务请求的发起者不具备目标区块链中待访问数据对象的数据访问权限。
示例性地,可以在发起待访问数据对象的访问操作之前,基于目标区块链部署的权限控制模型,对访问需求进行权限验证;若验证通过,则发起对待访问数据对象的访问操作;若验证失败,则确定源事务请求的发起者,不具备目标区块链中待访问数据对象的数据访问权限,因此确定访问失败,向源事务请求所述的源区块链反馈访问失败的指示信息。
示例性地,基于目标区块链部署的权限控制模型,对访问需求进行权限验证,可以是:根据在目标区块链中部署待访问数据对象所属的目标智能合约时所设置的权限控制表,对源事务请求的发起者的数据访问权限进行验证。
其中,权限控制表用于控制用户账户对目标智能合约的调用权限。在权限控制表中记录有目标智能合约的调用权限控制策略:阈值策略、背书策略和固定账户策略中的至少一种。通过调用权限控制策略对调用目标智能合约的用户账户进行鉴权,当鉴权通过时,调用目标智能合约执行访问操作。
其中,阈值策略,用于根据源事务请求中所包含的授权账户的权重之和,与设定调用阈值之间的关系,确定调用鉴权通过结果;背书策略,用于根据源事务请求中所包含的授权账户的数量或比例,确定调用鉴权通过结果;账户策略,用于根据源事务请求的发起用户与预设授权账户或预设禁权账户之间的关系,确定鉴权通过结果。其中,授权账户为具备目标智能合约调用权限的用户账户。其中,禁权账户为不具备目标智能合约调用权限的用户账户。其中,不同授权账户在部署目标智能合约时,预先设定有相应的调用权重值。其中,授权账户、禁权账户以及各授权账户的调用权重值还可以在目标智能合约部署之后,由目标智能合约的合约管理账户根据需要进行调整。
可选的,通过调用权限控制策略对调用目标智能合约的用户账户进行鉴权,可以是:确定源事务请求中所包含的授权账户的权重之和;若该和值大于设定调用阈值,则鉴权通过。或者可选的,确定源事务请求中所包含的授权账户的数量;若该数量大于设定数量阈值,则鉴权通过。或者可选的,确定源事务请求中所包含的授权账户的比例,若该比例大于设定比例阈值,则鉴权通过。或者可选的,确定源事务请求的发起用户是否为预设授权账户或预设授权账户的关联账户;若是,则鉴权通过。或者可选的,确定源事务请求的发起用户是否为预设禁权账户或预设禁权账户的关联账户;若否,则鉴权通过。其中,账户的关联账户可以理解为账户的父账户或子账户。
在本申请实施例的另一可选实施方式中,获知访问失败,可以是:本地监听目标事务请求的执行情况,如果在本地监听到目标事务请求的执行失败,则确定为访问失败。
示例性地,本地监听目标事务请求的执行情况,可以是:在目标区块链网络中发起访问待访问数据对象的目标事务请求时,或者在获取到所部署的基础链或平行链的源事务请求时,本机节点开启监听线程,监听目标区块链中目标事务请求的执行情况;若目标事务请求执行失败,则确定访问失败,拒绝执行源事务请求。例如,目标事务请求执行过程中,待访问数据对象的存储区块被回滚,将导致目标事务请求执行失败。
可以理解的是,在执行目标事务请求的过程中,本机节点还可能在源事务请求的源区块链中执行与待访问数据对象无关的其他操作,此时,同样存在源事务请求执行失败的情况。因此,还可以在目标区块链网络中发起访问待访问数据对象的目标事务请求之后,本地监听源事务请求的执行情况;如果本地监听到源事务请求的执行失败,则停止执行目标事务请求。
示例性地,本地监听源事务请求的执行情况,可以是在目标区块链网络中发起访问所述待访问数据对象的目标事务请求之前,例如在获取到所部署的基础链或平行链的源事务请求时,本机节点开启监听线程,监听源事务请求所属源区块链中源事务请求的执行情况,若源事务请求执行失败,则停止执行目标事务请求。
可以理解的是,为了减少无效计算带来的计算资源的浪费,典型的,对源区块链和目标区块链同时进行本地监听操作,以便在源事务请求或目标事务请求中的其中一个执行失败时,及时中止另一事务请求的执行。
本申请实施例通过将发起对待访问数据对象的访问操作,细化为在区块链节点本地数据库的本地读操作,或通过早目标区块链网络发起目标事务请求实现链上读操作或链上写操作,完善了对待访问数据对象的访问方式和操作内容。进一步地,通过在对待访问数据对象访问失败时,拒绝执行源事务请求,避免了对源事务请求进行无效执行的情况的发生,减少了计算资源的浪费。
实施例三
图3是本申请实施例三中的一种数据访问方法的流程图,本申请实施例在上述各实施例的技术方案的基础上,进行了优化改进。
进一步地,将操作“确定存在目标区块链所属数据对象的访问需求”,细化为“根据所述源事务请求中待访问数据对象的数据标识,确定所述待访问数据对象属于不同区块链,且属于相同区块网络,则确定存在目标区块链所属数据对象的访问需求;其中,所述数据标识包括数据级、链级和网络级的名称”,以完善访问需求的确定机制。
如图3所示的一种数据访问方法,包括:
S301、如果识别到本机节点为基础链的当前出块节点,则确定本机节点为所部署平行链的当前出块节点。
S302、所述当前出块节点获取所部署的基础链或平行链中发起的源事务请求。
S303、所述当前出块节点在执行所述源事务请求的过程中,根据所述源事务请求中待访问数据对象的数据标识,确定所述待访问数据对象属于不同区块链,且属于相同区块网络,则确定存在目标区块链所属数据对象的访问需求。
其中,所述数据标识包括数据级、链级和网络级的名称。
示例性地,在区块链系统运行过程中,进行数据对象存储时,通过网络级名称、链级名称和数据级名称,生成待存储数据对象的数据标识,对待存储数据对象进行命名区分。相应的,在对区块链中的数据进行访问时,可以根据数据标识,确定待访问数据对象所属的目标区块链;当确定目标区块链与源事务请求的源区块链不同,且源区块链与目标区块链属于相同区块网络,则确定存目标区块链所属数据对象的访问需求;否则,确定不存在目标区块链所属数据对象的访问需求。
可以理解的是,当源事务请求所属的源区块链与目标区块链属于不同的区块网络,也即不同区块网络之间具备跨网络的数据访问时,由于不同区块网络中无法找到同时部署有基础链和区块链的区块链节点,因此将无法执行数据访问操作,故此时确定不存在目标区块链所属数据对象的访问需求,拒绝执行跨网络的数据访问。
举例说明,区块网络xuper中存在一条区块链root链,在root链中存储有变量user对应的变量值。那么,可以通过xuper.root.user对该变量user进行命名,作为该变量在区块链系统中的唯一数据标识。相应的,在访问该数据对象时,通过数据标识“xuper.root.user”确定该待访问数据对象所属的区块链root和/或区块网络xuper。
需要说明的是,为了保证区块链系统中数据对象的唯一性,防止发生数据冲突,在区块链系统中,同一区块链网络中,区块链的名称唯一;同一区块链系统中,区块网络名称唯一。在实际应用过程中,区块网络可以由不同的主体进行维护,因此,在区块链系统中可以设置统一的网络名称注册机制,以保证区块网络命名的唯一性。示例性地,可以通过预先设置网络名称注册联盟,通过联盟成员线下协商的方式确定区块网络的网络名称,并进行名称分配分配。
在本申请实施例的一种可选实施方式中,在区块链系统中部署有实现不同功能的智能合约,每个智能合约可基于设定的数据存储模型来管理所属数据对象的存储和读写访问,因此,在对数据对象在进行存储时,还可以在数据标识中添加合约级名称。
举例说明,立体网络xuper中存在一条区块链root链,在root链中部署有智能合约account,该智能合约account对应的数据库中存储有变量user对应的变量值。那么,可以通过xuper.root.account.user对该变量user进行命名,作为该变量在区块链系统中的唯一数据标识。相应的,在访问该数据对象时,通过数据标识“xuper.root.account.user”确定该待访问数据对象所属的区块链root和/或网络xuper,进一步地,还可以确定该待访问数据对象所属的智能合约account。
相应的,为了保证区块链系统中数据对象的唯一性,防止发生数据冲突,在区块链系统中,同一区块链中,智能合约的名称唯一;同一区块链网络中,区块链的名称唯一;同一区块链系统中,区块网络名称唯一。
S304、所述当前出块节点如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据对象的访问操作。
S305、所述当前出块节点如果获取到访问结果,则根据所述访问结果继续执行所述源事务请求。
本申请实施例通过将访问需求确定操作,细化为根据源事务请求中待访问数据对象的数据标识,确定所述待访问数据对象属于不同区块链,且属于相同区块网络,进而确定存在目标区块链所属数据对象的访问需求。由于数据标识中包括数据级和链级名称,能够实现待访问数据对象的精准定位,同时能够辨识是否存在跨链数据访问的需求,从而实现数据在不同区块链中的共享;同时通过在数据标识中添加网络级名称,能够有效识别跨网络的数据访问,通过将跨网络的数据访问进行剔除,实现了数据的有限范围共享,便于数据管理。
实施例四
图4是本申请实施例四中的一种数据访问装置的结构图,本申请实施例适用于对超级区块链网络中不同区块链所属的数据对象的跨链访问情况。该装置通过软件和/或硬件实现,并具体配置于承载有区块链节点的电子设备中。该区块链节点区块链节点部署有超级区块链网络中的基础链和至少一条平行链。
如图4所示的一种数据访问装置400,包括:出块节点确定模块401、源事务请求获取模块402、访问操作发起模块403和访问结果使用模块404。其中,
出块节点确定模块401,用于如果识别到本机节点为基础链的当前出块节点,则确定本机节点为所部署平行链的当前出块节点;
源事务请求获取模块402,用于获取所部署的基础链或平行链中发起的源事务请求;
访问操作发起模块403,用于在执行所述源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据对象的访问操作;
访问结果使用模块404,用于如果获取到访问结果,则根据所述访问结果继续执行所述源事务请求。
本申请实施例在超级区块链网络中,通过出块节点确定模块在识别到本机节点为基础链的当前出块节点时,确定本机节点为部署平行链的当前出块节点;通过源事务请求获取模块获取所部署的基础链或平行链中发起的源事务请求;通过访问操作发起模块在执行源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据兑现的访问操作;通过访问结果使用模块在获取到访问结果时,根据访问结果继续执行源事务请求。上述技术方案,通过锚定基础链和平行链的当前出块节点,从而能够及时获知源事务请求和访问操作的执行情况,保证两执行结果的一致性。同时,通过在发起的访问操作获取到访问结果时,触发源事务请求的继续执行,避免了没有获取到访问结果仍对源事务请求的无效执行的情况的发生,减少了计算资源的浪费。
进一步地,该装置还包括,源事务请求拒绝执行模块,用于:
在发起对待访问数据对象的访问操作之后,如果获知访问失败,则拒绝执行所述源事务请求。
进一步地,该装置还包括,基础链出块节点确定模块,用于:
根据设定共识机制,从部署有所述基础链的多个区块链节点中,确定所述基础链的当前出块节点。
进一步地,所述超级区块链网络中基础链和各平行链的出块周期相同。
进一步地,访问操作发起模块403,在执行发起对待访问数据对象的访问操作时,具体用于:
调用桥接函数发起对待访问数据对象的访问操作。
进一步地,访问操作发起模块403,在执行发起对待访问数据对象的访问操作时,具体用于:
在所述区块链节点本地数据库中进行待访问数据对象的读操作;或
在目标区块链网络中发起访问所述待访问数据对象的目标事务请求,以请求目标区块链网络执行所述目标事务请求,对待访问数据对象执行访问操作,所述访问操作包括读操作或写操作。
进一步地,获知访问失败包括:
如果在本地监听到所述目标事务请求的执行失败,则确定为访问失败。
进一步地,该装置还包括,目标事务请求停止执行模块,用于:
在目标区块链网络中发起访问所述待访问数据对象的目标事务请求之后,如果在本地监听到所述源事务请求的执行失败,则停止执行所述目标事务请求。
进一步地,该装置还包括,权限验证模块,用于:
在发起对待访问数据对象的访问操作之前,基于目标区块链部署的权限控制模型,对所述访问需求进行权限验证。
进一步地,访问操作发起模块403,在执行确定存在目标区块链所属数据对象的访问需求时,具体用于:
根据所述源事务请求中待访问数据对象的数据标识,确定所述待访问数据对象属于不同区块链,且属于相同区块网络,则确定存在目标区块链所属数据对象的访问需求;
其中,所述数据标识包括数据级、链级和网络级的名称。
上述数据访问装置可执行本申请任意实施例所提供的数据访问方法,具备执行数据访问方法相应的功能模块和有益效果。
实施例五
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图5所示,是实现本申请实施例的数据访问方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器501为例。
存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的数据访问方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的数据访问方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的数据访问方法对应的程序指令/模块(例如,附图4所示的出块节点确定模块401、源事务请求获取模块402、访问操作发起模块403和访问结果使用模块404)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据访问方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储实现数据访问方法的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至实现数据访问方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现数据访问方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与实现数据访问方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语和“计算机可读介质”指的是用于将机器指/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
本申请实施例在超级区块链网络中,在识别到本机节点为基础链的当前出块节点时,确定本机节点为部署平行链的当前出块节点;获取所部署的基础链或平行链中发起的源事务请求;在执行源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据兑现的访问操作;如果获取到访问结果,则根据访问结果继续执行源事务请求。上述技术方案,通过锚定基础链中的当前出块节点作为平行链的当前出块节点,执行区块链网络中发起的源事务请求以及发起源事务请求执行过程中需要跨链进行待访问数据的访问操作,使得当前出块节点能够及时获知访问操作情况和源事务请求的执行情况,通过在发起的访问操作获取到访问结果时,触发源事务请求的继续执行,避免了没有获取到访问结果仍对源事务请求的无效执行的情况的发生,减少了计算资源的浪费。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (13)
1.一种数据访问方法,其特征在于,由区块链节点执行,所述区块链节点部署有超级区块链网络中的基础链和至少一条平行链,所述方法包括:
如果识别到本机节点为所述基础链的当前出块节点,则确定本机节点为所部署平行链的当前出块节点;
所述当前出块节点获取所部署的所述基础链或平行链中发起的源事务请求;
所述当前出块节点在执行所述源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据对象的访问操作;
所述当前出块节点如果获取到访问结果,则根据所述访问结果继续执行所述源事务请求。
2.根据权利要求1所述的方法,其特征在于,发起对待访问数据对象的访问操作之后,还包括:
如果获知访问失败,则拒绝执行所述源事务请求。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据设定共识机制,从部署有所述基础链的多个区块链节点中,确定所述基础链的当前出块节点。
4.根据权利要求1所述的方法,其特征在于,所述超级区块链网络中基础链和各平行链的出块周期相同。
5.根据权利要求1或2所述的方法,其特征在于,发起对待访问数据对象的访问操作,包括:
调用桥接函数发起对待访问数据对象的访问操作。
6.根据权利要求1或2所述的方法,其特征在于,发起对待访问数据对象的访问操作,包括:
在所述区块链节点本地数据库中进行待访问数据对象的读操作;或
在目标区块链网络中发起访问所述待访问数据对象的目标事务请求,以请求目标区块链网络执行所述目标事务请求,对待访问数据对象执行访问操作,所述访问操作包括读操作或写操作。
7.根据权利要求6所述的方法,其特征在于,获知访问失败包括:
如果在本地监听到所述目标事务请求的执行失败,则确定为访问失败。
8.根据权利要求6所述的方法,其特征在于,在目标区块链网络中发起访问所述待访问数据对象的目标事务请求之后,还包括:
如果在本地监听到所述源事务请求的执行失败,则停止执行所述目标事务请求。
9.根据权利要求1所述的方法,其特征在于,在发起对待访问数据对象的访问操作之前,还包括:
基于目标区块链部署的权限控制模型,对所述访问需求进行权限验证。
10.根据权利要求1所述的方法,其特征在于,确定存在目标区块链所属数据对象的访问需求,包括:
根据所述源事务请求中待访问数据对象的数据标识,确定所述待访问数据对象属于不同区块链,且属于相同区块网络,则确定存在目标区块链所属数据对象的访问需求;
其中,所述数据标识包括数据级、链级和网络级的名称。
11.一种数据访问装置,其特征在于,配置于区块链节点,所述区块链节点部署有超级区块链网络中的基础链和至少一条平行链,包括:
当前出块节点确定模块,用于如果识别到本机节点为所述基础链的当前出块节点,则确定本机节点为所部署平行链的当前出块节点;
源事务请求获取模块,用于获取所部署的所述基础链或平行链中发起的源事务请求;
访问操作发起模块,用于在执行所述源事务请求的过程中,如果确定存在目标区块链所属数据对象的访问需求,则发起对待访问数据对象的访问操作;
访问结果使用模块,用于如果获取到访问结果,则根据所述访问结果继续执行所述源事务请求。
12.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的一种数据访问方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-10中任一项所述的一种数据访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010129508.7A CN111339202B (zh) | 2020-02-28 | 2020-02-28 | 一种数据访问方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010129508.7A CN111339202B (zh) | 2020-02-28 | 2020-02-28 | 一种数据访问方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111339202A true CN111339202A (zh) | 2020-06-26 |
CN111339202B CN111339202B (zh) | 2023-05-09 |
Family
ID=71182001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010129508.7A Active CN111339202B (zh) | 2020-02-28 | 2020-02-28 | 一种数据访问方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111339202B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732677A (zh) * | 2021-01-12 | 2021-04-30 | 成都库珀区块链科技有限公司 | 区块链节点部署方法、装置、设备及存储介质 |
WO2023019579A1 (zh) * | 2021-08-20 | 2023-02-23 | 京东方科技集团股份有限公司 | 创建方法、信息处理方法、存储方法、电子设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107464106A (zh) * | 2017-07-25 | 2017-12-12 | 北京果仁宝科技有限公司 | 区块链主链与侧链间交易的方法及系统 |
CN108959621A (zh) * | 2018-07-18 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的实现方法、装置、设备及存储介质 |
CN108961052A (zh) * | 2018-06-25 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 区块链数据的验证方法、存储方法、装置、设备和介质 |
CN108984784A (zh) * | 2018-07-26 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 基于区块链网络的应用实现方法、装置、设备和存储介质 |
CN108985774A (zh) * | 2018-07-18 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的激励方法、装置、设备及存储介质 |
CN109146681A (zh) * | 2018-07-26 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 一种区块链的元素处理方法、装置、设备和存储介质 |
CN109446266A (zh) * | 2018-09-20 | 2019-03-08 | 成都捕风数据科技有限公司 | 一种适用于区块链网络改进事务效率与稳定性的方法 |
CN109522735A (zh) * | 2018-11-29 | 2019-03-26 | 上海中信信息发展股份有限公司 | 一种基于智能合约的数据权限验证方法及装置 |
CN109587131A (zh) * | 2018-11-29 | 2019-04-05 | 浙江超脑时空科技有限公司 | 一种区块链网络间数据通信方法和装置 |
WO2019072273A2 (en) * | 2018-11-16 | 2019-04-18 | Alibaba Group Holding Limited | CHAIN INTERACTIONS USING A DOMAIN NAME SYSTEM IN BLOCK CHAIN SYSTEMS |
CN109886693A (zh) * | 2019-03-13 | 2019-06-14 | 百度在线网络技术(北京)有限公司 | 区块链系统的共识实现方法、装置、设备和介质 |
CN110111104A (zh) * | 2019-04-23 | 2019-08-09 | 矩阵元技术(深圳)有限公司 | 区块链智能合约实现方法、装置、计算机设备和存储介质 |
US20190266145A1 (en) * | 2018-02-27 | 2019-08-29 | Alibaba Group Holding Limited | Executing transactions based on blockchain |
WO2019195072A1 (en) * | 2018-04-03 | 2019-10-10 | Alibaba Group Holding Limited | Cross-blockchain authentication method, apparatus, and electronic device |
-
2020
- 2020-02-28 CN CN202010129508.7A patent/CN111339202B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107464106A (zh) * | 2017-07-25 | 2017-12-12 | 北京果仁宝科技有限公司 | 区块链主链与侧链间交易的方法及系统 |
US20190266145A1 (en) * | 2018-02-27 | 2019-08-29 | Alibaba Group Holding Limited | Executing transactions based on blockchain |
WO2019195072A1 (en) * | 2018-04-03 | 2019-10-10 | Alibaba Group Holding Limited | Cross-blockchain authentication method, apparatus, and electronic device |
CN108961052A (zh) * | 2018-06-25 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 区块链数据的验证方法、存储方法、装置、设备和介质 |
CN108959621A (zh) * | 2018-07-18 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的实现方法、装置、设备及存储介质 |
CN108985774A (zh) * | 2018-07-18 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的激励方法、装置、设备及存储介质 |
CN108984784A (zh) * | 2018-07-26 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 基于区块链网络的应用实现方法、装置、设备和存储介质 |
CN109146681A (zh) * | 2018-07-26 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 一种区块链的元素处理方法、装置、设备和存储介质 |
CN109446266A (zh) * | 2018-09-20 | 2019-03-08 | 成都捕风数据科技有限公司 | 一种适用于区块链网络改进事务效率与稳定性的方法 |
WO2019072273A2 (en) * | 2018-11-16 | 2019-04-18 | Alibaba Group Holding Limited | CHAIN INTERACTIONS USING A DOMAIN NAME SYSTEM IN BLOCK CHAIN SYSTEMS |
CN109587131A (zh) * | 2018-11-29 | 2019-04-05 | 浙江超脑时空科技有限公司 | 一种区块链网络间数据通信方法和装置 |
CN109522735A (zh) * | 2018-11-29 | 2019-03-26 | 上海中信信息发展股份有限公司 | 一种基于智能合约的数据权限验证方法及装置 |
CN109886693A (zh) * | 2019-03-13 | 2019-06-14 | 百度在线网络技术(北京)有限公司 | 区块链系统的共识实现方法、装置、设备和介质 |
CN110111104A (zh) * | 2019-04-23 | 2019-08-09 | 矩阵元技术(深圳)有限公司 | 区块链智能合约实现方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
YIMING JIANG,CHENXU WANG,YAWEI WANG,LANG GAO: "A cross-chain solution intergrating multiple blockchain for IOT Data Management", 《MDPI》 * |
周畅, 陆慧梅,向勇,吴竞邦: "区块链在车载自组网中的应用研究及展望", 《计算机科学》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732677A (zh) * | 2021-01-12 | 2021-04-30 | 成都库珀区块链科技有限公司 | 区块链节点部署方法、装置、设备及存储介质 |
CN112732677B (zh) * | 2021-01-12 | 2023-10-13 | 库珀科技集团有限公司 | 区块链节点部署方法、装置、设备及存储介质 |
WO2023019579A1 (zh) * | 2021-08-20 | 2023-02-23 | 京东方科技集团股份有限公司 | 创建方法、信息处理方法、存储方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111339202B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180367365A1 (en) | State control method and apparatus | |
US10176019B2 (en) | Dynamic management of computing platform resources | |
CN111324425B (zh) | 一种数据访问方法、装置、设备及存储介质 | |
US9929916B1 (en) | Achieving stateful application software service behavior in distributed stateless systems | |
EP2156308B1 (en) | Extensible and programmable multi-tenant service architecture | |
JP2022515949A (ja) | トランザクション処理方法、装置、機器並びにコンピュータプログラム | |
CN109886693B (zh) | 区块链系统的共识实现方法、装置、设备和介质 | |
CN111352706B (zh) | 一种数据访问方法、装置、设备及存储介质 | |
US10666572B2 (en) | Dynamic management of computing platform resources | |
US9946555B2 (en) | Enhanced configuration and property management system | |
CN111339114B (zh) | 一种数据访问方法、装置、设备及存储介质 | |
US20200233699A1 (en) | Platform-based change management | |
US20240171454A1 (en) | Hierarchical cloud computing resource configuration techniques | |
CN111339202A (zh) | 一种数据访问方法、装置、设备及存储介质 | |
US11245744B1 (en) | Asynchronous distributed modular function calling | |
CN111770176B (zh) | 流量调度方法及装置 | |
US20160094409A1 (en) | Composite service pre-provisioning | |
CN106533961A (zh) | 一种流量控制方法及装置 | |
US20240314133A1 (en) | Restricted operations due to attachment of compute instances owned by different tenancies | |
US20200151049A1 (en) | Increasing processing capacity of processor cores during initial program load processing | |
US8903889B2 (en) | Method, system and article for mobile metadata software agent in a data-centric computing environment | |
CN104350464B (zh) | 虚拟化集成调用以提供对虚拟命名空间中的资源的访问权 | |
CN114513528B (zh) | 基于区块链的服务预留和委托的方法和系统 | |
CN112395570B (zh) | 一种联盟链智能合约调用权限控制方法、系统及存储介质 | |
JP7553576B2 (ja) | デプロイメントオーケストレータにおけるドリフトを検出するための技術 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |