CN115185998A - 目标字段查找方法及装置、服务器、计算机可读存储介质 - Google Patents

目标字段查找方法及装置、服务器、计算机可读存储介质 Download PDF

Info

Publication number
CN115185998A
CN115185998A CN202210934567.0A CN202210934567A CN115185998A CN 115185998 A CN115185998 A CN 115185998A CN 202210934567 A CN202210934567 A CN 202210934567A CN 115185998 A CN115185998 A CN 115185998A
Authority
CN
China
Prior art keywords
matching
data
matched
instruction
conditions
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
Application number
CN202210934567.0A
Other languages
English (en)
Inventor
许红涛
黄灿
陈海洋
卢凯璐
吴保杰
王晓平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haitong Securities Co ltd
Original Assignee
Haitong Securities Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haitong Securities Co ltd filed Critical Haitong Securities Co ltd
Priority to CN202210934567.0A priority Critical patent/CN115185998A/zh
Publication of CN115185998A publication Critical patent/CN115185998A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Library & Information Science (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种目标字段查找方法及装置、服务器、计算机可读存储介质,所述目标字段查找方法包括:获取匹配请求,所述匹配请求包括指令集合以及定位信息;根据所述定位信息确定所述待匹配数据;根据所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,以将符合所述匹配条件的匹配数据加入匹配数据集合;对所述匹配数据集合进行筛选,得到匹配结果集合,所述匹配结果集合包括符合匹配条件的匹配数据的统计信息;根据所述统计信息判断所述字段组的类型,以得到目标字段组。使用上述技术方案能够根据多个匹配条件对数据进行匹配,以提高目标字段的查找效率。

Description

目标字段查找方法及装置、服务器、计算机可读存储介质
技术领域
本发明涉及数据匹配技术领域,更具体地,其涉及一种目标字段查找方法及装置、服务器、计算机可读存储介质。
背景技术
随着大数据时代的来临,数据已成为重要的生产因素,数据间的流动传输潜藏着不可估量的价值信息。因此,数据的挖掘和应用对提升数据价值十分重要,而从海量数据中发现符合条件的数据,是数据应用的前提条件。
现有技术在数据库中查找目标字段时,通常是根据单个匹配条件在数据库中对数据进行搜索,以查找符合匹配条件的字段。
但是,现有技术在查找目标字段时,仅能够针对单个匹配条件进行搜索,当同时要针对多个匹配条件进行数据查找时,需要进行多轮的数据匹配才能完成任务,耗费了大量的时间以及算力,查找效率低下。
发明内容
本发明解决的技术问题是如何提升数据匹配效率,以确定目标字段。
为解决上述技术问题,本发明实施例提供一种目标字段查找方法,所述目标字段查找方法包括:获取匹配请求,所述匹配请求包括指令集合以及定位信息,所述指令集合包括针对多个匹配条件的匹配指令,所述定位信息用于定位待匹配数据;根据所述定位信息确定所述待匹配数据;根据所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,以将符合所述匹配条件的匹配数据加入匹配数据集合;对所述匹配数据集合进行筛选,得到匹配结果集合,所述匹配结果集合包括符合匹配条件的匹配数据的统计信息,所述统计信息包括每一字段组中符合每个匹配条件的匹配数据的数量;根据所述统计信息判断所述字段组的类型,以得到目标字段组。
可选地,所述指令集合包括针对所述多个匹配条件的匹配指令组,每一匹配指令组包括至少一个匹配指令,所述根据所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配包括:对于每一待匹配数据,并行地按照所述匹配指令组进行数据匹配。
可选地,每一匹配指令对应一个匹配字符,所述并行地按照所述匹配指令组进行数据匹配包括:对每一待匹配数据中的多个待匹配字符建立多个线程;在每个线程中顺序执行每一匹配指令组中的多个匹配指令,以判断待匹配字符与匹配指令对应的匹配字符是否一致。
可选地,所述在每个线程中顺序执行每一匹配指令组中的多个匹配指令包括:如果在当前线程中当前待匹配字符与当前匹配指令对应的匹配字符一致,则在所述当前线程中选取所述待匹配数据中下一待匹配字符,并与所述当前匹配指令的下一匹配指令对应的匹配字符是否一致;如果在所述当前线程中当前待匹配字符与当前匹配指令对应的匹配字符不一致,则关闭所述当前线程。
可选地,所述根据所述统计信息判断所述字段组的类型包括:确定每一字段组中符合所述匹配条件的匹配数据的数量占所述字段组中所述待匹配数据的数量的比例,以得到所述匹配条件的匹配度;根据所述匹配条件的匹配度确定所述字段组的类型的匹配度,将匹配度大于预设比例且匹配度最高的类型作为所述字段组的类型,所述字段组的类型对应至少一个匹配条件。
可选地,所述定位信息包括库标识和表标识,所述根据所述定位信息确定所述待匹配数据包括:根据库标识和表标识获取表中各个字段组的名称及其注释信息,将所述字段组的名称及其注释信息作为所述待匹配数据。
可选地,所述定位信息包括库标识和表标识,所述根据所述定位信息确定所述待匹配数据包括:根据所述库标识和所述表标识,确定所述待匹配数据的存储位置;利用所述待匹配数据的存储位置获取所述待匹配数据。
本发明实施例还提供另一种目标字段查找方法,所述目标字段查找方法包括:生成匹配请求,所述匹配请求包括指令集合以及定位信息,所述指令集合包括针对多个匹配条件的匹配指令,所述定位信息用于定位待匹配数据;发送所述匹配请求,以供服务器根据所述定位信息确定所述待匹配数据,按照所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,将符合所述匹配条件的匹配数据加入匹配数据集合,并对所述匹配数据集合进行筛选,得到匹配结果集合,以根据匹配结果集合中的统计信息判断字段组的类型,以得到目标字段组。
可选地,所述生成匹配请求包括:获取多个匹配条件;从规则库中获取所述多个匹配条件对应的匹配指令组,以得到所述指令集合,所述规则库包括多个匹配条件及其对应的匹配指令组。
本发明实施例还公开一种目标字段查找装置,所述目标字段查找装置包括:获取模块,用于获取匹配请求,所述匹配请求包括指令集合以及定位信息,所述指令集合包括针对多个匹配条件的匹配指令,所述定位信息用于定位待匹配数据;定位模块,用于根据所述定位信息确定所述待匹配数据;匹配模块,用于根据所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,以将符合所述匹配条件的匹配数据加入匹配数据集合;筛选模块,用于对所述匹配数据集合进行筛选,得到匹配结果集合,所述匹配结果集合包括符合匹配条件的匹配数据的统计信息,所述统计信息包括每一字段组中符合每个匹配条件的匹配数据的数量;目标字段组确认模块,用于根据所述统计信息判断所述字段组的类型,以得到目标字段组。
本发明实施例还公开另一种目标字段查找装置,所述目标字段查找装置包括:生成模块,用于生成匹配请求,所述匹配请求包括指令集合以及定位信息,所述指令集合包括针对多个匹配条件的匹配指令,所述定位信息用于定位待匹配数据;发送模块,用于发送所述匹配请求,以供服务器根据所述定位信息确定所述待匹配数据,按照所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,将符合所述匹配条件的匹配数据加入匹配数据集合,并对所述匹配数据集合进行筛选,得到匹配结果集合,以根据匹配结果集合中的统计信息判断字段组的类型,以得到目标字段组。
本发明实施例还公开一种服务器,包括存储器和处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述计算机程序被处理器运行时执行上述任一种所述目标字段查找方法的步骤。
本发明实施例还公开一种客户端,包括存储器和处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述计算机程序被处理器运行时执行上述任一种所述目标字段查找方法的步骤。
本发明实施例还公开一种计算机可读存储介质,其上存储有计算机程序,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,所述计算机程序被处理器运行时执行上述任一种所述目标字段查找方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明提出一种目标字段查找方法,通过获取匹配请求,根据匹配请求中的定位信息确定待匹配数据,并对待匹配数据并行地根据匹配请求中的指令集合进行数据匹配,以确定符合匹配条件的匹配数据。获取的匹配请求中包括针对多个匹配条件的匹配指令,在进行数据匹配时能够将待匹配数据并行地与多个匹配条件进行匹配,使待匹配数据进行一次匹配就能够完成对多个匹配条件的比对,大大降低数据匹配所需的时间,提升数据匹配效率。将匹配条件的匹配数据加入匹配数据集合,并对匹配数据集合进行筛选,得到匹配结果集合,匹配结果集合包括符合匹配条件的匹配数据的统计信息,统计信息包括每一字段组中符合每个匹配条件的匹配数据的数量,还可以包括每一字段组中待匹配数据的数量以及每一字段组符合的匹配条件,根据统计信息可以判断字段组的类型,以得到目标字段组。通过对匹配数据进行筛选和判断,可以确认字段组的类型,提升目标字段组的筛选效率。
进一步地,根据定位信息中的库标识和表标识确定待匹配数据的存储位置,并直接从待匹配数据的存储位置中获取待匹配数据,省去数据库中进行数据搜索的过程,大大缩短数据匹配所花费的时间。
进一步地,将字段组的名称和注释信息也作为待匹配数据进行数据匹配,将字段组的名称和注释信息作为字段组的类型的判断依据,提升判断字段组的类型的准确率,使字段组的分类更加精准。
附图说明
图1是本发明实施例提供的一种目标字段查找方法的整体流程图;
图2是本发明实施例提供的另一种目标字段查找方法的整体流程图;
图3是本发明实施例提供的一种目标字段查找方法的具体流程图;
图4是本发明实施例提供的一种具体应用场景的示意图;
图5是本发明实施例提供的一种目标字段查找装置的结构示意图;
图6是本发明实施例提供的另一种目标字段查找装置的结构示意图。
具体实施方式
如背景技术中所述,随着大数据时代的来临,数据已成为重要的生产因素,数据的挖掘和应用对提升数据价值十分重要,从海量数据中发现符合条件的数据,是数据应用的前提条件。现有技术在数据库中匹配数据,通常是根据匹配条件在数据库中对数据进行搜索,以查找符合匹配条件的数据。但现有技术仅能够根据单个匹配条件进行搜索,当同时要对多个匹配条件进行数据匹配时,需要进行多轮的数据匹配才能完成任务,耗费了大量的时间以及算力。
本发明实施例中,通过获取匹配请求,根据匹配请求中的定位信息确定待匹配数据,并对待匹配数据并行地根据匹配请求中的指令集合进行数据匹配,以确定符合匹配条件的匹配数据。获取的匹配请求中包括针对多个匹配条件的匹配指令,在进行数据匹配时能够将待匹配数据并行地与多个匹配条件进行匹配,使待匹配数据进行一次匹配就能够完成对多个匹配条件的比对,大大降低数据匹配所需的时间,提升数据匹配效率。将匹配条件的匹配数据加入匹配数据集合,并对匹配数据集合进行筛选,得到匹配结果集合,匹配结果集合包括符合匹配条件的匹配数据的统计信息,统计信息包括每一字段组中符合每个匹配条件的匹配数据的数量,还可以包括每一字段组中待匹配数据的数量以及每一字段组符合的匹配条件,根据统计信息可以判断字段组的类型,以得到目标字段组。通过对匹配数据进行筛选和判断,可以确认字段组的类型,提升目标字段组的筛选效率。
进一步地,根据定位信息中的库标识和表标识确定待匹配数据的存储位置,并直接从待匹配数据的存储位置中获取待匹配数据,省去数据库中进行数据搜索的过程,大大缩短数据匹配所花费的时间。
进一步地,将字段组的名称和注释信息也作为待匹配数据进行数据匹配,将字段组的名称和注释信息作为字段组的类型的判断依据,提升判断字段组的类型的准确率,使字段组的分类更加精准。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种目标字段查找方法的整体流程图。
在具体实施中,下述步骤101至步骤105所记载的目标字段查找方法可以用于服务器中。上述步骤具体可以由服务器来执行,也可以由服务器中具有数据处理功能的芯片所执行,也可以由服务器中包含有数据处理功能的芯片的芯片模组来执行。在一个具体的实施例中,可以由服务器执行目标字段查找方法的各个步骤。
具体地,如图1所示,目标字段查找方法可以包括以下步骤:
在步骤101中,获取匹配请求;
在步骤102中,根据所述定位信息确定所述待匹配数据;
在步骤103中,根据所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,以将符合所述匹配条件的匹配数据加入匹配数据集合;
在步骤104中,对所述匹配数据集合进行筛选,得到匹配结果集合;
在步骤105中,根据所述统计信息判断所述字段组的类型,以得到目标字段组。
在具体实施中,服务器接收客户端发送的匹配请求,匹配请求中包括指令集合以及定位信息。指令集合包括针对多个匹配条件的匹配指令,定位信息用于定位待匹配数据。
在具体实施中,目标字段组中包括多个匹配数据,匹配数据可以是敏感数据。例如,匹配数据可以是身份证、电话号码或姓名等敏感数据。
在具体实施中,指令集合包括针对多个匹配条件的匹配指令组,每一匹配条件对应于一个匹配指令组,匹配指令组包括至少一个匹配指令。
需要说明的是,目标字段查找方法可以用于Hadoop平台,或者其他任意可实现的平台,本申请对此不作限制。
还需要说明的是,匹配条件可以是正则表达式,指令集合可以是由多个正则表达式编译生成的非确定有限自动机(Non-Deterministic Finite Automata,NFA),或者,也可以由其他可实施的技术方案确定匹配条件与指令集合,本申请对此不作限制。
在一个非限制性的实施例中,定位信息包括库标识与表标识,可以根据定位信息确定待匹配数据在数据库中的存储位置,并从待匹配数据所在数据库中的存储位置获取到待匹配数据。直接从待匹配数据的存储位置获取待匹配数据,可以省去数据库的搜索过程,大大提升待匹配数据的获取效率。
在一个非限制性的实施例中,服务器在确定待匹配数据时,还可以根据库标识与表标识获取表中各个字段组的名称和字段组的注释信息,将字段组的名称和字段组的注释信息作为待匹配数据,当字段组的名称和字段组的注释信息符合指令集合中的匹配条件时,将字段组的名称及其注释信息加入匹配结果集合,以作为字段组分类的判断依据,提升字段组分类的准确度。
在具体实施中,服务器并行地在待匹配数据所在的数据节点上对待匹配数据进行数据匹配,数据库包括多个数据节点,每一数据节点存储有多个待匹配数据。并行地在各个数据节点上进行数据匹配,可以对多个待匹配数据同时进行匹配,以提升数据匹配的效率。具体地,可以在数据节点上运行匹配进程,匹配进程用于根据指令集合中的指令对待匹配数据进行数据匹配,匹配进程可以由开发人员提前开发并部署于服务器中。
在一个非限制性的实施例中,服务器对每一待匹配数据,并行地按照匹配指令组进行数据匹配。具体地,对每一待匹配数据中的多个字符建立多个线程,每一字符对应于一个线程,每一匹配指令对应一个匹配字符。在每个线程中顺序执行每一匹配指令组中的多个匹配指令,以判断待匹配字符与匹配指令对应的匹配字符是否一致。
进一步地,如果在当前线程中当前待匹配字符与当前匹配指令对应的匹配字符一致,则在当前线程中选取待匹配数据中下一待匹配字符,并与当前匹配指令的下一匹配指令对应的匹配字符是否一致;如果在当前线程中当前待匹配字符与当前匹配指令对应的匹配字符不一致,则关闭当前线程。
在具体实施中,匹配请求中还可以包括预设匹配数量,当待匹配数据的数量大于预设匹配数量时,对预设匹配数量的待匹配数据进行数据匹配。通过设置预设匹配数量,可以在待匹配数据的数量级很大的情况下仅对部分待匹配数据进行数据匹配,以缩短数据匹配的完成时间。。
需要说明的是,待匹配数据可以是字符串,或者其他可进行数据匹配的数据格式,本申请对此不作限制。
在一个非限制性的实施例中,服务器在获取到待匹配数据之后,对待匹配数据中的各个字符按照顺序与各个匹配条件进行匹配。具体地,对每一字符建立一个线程,在每一线程中将字符并行地与各个匹配条件进行比对,并使用五元组(s,h,i,j,k)表示各个线程与各个匹配条件的匹配状态,其中,s表示匹配指令的序号,h表示字符的序号,i表示字符与匹配条件匹配成功开始时所指示的字符的序号,j表示字符与匹配条件匹配成功结束时所指示的字符的序号,k表示匹配条件的索引。在所有线程处理完毕后,将符合所述匹配条件的匹配数据对应的五元组加入匹配数据集合。
进一步地,服务器并行地在每一线程中执行多个匹配指令,在线程中的所有匹配指令执行完毕时关闭线程,在所有线程关闭后完成待匹配数据的数据匹配。
在一个非限制性的实施例中,服务器在完成数据匹配后,将符合匹配条件的匹配数据加入匹配数据集合。具体地,可以将匹配数据的位置信息与五元组加入匹配数据集合,匹配数据的位置信息用于定位匹配数据的具体位置,位置信息可以包括匹配数据所属的表的标识和匹配数据所属的字段组的标识。
进一步地,服务器对匹配数据集合进行统计,以得到匹配结果集合,匹配结果集合可以包括符合匹配条件的匹配数据的统计信息,统计信息可以包括每个字段组中符合每个匹配条件的匹配数据的数量,还可以包括每一字段组中待匹配数据的数量以及每一字段组符合的匹配条件,根据统计信息可以计算每一匹配条件的匹配度,匹配度表示符合匹配条件的匹配数据的数量占待匹配数据的数量的比例。例如,统计信息可以包括,在字段组标识为A的字段组A中待匹配数据的数量为200,符合匹配条件1的匹配数据的数量为10,符合匹配条件2的匹配数据的数量为100,则匹配条件1的匹配度为5%,匹配条件2的匹配度为50%。具体地,先确定匹配数据集合中每一匹配数据对应的匹配条件,对每一字段组中每一匹配条件所匹配的匹配数据的数量进行统计,并加入统计信息。可以对匹配数据集合执行映射规约(Map Reduce)中合并排序(shuffle)的过程,将匹配数据集合分割(split)为多个独立的匹配数据,以根据每个匹配数据与匹配条件之间的映射(map)关系确定匹配数据集合中的每个匹配数据所对应的匹配条件。在确定各个匹配数据所对应的匹配条件后,对各个匹配条件下的匹配数据进行合并排序(shuffle),以确定每个匹配条件所对应的匹配数据,对每个匹配条件所对应的匹配数据进行统计,得到每个字段组中符合各个匹配条件的匹配数据的数量。
在一个具体的应用场景中,匹配条件为正则表达式a(bd)+与正则表达式abc,正则表达式a(bd)+表示a与至少一个bd连接时符合匹配条件,例如字符串abd、abdbd、abdbdbd与正则表达式a(bd)+匹配,正则表达式abc表示字符串abc符合匹配条件。正则表达式a(bd)+与正则表达式abc所对应的指令集合如表1所示:
序号 匹配指令
0 char‘a’
1 fork 6
2 char‘b’
3 char‘d’
4 match 0
5 jump2
6 char‘b’
7 char‘c’
8 match 1
9 stop
表1
其中,各个匹配指令所执行的内容如表2所示:
Figure BDA0003782974210000101
表2
进一步地,输入待匹配字符串“qabckabdbd”与正则表达式“a(bd)+”和正则表达式“abc”进行匹配,正则表达式“a(bd)+”为匹配条件0,正则表达式“abc”为匹配条件1。现结合表1对具体的匹配过程进行详细说明。
创建线程0,以处理待匹配字符串中的第0个字符“q”;在线程0中执行匹配指令0“char‘a’”,将“q”与“a”进行匹配,匹配失败,关闭线程0。
创建线程1,以处理待匹配字符串中的第1个字符“a”;在线程1中执行匹配指令0“char‘a’”,将“a”与“a”进行匹配,匹配成功,记录匹配条件匹配成功开始时所指示的字符的序号,即i=1;暂停线程1,并准备执行匹配指令1“fork 6”。
创建线程2,以处理待匹配字符串中的第2个字符“b”;在线程2中执行匹配指令0“char‘a’”,将“b”与“a”进行匹配,匹配失败,关闭线程2。同时,线程1执行匹配指令1“fork6”,即创建新的线程3,线程3准备执行匹配指令6“char‘b’”;线程1继续执行匹配指令2“char‘b’”,以处理待匹配字符串中的第2个字符“b”,将“b”与“b”进行匹配,匹配成功,暂停线程1,并准备执行匹配指令3“char‘d’”;线程3执行匹配指令6“char‘b’”,将待匹配字符串中的第2个字符“b”与“b”进行匹配,匹配成功,暂停线程3,并准备执行匹配指令7“char‘c’”。线程1执行匹配指令2“char‘b’”与线程3执行匹配指令6“char‘b’”可以是同时进行的。
创建线程4,以处理待匹配字符串中的第3个字符“c”;在线程4中执行匹配指令0“char‘a’”,将“c”与“a”进行匹配,匹配失败,关闭线程4。同时,线程1继续执行匹配指令3“char‘d’”,以处理待匹配字符串中的第3个字符“c”,将“c”与“d”进行匹配,匹配失败,关闭线程1。同时,线程3继续执行匹配指令7“char‘c’”,以处理待匹配字符串中的第3个字符“c”,将“c”与“c”进行匹配,匹配成功,暂停线程3,并准备执行匹配指令8“match 1”。
创建线程5,以处理待匹配字符串中的第4个字符“k”;在线程5中执行匹配指令0“char‘a’”,将“k”与“a”进行匹配,匹配失败,关闭线程5。同时,线程3与匹配条件1“abc”匹配成功,记录字符与匹配条件1匹配成功结束时所指示的字符,即j=4,k=1;线程3继续执行匹配指令9“stop”,停止数据匹配,关闭线程3并记录五元组(9,4,1,4,1)。
创建线程6,以处理待匹配字符串中的第5个字符“a”;在线程6中执行匹配指令0“char‘a’”,将“a”与“a”进行匹配,匹配成功,记录匹配条件匹配成功开始时所指示的字符的序号,即i=1,暂停线程6,并准备执行匹配指令1“fork 6”。
创建线程7,以处理待匹配字符串中的第6个字符“b”;在线程7中执行匹配指令0“char‘a’”,将“b”与“a”进行匹配,匹配失败,关闭线程7。同时,线程6执行匹配指令1“fork6”,即创建新的线程8,线程8准备执行匹配指令6“char‘b’”;线程6继续执行匹配指令2“char‘b’”,以处理待匹配字符串中的第6个字符“b”,将“b”与“b”进行匹配,匹配成功,暂停线程6,并准备执行匹配指令3“char‘d’”。线程8执行匹配指令6“char‘b’”,将待匹配字符串中的第6个字符“b”与“b”进行匹配,匹配成功,暂停线程8,并准备执行匹配指令7“char‘c’”。线程6执行匹配指令2“char‘b’”与线程8执行匹配指令6“char‘b’”可以是同时进行的。
创建线程9,以处理待匹配字符串中的第7个字符“d”;在线程9中执行匹配指令0“char‘a’”,将“d”与“a”进行匹配,匹配失败,关闭线程9。同时,线程6继续执行匹配指令3“char‘d’”,以处理待匹配字符串中的第7个字符“d”,将“d”与“d”进行匹配,匹配成功,暂停线程6,并准备执行匹配指令4“match 0”。同时,线程8继续执行匹配指令7“char‘c’”,以处理待匹配字符串中的第7个字符“d”,将“d”与“c”进行匹配,匹配失败,关闭线程8。
创建线程10,以处理待匹配字符串中的第8个字符“b”;在线程10中执行匹配指令0“char‘a’”,将“b”与“a”进行匹配,匹配失败,关闭线程10。同时,线程6继续执行匹配指令4“match 0”,线程6与匹配条件0“a(bd)+”匹配成功,记录字符与匹配条件0匹配成功结束时所指示的字符,即j=8,k=0;线程6继续执行匹配指令5“jump 2”,跳转至匹配指令2“char‘b’”并执行匹配指令2,将第8个字符“b”与“b”进行匹配,匹配成功,暂停线程6,并准备执行匹配指令3“char‘d’”。
创建线程11,以处理待匹配字符串中的第9个字符“d”,在线程11中执行匹配指令0“char‘a’”,将“d”与“a”进行匹配,匹配失败,关闭线程11。同时,线程6执行匹配指令3“char‘d’”,将第9个字符“d”与“d”进行匹配,匹配成功,暂停线程6,并准备执行匹配指令4“match0”。
此时待匹配字符串中已无待匹配字符,不创建新的线程。线程6继续执行匹配指令4“match 0”,线程6与匹配条件0“a(bd)+”匹配成功,记录字符与匹配条件0匹配成功结束时所指示的字符,即j=10,k=0;线程6继续执行匹配指令5“jump 2”,跳转至匹配指令2“char‘b’”并执行匹配指令2,由于已无字符与“b”进行匹配,匹配失败,关闭线程6并记录五元组(2,10,5,10,0)。此时已经没有线程存活,数据匹配结束。
需要说明的是,创建线程0、1、2、4、5、6、7、9、10和11的操作是同时执行的。
进一步地,记录五元组(9,4,1,4,1)与(2,10,5,10,0)以及待处理字符串的位置信息,五元组(9,4,1,4,1)表示执行匹配指令9“stop”时线程结束,此时正在处理待处理字符串中的第4个字符“k”,待匹配字符串中与匹配条件“abc”匹配成功的字符为第1个字符至第4个字符,五元组(2,10,5,10,0)表示执行匹配指令2“char‘b’”时线程结束,此时正在处理待处理字符串中的第10个字符空字符,待匹配字符串中与匹配条件“a(bd)+”匹配成功的字符为第5个字符至第10个字符。在数据匹配结束后,将符合匹配条件的待匹配字符串“qabckabdbd”的位置信息以及五元组加入匹配数据集合以进行统计,得到匹配结果集合。
在一个非限制性的实施例中,字段组的类型可以对应于至少一个匹配条件,可以根据每个匹配条件的匹配度来确定字段组的类型。具体地,根据匹配条件的匹配度确定字段组的类型的匹配度,将匹配度大于预设比例且匹配度最高的类型作为所述字段组的类型。例如,字段组A的数据总数量为100,其中符合匹配条件1的匹配数据的数量为80,符合匹配条件2的匹配数据的数量为70,匹配条件1对应的字段组的类型为身份证,匹配条件2对应的字段组的类型为姓名。匹配条件1的匹配度为80%,匹配条件2的匹配度为70%,则类型“身份证”的匹配度为80%,类型“姓名”的匹配度为70%。在预设比例为60%时,选取匹配度最高的类型,将类型“身份证”作为字段组A的类型。
进一步地,还可以结合字段组的名称及其注释信息判断字段组是否为目标字段组。可以通过以下公式计算字段组的类型的匹配度:
P(Oi|Cj)=α×P(Oi|Cj.MT)+β×P(Oi|Cj.DT) (1)
Figure BDA0003782974210000131
Figure BDA0003782974210000132
其中,P(Oi|Cj)表示字段组Cj对应的类型Oi的匹配度,P(Oi|Cj.MT)表示字段组Cj的名称和注释信息符合的匹配条件对应的类型Oi的匹配度,P(Oi|Cj.MT)由类型Oi对应的k个匹配条件Rl的匹配度加权求和得到;P(Oi|Cj.DT)表示字段组Cj中各个匹配数据符合的匹配条件对应的类型Oi的匹配度,P(Oi|Cj.DT)由类型Oi对应的k个匹配条件Rl的匹配度加权求和得到,α为P(Oi|Cj.MT)的第一权重,β为P(Oi|Cj.DT)的第二权重,ω1为各个匹配条件Rl的第三权重,ω2为各个匹配条件Rl的第四权重。
在得到类型Oi的匹配度P(Oi|Cj)后,将匹配度P(Oi|Cj)最大且匹配度P(Oi|Cj)大于预设阈值的类型Oi作为字段组的类型。
本实施例中,通过定位信息确定待匹配数据,并行地在各个数据节点上对待匹配数据进行数据匹配,可以同时对多个待匹配数据进行数据匹配,提高了对待匹配数据的匹配速度。并且根据匹配指令集对待匹配数据进行匹配,在各个线程中并行地执行匹配指令,使待匹配数据可以同时对多个匹配条件进行匹配,大大提高了数据匹配的效率。直接从待匹配数据的存储位置获取待匹配数据,缩短了数据库进行数据搜索过程所花费的时间,进一步提升数据匹配的效率。
图2是本发明实施例提供的另一种目标字段查找方法的整体流程图。
在具体实施中,下述步骤201至步骤202所记载的目标字段查找方法可以用于客户端中。上述步骤具体可以由客户端来执行,也可以由客户端中具有数据处理功能的芯片所执行,也可以由客户端中包含有数据处理功能的芯片的芯片模组来执行。在一个具体的实施例中,可以由客户端执行目标字段查找方法的各个步骤。
在步骤201中,生成匹配请求;
在步骤202中,发送所述匹配请求。
在一个非限制性的实施例中,匹配请求包括指令集合,客户端可以获取多个匹配条件,并从规则库中获取多个匹配条件对应的匹配指令组,以得到指令集合,规则库包括多个匹配条件及其对应的匹配指令组。
在具体实施中,匹配条件可以是正则表达式,客户端可以将多个正则表达式编译为非确定有限自动机,多个正则表达式所对应的匹配集合可以根据正则表达式与匹配指令的对应关系从规则库中获取。用户可以根据不同的要求设置不同的匹配条件,以满足对数据的多种匹配需求。
在具体实施中,匹配请求还可以包括定位信息,客户端可以获取用户输入的定位信息,以对用户指定位置的待匹配数据进行数据匹配,定位信息可以包括库标识与表标识。
在具体实施中,客户端生成的匹配请求还可以包括预设匹配数量,以供服务器对预设匹配数量的待匹配数据进行数据匹配。
在具体实施中,客户端在匹配请求生成完毕后,将匹配请求发送至服务器,以供服务器根据定位信息确定待匹配数据,并按照指令集合并行地对待匹配数据按照多个匹配条件进行数据匹配。并且可以在服务器确定目标字段组及其类型后,接收服务器发送的查找结果集合,查找结果集合包括各个目标字段组及其类型,以向用户展示目标字段的查找结果。
在本实施例中,根据多个匹配条件选取对应的指令集合,以供服务器按照指令集合并行地对待匹配数据按照多个匹配条件进行数据匹配,向服务器发送包括指令集合的匹配请求。接收服务器发送的查找结果集合,用户无需根据匹配数据的内容自行判断,可以直接查看客户端展示的目标字段组及其类型,提升用户的使用体验。
图3是本发明实施例提供的一种目标字段查找方法的具体流程图。
在步骤301中,客户端生成匹配请求;
在步骤302中,客户端发送匹配请求至服务器,相应地,服务器接收匹配请求。
在具体实施中,匹配请求可以包括指令集合和定位信息,指令集合包括针对多个匹配条件的匹配指令,指令集合可以根据匹配条件从规则库中获取得到,定位信息用于定位待匹配数据。
在步骤303中,服务器根据匹配请求中的定位信息确定待匹配数据的位置。具体地,可以根据定位信息中的库标识与表标识确定待匹配数据所存储的数据节点。
在步骤304中,服务器中的各个数据节点运行匹配进程,以对待匹配数据并行地进行数据匹配,并在数据匹配结束后生成匹配结果集合。具体地,可以在数据节点上运行匹配进程,匹配进程用于根据指令集合中的指令对待匹配数据进行数据匹配,匹配进程可以由开发人员提前开发并部署于服务器中。
在具体实施中,可以对大于预设大小的数据文件进行切割,形成多个内存文件,并对多个内存文件并行地进行数据匹配,以提升大文件的数据匹配效率。关于数据匹配的具体步骤可参考图1中的相关描述,此处不再赘述。
在步骤305中,服务器根据匹配结果集合确定目标字段组。关于确定目标字段组的具体步骤可参考图2中的相关描述,此处不再赘述。
在具体实施中,可以将各个目标字段组及其类型加入查找结果集合。
在步骤306中,服务器将查找结果集合发送至客户端;相应地,客户端接收查找结果集合。客户端可根据用户需要将目标字段组进行展示,或者保存目标字段组及其类型。
图4是本发明实施例提供的一种具体应用场景的示意图。
如图4所示,在一个具体的应用场景中,客户端41在获取到多个匹配条件之后,从规则库40中获取多个匹配条件对应的匹配指令组,以得到指令集合,并获取用户输入的定位信息。客户端41根据指令集合与定位信息生成匹配请求,并将匹配请求发送至服务器42中的通信模块421。具体地,服务器可以是Hadoop集群。
进一步地,通信模块421接收到匹配请求,通信模块421控制查询模块422根据匹配请求中的定位信息进行查询,确定库标识与表标识指示的数据节点,以从定位信息对应的数据节点中获取待匹配数据,并根据库标识与表标识确定表中各个字段组的名称与注释信息,以作为待匹配数据。具体地,查询模块可以是Hadoop集群中的Hive工具。
进一步地,通信模块421控制各个数据节点上的处理模块423根据指令集合对待匹配数据进行数据匹配。在完成数据匹配后,通信模块421将各个处理模块423生成的匹配数据集合进行统计,以形成匹配结果集合。具体地,处理模块可以由开发人员提前开发并部署于服务器中。
进一步地,通信模块421根据匹配结果集合确定目标字段组及其类型,以将各个目标字段组及其类型加入查找结果集合,并将查找结果集合发送至客户端41。
进一步地,客户端41在接收到查找结果集合后,将查找结果集合保存或者向用户展示。
如图5所示,本发明实施例还公开了一种目标字段查找装置。目标字段查找装置50包括:
获取模块501,用于获取匹配请求,所述匹配请求包括指令集合以及定位信息,所述指令集合包括针对多个匹配条件的匹配指令,所述定位信息用于定位待匹配数据;
定位模块502,用于根据所述定位信息确定所述待匹配数据;
匹配模块503,用于根据所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,以将符合所述匹配条件的匹配数据加入匹配数据集合;
筛选模块504,用于对所述匹配数据集合进行筛选,得到匹配结果集合,所述匹配结果集合包括符合匹配条件的匹配数据的统计信息,所述统计信息包括每一字段组中符合每个匹配条件的匹配数据的数量;
目标字段组确认模块505,用于根据所述统计信息判断所述字段组的类型,以得到目标字段组。
在具体实施中,上述目标字段查找装置可以对应于服务器中具有数据处理功能的芯片,例如SOC(System-On-a-Chip,片上系统)、基带芯片等;或者对应于服务器中包括具有数据处理功能的芯片模组;或者对应于具有数据处理功能芯片的芯片模组,或者对应于服务器。
关于所述目标字段查找装置50的工作原理、工作方式的更多内容,可以参照图1、图3和图4中的相关描述,这里不再赘述。
如图6所示,本发明实施例还公开了另一种目标字段查找装置。目标字段查找装置60包括:
生成模块601,用于生成匹配请求,所述匹配请求包括指令集合以及定位信息,所述指令集合包括针对多个匹配条件的匹配指令,所述定位信息用于定位待匹配数据
发送模块602,用于发送所述匹配请求,以供服务器根据所述定位信息确定所述待匹配数据,按照所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,将符合所述匹配条件的匹配数据加入匹配数据集合,并对所述匹配数据集合进行筛选,得到匹配结果集合,以根据匹配结果集合中的统计信息判断字段组的类型,以得到目标字段组。
在具体实施中,上述数据匹配装置可以对应于客户端中具有数据处理功能的芯片,例如SOC(System-On-a-Chip,片上系统)、基带芯片等;或者对应于客户端中包括具有数据处理功能的芯片模组;或者对应于具有数据处理功能芯片的芯片模组,或者对应于客户端。
关于所述目标字段查找装置60的工作原理、工作方式的更多内容,可以参照图2、图3和图4中的相关描述,这里不再赘述。
关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
本发明实施例还公开了一种存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时可以执行图1至图4中所示方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本发明实施例还公开了一种服务器,所述服务器可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时可以执行图1、图3和图4中所示方法的步骤。
本发明实施例还公开了一种客户端,所述客户端可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时可以执行图2、图3和图4中所示方法的步骤。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
应理解,本申请实施例中,所述处理器可以为中央处理单元(central processingunit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random accessmemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(staticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (14)

1.一种目标字段查找方法,其特征在于,包括:
获取匹配请求,所述匹配请求包括指令集合以及定位信息,所述指令集合包括针对多个匹配条件的匹配指令,所述定位信息用于定位待匹配数据;
根据所述定位信息确定所述待匹配数据;
根据所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,以将符合所述匹配条件的匹配数据加入匹配数据集合;
对所述匹配数据集合进行筛选,得到匹配结果集合,所述匹配结果集合包括符合匹配条件的匹配数据的统计信息,所述统计信息包括每一字段组中符合每个匹配条件的匹配数据的数量;
根据所述统计信息判断所述字段组的类型,以得到目标字段组。
2.根据权利要求1所述的目标字段查找方法,其特征在于,所述指令集合包括针对所述多个匹配条件的匹配指令组,每一匹配指令组包括至少一个匹配指令,所述根据所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配包括:
对于每一待匹配数据,并行地按照所述匹配指令组进行数据匹配。
3.根据权利要求2所述的目标字段查找方法,其特征在于,每一匹配指令对应一个匹配字符,所述并行地按照所述匹配指令组进行数据匹配包括:
对每一待匹配数据中的多个待匹配字符建立多个线程;
在每个线程中顺序执行每一匹配指令组中的多个匹配指令,以判断待匹配字符与匹配指令对应的匹配字符是否一致。
4.根据权利要求3所述的目标字段查找方法,其特征在于,所述在每个线程中顺序执行每一匹配指令组中的多个匹配指令包括:
如果在当前线程中当前待匹配字符与当前匹配指令对应的匹配字符一致,则在所述当前线程中选取所述待匹配数据中下一待匹配字符,并与所述当前匹配指令的下一匹配指令对应的匹配字符是否一致;
如果在所述当前线程中当前待匹配字符与当前匹配指令对应的匹配字符不一致,则关闭所述当前线程。
5.根据权利要求1所述的目标字段查找方法,其特征在于,所述根据所述统计信息判断所述字段组的类型包括:
确定每一字段组中符合所述匹配条件的匹配数据的数量占所述字段组中所述待匹配数据的数量的比例,以得到所述匹配条件的匹配度;
根据所述匹配条件的匹配度确定所述字段组的类型的匹配度,将匹配度大于预设比例且匹配度最高的类型作为所述字段组的类型,所述字段组的类型对应至少一个匹配条件。
6.根据权利要求1所述的目标字段查找方法,其特征在于,所述定位信息包括库标识和表标识,所述根据所述定位信息确定所述待匹配数据包括:
根据库标识和表标识获取表中各个字段组的名称及其注释信息,将所述字段组的名称及其注释信息作为所述待匹配数据。
7.根据权利要求1所述的目标字段查找方法,其特征在于,所述定位信息包括库标识和表标识,所述根据所述定位信息确定所述待匹配数据包括:
根据所述库标识和所述表标识确定所述待匹配数据的存储位置;
利用所述待匹配数据的存储位置获取所述待匹配数据。
8.一种目标字段查找方法,其特征在于,包括:
生成匹配请求,所述匹配请求包括指令集合以及定位信息,所述指令集合包括针对多个匹配条件的匹配指令,所述定位信息用于定位待匹配数据;
发送所述匹配请求,以供服务器根据所述定位信息确定所述待匹配数据,按照所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,将符合所述匹配条件的匹配数据加入匹配数据集合,并对所述匹配数据集合进行筛选,得到匹配结果集合,以根据匹配结果集合中的统计信息判断字段组的类型,以得到目标字段组。
9.根据权利要求8所述的目标字段查找方法,其特征在于,所述生成匹配请求包括:
获取多个匹配条件;
从规则库中获取所述多个匹配条件对应的匹配指令组,以得到所述指令集合,所述规则库包括多个匹配条件及其对应的匹配指令组。
10.一种目标字段查找装置,其特征在于,包括:
获取模块,用于获取匹配请求,所述匹配请求包括指令集合以及定位信息,所述指令集合包括针对多个匹配条件的匹配指令,所述定位信息用于定位待匹配数据;
定位模块,用于根据所述定位信息确定所述待匹配数据;
匹配模块,用于根据所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,以将符合所述匹配条件的匹配数据加入匹配数据集合;
筛选模块,用于对所述匹配数据集合进行筛选,得到匹配结果集合,所述匹配结果集合包括符合匹配条件的匹配数据的统计信息,所述统计信息包括每一字段组中符合每个匹配条件的匹配数据的数量;
目标字段组确认模块,用于根据所述统计信息判断所述字段组的类型,以得到目标字段组。
11.一种目标字段查找装置,其特征在于,包括:
生成模块,用于生成匹配请求,所述匹配请求包括指令集合以及定位信息,所述指令集合包括针对多个匹配条件的匹配指令,所述定位信息用于定位待匹配数据;
发送模块,用于发送所述匹配请求,以供服务器根据所述定位信息确定所述待匹配数据,按照所述指令集合并行地对所述待匹配数据按照所述多个匹配条件进行数据匹配,将符合所述匹配条件的匹配数据加入匹配数据集合,并对所述匹配数据集合进行筛选,得到匹配结果集合,以根据匹配结果集合中的统计信息判断字段组的类型,以得到目标字段组。
12.一种服务器,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至7中任一项所述目标字段查找方法的步骤。
13.一种客户端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求8或9中任一项所述目标字段查找方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,所述计算机程序被处理器运行时执行权利要求1至9中任一项所述目标字段查找方法的步骤。
CN202210934567.0A 2022-08-04 2022-08-04 目标字段查找方法及装置、服务器、计算机可读存储介质 Pending CN115185998A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210934567.0A CN115185998A (zh) 2022-08-04 2022-08-04 目标字段查找方法及装置、服务器、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210934567.0A CN115185998A (zh) 2022-08-04 2022-08-04 目标字段查找方法及装置、服务器、计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115185998A true CN115185998A (zh) 2022-10-14

Family

ID=83521304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210934567.0A Pending CN115185998A (zh) 2022-08-04 2022-08-04 目标字段查找方法及装置、服务器、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115185998A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115834949A (zh) * 2022-11-21 2023-03-21 展讯通信(上海)有限公司 节目信息的提取方法及装置、计算机可读存储介质、终端
CN116957808A (zh) * 2023-07-25 2023-10-27 海通证券股份有限公司 股票筛选方法、系统、设备和介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115834949A (zh) * 2022-11-21 2023-03-21 展讯通信(上海)有限公司 节目信息的提取方法及装置、计算机可读存储介质、终端
CN116957808A (zh) * 2023-07-25 2023-10-27 海通证券股份有限公司 股票筛选方法、系统、设备和介质
CN116957808B (zh) * 2023-07-25 2024-02-23 海通证券股份有限公司 股票筛选方法、系统、设备和介质

Similar Documents

Publication Publication Date Title
US10452691B2 (en) Method and apparatus for generating search results using inverted index
CN115185998A (zh) 目标字段查找方法及装置、服务器、计算机可读存储介质
JP2016149127A (ja) 実体属性値の確定装置及び方法
CN107832446B (zh) 一种配置项信息的搜索方法及计算设备
US20230205755A1 (en) Methods and systems for improved search for data loss prevention
CN114490375B (zh) 应用程序的性能测试方法、装置、设备及存储介质
CN111124872A (zh) 基于差异代码分析的分支检测方法、装置及存储介质
US20110179013A1 (en) Search Log Online Analytic Processing
US20230056760A1 (en) Method and apparatus for processing graph data, device, storage medium, and program product
US20220229854A1 (en) Constructing ground truth when classifying data
US20230018381A1 (en) Method for automatically identifying design changes in building information model
CN115858487A (zh) 一种数据迁移方法及装置
US12013855B2 (en) Trimming blackhole clusters
CN113760891A (zh) 一种数据表的生成方法、装置、设备和存储介质
US10114951B2 (en) Virus signature matching method and apparatus
CN114385764A (zh) 一种关系型数据库表结构的逆向分析方法及装置
CN113297498A (zh) 基于互联网的食品属性挖掘方法及系统
CN115705297A (zh) 代码调用检测方法、装置、计算机设备以及存储介质
CN112783775A (zh) 特殊字符输入测试方法及装置
CN110221971B (zh) 搜索引擎的测试方法及装置、电子设备、存储介质
CN110851517A (zh) 一种源数据抽取方法、装置、设备及计算机存储介质
US11347722B2 (en) Big data regression verification method and big data regression verification apparatus
CN117370160A (zh) 代码审核方法、装置、计算机设备、存储介质和程序产品
CN112559331A (zh) 测试方法和装置
CN115408397A (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