发明内容
本申请提供一种对数据对象筛选分类的方法,以解决现有的对数据对象筛选分类的方法存在的耗时长和无法满足大批量数据对象筛选分类的业务需求的问题。本申请同时涉及一种对数据对象筛选分类的装置,以及一种电子设备。
本申请提供的一种对数据对象筛选分类的方法,包括:
读取筛选需求;
将各个筛选需求的描述值列出,建立属性描述网络;该属性描述网络为分层网络,每层对应一个属性字段,每个属性字段具有至少一个描述值,该属性描述网络的各层具有从高到低的层级关系;
读取待筛选数据对象的描述信息;从中提取出该待筛选数据对象的描述信息中包含的至少一个所述属性描述网络中的描述值;
建立所述筛选需求与所述属性描述网络之间的映射关系,根据该映射关系生成路径依赖图;将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较;在遍历比较过程中,若一个描述路径的所有描述值均包含在所述待筛选数据对象的描述信息中,则将该描述路径记录为该待筛选数据对象的匹配路径;
根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求。
可选的,所述将各个筛选需求的描述值列出,建立属性描述网络,包括:
获取各个筛选需求中包含的描述信息;
对所述描述信息按照属性进行分类;每一个属性设置一个对应的属性字段,归属于每一个属性下的至少一个描述信息经过规范化后分别作为该属性对应的属性字段下的至少一个描述值;
将上述各个属性字段按照从高到低的层级关系分层排布;每层对应一个属性字段,构成所述属性描述网络。
可选的,所述将上述各个属性字段按照从高到低的层级关系分层排布,包括:
获取所述各个属性字段下描述值的个数;
根据所述各个属性字段下描述值的个数从大到小的顺序,依次将所述各个属性字段按照从高到低的层级关系分层排布。
可选的,所述将上述各个属性字段按照从高到低的层级关系分层排布,包括:
根据所述属性字段的性质,获取描述值为单一选择的属性字段;
将所述描述值为单一选择的属性字段置于其他属性字段之上;
其中,所述描述值为单一选择的属性字段,是指根据所述属性字段的性质,该属性字段所包含的描述值之间互斥。
可选的,所述属性描述网络中,对于同一层的不同描述值按照预定的排序标准顺序排列。
可选的,所述建立所述筛选需求与所述属性描述网络之间的映射关系,根据该映射关系生成路径依赖图,包括:
将每个筛选需求转换为描述路径表达形式;
分别生成每个描述路径表达式的至少一个描述路径;
获取所述筛选需求的互不重复的描述路径构成描述路径组;
将所述描述路径组中的各个描述路径映射到所述属性描述网络中,组成路径依赖图。
可选的,所述描述路径为包括至少一个描述值或者包括多个相与关系的描述值;一个描述路径的不同描述值位于属性描述网络中的不同层级,并且不同描述值按照所在层级从高到低排列。
可选的,所述将所述描述路径组中的各个描述路径映射到所述属性描述网络中,组成路径依赖图,包括:
以层级高优先和同层的描述值在前优先的排序规则,对所述描述路径排序;
按照上述排序,依次将所述描述路径映射到所述属性描述网络中;
合并描述路径中具有完全相同的高层描述值的部分,生成所述路径依赖图。
可选的,所述路径依赖图中的高层描述值完全相同,包括:从描述路径包含的最高层描述值向下,每一层都相同。
可选的,所述将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较,在遍历比较过程中,若所述待筛选对象的描述信息中不包含某个描述值,则舍弃对路径依赖图中通过该描述值向下的描述路径的遍历。
可选的,所述将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较的步骤中,所述遍历采用深度优先遍历。
可选的,所述根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求的步骤,采用如下方式实现:
根据每个筛选需求的描述路径表达形式,确定每个筛选需求包含的描述路径;
若一个筛选需求包含的任意一个描述路径包含在所述待筛选数据对象的匹配路径中,则所述待筛选数据对象符合该筛选需求。
可选的,所述根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求的步骤中,确定所述待筛选数据对象符合的所有筛选需求。
可选的,包括根据待筛选数据对象的符合的各个筛选需求,将所述待筛选数据对象归入不同的分类。
本发明同时提供一种对数据对象筛选分类的装置,包括:
筛选需求读取单元,用于读取筛选需求;
属性描述网络建立单元,用于将各个筛选需求的描述值列出,建立属性描述网络;该属性描述网络为分层网络,每层对应一个属性字段,每个属性字段具有至少一个描述值,该属性描述网络的各层具有从高到低的层级关系;
待筛选数据对象读取单元,用于读取待筛选数据对象的描述信息;从中提取出该待筛选数据对象的描述信息中包含的至少一个所述属性描述网络中的描述值;
路径依赖图生成单元,用于建立所述筛选需求与所述属性描述网络之间的映射关系,根据该映射关系生成路径依赖图;
遍历比较单元,用于将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较;在遍历比较过程中,若所述路径依赖图中的一个描述路径的所有描述值均包含在所述待筛选数据对象的描述信息中,则将该描述路径记录为该待筛选数据对象的匹配路径;根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求;
筛选需求确定单元,用于根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求。
可选的,所述属性描述网络建立单元,包括:
描述信息获取子单元,用于获取各个筛选需求中包含的描述信息;
描述信息分类子单元,用于对所述描述信息按照属性进行分类;每一个属性设置一个对应的属性字段,归属于每一个属性下的至少一个描述信息经过规范化后分别作为该属性对应的属性字段下的至少一个描述值;
属性描述网络生成子单元,用于将上述各个属性字段按照从高到低的层级关系分层排布;每层对应一个属性字段,构成所述属性描述网络。
可选的,所述属性描述网络生成子单元,包括:
描述值个数获取子单元,用于获取所述各个属性字段下描述值的个数;
属性字段分层排布子单元,用于根据所述各个属性字段下描述值的个数从大到小的顺序,依次将所述各个属性字段按照从高到低的层级关系分层排布。
可选的,所述属性描述网络生成子单元,包括:
单一选择属性字段获取子单元,用于根据所述属性字段的性质,获取描述值为单一选择的属性字段;
属性字段置换获取子单元,用于将所述描述值为单一选择的属性字段置于其他属性字段之上;
其中,所述描述值为单一选择的属性字段,是指根据所述属性字段的性质,该属性字段所包含的描述值之间互斥。
可选的,所述属性描述网络生成子单元,包括:
描述值排序子单元,用于将同一层的不同描述值按照预定的排序标准顺序排列。
可选的,所述路径依赖图生成单元,包括:
筛选需求转换子单元,用于将每个筛选需求转换为描述路径表达形式;
描述路径生成子单元,用于分别生成每个描述路径表达式的至少一个描述路径;
描述路径组获取子单元,用于获取所述筛选需求的互不重复的描述路径构成描述路径组;
路径依赖图生成子单元,用于将所述描述路径组中的各个描述路径映射到所述属性描述网络中,组成路径依赖图。
可选的,所述路径依赖图生成子单元,包括:
描述路径排序子单元,用于以层级高优先和同层的描述值在前优先的排序规则,对所述描述路径排序;
描述路径映射子单元,用于按照上述排序,依次将所述描述路径映射到所述属性描述网络中;
描述路径合并子单元,用于合并描述路径中具有完全相同的高层描述值的部分,生成所述路径依赖图。
本发明同时提供一种电子设备,包括:
显示器;
处理器;
输入设备;
存储器,用于存储程序,该程序用于控制该电子设备执行下述步骤:
通过所述输入设备读取筛选需求;
将各个筛选需求的描述值列出,建立属性描述网络;该属性描述网络为分层网络,每层对应一个属性字段,每个属性字段具有至少一个描述值,该属性描述网络的各层具有从高到低的层级关系;
读取待筛选数据对象的描述信息;从中提取出该待筛选数据对象的描述信息中包含的至少一个所述属性描述网络中的描述值;
建立所述筛选需求与所述属性描述网络之间的映射关系,根据该映射关系生成路径依赖图;
将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较;在遍历比较过程中,若所述路径依赖图中的一个描述路径的所有描述值均包含在所述待筛选数据对象的描述信息中,则将该描述路径记录为该待筛选数据对象的匹配路径;
根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求。
可选的,所述筛选需求中包含有描述信息,所述描述信息按照属性进行分类,每一个属性设置一个对应的属性字段,归属于每一个属性下的至少一个描述信息经过规范化后分别作为该属性对应的属性字段下的至少一个描述值;所述属性描述网络中,每层对应一个属性字段,各个属性字段按照从高到低的层级关系分层排布。
可选的,所述属性描述网络中,各个属性字段根据各自的描述值个数从大到小的顺序,按照从高到低的层级关系分层排布。
可选的,所述属性描述网络中,描述值为单一选择的属性字段置于其他属性字段之上;其中,所述描述值为单一选择的属性字段,是指根据所述属性字段的性质,该属性字段所包含的描述值之间互斥。
可选的,所述属性描述网络中,对于同一层的不同描述值按照预定的排序标准顺序排列。
可选的,所述筛选需求用于转换为描述路径表达形式,所述描述路径表达式用于生成描述路径,这些筛选需求的互不重复的描述路径构成描述路径组;每个筛选需求转换的描述路径表达形式包括至少一个描述路径。
可选的,所述描述路径为包括至少一个描述值或者包括多个相与关系的描述值;一个描述路径的不同描述值位于属性描述网络中的不同层级,并且不同描述值按照所在层级从高到低排列。
可选的,所述路径依赖图中,高层描述值完全相同的描述路径,其相同部分被合并,形成向低层分叉的分支路径;所述高层描述值完全相同,是指从描述路径包含的最高层描述值向下,每一层都相同。
可选的,所述遍历采用深度优先遍历。
可选的,所述待筛选数据对象符合的筛选需求存在一个或者多个,或者不存在。
可选的,所述待筛选数据对象根据符合的各个筛选需求,归入不同的分类。
与现有技术相比,本申请具有以下优点:
本申请提供的一种对数据对象筛选分类的方法,包括:读取筛选需求;将各个筛选需求的描述值列出,建立属性描述网络;该属性描述网络为分层网络,每层对应一个属性字段,每个属性字段具有至少一个描述值,该属性描述网络的各层具有从高到低的层级关系;读取待筛选数据对象的描述信息;从中提取出该待筛选数据对象的描述信息中包含的至少一个所述属性描述网络中的描述值;建立所述筛选需求与所述属性描述网络之间的映射关系,根据该映射关系生成路径依赖图;将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较;在遍历比较过程中,若所述路径依赖图中的一个描述路径的所有描述值均包含在所述待筛选数据对象的描述信息中,则将该描述路径记录为该待筛选数据对象的匹配路径;根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求。
本申请提供的所述对数据对象筛选分类的方法中,根据读取的筛选需求建立属性描述网络,并根据输入的所述筛选需求与所述属性描述网络之间的映射关系,根据该映射关系生成路径依赖图,将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较,获得所述待筛选数据对象的匹配路径,从而得出所述待筛选数据对象符合的筛选需求;该对数据对象筛选分类的方法,基于路径依赖图,合并了公共描述值与公共子描述路径,减少了筛选过程中的判断过程,节省了数据计算时间,在进行大批量的数据筛选时,可以节省大量时间,满足进行大批量数据筛选分类的业务需求。在本发明的优选实施例中,结合分层过滤剪枝方式,可进一步节省计算时间。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请第一实施例提供一种对数据对象筛选分类的方法,本申请第二实施例提供一种对数据对象筛选分类的装置,本申请第三实施例提供一种电子设备。
本申请第一实施例提供的对数据对象筛选分类的方法的实施例请参照图1至图3,其示出了该对数据对象筛选分类的方法的处理流程图。
以下结合图1对本实施例提供的一种对数据对象筛选分类的方法进行说明,并且对该方法的各个步骤进行说明;此外,本实施例提供的一种对数据对象筛选分类的方法的具体步骤之间的顺序关系请根据图1确定。
本实施例假设的应用场景为电子商务平台中,一次性读取商家的大批量的筛选需求,从海量用户中筛选出符合各个筛选需求的目标用户。本申请提供的对数据对象筛选分类的方法当然还可以用于其它场合,在此不作限定。
步骤S101,读取筛选需求。
本实施例中,所述筛选需求,是指在电子商务平台中商家用于从海量用户中筛选目标用户输入的筛选条件;
例如:在电子商务平台中,商家想要根据用户信息从海量用户中筛选出性别为男、年龄小于18、兴趣为运动,并且在该商家的店铺内购买商品的月成交额小于1000的所有用户,则上述性别为男、年龄小于18、兴趣为运动,并且店铺月成交额小于1000为该商家输入的筛选条件,即:筛选需求;并且该商家想要获取的目标用户的用户信息必须同时满足下述四个条件:性别为男、年龄小于18、兴趣为运动,并且店铺月成交额小于1000,缺一不可。
需要说明的是,本实施例中,读取筛选需求是指一次性读取大批量筛选需求,这些筛选需求中包含描述目标对象的种种描述信息。
步骤S102,将各个筛选需求的描述值列出,建立属性描述网络。
所述属性描述网络,是指一种用于表达用户的用户信息的方式。
所述属性描述网络的建立步骤如下:
1)获取各个筛选需求中包含的描述信息;
所述筛选需求中包含的描述信息,是指用于描述筛选需求的文字或者图像信息。
例如:上述商家的筛选需求为:性别为男、年龄小于18、兴趣为运动、店铺月成交额小于1000为,则该筛选需求中包含的描述信息可以用“性别=男and年龄<18and兴趣=运动and店铺月成交额<1000”来表示。
本步骤中,获取上述步骤S101中读取的大批量筛选需求中各个筛选需求包含的描述信息,为下述步骤2)和3)根据各个筛选需求中包含的描述信息建立所述属性描述网络做数据准备。
需要说明的是,本步骤还包括对所述筛选需求中包含的描述信息进行解析和优化;
本实施例中,对所述描述信息进行解析,是指对所述描述信息进行语法分析,检查是否合法;此外,还包括对所述描述信息中包含的运算进行运算顺序的优化;
对所述描述信息进行优化,包括对所述描述信息中包含的运算进行运算顺序的优化,具体是指将所述描述信息中包含的“或(or)”运算全部等价转换为一组或者多组“与(and)”运算。
例如:包含“or”运算的描述信息“(AorB)andC”可以等价转换成两组仅包含“and”运算的“AandC”、“BandC”。
此外,对所述描述信息进行优化,还包括对所述描述信息进行语义分析优化,包括:对所述描述信息进行语义分析优化包含描述信息的去重,将多个重复的描述信息进行去重,保留其中任意一个即可;以及,分析描述信息之间的包含关系。
例如:描述信息“(AorB)andC”和描述信息“AandBandC”,前者包含后者,即:根据包含描述信息“(AorB)andC”的筛选需求筛选出的目标用户中包含有根据包含描述信息“AandBandC”的筛选需求筛选出的全部目标用户。
除此之外,上述的对所述筛选需求中包含的描述信息进行解析和优化还可以采用其他方式实现,在此不作限定。
2)对所述描述信息按照属性进行分类;每一个属性设置一个对应的属性字段,归属于每一个属性下的至少一个描述信息经过规范化后分别作为该属性对应的属性字段下的至少一个描述值;
将上述步骤1)获取到的各个筛选需求中包含的描述信息,按照所述描述信息的属性进行分类,分为多个分类,针对每一个属性设置一个对应的属性字段,并将上述归属于每一个属性下的至少一个描述信息进行规范化,所述描述信息规范化之后分别作为该属性对应的属性字段下的描述值。
例如:上述筛选需求中包含的描述信息:“性别=男and年龄<18and兴趣=运动and店铺月成交额<1000”,将该选需求中包含的描述信息按照属性分为性别、年龄、兴趣和店铺月成交额4类,则性别属性下的描述信息为“性别=男”,年龄属性下的描述信息为“年龄<18”,兴趣属性下的描述信息为“兴趣=运动”,店铺月成交额属性下的描述信息为“店铺月成交额<1000”;
并且,将上述性别属性下的描述信息“性别=男”规范化为“男”,作为性别属性字段下的描述值;将上述年龄属性下的描述信息“年龄<18”规范化为“<18”,作为年龄属性字段下的描述值;将上述兴趣属性下的描述信息“兴趣=运动”规范化为“运动”,作为兴趣属性字段下的描述值;以及将上述店铺月成交额属性下的描述信息“店铺月成交额<1000”规范化为“<1000”,作为店铺月成交额属性字段下的描述值。
3)将上述各个属性字段按照从高到低的层级关系分层排布;每层对应一个属性字段,构成所述属性描述网络。
属性描述网络可以抽象为一种分层过滤模型,并且只有通过上一层级的过滤之后,才会到下一层级进行过滤,因此,将具有强过滤描述值对应的属性字段放在层级位置比较高的层级,以减少数据计算量,从而加快计算。
本实施例中,获取上述步骤2)得到的各个属性字段中每一个属性字段下描述值的个数,根据所述每一个属性字段下描述值的个数从大到小的顺序,将上述步骤2)得到的各个属性字段,依次按照从高到低的层级关系分层排布,每层对应一个属性字段,构成所述属性描述网络。
需要说明的是,在对上述步骤2)得到的各个属性字段按照从高到低的层级关系分层排布时,按照下述规则:
根据上述各个属性字段的性质,获取所述属性字段中描述值为单一选择的属性字段;
将所述描述值为单一选择的属性字段置于其他属性字段之上;
其中,所述描述值为单一选择的属性字段,是指根据所述属性字段的性质,该属性字段所包含的描述值之间互斥,例如:性别属性字段下的描述值,“男、女、未知”之间是相互互斥的,对于任意一个用户,性别属性是确定的,因此,用户的用户信息中,只能包含“男、女、未知”中的任意一个,不能同时包含两个或者两个以上。
对于单一选择的属性字段,该属性字段包含的所有描述值中,有且仅有一个描述值成立;但是对于不是单一选择的属性字段,可能有一个或者多个描述值成立,在进行数据计算时往往要遍历该属性字段包含的所有描述值,计算耗时远大于单一选择的属性字段遍历的计算耗时,因此,将单一选择的属性字段置于其他属性字段(即:不是单一选择的属性字段)之上,可以有效的减小经过单一选择的属性字段的过滤之后还需进行的其他属性字段过滤所需的数据计算量,减少计算耗时,提高性能。
此外,需要说明的是,所述属性描述网络中,同一层对应的一个属性字段下的不同描述值按照预定的排序标准顺序排列。
综上所述,所述属性描述网络具有如下特性:
每层对应一个属性字段,每个属性字段具有至少一个描述值,各层具有从上到下的层级关系;
各个属性字段按照描述值的个数从大到小依次按照从上到下的层级关系分层排布,并且描述值为单一选择的属性字段置于其他属性字段之上;
并且,各层分别对应的属性字段下的不同描述值按照预定的排序标准顺序排列。
例:如图2所示,其示出了所述属性描述网络的示意图。
除此之外,上述将各个属性字段按照从上到下的层级关系分层排布,构成所述属性描述网络的步骤,还可以用本实施例之外的其他方法实现,在此不作限定。
步骤S103,读取待筛选数据对象的描述信息。
所述待筛选数据对象的描述信息,是指电子商务平台中海量用户的用户信息。
本步骤中,读取海量的待筛选数据对象的描述信息,并从各个待筛选数据对象的描述信息中提取出所述描述信息中包含的至少一个所述属性描述网络中的描述值。
例如:用户A的用户信息为:“性别=男、年龄<18、兴趣=运动、在某商家的店铺中店铺月成交额>1000”,则提取出该用户A在上述的附图2所示的属性描述网络中的描述值为:“男、<18、运动、<1000”。
步骤S104,建立所述筛选需求与所述属性描述网络之间的映射关系,根据该映射关系生成路径依赖图。
具体实现如下:
1)将每个筛选需求转换为描述路径表达形式;
本步骤中,根据上述步骤S101中读取的大批量筛选需求,见该大批量筛选需求中各个筛选需求转换为描述路径表达形式;其中,筛选需求与描述路径表达式一一对应。
2)分别生成每个描述路径表达式的至少一个描述路径;
根据上述步骤1)获得的所述描述路径表达形式,根据所述描述路径表达式,分别生成每个描述路径表达式的至少一个描述路径。
3)获取所述筛选需求的互不重复的描述路径构成描述路径组;
根据上述步骤2)获得各个筛选需求的描述路径之后,去除各个筛选需求的描述路径的集合中重复的描述路径,构成各个筛选需求(即:大批量筛选需求)的描述路径组;
其中,所述描述路径为包括至少一个描述值或者包括多个相与关系的描述值,一个描述路径的不同描述值位于所述属性描述网络中的不同层级,并且不同描述值按照所在层级从高到低排列。
4)将所述描述路径组中的各个描述路径映射到所述属性描述网络中,组成路径依赖图。
根据上述步骤3)获得各个筛选需求(即:大批量筛选需求)的描述路径组,本步骤中,将所述描述路径组中的各个描述路径映射到所述属性描述网络中,组成所述路径依赖图。
步骤如下:
a、根据上述步骤3)获得的各个筛选需求(即:大批量筛选需求)的描述路径组,以层级高优先和同层的描述值在前优先的排序规则,对所述描述路径组中的所有描述路径进行排序;
b、根据上述步骤a中的所述描述路径组中的所有描述路径进行排序,依次将所述描述路径组中的所有描述路径映射到所述属性描述网络中;
c、合并描述路径中具有完全相同的高层描述值的部分,组成所述路径依赖图。
所述高层描述值完全相同,是指从描述路径包含的最高层描述值向下,每一层都相同。
例如:描述路径组包括:描述路径A和描述路径B;其中,描述路径A为:“男and<18and运动and<1000”,描述路径B为:“男and<18and运动and>1000and<10000”;
描述路径A和描述路径B的高层描述值(男、<18、运动)相同;
则合并描述路径A和描述路径B的高层描述值(男、<18、运动),组成的所述路径依赖图,如图3所示,其示出了所述路径依赖图的示意图。
除此之外,上述路径依赖图还可以采用其他方法实现,在此不做限定。
步骤S105,将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较。
根据上述步骤S103读取的海量待筛选数据对象的描述信息,以及上述步骤S104获得的所述路径依赖图,本步骤中,将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较,若一个描述路径的所有描述值均包含在所述待筛选数据对象的描述信息中,则将该描述路径记录为该待筛选数据对象的匹配路径,从而获得海量待筛选数据对象中每个待筛选数据对象的匹配路径。
其中,每个待筛选数据对象的匹配路径可能为一个或者多个,也可能不存在。
需要说明的是,本实施例采用深度优先遍历将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较。
以下,通过举例说明所述深度优先遍历的实现过程,如图3所示的路径依赖图,以下结合图3所示的路径依赖图,对本实施例提供的深度优先遍历进行说明;
图3所示的路径依赖图中,根据从上到下的层级关系,以及从左到右的描述值排列顺序,路径依赖图中包含的描述路径依次包括:
描述路径1:“男and<18and运动and<1000”;
描述路径2:“男and<18and运动and>1000and<10000”;
描述路径3:“男and<18and运动and>10000”;
描述路径4:“男and<18and手机and<1000”;
描述路径5:“男and<18and手机and>1000and<10000”;
描述路径6:“男and<18and手机and>10000”;
描述路径7:“男and>20and<30and运动and<1000”;
描述路径8:“男and>20and<30and运动and>1000and<10000”;
描述路径9:“男and>20and<30and运动and>10000”;
描述路径10:“男and>20and<30and手机and<1000”;
描述路径11:“男and>20and<30and手机and>1000and<10000”;
描述路径12:“男and>20and<30and手机and>10000”;
按照深度优先遍历的规则与所述路径依赖图中的各个描述值进行遍历比较时:
待筛选数据对象的描述信息为x,在假设筛选数据对象的描述信息为x中包含有图3所示的路径依赖图中的所有描述值的情况下,则按照深度优先遍历的规则的比较顺序为:
“男”->“<18”->“运动”->“<1000”->“>1000and<10000”->“>10000”->“手机”->“<1000”->“>1000and<10000”->“>10000”->“20and<30”“运动”->“<1000”->“>1000and<10000”->“>10000”->“手机”->“<1000”->“>1000and<10000”->“>10000”。
上述的深度优先遍历的规则的比较顺序是一种基于假设下的情况,目的是为了充分说明按照深度优先遍历进行遍历时的顺序规则。
一般而言,则在遍历比较过程中,若所述待筛选对象的描述信息中不包含某个描述值,则舍弃对路径依赖图中通过该描述值向下的描述路径的遍历。
例如:上述图3所示的路径依赖图中,待筛选数据对象的描述信息x中不包含“年龄”属性字段的描述值“<18”,则将经过该描述值“<18”的所有描述路径(包括:描述路径1至描述路径6)舍弃,即:无需对描述路径1至描述路径6进行遍历,只需对描述路径7至描述路径12按照深度优先遍历进行遍历即可。
若一个描述路径的所有描述值均包含在所述待筛选数据对象的描述信息中,则将该描述路径记录为该待筛选数据对象的匹配路径,即:给所述待筛选数据对象打上标签,该标签即为包含所述匹配路径的标签。
若所述待筛选数据对象的匹配路径为一个,则给所述待筛选数据对象打上包含该匹配路径的标签;
若所述待筛选数据对象的匹配路径为多个(大于或等于2个),则给所述待筛选数据对象分别打上包含各个匹配路径的标签;
若所述待筛选数据对象不存在匹配路径,则表明该待筛选数据对象为无效数据,不作处理即可。
步骤S106,根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求。
上述步骤S105中根据深度优先遍历算法进行比较,获得了海量待筛选数据对象中每个待筛选数据对象的匹配路径,本步骤中,根据上述步骤S105获得的每个待筛选数据对象的各个匹配路径,确定海量待筛选数据对象中每个待筛选数据对象符合的筛选需求。
具体实现如下:
1)根据每个筛选需求的描述路径表达形式,确定每个筛选需求包含的描述路径;
根据上述步骤S104获得的大批量筛选需求中每个筛选需求的描述路径表达形式,确定大批量筛选需求中每个筛选需求包含的至少一个描述路径,并且,每个描述路径归属于至少一个筛选需求。
2)若一个筛选需求包含的任意一个描述路径包含在所述待筛选数据对象的匹配路径中,则所述待筛选数据对象符合该筛选需求。
根据上述步骤S105获得的所述待筛选数据对象的匹配路径,以及根据上述步骤1)确定的每个筛选需求包含的描述路径,将所述待筛选数据对象分别归入所述匹配路径归属的各个筛选需求对应的分类下,即:得到了每个待筛选数据对象满足的筛选需求,每个待筛选数据对象满足的筛选需求个数可能为一个或者多个,也可能不存在。
重复上述过程,直至将上述步骤S103读取的海量待筛选数据对象全部归属到筛选需求对应的分类下;
从而得到步骤S101中读取的大批量筛选需求中每个筛选需求的分类下的待筛选数据对象的集合。
除此之外,上述实现还可以采用本实施例之外的其他方法实现,在此不做限定。
本申请第二实施例提供的所述对数据对象筛选分类的装置实施例如下:
在上述的实施例中,提供了一种对数据对象筛选分类的方法,与之相对应的,本申请还提供了一种对数据对象筛选分类的装置。
参照图4,其示出了根据本实施例提供的一种对数据对象筛选分类的装置示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请所述的一种对数据对象筛选分类的装置,包括:
筛选需求读取单元401,用于读取筛选需求;
属性描述网络建立单元402,用于将各个筛选需求的描述值列出,建立属性描述网络;该属性描述网络为分层网络,每层对应一个属性字段,每个属性字段具有至少一个描述值,该属性描述网络的各层具有从高到低的层级关系;
待筛选数据对象读取单元403,用于读取待筛选数据对象的描述信息;从中提取出该待筛选数据对象的描述信息中包含的至少一个所述属性描述网络中的描述值;
路径依赖图生成单元404,用于建立所述筛选需求与所述属性描述网络之间的映射关系,根据该映射关系生成路径依赖图;
遍历比较单元405,用于将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较;在遍历比较过程中,若所述路径依赖图中的一个描述路径的所有描述值均包含在所述待筛选数据对象的描述信息中,则将该描述路径记录为该待筛选数据对象的匹配路径;根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求;
筛选需求确定单元406,用于根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求。
可选的,所述属性描述网络建立单元402,包括:
描述信息获取子单元,用于获取各个筛选需求中包含的描述信息;
描述信息分类子单元,用于对所述描述信息按照属性进行分类;每一个属性设置一个对应的属性字段,归属于每一个属性下的至少一个描述信息经过规范化后分别作为该属性对应的属性字段下的至少一个描述值;
属性描述网络生成子单元,用于将上述各个属性字段按照从高到低的层级关系分层排布;每层对应一个属性字段,构成所述属性描述网络。
可选的,所述属性描述网络生成子单元,包括:
描述值个数获取子单元,用于获取所述各个属性字段下描述值的个数;
属性字段分层排布子单元,用于根据所述各个属性字段下描述值的个数从大到小的顺序,依次将所述各个属性字段按照从高到低的层级关系分层排布。
可选的,所述属性描述网络生成子单元,包括:
单一选择属性字段获取子单元,用于根据所述属性字段的性质,获取描述值为单一选择的属性字段;
属性字段置换获取子单元,用于将所述描述值为单一选择的属性字段置于其他属性字段之上;
其中,所述描述值为单一选择的属性字段,是指根据所述属性字段的性质,该属性字段所包含的描述值之间互斥。
可选的,所述属性描述网络生成子单元,包括:
描述值排序子单元,用于将同一层的不同描述值按照预定的排序标准顺序排列。
可选的,所述路径依赖图生成单元404,包括:
筛选需求转换子单元,用于将每个筛选需求转换为描述路径表达形式;
描述路径生成子单元,用于分别生成每个描述路径表达式的至少一个描述路径;
描述路径组获取子单元,用于获取所述筛选需求的互不重复的描述路径构成描述路径组;
路径依赖图生成子单元,用于将所述描述路径组中的各个描述路径映射到所述属性描述网络中,组成路径依赖图。
可选的,所述路径依赖图生成子单元,包括:
描述路径排序子单元,用于以层级高优先和同层的描述值在前优先的排序规则,对所述描述路径排序;
描述路径映射子单元,用于按照上述排序,依次将所述描述路径映射到所述属性描述网络中;
描述路径合并子单元,用于合并描述路径中具有完全相同的高层描述值的部分,生成所述路径依赖图。
本申请第三实施例提供的所述电子设备实施例如下:
在上述的实施例中,提供了一种对数据对象筛选分类的方法,还提供了一种与之相对应的对数据对象筛选分类的装置,另外,本申请提供一种用于实现上述对数据对象筛选分类的方法的电子设备。
参照图5,其示出了根据本实施例提供的一种电子设备示意图。所述电子设备实施例描述得比较简单,相关的部分请参见上述方法实施例的对应说明即可。下述描述的所述电子设备实施例仅仅是示意性的。
本申请所述的一种电子设备,包括:
显示器501;
处理器502;
输入设备503;
存储器504,用于存储程序,该程序用于控制该电子设备执行下述步骤:
通过所述输入设备503读取筛选需求;
将各个筛选需求的描述值列出,建立属性描述网络;该属性描述网络为分层网络,每层对应一个属性字段,每个属性字段具有至少一个描述值,该属性描述网络的各层具有从高到低的层级关系;
读取待筛选数据对象的描述信息;从中提取出该待筛选数据对象的描述信息中包含的至少一个所述属性描述网络中的描述值;
建立所述筛选需求与所述属性描述网络之间的映射关系,根据该映射关系生成路径依赖图;
将所述待筛选数据对象的描述信息中包含的描述值与所述路径依赖图中的各个描述值进行遍历比较;在遍历比较过程中,若所述路径依赖图中的一个描述路径的所有描述值均包含在所述待筛选数据对象的描述信息中,则将该描述路径记录为该待筛选数据对象的匹配路径;
根据所述待筛选数据对象的各个匹配路径,确定所述待筛选数据对象符合的筛选需求。
可选的,所述筛选需求中包含有描述信息,所述描述信息按照属性进行分类,每一个属性设置一个对应的属性字段,归属于每一个属性下的至少一个描述信息经过规范化后分别作为该属性对应的属性字段下的至少一个描述值;所述属性描述网络中,每层对应一个属性字段,各个属性字段按照从高到低的层级关系分层排布。
可选的,所述属性描述网络中,各个属性字段根据各自的描述值个数从大到小的顺序,按照从高到低的层级关系分层排布。
可选的,所述属性描述网络中,描述值为单一选择的属性字段置于其他属性字段之上;其中,所述描述值为单一选择的属性字段,是指根据所述属性字段的性质,该属性字段所包含的描述值之间互斥。
可选的,所述属性描述网络中,对于同一层的不同描述值按照预定的排序标准顺序排列。
可选的,所述筛选需求用于转换为描述路径表达形式,所述描述路径表达式用于生成描述路径,这些筛选需求的互不重复的描述路径构成描述路径组;每个筛选需求转换的描述路径表达形式包括至少一个描述路径。
可选的,所述描述路径为包括至少一个描述值或者包括多个相与关系的描述值;一个描述路径的不同描述值位于属性描述网络中的不同层级,并且不同描述值按照所在层级从高到低排列。
可选的,所述路径依赖图中,高层描述值完全相同的描述路径,其相同部分被合并,形成向低层分叉的分支路径;所述高层描述值完全相同,是指从描述路径包含的最高层描述值向下,每一层都相同。
可选的,所述遍历采用深度优先遍历。
可选的,所述待筛选数据对象符合的筛选需求存在一个或者多个,或者不存在。
可选的,所述待筛选数据对象根据符合的各个筛选需求,归入不同的分类。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。