CN112463411A - 数据处理方法、装置、服务器及存储介质 - Google Patents
数据处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN112463411A CN112463411A CN202011455610.2A CN202011455610A CN112463411A CN 112463411 A CN112463411 A CN 112463411A CN 202011455610 A CN202011455610 A CN 202011455610A CN 112463411 A CN112463411 A CN 112463411A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- server
- check
- processing method
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
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示出了本发明实施例提供的另一种数据处理方法的流程图。
图8示出了本发明实施例提供的另一种数据处理方法的流程图。
图9示出了本发明实施例提供的数据处理装置的方框示意图。
图标:10-第一服务器;11-处理器;12-存储器;13-总线;14-通信接口;20-第二服务器;30-第三服务器;100-数据处理装置;110-获取模块;120-判断模块;130-处理模块;140-恢复模块;150-更新模块;160-清除模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
当前,大数据的背景下,随着分布式计算的发展,同步处理的方式的弊端逐渐显现,由于负责数据生成的生产者和负责处理数据的消费者之间的同步不匹配,同步处理方式往往会造成数据的丢失,而异步处理的方式,由于对生产者生成的数据进行了暂存,从而解决了同步方式存在的数据丢失的问题。为了实现生产者和消费者之间的解耦,通常采用消息中间件对生产者生成的数据进行暂存。请参照图1,图1示出了本发明实施例提供的应用场景示意图,图1中,第一服务器10为负责数据处理的消费者,第二服务器20为运行有消息中间件的服务器,负责对数据进行暂存,第三服务器为负责数据生成的生产者。生产者生成数据,将生成数据发送至消息中间件进行暂存,消费者从消息中间件获取数据并对获取到的数据进行处理,例如,将获取到的数据存储于预设数据库中。
在本实施例中,消息中间件可以、但不限于kakfa、ActiveMQ、RabbitMQ等。
在本实施例中,第一服务器10、第二服务器20、第三服务器30均可以是实体计算机或者能实现与实体计算机相同功能的虚拟机、可以是一台服务器,也可以是多台服务器组成的服务器集群等。
需要说明的是,消息中间件可以运行于独立的第二服务器20上,也可以作为软件功能模块运行于第一服务器10或者第三服务器30上。
在图1的基础上,本发明实施例提供了图1中第一服务器10的方框示意图,请参照图2,图2示出了本发明实施例提供的第一服务器10的方框示意图。
第一服务器10包括处理器11、存储器12、总线13、通信接口14。处理器11、存储器12通过总线13连接,处理器11通过通信接口14与第二服务器20通信。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储程序,例如本发明实施例中的数据处理装置100,数据处理装置100包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现本发明实施例中的数据处理方法。
存储器12可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory)。可选地,存储器12可以是内置于处理器11中的存储装置,也可以是独立于处理器11的存储装置。
总线13可以是ISA总线、PCI总线或EISA总线等。图2仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
请参照图3,图3示出了本发明实施例提供的一种数据处理方法的流程图,该方法应用于图1和图2中的第一服务器10,该方法包括以下步骤:
步骤S100,通过消息中间件获取待处理数据,其中,待处理数据包括用于唯一表征待处理数据的标识。
在本实施例中,生产者在生成数据时,会生成一个用于唯一表征该数据的标识,并将该数据及其标识发送至消息中间件进行暂存,消费者将该数据从中间件中取出后对数据进行处理后存储至数据表中。该数据表可以预先存储于第一服务器10上,也可以是预先存储于与第一服务器10通信连接的外部数据库服务器中。
在本实施例中,待处理数据的标识可以由生成时间、服务名、模块编号中的两个或者多个组成。
步骤S110,若存在与数据表相关的校验表,则利用校验表判断数据表中是否存在待处理数据,其中,数据表包括标识字段,校验表的主键与数据表的标识字段相关。
在本实施例中,校验表设置有主键,主键是被挑选出、用于唯一标识的候选字段,主键可以由一个字段组成,也可以由多个字段组成。通常主键的作用有四个:①可以保证实体的完整性;②能够加快数据库的操作速度;③在表中添加新记录时,会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;④自动按主键值的顺序显示表中的记录。因此,校验表设置主键后,在向校验表中存储数据的标识时,会首先触发主键校验,即判断待存储数据的主键的值是否已经存在,若已经存在,则主键校验失败,意味着该数据为重复数据,已经在数据表中,向校验表中存储数据的标识失败,否则,则主键校验成功,意味着该数据不为重复数据,不在数据表中,向校验表中存储数据的标识成功。
在本实施例中,校验表的主键是与数据表的标识字段相关的,例如,校验表的主键可以是数据表的标识字段,也可以是数据表的标识字段与其他字段综合而成的。例如,数据表包括字段A、字段B、字段C,其中,字段A为标识字段,即数据表中不存在字段A的值相同的两条记录,该数据表相关的校验表包括字段A,并且将字段A设置为主键。
在本实施例中,校验表中的字段数目可以小于数据表,例如,校验表中包括字段A,数据表中包括字段A、B和C,或者校验表中的数据条数小于数据表,例如,数据表中存储近一年的数据,数据条数上万条,校验表中存储近一天的数据,数据条数只有数千条。由于校验表中的数据量小于数据表中的数据量,校验表设置主键,数据表无需设置主键,且主键与数据表的标识字段相关,因此,利用校验表可以快速地判断待处理数据是否为数据表中的重复数据。
步骤S120,若数据表中不存在待处理数据,则对待处理数据进行处理。
在本实施例中,数据表中不存在待处理数据,意味着待处理数据非重复数据,此时需要对待处理数据进行处理,处理后将待处理数据存储至数据表中,需要说明的是,待处理数据的标识会对应存储至数据表中的标识字段的对应位置。
本发明实施例提供的上述方法,通过为数据表设置校验表,保证了数据的全面性,增加了数据的可靠性,根据数据表的标识字段确定校验表的主键,可以根据校验表的主键判断数据表中是否存在重复的待处理数据,从而提高了重复数据的校验效率,最终提高了数据处理的效率。
在图3的基础上,本发明实施例还提供了一种判断数据表中是否存在待处理数据的具体实现方式,请参照图4,图4示出了本发明实施例提供的另一种数据处理方法的流程图,步骤S110包括以下子步骤:
子步骤S1101,利用校验表对待处理数据的标识进行主键校验。
在本实施例中,由于校验表的主键与数据表的标识字段相关,数据表的标识字段是唯一表征数据的字段,因此,可以通过校验表对待处理数据的标识进行主键校验,依据主键校验结果判断待处理数据是否为数据表中的重复数据。
子步骤S1102,若待处理数据的标识通过主键校验,则判定数据表中不存在待处理数据、并将待处理数据的标识存储至校验表。
子步骤S1103,若待处理数据的标识未通过主键校验,则判定数据表中存在待处理数据。
在本实施例中,若待处理数据的标识未通过主键校验,则待处理数据的标识不会存储至校验表。
本发明实施例提供的上述方法,通过对待处理数据的标识进行主键校验判断待处理数据是否为重复数据,提高了判断的效率。
在本实施例中,在***最开始时,校验表尚未创建,此时为了后续可以根据校验表进行重复数据判断,需要首先创建校验表,并为新创建的校验表设置主键,因此,本发明实施例还提供另一种数据处理方法,请参照图5,图5示出了本发明实施例提供的另一种数据处理方法的流程图,该方法还包括:
步骤S130,若不存在与数据表相关的校验表,则创建校验表,并依据数据表的标识字段确定校验表的主键。
本发明实施例提供的上述方法,在创建校验表的同时设置校验表的主键,可以最大限度地减少创建校验表对后续数据处理效率的影响。
在本实施例中,为了记录消费者从消息中间件取数据的位置,消费者通常会在消息中间件设置一个第二偏移量,以表征当前待处理数据的位置,消费者在将数据处理完毕后,通常会设置一个第一偏移量,以表征当前已处理数据的位置,正常情况下,第一偏移量和第二偏移量是同步的,或者是基本同步的。但是当消息中间件出现异常时,例如,消费者写第二偏移量失败,或者消费者处理数据失败,或者消费者写第一偏移量失败,此时,需要进行数据回滚,将已经存储的数据恢复至之前的状态,第一偏移量和第二偏移量也需要进行同步回滚至之前的状态,为了避免数据恢复时有遗漏,本发明实施例还提供了一种异常恢复的具体实施方式,请参照图6,图6示出了本发明实施例提供的另一种数据处理方法的流程图,该方法包括:
步骤S200,当检测到消息中间件进行异常恢复时,将第一偏移量和第二偏移量之中较小的作为起始位置。
在本实施例中,第一偏移量和第二偏移量随着数据的处理不断递增的,因此,将第一偏移量和第二偏移量中较小的位置作为恢复的起始位置,使起始位置对应较早处理的数据,为了避免数据的遗漏,从起始位置处(也即是较早的数据)的数据开始进行数据恢复。例如,第一偏移量为1000,第二偏移量为998,则起始位置为998,从998位置的数据进行数据恢复。
步骤S210,从消息中间件的起始位置处的数据对数据表和校验表进行更新,以进行数据异常恢复。
在本实施例中,从起始位置处的数据进行数据异常恢复的过程和前述步骤S100~S120类似,从起始位置处开始,依次取出待恢复数据,利用校验表判断待恢复数据是否已经存在于数据表中,若存在则忽略该待恢复数据,继续进行下一条数据的恢复,否则对该待恢复数据进行处理,并存储至数据表中。
在本实施例中,为了使第一偏移量和第二偏移量一直处于正确的位置,本发明实施例还提供了一种对第一偏移量和第二偏移量进行更新的具体实施方式,请参照图7,图7示出了本发明实施例提供的另一种数据处理方法的流程图,该方法包括步骤S101和步骤S131。
步骤S101,控制消息中间件更新第二偏移量。
在本实施例中,更新第二偏移量可以是第一服务器10通过消息中间件获取待处理数据后进行,第一服务器10通过控制第二服务器20更新第二服务器20中的第二偏移量,使第二偏移量指向下一个需要获取的待处理数据。
步骤S121,将待处理数据存储至数据表、并更新第一偏移量。
在本实施例中,更新第一偏移量可以在对待处理数据进行处理之后进行,在需要对待处理数据进行存储的应用场景中,对待处理数据处理后,还需要将待处理数据存储至数据表中,在存储成功后再更新第一偏移量,使第一偏移量指向当前已处理数据。
需要说明的是,进行数据恢复时也可以按照不受S101和步骤S131对第二偏移量和第一偏移量进行更新,以使数据恢复后,第二偏移量和第一偏移量指向正确的位置。
在本实施例中,为了避免校验表中的数据量过大影响重复数据判断的效率,需要对校验表中的数据进行适当清理,以使校验表中只保存预设数量的数据,因此,本发明实施例还提供一种清除校验表中的数据的方法,请参照8,图8示出了本发明实施例提供的另一种数据处理方法的流程图,该方法包括以下步骤:
步骤S300,从校验表中每条数据记录的标识字段中解析出每条数据记录的生成时间。
在本实施例中,校验表包括多条数据记录,每条数据记录的标识字段的值为该数据记录的标识,该标识是根据每条数据记录的生成时间确定的,例如,标识可以是生成时间和流水号组成,在存在多种类型的服务的场景下,还可以为每一服务的类型设置一个唯一编码,此时,标识可以是生成时间、服务名、服务类型的编码及流水号组成。例如,每个服务的类型均被定义为一个唯一编码,编码位数为2位,如person:01,face:02,每种类型的服务也则根据pods的编码进行编码,编码位数为2位,如person-pod-0,则编号为00,person-pod-1,则编号为01,同种类型的服务编号唯一。四位流水处理好通过pod的编号进行划片分配,4位流水号总计1万条数据,若同种类型的服务为N个,则一个服务的编号数量为10000/N,若存在余数,则把编号全部给到服务编号最后一个。标识生成规则总体为:时间20201024000000+类型编号01+服务编号01+流水号4位。本实施例提供的标识生成规则,可以最大程度避免主键重复,防止数据丢失。
在本实施例中,生产者按照标识的生成规则为生产的数据生成标识,将该标识和对应的数据发送至消息中间件进行暂存,消费者从消息中间件中取出该数据及对应的标识,将该数据的标识存储至校验表,并将该数据及该数据的标识存储至数据表。
步骤S310,将校验表中生成时间在预设时段内的数据记录清除。
在本实施例中,可以预先设置预设时段,校验表中只存储预设时段内的数据,可以根据预设周期对校验表中的数据进行清除,使校验表中只存储预设时段内的数据。例如,预设周期为一天,预设时段为最近3天,每天凌晨3点时,则从校验表中每条数据记录的标识字段解析出该数据记录的生成时间,删除2日之前的所有数据,保证校验表中只存储最近3天的数据。
本发明实施例提供的上述方法,通过定期删除子表中的数据,来维持子表中的数据为一个相对小的一个数据量,加快了重复数据的校验速度。
为了更清楚地说明上述实施例提供的数据处理方案,本发明实施例还提供一个具体例子进行详细说明,以消息中间件为kafaka为例进行说明。
例如,车辆消费服务的编号为01,数量为4个,校验表的预设时段为1天,当前时间为2020年10月24日05时04分02秒。
数据的处理过程如下:
首先,服务初始化过程中会加载内置的初始化数据,以车辆01进行加载,因数量为4个,故数量为00到03,每个服务的处理序列号分别为00-03:0000-2499,2500-4999,000-7499,7500-9999;此时数据为pod0进行处理,且这秒钟只处理这一条数据,则根据上述实施例的标识生成规则生成的标识为2020102405040201000000。在数据生成标识并完成相应业务处理后,数据被存放至kafka中。
其次,消费者服务监听到kakfa中第二偏移量存在更新,就会去消费kafka中的数据,消费到服务内存中后将马上更新kafka侧的第二偏移量,然后确认是否存在24日的校验表,若不存在,则创建校验表;若存在,则判断从kakfa消费的数据的标识与当前校验表中的标识是否存在一致,若存在一致数据,则将此数据丢弃,若不存在一致,则继续比对其他数据,比对处理完成后,统一通过copyin的方法将数据存储至数据表,不管是否有新数据写入校验表中,均需要更新第一偏移量。
校验表中的数据清除过程如下:校验表中只存储数据表的标识字段的数据,数据表中存储数据的所有字段的数据。当时间为2020年10月25日凌晨3点,则新建25/26/27日的校验表,若存在则跳过。新建校验表完成后,清理子表中过期数据,因留存期仅1天,过期的数据应该为24日之前的数据,包括23号的所有数据。
为了执行上述数据处理方法的实施例及各个可能的实施方式中的相应步骤,下面给出一种数据处理装置100的实现方式。请参照图9,图9示出了本发明实施例提供的数据处理装置100的方框示意图。需要说明的是,本实施例所提供的数据处理装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
数据处理装置100包括获取模块110、判断模块120、处理模块130、恢复模块140、更新模块150及清除模块160。
获取模块110,用于通过消息中间件获取待处理数据,其中,待处理数据包括用于唯一表征待处理数据的标识。
判断模块120,用于若存在与数据表相关的校验表,则利用校验表判断数据表中是否存在待处理数据,其中,数据表包括标识字段,校验表的主键与数据表的标识字段相关。
作为一种具体实施方式,判断模块120具体用于:利用校验表对待处理数据的标识进行主键校验;若待处理数据的标识通过主键校验,则判定数据表中不存在待处理数据、并将待处理数据的标识存储至校验表;若待处理数据的标识未通过主键校验,则判定数据表中存在待处理数据。
作为一种具体实施方式,判断模块120还用于:若不存在与数据表相关的校验表,则创建校验表,并依据数据表的标识字段确定校验表的主键。
处理模块130,用于若数据表中不存在待处理数据,则对待处理数据进行处理。
恢复模块140,用于:当检测到消息中间件进行异常恢复时,将第一偏移量和第二偏移量之中较小的作为起始位置;从消息中间件的起始位置处的数据对数据表和校验表进行更新,以进行数据异常恢复。
更新模块150,用于控制所述消息中间件更新所述第二偏移量。
作为一种具体实施方式,更新模块150还用于:将待处理数据存储至数据表、并更新第一偏移量。
清除模块160,用于:从校验表中每条数据记录的标识字段中解析出每条数据记录的生成时间;将校验表中生成时间在预设时段内的数据记录清除。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的数据处理方法。
综上所述,本发明实施例提供了一种数据处理方法、装置、服务器及存储介质,应用于第一服务器,第一服务器与运行有消息中间件的第二服务器通信连接,第一服务器包括数据表,所述方法包括:通过消息中间件获取待处理数据,其中,待处理数据包括用于唯一表征待处理数据的标识;若存在与数据表相关的校验表,则利用校验表判断数据表中是否存在待处理数据,其中,数据表包括标识字段,校验表的主键与数据表的标识字段相关;若数据表中不存在待处理数据,则对待处理数据进行处理。相对于现有技术,本发明实施例根据数据表的标识字段确定校验表的主键,可以根据校验表判断数据表中是否存在重复的待处理数据,从而提高了重复数据的校验效率,最终提高了数据处理的效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据处理方法,其特征在于,应用于第一服务器,所述第一服务器与运行有消息中间件的第二服务器通信连接,所述第一服务器包括数据表,所述方法包括:
通过所述消息中间件获取待处理数据,其中,所述待处理数据包括用于唯一表征所述待处理数据的标识;
若存在与所述数据表相关的校验表,则利用校验表判断所述数据表中是否存在所述待处理数据,其中,所述数据表包括标识字段,所述校验表的主键与所述数据表的标识字段相关;
若所述数据表中不存在所述待处理数据,则对所述待处理数据进行处理。
2.如权利要求1所述的数据处理方法,其特征在于,所述利用校验表判断所述数据表中是否存在所述待处理数据的步骤包括:
利用所述校验表对所述待处理数据的标识进行主键校验;
若所述待处理数据的标识通过主键校验,则判定所述数据表中不存在所述待处理数据、并将所述待处理数据的标识存储至所述校验表;
若所述待处理数据的标识未通过主键校验,则判定所述数据表中存在所述待处理数据。
3.如权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
若不存在与所述数据表相关的校验表,则创建校验表,并依据所述数据表的标识字段确定所述校验表的主键。
4.如权利要求1所述的数据处理方法,其特征在于,所述第一服务器存储有第一偏移量,所述第一偏移量用于表征当前已处理数据的位置,所述第二服务器存储有第二偏移量,所述第二偏移量用于表征当前待处理数据的位置,所述方法还包括:
当检测到所述消息中间件进行异常恢复时,将所述第一偏移量和所述第二偏移量之中较小的作为起始位置;
从所述消息中间件的所述起始位置处的数据对所述数据表和所述校验表进行更新,以进行数据异常恢复。
5.如权利要求4所述的数据处理方法,其特征在于,所述通过所述消息中间件获取待处理数据的步骤之后还包括:
控制所述消息中间件更新所述第二偏移量。
6.如权利要求4所述的数据处理方法,其特征在于,所述对所述待处理数据进行处理的步骤之后还包括:
将所述待处理数据存储至所述数据表、并更新所述第一偏移量。
7.如权利要求1所述的数据处理方法,其特征在于,所述校验表的主键为所述数据表的标识字段,所述校验表包括多条数据记录,每条所述数据记录的标识字段的值是根据每条所述数据记录的生成时间确定的,所述方法还包括:
从所述校验表中每条所述数据记录的标识字段中解析出每条所述数据记录的生成时间;
将所述校验表中生成时间在预设时段内的数据记录清除。
8.一种数据处理装置,其特征在于,应用于第一服务器,所述第一服务器与运行有消息中间件的第二服务器通信连接,所述第一服务器包括数据表,所述装置包括:
获取模块,用于通过所述消息中间件获取待处理数据,其中,所述待处理数据包括用于唯一表征所述待处理数据的标识;
判断模块,用于若存在与所述数据表相关的校验表,则利用校验表判断所述数据表中是否存在所述待处理数据,其中,所述数据表包括标识字段,所述校验表的主键与所述数据表的标识字段相关;
处理模块,用于若所述数据表中不存在所述待处理数据,则对所述待处理数据进行处理。
9.一种服务器,包括存储器和处理器,其特征在于,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011455610.2A CN112463411A (zh) | 2020-12-10 | 2020-12-10 | 数据处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011455610.2A CN112463411A (zh) | 2020-12-10 | 2020-12-10 | 数据处理方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112463411A true CN112463411A (zh) | 2021-03-09 |
Family
ID=74800755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011455610.2A Pending CN112463411A (zh) | 2020-12-10 | 2020-12-10 | 数据处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463411A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608896A (zh) * | 2021-08-12 | 2021-11-05 | 重庆紫光华山智安科技有限公司 | 一种动态切换数据流的方法、***、介质及终端 |
CN114564253A (zh) * | 2022-03-02 | 2022-05-31 | 重庆紫光华山智安科技有限公司 | 任务创建方法、***、电子设备及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130073593A1 (en) * | 2003-01-15 | 2013-03-21 | Luke Martin Leonard Porter | Bitemporal Relational Databases and Methods of Manufacturing and Use |
CN104754036A (zh) * | 2015-03-06 | 2015-07-01 | 合一信息技术(北京)有限公司 | 一种基于kafka的消息处理***及处理方法 |
CN105812405A (zh) * | 2014-12-29 | 2016-07-27 | 阿里巴巴集团控股有限公司 | 一种处理消息的方法、装置及*** |
CN106776811A (zh) * | 2016-11-23 | 2017-05-31 | 李天� | 数据索引方法及装置 |
CN107633096A (zh) * | 2017-10-13 | 2018-01-26 | 四川长虹电器股份有限公司 | 数据实时写入去重处理方法 |
CN109101528A (zh) * | 2018-06-21 | 2018-12-28 | 深圳市买买提信息科技有限公司 | 数据处理方法、数据处理装置及电子设备 |
CN111626865A (zh) * | 2020-05-22 | 2020-09-04 | 泰康保险集团股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112000489A (zh) * | 2020-07-29 | 2020-11-27 | 新华三大数据技术有限公司 | 一种Kafka数据处理的方法和服务器 |
-
2020
- 2020-12-10 CN CN202011455610.2A patent/CN112463411A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130073593A1 (en) * | 2003-01-15 | 2013-03-21 | Luke Martin Leonard Porter | Bitemporal Relational Databases and Methods of Manufacturing and Use |
CN105812405A (zh) * | 2014-12-29 | 2016-07-27 | 阿里巴巴集团控股有限公司 | 一种处理消息的方法、装置及*** |
CN104754036A (zh) * | 2015-03-06 | 2015-07-01 | 合一信息技术(北京)有限公司 | 一种基于kafka的消息处理***及处理方法 |
CN106776811A (zh) * | 2016-11-23 | 2017-05-31 | 李天� | 数据索引方法及装置 |
CN107633096A (zh) * | 2017-10-13 | 2018-01-26 | 四川长虹电器股份有限公司 | 数据实时写入去重处理方法 |
CN109101528A (zh) * | 2018-06-21 | 2018-12-28 | 深圳市买买提信息科技有限公司 | 数据处理方法、数据处理装置及电子设备 |
CN111626865A (zh) * | 2020-05-22 | 2020-09-04 | 泰康保险集团股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112000489A (zh) * | 2020-07-29 | 2020-11-27 | 新华三大数据技术有限公司 | 一种Kafka数据处理的方法和服务器 |
Non-Patent Citations (1)
Title |
---|
知乎用户DI4RHU: "微服务架构之幂等性问题及设计思想", pages 1, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/74046140?utm_id=0> * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608896A (zh) * | 2021-08-12 | 2021-11-05 | 重庆紫光华山智安科技有限公司 | 一种动态切换数据流的方法、***、介质及终端 |
CN113608896B (zh) * | 2021-08-12 | 2023-09-08 | 重庆紫光华山智安科技有限公司 | 一种动态切换数据流的方法、***、介质及终端 |
CN114564253A (zh) * | 2022-03-02 | 2022-05-31 | 重庆紫光华山智安科技有限公司 | 任务创建方法、***、电子设备及可读存储介质 |
CN114564253B (zh) * | 2022-03-02 | 2023-06-09 | 重庆紫光华山智安科技有限公司 | 任务创建方法、***、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060090103A1 (en) | Critical path profiling of threaded programs | |
CN112463411A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN109408262B (zh) | 一种业务数据处理方法及相关设备 | |
CN109462507B (zh) | 配置更新方法、装置、***及电子设备 | |
CN112817625A (zh) | ***升级方法、装置、电子设备及存储介质 | |
US20200226037A1 (en) | Automated monitoring and auditing failed and recovered batch data tasks | |
CN109684410B (zh) | 一种确定主从数据库同步时延的***、方法及储存介质 | |
US10108474B2 (en) | Trace capture of successfully completed transactions for trace debugging of failed transactions | |
CN112328602B (zh) | 一种数据写入Kafka的方法、装置及设备 | |
CN113468143A (zh) | 数据迁移方法、***、计算设备及存储介质 | |
CN109376141B (zh) | 一种数据迁移方法和装置 | |
US6263495B1 (en) | Method and apparatus for optimizing state transition table used for event-driven software | |
CN110765144B (zh) | 分布式异构数据库数据处理方法及装置 | |
CN113962789A (zh) | 银行对账方法及装置 | |
JP2010152707A (ja) | データベースのバックアップ方法及びデータベースシステム | |
CN111177279A (zh) | 表单保存方法、装置、存储介质及电子设备 | |
JP2018197993A (ja) | 端末装置、サーバ装置、端末装置の制御プログラム、サーバ装置の制御方法、およびシステム | |
CN113613063B (zh) | 应用异常还原方法、设备及存储介质 | |
CN111953506B (zh) | 消息处理方法和处理*** | |
CN116932150A (zh) | 事务处理方法、装置、设备以及存储介质 | |
CN112346786B (zh) | 应用于开机阶段及开机后运行阶段的除错信息纪录方法 | |
CN110362534B (zh) | 一种快照验证方法、***及电子设备和存储介质 | |
CN110990475B (zh) | 批量任务***方法、装置、计算机设备及存储介质 | |
CN117290158A (zh) | 数据恢复方法、装置、电子设备及存储介质 | |
CN115858244A (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 |