CN110110269B - 一种基于区块链的事件订阅方法及装置 - Google Patents

一种基于区块链的事件订阅方法及装置 Download PDF

Info

Publication number
CN110110269B
CN110110269B CN201910280096.4A CN201910280096A CN110110269B CN 110110269 B CN110110269 B CN 110110269B CN 201910280096 A CN201910280096 A CN 201910280096A CN 110110269 B CN110110269 B CN 110110269B
Authority
CN
China
Prior art keywords
role
client
event
sequence
key 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.)
Active
Application number
CN201910280096.4A
Other languages
English (en)
Other versions
CN110110269A (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910280096.4A priority Critical patent/CN110110269B/zh
Publication of CN110110269A publication Critical patent/CN110110269A/zh
Priority to PCT/CN2020/084028 priority patent/WO2020207445A1/zh
Application granted granted Critical
Publication of CN110110269B publication Critical patent/CN110110269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Abstract

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

Description

一种基于区块链的事件订阅方法及装置
技术领域
本发明实施例涉及科技金融技术领域,尤其涉及一种基于区块链的事件订阅方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变,区块链技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。区块链是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的Hash值,通过这种方式组成一条链。区块链的核心理念有两个,一个是密码学技术,另一个是去中心化思想,基于这两个理念做到区块链上的历史信息无法被篡改。一个区块由块头和块体组成,其中块头定义包括该区块高度h,上一个区块的Hash值等重要字段,而块体主要存储交易数据。生产者通过发布接口发布一个主题,主题中包括整个序列事件,发布成功的事件将永久存储在区块链上。消费者订阅了该主题时,将收到该主题整个序列事件。可能该主题中并不是每个事件都是消费者关注的,因此会返回一些消费者不关注的信息,从而既浪费带宽,又影响服务速度。
发明内容
由于消费者订阅主题时将收到主题整个的序列事件,导致消费者收到不关注的信息,既浪费带宽又影响服务速度的问题,本发明实施例提供了一种基于区块链的事件订阅方法及装置。
一方面,本发明实施例提供了一种基于区块链的事件订阅方法,包括:
接收客户端发送的订阅请求;
根据所述订阅请求确定目标主题,并确定所述目标主题对应的所有关键事件序列和每个关键事件序列对应的角色,所述关键事件序列是通过统计不同角色的历史业务信息确定的;
根据所述客户端对应的角色从所述目标主题对应的所有关键事件序列中确定所述客户端对应的目标事件序列;
将所述目标事件序列发送至所述客户端。
可选地,所述关键事件序列是通过统计不同角色的历史业务信息确定的,包括:
针对每个角色,获取所述角色的历史业务信息,所述历史业务信息包括历史订阅事件以及历史订阅事件之间的次序;
对所述历史订阅事件之间的次序进行频率统计,确定所述角色的关键事件序列。
可选地,还包括:
将每个角色的关键事件序列保存至区块链中。
可选地,还包括:
将每个角色的关键事件序列进行缓存。
一方面,本发明实施例提供了一种基于区块链的事件订阅装置,包括:
接收模块,用于接收客户端发送的订阅请求;
处理模块,用于根据所述订阅请求确定目标主题,并确定所述目标主题对应的所有关键事件序列和每个关键事件序列对应的角色,所述关键事件序列是通过统计不同角色的历史业务信息确定的;
查询模块,用于根据所述客户端对应的角色从所述目标主题对应的所有关键事件序列中确定所述客户端对应的目标事件序列;
发送模块,用于将所述目标事件序列发送至所述客户端。
可选地,所述处理模块具体用于:
针对每个角色,获取所述角色的历史业务信息,所述历史业务信息包括历史订阅事件以及历史订阅事件之间的次序;
对所述历史订阅事件之间的次序进行频率统计,确定所述角色的关键事件序列。
可选地,所述处理模块还用于:
将每个角色的关键事件序列保存至区块链中。
可选地,所述处理模块还用于:
将每个角色的关键事件序列进行缓存。
一方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现基于区块链的事件订阅方法的步骤。
一方面,本发明实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行基于区块链的事件订阅方法的步骤。
由于预先统计不同角色的历史业务信息确定关键事件序列,故每个目标主题可以包括多个角色对应的关键事件序列,当接收到客户端的订阅请求时,可以根据客户端的角色确定目标主题中客户端对应的关键事件序列,然后将关键事件序列发送至客户端,而不需要将目标主题的整个事件序列发送至客户端,从而避免返回一些消费者不关注的信息,这样既节约了带宽,在订阅暴增时也可以保证服务速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用场景示意图;
图2为本发明实施例提供的一种基于区块链的事件订阅方法的流程示意图;
图3为本发明实施例提供的一种确定关键事件序列的方法的流程示意图;
图4为本发明实施例提供的一种基于区块链的事件订阅方法的流程示意图;
图5为本发明实施例提供的一种基于区块链的事件订阅装置的结构示意图;
图6为本发明实施例提供的一种基于计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了方便理解,下面对本发明实施例中涉及的名词进行解释。
Event(事件):物体状态的一个变化,比如开门是一个事件,关门也是一个事件。
Topic(主题):同一类事件是一个主题,主题之间互相独立。
发布事件(Publish):将事件发送到特定的主题上。
订阅事件(Subscribe):从特定的主题上接收事件。
生产者(Producer):发布事件的主体。
消费者(Consumer):订阅事件的主体。
智能合约(Smart contract):在区块链上运行的一段公开,透明的代码。
事件ID(Event ID):每一个事件发布成功后会有一个在主题范围内的唯一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根据事件ID获取对应的事件并发送至用户端104。中间服务器102可以获取客户端101的历史业务信息,即用户端104向客户端101查询的事件以及查询事件的次序。中间服务器102通过对客户端101的历史业务信息进行统计,获得客户端101的角色以及对应的关键事件序列。中间服务器102可以是一台服务器或若干台服务器组成的服务器集群或云计算中心等。用户端104是具备网络通信能力的电子设备,该电子设备可以是智能手机、平板电脑或便携式个人计算机等等。客户端101通过无线网络与中间服务器102连接。
基于图1所示的应用场景图,本发明实施例提供了一种基于区块链的事件订阅方法的流程,该方法的流程可以由基于区块链的事件订阅装置执行,基于区块链的事件订阅装置可以是图1所示的中间服务器102,如图2所示,包括以下步骤:
步骤S201,接收客户端发送的订阅请求。
步骤S202,根据订阅请求确定目标主题,并确定目标主题对应的所有关键事件序列和每个关键事件序列对应的角色。
具体地,关键事件序列是通过统计不同角色的历史业务信息确定的。不同角色对应的业务不同,故关注的事件也不会相同。
示例性地,设定飞机场的运营商发布一个主题M,主题M中包括6个事件,分别为:
事件1,办票:乘客办理登记手续、检查行李。
事件2,安检:乘客进入/离开安检区。
事件3,行李处理:在安检站扫描行李、行李装入集装箱。
事件4,舱门操作:舱门打开、登机、最后登机、关闭。
事件5,航班操作:登机口、装载集装箱、出发、起飞。
事件6,客户服务:新航班复查行李。
对于乘客APP的后台来说,角色可以定义为乘客,对应的业务是为乘客提供乘坐飞机相关的信息,因此更关注的事件是主题M中的事件1、事件2和事件3。对于航空公司系统来说,角色可以定义为航空公司,对应的业务是为航空公司提供航班信息,因此更关注的事件是主题M中的事件4、事件5和事件6。
步骤S203,根据客户端对应的角色从目标主题对应的所有关键事件序列中确定客户端对应的目标事件序列。
当接收到客户端发送的订阅请求时,可以先确定客户端对应的角色,然后根据角色查询目标主题对应的所有关键事件序列,然后将与角色匹配的关键事件序列作为目标事件序列。比如,设定目标主题包括两个关键事件序列,分别为序列1和序列2,其中序列1对应的角色为角色A,序列2对应的角色为角色B。若客户端的角色为角色A,则将序列1作为客户端的目标事件序列。
步骤S204,将目标事件序列发送至客户端。
由于预先统计不同角色的历史业务信息确定关键事件序列,故每个目标主题可以包括多个角色对应的关键事件序列,当接收到客户端的订阅请求时,可以根据客户端的角色确定目标主题中客户端对应的关键事件序列,然后将关键事件序列发送至客户端,而不需要将目标主题的整个事件序列发送至客户端,从而避免返回一些消费者不关注的信息,这样既节约了带宽,在订阅暴增时也可以保证服务速度。
下面具体介绍通过统计不同角色的历史业务信息确定关键事件序列的具体过程,如图3所示,包括以下步骤:
步骤S301,针对每个角色,获取角色的历史业务信息。
具体地,历史业务信息包括历史订阅事件以及历史订阅事件之间的次序。比如,设定乘客APP的后台的角色为乘客,对应的业务是为乘客提供乘坐飞机相关的信息,因此,历史业务信息至少包括乘客在乘客APP上查询办票、安检、行李处理等事件以及查询办票、安检、行李处理等事件的次序。又比如,设定航空公司系统的角色为航空公司,对应的业务是为航空公司提供航班信息,因此,历史业务信息至少包括航空公司在航空公司系统上查询舱门操作、航班操作、客户服务等事件以及查询舱门操作、航班操作、客户服务等事件的次序。
步骤S302,对历史订阅事件之间的次序进行频率统计,确定角色的关键事件序列。
具体地,对历史订阅事件之间的次序进行频率统计,即统计用户先查询事件1,接着查询事件2的次数。示例性地,角色为乘客时,对候选次序A和候选次序B进行频率统计,候选次序A和候选次序B包括对应的历史订阅事件,需要说明的是,具体实施中并不只是针对上述两个次序进行频率统计,还可以包括其他的候选次序。
具体地,针对候选次序A:事件1→事件2→事件3:
通过统计乘客在乘客APP上的历史查询记录可知,乘客从查询事件1到查询事件2的频率统计值为5,乘客从查询事件2到查询事件3的频率统计值为3。然后计算所有次序的统计值之和可得候选次序A的总频率统计值为8。
针对候选次序B:事件4→事件5→事件6:
通过统计乘客在乘客APP上的历史查询记录可知,乘客从查询事件4到查询事件5的频率统计值为1,乘客从查询事件5到查询事件6的频率统计值为0。然后计算所有次序的统计值之和可得候选次序B的总频率统计值为1。
通过比较可知,对于角色为乘客的客户端来说,更关注的次序是候选次序A,因此可以将候选次序A确定为角色(乘客)的关键事件序列,然后将候选次序A以及角色(乘客)对应保存。
示例性地,角色为航空公司时,对候选次序A和候选次序B进行频率统计,具体地,针对候选次序A:事件1→事件2→事件3:
通过统计航空公司在航空公司系统中的历史查询记录可知,航空公司从查询事件1到查询事件2的频率统计值为1,航空公司从查询事件2到查询事件3的频率统计值为1。然后计算所有次序的统计值之和可得候选次序A的总频率统计值为2。
针对候选次序B:事件4→事件5→事件6:
通过统计航空公司在航空公司系统中的历史查询记录可知,航空公司从查询事件4到查询事件5的频率统计值为6,航空公司从查询事件5到查询事件6的频率统计值为4。然后计算所有次序的统计值之和可得候选次序B的总频率统计值为10。
通过比较可知,对于角色为航空公司的客户端来说,更关注的次序是候选次序B,因此可以将候选次序B确定为角色(航空公司)的关键事件序列,然后将候选次序B以及角色(航空公司)对应保存。
通过对每类角色关注的事件序列进行统计分析,获得每类角色对应的关键事件序列,故在接收到客户端的订阅请求时,根据客户端的角色返回客户端的关键事件序列,从而达到快速响应客户端以及增加整个系统的吞吐量的效果。
在一种可能的实施方式中,中间服务器在确定每个角色的关键事件序列后,可以将每个角色的关键事件序列进行缓存。比如,针对主题M,中间服务器在确定角色(乘客)的关键事件序列为候选次序A时,将候选次序A以及角色(乘客)对应缓存。中间服务器在确定角色(航空公司)的关键事件序列为候选次序B时,将候选次序B以及角色(航空公司)对应缓存,主题M包括两个缓存的关键事件序列。
中间服务器在接收到客户端发送的订阅请求时,根据客户端的角色从缓存的目标主题对应的所有关键事件序列中,获得客户端对应的目标事件序列。示例性地,若客户端的角色为乘客,从缓存的主题M对应的两个关键事件序列中,确定角色(乘客)对应的关键事件序列为候选次序A。若客户端的角色为航空公司,从缓存的主题M对应的两个关键事件序列中,确定角色(航空公司)对应的关键事件序列为候选次序B。
由于对每类角色关注的事件序列进行统计分析,获得每类角色对应的关键事件序列后,将角色对应的关键事件序列缓存在本地,故后续接收到客户端发送的订阅请求时,可以直接将缓存的关键事件序列返回客户端,从而在业务暴增的情况下,可以及时缓解业务压力,保证业务正常稳定的运行。
在一种可能的实施方式中,中间服务器在确定每个角色的关键事件序列后,可以将每个角色的关键事件序列保存至区块链中。比如,针对主题M,中间服务器在确定角色(乘客)的关键事件序列为候选次序A时,将候选次序A以及角色(乘客)对应保存在区块链中。中间服务器在确定角色(航空公司)的关键事件序列为候选次序B时,将候选次序B以及角色(航空公司)对应保存在区块链中。
中间服务器在接收到客户端发送的订阅请求时,根据客户端的角色从区块链保存的目标主题对应的所有关键事件序列中,获得客户端对应的目标事件序列。示例性地,若客户端的角色为乘客,从区块链中获得角色(乘客)对应的关键事件序列,即候选次序A,然后将候选次序A作为目标事件序列发送至客户端。若客户端的角色为航空公司,从区块链中获得角色(航空公司)对应的关键事件序列,即候选次序B,然后将候选次序B作为目标事件序列发送至客户端。
另外,区块链中保存的角色以及对应的关键事件序列可以共享给其他机构,使得其他机构不需要重新对角色以及角色关注的事件进行分析,而是直接按照客户端的角色从区块链中拉取对应的关键事件序列,从而为其他机构带来便利。
为了更好的解释本发明实施例,下面结合具体的实施场景描述本发明实施例提供的一种基于区块链的事件订阅方法,该方法由客户端1、服务器1、区块链、服务器2和客户端2交互执行,如图4所示,该方法包括以下步骤:
步骤S401,服务器1获取每个角色的历史业务信息,历史业务信息包括历史订阅事件以及历史订阅事件之间的次序。
具体地,针对任意一个主题,可以定义订阅该主题的消费者的角色,比如,将订阅主题N的消费者的角色包括角色A和角色B。若角色A为用户提供的业务为业务P,则获取角色A为用户提供业务P时的历史业务信息。若角色B为用户提供的业务为业务Q,则获取角色B为用户提供业务Q时的历史业务信息,业务P和业务Q对应的事件是不相同的,因此,角色A的历史订阅事件以及历史订阅事件之间的次序与角色B的历史订阅事件以及历史订阅事件之间的次序也是不同的。
步骤S402,服务器1对历史订阅事件之间的次序进行频率统计,确定每个角色的关键事件序列。
示例性地,设定主题N中包括事件1、事件2、事件3、事件4、事件5、事件6。采用角色A的历史业务信息对序列1和序列2进行频率统计。
针对序列1:事件1→事件3→事件5→事件6:
通过统计角色A为用户提供业务P的历史记录可知,用户从查询事件1到查询事件3的频率统计值为5,用户从查询事件3到查询事件5的频率统计值为3,用户从查询事件5到查询事件6的频率统计值为1。然后计算所有次序的统计值之和可得序列1的总频率统计值为9。
针对序列2:事件1→事件2→事件4→事件6:
通过统计角色A为用户提供业务P的历史记录可知,用户从查询事件1到查询事件2的频率统计值为1,用户从查询事件2到查询事件4的频率统计值为1,用户从查询事件4到查询事件6的频率统计值为0。然后计算所有次序的统计值之和可得序列2的总频率统计值为2。
通过比较可知,对于角色A来说,更关注的次序是序列1,因此可以将序列1确定为角色A的关键事件序列。基于上述同样的方法可以确定角色B的关键事件序列,假设统计结果为序列2为角色B的关键事件序列。
步骤S403,服务器1将角色以及对应的关键事件序列进行缓存。
将角色A和序列1对应缓存,将角色B和序列2对应缓存。
步骤S404,服务器1将角色以及对应的关键事件序列保存至区块链中。
将角色A和序列1对应保存在区块链中,将角色B和序列2对应保存的区块链中。
步骤S405,客户端1发送的第一订阅请求至服务器1。
步骤S406,服务器1从缓存的数据中,确定主题N对应的所有关键事件序列和每个关键事件序列对应的角色。
具体地,服务器1根据第一订阅请求确定目标主题为主题N,主题N对应的所有关键事件序列为序列1和序列2,序列1对应的角色为角色A,序列2对应的角色为角色B。
步骤S407,服务器1根据客户端1对应的角色,从主题N对应的所有关键事件序列中确定客户端1对应的目标事件序列。
若客户端1的角色为角色A时,获取序列1作为目标事件序列。若客户端1的角色为角色B时,获取序列2作为目标事件序列。
步骤S408,服务器1将客户端1对应的目标事件序列发送至客户端1。
步骤S409,客户端2发送的第二订阅请求至服务器2。
步骤S410,服务器2根据客户端2的角色,从区块链保存的目标主题对应的所有关键事件序列中,获得客户端2对应的目标事件序列。
步骤S411,区块链返回客户端2对应的目标事件序列至服务器2。
若客户端2的角色为角色A时,获取序列1作为目标事件序列。若客户端2的角色为角色B时,获取序列2作为目标事件序列。
步骤S412,服务器2将客户端2对应的目标事件序列发送至客户端2。
由于预先统计不同角色的历史业务信息确定关键事件序列,故每个目标主题可以包括多个角色对应的关键事件序列,当接收到客户端的订阅请求时,可以根据客户端的角色确定目标主题中客户端对应的关键事件序列,然后将关键事件序列发送至客户端,而不需要将目标主题的整个事件序列发送至客户端,从而避免返回一些消费者不关注的信息,这样既节约了带宽,在订阅暴增时也可以保证服务速度。
基于相同的技术构思,本发明实施例提供了一种基于区块链的事件订阅装置,如图5所示,基于区块链的事件订阅装置500包括:
接收模块501,用于接收客户端发送的订阅请求;
处理模块502,用于根据所述订阅请求确定目标主题,并确定所述目标主题对应的所有关键事件序列和每个关键事件序列对应的角色,所述关键事件序列是通过统计不同角色的历史业务信息确定的;
查询模块503,用于根据所述客户端对应的角色从所述目标主题对应的所有关键事件序列中确定所述客户端对应的目标事件序列;
发送模块504,用于将所述目标事件序列发送至所述客户端。
可选地,所述处理模块502具体用于:
针对每个角色,获取所述角色的历史业务信息,所述历史业务信息包括历史订阅事件以及历史订阅事件之间的次序;
对所述历史订阅事件之间的次序进行频率统计,确定所述角色的关键事件序列。
可选地,所述处理模块502还用于:
将每个角色的关键事件序列保存至区块链中。
可选地,所述处理模块502还用于:
将每个角色的关键事件序列进行缓存。
基于相同的技术构思,本发明实施例提供了一种计算机设备,如图6所示,包括至少一个处理器601,以及与至少一个处理器连接的存储器602,本发明实施例中不限定处理器601与存储器602之间的具体连接介质,图6中处理器601和存储器602之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器602存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602存储的指令,可以执行前述的基于区块链的事件订阅方法中所包括的步骤。
其中,处理器601是终端设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据,从而订阅事件。可选的,处理器601可包括一个或多个处理单元,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。在一些实施例中,处理器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器601可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器602还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本发明实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行基于区块链的事件订阅方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种基于区块链的事件订阅方法,其特征在于,包括:
接收客户端发送的订阅请求;
根据所述订阅请求确定目标主题,并确定所述目标主题对应的所有关键事件序列和每个关键事件序列对应的角色,所述关键事件序列是通过统计不同角色的历史业务信息确定的,具体包括:针对每个角色,获取所述角色的历史业务信息,所述历史业务信息包括历史订阅事件以及历史订阅事件之间的次序;对所述历史订阅事件之间的次序进行频率统计,确定所述角色的关键事件序列;
根据所述客户端对应的角色从所述目标主题对应的所有关键事件序列中确定所述客户端对应的目标事件序列;
将所述目标事件序列发送至所述客户端。
2.如权利要求1所述的方法,其特征在于,还包括:
将每个角色的关键事件序列保存至区块链中。
3.如权利要求1所述的方法,其特征在于,还包括:
将每个角色的关键事件序列进行缓存。
4.一种基于区块链的事件订阅装置,其特征在于,包括:
接收模块,用于接收客户端发送的订阅请求;
处理模块,用于根据所述订阅请求确定目标主题,并确定所述目标主题对应的所有关键事件序列和每个关键事件序列对应的角色,所述关键事件序列是通过统计不同角色的历史业务信息确定的,具体包括:针对每个角色,获取所述角色的历史业务信息,所述历史业务信息包括历史订阅事件以及历史订阅事件之间的次序;对所述历史订阅事件之间的次序进行频率统计,确定所述角色的关键事件序列;
查询模块,用于根据所述客户端对应的角色从所述目标主题对应的所有关键事件序列中确定所述客户端对应的目标事件序列;
发送模块,用于将所述目标事件序列发送至所述客户端。
5.如权利要求4所述的装置,其特征在于,所述处理模块还用于:
将每个角色的关键事件序列保存至区块链中。
6.如权利要求4所述的装置,其特征在于,所述处理模块还用于:
将每个角色的关键事件序列进行缓存。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~3任一权利要求所述方法的步骤。
8.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~3任一所述方法的步骤。
CN201910280096.4A 2019-04-09 2019-04-09 一种基于区块链的事件订阅方法及装置 Active CN110110269B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910280096.4A CN110110269B (zh) 2019-04-09 2019-04-09 一种基于区块链的事件订阅方法及装置
PCT/CN2020/084028 WO2020207445A1 (zh) 2019-04-09 2020-04-09 一种基于区块链的事件订阅方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910280096.4A CN110110269B (zh) 2019-04-09 2019-04-09 一种基于区块链的事件订阅方法及装置

Publications (2)

Publication Number Publication Date
CN110110269A CN110110269A (zh) 2019-08-09
CN110110269B true CN110110269B (zh) 2023-04-18

Family

ID=67483979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910280096.4A Active CN110110269B (zh) 2019-04-09 2019-04-09 一种基于区块链的事件订阅方法及装置

Country Status (2)

Country Link
CN (1) CN110110269B (zh)
WO (1) WO2020207445A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110110269B (zh) * 2019-04-09 2023-04-18 深圳前海微众银行股份有限公司 一种基于区块链的事件订阅方法及装置
CN112765514A (zh) * 2019-11-06 2021-05-07 腾讯科技(深圳)有限公司 一种监测网络舆情方法、装置及存储介质
CN113573282B (zh) * 2020-04-29 2022-09-16 中国电信股份有限公司 订阅数据的提供/获取方法、提供/获取装置和交互系统
CN112016115B (zh) * 2020-11-02 2021-02-05 中航信移动科技有限公司 基于区块链的事件订阅系统
CN112559637B (zh) * 2021-02-19 2021-06-18 腾讯科技(深圳)有限公司 基于分布式存储的数据处理方法、装置、设备以及介质
CN113032704A (zh) * 2021-02-24 2021-06-25 广州虎牙科技有限公司 数据处理方法、装置、电子设备及介质
CN113297178B (zh) * 2021-05-31 2024-04-02 中国民航信息网络股份有限公司 一种航空产品数据处理方法及相关设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459908B (zh) * 2007-12-13 2012-04-25 华为技术有限公司 一种业务订阅方法、系统、服务器
US9402104B2 (en) * 2010-07-30 2016-07-26 Avaya Inc. System and method for subscribing to events based on tag words
US20140310365A1 (en) * 2012-01-31 2014-10-16 Global Relay Communications Inc. System and Method for Tracking Messages in a Messaging Service
CN103729461B (zh) * 2014-01-12 2017-02-01 中国科学院软件研究所 一种基于历史记录数据挖掘的发布和订阅方法
US9674127B2 (en) * 2014-09-23 2017-06-06 International Business Machines Corporation Selective message republishing to subscriber subsets in a publish-subscribe model
CN107017992B (zh) * 2017-03-29 2020-02-07 杭州秘猿科技有限公司 一种基于双链结构的高性能联盟区块链的设计方法
CN108932250A (zh) * 2017-05-24 2018-12-04 北京京东尚科信息技术有限公司 用于数据处理的方法、设备、系统和计算机可读存储介质
LT3451608T (lt) * 2017-09-04 2020-02-25 Siemens Aktiengesellschaft Filtro blokas pagrįstas duomenų ryšio sistema, apimant paskirstytojo registro (blokčeino) platformą
US11201727B2 (en) * 2019-03-27 2021-12-14 Advanced New Technologies Co., Ltd. System and method for managing user interactions with a blockchain
CN110110269B (zh) * 2019-04-09 2023-04-18 深圳前海微众银行股份有限公司 一种基于区块链的事件订阅方法及装置

Also Published As

Publication number Publication date
CN110110269A (zh) 2019-08-09
WO2020207445A1 (zh) 2020-10-15

Similar Documents

Publication Publication Date Title
CN110110269B (zh) 一种基于区块链的事件订阅方法及装置
US10045218B1 (en) Anomaly detection in streaming telephone network data
CN106850346B (zh) 用于监控节点变化及辅助识别黑名单的方法、装置及电子设备
US20220045860A1 (en) Consensus layer architecture for maintaining security with reduced processing power dependency in untrusted decentralized computing platforms
CN111179066B (zh) 业务数据的批量处理方法、装置、服务器和存储介质
CN110097451B (zh) 一种银行业务的监控方法及装置
US20220253432A1 (en) Blockchain-based data processing method and apparatus, device, and readable storage medium
CN114239859A (zh) 一种基于迁移学习的时序数据预测方法、装置及存储介质
CN114140127B (zh) 一种基于区块链的支付处理方法及系统
CN111985921A (zh) 基于区块链离线支付的验证处理方法及数字金融服务平台
CN107451301B (zh) 实时投递账单邮件的处理方法、装置、设备和存储介质
CN109191185A (zh) 一种客群分类方法及系统
CN111125167B (zh) 一种车辆匹配方法、装置及计算设备
CN114610813A (zh) 一种面向联邦学习的分布式存储方法、装置、设备及介质
CN107320962A (zh) 跨服匹配方法、装置及系统
CN111459989A (zh) 一种信用卡推荐方法、装置、设备及介质
CN112734352A (zh) 一种基于数据维度的单据审核方法和装置
CN109542609A (zh) 一种代扣还款的方法、装置、计算机设备和存储介质
CN116506333B (zh) 交易系统生产反演检测方法及设备
CN114707954B (zh) 企业智慧平台的信息管理方法及系统
CN117036141B (zh) 针对公路全生命周期的数据处理方法和数据交互系统
US20240135203A1 (en) Predictive machine learning architecture for identifying gaps in network activity
US20230385456A1 (en) Automatic segmentation using hierarchical timeseries analysis
CN117149429A (zh) 一种基于交易识别的贷款分类错峰处理方法及系统
CN116702789A (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