通用数据模型

2024-07-25

通用数据模型(精选8篇)

通用数据模型 篇1

0前言

本文提出了一种通用数据安全访问的模型CDSA, 它实现数据的抽象访问与同步, 帮助工程师们管理好系统软件的数据, 保持数据的一致性和完整性。基于此模型可以实现远程过程调用 (RPC) , 其机制、原理和标准的RPC调用以及分布式计算原理完全相同, 不同之处在于这种调用方式可用于跨进程、跨系统、跨计算机边界、跨平台等复杂的环境中。

1 通用数据安全访问模型

首先, CDSA模型把各种系统软件对公用数据的访问划分为高级访问 (调用者需要理解数据以及各参数和返回的含义) 和原始访问 (调用者无需理解数据以及各参数和返回的含义) 。高级访问针对数据应用, 原始访问针对数据传递过程。

(1) 原始接口:输入和输出为数据流, 不理解协议本身以及任何应用数据结构, 供通讯使用。

(2) 高级接口:输入和输出为实际应用数据, 理解协议本身以及应用数据结构, 供业务使用。

其次, 考虑到一般的系统软件中数据的传递过程分为进程组内部数据传送 (交换) 和远程数据交换, CDSA模型规定进程组内的数据传送通过消息队列进行通讯, 在进程组外的数据传送, 主要通过SOCKET进行通讯。CDSA模型还约定这两种数据传输均通过原始模式进行, 不需要理解数据的含义以及输入和返回。

(1) 对于本地应用进程 (服务器进程) , 通过消息队列和主进程进行通讯, 达到数据读写的目的。为什么这样处理呢?主要是因为CDSA模型支持保存复杂的数据结构, 而共享内存只能适用于简单的数据结构, 如果采用复杂数据结构, 必须实现空间管理, 这非常复杂且可移植性不强。

(2) 对于其他进程, CDSA选用SOCKET作为通讯的手段, 通过抽象和复用代码等方法完成完整的数据通讯和交换过程。既达到RPC的效果, 又降低系统复杂程度, 同时满足了高效数据通讯的需求。

(3) CDSA模型规定, 服务器启动后, 主进程负责将全部的数据加载到内存, 主进程有义务通过消息队列或SOCKET等方式为其他服务进程 (包括远程管理进程、客户端进程) 提供数据共享, 并惟一直接操作数据库, 以维持数据的统一性。

(4) 如果系统软件有独立的远程管理进程, 由于多次远程读取数据需要耗费大量的带宽和时间, 所以CDSA模型规定管理端进程与服务端连接后, 首先下载并且维护一份和远程服务端一致的数据, 如此一方面保证本地数据和服务器数据的一致性, 一方面降低数据读取的消耗。

(5) CDSA为了保证数据的一致性, 采用了读取共享、写入独占的方式。具体来说, 本地应用进程在系统启动后自动获取数据库的修改权限, 第一个连接进入的管理进程可以抢占该写入权限, 直到该进程退出后, 如果系统中已经存在有一个管理连接, 后连接进入的进程将只能获取读取的权限, 并不能剥夺第一个管理进程的写入权限。

最后, CDSA模型定义数据访问的触发 (回调) 机制, 用于在设置变更或读取的状态下做出某种响应 (如配置系统、数据同步传递、数据重读、数据更新等) 。

2 CDSA模型的实现

CDSA模型存取的数据可以是数据库, 可以是配置文件、系统环境等。对数据库的操作没有定义专门类, 需要各系统软件自行考虑。对配置文件、系统环境等的存取, CDSA模型定义了实现IBoot DBIPlugin接口的Csvr Cfgtor类。通过这个专门类去处理实际的数据存取, 该专门类还支持调用IAdvBootDBI接口, 以便远程重新获取数据、远程修正数据。

CDSA模型还定义了两个实现IRaw Boot DBI或者IAdv BootDBI接口的类, 用于完成对数据的存储和数据格式的转换。

(1) 数据直接访问类

完成数据的直接访问, 对数据库进行直接操作, 通过IBoot DBIPlugin接口调用Csvr Cfgtor类来完成数据的存储以及存储的事件通知。

该类实现了IRawBootDBI、IAdvBootDBI这两个接口。其他进程可以通过这两个接口调用来存取数据。

(2) 数据中继访问类

完成数据的转换, 可以将复杂的数据结构转换为标准的数据流, 或者将数据流还原成复杂的数据结构。这些数据流包括两个部分:输入流和输出流, 通过这两个部分完成参数的传递和返回值的获取。

该类实现了IAdvBootDBI这个接口, 支持调用其他类的IRawBootDBI接口去传递、存取数据。其他进程可以通过这两个接口调用来存取数据。

(3) 客户端SOCKET类 (数据通讯模块)

数据通讯模块本身即为一个基于IRawBootDBI的对象, 他们完成的工作即将输入流送入其他服务进程或者服务器端, 然后等待其他服务进程或者服务器端返回一个输出流。一个CBootDBRelay的对象可以成功地将高级的数据转换为 (序列化) 流格式, 然后调用通讯模块的接口IRawBootDBI, 等待通讯模块完成数据请求后, 将返回流还原成 (反序列化) 高级格式, 返回给调用者。

数据通讯模块对数据的序列化与反序列化是成对出现的, 如果有多对序列化的格式, 就要分配协议号以示区别, 协议号本身被序列化成流格式的第一个字节, 反序列化时先读取第一个字节, 了解序列化的格式, 再对后续的流格式进行反序列化。

3 CDSA模型中数据访问的流程

模型中涉及配置数据的各进程对数据访问的逻辑示意如图1。

(1) 数据服务进程的直接数据访问

数据服务进程负责数据库的管理, 是数据的直接处理进程, 该进程通过消息队列实现数据的对外共享。

如图1所示, 在请求到达后, 该进程通过CBootDBDirect访问数据, 并同时完成系统配置:[消息队列服务器端]->IRawBootDBI (CBootDBDirect) ->DB (->IBootDBIPlugin (CSvr Cfgtor) ->系统配置) 。

(2) 本地进程间的数据访问

本地应用进程是本地的数据消费者之一, 该进程不能直接访问数据库的数据, 但可以通过高级访问接口存取数据:[本地应用进程]→IAdvBootDBI (CBootDBRelay) ->IRawBootDBI (消息队列客户端) 。其过程如图2所示。

(3) 远程进程间的数据访问—服务端

远程管理进程的服务端是数据的转发层, 对外衔接网络, 对内衔接数据服务进程。

[远程管理进程的服务器端]->IRawBootDBI (消息队列客户端) 其过程如图3所示。

(4) 远程进程间的数据访问-客户端

如图4所示, 远程管理客户端进程为数据的消费进程, 存在两种访问数据库的方式:

本地缓存数据:[管理]->IAdvBootDBI (CBootDBDirect) ->CacheDB

远程数据:[管理]->IAdvBootDBI (CBootDBDirect) ->IBoot DBIPlugin (Csvr Cfgtor) ->IAdvBootDBI

(CBootDBRelay) ->IRawBootDBI (SOCKET客户端)

4 CDSA模型的应用

图5说明了一个无盘站引导服务系统使用CDSA模型进行数据访问的实际情况。

说明:

(1) 图中数据守护进程不但是主无盘站引导服务软件的主进程, 还是数据服务进程, 它直接进行数据访问, 通过消息队列实现数据的对外共享。

由于系统软件本身功能不同, 操作的数据类型肯定也不同, 这就要根据实际需要去定义具体的实现类。图5中定义了无盘配置数据, 系统数据, 系统配置数据, 缓存数据等类。

(2) 图中DHCPBINL服务进程和TFTP守护进程对应了本地应用进程。

D H C P B I N L和T F T P守护进程是本地的数据消费者, FTFP还会fork出新的进程进行数据消费, 这些进程通过高级访问接口存取数据。

(3) 图中的管理服务器进程对应远程进程的服务端

管理服务器进程是数据的转发层, 对外为管理工具提供数据, 对内向数据服务进程取得数据。

(4) 图中的管理工具进程对应远程进程间的客户端

管理工具进程是数据消费进程, 刚建立连接时, 把数据从服务端请求到本地缓存, 以后的操作在缓存内进行。操作完成后, 如果缓存数据被修改过, 就调用CsvrCfgtor类的IBoot DBIPlugin接口回写数据。也可以通过IBoot DBIPlugin接口从远程取得最新的数据。

摘要:本文提出了一个称为CDSA的数据安全访问模型, 该模型可以被用在各应用软件中保证服务端与客户端数据的一致性, 也可以用在本地进程间通信、远程进程间通信等领域, 保证共享数据的一致性。

关键词:数据存取,数据一致性,回调

参考文献

[1]上海证券通信有限责任公司项目文档.LinBox系统技术白皮书.2006.

通用数据模型 篇2

基本信息   个人相片
姓 名: xuexila.com 性 别: 照片
民 族: 土家族 出生年月: 1988.9.27
证件号码: 1****** 婚姻状况: 未婚
身 高: 162cm 体 重: 54kg
户 籍: 湖南张家界 现所在地: 湖南株洲
毕业学校: 湖南工业大学 学 历: 本科
专业名称: 广告学 毕业年份:
工作年限: 一年以内 职 称:  
求职意向  
职位性质: 全 职
职位类别: 广告

市场/营销

文字媒体/写作 

职位名称: 广告策划 ; 文秘 ; 市场营销
工作地区: 湖南 ; 重庆 ; 江苏
待遇要求: 元/月 可面议 ; 需要提供住房
到职时间: 可随时到岗
技能专长  
语言能力: 英语 一般 ; 普通话 标准
综合技能: 1、能够熟练的使用office办公软件、photoshop软件、flash软件、3ds max软件、dreamweaver软件、Premiere软件、AE软件等;

2、在校专修广告策划、拍摄电视广告、设计平面广告、设计网页等;

油田站库通用数据模型设计 篇3

一是数据采集方式多样, 由于近年来信息化建设不断推进, 站库信息化设备水平不断提高, 如物联网, 站库自控系统等在各联合站中得到应用, 但由于各站建设时期不同, 信息化设备参差不齐, 各站的数据采集方式不同, 老站基本完全为手工录入, 而新站有上自控系统;有上手持终端, 情况不同, 没有统一规划。

二是报表复杂多样, 由于各站大小不同, 岗位不同, 设备不同, 还存在人为习惯问题, 导致各站报表复杂多样, 难于统一设计。

三是数据项后续需求不断增多, 随着地面工艺水平不断提高, 站库中的设备在不断改进, 随着油田采油技术的不断发展, 也将导致站库设备的更新数据项的增加 (如三采注聚合物、三元等) 。由于数据库设计无法预估未来的发展需要, 无法一次建全所有数据项, 未来还存在数据扩充的需求。

四是数据产生频率不同, 站库各岗位要求两小时巡检一次记录数据, 每天数据产生频率为12次, 记录各仪器的温度、压力、流量等监测数据;有些数据如外输流量计数据为每四小时采集一次数据, 每天数据产生频率为8次;输油泵、污水泵等班运数据为8小时录入一次, 每天数据产生频率为3次;外输油量、污水处理量、自耗气等数据每天录入一次数据, 每天数据产生频率为1次。

由于油田站库存在以上特点, 以报表式的建库方法很难满足所有站库的应用需求。目前应用的数据库如地面工程动态系统数据库无法满足站库后续的需求。面向对象的数据库设计方法也同样不能满足需求, 各站的设备不同, 各设备的属性不同, 无法一次健全所有设备对象数据库。

二、数据库模型设计思路

数据库模型设计思路是能够灵活通用的存储站库所有数据。

针对站库数据采集方式多样、数据项后续需求不断增多、报表复杂多样、数据频率不同等特点, 面向对象的数据库设计思想进行设计数据库, 将设备、站库等作为对象进行设计数据库, 由于设备差异性比较大, 设备比较复杂, 设备分类较多, 需建立很多设备数据库, 而且对于后续建立的站库, 存在不同的设备还需要进行站库设备数据库进行扩充, 无法一次性建全设备数据库。如地面泵存在油泵、污水泵、收油泵等, 加热炉有的站还存在两用炉的情况。因此采用面向对象的数据库设计方法无法满足应用。

那么如何设计站库数据库, 完整统一存储站库数据, 满足各站不同应用需求呢?采用元数据的思想能够将站库复杂多样的数据进行描述清楚, 描述各数据的关系, 形成完整的数据根与树干, 能够形成树叶的各系统应用。树根与树干建立好了之后, 即使树叶掉落了也可以重新生成。

源数据 (树根) 可以接收手工、工控、手持等不同采集方式的数据, 而树干代表各源数据关系, 通过设备、站库、岗位、组织关系将各数据源连接起来, 将杂乱无章的数据组织形成为站库整体数据。各数据源通过数据连接关系能够派生形成统计分析的各项数据, 自动计算汇总日报、月报等各类报表, 形成树叶的各项应用。

关系数据库以元数据思想进行设计, 数据表包括数据之间的上下级关系、实体类型、计量单位等信息描述此节点的信息;而源数据数据库为存储叶子节点的数据, 数据以键值对的形式存储, 以item_id、时间作为主键与数据值。

数据库设计存在三大范式:第一范式:当关系模式R的所有属性都不能在分解为更基本的数据单位时, 称R是满足第一范式的, 简记为1NF;第二范式:如果关系模式R满足第一范式, 并且R得所有非主属性都完全依赖于R的每一个候选关键属性, 称R满足第二范式, 简记为2NF;第三范式:设R是一个满足第一范式条件的关系模式, X是R的任意属性集, 如果X非传递依赖于R的任意一个候选关键字, 称R满足第三范式, 简记为3NF。本数据库设计符合数据库设计三大范式, 冗余较小。能够将站库所有数据关系进行定义, 能够存储不同频率的数据, 不需更改数据库结构满足后续数据扩充需求, 能够统一存储站库所有数据。

三、结论和建议

采用元数据数据库设计方法设计的通用站库数据模型, 解决手持终端、自控系统和计算机录入数据统一存储;解决各站数据报表复杂多样, 站库设备多样等问题。该模型能够保存全面的站库数据, 支持多套系统应用, 有效避免信息重复建设, 信息孤岛的产生, 为物联网建设等油田信息化建设奠定基础。

参考文献

[1]王珊.数据仓库与数据挖掘技术[M], 1998.

通用数据模型 篇4

企业数据中心是企业信息集成的基础,它可以有效的解决应用系统的整合和数据共享,解决企业普遍存在的“信息孤岛”等问题。随着数据中心的建立,原来企业一些应用系统积累的大量数据需要向数据中心迁移。这就要求必须制定合理的迁移策略使历史数据和新产生的数据实时的迁移到数据中心。目前数据迁移主要两种方式,一种是采用商用迁移工具,另一种就是编写专门的迁移软件。两种方式在实现大型数据库数据迁移中仍然存在一些不足,例如只能完成数据模型结构相同的数据迁移,但对于数据模型结构不相同的数据进行迁移时,就需要编写大量的辅助程序;传统迁移策略主要包括一次性迁移、分次迁移、先迁后补[1]等几等种方式,通过研究发现,这些方式都不能满足对于产生的历史数据和实时数据的迁移,同时也缺乏灵活性和重用性。

对于这种情况,通过对元数据驱动技术[2]以及数据抽取、转换和加载体系结构(ETL)的研究,本文提出一个基于元数据驱动技术的多策略通用数据迁移模型,该模型中定义了三种策略,即历史数据迁移、实时数据迁移和定时数据迁移。框架的技术核心是使用元数据描述各种映射模式,其中包括转换算法逻辑,ETL模型通过对映射规则的解析来实现从数据源抽取数据并实现转换功能,达到灵活的数据迁多的目的。

1 数据迁移策略框架体系模型设计

1.1 多策略数据迁移系统框架结构

图1定义了多策略数据迁移框架模型:在迁移策略上,首先对历史数据进行历史数据迁移;对于实时数据通过定时数据迁移和即时数据迁移进行数据迁移。对于实时数据迁移,当数据源有新数据产生时,系统通过实时迁移策略触发即时迁移模块或者定时模块,通过对源数据到目标数据的映射模式中存储的映射规则以及转换逻辑元数据来实现从源端的数据抽取、转换,最后通过加载模块将数据迁移到目标库中。

1.2 数据模型映射及数据抽取转换

多种迁移策略的实现是靠数据模型映射来实现的。所谓数据模型映射是根据一组规则(称为映射规则),建立一个源模型和一个目标模型之间的对应关系。映射之前,源模型和目标模型的描述均已存在。模型映射有时也称数据映射。

数据模型映射关系的语法描述:

1)下面给出数据映射关系的一些基本概念。

(1)映射实体、映射属性和映射表。映射实体是用户可见的较高视图[3,4],反映了源系统与目标系统在概念模型上的对应关系。映射属性是映射关系的最底层,也是迁移规则处理的最小单位。映射实体(ME)分为源映射实体(SME)和目标映射实体(TME);映射表分为源映射表(ST)和目标映射表(ST);映射属性分为源映射属性(SATTR)和目标映射属性(TATTR)。

(2)映射关系。映射关系是源映射实体和目标映射实体属性之间的映射关系。映射关系由映射模式[4](MM)和有向线段构成。映射关联的起始节点即为映射的源映射实体的映射属性,映射关联的目标节点即为映射的目标实体的映射属性。

映射模式又分为三种类型:算数映射模式(ARITH_MM),数据映射模式(DATA_MM)和语义映射模式(SEMA_MM)。

2)数据映射关系的语法描述。映射关系是一个三元组,M<STM,R>。这里M是映射关系名称,R是映射关联集合,MO是映射算子集合。下面采用BNF范式对映射关系语法进行形式化定义,其符号定义为:”...”:表示术语符号;<>:内包含的内容为必填选项;::=表示定义为;[]:内包含的内容为可选选项;{}:内包含的内容为可以重复0次到无数次;|:表示为左右两边的内容可以任意选择;(...):分组;斜体字:表示参数,在其他地方有解释。映射关系的语法描述如下:

3)映射模式元模型构建。元模型[5]设计分为2个层次:基础元模型设计与驱动元模型设计。基础元模型用于存储基础映射模式元数据定制的元数据;驱动元模型位于基础元模型下一层,用于存储映射模式元数据。

基础元模型包括存储源库与目标库结构信息的数据字典元模型、存储映射模式、转换函数及函数参数类型信息的元模型、ETL功能模块及其接口描述信息元模型。

驱动元模型以实体间映射模式为描述单位,其中映射库、映射表、映射字段表存储数据迁移对应数据库位置及对应数据表、对应字段信息等信息。字段映射模式、转换函数、参数位置表存储对应字段数据转换过程中调用的映射函数位置、名称及具体参数值等信息。流程信息、ETL模块信息表存储不同抽取及加载方式所调用ETL模块的函数接口信息。迁移任务异常信息表存储执行一次任务过程中产生的异常数据文件、日志文件、模块调用异常等信息。

2 应用案例

本系统在“大庆油田公司井下作业分公司数据中心迁移项目”中得到了很好的应用。数据中心数据模型构建好之后,需要将A2施工总结中的数据迁移到数据中心中。通过本系统实现了将A2施工总结的历史数据和应用系统产生的实时数据通过本系统迁移到数据中心中、实现日志的查看功能、迁移之后的正确性检查。完成了40多张表,5000多万条历史数据的迁移任务。实践表明本系统具有较高的实用价值。具体应用见图2的即时迁移主界面。

3 结束语

本文提出了迁移框架模型,并在其中定义了历史数据迁移、实时数据迁移和即时数据迁移策略;构建了元数据模型,实现了对种映射模式的存储。该框架模型具有(1)实用性强,框架基于数据字典定制元数据,能够实现不同专业数据库到数据中心数据库的数据迁移,使系统具有一定的通用性;(2)良好扩展性,框架使用转换函数元模型,当遇到两种不同数据模型的数据迁移时,就会出现很多的映射模式,如果出现一种新的映射模式时只要编写单独的转换函数,就可以使用新的映射模式完成数据的转换,不需要修改源代码;(3)易维护,使用元数据驱动的方式实现ETL功能,维护工作大部分为修改元数据,使维护简化。

参考文献

[1]刘朝斌,王洪雨.云计算中动态数据迁移的关键技术研究[D].大连海事大学,2010,7.

[2]苗立志,张书亮,闾国年.通用映射模式下GML关系数据库存储研究[J].计算机应用研究,2009,11.

[3]Zhao X F,Huang Z Q.A formal framework for reasoning of Meta-data based on CWM[C].The25th International Conference on Con-cep-tual Modeling,2006:371-384.

[4]袁满,陈星童.基于元数据驱动的异构数据模型映射算法研究[J].东北林业大学,2011,11:128-131.

数据挖掘模型选择的通用建模研究 篇5

现阶段数据挖掘(Data Mining)模型的选择与专家的经验密切相关,有经验的专家就会选择良好的,优质的模型,使得挖掘工作高效、准确;反之,就会浪费时间,或得不到理想的结果,因此数据挖掘模型的设计和选择是挖掘工作的关键。

现阶段数据挖掘模型的选择是:针对某些具体的任务和领域选择一些已经成型的模型,如分类模型、回归模型、时间序列模型、聚类模型和关联规则模型[1]。传统数据挖掘系统的建立强调人工主动参与,循环测试可能有效的挖掘技术,最终得出相对可行的系统结构,导致了数据挖掘的手工化,挖掘数据处理复杂化。

本文要建立一个模型,实现挖掘目标的特征集与挖掘算法集合间的对应关系。用户只需提供如挖掘目标、数据类型等必要的挖掘信息,具体地选择哪种算法,都可通过该模型实现,最后,用户可以得到最佳的挖掘方法,应用这种挖掘方法就可最好地实现挖掘目标。

该模型实际应用在“油田开发压裂措施选井”系统,研究油田开发领域业务需求,获取油田开发压裂措施设计的业务特征及数据特征,得到了很好的效果[2]。

1数据挖掘方法的建模

传统的数据挖掘技术往往一次需要处理大量数据,还可能因为低准确性而造成多次重复操作,并且需要大量的手工参与,这使得系统运行效率低,浪费了用户的时间和精力。如何设计适应性好、操作方便、扩展灵活的DM模型是各个方法论无可回避的重点内容,为具体的挖掘任务选择最佳算法配置是DM建模的重要目标。

1.1传统的建模方法

传统的DM模型设计是一个多步骤的、循环的、非线性的处理过程,完成从源数据中发现有价值的知识的过程,可以概括为:首先,明确能够有效挖掘的数据源,并且将其组织成为适合挖掘的数据形式;然后,根据建立挖掘模型的基本常识,设计可能有效的挖掘模型,即选择相应的挖掘算法及各种算法的搭配组合来处理业务数据,初步建立挖掘模型,通过挖掘模型获得满足业务需求的知识与信息;最后,对挖掘模型进行评估,并且建立适合开发目标的挖掘系统,为应用部门部署应用,通过反馈可能进一步调整系统。这样,DM可以定义为问题分析、数据抽取、数据预处理、DM模型设计、模型评估等基本阶段[2]。

挖掘模型设计本身也是一个往复的过程。这种方式不仅需要操作人员具有应用领域的专业知识而且需要对DM技术有广泛并且深刻的认识。随着DM技术研究的不断发展,针对各种不同的应用问题催生出各式各样的DM算法,如神经网络、支持向量机、粗糙集等。但这些算法有各自的假设、适用对象及目标,并需要设置各种参数,在没有足够DM专业知识情况下,很难确定哪些算法或者算法组合能够有效完成挖掘任务。从某种程度上,传统的挖掘模型设计方法不但降低了DM模型建立的效率,而且面对应用领域,专业的建模知识只掌握在少数专业工程师手中,对数据挖掘技术的推广和应用带来一定的难度。

1.2模型化的建模方法

由于每一种数据挖掘技术方法都有其自身的特点和实现步骤,数据挖掘与具体应用问题的密切相关性。因此,成功应用数据挖掘技术以达到目标的过程本身就是一件很复杂的事情。

针对传统的建模方法存在的局限性,本文研究一种模型化的建模方法,其思想是将专业建模人员需要完成的分析、选择、判断等任务由程序自动完成,这样呈现给用户的就是相对简洁的过程,提供具体挖掘的任务目标、数据特征的详细描述,通过程序就可获得所需要的挖掘方法。

2数据挖掘方法的选择

2.1数据挖掘方法模型的描述

从数据分析角度,数据挖掘模型包括两类:描述式数据挖掘及预测式数据挖掘,描述式以简洁概要的方式描述数据,并且提高数据的有趣的一般的性质。预测式数据挖掘分析数据建立一个或者一组模型,并试图预测新数据集的行为。从功能角度而言,数据挖掘模型可以分为特征化描述和区分、关联、分类、预测、聚类和演变分析。根据数据挖掘的任务,有不同的模式,但如何发现这些模式需要依赖于具体的方法来实现。

一个实际的应用可以主要按任务特征和数据特征分,任务特征:挖掘对象、目标和挖掘类型;数据特征:数据类型、连续性、归一性、指导类型及量化性。对这些特征的具体描述就构成一个数据挖掘的实际应用的特征集合。

应用特征集: 由多个集合构成, 每个集合即为一类特性的具体特征,则所有集合的并集即为应用的所有特征。各个集合间属于并列关系,每个集合的各元素是互斥关系。如:挖掘对象集合:{工业,农业,林业,…},目标集合:{个体,集体,机关,…},挖掘类型集合:{分类,预测,聚类,关联规则,特征化描述和区分},数据类型集合{文本,数字},连续性集合{离散,连续},归一性集合{归一,不归一},指导类型集合{有师,无师},量化性集合{可量化,不可量化}

应用算子集:包含集合的并集、交集、子集、幂集、笛卡尔积运算。每种运算均符合规范的集合运算规则。

应用有机特征集:是应用特征集中的特征按照某些运算规则组合而生成应用特性集合,每一个集合对应一个实际的应用。生成规则:由笛卡尔积算子作用于所有应用特征集,生成多个所有特性的各种有机组合,使得实际中的应用可以对应于应用有机特征集的某一个元素。同时也可以用有条件的交集、并集和幂集运算得到相应的结果。

数据挖掘算法特征集:集合,包含数据挖掘所有的算法,同时每个挖掘算法所适用的范围和所具有的特性都可表示。

数据挖掘算子集:选择算子,交集,并集。

数据挖掘算法有机组合集:是算法的分类集合。根据算法对挖掘类型和数据描述的适应性,对算法分类。根据算法是否可独立进行某类挖掘,得到针对每一类挖掘的算法集合;针对算法对数据特性的适用性,得到符合每一类数据特征的混合算法集合。例如适用于分类的{决策树,神经网络,贝叶斯分类,…},适用于预测的{多元线性回归,非线性回归,广义线性回归,…},适用于连续数据的算法集合,适用于归一类型的算法集合等等。

建立应用特征集与数据挖掘算法特征集的某种映射关系:分别建立数据挖掘算法的属性库和实际应用特征库,根据应用特征,实现每个特征与某些算法的一对一或一对多关系,同样可以实现一个算法与多个应用特征的映射关系。

建立应用有机特征集与数据挖掘算法有机组合集的某种映射关系:在应用有机特征集中每个应用都有其具体的应用特征,根据这些应用特征以及数据挖掘算法有机组合集的特征,通过相应的运算可以实现在应用有机特征集中的每一个元素对应数据挖掘算法有机组合集中的一个或多个集合的并集或交集,从而实现完成某种应用所需要的独立算法集和混合算法集的选择。

2.2 数据挖掘方法选择的模型

2.2.1 已知

赋值变量:m,n,s,t,k;

赋值矩阵:A(m,n), B(s,t),T(k,t);

生成矩阵:D(n,2),E(m,2)。

释义:m:应用特征的个数(如从:挖掘对象,挖掘类型,数据类型,连续性来描述应用,则m=4);n:应用特征的层数(取所有特征层数的最大值,如n=4);s:数据挖掘算法的个数;t:挖掘算法所适用的数据特征的个数(如挖掘类型、数据类型、连续性、归一性等) k:具体实际应用的个数。

A(m,n):代表应用特征所处应用中的位置,按所在层位置定义;

B(s,t):代表具体数据算法技术所具备的应用特征,按数据描述及挖掘类型定义;

T(k,t):代表实际应用所具有的特性,根据任务描述和数据描述定义;

D(n,2):集合库,存放临时生成的数据挖掘算法集合;

E(m,2):最终生成的独立数据挖掘算法模型库;最终生成的混合数据挖掘算法模型库。

2.2.2 计算

(1) if bik(i=1,2,…,m)=t1k, 则,d(k-1)1={bi1,i(1,m)}(k=2,l),所以,e11=∩dk1,k=(1,…,l-1)。

即为应用独立算法。

(2) if bi8(i=1,2,…,m)=t12,

d12={bi1,i(1,m)},

if bik(i=1,2,…,m)=t1k,

dk2={bi1,i(1,m)}.(k=2,l-1)

所以e12=∩dk2∪e11,k=(1,…,l-1)。即为应用混合算法。

2.2.3 生成经验库

tp8=ep1,tp9=ep2(p=1,2,…,m)。

注:在该模型中,矩阵A(m,n)与B(s,t)的数据为固定模式,用户只需要确定矩阵T(k,t)即实际应用所具有的特性,即可应用该模型实现数据挖掘模型的自动选取。

2.3 数据挖掘方法选择的应用

在油田开发领域中的具体应用。油田压裂选井选层决策系统项目中,应用数据挖掘方法选择模型,首先确定矩阵T(1,t),挖掘目的(分类)、数据特点(数值型、连续型、归一、有师、可量化)、任务目标(压裂效果的评价与预测)等方面描述DM任务。

其次,依赖模型化建模方法,选择挖掘方案,求得e12,得到混合算法库:决策树算法结合神经网络算法。生产因素数据经过量化、归一化预处理后,转换为数值信息作为神经网络的输入向量。系统调度路径分别经过了标准BP网络,共轭梯度BP网络,和动量项惯性系数指数增长的BP网络。同时可生成经验库,遇到与此一致的应用即可直接选择上述方法组合进行数据挖掘。

通过油井压裂措施选井应用研究,设计适应的压裂措施选井系统,该系统能够正常运行,并且较好地完成压裂井选择任务,从应用角度验证了数据挖掘方法模型系统的理论基础与逻辑设计。

在数据挖掘方法模型研究中,已经建立挖掘技术的表达框架与表达形式,使挖掘特征框架更加规范化,能够支撑更广泛的挖掘模型选择。

3 结论

本文提出了一种数据挖掘模型选择的方法,根据该方法对于一个具体的数据挖掘的实际应用,通过应用分析、业务分析和数据分析给出具体应用的特征,应用本文研究的模型化的建模方法,可以根据该应用所具备的业务、应用和数据特征,自动选择一种最优的数据挖掘方法,也许是某种单一的算法,或是多个算法的组合。

参考文献

[1]马江洪,张文修,徐宗本.数据挖掘与数据库知识发现:统计学的观点.工程数学学报,2002;19(1):1—13

通用数据模型 篇6

1 报表设计及报表数据填充

由于本系统中各个报表采用统一的处理流程,每个报表在要输出的数据列的数量及内容都有差别,需要采用交叉报表来实现。报表的设计过程大体如下:

(1)在Delphi开发环境中,在窗体设计模式,向报表打印界面的窗体上增加TfrxReport、TfrxCxObject、TfrxXLSExport三个控件的实例,其中TfrxXLSExport用于将报表导出为Excel文件。

(2)双击TfrxReport的实例打开报表设计器,向报表中添加“报表抬头”及“主数据”两个Band。

(3)在“报表抬头”中添加一个“文本对象”,用于显示报表标题。

(4)在“主数据”Band中添加一个“交叉表对象”,如图1所示。

(5)设计完毕之后需要将报表模板保存为fr3文件。

返回报表打印界面的窗体设计界面,对TfrxReport的实例添加OnBeforePrint事件的相应函数,并添加代码如下:

2 模型相关界面实现

图2是报表管理的界面,此界面集中管理所有的报表,其中左侧树状视图分类列出了当前用户拥有权限的报表,右侧显示用户在左侧选择的报表的标题以及报表说明,分别对应S_Report数据表中ReportName和ReportDescription字段的值。用户在选择报表并点击“确定”按钮之后,将进入报表打印界面,如图2所示。

报表打印界面根据S_Report中当前报表对应的记录,生成SQL语句并提交数据库执行进行查询,将数据库返回的数据显示在界面上。同时界面的上方有一排按钮,用户可以对报表进行各种修改,其中包括“项目选择”和“数据选择”。分别点击这两个按钮之后弹出“项目选择”界面和“数据选择”界面。

项目选择界面如图4所示,这里左侧列出了当前报表候选字段列表(对应S_Report表中的FieldsName和FieldsAlias的值),右侧是用户已经选择的字段列表(对应SqlFields字段的值)。通过此界面用户可以选择要在报表中输出的字段列表。用户操作的结果将保存着S_Report表中。

数据选择界面如图5所示。数据选择操作允许用户对数据进行筛选,只在报表中输出符合某些条件的记录。此界面中,用户可以对当前报表候选字段列表中任意字段的数据进行过滤,只需要在界面上方的“字段”下拉列表选择要过滤的字段,在“关系”下拉列表中选择比较关系(大于、小于、等于等),在“值”下拉列表中选择或者输入比较目标,然后点击“添加”按钮,即可添加一个过滤条件,多个过滤条件之间是“与”或者“或”的关系。系统根据用户操作产生的过滤条件组合生成一条SQL过滤语句,此语句将作为S_Report中SqlWhere字段的值保存下来。

通过报表打印界面,用户还可以进行纸张类型设置、打印方向设置、更改列宽等操作,用户的操作都将保存在数据库中,下次打印报表的时候会使用已经保存的信息进行报表输出,避免用户每次打印报表时都需要重新设置的重复劳动。设置好之后系统将根据用户设定的条件重新获取数据,之后就可以进行打印输出了。

3 结语

本文简要介绍了FastReport报表组件,设计并实现了一个通用报表模块模型,并将此模型应用于本文作者开发的电费管理信息系统中。在实际开发的过程中,我们认为FastReport功能十分强大,使用起来十分灵活、方便。我们的通用报表模块模型,能够满足不同系统不同用户的需求,允许系统开发者或者系统管理员在不更改系统源代码的前提下对系统中的报表进行增加或者修改,并允许最终用户在打印输出时控制报表的数据和输出格式,十分灵活。此模型不依赖具体的应用,具有通用性,可以应用于其他的管理信息系统。

参考文献

[1]韩雨,董丽丽.基于FastReport图片报表的设计与实现[J].电脑知识与技术,2008(34)

[2]杜恒杰.基于FastReport的高校学生管理系统报表的设计与实现[J].科技信息,2008(35)

通用线程模型研究 篇7

在现代应用程序中, 为了用户界面的更加友好, 程序运行的更加流畅, 使用多线程进行任务的处理已经是主流的选择。但是多线程程序开发中, 我们往往会遇到以下问题:

(1) 在访问共享的数据时, 使用加锁方式实现。但这种方式在程序规模增长到一定程度后, 会不可避免地带来程序的低效、死锁等问题。 (2) 简单地为每个耗时的任务创建一个线程;这种模式首先造成资源的浪费, 其次当大量线程被创建出后, 会耗尽系统的资源从而导致系统变慢或死机;即使是正常关闭, 大量线程在关闭时的等待也将是一个漫长的过程。 (3) 任务执行完后, 通过回调通知发起者任务, 但可能发起者已被销毁, 从而导致程序的崩溃。

采用线程模型, 及约定开发人员以事先制定的模式工作, 能避免上述问题。线程模型的设计目标概括为以下几点:

(1) 除了在线程模型的管理和调度模块, 整个应用程序避免使用任何形式的锁。这样能避免程序低效、死锁等问题。 (2) 线程模型应提供能动态调整的线程池来执行用户提交的任务。 (3) 线程模型应提供统一的接口让用户提交任务、设定定时任务、设定任务过期条件、取消任务、存储任务和提供回调等, 避免在每个模块做同样的工作。 (4) 合理调度任务, 保证共享数据的安全。 (5) 线程模型应管理每个服务和回调的生命周期, 使应用程序避免崩溃。

如图1所示, 用户任务通过线程模型接口提交, 提交过程是异步的, 可立即返回;任务通过线程模型接口, 添加到服务存储和管理队列;任务分派程序会选择合适的任务提交到线程池中, 执行用户的任务, 完成时调用回调函数;通过生命周期管理, 当回调的对象销毁时, 自动取消回调。

1 线程模型的组成部分及其功能

一个完整的线程模型至少应包含以下组成部分:

(1) 线程模型接口; (2) 任务存储和调度线程的管理; (3) 任务的分派; (4) 线程池的管理; (5) 线程模型的辅助设施。

1.1 线程模型的接口

1.1.1 创建线程模型管理

线程管理模块在主程序入口处被创建。确保用户的各个模块都能调用到线程模型的各种接口。

1.1.2 销毁线程模型管理

线程管理模块在主程序出口处被销毁。销毁时, 线程管理模块保证正在被执行的任务执行完, 同时取消正在队列中等待的所有任务。

1.1.3 添加一个新的任务

线程模型提供辅助设施来协助用户创建任务。任务将有6个属性:command, callback task_id, group_id, priority和timeout。

1.1.4 设定任务分组

如果有些任务需要访问共享的数据, 这些任务将按顺序被放入线程池执行, 避免多线程同时访问共享数据。通过给这些任务赋予相同的ID, 任务分派模块就会自动的将相同ID的任务顺序放入线程池。

1.1.5 设定任务回调

任务回调在任务执行完成后被工作线程调用, 回调过程如需线程切换, 可通过线程模型的辅助设施来实施。

1.1.6 设置任务优先级

每项任务都有自己的优先级, 高优先级的任务将优先被放进线程池执行。

1.1.7 任务超时

有的任务会有一个执行的期限, 如超过这个期限, 回调函数将被执行。

1.1.8 取消任务

用户发起任务后, 在等待任务执行的过程中, 可能需要取消任务。此时, 如任务在等待的队列中, 任务将被删除。如任务已在线程池中被执行, 则断开该任务连接的回调函数。

1.1.9 重试任务

在某个任务失败后, 回调函数会通知用户此次执行失败和失败的原因。用户可通过重试该项任务, 重新将任务发送到存储队列中等待执行。

1.1.1 0 预约任务

用户希望在一段时间后启动某些项任务, 需要接口支持预约任务。

1.2 任务存储和调度线程的管理

1.2.1 任务及其回调的存储

采用多索引容器 (boost::multi_index_container) 形式来存储任务, 同时按照task id, priority和group id为任务建立不同的索引。这样, 不但在查找相应任务时效率更高, 而且也保证了插入或者删除数据时候的效率。[1]

1.2.2 任务管理及回调

(1) 由于用户可能在任意的线程调用线程模型, 来添加希望的服务。为避免本文开始提到的对共享数据加锁的问题, 需将任务的添加工作切换到任务管理线程执行。 (2) 维护用户任务的状态, Scheduling, Pending or Processing也需在管理线程进行。 (3) 在回调发生的时候, 需移除相应任务并触发用户预先设定的回调。回调必须在管理线程中执行, 需检查管理线程中该任务是否被取消。 (4) 用户可能不断添加新任务, 线程池会添加任务完成的事件到管理线程。同时, 用户可能会取消之前添加的任务。以上操作会影响到共同数据, 因此必须按顺序执行。但这样会导致大量添加新任务的操作, 导致分派任务一直无法得到执行;在这种情况下, 管理线程一直处于忙碌状态, 但是线程池却处于空闲状态。因此, 对于不同的任务的添加, 也需设定优先级。一般来说, 完成任务的优先级设为Medium, 用户取消任务的优先级设为High, 而添加任务的优先级设定为Low。

1.2.3 防止任务无限制占据线程

对线程模型来说, 用户创建的任务是不可控的。因此, 会发生由于用户任务错误导致线程池的线程进入死循环, 使得线程丧失继续服务的能力。线程调度管理程序如不能及时发现死去的线程, 将有可能导致线程池所有线程被占用, 从而导致用户所有任务均无法执行。一般可以记录上次该线程回调发生的时间。如超过指定时间范围而无响应, 可强制该线程关闭后重启或者关闭相应任务, 并重新添加线程到线程池。

1.2.4 定时器组件

为实现用户预约任务, 必须实现Timeout部件, 并在到期时, 将回调的执行过程控制在管理线程中。实践中, 可考虑用Boost::asio::deadline_timer。

1.2.5 内存池的管理

当等待任务多时, 增加线程池中线程的数量。当等待队列很少或为空时, 减少线程数量。增加减少不宜太频繁。一般根据一段时间内处理的任务数来决定开启的线程数。

1.2.6 任务回调的生命周期管理

对于回调任务, 一般需做两件事。第一, 确保回调发生在指定线程。这一点, 1.4节将会专门讲述。第二, 确保回调所依赖的对象存在;如所依赖的对象已被销毁, 那么就取消该回调。实现可采用boost::signal模式, 只要求回调所依赖的目标对象从boost::signals::trackable[2]派生即可。

1.3 任务的分派

任务的分派需要遵循以下原则:

(1) 分派单元的运行需确保在任务管理线程中执行。 (2) 分派单元按优先级取任务, 放入队列中执行。 (3) 如果标记为某个group id的任务已在线程池中运行, 那么该任务结束前, 同样group id的任务不能被再次放入。 (4) 添加任务时和complete task时均可尝试重新分派任务。

1.4 线程池的管理

线程池需提供的功能有:

(1) 启动指定数目的线程。 (2) 任务能够通过接口添加到线程池的队列中。 (3) 运行时动态增减线程数量。 (4) 退出时确保运行中的任务执行完毕。

1.5 线程模型的辅助设施

线程模型需要提供的辅助设置有:

(1) 创建任务。 (2) 创建回调命令。 (3) 提供Factory机制, 使目标线程可以注册相应的命令到Factory。该命令可将任意命令切换到线程执行。

2 线程模型的执行过程

线程模型执行的过程如图2所示。

线程模型的使用者通过接口创建线程模型并拿到需要的接口。通过线程模型提供的辅助函数生成任务后, 调用线程模型接口, 把任务添加到线程模型管理的任务队列。管理线程, 在任务队列不为空时, 选择合适的任务, 并将完成任务的事件和任务命令绑定。将组装好的命令放入线程池中去运行。执行完毕后, 完成任务的事件被触发, 并切换到管理线程。该事件将进行下一轮任务分派。

3 线程模型优化策略

对于不同的应用场合, 线程模型有着不同的优化策略。优化策略一般考虑的环节有:

(1) 是否充分利用每个线程的执行能力。 (2) 是否最大限度地减少了任务在线程之间的调度。 (3) 有些任务只读共享的数据, 有些需写那些数据。如果能将读写任务区分对待, 那么读数据的任务就可以同时添加到线程池中。 (4) 调度管理程序处理添加和完成任务的优先顺序, 及任务的存储结构。 (5) 任务队列的动态规划。

4 总结

无论在客户端UI编程, 还是在服务端编程, 线程模型都是一个非常重要的设施, 能提高程序的稳定性和可维护性。对于规模较大的系统, 这是一项非常重要的基础设施。本文结合在工程中的实践经验, 详尽分析了设计一个线程模型时需考虑的目标、结构、接口及模型的工作流。实践中, 这种线程模型能帮助应用程序简化设计, 提高稳定性, 提升效率。

摘要:本文详细描述了在实际商业系统上的通用的线程模型, 通过阐述其设计目标、工作原理、组成结构以及优化策略, 详尽的对线程模型进行了解读, 同时阐明了使用线程模型的优点和必要性。

关键词:线程模型,BOOST,ASIO,线程池

参考文献

[1]王凤岭.分布式操作系统中线程包实现方法的对比研究[J].南宁职业技术学院学报, 2004 (04) .

[2]陈矫阳, 陈楸, 刘桓龙.基于LabWindows/CVI多线程数据采集的研究[J].科学技术与工程, 2008 (09) .

[3]周仕祥, 刘伯恕.Boost功率因数校正器的效率和空载损耗研究[J].电力电子技术, 2003 (03) .

董事通用素质模型探讨 篇8

一、董事个人特征与公司绩效

董事会的任务是指导 (Direct) , “董事” (Director) 一词就是这么来的。董事的职责和任务可以利用一个简单的框架进行总结 (见图1) 。

(资料来源:鲍博·特里克:《董事与公司治理》, 北京:中信出版社, 2005。)

董事会被看作是公司内部一种重要的治理结构机制, 它对经理作出的决定进行管理, 评价经理人的业绩;它决定公司的主要战略、政策和制度制定, 监督公司的内部控制和财务管理系统。显而易见, 如果董事会能有效地指导 (Direct) , 这样的公司的业绩将会超过那些董事会未发挥作用的公司。

那么, 为了充分发挥董事会在公司治理中的作用, 我们需要什么样的董事人才队伍?为完成这些职责和任务, 董事需要具备什么样的知识、经验和能力?这些知识、经验和能力与公司绩效之间的关系怎样?

董事会人才队伍对公司业绩有重要的影响。瑞克·海斯 (1997) 调查了董事会的人员构成和质量对公司业绩的影响这个问题。结果表明, 董事会质量较高的公司具较董事会质量较差的公司有高的累积股票回报。

就董事个人特征与公司绩效之间关系的考察, 美国《商业周刊》1978年发表了一篇研究报告。该研究报告设计了一份调查问卷, 包括专业知识、管理经验、服务能力、任职经历、个人形象、资产联系、连锁关系、持股情况等11项董事的个人特征, 每个特征都被赋予不同的权重。报告以每股收益、净资产收益率和样本公司在《财富》杂志上的排名作为绩效衡量指标。共有43家公司的近100名董事接受了调查。结果表明:跨国经营经验、社会责任、共同管理等个人特征日益成为新的评价热点, 对董事专业知识能力的要求在强化。

自1996年起, 《商业周刊》开始每年都要评选出美国公司中的最佳及最差董事会。《商业周刊》对公司董事会进行评价时主要采用的四个标准中就包括“董事的素质”标准。

二、关于“董事的素质”的论述

董事的任职素质, 特别是董事的胜任特征 (Competency) , 基于所谓的“冰山”模型。在该模型看来, 冰山水面以上的部分是知识和技能, 其特点是可易观察、可测试的, 如专业知识、管理知识、计算机操作技能、语言表达技能等。冰山水下部分是自我认知、社会认知、个性品质和动机, 它们隐藏在行为的背后, 但对人的行为以及行为后果却起着更关键的作用。一个人的职业成功, 主要源于人的动机、个性品质及认知, 而并非其知识和技能。推而论之, 技术出身或经营出身的人成为优秀的董事的关键不在于专业多强, 而在于其个人内在的动机、认知等是否更符合董事作为职业决策人的任职要求。

为了适应瞬息万变的经营环境的要求, 世界各国对董事的最低技能标准做了明确要求 (见表1) 。例如以下机构就明确要求, 董事应该在财务会计、国际市场、经营管理经验、工业知识、客户经验、应付危机能力、领导或战略规划能力、商业判断等方面具有专长或经验。

“选拔董事候选人时, 董事会应考虑它自己和它所服务的组织的需要。”为帮助各公司出色地完成选拔董事 (包括独立董事) 的工作, 全美公司董事联合会 (the National Association of Corporate Directors) 蓝带委员会提出了一般准则如下。

(资料来源:王璞、赵月华:《母子公司管理》, 北京:中信出版社, 2003。)

其一, 董事的个人特征。蓝带委员会提出, 要具有董事会成员资格, 董事个人应具有以下特征:正直和责任心、见多识广的判断、财务知识、成熟的自信和高业绩标准。

其二, 董事会的核心能力。为了充分完成董事会复杂的任务 (从监督审计和管理业绩到对危机进行反应和批准公司的战略计划) , 蓝带委员会还强调董事会作为一个整体应具备以下所有的核心能力, 并且每位董事至少应在一个领域内贡献其知识、阅历和技能:会计和财务、商业判断力、管理才能、危机反应、行业知识、国际市场、领导才能、战略/远景。

英国董事协会 (Institute of Directors) 也对董事的素质提出了要求。英国董事协会2001年曾在他们的出版物《董事会标准》一书中, 列出了35种个人特征被认为是高效率董事会的董事们应展现的重要品质, 这些品质又被分为六组:战略洞察 (Strategic Perception) , 包括变革倾向、战略认识、远见等;决策制定 (Decision-making) , 包括批判力、决断力和判断力;信息分析和使用 (Analysis and the use of information) , 包括细节意识、计算能力、问题识别等;沟通 (Communication) , 包括倾听、坦诚、表达能力等;与他人互动 (Interaction with others) , 包括自信、正直、学习能力等;目标实现 (Achievement of Results) , 包括经营头脑、承担风险、坚韧等。

同时, 还有不少公司治理专家、学者在公司治理研究及董事会运作实践中, 总结出来的成果和建议。英国著名公司治理专家鲍博.特里克 (Bob Tricker, 2003) 认为, 董事的素质和作风在很大程度上决定董事会的有效性。一个优秀的董事应当具备三个特征:刚正不阿、能力出众、知识丰富。刚正不阿是最重要的, 董事应当维护股东的利益, 有责任促使公司为股东的利益公开和诚实经营;董事需要有特定的核心能力, 例如, 战略眼光、推理和筹划能力、决策能力、沟通技巧、政治意识和交际能力;不管哪个董事, 若想要弄懂董事会的信息, 并对董事会的讨论题目提出有价值的意见, 就必须具备一些重要的知识:公司实体知识、企业管理知识、财务知识等;另外, 董事还要有独立意志 (献身精神、性格独立、意志坚定、敢于直言) 。

美国波士顿咨询专家卡特及其同事洛尔施 (Colin B.Carter&Jay W.Lorsch, 2003) 提出董事的六项基本素质。才智:是否能理解之前未接触过的业务?是否能敏锐觉察主导企业发展的真正动因?人际交往能力:善于倾听, 以平等协商达成共识的技巧。直觉:敏锐的商业直觉和判断力, 临场应变和精明的经商感觉, 能很快抓住问题核心。兴趣:有激情、积极投入的状态。投入精力的承诺:投入状态认真完成任务。诚实正直:愿意承担责任, 做对公司有利的事情。

法国公司治理专家贝特朗.理查和多米尼克.米艾莱 (Bentrand R ichard&Dominigne Miellet, 2005) , 提出“理想董事”概念, 认为“理想董事”个人优点出自六大方面:战略眼光和决策;分析意识;沟通;人际关系;团队工作意识;要具备的能力———参与和能量、动力、果断、独立、投入。

我国学者王中杰在《董事的修炼》 (2006) 一书中根据董事会性质和公司治理作用提出董事素养的5I原则。认为那些运转良好的上市公司, 公司治理需要的5I原则会发挥出重要的作用, 为公司治理保驾护航。保持独立 (Independence) ;注重诚信 (Integrity) ;充分了解 (Informed) ;全力参与 (Involved) ;积极主动 (Initiative) 。

除此之外, 国外有一些学者从个体心理与行为微观的角度对董事行为进行专门的实证研究。英国亨利管理学院的Dulewicz和Herbert (1999) 通过长达七年的跟踪调查研究发现, 董事在计划和组织、风险承担、人际方面、控制、激励他人、魅力和魄力、结果导向、成绩和动机、竞争性等特征方面, 与其他人有显著的差异。这些特征是作为一个领导者应该具备的, 故董事角色的本质是领导行为 (Direction) 。Garratt (2001) 认为, “领导” (Direction, 而非Management) 首先是“脑力”活动, 在本质上反映了一种高瞻远瞩的智力过程。因此, 他从思维偏好角度对180个英国董事的思维方式进行研究, 发现构想力和信息分析能力是董事会运作的重要部分。

三、董事通用素质模型

以上皆为对董事个人特征的要求和一般论述, 但未很好地区分冰山水上部分和水下部分, 更未从建模 (Modeling) 角度去考虑。素质模型或胜任特征模型 (Competency Model) 建构的方法, 本文是通过对董事会职责和董事工作内容界定和深入的工作分析以及对胜任特征文献的研究, 总结董事素质的核心特征。

关于董事胜任特征模型, 美国管理学家和组织行为学家纳德勒 (David A.Nadler, 2005) 提出了一个董事能力模型, 包含3个主要因素:个人特点、技能和代表因素。如图2所示。但纳德勒的董事能力模型并没有对冰山水下部分和水上部分做严格区分。因为根据胜任特征的“冰山”理论, 冰山水下部分是素质建模最关键的内容。

根据董事会职责和任务并综合以上各位专家和学者的观点和研究, 本文提出一个关于董事胜任特征的通用模型。该模型的建构遵循以下四个原则:能够体现董事的职责和任务;集中于描述行为模式、动机、思维模式、价值观等本身 (冰山水下部分) ;模型内部结构合理、特征组块间的关系符合逻辑;具有冲击力的视觉形象设计。

以下环行图 (图3) 即为有效董事胜任特征模型。该模型构成因素包括信息分析 (Information analysis) 、战略构想 (Strategic thinking) 、目标实现 (Achievement of objectives) 、责任 (Accountability) 和经理人发展 (Development manager) 五大特征组块。环行中的箭头体现了内部特征组块间的关系。

首先是“信息分析”, 人们需要从各种可能的来源中搜寻各种可能相关的信息, 辨认问题和识别可能或实际的原因, 意识到各种影响公司所面临机会和威胁的因素;能够对相关数据 (特别是财务数据) 和统计信息进行分析, 理解其差异性, 并做出合理的解释;另外还需保持对外部各种力量和政治关系的敏感性。其次是“战略构想”, 能够深刻理解并阐述公司的愿景、目标, 利用跨学科、多角度甚至全球性眼光看待问题, 构想出公司在未来市场环境中可能的状况和创新的解决方案;敏锐地洞察到新的商业增长机会和盈利模式, 牢牢地抓住所经营产业的发展趋势;同时警惕未来各种危机的来临, 并寻求应对的方法。第三是“目标实现”, 对未来的构想斟酌后果断做出决策, 并投入状态积极推动, 在面对不幸、挫折或不公平的情况下仍然坚定、独立, 为实现目标而努力。第四是“责任”, 在个人责任感和道德使命感的驱使下, 以诚实可信的方式工作, 实现目标, 为股东和利益相关者负责;不把个人利益置于公司之上, 忠于公司的价值准则, 严守董事会秘密。第五是“经理发展”, 在董事职责和任务中保证公司有一个能干的总经理 (CEO) 是最重要的。故善于激励并有效授权以确保经理层的战略执行;能与各种不同的人和机构有效沟通、友好相处, 为经理层争取各方资源。

当然, 不可能指望这些素质每一个董事都拥有, 但作为一个整体, 由于董事会是一个集体决策机构, 可以通过不同董事的多种专长、技能、知识、经验和背景形成优势互补, 从整体上形成强有力的组合。

董事胜任特征模型作为董事的行为和工作能力及绩效的标准, 为董事会明确了一个完整的素质清单。明确素质清单的目的, 一方面就是要发展董事会、提升董事会作为一个整体的质量, 让选任的董事有能力履行其最重要的战略决策和监督职责, 并对其行为承担责任。另一方面, 董事会也不断地考虑公司的实际状况和战略需要, 决定何种董事素质与能力最有利于推进董事会绩效的改进, 有利于公司现在和未来的成功。

摘要:董事作为职业决策人, 其个人特征或素质对公司绩效有重要的影响。世界各国有许多机构对董事的素质做了要求, 也有许多公司治理专家、学者对董事的素质进行了研究和总结。本文采用演绎的逻辑建构了一个“董事胜任特征模型”, 该模型构成因素包括信息分析、战略构想、目标实现、责任和经理人发展五大胜任特征组块, 从而为董事会发展提供了一个完整的素质清单。

上一篇:调查测量下一篇:建筑内涵