CN107832391A - 一种数据查询方法和*** - Google Patents
一种数据查询方法和*** Download PDFInfo
- Publication number
- CN107832391A CN107832391A CN201711047703.XA CN201711047703A CN107832391A CN 107832391 A CN107832391 A CN 107832391A CN 201711047703 A CN201711047703 A CN 201711047703A CN 107832391 A CN107832391 A CN 107832391A
- Authority
- CN
- China
- Prior art keywords
- sdl
- data
- syntax tree
- abstract syntax
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000000694 effects Effects 0.000 abstract description 15
- 238000005516 engineering process Methods 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 11
- 230000006399 behavior Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及一种数据查询方法和***,属于大数据技术领域。该方法包括:SDL引擎中的SDL解析器对接收到的SDL指令进行解析,得到抽象语法树;SDL引擎中的SDL解释器对抽象语法树进行解析;在SDL接口将SDL引擎与数据仓库连接之后,SDL解释器通过Http协议对数据仓库中与解析后的抽象语法树对应的数据信息进行调用;SDL解释器根据数据信息和解析后的抽象语法树执行SDL指令对应的操作。通过本实施例提供的技术方案,一方面,避免了现有技术中消耗成本高,适用性单一,查询结果不够精准,且容易造成干扰的技术弊端;另一方面,实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
Description
技术领域
本发明实施例涉及大数据技术领域,尤其涉及一种数据查询方法和***。
背景技术
随着大数据相关技术的发展,越来越多的人注意到大数据下潜藏着巨大的经济价值。若想从事大数据分析工作不仅需要掌握业务知识也需要懂得IT技术,对分析人员的高要求使其望而却步。
在现有技术中,当需要对统计数据进行查询时,有两种实现方式。
第一种方式为:通过特定的***,对统计数据进行查询。
第二种实现方式为:通过字段(或关键字段)对统计数据进行查询。
然而,发明人在实现本发明的过程中,发现至少存在以下问题:
1、若通过开发***的方式进行查询,则增加了成本,且只能针对特定的某些数据进行查询,无法实现多样性;
2、若通过字段的方式进行查询,则过程繁琐,且容易将需要的信息屏蔽。
发明内容
为解决上述技术问题,本发明实施例提供了一种数据查询方法和***。
根据本发明实施例的第一方面,本发明实施例提供了一种数据查询方法,所述方法包括:
SDL引擎中的SDL解析器对接收到的SDL指令进行解析,得到抽象语法树;
所述SDL引擎中的SDL解释器对所述抽象语法树进行解析;
在SDL接口将所述SDL引擎与数据仓库连接之后,所述SDL解释器通过Http协议对所述数据仓库中与解析后的抽象语法树对应的数据信息进行调用;
所述SDL解释器根据所述数据信息和解析后的抽象语法树执行SDL指令对应的操作。
通过本实施例提供的:SDL解析器对SDL指令进行解析,得到抽象语法树,SDL解释器对该抽象语法树进行解析,并通过Http协议对与解析后的抽象语法树对应的数据信息进行调用,从而根据数据信息和解析后的抽象语法树执行SDL指令对应的操作的技术方案,一方面,避免了现有技术中通过特定的***对数据进行查询时,消耗成本高,适用性单一的技术弊端;另一方面,避免了现有技术中通过“字段”或“关键字段”对数据进行查询时,查询结果不够精准,且容易造成干扰的技术弊端;再一方面,实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
进一步地,所述SDL引擎中的SDL解析器对接收到的SDL指令进行解析,得到抽象语法树,具体包括:
解析所述SDL指令,得到所述SDL指令中的常量、运算符、变量、命名对象;
根据所述SDL指令中所述运算符的优先级,将所述SDL指令中的所述常量、所述运算符、所述变量、所述命名对象转化为所述抽象语法树。
通过本实施例提供的:根据运算符的优先级,将常量、运算符、变量和命名对象得到抽象语法树的技术方案,实现了精准且快速的生成抽象语法树的技术效果,从而进一步实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
进一步地,所述SDL解释器根据所述数据信息和解析后的抽象语法树执行SDL指令对应的操作,具体包括:
根据预先设置的遍历规则遍历解析后的抽象语法树的节点,以便得到计算逻辑;
根据所述计算逻辑和调用的所述数据信息执行所述SDL指令对应的操作,并得到执行结果。
通过本实施例提供的:根据遍历节点得到计算逻辑,以便根据该计算逻辑和数据信息执行SDL指令对应的操作的技术方案,实现精准且快速的执行SDL指令对应的操作的技术效果,从而进一步实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
进一步地,所述预先设置的遍历规则为:广度优先规则或深度优先规则。
进一步地,所述方法还包括:
处理器根据预先设置的预定义规则对所述数据仓库中查询指令的语法结构进行定义;
当所述SDL指令与所述查询指令的语法结构相匹配时,且在SDL接口将所述SDL引擎与数据仓库连接之后,则所述SDL解释器通过Http协议对所述数据仓库中与解析后的抽象语法树对应的数据信息进行调用。
通过本实施例提供的:对查询指令的语法结构进行定义,只有当SDL指令与查询指令的语法结构相匹配时,且在SDL引擎与数据仓库连接后,SDL解释器才能对数据仓库中的数据信息进行调用的技术方案,确保了调取数据信息的安全性和可靠性,从而进一步实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
根据本发明实施例的另一个方面,本发明实施例提供了与上述实施例对应的一种数据查询***,所述***包括:SDL引擎、SDL接口和数据仓库,其中,所述SDL引擎包括SDL解析器和SDL解释器,其中,
所述SDL解析器用于:对接收到的SDL指令进行解析,得到抽象语法树;
所述SDL解释器用于:对所述抽象语法树进行解析,并在所述SDL接口将所述SDL引擎与所述数据仓库连接之后,通过Http协议对所述数据仓库中与解析后的抽象语法树对应的数据信息进行调用,并根据所述数据信息和解析后的抽象语法树执行所述SDL指令对应的操作。
进一步地,所述SDL解析器具体用于:
解析所述SDL指令,得到所述SDL指令中的常量、运算符、变量、命名对象;
根据所述SDL指令中所述运算符的优先级,将所述SDL指令中的所述常量、所述运算符、所述变量、所述命名对象转化为所述抽象语法树。
进一步地,所述SDL解释器具体用于:
根据预先设置的遍历规则遍历所述抽象语法树的节点,以便得到计算逻辑;
根据所述计算逻辑和调用的所述数据信息执行所述SDL指令对应的操作,并得到执行结果。
进一步地,所述预先设置的遍历规则为:广度优先规则或深度优先规则。
进一步地,所述***还包括:处理器,其中,
所述处理器用于:根据预先设置的预定义规则对所述数据仓库中查询指令的语法结构进行定义;
当所述SDL指令与所述查询指令的语法结构相匹配时,且在所述SDL接口将所述SDL引擎与数据仓库连接之后,则所述SDL解释器通过Http协议对所述数据仓库中与解析后的抽象语法树对应的数据信息进行调用。
本发明实施例的有益效果在于,由于采用了SDL解析器对SDL指令进行解析,得到抽象语法树,SDL解释器对该抽象语法树进行解析,并通过Http协议对与解析后的抽象语法树对应的数据信息进行调用,从而根据数据信息和解析后的抽象语法树执行SDL指令对应的操作的技术方案,一方面,避免了现有技术中通过特定的***对数据进行查询时,消耗成本高,适用性单一的技术弊端;另一方面,避免了现有技术中通过“字段”或“关键字段”对数据进行查询时,查询结果不够精准,且容易造成干扰的技术弊端;再一方面,实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
附图说明
图1为本发明实施例提供的一种数据查询方法的流程示意图;
图2为本发明实施例提供的一种数据查询***的结构示意图;
图3为本发明实施例提供的一种数据查询方法中生成抽象语法树的参考示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、接口、技术之类的具体细节,以便透切理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的***、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
本发明实施例提供了一种数据查询方法和***。
根据本发明实施例的一个方面,本发明实施例提供了一种数据查询方法。
请参阅图1,图1为本发明实施例提供的一种数据查询方法的流程示意图。
如图1所示,该方法包括:
步骤S100:SDL引擎中的SDL解析器对接收到的SDL指令进行解析,得到抽象语法树;
步骤S200:SDL引擎中的SDL解释器对抽象语法树进行解析;
步骤S300:在SDL接口将SDL引擎与数据仓库连接之后,SDL解释器通过Http协议对数据仓库中与解析后的抽象语法树对应的数据信息进行调用;
步骤S400:SDL解释器根据数据信息和解析后的抽象语法树执行SDL指令对应的操作。
可以理解的是,SDL分为两个层面结构,具体为语法定义层和语言实现层。其中,SDL引擎中和SDL接口属于语言实现层,而数据仓库属于语法定义层。且,SDL引擎包括SDL解析器和SDL解释器。
例如:用户需要对某数据A进行查询,则向SDL引擎发送数据A对应的SDL指令B。SDL解析器对接收到SDL指令B进行解析后,得到抽象语法树C。SDL解释器对抽象语法树进行解析,并只有在SDL引擎与数据仓库连接的情况下,SDL解释器才能通过Http协议对数据信息进行调用。
其中,SDL引擎与数据仓库连接的步骤在步骤S300之前即可。且,SDL接口是访问数据仓库的通道,SDL对外提供标准的Http协议格式的访问,只要能支持Http协议的计算机均可通过SDL完成对数据仓库的查询操作。
其中,SDL接口具体为SDL API。
在根据调用的与SDL指令A对应的数据信息D与解析后的抽象语法树相结合,执行SDL指令A对应的操作,以实现数据的查询。
通过本实施例提供的:SDL解析器对SDL指令进行解析,得到抽象语法树,SDL解释器对该抽象语法树进行解析,并通过Http协议对与解析后的抽象语法树对应的数据信息进行调用,从而根据数据信息和解析后的抽象语法树执行SDL指令对应的操作的技术方案,一方面,避免了现有技术中通过特定的***对数据进行查询时,消耗成本高,适用性单一的技术弊端;另一方面,避免了现有技术中通过“字段”或“关键字段”对数据进行查询时,查询结果不够精准,且容易造成干扰的技术弊端;再一方面,实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
在另一种实施例中,步骤S100具体包括:
解析SDL指令,得到SDL指令中的常量、运算符、变量、命名对象;
根据SDL指令中运算符的优先级,将SDL指令中的常量、运算符、变量、命名对象转化为抽象语法树。
在本实施例中,对SDL解析器如何得到抽象语法树进行了阐述。
更具体地,根据SDL指令中运算符的优先级,依次从下往上生成抽象语法树。
例如:SDL解析器接收到SDL指令后,解析该SDL指令,得到该SDL指令中的常量、运算符、变量和命名对象。
如:SDL指令为:A1+a*b,在对该SDL指令进行解析后,得到如图3所示的抽象语法树。
通过本实施例提供的:根据运算符的优先级,将常量、运算符、变量和命名对象得到抽象语法树的技术方案,实现了精准且快速的生成抽象语法树的技术效果,从而进一步实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
在另一种实施例中,步骤S300中,SDL解释器根据数据信息和解析后的抽象语法树执行SDL指令对应的操作,具体包括:
根据预先设置的遍历规则遍历解析后的抽象语法树的节点,以便得到计算逻辑;
根据所述计算逻辑和调用的所述数据信息执行所述SDL指令对应的操作,并得到执行结果。
现结合图3做详细说明,从下至上依次遍历图3中的抽象语法树,得到计算逻辑:先计算a与b的乘积,在将该乘积与A1相加。
再将从数据仓库中调取的与a、b、A1对应的数据信息与上述计算逻辑,执行SDL指令对应的操作,得到执行结果。
如果A1对应的数据信息为5,a对应的数据信息为6,b对应的数据信息也为5,则得到的结果为35。
通过本实施例提供的:根据遍历节点得到计算逻辑,以便根据该计算逻辑和数据信息执行SDL指令对应的操作的技术方案,实现精准且快速的执行SDL指令对应的操作的技术效果,从而进一步实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
在另一种实施例中,预先设置的遍历规则为:广度优先规则或深度优先规则。
更具体地,深度优先规则为从抽象语法树的最下层节点往最上层节点进行遍历。
在另一种实施例中,该方法还包括:
处理器根据预先设置的预定义规则对数据仓库中查询指令的语法结构进行定义;
当SDL指令与查询指令的语法结构相匹配时,且在SDL接口将SDL引擎与数据仓库连接之后,则SDL解释器通过Http协议对数据仓库中与解析后的抽象语法树对应的数据信息进行调用。
更具体地,处理器还对查询指令的功能、函数清单和匹配规则等内容进行定义。屏蔽了复杂的技术逻辑,却保留了丰富的业务操作能力。
即,语法定义层实现了与数据仓库的连接与断开,并实现了对元数据查询,对数据查询,对数据统计,对数据制图,以及对配套工具等操作。
其中,SDL引擎支持的数据类型包括:1、数字,具体包括:整数、浮点数;2、***常量,具体包括:null、true、false;3、字符串,以""为标识,比如:"This is a string";4、命名参数,比如:abc;5、函数,比如:add()等;6、运算符,包括:()[]!+-*/等。
其中,匹配规则包括:模糊匹配规则、范围匹配规则、并列关系匹配规则。
具体地,可通过:“%”表示模糊匹配;“~”表示范围匹配;“,”表示并列关系;“!”表示除了指定之外的关系。
需要说明的是,匹配规则之间可以组合使用。
其中,连接数据仓库的操作函数可为:sdl.connect(username,password);数据查询的操作函数可为:sdl.data();元数据查询的操作函数可为:sdl.variable(),数据计算的操作函数可为:sdl.data.min(),数据绘图的操作函数可为:sdl.boxplot(),工具集的操作函数可为:sdl.tools.sort()。
通过本实施例提供的:对查询指令的语法结构进行定义,只有当SDL指令与查询指令的语法结构相匹配时,且在SDL引擎与数据仓库连接后,SDL解释器才能对数据仓库中的数据信息进行调用的技术方案,确保了调取数据信息的安全性和可靠性,从而进一步实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
为使本发明实施例的技术方案更加清楚,特举例进行说明。
例如,需要“查询营业收入超过100万的工业企业的利润总额”,将该请求转换成SDL指令:变量="利润总额",营业收入="1000000~",专业="工业"。
详细执行步骤如下:
SDL解析器对该SDL指令进行解析,得到抽象语法树,SDL解释器对该抽象语法树进行解析,通过:sdl.connect("username","password")连接数据仓库,对数据信息进行调用并执行SDL指令对应的操作,具体如下:
查询元数据:1、sdl.variable("利润总额,营业收入,专业")
//从返回结果中找到这三个变量的编码分别为VAR100002,VAR100151,VAR101059;
2、sdl.code("工业")
//返回的业务编码为B
查询数据:
sdl.data(variables="VAR100002",VAR100151="1000000~",VAR101059="B")
在得到需要查询的数据信息后,可通过:sdl.disconnect()对数据仓库进行断开。
根据本发明实施例的另一个方面,本发明实施例提供了与上述方法相对应的一种数据查询***。
请参阅图2,图2为本发明实施例提供的一种数据查询***的结构示意图。
如图2所示,该***包括:SDL引擎、SDL接口和数据仓库,其中,SDL引擎包括SDL解析器和SDL解释器,其中,
SDL解析器用于:对接收到的SDL指令进行解析,得到抽象语法树;
SDL解释器用于:对抽象语法树进行解析,并在SDL接口将SDL引擎与数据仓库连接之后,通过Http协议对数据仓库中与解析后的抽象语法树对应的数据信息进行调用,并根据数据信息和解析后的抽象语法树执行SDL指令对应的操作。
更具体地,SDL解析器具体用于:
解析SDL指令,得到SDL指令中的常量、运算符、变量、命名对象;
根据SDL指令中运算符的优先级,将SDL指令中的常量、运算符、变量、命名对象转化为抽象语法树。
更具体地,SDL解释器具体用于:
根据预先设置的遍历规则遍历抽象语法树的节点,以便得到计算逻辑;
根据计算逻辑和调用的数据信息执行SDL指令对应的操作,并得到执行结果。
更具体地,预先设置的遍历规则为:广度优先规则或深度优先规则。
更具体地,***还包括:处理器,其中,
处理器用于:根据预先设置的预定义规则对数据仓库中查询指令的语法结构进行定义;
当SDL指令与查询指令的语法结构相匹配时,且在SDL接口将SDL引擎与数据仓库连接之后,则SDL解释器通过Http协议对数据仓库中与解析后的抽象语法树对应的数据信息进行调用。
本发明实施例通过SDL解析器对SDL指令进行解析,得到抽象语法树,SDL解释器对该抽象语法树进行解析,并通过Http协议对与解析后的抽象语法树对应的数据信息进行调用,从而根据数据信息和解析后的抽象语法树执行SDL指令对应的操作的技术方案,一方面,避免了现有技术中通过特定的***对数据进行查询时,消耗成本高,适用性单一的技术弊端;另一方面,避免了现有技术中通过“字段”或“关键字段”对数据进行查询时,查询结果不够精准,且容易造成干扰的技术弊端;再一方面,实现了灵活的对数据进行查询,且准确性高,查询效率高的技术效果。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
还应理解,在本发明各实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据查询方法,其特征在于,所述方法包括:
SDL引擎中的SDL解析器对接收到的SDL指令进行解析,得到抽象语法树;
所述SDL引擎中的SDL解释器对所述抽象语法树进行解析;
在SDL接口将所述SDL引擎与数据仓库连接之后,所述SDL解释器通过Http协议对所述数据仓库中与解析后的抽象语法树对应的数据信息进行调用;
所述SDL解释器根据所述数据信息和解析后的抽象语法树执行所述SDL指令对应的操作。
2.根据权利要求1所述的一种数据查询方法,其特征在于,所述SDL引擎中的SDL解析器对接收到的SDL指令进行解析,得到抽象语法树,具体包括:
解析所述SDL指令,得到所述SDL指令中的常量、运算符、变量、命名对象;
根据所述SDL指令中所述运算符的优先级,将所述SDL指令中的所述常量、所述运算符、所述变量、所述命名对象转化为所述抽象语法树。
3.根据权利要求1所述的一种数据查询方法,其特征在于,所述SDL解释器根据所述数据信息和解析后的抽象语法树执行SDL指令对应的操作,具体包括:
根据预先设置的遍历规则遍历解析后的抽象语法树的节点,以便得到计算逻辑;
根据所述计算逻辑和调用的所述数据信息执行所述SDL指令对应的操作,并得到执行结果。
4.根据权利要求3所述的一种数据查询方法,其特征在于,所述预先设置的遍历规则为:广度优先规则或深度优先规则。
5.根据权利要求1-4中任一项所述的一种数据查询方法,其特征在于,所述方法还包括:
处理器根据预先设置的预定义规则对所述数据仓库中查询指令的语法结构进行定义;
当所述SDL指令与所述查询指令的语法结构相匹配时,且在SDL接口将所述SDL引擎与数据仓库连接之后,则所述SDL解释器通过Http协议对所述数据仓库中与解析后的抽象语法树对应的数据信息进行调用。
6.一种数据查询***,其特征在于,所述***包括:SDL引擎、SDL接口和数据仓库,其中,所述SDL引擎包括SDL解析器和SDL解释器,其中,
所述SDL解析器用于:对接收到的SDL指令进行解析,得到抽象语法树;
所述SDL解释器用于:对所述抽象语法树进行解析,并在所述SDL接口将所述SDL引擎与所述数据仓库连接之后,通过Http协议对所述数据仓库中与解析后的抽象语法树对应的数据信息进行调用,并根据所述数据信息和解析后的抽象语法树执行所述SDL指令对应的操作。
7.根据权利要求6所述的一种数据查询***,其特征在于,所述SDL解析器具体用于:
解析所述SDL指令,得到所述SDL指令中的常量、运算符、变量、命名对象;
根据所述SDL指令中所述运算符的优先级,将所述SDL指令中的所述常量、所述运算符、所述变量、所述命名对象转化为所述抽象语法树。
8.根据权利要求7所述的一种数据查询***,其特征在于,所述SDL解释器具体用于:
根据预先设置的遍历规则遍历所述抽象语法树的节点,以便得到计算逻辑;
根据所述计算逻辑和调用的所述数据信息执行所述SDL指令对应的操作,并得到执行结果。
9.根据权利要求8所述的一种数据查询***,其特征在于,所述预先设置的遍历规则为:广度优先规则或深度优先规则。
10.根据权利要求6-9中任一项所述的一种数据查询***,其特征在于,所述***还包括:处理器,其中,
所述处理器用于:根据预先设置的预定义规则对所述数据仓库中查询指令的语法结构进行定义;
当所述SDL指令与所述查询指令的语法结构相匹配时,且在所述SDL接口将所述SDL引擎与数据仓库连接之后,则所述SDL解释器通过Http协议对所述数据仓库中与解析后的抽象语法树对应的数据信息进行调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711047703.XA CN107832391B (zh) | 2017-10-31 | 2017-10-31 | 一种数据查询方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711047703.XA CN107832391B (zh) | 2017-10-31 | 2017-10-31 | 一种数据查询方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107832391A true CN107832391A (zh) | 2018-03-23 |
CN107832391B CN107832391B (zh) | 2020-08-18 |
Family
ID=61651165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711047703.XA Active CN107832391B (zh) | 2017-10-31 | 2017-10-31 | 一种数据查询方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832391B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108806797A (zh) * | 2018-06-27 | 2018-11-13 | 思派(北京)网络科技有限公司 | 一种医疗数据的处理方法及*** |
CN108920614A (zh) * | 2018-06-28 | 2018-11-30 | 北京奇虎科技有限公司 | 在线查询数据的方法、装置及*** |
CN109542954A (zh) * | 2018-11-30 | 2019-03-29 | 长城计算机软件与***有限公司 | 一种统一接口的数据查询方法及*** |
CN112579856A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 对爬取控制指令的处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252509A (zh) * | 2013-11-05 | 2014-12-31 | 深圳市华傲数据技术有限公司 | 一种表达式执行方法和装置 |
CN104899314A (zh) * | 2015-06-17 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 一种数据仓库的血统分析方法和装置 |
CN105930267A (zh) * | 2016-04-15 | 2016-09-07 | 中国工商银行股份有限公司 | 一种基于数据库字典的存储过程静态检测方法及*** |
US20170046250A1 (en) * | 2015-06-10 | 2017-02-16 | International Business Machines Corporation | Source code search engine |
CN107038207A (zh) * | 2017-02-20 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、数据处理方法及装置 |
-
2017
- 2017-10-31 CN CN201711047703.XA patent/CN107832391B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252509A (zh) * | 2013-11-05 | 2014-12-31 | 深圳市华傲数据技术有限公司 | 一种表达式执行方法和装置 |
US20170046250A1 (en) * | 2015-06-10 | 2017-02-16 | International Business Machines Corporation | Source code search engine |
CN104899314A (zh) * | 2015-06-17 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 一种数据仓库的血统分析方法和装置 |
CN105930267A (zh) * | 2016-04-15 | 2016-09-07 | 中国工商银行股份有限公司 | 一种基于数据库字典的存储过程静态检测方法及*** |
CN107038207A (zh) * | 2017-02-20 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
何炎祥: "《编译程序构造》", 30 April 1988 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108806797A (zh) * | 2018-06-27 | 2018-11-13 | 思派(北京)网络科技有限公司 | 一种医疗数据的处理方法及*** |
CN108920614A (zh) * | 2018-06-28 | 2018-11-30 | 北京奇虎科技有限公司 | 在线查询数据的方法、装置及*** |
CN108920614B (zh) * | 2018-06-28 | 2021-08-20 | 北京奇虎科技有限公司 | 在线查询数据的方法、装置及*** |
CN109542954A (zh) * | 2018-11-30 | 2019-03-29 | 长城计算机软件与***有限公司 | 一种统一接口的数据查询方法及*** |
CN112579856A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 对爬取控制指令的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107832391B (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7398537B2 (ja) | 構造化ユーザーデータファイル内のユーザーコンテンツの難読化 | |
CN107832391A (zh) | 一种数据查询方法和*** | |
US10237295B2 (en) | Automated event ID field analysis on heterogeneous logs | |
US9483583B2 (en) | Syslog parser | |
CN109862379A (zh) | 一种日志处理方法、装置、移动终端及存储介质 | |
CN108804323A (zh) | 代码质量监控方法、设备及存储介质 | |
CN110175027A (zh) | 一种开发业务功能的方法和装置 | |
CN106341257B (zh) | 一种自定义日志解析规则并自动解析日志的装置 | |
CN102647414A (zh) | 协议解析方法、设备及*** | |
CN110661660B (zh) | 告警信息根源分析方法及装置 | |
US20190220452A1 (en) | Index suggestion engine for relational databases | |
US10324933B2 (en) | Technique for processing query in database management system | |
KR101461051B1 (ko) | 웹 기능 분석을 통한 악성 코드 탐지방법 및 그 기록매체 | |
CN112068815B (zh) | 一种业务规则的处理方法及装置 | |
CN107426211A (zh) | 网络攻击的检测方法及装置、终端设备和计算机存储介质 | |
CN111708756A (zh) | 数据仓库自动化处理的方法、装置、设备及存储介质 | |
CN110532267A (zh) | 字段的确定方法、装置、存储介质及电子装置 | |
CN116010389A (zh) | 数据校验方法、装置、设备及存储介质 | |
CN111079407B (zh) | 对用户输入的内容进行解析的方法和装置 | |
CN112131239B (zh) | 一种数据处理方法、计算机设备以及可读存储介质 | |
US20220342919A1 (en) | Method and system for generating a response to an unstructured natural language (nl) query | |
CN105930453A (zh) | 重复性分析方法及装置 | |
CN105204937B (zh) | 内核函数调用方法、装置及操作*** | |
CN110045961B (zh) | 业务规则的管理方法及管理平台 | |
CN106959903A (zh) | 陷阱指令Trap的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100190 17-19 / F, building a 1, 66 Zhongguancun East Road, Haidian District, Beijing Patentee after: New Great Wall Technology Co.,Ltd. Address before: 100190 17-19 / F, building a 1, 66 Zhongguancun East Road, Haidian District, Beijing Patentee before: GREAT WALL COMPUTER SOFTWARE & SYSTEMS Inc. |
|
CP01 | Change in the name or title of a patent holder |