[发明专利]一种基于MongoDB的云端代码查询方法与装置有效
申请号: | 201410056117.1 | 申请日: | 2014-02-19 |
公开(公告)号: | CN103902651B | 公开(公告)日: | 2017-01-11 |
发明(设计)人: | 张天;赵济洲;李宣东 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 江苏银创律师事务所32242 | 代理人: | 孙计良 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mongodb 云端 代码 查询 方法 装置 | ||
1.一种基于MongoDB的云端代码查询方法,其特征在于,包括以下步骤:
S1:以TXL为中介工具将代码转换成JSON格式存入MongoDB;
S2:分析TXL的语法定义文件生成层次结构库;
S3:根据层次结构库将查询语句翻译成MongoDB的查询命令;
S4:调用MongoDB中的查询函数执行S3获得的查询命令;
其中,所述的步骤S1包括:
S10:使用TXL将代码转换为XML格式;
S11:使用JDOM将XML格式的代码转换为JSON格式;
S12:将JSON格式的代码存入MongoDB。
2.如权利要求1所述的基于MongoDB的云端代码查询方法,其特征在于,所述的步骤S2包括以下步骤:
S20:根据TXL的语法定义文件构建定义关系图:将TXL的语法定义文件中的每一个定义作为定义关系图的节点,找出定义之间的关系构建节点之间的父子关系;
S21:对定义关系图进行深度优先遍历找出所有的叶节点与根节点之间的简单路径;
S22:对定义关系图进行遍历找出所有的环;
S23:将环与简单路径进行组合生成叶节点与根节点之间的所有路径。
3.如权利要求1所述的基于MongoDB的云端代码查询方法,其特征在于,所述的步骤S3包括以下步骤:
S31:分析输入的查询语句抽取出查询条件以及查询目标;
S32:根据查询目标在层次结构库中查找对应的层次结构信息;
S33:将查询目标、目标的层次结构信息及查询条件组合生成MongoDB查询命令。
4.一种基于MongoDB的云端代码查询装置,其特征在于,该装置包括:
用于以TXL为中介工具将代码转换成JSON格式存入MongoDB的装置;
用于分析TXL的语法定义文件生成层次结构库的装置;
用于根据层次结构库将查询语句翻译成MongoDB的查询命令的装置;
用于调用MongoDB中的查询函数执行S3获得的查询命令的装置;
其中,所述的用于以TXL为中介工具将代码转换成JSON格式存入MongoDB的装置包括:
用于使用TXL将代码转换为XML格式的装置;
用于使用JDOM将XML格式的代码转换为JSON格式的装置;
用于将JSON格式的代码存入MongoDB的装置。
5.如权利要求4所述的基于MongoDB的云端代码查询装置,其特征在于,所述的用于分析TXL的语法定义文件生成层次结构库的装置包括:
用于根据TXL的语法定义文件构建定义关系图的装置;
用于对定义关系图进行深度优先遍历找出所有的叶节点与根节点之间的简单路径的装置;
用于对定义关系图进行遍历找出所有的环的装置;
用于将环与简单路径进行组合生成叶节点与根节点之间的所有路径的装置;
其中,所述的用于根据TXL的语法定义文件构建定义关系图的装置包括用于将TXL的语法定义文件中的每一个定义作为定义关系图的节点的装置和用于找出定义之间的关系构建节点之间的父子关系的装置。
6.如权利要求4所述的基于MongoDB的云端代码查询装置,其特征在于,所述的用于根据层次结构库将查询语句翻译成MongoDB的查询命令的装置包括:
用于分析输入的查询语句抽取出查询条件以及查询目标的装置;
用于根据查询目标在层次结构库中查找对应的层次结构信息的装置;
用于将查询目标、目标的层次结构信息及查询条件组合生成MongoDB查询命令的装置。
7.一种机器可读介质,其特征在于,该可读介质上存储有指令集合,当该指令集合被执行时,使得该机器可执行权利要求1或2或3所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410056117.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种辅助汽车空调的装置
- 下一篇:平衡梁油包