基于动态知识图谱的大规模数据集成解决方案
通过以上建模过程,在应用侧就建立了一个多源数据的统一的逻辑视图,即从分析人员的角度对所有数据构建成了一个图模型,分析人员无需关注底层数据源差异和存储细节,只需关注如何在此图模型上进行分析即可。 四种数据集成架构 以上内容描述了整个数据模型构建的过程,任何数据要集成进来,必须先进行以上过程,在元数据层面进行拉通、融合。 接下来的问题就是如何将客户的数据快速接入知识库的存储中去,以提供统一的数据查询服务,也就是数据层面的集成。 由于数据具有多样化特点: 从数据类型上看,存在结构化数据、半结构化数据、非结构化数据; 从业务价值上来看,又分为高价值密度数据,如账户信息、转账信息、低价值密度数据,如日志信息; 从数据规模上来看,有超大规模数据,如万亿级数据,大规模数据,如亿级数据,小规模数据,如百万级以下数据。 百分点经历多个大型数据集成项目洗礼后发现,通常高价值密度的数据,数据规模都不会太大。比如公安领域的重点人员数据、卡口设备数据、网络安全领域的高危IP、重点监控网站等“实体”数据,此类数据特征是数据量有限,价值密度高。 而如果数据规模超过10亿级,通常都是“事件”类型的数据,比如车辆通过卡口的事件、手机连wifi的事件和手机上网的HTTP日志。这类数据还有一个典型特征,就是数据量巨大且无限增长,但数据价值密度很低,通常也只关心最近一段时间的日志。 因此,针对不同的数据场景,百分点提供了不同的数据集成方法,分别应对不同场景下的数据集成需求。 整体数据集成架构如下: 小规模数据集成:这类数据往往是客户提供了小规模的样本,通过前台Import功能,直接上传各种类型的文件,即可导入。 高价值密度数据集成:通常是客户提供的关键数据,这类数据首先需要业务人员根据需求进行建模,然后通过后台离线/实时数据流将数据接入到本体库中。 低价值密度数据集成:通常是“事件”数据,数据量极大,并有一定时效性,需要定期House Keeping。当前的实现方式是通过存放在外部OLAP型数据库中,应用层通过直连的方式进行adhoc查询,将其中有价值的数据选择性地导入到本体库中。 互联网半结构化数据集成:通过给定URL,会启动后台爬虫,爬取对应的网页进入知识库,跟存量知识进行协同分析。 实现“动态性”的核心逻辑 百分点动态知识图谱实现“动态性”的核心逻辑在于,采用元数据与存储分离查询的方案,来赋予知识图谱“动态”特性,包含数据模型的动态性、模型变更的动态性、融合的动态性和“事件”数据的动态性。 1.数据模型的动态性 由于数据模型有一个专门的后台管理系统进行配置管理,业务可以根据实际客户需求进行模型设计与数据源接入,节省了大量开发成本。
进行新增字段、修改字段、删除字段,以及模型修改的时候,在应用端不用重新导入数据。 实现方式如下: 本体库中的数据元数据的存储与物理数据的存储是分离的,应用层查询MySQL获取元数据并进行缓存,然后在Elasticsearch中检索到数据后,会在应用层的内存中进行元数据与物理数据的拼装。 3.融合的动态性 当融合规则变更后,只需要对特定表重建索引,无需重新导入用户数据。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |