[发明专利]基于模型转换由midcore生成Spark和Hadoop程序代码的方法有效
申请号: | 201711418644.2 | 申请日: | 2017-12-25 |
公开(公告)号: | CN108153522B | 公开(公告)日: | 2020-05-05 |
发明(设计)人: | 张天;刘拨杰;潘敏学;李宣东 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F8/35 | 分类号: | G06F8/35;G06F8/30 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 张苏沛 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 模型 转换 midcore 生成 spark hadoop 程序代码 方法 | ||
本发明公开了一种由模型转换中间语言midcore生成Spark和Hadoop程序代码的方法。包括步骤1:建立两个xtext项目,分别对midcore语言进行抽象,抽出其中的语法树,进行建模,书写xtext的语法计解析器代码,步骤2:用xtend在其中一个项目中书写从midcore映射至Spark代码的转换规则,步骤3:用xtend在另一个项目中书写midcore映射生成Hadoop代码的转换规则。本发明将可以由现有的模型转换语言转换而成的中间语言对Spark和Hadoop两个平台的代码做了映射,为模型转换语言和Mapreduce程序实现了桥接,同时支持由midcore直接描述模型转换,生成Mapreduce程序代码,降低了Mapreduce程序开发的复杂性。
技术领域
本发明涉及一种代码生成方法,主要利用模型转换技术来实现由QVT-R语言自动化生成midCore脚本的任务,属于计算机技术、模型转换技术、领域特定语言和代码生成技术大数据分布式数据处理的交叉技术应用领域。
背景技术
数据转换是对于异构数据的常用处理方法。随着企业、组织间的紧密合作以及兼并,异构的数据信息资源广泛存在着,严重影响了部门间的信息交流。而数据转换的目标就是将异构的数据信息进行转换,并消除数据中存在的各种错误,优化数据模型,得到理想的数据模型。
计算机领域存在大量的领域特定语言(Domain Specific Language,简称DSL),它们通常用于处理各种领域特定问题,本发明中涉及的midCore脚本则一种DSL,它是由南京大学软件工程组设计的一种面向大数据转换的领域特定语言,提供了数据模型描述、匹配、转换等操作算子,可以向多个大数据处理平台自动化映射,从而更加简便的完成大数据处理任务。以上两种语言可以分别看成模型转换的输入模型和输出模型。
Spark是现在常用的一种大数据平台,随着信息社会的高速发展,人们每天无论是生活还是工作都会产生并且接触到爆炸增长的信息量,从而使得工业界要处理的信息越来越多,也越来越复杂。传统的数据转换方法已经无法快捷高效的处理大数据的转换,因此演化出了如Spark之类的大数据平台。但是Spark平台在高效处理大数据的同时,具有一定的平台复杂性,学习成本较高,对于刚刚接触该平台的用户并不友好。
Hadoop是当今另一种常用的,且非常具有代表性的大数据平台。该方法是对Mapreduce编程模型的实现,用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。然而该框架采用Mapper和Reducer类中的方法来表示数据操作,有一定的领域复杂性,对于日常数据操作的表达,并不友好。
Xtext是基于eclipse的一个插件工具,利用该工具我们可以自己定义一种基于文本的领域特定语言,然后创建出自定义程序语言。这里我们通过该工具实现了转换原语的设计,并通过它产生Spark代码,从而降低基于Spark平台的大数据转换实现成本,解决在大数据平台进行数据转换复杂性较高这一问题。
发明内容
发明目的:针对现有技术中存在的问题,本发明是为了完成QVT等模型转换语言与Mapreduce的多种实现平台之间的桥接,是midcore语言脚本设计工作和代码生成工作的延续。本发明是利用模型驱动开发思想实现大数据程序开发工作的重要组成部分,也可以单独成为一项在抽象层次开发Mapreduce程序的工作,屏蔽了大数据具体平台的平台开发复杂性,简化了大数据程序的开发过程。
为了实现上述发明目的,本发明采用的技术方案为:
一种基于模型转换由midcore生成spark和hadoop程序代码的方法,其步骤包括:
步骤1:按照midcore语言的语法,建立抽象语法树,并在xtext工具中用xtextgrammer language准确描述出来;
步骤11:Model元素为语法树根节点,即总入口,包含了若干个Domain和Rule语句;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711418644.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高耐磨的水性上光油的制备方法
- 下一篇:一种绝缘遮蔽罩试验装置