设计的东西怎样记录便于后续如何查找聊天记录

文档分类:
在线文档经过高度压缩,下载原文更清晰。
淘豆网网友近日为您收集整理了关于1∶50000正射影像数据检查库设计及实现的文档,希望对您的工作和学习有所帮助。以下是文档介绍:1∶50000正射影像数据检查库设计及实现 1:50 000数据库更新工程、文章编号:012)02—0025._05 中国分类号:TP753 文献标识码:B1:50 000正射影像数据检查库设计及实现朱秀丽,王发良,张宏伟,程滔,路平(国家基础地理信息中心,北京100830)擅要:国家1:50 000基础地理信息数据库更新工程正射影像数据库是1:50 000数据库更新工程建设的重要组成部分。为保证正射影像数据各项指标符合项目设计要求,保证入库数据的质量。并为今后进一步更新提供依据,设计正射影像数据检查库.并在1:50 000 DOM更新工程中实施和应用.实现了正射影像数据入库检查的程序化处理和自动质量评判。关t词:正射影像;检查库;数据检查;质量评定Design and Implementation of DOM CheckingDatabase for Updating 1:50 000 Topographic Database删)【iu—li,WANGFa-Ha略ZHANG}h唔一们i,C胍NG 1如.LU Pillg(N“∞aI Ge鲫ati∞center (来源:淘豆网[/p-3296745.html])0f China,Be硒iIlg 100830,CIIiI岫Abstract:The high resoIution digitaI ortho—image database is an important part for“Pdatingnationall:50 000 lopographic dalabase.In orderto ensure DOM data meeting technicalindex,assure its quality,and provide reference for“rther updatin昏thi8 paper designed lhe DOMchecki“g database,and applied in the implementation of 1:50 000 DOM updati“昏And itrealized the program processing and auIomatic quality evaluating for onho ima(来源:淘豆网[/p-3296745.html])ge databasewarehousing check.Key words:D0】 ̄I;checking databas喵data checl(;quality asBessment0引言1:50 000影像数据库建设工程收集和采用的资料繁杂、技术方法新、作业模式复杂.而且工程周期长、参与生产的单位多。这些因素造成了工程质量控制工作量巨大、情况复杂、处理技术难度高,传统的质检手段难以适应本工程成果质量控制要求。同时,质量评价和质量报告的自动化完成是正射影像数据检查之后迫切需要的工序。此外。方便快捷地回溯和查找数据质量真实记录的需求,在l:50 000影像数据库建设工程中也日益突出.而传统的记载数据质量方式已经不适应新技术的发展。基于上述原因。设计了满足程序化质量检查和控制的正射影像检查库,并研制了正射影像数据质量检查工具软件。1 1:50 O∞影像数据检查库设计针对正射影像数据检查的主要内容。同时考虑到数据的质量评价和后续更新工作的需求,设计了满足程序化质量检查和控制的影像检查库.为正射影像(来源:淘豆网[/p-3296745.html])数据质量检查工具软件开发提供了数据库基础。1.1 1:鳓0∞影嘲翻尉叠瘟的内容正射影像数据入库检查验收包括三部分:数据体;元数据;相关文档。酬—o朱秀_(1盯.5一).女.江西安福人.高级工程师。磺士.主要从事GIS工程与地圈制图、地理信息标准等方面的工作。E—ma¨:曲u’‘I删@n鲥I.口aV.∞收稿日期:201加3.101)数据体检查数据体检查包括成果分幅影像数据及中间成果分景影像和空三加密成果检查验收。这部分是检查验收的重点,内容涉及数据完整性检查、数学基础与分幅检查、影像数据精度检查和影像质量检查几个方面。数据完整性检查:检查各生产单位上交的数据和文档在形式上和内容上是否完整,是否符合资料上交的要求。主要检查分幅正射影像文件及其地理坐标头文件、元数据文件的文件命名、数据格式和文件目录组织结构是否符合要求;检查分景正射影像文件及其地理坐标头文件、元数据文件的文件命名、数据格式和文件目录组织结构蒋燃燃圆2012“ No 2 GEo№TIcsw∞LD■■=E_万方数据z!望里竺塑(来源:淘豆网[/p-3296745.html])塑塑壁里堑三堡是否符合要求;检查影像文件及其地理坐标头文件、元数据文件能否被正确完整地打开读取,防止因数据存储介质损坏和数据拷贝错误等原因引起的数据缺失、丢失。数学基础与分幅检查:检查正射影像数据所采用的平面坐标系、高程基准和投影带是否符合1980西安坐标系、1985国家高程基准、60分带高斯投影。检查每幅影像的图幅范围和外扩宽度是否满足数据技术规定的要求。同时检查影像地面分辨率、色彩模式和像素位数是否满足数据技术规定要求。正射影像数据精度检查:检查影像定向精度、平面精度和接边精度是否满足数据技术规定的要求。正射影像质量检查:检查正射影像纹理是否清晰、反差是否适中、色调是否均匀一致、彩色影像的色彩是否接近真实颜色。统计出影像的直方图。利用直方图检查影像是否大致成正态分布。同时检查影像是否存在影像反差失常、地物细节表现力差和影像拼接存在问题的情况。2)元数据检查验收元数据是对数据体说明的数据,主要检查对数据的各项描述是否正确。包括数据基本信息、数据源信息、数据生产过程信息、数据分发信息等描述项是(来源:淘豆网[/p-3296745.html])否与数据体一致。数据基本信息中描述数据必要特征。如图号、分辨率、色彩模式、数学基础等;数据源信息中描述影像几何特征,如航摄比例尺、分辨率等;生产过程信息中描述生产过程中精度特征、所选用处理方法和模型等:数据分发信息是否为缺省值。3)相关文档检查验收除数据体和元数据之外的有关技术文档,如专业设计书、技术总结、检查验收报告、图幅结合表、26 地理信息世界l v、~州..cNGEoMATIcs woRLD r]面砭百r1而1一资料清单、图幅清单等内容的检查验收也是入库前检查的一项重要内容。1.2设计原则为了保证国家l:50 000基础地理信息数据库更新工程正射影像数据质量,满足矢量库的更新要求.设计影像质量检查库主要遵循实用性、兼容性和网络化的原则。1)实用性影像数据检查库主要适用于1.3概念模型设计1:50 000更新DOM影像数据检查库设计考虑与影像本体库的互动性.并结合影像数据源的情况,利用影像数据、信息文件、元数据文件的内容特征及其之间的数据关联和逻辑关系设计检查库。根据影像数据检查的主要内(来源:淘豆网[/p-3296745.html])容可知影像检查库包括数据体检查信息、元数据的检查信息,整景1:50000影像检查库围l l:邬∞O影像检查库主要内窖F蛾1 Tk瑚in∞ntent蛔l:50咖DoM chec蚰唱曲taba船DOM数据入库阶段的检查。在生数据检查信息。影像数据检查库库产环节的质量控制上也可借鉴和体主要内容如图l所示,其中灰色参照。填充部分是实现程序化检查的内2)兼容性容,白色填充部分采用人工检查或影像数据检查库不仅要满足者交互式检查完成。并记录在案。产品检查和质量评定.还应为后期正射影像检查信息数据主要更新提供依据。同时也要考虑与影以图幅和分景为基本单元进行管像本体库的关联。理,按照数据获取数据源、色彩、年3)网络化代、分辨率等指标组织数据,并通影像数据检查库应满足多用过其与影像本体库关联。影像检查户并发要求。方便多用户同时进行数据库各种检查信息之间的概念质量检查、统计、分析。关系如图2所示。厂露万卜兰堕二叫{㈣l百面习一【兰堕!生!—J广_丽丽雨西F■)一眄面酊而研习t堡旦旦。。广_塑虬:!丐百历i石矿】移6(来源:淘豆网[/p-3296745.html])i磊兰!生!j ,{!!丝;≮一圈r—————1 L—————_j—_■__百_-__『——万一?了~—j三——一生‘’!.一j!一—:一L————————.JL—————————JL———————一围2 l:卯0∞影像检查库主耍对象关系ng.2 The co眦ept modeI of l:卯O∞DoM checH哩出切ba辩万方数据1.4数据库结构设计在概念设计的基础上.依据检查内容和质量记录要求。设计了58个字段记录相关信息,其字段说明见表l。第1个字段M印No(图幅号)至第21个字段MetaDat.aCheckN哪e(元数据检查人)记录元数据检查信息和裁切范围检查信息:第22个字段Preci.!望竺塑塑塑壁里堑三堡∑sionCheckRem印(平面精度检查参考图)至第34个字段GeoPreci.sionCheckName(地理精度检查人)记录影像几何精度质量信息:第35个字段ImgDataInte扣ty(影像数据完整性)至第41个字段IrngQu“.tyCheckName(影像质量检查人(来源:淘豆网[/p-3296745.html]))记录影像质量信息:第42 0neE玎0r-Number_a(一类错误数a『元数据程序检查1)至第54 CheckConclusion(检查结论)记录各类错误数、统计分数和检查结论的信息;第56个字段MetaD砒aMemo(元数据检查备注) 至第58个字段solveMethodMemo(解决方案备注)是具体问题的记录和解决方案的建议。表l检查记录裹Tab.1田嘛纽bk for肿∞rding ch俄岫嚷虹fo咖a垃叩序字段名字段别名序宇段名字段别名号号1 蛐图幅号 30 SouttdIosaicM缸Error 南接边最大误差(m)2 IⅢgc010曲del 影像色彩模式 31 S叫tl埘bsaicl船南接边中误差(m)3 Gr删es01uti∞地面分辨率(m) 32 Nort埘DsaicMaxError 北接边最大误差(m)4 ImgSize 影像数据量㈣ 33 NorttIMosaicm俗北接边中误差(m)5 IIataFOrmat 影像数据格式 34 GeoPrecisionChecⅪ№e (来源:淘豆网[/p-3296745.html])地理精度检查人6 ImgSource 影像数据源 35 I啷DataIntegrity 影像数据完整性7 PhotODate 数据获取时间 36 I皿gDetailQ瞻lity 影像细节质量检查8 Producer 生产单位 37 ImgIIistogr锄影像直方图9 Do晒ileIntegrity 文件完整性 38 №saicQllality 镶嵌质量检查10 Filel岫舱Check 文件名检查 39 ImgFusionQuality 影像融合质量11 GeodeticDat岫平面坐标系统检查 40 SpectralQ盼lity 色彩调整质量12 HeigIltsyst鲫高程系统检查 41 Im殴帆1itycIIec-击iam 影像质量检查人13 妇妒rojection 投影检查 42 oneErr啦恤曲er-最一类错误数丑[元数据程序检查]14 G跚ssKrugerZonelIo 投影带号检查 43 0lleError№曲er-6 一类错误数肛平面精度超限]15 Cent强1Mederi(来源:淘豆网[/p-3296745.html])蚰中央子午线检查“ 011eErrDr}lIl曲er-c 一类错误数c[影像质量]16 ZoI塘Divisiarl№de 分带方式检查 45 畹eErrorNll曲er-d 一类错误数砸裁切范围]17 cropllarIge 裁切范围检查 46 hoErrorNumber-矗二类错误数缸元数据程序检查]18 Met8DataFileFor珊n 元数据文件格式 47 T-oErrorN岫er_西二类错误数所接边精度超限]19 FatalErrorN衄重要项错误个数 48 T曹oErrorN岫er-c 二类错误数d影像质量]20 Cm咖∞nErrorl口咖一般项错误个数 49 hoErrorNu曲er-d 二类错误数d[跨带错误]21 lbtaDataIcllec埘18me 元数据检查人 50 TIlreeErrorNu曲er-8 三类错误数矗[元数据程序检查]22 PrecisiollCheckRe恤p 平面精度检查参考图 51 TIlreeErro啪I曲er_6 三类错误数缸几何精度]23 CheckPointNhm 检查点个数 52 Thr明&r0删umber-c 三类错误数c[影像质量]24 妇吐胁最大误差(皿) 53 GellS皿总分25 m8 中误差(m) 54 Chec虹onclusion 检查结论26 East№托ic№xError 东接边最大误差(m) 55 Checl【Date 检查日期27 Ea8t蜘鼯ic邮东接边中误差(m) 56 MetaD8t8M伽幻元数据检查备注28 霄e8tlIOsaic埘axErrOr 西接边最大误差(Ⅲ) 57 Me∞影像质量检查备注29 %st蜘铅ic邮西接边中误差(m) 58 S01v鲥ethomlemo I地理信息世界2012.叫 No.2 GEOMATIcs wORLD 27万方数据z!兰Q竺Q竺塑塑壁里堑三堡考虑航片数据、卫片数据和分景数据的不同特点,存储三个表:航片检查记录表;卫片检查记录表:分景数据检查表。航片检查记录表主要记载航摄影像分幅数据检查信息,包括常规航片和数码航片1:50 000分幅数据检查信息,卫片检查记录表记载SPoT,IKONOS,ALOS, 资源二号.ORBVIEW,QUICKBIRD,印度P 5,北京一号小卫星等卫星拍摄的l:50 000分幅数据检查信息。分景数据检查表主要记载卫星拍摄的分景数据检查信息。航片检查记录表.卫片检查记录表以及分景数据检查表三者结构一致。2 1:50 0∞影像数据检查软件实现在影像检查库的基础上设计了基于B/S(浏览器和服务器)结构的检查软件。该软件能自动完成元数据检查、几何精度检查、影像质量检查、裁切范围检查,以及自动统计得分和输出检查报表等功能。同时还具备查询分析功能。浏览器端软件功能主界面如图3所示。确。检查结果信息存储在除第17个字段CropRange之外的第1个字段至第21个字段中。元数据检查功能是几何精度检查、影像质量检查、统计得分的前期工作。是进行数据检查的第一步。2)几何精度检查入库阶段几何精度检查,主要对影像的接边精度实现了程序化检查.实现思路是:对相邻的影像数据在重叠区自动提取同名地物,并计算二者的差。若接边差超限,则相邻的影像需重新接边。由于自动提取同名地物点的复杂性,需要人机交互剔除非同名地物.保证选取点为同名点的合理性,并将接边信息最大误差、中误差等记录到表1中第22个字段至第34个字段中。3)影像质量检查影像质量检查未实现完全自动化.对于纹理是否清晰、反差是否适中、色调是否均匀一致、彩色影像的色彩是否接近真实颜色情况的判定.采用人机交互方式进行检查,判断影像直方图是否为正态分布已实现完全程序化,并提供了检查结果自动入库的功能,为后续圈3软件功能主界面ng.3 1卫幢fhnc廿伽嗍u1)元数据检查功能实现分幅元数据主要描述数据基本信息、数据源信息、数据生产信息、数据分发信息四大内容,分为122个字段。分景元数据也描述上述的四部分信息。分为91个字段。元数据定量值或者缺省值的项可直接与元数据模板比较得出结论,而元数据定性值的项采用设定一定条件来确认其值是否合理正28 地理信息世界1EOM^TICS wORL0 2012 04 No.2计分和评价提供基础信息。4)裁切范围检查实现本工程中。影像数据范围为1:50 000标准分幅的最小外接矩形向外扩展50个像素的矩形。其范围计算公式如下:.]|fllin:int[IIlin伍1J223,X4)卜50·尺y山=int【min(1,l,l,2,y3,y4)】一50·Rx一=【int[ma)【伍lJ223Ⅸ4)】+l】+50·尺l,。F[int[max((yl,y2,yhy4)]+1】+50·尺式中:Xl,yI,X2,l,2,X3,y3,X4,l,。为四个图廓点的坐标(+X指北,+’,指东),坐标单位为m;尺为正射影像地面分辨率。由此可知.根据l:50 000标准图号及分辨率可以计算标准影像范围。“文件记录了影像数据对应的实际范围.利用标准影像范围与对应的实际范围进行比较,若实际范围小于标准范围,则范围不够。最后将比较结果放入字段CmpR柚ge(裁切范围)中。5)统计总分依据正射影像产品质量等级划分和质量评定方法,将第42个字段0neEn_orNuIIlber』(一类错误数口【元数据程序检查】)至第52个字段n恍eEnDrN咖llbeLc三类错误数c【影像质量】各类错误数统计并扣除相应的分数。得出产品的分数和检查结论。实现自动计分和评定。3 l:50 O∞影像数据检查实施正射影像数据成果的来源包括各直属省局按照设计方案新生产的(包括灾后重建的部分)、从各地方局或者从各专业部门收集的,以及总参交换的三部分。入库检查针对三种不同的数据源检查的方式略有不同。3.1新生产DOM成果数据检查实施按照国家l:50 000数据库更新工程数据正射影像数据规定生产的数据.已经经过两级检查一级验收.故检查验收的前期预处理工作相对比较少。正射影像数据成果入库检查可以直接利用现成的工具软件进行检查,数据入库检查的流程万方数据如图4所示。3.2收集,整合处理及与总参交换的DoM数据人库检查实施从各省和其他专业部门收集的正射影像数据,及与总参交换的正射影像数据.其技术指标和数据要求与l:50 000 DOM更新工程的正!望Q塑墼塑塞里堑三塞.3射影像数据规范可能存在一定的差别,如分幅、分带、坐标系统、元数据等差别。因此在进行正式检查前。需作一些前期准备和处理工作:首先要从现势性和分辨率两个指标上初步概查收集的影像数据是否满足要求,如果符合要求再按&二p妊改乒—————2。_DOII数据成果交接与成粜清点和核实I二二忑i—T 是——扩图4数据入库检查的流程n昏4 n艟now c蛔In 0f幽恤w缸曲舢醯唱ckcl【对多源正射影像数据进行整合处理包括:影像重采样。按照1:50 000标准图幅重新拼接和分幅、坐标系及投影转化、格式转换、元数据生成或转换。具体可参见《海量多源l:50 000正射影像数据建库与集成更新》”。4结束语影像数据检查库和质量检查软件结合正射影像数据特点.开发了基于C,S结构的正射影像数据质量检查软件系统。包括影像质量检查、几何精度检查、元数据及文件格式检查等模块。以数据库的形式保存和管理检查结果.实现了检查、评价以及检查报表输出一体化照国家l:50 000数据库更新工程数据正射影像数据规定的需要对多源正射影像数据进行整合处理,之后利用现有的质量检查软件和影像检查库进行影像入库质量检查(如图5所示)。圈5数据入库检查补充流程ng.5 m胡凼哩nowchan 0fda协硼峨岫砸吨check的检查流程,便于正射影像质量控制和管理。有利于提高正射影像质量检查效率,使检查结论更客观。影像数据检查库和质量检查软件程序化完成了1:50 000正射影像数据库建设工程中近2 000景的分景数据检查和24 76l幅图幅的正射影像数据的入库检查和整合,最后输入到本体库中实际覆盖图幅19 tr76幅,覆盖国土面积约80%(覆盖除西部测图区域外的全国陆地部分);提高了影像数据入库的效率和质量。保证了1:50 000 DOM更新工程顺利实施。确保了多源高分辨率正射影像数据库的建成.实现了更新范围区域内的高精度正射影像覆盖,为1:50 000数据库的持续更新提供了影像数据质量保障和依据。参考文献【l】王发良,廖安平,朱秀丽,等.海量多源l:50 O∞正射影像数据建库与集成更新田.地理信息世界,):22-26.【21陈军,王东华,商瑶玲,等.国家l:50 000数据库更新工程总体设计研究与技术创新叨.测绘学报。):7—10.【3】廖安平,严荣华,汤海,等.国家基础多源数字正射影像数据库的设计与建立田.地理信息世界,):lO—14.【4】曾衍伟,龚健雅.空间数据质量控制与评价方法及实现技术叨.武汉大学学报:信息科学版,):醯6埘O.静燃瓣囵2012“ No.2 G即^^A”cs、帕RLD■●=墨_万方数据播放器加载中,请稍候...
该用户其他文档
下载所得到的文件列表1∶50000正射影像数据检查库设计及实现.pdf
文档介绍:
1∶50000正射影像数据检查库设计及实现 1:50 000数据库更新工程、文章编号:012)02—0025._05 中国分类号:TP753 文献标识码:B1:50 000正射影像数据检查库设计及实现朱秀丽,王发良,张宏伟,程滔,路平(国家基础地理信息中心,北京100830)擅要:国家1:50 000基础地理信息数据库更新工程正射影像数据库是1:50 000数据库...
内容来自淘豆网转载请标明出处.纽曼亮剑参数
只显示摘要
数据传输率
附带:超级十五合一功能A.无驱:(WIN98除外)B.PC锁:插入移动硬盘PC方可使用,拔下后将无法使用C.启动:支持USB-HDD(与计算机及产品型号有关)D.压缩功能:将存入硬盘的文件先压缩再存储,完全支持WINZIPE.文件加密:文件加密,保护重要文件F.通讯录:可以对通讯录进行分组管理,可以按照姓名和电话号码进行模糊查询G.随身QQ:用户可以非常方便的备份QQ记录,可从当前电脑上删除QQ记录,随身携带H.自动邮件登陆:支持主要互联网邮件提供商的邮件直接登陆I.我的搜索引擎:可以直接在多个主要互联网搜索引擎同时搜索,支持主要搜索引擎几十种搜索分类同时或者选择性搜索引擎J.爱眼小护士:根据用户键盘的敲击数量、鼠标点击数量、间隔时间提醒用户注意休息,也可以提醒用户就餐、下斑K.记事小秘书:根据用户输入事件自动到时提醒并可以对已完成事件进行注释L.伊人伴侣:可以记录女性生理周期、体温曲线:计算安全期和体重达标程度、是女性朋友的好伴侣M.定时关机:用户设定PC关机时间,可以自动在设定时间内关机N.常用文件夹:可预设“我的相册”、“我的音乐”、“我的工作”、“我的FLASH”、“其它资料”等O.常用文件夹操作:常用文件夹操作:复制、粘贴、剪切、删除、支持快捷操作注:上述功能为免费增值服务,详情请参见纽曼官方网站下载中心移动小助手软件
存储容量硬盘尺寸接口类型数据传输率
2.5英寸硬盘
2.5英寸硬盘
2.5英寸硬盘
2.5英寸硬盘
2.5英寸硬盘
有线(USB2.0)
2.5英寸硬盘
有线(USB2.0)您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
专题搜索引擎的设计与实现.pdf53页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:150 &&
你可能关注的文档:
··········
··········
南 京 人 学 计 算 机 系研 究 生 毕业 论 文
一毛十世纪九年卜代中期以来,计A11LrA网技术有了革命性的发展,互联网
的规模呈现几何级数爆炸式增长。经过儿I一年,尤其是近几年的积累,互联网包
含了异常丰富的信息资源,但山于互联网天生的分布与无序,有效的检索、组织
互联网信息看起来1L乎是不可能的。这个问题吸引了许多研究者,也是近儿年计
算机科学研究的一个热点,即:搜索引擎技术研究。搜索引擎是一系列软件构件
component 的有机组合,协同完成对互联网信息的检索和组织。这 一系列软
件构件包括:互联网内容搜索下载、卜载内容分析索引、分析内容的保存和知识
提取、分析内容的展示和用户界而等部分。以往很多技术往往只是搜索引擎某-
构件的别名而己,不应将其视为完整的搜索引擎。专题搜索避开穷尽搜索整个
Web这样艰巨的工作,专注搜集与某个专题相关的重要的页面;由于引入专题的
概念,研究者才能抛开下载页面总数或下载净速度这些早期流行的指标,关Y1诸
如专题相关性和专题内容下载速度这些史实川的指标oWeb-INSPECTOR公共信
息网络观察系统是由南京大学计算机系数据库教研室Tf发的因特网上的产,,In",.是
一个成熟的专颗中文搜索引擎系统占万木文以Web-INSPECTOR的设1卜和实现为
中心,围绕该主题展开一系列研究探讨,井提出fiii应的解决万法 。在
Web-INSPECTOR的设计与实现中充分的休现了以F四大特性:
一 专题性:Web-INSPECTOR的专题性主要体现在搜索以专题为核心。白动的
寻找某专题的最优的搜索路径。
二.规模性:W
正在加载中,请稍后...&&&&2014, Vol.
Issue (4): 813-825
慈祥, 马友忠, 孟小峰. 一种云环境下的大数据Top-K查询方法[J].软件学报,2014, (4): 813-825.http://www./64.html &&
CI Xiang, MA You-Zhong, MENG Xiao-Feng. Method for Top-K Query on Big Data in Cloud[J]. Ruan Jian Xue Bao/ Journal of Software, 2014, (4): 813-825.http://www./64.html &&
一种云环境下的大数据Top-K查询方法
慈祥, 马友忠, 孟小峰&&&&
中国人民大学 信息学院, 北京 100872
基金项目:国家自然科学基金(224008);国家高技术研究发展计划(863)();高等学校博士学科点专项科研基金(01)
作者简介:马友忠(1981-),男,博士生,CCF 学生会
员,主要研究领域为Web 数据管理,云数据
E-mail: ma_
孟小峰(1964-),男,博士,教授,博士生导
师,CCF 高级会员,主要研究领域为Web 数
据管理,移动数据管理,XML 数据管理,云
E-mail: xfmeng@
通讯作者:慈祥(1986-),男,安徽无为人,博士生,CCF
学生会员,主要研究领域为云计算,大数据
摘要:Top-K查询在搜索引擎、电子商务等领域有着广泛的应用.Top-K查询从海量数据中返回最符合用户需求的前K个结果,主要目的是消除信息过载带来的负面影响.大数据背景下的Top-K查询,给数据管理和分析等方面带来新的挑战.结合MapReduce的特点,从数据划分、数据筛选等方面对云环境下的大数据Top-K查询问题进行深入研究.实验结果表明,该方法具有良好的性能和扩展性.
Top-K查询&&&&
云计算&&&&
MapReduce&&&&
Method for Top-K Query on Big Data in Cloud
CI Xiang, MA You-Zhong, MENG Xiao-Feng&&&&
School of Information, Renmin University of China, Beijing 100872, China
Corresponding author:CI Xiang, E-mail:
Abstract: Top-K query has been widely used in lots of modern applications such as search engine and e-commerce. Top-K query returns the most relative results for user from massive data, and its main purpose is to eliminate the negative effect of information overload. Top-K query on big data has brought new challenges to data management and analysis. In light of features of MapReduce, this paper presents an in-depth study of Top-K query on big data from the perspective of data partitioning and data filtering. Experimental results show that the proposed approaches have better performance and scalability.
Key words:
top-K query&&&&
MapReduce&&&&
随着大数据时代的到来,数据开始呈现爆炸式增长.不断积累的数据,对数据存储、分析等领域提出严峻的挑战.大数据的最终价值体现在数据的分析和利用上,而对数据处理时间的要求也越来越高.一般认为,数据价值会随时间的流逝而降低.因此,如何缩短数据处理时间、提高数据处理效率的问题,引起越来越多研究者的兴趣和关注.
数据量和信息量往往是矛盾的,海量数据并不一定意味着信息的丰富,很多时候反而会导致信息过载.对用户而言,有用的信息淹没在大数据的海啸之中.如何从大数据中快速提取出有用的信息,是目前大数据的核心问题之一.在搜索引擎、电子商务、移动App等诸多领域,Top-K查询是一种极其常见的查询类型.用户通过对不同属性的权值设定来反映其自身偏好,而系统则根据用户提交的权值计算并返回符合该用户需求的前K个结果.Top-K查询能帮助用户从大量数据中得到自己最关心的信息,因此,研究大数据背景下的Top-K查询问题具有非常实际和广泛的应用价值.本文的主要工作就是在云环境下,结合MapReduce特性,从数据划分和数据筛选两个方面改进大数据的Top-K查询效率.
1 相关工作
1.1 Top-K查询
Top-K查询(top-K query),又被称作序敏感查询(rank-aware query).该问题的研究最早出现于文献[]中,主要为了解决多媒体的检索.由于很多应用场景对结果的排序有着内在的要求,Top-K问题在提出之后立刻引起关注,并在搜索引擎、多媒体检索、关系数据库等诸多领域得到了广泛的研究和应用.从数据的存储环境,可以将其划分为集中式关系数据库和分布式系统两大类.
早期Top-K问题的研究主要围绕集中式关系数据库展开.根据数据源的访问方式,又可进一步细化为3大类,即:支持有序和随机的数据访问、不支持随机的数据访问以及随机访问受限的数据访问.在支持有序和随机数据访问的算法中,最具代表性的是文献[]提出的TA算法(threshold algorithm),NRA算法[]和Stream- Combine[]着重解决了数据源不支持随机访问(仅支持有序数据访问)情况下的Top-K查询.在随机访问受限的场景下,系统至少要保证一组数据源有序且随机访问以可控的方式进行,典型的算法有MPro算法[]、Upper and Pick算法[]以及Rank-Join算法[].
除了常规的Top-K查询,近几年来,一些特殊类型的Top-K问题也被提了出来,例如Reverse Top-K[, ].
随着数据量的增大,分布式Top-K查询越来越受到关注.从数据划分的方式来看,分布式环境下的Top-K问题可以归纳为垂直划分和水平划分两大类.所谓的垂直划分是数据按属性进行划分,类似于关系数据库的列存储方式,早期的分布式Top-K查询研究多使用这种划分方式.文献[]研究了网络中分散的Web数据库,其假设的前提是所有数据库支持随机和有序访问.文献[]中提出了TPUT(three-phase uniform threshold)方法.KLEE[]则对TPUT进行改进.水平划分是按元组来划分,类似于关系数据库的行存储方式.在该划分方法下,文献[]通过对查询结果的缓存来提高查询的效率.文献[]尝试减少用户的查询等待时间,但却会带来较大的数据传输开销.文献[]提出了一种称为SPEERTO的方法进行分布式Top-K查询,其核心思想是利用Skyline作为辅助的数据概要进行数据处理.文献[]对文献[]中的方法作了进一步的完善,提出了称为DiTo的一整套处理框架.
1.2 MapReduce简介
MapReduce[]是Google公司提出的一种编程模型.MapReduce会将用户的原始数据进行分块,然后交给不同的Map任务去处理.Map任务会从输入中解析出Key/Value对,用户自行定义的Map函数作用于这些Key/Value对,并得到相应的中间结果,该结果会被写入本地硬盘.Reduce任务从硬盘上读取数据后,根据key值进行排序,将具有相同key值的组织在一起.最后,用户自定义的Reduce函数会作用于这些排好序的结果并输出最终结果.图 1[]展示了一个典型的MapReduce任务的执行过程.
图 1Fig. 1Fig. 1 Execution overview of MapReduce图 1 MapReduce执行流程图
关于MapReduce的介绍很多,这里不再赘述.详细实现可参考文献[].MapReduce模型简单,且现实中很多问题都可转化到MapReduce框架中进行处理.因此该模型公开后,立刻受到极大关注,并在文本挖掘、信息检索等领域得到广泛的应用.Google的MapReduce有多种开源实现,应用最广泛的是Hadoop的MapReduce,本文方法也是以此为基础而实现的.
围绕着Top-K查询问题,近些年来开展了很多有益的研究工作.但是关系数据库以及传统的分布式环境都很难有效应对大数据环境下的Top-K查询,主要原因在于数据对象及处理方法产生了很大的变化.
(1) 云环境和传统的分布式系统存在较大差异.
从架构上来看,传统的分布式系统,比如P2P,节点之间基本对等.而以Hadoop为代表的云计算系统,其数据控制和数据处理分开,有独立的节点分别完成数据控制和数据处理的任务,节点之间有一定的层次关系.从数据存储方式来看,云环境中的数据一般以块(block)的形式进行存储,每个块中会包含一批数据;而传统的数据存储常常以元组(tuple)为单位进行存储,块的粒度远大于元组.从这个角度来看,以元组作为存储单位设计的一些Top-K算法在云环境下并不适用,例如支持随机访问特定记录的Top-K算法.
(2) MapReduce基本成为云环境下数据批处理的标准框架.
MapReduce是一种典型的主从式架构,由master节点和slave节点构成,其中,master节点负责控制流,而slave节点则负责具体的数据处理流.slave节点之间一般不进行通信,也就是说,数据处理过程中不会进行实时的信息共享.另外,原始的MapReduce是一种批处理的方式,处理过程中不会有最终结果的任何子集产生,直到处理结束才会一次性返回所有结果.
由于存在上述巨大的差异,云环境下的大数据Top-K查询面临着新的挑战.Top-K问题在MapReduce框架下有很直接的解决方案,即,利用MapReduce进行数据排序再返回前K个值.这种方案既符合MapReduce批处理的特点,也容易实现,但其最大的缺点就是处理时间过长.每次到来一个新的查询,就要对全部数据进行一次处理,数据量巨大和查询频繁时该方法均不可取.目前,国内外结合MapReduce特性对Top-K查询进行专门优化的工作不多.RanKloud[]考虑利用MapReduce解决多媒体数据的Top-K检索问题.通过系统运行时统计信息的收集来决定查询结束条件,但是并不能保证检索的结果一定是前K个,可能会出现检索值小于K的情况.文献[]探讨了利用MapReduce处理Top-K查询的一些基本问题,但是文章本身并没有对其提到的各种问题进行深入探讨,也未对其方法的有效性进行实验验证.总的来说,目前并没有一种经过验证的可行方案能够较好地解决云环境下利用MapReduce对大数据进行Top-K查询的问题.
2 云环境下的Top-K查询
2.1 问题定义和基本概念
假设数据集为T,数据集的势(cardinality)为m,则T={ti:1≤i≤m}.数据的维度Dim(T)=d,因此,每个ti可以表示成{t1(d),t2(d),…,ti(d)},且所有的属性均为数值型.对于Top-K问题而言,查询函数f通常是一个单调递增函数(increasingly monotone function).即,如果对&1≤n≤d,ti(n)≤tj(n),则f(ti)≤f(tj).
最常用的单调函数是加权和(weighted sum),本文亦采用加权和进行相关的计算.
假设权值向量w=(w1,w2,…,wn),则此时的.f(ti)值越大,代表排序越高.在此定义下的Top-K查询就是返回最大的前k个值.不失一般性,本文假设wi&I[, ],且$wj&0.这表明,权值向量中允许有分量为0,但不能全为0.表 1对上述符号进行了归纳.
表 1(Table 1)
Table 1 Overview of symbols 表1 相关符号描述
需要返回前K个结果
查询函数,本文为加权和
Table 1 Overview of symbols 表1 相关符号描述
图 2展示了在此定义下的一个Top-K查询过程和最终结果.
图 2Fig. 2Fig. 2 Typical top-K query图 2 典型的Top-K查询
为了简化问题以及阐述方便,本文作如下合理的假设:
1) 数据集相对固定,或者数据的更新速度相对于整个数据集而言,可以在一定时间段内忽略不计.很多实际的应用场景符合这种假设,例如,淘宝网的商品数据虽然时刻在更新,但是相对于其整个庞大的商品基数而言,可以认为在某个固定时间内(比如1周)变化不大.对于变化频繁的数据集,比如流数据,本文的方法并不适用;
2) 数据分布均匀.在数据量足够大的情况下,很多场景的数据基本上符合这个要求;
3) 任意记录在其任意维的值均不为负值.现实中的应用基本符合该假设.例如,对某饭店或某商品评分,每项分值肯定大于等于0.即使不符合,也可以通过简单的数据转换,将其数据范围转换到非负区间;
4) 所使用的服务器数量大致和数据量保持一个合理的比例.数据过多或过少,可以分别通过增加或减少服务器来实现负载平衡.
很多领域都存在着Top-K问题,由于存在需求上的差异,没有一种通用的方法能够适用于所有的Top-K问题.基于上述假设不难发现,本文方法比较适用于多次查询和参数自由变化的Top-K查询.这类查询在现实中很多,比如电子商务领域,用户在购买一个商品之前,可能会根据商品的多个属性组合进行搜索,以便确定是否购买.
2.2 数据划分
云环境下,数据划分的基本原则是,尽可能地将数据均匀地划分到各个服务器上.这种均匀不仅体现在数据量的均匀上,更重要的是面对特定应用时,这种划分能够尽可能地保证每个服务器上的数据对最后结果均有贡献.在以MapReduce为数据处理框架的云环境下,垂直划分方式不太适合,因为每个子集只有原数据集的部分属性,这样在每次计算时需要访问所有子集才能得到一个完整的加权值,而在MapReduce中,slave节点之间一般不会进行信息交换.考虑到MapReduce的这种特点,本文采用水平划分方式.进一步地,在Top-K领域具有代表性的水平划分方式有如下几种:随机划分、基于网格、基于角度和基于超平面.假设将记录的每个属性作为一个维度,则n维Top-K问题中的每条记录等价于n维空间的一个数据点(下文中,数据点和记录表示同一概念,可以混用,不再解释).为了便于理解这几种数据划分方式,以二维数据(即,每条记录有两个属性)为代表,具体的划分方法如图 3~图 6所示.
图 3Fig. 3Fig. 3 Random partitioning图 3 随机划分
图 4Fig. 4Fig. 4 Grid partitioning图 4 网格划分
图 5Fig. 5Fig. 5 Angle-Based partitioning图 5 基于角度的划分
图 6Fig. 6Fig. 6 Hyperplane-Based partitioning图 6 基于超平面的划分
图 3是随机数据划分方式,对于新的数据点,通过某种方式,比如round-robin,将数据点随机地分配到某个服务器.图 4是网格划分,这种方法将整个数据空间划分成若干个网格,落入某个网格中的数据点则分配到相对应的服务器.图 5描述了二维情况下基于角度的数据划分,这种方法首先将笛卡尔坐标系的数据点通过转换规则映射到超球坐标系(hyperspherical coordinate),在此基础上,对每个维度的数据进行划分,最终得到结果.图 6是基于超平面的划分,该方法的本质是将空间数据映射到某个特定的超平面(在二维空间,超平面等价于一个直线),图例中选择的超平面为直线x+y=1,具体的映射规则是,将通过数据点和原点的直线与超平面的交点作为该数据点在超平面上的映射点.完成映射之后,通过对各个数据维度进行划分来完成整个数据空间的划分.该方法可以很容易地推广到更高维空间.基于角度和基于超平面的划分都首先要对数据进行转换映射,区别在于:基于角度的划分数据坐标系发生改变,而基于超平面的划分还是在相同的坐标系.从计算复杂度来看,随机划分方式最为简单,而基于角度的划分方式最为复杂.
针对Top-K问题,随机划分和基于网格的划分效率不高,原因在于:虽然数据被划分到多个服务器上,但是每个服务器上计算的Top-K值对最终Top-K值的贡献是不同的.以加权和最大为Top-K的衡量标准,则在图 3、图 4所示的随机划分和网格划分中,靠近右上角分区中的数据更有可能成为最终的全局Top-K值,而左下角的分区数据极可能毫无贡献.这必然会造成计算资源的浪费和计算效率的低下.最理想的状态是:每个数据分区都能计算出部分的全局Top-K值,这样就能够充分发挥系统的并行特性且充分利用计算资源.因此,基于角度的划分和基于超平面的划分是可能的候选方法,这两种数据划分方式最早都是在分布式Skyline计算中引入的.由于具有一些内在的联系,Skyline的计算在很大程度上和Top-K有共通之处.但是考虑到MapReduce的特性,直接使用这两种方法都不太合适,主要原因在于,直接使用这两种划分方式对于后期的数据删选而言不够高效.因此,本文提出一种同时考虑角度和距离的划分方式.进行基于角度的划分,首先需要将欧式空间的数据点坐标转化至超球坐标.具体转换规则如下:
假设数据点的坐标t=[t(1),t(2),…,t(d)],则其相对应的超球坐标由一个径向坐标r和d-1个角度坐标f1,f2,…, fd-1构成,其中,
考虑到第2.1节中的假设3),则0≤fi≤p/2,对&1≤i≤d-1.为了便于理解,接下来以二维空间为例解释本文的划分方法,但具体的方法可以扩展到任意维.图 7是在假设有3台服务器的前提下,利用本文基于角度和距离的数据划分方式对整个数据空间进行的划分.
图 7Fig. 7Fig. 7 Angle and distance-based partitioning图 7 基于角度和距离的数据划分
具体步骤如下:
1. 依据公式(1)对整个数据空间的数据点进行数据转换,从笛卡尔坐标系转换至超球坐标;
2. 采用类似网格划分的方式对角度进行划分.此步骤划分仅考虑角度坐标,不考虑径向坐标.网格划分技术相对成熟,有很多可借鉴的划分方式,本文采用较易实现的等分划分方式,其中,等分的数量等于服务器的数量.例如在图 7中,根据角度坐标将整个平面首先分成了3个部分,其中,
3. 经过步骤2,每个角度区间都占据了数据空间的一个部分,由于第2.1节中的假设2),我们可以认为每个角度区间所占有的数据量大致相同.在此基础上,利用径向坐标r对每个区间的数据作进一步的划分.此步骤的划分区间数量可以根据实际需求进行改变,但需保证以下两点:
1) 在对r进行划分时粒度不能过细,至少保证二次划分的子区间包含一个块的数据量.由于第2.1节假设4)的保证,每个服务器上会有相对充足的数据量进行划分;
2) 二次划分的子区间面积相等,即,图 7中的区间1~区间9的面积应当相等.这主要是为了保证每个子区间的数据量大致相等.
以上方法是在二维空间中进行的,推广到三维空间则是对1/8的球体进行划分,更高维的话没有直观的几何图形,但划分方法一致,只是计算复杂度有所增加.在云环境下,相对原始的基于角度的划分,本文方法有一定的优势,详细分析在下文中会加以阐述.
2.3 基于MapReduce的大数据Top-K查询
在云环境下,加速Top-K计算最核心的方法有两种:
(1) 将计算过程并行化,本文通过MapReduce来实现;
(2) 减少计算所需的数据量.下面将结合第2.2节中提到的数据划分方法来阐述本文数据筛选的方法.
对于方法2,需要思考的关键性问题是:在加权和的计算方式下,对于一个特定的Top-K查询,如果从几何角度考虑,究竟空间中满足何种性质的数据点最终会成为Top-K点?
为了解释方便,同样以二维空间的数据点为例.
假设现在有若干个数据点,这些点在二维坐标系中的位置如图 8所示.如果现在的权值向量w=(0.5,0.5),那么对于所有记录而言,0.5x+0.5y的值决定了其最终的排序.如果将权值向量也看作空间中的一个点(称为权值点),那么过原点和权值点可以构成一条直线(图 8中的直线y=x).此时,Top-K查询有如下性质:
性质1. 假设权值向量w=(w1,w2,…,wn),空间中有限数据点的集合t={t1,t2,…,tn},则对集合t中任意点tx,计算,可以得到集合L={L1,L2,…,Ln}.如果L中,值小于或等于Lx的点有k个,则点tx在权值向量为w、以加权和为查询函数的Top-K查询中的最终排序为n-k.
图 8Fig. 8Fig. 8 Geometric interpretation of top-K query图 8 Top-K查询的几何解释
该性质的证明和解释可参见文献[],这里不再证明.性质1表明:在Top-K查询中,如果以加权和作为查询函数,则数据点在空间中的排序由其在通过原点和权值点构成的直线上的投影位置所决定.可以直观地理解为:数据点在直线上的投影位置距离原点越远,其排序越高;或者说投影长度越长,排序越高.空间中点t到过原点和权值点的直线的投影长,根据L值很容易判断点之间的排序关系.假设现在需要查询如图 8所示的数据空间中的Top-3点,则这些点为t1,t2,t3,且排序关系是t1&t2&t3.
本文在角度之外加入距离的划分因素,最大的好处就是能够确定每个划分区间的距离范围,该距离范围可以用于数据筛选.如图 9所示,在确定数据划分和权值向量之后,通过各维度的数值区间和角度区间信息,可以计算出分区3所对应的投影长度区间为(L1,L2),也就是说,区间3中所有点的投影长度均大于等于L1,小于等于L2.其他区间均可得到其相对应的投影长度区间.但在面对不同的权重值时,区间内可能取到最小和最大投影值的点会发生变动,导致计算复杂度增加.为了简化计算,本文提出松弛投影范围的概念.利用此概念可以大大减少数据筛选的计算量.可以观察到,按照本文的划分方法,每个子区间都可以被一个最小外接超立方体所包围.无论权值向量如何变化,该立方体具有最小和最大投影值的点始终是[tmin(1),tmin(2),…,tmin(d)]和[tmax(1), tmax(2),…,tmax(d)].图 10展示了二维空间中这种计算方式(二维空间中的超立方体退化为矩形),图中虚线部分是相对应区间的最小外接超立方体,区间1~区间3对应的最小和最大投影值点均在图中标示出来.从图中还可以发现,此时的投影长度区间实际上是真实投影长度区间的一个超集,区间范围有所扩大.但是,这种方法因为最大和最小投影点固定,在面对不同的权值时,可以非常简单地计算出对应的区间,且对于实际的筛选效果影响不是很大.
图 9Fig. 9Fig. 9 Computation of projected range图 9 投影范围计算
图 10Fig. 10Fig. 10 Relaxed projected range图 10 松弛投影范围
数据划分完成之后,根据区间的距离信息可以确定每个区间在其相对应服务器上的排序(根据与原点间距离,由远到近),同时也可以确定松弛投影范围概念下的最小和最大投影点.将这些元数据信息以表的形式保存在master节点上,表 2是一个实例.
表 2(Table 2)
Table 2 Metadata for data filtering 表2 用于数据筛选的元数据
1[(0,0),(1/2,1)]
7[(0,0),(1,1/2)]
Table 2 Metadata for data filtering 表2 用于数据筛选的元数据
表 2中的每格代表相应区间的元数据,最前面数字表示区间号,例如第1格中的3.区间号之后的两组数据分别表示松弛投影范围概念下的最小和最大投影点坐标.处于表中同一行,代表其位于同一个距离区间,例如第1行表示最外一层的区间3、区间6、区间9,以此类推.
假设总的数据点为m个,总的划分区间是n个,因为在划分时保证每个划分区间的面积相等且有第2.1节中提及的假设2),可以认为每个区间的数据点大致相等,为m/n个.那么,通过比较m/n与k值,就可以确定最终计算所需区间.算法1描述了利用表 2中元数据进行数据筛选的过程.
Algorithm 1. Data Filtering.
Input: k and w;
Output: Data Partitioning which will be used as the data source of MapReduce.
1. p=éK/(m/n)ù;&&&&&&&&/*p is upper bounds of K/(m/n)*/
2. Scan metadata table, get line 1 to p;
3. &&&&for i=1 to p;
4. &&&&&&&&for j=1 to q ; &&&&&&&&&&&&&&&&/*q is the number of column*/
5. &&&&&&&&&&&&Vmin[i][j]=tmin×w/|w|;&&&&&&&&&&&& /*Minimal relaxed projection value*/
6. &&&&&&&&&&&&Vmax[i][j]=tmax×w/|w|;&&&&&&&&&&&& /*Maximal relaxed projection value*/
7. &&&&&&&&
8. &&&&&&&&Compare all pairs of (Vmin[i][j],Vmax[i][j]);
9. &&&&&&&&if Vmax[i][s]≤Vmin[i][t];
10.&&&&&&&&&&&& Delete data partitioning s;
11. &&&&&&&&
12.&&&&&&&&&&&& Output s;
以表 2中数据为例,具体步骤如下:
(1) 如果m/n&k,则可以保证最终的Top-k值只出现在划分中最外侧区间(图 9中的区间3、区间6、区间9),在此基础上,根据表 2,对这3个区间作进一步计算.如果3个区间的松弛投影区间均有重叠部分,则3个区间不能进一步筛除,需要全部计算,否则可以进一步筛除.假如权值w=(0.5,0.5),则可以利用表 2中的数据计算出区间3、区间6、区间9的松弛投影区间分别为.3个区间均互有重叠,因此无法进一步筛除,需要全部进行计算.又假设权值w=(0,1),则此时区间3、区间6、区间9相对应的松弛投影区间为.区间3和区间6有重叠,但区间9的最大松弛投影值为,比区间3的最小松弛投影值还要小,区间9可以被进一步筛除.因此,在权值w=(0,1)的情况下,需要计算的区间仅仅是区间3和区间6.
(2) 如果k/2≤m/n≤k,则除了最外侧之外,还要加入次外侧区间(图 9中的区间2、区间5、区间8);然后,对区间2、区间5、区间8采用类似步骤1中的方法进一步筛除数据.
(3) 如果k/3≤m/n≤k/2,则计算所需的区间还要再往内侧增加,以此类推.
实际中,m/n的值不光大于k,常常远大于k,例如搜索引擎中的海量数据.而我们最关心的往往只是结果第1页的几十个数据,因此,采用本文的数据划分和筛选方法,一般情况下仅需计算区间3、区间6、区间9所对应区间的block中的数据即可,减少了2/3甚至更高的数据量,大大提高了效率.
具体Top-K计算流程
图 11是在本文方法下的Top-K查询框架.
图 11Fig. 11Fig. 11 Top-K query in cloud图 11 云环境下的Top-K查询
从整个过程来看,包括预处理和查询处理两个部分,具体步骤如下:
(1) 对数据进行预处理,主要是利用上文的方法进行数据划分,最终数据以block形式存入HDFS中;
(2) 用户提交新的查询,master节点接受参数k和w,利用其上的元数据信息按照算法1的步骤对区间进行筛选,确定参与最终计算的区间号;
(3) MapReduce任务只对涉及到的区间进行计算,返回Top-K值.
3 实验和结果分析
3.1 实验环境
实验在一个由11个节点组成的集群上进行,其中,1个节点作为master节点,其余10个节点作为slave节点.节点配置如下:CPU:QGHz,Memory:8GB,Disk:500GB,OS:64bit Ubuntu9.10 server,节点上运行的Hadoop版本为1.0.0.由于没有合适规模的真实数据集,本文按照表 3的数据格式生成了一批均匀分布的数据,其中每条记录的维度为10,所有值均为0~1000之间的整数,共10亿条记录,大约75G的数据量.
表 3(Table 3)
Table 3 Data format 表3 数据格式
Table 3 Data format 表3 数据格式
3.2 实验结果与分析
首先需要说明的是,本文的数据划分作为预处理过程出现,一次预处理可以为后续的多次查询提供服务,因此,预处理时间未计入总时间.下面的实验若无特别说明,计算数据量均为全部数据,参数均取k=5000,w=(0.1, 0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1).
执行时间对比
目前尚未发现与本文特别相关的方法,因此为了进行对比,本文另外实现了一种原始的Top-K算法和一种简单改进的Top-K算法.原始的Top-K算法思路非常直接,根据权重值,利用MapReduce对原始的数据进行排序,然后返回所需的k个最大值.简单改进的Top-K算法中的Mapper不输出所有的值,而仅输出本地Top-K到Reducer中,最后由Reducer返回全局Top-K.图 12展示了这3种方法的执行时间.
图 12Fig. 12Fig. 12 Comparison of execution time图 12 执行时间对比
从图 12中可以看出:原始方法时间最长;简单改进后的算法执行时间有较大幅度的缩短;本文方法的执行时间最短,且相对原始方法执行时间减少得很明显.
从两个方面考察本文方法的扩展性:
· 首先,保持数据量不变,改变计算的服务器数量.从图 13可以发现:随着服务器数量的增加,执行时间虽然不是完全线性地减少,但是减少的趋势是很明显的;
图 13Fig. 13Fig. 13 Scalability (servers)图 13 可扩展性(服务器数量)
· 然后,保持记录数量,但改变数据维度,即,对所有的数据记录分别取其前2个、4个、6个、8个及10个属性进行计算.从图 14可以看出:计算所需的时间呈上升趋势,但上升的幅度相对稳定,未出现随着维度的增加计算时间大幅增加的情况.
图 14Fig. 14Fig. 14 Scalability (data dimension)图 14 可扩展性(数据维度)
以上两个方面都说明了本文方法的可扩展性较好.
不同k值对执行时间的影响
图 15展示了不同k值下执行时间的变化情况.从实验结果来看:当数据大小固定时,执行时间并不是随着k值的增加而增加,也就是说,本文方法对k的取值不是特别敏感.分析发现:虽然实验中k的取值已经较大,但由于整个记录规模巨大,使得每个区间的记录数也非常大,导致面对不同k值时,筛选出的候选block集合基本一致,也就是说,这些不同k值实际计算的数据基本相同,因此,最终计算时间相差不多.
图 15Fig. 15Fig. 15 Effect of K on execution time图 15 K值变化对执行时间的影响
不同权值对执行时间的影响
取4组比较有代表性的权值类型进行比较,分别是等值权重w1=(0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1)、极度偏向某一属性的w2=(1,0,0,0,0,0,0,0,0,0)、较为偏向某一属性的w3=(0.73,0.03,0.03,0.03,0.03,0.03,0.03,0.03, 0.03,0.03)以及有偏向但是不明显的w4=(0.2,0.1,0.1,0.05,0.1,0.05,0.15,0.15,0.05,0.05).
从图 16中可以看出:w1和w4的执行时间大致相同,而w2和w3的执行时间大致相同.主要是因为,当根据本文的方法对某属性计算极度或较高偏好时,候选的区间会被进一步地筛选,有部分区间会在这个步骤被排除,总的计算量降低,导致最终的执行时间变短.
图 16Fig. 16Fig. 16 Effect of weight value on execution time图 16 权值对执行时间的影响
本文针对云环境下的大数据Top-K查询问题,利用空间角度和距离对整个数据进行划分,考虑到MapReduce在计算中slave节点之间不进行信息实时共享的特性,在数据划分的基础上提出了一种简便的数据筛选方法.实验结果表明:在绝大多数情况下,本文方法能够大幅减少计算量,提高计算效率.同时,本文的方法也有较好的扩展性.
未来将会对现有工作进行一系列的改进,主要包括:
· 考虑将本文方法进一步扩展到数据非均匀分布的情况;
· 考虑增加缓存层,对Top-K查询的结果进行缓存,因为实际中同样的查询很可能会重复出现;
· 同时,考虑进一步细化数据划分,使得面对较小的k值时处理时间能够进一步缩短.
Fagin R. Combining fuzzy information from multiple systems..
Fagin R, Lotem A, Naor M. Optimal aggregation algorithms for middleware..
Güntzer U, Balke W, Kie&ling W. Towards efficient multi-feature queries in heterogeneous environments. In: Proc. of the Int’l Conf. on Information Technology: Coding and Computing (ITCC 2001). .
Chang KCC, Hwang SW. Minimal probing: Supporting expensive predicates for top-k queries. In: Proc. of the 2002 ACM SIGMOD Int’l Conf. on Management of Data. .
Bruno N, Chaudhuri S, Gravano L. Top-K selection queries over relational databases: Mapping strategies and performance evaluation. ACM Trans..
Ilyas IF, Aref WG, Elmagarmid AK. Supporting top-k join queries in relational databases. In: Proc. of the 29th Int’l Conf. on Very Large Databases. .
Vlachou A, Doulkeridis C, Kotidis Y, N&rv&g K. Reverse top-k queries. In: Proc. of the 26th IEEE Int’l Conf. on Data Engineering. .
Vlachou A, Doulkeridis C, Kotidis Y, N&rv&g K. Monochromatic and bichromatic reverse top-k queries. IEEE Trans..
Marian A, Bruno N, Gravano L. Evaluating top-k queries over Web-accessible databases. ACM Trans..
Cao P, Wang Z. Efficient top-K query calculation in distributed networks. In: Proc. of the 23th Annual ACM Symp. on Principles of Distributed Computing..
Michel S, Triantafillou P, Weikum G. KLEE: A framework for distributed top-k query algorithms. In: Proc. of the 31st Int’l Conf. on Very Large Data Bases. New York: ACM Press, 8. .
Zhao KP, Tao YF, Zhou SG. Efficient top-k processing in large-scaled distributed environments..
Dedzoe WK, Lamarre P, Akbarinia R, Valduriez P. ASAP top-k query processing in unstructured P2P systems. In: Proc. of the 10th IEEE Int’l Conf. on Peer-to-Peer Computing..
Vlachou A, Doulkeridis C, N&rv&g K, Vazirgiannis M. On efficient top-k query processing in highly distributed environments. In: Proc. of the 2008 ACM SIGMOD Int’l Conf. on Management of Data. .
Vlachou A, Doulkeridis C, N&rv&g K. Distributed top-k query processing by exploiting skyline summaries..
Dean J, Ghemawat S. MapReduce: Simplified data processing on large clusters..
Candan KS, Kim JW, Nagarkar P, Nagendra M, Yu RW. RanKloud: Scalable multimedia data processing in server clusters..
Doulkeridis C, N&rv&g K. On saying “enough already!” in MapReduce. In: Proc. of the 1st Int’l Workshop on Cloud Intelligence. .
Tsaparas P, Palpanas T, Kotidis Y, Koudas N, Srivastava D. Ranked join indices. In: Proc. of the 19th IEEE Int’l Conf. on Data Engineering. .}

我要回帖

更多关于 如何查找聊天记录 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信