你现在位置:首页>技术论文>软件知识>正文
关于变化压缩算法的展开讨论[上]
日期:2008-5-3 15:19:28 来源:本站整理  
点击: 作者:
点击【】放大字体.
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

我在文章《关于实时数据库开发人员的面试题》提到,死区压缩的算法原理是:一段按时间顺序从小到大排列的数据,只有前后数据变化的绝对值超过常量COMPRESS_RATE才被保存,这个死区压缩的算法原理应该非常简单,我们就从这里开始,展开一些纯理论的讨论吧。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

如果常量COMPRESS_RATE非常小,比如,COMPRESS_RATE是0.000001,则形成了新的压缩算法:变化压缩算法,变化压缩算法的基本思想是,数据只在变化时才被处理,这个处理的范围非常广,可以是压缩、传输、条件触发等等。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

变化压缩算法更加简单,但在工业现场经常用到,它的存在价值是基于流程行业的以下三个方面的特点:
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

1、在工业现场,有相关一部分数据,在一定时间范围之内数据值不会发生变化;
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

2、在一定周期内,不是所有的数据都会产生变化;
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

3、在工业现场,有相关一部分数据,如开关量,或整型变量(如有载调压装置的档位等),它们的值变化是跳变,而不是连续变化的;
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

一般情况下,可以在以下几个地方采用变化压缩算法:
——可——编——程——控-制-器-技——术——门——户

1、数据采集程序,只在数据变化时,才将数据传往主程序(比如传入实时数据库);
WWW_P※LCJS_CO※M-PLC-技-.术_网

2、网络通讯程序,只在数据变化时,才将数据发送给网络通讯部分;
WWW_P※LCJS_CO※M-PLC-技-.术_网

3、实时数据库内核,只在数据变化时,才通知客户端进行处理;
WWW_PLCJS@_COM%-PLC-技.术_网

4、......
WW.W_PLC※JS_C,OM-PL,C-技.术_网

这些地方采用变化压缩算法,都是基于这种思路:采用一种简单的算法,以便获得以下效果:
WWW_P※LCJS_CO※M-PLC-技-.术_网

1、减少数据处理量;
WW.W_PLCJS_COM-PLC-技.术_网

2、减少网络传输量;
W1WW_P4LCJS_COM-PLC-技.术_网

3、提高数据访问速度(客户端不需要循环处理所有的变化,只需要处理变化的数据,以事件处理的逻辑替代循环处理逻辑);
WWW_PLCJS_COM-PLC-技.术_网

4、......
WWW_PL※CJS_COM-PLC-技.术_网

因此,变化压缩算法在工业监控软件中,是一项应用得非常广泛的技术,当然,平常的软件中,没有专门提出这一概念,而且,变化压缩算法通常是与其它概念一并出现的:
WWW_PLCJS_COM-PLC-技.术_网

1、事件订阅和事件通知:只要数据变化时,才向关心此变化的客户端发布变化通知;
WWcW_PLCJS_COM-PLC-技.术_网

2、本地缓存或本地映射:数据表在本地有一个完整的映射,平常用户访问该映射表,变化通知后更改部分数据;
WWW_PLCJS@_COM%-PLC-技.术_网

3、网络发布机制:与事件通知的逻辑差不多,只是需要跨网络,有时还需要跨操作系统;
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

我们今天不讨论变化压缩算法的更复杂的内容,只讨论一个在变化压缩算法中容易忽视的一个细节。
WWW_P※LCJS_CO※M-PLC-技-.术_网

让我们以一些实际数据为例来进行说明,假设有一段数据(以下说明中,都省略了时间项):0,10,10,10,10,20,如果采用变化压缩算法处理,该处理哪几点数据?
WWW_PLCJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

有两个方案:
P.L.C.技.术.网——可编程控制器技术门户

第一种方案:0,10,20;
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_PL※CJS_COM-PLC-技.术_网

第二种方案:0,10,10,20;(我们就将第二个10称为拐点吧)
WWW_P※LCJS_CO※M-PLC-技-.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

大家都会认为,第二种方案是合理的,它真实地纪录了数据变化的特征值,但是,我们会问如下一些问题:
WWW_PL※CJS_COM-PLC-技.术_网

1、我们在实际处理过程中,有没有选用第一种方案的?
WW.W_PLC※JS_C,OM-PL,C-技.术_网

2、第一种方案在哪些情况下使用?
WWW_PLCJS@_COM%-PLC-技.术_网

3、第一种方案会带来什么好处,会带来什么副作用?
WWW_P※LCJS_COM-PLC-)技.术_网

4、如果解决这些副作用?
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

5、如果选择第二种方案,如何实时地、正确地处理拐点?
WW.W_PLC※JS_C,OM-PL,C-技.术_网

一晃又到晚上23:00了,先写到这儿吧,希望明天有时间将后续的内容写完。我已有好几篇文章写了待续却没有继续下去,总而言之,还是人懒呀。
WWW_PLC※JS_COM-PmLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行