通用模型控制

2024-09-13

通用模型控制(共8篇)

通用模型控制 篇1

摘要:针对DC/DC变换器的强非线性,将平均电流模式控制中的电流环作为被控对象,使用RBF神经网络辨识对象的逆模型,嵌入通用模型控制器中。为了克服对象逆模型的辨识误差,通过引入自适应控制,可以保持系统输出对参考轨迹的有效跟踪。仿真结果表明,该系统具有较强的可实现性,控制效果良好。

关键词:Cuk变换器,平均电流模式控制,通用模型控制,RBF,自适应控制

与大多数实际应用场合的被控对象一样,DC/DC变换器是一个非线性系统。由于开关的作用,DC/DC变换器在一个周期内需要经历几个工作阶段。对变换器的控制是通过开关的占空比来进行的,当占空比变化时,变换器的这几个工作阶段所占用的时间也会发生变化,因此其特性也会改变,从而使开关变换器表现出非线性的特点。DC/DC变换器的典型控制策略是建立其状态空间平均模型,基于小信号的模型分析方法,根据经典的线性系统理论来进行系统的分析和控制器的设计。然而,DC/DC变换器在本质上还是一个非线性系统,因此传统的基于线性系统理论的控制方法有其局限性[1]。

通用模型控制是非线性控制领域的一类典型控制方案,它针对一般模型控制[2]系统闭环只是一个伪二阶线性系统,控制器参数物理意义不明显,整定不方便的问题,通过改变参考轨迹的选择方法,使得控制闭环变为一个标准的二阶线性系统,其参数物理意义明显,并且整定也非常方便。笔者选择Cuk变换器作为研究对象,在平均电流模式控制的基础上,提出了一种应用于DC/DC变换器的通用模型自适应控制系统。

1 Cuk变换器的平均电流模式控制

1.1 Cuk变换器的状态空间平均模型

Cuk变换器的电路结构如图1所示,其中uin是电源电压,L1是输入电感,Q是功率开关,C1是传递电容,D是单向导通二极管,L2是输出电感,C2是滤波电容,R是负载电阻,开关周期为T,开关导通时间与整个开关周期时间之比(占空比)为d,开关关断时间与整个开关周期时间之比为d′。考虑变换器工作在连续模式下。

当开关闭合,电流i1按线性上升,二极管D反向偏置,电容C1向输出侧供电。同时,电流i2上升而电压u1下降。其状态空间方程为:

当开关断开时,在电流连续情况下,电感电流i1和i2都流经单项导通二极管并且都下降,而电容C1由电流i1进行充电。其状态空间方程为:

根据状态空间平均法,可以写出Cuk变换器的状态空间平均方程:

同时可以推导出控制到输出的传递函数:

undefined (4)

1.2 平均电流模式控制

DC/DC变换器的控制方式可以分为电压模式控制和电流模式控制两大类。与电压模式控制相比,电流模式控制在输出电压闭环的控制系统中,增加了直接或间接的电流反馈控制,从而形成一个双环控制系统,不仅增强了系统的稳定性,而且使系统具有快速限流的能力。平均电流模式控制[3]是一种典型的电流模式控制方式,其系统结构如图2所示,其中He(s)和Hc(s)分别表示电流和电压的采样函数,用来描述环路的采样行为[4]。

在平均电流模式控制中存在两个反馈环路:电压环和电流环。在电压外环中,参考电压与反馈的输出电压之间的误差经过电压补偿器Gc(s)后作为电流内环的给定Uc。在电流内环中,电流i1与i2之和作为反馈的电流信号。Rs代表电流采样电阻,它将电流信号转换为相应的电压信号,该电压信号与电流环给定之间的差值即代表电流误差值。经过电流补偿器Gs(s)的补偿放大作用,再通过脉宽调制环节Fm与锯齿波比较后输出占空比为d的脉冲,控制开关管的通断。

平均电流模式控制中,电流调节器的设计原则是要保证电流调节器的输出信号的上升段(对应电感电流的下降段)的斜率比锯齿波斜率小[5]。只要满足这个原则,电流环就会是稳定的。电流调节器通常采用2型补偿网络。它包括一个积分环节、一个零点和一个极点。零点通常选择在较低的频率范围以内,以获得在开环截止频率处较充足的相位裕量。极点通常选在位于开关频率附近,用来消除开关过程中产生的噪声对控制电路的干扰。电压调节器通常选用比例积分网络。

2 通用模型自适应控制系统

2.1 通用模型控制(CMC)

考虑由如下方程描述的非线性系统:

undefined

其中u代表输入,u(t)∈Rm,x代表状态,x(t)∈Rn,y代表输出,d代表扰动,θ代表模型矢量。f(·)、g(·)、h(·)为非线性函数,假定在x空间的某区域R0内,它们对x的足够高阶的连续偏导数存在。根据CMC的基本原理,可以得到如下控制算法:

undefined (6)

其中ysp代表输出的设定值,K1和K2是整定参数对角矩阵。定义undefined。在F(y,u,d,t,θ)与u为线性关系的情况下,F(y,u,d,t,θ)=H(y,d,t,θ)u,可以求得其显式解:

u=[H(y,d,t,θ)]-1[K2∫tf0(ysp-y)dt-K1y] (7)

因此其闭环系统同样也是线性的,它为标准的二阶系统,对于SISO系统,有:

undefined (8)

undefined (9)

undefined (10)

式(6)为隐式算法,应通过迭代法来获得它的实时解。可以看出,通用模型控制要求过程一阶微分模型应该有显式解。为了克服这种局限性,可以应用神经网络来对被控对象的逆模型进行辨识,从而将非线性过程模型经过逆系统的方法直接应用在控制算法中。

2.2 基于神经网络的通用模型自适应控制系统

笔者将平均电流模式控制中包括Cuk变换器在内的整个电流环看作一个整体,作为被控对象,使用通用模型控制器(CMC)来代替电压调节器Gc(s)。根据通用模型控制的要求,关键是要得到对象的逆模型。

2.2.1 电流环逆模型的辨识

径向基函数(RBF)网络是局部逼近的神经网络,具有较快的收敛速度,适合于在线辨识和控制。因此笔者选择RBF神经网络来辨识被控对象的逆模型。

RBF网络是由输入层、隐含层和输出层构成的3层前向网络。隐含层采用径向基函数作为激励函数,通常选用高斯函数:

undefined (11)

其中x是n维输入向量,ci是第i个基函数的中心,σi是第i个隐含层节点的变量,m是隐含层节点的个数。

输出层实现从Ri(x)到输出y的线性映射,考虑神经网络为单输出,则:

undefined (12)

在使用RBF神经网络进行辨识之前,首先需要对对象进行数据采集。采集的数据包括对象的输入u(t)及其延迟信号u(t-1)、u(t-2),对象的输出y(t)及其延迟信号y(t-1)。数据采集的过程为:刚开始时,给被控对象施加一个给定输入,使系统达到某一稳态值。当系统达到稳态值时,将输入切换为随机输入,并且开始采集数据。由于DC/DC变换器的非线性特性,在不同的工作点其动态特性不同,因此需要采集对象在多个工作点的数据,从而比较准确地辨识出它的逆模型。

由于目的是得到对象的逆模型,因此神经网络需要根据对象的输出来辨识其输入信号。根据采集的数据,建立一个4输入1输出的RBF神经网络。神经网络的输入向量为[y(t),y(t-1),u(t-1),u(t-2)],输出为对象输入u(t)的辨识。

采用正交最小二乘法(OLS)对建立的网络进行训练,训练的参数主要是基函数的个数和中心以及输出层的权值。该算法1次选择1个样本,方式是使解释期望输出方差的递增增益为最大,找出最大隐层单元数目,确定基函数中心并且算出输出权值。OLS算法基于回归模型:

undefined (13)

其中y(t)是期望输出,ωi是权值,ε(t)是误差信号,回归算子Pi(t)是x的函数。一个回归算子对应于一个给定非线性函数的一个不变中心。基函数中心的选择问题可以看成是从一组备选回归算子集合中,选出一组显著回归算子。将式(13)写成矩阵形式为:

y=Pω+E (14)

其中y=[y(1),y(2),…,y(N)]T,P=[P1,P2,…,Pm],Pi=[pi(1),pi(2),…,pi(N)]T(1≤i≤m),ω=[ω1,ω2,…,ωm]T,E=[ε(1),ε(2),…,ε(N)]T,N表示输入输出样本数。

将回归矩阵进行三角分解:

P=WA (15)

其中A是一个m×m上三角矩阵,W是一个n×m矩阵,其各列正交:

WTW=H (16)

根据OLS算法[6],回归矩阵P的正交分解采用施密特正交化方法。W的各分量wi根据误差比最大的准则来选择,从而可以确定基函数的中心。隐层节点数则可以根据预先设定的误差容限ρ确定。

H是对角元素为hi的对角阵:

undefined (17)

由这组正交基矢量张成的空间和Pi张成的空间相同,式(14)可改写为:

y=WAω+E (18)

令g=Aω,则:

y=Wg+E (19)

g的最小二乘解为undefined,利用undefined即可求出权值ω的估计undefined。

2.2.2 自适应控制器的设计

通用模型控制本质上是一种最优控制方法,它将系统输出与参考轨迹进行比较作为系统性能指标的测度,通过最优控制原理求解出控制量,使系统输出跟踪设定的参考轨迹。但是使用神经网络辨识对象的逆模型会存在一定程度的误差,在系统遇到较大的扰动时甚至会出现模型失配的情况,从而使通用模型控制器失效。因此为了确保输出对参考轨迹的有效跟踪,在通用模型控制中引入自适应控制的思想,通过自适应机构对系统进行修正。

Cuk变换器的通用模型自适应控制系统结构如图3所示。其中TDL为多分头时延系统,模块是被控对象的神经网络逆模型。自适应机构采用比例积分调节器,它根据参考模型与系统输出之间的差值产生一个辅助自适应信号,以保持系统输出对参考轨迹的有效跟踪。

2.3 仿真实验及结果分析

笔者使用Matlab/Simulink来进行系统仿真。Cuk变换器元器件的参数为:电感L1=3mH,L2=1.9mH,电容C1=47μF,C2=100μF,负载电阻R=15Ω,输入电压Vin=24V,开关频率fs=10kHz。

图4为平均电流模式控制(Current Mode Control)和通用模型自适应控制(CMAC)在变换器启动阶段性能的比较。根据仿真结果,平均电流模式控制需要约0.03s达到稳态值;而通用模型自适应控制在约0.015s后便达到稳态。这表明通用模型自适应控制在启动阶段效果更好。

当负载发生突变时,平均电流模式控制需要大约0.04s的时间恢复稳态,而通用模型自适应控制只需要0.02s左右,并且输出电压的振荡要更小,如图5所示。因此通用模型自适应控制对负载扰动具有更好的鲁棒性。

3 结束语

笔者将Cuk变换器平均电流模式控制中的电流环作为被控对象,使用RBF神经网络辨识对象的逆模型,将通用模型控制与自适应控制相结合,建立了Cuk变换器的通用模型自适应控制系统,控制算法简单实用,并且物理意义明显。通过仿真实验,证明了该系统具有较好的控制效果。

参考文献

[1]宋静闲,谢运祥,魏晨.浅谈DC/DC变换器控制新方法[J].通信电源技术,2006,23(5):26~29.

[2]Lee P L,Sullivan G L.Generiac Model Control(GMC)[J].Comp&Chem Eng,1988,12(6):573~580.

[3]樊明,管磊.开关电源平均电流模式控制的建模与参数设计[J].机电设备,2007,24(4):26~28,39.

[4]Tan F D,Middlebrook R D.A Unified Model for Cur-rent-Programmed Converters[J].IEEE TransactionsOn Power Electronics,1995,10(4):397~408.

[5]杨汝.平均电流模式的控制电路设计[J].电力电子技术,2002,36(4):66~69.

[6]Chen S,Cowan C F N,Grant P M.Orthogonal LeastSquares Learning Algorithm for Radial Basis FunctionNetworks[J].IEEE Trans Neural Networks,1991,2(2):302~309.

通用模型控制 篇2

通用型雷达高度计回波模型及其应用

雷达高度计回波模型是设计、检验高度计跟踪算法的`基础,是高度计设计的关键性环节.为改进原BROWN模型局限性,从一般情况出发,建立了一面向脉宽限制式雷达高度计的通用型回波模型并介绍了其相关的应用.该模型无论是准确度还是应用范围都比BROWN模型优越得多,可以满足不同环境条件、工作方式的要求,对于高度计跟踪算法的设计、分析与检验具有重要意义.

作 者:王志森 姜景山 作者单位:中国科学院空间中心,微波遥感部,北京海淀区8701信箱,北京,100080刊 名:航空学报 ISTIC EI PKU英文刊名:ACTA AERONAUTICA ET ASTRONAUTICA SINICA年,卷(期):24(1)分类号:V243关键词:高度计 回波模型 通用型

通用模型控制 篇3

关键词:液压弯辊系统,通用模型控制,输入等价干扰

1 引言

1988年, Lee P L等提出了一种一般模型控制理论并在许多化工行业得到了应用[1,2]。文献[3] 将传统GMC的伪二阶曲线参考轨迹修改为一条典型的二阶曲线, 成为通用模型控制器CMC, 使得控制器参数物理意义十分明显, 参数易于整定, 简单实用。但当存在较大的模型或过程不匹配以及扰动时, CMC方法的控制输出会偏离标称轨迹。为此, 本文采用文献[4]提出的输入等价干扰 ( IED) 的新概念, 与通用模型控制器相结合, 把系统建模误差、非线性时变参数的变化和不可测扰动映射到输入空间, 用强跟踪滤波器对其进行在线估计, 并在CMC 控制算法中加以补偿。从而, 得到了一种新的控制算法——输入等价干扰的通用模型控制 (ICMC) 。该算法既具有通用模型算法的优点, 又具有很强的抗干扰能力, 本文采用了该方法, 对精轧机的液压弯辊系统的弯辊力进行跟踪控制, 通过仿真实验表明, 该控制算法控制简单, 精度较高, 具有较强的工程应用价值。

2 通用模型控制的基本原理

考虑如下多输入多输出仿射非线性过程:

其中, 状态变量undefined, 输入u (t) ∈Rm, 输出y (t) ∈Rm, 干扰d∈Rp , 过程时变参数θ∈Rl;f (·) , g (·) , h (·) 分别是自变量x, d 的非线性函数, 并假定它们在x 空间的某区域内关于x具有足够高阶连续偏导数, 设系统在x0处各输出变量所对应的相对阶均为1。用undefined分别表示所采用的非理想的近似模型, 则GMC的解可通过求解如下的最优控制问题OC1 得以解决。

(OC1) min∫undefinedα (x, u, d) T·w·a (x, u, d) dt

st:|u|≤α

其中

undefined

式中:w为正定加权阵;α是控制量的受限值;k1, k0是待定的对角矩阵。

3 基于输入等价干扰的自适应通用模型控制

3.1 输入等价干扰的概念

对非线性过程式 (1) 进行Eular离散化 (其他离散化方法同样适用) , 得到以下仿射形式的离散时间非线性时变参数过程:

undefined

假设该系统是局部能观的, 对过程式 (3) 建立如下模型:

undefined

其中undefined是非线性系统的标称模型。模型式 (4) 把时变模型参数θ (k) 、不可测扰动d (k) 以及建模误差对过程的影响都看作模型不确定性, 归于输入等价干扰δ (k) ∈Rm。对于式 (4) , 定义扩展状态向量xe (k) =[xT (k) δT (k) ]T , 并加上状态方程δ (k+1) =δ (k) , 则将以上模型化为如下近似的等价形式:

undefined

其中

undefined

undefined

undefined

基于式 (5) , 应用强跟踪滤波器 (STF) [4], 估计扩展状态xe (k) =[xT (k) δI (k) ]T, 使得在STF意义下的C (k ) 标准方差最小且两两正交。这时得到的δ (k) 称为过程式 (3) 的输入等价干扰。

3.2 利用输入等价干扰实现自适应通用模型控制 (IGMC)

由CMC公式, 用STF的状态观测值undefined来替代式 (2) 中的状态x (k) , 利用输入等价干扰δ (k) 解优化问题OC1, 在无约束情况下令

undefined

undefined

可得ICMC 解的显式表达式为

undefined

undefined

原理图如图1所示。

4 基于输入等价干扰液压弯辊自适应控制系统

基于输入等价干扰的一般模型控制算法满足了弯辊力控制的要求, 因为弯辊力控制系统具有结构不确定性电液的过程、未知的时变参数不可观测的过程、具有不可测干扰的过程等特点。而输入等价干扰的补偿控制策略的实质是把影响非线性控制效果的所有建模误差、时变参数和不可测干扰等不确定因素都映射到输入空间, 使输入等价干扰能方便地用于GMC算法的前馈补偿。因此, 基于该算法的液压弯辊系统能迅速有效地消除各种干扰因素的影响, 大大提高电液伺服系统的跟踪性能。系统框图如图2所示。其中虚线框起的部分即为输入等价的通用模型控制部分, 其算法可由微机和数字器件实现。

5 仿真研究

液压弯辊控制技术已广泛应用在板带钢产品的尺寸和形状的控制中, 成为板形控制中不可或缺的一种手段。近几年来, 人们对包括弯辊力在内的液压伺服系统控制方法进行大量的研究, 出现了如智能控制、鲁棒控制、自适应控制和滑模变结构控制等控制策略[5,6,7], 系统获得了比较良好的控制效果。但是大多数算法比较复杂, 参数整定困难并且物理意义不明确。液压弯辊伺服系统与一般的液压伺服力控制系统有所不同。主要区别在于液压弯辊系统不能直接测量弯辊力 (负载力) 的大小, 它只能测量液压缸无杆腔的油压并作为反馈控制的变量, 从而间接控制弯辊力。因此, 以下模型都是以液压缸的无杆腔油压作为主要控制对象的一液压弯辊力控制系统, 仅以undefined时为例, 其动力学方程为

undefined

式中:y为负载位移;m为负载质量;ps , p1, p2分别为供油压力、有杆腔压力、无杆腔压力;A1, A2为液压缸工作面积;Cp为活塞和负载的粘性阻尼系数;K为负载弹性刚度;Bt为液压缸的阻尼比;Kv为有关功率放大器和伺服阀系数;F为系统扰动;η=A1/A2。

取状态变量x为

undefined

按照式 (1) 推出系统状态和输出为

undefined

undefined

现取山东某热扎厂1 500 mm板带生产线的液压弯辊系统参数代入式 (9) 可有:

undefined

undefined

可由计算得出该模型的相对阶为1, 满足通用模型显示控制率u的要求。其中的p1可由测量环节所测得, 而弯辊力可按照公式计算得出。现在利用Matlab仿真该模型。在ICMC控制算法中, 取采样间隔为t=0.000 5 s, K1=15, K0 =3.8, 取过程的噪声方差阵Q (k) =1.5×10-3, 测量噪声方差阵R (k) =0.8×10-3, 弱化因子B=10, A=1。有杆腔的压力初始值为16 MPa。弯辊力阶跃响应曲线如图3所示, y1为生产线原始数据曲线, 采用常规PID控制。y2为ICMC控制。从响应曲线看, ICMC响应较快, 超调较小, 优于PID控制。在t=1.4 s加入扰动后, 使用Matlab分别实现ICMC控制和PID控制, 具体见图4所示。可以发现ICMC控制输出很快稳定, 具有很强的抗干扰性能, 而PID控制振荡发散, 输入等价干扰如图5所示。

6 结论

液压弯辊系统具有很强的非线性, 尤其是当系统参数发生突变时, 以及系统建模误差会使控制性能大大下降。仿真结果表明, 本文提出的基于输入等价干扰的自适应通用模型控制方法, 能有效地克服电液伺服系统参数的时变或不可测干扰对控制性能的影响, 进一步提高了系统控制的鲁棒性和准确性。对于复杂电液伺服系统有高品质的控制, 控制方法简单, 参数整定容易, 具有较强的工程应用价值。

参考文献

[1]Lee P L, Newell R B.Generic Model Control-acase Study[J].Canadian J Chem Engng., 1989, 6 (7) :478-483.

[2]Lee P L, Sullivan G R.Generic Model Control (GMC) [J].Computers Chem.Engng., 1988, 12 (6) :573-580.

[3]Guo Bingjun, Yu Jinshou.A Common Model Controller[C]∥Proceedings of the 5th World Congress on IntelligentControl and Automation, Hangzhou, P.R.China, 2004 (1) :805-808.

[4]周东华.非线性系统的自适应控制导论[M].北京:清华大学出版社, 2002.

[5]刘白雁, 陈奎生.电液非线性系统自适应控制的非线性参考模型方法[J].机床与液压, 2004, 21 (2) :21-23.

[6]王幼民, 司妙丽.电液位置伺服系统干扰抑制问题的H∞控制[J].农业机械学报, 2004, 35 (6) :164-167.

通用线程模型研究 篇4

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

(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) .

通用模型控制 篇5

风力发电是继水力发电之后最为成熟的可再生能源发电技术, 近年来一直保持着很高的年增长速度。根据研究期长短及用途的不同, 可将风特征分为长期、中期和短期特征。中期风特征是指时间范围在数天至数年的风速、风向分布规律, 其用途是对区域风能资源进行评估及风电场选址[1]。中期风特性的计算, 是风力发电机组开发的基础工作, 风电机组的切入切出的风速的选择, 变桨距、仿航系统的设计, 监控检测系统的建立都需要以其为基础数据。其中风速概率分布参数是体现中期风统计特性的最重要的指标之一, 也是风电场规划设计和并网技术研究中所必须的重要参数[2,3]。

1 通用模型的建立

对于中期风特性风速模拟可以采用Weibull分布、瑞利分布等, 其中应用最广的是两参数Weibull分布, 只要给出尺寸参数c和形状参数k就可以求出中期风特征, 如果只知道平均风速值则可以用瑞利分布来模拟。但由于我国地域辽阔, 气候地理因素复杂多变, 造成各地风速分布服从不同的概率分布, 因而只能采用多种模型进行拟合, 选择最优方法。但这种方法不但工作量大, 计算麻烦, 而且参数的选择准确程度决定了模型的拟合情况, 但是多种模型的统计参数合理性不容易综合比较分析。因此, 本文用通用型风速模型进行风速概率分布拟合, 其分布模型为:

f (v) =βαbΓ (α) (v-δ) αb-1exp[-β (v-δ) 1b]

(δx<∞) 。

式中, δαβb分别是通用模型的位置、形状、比例和变换参数。其中α>0、β>0, δ为分布的下界。

Γ=0yx-1e-ydy。其中, y= (vc) k, vc=yx-1, x=1+1k

本文建立的通用模型可以在一定的条件下转换成为Weibull两参数、三参数模型, 瑞利模型, 皮尔逊模型等。也就是说, 在风速分布拟合方面, 该模型具有一定的可用性、通用性和广泛性, 因而可以解决我国复杂地形下风特性拟合模型的选择问题。

2 参数的约束条件[4]

变量分布的形状要用形状指标来反映, 形状指标就是反映变量分布具体形状。实践证明, 风速分布呈偏态型的概率分布, 要描写这样的分布至少要有3个形状指标, 也就是风速的平均值v¯、偏态系数Cs和离差系数Cv, 常用的形状指标还有峰度系数Ce

Cv=[Γ (α) Γ (α+2b) -Γ2 (α+b) ]1/2Γ (α+b) +δβbΓ (α) ;

Cs=Γ2 (α) Γ (α+3b) -3Γ (α+b) Γ (α+2b) +2Γ3 (α+b) [Γ (α) Γ (α+2b) -Γ2 (α+b) ]3/2

式中, Cs为风速分布的偏态系数, Cv为风速分布的离差系数, 加之该地区的空气密度ρ和平均风速v¯就可以确定平均风能密度E (w) 。

根据气象的极值特性, 通用模型的分布下界δ, 其参数应该符合:

CvuCv1-Κmin

其中, Kmin为随机变系列的最小模比系数, 由实测气象资料所估计的样本统计参数, 一般来说应与该式符合。

3 最小误差逼近法估计参数[5,6]

参数估计是在某种曲线的基础上实现样本对总体的最优估计。本文依据使用方便和拟合效果好的原则固定三个参数采用了最小误差通近算法来循环优化通用模型的四个参数。其过程为:首先优化另一个参数;然后再固定另外二个参数, 优化另一个前次同定的参数, 这样四个参数循环轮次优化, 直到误差不再变小。

己知风速实际的分布概率为:

Fn (v) ={0vv1nj (v) nvj<vv (j+1) (j=12329) 1v30<v

则最小误差逼近算法:

f (v (i) ) -Fn (v (i) ) =i=130|f (v (i) ) -Fn (v (i) ) |2=min

式中, f (v (i) ) 为第i个风级通用模型理论分布概率值, Fn (v (i) ) 为第i个风级实际分布概率值。这样, 利用最小逼近法就可以求出通用模型的四个参数, 其具体实现参照文献[4]。

4 中期风速特征计算

4.1 利用通用模型计算

v¯=Γ (α+b) βbΓ (α) +δ;

E (w) =ρv-32[Cv3Cs+3Cc2+1];

E=C1Γ (α+3b) t1t2tα+3b-1e-tdt+3C1C2t1t2tα+2b-1e-tdt+3C1C2t1t2tα+b-1e-tdt+C1C2t1t2tα-1e-tdt

式中, v1、 v2分别为有效风力范围的上下限, 一般分别为3 m/s和20 m/s。

C1=CV3Γ2 (α) (Ρ1-Ρ2) [Γ (α+2b) -Γ2 (α+b) ]3/2];

C2=[Γ (α) Γ (α+2b) -Γ2 (α+b) ]1/2CvΓ (α) -Γ (α+b) Γ (α)

其中, Ρ1=1Γ (α) 0t1tα-1e-tdt为模型中小于启动风速v1的累积频率P (vv1) 。

Ρ2=1Γ (α) 0t2tα-1e-tdt为模型中小于停止风速v2的累积频率P (vv2) 。

Τ=Ν1Γ (α) β (v1-δ) 1/bβ (v2-δ) 1/bv´α-1e-v´dv´;

v′=β (v-δ) 1/b

式中, N为统计时段总时间, 如计算年风能资源可利用小时数, N即为全年总时数 (一般取为8 760 h) 。

4.2 利用历史风速数据计算中期风速特征

v¯=1ΝΝivi;

E (w) =0.5ρ1ΝΝiVi3;

E=0.5ρΝiVi3Νi;

(v1≤viv2) 。

T=∑Ni (v1≤viv2) 。

式中, ρ为空气密度, 且ρ=1.276 (p-0.378pw) 1000 (1+0.00366) , 其中, p为气压, hPa;t为气温, °C;pw为水汽压, hPa。

5 实测风速的仿真对比与分析

5.1 数据来源及陈列

本文选用内蒙古锡林浩特风电场50 m测风塔测得的风速数据进行模型仿真对比, 具体数据如表1所示, 表1中v代表风速区间, f代表对应风速区间的累计出现频率。

5.2 参数计算

采用最小误差逼近法将表1数据进行计算, 得出通用模型的参数为:

α=4.002 7, β=0.037 2, b=0.527 5,

δ=-3.497 4。

由此可得锡林浩特风电场的风速频率模型为:

f (v) =0.03724.00270.5275Γ (4.0027) (v+3.4974) 4.00270.5275-1exp[-0.0372 (v+3.4974) 10.5275]

实际风速数据和风速仿真曲线图形如图1所示, 图中矩形条为原始风速频率数据, 曲线条为通用模型仿真曲线。

从图1可以看出, 通用模型对风电场风速频率的拟合情况总体较好, 但曲线上存在精度略有不足。

误差分析数据如表2、表3、表4。

从以上各表可以看出, 运用通用模型能够很好的反映风电场的风速频率分布, 对中期风特性指标的估计误差也在许可范围之内。考虑风速数据记录时的统计误差和仪表本身的误差, 可以说明通用模型对风电场风速数据的模拟效果良好, 因此具有实用性。

6 结语

本文基于通用模型对中期风特性进行评估建模, 将实测数据用最小误差逼近法估算模型参数, 并对利用通用模型估算出的风特征数据和利用风力数据计算出的风特征数据做了对比分析。分析说明, 能用模型对风电场实测风力数据拟合较好, 最有实用性。

参考文献

[1]Conradsen K, Nielsen L B, Prahm L P.Review of Weibull statistics for estimation of wind speed distributions.Journal of Applied Me-teorology, 1984;23 (8) :1173—1183

[2]雷亚洲, 王伟胜, 印永华, 等.含风电场电力系统的有功优化潮流.电网技术, 2002;26 (6) :18—21

[3]Jangamshetti S H, Rau V.Optimum siting of wind turbine genera-tors.IEEE Trans on Energy Conversion, 2001;16 (1) :8—13

[4]曹慧敏.风能资源评估系统的研究.西北工业大学, 2006:31—37

[5]吴学光, 陈树勇, 戴葱珠.最小误差逼近算法在风电场风能资源特性分析中应用.电网技术, 1998; (7) :69—74

通用数据安全访问模型 篇6

本文提出了一种通用数据安全访问的模型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的数据安全访问模型, 该模型可以被用在各应用软件中保证服务端与客户端数据的一致性, 也可以用在本地进程间通信、远程进程间通信等领域, 保证共享数据的一致性。

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

参考文献

体育比赛异常行为通用模型建构 篇7

举例来说, 当主场比赛输了时, 因扰乱秩序被捕事件会增加162%, 而赢了比赛时, 则会相应增加93%。对于我们样本中的典型机构, 这些数字是双休日比赛赢了后因扰乱秩序被捕事件的1.5倍, 是赢了比赛的近1倍。我们的结果与对球迷行为的解释并不完全一致, 解释中预测球迷对输赢的反应更强烈。举例来说, 如果在橄榄球比赛中球迷的侵犯性行为只是因为比赛输了之后的挫败感所致, 那么当主场队赢了比赛时 (假设支持主场队的观众比客场队多) , 将会比主场输了比赛时导致的攻击事件少。然而, 所列数据显然排斥了这一假设。尽管有证据表明, 输了比赛会比赢了比赛导致的攻击事件数多, 我们的结果也清楚地说明了这一预测, 并且在以后研究的事件和体育赛事之间关系的模型中应该特别引入如果两队没有比赛时球迷的反应。

表1模型建构结果表明, 这个负二项分布系数从来都不在正常范围内, 这样的结果使我们更加关注于主场比赛, 因为有证据表明主场比赛失败了增加的犯罪数比赢了增加的多, 或者说是竞技运动异化的一个方面。举例来说, 主场比赛失败会增加12%的犯罪数, 而主场赢了仅增加8%。举另外一个例子, 主场比赛输了会增加24%的因醉酒驾车被捕事件, 而赢了仅增加10%。研究显示并没有决定性的证据可以证明比赛的结果与其有关。事实上, 4/5的情形中, 我们无法否认二项分布中“赢”的系数与调整后“赢”的系数是相等的这一假设。基于不同的距离检测体育异常行为实证模型的可替代性, 我们让当地和区域变量和实证数据的队员素质相互影响。当地或者区域异常行为的影响也可以加强, 如果两支球队存在附属的关系。但是在统计上不显著的是新球队的系数在显著水平等级, 这可能与制度法有联系。加入对当地和区域异常行为的影响度量。这种扩展包括当地和区域异常行为以及运动员最近发生的异常行为, 并与胜利百分比对于球队上座率的影响有关。

最后, 我们的研究结果表明了高校橄榄球比赛导致因醉酒驾车和扰乱秩序被逮捕的事件增加了。主场比赛时因醉酒驾车被捕事件会增加13%, 扰乱秩序被捕事件会增加41%, 违反酒业法规被捕事件会增加76%。主场比赛和逮捕事件的这种关系一部分原因是社区在比赛期间增加了额外的警察的保。加强安全应增加其可能性。比如, 抓到或逮捕醉酒驾车的司机。然而, 如果这是唯一的工作机制, 那么比赛的结果将不可能与比赛出现的异常行为数量有关, 除非警方本身对比赛做出了反应。这为体育比赛中的暴力行为提供了解释途径。

摘要:阅读国内外重要研究成果, 建立体育行为的通用模型, 结果表明, 表明了高校橄榄球比赛导致因醉酒驾车和扰乱秩序被逮捕的事件增加了。主场比赛时因醉酒驾车被捕事件会增加13%, 扰乱秩序被捕事件会增加41%, 主场比赛和逮捕事件的这种关系一部分原因是社区在比赛期间增加了额外的警察的保。加强安全应增加其可能性。

关键词:体育行为学,模型建构,赛场行为

参考文献

[1]石岩、吴洋:《我国球场观众暴力风险发生模型及风险管理研究》, 《体育科学》, 2009 (12) 。

[2]黄璐、刘建国:《体育学纯粹理性批判》, 《山西师大体育学院学报》, 2010 (01) 。

[3]黄璐:《论体育赛事运作管理历史知识习得的重要性》, 《湖北体育科技》, 2006, 25 (2) 142-144, 147。

[4]黄璐:《论体育赛事的内涵》, 《首都体育学院学报, 2005, 17 (6) 12-13。

[5]黄璐:《竞技运动异化论逻辑起点商榷》, 《天津体育学院学报》, 2008 (03) 。

[6]黄璐:《博斯曼法案的国际政治经济本质》, 《天津体育学院学报》, 2010, 25 (5) 392-395。

[7]Gibson, S., &Dembo, M.H. (1984) .Teacher efficacy:A construct validation.Journal of Educational Psychology, 76 (4) , 569-582。

基于本体的通用数据交换模型研究 篇8

以此为背景, 本文提出了一种通用的基于本体技术的数据交换模型, 来解决数据交换中数据源之间的结构、语义异构, 并且提出了基于Web Service的数据交换组件驱动ETL引擎[2,3], 完成数据源之间的数据抽取、转换、加载, 实现了不同平台数据源的交换和集成。

1 关键技术分析

1.1 本体技术

本体 (ontology) 最早是在哲学领域“形而上学”分支中的一个概念[4]。伴随着信息技术的不断发展, 本体的概念被引入信息技术、人工智能等领域, 并被赋予了不同的定义。基于不同定义的理解、分析, Studer等概括了本体的下面四层含义[5]:概念化模型 (conceptualization) 、明确 (explicit) 、形式化 (formal) 及共享 (share) 。

本文采用多本体方法[6], 为每个数据源构建对应的局部本体, 通过局部本体之间的映射关系来实现底层数据源的数据交换、共享。

1.2 Web Service技术

Web Service[7]是一种开放式的跨平台分布式应用, 通过发布一系列的Web接口, 来封装具体的功能实现, 屏蔽了系统平台的差异性, 可以方便、快速部署自己的应用系统。

通过Web Service组件的方式对ETL的具体实现进行封装, 就可以屏蔽不同平台、不同数据源之间的差异性, 实现异构系统、数据源之间的数据交换、集成。

2 设计方案

2.1 体系结构

基于本体的数据交换体系结构见图1, 包括如下几个部分。

2.1.1 数据层

包括了不同的数据源, 如oracle、Sql Server等关系型数据库、文本、Excel等非结构数据以及自己定义的文件等。不同数据源之间存在着语义和结构上各的异构, 要想实现不同数据源之间的数据交换和数据共享, 就必须解决这些数据源之间语义和结构上存在的异构问题。

2.1.2 逻辑功能层

该部分主要包括了基于本体的数据交换模型以及基于Web Service的数据交换服务组件。

基于本体的数据交换模型主要用于不同数据源之间的映射关系。根据数据源的关系模型信息构建相应的O-Graph图, 通过O-Graph中衍生出的语义信息构建不同数据源的局部本体。然后, 通过建立局部本体之间表和字段之间的映射关系。

基于Web Service的数据交换组件主要用于提供数据交换服务, 基于ETL技术, 分为数据访问、数据抽取、数据转换和数据加载服务组件。

2.1.3 应用层

主要包括了各个业务部门的应用系统, 他们之间的数据交换和共享主要基于数据层数据源的交换和共享, 通过调用该体系结构中的逻辑功能层, 来实现相应的数据交换和共享。

2.2 本体数据交换模型

本体数据交换模型主要基于图模型O-Graph, 用于发现关系模型语义, 通过发现的关系模型语义信息通过O-Graph自动实现数据源和局部本体之间的创建。

将基于本体的数据交换模型定义为:P= (O, M) 。

O代表从数据源构建的局部本体的集合, 包括了数据交换双方源和目的局部本体, 用公式表示为O={Os, Ot}, 其中, Os代表源数据源对应的局部本体, Ot代表目标数据源对应的局部本体, Os、Ot分别包含了不同数据源对应的模式语义信息, 包括数据源信息、数据源中表结构信息以及表之间的约束关系信息 (如主键、外键、非空、唯一性等约束) 。

3 实现与应用

3.1 数据交换组件

数据交换组件的时序图如图2所示, 该时序图介绍了整个数据交换的流程:首先, 源数据发出请求, 对该请求进行权限验证, 如果符合系统配置的权限, 则将封装好的请求提交到本体数据交换模型, 进行相应的数据源到局部本体以及局部本体之间映射关系的构建, 其次, 根据对应的映射关系将数据转换成目标数据格式文件, 最后, 通过数据加载程序把生成的目标数据文件加载到目标数据库中。

3.2 系统应用

基于此模型开发的通用数据迁移工具采用.NET平台, 使用C#语言编程实现。下图3为数据交换主界面。

4 结语

本文提出一种基于本体的通用数据交换模型, 给出了本体数据交换模型的相关定义, 基于Web Service组件实现了数据源之间的提取、转换、加载。基于本体提出的模型构建的应用系统已经应用到中石油某项目中, 对于企业数据集成、数据交换, 尤其是中石油数据集成、交换问题可以提供一个很好的解决方案, 具有现实意义。

摘要:为解决企业异构数据模型之间数据交换问题, 通过对国内外数据交换技术进行研究, 结合企业数据交换的实际需求, 引入了本体和Web Service技术, 定义了一种基于本体的通用数据交换模型, 给出了本体数据交换模型定义。通过基于Web Service的数据交换组件驱动ETL引擎, 实现了数据交换中的数据处理功能。该交换模型已在中国石油数据交换项目中得到应用, 应用效果良好。

关键词:数据交换,本体,ETL,Web Service

参考文献

[1]肖媛媛.浅谈企业信息孤岛化问题[J].企业导报, 2012 (6) .

[2]康峰峰.基于本体的油田开发领域数据交换模型研究[D].大庆:东北石油大学, 2013.

[3]宋杰, 王大玲, 鲍玉斌.一种元数据驱动的ETL方法的研究[J].小型微型计算机系统, 2007, 28 (12) .

[4]Ansgar Scherp, Carsten Saathoff, Thomas Franz, et al.Designing core ontologies[J]Applied Ontology, 2010, 6 (3) .

[5]Gruber T R.Towards Principles for the Design of Ontogies Used for Knowledge Sharing[J].International Journal of Human&Computer Studies, 1995, 43 (5) .

[6]Natalya F.Noy.Semantic Integration:A Survey of Ontology Based Approaches[J].SIGMOD Record, 2004, 33 (4) .

上一篇:幼儿教师资格下一篇:一、创设情境