CN112699155A - 数据筛选方法和装置 - Google Patents
数据筛选方法和装置 Download PDFInfo
- Publication number
- CN112699155A CN112699155A CN202011590224.4A CN202011590224A CN112699155A CN 112699155 A CN112699155 A CN 112699155A CN 202011590224 A CN202011590224 A CN 202011590224A CN 112699155 A CN112699155 A CN 112699155A
- Authority
- CN
- China
- Prior art keywords
- screening
- node
- data
- target
- descendant
- 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.)
- Pending
Links
Images
Abstract
本申请公开了一种数据筛选方法和装置,属于数据处理技术领域。所述方法包括:获取初始业务数据以及多个预设筛选属性;在接收到针对目标筛选属性的选择操作的情况下,确定目标筛选属性对应的属性值;将初始业务数据作为节点树的根节点,将目标筛选属性作为节点树的子孙节点,得到节点树;根据每个子孙节点对应的目标筛选属性和属性值,确定与每个子孙节点匹配的数据,完成数据筛选过程。本申请中一般用户可以直接从预设筛选属性中选取符合自身需求的目标筛选属性,快速的建立用于进行数据筛选的节点树,并利用节点树完成初始业务数据的数据筛选,得到符合用户业务需求的筛选结果,使得用户操作步骤简单易懂,并提高了筛选结果的准确度。
Description
技术领域
本申请属于数据处理技术领域,具体涉及一种数据筛选方法和装置。
背景技术
随着科学技术的不断发展,大数据技术日趋成熟,通过各行各业的不断创新,大数据会逐步为人类创造更多的价值。
现有技术中,专业技术人员在处理具体业务时,由于在业务系统中存在大量的数据,专业技术人员在获取到大量的数据之后,需要有针对性的从大量的数据中提取出所需的、有价值的、和具体业务需求相关的数据,以便于应用,数据筛选即是指从大量的数据中筛选出需要的部分,是对数据进行有条件地、有选择地选取操作,通过数据筛选可以将不符合某些条件的记录屏蔽或删除,只显示或保留复合条件的记录。具体的,专业技术人员可以根据具体的业务需求,设置符合业务需求的筛选属性和对应的属性值,从而根据筛选属性和对应的属性值从大量的数据中筛选出符合业务需求的数据。
但是,在现有技术中,一般用户由于未掌握专业技术,因而无法快速而准确的确定符合业务需求的筛选属性和对应的属性值,使得数据筛选过程操作不易,且筛选结果的准确度不高。
发明内容
本申请实施例的目的是提供一种数据筛选方法和装置,能够解决现有技术中数据筛选过程操作不易,且筛选结果的准确度不高的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种数据筛选方法,该方法包括:
获取初始业务数据,以及和所述初始业务数据相关的多个预设筛选属性;
在接收到针对多个目标筛选属性的选择操作的情况下,确定所述目标筛选属性对应的属性值,以及各个所述目标筛选属性之间的关联关系;
将所述初始业务数据作为节点树的根节点,将所述目标筛选属性作为所述节点树的子孙节点,并根据所述关联关系确定所述子孙节点之间的连接关系,得到所述节点树;
在所述节点树中按照从所述根节点到叶子节点的顺序,根据每个所述子孙节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述子孙节点的目标筛选属性和属性值匹配的数据,完成数据筛选过程。
可选的,所述在所述节点树中按照从所述根节点到叶子节点的顺序,根据每个所述子孙节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述子孙节点的目标筛选属性和属性值匹配的数据,完成数据筛选过程的步骤,具体包括:
获取目标子孙节点;
在所述节点树中确定从所述根节点到所述目标子孙节点的至少一条筛选路线,以及所述筛选路线中包含的筛选节点;
针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述筛选节点的目标筛选属性和属性值匹配的数据,完成所述数据筛选过程。
可选的,所述节点树还包括交集节点和/或并集节点,
所述将所述目标筛选属性作为所述节点树的子孙节点,并根据所述关联关系确定所述子孙节点之间的连接关系,得到所述节点树的步骤,具体包括:
将所述目标筛选属性和所述交集节点和/或并集节点作为所述节点树的子孙节点,并根据各个所述目标筛选属性之间的关联关系,以及所述交集节点和/或并集节点与所述目标筛选属性之间的逻辑关系,确定所述子孙节点之间的连接关系,得到所述节点树。
可选的,所述针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述筛选节点的目标筛选属性和属性值匹配的数据,完成所述数据筛选过程的步骤,具体包括:
在所述筛选路线包含所述交集节点和/或并集节点的情况下,针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,以及所述交集节点和/或并集节点的计算逻辑,确定所述初始业务数据中与每个所述筛选节点匹配的数据,完成所述数据筛选过程。
可选的,所述关联关系包括先后顺序关系和所处层级关系。
可选的,所述方法还包括:
确定所述节点树中每个子孙节点的筛选执行状态,并根据预设的筛选执行状态与显示颜色之间的对应关系,确定所述节点树中每个子孙节点对应的显示颜色;
在显示界面中按照所述显示颜色显示所述节点树中的子孙节点。
可选的,在所述完成数据筛选过程的步骤之后,所述方法还包括:
在每个所述子孙节点的位置,显示与每个所述子孙节点匹配的数据的数量。
可选的,在所述完成数据筛选过程的步骤之后,所述方法还包括:
在与所述子孙节点匹配的数据的数量大于预设数值的情况下,从与所述子孙节点匹配的数据中选取数量为所述预设数值的数据进行存储。
第二方面,本申请实施例提供了一种数据筛选装置,该装置包括:
获取模块,用于获取初始业务数据,以及和所述初始业务数据相关的多个预设筛选属性;
第一确定模块,用于在接收到针对多个目标筛选属性的选择操作的情况下,确定所述目标筛选属性对应的属性值,以及各个所述目标筛选属性之间的关联关系;
生成模块,用于将所述初始业务数据作为节点树的根节点,将所述目标筛选属性作为所述节点树的子孙节点,并根据所述关联关系确定所述子孙节点之间的连接关系,得到所述节点树;
筛选模块,用于在所述节点树中按照从所述根节点到叶子节点的顺序,根据每个所述子孙节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述子孙节点的目标筛选属性和属性值匹配的数据,完成数据筛选过程。
可选的,所述筛选模块,具体包括:
获取子模块,用于获取目标子孙节点;
确定子模块,用于在所述节点树中确定从所述根节点到所述目标子孙节点的至少一条筛选路线,以及所述筛选路线中包含的筛选节点;
筛选子模块,用于针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述筛选节点的目标筛选属性和属性值匹配的数据,完成所述数据筛选过程。
可选的,所述节点树还包括交集节点和/或并集节点,所述生成模块,具体包括:
生成子模块,用于将所述目标筛选属性和所述交集节点和/或并集节点作为所述节点树的子孙节点,并根据各个所述目标筛选属性之间的关联关系,以及所述交集节点和/或并集节点与所述目标筛选属性之间的逻辑关系,确定所述子孙节点之间的连接关系,得到所述节点树。
可选的,所述筛选子模块,具体包括:
筛选单元,用于在所述筛选路线包含所述交集节点和/或并集节点的情况下,针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,以及所述交集节点和/或并集节点的计算逻辑,确定所述初始业务数据中与每个所述筛选节点匹配的数据,完成所述数据筛选过程。
可选的,所述关联关系包括先后顺序关系和所处层级关系。
可选的,所述装置还包括:
第二确定模块,用于确定所述节点树中每个子孙节点的筛选执行状态,并根据预设的筛选执行状态与显示颜色之间的对应关系,确定所述节点树中每个子孙节点对应的显示颜色;
第一显示模块,用于在显示界面中按照所述显示颜色显示所述节点树中的子孙节点。
可选的,所述装置还包括:
第二显示模块,用于在每个所述子孙节点的位置,显示与每个所述子孙节点匹配的数据的数量。
可选的,所述装置还包括:
存储模块,用于在与所述子孙节点匹配的数据的数量大于预设数值的情况下,从与所述子孙节点匹配的数据中选取数量为所述预设数值的数据进行存储。
在本申请实施例中,由于预先设置有与初始业务数据相关的预设筛选属性,因而,一般用户可以直接从预设筛选属性中选取符合自身需求的目标筛选属性,从而可以确定目标筛选属性和对应的属性值,以及各目标筛选属性之间的关联关系,从而快速的建立用于进行数据筛选的节点树,并利用节点树完成初始业务数据的数据筛选,得到符合用户业务需求的筛选结果,使得用户操作步骤简单易懂,并提高了筛选结果的准确度。
附图说明
图1为本申请实施例提供的一种数据筛选方法的步骤流程图;
图2为本申请实施例提供的第一种节点树的示意图;
图3为本申请实施例提供的第二种节点树的示意图;
图4为本申请实施例提供的另一种数据筛选方法的步骤流程图;
图5为本申请实施例提供的第三种节点树的示意图;
图6为本申请实施例提供的第四种节点树的示意图;
图7为本申请实施例提供的一种数据筛选执行流程图;
图8为本申请实施例提供的一种sql集合遍历流程图;
图9为本申请实施例提供的一种数据筛选装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的数据筛选进行详细地说明。
参照图1,示出了本申请实施例提供的一种数据筛选方法的步骤流程图,如图1所示,该数据筛选方法具体可以包括如下步骤:
步骤101、获取初始业务数据,以及和所述初始业务数据相关的多个预设筛选属性。
在该步骤中,首先可以获取与业务相关的初始业务数据,该初始业务数据可以是存储在数据库中未进行数据筛选的、数量较大的数据,这些数据可以以业务主表的形式存储。
进一步的,所述和初始业务数据相关的多个预设筛选属性,可以是业务相关的技术人员在对初始业务数据进行数据筛选时常采用的多个筛选属性。
例如,在所述初始业务数据为物流业务相关的数据时,物流业务相关的技术人员常采用高危地区、物品名称、电话号码等筛选属性以及与属性对应的属性值进行数据筛选,从而在初始业务数据中筛选出符合具体筛选属性和属性值的数据。因而,可以将高危地区、物品名称、电话号码等预先设置为与该初始业务数据相关的预设筛选属性。
步骤102、在接收到针对多个目标筛选属性的选择操作的情况下,确定所述目标筛选属性对应的属性值,以及各个所述目标筛选属性之间的关联关系。
在该步骤中,在获取初始业务数据,以及和初始业务数据相关的多个预设筛选属性之后,可以在接收到用户针对多个预设筛选属性中多个目标筛选属性的选择操作的情况下,进一步确定用户选择的目标筛选属性对应的属性值,以及各个目标筛选属性之间的关联关系,以供根据多个目标筛选属性以及各个目标筛选属性之间的关联关系构建包含多个筛选条件的节点树,形成数据筛选模型。
具体的,可以在确定初始业务数据相关的多个预设筛选属性之后,将多个预设筛选属性显示在显示界面中,以供用户从多个预设筛选属性中选择多个目标筛选属性,使得一般用户在不了解业务基本信息的情况下,可以快速的确定目标筛选属性,基于预先设置的多个预设筛选属性进行多种组合,构建符合用户需求的数据筛选模型,筛选和挖掘用户想要的数据,使数据产生价值。
进一步的,用户通过选择操作确定了用于进行数据筛选的多个目标筛选属性之后,可以进一步确定目标筛选属性对应的属性值,每个目标筛选属性和对应的属性值可以构成一个具体的筛选条件。例如,若用户选择电话号码作为其中一个目标筛选属性,并确定对应的属性值为:区号为010,则可以构成一个完整的筛选条件,进而可以从初始业务数据中筛选出电话号码的区号为010的结果集,作为初始业务数据中与该目标筛选属性和属性值匹配的数据,从而完成一次数据筛选操作。
需要说明的是,用户可以选择至少一个目标筛选属性以构建用于数据筛选的节点树,得到数据筛选模型,也可以选择多个目标筛选属性。若用户选择多个目标筛选属性,则需要根据多个目标筛选属性和属性值对初始业务数据进行多次筛选操作,因而需要确定各个目标筛选属性之间的关联关系,以确定在根据多个目标筛选属性和属性值对初始业务数据进行多次筛选操作时,多次筛选操作的先后关系。
图2示出了本申请实施例提供的第一种节点树的示意图,如图2所示,针对初始业务数据“单步测试”,用户可以选择“物品名称”、“过滤1”和“过滤2”作为进行数据筛选的目标筛选属性,并确定多个目标筛选属性之间的关联关系包括先后顺序关系,即多个目标筛选属性依次按照“物品名称”、“过滤1”和“过滤2”进行数据筛选,即先根据“物品名称”及对应的属性值对初始业务数据“单步测试”进行第一次筛选操作,得到第一筛选结果,第一筛选结果中包含2087784个数据,再根据“过滤1”及对应的属性值对第一筛选结果进行第二次筛选操作,得到第二筛选结果,第二筛选结果中包含27个数据,最后再根据“过滤2”及对应的属性值对第二筛选结果进行第三次筛选操作,得到最终的第三筛选结果,第三筛选结果中包含6个数据。
此外,由于利用目标筛选属性构建用于进行数据筛选的节点树可以包含多条分支,因而多个目标筛选属性之间的关联关系还可以包括所处层级关系,即每个目标筛选属性在节点树中所处的层级。
图3示出了本申请实施例提供的第二种节点树的示意图,如图3所示,针对初始业务数据“C00001”,用户可以选择“高危地区”、“物品名称”、“电话号码”、“模糊姓名”、“发件号码地”、“发件区域”和“频次”作为进行数据筛选的多个目标筛选属性。并根据多个目标筛选属性之间的关联关系,确定“高危地区”、“物品名称”、“电话号码”三个目标筛选属性均为第一层级的目标筛选属性,且与第一层级的“高危地区”具有先后顺序的目标筛选属性包括:“模糊姓名”、“发件号码地”和“频次”,因而可以依次按照“高危地区”、“模糊姓名”、“发件号码地”和“频次”进行数据筛选,得到每一个目标筛选属性对应的筛选结果;与第一层级的“物品名称”具有先后顺序的目标筛选属性包括:“发件区域”,因而可以依次按照“物品名称”和“发件区域”进行数据筛选,得到每一个目标筛选属性对应的筛选结果。
步骤103、将所述初始业务数据作为节点树的根节点,将所述目标筛选属性作为所述节点树的子孙节点,并根据所述关联关系确定所述子孙节点之间的连接关系,得到所述节点树。
在该步骤中,可以在确定了多个目标筛选属性和对应的属性值,以及各个目标筛选属性之间的关联关系之后,可以进一步构建针对初始业务数据的节点树,作为对初始业务数据进行数据筛选的数据筛选模型。
具体的,可以将初始业务数据作为节点树的根节点,将确定的多个目标筛选属性作为节点树的子孙节点,并根据关联关系确定各个子孙节点之间的连接关系,得到节点树。
参照图2,可以将初始业务数据“单步测试”作为节点树的根节点,将多个目标筛选属性:“物品名称”、“过滤1”和“过滤2”作为节点树的子孙节点,并且,由于多个目标筛选属性:“物品名称”、“过滤1”和“过滤2”之间的关联关系为先后顺序关系,则从根节点开始,将“物品名称”作为根节点的子节点,将“过滤1”作为“物品名称”的子节点,将“过滤2”作为“过滤1”的子节点,并且“过滤2”为该节点树的叶子节点,不再连接其他子节点。
步骤104、在所述节点树中按照从所述根节点到叶子节点的顺序,根据每个所述子孙节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述子孙节点的目标筛选属性和属性值匹配的数据,完成数据筛选过程。
在该步骤中,在建立了作为数据筛选模型的节点树之后,可以进一步利用节点树完成数据筛选过程。
具体的,可以在节点树中按照从根节点到叶子节点的顺序,根据每个子孙节点对应的目标筛选属性和属性值,确定初始业务数据中与每个子孙节点的目标筛选属性和属性值匹配的数据,将该数据作为每一子孙节点对应的筛选结果,完成初始业务数据的数据筛选过程。
参照图2,若作为根节点的初始业务数据“单步测试”,是与物流业务相关的、包含较大数量的数据,则可以从该根节点到叶子节点“过滤2”依次进行数据筛选操作,筛选初始业务数据中与每个子孙节点匹配的数据,例如,针对根节点的子节点:目标筛选属性“物品名称”,以及该目标筛选属性对应的属性值,如易碎物品,则可以针对初始业务数据“单步测试”进行第一次筛选操作,从初始业务数据对应的业务主表中筛选出物品名称为易碎物品的数据,作为“物品名称”节点对应的筛选结果,并可以将该筛选结果存储在该节点对应的结果集中,同时,还可以将该节点对应的筛选结果中数据的数量2087784,显示在节点树中该节点的位置;进一步的,针对“物品名称”节点的子节点:目标筛选属性“过滤1”,以及该目标筛选属性对应的属性值,如重量大于5千克,则可以针对“物品名称”节点对应的筛选结果进行第二次筛选操作,从“物品名称”节点对应的结果集中筛选出重量大于5千克的数据,作为“过滤1”节点对应的筛选结果,并可以将该筛选结果存储在该节点对应的结果集中,同时,还可以将该节点对应的筛选结果中数据的数量27,显示在节点树中该节点的位置;最后,针对“过滤1”节点的子节点:目标筛选属性“过滤2”,以及该目标筛选属性对应的属性值,如长度大于50厘米,则可以针对“过滤1”节点对应的筛选结果进行第三次筛选操作,从“过滤1”节点对应的结果集中筛选出长度大于50厘米的数据,作为“过滤2”节点对应的的筛选结果,并可以将该筛选结果存储在该节点对应的结果集中,同时,还可以将该节点对应的筛选结果中数据的数量6,显示在节点树中该节点的位置,完成初始业务数据的数据筛选过程。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
综上所述,本申请实施例提供的数据筛选方法,由于预先设置有与初始业务数据相关的预设筛选属性,因而,一般用户可以直接从预设筛选属性中选取符合自身需求的目标筛选属性,从而可以确定目标筛选属性和对应的属性值,以及各目标筛选属性之间的关联关系,从而快速的建立用于进行数据筛选的节点树,并利用节点树完成初始业务数据的数据筛选,得到符合用户业务需求的筛选结果,使得用户操作步骤简单易懂,并提高了筛选结果的准确度。
参照图4,示出了本申请实施例提供的另一种数据筛选方法的步骤流程图,如图4所示,该数据筛选方法具体可以包括如下步骤:
步骤201、获取初始业务数据,以及和所述初始业务数据相关的多个预设筛选属性。
该步骤的实现方式具体可参照上述步骤101,此处不再赘述。
步骤202、在接收到针对多个目标筛选属性的选择操作的情况下,确定所述目标筛选属性对应的属性值,以及各个所述目标筛选属性之间的关联关系。
该步骤的实现方式具体可参照上述步骤101。
可选的,各个目标筛选属性之间的关联关系可以包括先后顺序关系和所处层级关系。
具体的,若用户选择多个目标筛选属性,则需要根据多个目标筛选属性和属性值对初始业务数据进行多次筛选操作,因而需要确定各个目标筛选属性之间的关联关系,以确定在根据多个目标筛选属性和属性值对初始业务数据进行多次筛选操作时,多次筛选操作的先后关系。此外,由于利用目标筛选属性构建用于进行数据筛选的节点树可以包含多条分支,因而多个目标筛选属性之间的关联关系还可以包括所处层级关系,即每个目标筛选属性在节点树中所处的层级。
步骤203、将所述初始业务数据作为节点树的根节点,将所述目标筛选属性作为所述节点树的子孙节点,并根据所述关联关系确定所述子孙节点之间的连接关系,得到所述节点树。
在该步骤中,可以利用确定的多个目标筛选属性和对应的属性值,以及各个目标筛选属性之间的关联关系,构建针对初始业务数据的节点树,作为对初始业务数据进行数据筛选的数据筛选模型。
可选的,所述节点树还可以包括交集节点和/或并集节点,其中,所述交集节点对应的上一层级的多个节点之间具有“交集”计算逻辑,因而若存在交集节点,则需要将该交集节点对应的上一层级的多个节点对应的筛选结果进行交集逻辑计算,将计算结果确定为该交集节点对应的筛选结果;所述并集节点对应的上一层级的多个节点之间具有“并集”计算逻辑,因而若存在并集节点,则需要将该并集节点对应的上一层级的多个节点对应的筛选结果进行并集逻辑计算,将计算结果确定为该并集节点的筛选结果。
相应的,步骤203具体可以包括:
子步骤2031、将所述目标筛选属性和所述交集节点和/或并集节点作为所述节点树的子孙节点,并根据各个所述目标筛选属性之间的关联关系,以及所述交集节点和/或并集节点与所述目标筛选属性之间的逻辑关系,确定所述子孙节点之间的连接关系,得到所述节点树。
在该步骤中,可以将初始业务数据作为节点树的根节点,将确定的多个目标筛选属性和交集节点和/或并集节点作为节点树的子孙节点,并根据各个目标筛选属性之间的关联关系,以及交集节点和/或并集节点与目标筛选属性之间的逻辑关系,确定各个子孙节点之间的连接关系,得到节点树。
图5示出了本申请实施例提供的第三种节点树的示意图,如图5所示,针对初始业务数据“C00001”,用户可以选择“高危地区”、“物品名称”、“电话号码”、“模糊姓名”、“发件号码地”、“发件区域”和“频次”作为进行数据筛选的多个目标筛选属性,以及选择“交集”节点,并根据多个目标筛选属性之间的关联关系,确定“高危地区”、“物品名称”、“电话号码”三个目标筛选属性均为第一层级的目标筛选属性,且与第一层级的“高危地区”具有先后顺序的目标筛选属性包括:“模糊姓名”、“发件号码地”、“发件区域”和“频次”,与第一层级的“物品名称”具有先后顺序的目标筛选属性包括:“发件号码地”、“发件区域”和“频次”。“交集”节点与目标筛选属性之间的逻辑关系为:“交集”节点上一层级的多个节点分别为“模糊姓名”和“物品名称”,“交集”节点下一层级的多个节点分别为“发件号码地”和“发件区域”,即“模糊姓名”和“物品名称”对应的筛选结果需要在该“交集”节点进行交集逻辑计算,并将计算结果确定为该“交集”节点对应的筛选结果,“发件号码地”和“发件区域”均以“交集”节点对应的筛选结果为基础进行进一步的数据筛选。
步骤204、获取目标子孙节点。
在该步骤中,可以在确定节点树之后,获取进行数据筛选的目标子孙节点。
具体的,在建立节点树之后,在对根节点处的初始业务数据进行数据筛选的过程中,可以在节点树中按照从根节点到叶子节点的顺序,依次筛选初始业务数据中与每个子孙节点匹配的数据,也可以确定目标子孙节点,从而在节点树中按照从根节点到目标子孙节点的顺序,依次筛选初始业务数据中与根节点到目标子孙节点之间每个子孙节点匹配的数据,从而得到每个子孙节点对应的筛选结果,完成初始业务数据的数据筛选过程。
例如,参照图3,用户可以选择“模糊姓名”作为目标子孙节点,即针对根节点的“C00001”初始业务数据,首先根据根节点的子节点对应的目标筛选属性“高危地区”和其属性值进行一次数据筛选操作,得到“高危地区”节点对应的筛选结果,再将该筛选结果根据目标子孙节点对应的目标筛选属性“模糊姓名”和其属性值进行二次数据筛选操作,得到“模糊姓名”节点对应的筛选结果,完成初始业务数据的数据筛选过程,而无需再进行数据筛选操作。
步骤205、在所述节点树中确定从所述根节点到所述目标子孙节点的至少一条筛选路线,以及所述筛选路线中包含的筛选节点。
在该步骤中,由于节点树的可以包含多层级的结构,因而,节点树中可以包含多条线路,多条线路中的节点也可以具有连接关系,使得在节点树中从所述根节点到目标子孙节点的筛选路线可以为一条,也可以是多条,因而,需要确定从根节点到目标子孙节点的至少一条筛选路线,以及每条筛选路线中包含的筛选节点。
图6示出了本申请实施例提供的第四种节点树的示意图,如图6所示,若目标子孙节点为“发件号码地”,则节点树中从根节点到目标子孙节点可以包含两条筛选路线进行数据筛选,一条为“C00001”-“高危地区”-“模糊姓名”-“发件号码地”,另一条为“C00001”-“物品名称”-“发件区域”-“发件号码地”。
步骤206、针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述筛选节点的目标筛选属性和属性值匹配的数据,完成所述数据筛选过程。
在该步骤中,在确定了从根节点到目标子孙节点的至少一条筛选路线,以及每条筛选路线中包含的筛选节点之后,可以针对每一条筛选路线,在节点树中按照从根节点到目标子孙节点的顺序,根据每条筛选路线中包含的筛选节点对应的目标筛选属性和属性值,确定初始业务数据中与每个筛选节点的目标筛选属性和属性值匹配的数据,将该数据作为每个筛选节点对应的筛选结果,完成初始业务数据的数据筛选过程。
可选的,在筛选路线中包括交集节点和/或并集节点的情况下,步骤206具体可以包括:
子步骤2061、在所述筛选路线包含所述交集节点和/或并集节点的情况下,针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,以及所述交集节点和/或并集节点的计算逻辑,确定所述初始业务数据中与每个所述筛选节点匹配的数据,完成所述数据筛选过程。
在该步骤中,若筛选路线包含交集节点和/或并集节点,则可以针对该筛选路线,按照从根节点到目标子孙节点的顺序,根据筛选路线中包含的筛选节点对应的目标筛选属性和属性值,以及交集节点和/或并集节点的计算逻辑,确定初始业务数据中与每个筛选节点匹配的数据,将该数据作为每个筛选节点对应的筛选结果,完成数据筛选过程。
参照图5,若作为根节点的初始业务数据“C00001”,是与物流业务相关的、包含较大数量的数据,目标子孙节点为“发件号码地”,则可以从该根节点到目标子孙节点依次进行数据筛选操作,筛选初始业务数据中与每个子孙节点匹配的数据,例如,针对根节点的一个子节点:目标筛选属性“高危地区”,以及该目标筛选属性对应的属性值,如高原地区,则可以针对初始业务数据“C00001”进行第一次筛选操作,从初始业务数据对应的业务主表中筛选出高危地区为高原地区的数据,作为“高危地区”节点对应的筛选结果,并可以将该筛选结果存储在该节点对应的结果集中;针对“高危地区”节点的子节点:目标筛选属性“模糊姓名”,以及该目标筛选属性对应的属性值,如发件人姓氏为王,则可以针对“高危地区”节点对应的筛选结果进行第二次筛选操作,从“高危地区”节点对应的结果集中筛选出发件人姓氏为王的数据,作为“模糊姓名”节点对应的筛选结果,并可以将该筛选结果存储在该节点对应的结果集中;同时,针对根节点的另一个子节点:目标筛选属性“物品名称”,以及该目标筛选属性对应的属性值,如易碎物品,则可以针对初始业务数据“C00001”进行第三次筛选操作,从初始业务数据对应的业务主表中筛选出物品名称为易碎物品的数据,作为“物品名称”节点对应的筛选结果,并可以将该筛选结果存储在该节点对应的结果集中;进一步的,交集节点对应的上一层级节点分别为“模糊姓名”和“物品名称”,因而,可以将“模糊姓名”和“物品名称”两个节点对应的筛选结果进行交集逻辑计算,进行第四次筛选操作,将计算结果确定为交集节点对应的筛选结果,并可以将该筛选结果存储在该节点对应的结果集中;最终,交集节点的子节点为目标筛选属性“发件号码地”,以及该目标筛选属性对应的属性值,如湖南,则可以针对交集节点对应的筛选结果进行第五次筛选操作,从交集节点对应的结果集中筛选出发件号码地为湖南的数据,作为“发件号码地”节点对应的筛选结果,并可以将该该筛选结果存储在该节点对应的结果集中,由于“发件号码地”节点未目标子孙节点,因而完成本次数据筛选过程。
步骤207、确定所述节点树中每个子孙节点的筛选执行状态,并根据预设的筛选执行状态与显示颜色之间的对应关系,确定所述节点树中每个子孙节点对应的显示颜色。
在该步骤中,在根据节点树进行数据筛选的过程中,可以实时监控每个子孙节点的筛选执行状态,从而可以根据预设的筛选执行状态与显示颜色之间的对应关系,确定节点树中每个子孙节点对应的显示颜色。
例如,可以预先设定筛选执行状态为已经完成数据筛选的子孙节点对应的显示颜色为绿色,筛选执行状态为未完成数据筛选的子孙节点对应的显示颜色为蓝色。
步骤208、在显示界面中按照所述显示颜色显示所述节点树中的子孙节点。
在该步骤中,在根据节点树中每个子孙节点的筛选执行状态和上述对应关系,确定节点树中每个子孙节点对应的显示颜色之后,可以在节点树的显示界面最终按照每个子孙节点对应的显示颜色显示每个子孙节点,以供用户可以直观的监控数据筛选过程。
步骤209、在每个所述子孙节点的位置,显示与每个所述子孙节点匹配的数据的数量。
在该步骤中,在数据筛选的过程中,可以在节点树的显示界面中,在每个子孙节点的位置同时显示与每个子孙节点匹配的数据的数量,以供用户可以直观的获取每个子孙节点根据对应的目标筛选属性和属性值进行数据筛选的结果。
例如,参照图2,对于子孙节点“物品名称”,根据“物品名称”及对应的属性值对初始业务数据“单步测试”进行第一次筛选操作,得到“物品名称”节点对应的筛选结果,该筛选结果中包含2087784个数据,因而可以将“2087784”也显示在子孙节点“物品名称”对应的位置。
步骤210、在与所述子孙节点匹配的数据的数量大于预设数值的情况下,从与所述子孙节点匹配的数据中选取数量为所述预设数值的数据进行存储。
在该步骤中,在完成每一个子孙节点对应的数据筛选操作之后,可以将与每个子孙节点匹配的数据进行存储,但是,在与子孙节点匹配的数据的数量大于预设数值的情况下,若将全部的数据进行存储,则会导致系统执行速度下降,并占用大量的存储空间,因而,可以从与子孙节点匹配的数据中选取数量为预设数值的数据进行存储。
例如,参照图2,针对子孙节点“物品名称”进行数据筛选操作后,与该子孙节点匹配数据的数量为2087784个,可以设置预设数值为1000,因而可以从与该子孙节点匹配数据中仅选择1000条数据进行存储,以提升执行速度,节省存储空间。
综上所述,本申请实施例提供的数据筛选方法,由于预先设置有与初始业务数据相关的预设筛选属性,因而,一般用户可以直接从预设筛选属性中选取符合自身需求的目标筛选属性,从而可以确定目标筛选属性和对应的属性值,以及各目标筛选属性之间的关联关系,从而快速的建立用于进行数据筛选的节点树,并利用节点树完成初始业务数据的数据筛选,得到符合用户业务需求的筛选结果,使得用户操作步骤简单易懂,并提高了筛选结果的准确度。
此外,还可以在节点树中显示每个子孙节点筛选执行状态,以及对应的筛选结果,使得用户可以直观的确定数据筛选的过程和结果。
图7示出了本申请实施例提供的一种数据筛选执行流程图,如图7所示,数据筛选模型可以包括前台和后台,所述前台可以实现与用户进行交互,后台可以实现具体的数据筛选过程,本发明实施例中的数据筛选方法的具体执行流程可以包括以下步骤:
步骤S1、选择多个目标筛选属性。
在该步骤中,用户可以在前台页面中从多个预设筛选属性(可以为用于表征某种操作或动作的算子)中选取多个目标筛选属性并进行任意组合,形成用于进行数据筛选的节点树。
步骤S2、获取目标子孙节点。
在该步骤中,用户可以在前台页面中,从节点树中包含的多个目标筛选属性中选择一个目标子孙节点,以供进行数据筛选。
步骤S3、子孙节点空判断。
在该步骤中,在确定了节点树以及目标子孙节点之后,在开始执行数据筛选之前,可以对节点树中的多个子孙节点对应的目标筛选属性进行空判断,以确定是否存在空的子孙节点,若判断为是,则执行步骤S5,在前台页面中向用户进行相应提示,并结束流程;若判断为否,则进一步执行步骤S4。
步骤S4、回环判断。
在该步骤中,可以进一步对节点树进行回环判断,防止节点树中存在形成死循环的连线,例如,参照图2,节点“物品名称”的子节点为“过滤1”,若节点“过滤1”的子节点又为“物品名称”,则在节点树中产生回环,形成死循环的连线。若回环判断结果为有,则执行步骤S5,在前台页面中向用户进行相应提示,并结束流程;若回环判断结果为无,则进一步执行步骤S6,由后台开始执行数据筛选。
步骤S5、相应提示。
在该步骤中,可以在前台页面中向用户进行相应提示,以提醒用户节点树中存在空节点或存在回环,此时无法利用该节点树作为数据筛选的数据筛选模型,因而结束流程。
步骤S6、创建执行状态缓存对象。
在该步骤中,后台在确定开始执行数据筛选之后,可以首先创建执行状态缓存对象,用于缓存节点树中每个子孙节点的执行状态。
步骤S7、建立节点树。
在该步骤中,可以根据初始业务数据和多个目标筛选属性,构建针对初始业务数据的节点树,作为对初始业务数据进行数据筛选的数据筛选模型。
具体的,可以将初始业务数据作为节点树的根节点,将确定的多个目标筛选属性作为节点树的子孙节点,并根据关联关系确定各个子孙节点之间的连接关系,得到节点树。
步骤S8、获取从根节点到目标子孙节点的筛选路线。
在该步骤中,由于用户在前台确定了目标子孙节点,因此,可以获取从根节点到目标子孙节点的至少一条筛选路线。例如,参照图6,若目标子孙节点为“发件号码地”,则节点树中从根节点到目标子孙节点可以包含两条筛选路线进行数据筛选,一条为“C00001”-“高危地区”-“模糊姓名”-“发件号码地”,另一条为“C00001”-“物品名称”-“发件区域”-“发件号码地”。
步骤S9、定义节点集合:交、并集节点之前的节点集合、之后的集合、不包含交、并集节点的筛选路线中的节点集合。
在该步骤中,在确定了节点树之后,可以进一步将节点树中包含的节点进行分类,并定义具有不同标识的节点集合,可以包括:交、并集节点之前的节点集合,交、并集节点之后的节点集合,以及不包含交、并集节点的筛选路线中的节点集合。
参照图5,在该节点树中,交、并集节点之前的节点集合可以标识为B,集合B包括:“C00001”、“高危地区”、“模糊姓名”和“物品名称”;交、并集节点之后的节点集合可以标识为A,集合A包括:“发件号码地”、“频次”和“发件区域”;不包含交、并集节点的筛选路线中的节点集合可以标识为N,集合N包括:“电话号码”。
步骤S10、对每条筛选路线进行遍历。
在该步骤中,在确定了从根节点到目标子孙节点的多条筛选路线之后,可以对每条筛选路线进行遍历,从而得到初始业务数据经过每条筛选路线进行数据筛选之后的筛选结果。
步骤S11、是否存在交、并集节点。
在该步骤中,针对每条筛选路线,可以首先判断该筛选路线中是否存在交集节点和/或并集节点。若筛选路线中包含交集节点和/或并集节点,则可以执行步骤S15,若筛选路线中不包含交集节点和/或并集节点,则可以执行步骤S12。
步骤S12、不包含交、并集节点的筛选路线sql转换。
在该步骤中,对于不包含交集节点和/或并集节点的筛选路线,则直接对筛选路线中的子孙节点进行结构化查询语言(Structured Query Language,sql))转化。
具体的,每个子孙节点具有对应的目标筛选属性,所述sql转化即是利用子孙节点对应目标筛选属性和属性值,按照sql的语言规则,转化为后台能够执行的语言。
步骤S13、不包含交、并集节的筛选线路的sql集合。
在该步骤中,可以根据步骤S9中确定的不包含交、并集节点的筛选线路中的节点集合,将集合中包含的上述筛选路线中的子孙节点进行sql转化,从而得到不包含交、并集节的筛选线路的sql集合。
步骤S14、基于主表名,sql集合遍历依次执行并更新节点执行状态。
在该步骤中,可以基于主表名,获取存储初始业务数据的业务主表,调取存储于业务主表中的初始业务数据,进一步可以根据步骤S13中确定的sql集合,依次执行每一个子孙节点对应的数据筛选,遍历完成该筛选路线对应的数据筛选过程,确定与每一个节点匹配的数据,作为该节点的筛选结果,将筛选得到的数据存储在对应节点的数据表中,并更新执行状态缓存对象中的节点执行状态,完成该筛选路线的数据筛选过程。
步骤S15、按照交、并集节点对筛选路线进行划分,并做sql转换。
在该步骤中,对于包含交集节点和/或并集节点的筛选路线,则可以进一步按照交集节点和/或并集节点对筛选路线进行划分,并对划分后的筛选路线中的子孙节点进行sql转换,得到不同部分子孙节点的sql集合。
具体的,对于交、并集节点之前子孙节点,可以执行步骤S16,对于交、并集节点之后子孙节点,可以执行步骤S18,对于交、并集节点,可以执行步骤S17。
步骤S16、交、并集节点之前的sql集合。
在该步骤中,可以根据步骤S9中确定的交、并集节点之前的节点集合,将集合中包含的交、并集节点之前的节点进行sql转化,从而得到交、并集节点之前的sql集合。
步骤S17、交、并集节点信息。
在该步骤中,可以获取筛选路线中交集节点和/或并集节点的信息,包括该节点具体属于交集节点,还是并集节点,以及与该交、并集节点相连的上一层级的多个子孙节点、与该交并集节点相连的下一层级的多个子孙节点。
步骤S18、交、并集节点之后的sql集合。
在该步骤中,可以根据步骤S9中确定的交、并集节点之后的节点集合,将集合中包含的交、并集节点之后的节点进行sql转化,从而得到交、并集节点之后的sql集合。
步骤S19、基于主表表名,交、并集节点之前sql集合遍历依次执行并更新节点执行状态。
在步骤S16中确定了交、并集节点之前的sql集合之后,可以基于主表名,获取存储初始业务数据的业务主表,调取存储于业务主表中的初始业务数据,进一步可以根据步骤S16中确定的sql集合,依次执行交、并集节点之前每一个子孙节点对应的数据筛选,遍历完成该筛选路线中交、并集节点之前对应的数据筛选过程,确定与每一个节点匹配的数据,作为该节点的筛选结果,将筛选得到的数据存储在对应节点的数据表中,并更新执行状态缓存对象中的节点执行状态。
步骤S20、获得交、并集节点的前一个节点对应的表名。
在该步骤中,在步骤S19遍历完成该筛选路线中交、并集节点之前对应的数据筛选过程之后,可以获得交、并集节点的前一个节点对应的数据表的表名,可以基于该表名,获取存储前一个节点对应的筛选结果的数据表,调取存储于该数据表中的筛选结果。
步骤S21、基于交、并集节点信息生成交、并集节点sql并执行。
在该步骤中,可以基于步骤S17中确定的交、并集节点信息,确定该交、并集节点对应的计算逻辑,并基于sql语言规则,生成交、并集节点sql,并结合步骤S20中确定的交、并集节点的前一个节点对应的表名,执行数据筛选,得到交、并集节点对应的筛选结果。
步骤S22、获得交、并集节点执行后的表名。
在该步骤中,可以将步骤S21中获得交、并集节点对应的筛选结果存储在交、并集节点对应的数据表中,并将该数据表的表名确定为交、并集节点执行后的表名。
步骤S23、基于交、并集节点执行后的表名,交、并集节点之后sql集合遍历依次执行并更新节点执行状态。
在该步骤中,可以根据步骤S22中确定的交、并集节点执行后的表名,基于该表名,获取存储交、并集节点对应的筛选结果的数据表,调取存储于该表中的筛选结果。进一步可以根据步骤S18中确定的sql集合,依次执行交、并集节点之后每一个子孙节点对应的数据筛选,遍历完成该筛选路线中交、并集节点之后对应的数据筛选过程,确定与每一个节点匹配的数据,作为该节点的筛选结果,将筛选得到的数据存储在对应节点的数据表中,并更新执行状态缓存对象中的节点执行状态,完成该筛选路线的数据筛选过程。
此外,图8示出了本申请实施例提供的一种sql集合遍历流程图,如图8所示,上述sql集合遍历的过程可以包括以下步骤:
T1、定义存储每条路线的执行状态数组。
在该步骤中,首先可以定义一个用于存储每条筛选路线的执行状态数组A,若一条筛选路线中的全部节点执行了数据筛选过程,则可以将该条筛选路线的执行状态确定为完成。
T2、定义存储已经处理过的节点的集合。
在该步骤中,可以进一步定义一个用于存储节点树中已经处理过的节点的集合M。
T3、路线sql集合、初始表名、数据筛选模型ID、当前用户ID。
在该步骤中,可以根据图7中步骤S9中定义的节点集合,并将每个节点进行sql转换,从而获得筛选路线中全部的sql集合。获取用于存储初始业务数据的初始表名,以供可以根据初始表名,获取存储初始业务数据的初始表,调取存储于初始表中的初始业务数据。获取数据筛选模型ID,以供可以根据数据筛选模型ID,确定具体用于本次数据筛选的数据筛选模型,以及对应的节点树。获取当前用户ID,以确定执行本次数据筛选的用户。
T4、对路线遍历是否完成。
在该步骤中,可以根据步骤T3中获取的路线sql集合、初始表名、数据筛选模型ID、当前用户ID,以及存储每条路线的执行状态数组A,确定本次数据筛选的多个筛选路线是否遍历完成,若路线遍历完成,则结束数据筛选过程,退出流程,若路线遍历未完成,则执行步骤T5。
T5、定义路线中每个节点的执行状态数组。
在该步骤中,可以定义用于存储每条筛选路线中多个节点的执行状态的执行状态数组B。
T6、路线上每个节点是否完成。
在该步骤中,可以根据执行状态数组B中存储的筛选路线中多个节点的执行状态,判断筛选路线中多个节点是否都完成了数据筛选,若筛选路线中多个节点都完成了数据筛选,则确定当前筛选路线中的节点遍历执行完成,则执行步骤T7,若筛选路线中多个节点未全部完成数据筛选,则继续对当前筛选路线中的节点进行遍历。
T7、存储每条路线的执行状态数组。
在该步骤中,筛选路线中多个节点都完成了数据筛选,即当前筛选路线中的节点遍历执行完成,则可以更新并存储当前筛选路线的执行状态至每条路线的执行状态数组A中。
T8、节点是否已经执行。
在该步骤中,筛选路线中多个节点未全部完成数据筛选,则继续对当前筛选路线中的节点进行遍历,可以进一步根据存储已经处理过的节点的集合M,判断筛选路线中的当前节点是否已经执行了数据筛选。若已经执行,则可以执行步骤T15,根据执行了数据筛选的筛选结果,更新初始表名为当前节点对应的表名,以供进一步以当前的节点对应的表名作为初始表名,进行当前节点的子节点的数据筛选过程。若未执行,则可以执行步骤T9。
T9、创建节点对应数据表。
在该步骤中,若判断当前节点未执行,则可以对当前的节点进行数据筛选,首先可以创建当前的节点对应的数据表,用于存储当前的节点执行了数据筛选后的筛选结果。
T10、基于初始表名组装计数sql和实际入库sql。
在该步骤中,可以基于当前节点对应的初始表名,确定计数sql和实际入库sql。
具体的,当前节点对应的初始表名可以为当前节点的父节点对应的表名,所述计数sql可以为当前节点完成数据筛选后的筛选结果的数量,实际入库sql可以为对筛选结果实际进行入库存储的数量。
T11、执行计数sql。
在该步骤中,执行计数sql,具体的,可以在进行数据筛选的过程中,设置计数器,每筛选出一个数据,则计数器加1。
T12、结果是否大于设定阈值。
在该步骤中,可以判断步骤T11中执行计数sql确定的筛选结果的数量,是否大于预先设定的阈值。若大于设定阈值,则执行步骤T14,若小于或等于设定阈值,则执行步骤T13。
例如,若设定阈值为1000,当前节点完成数据筛选后的筛选结果的数量通过执行计数sql之后确定为2333条,该计数sql大于设定阈值,则执行步骤T14,对实际获得的筛选结果进行筛选,选取部分筛选结果进行入库存储,避免结果集太大造成资源浪费的问题。
T13、执行入库sql。
在该步骤中,执行计数sql确定的筛选结果的数量小于或等于预先设定的阈值,则可以直接执行入库sql,完成当前节点的数据筛选。
T14、更新入库sql,限制入库条数。
在该步骤中,执行计数sql确定的筛选结果的数量大于预先设定的阈值,则可以对实际获得的筛选结果进行筛选,更新入库sql,选取部分筛选结果进行入库存储,从而对入库条数进行限制,具体的,可以选取数量为设定阈值的筛选结果进行入库存储。
T15、更新初始表名。
在该步骤中,在完成当前节点的数据筛选之后,可以更新初始表名为当前节点对应的表名,以供进一步以当前节点对应的表名作为初始表名,进行当前节点的子节点的数据筛选过程。
此外,若当前节点的筛选结果对应的结果集太大,由于入库数据的数量为设定阈值,因而入库数据的数量不是实际确定的结果集中数据的数量,因此,需要更新初始表名,将当前节点的筛选sql作为临时表,更新初始表名。
T16、更新线路中每个节点的执行状态数组。
在该步骤中,在完成当前节点的数据筛选之后,可以更新线路中每个节点的执行状态数组B。
T17、存储线路中每个节点的执行状态数组。
在该步骤中,可以存储线路中每个节点的执行状态数组B,使得在步骤B6中可以根据执行状态数组B中存储的筛选路线中多个节点的执行状态,判断筛选路线中多个节点是否都完成了数据筛选。此外,还可以根据存储线路中每个节点的执行状态数组B,确定存储每条路线的执行状态数组A是否需要更新和存储,以供步骤T4中根据执行状态数组A确定数据筛选的多个筛选路线是否遍历完成。
T18、存储已经处理过的节点的集合。
在该步骤中,可以更新并存储已经处理过的节点的集合M,以供在步骤T8中根据集合M判断筛选路线中的当前节点是否已经执行了数据筛选。
需要说明的是,本申请实施例提供的数据筛选方法,执行主体可以为数据筛选装置,或者该数据筛选装置中的用于执行加载数据筛选方法的控制模块。本申请实施例中以数据筛选装置执行加载数据筛选方法为例,说明本申请实施例提供的数据筛选方法。
参照图9,示出了本申请实施例提供的一种数据筛选装置的结构示意图,如图9所示,该数据筛选装置具体可以包括如下模块:
获取模块301,用于获取初始业务数据,以及和所述初始业务数据相关的多个预设筛选属性;
第一确定模块302,用于在接收到针对多个目标筛选属性的选择操作的情况下,确定所述目标筛选属性对应的属性值,以及各个所述目标筛选属性之间的关联关系;
生成模块303,用于将所述初始业务数据作为节点树的根节点,将所述目标筛选属性作为所述节点树的子孙节点,并根据所述关联关系确定所述子孙节点之间的连接关系,得到所述节点树;
筛选模块304,用于在所述节点树中按照从所述根节点到叶子节点的顺序,根据每个所述子孙节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述子孙节点的目标筛选属性和属性值匹配的数据,完成数据筛选过程。
可选的,所述筛选模块304,具体包括:
获取子模块,用于获取目标子孙节点;
确定子模块,用于在所述节点树中确定从所述根节点到所述目标子孙节点的至少一条筛选路线,以及所述筛选路线中包含的筛选节点;
筛选子模块,用于针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述筛选节点的目标筛选属性和属性值匹配的数据,完成所述数据筛选过程。
可选的,其特征在于,所述节点树还包括交集节点和/或并集节点,所述生成模块303,具体包括:
生成子模块,用于将所述目标筛选属性和所述交集节点和/或并集节点作为所述节点树的子孙节点,并根据各个所述目标筛选属性之间的关联关系,以及所述交集节点和/或并集节点与所述目标筛选属性之间的逻辑关系,确定所述子孙节点之间的连接关系,得到所述节点树。
可选的,所述筛选子模块,具体包括:
筛选单元,用于在所述筛选路线包含所述交集节点和/或并集节点的情况下,针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,以及所述交集节点和/或并集节点的计算逻辑,确定所述初始业务数据中与每个所述筛选节点匹配的数据,完成所述数据筛选过程。
可选的,所述关联关系包括先后顺序关系和所处层级关系。
可选的,所述装置还包括:
第二确定模块,用于确定所述节点树中每个子孙节点的筛选执行状态,并根据预设的筛选执行状态与显示颜色之间的对应关系,确定所述节点树中每个子孙节点对应的显示颜色;
第一显示模块,用于在显示界面中按照所述显示颜色显示所述节点树中的子孙节点。
可选的,所述装置还包括:
第二显示模块,用于在每个所述子孙节点的位置,显示与每个所述子孙节点匹配的数据的数量。
可选的,所述装置还包括:
存储模块,用于在与所述子孙节点匹配的数据的数量大于预设数值的情况下,从与所述子孙节点匹配的数据中选取数量为所述预设数值的数据进行存储。
综上所述,本申请实施例提供的数据筛选装置,由于预先设置有与初始业务数据相关的预设筛选属性,因而,一般用户可以直接从预设筛选属性中选取符合自身需求的目标筛选属性,从而可以确定目标筛选属性和对应的属性值,以及各目标筛选属性之间的关联关系,从而快速的建立用于进行数据筛选的节点树,并利用节点树完成初始业务数据的数据筛选,得到符合用户业务需求的筛选结果,使得用户操作步骤简单易懂,并提高了筛选结果的准确度。
本申请实施例中的数据筛选装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的数据筛选装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的数据筛选装置能够实现图1和图4的方法实施例中数据筛选方法实现的各个过程,为避免重复,这里不再赘述。
需要注意的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (16)
1.一种数据筛选的方法,其特征在于,所述方法包括:
获取初始业务数据,以及和所述初始业务数据相关的多个预设筛选属性;
在接收到针对多个目标筛选属性的选择操作的情况下,确定所述目标筛选属性对应的属性值,以及各个所述目标筛选属性之间的关联关系;
将所述初始业务数据作为节点树的根节点,将所述目标筛选属性作为所述节点树的子孙节点,并根据所述关联关系确定所述子孙节点之间的连接关系,得到所述节点树;
在所述节点树中按照从所述根节点到叶子节点的顺序,根据每个所述子孙节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述子孙节点的目标筛选属性和属性值匹配的数据,完成数据筛选过程。
2.根据权利要求1所述的方法,其特征在于,所述在所述节点树中按照从所述根节点到叶子节点的顺序,根据每个所述子孙节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述子孙节点的目标筛选属性和属性值匹配的数据,完成数据筛选过程的步骤,具体包括:
获取目标子孙节点;
在所述节点树中确定从所述根节点到所述目标子孙节点的至少一条筛选路线,以及所述筛选路线中包含的筛选节点;
针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述筛选节点的目标筛选属性和属性值匹配的数据,完成所述数据筛选过程。
3.根据权利要求2所述的方法,其特征在于,所述节点树还包括交集节点和/或并集节点,
所述将所述目标筛选属性作为所述节点树的子孙节点,并根据所述关联关系确定所述子孙节点之间的连接关系,得到所述节点树的步骤,具体包括:
将所述目标筛选属性和所述交集节点和/或并集节点作为所述节点树的子孙节点,并根据各个所述目标筛选属性之间的关联关系,以及所述交集节点和/或并集节点与所述目标筛选属性之间的逻辑关系,确定所述子孙节点之间的连接关系,得到所述节点树。
4.根据权利要求3所述的方法,其特征在于,所述针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述筛选节点的目标筛选属性和属性值匹配的数据,完成所述数据筛选过程的步骤,具体包括:
在所述筛选路线包含所述交集节点和/或并集节点的情况下,针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,以及所述交集节点和/或并集节点的计算逻辑,确定所述初始业务数据中与每个所述筛选节点匹配的数据,完成所述数据筛选过程。
5.根据权利要求1所述的方法,其特征在于,所述关联关系包括先后顺序关系和所处层级关系。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述节点树中每个子孙节点的筛选执行状态,并根据预设的筛选执行状态与显示颜色之间的对应关系,确定所述节点树中每个子孙节点对应的显示颜色;
在显示界面中按照所述显示颜色显示所述节点树中的子孙节点。
7.根据权利要求1所述的方法,其特征在于,在所述完成数据筛选过程的步骤之后,所述方法还包括:
在每个所述子孙节点的位置,显示与每个所述子孙节点匹配的数据的数量。
8.根据权利要求1所述的方法,其特征在于,在所述完成数据筛选过程的步骤之后,所述方法还包括:
在与所述子孙节点匹配的数据的数量大于预设数值的情况下,从与所述子孙节点匹配的数据中选取数量为所述预设数值的数据进行存储。
9.一种数据筛选装置,其特征在于,所述装置包括:
获取模块,用于获取初始业务数据,以及和所述初始业务数据相关的多个预设筛选属性;
第一确定模块,用于在接收到针对多个目标筛选属性的选择操作的情况下,确定所述目标筛选属性对应的属性值,以及各个所述目标筛选属性之间的关联关系;
生成模块,用于将所述初始业务数据作为节点树的根节点,将所述目标筛选属性作为所述节点树的子孙节点,并根据所述关联关系确定所述子孙节点之间的连接关系,得到所述节点树;
筛选模块,用于在所述节点树中按照从所述根节点到叶子节点的顺序,根据每个所述子孙节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述子孙节点的目标筛选属性和属性值匹配的数据,完成数据筛选过程。
10.根据权利要求9所述的装置,其特征在于,所述筛选模块,具体包括:
获取子模块,用于获取目标子孙节点;
确定子模块,用于在所述节点树中确定从所述根节点到所述目标子孙节点的至少一条筛选路线,以及所述筛选路线中包含的筛选节点;
筛选子模块,用于针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,确定所述初始业务数据中与每个所述筛选节点的目标筛选属性和属性值匹配的数据,完成所述数据筛选过程。
11.根据权利要求10所述的装置,其特征在于,所述节点树还包括交集节点和/或并集节点,所述生成模块,具体包括:
生成子模块,用于将所述目标筛选属性和所述交集节点和/或并集节点作为所述节点树的子孙节点,并根据各个所述目标筛选属性之间的关联关系,以及所述交集节点和/或并集节点与所述目标筛选属性之间的逻辑关系,确定所述子孙节点之间的连接关系,得到所述节点树。
12.根据权利要求11所述的装置,其特征在于,所述筛选子模块,具体包括:
筛选单元,用于在所述筛选路线包含所述交集节点和/或并集节点的情况下,针对所述筛选路线,在所述节点树中按照从所述根节点到所述目标子孙节点的顺序,根据所述筛选路线中包含的筛选节点对应的目标筛选属性和属性值,以及所述交集节点和/或并集节点的计算逻辑,确定所述初始业务数据中与每个所述筛选节点匹配的数据,完成所述数据筛选过程。
13.根据权利要求9所述的装置,其特征在于,所述关联关系包括先后顺序关系和所处层级关系。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于确定所述节点树中每个子孙节点的筛选执行状态,并根据预设的筛选执行状态与显示颜色之间的对应关系,确定所述节点树中每个子孙节点对应的显示颜色;
第一显示模块,用于在显示界面中按照所述显示颜色显示所述节点树中的子孙节点。
15.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二显示模块,用于在每个所述子孙节点的位置,显示与每个所述子孙节点匹配的数据的数量。
16.根据权利要求9所述的装置,其特征在于,所述装置还包括:
存储模块,用于在与所述子孙节点匹配的数据的数量大于预设数值的情况下,从与所述子孙节点匹配的数据中选取数量为所述预设数值的数据进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011590224.4A CN112699155A (zh) | 2020-12-28 | 2020-12-28 | 数据筛选方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011590224.4A CN112699155A (zh) | 2020-12-28 | 2020-12-28 | 数据筛选方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112699155A true CN112699155A (zh) | 2021-04-23 |
Family
ID=75513091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011590224.4A Pending CN112699155A (zh) | 2020-12-28 | 2020-12-28 | 数据筛选方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112699155A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756591A (zh) * | 2022-04-15 | 2022-07-15 | 成都卓讯智安科技有限公司 | 一种基于双向链表的数据筛选方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391691A (zh) * | 2017-07-26 | 2017-11-24 | 成都科来软件有限公司 | 一种网络分析中数据的过滤方法 |
US20180089243A1 (en) * | 2016-09-26 | 2018-03-29 | International Business Machines Corporation | Bloom filter index for device discovery |
CN109493928A (zh) * | 2018-11-09 | 2019-03-19 | 贵州医渡云技术有限公司 | 基于条件树的患者数据筛选方法、系统、设备及存储介质 |
CN110781180A (zh) * | 2019-09-05 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种数据筛选方法和数据筛选装置 |
-
2020
- 2020-12-28 CN CN202011590224.4A patent/CN112699155A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089243A1 (en) * | 2016-09-26 | 2018-03-29 | International Business Machines Corporation | Bloom filter index for device discovery |
CN107391691A (zh) * | 2017-07-26 | 2017-11-24 | 成都科来软件有限公司 | 一种网络分析中数据的过滤方法 |
CN109493928A (zh) * | 2018-11-09 | 2019-03-19 | 贵州医渡云技术有限公司 | 基于条件树的患者数据筛选方法、系统、设备及存储介质 |
CN110781180A (zh) * | 2019-09-05 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种数据筛选方法和数据筛选装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756591A (zh) * | 2022-04-15 | 2022-07-15 | 成都卓讯智安科技有限公司 | 一种基于双向链表的数据筛选方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339071B (zh) | 一种多源异构数据的处理方法及装置 | |
CN107665228A (zh) | 一种关联信息查询方法、终端及设备 | |
CN104268428A (zh) | 一种用于指标计算的可视化配置方法 | |
CN109582289B (zh) | 规则引擎中规则流的处理方法、系统、存储介质和处理器 | |
CN110955652A (zh) | 一种用于进行数据展示的系统及方法 | |
CN109241097A (zh) | 一种流程的配置方法、计算机可读存储介质及终端设备 | |
CN108287889B (zh) | 一种基于弹性表模型的多源异构数据存储方法和系统 | |
US20080133502A1 (en) | System and method for utilizing multiple values of a search criteria | |
CN112699155A (zh) | 数据筛选方法和装置 | |
CN109033157B (zh) | 一种基于自定义搜索条件树的复杂数据检索方法和系统 | |
CN115525370A (zh) | 一种视图管理方法、装置、电子设备及存储介质 | |
CN114254033A (zh) | 一种基于bs架构的数据处理方法及系统 | |
CN112558968B (zh) | 一种资源树视图的生成方法、装置、设备及存储介质 | |
CN116992092A (zh) | 流程模型的建立方法、装置、存储介质及终端设备 | |
CN114071515B (zh) | 网络优化方法、装置、设备和存储介质 | |
CN115545401A (zh) | 基于可视化指标模型配置的城市体检评估方法、系统及计算机设备 | |
CN114327406B (zh) | 触发器数据过滤方法、触发器配置方法及计算机存储介质 | |
CN115526954A (zh) | 一种视图绘制方法、装置、电子设备及存储介质 | |
CN114281797A (zh) | 基于敏捷低代码平台快速创建基层数据汇聚仓库的方法 | |
CN104660697B (zh) | 基于Kepler科学工作流传感网服务组合方法 | |
CN114238531A (zh) | 一种机构资源上图的方法及装置 | |
CN113946568A (zh) | 一种数据治理系统以及方法 | |
CN111339422A (zh) | 推荐系统任务管理平台、推荐方法及系统 | |
CN102063487B (zh) | Cad样式的处理方法及装置 | |
CN109241254A (zh) | 一种应用于机器人的语料采集方法及采集装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210423 |