您现在的位置是:首页 > IT基础架构 > 软件与服务 >

面向中小企业的柔性商务智能平台研究

2009-08-27 16:25:00作者:蒋国瑞 杨晓燕 赵书良来源:

摘要中小企业资金、人才匮乏,信息化水平低,为了解决中小企业的信息化问题,使其能够应用先进的管理思想,提高其竞争力,构建面向中小企业信息化的基于Multi-agent的柔性商务智能平台。...

一、引言

目前,我国中小企业占企业总数的99%,提供60%的出口额,总产值占全部工业总产值的60%,在国民经济中的地位举足轻重。随着我国加入WTO和全球共同市场的建立,中小企业的生存和发展面临极大的机遇和挑战,迫切需要依靠信息技术来提升企业的竞争力。随着网络、通信技术高速发展,企业中的数据海量增加,大部分来自企业内部的管理或生产系统,还有其它途径搜集到的市场信息、协作伙伴和竞争对手的信息,企业急切地需要通过快速处理和共享这些数据获得决策,客户和供应商也要求企业提供共享信息并提供汇总的、多层次的、多侧面的快速灵活的查询、分析功能。目前中小企业的信息化水平很低,处于一般事务处理和简单信息管理的阶段,呈现出“信息孤岛”严重、资源不能共享、信息化建设综合优势发挥不出来的局面。中小企业有信息智能化的要求,但资金、人力的投入有限,因此迫切需要一种适合中小企业的灵活的商务智能平台,对其进行简单的搭建、改造就能适合特定的企业,还要考虑遗留系统的兼容和企业业务的扩展。国内已提出一些解决方案,代表性的有:清华同方的eBuilder平台,联想的IT1for1等,但是这些软件架构不灵活,很难调整适合于特定企业,功能过于复杂。国外,也未发现通用的面向中小企业信息化全面解决方案的软件或软件平台。因此笔者提出“面向中小企业信息化的基于Multi-agent的商务智能体系结构”,建立在数据仓库、数据挖掘和在线分析处理(OLAP)、(代理)Agent技术基础上,企业内部用户可以通过数据挖掘和OLAP,Agent完成对数据仓库中数据的分析,取得决策依据,提高决策的科学性,客户和供应商通过网络多角度、多侧面地分析企业数据,提高客户的满意度。中小企业可以在此平台上定制Agent扩展功能建立起适合自身特点的商务智能系统,在平台中提供Agent内核,企业的二次开发只需扩展功能模块既可,把重点放在业务逻辑上;用Agent接口封装遗留系统使其与新系统进行“无缝连接”。该平台可以实现信息的共享和深层分析,提供企业再开发的接口,简化了企业的二次开发,对于急切需要信息化和商务智能的中小企业有普遍的适用性和实用性。

二、系统结构及工作原理

系统采用B/S模式,从数据层面上主要组成有:数据存储层、数据分析层、数据应用层。系统平台体系结构如图1所示:

(一)体系结构

1.Web层

Web层由Web服务器及其控制下的Web扩展、防火墙和接口Agent等构成,是用户与服务Agent组件的接口。企业内部用户通过浏览器访问,而外部用户,包括顾客、供应商、银行、认证和税务等通过Internet访问。Web层接收来自浏览器的请求,对用户进行安全认证和权限控制;请求经过Web开展模块的解释和重组后交给服务Agent层,服务Agent层返回的结果再送回至浏览器。用户还可以通过预设感兴趣的服务内容,由服务器将信息“推”给用户,可以提高顾客的满意度,增强信息的共享时效。

2.服务Agent组件

管理Agent:接收来自Web层的请求;把任务分解并激活相应的功能Agent;协调工具Agent对信息处理结果进行集成,返回给Web层;注册各个Agent的名称、能力;管理Agent的内核,支持系统的扩展。

各种职能Agent:封装了企业的业务逻辑,包括财务管理、人事管理、物资管理等。简化企业在此平台的二次开发,平台只提供Agent内核,内核包括通信处理器负责与其他Agent的通信;执行器处理消息的分派、控制功能模块的执行;内部数据库保存Agent信息和外部信息;为将来增加的功能模块提供接口,得到不同职能能力的Agent。

报表Agent:服从管理Agent的调度将集成的结果以用户需要的报表格式表示,提供关系数据表格、复杂表格、OLAP表格、报告以及各种综合报表。由Agent内核封装而成,将来通过添加新的功能模块来扩展报表工具。使职能Agent关注业务逻辑的核心,实现了报表的共享机制。

OLAP工具Agent:对统一分析组件输出的数据进行汇总、聚集,提供切片、切块、下钻、上卷和旋转等数据分析功能,对信息(维数据)进行快速、稳定一致和交互性的存取,允许用户对数据从多个角度、多个层次进行深入观察,提供辅助决策。

数据挖掘工具Agent:数据挖掘的目标是挖掘数据背后隐藏的知识,通过关联分析、聚类和分类等方法建立分析模型,预测企业未来发展趋势和面临的问题,是一个小Multi-agent系统,由不同的数据挖掘算法的Agent和一个协同Agent组成。不同的算法Agent进行挖掘并将结果提交协同Agent,在一定的择优策略下协同Agent将最优的挖掘结果返回管理Agent。

即席查询Agent:处理来自用户的随机查询。

定制预警Agent:接受来自用户的预警定制,监控系统中相关数据的变化,向用户提供及时的信息实现预警。

遗留系统包装器Agent:对遗留系统进行包装,支持Agent通信语言,把Agent通信语言映射为遗留系统消息,使遗留系统可以与其他Agent通信合作,保留了企业在原来系统中的投资,遗留系统中已有的职能,就可以节省开发相应职能Agent的资源。

该平台的柔性在服务Agent组件中体现,企业可以通过定制、注册新的Agent实现平台的特性化。允许系统以灵活、弹性、智能、动态的方式增长。把不同Agent的相同部分内核化,企业只需通过接口开发不同的业务逻辑模块即可,为二次开发提供了构件支持。
3.统一分析组件

接口Agent接收服务Agent组件中Agents的请求。调用相应的多维分析组件,建立实际的数据仓库连接,将数据结果通过接口Agent返回给请求的Agent。该组件中包含多种数据仓库接口,只需要提供访问数据仓库的参数,使用户对数据仓库实现透明化,增强了该平台的柔性,企业可以使用已有的数据仓库,或进行数据仓库的扩充。

为了利用已有的软件资源,对具有分析组件的数据库厂商提供接口,把多维的底层功能进行封装,做成了多维分析组件。如图2所示。

4.数据仓库

数据仓库将企业内部分散的原始操作数据和外部的数据汇集、整理在一起,为企业提供完整、及时、准确和明了的决策信息,是上层统一分析组件的基础。通过数据的组件给用户提供分布在整个企业内部和外部跨平台的数据。

针对中小企业资金匾乏及建立整个企业的数据仓库开发时间长,费用高等缺点,在平台中采用的是数据集市结构,采用自底向上的方式建立。首先建立子部门的数据集市,并采用同一企业数据模型,保证将来不同数据集市的整合。如图3所示。

其中,ETLAgent负责与信息收集移动Agent组件进行通信,完成数据抽取、转换、装载(Extract-Transform-Load,ETL)的过程。允许把信息收集Agent收集到的数据转人至目标数据库的一个表中。

5.信息收集移动Agent组件

企业的数据资源往往存在于地理上分布的数据库中,且数据可能是结构化的、也可能是半结构化和非结构化的。另外企业的生存、发展与竞争者、供应商和顾客有很大关系,因此决策的制定需要来自这些方面的信息。

建立企业的数据仓库不仅需要集成企业内部操作数据系统的数据,还要收集企业外部顾客以及供应商、竞争对手的信息。这些数据具有异构平台性、数量巨大等特点,对收集工具和网络带宽提出了很高的要求。而移动Agent的网络负载轻、支持异构环境、异步和自主的执行能力和动态自适应性等特点正好解决了上述问题。所以由移动Agent来完成信息收集的任务。新的数据源只需在组件的管理Agent中注册数据源信息就可以被访问到,使整个信息收集组件具有柔性。

该组件主要有三部分:

接口Agent:接受来自用户或数据仓库定时更新定制的请求,通过代理通讯语言(AgentCommunicateLanguage,ACL)将请求传递给管理Agent。

管理Agent:初始化和管理移动Agent。同时为不同的数据收集任务或者同一任务创建多个Agent,并行地完成作业。在任务的驱动下,实现Agent在各信息源间的移动。提供命名服务,为每个Agent注册一个别名,根据别名实现对Agent的位置信息进行跟踪,以便实现移动Agent之间的通信以及对于远程Agent的控制。管理与目的地的AgentServer进行身份验证和密钥交换工作,以便于目的方进行正确的解密。对要移动的Agent执行打包、压缩、加密等一系列工作,进行Agent的移动。

移动Agent:具有身份性、移动性和自主性。移动到不同的数据源中去收集数据,对于需要进行汇总、分类操作的数据,完成相应操作后直接把结果带回来给数据仓库。有一类移动到确定的数据库中,具有的层次结构如表1所示。

AgentServer在数据源处建立,保存有本地数据库的元数据,说明本地数据的形式、库表结构、数据范围等,向管理Agent注册,使管理Agent知道每个AgentServer的元数据。

另一类移动到Intenret中去收集信息,他们收集到信息,建立索引,格式化文档,保存到索引文档库,管理Agent对结果进行集成。

(二)工作原理

第一,用户通过浏览器访问Web服务器,Web服务器对用户进行安全认证和权限控制,把任务通过接口Agent提交给服务Agent层;
第二,管理Agent对任务进行解析,按照注册信息激活相应的Agent,把任务分配给不同Agent;
第三,各个Agent通过统一的数据分析组件在数据仓库中进行数据分析,完成相应的业务逻辑任务,将结果返回给管理Agent;
第四,管理Agent激活报表Agent按照用户的请求返回方式集成结果,并返回给Web层;
第五,Web层把结果返回给用户,并与用户交互,进行进一步的分析。
三、关键技术

(一)平台的适应性

为适应中小企业数量众多且行业差别大的特点,要求建立的平台必须要具有很好的柔性。该平台的核心部件服务Agent层中提供Agent内核,用户在接口上开发特定的功能模块,实现模块与内核的集成,扩展业务功能,在管理Agent中注册,满足企业的需求;平台支持应用包装器Agent对新的分析工具封装,实现平台功能的不断扩充;信息收集Agent层为数据仓库的数据来源扩充提供了接口,可以向管理Agent注册新的数据源。该平台采用Agent内核的定制方法,可以适应各个行业的企业应用,实现企业系统自身的增量方式的发展。

(二)Multi-Agent的实现

在Agent服务组件和信息收集移动Agent组件中,涉及到多Agent以及它们之间的合作问题。Agent之间进行合作可以使用户得到全方位的企业信息,这正是商务智能的最主要的目的。由于不同用户或相同用户在不同时间对于数据的查询和挖掘具有重复性,所以在Agent典型结构中加入了实例库,设计出与用户响应高的Agent结构,如图4所示。对于Agent开发环境,选用JADE(JavaAgentDEvelopmentFramework)。使用它,可以遵守FIPA(FoundationforIntelligentPhysicalAgent)规范构建Agent框架,实现互Agent系统。JADE提供了一整套Agent开发包,例如:jade.core、jade.domain、jade.lang.acl、jade.content.onto、jade.porto、jade.util等,同时还提供了调试和配置Agent的工具,包括一些可视化图形用户界面,大大简化了Agent的开发。JADE将Agent的活动限定于容器内。容器提供了Agent的运行环境,来管理Agent,负责注册、控制Agent,提供Agent之间的通信。

(三)数据仓库的抽取、转换和装载(ETL)

数据仓库把企业内部事务处理的业务数据和外部异构数据集中在一起,支持管理部门的决策过程,为平台的核心。而ETL作为数据仓库的核心和灵魂,能够按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。ETL的工作流程是数据源验证、数据源改造、一般性转换、装载目标表和数据聚合。这种阶段性模型提供了模块化和可修改性,将这五个过程封装成Agent,这些Agent要和信息收集Agent进行合作与通信。根据信息收集Agent收集到信息的不同来采用不同的改造、变换策略,这样扩展了数据仓库源数据的灵活性。

(四)遗留系统包装器Agent

大部分中小企业目前已在某些部门,如财务、人事等实施了信息系统。为了节省投资,如何有效地将已有系统集成或移植到新系统中,并且在将来尽可能使它们可以与新系统中的其它部件进行通信、合作,不再成为“孤岛”系统,是用户应用开发中提出的迫切需求。为了满足这种需求,一笔者采用了将业务处理数据和决策支持数据分离的原则,保留遗留系统的数据库,必要时被抽取到数据仓库中。为了使遗留系统与服务Agent层中其它Agent进行通讯和合作,对遗留系统进行了封装,即在遗留系统中添加了一个支持Agent通信语言并把Agent通信语言映射为遗留系统消息的包装器Agent,由它来负责遗留系统与其它Agent的通信与合作。

四、结论

在信息化带动工业化的过程中,中小企业的信息化占据着重要的地位。而中小企业具有行业纷杂,资金少,人才鹰乏等特点,购买专业信息化软件和自主开发都是不现实的。他们需要一个信息化的平台,要求能够提供信息化的框架,具有很强的灵活性,企业通过较少的二次开发就可以应用。面向中小企业信息化的柔性商务智能平台,把数据仓库作为数据分析的基础,采用Multi-Agent技术来完成分析、查询等功能,企业只需在平台提供的Agent内核上加入不同的业务逻辑,在管理Agent中注册信息,即可实现系统应用的扩展。在该体系结构中探索性地把定制Agent作为二次开发的工具并且把企业的遗留系统封装成Agent,允许原系统继续运行,系统表现出较好的柔性。


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们