本发明属于数据处理,尤其涉及一种异构数据智能清洗方法及系统。
背景技术:
1、在现实中,经常面对异构数据集合,例如医疗保健领域中患者的病历数据、化学领域实验数据、金融领域的交易数据等。由缺陷数据带来的经济损失也是惊人的。在大数据时代,数据预处理已经成为一个重要的研究课题,吸引了越来越多学术界和工业界研究人员的注意。数据可能来源于不同的数据源,格式不同,结构不同,甚至不同数据之间的语义、属性也存在差异,随着大数据时代的到来,异构数据集合的数据规模和复杂性不断增加,因此如何有效地整合和利用这些数据成为了一个重要的问题。然而,由于异构数据种类繁多,数据体量巨大问题难以统一,导致数据的管理、共享和利用存在一些困难。
技术实现思路
1、为解决上述技术问题,本发明提出一种异构数据智能清洗方案。
2、本发明第一方面提出一种异构数据智能清洗方法。
3、所述方法基于异构数据清洗系统对异构数据进行清洗来提取所述异构数据的有效信息和关联信息,从而构建开源组件的知识图;
4、所述数据清洗系统包括模板管理模块、信息提取模块、信息关联模块和持久化模块;
5、所述方法具体包括:
6、步骤s1、调用所述模板管理模块,获取用于进行数据提取的基础模板,根据异构数据的数据源类型调整所述基础模板,得到所述异构数据的定制化模板;
7、步骤s2、调用所述信息提取模块,利用所述定制化模板从所述异构数据中提取出数据结构化信息,并基于所述数据结构化信息生成实体树和元信息,所述元信息作为所述有效信息;
8、步骤s3、调用所述信息关联模块,从所述异构数据中提取出所述关联信息以形成证据树,基于所述证据树和所述实体树构建所述开源组件的知识图;
9、步骤s4、调用所述持久化模块,将所述元信息存储至mysql数据库,将所述开源组件的知识图形成graphsql文件并存储至neo4j数据库;
10、其中,所述异构数据包括所述开源组件的组件信息、漏洞信息和版本信息。
11、根据本发明第一方面的方法,在所述步骤s1中,所述模板管理模块对维护的基础模板进行增加、修改、删除和定制化操作,并存储针对所述异构数据的定制化模板作为新的基础模板。
12、根据本发明第一方面的方法,在所述步骤s2中,所述信息提取模块利用与所述异构数据的数据源类型匹配的所述定制化模板从所述异构数据中提取出所述数据结构化信息,通过对所述数据结构化信息进行对齐来获取所述元信息。
13、根据本发明第一方面的方法,在所述步骤s2中,基于所述数据结构化信息生成的所述实体树的类型包括软件树、漏洞树和许可证树;其中:
14、所述软件树的格式为:pkg->类型->名称->版本;其中,pkg为固定值,表示软件树,类型为包的类型,名称为包的名称,版本为包的版本;
15、所述漏洞树的格式为:来源->id;其中,来源表示漏洞的来源信息,id表示漏洞编号;
16、所述许可证树的格式为:类型->名称;其中,类型表示许可证的类型,名称表示许可证版本。
17、根据本发明第一方面的方法,在所述步骤s3中,所述证据树以所述关联信息为依据来表示实体之间的关系,将不同实体树关联起来,形成所述开源组件的知识图;所述证据树的格式为:来源节点->证据节点->目标节点;其中,来源节点为所述软件树的版本节点、所述漏洞树的版本节点或所述许可证树的名称节点,证据节点表示实体之间的关联关系,目标节点表示所述软件树的版本节点。
18、本发明第二方面提出一种异构数据智能清洗系统。所述系统通过对异构数据进行清洗来提取所述异构数据的有效信息和关联信息,从而构建开源组件的知识图;所述系统包括模板管理模块、信息提取模块、信息关联模块和持久化模块;其中:
19、所述模板管理模块被配置为:获取用于进行数据提取的基础模板,根据异构数据的数据源类型调整所述基础模板,得到所述异构数据的定制化模板;
20、所述信息提取模块被配置为:利用所述定制化模板从所述异构数据中提取出数据结构化信息,并基于所述数据结构化信息生成实体树和元信息,所述元信息作为所述有效信息;
21、所述信息关联模块被配置为:从所述异构数据中提取出所述关联信息以形成证据树,基于所述证据树和所述实体树构建所述开源组件的知识图;
22、所述持久化模块被配置为:将所述元信息存储至mysql数据库,将所述开源组件的知识图形成graphsql文件并存储至neo4j数据库;
23、其中,所述异构数据包括所述开源组件的组件信息、漏洞信息和版本信息。
24、根据本发明第二方面的系统,所述模板管理模块被配置为:对维护的基础模板进行增加、修改、删除和定制化操作,并存储针对所述异构数据的定制化模板作为新的基础模板。
25、根据本发明第二方面的系统,所述信息提取模块被配置为:利用与所述异构数据的数据源类型匹配的所述定制化模板从所述异构数据中提取出所述数据结构化信息,通过对所述数据结构化信息进行对齐来获取所述元信息。
26、根据本发明第二方面的系统,所述信息提取模块被配置为:
27、基于所述数据结构化信息生成所述实体树,所述实体树的类型包括软件树、漏洞树和许可证树;其中:
28、所述软件树的格式为:pkg->类型->名称->版本;其中,pkg为固定值,表示软件树,类型为包的类型,名称为包的名称,版本为包的版本;
29、所述漏洞树的格式为:来源->id;其中,来源表示漏洞的来源信息,id表示漏洞编号;
30、所述许可证树的格式为:类型->名称;其中,类型表示许可证的类型,名称表示许可证版本。
31、根据本发明第二方面的系统,所述证据树以所述关联信息为依据来表示实体之间的关系,所述信息关联模块被配置为利用所述证据树将不同实体树关联起来,形成所述开源组件的知识图;所述证据树的格式为:来源节点->证据节点->目标节点;其中,来源节点为所述软件树的版本节点、所述漏洞树的版本节点或所述许可证树的名称节点,证据节点表示实体之间的关联关系,目标节点表示所述软件树的版本节点。
32、本发明第三方面公开了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现本公开第一方面所述的一种异构数据智能清洗方法中的步骤。
33、本发明第四方面公开了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本公开第一方面所述的一种异构数据智能清洗方法中的步骤。
34、综上,本发明提出的技术方案借助模版能力,能够将各种数据源数据清洗成实体树和证据树,并最终融合成开源组件知识图,持久保存至图数据库中。
1.一种异构数据智能清洗方法,其特征在于:
2.根据权利要求1所述的一种异构数据智能清洗方法,其特征在于,在所述步骤s1中,所述模板管理模块对维护的基础模板进行增加、修改、删除和定制化操作,并存储针对所述异构数据的定制化模板作为新的基础模板。
3.根据权利要求2所述的一种异构数据智能清洗方法,其特征在于,在所述步骤s2中,所述信息提取模块利用与所述异构数据的数据源类型匹配的所述定制化模板从所述异构数据中提取出所述数据结构化信息,通过对所述数据结构化信息进行对齐来获取所述元信息。
4.根据权利要求3所述的一种异构数据智能清洗方法,其特征在于,在所述步骤s2中,基于所述数据结构化信息生成的所述实体树的类型包括软件树、漏洞树和许可证树;其中:
5.根据权利要求4所述的一种异构数据智能清洗方法,其特征在于,在所述步骤s3中,所述证据树以所述关联信息为依据来表示实体之间的关系,将不同实体树关联起来,形成所述开源组件的知识图;所述证据树的格式为:来源节点->证据节点->目标节点;其中,来源节点为所述软件树的版本节点、所述漏洞树的版本节点或所述许可证树的名称节点,证据节点表示实体之间的关联关系,目标节点表示所述软件树的版本节点。
6.一种异构数据智能清洗系统,其特征在于,所述系统通过对异构数据进行清洗来提取所述异构数据的有效信息和关联信息,从而构建开源组件的知识图;所述系统包括模板管理模块、信息提取模块、信息关联模块和持久化模块;其中:
7.根据权利要求6所述的一种异构数据智能清洗系统,其特征在于:
8.根据权利要求7所述的一种异构数据智能清洗系统,其特征在于:
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1-5任一项所述的一种异构数据智能清洗方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1-5任一项所述的一种异构数据智能清洗方法中的步骤。