CN111241061A - 状态数据库的写入方法、数据处理装置及存储介质 - Google Patents
状态数据库的写入方法、数据处理装置及存储介质 Download PDFInfo
- Publication number
- CN111241061A CN111241061A CN202010024089.0A CN202010024089A CN111241061A CN 111241061 A CN111241061 A CN 111241061A CN 202010024089 A CN202010024089 A CN 202010024089A CN 111241061 A CN111241061 A CN 111241061A
- Authority
- CN
- China
- Prior art keywords
- block
- writing
- read
- target block
- data
- 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
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/21—Design, administration or maintenance of databases
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及区块链技术,揭露了一种状态数据库的写入方法,该方法包括:接收排序节点发送的若干个区块的模拟结果后,获取所述若干个区块的区块信息;依序读取目标区块的读写集,基于所述缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,将所述目标区块的有效交易数据对应的读写集写入所述缓存中;以后台执行的方式从所述缓存中读取所述目标区块对应的数据并写入所述状态数据库中。本发明还揭露了一种数据处理装置及计算机可读存储介质。利用本发明,可提高写状态数据库的效率及准确性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种状态数据库的写入方法、服务器及计算机可读存储介质。
背景技术
区块链完成交易打包,即完成共识出块后,产生了新的区块。随后需要将区块中的事务预执行得到预执行结果,以完成事务并更新数据库,即落账。区块链属于链式数据结构,每个区块指向上一个区块,因此,验证数据的有效性就需要顺序地对每个区块进行校验。为了保证交易中资产落账一致,区块中的事务要按照排序依次预执行,即同账户相关的交易需要保证顺序性。也就是说,对于一个新加入区块链网络的节点来说,需要先同步所有的历史区块数据并且进行逐个的有效性校验,才能开始同步最新的区块。而历史区块数据往往很大,因此,该同步过程需耗费很长时间,导致时间和机器性能的浪费。
发明内容
鉴于以上内容,本发明提供一种状态数据库的写入方法、数据处理装置及计算机可读存储介质,其主要目的在于,提高写状态数据库的效率。
为实现上述目的,本发明提供一种状态数据库的写入方法,所述方法包括:
接收步骤,接收排序节点发送的若干个区块的模拟结果后,获取所述若干个区块的区块信息;
第一写步骤,依序从所述若干个区块的区块信息中读取目标区块的读写集,基于预设缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,并将所述目标区块的有效交易数据对应的读写集写入所述缓存中,其中,所述缓存用于缓存所述区块链网络中各区块中有效交易的读写集;及
第二写步骤,以后台执行的方式从所述缓存中读取所述目标区块对应的数据,并将所述目标区块对应的数据写入所述状态数据库中。
优选地,所述基于所述缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,包括:
确定所述目标区块对应的参考区块,从所述缓存中获取所述参考区块对应的数据,将所述目标区块的读写集与所述缓存中的所述参考区块对应的数据进行比对;
若存在与所述目标区块的读写集对应的数据,则确定所述目标区块的读写集中的交易数据有效;及
若不存在与所述目标区块的读写集对应的数据,则从状态数据库中获取所述参考区块对应的数据,将所述目标区块的读写集与状态数据库中的所述参考区块对应的数据进行比对,若存在与所述目标区块的读写集对应的数据,则确定所述目标区块的读写集中的交易数据有效。
优选地,所述第二写步骤还包括:
当将所述目标区块对应的数据写入所述状态数据库后,从所述缓存中释放所述目标区块对应的数据。
优选地,所述状态数据库的写入方法还包括:
第三写步骤,当将所述目标区块对应的数据写入状态数据库后,向检查点协程发送写检查点请求,所述请求中包括目标区块对应的区块编号,并控制所述检查点协程基于所述区块编号及预设分析规则为所述目标区块写检查点。
优选地,所述检查点协程基于所述区块编号及预设分析规则为所述目标区块写检查点,包括:
a1.所述检查点协程接收到请求后,获取所述目标区块的区块编号,判断该编号是否为期望编号;
a2.若是,则为所述目标区块写检查点,并更新期望编号;
a3.若否,则将该请求按照编号的顺序写入等待队列中,并判断等待队列中是否存在期望编号;若是,则执行步骤a2,为期望编号对应的区块写检查点,若否,执行步骤a1。
此外,本发明还提供一种数据处理装置,该装置包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的状态数据库的写入程序,所述状态数据库的写入程序被所述处理器执行时,可实现如上所述状态数据库的写入方法中的任意步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括状态数据库的写入程序,所述状态数据库的写入程序被处理器执行时,可实现如上所述状态数据库的写入方法中的任意步骤。
本发明提出的状态数据库的写入方法、数据处理装置及计算机可读存储介质,通过新增一个缓存,将校验有效的区块的读写集写入缓存中,后续区块在校验数据过程中可从缓存中获取相关数据进行校验,无需等上一个区块完成写状态数据库即可处理下一个区块,鉴于写缓存的速度远远大于写状态数据库的速度,因此可提高后续区块数据校验的效率;同时,通过将写缓存与写状态数据库分离,并后台执行写状态数据库的过程,充分利用计算机性能,加快了写状态数据库的处理进度;在写完状态数据库后,按照区块编号顺序依次为期望编号对应的区块写检查点,避免peer宕机后无法正确恢复数据的情况,提高写状态数据库的效率及准确性。
附图说明
图1为本发明状态数据库的写入方法较佳实施例的流程图;
图2为本发明数据处理装置较佳实施例的示意图;
图3为图2中状态数据库的写入程序的程序模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种状态数据库的写入方法。参照图1所示,为本发明状态数据库的写入方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,所述状态数据库的写入方法仅包括步骤S10-S30。
一种状态数据库的写入方法,应用于区块链网络中的交易节点,该方法包括:
步骤S10,接收排序节点发送的若干个区块的模拟结果后,获取所述若干个区块的区块信息。
在以下实施例中,以交易节点对应的数据处理装置为执行主体对本发明各实施例进行说明。所述区块链网络包括交易节点、提交节点、共识节点。基于区块链网络的交易过程大致如下:
1.客户端创建交易提案并发送到交易节点(智能合约(chaindode)对应的背书节点,即智能合约指定的可以验证该交易的peer节点);
2.交易节点执行智能合约,基于读取和写入的key生成读写操作集(fabric读写集);
3.交易节点向客户端返回提案结果(交易节点执行智能合约的时候产生的模拟结果);
4.客户端将交易数据提交到共识节点(Orderer),交易数据包括来自提案的读写集;
5.共识节点将排序完的交易打包进区块中;
6.区块将提案结果发送到提交节点(若提案结果为成功,将提案结果发给排序节点,排序节点会将这个交易广播给其他的交易节点);
7.提交节点进行如下操作:
1)MVCC多版本控制(Multi-Version Concurrency Control多版本并发控制),读取状态数据库(state db)中最新的值,验证交易的有效性;
2)在文件系统上将新的区块写入区块链中(交易的数据打包成区块,区块写进区块链),将区块中有效的交易写入状态数据库中,写入数据库检查点。
在第7步骤中,每个区块依次执行1、2步骤,性能比较低。
例如,现在账本里面A=100元,交易P消费90元,模拟结果为A=10,该结果还未提交至排序节点时,交易Q消费20元,模拟结果为A=80,此时,将两个交易的模拟结果都提交至排序节点,执行MVCC时会发现交易P、Q都是基于A=100这个前提,因此会判定P、Q中的一个交易失败(其中,先提交至排序节点的交易成功,后提交的被设置为无效)。
改进前的步骤如下:输入一个区块,交易节点读取区块里面的读写集,将读写集里面的数据跟状态数据库里面最新的数据进行对比,判断读写集里面哪些数据是有效的,哪些是无效的。具体地,交易节点从排序节点获取交易信息,并去验证交易是否有效,通过获取读写集里面的值,跟本地的状态数据库进行对比,从而判断交易是否有效,这个过程称之为MVCC。然后将区块信息写入账本。然后,将上一步校验有效交易的读写集信息更新到状态数据库中。该区块的信息写完之后,写入检查点信息。然后,对下一个区块重复以上步骤。然而,以上步骤的问题在于,写状态数据库的过程是顺序的,且写状态数据库是一个IO密集型操作,若需要单个区块按顺序去写状态数据库,对性能的影响比较大。
当交易节点接收到排序节点发送的模拟结果(提案结果)后,按照各区块的区块编号的顺序分别获取各区块的区块信息。其中,各区块的区块信息包括:多个交易的交易信息、交易是否有效、交易对应的读写集、各交易对应的智能合约及区块链条。区块链网络中一条链对应一个状态数据库,所有区块对应同一个缓存,缓存中的数据以map形式保存。
需要说明的是,在步骤S10之前,该方法还包括:预先确定并保存各区块的编号;每新增一个区块,在已有编号的最大值的基础上生成一个新的编号作为所述新增区块的编号。例如,按照业务需求为已有区块进行编号,得到区块1、2、3、…、n,各编号排序就是获取各区块的区块信息的顺序。在产生新的区块的过程中,新区块的编号即为n+1,依此类推。
步骤S20,依序从所述若干个区块的区块信息中读取目标区块的读写集,基于预设缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,并将所述目标区块的有效交易数据对应的读写集写入所述缓存中,其中,所述缓存用于缓存所述区块链网络中各区块中有效交易的读写集。
现有技术中的流程是:如果按顺序有3个区块1、2、3。校验区块2中的交易是否有效,需要依赖区块1的结果,校验区块3中的交易是否有效,需要依赖区块1、区块2的结果,每次校验完一个区块之后,就会把结果写进状态数据库之中。可以理解为,上一次写完的状态数据库里面,是包含区块链里面最新的数据,处理新的区块的时候,去状态数据库查询即可。这个流程的问题在于,需要按顺序等每个区块把交易结果写进状态数据库中,也就是说,校验数据有效性会使得写状态数据库这一过程会非常慢。
为了提高数据校验效率,新增一个用于保存所述区块链网络中各区块中有效交易的读写集的缓存(cache)。在本实施例中,所述基于所述缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,包括:
确定所述目标区块对应的参考区块,从所述缓存中获取所述参考区块对应的数据,将所述目标区块的读写集与所述缓存中的所述参考区块对应的数据进行比对,若存在与所述目标区块的读写集对应的数据,则确定所述目标区块的读写集中的交易数据有效;若不存在与所述目标区块的读写集对应的数据,则从状态数据库中获取所述参考区块对应的数据,将所述目标区块的读写集与状态数据库中的所述参考区块对应的数据进行比对,若存在与所述目标区块的读写集对应的数据,则确定所述目标区块的读写集中的交易数据有效。
需要说明的是,目标区块对应的参考区块基于区块编号排序确定。以区块1、2、3为例,区块1没有参考区块,区块2的参考区块为区块1,区块3的参考区块为区块1、区块2。例如,当交易节点检查完区块1中的读写集之后,将有效交易数据对应的读写集写入缓存中,在区块1正在抑或还没开始写状态数据库的时候,区块2先将区块信息中的读写集与缓存中区块1的数据进行对比,如果缓存中中没有区块1的数据,就与状态数据库中最新的数据进行对比,从而能正确判断出区块2的读写集中的交易数据是否有效。也就是说,检查一个目标区块的读写集,不单单对比状态数据库的数据,还要对比缓存中的数据。
在本实施例中,将各区块的区块信息中的读写集写入缓存的顺序是按照区块编号排序串行的。例如,区块1、2、3、…、n的顺序为区块1、区块1、区块3、…、区块n,那么,先写区块1的缓存,然后写区块2的缓存,…,依此类推。
步骤S30,以后台执行的方式从所述缓存中读取所述目标区块对应的数据,并将所述目标区块对应的数据写入所述状态数据库中。
在本实施例中,将目标区块对应的数据写入状态数据库的操作时并发执行的,以充分利用计算机的性能。
每个区块都有自己的区块编号。将区块编号跟区块里面有效交易的读写集关联起来。利用区块编号从缓存中索引得到各目标区块对应的数据,即各目标区块中的有效交易数据对应的读写集。
在本实施例中,可以在将部分目标区块的有效交易数据对应的读写集写入缓存后开始进行写状态数据库的操作,也可以在将所有目标区块的有效交易数据对应的读写集写入缓存后开始进行写状态数据库的操作。因此,可以理解的是,步骤S20及步骤S30在写完第一个目标区块的缓存后可同时进行。
为了充分利用计算机性能、提高写状态数据库的效率,在本实施例中,将第一个目标区块的有效交易数据对应的读写集写入缓存后,则开始在后台对第一个目标区块进行写状态数据库操作。例如,在将区块1的有效交易数据对应的读写集写入缓存后,判断区块2的读写集中交易数据是否有效的同时,在后台开始对区块1执行写状态数据库的操作。
需要说明的是,写缓存及写状态数据库均有交易节点执行,区别在于,写缓存及写状态数据库由交易节点的不同协程完成,例如,写缓存由交易节点创建的第一协程完成,写状态数据库由交易节点创建的第二协程完成,以实现后台写状态数据库这一操作。
上述实施例提出的状态数据库的写入方法,通过新增一个缓存,将校验有效的区块的读写集写入缓存中,后续区块在校验数据过程中可从缓存中获取相关数据进行校验,无需等上一个区块完成写状态数据库即可处理下一个区块,鉴于写缓存的速度远远大于写状态数据库的速度,因此可提高后续区块数据校验的效率;同时,通过将写缓存与写状态数据库分离,并后台执行写状态数据库的过程,充分利用计算机性能,加快了写状态数据库的处理进度。
鉴于区块数量较多,因此缓存中存储的各区块的有效读写集会占用一定的内存,为了充分利用存储空间,提高数据处理效率,在其他实施例中,所述步骤S30还包括:
当将所述目标区块对应的数据写入状态数据库后,从所述缓存中释放所述目标区块对应的数据。
当一个区块的有效读写集写进状态数据库之后,就不需要缓存中的这份数据了,因此可以把缓存中不再需要的数据删除,以释放存储空间。
为了保证状态数据库中的数据与区块链中的数据一致,需要防止在写状态数据库的过程中有peer节点中途宕机的情况,因此,在将区块的读写集写入状态数据库后,需写入检查点,以在恢复写状态数据库时确定未写完的区块。
然而,目前写检查点的步骤为:输入一个区块,检查区块数据,将区块的有效读写集写入状态数据库中,写检查点,然后对下一个区块重复执行相同的步骤。需要说明的是,区块并发的将各自的读写集写入状态数据库后,如果写检查点操作还是紧跟着写state数据库之后,此时的检查点的功能会失效。例如,由于并发写区块1、区块2、区块3的状态数据库,假如区块2的状态数据库写完之后,写入了检查点为2,此时peer挂掉宕机,重新启动peer时,由于检查点是2,程序就会从区块2开始恢复,恢复区块3及其以后的数据。无法发现实际上区块1的数据还没写入状态数据库,会导致装填数据库中的数据出现丢失,导致与其他节点的状态数据库的数据不一致的情况。
因此,为了保证数据的一致性,在其他实施例中,所述状态数据库的写入方法还包括:
步骤S40,当将所述目标区块对应的数据写入状态数据库后,向检查点协程发送写检查点请求,所述请求中包括目标区块对应的区块编号,并控制所述检查点协程基于所述区块编号及预设分析规则为所述目标区块写检查点。
写检查点就是将检查点对应的区块编号写进状态数据库中,每写完一个区块,就写一次检查点,这样就清楚地知道状态数据库中保存着0~xx号区块的有效读写集。
在本实施例中,写检查点的操作与写状态数据库的操作分离。交易节点为写检查点单独起个协程(第三协程),该协程可理解为交易节点新建的进程。
在本实施例中,所述检查点协程基于所述区块编号及预设分析规则为所述目标区块写检查点,包括:
a1.所述检查点协程接收到请求后,获取所述目标区块的区块编号,判断该编号是否为期望编号;
a2.若是,则为所述目标区块写检查点,并更新期望编号;
a3.若否,则将该请求按照编号的顺序写入等待队列中,并判断等待队列中是否存在期望编号;若是,则执行步骤a2,为期望编号对应的区块写检查点,若否,执行步骤a1。
当将目标区块的有效读写集写入状态数据库之后,向检查点协程发送一条携带区块编号的写检查点请求,检查点协程只有接收到顺序的编号(即期望编号)之后,才会真正写入检查点信息。由于本发明中是并发将各区块写入状态数据库,因此可能出现编号不连续的情况,当出现不连续的编号时,等待期望编号,再写入。每写完一个检查点会将上一个检查点覆盖,仅保留最新的值。
例如,区块0、区块1、区块5的有效读写集都写入状态数据库中,而区块2、区块3、区块4的有效读写集还未写入状态数据库中,因此,在为区块5写检查点时,需保证区块2、区块3、区块4都已经写入状态数据库中,故将编号为5的这一请求写入等待队列中,待编号为4的请求写完检查点后为编号为5的请求写检查点。
期望编号为上一次写完检查点的编号加1。例如,上一次写完编号为1的请求的检查点,则此时的期望编号为1+1,当收到区块编号为2的请求后,为区块2写检查点,若接收到的请求都不是2,将这些请求按编号顺序写入等待队列中,直到出现期望编号时再为期望编号对应的区块写检查点。即使此时peer宕机,也能正确去恢复区块2及之后的数据。
上述实施例提出的状态数据库的写入方法,通过后台并发将各区块的有效读写集写入状态数据库中,并在写完状态数据库后,按照区块编号顺序依次为期望编号对应的区块写检查点,避免peer宕机后无法正确恢复数据的情况,提高写状态数据库的效率及准确性。
参照图2所示,为本发明数据处理装置1较佳实施例的示意图。
在本实施例中,数据处理装置1为区块链网络中交易节点对应的装置。数据处理装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有数据处理功能的终端设备,所述服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器。
该数据处理装置1包括存储器11、处理器12及网络接口13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是所述数据处理装置1的内部存储单元,例如该数据处理装置1的硬盘。存储器11在另一些实施例中也可以是所述数据处理装置1的外部存储设备,例如该数据处理装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括该数据处理装置1的内部存储单元也包括外部存储设备。
存储器11不仅可以用于存储安装于该数据处理装置1的应用软件及各类数据,例如,状态数据库的写入程序10等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如,状态数据库的写入程序10等。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。数据处理装置1的组件11-13通过通信总线相互通信。
图2仅示出了具有组件11-13的数据处理装置1,本领域技术人员可以理解的是,图2示出的结构并不构成对数据处理装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
可选地,该数据处理装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。
可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在数据处理装置1中处理的信息以及用于显示可视化的用户界面。
可选地,在其他的实施例中,状态数据库的写入程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。例如,参照图3所示,为图2中状态数据库的写入程序10较佳实施例的模块示意图,该实施例中,状态数据库的写入程序10可以仅包括模块110-130。
接收模块110,用于接收排序节点发送的若干个区块的模拟结果后,获取所述若干个区块的区块信息;
当接收模块110接收到排序节点发送的模拟结果(提案结果)后,按照各区块的区块编号的顺序分别获取各区块的区块信息。其中,各区块的区块信息包括:多个交易的交易信息、交易是否有效、交易对应的读写集、各交易对应的智能合约及区块链条。区块链网络中一条链对应一个状态数据库,所有区块对应同一个缓存,缓存中的数据以map形式保存。
需要说明的是,各区块的编号是预先确定并存储的,且每新增一个区块,在已有编号的最大值的基础上生成一个新的编号作为所述新增区块的编号。例如,按照业务需求为已有区块进行编号,得到区块1、2、3、…、n,各编号排序就是获取各区块的区块信息的顺序。在产生新的区块的过程中,新区块的编号即为n+1,依此类推。。
第一写模块120,用于依序从所述若干个区块的区块信息中读取目标区块的读写集,基于预设缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,并将所述目标区块的有效交易数据对应的读写集写入所述缓存中,其中,所述缓存用于缓存所述区块链网络中各区块中有效交易的读写集。
现有技术中的流程需要按顺序等每个区块把交易结果写进状态数据库中,也就是说,校验数据有效性会使得写状态数据库这一过程会非常慢。
为了提高数据校验效率,在本实施例中,所述基于所述缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,包括:
确定所述目标区块对应的参考区块,从所述缓存中获取所述参考区块对应的数据,将所述目标区块的读写集与所述缓存中的所述参考区块对应的数据进行比对,若存在与所述目标区块的读写集对应的数据,则确定所述目标区块的读写集中的交易数据有效;若不存在与所述目标区块的读写集对应的数据,则从状态数据库中获取所述参考区块对应的数据,将所述目标区块的读写集与状态数据库中的所述参考区块对应的数据进行比对,若存在与所述目标区块的读写集对应的数据,则确定所述目标区块的读写集中的交易数据有效。
需要说明的是,目标区块对应的参考区块基于区块编号排序确定。以区块1、2、3为例,区块1没有参考区块,区块2的参考区块为区块1,区块3的参考区块为区块1、区块2。例如,当交易节点检查完区块1中的读写集之后,将有效交易数据对应的读写集写入缓存中,在区块1正在抑或还没开始写状态数据库的时候,区块2先将区块信息中的读写集与缓存中区块1的数据进行对比,如果缓存中中没有区块1的数据,就与状态数据库中最新的数据进行对比,从而能正确判断出区块2的读写集中的交易数据是否有效。也就是说,检查一个目标区块的读写集,不单单对比状态数据库的数据,还要对比缓存中的数据。
在本实施例中,第一写模块120将各区块的区块信息中的读写集写入缓存的顺序是按照区块编号排序串行的。例如,区块1、2、3、…、n的顺序为区块1、区块1、区块3、…、区块n,那么,先写区块1的缓存,然后写区块2的缓存,…,依此类推。
第二写模块130,用于当第一写模块110将目标区块的有效交易数据对应的读写集写入所述缓存后,以后台执行的方式从所述缓存中读取所述目标区块对应的数据,并将所述目标区块对应的数据写入所述状态数据库中。
在本实施例中,第二写模块130将目标区块对应的数据写入状态数据库的操作时并发执行的,以充分利用计算机的性能。
每个区块都有自己的区块编号。将区块编号跟区块里面有效交易的读写集关联起来。利用区块编号从缓存中索引得到各目标区块对应的数据,即各目标区块中的有效交易数据对应的读写集。
在本实施例中,可以在将部分目标区块的有效交易数据对应的读写集写入缓存后开始进行写状态数据库的操作,也可以在将所有目标区块的有效交易数据对应的读写集写入缓存后开始进行写状态数据库的操作。因此,可以理解的是,写缓存及写状态数据库在写完第一个目标区块的缓存后可同时进行。
为了充分利用计算机性能、提高写状态数据库的效率,在本实施例中,将第一个目标区块的有效交易数据对应的读写集写入缓存后,则开始在后台对第一个目标区块进行写状态数据库操作。例如,在将区块1的有效交易数据对应的读写集写入缓存后,判断区块2的读写集中交易数据是否有效的同时,在后台开始对区块1执行写状态数据库的操作。
上述实施例提出的数据处理装置1,通过新增一个缓存,将校验有效的区块的读写集写入缓存中,后续区块在校验数据过程中可从缓存中获取相关数据进行校验,无需等上一个区块完成写状态数据库即可处理下一个区块,鉴于写缓存的速度远远大于写状态数据库的速度,因此可提高后续区块数据校验的效率;同时,通过将写缓存与写状态数据库分离,并后台执行写状态数据库的过程,充分利用计算机性能,加快了写状态数据库的处理进度。
鉴于区块数量较多,因此缓存中存储的各区块的有效读写集会占用一定的内存,为了充分利用存储空间,提高数据处理效率,在其他实施例中,所述第二写模块130,还用于当将所述目标区块对应的数据写入状态数据库后,从所述缓存中释放所述目标区块对应的数据。
当一个区块的有效读写集写进状态数据库之后,就不需要缓存中的这份数据了,因此可以把缓存中不再需要的数据删除,以释放存储空间。
为了保证状态数据库中的数据与区块链中的数据一致,需要防止在写状态数据库的过程中有peer节点中途宕机的情况,因此,在将区块的读写集写入状态数据库后,需写入检查点,以在恢复写状态数据库时确定未写完的区块。
然而,目前写检查点的步骤为:输入一个区块,检查区块数据,将区块的有效读写集写入状态数据库中,写检查点,然后对下一个区块重复执行相同的步骤。需要说明的是,区块并发的将各自的读写集写入状态数据库后,如果写检查点操作还是紧跟着写state数据库之后,此时的检查点的功能会失效。例如,由于并发写区块1、区块2、区块3的状态数据库,假如区块2的状态数据库写完之后,写入了检查点为2,此时peer挂掉宕机,重新启动peer时,由于检查点是2,程序就会从区块2开始恢复,恢复区块3及其以后的数据。无法发现实际上区块1的数据还没写入状态数据库,会导致装填数据库中的数据出现丢失,导致与其他节点的状态数据库的数据不一致的情况。
因此,为了保证数据的一致性,在其他实施例中,所述状态数据库的写入程序还包括:
第三写模块140,用于接收第二写模块130发送的写检查点请求,所述请求中包括目标区块对应的区块编号,并基于所述区块编号及预设分析规则为所述目标区块写检查点。
在本实施例中,写检查点的操作与写状态数据库的操作分离。写检查点就是将检查点对应的区块编号写进状态数据库中,第二写模块130每写完一个区块,第三写模块140就写一次检查点,这样就清楚地知道状态数据库中保存着0~xx号区块的有效读写集。
在本实施例中,所述基于所述区块编号及预设分析规则为所述目标区块写检查点,包括:
a1.所述检查点协程接收到请求后,获取所述目标区块的区块编号,判断该编号是否为期望编号;
a2.若是,则为所述目标区块写检查点,并更新期望编号;
a3.若否,则将该请求按照编号的顺序写入等待队列中,并判断等待队列中是否存在期望编号;若是,则执行步骤a2,为期望编号对应的区块写检查点,若否,执行步骤a1。
当第二写模块130将目标区块的有效读写集写入状态数据库之后,向第三写模块140发送一条携带区块编号的写检查点请求,第三写模块140只有接收到顺序的编号(即期望编号)之后,才会真正写入检查点信息。由于本发明中是并发将各区块写入状态数据库,因此可能出现编号不连续的情况,当出现不连续的编号时,等待期望编号,再写入。每写完一个检查点会将上一个检查点覆盖,仅保留最新的值。
例如,区块0、区块1、区块5的有效读写集都写入状态数据库中,而区块2、区块3、区块4的有效读写集还未写入状态数据库中,因此,在为区块5写检查点时,需保证区块2、区块3、区块4都已经写入状态数据库中,故将编号为5的这一请求写入等待队列中,待编号为4的请求写完检查点后为编号为5的请求写检查点。
期望编号为上一次写完检查点的编号加1。例如,上一次写完编号为1的请求的检查点,则此时的期望编号为1+1,当收到区块编号为2的请求后,为区块2写检查点,若接收到的请求都不是2,将这些请求按编号顺序写入等待队列中,直到出现期望编号时再为期望编号对应的区块写检查点。即使此时peer宕机,也能正确去恢复区块2及之后的数据。
上述实施例提出的数据处理装置1,通过后台并发将各区块的有效读写集写入状态数据库中,并在写完状态数据库后,按照区块编号顺序依次为期望编号对应的区块写检查点,避免peer宕机后无法正确恢复数据的情况,提高写状态数据库的效率及准确性。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括状态数据库的写入程序10,所述状态数据库的写入程序10被处理器执行时实现如下操作:
第一写步骤:依序从所述若干个区块的区块信息中读取目标区块的读写集,基于预设缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,并将所述目标区块的有效交易数据对应的读写集写入所述缓存中,其中,所述缓存用于缓存所述区块链网络中各区块中有效交易的读写集;
第二写步骤:当将目标区块的有效交易数据对应的读写集写入所述缓存后,以后台执行的方式从所述缓存中读取所述目标区块对应的数据,并将所述目标区块对应的数据写入所述状态数据库中;及
第三写步骤:接收写检查点请求,所述请求中包括目标区块对应的区块编号,并基于所述区块编号及预设分析规则为所述目标区块写检查点。
本发明之计算机可读存储介质的具体实施方式与上述状态数据库的写入方法的具体实施方式大致相同,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种状态数据库的写入方法,应用于区块链网络中交易节点的数据处理装置,所述区块链网络还包括排序节点,其特征在于,所述方法包括:
接收步骤,接收排序节点发送的若干个区块的模拟结果后,获取所述若干个区块的区块信息;
第一写步骤,依序从所述若干个区块的区块信息中读取目标区块的读写集,基于预设缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,并将所述目标区块的有效交易数据对应的读写集写入所述缓存中,其中,所述缓存用于缓存所述区块链网络中各区块中有效交易的读写集;及
第二写步骤,以后台执行的方式从所述缓存中读取所述目标区块对应的数据,并将所述目标区块对应的数据写入所述状态数据库中。
2.根据权利要求1所述的状态数据库的写入方法,其特征在于,所述基于所述缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,包括:
确定所述目标区块对应的参考区块,从所述缓存中获取所述参考区块对应的数据,将所述目标区块的读写集与所述缓存中的所述参考区块对应的数据进行比对;
若存在与所述目标区块的读写集对应的数据,则确定所述目标区块的读写集中的交易数据有效;及
若不存在与所述目标区块的读写集对应的数据,则从状态数据库中获取所述参考区块对应的数据,将所述目标区块的读写集与状态数据库中的所述参考区块对应的数据进行比对,若存在与所述目标区块的读写集对应的数据,则确定所述目标区块的读写集中的交易数据有效。
3.根据权利要求1所述的状态数据库的写入方法,其特征在于,所述第二写步骤还包括:
当将所述目标区块对应的数据写入所述状态数据库后,从所述缓存中释放所述目标区块对应的数据。
4.根据权利要求1至3中任意一项所述的状态数据库的写入方法,其特征在于,所述状态数据库的写入方法还包括:
第三写步骤,当将所述目标区块对应的数据写入状态数据库后,向检查点协程发送写检查点请求,所述请求中包括目标区块对应的区块编号,并控制所述检查点协程基于所述区块编号及预设分析规则为所述目标区块写检查点。
5.根据权利要求4中所述的状态数据库的写入方法,其特征在于,所述检查点协程基于所述区块编号及预设分析规则为所述目标区块写检查点,包括:
a1.所述检查点协程接收到请求后,获取所述目标区块的区块编号,判断该编号是否为期望编号;
a2.若是,则为所述目标区块写检查点,并更新期望编号;
a3.若否,则将该请求按照编号的顺序写入等待队列中,并判断等待队列中是否存在期望编号;若是,则执行步骤a2,为期望编号对应的区块写检查点,若否,执行步骤a1。
6.一种数据处理装置,其特征在于,该装置包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的状态数据库的写入程序,所述状态数据库的写入程序被所述处理器执行时,可实现如下步骤:
接收步骤:接收排序节点发送的若干个区块的模拟结果后,获取所述若干个区块的区块信息;
第一写步骤:依序从所述若干个区块的区块信息中读取目标区块的读写集,基于预设缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,并将所述目标区块的有效交易数据对应的读写集写入所述缓存中,其中,所述缓存用于缓存所述区块链网络中各区块中有效交易的读写集;及
第二写步骤:以后台执行的方式从所述缓存中读取所述目标区块对应的数据,并将所述目标区块对应的数据写入所述状态数据库中。
7.根据权利要求6所述的数据处理装置,其特征在于,所述基于所述缓存及状态数据库中的数据判断所述目标区块的读写集中的交易数据是否有效,包括:
确定所述目标区块对应的参考区块,从所述缓存中获取所述参考区块对应的数据,将所述目标区块的读写集与所述缓存中的所述参考区块对应的数据进行比对;
若存在与所述目标区块的读写集对应的数据,则确定所述目标区块的读写集中的交易数据有效;及
若不存在与所述目标区块的读写集对应的数据,则从状态数据库中获取所述参考区块对应的数据,将所述目标区块的读写集与状态数据库中的所述参考区块对应的数据进行比对,若存在与所述目标区块的读写集对应的数据,则确定所述目标区块的读写集中的交易数据有效。
8.根据权利要求6至7中任意一项所述的数据处理装置,其特征在于,所述状态数据库的写入程序被所述处理器执行时,还实现如下步骤:
第三写步骤:接收写检查点请求,所述请求中包括目标区块对应的区块编号,并基于所述区块编号及预设分析规则为所述目标区块写检查点。
9.根据权利要求8中所述的数据处理装置,其特征在于,所述基于所述区块编号及预设分析规则为所述目标区块写检查点,包括:
a1.所述检查点协程接收到请求后,获取所述目标区块的区块编号,判断该编号是否为期望编号;
a2.若是,则为所述目标区块写检查点,并更新期望编号;
a3.若否,则将该请求按照编号的顺序写入等待队列中,并判断等待队列中是否存在期望编号;若是,则执行步骤a2,为期望编号对应的区块写检查点,若否,执行步骤a1。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括状态数据库的写入程序,所述状态数据库的写入程序被处理器执行时,可实现如权利要求1至5中任意一项所述的状态数据库的写入方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010024089.0A CN111241061B (zh) | 2020-01-09 | 2020-01-09 | 状态数据库的写入方法、数据处理装置及存储介质 |
PCT/CN2020/099087 WO2021139109A1 (zh) | 2020-01-09 | 2020-06-30 | 状态数据库的写入方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010024089.0A CN111241061B (zh) | 2020-01-09 | 2020-01-09 | 状态数据库的写入方法、数据处理装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111241061A true CN111241061A (zh) | 2020-06-05 |
CN111241061B CN111241061B (zh) | 2023-04-07 |
Family
ID=70874416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010024089.0A Active CN111241061B (zh) | 2020-01-09 | 2020-01-09 | 状态数据库的写入方法、数据处理装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111241061B (zh) |
WO (1) | WO2021139109A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984421A (zh) * | 2020-09-03 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置及存储介质 |
CN112037058A (zh) * | 2020-08-28 | 2020-12-04 | 平安科技(深圳)有限公司 | 数据验证方法、装置及存储介质 |
CN112883068A (zh) * | 2021-04-30 | 2021-06-01 | 支付宝(杭州)信息技术有限公司 | 区块链交易执行方法、区块链节点及控制装置 |
WO2021139109A1 (zh) * | 2020-01-09 | 2021-07-15 | 平安科技(深圳)有限公司 | 状态数据库的写入方法、装置、电子设备及存储介质 |
WO2022174735A1 (zh) * | 2021-02-19 | 2022-08-25 | 腾讯科技(深圳)有限公司 | 基于分布式存储的数据处理方法、装置、设备以及介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220311595A1 (en) * | 2021-03-24 | 2022-09-29 | International Business Machines Corporation | Reducing transaction aborts in execute-order-validate blockchain models |
CN117520460B (zh) * | 2024-01-05 | 2024-04-02 | 成都安世赛斯特软件技术有限公司 | 一种自定义编号生成管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992356A (zh) * | 2017-12-13 | 2018-05-04 | 上海壹账通金融科技有限公司 | 区块链事务区块处理方法、电子装置及可读存储介质 |
CN108776897A (zh) * | 2018-06-05 | 2018-11-09 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、服务器及计算机可读存储介质 |
CN109684337A (zh) * | 2018-12-29 | 2019-04-26 | 杭州趣链科技有限公司 | 一种基于多级缓存的区块链状态数据存储和读取方法 |
CN110543788A (zh) * | 2019-09-11 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置、计算机可读存储介质和计算机设备 |
CN110597911A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种区块链网络的证书处理方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019191432A1 (en) * | 2018-03-29 | 2019-10-03 | Walmart Apollo, Llc | System and method for supply chain verification using blockchain |
CN110222116B (zh) * | 2019-05-07 | 2022-02-01 | 北京奇艺世纪科技有限公司 | 一种交易数据存储的控制方法、装置及存储介质 |
CN111241061B (zh) * | 2020-01-09 | 2023-04-07 | 平安科技(深圳)有限公司 | 状态数据库的写入方法、数据处理装置及存储介质 |
-
2020
- 2020-01-09 CN CN202010024089.0A patent/CN111241061B/zh active Active
- 2020-06-30 WO PCT/CN2020/099087 patent/WO2021139109A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992356A (zh) * | 2017-12-13 | 2018-05-04 | 上海壹账通金融科技有限公司 | 区块链事务区块处理方法、电子装置及可读存储介质 |
CN108776897A (zh) * | 2018-06-05 | 2018-11-09 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、服务器及计算机可读存储介质 |
CN109684337A (zh) * | 2018-12-29 | 2019-04-26 | 杭州趣链科技有限公司 | 一种基于多级缓存的区块链状态数据存储和读取方法 |
CN110543788A (zh) * | 2019-09-11 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置、计算机可读存储介质和计算机设备 |
CN110597911A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种区块链网络的证书处理方法、装置、电子设备及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021139109A1 (zh) * | 2020-01-09 | 2021-07-15 | 平安科技(深圳)有限公司 | 状态数据库的写入方法、装置、电子设备及存储介质 |
CN112037058A (zh) * | 2020-08-28 | 2020-12-04 | 平安科技(深圳)有限公司 | 数据验证方法、装置及存储介质 |
CN112037058B (zh) * | 2020-08-28 | 2024-03-26 | 平安科技(深圳)有限公司 | 数据验证方法、装置及存储介质 |
CN111984421A (zh) * | 2020-09-03 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置及存储介质 |
WO2022048358A1 (zh) * | 2020-09-03 | 2022-03-10 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置及存储介质 |
CN111984421B (zh) * | 2020-09-03 | 2022-09-16 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置及存储介质 |
WO2022174735A1 (zh) * | 2021-02-19 | 2022-08-25 | 腾讯科技(深圳)有限公司 | 基于分布式存储的数据处理方法、装置、设备以及介质 |
CN112883068A (zh) * | 2021-04-30 | 2021-06-01 | 支付宝(杭州)信息技术有限公司 | 区块链交易执行方法、区块链节点及控制装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021139109A1 (zh) | 2021-07-15 |
CN111241061B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241061B (zh) | 状态数据库的写入方法、数据处理装置及存储介质 | |
CN108388599B (zh) | 电子装置、数据迁移及调用方法及存储介质 | |
CN110706101B (zh) | 在区块链中并发执行交易的方法和装置 | |
CN111882435B (zh) | 在区块链中执行交易的方法及装置 | |
CN110188110B (zh) | 一种构建分布式锁的方法及装置 | |
WO2022048358A1 (zh) | 数据处理方法、装置及存储介质 | |
CN111008206A (zh) | 跨链交易的状态数据的存储方法、装置及存储介质 | |
CN107329966B (zh) | 机器数据存储方法及系统 | |
JP6079876B2 (ja) | 分散処理システム | |
CN114780019A (zh) | 电子设备的管理方法、装置、电子设备及存储介质 | |
CN107729341B (zh) | 电子装置、信息查询控制方法和计算机可读存储介质 | |
CN110377614B (zh) | 一种分布式环境下的订单处理锁系统 | |
CN111971667B (zh) | 可恢复的合并排序 | |
CN109542872B (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN110765125B (zh) | 一种存储数据的方法及装置 | |
CN106326310B (zh) | 一种手机客户端软件的资源加密更新方法 | |
CN114691307A (zh) | 事务处理方法及计算机系统 | |
CN110765144B (zh) | 分布式异构数据库数据处理方法及装置 | |
CN113094367A (zh) | 数据处理方法、装置和服务器 | |
CN109885551B (zh) | 电子装置、元数据处理方法和计算机可读存储介质 | |
CN113051008A (zh) | 接口请求处理方法、装置、计算机设备和存储介质 | |
CN112686759A (zh) | 对账监测方法、装置、设备及介质 | |
CN114675995A (zh) | 数据备份方法、装置和电子设备 | |
CN113076331B (zh) | 中台数据处理方法、装置、设备、存储介质及程序产品 | |
CN110677465A (zh) | 一种分布式锁的控制方法及装置 |
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 |