CN117407191A - 数据处理方法、系统、计算机设备及存储介质 - Google Patents
数据处理方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117407191A CN117407191A CN202311309088.0A CN202311309088A CN117407191A CN 117407191 A CN117407191 A CN 117407191A CN 202311309088 A CN202311309088 A CN 202311309088A CN 117407191 A CN117407191 A CN 117407191A
- Authority
- CN
- China
- Prior art keywords
- data
- event
- task
- processed
- service
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 144
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 11
- 230000002159 abnormal effect Effects 0.000 claims description 40
- 238000013524 data verification Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000012423 maintenance Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例属于数据处理领域及金融科技领域,涉及一种数据处理方法,包括:接收上游多个业务系统发送的事件参数,根据所述事件参数生成对应的业务事件,并将所述业务事件发布至Disruptor;采用异步线程,从所述Disruptor中获取待处理业务事件,根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件,并将所述任务事件发布至所述Disruptor;采用异步线程,从所述Disruptor中获取待处理任务事件,根据所述待处理任务事件携带的业务数据进行数据组装,得到目标数据;根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统。本申请还提供一种数据处理系统、计算机设备及存储介质。本申请降低了处理数据时的性能损耗。
Description
技术领域
本申请涉及数据处理领域及金融科技领域,应用于金融科技相关行业需要对大量数据进行处理的实际业务场景中,尤其涉及一种数据处理方法、系统、计算机设备及存储介质。
背景技术
在金融科技相关行业的实际业务场景中,一条业务线往往包含多个业务系统,并且通过各个业务系统之间的数据传递运行。在各个业务系统的迭代过程中,随着业务量的增长,对于数据处理能力的要求也越来越高。
然而,业务量的增长会导致数据不断累积,而这种情况一方面会给各个业务系统的吞吐量带来较大的压力;另一方面可能会影响各个业务系统处理数据的效率,从而影响实际业务。
因此,如何做到对大量数据进行高效处理就显得尤为重要。一般情况下,通常采用多线程的方式对大量数据进行处理,即在原有业务系统的基础上,对处理流程中较为耗时的操作进行多线程处理。对于传统的多线程而言,当线程数量较多时,线程间频繁切换容易导致较多的性能损耗,大大增加了维护成本,此外,由于不同业务系统的处理逻辑不完全相同,所以可能导致处理后的数据不一致,造成计算资源的浪费。
发明内容
本申请实施例的目的在于提出一种数据处理方法、系统、计算机设备及存储介质,以解决在不同业务系统间通过多线程处理大量数据时性能损耗较多的技术问题。
为了解决上述技术问题,本申请实施例提供一种数据处理方法,采用了如下所述的技术方案:
接收上游多个业务系统发送的事件参数,根据所述事件参数生成对应的业务事件,并将所述业务事件发布至Disruptor;
采用异步线程,从所述Disruptor中获取待处理业务事件,根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件,并将所述任务事件发布至所述Disruptor;
采用异步线程,从所述Disruptor中获取待处理任务事件,根据所述待处理任务事件携带的业务数据进行数据组装,得到目标数据;
根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统。
进一步的,所述任务配置信息包括事件任务关联关系和多个任务模板,所述根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件的步骤,具体包括:
根据所述待处理业务事件进行数据查询,得到所述待处理业务事件对应的业务数据;
根据所述事件任务关联关系,在各个所述任务模板中确定所述待处理业务事件对应的目标任务模板;
将所述业务数据填充至所述目标任务模板,得到所述任务事件。
进一步的,所述任务配置信息还包括基础配置信息,所述基础配置信息包括数据发送方式、重试次数、重试间隔以及回执处理规则,以使得通过所述基础配置信息预先配置各个所述任务模板。
进一步的,在所述根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统的步骤之后,还包括:
根据所述回执处理规则,确定是否接收所述目标数据对应的目标回执;
若是,则接收所述下游系统返回的所述目标回执;
根据所述目标数据和所述目标回执进行数据校验,确定数据是否一致。
进一步的,在所述根据所述目标数据和所述目标回执进行数据校验,确定数据是否一致的步骤之后,还包括:
若数据不一致,则将所述待处理任务事件作为异常任务事件,并启用异步任务补偿机制。
进一步的,所述异步任务补偿机制的流程包括:
针对异常任务事件进行数据扫描,确定异常数据;
对所述异常数据进行处理,并根据处理后的数据生成待重试任务事件;
根据所述重试次数和所述重试间隔,对所述待重试任务事件进行处理。
进一步的,所述数据处理方法还包括:
实时对所述待处理业务事件和所述待处理任务事件的处理状态进行扫描,生成状态报表,并在前端展示所述状态报表;
确定所述处理状态是否存在异常,若存在异常,则向管理员对应的用户端发送告警提示信息。
为了解决上述技术问题,本申请实施例还提供一种数据处理系统,采用了如下所述的技术方案:
一种数据处理系统,包括:
业务发布模块,用于接收上游多个业务系统发送的事件参数,根据所述事件参数生成对应的业务事件,并将所述业务事件发布至Disruptor;
任务发布模块,用于采用异步线程,从所述Disruptor中获取待处理业务事件,根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件,并将所述任务事件发布至所述Disruptor;
任务处理模块,用于采用异步线程,从所述Disruptor中获取待处理任务事件,根据所述待处理任务事件携带的业务数据进行数据组装,得到目标数据;
数据发送模块,用于根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的数据处理方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的数据处理方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请公开的数据处理方法,通过接收上游多个业务系统发送的事件参数,根据所述事件参数生成对应的业务事件,并将所述业务事件发布至Disruptor;采用异步线程,从所述Disruptor中获取待处理业务事件,根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件,并将所述任务事件发布至所述Disruptor;采用异步线程,从所述Disruptor中获取待处理任务事件,根据所述待处理任务事件携带的业务数据进行数据组装,得到目标数据;根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统。本申请通过采用Disruptor实现数据的多线程处理,利用其高性能无锁并发的特性,降低了在不同业务系统间通过多线程处理大量数据时的性能损耗,减少了维护成本,从而提高了各个业务系统的吞吐量和处理数据的效率,此外,确保不同的业务系统具有相同的处理逻辑,节约了计算资源。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的数据处理方法的一个实施例的流程图;
图3是根据本申请的数据处理系统的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的数据处理方法一般由服务器执行,相应地,数据处理系统一般设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的数据处理方法的一个实施例的流程图。所述的数据处理方法,包括以下步骤:
步骤S201,接收上游多个业务系统发送的事件参数,根据所述事件参数生成对应的业务事件,并将所述业务事件发布至Disruptor;
在本实施例中,数据处理方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式发送或接收数据。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
在本实施例中,数据处理方法运行时,首先需要接收上游多个业务系统发送的事件参数,根据事件参数生成对应的业务事件,并将业务事件发布至Disruptor。具体地,在金融科技的相关行业中,以保险行业为例,其实际业务场景中存在多个业务系统,作为上游业务系统,这些业务系统可以通过接口或消息队列发送事件参数,例如保单数据中所包括的投保人信息、投保金额、保单生效日期以及保单截止日期等,当接收到这些事件参数时,就可以根据每个事件参数生成对应的业务事件,并将业务事件发布至Disruptor,以供后续进行异步处理。
需要说明的是,Disruptor是数据开发中所应用的一个开源框架,具有无锁高并发的特性,其在数据交互的过程中可以作为高性能的异步处理框架。
可选地,本实施例的数据处理方法可以应用于数据处理系统,当数据处理系统运行时,上游多个业务系统可以通过接口或消息队列向数据处理系统发送事件参数。数据处理系统接收到事件参数后,可以保存相关信息至数据库,生成并发布对应的业务事件至Disruptor,并返回对应的处理状态。
步骤S202,采用异步线程,从所述Disruptor中获取待处理业务事件,根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件,并将所述任务事件发布至所述Disruptor;
在本实施例中,当Disruptor中存在待处理业务事件时,可以采用异步线程,从Disruptor中获取待处理业务事件,而后根据待处理业务事件和预设的任务配置信息,生成待处理业务事件对应的任务事件,并将任务事件发布至Disruptor。具体地,当接收到事件参数时,即根据事件参数生成并发布对应的业务事件至Disruptor,这一过程属于触发式操作,因此,在业务事件发布至Disruptor后,需要将其按照时间顺序排列,于此同时,采用异步线程,业务事件消费者根据时间顺序从Disruptor中获取当前需要处理的业务事件,作为待处理业务事件,而后可以根据待处理业务事件进行数据查询,得到其对应的业务数据,此外,在预设的任务配置信息中还可以包括事件任务关联关系和多个任务模板,得到业务数据后,即可根据事件任务关联关系,在各个任务模板中确定待处理业务事件对应的目标任务模板,再将业务数据填充至该目标任务模板,得到待处理业务事件对应的任务事件,并将任务事件发布至Disruptor,以供后续进行异步处理。
可选地,本实施例的数据处理方法可以应用于数据处理系统,当生成并发布对应的任务事件至Disruptor时,数据处理系统可以保存相关信息至数据库,并返回对应的处理状态。
步骤S203,采用异步线程,从所述Disruptor中获取待处理任务事件,根据所述待处理任务事件携带的业务数据进行数据组装,得到目标数据;
在本实施例中,当Disruptor中存在待处理任务事件时,可以采用异步线程,从Disruptor中获取待处理任务事件,而后根据待处理任务事件携带的业务数据进行数据组装,得到目标数据。具体地,在任务事件发布至Disruptor后,需要将其按照时间顺序排列,于此同时,采用异步线程,任务事件消费者根据时间顺序从Disruptor中获取当前需要处理的任务事件,作为待处理任务事件,并根据待处理任务事件所携带的业务数据进行数据组装,从而得到目标数据。
可选地,由于任务事件为将业务数据填充至任务模板得到,因此,每个任务事件都携带有业务数据,且任务事件本身即包含了业务数据的处理规则,任务事件消费者根据处理规则对任务事件进行处理,即可对数据进行重新组装,得到目标数据。
步骤S204,根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统。
在本实施例中,得到目标数据后,即可根据待处理任务事件配置的数据发送方式,将目标数据发送至对应的下游系统。具体地,预设的任务配置信息中还可以包括基础配置信息,而基础配置信息包括了数据发送方式,任一任务事件生成时即配置了数据发送方式,如发送途径和其对应的下游系统,其中,发送途径可以为接口、消息队列或KAFKA消息系统,而在得到目标数据后,即可根据待处理任务事件对应的数据发送方式,将目标数据发送至对应的下游系统,以保险行业为例,下游系统可以包括客户仲裁系统、客户服务系统、财务系统等。
可选地,数据处理系统得到目标数据后,还可以将目标数据缓存至数据库,并保存发送至下游系统的记录,以供后续进行数据校验。
本申请通过采用Disruptor实现数据的多线程处理,利用其高性能无锁并发的特性,降低了在不同业务系统间通过多线程处理大量数据时的性能损耗,减少了维护成本,从而提高了各个业务系统的吞吐量和处理数据的效率,此外,确保不同的业务系统具有相同的处理逻辑,节约了计算资源。
在本实施例的一些可选的实现方式中,上述任务配置信息包括事件任务关联关系和多个任务模板,上述根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件的步骤包括:
根据所述待处理业务事件进行数据查询,得到所述待处理业务事件对应的业务数据;
根据所述事件任务关联关系,在各个所述任务模板中确定所述待处理业务事件对应的目标任务模板;
将所述业务数据填充至所述目标任务模板,得到所述任务事件。
在本实施例中,预设的任务配置信息包括事件任务关联关系和多个任务模板,数据处理方法运行时,可以采用异步线程,从Disruptor中获取待处理业务事件,而后根据待处理业务事件进行数据查询,得到待处理业务事件对应的业务数据,再根据事件任务关联关系,在各个任务模板中确定待处理业务事件对应的目标任务模板,从而将业务数据填充至目标任务模板,得到待处理业务事件对应的任务事件,并将任务事件发布至Disruptor。具体地,利用Disruptor高性能无锁并发的特性,可以实现异步处理,将接收事件参数和处理业务事件分为两个线程,而运行数据处理方法的数据处理系统可以包括任务配置模块,该任务配置模块存在预设的任务配置信息,任务配置信息则包含了任务事件关联关系和多个已配置的任务模板,因此,根据预设的任务配置信息和待处理业务事件,即可生成对应的任务事件,并将其发布至Disruptor。
本申请通过采用Disruptor实现数据的多线程处理,将生成业务事件和处理业务事件的过程解耦,从而减少了维护成本,提高了数据处理的效率,确保了不同的业务系统具有相同的处理逻辑,并节约了计算资源。
在本实施例的一些可选的实现方式中,上述任务配置信息还包括基础配置信息,所述基础配置信息包括数据发送方式、重试次数、重试间隔以及回执处理规则,以使得通过所述基础配置信息预先配置各个所述任务模板。
在本实施例中,预设的任务配置信息除了包括事件任务关联关系和多个任务模板,还包括基础配置信息,而基础配置信息包括数据发送方式、重试次数、重试间隔以及回执处理规则,从而使得可以通过基础配置信息预先配置各个任务模板。具体地,预设的任务配置信息中包含的各个任务模板由基础配置信息预先配置得到,后续根据任一任务模板生成任务事件时,即可作为该任务事件的任务配置存在,基础配置信息可以包括数据发送方式、重试次数、重试间隔以及回执处理规则,例如,数据发送方式包含了目标数据的发送途径和对应的下游系统,而任务事件出现异常并需要进行重试时则需要用到重试次数和重试间隔,回执处理规则可以用于确定是否需要接收并处理下游系统在接收目标数据后所返回的回执。
本申请通过预先设定的任务配置信息,在利用Disruptor进行数据的多线程处理的过程中,提高了数据处理的效率,从而降低了在不同业务系统间通过多线程处理大量数据时的性能损耗,减少了维护成本。
在本实施例的一些可选的实现方式中,在上述根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统的步骤之后,还包括:
根据所述回执处理规则,确定是否接收所述目标数据对应的目标回执;
若是,则接收所述下游系统返回的所述目标回执;
根据所述目标数据和所述目标回执进行数据校验,确定数据是否一致。
在本实施例中,将目标数据发送至对应的下游系统后,即可根据基础配置信息所包括的回执处理规则,确定是否接收目标数据对应的目标回执,若是,则接收下游系统返回的目标回执,并根据目标数据和目标回执进行数据校验,确定数据是否一致。具体地,在本实施例的数据处理系统中,还可以包括回执处理模块,预设的任务配置信息所包含的基础配置信息包括了回执处理规则,目标数据对应的待处理任务事件在生成时即配置了其对应的回执处理规则,根据回执处理规则,可以确定是否需要接收目标数据对应的目标回执,若是,则可以接收由下游系统返回的目标回执;若否,则不需要进行其他操作;为了确保数据的一致性,在接收到目标回执后,可以根据目标数据和目标回执进行数据校验,确定数据是否一致,若一致,则不需要进行其他操作;若不一致,则可以将生成该目标数据的待处理任务事件作为异常任务事件,后续针对异常任务事件进行处理。
本申请通过设置回执处理规则,可以针对发送给下游系统的数据进行校验,从而筛选出异常任务事件,确保了在不同业务系统间通过多线程处理大量数据时的准确性,提高了各个业务系统的吞吐量和处理数据的效率。
在本实施例的一些可选的实现方式中,在上述根据所述目标数据和所述目标回执进行数据校验,确定数据是否一致的步骤之后,还包括:
若数据不一致,则将所述待处理任务事件作为异常任务事件,并启用异步任务补偿机制。
在本实施例中,根据目标数据和目标回执进行数据校验,确定数据是否一致,若数据不一致,则可以将待处理任务事件作为异常任务事件,并启用异步任务补偿机制。具体地,在本实施例的数据处理系统中,还可以包括异步补偿模块,若数据不一致,则代表目标数据中存在异常或目标数据在数据传输中出现错误,此时,可以通过异步补偿模块运行异步任务补偿机制进行处理,可以通过数据扫描确定异常数据,处理异常数据后重新生成任务事件,并根据任务配置信息中的重试次数和重试间隔对该任务事件进行处理。
本申请在针对发送给下游系统的数据进行校验后,通过异步补偿机制处理存在异常的数据,从而重新生成任务事件并对其进行处理,确保了在不同业务系统间通过多线程处理大量数据时的准确性,提高了各个业务系统的吞吐量和处理数据的效率。
在本实施例的一些可选的实现方式中,上述异步任务补偿机制的流程包括:
针对异常任务事件进行数据扫描,确定异常数据;
对所述异常数据进行处理,并根据处理后的数据生成待重试任务事件;
根据所述重试次数和所述重试间隔,对所述待重试任务事件进行处理。
在本实施例中,异步任务补偿机制的流程包括:针对异常任务事件进行数据扫描,确定异常数据,而后对所述异常数据进行处理,并根据处理后的数据生成待重试任务事件,再根据重试次数和重试间隔,对待重试任务事件进行处理。具体地,重试次数和重试间隔属于上述任务配置信息中的基本配置信息,当根据目标数据和目标回执进行数据校验并确定数据不一致时,即可将目标数据对应的待处理任务事件作为异常任务事件,并启用该异步任务补偿机制,针对异常任务事件进行数据扫描,即对缓存的目标数据进行扫描,确定异常数据,而后对异常数据进行处理,如数据重组,并根据处理后的数据重新生成任务事件,作为待重试任务事件,而后根据重试次数和重试间隔,对待重试任务事件进行处理,该过程包括:处理待重试任务事件,得到其对应的数据,将该数据发送至对应的下游系统,接收下游系统返回的回执,根据该数据和该回执进行数据校验。重试次数代表了重复执行这一过程的次数,重试间隔代表了重复执行这一过程的间隔,重复执行该过程直至重试次数为0或者数据校验时确定数据一致为止。
本申请通过异步补偿机制处理存在异常的数据,使得最终发送的数据和下游系统接收到的数据一致,从而确保了在不同业务系统间通过多线程处理大量数据时的准确性,提高了各个业务系统的吞吐量和处理数据的效率。
在本实施例的一些可选的实现方式中,上述数据处理方法还包括:
实时对所述待处理业务事件和所述待处理任务事件的处理状态进行扫描,生成状态报表,并在前端展示所述状态报表;
确定所述处理状态是否存在异常,若存在异常,则向管理员对应的用户端发送告警提示信息。
在本实施例中,上述数据处理方法运行的过程中,还需要实时对待处理业务事件和待处理任务事件的处理状态进行扫描,生成状态报表,并在前端展示状态报表,同时确定处理状态是否存在异常,若存在异常,则向管理员对应的用户端发送告警提示信息,例如,数据处理系统还可以包括监控记录模块,由于数据处理系统在生成待处理业务时间和待处理任务事件时都需要返回处理状态,则监控记录模块可以实时对返回的处理状态进行扫描,根据扫描结果生成状态报表,并在前端进行展示,以供相关人员查看,同时,可以确定处理状态是否存在异常,若存在异常,则可以自动生成告警提示信息并向管理员对应的用户端发送,以进行告警。
本申请通过数据处理过程中的实时监控,确保了在不同业务系统间通过多线程处理大量数据这一过程的顺利进行,从而降低了性能损耗,减少了维护成本,提高了数据处理的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种数据处理系统的一个实施例,该系统实施例与图2所示的方法实施例相对应,该系统具体可以应用于各种电子设备中。
如图3所示,本实施例所述的数据处理系统300包括:业务发布模块301、任务发布模块302、任务处理模块303以及数据发送模块304。其中:
业务发布模块301,用于接收上游多个业务系统发送的事件参数,根据所述事件参数生成对应的业务事件,并将所述业务事件发布至Disruptor;
任务发布模块302,用于采用异步线程,从所述Disruptor中获取待处理业务事件,根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件,并将所述任务事件发布至所述Disruptor;
任务处理模块303,用于采用异步线程,从所述Disruptor中获取待处理任务事件,根据所述待处理任务事件携带的业务数据进行数据组装,得到目标数据;
数据发送模块304,用于根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统。
本申请提供的数据处理系统,通过采用Disruptor实现数据的多线程处理,利用其高性能无锁并发的特性,降低了在不同业务系统间通过多线程处理大量数据时的性能损耗,减少了维护成本,从而提高了各个业务系统的吞吐量和处理数据的效率,此外,确保不同的业务系统具有相同的处理逻辑,节约了计算资源。
在本实施例的一些可选的实现方式中,任务发布模块302还用于:
根据所述待处理业务事件进行数据查询,得到所述待处理业务事件对应的业务数据;
根据所述事件任务关联关系,在各个所述任务模板中确定所述待处理业务事件对应的目标任务模板;
将所述业务数据填充至所述目标任务模板,得到所述任务事件。
本申请提供的数据处理系统,通过采用Disruptor实现数据的多线程处理,将生成业务事件和处理业务事件的过程解耦,从而减少了维护成本,提高了数据处理的效率,确保了不同的业务系统具有相同的处理逻辑,并节约了计算资源。
在本实施例的一些可选的实现方式中,上述任务配置信息还包括基础配置信息,所述基础配置信息包括数据发送方式、重试次数、重试间隔以及回执处理规则,以使得通过所述基础配置信息预先配置各个所述任务模板。
本申请提供的数据处理系统,通过预先设定的任务配置信息,在利用Disruptor进行数据的多线程处理的过程中,提高了数据处理的效率,从而降低了在不同业务系统间通过多线程处理大量数据时的性能损耗,减少了维护成本。
在本实施例的一些可选的实现方式中,数据处理系统300还用于:
根据所述回执处理规则,确定是否接收所述目标数据对应的目标回执;
若是,则接收所述下游系统返回的所述目标回执;
根据所述目标数据和所述目标回执进行数据校验,确定数据是否一致。
本申请提供的数据处理系统,通过设置回执处理规则,可以针对发送给下游系统的数据进行校验,从而筛选出异常任务事件,确保了在不同业务系统间通过多线程处理大量数据时的准确性,提高了各个业务系统的吞吐量和处理数据的效率。
在本实施例的一些可选的实现方式中,数据处理系统300还用于:
若数据不一致,则将所述待处理任务事件作为异常任务事件,并启用异步任务补偿机制。
本申请提供的数据处理系统,在针对发送给下游系统的数据进行校验后,通过异步补偿机制处理存在异常的数据,从而重新生成任务事件并对其进行处理,确保了在不同业务系统间通过多线程处理大量数据时的准确性,提高了各个业务系统的吞吐量和处理数据的效率。
在本实施例的一些可选的实现方式中,上述异步任务补偿机制的流程包括:
针对异常任务事件进行数据扫描,确定异常数据;
对所述异常数据进行处理,并根据处理后的数据生成待重试任务事件;
根据所述重试次数和所述重试间隔,对所述待重试任务事件进行处理。
本申请提供的数据处理系统,通过异步补偿机制处理存在异常的数据,使得最终发送的数据和下游系统接收到的数据一致,从而确保了在不同业务系统间通过多线程处理大量数据时的准确性,提高了各个业务系统的吞吐量和处理数据的效率。
在本实施例的一些可选的实现方式中,数据处理系统300还用于:
实时对所述待处理业务事件和所述待处理任务事件的处理状态进行扫描,生成状态报表,并在前端展示所述状态报表;
确定所述处理状态是否存在异常,若存在异常,则向管理员对应的用户端发送告警提示信息。
本申请提供的数据处理系统,通过数据处理过程中的实时监控,确保了在不同业务系统间通过多线程处理大量数据这一过程的顺利进行,从而降低了性能损耗,减少了维护成本,提高了数据处理的效率。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如数据处理方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述数据处理方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本申请提供的计算机设备,通过采用Disruptor实现数据的多线程处理,利用其高性能无锁并发的特性,降低了在不同业务系统间通过多线程处理大量数据时的性能损耗,减少了维护成本,从而提高了各个业务系统的吞吐量和处理数据的效率,此外,确保不同的业务系统具有相同的处理逻辑,节约了计算资源。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据处理方法的步骤。
本申请提供的计算机可读存储介质,通过采用Disruptor实现数据的多线程处理,利用其高性能无锁并发的特性,降低了在不同业务系统间通过多线程处理大量数据时的性能损耗,减少了维护成本,从而提高了各个业务系统的吞吐量和处理数据的效率,此外,确保不同的业务系统具有相同的处理逻辑,节约了计算资源。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,所述数据处理方法包括下述步骤:
接收上游多个业务系统发送的事件参数,根据所述事件参数生成对应的业务事件,并将所述业务事件发布至Disruptor;
采用异步线程,从所述Disruptor中获取待处理业务事件,根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件,并将所述任务事件发布至所述Disruptor;
采用异步线程,从所述Disruptor中获取待处理任务事件,根据所述待处理任务事件携带的业务数据进行数据组装,得到目标数据;
根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统。
2.根据权利要求1所述的数据处理方法,其特征在于,所述任务配置信息包括事件任务关联关系和多个任务模板,所述根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件的步骤,具体包括:
根据所述待处理业务事件进行数据查询,得到所述待处理业务事件对应的业务数据;
根据所述事件任务关联关系,在各个所述任务模板中确定所述待处理业务事件对应的目标任务模板;
将所述业务数据填充至所述目标任务模板,得到所述任务事件。
3.根据权利要求2所述的数据处理方法,其特征在于,所述任务配置信息还包括基础配置信息,所述基础配置信息包括数据发送方式、重试次数、重试间隔以及回执处理规则,以使得通过所述基础配置信息预先配置各个所述任务模板。
4.根据权利要求3所述的数据处理方法,其特征在于,在所述根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统的步骤之后,还包括:
根据所述回执处理规则,确定是否接收所述目标数据对应的目标回执;
若是,则接收所述下游系统返回的所述目标回执;
根据所述目标数据和所述目标回执进行数据校验,确定数据是否一致。
5.根据权利要求4所述的数据处理方法,其特征在于,在所述根据所述目标数据和所述目标回执进行数据校验,确定数据是否一致的步骤之后,还包括:
若数据不一致,则将所述待处理任务事件作为异常任务事件,并启用异步任务补偿机制。
6.根据权利要求5所述的数据处理方法,其特征在于,所述异步任务补偿机制的流程包括:
针对异常任务事件进行数据扫描,确定异常数据;
对所述异常数据进行处理,并根据处理后的数据生成待重试任务事件;
根据所述重试次数和所述重试间隔,对所述待重试任务事件进行处理。
7.根据权利要求1至6任一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:
实时对所述待处理业务事件和所述待处理任务事件的处理状态进行扫描,生成状态报表,并在前端展示所述状态报表;
确定所述处理状态是否存在异常,若存在异常,则向管理员对应的用户端发送告警提示信息。
8.一种数据处理系统,其特征在于,包括:
业务发布模块,用于接收上游多个业务系统发送的事件参数,根据所述事件参数生成对应的业务事件,并将所述业务事件发布至Disruptor;
任务发布模块,用于采用异步线程,从所述Disruptor中获取待处理业务事件,根据所述待处理业务事件和预设的任务配置信息,生成所述待处理业务事件对应的任务事件,并将所述任务事件发布至所述Disruptor;
任务处理模块,用于采用异步线程,从所述Disruptor中获取待处理任务事件,根据所述待处理任务事件携带的业务数据进行数据组装,得到目标数据;
数据发送模块,用于根据所述待处理任务事件配置的数据发送方式,将所述目标数据发送至对应的下游系统。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311309088.0A CN117407191A (zh) | 2023-10-10 | 2023-10-10 | 数据处理方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311309088.0A CN117407191A (zh) | 2023-10-10 | 2023-10-10 | 数据处理方法、系统、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117407191A true CN117407191A (zh) | 2024-01-16 |
Family
ID=89488105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311309088.0A Pending CN117407191A (zh) | 2023-10-10 | 2023-10-10 | 数据处理方法、系统、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407191A (zh) |
-
2023
- 2023-10-10 CN CN202311309088.0A patent/CN117407191A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112380227B (zh) | 基于消息队列的数据同步方法、装置、设备及存储介质 | |
US8825798B1 (en) | Business event tracking system | |
CN112199442B (zh) | 分布式批量下载文件方法、装置、计算机设备及存储介质 | |
CN113254445B (zh) | 实时数据存储方法、装置、计算机设备及存储介质 | |
CN111813573B (zh) | 管理平台与机器人软件的通信方法及其相关设备 | |
CN113010542B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
WO2020224100A1 (zh) | 区块链配置文件的处理装置、系统、方法及存储介质 | |
CN112631911A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN112068973A (zh) | 策略模式的异步信息处理方法、装置、服务器和存储介质 | |
CN112860662A (zh) | 数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN115455058A (zh) | 缓存数据的处理方法、装置、计算机设备及存储介质 | |
CN111475388A (zh) | 数据推送的测试方法、装置、计算机设备及存储介质 | |
CN114637611A (zh) | 基于消息队列的信息处理方法、装置及计算机设备 | |
CN117408794A (zh) | 一种请求处理方法、装置、设备及其存储介质 | |
CN107657155B (zh) | 用于鉴定用户操作权限的方法和装置 | |
CN117114618A (zh) | 待办项跟进方法、系统、计算机设备及存储介质 | |
CN117094729A (zh) | 请求处理方法、装置、计算机设备及存储介质 | |
CN117407191A (zh) | 数据处理方法、系统、计算机设备及存储介质 | |
CN114615325A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN115187364A (zh) | 银行分布式场景下保证金风险监控的方法及装置 | |
CN113590372A (zh) | 基于日志的链路追踪方法、装置、计算机设备及存储介质 | |
CN113779021A (zh) | 数据处理方法、装置、计算机系统及可读存储介质 | |
CN110309121B (zh) | 日志处理方法及装置、计算机可读介质和电子设备 | |
CN113781154A (zh) | 一种信息回滚方法、系统、电子设备及存储介质 | |
CN111639936A (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 |