本发明专利技术实施例提供了一种交易执行方法,应用于第一节点中,该方法包括:接收第二节点发送的交易请求,其中,该交易请求中携带有签名、交易账户和交易内容;在该签名验证合法且该交易账户存储在预先设置的名单的情况下,使用临时账本对该交易内容进行验证;在验证合法的情况下,模拟执行该交易内容,并在该临时账本中记录交易结果。通过本发明专利技术实施例提供的任务方法,可以解决相关技术频繁查询本地账本导致查询效率降低的问题。
【技术实现步骤摘要】
一种交易执行方法、装置及存储介质
本专利技术涉及信息
,具体涉及一种交易执行方法、装置及存储介质。
技术介绍
在大多数区块链系统中,交易在转发过程中,其他节点都会对交易的合法性进行初步验证,其中包括交易签名的合法性以及交易内容的合法性验证,验证交易内容合法性时主要依赖于本地账本的数据,经过初步验证的交易才会在全网广播,进而经过共识打包生成区块。在高频交易环境下,频繁查询本地账本会使得查询效率降低,进而导致查询结果延迟加大,不利于交易快速广播。
技术实现思路
本专利技术提供了一种交易执行方法、装置及存储介质,以解决相关技术中频繁查询本地账本导致查询效率降低的问题。本专利技术实施例提供了一种交易执行方法,应用于第一节点中,包括:接收第二节点发送的交易请求,其中,所述交易请求中携带有签名、交易账户和交易内容;在所述签名验证合法且所述交易账户存储在预先设置的名单的情况下,使用临时账本对所述交易内容进行验证;在验证合法的情况下,模拟执行所述交易内容,并在所述临时账本中记录交易结果。可选的,在模拟执行所述交易内容之后,还包括:将所述交易内容发送给共识节点;接收所述共识节点根据所述交易内容生成的区块,其中,所述区块中携带有所述签名和所述交易内容;执行所述区块中的所述交易内容,并在本地账本中记录生成的交易结果。可选的,所述执行所述区块中的所述交易内容,包括:验证所述区块是否合法;在验证合法的情况下,对所述区块进行解析,生成所述签名以及所述交易内容;验证所述签名和所述交易内容是否合法;在验证合法的情况下,执行所述交易内容。可选的,在将所述交易内容发送到共识节点之后,还包括:在预设时间内未接收到所述共识节点根据所述交易内容生成的区块的情况下,判断所述临时账本中所述交易内容是否被模拟执行过;在判断结果为是的情况下,对所述临时账本中记录的所述交易结果进行回滚。可选的,在将所述交易内容发送到共识节点之后,还包括:在对所述交易内容验证不合法的情况下,判断所述临时账本中所述交易内容是否被模拟执行过;在判断结果为是的情况下,对所述临时账本中记录的所述交易结果进行回滚。可选的,在接收第二节点发送的交易请求之后,还包括:在所述签名验证合法且所述交易账户未存储在预先设置的名单的情况下,使用所述本地账本对所述交易内容进行验证。可选的,在使用临时账本对所述交易内容进行验证之前,还包括:获取交易频率超过预设阈值的交易账户的信息;将所述交易频率超过预设阈值的交易账户记录进所述名单中。本专利技术实施例还提供了一种交易执行方法,应用于第三节点中,包括:接收共识节点发送的区块,其中,所述区块中携带有签名、交易账户和交易内容;在所述签名以及所述交易内容验证合法且所述交易账户存储在预先设置的名单的情况下,判断是否模拟执行过所述交易内容;在判断结果为否的情况下,模拟执行所述交易内容,并在临时账本和本地账本中记录交易结果。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术实施例中的任意一种方法。本专利技术实施例还提供了一种电子装置,包括存储器和处理器,所述处理器通过执行所述存储器中的程序实现本专利技术实施例中的任意一种方法。通过本专利技术实施例提供的任务方法,可以解决相关技术中频繁查询本地账本导致查询效率降低的问题。附图说明图1为根据本专利技术实施例的一种交易执行方法的流程图;图2为根据本专利技术实施例的另一种交易执行方法的流程图;图3是根据本专利技术实施例的又一种交易执行方法的流程图;图4是根据本专利技术实施例的一种节点初步验证交易合法性的方法流程图;图5是根据本专利技术实施例的一种节点对区块进行交易处理的方法流程图;图6是根据本专利技术实施例的一种超时未处理交易的回滚方法流程图;图7是根据本专利技术实施例的一种交易执行方法框图;图8是根据本专利技术实施例的一种交易执行装置的框图;图9是根据本专利技术实施例的另一种交易执行装置的框图;图10是根据本专利技术实施例的又一种交易执行装置的框图。具体实施方式为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。另外,在本专利技术实施例中,“可选的”或者“示例性的”等词用于表示作例子、例证或说明。本专利技术实施例中被描述为“可选的”或者“示例性的”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“可选的”或者“示例性的”等词旨在以具体方式呈现相关概念。本专利技术实施例提供了一种交易执行方法,图1为根据本专利技术实施例的一种交易执行方法的流程图,该方法应用于第一节点中,其中,该方法包括以下流程:S102:接收第二节点发送的交易请求,其中,该交易请求中携带有签名、交易账户和交易内容;S104:在该签名验证合法且该交易账户存储在预先设置的名单的情况下,使用临时账本对该交易内容进行验证;S106:在验证合法的情况下,模拟执行该交易内容,并在该临时账本中记录交易结果。根据本专利技术实施例的方法,网络中的第一节点中存储有临时账本,第一节点通过该临时账本对第二节点发送的交易请求进行初步合法性检验,在验证合法之后,通过模拟执行的方式,生成模拟交易结果。从而分担了本地账本进行交易内容检验的工作,提高了节点处理效率。可选的,在模拟执行该交易内容之后,还包括:将该交易内容发送给共识节点;接收该共识节点根据该交易内容生成的区块,其中,该区块中携带有该签名和该交易内容;执行该区块中的该交易内容,在本地账本中记录生成的交易结果。在初步判定交易合法后,第一节点会将交易信息进行广播,随后通过共识节点进行打包,生成新的区块;第一节点接收共识节点生成的区块,并分别对区块、区块中的签名、区块中的交易内容进行验证,在验证合法的情况,第一节点会正式执行交易内容,在本地账本中记录交易结果,同时将交易结果反馈给第二节点。可以看出,临时账本只用于进行交易的初步检验,最后真正执行并生成的交易结果依然写入本地账本,进而保障本地账本的有效性。可选的,该执行该区块中的该交易内容,包括:验证该区块是否合法;在验证合法的情况下,对该区块进行解析,生成该签名以及该交易内容;验证该签名和该交易内容是否合法;在验证合法的情况下,执行该交易内容。可选的,在将该交易内容发送到共识节点之后,还包括:在预设时间内未接收到该共识节点根据该交易内容生成的区块的情况下,判断该临时账本中该交易内容是否被模拟执行过;在判断结果为是的情况下,对该临时账本中记录的该交易结果进行回滚。第一节点将交易内容进行广播的过程中或者共识节点将区块反馈给第一节点的过程中可能存在网络延迟,如果在预设时间内没有收到区块,则交易超时,此时需要回滚并清理第一节点模拟交易执行的缓存信息,以及临时账本中存储的交本文档来自技高网...
【技术保护点】
1.一种交易执行方法,应用于第一节点中,其特征在于,包括:/n接收第二节点发送的交易请求,其中,所述交易请求中携带有签名、交易账户和交易内容;/n在所述签名验证合法且所述交易账户存储在预先设置的名单的情况下,使用临时账本对所述交易内容进行验证;/n在验证合法的情况下,模拟执行所述交易内容,并在所述临时账本中记录交易结果。/n
【技术特征摘要】
1.一种交易执行方法,应用于第一节点中,其特征在于,包括:
接收第二节点发送的交易请求,其中,所述交易请求中携带有签名、交易账户和交易内容;
在所述签名验证合法且所述交易账户存储在预先设置的名单的情况下,使用临时账本对所述交易内容进行验证;
在验证合法的情况下,模拟执行所述交易内容,并在所述临时账本中记录交易结果。
2.如权利要求1所述的方法,其特征在于,在模拟执行所述交易内容之后,还包括:
将所述交易内容发送给共识节点;
接收所述共识节点根据所述交易内容生成的区块,其中,所述区块中携带有所述签名和所述交易内容;
执行所述区块中的所述交易内容,并在本地账本中记录生成的交易结果。
3.如权利要求2所述的方法,其特征在于,所述执行所述区块中的所述交易内容,包括:
验证所述区块是否合法;
在验证合法的情况下,对所述区块进行解析,生成所述签名以及所述交易内容;
验证所述签名和所述交易内容是否合法;
在验证合法的情况下,执行所述交易内容。
4.如权利要求2或3所述的方法,其特征在于,在将所述交易内容发送到共识节点之后,还包括:
在预设时间内未接收到所述共识节点根据所述交易内容生成的区块的情况下,判断所述临时账本中所述交易内容是否被模拟执行过;
在判断结果为是的情况下,对所述临时账本中记录的所述交易结果进行回滚。
5.如权利要求3所述的方法,其特征在于,在将所述交易内容发送到共识节点之后,还包括:
...
【专利技术属性】
技术研发人员:陈志明,姜鹏,曲傲,
申请(专利权)人:中信银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。