一种数据清洗方法及设备与流程

文档序号:12719672阅读:239来源:国知局
本发明涉及通信
技术领域
:,特别涉及一种数据清洗方法。本发明同时还涉及一种数据清洗设备。
背景技术
::随着DT(DataTechnology,数据处理技术)时代的到来,数据价值日益凸显。对于互联网的平台运营商或者服务提供商来说,其各项业务对数据的需求正达到一个前所未有的高度。如何针对已有的数据进行深入分析以及从数据中挖掘潜在的价值,成为本领域技术人员首要解决的技术问题。目前,业务团队和处理数据的技术人员正在逐步建立更加紧密的合作关系,其中一个重要的合作领域是模型部署。以可信体系的数据处理为例,该体系通过部署一套离线模型对某个账户在某个环境下的操作是否可信进行识别,通过仅允许白名单的方式降低对用户的打扰,以此提升用户的使用体验。该可信模型基于账户和各种环境信息(MAC(MediaAccessControl,媒体介入控制层)、UMID(UniqueMaterialIdentifier,唯一素材识别码)、TID(THREADIdentifier,线程控制符)等等)下的固定指标进行可信等级标识(如指标A>1,指标B>2标识为等级一,指标A>3,指标B>4标识为等级二)。业务团队相应的模型建设人员负责模型指标和阈值的确定,处理数据的技术人员负责基础指标的清洗,模型部署和数据推送至应用系统,完成整个数据链路闭环。当模型建设人员向处理数据的技术人员提交模型部署需求后,处理数据的技术人员在承接需求后需要进行开发排期,指标清洗和模型部署等一系列 的操作,执行完这一系列的流程。有时候在处理数据的技术人员资源紧张时,模型部署会有较严重的延期。由此可见,如何自动且有效地实现数据清洗,从而解决资源有限问题以及提高技术人员工作效率,成为本领域技术人员亟待解决的技术问题。技术实现要素:本发明提供了一种数据清洗方法,预先设置指标统计维护任务表以及指标清洗代码模板,该方法包括:当到达同步时刻时,根据当前状态为有效的指标统计维护任务表以及所述指标清洗代码模板配置数据清洗任务,所述指标统计维护任务表包含当前用于指标清洗的元素及其对应的数据;对所述数据清洗任务进行运行测试;若所述数据清洗任务运行测试成功,根据所述指标统计维护任务表以及所述指标清洗代码模板进行调度配置,并将所述数据清洗任务发布至生产环境,以使数据仓库进行数据清洗。优选地,对所述数据清洗任务进行运行测试,具体为:根据所述数据清洗任务执行试跑流程,并判断所述试跑流程是否成功;若所述试跑流程成功,对通过所述试跑流程得到的结果数据进行验证;若所述数据的验证通过,确认所述数据清洗任务运行测试成功;若所述试跑流程失败或所述数据的验证不通过,确认所述数据清洗任务运行测试失败。优选地,根据所述数据清洗任务执行试跑流程,具体为:运行所述指标清洗代码模板;根据所述指标清洗代码模板读取所述指标统计维护任务表,并对所述指标统计维护任务表中各所述元素对应的数据进行解析;根据解析结果以及所述指标清洗代码模板拼接生成SQL语句,并运行所述SQL语句。优选地,在到达同步时刻之前,还包括:获取与各所述指标统计维护任务表的当前的状态;若存在状态为待业务审批的指标统计维护任务表,对所述指标统计维护任务表进行业务审批,并在所述业务审批通过后将所述指标统计维护任务表的状态更新为待技术审核;若存在状态为待技术审核的指标统计维护任务表,对所述指标统计维护任务表进行技术审核,并在所述技术审核通过后将所述指标统计维护任务表的状态更新为有效。优选地,还包括:若状态为待业务审批的指标统计维护任务表的业务审批不通过,将所述指标统计维护任务表的状态更新为业务审批待修改,以及将状态为所述业务审批待修改的指标统计维护任务表在修改后的状态更新为待业务审批;若状态为待技术审核的指标统计维护任务表的技术审核不通过,将所述指标统计维护任务表的状态更新为技术审核待修改,以及将状态为所技术审核待修改的指标统计维护任务表在修改后的状态更新为待技术审核。优选地,在获取与各所述指标统计维护任务表的当前的状态之前,还包括:当接收到数据清洗任务新增请求时,根据所述数据清洗任务新增请求中携带的各所述元素对应的数据生成新增的指标统计维护任务表,并将所述新增的指标统计维护任务表的状态设置为待业务审批;当接收到数据清洗任务修改请求时,根据所述数据清洗任务修改请求中携带的待修改元素对应的数据以及所述数据清洗任务修改请求对应的原始指标统计维护任务表生成新增的指标统计维护任务表,并将所述新增的指标统 计维护任务表的状态设置为待业务审批。优选地,还包括:若状态为所技术审核待修改或所述业务审批待修改的指标统计维护任务表在预设的时间阈值内未被修改,将所述指标统计维护任务表的状态更新为无效。相应地,本申请还提出了一种数据清洗设备,所述设备预先设置指标统计维护任务表以及指标清洗代码模板,该设备还包括:配置模块,当到达同步时刻时根据当前状态为有效的指标统计维护任务表以及所述指标清洗代码模板配置数据清洗任务,所述指标统计维护任务表包含当前用于指标清洗的元素及其对应的数据;测试模块,对所述数据清洗任务进行运行测试;发布模块,在所述数据清洗任务运行测试成功时根据所述指标统计维护任务表以及所述指标清洗代码模板进行调度配置,并将所述数据清洗任务发布至生产环境,以使数据仓库进行数据清洗。优选地,所述测试模块具体包括:试跑子模块,根据所述数据清洗任务执行试跑流程,并判断所述试跑流程是否成功;若所述试跑流程成功,所述试跑子模块对通过所述试跑流程得到的结果数据进行验证;若所述数据的验证通过,所述试跑子模块确认所述数据清洗任务运行测试成功;若所述试跑流程失败或所述数据的验证不通过,所述试跑子模块确认所述数据清洗任务运行测试失败。优选地,所述试跑子模块根据所述数据清洗任务执行试跑流程,具体为:运行所述指标清洗代码模板;根据所述指标清洗代码模板读取所述指标统计维护任务表,并对所述指标统计维护任务表中各所述元素对应的数据进行解析;根据解析结果以及所述指标清洗代码模板拼接生成SQL语句,并运行所述SQL语句。优选地,还包括:获取模块,获取与各所述指标统计维护任务表的当前的状态;若存在状态为待业务审批的指标统计维护任务表,所述获取模块对所述指标统计维护任务表进行业务审批,并在所述业务审批通过后将所述指标统计维护任务表的状态更新为待技术审核;若存在状态为待技术审核的指标统计维护任务表,所述获取模块对所述指标统计维护任务表进行技术审核,并在所述技术审核通过后将所述指标统计维护任务表的状态更新为有效。优选地,还包括:若状态为待业务审批的指标统计维护任务表的业务审批不通过,所述获取模块将所述指标统计维护任务表的状态更新为业务审批待修改,以及将状态为所述业务审批待修改的指标统计维护任务表在修改后的状态更新为待业务审批;若状态为待技术审核的指标统计维护任务表的技术审核不通过,所述获取模块将所述指标统计维护任务表的状态更新为技术审核待修改,以及将状态为所技术审核待修改的指标统计维护任务表在修改后的状态更新为待技术审核。优选地,还包括:生成模块,在接收到数据清洗任务新增请求时根据所述数据清洗任务新增请求中携带的各所述元素对应的数据生成新增的指标统计维护任务表,并 将所述新增的指标统计维护任务表的状态设置为待业务审批;修改模块,在接收到数据清洗任务修改请求时根据所述数据清洗任务修改请求中携带的待修改元素对应的数据以及所述数据清洗任务修改请求对应的原始指标统计维护任务表生成新增的指标统计维护任务表,并将所述新增的指标统计维护任务表的状态设置为待业务审批。优选地,还包括:移除模块,在状态为所技术审核待修改或所述业务审批待修改的指标统计维护任务表在预设的时间阈值内未被修改时将所述指标统计维护任务表的状态更新为无效。由此可见,通过应用本申请的技术方案,在预先设置指标统计维护任务表以及指标清洗代码模板的情况下,当到达同步时刻时根据当前状态为有效的指标统计维护任务表以及指标清洗代码模板配置数据清洗任务,并对数据清洗任务进行运行测试,仅在数据清洗任务运行测试成功时才根据指标统计维护任务表以及指标清洗代码模板进行调度配置,以及将数据清洗任务发布至生产环境,以使数据仓库进行数据清洗。从而能够自动地执行数据清洗任务,减少数据仓库开发人员的工作量,提升了数据开发效率。附图说明图1为本申请提出的一种数据清洗方法的流程示意图;图2为本申请具体实施例中进行数据仓库试跑、确认以及发布的流程示意图;图3为本申请提出的一种数据清洗设备的结构示意图。具体实施方式如
背景技术
:所述,每一个新环境对应的模型对于处理数据的技术人员而 言,其部署方法都是基本一致的,但受限于处理数据的技术人员的资源问题,往往要排期很长。同时,对于这些同质化的需求,处理数据的技术人员每次都需要开发新的代码,但是模型建设人员的指标需求都是类似的,因此对开发资源是一种极大的浪费。以可信体系的数据处理为例,指标是固定的那几个,只是指标对应的维度(账户对应的环境信息)不一样。基于上述情况,本申请提出了一种数据清洗方法,用以在降低代码维护成本的同时减少数据开发人员的工作量,进而提升开发效率。该方法通过将同质化的指标清洗逻辑抽象出来,做成代码模板,通过传递参数的方式来达到不同的指标清洗目的,同时对同质化指标清洗逻辑中的变量部分进行维护处理。因此在实施该方法前,预先设置了指标统计维护任务表以及指标清洗代码模板,其中,指标清洗代码模板为在填充完毕变量值后可完整执行清洗任务的一段代码,其中需要填充变量值的地方可以采用空白值或者空闲的方式,而指标统计维护任务表则包含了生成一段完整数据清洗代码所需要的各个元素对应的变量值。如图1所示,为本申请提出的数据清洗方法的流程示意图,包括以下步骤:S101,当到达同步时刻时,根据当前状态为有效的指标统计维护任务表以及所述指标清洗代码模板配置数据清洗任务,。由于本申请旨在自动进行数据清洗任务,因此技术人员可以根据实际情况设置一个同步周期或是人工指定一个同步时刻,这样在在到达同步时刻时,即可通过预先设置的当前状态为有效的指标统计维护任务表以及指标清洗代码模板配置数据清洗任务。由于指标统计维护任务表中包含了当前用于指标清洗的元素及其对应的数据,因此在配置过程中,可按照指标统计维护任务表中的元素填充于指标清洗代码模板中,以此生成数据清洗的执行代码。在本申请的优选实施例中,指标清洗一般涉及如下表1所示的元素:元素说明来源表示例:如ctu事件表维度字段示例:如账户USER_ID、UMID度量字段示例:如金额AMOUNT度量方式示例:如COUNTDISTINCT、SUM时间标识字段示例:如事件发生时间gmt_occur汇总起止时间示例:如统计20120101~20130101目标表统计出的指标需要放在哪个表中表1相应地,基于如上所示的需要填充的元素,指标清洗代码模板可设置为如下伪代码:Insertoverwritetable目标表partition(dt=${yyyymmdd})Select维度字段1,维度字段2,度量方式1(度量字段1),度量方式2(度量字段2)From来源表Where时间标识字段between汇总起止时间。以当前要统计的为双维度结合双指标的指标统计维护任务表为例,则该具体实施例中前台页面可采用类似于如下表2所示的维护页面:表2需要说明的是,尽管本申请具体实施例通过上述代码模板以及列表模板说明了数据清洗的执行代码生成方式,然而本申请并不局限于此,在此基础上的其他列表设置模式或代码模板均属于本申请的保护范围。此外,为了对指标统计维护任务表进行有效的维护以及管理,本申请的优选的实施例为指标统计维护任务表设置了不同的的任务状态,其中包括有待业务审批以及待技术审核两种状态,其中待业务审批对应的指标统计维护任务表说明该数据清洗任务尚未被允许实施,而待技术审核对应的指标统计维护任务表说明其已被允许实施,然而目前在技术上尚不可行。通过在业务合理性和技术合理性上进行审批,保证了数据仓库资源的合理利用。具体地,在本申请的优选实施例中,在获取与各所述指标统计维护任务表的当前的状态之后,相应的处理过程如下:(1)若存在状态为待业务审批的指标统计维护任务表,对所述指标统计维护任务表进行业务审批,并在所述业务审批通过后将所述指标统计维护任务表的状态更新为待技术审核;(2)若存在状态为待技术审核的指标统计维护任务表,对所述指标统计维护任务表进行技术审核,并在所述技术审核通过后将所述指标统计维护任务表的状态更新为有效。以上处理结果针对的都是理想状态下的处理方式,然而在实际处理过程中技术人员需要不断的根据实际需求增加新的数据清洗任务,同时这些新增的数据清洗任务往往会因为诸多原因导致不通过以及需要技术人员对其进行 修改,在本申请的优选实施例中,针对不同的情况所采取的针对性措施如下:(1)状态为待业务审批的指标统计维护任务表的业务审批不通过该情况下,将所述指标统计维护任务表的状态更新为业务审批待修改,以及将状态为所述业务审批待修改的指标统计维护任务表在修改后的状态更新为待业务审批。(2)状态为待技术审核的指标统计维护任务表的技术审核不通过该情况下,将所述指标统计维护任务表的状态更新为技术审核待修改,以及将状态为所技术审核待修改的指标统计维护任务表在修改后的状态更新为待技术审核。(3)接收到数据清洗任务新增请求根据所述数据清洗任务新增请求中携带的各所述元素对应的数据生成新增的指标统计维护任务表,并将所述新增的指标统计维护任务表的状态设置为待业务审批;(4)接收到数据清洗任务修改请求根据所述数据清洗任务修改请求中携带的待修改元素对应的数据以及所述数据清洗任务修改请求对应的原始指标统计维护任务表生成新增的指标统计维护任务表,并将所述新增的指标统计维护任务表的状态设置为待业务审批。在通过上述方式完成数据任务状态维护的同时,为了及时地清理不需要的数据清洗任务,本申请优选实施例在状态为所技术审核待修改或所述业务审批待修改的指标统计维护任务表在预设的时间阈值内未被修改的情况下,将该指标统计维护任务表的状态更新为无效。S102,对所述数据清洗任务进行运行测试。基于S101得到执行数据清洗任务的执行代码后,该步骤即可针对数据清 洗任务进行运行测试。在本申请的优选实施例中,首先根据所述数据清洗任务执行试跑流程,并判断所述试跑流程是否成功,随后根据以下情况分别进行处理:(1)若所述试跑流程成功,对通过所述试跑流程得到的结果数据进行验证;(2)若所述数据的验证通过,确认所述数据清洗任务运行测试成功;(3)若所述试跑流程失败或所述数据的验证不通过,确认所述数据清洗任务运行测试失败。需要说明的是,根据不同的应用环境以及设备类型,技术人员可以采取不同步骤的试跑流程,在本申请的优选实施例中,通过以下步骤完成试跑流程:步骤a)运行所述指标清洗代码模板;步骤b)根据所述指标清洗代码模板读取所述指标统计维护任务表,并对所述指标统计维护任务表中各所述元素对应的数据进行解析;步骤c)根据解析结果以及所述指标清洗代码模板拼接生成SQL语句,并运行所述SQL语句。在如图2所示的具体实施例中,当线上完成配置后,仓库需要启动试跑流程,节点运行的代码会读取同步下来的配置表,将配置表中的信息进行解析,拼接成完成SQL语句进行运行,试跑确认程序无误、数据准确、性能稳定、资源消耗合理后,再正式发布至生产环境。S103,若所述数据清洗任务运行测试成功,根据所述指标统计维护任务表以及所述指标清洗代码模板进行调度配置,并将所述数据清洗任务发布至生产环境,以使数据仓库进行数据清洗。通过采用上述实施例的技术方案,在结合线上系统与数据仓库的情况下,利用线上系统编辑和维护方便的优势,把上述同质化指标标清洗逻辑中的变量部分用线上系统维护起来,数据仓库将线上数据同步回仓库后进行使用,提升了开发效率。为达到以上技术目的,本申请还提出了一种数据清洗设备,如图3所示,所述设备预先设置指标统计维护任务表以及指标清洗代码模板,该设备还包括:配置模块310,当到达同步时刻时根据当前状态为有效的指标统计维护任务表以及所述指标清洗代码模板配置数据清洗任务,所述指标统计维护任务表包含当前用于指标清洗的元素及其对应的数据;测试模块320,对所述数据清洗任务进行运行测试;发布模块330,在所述数据清洗任务运行测试成功时根据所述指标统计维护任务表以及所述指标清洗代码模板进行调度配置,并将所述数据清洗任务发布至生产环境,以使数据仓库进行数据清洗。在具体的应用场景中,所述测试模块具体包括:试跑子模块,根据所述数据清洗任务执行试跑流程,并判断所述试跑流程是否成功;若所述试跑流程成功,所述试跑子模块对通过所述试跑流程得到的结果数据进行验证;若所述数据的验证通过,所述试跑子模块确认所述数据清洗任务运行测试成功;若所述试跑流程失败或所述数据的验证不通过,所述试跑子模块确认所述数据清洗任务运行测试失败。在具体的应用场景中,所述试跑子模块根据所述数据清洗任务执行试跑 流程,具体为:运行所述指标清洗代码模板;根据所述指标清洗代码模板读取所述指标统计维护任务表,并对所述指标统计维护任务表中各所述元素对应的数据进行解析;根据解析结果以及所述指标清洗代码模板拼接生成SQL语句,并运行所述SQL语句。在具体的应用场景中,还包括:获取模块,获取与各所述指标统计维护任务表的当前的状态;若存在状态为待业务审批的指标统计维护任务表,所述获取模块对所述指标统计维护任务表进行业务审批,并在所述业务审批通过后将所述指标统计维护任务表的状态更新为待技术审核;若存在状态为待技术审核的指标统计维护任务表,所述获取模块对所述指标统计维护任务表进行技术审核,并在所述技术审核通过后将所述指标统计维护任务表的状态更新为有效。在具体的应用场景中,还包括:若状态为待业务审批的指标统计维护任务表的业务审批不通过,所述获取模块将所述指标统计维护任务表的状态更新为业务审批待修改,以及将状态为所述业务审批待修改的指标统计维护任务表在修改后的状态更新为待业务审批;若状态为待技术审核的指标统计维护任务表的技术审核不通过,所述获取模块将所述指标统计维护任务表的状态更新为技术审核待修改,以及将状态为所技术审核待修改的指标统计维护任务表在修改后的状态更新为待技术审核。在具体的应用场景中,还包括:生成模块,在接收到数据清洗任务新增请求时根据所述数据清洗任务新 增请求中携带的各所述元素对应的数据生成新增的指标统计维护任务表,并将所述新增的指标统计维护任务表的状态设置为待业务审批;修改模块,在接收到数据清洗任务修改请求时根据所述数据清洗任务修改请求中携带的待修改元素对应的数据以及所述数据清洗任务修改请求对应的原始指标统计维护任务表生成新增的指标统计维护任务表,并将所述新增的指标统计维护任务表的状态设置为待业务审批。在具体的应用场景中,还包括:移除模块,在状态为所技术审核待修改或所述业务审批待修改的指标统计维护任务表在预设的时间阈值内未被修改时将所述指标统计维护任务表的状态更新为无效。通过应用本申请的技术方案,在预先设置指标统计维护任务表以及指标清洗代码模板的情况下,当到达同步时刻时根据当前状态为有效的指标统计维护任务表以及指标清洗代码模板配置数据清洗任务,并对数据清洗任务进行运行测试,仅在数据清洗任务运行测试成功时才根据指标统计维护任务表以及指标清洗代码模板进行调度配置,以及将数据清洗任务发布至生产环境,以使数据仓库进行数据清洗。从而能够自动地执行数据清洗任务,减少数据仓库开发人员的工作量,提升了数据开发效率。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中 的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1