CN113590354A - 基于区块链的信息推送方法、装置、设备、介质和程序产品 - Google Patents

基于区块链的信息推送方法、装置、设备、介质和程序产品 Download PDF

Info

Publication number
CN113590354A
CN113590354A CN202110868759.1A CN202110868759A CN113590354A CN 113590354 A CN113590354 A CN 113590354A CN 202110868759 A CN202110868759 A CN 202110868759A CN 113590354 A CN113590354 A CN 113590354A
Authority
CN
China
Prior art keywords
information
notification
notification information
node
event
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.)
Pending
Application number
CN202110868759.1A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
ICBC 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 Industrial and Commercial Bank of China Ltd ICBC, ICBC Technology Co Ltd filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110868759.1A priority Critical patent/CN113590354A/zh
Publication of CN113590354A publication Critical patent/CN113590354A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本公开提供了一种应用于区块链系统的第一节点的基于区块链的信息推送方法、装置、设备、介质和程序产品,涉及区块链领域或金融领域等。该信息推送方法包括:获取所述区块链系统中的监听事件,其中,所述监听事件包括所述区块链系统调用至少一个目标智能合约而生成的事件;在获取到所述监听事件的情况下,基于所述监听事件获得第一通知信息;基于所述第一通知信息通知M个业务系统。本公开还提供了一种应用于通知端的基于区块链的信息推送方法、装置、设备、介质和程序产品。

Description

基于区块链的信息推送方法、装置、设备、介质和程序产品
技术领域
本公开涉及区块链领域或金融领域等,更具体地涉及一种基于区 块链的信息推送方法、装置、设备、介质和程序产品。
背景技术
由于区块链技术的设计理念,导致区块链是一个确定性的、封闭 的系统环境,具有较高的安全性和可靠性。通常一个区块链系统无法 与链下业务系统建立联系,更无法向链下业务系统传输数据。相关技 术中,链下业务系统要获取一个区块链系统的数据时,需要与区块链 系统对接,然后间隔一定时间主动查询区块链中的数据。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如 下问题:
当前链下业务系统查询区块链中数据的方案,并不能第一时间获 得自身需要的数据内容。由于存在一定的延迟,导致链下业务系统获 取区块链中信息的效率较低。
发明内容
鉴于上述问题,本公开提供了一种区块链系统能够主动推送信息 到链下业务系统的信息推送方法、装置、设备、介质和程序产品。
本公开实施例的一个方面提供了一种基于区块链的信息推送方 法,应用于区块链系统的第一节点。所述信息推送方法包括:获取所 述区块链系统中的监听事件,其中,所述监听事件包括所述区块链系 统调用至少一个目标智能合约而生成的事件;在获取到所述监听事件 的情况下,基于所述监听事件获得第一通知信息;基于所述第一通知 信息通知M个业务系统,其中,M为大于或等于1的整数。
根据本公开的实施例,所述基于所述第一通知信息通知M个业 务系统包括:将所述第一通知信息推送给通知端,以使得所述通知端 基于所述第一通知信息通知所述M个业务系统。
根据本公开的实施例,所述方法还包括:接收所述通知端发送的 响应信息,其中,所述响应信息包括所述M个业务系统中的至少一 个目标业务系统接收通知后返回的信息;基于所述响应信息在所述区 块链中更新特定交易信息的通知状态,其中,所述特定交易信息与所 述监听事件相关联。
根据本公开的实施例,在存在一个或多个所述响应信息表征通知 失败的情况下,接收所述通知端发送的第二通知信息,其中,所述第 二通知信息通过所述通知端基于所述第一通知信息而获得;将所述第 二通知信息在所述区块链进行上链。
根据本公开的实施例,所述获取所述区块链系统中的监听事件包 括:实时获取所述区块链中上链的最新区块;基于预设条件从所述最 新区块中查询所述监听事件的监听标识,其中,所述预设条件包括所 述至少一个目标智能合约的信息。
根据本公开的实施例,所述区块链系统调用至少一个目标智能合 约包括:获取用户提交的特定交易信息;调用所述至少一个目标智能 合约处理所述特定交易信息;其中,所述至少一个目标智能合约处理 所述特定交易信息包括:基于所述特定交易信息生成对应的所述监听 事件。
根据本公开的实施例,所述基于所述监听事件获得第一通知信息 包括:根据所述监听事件确定对应的所述特定交易信息;基于所述特 定交易信息获得所述第一通知信息。
本公开实施例的另一个方面提供了一种基于区块链的信息推送 方法,应用于通知端。所述信息推送方法包括:接收区块链系统的第 一节点发送的第一通知信息,其中,所述第一通知信息由所述第一节 点基于所述区块链系统中的监听事件获得,所述监听事件包括所述区 块链系统调用至少一个目标智能合约而生成的事件;基于所述第一通 知信息来获得第二通知信息;将所述第二通知信息推送给M个业务 系统,其中,M为大于或等于1的整数。
根据本公开的实施例,所述基于所述第一通知信息来获得第二通 知信息包括:解析所述第一通知信息以获得特定交易信息的定位数据, 其中,所述定位数据包括所述特定交易信息在所述区块链中的区块位 置;根据所述定位数据从目标区块中获得所述特定交易信息,其中, 所述区块链包括所述目标区块,所述目标区块的位置为所述区块位置; 基于所述特定交易信息获得所述第二通知信息。
根据本公开的实施例,所述M个业务系统包括至少一个目标业 务系统,所述基于所述特定交易信息获得所述第二通知信息包括:从 所述特定交易信息中获取涉及的所述至少一个目标业务系统;基于与 所述至少一个目标业务系统约定的推送格式获得所述第二通知信息。
根据本公开的实施例,所述M个业务系统包括至少一个目标业 务系统,在所述将所述第二通知信息推送给M个业务系统之后,所 述方法还包括:接收每个目标业务系统返回的响应信息;将所述响应 信息和/或所述第二通知信息发送给所述第一节点,以使得所述第一 节点基于所述响应信息在所述区块链中更新所述特定交易信息的通 知状态。
根据本公开的实施例,其中,在所述接收每个目标业务系统返回 的响应信息之后,还包括:若存在一个或多个所述响应信息表征通知 失败时,循环执行以下操作,直至全部通知成功:在第一文件中记录 所述第二通知信息,以及通知失败的目标业务系统的地址信息;基于 所述第二通知信息和所述地址信息,定时重新发送通知。
本公开实施例的另一方面提供了一种基于区块链的信息推送装 置,应用于区块链系统的第一节点。该信息推送装置包括:第一获取 模块用于获取所述区块链系统中的监听事件,其中,所述监听事件包 括所述区块链系统调用至少一个目标智能合约而生成的事件;第二获 取模块用于在获取到所述监听事件的情况下,基于所述监听事件获得 第一通知信息;第一通知模块用于基于所述第一通知信息通知M个 业务系统,其中,M为大于或等于1的整数。
本公开实施例的另一方面提供了一种基于区块链的信息推送装 置,应用于通知端。该信息推送装置包括:数据接收模块用于接收区 块链系统的第一节点发送的第一通知信息,其中,所述第一通知信息 由所述第一节点基于所述区块链系统中的监听事件获得,所述监听事 件包括所述区块链系统调用至少一个目标智能合约而生成的事件;第 三获取模块用于基于所述第一通知信息来获得第二通知信息;第二通 知模块用于将所述第二通知信息推送给M个业务系统,其中,M为 大于或等于1的整数。
本公开实施例的另一方面提供了一种电子设备,包括:一个或多 个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或 多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执 行如上所述的方法。
本公开实施例的另一方面还提供了一种计算机可读存储介质,其 上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述 的方法。
本公开实施例的另一方面还提供了一种计算机程序产品,包括计 算机程序,该计算机程序被处理器执行时实现如上所述的方法。
上述一个或多个实施例具有如下优点或有益效果:可以至少部分 地解决相关技术中链下业务系统获取区块链中数据存在延迟的问题, 通过区块链系统的第一节点获取区块链系统中的监听事件,若获取到 监听事件则说明区块链中出现了可以进行推送的数据,因此可以基于 第一通知信息通知到M个业务系统,从而能够由相关技术中区块链 数据被动接受查询的方式,更改为主动触发推送的方式,由第一节点 及时发现可以通知的信息,并在第一时间进行通知,提高了链下业务 系统获取信息的效率。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以 及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的适于实现应用于第一节 点和通知端的基于区块链的信息推送方法的应用场景图;
图2示意性示出了根据本公开实施例的应用于第一节点的信息 推送方法的流程图;
图3示意性示出了根据本公开实施例的获取监听事件的流程图;
图4示意性示出了根据本公开实施例的生成监听事件的流程图;
图5示意性示出了根据本公开实施例的获得第一通知信息的流 程图;
图6示意性示出了根据本公开的另一实施例的应用于第一节点 的信息推送方法的流程图;
图7示意性示出了根据本公开实施例的第一节点接收响应信息 的流程图;
图8示意性示出了根据本公开实施例的应用于通知端的信息推 送方法的流程图;
图9示意性示出了根据本公开实施例的基于第一通知信息获得 第二通知信息的流程图;
图10示意性示出了根据本公开实施例的基于特定交易信息获得 第二通知信息的流程图;
图11示意性示出了根据本公开实施例的通知端接收响应信息的 流程图;
图12示意性示出了根据本公开实施例的推送第二通知信息的流 程图;
图13示意性示出了根据本公开实施例的应用于第一节点的基于 区块链的信息推送装置的结构框图;
图14示意性示出了根据本公开实施例的应用于通知端的基于区 块链的信息推送装置的结构框图;以及
图15示意性示出了根据本公开实施例的适于实现应用于第一节 点和通知端的基于区块链的信息推送方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些 描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述 中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全 面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情 况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术 的描述,以避免不必要地混淆本公开的概念。
本公开的实施例提供了一种基于区块链的信息推送方法、装置、 设备、介质和程序产品,应用于区块链系统的第一节点。该信息推送 方法包括:获取区块链系统中的监听事件,其中,监听事件包括区块 链系统调用至少一个目标智能合约而生成的事件。在获取到监听事件 的情况下,基于监听事件获得第一通知信息。基于第一通知信息通知 M个业务系统,其中,M为大于或等于1的整数。本公开的实施例 还提供了一种基于区块链的信息推送方法、装置、设备、介质和程序 产品,应用于通知端。
相关技术中,链下业务系统为了获得区块链系统中的数据,需要 与区块链系统对接并定时主动查询区块数据。
根据本公开的实施例,通过区块链系统的第一节点获取区块链系 统中的监听事件,若获取到监听事件则说明区块链中出现了可以进行 推送的数据,因此可以基于第一通知信息通知到M个业务系统,从 而能够由相关技术中区块链数据被动接受查询的方式,更改为主动触 发推送的方式,由第一节点及时发现可以通知的信息,并在第一时间 进行通知,提高了链下业务系统获取信息的效率。
需要说明的是,本公开实施例提供的应用于区块链系统的第一节 点或应用于通知端的基于区块链的信息推送方法、装置、设备、介质 和程序产品可用于区块链技术在数据传输、交互相关方面,也可用于 除计区块链技术之外的多种领域,如金融领域等。本公开实施例提供 的基于区块链的信息推送方法、装置、设备、介质和程序产品的应用 领域不做限定。
在本公开的技术方案中,所涉及的区块链系统的数据或区块链中 区块数据的收集、存储、使用、加工、传输、提供或应用等,均符合 相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
图1示意性示出了根据本公开实施例的适于实现应用于第一节 点和通知端的基于区块链的信息推送方法的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括区块链系统 110,终端设备121、122、123,网络131、132、133,通知服务器 140和M个业务服务器(例如第一服务器1501、第二服务器1502...... 第M服务器150M)。
区块链系统110可以包括节点111、112、113、114和115等, 以及区块链116。区块链系统110可以允许用户(例如金融机构、客户 或业务人员等)接入作为一个节点。节点111、112、113、114和115 等可以形成区块链网络,例如点对点(peer to peer,P2P)网络。区块链116可以包括区块A、B、C和D等。每个区块可以包括时间戳、前 一区块的哈希值以及当前区块的哈希值和区块数据,区块数据可以是 包括用户的交易数据,例如用户付款转账、收款、定期理财、货币兑 换等业务的信息。其中,节点111、112、113、114和115等可以设 置在不同的服务器中,并各自具有节点客户端,通过节点客户端可以 展示合约调用、事件推送、数据处理、账户状态变化等过程,相关技 术中,节点客户端属于区块链系统的一部分,其无法与链下装置进行 数据交互。
用户可以使用终端设备121、122、123通过网络131与通知服务 器140交互,以接收或发送消息等。终端设备121、122、123上可以 安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜 索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。 终端设备121、122、123可以是具有显示屏并且支持网页浏览的各种 电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和 台式计算机等等。
网络131用以在终端设备121、122、123与通知服务器140之间 提供通信链路的介质。网络132用以在节点111与通知服务器140之 间提供通信链路的介质。网络133用以在通知服务器140和M个业 务服务器中的任一服务器之间提供通信链路的介质。网络131、132、133可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆 等等。
通知服务器140中可以部署通知端,通知端利用节点111的IP 地址和端口,监听节点111获取区块链116中的区块数据。在节点111 获悉到调用目标智能合约的监听事件时,通过端口暴露给通知端。通 知服务器140可以是提供各种服务的服务器,例如对用户利用终端设 备121、122、123所浏览的网站提供支持的后台管理服务器(仅为示 例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处 理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或 数据等)反馈给终端设备。在一些实施例中,可以第一服务器1501、 第二服务器1502…第M服务器150M中的任一服务器替代通知服 务器140,进行上述操作。
M个业务服务器可以与通知服务器140的硬件相同或者不相同, 在第一服务器1501、第二服务器1502……第M服务器150M中可以 分别部署有第一链下业务系统、第二链下业务系统……第M链下业 务系统。其中,链下业务系统指的是相对于区块链系统110的链下, 其可以包括其他的区块链系统,或非区块链系统。
在本公开的实施例中,区块链系统中的各个节点可以基于提前设 置的多个智能合约进行交易信息的核验以及上链等操作。智能合约例 如是数字化合约、智能化合约,是将合同合约用代码构建的计算协议。 当外界条件发生变化满足预定条款时,该智能合约将自动执行。智能 合约的副本可以保存在区块链116中,节点111、112、113、114和 115等都可以存储有区块链116,因此,每个节点都可以访问并调用 智能合约。其中,上链是指数据根据区块链系统的规则被打包在一个 区块中,该区块成为一个新的区块并链接到前面的区块,成为区块链 上不可篡改的数据。
需要说明的是,本公开实施例所提供的应用于第一节点的基于区 块链的信息推送方法一般可以由第一节点执行。相应地,本公开实施 例所提供的应用于第一节点的基于区块链的通知装置一般可以设置 于第一节点中。本公开实施例所提供的应用于第一节点的基于区块链 的信息推送方法也可以由不同于第一节点且能够与通知服务器140 和/或第一节点通信的服务器或服务器集群执行。相应地,本公开实 施例所提供的应用于第一节点的基于区块链的通知装置也可以设置 于不同于第一节点且能够与通知服务器140和/或第一节点通信的服 务器或服务器集群中。
需要说明的是,本公开实施例所提供的应用于通知端的基于区块 链的信息推送方法一般可以由通知服务器140执行。相应地,本公开 实施例所提供的应用于通知端的基于区块链的通知装置一般可以设 置于通知服务器140中。本公开实施例所提供的应用于通知端的基于 区块链的信息推送方法也可以由不同于通知服务器140且能够与终 端设备121、122、123和/或通知服务器140通信的服务器或服务器 集群执行。相应地,本公开实施例所提供的应用于通知端的基于区块 链的通知装置也可以设置于不同于通知服务器140且能够与终端设 备121、122、123和/或通知服务器140通信的服务器或服务器集群 中。
应该理解,图1中的节点、终端设备、网络和服务器的数目仅仅 是示意性的。根据实现需要,可以具有任意数目的节点、终端设备、 网络和服务器。
以下将基于图1描述的场景,通过图2~图12对本公开实施例的 应用于第一节点和服务端的信息通知方法进行详细描述。
图2示意性示出了根据本公开实施例的应用于第一节点的信息 推送方法的流程图。
如图2所示,该实施例的应用于第一节点的信息推送方法包括操 作S210~操作S230。
在操作S210,获取区块链系统中的监听事件,其中,监听事件 包括区块链系统调用至少一个目标智能合约而生成的事件。
根据本公开的实施例,可以在编程目标智能合约时,设定调用目 标智能合约即触发生成一个监听事件。
参照图1,例如在资金监管的场景中,其中,节点112为用户节 点,节点113为A企业节点,节点114为B银行节点,节点115为 C银行节点。业务服务器1501可以部署有B银行的链下业务系统。 业务服务器1502可以部署有C银行的链下业务系统。
首先,用户通过节点112发送一笔使用B银行的银行账户的付款 交易(仅为示例)。
然后,节点112将付款交易发送到区块链网络。
接着,相应节点(如共识节点)获取到付款交易后调用一个目标智 能合约进行处理,例如进行验证。在调用目标智能合约进行处理时, 即触发生成监听事件。其中,可以在生成时即将监听事件发送至节点 111,然后节点111将监听事件通过端口发送至通知端。
最后,处理完付款交易后进行上链操作,例如写入到D区块中。
在操作S220,在获取到监听事件的情况下,基于监听事件获得 第一通知信息。
在本公开的一些实施例中,在生成监听事件时,可以将目标智能 合约的名称、用户账号、业务名称、金额、银行等信息写入到一个事 件。第一节点可以直接根据监听事件的数据结构进行解析处理,然后 获取到第一通知信息。
在本公开的另一些实施例中,在生成监听事件时,可以生成触发 标识,且无智能合约、用户或交易等信息。第一节点根据触发标识确 定区块链系统具有调用目标智能合约的动作,然后再基于监听事件获 得第一通知信息。
在操作S230,基于第一通知信息通知M个业务系统,其中,M 为大于或等于1的整数。
根据本公开的实施例,通过区块链系统的第一节点获取区块链系 统中的监听事件,若获取到监听事件则说明区块链中出现了可以进行 推送的数据,因此可以基于第一通知信息通知到M个业务系统,从 而能够由相关技术中区块链数据被动接受查询的方式,更改为主动触 发推送的方式,由第一节点及时发现可以通知的信息,并在第一时间 进行通知,提高了链下业务系统获取信息的效率。
在本公开的另一些实施例中,操作S210中获取区块链系统中的 监听事件可以是如下操作:首先,在调用目标智能合约进行处理时, 触发生成监听事件,并生成监听标识。此时并不直接发送给第一节点, 而是与处理完的交易信息一起进行上链操作,以存储在区块链中。然 后,第一节点可以如图3所示的操作进行获取监听事件。
图3示意性示出了根据本公开实施例的操作S210中获取监听事 件的流程图。
如图3所示,该实施例的操作S210中获取区块链系统中的监听 事件包括操作S310~操作S320。
在操作S310,实时获取区块链中上链的最新区块。
在操作S320,基于预设条件从最新区块中查询监听事件的监听 标识,其中,预设条件包括至少一个目标智能合约的信息。
根据本公开的实施例,可以在第一节点设置事件监听器,如块监 听器、交易监听器或链代码监听器等。以交易监听器为例,当最新区 块被提交到区块链网络时,将通知第一节点。然后,查询最新区块中 是否有监听事件的监听标识。接着,在查询到监听标识后,即可确定 获取到监听事件,其中,监听标识可以为目标智能合约通过函数返回 的监听字段。该监听字段可以在配置文件中的预设条件进行配置。
其中,预设条件可以包括至少一个目标智能合约的名称,以及至 少一个目标智能合约生成的监听标识,至少一个目标智能合约生成的 监听标识与处理后的交易信息之间的关系等。
根据本公开的实施例,每有一个区块在区块链中进行上链,第一 节点可以实时获取到最新区块的区块数据,其中,区块数据包括多条 交易信息。第一节点可以从区块数据中查询监听标识,以确定是否有 可以主动推送的交易信息,从而保证了推送信息的及时性。
图4示意性示出了根据本公开实施例的生成监听事件的流程图。
如图4所示,监听事件包括区块链系统调用至少一个目标智能合 约而生成的事件,其中,生成监听事件包括操作S410~操作S420。
在操作S410,获取用户提交的特定交易信息。
根据本公开的实施例,参照图1,用户可以通过节点112发送一 笔使用B银行的银行账户的付款交易。其中,特定交易信息可以根 据每个业务系统的需求制定,例如B银行的业务系统可以设置特定 交易信息为付款交易或收款交易等信息。
在操作S420,调用至少一个目标智能合约处理特定交易信息。
根据本公开的实施例,至少一个目标智能合约处理特定交易信息 包括:基于特定交易信息生成对应的监听事件。
其中,例如在特定交易信息为付款交易时,可以调用智能合约x 进行处理。在特定交易信息为收款交易时,可以调用智能合约y进行 处理。智能合约x或y生成对应的监听事件可以在编程智能合约时进 行设定。在触发响应的事件时,可以通过web3j端(仅为示例)进行监 听。
根据本公开的实施例,可以在编程目标智能合约时,设定该目标 智能合约处理交易信息的种类,以此识别特定交易信息。并设定处理 特定交易信息的逻辑,如生成监听事件、监听标识以及监听事件的数 据结构。通知端可以根据上述数据结构(如特定字段)从各个区块的区 块数据中搜索是否有监听标识。
根据本公开的实施例,通过在编程智能合约时即设定好可以通知 的交易信息,以及生产相应的监听事件,在区块链网络处理交易信息 时,可以及时监听到相应的动作,能够高效率的获取到监听事件。
图5示意性示出了根据本公开实施例的操作S220中获得第一通 知信息的流程图。
如图5所示,该实施例的操作S220中基于监听事件获得第一通 知信息包括操作S510~操作S520。
在操作S510,根据监听事件确定对应的特定交易信息。
在操作S520,基于特定交易信息获得第一通知信息。
根据本公开的实施例,例如在第一节点中设置如上所述的块监听 器、交易监听器或链代码监听器等事件监听器。在查询到监听标识后, 可以找到对应的交易,将该交易的交易ID、交易状态、区块高度等 信息作为第一通知信息。
根据本公开的实施例,先获取到监听事件后,再去获取对应的特 定交易信息,从而解耦了获得第一通知信息的各个流程。避免每次对 区块数据中的所有交易信息进行解析,能够有针对性地根据监听事件 获取对应的特定交易信息,减小了每次解析的数据量,提高主动推送 的效率。
图6示意性示出了根据本公开的另一实施例的应用于第一节点 的信息推送方法的流程图。
如图6所示,该实施例的应用于第一节点的信息推送方法包括操 作S210~操作S220,另外,还可以包括操作S610。
在操作S210,获取区块链系统中的监听事件,其中,监听事件 包括区块链系统调用至少一个目标智能合约而生成的事件。
在操作S220,在获取到监听事件的情况下,基于监听事件获得 第一通知信息。
在操作S610,将第一通知信息推送给通知端,以使得通知端基 于第一通知信息通知M个业务系统。
相关技术中,链下业务系统为了获得区块链系统中的数据,需要 与区块链系统对接并主动查询。首先,在对接过程中,需要每个链下 业务系统的技术人员具有较高的区块链技术水平,例如熟练掌握区块 链数据结构,这样加大了链下业务系统对接的难度。其次,每个链下 业务系统直接对接区块链系统,若区块链系统进行了技术或数据上的 改进,每个链下业务系统都需要适应性更改,导致耦合度太高。
根据本公开的实施例,通过独立的通知端获得第一通知信息,然 后基于第一通知信息通知M个业务系统。从而解耦了区块链系统和 链下业务系统,节省了每个链下业务系统处理区块数据的时间和系统 资源,提高了每个链下业务系统获取信息的效率。另外,可以使链下 业务系统的技术人员无需了解区块链技术就可以完成与区块链系统 的对接,降低了对接难度。
图7示意性示出了根据本公开实施例的第一节点接收响应信息 的流程图。
如图7所示,第一节点接收响应信息可以包括操作S710~操作 S750。
在操作S710,接收通知端发送的响应信息,其中,响应信息包 括M个业务系统中的至少一个目标业务系统接收通知后返回的信息。
根据本公开的实施例,可以在第一节点设置预言机等服务,以接 收通知端发送的响应信息。
在操作S720,基于响应信息在区块链中更新特定交易信息的通 知状态,其中,特定交易信息与监听事件相关联。
根据本公开的实施例,响应信息可以为每个目标业务系统是否成 功收到第二通知信息的反馈信息。若成功收到,则返回表征通知成功 的响应信息,第一节点可以在区块链上将对应特定交易信息的状态更 新为通知成功状态。反之亦然。
根据本公开的实施例,在区块链中更新特定交易信息的状态,能 够使各个节点进行信息溯源,了解各个交易的处理过程及当前状态, 并可以基于更新后的状态通知用户,以使得用户及时了解交易的处理 情况。
在操作S730,判断各个目标业务系统是否全部通知成功。若是, 则结束。若否,则执行操作S740。
在操作S740,在存在一个或多个响应信息表征通知失败的情况 下,接收通知端发送的第二通知信息,其中,第二通知信息通过通知 端基于第一通知信息而获得。
在操作S750,将第二通知信息在区块链进行上链。
根据本公开的实施例,在通知失败时,将第二通知信息保存在区 块链上,能够避免第二通知信息丢失。另外,在特定交易信息为失败 状态,且区块链上具有相关联的第二通知信息时,可以放在消息队列 中,异步定时向通知端推送,令通知端重新推送至目标业务系统。
图8示意性示出了根据本公开实施例的应用于通知端的信息推 送方法的流程图。
如图8所示,该实施例的应用于通知端的信息推送方法包括操作 S810~操作S830。
在操作S810,接收区块链系统的第一节点发送的第一通知信息, 其中,第一通知信息由第一节点基于区块链系统中的监听事件获得, 监听事件包括区块链系统调用至少一个目标智能合约而生成的事件。
在操作S820,基于第一通知信息来获得第二通知信息。
在操作S830,将第二通知信息推送给M个业务系统,其中,M 为大于或等于1的整数。
根据本公开的实施例,通知端获得的第二通知信息可以包括用户 账号、业务名称、金额、银行等信息。通知端从第二通知信息中获得 涉及B银行。则将该笔交易信息发送到业务服务器1501中B银行的 链下业务系统,以执行该笔付款交易。
根据本公开的实施例,通过独立的通知端获得第一通知信息,然 后基于第一通知信息来获得第二通知信息,并将第二通知信息推送给 M个业务系统。从而解耦了区块链系统和链下业务系统,节省了每个 链下业务系统处理区块数据的时间和系统资源,提高了每个链下业务 系统获取信息的效率。另外,可以使链下业务系统的技术人员无需了 解区块链技术就可以完成与区块链系统的对接,降低了对接难度。
图9示意性示出了根据本公开实施例的操作S820中基于第一通 知信息获得第二通知信息的流程图。
如图9所示,该实施例的操作S820中基于第一通知信息来获得 第二通知信息包括操作S910~操作S930。
在操作S910,解析第一通知信息以获得特定交易信息的定位数 据,其中,定位数据包括特定交易信息在区块链中的区块位置。
根据本公开的实施例,第一节点发送的第一通知信息中例如包括 特定交易信息的交易ID、交易类型、交易状态以及定位数据。其中, 定位数据可以为该笔特定交易信息所在区块的区块高度或区块哈希 值等区块位置信息。
在本公开的另一些实施例中,第一节点可以将监听事件直接发送 至通知端,通知端对监听事件进行解析,并获得用户账号、交易金额、 业务名称、银行等信息作为第二通知信息,最终推送给目标业务系统。
在操作S920,根据定位数据从目标区块中获得特定交易信息, 其中,区块链包括目标区块,目标区块的位置为区块位置。
根据本公开的实施例,例如通知端基于区块高度从区块链中找到 对应的目标区块,并解析获取区块数据。然后,根据交易ID从区块 数据中的多笔交易中获取特定交易信息。
在操作S930,基于特定交易信息获得第二通知信息。
根据本公开的实施例,通知端在接收到第一通知信息后,及时获 取第二通知信息,相比于通知端定时查询区块链中的各个区块以获取 通知内容,更能够提高通知的灵活性,保证了获取通知内容的时效性。
图10示意性示出了根据本公开实施例的操作S930中基于特定交 易信息获得第二通知信息的流程图。
如图10所示,操作S930中基于特定交易信息获得第二通知信息 包括操作S1010~操作S1020。
在操作S1010,从特定交易信息中获取涉及的至少一个目标业务 系统。
在操作S1020,基于与至少一个目标业务系统约定的推送格式获 得第二通知信息。
根据本公开的实施例,例如用户提交的付款交易中涉及使用B 银行的账户进行付款。在确定涉及B银行的链下业务系统(即目标业 务系统)后,基于B银行事先与通知端约定的格式,例如数据格式和 内容格式。其中,数据格式例如可以为与B银行的链下业务系统所使用的编程语言相适应的格式。内容格式可以为B银行的链下业务 系统执行该笔付款交易所需要的信息等。
根据本公开的实施例,通过与各个业务系统约定的推送格式获得 第二通知信息,并进行推送,可以满足各个业务系统的多样化推送需 求。并且降低了各个业务系统与通知端的对接难度。
图11示意性示出了根据本公开实施例的通知端接收响应信息的 流程图。
如图11所示,在操作S930中将第二通知信息推送给M个业务 系统之后,该实施例的通知端接收响应信息包括操作S1110~操作 S1150。
在操作S1110,接收每个目标业务系统返回的响应信息。
根据本公开的实施例,例如用户的一笔交易可能涉及A企业、B 银行和C银行。在向A企业、B银行和C银行各自的业务系统(即目 标业务系统)发送通知后,接收A企业、B银行和C银行返回的响应 信息。
在操作S1120,将响应信息和/或第二通知信息发送给第一节点, 以使得第一节点基于响应信息在区块链中更新特定交易信息的通知 状态。
根据本公开的实施例,若响应信息表征通知成功,则仅发送响应 信息,以使第一节点直接更新区块链上的特定交易信息的通知状态。 若响应信息表征通知失败,则可以在发送响应信息的同时,发送第二 通知信息。在本公开一些实施例中,若响应信息表征通知失败,则可 以仅发生第二通知信息,以使第一节点将第二通知信息上链,并自动 更新区块链上的特定交易信息的通知状态为失败状态。
在操作S1130,判断各个目标业务系统是否全部通知成功。若 是,则结束。如否,则执行操作S1140。其中,若存在一个或多个响 应信息表征通知失败时,循环执行操作S1130~操作S1150,直至全部 通知成功:
在操作S1140,在第一文件中记录第二通知信息,以及通知失败 的目标业务系统的地址信息。
在操作S1150,基于第二通知信息和地址信息,定时重新发送通 知。
如果B银行和C银行返回错误信息(即响应信息表征通知失败), 则将本次通知涉及的智能合约名称、交易的ID、目标信息、B银行 URL和C银行URL等内容皆记录(即第一记录)到record_error文件(即 第一文件)中,定时重发。在一些实施例中,如果重发成功则删除记 录文件record_error的相关通知内容。如果该URL返回成功信息(即 响应信息表征通知成功),则将本次通知涉及的智能合约名称、交易 的Id、目标信息、B银行URL和C银行URL皆记录到record_success 文件中,方便运维人员运维。
根据本公开的实施例,可以按每日日期进行递增保存日志(如 record_error文件和record_success文件),样例为‘202x-xx-xx_sys.log’。 同时为防止日志数据过大,按日志保存策略保存历史日志,其中,日 志保存测策略例如可以为删除规定日期之前的日志。
虽然上文以特定的顺序描述了方法的各个操作,然而本公开的实 施例不限于此,上述操作可以根据需要以其他顺序执行。例如步骤 S1130可以在步骤S1130之后执行,也可以同时执行。
根据本公开的实施例,其中,在接收区块链系统的第一节点发送 的第一通知信息之前,还包括:基于远程过程调用方法监听第一节点。 其中,在第一节点出现监听故障的情况下,方法还包括:基于重连接 方法重新监听第一节点。例如将监听的节点111的IP与端口信息写 进配置文件中,使得找到监听的节点111,当该节点宕机重启之后, 利用GRPC(Google Remote Procedure Call,基于Google的远程调用方 法)容错机制(即重连接方法)立刻重新监听该节点。
当监听的区块链节点挂掉之后,GRPC连接失效,不能正常监听 该节点。该节点挂掉又重新组网成功,基于GRPC重连接,通过调用 http://IP:8001/relink方法,保证能及时的监听发现挂掉又重启节点的 事件,不需要再重启通知端。
在任一台能够访问区块链的服务器上部署通知端,即可以实时监 听获得区块链系统中的监听事件,并发送相关信息到链下业务系统。
图12示意性示出了根据本公开实施例的操作S830中推送第二通 知信息的流程图。
如图12所示,该实施例的操作S830中将第二通知信息推送给M 个业务系统包括操作S1210~操作S1270。
在操作S1210,根据第二通知信息从配置文件中获取目标业务系 统的地址信息。
根据本公开的实施例,在操作S1210之前,还可以设置配置文件。 例如在配置文件中设置区块链的访问信息,以通过访问信息获取区块 数据。其中,参考图1,访问信息可以包括节点111的IP地址和端口 信息。
根据本公开的实施例,在配置文件中设置M个业务系统中每个 业务系统的地址信息。其中,地址信息可以包括每个业务系统的 URL(Uniform Resource Locator)地址。
根据本公开的实施例,在配置文件中设置预设条件,其中,包括: 设置至少一个目标智能合约的名称,以及至少一个目标智能合约生成 的监听标识的数据结构。
其中,IP地址端口信息、智能合约名称和业务系统的URL在配 置文件中以数组形式存在,能够令通知端同时服务多个业务系统。用 户可以通过终端设备121、122、123设置配置文件中的内容。
根据本公开的实施例,当监听的节点IP和端口、智能合约名称 以及链下业务系统的URL发生变化,则可以修改配置文件。具体地, 在修改完配置文件之后,可以调用通知端暴露的配置更新的接口 http://IP:8xxx/reload(仅为示例),就可以动态的更新配置信息,不需要 重启通知端。
在操作S1220,基于第二通知信息和地址信息发送通知。其中, 该第二通知信息可以对应第i个区块中某个交易信息。
根据本公开的实施例,例如第二通知信息包括用户的付款信息, 其中,包括用于付款的B银行账户。此时,通知端可以从配置文件 中获取B银行的业务系统的地址信息,如URL链接。
在操作S1230,判断是否通知成功。若是,则执行操作S1250. 若否,则执行操作S1240。
在操作S1240,通知内容写入第一文件,形成失败记录。然后定 时执行操作S1220,此时根据失败记录中的第;通知信息和地址信息 发送通知。其中,失败记录可以包括本次通知涉及的智能合约名称、 交易的ID、第二通知信息、通知失败的目标业务系统的地址信息等。
根据本公开的实施例,可以将payload里面的通知内容发送到相 关的链下业务系统URL,链下业务系统按返回报文格式返回响应。 如果该URL返回错误信息,则将该事件名称以及智能合约名称、交 易的ID、通知内容持久化到区块链中,定时重发。如果重发成功则更改区块链中的相关通知状态。如果该URL返回成功信息,则将该 事件名称以及智能合约名称、交易的Id、payload记录到record文件 中,方便运维人员运维。
在操作S1250,记录成功日志,更新通知状态。在定时重发的过 程中,若目标业务系统通知成功,则将区块链上特定交易信息的通知 状态更新为成功状态。
在操作S1260,标记该第二通知信息已经成功发送。
在操作S1270,判断第二通知信息是否通知完成。若是,则结束 本次循环。若否,则执行操作S1210。在一些实施例中,基于第一通 知信息中可以获得多条第二通知信息,因此可以在发送完一条第二通 知信息后,即判断是否将每个第二通知信息通知到M个业务系统。
虽然上文以特定的顺序描述了方法的各个操作,然而本公开的实 施例不限于此,上述操作可以根据需要以其他顺序执行。例如当前目 标信息在操作S1240中形成失败记录后定时重发的循环操作,可以与 操作S1270后继续通知下一个第二通知信息的操作异步执行,互不影 响。
基于上述可以用于第一节点和通知端的基于区块链的信息推送 方法,本公开还提供了一种用于第一节点的基于区块链的信息推送装 置,以及一种用于通知端的基于区块链的信息推送装置。以下将结合 图13和图14对该装置进行详细描述。
图13示意性示出了根据本公开实施例的应用于第一节点的基于 区块链的信息推送装置1300的结构框图。
如图13所示,该实施例的信息推送装置1300包括第一获取模块 1310、第二获取模块1320和第一通知模块1330。
第一获取模块1310例如可以执行操作S210,用于获取区块链系 统中的监听事件,其中,监听事件包括区块链系统调用至少一个目标 智能合约而生成的事件。
根据本公开的实施例,第一获取模块1310例如可以执行操作 S310~操作S320,操作S410~操作S420,在此不做赘述。
第二获取模块1320例如可以执行操作S220,用于在获取到监听 事件的情况下,基于监听事件获得第一通知信息。
根据本公开的实施例,第二获取模块1320例如可以执行操作 S510~操作S520,在此不做赘述。
第一通知模块1330例如可以执行操作S230,用于基于第一通知 信息通知M个业务系统,其中,M为大于或等于1的整数。
根据本公开的实施例,第一通知模块1330例如可以执行操作 S610,操作S710~操作S720,在此不做赘述。
图14示意性示出了根据本公开实施例的应用于通知端的基于区 块链的信息推送装置1400的结构框图。
如图14所示,该实施例的信息推送装置1400包括数据接收模块 1410、第三获取模块1420和第二通知模块1430。
数据接收模块1410例如可以执行操作S810,用于接收区块链系 统的第一节点发送的第一通知信息,其中,第一通知信息由第一节点 基于区块链系统中的监听事件获得,监听事件包括区块链系统调用至 少一个目标智能合约而生成的事件。
第三获取模块1420例如可以执行操作S820,用于基于第一通知 信息来获得第二通知信息。
根据本公开的实施例,第三获取模块1420例如可以执行操作 S910~操作S930,操作S1010~操作S1020,在此不做赘述。
第二通知模块1430例如可以执行操作S830,用于将第二通知信 息推送给M个业务系统,其中,M为大于或等于1的整数。
根据本公开的实施例,第三获取模块1420例如可以执行操作 S1110~操作S1150,操作S1210~操作S1270,在此不做赘述。
根据本公开的实施例,信息推送装置1300或信息推送装置1400 中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个 模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的 至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块 中实现。根据本公开的实施例,信息推送装置1300或信息推送装置 1400中的至少一个模块可以至少被部分地实现为硬件电路,例如现 场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基 板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对 电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或 以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的 适当组合来实现。或者,信息推送装置1300或信息推送装置1400中 的至少一个模块可以至少被部分地实现为计算机程序模块,当该计算 机程序模块被运行时,可以执行相应的功能。
图15示意性示出了根据本公开实施例的适于实现......方法的电 子设备的方框图。
如图15所示,根据本公开实施例的电子设备1500包括处理器 1501,其可以根据存储在只读存储器(ROM)1502中的程序或者从 存储部分1508加载到随机访问存储器(RAM)1503中的程序而执行 各种适当的动作和处理。处理器1501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如, 专用集成电路(ASIC))等等。处理器1501还可以包括用于缓存用 途的板载存储器。处理器1501可以包括用于执行根据本公开实施例 的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1503中,存储有电子设备1500操作所需的各种程序和 数据。处理器1501、ROM 1502以及RAM 1503通过总线1504彼此 相连。处理器1501通过执行ROM 1502和/或RAM1503中的程序来 执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM1502和RAM1503以外的一个或多个存储器中。处 理器1501也可以通过执行存储在一个或多个存储器中的程序来执行 根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1500还可以包括输入/输出(I/O) 接口1505,输入/输出(I/O)接口1505也连接至总线1504。电子设 备1500还可以包括连接至I/O接口1505的以下部件中的一项或多项: 包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(CRT)、 液晶显示器(LCD)等以及扬声器等的输出部分1507;包括硬盘等 的存储部分1508;以及包括诸如LAN卡、调制解调器等的网络接口 卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信 处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511, 诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动 器1510上,以便于从其上读出的计算机程序根据需要被安装入存储 部分1508。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介 质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是 单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介 质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实 现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计 算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬 盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程 只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器 (CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组 合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的 有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其 结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包 括上文描述的ROM 1502和/或RAM 1503和/或ROM 1502和RAM 1503以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序, 该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机 程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现 根据本公开实施例的方法。
在该计算机程序被处理器1501执行时执行本公开实施例的系统/ 装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装 置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储 器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网 络介质上以信号的形式进行传输、分发,并通过通信部分1509被下 载和安装,和/或从可拆卸介质1511被安装。该计算机程序包含的程 序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线 等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1509从网 络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程 序被处理器1501执行时,执行本公开实施例的系统中限定的上述功 能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单 元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组 合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体 地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语 言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++, python,“C”语言或类似的程序设计语言。程序代码可以完全地在用 户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备 上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算 设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网 (LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接 到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为 了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述 了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合 使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开 的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改 都应落在本公开的范围之内。

Claims (17)

1.一种基于区块链的信息推送方法,应用于区块链系统的第一节点,包括:
获取所述区块链系统中的监听事件,其中,所述监听事件包括所述区块链系统调用至少一个目标智能合约而生成的事件;
在获取到所述监听事件的情况下,基于所述监听事件获得第一通知信息;
基于所述第一通知信息通知M个业务系统,其中,M为大于或等于1的整数。
2.根据权利要求1所述的方法,其中,所述基于所述第一通知信息通知M个业务系统包括:
将所述第一通知信息推送给通知端,以使得所述通知端基于所述第一通知信息通知所述M个业务系统。
3.根据权利要求2所述的方法,其中,还包括:
接收所述通知端发送的响应信息,其中,所述响应信息包括所述M个业务系统中的至少一个目标业务系统接收通知后返回的信息;
基于所述响应信息在所述区块链中更新特定交易信息的通知状态,其中,所述特定交易信息与所述监听事件相关联。
4.根据权利要求3所述的方法,其中,包括:在存在一个或多个所述响应信息表征通知失败的情况下,
接收所述通知端发送的第二通知信息,其中,所述第二通知信息通过所述通知端基于所述第一通知信息而获得;
将所述第二通知信息在所述区块链进行上链。
5.根据权利要求1所述的方法,其中,所述获取所述区块链系统中的监听事件包括:
实时获取所述区块链中上链的最新区块;
基于预设条件从所述最新区块中查询所述监听事件的监听标识,其中,所述预设条件包括所述至少一个目标智能合约的信息。
6.根据权利要求1所述的方法,其中,所述区块链系统调用至少一个目标智能合约包括:
获取用户提交的特定交易信息;
调用所述至少一个目标智能合约处理所述特定交易信息;
其中,所述至少一个目标智能合约处理所述特定交易信息包括:
基于所述特定交易信息生成对应的所述监听事件。
7.根据权利要求6所述的方法,其中,所述基于所述监听事件获得第一通知信息包括:
根据所述监听事件确定对应的所述特定交易信息;
基于所述特定交易信息获得所述第一通知信息。
8.一种基于区块链的信息推送方法,应用于通知端,包括:
接收区块链系统的第一节点发送的第一通知信息,其中,所述第一通知信息由所述第一节点基于所述区块链系统中的监听事件获得,所述监听事件包括所述区块链系统调用至少一个目标智能合约而生成的事件;
基于所述第一通知信息来获得第二通知信息;
将所述第二通知信息推送给M个业务系统,其中,M为大于或等于1的整数。
9.根据权利要求8所述的方法,其中,所述基于所述第一通知信息来获得第二通知信息包括:
解析所述第一通知信息以获得特定交易信息的定位数据,其中,所述定位数据包括所述特定交易信息在所述区块链中的区块位置;
根据所述定位数据从目标区块中获得所述特定交易信息,其中,所述区块链包括所述目标区块,所述目标区块的位置为所述区块位置;
基于所述特定交易信息获得所述第二通知信息。
10.根据权利要求9所述的方法,其中,所述M个业务系统包括至少一个目标业务系统,所述基于所述特定交易信息获得所述第二通知信息包括:
从所述特定交易信息中获取涉及的所述至少一个目标业务系统;
基于与所述至少一个目标业务系统约定的推送格式获得所述第二通知信息。
11.根据权利要求9所述的方法,其中,所述M个业务系统包括至少一个目标业务系统,在所述将所述第二通知信息推送给M个业务系统之后,所述方法还包括:
接收每个目标业务系统返回的响应信息;
将所述响应信息和/或所述第二通知信息发送给所述第一节点,以使得所述第一节点基于所述响应信息在所述区块链中更新所述特定交易信息的通知状态。
12.根据权利要求11所述的方法,其中,在所述接收每个目标业务系统返回的响应信息之后,还包括:
若存在一个或多个所述响应信息表征通知失败时,循环执行以下操作,直至全部通知成功:
在第一文件中记录所述第二通知信息,以及通知失败的目标业务系统的地址信息;
基于所述第二通知信息和所述地址信息,定时重新发送通知。
13.一种基于区块链的信息推送装置,应用于区块链系统的第一节点,包括:
第一获取模块,用于获取所述区块链系统中的监听事件,其中,所述监听事件包括所述区块链系统调用至少一个目标智能合约而生成的事件;
第二获取模块,用于在获取到所述监听事件的情况下,基于所述监听事件获得第一通知信息;
第一通知模块,用于基于所述第一通知信息通知M个业务系统,其中,M为大于或等于1的整数。
14.一种基于区块链的信息推送装置,应用于通知端,包括:
数据接收模块,用于接收区块链系统的第一节点发送的第一通知信息,其中,所述第一通知信息由所述第一节点基于所述区块链系统中的监听事件获得,所述监听事件包括所述区块链系统调用至少一个目标智能合约而生成的事件;
第三获取模块,用于基于所述第一通知信息来获得第二通知信息;
第二通知模块,用于将所述第二通知信息推送给M个业务系统,其中,M为大于或等于1的整数。
15.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~12中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~12中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~12中任一项所述的方法。
CN202110868759.1A 2021-07-30 2021-07-30 基于区块链的信息推送方法、装置、设备、介质和程序产品 Pending CN113590354A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110868759.1A CN113590354A (zh) 2021-07-30 2021-07-30 基于区块链的信息推送方法、装置、设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110868759.1A CN113590354A (zh) 2021-07-30 2021-07-30 基于区块链的信息推送方法、装置、设备、介质和程序产品

Publications (1)

Publication Number Publication Date
CN113590354A true CN113590354A (zh) 2021-11-02

Family

ID=78252224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110868759.1A Pending CN113590354A (zh) 2021-07-30 2021-07-30 基于区块链的信息推送方法、装置、设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN113590354A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640535A (zh) * 2022-03-30 2022-06-17 深圳前海环融联易信息科技服务有限公司 一种基于区块链的多方安全计算任务调度方法及系统
CN115334149A (zh) * 2022-08-15 2022-11-11 杭州复杂美科技有限公司 一种区块链信息订阅推送方法、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587265A (zh) * 2018-12-19 2019-04-05 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种消息推送方法、装置、设备及可读存储介质
CN109670950A (zh) * 2018-10-29 2019-04-23 平安科技(深圳)有限公司 基于区块链的交易监听方法、装置、设备和存储介质
CN111030846A (zh) * 2019-11-18 2020-04-17 杭州趣链科技有限公司 一种基于区块链的数据上链异常重试方法
CN112187471A (zh) * 2020-09-23 2021-01-05 上海万向区块链股份公司 基于区块链与智能合约的数据抄送方法、系统及介质
CN112965729A (zh) * 2021-03-23 2021-06-15 工银科技有限公司 一键部署区块链智能合约的方法、装置、电子设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109670950A (zh) * 2018-10-29 2019-04-23 平安科技(深圳)有限公司 基于区块链的交易监听方法、装置、设备和存储介质
CN109587265A (zh) * 2018-12-19 2019-04-05 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种消息推送方法、装置、设备及可读存储介质
CN111030846A (zh) * 2019-11-18 2020-04-17 杭州趣链科技有限公司 一种基于区块链的数据上链异常重试方法
CN112187471A (zh) * 2020-09-23 2021-01-05 上海万向区块链股份公司 基于区块链与智能合约的数据抄送方法、系统及介质
CN112965729A (zh) * 2021-03-23 2021-06-15 工银科技有限公司 一键部署区块链智能合约的方法、装置、电子设备及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640535A (zh) * 2022-03-30 2022-06-17 深圳前海环融联易信息科技服务有限公司 一种基于区块链的多方安全计算任务调度方法及系统
CN114640535B (zh) * 2022-03-30 2024-05-03 深圳前海环融联易信息科技服务有限公司 一种基于区块链的多方安全计算任务调度方法及系统
CN115334149A (zh) * 2022-08-15 2022-11-11 杭州复杂美科技有限公司 一种区块链信息订阅推送方法、设备及存储介质

Similar Documents

Publication Publication Date Title
CN111277639B (zh) 一种保持数据一致性的方法和装置
US10467576B2 (en) Distributed software process tracking
CN113590354A (zh) 基于区块链的信息推送方法、装置、设备、介质和程序产品
CN109343975B (zh) 用于页面间异步通信的方法和装置
CN111427701A (zh) 一种工作流引擎系统和业务处理方法
WO2021258340A1 (zh) 发布系统、推送方法、应用设备、接收装置及服务管理设备
CN112288577A (zh) 分布式服务的交易处理方法、装置、电子设备和介质
CN110011875A (zh) 拨测方法、装置、设备及计算机可读存储介质
CN109299124A (zh) 用于更新模型的方法和装置
US11539791B1 (en) Methods, apparatuses and computer program products for synchronizing data objects between and among application service systems
CN114153703A (zh) 微服务的异常定位方法、装置、电子设备和程序产品
CN112565340B (zh) 分布式应用的服务调度方法、装置、计算机系统及介质
CN113065953B (zh) 一种基于分布式的期货中继交易系统
US20210149709A1 (en) Method and apparatus for processing transaction
CN113590715A (zh) 基于区块链的信息推送方法、装置、设备、介质和程序产品
CN113645260A (zh) 业务重试方法、装置、存储介质及电子设备
US20170139758A1 (en) Nondeterministic Operation Execution Environment Utilizing Resource Registry
CN115496544A (zh) 一种数据处理的方法和装置
US20230093004A1 (en) System and method for asynchronous backend processing of expensive command line interface commands
CN113157461B (zh) 一种在执行任务单过程中传送消息的方法和装置
CN111949472A (zh) 一种记录应用日志的方法及装置
CN112241332A (zh) 一种接口补偿的方法和装置
US12026508B2 (en) Methods for automated configuration management in platform-as-a-service environments and devices thereof
US11755392B2 (en) Edge cloud caching using real-time customer journey insights
US20240152504A1 (en) Data interaction method, apparatus, and electronic device

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