CN110113381A - 一种区块链中订阅主题的方法及装置 - Google Patents
一种区块链中订阅主题的方法及装置 Download PDFInfo
- Publication number
- CN110113381A CN110113381A CN201910279314.2A CN201910279314A CN110113381A CN 110113381 A CN110113381 A CN 110113381A CN 201910279314 A CN201910279314 A CN 201910279314A CN 110113381 A CN110113381 A CN 110113381A
- Authority
- CN
- China
- Prior art keywords
- subscription
- topic
- identifier
- event
- intermediate server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013507 mapping Methods 0.000 claims abstract description 65
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 19
- 238000004590 computer program Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000004075 alteration Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例涉及科技金融(Fintech)领域,尤其涉及一种区块链(Block chain)中订阅主题的方法及装置,用以简化订阅批量主题的过程和步骤。本发明实施例包括:中间服务器接收客户端发送的订阅请求,所述订阅请求中包括多个主题的主题标识;所述中间服务器解析所述订阅请求,从所述订阅请求中确定所述多个主题标识;所述中间服务器根据主题标识,从区块链中获取每个主题中的事件;所述中间服务器根据所述订阅请求生成订阅标识,并建立所述多个主题标识与所述订阅标识的第一映射关系;所述中间服务器向所述客户端反馈所述订阅标识以及每个主题中的事件。
Description
技术领域
本发明涉及科技金融(Fintech)领域,尤其涉及一种区块链中订阅主题的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变,区块链(Block chain)技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
在区块链技术中,生产者可以将事件发布到区块链的特定主题上,发布成功的事件将永久存储在区块链上。事件永不丢失,不可篡改,支持事后审核。消费者可以订阅主题。若消费者成功订阅了某个主题,则会监听该主题上的事件。当生产者通过公共接口向该主题发布一个事件,订阅该主题的消费者会收到消息通知,获取该主题上的最新消息。
目前,只能支持单个主题的订阅,若用户需要批量订阅多个主题时,需要重复多次执行订阅操作,直至所有主题订阅完成。这种订阅方法步骤很多耗时较长,并且长时间占用网络资源,使得网络资源长久不能释放,造成网络资源的浪费。
发明内容
本申请提供一种区块链中订阅主题的方法及装置,用以简化订阅批量主题的过程和步骤。
本发明实施例提供的一种区块链中订阅主题的方法,包括:
中间服务器接收客户端发送的订阅请求,所述订阅请求中包括多个主题的主题标识;
所述中间服务器解析所述订阅请求,从所述订阅请求中确定所述多个主题标识;
所述中间服务器根据主题标识,从区块链中获取每个主题中的事件;
所述中间服务器根据所述订阅请求生成订阅标识,并建立所述多个主题标识与所述订阅标识的第一映射关系;
所述中间服务器向所述客户端反馈所述订阅标识以及每个主题中的事件。
一种可选的实施例中,所述中间服务器向所述客户端反馈所述订阅标识以及每个主题中的事件之后,还包括:
所述中间服务器接收所述客户端发送的取消订阅请求,所述取消订阅请求中包含取消订阅的多个主题的主题标识;
所述中间服务器解析所述取消订阅请求,从所述取消订阅请求中获取取消订阅的主题标识;
所述中间服务器确定所述第一映射关系中与所述取消订阅的主题标识对应的订阅标识,并从所述第一映射关系中移除所述取消订阅的主题标识与订阅标识的对应关系;
所述中间服务器向所述客户端反馈取消订阅成功消息。
一种可选的实施例中,所述取消订阅的多个主题为同一个订阅请求中的所有主题;
所述中间服务器确定所述第一映射关系中与所述取消订阅的主题标识对应的订阅标识之后,还包括:
所述中间服务器从所述第一映射关系中移除所述订阅请求的订阅标识。
一种可选的实施例中,所述订阅请求中还包括第一主题中第一事件的标识,所述第一主题为所述多个主题中的任一主题;
所述中间服务器解析所述订阅请求,从所述订阅请求中确定所述多个主题标识之后,还包括:
所述中间服务器确定第一事件的标识,并建立第一事件标识与第一主题标识的第二映射关系;
所述中间服务器根据主题标识,从区块链中获取每个主题中的事件,包括:
所述中间服务器根据所述第二映射关系,从区块链中获取所述第一事件以及所述第一主题中所述第一事件之前的所有第二事件;
所述中间服务器向所述客户端反馈所述订阅标识以及每个主题中的事件,包括:
所述中间服务器向所述客户端反馈所述订阅标识、所述第一事件以及所有第二事件。
一种可选的实施例中,所述多个主题标识位于所述订阅请求的目标地址中,每个主题标识之间以分隔符相隔。
一种可选的实施例中,所述中间服务器接收客户端发送的订阅请求,包括:
所述中间服务器基于扩展的STOMP协议接收所述客户端发送的订阅请求。
本发明实施例还提供一种区块链中订阅主题的装置,包括:
接收单元,用于接收客户端发送的订阅请求,所述订阅请求中包括多个主题的主题标识;
解析单元,用于解析所述订阅请求,从所述订阅请求中确定所述多个主题标识;
获取单元,用于根据主题标识,从区块链中获取每个主题中的事件;
映射单元,用于根据所述订阅请求生成订阅标识,并建立所述多个主题标识与所述订阅标识的第一映射关系;
发送单元,用于向所述客户端反馈所述订阅标识以及每个主题中的事件。
一种可选的实施例中,所述接收单元,还用于接收所述客户端发送的取消订阅请求,所述取消订阅请求中包含取消订阅的多个主题的主题标识;
所述解析单元,还用于解析所述取消订阅请求,从所述取消订阅请求中获取取消订阅的主题标识;
映射单元,还用于确定所述第一映射关系中与所述取消订阅的主题标识对应的订阅标识,并从所述第一映射关系中移除所述取消订阅的主题标识与订阅标识的对应关系;
所述发送单元,还用于向所述客户端反馈取消订阅成功消息。
一种可选的实施例中,所述取消订阅的多个主题为同一个订阅请求中的所有主题;
所述映射单元,还用于从所述第一映射关系中移除所述订阅请求的订阅标识。
一种可选的实施例中,所述订阅请求中还包括第一主题中第一事件的标识,所述第一主题为所述多个主题中的任一主题;
所述映射单元,还用于确定第一事件的标识,并建立第一事件标识与第一主题标识的第二映射关系;
所述获取单元,还用于根据所述第二映射关系,从区块链中获取所述第一事件以及所述第一主题中所述第一事件之前的所有第二事件;
所述发送单元,还用于向所述客户端反馈所述订阅标识、所述第一事件以及所有第二事件。
一种可选的实施例中,所述多个主题标识位于所述订阅请求的目标地址中,每个主题标识之间以分隔符相隔。
一种可选的实施例中,所述接收单元,具体用于基于扩展的STOMP协议接收所述客户端发送的订阅请求。
本发明实施例还提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
本发明实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上所述的方法。
本发明实施例中,客户需要订阅多个主题时,向中间服务器发送订阅请求,该订阅请求中包括每个主题的主题标识。中间服务器接收客户端发送的订阅请求后,对订阅请求进行解析,从中确定多个主题标识,并根据主题标识,从区块链中获取每个主题中的事件。此外,中间服务器在对订阅请求验证成功后,根据订阅请求生成订阅标识,并建立多个主题标识与订阅标识的第一映射关系。最后,中间服务器向客户端反馈订阅标识以及每个主题中的事件。本发明实施例中,通过在订阅请求中添加多个主题标识,从而消费者可以同时订阅多个主题,操作灵活,步骤简便,节约了消费者的时间和网络资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种可能的系统构架的结构示意图;
图2为本发明实施例提供的一种区块链中订阅主题方法的流程示意图;
图3为本发明具体实施例一提供的一种批量订阅主题方法的流程示意图;
图4为本发明具体实施例二提供的一种批量取消主题方法的流程示意图;
图5为本发明实施例提供的一种区块链中订阅主题装置的结构示意图;
图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例所适用的一种系统架构,包括客户端101、中间服务器102和区块链103。客户端101可以是生产者,也可以是消费者。当客户端101为生产者时,可以通过Publish(公共)接口往中间服务器102中发布一个主题,或者在某个主题上发布一个事件。中间服务器102将校验客户端101发布的主题或事件是否合法,如果合法,将客户端101发布的主题或事件保存在区块链103中。当客户端101为消费者时,可以通过Subscribe(订阅)接口往中间服务器102中订阅一个主题,当订阅成功时,中间服务器102从区块链103中获取该主题上的事件,并将该主题上的事件发生至客户端101。当生产者往该主题上发布一个新的事件时,中间服务器102将新的事件发送至客户端101。
其中,客户端101安装于终端上。终端可以是手机、平板电脑或者是专用的手持设备等具有无线通信功能的电子设备,也可以是个人计算机(personal computer,简称PC),笔记本电脑,服务器等有线接入方式连接上网的设备。中间服务器102可以是计算机等网络设备。中间服务器102可以是一个独立的设备,也可以是多个服务器所形成的服务器集群。优选地,中间服务器102可以采用云计算技术进行信息处理。本发明实施例中,中间服务器是一种基于事件驱动的中间件服务器。
客户端101可以通过INTERNET网络与中间服务器102进行通信,也可以通过全球移动通信系统(Global System for Mobile Communications,简称GSM)、长期演进(longterm evolution,简称LTE)系统等移动通信系统与中间服务器102进行通信。
区块链103是由一系列区块组成的一条链,每个块上除了记录本区块的数据还会记录上一区块的Hash(哈希)值,通过这种方式组成一条链。区块链的核心理念有两个,一个是密码学技术,另一个是去中心化思想,基于这两个理念做到区块链上的历史信息无法被篡改。一个区块由块头和块体组成,其中块头定义包括该区块高度h,上一个区块的Hash值prevHash等重要字段,而块体主要存储交易数据。
为了便于理解,下面对本发明实施例中可能涉及的名词进行定义和解释。
Stomp协议:STOMP即Simple(or Streaming)Text Orientated MessagingProtocol,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。STOMP协议由于设计简单,易于开发客户端,因此在多种语言和多种中间服务器上得到广泛地应用。
Event(事件):物体状态的一个变化,比如开门是一个事件,关门也是一个事件。
Topic(主题):同一类事件是一个主题,主题之间互相独立。
发布事件(Publish):将事件发送到特定的主题上。
订阅事件(Subscribe):从特定的主题上接收事件。
生产者(Producer):发布事件的主体。
消费者(Consumer):订阅事件的主体。
智能合约(Smart contract):在区块链上运行的一段公开,透明的代码。
事件ID(Event ID):每一个事件发布成功后会有一个在主题范围内的唯一ID。
区块链:区块链是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的Hash值,通过这种方式组成一条链。区块链的核心理念有两个,一个是密码学技术,另一个是去中心化思想,基于这两个理念做到区块链上的历史信息无法被篡改。一个区块由块头和块体组成,其中块头定义包括该区块高度h,上一个区块的Hash值等重要字段,而块体主要存储交易数据。
节点:网络中的每一个参与者就是一个节点,节点参与网络组建和数据交换。在区块链网络中,一个节点是指一个具有唯一身份的参与者,该节点具有一份完整的账本拷贝,具有参与区块链网络共识和账本维护的能力。
为了满足同时订阅多个主题的要求,基于上述架构,本发明实施例提供了一种服务器温度控制方法,如图2所示,本发明实施例提供的区块链中订阅主题方法包括以下步骤:
步骤201、中间服务器接收客户端发送的订阅请求,所述订阅请求中包括多个主题的主题标识。
步骤202、所述中间服务器解析所述订阅请求,从所述订阅请求中确定所述多个主题标识。
步骤203、所述中间服务器根据主题标识,从区块链中获取每个主题中的事件。
步骤204、所述中间服务器根据所述订阅请求生成订阅标识,并建立所述多个主题标识与所述订阅标识的第一映射关系。
步骤205、所述中间服务器向所述客户端反馈所述订阅标识以及每个主题中的事件。
本发明实施例中,客户需要订阅多个主题时,向中间服务器发送订阅请求,该订阅请求中包括每个主题的主题标识。中间服务器接收客户端发送的订阅请求后,对订阅请求进行解析,从中确定多个主题标识,并根据主题标识,从区块链中获取每个主题中的事件。此外,中间服务器在对订阅请求验证成功后,根据订阅请求生成订阅标识,并建立多个主题标识与订阅标识的第一映射关系。最后,中间服务器向客户端反馈订阅标识以及每个主题中的事件。本发明实施例中,通过在订阅请求中添加多个主题标识,从而消费者可以同时订阅多个主题,操作灵活,步骤简便,节约了消费者的时间和网络资源。
本发明实施例基于STOMP协议,为了满足批量订阅的需求,将STOMP协议进行了扩展。因此,所述中间服务器接收客户端发送的订阅请求,包括:
所述中间服务器基于扩展的STOMP协议接收所述客户端发送的订阅请求。
进一步地,所述多个主题标识位于所述订阅请求的目标地址中,每个主题标识之间以分隔符相隔。
具体实施过程中,本发明实施例将多个主题标识设置于订阅请求的目标地址中,每个主题标识之间以分隔符相隔,分割符可以是逗号,或者也可以是分号等其它符号,这里不做限制。具体的格式可以例如destination=topic1,topic2,topic3,其中,destination为目标地址,topic1、topic2和topic3分别为三个主题的主题标识,topic1、topic2和topic3的格式可以一致也可以不一致。这样,中间服务器可以通过解析订阅请求中的目标地址字段,确定需要订阅的多个主题。
现有技术中,消费者成功订阅某个主题时,只能获得订阅成功后,生产者发布的当前最新事件,不能获取该主题的历史事件,从而导致用户使用不方便的问题。为了解决这个问题,本发明实施例中的订阅请求中还包括第一主题中第一事件的标识,所述第一主题为所述多个主题中的任一主题;
所述中间服务器解析所述订阅请求,从所述订阅请求中确定所述多个主题标识之后,还包括:
所述中间服务器确定第一事件的标识,并建立第一事件标识与第一主题标识的第二映射关系;
所述中间服务器根据主题标识,从区块链中获取每个主题中的事件,包括:
所述中间服务器根据所述第二映射关系,从区块链中获取所述第一事件以及所述第一主题中所述第一事件之前的所有第二事件;
所述中间服务器向所述客户端反馈所述订阅标识以及每个主题中的事件,包括:
所述中间服务器向所述客户端反馈所述订阅标识、所述第一事件以及所有第二事件。
具体地,客户端在订阅主题时,在订阅请求的头部中添加待查询的第一事件的标识,故中间服务器在接收到订阅请求时,可以根据第一事件标识确定第一主题中第一事件之前的所有事件,将第一事件之间的所有事件作为第二事件。从区块链中获得第一主题中的第一事件以及所有第二事件,并向客户端反馈。从而在订阅主题中的事件时,既能获得主题中的最新事件即第一事件,也能获得主题中的历史事件即第二事件,给消费者带来便利。
本发明实施例中,订阅请求中可以不添加待查询事件的标识,此时,中间服务器从区块链中获取主题中最新发布的事件进行反馈。订阅请求中也可以添加待查询事件的标识,此时,中间服务器从区块链中获取主题中待查询事件以及待查询事件之前的所有历史事件进行反馈。
当消费者需要取消订阅时,本发明实施例中也可以批量取消主题的订阅。所述中间服务器向所述客户端反馈所述订阅标识以及每个主题中的事件之后,还包括:
所述中间服务器接收所述客户端发送的取消订阅请求,所述取消订阅请求中包含取消订阅的多个主题的主题标识;
所述中间服务器解析所述取消订阅请求,从所述取消订阅请求中获取取消订阅的主题标识;
所述中间服务器确定所述第一映射关系中与所述取消订阅的主题标识对应的订阅标识,并从所述第一映射关系中移除所述取消订阅的主题标识与订阅标识的对应关系;
所述中间服务器将取消订阅情况向所述客户端反馈。
具体实施过程中,消费者需要取消订阅时,通过客户端向中间服务器发送取消订阅请求,该取消订阅请求中包含取消订阅的多个主题的主题标识。这里的多个主题可以是与同一个订阅标识对应的部分或全部主题,也可以是与不同订阅标识对应的多个主题。中间服务器从取消订阅请求中确定取消订阅的主题标识后,根据取消订阅的主题标识,从第一映射关系中确定与取消订阅的主题标识对应的订阅标识。这里的订阅标识可以是一个订阅标识或者是不止一个订阅标识。中间服务器将取消订阅的主题标识与订阅标识的对应关系从第一映射关系中移除,并向客户端反馈取消订阅成功消息,从而完成批量取消订阅。
特殊的,这里的取消订阅的多个主题可以为同一个订阅请求中所有主题,此时,所述中间服务器确定所述第一映射关系中与所述取消订阅的主题标识对应的订阅标识之后,还包括:
所述中间服务器从所述第一映射关系中移除所述订阅请求的订阅标识。
具体地,中间服务器从第一映射关系中直接移除订阅标识,这样将与该订阅标识相关的主题标识也会一同移除,从而达到了批量取消订阅主题的目的,无需单个移除取消订阅的主题,节省了操作步骤和时间,同时节省了网络资源。
为了更清楚地理解本发明,下面以具体实施例对上述流程进行详细描述,实施例一为批量订阅主题的过程,具体实施例的步骤如图3所示,包括:
步骤S301:客户端通过扩展的STOMP协议,向中间服务器发送订阅请求(SUBSCRIBEFrame),该订阅请求的目标地址(destination)中包括三个主题ID,主题ID之间以逗号分隔开。具体形式可以为destination=topic1,topic2,topic3。
步骤S302:中间服务器对接收到的订阅请求进行校验。
步骤S303:中间服务器在校验成功后,解析订阅请求,从目标地址中获取三个主题ID,分别为topic1,topic2,topic3。
步骤S304:中间服务器向区块链发送事件获取请求,该事件获取请求中包括三个主题ID。
步骤S305:区块链返回三个主题中最新发布的事件以及事件ID至中间服务器。
步骤S306:中间服务器生成订阅标识,并建立三个主题ID与订阅标识的第一映射关系。
步骤S307:中间服务器向客户端发送订阅标识、每个主题中最新发布的事件以及事件ID。
具体实施例二为批量取消主题的过程,具体实施例的步骤如图4所示,包括:
步骤S401:客户端通过扩展的STOMP协议,向中间服务器发送取消订阅请求(UNSUBSCRIBE Frame),该取消订阅请求的目标地址(destination)中包括三个主题ID,分别为topic1,topic2,topic3。
步骤S402:中间服务器解析取消订阅请求,从取消订阅请求中获取取消订阅的三个主题ID。
步骤S403:中间服务器从第一映射关系中查找处与三个主题ID对应的订阅标识。
步骤S404:中间服务器移除订阅标识。
在上述步骤过程中,中间服务器中仍存在线程向区块链获取最新发布的事件。
步骤S405:中间服务器向客户端发送取消订阅成功消息。
本发明实施例还提供了一种区块链中订阅主题装置,如图5所示,包括:
接收单元501,用于接收客户端发送的订阅请求,所述订阅请求中包括多个主题的主题标识;
解析单元502,用于解析所述订阅请求,从所述订阅请求中确定所述多个主题标识;
获取单元503,用于根据主题标识,从区块链中获取每个主题中的事件;
映射单元504,用于根据所述订阅请求生成订阅标识,并建立所述多个主题标识与所述订阅标识的第一映射关系;
发送单元505,用于向所述客户端反馈所述订阅标识以及每个主题中的事件。
进一步地,所述接收单元501,还用于接收所述客户端发送的取消订阅请求,所述取消订阅请求中包含取消订阅的多个主题的主题标识;
进一步地,所述解析单元502,还用于解析所述取消订阅请求,从所述取消订阅请求中获取取消订阅的主题标识;
所述映射单元504,还用于确定所述第一映射关系中与所述取消订阅的主题标识对应的订阅标识,并从所述第一映射关系中移除所述取消订阅的主题标识与订阅标识的对应关系;
所述发送单元505,还用于向所述客户端反馈取消订阅成功消息。
进一步地,所述取消订阅的多个主题为同一个订阅请求中的所有主题;
所述映射单元504,还用于从所述第一映射关系中移除所述订阅请求的订阅标识。
进一步地,所述订阅请求中还包括第一主题中第一事件的标识,所述第一主题为所述多个主题中的任一主题;
所述映射单元504,还用于确定第一事件的标识,并建立第一事件标识与第一主题标识的第二映射关系;
所述获取单元503,还用于根据所述第二映射关系,从区块链中获取所述第一事件以及所述第一主题中所述第一事件之前的所有第二事件;
所述发送单元505,还用于向所述客户端反馈所述订阅标识、所述第一事件以及所有第二事件。
进一步地,所述多个主题标识位于所述订阅请求的目标地址中,每个主题标识之间以分隔符相隔。
进一步地,所述接收单元501,具体用于基于扩展的STOMP协议接收所述客户端发送的订阅请求。
基于相同的原理,本发明还提供一种电子设备,如图6所示,包括:
包括处理器601、存储器602、收发机603、总线接口604,其中处理器601、存储器602与收发机603之间通过总线接口604连接;
所述处理器601,用于读取所述存储器602中的程序,执行下列方法:
接收客户端发送的订阅请求,所述订阅请求中包括多个主题的主题标识;
解析所述订阅请求,从所述订阅请求中确定所述多个主题标识;
根据主题标识,从区块链中获取每个主题中的事件;
根据所述订阅请求生成订阅标识,并建立所述多个主题标识与所述订阅标识的第一映射关系;
向所述客户端反馈所述订阅标识以及每个主题中的事件。
进一步地,所述处理器601,还用于:
接收所述客户端发送的取消订阅请求,所述取消订阅请求中包含取消订阅的多个主题的主题标识;
解析所述取消订阅请求,从所述取消订阅请求中获取取消订阅的主题标识;
确定所述第一映射关系中与所述取消订阅的主题标识对应的订阅标识,并从所述第一映射关系中移除所述取消订阅的主题标识与订阅标识的对应关系;
向所述客户端反馈取消订阅成功消息。
进一步地,所述取消订阅的多个主题为同一个订阅请求中的所有主题;
所述处理器601,还用于从所述第一映射关系中移除所述订阅请求的订阅标识。
进一步地,所述订阅请求中还包括第一主题中第一事件的标识,所述第一主题为所述多个主题中的任一主题;
所述处理器601,还用于:
确定第一事件的标识,并建立第一事件标识与第一主题标识的第二映射关系;
根据所述第二映射关系,从区块链中获取所述第一事件以及所述第一主题中所述第一事件之前的所有第二事件;
向所述客户端反馈所述订阅标识、所述第一事件以及所有第二事件。
进一步地,所述多个主题标识位于所述订阅请求的目标地址中,每个主题标识之间以分隔符相隔。
进一步地,所述处理器601,还用于:
基于扩展的STOMP协议接收所述客户端发送的订阅请求。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (14)
1.一种区块链中订阅主题的方法,其特征在于,包括:
中间服务器接收客户端发送的订阅请求,所述订阅请求中包括多个主题的主题标识;
所述中间服务器解析所述订阅请求,从所述订阅请求中确定所述多个主题标识;
所述中间服务器根据主题标识,从区块链中获取每个主题中的事件;
所述中间服务器根据所述订阅请求生成订阅标识,并建立所述多个主题标识与所述订阅标识的第一映射关系;
所述中间服务器向所述客户端反馈所述订阅标识以及每个主题中的事件。
2.如权利要求1所述的方法,其特征在于,所述中间服务器向所述客户端反馈所述订阅标识以及每个主题中的事件之后,还包括:
所述中间服务器接收所述客户端发送的取消订阅请求,所述取消订阅请求中包含取消订阅的多个主题的主题标识;
所述中间服务器解析所述取消订阅请求,从所述取消订阅请求中获取取消订阅的主题标识;
所述中间服务器确定所述第一映射关系中与所述取消订阅的主题标识对应的订阅标识,并从所述第一映射关系中移除所述取消订阅的主题标识与订阅标识的对应关系;
所述中间服务器向所述客户端反馈取消订阅成功消息。
3.如权利要求2所述的方法,其特征在于,所述取消订阅的多个主题为同一个订阅请求中的所有主题;
所述中间服务器确定所述第一映射关系中与所述取消订阅的主题标识对应的订阅标识之后,还包括:
所述中间服务器从所述第一映射关系中移除所述订阅请求的订阅标识。
4.如权利要求1所述的方法,其特征在于,所述订阅请求中还包括第一主题中第一事件的标识,所述第一主题为所述多个主题中的任一主题;
所述中间服务器解析所述订阅请求,从所述订阅请求中确定所述多个主题标识之后,还包括:
所述中间服务器确定第一事件的标识,并建立第一事件标识与第一主题标识的第二映射关系;
所述中间服务器根据主题标识,从区块链中获取每个主题中的事件,包括:
所述中间服务器根据所述第二映射关系,从区块链中获取所述第一事件以及所述第一主题中所述第一事件之前的所有第二事件;
所述中间服务器向所述客户端反馈所述订阅标识以及每个主题中的事件,包括:
所述中间服务器向所述客户端反馈所述订阅标识、所述第一事件以及所有第二事件。
5.如权利要求1至4任一项所述的方法,其特征在于,所述多个主题标识位于所述订阅请求的目标地址中,每个主题标识之间以分隔符相隔。
6.如权利要求1至4任一项所述的方法,其特征在于,所述中间服务器接收客户端发送的订阅请求,包括:
所述中间服务器基于扩展的STOMP协议接收所述客户端发送的订阅请求。
7.一种区块链中订阅主题的装置,其特征在于,包括:
接收单元,用于接收客户端发送的订阅请求,所述订阅请求中包括多个主题的主题标识;
解析单元,用于解析所述订阅请求,从所述订阅请求中确定所述多个主题标识;
获取单元,用于根据主题标识,从区块链中获取每个主题中的事件;
映射单元,用于根据所述订阅请求生成订阅标识,并建立所述多个主题标识与所述订阅标识的第一映射关系;
发送单元,用于向所述客户端反馈所述订阅标识以及每个主题中的事件。
8.如权利要求7所述的装置,其特征在于,
所述接收单元,还用于接收所述客户端发送的取消订阅请求,所述取消订阅请求中包含取消订阅的多个主题的主题标识;
所述解析单元,还用于解析所述取消订阅请求,从所述取消订阅请求中获取取消订阅的主题标识;
所述映射单元,还用于确定所述第一映射关系中与所述取消订阅的主题标识对应的订阅标识,并从所述第一映射关系中移除所述取消订阅的主题标识与订阅标识的对应关系;
所述发送单元,还用于向所述客户端反馈取消订阅成功消息。
9.如权利要求8所述的装置,其特征在于,所述取消订阅的多个主题为同一个订阅请求中的所有主题;
所述映射单元,还用于从所述第一映射关系中移除所述订阅请求的订阅标识。
10.如权利要求7所述的装置,其特征在于,所述订阅请求中还包括第一主题中第一事件的标识,所述第一主题为所述多个主题中的任一主题;
所述映射单元,还用于确定第一事件的标识,并建立第一事件标识与第一主题标识的第二映射关系;
所述获取单元,还用于根据所述第二映射关系,从区块链中获取所述第一事件以及所述第一主题中所述第一事件之前的所有第二事件;
所述发送单元,还用于向所述客户端反馈所述订阅标识、所述第一事件以及所有第二事件。
11.如权利要求7至10任一项所述的装置,其特征在于,所述多个主题标识位于所述订阅请求的目标地址中,每个主题标识之间以分隔符相隔。
12.如权利要求7至10任一项所述的装置,其特征在于,所述接收单元,具体用于基于扩展的STOMP协议接收所述客户端发送的订阅请求。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6任一所述的方法。
14.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1~6任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910279314.2A CN110113381B (zh) | 2019-04-09 | 2019-04-09 | 一种区块链中订阅主题的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910279314.2A CN110113381B (zh) | 2019-04-09 | 2019-04-09 | 一种区块链中订阅主题的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110113381A true CN110113381A (zh) | 2019-08-09 |
CN110113381B CN110113381B (zh) | 2023-04-07 |
Family
ID=67483710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910279314.2A Active CN110113381B (zh) | 2019-04-09 | 2019-04-09 | 一种区块链中订阅主题的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110113381B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532324A (zh) * | 2019-09-05 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 基于区块链的公告信息展示方法、装置、设备及存储介质 |
CN111651280A (zh) * | 2020-04-17 | 2020-09-11 | 宁波吉利汽车研究开发有限公司 | 一种事件的动态订阅方法、装置、电子设备及存储介质 |
CN112039882A (zh) * | 2020-08-31 | 2020-12-04 | 广州鲁邦通物联网科技有限公司 | 一种消息传输处理方法、系统、设备及存储介质 |
CN112153476A (zh) * | 2020-09-22 | 2020-12-29 | 游艺星际(北京)科技有限公司 | 交互数据处理方法和装置、服务器、存储介质 |
CN112202869A (zh) * | 2020-09-27 | 2021-01-08 | 华人运通(上海)云计算科技有限公司 | 数据传输方法、服务器、车辆和计算机存储介质 |
WO2021083075A1 (zh) * | 2019-11-01 | 2021-05-06 | 华为技术有限公司 | 用于订阅事件流的方法和装置 |
CN113347074A (zh) * | 2021-04-09 | 2021-09-03 | 成都中科创达软件有限公司 | 一种主题确定方法、相关方法、装置和系统 |
CN113347164A (zh) * | 2021-05-24 | 2021-09-03 | 湖南大学 | 基于区块链的分布式共识系统及方法、设备、存储介质 |
CN114339424A (zh) * | 2021-12-28 | 2022-04-12 | 武汉斗鱼鱼乐网络科技有限公司 | 批量取消关注的方法、存储介质、电子设备及系统 |
CN114490867A (zh) * | 2021-12-28 | 2022-05-13 | 杭州趣链科技有限公司 | 消息订阅方法、系统、装置、设备及存储介质 |
CN115550439A (zh) * | 2022-11-29 | 2022-12-30 | 杭州涂鸦信息技术有限公司 | 事件管理系统及方法 |
US11876861B2 (en) | 2020-08-28 | 2024-01-16 | Beijing Boe Technology Development Co., Ltd. | Data management method, data management device, blockchain network and system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107360082A (zh) * | 2017-07-28 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种发布/订阅方法及装置 |
WO2018096641A1 (ja) * | 2016-11-25 | 2018-05-31 | 三菱重工機械システム株式会社 | クライアント、ブローカ、通信システム、通信方法及びプログラム |
CN108292312A (zh) * | 2015-11-30 | 2018-07-17 | 国际商业机器公司 | 用于监视远程内容变化的订阅服务 |
CN108900585A (zh) * | 2018-06-15 | 2018-11-27 | 浙江华信区块链科技服务有限公司 | 跨链事务一致性实现方法 |
CN108924183A (zh) * | 2018-05-31 | 2018-11-30 | 北京百度网讯科技有限公司 | 用于处理信息的方法及装置 |
CN109040326A (zh) * | 2018-11-02 | 2018-12-18 | 北京京东金融科技控股有限公司 | 推送消息的方法和装置 |
CN109428922A (zh) * | 2017-08-29 | 2019-03-05 | 华为技术有限公司 | 一种订阅发布方法及服务器 |
-
2019
- 2019-04-09 CN CN201910279314.2A patent/CN110113381B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108292312A (zh) * | 2015-11-30 | 2018-07-17 | 国际商业机器公司 | 用于监视远程内容变化的订阅服务 |
WO2018096641A1 (ja) * | 2016-11-25 | 2018-05-31 | 三菱重工機械システム株式会社 | クライアント、ブローカ、通信システム、通信方法及びプログラム |
CN107360082A (zh) * | 2017-07-28 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种发布/订阅方法及装置 |
CN109428922A (zh) * | 2017-08-29 | 2019-03-05 | 华为技术有限公司 | 一种订阅发布方法及服务器 |
CN108924183A (zh) * | 2018-05-31 | 2018-11-30 | 北京百度网讯科技有限公司 | 用于处理信息的方法及装置 |
CN108900585A (zh) * | 2018-06-15 | 2018-11-27 | 浙江华信区块链科技服务有限公司 | 跨链事务一致性实现方法 |
CN109040326A (zh) * | 2018-11-02 | 2018-12-18 | 北京京东金融科技控股有限公司 | 推送消息的方法和装置 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532324A (zh) * | 2019-09-05 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 基于区块链的公告信息展示方法、装置、设备及存储介质 |
CN110532324B (zh) * | 2019-09-05 | 2023-10-03 | 腾讯科技(深圳)有限公司 | 基于区块链的公告信息展示方法、装置、设备及存储介质 |
WO2021083075A1 (zh) * | 2019-11-01 | 2021-05-06 | 华为技术有限公司 | 用于订阅事件流的方法和装置 |
CN112787970A (zh) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | 用于订阅事件流的方法和装置 |
CN112787970B (zh) * | 2019-11-01 | 2024-04-16 | 华为技术有限公司 | 用于订阅事件流的方法和装置 |
US11863368B2 (en) | 2019-11-01 | 2024-01-02 | Huawei Technologies Co., Ltd. | Method and apparatus for subscribing to event streams |
CN111651280B (zh) * | 2020-04-17 | 2024-05-24 | 宁波吉利汽车研究开发有限公司 | 一种事件的动态订阅方法、装置、电子设备及存储介质 |
CN111651280A (zh) * | 2020-04-17 | 2020-09-11 | 宁波吉利汽车研究开发有限公司 | 一种事件的动态订阅方法、装置、电子设备及存储介质 |
US11876861B2 (en) | 2020-08-28 | 2024-01-16 | Beijing Boe Technology Development Co., Ltd. | Data management method, data management device, blockchain network and system |
CN112039882B (zh) * | 2020-08-31 | 2023-04-07 | 广州鲁邦通物联网科技股份有限公司 | 一种消息传输处理方法、系统、设备及存储介质 |
CN112039882A (zh) * | 2020-08-31 | 2020-12-04 | 广州鲁邦通物联网科技有限公司 | 一种消息传输处理方法、系统、设备及存储介质 |
CN112153476B (zh) * | 2020-09-22 | 2022-07-22 | 游艺星际(北京)科技有限公司 | 交互数据处理方法和装置、服务器、存储介质 |
CN112153476A (zh) * | 2020-09-22 | 2020-12-29 | 游艺星际(北京)科技有限公司 | 交互数据处理方法和装置、服务器、存储介质 |
CN112202869A (zh) * | 2020-09-27 | 2021-01-08 | 华人运通(上海)云计算科技有限公司 | 数据传输方法、服务器、车辆和计算机存储介质 |
CN113347074B (zh) * | 2021-04-09 | 2023-05-12 | 成都中科创达软件有限公司 | 一种主题确定方法、相关方法、装置和系统 |
CN113347074A (zh) * | 2021-04-09 | 2021-09-03 | 成都中科创达软件有限公司 | 一种主题确定方法、相关方法、装置和系统 |
CN113347164A (zh) * | 2021-05-24 | 2021-09-03 | 湖南大学 | 基于区块链的分布式共识系统及方法、设备、存储介质 |
CN114490867A (zh) * | 2021-12-28 | 2022-05-13 | 杭州趣链科技有限公司 | 消息订阅方法、系统、装置、设备及存储介质 |
CN114339424A (zh) * | 2021-12-28 | 2022-04-12 | 武汉斗鱼鱼乐网络科技有限公司 | 批量取消关注的方法、存储介质、电子设备及系统 |
CN115550439A (zh) * | 2022-11-29 | 2022-12-30 | 杭州涂鸦信息技术有限公司 | 事件管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110113381B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113381B (zh) | 一种区块链中订阅主题的方法及装置 | |
US10880785B2 (en) | Resource obtaining method and related device | |
US20180365254A1 (en) | Method and apparatus for processing information flow data | |
CN107784552B (zh) | 信息推送任务执行方法、装置、计算机设备和存储介质 | |
CN113347164B (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
EP4030314A1 (en) | Blockchain-based data processing method, apparatus and device, and readable storage medium | |
CN108650667A (zh) | 终端调度方法和装置 | |
CN113765714A (zh) | 设备配网方法、装置、存储介质及电子设备 | |
CN114024972A (zh) | 一种长连接通信方法、系统、装置、设备及存储介质 | |
CN111064626A (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN111460038A (zh) | 一种数据准实时同步方法及装置 | |
CN110069533B (zh) | 一种基于区块链的事件订阅方法及装置 | |
CN110912805B (zh) | 消息读取状态的同步方法、终端、服务端及系统 | |
CN113342503B (zh) | 实时进度反馈方法、装置、设备及存储介质 | |
CN109389306B (zh) | 一种用户订单的同步方法和装置 | |
CN110287267A (zh) | 一种跨节点的数据处理方法及装置 | |
CN112929257B (zh) | 多场景消息发送方法、装置、服务器以及存储介质 | |
CN111427710B (zh) | 应用程序中组件的通信方法、装置、设备及存储介质 | |
CN109308219B (zh) | 任务处理方法、装置及分布式计算机系统 | |
CN110750749A (zh) | 社群的维护方法、电子设备及计算机可读存储介质 | |
CN113076380B (zh) | 数据同步方法、装置、系统、设备及存储介质 | |
CN115883639A (zh) | 一种web实时消息推送方法及装置、设备、存储介质 | |
CN110971503B (zh) | 微信小程序消息推送方法、存储介质、电子设备及系统 | |
CN110569673A (zh) | 一种数据文件处理方法、装置、设备及储存介质 | |
CN112995095A (zh) | 数据处理方法、装置及计算机可读存储介质 |
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 |