数据筛选方法和装置、电子设备及存储介质与流程

文档序号:23754296发布日期:2021-01-29 15:16阅读:66来源:国知局
[0001]本申请涉及数据处理
技术领域
:,具体而言,涉及一种数据筛选方法和装置、电子设备及存储介质。
背景技术
::[0002]随着数据处理技术的需求不断提高,其发展也得到了不断扩展。例如,可以通过图数据库进行数据存储,以在需要进行计算时,可以筛选出需要的数据。但是,经发明人研究发现,在现有的数据处理技术中,存在着数据处理(筛选)效率不高的问题。技术实现要素:[0003]有鉴于此,本申请的目的在于提供一种数据筛选方法和装置、电子设备及存储介质,以改善现有技术中存在的数据处理效率不高的问题。[0004]为实现上述目的,本申请实施例采用如下技术方案:[0005]一种数据筛选方法,包括:[0006]确定待筛选的目标关系类型;[0007]基于所述目标关系类型和预先确定的对应关系确定目标筛选条件,其中,该对应关系中包括至少一种关系类型和对应的至少一种筛选条件,该筛选条件包括实体筛选条件和关系筛选条件中的至少一种;[0008]基于所述目标筛选条件,对分布式图数据库中的数据进行筛选处理,得到目标数据,其中,所述实体筛选条件用于筛选该分布式图数据库中的点数据,所述关系筛选条件用于筛选该分布式图数据库中的边数据。[0009]在本申请实施例较佳的选择中,在上述数据筛选方法中,所述基于所述目标筛选条件,对分布式图数据库中的数据进行筛选处理,得到目标数据的步骤,包括:[0010]在分布式图数据库中,获取属于所述目标关系类型的待筛选数据;[0011]在所述待筛选数据中,基于所述目标筛选条件筛选出目标数据。[0012]在本申请实施例较佳的选择中,在上述数据筛选方法中,所述在所述待筛选数据中,基于所述目标筛选条件筛选出目标数据的步骤,包括:[0013]确定所述实体筛选条件是否包括主体筛选条件和客体筛选条件,其中,该主体筛选条件用于筛选属于第一类型的点数据,该客体筛选条件用于筛选属于第二类型的点数据,该第一类型和该第二类型基于预先配置形成;[0014]在所述实体筛选条件包括所述主体筛选条件和所述客体筛选条件时,将该主体筛选条件和该客体筛选条件中的一个作为目标筛选条件、另一个作为其它筛选条件,其中,基于所述目标筛选条件和所述关系筛选条件形成第一任务,基于所述其它筛选条件形成第二任务;[0015]基于所述待筛选数据分别执行所述第一任务和所述第二任务,以在所述待筛选数据中筛选出目标数据。[0016]在本申请实施例较佳的选择中,在上述数据筛选方法中,基于所述待筛选数据执行所述第一任务的步骤,包括:[0017]针对所述待筛选数据中的每一个数据集合,基于所述目标筛选条件对该数据集合中对应类型的点数据进行第一筛选处理,并确定进行该第一筛选处理是否得到第一筛选数据,其中,若该目标筛选条件为主体筛选条件,则该目标筛选条件的对应类型为所述第一类型,若该目标筛选条件为客体筛选条件,则该目标筛选条件的对应类型为所述第二类型;[0018]针对所述第一筛选数据对应的每一个数据集合,基于所述关系筛选条件对该数据集合中的边数据进行第二筛选处理,得到第二筛选数据;[0019]基于所述第一筛选数据和所述第二筛选数据得到目标数据。[0020]在本申请实施例较佳的选择中,在上述数据筛选方法中,所述针对所述待筛选数据中的每一个数据集合,基于所述目标筛选条件对该数据集合中对应类型的点数据进行第一筛选处理的步骤,包括:[0021]针对所述待筛选数据中的每一个数据集合,将该数据集合中的点数据缓存至映射集合中,并将该点数据从该数据集合中移除,其中该点数据基于该数据集合中键id的反序列化结果确定;[0022]针对每一个所述映射集合,基于所述目标筛选条件对该映射集合中对应类型的点数据进行第一筛选处理。[0023]在本申请实施例较佳的选择中,在上述数据筛选方法中,所述将该主体筛选条件和该客体筛选条件中的一个作为目标筛选条件、另一个作为其它筛选条件的步骤,包括:[0024]将所述主体筛选条件作为目标筛选条件,其中,该主体筛选条件和所述关系筛选条件用于形成所述第一任务;[0025]将所述客体筛选条件作为其它筛选条件,该客体筛选条件用于形成所述第二任务。[0026]在本申请实施例较佳的选择中,在上述数据筛选方法中,所述在所述待筛选数据中,基于所述目标筛选条件筛选出目标数据的步骤,还包括:[0027]在所述实体筛选条件包括所述主体筛选条件或所述客体筛选条件时,基于该主体筛选条件和所述关系筛选条件形成第一任务,或基于该客体筛选条件和所述关系筛选条件形成第一任务;[0028]基于所述待筛选数据执行所述第一任务,以在所述待筛选数据中筛选出目标数据。[0029]本申请实施例还提供了一种数据筛选装置,包括:[0030]关系类型确定模块,用于确定待筛选的目标关系类型;[0031]筛选条件确定模块,用于基于所述目标关系类型和预先确定的对应关系确定目标筛选条件,其中,该对应关系中包括至少一种关系类型和对应的至少一种筛选条件,该筛选条件包括实体筛选条件和关系筛选条件中的至少一种;[0032]目标数据筛选模块,用于基于所述目标筛选条件,对分布式图数据库中的数据进行筛选处理,得到目标数据,其中,所述实体筛选条件用于筛选该分布式图数据库中的点数据,所述关系筛选条件用于筛选该分布式图数据库中的边数据。[0033]在上述基础上,本申请实施例还提供了一种电子设备,包括:[0034]存储器,用于存储计算机程序;[0035]与所述存储器连接的处理器,用于执行该存储器存储的计算机程序,以实现上述的数据筛选方法。[0036]在上述基础上,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被执行时,实现上述的数据筛选方法。[0037]本申请提供的数据筛选方法和装置、电子设备及存储介质,通过先确定待筛选的目标关系类型,然后,可以基于该目标筛选类型确定目标筛选条件,最后,再基于目标筛选条件对分布式图数据库中的数据进行筛选。如此,可以在对分布式图数据库中的数据进行筛选时,更具有针对性,从而提高筛选的效率,进而改善现有的数据处理技术中存在的数据处理(筛选)效率不高的问题,保证基于筛选得到的数据进行其它数据处理(如图计算、图谱挖掘等)的效率,使得具有较高的实用价值。[0038]为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明[0039]图1为本申请实施例提供的电子设备的结构框图。[0040]图2为本申请实施例提供的数据筛选方法的流程示意图。[0041]图3为本申请实施例提供的点数据和边数据的效果示意图。[0042]图4为图2中步骤s130包括的子步骤的流程示意图。[0043]图5为图4中步骤s133包括的子步骤的流程示意图。[0044]图6为图4中步骤s133包括的其它子步骤的流程示意图。[0045]图7为本申请实施例提供的bigtable模型的示意图。[0046]图8为本申请实施例提供的基于bigtable模型中的单元包括的子集的数据存储逻辑结构示意图。[0047]图9为本申请实施例提供的数据筛选装置的方框示意图。[0048]图标:10-电子设备;12-存储器;14-处理器;100-数据筛选装置;110-关系类型确定模块;120-筛选条件确定模块;130-目标数据筛选模块。具体实施方式[0049]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。[0050]因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。[0051]如图1所示,本申请实施例提供了一种电子设备10,可以包括存储器12、处理器14和数据筛选装置100。这两个节点之间的边为“边1”,“用户2”与“电话”这两个节点之间的边为“边2”。[0067]其中,“用户1”这个节点对应的数据“姓名:赵一”可以是指该节点的属性数据,“边1”这条边对应的数据“时间:2020-10-26”可以是指该边的属性数据。并且,在一种可以替代的示例中,在“用户1”与“电话”这两个节点中,“用户1”可以是指主体节点,“电话”可以是指客体节点。[0068]基于上述方法,可以在对分布式图数据库中的数据进行筛选时,更具有针对性,从而提高筛选的效率,进而改善现有的数据处理技术中存在的数据处理(筛选)效率不高的问题,保证基于筛选得到的数据进行其它数据处理(如图计算、图谱挖掘等)的效率。[0069]第一方面,对于步骤s110需要说明的是,确定所述目标关系类型的具体方式不受限制,可以根据实际应用需求进行选择。[0070]例如,在一种可以替代的示例中,可以响应用户的选择操作生成所述目标关系类型。又例如,在另一种可以替代的示例中,可以从其它设备(如通信连接的终端设备)获取所述目标关系类型。[0071]可以理解的是,在上述示例中,关系类型的具体内容不受限制,可以根据实际应用需求进行配置。例如,在一种可以替代的示例中,一种关系类型可以是通话关系(如图3所示的数据)。[0072]第二方面,对于步骤s120需要说明的是,确定所述目标筛选条件的具体方式不受限制,可以根据实际应用需求进行选择。[0073]例如,在一种可以替代的示例中,预先建立有对应关系(可以是基于不同的用户需求分别建立不同的对应关系,也可以是不考虑用户的个别需求而建立的整体对应关系,即用户可以选择待筛选的关系类型,不能选择筛选条件),然后,可以基于所述目标关系类型在所述对应关系中进行映射,从而得到对应的目标筛选条件。[0074]其中,在一种具体的应用示例中,若所述目标关系类型为类型1(如通话关系),所述目标筛选条件可以包括实体筛选条件和关系筛选条件;若所述目标关系类型为类型2(如非通话关系),所述目标筛选条件可以包括实体筛选条件。[0075]第三方面,对于步骤s130需要说明的是,对分布式图数据库中的数据进行筛选处理的具体方式不受限制,可以根据实际应用需求进行选择。[0076]例如,在一种可以替代的示例中,可以直接基于所述目标筛选条件,对所述分布式图数据库中的数据进行筛选处理。[0077]又例如,在另一种可以替代的示例中,为了提高筛选的效率,改善因对过多的数据进行筛选而导致电子设备10的计算资源消耗过多的问题,结合图4,步骤s130可以包括步骤s131和步骤s133,具体内容如下所述。[0078]步骤s131,在分布式图数据库中,获取属于所述目标关系类型的待筛选数据。[0079]在本实施例中,在基于步骤s110确定所述目标关系类型之后,可以基于该目标关系类型,在所述分布式数据库中获取属于所述目标关系类型的待筛选数据,如此,可以实现数据的初步筛选。[0080]步骤s133,在所述待筛选数据中,基于所述目标筛选条件筛选出目标数据。[0081]在本实施例中,在基于步骤s131获取到所述待筛选数据之后,可以基于所述目标筛选条件,在所述待筛选数据中筛选出目标数据。如此,由于在执行步骤s133之前,已经基于步骤s131进行初步筛选,使得基于步骤s133进行实际的筛选处理的数据量降低,从而提高筛选的效率。[0082]例如,在一种具体的应用示例中,可以先在所述分布式图数据中获取出通话关系对应的待筛选数据,然后,再从该待筛选数据中基于所述目标筛选条件筛选出目标数据,如筛选出图3所示的姓名为赵一的相关数据。[0083]可选地,执行步骤s133以筛选出所述目标数据的具体方式不受限制,可以根据实际应用需求进行选择。[0084]例如,在一种可以替代的示例中,结合图5,步骤s133可以包括步骤s133a、步骤s133b和步骤s133c,具体内容如下所述。[0085]步骤s133a,确定所述实体筛选条件是否包括主体筛选条件和客体筛选条件。[0086]在本实施例中,考虑到基于不同的需求,可能会对所述实体筛选条件配置不同的筛选内容,因而,在所述目标筛选条件中包括实体筛选条件时,可以先确定该实体筛选条件是否包括主体筛选条件和客体筛选条件。[0087]其中,所述主体筛选条件用于筛选属于第一类型的点数据(如前述的主体节点的属性数据),所述客体筛选条件用于筛选属于第二类型的点数据(如前述的客体节点的属性数据),该第一类型和该第二类型可以基于预先配置形成。并且,在所述实体筛选条件包括所述主体筛选条件和所述客体筛选条件时,可以执行步骤s133b。[0088]步骤s133b,将所述主体筛选条件和所述客体筛选条件中的一个作为目标筛选条件、另一个作为其它筛选条件。[0089]在本实施例中,在基于步骤s133a确定所述实体筛选条件包括所述主体筛选条件和所述客体筛选条件时,可以将该主体筛选条件和该客体筛选条件中的一个作为目标筛选条件、另一个作为其它筛选条件(例如,在将所述主体筛选条件作为目标筛选条件时,可以将所述客体筛选条件作为其它筛选条件;在将所述客体筛选条件作为目标筛选条件时,可以将所述主体筛选条件作为其它筛选条件)。[0090]其中,可以基于所述目标筛选条件和所述关系筛选条件形成第一任务,基于所述其它筛选条件形成第二任务。[0091]步骤s133c,基于所述待筛选数据分别执行所述第一任务和所述第二任务,以在所述待筛选数据中筛选出目标数据。[0092]在本实施例中,在基于步骤s133b以确定目标筛选条件和其它筛选条件,从而形成第一任务和第二任务时,可以分别执行所述第一任务和所述第二任务(例如,在一种可以替代的示例中,可以并行执行所述第一任务和所述第二任务,如此,可以提高任务执行的效率,从而保证数据筛选的效率),以在所述待筛选数据中筛选出目标数据。[0093]可以理解的是,在上述示例中,执行步骤s133b以确定目标筛选条件和其它筛选条件的具体方式不受限制,可以根据实际应用需求进行选择。[0094]例如,在一种可以替代的示例中,在一种可以替代的示例中,步骤s133b可以包括以下子步骤:[0095]首先,将所述客体筛选条件作为目标筛选条件,其中,该客体筛选条件和所述关系筛选条件用于形成所述第一任务;其次,将所述主体筛选条件作为其它筛选条件,该主体筛选条件用于形成所述第二任务。[0096]又例如,在另一种可以替代的示例中,经过本申请的发明人的研究发现,由于主体节点和客体节点的分类一般是基于用户的配置完成,因而,为了更为有效地进行筛选,步骤s133b可以包括以下子步骤:[0097]首先,将所述主体筛选条件作为目标筛选条件,其中,该主体筛选条件和所述关系筛选条件用于形成所述第一任务;其次,将所述客体筛选条件作为其它筛选条件,该客体筛选条件用于形成所述第二任务。[0098]也就是说,在本实施例中,一方面,可以将主体筛选条件和关系筛选条件作为一个任务以一起进行筛选;另一方面,可以将客体筛选条件作为另一个任务以进行筛选。[0099]可以理解的是,在上述示例中,执行步骤s133c以执行所述第一任务的具体方式不受限制,可以根据实际应用需求进行选择。[0100]例如,在一种可以替代的示例中,可以分别基于所述主体筛选条件和所述关系筛选条件进行筛选处理,然后,将基于分别得到的结果进行合并处理(如进行or(或运算)、and(与运算)的计算等),从而得到执行第一任务的最后结果。[0101]又例如,在另一种可以替代的示例中,为了进一步提高进行筛选的效率,改善因进行过多的筛选处理而导致计算资源被浪费的问题,步骤s133c可以包括以下子步骤:[0102]首先,针对所述待筛选数据中的每一个数据集合,基于所述目标筛选条件对该数据集合中对应类型的点数据进行第一筛选处理,并确定进行该第一筛选处理是否得到第一筛选数据,其中,若该目标筛选条件为主体筛选条件,则该目标筛选条件的对应类型为所述第一类型,若该目标筛选条件为客体筛选条件,则该目标筛选条件的对应类型为所述第二类型;[0103]其次,针对所述第一筛选数据对应的每一个数据集合,基于所述关系筛选条件对该数据集合中的边数据进行第二筛选处理,得到第二筛选数据;[0104]然后,基于所述第一筛选数据和所述第二筛选数据得到目标数据。[0105]也就是说,在本实施例中,每一个数据集合可以包括一个节点的点数据和对应的边的边数据。如此,基于上述子步骤,可以先对数据集合中的点数据进行第一筛选处理,然后,基于本申请的发明人长期的研究结果“若进行第一筛选处理未筛选出任何数据,说明对应的节点不满足需求,因而,对应的边也不会满足需求”,可以将先确定进行第一筛选处理是否有筛选出数据,并且,只有在有筛选出数据,才针对对应的数据集合进行第二筛选处理,使得筛选的效率更高。[0106]基于此,可以分别基于第一筛选处理和第二筛选处理得到第一筛选数据和第二筛选数据,然后,可以基于实际需求对该第一筛选数据和该第二筛选数据进行处理(如进行or、and的计算等)得到目标数据。[0107]其中,在上述示例中,进行所述第一筛选处理的具体方式不受限制,可以根据实际应用需求进行选择。[0108]例如,在一种可以替代的示例中,为了提高进行第一筛选处理的有序性,可以基于以下子步骤以进行所述第一筛选处理:[0109]首先,针对所述待筛选数据中的每一个数据集合,将该数据集合中的点数据缓存至映射集合中,并将该点数据从该数据集合中移除,其中,该点数据基于该数据集合中键(key)id的反序列化结果(对点数据进行确定时基于键id的反序列化结果的原因在于,在基于分布式图数据库,如hbase中,进行数据存储时,一个节点的键id会被序列化为64位的二进制码)确定;其次,针对每一个所述映射集合,基于所述目标筛选条件对该映射集合中对应类型的点数据进行第一筛选处理。[0110]也就是说,若所述目标筛选条件为主体筛选条件,可以对所述映射集合中主体节点的点数据进行第一筛选处理。若所述目标筛选条件为客体筛选条件,可以对所述映射集合中客体节点的点数据进行第一筛选处理。[0111]可选地,在上述示例的基础上,若基于步骤s133a确定所述实体筛选条件不包括所述主体筛选条件和所述客体筛选条件时,具体的处理方式不受限制,可以根据实际应用需求进行选择。[0112]例如,在一种可以替代的示例中,结合图6,步骤s133还可以包括步骤s133d和步骤s133e,具体内容如下所述。[0113]步骤s133d,在所述实体筛选条件包括所述主体筛选条件或所述客体筛选条件时,基于该主体筛选条件和所述关系筛选条件形成第一任务,或基于该客体筛选条件和所述关系筛选条件形成第一任务。[0114]在本实施例中,考虑到基于一定的需求,所述实体筛选条件可以包括所述主体筛选条件和所述客体筛选条件中的一种,如包括主体筛选条件,或包括客体筛选条件。因此,可以基于该主体筛选条件和所述关系筛选条件形成第一任务(也就是说,在此示例中,可以不再基于客体筛选条件形成第二任务),或者,基于该客体筛选条件和所述关系筛选条件形成第一任务(也就是说,在此示例中,可以不再基于主体筛选条件形成第二任务)。[0115]步骤s133e,基于所述待筛选数据执行所述第一任务,以在所述待筛选数据中筛选出目标数据。[0116]在本实施例中,在基于步骤s133d形成所述第一任务之后,可以执行该第一任务,如此,可以基于所述主体筛选条件和所述关系筛选条件在所述待筛选数据中筛选出目标数据,或基于所述客体筛选条件和所述关系筛选条件在所述待筛选数据中筛选出目标数据。[0117]最后,为了便于对所述分布式图数据库中的数据存储结构进行理解,以janusgraph图谱数据在hbase数据库中采用边切割的方式进行图谱数据的存储为例进行说明。[0118]其中,结合图7,janusgraph图谱数据可以通过bigtable模型存储于数据库,在bigtable模型中,每一个表是行的集合,由一个键(key)唯一标识。每一行由任意数量单元(cell)组成,每一个单元可以包括第一子集(column)和第二子集(value),column和value可以理解为单元中的两种子集,column可以唯一标识对应的一个单元。[0119]并且,在图7中,沿着列方向(即行与行之间)可以基于key的大小进行排序,沿着行方向上(即列与列之间)可以基于column进行排序。[0120]结合图8,示例性的说明了基于边形成的数据(edge)和基于节点形成的数据(property)在单元(cell)中的存储逻辑结构。例如,对于基于边形成的数据,column中可以包括边类型的id(lableid)、图的方向(direction)、边的属性(sortkey,即上文所述的边数据)、对应(目标)节点的id(adjacentvertexid)、边的全局唯一id(edgeid),value中可以包括边的签名key(signaturekey)、边的其他属性(otherproperties)。[0121]又例如,对于基于节点形成的数据,column中可以包括属性类型(label)对应的id(keyid),value中可以包括属性的唯一id(propertyid)、属性值(propertyvalue)。[0122]结合图9,本申请实施例还提供一种可应用于上述电子设备10的数据筛选装置100。其中,该数据筛选装置100可以包括关系类型确定模块110、筛选条件确定模块120和目标数据筛选模块130。[0123]所述关系类型确定模块110,可以用于确定待筛选的目标关系类型。在本实施例中,所述关系类型确定模块110可以用于执行图2所示的步骤s110,关于所述关系类型确定模块110的相关内容可以参照前文对步骤s110的描述。[0124]所述筛选条件确定模块120,可以用于基于所述目标关系类型和预先确定的对应关系确定目标筛选条件,其中,该对应关系中包括至少一种关系类型和对应的至少一种筛选条件,该筛选条件包括实体筛选条件和关系筛选条件中的至少一种。在本实施例中,所述筛选条件确定模块120可用于执行图2所示的步骤s120,关于所述筛选条件确定模块120的相关内容可以参照前文对步骤s120的描述。[0125]所述目标数据筛选模块130,可以用于基于所述目标筛选条件,对分布式图数据库中的数据进行筛选处理,得到目标数据,其中,所述实体筛选条件用于筛选该分布式图数据库中的点数据,所述关系筛选条件用于筛选该分布式图数据库中的边数据。在本实施例中,所述目标数据筛选模块130可用于执行图2所示的步骤s130,关于所述目标数据筛选模块130的相关内容可以参照前文对步骤s130的描述。[0126]在本申请实施例中,对应于上述的数据筛选方法,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序运行时执行上述数据筛选方法的各个步骤。[0127]其中,前述计算机程序运行时执行的各步骤,在此不再一一赘述,可参考前文对所述数据筛选方法的解释说明。[0128]综上所述,本申请提供的数据筛选方法和装置、电子设备及存储介质,通过先确定待筛选的目标关系类型,然后,可以基于该目标筛选类型确定目标筛选条件,最后,再基于目标筛选条件对分布式图数据库中的数据进行筛选。如此,可以在对分布式图数据库中的数据进行筛选时,更具有针对性,从而提高筛选的效率,进而改善现有的数据处理技术中存在的数据处理(筛选)效率不高的问题,保证基于筛选得到的数据进行其它数据处理(如图计算、图谱挖掘等)的效率,使得具有较高的实用价值。[0129]以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1