1、引言
近年来,随着我国信息技术的蓬勃发展,各行业的信息化水平都有不同程度的提高。在某些领域,尤其是国有商业银行等,大型信息系统的应用已日趋成熟。这些信息系统的后台普遍为大型数据库(如Oracle,DB2等),存储着海量的数据。如何快捷有效地从大型信息系统中采集审计所需的电子数据,成为审计人员必须面对的问题。笔者曾参与过对几类大型信息系统的计算机审计工作,通过实践总结了一些经验,希望借此文与广大审计战线的同仁相互交流,以期共同提高。
2、商业银行信息系统特点及数据采集难点
一般而言,商业银行信息系统复杂,数据量大。在其系统升级改造过程中,往往又牵涉到系统前后版本、新旧模块的衔接与切换。这一切都导致在计算机审计过程中,数据采集涉及的对象极为繁杂。
2.1 系统结构复杂
(1) 企业组织架构复杂,各子单位应用系统数据较为零散。
一般的大型商业银行都在各个地区设有分行,不少分行自建的信息系统与总行相对独立。目前,仍有大量业务数据分散存储于各分行,只能通过从各分行汇总上报,以取得相对完整的数据。
(2) 系统的原始资料缺失,部分系统缺少说明文档。
银行信息系统开发周期长,早期的项目管理大多不甚规范。部分系统ER图、软件开发文档缺失。审计过程中对该部分系统架构和业务流程很难有清晰的概念,从而导致数据采集过程中难以对所需的业务数据进行精确定位。
2.2 信息系统版本繁多
系统在多年的开发过程中存在诸多应用版本,且多个版本并存。
商业银行信息系统包含以下几个主要组成模块:核心账务系统、信贷管理系统、国际业务处理系统、客户综合信息系统等。在整个信息系统升级换代过程中,不同系统运行着不同版本的应用模块,给业务数据的汇总工作带来了很大的困难。
(1) 数据集中升级过程中不同子系统上线及废止时间不一致。
在商业银行新版本信息系统的推广过程中,因地域差异等原因,各分行系统上线及废止时间往往不尽一致。在数据采集过程中,如需延伸审计各分行系统升级过程中的业务数据,则很可能同时面对新旧两个版本的系统,这给数据的整合也提出了更高要求。
2.3 数据复杂工作强度及难度大
(1) 审计涉及面光并且数据量大,服务器负担较重。
在对商业银行的审计中,审计涉及的业务数据常逾数百G。而审计现场搭建的数据服务器因处理能力的限制,常会出现硬盘容量不足,数据采集转换速度过慢的情况。针对此种情况,一方面要不断提高数据服务器的软硬件配置;另一方面采取及时删除中间表、利用机器空余时间进行运算等手段提高数据采集和整理的效率。
(2) 数据来源众多,不同口径数据往往存在差异。
在审计过程中,不同分行及相应职能部门提交的数据往往存在一定的差异。这些差异一般是由于统计口径的不同而产生的。在此情况下,审计人员需花费大量时间用于查找数据差异并分析原因,从而延缓整个审计进度。
(3) 系统流程复杂,数据核实难度较大
商业银行提供的一些汇总报表,如资产负债表、损益表等,往往是从整个系统中抽取的数字进行统计的结果,过程非常复杂。审计人员要对此类数据进行核实,难度较大。
3、商业银行信息系统数据采集实践
针对商业银行信息系统的特点以及在审计过程中数据采集的难点,笔者在实践中总结了一些海量数据的采集方法,在实际工作中,可有效克服业务数据采集中的常见问题,从而大大提高审计工作的效率。
3.1 审前调查
在传统审计模式下,不论审计项目的大小,在审计之前都要对审计对象的基本情况进行了解,以便制定切实可行的审计方案,有条不紊的开展审计工作。信息系统数据的采集工作同样如此,需要审计人员进行审前调查,而且审前调查的内容不仅包括常规审计方法下的一些内容,还有着更多与计算机审计相关的内容。具体包括:
(1) 业务流程
要详细了解商业银行每个业务环节的具体操作方式和目的,并根据了解的情况绘制业务流程图。目的是使审计人员有一个初步的审计思路,更好的设计切实可行的审计方案,同时初步确定数据采集的范围。
(2) 组织架构
对被审计单位整体组织架构有一个详尽的了解。根据了解的情况绘制被审计单位的组织结构图。从而使得审计人员对被审计单位的结构进行了解,进而对业务的流程有着更为清晰的了解。
(3) 计算机系统
了解商业银行计算机的软硬件配置情况,包括操作系统、常用软件、主要服务器的硬件配置情况等。目的是方便数据的采集和转出。
(4) 业务系统
了解商业银行业务系统的名称、版本、开发商、功能等内容,以及业务操作系统中的重点表、业务系统间的关联关系、各系统在业务流程中的重要性程度等。
(5) 数据库系统
了解被审计单位业务系统所使用的各个数据库系统的基本情况,包括数据库系统的名称和版本,数据库系统本身的格式,通过该系统可导出的数据文件格式等。
通过审前调查,审计人员还需要进一步明确相关业务数据的具体格式。数据格式以满足审计人员的需求或审计软件的采集要求为准。如无法达到以上要求,则需通过源数据处理等方法将其转换为所需的数据格式。
审前调查阶段结束时,审计人员需要向被审计商业银行提出电子数据需求表,同时要求对方提供相应的数据字典。在数据字典中,应包括数据表间的关系、字段含义,以及数据流程图。
3.2 数据采集
(1) 数据采集的具体方法
一是利用商业银行后台数据库管理系统的数据导出功能,将所需业务数据按固定格式导出,形成txt等格式的数据文件,进而导入审计现场的数据服务器中。
二是拷贝信息系统的备份文件,然后在类似系统环境下重建该数据系统,或者建立审计中间表。审计人员在重建后的系统或者中间表上开展审计分析工作。
三是使用审计软件自带的数据转出工具。如《现场审计实施系统》自带的数据转换接口工具。
四是使用通用数据转出工具。例如:某商业银行的后台数据库为DB2,我们可以直接使用ODBC将DB2中所需的数据导入数据服务器的SQL Server数据库中。
审计人员需根据被审计商业银行的数据特点灵活挑选具体的数据采集方式。如:数据密集型部门,由于数据量通常超过一般审计软件的处理能力,目前通用的数据采集方式则是重建模拟系统,然后在模拟系统中进行数据筛选等操作。内部财务等数据量不大的部门,则完全可以使用SQL Server等中小型数据库软件在台式机上进行数据采集和分析。
(2) 数据采集点的选择
根据被审计商业银行的数据存储模式,可采用不同的数据采集策略。对于数据集中存放的银行,采集点最好选择数据集中点。对于数据分散存放的银行,则可以采用两种方式进行数据采集。一种是与每个数据存放点建立数据连结通路,单独采集数据,汇总到数据中心后对其进行整合;另一种是在数据采集前,请被审计银行利用自己的网络将数据集中后供审计人员集中采集。
(3) 数据采集频率选择
联网审计的数据采集频率是由被审计单位数据在生产系统中的保留时间、被审计系统的业务特征、审计周期等因素综合确定。采集频率还应该可以根据审计的需要方便的设置,一般以系统参数的形式给出。另外,采集周期的选择也要考虑到审计周期的长短。
3.3 数据验证
数据验证是对采集到的商业银行电子数据的真实性和完整性的检查,以确保审计数据和审计工作的质量,防止“假账真查”。
由于银行信息系统较为复杂,如果对采集的全部数据进行验证工作显然难以实现。因此,必须选择重点系统和重点数据表,对其内容进行验证。同时,还可根据系统内部的业务逻辑,通过不同业务数据之间的勾稽关系来对数据进行交叉验证,从侧面印证业务数据的真实性、完整性。
4 数据采集的经验
4.1 分离审计
在现场审计过程中,审计人员不得直接对被审计软件系统的数据库进行分析和测试,而应首先将业务数据迁移到审计人员搭建的数据平台,以免对被审计软件系统中的数据造成破坏。
4.2 保证审计软件的运行效率
无论采用何种数据采集方法,在审计软件初步接受被采集数据到确认保存数据的过程中,可能会产生一些临时数据表。长此以往,势必影响审计软件的运行速度。为了避免临时数据占用计算机磁盘和内存空间,提高审计软件的运行效率,可以数据采集后集中对临时数据进行清理。
4.3 加强安全保密
对于已采集的业务数据要进行加密,以保证其安全性。对审计软件应确认关闭其数据出口,防止无关人员随意调用、改动,从而导致数据遭到破坏或泄漏,对被审计商业银行的利益造成损害。
4.4 灵活运用第三方辅助软件
在数据采集中,可以灵活运用第三方的辅助软件,以提高工作效率。如在采集流程中,需要创建、导出、导入诸多数据表文件,操作繁杂,但同时大部分工作又存在着高度的相似性。此时可以运用UltraEdit等文本处理软件,通过其列模式、文本快速定位、文本对比等功能,简化操作过程,进一步减少数据采集阶段的工作时间。(审计署驻上海特派员办事处)