[发明专利]一种基于动态代码生成的图计算方法及系统有效
申请号: | 201910441015.4 | 申请日: | 2019-05-24 |
公开(公告)号: | CN110287378B | 公开(公告)日: | 2021-10-19 |
发明(设计)人: | 郑天祺;程学旗;冯吕;王征;张志斌;刘悦;赵鹏;郭嘉丰 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/2458 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种基于动态代码生成的图计算方法及系统,包括:根据建图请求,构造包含图操作原语的中间图结构,并将中间图结构与图名关联后存入中间图缓存器;根据图算法请求,生成由外部代码字节码构成的图算法结构,发送至图算法缓存器;以执行请求检索中间图缓存器和图算法缓存器,得到待执行中间图结构、待执行图算法结构与参数列表组成的三元组,并在本地代码缓存器中检索三元组,得到本地代码缓存器中的执行对象,以执行得到结果。本发明在本地代码空间中注入生成代码,消除了数据交换的开销;构建了可二次编译的中间图结构,使图数据的访问代码可进行编译优化;同时增加了中间图结构缓存与图算法缓存,规避了图计算的预处理开销。 | ||
搜索关键词: | 一种 基于 动态 代码 生成 计算方法 系统 | ||
【主权项】:
1.一种基于动态代码生成的图计算方法,其特征在于,包括:步骤1、用户端提出包括图名和源数据的建图请求,判断中间图缓存器中是否已存有该图名,若是,则忽略该建图请求,否则通过申请Python对象将该源数据关联图数据,构造出包含图操作原语的中间图结构,并将该中间图结构与该图名关联后存入该中间图缓存器;步骤2、用户端提出包括函数名、函数签名和函数主体的图算法请求,且该图算法请求由外部代码文本构成,判断图算法缓存器中是否已存有该函数名,若是,则忽略该图算法请求,否则提取该函数签名,申请与该函数签名对应的Python函数结构,并验证该函数主体的语法正确性,最终生成由外部代码字节码构成的图算法结构,发送至该图算法缓存器;步骤3、用户端提出包括图算法名称、图名和参数列表的执行请求,以该执行请求分别检索该中间图缓存器和该图算法缓存器,得到待执行中间图结构、待执行图算法结构与该参数列表组成的三元组,并在该本地代码缓存器中检索该三元组,得到该本地代码缓存器中的执行对象,由执行台负责单独启动一个线程执行该执行对象,并将执行结果返回给该用户端。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910441015.4/,转载请声明来源钻瓜专利网。