《一种数据清理的方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种数据清理的方法及系统.pdf(21页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104361119 A(43)申请公布日 2015.02.18CN104361119A(21)申请号 201410721032.0(22)申请日 2014.12.02G06F 17/30(2006.01)(71)申请人中国农业银行股份有限公司地址 100005 北京市东城区建国门内大街69号(72)发明人佟伟(74)专利代理机构北京集佳知识产权代理有限公司 11227代理人王宝筠(54) 发明名称一种数据清理的方法及系统(57) 摘要本发明公开了一种数据清理的方法及系统,该方法包括:导出待校验的目标数据文件;加载所述目标数据文件对应的描述文件;利用所述描述文件对所述目。
2、标数据文件进行校验;从而能够准确、高效的完成数据清理工作。(51)Int.Cl.权利要求书2页 说明书13页 附图5页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书13页 附图5页(10)申请公布号 CN 104361119 ACN 104361119 A1/2页21.一种数据清理的方法,其特征在于,该方法包括:导出待校验的目标数据文件;加载所述目标数据文件对应的描述文件;利用所述描述文件对所述目标数据文件进行校验。2.如权利要求1所述的数据清理的方法,其特征在于,所述目标数据文件还包括:经过离线数据清理的数据文件作为目标数据文件,其中离线数据清理的方法包括:导。
3、出基础数据文件;加载所述基础数据文件对应的描述文件,并利用所述基础数据文件对应的描述文件进行校验;当校验通过时,导出待校验的数据文件;加载所述数据文件对应的描述文件;利用所述数据文件对应的描述文件对所述数据文件进行校验,校验通过的所述数据文件作为目标数据文件。3.如权利要求1或2所述的数据清理的方法,其特征在于,利用描述文件对目标数据文件或数据文件进行校验的方法包括:校验待校验的目标数据文件或数据文件的标题行各列的名称,并确定起始行;校验所述待校验的目标数据文件或数据文件的单元格的基本数据类型;根据填充规则对所述待校验的目标数据文件或数据文件的填充类型进行校验;根据数据规则对所述待校验的目标数。
4、据文件或数据文件的数据进行校验。4.如权利要求3所述的数据清理的方法,其特征在于,所述校验待校验的目标数据文件或数据文件的标题行各列名称,并确定起始行包括:读取所述待校验的目标数据文件或数据文件对应的描述文件;获取所述描述文件中表单定义的行数;依次获取所述待校验的目标数据文件或数据文件的一行,并将获取的该行与描述文件中列定义的描述文字分别进行比较;当比较后每列描述文字都相同时,则该列为标题行,且所述标题行的下一行为起始行。5.如权利要求3所述的数据清理的方法,其特征在于,所述根据填充规则对所述待校验的目标数据文件或数据文件的填充类型进行校验包括:初始化缓存,确定起始行,并实例化所述待校验的目标。
5、数据文件或数据文件的规则类对象;从起始行开始,依次获取所述待校验的目标数据文件或数据文件的一行;逐列扫描所述描述文件中对应列定义的填充规则;当所述描述文件中存在用户定义的填充规则,则获取所述填充规则实例对象;当所述填充规则实例对象通过校验,则进行下一行检验。6.如权利要求5所述的数据清理的方法,其特征在于,所述逐列扫描所述描述文件中对应列定义的填充规则包括:当所述对应列定义的填充规则为主键或者联合主键时,判断扫描到的所述列中的字段是否存在缓存中,当存在时,报错;当不存在时,则将该字段加入缓存中。权 利 要 求 书CN 104361119 A2/2页37.如权利要求3所述的数据清理的方法,其特征。
6、在于,所述根据数据规则对所述待校验的目标数据文件或数据文件的数据进行校验在离线数据清理中包括:当所述待校验的数据文件的数据为数据字典型字段,则在建立校验时,创建逆向枚举缓存。8.如权利要求1所述的数据清理的方法,其特征在于,还包括校验错误反馈,其中校验错误反馈包括错误记录和反馈结果,其中,所述错误记录包括:创建错误记录对象;设置所述错误记录对象的行号属性;设置所述错误记录对象的当前校验失败的错误属性;插入错误记录对象队列;所述反馈结果包括:获取数据文件对应的描述文件;当成功获取错误记录对象队列头节点时,根据所述描述文件的描述,将错误记录对象写入结果文件;当失败成功获取错误记录对象队列头节点时,。
7、将结果文件反馈给用户。9.如权利要求2所述的数据清理的方法,其特征在于,还包括校验错误反馈,其中校验错误反馈包括错误记录和反馈结果,其中,所述错误记录包括:创建错误记录对象;设置所述错误记录对象的行号属性;设置所述错误记录对象的当前校验失败的错误属性;插入错误记录对象队列;所述反馈结果包括:当成功获取错误记录对象队列头节点时,将错误记录对象写入结果表格中;当失败成功获取错误记录对象队列头节点时,将结果表格反馈给用户。10.一种数据清理的系统,其特征在于,该系统包括:导出模块,加载模块,校验模块,其中,导出模块,用于导出待校验的目标数据文件;加载模块,用于加载所述目标数据文件对应的描述文件;校验。
8、模块,用于利用所述描述文件对所述目标数据文件进行校验。权 利 要 求 书CN 104361119 A1/13页4一种数据清理的方法及系统技术领域0001 本发明涉及电子信息技术领域,特别是涉及一种数据清理的方法及系统。背景技术0002 随着电子化办公的普及,各行各业的办公系统也越来越多,以及随着各行各业的业务扩展,相对应的所需要的各种系统的功能越来越多以及各系统之间的相互联系也越来越紧密;这样就会出现新的系统取代老的系统或者和一部分取代同时又和另一部分系统共存,多个旧系统的存量数据必须要移植到新的系统中,又由于新系统数据来源多样、种类众多、数量庞大、信息繁多、地域广、参与人员众多、参与人员技术。
9、水平参差不齐,为使数据清理工作准确高效完成,就需要有一个数据清理系统。0003 目前是通过在线的方式导入数据表,但是这样做存在一定缺点,比如效率低,需要大量的数据库访问操作,耗费资源,时效性差,不能满足源文件数据的复杂关系校验;或者通过Excel公式或者VBA(Visual Basic for Applications,Visual Basic的一种宏语言),这样也存在缺点,例如公式编写量大,易出错,可复用性差,普通人员不方便使用,效率低且需要版权许可。0004 因此,如何能高效、准确的进行数据清理,是本领域技术人员需要解决的技术问题。发明内容0005 本发明的目的是提供一种数据清理的方法,该。
10、方法能够高效、准确的进行数据清理;本发明的另一目的是提供一种数据清理的系统。0006 为解决上述技术问题,本发明提供如下技术方案:0007 一种数据清理的方法,该方法包括:0008 导出待校验的目标数据文件;0009 加载所述目标数据文件对应的描述文件;0010 利用所述描述文件对所述目标数据文件进行校验。0011 其中,所述目标数据文件还包括:经过离线数据清理的数据文件作为目标数据文件,其中离线数据清理的方法包括:0012 导出基础数据文件;0013 加载所述基础数据文件对应的描述文件,并利用所述基础数据文件对应的描述文件进行校验;0014 当校验通过时,导出待校验的数据文件;0015 加载。
11、所述数据文件对应的描述文件;0016 利用所述数据文件对应的描述文件对所述数据文件进行校验,校验通过的所述数据文件作为目标数据文件。0017 其中,利用描述文件对目标数据文件或数据文件进行校验的方法包括:说 明 书CN 104361119 A2/13页50018 校验待校验的目标数据文件或数据文件的标题行各列的名称,并确定起始行;0019 校验所述待校验的目标数据文件或数据文件的单元格的基本数据类型;0020 根据填充规则对所述待校验的目标数据文件或数据文件的填充类型进行校验;0021 根据数据规则对所述待校验的目标数据文件或数据文件的数据进行校验。0022 其中,所述校验待校验的目标数据文件。
12、或数据文件的标题行各列名称,并确定起始行包括:0023 读取所述待校验的目标数据文件或数据文件对应的描述文件;0024 获取所述描述文件中表单定义的行数;0025 依次获取所述待校验的目标数据文件或数据文件的一行,并将获取的该行与描述文件中列定义的描述文字分别进行比较;0026 当比较后每列描述文字都相同时,则该列为标题行,且所述标题行的下一行为起始行。0027 其中,所述根据填充规则对所述待校验的目标数据文件或数据文件的填充类型进行校验包括:0028 初始化缓存,确定起始行,并实例化所述待校验的目标数据文件或数据文件的规则类对象;0029 从起始行开始,依次获取所述待校验的目标数据文件或数据。
13、文件的一行;0030 逐列扫描所述描述文件中对应列定义的填充规则;0031 当所述描述文件中存在用户定义的填充规则,则获取所述填充规则实例对象;0032 当所述填充规则实例对象通过校验,则进行下一行检验。0033 其中,所述逐列扫描描述文件中对应列定义的填充规则包括:0034 当所述对应列定义的填充规则为主键或者联合主键时,判断扫描到的所述列中的字段是否存在缓存中,当存在时,报错;0035 当不存在时,则将该字段加入缓存中。0036 其中,所述根据数据规则对所述待校验的目标数据文件或数据文件的数据进行校验在离线数据清理中包括:0037 当所述待校验的数据文件的数据为数据字典型字段,则在建立校验。
14、时,创建逆向枚举缓存。0038 其中,数据清理的方法还包括校验错误反馈,其中校验错误反馈包括错误记录和反馈结果,0039 其中,所述错误记录包括:0040 创建错误记录对象;0041 设置所述错误记录对象的行号属性;0042 设置所述错误记录对象的当前校验失败的错误属性;0043 插入错误记录对象队列;0044 所述反馈结果包括:0045 获取数据文件对应的描述文件;0046 当成功获取错误记录对象队列头节点时,根据所述描述文件的描述,将错误记录对象写入结果文件;说 明 书CN 104361119 A3/13页60047 当失败成功获取错误记录对象队列头节点时,将结果文件反馈给用户。0048 。
15、其中,离线数据清理的方法还包括校验错误反馈,其中校验错误反馈包括错误记录和反馈结果,0049 其中,所述错误记录包括:0050 创建错误记录对象;0051 设置所述错误记录对象的行号属性;0052 设置所述错误记录对象的当前校验失败的错误属性;0053 插入错误记录对象队列;0054 所述反馈结果包括:0055 当成功获取错误记录对象队列头节点时,将错误记录对象写入结果表格中;0056 当失败成功获取错误记录对象队列头节点时,将结果表格反馈给用户。0057 本发明实施例还提供一种数据清理的系统,该系统包括:0058 导出模块,加载模块,校验模块,其中,0059 导出模块,用于导出待校验的目标数。
16、据文件;0060 加载模块,用于加载所述目标数据文件对应的描述文件;0061 校验模块,用于利用所述描述文件对所述目标数据文件进行校验。0062 基于上述技术方案,本发明实施例所提供的数据清理的方法及系统,导出待校验的目标数据文件;加载所述目标数据文件对应的描述文件;利用所述描述文件对所述目标数据文件进行校验;从而能够准确、高效的完成数据清理工作,为新系统的使用争取了时间,也降低了劳动的复杂性,具有重要的现实意义。附图说明0063 为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,。
17、对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0064 图1为本发明实施例提供的数据清理方法的流程图;0065 图2为本发明实施例提供的数据清理方法中离线数据清理的方法的流程图;0066 图3为本发明实施例提供的数据清理方法中描述文件对目标数据文件或数据文件进行校验的方法流程图;0067 图4为本发明实施例提供的数据清理方法中校验目标数据文件或数据文件的标题行各列名称,确定起始行的方法流程图;0068 图5为本发明实施例提供的数据清理方法中根据填充规则对所述待校验的目标数据文件或数据文件的填充类型进行校验的流程图;0069 图6为本发明实施例提供的数。
18、据清理方法中错误记录的流程图;0070 图7为本发明实施例提供的数据清理方法中反馈结果的流程图;0071 图8为本发明实施例提供的数据清理方法中离线数据清理中错误记录的流程图;0072 图9为本发明实施例提供的数据清理方法中离线数据清理中反馈结果的流程图;0073 图10为本发明实施例提供的数据清理的系统的结构框图;说 明 书CN 104361119 A4/13页70074 图11为本发明实施例提供的另一数据清理的系统的结构框图;0075 图12为本发明实施例提供的校验错误反馈模块的结构框图。具体实施方式0076 本发明的核心是提供一种数据清理的方法,该方法能够准确、高效的完成数据清理工作;本。
19、发明的另一目的是提供一种数据清理的系统。0077 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0078 数据清理是将已有系统数据按照新系统要求进行规范化的过程;其中要包括数据校验,其中,数据校验是检查数据清理后的结果是否满足新系统规范化要求。0079 请参考图1,图1为本发明实施例提供的数据清理方法的流程图;,该方法可以包括,其中此处的数。
20、据清理方法可以是在线数据清理:0080 步骤s100、导出待校验的目标数据文件;0081 这里的目标数据文件可以是将原始数据文档,经过加工(盘点、数据清理、人工梳理)形成数据清理文档包括经过离线数据清理的数据文件;也可以是没有经过处理的原始数据文档;但是大多数的情况下这里的目标数据文件是经过经过离线数据清理的数据文件来作为目标数据清理文件,此时目标数据文件中的数据已经规范化,目标数据文件的质量大大提高,只是这些校验还是有局部性质的,因此还需要进行在线数据清理,例如:当数据量巨大,受主机系统资源的限制,无法对所有数据进行缓存;或者受数据权限等因素的限制,不能获取部分数据;或者某些早些时候所使用的。
21、数据已经过时;因此进行在线校验是对最终移植入系统前的一个必要环节。0082 这里将需要进行校验的目标数据文件进行导出加载,其中,目标数据文件和其他数据文件一般是Excel文件的格式存在。0083 步骤s110、加载所述目标数据文件对应的描述文件;0084 每个待校验目标数据文件都对应一个解释其内容的描述文件即xml文件,在这里通过xml文件来描述数据清理时相应的Excel文件,xml文件中定义了与其对应的Excel文件中每行表示的业务对象的信息,以及对应的数据清理规则;xml文件示例如下:0085 0086 0087 EAMWB -工作簿标识0088 EAMWB -工作簿名称0089 实物资产。
22、卡片工作簿-工作簿描述0090 -表单0091 -表单描述的开始0092 AssetCard -本表单的标识0093 实物资产卡片 -本表单的名称0094 0 -表单序号说 明 书CN 104361119 A5/13页80095 AssetCardVO0096 -表单每行封装成的类0097 -表单列的定义0098 -参见后续描述0099 rowNum0100 00101 rowNum0102 行号0103 int0104 0105 0106 assetLabel0107 10108 assetLabel0109 实物资产标签号0110 string0111 key0112 MyRule.Ser。
23、vice.Imp.AssetLabelRule0113 0114 .0115 0116 serialNo0117 140118 serialNo0119 产品序列号0120 string(200)0121 dep(targetType1)0122 MyRule.Service.Imp.SerialNoRule0123 0124 .0125 0126 purchaseDate0127 230128 purchaseDate0129 购置日期0130 date0131 0132 .0133 Xml标签说明:说 明 书CN 104361119 A6/13页90134 ColumnDescriptio。
24、n描述一个Excel文件表单的一列。0135 id表示对象的属性标记,可以使用该标记获取该列的所有属性;0136 index表示Excel表单中列的序号,可以使用该序号获取该列的所有属性;0137 propertyName表示对象属性名;0138 description表示标题列名称;0139 dataType表示数据类型;0140 llType表示填充类型;0141 ruleName表示应用的规则名,通过该名字映射到规则处理程序;0142 其中,dataType、llType和ruleName标签定义了数据规则:0143 数据类型:0144 dataType:STRING|int|long|。
25、date|double/字符串、整数、长整数、日期、双精度浮点数0145 STRING:string(maxLength) /maxLength表示最大长度0146 填充类型:0147 llType:key|unionKey|must|DEP|空白/主键、双主键、必填、依赖于表达式的值必填0148 DEP:dep(propertyNameExpress) /如果表达式值为真则必填,否则忽略;0149 propertyNameExpress:propertyNameNormalExpress|(propertyNameOrExpress)|(propertyNameAndExpress)0150。
26、 propertyNameNormalExpress:propertyNamepropertyValue0151 propertyNameOrExpress:propertyNameExpress|propertyNameExpress /或关系0152 propertyNameAndExpress:propertyNameExpress&propertyNameExpress /与关系0153 用户自定义规则:0154 ruleName:用户自定义的规则处理类路径/该规则对应一个服务类,在对Excel文件进行校验时,为每个Excel文件中的列实例化一个与该规则对应类的对象,用以实现该列的规则。
27、检查。0155 其中,源数据文件是来源系统的存量数据文件,需要按照新系统要求进行数据清理;0156 基础数据文件是新系统的基本信息文件,包括组织机构信息、数据字典等;0157 目标数据文件是将源数据文件进行盘点与数据清理后,需要移植入新系统的数据文件。0158 至此,可以使用xml描述任何一个源数据文件、数据文件、基础数据文件和目标数据文件。0159 步骤s120、利用所述描述文件对所述目标数据文件进行校验。0160 通过xml文件的配置对每个待校验的目标数据文件进行数据校验;0161 在进行在线数据清理时,有需要用到的一些基础数据不需要指定和加载,因为这些基础数据已经存在于系统中,且一般是按。
28、照数据库表的形式存在,在校验的过程中需要说 明 书CN 104361119 A7/13页10的时候可以通过访问数据库进行获取。0162 本发明公开了一种数据清理的方法及系统包括:导出待校验的目标数据文件;加载所述目标数据文件对应的描述文件;利用所述描述文件对所述目标数据文件进行校验;从而能够准确、高效的完成数据清理工作;采用上述方法进行数据清理,优点是,在线数据清理系统使用的基础数据来源于本在线系统数据库,能够保证是最新的、反映现实情况的。0163 可选的,在完成目标数据文件的校验时,可以选择是否将此目标数据文件移植入新的系统,当选择移植入新系统,则进行移植操作;将已经通过在线数据清理的数据移。
29、植入新的系统,即创建数据库表项;当不选择移植入新系统,输出校验通过。0164 优选的,在对各种数据文件进行校验的过程中任何发现任何错误都可以进行一个反馈。0165 但是,也可以看到在进行在线数据清理的时候需要通过数据库查询来对数据进行校验,需要大量的数据库的访问操作,从而影响系统中其他用户的正常使用;且在线数据清理不能够满足对于多来源文件数据的复杂关系校验,很难不重复、不遗漏。0166 可选的,图2给出了本发明实施例提供的数据清理方法中离线数据清理的方法的流程图;参照图2,离线数据清理的方法可以包括:0167 步骤s200、导出基础数据文件;0168 这些基础数据文件包括所有在校验文件时会用到。
30、的excel/csv等格式的文件,都是从各系统中导出的,如从实物资产管理系统、财会管理系统、固定资产管理系统、设备信息管理系统、用友固定资产管理系统、佳克固定资产管理系统、以及手工台帐中导出的。0169 步骤s210、加载所述基础数据文件对应的描述文件,并利用所述基础数据文件对应的描述文件进行校验;0170 每个基础数据文件都对应一个解释其内容的xml文件(xml文件内容如“规则定义”部分所示),先按照xml文件的规则对基础数据文件进行校验,只有整个文件内容校验都通过,才会使用这些文件作为基础数据文件对后续待校验的数据文件进行校验;如果在校验过程中发现错误给出可以给出提示信息。与在线数据清理系。
31、统不同的是,基础数据文件可以是对象的快速查询表hashMap或者链表等数据结构,而非数据库表结构。0171 步骤s220、当校验通过时,导出待校验的数据文件;0172 这里的数据文件可以是没有进行过盘点和数据清理的最原始的数据;也可以是经过实物资产盘点并进行数据清理后的数据文件,这里需要按照企业资产管理系统EAM标准进行规范化,其中,当校验通过后在经过在线数据清理过程可以将这些数据导入EAM中;这里将数据文件导出。0173 步骤s230、加载所述数据文件对应的描述文件;0174 每个待校验数据文件在不同阶段校验规则有可能会有所差异,例如:在下发给各实际盘点单位之前,数据校验规则可能比较宽松;在从各实际盘点单位上收之后,数据校验规则会最强;因此,每个待校验数据文件都对应一个或者多个解释其内容的xml文件(xml文件内容如“规则定义”部分所示),通过指定校验类型,对每个待校验数据文件进行数据校验。因此在离线数据清理过程中相比在线数据清理过程,离线数据清理过程中的xml文件会更多。0175 将所述数据文件对应的描述文件都进行加载。说 明 书CN 104361119 A10。