论文部分内容阅读
移动互联网App的业务后端通常采用多种数据库系统来存储不同维度和主题的业务数据,数据存储分散且结构各异。App的内容运营和编辑人员需要一个后端数据管理平台对这些不同维度的多源异构数据进行有效管理。传统的开发方式多采用定制化开发方式,根据业务需求具体编码,对数据增、删、改、查的实现并没有进行有效复用。本文提出了元数据驱动的架构设计,平台的生产数据库只保存元数据配置。发生数据请求时,平台根据预先配置的元数据信息,与异构数据源进行数据交互,完成数据抽取、转换和加载到Web端的数据查询流程或Web端到源端的数据变更流程。本文的研究工作包括以下几个方面:1、对异构数据源和业务功能进行元数据描述和管理,建立数据模型,选择关系数据库保存元数据信息,自定义元数据的配置规则。元数据配置决定了业务功能关联的数据源和字段的集合,以及与数据源的交互方式。2、设计和实现了数据引擎,提供通用化的接口处理增、删、改、查类业务功能的用户请求。数据引擎不仅能够处理面向单数据源的查询,还能够处理面向多数据源的关联查询,根据元数据配置分解关联查询为多个子查询,调度不同适配器程序完成子查询后对结果合并和转换,以中间件模式集成异构数据源。3、设计和实现了ElasticSearch和MySQL数据源适配器,使平台具备了与这两种异构数据源进行双向数据交互的能力。适配器根据元数据配置与相应数据源建立连接,组装交互语句,完成数据交互并将查询结果转换为通用结构,屏蔽数据异构性。不同适配器均实现统一的抽象接口,供上层调用,使平台具备可扩展性。4、通过添加元数据配置的方式,分别接入ElasticSearch索引和MySQL关系表,测试了平台由元数据驱动的面向不同数据源的数据接入能力,同时测试了平台跨数据源的异构数据集成能力。经过实际部署,该平台已在爱奇艺公司上线运行,由平台提供了内容池管理、精品池管理等30余项数据管理功能。这些功能都是通过添加元数据配置的方式快速实现的,由平台接入数据源中的数据并显示在Web页面中,并支持数据修改、删除等操作。这种元数据配置取代定制化开发的方式不需要编写代码,不需要重新编译部署,针对数据管理类应用系统以及异构数据集成系统开发具有较高的实用价值。