基于区块链的业务处理方法、装置及系统
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于区块链的业务处理方法、装置、系统、计算机可读存储介质以及计算机设备。
背景技术
区块链技术,是一种利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的技术。利用区块链技术可以处理各种业务。
在传统方式中,用户在区块链网络上创建区块链账号后,区块链网络会将区块链账号及该区块链账号对应的私钥发送给用户自行保管。私钥是用户对区块链网络中的相应数字资产拥有所有权的唯一凭证,用户需要向区块链网络提供区块链账号对应的私钥才能够基于区块链网络处理相应业务。然而,用户一旦丢失或泄露区块链账号对应的私钥,便会造成不可挽回的数字资产损失,且无法再基于该区块链账号处理相应业务。
发明内容
基于此,有必要针对传统技术中私钥丢失导致无法再基于对应的区块链账号处理相应业务的技术问题,提供一种基于区块链的业务处理方法、装置、系统、计算机可读存储介质和计算机设备。
一种基于区块链的业务处理方法,包括:
第一服务端接收包括目标用户账号信息的第一业务请求;所述第一业务请求由用户终端发送;
所述第一服务端确定所述目标用户账号信息所关联的目标中间账号信息;
所述第一服务端生成包括所述目标中间账号信息和目标中间账号密码的第二业务请求,将所述第二业务请求发送至第二服务端;所述目标中间账号密码包括所述第一服务端存储的与所述目标中间账号信息匹配的中间账号密码;
所述第二服务端接收到所述第二业务请求后,基于所述目标中间账号信息和所述中间账号密码进行访问权限认证,在通过访问权限认证时,确定所述目标中间账号信息所关联的目标区块链账号;
所述第二服务端生成包括所述目标区块链账号和目标私钥的第三业务请求,将所述第三业务请求发送至区块链网络;所述目标私钥包括所述第二服务端存储的与所述目标区块链账号匹配的私钥;
所述第三业务请求用于指示所述区块链网络基于所述目标区块链账号和所述目标私钥执行相应的业务逻辑。
一种基于区块链的业务处理方法,包括:
接收包括目标用户账号信息的第一业务请求;所述第一业务请求由用户终端发送;
确定所述目标用户账号信息所关联的目标中间账号信息;
生成包括所述目标中间账号信息和目标中间账号密码的第二业务请求,将所述第二业务请求发送至第二服务端;所述目标中间账号密码包括本地存储的与所述目标中间账号信息匹配的中间账号密码;
所述第二业务请求用于指示所述第二服务端基于所述目标中间账号信息和所述中间账号密码进行访问权限认证,在通过访问权限认证时,确定所述目标中间账号信息所关联的目标区块链账号,生成包括所述目标区块链账号和目标私钥的第三业务请求,将所述第三业务请求发送至区块链网络;所述目标私钥包括所述第二服务端存储的与所述目标区块链账号匹配的私钥;
所述第三业务请求用于指示所述区块链网络基于所述目标区块链账号和所述目标私钥执行相应的业务逻辑。
一种基于区块链的业务处理方法,包括:
接收包括目标中间账号信息和目标中间账号密码的第二业务请求;所述目标中间账号信息由第一服务端基于第一业务请求中的目标用户账号信息与所述目标中间账号信息之间的关联关系确定;所述第一业务请求由用户终端发送至所述第一服务端;
基于所述目标中间账号信息和所述中间账号密码进行访问权限认证,在通过访问权限认证时,确定所述目标中间账号信息所关联的目标区块链账号;
生成包括所述目标区块链账号和目标私钥的第三业务请求,将所述第三业务请求发送至区块链网络;所述目标私钥包括本地存储的与所述目标区块链账号匹配的私钥;所述第三业务请求用于指示所述区块链网络基于所述目标区块链账号和所述目标私钥执行相应的业务逻辑。
一种基于区块链的业务处理装置,包括:
第一业务请求接收模块,用于接收包括目标用户账号信息的第一业务请求;所述第一业务请求由用户终端发送;
中间账号确定模块,用于确定所述目标用户账号信息所关联的目标中间账号信息;
第二业务请求处理模块,用于生成包括所述目标中间账号信息和目标中间账号密码的第二业务请求,将所述第二业务请求发送至第二服务端;所述目标中间账号密码包括本地存储的与所述目标中间账号信息匹配的中间账号密码;
所述第二业务请求用于指示所述第二服务端基于所述目标中间账号信息和所述中间账号密码进行访问权限认证,在通过访问权限认证时,确定所述目标中间账号信息所关联的目标区块链账号,生成包括所述目标区块链账号和目标私钥的第三业务请求,将所述第三业务请求发送至区块链网络;所述目标私钥包括所述第二服务端存储的与所述目标区块链账号匹配的私钥;
所述第三业务请求用于指示所述区块链网络基于所述目标区块链账号和所述目标私钥执行相应的业务逻辑。
一种基于区块链的业务处理装置,包括:
第二业务请求接收模块,用于接收包括目标中间账号信息和目标中间账号密码的第二业务请求;所述目标中间账号信息由第一服务端基于第一业务请求中的目标用户账号信息与所述目标中间账号信息之间的关联关系确定;所述第一业务请求由用户终端发送至所述第一服务端;
目标区块链地址确定模块,用于基于所述目标中间账号信息和所述中间账号密码进行访问权限认证,在通过访问权限认证时,确定所述目标中间账号信息所关联的目标区块链账号;
第三业务请求处理模块,用于生成包括所述目标区块链账号和目标私钥的第三业务请求,将所述第三业务请求发送至区块链网络;所述目标私钥包括本地存储的与所述目标区块链账号匹配的私钥;所述第三业务请求用于指示所述区块链网络基于所述目标区块链账号和所述目标私钥执行相应的业务逻辑。
一种基于区块链的业务处理系统,包括第一服务端和第二服务端;
所述第一服务端,用于接收包括目标用户账号信息的第一业务请求;所述第一业务请求由用户终端发送;确定所述目标用户账号信息所关联的目标中间账号信息;包括所述目标中间账号信息和目标中间账号密码的第二业务请求,将所述第二业务请求发送至第二服务端;所述目标中间账号密码包括所述第一服务端存储的与所述目标中间账号信息匹配的中间账号密码;
所述第二服务端,用于接收到所述第二业务请求时,基于所述目标中间账号信息和所述中间账号密码进行访问权限认证,在通过访问权限认证时,确定所述目标中间账号信息所关联的目标区块链账号;生成包括所述目标区块链账号和目标私钥的第三业务请求,将所述第三业务请求发送至区块链网络;所述目标私钥包括所述第二服务端存储的与所述目标区块链账号匹配的私钥;
所述第三业务请求用于指示所述区块链网络基于所述目标区块链账号和所述目标私钥执行相应的业务逻辑。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述方法的步骤。
上述基于区块链的业务处理方法、装置、系统、计算机可读存储介质和计算机设备,第一服务端接收用户终端发送的、且包括目标用户账号信息的第一业务请求,再确定目标用户账号信息所关联的目标中间账号信息,进而生成包括目标中间账号信息和目标中间账号密码的第二业务请求,将第二业务请求发送至第二服务端。相应地,第二服务端接收到第二业务请求后,基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号,再生成包括目标区块链账号和目标私钥的第三业务请求,将第三业务请求发送至区块链网络,以使区块链网络基于目标区块链账号和目标私钥执行相应的业务逻辑。如此,第一服务端基于目标用户账号信息确定与之关联的目标中间账号信息,第二服务端再基于目标中间账号信息确定与之关联的目标区块链账号,并得到预先记录的与目标区块链账号对应的私钥,用户无需自行保管区块链账号及私钥,降低了私钥丢失及泄露的几率。并且,由不直接与用户终端交互的第二服务端保管区块链账号及私钥,进一步提高了安全性。
附图说明
图1为一个实施例中基于区块链的业务处理方法的应用环境示意图;
图2为一个实施例中基于区块链的业务处理方法的流程示意图;
图3为一个实施例中基于区块链的业务处理方法的流程示意图;
图4为一个实施例中基于区块链的业务处理方法的流程示意图;
图5为一个实施例中基于区块链的业务处理系统的架构示意图;
图6为一个实施例中基于区块链的业务处理装置的结构框图;
图7为一个实施例中基于区块链的业务处理装置的结构框图;
图8为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本申请所使用的术语“第一”、“第二”等是用于对类似的对象作出命名上的区分,但这些对象本身不受这些术语限制。应当理解,在不脱离本申请的范围的情况下,这些术语在适当的情况下可以互换。例如,可将“第一业务请求”描述为“第二业务请求”,且类似地,将“第二业务请求”描述为“第一业务请求”。
此外,术语“包括”、“包含”、“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于已清楚地列出的步骤或单元,而是还可以包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,本申请所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本申请各实施例提供的基于区块链的业务处理方法,可以应用于如图1所示的应用环境。该应用环境可以涉及用户终端110、第一服务端120、第二服务端130以及区块链网络140。用户终端110、第一服务端120、第二服务端130、以及区块链网络140可以通过网络依次连接。
具体地,用户终端获取目标用户账号信息,再生成包括目标用户账号信息的第一业务请求,并将第一业务请求发送至第一服务端120。第一服务端120接收到第一业务请求后,确定目标用户账号信息所关联的目标中间账号信息,再获取预先记录的、与目标中间账号信息匹配的中间账号密码(以下称为目标中间账号信息),进而生成包括目标中间账号信息和目标中间账号密码的第二业务请求,并将第二业务请求发送至第二服务端130。第二服务端130接收到第二业务请求后,基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号,再获取预先记录的、与目标区块链账号匹配的私钥(以下称为目标私钥),进而生成包括目标区块链账号和目标私钥的第三业务请求,并将第三业务请求发送至区块链网络140。相应地,区块链网络140接收到第三业务请求后,基于目标区块链账号和目标私钥执行相应的业务逻辑。
其中,用户终端110可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理、穿戴式设备以及嵌入式设备等,但并不局限于此。第一服务端120和第二服务端130,均可以用独立的物理机或者多于一个的物理机组成的集群实现。区块链网络120可以用多于一个的物理机组成的集群来实现。物理机具体可以是服务器,但不局限于此。
在一个实施例中,如图2所示,提供了一种基于区块链的业务处理方法。以该方法应用于上述图1中的第一服务端120和第二服务端130为例进行说明。该方法可以包括如下步骤S202至S210。
S202,第一服务端接收包括目标用户账号信息的第一业务请求。
目标用户账号信息,可以是与第一业务请求对应的业务相关的用户账号(即目标用户账号)的标识,比如目标用户账号的用户名。用户账号是面向用户的账号,即用户终端可以直接使用的账号。
第一业务请求,可以用于触发第一服务端执行与相应业务相关的业务逻辑。具体地,第一业务请求可以包括目标用户账号信息,可以理解,第一业务请求还可以包括业务标识,业务标识用于表征与第一业务请求相应的业务的业务类型。业务类型可以基于实际需求设定,比如余额查询类型、转账类型等等。
此外,第一业务请求可以由用户终端发送至第一服务端,具体地,可以由用户终端响应于用户操作,获取目标用户账号信息及业务标识,再生成包括目标用户账号信息及业务标识的第一业务请求,进而将第一业务请求发送至第一服务端。
S204,第一服务端确定目标用户账号信息所关联的目标中间账号信息。
目标中间账号信息,可以是与目标用户账号信息相关联的中间账号(即目标中间账号)的标识,比如目标中间账号的账号ID(Identification,身份)。中间账号可以是不面向用户的账号,即不由用户终端直接使用的账号。
第一服务端预先记录了目标中间账号信息与目标用户账号信息之间的关联关系,第一服务端基于接收到的目标用户账号信息进行查找,即可确定与之关联的目标中间账号信息。
在一个实施例中,第一服务端创建目标用户账号时,可以将与之关联的目标中间账号信息写入目标用户账号的相应属性字段,以此记录目标中间账号信息与目标用户账号信息之间的关联关系。后续,第一服务端接收到目标用户账号信息时,基于目标用户账号信息对应的目标用户账号的相应属性字段,即可确定目标用户账号信息所关联的目标中间账号信息。
在另一个实施例中,第一服务端也可以维护第一账号关联关系,第一账号关联关系记录已创建用户账号信息与已创建中间账号信息之间的关联关系。后续,第一服务端接收到目标用户账号信息时,在第一账号关联关系中查找与目标用户账号信息对应的已创建用户账号信息,查找到的已创建用户账号信息所关联的已创建中间账号信息即为目标中间账号信息。亦即是说,目标中间账号信息包括与目标用户账号信息对应的已创建用户账号信息所关联的已创建中间账号信息。此外,第一服务端每创建一个用户账号,便根据该用户账号对应的用户账号信息以及与之关联的中间账号信息更新第一账号关联关系。
S206,第一服务端生成包括目标中间账号信息和目标中间账号密码的第二业务请求,将第二业务请求发送至第二服务端。
目标中间账号密码,可以是与目标中间账号信息匹配的中间账号密码。第一服务端可以预先记录目标中间账号密码、以及目标中间账号密码与目标中间账号信息之间的匹配关系。可以理解,中间账号信息与中间账号密码唯一匹配。
第二业务请求,与第一业务请求对应,可以用于触发第二服务端执行与业务标识对应的业务相关的业务逻辑。具体地,第二业务请求可以包括目标中间账号信息和目标中间账号密码,与第一业务请求类似,第二业务请求还可以包括业务标识。
在本实施例中,第一服务端确定目标中间账号信息后,即可查找预先记录的、与目标中间账号信息匹配的中间账号密码(即目标中间账号密码),进而生成包括目标中间账号信息、目标中间账号密码以及业务标识的第二业务请求,并将第二业务请求发送至第二服务端。
S208,第二服务端接收到第二业务请求后,基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号。
基于目标中间账号信息和中间账号密码进行访问权限认证,通过访问权限认证,表明具有得到与目标中间账号信息关联的区块链账号(即目标区块链账号)及该区块链账号对应的私钥(即目标私钥)的权限。反之,若未通过访问权限认证,表明不具得到目标区块链账号及目标私钥的权限。
在一个实施例中,第二服务端基于目标中间账号信息和中间账号密码进行访问权限认证,具体可以是第二服务端先确定预先记录的已创建中间账号信息中是否存在与目标中间账号信息对应的已创建中间账号信息,若不存在,则判定未通过访问权限认证,若存在,进一步判断目标中间用户密码与第二服务端预先记录的与目标中间账号信息相匹配的已创建中间账号密码是否一致,若一致,则判定通过访问权限认证,若不一致,则判定未通过访问权限认证。
第二服务端预先记录了目标中间账号信息与目标区块链账号之间的关联关系,在通过访问权限认证时,第二服务端基于目标中间账号信息进行查找,即可确定与之关联的目标区块链账号。此外,区块链账号(即区块链网络上的账号)可以用地址(address)表示。
在一个实施例中,第二服务端创建目标中间账号时,可以将与之关联的目标区块链账号写入目标中间账号的相应属性字段,从而记录目标区块链账号与目标中间账号信息之间的关联关系。后续,第二服务端接收到目标中间账号信息时,基于目标中间账号信息对应的目标中间账号的相应属性字段,即可确定目标中间账号信息所关联的目标区块链账号。
在另一个实施例中,第二服务端也可以维护第二账号关联关系,第二账号关联关系记录已创建中间账号信息与已创建区块链账号之间的关联关系。后续,第二服务端接收到目标中间账号信息时,在第二账号关联关系中查找与目标中间账号信息对应的已创建中间账号信息,查找到的已创建中间账号信息所关联的已创建区块链账号即为目标区块链账号。亦即是说,目标区块链账号包括与目标中间账号信息对应的已创建中间账号信息所关联的已创建区块链账号。此外,第二服务端每创建一个中间账号,便根据该中间账号对应的中间账号信息以及与之关联的区块链账号更新第二账号关联关系。
S210,第二服务端生成包括目标区块链账号和目标私钥的第三业务请求,将第三业务请求发送至区块链网络。
目标私钥,可以包括与目标区块链账号匹配的私钥。第二服务端可以预先记录目标私钥、以及目标区块链账号与目标私钥之间的匹配关系。可以理解,私钥与区块链账号唯一匹配。
第三业务请求,与第二业务请求对应,可以用于指示区块链网络基于目标区块链账号和目标私钥执行相应业务逻辑,即与业务标识对应的业务相关的业务逻辑。具体地,第三业务请求可以包括目标区块链账号和目标私钥。此外,区块链网络基于智能合约实现相应业务逻辑时,第三业务请求还可以包括目标智能合约地址和目标合约方法标识。目标智能合约地址和目标合约方法标识基于业务标识确定。
目标智能合约地址,是目标智能合约在区块链网络上的地址,目标智能合约是可以用于实现与业务标识对应的业务相关的业务逻辑的智能合约。
此外,目标智能合约可以包括多于一个的合约方法,各合约方法可以分别用于实现与不同业务相关的业务逻辑。目标合约方法标识是智能合约中的目标合约方法的标识,目标合约方法是智能合约中用于实现与业务标识对应的业务相关的业务逻辑的合约方法。具体地,目标合约方法标识可以采用ABI(Application Binary Interface,编码格式)实现,ABI可以是调用智能合约函数以及合约之间函数调用的消息编码格式定义,也可以理解为智能合约函数调用的接口说明。
上述基于区块链的业务处理方法,第一服务端接收用户终端发送的、且包括目标用户账号信息的第一业务请求,再确定目标用户账号信息所关联的目标中间账号信息,进而生成包括目标中间账号信息和目标中间账号密码的第二业务请求,将第二业务请求发送至第二服务端。相应地,第二服务端接收到第二业务请求后,基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号,再生成包括目标区块链账号和目标私钥的第三业务请求,将第三业务请求发送至区块链网络,以使区块链网络基于目标区块链账号和目标私钥执行相应的业务逻辑。如此,第一服务端基于目标用户账号信息确定与之关联的目标中间账号信息,第二服务端再基于目标中间账号信息确定与之关联的目标区块链账号,并得到预先记录的与目标区块链账号对应的私钥,对于用户而言,是凭用户账号信息和用户账号密码进行相应操作,无需自行保管区块链账号及私钥,降低了私钥丢失及泄露的几率。并且,由不直接与用户终端交互的第二服务端保管区块链账号及私钥,进一步提高了安全性。
在一个实施例中,第一业务请求属于余额查询请求。在此情况下,第三业务请求还包括第一智能合约地址;第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第一智能合约地址对应的第一智能合约,得到对应于目标区块链账号的余额查询结果,将余额查询结果返回至第二服务端。并且,基于区块链的业务处理方法,还可以包括如下步骤:第二服务端将接收到的余额查询结果发送至第一服务端;第一服务端将接收到余额查询结果,发送至用户终端。
第一业务请求属于余额查询请求,即第一业务请求包括的业务标识所表征的业务类型为余额查询类型,亦即是说,区块链网络需要执行的业务逻辑是与余额查询业务相关的业务逻辑。
在此情况下,目标用户账号信息可以是待查用户账号信息,即可以是需要查询余额的用户账号的标识。相应地,目标中间账号信息可以是待查中间账号信息,即可以是与待查用户账号信息相关联的中间账号的标识,目标中间账号密码可以是与待查中间账号信息匹配的中间账号密码;目标区块链账号,可以是待查区块链账号,即可以是与待查中间账号信息相关联的区块链账号;目标私钥可以是待查私钥,即可以是与待查区块链账号匹配的私钥。
具体地,用户终端基于用于表征业务类型为余额查询类型的业务标识(以下称为余额查询业务标识)和待查用户账号信息生成第一业务请求,并将第一业务请求发送至第一服务端。
第一服务端在基于待查用户账号信息和与待查用户账号信息匹配的待查用户账号密码,判定通过登录验证的情况下(即待查用户账号已登录第一服务端的情况下),接收到第一业务请求后,确定待查用户账号信息所关联的待查中间账号信息,并得到第一服务端预先记录的、与待查中间账号信息匹配的待查中间账号密码,再生成包括待查中间账号信息、待查中间账号密码以及余额查询业务标识的第二业务请求,并将第二业务请求发送至第二服务端。
第二服务端接收到第二业务请求后,基于待查中间账号信息和待查中间账号密码进行访问权限认证,在通过访问权限认证时,确定与待查中间账号信息关联的待查区块链账号,得到第二服务端预先记录的、与待查区块链账号匹配的待查私钥。并且,基于余额查询业务标识确定用于实现与余额查询业务相关的业务逻辑的智能合约(即第一智能合约)的地址(即第一智能合约地址)、以及第一智能合约中用于实现与余额查询业务相关的业务逻辑的合约方法(以下称为第一合约方法)的标识(以下称为第一合约方法标识)。进而,生成包括待查区块链账号、待查私钥、第一智能合约地址以及第一合约方法标识的第三业务请求,并将第三业务请求发送至区块链网络。
区块链网络接收到第三业务请求后,基于待查区块链账号和待查私钥进行合法性认证,在通过合法性认证时,根据第一智能合约地址和第一合约方法标识,调用第一智能合约中的第一合约方法,从而得到对应于待查区块链账号的余额查询结果,再将余额查询结果返回至第二服务端。
第二服务端接收到余额查询结果后,将余额查询结果发送至第一服务端。第一服务端接收到余额查询结果后,将余额查询结果发送至用户终端。进而,用户终端可以输出接收到的余额查询结果,以供用户了解目标用户账号信息所对应目标用户账号的余额。具体地,用户终端输出接收到的余额查询结果,具体可以是通过显示界面展示余额查询结果或语音播报余额查询结果等等。
在一个实施例中,第一业务请求属于转账请求。据此,第一业务请求还包括转入方用户账号信息和转账数额。在此情况下,基于区块链的业务处理方法还可以包括如下步骤:第一服务端确定转入方用户账号信息所关联的转入方中间账号信息;第二服务端确定转入方中间账号信息所关联的转入方区块链账号。并且,第三业务请求还包括转入方区块链账号和第二智能合约地址;第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第二智能合约地址对应的第二智能合约,将转账数额从目标区块链账号转移至转入方区块链账号。
第一业务请求属于转账请求,即第一业务请求包括的业务标识所表征的业务类型为转账类型,亦即是说,区块链网络需要执行的业务逻辑是与转账业务相关的业务逻辑。
在此情况下,目标用户账号信息可以是转出方用户账号信息,即可以是需要转出相应数额的用户账号的标识。相应地,目标中间账号信息可以是转出方中间账号信息,即可以是与转出方用户账号信息相关联的中间账号的标识,目标中间账号密码可以是与转出方中间账号信息匹配的中间账号密码;目标区块链账号,可以是转出方区块链账号,即可以是与转出方中间账号信息相关联的区块链账号;目标私钥可以是转出方私钥,即可以是与转出方区块链账号匹配的私钥。并且,除转出方用户账号信息和用于表征业务类型为转账类型的业务标识(以下称为转账业务标识)之外,第一业务请求还可以包括转入方用户账号信息和转账数额。转入方用户账号信息,可以是需要转入相应数额的用户账号的标识。转账数额,是转账过程中需要转移的数额。
具体地,用户终端基于转账业务标识、转出方用户账号信息、转入方用户账号信息以及转账数额生成第一业务请求,并将第一业务请求发送至第一服务端。
第一服务端在基于转出方用户账号信息和与转出方用户账号信息匹配的转出方用户账号密码,判定通过登录验证的情况下(即转出方用户账号已登录第一服务端的情况下),接收到第一业务请求后,确定转出方用户账号信息所关联的转出方中间账号信息,再得到第一服务端预先记录的、与转出方中间账号信息匹配的转出方中间账号密码,并确定转入方用户账号信息所关联的转入方中间账号信息,进而生成包括转出方中间账号信息、转出方中间账号密码、转入方中间账号信息、转账数额以及转账业务标识的第二业务请求,并将第二业务请求发送至第二服务端。
第二服务端接收到第二业务请求后,基于转出方中间账号信息和转出方中间账号密码进行访问权限认证,在通过访问权限认证时,确定与转出方中间账号信息关联的转出方区块链账号,得到第二服务端预先记录的、与转出方区块链账号匹配的转出方私钥,并确定与转入方中间账号信息关联的转入方区块链账号,以及基于转账业务标识确定用于实现与转账业务相关的业务逻辑的智能合约(即第二智能合约)的地址(即第二智能合约地址)、以及第二智能合约中用于实现与转账业务相关的业务逻辑的合约方法(以下称为第二合约方法)的标识(以下称为第二合约方法标识),进而生成包括转出方区块链账号、转出方私钥、转入方区块链账号、第二智能合约地址以及第二合约方法标识的第三业务请求,并将第三业务请求发送至区块链网络。
区块链网络接收到第三业务请求后,基于转出方区块链账号和转出方私钥进行合法性认证,在通过合法性认证时,根据第二智能合约地址和第二合约方法标识,调用第二智能合约中的第二合约方法,将转账数额从转出方区块链账号转移至转入方区块链账号。
此外,在将转账数额从转出方区块链账号转移至转入方区块链账号之后,区块链网络还可以向第二服务端发送转账成功通知,第二服务端将转账成功通知发送给第一服务端,第一服务端将转账成功通知发送给用户终端,以供用户了解转账成功状态。可以理解,在将转账数额从转出方区块链账号转移至转入方区块链账号的操作未能完成时,区块链网络还可以向第二服务端发送转账失败通知,第二服务端将转账失败通知发送给第一服务端,第一服务端将转账失败通知发送给用户终端,以供用户了解转账失败状态。
在一个实施例中,在第一服务端接收包括目标用户账号信息的第一业务请求的步骤之前,还可以包括如下步骤:第一服务端响应于接收到包含目标用户账号信息和目标用户账号密码的第一账号创建请求,向第二服务端发送第二账号创建请求;目标用户账号密码包括与目标用户账号信息对应的用户账号密码;第二服务端响应于接收到第二账号创建请求,向区块链网络发送第三账号创建请求;第三账号创建请求用于指示区块链网络创建目标区块链账号及目标私钥,并将目标区块链账号及目标私钥发送至第二服务端;第二服务端存储目标区块链账号及目标私钥,创建目标中间账号信息和目标中间账号密码,建立目标中间账号信息和目标中间账号密码之间的匹配关系,并建立目标中间账号信息与目标区块链账号之间的关联关系,再将目标中间账号信息和目标中间账号密码发送至第一服务端;第一服务端存储目标中间账号信息和目标中间账号密码,并基于目标用户账号信息及目标用户账号密码进行账号创建,建立目标用户账号信息与目标中间账号信息之间的关联关系。
可以理解,在使用目标用户账号信息进行业务操作之前,需要先创建目标用户账号信息所对应的目标用户账号。
具体地,用户终端可以响应于用户输入操作,得到目标用户账号信息和与目标用户账号信息对应的用户账号密码(即目标用户账号密码),再生成包括目标用户账号信息、目标用户账号密码以及账号创建命令标识的第一账号创建请求,并将第一账号创建请求发送至第一服务端。
第一服务端接收到第一账号创建请求后,向第二服务端发送包括账号创建命令标识的第二账号创建请求。
第二服务端接收到第二账号创建请求后,基于账号创建命令标识确定用于实现与账号创建业务相关的业务逻辑的智能合约(以下称为第三智能合约)的地址(以下称为第三智能合约地址),以及第三智能合约中用于实现与账号创建业务相关的业务逻辑的合约方法(以下称为第三合约方法)的标识(以下称为第三合约方法标识),并生成包括第三智能合约地址和第三合约方法标识的第三账号创建请求,再向区块链网络发送第三账号创建请求。
区块链网络接收到第三账号创建请求后,根据第三智能合约地址和第三合约方法标识,调用第三智能合约中的第三合约方法,从而创建目标区块链账号及目标私钥。进而,区块链网络将创建的目标区块链账号及目标私钥发送至第二服务端。
第二服务端接收到目标区块链账号及目标私钥后,存储目标区块链账号及目标私钥,并且创建目标中间账号信息和目标中间账号密码,建立目标中间账号信息和目标中间账号密码之间的匹配关系,并建立目标中间账号信息与目标区块链账号之间的关联关系,再将目标中间账号信息和目标中间账号密码发送至第一服务端。
第一服务端存储目标中间账号信息和目标中间账号密码,并基于目标用户账号信息及目标用户账号密码进行账号创建,以及建立目标用户账号信息与目标中间账号信息之间的关联关系,以此完成账号创建。
在一个实施例中,基于区块链的业务处理方法,还可以包括如下步骤:第一服务端响应于接收到包含目标用户账号信息的第一密码重置请求,确定目标用户账号信息所关联的目标中间账号信息;第一服务端生成包含目标中间账号信息和目标中间账号密码的第二密码重置请求,将第二密码重置请求发送至第二服务端;第二服务端接收到第二密码重置请求时,基于目标中间账号信息和目标中间账号密码进行密码重置验证,在通过密码重置验证后,获取新中间账号密码,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码;第二服务端将新中间账号密码发送至第一服务端;第一服务端接收到新中间账号密码后,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,并获取新用户账号密码,将新用户账号密码确定为与目标用户账号对应的用户账号密码。
在需要对目标用户账号信息所匹配的目标用户账号密码进行重置时,用户终端生成包括目标用户账号信息和密码重置命令标识的第一密码重置请求,并将第一密码重置请求发送至第一服务端。
第一服务端接收到第一密码重置请求后,向目标用户账号信息绑定的通讯渠道发送校验信息(比如向绑定手机号码或绑定邮箱发送校验信息),再根据校验信息进行身份验证,在通过身份认证后,确定目标用户账号信息所关联的目标中间账号信息,再得到预先记录的、与目标中间账号信息匹配的目标中间账号密码,进而生成包括目标中间账号信息、目标中间账号密码以及密码重置命令标识的第二密码重置请求,并将第二密码重置请求发送至第二服务端。
第二服务端接收到第二密码重置请求后,基于目标中间账号信息和目标中间账号密码进行密码重置验证,在通过密码重置验证后,获取新中间账号密码,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,再将新中间账号密码发送至第一服务端。其中,第二服务端基于目标中间账号信息和目标中间账号密码进行密码重置验证,具体可以是第二服务端先确定预先记录的已创建中间账号信息中是否存在与目标中间账号信息对应的已创建中间账号信息,若不存在,则判定未通过密码重置认证,若存在,进一步判断目标中间用户密码与第二服务端预先记录的与目标中间账号信息相匹配的已创建中间账号密码是否一致,若一致,则判定通过密码重置认证,若不一致,则判定未通过密码重置认证。
第一服务端接收到新中间账号密码后,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,并获取新用户账号密码,将新用户账号密码确定为与目标用户账号对应的用户账号密码。其中,第一服务端将新用户账号密码确定为与目标用户账号对应的用户账号密码,具体可以是第一服务端存储新用户账号密码,并删除原来存储的目标用户账号密码,以及将目标用户账号信息与原来存储的目标用户账号密码之间的匹配关系,更新为目标用户账号信息与新目标用户账号密码之间的匹配关系。
此外,第一服务端和第二服务端将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,具体可以是第一服务端和第二服务端存储新中间账号密码,并删除原来存储的目标中间账号密码,以及将目标中间账号信息与原来存储的目标中间账号密码之间的匹配关系,更新为目标中间账号信息与新目标中间账号密码之间的匹配关系。
需要说明的是,传统方式中,需要用户自行保管私钥,私钥丢失后不可重置。但在本实施例中,支持用户重置目标用户账号信息匹配的用户账号密码,提高了使用便利性。
在一个实施例中,如图3所示,提供了一种基于区块链的业务处理方法。以该方法应用于上述图1中的第一服务端120为例进行说明。该方法可以包括如下步骤S302至S306。
S302,接收包括目标用户账号信息的第一业务请求;第一业务请求由用户终端发送。
S304,确定目标用户账号信息所关联的目标中间账号信息。
S306,生成包括目标中间账号信息和目标中间账号密码的第二业务请求,将第二业务请求发送至第二服务端;目标中间账号密码包括本地存储的与目标中间账号信息匹配的中间账号密码。
其中,第二业务请求用于指示第二服务端基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号,生成包括目标区块链账号和目标私钥的第三业务请求,将第三业务请求发送至区块链网络;目标私钥包括第二服务端存储的与目标区块链账号匹配的私钥;第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥执行相应的业务逻辑。
上述基于区块链的业务处理方法,第一服务端接收用户终端发送的、且包括目标用户账号信息的第一业务请求,再确定目标用户账号信息所关联的目标中间账号信息,进而生成包括目标中间账号信息和目标中间账号密码的第二业务请求,将第二业务请求发送至第二服务端。相应地,第二服务端接收到第二业务请求后,基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号,再生成包括目标区块链账号和目标私钥的第三业务请求,将第三业务请求发送至区块链网络,以使区块链网络基于目标区块链账号和目标私钥执行相应的业务逻辑。如此,第一服务端基于目标用户账号信息确定与之关联的目标中间账号信息,第二服务端再基于目标中间账号信息确定与之关联的目标区块链账号,并得到预先记录的与目标区块链账号对应的私钥,用户无需自行保管区块链账号及私钥,降低了私钥丢失及泄露的几率。并且,由不直接与用户终端交互的第二服务端保管区块链账号及私钥,进一步提高了安全性。
在一个实施例中,第一业务请求属于余额查询请求。据此,第三业务请求还包括第一智能合约地址;第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第一智能合约地址对应的第一智能合约,得到对应于目标区块链账号的余额查询结果,将余额查询结果返回至第二服务端。基于区块链的业务处理方法,还可以包括如下步骤:接收第二服务端发送的余额查询结果,并将余额查询结果发送至用户终端。
在一个实施例中,第一业务请求属于转账请求;第一业务请求还包括转入方用户账号信息和转账数额。基于区块链的业务处理方法,还可以包括如下步骤:确定转入方用户账号信息所关联的转入方中间账号信息。并且,第二业务请求还包括转入方中间账号信息,第二业务请求用于指示第二服务端基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号,并确定转入方中间账号信息所关联的转入方区块链账号,生成包括目标区块链账号、目标私钥、转入方区块链账号以及第二智能合约地址的第三业务请求。第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第二智能合约地址对应的第二智能合约,将转账数额从目标区块链账号转移至转入方区块链账号。
在一个实施例中,在接收包括目标用户账号信息的第一业务请求的步骤之前,还可以包括如下步骤:响应于接收到包含目标用户账号信息和目标用户账号密码的第一账号创建请求,向第二服务端发送第二账号创建请求;目标用户账号密码包括与目标用户账号信息对应的用户账号密码;第二账号创建请求用于指示第二服务端向区块链网络发送第三账号创建请求;第三账号创建请求用于指示区块链网络创建目标区块链账号及目标私钥,并将目标区块链账号及目标私钥发送至第二服务端;接收到第二服务端在存储目标区块链账号及目标私钥,创建目标中间账号信息和目标中间账号密码,建立目标中间账号信息和目标中间账号密码之间的匹配关系,并建立目标中间账号信息与目标区块链账号之间的关联关系后发送的目标中间账号信息和目标中间账号密码时,存储目标中间账号信息和目标中间账号密码,并基于目标用户账号信息及目标用户账号密码进行账号创建,建立目标用户账号信息与目标中间账号信息之间的关联关系。
在一个实施例中,基于区块链的业务处理方法,还可以包括如下步骤:响应于接收到包含目标用户账号信息的第一密码重置请求,确定目标用户账号信息所关联的目标中间账号信息;生成包含目标中间账号信息和目标中间账号密码的第二密码重置请求,将第二密码重置请求发送至第二服务端;第二密码重置请求用于指示第二服务端基于目标中间账号信息和目标中间账号密码进行密码重置验证,在通过密码重置验证后,获取新中间账号密码,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,并返回新中间账号密码;接收到新中间账号密码后,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,并获取新用户账号密码,将新用户账号密码确定为与目标用户账号对应的用户账号密码。
需要说明的是,关于第一服务端执行的步骤流程中涉及的各技术特征的具体限定,可以与前文中对相应技术特征的限定相同,此处不加赘述。
在一个实施例中,如图4所示,提供了一种基于区块链的业务处理方法。以该方法应用于上述图1中的第二服务端130为例进行说明。该方法可以包括如下步骤S402至S406。
S402,接收包括目标中间账号信息和目标中间账号密码的第二业务请求;目标中间账号信息由第一服务端基于第一业务请求中的目标用户账号信息与目标中间账号信息之间的关联关系确定;第一业务请求由用户终端发送至第一服务端;
S404,基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号;
S406,生成包括目标区块链账号和目标私钥的第三业务请求,将第三业务请求发送至区块链网络;目标私钥包括本地存储的与目标区块链账号匹配的私钥;第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥执行相应的业务逻辑。
上述基于区块链的业务处理方法,第一服务端接收用户终端发送的、且包括目标用户账号信息的第一业务请求,再确定目标用户账号信息所关联的目标中间账号信息,进而生成包括目标中间账号信息和目标中间账号密码的第二业务请求,将第二业务请求发送至第二服务端。相应地,第二服务端接收到第二业务请求后,基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号,再生成包括目标区块链账号和目标私钥的第三业务请求,将第三业务请求发送至区块链网络,以使区块链网络基于目标区块链账号和目标私钥执行相应的业务逻辑。如此,第一服务端基于目标用户账号信息确定与之关联的目标中间账号信息,第二服务端再基于目标中间账号信息确定与之关联的目标区块链账号,并得到预先记录的与目标区块链账号对应的私钥,用户无需自行保管区块链账号及私钥,降低了私钥丢失及泄露的几率。并且,由不直接与用户终端交互的第二服务端保管区块链账号及私钥,进一步提高了安全性。
在一个实施例中,第一业务请求属于余额查询请求。在此情况下,第三业务请求还包括第一智能合约地址;第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第一智能合约地址对应的第一智能合约,得到对应于目标区块链账号的余额查询结果,将余额查询结果返回至第二服务端。基于区块链的业务处理方法,还可以包括如下步骤:接收区块链网络返回的余额查询结果,并将余额查询结果发送至第一服务端。
在一个实施例中,第一业务请求属于转账请求,第一业务请求还包括转入方用户账号信息和转账数额。据此,第二业务请求还包括转入方中间账号信息。并且,基于区块链的业务处理方法,还可以包括如下步骤:确定转入方中间账号信息所关联的转入方区块链账号。第三业务请求还包括转入方区块链账号和第二智能合约地址,第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第二智能合约地址对应的第二智能合约,将转账数额从目标区块链账号转移至转入方区块链账号。
在一个实施例中,基于区块链的业务处理方法,还可以包括如下步骤:响应于接收到第二账号创建请求,向区块链网络发送第三账号创建请求;第二账号创建请求由第一服务端在接收到包含目标用户账号信息和目标用户账号密码的第一账号创建请求后发送;第三账号创建请求用于指示区块链网络创建并返回目标区块链账号及目标私钥;存储区块链网络返回的目标区块链账号及目标私钥,创建目标中间账号信息和目标中间账号密码,建立目标中间账号信息和目标中间账号密码之间的匹配关系,并建立目标中间账号信息与目标区块链账号之间的关联关系,再将目标中间账号信息和目标中间账号密码发送至第一服务端;目标中间账号信息和目标中间账号密码用于触发第一服务端存储目标中间账号信息和目标中间账号密码,并基于目标用户账号信息及目标用户账号密码进行账号创建,建立目标用户账号信息与目标中间账号信息之间的关联关系。
在一个实施例中,基于区块链的业务处理方法,还可以包括如下步骤:接收到包含目标中间账号信息和目标中间账号密码的第二密码重置请求时,基于目标中间账号信息和目标中间账号密码进行密码重置验证,在通过密码重置验证后,获取新中间账号密码,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码;第二密码重置请求由第一服务端响应于接收到包含目标用户账号信息的第一密码重置请求,确定目标用户账号信息所关联的目标中间账号信息后生成;将新中间账号密码发送至第一服务端;新中间账号密码用于触发第一服务端将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,并获取新用户账号密码,将新用户账号密码确定为与目标用户账号对应的用户账号密码。
需要说明的是,关于第二服务端执行的步骤流程中涉及的各技术特征的具体限定,可以与前文中对相应技术特征的限定相同,此处不加赘述。
在合理条件下应当理解,虽然前文各实施例涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种基于区块链的业务处理系统500。该系统可以包括第一服务端502和第二服务端504。
第一服务端502,用于接收包括目标用户账号信息的第一业务请求;第一业务请求由用户终端发送;确定目标用户账号信息所关联的目标中间账号信息;生成包括目标中间账号信息和目标中间账号密码的第二业务请求,将第二业务请求发送至第二服务端;目标中间账号密码包括第一服务端存储的与目标中间账号信息匹配的中间账号密码。
第二服务端504,用于在接收到第二业务请求后,基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号;生成包括目标区块链账号和目标私钥的第三业务请求,将第三业务请求发送至区块链网络;目标私钥包括第二服务端存储的与目标区块链账号匹配的私钥。
第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥执行相应的业务逻辑。
上述基于区块链的业务处理系统500,第一服务端接收用户终端发送的、且包括目标用户账号信息的第一业务请求,再确定目标用户账号信息所关联的目标中间账号信息,进而生成包括目标中间账号信息和目标中间账号密码的第二业务请求,将第二业务请求发送至第二服务端。相应地,第二服务端接收到第二业务请求后,基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号,再生成包括目标区块链账号和目标私钥的第三业务请求,将第三业务请求发送至区块链网络,以使区块链网络基于目标区块链账号和目标私钥执行相应的业务逻辑。如此,第一服务端基于目标用户账号信息确定与之关联的目标中间账号信息,第二服务端再基于目标中间账号信息确定与之关联的目标区块链账号,并得到预先记录的与目标区块链账号对应的私钥,用户无需自行保管区块链账号及私钥,降低了私钥丢失及泄露的几率。并且,由不直接与用户终端交互的第二服务端保管区块链账号及私钥,进一步提高了安全性。
在一个实施例中,第一业务请求属于余额查询请求。据此,第三业务请求还包括第一智能合约地址;第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第一智能合约地址对应的第一智能合约,得到对应于目标区块链账号的余额查询结果,将余额查询结果返回至第二服务端。并且,第二服务端504,还用于将接收到的余额查询结果发送至第一服务端;第一服务端502,还用于将接收到余额查询结果,发送至用户终端。
在一个实施例中,第一业务请求属于转账请求;第一业务请求还包括转入方用户账号信息和转账数额。据此,第一服务端502,还用于确定转入方用户账号信息所关联的转入方中间账号信息;第二业务请求还包括转入方中间账号信息。第二服务端504,还用于确定转入方中间账号信息所关联的转入方区块链账号;第三业务请求还包括转入方区块链账号和第二智能合约地址。第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第二智能合约地址对应的第二智能合约,将转账数额从目标区块链账号转移至转入方区块链账号。
在一个实施例中,第一服务端502,还用于响应于接收到包含目标用户账号信息和目标用户账号密码的第一账号创建请求,向第二服务端发送第二账号创建请求;目标用户账号密码包括与目标用户账号信息对应的用户账号密码;
第二服务端504,还用于响应于接收到第二账号创建请求,向区块链网络发送第三账号创建请求;第三账号创建请求用于指示区块链网络创建目标区块链账号及目标私钥,并将目标区块链账号及目标私钥发送至第二服务端;存储目标区块链账号及目标私钥,创建目标中间账号信息和目标中间账号密码,建立目标中间账号信息和目标中间账号密码之间的匹配关系,并建立目标中间账号信息与目标区块链账号之间的关联关系,再将目标中间账号信息和目标中间账号密码发送至第一服务端;
第一服务端502,还用于存储目标中间账号信息和目标中间账号密码,并基于目标用户账号信息及目标用户账号密码进行账号创建,建立目标用户账号信息与目标中间账号信息之间的关联关系。
在一个实施例中,第一服务端502,还用于响应于接收到包含目标用户账号信息的第一密码重置请求,确定目标用户账号信息所关联的目标中间账号信息;生成包括目标中间账号信息和目标中间账号密码的第二密码重置请求,将第二密码重置请求发送至第二服务端。第二服务端504,还用于在接收到第二密码重置请求时,基于目标中间账号信息和目标中间账号密码进行密码重置验证,在通过密码重置验证后,获取新中间账号密码,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码;将新中间账号密码发送至第一服务端。第一服务端502,还用于在接收到新中间账号密码后,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,并获取新用户账号密码,将新用户账号密码确定为与目标用户账号对应的用户账号密码。
需要说明的是,关于基于区块链的业务处理系统涉及的各技术特征的具体限定,可以与前文中对相应技术特征的限定相同,此处不加赘述。
在一个实施例中,如图8所示,提供了一种基于区块链的业务处理装置600。以该装置对应于图1中的第一服务端120为例进行说明。该装置可以包括如下模块602至606。
第一业务请求接收模块602,用于接收包括目标用户账号信息的第一业务请求;所述第一业务请求由用户终端发送。
中间账号确定模块604,用于确定所述目标用户账号信息所关联的目标中间账号信息。
第二业务请求处理模块606,用于生成包括所述目标中间账号信息和目标中间账号密码的第二业务请求,将所述第二业务请求发送至第二服务端;所述目标中间账号密码包括本地存储的与所述目标中间账号信息匹配的中间账号密码。
其中,所述第二业务请求用于指示所述第二服务端基于所述目标中间账号信息和所述中间账号密码进行访问权限认证,在通过访问权限认证时,确定所述目标中间账号信息所关联的目标区块链账号,生成包括所述目标区块链账号和目标私钥的第三业务请求,将所述第三业务请求发送至区块链网络;所述目标私钥包括所述第二服务端存储的与所述目标区块链账号匹配的私钥;所述第三业务请求用于指示所述区块链网络基于所述目标区块链账号和所述目标私钥执行相应的业务逻辑。
在一个实施例中,第一业务请求属于余额查询请求。据此,第三业务请求还包括第一智能合约地址;第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第一智能合约地址对应的第一智能合约,得到对应于目标区块链账号的余额查询结果,将余额查询结果返回至第二服务端。基于区块链的业务处理装置600,还可以包括如下模块:第一余额查询结果处理模块,接收第二服务端发送的余额查询结果,并将余额查询结果发送至用户终端。
在一个实施例中,第一业务请求属于转账请求;第一业务请求还包括转入方用户账号信息和转账数额。基于区块链的业务处理装置600,还可以包括如下模块:转入方中间账号信息确定模块,用于确定转入方用户账号信息所关联的转入方中间账号信息。并且,第二业务请求还包括转入方中间账号信息,第二业务请求用于指示第二服务端基于目标中间账号信息和中间账号密码进行访问权限认证,在通过访问权限认证时,确定目标中间账号信息所关联的目标区块链账号,并确定转入方中间账号信息所关联的转入方区块链账号,生成包括目标区块链账号、目标私钥、转入方区块链账号以及第二智能合约地址的第三业务请求。第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第二智能合约地址对应的第二智能合约,将转账数额从目标区块链账号转移至转入方区块链账号。
在一个实施例中,基于区块链的业务处理装置600,还可以包括如下模块:第二账号创建请求发送模块,用于响应于接收到包含目标用户账号信息和目标用户账号密码的第一账号创建请求,向第二服务端发送第二账号创建请求;目标用户账号密码包括与目标用户账号信息对应的用户账号密码;第二账号创建请求用于指示第二服务端向区块链网络发送第三账号创建请求;第三账号创建请求用于指示区块链网络创建目标区块链账号及目标私钥,并将目标区块链账号及目标私钥发送至第二服务端;第一账号创建模块,用于接收到第二服务端在存储目标区块链账号及目标私钥,创建目标中间账号信息和目标中间账号密码,建立目标中间账号信息和目标中间账号密码之间的匹配关系,并建立目标中间账号信息与目标区块链账号之间的关联关系后发送的目标中间账号信息和目标中间账号密码时,存储目标中间账号信息和目标中间账号密码,并基于目标用户账号信息及目标用户账号密码进行账号创建,建立目标用户账号信息与目标中间账号信息之间的关联关系。
在一个实施例中,基于区块链的业务处理装置600,还可以包括如下模块:目标中间账号信息确定模块,用于响应于接收到包含目标用户账号信息的第一密码重置请求,确定目标用户账号信息所关联的目标中间账号信息;第二密码重置请求处理模块,用于生成包含目标中间账号信息和目标中间账号密码的第二密码重置请求,将第二密码重置请求发送至第二服务端;第二密码重置请求用于指示第二服务端基于目标中间账号信息和目标中间账号密码进行密码重置验证,在通过密码重置验证后,获取新中间账号密码,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,并返回新中间账号密码;第一密码重置模块,用于接收到新中间账号密码后,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,并获取新用户账号密码,将新用户账号密码确定为与目标用户账号对应的用户账号密码。
需要说明的是,关于基于区块链的业务处理装置600的具体限定,可以参见上文中对于基于区块链的业务处理方法的限定,在此不再赘述。上述基于区块链的业务处理装置600中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图7所示,提供了一种基于区块链的业务处理装置700。以该装置对应于图1中的第二服务端130为例进行说明。该装置可以包括如下模块702至706。
第二业务请求接收模块702,用于接收包括目标中间账号信息和目标中间账号密码的第二业务请求;所述目标中间账号信息由第一服务端基于第一业务请求中的目标用户账号信息与所述目标中间账号信息之间的关联关系确定;所述第一业务请求由用户终端发送至所述第一服务端。
目标区块链地址确定模块704,用于基于所述目标中间账号信息和所述中间账号密码进行访问权限认证,在通过访问权限认证时,确定所述目标中间账号信息所关联的目标区块链账号。
第三业务请求处理模块706,用于生成包括所述目标区块链账号和目标私钥的第三业务请求,将所述第三业务请求发送至区块链网络;所述目标私钥包括本地存储的与所述目标区块链账号匹配的私钥;所述第三业务请求用于指示所述区块链网络基于所述目标区块链账号和所述目标私钥执行相应的业务逻辑。
在一个实施例中,第一业务请求属于余额查询请求。在此情况下,第三业务请求还包括第一智能合约地址;第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第一智能合约地址对应的第一智能合约,得到对应于目标区块链账号的余额查询结果,将余额查询结果返回至第二服务端。基于区块链的业务处理装置700,还可以包括如下模块:第二余额查询结果处理模块,用于接收区块链网络返回的余额查询结果,并将余额查询结果发送至第一服务端。
在一个实施例中,第一业务请求属于转账请求,第一业务请求还包括转入方用户账号信息和转账数额。据此,第二业务请求还包括转入方中间账号信息。并且,基于区块链的业务处理装置700,还可以包括如下模块:转入方区块链账号确定模块,用于确定转入方中间账号信息所关联的转入方区块链账号。第三业务请求还包括转入方区块链账号和第二智能合约地址,第三业务请求用于指示区块链网络基于目标区块链账号和目标私钥进行合法性认证,并在通过合法性认证时,调用第二智能合约地址对应的第二智能合约,将转账数额从目标区块链账号转移至转入方区块链账号。
在一个实施例中,基于区块链的业务处理装置700,还可以包括如下模块:第三账号创建请求发送模块,用于响应于接收到第二账号创建请求,向区块链网络发送第三账号创建请求;第二账号创建请求由第一服务端在接收到包含目标用户账号信息和目标用户账号密码的第一账号创建请求后发送;第三账号创建请求用于指示区块链网络创建并返回目标区块链账号及目标私钥;第二账号创建模块,用于存储区块链网络返回的目标区块链账号及目标私钥,创建目标中间账号信息和目标中间账号密码,建立目标中间账号信息和目标中间账号密码之间的匹配关系,并建立目标中间账号信息与目标区块链账号之间的关联关系,再将目标中间账号信息和目标中间账号密码发送至第一服务端;目标中间账号信息和目标中间账号密码用于触发第一服务端存储目标中间账号信息和目标中间账号密码,并基于目标用户账号信息及目标用户账号密码进行账号创建,建立目标用户账号信息与目标中间账号信息之间的关联关系。
在一个实施例中,基于区块链的业务处理装置700,还可以包括如下模块:第二密码重置模块,用于接收到包含目标中间账号信息和目标中间账号密码的第二密码重置请求时,基于目标中间账号信息和目标中间账号密码进行密码重置验证,在通过密码重置验证后,获取新中间账号密码,将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码;第二密码重置请求由第一服务端响应于接收到包含目标用户账号信息的第一密码重置请求,确定目标用户账号信息所关联的目标中间账号信息后生成;新中间账号密码发送模块,用于将新中间账号密码发送至第一服务端;新中间账号密码用于触发第一服务端将新中间账号密码确定为与目标中间账号信息匹配的中间账号密码,并获取新用户账号密码,将新用户账号密码确定为与目标用户账号对应的用户账号密码。
需要说明的是,关于基于区块链的业务处理装置700的具体限定,可以参见上文中对于基于区块链的业务处理方法的限定,在此不再赘述。上述基于区块链的业务处理装置700中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请任一实施例提供的基于区块链的业务处理方法的步骤。
具体地,该计算机设备具体可以是图1中的第一服务端120中的物理机或第二服务端130中的物理机。如图8所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该处理器用于提供计算和控制能力。该存储器包括非易失性存储介质和内存储器,该非易失性存储介质存储有操作系统、计算机程序,该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现本申请任一实施例基于区块链的业务处理方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的基于区块链的业务处理装置600可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该基于区块链的业务处理装置的各个程序模块,比如,图6所示的第一业务请求接收模块602、中间账号确定模块604及第二业务请求处理模块606。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的基于区块链的业务处理方法中的步骤。
比如,图8所示的计算机设备可以通过如图6所示的基于区块链的业务处理装置600中的第一业务请求接收模块602执行步骤S302、可通过第二业务请求处理模块606执行步骤S304、可通过部署请求发送模块806执行步骤S306。
在一个实施例中,本申请提供的基于区块链的业务处理装置700可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该基于区块链的业务处理装置的各个程序模块,比如,图7所示的第二业务请求接收模块702、目标区块链地址确定模块704及第三业务请求处理模块706。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的基于区块链的业务处理方法中的步骤。
比如,图8所示的计算机设备可以通过如图7所示的基于区块链的业务处理装置700中的第二业务请求接收模块702执行步骤S402、可通过目标区块链地址确定模块704执行步骤S404、可通过第三业务请求处理模块706执行步骤S406。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
据此,在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请任一实施例提供的基于区块链的业务处理方法的步骤。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。