CN116302608A - 业务数据处理方法、装置、计算机设备和存储介质 - Google Patents
业务数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116302608A CN116302608A CN202310226079.9A CN202310226079A CN116302608A CN 116302608 A CN116302608 A CN 116302608A CN 202310226079 A CN202310226079 A CN 202310226079A CN 116302608 A CN116302608 A CN 116302608A
- Authority
- CN
- China
- Prior art keywords
- service
- target
- queue
- service information
- information
- 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
- 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/546—Message passing systems or structures, e.g. queues
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种业务数据处理方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:从消息平台中获取目标业务信息,目标业务对应的起始业务信息和参考业务信息;当目标业务时间为参考业务时间的后向时间时,基于目标业务信息更新参考业务信息,将目标业务信息分别写入当前校验队列和当前业务队列得到目标校验队列和目标业务队列;当目标业务时间为参考业务时间的非后向时间时,基于目标业务信息更新起始业务信息,从当前校验队列中确定待回溯业务信息,将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列。采用本方法能够提高业务数据处理的有序性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种业务数据处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着数据处理技术的发展,出现了分布式数据读取技术,在消息平台对应的多个存储分区中同步读取数据,进而基于读取到的数据进行相应的数据处理。
然而,使用传统技术从消息平台中的多个存储分区中同步读取数据时,难以保证读取到的数据是有序的,会产生数据读取混乱的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高业务数据处理有序性的业务数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
本申请提供了一种业务数据处理方法。所述方法包括:
从消息平台上目标业务对应的多个业务分区中,同步获取目标业务对应的候选业务信息,得到多个候选业务信息;
从各个候选业务信息中确定目标业务信息;目标业务信息包括目标业务数据和目标业务数据对应的目标业务时间;
获取目标业务对应的起始业务信息和参考业务信息;起始业务信息包括起始业务时间,参考业务信息包括参考业务时间;
当目标业务时间为参考业务时间的后向时间时,基于目标业务信息更新参考业务信息,将目标业务信息分别写入当前校验队列和当前业务队列的队尾,得到目标校验队列和目标业务队列;
当目标业务时间为参考业务时间的非后向时间时,基于目标业务信息更新起始业务信息,基于参考业务信息和更新后的起始业务信息,从当前校验队列中确定待回溯业务信息,将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列;目标校验队列和目标业务队列用于作为下一个目标业务信息待写入的当前校验队列和当前业务队列。
本申请还提供了一种业务数据处理装置。所述装置包括:
候选信息获取模块,用于从消息平台上目标业务对应的多个业务分区中,同步获取目标业务对应的候选业务信息,得到多个候选业务信息;
目标信息确定模块,用于从各个候选业务信息中确定目标业务信息;目标业务信息包括目标业务数据和目标业务数据对应的目标业务时间;
业务信息确定模块,用于获取目标业务对应的起始业务信息和参考业务信息;起始业务信息包括起始业务时间,参考业务信息包括参考业务时间;
目标队列确定模块,用于当目标业务时间为参考业务时间的后向时间时,基于目标业务信息更新参考业务信息,将目标业务信息分别写入当前校验队列和当前业务队列的队尾,得到目标校验队列和目标业务队列;
业务信息回溯模块,用于当目标业务时间为参考业务时间的非后向时间时,基于目标业务信息更新起始业务信息,基于参考业务信息和更新后的起始业务信息,从当前校验队列中确定待回溯业务信息,将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列;目标校验队列和目标业务队列用于作为下一个目标业务信息待写入的当前校验队列和当前业务队列。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述业务数据处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述业务数据处理方法的步骤。
一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述业务数据处理方法的步骤。
上述业务数据处理方法、装置、计算机设备、存储介质和计算机程序产品,通过从消息平台对应的多个分区中,同步获取目标业务对应的候选业务信息,并从各个候选业务信息中确定目标业务信息,目标业务信息包括目标业务数据和目标业务时间。进而获取目标业务对应的起始业务信息和参考业务信息,起始业务信息包括起始业务时间,参考业务信息包括参考业务时间。在将目标业务信息写入当前校验队列和当前业务队列前,对比目标业务时间和参考业务时间。当目标业务时间为参考业务时间的后向时间时,用目标业务信息更新参考业务信息,并将目标业务信息分别写入当前校验队列和当前业务队列的队尾,得到目标校验队列和目标业务队列。当目标业务时间为参考业务时间的非后向时间时,用目标业务信息更新起始业务信息,并基于参考业务信息和更新后的起始业务信息,从当前校验队列中确定待回溯业务信息,将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列。这样,在目标业务时间为参考业务时间的非后向时间时,能够通过参考业务信息和更新后的起始业务信息从当前校验队列中确定需要回溯的待回溯业务信息,进而将目标业务信息分别写入到当前校验队列和当前目标业务队列中作为待回溯业务信息的前向业务信息,能够保证在多个业务分区中同步读取数据时,读取到的数据是有序的,提高了数据处理的有序性,此外,只需要回溯部分数据即可实现数据的顺序读取,有效降低了数据回溯的成本,提高了业务数据处理效率。
附图说明
图1为一个实施例中业务数据处理方法的应用环境图;
图2为一个实施例中业务数据处理方法的流程示意图;
图3为一个实施例中业务信息回溯的流程示意图;
图4为另一个实施例中业务数据处理方法的流程示意图;
图5为一个实施例中业务数据处理装置的结构框图;
图6为另一个实施例中业务数据处理装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的业务数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能电视、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例中提供的业务数据处理方法可以应用于服务器。
例如,服务器从消息平台上目标业务对应的多个业务分区中,同步获取目标业务对应的候选业务信息,得到多个候选业务信息。服务器从各个候选业务信息中确定目标业务信息,目标业务信息包括目标业务数据和目标业务数据对应的目标业务时间。服务器获取目标业务对应的起始业务信息和参考业务信息,起始业务信息包括起始业务时间,参考业务信息包括参考业务时间。当目标业务时间为参考业务时间的后向时间时,服务器基于目标业务信息更新参考业务信息,将目标业务信息分别写入当前校验队列和当前业务队列的队尾,得到目标校验队列和目标业务队列。当目标业务时间为参考业务时间的非后向时间时,服务器基于目标业务信息更新起始业务信息,基于参考业务信息和更新后的起始业务信息,从当前校验队列中确定待回溯业务信息,将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列,目标校验队列和目标业务队列用于作为下一个目标业务信息待写入的当前校验队列和当前业务队列。
在一个实施例中,如图2所示,提供了一种业务数据处理方法,以该方法应用于服务器为例进行说明。业务数据处理方法包括以下步骤:
步骤S202,从消息平台上目标业务对应的多个业务分区中,同步获取目标业务对应的候选业务信息,得到多个候选业务信息。
其中,消息平台是指分布式发布订阅的消息队列系统,用于接收并保存消息生产者生产的数据,消息平台上存储的数据可供消息消费者消费,消息平台对收到的数据按照主题(Topic)进行分类,每个主题在消息平台中对应一个或多个存储分区,存储分区用于存储该存储分区对应主题的数据,当接收到该主题对应的新数据后,消息平台将该数据存储至该主题对应的各个存储分区中的其中之一,由于新数据是添加至存储分区中数据序列的末尾,因此存储分区中的数据是有序的。例如,主题可以为厂家A、厂家B和厂家C,在消息平台中厂家A对应3个存储分区,分别为a、b和c,当消息平台接收到厂家A对应的业务数据后,将该业务数据写厂家A对应的某个存储分区中。
目标业务是指当前需要进行业务数据处理的业务,目标业务在消息平台中存在对应的主题和至少一个存储分区。业务分区是指目标业务在消息平台中对应的存储分区。例如,目标业务可以是生成厂家A对应的业务报表,此时,目标业务在消息平台中对应的主题为厂家A,目标业务在消息平台中对应的存储分区为a、b和c,存储分区a、b和c即为目标业务在消息平台中对应的各个业务分区。
业务信息是指消息平台中存储的数据信息,业务信息包括业务数据和业务时间。业务数据是指业务信息的信息主体,业务时间为业务数据对应的时间属性。例如,当目标业务为生成厂家A对应的单据报表时,目标业务在消息平台中对应的各个业务信息即为厂家A对应的各个单据信息,此时,业务数据为单据,业务时间为单据对应的单据日期。
候选业务信息是指当前从消息平台中同步获取的目标业务对应的业务信息。
示例性地,目标业务在消息平台上存在多个业务分区,各个业务分区均存储了目标业务对应的业务信息,为了提高业务信息获取的效率,从而保证业务数据处理的效率,服务器从消息平台上目标业务对应的多个业务分区中同步获取目标业务对应的候选业务信息,得到从各个业务分区中分别获取到的候选业务信息。
步骤S204,从各个候选业务信息中确定目标业务信息;目标业务信息包括目标业务数据和目标业务数据对应的目标业务时间。
其中,目标业务信息是指在各个候选业务信息中确定的,用于写入当前校验队列和当前业务队列的候选业务信息。目标业务数据是指目标业务信息对应的业务数据。目标业务时间是指目标业务信息对应的业务时间。
示例性地,服务器将各个候选业务信息中的任意一个候选业务信息作为目标业务信息,进而基于目标业务信息对应的目标业务时间和目标业务对应的参考业务信息和起始业务信息,将目标业务信息分别写入当前校验队列和当前业务队列,得到目标校验队列和目标业务队列。
步骤S206,获取目标业务对应的起始业务信息和参考业务信息;起始业务信息包括起始业务时间,参考业务信息包括参考业务时间。
其中,起始业务信息是指当前时间段对应的,最近一次引起业务信息回溯的业务信息。例如,若当前校验队列中的业务信息分别为A-B-F-C-D-E,对应的业务时间分别为1月1日、1月2日、1月3日、1月4日、1月5日和1月6日,且最近一次引起业务回溯的业务信息为F,则说明此时的起始业务信息为F。
参考业务信息是指当前校验队列和当前业务队列中业务时间最新的业务信息。例如,若当前校验队列中的业务信息和当前业务队列中的业务信息均为A-B-F-C-D-E,对应的业务时间分别为1月1日、1月2日、1月3日、1月4日、1月5日和1月6日,则此时的参考业务信息为E。
起始业务时间是指起始业务信息对应的业务时间。参考业务时间是指参考业务信息对应的业务时间。
示例性地,服务器获取目标业务对应的起始业务信息和参考业务信息,起始业务信息为最近一次引起业务信息回溯的业务信息,参考业务信息为当前校验队列和当前业务队列中业务时间最新的业务信息。
步骤S208,当目标业务时间为参考业务时间的后向时间时,基于目标业务信息更新参考业务信息,将目标业务信息分别写入当前校验队列和当前业务队列的队尾,得到目标校验队列和目标业务队列。
其中,后向时间是指更晚的时间,例如,2022年1月2日为2022年1月1日的后向时间。
校验队列是指由从消息平台中读取的目标业务对应的各个业务信息组成的队列,存储在分布式的、面向列的开源数据库中,校验队列中的各个业务信息是有序的,用于确定待回溯业务信息。
业务队列是指由从消息平台中读取的目标业务对应的各个业务信息组成的队列,用于实现目标业务。例如,当目标业务为生成厂家A对应的单据报表时,业务队列即为由厂家A对应的各个单据信息组成的单据队列,业务队列用于实现目标业务是指,通过对业务队列中的各个单据信息进行相应的数据处理,来生成厂家A对应的单据报表。
当前校验队列是指在目标业务信息还未被写入到校验队列时,当前时间段的校验队列。
当前业务队列是指在目标业务信息还未被写入到业务队列时,当前时间段的业务队列。
目标校验队列是指将目标业务信息添加到当前校验队列后得到的校验队列,若添加过程中需要回溯业务信息,则为将目标业务信息写入当前校验队列中作为待回溯业务信息的前向业务信息,得到的校验队列。
目标业务队列是指将目标业务信息添加到当前业务队列后得到的业务队列,若添加过程中需要回溯业务信息,则为将目标业务信息写入当前业务队列中作为待回溯业务信息的前向业务信息,得到的业务队列。
示例性地,服务器对比目标业务信息对应的目标业务时间和目标业务对应的参考业务时间,当目标业务时间为参考业务时间的后向时间时,基于目标业务信息更新参考业务信息,使得参考业务信息始终为校验队列和业务队列中业务时间最新的业务信息。将目标业务信息写入当前校验队列的队尾得到目标校验队列,将目标业务信息写入当前业务队列的队尾得到目标业务队列。当获取到下一个目标业务信息时,将目标校验队列和目标业务队列作为下一个目标业务信息待写入的当前校验队列和当前业务队列。
步骤S210,当目标业务时间为参考业务时间的非后向时间时,基于目标业务信息更新起始业务信息,基于参考业务信息和更新后的起始业务信息,从当前校验队列中确定待回溯业务信息,将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列;目标校验队列和目标业务队列用于作为下一个目标业务信息待写入的当前校验队列和当前业务队列。
其中,非后向时间是指更早的时间或者相同的时间,例如,2022年1月1日为2022年1月2日的非后向时间,2022年1月1日为2022年1月1日的非后向时间。
待回溯业务信息是指在将目标业务信息写入当前校验队列和当前业务队列之前,需要回溯的业务信息。待回溯业务信息的前向业务信息是指在目标校验队列或目标业务队列中,位于各个待回溯业务信息之前的业务信息。例如,若当前校验队列和当前业务队列中的业务信息均为A-B-C-D-E,对应的业务时间分别为1月1日、1月2日、1月4日、1月5日和1月6日,并且目标业务信息为F,F对应的业务时间为1月3日,此时更新后的起始业务信息为F,参考业务信息为E,基于参考业务信息和更新后的起始业务信息,从当前校验队列中确定的待回溯业务信息为C-D-E,将目标业务信息F分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息是指,将目标业务信息F分别添加到当前校验队列和当前业务队列中的待回溯业务信息C-D-E之前,得到目标校验队列和目标业务队列,目标校验队列和目标业务队列中的业务信息均为A-B-F-C-D-E。
示例性地,服务器对比目标业务信息对应的目标业务时间和目标业务对应的参考业务时间,当目标业务时间为参考业务时间的非后向时间时,说明目标业务信息不是当前校验队列和当前业务队列中业务时间最新的业务信息,因此不能直接将目标业务信息分别写入当前业务队列和当前校验队列的队尾。此时,服务器基于目标业务信息更新起始业务信息,使得起始业务信息始终为校验队列和业务队列中最近一次引起业务信息回溯的业务信息。基于参考业务信息中的参考业务时间和更新后的起始业务信息中的起始业务时间,在当前校验队列中筛选出待回溯业务信息,进而将目标业务信息写入当前校验队列中的待回溯业务信息之前,得到目标校验队列,将目标业务当前业务队列中的待回溯业务信息之前,得到目标业务队列。当获取到下一个目标业务信息时,将目标校验队列和目标业务队列作为下一个目标业务信息待写入的当前校验队列和当前业务队列。
在一个实施例中,当目标业务时间为参考业务时间的后向时间时,将目标业务信息写入当前业务队列的队尾得到目标业务队列,此时从目标业务队列的队尾消费目标业务信息,即读取目标业务信息并进行相应的数据处理,得到目标业务信息对应的中间业务结果。目标业务信息对应的中间业务结果是指,在目标业务队列中依次读取业务信息并进行相应的数据处理,直至读取到目标业务信息,并基于目标业务数据进行相应的数据处理后得到的数据处理结果。例如,当目标业务为生成厂家A对应的单据报表,目标业务队列中依次存储了单据A-单据B-单据C三个业务信息,读取单据A并对单据A进行数据处理得到的处理结果即为单据A对应的中间业务结果,此时的中间业务结果即为基于单据A生成的厂家A对应的单据报表;依次读取单据A、单据B和单据C,并进行相应的数据处理,得到的处理结果即为单据C对应的中间业务结果,此时的中间业务结果即为基于单据A、单据B和单据C生成的厂家A对应的单据报表。当目标业务时间为参考业务时间的非后向时间时,对当前业务队列进行回溯得到目标业务队列,在目标业务队列中确定目标业务信息对应的前向业务信息。例如,当目标业务队列中依次存储了A-B-C-D四个业务信息,D为目标业务信息时,D对应的前向业务信息即为C。获取前向业务信息对应的中间业务结果,基于前向业务信息对应的中间业务结果,从目标业务队列中的目标业务信息开始消费业务信息,直至消费完目标业务信息和各个待回溯业务信息,得到目标业务队列对应的中间业务结果,即目标业务队列中位于队尾的业务信息对应的中间业务结果。这样,按照目标业务队列中业务信息之间的顺序,依次消费各个业务信息,保证了业务信息消费过程的有序性。
上述业务数据处理方法中,通过从消息平台对应的多个分区中,同步获取目标业务对应的候选业务信息,并从各个候选业务信息中确定目标业务信息,目标业务信息包括目标业务数据和目标业务时间。进而获取目标业务对应的起始业务信息和参考业务信息,起始业务信息包括起始业务时间,参考业务信息包括参考业务时间。在将目标业务信息写入当前校验队列和当前业务队列前,对比目标业务时间和参考业务时间。当目标业务时间为参考业务时间的后向时间时,用目标业务信息更新参考业务信息,并将目标业务信息分别写入当前校验队列和当前业务队列的队尾,得到目标校验队列和目标业务队列。当目标业务时间为参考业务时间的非后向时间时,用目标业务信息更新起始业务信息,并基于参考业务信息和更新后的起始业务信息,从当前校验队列中确定待回溯业务信息,将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列。这样,在目标业务时间为参考业务时间的非后向时间时,能够通过参考业务信息和更新后的起始业务信息从当前校验队列中确定需要回溯的待回溯业务信息,进而将目标业务信息分别写入到当前校验队列和当前目标业务队列中作为待回溯业务信息的前向业务信息,能够保证在多个业务分区中同步读取数据时,读取到的数据是有序的,提高了数据处理的有序性,此外,只需要回溯部分数据即可实现数据的顺序读取,有效降低了数据回溯的成本,提高了业务数据处理效率。
在一个实施例中,如图3所示,基于参考业务信息和更新后的起始业务信息,从当前校验队列中确定待回溯业务信息,将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列,包括:
步骤S302,基于参考业务时间和目标业务时间,在当前校验队列中确定待回溯业务信息。
步骤S304,从当前校验队列和当前业务队列中移除待回溯业务信息,得到初始校验队列和初始业务队列。
步骤S306,将目标业务信息分别写入初始校验队列和初始业务队列,得到中间校验队列和中间业务队列。
步骤S308,将各个待回溯业务信息写入中间校验队列和中间业务队列,得到目标校验队列和目标业务队列。
示例性地,基于目标业务信息对应的目标业务时间和目标业务对应的参考业务时间,判断是否需要进行业务信息回溯。当目标业务时间为参考业务时间的非后向时间时,说明该目标业务信息不能直接写入当前校验队列和当前业务队列的队尾,直接写入队尾无法保证业务数据的顺序读取,因此,服务器基于目标业务对应的参考业务时间和目标业务信息对应的目标业务时间,在当前校验队列中筛选出业务时间处于参考业务时间和目标业务时间之间的各个业务信息作为待回溯业务信息,进而从当前校验队列中移除各个待回溯业务信息得到初始校验队列,从当前业务队列中移除各个待回溯业务信息得到初始业务队列。接着,将目标业务信息分别写入初始校验队列和初始业务队列的队尾,得到中间校验队列和中间业务队列。最后,将各个待回溯业务信息按照原先在校验队列中的顺序,依次写入中间校验队列的队尾,得到目标校验队列,将各个待回溯业务信息按照原先在校验队列中的顺序,依次写入中间业务队列的队尾,得到目标业务队列。
上述实施例中,基于目标业务时间和参考业务时间,能够快速在当前校验队列中筛选出待回溯业务信息,提高了业务数据处理的效率。进而将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列。能够避免回溯大量业务信息,降低了业务数据回溯成本,保证了队列中的业务信息是有序的。
在一个实施例中,目标业务信息还包括目标数据位点,起始业务信息还包括起始数据位点,当目标业务时间为参考业务时间的非后向时间时,业务数据处理方法还包括:
基于目标业务信息更新起始业务信息;基于目标数据位点和起始数据位点,在消息平台中确定各个待回溯业务信息;基于各个待回溯业务信息分别对应的信息业务时间,确定各个待回溯业务信息分别对应的写入顺序;从当前校验队列和当前业务队列中移除各个待回溯业务信息,得到初始校验队列和初始业务队列;基于目标业务信息和待回溯业务数据分别对应的写入顺序,将目标业务信息和各个待回溯业务信息依次写入初始校验队列和初始业务队列,得到目标校验队列和目标业务队列;目标业务信息对应的写入顺序在待回溯业务数据对应的写入顺序之前。
其中,数据位点是指业务信息在消息平台中对应的消费位点。目标数据位点是指目标业务信息在消息平台中对应的消费位点,用于指示目标业务在消息平台的各个业务分区中分别对应的数据读取位置。
例如,当目标业务在消息平台中对应的存储分区为a和b,存储分区a中依次存储了A-B-C-D-E五个业务信息,存储分区b中依次存储了F-G-H-I-J五个业务信息,首先将数据位点设置为0,0。当从存储分区a中读取业务信息A,将业务信息A作为目标业务信息时,由于业务信息A为存储分区a中的第一个业务信息,因此,业务信息A对应的数据位点为1,0。当从存储分区a中读取了业务信息A和业务信息B,从存储分区b中读取了业务信息F,业务信息G后,再从业务分区a中读取业务信息C作为目标业务信息时,业务信息C对应的数据位点为3,2。
起始数据位点是指起始业务信息对应的数据位点。
信息业务时间是指待回溯业务信息对应的业务时间。
写入顺序是指业务信息写入到校验队列或业务队列的次序。例如,若待回溯业务信息为C-D,对应的业务时间分别为1月4日和1月5日,并且目标业务信息为F,F对应的业务时间为1月3日,此时目标业务信息F和待回溯业务信息C和待回溯业务信息D分别对应的写入顺序为1、2、3,即目标业务信息F第一个写入初始校验队列和初始业务队列,目标业务信息C第二个写入初始校验队列和初始业务队列,目标业务信息D第三个写入初始校验队列和初始业务队列。
示例性地,当目标业务时间为参考业务时间的非后向时间时,说明此时目标业务信息不是当前校验队列和当前业务队列中最新的业务信息,不能直接将目标业务信息写入当前校验队列和当前业务队列的队尾,需要进行业务信息回溯。可见,此时最近一次引起业务信息回溯的业务信息为目标业务信息,因此,服务器基于目标业务信息更新起始业务信息。
进而,服务器基于目标业务信息对应的目标数据位点和起始业务信息对应的起始数据位点,将目标业务对应的各个业务分区中,位于起始数据位点和目标数据位点之间的各个业务信息作为待回溯业务信息。基于各个待回溯业务信息分别对应的信息业务时间,将各个待回溯业务信息按照时间先后顺序进行排序,得到各个待回溯业务信息分别对应的写入顺序。基于该写入顺序将待回溯业务信息重新写入到校验队列和业务队列,能够保证业务信息的有序性。
接着,服务器从当前校验队列中移除各个待回溯业务信息,得到初始校验队列,从当前业务队列中移除各个待回溯业务信息,得到初始业务队列。将目标业务信息写入初始校验队列的队尾后得到中间校验队列,按照各个待回溯业务信息分别对应的写入顺序,将各个待回溯业务信息依次写入中间校验队列得到目标校验队列。将目标业务信息写入初始业务队列的队尾后得到中间业务队列,按照各个待回溯业务信息分别对应的写入顺序,将各个待回溯业务信息依次写入中间业务队列得到目标业务队列。
上述实施例中,基于目标数据位点和起始数据位点能够快速在消息平台中确定各个待回溯业务信息,避免了在实现顺序读取的过程中产生大量的业务信息回溯,提高了业务数据处理效率。进而基于各个待回溯业务信息分别对应的业务时间,确定各个待回溯业务信息分别对应的写入顺序。基于目标业务信息和待回溯业务信息分别对应的写入顺序,将目标业务信息和各个待写入业务信息依次写入初始校验队列,能够保证业务信息的顺序读取。
在一个实施例中,业务数据处理方法还包括:
对待回溯业务信息进行统计,得到预期回溯数据量;在待回溯业务信息对应的信息数据位点中,确定位点最大值和位点最小值;基于位点最大值和位点最小值,计算预期回溯数据量;当预期回溯数据量和预期回溯数据量不同时,重新从消息平台获取目标业务对应的各个历史读取业务数据;历史读取业务数据对应的数据量等于预期回溯数据量。
其中,实际回溯数据量是指实际写入校验队列和业务队列的待回溯业务信息的数量。
信息数据位点是指待回溯业务信息对应的数据位点。
位点最大值是指各个待回溯业务信息分别对应的数据位点中的最大值。位点最小值是指各个待回溯业务信息分别对应的数据位点中的最小值。
预期回溯数据量是指基于位点最大值和位点最小值确定的预期应该回溯的业务信息的数量。
历史读取业务数据是指在本次业务数据处理过程中,原本计划从消息平台读取的业务信息。例如,当目标业务为生成厂家A在二月份的单据报表时,在本次业务数据处理过程中,历史读取业务数据即为目标业务对应的各个业务分区中存储的单据日期为二月份的单据信息。
示例性地,当目标业务时间为参考业务时间的非后向时间时,服务器确定待回溯业务信息,在当前校验队列中移除待回溯业务信息得到初始校验队列,并将目标业务信息写入初始校验队列的队尾,得到中间校验队列。进而将各个待回溯业务信息依次写入中间校验队列得到目标校验队列,在将各个待回溯业务信息依次写入中间校验队列的过程中,统计写入中间校验队列的待回溯业务信息的数量,直至待回溯业务信息写入结束,得到实际回溯数据量。同时,基于各个待回溯业务信息分别对应的信息数据位点,确定位点最大值和位点最小值。基于位点最大值和位点最小值之间的差值,得到预期回溯数据量。对比实际回溯数据量和预期回溯数据量,当际回溯数据量和预期回溯数据量不同时,说明业务信息回溯出现异常,重新从消息平台上目标业务对应的多个业务分区中,获取目标业务对应的各个历史读取业务数据。
上述实施例中,基于各个待回溯业务信息分别对应的信息数据位点来确定预期回溯数据量,进而通过对比实际回溯数据量和预期回溯数据量来确定在业务信息回溯过程中是否出现异常,当出现异常时,重新获取目标业务对应的各个历史读取业务数据,能够保证业务信息读取的准确性和可靠性。
在一个实施例中,将目标业务信息写入当前校验队列,得到目标校验队列,包括:
基于目标业务信息,生成目标业务信息对应的目标信息标识;基于目标信息标识和当前校验队列中各个校验业务信息分别对应的校验信息标识,对目标业务信息和各个校验业务信息进行排序,得到目标校验队列;其中,信息标识的排序和业务时间的排序匹配。
其中,信息标识是指基于业务信息中的业务数据对应的属性信息生成的业务信息对应的标识,业务数据的属性信息包括业务数据对应的业务时间、业务标识、用户标识、创建时间中的至少一者,例如,当业务信息为单据信息时,单据对应的属性信息可以包括单据时间、创建时间、单据ID和创建者ID等。业务信息对应的信息标识的数值大小与业务信息对应的业务时间呈正相关。例如,业务信息A、业务信息B和业务信息C分别对应的业务时间为1月2日,1月3日和1月4日,业务信息A、业务信息B和业务信息C分别对应的信息标识a、b和c的数值大小关系为a<b<c。由于信息标识是基于业务数据对应的业务时间、业务标识等属性信息生成的,且业务信息对应的业务标识是唯一的,因此,业务信息对应的信息标识是唯一的,基于信息标识对各个业务信息进行排序得到的队列也是唯一的。
目标信息标识是指目标业务信息对应的信息标识。校验业务信息是指当前校验队列中的各个业务信息。校验信息标识是指校验业务信息对应的信息标识。
示例性地,服务器基于目标业务信息中包含的目标业务数据对应的属性信息,生成目标业务信息对应的目标信息标识。基于目标信息标识和当前校验队列中的各个校验业务信息分别对应的校验信息标识,对目标业务信息和各个校验业务信息按照信息标识数值大小进行排序,得到目标校验队列。
上述实施例中,基于目标业务信息中包含的目标业务数据的业务时间、业务标识、用户标识等信息来生成目标信息标识,能够保证目标业务信息对应的目标信息标识是唯一的,进而能够保证通过业务数据处理得到的目标校验队列的唯一性。此外,由于校验队列中的各个校验业务信息是有序排列的,因此在基于校验队列进行业务数据回溯过程中,无需对各个待回溯业务信息进行排序,直接基于各个待回溯业务信息在校验队列中的顺序,将各个待回溯业务信息写入校验队列和业务队列,能够提高业务数据处理的效率。
在一个实施例中,业务数据处理方法还包括:
获取目标业务对应的待写入业务信息集合;待写入业务信息集合包括多个待写入业务信息,各个待写入业务信息携带对应的业务分区标识;基于业务分区标识,将待写入业务信息集合中的各个待写入业务信息写入消息平台中对应的业务分区,以使消息平台基于待写入业务信息集合更新待读取业务信息集合和备份业务信息集合,当更新成功时,消息平台返回确认通知;确认通知用于作为下一待写入业务信息集合写入消息平台的启动信号。
其中,待写入业务信息是指待写入消息平台的各个业务信息。待写入业务信息集合是指由目标业务对应的各个待写入业务信息组成的集合。
业务分区标识用于指示待写入业务信息在消息平台中对应的业务分区。例如,当目标业务对应三个业务分区,分别为a、b和c,且待写入业务信息A携带的业务分区标识为a时,则说明待写入业务信息A应该写入目标业务对应的业务分区a中。
待读取业务信息集合是指由消息平台中目标业务对应的各个业务分区中分别存储的各个业务信息组成的集合。备份业务信息集合是指消息平台中待读取业务信息集合的备份。
示例性地,服务器获取目标业务对应的待写入业务信息集合,基于待写入业务信息对应的业务分区标识,将待写入业务信息集合中的各个待写入业务信息分别写入消息平台中对应的业务分区,得到待读取业务信息集合。使得消息平台基于目标业务对应的各个业务分区中存储的各个待写入业务信息,进行业务信息备份,即将各个待写入业务信息写入消息平台对应的各个备份分区中,得到备份业务信息集合。当待读取业务信息集合和备份业务信息集合更新成功时,消息平台返回确认通知,服务器接收到确认通知后,开始继续获取下一待写入业务信息集合。
上述实施例中,在各个待写入业务信息写入消息平台后,使得消息平台基于各个业务分区中存储的待写入业务信息,更新备份业务信息集合,在备份业务信息集合更新成功后返回确认通知,通知服务器继续获取待写入业务信息集合,能够保证业务数据写入消息平台的可靠性,并且在待写入业务信息集合出现异常时,能够通过备份业务信息集合来保证业务数据处理的正常进行,充分保证了数据状态一致性。
在一个具体的实施例中,本申请的业务数据处理方法可以应用于单据处理系统,例如,单据处理系统可以为基于Flink(开源流处理框架)构建的系统。
业务数据处理方法包括以下步骤:
1、单据信息写入消息平台
如图4所示,单据处理系统获取生产端生产的多个目标业务对应的待写入单据信息,将各个待写入单据信息分别写入分布式消息平台中对应的业务分区。例如,分布式消息平台可以为kafka,kafka为一种高吞吐量的分布式发布订阅消息系统,使用kafka作为分布式消息平台,能够提高并发写消息的性能,并且在读取消息时能够从不同的分区消费消息,提高了读消息的能力。
2、获取当前单据信息
单据处理系统从分布式消息平台上目标业务对应的多个业务分区中,同步获取目标业务对应的候选单据信息,得到多个候选单据信息,从各个候选单据信息中确定当前单据信息。
3、写入单据队列
获取目标业务对应的最新单据信息和最早单据信息。最新单据日期中维护了当前业务队列中单据日期最新的单据信息对应的消费位点(即数据位点)和单据日期(即业务时间),最早单据日期中维护了当前业务队列中,最近一次引起单据信息回溯的单据信息对应的消费位点和单据日期。
在一个实施例中,最新单据信息(即参考业务信息)和最早单据信息(即起始业务信息)的格式可以为MapState<id,offset,bill_date>,其中,id为0表示为最早单据信息,id为1表示为最新单据信息,offset为单据信息对应的消费位点,bill_date为单据对应的单据日期,即<标识,消费位点,单据日期>。
如图4所示,对比当前单据信息的当前单据日期和最新单据信息的最新单据日期,当当前单据日期为最新单据日期的后向时间时,基于当前单据信息更新最新单据信息,将当前单据信息分别写入当前校验队列和当前业务队列的队尾得到目标校验队列和目标业务队列。
当当前单据日期为最新单据日期的非后向时间时,基于当前单据信息更新最早单据信息,基于最新单据信息和更新后的最早单据信息,从当前校验队列中确定待回溯单据信息,将当前单据信息分别写入当前校验队列和当前单据队列中作为待回溯单据信息的前向业务信息,得到目标校验队列和目标单据队列。
上述实施例中,通过从分布式消息平台上目标业务对应的多个业务分区中同步获取目标业务对应的候选单据信息,能够提高读消息的能力。此外,由于校验队列可以存储在HBase(分布式的、面向列的开源数据库)中,在Hbase中,数据是按照Rowkey(行键)进行有序排列的,能够与Flink试试处理的数据进行数据校验,以充分保证数据状态的一致性。Flink是一种面向分布式数据流处理和批量数据处理的开源计算框架,被广泛应用于数据处理领域,具有批流一体化、精密的状态管理、事件时间支持以及精确的状态一致性保障等,其状态可以达到TB级别,且仍能保持高吞吐、低延迟的特性。然而Flink框架不支持顺序读写,无法满足业务实时性,因此通过本方案提出的业务数据处理方法,能够实现一种基于Flink框架的顺序读写方法,实现Flink框架能够根据业务需求将数据按照顺序读写入多个节点,提高了业务数据处理的效率和实时性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的业务数据处理方法的业务数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个业务数据处理装置实施例中的具体限定可以参见上文中对于业务数据处理方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种业务数据处理装置,包括:候选信息获取模块502、目标信息确定模块504、业务信息确定模块506和目标队列确定模块508,其中:
候选信息获取模块502,用于从消息平台上目标业务对应的多个业务分区中,同步获取目标业务对应的候选业务信息,得到多个候选业务信息。
目标信息确定模块504,用于从各个候选业务信息中确定目标业务信息;目标业务信息包括目标业务数据和目标业务数据对应的目标业务时间。
业务信息确定模块506,用于获取目标业务对应的起始业务信息和参考业务信息;起始业务信息包括起始业务时间,参考业务信息包括参考业务时间。
目标队列确定模块508,用于当目标业务时间为参考业务时间的后向时间时,基于目标业务信息更新参考业务信息,将目标业务信息分别写入当前校验队列和当前业务队列的队尾,得到目标校验队列和目标业务队列。
目标队列确定模块508,还用于当目标业务时间为参考业务时间的非后向时间时,基于目标业务信息更新起始业务信息,基于参考业务信息和更新后的起始业务信息,从当前校验队列中确定待回溯业务信息,将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列;目标校验队列和目标业务队列用于作为下一个目标业务信息待写入的当前校验队列和当前业务队列。
上述业务数据处理装置,通过从消息平台对应的多个分区中,同步获取目标业务对应的候选业务信息,并从各个候选业务信息中确定目标业务信息,目标业务信息包括目标业务数据和目标业务时间。进而获取目标业务对应的起始业务信息和参考业务信息,起始业务信息包括起始业务时间,参考业务信息包括参考业务时间。在将目标业务信息写入当前校验队列和当前业务队列前,对比目标业务时间和参考业务时间。当目标业务时间为参考业务时间的后向时间时,用目标业务信息更新参考业务信息,并将目标业务信息分别写入当前校验队列和当前业务队列的队尾,得到目标校验队列和目标业务队列。当目标业务时间为参考业务时间的非后向时间时,用目标业务信息更新起始业务信息,并基于参考业务信息和更新后的起始业务信息,从当前校验队列中确定待回溯业务信息,将目标业务信息分别写入当前校验队列和当前业务队列中作为待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列。这样,在目标业务时间为参考业务时间的非后向时间时,能够通过参考业务信息和更新后的起始业务信息从当前校验队列中确定需要回溯的待回溯业务信息,进而将目标业务信息分别写入到当前校验队列和当前目标业务队列中作为待回溯业务信息的前向业务信息,能够保证在多个业务分区中同步读取数据时,读取到的数据是有序的,提高了数据处理的有序性,此外,只需要回溯部分数据即可实现数据的顺序读取,有效降低了数据回溯的成本,提高了业务数据处理效率。
在一个实施例中,目标队列确定模块508还用于:
基于参考业务时间和目标业务时间,在当前校验队列中确定待回溯业务信息;从当前校验队列和当前业务队列中移除待回溯业务信息,得到初始校验队列和初始业务队列;将目标业务信息分别写入初始校验队列和初始业务队列,得到中间校验队列和中间业务队列;将各个待回溯业务信息写入中间校验队列和中间业务队列,得到目标校验队列和目标业务队列。
在一个实施例中,目标队列确定模块508还用于:
基于所述目标业务信息,生成所述目标业务信息对应的目标信息标识;基于所述目标信息标识和所述当前校验队列中各个校验业务信息分别对应的校验信息标识,对所述目标业务信息和所述各个校验业务信息进行排序,得到目标校验队列;其中,信息标识的排序和业务时间的排序匹配。
在一个实施例中,如图6所示,业务数据处理装置还包括:
业务信息回溯模块602,用于基于目标业务信息更新起始业务信息;基于目标数据位点和起始数据位点,在消息平台中确定各个待回溯业务信息;基于各个待回溯业务信息分别对应的信息业务时间,确定各个待回溯业务信息分别对应的写入顺序;从当前校验队列和当前业务队列中移除各个待回溯业务信息,得到初始校验队列和初始业务队列;基于目标业务信息和待回溯业务数据分别对应的写入顺序,将目标业务信息和各个待回溯业务信息依次写入初始校验队列和初始业务队列,得到目标校验队列和目标业务队列;目标业务信息对应的写入顺序在待回溯业务数据对应的写入顺序之前。
业务信息校验模块604,用于对待回溯业务信息进行统计,得到预期回溯数据量;在待回溯业务信息对应的信息数据位点中,确定位点最大值和位点最小值;基于位点最大值和位点最小值,计算预期回溯数据量;当预期回溯数据量和预期回溯数据量不同时,重新从消息平台获取目标业务对应的各个历史读取业务数据;历史读取业务数据对应的数据量等于预期回溯数据量。
业务信息写入模块606,用于获取目标业务对应的待写入业务信息集合;待写入业务信息集合包括多个待写入业务信息,各个待写入业务信息携带对应的业务分区标识;基于业务分区标识,将待写入业务信息集合中的各个待写入业务信息写入消息平台中对应的业务分区,以使消息平台基于待写入业务信息集合更新待读取业务信息集合和备份业务信息集合,当更新成功时,消息平台返回确认通知;确认通知用于作为下一待写入业务信息集合写入消息平台的启动信号。
上述业务数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储当前校验队列、当前业务队列、目标业务信息等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务数据处理方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种业务数据处理方法,其特征在于,所述方法包括:
从消息平台上目标业务对应的多个业务分区中,同步获取所述目标业务对应的候选业务信息,得到多个候选业务信息;
从各个候选业务信息中确定目标业务信息;所述目标业务信息包括目标业务数据和所述目标业务数据对应的目标业务时间;
获取所述目标业务对应的起始业务信息和参考业务信息;所述起始业务信息包括起始业务时间,所述参考业务信息包括参考业务时间;
当所述目标业务时间为所述参考业务时间的后向时间时,基于所述目标业务信息更新所述参考业务信息,将所述目标业务信息分别写入当前校验队列和当前业务队列的队尾,得到目标校验队列和目标业务队列;
当所述目标业务时间为所述参考业务时间的非后向时间时,基于所述目标业务信息更新所述起始业务信息,基于所述参考业务信息和更新后的起始业务信息,从所述当前校验队列中确定待回溯业务信息,将所述目标业务信息分别写入所述当前校验队列和所述当前业务队列中作为所述待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列;目标校验队列和目标业务队列用于作为下一个目标业务信息待写入的当前校验队列和当前业务队列。
2.根据权利要求1所述的方法,其特征在于,所述基于所述参考业务信息和更新后的起始业务信息,从所述当前校验队列中确定待回溯业务信息,将所述目标业务信息分别写入所述当前校验队列和所述当前业务队列中作为所述待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列,包括:
基于所述参考业务时间和所述目标业务时间,在所述当前校验队列中确定待回溯业务信息;
从所述当前校验队列和所述当前业务队列中移除所述待回溯业务信息,得到初始校验队列和初始业务队列;
将所述目标业务信息分别写入所述初始校验队列和所述初始业务队列,得到中间校验队列和中间业务队列;
将所述各个待回溯业务信息写入所述中间校验队列和所述中间业务队列,得到目标校验队列和目标业务队列。
3.根据权利要求1所述的方法,其特征在于,所述目标业务信息还包括目标数据位点,所述起始业务信息还包括起始数据位点,当所述目标业务时间为所述参考业务时间的非后向时间时,所述方法还包括:
基于所述目标业务信息更新所述起始业务信息;
基于所述目标数据位点和所述起始数据位点,在所述消息平台中确定各个待回溯业务信息;
基于所述各个待回溯业务信息分别对应的信息业务时间,确定各个待回溯业务信息分别对应的写入顺序;
从所述当前校验队列和所述当前业务队列中移除所述各个待回溯业务信息,得到初始校验队列和初始业务队列;
基于所述目标业务信息和所述待回溯业务数据分别对应的写入顺序,将所述目标业务信息和所述各个待回溯业务信息依次写入所述初始校验队列和所述初始业务队列,得到目标校验队列和目标业务队列;所述目标业务信息对应的写入顺序在所述待回溯业务数据对应的写入顺序之前。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对待回溯业务信息进行统计,得到实际回溯数据量;
在所述待回溯业务信息对应的信息数据位点中,确定位点最大值和位点最小值;
基于所述位点最大值和所述位点最小值,计算预期回溯数据量;
当所述预期回溯数据量和所述预期回溯数据量不同时,重新从所述消息平台获取所述目标业务对应的各个历史读取业务数据;所述历史读取业务数据对应的数据量等于所述预期回溯数据量。
5.根据权利要求1所述的方法,其特征在于,将所述目标业务信息写入当前校验队列,得到目标校验队列,包括:
基于所述目标业务信息,生成所述目标业务信息对应的目标信息标识;
基于所述目标信息标识和所述当前校验队列中各个校验业务信息分别对应的校验信息标识,对所述目标业务信息和所述各个校验业务信息进行排序,得到目标校验队列;其中,信息标识的排序和业务时间的排序匹配。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标业务对应的待写入业务信息集合;所述待写入业务信息集合包括多个待写入业务信息,各个待写入业务信息携带对应的业务分区标识;
基于所述业务分区标识,将所述待写入业务信息集合中的各个待写入业务信息写入所述消息平台中对应的业务分区,以使所述消息平台基于所述待写入业务信息集合更新待读取业务信息集合和备份业务信息集合,当更新成功时,所述消息平台返回确认通知;所述确认通知用于作为下一待写入业务信息集合写入所述消息平台的启动信号。
7.一种业务数据处理装置,其特征在于,所述装置包括:
候选信息获取模块,用于从消息平台上目标业务对应的多个业务分区中,同步获取所述目标业务对应的候选业务信息,得到多个候选业务信息;
目标信息确定模块,用于从各个候选业务信息中确定目标业务信息;所述目标业务信息包括目标业务数据和所述目标业务数据对应的目标业务时间;
业务信息确定模块,用于获取所述目标业务对应的起始业务信息和参考业务信息;所述起始业务信息包括起始业务时间,所述参考业务信息包括参考业务时间;
目标队列确定模块,用于当所述目标业务时间为所述参考业务时间的后向时间时,基于所述目标业务信息更新所述参考业务信息,将所述目标业务信息分别写入当前校验队列和当前业务队列的队尾,得到目标校验队列和目标业务队列;
目标队列确定模块,还用于当所述目标业务时间为所述参考业务时间的非后向时间时,基于所述目标业务信息更新所述起始业务信息,基于所述参考业务信息和更新后的起始业务信息,从所述当前校验队列中确定待回溯业务信息,将所述目标业务信息分别写入所述当前校验队列和所述当前业务队列中作为所述待回溯业务信息的前向业务信息,得到目标校验队列和目标业务队列;目标校验队列和目标业务队列用于作为下一个目标业务信息待写入的当前校验队列和当前业务队列。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310226079.9A CN116302608A (zh) | 2023-02-28 | 2023-02-28 | 业务数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310226079.9A CN116302608A (zh) | 2023-02-28 | 2023-02-28 | 业务数据处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116302608A true CN116302608A (zh) | 2023-06-23 |
Family
ID=86782900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310226079.9A Pending CN116302608A (zh) | 2023-02-28 | 2023-02-28 | 业务数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302608A (zh) |
-
2023
- 2023-02-28 CN CN202310226079.9A patent/CN116302608A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112286939B (zh) | 块链式账本中全局状态的哈希的生成方法、装置及设备 | |
CN111444192B (zh) | 块链式账本中全局状态的哈希的生成方法、装置及设备 | |
CN115686881A (zh) | 数据处理方法、装置和计算机设备 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN114297196A (zh) | 元数据存储方法、装置、电子设备及存储介质 | |
CN112948380A (zh) | 基于大数据的数据存储方法、装置、电子设备及存储介质 | |
CN116303789A (zh) | 多分片多副本数据库并行同步方法、装置及可读介质 | |
CN116302608A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN116339626A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN115809311A (zh) | 知识图谱的数据处理方法、装置及计算机设备 | |
CN115730016B (zh) | 数据同步方法、系统、装置、计算机设备和存储介质 | |
CN116932779B (zh) | 知识图谱的数据处理方法和装置 | |
CN114138196A (zh) | 电力系统数据存储方法、装置、计算机设备和存储介质 | |
CN118132562A (zh) | 数据关联方法、装置、存储介质以及终端 | |
CN117033172A (zh) | 测试数据处理方法、装置、设备、存储介质和程序产品 | |
CN118626538A (zh) | 数据追溯方法、装置、计算机设备和可读存储介质 | |
CN117667865A (zh) | 数据分布式存储方法、装置、设备及介质 | |
CN117075951A (zh) | 程序维护方法、装置、计算机设备和存储介质 | |
CN117391856A (zh) | 交易数据处理方法、装置、计算机设备和存储介质 | |
CN117350689A (zh) | 消息通知方法、装置、计算机设备和存储介质 | |
CN116756243A (zh) | 金融业务系统中数据同步方法、装置、设备、介质和产品 | |
CN117056426A (zh) | 金融信贷场景下的数据链式存储方法、装置和系统 | |
CN117950693A (zh) | 应用服务部署方法、装置、计算机设备和存储介质 | |
CN117435668A (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN117978859A (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 |