CN104317913A - 属性组合的筛选方法和属性组合的筛选装置 - Google Patents
属性组合的筛选方法和属性组合的筛选装置 Download PDFInfo
- Publication number
- CN104317913A CN104317913A CN201410589534.2A CN201410589534A CN104317913A CN 104317913 A CN104317913 A CN 104317913A CN 201410589534 A CN201410589534 A CN 201410589534A CN 104317913 A CN104317913 A CN 104317913A
- Authority
- CN
- China
- Prior art keywords
- attribute
- combinations
- span
- attributes
- target
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种属性组合的筛选方法,包括:根据接收到的设置命令,设置数据实体的多个属性取值依赖关系组;对每个属性取值依赖关系组进行拆分,将第一属性集合和第二属性集合中的第一取值范围和第二取值范围进行笛卡尔积组合,以得到多个属性取值依赖数组,其中,每个属性取值依赖数组中包括一个第一属性信息的一个第一取值范围和对应的一个第二属性信息的一个第二取值范围;将拆分结果按照预设排序方法进行排序,以得到属性组合有效性定义表。相应地,本发明还提供了一种属性组合的筛选装置。通过本发明的技术方案,可以帮助用户快速的筛选有效属性组合,减少了用户的操作复杂度,提供了良好的用户体验。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种属性组合的筛选方法和一种属性组合的筛选装置。
背景技术
在应用开发中,经常遇到需要对某一数据实体的多个属性同时设置取值的场景,而数据实体的属性取值范围往往并不是多个属性取值范围的简单笛卡尔积,而是多个属性的取值之间存在一定的相互约束,使得某些属性组合是没有实际含义的无效组合。在应用操作中,这些无效组合往往会带来一定的不便之处。
例如:某数据实体具有四项属性,如表1所示。
表1
属性 | 取值范围 |
A | a1、a2 |
B | b1、b2、b3、b4 |
C | c1、c2、c3 |
D | d1、d2 |
属性取值组合有效性:
1)a1仅与b1、b2为有效组合;
2)a2仅与b3、b4为有效组合;
3)当A、B取值为a1+b1时,c2、c3无效,仅c1有效;
4)D可以与其他属性任意组合
场景一:将属性A、B、C作为查询条件,查询数据。
当A、B、C直接提供其取值范围作为选择时,存在24种选择方式,实际只有10种选择方式是有效的,半数以上几率的无效选择会给使用者带来一定的困惑,也增加了操作复杂度,没有提供很好的用户体验。
场景二:对属性A、B、C、D进行多选,批量创建数据实体。
一般的操作过程是:对属性A、B、C、D进行多选后,将取值生成笛卡尔积,再将其中不合法的无效组合剔除。由于缺少规范化定义组合有效性的方法,因此剔除无效组合的过程一般由人工完成,操作繁琐且容易出错。
为解决以上问题,需要一种帮助用户快速筛选有效属性组合的方法,将筛选过程与终端用户分离,让大部分用户无需关注筛选过程,同时也减少了用户的操作复杂度,提供良好的用户体验。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,可以帮助用户快速的筛选有效属性组合,将筛选过程与终端用户分离,让用户无需关注筛选过程,同时也减少了用户的操作复杂度,提供了良好的用户体验。
有鉴于此,本发明的一方面提出了一种属性组合的筛选方法,包括:根据接收到的设置命令,设置数据实体的多个属性取值依赖关系组,其中,每个属性取值依赖关系组包括第一属性集合和与所述第一属性集合存在依赖关系的第二属性集合,所述第一属性集合列包括至少一个第一属性信息和与每个第一属性信息对应的至少一个第一取值范围,所述第二属性集合包括至少一个第二属性信息和与每个第二属性信息对应的至少一个第二取值范围;对所述每个属性取值依赖关系组进行拆分,将所述第一属性集合和所述第二属性集合中的所述第一取值范围和所述第二取值范围进行笛卡尔积组合,以得到多个属性取值依赖数组,其中,每个属性取值依赖数组中包括一个第一属性信息的一个第一取值范围和对应的一个第二属性信息的一个第二取值范围;将拆分结果按照预设排序方法进行排序,以得到属性组合有效性定义表,其中,所述属性组合有效性定义表中包括有效属性行,所述有效属性行中包含多个属性信息,每个属性信息对应一个属性信息的取值范围列。
在该技术方案中,将存在依赖关系的第一属性集合中的属性信息和取值范围,和第二属性集合中的属性信息和取值范围进行拆分组合,从而形成一对一的依赖关系,从而便于后续进行查询、批量创建、启动用户编制任务表等,提供了更好的用户体验。
其中,存在依赖关系是指,当数据参数的实体符合第一属性集合中的属性及取值范围时,第二属性集合中的属性的取值限制在其对应的取值范围内。
在上述技术方案中,优选地,还包括:判断所述多个属性取值依赖数组中,是否包含属性取值依赖关系重复的数组;在判断结果为是时,将属性取值依赖关系重复的数组合并成一个属性取值依赖数组。
在该技术方案中,如果出现属性依赖关系重复的数组,则将其合并为一个数组,从而使得最后形成的属性组合有效性定义表中各属性之间的依赖关系都是有效的,且不包含重复的依赖关系。
在上述技术方案中,优选地,还包括:在接收到包含目标属性信息和目标取值范围的第一查询条件,判断所述属性组合有效性定义表中是否有符合所述第一查询条件的目标属性取值依赖数组;在判断结果为是时,获取所述目标属性取值依赖数组,并输出所述目标属性取值依赖数组中与所述目标属性信息和所述目标取值范围对应的属性信息和取值范围。
在该技术方案中,当以某一属性作为查询条件查询数据时,可以直接从属性组合有效性定义表中进行选择,由于属性组合有效性定义表中的属性组合都是有效的,这样,直接从有效的属性组合中进行查询,缩短了查询时间,降低了操作难度,提供了更好的用户体验。
在上述技术方案中,优选地,还包括:在接收到包含所述属性组合有效性定义表中的多个目标属性和与每个目标属性对应的至少一个目标取值范围的第二查询条件时,从所述属性组合有效性定义表中获取包含每个目标属性和每个目标取值范围的目标属性取值依赖数组,并根据所述目标属性取值依赖数组输出符合所述第二查询条件的属性取值组合。
在该技术方案中,在选择多个属性,批量创建数据实体时,直接根据属性组合有效性定义表进行属性取值组合,不需要人工剔除不合法的无效组合,节省了用户的操作,处理速度也更快。
在上述技术方案中,优选地,还包括:存储所述属性组合有效性定义表。
在该技术方案中,可以将属性组合有效性定义表进行存储,这样,后续每次应用时,直接使用即可,即一次定义可多次生效,从而减少了用户的定义操作,给用户提供了更好的使用体验。
根据本发明的另一方面,还提供了一种属性组合的筛选装置,包括:设置单元,根据接收到的设置命令,设置数据实体的多个属性取值依赖关系组,其中,每个属性取值依赖关系组包括第一属性集合和与所述第一属性集合存在依赖关系的第二属性集合,所述第一属性集合列包括至少一个第一属性信息和与每个第一属性信息对应的至少一个第一取值范围,所述第二属性集合包括至少一个第二属性信息和与每个第二属性信息对应的至少一个第二取值范围;拆分单元,对所述每个属性取值依赖关系组进行拆分,将所述第一属性集合和所述第二属性集合中的所述第一取值范围和所述第二取值范围进行笛卡尔积组合,以得到多个属性取值依赖数组,其中,每个属性取值依赖数组中包括一个第一属性信息的一个第一取值范围和对应的一个第二属性信息的一个第二取值范围;排序单元,将拆分结果按照预设排序方法进行排序,以得到属性组合有效性定义表,其中,所述属性组合有效性定义表中包括有效属性行,所述有效属性行中包含多个属性信息,每个属性信息对应一个属性信息的取值范围列。
在该技术方案中,将存在依赖关系的第一属性集合中的属性信息和取值范围,和第二属性集合中的属性信息和取值范围进行拆分组合,从而形成一对一的依赖关系,从而便于后续进行查询、批量创建、启动用户编制任务表等,提供了更好的用户体验。
其中存在依赖关系是指,当数据参数的实体符合第一属性集合中的属性及取值范围时,第二属性集合中的属性的取值限制在其对应的取值范围内。
在上述技术方案中,优选地,还包括:判断单元,判断所述多个属性取值依赖数组中,是否包含属性取值依赖关系重复的数组;合并单元,在判断结果为是时,将属性取值依赖关系重复的数组合并成一个属性取值依赖数组。
在该技术方案中,如果出现属性依赖关系重复的数组,则将其合并为一个数组,从而使得最后形成的属性组合有效性定义表中各属性之间的依赖关系都是有效的,且不包含重复的依赖关系。
在上述技术方案中,优选地,还包括:判断单元,在接收到包含目标属性信息和目标取值范围的第一查询条件,判断所述属性组合有效性定义表中是否有符合所述第一查询条件的目标属性取值依赖数组;输出单元,在判断结果为是时,获取所述目标属性取值依赖数组,并输出所述目标属性取值依赖数组中与所述目标属性信息和所述目标取值范围对应的属性信息和取值范围。
在该技术方案中,当以某一属性作为查询条件查询数据时,可以直接从属性组合有效性定义表中进行选择,由于属性组合有效性定义表中的属性组合都是有效的,这样,直接从有效的属性组合中进行查询,缩短了查询时间,降低了操作难度,提供了更好的用户体验。
在上述技术方案中,优选地,还包括:输出单元,在接收到包含所述属性组合有效性定义表中的多个目标属性和与每个目标属性对应的至少一个目标取值范围的第二查询条件时,从所述属性组合有效性定义表中获取包含每个目标属性和每个目标取值范围的目标属性取值依赖数组,并根据所述目标属性取值依赖数组输出符合所述第二查询条件的属性取值组合。
在该技术方案中,在选择多个属性,批量创建数据实体时,直接根据属性组合有效性定义表进行属性取值组合,不需要人工剔除不合法的无效组合,节省了用户的操作,处理速度也更快。
在上述技术方案中,优选地,还包括:存储单元,存储所述属性组合有效性定义表。
在该技术方案中,可以将属性组合有效性定义表进行存储,这样,后续每次应用时,直接使用即可,即一次定义可多次生效,从而减少了用户的定义操作,给用户提供了更好的使用体验。
通过本发明的上述技术方案,可以帮助用户快速的筛选有效属性组合,将筛选过程与终端用户分离,让用户无需关注筛选过程,同时也减少了用户的操作复杂度,提供了良好的用户体验。
附图说明
图1示出了根据本发明的实施例的属性组合的筛选方法的流程图;
图2示出了根据本发明的实施例的属性组合的筛选装置的框图;
图3示出了利用本发明的实施例的生成属性组合有效性定义表的流程图;
图4示出了根据本发明实施例的获取属性取值范围的流程图;
图5示出了根据本发明的实施例的批量生成属性取值组合的流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的属性组合的筛选方法的流程图。
如图1所示,根据本发明的实施例的属性组合的筛选方法,包括:步骤102,根据接收到的设置命令,设置数据实体的多个属性取值依赖关系组,其中,每个属性取值依赖关系组包括第一属性集合和与所述第一属性集合存在依赖关系的第二属性集合,所述第一属性集合列包括至少一个第一属性信息和与每个第一属性信息对应的至少一个第一取值范围,所述第二属性集合包括至少一个第二属性信息和与每个第二属性信息对应的至少一个第二取值范围;步骤104,对所述每个属性取值依赖关系组进行拆分,将所述第一属性集合和所述第二属性集合中的所述第一取值范围和所述第二取值范围进行笛卡尔积组合,以得到多个属性取值依赖数组,其中,每个属性取值依赖数组中包括一个第一属性信息的一个第一取值范围和对应的一个第二属性信息的一个第二取值范围;步骤106,将拆分结果按照预设排序方法进行排序,以得到属性组合有效性定义表,其中,所述属性组合有效性定义表中包括有效属性行,所述有效属性行中包含多个属性信息,每个属性信息对应一个属性信息的取值范围列。
在该技术方案中,将存在依赖关系的第一属性集合中的属性信息和取值范围,和第二属性集合中的属性信息和取值范围进行拆分组合,从而形成一对一的依赖关系,从而便于后续进行查询、批量创建、启动用户编制任务表等,提供了更好的用户体验。
其中,存在依赖关系是指,当数据参数的实体符合第一属性集合中的属性及取值范围时,第二属性集合中的属性的取值限制在其对应的取值范围内。
在上述技术方案中,优选地,还包括:判断所述多个属性取值依赖数组中,是否包含属性取值依赖关系重复的数组;在判断结果为是时,将属性取值依赖关系重复的数组合并成一个属性取值依赖数组。
在该技术方案中,如果出现属性依赖关系重复的数组,则将其合并为一个数组,从而使得最后形成的属性组合有效性定义表中各属性之间的依赖关系都是有效的,且不包含重复的依赖关系。
在上述技术方案中,优选地,还包括:在接收到包含目标属性信息和目标取值范围的第一查询条件,判断所述属性组合有效性定义表中是否有符合所述第一查询条件的目标属性取值依赖数组;在判断结果为是时,获取所述目标属性取值依赖数组,并输出所述目标属性取值依赖数组中与所述目标属性信息和所述目标取值范围对应的属性信息和取值范围。
在该技术方案中,当以某一属性作为查询条件查询数据时,可以直接从属性组合有效性定义表中进行选择,由于属性组合有效性定义表中的属性组合都是有效的,这样,直接从有效的属性组合中进行查询,缩短了查询时间,降低了操作难度,提供了更好的用户体验。
在上述技术方案中,优选地,还包括:在接收到包含所述属性组合有效性定义表中的多个目标属性和与每个目标属性对应的至少一个目标取值范围的第二查询条件时,从所述属性组合有效性定义表中获取包含每个目标属性和每个目标取值范围的目标属性取值依赖数组,并根据所述目标属性取值依赖数组输出符合所述第二查询条件的属性取值组合。
在该技术方案中,在选择多个属性,批量创建数据实体时,直接根据属性组合有效性定义表进行属性取值组合,不需要人工剔除不合法的无效组合,节省了用户的操作,处理速度也更快。
在上述技术方案中,优选地,还包括:存储所述属性组合有效性定义表。
在该技术方案中,可以将属性组合有效性定义表进行存储,这样,后续每次应用时,直接使用即可,即一次定义可多次生效,从而减少了用户的定义操作,给用户提供了更好的使用体验。
图2示出了根据本发明的实施例的属性组合的筛选装置的框图。
如图2所示,根据本发明的实施例的属性组合的筛选装置200,包括:设置单元202,根据接收到的设置命令,设置数据实体的多个属性取值依赖关系组,其中,每个属性取值依赖关系组包括第一属性集合和与所述第一属性集合存在依赖关系的第二属性集合,所述第一属性集合列包括至少一个第一属性信息和与每个第一属性信息对应的至少一个第一取值范围,所述第二属性集合包括至少一个第二属性信息和与每个第二属性信息对应的至少一个第二取值范围;拆分单元204,对所述每个属性取值依赖关系组进行拆分,将所述第一属性集合和所述第二属性集合中的所述第一取值范围和所述第二取值范围进行笛卡尔积组合,以得到多个属性取值依赖数组,其中,每个属性取值依赖数组中包括一个第一属性信息的一个第一取值范围和对应的一个第二属性信息的一个第二取值范围;排序单元206,将拆分结果按照预设排序方法进行排序,以得到属性组合有效性定义表,其中,所述属性组合有效性定义表中包括有效属性行,所述有效属性行中包含多个属性信息,每个属性信息对应一个属性信息的取值范围列。
在该技术方案中,将存在依赖关系的第一属性集合中的属性信息和取值范围,和第二属性集合中的属性信息和取值范围进行拆分组合,从而形成一对一的依赖关系,从而便于后续进行查询、批量创建、启动用户编制任务表等,提供了更好的用户体验。
其中,存在依赖关系是指,当数据参数的实体符合第一属性集合中的属性及取值范围时,第二属性集合中的属性的取值限制在其对应的取值范围内。
在上述技术方案中,优选地,还包括:判断单元208,判断所述多个属性取值依赖数组中,是否包含属性取值依赖关系重复的数组;合并单元210,在判断结果为是时,将属性取值依赖关系重复的数组合并成一个属性取值依赖数组。
在该技术方案中,如果出现属性依赖关系重复的数组,则将其合并为一个数组,从而使得最后形成的属性组合有效性定义表中各属性之间的依赖关系都是有效的,且不包含重复的依赖关系。
在上述技术方案中,优选地,还包括:判断单元212,在接收到包含目标属性信息和目标取值范围的第一查询条件,判断所述属性组合有效性定义表中是否有符合所述第一查询条件的目标属性取值依赖数组;输出单元214,在判断结果为是时,获取所述目标属性取值依赖数组,并输出所述目标属性取值依赖数组中与所述目标属性信息和所述目标取值范围对应的属性信息和取值范围。
在该技术方案中,当以某一属性作为查询条件查询数据时,可以直接从属性组合有效性定义表中进行选择,由于属性组合有效性定义表中的属性组合都是有效的,这样,直接从有效的属性组合中进行查询,缩短了查询时间,降低了操作难度,提供了更好的用户体验。
在上述技术方案中,优选地,还包括:输出单元214,在接收到包含所述属性组合有效性定义表中的多个目标属性和与每个目标属性对应的至少一个目标取值范围的第二查询条件时,从所述属性组合有效性定义表中获取包含每个目标属性和每个目标取值范围的目标属性取值依赖数组,并根据所述目标属性取值依赖数组输出符合所述第二查询条件的属性取值组合。
在该技术方案中,在选择多个属性,批量创建数据实体时,直接根据属性组合有效性定义表进行属性取值组合,不需要人工剔除不合法的无效组合,节省了用户的操作,处理速度也更快。
在上述技术方案中,优选地,还包括:存储单元216,存储所述属性组合有效性定义表。
在该技术方案中,可以将属性组合有效性定义表进行存储,这样,后续每次应用时,直接使用即可,即一次定义可多次生效,从而减少了用户的定义操作,给用户提供了更好的使用体验。
下面以具体实例详细说明本发明的技术方案。
首先,详细说明属性组合有效性定义表的生成过程。
1、属性组合有效性定义接口方法:
输入参数表(即设置的多个属性取值依赖关系组)如表2所示:
表2
属性1[取值1~n]…… | 属性2[取值1~m]…… |
属性1[取值1~n]…… | 属性3[取值1~m]…… |
…… | …… |
该表2可以定义多行,每行表示一个属性取值依赖关系:当数据实体的属性符合输入参数第一列的属性及取值范围时时,输入参数第二列的属性取值限制在该取值范围内;同时,输入参数表的每一个单元格中可以定义多个属性及取值范围。
下面以背景技术中的数据实体为例,描述一个实际的输入参数表,如表2所示。
表3
A[a1] | B[b1、b2] |
A[a2] | B[b3、b4] |
A[a1];B[b1] | C[c1] |
表3有三行数据,分别表示以下业务含义:
1)当A取值为a1时,B取值范围为b1、b2(a1仅与b1、b2为有效组合);
2)当A取值为a2时,B取值范围为b3、b4(a2仅与b3、b4为有效组合);
3)当A取值a1并且B取值b1时,C取值范围为c1(当A、B取值为a1+b1时,c2、c3无效,仅c1有效);
接口输出结果:属性组合有效性定义表,如表4所示。
表4
行号 | 属性1 | 属性2 | 属性3 | …… |
1 | 取值1 | 取值2 | 取值3 | …… |
…… | …… | …… | …… | …… |
表4除行号列之外,每一列对应数据实体的一个属性,并且每个属性都应该有对应列;除行号列之外,每个单元格都对应相应列属性的至多一个取值,可以空白(表中以“——”代替)。
表4包含两层含义:
1.通过属性列顺序定义维度属性之间的约束顺序:
从左至右完整的顺序为属性1→属性2→属性3→……
同时可以存在如属性1→属性3之类的跨越式约束,但不会存在如属性3→属性1之类的循环式约束,因循环式约束会导致过滤时产生歧义。
2.通过行取值定义属性取值之间的约束关系:
根据约束顺序与行上的属性取值依次适配有效行,遇到空白值时表示可以适配该属性的任意取值。
下面以背景中的数据实体为例,描述一个实际的属性组合有效性定义表,如表5所示。
表5
行号 | 属性A | 属性B | 属性C | 属性D |
1 | a1 | b1 | c1 | —— |
2 | a1 | b2 | —— | —— |
3 | a2 | b3 | —— | —— |
4 | a2 | b4 | —— | —— |
如图3所示,属性组合有效性定义接口算法包含两个步骤:
步骤302:确定属性列顺序。
将输入参数表的每一行拆分为一个或多个属性一对一的依赖关系;根据获取到的所有依赖关系进行拓扑排序,得到一个属性的有序表(如果在排序过程中发生过了闭环,则表示输入参数不合法,无法得到有效结果);将该有序表中未包含的属性放置在表的末端。
以表3中的数据实体为例,演示步骤302的过程:
拆分属性依赖关系结果如表6所示:
表6
A[a1] | B[b1、b2] | 拆分得到:A→B |
A[a2] | B[b3、b4] | 拆分得到:A→B |
A[a1];B[b1] | C[c1] | 拆分得到:A→C;B→C |
将拆分结果进行拓扑排序,得到有序表:A→B→C
补充未包含的属性,得到:A→B→C→D
从而得到属性有效性定义表表头,如表7所示:
表7
行号 | 属性A | 属性B | 属性C | 属性D |
步骤304:填充属性取值。
将输入参数表的每一行分别在第一列和第二列中的属性取值范围进行笛卡尔积组合,得到两个属性取值配对数组,再在第一列和第二列之间进行笛卡尔积组合,得到该行的属性取值配对数组;
将数组对应属性列填充进表格中,数组中的每个属性取值配对对应表格中的一行,该行中没有取值的属性列对应单元格以“——”代表空白填充;
在填充过程中,如果已经存在的某行已包含当前取值配对,则当前取值配对不需要重复填充;如果已经存在的某行包含在当前取值配对中,则使用当前取值配对的填充结果覆盖该行。
以表3中的数据实体为例,演示步骤304的过程:
处理表3中的第一行:
A[a1] | B[b1、b2] |
得到结果如表8所示:
表8
行号 | 属性A | 属性B | 属性C | 属性D |
1 | a1 | b1 | —— | —— |
2 | a1 | b2 | —— | —— |
处理表3中的第二行:
A[a2] | B[b3、b4] |
得到结果如表9所示:
表9
行号 | 属性A | 属性B | 属性C | 属性D |
1 | a1 | b1 | —— | —— |
2 | a1 | b2 | —— | —— |
3 | a2 | b3 | —— | —— |
4 | a2 | b4 | —— | —— |
处理表3中的第三行:
A[a1];B[b1] | C[c1] |
得到结果如表10所示:
表10
行号 | 属性A | 属性B | 属性C | 属性D |
1 | a1 | b1 | c1 | —— |
2 | a1 | b2 | —— | —— |
3 | a2 | b3 | —— | —— |
4 | a2 | b4 | —— | —— |
至此,经过步骤302和步骤304的处理后,得到处理结果如表10所示的属性组合有效性定义表,属性组合有效性定义接口方法结束。
实施例一
在得到属性组合有效性定义表后,针对背景技术中的场景一,可采用如下处理方法。
输入参数:
已取值属性值集合:属性1[取值1,取值2……],属性2[……],……
要取值属性:属性n
其中已取值属性值集合中,属性的数量可以是0~n个,每个属性的取值数量可以是1~n个,不能为0。
返回值:
属性n的取值范围:0~n个取值
接口算法:
如图4所示,步骤402:根据已取值属性值集合内容构造形如“属性1in(取值1,取值2,……)and属性2in(……)”的查询条件,从属性组合有效性定义表中查询符合条件的记录;当已取值属性值集合中包含的属性数量为0时,可视为符合条件的记录数量为0条。
步骤404:从步骤402中查询出的记录中,提取要取值属性列对应的属性取值,生成属性n的取值集合;若该集合中不包含空白符号“——”,则直接返回该集合作为接口的返回值;若该集合中包含空白符号“——”,或步骤一查询出的记录数量为0条,则返回属性n的所有可用取值,作为接口的返回值。
以背景技术中的场景一为例,演示算法处理结果:
1)未选择属性时,确定属性A的取值范围:
输入参数:空;属性A
返回值:全部取值
2)当属性A选择了值a1,确定属性B的取值范围:
输入参数:A[a1];属性B
返回值:(b1、b2)
3)当属性A选择了值a1,确定属性C的取值范围:
输入参数:A[a1];属性C
返回值:全部取值
4)当属性A、属性B分别选择了值a1、b1,确定属性C的取值范围:
输入参数:A[a1],B[b1];属性C
返回值:(c1)
5)当属性A、属性B分别选择了值a2、b3,确定属性C的取值范围:
输入参数:A[a2],B[b3];属性C
返回值:全部取值。
实施例二
在得到属性组合有效性定义表后,针对背景技术中的场景二,则可采用如下处理方法。
输入参数:
已取值属性值集合:属性1[取值1,取值2……],属性2[……],……
其中已取值属性值集合中,属性的数量可以是1~n个,每个属性的取值数量可以是1~n个。
返回值:
属性取值组合数组
接口算法:
如图5所示,步骤502:根据输入参数构造如下查询条件对属性组合有效性定义表进行查询:
select属性1,属性2,……from属性组合有效性定义表
where属性1in(取值1,取值2……,——)
and属性2in(……,——)and……
需要注意的是,每个属性取值范围中都需要额外加上空白值“——”。
步骤504:如果步骤502的查询结果中,某些单元格的取值为空白“——”,那么使用输入参数中对应列的属性的取值将其替换;替换后,若某些单元格中取值数量大于一个,则对这些行的各列进行笛卡尔积组合,扩展为每行单元格均为单一取值的多行,即得到本接口要返回的属性取值组合数组。
以背景技术中的场景二为例,演示算法处理过程:
输入参数取值范围表,如表11所示:
表11
属性 | 选中的取值范围 |
A | a1、a2 |
B | b1、b3 |
C | c1、c3 |
D | d1、d2 |
步骤502的查询条件:
select属性A,属性B,属性C,属性D
from属性组合有效性定义表
where属性A in(a1、a2、——)
and属性B in(b1、b3、——)
and属性C in(c1、c3、——)
and属性D in(d1、d2、——)
查询结果如表12所示:
表12
行号 | 属性A | 属性B | 属性C | 属性D |
1 | a1 | b1 | c1 | —— |
3 | a2 | b3 | —— | —— |
步骤504替换空白“——”得到结果如表13所示:
表13
行号 | 属性A | 属性B | 属性C | 属性D |
1 | a1 | b1 | c1 | d1、d2 |
3 | a2 | b3 | c1、c3 | d1、d2 |
笛卡尔积展开多值行得到最终结果,如表14所示:
表14
属性A | 属性B | 属性C | 属性D |
a1 | b1 | c1 | d1 |
a1 | b1 | c1 | d2 |
a2 | b3 | c1 | d1 |
a2 | b3 | c1 | d2 |
a2 | b3 | c3 | d1 |
a2 | b3 | c3 | d2 |
场景二使用该接口自动获得有效组合6行;而如果直接使用取值范围进行笛卡尔积获得16行组合,其中有10行无效组合需要用户自己筛选剔除。
以上以背景技术中的两个场景详细说明了本发明的属性组合有效性定义表的应用,当然,本领域技术人员应当了解,除了上述给出的两种应用场景外,本发明还适用于其它场景,在此不一一列举。
以上结合附图详细说明了本发明的技术方案,通过本技术方案,可以帮助用户快速的筛选有效属性组合,将筛选过程与终端用户分离,让用户无需关注筛选过程,同时也减少了用户的操作复杂度,提供了良好的用户体验。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种属性组合的筛选方法,其特征在于,包括:
根据接收到的设置命令,设置数据实体的多个属性取值依赖关系组,其中,每个属性取值依赖关系组包括第一属性集合和与所述第一属性集合存在依赖关系的第二属性集合,所述第一属性集合列包括至少一个第一属性信息和与每个第一属性信息对应的至少一个第一取值范围,所述第二属性集合包括至少一个第二属性信息和与每个第二属性信息对应的至少一个第二取值范围;
对所述每个属性取值依赖关系组进行拆分,将所述第一属性集合和所述第二属性集合中的所述第一取值范围和所述第二取值范围进行笛卡尔积组合,以得到多个属性取值依赖数组,其中,每个属性取值依赖数组中包括一个第一属性信息的一个第一取值范围和对应的一个第二属性信息的一个第二取值范围;
将拆分结果按照预设排序方法进行排序,以得到属性组合有效性定义表,其中,所述属性组合有效性定义表中包括有效属性行,所述有效属性行中包含多个属性信息,每个属性信息对应一个属性信息的取值范围列。
2.根据权利要求1所述的属性组合的筛选方法,其特征在于,还包括:
判断所述多个属性取值依赖数组中,是否包含属性取值依赖关系重复的数组;
在判断结果为是时,将属性取值依赖关系重复的数组合并成一个属性取值依赖数组。
3.根据权利要求1所述的属性组合的筛选方法,其特征在于,还包括:
在接收到包含目标属性信息和目标取值范围的第一查询条件,判断所述属性组合有效性定义表中是否有符合所述第一查询条件的目标属性取值依赖数组;
在判断结果为是时,获取所述目标属性取值依赖数组,并输出所述目标属性取值依赖数组中与所述目标属性信息和所述目标取值范围对应的属性信息和取值范围。
4.根据权利要求1所述的属性组合的筛选方法,其特征在于,还包括:
在接收到包含所述属性组合有效性定义表中的多个目标属性和与每个目标属性对应的至少一个目标取值范围的第二查询条件时,从所述属性组合有效性定义表中获取包含每个目标属性和每个目标取值范围的目标属性取值依赖数组,并根据所述目标属性取值依赖数组输出符合所述第二查询条件的属性取值组合。
5.根据权利要求1至4中任一项所述的属性组合的筛选方法,其特征在于,还包括:
存储所述属性组合有效性定义表。
6.一种属性组合的筛选装置,其特征在于,包括:
设置单元,根据接收到的设置命令,设置数据实体的多个属性取值依赖关系组,其中,每个属性取值依赖关系组包括第一属性集合和与所述第一属性集合存在依赖关系的第二属性集合,所述第一属性集合列包括至少一个第一属性信息和与每个第一属性信息对应的至少一个第一取值范围,所述第二属性集合包括至少一个第二属性信息和与每个第二属性信息对应的至少一个第二取值范围;
拆分单元,对所述每个属性取值依赖关系组进行拆分,将所述第一属性集合和所述第二属性集合中的所述第一取值范围和所述第二取值范围进行笛卡尔积组合,以得到多个属性取值依赖数组,其中,每个属性取值依赖数组中包括一个第一属性信息的一个第一取值范围和对应的一个第二属性信息的一个第二取值范围;
排序单元,将拆分结果按照预设排序方法进行排序,以得到属性组合有效性定义表,其中,所述属性组合有效性定义表中包括有效属性行,所述有效属性行中包含多个属性信息,每个属性信息对应一个属性信息的取值范围列。
7.根据权利要求6所述的属性组合的筛选装置,其特征在于,还包括:
判断单元,判断所述多个属性取值依赖数组中,是否包含属性取值依赖关系重复的数组;
合并单元,在判断结果为是时,将属性取值依赖关系重复的数组合并成一个属性取值依赖数组。
8.根据权利要求6所述的属性组合的筛选装置,其特征在于,还包括:
判断单元,在接收到包含目标属性信息和目标取值范围的第一查询条件,判断所述属性组合有效性定义表中是否有符合所述第一查询条件的目标属性取值依赖数组;
输出单元,在判断结果为是时,获取所述目标属性取值依赖数组,并输出所述目标属性取值依赖数组中与所述目标属性信息和所述目标取值范围对应的属性信息和取值范围。
9.根据权利要求6所述的属性组合的筛选装置,其特征在于,还包括:
输出单元,在接收到包含所述属性组合有效性定义表中的多个目标属性和与每个目标属性对应的至少一个目标取值范围的第二查询条件时,从所述属性组合有效性定义表中获取包含每个目标属性和每个目标取值范围的目标属性取值依赖数组,并根据所述目标属性取值依赖数组输出符合所述第二查询条件的属性取值组合。
10.根据权利要求6至9中任一项所述的属性组合的筛选装置,其特征在于,还包括:
存储单元,存储所述属性组合有效性定义表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410589534.2A CN104317913B (zh) | 2014-10-28 | 2014-10-28 | 属性组合的筛选方法和属性组合的筛选装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410589534.2A CN104317913B (zh) | 2014-10-28 | 2014-10-28 | 属性组合的筛选方法和属性组合的筛选装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317913A true CN104317913A (zh) | 2015-01-28 |
CN104317913B CN104317913B (zh) | 2017-11-24 |
Family
ID=52373145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410589534.2A Active CN104317913B (zh) | 2014-10-28 | 2014-10-28 | 属性组合的筛选方法和属性组合的筛选装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317913B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106921614A (zh) * | 2015-12-24 | 2017-07-04 | 北京国双科技有限公司 | 业务数据处理方法和装置 |
CN109948133A (zh) * | 2019-03-19 | 2019-06-28 | 浪潮通用软件有限公司 | 一种基于Layui的数据表格的实现方法 |
CN109961304A (zh) * | 2017-12-22 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 用于生成信息的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091206A1 (en) * | 2003-09-10 | 2005-04-28 | Francois Koukerdjinian | Method and system for handling data available in multidimensional databases using a spreadsheet |
CN1828594A (zh) * | 2005-02-28 | 2006-09-06 | 微软公司 | 对象关系型数据的数据模型 |
CN101021874A (zh) * | 2007-03-21 | 2007-08-22 | 金蝶软件(中国)有限公司 | 一种对查询sql请求进行优化的方法及装置 |
CN101189607A (zh) * | 2005-03-29 | 2008-05-28 | 英国电讯有限公司 | 模式匹配 |
CN103577590A (zh) * | 2013-11-12 | 2014-02-12 | 北京润乾信息系统技术有限公司 | 一种数据查询方法和系统 |
-
2014
- 2014-10-28 CN CN201410589534.2A patent/CN104317913B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091206A1 (en) * | 2003-09-10 | 2005-04-28 | Francois Koukerdjinian | Method and system for handling data available in multidimensional databases using a spreadsheet |
CN1828594A (zh) * | 2005-02-28 | 2006-09-06 | 微软公司 | 对象关系型数据的数据模型 |
CN101189607A (zh) * | 2005-03-29 | 2008-05-28 | 英国电讯有限公司 | 模式匹配 |
CN101021874A (zh) * | 2007-03-21 | 2007-08-22 | 金蝶软件(中国)有限公司 | 一种对查询sql请求进行优化的方法及装置 |
CN103577590A (zh) * | 2013-11-12 | 2014-02-12 | 北京润乾信息系统技术有限公司 | 一种数据查询方法和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106921614A (zh) * | 2015-12-24 | 2017-07-04 | 北京国双科技有限公司 | 业务数据处理方法和装置 |
CN106921614B (zh) * | 2015-12-24 | 2020-05-22 | 北京国双科技有限公司 | 业务数据处理方法和装置 |
CN109961304A (zh) * | 2017-12-22 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 用于生成信息的方法和装置 |
CN109948133A (zh) * | 2019-03-19 | 2019-06-28 | 浪潮通用软件有限公司 | 一种基于Layui的数据表格的实现方法 |
CN109948133B (zh) * | 2019-03-19 | 2023-06-23 | 浪潮通用软件有限公司 | 一种基于Layui的数据表格的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104317913B (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104899242B (zh) | 基于设计意图的机械产品设计二维知识推送方法 | |
CN106527757A (zh) | 一种输入纠错方法及装置 | |
CN106649225A (zh) | 一种基于json自定义的报表生成系统及方法 | |
CN101315644B (zh) | 基于可拓聚类的零件分类方法 | |
CN106296059A (zh) | 派送网点确定方法及设备 | |
CN108733713A (zh) | 数据仓库中的数据查询方法及装置 | |
CN104765839A (zh) | 一种基于属性间相关系数的数据分类方法 | |
CN105005633A (zh) | 高速列车产品配置平台及配置方法 | |
CN106528641A (zh) | 一种数据存储方法、装置及通信网关机 | |
CN104317913A (zh) | 属性组合的筛选方法和属性组合的筛选装置 | |
CN106095961B (zh) | 表显示处理方法和装置 | |
CN108319646A (zh) | 基于用户历史行为的车源搜索方法及装置 | |
CN103149840B (zh) | 一种基于动态规划的语义服务组合方法 | |
CN104731809A (zh) | 对象的属性信息的处理方法及装置 | |
CN110489131A (zh) | 一种灰度用户选取方法及装置 | |
CN107918665A (zh) | 一种三维模型的快速渲染及cad信息查询的系统和方法 | |
CN113255079A (zh) | 一种基于人工智能的包装设计方法及装置 | |
CN114239237A (zh) | 一种支持数字孪生的配电网仿真场景生成系统与方法 | |
CN102799137B (zh) | 用于风电控制系统plc控制器软件跨平台移植的方法 | |
CN109840336A (zh) | 服装设计样本推荐方法和装置 | |
CN104239072B (zh) | 软件的程序代码的生成方法及装置 | |
CN111444165B (zh) | 用于电商平台的会员数据圈选方法及系统 | |
CN102509019A (zh) | 一种基于网络电视模拟试衣购物的方法及系统 | |
CN104331392A (zh) | 一种可批量编辑图文app中展示内容的方法 | |
CN104102739B (zh) | 一种扩充实体库的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100094 Haidian District North Road, Beijing, No. 68 Applicant after: Yonyou Network Technology Co., Ltd. Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Applicant before: UFIDA Software Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |