CN114238292A - 数据清洗方法、装置、计算机设备、计算机可读存储介质 - Google Patents

数据清洗方法、装置、计算机设备、计算机可读存储介质 Download PDF

Info

Publication number
CN114238292A
CN114238292A CN202111447005.5A CN202111447005A CN114238292A CN 114238292 A CN114238292 A CN 114238292A CN 202111447005 A CN202111447005 A CN 202111447005A CN 114238292 A CN114238292 A CN 114238292A
Authority
CN
China
Prior art keywords
data
state
data state
database
auditing
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.)
Granted
Application number
CN202111447005.5A
Other languages
English (en)
Other versions
CN114238292B (zh
Inventor
赵勇
王金虎
刘晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qichacha Technology Co ltd
Original Assignee
Qichacha Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qichacha Technology Co ltd filed Critical Qichacha Technology Co ltd
Priority to CN202111447005.5A priority Critical patent/CN114238292B/zh
Publication of CN114238292A publication Critical patent/CN114238292A/zh
Application granted granted Critical
Publication of CN114238292B publication Critical patent/CN114238292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

数据清洗方法、装置、计算机设备、计算机可读存储介质
技术领域
本公开涉及电数据处理技术领域,特别是涉及一种数据清洗方法、装置、计算机设备、计算机可读存储介质。
背景技术
随着电数据处理技术的发展,出现了数据清洗技术,使用数据清洗技术能对数据进行重新审查和校验,能够删除重复信息、纠正存在的错误,并提供数据一致性。在ETL(ETL是Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程)过程中,如果一些数据存在客诉、和预想结果有误差、源数据更新延时、源数据不可用等问题,需要修改数据和数据状态,例如需要把数据状态改为永久屏蔽或者临时屏蔽。
传统技术中,经客诉人员(客诉人员可以是指处理客户投诉或者客户反馈的人员)反馈的数据异常(即真实值与数据源不一致的情况),会交由审核人员进行审核,审核完毕后将由人工进行数据修改。传统方法在使用过程中,人工修改数据库的值,需要对当前数据库的值做判断,存在误操作的风险,导致数据清洗工作(比如数据状态的修改)只能由清洗开发人员完成,使得数据清洗效率较低且成本较高。
发明内容
基于此,有必要针对上述技术问题,提供一种数据清洗方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本公开提供了一种数据清洗方法,所述方法包括:
接收第一对象端发出的数据修改请求;
根据所述数据修改请求,查询并获取数据库中相应的数据和数据状态,分别作为第一数据和第一数据状态;
根据所述数据修改请求,确定第二数据和第二数据状态,所述第二数据是与所述第一数据对应的新数据,所述第二数据状态是与所述第一数据状态对应的新数据状态;
将修改内容提交第二对象端进行审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态;
确定第一审核结果,所述第一审核结果是所述第二对象端审核所述修改内容的结果;
在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端,所述第三对象端用于获取数据接受程序;
通过所述数据接受程序将所述第二数据补充到所述数据库中,记为第三数据;
根据所述第二数据状态,修改数据库中相应的数据状态,得到第三数据状态。
在其中一个实施例中,在所述得到第三数据状态之后还包括:
通过所述数据接受程序将所述第二数据和所述第二数据状态存储到人工记录表,所述人工记录表用于记录数据库中相应的数据被人工修改过的信息;
接收爬虫爬取的第四数据,确定与所述第四数据对应的第四数据状态,所述第四数据是与所述第三数据对应的新数据;
根据所述人工记录表、所述第四数据、所述第四数据状态,通过所述数据接受程序修改所述第三数据和所述第三数据状态。
在其中一个实施例中,所述通过所述数据接受程序修改所述第三数据和所述第三数据状态包括:
当所述人工记录表记录所述第二数据状态为临时屏蔽状态,且所述第四数据状态为有效状态时,根据所述第四数据,修改数据库中的所述第三数据;
将所述第三数据状态修改为有效状态;
将所述人工记录表中的所述第二数据状态修改为无效状态。
在其中一个实施例中,所述通过所述数据接受程序修改所述第三数据和所述第三数据状态包括:
当所述人工记录表记录的所述第二数据状态为永久屏蔽状态,或所述第四数据状态为无效状态时,对所述第三数据和所述第三数据状态不做修改。
在其中一个实施例中,所述确定与所述第四数据对应的第四数据状态包括:
将所述第四数据提交所述第二对象端进行审核;
确定第二审核结果,所述第二审核结果是所述第二对象端审核所述第四数据的结果;
根据所述第二审核结果,确定所述第四数据状态。
在其中一个实施例中,所述第二对象端和所述第三对象端属于同一个可视化操作平台的终端。
在其中一个实施例中,所述将所述第二数据和所述第二数据状态推送至第三对象端包括:
以消息队列的形式推送所述第二数据和所述第二数据状态。
第二方面,本公开还提供了一种数据清洗装置,所述装置包括:
请求接收模块,用于接收第一对象端发出的数据修改请求;
数据查询模块,用于根据所述数据修改请求,查询并获取数据库中相应的数据和数据状态,分别作为第一数据和第一数据状态;
数据确定模块,用于根据所述数据修改请求,确定第二数据和第二数据状态,所述第二数据是与所述第一数据对应的新数据,所述第二数据状态是与所述第一数据状态对应的新数据状态;
审核提交模块,用于将修改内容提交第二对象端进行审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态;
审核确定模块,用于确定第一审核结果,所述第一审核结果是所述第二对象端审核所述修改内容的结果;
消息推送模块,用于在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端,所述第三对象端用于获取数据接受程序;
数据修改模块,用于通过所述数据接受程序将所述第二数据补充到所述数据库中,记为第三数据,所述数据接受程序由所述第三对象端获取;
状态修改模块,用于根据所述第二数据状态,修改数据库中相应的数据状态,得到第三数据状态。
第三方面,本公开还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收第一对象端发出的数据修改请求;
根据所述数据修改请求,查询并获取数据库中相应的数据和数据状态,分别作为第一数据和第一数据状态;
根据所述数据修改请求,确定第二数据和第二数据状态,所述第二数据是与所述第一数据对应的新数据,所述第二数据状态是与所述第一数据状态对应的新数据状态;
将修改内容提交第二对象端进行审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态;
确定第一审核结果,所述第一审核结果是所述第二对象端审核所述修改内容的结果;
在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端,所述第三对象端用于获取数据接受程序;
通过所述数据接受程序将所述第二数据补充到所述数据库中,记为第三数据;
根据所述第二数据状态,修改数据库中相应的数据状态,得到第三数据状态。
第四方面,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收第一对象端发出的数据修改请求;
根据所述数据修改请求,查询并获取数据库中相应的数据和数据状态,分别作为第一数据和第一数据状态;
根据所述数据修改请求,确定第二数据和第二数据状态,所述第二数据是与所述第一数据对应的新数据,所述第二数据状态是与所述第一数据状态对应的新数据状态;
将修改内容提交第二对象端进行审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态;
确定第一审核结果,所述第一审核结果是所述第二对象端审核所述修改内容的结果;
在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端,所述第三对象端用于获取数据接受程序;
通过所述数据接受程序将所述第二数据补充到所述数据库中,记为第三数据;
根据所述第二数据状态,修改数据库中相应的数据状态,得到第三数据状态。
第五方面,本公开还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收第一对象端发出的数据修改请求;
根据所述数据修改请求,查询并获取数据库中相应的数据和数据状态,分别作为第一数据和第一数据状态;
根据所述数据修改请求,确定第二数据和第二数据状态,所述第二数据是与所述第一数据对应的新数据,所述第二数据状态是与所述第一数据状态对应的新数据状态;
将修改内容提交第二对象端进行审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态;
确定第一审核结果,所述第一审核结果是所述第二对象端审核所述修改内容的结果;
在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端,所述第三对象端用于获取数据接受程序;
通过所述数据接受程序将所述第二数据补充到所述数据库中,记为第三数据;
根据所述第二数据状态,修改数据库中相应的数据状态,得到第三数据状态。
上述数据清洗方法、装置、计算机设备、存储介质和计算机程序产品,通过接收第一对象端发出的数据修改请求,根据所述数据修改请求,查询并获取数据库中相应的数据(即所述第一数据)和数据状态(即所述第一数据状态),根据所述数据修改请求,确定新数据(即所述第二数据)和新数据状态(即所述第二数据状态),将根据所述修改请求确定的新数据、新数据状态和数据库中相应的数据、数据状态一起提交所述第二对象端进行审核,审核得到第一审核结果,在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端,通过所述第三对象端获取数据接受程序,再通过数据接受程序将所述第二数据补充到所述数据库中,使用所述第二数据状态修改数据库中相应的数据状态。由于审核通过后,是将新数据补充到数据库中,而不是对数据库中的原数据进行修改,而且将新数据补充到数据库中是通过数据接受程序进行的,这两者都有助于避免操作数据库时误操作的风险。同时,由于所述第二对象端和所述第三对象端的存在,能够使相应的步骤被可视化执行,也有助于避免操作数据库时误操作的风险。前述操作直观简单,可以由非技术人员参与完成,减少了清洗开发人员编码以外的工作,可以提升清洗开发人员的工作效率,节约开发成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1为一个实施例中数据清洗方法的应用环境图。
图2为一个实施例中数据清洗方法的流程示意图。
图3为另一个实施例中数据清洗方法的流程示意图。
图4为一个实施例中数据清洗装置的结构框图。
图5为另一个实施例中数据清洗装置的结构框图。
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本公开的说明书和权利要求书及上述附图中的“第一对象端”、“第二对象端”、“第三对象端”、“第一数据”、“第二数据”、“第三数据”、“第四数据”、“第一数据状态”、“第二数据状态”、“第三数据状态”、“第四数据状态”等称呼只是用于区别类似的对象,是为了在说明过程中方便指代,并不用于限定本公开。在使用过程中,相应的对象端口、数据、数据状态并非必须要有类似于“第一对象端”、“第一数据”、“第一数据状态”这样的名称,可以是具体的指代内容,例如数据状态可以具体是临时屏蔽状态或者永久屏蔽状态。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开提供的数据清洗方法,可以应用于如图1所示的应用环境中。其中,终端102(第一对象端)通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102将第一对象端发出的数据修改请求发送给服务器104。服务器104根据所述数据修改请求,查询并获取数据库中相应的数据和数据状态,分别作为第一数据和第一数据状态。服务器104根据所述数据修改请求,修改所述第一数据和所述第一数据状态,得到第二数据和第二数据状态。服务器104将修改内容提交给终端106(所述第二对象端)审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态。服务器104确定终端106的审核结果,所述审核结果包括审核通过。服务器104在所述审查结果为审核通过的情况下,将所述第二数据和所述第二数据状态以消息队列的形式进行推送至终端108(所述第三对象端);服务器104根据所述第二数据和所述第二数据状态,通过数据接受程序对所述数据库中相应的数据状态和数据进行修改,得到第三数据和第三数据状态,所述数据接受程序由终端108根据所述第二数据和所述第二数据状态编写。其中,终端102、终端106、终端108均可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据清洗方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S202,接收第一对象端发出的数据修改请求。
其中,第一对象可以是指发出数据修改请求的对象,第一对象端可以是指发出数据修改请求的终端。
具体地,接收第一对象端的数据修改请求,所述第一对象可以是直接或间接发现数据库数据异常的人员,例如可以是使用数据库的客户,也可以是接收客户反馈的人员。所述数据修改请求可以包括修改数据库中的数据和数据状态,所述数据状态可以包括正常、临时屏蔽、永久屏蔽、无效等状态。所述数据状态可以用数字表示,例如可以用数字1表示正常,用数字2表示永久屏蔽,用数字10表示临时屏蔽。
S204,根据所述数据修改请求,查询并获取数据库中相应的数据和数据状态,分别作为第一数据和第一数据状态。
其中,相应的数据和数据状态可以是指数据库中与所述数据修改请求相对应的数据和数据状态。
具体地,根据所述数据修改请求,查询数据库中相应的数据和数据状态。所述数据修改请求中可以包括数据库中的原数据信息和原数据状态信息,也可以包括用于修改的新数据信息和新数据状态信息。例如所述数据修改请求中包含将数据库中的数据A修改为数据B、数据状态A1修改为数据状态B1,则数据A即是所述的原数据信息,数据状态A1即是所述的原数据状态信息,数据B即是所述的新数据信息,数据B1即是所述的新数据状态信息。所述相应的数据和数据状态与所述数据修改请求相对应,是数据库中可能需要修改的数据、数据状态。查询到所述相对应的数据和数据状态后,获取的方式为对所述相对应的数据和数据状态进行复制,复制得到的数据作为第一数据,复制得到的数据状态作为第一数据状态。复制的数据和数据状态可以暂时存储于服务器或者一个数据平台上。所述数据库中的数据均有对应的数据状态,所述数据库中的数据可以是基础表数据,所述数据库可以在每一个维度拥有一张基础表,所述基础表可以有固定字段data_status代表每条数据的数据状态。
S206,根据所述数据修改请求,确定第二数据和第二数据状态,所述第二数据是与所述第一数据对应的新数据,所述第二数据状态是与所述第一数据状态对应的新数据状态。
具体地,根据所述数据修改请求,确定第二数据和第二数据状态。所述第二数据状态可以为临时屏蔽状态或永久屏蔽状态。所述数据修改请求中可以包括数据库中的原数据信息和原数据状态信息,也可以包括用于修改的新数据信息和新数据状态信息。例如所述数据修改请求中包含将数据库中的数据A修改为数据B、数据状态A1修改为数据状态B1,则数据A即是所述的原数据信息,数据状态A1即是所述的原数据状态信息,数据B即是所述的新数据信息,数据B1即是所述的新数据状态信息。当所述数据修改请求中不包含所述新数据信息和/或所述新数据状态信息时,所述新数据信息和/或所述新数据状态信息可以由程序或者人工获取,用于确定所述第二数据和第二数据状态。所述第二数据是与所述第一数据对应的新数据,所述第二数据状态是与所述第一数据状态对应的新数据状态。
S208,将修改内容提交第二对象端进行审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态。
其中,第二对象端可以是指修改内容的审核端,所述第二对象端可以对修改内容进行审核,判断相应的修改是否正确。
具体地,将修改内容提交第二对象端进行审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态。所述第二对象端可以是一个数据平台。在所述第二对象端对所述修改内容进行审核的对象可以是非技术人员。
S210,确定第一审核结果,所述第一审核结果是所述第二对象端审核所述修改内容的结果。
具体地,确定第一审核结果,所述第一审核结果是所述第二对象端审核所述修改内容的结果。所述第一审核结果可以包括审核通过,也可以包括审核不通过。当所述第一审核结果包括审核不通过时,不再进行后续步骤。
S212,在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端,所述第三对象端用于获取数据接受程序。
其中,第三对象端可以是指用于获取数据接受程序的终端。
具体地,在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端。所述第三对象端可以获取所述数据接受程序,所述数据接受程序可以是由数据清洗开发人员根据所述第二数据、所述第二数据状态编写的程序。
S214,通过所述数据接受程序将所述第二数据补充到所述数据库中,记为第三数据。
具体地,通过所述数据接受程序将所述第二数据补充到所述数据库中,记为第三数据,所述第三数据与数据库中对应的原数据在数据库中共存,所述第三数据与所述数据库中对应的原数据可以有不同的标记,例如所述第三数据可以有标记“客诉后人工修改”,所述数据库中对应的原数据可以有标记“最初数据”。
S216,根据所述第二数据状态,修改数据库中相应的数据状态,得到第三数据状态。
具体地,根据所述第二数据状态,将数据库中相应的数据状态修改为与所述第二数据状态一致的内容,修改后的数据状态记为第三数据状态。
上述数据清洗方法中,通过接收第一对象端的数据修改请求,将新数据(即所述第二数据)、新数据状态(即所述第二数据状态)和数据库中相应的原数据(即所述第一数据)、原数据状态(即所述第一数据状态)一起提交审核,在审核结果为审核通过的情况下,通过数据接受程序将所述第二数据补充到所述数据库中,使用所述第二数据状态修改数据库中相应的数据状态。由于审核通过后,是将新数据补充到数据库中,而不是对数据库中的原数据进行修改,而且将新数据补充到数据库中是通过数据接受程序进行的,这两者都有助于避免操作数据库时误操作的风险。同时,由于所述第二对象端和所述第三对象端的存在,能够使相应的步骤被可视化执行,也有助于避免操作数据库时误操作的风险。前述操作直观简单,可以通过统一的技术方案实现数据清洗,因此可以由非技术人员参与完成,减少了清洗开发人员编码以外的工作,可以提升数据清洗效率,节约开发成本。
在一个实施例中,如图3所示,在所述得到第三数据状态之后还包括:
S302,通过所述数据接受程序将所述第二数据和所述第二数据状态存储到人工记录表,所述人工记录表用于记录数据库中相应的数据被人工修改过的信息。
具体地,通过所述数据接受程序将所述第二数据和所述第二数据状态信息存储到人工记录表,以记录步骤S214、步骤S216的处理内容,此步骤可以自动进行,所述人工记录表用于记录数据库中相应的数据被人工修改过的信息,所述人工记录表可以存储在所述数据库中。
S304,接收爬虫爬取的第四数据,确定与所述第四数据对应的第四数据状态,所述第四数据是与所述第三数据对应的新数据。
具体地,所述数据库可以包含基础库和爬虫库,所述数据库可以包含爬虫id(爬虫id可以是指爬虫的编码)与基础库中数据的对照表。在所述通过所述数据接受程序将所述第二数据补充到所述数据库之后,将所述第二数据存储到所述基础库中。根据所述对照表定位所述基础库中的所述第二数据。使用爬虫爬取与所述第二数据对应的数据,记为第四数据。所述第四数据状态用于表示爬虫爬取的数据是否真实可用,可以是有效状态,也可以是无效状态。确定与所述第四数据对应的第四数据状态,所述第四数据状态可以由人工确定。当所述第四数据与所述第三数据相同时,可以由程序自动确定所述第四数据状态为有效状态。
S306,根据所述人工记录表、所述第四数据、所述第四数据状态,通过所述数据接受程序修改所述第三数据和所述第三数据状态。
具体地,根据所述第四数据、所述第四数据状态、所述人工记录表中记录的所述第二数据和所述第二数据状态,修改所述第三数据和所述第三数据状态。例如可以在所述第四数据状态为有效状态(表示所述第四数据为正确数据)时,通过所述数据接受程序修改所述第三数据,使所述第三数据与所述第四数据一致。
本实施例中,通过接收第四数据,确定第四数据状态,根据所述人工记录表、所述第四数据、所述第四数据状态,通过所述数据接受程序修改所述第三数据和所述第三数据状态,能够达到使用统一的技术方案实现爬虫爬取新数据时的数据清洗,使这部分工作可以由非技术人员参与完成,有助于减少清洗开发人员编码以外的工作,提升数据清洗效率,节约了开发成本。
在一个实施例中,所述通过所述数据接受程序修改所述第三数据和所述第三数据状态包括:当所述人工记录表记录所述第二数据状态为临时屏蔽状态,且所述第四数据状态为有效状态时,根据所述第四数据,修改数据库中的所述第三数据;将所述第三数据状态修改为有效状态;将所述人工记录表中的所述第二数据状态修改为无效状态。
具体地,有效状态用于表示对应的数据是正确的、可用的。无效状态用于表示对应的数据是不可用的。当所述人工记录表记录所述第二数据状态为临时屏蔽状态(临时屏蔽可以是指相应的数据暂时停止数据清洗,当触发一定的条件之后,相应的数据可以继续被清洗),且所述第四数据状态为有效状态时,根据所述第四数据,通过所述数据接受程序修改数据库中的所述第三数据,使所述第三数据与所述第四数据一致。可以由人工或者程序将所述第三数据状态修改为有效状态。可以由人工或者程序将所述人工记录表中的所述第二数据状态修改为无效状态。此时,可以将基础库中记录的相应数据删除。
本实施例中,在所述人工记录表记录所述第二数据状态为临时屏蔽状态,且所述第四数据状态为有效状态时,通过确定相应的数据清洗操作,能够达到使用统一的方案完成数据清洗。有助于使数据清洗过程变得更直观简单,从而使非技术人员可以参与完成这种情况下的数据清洗,有助于减少清洗开发人员编码以外的工作,提升数据清洗效率,节约了开发成本。
在一个实施例中,所述通过所述数据接受程序修改所述第三数据和所述第三数据状态包括:当所述人工记录表记录的所述第二数据状态为永久屏蔽状态,或所述第四数据状态为无效状态时,对所述第三数据和所述第三数据状态不做修改。
具体地,当所述人工记录表记录的所述第二数据状态为永久屏蔽状态(永久屏蔽可以是指相应的数据不再进行数据清洗,即使源数据更新,数据库中的相应数据也不再进行清洗),或所述第四数据状态为无效状态时,对所述第三数据和所述第三数据状态不做修改。
本实施例中,在所述人工记录表记录的所述第二数据状态为永久屏蔽状态,或所述第四数据状态为无效状态时,通过确定相应的数据清洗操作,能够使用统一的方案完成相应的数据清洗任务。有助于使数据清洗过程变得更直观简单,从而使非技术人员可以参与完成这种情况下的数据清洗,也可以由程序自动进行,有助于减少清洗开发人员编码以外的工作,提升数据清洗效率,节约了开发成本。
在一个实施例中,所述确定与所述第四数据对应的第四数据状态包括:将所述第四数据提交所述第二对象端进行审核;确定第二审核结果,所述第二审核结果是所述第二对象端审核所述第四数据的结果;根据所述第二审核结果,确定所述第四数据状态。
具体地,将所述第四数据提交所述第二对象端进行审核。在所述第二对象端,可以由人工或者程序审核所述第四数据是否正确,确定第二审核结果。所述第二审核结果可以包括所述第四数据有效,也可以包括所述第四数据无效。当所述第二审核结果包括所述第四数据有效时,确定所述第四数据状态为有效状态,当所述第二审核结果包括所述第四数据无效时,确定所述第四数据状态为无效状态。
本实施例中,通过确定所述第四数据状态的确定过程,有助于使用统一的方案完成相应的数据清洗任务,有助于减少清洗开发人员编码以外的工作,提升数据清洗效率,节约了开发成本。
在一个实施例中,所述第二对象端和所述第三对象端属于同一个可视化操作平台的终端。
具体地,所述可视化操作平台可以包括所述第二对象端和所述第三对象端,所述可视化操作平台可以显示数据清洗的具体过程。所述第二对象端和所述第三对象端可以拥有相同物理终端。本公开中,对于同一个物理终端,不同的对象登录或使用时可以视为不同的对象端。不同的对象可以通过同一个可视化操作平台共同完成同一个数据清洗业务。
本实施例中,通过使所述第二对象端和所述第三对象端属于同一个可视化操作平台的终端,能够达到使数据清洗过程可视化的效果,有助于避免数据清洗过程中误操作的风险,从而有助于非技术人员参与完成数据清洗工作,减少清洗开发人员编码以外的工作,提升数据清洗效率,节约了开发成本。
在一个实施例中,所述将所述第二数据和所述第二数据状态推送至第三对象端包括:以消息队列的形式推送所述第二数据和所述第二数据状态。
具体地,所述消息队列可以是kafka消息队列(关于kafka,目前没有中文翻译,kafka消息队列是一种分布式消息队列)。将所述第二数据和所述第二数据状态以消息队列的形式推送至第三对象端。
本实施例中,通过将所述第二数据和所述第二数据状态以消息队列的形式推送至第三对象端,可以快速将大量数据推送至第三对象端,能够达到提升数据清洗效率的目的。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种数据清洗装置,包括:请求接收模块402、数据查询模块404、数据确定模块406、审核提交模块408、审核确定模块410、消息推送模块412、数据修改模块414和状态修改模块416,其中:
请求接收模块402,用于接收第一对象端发送的数据修改请求。
数据查询模块404,用于根据所述数据修改请求,查询并获取数据库中相应的数据和数据状态,分别作为第一数据和第一数据状态。
数据确定模块406,用于根据所述数据修改请求,确定第二数据和第二数据状态,所述第二数据是与所述第一数据对应的新数据,所述第二数据状态是与所述第一数据状态对应的新数据状态。
审核提交模块408,用于将修改内容提交第二对象端进行审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态。
审核确定模块440,用于确定第一审核结果,所述第一审核结果是所述第二对象端审核所述修改内容的结果。
消息推送模块412,用于在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端,所述第三对象端用于获取数据接受程序。
数据修改模块414,用于通过所述数据接受程序将所述第二数据补充到所述数据库中,记为第三数据。
状态修改模块416,用于根据所述第二数据状态,修改数据库中相应的数据状态,得到第三数据状态。
在一个实施例中,如图5所示,所述数据清洗装置还包括记录模块418、爬虫数据模块420、爬虫修改模块422,其中:
记录模块418,用于通过所述数据接受程序将所述第二数据和所述第二数据状态存储到人工记录表,所述人工记录表用于记录数据库中相应的数据被人工修改过的信息。
爬虫数据模块420,用于接收爬虫爬取的第四数据,确定与所述第四数据对应的第四数据状态,所述第四数据是与所述第三数据对应的新数据。
爬虫修改模块422,用于根据所述人工记录表、所述第四数据、所述第四数据状态,通过所述数据接受程序修改所述第三数据和所述第三数据状态。
在一个实施例中,所述爬虫修改模块422还用于当所述人工记录表记录所述第二数据状态为临时屏蔽状态,且所述第四数据状态为有效状态时,根据所述第四数据,修改数据库中的所述第三数据;将所述第三数据状态修改为有效状态;将所述人工记录表中的所述第二数据状态修改为无效状态。
在一个实施例中,所述爬虫修改模块422还用于当所述人工记录表记录的所述第二数据状态为永久屏蔽状态,或所述第四数据状态为无效状态时,对所述第三数据和所述第三数据状态不做修改。
在一个实施例中,爬虫数据模块420还用于将所述第四数据提交所述第二对象端进行审核;确定第二审核结果,所述第二审核结果是所述第二对象端审核所述第四数据的结果;根据所述第二审核结果,确定所述第四数据状态。
在一个实施例中,消息推送模块412还用于将所述第二数据和所述第二数据状态以消息队列的形式推送至第三对象端。
关于数据清洗装置的具体限定可以参见上文中对于数据清洗方法的限定,在此不再赘述。上述数据清洗装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据清洗方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种数据清洗方法,其特征在于,所述方法包括:
接收第一对象端发出的数据修改请求;
根据所述数据修改请求,查询并获取数据库中相应的数据和数据状态,分别作为第一数据和第一数据状态;
根据所述数据修改请求,确定第二数据和第二数据状态,所述第二数据是与所述第一数据对应的新数据,所述第二数据状态是与所述第一数据状态对应的新数据状态;
将修改内容提交第二对象端进行审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态;
确定第一审核结果,所述第一审核结果是所述第二对象端审核所述修改内容的结果;
在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端,所述第三对象端用于获取数据接受程序;
通过所述数据接受程序将所述第二数据补充到所述数据库中,记为第三数据;
根据所述第二数据状态,修改数据库中相应的数据状态,得到第三数据状态。
2.根据权利要求1所述的方法,其特征在于,在所述得到第三数据状态之后还包括:
通过所述数据接受程序将所述第二数据和所述第二数据状态存储到人工记录表,所述人工记录表用于记录数据库中相应的数据被人工修改过的信息;
接收爬虫爬取的第四数据,确定与所述第四数据对应的第四数据状态,所述第四数据是与所述第三数据对应的新数据;
根据所述人工记录表、所述第四数据、所述第四数据状态,通过所述数据接受程序修改所述第三数据和所述第三数据状态。
3.根据权利要求2所述的方法,其特征在于,所述通过所述数据接受程序修改所述第三数据和所述第三数据状态包括:
当所述人工记录表记录所述第二数据状态为临时屏蔽状态,且所述第四数据状态为有效状态时,根据所述第四数据,修改数据库中的所述第三数据;
将所述第三数据状态修改为有效状态;
将所述人工记录表中的所述第二数据状态修改为无效状态。
4.根据权利要求2所述的方法,其特征在于,所述通过所述数据接受程序修改所述第三数据和所述第三数据状态包括:
当所述人工记录表记录的所述第二数据状态为永久屏蔽状态,或所述第四数据状态为无效状态时,对所述第三数据和所述第三数据状态不做修改。
5.根据权利要求2所述的方法,其特征在于,所述确定与所述第四数据对应的第四数据状态包括:
将所述第四数据提交所述第二对象端进行审核;
确定第二审核结果,所述第二审核结果是所述第二对象端审核所述第四数据的结果;
根据所述第二审核结果,确定所述第四数据状态。
6.根据权利要求1所述的方法,其特征在于,所述第二对象端和所述第三对象端属于同一个可视化操作平台的终端。
7.根据权利要求1所述的方法,其特征在于,所述将所述第二数据和所述第二数据状态推送至第三对象端包括:
以消息队列的形式推送所述第二数据和所述第二数据状态。
8.一种数据清洗装置,其特征在于,所述装置包括:
请求接收模块,用于接收第一对象端发出的数据修改请求;
数据查询模块,用于根据所述数据修改请求,查询并获取数据库中相应的数据和数据状态,分别作为第一数据和第一数据状态;
数据确定模块,用于根据所述数据修改请求,确定第二数据和第二数据状态,所述第二数据是与所述第一数据对应的新数据,所述第二数据状态是与所述第一数据状态对应的新数据状态;
审核提交模块,用于将修改内容提交第二对象端进行审核,所述修改内容包括所述第一数据、所述第二数据、所述第一数据状态、所述第二数据状态;
审核确定模块,用于确定第一审核结果,所述第一审核结果是所述第二对象端审核所述修改内容的结果;
消息推送模块,用于在所述第一审核结果为审核通过的情况下,将所述第二数据和所述第二数据状态推送至第三对象端,所述第三对象端用于获取数据接受程序;
数据修改模块,用于通过所述数据接受程序将所述第二数据补充到所述数据库中,记为第三数据;
状态修改模块,用于根据所述第二数据状态,修改数据库中相应的数据状态,得到第三数据状态。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202111447005.5A 2021-11-30 2021-11-30 数据清洗方法、装置、计算机设备、计算机可读存储介质 Active CN114238292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111447005.5A CN114238292B (zh) 2021-11-30 2021-11-30 数据清洗方法、装置、计算机设备、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111447005.5A CN114238292B (zh) 2021-11-30 2021-11-30 数据清洗方法、装置、计算机设备、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114238292A true CN114238292A (zh) 2022-03-25
CN114238292B CN114238292B (zh) 2024-02-20

Family

ID=80752333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111447005.5A Active CN114238292B (zh) 2021-11-30 2021-11-30 数据清洗方法、装置、计算机设备、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114238292B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320474A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Availability of Database Objects During Database Operations
CN102541952A (zh) * 2010-12-29 2012-07-04 北大方正集团有限公司 一种基于数据库获取历史数据的方法及装置
CN110032558A (zh) * 2019-04-12 2019-07-19 重庆天蓬网络有限公司 一种数据同步方法、装置、系统及存储介质
CN110213357A (zh) * 2019-05-22 2019-09-06 深圳壹账通智能科技有限公司 业务数据回退方法、装置、计算机设备和存储介质
CN111414519A (zh) * 2020-03-27 2020-07-14 中国平安财产保险股份有限公司 一种信息处理方法、装置、计算机系统及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320474A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Availability of Database Objects During Database Operations
CN102541952A (zh) * 2010-12-29 2012-07-04 北大方正集团有限公司 一种基于数据库获取历史数据的方法及装置
CN110032558A (zh) * 2019-04-12 2019-07-19 重庆天蓬网络有限公司 一种数据同步方法、装置、系统及存储介质
CN110213357A (zh) * 2019-05-22 2019-09-06 深圳壹账通智能科技有限公司 业务数据回退方法、装置、计算机设备和存储介质
CN111414519A (zh) * 2020-03-27 2020-07-14 中国平安财产保险股份有限公司 一种信息处理方法、装置、计算机系统及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
于明鹤;聂铁铮;李国良;: "数据管护技术及应用", 大数据, no. 06 *
欧家祥;王吉;王俊融;: "基于数据库模式的数据质量审核方法研究", 贵州电力技术, no. 05 *

Also Published As

Publication number Publication date
CN114238292B (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
CN108399263A (zh) 时序数据的存储和查询方法及存储和处理平台
US20120158795A1 (en) Entity triggers for materialized view maintenance
CN114925084B (zh) 分布式事务处理方法、系统、设备及可读存储介质
CN108428187A (zh) 地址匹配方法、装置及存储介质
CN109614312A (zh) 测试用例生成方法、装置、电子设备及存储介质
CN103678591A (zh) 自动执行多业务单据统计处理的装置和方法
CN112465172A (zh) 一种医院智能就诊方法及装置
CN112561690A (zh) 信用卡分期业务接口的测试方法、系统、设备及存储介质
CN114238292B (zh) 数据清洗方法、装置、计算机设备、计算机可读存储介质
CN110851518A (zh) 知识产权案件数据导入方法、系统、电子终端及介质
CN114496139A (zh) 电子病历的质控方法、装置、设备、系统及可读介质
CN114356945A (zh) 数据处理方法、装置、计算机设备和存储介质
CN114186961A (zh) 业务审批流程配置方法、装置、计算机设备和存储介质
CN112015429B (zh) 一种代码生成方法、装置及设备
CN112835886A (zh) 数据表字段添加方法和装置
CN111563183A (zh) 拜访记录的自动生成方法、装置及计算设备、存储介质
CN111221817A (zh) 业务信息数据存储方法、装置、计算机设备及存储介质
CN111831274B (zh) 一种元数据解析引擎配置系统、方法、终端及可读存储介质
CN117149745A (zh) 一种新旧系统的报表核对方法、装置、设备和存储介质
CN114218191A (zh) 系统功能迁移方法、装置、计算机设备及存储介质
CN116432229A (zh) 浏览器防截屏方法、装置、计算机设备、介质和程序产品
CN114840237A (zh) 流程程序代码的更新方法、装置、计算机设备和存储介质
CN114915573A (zh) 测试方法、装置、设备、存储介质和程序产品
CN118113590A (zh) 异常处理方法、装置及存储介质
CN117235046A (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
CB02 Change of applicant information

Address after: No. 8 Huizhi Street, Suzhou Industrial Park, Suzhou Area, China (Jiangsu) Pilot Free Trade Zone, Suzhou City, Jiangsu Province, 215000

Applicant after: Qichacha Technology Co.,Ltd.

Address before: Room 503, 5 / F, C1 building, 88 Dongchang Road, Suzhou Industrial Park, 215000, Jiangsu Province

Applicant before: Qicha Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant