发明内容
基于此,有必要针对交易数据混乱导致交易结果错误的问题,提供一种交易数据处理方法、装置、计算机设备及存储介质。
一种交易数据处理方法,所述方法包括:
客户端接收交易数据处理请求,所述交易数据处理请求携带有交易类型和交易数据;所述客户端根据所述交易类型将所述交易数据发送至对应的通道;
所述通道将交易数据发送至所述通道中的交易节点;
所述交易节点对所述交易数据进行处理得到初步交易结果,并将所述初步交易结果反馈至所述通道;
所述通道根据所述初步交易结果计算得到目标交易结果,并将所述目标交易结果返回至所述客户端;
所述客户端发出所述目标交易结果。
在其中一个实施例中,所述方法还包括:
组织为所述组织中注册的用户分配一个或多个交易节点,每个所述交易节点对应一种交易类型;
所述组织根据所述交易类型将所述交易节点分配至不同的通道。
在其中一个实施例中,所述通道将交易数据发送至所述通道中的交易节点的步骤,包括:
所述通道获取所述通道中交易节点对应的组织标识,并将所述交易数据和所述组织标识发送至所述通道中对应的交易节点;
所述交易节点对所述交易数据进行处理得到初步交易结果的步骤之前,还包括:
所述交易节点对所述组织标识进行验证,当所述组织标识的验证通过后,所述交易节点对所述交易节点对应的用户权限进行验证,在所述用户权限验证通过后,继续执行所述交易节点对所述交易数据进行处理得到初步交易结果的步骤。
在其中一个实施例中,所述交易节点为交易节点集群,所述交易节点集群中的交易节点共享存储空间;
所述交易节点对所述交易数据进行处理得到初步交易结果的步骤,包括:
所述交易节点集群检测当前参与交易的交易节点是否存在故障;
若当前参与交易的交易节点存在故障时,则所述交易节点集群选择未发生故障的交易节点;
所选择的未发生故障的交易节点根据发生故障的交易节点在所述共享存储空间中存储的信息继续对所述交易数据进行处理得到初步交易结果。
在其中一个实施例中,所述通道根据所述初步交易结果计算得到目标交易结果的步骤,包括:
所述通道判断参与交易的所述交易节点反馈的初步交易结果表示交易成功的数量是否大于等于预设值;
当表示交易成功的所述初步交易结果的数量大于等于预设值时,则目标交易结果表示交易成功;
当表示交易成功的所述初步交易结果的数量小于预设值时,则目标交易结果表示交易失败。
一种区块链交易数据处理系统,所述系统包括客户端、通道以及交易节点;
所述客户端用于接收交易数据处理请求,所述交易数据处理请求携带有交易类型和交易数据;所述客户端根据所述交易类型将所述交易数据发送至对应的通道;
所述通道用于将交易数据发送至所述通道中的交易节点;
所述交易节点用于对所述交易数据进行处理得到初步交易结果,并将所述初步交易结果反馈至所述通道;
所述通道还用于根据所述初步交易结果计算得到目标交易结果,并将所述目标交易结果返回至所述客户端;
所述客户端还用于发出所述目标交易结果。
在其中一个实施例中,所述系统还包括组织,所述组织用于为所述组织中注册的用户分配一个或多个交易节点,且每个所述交易节点对应一种交易类型,所述组织根据所述交易类型将所述交易节点分配至不同的通道。
在其中一个实施例中,所述组织为所述组织中注册的用户设置对应的交易权限;
所述通道还用于获取所述通道中交易节点对应的组织标识,并将所述交易数据和所述组织标识发送至所述通道中对应的交易节点;
所述交易节点还用于对所述组织标识进行验证,当所述组织标识的验证通过后,所述交易节点对所述交易节点对应的用户权限进行验证,在所述用户权限验证通过后,继续对所述交易数据进行处理得到初步交易结果。
一种计算机系统,包括客户端、通道和交易节点;
所述客户端包括第一存储器、第一处理器以及存储在所述第一存储器上并可在所述第一处理器上运行的计算机程序,所述第一处理器执行所述计算机程序时实现以下步骤:接收交易数据处理请求,所述交易数据处理请求携带有交易类型和交易数据;根据所述交易类型将所述交易数据发送至对应的通道,并发出目标交易结果;
所述通道包括第二存储器、第二处理器以及存储在所述第二存储器上并可以在所述第二处理器上运行的计算机程序,所述第二处理器执行所述计算机程序时实现以下步骤:将交易数据发送至所述通道中的交易节点,根据交易节点反馈的初步交易结果计算得到目标交易结果,并将所述目标交易结果返回至所述客户端;
所述交易节点包括第三存储器、第三处理器以及存储在所述第三存储器上并可以在所述第三处理器上运行的计算机程序,所述第三处理器执行所述计算机程序时实现以下步骤:对所述交易数据进行处理得到初步交易结果,并将所述初步交易结果反馈至所述通道。
一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述方法中的步骤。
上述交易数据处理方法、装置、计算机设备及存储介质,首先通过客户端接收交易数据处理请求,并根据交易类型为交易数据处理请求分配特定的通道,通道将交易数据分配给通道中的交易节点,交易节点对交易数据进行处理得到初步交易结果,从而通道可以根据参与交易的交易节点的初步交易结果得到目标交易结果并反馈给客户端,不需要交易节点之间进行交互,减少了数据的交互,从而可以避免不同交易节点之间数据混乱的现象的发生,进一步保证了交易结果的可靠性。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
在详细说明根据本发明的实施例前,应该注意到的是,所述的实施例主要在于与交易数据处理方法、装置、计算机设备及存储介质相关的步骤和系统组件的组合。因此,所属系统组件和方法步骤已经在附图中通过常规符号在适当的位置表示出来了,并且只示出了与理解本发明的实施例有关的细节,以免因对于得益于本发明的本领域普通技术人员而言显而易见的那些细节模糊了本发明的公开内容。
在本文中,诸如左和右,上和下,前和后,第一和第二之类的关系术语仅仅用来区分一个实体或动作与另一个实体或动作,而不一定要求或暗示这种实体或动作之间的任何实际的这种关系或顺序。术语“包括”、“包含”或任何其他变体旨在涵盖非排他性的包含,由此使得包括一系列要素的过程、方法、物品或者设备不仅包含这些要素,而且还包含没有明确列出的其他要素,或者为这种过程、方法、物品或者设备所固有的要素。
请参阅图1,图1为一实施例中交易数据处理方法的应用环境图,其中计算机系统包括客户端、通道、交易节点、组织和CA服务器,其中客户端是独立于交易节点的,其可以以集群的形式部署,并以负载均衡的方式向外部提供交易强求,外部的交易强求一般包括交易类型和交易数据,客户端会与外部约定好加密和解密的算法以及算法的密钥长度(即安全等级)、加签和验签的算法以及算法的密钥长度、证书的格式。客户端根据交易类型生成交易标识,并根据交易类型选择匹配的通道,并把交易标识、交易数据通过安全处理后发给匹配的通道。该交易数据处理方法可以应用于区块链或基于PaxOS算法实现的分布式的交易系统中。
CA服务器是提供根CA证书的下载以及为每个组织提供用户的密钥和证书生成,并能提供TLS(传输层安全协议)所需的安全要素的生成,CA服务器可以以集群的方式向外提供服务。组织首先从CA服务器下载根CA证书,然后接收用户注册,并根据根CA证书为每一个用户提供密钥和证书,其中组织中可以注册一个或多个用户,组织为每一个用户分配合适的交易节点,并将交易节点根据交易类型分配到合适的通道中,且可以设置用户的权限,其中权限可以包括交易执行权限和交易数据读取权限,其中具有交易执行权限的用户可以同时具有交易数据读取权限,而具有交易数据读取权限的用户则不具有交易执行权限。
交易节点在部署上可以支持集群和负载均衡的模式,交易节点的属性除了基本属性外,还包括交易节点的IP地址、交易节点的端口、事件的IP地址、事件的端口、所述组织的组织标识、组织在交易节点所在通道上的用户、用户的加密密钥、证书、证书的格式,组织和通道约定的加解密算法、加签和验签的算法、各个算法的密钥长度等。交易节点接收到通道的交易请求后,首先对签名的字段进行验签,在验签成功后,判断接收到的字段中的组织标识与交易节点中存储的组织标识是否一致,如果不一致,则直接拒绝交易,如果一致,则继续判断用户权限是否正确,如果不正确,则直接拒绝交易,如果正确,则交易节点执行交易,然后把初步交易结果返回至通道。
通道在初始化的时候获取通道中每个交易节点所属组织的用户的密钥和证书,经过CA服务器验证成功后,才会将该密钥和证书进行存储,这样可以防止用户的密钥和证书被篡改。通道接收到客户端发送的报文请求后,遍历通道内的交易节点,并读取存储在通道内部的交易节点的用户密钥和证书,将所获取的交易标识、交易数据以及组织标识发送到对应的交易节点,在发送之前可以通过约定的加密方式进行加密以及约定的加签方式进行加签。
请参阅图2,在其中一个实施例中,提供一种交易数据处理方法,本实施例以该方法应用到上述图1中计算机系统的来举例说明。该计算机系统上运行有区块链交易数据处理程序,通过该区块链交易数据处理程序来实施交易数据处理方法。该方法具体包括如下步骤:
S202:客户端接收交易数据处理请求,交易数据处理请求携带有交易类型和交易数据;客户端根据交易类型将交易数据发送至对应的通道。
具体地,客户端可以接收外部发送的交易数据处理请求,其中该交易数据处理请求中携带有交易类型和交易数据。其中客户端可以与外部预先约定好加密解密算法以及算法长度、加签验签算法以及算法长度、证书格式、交易类型的定义、需要加解密的交易数据和需要加验签的数据等,在交易时,外部将交易类型、交易数据等发送给客户端,客户端接收到交易数据处理请求时,首先验证该交易数据处理请求的合法性,例如根据验签算法对加签的数据进行验签,验签成功后,再对加密的数据进行解密得到交易类型和交易数据,并根据交易类型生成交易标识,将交易标识和交易数据发送到与交易类型对应的通道中。
其中交易标识是可以唯一确定本次交易的标识,其可以是根据交易类型和流水号来确定,例如相同交易类型则交易的流水号递增并具有唯一性。客户端将交易标识作为报文的头字段,交易数据作为报文的主体字段生成第一报文,并将该第一报文发送给与交易类型对应的通道。
S204:通道将交易数据发送至通道中的交易节点。
具体地,接收到第一报文的通道,遍历通道内的交易节点,并读取存储在通道内的交易节点的用户密钥和证书,将交易标识和交易节点所属组织的组织标识作为头字段,将交易数据作为主体字段生成第二报文,并根据预先约定的加密算法对预先预定的字段进行加密,例如对主体字段进行加密,然后根据预先预定的加签字段进行加签,例如对头字段和主体字段均进行加签,然后把签名和所有的字段发送给通道中的每一个交易节点。
需要说明的是,每个通道和每个组织的交易节点可以通过两种方式约定安全通信模式:第一种是通道通过CA服务器获取加入到通道的每个交易节点所属组织的对应交易类型的用户的用户密钥、证书或者通过线下向组织获取用户的用户密钥和证书,并通过CA服务器对所获取到的用户密钥和证书进行验证,保存验证成功的用户密钥和证书,通过线下和组织约定好加解密的算法及算法长度(即安全等级)、加签和验签的算法和算法长度、证书格式。第二种是通过TLS(传输层安全协议)和每个组织的交易节点约定TLS协议版本以及安全通信系列选项。另外客户端和通道是内网通信,进一步保证了通信安全。
S206:交易节点对交易数据进行处理得到初步交易结果,并将初步交易结果反馈至通道。
具体地,交易节点对通道请求的响应模式有两种:一种是同步的API调用的响应模式,另外一种是异步的事件消息响应模式。交易节点接收到通道的交易请求后,首先对签名的字段进行验签,如果验签失败,则直接返回交易失败的初步交易结果,如果验签成功,则继续对加密的字段进行加密,如果解密失败,则直接返回交易失败的初步交易结果,如果解密成功,则对解密得到的交易数据按照预先设置的交易逻辑进行处理,如果交易成功,则得到交易成功的初步交易结果,如果交易失败,则得到交易失败的初步交易结果,并将该初步交易结果反馈给通道,以便于通道得到目标交易结果。
其中,无论初步交易结果是否为交易成功,均将该初步交易结果返回给通道,该第二报文可以通过响应模式发送给通道,其中第二报文也可以包括头字段和主体字段,并对主体字段进行签名,其中头字段中可以存储交易标识和组织标识,主体字段中存储初步交易结果,
S208:通道根据初步交易结果计算得到目标交易结果,并将目标交易结果返回至客户端。
具体地,通道根据通道中参与交易的交易节点所返回的初步交易结果计算得到目标交易结果。通道在接收到交易节点返回的第二报文时,可以首先根据组织标识找到本地存储的组织标识对应的用户的证书中的公钥,对第二报文进行验签,验签成功后,通过交易标识记录下初步交易结果,然后根据预设的交易策略以及所接收到的所有的初步交易结果得到目标交易结果,并将目标交易结果反馈给客户端。
S210:客户端发出目标交易结果。
具体地,客户端在接收到目标交易结果后,按照与外部约定的加密解密算法、加签和验签算法对目标交易结果进行加密和加签,然后将加密和加签后的目标交易结果发出。
上述交易数据处理方法,首先通过客户端接收交易数据处理请求,并根据交易类型为交易数据处理请求分配特定的通道,通道将交易数据分配给通道中的交易节点,交易节点对交易数据进行处理得到初步交易结果,从而通道可以根据参与交易的交易节点的初步交易结果得到目标交易结果并反馈给客户端,不需要交易节点之间进行交互,减少了数据的交互,从而可以避免不同交易节点之间数据混乱的现象的发生,进一步保证了交易结果的可靠性。
在其中一个实施例中,该交易数据处理方法还可以包括:组织为组织中注册的用户分配一个或多个交易节点,每个交易节点对应一种交易类型;组织根据交易类型将交易节点分配至不同的通道。
具体地,计算机系统在初始化时,组织通过CA服务器申请组织中注册的用户的用户名和相关的用户密钥、证书,建立通道,组织为组织中注册的用户分配一个或多个交易节点,每个交易节点对应一种交易类型,组织根据交易类型将交易节点分配至不同的通道,通道获取每个交易节点的属性,从而保证了通道和交易类型具有一一对应的关系,每个组织分配对应交易类型的用户,每个组织分配一个交易节点或多个交易节点给对应的通道。其中,交易节点的属性可以包括交易节点的基本属性、交易节点的IP地址、交易节点的端口号、事件的IP地址和事件的端口号、交易节点所属的组织、组织在该通道上的用户、用户的权限、用户的加密密钥和证书、证书的格式、组织和通道约定的加解密算法、加签和验签的算法、算法的密钥长度等。如果交易节点的响应模式为事件模式则通道与每个加入通道的交易节点建立事件连接。此外,在初始化时,客户端建立交易类型与通道的映射关系,并与外约定加解密算法、加签和验签的算法、算法的密钥长度等。
具体地,可以结合图1,其中组织1中注册有两个用户,分别为第一用户和第二用户,其中第一用户与第五交易节点对应,第二用户与第二交易节点对应,第五交易节点属于第一通道,第二交易节点属于第二通道,因此第五交易节点和第二交易节点所处理的交易类型不同。这样在客户端接收到交易数据处理请求时,首先根据交易类型将交易数据分配到对应的通道,例如第一通道,第一通道将该交易数据分配给第一通道中所有的交易节点即第一交易节点和第五交易节点,第一交易节点和第五交易节点分别计算得到初步交易结果并反馈给第一通道,第一通道在根据初步交易结果得到目标交易结果后,将目标交易结果反馈给客户端,再由客户端发出。
具体地,组织还可以更新交易类型的用户信息或者过期的用户证书,并将更新的用户信息和更新的用户证书发送到相应的通道。例如第一组织可以更新与第五交易节点对应的用户的用户信息,然后通知第一通道,例如当更改的用户信息为加密解密算法时,则需要及时通知到第一通道,否则会造成交易失败的情况的出现。
在上述实施例中,在初始化的过程引入了组织的组织属性,提高了组织参与交易的可见性,从而提高了系统的扩展性。且一个组织中一般仅由一个交易节点参与计算,提高了资源的利用率,一个组织中的多个交易节点分别参与不同类型的交易的计算,在不同交易类型计算时设计相同组织的不同计算节点之间的隔离,避免数据的混淆和混乱,提升交易计算的可见性。
在其中一个实施例中,通道将交易数据发送至通道中的交易节点的步骤可以包括:通道获取通道中交易节点对应的组织标识,并将交易数据和组织标识发送至通道中对应的交易节点。在交易节点对交易数据进行处理得到初步交易结果的步骤之前还可以包括:交易节点对组织标识进行验证,当组织标识的验证通过后,交易节点对交易节点对应的用户权限进行验证,在用户权限验证通过后,继续执行交易节点对交易数据进行处理得到初步交易结果的步骤。
具体地,通道将交易数据发送至通道中的交易节点的步骤可以包括获取通道中交易节点对应的组织标识,并将组织标识和交易标识作为头字段,将交易数据作为主体字段发送至对应的交易节点,例如图1中第一通道获取到第一组织的组织标识和第二组织的组织标识,并将第一组织的组织标识作为头字段、交易数据作为主体字段发送给第五交易节点,将第二组织的组织标识作为头字段、交易数据作为主体字段发送给第一交易节点,从而第一交易节点和第五交易节点对对应的交易数据进行处理得到初步交易结果。
具体地,以第一交易节点为例进行说明,当第一交易节点接收到第一通道发送来的交易数据和组织标识时,则判断第一通道发送来的组织标识与第一交易节点中存储的组织标识是否一致,即是否均为第二组织的组织标识,如果两者不一致,则直接拒绝交易,即返回交易失败的初步交易结果,如果两者一致,则可以继续判断当前用户是否具有交易执行权限,如果不具有交易执行权限,则直接拒绝交易,即返回交易失败的初步交易结果,如果具有交易执行权限,则第一交易节点对所接收的交易数据进行处理得到初步交易结果。
上述实施例中在交易过程中引入了组织的属性,提高了组织参与的可见性,从而提高了系统的可扩展性,例如可以根据组织的属性增加新的组织等,另外设置了用户的权限,从而可以保证没有权限的用户无法访问相应的交易数据,即在一次交易中,一个用户进行登录交易,多个交易节点如果属于不同的组织,则该用户只能访问其中一个交易节点,如果该用户想要访问其他的交易节点,则需要通过相应的签名验证等,从而保证了交易数据的安全性。
在其中一个实施例中,交易节点为交易节点集群,交易节点集群中的交易节点共享存储空间;交易节点对交易数据进行处理得到初步交易结果的步骤可以包括:交易节点集群检测当前参与交易的交易节点是否存在故障;若当前参与交易的交易节点存在故障时,则交易节点集群选择未发生故障的交易节点;所选择的未发生故障的交易节点根据发生故障的交易节点在共享存储空间中存储的信息并继续对交易数据进行处理得到初步交易结果。
具体地,交易节点可以以集群的形式存在,且该集群共享一共同的存储空间,交易节点在接收到通道所发送的交易数据后,对交易数据进行处理,若在该过程中当前处理交易的交易节点出现故障,则该集群为当前交易分配另一无故障的交易节点继续参与交易,例如可以根据序号进行分配,当前参与交易的交易节点的序号为5,则查询序号为6的交易节点是否故障,如序号为6的交易节点无故障,则直接分配序号为6的交易节点继续参与交易,如果序号为6的交易节点故障,则继续遍历下一交易节点直至获取到无故障的交易节点来处理当前交易,且由于集群中所有的交易节点共享同一存储空间,因此所选择的无故障的交易节点可以在断点处继续处理该交易,而不需要重新处理该交易。
上述实施例中,若当前处理交易的交易节点故障,则重新选择新的交易节点继续该交易的处理,且由于集群中所有交易节点共享存储空间,因此新的交易节点可以继续处理该交易,而不需要重复上一故障的交易节点的处理过程。
在其中一个实施例中,通道根据初步交易结果计算得到目标交易结果的步骤可以包括:通道判断参与交易的交易节点反馈的初步交易结果表示交易成功的数量是否大于等于预设值;当表示交易成功的初步交易结果的数量大于等于预设值时,则目标交易结果表示交易成功;当表示交易成功的初步交易结果的数量小于预设值时,则目标交易结果表示交易失败。
具体地,通道在接收到交易节点反馈的初步交易结果后,查询表示成功的交易结果的数量,并根据交易策略得到目标交易结果。
例如,交易策略是通道中所有的交易节点的初步交易结果均需表示交易成功,则目标交易结果才是交易成功,若存在一个交易节点的初步交易结果表示未成功,则目标交易结果是交易失败。在这种交易策略下,通道查询交易节点所返回的初步交易结果,当所有的初步交易结果均表示交易成功时,则输出表示交易成功的目标交易结果,当存在一个初步交易结果表示交易失败时,则输出表示交易失败的目标交易结果。
当交易策略是通道中至少n/2+1个交易节点的初步交易结果均需表示交易成功,则目标交易结果才是交易成功,若不存在n/2+1个交易节点的初步交易结果表示成功,则目标交易结果是交易失败,其中n为交易节点的个数。在这种交易策略下,通道查询交易节点所返回的初步交易结果,当至少n/2+1个初步交易结果均表示交易成功时,则输出表示交易成功的目标交易结果,当不存在至少n/2+1个初步交易结果表示交易成功时,则输出表示交易失败的目标交易结果。
上述实施例中,通道根据交易节点返回的初步交易结果得到目标交易结果,而不是仅仅依靠一个交易节点进行处理,或者交易节点之间互相通信得到目标交易结果,处理过程简单、结果可靠。
继续参阅图1,图1中的客户端、通道以及交易节点组成了区块链交易数据处理系统,其中:
客户端用于接收交易数据处理请求,交易数据处理请求携带有交易类型和交易数据;客户端根据交易类型将交易数据发送至对应的通道。
通道用于将交易数据发送至通道中的交易节点。
交易节点用于对交易数据进行处理得到初步交易结果,并将初步交易结果反馈至通道。
通道还用于根据初步交易结果计算得到目标交易结果,并将目标交易结果返回至客户端。
客户端还用于发出目标交易结果。
在其中一个实施例中,系统还包括组织,组织用于为组织中注册的用户分配一个或多个交易节点,且每个交易节点对应一种交易类型,组织根据交易类型将交易节点分配至不同的通道。
在其中一个实施例中,组织为组织中注册的用户设置对应的交易权限。
通道还用于获取通道中交易节点对应的组织标识,并将交易数据和组织标识发送至通道中对应的交易节点。
交易节点还用于对组织标识进行验证,当组织标识的验证通过后,交易节点对交易节点对应的用户权限进行验证,在用户权限验证通过后,继续对交易数据进行处理得到初步交易结果。
在其中一个实施例中,交易节点为交易节点集群,交易节点集群中的交易节点共享存储空间。
交易节点集群用于监测当前参与交易的交易节点是否存在故障,若当前参与交易的交易节点存在故障,则交易节点集群选择未发生故障的交易节点。
所选择的未发横故障的交易节点根据发生故障的交易节点在共享存储空间中存储的信息继续对交易数据进行处理得到初步交易结果。
在其中一个实施例中,通道还用于判断参与交易的交易节点反馈的初步交易结果表示交易成功的数量是否大于等于预设值;当表示交易成功的初步交易结果的数量大于等于预设值时,则目标交易结果表示交易成功;当表示交易成功的初步交易结果的数量小于预设值时,则目标交易结果表示交易失败。
关于区块链交易数据处理系统的具体限定可以参见上文中对于交易数据处理方法的限定,在此不再赘述。上述区块链交易数据处理系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。上述区块链交易数据处理系统可以实现为一种计算机程序的形式,计算机程序可在如图1所示的客户端、通道、交易节点以及组织上运行。
在一个实施例中,提供了一种计算机系统,该计算机系统的内部结构图可以如图3所示。其中该计算机系统包括客户端、通道和交易节点,该客户端包括通过系统总线连接的第一存储器、第一处理器、第一操作系统,通道包括通过系统总线连接的第二存储器、第二处理器、第二操作系统,其中,该第二处理器用于提供计算和控制能力,支撑整个计算机设备的运行。第二存储器用于存储数据、程序代码等。交易节点包括通过系统总线连接的第三存储器、第三处理器、第三操作系统,其中,该第三处理器用于提供计算和控制能力,支撑整个计算机设备的运行。第三存储器用于存储数据、程序代码等。其中,该客户端的第一处理器用于提供计算和控制能力。该客户端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该第一内存储器、第二内存储器、第三内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该客户端、通道、交易节点的网络接口用于与外部的终端通过网络连接通信。该计算机程序被第一处理器、第二处理器、第三处理器执行时以实现一种交易数据处理方法。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,第一处理器执行计算机程序时实现以下步骤:接收交易数据处理请求,交易数据处理请求携带有交易类型和交易数据;根据交易类型将交易数据发送至对应的通道,并发出目标交易结果;第二处理器执行计算机程序时实现以下步骤:将交易数据发送至通道中的交易节点,根据交易节点反馈的初步交易结果计算得到目标交易结果,并将目标交易结果返回至客户端;第三处理器执行计算机程序时实现以下步骤:对交易数据进行处理得到初步交易结果,并将初步交易结果反馈至通道。
在其中一个实施例中,该计算机系统还包括组织,组织包括通过系统总线连接的第四存储器、第四处理器、第四操作系统,其中,该第四处理器用于提供计算和控制能力,支撑整个计算机设备的运行。第四存储器用于存储数据、程序代码等。该第四存储器上存储至少一个计算机可执行程序,该计算机可执行程序可被第四处理器执行,以实现本申请各实施例中提供的交易数据处理方法。该计算机可执行程序可被对应的第四处理器所执行,以用于实现上述各个实施例所提供的一种交易数据处理方法。计算机系统中的内存储器为非易失性存储介质中的操作系统、数据库和计算机可执行程序提供高速缓存的运行环境。
第四处理器执行计算机程序时实现以下步骤:为组织中注册的用户分配一个或多个交易节点,每个交易节点对应一种交易类型;根据交易类型将交易节点分配至不同的通道。
在其中一个实施例中,第二处理器执行计算机程序时所实现的将交易数据发送至通道中的交易节点的步骤,包括:获取通道中交易节点对应的组织标识,并将交易数据和组织标识发送至通道中对应的交易节点;第三处理器执行计算机程序时所实现的对交易数据进行处理得到初步交易结果的步骤之前,还包括:对组织标识进行验证,当组织标识的验证通过后,交易节点对交易节点对应的用户权限进行验证,在用户权限验证通过后,继续对交易数据进行处理得到初步交易结果。
在其中一个实施例中,交易节点为交易节点集群,交易节点集群中的交易节点共享存储空间;第三处理器执行计算机程序时所实现的对交易数据进行处理得到初步交易结果的步骤,包括:检测当前参与交易的交易节点是否存在故障;若当前参与交易的交易节点存在故障时,则选择未发生故障的交易节点;通过所选择的未发生故障的交易节点根据发生故障的交易节点在共享存储空间中存储的信息继续对交易数据进行处理得到初步交易结果。
在其中一个实施例中,第二处理器执行计算机程序时所实现的根据初步交易结果计算得到目标交易结果的步骤,包括:判断参与交易的交易节点反馈的初步交易结果表示交易成功的数量是否大于等于预设值;当表示交易成功的初步交易结果的数量大于等于预设值时,则目标交易结果表示交易成功;当表示交易成功的初步交易结果的数量小于预设值时,则目标交易结果表示交易失败。
上述对于计算机系统的限定可以参见上文中对于交易数据处理方法的具体限定,在此不再赘述。
请继续参阅图3,还提供一种计算机可读存储介质,其上存储有计算机程序,如图3中所示的非易失性存储介质,其中,该程序被处理器执行时实现以下步骤:客户端接收交易数据处理请求,交易数据处理请求携带有交易类型和交易数据;客户端根据交易类型将交易数据发送至对应的通道;通道将交易数据发送至通道中的交易节点;交易节点对交易数据进行处理得到初步交易结果,并将初步交易结果反馈至通道;通道根据初步交易结果计算得到目标交易结果,并将目标交易结果返回至客户端;客户端发出目标交易结果。
在其中一个实施例中,计算机程序被处理器执行时实现的通道将交易数据发送至通道中的交易节点的步骤,包括:通道获取通道中交易节点对应的组织标识,并将交易数据和组织标识发送至通道中对应的交易节点;交易节点对交易数据进行处理得到初步交易结果的步骤之前,还包括:交易节点对组织标识进行验证,当组织标识的验证通过后,交易节点对交易节点对应的用户权限进行验证,在用户权限验证通过后,继续执行交易节点对交易数据进行处理得到初步交易结果的步骤。
在其中一个实施例中,交易节点为交易节点集群,交易节点集群中的交易节点共享存储空间;计算机程序被处理器执行时实现的交易节点对交易数据进行处理得到初步交易结果的步骤,包括:交易节点集群检测当前参与交易的交易节点是否存在故障;若当前参与交易的交易节点存在故障时,则交易节点集群选择未发生故障的交易节点;所选择的未发生故障的交易节点根据发生故障的交易节点在共享存储空间中存储的信息继续对交易数据进行处理得到初步交易结果。
在其中一个实施例中,计算机程序被处理器执行时实现的通道根据初步交易结果计算得到目标交易结果的步骤,包括:通道判断参与交易的交易节点反馈的初步交易结果表示交易成功的数量是否大于等于预设值;当表示交易成功的初步交易结果的数量大于等于预设值时,则目标交易结果表示交易成功;当表示交易成功的初步交易结果的数量小于预设值时,则目标交易结果表示交易失败。
上述对于计算机可读存储介质的限定可以参见上文中对于交易数据处理方法的具体限定,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可包括磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。