一种支持可定制化数据采集的元模型框架系统的制作方法

文档序号:12034360阅读:445来源:国知局
一种支持可定制化数据采集的元模型框架系统的制作方法与工艺

本发明涉及一种可复用、可扩展的支持可定制化数据采集的软件框架系统。



背景技术:

信息采集系统,因其目的不同,采集指标项的结构和内容差异较大,但其采集中涉及的数据采集业务基本类似。针对一套固定的指标进行设计,从数据模型层、数据访问层甚至是业务服务层和表示层的代码均对采集指标有强关联关系,目前的技术方案最大的缺点就是当采集指标进行调整,会花费大量的人力和时间对系统进行变动,数据层、业务层以及表示层均需要进行大量的代码改动。如果指标差异性明显的时候,可能需要对系统进行重新开发。



技术实现要素:

本发明的技术解决的问题是:克服现有技术的不足,提供一种通用性好,扩展性强,支持定制化采集指标的通用数据采集框架以应用到信息采集系统中。

本发明的技术解决方案是:抽象采集指标特征,建立数据结构基本稳定的元模型,完成对采集指标项的定义,以此解决采集指标复杂性、差异性和动态性。在此基础之上实现数据采集管理模块、数据核查模块、视图转化模块、元数据管理模块、服务支持模块和数据服务模块。

1、数据采集管理模块:提供采集数据的增、删、改、查等基本操作以及导入导出、数据排序等辅助操作;提供采集页面渲染功能,生成相应的用户交互界面;数据访问由元数据管理模块和服务支持模块完成sql的构造最终由数据服务模块完成sql语句的执行并返回结果。数据采集管理模块通过元数据管理模块提供相关采集指标项的显示元素信息,由视图转化模块实现对数据封装和转化,最终生成指定页面并展示。

2、数据核查模块:提供数据前端数据核查、后台数据核查、数据核查结果管理功能。本框架系统支持在用户保存数据的时候进行实时核查即前端数据核查;同时,也支持对所有采集数据的后台统一核查。数据核查模块通过元数据管理模块提供的校验规则和元数据配置信息实现对采集数据的核查,以及对核查结果进行保存,对问题数据进行打标。用户可通过数据核查管理功能进行核查结果的查询和导出。

3、视图转化模块:提供对元数据的封装、参数解析和数据转化的功能,用于完成对用户交互页面的数据组装、用户数据可读性的转化操作。该模块主要的数据源为元数据管理模块提供的元数据信息;其支持数据采集管理、数据核查等相关上层模块的数据展示。

4、元数据管理模块:提供采集数据指标的描述信息和支持对元数据的信息维护、元数据查询等功能。采集数据指标的描述信息具体包括了对采集项目的类型、指标的上下级关系、采集数据的存储信息、采集交互页面元素构建信息和数据核查规则信息;元数据管理模块设计了一套元数据模型(简称元模型)方案,对上述的采集数据指标的具体描述信息使用元数据进行形式化描述;所述元模型中的元数据包括:实体元素、属性元素、实体风格元素、属性风格元素、核查规则元素、数据字典元素、领域信息元素、分类信息元素。元数据管理模块提供页面展示构建元素、数据核查规则信息,元数据信息首先由视图转化模块对信息进行数据封装、参数解析和数据转化,最后分别由数据采集管理模块、数据核查模块完成页面生成和渲染。本框架系统对元数据建立了缓存机制,视图转化模块对元数据进行访问操作时,元数据管理模块首先会根据数据查询条件在缓存中进行查询,如果缓存中存在符合条件的元数据则直接返回结果,否则元数据管理模块从数据库中查询,同时更新缓存。

5、服务支持模块:支持采集数据的增加、删除、修改、查询操作,该模块根据元数据描述信息实现采集数据执行sql的构建、参数构建、数据类型处理功能。

6、数据服务模块:提供访问底层数据库的sql执行和操作接口。数据服务模块可以被其他模块调用,根据其他模块传入的sql和参数信息执行数据库操作;数据库中存储着元模型数据和采集数据,元模型数据是用来存储相关采集数据指标描述信息的元数据的数据库表即元模型数据存储表,采集数据是用来存储相关采集数据的数据库表即采集数据存储表。元数据管理模块可以通过数据服务模块直接获取元数据信息;其他模块也可以通过服务支持模块构建sql和参数信息,然后通过数据服务模块执行sql操作获取采集数据。

本发明与现有技术相比的优点在于:本发明为信息采集系统的通用采用框架系统,信息采集系统应用该框架可提高系统的复用性和扩展性,可根据采集指标内容定制元模型数据,使得整个信息采集系统有一个通用的、可扩展的、灵活的体系结构,从而实现信息采集系统的快速开发和部署,并能够降低系统开发和运维成本。

根据以上特点,开发人员只需在信息采集系统中引入该框架,并进行相关的采集指标配置和数据核查配置,就可以实现一个具有支持定制化采集指标和数据核查的信息采集系统,从而缩短研发周期,降低开发和维护成本。

附图说明

图1为本发明框架的模块图;

图2为本发明框架的元模型示意图;

图3为本发明框架的数据采集机制的原理图;

图4为本发明框架的数据核查机制的原理图;

图5为本发明框架的核查结果管理的示意图。

具体实施方式

如图1所示,本发明提供了一种支持可定制化数据采集的元模型框架系统,涉及信息采集领域。本发明针对传统信息采集系统采集指标变化时,需花费大量人力和时间调整系统的设计方案和代码实现等共性问题,设计了一种可定制的、支持采集指标变动的数据采集通用框架。应用该框架,可以降低信息采集系统开发和维护成本,并实现快速的开发和部署。

通过深入分析传统信息采集系统的采集指标的特点和采集过程中涉及的相关业务,框架的设计从各个信息采集系统的共性和和差异性两个方面考虑。

针对信息采集系统之间共性问题,该框架对信息采集系统中的数据采集和数据核查的通用功能有较为完善的支持,实际开发中可以直接应用此框架的数据采集和数据核查功能,以减少系统开发的成本和周期。

系统的差异性主要体现在采集指标项之间的差异,针对此问题提供以下两种方式进行解决:

(1)对采集指标进行抽象,利用元模型方案进行采集数据指标相关信息的描述,以此方案解决采集指标的复杂性、动态性和差异性,在元数据基础上实现可定制化采集数据的存储和采集表单的动态生成,以支持不同采集指标项的信息采集;

(2)支持数据核查的动态配置,将不同采集指标项的数据核查规则也集成到元模型中,通过解析配置信息,实现可定制化的数据核查,解决了不同信息采集系统以及不同采集项的数据核查的差异化问题;

应用该框架的信息采集系统与现有采集系统相比,可以通过定制的方式实现不同采集任务的差异性,通过规范扩展接口提升框架的扩展性,通过共性需求的直接应用减少重复性的开发工作。所以基于该框架可以高效快捷的构建不同数据采集指标的信息采集系统。

本发明按照功能模块划分可以分为数据采集管理模块、数据核查模块、视图转化模块、元数据管理模块、服务支持模块、数据服务模块,具体实施方式如下文所述。

1、数据采集管理模块:提供采集数据的增加、删除、修改、查询等基本操作以及导入导出、数据排序等辅助操作。数据采集管理模块核心功能的实现依赖于视图转化、元数据管理、服务支持和数据服务四个模块。为实现上述功能,数据采集管理机制的原理图如3所示,采集表单生成是针对不同的采集项配置信息生成特定的采集页面,采集数据操作是对采集数据的增加、删除、修改、查询等基本操作的底层实现。具体实现如下文所述。

1-1采集表单生成:前文提到了元模型抽象出了对用户交互的页面显示样式的描述信息——实体样式元数据和属性样式元数据,具体请参考下文元数据管理模块的具体实施方式的描述。所以采集表单生成的设计方案可以基于元模型结构之上来完成,根据元数据管理模块提供的元模型采集项描述信息,通过视图转化模块进行表单基本配置的生成,加载配置信息,生成制定的采集表单或者表格,并为其中每一个输入框赋予相应的控件和显示长度等。其具体步骤如下:

(1)通过元数据管理模块加载元数据信息;

(2)视图转化模块根据元数据信息生成表单描述信息;

(3)根据表单描述信息生成表单代码和控件代码;

(4)加载该采集项对应的采集数据;

(5)完成用户交互的页面渲染和数据填充。

1-2采集数据操作:本框架系统在采集数据操作的设计方面摒弃了传统的实现方式,因为在传统的实现方式中,每一个采集项需要一个持久化对象,并对应一个物理表结构以及一个dao数据库访问接口完成该采集项的数据访问。对于数据采集指标的复杂性和动态性,传统的解决方案显得相对笨重并且扩展性较差,数据采集指标的变动需要调整持久化层、dao层甚至service层等多层次的代码调整,使得传统系统缺乏对数据采集业务的通用性。因此,采集数据操作的设计方案是基于元模型的基础之上,元模型中实体元数据和属性元数据描述了数据存储的物理表结构,可以通过该描述信息完成相关的采集数据操作功能,其具体步骤如下所示:

(1)首先通过元数据管理模块获取元数据,根据元数据解析出该采集项的数据结构描述信息,包括该采集数据存储的数据库名称、物理表名称、该物理表的主键、外键、以及所有字段名称及数据类型等信息;

(2)根据用户交互传递的参数信息,通过视图转化模块进行元数据处理和参数解析;

(3)通过服务支持模块,结合数据访问的操作类型(增加、删除、修改、查询),生成相关的数据库操作sql语句;

(4)获取调用方传递的参数信息,及采集数据操作sql语句的条件,例如:查询条件、更新的字段、删除记录的主键等,并进行sql的参数化处理;

(5)执行sql语句并返回结果,如果执行出错,则抛出异常信息,由框架统一的异常机制进行处理。

2、数据核查模块:数据核查模块主要包括两部分,数据核查和核查结果管理。框架在设计上分别对以上两个部分内容提供通用接口。

2-1数据核查:数据核查包含前端数据核查与后台数据核查。前端数据核查是指在用户录入采集数据时进行的核查,并实时向用户提示录入数据的问题;后台数据核查指的是在应用服务器端进行的数据核查操作,主要发生在用户对采集数据基本完成录入之后,对全部采集数据中进行的数据核查。图4给出了数据核查机制原理图,前端数据核查与后台数据核查的设计思想一致,均采用简单工厂模式来实现。根据进行数据核查的对象(采集项信息和字段信息)调用数据访问接口,获取目标对象的元数据信息(实体元素、属性元素、核查规则元素),之后校验函数生成工厂通过元数据信息获取核查规则元素,在核查规则元素中描述了校验函数名以及相关的参数,利用反射机制,核查函数生成工厂生成相应的校验函数。数据核查处理模块通过元数据信息获取原始的采集数据,并利用之前已经生成的数据核查函数对采集数据进行数据检验。前端、后端数据核查的区别在于:前端数据核查操作是在用户对采集数据保存的时候自动触发,通过页面前端的js脚本函数对当前正在保存的数据进行数据核查,如果核查函数有任何一个出现错误,则立即对用户进行相关的错误提示。后台数据核查是由用户主动点击数据核查操作触发,框架为用户提供数据核查接口。

2-2核查结果管理:数据核查结果的数据结构相对稳定,框架将为核查结果提供统一的数据访问接口和页面显示组件。核查结果包括:采集项核查结果和数据记录核查结果。采集项核查结果表示该采集项中的数据是否存在校验出错的情况;数据记录核查结果会存储该条记录的校验出错原因和相关的修改意见。图5给出了数据核查结果管理的示意图。

3、视图转化模块:提供对元数据的封装、参数解析和数据转化的功能,用于完成对用户交互页面的数据组装、用户数据可读性的转化操作。该模块主要的数据源为元数据模块;其支持数据采集管理、数据核查等相关上层模块的数据展示。

4、元数据管理模块:提供数据采集指标的描述信息,以及对元数据的信息维护;采集指标的描述信息包括采集项目的类型,指标的上下级关系,采集数据的存储信息,采集交互页面信息,数据核查规则;元数据管理模块设计了一套元数据模型(简称元模型)方案,对上述的采集数据指标的具体描述信息使用元数据进行形式化描述。元数据管理模块为数据采集管理模块提供页面展示构建元素,为数据核查模块提供数据核查规则。同时考虑到元数据信息的动态性较小,因此对元数据建立缓存机制。上层对元数据的访问操作,元数据管理模块首先会根据条件在缓存中进行查询,如果缓存中存在符合条件的数据则直接向上层返回结果,否则元数据管理模块从数据库中查询,同时更新缓存。元数据管理模块一共包含8大元素,如图3所示。其中实体和属性元素为核心,描述的是采集数据存储表的物理结构;实体风格和属性风格元素是对数据采集的用户交互方式和字段控件的描述;校验规则是核查规则的描述;数据字典定义了数据采集的数据源;领域批次信息是描述了不同的采集任务和采集轮次;分类元素是对采集指标级别关系的描述信息。下面分别对不同的元模型元数据元素进行详细阐述。

(1)实体、属性元数据,是对数据库物理表的描述。

实体元数据存储该表单涉及到的数据库物理表名称、主外键约束、索引等信息。另外,属性元数据存储表字段定义,定义表单中用到的数据项,包括字段名、字段类型、长度、默认值、是否允许为空、是否自增长字段等信息。

(2)实体显示风格、属性显示风格元数据,对采集表单的描述信息。

实体显示风格元数据描述表单整体信息,包括表单的名称,表单的显示类型,表单的初始化配置信息,表单的控制条件信息等;属性显示风格元数据描述表单中字段的显示信息,包括:界面显示的尺寸、界面布局、控件的类型(文本框、文本域、复选框、单选框、列表框、时间日期选择、文件上传框)、是否可以编辑、是否隐藏、是否可以排序等。

(3)领域和批次信息元数据,对采集任务和采集批次进行描述。

领域元数据包括:领域名称、该领域项目开始和结束时间、领域的是否正在进行等信息;批次元数据信息包括:批次名称、本批次的开始结束时间、是否正在进行、批次的备注信息等。

(4)校验规则元数据,对采集表单和字段的数据核查的描述。

校验规则元数据包括:校验规则名称,校验规则方法名称、参数个数、校验类型等。

(5)数据字典元数据,对某一字段的数据源的描述。

数据字典元数据包括:字典本身元数据和字典条目元数据。字典本身的元数据包括字典的名称、类型等信息;字典条目元数据包括字典中每一个选项名称,条目顺序等信息。

(6)分类信息元数据是对采集指标分级关系的描述信息。

分类信息元数据包括:采集指标所属的指标体系的章节信息和层级关系,包括上下级指标节点的层级信息和显示图标等。

5、服务支持模块:主要支持的功能是对采集数据的操作,提供通过元数据描述信息构造数据访问的sql、访问数据的参数构建、数据类型处理功能。服务支持模块根据过传入的元数据信息和参数信息动态地创建sql、构建参数以及数据类型处理。服务支持模块可根据元数据中实体元素描述的采集数据存储表的表名和属性元素描述的采集数据存储表的字段名动态地拼接查询和更新操作sql语句;当执行的sql中需要使用到表的字段类型时,服务支持模块可根据元数据的属性元素所定义的字段类型进行数据类型处理,转化成采集数据存储表的字段类型。

6、数据服务模块:提供访问底层数据库的sql执行和操作接口,本框架通过此模块对sql语句进行调用,访问和操作元数据和采集数据。

提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1