CN103631966A - 一种可配置的解析多值匹配字段的方法 - Google Patents
一种可配置的解析多值匹配字段的方法 Download PDFInfo
- Publication number
- CN103631966A CN103631966A CN201310701544.6A CN201310701544A CN103631966A CN 103631966 A CN103631966 A CN 103631966A CN 201310701544 A CN201310701544 A CN 201310701544A CN 103631966 A CN103631966 A CN 103631966A
- Authority
- CN
- China
- Prior art keywords
- field
- data
- incidence relation
- field name
- valued
- 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
Links
Images
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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Abstract
本发明提出了一种可配置的解析多值匹配字段的方法,可以灵活地设置字段关联规则,根据设置的关联规则,在导入数据时自动进行校验,校验输入的数据是否存在错误,如果存在错误,将进行提示,从而准确地导入用户想要的数据。本发明可应用于ERP产品中的导入工具,适用于导入某些存在多值匹配情况的特殊字段。通过设置特定规则,使得多值匹配字段可以在导入时能够确定唯一值,以保证导入数据的准确性。
Description
技术领域
本发明涉及一种解析多值匹配字段的算法,特别涉及一种可配置的解析多值匹配字段的方法。
背景技术
现有技术中,在使用导入工具导入数据时,所导入的数据中往往存在与多值相匹配的字段,影响数据导入的效率。
现有解决方案中,通过添加特定的限制条件,使得所导入的数据与参照字段之间唯一匹配。但是这种解决方式灵活性差,如果字段之间的依赖规则发生变化或者用户希望能够自定义一些依赖规则,这种解决方案就无法应对了。
发明内容
为克服上述现有技术的不足,本发明提供了一种可配置的解析多值匹配字段的方法,
步骤301,开始;
步骤302,设置选定字段名的关联匹配项;
步骤303,选定字段名与所选择的关联参照项之间的关联关系以键值对的形式保存;
步骤304,将所保存的选定字段名与所选择的关联参照项之间的关联关系写入到导出的格式文件中;
步骤305,获取导入数据;
步骤306,导入所获取导入数据的格式文件;
步骤307,将格式文件的数据转换成数据对象;
步骤308,读取格式文件中保存的关联关系;
步骤309,对各字段名进行匹配解析;
步骤310,判断是否得到匹配;
如果在步骤310,判断的结果为得到了匹配;
在步骤312中判断匹配为仅得到一个值,则继续步骤314,当前字段匹配成功;
步骤315,判断是否匹配到最后一个字段;如果判断结果为否,则返回步骤309;
如果步骤315的判断结果为是,则执行步骤316,根据组装后的数据对象,进行数据的导入;
步骤317,结束。
优选地,如果在步骤310判断结果为未得到匹配,则在步骤311,提示匹配失败,并调整字段的数据或关联关系,并返回到步骤305。
优选地,如果在步骤312中判断的结果为得到的匹配值不唯一,则进行到步骤313,提示匹配值不唯一,调整字段的数据或关联关系,并返回到步骤305。
优选地,在导入数据时使用Excel模板进行导入。
优选地,针对每一字段名,事先设置可供选择的关联参照项;设置时根据选定字段名以及相应的可供选择的关联参照项进行选择。
优选地,在步骤308,读取格式文件中保存的关联关系后,进一步根据字段名之间关联关系的深度进行排序。
优选地,所述字段名之间关联关系为依赖关系,所述排序为升序排序。
优选地,在步骤309,进一步按照升序对各字段名进行匹配解析。
使用本发明的有益效果在于:本发明可应用于ERP产品中的导入工具,适用于导入某些存在多值匹配情况的特殊字段。通过设置特定规则,使得多值匹配字段可以在导入时能够确定唯一值,以保证导入数据的准确性。
附图说明
图1示出了根据本发明的一个实施例的数据导入示意图;
图2示出了根据本发明的一个实施例的数据依赖次数示意图;
图3示出了根据本发明的一个实施例的关联参照项解析流程图;
图4示出了根据本发明的一个实施例的关联数据匹配结果提示示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种可配置的解析多值匹配字段的方法其具体实施方式、特征及其功效,详细说明如后。在下述说明中,不同的“一实施例”或“实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
参照类型是ERP软件中的一种数据类型,该类型在客户端界面以编码或名称形式展示,但在数据库中以主键值存储。关联参照,是与该参照类型字段有上下级或限制关系的另一个参照类型字段。在本发明的一个具体实施方式中,解析参照类型的字段时,对于参照类型的字段设置关联参照规则;在解析参照类型的字段时,根据已设置的关联参照规则进行参照数据的解析。
图1示出了根据本发明的一个实施例的数据导入示意图。如图1所示,为方便设置关联参照规则,针对每一个参照类型的字段,可事先设置可供选择的关联参照。“员工信息功能维护”功能节点下的“工作记录”中,对于每一个员工号都对应有多个字段名。为了便于数据导入,对于每个字段名必须设置关联参照项。以特定员工号下的“异动原因”字段名为例,通过分析可知,可供选择的关联参照项可以为“人员任职ID”、“开始日期”、“员工号”、“创建时间”、“创建人”、“分布式”、“免职方式”、“结束日期”、“结束”、“主职”、“任职方式”以及“最新记录”等属性。对于特定员工号下的“异动原因”字段名可能的关联参照项只能为“人员任职ID”、“开始日期”、“员工号”、“创建时间”、“创建人”、“分布式”、“免职方式”、“结束日期”、“结束”、“主职”、“任职方式”以及“最新记录”中的一种。因此,对于每个字段名可以预先设置可供关联参照项。在利用导入工具进行导入操作时,可以如图1右下方图示,在选定对于异动原因字段名进行关联参照项设置时,提示可能的所有关联参照项的属性名称供选择。导入数据时,可以根据提示直接选定。显示关联参照项的属性名称时,当受限于页面布局时,可以提供翻页工具或者滚动条以显示其余关联参照项的属性名称。
在本发明的一个具体实施方式中,例如“岗位”字段名的关联参照项可以设置为“部门”,“部门”字段名的关联参照项可设置为“组织”。为了方便提示可能的所有关联参照项的属性名称供选择,可以借助导出模板提供关联参照项的提示列。导出模板时,将设置的关联参照项信息将会以Map的形式保存在Excel模板中,在导入数据时将关联参照项信息读取到HashMap中。
在本发明的一个具体实施方式中,使用导入工具进行数据导入时,关联参照项的属性名称字段在例如excel的导入工具中大都是以编码或名称的形式存在,而在数据库是以主键(Primary Key,PK)的形式存在。因此,在利用导入工具导入数据时还需要进行解析。在解析关联参照项字段时,必须得到该关联参照项字段的关联参照真实值,作为查询条件的一部分。
例如,以“公司A”为例,导入工具中有关“部门”字段的输的信息为“信息部”,且所设置的关联参照字段为“组织”。在对“部门”字段进行解析时,提取“公司A”的PK值作为解析“信息部”的条件,从而在“公司A”下能唯一匹配到一个部门,即“信息部”。为了保证关联参照项字段已经解析过,例如确保在解析“信息部”时已经将“公司A”解析成相应PK值,在本发明的一个具体实施方式中,可以提取关联参照字段的依赖次数,并将提取出的依赖次数进行排序,按照排序从低到高进行解析,从而保证在解析 “部门”字段时它所依赖的字段的关联参照字段都已经解析完毕。
如图2所示,在代码中的处理就是根据每个参照列的依赖次数进行从小到大排序,然后对排好序的列依次解析。图中,HR1为一个人力资源组织,BU1,BU2为HR1下的两个部门,Dept1,Dept2,Dept3分别为BU1,BU2下的三个部门。若关联参照设定为:岗位 部门组织集团 ,则“集团”字段的依赖次数为0,“组织”字段的依赖次数为1,“部门”字段的依赖次数为2,“岗位”字段的依赖次数为3。因此依赖次数按照升序的排列顺序为:集团组织部门岗位。在导入与人员相关的信息时,信息中包含该人员的所属“集团”、所属“组织”、所属“部门”以及所在“岗位”等四个字段。在进行数据导入时,按照之前排列的依赖次数升序的顺序,优先解析所属“集团”字段的主键值,进而解析它的下级字段—“组织”预设的关联参照项,以此类推,直到所有的关联参照项字段解析完成。在字段解析的过程中,对于没有匹配到结果或匹配结果不只一个的情况时,都会反馈结果中增加一个当前解析字段的错误信息,待所有字段解析完成后,结果中的错误信息将会显示在用户界面上,指导用户对格式文件中的数据进行修改。只有匹配值唯一的字段才算解析成功。
图3示出了根据本发明的一个实施例的关联参照的处理流程图。步骤301,开始;步骤302,设置选定字段名的关联匹配项;为方便设置关联参照规则,针对每一字段名,可以事先设置可供选择的关联参照项;设置时可以根据选定字段名以及相应的可供选择的关联参照项进行选择;步骤303,选定字段名与所选择的关联参照项之间的关联关系以键值对的形式进行保存。例如将上述实施例中的集团、组织、部门、岗位。将以岗位部门,部门组织,组织集团的形式,(箭头左参照字段,作为键,右边为关联参照字段,作为值)进行存储到,优选地,可以存储到HashMap中,HashMap是基于哈希表的Map接口的实现;步骤304,将所保存的选定字段名,例如在HashMap中所保存的选定字段名与所选择的关联参照之间的关联关系写入到导出的格式文件中;格式文件,是在设置好关联参照后,由系统导出的一个Excel文件,文件中包含需要导入数据的格式以及一些配置信息;步骤305,获取导入数据;步骤306,导入所获取导入数据的文件;此处的文件,是用户在上述格式文件上,填写需要导入的数据信息,所生成的导入文件;步骤307,将格式文件的数据转换成数据对象,例如将人员的一些属性,例如身份证号、姓名、家庭地址等信息,整合转换成为人员的数据对象;步骤308,读取格式文件中保存的关联关系,根据字段名之间关联关系的深度,即依赖关系进行升序排序;步骤309,按照升序对各字段名进行匹配解析;步骤310,判断是否得到匹配;如果未得到匹配,则在步骤311,提示匹配失败,并调整字段的数据或关联关系;例如导入某公司的人员信息时,提示某个人员的岗位字段匹配失败。这种情况说明导入文件中,所填写此人的部门下,不存在所填写的岗位。应检查所填写岗位的编码、名称是否正确,或者检查此人的部门字段是否填写正确。调整之后再作导入;并返回到步骤305;如果在步骤310,判断的结果为得到了匹配,则在步骤312中进一步判断匹配是否仅得到一个值,如果判断结果为得到的匹配值不唯一,则进行到步骤313,提示匹配值不唯一,调整字段的数据或关联关系;例如导入某公司的人员信息时,提示某个人员的岗位字段匹配到的值不唯一。这种情况说明,根据导入文件中所填写此人的岗位编码、名称,匹配到了不唯一的值,这是由于岗位字段的上级字段设置错误。应检查岗位的上级字段部门,或部门的上级字段组织,或组织的上级字段集团,找到错误的字段,做出调整之后再作导入,并返回到步骤305;在步骤312中判断匹配为仅得到一个值,则继续步骤314,当前字段匹配成功;步骤315,判断是否匹配到最后一个字段;如果判断结果为否,则返回步骤309;如果步骤315的判断结果为是,则执行步骤316,根据组装后的数据对象,进行数据的导入;步骤317,结束。
图4示出了根据本发明的一个实施例的关联数据匹配结果提示示意图。图中人员CY00004的部门字段填写有误,在匹配此字段时,在组织“中国联通(总部)”下,无法匹配到“行政部”,导致数据匹配不成功。
通过本发明,不仅解决了在数据导入时,无法正确解析多值匹配字段的问题。还可以方便用户,使其能自定义关联规则,设置自己想要的字段前置关系,以导入正确的数据。
以上说明对本发明而言只是说明性的,而非限制性的,本领域普通技术人员理解,在不脱离权利要求所限定的精神和范围的情况下,可做出许多修改、变化或等效,但都将落入本发明的保护范围之内。
Claims (8)
1.一种可配置的解析多值匹配字段的方法,其特征在于:
步骤301,开始;
步骤302,设置选定字段名的关联匹配项;
步骤303,选定字段名与所选择的关联参照项之间的关联关系以键值对的形式保存;
步骤304,将所保存的选定字段名与所选择的关联参照项之间的关联关系写入到导出的格式文件中;
步骤305,获取导入数据;
步骤306,导入所获取导入数据的格式文件;
步骤307,将格式文件的数据转换成数据对象;
步骤308,读取格式文件中保存的关联关系;
步骤309,对各字段名进行匹配解析;
步骤310,判断是否得到匹配;
如果在步骤310,判断的结果为得到了匹配;
在步骤312中判断匹配为仅得到一个值,则继续步骤314,当前字段匹配成功;
步骤315,判断是否匹配到最后一个字段;如果判断结果为否,则返回步骤309;
如果步骤315的判断结果为是,则执行步骤316,根据组装后的数据对象,进行数据的导入;
步骤317,结束。
2.一种如权利要求1所述的方法,其特征在于:
如果在步骤310判断结果为未得到匹配,则在步骤311,提示匹配失败,并调整字段的数据或关联关系,并返回到步骤305。
3.一种如权利要求1或2所述的方法,其特征在于:
如果在步骤312中判断的结果为得到的匹配值不唯一,则进行到步骤313,提示匹配值不唯一,调整字段的数据或关联关系,并返回到步骤305。
4.根据权利要求3的方法,其特征在于:
在导入数据时使用Excel模板进行导入。
5.根据权利要求4的方法,其特征在于:
针对每一字段名,事先设置可供选择的关联参照项;设置时根据选定字段名以及相应的可供选择的关联参照项进行选择。
6.根据权利要求5的方法,其特征在于:
在步骤308,读取格式文件中保存的关联关系后,进一步根据字段名之间关联关系的深度进行排序。
7.根据权利要求6的方法,其特征在于:
所述字段名之间关联关系为依赖关系,所述排序为升序排序。
8.根据权利要求7的方法,其特征在于:
在步骤309,进一步按照升序对各字段名进行匹配解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310701544.6A CN103631966B (zh) | 2013-12-18 | 2013-12-18 | 一种可配置的解析多值匹配字段的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310701544.6A CN103631966B (zh) | 2013-12-18 | 2013-12-18 | 一种可配置的解析多值匹配字段的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103631966A true CN103631966A (zh) | 2014-03-12 |
CN103631966B CN103631966B (zh) | 2017-10-10 |
Family
ID=50213007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310701544.6A Active CN103631966B (zh) | 2013-12-18 | 2013-12-18 | 一种可配置的解析多值匹配字段的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631966B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447114A (zh) * | 2015-11-13 | 2016-03-30 | 中科曙光信息技术无锡有限公司 | 表单中字段的显示方法和装置 |
CN105938486A (zh) * | 2016-04-14 | 2016-09-14 | 中国银行股份有限公司 | 一种关联字段的检查方法及装置 |
CN106802898A (zh) * | 2015-11-26 | 2017-06-06 | 北大方正集团有限公司 | 数据录入方法及装置 |
CN107038161A (zh) * | 2015-07-13 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种用于过滤数据的设备及方法 |
CN107247767A (zh) * | 2017-06-05 | 2017-10-13 | 山东浪潮通软信息科技有限公司 | 一种通过格式化数据文件导入数据库的方法及装置 |
CN107305615A (zh) * | 2016-04-25 | 2017-10-31 | 深圳市深信服电子科技有限公司 | 数据表识别方法和系统 |
CN107436872A (zh) * | 2016-05-25 | 2017-12-05 | 阿里巴巴集团控股有限公司 | 一种异构数据的处理方法及装置 |
CN108600107A (zh) * | 2017-11-07 | 2018-09-28 | 北京交通大学 | 一种可自定义内容字段的流匹配方法 |
CN108595597A (zh) * | 2018-04-19 | 2018-09-28 | 平安科技(深圳)有限公司 | 数据导入方法、装置、计算机设备和存储介质 |
CN113642308A (zh) * | 2021-08-30 | 2021-11-12 | 重庆允成互联网科技有限公司 | 基于数据可变的数据导入方法、系统、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050086520A1 (en) * | 2003-08-14 | 2005-04-21 | Sarang Dharmapurikar | Method and apparatus for detecting predefined signatures in packet payload using bloom filters |
WO2011011916A1 (zh) * | 2009-07-29 | 2011-02-03 | 华为技术有限公司 | 正则表达式匹配方法和系统及查找装置 |
CN102103710A (zh) * | 2009-12-21 | 2011-06-22 | 中国移动通信集团公司 | Erp系统接入控制方法及平台 |
CN102609483A (zh) * | 2012-01-19 | 2012-07-25 | 北京神州数码思特奇信息技术股份有限公司 | 一种基于配置方式的Excel通用导入方法 |
CN102945160A (zh) * | 2012-10-24 | 2013-02-27 | 浪潮集团山东通用软件有限公司 | 一种不依赖于规则配置的导入excel数据的通用方法 |
-
2013
- 2013-12-18 CN CN201310701544.6A patent/CN103631966B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050086520A1 (en) * | 2003-08-14 | 2005-04-21 | Sarang Dharmapurikar | Method and apparatus for detecting predefined signatures in packet payload using bloom filters |
WO2011011916A1 (zh) * | 2009-07-29 | 2011-02-03 | 华为技术有限公司 | 正则表达式匹配方法和系统及查找装置 |
CN102103710A (zh) * | 2009-12-21 | 2011-06-22 | 中国移动通信集团公司 | Erp系统接入控制方法及平台 |
CN102609483A (zh) * | 2012-01-19 | 2012-07-25 | 北京神州数码思特奇信息技术股份有限公司 | 一种基于配置方式的Excel通用导入方法 |
CN102945160A (zh) * | 2012-10-24 | 2013-02-27 | 浪潮集团山东通用软件有限公司 | 一种不依赖于规则配置的导入excel数据的通用方法 |
Non-Patent Citations (2)
Title |
---|
丁鑫 等: ""基于对象关系的通用数据导入算法"", 《计算机工程》 * |
张明辉等: ""基于Java Excel API的数据库数据导入导出方法研究与实现"", 《现代电子技术》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038161A (zh) * | 2015-07-13 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种用于过滤数据的设备及方法 |
CN105447114A (zh) * | 2015-11-13 | 2016-03-30 | 中科曙光信息技术无锡有限公司 | 表单中字段的显示方法和装置 |
CN106802898A (zh) * | 2015-11-26 | 2017-06-06 | 北大方正集团有限公司 | 数据录入方法及装置 |
CN106802898B (zh) * | 2015-11-26 | 2020-09-04 | 北大方正集团有限公司 | 数据录入方法及装置 |
CN105938486A (zh) * | 2016-04-14 | 2016-09-14 | 中国银行股份有限公司 | 一种关联字段的检查方法及装置 |
CN107305615A (zh) * | 2016-04-25 | 2017-10-31 | 深圳市深信服电子科技有限公司 | 数据表识别方法和系统 |
CN107305615B (zh) * | 2016-04-25 | 2019-12-17 | 深信服科技股份有限公司 | 数据表识别方法和系统 |
CN107436872A (zh) * | 2016-05-25 | 2017-12-05 | 阿里巴巴集团控股有限公司 | 一种异构数据的处理方法及装置 |
CN107247767A (zh) * | 2017-06-05 | 2017-10-13 | 山东浪潮通软信息科技有限公司 | 一种通过格式化数据文件导入数据库的方法及装置 |
CN108600107A (zh) * | 2017-11-07 | 2018-09-28 | 北京交通大学 | 一种可自定义内容字段的流匹配方法 |
CN108595597A (zh) * | 2018-04-19 | 2018-09-28 | 平安科技(深圳)有限公司 | 数据导入方法、装置、计算机设备和存储介质 |
CN113642308A (zh) * | 2021-08-30 | 2021-11-12 | 重庆允成互联网科技有限公司 | 基于数据可变的数据导入方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103631966B (zh) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631966A (zh) | 一种可配置的解析多值匹配字段的方法 | |
CN106980637B (zh) | Sql审核方法和装置 | |
CN110196971A (zh) | 在线文档编辑方法、装置、终端设备及存储介质 | |
WO2015143970A1 (zh) | 一种基于二维码的信息采集系统及其方法 | |
US11176549B2 (en) | Systems and methods for matching transactional data | |
CN102654874A (zh) | 单据数据管理方法及系统 | |
CN103838672A (zh) | 一种通用报表的自动化测试方法及装置 | |
CN103778185A (zh) | 一种用于数据库审计系统的sql语句解析方法和系统 | |
JP7089605B2 (ja) | データ変形システムおよび方法 | |
CN115061721A (zh) | 一种报表生成方法、装置、计算机设备及存储介质 | |
CN111090788B (zh) | json文件的比对方法、装置、存储介质及计算机设备 | |
AU2015331030A1 (en) | System generator module for electronic document and electronic file | |
CN110046155B (zh) | 特征数据库的更新、数据特征的确定方法、装置及设备 | |
CN106126224A (zh) | 一种生成程序对象的工具、系统和方法 | |
CN109189849B (zh) | 一种标准化、流程化的数据录入方法和系统 | |
WO2011074942A1 (en) | System and method of converting data from a multiple table structure into an edoc format | |
CN111026815B (zh) | 基于用户辅助修正下的实体对特定关系抽取方法 | |
CN110334333B (zh) | 一种信息修改方法及相关装置 | |
CN105573972A (zh) | 报表校验公式的生成方法及装置 | |
CN111400187A (zh) | 基于定制数据源的参数动态化校验系统及方法 | |
CN113535962B (zh) | 数据入库方法、装置、电子装置、程序产品及存储介质 | |
US20160027123A1 (en) | Automatic tagging of trial balance | |
WO2016060553A1 (en) | A method for converting file format and system thereof | |
CN106557569B (zh) | 基于元模型的非结构化文档的导入方法和导入装置 | |
CN113901075A (zh) | 生成sql语句的方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Applicant after: Yonyou Network Technology Co., Ltd. Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Applicant before: UFIDA Software Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |