[发明专利]一种预编译函数缓存引擎的大数据处理方法在审
| 申请号: | 201811628499.5 | 申请日: | 2018-12-28 |
| 公开(公告)号: | CN109753306A | 公开(公告)日: | 2019-05-14 |
| 发明(设计)人: | 周伟;余佳阳;季桃桃;周群年;金正皓 | 申请(专利权)人: | 北京东方国信科技股份有限公司 |
| 主分类号: | G06F9/28 | 分类号: | G06F9/28;G06F16/2455 |
| 代理公司: | 北京知呱呱知识产权代理有限公司 11577 | 代理人: | 丁彦峰;朱红涛 |
| 地址: | 100102 北京市朝*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 缓存 表达式树 数据处理 预编译 编译 常量 特征字符串 缓存引擎 节点数据 海量数据处理 数据处理需求 毫秒级别 内存资源 引擎缓存 用户需求 优化策略 查询 遍历 延迟 数据库 存储 查找 场景 | ||
1.一种预编译函数缓存引擎的大数据处理方法,其特征在于,所述方法包括:
引擎缓存大小及优化策略设置;
根据用户需求生成表达式树;
遍历所述表达式树,生成该表达式树的特征字符串,同时提取常量节点数据并缓存;
生成所述特征字符串的唯一值;
根据所述唯一值查找缓存中是否存储有预编译的即时编译函数;
若不存在,则生成即时编译函数并缓存;
将所述常量节点数据代入所述即时编译函数进行处理。
2.根据权利要求1所述的一种预编译函数缓存引擎的大数据处理方法,其特征在于,所述引擎缓存大小及优化策略设置包括:预设缓存大小以及将缓存进行分桶。
3.根据权利要求2所述的一种预编译函数缓存引擎的大数据处理方法,其特征在于,所述将缓存进行分桶包括:
根据用户配置文件预设桶的个数;
或者,根据历史数据统计信息直方图中即时编译函数指针的个数预估每个即时编译函数指针所需要的内存FM,根据BucketNum=M/FM计算出桶的个数,其中,BucketNum为桶的个数,M为缓存的预设大小。
4.根据权利要求1所述的一种预编译函数缓存引擎的大数据处理方法,其特征在于,所述生成该表达式树的特征字符串包括:
获取所述表达式树的属性信息,将所述属性信息合并生成该表达式树的特征字符串,其中,所述属性信息包括数据类型、数据列宽或者数据索引信息。
5.根据权利要求1所述的一种预编译函数缓存引擎的大数据处理方法,其特征在于,所述提取常量节点数据并缓存包括:
建立所述常量节点数据的索引,根据所述索引划分缓存空间,并将所述常量节点数据分别存储到与索引对应的缓存空间内。
6.根据权利要求1所述的一种预编译函数缓存引擎的大数据处理方法,其特征在于,所述生成所述特征字符串的唯一值包括:
根据MD5消息摘要算法计算出所述特征字符串的前32位字符的消息摘要字符串,以及根据Huffman编码方法计算出所述特征字符串的Huffman字符串,将计算得到的消息摘要字符串和Huffman字符串合并得到所述特征字符串的唯一值。
7.根据权利要求1所述的一种预编译函数缓存引擎的大数据处理方法,其特征在于,所述根据所述唯一值查找缓存中是否存储有预编译的即时编译函数包括:
将所述唯一值的前32位字符作为关键字在缓存中进行查找,若查到,则继续将所述唯一值的前32位字符之后的其余字符与查到的字符串进行memcmp函数比较。
8.根据权利要求1所述的一种预编译函数缓存引擎的大数据处理方法,其特征在于,所述生成即时编译函数包括:
建立指令库,所述指令库内存储有多种中间表示指令;
根据用户需求确定相应的函数执行流程;
根据所述函数执行流程选取所述指令库中存储的与所述函数执行流程匹配的所述中间表示指令,生成中间指令集;
根据所述中间指令集生成所述即时编译函数。
9.根据权利要求1所述的一种预编译函数缓存引擎的大数据处理方法,其特征在于,所述将所述常量节点数据代入即时编译函数进行处理还包括:
执行常量获取指令获取常量节点数据,所述常量获取指令是封装在静态库中并存储在缓存中的。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序指令,所述计算机程序指令用于执行如权利要求1-9中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京东方国信科技股份有限公司,未经北京东方国信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811628499.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:卫星软件系统和卫星软件系统配置方法
- 下一篇:指令存储方法





