CN116701719A - 一种数据处理方法、装置、计算机设备以及可读存储介质 - Google Patents
一种数据处理方法、装置、计算机设备以及可读存储介质 Download PDFInfo
- Publication number
- CN116701719A CN116701719A CN202310938271.0A CN202310938271A CN116701719A CN 116701719 A CN116701719 A CN 116701719A CN 202310938271 A CN202310938271 A CN 202310938271A CN 116701719 A CN116701719 A CN 116701719A
- Authority
- CN
- China
- Prior art keywords
- candidate
- character
- target
- character string
- reverse query
- 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
- 238000003672 processing method Methods 0.000 title abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000013507 mapping Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 20
- 238000000926 separation method Methods 0.000 claims description 11
- 238000013500 data storage Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 20
- 230000003252 repetitive effect Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000009977 dual effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据处理方法、装置、计算机设备以及可读存储介质,方法包括:获取针对与目标对象集合关联的数据的查询请求,以及获取N个候选对象集合对应的N个逆向查询路径;确定目标字符串,与逆向查询路径i中的候选字符串之间的相似字符属性i;根据N个候选对象集合分别对应的相似字符属性,从N个逆向查询路径中,识别具有目标字符串的逆向查询路径;根据具有目标字符串的逆向查询路径,读取与目标对象集合关联的数据。采用本申请,可以提高数据查询效率。
Description
技术领域
本申请涉及金融技术领域,尤其涉及一种数据处理方法、装置、计算机设备以及可读存储介质。
背景技术
随着科技技术的不断发展,为满足对象(如用户)之间的数据交互,出现了越来越多的对象集合,该对象集合由一个或者多个对象组成,如企业部门、聊天群组等,同时对象集合结构越来越复杂,从原来单一对象集合发展成为多个对象集合,并且每个对象集合又衍生出多个子对象集合。通常数据库中存储了关于对象集合的数据,如该对象集合为企业部门,对象集合的数据包括企业部门内的对象的基础信息、企业部门的绩效、考勤等数据,对象集合内的对象能够查询一个或多个对象集合的数据。由于数据库中通常存储了多个对象集合的数据,因此,需要花大量时间对数据库进行匹配查询,才能获取到用户想要的数据,导致数据查询效率较低。
发明内容
本申请实施例提供一种数据处理方法、装置、计算机设备以及可读存储介质,可以提高数据查询效率。
本申请实施例一方面提供了一种数据处理方法,包括:
获取针对与目标对象集合关联的数据的查询请求,以及获取N个候选对象集合对应的N个逆向查询路径;查询请求中携带反映目标对象集合的标识对应的目标字符串,候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串;i为小于或等于N的正整数;
确定目标字符串,与逆向查询路径i中的候选字符串之间的相似字符属性i;
根据N个逆向查询路径分别对应的相似字符属性,从N个逆向查询路径中,识别具有目标字符串的逆向查询路径;
根据具有目标字符串的逆向查询路径,读取与目标对象集合关联的数据。
本申请实施例一方面提供了一种数据处理装置,包括:
获取模块,用于获取针对与目标对象集合关联的数据的查询请求,以及获取N个候选对象集合对应的N个逆向查询路径;查询请求中携带反映目标对象集合的标识对应的目标字符串,候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串;i为小于或等于N的正整数;
确定模块,用于确定目标字符串,与逆向查询路径i中的候选字符串之间的相似字符属性i;
识别模块,用于根据N个逆向查询路径分别对应的相似字符属性,从N个逆向查询路径中,识别具有目标字符串的逆向查询路径;
读取模块,用于根据具有目标字符串的逆向查询路径,读取与目标对象集合关联的数据。
其中,识别模块包括:
第一确定单元,用于在相似字符属性i指示首个候选字符串与目标字符串之间具有完全相似关系时,将逆向查询路径i,确定为具有目标字符串的逆向查询路径;首个候选字符串为逆向查询路径i中排列顺序位于最前的候选字符串;
第二确定单元,用于根据剩余逆向查询路径分别对应的相似字符属性,从剩余逆向查询路径中,确定具有目标字符串的逆向查询路径;剩余逆向查询路径为N个逆向查询路径中除逆向查询路径i之外的逆向查询路径。
其中,识别模块包括:
遍历匹配单元,用于在相似字符属性i指示首个候选字符串与目标字符串之间不具有完全相似关系时,根据相似字符属性i,对逆向查询路径i中的候选字符串与目标字符串进行遍历匹配,得到匹配结果;首个候选字符串为逆向查询路径i中排列顺序位于最前的候选字符串;
第三确定单元,用于在匹配结果指示逆向查询路径i中存在与目标字符串之间具有完全相似关系的剩余候选字符串时,将逆向查询路径i,确定为具有目标字符串的逆向查询路径;剩余候选字符串为逆向查询路径i中除首个候选字符串以外的候选字符串;
第四确定单元,用于根据剩余逆向查询路径分别对应的相似字符属性,从剩余逆向查询路径中,确定具有目标字符串的逆向查询路径;剩余逆向查询路径为N个逆向查询路径中除逆向查询路径i之外的逆向查询路径。
其中,遍历匹配单元具体用于:
在相似字符属性i指示首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配,且目标字符串中的排列在第t个目标字符之前的目标字符之间均不相同时,读取逆向查询路径i中排列顺序位于第t个候选字符之后的M-1个候选字符;M为目标字符串的字符数量,t为大于1且小于或者等于M的整数;
将M-1个候选字符以及第t个候选字符确定为第一候选子字符串,对第一候选子字符串与目标字符串进行位置对齐处理;
将位置对齐处理后的第一候选子字符串与位置对齐处理后的目标字符串进行匹配,得到匹配结果。
其中,遍历匹配单元还具体用于:
在相似字符属性i指示首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配,且目标字符串中排列在第t个目标字符之前的目标字符中存在重复字符时,获取目标字符串中排列在第t个目标字符之前的目标字符的重复字符属性;
根据重复字符属性,从目标字符串中确定待匹配子字符串;
根据待匹配子字符串的字符数量以及第t个候选字符,从逆向查询路径i中确定第二候选子字符串;
对待匹配子字符串与第二候选子字符串进行位置对齐处理,将位置对齐处理后的待匹配子字符串与位置对齐处理后的第二候选子字符串进行匹配,得到匹配结果。
其中,获取目标字符串中排列在第t个目标字符之前的目标字符的重复字符属性,包括:
将目标字符串中排列在第t个目标字符之前的目标字符确定为匹配字符串;
对匹配字符串中的目标字符进行组合,得到P个字符组合;P为大于2的整数;
在P个字符组合中存在重复字符组合时,从重复字符组合中确定具有最大字符数量的重复字符组合,作为目标重复字符组合;
将目标重复字符组合的字符数量确定为匹配字符串中的重复字符属性。
其中,对匹配字符串中的目标字符进行组合,得到P个字符组合,包括:
移除匹配字符串中排列最后的目标字符,得到第一移除匹配字符串,对第一移除匹配字符串中的目标字符进行组合,得到W个字符组合;W为正整数;
移除匹配字符串中排列最前的目标字符,得到第二移除匹配字符串,对第二移除匹配字符串中的目标字符进行组合,得到S个字符组合;S为正整数;
将W个字符组合以及S个字符组合,确定为P个字符组合。
其中,根据重复字符属性,从目标字符串中确定待匹配子字符串,包括:
移除目标字符串中,排列在第K+1个目标字符之前的目标字符,得到移除后的目标字符串;K为目标重复字符组合的字符数量;
将移除后的目标字符串,确定为待匹配子字符串。
其中,根据待匹配子字符串的字符数量以及第t个候选字符,从逆向查询路径i中确定第二候选子字符串,包括:
读取逆向查询路径i中,排列顺序位于第t个候选字符之后的Q-1个候选字符;Q为待匹配子字符串的字符数量;
将Q-1个候选字符以及第t个候选字符确定为第二候选子字符串。
其中,确定模块包括:
获取单元,用于从逆向查询路径i中的候选字符串中,获取排列顺序位于最前的候选字符串,作为首个候选字符串;
对齐单元,用于对首个候选字符串与目标字符串进行位置对齐处理;
字符匹配单元,用于将位置对齐处理后的首个候选字符串与位置对齐处理后的目标字符串进行匹配,得到相似字符属性i。
其中,获取模块包括:
第五确定单元,用于根据对象集合从属关系树,确定候选对象集合i所属的父候选对象集合;对象集合从属关系树用于反映候选对象集合之间的从属关系,父候选对象集合对属于子候选对象集合的数据具有查询权限;
排列单元,用于对候选对象集合i以及候选对象集合i所属的父候选对象集合分别对应的候选字符串进行排列,得到排列后的候选字符串;
添加单元,用于在排列后的候选字符串中的任意两个相邻候选字符串之间添加分隔字符,得到候选对象集合i对应的逆向查询路径i;
直到获取到剩余候选对象集合分别对应的逆向查询路径,将剩余候选对象集合分别对应的逆向查询路径以及候选对象集合i对应的逆向查询路径i,确定为N个候选对象集合对应的N个逆向查询路径;剩余候选对象集合为N个候选对象集合中除候选对象集合i之外的候选对象集合。
其中,读取模块包括:
读取单元,用于从数据存储库中,读取与具有目标字符串的逆向查询路径之间具有映射关系的数据集,作为目标数据集;
第六确定单元,用于将目标数据集中的数据,确定为与目标对象集合关联的数据。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例提供的方法。
在本申请实施例中,基于对象集合的数据查询权限,生成每个候选对象集合对应的逆向查询路径,如候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串。换言之,该逆向查询路径i具有如下两重含义,第一、逆向查询路径i能够反映属于候选对象集合i的数据允许被哪些对象集合查询,第二、逆向查询路径i为属于候选对象集合i的数据的索引,即通过该逆向查询路径i能够查询到属于对象集合i的数据。因此,当需要查询与目标对象集合关联的数据时,即需要查询目标对象集合具有查询权限的数据时,计算机设备可以将反映目标对象集合的标识的目标字符串与逆向查询路径i中的候选字符串进行比对,得到目标字符串与逆向查询路径i中的候选字符串之间的相似字符属性i,该相似字符属性i反映目标字符串与逆向查询路径i中的候选字符串之间的相似关系。进一步,根据该N个逆向查询路径分别对应的相似字符属性,从该N个逆向查询路径中,识别具有该目标字符串的逆向查询路径,即具有目标字符串的逆向查询路径的数据为目标对象集合内的对象能够查询的数据。因此,根据具有目标字符串的逆向查询路径,能够快速地查询到目标对象集合关联的数据,不需要对候选对象集合内的单个对象的对象标识进行一一查询,提高数据查询效率,即提高针对对象集合关联的数据的查询效率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理系统的结构示意图;
图2是本申请实施例提供的一种数据处理的应用场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种相似字符属性获取方法的示意图;
图5是本申请实施例提供的一种重复字符特征获取方法的示意图;
图6是本申请实施例提供的一种对待匹配子字符串与第二候选子字符串进行匹配的示意图;
图7是本申请实施例提供的一种对逆向查询路径i与目标字符串进行遍历匹配的示意图;
图8是本申请实施例提供的一种目标重复字符组合的字符数量获取方法的示意图;
图9是本申请实施例提供的又一种数据处理方法的流程示意图;
图10是本申请实施例提供的一种数据查询方法的示意图;
图11是本申请实施例提供的一种数据处理装置的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种数据处理系统的结构示意图。如图1所示,该数据处理系统可以包括服务器10和终端设备集群。该终端设备集群可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1所示,具体可以包括终端设备100a、终端设备100b、终端设备100c、…、终端设备100n。如图1所示,终端设备100a、终端设备100b、终端设备100c、…、终端设备100n可以分别与上述服务器10进行网络连接,以便于每个终端设备可以通过该网络连接与服务器10进行数据交互。当然,终端设备100a、终端设备100b、终端设备100c、…、终端设备100n之间可以通过网络直连的方式进行通信,即各个终端设备之间可实现点对点的通信;也就是说,每两个终端设备之间需要进行数据交互时,一个终端设备(即发送终端设备)可将数据直接发送至另一个终端设备(即接收终端)。
其中,终端设备集群中的每个终端设备均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电(例如,智能电视)、可穿戴设备、车载终端等具有数据处理功能的智能终端。应当理解,如图1所示的终端设备集群中的每个终端设备均可以安装有具备数据处理功能的应用,当应用运行于各终端设备中时,可以分别与上述图1所示的服务器10之间进行数据交互,如应用具体可以包括数据查询应用、对象管理应用、机构管理应用等等。其中,本申请实施例中的应用可以集成在某应用中,应用还可以为独立的应用,本申请实施例不对应用的类型进行限定。为便于理解,本申请实施例可以在图1所示的多个终端设备中选择一个终端设备作为目标终端设备。例如,本申请实施例可以将图1所示的终端设备100a作为目标终端设备,目标终端设备中可以安装有具备数据处理功能的应用,此时,目标终端设备可以通过应用与服务器10之间实现数据交互。
其中,如图1所示,该服务器10可以为终端设备中的应用提供后台服务的设备。该服务器10是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
应当理解,基于图1中的一种数据处理系统可以适用于与对象集合关联的数据获取场景,可以理解的是,本申请实施例中的对象集合可以是指多个对象组成的集合,如对象集合可以是指机构中的部门、部门下的子部门、群组等中的任意一种。属于对象集合的数据可以是指对象集合中的对象对应的对象数据,如对象日志数据、对象简介数据、对象绩效数据等,当然也可以是指其他数据,如集合日志数据等。其中,可以对每个对象集合的标识进行字符串转换,得到每个对象集合的标识对应的字符串,该标识的字符串可以由多个字符组成,如标识对应的字符串可以由多个英文字符组成;当然,标识对应的字符串可以由多个阿拉伯数字组成;当然,标识对应的字符串可以由英文字符和阿拉伯数字组成等。其中,每个对象集合的标识对应的字符串所具有的字符数量可以相同。例如,对象集合A01的标识对应的字符串为KDMS,对象集合B01的标识对应的字符串为AIQW,对象集合A01的标识对应的字符串所具有的字符数量,与对象集合B01的标识对应的字符串所具有的字符数量均为4个。
其中,每个对象集合均对应一个逆向查询路径,通过该逆向查询路径可以获取到与对应对象集合关联的数据,逆向查询路径包括对属于对应对象集合的数据,具有查询权限的对象集合对应的字符串。换句话说,逆向查询路径是根据对属于对应对象集合的数据,具有查询权限的对象集合的标识对应的字符串生成的。可以理解的是,本申请中的逆向查询路径可以与属于对应候选对象集合的数据之间具有映射关系,通过逆向查询路径便可以获取到属于对应候选对象集合的数据。以候选对象集合i对应的逆向查询路径i为例,候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串。这样,通过逆向查询路径i便可以确定目标对象集合是否具有针对属于候选对象集合的数据的查询权限,而不用采用另外的权限表记录每个对象集合之间的查询权限信息,同时也不用另外从权限表中确定目标对象集合是否具有对属于候选对象集合i的数据的查询权限,可以提高数据的查询效率。
可以理解的是,目标对象集合可以是指当前需要进行数据查询的对象集合,例如,当查询对象实施了针对对象集合A01的数据查询操作,查询对象对应的终端设备可以响应于针对对象集合A01的数据查询操作,将对象集合A01确定为目标对象集合。同时,计算机设备可以生成针对与目标对象集合关联的数据的查询请求,该查询请求携带目标对象集合的标识对应的目标字符串,用于指示获取目标对象集合具有查询权限的数据。其中,N个候选对象集合可以是指数据库中的对象集合,如存储了数据的对象集合,N为正整数。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种数字处理的应用场景示意图。如图2所示的服务器20c可以为上述图1所对应实施例中的服务器10,如图2所示的终端设备20b可以为上述图1所对应实施例中的终端设备100b。如图2所示,当需要查询与目标对象集合关联的数据时,查询对象20a可以在查询对象20a关联的终端设备20b上,实施针对与目标对象集合关联的数据的查询操作。终端设备20b可以响应于查询对象20a针对与目标对象集合关联的数据的查询操作,生成针对与目标对象集合关联的数据的查询请求,该查询请求携带反映目标对象集合的标识对应的目标字符串。其中,与目标对象集合关联的数据可以是指目标对象集合中的对象对应的对象数据,如对象日志数据、对象简介数据、对象绩效数据等。进一步地,终端设备20b可以将针对与目标对象集合关联的数据的查询请求发送给服务器20c。
具体的,服务器20c可以获取目标对象集合的标识对应的目标字符串,与N个候选对象集合对应的N个逆向查询路径中的候选字符串之间的相似字符属性。其中,一个候选对象集合对应一个逆向查询路径,如2所示,N个逆向查询路径包括逆向查询路径N1、逆向查询路径N2、逆向查询路径N3、逆向查询路径N4等。每个逆向查询路径可以与一个数据集之间具有映射关系,如逆向查询路径N1与数据a1、数据a2、数据a3、数据a4等数据组成的数据集之间具有映射关系;逆向查询路径N2与数据b1、数据b2、数据b3、数据b4等数据组成的数据集之间具有映射关系;逆向查询路径N3与数据c1、数据c2、数据c3、数据c4等数据组成的数据集之间具有映射关系;逆向查询路径N4与数据d1、数据d2、数据d3、数据d4等数据组成的数据集之间具有映射关系等。
如图2所示,服务器20c可以预先生成每个候选对象集合对应的逆向查询路径。例如,N个候选对象集合包括候选对象集合A01,服务器20c在生成候选对象集合A01对应的逆向查询路径N1时,可以获取对属于候选对象集合A01的数据,具有查询权限的候选对象集合对应的候选字符串。进一步地,服务器20c可以获取具有查询权限的候选对象集合之间的集合从属关系,按照具有查询权限的候选对象集合之间的集合从属关系,对具有查询权限的候选对象集合对应的候选字符串进行拼接,得到逆向查询路径N1。例如,对属于候选对象集合A01的数据,具有查询权限的候选对象集合包括候选对象集合A01、候选对象集合B01以及候选对象集合C01,候选对象集合A01属于候选对象集合B01的子集合,候选对象集合B01属于候选对象集合C01的子集合,则候选对象集合A01对应的逆向查询路径N1可以为A01-B01-C01。服务器生成候选对象集合A01对应的逆向查询路径N1后,可以将属于候选对象集合A01的数据(即数据a1、数据a2、数据a3、数据a4等数据组成的数据集),与逆向查询路径N1之间建立映射关系。
可以理解的是,服务器20c可以获取目标字符串与N个逆向查询路径中的逆向查询路径i中的候选字符串之间的相似字符属性i。换句话说,服务器20c可以获取目标字符串与每个逆向查询路径中的候选字符串之间的相似字符属性,直到获取到N个逆向查询路径分别对应的相似字符属性。具体的,服务器在相似字符属性i时,由于逆向查询路径是由候选对象集合的标识的字符串拼接得到的,因此服务器20c可以从逆向查询路径i中的候选字符串中,获取排列顺序位于最前的候选字符串,作为首个候选字符串。例如,候选对象集合A01对应的逆向查询路径N1为A01-B01-C01时,首个候选字符串为A01。进一步地,服务器20c可以将目标字符串与首个候选字符串进行位置对齐处理,将位置对齐后的首个候选字符串与位置对齐处理后的目标字符串进行逐一匹配,得到目标字符串与逆向查询路径i中的候选字符串之间的相似字符属性i。该相似字符属性i可以用于反映首个候选字符串与目标字符串之间是否具有完全相似关系,即首个候选字符串中的候选字符是否与目标字符串中的目标字符完全匹配。进一步地,服务器20c可以根据相似字符属性i,快速检测出逆向查询路径中的候选字符串中是否具有目标字符串。
以相似字符属性i的获取方式,服务20c可以获取到目标字符串与剩余逆向查询路径(该剩余逆向查询路径是指N个逆向查询路径中除逆向查询路径i之外的逆向查询路径)中的候选字符串之间的相似字符属性,直到获取到N个逆向查询路径分别对应的相似字符属性。进一步地,服务器20c可以根据N个逆向查询路径分别对应的相似字符属性,快速从N个逆向查询路径中,识别具有目标字符串的逆向查询路径。在获取到具有目标字符串的逆向查询路径时,服务器20c可以获取与具有目标字符串的逆向查询路径之间具有映射关系的数据集,将具有映射关系的数据集,确定为与目标对象集合关联的数据。进一步地,服务器20c可以将与目标对象集合关联的数据发送给终端设备20b,终端设备20b可以在终端显示界面中,显示与目标对象集合关联的数据,以供查询对象查看到与目标对象集合关联的数据。
由此可见,本申请中的候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识的候选字符串,换句话说,通过逆向查询路径i便可以确定目标对象集合是否具有针对属于候选对象集合的数据的查询权限,而不用采用另外的权限表记录每个对象集合之间的查询权限信息,同时也不用根据权限表确定目标对象集合是否具有对属于候选对象集合i的数据的查询权限,可以提高数据的查询效率。同时,本申请可以获取目标字符串与每个逆向查询路径中的候选字符串之间的相似字符属性,根据每个逆向查询路径对应的相似字符串,可以快速检测出逆向查询路径中的候选字符串中是否具有目标字符串,可以避免占用设备过多的计算资源,同时可以进一步提高数据的查询效率。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。如图3所示,该方法可由图1中的任意终端设备来执行,也可以由图1中的服务器10来执行,还可以由图1中的终端设备和服务器共同执行,本申请中用于执行该方法的设备可以统称为计算机设备。其中,该数据处理方法可以包括但不限于如下步骤:
S101,获取针对与目标对象集合关联的数据的查询请求,以及获取N个候选对象集合对应的N个逆向查询路径。
具体的,当查询对象需要查询与目标对象集合关联的数据时,查询对象可以实施针对与目标对象集合关联的数据的查询操作,计算机设备可以响应于查询对象针对与目标对象集合关联的数据的查询操作,获取针对与目标对象集合关联的数据的查询请求,该查询请求中携带反映目标对象集合的标识的目标字符串。其中,目标对象集合是指当前需要进行数据查询的对象集合,与目标对象集合关联的数据可以是指目标对象集合中的对象对应的对象数据,如对象日志数据、对象简介数据、对象绩效数据等,当然也可以是指其他数据,如集合日志数据等。其中,目标对象集合的标识对应的目标字符串可以由多个字符组成,如目标字符串可以由多个英文字符、多个阿拉伯数字组成。当然,目标字符串可以由英文字符和阿拉伯数字组成等。同样的,候选对象集合的标识对应的候选字符串也可以由多个字符组成,如目标字符串可以由多个英文字符、多个阿拉伯数字组成。当然,目标字符串可以由英文字符和阿拉伯数字组成等。其中,目标字符串的字符数量与候选字符串的字符数量相同,如目标字符串和候选字符串分别对应的字符数量均为4位。其中,与目标对象集合关联的数据可以是指目标对象集合具有查询权限的数据,如属于目标对象集合的数据以及目标对象集合具有查询权限的属于其他对象集合的数据。
同时,计算机设备可以获取N个候选对象集合对应的N个逆向查询路径,一个候选对象集合对应一个逆向查询路径。具体的,计算机设备可以生成每个候选对象集合对应的逆向查询路径,在存储属于候选对象集合i的数据时,将该属于候选对象集合i的数据存储至与候选对象集合i关联的数据集或者数据库中。其中,候选对象集合i属于N个候选对象集合中的任意一个,i为小于或等于N的正整数。这样,可以直接通过逆向查询路径i快速查询到属于候选对象集合的数据。另外,候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串,这样,通过逆向查询路径i便可以确定目标对象集合是否具有针对属于候选对象集合的数据的查询权限,而不用采用另外的权限表记录每个对象集合之间的查询权限信息,同时也不用根据权限表确定目标对象集合是否具有对属于候选对象集合i的数据的查询权限,可以提高数据的查询效率。
可选的,计算机获取N个候选对象集合对应的N个逆向查询路径的具体方式可以包括:根据对象集合从属关系树,确定候选对象集合i所属的父候选对象集合;对象集合从属关系树用于反映候选对象集合之间的从属关系,父候选对象集合对属于子候选对象集合的数据具有查询权限。对候选对象集合i以及候选对象集合i所属的父候选对象集合分别对应的候选字符串进行排列,得到排列后的候选字符串。在排列后的候选字符串中的任意两个相邻候选字符串之间添加分隔字符,得到候选对象集合i对应的逆向查询路径。直到获取到剩余候选对象集合分别对应的逆向查询路径,将剩余候选对象集合分别对应的逆向查询路径以及候选对象集合i对应的逆向查询路径i,确定为N个候选对象集合对应的N个逆向查询路径;剩余候选对象集合为N个候选对象集合中除候选对象集合i之外的候选对象集合。
具体的,计算机设备可以获取对象集合从属关系树,该对象集合从属关系树包括多个候选对象集合以及用于反映候选对象集合之间的从属关系,父候选对象集合对属于子候选对象集合的数据具有查询权限。计算机设备可以从对象集合从属关系树中,确定候选对象集合i所属的父候选对象集合。例如,候选对象集合i属于候选对象集合B01的子对象集合,候选对象集合B01属于候选对象集合C01的子对象集合,候选对象集合C01不具有父候选对象集合,则候选对象集合i的父候选对象集合为候选对象集合B01和候选对象集合C01。进一步地,计算机设备可以获取候选对象集合i与父候选对象集合之间的集合从属关系,按照候选对象集合i与父候选对象集合之间的集合从属关系,对候选对象集合i以及候选对象集合i所属的父候选对象集合分别对应的候选字符串进行排列,得到排列后的候选字符串。
具体的,计算机设备可以在排列后的候选字符串中任意两个相邻候选字符串之间添加分隔字符,对排列后的候选字符串以及分隔字符进行拼接,得到候选对象集合i对应的逆向查询路径N1。例如,候选对象集合i为候选对象集合A01时,候选对象集合A01的父候选对象集合包括候选对象集合B01以及候选对象集合C01。在对候选对象集合A01属于候选对象集合B01的子集合,候选对象集合B01属于候选对象集合C01的子集合时,计算机设备可以按照候选对象集合之间的从属关系,对候选对象集合A01、候选对象集合B01以及候选对象集合C01分别对应的候选字符串进行排列,得到A01,B01,C01。进一步地,计算机设备可以在排列后的候选字符串中的任意两个相邻候选字符串之间添加分隔字符,再进行拼接,得到候选对象集合A01对应的逆向查询路径N1,如A01-B01-C01。计算机设备可以基于获取候选对象集合i对应的逆向查询路径i,继续获取剩余候选对象集合分别对应的逆向查询路径,将剩余候选对象集合分别对应的逆向查询路径以及候选对象集合i对应的逆向查询路径i,确定为N个候选对象集合对应的N个逆向查询路径,剩余候选对象集合为N个候选对象集合中除候选对象集合i之外的候选对象集合。
S102,确定目标字符串,与逆向查询路径i中的候选字符串之间的相似字符属性i。
具体的,计算机设备可以确定目标字符串,与逆向查询路径i中的候选字符串之间的相似字符属性i,该相似字符属性i可以用于反映目标字符串与逆向查询路径i中的候选字符串在进行逐一匹配时,逆向查询路径i中的候选字符串与目标字符串之间是否具有完全相似关系,即逆向查询路径i中的候选字符串的候选字符是否与目标字符串中的目标字符完全匹配。
可选的,计算机设备确定目标字符串,与逆向查询路径i中的候选字符串之间的相似字符属性i的具体方式可以包括:从逆向查询路径i中的候选字符串中,获取排列顺序位于最前的候选字符串,作为首个候选字符串。对首个候选字符串与目标字符串进行位置对齐处理,将位置对齐处理后的首个候选字符串与位置对齐处理后的目标字符串进行匹配,得到相似字符属性i。
具体的,由于逆向查询路径i中的候选字符串,是由对属于候选对象集合i的数据,具有查询权限的候选对象集合对应的候选字符串拼接得到的,因此,计算机设备可以从逆向查询路径i中的候选字符串中,获取排列顺序位于最前的候选字符串,作为首个候选字符串。例如,逆向查询路径i为abc0ab1-acdg023-abin041时,排列顺序最前的候选字符串为abc0ab1,则将abc0ab1确定为首个候选字符串。由于每个对象集合的标识对应的字符串的字符数量相同,因此,计算机设备可以对首个候选字符串与目标字符串进行位置对齐处理。即将首个候选字符串中排列最前的第一个候选字符,与目标字符串中排列最前的第一个目标字符进行对齐,将首个候选字符串中排列第二的第二个候选字符,与目标字符串中排列第二的第二个目标字符进行对齐,直到将首个候选字符串中排列最后的第M个候选字符,与目标字符串中排列最后的第M个目标字符进行对齐,M为目标字符串的字符数量。
具体的,在首个候选字符串中的候选字符与目标字符串中的目标字符全部匹配(如全部相同)时,计算机设备可以生成用于指示首个候选字符串与目标字符串之间具有完全相似关系的相似字符属性i。当然,在首个候选字符串中的候选字符与目标字符串中的目标字符中存在不匹配字符(如存在不相同字符)时,计算机设备可以生成用于指示首个候选字符串与目标字符串之间不具有完全相似关系的相似字符属性i。同时,相似字符属性i还可以用于指示目标字符串与首个候选字符串之间的不匹配字符,以及目标字符串中排列在不匹配字符之前的目标字符之间是否相同。例如,首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配,且目标字符串中的排列在第t个目标字符之前的目标字符之间均不相同,则将首个候选字符串与目标字符串之间不具有完全相似关系、首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配以及目标字符串中的排列在第t个目标字符之前的目标字符之间均不相同,确定为相似字符属性i。
如图4所示,图4是本申请实施例提供的一种相似字符属性获取方法的示意图。如图4所示,以首个候选字符串40a为abc0ab1,目标字符串40b为abc0ab3为例,计算机设备在对首个候选字符串40a与目标字符串40b进行位置对齐处理时,可以将首个候选字符串40a中排列最前的候选字符“a”与目标字符串40b中排列最前的目标字符“a”对齐;将首个候选字符串40a中排列第二的候选字符“b”与目标字符串40b中排列第二的目标字符“b”对齐;将首个候选字符串40a中排列第三的候选字符“c”与目标字符串40b中排列第三的目标字符“c”对齐;将首个候选字符串40a中排列第四的候选字符“0”与目标字符串40b中排列第四的目标字符“0”对齐;将首个候选字符串40a中排列第五的候选字符“a”与目标字符串40b中排列第五的目标字符“a”对齐;将首个候选字符串40a中排列第六的候选字符“b”与目标字符串40a中排列第六的目标字符“b”对齐;将首个候选字符串40a中排列第七的候选字符“1”与目标字符串40b中排列第七的目标字符“3”对齐,得到位置对齐处理后的首个候选字符串与位置对齐处理后的目标字符串40c。进一步地,计算机设备可以将位置对齐处理后的首个候选字符串与位置对齐处理后的目标字符串40c进行逐一匹配,得到目标字符串与逆向查询路径i中的候选字符串之间的相似字符属性i。
如图4所示,计算机设备可以采用第一指针40d遍历位置对齐处理后的首个候选字符串,以及采用第二指针40e遍历位置对齐处理后的目标字符串,逐一对首个候选字符串40a中的候选字符与目标字符串40b中的目标字符进行匹配,当第一指针40d遍历得到的候选字符与第二指针40e遍历到的目标字符匹配时,则第一指针40d和第二指针40e均移动到下一位字符。如图4所示,第一指针40d遍历到排列最前的候选字符“a”,以及第二指针40e遍历到排列最前的目标字符“a”,候选字符“a”与目标字符“a”匹配,则第一指针40d移动到排列第二的候选字符“b”,第二指针40e移动到排列第二的目标字符“b”。直到第一指针40d遍历到排列最后的候选字符“1”,以及第二指针40e遍历到排列最后的目标字符“3”时,排列最后的候选字符“1”与排列最后的目标字符“3”不匹配,则可以生成用于指示首个候选字符串与目标字符串之间不具有完全相似关系的相似字符属性,同时,该相似字符属性还用于指示首个候选字符串40a中排列最后的候选字符“1”与目标字符串40b中排列最后的目标字符“3”不匹配,以及目标字符串40b中目标字符串中排列在目标字符“3”之前的目标字符中存在重复字符。
S103,根据N个逆向查询路径分别对应的相似字符属性,从N个逆向查询路径中,识别具有目标字符串的逆向查询路径。
具体的,相似字符属性用于反映逆向查询路径中的候选字符串与目标字符串是否具有完全相似关系,计算机设备可以根据N个逆向查询路径分别对应的相似字符属性,从N个逆向查询路径中,识别具有目标字符串的逆向查询路径。
在具体实现中,由于在采用暴力算法,将目标字符串与每个逆向查询路径中的候选字符串进行匹配时,会导致过多的字符重复匹配,增加了字符匹配的工作量,同时占用了设备的大量计算资源,导致设备的性能下降,进而导致字符匹配的效率较低。其中,暴力算法是指将目标字符串与每个逆向查询路径中的候选字符串,从左到右依次匹配。在遇到不匹配字符时,则跳回到逆向查询路径中的候选字符串中的第二个候选字符,以及跳回到目标字符串中的第一个目标字符,再从左到右依次匹配。以目标字符串为abc0ef3,逆向查询路径i中的候选字符串为abc0re1-acdg023-abin041为例,在采用暴力算法匹配时,首先将逆向查询路径i中的第1个候选字符“a”与目标字符串中的第1个目标字符“a”进行匹配。由于第1个候选字符“a”与第1个目标字符“a”匹配,则将逆向查询路径i中的第2个候选字符“b”与目标字符串中的第2个目标字符“b”进行匹配。
直到将逆向查询路径i中的第5个候选字符“1”与目标字符串中的第5个目标字符“3”进行匹配时,由于第5个候选字符“2”与第5个目标字符“3”不匹配,则跳回到逆向查询路径中的候选字符串中的第二个候选字符“b”,以及跳回到目标字符串中的第一个目标字符“a”,将第二个候选字符“b”与第一个目标字符“a”进行匹配。这样,会导致过多的字符重复匹配,增加了字符匹配的工作量,同时占用了设备的大量计算资源,导致设备的性能下降,进而导致字符匹配的效率较低。基于此,本申请实施例可以通过确定目标字符串,与逆向查询路径i中的候选字符串之间的相似字符属性i。可以理解的是,相似字符属性i用于反映逆向查询路径i中的候选字符串与目标字符串之间是否具有完全相似关系,通过相似字符属性i可以快速识别出逆向查询路径i中是否具有目标字符串,可以提高对象集合的数据查询效率。
可选的,计算机设备根据N个候选对象集合分别对应的相似字符属性,从N个逆向查询路径中,识别具有目标字符串的逆向查询路径的具体方式可以包括:在相似字符属性i指示首个候选字符串与目标字符串之间具有完全相似关系时,将逆向查询路径i,确定为具有目标字符串的逆向查询路径,该首个候选字符串为逆向查询路径i中排列顺序位于最前的候选字符串。根据剩余逆向查询路径分别对应的相似字符属性,从剩余逆向查询路径中,确定具有目标字符串的逆向查询路径;剩余逆向查询路径为N个逆向查询路径中除逆向查询路径i之外的逆向查询路径。
具体的,在计算机设备确定相似字符属性i指示首个候选字符串与目标字符串之间具有完全相似关系,即首个候选字符串中的候选字符与目标字符串中的目标字符全部匹配,可以将逆向查询路径i确定为具有目标字符串的逆向查询路径。同样的,计算机设备可以根据剩余逆向查询路径分别对应的相似字符属性,从剩余逆向查询路径中,确定具有目标字符串的逆向查询路径,该剩余逆向查询路径为N个逆向查询路径中除逆向查询路径i之外的逆向查询路径。例如,剩余逆向查询路径对应的相似字符属性指示首个候选字符串与目标字符串之间具有完全相似关系,可以将剩余逆向查询路径确定为具有目标字符串的逆向查询路径。
可选的,计算机设备根据N个候选对象集合分别对应的相似字符属性,从N个逆向查询路径中,识别具有目标字符串的逆向查询路径的具体方式可以包括:在相似字符属性i指示首个候选字符串与目标字符串之间不具有完全相似关系时,根据相似字符属性i,对逆向查询路径i中的候选字符串与目标字符串进行遍历匹配,得到匹配结果;首个候选字符串为逆向查询路径i中排列顺序位于最前的候选字符串。在匹配结果指示逆向查询路径i中存在与目标字符串之间具有完全相似关系的剩余候选字符串时,将逆向查询路径i,确定为具有目标字符串的逆向查询路径;剩余候选字符串为逆向查询路径i中除首个候选字符串以外的候选字符串。根据剩余逆向查询路径分别对应的相似字符属性,从剩余逆向查询路径中,确定具有目标字符串的逆向查询路径;剩余逆向查询路径为N个逆向查询路径中除逆向查询路径i之外的逆向查询路径。
具体的,在相似字符属性i指示首个候选字符串与目标字符串之间不具有完全相似关系时,计算机设备可以继续从逆向查询路径i中获取剩余候选字符串,该剩余候选字符串是指逆向查询路径i的候选字符串中,除首个候选字符串之外的候选字符串。进一步地,计算机设备可以继续获取剩余候选字符串与目标字符串之间的相似字符属性,将剩余候选字符串对应的相似字符属性作为匹配结果,该匹配结果用于指示剩余候选字符串与目标字符串之间是否具有完全相似关系。在匹配结果指示逆向查询路径i中存在与目标字符串之间具有完全相似关系的剩余候选字符串时,将逆向查询路径i,确定为具有目标字符串的逆向查询路径。当然,在匹配结果指示逆向查询路径i中存在与目标字符串之间不具有完全相似关系的剩余候选字符串时,则继续从逆向查询路径i中获取下一个剩余候选字符串,根据下一个剩余候选字符串确定逆向查询路径i与目标字符串之间是否具有完全相似关系。
可以理解的是,直到遍历完逆向查询路径i中的剩余候选字符串,且不存在与目标字符串之间具有完全相似关系的剩余候选字符串时,则计算机设备确定逆向查询路径i不是具有目标字符串的逆向查询路径。同样的,计算机设备可以根据逆向查询路径i的确定方式,根据剩余逆向查询路径分别对应的相似字符属性,从剩余逆向查询路径中,确定具有目标字符串的逆向查询路径。
应当理解,在相似字符属性i指示首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配时,目标字符串中排列在第t个目标字符之前的目标字符存在两种情况。情况一:目标字符串中排列在第t个目标字符之前的目标字符之间互不相同。情况二:目标字符串中排列在第t个目标字符之前的目标字符中存在重复字符。为便于理解,本申请实施例对该两种情况下获取匹配结果的方式进行分别阐述。
可选的,在目标字符串中排列在第t个目标字符之前的目标字符之间互不相同时,计算机设备根据相似字符属性i,对逆向查询路径i中的候选字符串与目标字符串进行遍历匹配,得到匹配结果的具体方式可以包括:在相似字符属性i指示首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配,且目标字符串中的排列在第t个目标字符之前的目标字符之间均不相同时,读取逆向查询路径i中排列顺序位于第t个候选字符之后的M-1个候选字符,该M为目标字符串的字符数量,t为大于1且小于或者等于M的整数。将M-1个候选字符以及第t个候选字符确定为第一候选子字符串,对第一候选子字符串与目标字符串进行位置对齐处理。将位置对齐处理后的第一候选子字符串与位置对齐处理后的目标字符串进行匹配,得到匹配结果。
具体的,在相似字符属性i指示首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配,且目标字符串中的排列在第t个目标字符之前的目标字符之间均不相同时,计算机设备可以读取逆向查询路径i中排列顺序位于第t个候选字符之后的M-1个候选字符。其中,M为目标字符串的字符数量,t为大于1且小于或者等于M的整数。例如M为6时,计算机设备读取逆向查询路径i中排列顺序位于第t个候选字符之后的5个候选字符。当然,计算机设备在不能读取出逆向查询路径i中排列顺序位于第t个候选字符之后的M-1个候选字符时,如逆向查询路径i中排列顺序位于第t个候选字符之后的候选字符的字符数据不足M-1个时,计算机设备可以确定逆向查询路径i不是具有目标字符串的逆向查询路径。
进一步地,计算机设备可以将M-1个候选字符以及第t个候选字符确定为第一候选子字符串,对第一候选子字符串与目标字符串进行位置对齐处理,可以参考图4中的对齐方式,本申请实施例在此不再赘述。可以理解的是,第一候选子字符串可以是指从逆向查询路径i中提取到的剩余候选字符串。计算机设备可以将位置对齐处理后的第一候选子字符串与位置对齐处理后的目标字符串进行匹配,得到匹配结果,可以参见图4中的匹配方式,本申请实施例在此不再赘述。可见,在遇到不匹配字符时,可以直接将第t个候选字符以及M-1个候选字符确定为第一候选子字符串,由于目标字符串中的排列在第t个目标字符之前的目标字符之间均不相同,因此将已经匹配过的候选字符与目标字符串中的目标字符进行匹配,即不用采用排列第二的候选字符以及位于排列第二的候选字符之后的候选字符与目标字符串进行匹配。而是将第一候选子字符串与目标字符串进行匹配,可以避免字符重复匹配,可以提高字符匹配的效率。
换句话说,计算机设备将位置对齐处理后的第一候选子字符串与位置对齐处理后的目标字符串进行匹配,得到第一候选子字符串与目标字符串之间的相似字符属性,将该第一候选子字符串与目标字符串之间的相似字符属性确定为匹配结果。具体的,在该匹配结果指示第一候选子字符与目标字符串之间具有完全相似关系时,则计算机设备将逆向查询路径i确定为具有目标字符串的逆向查询路径。在匹配结果指示第一候选子字符与目标字符串之间不具有完全相似关系时,则计算机设备可以继续从逆向查询路径i中的剩余候选字符串中提取出其他候选子字符串,对其他候选子字符串与目标字符串进行匹配,直到获取到与目标字符串匹配的其他候选子字符串,或者不能从逆向查询路径i中的剩余候选字符串中提取出其他候选子字符串为止。
可选的,当t=1,即相似字符属性i指示首个候选字符串的第1个候选字符与目标字符串中的第1个目标字符不匹配时,计算机设备根据相似字符属性i,对逆向查询路径i中的候选字符串与目标字符串进行遍历匹配,得到匹配结果的具体方式可以包括:计算机设备可以读取逆向查询路径i中排列顺序位于第1个候选字符之后的M个候选字符,M为目标字符串的字符数量。将M个候选字符确定为第三候选子字符串,对第三候选子字符串与目标字符串进行位置对齐处理,将位置对齐处理后的第三候选子字符串与位置对齐处理后的目标字符串进行匹配,得到匹配结果。
可选的,在目标字符串中排列在第t个目标字符之前的目标字符中存在重复字符时,计算机设备根据相似字符属性i,对逆向查询路径i中的候选字符串与目标字符串进行遍历匹配,得到匹配结果的具体方式可以包括:在相似字符属性i指示首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配,且目标字符串中排列在第t个目标字符之前的目标字符中存在重复字符时,获取目标字符串中排列在第t个目标字符之前的目标字符的重复字符属性。根据重复字符属性,从目标字符串中确定待匹配子字符串。根据待匹配子字符串的字符数量以及第t个候选字符,从逆向查询路径i中确定第二候选子字符串。对待匹配子字符串与第二候选子字符串进行位置对齐处理,将位置对齐处理后的待匹配子字符串与对位置对齐处理后的第二候选子字符串进行匹配,得到匹配结果。
具体的,目标字符串中排列在第t个目标字符之前的目标字符中存在重复字符是指存在一个或者多个字符相同,如目标字符串中第t-1个目标字符与第一个目标字符相同。此时,计算机设备可以获取目标字符串中排列在第t个目标字符之前的目标字符的重复字符属性,该重复字符属性可以是指重复字符的数量、位置等。计算机设备可以根据重复字符属性,从目标字符串中确定出第一目标子字符。进一步地,计算机花少北可以根据第一目标子字符的字符数量以及第t个候选字符,从逆向查询路径i中的候选字符串中确定第二候选子字符串。可以理解的是,该第二候选子字符串可以是指从逆向查询路径i中提取到的剩余候选字符串。
其中,由于第二候选子字符串的字符数量与待匹配子字符串的字符数量相同,计算机设备可以对待匹配子字符串与第二候选子字符串进行位置对齐处理,具体可以参考上述图4中的位置对齐处理内容,本申请实施例在此不再赘述。进一步地,计算机设备可以将对齐处理后的待匹配子字符串与位置对齐处理后的第二候选子字符串进行匹配,得到匹配结果。可见,在遇到不匹配字符时,由于目标字符串中的排列在第t个目标字符之前的目标字符中存在重复字符,已匹配过的候选字符中存在与已匹配过的目标字符匹配的情况。为确保匹配的准确性,根据重复字符属性从目标字符串中确定待匹配子字符串,以及从逆向查询路径i中确定第二候选子字符串。进一步对待匹配子字符串与第二候选子字符串进行匹配,同时也不用对已经匹配过的候选字符以及已经匹配过的目标字符进行重复匹配,即不用采用排列第二的候选字符以及位于排列第二的候选字符之后的候选字符与目标字符串进行匹配,在确保匹配准确性的同时,可以避免字符重复匹配,可以提高字符匹配的效率。
可选的,计算机设备获取目标字符串中排列在第t个目标字符之前的目标字符的重复字符属性的具体方式可以包括:将目标字符串中排列在第t个目标字符之前的目标字符确定为匹配字符串;对匹配字符串中的目标字符进行组合,得到P个字符组合;P为大于2的整数。在从P个字符组合中存在重复字符组合时,从重复字符组合中确定具有最大字符数量的重复字符组合,作为目标重复字符组合。将目标重复字符组合的字符数量确定为匹配字符串中的重复字符属性。
具体的,计算机设备可以将目标字符串中排列在第t个目标字符之前的目标字符确定为匹配字符串。例如,目标字符串为abc0ab3,第t个目标字符为第7位的目标字符“3”为例,匹配字符串为abc0ab。进一步地,计算机设备可以对匹配字符串中的目标字符进行组合,得到P个字符组合,P为大于2的整数。具体的,计算机设备可以根据匹配字符串中的目标字符的字符位置,对对匹配字符串中的目标字符进行组合,一个字符组合的字符数量可以为1个,也可以为多个。计算机设备可以检测P个字符组合中是否存在重复字符组合,如字符组合“ab”与字符组合“ab”为重复字符组合。在P个字符组合中存在重复字符组合时,从重复字符组合中确定具有最大字符数量的重复字符组合,作为目标重复字符组合。例如,重复字符组合包括“a”和“ab”,则具有最大字符数量的重复字符组合为“ab”。将目标重复字符组合的字符数量确定为匹配字符串中的重复字符属性。
当然,在P个字符组合中不存在重复字符组合时,计算机设备可以读取逆向查询路径i中排列顺序位于第t个候选字符之后的M-1个候选字符,将M-1个候选字符以及第t个候选字符确定为第一候选子字符串,对第一候选子字符串与目标字符串进行位置对齐处理。将位置对齐处理后的第一候选子字符串与位置对齐处理后的目标字符串进行匹配,得到匹配结果。
可选到的,计算机设备对匹配字符串中的目标字符进行组合,得到P个字符组合的具体方式可以包括:移除匹配字符串中排列最后的目标字符,得到第一移除匹配字符串,对第一移除匹配字符串中的目标字符进行组合,得到W个字符组合;W为正整数。移除匹配字符串中排列最前的目标字符,得到第二移除匹配字符串,对第二移除匹配字符串中的目标字符进行组合,得到S个字符组合;S为正整数。将W个字符组合以及S个字符组合,确定为P个字符组合。
具体的,计算机设备可以移除匹配字符串中排列最后的目标字符,得到第一移除匹配字符串。例如,匹配字符串为abc0ab时,移除匹配字符串中排列最后的目标字符“b”,得到第一移除匹配字符串abc0a。进一步地,计算机设备可以对第一移除匹配字符串中的目标字符进行组合,得到W个字符组合。具体的,计算机设备可以根据第一移除匹配字符串中的目标字符的字符位置,将第一移除匹配字符串中排列最前的目标字符,分别与第一移除匹配字符串中位于排列最前的目标字符之后的目标字符进行组合,得到W个字符组合,该W个字符组合可以又称前缀字符组合。同时,计算机设备可以移除匹配字符串中排列最前的目标字符,得到第二移除匹配字符串。例如,匹配字符串为abc0ab时,移除匹配字符串中排列最前的目标字符“a”,得到第二移除匹配字符串bc0ab。进一步地,计算机设备可以根据第二移除匹配字符串中的目标字符的字符位置,将第人移除匹配字符串中排列最后的目标字符,分别与第二移除匹配字符串中位于排列最后的目标字符之前的目标字符进行组合,得到P个字符组合,该P个字符组合又称后缀字符组合。将W个字符组合以及S个字符组合,确定为P个字符组合。
如图5所示,图5是本申请实施例提供的一种重复字符特征获取方法的示意图,如图5所示,以首个候选字符串50a为abc0ab1,目标字符串50b为abc0ab3为例,计算机设备对首个候选字符串50a与目标字符串50b进行位置对齐处理后,可采用第一指针50c对位置对齐处理后的首个候选字符串进行遍历,采用第二指针50d对位置对齐处理后的目标字符串进行遍历。将第一指针50c遍历到的候选字符与第二指针50d遍历到的目标字符进行匹配,在第一指针50c遍历到的候选字符与第二指针50d遍历到的目标字符匹配时,则将第一指针50c和第二指针50d移动到下一位字符。如图5所示,在第一指针50c移动到位置对齐处理后的首个候选字符串中的排列第七的第7个候选字符“1”,第二指针50d移动到位置对齐处理后的目标字符串中排列第七的第7个目标字符“3”时,第7个候选字符“1”与第7个目标字符“3”不匹配,则计算机设备获取目标字符串50b中排列在第7个目标字符“3”之前的目标字符,得到匹配字符串50e,即abc0ab。
进一步地,由于匹配字符串50e中存在重复字符,即目标字符“a”和目标字符“b”,计算机设备可以获取匹配字符串50e的重复字符属性。具体的,计算机设备可以移除匹配字符串50e中排列最后的目标字符,得到第一移除匹配字符串50f,即abc0a。同时,计算机设备可以移除匹配字符串50e中排列最前的目标字符,得到第二移除匹配字符串50g,即abc0a。进一步地,计算机设备可以对第一移除匹配字符串50f中的目标字符进行字符组合,如图5所示,计算机设备可以第一移除匹配字符串50f中排列最前的第一个目标字符“a”,与第一移除匹配字符串50f中排列在第一个目标字符“a”之前的目标字符进行组合,得到W个字符组合50h,即a,ab,abc,abc0,abc0a。同时,计算机设备可以第二移除匹配字符串50g进行字符组合,如图5所示,计算机设备可以第二移除匹配字符串50g中排列最后的第7个目标字符“b”,与第二移除匹配字符串50g中排列在第7个目标字符“b”之前的目标字符进行组合,得到S个字符组合50i,即b,ab,0ab,c0ab,bc0ab。
具体的,计算机设备可以将W个字符组合50h和S个字符组合50i确定为P个字符组合,即a,ab,abc,abc0,abc0a,b,ab,0ab,c0ab,bc0ab。进一步地,计算机设备可以检测该P个字符组合中是否存在重复字符组合,由于该P个字符组合中存在重复字符组合“ab”50j,计算机设备可以从重复字符组合中确定具有最大字符数量的重复字符组合,由于P个字符组合中只存在重复字符组合“ab”50j,因此,字符组合“ab”50j为具有最大字符数量的重复字符组合,将目标重复字符组合的字符数量确定为匹配字符串中的重复字符属性50k。
可选的,计算机设备根据重复字符属性,从目标字符串中确定待匹配子字符串的具体方式可以包括:移除目标字符串中,排列在第K+1个目标字符之前的目标字符,得到移除后的目标字符串;K为目标重复字符组合的字符数量,将移除后的目标字符串,确定为待匹配子字符串。
具体的,重复字符属性为P个字符组合中目标重复字符组合的字符数量K时,计算机设备可以移除目标字符串中,排列在第K+1个目标字符之前的目标字符,得到移除后的目标字符串。例如,以目标字符串为abc0ab3,K为2为例,计算机设备可以移除目标字符串中排列在第三个目标字符之前的目标字符,即移除abc0ab3中排列在第三个目标字符“c”之前的目标字符,即第一个目标字符“a”和第二个目标字符“b”,得到移除后的目标字符串,即c0ab3。进一步地,计算机设备可以将移除后的目标字符串,确定为待匹配子字符串。
可选的,计算机设备根据待匹配子字符串的字符数量以及第t个候选字符,从逆向查询路径i中确定第二候选子字符串的具体方式可以包括:读取逆向查询路径i中,排列顺序位于第t个候选字符之后的Q-1个候选字符;Q为待匹配子字符串的字符数量。将Q-1个候选字符以及第t个候选字符确定为第二候选子字符串。
具体的,在从目标字符串中确定待匹配子字符串时,计算机设备可以获取待匹配子字符串的字符数量。同时,计算机设备可以读取逆向查询路径i中,排列顺序位于第t个候选字符之后的Q-1个候选字符,Q为待匹配子字符串的字符数量。例如,以待匹配子字符串的字符数量为5位,逆向查询路径i中的候选字符串为abc0ab1-acdg023-abin041,第t个候选字符为第7为候选字符为例,计算机设备可以从逆向查询路径i中的候选字符串中,读取排列顺序位于第7个候选字符“1”之后的4个候选字符,即1-acdg,确定为第二候选子字符串。这样,不管每个对象集合的标识对应的字符串的字符数量怎样变化,均可以准确对逆向查询路径中的候选字符串与目标字符串进行匹配。换句话说,本申请提供的根据相似字符属性的字符匹配方式,可以适用具有多种字符数量的字符串之间的匹配,适用性较高。
如图6所示,图6是本申请实施例提供的一种对待匹配子字符串与第二候选子字符串进行匹配的示意图,如图6所示,以首个候选字符串60a为abc0ab1,目标字符串60b为abc0ab3,逆向查询路径i中的候选字符串为abc0ab1-acdg023-abin041为例,计算机设备对首个候选字符串60a与目标字符串60b进行位置对齐处理后,可采用第一指针60c对位置对齐处理后的首个候选字符串进行遍历,采用第二指针60d对位置对齐处理后的目标字符串进行遍历。将第一指针60c遍历到的候选字符与第二指针60d遍历到的目标字符进行匹配。如图6所示,在第一指针60c移动到位置对齐处理后的首个候选字符串中的排列第七的第7个候选字符“1”,第二指针60d移动到位置对齐处理后的目标字符串中排列第七的第7个目标字符“3”时,第7个候选字符“1”与第7个目标字符“3”不匹配,则计算机设备获取目标字符串60b中排列在第7个目标字符“3”之前的目标字符,得到目标字符串对应的匹配字符串,即abc0ab。进一步地,计算机设备可以获取匹配字符串的重复字符属性60e,即匹配字符串中目标重复字符组合的字符数量2,具体可以参见上述图5中的内容,本申请实施例在此不再赘述。
进一步地,计算机设备可以重复字符属性60e,移除目标字符串中排列在第三位目标字符之前的目标字符“ab”,得到待匹配子字符串60f,即c0ab3。计算机设备可以获取待匹配子字符串60f的字符数量60g(即字符数量5),根据字符数量60g以及第7个候选字符“1”60h,从逆向查询路径i中的候选字符串60i中,确定第二候选子字符串60j,即1-acd。计算机设备可以将待匹配子字符串60f和第二候选子字符串60j进行位置对齐处理,以及对位置对齐处理后的待匹配子字符串和位置对齐处理后的第二候选子字符串进行匹配,得到匹配结果60k,位置对齐处理的内容可以参见图4,本申请实施例在此不再赘述。
如图7所示,图7是本申请实施例提供的一种对逆向查询路径i与目标字符串进行遍历匹配的示意图,如图7所示,以逆向查询路径i中的候选字符串70a为abc0ab1-acdg023-abin041,目标字符串70b为abc0ab3为例,逆向查询路径i中的候选字符串70a中的首个候选字符串为abc0ab1。计算机设备将首个候选字与目标字符串70b进行位置对齐处理后,可采用第一指针70c对逆向查询路径i中的候选字符串70a进行遍历,采用第二指针70d对目标字符串进行遍历,将第一指针60c遍历到的候选字符与第二指针60d遍历到的目标字符进行匹配,得到相似字符属性i。在相似字符属性i指示首个候选字符串的第7个候选字符“1”与目标字符串70b中的第7个目标字符“3”不匹配,且目标字符串70b中排列在第7个目标字符之前的目标字符中存在重复字符时,计算机设备可以获取目标字符串70b中排列在第7个目标字符之前的目标字符的重复字符属性,根据该重复字符属性,从目标字符串70b中确定待匹配子字符串70f。
进一步地,计算机设备可以根据待匹配子字符串70f以及第7个候选字符“1”,从逆向查询路径i中的候选字符串70a中确定第二候选子字符串70e,将待匹配子字符串70f和第二候选子字符串70e进行位置对齐处理,以及对位置对齐处理后的待匹配子字符串和位置对齐处理后的第二候选子字符串进行匹配。如图7所示,将第二指针移动至待匹配子字符串70f中排列最前的目标字符“c”,通过第一指针70c和第二指针70d对位置对齐处理后的待匹配子字符串和位置对齐处理后的第二候选子字符串进行遍历匹配,得到匹配结果。可见,第一指针70e的指针位置不会变化,即不会移动到逆向查询路径i中的候选字符串70a中排列第二的第2个候选字符“b”,只需要根据目标字符串对应的重复字符属性对第二指针70c的位置进行调整,可以避免字符的重复匹配,进而可以提高字符的匹配效率。
可以理解的是,由于目标字符串中排列在第t个目标字符之前的k个目标字符,与目标字符串中最前面的k个字符是一样的,因此在避免字符重复匹配的同时,为了确保字符匹配的准确性,可以确定出目标字符串中的k个目标字符,即目标重复字符组合,将目标字符串中排列在第k个目标字符之后的目标字符,与逆向查询路径中的第t个候选字符以及排列在第t个候选字符之后的候选字符进行遍历匹配。可以理解的是,在相似字符属性i指示首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配时,保持逆向查询路径i中的第一指针在第t个候选字符不移动,将目标字符串中的第二指针移动到第k+1个目标字符上,在进行依次遍历匹配。
如图8所示,图8是本申请实施例提供的一种目标重复字符组合的字符数量获取方法的示意图,如图8所示,以目标字符串为abcabcd为例,第二指针当前所在位置为目标字符串中第6个目标字符,以目标字符串中排列最前的第一个目标字符的位置标识为0,目标字符串中排列最二的第二个目标字符的位置标识为k-1,目标字符串中排列最三的第三个目标字符的位置标识为k,目标字符串中排列最四的第四个目标字符的位置标识为k+1。同时,如图8所示,在以第二指针当前所在位置的第6个目标字符的位置标识为j时,目标字符串中排列最四的第四个目标字符的位置标识也为j-k,目标字符串中排列最五的第五个目标字符的位置标识也为j-1,目标字符串中排列最后的第7个目标字符的位置标识也为j+1。以p[k]表示位置标识为k的目标字符,以P[j]表示位置标识为j的目标字符,以next[ ]表示当目标字符串与候选字符串遍历匹配遇到不匹配字符时,第二指针所需要移动到的目标字符的位置标识。例如,next[k]表示当目标字符串与候选字符串遍历匹配遇到不匹配字符时,第二指针所需要移动到目标字符串中位置标识为k的目标字符上。在P[k]==P[j]时,有next[j+1] == next[j]+1。因为在P[j]之前已经有P[0~k-1]==p[j-k~j-1],next[j]==k,这时候由于有P[k]==P[j],便可以得到P[0~k-1]+P[k]==p[j-k~j-1]+P[j],即在P[0~k]==P[j-k~j]时,便有next[j+1]==k+1==next[j]+1。这样,可以确定逆向查询路径i中的候选字符串对应的第一指针不回溯(即不会移动到已经匹配过的候选字符上),通过移动目标字符串对应的第二指针,将目标字符串移动到有效位置上与逆向查询路径i中的候选字符串进行遍历匹配,可以有效降低重复匹配字符的数量,进而可以提高字符匹配的效率。
可选的,由于逆向查询路径是由候选对象集合的标识对应的候选字符串组成,逆向查询路径中的每个候选字符串之间添加有分隔字符,同时每个对象集合的标识的字符串的字符数量相同。在一种可能实现的实施例中,计算机设备根据相似字符属性i,对逆向查询路径i中的候选字符串与目标字符串进行遍历匹配,得到匹配结果的具体方式可以包括:在相似字符属性i指示首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配时,计算机设备可以获取逆向查询路径i中排列在第t个候选字符之后的候选字符,从排列在第t个候选字符之后的候选字符中,获取距离第t个候选字符最近的分隔字符,作为目标分隔字符。进一步地,计算机设备可以将逆向查询路径i中排列在目标分隔字符后的候选字符串,作为第二个候选字符串,即首个候选字符串的后一个候选字符串。将第二个候选字符串和目标字符串进行位置对齐处理,对位置对齐处理后的第二个候选字符串和位置对齐处理后的目标字符串进行匹配,得到匹配结果。在该匹配结果指示第二个候选字符串和目标字符串之间不具有完全相似关系时,则继续从逆向查询路径i中的剩余候选字符串中,获取下一候选字符串与目标字符串进行匹配,直到获取到逆向查询路径i中的所有候选字符串时,若未查询到与目标字符串之间具有完全相似关系,则确定逆向查询路径i不具有目标字符串。
S104,根据具有目标字符串的逆向查询路径,读取与目标对象集合关联的数据。
具体的,数据库中存储有与每个逆向查询路径具有映射关系的数据集,计算机设备可以具有目标字符串的逆向查询路径,从数据库中读取具有目标字符串的逆向查询路径之间具有映射关系的数据集,作为与目标对象集合关联的数据。由此可见,本申请中的候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识的候选字符串,换句话说,通过逆向查询路径i便可以确定目标对象集合是否具有针对属于候选对象集合的数据的查询权限,而不用采用另外的权限表记录每个对象集合之间的查询权限信息,同时也不用根据权限表确定目标对象集合是否具有对属于候选对象集合i的数据的查询权限,可以提高数据的查询效率。同时,本申请可以获取目标字符串与每个逆向查询路径中的候选字符串之间的相似字符属性,根据每个逆向查询路径对应的相似字符串,可以快速检测出逆向查询路径中的候选字符串中是否具有目标字符串,可以避免占用设备过多的计算资源,同时可以进一步提高数据的查询效率。
在本申请实施例中,通过基于对象集合的数据查询权限,生成每个候选对象集合对应的逆向查询路径,如候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串。换言之,该逆向查询路径i具有如下两重含义,第一、逆向查询路径i能够反映属于候选对象集合i的数据允许被哪些对象集合查询,第二、逆向查询路径i为属于候选对象集合i的数据的索引,即通过该逆向查询路径i能够查询到属于对象集合i的数据。因此,当需要查询与目标对象集合关联的数据时,即需要查询目标对象集合具有查询权限的数据时,计算机设备可以将反映目标对象集合的标识的目标字符串与逆向查询路径i中的候选字符串进行比对,得到目标字符串与逆向查询路径i中的候选字符串之间的相似字符属性i,该相似字符属性i反映目标字符串与逆向查询路径i中的候选字符串之间的相似关系。换句话说,通过字符相似属性可以确定逆向查询路径i中的候选字符串对应的第一指针不回溯(即不会移动到已经匹配过的候选字符上),通过移动目标字符串对应的第二指针,将目标字符串移动到有效位置上与逆向查询路径i中的候选字符串进行遍历匹配,可以有效降低重复匹配字符的数量,进而可以提高字符匹配的效率。进一步,根据该N个逆向查询路径分别对应的相似字符属性,从该N个逆向查询路径中,识别具有该目标字符串的逆向查询路径,即具有目标字符串的逆向查询路径的数据为目标对象集合内的对象能够查询的数据。因此,根据具有目标字符串的逆向查询路径,能够快速地查询到目标对象集合关联的数据,不需要对候选对象集合内的单个对象的对象标识进行一一查询,提高数据查询效率,即提高针对对象集合关联的数据的查询效率。
进一步地,请参见图9,图9是本申请实施例提供的一种数据处理方法的流程示意图。如图9所示,该方法可由图1中的任意终端设备来执行,也可以由图1中的服务器10来执行,还可以由图1中的终端设备和服务器共同执行,本申请中用于执行该方法的设备可以统称为计算机设备。其中,该数据处理方法可以包括但不限于如下步骤:
S201,获取针对与目标对象集合关联的数据的查询请求,以及获取N个候选对象集合对应的N个逆向查询路径;查询请求中携带反映目标对象集合的标识对应的目标字符串,候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串;i为小于或等于N的正整数;
S202,确定目标字符串,与逆向查询路径i中的候选字符串之间的相似字符属性i;
S203,根据N个逆向查询路径分别对应的相似字符属性,从N个逆向查询路径中,识别具有目标字符串的逆向查询路径。
具体的,本申请实施例中步骤S201-步骤S203的内容可以参见上述图3中步骤S101-步骤S103的内容,本申请实施例在此不再赘述。
S204,从数据存储库中,读取与具有目标字符串的逆向查询路径之间具有映射关系的数据集,作为目标数据集。
具体的,计算机设备可以获取建立每个逆向查询路径与数据集之间的映射关系。为便于理解,以建立逆向查询路径i对应的数据集i为例,计算机设备可以获取属于候选对象集合i的数据,将该属于候选对象集合i的数据添加至数据集i中。进一步地,计算机设备可以建立候选对象集合i对应的逆向查询路径i与数据集i之间的映射关系,在数据存储库中存储数据集i中的数据,以及逆向查询路径i与数据集i之间的映射关系。可见,逆向查询路径i对应数据集i,同时数据集i中存储有属于候选对象集合i的所有数据,通过一个逆向查询路径i便可以获取到属于候选对象集合i的所有数据,可以提高数据查询的效率。另外,在产生属于候选对象集合i的新数据时,可以将该新数据添加至数据集i中。在获取到具有目标字符串的逆向查询路径后,计算机设备可以从数据存储库中,读取与具有目标字符串的逆向查询路径之间具有映射关系的数据集,作为目标数据集。
S205,将目标数据集中的数据,确定为与目标对象集合关联的数据。
具体的,计算机设备可以将目标数据集中的数据,确定为与目标对象集合关联的数据。这样,逆向查询路径i对应一个数据集i,通过一个逆向查询路径i便可以获取到属于候选对象集合i的所有数据,避免将所有候选对象集合分别对应的数据均存储至数据库中,需要遍历完所有数据以查询到所需要的数据,导致调用设备大量的查询资源,影响设备的性能的问题,可以提高数据查询的效率。
可选的,计算机设备可以建立一个逆向查询路径与一个数据存储库之间的映射表关系,为便于理解,以建立逆向查询路径i对应的数据存储库i为例,计算机设备可以获取属于候选对象集合i的数据,将该属于候选对象集合i的数据添加至数据存储库i中。进一步地,计算机设备可以建立候选对象集合i对应的逆向查询路径i与数据存储库i之间的映射关系,将候选对象集合i对应的逆向查询路径i与数据存储库i之间的映射关系添加至映射表中。这样,逆向查询路径i对应数据存储库i,同时数据存储i中存储有属于候选对象集合i的所有数据,通过一个逆向查询路径i便可以获取到属于候选对象集合i的所有数据,可以提高数据查询的效率。另外,在产生属于候选对象集合i的新数据时,可以将该新数据添加至数据存储库i中。在获取到具有目标字符串的逆向查询路径后,计算机设备可以从映射表中确定与具有目标字符串的逆向查询路径之间具有映射关系的数据存储库,作为目标数据存储库,将目标存储库中的数据确定为与目标对象集合关联的数据。其中,数据集或者数据存储库中的每条数据可以为对象集合中的对象对应的对象数据,具有对应对象的对象标识信息。
例如,以业务机构包括4个对象集合,该4个对象集合为对象集合A01、对象集合B01、对象集合C01以及对象集合D01,对象集合之间的从属关系从上往下为A01->B01->C01->D01。可以理解的是,数据存储库中的每个数据集均与一个逆向查询路径,一个数据集用于存储属于一个对象集合的数据。例如,数据集Record_1存储属于对象集合A01的数据,逆向查询路径为A01;数据集Record_2存储属于对象集合B01的数据,逆向查询路径为A01->B01;数据集Record_3存储属于对象集合C01,逆向查询路径为A01->B01->C01;数据集Record_4存储属于对象集合D01,逆向查询路径为A01->B01->C01->D01。此时,若需要查询与对象集合C01关联的数据,则可以将对象集合C01确定为目标对象集合,根据对象集合C01的标识对应的目标字符串C01在数据库中查询数据。
具体的,逆向查询路径A01不具有目标字符串C01,即C01并不在逆向查询路径A01的链路中,说明对象集合C01无权限查看数据集Record_1。逆向查询路径为A01->B01不具有目标字符串C01,即C01并不在逆向查询路径A01->B01的链路中,说明对象集合C01无权限查看数据集Record_2。逆向查询路径A01->B01->C01具有目标字符串C01,即C01在逆向查询路径A01的链路中,说明对象集合C01具有权限查看数据集Record_3,则可以读取出数据集Record_3中的数据。逆向查询路径为A01->B01->C01->D01具有目标字符串C01,即C01在逆向查询路径A01->B01->C01->D01的链路中,说明对象集合C01具有权限查看数据集Record_4,则可以读取出数据集Record_4中的数据。由此可见,数据集Record_3中的数据和数据集Record_4中的数据为与目标对象集合关联的数据。
如图10所示,图10是本申请实施例提供的一种数据查询方法的示意图,如图10所示,在终端设备的展示屏幕上显示了对象集合展示页面100a,该对象集合展示页面100a展示了对象集合N01中的对象,即对象N011、对象N012、对象N013、对象N014等。同时,对象集合展示页面100a还展示了关于对象集合N01的集合关联数据查询控件100b,当查询对象100c需要查询与对象集合N01关联的数据时,可以实施针对集合关联数据查询控件100b的触发操作,终端设备可以响应针对集合关联数据查询控件100b的触发操作,将对象集合N01确定为目标对象集合,生成针对与目标对象集合关联的数据的查询请求,以对象集合N01的标识对应的目标字符串,在数据存储库100d中进行数据查询。
如图10所示,数据存储库中包括N个逆向查询路径,即逆向查询路径N1、逆向查询路径N2、逆向查询路径N3、逆向查询路径N4等,同时还包括与每个逆向查询路径之间具有映射关系的数据集,如逆向查询路径N1与数据a1、数据a2等数据组成的数据集之间具有映射关系;逆向查询路径N2与数据b1、数据b2等数据组成的数据集之间具有映射关系;逆向查询路径N3与数据c1、数据c2等数据组成的数据集之间具有映射关系;逆向查询路径N4与数据d1、数据d2等数据组成的数据集之间具有映射关系等。计算机设备可以获取目标字符串与每个逆向查询路径之间的相似字符属性,根据N个逆向查询路径分别对应的相似字符属性,从N个逆向查询路径中确定具有目标字符串的逆向查询路径,将与具有目标字符串的逆向查询路径之间具有映射关系的数据集存入数组100e中,将数据100e中的数据确定为目标对象集合关联的数据。
在本申请实施例中,通过基于对象集合的数据查询权限,生成每个候选对象集合对应的逆向查询路径,如候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串。换言之,该逆向查询路径i具有如下两重含义,第一、逆向查询路径i能够反映属于候选对象集合i的数据允许被哪些对象集合查询,第二、逆向查询路径i为属于候选对象集合i的数据的索引,即通过该逆向查询路径i能够查询到属于对象集合i的数据。因此,当需要查询与目标对象集合关联的数据时,即需要查询目标对象集合具有查询权限的数据时,计算机设备可以将反映目标对象集合的标识的目标字符串与逆向查询路径i中的候选字符串进行比对,得到目标字符串与逆向查询路径i中的候选字符串之间的相似字符属性i,该相似字符属性i反映目标字符串与逆向查询路径i中的候选字符串之间的相似关系。换句话说,通过字符相似属性可以确定逆向查询路径i中的候选字符串对应的第一指针不回溯(即不会移动到已经匹配过的候选字符上),通过移动目标字符串对应的第二指针,将目标字符串移动到有效位置上与逆向查询路径i中的候选字符串进行遍历匹配,可以有效降低重复匹配字符的数量,进而可以提高字符匹配的效率。进一步,根据该N个逆向查询路径分别对应的相似字符属性,从该N个逆向查询路径中,识别具有该目标字符串的逆向查询路径,即具有目标字符串的逆向查询路径的数据为目标对象集合内的对象能够查询的数据。因此,根据具有目标字符串的逆向查询路径,能够快速地查询到目标对象集合关联的数据,不需要对候选对象集合内的单个对象的对象标识进行一一查询,提高数据查询效率,即提高针对对象集合关联的数据的查询效率。另外,通过一个逆向查询路径i便可以获取到属于候选对象集合i的所有数据,避免将所有候选对象集合分别对应的数据均存储至数据库中,需要遍历完所有数据以查询到所需要的数据,导致调用设备大量的查询资源,影响设备的性能的问题,可以提高数据查询的效率。
进一步地,请参见图11,图11是本申请实施例提供的一种数据处理装置的结构示意图,该数据处理装置可以包括:获取模块11、确定模块12、识别模块13以及读取模块14。
获取模块11,用于获取针对与目标对象集合关联的数据的查询请求,以及获取N个候选对象集合对应的N个逆向查询路径;查询请求中携带反映目标对象集合的标识对应的目标字符串,候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串;i为小于或等于N的正整数;
确定模块12,用于确定目标字符串,与逆向查询路径i中的候选字符串之间的相似字符属性i;
识别模块13,用于根据N个逆向查询路径分别对应的相似字符属性,从N个逆向查询路径中,识别具有目标字符串的逆向查询路径;
读取模块14,用于根据具有目标字符串的逆向查询路径,读取与目标对象集合关联的数据。
其中,识别模块13包括:第一确定单元1301和第二确定单元1302。
第一确定单元1301,用于在相似字符属性i指示首个候选字符串与目标字符串之间具有完全相似关系时,将逆向查询路径i,确定为具有目标字符串的逆向查询路径;首个候选字符串为逆向查询路径i中排列顺序位于最前的候选字符串;
第二确定单元1302,用于根据剩余逆向查询路径分别对应的相似字符属性,从剩余逆向查询路径中,确定具有目标字符串的逆向查询路径;剩余逆向查询路径为N个逆向查询路径中除逆向查询路径i之外的逆向查询路径。
其中,识别模块13包括:遍历匹配单元1303、第三确定单元1304以及第四确定单元1305。
遍历匹配单元1303,用于在相似字符属性i指示首个候选字符串与目标字符串之间不具有完全相似关系时,根据相似字符属性i,对逆向查询路径i中的候选字符串与目标字符串进行遍历匹配,得到匹配结果;首个候选字符串为逆向查询路径i中排列顺序位于最前的候选字符串;
第三确定单元1304,用于在匹配结果指示逆向查询路径i中存在与目标字符串之间具有完全相似关系的剩余候选字符串时,将逆向查询路径i,确定为具有目标字符串的逆向查询路径;剩余候选字符串为逆向查询路径i中除首个候选字符串以外的候选字符串;
第四确定单元1305,用于根据剩余逆向查询路径分别对应的相似字符属性,从剩余逆向查询路径中,确定具有目标字符串的逆向查询路径;剩余逆向查询路径为N个逆向查询路径中除逆向查询路径i之外的逆向查询路径。
其中,遍历匹配单元1303具体用于:
在相似字符属性i指示首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配,且目标字符串中的排列在第t个目标字符之前的目标字符之间均不相同时,读取逆向查询路径i中排列顺序位于第t个候选字符之后的M-1个候选字符;M为目标字符串的字符数量,t为大于1且小于或者等于M的整数;
将M-1个候选字符以及第t个候选字符确定为第一候选子字符串,对第一候选子字符串与目标字符串进行位置对齐处理;
将位置对齐处理后的第一候选子字符串与位置对齐处理后的目标字符串进行匹配,得到匹配结果。
其中,遍历匹配单元1303还具体用于:
在相似字符属性i指示首个候选字符串的第t个候选字符与目标字符串中的第t个目标字符不匹配,且目标字符串中排列在第t个目标字符之前的目标字符中存在重复字符时,获取目标字符串中排列在第t个目标字符之前的目标字符的重复字符属性;
根据重复字符属性,从目标字符串中确定待匹配子字符串;
根据待匹配子字符串的字符数量以及第t个候选字符,从逆向查询路径i中确定第二候选子字符串;
对待匹配子字符串与第二候选子字符串进行位置对齐处理,将位置对齐处理后的待匹配子字符串与位置对齐处理后的第二候选子字符串进行匹配,得到匹配结果。
其中,获取目标字符串中排列在第t个目标字符之前的目标字符的重复字符属性,包括:
将目标字符串中排列在第t个目标字符之前的目标字符确定为匹配字符串;
对匹配字符串中的目标字符进行组合,得到P个字符组合;P为大于2的整数;
在P个字符组合中存在重复字符组合时,从重复字符组合中确定具有最大字符数量的重复字符组合,作为目标重复字符组合;
将目标重复字符组合的字符数量确定为匹配字符串中的重复字符属性。
其中,对匹配字符串中的目标字符进行组合,得到P个字符组合,包括:
移除匹配字符串中排列最后的目标字符,得到第一移除匹配字符串,对第一移除匹配字符串中的目标字符进行组合,得到W个字符组合;W为正整数;
移除匹配字符串中排列最前的目标字符,得到第二移除匹配字符串,对第二移除匹配字符串中的目标字符进行组合,得到S个字符组合;S为正整数;
将W个字符组合以及S个字符组合,确定为P个字符组合。
其中,根据重复字符属性,从目标字符串中确定待匹配子字符串,包括:
移除目标字符串中,排列在第K+1个目标字符之前的目标字符,得到移除后的目标字符串;K为目标重复字符组合的字符数量;
将移除后的目标字符串,确定为待匹配子字符串。
其中,根据待匹配子字符串的字符数量以及第t个候选字符,从逆向查询路径i中确定第二候选子字符串,包括:
读取逆向查询路径i中,排列顺序位于第t个候选字符之后的Q-1个候选字符;Q为待匹配子字符串的字符数量;
将Q-1个候选字符以及第t个候选字符确定为第二候选子字符串。
其中,确定模块12包括:获取单元1201、对齐单元1202以及字符匹配单元1203。
获取单元1201,用于从逆向查询路径i中的候选字符串中,获取排列顺序位于最前的候选字符串,作为首个候选字符串;
对齐单元1202,用于对首个候选字符串与目标字符串进行位置对齐处理;
字符匹配单元1203,用于将位置对齐处理后的首个候选字符串与位置对齐处理后的目标字符串进行匹配,得到相似字符属性i。
其中,获取模块11包括:第五确定单元1101、排列单元1102以及添加单元1103。
第五确定单元1101,用于根据对象集合从属关系树,确定候选对象集合i所属的父候选对象集合;对象集合从属关系树用于反映候选对象集合之间的从属关系,父候选对象集合对属于子候选对象集合的数据具有查询权限;
排列单元1102,用于对候选对象集合i以及候选对象集合i所属的父候选对象集合分别对应的候选字符串进行排列,得到排列后的候选字符串;
添加单元1103,用于在排列后的候选字符串中的任意两个相邻候选字符串之间添加分隔字符,得到候选对象集合i对应的逆向查询路径i;
直到获取到剩余候选对象集合分别对应的逆向查询路径,将剩余候选对象集合分别对应的逆向查询路径以及候选对象集合i对应的逆向查询路径i,确定为N个候选对象集合对应的N个逆向查询路径;剩余候选对象集合为N个候选对象集合中除候选对象集合i之外的候选对象集合。
其中,读取模块14包括:读取单元1401以及第六确定单元1402。
读取单元1401,用于从数据存储库中,读取与具有目标字符串的逆向查询路径之间具有映射关系的数据集,作为目标数据集;
第六确定单元1402,用于将目标数据集中的数据,确定为与目标对象集合关联的数据。
根据本申请的一个实施例,图11所示的数据处理装置中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的至少两个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由至少两个单元来实现,或者至少两个模块的功能由一个单元实现。在本申请的其它实施例中,数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由至少两个单元协作实现。
根据本申请的一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图11中所示的数据处理装置,以及来实现本申请实施例的数据处理方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算机设备中,并在其中运行。
在本申请实施例中,通过基于对象集合的数据查询权限,生成每个候选对象集合对应的逆向查询路径,如候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串。换言之,该逆向查询路径i具有如下两重含义,第一、逆向查询路径i能够反映属于候选对象集合i的数据允许被哪些对象集合查询,第二、逆向查询路径i为属于候选对象集合i的数据的索引,即通过该逆向查询路径i能够查询到属于对象集合i的数据。因此,当需要查询与目标对象集合关联的数据时,即需要查询目标对象集合具有查询权限的数据时,计算机设备可以将反映目标对象集合的标识的目标字符串与逆向查询路径i中的候选字符串进行比对,得到目标字符串与逆向查询路径i中的候选字符串之间的相似字符属性i,该相似字符属性i反映目标字符串与逆向查询路径i中的候选字符串之间的相似关系。换句话说,通过字符相似属性可以确定逆向查询路径i中的候选字符串对应的第一指针不回溯(即不会移动到已经匹配过的候选字符上),通过移动目标字符串对应的第二指针,将目标字符串移动到有效位置上与逆向查询路径i中的候选字符串进行遍历匹配,可以有效降低重复匹配字符的数量,进而可以提高字符匹配的效率。进一步,根据该N个逆向查询路径分别对应的相似字符属性,从该N个逆向查询路径中,识别具有该目标字符串的逆向查询路径,即具有目标字符串的逆向查询路径的数据为目标对象集合内的对象能够查询的数据。因此,根据具有目标字符串的逆向查询路径,能够快速地查询到目标对象集合关联的数据,不需要对候选对象集合内的单个对象的对象标识进行一一查询,提高数据查询效率,即提高针对对象集合关联的数据的查询效率。另外,通过一个逆向查询路径i便可以获取到属于候选对象集合i的所有数据,避免将所有候选对象集合分别对应的数据均存储至数据库中,需要遍历完所有数据以查询到所需要的数据,导致调用设备大量的查询资源,影响设备的性能的问题,可以提高数据查询的效率。
进一步地,请参见图12,图12是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备可以是终端设备或服务器。如图12所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,在一些实施例中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。可选的,网络接口1004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器1005还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图12所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取针对与目标对象集合关联的数据的查询请求,以及获取N个候选对象集合对应的N个逆向查询路径;查询请求中携带反映目标对象集合的标识对应的目标字符串,候选对象集合i对应的逆向查询路径i包括对属于候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串;i为小于或等于N的正整数;
确定目标字符串,与逆向查询路径i中的候选字符串之间的相似字符属性i;
根据N个逆向查询路径分别对应的相似字符属性,从N个逆向查询路径中,识别具有目标字符串的逆向查询路径;
根据具有目标字符串的逆向查询路径,读取与目标对象集合关联的数据。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图10所对应实施例中对数据处理方法的描述,也可执行前文图11所对应实施例中对数据处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置所执行的计算机程序,当处理器执行计算机程序时,能够执行前文图3或图10所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品,该计算机程序产品可以包括计算机程序,该计算机程序可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器可以执行该计算机程序,使得该计算机设备执行前文图3或图10所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,本申请书中相关数据收集处理在实例应用时应该严格根据相关法律法规的要求,获取个人信息主体的知情同意或单独同意(或具备合法性基础),并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。例如,本申请获取对象数据,如对象日志数据、对象简介数据、对象绩效数据等时,需要获得资产兑换对象的知情同意或单独同意。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
获取针对与目标对象集合关联的数据的查询请求,以及获取N个候选对象集合对应的N个逆向查询路径;所述查询请求中携带反映所述目标对象集合的标识对应的目标字符串,候选对象集合i对应的逆向查询路径i包括对属于所述候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串;i为小于或等于N的正整数;
确定所述目标字符串,与所述逆向查询路径i中的候选字符串之间的相似字符属性i;
根据所述N个逆向查询路径分别对应的相似字符属性,从所述N个逆向查询路径中,识别具有所述目标字符串的逆向查询路径;
根据具有所述目标字符串的逆向查询路径,读取与所述目标对象集合关联的数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述N个逆向查询路径分别对应的相似字符属性,从所述N个逆向查询路径中,识别具有所述目标字符串的逆向查询路径,包括:
在所述相似字符属性i指示首个候选字符串与所述目标字符串之间具有完全相似关系时,将所述逆向查询路径i,确定为具有所述目标字符串的逆向查询路径;所述首个候选字符串为所述逆向查询路径i中排列顺序位于最前的候选字符串;
根据剩余逆向查询路径分别对应的相似字符属性,从所述剩余逆向查询路径中,确定具有所述目标字符串的逆向查询路径;所述剩余逆向查询路径为所述N个逆向查询路径中除所述逆向查询路径i之外的逆向查询路径。
3.根据权利要求1所述的方法,其特征在于,所述根据所述N个逆向查询路径分别对应的相似字符属性,从所述N个逆向查询路径中,识别具有所述目标字符串的逆向查询路径,包括:
在所述相似字符属性i指示首个候选字符串与所述目标字符串之间不具有完全相似关系时,根据所述相似字符属性i,对所述逆向查询路径i中的候选字符串与所述目标字符串进行遍历匹配,得到匹配结果;所述首个候选字符串为所述逆向查询路径i中排列顺序位于最前的候选字符串;
在所述匹配结果指示所述逆向查询路径i中存在与所述目标字符串之间具有完全相似关系的剩余候选字符串时,将所述逆向查询路径i,确定为具有所述目标字符串的逆向查询路径;所述剩余候选字符串为所述逆向查询路径i中除所述首个候选字符串以外的候选字符串;
根据剩余逆向查询路径分别对应的相似字符属性,从所述剩余逆向查询路径中,确定具有所述目标字符串的逆向查询路径;所述剩余逆向查询路径为所述N个逆向查询路径中除所述逆向查询路径i之外的逆向查询路径。
4.根据权利要求3所述的方法,其特征在于,所述根据所述相似字符属性i,对所述逆向查询路径i中的候选字符串与所述目标字符串进行遍历匹配,得到匹配结果,包括:
在所述相似字符属性i指示所述首个候选字符串的第t个候选字符与所述目标字符串中的第t个目标字符不匹配,且所述目标字符串中的排列在所述第t个目标字符之前的目标字符之间均不相同时,读取所述逆向查询路径i中排列顺序位于所述第t个候选字符之后的M-1个候选字符;所述M为所述目标字符串的字符数量,t为大于1且小于或者等于M的整数;
将所述M-1个候选字符以及所述第t个候选字符确定为第一候选子字符串,对所述第一候选子字符串与所述目标字符串进行位置对齐处理;
将位置对齐处理后的第一候选子字符串与位置对齐处理后的目标字符串进行匹配,得到匹配结果。
5.根据权利要求3所述的方法,其特征在于,所述根据所述相似字符属性i,对所述逆向查询路径i中的候选字符串与所述目标字符串进行遍历匹配,得到匹配结果,包括:
在所述相似字符属性i指示所述首个候选字符串的第t个候选字符与所述目标字符串中的第t个目标字符不匹配,且所述目标字符串中排列在所述第t个目标字符之前的目标字符中存在重复字符时,获取所述目标字符串中排列在所述第t个目标字符之前的目标字符的重复字符属性;
根据所述重复字符属性,从所述目标字符串中确定待匹配子字符串;
根据所述待匹配子字符串的字符数量以及所述第t个候选字符,从所述逆向查询路径i中确定第二候选子字符串;
对所述待匹配子字符串与所述第二候选子字符串进行位置对齐处理,将位置对齐处理后的待匹配子字符串与位置对齐处理后的第二候选子字符串进行匹配,得到匹配结果。
6.根据权利要求5所述的方法,其特征在于,所述获取所述目标字符串中排列在所述第t个目标字符之前的目标字符的重复字符属性,包括:
将所述目标字符串中排列在所述第t个目标字符之前的目标字符确定为匹配字符串;
对所述匹配字符串中的目标字符进行组合,得到P个字符组合;P为大于2的整数;
在所述P个字符组合中存在重复字符组合时,从所述重复字符组合中确定具有最大字符数量的重复字符组合,作为目标重复字符组合;
将所述目标重复字符组合的字符数量确定为所述匹配字符串中的重复字符属性。
7.根据权利要求6所述的方法,其特征在于,所述对所述匹配字符串中的目标字符进行组合,得到P个字符组合,包括:
移除所述匹配字符串中排列最后的目标字符,得到第一移除匹配字符串,对所述第一移除匹配字符串中的目标字符进行组合,得到W个字符组合;W为正整数;
移除所述匹配字符串中排列最前的目标字符,得到第二移除匹配字符串,对所述第二移除匹配字符串中的目标字符进行组合,得到S个字符组合;S为正整数;
将所述W个字符组合以及所述S个字符组合,确定为P个字符组合。
8.根据权利要求6所述的方法,其特征在于,所述根据所述重复字符属性,从所述目标字符串中确定待匹配子字符串,包括:
移除所述目标字符串中,排列在第K+1个目标字符之前的目标字符,得到移除后的目标字符串;K为所述目标重复字符组合的字符数量;
将所述移除后的目标字符串,确定为待匹配子字符串。
9.根据权利要求5所述的方法,其特征在于,所述根据所述待匹配子字符串的字符数量以及所述第t个候选字符,从所述逆向查询路径i中确定第二候选子字符串,包括:
读取所述逆向查询路径i中,排列顺序位于所述第t个候选字符之后的Q-1个候选字符;Q为所述待匹配子字符串的字符数量;
将所述Q-1个候选字符以及所述第t个候选字符确定为第二候选子字符串。
10.根据权利要求1所述的方法,其特征在于,所述确定所述目标字符串,与所述逆向查询路径i中的候选字符串之间的相似字符属性i,包括:
从所述逆向查询路径i中的候选字符串中,获取排列顺序位于最前的候选字符串,作为首个候选字符串;
对所述首个候选字符串与所述目标字符串进行位置对齐处理;
将位置对齐处理后的首个候选字符串与位置对齐处理后的目标字符串进行匹配,得到相似字符属性i。
11.根据权利要求1所述的方法,其特征在于,所述获取N个候选对象集合对应的N个逆向查询路径,包括:
根据对象集合从属关系树,确定所述候选对象集合i所属的父候选对象集合;所述对象集合从属关系树用于反映候选对象集合之间的从属关系,父候选对象集合对属于子候选对象集合的数据具有查询权限;
对所述候选对象集合i以及所述候选对象集合i所属的父候选对象集合分别对应的候选字符串进行排列,得到排列后的候选字符串;
在所述排列后的候选字符串中的任意两个相邻候选字符串之间添加分隔字符,得到所述候选对象集合i对应的逆向查询路径i;
直到获取到剩余候选对象集合分别对应的逆向查询路径,将所述剩余候选对象集合分别对应的逆向查询路径以及所述候选对象集合i对应的逆向查询路径i,确定为N个候选对象集合对应的N个逆向查询路径;所述剩余候选对象集合为所述N个候选对象集合中除所述候选对象集合i之外的候选对象集合。
12.根据权利要求1所述的方法,其特征在于,所述根据具有所述目标字符串的逆向查询路径,读取与所述目标对象集合关联的数据,包括:
从数据存储库中,读取与具有所述目标字符串的逆向查询路径之间具有映射关系的数据集,作为目标数据集;
将所述目标数据集中的数据,确定为与所述目标对象集合关联的数据。
13.一种数据处理装置,其特征在于,包括:
获取模块,用于获取针对与目标对象集合关联的数据的查询请求,以及获取N个候选对象集合对应的N个逆向查询路径;所述查询请求中携带反映所述目标对象集合的标识对应的目标字符串,候选对象集合i对应的逆向查询路径i包括对属于所述候选对象集合i的数据,具有查询权限的候选对象集合的标识对应的候选字符串;i为小于或等于N的正整数;
确定模块,用于确定所述目标字符串,与所述逆向查询路径i中的候选字符串之间的相似字符属性i;
识别模块,用于根据所述N个逆向查询路径分别对应的相似字符属性,从所述N个逆向查询路径中,识别具有所述目标字符串的逆向查询路径;
读取模块,用于根据具有所述目标字符串的逆向查询路径,读取与所述目标对象集合关联的数据。
14.一种计算机设备,其特征在于,包括:处理器和存储器;
所述处理器与所述存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310938271.0A CN116701719B (zh) | 2023-07-28 | 2023-07-28 | 一种数据处理方法、装置、计算机设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310938271.0A CN116701719B (zh) | 2023-07-28 | 2023-07-28 | 一种数据处理方法、装置、计算机设备以及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116701719A true CN116701719A (zh) | 2023-09-05 |
CN116701719B CN116701719B (zh) | 2024-01-02 |
Family
ID=87837714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310938271.0A Active CN116701719B (zh) | 2023-07-28 | 2023-07-28 | 一种数据处理方法、装置、计算机设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701719B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193983A (zh) * | 2011-03-25 | 2011-09-21 | 北京世纪互联工程技术服务有限公司 | 图形数据库基于关系路径的节点数据过滤方法 |
CN105824872A (zh) * | 2015-01-27 | 2016-08-03 | 国际商业机器公司 | 基于搜索的数据的检测、链接和获取的方法和系统 |
CN107016001A (zh) * | 2016-01-28 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN111339382A (zh) * | 2020-03-11 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 字符串数据检索方法、装置、计算机设备及存储介质 |
-
2023
- 2023-07-28 CN CN202310938271.0A patent/CN116701719B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193983A (zh) * | 2011-03-25 | 2011-09-21 | 北京世纪互联工程技术服务有限公司 | 图形数据库基于关系路径的节点数据过滤方法 |
CN105824872A (zh) * | 2015-01-27 | 2016-08-03 | 国际商业机器公司 | 基于搜索的数据的检测、链接和获取的方法和系统 |
CN107016001A (zh) * | 2016-01-28 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN111339382A (zh) * | 2020-03-11 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 字符串数据检索方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116701719B (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11068439B2 (en) | Unsupervised method for enriching RDF data sources from denormalized data | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
CN110674247A (zh) | 弹幕信息的拦截方法、装置、存储介质及设备 | |
CN111506608A (zh) | 一种结构化文本的比较方法和装置 | |
CN112818111A (zh) | 文档推荐方法、装置、电子设备和介质 | |
CN111813744A (zh) | 文件的搜索方法、装置、设备及存储介质 | |
CN109271545A (zh) | 一种特征检索方法及装置、存储介质和计算机设备 | |
CN117171108B (zh) | 一种虚拟模型映射方法和系统 | |
US20220107931A1 (en) | Storing an ordered associative array of pairs using an append-only storage medium | |
CN113434506A (zh) | 数据管理及检索方法、装置、计算机设备及可读存储介质 | |
CN111090668B (zh) | 数据检索方法及装置、电子设备和计算机可读存储介质 | |
CN116701719B (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
US9286349B2 (en) | Dynamic search system | |
CN116127154A (zh) | 知识标签推荐方法、装置、电子设备及存储介质 | |
US20230138113A1 (en) | System for retrieval of large datasets in cloud environments | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN110321435B (zh) | 一种数据源划分方法、装置、设备和存储介质 | |
CN112035471A (zh) | 一种事务处理方法及计算机设备 | |
CN111767287A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN117635081B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN112035501B (zh) | 用户标识的更新方法、装置和设备 | |
KR100594180B1 (ko) | 온라인을 이용한 통합 검색 방법 | |
CN115495483A (zh) | 数据批量处理方法、装置、设备和计算机可读存储介质 | |
CN117743458A (zh) | 数据同步方法及装置、电子设备及计算机可读存储介质 | |
WO2022108599A1 (en) | Data processing independent of storage, format or schema |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |