APP下载

自适应过滤预测在连接集中器中的应用研究

2016-03-17张文宇周琪云

计算机应用与软件 2016年2期
关键词:权数集中器空闲

张文宇 周琪云

(江西师范大学计算机信息工程学院 江西 南昌 330022)



自适应过滤预测在连接集中器中的应用研究

张文宇周琪云

(江西师范大学计算机信息工程学院江西 南昌 330022)

摘要DB2以线程的方式处理所有事务,利用连接集中器优化线程的资源消耗。针对实际应用中大量连接请求导致的线程资源使用过高问题,建立改进的连接集中器模型,提出并实现在应用服务器上连接集中器的资源预测。通过自适应过滤预测模型构建连接集中器,在保证其高性能的同时,预测代理的资源使用情况,事先分配资源建立代理。测试结果及预测分析表明,改进后的连接集中器有效降低线程的资源消耗,提高事务处理的响应时间,同时保证服务器资源得到合理的分配。

关键词连接集中器时间序列自适应过滤预测数据库

ON APPLYING ADAPTIVE FILTERING PREDICTION IN CONNECTION CONCENTRATOR

Zhang WenyuZhou Qiyun

(School of Computer and Information Engineering,Jiangxi Normal University,Nanchang 330022,Jiangxi,China)

AbstractDB2 database handles all affairs in the form of threads and uses the connection concentrator to optimise the resources consumption of threads. Aiming at the problem of high thread resources consumption in a large number of connection requests in practical application,we built an improved connection concentrator model,proposed and implemented the prediction of connection concentrator resources on application server. To construct the connection concentrator by adaptive filtering prediction model,the scheme predicts the resource usage of agent while ensuring the high efficiency of connection concentrator,the resources are allocated in advance to establish the agency. Test results and prediction analysis showed that the improved connection concentrator could reduce the resource consumption of thread effectively,improve the response time of the transaction request,and ensure the server resources to be allocated reasonably at the same time.

KeywordsConnection concentratorTime seriesAdaptive filteringPredictionDatabase

0引言

DB2数据库在银行、证券等金融行业有着广泛应用,能够为客户提供可靠的数据保障,具有良好的安全性、兼容性和扩展性。更重要的是,DB2数据库拥有稳定的性能,在数据的并行处理、存储优化、分布式访问等方面与其他数据库相比存在着明显的优势。连接集中器是DB2用来优化数据库连接的一种方法。在DB2中,所有事务都是在线程的上下文中进行处理,那么在高容量环境中线程的资源使用情况便非常值得关注。连接集中器将很多数据库连接分插到集中的代理进程或线程上,由这些代理处理传来的任务,以减少大量线程所带来的资源开销。连接集中器不同于我们经常提到的连接池,连接集中器与线程的上下文切换相关。基于实际的事务负载,在不要求外部应用程序断开连接的情况下实现资源重用,决定当事务结束后代理将服务于哪一个应用程序。而连接池与数据库连接本身相关,需要在外部应用程序断开连接后让另一个应用程序重用,决定当连接断开后代理是否与连接保持在一起。现在,由于应用程序往往会建立较长时间的数据库连接(几天甚至几个月),所以连接池已变得不那么重要,而连接集中器则是必不可少的组件。尽管现有的连接集中器在一定程度上可以降低资源消耗,但在并发量大、实时性强的环境中,代理的资源消耗仍然很高,导致事务处理的响应时间过长。

本文从改进连接集中器出发,提出在连接集中器上实现资源消耗的预测方法。即基于自适应过滤模型构建连接集中器,对代理资源的消耗情况进行事先预测,保证现有资源得到更好的利用。

1连接集中器

1.1连接集中器原理

连接集中器的代理池存放着服务于应用程序请求的代理进程。代理进程能够重用外部连接,即多个排队的应用程序可以重复使用一个存在的代理。连接集中器的代理分为逻辑代理和工作代理。逻辑代理对应外部的应用程序连接,工作代理则拥有实际的线程资源,并执行应用程序的事务请求。连接集中器初始化时,代理池内创建少量的代理进程。由于没有外部连接请求存在,代理池中的代理处于待命状态,即为空闲代理;当有外部程序连接到数据库时,空闲代理开始服务这些新建连接而变为协调代理;当事务处理完毕且外部连接断开后,协调代理将重新返回到空闲代理状态。分配器是连接集中器的关键组件,它将入站的连接或事务请求分配给代理进程,并控制连接到代理进程的多路复用。连接集中器允许多个请求同时连接数据库,以减少创建连接的内存消耗,同时避免频繁的删除和创建代理所带来的系统开销[1]。

1.2连接集中器改进

为最大限度减少服务器资源消耗,提高事务处理的响应时间,本文首先对连接集中器进行改进。

建立改进模型如图1所示。模型设计分为三部分:控制单元、数据缓冲区及队列通道。其中控制单元包括预测控制器和代理池,由预测控制器完成对代理池的预测、控制和管理;数据缓冲区为高速存储区域,对外部应用程序的数据进行存储;队列通道则连通于控制单元与数据缓冲区,用来完成数据的传输。

图1 改进模型

模型将控制单元的代理池在逻辑上划分为空闲池和活动池,每个子池与一个信号量关联,每个信号量的引用计数[2]监控子池中的代理数目。由预测控制器替代原有的分配器,根据外部连接请求数提前预测空闲池中的代理数,并分配相应的系统资源。当有外部连接请求时,预测控制器负责将空闲池内的空闲代理转移到活动池中并分配给连接请求。请求完毕或连接断开后,代理将返回到空闲池,代理资源的释放与否也由预测控制器决定(如图2所示)。需要说明的是,所有预测活动均在服务器空闲时完成,并不占用繁忙时段的系统资源。

图2 预测控制器

数据缓冲区利用共享内存临时存储应用程序数据,减少数据在代理进程间的拷贝次数,提高运行效率。模型将数据缓冲区划分一定数量的存储单元,每个存储单元记录一条数据。存储单元定义空闲(Idle)、写满(Full)、读空(Empty)、写回(Write-Back)等四种状态。利用状态间的转换实现进程间的同步互斥,进而避免读写数据缓冲区产生的冲突。存储单元的状态转换如图3所示。

图3 状态转换图

队列通道完成控制单元与数据缓冲区的交互功能。当数据缓冲区的存储单元处于“Full”状态时,将对应存储单元编号发送给队列通道,即有连接请求或事务请求到来。控制单元从队列通道接收编号并分配空闲代理,代理按照指定的存储单元读取数据进行事务操作,操作结束后将结果按编号直接写回相应的存储单元。

2预测控制器

2.1自适应过滤模型

自适应过滤是建立在历史时间序列观测值的基础上进行最优加权平均的预测方法,能够自动调整权数,是一种可变系数的预测模型。基本思路是:通过分析时间序列原始数据,计算初始的权数序列,在预测过程中反复迭代调整权数,过滤掉误差,选择出最佳的预测权数序列,并利用新的权数序列进行未来的预测活动。

模型的形式化[3]表示如下:设x1,x2,…,xt为某一时间序列,则关于时间序列的预测模型为:

(1)

(2)

对自适应过滤模型分析后得出预测过程如下:

(1) 初值和系数的确定

(3) 计算预测误差et+1

2.2基于自适应过滤模型的预测控制器

考虑到实际的业务访问请求往往具有周期性和规律性,同时又可能存在一定波动以及变化趋势,也就是说预测活动受时间因素和具体业务影响。比如在银行业务中每天存在着几个高峰时段,对数据库的访问非常频繁,显然需要更多的代理资源。如果预测控制器仅对当天的代理资源进行全局预测,必然会产生较大的误差及资源浪费。考虑到时间段和误差,本文对预测控制器进行如下构建[4,5]:

(1) 数据处理利用一阶差分和标准化处理公式对训练数据进行无量纲处理,消除数据的趋势和波动。

Δxi=xi+1-xi

(3)

(4)

式中,1≤i≤p,t为预测期数。

(2) 权数调整对权数调整公式进行修改以提高预测精度。

(5)

(3) 预测执行对一天24小时进行半小时分隔,构建48个局部预测对象,利用连续10天内相同时段的数据建立预测模型,完成下一天代理资源的预测。 进行预测时,预测控制器依照图4所示流程执行。当然预测资源是在服务器空闲时进行,而在服务器正常工作时仅完成代理的分配与解分配任务。

图4 执行流程

3测试实验及预测分析

根据连接集中器的改进模型和预测理论,基于Linux平台设计实现连接集中器,并已应用在江西省电子信息产业振兴和技术改造项目中。为验证连接集中器在高容量环境中的性能表现及预测效果,本文模拟大量连接请求进行测试实验,同时分析实际应用过程中的预测效果。

3.1测试环境

测试环境包括1台数据库服务器、1台应用服务器和3台压力测试机,所有配置均为Intel i3-2130 3.40 GHz处理器,2 GB内存。两台服务器均运行RedHat Enterprise Linux 6.4,测试机运行Windows XP,数据库为DB2 V9.7,连接集中器部署在应用服务器上。HP Loadrunner 11作为测试工具用来模拟大量连接请求,同时利用rstatd service监控系统资源的使用情况。

3.2测试分析

本文共设计两组测试实验,分别对改进连接集中器和DB2内置连接集中器进行对比测试,分析其处理能力、响应时间及资源使用情况。将DB2内置连接集中器的主要参数进行配置[6]:MAX_CONNECTIONS=300,MAX_COORDAGENTS=100,NUM_INITAGENTS=100,NUM_POOLAGENTS=100。测试结果如图5和图6所示,对比发现改进连接集中器性能明显优于DB2内置连接集中器,尤其在响应时间方面有较大提升。

图5 处理能力

图6 平均响应时间

测试过程中系统资源的使用情况如表1和表2所示,对比分析得出,改进后连接集中器使数据库服务器的User CPU使用率大幅下降,应用服务器User CPU使用率略有升高,而Memory和System CPU使用率两者则几乎相同。改进的连接集中器降低了数据库服务器的资源消耗,释放出更多的资源。

表1 改进连接集中器资源利用率

表2 DB2连接集中器资源利用率

3.3预测分析

选取实际应用过程中连续20天内9:00至9:30时刻的数据进行预测分析。由前10组数据建立初始预测模型,此后每连续10组数据进行训练来调整权数,并预测下一期的代理数。取学习常数k=0.00000038,4个权数φ1,φ2,φ3,φ4,对数据训练后生成初始预测模型为:

根据以上模型进行第一次预测,经过多次权数调整后再重新执行预测,整个预测过程如图7所示。

图7 预测分析

从图7可以看出,自适应过滤预测模型对代理资源的预测具有较高的精度,预测曲线接近于实际曲线,且计算得出其拟合精度[7-9]达90%,迭代调整次数约为800次。也就是说,连接集中器能够快速、高效地预测代理资源的使用情况,提前分配代理来服务于连接请求,保证了系统资源的合理利用[10]。

4结语

本文针对DB2数据库在实际应用中存在的资源分配问题,在现有连接集中器的基础上进行改进,引入自适应过滤预测模型,最大限度降低资源的消耗,保证资源的合理分配。测试结果及实际应用表明,改进的连接集中器使服务器的资源消耗和响应时间得到明显改善。今后的工作将进一步分析连接集中器在高实时性、高并发性下的优化规律,同时研究对各种异常情况的处理机制。

参考文献

[1] 吕健波,戴冠中,幕德俊.绝对延迟保证在Web应用服务器数据库连接池中的实现[J].计算机应用研究,2012,29(5):1838-1841.

[2] 罗荣,唐学兵.基于JDBC的数据库连接池的设计与实现[J].计算机工程,2004,30(9):92-93,111.

[3] 徐国祥.统计预测和决策[M].上海: 上海财经大学出版社,2012.

[4] 田占伟,刘臣,王磊,等.基于模糊PA算法的微博信息传播分享预测研究[J]. 计算机应用研究,2014,31(1): 51-54.

[5] Yanyan Zheng,Renzuo Xu. An Adaptive Exponential Smoothing Approach for Software Reliability Prediction[C]//WiCom’08.04th International Conference,2008,1-4.

[6] 牛新庄.DB2数据库性能调整和优化[M].北京: 清华大学出版社. 2009.

[7] 马华林,李翠凤,张立燕.基于灰色模型和自适应过滤的网络流量预测[J].计算机工程,2009,35(1):130-131,152.

[8] 马华林,张立燕.基于自适应过滤法和马尔柯夫链的网络流量预测方法[J].计算机应用与软件,2009,26(12): 216-218.

[9] 赵飞.基于残差自回归和自适应过滤的生活能源消费量组合预测模型[J].统计与决策,2010(3),162-163.

[10] 陶庭叶,高飞,吴兆福.自适应过滤法及其在大坝监测中的应用[J].测绘科学,2009,34(5): 181-182.

中图分类号TP311

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.02.015

收稿日期:2014-08-14。江西省电子信息产业振兴和技术改造项目(2013- 260)。张文宇,硕士生,主研领域:网络与数据库。周琪云,教授。

猜你喜欢

权数集中器空闲
微观调查数据抽样权数的可忽略性检验及实证研究
“鸟”字谜
猪肉在CPI中的权数被调低了吗?
猪肉在CPI中的权数被调低了吗?
西湾村采风
权数可靠性的假设检验探讨
彪悍的“宠”生,不需要解释
谈低压集中器及表计在线故障快速排查方法
集中器常见死机原因分析及解决方法探究
WLAN和LTE交通规则