CN112269915A - 业务处理方法、装置、设备及存储介质 - Google Patents
业务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112269915A CN112269915A CN202011191803.1A CN202011191803A CN112269915A CN 112269915 A CN112269915 A CN 112269915A CN 202011191803 A CN202011191803 A CN 202011191803A CN 112269915 A CN112269915 A CN 112269915A
- Authority
- CN
- China
- Prior art keywords
- message
- transaction
- transactions
- identifier
- middleware
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims description 45
- 238000004458 analytical method Methods 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 14
- 238000011161 development Methods 0.000 abstract description 10
- 230000009286 beneficial effect Effects 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种业务处理方法、装置、设备及存储介质,旨在提高业务处理的便利性。其中,所述业务处理方法应用于中间件,所述业务处理方法包括:接收目标用户端发送的第一报文,所述第一报文携带事务标识;根据第一报文携带的事务标识,查找携带相同事务标识的第二报文;根据查找到的第二报文和所述第一报文,生成一个或多个第一交易;将所述一个或多个第一交易提交给区块链网络执行。本发明中,用户开展业务期间,不需要亲自构建交易,而是通过向中间件发送第一报文,使得中间件自动生成交易,因此有利于提高业务开展的便利性,进而提高业务处理效率。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种业务处理方法、装置、设备及存储介质。
背景技术
区块链技术构建在传输网络(也可称为区块链网络)之上,传输网络中的分布式节点设备(以下简称为节点)通过运行区块链程序,实现区块数据的生成、验证和上链保存,最终实现了数据防篡改机制,为业务开展提供了安全可信的技术新思路。
区块链技术可应用至多种业务场景,例如金融领域、电子商务领域、商品或原材料溯源领域、电子存证领域等,由于区块链技术实现了数据防篡改机制,因此利用区块链技术开展业务,能解决业务参与各方之间的信任危机。
相关技术中,为了基于区块链网络开展业务,用户需要通过操作其用户端设备,从而构建与业务相关的一个或多个交易,然后将交易提交给区块链网络执行。然而由于交易的数据结构复杂,并且用户不仅需要手动地构建交易,还需要在构建交易期间,查找与业务相关的数据(例如卖方账户、合约地址等)。因此对于用户而言,构建交易的过程过于复杂,导致业务处理的效率偏低。
发明内容
本发明实施例的目的在于提供一种业务处理方法、装置、设备及存储介质,旨在提高业务处理的便利性。具体技术方案如下:
在本发明实施例的第一方面,提供一种业务处理方法,应用于中间件,所述方法包括:
接收目标用户端发送的第一报文,所述第一报文携带事务标识;
根据第一报文携带的事务标识,查找携带相同事务标识的第二报文;
根据查找到的第二报文和所述第一报文,生成一个或多个第一交易;
将所述一个或多个第一交易提交给区块链网络执行。
在本发明实施例的第二方面,提供一种业务处理装置,应用于中间件,所述装置包括:
报文接收模块,用于接收目标用户端发送的第一报文,所述第一报文携带事务标识;
报文查找模块,用于根据第一报文携带的事务标识,查找携带相同事务标识的第二报文;
交易生成模块,用于根据查找到的第二报文和所述第一报文,生成一个或多个第一交易;
交易提交模块,用于将所述一个或多个第一交易提交给区块链网络执行。
在本发明实施例的第三方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现本发明任一实施例所提供的业务处理方法。
在本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的业务处理方法。
本发明中,用户为了开展业务,不需要手动构建交易,而是将业务参数封装成第一报文,并将第一报文发送给中间件。中间件接收到第一报文后,根据第一报文携带的事务标识,查找携带相同事务标识的第二报文。如此,中间件可以从查找到的第二报文中获取与业务相关的历史数据。最后,中间件根据查找到的第二报文和接收到的第一报文,自动地生成一个或多个第一交易,并将这些交易提交给区块链网络执行。可见本发明中,用户开展业务期间,不需要手动构建交易,因此有利于提高业务开展的便利性,进而提高业务处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明一实施例提出的基于业务处理***的业务处理方法的示意图;
图2是本发明一实施例提出的业务处理方法的流程图;
图3是本发明一实施例提出的业务处理装置的示意图;
图4是本发明一实施例提出的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
区块链技术构建在传输网络(也可称为区块链网络)之上,传输网络中的分布式节点设备(以下简称为节点)通过运行区块链程序,实现区块数据的生成、验证和上链保存,最终实现了数据防篡改机制,为业务开展提供了安全可信的技术新思路。
相关技术中,用户在利用区块链网络开展业务时,通常需要构建与业务相关的一个或多个交易,然后将构建的一个或多个交易提交给区块链网络执行。
可选地,在一些具体实施方式中,利用区块链网络执行交易的过程包括:物理世界中产生的真实数据被构建成区块链网络所支持的交易格式,并被发布至区块链网络;区块链网络的各节点在接收到交易后,执行该交易,并根据该交易和该交易的执行结果生成区块;多个节点相互之间对各自生成的区块进行共识,并在达成共识的情况下,各节点将各自的区块追加至各自保存的区块链的末尾。
需要说明的是,本发明在具体实现时,对于区块链网络执行交易的过程,并不限定于上述具体实施方式。除上述具体实施方式以外,本领域技术人员也可采用其熟知的其他技术方案。
相关技术中,为了基于区块链网络开展业务,用户需要通过操作其用户端设备,从而构建与业务相关的一个或多个交易,然后将交易提交给区块链网络执行。然而由于交易的数据结构复杂,并且用户不仅需要手动地构建交易,还需要在构建交易期间,查找与业务相关的数据(例如卖方账户、合约地址等)。因此对于用户而言,构建交易的过程过于复杂,导致业务处理的效率偏低。
有鉴于此,本发明通过以下实施例,提出业务处理方法、装置、设备及存储介质,旨在提高业务处理的便利性。
参考图1,图1是本发明一实施例提出的基于业务处理***的业务处理方法的示意图。如图1所示,业务处理***包括:区块链网络、多个中间件、以及多个用户端。用户端与中间件通信连接,中间件又与区块链网络内的任一节点或指定节点通信连接。如此,用户端通过中间件实现与区块链网络的通信。
具体地,用户端通过向中间件发送报文,从而实现向中间件传递信息。而中间件通过将用户端发送的报文解析成一个或多个交易,并提交给区块链网络,从而实现向区块链网络传递信息。此外,中间件通过同步区块链网络生成的新区块,或者同步区块链网络的账本数据库,从而实现从区块链网络获取信息。中间件把从区块链网络获取的信息组装成报文,并将该报文返回给用户端,从而实现向用户端传递信息。如此,用户端通过中间件实现与区块链网络的通信。
其中,中间件将区块链网络的复杂接口封装成简单、标准的金融业务接口,并提供给用户端,从而降低用户端与区块链网络的交互难度。
其中,中间件可以是软件程序,也可以是硬件设备。在中间件是软件程序的情况下,中间件可以运行在区块链网络的某个节点设备中,也可以运行在用户侧的计算机中,还可以运行在区块链网络和用户侧之间的某一计算机中。
其中,用户端可以是软件程序,也可以是硬件设备。在用户端是软件程序的情况下,用户端可以运行在区块链网络的某个节点设备中,也可以单独运行在区块链网络之外的计算机中。如果用户端运行在区块链网络的某个节点设备中,则相当于区块链网络的该节点设备由用户运维,用户在该节点设备中同时安装了客户端。
可选地,在一些具体实施方式中,每个用户端与一个中间件对应,一个中间件可与多个用户端对应。每个用户端通过其对应的中间件,实现与区块链网络的通信。
具体实现时,不同的用户群体分别对应不同的中间件,使得每个用户群体可以自行对其中间件进行管理和维护,有利于提高中间件的安全性。为便于理解,示例地,一个银行的多个分行,可以作为一个用户群体。例如银行A的多个分行共同对应中间件a,银行B的多个分行共同对应中间件b,银行C的多个分行共同对应中间件c。在此场景下,通过实施下述信息传递方法,使得各银行在利用区块链网络处理业务时,不同银行之间(例如银行A与银行B之间)可以便捷地通过区块链网络传递信息。
以上,对本发明提出的业务处理***的结构进行了介绍。以下,对基于该业务处理***的业务处理方法进行介绍。
如图1所示,第二用户端在产生业务需求的情况下,向第二中间件发送了一个第二报文,该第二报文中包含业务类型标识。
为便于理解,示例地,当第二用户端需要在区块链网络发起卖单offer时,第二用户端向第二中间件发送了一个第二报文。由于该第二报文是一个用于发起卖单offer的报文,因此该第二报文所包含的该业务类型标识反映的是:该第二报文用于发起卖单offer。为便于理解,例如该第二报文所包含的业务类型标识形如SMTO。
此外,该第二报文中还可以包含业务参数、合约模板编号、合约数据等。其中,业务参数是与业务相关的信息,例如业务参数包括:卖单发起方的账户地址、卖单中约定的交易数额等。合约模板编号用于指示中间件在生成智能合约时所需选择的合约模块。合约数据是中间件在生成智能合约时需要填充至合约模板中的数据,例如合约数据包括:合约方法(也即合约代码)、合约方法执行前所需满足的前提条件(例如时间条件、交易数额条件、买方权限条件等)。
如图1所示,第二中间件在接收到第二用户端发送的第二报文后,将第二报文解析成一个或多个第二交易。其中,每个第二交易携带相同的报文标识,至少一个第二交易携带该第二报文所包含的业务类型标识,至少一个第二交易携带该第二报文的事务标识。
可选地,在一些具体实施方式中,第二中间件在接收到第二报文后,为该第二报文生成一个具有唯一性的报文标识。示例地,第二中间件为了生成具有唯一性的报文标识,可以以时间戳、第二中间件自身编号、通用唯一识别码(Universally Unique Identifier,UUID)等数据作为输入参数,通过哈希算法的计算,输出一串哈希值,最后将哈希值的前n位(例如前25位)作为报文标识。
或者可选地,在另一些具体实施方式中,第二用户端发出的第二报文中本身就包含报文标识。该报文标识是第二用户端为第二报文生成的,具体生成方式可参考上文。
可选地,在一些具体实施方式中,第二中间件在接收到第二报文后,判断第二报文是否携带事务标识。如果第二报文未携带事务标识,则第二中间件为第二报文生成一个具有唯一性的事务标识。为了生成具有唯一性的事务标识,可参考上述的报文标识生成方式,为避免重复,此处不做赘述。
本发明中,具有相同事务标识的多个报文,是用于处理同一事务的多个报文,或者是用于处理多个关联事务的多个报文。具有相同事务标识的多个报文中最先被发出的报文,通常会用于发布智能合约,该报文不携带事务标识。当中间件接收到该报文后,为该报文生成一个事务标识。该报文之后的其他报文,携带该事务标识。如此,用于处理同一事务的多个报文,或者用于处理多个关联事务的多个报文,可以因携带相同的事务标识而彼此关联。对于本段技术方案的具体实现,可参考下文,此处暂不展开介绍。
或者可选地,在另一些具体实施方式中,第二中间件接收到的每个第二报文,本身就包含事务标识,该事务标识是第二用户端为第二报文生成的。
可选地,在一些具体实施方式中,第二中间件中预设有多个报文解析策略,每个报文解析策略分别对应一种业务类型标识,并用于对包含相应业务类型标识的报文进行解析,以获得与相应业务类型相关的一个或多个交易。
当第二中间件接收到第二用户端发送的第二报文后,从第二报文中读取业务类型标识,并根据读取的业务类型标识,从预设的多个报文解析策略中确定该业务类型标识对应的报文解析策略。然后,第二中间件基于确定出的报文解析策略,从第二报文中读取数据,并将读取的数据填充至该报文解析策略限定的交易模板,从而生成第二交易。
具体实现时,一个报文解析策略实际是一段计算机程序,第二中间件通过运行该段计算机程序,从而执行该报文解析策略。
其中,报文解析策略至少用于对报文解析操作做以下限定:
1、报文解析策略限定的若干交易模板,若干交易模板各自的交易类型是确定的,若干交易模板之间的时序关系也是确定的,每个交易模板中包括一个或多个空字段,用于填充业务参数;
2、针对每个交易模块所对应的交易,限定其所需的业务参数;并且针对交易所需的每个业务参数,限定具体从报文的哪个字段处获取该业务参数,以及将获取的业务参数填充至交易模板的哪个空字段处。
为便于理解,沿用上述示例,第二中间件接收到第二用户端发送的第二报文后,响应于该第二报文,第二中间件首先从该第二报文中读取出业务类型标识SMTO。然后以业务类型标识SMTO为索引,从多个预设的报文解析策略中确定出业务类型标识SMT0对应的报文解析策略X。接着再根据确定出的报文解析策略X,解析该第二报文。
具体地,报文解析策略X限定:
1、包括交易模板m、交易模板p以及交易模板r等三个交易模板,其中交易模板m的类型是合约发布交易;
2-1、在构建交易m(也即合约发布交易)时,从第二报文的第10个字段处读取合约模板编号,并调用该合约模板编号所对应的合约模板,然后从第二报文的第11至第20个字段处读取合约方法,并将其填充至合约模板的第一个空位处,再从第二报文的第21至第25个字段处读取前提条件,并将其填充至合约模板的第二个空位处,从而生成待发布的智能合约;最后将该智能合约填充至交易模板m的第15至第160个字段处,以生成交易m。
2-2、交易p中需要包含资产类型和资产数额等业务参数;从第二报文的第31个字段处获取资产类型参数,并将获取的资产类型参数填入交易模板p的第3个字段处;从第二报文的第32和第33个字段处获取资产数额参数,并将获取的资产数额参数填入交易模板p的第4和第5个字段处,以生成交易p。
需要说明的是,上述示例中所涉及的具体数据(例如业务类型标识、交易数量、业务参数、字段编号等),仅作为示意性举例。本发明在实际实施期间,所涉及的实际数据可以与上述示例中的数据相同或不同。
还需要说明的是,报文解析策略对报文解析操作的上述限定,仅作为示例。本领域技术人员在上述示例的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
可选地,在一些具体实施方式中,当第二中间件将第二报文解析成多个第二交易后。第二中间件将预先为该第二报文生成的报文标识,填充至每个第二交易中。如此,由该第二报文解析出的多个第二交易携带相同的报文标识。
此外,第二中间件还将第二报文包含的业务类型标识填充至每个第二交易,或者第二中间件将第二报文包含的业务类型标识填充至部分第二交易中。
此外,第二中间件还将第二报文的事务标识填充至每个第二交易,或者第二中间件将第二报文的事务标识填充至部分第二交易中。
如图1所述,第二中间件在解析出一个或多个第二交易后,可以将每个第二交易发送给密钥管理***,使得密钥管理***对第二交易进行签名。
具体实现时,第二用户端发出的第二报文中包含第二用户端的用户标识。第二中间件在解析出第二交易后,将第二交易和第二报文包含的用户标识发送给密钥管理***。密钥管理***中存储了多个用户的私钥。当密钥管理***接收到第二中间件发送的第二交易和用户标识后,以该用户标识为索引,查找到该用户标识对应的私钥,然后用查找到的私钥对该第二交易进行签名。最后,密钥管理***将签名后的第二交易返回给第一中间件。
如图1所示,第二中间件获得签名后的第二交易后,按照报文解析策略所限定的交易时序关系,将这些签名后的第二交易逐个提交给区块链网络执行。对于区块链网络执行第二交易的具体方式,可参见上文,为简化附图,图1中未示出区块链网络执行交易的具体方式。
如图1所示,第一中间件持续地同步区块链网络产生的区块数据,并从同步到的区块数据中获取第二交易。第一中间件根据携带相同报文标识的多个第二交易,返组出第二报文。
可选地,在一些具体实施方式中,第一中间件从区块数据中读取出第二交易后,存储该第二交易。此外,第一中间件检测每个第二交易所携带的报文标识,并将携带相同报文标识的多个第二交易作为一组第二交易。
可选地,在一些具体实施方式中,第一中间件中预设有多个报文返组策略,每个报文返组策略分别对应一种业务类型标识,并用于对携带相应业务类型标识的一组第二交易进行返组处理,从而返组出第二报文。
当第一中间件获取到一组第二交易后,从该组第二交易中的任一第二交易中读取该第二交易携带的业务类型标识。第一中间件根据读取的业务类型标识,从预设的多个报文返组策略中确定该业务类型标识对应的报文返组策略。然后,第二中间件基于确定出的报文返组策略,从该组第二交易中读取用于返组第二报文的数据,从而返组出第二报文。
具体实现时,一个报文返组策略实际是一段计算机程序,第一中间件通过运行该段计算机程序,从而执行该报文返组策略。
其中,报文返组策略至少用于对报文返组操作做以下限定:
1、返组成的第二报文的报文头中所需包含的数据;并且针对报文头所需包含的每个数据,限定具体从哪个第二交易的哪个字段处获取该数据,并限定将该数据填充至报文头的哪个字段处;
2、返组成的第二报文的报文体中所需包含的业务参数;并且针对报文体所需包含的每个业务参数,限定具体从哪个第二交易的哪个字段处获取该业务参数,并限定将该业务参数填充至报文体的哪个字段处。
需要说明的是,报文返组策略对报文返组操作的上述限定,仅作为示例。本领域技术人员在上述示例的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
如图1所示,如果携带相同报文标识的多个第二交易中包含合约发布交易,则第一中间件从该合约发布交易中读取合约地址。并且,第一中间件还从携带相同报文标识的多个第二交易中的任一第二交易中,读取该第二交易携带的事务标识。最后,第一中间件将读取的合约地址和事务标识关联。
具体实现时,第一中间件中保存了多个关联关系,每个关联关系表示:一个事务标识和一个合约地址之间的关联。第一中间件在后续根据第一报文生成第一交易时,可能会调用这些关联关系。
如图1所示,第一中间件还将读取到的事务标识填充至返组出的第二报文中,使得第一用户端在接收到该第二报文后,可以从该第二报文中获取到事务标识。
具体实现时,第一中间件可以将事务标识填充至第二报文的报文头或报文尾的指定字段处,该指定字段专门用于记录事务标识。
此外,可选地,在一些具体实施方式中,第一中间件还可以为第二报文生成报文标识,并将生成的报文标识填充至第二报文中。
此外,可选地,在一些具体实施方式中,第一中间件还可以将预先从交易中读取到的业务类型标识,填充至第二报文中。
如图1所示,第一中间件将组装出的第二报文发送给第一用户端。此外,第一中间件还会对组装出的第二报文进行存储。
可选地,在一些具体实施方式中,如前所述,每个中间件分别对应多个用户端。第一中间件在返组出第二报文,并在第二报文中填充事务标识、报文标识、业务类型标识等数据后,将第二报文发送给第一中间件对应的每个第一用户端。
可选地,在另一些具体实施方式中,第一用户端可以预先订阅部分第二用户端的消息,第一中间件中记录了每个第一用户端的订阅信息。具体地,如果某一第一用户端的订阅信息中包含第二用户端b1、第二用户端b2以及第二用户端b5各自的用户标识,则该第一用户端相当于订阅了第二用户端b1、第二用户端b2以及第二用户端b5各自的消息。
此外,第二用户端向第二中间件发送的第二报文中,包含第二用户端的用户标识。由第二报文解析成的一个或多个第二交易中继承了该第二报文所包含的用户标识。当这些第二交易被第一中间件返组成第二报文后,第一中间件从这些第二交易中读取出用户标识。然后第一中间件针对其自身对应的每个第一用户端,判断该第一用户端的订阅信息中是否包含该用户标识,如果包含,则将组装成的第二报文发送给该第一用户端。
为便于理解,示例地,假设第一中间件根据多个第二交易组装出第二报文后,第一中间件从多个第二交易中读取出第二用户端的用户标识b2。然后第一中间件针对其自身对应的每个第一用户端(a1至a10),判断该第一用户端的订阅信息中是否包含该用户标识。如果第一用户端a1的订阅信息中不包含用户标识b2,则第一中间件不会将组装出的第二报文发送给第一用户端a1。如果第一用户端a2的订阅信息中包含用户标识b2,则第一中间件需要将组装出的第二报文发送给第一用户端a2。
如图1所示,第一用户端在产生业务需求的情况下,向第一中间件发送了一个第一报文,该第一报文中包含业务类型标识、事务标识以及第一用户端的用户标识。
其中,第一报文中的事务标识,来自于第一用户端预先接收的第二报文。具体实现时,第一用户端在接收到每个第二报文后,存储第二报文,并对第二报文进行解析,以及将解析结果显示给用户。当用户从多个第二报文中选择出一个第二报文,并需要针对该第二报文执行后续关联行为时,用户对第一用户端执行预设操作(例如触控、鼠标控制、键盘控制、语音输入等),使得第一用户端生成第一报文,该第一报文中携带事务标识,该事务标识等于用户选择出的第二报文所携带的事务标识。
为便于理解,示例地,假设第二用户端b1向第二中间件发出了一个用于发起卖单offer_x的第二报文x。第一中间件通过上文所述的各处理步骤后,返组出第二报文x,原始的第二报文x和返组出的第二报文x携带相同的事务标识。第一中间件将组装出的第二报文x发送给第一用户端后,第一用户端可以显示第二报文x的内容。
又假设第二用户端b2向第二中间件发出了一个用于发起卖单offer_y的第二报文y。第一中间件通过上文所述的各处理步骤后,返组出第二报文y,原始的第二报文y和返组出的第二报文y携带相同的事务标识。第一中间件将组装出的第二报文y发送给第一用户端后,第一用户端可以显示第二报文y的内容。
如果第一用户端的用户想针对第二报文y发起买单bid(也即针对卖单offer_y发起买单bid),则用户对第一用户端执行预设操作,使得第一用户端生成第一报文,并将第二报文y所携带的事务标识填充至第一报文。
此外,如果第一中间件解析出的多个第一交易中包括需要调用智能合约的目标交易,则第一中间件以第一报文携带的事务标识为索引,通过查询预先保存的多个关联关系,确定出该事务标识对应的合约地址。然后,第一中间件将确定出的合约地址填充至目标交易。
如图1所示,第一中间件在接收到第一用户端发送的第一报文后,根据第一报文携带的事务标识,查找携带相同事务标识的第二报文。
如图1所示,第一中间件根据查找到的第二报文和接收到的第一报文,生成一个或多个第一交易。
具体实现时,与第二中间件解析第二报文的方式同理,第一中间件中预设有多个报文解析策略,每个报文解析策略分别对应一种业务类型标识,并用于对包含相应业务类型标识的报文进行解析,以获得与相应业务类型相关的一个或多个交易。
当第一中间件接收到第一用户端发送的第一报文后,从第一报文中读取业务类型标识,并根据读取的业务类型标识,从预设的多个报文解析策略中确定该业务类型标识对应的报文解析策略。然后,第一中间件基于确定出的报文解析策略,从查找到的第二报文和所述第一报文中读取数据,并将读取的数据填充至该报文解析策略限定的交易模板,从而生成第一交易。
具体实现时,一个报文解析策略实际是一段计算机程序,第二中间件通过运行该段计算机程序,从而执行该报文解析策略。
其中,报文解析策略至少用于对报文解析操作做以下限定:
1、报文解析策略限定的若干交易模板,若干交易模板各自的交易类型是确定的,若干交易模板之间的时序关系也是确定的,每个交易模板中包括一个或多个空字段,用于填充业务参数;
2、针对每个交易模块所对应的交易,限定其所需的业务参数;并且针对交易所需的每个业务参数,限定具体从哪个报文的哪个字段处获取该业务参数,以及将获取的业务参数填充至交易模板的哪个空字段处。
需要说明的是,报文解析策略对报文解析操作的上述限定,仅作为示例。本领域技术人员在上述示例的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
为便于理解,沿用上述示例,第一用户端的用户想针对第二报文y发起买单bid(也即针对卖单offer_y发起买单bid),用户对第一用户端执行预设操作,使得第一用户端生成第一报文,该第一报文中携带事务标识,该事务标识等于第二报文y所携带的事务标识。
第一中间件接收到该第一报文后,根据第一报文携带的事务标识,查找到第二报文y。然后,第一中间件从第一报文和第二报文y中读取用于生成交易的业务参数,并将读取的业务参数填充至报文解析策略所限定的交易模板,从而生成一个或多个第一交易。其中,从第二报文y中读取的业务参数包括但不限于:卖单offer发起方的地址。
可见本发明中,第一中间件在将第一报文解析成交易时,会自动根据第一报文携带的事务标识,获取携带相同事务标识的第二报文。然后第一中间件根据第一报文的内容和第二报文的内容,生成一个或多个第一交易。如此,用户在利用第一用户端生成第一报文时,通过指示相应的事务标识,从而不需要再封装过多的业务参数。不仅有利于减少第一报文的数据量,降低网络消耗,还可以进一步提升业务处理的便利性。
如图1所示,第一中间件在生成一个或多个第一交易之后,针对每个第一交易,将该第一交易和第一报文携带的用户标识发送给密钥管理***,并接收密钥管理***返回的利用第一用户端的私钥签名后的第一交易。
具体实现时,密钥管理***中存储了多个用户的私钥。当密钥管理***接收到第一中间件发送的第一交易和用户标识后,以该用户标识为索引,查找到该用户标识对应的私钥,然后用查找到的私钥对该第一交易进行签名。最后,密钥管理***将签名后的第一交易返回给第一中间件。
如图1所示,第一中间件在利用密钥管理***对第一交易进行签名后,根据多个第一交易的时序关系,逐个将签名后的第一交易提交给区块链网络执行。
其中,在逐个提交第一交易时,当接收到上一个第一交易的执行结果后,才将当前的第一交易提交给区块链网络执行。
为便于理解,假设第一中间件生成了时序关系如下的多个第一交易:第一交易x、第一交易y以及第一交易z。则第一中间件在提交第一交易期间,首先将签名后的第一交易x提交给区块链网络执行。当第一中间件接收到区块链网络返回的第一交易x的执行结果后,再将签名后的第一交易y提交给区块链网络执行。当第一中间件接收到区块链网络返回的第一交易y的执行结果后,再将签名后的第一交易z提交给区块链网络执行。
通过上述方式提交交易,使得区块链网络严格按照各第一交易的时序关系,依次执行各个第一交易,可以避免因第一交易执行顺序的错乱而导致整个业务处理失败。
此外,如图1所示,第二中间件也可以持续地同步区块链网络的区块数据。与第一中间件同理地,第二中间件可以从区块数据中获取第一交易,并根据携带相同报文标识的第一交易,返组出第一报文,然后将返组出的第一报文发送给第二用户端。如此,使得第二用户端可以根据该第一报文,获知其发布的卖单offer已经被相应的卖单bid购买。为简化附图,图1中仅用虚线箭头示意性地表示出该段的技术内容。
本发明中,用户为了开展业务,不需要手动构建交易,而是将业务参数封装成第一报文,并将第一报文发送给中间件。中间件接收到第一报文后,根据第一报文携带的事务标识,查找携带相同事务标识的第二报文。如此,中间件可以从查找到的第二报文中获取与业务相关的历史数据。最后,中间件根据查找到的第二报文和接收到的第一报文,自动地生成一个或多个第一交易,并将这些交易提交给区块链网络执行。可见本发明中,用户开展业务期间,不需要手动构建交易,因此有利于提高业务开展的便利性,进而提高业务处理效率。
以上,本发明通过一些较佳实施例,提出了基于业务处理***的业务处理方法。以下,本发明通过另一些实施例,提出了另一些业务处理方法。需要说明的是,以下实施例可与以上实施例相互参照。还需要说明的是,以下实施例提出的业务处理方法在实施期间,并不一定依赖于图1所示的业务处理***。
参考图2,图2是本发明一实施例提出的业务处理方法的流程图。该业务处理方法可应用于中间件,该中间件可以是处于区块链网络和用户端之间的软件程序或硬件设备。如图2所示,该业务处理方法包括以下步骤:
步骤S21:接收目标用户端发送的第一报文,所述第一报文携带事务标识。
步骤S22:根据第一报文携带的事务标识,查找携带相同事务标识的第二报文。
步骤S23:根据查找到的第二报文和所述第一报文,生成一个或多个第一交易。
步骤S24:将所述一个或多个第一交易提交给区块链网络执行。
本发明中,具有相同事务标识的多个报文,是用于处理同一事务的多个报文,或者是用于处理多个关联事务的多个报文。
本发明中,用户为了开展业务,不需要手动构建交易,而是将业务参数封装成第一报文,并将第一报文发送给中间件。中间件接收到第一报文后,根据第一报文携带的事务标识,查找携带相同事务标识的第二报文。如此,中间件可以从查找到的第二报文中获取与业务相关的历史数据。最后,中间件根据查找到的第二报文和接收到的第一报文,自动地生成一个或多个第一交易,并将这些交易提交给区块链网络执行。可见本发明中,用户开展业务期间,不需要手动构建交易,因此有利于提高业务开展的便利性,进而提高业务处理效率。
可选地,在一些具体实施方式中,如前所述,所述第一报文还携带业务类型标识。在执行上述步骤S23时,具体执行以下子步骤:
子步骤S23-1:根据所述第一报文携带的业务类型标识,从多个预设的报文解析策略中确定与所述业务类型标识对应的报文解析策略。
子步骤S23-2:基于确定出的报文解析策略,从查找到的第二报文和所述第一报文中读取数据,并将读取的数据填充至该报文解析策略限定的交易模板,从而生成第一交易。
对于子步骤S23-1和子步骤S23-2的具体说明,可参见前述较佳实施例,为避免重复,此处不做赘述。
可选地,在一些具体实施方式中,在根据第一报文和第二报文生成了多个第一交易的情况下,所述报文解析策略还限定了多个第一交易之间的时序关系。在执行上述步骤S24时,具体地:根据多个第一交易的时序关系,逐个将第一交易提交给区块链网络执行,其中,在逐个提交第一交易时,当接收到上一个第一交易的执行结果后,才将当前的第一交易提交给区块链网络执行。
本发明中,通过上述具体实施方式提交第一交易,使得区块链网络严格按照各第一交易的时序关系,依次执行各个第一交易,可以避免因第一交易执行顺序的错乱而导致整个业务处理失败。
对于上述具体实施方式的具体说明,可参见前述较佳实施例,为避免重复,此处不做赘述。
可选地,在一些具体实施方式中,如前所述,所述第一报文还携带目标用户端的用户标识。在执行上述步骤S24之前,中间件还可以针对每个第一交易,将该第一交易和目标用户端的用户标识发送给密钥管理***,并接收密钥管理***返回的利用目标用户端的私钥签名后的第一交易。在执行上述步骤S24时,具体地:中间件将签名后的所述一个或多个第一交易提交给区块链网络执行。
本发明中,由于第一交易是中间件生成的,而不是用户端生成的,因此在用户端侧无法对第一交易进行签名。为了提高业务处理过程的安全性,中间件在生成第一交易后,调用密钥管理***对第一交易进行签名,从而达到提高业务处理过程的安全性的目的。
可选地,在一些具体实施方式中,如前所述,中间件还执行以下步骤:从所述区块链网络获取第二交易,每个第二交易携带报文标识,由同一个第二报文解析成的多个第二交易携带相同的报文标识,由同一个第二报文解析成的多个第二交易中的至少一个第二交易,携带该第二报文的事务标识;根据携带相同报文标识的多个第二交易,返组出相应的第二报文;从所述携带相同报文标识的多个第二交易中的任一第二交易中,读取该第二交易携带的事务标识,并将读取的事务标识填充至返组出的第二报文中;对填充了事务标识的第二报文进行存储,并将其发送给所述目标用户端。
具体实现时,由同一个第二报文解析成的多个第二交易中的至少一个第二交易,携带该第二报文的业务类型标识。为了返组出相应的第二报文,具体地:中间件从所述携带相同报文标识的多个第二交易中的任一第二交易中,读取该第二交易携带的业务类型标识;中间件根据读取的业务类型标识,从多个预设的报文返组策略中确定与所述业务类型标识对应的报文返组策略;中间件基于确定出的报文返组策略,从所述携带相同报文标识的多个第二交易中读取用于返组第二报文的数据,以返组第二报文。
本发明中,由于每个第二交易携带报文标识,并且由同一个第二报文解析成的多个第二交易携带相同的报文标识。因此,携带相同报文标识的多个第二交易对应同一个第二报文,进而也与该第二报文所需处理的业务相对应。如此,根据携带相同报文标识的多个第二交易返组出的第二报文,能够反映比较完整的业务信息。然后再将返组出的第二报文发送给目标用户端,使得目标用户端可以通过解析第二报文,从而简便快捷地获得业务信息。可见,通过实施本发明,能够提高信息传递的便利性,提升用户体验。
可选地,在一些具体实施方式中,所述第二报文用于发布卖单,所述第一报文用于发布买单,如果所述第一报文和所述第二报文携带相同的事务标识,则所述第一报文发布的买单和所述第二报文发布的卖单是一对具有买卖关系的订单。
或者可选地,在另一些具体实施方式中,所述第二报文用于发布买单,所述第一报文用于发布卖单,如果所述第一报文和所述第二报文携带相同的事务标识,则所述第一报文发布的卖单和所述第二报文发布的买单,是一对具有买卖关系的订单。
基于同一发明构思,本发明实施例还提供一种业务处理装置。参考图3,图3是本发明一实施例提出的业务处理装置的示意图,该装置应用于中间件。
如图3所示,该装置包括:
报文接收模块31,用于接收目标用户端发送的第一报文,所述第一报文携带事务标识;
报文查找模块32,用于根据第一报文携带的事务标识,查找携带相同事务标识的第二报文;
交易生成模块33,用于根据查找到的第二报文和所述第一报文,生成一个或多个第一交易;
交易提交模块34,用于将所述一个或多个第一交易提交给区块链网络执行。
可选地,在一些具体实施方式中,所述第一报文还携带业务类型标识;所述交易生成模块包括:
解析策略确定单元,用于根据所述第一报文携带的业务类型标识,从多个预设的报文解析策略中确定与所述业务类型标识对应的报文解析策略;
解析策略执行单元,用于基于确定出的报文解析策略,从查找到的第二报文和所述第一报文中读取数据,并将读取的数据填充至该报文解析策略限定的交易模板,从而生成第一交易。
可选地,在一些具体实施方式中,在生成了多个第一交易的情况下,所述报文解析策略还限定了多个第一交易之间的时序关系;所述交易提交模块具体用于:根据多个第一交易的时序关系,逐个将第一交易提交给区块链网络执行,其中,在逐个提交第一交易时,当接收到上一个第一交易的执行结果后,才将当前的第一交易提交给区块链网络执行。
可选地,在一些具体实施方式中,所述第一报文还携带目标用户端的用户标识;所述装置还包括:
交易签名模块,用于在将所述一个或多个第一交易提交给区块链网络执行之前,针对每个第一交易,将该第一交易和目标用户端的用户标识发送给密钥管理***,并接收密钥管理***返回的利用目标用户端的私钥签名后的第一交易;
所述所述交易提交模块具体用于:将签名后的所述一个或多个第一交易提交给区块链网络执行。
可选地,在一些具体实施方式中,所述装置还包括:
交易获取模块,用于从所述区块链网络获取第二交易,每个第二交易携带报文标识,由同一个第二报文解析成的多个第二交易携带相同的报文标识,由同一个第二报文解析成的多个第二交易中的至少一个第二交易,携带该第二报文的事务标识;
报文返组模块,用于根据携带相同报文标识的多个第二交易,返组出相应的第二报文;
事务标识填充模块,用于从所述携带相同报文标识的多个第二交易中的任一第二交易中,读取该第二交易携带的事务标识,并将读取的事务标识填充至返组出的第二报文中;
报文发送模块,用于对填充了事务标识的第二报文进行存储,并将其发送给所述目标用户端。
可选地,在一些具体实施方式中,由同一个第二报文解析成的多个第二交易中的至少一个第二交易,携带该第二报文的业务类型标识;所述报文返组模块包括:
业务类型标识读取单元,用于从所述携带相同报文标识的多个第二交易中的任一第二交易中,读取该第二交易携带的业务类型标识;
返组策略确定单元,用于根据读取的业务类型标识,从多个预设的报文返组策略中确定与所述业务类型标识对应的报文返组策略;
返组策略执行单元,用于基于确定出的报文返组策略,从所述携带相同报文标识的多个第二交易中读取用于返组第二报文的数据,以返组第二报文。
可选地,在一些具体实施方式中,所述第二报文用于发布卖单,所述第一报文用于发布买单,如果所述第一报文和所述第二报文携带相同的事务标识,则所述第一报文发布的买单和所述第二报文发布的卖单是一对具有买卖关系的订单;
或者,
所述第二报文用于发布买单,所述第一报文用于发布卖单,如果所述第一报文和所述第二报文携带相同的事务标识,则所述第一报文发布的卖单和所述第二报文发布的买单,是一对具有买卖关系的订单。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
基于同一发明构思,本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。
所述存储器403,用于存放计算机程序;
所述处理器401,用于在执行存储器403上所存放的程序时,实现如下步骤:
接收目标用户端发送的第一报文,所述第一报文携带事务标识;
根据第一报文携带的事务标识,查找携带相同事务标识的第二报文;
根据查找到的第二报文和所述第一报文,生成一个或多个第一交易;
将所述一个或多个第一交易提交给区块链网络执行。
或者,处理器401用于在执行存储器403上所存放的程序时,实现本发明以上其他方法实施例所提供的业务处理方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的业务处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较优实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种业务处理方法,其特征在于,应用于中间件,所述方法包括:
接收目标用户端发送的第一报文,所述第一报文携带事务标识;
根据第一报文携带的事务标识,查找携带相同事务标识的第二报文;
根据查找到的第二报文和所述第一报文,生成一个或多个第一交易;
将所述一个或多个第一交易提交给区块链网络执行。
2.根据权利要求1所述的方法,所述第一报文还携带业务类型标识;所述根据查找到的第二报文和所述第一报文,生成一个或多个第一交易,包括:
根据所述第一报文携带的业务类型标识,从多个预设的报文解析策略中确定与所述业务类型标识对应的报文解析策略;
基于确定出的报文解析策略,从查找到的第二报文和所述第一报文中读取数据,并将读取的数据填充至该报文解析策略限定的交易模板,从而生成第一交易。
3.根据权利要求2所述的方法,其特征在于,在生成了多个第一交易的情况下,所述报文解析策略还限定了多个第一交易之间的时序关系;所述将所述一个或多个第一交易提交给区块链网络执行,包括:
根据多个第一交易的时序关系,逐个将第一交易提交给区块链网络执行,其中,在逐个提交第一交易时,当接收到上一个第一交易的执行结果后,才将当前的第一交易提交给区块链网络执行。
4.根据权利要求1所述的方法,其特征在于,所述第一报文还携带目标用户端的用户标识;在将所述一个或多个第一交易提交给区块链网络执行之前,所述方法还包括:
针对每个第一交易,将该第一交易和目标用户端的用户标识发送给密钥管理***,并接收密钥管理***返回的利用目标用户端的私钥签名后的第一交易;
所述将所述一个或多个第一交易提交给区块链网络执行,包括:
将签名后的所述一个或多个第一交易提交给区块链网络执行。
5.根据权要求2至4任一所述的方法,其特征在于,所述方法还包括:
从所述区块链网络获取第二交易,每个第二交易携带报文标识,由同一个第二报文解析成的多个第二交易携带相同的报文标识,由同一个第二报文解析成的多个第二交易中的至少一个第二交易,携带该第二报文的事务标识;
根据携带相同报文标识的多个第二交易,返组出相应的第二报文;
从所述携带相同报文标识的多个第二交易中的任一第二交易中,读取该第二交易携带的事务标识,并将读取的事务标识填充至返组出的第二报文中;
对填充了事务标识的第二报文进行存储,并将其发送给所述目标用户端。
6.根据权利要求5所述的方法,其特征在于,由同一个第二报文解析成的多个第二交易中的至少一个第二交易,携带该第二报文的业务类型标识;所述根据携带相同报文标识的多个第二交易,返组出相应的第二报文,包括:
从所述携带相同报文标识的多个第二交易中的任一第二交易中,读取该第二交易携带的业务类型标识;
根据读取的业务类型标识,从多个预设的报文返组策略中确定与所述业务类型标识对应的报文返组策略;
基于确定出的报文返组策略,从所述携带相同报文标识的多个第二交易中读取用于返组第二报文的数据,以返组第二报文。
7.根据权利要求5所述的方法,其特征在于,所述第二报文用于发布卖单,所述第一报文用于发布买单,如果所述第一报文和所述第二报文携带相同的事务标识,则所述第一报文发布的买单和所述第二报文发布的卖单是一对具有买卖关系的订单;
或者,
所述第二报文用于发布买单,所述第一报文用于发布卖单,如果所述第一报文和所述第二报文携带相同的事务标识,则所述第一报文发布的卖单和所述第二报文发布的买单,是一对具有买卖关系的订单。
8.一种业务处理装置,其特征在于,应用于中间件,所述装置包括:
报文接收模块,用于接收目标用户端发送的第一报文,所述第一报文携带事务标识;
报文查找模块,用于根据第一报文携带的事务标识,查找携带相同事务标识的第二报文;
交易生成模块,用于根据查找到的第二报文和所述第一报文,生成一个或多个第一交易;
交易提交模块,用于将所述一个或多个第一交易提交给区块链网络执行。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011191803.1A CN112269915B (zh) | 2020-10-30 | 2020-10-30 | 业务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011191803.1A CN112269915B (zh) | 2020-10-30 | 2020-10-30 | 业务处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112269915A true CN112269915A (zh) | 2021-01-26 |
CN112269915B CN112269915B (zh) | 2023-08-25 |
Family
ID=74346176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011191803.1A Active CN112269915B (zh) | 2020-10-30 | 2020-10-30 | 业务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269915B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113205330A (zh) * | 2021-06-09 | 2021-08-03 | 中国银行股份有限公司 | 分布式支付平台***的重复报文识别***及方法 |
CN115766865A (zh) * | 2023-01-09 | 2023-03-07 | 利尔达科技集团股份有限公司 | 一种面向5g智能终端异构平台应用服务方法及*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170243215A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for external secure access to process data network |
CN108616578A (zh) * | 2018-04-09 | 2018-10-02 | 上海点融信息科技有限责任公司 | 跨区块链平台的业务处理方法、设备及计算机可读存储介质 |
CN109785136A (zh) * | 2019-01-30 | 2019-05-21 | 北京京东尚科信息技术有限公司 | 一种区块链的交易处理方法、客户端及区块链网络 |
US20190340266A1 (en) * | 2018-05-01 | 2019-11-07 | International Business Machines Corporation | Blockchain implementing cross-chain transactions |
CN110532810A (zh) * | 2019-08-30 | 2019-12-03 | 北京海益同展信息科技有限公司 | 信息处理方法、装置、电子设备及可读存储介质 |
CN111080295A (zh) * | 2019-12-04 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种基于区块链的电子合同处理方法以及设备 |
CN111478828A (zh) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 区块链网络的压力测试方法及装置、*** |
CN111507815A (zh) * | 2020-04-20 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 基于区块链的信息获取方法、装置、设备及存储介质 |
CN111523891A (zh) * | 2020-04-23 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 基于区块链的信息加密方法、装置、设备及存储介质 |
-
2020
- 2020-10-30 CN CN202011191803.1A patent/CN112269915B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170243215A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for external secure access to process data network |
CN108616578A (zh) * | 2018-04-09 | 2018-10-02 | 上海点融信息科技有限责任公司 | 跨区块链平台的业务处理方法、设备及计算机可读存储介质 |
US20190340266A1 (en) * | 2018-05-01 | 2019-11-07 | International Business Machines Corporation | Blockchain implementing cross-chain transactions |
CN109785136A (zh) * | 2019-01-30 | 2019-05-21 | 北京京东尚科信息技术有限公司 | 一种区块链的交易处理方法、客户端及区块链网络 |
CN110532810A (zh) * | 2019-08-30 | 2019-12-03 | 北京海益同展信息科技有限公司 | 信息处理方法、装置、电子设备及可读存储介质 |
CN111080295A (zh) * | 2019-12-04 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种基于区块链的电子合同处理方法以及设备 |
CN111507815A (zh) * | 2020-04-20 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 基于区块链的信息获取方法、装置、设备及存储介质 |
CN111523891A (zh) * | 2020-04-23 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 基于区块链的信息加密方法、装置、设备及存储介质 |
CN111478828A (zh) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 区块链网络的压力测试方法及装置、*** |
Non-Patent Citations (2)
Title |
---|
NELSON BORE 等: "On Using Blockchain Based Workflows" * |
王占兵: "基于区块链的云数据库完整性验证机制研究" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113205330A (zh) * | 2021-06-09 | 2021-08-03 | 中国银行股份有限公司 | 分布式支付平台***的重复报文识别***及方法 |
CN113205330B (zh) * | 2021-06-09 | 2024-05-24 | 中国银行股份有限公司 | 分布式支付平台***的重复报文识别***及方法 |
CN115766865A (zh) * | 2023-01-09 | 2023-03-07 | 利尔达科技集团股份有限公司 | 一种面向5g智能终端异构平台应用服务方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN112269915B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110349056B (zh) | 基于区块链的业务处理***以及方法 | |
US20160342977A1 (en) | Device, method and system for virtual asset transactions | |
CN113243094A (zh) | 使用区块链的零知识证明支付 | |
CN111047321A (zh) | 业务处理方法及装置、电子设备、存储介质 | |
US11729000B2 (en) | Methods and systems for introducing self-contained intent functionality into decentralized computer networks | |
CN111488616A (zh) | 业务数据区块链的预言机实现方法及装置 | |
CN112269915B (zh) | 业务处理方法、装置、设备及存储介质 | |
CN111488615A (zh) | 业务数据区块链的跨链实现方法及装置 | |
US20220052921A1 (en) | Methods and systems for introducing self-contained intent functionality into decentralized computer networks | |
US11706155B1 (en) | Managing cloud acquisitions using distributed ledgers | |
Garcia Bringas et al. | BlockChain platforms in financial services: current perspective | |
CN112488835A (zh) | 业务处理方法、电子设备及可读存储介质 | |
KR102109201B1 (ko) | 사용자 단말기들 사이의 게임 아이템 거래를 중개하는 네트워크 서버 및 그것의 동작 방법 | |
US11997216B2 (en) | Systems and methods for maintaining secure, encrypted communications across distributed computer networks by linking cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
US20230306128A1 (en) | Systems and methods for using secure, encrypted communications across distributed computer networks to provide variable resiliency when indexing blockchain states for performing blockchain operations in decentralized applications using cryptography-based digital repositories | |
US20230269084A1 (en) | Systems and methods for selecting secure, encrypted communications across distributed computer networks for cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
US20230269085A1 (en) | Systems and methods for using secure, encrypted communications across distributed computer networks to efficiently update cryptography-based digital repositories for performing blockchain operations in decentralized applications | |
US20230269086A1 (en) | Systems and methods for using secure, encrypted communications across distributed computer networks to efficiently index blockchain states for performing blockchain operations in decentralized applications using cryptography-based digital repositories | |
CN117952747A (zh) | 基于区块链的权益凭证交易方法、装置、设备和可读介质 | |
CN112270601B (zh) | 信息传递方法、装置、电子设备及可读存储介质 | |
CN114170006A (zh) | 基于状态机的资讯数据获取方法、装置、设备及介质 | |
CN114818002A (zh) | 一种数据处理方法、装置及介质 | |
CN111737729A (zh) | 基于业务数据区块链的评价数据存储方法及*** | |
CN112637267B (zh) | 业务处理方法、装置、电子设备及可读存储介质 | |
US20240070735A1 (en) | Managing cloud resource consumption using distributed ledgers |
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 |