CN112270601B - 信息传递方法、装置、电子设备及可读存储介质 - Google Patents

信息传递方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN112270601B
CN112270601B CN202011187439.1A CN202011187439A CN112270601B CN 112270601 B CN112270601 B CN 112270601B CN 202011187439 A CN202011187439 A CN 202011187439A CN 112270601 B CN112270601 B CN 112270601B
Authority
CN
China
Prior art keywords
message
transaction
transactions
identifier
contract
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.)
Active
Application number
CN202011187439.1A
Other languages
English (en)
Other versions
CN112270601A (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.)
Chengdu Quality Starker Technology Co Ltd
Original Assignee
Chengdu Quality Starker Technology Co Ltd
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 Chengdu Quality Starker Technology Co Ltd filed Critical Chengdu Quality Starker Technology Co Ltd
Priority to CN202011187439.1A priority Critical patent/CN112270601B/zh
Publication of CN112270601A publication Critical patent/CN112270601A/zh
Application granted granted Critical
Publication of CN112270601B publication Critical patent/CN112270601B/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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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个字段处读取前提条件,并将其填充至合约模板的第二个空位处,从而生成待发布的智能合约;
2-2、交易p中需要包含资产类型和资产数额等业务参数;从报文的第31个字段处获取资产类型参数,并将获取的资产类型参数填入交易p的第3个字段处;从报文的第32和第33个字段处获取资产数额参数,并将获取的资产数额参数填入交易p的第4和第5个字段处。
需要说明的是,上述示例中所涉及的具体数据(例如业务类型标识、交易数量、业务参数、字段编号等),仅作为示意性举例。本发明在实际实施期间,所涉及的实际数据可以与上述示例中的数据相同或不同。
还需要说明的是,报文解析策略对报文解析操作的上述限定,仅作为示例。本领域技术人员在上述示例的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
可选地,在一些具体实施方式中,当第一中间件将第一报文解析成多个交易后。第一中间件将预先为该第一报文生成的报文标识,填充至每个交易中。如此,由该第一报文解析出的多个交易携带相同的报文标识。
此外,第一中间件还将第一报文包含的业务类型标识填充至每个交易,或者第一中间件将第一报文包含的业务类型标识填充至部分交易中。
此外,第一中间件还将第一报文的事务标识填充至每个交易,或者第一中间件将第一报文的事务标识填充至部分交易中。
如图1所示,第一中间件将第一报文解析成一个或多个交易后,将这些交易提交给区块链网络执行。对于区块链网络执行交易的具体方式,可参见上文,为简化附图,图1中未示出区块链网络执行交易的具体方式。
如图1所示,第二中间件持续地同步区块链网络产生的区块数据,并从同步到的区块数据中获取交易数据。第二中间件根据携带相同报文标识的多个交易,组装第二报文。
其中,每笔交易数据中包含一个交易以及该交易的执行结果。示例地,交易的执行结果可以形如“yes”和“no”。如果交易的执行结果为“yes”,则表示该交易执行成功,如果交易的执行结果为“no”,则表示该交易执行失败。
可选地,在一些具体实施方式中,第二中间件从每笔交易数据中读取出交易及其执行结果后,可以存储该交易及其执行结果。此外,第二中间件检测每个交易所携带的报文标识,并将携带相同报文标识的多个交易作为一组交易。
可选地,在一些具体实施方式中,第二中间件中预设有多个报文组装策略,每个报文组装策略分别对应一种业务类型标识,并用于对携带相应业务类型标识的一组交易进行组装处理,从而组装出与业务类型相关的第二报文。
当第二中间件获取到一组交易后,从该组交易中的任一交易中读取该交易携带的业务类型标识。第二中间件根据读取的业务类型标识,从预设的多个报文组装策略中确定该业务类型标识对应的报文组装策略。然后,第二中间件基于确定出的报文组装策略,从该组交易中获取用于组装报文的数据,从而组装出第二报文。
具体实现时,一个报文组装策略实际是一段计算机程序,第二中间件通过运行该段计算机程序,从而执行该报文组装策略。
其中,报文组装策略至少用于对报文组装操作做以下限定:
1、为了组装完整的第二报文而要求的交易需求量;
2、组装成的第二报文的报文头中所需包含的数据;并且针对报文头所需包含的每个数据,限定具体从哪个交易的哪个字段处获取该数据,并限定将该数据填充至报文头的哪个字段处;
3、组装成的第二报文的报文体中所需包含的业务数据;并且针对报文体所需包含的每个业务数据,限定具体从哪个交易的哪个字段处获取该业务数据,并限定将该业务数据填充至报文体的哪个字段处。
针对上述第1点限定,具体实现时,当第二中间件为一组交易确定出报文组装策略后,读取该报文组装策略所限定的交易需求量。然后,第二中间件统计该组交易所包含的交易数量,也即统计携带相同报文标识的多个交易的数量。最后,第二中间件将该组交易所包含的交易数量与交易需求量对比,以判断两者是否相等。
如果两者相等,则第二中间件基于报文组装策略的上述第2和第3点限定,从该组交易中获取用于组装报文的数据,以组装第二报文。
如果两者不相等,则第二中间件暂停报文组装操作。
需要说明的是,报文组装策略对报文组装操作的上述限定,仅作为示例。本领域技术人员在上述示例的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
如图1所示,第二中间件还根据携带相同报文标识的多个交易各自的执行结果,确定总业务结果,并将确定出的总业务结果填充至组装出的第二报文中。
具体实现时,第二中间件可以将总业务结果填充至报文头或报文尾的指定字段处,该指定字段专门用于记录总业务结果。
本发明中,由于携带相同报文标识的多个交易对应同一个第一报文,因此根据这些交易各自的执行结果所确定出的总业务结果,能反映该第一报文所需处理的业务的处理结果。
可选地,在一些具体实施方式中,如果携带相同报文标识的多个交易各自的执行结果均为“yes”,则确定总业务结果为“yes”。换言之,如果携带相同报文标识的多个交易均执行成功,则确定总业务结果为执行成功,也即第一报文所需处理的业务被处理成功。
如果携带相同报文标识的多个交易各自的执行结果并非均为“yes”,则确定总业务结果为“no”。换言之,如果携带相同报文标识的多个交易并非全部执行成功,则确定总业务结果为执行失败,也即第一报文所需处理的业务未被处理成功。
如图1所示,如果携带相同报文标识的多个交易中包含合约发布交易,则第二中间件从该合约发布交易中读取合约地址。并且,第二中间件还从携带相同报文标识的多个交易中的任一交易中,读取该交易携带的事务标识。最后,第二中间件将读取的合约地址和事务标识关联。
具体实现时,第二中间件中保存了多个关联关系,每个关联关系表示:一个事务标识和一个合约地址之间的关联。第二中间件在后续将第三报文解析成交易时,可能会调用这些关联关系。
如图1所示,第二中间件还将读取的事务标识填充至组装出的第二报文中,使得第二用户端在接收到第二报文后,可以从第二报文中获取到事务标识。
具体实现时,第二中间件可以将事务标识填充至报文头或报文尾的指定字段处,该指定字段专门用于记录事务标识。
此外,可选地,在一些具体实施方式中,第二中间件还可以为第二报文生成报文标识,并将生成的报文标识填充至第二报文中。
此外,可选地,在一些具体实施方式中,第二中间件还可以将预先从交易中读取的业务类型标识,填充至第二报文中。
如图1所示,第二中间件将组装出的第二报文发送给第二用户端。
可选地,在一些具体实施方式中,如前所述,每个中间件分别对应多个用户端。第二中间件在组装出第二报文,并在第二报文中填充总业务结果、事务标识、报文标识、业务类型标识等数据后,将第二报文发送给第二中间件对应的每个第二用户端。
可选地,在另一些具体实施方式中,第二用户端可以预先订阅部分第一用户端的消息,第二中间件中记录了每个第二用户端的订阅信息。具体地,如果某一第二用户端的订阅信息中包含第一用户端a1、第一用户端a2以及第一用户端a5各自的用户标识,则第二用户端相当于订阅了第一用户端a1、第一用户端a2以及第一用户端a5各自的消息。
此外,第一用户端向第一中间件发送的第一报文中,包含第一用户端的用户标识。由第一报文解析成的一个或多个交易中继承了该第一报文所包含的用户标识。当这些交易被第二中间件组装成第二报文后,第二中间件从这些交易中读取出用户标识。然后第二中间件针对其自身对应的每个第二用户端,判断该第二用户端的订阅信息中是否包含该用户标识,如果包含,则将组装成的第二报文发送给该第二用户端。
为便于理解,示例地,假设第二中间件根据多个交易组装出第二报文后,第二中间件从多个交易中读取出第一用户端的用户标识a2。然后第二中间件针对其自身对应的每个第二用户端(b1至b10),判断该第二用户端的订阅信息中是否包含该用户标识。如果第二用户端b1的订阅信息中不包含用户标识a2,则第二中间件不会将组装出的第二报文发送给第二用户端b1。如果第二用户端b2的订阅信息中包含用户标识a2,则第二中间件需要将组装出的第二报文发送给第二用户端b2。
本发明中,由于每个交易携带报文标识,并且由同一个第一报文解析成的多个交易携带相同的报文标识。因此,携带相同报文标识的多个交易对应同一个第一报文,进而也与该第一报文所需处理的业务相对应。如此,根据携带相同报文标识的多个交易组装出的第二报文,能够反映比较完整的业务信息。然后再将组装出的第二报文发送给目标用户端(例如前述第二用户端),使得目标用户端可以通过解析第二报文,从而简便快捷地获得业务信息。可见,通过实施本发明,能够提高信息传递的便利性,提升用户体验。
此外,如图1所示,第二用户端在产生业务需求的情况下,向第二中间件发送了一个第三报文,该第三报文中包含业务类型标识和事务标识。
其中,第三报文中的事务标识,来自于第二用户端预先接收的第二报文。具体实现时,第二用户端在接收到每个第二报文后,存储第二报文,并对第二报文进行解析,以及将解析结果显示给用户。当用户从多个第二报文中选择出一个第二报文,并需要针对该第二报文执行后续关联行为时,用户对第二用户端执行预设操作(例如触控、鼠标控制、键盘控制、语音输入等),使得第二用户端生成第三报文,该第三报文中包含事务标识,该事务标识等于用户选择出的第二报文所包含的事务标识。
为便于理解,示例地,假设第一用户端a1发出了一个用于发起卖单offer_x的第一报文x。通过上文所述的各处理步骤后,组装出相应的第二报文x,第二报文x携带第一报文x所包含的事务标识。第二用户端会显示第二报文x的内容。
又假设第一用户端a2发出了一个用于发起卖单offer_y的第一报文y。通过上文所述的各处理步骤后,组装出相应的第二报文y,第二报文y携带第一报文y所包含的事务标识。第二用户端会显示第二报文y的内容。
如果第二用户端的用户想针对第二报文y发起买单bid(也即针对卖单offer_y发起买单bid),则用户对第二用户端执行预设操作,使得第二用户端生成第三报文,该第三报文中包含事务标识,该事务标识等于第二报文y所包含的事务标识。
如图1所示,第二中间件在接收到第二用户端发送的第三报文后,将第三报文解析成一个或多个交易。其中,每个交易携带相同的报文标识,至少一个交易携带该第三报文所包含的业务类型标识,至少一个交易携带该第三报文所包含的事务标识。
对于第二中间件如何将第三报文解析成多个交易,具体可参见上文中第一中间件解析第一报文的解析方式。为避免重复,此处不做赘述。
此外,如图1所示,如果第三中间件解析出的多个交易中包括需要调用智能合约的目标交易,则第三中间件从第三报文中读取出事务标识。第三中间件通过查询预先保存的多个关联关系,确定出该事务标识对应的合约地址。第三中间件将确定出的合约地址填充至目标交易。
如图1所示,第三中间件将解析成的一个或多个交易提交给所述区块链网络执行。对于区块链网络执行交易的具体方式,可参见上文,为简化附图,图1中未示出区块链网络执行交易的具体方式。
需要说明的是,区块链网络在执行目标交易时,可以根据目标交易携带的合约地址,调用相应的智能合约。
可选地,在一些具体实施方式中,如前所述,第一报文用于发布卖单offer,第三报文用于发布买单bid,由第一报文解析成的合约发布交易用于发布交易合约。如果第三报文包含的事务标识所关联的合约地址,等于该交易合约的合约地址,则第三报文发布的买单bid与第一报文发布的卖单offer是一对具有买卖关系的订单。
或者可选地,在一些具体实施方式中,第一报文用于发布买单bid,第三报文用于发布卖单offer,由第一报文解析成的合约发布交易用于发布交易合约。如果第三报文包含的事务标识所关联的合约地址,等于该交易合约的合约地址,则第三报文发布的卖单offer与第一报文发布的买单bid是一对具有买卖关系的订单。
本发明中,通过为报文设置事务标识,并通过事务标识来表征多个报文是否用于处理同一事务,或者表征多个报文是否用于处理多个关联事务。如此,使得用于处理同一事务(或多个关联事务)的多个报文之间能相互关联。
此外,中间件还建立了事务标识与合约地址之间的关联关系。中间件在解析报文时,根据报文包含的事务标识,关联出相应的合约地址,并将该合约地址填充至解析出的目标交易,使得区块链网络在执行目标交易时,可以根据目标交易携带的合约地址,调用相应的智能合约。如此,使得多个报文之间可以相互配合地对同一智能合约进行相关操作,从而实现对同一事务(或多个关联事务)的处理。
还需要说明的是,在一些具体实施方式中,第一中间件除了可以执行上文中发生在第一中间件处的步骤,第一中间件还可以执行上文中发生在第二中间件处的步骤。同理地,第二中间件除了可以执行上文中发生在第二中间件处的步骤,第二中间件还可以执行上文中发生在第一中间件处的步骤。
以上,本发明通过一些较佳实施例,提出了基于业务处理系统的信息传递方法。以下,本发明通过另一些实施例,提出了另一些信息传递方法。需要说明的是,以下实施例可与以上实施例相互参照。还需要说明的是,以下实施例提出的信息传递方法在实施期间,并不一定依赖于图1所示的业务处理系统。
参考图2,图2是本发明一实施例提出的信息传递方法的流程图。该信息传递方法可应用于中间件,该中间件可以是处于区块链网络和用户端之间的软件程序或硬件设备。如图2所示,该信息传递方法包括以下步骤:
步骤S21:从区块链网络获取交易,每个交易携带报文标识,由同一个第一报文解析成的多个交易携带相同的报文标识。
本发明中,每个第一报文分别对应一个具有唯一性的报文标识。由同一个第一报文解析成的多个交易,均携带该第一报文所对应的报文标识。如此,携带相同报文标识的多个交易对应同一个第一报文,进而也与该第一报文所需处理的业务相对应。
可选地,在一些具体实施方式中,如前所述,为了从区块链网络获取交易,可以从区块链网络的区块数据中获取交易数据,每笔交易数据包含一个交易以及该交易的执行结果。具体实现时,可以持续地同步区块链网络产生的区块,区块的区块体中包含一笔或多笔交易数据,每笔交易数据通常为单独的一行,或者为单独的一段。
或者可选地,在另一些具体实施方式中,为了从区块链网络获取交易,还可以从区块链网络的账本数据库中获取交易数据。具体实现时,可以持续地同步区块链网络的账本数据库,并从同步到的账本数据中检测交易并提取交易。
或者可选地,在另一些具体实施方式中,还可以通过以下技术方案,使得中间件从区块链网络获取交易。具体技术方案为:区块链网络内的指定节点每接收到交易后,就将接收的交易发送给指定节点对应的中间件。如此,中间件陆续获得指定节点发来的多个交易。
由于区块数据和账本数据,是区块链网络通过共识后的数据,具有更高的可信度。因此本发明在具体实现时,优选从区块数据或账本数据中获取交易。
需要说明的是,本发明中,对于如何将第一报文解析成一个或多个交易的具体过程,可参考上述较佳实施例。但是本发明对该具体过程,并不做限定。本发明更关心的是如何提高目标用户端从区块链网络获取信息的便利性,而不太关心用户端如何向区块链网络发送交易。
步骤S22:根据携带相同报文标识的多个交易,组装第二报文。
本发明中,由于携带相同报文标识的多个交易对应同一个第一报文,进而也与该第一报文所需处理的业务相对应。如此,根据携带相同报文标识的多个交易组装出的第二报文,能够反映比较完整的业务信息,该业务信息也即是相应第一报文所需处理的业务的信息。
可选地,在一些具体实施方式中,如前所述,每个第一报文包含业务类型标识,由同一个第一报文解析成的多个交易中,至少存在一个交易携带该第一报文所包含的业务类型标识。
在执行步骤S22时,具体是执行步骤S22所包含的以下子步骤:
子步骤S22-1:从所述携带相同报文标识的多个交易中的任一交易中,读取该交易携带的业务类型标识,并从多个预设的报文组装策略中,确定与该业务类型标识对应的报文组装策略。
子步骤S22-2:基于确定出的报文组装策略,从所述携带相同报文标识的多个交易中获取用于组装报文的数据,以组装第二报文。
其中,报文组装策略限定了为了组装完整的第二报文而所需的交易数量(以下简称为交易需求量),通常,交易需求量等于由相应第一报文解析成的交易的数量。为便于理解,假设由某一个第一报文解析出3个交易,则为了组装出与该第一报文对应的完整的第二报文,交易需求量应等于3。
在执行子步骤S22-2时,具体地:根据确定出的报文组装策略所限定的交易需求量,判断所述携带相同报文标识的多个交易的数量,是否等于所述交易需求量;若是,则基于确定出的报文组装策略,从所述携带相同报文标识的多个交易中获取用于组装报文的数据,以组装第二报文。
需要说明的是,在本发明的其他可选实施方式中,考虑到交易在传递过程中,可能会造成丢失。为了能尽最大可能向用户端传递信息,也可以在携带相同报文标识的多个交易的数量低于交易需求量的情况下,仍然根据这些数量不全的交易,组装出不完整的第二报文,并将第二报文发送给用户端。
或者可选地,在另一些具体实施方式中,每个中间件专门用于组装一种业务类型的第二报文,因此每个中间件中可以仅预设一种报文组装策略。中间件在从区块链网络获取到交易后,针对每组交易(也即携带相同报文标识的多个交易),如果该组交易携带的业务类型标识,恰好是该中间件能组装的业务类型,则该中间件调用预设的报文组装策略,从该组交易中获取用于组装报文的数据,从而组装出第二报文。
步骤S23:将所述第二报文发送给目标用户端。
可选地,在一些具体实施方式中,如前所述,中间件在组装出第二报文后,可以将第二报文发送给中间件对应的每个用户端。
或者可选地,在另一些具体实施方式中,如前所述,中间件可以根据每个用户端的订阅信息,将组装出的第二报文发送给相应的用户端。
本发明中,通过执行上述步骤S21至步骤S23,由于每个交易携带报文标识,并且由同一个第一报文解析成的多个交易携带相同的报文标识。因此,携带相同报文标识的多个交易对应同一个第一报文,进而也与该第一报文所需处理的业务相对应。如此,根据携带相同报文标识的多个交易组装出的第二报文,能够反映比较完整的业务信息。然后再将组装出的第二报文发送给目标用户端,使得目标用户端可以通过解析第二报文,从而简便快捷地获得业务信息。可见,通过实施本发明,能够提高信息传递的便利性,提升用户体验。
此外可选地,在一些具体实施方式中,在将第二报文发送给目标用户端之前,还可以从区块链网络获取所述携带相同报文标识的多个交易各自的执行结果;然后根据所述携带相同报文标识的多个交易各自的执行结果,确定总业务结果;再将该总业务结果填充至第二报文。
具体实现时,如前所述,在执行上述步骤S21期间,为了从区块链网络获取交易,可以从区块链网络的区块数据或账本数据中读取交易数据,每笔交易数据包含一个交易和该交易的执行结果。如此,在执行上述步骤S21期间,同时获取到交易和交易的执行结果。
或者具体实现时,也可以在根据携带相同报文标识的多个交易,组装出第二报文之后,再以每个交易的交易ID为索引,从区块数据或账本数据中查询该交易的执行结果。然后根据查询到的执行结果,确定总业务结果。再将确定出的总业务结果填充至第二报文。
本发明中,由于携带相同报文标识的多个交易对应同一个第一报文,进而也与该第一报文所需处理的业务相对应。如此,根据携带相同报文标识的多个交易各自的执行结果,确定出总业务结果后,该总业务结果能反映总体业务的处理结果。再通过将总业务结果填充至第二报文,并随第二报文发送给用户端,使得用户端不仅可以读取到较完整的业务信息,还可以读取到总体业务在区块链网络中的处理结果,从而进一步提升信息传递效率,提升用户体验。
此外可选地,在一些具体实施方式中,如前所述,每个第一报文对应一个事务标识,由同一个第一报文解析成的多个交易中,至少存在一个交易携带该第一报文所对应的事务标识。
如前所述,所述信息传递方法还包括以下步骤:
1、在所述携带相同报文标识的多个交易中包含合约发布交易的情况下,从该合约发布交易中读取合约地址;并从所述携带相同报文标识的多个交易中的任一交易中,读取该交易携带的事务标识;将读取的合约地址和读取的事务标识关联;在将所述第二报文发送给目标用户端之前,将读取的事务标识填充至所述第二报文。
2、接收所述目标客户端发送的第三报文,所述第三报文中包含事务标识;将所述第三报文解析成一个或多个交易;在所述一个或多个交易中包括需要调用合约的目标交易的情况下,根据所述第三报文包含的事务标识,确定该事务标识关联的合约地址,并将该合约地址填充至所述目标交易;将解析成的所述一个或多个交易提交给所述区块链网络执行。
对于上述步骤的具体实现方式,可参考上述较佳实施例,为避免重复,此处不做赘述。
本发明中,通过为报文设置事务标识,并通过事务标识来表征多个报文是否用于处理同一事务,或者表征多个报文是否用于处理多个关联事务。如此,使得用于处理同一事务(或多个关联事务)的多个报文之间能相互关联。
此外,还预先建立了事务标识与合约地址之间的关联。在解析报文时,根据报文包含的事务标识,关联出相应的合约地址,并将该合约地址填充至解析出的目标交易,使得区块链网络在执行目标交易时,可以根据目标交易携带的合约地址,调用相应的智能合约。如此,使得多个报文之间可以相互配合地对同一智能合约进行相关操作,从而实现对同一事务(或多个关联事务)的处理。
除了可以通过事务标识来关联不同报文,此外可选地,在另一些具体实施方式中,也可以直接通过合约地址来关联不同报文。
在这些具体实施方式中,所述信息传递方法还包括以下步骤:
A、在所述携带相同报文标识的多个交易中包含合约发布交易的情况下,从该合约发布交易中读取合约地址;在将所述第二报文发送给目标用户端之前,将读取的合约地址填充至所述第二报文。
B、接收所述目标客户端发送的第三报文,所述第三报文中包含合约地址;将所述第三报文解析成一个或多个交易,所述一个或多个交易中包括需要调用合约的目标交易,所述目标交易携带所述第三报文所包含的合约地址;将解析成的所述一个或多个交易提交给所述区块链网络执行。
为便于理解,示例地,假设第一用户端a3发出了一个用于发起卖单offer_m的第一报文m。通过上文所述的各处理步骤后,组装出相应的第二报文m,第二报文m携带第一报文m所发布的智能合约的合约地址。第二用户端会显示第二报文m的内容。
假设第一用户端a4发出了一个用于发起卖单offer_n的第一报文n。通过上文所述的各处理步骤后,组装出相应的第二报文n,第二报文n携带第一报文n所发布的智能合约的合约地址。第二用户端会显示第二报文n的内容。
如果第二用户端的用户想针对第二报文m发起买单bid(也即针对卖单offer_m发起买单bid),则用户对第二用户端执行预设操作,使得第二用户端生成第三报文,该第三报文中包含合约地址,该合约地址等于第二报文m所携带的合约地址。
本发明中,通过合约地址将用于处理同一事务(或多个关联事务)的多个报文关联起来,使得多个报文之间可以相互配合地对同一智能合约进行相关操作,从而实现对同一事务(或多个关联事务)的处理。
此外可选地,在一些具体实施方式中,如前所述,所述第一报文用于发布卖单,所述第三报文用于发布买单,由所述第一报文解析成的合约发布交易用于发布交易合约;如果所述第三报文包含的事务标识所关联的合约地址,等于所述交易合约的合约地址,则所述第三报文发布的买单与所述第一报文发布的卖单是一对具有买卖关系的订单。
或者可选地,在另一些具体实施方式中,所述第一报文用于发布卖单,所述第三报文用于发布买单,由所述第一报文解析成的合约发布交易用于发布交易合约;如果所述第三报文包含的合约地址,等于所述交易合约的合约地址,则所述第三报文发布的买单与所述第一报文发布的卖单是一对具有买卖关系的订单。
或者可选地,在另一些具体实施方式中,如前所述,所述第一报文用于发布买单,所述第三报文用于发布卖单,由所述第一报文解析成的合约发布交易用于发布交易合约;如果所述第三报文包含的事务标识所关联的合约地址,等于所述交易合约的合约地址,则所述第三报文发布的卖单与所述第一报文发布的买单是一对具有买卖关系的订单。
或者可选地,在另一些具体实施方式中,所述第一报文用于发布买单,所述第三报文用于发布卖单,由所述第一报文解析成的合约发布交易用于发布交易合约;如果所述第三报文包含的合约地址,等于所述交易合约的合约地址,则所述第三报文发布的卖单与所述第一报文发布的买单是一对具有买卖关系的订单。
基于同一发明构思,本发明实施例还提供一种信息传递装置。参考图3,图3是本发明一实施例提出的信息传递装置的示意图。如图3所示,该装置包括:
交易数据获取模块31,用于从区块链网络获取交易,每个交易携带报文标识,由同一个第一报文解析成的多个交易携带相同的报文标识;
报文组装模块32,用于根据携带相同报文标识的多个交易,组装第二报文;
报文发送模块33,用于将所述第二报文发送给目标用户端。
可选地,在一些具体实施方式中,所述交易数据获取模块还用于:在将所述第二报文发送给目标用户端之前,从所述区块链网络获取所述携带相同报文标识的多个交易各自的执行结果;
所述装置还包括:
总业务结果确定模块,用于根据所述携带相同报文标识的多个交易各自的执行结果,确定总业务结果;
总业务结果填充模块,用于将所述总业务结果填充至所述第二报文。
可选地,在一些具体实施方式中,每个第一报文包含业务类型标识,由同一个第一报文解析成的多个交易中,至少存在一个交易携带该第一报文所包含的业务类型标识;
所述报文组装模块包括:
报文组装策略确定单元,用于从所述携带相同报文标识的多个交易中的任一交易中,读取该交易携带的业务类型标识,并从多个预设的报文组装策略中,确定与该业务类型标识对应的报文组装策略;
报文组装单元,用于基于确定出的报文组装策略,从所述携带相同报文标识的多个交易中获取用于组装报文的数据,以组装第二报文。
可选地,在一些具体实施方式中,所述报文组装单元具体用于:根据确定出的报文组装策略所限定的交易需求量,判断所述携带相同报文标识的多个交易的数量,是否等于所述交易需求量;若是,则基于确定出的报文组装策略,从所述携带相同报文标识的多个交易中获取用于组装报文的数据,以组装第二报文。
可选地,在一些具体实施方式中,每个第一报文对应一个事务标识,由同一个第一报文解析成的多个交易中,至少存在一个交易携带该第一报文所对应的事务标识;
所述装置还包括:
关联模块,用于在所述携带相同报文标识的多个交易中包含合约发布交易的情况下,从该合约发布交易中读取合约地址,并从所述携带相同报文标识的多个交易中的任一交易中,读取该交易携带的事务标识,以及将读取的合约地址和读取的事务标识关联;
事务标识填充模块,用于在将所述第二报文发送给目标用户端之前,将读取的事务标识填充至所述第二报文;
报文接收模块,用于接收所述目标客户端发送的第三报文,所述第三报文中包含事务标识;
报文解析模块,用于将所述第三报文解析成一个或多个交易;
合约地址填充模块,用于在所述一个或多个交易中包括需要调用合约的目标交易的情况下,根据所述第三报文包含的事务标识,确定该事务标识关联的合约地址,并将该合约地址填充至所述目标交易;
交易提交模块,用于将解析成的所述一个或多个交易提交给所述区块链网络执行。
或者可选地,在另一些具体实施方式中,所述装置还包括:
合约地址读取模块,用于在所述携带相同报文标识的多个交易中包含合约发布交易的情况下,从该合约发布交易中读取合约地址;
合约地址填充模块,用于在将所述第二报文发送给目标用户端之前,将读取的合约地址填充至所述第二报文;
报文接收模块,用于接收所述目标客户端发送的第三报文,所述第三报文中包含合约地址;
报文解析模块,用于将所述第三报文解析成一个或多个交易,所述一个或多个交易中包括需要调用合约的目标交易,所述目标交易携带所述第三报文所包含的合约地址;
交易提交模块,用于将解析成的所述一个或多个交易提交给所述区块链网络执行。
可选地,在一些具体实施方式中,所述第一报文用于发布卖单,所述第三报文用于发布买单,由所述第一报文解析成的合约发布交易用于发布交易合约;如果所述第三报文包含的事务标识所关联的合约地址,等于所述交易合约的合约地址,或者如果所述第三报文包含的合约地址,等于所述交易合约的合约地址,则所述第三报文发布的买单与所述第一报文发布的卖单是一对具有买卖关系的订单;
或者,
所述第一报文用于发布买单,所述第三报文用于发布卖单,由所述第一报文解析成的合约发布交易用于发布交易合约;如果所述第三报文包含的事务标识所关联的合约地址,等于所述交易合约的合约地址,或者如果所述第三报文包含的合约地址,等于所述交易合约的合约地址,则所述第三报文发布的卖单与所述第一报文发布的买单是一对具有买卖关系的订单。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
基于同一发明构思,本发明实施例还提供了一种电子设备,如图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 (9)

1.一种信息传递方法,其特征在于,所述方法包括:
从区块链网络获取交易,每个交易携带报文标识,由同一个第一报文解析成的多个交易携带相同的报文标识;
根据携带相同报文标识的多个交易,组装第二报文;
将所述第二报文发送给目标用户端;
所述方法还包括:
在所述携带相同报文标识的多个交易中包含合约发布交易的情况下,从该合约发布交易中读取合约地址;
在将所述第二报文发送给目标用户端之前,将读取的合约地址填充至所述第二报文;
所述方法还包括:
接收所述目标用户端发送的第三报文,所述第三报文中包含合约地址;
将所述第三报文解析成一个或多个交易,所述一个或多个交易中包括需要调用合约的目标交易,所述目标交易携带所述第三报文所包含的合约地址;
将解析成的所述一个或多个交易提交给所述区块链网络执行;
其中,所述第一报文由第一用户端发送至报文中间件,报文中间件接收到所述第一报文后,为所述第一报文生成一个具有唯一性的所述报文标识。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述第二报文发送给目标用户端之前,从所述区块链网络获取所述携带相同报文标识的多个交易各自的执行结果;
根据所述携带相同报文标识的多个交易各自的执行结果,确定总业务结果;
将所述总业务结果填充至所述第二报文。
3.根据权利要求1或2所述的方法,其特征在于,每个第一报文包含业务类型标识,由同一个第一报文解析成的多个交易中,至少存在一个交易携带该第一报文所包含的业务类型标识;所述根据携带相同报文标识的多个交易,组装第二报文,包括:
从所述携带相同报文标识的多个交易中的任一交易中,读取该交易携带的业务类型标识,并从多个预设的报文组装策略中,确定与该业务类型标识对应的报文组装策略;
基于确定出的报文组装策略,从所述携带相同报文标识的多个交易中获取用于组装报文的数据,以组装第二报文。
4.根据权利要求3所述的方法,其特征在于,所述基于确定出的报文组装策略,从所述携带相同报文标识的多个交易中获取用于组装报文的数据,以组装第二报文,包括:
根据确定出的报文组装策略所限定的交易需求量,判断所述携带相同报文标识的多个交易的数量,是否等于所述交易需求量;
若是,则基于确定出的报文组装策略,从所述携带相同报文标识的多个交易中获取用于组装报文的数据,以组装第二报文。
5.根据权利要求2所述的方法,其特征在于,每个第一报文对应一个事务标识,由同一个第一报文解析成的多个交易中,至少存在一个交易携带该第一报文所对应的事务标识;
所述方法还包括:
在所述携带相同报文标识的多个交易中包含合约发布交易的情况下,从该合约发布交易中读取合约地址,并从所述携带相同报文标识的多个交易中的任一交易中,读取该交易携带的事务标识,以及将读取的合约地址和读取的事务标识关联;
在将所述第二报文发送给目标用户端之前,将读取的事务标识填充至所述第二报文;
所述方法还包括:
接收所述目标用户端发送的第三报文,所述第三报文中包含事务标识;
将所述第三报文解析成一个或多个交易;
在所述一个或多个交易中包括需要调用合约的目标交易的情况下,根据所述第三报文包含的事务标识,确定该事务标识关联的合约地址,并将该合约地址填充至所述目标交易;
将解析成的所述一个或多个交易提交给所述区块链网络执行。
6.根据权利要求1或5任一项所述的方法,其特征在于,所述第一报文用于发布卖单,所述第三报文用于发布买单,由所述第一报文解析成的合约发布交易用于发布交易合约;如果所述第三报文包含的事务标识所关联的合约地址,等于所述交易合约的合约地址,或者如果所述第三报文包含的合约地址,等于所述交易合约的合约地址,则所述第三报文发布的买单与所述第一报文发布的卖单是一对具有买卖关系的订单;
或者,
所述第一报文用于发布买单,所述第三报文用于发布卖单,由所述第一报文解析成的合约发布交易用于发布交易合约;如果所述第三报文包含的事务标识所关联的合约地址,等于所述交易合约的合约地址,或者如果所述第三报文包含的合约地址,等于所述交易合约的合约地址,则所述第三报文发布的卖单与所述第一报文发布的买单是一对具有买卖关系的订单。
7.一种信息传递装置,其特征在于,所述装置包括:
交易数据获取模块,用于从区块链网络获取交易,每个交易携带报文标识,由同一个第一报文解析成的多个交易携带相同的报文标识;
报文组装模块,用于根据携带相同报文标识的多个交易,组装第二报文;
报文发送模块,用于将所述第二报文发送给目标用户端;
所述装置还包括:
在所述携带相同报文标识的多个交易中包含合约发布交易的情况下,从该合约发布交易中读取合约地址;
在将所述第二报文发送给目标用户端之前,将读取的合约地址填充至所述第二报文;
所述装置还包括:
接收所述目标用户端发送的第三报文,所述第三报文中包含合约地址;
将所述第三报文解析成一个或多个交易,所述一个或多个交易中包括需要调用合约的目标交易,所述目标交易携带所述第三报文所包含的合约地址;
将解析成的所述一个或多个交易提交给所述区块链网络执行;
其中,所述第一报文由第一用户端发送至报文中间件,报文中间件接收到所述第一报文后,为所述第一报文生成一个具有唯一性的所述报文标识。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1-6任一所述的方法步骤。
CN202011187439.1A 2020-10-29 2020-10-29 信息传递方法、装置、电子设备及可读存储介质 Active CN112270601B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011187439.1A CN112270601B (zh) 2020-10-29 2020-10-29 信息传递方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011187439.1A CN112270601B (zh) 2020-10-29 2020-10-29 信息传递方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112270601A CN112270601A (zh) 2021-01-26
CN112270601B true CN112270601B (zh) 2023-08-01

