The invention discloses a method and device for access conditions of data filtering, data relating to operation field, the main purpose is to make the complexity of the data table structure does not depend on the condition of data filtering, the database table only need a list of data can be stored in various types of conditions to filter data. The main technical scheme of the invention is that the original condition of filter data decomposition, filter data to generate ternary tree structure; the condition of filtering data of the ternary tree structure of string operator and operation value, the value of the string format operator + + operation value for the operation, the operating value variables, constants or conditions to filter data, the operator including the logical operator, auxiliary operators and comparison operators; the string stored in the database. The invention is mainly used in the process of accessing conditional filtering data.
【技术实现步骤摘要】
本专利技术涉及数据操作领域,尤其涉及一种条件过滤数据的存取方法及装置。
技术介绍
软件开发中,通常需要保存一些条件过滤数据,比如“年龄小于18岁的用户”,“汽车速度不能超过120km/h”等。这些数据在需要设置报警条件时很重要。目前,一般常用的保存办法是把这些条件过滤数据直接保存到数据库的一张表中,该数据库表的设计一般包含三列:数据类型,指“年龄”,“速度”等;操作类型,指“大于”,“小于”,“等于”等;操作值,指“18”,“120”。专利技术人在使用上述条件过滤数据的保存时,由于该数据库表中通常只有三列,只能存储一些简单的条件过滤数据,遇到复杂条件过滤数据就很难满足了。比如,“年龄小于18岁但大于80岁”,“地区为北京和上海两个城市的”。要想采用数据库表存储复杂的条件过滤数据,条件过滤数据组成越复杂,数据库表结构就需要越复杂。
技术实现思路
有鉴于此,本专利技术提供一种条件过滤数据存取的方法及装置,主要目的在于使数据表结构不依赖于条件过滤数据的复杂程度,数据库表中只需要一列数据就可以保存各种类型的条件过滤数据。为达到上述目的,本专利技术提供如下技术方案:一方面,本专利技术提供一种条件过滤数据的存取方法,包括:将原始条件过滤数据进行分解,生成三叉树结构的条件过滤数据;将所述三叉树结构的条件过滤数据翻译成包含操作符和操作值的字符串,所述字符串的格式为操作值+操作符+操作值,所述操作值为变量、常量或者条件过滤数据,所述操作符包括逻辑操作符,辅助操作符以及比较操作符;将所述字符串保存在数据库中。另一方面,本专利技术还提供一种条件过滤数据的存取装置,包括:分解单元, ...
【技术保护点】
一种条件过滤数据的存取方法,其特征在于,包括:将原始条件过滤数据进行分解,生成三叉树结构的条件过滤数据;将所述三叉树结构的条件过滤数据翻译成包含操作符和操作值的字符串,所述字符串的格式为操作值+操作符+操作值,所述操作值为变量、常量或者条件过滤数据,所述操作符包括逻辑操作符,辅助操作符以及比较操作符;将所述字符串保存在数据库中。
【技术特征摘要】
1.一种条件过滤数据的存取方法,其特征在于,包括:将原始条件过滤数据进行分解,生成三叉树结构的条件过滤数据;将所述三叉树结构的条件过滤数据翻译成包含操作符和操作值的字符串,所述字符串的格式为操作值+操作符+操作值,所述操作值为变量、常量或者条件过滤数据,所述操作符包括逻辑操作符,辅助操作符以及比较操作符;将所述字符串保存在数据库中。2.根据权利要求1所述的方法,其特征在于,将所述三叉树结构的条件过滤数据翻译成包含操作符和操作值的字符串包括:从所述三叉树结构的根节点开始,基于所述操作符并按照操作值+操作符+操作值的顺序,将所述三叉树结构中的条件过滤数据进行拼接,生成包含操作符和操作值的字符串。3.根据权利要求1或2所述的方法,其特征在于,还包括:当需要使用所述条件过滤数据时,从所述数据库中读取对应字符串,并将所述字符串翻译为原始条件过滤数据。4.根据权利要求3所述的方法,其特征在于,将所述字符串翻译为原始条件过滤数据包括:对所述字符串进行识别,并按照操作符的优先级将所述字符串拆分为操作值+操作符+操作值格式的条件过滤数据;基于所述操作符将所述操作值+操作符+操作值格式的条件过滤数据生成三叉树结构的条件过滤数据;将所述三叉树结构的条件过滤数据进行聚合,得到所述原始条件过滤数据。5.根据权利要求4所述的方法,其特征在于,在对所述字符串进行识别,并按照操作符的优先级将所述字符串拆分为操作值+操作符+操作值格式的条件过滤数据之前,还包括:设置所述操作符的优先级。6.一种条件过滤数据的存取装...
【专利技术属性】
技术研发人员:曹志明,
申请(专利权)人:北京国双科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。