使用复杂条件从数据源进行数据过滤的方法和系统技术方案

技术编号:6840342 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了使用复杂条件从数据源进行数据过滤的方法,包括:将每种类型数据过滤所用筛选条件转换成由若干个过滤组相互间以相同逻辑关系组合的形式,过滤组包括若干个彼此间以同一逻辑关系组合且均为单一过滤要素的过滤条件,并将所得的过滤组及其过滤条件之间组合关系记载于数据库表中;将当前数据过滤所用筛选条件的取值写入数据库表中;查询数据库表获得当前数据过滤中各过滤条件要求,并依次从数据源中筛选出符合各过滤组要求的初选数据;根据过滤组之间的逻辑关系和初选数据,从数据源中获得符合当前数据过滤要求的数据。还相应公开了包括转换处理单元,赋值单元、第一过滤单元和第二过滤单元的系统。它能有效提高扩展性、维护性和复用性。

【技术实现步骤摘要】
使用复杂条件从数据源进行数据过滤的方法和系统
本专利技术涉及数据过滤方法和系统,尤其涉及使用复杂条件从数据源进行数据过滤的方法和系统,属于数据处理

技术介绍
随着社会发展和时代进步,人们在现代生活中的各种交易活动也日益地增多,例如,金融业务交易、水电气等公共事业交易和网络支付交易等等。然而,与此同时,交易行为的类型及其业务逻辑规则也更为复杂。目前,当需要使用复杂条件(是指由多个条件进行多层次、高耦合性的逻辑关系组合)从数据源进行数据过滤的处理时,现有技术一般是通过直接在业务系统处理程序中修改过滤条件和过滤逻辑来实现的。例如,如果需要将数据过滤中的原条件1改为新条件2时,就直接在该业务系统处理程序中完成相应的修改。尽管采用上述处理方法,有时确实是非常方便和快捷,然而不容忽视的是,这种处理方法实际上是将整个系统的数据过滤条件完全混杂在一起,根本没有对数据过滤的处理逻辑进行严格的限定,从而使得业务处理之间存在着非常强的耦合性,甚至不确定性。具体而言,上述处理方法以及采用该方法的系统存在着以下这些缺点1、抗变更能力弱。如果存在针对过滤条件取值的变动,则需要更改相当复杂困难, 有时甚至根本无法进行修改;2、扩展性非常差。如果存在针对过滤条件的增加、删除,则对原有系统的影响相当大,因此不容易被融合在原有系统中;3、维护性非常差。由于复杂条件完全混杂在一起,所以致使其非常不容易被理解, 而且维护起来相当麻烦,需要投入大量的人力和物力;4、复用性非常差。由于过滤条件与过滤处理逻辑被糅合在一起,因此几乎不能被复用,从而造成对现有资源的严重浪费。
技术实现思路
有鉴于此,本专利技术的目的在于提供使用复杂条件从数据源进行数据过滤的方法和系统,以有效地解决现有的处理方法及系统中存在的扩展性、维护性和复用性都非常差以及抗变更能力弱等诸多问题。为实现上述专利技术目的,本专利技术采用的技术方案如下一种使用复杂条件从数据源进行数据过滤的方法,其包括如下步骤 A、将每种类型数据过滤所用的筛选条件转换成由若干个过滤组相互之间以相同逻辑关系进行组合的形式,所述过滤组包括若干个彼此之间以同一逻辑关系进行组合且均为单一过滤要素的过滤条件,并将所得到的过滤组及其过滤条件之间的组合关系记载于数据库表中;B、将当前数据过滤所用筛选条件的取值写入所述数据库表中;C、查询所述数据库表获得当前数据过滤中的各过滤条件要求,并依次从数据源中筛选出符合当前数据过滤中的各过滤组要求的初选数据;以及D、根据所述过滤组之间的逻辑关系以及所述初选数据,从数据源中获得符合当前数据过滤要求的数据。优选地,在上述的技术方案中,所述过滤组相互之间的逻辑关系是“或”,所述过滤条件彼此之间的逻辑关系是“与”。优选地,在上述的技术方案中,所述数据库表包括过滤组组合定义表,其用于记载每种类型数据过滤所包括的过滤组的信息,所述过滤组的信息至少包括过滤组的编号、过滤组内各过滤条件的分类号,并且每一个过滤组的编号是唯一的;过滤组算法定义表,其用于记载所述过滤组的具体信息,所述具体信息至少包括过滤组内各过滤条件的分类号及其过滤方式;以及过滤组取值表,其用于记载所述过滤组内各过滤条件的分类号、各过滤条件的具体取值。优选地,在上述的技术方案中,所述具体信息还包括对所述过滤组内各过滤条件的描述。优选地,在上述的技术方案中,所述过滤方式包括过滤条件类型和黑白名单标识, 所述过滤条件类型是指过滤出唯一数值或者一个数值范围,所述黑白名单标识是指使用黑名单或者白名单的选定方式来选中符合要求的数据。优选地,在上述的技术方案中,所述具体取值包括过滤条件最小值和过滤条件最大值,并且当所述过滤组算法定义表中的所述过滤条件类型为过滤出唯一数值时,所述过滤条件最小值与所述过滤条件最大值相同。优选地,在上述的技术方案中,所述过滤组取值表还包括用于记载所需要的附加数据的字段。优选地,在上述的技术方案中,所述步骤C具体包括步骤Cl、判断在所述过滤组组合定义表中是否存在第一个过滤组的记录?如果不存在则结束,否则进入步骤C2 ;步骤C2、根据当前过滤组的编号,在所述过滤组组合定义表中找出该过滤组中第一个过滤条件的分类号;步骤C3、通过所得到的当前过滤条件的分类号,在所述过滤组算法定义表中找出当前过滤条件的过滤条件类型、黑白名单标识;步骤C4、通过所得到的当前过滤条件的分类号,在所述过滤组取值表中找出当前过滤条件的取值记录;步骤C5、判断数据源中是否存在符合当前过滤条件的数据?如果存在,则进入步骤C6 ;否则,继续判断在所述过滤组组合定义表中是否存在下一个过滤组的记录?如果存在,则返回步骤C2;否则,结束;步骤C6、判断当前过滤组内所有过滤条件是否均匹配完毕?如果是则在数据源中查找并输出符合当前过滤组要求的数据,否则返回步骤C 3继续匹配当前过滤组内的下一个过滤条件。本专利技术还同时提供了一种使用复杂条件进行数据过滤的系统,其包括转换处理单元,其用于将每种类型数据过滤所用的筛选条件转换成由若干个过滤组相互之间以相同逻辑关系进行组合的形式,所述过滤组包括若干个彼此之间以同一逻辑关系进行组合且均为单一过滤要素的过滤条件,并将所得到的过滤组及其过滤条件之间的组合关系记载于数据库表中;赋值单元,其用于将一个数据过滤所用筛选条件的取值写入所述数据库表中;第一过滤单元,其用于通过查询所述数据库表获得所述数据过滤中的各过滤条件要求,并依次从数据源中筛选出符合该数据过滤中的各过滤组要求的初选数据;以及第二过滤单元,其用于根据所述过滤组之间的逻辑关系以及所述初选数据,从数据源中获得符合该数据过滤要求的数据。优选地,在上述的技术方案中,所述转换处理单元中的过滤组相互之间的逻辑关系是“或”,所述过滤组内的各过滤条件彼此之间的逻辑关系是“与”。本专利技术的有益效果在于在从数据源进行某种类型的数据过滤应用时,针对使用复杂逻辑组合的多种条件来筛选出数据的情形,由于本专利技术方法与现有技术相比是通过采用先将这些复杂条件进行逻辑关系转换处理,然后再将其重新组合的方式来完成数据过滤的,此外还通过过滤组取值、过滤组算法定义、过滤组组合定义的组合方式(即将过滤要素取值、过滤要素、过滤要素值操作方法进行分解和再整合)来设计提供优化整合的数据源, 从而能够使得系统的复杂业务处理能力以及扩展性能实现质的提高,对于增加数据过滤的条件、修改数据过滤的选择条件、提高变更速度等都极其有利,因此适用于所有存在需要使用复杂条件进行数据过滤的情形,尤其是过滤要素和/或过滤要素取值经常发生改变的应用场合。相应地,对于采用了本专利技术方法的系统,其完全适用于所有的业务处理领域,并且尤其适用于具有复杂逻辑处理应用需求的行业领域,例如金融类联机交易、金融清算、电信类计费、商务网络在线交易等。总之,本专利技术方法及其系统具备抗变更能力强、扩展性佳、维护性好、复用性能突出等众多显著优点,可以有效节约并高效利用已有的资源,杜绝严重浪费人力和物力现象的发生。附图说明以下将结合附图和实施例,对本专利技术的技术方案作进一步的详细描述。其中图1是本专利技术的使用复杂条件从数据源进行数据过滤的方法的一个较佳实施例的部分流程处理图;图2是本专利技术的使用复杂条件从数据源进行数据过滤的方法一个较佳实施例中对复杂条件进行逻辑关系转换处理后的过本文档来自技高网...

【技术保护点】
1.一种使用复杂条件从数据源进行数据过滤的方法,其特征在于,所述方法包括如下步骤:A、将每种类型数据过滤所用的筛选条件转换成由若干个过滤组相互之间以相同逻辑关系进行组合的形式,所述过滤组包括若干个彼此之间以同一逻辑关系进行组合且均为单一过滤要素的过滤条件,并将所得到的过滤组及其过滤条件之间的组合关系记载于数据库表中;B、将当前数据过滤所用筛选条件的取值写入所述数据库表中;C、查询所述数据库表获得当前数据过滤中的各过滤条件要求,并依次从数据源中筛选出符合当前数据过滤中的各过滤组要求的初选数据;以及D、根据所述过滤组之间的逻辑关系以及所述初选数据,从数据源中获得符合当前数据过滤要求的数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄敬刘志宇
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1