[发明专利]基于指令集生成的大数据处理方法及装置有效
申请号: | 201510303600.X | 申请日: | 2015-06-04 |
公开(公告)号: | CN104965687B | 公开(公告)日: | 2017-12-08 |
发明(设计)人: | 季桃桃;余佳阳;霍卫平;金正皓;郭志弘 | 申请(专利权)人: | 北京东方国信科技股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/45 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李相雨,宋平 |
地址: | 100102 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 指令 生成 数据处理 方法 装置 | ||
技术领域
本发明涉及一种基于指令集生成的大数据处理方法及装置。
背景技术
大数据处理主要是针对海量数据进行清洗、存储、计算和分析等操作。由于数据由多种类型,例如Int、Long、Double、Char和VarChar,甚至是较为复杂的Numner。而且数据的运算也有多种,例如数学运算、逻辑运算、比较运算、类型转换等。所以程序员在进行大数据处理程序的编写工作时,一般会针对各种数据类型、各种运算编写通用程序,以避免出现未知数据类型、未知运算或其他未知情况导致程序崩溃的问题发生,所以这种通用程序比较复杂繁琐。
当利用这种通用程序进行某种特定的处理工作时,例如查询、过滤、运算等,由于通用程序中包含很多与该特定处理工作无关的无用指令,所以数据处理的速度会比较慢。
发明内容
本发明所要解决的技术问题是:如何提高大数据处理的速度。
为解决上述技术问题,本发明提出了一种基于指令集生成的大数据处理方法,包括:
生成即时编译函数;
利用所述即时编译函数对大数据进行处理;
其中,所述生成即时编译函数包括:
建立指令库,所述指令库内存储有多种中间表示指令;
根据用户需求确定相应的函数执行流程;
根据所述函数执行流程选取所述指令库中与所述函数执行流程匹配的中间表示指令,生成中间表示指令集;
将所述中间表示指令集生成所述即时编译函数。
进一步地,所述中间表示指令是封装后存储在所述指令库中的。
进一步地,所述确定相应的函数执行流程,包括:
根据用户需求生成表达式树;
遍历所述表达式树,获取该表达式树的属性信息;
根据所述表达式树及其所述属性信息,确定所述函数执行流程。
进一步地,所述即时编译函数是采用底层虚拟机即时编译方法生成的。
进一步地,在所述利用所述即时编译函数对大数据进行处理之前,还包括对所述即时编译函数进行自动向量化处理,具体包括:
在所述利用所述即时编译函数对大数据进行处理之前,还包括自动向量化处理,具体包括:
分析所述用户需求的并行性;
根据所述并行性的分析结果在所述即时编译函数中添加相应的自动向量化处理指令。
为解决上述技术问题,本发明还提出了一种基于指令集生成的大数据处理装置,包括:
函数生成模块,用于生成即时编译函数;
处理模块,用于利用所述即时编译函数对大数据进行处理;
其中,所述即时编译函数生成模块包括:
指令库建立子模块,用于建立指令库,所述指令库内存储有多种中间表示指令;
流程确定子模块,用于根据用户需求确定相应的函数执行流程;
指令集生成子模块,用于根据所述函数执行流程选取所述指令库中与所述函数执行流程匹配的中间表示指令,生成中间表示指令集;
函数生成子模块,用于将所述中间表示指令集生成所述即时编译函数。
进一步地,所述中间表示指令是封装后存储在所述指令库中的。
进一步地,所述流程确定子模块包括:
树生成单元,用于根据用户需求生成表达式树;
属性信息获取单元,用于遍历所述表达式树,获取该表达式树的属性信息;
函数执行流程确定单元,用于根据所述表达式树及其所述属性信息,确定函数执行流程。
进一步地,所述即时编译函数是采用底层虚拟机即时编译方法生成的。
进一步地,该装置还包括向量化处理模块,用于在所述利用所述即时编译函数对大数据进行处理之前,进行自动向量化处理;
并行性分析子模块,用于分析所述用户需求的并行性;
指令增加子模块,用于根据所述并行性的分析结果在所述即时编译函数中添加相应的自动向量化处理指令。
本发明的即时编译函数是根据用户需求进行设计的,在指令库中只选取了部分中间表示指令,用于生成中间表示指令集,进而得到即时编译函数。由于本发明的即时编译函数中只包含了和本次处理工作有关的指令,相对于通用程序,大大减少了指令的数量,因而在利用该即时编译函数进行大数据处理时,处理速度得到大大提高。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明一种基于指令集代码生成的大数据处理方法的流程框图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京东方国信科技股份有限公司,未经北京东方国信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510303600.X/2.html,转载请声明来源钻瓜专利网。