论文部分内容阅读
摘 要: 新的分布式计算机审计技术——基于移动 Agent的分布式计算机审计技术的出现给人们带来了新的发展。本文在介绍移动 Agent技术的基础上提出了一种应用移动 Agent技术的现代化审计模型。
关键词: 移动Agent 计算机审计系统 分布式审计系统
一、移动Agent的定义
Agent是指模拟人类行为与关系、具有一定智能并能够自主运行和提供相应服务的程序,是面向对象技术向软件智能化发展的产物,它的出现将计算机软件设计提高到一个更高的抽象层次。人们可以把它看作一个自治的实体,它能够感知环境,并且对外界的信息作出一定的判断与推理,来控制自己的决策与行为,以便完成一定的任务。
移动Agent(Mobile Agent,简称MA)是具有移动性的Agent。移动Agent的概念是20世纪90年代初由General Magic公司在推出商业系统Telescript时提出的。简单地说,移动Agent是一个能在异构网络中自主地从一台主机迁移到另一台主机,并与其他Agent或资源交互的程序。移动的目的是使程序的执行尽可能靠近数据源,降低网络的通信开销,平衡负载,提高完成任务的时效。移动Agent实质上是一个封装代码、运行状态和数据的计算实体,是可以在执行过程中有目的地、自主地在网络中移动,利用与分布资源的局部交互而完成分布任务的软件实体。传统客户机与服务器间的交互需要连续的通信支持;而移动Agent可以迁移到服务器上,与之进行高速的本地通信,这种通信不再占用网络资源。
移动Agent是一种新的网络计算技术,它能有效地降低分布式计算中的网络负载,提高通信效率,动态适应变化了的网络环境,并具有很好的安全性和容错能力,为有效地进行数据库访问提供了一种新思路和新方法。
二、移动Agent系统的组成
不同移动Agent系统的体系结构各不相同,但几乎所有的移动Agent系统都包含移动Agent(MA)和移动Agent服务设施(Mobile Agent Equipment,简称MAE)两个部分,如图1所示。
1.人机界面
人机界面是用户与计算机审计系统互操作的渠道,完成用户的审计输入和审计结果的显示。例如,用户可以选择审计模型(审计算法)、数据源、审计初始流程,可以完成系统中Agent的知识和规则的更新,弥补系统知识的不足,也可以输入一些基本信息,如,在不同时期,针对不同性质的被审计单位,可以设定进行资金流审计的最低额度,等等;用户还可以选择最终的结果的可视化形式。同时,人机界面显示审计子系统中“智能用户Agent”提交的审计结果信息。
2.审计子系统
上面介绍了分布式审计模型中的三个主要部分的内部结构功能等,本部分着重分析该模型的核心部分——审计子系统中各组成Agent的功能及它们之间的协作关系。如图2所示,审计子系统由协调Agent、审计Agent、智能用户Agent、审计算法Agent、分析Agent和数据站点管理Agent组成。这些Agent协调一致地工作,它们的功能和它们之间的协作关系分析如下:
(1)智能用户Agent
该Agent代表用户向审计子系统提出审计请求。只需要用户提出相应的要求或者做一系列的选择,智能用户Agent就可以将用户要求转化为协调Agent能够识别的命令并提交给协调Agent进行任务的计划分配;智能用户Agent还负责处理通过人机接口输入的系统更新信息等,如审计特定算法参数,Agent知识和规则等。该Agent除了处理用户输入的信息外,还需要能够保存审计子系统的审计结果等输出信息,或直接提交这些信息给用户拥有的人机接口。
(2)协调Agent
它主要完成三项任务:①任务规划优化,主要完成审计任务的规划,并选择最优的规划方案。它与审计算法Agent、分析Agent、审计Agent管理器和数据站点管理Agent交互,得到审计算法效率功能特点、异常数据模型、系统中审计Agent的功能状态、数据站点数据集大小和数据变化趋势等信息来确定相应的审计方案以尽可能满足用户需要。该Agent具有实时规划能力以满足因某个移动Agent的失效而进行任务的重新规划。②依据规划结果,协调Agent创建并命名多个并行协同工作的装载有审计算法或审计模型的移动审计Agent,并将这些移动Agent的基本信息注册到审计Agent管理器中。③审计整个过程的协作协调,主要协调审计过程的各个Agent和维护系统当前的运行状态信息等。它得到一个有关系统状态信息的参考点。它可以看作是分布式审计任务的一个描述各Agent的操作基点的动态目录。同时,协调Agent也是系统中Agent信息交换中心,负责维护Agent之间信息的交互传递等。
(3)审计Agent
该Agent是移动Agent,由协调Agent创建,并移动到协调器指定的数据站点进行数据分析,并将自身的位置信息和状态信息传递给审计Agent管理器,将审计分析反馈给协调器以进行数据结果的融合。审计Agent运用自身携带的审计模型、审计算法或请求协调Agent得到的审计模型等完成具体的审计子任务,并为分析Agent提供异常数据。
(4)审计Agent管理器
负责管理所有审计Agent的相关信息,这样各种Agent通过与管理Agent交互便可以动态获取其他Agent的属性信息(位置、功能等),从而与其他Agent进行交互,以获取所需要的信息。它是实现系统分布式透明性的关键,主要用于收集、管理、统计、查询各种Agent信息资源,按其功能分类或建立Agent联盟。同时,它也担当可信任的安全认证中心,保证各Agent之间的安全通信机制。
(5)审计算法Agent
审计算法Agent主要负责维护审计分析算法。用户可以注册审计分析算法。当算法注册到系统中,算法Agent登记算法的元知识信息及其特点(比如,名字、版本、输入参数、操作环境描述和输出格式等)。同时,算法Agent将这些信息反馈给协调Agent。
(6)数据站点管理Agent
数据站点管理Agent主要负责被审计单位Agent服务器的基本信息,如Agent服务器的启动、停止状态信息、位置信息和数据源信息等。Agent服务器及时将其启动、停止信息注册到数据站点管理器以便协调器合理规划审计任务,但在进行实时在线审计中,Agent服务器不能关闭。为了维护Agent服务器和防止Agent服务器出现故障,往往在被审计单位提供同步工作的Agent服务器。
(7)分析Agent
分析Agent采用数据挖掘算法,根据审计Agent提供的异常数据自动生成、更新审计模型及运行参数,是体现审计子系统自适应的核心部件。它主要包括异常信息传递模块和自适应模式产生机构。
审计子系统由7类功能各异协同工作的Agent组成,当接受到用户提交的具体审计任务后,系统自动有条不紊地对被审计单位的财务数据进行审计,及时发现问题并以多种形式向审计单位监控中心提交审计结果,达到规范经营活动和金融风险预警等目的,其中,审计Agent是审计任务执行的关键。
3.被审计单位子系统
被审计单位子系统包括Agent服务器、业务部子系统和数据站点三部分。其中,Agent服务器保存有本地数据站点的有关信息,如本地数据的形式、数据库管理系统、业务数据库表结构、数据范围等。每个Agent服务器向数据站点管理Agent注册,并及时更新数据站点管理Agent中的有关内容以便协调Agent有效地规划审计任务。同时,Agent服务器为审计Agent提供服务设施和提供移动管理器、运行管理器、通信管理器和安全管理器等。这里,Agent服务器和业务部子系统运行在指定被审计单位的专用服务器上。
4.审计Agent的结构
审计Agent是一种移动Agent,每个审计Agent都是一个相对独立的审计单元,利用其自带的审计算法和知识库信息等执行审计任务;还可以不断地从分析Agent中获取最新的知识用于审计。审计Agent封装了描述其状态的属性,以便当Agent移动到另一主机上重新开始工作和向审计Agent管理器返回信息。图3给出了一个审计Agent的内部结构,该结构包含下列模块:
(1)接口模块
主要将审计Agent的内部机制与外界隔离,所有信息交流都通过该接口。该模块包含与协调Agent和Agent服务器进行交互接口和消息的传递接口以及与数据源的联接接口。该Agent交流的信息包括控制信息、异常信息、算法更新模式信息、审计数据等。
(2)安全控制模块
对移动Agent自身提供保护;防止外部环境对审计Agent的非法访问,以保证数据的正确性和合法性;完成对数据的加/解密、数字签名等任务。
(3)审计模块
首先对业务、财务审计数据进行规范化,然后依据审计算法和审计模型来对已经规范化的数据进行分析,确定这些数据中是否包含不符合操作规程的行为数据或异常情况。最后,将分析得到异常数据上传给协调Agent,以便作进一步综合分析。
(4)知识库
由协调Agent进行初始化,主要存放审计算法、审计模型和其它一些分析审计需要的知识。
参考文献:
[1]张云勇等.移动agent及其应用[M].清华大学出版社,2005.
[2]何炎祥.Agent和多Agent系统的设计与应用[M].武汉大学出版社,2001.
[3]佟强,陈珉,王云.基于Mobile Agent的分布式空间数据服务模型[J].计算机工程,2004,(01).
[4]郭宗文等.计算机审计[M].清华大学出版社,2005.
关键词: 移动Agent 计算机审计系统 分布式审计系统
一、移动Agent的定义
Agent是指模拟人类行为与关系、具有一定智能并能够自主运行和提供相应服务的程序,是面向对象技术向软件智能化发展的产物,它的出现将计算机软件设计提高到一个更高的抽象层次。人们可以把它看作一个自治的实体,它能够感知环境,并且对外界的信息作出一定的判断与推理,来控制自己的决策与行为,以便完成一定的任务。
移动Agent(Mobile Agent,简称MA)是具有移动性的Agent。移动Agent的概念是20世纪90年代初由General Magic公司在推出商业系统Telescript时提出的。简单地说,移动Agent是一个能在异构网络中自主地从一台主机迁移到另一台主机,并与其他Agent或资源交互的程序。移动的目的是使程序的执行尽可能靠近数据源,降低网络的通信开销,平衡负载,提高完成任务的时效。移动Agent实质上是一个封装代码、运行状态和数据的计算实体,是可以在执行过程中有目的地、自主地在网络中移动,利用与分布资源的局部交互而完成分布任务的软件实体。传统客户机与服务器间的交互需要连续的通信支持;而移动Agent可以迁移到服务器上,与之进行高速的本地通信,这种通信不再占用网络资源。
移动Agent是一种新的网络计算技术,它能有效地降低分布式计算中的网络负载,提高通信效率,动态适应变化了的网络环境,并具有很好的安全性和容错能力,为有效地进行数据库访问提供了一种新思路和新方法。
二、移动Agent系统的组成
不同移动Agent系统的体系结构各不相同,但几乎所有的移动Agent系统都包含移动Agent(MA)和移动Agent服务设施(Mobile Agent Equipment,简称MAE)两个部分,如图1所示。
1.人机界面
人机界面是用户与计算机审计系统互操作的渠道,完成用户的审计输入和审计结果的显示。例如,用户可以选择审计模型(审计算法)、数据源、审计初始流程,可以完成系统中Agent的知识和规则的更新,弥补系统知识的不足,也可以输入一些基本信息,如,在不同时期,针对不同性质的被审计单位,可以设定进行资金流审计的最低额度,等等;用户还可以选择最终的结果的可视化形式。同时,人机界面显示审计子系统中“智能用户Agent”提交的审计结果信息。
2.审计子系统
上面介绍了分布式审计模型中的三个主要部分的内部结构功能等,本部分着重分析该模型的核心部分——审计子系统中各组成Agent的功能及它们之间的协作关系。如图2所示,审计子系统由协调Agent、审计Agent、智能用户Agent、审计算法Agent、分析Agent和数据站点管理Agent组成。这些Agent协调一致地工作,它们的功能和它们之间的协作关系分析如下:
(1)智能用户Agent
该Agent代表用户向审计子系统提出审计请求。只需要用户提出相应的要求或者做一系列的选择,智能用户Agent就可以将用户要求转化为协调Agent能够识别的命令并提交给协调Agent进行任务的计划分配;智能用户Agent还负责处理通过人机接口输入的系统更新信息等,如审计特定算法参数,Agent知识和规则等。该Agent除了处理用户输入的信息外,还需要能够保存审计子系统的审计结果等输出信息,或直接提交这些信息给用户拥有的人机接口。
(2)协调Agent
它主要完成三项任务:①任务规划优化,主要完成审计任务的规划,并选择最优的规划方案。它与审计算法Agent、分析Agent、审计Agent管理器和数据站点管理Agent交互,得到审计算法效率功能特点、异常数据模型、系统中审计Agent的功能状态、数据站点数据集大小和数据变化趋势等信息来确定相应的审计方案以尽可能满足用户需要。该Agent具有实时规划能力以满足因某个移动Agent的失效而进行任务的重新规划。②依据规划结果,协调Agent创建并命名多个并行协同工作的装载有审计算法或审计模型的移动审计Agent,并将这些移动Agent的基本信息注册到审计Agent管理器中。③审计整个过程的协作协调,主要协调审计过程的各个Agent和维护系统当前的运行状态信息等。它得到一个有关系统状态信息的参考点。它可以看作是分布式审计任务的一个描述各Agent的操作基点的动态目录。同时,协调Agent也是系统中Agent信息交换中心,负责维护Agent之间信息的交互传递等。
(3)审计Agent
该Agent是移动Agent,由协调Agent创建,并移动到协调器指定的数据站点进行数据分析,并将自身的位置信息和状态信息传递给审计Agent管理器,将审计分析反馈给协调器以进行数据结果的融合。审计Agent运用自身携带的审计模型、审计算法或请求协调Agent得到的审计模型等完成具体的审计子任务,并为分析Agent提供异常数据。
(4)审计Agent管理器
负责管理所有审计Agent的相关信息,这样各种Agent通过与管理Agent交互便可以动态获取其他Agent的属性信息(位置、功能等),从而与其他Agent进行交互,以获取所需要的信息。它是实现系统分布式透明性的关键,主要用于收集、管理、统计、查询各种Agent信息资源,按其功能分类或建立Agent联盟。同时,它也担当可信任的安全认证中心,保证各Agent之间的安全通信机制。
(5)审计算法Agent
审计算法Agent主要负责维护审计分析算法。用户可以注册审计分析算法。当算法注册到系统中,算法Agent登记算法的元知识信息及其特点(比如,名字、版本、输入参数、操作环境描述和输出格式等)。同时,算法Agent将这些信息反馈给协调Agent。
(6)数据站点管理Agent
数据站点管理Agent主要负责被审计单位Agent服务器的基本信息,如Agent服务器的启动、停止状态信息、位置信息和数据源信息等。Agent服务器及时将其启动、停止信息注册到数据站点管理器以便协调器合理规划审计任务,但在进行实时在线审计中,Agent服务器不能关闭。为了维护Agent服务器和防止Agent服务器出现故障,往往在被审计单位提供同步工作的Agent服务器。
(7)分析Agent
分析Agent采用数据挖掘算法,根据审计Agent提供的异常数据自动生成、更新审计模型及运行参数,是体现审计子系统自适应的核心部件。它主要包括异常信息传递模块和自适应模式产生机构。
审计子系统由7类功能各异协同工作的Agent组成,当接受到用户提交的具体审计任务后,系统自动有条不紊地对被审计单位的财务数据进行审计,及时发现问题并以多种形式向审计单位监控中心提交审计结果,达到规范经营活动和金融风险预警等目的,其中,审计Agent是审计任务执行的关键。
3.被审计单位子系统
被审计单位子系统包括Agent服务器、业务部子系统和数据站点三部分。其中,Agent服务器保存有本地数据站点的有关信息,如本地数据的形式、数据库管理系统、业务数据库表结构、数据范围等。每个Agent服务器向数据站点管理Agent注册,并及时更新数据站点管理Agent中的有关内容以便协调Agent有效地规划审计任务。同时,Agent服务器为审计Agent提供服务设施和提供移动管理器、运行管理器、通信管理器和安全管理器等。这里,Agent服务器和业务部子系统运行在指定被审计单位的专用服务器上。
4.审计Agent的结构
审计Agent是一种移动Agent,每个审计Agent都是一个相对独立的审计单元,利用其自带的审计算法和知识库信息等执行审计任务;还可以不断地从分析Agent中获取最新的知识用于审计。审计Agent封装了描述其状态的属性,以便当Agent移动到另一主机上重新开始工作和向审计Agent管理器返回信息。图3给出了一个审计Agent的内部结构,该结构包含下列模块:
(1)接口模块
主要将审计Agent的内部机制与外界隔离,所有信息交流都通过该接口。该模块包含与协调Agent和Agent服务器进行交互接口和消息的传递接口以及与数据源的联接接口。该Agent交流的信息包括控制信息、异常信息、算法更新模式信息、审计数据等。
(2)安全控制模块
对移动Agent自身提供保护;防止外部环境对审计Agent的非法访问,以保证数据的正确性和合法性;完成对数据的加/解密、数字签名等任务。
(3)审计模块
首先对业务、财务审计数据进行规范化,然后依据审计算法和审计模型来对已经规范化的数据进行分析,确定这些数据中是否包含不符合操作规程的行为数据或异常情况。最后,将分析得到异常数据上传给协调Agent,以便作进一步综合分析。
(4)知识库
由协调Agent进行初始化,主要存放审计算法、审计模型和其它一些分析审计需要的知识。
参考文献:
[1]张云勇等.移动agent及其应用[M].清华大学出版社,2005.
[2]何炎祥.Agent和多Agent系统的设计与应用[M].武汉大学出版社,2001.
[3]佟强,陈珉,王云.基于Mobile Agent的分布式空间数据服务模型[J].计算机工程,2004,(01).
[4]郭宗文等.计算机审计[M].清华大学出版社,2005.