Redis MMDB在城市垃圾清运监管系统中的研究与应用

2016-06-08 05:48肖元缜苏厚勤
计算机应用与软件 2016年5期
关键词:垃圾清运数据服务内存

肖元缜 朱 明 苏厚勤 徐 畅

1(东华大学计算机科学与技术学院 上海 200051)2(安徽建筑大学政法学院 安徽 合肥 230601)



Redis MMDB在城市垃圾清运监管系统中的研究与应用

肖元缜1朱明1苏厚勤1徐畅2

1(东华大学计算机科学与技术学院上海 200051)2(安徽建筑大学政法学院安徽 合肥 230601)

摘要数据存储和使用设计是应用软件系统的关键设计部分之一,关系到系统的业务处理、功能分解和应用性能。在分析原系统组成和B/S构架模式中页面链接结构特征基础上,提出和设计了一种内存数据库应用存储模型和基于Markov决策模型的数据调度策略,通过JavaEE技术框架予以编程实现。实际应用表明,研究、设计和描述的内存数据库应用技术与数据调度策略具有数据访问命中率较高、响应速度快和数据灾备恢复机制的技术特点,达到了设计预期目标。

关键词内存数据库城市垃圾监管数据交换策略页面分析

0引言

随着我国城市规模拓展和城镇化建设步伐加快,我国城市垃圾的产生量日益增长,据统计,自1979年以来,城市垃圾的产生量达到平均每年8%~10%的增长速度[1]。但是由于缺少有效的生活垃圾监管途径,使得垃圾收集、运输效率低下[2],全国多个城市已经处于垃圾无法及时清运和处理的尴尬境地。因此,如何采用现代化信息技术手段,对城市生活垃圾的清运和处理流程进行更高效地监控和管理,越来越受到各级政府部门的重视和社会各界的关注。

文献[3]提出了基于地理信息系统GIS和物联网技术的餐厨垃圾管理系统。该系统使用射频识别RFID技术和传感器技术来进行餐厨垃圾数据的采集和标识,通过GIS系统对餐厨垃圾清运过程进行定位监控。文献[4]利用红外感应技术采集垃圾信息,实现了对垃圾的分类收集和处理。

本文设计的城市垃圾监管系统,运用GIS、RFID等技术,将采集到的垃圾站相关信息数据、车辆载重数据和位置等相关数据,封装成消息报文通过通用分组无线服务GPRS通信方式传输给后台管理系统,并能够对系统中的监管设备发送控制指令,达到对城市生活垃圾的清运和处理流的有效监控和管理。在实现中,本文提出采用内存数据库技术来存储系统日常处理需要的“热点”数据,尽可能满足系统并发处理的生产、应用需要,进而提高整个监管系统的处理性能。

1系统概述

1.1系统构架模式

本文描述的城市垃圾监管系统,以物联网技术为基础,完整监管从垃圾产生、车辆清运和卸载的整个过程,相关管理人员和操作人员可以通过浏览器方便、快捷地获取城市生活垃圾信息和监管垃圾清运过程。设计与实现的系统构架模式如图1所示。

图1 系统的构架模式视图

系统主要分为两层:

1) 设备层。由车载设备和后台设备组成。

车载设备功能是根据预设的通信传输参数,将采集到的数据封装成消息包,通过GPRS通信方式发送给后台管理系统,并接收来自后台管理系统参数数据和控制指令数据。采集的数据有两类:①安装在各类垃圾站点的射频识别电子标签RFIDET(electronic tag of RFID)所包含的垃圾站的相关信息数据;②通过传感器自动采集车辆载重数据和车辆位置等相关信息数据。

后台设备安装在后台管理系统机房,通过标签打印机打印含有系统唯一编号和垃圾站点相关信息的射频识别电子标签RFIDET,作为垃圾站等作业点和车载设备的唯一识别凭证。

2) 后台管理系统层。由一系列服务器、工作站和Web客户端等组成,主要完成对系统中的各类数据进行处理、存储、使用和查询统计展现,其中包括:

• 生活垃圾清运数据,包括生活垃圾称重数据和车载设备运行状态数据,从设备层接收;

• 参数数据,由监管子系统发送给设备层的车载设备,是控制车载设备运行模式的数据;

• 控制数据,是监管子系统和车载设备间为实现某一特定任务而产生的一组数据,包括监管子系统发送给车载设备的指令数据包和车载设备执行指令后向监管子系统返回的执行结果数据包;

• 用户数据,系统管理人员和操作人员的相关数据,包括管理人员和操作人员的自身属性、系统权限和操作记录三方面的数据内容。

1.2后台管理系统模块划分

图2 后台管理系统功能模块视图

考虑到系统的扩展性和分布式部署需求,将后台管理系统划分为监管子系统和数据管理子系统,组成各子系统的功能模块划分如图2所示。

监管子系统。主要完成生活垃圾数据、菜蔬数据、控制数据以及用户数据的信息处理和展现。监管子系统采用基于TCP/IP协议的GPRS通信方式与车载设备进行通信,一方面,对接收到的消息包通过循环冗余校验码进行校对、根据预定规则对消息包的数据内容进行解析;另一方面,向车载设备发送指令参数消息包和控制指令消息包,实时控制车载设备运行模式。

监管子系统通过基于TCP/IP协议的远程过程调用协议RPC(Remote Procedure Call Protocol)与数据管理子系统进行通信,实现数据存取,支持系统日常管理以及前台监控界面的展现功能。

2)数据管理子系统。以封装的形式将整个系统中的数据访问服务独立出来,对外提供数据服务接口以供监管子系统调用,屏蔽了数据库存取的细节信息,便于以后功能扩展。对每个数据服务接口,在数据管理子系统内部都有对应的具体实现,实现中对数据服务接口传入的参数合法性(如参数范围、类型)进行验证,验证通过后再根据预先写在文件中的模板,将参数和模板组合成具体的数据查询语句发送给数据库;按照接口约定的形式对数据库返回的数据进行重新组合后,返回给外部系统。

1.3系统关键问题分析

数据管理子系统以内存数据库作为主要存储器,利用其吞吐量大、存取速率快的优势保证系统的数据服务性能[5];同时采用磁盘数据库作为备份存储器,提供数据的持久化存储服务。数据管理子系统接收到数据访问请求后,处理流程如图3所示。

图3 数据访问流程图

系统接收到数据访问请求后,将先在内存数据库查找,若目标数据存在,则直接将目标数据返回给外部系统;若目标数据不在内存中,则从磁盘数据库中将目标数据调入至内存,再将目标数据返回给外部系统。

在图3所示的数据访问流程中,主要存在下述3个问题需要解决:

(1) 内存不足

内存是相对昂贵的存储介质,在实际应用系统中,能够使用的内存容量相对很有限;相比之下,在系统开始运行后,生活垃圾清运数据处于不断增多的过程中,内存数据库无法将大量的生活垃圾清运数据一次性全部容纳进去。

(2) 数据服务性能

监管子系统的前台展示模块中提供了当前城市生活垃圾清运状态监管功能,由于城市垃圾清运状态在不断变化,前台展示采用了定时轮询模式,即以一定频率,按照固定的时间间隔通过通信模块调用数据服务接口,向数据管理子系统发送RPC请求,获取与垃圾清运情况相关的最新数据,将生活垃圾清运数据的最新情况展现在监管桌面。为了保证展示的省垃圾清运数据具有高实时性,轮询的时间间隔必须尽可能小。在系统访问高峰期,由于多个客户端同时接入监管子系统进行监控操作,将在监控子系统和数据管理子系统间产生高并发量地数据访问。

根据图3所示的数据访问流程,城市垃圾清运数据在内存中被访问到的命中率是影响数据服务性能的重要因素。若监管子系统每次请求的清运信息数据都存在于内存数据库中,数据存取行为将仅仅发生在内存中,此种情况下数据服务性能达到最好;但若外部系统每次数据访问请求都无法直接从内存数据库中获取数据,此种情况下由于多了一次将数据向内存数据库的读取迁移操作,数据服务性能甚至于比单纯的磁盘数据库存储机制差。如何保证和提高垃圾清运数据信息在内存中被访问到的命中率,是影响监管子系统和数据管理子系统所有数据服务性能的重要因素。

(3) 掉电时内存数据安全

内存是一种易失性的存储介质,在出现软件出错、设备或电源故障时,内存中数据的可信性面临危机或直接被丢失。如何保证在系统发生故障后,能将内存中的数据恢复到故障发生前的状态,是影响系统数据服务可靠性的一个技术难题[6]。

2内存数据库应用设计

2.1一种内存数据库应用存储模型设计

如图2所示,监管子系统的所有在线生产应用功能均依附数据管理子系统的数据存储结构和封装好的数据查询服务机制实现,传统的完全通过访问磁盘数据库的做法易产生I/O瓶颈,不能很好地支持并发访问。

内存数据具有易失性的特点,当内存中的数据发生改变时,可以采用图4所示的一种内存数据库应用存储模型将数据变化的日志记录下来并及时地存放到磁盘文件中。一旦系统中支持内存数据库应用的设备发生故障,可以通过磁盘数据库中的备份数据和日志文件对内存数据库进行恢复。

在图4 所示的存储模型中:M1是内存数据库,作为数据管理子系统数据的主要存储实体,数据读写操作都在M1上进行;M2是内存中的一块存储区域,存放M1的事务日志;M3是磁盘数据库,作为监管系统的备份数据存储实体;M4是磁盘日志文件。当事务对数据进行更新时,首先在M1上进行修改,并将事务日志写入到M2中,设定一个较短的时间间隔将M2的日志同步到磁盘文件M4内。一旦内存占用率到达预设阈值时,启动磁盘同步过程,将M1和M2中的数据同步到磁盘数据库M3中,在M4中写入同步时间点并清空M2中的日志记录。

图4 一种内存数据库应用存储模型图

一旦系统发生故障造成内存数据丢失,可以通过M3中数据内容和M4中的日志文件记录,将对应时间点后的数据更新在M3中进行恢复,再将M3内的数据拷贝至M1中,从而在提升数据服务性能的情况下,也保证了数据服务的可靠性。

图4 所示的内存数据库应用存储模型为应用内存数据库的可靠性提供了一种内存数据故障或丢失的恢复处理机制。

2.2数据交换策略设计

由于系统中可用内存容量受到实际情况的限制,只能将部分数据常驻内存数据库以支持在线生产应用。在这种情况下,外部系统在一个工作日内的数据访问请求在内存数据库中得到目标数据反馈占所有访问请求的比例,即命中率,是衡量内存数据库服务性能的一个重要指标。因此,必须采取一种数据调度策略,尽可能多地在数据访问请求到来之前将该请求所需的数据调入到内存中。

监管子系统的所有在线生产应用功能均采用B/S(Browser/Server)架构,管理人员和操作人员在系统中的监控行为,主要通过访问Web服务器所提供的一系列监控页面来实现。这些页面间通过超链接的方式连接起来,以供相关人员根据监控目标进行跳转。通过对城市垃圾监管系统内的页面进行初步分析后发现,各个页面中的超链接存在差异并且页面展示的数据对象相对确定,系统中页面跳转行为的结果,仅与当前所处的页面有关。

Markov决策模型是一种在不确定环境下的序列决策模型,该模型通过建立概率转移矩阵,根据系统当前时刻所处的状态在矩阵中所对应的位置,来预测系统在下一时刻将会发生的状态变化[7]。监管系统中页面之间的关系完全满足Markov决策模型的应用场景,通过以下四步,可以将Markov决策模型应用到系统之中,支撑系统的数据调度策略:

1) 将系统中的每一个页面作为Markov模型的一个状态空间,通过预估评价分析页面之间的链接关系,初步建立页面关系矩阵;

2) 分析页面中所展示的数据内容,获取页面与系统数据间的映射规则,并将系统数据按照页面映射规则划分多个数据子集;

3) 根据第2)步所得的映射规则,对第1)步中的页面关系矩阵进行变换,得出概率转移矩阵,并使用对应的数据子集替换页面成为新的状态空间;

4) 在系统运行时,根据系统中实际产生的页面跳转行为,对概率转移矩阵进行调整,保证概率转移矩阵能动态地适应系统的变化。

以上分析表明,可以根据Markov决策模型,建立页面数据预估评价体系,通过系统当前所处的状态空间,将系统所有数据中下一时刻“最有可能”被访问的数据预先调入到内存,提高访问请求所需目标数据驻留内存的概率,提高数据服务的性能。

2.3页面对象数据预估分析

在城市垃圾监管系统中,操作人员通过Index主页进入系统。从Index页面开始,沿着每一级页面中的链接逐步查找目标内容,即目标页面。

查找目标页面的过程概述如下所述:

步骤1:从Index页面查找目标页面内容;

步骤2:若当前页即为目标页或当前页面没有超链接标志,转步骤4;

步骤3:点击当前页面的超链接,转步骤2;

步骤4:查找结束。

图5 页面链接关系图

所有页面均可从Index主页出发,经过一个或多个链接跳转找到需访问的目标页面。通过对系统中各层页面的链接标志符“href”的分析,可获取页面之间的链接关系如图5所示,为方便表述这里仅设页面总数为7,用元组表示。元组中的每个元素表示系统中的一个页面,如图5所示,箭头代表页面之间的跳转关系。

把系统中的所有页面进行统一的数字顺序编号,根据页面链接关系,可以建立起n阶页面关系矩阵A(aij)nxn,其中aii=0(i=1,2,…,n),矩阵中行、列为系统中所有页面的顺序号,元素aij为序号i的页面链接序号j页面的权重值。初始aij取值为1,表示页面i链接页面j,反之为0。

2.4数据映射转换

因为页面展示的数据对象固定,数据内容随时间动态变化,因此页面和数据库表的数据之间存在映射关系。记某页面i,其在数据库表的一个数据对象集可以记为Di与之对应。根据不同的业务应用,可以将数据对象集划分为下述两类:

1) 同一业务应用中不同时期的数据对象集。这类数据对象集主要因历史数据积累而成。由于同构数据量大,通常按时间序采取分页显示机制。

页面Pi按时间序采用分页机制的数据集Di,不失一般性地可简洁表示为:

(1)

其中tinit为系统最初的收集数据时刻,tnow为当前时刻,t为页面的查询时刻,其默认值为当前时刻,Qt为t时刻页面中所需要展示的数据对象集。

2) 不同业务应用的数据对象集。这类数据对象集划分主要因为所对应的业务应用不同而形成,集合之间的关系是数据调度策略的基本依据。根据2.3节所得的n阶页面关系矩阵A,通过式(2)将其转换为数据对象集的概率转移矩阵A*。

(2)

2.5数据调入策略

在系统运行过程中,由系统随机生成会话识别号标识操作人员进入系统后的访问过程。当数据访问请求到达时,执行下述流程步骤进行数据调入:

1) 若该请求所对应的数据对象集合存在历史数据,则根据式(1)将对应的数据对象集Di调入内存,转步3);

2) 直接将页面所需的数据对象调入内存;

4) 根据会话识别号,获取实际发生的页面跳转行为,将页面关系矩阵A中的对应项加1;

5) 根据系统的实际运行情况设置两个时间阈值T1和T2,T1≪T2,每隔T1时间根据动态变化后的页面关系矩阵A通过式(2)更新概率转移矩阵A*;每隔T2时间对页面关系矩阵A中所有的元素值减半。

上述流程步骤是用于数据对象集Di的动态调入调入策略。其中采用了数据访问满足“80-20”规律[8]的概率预估值,具体反映在第3)步。此外,第5)步A中元素值减半操作可以保证并发访问时由页面跳转引起A矩阵元素值增长过快而引起数据调入预估失真,防止系统频繁作无谓的数据调入操作。

2.6数据调出

当内存占用率到达预设阈值时,应该执行数据调出策略来释放内存空间以保证后续的数据调入。为避免调出过程产生磁盘I/O瓶颈,本文提出数据调出策略要求被调出内存的数据集满足下列准则:

1) 最新接收的垃圾清运信息数据不应调出内存,根据系统中可使用的内存容量大小,可以设定数据的存活时间T。设备层上传的最新垃圾清运信息数据反应了垃圾清运的实时情况,属于系统重点关注的数据,极易成为系统的监控应用访问对象,应在T时间内保存在内存数据库中;

2) 被访问活跃的数据集不应调出内存,当操作人员访问系统时,系统为每个操作人员分配了唯一的会话识别号。在该会话识别号失效前,由其最后一次数据访问请求而调入的数据集称为活跃数据集。根据前文所述的Markov模型,活跃数据集极易在下一时刻被系统访问到,因此不应将活跃数据集调出内存。

在内存中不满足以上两点准则的数据集都应在执行数据调出策略的过程中被写入到磁盘内。

3实践与分析

本文研究的内存数据库应用存储模型和内存数据调度策略采用开源Redis内存数据库予以实践。城市垃圾监管系统上线运行后,通过命中率和响应时间两个方面来衡量系统性能。

图6 数据请求命中率曲线图

图6结果显示系统每天请求访问的数据命中率基本维持在75%左右,处于比较高的水平,大部分的数据请求都可以从内存中获取目标数据。

数据访问响应时间也是系统一个关键指标,它能从一定程度上反映数据调度策略的效果。通过数据管理子系统每个接口的响应时间,经过系统运行一个月后,结果如图7所示。

由图7可明显看出,数据服务接口的响应时间保持在40至60毫秒时间之间,数据管理子系统接口性能良好,能很好地支撑整个系统的监管需求。

图7 数据服务接口响应时间曲线图

4结语

本文针对大型城市垃圾监管系统数据存储和请求访问的性能问题,提出、实践和描述了一种内存数据库应用存储模型。通过B/S构架软件系统中代表数据访问对象的页面超链接结构分析,提出一种基于页面链接系数矩阵和Markov决策模型概率转移矩阵的内存数据调度策略,用于内外存数据库之间的数据调度。

本文研究的内存数据库应用存储模型和数据调度策略被部署在城市垃圾清运监管系统中的应用实践表明,在并发访问高峰时段的性能明显得到改进,命中率和访问性能均达到了设计预期目标。

参考文献

[1] 薛朝红,薛岚.城市垃圾的处理对策[J].中国卫生工程学,2005(2):103-104.

[2] 余宁.物联网技术在垃圾收运监管体系中的应用[J].环境工程,2013,31(4):130-132.

[3] 尚利堃,杜明义,靖常峰,等.基于GIS和物联网的多部门协同式餐厨垃圾管理[J].智能处理与应用,2013(5):73-75.

[4] 李祥.基于物联网技术的再生资源管理信息平台研究[J].现代情报,2011,31(12):2406-2413.

[5] 刘云生,李国徽,肖群.实时内存数据库的数据交换策略及评价[J].计算机研究与发展,1999,36(5):865-869.

[6] 王明中,谢剑英,陈应麟,等.大宗数据实时处理优化方法的研究及应用[J].计算机应用与软件,2006,23(5):46-48.

[7] 胡迪鹤.随机环境中的Markov过程的构造及等价定理[J].中国科学:A辑,2004,34(3):268-282.

[8] 刘云生,李国徽.实时内存数据库的装入[J].软件学报,2000,11(6):829-835.

ON Redis MAIN MEMORY DATABASE IN URBAN GARBAGE REMOVAL SUPERVISION SYSTEM AND ITS APPLICATION

Xiao Yuanzhen1Zhu Ming1Su Houqin1Xu Chang2

1(SchoolofComputerScienceandTechnology,DonghuaUniversity,Shanghai200051,China)2(SchoolofLawandPolitics,AnhuiJianzhuUniversity,Hefei230601,Anhui,China)

AbstractDesign of data storage and usage is one of the key parts of application software system,which affects business management,functional decomposition and application performance of the system.On the basis of analysing original system composition and the webpages link structure features in B/S architecture model,we proposed and designed a main memory database application and storage model and a Markov decision-making model-based data dispatch strategy,and programmed and implemented them by the JavaEE technical framework.Actual application indicated that the main memory database application technology and data dispatch strategy we studied,designed and described had the technical characteristics of high hit rate of data accessing,quick response and data backup and recovery mechanism,and achieved the expected target of the design.

KeywordsMain memory databaseUrban garbage supervisionData exchange strategyPage analysis

收稿日期:2014-12-25。肖元缜,硕士生,主研领域:计算机应用技术。朱明,副教授。苏厚勤,教授级高工。徐畅,硕士生。

中图分类号TP3

文献标识码A

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

猜你喜欢
垃圾清运数据服务内存
地理空间大数据服务自然资源调查监测的方向分析
“春夏秋冬”的内存
解决城市环卫作业扰民问题的思考与实践
三江农商行向乡村捐赠清运车
压缩式垃圾车技术改造见成效
如何运用税收大数据服务供给侧结构性改革
基于频繁子图挖掘的数据服务Mashup推荐
形形色色的垃圾清运专用车——HEIL全系列垃圾车掠影
内存搭配DDR4、DDR3L还是DDR3?
一种基于数据服务超链进行情景数据集成的方法*