一种基于区块链的事件订阅方法及装置制造方法及图纸

技术编号:21833161 阅读:22 留言:0更新日期:2019-08-10 18:11
本发明专利技术实施例提供了一种基于区块链的事件订阅方法及装置,涉及科技金融技术领域,该方法包括:中间服务器接收客户端发送的订阅请求,根据订阅请求确定目标主题对应的所有关键事件序列和每个关键事件序列对应的角色,关键事件序列是通过统计不同角色的历史业务信息确定的。根据客户端对应的角色从目标主题对应的所有关键事件序列中确定目标事件序列并发送至客户端。由于统计不同角色的历史业务信息确定关键事件序列,故接收到订阅请求时,可以根据客户端的角色确定客户端对应的关键事件序列并发送至客户端,而不是将整个事件序列发送至客户端,从而避免返回一些消费者不关注的信息,这样既节约了带宽,在订阅暴增时也可以保证服务速度。

An Event Subscription Method and Device Based on Block Chain

【技术实现步骤摘要】
一种基于区块链的事件订阅方法及装置
本专利技术实施例涉及科技金融
,尤其涉及一种基于区块链的事件订阅方法及装置。
技术介绍
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变,区块链技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。区块链是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的Hash值,通过这种方式组成一条链。区块链的核心理念有两个,一个是密码学技术,另一个是去中心化思想,基于这两个理念做到区块链上的历史信息无法被篡改。一个区块由块头和块体组成,其中块头定义包括该区块高度h,上一个区块的Hash值等重要字段,而块体主要存储交易数据。生产者通过发布接口发布一个主题,主题中包括整个序列事件,发布成功的事件将永久存储在区块链上。消费者订阅了该主题时,将收到该主题整个序列事件。可能该主题中并不是每个事件都是消费者关注的,因此会返回一些消费者不关注的信息,从而既浪费带宽,又影响服务速度。
技术实现思路
由于消费者订阅主题时将收到主题整个的序列事件,导致消费者收到不关注的信息,既浪费带宽又影响服务速度的问题,本专利技术实施例提供了一种基于区块链的事件订阅方法及装置。一方面,本专利技术实施例提供了一种基于区块链的事件订阅方法,包括:接收客户端发送的订阅请求;根据所述订阅请求确定目标主题,并确定所述目标主题对应的所有关键事件序列和每个关键事件序列对应的角色,所述关键事件序列是通过统计不同角色的历史业务信息确定的;根据所述客户端对应的角色从所述目标主题对应的所有关键事件序列中确定所述客户端对应的目标事件序列;将所述目标事件序列发送至所述客户端。可选地,所述关键事件序列是通过统计不同角色的历史业务信息确定的,包括:针对每个角色,获取所述角色的历史业务信息,所述历史业务信息包括历史订阅事件以及历史订阅事件之间的次序;对所述历史订阅事件之间的次序进行频率统计,确定所述角色的关键事件序列。可选地,还包括:将每个角色的关键事件序列保存至区块链中。可选地,还包括:将每个角色的关键事件序列进行缓存。一方面,本专利技术实施例提供了一种基于区块链的事件订阅装置,包括:接收模块,用于接收客户端发送的订阅请求;处理模块,用于根据所述订阅请求确定目标主题,并确定所述目标主题对应的所有关键事件序列和每个关键事件序列对应的角色,所述关键事件序列是通过统计不同角色的历史业务信息确定的;查询模块,用于根据所述客户端对应的角色从所述目标主题对应的所有关键事件序列中确定所述客户端对应的目标事件序列;发送模块,用于将所述目标事件序列发送至所述客户端。可选地,所述处理模块具体用于:针对每个角色,获取所述角色的历史业务信息,所述历史业务信息包括历史订阅事件以及历史订阅事件之间的次序;对所述历史订阅事件之间的次序进行频率统计,确定所述角色的关键事件序列。可选地,所述处理模块还用于:将每个角色的关键事件序列保存至区块链中。可选地,所述处理模块还用于:将每个角色的关键事件序列进行缓存。一方面,本专利技术实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现基于区块链的事件订阅方法的步骤。一方面,本专利技术实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行基于区块链的事件订阅方法的步骤。由于预先统计不同角色的历史业务信息确定关键事件序列,故每个目标主题可以包括多个角色对应的关键事件序列,当接收到客户端的订阅请求时,可以根据客户端的角色确定目标主题中客户端对应的关键事件序列,然后将关键事件序列发送至客户端,而不需要将目标主题的整个事件序列发送至客户端,从而避免返回一些消费者不关注的信息,这样既节约了带宽,在订阅暴增时也可以保证服务速度。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种应用场景示意图;图2为本专利技术实施例提供的一种基于区块链的事件订阅方法的流程示意图;图3为本专利技术实施例提供的一种确定关键事件序列的方法的流程示意图;图4为本专利技术实施例提供的一种基于区块链的事件订阅方法的流程示意图;图5为本专利技术实施例提供的一种基于区块链的事件订阅装置的结构示意图;图6为本专利技术实施例提供的一种基于计算机设备的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。为了方便理解,下面对本专利技术实施例中涉及的名词进行解释。Event(事件):物体状态的一个变化,比如开门是一个事件,关门也是一个事件。Topic(主题):同一类事件是一个主题,主题之间互相独立。发布事件(Publish):将事件发送到特定的主题上。订阅事件(Subscribe):从特定的主题上接收事件。生产者(Producer):发布事件的主体。消费者(Consumer):订阅事件的主体。智能合约(Smartcontract):在区块链上运行的一段公开,透明的代码。事件ID(EventID):每一个事件发布成功后会有一个在主题范围内的唯一ID。区块链:区块链是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的Hash值,通过这种方式组成一条链。区块链的核心理念有两个,一个是密码学技术,另一个是去中心化思想,基于这两个理念做到区块链上的历史信息无法被篡改。一个区块由块头和块体组成,其中块头定义包括该区块高度h,上一个区块的Hash值等重要字段,而块体主要存储交易数据。节点:网络中的每一个参与者就是一个节点,节点参与网络组建和数据交换。在区块链网络中,一个节点是指一个具有唯一身份的参与者,该节点具有一份完整的账本拷贝,具有参与区块链网络共识和账本维护的能力。本专利技术实施例中的基于区块链的事件订阅方法可以应用于区块链场景中,示例性地,如图1所示,该场景中包括客户端101、中间服务器102、区块链103以及用户端104,客户端101可以是生产者,也可以是消费者。当客户端101为生产者时,可以通过Publish接口往中间服务器102中发布一个主题,或者在某个主题上发布一个事件。中间服务器102将校验客户端101发布的主题或事件是否合法,如果合法,将客户端101发布的主题或事件保存在区块链103中。当客户端101为消费者时,可以通过Subscribe接口往中间服务器102中订阅一个主题,当订阅成功时,中间服务器102从区块链103中获取该主题上的事件,并将该主题上的事件发生至客户端101。当生产者往该主题上发布一个新的事件时,中间服务器102将新的事件发送至客户端101。客户端101可以为用户提供对应的业务,比如用户在需要查询某个事件时,用户端104向客户端101发送查询请求,查询请求中携带事件ID,客户端101根本文档来自技高网...

