CN115099972A - 基于事件驱动架构的交易数据处理方法、装置及设备 - Google Patents
基于事件驱动架构的交易数据处理方法、装置及设备 Download PDFInfo
- Publication number
- CN115099972A CN115099972A CN202210741314.1A CN202210741314A CN115099972A CN 115099972 A CN115099972 A CN 115099972A CN 202210741314 A CN202210741314 A CN 202210741314A CN 115099972 A CN115099972 A CN 115099972A
- Authority
- CN
- China
- Prior art keywords
- event
- transaction
- transaction event
- data processing
- operator
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书涉及交易数据处理技术领域,提供了一种基于事件驱动架构的交易数据处理方法、装置及设备,该方法包括:获取事件生产者通过异步消息机制发布的交易事件;调用所述交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件;所述操作算子集合中每个操作算子由该交易事件的事件消费者定义;将所述目标交易事件通过异步消息机制推送给对应的事件消费者。本说明书实施例可以降低交易数据处理中上下游的耦合度,提高交易数据处理场景的可扩展性。
Description
技术领域
本说明书涉及交易数据处理技术领域,尤其是涉及一种基于事件驱动架构的交易数据处理方法、装置及设备。
背景技术
金融领域中,在进行交易数据处理时常采用传统的请求/响应架构(SOA架构),业务逻辑集中于服务响应方,请求方与响应方系统耦合太紧,请求方的任何报文接口变化都会引起服务响应方的应用版本修改。例如,在智能营销场景下,当需要增加风险控制场景(即增加风控系统)时,需要接收大量的交易数据进行风险判断,大量的交易系统需要将数据再推送一份至风控系统。即数据产生方需要根据数据消费方的个数将相同的数据推送多份。总而言之,SOA架构的上下游系统强耦合,不利于交易数据处理场景的扩展。
发明内容
本说明书实施例的目的在于提供一种基于事件驱动架构的交易数据处理方法、装置及设备,以降低交易数据处理中上下游的耦合度,提高交易数据处理场景的可扩展性。
为达到上述目的,一方面,本说明书实施例提供了一种基于事件驱动架构的交易数据处理方法,包括:
获取事件生产者通过异步消息机制发布的交易事件;
调用所述交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件;所述操作算子集合中每个操作算子由该交易事件的事件消费者定义;
将所述目标交易事件通过异步消息机制推送给对应的事件消费者。
本说明书实施例的基于事件驱动架构的交易数据处理方法中,在调用所述交易事件对应的操作算子集合中的操作算之前,还包括:
确认所述交易事件的数据类型;所述数据类型包括有界数据流和无界数据流;
当所述交易事件为无界数据流时,根据预设的延迟触发策略调用所述交易事件对应的操作算子集合中的一个或多个操作算子。
本说明书实施例的基于事件驱动架构的交易数据处理方法中,所述根据预设的延迟触发策略调用所述交易事件对应的操作算子集合中的一个或多个操作算子,包括:
确定当前已到达的交易事件集合中创建时间最新的交易事件对应的创建时间;
从所述已到达的交易事件集合中获取当前滚动窗口内的交易事件,形成交易事件子集合;其中,当前滚动窗口内的交易事件为tmax-τ范围内的指定数量个创建时间最新的交易事件,tmax为当前已到达的交易事件集合中创建时间最新的交易事件对应的创建时间,τ为预设的延迟时长;
对于所述交易事件子集合中的每个交易事件,调用该交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件。
本说明书实施例的基于事件驱动架构的交易数据处理方法中,所述操作算子包括以下中的任意一种:
过滤操作算子;
映射操作算子;
内连接操作算子;
外连接操作算子。
本说明书实施例的基于事件驱动架构的交易数据处理方法中,所述确认所述交易事件的数据类型,包括:
确定接收所述交易事件的交易事件接口标识;
根据所述交易事件接口标识查询接口与数据类型对应关系表;
根据查询结果确定所述交易事件的数据类型。
本说明书实施例的基于事件驱动架构的交易数据处理方法中,所述异步消息机制包括消息队列或云消息队列。
另一方面,本说明书实施例还提供了一种基于事件驱动架构的交易数据处理装置,包括:
获取模块,用于获取事件生产者通过异步消息机制发布的交易事件;
调用模块,用于调用所述交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件;所述操作算子集合中每个操作算子由该交易事件的事件消费者定义;
推送模块,用于将所述目标交易事件通过异步消息机制推送给对应的事件消费者。
另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
另一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
由以上本说明书实施例提供的技术方案可见,本说明书实施例利用事件驱动架构发布订阅模式实现了事件的灵活分发,并基于异步数据传输机制使消息的事件消费者与事件生产者之间无感知,从而降低了事件消费者与事件生产者的耦合度,提高了交易数据处理场景的可扩展性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本说明书一些实施例中基于事件驱动架构的交易数据处理系统的结构框图;
图2示出了本说明书一些实施例中基于事件驱动架构的交易数据处理方法的流程图;
图3示出了本说明书一些实施例中事件处理引擎中交易事件与操作算子的对应关系示意图;
图4示出了本说明书另一些实施例中基于事件驱动架构的交易数据处理方法的流程图;
图5示出了图4所示的方法中据预设的延迟触发策略调用交易事件对应的操作算子的示意图;
图6示出了本说明书一示例性实施例中无界数据流的正常时序示意图;
图7示出了本说明书另一示例性实施例中无界数据流的紊乱时序示意图;
图8示出了本说明书一些实施例中基于事件驱动架构的交易数据处理装置的结构框图;
图9示出了本说明书一些实施例中计算机设备的结构框图。
【附图标记说明】
100、事件生产者;
200、事件处理引擎;
300、事件消费者;
81、获取模块;
82、调用模块;
83、推送模块;
902、计算机设备;
904、处理器;
906、存储器;
908、驱动机构;
910、输入/输出接口;
912、输入设备;
914、输出设备;
916、呈现设备;
918、图形用户接口;
920、网络接口;
922、通信链路;
924、通信总线。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
参考图1所示,本说明书一些实施例的基于事件驱动架构的交易数据处理系统可以包括一个或多个事件生产者100、事件处理引擎200以及一个或多个事件消费者300。事件消费者300可以预先在在事件处理引擎200订阅事件,并配置所订阅事件的操作算子(或称为处理规则);事件生产者100产生事件后,通过异步数据传输机制发布至事件处理引擎200;事件处理引擎200根据该事件对应的事件消费者300配置的操作算子对事件进行加工处理,并将将加工后得到的事件通过异步数据传输机制推送给事件消费者300,以供事件消费者300直接使用。如此,就利用事件驱动架构(Event Driven Architecture,EDA)发布订阅模式实现了事件的一对多灵活分发,并基于异步数据传输机制使消息的事件消费者300与事件生产者100之间无感知,从而降低了事件消费者300与事件生产者100的耦合度,提高了交易数据处理场景的可扩展性。
事件生产者100为所有可以发布交易事件的系统(例如转账系统、理财系统等);事件生产者100可以通过对应的接口与事件处理引擎200对接,以向事件处理引擎200发布其产生的交易事件。
事件处理引擎200可以为具有运算和网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理和网络交互提供业务逻辑的软件。事件处理引擎200支持事件生产者100和事件消费者300注册(包括注册申请者的名称、IP地址、消息队列通道等数据),并可以提供灵活的操作算子配置。例如,一些实施例中,事件处理引擎200可以为支持对大量事件进行流式处理的大数据平台。
事件消费者300为需要以事件处理引擎200推送的交易事件作为输入,并对交易事件进行处理,以实现对应功能的系统。因此,事件消费者300可以为具有运算和网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理和网络交互提供业务逻辑的软件。例如,一些实施例中,事件消费者300可以为促销/营销系统、风控系统等。以促销/营销系统为例,通过订阅事件生产者100产生的客户交易数据,进行活动达标计算(如客户分别完成转账、理财等交易后,为客户发放奖品或积分)。
本说明书实施例提供了一种基于事件驱动架构的交易数据处理方法,可以应用于上述的事件处理引擎,参考图2所示,在一些实施例中,基于事件驱动架构的交易数据处理方法可以包括以下步骤:
步骤201、获取事件生产者通过异步消息机制发布的交易事件。
本说明书实施例中,为了降低事件生产者与事件处理引擎之间的耦合,事件生产者可以基于异步消息机制发布的交易事件。例如,在一些实施例中,事件生产者可以将自身产生的交易事件发布到消息队列(Message Queue,MQ)/云消息队列(Cloud MessageQueue,CMQ)。事件处理引擎可以异步地从消息队列中读取交易事件。在一些实施例中,消息队列可以为一个或多个;例如,可以是每个事件生产者配置一个消息队列,也可以是多个事件生产者共享一个消息队列;具体可以根据实际需要设置。
步骤202、调用所述交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件;所述操作算子集合中每个操作算子由该交易事件的事件消费者定义。
事件处理引擎可以为已注册的事件消费者提供作算子配置接口,通过配置接口,每个已注册的事件消费者可以按需为自己订阅的交易事件配置一个或多个操作算子,以获得满足自身需要的交易事件。例如,在如图3所示的实施例中,在事件处理引擎200中,交易消息被三个事件消费者订阅,其中每个事件消费者为交易消息自定义了一个操作算子,如此,就形成了该交易消息的操作算子集合。
操作算子是由事件消费者自定义的任何处理逻辑。例如一些实施例中,操作算子可以为过滤操作算子、映射操作算子、内连接操作算子、外连接操作算子等。其中,过滤操作算子可以实现对交易事件进行过滤处理,以从中筛选出事件消费者需要部分。例如,事件消费者可以通过过滤操作算子过滤掉转账交易失败事件,以获得转账交易成功事件。映射操作算子可以实现对交易事件按照某个映射规则(例如数据标准化规则等)进行映射处理,以获得符合自己需求的交易事件。内连接操作算子可以用于合并具有同一列的两个以上的表,结果集不包含两个表不匹配的行。外连接可以用于合并具有同一列的两个以上的表,结果集中除了两个表匹配的行,还包含左表或右表中不匹配的行。
事件处理引擎中维护有交易事件、订阅者(即事件消费者)和操作算子之间的对应关系表;通过查询对应关系表,事件处理引擎也可以并行调用交易事件对应的操作算子以,以并行生成对应的目标交易事件(目标交易事件即为交易事件被操作算子处理后得到的交易事件),以降低交易事件的推送延时。在其他实施例中,根据需要,事件处理引擎也可以串行遍历调用交易事件对应的操作算子,以顺序生成对应的目标交易事件。
步骤203、将所述目标交易事件通过异步消息机制推送给对应的事件消费者。
同样,为了降低事件消费者与事件处理引擎之间的耦合,事件处理引擎可以基于异步消息机制(例如上述的MQ、CMQ等消息队列)向事件生产者推送交易事件。事件消费者可以异步地从消息队列中读取交易事件。在一些实施例中,事件处理引擎和事件消费者之间的消息队列也可以为一个或多个;例如,可以是每个事件消费者配置一个消息队列,也可以是多个事件消费者共享一个消息队列(当事件消费者共享一个消息队列时,如果事件消费者发现读取的交易事件不是给自己的交易事件,则可以丢弃,并继读取下一个交易事件)。
本说明书实施例提供了另一种基于事件驱动架构的交易数据处理方法,可以应用于上述的事件处理引擎,参考图4所示,在一些实施例中,基于事件驱动架构的交易数据处理方法可以包括以下步骤:
步骤401、获取事件生产者通过异步消息机制发布的交易事件。
步骤402、确认所述交易事件的数据类型;所述数据类型包括有界数据流和无界数据流。
有界数据流(bounded stream)即为离线数据,有界数据流明确了开始和结束(例如用户A2020年1月1日至2020年12月31日期间在XX银行的所有交易记录),因此,在调用操作算子执行计算前,有界数据流不需要有序获取。无界数据流(unbounded stream)即为实时数据(或联机数据),无界数据流明确有开始,没有定义结束;因此,无界数据流通常要求顺序处理事件,以保证数据的完整性。
正常情况下,无界数据流中交易事件是按事件的创建时间顺序(例如图6所示)到来,即先发布的数据先被事件处理引擎获取到,后发布的数据后被事件处理引擎获取到。但是,由于各种原因(例如通信延迟、调度算法等),无界数据流可能总不会按照事件的创建时间顺序到来,而是以乱序的顺序到来。例如,在图7所示的实施例中,在4号交易事件后,5号交易事件未按序到来,而是先到来了6号交易事件。在此情况下,可能会出现数据处理结果不准确的问题。
因此,为了提高数据处理结果的准确性,需要确认所述交易事件的数据类型,以便于对于不同的数据类型采取不同的处理策略。如果是有界数据流,则可以直接调用所述交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件。如果是无界数据流,则需要根据预设的延迟触发策略调用所述交易事件对应的操作算子集合中的一个或多个操作算子,即需要执行步骤403。
一些实施例中,确认所述交易事件的数据类型可以包括:确定接收所述交易事件的交易事件接口标识;根据所述交易事件接口标识查询接口与数据类型对应关系表;根据查询结果确定所述交易事件的数据类型。
步骤403、当所述交易事件为无界数据流时,根据预设的延迟触发策略调用所述交易事件对应的操作算子集合中的一个或多个操作算子。
步骤404、将所述目标交易事件通过异步消息机制推送给对应的事件消费者。
在一些实施例中,结合图5所示,上述步骤403中,根据预设的延迟触发策略调用所述交易事件对应的操作算子集合中的一个或多个操作算子可以包括:
步骤501、确定当前已到达的交易事件集合中创建时间最新的交易事件对应的创建时间。
当前已到达的交易事件集合是指:截止至当前已到达且未被事件处理引擎处理的交易事件的集合。例如,在图7所示的实施例中,假设当前已到达的交易事件为5号交易事件,则截止至当前,已到达且未被事件处理引擎处理的交易事件依次为1号交易事件、2号交易事件、3号交易事件、4号交易事件、6号交易事件和5号交易事件,从而形成当前已到达的交易事件集合。其中,6号交易事件的创建时间最晚,即6交易事件为创建时间最新的交易事件。
步骤502、从所述已到达的交易事件集合中获取当前滚动窗口内的交易事件,形成交易事件子集合;其中,当前滚动窗口内的交易事件为tmax-τ范围内的指定数量个创建时间最新的交易事件,tmax为当前已到达的交易事件集合中创建时间最新的交易事件对应的创建时间,τ为预设的延迟时长。
本说明书实施例中,从所述已到达的交易事件集合中获取当前滚动窗口内的交易事件,即为将tmax-τ范围内的指定数量个创建时间最新的交易事件,作为当前滚动窗口内的交易事件。在本说明书实施例中,基于这样的假设:如有滚动窗口的截止时间等于tmax-τ,在此基础上,再延迟一段时间(即延迟时长τ)后,即认为交易事件创建时间小于tmax-τ的所有交易事件都已经到达,则该窗口可以被触发执行,即对该滚动窗口内的交易事件进行处理。
例如,在图7所示的实施例中,滚动窗口的宽度为4(即w=4),延时时长为2(即τ=2),那么在图7所示的乱序无界数据流中,当6号交易事件到达时,可以为所有创建时间晚于4号交易事件的交易事件都已经到达,因此会触发1号交易事件~4交易事件对应的滑动窗口的计算。同理,当10号交易事件到达时,可以为所有创建时间晚于8号交易事件的交易事件都已经到达,因此会触发5号交易事件~8交易事件对应的滑动窗口的计算;以此递推。通过这种延迟触发处理,可以使得先于5号交易事件到达的6号交易事件,不会先于5号交易事件处理,从而使得即使出现乱序无界数据流也可以保证数据被正确处理。
步骤503、对于所述交易事件子集合中的每个交易事件,调用该交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
与上述的基于事件驱动架构的交易数据处理方法对应,本说明书实施例还提供了一种基于事件驱动架构的交易数据处理装置(即事件处理引擎),参考图8所示,在一些实施例中,基于事件驱动架构的交易数据处理装置可以包括:
获取模块81,用于获取事件生产者通过异步消息机制发布的交易事件;
调用模块82,用于调用所述交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件;所述操作算子集合中每个操作算子由该交易事件的事件消费者定义;
推送模块83,用于将所述目标交易事件通过异步消息机制推送给对应的事件消费者。
本说明书实施例的基于事件驱动架构的交易数据处理装置中,还包括延迟处理模块;所述延迟处理模块可以用于:
在调用模块调用所述交易事件对应的操作算子集合中的操作算之前,确认所述交易事件的数据类型;所述数据类型包括有界数据流和无界数据流;当所述交易事件为无界数据流时,根据预设的延迟触发策略调用所述交易事件对应的操作算子集合中的一个或多个操作算子。
本说明书实施例的基于事件驱动架构的交易数据处理装置中,所述根据预设的延迟触发策略调用所述交易事件对应的操作算子集合中的一个或多个操作算子,包括:
确定当前已到达的交易事件集合中创建时间最新的交易事件对应的创建时间;
从所述已到达的交易事件集合中获取当前滚动窗口内的交易事件,形成交易事件子集合;其中,当前滚动窗口内的交易事件为tmax-τ范围内的指定数量个创建时间最新的交易事件,tmax为当前已到达的交易事件集合中创建时间最新的交易事件对应的创建时间,τ为预设的延迟时长;
对于所述交易事件子集合中的每个交易事件,调用该交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件。
本说明书实施例的基于事件驱动架构的交易数据处理装置中,所述操作算子包括以下中的任意一种:
过滤操作算子;
映射操作算子;
内连接操作算子;
外连接操作算子。
本说明书实施例的基于事件驱动架构的交易数据处理装置中,所述确认所述交易事件的数据类型,包括:
确定接收所述交易事件的交易事件接口标识;
根据所述交易事件接口标识查询接口与数据类型对应关系表;
根据查询结果确定所述交易事件的数据类型。
本说明书实施例的基于事件驱动架构的交易数据处理装置中,所述异步消息机制包括消息队列或云消息队列。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
需要说明的是,本说明书的实施例中,所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权同意且经过各方充分授权的信息和数据。
本说明书的实施例还提供一种计算机设备。如图9所示,在本说明书一些实施例中,所述计算机设备902可以包括一个或多个处理器904,诸如一个或多个中央处理单元(CPU)或图形处理器(GPU),每个处理单元可以实现一个或多个硬件线程。计算机设备902还可以包括任何存储器906,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施例中,存储器906上并可在处理器904上运行的计算机程序,所述计算机程序被所述处理器904运行时,可以执行上述任一实施例所述基于事件驱动架构的交易数据处理方法的指令。非限制性的,比如,存储器906可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备902的固定或可移除部件。在一种情况下,当处理器904执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备902可以执行相关联指令的任一操作。计算机设备902还包括用于与任何存储器交互的一个或多个驱动机构908,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备902还可以包括输入/输出接口910(I/O),其用于接收各种输入(经由输入设备912)和用于提供各种输出(经由输出设备914)。一个具体输出机构可以包括呈现设备916和相关联的图形用户接口918(GUI)。在其他实施例中,还可以不包括输入/输出接口910(I/O)、输入设备912以及输出设备914,仅作为网络中的一台计算机设备。计算机设备902还可以包括一个或多个网络接口920,其用于经由一个或多个通信链路922与其他设备交换数据。一个或多个通信总线924将上文所描述的部件耦合在一起。
通信链路922可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路922可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本申请是参照本说明书一些实施例的方法、设备(系统)、计算机可读存储介质和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理器的处理器以产生一个机器,使得通过计算机或其他可编程数据处理器的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理器以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理器上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算机设备访问的信息。按照本说明书中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理器来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
还应理解,在本说明书实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于事件驱动架构的交易数据处理方法,其特征在于,包括:
获取事件生产者通过异步消息机制发布的交易事件;
调用所述交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件;所述操作算子集合中每个操作算子由该交易事件的事件消费者定义;
将所述目标交易事件通过异步消息机制推送给对应的事件消费者。
2.如权利要求1所述的基于事件驱动架构的交易数据处理方法,其特征在于,在调用所述交易事件对应的操作算子集合中的操作算之前,还包括:
确认所述交易事件的数据类型;所述数据类型包括有界数据流和无界数据流;
当所述交易事件为无界数据流时,根据预设的延迟触发策略调用所述交易事件对应的操作算子集合中的一个或多个操作算子。
3.如权利要求2所述的基于事件驱动架构的交易数据处理方法,其特征在于,所述根据预设的延迟触发策略调用所述交易事件对应的操作算子集合中的一个或多个操作算子,包括:
确定当前已到达的交易事件集合中创建时间最新的交易事件对应的创建时间;
从所述已到达的交易事件集合中获取当前滚动窗口内的交易事件,形成交易事件子集合;其中,当前滚动窗口内的交易事件为tmax-τ范围内的指定数量个创建时间最新的交易事件,tmax为当前已到达的交易事件集合中创建时间最新的交易事件对应的创建时间,τ为预设的延迟时长;
对于所述交易事件子集合中的每个交易事件,调用该交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件。
4.如权利要求1所述的基于事件驱动架构的交易数据处理方法,其特征在于,所述操作算子包括以下中的任意一种:
过滤操作算子;
映射操作算子;
内连接操作算子;
外连接操作算子。
5.如权利要求2所述的基于事件驱动架构的交易数据处理方法,其特征在于,所述确认所述交易事件的数据类型,包括:
确定接收所述交易事件的交易事件接口标识;
根据所述交易事件接口标识查询接口与数据类型对应关系表;
根据查询结果确定所述交易事件的数据类型。
6.如权利要求1所述的基于事件驱动架构的交易数据处理方法,其特征在于,所述异步消息机制包括消息队列或云消息队列。
7.一种基于事件驱动架构的交易数据处理装置,其特征在于,包括:
获取模块,用于获取事件生产者通过异步消息机制发布的交易事件;
调用模块,用于调用所述交易事件对应的操作算子集合中的一个或多个操作算子,以生成对应的目标交易事件;所述操作算子集合中每个操作算子由该交易事件的事件消费者定义;
推送模块,用于将所述目标交易事件通过异步消息机制推送给对应的事件消费者。
8.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求1-6任意一项所述方法的指令。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-6任意一项所述方法的指令。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器运行时,执行根据权利要求1-6任意一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210741314.1A CN115099972A (zh) | 2022-06-28 | 2022-06-28 | 基于事件驱动架构的交易数据处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210741314.1A CN115099972A (zh) | 2022-06-28 | 2022-06-28 | 基于事件驱动架构的交易数据处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115099972A true CN115099972A (zh) | 2022-09-23 |
Family
ID=83295100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210741314.1A Pending CN115099972A (zh) | 2022-06-28 | 2022-06-28 | 基于事件驱动架构的交易数据处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115099972A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302564A (zh) * | 2023-04-27 | 2023-06-23 | 之江实验室 | 一种基于无状态运行时的程序分布式执行方法 |
-
2022
- 2022-06-28 CN CN202210741314.1A patent/CN115099972A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302564A (zh) * | 2023-04-27 | 2023-06-23 | 之江实验室 | 一种基于无状态运行时的程序分布式执行方法 |
CN116302564B (zh) * | 2023-04-27 | 2023-08-11 | 之江实验室 | 一种基于无状态运行时的程序分布式执行方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527525B (zh) | 基于消息队列的分布式事件总线处理方法、终端及介质 | |
CN107819861A (zh) | 业务数据处理方法、装置及系统 | |
CN111459986B (zh) | 数据计算系统及方法 | |
CN112256523B (zh) | 业务数据处理方法及装置 | |
CN108062243B (zh) | 执行计划的生成方法、任务执行方法及装置 | |
CN108984333B (zh) | 用于大数据实时计算的方法及装置 | |
CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
CN111813868B (zh) | 数据同步方法及装置 | |
US10601915B2 (en) | Data stream processor with both in memory and persisted messaging | |
CN111064626A (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN110389989A (zh) | 一种数据处理方法、装置及设备 | |
CN115099972A (zh) | 基于事件驱动架构的交易数据处理方法、装置及设备 | |
CN110727507B (zh) | 一种消息的处理方法、装置、计算机设备和存储介质 | |
CN114040020A (zh) | 跨集群服务调用的方法及系统 | |
CN112181678A (zh) | 业务数据的处理方法、装置和系统、存储介质、电子装置 | |
GB2503436A (en) | A client server system for processing one or more events | |
CN110727700A (zh) | 多源流式数据整合成事务型流数据的方法及系统 | |
US9426114B2 (en) | Parallel message processing on diverse messaging buses | |
CN110413427B (zh) | 订阅数据拉取方法、装置、设备及存储介质 | |
WO2024066005A1 (zh) | 重放区块链交易的方法及装置 | |
CN111866157A (zh) | 云服务网关及云服务内外请求格式转换方法 | |
CN116192752A (zh) | 业务流量控制方法、装置、电子设备及存储介质 | |
CN116401034A (zh) | 任务执行方法、计算机设备及计算机存储介质 | |
CN116302521A (zh) | 任务处理方法、任务处理装置及电子设备 | |
CN116319810A (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 |