CN107886328A - 交易处理方法、装置、计算机设备及存储介质 - Google Patents

交易处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN107886328A
CN107886328A CN201711180752.0A CN201711180752A CN107886328A CN 107886328 A CN107886328 A CN 107886328A CN 201711180752 A CN201711180752 A CN 201711180752A CN 107886328 A CN107886328 A CN 107886328A
Authority
CN
China
Prior art keywords
transaction
node
transaction node
current
result
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
Application number
CN201711180752.0A
Other languages
English (en)
Other versions
CN107886328B (zh
Inventor
刘雄文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201711180752.0A priority Critical patent/CN107886328B/zh
Priority to PCT/CN2018/075501 priority patent/WO2019100598A1/zh
Publication of CN107886328A publication Critical patent/CN107886328A/zh
Application granted granted Critical
Publication of CN107886328B publication Critical patent/CN107886328B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/388Payment protocols; Details thereof using mutual authentication without cards, e.g. challenge-response

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明涉及一种交易处理方法、装置、计算机设备及存储介质,该方法包括:接收交易请求,并获取当前交易节点,将交易请求发送至当前交易节点以使当前交易节点对交易请求进行处理;接收在所述当前交易节点发生故障时、所切换的与所述当前交易节点处于同一集群的切换后的交易节点的参数;将当前交易节点的参数替换为切换后的交易节点的参数;交易服务器接收切换后的交易节点返回的初步交易处理结果,并根据初步交易处理结果计算目标交易处理结果。上述交易处理方法、系统、计算机设备及存储介质,节约了系统资源,提高了系统的性能。

Description

交易处理方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种交易处理方法、装置、计算机设备及存储介质。
背景技术
在区块链或基于PaxOS算法实现的分布式的交易系统中,需要多个交易节点参与交易,基于一定的处理策略达成共识。参与交易的交易节点存在动态变化的可能性,如交易节点宕机不能参与交易的计算或者不能存储交易的计算结果,但是交易不能因为部分交易节点的不可用而失去可用性,系统需要知道哪些交易节点可用,目前解决的方案是在交易节点之间互相监控及进行数据同步并在交易时从交易节点中选举出一个交易节点的领导者发起交易。如果有交易节点宕机并且宕机的交易节点落后正进行的交易进程太多,要么大幅牺牲整个系统的性能来允许宕机的交易节点参与计算,要么让宕机的交易节点不再参与选举和交易。在实践应用中考虑节点的最低数量要求,往往是让整个系统进行重启。
这些方式和方法降低了系统的灵活性,采用传统的监控方式和交易节点之间的数据同步、选举模式等机制则让整个系统的负载过重过大,对宕机的交易节点的处理也大幅降低了系统功能上的可用性,整个系统的交易性能也大幅下降。
发明内容
基于此,有必要针对上述问题,提供一种交易处理方法、装置、计算机设备及存储介质。
一种交易处理方法,所述方法包括:
接收交易请求,并获取当前交易节点,将所述交易请求发送至所述当前交易节点,以使所述当前交易节点对所述交易请求进行处理;接收在所述当前交易节点发生故障时、所切换的与所述当前交易节点处于同一集群的切换后的交易节点的参数;
将当前交易节点的参数替换为切换后的交易节点的参数;
接收切换后的交易节点返回的初步交易处理结果,并根据所述初步交易处理结果计算目标交易处理结果。
在其中一个实施例中,所述方法还包括:
若与所述当前交易节点对应的集群中的交易节点均发生故障,则接收所述当前交易节点返回的交易节点故障信息;
根据所述交易节点故障的信息对所述当前交易节点进行标记;
若所述当前交易节点正在处理交易请求,则将与所述当前交易节点对应的初步交易处理结果标记为交易失败。
在其中一个实施例中,所述方法还包括:
若接收到所述当前交易节点注销的信息,则判断所述当前交易节点是否正在处理交易请求;
若所述当前交易节点正在处理交易请求,则通过异步非阻塞方式继续等待所述当前交易节点返回的初步交易处理结果后,将所述当前交易节点的参数删除。
在其中一个实施例中,所述方法还包括:
若接收到新的交易节点的注册信息,则对所述注册信息进行验证;
当验证通过后,则添加所述新的交易节点的参数。
在其中一个实施例中,所述根据所述初步交易处理结果计算目标交易处理结果的步骤,包括:
判断参与交易的所述当前交易节点反馈的初步交易结果表示交易成功的数量是否大于等于预设值;
当表示交易成功的所述初步交易结果的数量大于等于预设值时,则目标交易结果表示交易成功;
当表示交易成功的所述初步交易结果的数量小于预设值时,则目标交易结果表示交易失败。
在其中一个实施例中,所述方法还包括:
将所述目标交易结果发送至排序服务器以使所述排序服务器按照预设顺序对所述目标交易结果进行排序,并接收所述当前交易节点的数据获取请求后,根据所述数据获取请求向所述当前交易节点返回与所述交易请求对应的目标交易结果。
一种区块链交易处理装置,所述装置包括;
交易请求通信模块,用于接收交易请求,并获取当前交易节点,将所述交易请求发送至所述当前交易节点,以使所述当前交易节点对所述交易请求进行处理;
节点参数通信模块,用于接收在所述当前交易节点发生故障时、所切换的与所述当前交易节点处于同一集群的切换后的交易节点的参数;
替换模块,用于将当前交易节点的参数替换为切换后的交易节点的参数;
处理模块,用于接收切换后的交易节点返回的初步交易处理结果,并根据所述初步交易处理结果计算目标交易处理结果。
在其中一个实施例中,所述装置还包括排序模块,用于
将所述目标交易结果发送至排序服务器,以使所述排序服务器按照预设顺序对所述目标交易结果进行排序,并接收所述当前交易节点的数据获取请求后,根据所述数据获取请求向所述当前交易节点返回与所述交易请求对应的目标交易结果。
一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项所述方法中的步骤。
一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述方法中的步骤。
上述交易处理方法、装置、计算机设备及存储介质,若当前交易节点发生故障,则直接切换到与当前交易节点处于同一集群的另一交易节点继续处理交易请求,并将切换后的交易节点的参数发送至交易服务器,使得交易服务器明确了解到切换后的交易节点,从而交易服务器可以正常接收交易节点返回的初步交易结果,不需要实时监控每个交易节点,节约了系统资源,提高了系统的性能。
附图说明
图1为一实施例中的交易处理方法的应用环境图;
图2为一实施例中的交易处理方法的流程图;
图3为一实施例中的区块链交易装置的示意图;
图4为一实施例中的计算机系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
在详细说明根据本发明的实施例前,应该注意到的是,所述的实施例主要在于与交易处理方法、装置、计算机设备及存储介质相关的步骤和系统组件的组合。因此,所属系统组件和方法步骤已经在附图中通过常规符号在适当的位置表示出来了,并且只示出了与理解本发明的实施例有关的细节,以免因对于得益于本发明的本领域普通技术人员而言显而易见的那些细节模糊了本发明的公开内容。
在本文中,诸如左和右,上和下,前和后,第一和第二之类的关系术语仅仅用来区分一个实体或动作与另一个实体或动作,而不一定要求或暗示这种实体或动作之间的任何实际的这种关系或顺序。术语“包括”、“包含”或任何其他变体旨在涵盖非排他性的包含,由此使得包括一系列要素的过程、方法、物品或者设备不仅包含这些要素,而且还包含没有明确列出的其他要素,或者为这种过程、方法、物品或者设备所固有的要素。
请参阅图1,图1为一实施例中的交易处理方法的应用环境图,其中包括交易服务器、交易节点以及排序服务器,其中交易节点可以是以集群的方式存在。该交易处理方法可以应用于区块链或基于PaxOS算法实现的分布式的交易系统。
具体地,交易服务器中可以存储有配置文件或者设置有与交易服务器相对应的数据库,该配置文件或该数据库中存储有交易节点的IP地址和端口、交易节点的事件地址和端口。可以基于该配置文件或者数据库建立名义上的通道,通道中包含了所有可用的交易节点,交易服务器可以接受通道中新的交易节点的注册、原交易节点的注销以及原交易节点的属性的改变。其中由于交易节点是以集群的方式存在的,因此原交易节点的属性的改变包括两种方式:一种是交易节点集群中当前交易节点故障,由替代交易节点继续处理交易,这种情况下,交易节点继续工作,仅是事件的地址和端口发生改变。另外一种是当前交易节点本身宕机或当前交易节点的交易进程中止或当前交易节点的存储进程中止,该种情况下当前交易节点不再参与后续的交易。交易服务器还可以向每个可用的交易节点注册交易处理事件,接收每个交易节点交易完成后的事件通知,即接收每个交易节点返回的初步交易处理结果,并把初步交易处理结果进行汇总后得到目标处理结果,将目标处理结果存储至排序服务器。交易服务器可以在集群的基础上实现负载平衡,提高可用性和高效性。
交易节点是具有计算功能和存储计算的数据结果功能的,且每个交易节点的加入都经过了交易服务器的信任验证。每个交易节点均是以主备节点或节点集群的方式存在的,在执行交易的计算功能时,只有一个节点执行计算功能,其余节点作为备份使用,交易节点中的所有节点共享同一个数据存储设备。交易节点在向排序服务器拉取数据时,参数可以包括数据的起始位置和数据的长度,然后排序服务器把数据提交给交易节点的当前节点,提交完成后,交易节点将排序服务器返回的目标交易结果存储在自己的数据存储设备中。在交易节点的计算进程中止前,交易节点可以通过事件消息发送给交易服务器,交易服务器可以更新配置文件或数据库。另外交易节点可以在集群的基础上实现负载平衡,提高可用性和高效性。
排序服务器可以接收交易服务器的目标交易结果,并对目标交易结果按照时间先后顺序进行排序和存储,从而在接收到交易节点的数据获取请求时,排序服务器可以将正确的目标交易结果返回给对应的交易节点。其中排序服务器可以以集群和集群之间数据同步的方式向外提供服务,从而提供数据持久化和高吞吐的性能。
请参阅图2,在其中一个实施例中,提供一种交易处理方法,本实施例以该方法应用到上述图1中的交易服务器来举例说明。该方法具体包括如下步骤:
S202:接收交易请求,并获取当前交易节点,将交易请求发送至当前交易节点,以使当前交易节点对交易请求进行处理。
具体地,交易服务器接收外部的交易请求后可以对该交易请求进行验证,例如交易服务器预先与外部约定好加解密方式及算法、加签和验签方式及算法等,在交易服务器接收到交易请求时,首先根据预先约定的验签方式进行验签,然后根据预定的解密方式进行解密从而可以获取交易数据等。
交易服务器获取当前交易节点可以是交易服务器查询配置文件或数据库等获取交易节点,其中交易服务器可以在配置文件或数据库中建立通道,通道可以与交易类型相关联,从而交易服务器可以根据配置文件或数据库中存储的交易节点的属性等获取到当前交易节点,并将交易请求发送到该当前交易节点。进一步地,交易服务器可以对解密后的交易数据进行加密,并生成对应的交易标识,然后将该交易标识和交易数据发送给对应的当前交易节点,其中交易标识为可以唯一确定本次交易的标识。
其中,交易服务器还可以对配置文件或数据库的变更设计优先级,例如交易节点的属性发生变化引起的配置文件或数据库的变更的优先级最高,交易节点注销引起的配置文件或数据库的变更的优先级其次,交易节点的注册引起的配置文件的优先级最低,相同优先级以队列的方式进行排队处理,且配置文件或数据库的更新只能由交易服务器进行。且交易服务器可以建立通道的概念,通道中包含了可用的交易节点,且通道可以与交易类型相关联,每个交易节点的属性包括交易节点的标识,可以为交易节点的编号,交易节点的执行交易的IP地址和端口、每个交易节点的事件注册的事件地址和端口。其中每个交易节点执行交易的IP地址和交易节点事件注册的地址可以是相同,端口可以是不同的。交易节点的属性均记录在配置文件或数据库中。
具体地,当前交易节点在获取到交易请求后,对该交易请求进行处理以生成初步交易处理结果。进一步地,当前交易节点可以在获取到交易请求后,对该交易请求进行验签和解密以获取到交易标识和交易数据,并对交易数据进行处理后得到初步交易处理结果,并将该初步交易处理结果返回至交易服务器。
S204:接收在当前交易节点发生故障时、所切换的与当前交易节点处于同一集群的切换后的交易节点的参数。
具体地,若当前交易节点发生故障,则交易节点集群可以用集群中另一未发生故障的交易节点替换该当前交易节点,从而交易可以继续进行,且由于交易节点集群中的所有交易节点共享存储空间,从而切换后的交易节点可以从当前交易节点出现故障的位置处继续处理当前交易请求,而无需重新处理,这样可以节省大量的处理时间。且为了实现与服务器的沟通,在当前交易节点被切换后,交易节点集群将切换后的交易节点的参数发送至交易服务器,从而交易服务器可以更改配置文件或数据库中的内容,使得交易服务实时了解到交易节点属性变化的情况。
其中,交易服务器可以首先向当前每个可用的交易节点进行事件注册,并进行事件的RPC(远程过程调用);当交易节点的属性发生变化时,交易服务器则可以接收到事件消息,接收消息的方式可以是异步非阻塞,即交易服务器仍可以继续其他的事件处理。此外,交易节点的初步交易处理结果的返回也是通过事件消息的方式返回给交易服务器,因此当交易服务器接收到事件消息时,可以首先根据事件消息的类型,确定事件消息是正常交易节点完成交易执行的事件通知还是交易节点本身故障,即交易节点本身发生变化的事件消息。然后若事件消息是交易节点本身故障的消息,则首先判断该消息表示的是否为交易节点的IP地址或端口、或事件地址或端口发生变换,若是则会根据对应的处理策略进行处理。
S206:交易服务器将当前交易节点的参数替换为切换后的交易节点的参数。
具体地,当交易服务器接收到的事件消息后,首先会验证事件消息的报文的签名是否有效,若有效,则确定是否为交易节点的IP地址或端口、或事件地址或端口发生变换,若是,则会更新配置文件或数据库,若不是,即消息事件是交易节点执行的状态和执行结果,则不会更新配置文件或数据库,则是将交易节点所返回的初步交易处理结果进行保存。
S208:接收切换后的交易节点返回的初步交易处理结果,并根据初步交易处理结果计算目标交易处理结果。
具体地,交易服务器在接收到初步交易处理结果后,根据交易标识进行存储,且在所有的交易节点或者预设数量的交易节点返回了初步交易处理结果后,根据预设的处理策略可以得到目标交易处理结果。其中交易服务器对于交易的执行进行控制,并基于处理策略保证交易结果的一致性,交易节点主要用于完成交易的执行以及对交易的一致性处理结果进行存储,交易节点在执行交易前对交易相关的参数进行初始化,排序服务器则对交易后的一致性结果进行排序和存储,并根据交易节点的请求提供交易的一致性结果数据。
上述交易处理方法,若当前交易节点发生故障,则直接切换到与当前交易节点处于同一集群的另一交易节点继续处理交易请求,并将切换后的交易节点的参数发送至交易服务器,使得交易服务器明确了解到切换后的交易节点,从而交易服务器可以正常接收交易节点返回的初步交易处理结果,不需要实时监控每个交易节点,节约了系统资源,提高了系统的性能。
在其中一个实施例中,该交易处理方法还包括:若与当前交易节点对应的集群中的交易节点均发生故障,接收当前交易节点返回的交易节点故障信息;根据交易节点故障的信息对当前交易节点进行标记;若当前交易节点正在处理交易请求,则将与当前交易节点对应的初步交易处理结果标记为交易失败。
具体地,交易节点的变化包括三种类型,一种是交易节点的注册,即存在新的交易节点加入到系统中,一种是交易节点的注销,即已有的交易节点退出系统,还有一种是交易节点的属性的变化,其中交易节点的注册和交易节点的注销均是由交易节点主动向交易服务器发送消息,而交易服务器则监听并接收消息,而交易节点属性的变化则是由交易服务器先向可用的交易节点进行事件注册,然后当交易节点属性变化时,交易服务器会接收到该变化的事件消息,消息会由交易节点签名并由交易服务器验签,签名验证通过后才会进行处理,并且处理结果需要得到交易服务器的确认后才会生效。
其中交易节点的属性的变化包括上述交易节点的地址和端口、事件地址和端口的变化,还有一种是交易进程中止、存储进程中止或交易节点本身宕机的变化,这三种变化都会导致连接错误,且会导致这三种错误则表示当前交易节点对应的集群中的交易节点均发生故障,交易服务器接收到这三种错误时,则直接对该当前交易节点进行标记,即标记为不可用,从而后续不会再使用该交易节点。
上述实施例中,当当前交易节点对应的集群中的交易节点均发生故障时,则对交易节点进行标记,从而后续不再使用该交易节点,且若当前交易节点正在处理交易请求,则直接标记当前交易节点对应的本次交易的初步交易处理结果为交易失败,从后续计算目标交易结果奠定了基础。
在其中一个实施例中,该交易处理方法还可以包括:若接收到当前交易节点注销的信息,则判断当前交易节点是否正在处理交易请求;若当前交易节点正在处理交易请求,则通过异步非阻塞方式继续等待当前交易节点返回的初步交易处理结果后,将当前交易节点的参数删除。
在其中一个实施例中,该交易处理方法还可以包括:若接收新的交易节点的注册信息,则对注册信息进行验证;当验证通过后,则添加新的交易节点的参数。
具体地,当交易服务器接收到交易节点注销的信息时,则首先判断当前交易节点是否正在处理交易请求,若是,则交易服务器通过异步非阻塞方式继续等待当前交易节点返回初步交易处理结果,然后再将当前交易节点的参数删除,这样才能完成当前交易节点的注销,且不影响当前交易节点正在处理的交易请求。
当交易服务器接收到交易节点的注册的信息时,则会进行验证,防止不法分子通过注册交易节点的方式获取到交易信息,例如可以引入CA服务器,CA服务器向安全的交易节点下发交易服务器的密钥或证书,交易节点通过密钥加密注册信息,交易服务器接收到交易节点的注册信息时,首先进行解密,只有解密通过后,交易服务器才会根据注册信息完成新的交易节点的注册。
上述实施例中,交易服务器处理交易时会根据交易节点的动态变化结合处理策略进行不同的处理,交易节点的动态变化发生在交易执行前,则会因为配置文件或数据库进行了更新而获得最新的交易节点信息,这样交易请求会发送给可用的交易节点进行执行并获取初步交易处理结果。若交易节点的动态变化发生在交易执行中,则包括两种情况,一种是交易服务器已经把交易请求发送给了所有可用的交易节点,另外一种是交易服务器正在发送交易请求的过程中,尚未完全发送结束,这时可以根据处理策略决定是否终止交易请求的处理。交易节点的动态变化发生在交易执行完毕后,则不会影响和改变当前交易处理结果。
在其中一个实施例中,根据初步交易处理结果计算目标交易处理结果的步骤可以包括:判断参与交易的当前交易节点反馈的初步交易处理结果表示交易成功的数量是否大于等于预设值;当表示交易成功的初步交易处理结果的数量大于等于预设值时,则目标交易结果表示交易成功;当表示交易成功的初步交易处理结果的数量小于预设值时,则目标交易结果表示交易失败。
具体地,交易服务器在接收到交易节点反馈的初步交易处理结果后,查询表示成功的交易结果的数量,并根据交易策略得到目标交易结果。
例如,交易策略是交易服务器中所有的交易节点的初步交易处理结果均需表示交易成功,则目标交易结果才是交易成功,若存在一个交易节点的初步交易处理结果表示未成功,则目标交易结果是交易失败。在这种交易策略下,交易服务器查询交易节点所返回的初步交易处理结果,当所有的初步交易处理结果均表示交易成功时,则输出表示交易成功的目标交易结果,当存在一个初步交易处理结果表示交易失败时,则输出表示交易失败的目标交易结果。
当交易策略是通道中至少n/2+1个交易节点的初步交易处理结果均需表示交易成功,则目标交易结果才是交易成功,若不存在n/2+1个交易节点的初步交易处理结果表示成功,则目标交易结果是交易失败,其中n为交易节点的个数。在这种交易策略下,交易服务器查询交易节点所返回的初步交易处理结果,当至少n/2+1个初步交易处理结果均表示交易成功时,则输出表示交易成功的目标交易结果,当不存在至少n/2+1个初步交易处理结果表示交易成功时,则输出表示交易失败的目标交易结果。
上述实施例中,交易服务器根据交易节点返回的初步交易处理结果得到目标交易结果,而不是仅仅依靠一个交易节点进行处理,或者交易节点之间互相通信得到目标交易结果,处理过程简单、结果可靠。
在其中一个实施例中,该交易处理方法还可以包括:交易服务器将目标交易结果发送至排序服务器以使排序服务器按照预设顺序对目标交易结果进行排序,并接收当前交易节点的数据获取请求后,根据数据获取请求向当前交易节点返回与交易请求对应的目标交易结果。
具体地,交易服务器每次计算出目标交易结果后,都将目标交易结果发送至排序服务器进行保存。排序服务器在接收到目标交易结果后,按照预设标准对目标交易结果进行排序,例如可以按照时间顺序进行排序并保存。排序服务器接收当前交易节点的数据获取请求,该数据获取请求中包括数据的起始位置和数据的长度,然后排序服务器根据该数据获取请求获取到相应的数据,并将该数据返回给交易节点进行存储即可以。
其中交易节点、交易服务器以及排序服务器之间是基于安全通信进行设计和实现的,包括发送前对敏感数据的加密,对通用消息和事件消息进行加签,接收消息时以验签和解密的方式来获取消息,同时还可以基于安全传输协议进行传输层的安全保障。且飘絮服务器设计和实现支持了大批量的交易节点,能同时与大量的交易节点进行通信和数据的传输,数据进行了持久化存储,采用了kafka集群来实现。
上述实施例中,避免了交易节点之间的彼此监控和数据同步的大的负载量,避免交易的可用性下降和系统性能的大幅下降,交易服务器对交易的执行进行控制,并基于处理策略保证交易结果的一致性;交易节点主要用于完成交易的执行及对交易的一致性结果进行存储,交易节点在执行交易前对交易相关的数据进行初始化;排序服务器对交易后的一致性结果进行排序和存储并根据交易节点的要求提供交易的一致性结果数据。
继续参阅图3,图3为一实施例中的区块链交易处理装置的示意图,该装置包括:
交易请求通信模块100,用于接收交易请求,并获取当前交易节点,将交易请求发送至当前交易节点,以使当前交易节点对交易请求进行处理。
交易参数通信模块200,用于接收在当前交易节点发生故障时、所切换的与当前交易节点处于同一集群的切换后的交易节点的参数;
替换模块300,用于将当前交易节点的参数替换为切换后的交易节点的参数。
处理模块400,用于接收切换后的交易节点返回的初步交易处理结果,并根据初步交易处理结果计算目标交易处理结果。
在其中一个实施例中,该装置还可以包括故障接收模块,用于在与当前交易节点对应的集群中的交易节点均发生故障,则接收当前交易节点返回的交易节点故障信息。
标记模块,用于根据交易节点故障的信息对当前交易节点进行标记;且若当前交易节点正在处理交易请求,则将与当前交易节点对应的初步交易处理结果标记为交易失败。
在其中一个实施例中,该装置还可以包括注销模块,用于在接收到当前交易节点注销的信息时,判断当前交易节点是否正在处理交易请求;若当前交易节点正在处理交易请求,则通过异步非阻塞方式继续等待当前交易节点返回的初步交易处理结果后,将当前交易节点的参数删除。
在其中一个实施例中,该装置还可以包括注册模块,用于在接收到新的交易节点的注册信息时,对注册信息进行验证;当验证通过后,则添加新的交易节点的参数。
在其中一个实施例中,所述处理模块还用于判断参与交易的当前交易节点反馈的初步交易处理结果表示交易成功的数量是否大于等于预设值;当表示交易成功的初步交易处理结果的数量大于等于预设值时,则目标交易结果表示交易成功;当表示交易成功的初步交易处理结果的数量小于预设值时,则目标交易结果表示交易失败。
在其中一个实施例中,所述装置还包括排序模块,用于将目标交易结果发送至排序服务器,以使排序服务器按照预设顺序对目标交易结果进行排序,并接收当前交易节点的数据获取请求后,根据数据获取请求向当前交易节点返回与交易请求对应的目标交易结果。
关于区块链交易处理系统的具体限定可以参见上文中对于交易处理方法的限定,在此不再赘述。上述区块链交易处理系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。上述区块链交易处理系统可以实现为一种计算机程序的形式,计算机程序可在如图1所示的交易服务器上运行。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,也可以是终端。当该计算机设备为服务器时,例如为交易服务器时,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种交易处理方法。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,处理器执行计算机程序时实现以下步骤:接收交易请求,并获取当前交易节点,将交易请求发送至当前交易节点,以使当前交易节点对交易请求进行处理;接收在当前交易节点发生故障时、所切换的与当前交易节点处于同一集群的切换后的交易节点的参数;将当前交易节点的参数替换为切换后的交易节点的参数;接收切换后的交易节点返回的初步交易处理结果,并根据初步交易处理结果计算目标交易处理结果。
在其中一个实施例中,处理器执行计算机程序时还可以实现以下步骤:
若与当前交易节点对应的集群中的交易节点均发生故障,则当前交易节点向交易服务器返回交易节点故障的信息交易服务器接收当前交易节点返回的交易节点故障信息;交易服务器根据交易节点故障的信息对当前交易节点进行标记;若当前交易节点正在处理交易请求,则交易服务器将与当前交易节点对应的初步交易处理结果标记为交易失败。
在其中一个实施例中,处理器在执行计算机程序时还可以实现以下步骤:在接收到当前交易节点注销的信息时,判断当前交易节点是否正在处理交易请求;若当前交易节点正在处理交易请求,则通过异步非阻塞方式继续等待当前交易节点返回的初步交易处理结果后,将当前交易节点的参数删除。
在其中一个实施例中,处理器在执行计算机程序时还可以实现以下步骤:在接收到新的交易节点的注册信息时,对注册信息进行验证;当验证通过后,则添加新的交易节点的参数。
在其中一个实施例中,处理器在执行计算机程序时还可以实现以下步骤:判断参与交易的当前交易节点反馈的初步交易处理结果表示交易成功的数量是否大于等于预设值;当表示交易成功的初步交易处理结果的数量大于等于预设值时,则目标交易结果表示交易成功;当表示交易成功的初步交易处理结果的数量小于预设值时,则目标交易结果表示交易失败。
在其中一个实施例中,处理器在执行计算机程序时还可以实现以下步骤:将目标交易结果发送至排序服务器以使排序服务器按照预设顺序对目标交易结果进行排序,并接收当前交易节点的数据获取请求后,根据数据获取请求向当前交易节点返回与交易请求对应的目标交易结果。
上述对于计算机设备的限定可以参见上文中对于交易处理方法的具体限定,在此不再赘述。
请继续参阅图4,还提供一种计算机可读存储介质,其上存储有计算机程序,如图4中所示的非易失性存储介质,其中,该程序被处理器执行时实现以下步骤:接收交易请求,并获取当前交易节点,将交易请求发送至当前交易节点以使当前交易节点对交易请求进行处理;接收在当前交易节点发生故障时、所切换的与当前交易节点处于同一集群的切换后的交易节点的参数;将当前交易节点的参数替换为切换后的交易节点的参数;接收切换后的交易节点返回的初步交易处理结果,并根据初步交易处理结果计算目标交易处理结果。
在其中一个实施例中,该程序被处理器执行时还可以实现以下步骤:若与当前交易节点对应的集群中的交易节点均发生故障,则接收当前交易节点返回的交易节点故障的信息;根据交易节点故障的信息对当前交易节点进行标记;若当前交易节点正在处理交易请求,则将与当前交易节点对应的初步交易处理结果标记为交易失败。
在其中一个实施例中,该程序被处理器执行时还可以实现以下步骤:若接收当前交易节点注销的信息,则判断当前交易节点是否正在处理交易请求;若当前交易节点正在处理交易请求,则通过异步非阻塞方式继续等待当前交易节点返回的初步交易处理结果后,将当前交易节点的参数删除。
在其中一个实施例中,该程序被处理器执行时还可以实现以下步骤:若接收到新的交易节点的注册信息,则对注册信息进行验证;当验证通过后,则添加新的交易节点的参数。
在其中一个实施例中,该程序被处理器执行时所实现的根据初步交易处理结果计算目标交易处理结果的步骤可以包括:判断参与交易的当前交易节点反馈的初步交易处理结果表示交易成功的数量是否大于等于预设值;当表示交易成功的初步交易处理结果的数量大于等于预设值时,则目标交易结果表示交易成功;当表示交易成功的初步交易处理结果的数量小于预设值时,则目标交易结果表示交易失败。
在其中一个实施例中,该程序被处理器执行时还可以实现以下步骤:将目标交易结果发送至排序服务器以使排序服务器按照预设顺序对目标交易结果进行排序,并接收当前交易节点的数据获取请求后,根据数据获取请求向当前交易节点返回与交易请求对应的目标交易结果。
上述对于计算机可读存储介质的限定可以参见上文中对于交易处理方法的具体限定,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可包括磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种交易处理方法,其特征在于,所述方法包括:
接收交易请求,并获取当前交易节点,将所述交易请求发送至所述当前交易节点,以使所述当前交易节点对所述交易请求进行处理;接收在所述当前交易节点发生故障时、所切换的与所述当前交易节点处于同一集群的切换后的交易节点的参数;
将当前交易节点的参数替换为切换后的交易节点的参数;
接收切换后的交易节点返回的初步交易处理结果,并根据所述初步交易处理结果计算目标交易处理结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若与所述当前交易节点对应的集群中的交易节点均发生故障,则接收所述当前交易节点返回的交易节点故障信息;
根据所述交易节点故障的信息对所述当前交易节点进行标记;
若所述当前交易节点正在处理交易请求,则将与所述当前交易节点对应的初步交易处理结果标记为交易失败。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到所述当前交易节点注销的信息,则判断所述当前交易节点是否正在处理交易请求;
若所述当前交易节点正在处理交易请求,则通过异步非阻塞方式继续等待所述当前交易节点返回的初步交易处理结果后,将所述当前交易节点的参数删除。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到新的交易节点的注册信息,则对所述注册信息进行验证;
当验证通过后,则添加所述新的交易节点的参数。
5.根据权利要求1所述的方法,其特征在于,所述根据所述初步交易处理结果计算目标交易处理结果的步骤,包括:
判断参与交易的所述当前交易节点反馈的初步交易结果表示交易成功的数量是否大于等于预设值;
当表示交易成功的所述初步交易结果的数量大于等于预设值时,则目标交易结果表示交易成功;
当表示交易成功的所述初步交易结果的数量小于预设值时,则目标交易结果表示交易失败。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述目标交易结果发送至排序服务器以使所述排序服务器按照预设顺序对所述目标交易结果进行排序,并接收所述当前交易节点的数据获取请求后,根据所述数据获取请求向所述当前交易节点返回与所述交易请求对应的目标交易结果。
7.一种区块链交易处理装置,其特征在于,所述装置包括;
交易请求通信模块,用于接收交易请求,并获取当前交易节点,将所述交易请求发送至所述当前交易节点,以使所述当前交易节点对所述交易请求进行处理;
节点参数通信模块,用于接收在所述当前交易节点发生故障时、所切换的与所述当前交易节点处于同一集群的切换后的交易节点的参数;
替换模块,用于将当前交易节点的参数替换为切换后的交易节点的参数;
处理模块,用于接收切换后的交易节点返回的初步交易处理结果,并根据所述初步交易处理结果计算目标交易处理结果。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括排序模块,用于
将所述目标交易结果发送至排序服务器,以使所述排序服务器按照预设顺序对所述目标交易结果进行排序,并接收所述当前交易节点的数据获取请求后,根据所述数据获取请求向所述当前交易节点返回与所述交易请求对应的目标交易结果。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任意一项所述方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述方法中的步骤。
CN201711180752.0A 2017-11-23 2017-11-23 交易处理方法、装置、计算机设备及存储介质 Active CN107886328B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711180752.0A CN107886328B (zh) 2017-11-23 2017-11-23 交易处理方法、装置、计算机设备及存储介质
PCT/CN2018/075501 WO2019100598A1 (zh) 2017-11-23 2018-02-06 交易处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711180752.0A CN107886328B (zh) 2017-11-23 2017-11-23 交易处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN107886328A true CN107886328A (zh) 2018-04-06
CN107886328B CN107886328B (zh) 2021-01-26

Family

ID=61774690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711180752.0A Active CN107886328B (zh) 2017-11-23 2017-11-23 交易处理方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN107886328B (zh)
WO (1) WO2019100598A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600383A (zh) * 2018-05-02 2018-09-28 大国创新智能科技(东莞)有限公司 区块链机器人系统及实现方法
CN108830710A (zh) * 2018-05-02 2018-11-16 大国创新智能科技(东莞)有限公司 区块链交易平台及实现方法
CN108848054A (zh) * 2018-05-03 2018-11-20 京信通信系统(中国)有限公司 网络设备注册方法、装置、计算机设备和存储介质
CN108920278A (zh) * 2018-07-02 2018-11-30 中国建设银行股份有限公司 资源分配方法及装置
CN110458709A (zh) * 2018-04-28 2019-11-15 腾讯科技(深圳)有限公司 资源转移信息的传输方法和装置、存储介质、电子装置
WO2019237750A1 (zh) * 2018-06-13 2019-12-19 阿里巴巴集团控股有限公司 一种基于区块链的可用资源配额的兑换方法及装置
CN110633804A (zh) * 2019-09-12 2019-12-31 深圳众赢维融科技有限公司 金融产品进件评价方法、服务器和存储介质
CN110852744A (zh) * 2019-10-08 2020-02-28 深圳汇商通盈科技有限公司 一种切换交易通道的方法、装置、终端设备及介质
CN114119241A (zh) * 2022-01-27 2022-03-01 通联支付网络服务股份有限公司 渠道交易系统
CN115271736A (zh) * 2022-07-11 2022-11-01 中电金信软件有限公司 验证事务一致性的方法、装置、设备、存储介质及产品
WO2022257656A1 (zh) * 2021-06-07 2022-12-15 腾讯科技(深圳)有限公司 交易处理方法、装置、介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523355A (zh) * 2006-08-04 2009-09-02 多伦多证券交易所 故障切换系统和方法
CN101556679A (zh) * 2009-05-21 2009-10-14 中国建设银行股份有限公司 一种综合前端系统故障处理方法及计算机设备
CN101986272A (zh) * 2010-11-05 2011-03-16 北京大学 一种云计算环境下的任务调度方法
US20120136778A1 (en) * 2009-02-05 2012-05-31 Oracle International Corporation Replicating data in financial systems
CN105933391A (zh) * 2016-04-11 2016-09-07 青岛海信传媒网络技术有限公司 一种节点扩容方法、装置及系统
CN106970934A (zh) * 2017-01-16 2017-07-21 平安银行股份有限公司 交易处理控制方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523355A (zh) * 2006-08-04 2009-09-02 多伦多证券交易所 故障切换系统和方法
US20120136778A1 (en) * 2009-02-05 2012-05-31 Oracle International Corporation Replicating data in financial systems
CN101556679A (zh) * 2009-05-21 2009-10-14 中国建设银行股份有限公司 一种综合前端系统故障处理方法及计算机设备
CN101986272A (zh) * 2010-11-05 2011-03-16 北京大学 一种云计算环境下的任务调度方法
CN105933391A (zh) * 2016-04-11 2016-09-07 青岛海信传媒网络技术有限公司 一种节点扩容方法、装置及系统
CN106970934A (zh) * 2017-01-16 2017-07-21 平安银行股份有限公司 交易处理控制方法及系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110458709A (zh) * 2018-04-28 2019-11-15 腾讯科技(深圳)有限公司 资源转移信息的传输方法和装置、存储介质、电子装置
CN108830710A (zh) * 2018-05-02 2018-11-16 大国创新智能科技(东莞)有限公司 区块链交易平台及实现方法
CN108600383A (zh) * 2018-05-02 2018-09-28 大国创新智能科技(东莞)有限公司 区块链机器人系统及实现方法
CN108600383B (zh) * 2018-05-02 2022-08-19 大国创新智能科技(东莞)有限公司 区块链机器人系统及实现方法
CN108830710B (zh) * 2018-05-02 2021-02-05 大国创新智能科技(东莞)有限公司 区块链交易平台及实现方法
CN108848054B (zh) * 2018-05-03 2021-01-15 京信通信系统(中国)有限公司 网络设备注册方法、装置、计算机设备和存储介质
CN108848054A (zh) * 2018-05-03 2018-11-20 京信通信系统(中国)有限公司 网络设备注册方法、装置、计算机设备和存储介质
WO2019237750A1 (zh) * 2018-06-13 2019-12-19 阿里巴巴集团控股有限公司 一种基于区块链的可用资源配额的兑换方法及装置
CN108920278A (zh) * 2018-07-02 2018-11-30 中国建设银行股份有限公司 资源分配方法及装置
CN110633804B (zh) * 2019-09-12 2022-06-24 简链科技(广东)有限公司 金融产品进件评价方法、服务器和存储介质
CN110633804A (zh) * 2019-09-12 2019-12-31 深圳众赢维融科技有限公司 金融产品进件评价方法、服务器和存储介质
CN110852744A (zh) * 2019-10-08 2020-02-28 深圳汇商通盈科技有限公司 一种切换交易通道的方法、装置、终端设备及介质
WO2022257656A1 (zh) * 2021-06-07 2022-12-15 腾讯科技(深圳)有限公司 交易处理方法、装置、介质及电子设备
CN114119241A (zh) * 2022-01-27 2022-03-01 通联支付网络服务股份有限公司 渠道交易系统
CN115271736A (zh) * 2022-07-11 2022-11-01 中电金信软件有限公司 验证事务一致性的方法、装置、设备、存储介质及产品

Also Published As

Publication number Publication date
CN107886328B (zh) 2021-01-26
WO2019100598A1 (zh) 2019-05-31

Similar Documents

Publication Publication Date Title
CN107886328A (zh) 交易处理方法、装置、计算机设备及存储介质
US11966916B2 (en) Resource transfer method and apparatus, storage medium, and computer device
CN108540536B (zh) 基于区块链的网络海量业务处理方法、设备及存储介质
US11349722B2 (en) Method and system of connecting to a multipath hub in a cluster
CN108777625B (zh) 签名的验证方法、装置和系统、存储介质、电子装置
CN103236949B (zh) 一种服务器集群的监控方法、装置与系统
CN111181715B (zh) 一种基于一致性哈希共识协议的多方跨链方法
US20200167779A1 (en) High performance distributed system of record with confidence-based consensus
US20050015471A1 (en) Secure cluster configuration data set transfer protocol
JP2006528387A (ja) 協調して負荷バランスするクラスターサーバシステム及び方法
CN101656732A (zh) 路径控制系统
CN106060088A (zh) 一种服务管理方法及装置
CN101605108A (zh) 一种即时通信的方法、系统及装置
CN109101196A (zh) 主节点切换方法、装置、电子设备及计算机存储介质
US20200150994A1 (en) Method and system for performing hyperconvergence using blockchains
PH12014502594B1 (en) Service node switching method and system
CN110289999A (zh) 一种数据处理方法、系统及装置
WO2018077376A1 (en) Method for managing data traffic within a network
CN113489691A (zh) 网络访问方法、装置、计算机可读介质及电子设备
CN106210058A (zh) 一种多核并行的反向代理方法
CN105224550B (zh) 分布式流计算系统和方法
CN113242299A (zh) 多数据中心的容灾系统、方法、计算机设备及介质
US7596085B2 (en) Access network system and method of moving internal network relay devices
CN105335362B (zh) 实时数据的处理方法及系统、即时处理系统
CN106708881A (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
TA01 Transfer of patent application right

Effective date of registration: 20180531

Address after: 518052 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Applicant after: Shenzhen one ledger Intelligent Technology Co., Ltd.

Address before: 200030 Xuhui District, Shanghai Kai Bin Road 166, 9, 10 level.

Applicant before: Shanghai Financial Technologies Ltd

TA01 Transfer of patent application right
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1245960

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant