goback
月期刊咨询网
当前位置:首页>>电子技术论文>>正文

一种QL脚本的解析模块的分析研究


所属栏目:电子技术论文
发布时间:2014-08-19 14:36:12  更新时间:2014-08-19 14:59:11

已签订领域:化学工程/制药,医学题目:**作为抗癌剂***催化剂**取代苯丙***SCI四区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:用**电***生物传感器**癌症**SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:**氧化石墨烯纳米***材料的生物传感器***结肠癌生物**癌胚****SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:聚合物纳米***a-硫辛酸***在神经炎症***应用***临床分析SCI二区 直击了解更多选题

已签订领域:计算机视觉/遥感/智能驾驶/汽车题目:**深度学习***高分辨率遥感***车辆检***SCI三区 直击了解更多选题

已签订领域:企业管理题目:社会交流***领导***倾向***方向SSCI,SCI三区,二区 直击了解更多选题

已签订领域:企业管理题目:**中小企业社交媒体****可持续绩效***因素探析SSCI,SCI三区,二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:利用硫氨酸***石墨烯纳米***电化学***传感器实现癌胚抗原***SCI二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:基于抗***纳米复合***高性能***早起癌症诊断***SCI二区 直击了解更多选题

已签订领域:经济,能源题目:***政治冲突****绿色金融、金融**、气***化***SCI四区 直击了解更多选题

已签订领域:经济,能源题目:冲***中能源不安全对***和环境***SCI四区 直击了解更多选题

已签订领域:教育题目:大学生***社交媒体***成绩影响***SSCI三区 直击了解更多选题

已签订领域:教育题目:巴基斯坦***学习实施的***的**SSCI二区 直击了解更多选题

已签订领域:教育题目:大学生对****下网络教学**思***SSCI二区 直击了解更多选题

已签订领域:教育题目:**教师和学生对影响***医疗**效果的****看法SSCI三区 直击了解更多选题

已签订领域:计量经济学题目:**货币、黄金、**和美国***的波动***相互依赖性:**数据的分析SSCI一区 直击了解更多选题

已签订领域:计量经济学题目:东南亚***内**趋同***中等收入**:新**的***SSCI二区 直击了解更多选题

已签订领域:建筑,历史题目:历史景点在***旅游发***中的***影响**(**研究:**历史***)SSCI,SCI一区 直击了解更多选题

已签订领域:领导力,管理题目:量化**领导对角色绩效***响:**冲突与工作自主性***作用SCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:数字***环境对学生学习成绩***:游戏**和***现实在教育***作用SSCI四区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***续决策之间的***:创新***识的**作用SSCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:课程**对大学生***发展的影响:学习习惯和***的***作用SSCI一区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***与可持续决策**:高等***学生认知***作用SSCI二区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语****学**与人工智能****学习SCI三区 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐**对学生成绩***的影响SCI三区 直击了解更多选题

已签订领域:人体工程,心理学题目:基于预先处理模型***模式人体工程学***女生肌肉骨骼***预防行为*** 直击了解更多选题

已签订领域:人体工程,心理学题目:制定一个***人体工程学**,以识别、优先考虑***职业压力源的*** 直击了解更多选题

已签订领域:人体工程,心理学题目:多重工作**压力和工作***:***工效学方法的混合方法*** 直击了解更多选题

已签订领域:数学,经济题目:数学模型***结构调整和经济转型****研究 直击了解更多选题

已签订领域:数学,经济题目:***时间**数学模型在***媒体营销**中的应用*** 直击了解更多选题

已签订领域:数学,经济题目:***时间**模型在***物流运**能力***研究 直击了解更多选题

已签订领域:数学,经济题目:碳****经济的数学模型****研究 直击了解更多选题

已签订领域:农村经济题目:农****社区**发展***分**SCI四区 直击了解更多选题

已签订领域:农村经济题目:创业***对乡村****发展的****SCI四区 直击了解更多选题

已签订领域:农村经济题目:农村创业****的空间*****究SCI四区 直击了解更多选题

已签订领域:医学,电化学题目:纳米颗粒*****及其在癌症****和重金属*****检测中的应用SCI三区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****前列腺癌药物氟****检测方法的*****腺癌治疗SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:气海***********金纳米颗粒的新型****************粘土及其对胃癌********************抗癌SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于抗***********GCE纳米***********材料的高性能*******************早期癌症SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:用******电化学生物传感器*****癌症***************SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****石墨烯纳米****材料的生物传感******用于测定结肠*****生物*****SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:聚合***纳米复合电极*****疏辛酸电化学检测*********SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:利用****酸/**糖**石墨烯纳米复合修饰的电化学*****SCI二区 直击了解更多选题

已签订领域:环境能源,绿色投资题目:环境能源、绿色投资、城市化和环境类方向SCI三区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语教学**人工智能***习SCI 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐形式*学生***影响SCI三区 直击了解更多选题

已签订领域:经济,绿色投资题目:***能源效率***化之间的***SCI三区 直击了解更多选题

已签订领域:经济政策题目:***阐明**印度经济***的关系SCI三区 直击了解更多选题

已签订领域:经济,金融题目:***国家的能源***重***SCI 直击了解更多选题

已签订领域:经济,金融投资题目:***融新之间***直接投资***SCI三区 直击了解更多选题

已签订领域:经济,数学,统计学,管理学题目:非***想重限制下***袭评价***SSCI四区 直击了解更多选题

已签订领域:经济,数字,管理学题目:基干***生产系统***SSCI四区 直击了解更多选题

已签订领域:农业,土壤科学题目:不同***有机覆盖***养分循环SSCI 直击了解更多选题

已签订领域:电力与能源系统,管理题目:pv***氢定价的***随***型稀SSCI,SCI二区 直击了解更多选题

已签订领域:建筑规划,计算机题目:使用***因子分析法***可持续***SCI三区 直击了解更多选题

已签订领域:工程技术,纺织工程,材料科学题目:甘***淀粉酶的提取***退浆中的应用SCI四区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:饲料***镉毒性的交互***生长***病理学***SCI二区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:****鱼水源***起的生******SCI三区 直击了解更多选题

已签订领域:金融,环境经济题目:*****预算在能效、绿色***的作用SCI 直击了解更多选题

已签订领域:应用数学/计算物理题目:***非线性库***自相位调制***SCI三区 直击了解更多选题

已签订领域:计算机,医学检测题目:***COVID-19***力***算法***决策SCI三区 直击了解更多选题

已签订领域:计算机,物联网,智慧城市题目:基于***物联网****算法SCI三区 直击了解更多选题

  QL脚本在设计方面,充分考虑了与现有数据库查询语言SQL相结合的特点,QL脚本无疑可以被看作是对数据库查询语句SQL的一种转型和衍生。

  摘要:作为MapReduce系统的核心组件的脚本解析模块,它是分布式云计算平台实现的基础。该模块的实现是基于脚本编程接口,在此过程中使用的语言是QL(Query Language)。QL脚本通过脚本解析模块实现解析之后,事件执行模块则由参数通过配置事件的方式一一实现。下面就这种脚本语言的实现过程作了详细的分析。

  关键词:核心期刊征稿,MapReduce,脚本解析,QL,事件配置

  An Analysis of Parsing Module QL Script

  CHEN Hao

  (Guangdong Technical College of Water Resources and Electric Engineering, Computer Information Engineering, Guangzhou 510925, China)

  Abstract:MapReduce system as a core component of the script parsing module, which is the basis for a distributed cloud computing platform implementation. The module is based on the realization scripting interface, the language used in this process is QL (Query Language). After the QL script by script parsing module for parsing, event execution module configured by the parameters of events come true. The following detailed analysis of the implementation process of this scripting language.

  Key words:MapReduce; script parsing; QL; event configuration

  1 QL脚本的设计理念

  基于对现有技术的可扩展性和覆盖性分析,使用QL脚本来定义关键词的过程能够适应市场上各种网络流量统计的不同类型,当然必须对设计过程中对关键词的灵活扩展性作以充分性的考虑,以便于后期对QL脚本的扩容升级,更好的支撑云计算平台的综合应用。

  2 QL脚本模块的分析

  QL脚本模块解析可以分为以下几大模块:解析引擎(ScritEngine)、脚本语句解释器(ScritParser)、比较运算模块(Compare)、算术运算模块(Arithmetic)、逻辑运算模块(ExpressionEngine)、聚合运算模块(Aggregate)、字段运算模块(Field)、配置模块(Configuration)等。图1是QL脚本解析模块的整体结构图。

  QL脚本解析的实现过程如下:系统的入口为 ScriptEngine,它的功能是读取QL语言脚本,并将脚本逐行传递给脚本解析器。脚本解析器按照每行的QL语言脚本首字母对语句进行分类,根据不同语句的类别调用不同的解释模块对语句进行解析。语句解析逐行进行,如脚本中含有子句等其他复杂句型,脚本解析器会调用其他的处理模块,如调用聚合运算模块对脚本进行相应的处理。

  3 配置文件的定义及解析过程

  一个完整的QL语言脚本包括配置文件、原始数据文件、输出结果保存位置和统计执行语句。模块在运行时,首先需要对配置文件进行解析以获取数据格式,然后对输入数据和输出数据路径进行解析,最后解析统计执行语句,并将解析的命令传递给作业执行模块。

  编写QL语言脚本时,首先应指定配置文件,指明要处理的数据格式。配置文件的格式如下:列序号、名称、描述、数据类型。根据配置文件中的格式,系统对输入数据进行匹配,从而对指定列序号的数据进行操作。配置文件支持如下的关键词:

  表1 配置文件关键词列表[关键字\&功能\&ResetColumn语句\&用于重新载入列配置文件,切换不同的配置文件\&createColumn语句\&用于创建一个新的配置文件,并载入这个配置文件\&AddColumn语句\& 对当前的配置文件进行增加列的操作\&]

  如上表所示,目前配置文件中共支持三个关键词,分别为:ResetColumn用于重新载入列配置文件,可用于切换不同的配置文件。CreateColumn用于在当前脚本中创建一个新的配置文件。AddColumn对当前的配置文件进行增加列的操作。

  4 关键词解析

  QL语言中的关键词指的是在每一句QL脚本句首的单词,每个语句的功能由此关键词来确定,在解析时脚本解析模块会根据该关键词来进行下一步的判断。目前QL语言支持的关键词为:Process,Select,Count,CountD如下表所示。

  表2 脚本关键词列表

  [分类\&关键字\&功能简介\&分组聚合统计\&Process\&对各分组求集合函数值\&选择字段\&Select\&选择字段、字串、表达式输出结果\&多重计算\&Count\&同时对多个逻辑表达式计数\&去重计算\&Countd\&对指定字段去重计算\&]

  1) Process 语句   功能介绍:提供统计各分组内的聚合函数运算结果的功能。Process语句支持多种表达式,表达式中必须包含有函数。且支持多种子句:where 子句、groijpby 子句、order by 子句、tofile 子句,having 子句' limit 子句。

  在脚本解析时,Process类接收以"Process"开头的一行脚本,从后往前寻找各个子句,并将该行脚本切割为各个子句,创建子句解释类的对象处理各个子句。 Process语句脚本解析过程按照从后往前的顺序解析子句。解析完成后,将所需信息封装起来,通过作业配置的方法,传给作业执行模块。

  2) Select 语句

  功能介绍:用于选择某列或多列输出。提供选择某个字段、多个字段四则运算或字段运算的功能。

  Select语句类关系与Process的类似,按照从后往前的顺序解析子句。Select语句支持多重输出功能,语句中可通过花括号指定多重输出条件和输出文件名。解析完成后,将所需信息封装起来,通过作业配置的方式,传入作业执行模块。

  3) Count 语句

  功能介绍:提供同时计数多个值的功能。

  Count语句设计为同时计数多个值的功能。Count后可跟多个逻辑表达式,在一次读取数据的同时,计数满足各个表达式条件的记录数。

  4) CountD 语句

  功能介绍:提供对指定字段的去重计数功能。

  CountD语句支持where子句,group by子句和tofile子句。CoimtD语句的主要功能是以符合where指定条件的话单为对象,按照groipby分组,对CountD指定的字段进行去重计数。

  以上的QL关键词只是定义了该语句的功能范围,实际统计的任务需要其他运算逻辑语句来组成更为复杂的操作。全部的关键词都支持算术运算,包含加减乘除四种运算,并且可以使用括号定义运算优先级。当没有括号时,将从左到右进行计算,乘除运算优先于加减运算。

  5 事件执行模块

  事件执行模块的功能是接收脚本解析模块传递过来的参数,根据参数选择不同的Map和Reduce类,并配置和提交统计事件到Hadoop框架。事件执行模块内的各模块基本都遵循Hadoop的Map Reduce框架的接口定义。主要任含以下几个模块:输入输出模块、Map模块、Partition模块、Combine模块和Reduce模块。

  事件执行过程示意图如下:

  图2 事件执行过程示意图

  每一行语句可解释为一个可执行的MapReduce的事件,事件执行组件配置好事件后提交给Hadoop的JobTracker,由Hadoop的 Map Reduce框架执行事件,Map模块读取原始数据分块,Partition模块和Combine模块对Map模块输出的统计结果进行合并处理,最后提交给Reduce模块最终输出至HDFS。

  1) 输入输出模块

  输入模块负责读入文件分片并将其分割成记录,适用于读取流记录这种半结构化文件。本模块的输入为网络流量记录文件,输出为统计任务的键/值对,主键为本条记录在文件中的字节偏移量,值为流量记录值。本模块只用于读取半结构化的文本文件,输入模块输出的键/值对,通过引用传递给Map模块。

  输出模块根据指定的字段分隔符和行分隔符输出结果。本模块与输入模块类似,可以将记录以行的形式存入文本文件中。其输入为Reduce模块产生的键/值对。输出为最终结果文件,存储在HDFS上。

  2) Map 模块

  Map模块的功能为从整条网络流量记录中取出指定字段,经过提取、计算等操作后,产生键/值对,并将统计的初步结果写到计算机本地磁盘。Map模块继承了 Hadoop框架的Map模块,并根据处理的网络流量记录格式进行了一些定制。

  根据统计功能的不同,目前系统包含如下两个Map部件:GrovpMapper和CountMapper。GroipMapper用于处理分组后的集合统计,分组条件作为主键,Map端集合运算结果作为值进行输出。CountMapper用于处理多重计数的统计需求。Map模块的输入为输入模块输出的键 /值对,Map模块对相同的主键的键值进行合并处理后,输出新的键/值对,键为分组的条件,值为该分组对应的值。

  3) 数据分割模块(Partition)

  Partition模块继承了 Hadoop框架定义的Partition模块。利用该模块,系统将Map输出的结果进行初步划分,可以保证某一取值范围的中间结果送到同一个 Reduce任务中进行处理。划分时采用对key进行hash运算的方式,在保证正确性的同时一定程度上简化Reduce的过程。划分的个数是由用户自定义的Reduce任务的个数。

  4) 数据合并模块(Combine)

  Combine模块用于计算机本地中间文件的合并。该模块通常运行在Reduce操作前,对之前模块的结果中相同主键的键/值对进行合并。Combine模块的处理步骤与Reduce的操作是相似的,但是 Combine模块通常在Map模块运行后进行,它的出现可以有效的减少集群内的数据传输。因为在Map Reduce运行的过程中,Map模块和Reduce不一定在同一运算节点进行,该模块可以将Map输出的结果进行初步合并,减少输入至Reduce模块的文件大小。

  5) Reduce 模块

  Reduce模块继承了 Hadoop框架定义的Reduce模块,实现的功能是对前一模块统计的中间结果进行合并,输出最终结果。处理流程为:Map模块的中间结果被 Combine模块和Partition模块处理以后,存入运算节点的本地磁盘临时文件内。集群主节点通知Reduce模块去对应的运算节点读取文件。目前系统所有Map模块生成的中间结果都按主键值被Hash函数分成N份(N是系统用户指定的Reduce数量),N个Reduce任务分别负责不同的主键取值区间。因此,所有的Reduce任务需要按照主键的取值范围去对应的节点读取Map输出的中间结果,并将其形成键/值的列表。读取后,再次按照主键进行合并,并进行函数计算、算术运算、逻辑运算等操作。最终由输出模块将最终的键/值对输出到HDFS。

  5 结束语

  QL语言设计目的是能让了解该语言的普通用户,即使在完全不懂JAVA编程技能的情况下,能够在云计算平台系统上进行分

  布式计算。因为作为开源项目的Hadoop为用户提供了众多的JAVA编程接口,但是很多用户并不具备编写完整程序的能力,而且针对不同的分析任务都编写相应的程序成本较高。通过QL语言可以较好的解决这一难题,用户只要在掌握基本的语法的情况下即可实现分布式的云计算。

  参考文献:

  [1] 万至臻.基于MapReduce模型的并行计算平台的设计与实现[D].杭州:浙江大学,2008.

  [2] 谢桂兰.基于Hadoop MapReduce模型的应用研究[J].微型机与应用,2010,4.

  [3] 陈香香.云计算中MapReduce性能优化及应用[D]. 重庆:重庆大学,2011.



  • 职称晋升申请书范本2篇

    2025-02-22
    撰写职称晋升申请书时,您需要清晰、专业地展示您的工作成就、专业能力以及对职位提升的渴望。以下是 职称晋升申请书范本2篇 ,您可以根据实际情况进行调整: 1、医、护人员职称晋升申请书范文1篇 尊敬的领导: 本人于xxxx年毕业于xxxx护理专业,毕业后在医院中心监护
  • 高分子化学sci期刊一览 Q1-Q4都在这里

    2025-02-22
    在化学装爷领域中,高分子化学sci期刊众多,按照JCR分区,从Q1到Q4区都有涵盖,作者可根据单位和论文质量选择合适的期刊投稿。以下是 高分子化学sci期刊一览 Q1-Q4都在这里 ,供大家参考: 1、 CHINESE JOURNAL OF POLYMER SCIENCE JCR:Q2区 IF:4.1 致力于发表高分子
  • 2025年RCCSE期刊目录更新到第几版?第七版

    2025-02-22
    截至2025年2月22日,RCCSE期刊目录已经更新到了第七版 。第七版RCCSE中国学术期刊目录是在2024年12月6日至8日召开的第七届中国期刊质量与发展大会上正式发布的,具体详情如下: 1、RCCSE期刊是什么意思 RCCSE期刊是指被武汉大学中国科学评价研究中心(Research Center
  • 论文二审还会给原来的审稿人吗?接受率多少

    2025-02-22
    二审是论文发表期刊过程中最为严格且重要的环节之一,审稿周期较长,建议作者耐心等待。对于, 论文二审还会给原来的审稿人吗 ? 并没有一个统一的答案,可能是原来的审稿人,也可能是新的审稿人,具体取决于期刊的具体政策和审稿人的可用性。 关于论文二审是否还会送
  • 速看!审稿出版最快的教育学SSCI期刊及选题推荐

    2025-02-21
    在教育学领域,被ssci收录的期刊众多,想要选择审稿出版快的期刊,对于新手作者来说确实很难,而且出版周期长短与论文质量、期刊的影响力等因素有直接的关系。今天在这里为大家汇总整理了部分 审稿出版最快的教育学SSCI期刊及选题 ,供大家参考: 一、审稿出版最快的教
回到顶部