一种通过可视化配置实现跨数据源的数据读取方法与流程

文档序号:12596649阅读:341来源:国知局

本发明涉及计算机应用技术,尤其涉及一种通过可视化配置实现跨数据源的数据读取方法。



背景技术:

近几十年来,科学技术的迅猛发展和信息化的推进,使得人类社会所积累的数据量已经超过了过去5000年的总和,数据的采集、存储、处理和传播的数量也与日俱增。企业实现数据共享,可以使更多的人更充分地使用已有数据资源,减少资料收集、数据采集等重复劳动和相应费用。但是,在实施数据共享的过程当中,由于不同用户提供的数据可能来自不同的途径,想要整合这些内容需要编写不同的采集代码获取各种途径的数据,这要求开发人员要去学习与各种系统的通讯机制,并编写相应的采集器代码,这无疑带来了巨大的工作量。



技术实现要素:

为了解决以上技术问题,本发明提出了一种通过可视化配置实现跨数据源的数据读取方法。使用可视化配置实现跨数据源的数据读取引擎,通过可视化配置以及内置多种常用数据源的支持,使得大多数途径的数据集成变得非常简单,开发人员使用起来更加有效和灵活,更有效的降低软件公司的开发成本。

本发明的技术方案是:

一种通过可视化配置实现跨数据源的数据读取方法

通过数据源连接配置、数据源配置、数据获取三个部分实现跨数据源的数据读取。通过可视化配置的方式,即可实现高效的跨数据源的数据读取;通过数据源类型动态生成不同数据源的配置信息页面,根据配置信息即可与各种数据源建立连接进行数据读取。具体步骤如下:

1)数据源连接配置

引擎根据数据源类型动态生成数据源连接的可视化配置页面,此页面包括与目标数据源建立连接所需的必要参数。

配置参数最终以Json字符串的形式持久化。

配置完成,可以测试连接能否连接成功,以验证配置参数正确性。

2)数据源配置

根据1)中连接配置信息创建连接,获取数据源接口信息,动态生成的数据源配置页面。

数据源配置页面包含要调用数据源的方法,配置调用方法传入的参数。

选择方法后,参数列表根据接口协议,自动生成相应的传入参数列表,包括参数序号、名称、类型、模式、参数取值、参数描述。

参数取值需要通过帮助配置,以{SYS~动态参数名}的方式标识运行时参数,运行时参数在运行时才能动态获取到值并传入。

3)数据获取

数据获取为用户调用DataEngine.GetData(datasourceCode)的时候触发,其中datasourceCode为配置的数据源编号。引擎根据数据源编号找出持久化的连接配置与数据源配置,

构造数据驱动器上下文,找出要使用的数据驱动器。

根据参数配置信息,解析参数表达式,获取运行时参数值,填充到数据驱动器上下文中。

使用数据驱动器与数据源进行通讯获取数据。

数据驱动是与数据源通讯的装置。引擎预置了6个数据驱动,包括数据库驱动、webservice驱动、Rss驱动、Restful驱动、exchange驱动、ftp驱动。数据驱动支持扩展。

本发明与现有技术相比有以下优点:

提供了可视化的配置页面,所见及所得,简化复杂性,便于使用者理解使用。

内置多种数据驱动装置,基本上覆盖了目前用到的所有数据源形式,开发人员无需再去学习理解这些数据源的通讯协议,通过配置页面配置,直接就可以使用来获取数据,大大减少了软件开发时间,降低公司开发成本。

对于内置数据驱动未覆盖的数据源,开发人员可以开发自己的数据驱动装置,扩展性强。

具体实施方式

下面通过实施例对本发明的内容进行更加详细的阐述:

场景:门户页面上需要放置一个天气预报控件,控件需要调用天气网的Webservice接口获取本地天气数据。

新建数据源连接,填写连接编号“001”、连接名称“天气预报服务”,选择连接类型为Webservice,连接下方的连接配置区域变为Webservice的连接配置信息。此处wsdl类型选择“链接地址”,下方会弹出输入框要求输入wsdl链接地址,此处输入中国天气网的webservice服务地址,点击保存即完成数据源链接配置。

从数据源配置界面选择新建数据源,会弹出数据连接选择框,此处选择新建的编号为“001”的数据源连接,点击确定。

系统会自动进入数据源配置详情页,填写数据源编号“ds001”,数据源名称“获取城市天气”。

方法选择框会根据数据源连接配置信息,自动请求webservice的wsdl描述文件并分析描述文件,得到次webservice接口包含的接口方法,此处选择getWeatherbyCityName,下方的参数列表中会自动添加一个参数“theCityName”,类型为“string”,模式为传入,参数取值框中填写“济南”点击保存。

从数据源配置列表页面,找到新建的为“获取城市天气”数据源,点击右侧的测试按钮即可发现已经成功获取到济南当天的天气情况。

程序中使用的话,可以通过DataEngine.GetData(“ds001”),获取到济南当天的提起情况字符串。

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