Family

ID=74345407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011187439.1A Active CN112270601B (zh) 2020-10-29 2020-10-29 信息传递方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112270601B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867963A (zh) * 2010-06-29 2010-10-20 北京星网锐捷网络技术有限公司 无线局域网接入方法、设备及系统与无线接入点
CN108599969A (zh) * 2018-05-02 2018-09-28 北京链链信息技术有限公司 一种区块链中数据共享的方法和装置
CN109785136A (zh) * 2019-01-30 2019-05-21 北京京东尚科信息技术有限公司 一种区块链的交易处理方法、客户端及区块链网络
CN110166463A (zh) * 2019-05-27 2019-08-23 中国银联股份有限公司 一种报文传输转换方法及装置
CN110392052A (zh) * 2019-07-22 2019-10-29 中国工商银行股份有限公司 一种区块链智能合约处理系统及方法
AU2018361961A1 (en) * 2017-11-02 2020-06-18 Tata Consultancy Services Limited Method and system providing interoperability between blockchain ecosystems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867963A (zh) * 2010-06-29 2010-10-20 北京星网锐捷网络技术有限公司 无线局域网接入方法、设备及系统与无线接入点
AU2018361961A1 (en) * 2017-11-02 2020-06-18 Tata Consultancy Services Limited Method and system providing interoperability between blockchain ecosystems
CN108599969A (zh) * 2018-05-02 2018-09-28 北京链链信息技术有限公司 一种区块链中数据共享的方法和装置
CN109785136A (zh) * 2019-01-30 2019-05-21 北京京东尚科信息技术有限公司 一种区块链的交易处理方法、客户端及区块链网络
CN110166463A (zh) * 2019-05-27 2019-08-23 中国银联股份有限公司 一种报文传输转换方法及装置
CN110392052A (zh) * 2019-07-22 2019-10-29 中国工商银行股份有限公司 一种区块链智能合约处理系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于探测的路由器别名解析方法研究;吴文文;《中国优秀硕士学位论文全文数据库(信息科技辑)》(第05期);I139-11 *

Also Published As

Publication number Publication date
CN112270601A (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
CN112003703B (zh) 一种跨链发送可认证消息的方法和装置
CN112862612B (zh) 一种跨链发送资源的方法和装置
CN108572986B (zh) 一种数据更新的方法及节点设备
WO2020258847A1 (zh) 基于处理模块跨链发送可认证消息的方法和装置
US10924281B2 (en) Method and apparatus for inter-blockchain transmission of authenticable message
CN112087502B (zh) 处理请求的方法、装置、设备及存储介质
CN110955724A (zh) 基于区块链的数据处理方法、装置、节点设备及存储介质
CN114567643A (zh) 跨区块链的数据流转方法、装置及相关设备
CN112488835A (zh) 业务处理方法、电子设备及可读存储介质
CN112685391B (zh) 一种服务数据迁移方法、装置、计算机设备和存储介质
CN110716743A (zh) 一种适合多方协作开发的聚合api开发方法及系统
CN112269915B (zh) 业务处理方法、装置、设备及存储介质
TWI728692B (zh) 跨鏈發送可認證訊息的方法和裝置
CN112270601B (zh) 信息传递方法、装置、电子设备及可读存储介质
CN110858211B (zh) 数据存储方法、装置及系统、存储介质
CN110852744A (zh) 一种切换交易通道的方法、装置、终端设备及介质
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
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
CN112671842B (zh) 信息传递方法、装置、电子设备及可读存储介质
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
CN114285859B (zh) 中间层区块链服务的数据处理方法、装置、设备及存储介质
CN113076340B (zh) 账务数据的处理方法、装置、电子设备及存储介质
CN112637267B (zh) 业务处理方法、装置、电子设备及可读存储介质
CN112714157B (zh) 资产合约的发布方法、装置、电子设备及可读存储介质
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

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