CN110334081A - 海量数据的清洗方法及装置 - Google Patents
海量数据的清洗方法及装置 Download PDFInfo
- Publication number
- CN110334081A CN110334081A CN201910572435.6A CN201910572435A CN110334081A CN 110334081 A CN110334081 A CN 110334081A CN 201910572435 A CN201910572435 A CN 201910572435A CN 110334081 A CN110334081 A CN 110334081A
- Authority
- CN
- China
- Prior art keywords
- message
- cleaning
- cleaned
- middleware
- mark
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出一种海量数据的清洗方法及装置,其中方法应用于消息消费者,包括:向预设的中间件发送消息获取请求;中间件用于从数据中心批量获取待清洗消息,并进行存储;接收中间件返回的待清洗消息;对待清洗消息进行清洗处理,得到清洗后消息;根据清洗后消息的标识,将清洗后消息存储至对应的数据库中,从而能够从数据中心批量拉取待清洗消息,缩短总的拉取时间,且拉取和清洗可以并行处理,从而缩短清洗时间,提高清洗效率,确保数据中心的数据无法得到及时清洗。进而提供数据时,提供清洗后数据,提高用户体验。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种海量数据的清洗方法及装置。
背景技术
目前,海量数据的清洗方法中,消息消费者每次从数据中心拉取一条消息,清洗完成后,向数据中心返回确认信息,以便拉取下一条消息进行清洗处理。上述方法中,消息消费者每次只能拉取一条消息,拉取次数多,导致总的拉取时间长;且在上一条消息清洗完成且返回确认信息后,才拉取下一条消息进行清洗处理,处理时延较高,从而清洗时间长,清洗效率差,导致数据中心的数据无法得到及时清洗。进而提供数据时,提供的数据仍然是待清洗数据,用户体验差。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种海量数据的清洗方法,用于解决现有技术中数据清洗时间长,效率差的问题。
本发明的第二个目的在于提出一种海量数据的清洗装置。
本发明的第三个目的在于提出另一种海量数据的清洗装置。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种海量数据的清洗方法,应用于消息消费者,包括:
向预设的中间件发送消息获取请求;所述中间件,用于从数据中心批量获取待清洗消息,并进行存储;
接收所述中间件返回的待清洗消息;
对所述待清洗消息进行清洗处理,得到清洗后消息;
根据所述清洗后消息的标识,将所述清洗后消息存储至对应的数据库中。
进一步地,所述向预设的中间件发送消息获取请求之前,还包括:
接收配置信息,所述配置信息包括:所述中间件的标识;
根据所述中间件的标识向预设的中间件发送消息获取请求以获取待清洗消息。
进一步地,所述消息消费者设置有多个线程,所述多个线程并行对所述消息消费者接收到的待清洗消息进行清洗处理。
进一步地,所述中间件,为阻塞队列或者redis集群;
所述阻塞队列位于所述消息消费者的本地服务器上;
所述redis集群与所述消息消费者的本地服务器连接。
进一步地,所述对所述待清洗消息进行清洗处理,得到清洗后消息,包括:
获取所述待清洗消息的标识;
根据所述待清洗消息的标识,确定所述待清洗消息所属的第一业务;
根据所述第一业务对应的清洗操作对所述待清洗消息进行清洗处理,得到清洗后消息。
进一步地,所述根据所述清洗后消息的标识,将所述清洗后消息存储至对应的数据库中,包括:
根据所述清洗后消息的标识,获取所述清洗后消息对应的数据库;
将对应的数据库相同的清洗后消息进行整合;
判断整合后的清洗后消息的数量是否满足第一预设数量;
若整合后的清洗后消息的数量满足第一预设数量,则将整合后的清洗后消息存储到清洗后消息对应的数据库中。
进一步地,所述中间件从数据中心批量获取待清洗消息的过程为,
实时判断所述中间件的空闲存储位置能否存储第二预设数量的消息;
若所述中间件的空闲存储位置能够存储第二预设数量的消息,则所述中间件从数据中心获取一个批次的待清洗消息,并进行存储;
存储成功后,向数据中心返回确认信息。
本发明实施例的海量数据的清洗方法,应用于消息消费者,通过向预设的中间件发送消息获取请求;中间件用于从数据中心批量获取待清洗消息,并进行存储;接收中间件返回的待清洗消息;对待清洗消息进行清洗处理,得到清洗后消息;根据清洗后消息的标识,将清洗后消息存储至对应的数据库中,从而能够从数据中心批量拉取待清洗消息,缩短总的拉取时间,且拉取和清洗可以并行处理,从而缩短清洗时间,提高清洗效率,确保数据中心的数据无法得到及时清洗。进而提供数据时,提供清洗后数据,提高用户体验。
为达上述目的,本发明第二方面实施例提出了一种海量数据的清洗装置,应用于消息消费者,包括:
发送模块,用于向预设的中间件发送消息获取请求;所述中间件,用于从数据中心批量获取待清洗消息,并进行存储;
接收模块,用于接收所述中间件返回的待清洗消息;
处理模块,用于对所述待清洗消息进行清洗处理,得到清洗后消息;
存储模块,用于根据所述清洗后消息的标识,将所述清洗后消息存储至对应的数据库中。
进一步地,所述接收模块还用于,
接收配置信息,所述配置信息包括:所述中间件的标识;
根据所述中间件的标识向预设的中间件发送消息获取请求以获取待清洗消息。
进一步地,所述消息消费者设置有多个线程,所述多个线程并行对所述消息消费者接收到的待清洗消息进行清洗处理。
进一步地,所述中间件,为阻塞队列或者redis集群;
所述阻塞队列位于所述消息消费者的本地服务器上;
所述redis集群与所述消息消费者的本地服务器连接。
进一步地,所述处理模块具体用于,
获取所述待清洗消息的标识;
根据所述待清洗消息的标识,确定所述待清洗消息所属的第一业务;
根据所述第一业务对应的清洗操作对所述待清洗消息进行清洗处理,得到清洗后消息。
进一步地,所述存储模块具体用于,
根据所述清洗后消息的标识,获取所述清洗后消息对应的数据库;
将对应的数据库相同的清洗后消息进行整合;
判断整合后的清洗后消息的数量是否满足第一预设数量;
若整合后的清洗后消息的数量满足第一预设数量,则将整合后的清洗后消息存储到清洗后消息对应的数据库中。
进一步地,所述中间件从数据中心批量获取待清洗消息的过程为,
实时判断所述中间件的空闲存储位置能否存储第二预设数量的消息;
若所述中间件的空闲存储位置能够存储第二预设数量的消息,则所述中间件从数据中心获取一个批次的待清洗消息,并进行存储;
存储成功后,向数据中心返回确认信息。
本发明实施例的海量数据的清洗装置,应用于消息消费者,通过向预设的中间件发送消息获取请求;中间件用于从数据中心批量获取待清洗消息,并进行存储;接收中间件返回的待清洗消息;对待清洗消息进行清洗处理,得到清洗后消息;根据清洗后消息的标识,将清洗后消息存储至对应的数据库中,从而能够从数据中心批量拉取待清洗消息,缩短总的拉取时间,且拉取和清洗可以并行处理,从而缩短清洗时间,提高清洗效率,确保数据中心的数据无法得到及时清洗。进而提供数据时,提供清洗后数据,提高用户体验。
为达上述目的,本发明第三方面实施例提出了另一种海量数据的清洗装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的海量数据的清洗方法。
为了实现上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的海量数据的清洗方法。
为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上所述的海量数据的清洗方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种海量数据的清洗方法的流程示意图;
图2为消息生产者、数据中心、中间件、消息消费者、数据库的交互示意图;
图3为本发明实施例提供的一种海量数据的清洗装置的结构示意图;
图4为本发明实施例提供的另一种海量数据的清洗装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的海量数据的清洗方法及装置。
图1为本发明实施例提供的一种海量数据的清洗方法的流程示意图。如图1所示,该海量数据的清洗方法,应用于消息消费者,主要包括以下步骤:
S101、向预设的中间件发送消息获取请求;中间件,用于从数据中心批量获取待清洗消息,并进行存储。
本发明提供的海量数据的清洗方法的执行主体为海量数据的清洗装置,海量数据的清洗装置可以为消息消费者,或者消息消费者所在的服务器等。其中,消息消费者例如可以是kafka分布式发布订阅消息系统中的消息消费者。kafka分布式发布订阅消息系统中还包括消息生产者和数据中心。消息生产者用于生产消息,分批次将消息存储至数据中心。数据中心由多个kafka服务器组成,用于存储消息。消息消费者,用于对数据中心中存储的消息进行消费,例如清洗等。
本实施例中,消息消费者的数量可以为多个,一般位于同一个服务器上。中间件的数量可以为一个,与消息消费者位于同一个服务器上。中间件,用于从数据中心批量获取待清洗消息,并进行存储。其中,中间件从数据中心批量获取待清洗消息的过程具体可以为,中间件从数据中心获取一个批次的待清洗消息,存储完成后,向数据中心返回确认信息,并重新从数据中心获取一个批次的待清洗消息,直至中间件的空闲存储位置不够存储一个批次的待清洗消息或者中间件没有空闲存储位置;然后中间件实时判断空闲存储位置是否能够存储一个批次的待清洗消息,若是,则再次获取一个批次的待清洗消息,循环执行上述步骤。其中,一个批次的待清洗消息中,待清洗消息的数量例如可以为第二预设数量,如1000个,500个等。
其中,中间件,可以为阻塞队列或者redis集群。阻塞队列位于消息消费者的本地服务器上;redis集群与消息消费者的本地服务器连接。其中,redis集群能够存储的消息数量大于阻塞队列能够存储的消息数量,可以根据实际需要选择阻塞队列或者redis集群作为中间件。本实施例中,redis集群为分布式集群,需要设置分布式锁,避免redis集群中待清洗消息被重复清洗。
本实施例中,消息生产者、数据中心、中间件、消息消费者、数据库的交互示意图可以如图2所示。在图2中,消息生产者生产待清洗消息,分批次将待清洗消息存储至数据中心。中间件分批次从数据中心拉取待清洗消息,并存储。各个消息消费者从中间件拉取待清洗消息并进行清洗处理,并分批次将清洗后消息提交到数据库。
本实施例中,步骤101之前,所述的方法还可以包括:接收配置信息,配置信息包括:中间件的标识;根据中间件的标识向预设的中间件发送消息获取请求以获取待清洗消息。其中,消息消费者接收到配置信息后,获知之后需要从中间件获取待清洗消息,而不是从数据中心获取待清洗消息,从而在后续的处理过程中,根据配置信息从中间件获取待清洗消息。
S102、接收中间件返回的待清洗消息。
本实施例中,消息消费者从中间件批次获取待清洗消息。一个批次的待清洗消息的数量例如可以为200,100等。
S103、对待清洗消息进行清洗处理,得到清洗后消息。
本实施例中,消息消费者执行步骤103的过程具体可以为,获取待清洗消息的标识;根据待清洗消息的标识,确定待清洗消息所属的第一业务;根据第一业务对应的清洗操作对待清洗消息进行清洗处理,得到清洗后消息。
以第一业务为工商信息为例,第一业务对应的待清洗消息可以包括:注册资本、实缴资本和公司类型。以待清洗消息中的实缴资本为例,实缴资本可以为,1000万美元、10.00万、100.123400万澳元、1000000.200元等,这些实缴资本的单位、币种等不统一。对待清洗消息中实缴资本的清洗处理为,将待清洗消息中实缴资本的格式统一化:统一为中国币种、去除特殊字符、全角符号变半角、剔除空格、剔除小数点后多余的0等。
另外,本实施例中,每个消息消费者可以设置有多个线程,多个线程并行对消息消费者接收到的待清洗消息进行清洗处理,从而提高消息消费者对消息的清洗速度。
S104、根据清洗后消息的标识,将清洗后消息存储至对应的数据库中。
本实施例中,消息消费者执行步骤104的过程具体可以为,根据清洗后消息的标识,获取清洗后消息对应的数据库;将对应的数据库相同的清洗后消息进行整合;判断整合后的清洗后消息的数量是否满足第一预设数量;若整合后的清洗后消息的数量满足第一预设数量,则将整合后的清洗后消息存储到清洗后消息对应的数据库中。
本实施例中,对待存储至同一数据库的清洗后消息进行批量存储,能够减少存储次数,减少数据库接口的负担,提高存储速度。
本发明实施例的海量数据的清洗方法,应用于消息消费者,通过向预设的中间件发送消息获取请求;中间件用于从数据中心批量获取待清洗消息,并进行存储;接收中间件返回的待清洗消息;对待清洗消息进行清洗处理,得到清洗后消息;根据清洗后消息的标识,将清洗后消息存储至对应的数据库中,从而能够从数据中心批量拉取待清洗消息,缩短总的拉取时间,且拉取和清洗可以并行处理,从而缩短清洗时间,提高清洗效率,确保数据中心的数据无法得到及时清洗。进而提供数据时,提供清洗后数据,提高用户体验。
图3为本发明实施例提供的一种海量数据的清洗装置的结构示意图。如图3所示,该装置应用于消息消费者,主要包括:发送模块31、接收模块32、处理模块33和存储模块34。
其中,发送模块31,用于向预设的中间件发送消息获取请求;所述中间件,用于从数据中心批量获取待清洗消息,并进行存储;
接收模块32,用于接收所述中间件返回的待清洗消息;
处理模块33,用于对所述待清洗消息进行清洗处理,得到清洗后消息;
存储模块34,用于根据所述清洗后消息的标识,将所述清洗后消息存储至对应的数据库中。
本发明提供的海量数据的清洗装置可以为消息消费者,或者消息消费者所在的服务器等。其中,消息消费者例如可以是kafka分布式发布订阅消息系统中的消息消费者。kafka分布式发布订阅消息系统中还包括消息生产者和数据中心。消息生产者用于生产消息,分批次将消息存储至数据中心。数据中心由多个kafka服务器组成,用于存储消息。消息消费者,用于对数据中心中存储的消息进行消费,例如清洗等。
本实施例中,消息消费者的数量可以为多个,一般位于同一个服务器上。中间件的数量可以为一个,与消息消费者位于同一个服务器上。中间件,用于从数据中心批量获取待清洗消息,并进行存储。其中,中间件从数据中心批量获取待清洗消息的过程具体可以为,中间件从数据中心获取一个批次的待清洗消息,存储完成后,向数据中心返回确认信息,并重新从数据中心获取一个批次的待清洗消息,直至中间件的空闲存储位置不够存储一个批次的待清洗消息或者中间件没有空闲存储位置;然后中间件实时判断空闲存储位置是否能够存储一个批次的待清洗消息,若是,则再次获取一个批次的待清洗消息,循环执行上述步骤。其中,一个批次的待清洗消息中,待清洗消息的数量例如可以为第二预设数量,如1000个,500个等。
其中,中间件,可以为阻塞队列或者redis集群。阻塞队列位于消息消费者的本地服务器上;redis集群与消息消费者的本地服务器连接。其中,redis集群能够存储的消息数量大于阻塞队列能够存储的消息数量,可以根据实际需要选择阻塞队列或者redis集群作为中间件。本实施例中,redis集群为分布式集群,需要设置分布式锁,避免redis集群中待清洗消息被重复清洗。
本实施例中,接收模块32,还可以用于接收配置信息,配置信息包括:中间件的标识;根据中间件的标识向预设的中间件发送消息获取请求以获取待清洗消息。其中,消息消费者接收到配置信息后,获知之后需要从中间件获取待清洗消息,而不是从数据中心获取待清洗消息,从而在后续的处理过程中,根据配置信息从中间件获取待清洗消息。
本实施例中,所述处理模块33具体可以用于,获取所述待清洗消息的标识;根据所述待清洗消息的标识,确定所述待清洗消息所属的第一业务;根据所述第一业务对应的清洗操作对所述待清洗消息进行清洗处理,得到清洗后消息。
另外,本实施例中,每个消息消费者可以设置有多个线程,多个线程并行对消息消费者接收到的待清洗消息进行清洗处理,从而提高消息消费者对消息的清洗速度。
本实施例中,所述存储模块34具体可以用于,根据所述清洗后消息的标识,获取所述清洗后消息对应的数据库;将对应的数据库相同的清洗后消息进行整合;判断整合后的清洗后消息的数量是否满足第一预设数量;若整合后的清洗后消息的数量满足第一预设数量,则将整合后的清洗后消息存储到清洗后消息对应的数据库中。
本实施例中,对待存储至同一数据库的清洗后消息进行批量存储,能够减少存储次数,减少数据库接口的负担,提高存储速度。
本发明实施例的海量数据的清洗装置,应用于消息消费者,通过向预设的中间件发送消息获取请求;中间件用于从数据中心批量获取待清洗消息,并进行存储;接收中间件返回的待清洗消息;对待清洗消息进行清洗处理,得到清洗后消息;根据清洗后消息的标识,将清洗后消息存储至对应的数据库中,从而能够从数据中心批量拉取待清洗消息,缩短总的拉取时间,且拉取和清洗可以并行处理,从而缩短清洗时间,提高清洗效率,确保数据中心的数据无法得到及时清洗。进而提供数据时,提供清洗后数据,提高用户体验。
图4为本发明实施例提供的另一种海量数据的清洗装置的结构示意图。该海量数据的清洗装置包括:
存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。
处理器1002执行所述程序时实现上述实施例中提供的海量数据的清洗方法。
进一步地,海量数据的清洗装置还包括:
通信接口1003,用于存储器1001和处理器1002之间的通信。
存储器1001,用于存放可在处理器1002上运行的计算机程序。
存储器1001可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1002,用于执行所述程序时实现上述实施例所述的海量数据的清洗方法。
如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。
处理器1002可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的海量数据的清洗方法。
本发明还提供一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上所述的海量数据的清洗方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (17)
1.一种海量数据的清洗方法,应用于消息消费者,其特征在于,包括:
向预设的中间件发送消息获取请求;所述中间件,用于从数据中心批量获取待清洗消息,并进行存储;
接收所述中间件返回的待清洗消息;
对所述待清洗消息进行清洗处理,得到清洗后消息;
根据所述清洗后消息的标识,将所述清洗后消息存储至对应的数据库中。
2.根据权利要求1所述的方法,其特征在于,所述向预设的中间件发送消息获取请求之前,还包括:
接收配置信息,所述配置信息包括:所述中间件的标识;
根据所述中间件的标识向预设的中间件发送消息获取请求以获取待清洗消息。
3.根据权利要求1所述的方法,其特征在于,
所述消息消费者设置有多个线程,所述多个线程并行对所述消息消费者接收到的待清洗消息进行清洗处理。
4.根据权利要求1所述的方法,其特征在于,所述中间件,为阻塞队列或者redis集群;
所述阻塞队列位于所述消息消费者的本地服务器上;
所述redis集群与所述消息消费者的本地服务器连接。
5.根据权利要求1所述的方法,其特征在于,所述对所述待清洗消息进行清洗处理,得到清洗后消息,包括:
获取所述待清洗消息的标识;
根据所述待清洗消息的标识,确定所述待清洗消息所属的第一业务;
根据所述第一业务对应的清洗操作对所述待清洗消息进行清洗处理,得到清洗后消息。
6.根据权利要求1所述的方法,其特征在于,所述根据所述清洗后消息的标识,将所述清洗后消息存储至对应的数据库中,包括:
根据所述清洗后消息的标识,获取所述清洗后消息对应的数据库;
将对应的数据库相同的清洗后消息进行整合;
判断整合后的清洗后消息的数量是否满足第一预设数量;
若整合后的清洗后消息的数量满足第一预设数量,则将整合后的清洗后消息存储到清洗后消息对应的数据库中。
7.根据权利要求1所述的方法,其特征在于,所述中间件从数据中心批量获取待清洗消息的过程为,
实时判断所述中间件的空闲存储位置能否存储第二预设数量的消息;
若所述中间件的空闲存储位置能够存储第二预设数量的消息,则所述中间件从数据中心获取一个批次的待清洗消息,并进行存储;
存储成功后,向数据中心返回确认信息。
8.一种海量数据的清洗装置,应用于消息消费者,其特征在于,包括:
发送模块,用于向预设的中间件发送消息获取请求;所述中间件,用于从数据中心批量获取待清洗消息,并进行存储;
接收模块,用于接收所述中间件返回的待清洗消息;
处理模块,用于对所述待清洗消息进行清洗处理,得到清洗后消息;
存储模块,用于根据所述清洗后消息的标识,将所述清洗后消息存储至对应的数据库中。
9.根据权利要求8所述的装置,其特征在于,所述接收模块还用于,
接收配置信息,所述配置信息包括:所述中间件的标识;
根据所述中间件的标识向预设的中间件发送消息获取请求以获取待清洗消息。
10.根据权利要求8所述的装置,其特征在于,所述消息消费者设置有多个线程,所述多个线程并行对所述消息消费者接收到的待清洗消息进行清洗处理。
11.根据权利要求8所述的装置,其特征在于,所述中间件,为阻塞队列或者redis集群;
所述阻塞队列位于所述消息消费者的本地服务器上;
所述redis集群与所述消息消费者的本地服务器连接。
12.根据权利要求8所述的装置,其特征在于,所述处理模块具体用于,
获取所述待清洗消息的标识;
根据所述待清洗消息的标识,确定所述待清洗消息所属的第一业务;
根据所述第一业务对应的清洗操作对所述待清洗消息进行清洗处理,得到清洗后消息。
13.根据权利要求8所述的装置,其特征在于,所述存储模块具体用于,
根据所述清洗后消息的标识,获取所述清洗后消息对应的数据库;
将对应的数据库相同的清洗后消息进行整合;
判断整合后的清洗后消息的数量是否满足第一预设数量;
若整合后的清洗后消息的数量满足第一预设数量,则将整合后的清洗后消息存储到清洗后消息对应的数据库中。
14.根据权利要求8所述的装置,其特征在于,所述中间件从数据中心批量获取待清洗消息的过程为,
实时判断所述中间件的空闲存储位置能否存储第二预设数量的消息;
若所述中间件的空闲存储位置能够存储第二预设数量的消息,则所述中间件从数据中心获取一个批次的待清洗消息,并进行存储;
存储成功后,向数据中心返回确认信息。
15.一种海量数据的清洗装置,其特征在于,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一所述的海量数据的清洗方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一所述的海量数据的清洗方法。
17.一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如权利要求1-7任一所述的海量数据的清洗方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910572435.6A CN110334081A (zh) | 2019-06-28 | 2019-06-28 | 海量数据的清洗方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910572435.6A CN110334081A (zh) | 2019-06-28 | 2019-06-28 | 海量数据的清洗方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110334081A true CN110334081A (zh) | 2019-10-15 |
Family
ID=68143585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910572435.6A Pending CN110334081A (zh) | 2019-06-28 | 2019-06-28 | 海量数据的清洗方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334081A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631755A (zh) * | 2020-12-30 | 2021-04-09 | 上海高顿教育科技有限公司 | 一种基于事件流驱动的数据清洗方法和装置 |
CN113312416A (zh) * | 2021-05-20 | 2021-08-27 | 成都美尔贝科技股份有限公司 | 一种跨数据中心的etl工具 |
CN114490730A (zh) * | 2022-04-01 | 2022-05-13 | 天聚地合(苏州)科技股份有限公司 | 一种大数据处理方法、系统及其电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268228A (zh) * | 2013-05-28 | 2013-08-28 | 上海林康医疗信息技术有限公司 | 一种应用于医疗行为监管平台的中间件 |
CN106528865A (zh) * | 2016-12-02 | 2017-03-22 | 航天科工智慧产业发展有限公司 | 一种快速精准的交通大数据清洗方法 |
CN106815338A (zh) * | 2016-12-25 | 2017-06-09 | 北京中海投资管理有限公司 | 一种大数据的实时存储、处理和查询系统 |
CN108804237A (zh) * | 2017-05-05 | 2018-11-13 | 北京京东尚科信息技术有限公司 | 数据实时统计方法、装置、存储介质和电子设备 |
-
2019
- 2019-06-28 CN CN201910572435.6A patent/CN110334081A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268228A (zh) * | 2013-05-28 | 2013-08-28 | 上海林康医疗信息技术有限公司 | 一种应用于医疗行为监管平台的中间件 |
CN106528865A (zh) * | 2016-12-02 | 2017-03-22 | 航天科工智慧产业发展有限公司 | 一种快速精准的交通大数据清洗方法 |
CN106815338A (zh) * | 2016-12-25 | 2017-06-09 | 北京中海投资管理有限公司 | 一种大数据的实时存储、处理和查询系统 |
CN108804237A (zh) * | 2017-05-05 | 2018-11-13 | 北京京东尚科信息技术有限公司 | 数据实时统计方法、装置、存储介质和电子设备 |
Non-Patent Citations (1)
Title |
---|
邱锋兴: "基于Memcached的数据清洗系统设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631755A (zh) * | 2020-12-30 | 2021-04-09 | 上海高顿教育科技有限公司 | 一种基于事件流驱动的数据清洗方法和装置 |
CN113312416A (zh) * | 2021-05-20 | 2021-08-27 | 成都美尔贝科技股份有限公司 | 一种跨数据中心的etl工具 |
CN113312416B (zh) * | 2021-05-20 | 2022-09-09 | 成都美尔贝科技股份有限公司 | 一种跨数据中心的etl工具 |
CN114490730A (zh) * | 2022-04-01 | 2022-05-13 | 天聚地合(苏州)科技股份有限公司 | 一种大数据处理方法、系统及其电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297766A (zh) | 基于分布式测试节点集群的软件测试方法及软件测试系统 | |
CN110334081A (zh) | 海量数据的清洗方法及装置 | |
CN105469633B (zh) | 车位管理方法及装置 | |
CN107729516A (zh) | 单页应用展示方法和装置、服务器、设备及可读介质 | |
CN107306355B (zh) | 一种内容推荐方法及服务器 | |
CN109656782A (zh) | 可视化调度监控方法、装置及服务器 | |
CN108121608A (zh) | 一种队列调度方法以及节点设备 | |
CN109255072A (zh) | 信息召回方法及装置、计算机存储介质、电子设备 | |
CN108683528A (zh) | 一种数据传输方法、中心服务器、服务器及数据传输系统 | |
CN110365536A (zh) | 一种物联网设备的故障提示方法及相关装置 | |
CN106230692A (zh) | 一种信息显示方法以及终端 | |
CN110472876A (zh) | 一种任务调度方法、装置及计算机可读存储介质 | |
CN114089713A (zh) | 一种基于uds的通信方法、ecu及上位机 | |
CN107195144B (zh) | 管理支付终端硬件模块的方法、装置及计算机可读存储介质 | |
CN108960836A (zh) | 语音支付方法、装置及系统 | |
CN108304303A (zh) | 一种统计帧同步服务器的脚本运行性能的方法和系统 | |
CN107332991A (zh) | 锁屏界面信息处理方法及装置 | |
CN108632358B (zh) | 基于wifi分享的代币管理方法及装置 | |
CN108924128A (zh) | 一种移动终端及其进程间通信的限制方法、存储介质 | |
CN108874676A (zh) | 测试资源的分配方法及装置 | |
CN107330728A (zh) | 一种信息底价选取方法、装置及电子设备、存储介质 | |
CN107908544A (zh) | 一种用例测试方法及终端设备 | |
CN101196833B (zh) | 用于存储器利用的方法和装置 | |
CN109032814A (zh) | 一种移动终端及其进程间通信的监控方法、存储介质 | |
CN105812203B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191015 |