1、论数据采集工具现实状况、问题、处理方案和展望一、数据采集工具现实状况和存在问题数据采集工具发展经过了两代产品。第一代数据采集工具关键是依据财务软件使用数据库,直接拷贝财务软件数据库文件。比如:用友U811版本软件后台数据库采取ACCESS,直接拷贝相关UFDATA.MDB文件。用友U852版本软件后台数据库采取SQLSERVER,能够有三种采集方法:第一、经过ODBC或OLE DB等方法直连SQLSERVER数据库,把数据下来生成第三方文件格式,比如ACCESS或文本文件等。第二、在SQLSERVER企业管理器或查询分析器中直接备份需要数据库,生成SQLSERVER数据库备份文件*.BAK,然
2、后直接拷贝该文件。第三、直接找到SQLSERVER物理文件*.MDF,拷贝对应文件。这一代采集工具通常为通用型数据采集工具,比如:文件型数据查找拷贝工具、SQLSERVER采集工具、ORACLE采集工具等。这一代工含有其优点:第一、工具简练,依据常见数据库类型做相关工具;第二、采集数据比较完整,基础上是整个数据库全部照搬,属于数据库级。 不过也有显著不足:第一,需要有相关数据库基础知识,比如ODBC数据源配置、WINDOWS认证或SQLSERVER混合认证方法。其次,采集数据位全部数据,其中有很多数据没有用,假如碰到尤其大数据时,采集时间很长,而且占用很大硬盘空间。第三,直接拿到数据库备份,需
3、要有该数据库环境才能恢复进去,这些需要有相关数据库操作经验人员才能掌握。第四、采集工具分散,不能集成在一起使用。所以,第一代数据采集工具在应用方面不足,催生了第二代采数工具产生。 第二代数据采集工具充足利用了财务软件系统本身后台数据库资源,经过直接连接后台数据库,采集需要用到数据表,并经过数据转换算法把数据导出到设计了固定表结构第三方文件中。比如:使用工具采集金蝶K3数据,经过填写连接SQLSERVER数据库参数,金蝶K3服务器IP、用户名SA、SA密码,直接连接到金蝶K3数据库,然后关联相关数据表t_Account、t_Balance、t_Voucher、t_VoucherEntry进行查询
4、输出成固定结构数据kmk科目库、kmye年初数库、pzk凭证库。第二代工含有其优点:第一、以财务软件为单位,每种财务软件做一个接口,针对性强;采集工具集成度高,把多种财务软件接口全部集成在一个数据采集工具上,方便维护和使用;第二、采集数据属于字段级,仅采集需要数据表中一些字段,采集后数据很小;第三、直连数据方法,能够充足利用数据库环境资源,高效且省资源。然而,这种方法也有其致命弱点:第一、字段级数据采集,需要对财务软件数据结构很熟悉,只要有一点问题全部需要到现场重新采集数据,很麻烦。而且假如需要部分其它辅助字段,因为需求没有考虑周全,也需要重新采集。第二、只支持直连数据库采集,不支持备份方法采
5、集,对于很多单位不许可直连数据库只提供备份情况,就需要自己手动恢复数据,对使用者要求较高。第三、采集后数据全部是根据标准数据结构进行转换整理后数据,原始表结构已经不复存在,这么数据作为证据保留下来是有问题,正确性无法保障。二、针对数据采集工具之不足处理方案数据采集工含有以下三点标准性分歧或不足之处:第一、数据采集颗粒度过大或颗粒度过小。第一代工具强调数据库全盘拷贝,不管所采集数据是否有用全部采集,造成取了很多没有用数据,而且采集速度显著会降低,这种数据库级采集方法颗粒度过大;而第二代采集工具仅采集使用到表中一些字段,现在没有需求字段全部不会提取,假如一旦出现表结构分析不完整或需求增加,全部要重
6、新到现场采集,费时费力费钱,这种字段级采集方法颗粒度过小。第二、数据采集接口是根据数据库类型组织还是根据财务软件类别组织。第一代工具根据数据库多个类型来组织采数接口,缺点就是需要一定数据库基础知识,上手不轻易。第二代采集工具根据财务软件类别组织,缺点就是财务软件很多,需要对每种财务软件结构了解透彻,比较费功夫,一旦分析有误轻易采集数据不全。第三、采集后数据是整个数据库备份还是需要经过转换后数据。第一代工具强调采集整个数据库,而且采集数据不做任何变动,保持原貌,缺点是数据过大,不好处理。第二代工具在采集同时做了数据转换操作,已经改变了原有数据库结构,缺点是结构发生改变,不能作为原始证据。针对以上
7、三点标准性分歧或不足之处所提出处理方案:1、选择适中采集粒度,即数据表级采集。采集我们可能用到数据表,字段不做筛选,整张表全部采集,表中统计经过where条件做过滤。这么既能够避免采集无用数据,又能够确保表结构完整性,立即需求扩展到同一张表其它字段也不用重新采集。2、综合财务软件类别和数据库类型自组织采集接口。现有多种财务软件单独接口,也有多个数据库通用采集接口,将万全模式和傻瓜模式相结合。当碰到已经有财务软件单独接口情况,直接使用简单模式采集,当碰到没有见过财务软件时,采取完全模式也能够把数据完整采集到。3、采集数据不要经过转换处理,转换过程放到单独数据转换阶段处理。数据为用到一些表,而且保
8、持表结构完整性,不改变表原来任何属性。这么既能够降低数据过大,内容冗余问题,又能够保持原有格式作为原始证据之用。三、以后数据采集工具发展方向 经过对数据采集工具现实状况、问题及处理方案探讨,未来新一代数据采集工具应该含有以下特点: 1、自动搜索财务软件:工具运行后经过自动检索本机注册表,本机目录,找特征文件等方法,自动检索出本机安装财务软件及版本,并最大可能把能够相关连接数据库参数检索出来自动填入。实现真正意义上“以人为本”傻瓜式取数。2、支持备份取数:工具应该支持多种数据库备份数据采集,即在安装了对应备份数据库环境基础上,工具提供备份还原功效,并直接在还原数据库上进行数据采集工作,将备份恢复
9、和采集数据融为一体。另外,针对多种财务软件本身备份文件,也要加紧研发相关解析接口,能够直接读取备份文件。 3、支持多个数据库方法取数: 数据采集工具应该能支持多种数据库采集,包含常见ORACLE,SQLSERVER,DB2,SYBASE,MYSQL,INFORMIX,ACCESS,SYBASE ANYWHERE,INTERBASE,POSTGRESQL,TXT,EXCEL,DBF。也应该包含通用数据库采数方法,比如odbc,ado方法等。 4、取数模板开放性:以前数据采集接口,采了哪些表,哪些字段全部是写到程序中,全部经过了编译处理,对于应用者来说全部是黑箱操作,不透明。未来数据采集模版应该是
10、开放式,透明。这种采集接口模板化结构设计,能够轻松制作多种采集接口,支持接口任意导入和导出,其开放式、图形化采集模板设计界面,方便全部应用者制作数据采集接口。即使是自行开发设计财务软件,经过简单配置就能成功取数。 5、取数不安装数据库用户端便捷性:数据采集工具应该把连接多种数据库方法和驱动资源进行封装,而且能够自由添加多种资源文件(比如access系统数据库等)。比如在连接ORACLE数据库时,很多情况用户机上没有安装ORACLE数据库用户端程序,这是我们采数工具也应该支持直接连接,而delphi中ODAC组件直连ORACLE方法就是一个很好例子。 6、保持原始数据表结构:采集数据保持原始数据
11、表结构,对于作为原始证据来说至关关键。只有和原始数据库中表结构,包含表名称、字段名称、字段类型、字段长度这些信息一致,才可能说采集表和原始数据表一致,才能作为副本作为证据保留。假如对表结构进行了变动或进行了转换,那么就失去了和原始表相同这些原子特征,就存在不一致或可能有错误在数据中。 7、 压缩加密安全性:工具采集后数据通常为文本格式,这么支持大数据存放,而且要进行压缩加密,确保采集数据安全性。首先文本压缩比率较高;其次,单个文件压缩加密极难被破解。即使发生了数据丢失,也打不开看不着里面数据文件。 8、支持财务软件多:工具应该支持市面上最少90%财务软件,确保应用者拿到采数工具就能够去采回数据。而且工具应该支持没有财务软件模版通用数据库采集,只要知道财务数据库类型就能够把全部数据采集带回。