论数据采集工具的现状、问题、解决方案和展望

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

论数据采集工具的现状、问题、解决方案和展望

一、数据采集工具的现状和存在的问题

数据采集工具的发展经过了两代产品。

第一代数据采集工具主要是根据财务软件使用的数据库,直接拷贝财务软件数据库文件。比如:用友U811版本的软件后台数据库采用ACCESS,直接拷贝相关UFDATA.MDB 文件。用友U852版本的软件后台数据库采用SQLSERVER,可以有三种采集方式:第一、通过ODBC或者OLE DB等方式直连SQLSERVER数据库,把数据下来生成第三方文件格式,比如ACCESS或者文本文件等。第二、在SQLSERVER企业管理器或者查询分析器中直接备份需要的数据库,生成SQLSERVER数据库的备份文件*.BAK,然后直接拷贝该文件。第三、直接找到SQLSERVER的物理文件*.MDF,拷贝相应的文件。这一代采集工具一般为通用型数据采集工具,比如:文件型数据查找拷贝工具、SQLSERVER采集工具、ORACLE 采集工具等。这一代工具有其优点:第一、工具简练,依据常用数据库类型做相关工具;第二、采集数据比较完整,基本上是整个数据库全部照搬,属于数据库级。但是也有明显的不足:第一,需要有相关数据库的基础知识,比如ODBC数据源配置、WINDOWS认证或者SQLSERVER混合认证方式。其次,采集的数据位全部数据,其中有很多数据没有用,如果遇到特别大的数据时,采集的时间很长,并且占用很大的硬盘空间。第三,直接拿到的数据库备份,需要有该数据库的环境才能恢复进去,这些需要有相关数据库操作经验的人员才能掌握。第四、采集工具分散,不能集成在一起使用。因此,第一代数据采集工具在应用方面的不足,催生了第二代采数工具的产生。

第二代数据采集工具充分利用了财务软件系统本身的后台数据库资源,通过直接连接后台数据库,采集需要用到的数据表,并通过数据转换算法把数据导出到设计了固定表结构的第三方文件中。比如:使用工具采集金蝶K3数据,通过填写连接SQLSERVER数据库的

参数,金蝶K3服务器IP、用户名SA、SA的密码,直接连接到金蝶K3的数据库,然后关联相关数据表t_Account、t_Balance、t_Voucher、t_V oucherEntry进行查询输出成固定结构数据kmk科目库、kmye年初数库、pzk凭证库。第二代工具有其优点:第一、以财务软件为单位,每种财务软件做一个接口,针对性强;采集工具集成度高,把各种财务软件接口都集成在一个数据采集工具上,方便维护和使用;第二、采集数据属于字段级,仅采集需要的数据表中的某些字段,采集后的数据很小;第三、直连数据方式,可以充分利用数据库环境资源,高效且省资源。然而,这种方式也有其致命的弱点:第一、字段级的数据采集,需要对财务软件数据结构非常熟悉,只要有一点问题都需要到现场重新采集数据,非常麻烦。并且如果需要一些其他的辅助字段,由于需求没有考虑周全,也需要重新采集。第二、只支持直连数据库采集,不支持备份方式采集,对于很多单位不允许直连数据库只提供备份的情况,就需要自己手动恢复数据,对使用者要求较高。第三、采集后的数据都是按照标准数据结构进行转换整理后的数据,原始表结构已经不复存在,这样的数据作为证据保留下来是有问题的,正确性无法保障。

二、针对数据采集工具之不足的解决方案

数据采集工具有以下三点原则性分歧或者不足之处:

第一、数据采集的颗粒度过大或者颗粒度过小。第一代工具强调数据库的全盘拷贝,不论所采集数据是否有用全部采集,造成取了很多没有用的数据,而且采集速度明显会降低,这种数据库级的采集方式颗粒度过大;而第二代采集工具仅采集使用到的表中的某些字段,目前没有需求的字段都不会提取,如果一旦出现表结构分析不完整或者需求的增加,都要重新到现场采集,费时费力费钱,这种字段级的采集方式颗粒度过小。

第二、数据采集接口是按照数据库类型组织还是按照财务软件类别组织。第一代工具按照数据库的几种类型来组织采数接口,缺点就是需要一定的数据库基础知识,上手不容易。

第二代采集工具按照财务软件类别组织,缺点就是财务软件很多,需要对每种财务软件结构了解透彻,比较费功夫,一旦分析有误容易采集数据不全。

第三、采集后的数据是整个数据库的备份还是需要经过转换后的数据。第一代工具强调采集整个数据库,并且采集的数据不做任何变动,保持原貌,缺点是数据过大,不好处理。第二代工具在采集的同时做了数据转换操作,已经改变了原有数据库的结构,缺点是结构发生变化,不能作为原始证据。

针对以上三点原则性分歧或者不足之处所提出的解决方案:

1、选择适中的采集粒度,即数据表级采集。采集我们可能用到的数据表,字段不做筛选,整张表全部采集,表中记录通过where条件做过滤。这样既可以避免采集无用的数据,又可以保证表结构的完整性,及时需求扩展到同一张表的其他字段也不用重新采集。

2、综合财务软件类别和数据库类型自组织采集接口。既有各种财务软件的单独接口,也有几种数据库的通用采集接口,将万全模式和傻瓜模式相结合。当遇到已有财务软件单独接口的情况,直接使用简单模式采集,当遇到没有见过的财务软件时,采用完全模式也可以把数据完整采集到。

3、采集的数据不要经过转换处理,转换过程放到单独的数据转换阶段处理。数据为用到的某些表,并且保持表的结构完整性,不改变表的原来的任何属性。这样既可以减少数据过大,内容冗余问题,又可以保持原有格式作为原始证据之用。

三、今后数据采集工具发展的方向

通过对数据采集工具的现状、问题及解决方案的探讨,将来的新一代数据采集工具应该具备如下特点:

1、自动搜索财务软件:工具运行后通过自动检索本机注册表,本机目录,找特征文件等方式,自动检索出本机安装的财务软件及版本,并最大可能的把可以相关连接数据库的参

数检索出来自动填入。实现真正意义上的“以人为本”的傻瓜式取数。

2、支持备份取数:工具应该支持各种数据库备份的数据采集,即在安装了相应备份的数据库环境基础上,工具提供备份还原的功能,并直接在还原的数据库上进行数据采集工作,将备份恢复和采集数据融为一体。另外,针对各种财务软件本身的备份文件,也要加紧研发相关解析接口,能够直接读取备份文件。

3、支持多种数据库方式取数:数据采集工具应该能支持各种数据库的采集,包括常用的ORACLE,SQLSERVER,DB2,SYBASE,MYSQL,INFORMIX,ACCESS,SYBASE ANYWHERE,INTERBASE,POSTGRESQL,TXT,EXCEL,DBF。也应该包括通用数据库采数方式,比如odbc,ado方式等。

4、取数模板开放性:以前的数据采集接口,采了哪些表,哪些字段都是写到程序中的,都经过了编译处理的,对于应用者来说都是黑箱操作,不透明。将来的数据采集模版应该是开放式的,透明的。这种采集接口模板化结构设计,可以轻松制作各种采集接口,支持接口的任意导入和导出,其开放式、图形化的采集模板设计界面,方便所有应用者制作数据采集接口。即使是自行开发设计的财务软件,经过简单配置就能成功取数。

5、取数不安装数据库客户端便捷性:数据采集工具应该把连接各种数据库的方式和驱动资源进行封装,并且可以自由添加各种资源文件(比如access的系统数据库等)。比如在连接ORACLE数据库时,很多情况客户机上没有安装ORACLE数据库的客户端程序,这是我们的采数工具也应该支持直接连接,而delphi中的ODAC组件直连ORACLE的方式就是一个很好的例子。

6、保持原始数据表结构:采集的数据保持原始数据的表结构,对于作为原始证据来说至关重要。只有和原始数据库中的表结构,包括表名称、字段名称、字段类型、字段长度这些信息一致,才可能说采集的表和原始数据表一致,才能作为副本作为证据保存。如果对表

相关文档
最新文档