CN109872139B - 交易替换方法、设备和存储介质 - Google Patents
交易替换方法、设备和存储介质 Download PDFInfo
- Publication number
- CN109872139B CN109872139B CN201910097362.XA CN201910097362A CN109872139B CN 109872139 B CN109872139 B CN 109872139B CN 201910097362 A CN201910097362 A CN 201910097362A CN 109872139 B CN109872139 B CN 109872139B
- Authority
- CN
- China
- Prior art keywords
- transaction
- precursor
- delay
- pool
- storing
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种交易替换方法、设备和存储介质,该方法包括:接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:若第一交易为第二类交易,则根据第一交易的延时参数判断第一交易是否需要延时处理:否,则将第一交易存入交易池;是,则将第一交易存入延时缓存池;若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在延时缓存池中:是,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中;其中,延时缓存池中的交易在延时结束后存入交易池。本发明实现交易可延时进入交易池,交易进入交易池前可修改交易内容。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种交易替换方法、设备和存储介质。
背景技术
在区块链交易过程中,用户发送交易时需要填写发送方地址、接收方地址、交易数量等信息来进行交易。在现有的方案中,这些信息需要在交易提交前确定,交易一旦提交后就无法更改交易信息,用户在误操作后可能会造成不可挽回的损失;交易提交后无法延时进入交易池,在进入交易池并被打包记录到区块链前无法被用户获知交易内容,无法满足用户在提交交易后,想要在交易延时进入交易池前查询交易的交易内容,并且在交易进入交易池前修改交易内容的需求。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种交易可延时进入交易池,交易进入交易池前可修改交易内容,且交易在进入交易池前可被查询交易内容的交易替换方法、设备和存储介质。
第一方面,本发明提供一种交易替换方法,包括:
接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则将第一交易存入交易池;
是,则将第一交易存入延时缓存池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在延时缓存池中:
是,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中;
其中,延时缓存池中的交易在延时结束后存入交易池。
第二方面,本发明提供一种交易替换方法,包括:
向第一节点发送第一交易,以供第一节点接收第一交易,并通过第一交易的第一前身交易信息是否为空确定第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则将第一交易存入交易池;
是,则将第一交易存入延时缓存池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在延时缓存池中:
是,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中;
其中,延时缓存池中的交易在延时结束后存入交易池。
第三方面,本发明提供一种交易替换方法,包括:
接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则将第一交易存入交易池;
是,则将第一交易存入延时缓存池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在延时缓存池中:
是,则根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则将第一前身交易从延时缓存池中删除,并将第一交易存入交易池中;
是,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中;
其中,延时缓存池中的交易在延时结束后存入交易池。
第四方面,本发明提供一种交易替换方法,包括:
向第一节点发送第一交易,以供第一节点接收第一交易,并通过第一交易的第一前身交易信息是否为空确定第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则将第一交易存入交易池;
是,则将第一交易存入延时缓存池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在延时缓存池中:
是,则根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则将第一前身交易从延时缓存池中删除,并将第一交易存入交易池中;
是,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中;
其中,延时缓存池中的交易在到达预计交易时间后存入交易池。
第五方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的交易替换方法。
第六方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的交易替换方法。
本发明诸多实施例提供的交易替换方法、设备和存储介质通过接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:若第一交易为第二类交易,则根据第一交易的延时参数判断第一交易是否需要延时处理:否,则将第一交易存入交易池;是,则将第一交易存入延时缓存池;若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在延时缓存池中:是,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中;其中,延时缓存池中的交易在延时结束后存入交易池的方法,实现一种交易可延时进入交易池,交易进入交易池前可修改交易内容。
本发明一些实施例提供的交易替换方法、设备和存储介质进一步通过判断发送第一交易的第一地址与发送第一前身交易的第二地址是否相同:是,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中的方法,使得不同的用户不能恶意发送第一交易替换不属于自己的第一前身交易,提高区块链系统的安全性,进一步改善用户体验。
本发明一些实施例提供的交易替换方法、设备和存储介质进一步通过第一前身交易的锁定状态信息确定第一前身交易是否锁定:否,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中的方法,使得交易双方在确定交易信息为正确后,交易发起方将交易的锁定状态设置为锁定,锁定的交易将无法被更改,保证正确的交易无法被替换,进一步改善用户体验。
本发明一些实施例提供的交易替换方法、设备和存储介质进一步通过在区块链的节点配置有第一端口,第一端口用于供用户终端访问以获取交易的交易内容的方法,使用户可以查询进入交易池前的交易内容以明确交易内容是否正确,进一步改善用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种交易替换方法的流程图。
图2为图1所示方法的一种优选实施方式中步骤S17的流程图。
图3为图1所示方法的一种优选实施方式中步骤S17的流程图。
图4为本发明一实施例提供的一种交易替换方法的流程图。
图5为本发明一实施例提供的一种交易替换方法的流程图。
图6为本发明一实施例提供的一种交易替换方法的流程图。
图7为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种交易替换方法的流程图。如图1所示,在本实施例中,本发明提供一种交易替换方法,包括:
S12:接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则执行步骤S13:根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则执行步骤S14:将第一交易存入交易池;
是,则执行步骤S15:将第一交易存入延时缓存池;
若第一交易为第一类交易,则执行步骤S16:根据第一前身交易信息查询第一交易的前身交易是否在延时缓存池中:
是,则执行步骤S17:将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中;
其中,延时缓存池中的交易在延时结束后存入交易池。
具体地,第一交易配置有前身交易信息predecessor及延时参数delaytime;第一前身交易信息为第一交易的前身交易的交易哈希,当第一交易没有前身交易时,该第一交易的前身交易信息配置为空;
以延时参数为第一交易的预计交易时间为例;假设当前延时缓存池中有100笔交易tx_1~tx_100,交易池中没有交易,用户甲生成tx_101、tx_102、tx_103,并发送至区块链网络,区块链网络中的节点A收到tx_101、tx_102、tx_103;
其中,用户甲生成的tx_101、tx_102、tx_103发送到区块链的时间均为2019年1月1日01点00分00秒;
tx_101的predecessor为空,delaytime为2019年1月1日01点05分00秒;
tx_102的predecessor为空,delaytime为2019年1月1日01点00分00秒;
tx_103的predecessor为hash(tx_80),delaytime为2019年1月1日01点05分00秒;
当节点A接收到tx_101时:
在步骤S12中,节点A接收用户甲发送的tx_101,由于tx_101的predecessor为空,确定tx_101是不替换前身交易的第二类交易;
由于tx_101是第二类交易,则执行步骤S13:根据tx_101的延时参数判断tx_101是否需要延时处理:
由于tx_101的delaytime为2019年1月1日01点05分00秒,大于tx_101发送到区块链的时间2019年1月1日01点00分00秒,因此需要延时处理,执行步骤S15:将tx_101存入延时缓存池;
若从2019年1月1日01点00分00秒到2019年1月1日01点05分00秒没有交易替换tx_101,则tx_101在2019年1月1日01点05分00秒后存入交易池。
当节点A接收到tx_102时:
在步骤S12中,节点A接收用户甲发送的tx_102,由于tx_102的predecessor为空,确定tx_102是不替换前身交易的第二类交易;
由于tx_102是第二类交易,则执行步骤S13:根据tx_102的延时参数判断tx_102是否需要延时处理:
由于tx_102的delaytime为2019年1月1日01点00分00秒,不大于tx_102发送到区块链的时间2019年1月1日01点00分00秒,因此不需要延时处理,执行步骤S14:将tx_102存入交易池;
当节点A接收到tx_103时:
在步骤S12中,节点A接收用户甲发送的tx_103,由于tx_103的predecessor为hash(tx_80),确定tx_103是替换前身交易的第一类交易;
由于tx_103是第一类交易,则执行步骤S16:根据hash(tx_80)查询tx_103的前身交易tx_80是否在延时缓存池中:
由于延时缓存池中有100笔交易tx_1~tx_100,tx_80在延时缓存池中,则执行步骤S17:将tx_80从延时缓存池中删除,并将tx_103存入延时缓存池中;
若从2019年1月1日01点00分00秒到2019年1月1日01点05分00秒没有交易替换tx_103,则tx_103在2019年1月1日01点05分00秒后存入交易池。
上述实施例以延时参数为第一交易的预计交易时间为例对本发明提供的交易替换方法进行了详细的阐述,在更多实施例中,本发明提供的交易替换方法不以上述举例为限,还可以根据实际需求将延时参数配置为第一交易生效时间与第一交易发送到区块链的时间的时间差(例如,配置为5分钟),可实现相同的技术效果。
上述实施例实现一种交易可延时进入交易池,交易进入交易池前可修改交易内容。
图2为图1所示方法的一种优选实施方式中步骤S17的流程图。如图2所示,在一优选实施例中,步骤S17包括:
S171:判断发送第一交易的第一地址与发送第一前身交易的第二地址是否相同:
是,则执行步骤S172:将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中。
具体地,假设发送tx_103的第一地址与发送tx_80的第二地址相同;
当节点A接收到tx_103时:
在步骤S171中,节点A判断发送tx_103的第一地址与发送tx_80的第二地址是否相同:
由于发送tx_103的第一地址与发送tx_80的第二地址相同,则执行步骤S172:将tx_80从延时缓存池中删除,并将tx_103存入延时缓存池中。
上述实施例使得不同的用户不能恶意发送第一交易替换不属于自己的第一前身交易,提高区块链系统的安全性,进一步改善用户体验。
图3为图1所示方法的一种优选实施方式中步骤S17的流程图。如图3所示,在一优选实施例中,步骤S17包括:
S173:通过第一前身交易的锁定状态信息确定第一前身交易是否锁定:
否,则执行步骤S174:将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中。
具体地,第一交易还配置有锁定参数islock,islock用于标识当前交易的锁定状态;
假设当交易锁定状态为false时交易不锁定,当交易的锁定状态为true时交易锁定,交易的交易锁定状态默认为false;tx_80的锁定状态为false,tx_103的锁定状态配置为true;
当节点A接收到tx_103时:
在步骤S173中,节点A通过tx_80的锁定状态信息确定tx_80是否锁定:
由于tx_80的islock为false,锁定状态为不锁定,则执行步骤S174:将tx_80从延时缓存池中删除,并将tx_103存入延时缓存池中。
从2019年1月1日01点00分00秒到2019年1月1日01点05分00秒,节点A即使收到其它交易试图替换tx_103,由于tx_103的锁定状态为true,tx_103无法被替换,tx_103在2019年1月1日01点05分00秒后存入交易池。
在更多实施例中,交易中配置有标识锁定状态的变量,该变量用于标识交易是否锁定,锁定的状态下交易不可替换,可实现相同的技术效果。
上述实施例使得交易双方在确定交易信息为正确后,交易发起方将交易的锁定状态设置为锁定,锁定的交易将无法被更改,保证正确的交易无法被替换,进一步改善用户体验。
在一优选实施例中,区块链的节点配置有第一端口,第一端口用于供用户终端访问以获取交易的交易内容。
上述实施例使用户可以查询进入交易池前的交易内容以明确交易内容是否正确,进一步改善用户体验。
图4为本发明一实施例提供的一种交易替换方法的流程图。如图4所示,在本实施例中,本发明提供一种交易替换方法,包括:
S22:向第一节点发送第一交易,以供第一节点接收第一交易,并通过第一交易的第一前身交易信息是否为空确定第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则将第一交易存入交易池;
是,则将第一交易存入延时缓存池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在延时缓存池中:
是,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中;
其中,延时缓存池中的交易在延时结束后存入交易池。
上述实施例的交易替换原理可参考图1所示的方法,此处不再赘述。
图5为本发明一实施例提供的一种交易替换方法的流程图。如图5所示,在本实施例中,本发明提供一种交易替换方法,包括:
S32:接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则执行步骤S33:根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则执行步骤S34:将第一交易存入交易池;
是,则执行步骤S35:将第一交易存入延时缓存池;
若第一交易为第一类交易,则执行步骤S36:根据第一前身交易信息查询第一交易的前身交易是否在延时缓存池中:
是,则执行步骤S37:根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则执行步骤S38:将第一前身交易从延时缓存池中删除,并将第一交易存入交易池中;
是,则执行步骤S39:将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中;
其中,延时缓存池中的交易在延时结束后存入交易池。
具体地,第一交易配置有前身交易信息predecessor及延时参数delaytime;第一前身交易信息为第一交易的前身交易的交易哈希,当第一交易没有前身交易时,该第一交易的前身交易信息配置为空;
以延时参数为第一交易的预计交易时间为例;假设当前延时缓存池中有100笔交易tx_100~tx_200,交易池中有交易0笔交易;用户甲生成tx_201、tx_202、tx_203、tx_204,并发送至区块链网络,区块链网络中的节点A收到tx_201、tx_202、tx_203、tx_204;
其中,用户甲生成的tx_201、tx_202、tx_203、tx_204发送到区块链的时间均为2019年1月1日01点00分00秒;
tx_201的predecessor为空,delaytime为2019年1月1日01点05分00秒;
tx_202的predecessor为空,delaytime为2019年1月1日01点00分00秒;tx_203的predecessor为hash(tx_100),delaytime为2019年1月1日01点05分00秒;
tx_204的predecessor为hash(tx_101),delaytime为2019年1月1日01点00分00秒为例;
当节点A接收到tx_201时:
在步骤S32中,节点A接收用户甲发送的tx_201,由于tx_201的predecessor为空,确定tx_201是不替换前身交易的第二类交易;
由于tx_201是第二类交易,则执行步骤S33:根据tx_201的延时参数判断tx_201是否需要延时处理:
由于tx_201的delaytime为2019年1月1日01点05分00秒,大于tx_201发送到区块链的时间2019年1月1日01点00分00秒,因此需要延时处理,执行步骤S35:将tx_201存入延时缓存池;
若从2019年1月1日01点00分00秒到2019年1月1日01点05分00秒没有交易替换tx_201,则tx_201在2019年1月1日01点05分00秒后存入交易池。
当节点A接收到tx_202时:
在步骤S32中,节点A接收用户甲发送的tx_202,由于tx_202的predecessor为空,确定tx_202是不替换前身交易的第二类交易;
由于tx_202是第二类交易,则执行步骤S33:根据tx_202的延时参数判断tx_202是否需要延时处理:
由于tx_202的delaytime为2019年1月1日01点00分00秒,不大于tx_202发送到区块链的时间2019年1月1日01点00分00秒,因此不需要延时处理,执行步骤S34:将tx_202存入交易池;
当节点A接收到tx_203时:
在步骤S32中,节点A接收用户甲发送的tx_203,由于tx_203的predecessor为hash(tx_100),确定tx_203是替换前身交易的第一类交易;
由于tx_203是第一类交易,则执行步骤S36:根据hash(tx_100)查询tx_203的前身交易tx_100是否在延时缓存池中:
由于延时缓存池中有100笔交易tx_100~tx_200,tx_100在延时缓存池中,则执行步骤S37:根据tx_203的延时参数判断tx_203是否需要延时处理:
由于tx_203的delaytime为2019年1月1日01点05分00秒,大于tx_203发送到区块链的时间为2019年1月1日01点00分00秒,需要延时处理,则执行步骤S39,将tx_100从延时缓存池中删除,并将tx_203存入延时缓存池中;
若从2019年1月1日01点00分00秒到2019年1月1日01点05分00秒没有交易替换tx_203,则tx_203在2019年1月1日01点05分00秒后存入交易池。
当节点A接收到tx_204时:
在步骤S32中,节点A接收用户甲发送的tx_204,由于tx_204的predecessor为hash(tx_101),确定tx_204是替换前身交易的第一类交易;
由于tx_204是第一类交易,则执行步骤S36:根据hash(tx_101)查询tx_204的前身交易tx_101是否在延时缓存池中:
由于延时缓存池中有100笔交易tx_100~tx_200,tx_101在延时缓存池中,则执行步骤S37:根据tx_204的延时参数判断tx_204是否需要延时处理:
由于tx_204的delaytime为2019年1月1日01点00分00秒,不大于tx_204发送到区块链的时间为2019年1月1日01点00分00秒,不需要延时处理,则执行步骤S38,将tx_101从延时缓存池中删除,并将tx_204存入交易池中。
上述实施例以以延时参数为第一交易的预计交易时间为例对本发明提供的交易替换方法进行了详细的阐述,在更多实施例中,本发明提供的交易替换方法不以上述举例为限,还可以根据实际需求将延时参数配置为第一交易生效时间与第一交易发送到区块链的时间的时间差(例如,配置为5分钟),可实现相同的技术效果。
上述实施例实现一种交易可延时进入交易池,交易进入交易池前可修改交易内容。
在一优选实施例中,将第一前身交易从延时缓存池中删除,并将第一交易存入交易池中包括:
判断发送第一交易的第一地址与发送第一前身交易的第二地址是否相同:
是,则将第一前身交易从延时缓存池中删除,并将第一交易存入交易池中。
将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中包括:
判断发送第一交易的第一地址与发送第一前身交易的第二地址是否相同:
是,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中。
上述实施例的交易替换原理可参考图2所示的方法,此处不再赘述。
上述实施例使得不同的用户不能恶意发送第一交易替换不属于自己的第一前身交易,提高区块链系统的安全性,进一步改善用户体验。
在一优选实施例中,将第一前身交易从延时缓存池中删除,并将第一交易存入交易池中包括:
通过第一前身交易的锁定状态信息确定第一前身交易是否锁定:
否,则将第一前身交易从延时缓存池中删除,并将第一交易存入交易池中。
将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中包括:
通过第一前身交易的锁定状态信息确定第一前身交易是否锁定:
否,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中。
上述实施例的交易替换原理可参考图3所示的方法,此处不再赘述。
上述实施例使得交易双方在确定交易信息为正确后,交易发起方将交易的锁定状态设置为锁定,锁定的交易将无法被更改,保证正确的交易无法被替换,进一步改善用户体验。
在一优选实施例中,区块链的节点配置有第一端口,第一端口用于供用户终端访问以获取交易的交易内容。
上述实施例使用户可以查询进入交易池前的交易内容以明确交易内容是否正确,进一步改善用户体验。
图6为本发明一实施例提供的一种交易替换方法的流程图。如图6所示,在本实施例中,本发明提供一种交易替换方法,包括:
S42:向第一节点发送第一交易,以供第一节点接收第一交易,并通过第一交易的第一前身交易信息是否为空确定第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则将第一交易存入交易池;
是,则将第一交易存入延时缓存池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在延时缓存池中:
是,则根据第一交易的延时参数判断第一交易是否需要延时处理:
否,则将第一前身交易从延时缓存池中删除,并将第一交易存入交易池中;
是,则将第一前身交易从延时缓存池中删除,并将第一交易存入延时缓存池中;
上述实施例的交易替换原理可参考图5所示的方法,此处不再赘述。
图7为本发明一实施例提供的一种设备的结构示意图。
如图7所示,作为另一方面,本申请还提供了一种设备700,包括一个或多个中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有设备700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上述任一实施例描述的交易替换方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行交易替换方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的交易替换方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种交易替换方法,其特征在于,适用于区块链的节点,所述方法包括:
接收用户端发送的第一交易,并通过所述第一交易的第一前身交易信息是否为空确定所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若所述第一交易为所述第二类交易,则根据所述第一交易的延时参数判断所述第一交易是否需要延时处理:
否,则将所述第一交易存入交易池;
是,则将所述第一交易存入延时缓存池;
若所述第一交易为所述第一类交易,则根据所述第一前身交易信息查询所述第一交易的前身交易是否在所述延时缓存池中:
是,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中;
其中,所述延时缓存池中的交易在延时结束后存入所述交易池。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中包括:
判断发送所述第一交易的第一地址与发送所述第一前身交易的第二地址是否相同:
是,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中包括:
通过所述第一前身交易的锁定状态信息确定所述第一前身交易是否锁定:
否,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中。
4.根据权利要求1所述的方法,其特征在于,区块链的节点配置有第一端口,所述第一端口用于供用户终端访问以获取交易的交易内容。
5.一种交易替换方法,其特征在于,适用于用户端,所述方法包括:
向第一区块链节点发送第一交易,以供所述第一区块链节点:
接收所述第一交易,并通过所述第一交易的第一前身交易信息是否为空确定所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若所述第一交易为所述第二类交易,则根据所述第一交易的延时参数判断所述第一交易是否需要延时处理:
否,则将所述第一交易存入交易池;
是,则将所述第一交易存入延时缓存池;
若所述第一交易为所述第一类交易,则根据所述第一前身交易信息查询所述第一交易的前身交易是否在所述延时缓存池中:
是,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中;
其中,所述延时缓存池中的交易在延时结束后存入所述交易池。
6.一种交易替换方法,其特征在于,适用于区块链的节点,所述方法包括:
接收用户端发送的第一交易,并通过所述第一交易的第一前身交易信息是否为空确定所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若所述第一交易为所述第二类交易,则根据所述第一交易的延时参数判断所述第一交易是否需要延时处理:
否,则将所述第一交易存入交易池;
是,则将所述第一交易存入延时缓存池;
若所述第一交易为所述第一类交易,则根据所述第一前身交易信息查询所述第一交易的前身交易是否在所述延时缓存池中:
是,则根据所述第一交易的延时参数判断所述第一交易是否需要延时处理:
否,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述交易池中;
是,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中;
其中,所述延时缓存池中的交易在延时结束后存入所述交易池。
7.根据权利要求6所述的方法,其特征在于,所述将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述交易池中包括:
判断发送所述第一交易的第一地址与发送所述第一前身交易的第二地址是否相同:
是,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述交易池中;
所述将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中包括:
判断发送所述第一交易的第一地址与发送所述第一前身交易的第二地址是否相同:
是,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中。
8.根据权利要求6所述的方法,其特征在于,所述将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述交易池中包括:
通过所述第一前身交易的锁定状态信息确定所述第一前身交易是否锁定:
否,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述交易池中;
所述将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中包括:
通过所述第一前身交易的锁定状态信息确定所述第一前身交易是否锁定:
否,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述延时缓存池中。
9.根据权利要求6所述的方法,其特征在于,区块链的节点配置有第一端口,所述第一端口用于供用户终端访问以获取交易的交易内容。
10.一种交易替换方法,其特征在于,适用于用户端,所述方法包括:
向第一区块链节点发送第一交易,以供所述第一区块链节点:
接收所述第一交易,并通过所述第一交易的第一前身交易信息是否为空确定所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若所述第一交易为所述第二类交易,则根据所述第一交易的延时参数判断所述第一交易是否需要延时处理:
否,则将所述第一交易存入交易池;
是,则将所述第一交易存入延时缓存池;
若所述第一交易为所述第一类交易,则根据所述第一前身交易信息查询所述第一交易的前身交易是否在所述延时缓存池中:
是,则根据所述第一交易的延时参数判断所述第一交易是否需要延时处理:
否,则将所述第一前身交易从所述延时缓存池中删除,并将所述第一交易存入所述交易池中;
是,则将所述第一前身交易从延时缓存池中删除,并将所述第一交易存入所述延时缓存池中;
其中,所述延时缓存池中的交易在到达预计交易时间后存入交易池。
11.一种用于交易替换的设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-10中任一项所述的方法。
12.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910097362.XA CN109872139B (zh) | 2019-01-31 | 2019-01-31 | 交易替换方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910097362.XA CN109872139B (zh) | 2019-01-31 | 2019-01-31 | 交易替换方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109872139A CN109872139A (zh) | 2019-06-11 |
CN109872139B true CN109872139B (zh) | 2020-10-23 |
Family
ID=66918374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910097362.XA Active CN109872139B (zh) | 2019-01-31 | 2019-01-31 | 交易替换方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109872139B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689344B (zh) * | 2019-08-30 | 2021-04-09 | 创新先进技术有限公司 | 在区块链中并发执行交易的方法和装置 |
CN110992009A (zh) * | 2019-12-04 | 2020-04-10 | 杭州复杂美科技有限公司 | 延时交易提前处理方法、设备和存储介质 |
CN111510450B (zh) * | 2020-04-13 | 2021-02-05 | 西安电子科技大学 | 一种区块链节点身份验证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101727525B1 (ko) * | 2016-09-05 | 2017-04-17 | 주식회사 스케일체인 | 블록체인 기반 분산 저장 방법 및 이를 이용한 장치 |
CN107480990A (zh) * | 2017-08-01 | 2017-12-15 | 中国联合网络通信集团有限公司 | 区块链记账方法及装置 |
CN109064169A (zh) * | 2018-07-13 | 2018-12-21 | 杭州复杂美科技有限公司 | 交易方法、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105469510B (zh) * | 2014-10-12 | 2018-01-09 | 吴思进 | 可预告延时支付或找回的加密货币钱包 |
US10402792B2 (en) * | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
CN105761146B (zh) * | 2016-01-24 | 2021-06-01 | 杭州复杂美科技有限公司 | 区块链撮合交易所 |
-
2019
- 2019-01-31 CN CN201910097362.XA patent/CN109872139B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101727525B1 (ko) * | 2016-09-05 | 2017-04-17 | 주식회사 스케일체인 | 블록체인 기반 분산 저장 방법 및 이를 이용한 장치 |
CN107480990A (zh) * | 2017-08-01 | 2017-12-15 | 中国联合网络通信集团有限公司 | 区块链记账方法及装置 |
CN109064169A (zh) * | 2018-07-13 | 2018-12-21 | 杭州复杂美科技有限公司 | 交易方法、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
33复杂美:为企业提供最先进的区块链应用设施;吴思进;《大众理财顾问》;20170731;第69页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109872139A (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109872139B (zh) | 交易替换方法、设备和存储介质 | |
CN111680050B (zh) | 一种联盟链数据的分片处理方法、设备和存储介质 | |
CN108037946B (zh) | 一种应用程序热更新的方法、系统及服务器 | |
CN110430066B (zh) | 用于减少区块链交易重复广播的方法、设备及存储介质 | |
US10116746B2 (en) | Data storage method and network interface card | |
US8666958B2 (en) | Approaches to reducing lock communications in a shared disk database | |
CN108959562B (zh) | 应用在区块链上的海量规则数据处理方法和系统 | |
US20170371810A1 (en) | Data Transmission Method and System | |
US20220131873A1 (en) | Transaction Replacement Method, Device, and Storage Medium | |
CN112381543A (zh) | 多重签名交易方法、设备和存储介质 | |
CN110445626A (zh) | 区块打包、广播方法和系统、设备及存储介质 | |
US10133688B2 (en) | Method and apparatus for transmitting information | |
WO2020156482A1 (zh) | 交易替换方法、交易排队方法、设备和存储介质 | |
CN111292028A (zh) | 库存信息处理方法及系统、计算机系统和可读存储介质 | |
CN113282626A (zh) | 基于Redis的缓存数据的方法、装置、计算机设备及存储介质 | |
CN112270529A (zh) | 业务表单的审批方法、装置、电子设备和存储介质 | |
CN112435123A (zh) | 一种基于同构多链系统的交易方法、系统及存储介质 | |
WO2023142605A1 (zh) | 一种基于区块链的数据处理方法和相关装置 | |
US8171495B2 (en) | Queue dispatch using deferred acknowledgement | |
CN109213815B (zh) | 控制执行次数的方法、装置、服务器终端以及可读介质 | |
CN114579054A (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
CN111797086A (zh) | 数据裁剪方法、设备和存储介质 | |
CN111400324B (zh) | 一种锁定云存储中对象的方法、装置及服务器 | |
CN113592643B (zh) | 资产定期解冻方法、计算机设备和存储介质 | |
CN109918209B (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 |