CN117112550B - 数据清洗方法、数据清洗装置、计算机设备和存储介质 - Google Patents
数据清洗方法、数据清洗装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117112550B CN117112550B CN202311379637.1A CN202311379637A CN117112550B CN 117112550 B CN117112550 B CN 117112550B CN 202311379637 A CN202311379637 A CN 202311379637A CN 117112550 B CN117112550 B CN 117112550B
- Authority
- CN
- China
- Prior art keywords
- data
- cleaning
- cleaned
- screening
- 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.)
- Active
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 352
- 238000000034 method Methods 0.000 title claims abstract description 128
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000012216 screening Methods 0.000 claims abstract description 152
- 238000013500 data storage Methods 0.000 claims abstract description 58
- 230000001960 triggered effect Effects 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 74
- 230000006870 function Effects 0.000 claims description 66
- 238000012545 processing Methods 0.000 claims description 61
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000004927 fusion Effects 0.000 abstract description 5
- 238000004590 computer program Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000013515 script Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241001125840 Coryphaenidae Species 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种数据清洗方法、数据清洗装置、计算机设备和存储介质。所述方法包括:响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表;基于数据存储表信息,确定针对各待清洗信息的待清洗数据不同待清洗信息的待清洗数据所对应的数据来源不同;基于各待清洗信息的排列顺序、数据筛选规则和数据清洗规则,依次对各待清洗数据进行数据筛选处理和数据清洗处理,得到针对各待清洗数据的清洗结果;将各待清洗数据的清洗结果存储于各自对应的数据存储表中。采用本方法能够实现对多种来源数据进行融合清洗,提升数据清洗的执行效率和降低在进行数据清洗时的人力劳动成本。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据清洗方法、数据清洗装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术
近年来随着大数据技术的发展,为原来海量的日志、上网记录、历史数据等提供了新的分析技术手段,通过分析这些海量数据能够发现很多平时发现不到的有价值信息,数据分析由量变带来质变。大数据技术对企业内部可以支撑企业的经营分析,对于外部可以实现新的应用创新,为用户带来更多更好的服务。
要做大数据服务,第一步就是要把分散在各处的数据采集上来,进行清洗,清洗好的数据进行入库。这个过程又叫ETL,涉及extract数据抽取、Transformation数据转换、Load数据装载三个步骤。
然而过去数据清洗的手段只能针对单一的数据源,例如数据源要么是文本文件,要么是Oracle、Mysql数据库的记录,针对不同的数据源需要采用不同的清洗工具,目前还没有办法进行异构数据的融合清洗。另外,针对不同的数据源需要采用不同的清洗工具,不同数据源的清洗均需要编写不同的程序和脚本,例如:对于Oracle、Mysql这些数据库要在数据库上编写SQL清洗脚本;对于海量的文件,大数据的清洗手段有Mapreduce程序和Spark程序。这些清洗手段要求用户掌握多种清洗工具的使用方法,有较高的清洗工具的开发能力,使用门槛比较高。
发明内容
针对上述问题,本公开提供一种数据清洗方法、数据清洗装置、计算机设备、计算机可读存储介质和计算机程序产品。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据清洗方法,包括:
响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表;在所述待清洗列表中包括多条按照先后顺序排列的待清洗信息,各所述待清洗信息包括有对应的数据存储表信息、数据筛选规则和数据清洗规则;
基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据;其中,不同所述待清洗信息的待清洗数据所对应的数据来源不同;
基于各所述待清洗信息的排列顺序、数据筛选规则和数据清洗规则,依次对各所述待清洗数据进行数据筛选处理和数据清洗处理,得到针对各所述待清洗数据的清洗结果;其中,在对所述待清洗数据进行数据清洗处理的过程中,响应于所述业务系统中待执行的业务指令的执行时间满足预设条件,暂停、结束或者重启所述数据清洗处理的进程;所述业务指令所用于指示执行的应用功能不同于所述数据清洗指令;
将各所述待清洗数据的清洗结果存储于各自对应的数据存储表中。
在一示例性实施例中,在所述业务系统中预先配置有定时清洗程序,所述定时清洗程序用于分别在多个时间条件满足的情况下触发对应清洗批次的数据清洗指令;
所述响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表,包括:
在当前时间满足所述定时清洗程序对应的时间条件的情况下,触发数据清洗指令,以基于所述当前时间确定针对所述定时清洗程序的当前清洗批次和数据库信息;
基于所述数据库信息连接目标数据库,并从所述目标数据库中提取出匹配于所述当前清洗批次的待清洗列表。
在一示例性实施例中,各所述待清洗信息包括处于待清洗列表中的列序号和列名,所述数据存储表信息包括至少一张业务数据表的表名;
所述基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据,包括:
针对每一所述待清洗信息,基于对应的至少一张业务数据表的表名,从业务数据库中索引出对应的所述至少一张业务数据表;
从所述至少一张业务数据表中提取出针对所述待清洗信息的业务数据;
基于所述列序号和所述列名,将所述业务数据封装成对应的分布式数据集合,并将所述分布式数据集合作为待清洗数据。
在一示例性实施例中,所述数据筛选规则包括对应的预设范围条件和预设逻辑条件,所述数据清洗规则包括对应的至少一个清洗函数;
所述对各所述待清洗数据进行数据筛选处理和数据清洗处理,得到针对各所述待清洗数据的清洗结果,包括:
针对每一待清洗数据,基于所述数据筛选规则对所述待清洗数据进行数据筛选处理,以从所述待清洗数据中筛选出满足所述预设范围条件和所述预设逻辑条件的筛选数据;
基于所述数据清洗规则对所述筛选数据进行数据清洗处理,以通过所述至少一个清洗函数将所述筛选数据转化为标准化数据,得到针对所述待清洗数据的清洗结果。
在一示例性实施例中,所述预设范围条件包括起始时间和结束时间,所述预设逻辑条件包括至少一个业务逻辑;
所述从所述待清洗数据中筛选出满足所述预设范围条件和所述预设逻辑条件的筛选数据,包括以下两项:
从所述待清洗数据中筛选出处于所述起始时间和所述结束时间范围内的第一筛选数据;
从所述待清洗数据中筛选出均符合所述至少一个业务逻辑的第二筛选数据。
在一示例性实施例中,所述通过所述至少一个清洗函数将所述筛选数据转化为标准化数据,包括以下六项:
通过第一清洗函数将所述筛选数据中的指定字符移除,得到第一标准化数据;
通过第二清洗函数将所述筛选数据中的指定字符替换为预设字符,得到第二标准化数据;
通过第三清洗函数将所述筛选数据中重复的目标字符移除,得到第三标准化数据;
通过第四清洗函数将所述筛选数据中对应参数数值属于指定参数数值的字符做分隔处理,得到第四标准化数据;
通过第五清洗函数将所述筛选数据中满足对应正则表达式的字符做分隔处理,得到第五标准化数据;
通过第六清洗函数将所述筛选数据中的空值字符填充默认值,得到第六标准化数据。
在一示例性实施例中,所述响应于所述业务系统中待执行的系统业务指令的执行时间满足预设条件,暂停、结束或者重启所述数据清洗处理的进程,包括:
响应于所述业务指令的起始执行时间与当前时间之间的距离小于第一距离,暂停所述数据清洗处理的进程;
响应于所述业务指令的终止执行时间与当前时间之间的距离大于第二距离,重启所述数据清洗处理的进程;
响应于所述业务指令的所述起始执行时间与所述终止执行时间之间的距离大于第三距离,结束所述数据清洗处理的进程。
根据本公开实施例的第二方面,提供一种数据清洗装置,包括:
指令触发单元,被配置为执行响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表;在所述待清洗列表中包括多条按照先后顺序排列的待清洗信息,各所述待清洗信息包括有对应的数据存储表信息、数据筛选规则和数据清洗规则;
数据确定单元,被配置为执行基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据;其中,不同所述待清洗信息的待清洗数据所对应的数据来源不同;
数据清洗单元,被配置为执行基于各所述待清洗信息的排列顺序、数据筛选规则和数据清洗规则,依次对各所述待清洗数据进行数据筛选处理和数据清洗处理,得到针对各所述待清洗数据的清洗结果;其中,在对所述待清洗数据进行数据清洗处理的过程中,响应于所述业务系统中待执行的业务指令的执行时间满足预设条件,暂停、结束或者重启所述数据清洗处理的进程;所述业务指令所用于指示执行的应用功能不同于所述数据清洗指令;
结果存储单元,被配置为执行将各所述待清洗数据的清洗结果存储于各自对应的数据存储表中。
根据本公开实施例的第三方面,提供一种计算机设备,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令,以实现如上述任一项所述的数据清洗方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中包括程序数据,当所述程序数据由计算机设备的处理器执行时,使得所述计算机设备能够执行如上述任一项所述的数据清洗方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中包括程序指令,所述程序指令被计算机设备的处理器执行时,使得所述计算机设备能够执行如上述任一项所述的数据清洗方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
该方法先通过响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表;在待清洗列表中包括多条按照先后顺序排列的待清洗信息,各待清洗信息包括有对应的数据存储表信息、数据筛选规则和数据清洗规则;基于数据存储表信息,确定针对各待清洗信息的待清洗数据;其中,不同待清洗信息的待清洗数据所对应的数据来源不同;基于各待清洗信息的排列顺序、数据筛选规则和数据清洗规则,依次对各待清洗数据进行数据筛选处理和数据清洗处理,得到针对各待清洗数据的清洗结果;其中,在对待清洗数据进行数据清洗处理的过程中,响应于业务系统中待执行的业务指令的执行时间满足预设条件,暂停、结束或者重启数据清洗处理的进程;业务指令所用于指示执行的应用功能不同于数据清洗指令;将各待清洗数据的清洗结果存储于各自对应的数据存储表中。这样,一方面,通过区别于现有技术的方式,本方案响应数据清洗指令,先获取针对当前清洗批次的待清洗列表,从而确定对应的数据存储表信息、数据筛选规则和数据清洗规则,然后再基于数据存储表信息,确定多个不同数据来源的待清洗数据,从而对利用数据筛选规则和数据清洗规则对该多个不同数据来源的待清洗数据进行数据清洗,以实现对多种来源的数据进行融合清洗,从而优化了数据清洗的流程,提升了数据清洗的执行效率和降低了在进行数据清洗时的资源占用率和人力劳动成本;另一方面,在对待清洗数据进行数据清洗处理的过程中,若业务系统中待执行的业务指令的执行时间满足预设条件,则暂停、结束或者重启数据清洗处理的进程,从而避免了因系统执行不同于数据清洗指令的其他应用功能,影响了对待清洗数据进行数据清洗的效率和准确性的需求问题,提升了数据清洗方式的灵活性和实用性,便于系统能够正常运行其他的应用功能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种数据清洗方法的应用环境图。
图2是根据一示例性实施例示出的一种数据清洗方法的流程图。
图3是根据一示例性实施例示出的一种确定待清洗数据步骤的流程图。
图4是根据一示例性实施例示出的一种得到清洗结果步骤的流程图。
图5是根据一示例性实施例示出的一种数据清洗装置框图。
图6是根据一示例性实施例示出的一种用于数据清洗的计算机设备的框图。
图7是根据一示例性实施例示出的一种用于数据清洗的计算机可读存储介质的框图。
图8是根据一示例性实施例示出的一种用于数据清洗的计算机程序产品的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例中的术语“和/或”指的是包括相关联的列举项目中的一个或多个的任何和全部的可能组合。还要说明的是:当用在本说明书中时,“包括/包含”指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元件和/或组件和/或它们的组群的存在或添加。
本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,本申请中尽管多次采用术语“第一”、“第二”等来描述各种操作(或各种元件或各种应用或各种指令或各种数据)等,不过这些操作(或元件或应用或指令或数据)不应受这些术语的限制。这些术语只是用于区分一个操作(或元件或应用或指令或数据)和另一个操作(或元件或应用或指令或数据)。
本申请实施例提供的数据清洗方法,可以应用于如图1所示的应用环境中。其中,终端102通过通信网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
在一些实施例中,参考图1,服务器104响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表;在待清洗列表中包括多条按照先后顺序排列的待清洗信息,各待清洗信息包括有对应的数据存储表信息、数据筛选规则和数据清洗规则;基于数据存储表信息,确定针对各待清洗信息的待清洗数据;其中,不同待清洗信息的待清洗数据所对应的数据来源不同;基于各待清洗信息的排列顺序、数据筛选规则和数据清洗规则,依次对各待清洗数据进行数据筛选处理和数据清洗处理,得到针对各待清洗数据的清洗结果;其中,在对待清洗数据进行数据清洗处理的过程中,响应于业务系统中待执行的业务指令的执行时间满足预设条件,暂停、结束或者重启数据清洗处理的进程;业务指令所用于指示执行的应用功能不同于数据清洗指令;将各待清洗数据的清洗结果存储于各自对应的数据存储表中。
在一些实施例中,终端102(如移动终端、固定终端)可以以各种形式来实施。其中,终端102可为包括诸如移动电话、智能电话、笔记本电脑、便携式手持式设备、个人数字助理(PDA,Personal Digital Assistant)、平板电脑(PAD)等等的移动终端,终端102也可以是自动柜员机(Automated Teller Machine,ATM)、自动一体机、数字TV、台式计算机、固式计算机等等的固定终端。
下面,假设终端102是固定终端。然而,本领域技术人员将理解的是,若有特别用于移动目的的操作或者元件,根据本申请公开的实施方式的构造也能够应用于移动类型的终端102。
在一些实施例中,服务器104运行的数据处理组件可以加载正在被执行的可以包括各种附加服务器应用和/或中间层应用中的任何一种,如包括HTTP(超文本传输协议)、FTP(文件传输协议)、CGI(通用网关界面)、RDBMS(关系型数据库管理系统)等。
在一些实施例中,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器104可以适于运行提供前述公开中描述的终端102的一个或多个应用服务或软件组件。
在一些实施例中,应用服务或软件组件运行的操作系统可以包括各种版本的Microsoft Windows®、Apple Macintosh®和/或Linux操作系统、各种商用或类UNIX®操作系统(包括但不限于各种GNU/Linux操作系统、Google Chrome®OS等)和/或移动操作系统,诸如iOS®、Windows®Phone、Android®OS、BlackBerry®OS、Palm®OS操作系统,以及其它在线操作系统或者离线操作系统,在这里不做具体的限制。
在一些实施例中,用户预先在任务调度系统(属于一种业务系统)上创建了定时调度任务(即一个定时清洗程序),得到对应的任务脚本。
具体地,在任务调度系统的服务界面上,用户使用调度部署创建工作流,在工作流中新增任务节点,将业务数据表信息、清洗批次表信息和清洗规则信息录入到清洗规则信息录入表中。
其中,任务调度系统为dolphinscheduler系统。dolphinscheduler系统为一个分布式易扩展的可视化DAG工作流任务调度系统。
其中,创建定时调度任务包括:配置调度任务的数据来源的名称、nacos域名、nacos分组、nacos服务地址、清洗批次名、清洗数据集起始日期、清洗数据集结束日期和定时周期。
其中,nacos为一个用于构建云原生应用的动态服务注册、发现、配置和服务的管理平台。
其中,每个任务节点只能处理一个清洗批次,根据实际情况创建完任务节点后,保存到工作流中。
其中,待清洗的业务数据被预先保存在业务数据表中,且每个业务数据表对应1个清洗批次名称,同1个清洗批次名称可以对应多个业务数据表。
其中,业务数据表也可以称为清洗保存表或者数据存储表,其为一种数仓hive表。
其中,清洗批次表信息为清洗批次表中记录的针对清洗批次、定时时间和对应清洗批次的业务数据表信息之间的关联信息。例如,某清洗批次表中的清洗批次表信息为(定时时间T1,第一批次,业务数据表X1),则其表征在定时时间T1时,定时调度任务的第一批次的清洗工作开始启动,该第一批次的清洗工作用于对业务数据表X1所对应的业务数据进行数据清洗。
其中,清洗规则信息表征在开发人员对清洗逻辑理解后,对清洗函数进行组装所得到的清洗逻辑结果。
其中,在清洗规则信息录入表中包括针对各个清洗批次的待清洗列表,且在待清洗列表中包括多条按照先后顺序排列的待清洗信息,该待清洗信息用于指示按照其对应的清洗规则对相应的业务数据表中的待清洗数据进行数据清洗。
在一些实施例中,如图2所示,提供了一种数据清洗方法,以该方法应用于图1中的服务器104为例进行说明,该方法包括以下步骤:
步骤S11:响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表。
在一实施例中,在数据清洗业务系统中预先配置有定时清洗程序,且该定时清洗程序用于分别在多个时间条件满足的情况下触发对应清洗批次的数据清洗指令。
作为示例,定时清洗程序即为定时调度任务,该定时调度任务对应的任务脚本用于分别在时刻x1触发对应第一清洗批次的数据清洗指令、时刻x2触发对应第二清洗批次的数据清洗指令、时刻x3触发对应第三清洗批次的数据清洗指令、时刻x4触发对应第四清洗批次的数据清洗指令和时刻x5触发对应第五清洗批次的数据清洗指令。
具体地,当业务系统中的定时清洗程序达到定时时间,服务器自动触发定时清洗程序的数据清洗指令,从而服务器根据数据清洗指令获取针对当前清洗批次的待清洗列表。
在一些实施例中,在待清洗列表中包括多条按照先后顺序排列的待清洗信息,且各待清洗信息包括有对应处于待清洗列表中的列序号和列名,以及数据存储表信息、数据筛选规则和数据清洗规则。
作为示例,在到达时间T1时满足定时清洗程序的一个定时时间,从而服务器自动触发数据清洗指令,以首先确定针对时间T1的当前清洗批次,然后再从业务系统中获取到针对当前清洗批次的待清洗列表。其中,该待清洗列表中包括按照列序号和列名,来先后顺序排列的待清洗信息1、待清洗信息2、待清洗信息3;其中,待清洗信息1、待清洗信息2、待清洗信息3均包括其各自对应的数据存储表信息、数据筛选规则和数据清洗规则。
其中,数据存储表用于存储多张业务数据表的表信息,包括表名、表地址等,以及数据存储表信息包括至少一张业务数据表的表名。
其中,业务数据表用于存储待清洗的业务数据,即业务数据表为一种清洗保存表,服务器通过数据存储表信息可以确定到对应待清洗的目标业务数据表。
在一实施例中,数据筛选规则用于筛选具有相应时间区间、与逻辑的业务数据,其中数据筛选规则包括对应的预设范围条件和预设逻辑条件;数据清洗规则包括对应的至少一个清洗函数。
其中,预设范围条件包括起始时间和结束时间,即数据筛选规则用于筛选出对应处于该起始时间和结束时间范围内的待清洗的业务数据。
其中,数据清洗预设逻辑条件包括至少一个业务逻辑,即服务器通过该至少一个业务逻辑对待清洗的业务数据进行数据清洗操作。
步骤S12:基于数据存储表信息,确定针对各待清洗信息的待清洗数据。
其中,不同待清洗信息的待清洗数据所对应的数据来源不同。
在一实施例中,服务器响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表,包括以下步骤:
步骤一:在当前时间满足定时清洗程序对应的时间条件的情况下,触发数据清洗指令,以基于当前时间确定针对定时清洗程序的当前清洗批次和数据库信息。
具体地,在当前时间满足定时清洗程序的某一个时间条件的情况下,服务器触发数据清洗指令,以首先确定定时清洗程序在当前时间所对应的清洗批次,作为当前清洗批次,然后,再确定针对当前清洗批次的数据库信息。
步骤二:基于数据库信息连接目标数据库,并从目标数据库中提取出匹配于当前清洗批次的待清洗列表。
具体地,服务器根据当前清洗批次的数据库信息,连接到数据库信息所对应的目标数据库,然后,再从目标数据库中提取出匹配于当前清洗批次的待清洗列表。
作为示例,定时清洗程序针对数据清洗指令的一个时间条件为达到时间T1,且时间T1对应的清洗批次为第一批次。在当前时间达到时间T1时,服务器自动触发数据清洗指令,以确定当前清洗批次为第一批次;然后,服务器再从定时清洗程序中获取到针对定时清洗程序的程序信息(该呈现信息包括定时清洗程序的数据源名称、nacos域名、nacos分组、nacos服务地址);然后,服务器再根据呈现信息获取到针对第一批次的数据库信息(该数据库信息包括数据库ip、数据库端口、数据库名、数据库连接账号和密码);然后,服务器再根据数据库信息登录到对应的目标数据库;最后,服务器再从目标数据库中提取出针对第一批次的待清洗列表。
步骤S13:基于各待清洗信息的排列顺序、数据筛选规则和数据清洗规则,依次对各待清洗数据进行数据筛选处理和数据清洗处理,得到针对各待清洗数据的清洗结果。
作为示例,在当前清洗批次的待清洗列表中包括按照顺序排列的待清洗信息1、待清洗信息2和待清洗信息3。服务器首先根据待清洗信息1的数据筛选规则对关于待清洗信息1的待清洗数据进行数据筛选处理,再根据待清洗信息1的数据清洗规则对数据筛选后的待清洗数据进行数据清洗处理,得到针对待清洗信息1的清洗结果1;然后,服务器再根据待清洗信息2的数据筛选规则对关于待清洗信息2的待清洗数据进行数据筛选处理,再根据待清洗信息2的数据清洗规则对数据筛选后的待清洗数据进行数据清洗处理,得到针对待清洗信息2的清洗结果2;最后,服务器再根据待清洗信息3的数据筛选规则对关于待清洗信息3的待清洗数据进行数据筛选处理,再根据待清洗信息3的数据清洗规则对数据筛选后的待清洗数据进行数据清洗处理,得到针对待清洗信息3的清洗结果3。
步骤S14:将各待清洗数据的清洗结果存储于各自对应的数据存储表中。
具体地,服务器首先根据各待清洗信息分别处于待清洗列表中的列序号和列名,分别将各个待清洗信息的清洗结果封装成对应的分布式数据,得到匹配于该列序号和列名的分布式数据集合;然后再将分布式数据集合作为清洗后的结果数据;最后,再将各清洗后的结果数据分别存储于对应待清洗信息的数据存储表中。
作为示例,在当前清洗批次的待清洗列表中包括按照顺序排列的待清洗信息1、待清洗信息2和待清洗信息3,并且待清洗信息1对应着待清洗数据x1和数据存储表y1、待清洗信息2对应着待清洗数据x2和数据存储表y2和待清洗信息3对应着待清洗数据x3和数据存储表y3。因此,服务器将待清洗数据x1的清洗结果封装成结果数据S1,并存储于数据存储表y1中;以及服务器将待清洗数据x2的清洗结果封装成结果数据S2,并存储于数据存储表y2中;以及服务器将待清洗数据x3的清洗结果封装成结果数据S3,并存储于数据存储表y3中。
上述的数据清洗过程中,服务器首先响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表;在待清洗列表中包括多条按照先后顺序排列的待清洗信息,各待清洗信息包括有对应的数据存储表信息、数据筛选规则和数据清洗规则;基于数据存储表信息,确定针对各待清洗信息的待清洗数据;其中,不同待清洗信息的待清洗数据所对应的数据来源不同;基于各待清洗信息的排列顺序、数据筛选规则和数据清洗规则,依次对各待清洗数据进行数据筛选处理和数据清洗处理,得到针对各待清洗数据的清洗结果;其中,在对待清洗数据进行数据清洗处理的过程中,响应于业务系统中待执行的业务指令的执行时间满足预设条件,暂停、结束或者重启数据清洗处理的进程;业务指令所用于指示执行的应用功能不同于数据清洗指令;将各待清洗数据的清洗结果存储于各自对应的数据存储表中。这样,一方面,通过区别于现有技术的方式,本方案响应数据清洗指令,先获取针对当前清洗批次的待清洗列表,从而确定对应的数据存储表信息、数据筛选规则和数据清洗规则,然后再基于数据存储表信息,确定多个不同数据来源的待清洗数据,从而对利用数据筛选规则和数据清洗规则对该多个不同数据来源的待清洗数据进行数据清洗,以实现对多种来源的数据进行融合清洗,从而优化了数据清洗的流程,提升了数据清洗的执行效率和降低了在进行数据清洗时的资源占用率和人力劳动成本;另一方面,在对待清洗数据进行数据清洗处理的过程中,若业务系统中待执行的业务指令的执行时间满足预设条件,则暂停、结束或者重启数据清洗处理的进程,从而避免了因系统执行不同于数据清洗指令的其他应用功能,影响了对待清洗数据进行数据清洗的效率和准确性的需求问题,提升了数据清洗方式的灵活性和实用性,便于系统能够正常运行其他的应用功能。
本领域技术人员可以理解地,在具体实施方式的上述方法中,所揭露的方法可以通过更为具体的方式以实现。例如,以上所描述的服务器基于各待清洗信息的排列顺序、数据筛选规则和数据清洗规则,依次对各待清洗数据进行数据筛选处理和数据清洗处理,得到针对各待清洗数据的清洗结果的实施方式仅仅是示意性的。
在一示例性实施例中,参阅图3,图3为本申请中确定待清洗数据一实施例的流程示意图。在步骤S12中,即服务器基于数据存储表信息,确定针对各待清洗信息的待清洗数据的过程,具体可以执行以下方式:
步骤S121:针对每一待清洗信息,基于对应的至少一张业务数据表的表名,从业务数据库中索引出对应的至少一张业务数据表。
具体地,服务器根据各待清洗信息中的业务数据表的表名,从业务数据库中索引出对应的至少一张业务数据表。
步骤S122:从至少一张业务数据表中提取出针对待清洗信息的业务数据。
其中,该业务数据可以为商品房屋的总价、单价、面积等等,其具体所在的行业和类型在这里不做具体限定。
步骤S123:基于列序号和列名,将业务数据封装成对应的分布式数据集合,并将分布式数据集合作为待清洗数据。
具体地,服务器首先根据各待清洗信息分别处于待清洗列表中的列序号和列名,分别将各个待清洗信息的业务数据封装成对应的分布式数据,得到匹配于列序号和列名的分布式数据集合;然后再将分布式数据集合作为待清洗数据。
其中,封装的分布式数据为dataframe数据。该,dataframe数据是一种以列(列名,列类型,列值)的形式构成的分布式的数据集。
在一示例性实施例中,参阅图4,图4为本申请中得到清洗结果一实施例的流程示意图。在步骤S13中,即服务器对各待清洗数据进行数据筛选处理和数据清洗处理,得到针对各待清洗数据的清洗结果的过程,具体可以执行以下方式:
步骤S131:针对每一待清洗数据,基于数据筛选规则对待清洗数据进行数据筛选处理,以从待清洗数据中筛选出满足预设范围条件和预设逻辑条件的筛选数据。
在一实施例中,服务器从待清洗数据中筛选出满足预设范围条件和预设逻辑条件的筛选数据,包括以下两项:
(1)从待清洗数据中筛选出处于起始时间和结束时间范围内的第一筛选数据。
其中,起始时间和结束时间范围即为指定业务数据表收录业务数据的指定时间范围,即若业务数据表所对应的待清洗数据处于该指定时间范围内,则待清洗数据满足预设范围条件,从而该待清洗数据被服务器筛选为第一筛选数据。
(2)从待清洗数据中筛选出均符合至少一个业务逻辑的第二筛选数据。
其中,各待清洗数据都携带有其对应的逻辑含义,预设逻辑条件包括针对待清洗数据的逻辑含义划定的逻辑范围,即若待清洗数据的逻辑含义属于划定的逻辑范围内,则待清洗数据为符合业务逻辑的第二筛选数据,若待清洗数据的逻辑含义不属于划定的逻辑范围内,则待清洗数据为不符合业务逻辑的筛选数据。
作为示例,针对房屋金融领域的待清洗数据包括房屋总价数据、房屋单价数据、房屋面积数据、房屋公摊数据等;针对待清洗数据的逻辑含义划定的逻辑范围包括房屋总价数据处于(x1,x2)范围,房屋单价数据处于(x3,x4)范围,房屋面积数据处于(x5,x6)范围和房屋公摊数据处于(x7,x8)范围。
步骤S132:基于数据清洗规则对筛选数据进行数据清洗处理,以通过至少一个清洗函数将筛选数据转化为标准化数据,得到针对待清洗数据的清洗结果。
在一实施例中,服务器通过至少一个清洗函数将筛选数据转化为标准化数据,包括以下六项:
(1)通过第一清洗函数将筛选数据中的指定字符移除,得到第一标准化数据。
其中,第一清洗函数用于去除筛选数据中指定的字符或者字符串,该字符的数量和类型可以根据实际情况配置,如其可以包含所有的字符。
其中,第一清洗函数也可以用于将筛选数据中指定的中文字符或者中文字符串串种进行去除,而对英文字符或者英文字符串中不做处理;
(2)通过第二清洗函数将筛选数据中的指定字符替换为预设字符,得到第二标准化数据。
其中,第二清洗函数用于将筛选数据中指定的字符或者字符串替换为指定的预设字符或预设字符串,该指定的字符/字符串的数量和类型可以根据实际情况配置,如其可以包含所有的字符。
其中,第二清洗函数也可以用于将筛选数据中的全角字符替换成半角字符。
(3)通过第三清洗函数将筛选数据中重复的目标字符移除,得到第三标准化数据。
其中,第三清洗函数用于移除筛选数据中的重复字符或者字符串,该重复的字符/字符串的数量和类型可以根据实际情况配置,如其可以包含所有的字符。
其中,第三清洗函数还用于判断筛选数据中相邻的两个英文括号内的内容是否完全一样;若完全一样,则删掉其中一个括号以及内容;若不完全一样,则不作处理。
(4)通过第四清洗函数将筛选数据中对应参数数值属于指定参数数值的字符做分隔处理,得到第四标准化数据。
其中,第四清洗函数用于获取筛选数据的全部数值,然后再根据该数值判断筛选数据是否属于需要进行排序-返回-分隔的排序数值字符串;若是,则对筛选数据进行排序-返回-分隔;若不是,则对筛选数据不作处理。
(5)通过第五清洗函数将筛选数据中满足对应正则表达式的字符做分隔处理,得到第五标准化数据。
其中,第五清洗函数用于抽取筛选数据中满足正则表达式regex的匹配内容,并将该匹配内容使用seq分隔并返回。
其中,第五清洗函数还用于首先抽取筛选数据中满足正则表达式regex的匹配内容,然后再循环遍历每一个匹配内容的数据值,并将对应符合参数target的数据值替换为参数replacement,以最终返回更新的数据值。
(6)通过第六清洗函数将筛选数据中的空值字符填充默认值,得到第六标准化数据。
其中,第六清洗函数用于判断筛选数据的数值是否为空值,并在筛选数据的数值为空值时,将该空值修改为默认值;以及第六清洗函数还用于对最终的清洗结果进行空值清洗,以确保对应清洗数据的数值为空值时,其空值被修改为默认值。
在一实施例中,在对待清洗数据进行数据清洗处理的过程中,响应于数据清洗业务系统中待执行的业务指令的执行时间满足预设条件,暂停、结束或者重启数据清洗处理的进程。
其中,业务指令所用于指示执行的应用功能不同于数据清洗指令。例如,其他不同于数据清洗指令的数据爬虫指令、数据画图指令等等,这里不做具体限定。
其中,服务器暂停、结束或者重启数据清洗处理的进程,包括以下三项:
(1)响应于业务指令的起始执行时间与当前时间之间的距离小于第一距离,暂停数据清洗处理的进程。
具体地,为了不影响业务系统对其他业务指令的执行,若业务指令的起始执行时间与当前时间之间的距离小于第一距离,则业务系统自动暂停数据清洗处理的进程。其中,当前时间处于业务指令的起始执行时间之前。
(2)响应于业务指令的终止执行时间与当前时间之间的距离大于第二距离,重启数据清洗处理的进程。
具体地,为了不影响业务系统对数据清洗任务的执行,若业务指令的终止执行时间与当前时间之间的距离大于第二距离,则业务系统自动重启数据清洗处理的进程。其中,当前时间处于业务指令的终止执行时间之后。
(3)响应于业务指令的起始执行时间与终止执行时间之间的距离大于第三距离,结束数据清洗处理的进程。
具体地,为了不影响业务系统执行数据清洗任务的准确性和效率,若业务指令的起始执行时间与终止执行时间之间的距离大于第三距离,则业务系统自动结束数据清洗处理的进程。其中,当前时间处于业务指令的起始执行时间之前。
这样,一方面,通过区别于现有技术的方式,本方案响应数据清洗指令,先获取针对当前清洗批次的待清洗列表,从而确定对应的数据存储表信息、数据筛选规则和数据清洗规则,然后再基于数据存储表信息,确定多个不同数据来源的待清洗数据,从而对利用数据筛选规则和数据清洗规则对该多个不同数据来源的待清洗数据进行数据清洗,以实现对多种来源的数据进行融合清洗,从而优化了数据清洗的流程,提升了数据清洗的执行效率和降低了在进行数据清洗时的资源占用率和人力劳动成本;另一方面,在对待清洗数据进行数据清洗处理的过程中,若业务系统中待执行的业务指令的执行时间满足预设条件,则暂停、结束或者重启数据清洗处理的进程,从而避免了因系统执行不同于数据清洗指令的其他应用功能,影响了对待清洗数据进行数据清洗的效率和准确性的需求问题,提升了数据清洗方式的灵活性和实用性,便于系统能够正常运行其他的应用功能。
应该理解的是,虽然图2-图4的附图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
图5是本申请实施例提供的一种数据清洗装置框图。参照图5,该数据清洗装置10包括:指令触发单元11、数据确定单元12、数据清洗单元13和结果存储单元14。
其中,该指令触发单元11,被配置为执行响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表;在所述待清洗列表中包括多条按照先后顺序排列的待清洗信息,各所述待清洗信息包括有对应的数据存储表信息、数据筛选规则和数据清洗规则;
其中,该数据确定单元12,被配置为执行基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据;其中,不同所述待清洗信息的待清洗数据所对应的数据来源不同;
其中,该数据清洗单元13,被配置为执行基于各所述待清洗信息的排列顺序、数据筛选规则和数据清洗规则,依次对各所述待清洗数据进行数据筛选处理和数据清洗处理,得到针对各所述待清洗数据的清洗结果;其中,在对所述待清洗数据进行数据清洗处理的过程中,响应于所述业务系统中待执行的业务指令的执行时间满足预设条件,暂停、结束或者重启所述数据清洗处理的进程;所述业务指令所用于指示执行的应用功能不同于所述数据清洗指令;
其中,该结果存储单元14,被配置为执行将各所述待清洗数据的清洗结果存储于各自对应的数据存储表中。
在一些实施例中,在所述业务系统中预先配置有定时清洗程序,所述定时清洗程序用于分别在多个时间条件满足的情况下触发对应清洗批次的数据清洗指令;
所述响应业务系统触发的数据清洗指令,获取针对当前清洗批次的待清洗列表,包括:
在当前时间满足所述定时清洗程序对应的时间条件的情况下,触发数据清洗指令,以基于所述当前时间确定针对所述定时清洗程序的当前清洗批次和数据库信息;
基于所述数据库信息连接目标数据库,并从所述目标数据库中提取出匹配于所述当前清洗批次的待清洗列表。
在一些实施例中,各所述待清洗信息包括处于待清洗列表中的列序号和列名,所述数据存储表信息包括至少一张业务数据表的表名;
所述基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据,包括:
针对每一所述待清洗信息,基于对应的至少一张业务数据表的表名,从业务数据库中索引出对应的所述至少一张业务数据表;
从所述至少一张业务数据表中提取出针对所述待清洗信息的业务数据;
基于所述列序号和所述列名,将所述业务数据封装成对应的分布式数据集合,并将所述分布式数据集合作为待清洗数据。
在一些实施例中,所述数据筛选规则包括对应的预设范围条件和预设逻辑条件,所述数据清洗规则包括对应的至少一个清洗函数;
所述对各所述待清洗数据进行数据筛选处理和数据清洗处理,得到针对各所述待清洗数据的清洗结果,包括:
针对每一待清洗数据,基于所述数据筛选规则对所述待清洗数据进行数据筛选处理,以从所述待清洗数据中筛选出满足所述预设范围条件和所述预设逻辑条件的筛选数据;
基于所述数据清洗规则对所述筛选数据进行数据清洗处理,以通过所述至少一个清洗函数将所述筛选数据转化为标准化数据,得到针对所述待清洗数据的清洗结果。
在一些实施例中,所述预设范围条件包括起始时间和结束时间,所述预设逻辑条件包括至少一个业务逻辑;
所述从所述待清洗数据中筛选出满足所述预设范围条件和所述预设逻辑条件的筛选数据,包括以下两项:
从所述待清洗数据中筛选出处于所述起始时间和所述结束时间范围内的第一筛选数据;
从所述待清洗数据中筛选出均符合所述至少一个业务逻辑的第二筛选数据。
在一些实施例中,所述通过所述至少一个清洗函数将所述筛选数据转化为标准化数据,包括以下六项:
通过第一清洗函数将所述筛选数据中的指定字符移除,得到第一标准化数据;
通过第二清洗函数将所述筛选数据中的指定字符替换为预设字符,得到第二标准化数据;
通过第三清洗函数将所述筛选数据中重复的目标字符移除,得到第三标准化数据;
通过第四清洗函数将所述筛选数据中对应参数数值属于指定参数数值的字符做分隔处理,得到第四标准化数据;
通过第五清洗函数将所述筛选数据中满足对应正则表达式的字符做分隔处理,得到第五标准化数据;
通过第六清洗函数将所述筛选数据中的空值字符填充默认值,得到第六标准化数据。
在一些实施例中,所述响应于所述业务系统中待执行的系统业务指令的执行时间满足预设条件,暂停、结束或者重启所述数据清洗处理的进程,包括:
响应于所述业务指令的起始执行时间与当前时间之间的距离小于第一距离,暂停所述数据清洗处理的进程;
响应于所述业务指令的终止执行时间与当前时间之间的距离大于第二距离,重启所述数据清洗处理的进程;
响应于所述业务指令的所述起始执行时间与所述终止执行时间之间的距离大于第三距离,结束所述数据清洗处理的进程。
图6是本申请实施例提供的一种计算机设备20的框图。例如,计算机设备20可以为一种电子设备、电子组件或者服务器阵列等等。参照图6,计算机设备20包括处理器21,其进一步处理器21可以为处理器集合,其可以包括一个或多个处理器,以及计算机设备20包括由存储器22所代表的存储器资源,其中,存储器22上存储有计算机程序,例如应用程序。在存储器22中存储的计算机程序可以包括一个或一个以上的每一个对应于一组可执行指令的模块。此外,处理组件21被配置为执行计算机程序时实现如上述的数据清洗方法。
在一些实施例中,计算机设备20为电子设备,该电子设备中的计算系统可以运行一个或多个操作系统,包括以上讨论的任何操作系统以及任何商用的服务器操作系统。该计算机设备20还可以运行各种附加服务器应用和/或中间层应用中的任何一种,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(通用网关界面)服务器、超级服务器、数据库服务器等。示例性数据库服务器包括但不限于可从(国际商业机器)等商购获得的数据库服务器。
在一些实施例中,处理组件21通常控制计算机设备20的整体操作,诸如与显示、数据处理、数据通信和记录操作相关联的操作。处理器21可以包括一个或多个处理器组件来执行计算机程序,以完成上述的方法的全部或部分步骤。此外,处理器组件可以包括一个或多个模块,便于处理器组件和其他组件之间的交互。例如,处理器组件可以包括多媒体模块,以方便利用多媒体组件控制用户计算机设备20和处理器21之间的交互。
在一些实施例中,处理器21中的处理器组件还可以称为CPU(Central ProcessingUnit,中央处理单元)。处理器组件可能是一种电子芯片,具有信号的处理能力。处理器还可以是通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit, ASIC)、专用集成电路(ApplicationSpecificIntegrated Circuit, ASIC)、现场可编程门阵列(Field-Programmable GateArray, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器组件等。另外,处理器组件可以由集成电路芯片共同实现。
在一些实施例中,存储器22被配置为存储各种类型的数据以支持在计算机设备20的操作。这些数据的示例包括用于在计算机设备20上操作的任何应用程序或方法的指令、采集数据、消息、图片、视频等。存储器22可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘、光盘或石墨烯存储器。
在一些实施例中,存储器22可以为内存条、TF卡等,可以存储计算机设备20中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器22中。在一些实施例中,它根据处理器指定的位置存入和取出信息。在一些实施例中,有了存储器22,计算机设备20才有记忆功能,才能保证正常工作。在一些实施例中,计算机设备20的存储器22按用途可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
在一些实施例中,计算机设备20还可以包括:电源组件23被配置为执行计算机设备20的电源管理,有线或无线网络接口24被配置为将计算机设备20连接到网络,和输入输出(I/O)接口25。计算机设备20可以操作基于存储在存储器22的操作系统,例如WindowsServer,Mac OS X,Unix,Linux,FreeBSD或类似。
在一些实施例中,电源组件23为计算机设备20的各种组件提供电力。电源组件23可以包括电源管理系统,一个或多个电源,及其他与为计算机设备20生成、管理和分配电力相关联的组件。
在一些实施例中,有线或无线网络接口24被配置为便于计算机设备20和其他设备之间有线或无线方式的通信。计算机设备20可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。
在一些实施例中,有线或无线网络接口24经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,有线或无线网络接口24还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在一些实施例中,输入输出(I/O)接口25为处理器21和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
图7是本申请实施例提供的一种计算机可读存储介质30的框图。该计算机可读存储介质30上存储有计算机程序31,其中,计算机程序31被处理器执行时实现如上述的数据清洗方法。
在本申请各个实施例中的各功能单元集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读存储介质30中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机可读存储介质30在一个计算机程序31中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)、电子设备(例如MP3、MP4等,也可以是手机、平板电脑、可穿戴设备等智能终端,也可以是台式电脑等)或者处理器(processor)以执行本申请各个实施方式方法的全部或部分步骤。
图8是本申请实施例提供的一种计算机程序产品40的框图。该计算机程序产品40中包括程序指令41,该程序指令41可由计算机设备20的处理器执行以实现如上述的数据清洗方法。
本领域内的技术人员应明白,本申请的实施例可提供有数据清洗方法、数据清洗装置10、计算机设备20、计算机可读存储介质30或计算机程序产品40。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机程序指令41(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品40的形式。
本申请是参照根据本申请实施例中的数据清洗方法、数据清洗装置10、计算机设备20、计算机可读存储介质30或计算机程序产品40的流程图和/或方框图来描述的。应理解可由计算机程序产品40实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序产品40到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的程序指令41产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序产品40也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机程序产品40中的程序指令41产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些程序指令41也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的程序指令41提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的,上述的各种方法、装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (9)
1.一种数据清洗方法,其特征在于,所述方法包括:
在当前时间满足定时清洗程序对应的时间条件的情况下,响应业务系统触发的数据清洗指令,确定所述定时清洗程序在所述当前时间所对应的当前清洗批次;
从所述定时清洗程序中获取程序信息;所述程序信息包括所述定时清洗程序的数据源名称、nacos域名、nacos分组、nacos服务地址;
根据所述程序信息,获取针对所述当前清洗批次的数据库信息;所述数据库信息包括数据库ip、数据库端口、数据库名、数据库连接账号和密码;
根据所述数据库信息登录到对应的目标数据库,并从所述目标数据库中获取针对当前清洗批次的待清洗列表;在所述待清洗列表中包括多条按照先后顺序排列的待清洗信息,各所述待清洗信息包括有对应的数据存储表信息、数据筛选规则和数据清洗规则;所述数据存储表用于存储多张业务数据表的表信息,所述业务数据表用于存储待清洗的业务数据;所述数据筛选规则用于筛选具有相应时间区间、与逻辑的业务数据;
基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据;其中,不同所述待清洗信息的待清洗数据所对应的数据来源不同;
基于所述数据筛选规则,从所述待清洗数据中筛选出对应数据收录时间处于预设时间范围内的第一筛选数据;
基于所述数据筛选规则,从所述第一筛选数据中筛选出对应数据逻辑含义属于预设逻辑范围内的第二筛选数据;
基于各所述待清洗信息的排列顺序和所述数据清洗规则,依次对各所述第二筛选数据进行数据清洗处理,得到针对各所述待清洗数据的清洗结果;
将各所述待清洗数据的清洗结果存储于各自对应的数据存储表中;
其中,在对所述筛选数据进行数据清洗处理的进程中,基于所述业务系统中待执行的业务应用的开始执行时间与当前时间之间的距离小于第一距离,暂停所述数据清洗处理的进程;所述当前时间处于所述开始执行时间之前;或者
基于所述待执行的业务应用的结束执行时间与所述当前时间之间的距离大于第二距离,重启所述数据清洗处理的进程;所述当前时间处于所述结束执行时间之后;或者
基于所述待执行的业务应用的运行时长与预设时长之间的距离大于第三距离,结束所述数据清洗处理的进程。
2.根据权利要求1所述的方法,其特征在于,在所述业务系统中预先配置有定时清洗程序,所述定时清洗程序用于分别在多个时间条件满足的情况下触发对应清洗批次的数据清洗指令;
所述获取针对当前清洗批次的待清洗列表,包括:
在当前时间满足所述定时清洗程序对应的时间条件的情况下,触发数据清洗指令,以基于所述当前时间确定针对所述定时清洗程序的当前清洗批次和数据库信息;
基于所述数据库信息连接目标数据库,并从所述目标数据库中提取出匹配于所述当前清洗批次的待清洗列表。
3.根据权利要求1所述的方法,其特征在于,各所述待清洗信息包括处于待清洗列表中的列序号和列名,所述数据存储表信息包括至少一张业务数据表的表名;
所述基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据,包括:
针对每一所述待清洗信息,基于对应的至少一张业务数据表的表名,从业务数据库中索引出对应的所述至少一张业务数据表;
从所述至少一张业务数据表中提取出针对所述待清洗信息的业务数据;
基于所述列序号和所述列名,将所述业务数据封装成对应的分布式数据集合,并将所述分布式数据集合作为待清洗数据。
4.根据权利要求1所述的方法,其特征在于,所述数据清洗规则包括对应的至少一个清洗函数;
所述得到针对各所述待清洗数据的清洗结果,包括:
基于所述数据清洗规则对所述筛选数据进行数据清洗处理,以通过所述至少一个清洗函数将所述筛选数据转化为标准化数据,得到针对所述待清洗数据的清洗结果。
5.根据权利要求4所述的方法,其特征在于,所述预设时间范围包括起始时间和结束时间,所述预设逻辑范围包括至少一个业务逻辑;
所述方法,还包括以下两项:
从所述待清洗数据中筛选出处于所述起始时间和所述结束时间范围内的第一筛选数据;
从所述待清洗数据中筛选出均符合所述至少一个业务逻辑的第二筛选数据。
6.根据权利要求4所述的方法,其特征在于,所述通过所述至少一个清洗函数将所述筛选数据转化为标准化数据,包括以下六项:
通过第一清洗函数将所述筛选数据中的指定字符移除,得到第一标准化数据;
通过第二清洗函数将所述筛选数据中的指定字符替换为预设字符,得到第二标准化数据;
通过第三清洗函数将所述筛选数据中重复的目标字符移除,得到第三标准化数据;
通过第四清洗函数将所述筛选数据中对应参数数值属于指定参数数值的字符做分隔处理,得到第四标准化数据;
通过第五清洗函数将所述筛选数据中满足对应正则表达式的字符做分隔处理,得到第五标准化数据;
通过第六清洗函数将所述筛选数据中的空值字符填充默认值,得到第六标准化数据。
7.一种数据清洗装置,其特征在于,所述装置包括:
指令触发单元,被配置为执行在当前时间满足定时清洗程序对应的时间条件的情况下,响应业务系统触发的数据清洗指令,确定所述定时清洗程序在所述当前时间所对应的当前清洗批次;从所述定时清洗程序中获取程序信息;所述程序信息包括所述定时清洗程序的数据源名称、nacos域名、nacos分组、nacos服务地址;根据所述程序信息,获取针对所述当前清洗批次的数据库信息;所述数据库信息包括数据库ip、数据库端口、数据库名、数据库连接账号和密码;根据所述数据库信息登录到对应的目标数据库,并从所述目标数据库中获取针对当前清洗批次的待清洗列表;在所述待清洗列表中包括多条按照先后顺序排列的待清洗信息,各所述待清洗信息包括有对应的数据存储表信息、数据筛选规则和数据清洗规则;所述数据存储表用于存储多张业务数据表的表信息,所述业务数据表用于存储待清洗的业务数据;所述数据筛选规则用于筛选具有相应时间区间、与逻辑的业务数据;
数据确定单元,被配置为执行基于所述数据存储表信息,确定针对各所述待清洗信息的待清洗数据;其中,不同所述待清洗信息的待清洗数据所对应的数据来源不同;
数据清洗单元,被配置为执行基于所述数据筛选规则,从所述待清洗数据中筛选出对应数据收录时间处于预设时间范围内的第一筛选数据;基于所述数据筛选规则,从所述第一筛选数据中筛选出对应数据逻辑含义属于预设逻辑范围内的第二筛选数据;基于各所述待清洗信息的排列顺序和所述数据清洗规则,依次对各所述第二筛选数据进行数据清洗处理,得到针对各所述待清洗数据的清洗结果;
结果存储单元,被配置为执行将各所述待清洗数据的清洗结果存储于各自对应的数据存储表中;
其中,在对所述筛选数据进行数据清洗处理的进程中,基于所述业务系统中待执行的业务应用的开始执行时间与当前时间之间的距离小于第一距离,暂停所述数据清洗处理的进程;所述当前时间处于所述开始执行时间之前;或者
基于所述待执行的业务应用的结束执行时间与所述当前时间之间的距离大于第二距离,重启所述数据清洗处理的进程;所述当前时间处于所述结束执行时间之后;或者
基于所述待执行的业务应用的运行时长与预设时长之间的距离大于第三距离,结束所述数据清洗处理的进程。
8.一种计算机设备,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令,以实现如权利要求1至6中任一项所述的数据清洗方法。
9.一种计算机可读存储介质,所述计算机可读存储介质中包括程序数据,其特征在于,当所述程序数据由计算机设备的处理器执行时,使得所述计算机设备能够执行如权利要求1至6中任一项所述的数据清洗方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311379637.1A CN117112550B (zh) | 2023-10-24 | 2023-10-24 | 数据清洗方法、数据清洗装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311379637.1A CN117112550B (zh) | 2023-10-24 | 2023-10-24 | 数据清洗方法、数据清洗装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117112550A CN117112550A (zh) | 2023-11-24 |
CN117112550B true CN117112550B (zh) | 2024-02-27 |
Family
ID=88800575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311379637.1A Active CN117112550B (zh) | 2023-10-24 | 2023-10-24 | 数据清洗方法、数据清洗装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112550B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202927A (zh) * | 2020-11-13 | 2021-01-08 | 深圳市和讯华谷信息技术有限公司 | 长连接建立方法、装置、计算机设备及存储介质 |
CN113111055A (zh) * | 2021-04-19 | 2021-07-13 | 中国工商银行股份有限公司 | 一种数据表的数据清理方法及装置 |
CN113360270A (zh) * | 2021-06-30 | 2021-09-07 | 杭州数梦工场科技有限公司 | 一种数据清洗任务处理方法及装置 |
CN114281817A (zh) * | 2022-01-11 | 2022-04-05 | 平安普惠企业管理有限公司 | 一种数据清洗方法、装置、计算机设备及存储介质 |
CN115268909A (zh) * | 2022-07-23 | 2022-11-01 | 杭州沧浪健康管理有限公司 | 一种web前端创建并运行构建任务的方法、系统和终端 |
CN116483649A (zh) * | 2023-03-29 | 2023-07-25 | 重庆长安汽车股份有限公司 | 代客泊车系统的进程监控方法、装置、车辆及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11429572B2 (en) * | 2019-06-13 | 2022-08-30 | Palantir Technologies, Inc. | Rules-based dataset cleaning |
-
2023
- 2023-10-24 CN CN202311379637.1A patent/CN117112550B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202927A (zh) * | 2020-11-13 | 2021-01-08 | 深圳市和讯华谷信息技术有限公司 | 长连接建立方法、装置、计算机设备及存储介质 |
CN113111055A (zh) * | 2021-04-19 | 2021-07-13 | 中国工商银行股份有限公司 | 一种数据表的数据清理方法及装置 |
CN113360270A (zh) * | 2021-06-30 | 2021-09-07 | 杭州数梦工场科技有限公司 | 一种数据清洗任务处理方法及装置 |
CN114281817A (zh) * | 2022-01-11 | 2022-04-05 | 平安普惠企业管理有限公司 | 一种数据清洗方法、装置、计算机设备及存储介质 |
CN115268909A (zh) * | 2022-07-23 | 2022-11-01 | 杭州沧浪健康管理有限公司 | 一种web前端创建并运行构建任务的方法、系统和终端 |
CN116483649A (zh) * | 2023-03-29 | 2023-07-25 | 重庆长安汽车股份有限公司 | 代客泊车系统的进程监控方法、装置、车辆及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117112550A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110832453B (zh) | 使用基于云的系统的应用的分布式版本控制 | |
JP2018528559A (ja) | ソフトウエア開発キットによってデータ追跡を実現する方法及びシステム | |
JP2019520649A (ja) | プロセス視覚化プラットフォーム | |
CN107918658B (zh) | 一种商机生成方法及系统 | |
US10469584B2 (en) | Techniques and architectures for managing disparate heterogeneous cloud-based resources | |
CN110865851B (zh) | 一种Android应用数据自动采集方法及系统 | |
CN112115113B (zh) | 数据存储系统、方法、装置、设备以及存储介质 | |
US9706005B2 (en) | Providing automatable units for infrastructure support | |
CN111324786A (zh) | 咨询问题信息的处理方法和装置 | |
CN108932640B (zh) | 用于处理订单的方法和装置 | |
CN113268500A (zh) | 业务处理方法、装置及电子设备 | |
CN108062401B (zh) | 应用推荐方法、装置及存储介质 | |
CN112258244B (zh) | 确定目标物品所属任务的方法、装置、设备及存储介质 | |
CN108985805B (zh) | 一种选择性执行推送任务的方法和装置 | |
US9589038B1 (en) | Attribute tracking, profiling, and recognition | |
CN113434063A (zh) | 一种信息显示方法、装置及设备 | |
CN117112550B (zh) | 数据清洗方法、数据清洗装置、计算机设备和存储介质 | |
CN108984221B (zh) | 一种多平台用户行为日志的采集方法和装置 | |
CN110659919A (zh) | 数据匹配方法、装置、介质及电子设备 | |
CN113672497B (zh) | 无埋点事件的生成方法、装置、设备及存储介质 | |
CN112100156B (zh) | 基于用户行为构建知识库的方法、装置、介质、系统 | |
CN104750823B (zh) | 推广情况数据的查询方法及装置 | |
US10698749B1 (en) | System and a method for automated resolution of configuration item issues | |
CN113242282A (zh) | 一种用于目标人群的连续信息推送方法、装置和电子设备 | |
CN112966029A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |