一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种重复数据处理的方法、装置及介质与流程

2022-04-27 14:25:30 来源:中国专利 TAG:


1.本发明涉及数据处理领域,特别是涉及一种重复数据处理的方法、装置及介质。


背景技术:

2.在数据库中,通过多种不同的信息来查询相关的数据,在大数据量高并发的场景下,数据量较大,整个查询速度会很慢,需要通过搜索中间件(elastic search,es)来完成查询。以订单数据做列表页的查询为例,在数据变更的通知中,搜索中间件会根据身份标识(identity document,id)数据获取订单单据数据,由于数据库中的数据为关联数据,一个单据数据包含了订单数据和多个审核记录数据,此时搜索中间件对订单的id数据处理多次。在处理过程中,会存在很多无效的重复的数据在搜索中间件处理,而实际只需要处理一次数据即可。
3.通常情况下,数据会频繁的同步,会产生大量的重复单据数据在瞬时区间内频繁的写入搜索中间件,导致搜索中间件的中央处理器(central processing unit,cpu)无效的重复运算而飙升,其造成了性能瓶颈,目前采用扩容搜索中间件来解决技术问题,一台机器的吞吐量有限,针对多个请求的重复数据在有限的时间同时处理使得cpu饱和甚至宕机,因此需要增加多台机器处理大量无效重复数据,但会导致固定资源的费用增加。
4.因此,寻找一种重复数据处理的方法是本领域技术人员亟需要解决的。


技术实现要素:

5.本发明的目的是提供一种重复数据处理的方法、装置及介质,在有限的资源下提高搜索中间件的数据处理量。
6.为解决上述技术问题,本发明提供一种重复数据处理的方法,包括:
7.接收变更数据的请求;
8.获取请求的多个重复数据;
9.将多个重复数据存入至缓存中过滤并获取得到最终数据;
10.将最终数据存入至搜索中间件的索引中以完成索引更新。
11.优选地,将多个重复数据存入至缓存中过滤并获取得到最终数据,包括:
12.将多个重复数据存入至缓存内的过滤缓存中并过滤得到过滤数据;
13.将过滤数据存入至缓存内的执行缓存中;
14.根据过滤数据获取表单数据作为最终数据。
15.优选地,将多个重复数据过滤得到过滤数据,包括:
16.将多个重复数据根据哈希桶算法过滤得到过滤数据。
17.优选地,将多个重复数据过滤得到过滤数据,包括:
18.将多个重复数据根据id数据过滤得到过滤数据。
19.优选地,在接收变更数据的请求之前,还包括:
20.根据数据同步工具监听数据库的变更数据;
21.当监听到变更数据时,则发送变更数据的请求至缓存。
22.优选地,将多个重复数据过滤得到过滤数据,包括:
23.根据过滤的时间间隔将多个重复数据过滤得到过滤数据。
24.优选地,还包括:
25.当最终数据存入至搜索中间件的索引时,输出提示信息。
26.为解决上述技术问题,本发明还提供一种重复数据处理的装置,包括:
27.接收模块,用于接收变更数据的请求;
28.第一获取模块,用于获取请求的多个重复数据;
29.第二获取模块,用于将多个重复数据存入至缓存中过滤并获取得到最终数据;
30.存入模块,用于将最终数据存入至搜索中间件的索引中以完成索引更新。
31.为解决上述技术问题,本发明还提供一种重复数据处理的装置,包括:
32.存储器,用于存储计算机程序;
33.处理器,用于执行计算机程序时实现如上述重复数据处理的方法的步骤。
34.为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述重复数据处理的方法的步骤。
35.本发明提供的一种重复数据处理的方法,接收变更数据的请求并获取请求的多个重复数据;将多个重复数据存入至缓存中过滤并获取得到最终数据;将最终数据存入至搜索中间件的索引中以完成索引更新。该方法通过将重复数据存入至缓存中进行过滤得到最终数据,以此将最终数据存入至搜索中间件,减少重复数据对搜索中间件的过多数据吞吐量,对瞬时大量的数据起到缓冲作用。同时避免增加额外的固定资源费用,仅在有限的资源下提高搜索中间件的数据处理量。
36.另外,本发明还提供了一种重复数据处理的装置及介质,具有如上述重复数据处理的方法相同的有益效果。
附图说明
37.为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本发明实施例提供的一种重复数据处理的方法的流程图;
39.图2为本发明实施例提供的一种重复数据处理的装置的结构图;
40.图3为本发明实施例提供的另一种重复数据处理的装置的结构图;
41.图4为本发明实施例提供的一种重复数据处理的方法的应用场景示意图。
具体实施方式
42.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
43.本发明的核心是提供一种重复数据处理的方法、装置及介质,在有限的资源下提高搜索中间件的数据处理量。
44.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
45.需要说明的是,本发明提供的重复数据处理的方法,适用于关系型数据库查询相关的数据,其关系型数据为采用关系模型来组织数据的数据库,以行和列的形式存储数据,将行和列称为表,一组表组成了数据库,如mysql。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。还适用于多系统数据同步的场景下,存在重复数据提交至其他系统完成数据同步通过重复数据过滤提高系统的数据吞吐量。
46.图1为本发明实施例提供的一种重复数据处理的方法的流程图,如图1所示,该方法包括:
47.s11:接收变更数据的请求。
48.可以理解的是,构建关系型数据库,结合对订单数据做列表页的查询,其查询的字段包括订单号、当前审核人、历史审核人、订单状态等,其订单表和审核记录表的关系为一对多。一个订单数据有订单表的数据和审核记录多条数据组成,可以通过订单id、审核人、订单状态等相关信息查询订单数据。用户将表单提交至应用程序,应用程序将表数据组装,并更新、订单表和审核表至关系型数据库中。此后会向用户返回更新成功,同时数据库将变更数据的通知下发至缓存后,经过处理在根据变更的数据再反查数据库获取订单单据,该订单单据为多个关系型数据库的表关联成的一个业务数据单元,也就是上述的订单数据。
49.具体地,接收变更数据的请求,可以根据监控工具监控数据库的数据变化情况,当有数据进入或移除数据库时,监控工具将该情况上报,并发送变更数据的请求至后续的缓存中,也可以设置时间间隔向数据库中检测数据库的变化等。本发明不做具体限定,只要能获得数据库变更数据的请求即可。
50.s12:获取请求的多个重复数据。
51.在上述实施例的基础上,接收变更数据的请求,变更数据的通知有可能存在多种不同的请求,例如,请求a和请求b,其请求的数据中由于请求的内容不同,a、b请求的数据会有重复。结合上述的例子,在关系型数据库中,如果变更的数据为一条订单表的数据,则会根据请求获取订单单据数据(一个订单单据数据包括一个订单数据和多个审核记录数据),如果变更的数据为一条审核表的数据,也会获取到订单单据数据,也可能在瞬时内收到多个相同的订单单据数据,就会产生重复数据。请求a根据订单id获取数据,请求b根据订单id获取数据,其两个请求最终获取的数据相同。或者请求a根据订单id获取数据,请求b根据审核记录id获取数据等都会产生重复数据,将产生的重复数据进行获取。
52.s13:将多个重复数据存入至缓存中过滤并获取得到最终数据。
53.需要说明的是,变更数据的请求数据有一个或多个,针对每个请求也会有较多种重复数据,例如请求a中有a1至an,b1至bn,c1至cn三种数据,其三种数据都有重复。
54.将获取的多个重复数据存入至缓存中进行过滤以及后续的处理得到最终数据,其最终数据在这里不是只有一种数据,将请求a中的三种重复数据过滤只剩下a1、b1和c1三种数据,此时请求b同时进行过滤,过滤的数据如果和请求a过滤后的数据相同,再进行过滤,直到得到一种数据。再根据id数据获取整个表单数据作为最终数据。
55.s14:将最终数据存入至搜索中间件的索引中以完成索引更新。
56.在步骤s13中得到的最终数据存入至搜索中间件的索引中,其搜索中间件通过分布式、高扩展、高实时等技术手段,实现的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。规避了关系型数据库大数据处理的瓶颈,对复杂性查询逻辑可以提供高性能、准实时的检索能力。搜索索引数据为一条索引,在实际构建时会对关系型数据组成的但据数据进行字段平铺,便于快速查询。此时,搜索中间件只需要能拿到表单数据对应的最终数据即可进行索引数据的更新。
57.本发明提供的一种重复数据处理的方法,接收变更数据的请求并获取请求的多个重复数据;将多个重复数据存入至缓存中过滤并获取得到最终数据;将最终数据存入至搜索中间件的索引中以完成索引更新。该方法通过将重复数据存入至缓存中进行过滤得到最终数据,以此将最终数据存入至搜索中间件,减少重复数据对搜索中间件的过多数据吞吐量,对瞬时大量的数据起到缓冲作用。同时避免增加额外的固定资源费用,仅在有限的资源下提高搜索中间件的数据处理量。
58.在上述实施例的基础上,步骤s13中的将多个重复数据存入至缓存中过滤并获取得到最终数据,包括:
59.将多个重复数据存入至缓存内的过滤缓存中并过滤得到过滤数据;
60.将过滤数据存入至缓存内的执行缓存中;
61.根据过滤数据获取表单数据作为最终数据。
62.在获取到数据变更的请求的多个重复数据后,将多个重复数据存入至缓存内的过滤缓存中,其过滤缓存为缓存容器将重复数据缓存起来,对于一种数据的多个重复数据其每个都有一定的间隔,在过滤过程中要考虑重复数据的间隔,等到一定时间后一次过滤完成得到过滤数据。
63.将得到的过滤数据存入至缓存内的执行缓存中,其执行缓存实际为缓存容器,可以理解的是,过滤缓存和执行缓存缓存的数据不同,其用到的缓存容器也有所不同。缓存容器是独立的,在对重复数据过滤时,其不影响数据库和搜索中间件的性能问题。根据执行缓存中的过滤数据获取表单数据,结合上述的例子,其过滤数据为订单id数据,根据订单id数据获取订单单据数据作为最终数据。缓存容器不一定会使用缓存中间件(如redis、memchache等),也可以使用自行设计的程序系统,或者专门的数据库作为缓存容器,本发明不做限定。
64.具体地,使用两个缓存容器,一个用于过滤数据,一个用于同步数据至搜索中间件,以减少性能瓶颈,对瞬时产生的大量数据做好缓冲作用。需要说明的是,其过滤数据可以为订单数据的任一查询信息,例如审核人、订单状态等信息,不做具体要求,只要是订单单据数据内的相关信息作为一种过滤数据的标准即可。进而根据过滤数据获取得到最终数据。
65.本实施例提供的将多个重复数据存入至缓存中过滤并获取得到最终数据。增加缓存,将数据进行统一过滤,不重复,以此减少了重复数据对搜索中间件的过多的数据吞吐量,提高数据同步的性能。
66.在上述实施例的基础上,将多个重复数据过滤得到过滤数据,包括:
67.将多个重复数据根据哈希桶算法过滤得到过滤数据。
68.可以理解的是,将重复数据过滤得到过滤数据,其过滤的处理中用到的算法可以为桶算法,也可以为哈希桶算法。桶算法实为排序算法,将数组分到有限数量的桶里,每个桶再进行排序,基于映射函数,将将待排序列的关键字k映射到第i个桶中(即桶数组b的下标i),那么该关键字k就作为b[i]中的元素(每个桶b[i]都是一组大小为n/m的序列),进而将各个桶中的数据有序的合并为一个有序序列。哈希桶算法结合哈希函数,其数组存的为指针,数组中每一个位置存有一段链表,直接将数据连接在链表即可。计算位置在链表进行查找,找到后返回节点,找不到返回空指针,进而将重复数据删除。与桶算法相比,主要通过哈希建桶的方式减少了空间的消耗,对序列进行了一个规约,为稳定的排序算法。
[0069]
本实施例提供的将多个重复数据根据哈希桶算法过滤得到过滤数据,减少了空间的消耗,对序列进行了一个规约,为稳定的排序算法。
[0070]
在上述实施例的基础上,将多个重复数据过滤得到过滤数据,包括:
[0071]
将多个重复数据根据id数据过滤得到过滤数据。
[0072]
可以理解的是,多个重复数据根据变更数据的请求得到,结合上述例子,在关系型数据库中,其变更的数据为一条订单表或者审核记录表的数据,其多个重复数据有可能为订单id数据、订单状态、历史审核人等信息,任意一种重复数据依据不同的信息其过滤出的结果不同,为了保证最大限度的过滤选择多个重复数据中重复度较高的信息作为依据进行过滤得到过滤数据。在上述的场景中其订单id数据重复度较高,以此将作为根据进行过滤得到过滤数据。
[0073]
需要说明的是,本实施例仅是一种优选地实施例,可以根据实际情况进行设置过滤依据,例如需要实际的审核人信息,则将审核人信息作为过滤依据进行过滤得到过滤数据。
[0074]
本实施例提供的将多个重复数据根据id数据过滤得到过滤数据。保证最大限度的过滤处理,得到较为干净的过滤数据。
[0075]
在步骤s11的接收变更数据的请求之前,还包括:
[0076]
根据数据同步工具监听数据库的变更数据;
[0077]
当监听到变更数据时,则发送变更数据的请求至缓存。
[0078]
可以理解的是,根据监控工具监控数据库的数据变化情况,即数据同步工具监听数据库的变更数据。当监听到数据库中的更新通知时,发送变更数据的请求至缓存,以此缓存内接收变更数据的请求进行后续获取该请求的重复数据。
[0079]
本实施例提供的利用数据同步工具进行监听数据库的变更数据,便于及时接收变更数据的请求,及时处理重复数据,使得搜索中间件建立的索引的延时性减少。
[0080]
在上述实施例的基础上,将多个重复数据过滤得到过滤数据,包括:
[0081]
根据过滤的时间间隔将多个重复数据过滤得到过滤数据。
[0082]
在获得重复数据之后,由于对于一种数据的重复性其不同的重复数据之间的过滤处理具有一定的时间间隔,因此在过滤过程中要考虑重复数据的间隔,等到一定的时间后进行过滤,即根据过滤的时间间隔将多个重复数据过滤得到过滤数据。
[0083]
需要说明的是,过滤的时间间隔不要设置过短,对于重复数据需要考虑关系型数据库中更新数据的具体数据为何种数据进行设置,若设置过短,则过滤处理会漏筛掉重复数据。若设置过长,则同步到搜索中间件的延时时间越长。故需要根据实际情况进行设定,
不做具体要求。
[0084]
本实施例提供的根据过滤的时间间隔将多个重复数据过滤得到过滤数据,及时处理重复数据,减少搜索中间件建立的索引的延时性,同时提高性能要求。
[0085]
具体地,当最终数据存入至搜索中间件的索引时,输出提示信息,及时提醒用户可以进行索引,或者进行接收下一个变更数据的请求以此更新搜索中间件。
[0086]
上述详细描述了重复数据处理的方法对应的各个实施例,在此基础上,本发明还公开与上述方法对应的重复数据处理的装置,图2为本发明实施例提供的一种重复数据处理的装置的结构图。如图2所示,该装置包括:
[0087]
接收模块11,用于接收变更数据的请求;
[0088]
第一获取模块12,用于获取请求的多个重复数据;
[0089]
第二获取模块13,用于将多个重复数据存入至缓存中过滤并获取得到最终数据;
[0090]
存入模块14,用于将最终数据存入至搜索中间件的索引中以完成索引更新。
[0091]
由于装置部分的实施例与上述的实施例相互对应,因此装置部分的实施例请参照上述方法部分的实施例描述,在此不再赘述。
[0092]
本发明提供的一种重复数据处理的装置,接收变更数据的请求并获取请求的多个重复数据;将多个重复数据存入至缓存中过滤并获取得到最终数据;将最终数据存入至搜索中间件的索引中以完成索引更新。该装置通过将重复数据存入至缓存中进行过滤得到最终数据,以此将最终数据存入至搜索中间件,减少重复数据对搜索中间件的过多数据吞吐量,对瞬时大量的数据起到缓冲作用。同时避免增加额外的固定资源费用,仅在有限的资源下提高搜索中间件的数据处理量。
[0093]
图3为本发明实施例提供的另一种重复数据处理的装置的结构图,如图3所示,该装置包括:
[0094]
存储器21,用于存储计算机程序;
[0095]
处理器22,用于执行计算机程序时实现重复数据处理的方法的步骤。
[0096]
本实施例提供的重复数据处理的装置可以包括但不限于智能手机、平板电脑、笔记本电脑或者台式电脑等。
[0097]
其中,处理器22可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器22可以采用数字信号处理器(digital signal processor,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器22也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器22可以在集成有图像处理器(graphics processing unit,gpu),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器22还可以包括人工智能(artificial intelligence,ai)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0098]
存储器21可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器21还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器21至少用于存储以下计算机程序211,其中,该计算机程序被处理器22加载并执行之后,能够实现前述任一实施例公开的重复数
据处理的方法的相关步骤。另外,存储器21所存储的资源还可以包括操作系统212和数据213等,存储方式可以是短暂存储或者永久存储。其中,操作系统212可以包括windows、unix、linux等。数据213可以包括但不限于重复数据处理的方法所涉及到的数据等等。
[0099]
在一些实施例中,重复数据处理的装置还可包括有显示屏23、输入输出接口24、通信接口25、电源26以及通信总线27。
[0100]
领域技术人员可以理解,图3中示出的结构并不构成对重复数据处理的装置的限定,可以包括比图示更多或更少的组件。
[0101]
处理器22通过调用存储于存储器21中的指令以实现上述任一实施例所提供的重复数据处理的方法。
[0102]
本发明提供的一种重复数据处理的装置,接收变更数据的请求并获取请求的多个重复数据;将多个重复数据存入至缓存中过滤并获取得到最终数据;将最终数据存入至搜索中间件的索引中以完成索引更新。该装置通过将重复数据存入至缓存中进行过滤得到最终数据,以此将最终数据存入至搜索中间件,减少重复数据对搜索中间件的过多数据吞吐量,对瞬时大量的数据起到缓冲作用。同时避免增加额外的固定资源费用,仅在有限的资源下提高搜索中间件的数据处理量。
[0103]
进一步的,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器22执行时实现如上述重复数据处理的方法的步骤。
[0104]
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0105]
对于本发明提供的一种计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述重复数据处理的方法相同的有益效果。
[0106]
为了使本领域的技术人员更好的理解本发明的技术方案,下面结合附图、本发明实施例提供的重复数据处理的方法、装置及介质,作进一步的详细说明。
[0107]
图4为本发明实施例提供的一种重复数据处理的方法的应用场景示意图,如图4所示,首先当关系型数据库31进行数据变更时,先将变更的数据通知到缓存容器,此时放入的是一个待同步缓存容器32,只是将数据缓存起来,等到一定时间后再做处理。每隔1s,将待同步缓存容器32内的数据进行一次过滤,并将过滤出的数据放入第二级缓存容器(执行缓存容器33)。执行缓存容器33收到数据后,会根据数据来获取表单数据,此时数据已经重复过滤。最后将获取的表单数据同步至搜索中间件34。
[0108]
上文通过对本发明实施例提供的另一种重复数据处理的方法的应用场景示意图进行了介绍,具有与上述提到的重复数据处理的方法相同的有益效果。
[0109]
以上对本发明所提供的一种重复数据处理的方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其
与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
[0110]
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献