CN116993505A - 交易处理方法、装置、电子设备及存储介质 - Google Patents
交易处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116993505A CN116993505A CN202311242236.1A CN202311242236A CN116993505A CN 116993505 A CN116993505 A CN 116993505A CN 202311242236 A CN202311242236 A CN 202311242236A CN 116993505 A CN116993505 A CN 116993505A
- Authority
- CN
- China
- Prior art keywords
- transaction
- target
- filter
- identifier
- verified
- 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
- 238000003672 processing method Methods 0.000 title abstract description 16
- 238000012795 verification Methods 0.000 claims abstract description 147
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010200 validation analysis Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- 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
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种交易处理方法、装置、电子设备及存储介质。本申请的实施例涉及区块链等技术领域。该方法包括:确定目标时段对应的目标过滤器中交易标识的总数量;若目标过滤器中交易标识的总数量达到目标数量,对目标过滤器中各交易标识进行转换,得到目标过滤器中各交易标识的位图索引;若接收到标交易的交易验证请求,对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引;根据目标过滤器中的位图索引和目标交易标识对应的位图索引,确定目标交易的验证结果。本申请中,遍历目标过滤器中的位图索引以验证目标交易是否存在,大大减少了验证过程中需要遍历的数据的数量,提高了目标交易的验证速度,从而提高了交易处理效率。
Description
技术领域
本申请涉及区块链技术领域,更具体地,涉及一种交易处理方法、装置、电子设备及存储介质。
背景技术
交易是指承载了具体业务的一种请求。在处理交易时为了防止双花的产生(双花指的是同一笔交易被执行了两次),通常会给每笔交易设置一个唯一的交易标识,并将已处理交易的交易标识的添加至过滤器中,当获取到新的待处理交易时,若过滤器不包括待处理交易的交易标识,确定待处理交易是未执行过的,可以执行待处理交易,若过滤器包括待处理交易的交易标识,确定待处理交易是执行过的,不可以执行待处理交易。
但是,采用该方法对交易进行处理时,交易处理效率较低。
发明内容
有鉴于此,本申请实施例提出了一种交易处理方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种交易处理方法,方法包括:确定目标时段对应的目标过滤器中交易标识的总数量;目标过滤器存储了创建时间在目标时段且已处理交易的交易标识;若目标过滤器中交易标识的总数量达到目标数量,对目标过滤器中各交易标识进行转换,得到目标过滤器中各交易标识的位图索引;将目标过滤器中的各交易标识替换为对应的位图索引;若接收到针对创建时间位于目标时段的目标交易的交易验证请求,对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引;根据目标过滤器中的位图索引和目标交易标识对应的位图索引,确定目标交易的验证结果。
第二方面,本申请实施例提供了一种交易处理装置,装置包括:确定模块,用于确定目标时段对应的目标过滤器中交易标识的总数量;目标过滤器存储了创建时间在目标时段且已处理交易的交易标识;转换模块,用于若目标过滤器中交易标识的总数量达到目标数量,对目标过滤器中各交易标识进行转换,得到目标过滤器中各交易标识的位图索引;替换模块,用于将目标过滤器中的各交易标识替换为对应的位图索引;接收模块,用于若接收到针对创建时间位于目标时段的目标交易的交易验证请求,对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引;验证模块,用于根据目标过滤器中的位图索引和目标交易标识对应的位图索引,确定目标交易的验证结果。
可选地,验证模块,还用于若目标交易的验证结果指示目标过滤器中包括目标交易标识对应的位图索引,基于本地账本数据库以及目标交易标识,确定目标交易的二次验证结果。
可选地,验证模块,还用于若本地账本数据库中存在目标交易标识,确定目标交易的二次验证结果为目标交易已存在的结果;若本地账本数据库中不存在目标交易标识,确定目标交易的二次验证结果为目标交易为新的交易的结果。
可选地,目标交易的交易验证请求是根据针对目标交易的交易上链请求生成的;装置还包括交易模块,用于若目标交易的二次验证结果指示本地账本数据库中不存在目标交易标识,或者若目标交易的验证结果指示目标过滤器中不包括目标交易标识对应的位图索引,将目标交易暂存到交易池中,以将目标交易进行上链处理。
可选地,验证模块,还用于若目标交易的验证结果指示目标过滤器中不包括目标交易标识对应的位图索引,确定目标交易的验证结果为目标交易为新的交易的结果。
可选地,验证模块,还用于获取针对待验证交易的交易验证请求,待验证交易的交易验证请求包括待验证交易的待验证交易标识,待验证交易标识包括待验证交易的创建时间;若待验证交易的创建时间位于目标时段中,且目标过滤器中交易标识的总数量未达到目标数量,基于目标过滤器中的交易标识和待验证交易标识,确定待验证交易的验证结果。
可选地,验证模块,还用于若目标过滤器中包括待验证交易标识,确定待验证交易的验证结果为待验证交易已存在的结果;若目标过滤器中不包括待验证交易标识,确定待验证交易的验证结果为待验证交易为新交易的结果。
可选地,装置还包括添加模块,用于获取目标区块中的各个已处理交易对应的已处理交易标识;已处理交易对应的已处理交易标识包括已处理交易的创建时间;从多个预置时段对应的过滤器中确定已处理交易创建时间所在目标时段对应的目标过滤器;将已处理交易标识添加至目标过滤器中。
可选地,接收模块,还用于若接收到针对创建时间位于目标时段的目标交易的交易验证请求,对目标交易进行合法性验证;若目标交易通过合法性验证,对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引。
可选地,目标时段对应的目标过滤器中每个交易标识对应的位图索引包括该交易标识在预置位图中对应的多个目标索引值;预置位图包括多个索引值;转换模块,还用于针对目标时段对应的目标过滤器中每个交易标识,通过多个预置哈希函数对交易标识进行运算,得到交易标识对应的多个运算结果;将预置位图中与交易标识对应的多个运算结果分别相同的索引值,作为交易标识对应的目标索引值。
第三方面,本申请实施例提供了一种电子设备,包括处理器以及存储器;一个或多个应用程序被存储在存储器中并被配置为由处理器执行以实现上述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有程序代码,其中,在程序代码被处理器运行时执行上述的方法。
第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述的方法。
本申请实施例提供的一种交易处理方法、装置、电子设备及存储介质,在本申请中,在目标时段对应的目标过滤器中交易标识的总数量较高时,对目标过滤器中各交易标识进行转换,得到目标过滤器中各交易标识的位图索引,相较于交易标识本身,交易标识的位图索引的数据量较少,在通过目标时段对应的目标过滤器对目标交易的目标交易标识验证时,仅需要遍历目标过滤器中的位图索引以验证目标交易是否存在,大大减少了验证过程中需要遍历的数据的数量,提高了目标交易的验证速度,从而提高了交易处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了适用于本申请实施例的一种区块链系统的架构示意图;
图2示出了适用于本申请实施例的一种区块链的数据结构示意图;
图3示出了适用于本申请实施例的一种新区块的产生过程示意图;
图4示出了相关技术中一种交易处理过程层的示意图;
图5示出了相关技术中一种交易标识集合的示意图;
图6示出了本申请一个实施例提出的一种交易处理方法的流程图;
图7示出了本申请实施例中一种交易标识的示意图;
图8示出了本申请实施例中一种目标过滤器的过滤器类型转换过程的示意图;
图9示出了本申请又一个实施例提出的一种交易处理方法的流程图;
图10示出了本申请实施例中一种过滤器的示意图;
图11示出了本申请实施例中一种过滤器处理过程的示意图;
图12示出了本申请实施例中一种交易处理过程的示意图;
图13示出了本申请一个实施例提出的一种交易处理装置的框图;
图14示出了用于执行根据本申请实施例的交易处理方法的电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。根据本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请公开了一种交易处理方法、装置、电子设备及存储介质,涉及区块链技术等。
参见图1所示的区块链系统,区块链系统100是指用于进行节点与节点之间数据共享的区块链网络系统,该区块链系统100中可以包括多个共识节点101。每个共识节点101在进行正常工作时可以接收到输入信息,并基于接收到的输入信息维护该区块链内的共享数据。为了保证区块链内的信息互通,区块链中的每个共识节点101之间可以存在信息连接,共识节点101之间可以通过上述信息连接进行信息传输。例如,当区块链中的任意共识节点101接收到输入信息时,区块链中的其他共识节点101便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链中全部共识节点101上存储的数据均一致。
对于区块链中的每个共识节点101,均具有与其对应的共识节点标识,而且区块链中的每个共识节点101均可以存储有区块链中其他共识节点101的共识节点标识,以便后续根据其他共识节点101的共识节点标识,将生成的区块广播至区块链中的其他共识节点101。每个共识节点101中可维护一个如下表所示的共识节点标识列表,将共识节点名称和共识节点标识对应存储至该共识节点标识列表中。其中,共识节点标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该共识节点的信息,表1中仅以IP地址为例进行说明:
区块链系统中的每个共识节点101均存储一条相同的区块链。区块链由多个区块组成。参见图2,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图3,区块链所在的共识节点101在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在共识节点101根据区块链中其他共识节点的共识节点标识,将新生成的区块分别发送给其所在的区块链中的其他共识节点,由其他共识节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
相关技术中,交易处理过程如图4所示,区块链系统中接收到待处理交易的交易请求的目标节点,获取待处理交易的交易标识,并从待处理交易的交易标识中确定时间戳,判定时间戳是否在目标时间范围内,若时间戳不再目标时间范围内,确定待验证交易无效,丢弃目标交易。
若时间戳在目标时间范围内,目标节点确定待处理交易的交易标识是否在内存存储的交易标识集合中,若待处理交易的交易标识在内存存储的交易标识集合中,确定待处理交易是已上链交易(也叫已处理交易);若待处理交易的交易标识不在内存存储的交易标识集合中,确定待处理交易是未处理交易(也叫未上链交易)。
其中,交易标识集合随着时间不同而改变。如图5所示,不同日期对应各自的交易标识集合不同,2023年7月7日的交易标识集合中各个交易标识的时间戳的日期为2023年7月7日, 2023年7月8日的交易标识集合中各个交易标识的时间戳的日期为2023年7月8日。
针对每个待处理交易,可以获取待处理交易的交易标识中的时间戳所在的日期所对应的交易集合,然后待处理交易的交易标识是否在内存存储的交易标识集合中。
然而,采用该方法处理交易时,交易标识集合中的数据量较大,导致通过交易标识集合验证待处理交易时的验证效率较低,致使交易处理效率较低。
有鉴于此,发明人提出了一种交易处理方法、装置、电子设备及存储介质。在目标时段对应的目标过滤器中交易标识的总数量较高时,对目标过滤器中各交易标识进行转换,得到目标过滤器中各交易标识的位图索引,相较于交易标识本身,交易标识的位图索引的数据量较少,在通过目标时段对应的目标过滤器对目标交易的目标交易标识验证时,仅需要遍历目标过滤器中的位图索引以验证目标交易是否存在,大大减少了验证过程中需要遍历的数据的数量,提高了目标交易的验证速度,从而提高了交易处理效率。
请参阅图6,图6示出了本申请一个实施例提出的一种交易处理方法的流程图,该方法可以应用于区块链系统中的目标节点,目标节点可以是区块链系统中的任意节点,该方法包括:
S110、确定目标时段对应的目标过滤器中交易标识的总数量。
目标时段可以是多个预置时段中的任意一个时段,预置时段可以是用户基于需求设定的时段,预置时段可以是天为周期划分的时段,例如,每一天作为一个预置时段,预置时段也可以是按照小时划分的,例如,每天24小时均匀划分为6个预置时段。
每个预置时段对应一个过滤器,过滤器存储了创建时间在过滤器所对应的预置时段内且已处理交易的交易标识。换言之,目标时段对应的目标过滤器存储了创建时间在目标时段且已处理交易的交易标识。
已处理交易是指区块链系统已完成上链的交易,交易的交易标识可以是以字符串,交易标识包括交易的创建时间等信息。如图7所示,交易标识包括三部分:前置部分、后置部分以及时间戳部分。在图7中,时间戳部分也即是交易的创建时间,前置部分和后置部分可以是基于交易创建的随机数,不同交易的前置部分或后置部分可以不同,从而使得相同创建时间的不同交易的交易标识不同。
在一些实施例中,可以在多个预置时段中随机选取一个预置时段,从而得到一个目标时段。在另一些实施例中,也可以在多个预置时段中获取多个预置时段,从而得到多个目标时段。每个目标时段对应各自的目标过滤器,针对每个目标过滤器,确定目标过滤器中交易标识的总数量。
作为一种实施方式,S110之前,方法还可以包括:获取目标区块中的各个已处理交易对应的已处理交易标识;已处理交易对应的已处理交易标识包括已处理交易的创建时间;从多个预置时段对应的过滤器中确定已处理交易创建时间所在目标时段对应的目标过滤器;将已处理交易标识添加至目标过滤器中。其中,已处理交易对应的已处理交易标识是指已处理交易的交易标识,一个已处理交易对应一个已处理交易标识。
目标区块可以是指区块链系统的区块链中任意一个未通过过滤器编辑处理的区块,过滤器编辑处理是指将区块中的各已处理交易对应的已处理交易标识添加至过滤器中的处理。
针对每个已处理交易标识,从多个预置时段对应的过滤器中确定包括已处理交易标识中的创建时间的目标时段对应的过滤器,作为已处理交易标识对应的目标过滤器,将该已处理交易标识添加至对应的目标过滤器中。
例如,已处理交易a1对应的已处理交易标识a11中已处理交易a1的创建时间为t1,t1在预置时段td1内,确定预置时段td1作为已处理交易标识a11对应的目标时段,将已处理交易标识a11添加至目标时段td1中的目标过滤器g1中。
遍历目标区块中全部的已处理交易标识,并将已处理交易标识添加到对应的过滤器中,得到至少一个目标时段各自对应的目标过滤器:若目标区块中全部的已处理交易标识中的创建时间均在一个预置时段内,确定的目标时段包括一个,涉及到的目标过滤器也包括一个目标时段对应的一个目标过滤器;若目标区块中全部的已处理交易标识中的创建时间不在一个预置时段内,确定的目标时段包括多个,涉及到的目标过滤器也是多个目标时段各自对应的目标过滤器。
为了便于理解,本实施例以目标时段为一个为例进行解释,针对多个目标时段的情况下,每个目标时段对应的目标过滤器均按照S110-S140的步骤进行处理。
S120、若目标过滤器中交易标识的总数量达到目标数量,对目标过滤器中各交易标识进行转换,得到目标过滤器中各交易标识的位图索引;将目标过滤器中的各交易标识替换为对应的位图索引。
目标数量可以是基于需求设定的值,例如目标数量可以为10000。相较于交易标识,存储交易标识对应的位图索引占用的数据量较少,若目标时段对应的目标过滤器中交易标识的总数量达到目标数量,表示目标时段对应的目标过滤器中交易标识的总数量较多,可以将目标过滤器中各交易标识转换为位图索引,以减少目标过滤器中数据的数据量。
在本实施例中,可以设置运算函数以及运算函数对应的位图,运算函数对应的位图中包括多个不同索引值;可以通过运算函数对交易标识进行运算,得到交易标识的运算结果,然后从运算函数对应的位图中获取与交易标识的运算结果对应的索引值作为交易标识对应的位图索引。
得到目标过滤器中的各交易标识的位图索引后,将目标过滤器中的各交易标识替换为对应的位图索引,得到替换后的目标过滤器。例如,目标过滤器包括交易标识a21、a31以及a41,对a21、a31以及a41进行转换,得到a21对应的位图索引a22、a31对应的位图索引a32以及a41对应的位图索引a42,将目标过滤器中的a21替换为a22,将目标过滤器中的a31替换为a32,将目标过滤器中的a41替换为a42,得到的替换后的目标过滤器包括a22、a32以及a42。
可选地,本实施例中的运算函数可以为多个不同的预置哈希函数,多个预置哈希函数对应同一个位图,多个预置哈希函数对应的同一个位图作为预置位图,预置位图包括多个不同的索引值;目标时段对应的目标过滤器中每个交易标识对应的位图索引包括该交易标识在预置位图中对应的多个目标索引值;对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引,包括:针对目标时段对应的目标过滤器中每个交易标识,通过多个预置哈希函数对交易标识进行运算,得到交易标识对应的多个运算结果,将预置位图中与交易标识对应的多个运算结果分别相同的索引值,作为交易标识对应的目标索引值。
本实施例中,预置哈希函数可以包括MD5、SHA-1、SHA-256和CRC32等。针对目标时段对应的目标过滤器中每个交易标识,通过预置哈希函数对该交易标识进行运算,得到该交易标识的运算结果,预置位图中与该交易标识的运算结果相同的索引值作为该交易标识对应的目标索引值,遍历全部的预置哈希函数,得到该交易标识对应的多个目标索引值。在本申请中,将目标过滤器中的交易标识替换为对应的位图索引后,该目标过滤器对应转变为布隆过滤器。
S130、若接收到针对创建时间位于目标时段的目标交易的交易验证请求,对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引。
目标节点接收到的目标交易的交易上链请求(或交易查询请求等,交易查询请求用于查询某一历史时刻创建的目标交易)时,可以根据目标交易的交易上链请求(或交易查询请求)生成包括目标交易的交易标识(也即目标交易标识)的交易验证请求,作为目标交易的交易验证请求,然后,目标节点可以获取目标交易的交易验证请求中的目标交易标识,对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引。
终端可以响应于用户的交易操作(或查询操作),生成目标交易的交易上链请求(或交易查询请求),然后终端将目标交易的交易上链请求(或交易查询请求)发送至目标节点,由目标节点对目标交易的交易上链请求(或交易查询请求)进行处理。
可选地,可以通过多个预置哈希函数对目标交易标识进行运算,得到目标交易标识对应的多个运算结果,获取预置位图中与目标交易标识对应的多个运算结果相同的多个索引值,得到目标交易标识对应的位图索引。
作为一种实施方式,S130可以包括:若接收到针对创建时间位于目标时段的目标交易的交易验证请求,对目标交易进行合法性验证;若目标交易通过合法性验证,对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引。
其中,合法性验证可以是指对目标交易的交易格式、签名等进行验证。目标交易通过合法性验证表明目标交易是安全的交易,可以对目标交易进行处理,此时,对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引;若目标交易不通过合法性验证表明目标交易不是安全的交易,可以舍弃目标交易并输出提示信息,以提示目标交易异常。
区块链系统处理的交易可以是特定格式的交易,不符合该特定格式的交易即不通过合法性验证。同时,目标交易的交易上链请求可以包括目标交易的签名,节点可以根据交易上链请求中的签名对目标交易进行验签,若验签未通过,目标交易未通过合法性验证。若目标交易的交易格式符合前述特定格式且目标交易验签通过,目标交易通过合法性验证。
S140、根据目标过滤器中的位图索引和目标交易标识对应的位图索引,确定目标交易的验证结果。
可以确定目标时段对应的目标过滤器是否包括目标交易标识对应的位图索引,若目标时段对应的目标过滤器包括目标交易标识对应的位图索引,确定目标交易的验证结果为目标交易已存在的结果;若目标时段对应的目标过滤器不包括目标交易标识对应的位图索引,确定目标交易的验证结果为目标交易为新的交易的结果。
目标交易为新的交易的结果,表示目标交易是未上链的交易(也叫未处理交易),可以执行目标交易,已实现对目标交易的上链。目标交易已存在的结果,表示目标交易是已上链的交易(也叫已处理交易),不需要再次对目标交易上链,直接舍弃目标交易。
作为一种实施方式,S140之后,方法还可以包括:若目标交易的验证结果指示目标过滤器中包括目标交易标识对应的位图索引,基于本地账本数据库以及目标交易标识,确定目标交易的二次验证结果。
目标节点还可以存储有本地账本数据库,目标节点每对一个交易完成上链处理之后,目标节点可以根据该完成上链处理的交易对应的交易数据(可以包括交易的具体内容和交易上链过程中产生的中间数据)、交易标识以及交易上链请求等信息,生成交易相关信息,并将交易相关信息存储在本地账本数据库中。
若目标交易的验证结果指示目标过滤器中包括目标交易标识对应的位图索引,确定目标过滤器中包括目标交易标识对应的位图索引,可以进一步对目标交易进行验证,此时,通过,基于本地账本数据库以及目标交易标识,确定目标交易的二次验证结果。若本地账本数据库中存在目标交易标识,确定目标交易的二次验证结果为目标交易已存在的结果;若本地账本数据库中不存在目标交易标识,确定目标交易的二次验证结果为目标交易为新的交易的结果。
如前述,目标过滤器中存储的是不同交易标识各自的位图索引,每个交易标识的位图索引包括多个目标索引值,不同交易标识的位图索引可能公用同一个目标索引值,导致确定目标过滤器包括目标交易标识对应的位图索引是,依旧难以准确的确定目标交易标识是已处理交易的交易标识。
例如,目标过滤器包括交易标识b1对应的位图索引以及交易标识b2对应的位图索引,交易标识b1对应的位图索引包括索引值b11以及b12,交易标识b2对应的位图索引包括索引值b21以及b22。获取到的目标交易的目标交易标识b3对应的位图索引包括索引值b11以及b21,此时,确定目标过滤器包括索引值b11以及b21,确定目标过滤器包括交易标识b3对应的位图索引,然而,目标交易是未处理交易,此时,根据目标过滤器验证交易标识b3时出现验证错误。
因此,在目标过滤器中包括目标交易标识对应的位图索引时,需要进一步进行验证,也即,基于本地账本数据库以及目标交易标识,确定目标交易的二次验证结果。
可以理解的是,目标过滤器中的交易标识的总数量未达到目标数量时候,目标过滤器中存储的依旧是交易标识,由于,交易标识是唯一的,因此,目标过滤器中不同交易标识属于不同的交易,此时,目标过滤器也称为准确性过滤器。
目标过滤器中的交易标识的总数量达到目标数量中,目标过滤器中存储的是交易标识对应的位图索引,由于,不同交易的位图索引可能相同,导致过滤器不能准确的验证交易标识。因此,目标过滤器中存储的是交易标识对应的位图索引时,目标过滤器又叫做假阳性型过滤器。
也就是说,本实施例中的过滤器的过滤器类型包括假阳性型以及准确型。假阳性型过滤器与准确型过滤器的对比结果参照表2,表2如下:
表2
本实施例中,实际上是根据目过滤器中交易标识的数量,对目标过滤器的类型进行转换,转换过程如图8所示。根据目过滤器中交易标识的数量,实现了将准确型的目标过滤器601转换为假阳性型的目标过滤器602。其中,目标过滤器602中包括预置位图6021,预置位图6021包括多个索引值,预置位图6021每个矩形框为一个索引值,矩形框中的数字为1表示该索引值为目标过滤器中任意一个交易标识对应的目标索引值,矩形框中的数字为0该索引值不为目标过滤器中任意一个交易标识对应的索引值。
如前述可知,目标交易的交易验证请求是根据针对目标交易的交易上链请求生成的;若目标交易的二次验证结果指示本地账本数据库中不存在目标交易标识,或者若目标交易的验证结果指示目标过滤器中不包括目标交易标识对应的位图索引,将目标交易暂存到交易池中,以将目标交易进行上链处理。
若目标交易的二次验证结果指示本地账本数据库中不存在目标交易标识,或者若目标交易的验证结果指示目标过滤器中不包括目标交易标识对应的位图索引,确定目标交易为新的交易的结果,表示目标交易是未处理交易,可以执行目标交易,此时,将目标交易存储到交易池中,以便于目标节点可以从交易池从取出目标交易,并执行目标交易,完成对目标交易的上链。
本实施例中,在目标时段对应的目标过滤器中交易标识的总数量较高时,对目标过滤器中各交易标识进行转换,得到目标过滤器中各交易标识的位图索引,相较于交易标识本身,交易标识的位图索引的数据量较少,在通过目标时段对应的目标过滤器对目标交易的目标交易标识验证时,仅需要遍历目标过滤器中的位图索引以验证目标交易是否存在,大大减少了验证过程中需要遍历的数据的数量,提高了目标交易的验证速度,从而提高了交易处理效率。
另外,不同的预置时段设置不同的过滤器,从而避免仅设置一个过滤器时过滤器的数量过大导致目标交易的验证过程需要遍历的数据量过大,减少了目标交易的验证过程中遍历的数据量,提高了目标交易的验证效率,从而进一步提高了交易处理效率。
同时,在目标交易的验证结果指示目标过滤器中包括目标交易标识对应的位图索引,基于本地账本数据库以及目标交易标识,确定目标交易的二次验证结果,实现了对目标交易的二次验证,提高了目标交易验证的准确率。
在本实施例中,直接对标识数量达到目标数量的目标过滤器中的交易标识进行转换,得到目标过滤器中各交易标识对应的位图索引,然后将目标过滤器中各交易标识替换为对应的位图索引,实现将准确型的目标过滤器进行类型转换,即转换为假阳性型的目标过滤器——也即布隆过滤器,从而不需要重新从区块链中获取各个交易的交易标识来构建新的过滤器,省去了从区块链中重新获取各个已处理交易各自的交易标识的时间,大大减少了构建新的过滤器的时长。
请参阅图9,图9示出了本申请又一个实施例提出的一种交易处理方法的流程图,该方法可以应用于区块链系统中的目标节点,目标节点可以是区块链系统中的任意节点,该方法包括:
S210、确定目标时段对应的目标过滤器中交易标识的总数量。
其中,S210的描述参照上文S110的描述,此处不再赘述。
S220、获取针对待验证交易的交易验证请求,待验证交易的交易验证请求包括待验证交易的待验证交易标识,待验证交易标识包括待验证交易的创建时间。
待验证交易可以是指任意需要进行验证的交易,待验证交易的交易标识即是待验证交易标识,如前述内容可知,交易的交易标识包括交易的创建时间,待验证交易标识也包括待验证交易的创建时间。
目标节点接收到的待验证交易的交易上链请求(或交易查询请求等,交易查询请求用于查询某一历史时刻创建的待验证交易)时,可以根据待验证交易的交易上链请求(或交易查询请求)生成包括待验证交易的交易标识(也即待验证交易标识)的交易验证请求,作为待验证交易的交易验证请求,区块链系统中的节点可以获取待验证交易的交易验证请求中的待验证交易标识。
终端可以响应于用户的交易操作(或查询操作),生成待验证交易的交易上链请求(或交易查询请求),然后终端将待验证交易的交易上链请求(或交易查询请求)发送至目标节点,由目标节点对待验证交易的交易上链请求(或交易查询请求)进行处理。
S230、若待验证交易的创建时间位于目标时段中,且目标过滤器中交易标识的总数量未达到目标数量,基于目标过滤器中的交易标识和待验证交易的标识,确定待验证交易的验证结果。
可以确定目标时段对应的目标过滤器中是否包括待验证交易标识,若目标过滤器中包括待验证交易标识,确定待验证交易的验证结果为待验证交易已存在的结果;若目标过滤器中不包括待验证交易标识,确定待验证交易的验证结果为待验证交易为新的交易的结果。
待验证交易为新的交易的结果,表示待验证交易是未处理交易,可以执行待验证交易,已实现对待验证交易的上链。待验证交易已存在的结果,表示待验证交易是已处理交易,不需要再次对待验证交易处理,直接舍弃待验证交易。
可选地,待验证交易为新的交易的结果,可以将待验证交易暂存到交易池中,以将待验证交易进行上链处理。在目标节点将待验证交易存储到交易池之后,目标节点可以从交易池从取出待验证交易,并执行待验证交易,以完成待验证交易的上链。
若待验证交易的创建时间不位于目标时段中,从多个预置获取包括待验证交易的创建时间的预置时段作为相关时段;通过相关时段对应的过滤器中的交易标识和待验证交易的标识,确定待验证交易的验证结果。
作为一种实施方式,在相关时段对应的过滤器中存储的是交易标识的情况下,若相关时段对应的过滤器中包括待验证交易标识,确定待验证交易的验证结果为待验证交易已存在的结果;若相关时段对应的过滤器中不包括待验证交易标识,确定待验证交易的验证结果为待验证交易为新的交易的结果。
作为又一种实施方式,在相关时段对应的过滤器中存储的是位图索引的情况下,对待验证交易标识进行转换,得到待验证交易标识对应的位图索引,若相关时段对应的过滤器中包括待验证交易标识对应的位图索引,且本地账本数据库中包括待验证交易标识,确定待验证交易的验证结果为待验证交易已存在的结果;若相关时段对应的过滤器中包括待验证交易标识对应的位图索引,且本地账本数据库中不包括待验证交易标识,确定待验证交易的验证结果为待验证交易为新的交易的结果;若相关时段对应的过滤器中不包括待验证交易标识对应的位图索引,确定待验证交易的验证结果为待验证交易为新的交易的结果。
本实施例中,目标过滤器中交易标识的总数量未达到目标数量,不改变目标过滤器中存储的数据为交易标识,通过目标过滤器中的交易标识以及待验证交易标识之间的关系,确定待验证交易的验证结果,由于目标过滤器中的交易标识是唯一的,使得确定待验证交易的验证结果的准确率较高。
为了更加清楚的解释本申请的技术方案,下面结合一示例性场景对本申请的交易处理方法进行解释,在该场景中,如图10所示,将预置时间范围划分为四个时间段,并对应设置四个过滤器:预置时段T1对应的过滤器1、预置时段T2对应的过滤器2、预置时段T3对应的过滤器3以及预置时段T4对应的过滤器4。当然,在其后的时间段,若接收到创建时间位于除预置时段T1~T4的其他时间段的交易,可以对应创建新时间段的过滤器,实现过滤器的线性扩容。针对每个过滤器,可以进行动态调整:准确型过滤器调整为假阳性型过滤器。
过滤器的动态调整过程如图11所示。
901、获取已提交的目标区块中全部交易,并汇总目标区块中全部交易各自的交易标识,得到交易标识列表。
902、初始化变量i=1。
903、获取交易标识列表中第i个交易标识,并解析第i个交易标识的时间戳,确定包括第i个交易标识的时间戳的预置时段,作为第i个交易标识对应的过滤器s。例如,第1个交易标识的时间戳在预置时段T1内,确定1个交易标识的对应的过滤器s为过滤器1。
904、确定过滤器s是否为空。若是,执行905,若否,执行906。
905、创建准确型的过滤器s。
906、将第i个交易标识添加至过滤器s中。
907、确定的过滤器s是否需要切换。若是,执行908,若否,执行909。其中,根据过滤器s中交易标识与目标数量之间的关系确定是否切换:过滤器s中交易标识达到目标数量,确定切换,否则不切换。
908、将过滤器s中的交易标识转换为各交易标识对应的位图索引,得到假阳性型的过滤器s。
910、i=i+1。
911、确定i是否大于交易标识列表中交易标识的数量。若是,结束,如否,返回执行903。
在区块链系统中的目标节点接收到待上链的目标交易对应的交易上链请求后,按照图12所示的流程对目标交易进行处理。处理过程包括:
1001、将目标交易的交易上链请求反序列化为网络消息,转换为程序中的交易结构对象。使得目标节点可以根据交易结构对象处理目标交易。
1002、确定目标交易是否通过合法性验证。若通过,执行1003,若未通过,丢弃目标交易。
1003、获取目标交易的目标交易标识,并获取包括目标交易标识中的时间戳的预置时段所对应的过滤器作为针对目标交易标识的验证过滤器。
1004、确定验证过滤器是否为空。若否,执行1005,若是,确定目标交易为新的交易的结果。
1005、获取验证过滤器的过滤器类型。
1006、为新的交易的结果过滤器确定目标交易标识是否存在于验证过滤器中。若是,执行1007,若否,确定目标交易为新的交易的结果。
1007、确定验证过滤器的过滤器类型是否为假阳性型。若是,确定验证过滤器的过滤器类型为准确型,执行1008。若否,确定目标交易已存在的结果。
1008、确定本地账本数据库是否包括目标交易标识。若是,确定目标交易已存在的结果,若否,确定目标交易为新的交易的结果。
本场景中,结合准确型过滤器以及假阳性型过滤器对交易进行验证,在过滤器中的交易标识数量较少时,实现了准确验证,在过滤器中的交易标识数量过大是,将过滤器中的交易标识转换为位图索引,实现了高效率验证。
同时,对不同的预置时段设置不同的过滤器,实现了过滤器的线性拓展,提高了过滤器的验证性能以及验证效率。
请参阅图13,图13示出了本申请一个实施例提出的一种交易处理装置的框图,装置1300包括:
确定模块1310,用于确定目标时段对应的目标过滤器中交易标识的总数量;目标过滤器存储了创建时间在目标时段且已处理交易的交易标识;
转换模块1320,用于若目标过滤器中交易标识的总数量达到目标数量,对目标过滤器中各交易标识进行转换,得到目标过滤器中各交易标识的位图索引;
替换模块1330,用于将目标过滤器中的各交易标识替换为对应的位图索引;
接收模块1340,用于若接收到针对创建时间位于目标时段的目标交易的交易验证请求,对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引;
验证模块1350,用于根据目标过滤器中的位图索引和目标交易标识对应的位图索引,确定目标交易的验证结果。
可选地,验证模块1350,还用于若目标交易的验证结果指示目标过滤器中包括目标交易标识对应的位图索引,基于本地账本数据库以及目标交易标识,确定目标交易的二次验证结果。
可选地,验证模块1350,还用于若本地账本数据库中存在目标交易标识,确定目标交易的二次验证结果为目标交易已存在的结果;若本地账本数据库中不存在目标交易标识,确定目标交易的二次验证结果为目标交易为新的交易的结果。
可选地,目标交易的交易验证请求是根据针对目标交易的交易上链请求生成的;装置还包括交易模块,用于若目标交易的二次验证结果指示本地账本数据库中不存在目标交易标识,或者若目标交易的验证结果指示目标过滤器中不包括目标交易标识对应的位图索引,将目标交易暂存到交易池中,以将目标交易进行上链处理。
可选地,验证模块1350,还用于若目标交易的验证结果指示目标过滤器中不包括目标交易标识对应的位图索引,确定目标交易的验证结果为目标交易为新的交易的结果。
可选地,验证模块1350,还用获取针对待验证交易的交易验证请求,待验证交易的交易验证请求包括待验证交易的待验证交易标识,待验证交易标识包括待验证交易的创建时间;若待验证交易的创建时间位于目标时段中,且目标过滤器中交易标识的总数量未达到目标数量,基于目标过滤器中的交易标识和待验证交易标识,确定待验证交易的验证结果。
可选地,验证模块1350,还用于若目标过滤器中包括待验证交易标识,确定待验证交易的验证结果为待验证交易已存在的结果;若目标过滤器中不包括待验证交易标识,确定待验证交易的验证结果为待验证交易为新交易的结果。
可选地,装置还包括添加模块,用于获取目标区块中的各个已处理交易对应的已处理交易标识;已处理交易对应的已处理交易标识包括已处理交易的创建时间;从多个预置时段对应的过滤器中确定已处理交易创建时间所在目标时段对应的目标过滤器;将已处理交易标识添加至目标过滤器中。
可选地,接收模块1310,还用于若接收到针对创建时间位于目标时段的目标交易的交易验证请求,对目标交易进行合法性验证;若目标交易通过合法性验证,对目标交易的目标交易标识进行转换,得到目标交易标识对应的位图索引。
可选地,目标时段对应的目标过滤器中每个交易标识对应的位图索引包括该交易标识在预置位图中对应的多个目标索引值;预置位图包括多个索引值;转换模块1320,还用于针对目标时段对应的目标过滤器中每个交易标识,通过多个预置哈希函数对交易标识进行运算,得到交易标识对应的多个运算结果;将预置位图中与交易标识对应的多个运算结果分别相同的索引值,作为交易标识对应的目标索引值。
需要说明的是,本申请中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
图14示出了用于执行根据本申请实施例的交易处理方法的电子设备的结构框图。该电子设备可以是区块链中的任意节点等,需要说明的是,图14示出的电子设备的计算机系统1200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图14所示,计算机系统1200包括中央处理单元(Central Processing Unit,CPU)1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(Random Access Memory,RAM)1203中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU1201、ROM1202以及RAM 1203通过总线1204彼此相连。输入/输出(Input/Output,I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以使于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载计算机可读指令,当该计算机可读存储指令被处理器执行时,实现上述任一实施例中的方法。
根据本申请实施例的一个方面,提供了计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述任一实施例中的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台电子设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种交易处理方法,其特征在于,所述方法包括:
确定目标时段对应的目标过滤器中交易标识的总数量;所述目标过滤器存储了创建时间在所述目标时段且已处理交易的交易标识;
若所述目标过滤器中交易标识的总数量达到目标数量,对所述目标过滤器中各交易标识进行转换,得到所述目标过滤器中各交易标识的位图索引;
将所述目标过滤器中的各交易标识替换为对应的位图索引;
若接收到针对创建时间位于所述目标时段的目标交易的交易验证请求,对所述目标交易的目标交易标识进行转换,得到所述目标交易标识对应的位图索引;
根据所述目标过滤器中的位图索引和所述目标交易标识对应的位图索引,确定所述目标交易的验证结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标过滤器中的位图索引和所述目标交易标识对应的位图索引,确定所述目标交易的验证结果之后,所述方法还包括:
若所述目标交易的验证结果指示所述目标过滤器中包括所述目标交易标识对应的位图索引,基于本地账本数据库以及所述目标交易标识,确定所述目标交易的二次验证结果。
3.根据权利要求2所述的方法,其特征在于,所述基于本地账本数据库以及所述目标交易标识,确定所述目标交易的二次验证结果,包括:
若本地账本数据库中存在所述目标交易标识,确定所述目标交易的二次验证结果为所述目标交易已存在的结果;
若所述本地账本数据库中不存在所述目标交易标识,确定所述目标交易的二次验证结果为所述目标交易为新交易的结果。
4.根据权利要求2所述的方法,其特征在于,所述目标交易的交易验证请求是根据针对所述目标交易的交易上链请求生成的;
所述方法还包括:
若所述目标交易的二次验证结果指示所述本地账本数据库中不存在所述目标交易标识,或者若所述目标交易的验证结果指示所述目标过滤器中不包括所述目标交易标识对应的位图索引,将所述目标交易暂存到交易池中,以将所述目标交易进行上链处理。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标过滤器中的位图索引和所述目标交易标识对应的位图索引,确定所述目标交易的验证结果之后,所述方法还包括:
若所述目标交易的验证结果指示所述目标过滤器中不包括所述目标交易标识对应的位图索引,确定所述目标交易的验证结果为所述目标交易为新交易的结果。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取针对待验证交易的交易验证请求,所述待验证交易的交易验证请求包括所述待验证交易的待验证交易标识,所述待验证交易标识包括所述待验证交易的创建时间;
若所述待验证交易的创建时间位于所述目标时段中,且所述目标过滤器中交易标识的总数量未达到目标数量,基于所述目标过滤器中的交易标识和所述待验证交易标识,确定所述待验证交易的验证结果。
7.根据权利要求6所述的方法,其特征在于,所述基于所述目标过滤器中的交易标识和所述待验证交易标识,确定所述待验证交易的验证结果,包括:
若所述目标过滤器中包括所述待验证交易标识,确定所述待验证交易的验证结果为所述待验证交易已存在的结果;
若所述目标过滤器中不包括所述待验证交易标识,确定所述待验证交易的验证结果为所述待验证交易为新交易的结果。
8.根据权利要求1所述的方法,其特征在于,所述确定所述目标时段对应的目标过滤器中交易标识的总数量之前,所述方法还包括:
获取目标区块中的各个已处理交易对应的已处理交易标识;所述已处理交易对应的已处理交易标识包括所述已处理交易的创建时间;
从多个预置时段对应的过滤器中确定所述已处理交易创建时间所在目标时段对应的目标过滤器;
将所述已处理交易标识添加至所述目标过滤器中。
9.根据权利要求1所述的方法,其特征在于,所述若接收到针对创建时间位于所述目标时段的目标交易的交易验证请求,对所述目标交易的目标交易标识进行转换,得到所述目标交易标识对应的位图索引,包括:
若接收到针对创建时间位于所述目标时段的目标交易的交易验证请求,对所述目标交易进行合法性验证;
若所述目标交易通过合法性验证,对所述目标交易的目标交易标识进行转换,得到所述目标交易标识对应的位图索引。
10.根据权利要求1所述的方法,其特征在于,所述目标时段对应的目标过滤器中每个交易标识对应的位图索引包括该交易标识在预置位图中对应的多个目标索引值;所述预置位图包括多个索引值;
所述对所述目标交易的目标交易标识进行转换,得到所述目标交易标识对应的位图索引,包括:
针对所述目标时段对应的目标过滤器中每个交易标识,通过多个预置哈希函数对所述交易标识进行运算,得到所述交易标识对应的多个运算结果;
将所述预置位图中与所述交易标识对应的多个运算结果分别相同的索引值,作为所述交易标识对应的目标索引值。
11.一种交易处理装置,其特征在于,所述装置包括:
确定模块,用于确定目标时段对应的目标过滤器中交易标识的总数量;所述目标过滤器存储了创建时间在所述目标时段且已处理交易的交易标识;
转换模块,用于若所述目标过滤器中交易标识的总数量达到目标数量,对所述目标过滤器中各交易标识进行转换,得到所述目标过滤器中各交易标识的位图索引;
替换模块,用于将所述目标过滤器中的各交易标识替换为对应的位图索引;
接收模块,用于若接收到针对创建时间位于所述目标时段的目标交易的交易验证请求,对所述目标交易的目标交易标识进行转换,得到所述目标交易标识对应的位图索引;
验证模块,用于根据所述目标过滤器中的位图索引和所述目标交易标识对应的位图索引,确定所述目标交易的验证结果。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1-10中任一项所述的方法。
13.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-10中任一项所述的方法。
14.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;电子设备的处理器从计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述电子设备执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311242236.1A CN116993505B (zh) | 2023-09-25 | 2023-09-25 | 交易处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311242236.1A CN116993505B (zh) | 2023-09-25 | 2023-09-25 | 交易处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116993505A true CN116993505A (zh) | 2023-11-03 |
CN116993505B CN116993505B (zh) | 2024-01-16 |
Family
ID=88532446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311242236.1A Active CN116993505B (zh) | 2023-09-25 | 2023-09-25 | 交易处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116993505B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342138A (ja) * | 2001-05-14 | 2002-11-29 | Hachijuni Bank Ltd | オンライントランザクション制御システム及びその方法 |
US20160275420A1 (en) * | 2015-03-18 | 2016-09-22 | Ca, Inc. | System and method to generate a transaction count using filtering |
CN108449231A (zh) * | 2018-03-15 | 2018-08-24 | 华青融天(北京)技术股份有限公司 | 一种交易数据的过滤方法、装置及实现装置 |
CN109766389A (zh) * | 2019-01-09 | 2019-05-17 | 华东师范大学 | 一种基于位图索引的区块链轻客户端验证查询方法 |
CN112182099A (zh) * | 2020-04-10 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 交易验证方法及装置 |
CN114648330A (zh) * | 2022-03-17 | 2022-06-21 | 中国工商银行股份有限公司 | 基于区块链的交易验证方法、装置及区块链系统 |
CN115730935A (zh) * | 2021-08-30 | 2023-03-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN116628083A (zh) * | 2023-04-27 | 2023-08-22 | 中国人民解放军战略支援部队信息工程大学 | 区块链交易数据扩容存储方法及系统 |
-
2023
- 2023-09-25 CN CN202311242236.1A patent/CN116993505B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342138A (ja) * | 2001-05-14 | 2002-11-29 | Hachijuni Bank Ltd | オンライントランザクション制御システム及びその方法 |
US20160275420A1 (en) * | 2015-03-18 | 2016-09-22 | Ca, Inc. | System and method to generate a transaction count using filtering |
CN108449231A (zh) * | 2018-03-15 | 2018-08-24 | 华青融天(北京)技术股份有限公司 | 一种交易数据的过滤方法、装置及实现装置 |
CN109766389A (zh) * | 2019-01-09 | 2019-05-17 | 华东师范大学 | 一种基于位图索引的区块链轻客户端验证查询方法 |
CN112182099A (zh) * | 2020-04-10 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 交易验证方法及装置 |
CN115730935A (zh) * | 2021-08-30 | 2023-03-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN114648330A (zh) * | 2022-03-17 | 2022-06-21 | 中国工商银行股份有限公司 | 基于区块链的交易验证方法、装置及区块链系统 |
CN116628083A (zh) * | 2023-04-27 | 2023-08-22 | 中国人民解放军战略支援部队信息工程大学 | 区块链交易数据扩容存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116993505B (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113329031B (zh) | 一种区块的状态树的生成方法及装置 | |
CN108846659B (zh) | 基于区块链的转账方法、装置及存储介质 | |
US11823178B2 (en) | Optimization of high volume transaction performance on a blockchain | |
US11556247B2 (en) | Secure and transparent pruning for blockchains | |
US10878248B2 (en) | Media authentication using distributed ledger | |
CN111163182B (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
CN112685796A (zh) | 一种基于区块链的区块共识方法以及相关设备 | |
CN110602056B (zh) | 一种业务参数传递方法及装置 | |
CN110690974B (zh) | 基于区块链的数据验证方法、装置、设备及可读存储介质 | |
CN110599346A (zh) | 一种区块链信息获取方法及相关设备 | |
CN112988667B (zh) | 一种基于区块链网络的数据存储方法及装置 | |
CN113326165A (zh) | 基于区块链的数据处理方法、设备及计算机可读存储介质 | |
CN110598007B (zh) | 账单文件处理方法、装置、介质及电子设备 | |
CN116993505B (zh) | 交易处理方法、装置、电子设备及存储介质 | |
CN112269915B (zh) | 业务处理方法、装置、设备及存储介质 | |
CN112395339A (zh) | 系统间数据准入校验方法、装置、计算机设备和存储介质 | |
US9959428B2 (en) | Packet generation and authentication in a process chain | |
CN112559546B (zh) | 数据库同步方法、装置、计算机设备及可读存储介质 | |
CN110597466B (zh) | 区块链节点的控制方法、装置、存储介质和计算机设备 | |
CN111768196B (zh) | 一种交易信息确认方法及装置 | |
CN116107801A (zh) | 交易处理方法及相关产品 | |
CN113326503A (zh) | 一种证书管理方法及计算设备 | |
CN111400328A (zh) | 数据更新方法、装置及节点服务器 | |
US20230350865A1 (en) | System and method using bloom filters to improve system reliability | |
CN110309164B (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 |