【技术保护点】
1.一种基于区块链的事件订阅方法,其特征在于,包括:接收客户端发送的订阅请求;根据所述订阅请求确定目标主题,并确定所述目标主题对应的所有关键事件序列和每个关键事件序列对应的角色,所述关键事件序列是通过统计不同角色的历史业务信息确定的;根据所述客户端对应的角色从所述目标主题对应的所有关键事件序列中确定所述客户端对应的目标事件序列;将所述目标事件序列发送至所述客户端。

【技术特征摘要】
1.一种基于区块链的事件订阅方法,其特征在于,包括:接收客户端发送的订阅请求;根据所述订阅请求确定目标主题,并确定所述目标主题对应的所有关键事件序列和每个关键事件序列对应的角色,所述关键事件序列是通过统计不同角色的历史业务信息确定的;根据所述客户端对应的角色从所述目标主题对应的所有关键事件序列中确定所述客户端对应的目标事件序列;将所述目标事件序列发送至所述客户端。2.如权利要求1所述的方法,其特征在于,所述关键事件序列是通过统计不同角色的历史业务信息确定的,包括:针对每个角色,获取所述角色的历史业务信息,所述历史业务信息包括历史订阅事件以及历史订阅事件之间的次序;对所述历史订阅事件之间的次序进行频率统计,确定所述角色的关键事件序列。3.如权利要求2所述的方法,其特征在于,还包括:将每个角色的关键事件序列保存至区块链中。4.如权利要求2所述的方法,其特征在于,还包括:将每个角色的关键事件序列进行缓存。5.一种基于区块链的事件订阅装置,其特征在于,包括:接收模块,用于接收客户端发送的订阅请求;处理模块,用于根据所述订阅请求确定目标主题,并确定所述目标主题对应的所有关键事件序列和每个关键事...

【专利技术属性】
技术研发人员:梅芬苏小康张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1