CN116634011A - 数据推送方法、装置、存储介质及电子设备 - Google Patents
数据推送方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116634011A CN116634011A CN202310722911.4A CN202310722911A CN116634011A CN 116634011 A CN116634011 A CN 116634011A CN 202310722911 A CN202310722911 A CN 202310722911A CN 116634011 A CN116634011 A CN 116634011A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- pushing
- service
- preset
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000001360 synchronised effect Effects 0.000 claims abstract description 97
- 238000012544 monitoring process Methods 0.000 claims abstract description 19
- 230000008859 change Effects 0.000 claims description 39
- 238000001914 filtration Methods 0.000 claims description 20
- 238000012216 screening Methods 0.000 claims description 20
- 230000000295 complement effect Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 abstract description 12
- 238000012986 modification Methods 0.000 abstract description 12
- 238000011144 upstream manufacturing Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000013500 data storage Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 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/55—Push-based network 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据推送方法、装置、存储介质及电子设备,涉及数据推送技术领域。所述方法包括:监测业务系统的数据更新事件,并获取与所述数据更新事件对应的当前更新数据;基于所述当前更新数据确定满足预设推送条件的待同步数据;将所述待同步数据推送至目标关联终端。本申请实施例能够及时监控到业务系统数据的修改,并根据预设的推送条件筛选出待同步数据推送至目标关联终端,以使目标关联终端基于业务系统数据的修改进行数据同步更新,从而有效提高了上下游系统数据同步的效率。
Description
技术领域
本申请涉及数据推送技术领域,具体而言,涉及一种数据推送方法、装置、存储介质及电子设备。
背景技术
企业的业务系统数据量通常十分庞大,在处理如此海量的数据时往往难以保证所有业务数据都准确无误。当发现业务数据错误并进行修改后,需要将修改后的数据同步到相关下游系统。由于业务系统的数据对于时效性要求较高,能否快速拿到业务修改后的数据提供给下游系统,关系到下游系统处理后续数据的时效,因此亟需一种能够提高上下游系统数据同步效率的方案。
发明内容
本申请实施例的目的在于提供一种数据推送方法、装置、存储介质及电子设备,用以提高上下游系统数据同步的效率。
第一方面,本申请实施例提供了一种数据推送方法,包括:
监测业务系统的数据更新事件,并获取与所述数据更新事件对应的当前更新数据;
基于所述当前更新数据确定满足预设推送条件的待同步数据;
将所述待同步数据推送至目标关联终端。
在本申请实施例中,通过对业务系统的数据更新事件进行实时监测,并根据当前更新的数据筛选出需要同步的数据推送到其他相关联的系统终端,以实现数据同步,能够在对业务数据进行修改后及时获取到修改的数据,并实现上下游系统的数据同步,从而有效提高上下游系统数据同步的效率,且保证了下游服务处理数据的时效性。
在一个可能的实施例中,所述监测业务系统的数据更新事件,并获取与所述数据更新事件对应的当前更新数据,包括:
通过消息中间件监测所述业务系统的数据更新事件;
响应于所述消息中间件监测到的数据更新事件,并获取所述消息中间件推送的与所述数据更新事件对应的当前更新数据。
在本申请实施例中,通过消息中间件来监测数据更新事件以及推送更新的数据,即通过消息队列的形式对更新数据进行推送,能够解决应用耦合、异步处理、流量削锋等问题。
在一个可能的实施例中,所述基于所述当前更新数据确定满足预设推送条件的待同步数据,包括:
根据预设的筛选条件从所述当前更新数据中筛选出业务变更数据;
将所述业务变更数据存储至业务数据库;
基于所述业务变更数据确定满足预设推送条件的待同步数据。
在本申请实施例中,由于对业务进行修改后并不是所有的修改内容都要进行同步保存,因此对于当前更新的数据,首先根据筛选条件来筛选出需要保存的业务数据,过滤排除掉了部分虽然进行了修改但不需要进行保存的数据,有效提高了数据保存及数据同步的简约性和准确性;且筛选条件可个性化配置,提高了数据保存的灵活性。
在一个可能的实施例中,所述将所述业务变更数据存储至业务数据库,包括:
根据预存的单号映射关系,查询出所述业务数据库中与所述业务变更数据的单号字段相关联的所有关联业务数据;
基于所述业务变更数据的单号以及所有关联业务数据的单号确定统一字段单号;
将所述业务变更数据及其所有关联业务数据与所述统一字段单号进行绑定存储至所述业务数据库。
在本申请实施例中,对需要保护的业务变更数据进行保存时,通过单号映射配置表,对单号字段不一致但相关联的其他数据一并采用统一单号字段进行保存,解决了不同业务线单号字段不同的问题,提高了保存数据的准确性。
在一个可能的实施例中,所述基于所述业务变更数据确定满足预设推送条件的待同步数据,包括:
基于所述业务变更数据以及业务数据库中所有变更的数据确定满足预设推送条件的待同步数据。
在本申请实施例中,在对变更数据进行保存之后,除了对前面筛选的业务变更数据之外,还对数据库中所有(保存状态)发生变更的数据进行推送条件的判断,从而将本次发生变更的所有数据都纳入推送条件的判断,提高数据推送及同步的全面性。
在一个可能的实施例中,所述将所述待同步数据推送至目标关联终端,包括:
对所述待同步数据进行完整性校验;
当所述待同步数据未满足预设的完整性条件时,对所述待同步数据进行数据补全;
将补全后的待同步数据推送至目标关联终端。
在本申请实施例中,在推送数据之前,先进行数据完整性校验,若数据不完整则先对数据进行补全,能够提高数据同步的完整性和准确性。
在一个可能的实施例中,所述当所述待同步数据未满足预设的完整性条件时,对所述待同步数据进行数据补全,包括:
当所述待同步数据未满足预设的完整性条件时,基于所述完整性条件确定所述待同步数据的缺失数据信息;
基于预设的数据源配置表确定与所述缺失数据信息对应的目标数据源,并从所述目标数据源获取与所述缺失数据信息对应的目标缺失数据,基于所述目标缺失数据对所述待同步数据进行数据补全。
在本申请实施例中,在数据补全过程中,通过数据源配置表来确定所需数据(缺失数据)的数据源,动态切换数据源来获取缺失数据进行数据补全,保证了数据推送及数据同步的完整性,并提高了数据补全的准确性和灵活性。
在一个可能的实施例中,所述将补全后的待同步数据推送至目标关联终端,包括:
基于预设的过滤条件对补全后的待同步数据进行数据过滤;
将经过数据过滤的待同步数据推送至目标关联终端。
在本申请实施例中,通过在补全数据之后再次对待推送数据进行数据过滤,过滤掉无需进行推送和同步的冗余数据,简化了后续数据同步的数据量,从而进一步提高了数据同步的效率。且过滤条件可自定义配置,提高数据同步的灵活性。
第二方面,本申请实施例提供了一种数据推送装置,包括:
监测模块,用于监测业务系统的数据更新事件,并获取与所述数据更新事件对应的当前更新数据;
筛选模块,用于基于所述当前更新数据确定满足预设推送条件的待同步数据;
推送模块,用于将所述待同步数据推送至目标关联终端。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时可实现第一方面任一实施例所述的方法。
第四方面,本申请实施例提供了一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现第一方面任一实施例所述的方法。
第五方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现第一方面任一实施例所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据推送方法的流程示意图;
图2为本申请实施例提供的数据推送系统的系统架构图;
图3为本申请实施例提供的数据订阅链路拓扑图;
图4为本申请实施例提供的数据订阅及推送时序图;
图5为本申请实施例提供的一种数据推送装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
现有技术中,由于企业的业务系统数据量通常十分庞大,在处理如此海量的数据时往往难以保证所有业务数据都准确无误。当发现业务数据错误并进行修改后,需要将修改后的数据同步到相关下游系统。例如,在进行业务对账时,往往可能会发现因业务数据错误导致的对账失败问题,此时需要业务核对并修改相关数据,然后将修改后的数据同步给相关下游系统。
同时,由于业务系统的数据对于时效性要求较高,能否快速拿到业务修改后的数据提供给下游系统,关系到下游系统处理后续数据的时效,因此,本申请实施例提供了一种数据推送方法,该方法能够及时监控到业务系统数据的修改,并根据预设的推送条件筛选出待同步数据推送至目标关联终端,以实现数据同步,从而有效提高了上下游系统数据同步的效率及实时性。
如图1所示,本申请实施例提供了一种数据推送方法,可以包括步骤:
S1、监测业务系统的数据更新事件,并获取与所述数据更新事件对应的当前更新数据;
S2、基于所述当前更新数据确定满足预设推送条件的待同步数据;
S3、将所述待同步数据推送至目标关联终端。
可以理解的是,本申请实施例的数据推送方法可以由一个数据推送系统执行,业务系统可以与该数据推送系统进行数据对接,使得数据推送系统可以实时监测业务系统的数据变更。当业务系统的数据发生变更,例如由于对账失败问题需要对业务系统的数据进行修改时,数据推送系统可以实时感知这一数据更新事件,并通过数据接口获取该数据更新事件对应的当前更新数据。
接着,可以根据预设的推送条件从当前更新数据中筛选出满足条件的数据作为待同步数据。可选地,在数据筛选过程中,可以以消息包形式进行判断,例如步骤S1中获取当前更新数据是以消息包形式进行传输,此时可以对各个消息包逐一进行判断是否满足预设推送条件,若满足则视为待同步数据,进行后续的数据推送;若不满足条件则可以直接丢弃。可选地,对于消息包中的数据,还可以通过自定义过滤配置表的形式,对数据进行进一步细化筛选过滤。例如,通过配置EL表达式、忽略字段等,对不需要推送和同步的数据进行过滤掉。
在确定待同步数据之后,可以通过预先配置的数据通信方式将待同步数据推送至目标关联终端。目标关联终端可以是代表与业务系统具有业务相关性的下游系统,该下游系统可以是负责提供与所述业务系统的服务功能相对应的下游服务功能。可选地,目标关联终端还可以是与业务系统具有业务关联的其他业务数据系统,本申请实施例并不局限于此。
在本申请实施例中,通过对业务系统的数据更新事件进行实时监测,并根据当前更新的数据筛选出需要同步的数据推送到其他相关联的系统终端,以实现数据同步,能够在对业务数据进行修改后及时获取到修改的数据,并实现上下游系统的数据同步。通过本申请实施例,业务数据变更后可准实时经过数据推送系统处理同步给下游服务,从而有效提高上下游系统数据同步的效率,且保证了下游服务处理数据的时效性。
在一个可能的实施例中,步骤S1(监测业务系统的数据更新事件,并获取与所述数据更新事件对应的当前更新数据)可以包括步骤:
S101、通过消息中间件监测所述业务系统的数据更新事件;
S102、响应于所述消息中间件监测到的数据更新事件,并获取所述消息中间件推送的与所述数据更新事件对应的当前更新数据。
可以理解的是,由于业务系统处理的数据量通常十分庞大,对应地,发生数据更新事件的情况也会比较多,因此,对于本申请实施例的数据推送系统而言,可能存在短时间内监测到大量数据更新事件的情况,为了避免由于数据并发量过高导致的系统堵塞等问题,可以引入消息中间件作为数据中转处理的桥梁,可选地,可以采用Kafka消息中间件。
通过消息中间件可以及时监测到业务系统的所有数据更新事件,并实现一定的数据缓冲功能。消息中间件接收到当前更新数据后,可以不立即将当前更新数据全部实时推送至数据推送系统,可以通过消息队列的方式进行推送,使得数据推送系统可以根据自身的数据处理能力来适时接收当前更新数据并处理。
在本申请实施例中,通过消息中间件来监测数据更新事件以及推送更新的数据,即通过消息队列的形式对更新数据进行推送,能够解决应用耦合、异步处理、流量削锋等问题。需要说明的是,在本申请实施例中,消息中间件提供了消息异步处理机制,允许业务系统把数据或消息放入消息中间件中,但不立即处理它,在之后需要的时候再慢慢处理。因此,在数据量剧增的情况下,程序不会由于突发的超负荷请求而崩溃,从而提高了上下游数据同步过程的可靠性。
在一个可能的实施例中,步骤S2(基于所述当前更新数据确定满足预设推送条件的待同步数据)可以包括步骤:
S201、根据预设的筛选条件从所述当前更新数据中筛选出业务变更数据;
S202、将所述业务变更数据存储至业务数据库;
S203、基于所述业务变更数据确定满足预设推送条件的待同步数据。
可以理解的是,在对业务系统的业务系统进行修改之后,并不是所有修改后的数据都会对其他业务产生影响,对于这种“一次性”的数据,在对其进行修改后可能并不需要进行保存。因此,可以个性化配置一定筛选条件,针对某些修改后一定需要保存的数据进行定义,从而可以在上述获取的当前更新数据中筛选出业务变更数据(即修改后一定需要保存的数据),随后对这些业务变更数据进行存储至业务数据库。由于对需要存储的数据进行了筛选简化,因此本申请实施例有效节省了存储资源,且提高了数据保存的效率。
需要说明的是,由于对当前更新数据进行筛选和存储,而对于修改后不需要保存的数据,通常也无需推送和同步到下游系统。因此,对应地,本申请实施例在“基于所述当前更新数据确定满足预设推送条件的待同步数据”的基础上进一步变更为“基于所述业务变更数据确定满足预设推送条件的待同步数据”,即从需要保存的数据中进行待同步数据的筛选,从而简化了需要推送和同步的数据。
在本申请实施例中,通过首先根据筛选条件来筛选出需要保存的业务数据,过滤排除掉了部分虽然进行了修改但不需要进行保存的数据,再根据保存的数据进行待同步数据的筛选,从而有效提高了数据保存及数据同步的简约性和准确性;且筛选条件可个性化配置,提高了数据保存的灵活性。
在一个可能的实施例中,步骤S202(将所述业务变更数据存储至业务数据库)可以包括步骤:
S2021、根据预存的单号映射关系,查询出所述业务数据库中与所述业务变更数据的单号字段相关联的所有关联业务数据;
S2022、基于所述业务变更数据的单号以及所有关联业务数据的单号确定统一字段单号;
S2023、将所述业务变更数据及其所有关联业务数据与所述统一字段单号进行绑定存储至所述业务数据库。
需要说明的是,在数据修改和保存时,可能会存在业务数据的单号发生了改变的情况(例如增减了单号或重命名了单号等),从而导致出现不同业务线单号字段不同的问题。因此,本申请实施例可以根据预存的单号映射关系,查询出当前需要保存的数据相关联的所有关联业务数据,再基于这些数据确定一个统一字段单号,用以对单号含义不同的相关数据进行保存。
在本申请实施例中,对需要保护的业务变更数据进行保存时,通过单号映射配置表,对单号字段不一致但相关联的其他数据一并采用统一单号字段进行保存,解决了不同业务线单号字段不同的问题,提高了保存数据的准确性和全面性。
在一个可能的实施例中,步骤S203(基于所述业务变更数据确定满足预设推送条件的待同步数据)可以包括步骤:
S2031、基于所述业务变更数据以及业务数据库中所有变更的数据确定满足预设推送条件的待同步数据。
可以理解的是,在数据更新保存过程中,除了对业务变更数据本身进行数据保存之外,还可能存在对数据库中其他数据进行了更新保存的情况。因此,为了保证上下游数据同步的准确性和全面性,本申请实施例除了基于业务变更数据确定待同步数据以外,还进一步扩大为基于业务数据库中所有变更的数据确定待同步数据,大大提高了上下游系统数据同步的可靠性。
在本申请实施例中,在对变更数据进行保存之后,除了对前面筛选的业务变更数据之外,还对数据库中所有(保存状态)发生变更的数据进行推送条件的判断,从而将本次发生变更的所有数据都纳入推送条件的判断,提高数据推送及同步的全面性。
在一个可能的实施例中,步骤S3(将所述待同步数据推送至目标关联终端)可以包括步骤:
S301、对所述待同步数据进行完整性校验;
S302、当所述待同步数据未满足预设的完整性条件时,对所述待同步数据进行数据补全;
S303、将补全后的待同步数据推送至目标关联终端。
可选地,在筛选出待同步数据之后,在将待同步数据进行推送至目标关联终端之前,还可以先对待同步数据进行完整性校验,当校验结果为数据不完整时,需要先对待同步数据进行补全后再进行数据推送。
在本申请实施例中,在推送数据之前,先进行数据完整性校验,若数据不完整则先对数据进行补全,能够提高数据同步的完整性和准确性。
在一个可能的实施例中,步骤S302(当所述待同步数据未满足预设的完整性条件时,对所述待同步数据进行数据补全)可以包括步骤:
S3021、当所述待同步数据未满足预设的完整性条件时,基于所述完整性条件确定所述待同步数据的缺失数据信息;
S3022、基于预设的数据源配置表确定与所述缺失数据信息对应的目标数据源,并从所述目标数据源获取与所述缺失数据信息对应的目标缺失数据,基于所述目标缺失数据对所述待同步数据进行数据补全。
可选地,在数据完整性校验的过程中,可以基于完整性条件来判断待同步数据缺少了哪些数据(缺失数据信息),接着可以根据缺失数据信息与预设的数据源配置表进行比对,确定从何处获取这些缺失的数据(目标数据源),继而可以基于目标数据源来拉取目标缺失数据以对待同步数据进行补全。
在本申请实施例中,在数据补全过程中,通过数据源配置表来确定所需数据(缺失数据)的数据源,动态切换数据源来获取缺失数据进行数据补全,保证了数据推送及数据同步的完整性,同时完整性条件及数据源配置表均可自定义配置,从而提高了数据补全的准确性和灵活性。
在一个可能的实施例中,步骤S303(将补全后的待同步数据推送至目标关联终端)可以包括步骤:
S3031、基于预设的过滤条件对补全后的待同步数据进行数据过滤;
S3032、将经过数据过滤的待同步数据推送至目标关联终端。
可以理解的是,虽然前面步骤中已经基于预设筛选条件或推送条件对数据进行了筛选,但是在拉取缺失数据对待同步数据进行补全后,可能会引入新的冗余数据,因此,为了减少数据推送的数据量,可以对补全后的待同步数据进行数据过滤。可选地,可以预先配置或实时配置(在数据补全后进行配置)过滤条件,根据过滤条件来过滤掉补全后的待同步数据中无需进行推送和同步的冗余数据,最后将经过数据过滤后的待同步数据进行推送至目标关联终端以实现数据同步。
在本申请实施例中,通过在补全数据之后再次对待推送数据进行数据过滤,过滤掉无需进行推送和同步的冗余数据,简化了后续数据推送和同步的数据量,从而进一步提高了数据同步的效率,并减轻了数据推送系统的数据处理压力。且过滤条件可自定义配置,提高数据同步的灵活性和准确性。
如图2所示,其是本申请一种可能的实施例提供的数据推送系统的系统架构图,主要包括业务数据、业务逻辑、基础设置和管理后台四部分,业务数据部分可以获取并缓存来自不同业务线的业务数据;业务逻辑部分可以包括监听模块(用于监听业务数据的更新)、数据过滤(用于数据订阅和推送的过滤)、补偿模块(用于缺失数据的补全)、推送模块(用于数据的推送)和配置中心(用于对过滤条件、推送条件等进行配置管理)。基础设置部分包括日志、数据库、消息队列、服务监控等的设置和管理。
如图3所示,其是本申请一实施例提供的数据推送方法的数据订阅链路拓扑图,可选地,数据推送系统通过消息中间件监听业务库的数据更新事件;其中,消息中间件可以是Kafka中间件,通过DTS(Data Transformation Service,数据转换服务)与业务库进行数据对接,DTS是一组工具,用于一个或多个数据源间导入、导出和转换各种数据,可以通过DML(Data Manipulation Language,数据操纵语句)进行数据操作。可选地,Kafka中间件与数据推送系统之间采用Canal Json作为数据交换格式协议。
如图4所示,其是本申请一实施例提供的数据推送方法的数据订阅及推送时序图。作为举例描述,该数据订阅及推送时序图的过程主要包括:1、通过MQ配置表(目前主要接入Kafka消息)订阅不同业务线的数据变更;2、通过过滤配置表配置EL表达式、忽略字段等,筛选所需数据,不满足条件的消息直接丢弃;3、通过单号映射配置表,应对不同业务线单号字段不同的问题,保证数据保存时可以使用统一字段保存不同含义的单号;4、通过推送配置表,控制变更的表是否需要推送;5、业务线触发的表变更经过数据推送系统过滤,满足推送配置表要求,通过数据关联表校验数据是否完整。当数据校验不完整时,可以通过业务线数据源配置表获取连接信息,动态切换数据源,根据补偿条件进行数据补偿,保证待推送数据的完整性。6、对于满足推送条件的数据进行数据组装,通过消息队列进行推送,以使下游服务(目标关联终端)进行数据处理和更新记录,实现上下游系统的数据同步。
与现有技术相比,本申请实施例的有益效果包括:1、业务数据变更后可准实时经过数据推送系统处理同步给下游服务,保证了数据处理的时效性;2、业务数据库变更MQ、业务数据源、数据过滤和数据推送等全链路可配置化,只要了解业务表结构及下游服务需求,即可通过配置化定制推送数据;3、使用动态数据源切换方式,在服务运行时根据补偿条件动态切换数据源拉取相应数据;4、与业务代码解耦,可根据配置的关联条件获取所需数据推送给下游服务。
请参考图5,图5示出了本申请的一些实施例提供的数据推送装置的组成框图。应理解,该数据推送装置与上述图1方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该数据推送装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
图5的数据推送装置包括至少一个能以软件或固件的形式存储于存储器中或固化在数据推送装置中的软件功能模块,该数据推送装置包括:
监测模块510,用于监测业务系统的数据更新事件,并获取与所述数据更新事件对应的当前更新数据;
筛选模块520,用于基于所述当前更新数据确定满足预设推送条件的待同步数据;
推送模块530,用于将所述待同步数据推送至目标关联终端。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
如图6所示,本申请的一些实施例提供一种电子设备600,该电子设备600包括:存储器610、处理器620以及存储在存储器610上并可在处理器620上运行的计算机程序,其中,处理器620通过总线630从存储器610读取程序并执行所述程序时可实现如上述数据推送方法包括的任意实施例的方法。
处理器620可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器620可以是微处理器。
存储器610可以用于存储由处理器620执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器620可以用于执行存储器610中的指令以实现上述所示的方法。存储器610包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
本申请的一些实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行方法实施例所述的方法。
本申请的一些实施例还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (12)
1.一种数据推送方法,其特征在于,包括:
监测业务系统的数据更新事件,并获取与所述数据更新事件对应的当前更新数据;
基于所述当前更新数据确定满足预设推送条件的待同步数据;
将所述待同步数据推送至目标关联终端。
2.根据权利要求1所述的数据推送方法,其特征在于,所述监测业务系统的数据更新事件,并获取与所述数据更新事件对应的当前更新数据,包括:
通过消息中间件监测所述业务系统的数据更新事件;
响应于所述消息中间件监测到的数据更新事件,并获取所述消息中间件推送的与所述数据更新事件对应的当前更新数据。
3.根据权利要求1所述的数据推送方法,其特征在于,所述基于所述当前更新数据确定满足预设推送条件的待同步数据,包括:
根据预设的筛选条件从所述当前更新数据中筛选出业务变更数据;
将所述业务变更数据存储至业务数据库;
基于所述业务变更数据确定满足预设推送条件的待同步数据。
4.根据权利要求3所述的数据推送方法,其特征在于,所述将所述业务变更数据存储至业务数据库,包括:
根据预存的单号映射关系,查询出所述业务数据库中与所述业务变更数据的单号字段相关联的所有关联业务数据;
基于所述业务变更数据的单号以及所有关联业务数据的单号确定统一字段单号;
将所述业务变更数据及其所有关联业务数据与所述统一字段单号进行绑定存储至所述业务数据库。
5.根据权利要求4所述的数据推送方法,其特征在于,所述基于所述业务变更数据确定满足预设推送条件的待同步数据,包括:
基于所述业务变更数据以及业务数据库中所有变更的数据确定满足预设推送条件的待同步数据。
6.根据权利要求1所述的数据推送方法,其特征在于,所述将所述待同步数据推送至目标关联终端,包括:
对所述待同步数据进行完整性校验;
当所述待同步数据未满足预设的完整性条件时,对所述待同步数据进行数据补全;
将补全后的待同步数据推送至目标关联终端。
7.根据权利要求6所述的数据推送方法,其特征在于,所述当所述待同步数据未满足预设的完整性条件时,对所述待同步数据进行数据补全,包括:
当所述待同步数据未满足预设的完整性条件时,基于所述完整性条件确定所述待同步数据的缺失数据信息;
基于预设的数据源配置表确定与所述缺失数据信息对应的目标数据源,并从所述目标数据源获取与所述缺失数据信息对应的目标缺失数据,基于所述目标缺失数据对所述待同步数据进行数据补全。
8.根据权利要求6所述的数据推送方法,其特征在于,所述将补全后的待同步数据推送至目标关联终端,包括:
基于预设的过滤条件对补全后的待同步数据进行数据过滤;
将经过数据过滤的待同步数据推送至目标关联终端。
9.一种数据推送装置,其特征在于,包括:
监测模块,用于监测业务系统的数据更新事件,并获取与所述数据更新事件对应的当前更新数据;
筛选模块,用于基于所述当前更新数据确定满足预设推送条件的待同步数据;
推送模块,用于将所述待同步数据推送至目标关联终端。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-8任一所述的数据推送方法。
11.一种计算机程序产品,其特征在于,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现权利要求1-8中任意一项权利要求所述的数据推送方法。
12.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现权利要求1-8中任意一项权利要求所述的数据推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310722911.4A CN116634011A (zh) | 2023-06-16 | 2023-06-16 | 数据推送方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310722911.4A CN116634011A (zh) | 2023-06-16 | 2023-06-16 | 数据推送方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116634011A true CN116634011A (zh) | 2023-08-22 |
Family
ID=87609889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310722911.4A Pending CN116634011A (zh) | 2023-06-16 | 2023-06-16 | 数据推送方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116634011A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116910825A (zh) * | 2023-09-12 | 2023-10-20 | 上海融和元储能源有限公司 | 一种基于kafka的数据同步方法及装置 |
-
2023
- 2023-06-16 CN CN202310722911.4A patent/CN116634011A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116910825A (zh) * | 2023-09-12 | 2023-10-20 | 上海融和元储能源有限公司 | 一种基于kafka的数据同步方法及装置 |
CN116910825B (zh) * | 2023-09-12 | 2023-12-15 | 上海融和元储能源有限公司 | 一种基于kafka的数据同步方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6865219B2 (ja) | 連続クエリ処理におけるイベントバッチ処理、出力シーケンス化、およびログベースの状態記憶 | |
US11750444B2 (en) | Implementation of compliance settings by a mobile device for compliance with a configuration scenario | |
AU2014209697B2 (en) | Method and system for using a recursive event listener on a node in hierarchical data structure | |
CN111078504A (zh) | 一种分布式调用链跟踪方法、装置、计算机设备及存储介质 | |
US20070124437A1 (en) | Method and system for real-time collection of log data from distributed network components | |
CN111277639B (zh) | 一种保持数据一致性的方法和装置 | |
US10467192B2 (en) | Method and apparatus for updating data table in keyvalue database | |
WO2012155643A1 (zh) | 基于数据库的配置台实现方法、配置台及系统 | |
CN111143382A (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN116634011A (zh) | 数据推送方法、装置、存储介质及电子设备 | |
CN110297822B (zh) | 面向区块链的密钥管理方法、装置、设备及存储介质 | |
WO2016074412A1 (zh) | 基于网络配置协议进行兼容管理的方法、存储介质及设备 | |
CN110795322A (zh) | 服务监控方法、装置、计算机设备及存储介质 | |
CN114448686A (zh) | 一种基于微服务的跨网络通信装置与方法 | |
CN108874531B (zh) | 用于熔断服务的方法、装置、系统及电子设备 | |
CN112052295A (zh) | 一种数据同步方法、装置、电子设备和可读存储介质 | |
CN114003203B (zh) | 一种活动计数变量的维护方法、装置、设备及可读介质 | |
CN115964436A (zh) | 一种数据库集群管理的方法和装置 | |
CN113032477B (zh) | 基于gtid的长距离数据同步方法、装置及计算设备 | |
US20120023074A1 (en) | Scalable rule-based data synchronization systems and methods | |
CN113037420A (zh) | 读时间戳的获取方法和装置、电子设备和存储介质 | |
CN112434111A (zh) | 基础数据同步方法、装置、设备及存储介质 | |
CN110727694A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113472469B (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN112130924B (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 |