一种异构数据源的数据预处理方法与流程

文档序号:12772960阅读:658来源:国知局
一种异构数据源的数据预处理方法与流程
本发明涉及数据处理技术领域,特别是一种异构数据源的数据预处理方法。

背景技术:
当建立一个信息系统的时候,即使进行了良好的设计和规划,也不能保证在所有情况下,所存放数据的质量都能满足用户的要求。有必要用元数据来表示数据质量。以形式化的方法定义了数据的一致性、正确性、完整性和最小性这四个指标。数据根据在信息系统中这些指标得到满足的程度,进而提出了数据工程中数据质量的需求分析和模型,认为存在很多候选的数据质量衡量指标。用户应根据应用的需求选择其中一部分,指标分为两类:数据质量指示器和数据质量参数。前者是客观的信息,比如数据的收集时间,来源等,而后者是主观性的,比如数据来源的可信度、数据的及时性等。数据预处理的目的是检测数据中存在的错误和不一致,剔除或者改正它们,这样就提高了数据的质量。数据预处理过程必须满足如下几个条件:不论是单数据源还是多数据源,都要检测并且除去数据中所有明显的错误和不一致。同时尽可能地减小人工干预和用户的编程工作量,而且要容易扩展到其他数据源,应该和数据转化相结合。要有相应的描述语言来指定数据转化和数据预处理操作,所有这些操作应该在一个统一的框架下完成。一些研究人员研究相似重复记录的识别和剔除,还有一些与数据预处理相关的工作。绝大多数相关领域的研究人员认为,要很好地完成数据预处理过程,一定要结合特定应用领域的知识。因此,人们通常将领域知识用规则的形式表示出来。利用专家系统的外壳,以方便规则的表示和利用。在预处理过程中,需要专家的干预,当系统碰到不能处理的情况时,报告异常,要求用户辅助做出决定;同时,系统可以通过机器学习的方法修改知识库,以后碰到类似情况时,它就知道怎样做出相应的处理了。在数据预处理方面人们已经做了很多的研究工作。而尽管业界已经开发了很多数据抽取、转化和装载(ETL)工具来进行数据预处理工作,但是它并没有能跟特定的行业数据结合得很紧密,特别是一些保密级别高的数据长期得不到足够多的研究人员的关注。为此本发明的目标就是立足于整合政法系统共享的数据,重点就是对相对保密的政法数据共享平台中的数据质量进行有效控制,而数据质量可以从数据预处理角度来讨论。起初,研究人员提出用元数据来表示数据质量以方便数据质量管理。在研究数据预处理的过程中,很多工作的重点放在如何解决模式冲突上,其实,在数据实例层次上同样有很多数据质量问题发生。数据预处理过程的目的就是要解决这些“脏数据”的问题。目前市场上已经出现许多商业化的数据预处理工具,如IBM公司的DataStage,Oracle公司的OWB(OracleWarehouseBulilder),SQLServer公司的DTS(DataTransformationServices)等等。它们都提供了一些数据预处理功能,但是也存在很大的局限性:(1)缺乏通用性,如DTS只应用于Windows平台,而且只能使用ODBC连接各种数据源;(2)缺乏易用性和可扩展性,虽然OWB针对姓名和地址等方面的预处理具有较好的效果,但是流程过于繁琐,不易使用,而且用户很难编写自己的客户化程序以适应特定领域的数据预处理;(3)预处理功能有限,只能预处理某些类型的“脏数据”。在自动化和信息化并存的时代,信息与数据的自动共享与交换已经轻而易举。政法部门例如法院、检察院、公安、司法等政法部门都已经拥有本部门的信息系统办公平台,各部门的信息资料得到了集中性的管理,并且信息的存储量非常大。在一些部门的工作中需要向其他部门采集相关的信息资料,可现阶段在各部门之间的信息数据交换多为人工方式或者接口定制开发,对交换共享出去的数据无法做到有效监控和管理,这样无疑是加大了工作的成本与时间,也无法实现部门与部门之间信息的迅速查询需求。一个地级市每年有几万宗刑事案件,涉案犯罪嫌疑人员多达近百万万人次,涉案信息(包括人、物、地、组织、机构)多达一千多万条,而且这些信息多数以图形和视频的形式存在,这些分散在公安、检察院、法院、司法部门的信息如果没有信息共享平台的支持,其传递、共享就很难高效实现,上级领导也就很难及时了解整个社会的治安情况,也很难为上级领导决策提供及时可靠的依据。综合上述分析结果可以看出,现有政法系统应用与开发有待统筹规划,信息集成和综合利用的程度较低,在建设和开发的过程中缺乏统一有效的标准化与规范化管理。现有的数据预处理方式仅仅是对数据进行一次预处理,而不能递进地、回溯式地进行数据的预处理,数据处理效率低,精度差,且处理规则难以修改,更不能基于错误的日志修改提取规则及将数据统一存储提供服务。

技术实现要素:
本发明针对上述现有技术中的缺陷,提出了如下技术方案。一种异构数据源的数据预处理方法,所述方法包括以下步骤:S1:从多个异构数据源中读取异构数据;S2:基于预处理规则库对所述异构数据进行预处理得到规格化数据;以及S3:将所述规格化数据存储在数据库中,用于数据集成、数据挖掘和/或企业的在线联机分析处理;其中,所述预处理规则库包括基础规则库、动态规则库和扩展规则库,步骤S2具体包括以下:S21:构建所述基础规则库,所述基础规则库是用于存储数据预处理基础规则的元数据库,针对政法业务数据,通过对行业专家、部门操作员访谈分析整理出第一级预处理指标,并按照错误数据字典,确定数据预处理基础规则,使用数据预处理基础规则对所述异构数据进行加载和提取得到第一数据集;S22:构建所述动态规则库,从所述第一数据集中选取第一样本数据集,使用深度学习算法对第一样本数据集和所述数据预处理基础规则进行学习,生成动态数据预处理规则,使用所述动态数据预处理规则对所述第一数据集进行加载和提取,得到第二数据集,从第二数据集中选取第二样本数据集;以及S23:构建所述扩展规则库,用于存储具有权限的用户通过人机交互接口定义的数据预处理扩展规则,和使用所示第二样本数据集对所述数据预处理基础规则和动态数据预处理规则进行学习生成的数据预处理扩展规则,使用数据预处理扩展规则对所述第二数据集进行加载和提取,得到规格化数据。更进一步地,所述多个异构数据源包括Oracle、SQLServer、DB2、Sybase、Excel文件、文本文件和Word文件中的至少两者。更进一步地,所述步骤S1从多个异构数据源中读取异构数据的具体操作为:通过通用数据访问接口ODBC和/或JDBC从Oracle、SQLServer、DB2和/或Sybase数据库中读取所述异构数据;通过文本数据读取函数从文本文件读取异构数据;通过Excel文件数据读取函数从Excel文件读取异构数据;通过Word文件数据读取函数从Word文件读取异构数据;以及通过数据库系统提供的API函数读取加密级别高的异构数据。更进一步地,所述加密级别高的异构数据是指需要相应的用户权限才能够读取的数据。更进一步地,所述异构数据是存储在公安、检察院、法院、司法和/或监狱信息处理系统中的政法业务数据。更进一步地,利用日志记录数据预处理基础规则、动态数据预处理规则和数据预处理扩展规则的执行情况,根据所述执行情况对数据预处理基础规则、动态数据预处理规则和数据预处理扩展规则进行修改或删除。更进一步地,将所述规格化数据存储在数据库中的具体操作为:通过通用数据访问接口ODBC和/或JDBC将规格化数据存储在数据库中。更进一步地,错误数据字典包括以下错误类型的至少之一:数据长度不正确、数据类型不正确、数据格式不正确、数据格式不统一、数据逻辑含义不正确、数据所属的字典范围不正确和数据之间逻辑关系不正确。更进一步地,使用数据预处理基础规则对所述异构数据进行加载和提取得到第一数据集的具体操作为:使用模式层的数据预处理方式,建立单独的基于模式层的数据预处理运行库,在所述数据预处理运行库中,建立标准库,标准库的建立包括:对于业务表,储存业务表的表名、表字段个数、主键名、外键约束名、表字段定义的长度和字段类型信息;对于代码表,将原有的标准代码表存储在了所述数据预处理运行库中,针对每个标准代码表存储之后进行重命名作为区别于原标准代码表;以及将标准库中的所有数据作为第一数据集。更进一步地,在数据预处理基础规则、动态数据预处理规则和数据预处理扩展规则执行前,对数据预处理基础规则、动态数据预处理规则和数据预处理扩展规则分别进行解析。本发明的技术效果为:设计了适于政法业务数据预处理的方法,使得政法业务数据可以共享,该方法通用性好,易于扩展,并对数据进行递进式的三次预处理,且处理过程可以回溯,使得处理规则易于修改,提高了数据处理效率及处理精度,且能基于错误的日志修改提取规则,将数据统一存储提供对外服务。附图说明图1是本发明的一种异构数据源的数据预处理方法的流程图;图2是本发明的基础规则库示意图;图3是本发明的动态规则库示意图;以及图4是本发明的扩展规则库示意图。具体实施方式下面结合附图1-4进行具体说明。图1示出了本发明的一种异构数据源的数据预处理方法,所述方法包括以下步骤:S1:从多个异构数据源中读取异构数据;S2:基于预处理规则库对所述异构数据进行预处理得到规格化数据;以及S3:将所述规格化数据存储在数据库中,用于数据集成、数据挖掘和/或企业的在线联机分析处理。所述异构数据是存储在公安、检察院、法院、司法和/或监狱信息处理系统中的政法业务数据。通过公安的反恐协作平台搭建贯穿各级政法部门的政法业务数据共享平台,达到信息互通、资源共享、安全可靠的目标。政法各部门的业务信息孤立不互通,其中最主要的是政法业务数据具有一定的特殊性,政法业务数据被保护在边界接入平台内,要求政法业务数据不主动对外输出。因此采取将各部门的政法业务数据统一整合在政法边界内的政法业务数据共享区,从而安全可靠地实现各个政法部门间的政法业务数据共享。本发明在资源整合的基础上,打通在政法边界外部的政法专线,在政法边界内的政法业务数据共享区搭建平台的综合门户,让各个政法部门通过门户提供的综合查询和请求接口服务来获取政法共享政法业务数据。数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。在企业数据集成领域,已经有了很多成熟的框架可以利用。目前通常采用联邦式、基于中间件模型和数据仓库等方法来构造集成的系统,这些技术在不同的着重点和应用上解决数据共享和为企业提供决策支持。数据挖掘(英语:Datamining),又译为资料探勘、数据采矿。它是数据库知识发现(英语:Knowledge-DiscoveryinDatabases,简称:KDD)中的一个步骤。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。在线联机分析处理(OLAP),随着数据库技术的发展和应用,数据库存储的数据量从20世纪80年代的兆(M)字节及千兆(G)字节过渡到现在的兆兆(T)字节和千兆兆(P)字节,同时,用户的查询需求也越来越复杂,涉及的已不仅是查询或操纵一张关系表中的一条或几条记录,而且要对多张表中千万条记录的数据进行数据分析和信息综合,关系数据库系统已不能全部满足这一要求。在国外,不少软件厂商采取了发展其前端产品来弥补关系数据库管理系统支持的不足,力图统一分散的公共应用逻辑,在短时间内响应非数据处理专业人员的复杂查询要求。因此,将规格化数据存储在数据库中后,可用于数据集成、数据挖掘和/或企业的在线联机分析处理等等,例如可将不同来源的政法业务数据集成在一起,或者对政法业务数据进行挖掘,如挖掘盗抢案件的高发时间、地点等,还可以进行在线的联机分析,如实时地统计某一地区盗抢案件的数量等。在政法业务数据收集过程中,因数据来源不同,数据载体格式也多种多样,一般来说,所述多个异构数据源包括Oracle、SQLServer、DB2、Sybase、Excel文件、文本文件、Word文件以及影音视频文件(如mp3、mp4、avi、jpg、jpeg等等)等等。对于这类文件:Oracle、SQLServer、DB2、Sybase,一般通过通用数据访问接口ODBC和/或JDBC从Oracle、SQLServer、DB2和/或Sybase数据库中读取,这也是标准的数据读取方式。对于文本文件,通过文本数据读取函数从文本文件读取异构数据,可通过各种编程语言(如C++)设计文本数据读取函数,并进行封装,在后续的程序中可以直接调用。对于Excel文件,通过Excel文件数据读取函数从Excel文件读取异构数据,可通过各种编程语言(如C++)设计Excel文件数据读取函数,并进行封装,在后续的程序中可以直接调用。对于Word文件,通过Word文件数据读取函数从Word文件读取异构数据,可通过各种编程语言(如C++)设计Word文件数据读取函数读取函数,并进行封装,在后续的程序中可以直接调用。对于其他类型的文件,如mp3、mp4、avi、jpg、jpeg等等,可通过各种编程语言(如C++)设计相应的文件读取函数,并进行封装,在后续的程序中可以直接调用。各种函数的封装格式与编程语言相关,如在C++编程语言中,各读取函数可以封装在DLL(动态链接库)中。而对于一些敏感数据,如身份证号码等,需要通过数据库系统提供的API函数读取加密级别高的异构数据,即加密级别高的异构数据是指需要相应的用户权限才能够读取的数据,也就是说只有特定权限的用户才可以读取相应的加密级别高的数据。对于规格化后的数据,将其存储在数据库中:通过通用数据访问接口ODBC和/或JDBC将规格化数据存储在数据库中。对于规格化后的数据使用,例如,用户终端可以在线访问存储在数据库中的规格化数据,用户终端指的是能够与其他设备进行通信的设备。用户终端的具体形式包括但不限于移动电话、个人计算机、数码相机、个人数字助手、便携式计算机、游戏机,虚拟现实设备,可穿戴设备等。可以使用服务器从多个异构数据源中读取异构数据,服务器例如可以是任何能够提供服务的设备,例如可以是具有数据库以及提供数据处理功能的设备等等,数据的规格化与数据的读取可以在同一台服务器上完成,也可以在不同的服务器上完成,及数据的分布式处理。这样就打通了在政法边界外部的政法专线,使得可以在政法边界内的政法业务数据共享区搭建平台的综合门户,让各个政法部门通过门户提供的综合查询和请求接口服务来获取政法共享政法业务数据。所述预处理规则库包括基础规则库、动态规则库和扩展规则库,所述基于预处理规则库对所述异构数据进行预处理得到规格化数据的具体操作包括:构建所述基础规则库,所述基础规则库是用于存储数据预处理基础规则的元数据库,针对政法业务数据,通过对行业专家、部门操作员访谈分析整理出第一级预处理指标,并按照错误数据字典,确定数据预处理基础规则,使用数据预处理基础规则对所述异构数据进行加载和提取得到第一数据集;构建所述动态规则库,从所述第一数据集中选取第一样本数据集,使用深度学习算法对第一样本数据集和所述数据预处理基础规则进行学习,生成动态数据预处理规则,使用动态数据预处理规则对所述第一数据集进行加载和提取,得到第二数据集,从第二数据集中选取第二样本数据集;以及构建所述扩展规则库,用于存储具有权限的用户通过人机交互接口定义的数据预处理扩展规则,和使用第二样本数据集对数据预处理基础规则和动态数据预处理规则进行学习生成的数据预处理扩展规则,使用数据预处理扩展规则对所述第二数据集进行加载和提取,得到规格化数据。规则库(指本发明中的基础规则库、动态规则库和扩展规则库)是大量规则(指本发明中的数据预处理基础规则、动态数据预处理规则和数据预处理扩展规则)的集合,利用规则触发不同的执行条件将处理程序中的逻辑运算,利用规则描述来增强程序的可移植性和可扩充性。用来存放数据预处理规则的元数据库。数据预处理是领域相关的,领域知识对成功的数据预处理是必不可少的,所以规则库中不仅存放有预处理动作规则,而且存放有领域知识规则。规则库记录着每条规则的如下信息:规则类型、执行条件、待预处理的记录集的名称、待预处理的字段的名称、预处理的策略、规则的优先级、执行预处理的动作。图2示出了本发明的基础规则库。在基础规则库建立之前,经过分析,在多源异构数据集成中,存在的模式层数据质量问题主要有:(1)数据表中应该建立主键却没有建立主键。(2)数据表间应该建立外键约束却没有建立外键约束。同时还需要检查以下模式层的数据质量问题:(1)表结构的一致性检查。即业务表(非代码表)的主外键命名一致,业务表的表字段个数,字段命名一致等。(2)代码表的内容一致性检查。代码表除了需要检查业务表所可能出现的数据质量外,还需要检查是否表中数据记录个数是否一致,记录内容是否一致等。基础规则库中不仅存放有数据预处理基础规则也存放领域知识规则,它要通过元数据信息,找到字段映射规则的信息,加载进行相应的数据预处理基础规则,形成数据预处理基础规则的执行队列,再解析与处理数据。基础规则库中的数据预处理基础规则主要含有:规则类型、规则函数名称、所属记录集ID、待预处理的字段ID、预处理的策略、排序ID(优先级)、错误描述等信息。数据的清洗指标可以通过访谈部门操作员、业务负责任及行业专家制定。此外,为了清洗数据,构建了错误数据字典,在实际应用中,错误数据字典里主要有以下7种类型:1)数据长度不正确:如数据字段长度超出数据库设计的理论长度;2)数据类型不正确:如应为日期类型的数据,实际却是字符串格式;应为金额的数据,实际填写了带有金额的单位或者币种等;3)数据格式不正确:如中国公民的身份证格式应该符合国家相关标准格式,企业的组织机构代码格式应该符合GB11714—1997;4)数据格式不统一:如日期类型格式有很多种,如2011-9-22、2011年09月22日、2011.09.22、09/22/2011、09-22-2011、2011年09月22日23点35分和2011-09-2223:35:35等;5)数据逻辑含义不正确:如出生日期为1899-12-30等;6)数据所属的字典范围不正确:如性别只可能是男、女或未知,而实际的数据可能是男性和女性等(这样的数据在实际应用中需要根据具体的情况进行转义);7)数据之间逻辑关系不正确:如企业登记日期是2011-09-22,而注销日期是1999-01-10;企业的签订合同人数和未签订合同人数总和不等于企业的总人数等。使用数据预处理基础规则对所述异构数据进行加载和提取得到第一数据集的具体操作为:使用模式层的数据预处理方式,建立单独的基于模式层的数据预处理运行库,在所述数据预处理运行库中,需要建立标准库,标准库的建立包括:对于业务表,需要储存业务表的表名、表字段个数、主键名、外键约束名、表字段定义的长度和字段类型信息;对于代码表,将原有的标准代码表存储在了所述数据预处理运行库中,针对每个标准代码表存储之后进行重命名作为区别于原标准代码表;将标准库中的所有数据作为第一数据集。图3示出了本发明的动态规则库。可以使用深度学习算法对数据集和数据预处理基础规则进行学习。通过对数据进行检测和评估效果来实现对数据的修正,系统能够对特定类型数据进行快速批量处理,从而可以提高处理速度。首先是从根据基础规则库处理后第一数据集中提取一个子集,基于数据检测及评估提取效果(如通过汇集最常见的用户或专家错误与处理办法进行检测及评估,其目的就是为了规范入库数据,提高数据质量,达到了一定的数据预处理要求)。因为这个数据子集量不是很大,因而采用各种实际的数据质量控制处理办法是可行的。但是,就是规则库必须是动态的。因此,使用深度学习算法进行数据学习及规则学习,生成动态数据预处理规则,然后进行整个第一数据集的数据处理。图4示出了本发明的扩展规则库。数据预处理扩展规则可以是具有权限的用户通过人机交互接口定义的,也可以是使用动态规则库处理后数据集提取出来的样本数据集对数据预处理基础规则和动态数据预处理规则进行学习生成的,其可以是基于提取算法进行调整,人工维护,可以根据规则是否匹配进行调整,也可以根据数据的结果评估后进行规则的调整。可以实现以下功能:人们对数据预处理的理解通常认为是实例层的数据预处理,因为相对于模式层数据质量问题而言,其问题出现的更为直观,对数据质量的影响更为明显。同时模式层数据质量问题在实例层可见,例如,缺少主键为明显的模式层的数据质量问题,人们根本不会发现缺少主键对数据质量有什么影响。但是缺少主键会引起实例层问题,如重复记录,而重复记录能够直观的被人们所感知。从图2-4及上述描述可以得之,本发明的主要处理流程是:针对政法业务数据,通过行业专家、部门操作员访谈分析整理出第一级预处理指标,并按照错误分类整理的字典信息,确定预处理规则格式,制定基础规则库,再选取样本数据集实现基于规则库的二级预处理,并检测、评估预处理规则及相应算法,从而通过评价匹配最佳预处理规则实现干净数据的加载提取,三级预处理进入政法业务抽取数据库,按照预处理效果,还可以通过算法及人工加入新的预处理规则、扩展规则库,进行回溯后再预处理。通过连续的样本训练建立越来越完善的规则库,不断提高后续数据抽取质量。通过上述多级规则库匹配预处理策略,将其分步嵌入到数据应用系统中,除非常少的个别错误数据要单独汇总处理外,预处理速度适中,基本实现了数据规范化,为进一步的数据应用、共享展示提供了可靠基础。本发明还利用日志记录数据预处理基础规则、动态数据预处理规则和数据预处理扩展规则的执行情况,根据所述执行情况对数据预处理基础规则、动态数据预处理规则和数据预处理扩展规则进行修改或删除。即通过日志进行数据预处理质量的反馈,进行规则的修改或删除。此外,在数据预处理基础规则、动态数据预处理规则和数据预处理扩展规则执行前,对数据预处理基础规则、动态数据预处理规则和数据预处理扩展规则分别进行解析,根据优先级或依赖关系确定数据预处理基础规则、动态数据预处理规则和数据预处理扩展规则的执行顺序。这样也可以提高数据预处理的效率。本发明所述的方法,可以通过计算机程序实现,也可以将计算机程序存储在存储介质上,处理器从存储介质上读取计算机程序,并执行相应的方法,完成串联补偿装置的工作状态的监测,确保其工作安全。最后所应说明的是:以上实施例仅以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1