一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

注册方法、电子设备及可读存储介质与流程

2022-07-30 13:20:13 来源:中国专利 TAG:


1.本发明涉及通信技术领域,特别是涉及一种注册方法、电子设备及可读存储介质。


背景技术:

2.区块链技术实现于区块链网络之上,区块链网络中的分布式节点设备(以下简称为节点)通过运行区块链程序,从而实现区块数据的生成和共识,最终实现了数据的防篡改机制,为业务开展提供了安全可信的技术新思路。
3.区块链技术可应用至多种业务场景,例如金融领域、电子商务领域、商品或原材料溯源领域、电子存证领域等,由于区块链技术实现了数据防篡改机制,因此利用区块链技术开展业务,能解决业务参与各方之间的信任危机。
4.在区块链网络中,账户地址与用户资产相对应,账户地址的重要性类似于中心化系统中的银行账号。可见,商户(例如银行、证券公司、信托公司等)为了基于区块链网络开展业务,需要为其用户注册(开设)账户地址。然而对于商户而言,为了实现账户注册功能,需要投入较大的技术资源,导致商户基于区块链网络开展业务的难度较大。


技术实现要素:

5.本发明实施例的目的在于提供一种注册方法、电子设备及可读存储介质,旨在降低商户基于区块链网络开展业务的难度。具体技术方案如下:
6.在本发明实施例的第一方面,提供一种注册方法,应用于中间件系统,所述中间件系统与区块链网络的部分节点通信连接,所述中间件系统用于接收商户设备发送的业务报文,并将接收的业务报文解析成交易,再调用密钥管理系统对解析成的交易进行签名,以及将签名后的交易提交给所述区块链网络执行;所述方法包括:
7.响应于商户设备发送的账户注册请求,调用所述密钥管理系统生成密钥对,该密钥对中包含私钥、公钥以及账户地址;
8.接收所述密钥管理系统返回的账户地址;
9.将所述账户地址返回给所述商户设备。
10.可选地,商户的数量为多个,所述账户注册请求携带有商户id;在接收所述密钥管理系统返回的账户地址后,所述方法还包括:
11.针对所述账户注册请求携带的商户id和所述密钥管理系统返回的账户地址,建立商户与账户之间的对应关系。
12.可选地,所述区块链网络的其他节点与其他中间件系统通信连接,其他中间件系统用于接收相应商户设备发送的业务报文,并将接收的业务报文解析成一个或多个交易,以及将所述一个或多个交易提交给所述区块链网络执行,其中,所述一个或多个交易中的每个交易携带该业务报文的报文标识,所述一个或多个交易中的若干交易还携带该业务报文中记录的用于参与业务的账户地址;所述方法还包括:
13.从所述区块链网络获取交易;
14.根据携带相同报文标识的一个或多个交易,重组业务报文;
15.根据重组出的业务报文中记录的账户地址,查询商户与账户之间的对应关系,以确定该账户地址对应的商户;
16.将重组出的业务报文发送给确定出的商户的商户设备。
17.可选地,所述密钥管理系统为加密机,商户和加密机的数量均为多个,商户与加密机之间存在对应关系;所述账户注册请求携带有商户id;所述响应于商户设备发送的账户注册请求,调用密钥管理系统生成密钥对,包括:
18.响应于商户设备发送的账户注册请求,根据该账户注册请求携带的商户id,确定该商户id对应的加密机地址;
19.向确定出的加密机地址转发账户注册请求,使得相应加密机生成密钥对。
20.可选地,在注册账户之前,所述方法还包括:
21.获得待注册商户所对应的加密机地址;
22.向获得的加密机地址发送商户注册请求,使得相应加密机生成密钥对,该密钥对中包含私钥、公钥以及商户地址。
23.可选地,所述方法还包括:
24.接收加密机返回的商户地址和公钥;
25.建立商户id与该商户地址之间的对应关系,该商户id为所述待注册商户的商户id;
26.将该公钥提交给所述中间件系统对应的网关,所述中间件系统通过该网关与所述区块链网络的部分节点通信连接。
27.可选地,所述方法还包括:
28.响应于商户设备发送的业务报文,将该业务报文解析成交易,其中,该业务报文携带商户id和账户地址;
29.根据业务报文携带的商户id,查询商户id与商户地址之间的对应关系,确定该商户id对应的商户地址;
30.根据业务报文携带的商户id,确定该商户id对应的加密机地址;
31.将解析成的交易、业务报文携带的账户地址、以及确定出的商户地址发送给确定出的加密机地址,使得相应加密机利用该账户地址对应的私钥,对交易进行签名,以得到第一签名数据,再利用该商户地址对应的私钥,对交易和第一签名数据进行签名,以得到第二签名数据;
32.接收加密机返回的第一签名数据和第二签名数据;
33.将解析成的交易、所述第一签名数据、以及所述第二签名数据发送给所述中间件系统对应的网关,使得该网关利用相应公钥对第二签名数据进行验签,在验签通过的情况下,再将所述交易和所述第一签名数据提交给所述区块链网络的节点。
34.可选地,所述商户和密钥管理系统的数量均为多个,多个密钥管理系统分布在不同的地区,每个密钥管理系统用于管理一个或多个加密机;每个商户对应一个密钥管理系统,还对应该密钥管理系统所管理的一个加密机,该密钥管理系统存储有该商户与加密机之间的对应关系;所述账户注册请求携带有商户id;所述响应于商户设备发送的账户注册请求,调用密钥管理系统生成密钥对,包括:
35.响应于商户设备发送的账户注册请求,根据该账户注册请求携带的商户id,确定该商户id对应的密钥管理系统;
36.向确定出的密钥管理系统转发账户注册请求,使得该密钥管理系统根据该账户注册请求携带的商户id,确定该商户id对应的加密机,再向确定出的加密机发送账户注册命令,使得相应加密机生成密钥对。
37.在本发明实施例的第二方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
38.所述存储器,用于存放计算机程序;
39.所述处理器,用于在执行存储器上所存放的程序时,实现本发明任一实施例所提供的注册方法。
40.在本发明实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的注册方法。
41.本发明中,中间件系统与区块链网络的部分节点通信连接,中间件系统可以基于区块链网络开展业务。而商户设备可以向中间件系统发送业务报文,中间件系统接收到业务报文后,将业务报文解析成交易,并调用密钥管理系统对交易进行签名,以及将签名后的交易提交给区块链网络执行。如此,商户通过中间件系统开展业务,商户不会感知到区块链技术的复杂性,因此本发明能降低商户基于区块链网络开展业务的难度。
42.此外,商户在需要注册账户时,商户设备可以向中间件系统发送账户注册请求。中间件系统响应于该账户注册请求,调用所述密钥管理系统生成私钥、公钥以及账户地址。中间件系统接收密钥管理系统返回的账户地址,并将该账户地址返回给商户设备。如此,商户设备可以通过中间件系统,同时实现业务和账户注册,极大程度地简化了商户开展业务的难度。
附图说明
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
44.图1是本发明一实施例提出的业务处理系统的示意图;
45.图2是本发明一实施例提出的注册方法的流程图;
46.图3是本发明一实施例提出的业务处理过程的示意图;
47.图4是本发明一实施例提出的注册账户的示意图;
48.图5是本发明一实施例提出的中间件系统参与业务的示意图;
49.图6是本发明一实施例提出的签名示意图;
50.图7是本发明另一实施例提出的注册账户的示意图;
51.图8是本发明一实施例提出的电子设备的示意图。
具体实施方式
52.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.区块链技术实现于区块链网络之上,区块链网络中的分布式节点设备(以下简称为节点)通过运行区块链程序,从而实现区块数据的生成和共识,最终实现了数据的防篡改机制,为业务开展提供了安全可信的技术新思路。在区块链网络中,账户地址与用户资产相对应,账户地址的重要性类似于中心化系统中的银行账号。可见,商户(例如银行、证券公司、信托公司等)为了基于区块链网络开展业务,需要为其用户注册(开设)账户地址。然而对于商户而言,为了实现账户注册功能,需要投入较大的技术资源,导致商户基于区块链网络开展业务的难度较大。
54.有鉴于此,本发明通过以下实施例提出注册方法、电子设备及可读存储介质,旨在降低商户基于区块链网络开展业务的难度。
55.参考图1,图1是本发明一实施例提出的业务处理系统的示意图。如图1所示,该业务处理系统包括:区块链网络、多个中间件系统、以及多个商户设备。其中,商户设备可与中间件系统通信连接,中间件系统又可与区块链网络内的部分节点通信连接。如此,商户设备通过中间件系统实现与区块链网络的间接通信。
56.具体地,商户在需要开展业务时,可以通过商户设备向中间件系统发送业务报文。中间件系统将商户设备发送的业务报文解析成交易,并调用密钥管理系统对解析成的交易进行签名,再将签名后的交易提交给区块链网络执行。此外,中间件系统会同步区块链网络生成的区块,或者会同步区块链网络的账本数据库,以从区块链网络获取信息。中间件系统把从区块链网络获取的信息重组成业务报文,再将重组成的业务报文推送给商户设备。如此,商户设备通过中间件系统实现与区块链网络的间接通信。
57.可选地,在一些具体实施方式中,商户设备与中间件系统之间具体基于通信报文进行信息传递。当商户设备向中间件系统传递业务信息时,商户设备将业务报文封装在通信报文的报文体中,业务报文随通信报文一起被商户设备发送至中间件系统。同样地,当中间件系统向商户设备传递业务信息时,中间件系统将业务报文封装在通信报文的报文体中,业务报文随通信报文一起被中间件系统发送至商户设备。其中,通信报文可以选用:超文本传输协议报文(http)、用户报文协议报文(udp)等。需要说明的是,本发明对通信报文的类型不做限定。
58.本发明中,中间件系统将区块链网络的复杂接口封装成简单、标准的金融业务接口,并提供给商户设备,从而降低商户设备与区块链网络的交互难度。
59.本发明中,中间件系统可以是软件程序,也可以是硬件设备。在中间件系统是软件程序的情况下,中间件系统可以部署在区块链网络的某个节点中,也可以部署在某个商户设备中,还可以部署在区块链网络和商户设备之间的某台或某几台设备中。
60.如图1所示,每个商户设备与一个中间件系统对应,一个中间件系统可与多个商户设备对应。每个商户设备通过其对应的中间件系统,实现与区块链网络的间接通信。
61.具体实现时,不同的商户群体分别对应不同的中间件系统。为便于理解,示例地,一个银行的多个分行以及与该银行合作的金融机构,可以作为一个商户群体,对应一个中间件系统。例如银行a的多个分行、与银行a合作的证券公司、以及与银行a合作的信托公司
等作为一个商户群体,共同对应中间件系统a,中间件系统a由银行a的总行进行运维。又例如例如银行b的多个分行、与银行b合作的村镇银行、以及与银行a合作的基金管理公司等作为另一个商户群体,共同对应中间件系统b,中间件系统b由银行b的总行进行运维。在此场景下,通过实施本发明的下述部分具体实施方式,使得各商户在利用区块链网络处理业务时,不同商户之间(例如银行a的分行与银行b的分行之间)可以便捷地通过区块链网络传递业务信息。
62.如图1所示,商户可以为其客户(也称为用户)注册账户,由于一个商户通常具有多个客户,因此一个商户下可以具有多个账户。
63.本发明中,可以用一个密钥对表征一个账户。一个密钥对中包含私钥、公钥以及账户地址,如前所述,账户地址与用户资产相对应,账户地址的重要性类似于中心化系统中的银行账号。而私钥用于对账户参与的交易进行签名,私钥的重要性类似于中心化系统中的账户密码。
64.本发明中,通过密钥管理系统生成密钥对,并利用密钥管理系统保存私钥,以保障私钥的安全性。而商户用于保存账户地址,商户保存的每个账户地址,可以视为用户在该商户开设的一个账户。
65.以上,本发明对图1所示的业务处理系统进行了介绍,该业务处理系统可用于实施本发明提出的注册方法。但需要说明的是,注册方法的实施并不依赖于图1所示的业务处理系统,图1所示的业务处理系统不应被视为是对本发明的限定。
66.参考图2,图2是本发明一实施例提出的注册方法的流程图,该注册方法应用于中间件系统。如前所述,该中间件系统与区块链网络的部分节点通信连接,该中间件系统用于接收商户设备发送的业务报文,并将接收的业务报文解析成交易,再调用密钥管理系统对解析成的交易进行签名,以及将签名后的交易提交给区块链网络执行。如图2所示,该注册方法包括以下步骤:
67.步骤s21:响应于商户设备发送的账户注册请求,调用所述密钥管理系统生成密钥对,该密钥对中包含私钥、公钥以及账户地址;
68.步骤s22:接收所述密钥管理系统返回的账户地址;
69.步骤s23:将所述账户地址返回给所述商户设备。
70.本发明中,当商户发展了新客户,需要为新客户开设账户时,商户可以通过其商户设备向中间件系统发送账户注册请求。中间件系统接收到账户注册请求后,调用密钥管理系统为新客户生成一个密钥对。中间件系统接收密钥管理系统返回的账户地址,并将该账户地址返回给商户设备。如此,当商户设备接收到一个新的账户地址时,也就完成了新账户的注册。
71.其中,新账户的私钥被保存在密钥管理系统中,以确保私钥的安全性。新账户的公钥和账户地址也可以与新账户的私钥作为一个密钥对,一并保存在密钥管理系统中。此外,新账户的账户地址还被保存在商户侧。如此,商户后续可以基于该账户地址,开展与该账户地址相关的业务。
72.本发明中,中间件系统与区块链网络的部分节点通信连接,中间件系统可以基于区块链网络开展业务。而商户设备可以向中间件系统发送业务报文,中间件系统接收到业务报文后,将业务报文解析成交易,并调用密钥管理系统对交易进行签名,以及将签名后的
交易提交给区块链网络执行。如此,商户通过中间件系统开展业务,商户不会感知到区块链技术的复杂性,因此本发明能降低商户基于区块链网络开展业务的难度。
73.此外,通过实施上述步骤s21至步骤s23,商户在需要注册账户时,商户设备可以向中间件系统发送账户注册请求。中间件系统响应于该账户注册请求,调用所述密钥管理系统生成私钥、公钥以及账户地址。中间件系统接收密钥管理系统返回的账户地址,并将该账户地址返回给商户设备。如此,商户设备可以通过中间件系统,同时实现业务和账户注册,极大程度地简化了商户开展业务的难度。
74.可选地,在一些具体实施方式中,密钥管理系统可以调用区块链网络的软件开发包sdk,该软件开发包中包含密钥对生成算法,通过该密钥对生成算法生成的私钥、公钥和地址,符合该区块链网络对私钥、公钥和地址等的要求。当密钥管理系统接收到中间件系统的调用请求后,密钥管理系统调用区块链网络的软件开发包sdk,从而执行该软件开发包sdk中的密钥对生成算法,进而生成符合要求的私钥、公钥和地址等。
75.可选地,在另一些具体实施方式中,密钥管理系统中预设有密钥对生成算法,通过该密钥对生成算法生成的私钥、公钥和地址,符合该区块链网络对私钥、公钥和地址等的要求。当密钥管理系统接收到中间件系统的调用请求后,密钥管理系统执行预设的密钥对生成算法,进而生成符合要求的私钥、公钥和地址等。
76.可选地,在一些具体实施方式中,商户的数量为多个,上述账户注册请求携带有商户id。中间件系统在接收到密钥管理系统返回的账户地址后,还可以针对账户注册请求携带的商户id和该密钥管理系统返回的账户地址,建立商户与账户之间的对应关系。
77.具体实现时,中间件系统中保存了商户表,该商户表中记录了多个商户id,每个商户id条目下记录了属于该商户的账户地址。为便于理解,示例地,如表1所示,表1为示意的商户表。
78.表1示意的商户表
[0079][0080]
当中间件系统接收到账户注册请求,且接收到密钥管理系统返回的新的账户地址后,中间件系统从账户注册请求中读取商户id,然后以读取到的商户id为索引,从表1所示的商户表中查找到该商户id,再将接收到的账户地址添加至该商户id的条目下。如此,建立了新账户与该商户之间的对应关系。
[0081]
可选地,在一些具体实施方式中,区块链网络的其他节点与其他中间件系统通信连接,其他中间件系统用于接收相应商户设备发送的业务报文,并将接收的业务报文解析成一个或多个交易,以及将所述一个或多个交易提交给所述区块链网络执行,其中,所述一个或多个交易中的每个交易携带该业务报文的报文标识,所述一个或多个交易中的若干交易还携带该业务报文中记录的用于参与业务的账户地址。
[0082]
中间件系统可以从所述区块链网络获取交易;根据携带相同报文标识的一个或多个交易,重组业务报文;根据重组出的业务报文中记录的账户地址,查询商户与账户之间的对应关系,以确定该账户地址对应的商户;将重组出的业务报文发送给确定出的商户的商户设备。如此,中间件系统将业务报文推送给参与了该业务的商户,使得商户可以根据该业务报文得到业务详情。
[0083]
为便于理解,示例地,参考图3,图3是本发明一实施例提出的业务处理过程的示意图。如图3所示,中间件系统a通过网关a与区块链网络的部分节点通信连接,中间件系统b通过网关b与区块链网络的另一部分节点通信连接,中间件系统c通过网关c与区块链网络的其余节点通信连接。
[0084]
如图3所示,中间件系统a对应的商户包括表1所示的shpf-003、shpf-011以及htzq-001,中间件系统b对应的商户包括hxyh-001、hxyh-002以及hxyh-006,中间件系统c对应的商户包括bhyh-011和zxzq-001。需要说明的是,图3中所示的各商户id(即shpf-003、shpf-011等字符串)仅作为示意性的举例。
[0085]
如图3所示,当商户hxyh-001的客户需要向多个账户进行批量转账时,商户hxyh-001接收到其客户的批量转账请求。响应于此,商户hxyh-001生成业务报文,并将该业务报文发送给中间件系统b。该业务报文中记录有:资产转出账户地址、多个资产转入账户地址、每个资产转入账户地址所需转入的资产数额、以及业务类型标识。其中,业务类型标识表征业务报文用于处理的业务类型。由于该业务报文用于处理批量转账业务,因此该业务报文的业务类型标识用于表征批量转账业务。例如,该业务报文的业务类型标识可以形如smtbt。
[0086]
中间件系统b中预设有多个用于解析业务报文的报文解析策略,每个报文解析策略分别对应一种业务类型标识,并用于对包含相应业务类型标识的业务报文进行解析,以获得与相应业务类型相关的一个或多个交易。具体实现时,一个报文解析策略实际是一段计算机程序,中间件系统b通过运行该段计算机程序,从而执行该报文解析策略。其中,报文解析策略至少用于对报文解析操作做以下限定:
[0087]
1、由业务报文所需解析出的交易数量、以及每个交易的交易类型;
[0088]
2、针对每个交易,限定其所需携带的交易数据;并且针对每个交易数据,限定具体从业务报文的哪个字段处获取该交易数据,并限定将该交易数据填充至交易模板的哪个字段处;
[0089]
3、将业务报文的报文标识填充至解析出的每个交易。
[0090]
如图3所示,当中间件系统b接收到商户hxyh-001发送的业务报文后,中间件系统b从业务报文中读取业务类型标识smtbt,并以读取到的业务类型标识smtbt为索引,从预设的多个报文解析策略中查找业务类型标识smtbt对应的报文解析策略,再基于查找到的报文解析策略,将该业务报文解析成多个交易。多个交易中的每个交易均携带该业务报文的
报文标识,假设该业务报文的报文标识为m52f7x20f499,则每个交易均携带报文标识m52f7x20f499。多个交易中的部分交易的交易类型为转账交易,每个转账交易携带资产转出账户地址和一个资产转入账户地址。
[0091]
需要说明的是,报文解析策略对报文解析操作的上述限定,仅作为示例。本领域技术人员在上述示例的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
[0092]
如图3所示,中间件系统b通过网关b,将解析成的交易提交给区块链网络执行。需要说明的是,对于区块链网络执行交易的具体方式,本发明不做限定。为简化附图,图1中未示出区块链网络执行交易的具体过程。
[0093]
还需要说明的是,中间件系统b在将交易提交给区块链网络之前,可以调用密钥管理系统对交易进行签名。对于密钥管理系统如何对交易进行签名,可参考本发明的后续介绍,此处暂不赘述。
[0094]
如图3所示,中间件系统a通过网关a,持续地同步区块链网络生成的区块,并从同步到的区块中读取该区块记录的交易。中间件系统a根据携带相同报文标识的一个或多个交易,重组业务报文。中间件系统a根据重组出的业务报文中记录的账户地址,查询商户与账户之间的对应关系,以确定该账户地址对应的商户,然后将重组出的业务报文发送给确定出的商户的商户设备。
[0095]
需要说明的是,中间件系统a除了可以通过同步区块链网络的区块,从而从区块中读取交易以外,中间件系统a还可以同步区块链网络的账本数据库,从而从账本数据中读取交易。为简化附图,图3中仅简要地示出了中间件系统a从区块链网络同步区块这种方式。
[0096]
具体实现时,中间件系统a针对读取到的每个交易,检测该交易携带的报文标识,中间件系统a将携带相同报文标识的一个或多个交易作为一组交易。
[0097]
具体实现时,中间件系统a中预设有多个用于重组业务报文的报文重组策略,每个报文重组策略分别对应一种业务类型标识,并用于对携带相应业务类型标识的一组交易进行组装,以重组出相应的业务报文。具体实现时,一个报文重组策略实际是一段计算机程序,中间件系统a通过运行该段计算机程序,从而执行该报文重组策略。其中,报文重组策略至少用于对报文重组操作做以下限定:
[0098]
1、为了重组业务报文而限定的交易需求量;
[0099]
2、重组成的业务报文的报文头中所需包含的报文数据;并且针对报文头所需包含的每个报文数据,限定具体从哪个交易的哪个字段处获取该报文数据,并限定将该报文数据填充至报文头的哪个字段处;
[0100]
3、重组成的业务报文的报文体中所需包含的业务数据;并且针对报文体所需包含的每个业务数据,限定具体从哪个交易的哪个字段处获取该业务数据,并限定将该业务数据填充至报文体的哪个字段处。
[0101]
针对上述第1点限定,具体实现时,当中间件系统a针对一组交易查找到相应的报文重组策略后,读取该报文重组策略所限定的交易需求量。然后,中间件系统a统计该组交易包含的交易数量。最后,中间件系统a将该组交易包含的交易数量与交易需求量对比,从而判断两者是否相等。
[0102]
如果两者不相等,则中间件系统a暂停报文重组操作,在等待预设时间长度后,再
次统计该组交易包含的交易数量,并将该交易数量与交易需求量对比。需要说明的是,中间件系统a在暂停报文重组操作期间,仍然会持续地同步区块,并从同步到的区块中读取交易,以及针对读取到的交易,根据该交易携带的报文标识,将该交易添加至相应的一组交易中。
[0103]
如果两者相等,则中间件系统a继续基于报文重组策略的上述第2点和第3点限定,从该组交易中获取用于重组业务报文的报文数据和业务数据,以重组出业务报文。
[0104]
具体实现时,当中间件系统a重组出业务报文后,检测该业务报文中是否包含账户地址。在该业务报文中包含账户地址的情况下,中间件系统a针对每个账户地址,查询表1所示的商户表(也即商户与账户之间的对应关系),判断表1中是否记录有该账户地址及其对应的商户。如果有,则将重组出的业务报文转发给该商户。如果没有,则针对下一个账户地址,重复上述操作。
[0105]
例如,中间件系统a当前重组出的业务报文恰好是商户hxyh-001发出的用于批量转账的业务报文。该业务报文中记录的多个资产转入账户地址包括:yezyh7

jkeudg、dh07ze

9tyc5k以及hs3gwz

slttgp。则中间件系统a首先针对账户地址yezyh7

jkeudg,查询表1所示的商户表。由于商户表中没有记录账户地址yezyh7

jkeudg,因此中间件系统a暂时不会向商户推送业务报文。
[0106]
接着中间件系统a继续针对账户地址dh07ze

9tyc5k,查询表1所示的商户表。由于商户表中记录有账户地址dh07ze

9tyc5k及其对应的商户shpf-003,因此说明属于商户shpf-003的账户地址dh07ze

9tyc5k参与了批量转账业务。响应于此,中间件系统a将该业务报文推送给商户shpf-003的设备。
[0107]
接着中间件系统a继续针对账户地址hs3gwz

slttgp,查询表1所示的商户表。由于商户表中记录有账户地址hs3gwz

slttgp及其对应的商户shpf-011,因此说明属于商户shpf-011的账户地址hs3gwz

slttgp参与了批量转账业务。响应于此,中间件系统a将该业务报文推送给商户shpf-011的设备。
[0108]
需要说明的是,中间件系统b和中间件系统c可以采用同样的方式,从区块链网络获取交易,并根据携带相同报文标识的一个或多个交易,重组业务报文,再根据重组出的业务报文中记录的账户地址,查询商户与账户之间的对应关系,以确定该账户地址对应的商户,最后将重组出的业务报文发送给确定出的商户的商户设备。为简化附图,图3中未示出该过程。
[0109]
还需要说明的是,中间件系统a和中间件系统c也可以采用同样的方式,接收商户设备发送的业务报文,并将业务报文解析成交易,以及将交易提交给区块链网络签名。为简化附图,图3中未示出该过程。
[0110]
本发明中,中间件系统在注册账户期间,通过创建商户与账户之间的对应关系,并且中间件系统在处理业务期间,通过获取交易并重组业务报文,以及通过查询商户和账户之间的对应关系,将重组的业务报文推送给相应的商户设备,使得参与业务的各方商户均能获得业务报文,从而可以根据业务报文得知业务详情。
[0111]
可选地,在一些具体实施方式中,参考图4,图4是本发明一实施例提出的注册账户的示意图。如图4所示,密钥管理系统为加密机,商户和加密机的数量均为多个。其中,商户与加密机之间存在对应关系。
[0112]
具体实现时,如图4所示,可以一个商户使用一个加密机。或者也可以两个或几个商户共用一个加密机。
[0113]
具体实现时,如图4所示,加密机可以部署在商户侧,由商户对加密机进行管理。或者多个加密机也可以集中部署和集中管理。
[0114]
当中间件系统接收到账户注册请求后,中间件系统为了调用密钥管理系统生成密钥对,可以执行以下子步骤:
[0115]
子步骤s21-1:响应于商户设备发送的账户注册请求,根据该账户注册请求携带的商户id,确定该商户id对应的加密机地址;其中,账户注册请求携带的商户id为:发起该账户注册请求的商户的商户id;
[0116]
子步骤s21-2:向确定出的加密机地址转发账户注册请求,使得相应加密机生成密钥对。
[0117]
具体实现时,中间件系统中记录有商户id与加密机地址之间的对应关系。当中间件系统接收到账户注册请求后,从账户注册请求中读取商户id,然后以读取的商户id为索引,从商户id与加密机地址之间的对应关系中查询该商户id对应的加密机地址,最后将账户注册请求转发给确定出的加密机地址,使得相应加密机生成密钥对。
[0118]
本发明中,通过为设置多个加密机,多个加密机分别用于为对应商户生成和管理密钥对,可以提高密钥对的安全性,特别是在将加密机部署在商户侧的情况下。
[0119]
可选地,在一些具体实施方式中,在为商户注册账户之前,可以预先注册该商户。对于注册商户的过程,如图4所示:中间件系统获得待注册商户所对应的加密机地址,然后向获得的加密机地址发送商户注册请求,使得相应加密机生成密钥对,该密钥对中包含私钥、公钥以及商户地址。
[0120]
具体实现时,待注册商户可以提前在其本地部署一个新加密机,审核人员在审核完待注册商户的注册资料后,向中间件系统输入该新加密机的加密机地址,并向中间件系统输入商户注册命令。中间件系统在接收到加密机地址和商户注册命令后,响应于该商户注册命令,向该加密机地址发送商户注册请求,从而使得该新加密机生成密钥对,该密钥对中包含私钥、公钥以及地址。其中,该地址作为新商户(也即上述待注册商户)的商户地址。
[0121]
可选地,在一些具体实施方式中,如图4所示,中间件系统在向加密机地址发送商户注册请求后,还可以接收相应加密机返回的商户地址和公钥,并建立商户id与该商户地址之间的对应关系,该商户id为所述待注册商户的商户id,以及将该公钥提交给中间件系统对应的网关。如前所述,中间件系统通过该网关与区块链网络的部分节点通信连接。
[0122]
可选地,在一些具体实施方式中,中间件系统还用于执行业务。参考图5,图5是本发明一实施例提出的中间件系统参与业务的示意图。如图5所示,中间件系统参与业务期间,执行以下步骤:
[0123]
步骤s51:响应于商户设备发送的业务报文,将该业务报文解析成交易,其中,该业务报文携带商户id和账户地址;
[0124]
步骤s52:根据业务报文携带的商户id,查询商户id与商户地址之间的对应关系,确定该商户id对应的商户地址;
[0125]
步骤s53:根据业务报文携带的商户id,确定该商户id对应的加密机地址;
[0126]
步骤s54:将解析成的交易、业务报文携带的账户地址、以及确定出的商户地址发
送给确定出的加密机地址,使得相应加密机利用该账户地址对应的私钥,对交易进行签名,以得到第一签名数据,再利用该商户地址对应的私钥,对交易和第一签名数据进行签名,以得到第二签名数据;
[0127]
步骤s55:接收加密机返回的第一签名数据和第二签名数据;
[0128]
步骤s56:将解析成的交易、所述第一签名数据、以及所述第二签名数据发送给所述中间件系统对应的网关,使得该网关利用相应公钥对第二签名数据进行验签,在验签通过的情况下,再将所述交易和所述第一签名数据提交给所述区块链网络的节点。
[0129]
其中,业务报文携带的商户id是发起该业务报文的商户的商户id,业务报文携带的账户地址是提出业务请求的用户的账户地址。为便于理解,示例地,假设商户shpf-003的用户x向商户shpf-003提出请求,该请求为:向商户hxyh-001的某账户转账。则商户shpf-003生成业务报文,该业务报文携带的商户id为shpf-003,该业务报文携带的账户地址为用户x的账户地址。
[0130]
对于上述步骤s51的具体实现方式,可参考图3及图3的对应说明,为避免重复,此处不再赘述。
[0131]
本发明中,业务报文中携带有商户id,而中间件系统中存储有商户id与商户地址之间的对应关系,还存储有商户id和加密机地址之间的对应关系。中间件系统根据业务报文携带的商户id和存储的对应关系,确定出商户id对应的商户地址和加密机地址,然后将解析成的交易、业务报文携带的账户地址、以及确定出的商户地址发送给确定出的加密机地址。
[0132]
参考图6,图6是本发明一实施例提出的签名示意图。加密机在进行签名时,首先利用账户地址对应的私钥,对交易进行签名,得到第一签名数据(即用户签名)。然后利用商户地址的私钥,对交易和第一签名数据整体进行签名,得到第二签名数据。其中,用户地址对应的私钥是指:与用户地址同属于一个密钥对的私钥。商户地址对应的私钥是指:与商户地址同属于一个密钥对的私钥。
[0133]
本发明中,通过网关对商户签名进行验签,在验签通过的情况下,才将交易提交给区块链网络执行,而在验签失败的情况下,不会将交易提交给区块链网络执行。如此,可以避免非法交易流入区块链网络,从而提高区块链网络和业务的安全性。
[0134]
此外,还需要说明的是,本发明中,通过将商户id和商户地址之间的对应关系部署在加密机之外(即部署在中间件系统中),中间件系统预先查询到商户id对应的商户地址后,再将交易、用户地址和查询到的商户地址发送给加密机,使得加密机进行签名。如此,由于加密机不需要存储商户id和商户地址之间的对应关系,因此可以节约加密机内存。
[0135]
或者可选地,在一些具体实施方式中,参考图7,图7是本发明另一实施例提出的注册账户的示意图。如图7所示,商户和密钥管理系统的数量均为多个,多个密钥管理系统分布在不同的地区,每个密钥管理系统用于管理一个或多个加密机。此外,每个商户对应一个密钥管理系统,还对应该密钥管理系统所管理的一个加密机,该密钥管理系统存储有该商户与加密机之间的对应关系。
[0136]
本发明中,通过在多个地区部署多个密钥管理系统,每个密钥管理系统可以根据当地法律法规或业务特点进行相应的配置,例如配置相应的统计功能、审计功能等。而每个商户可以根据业务需要,选择对接相应的一个密钥管理系统。如此,本发明为商户提供了开
integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0152]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的注册方法。
[0153]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0154]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0155]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0156]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献