CN117056368A - 数据检索方法、装置、设备及存储介质 - Google Patents
数据检索方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117056368A CN117056368A CN202310988218.1A CN202310988218A CN117056368A CN 117056368 A CN117056368 A CN 117056368A CN 202310988218 A CN202310988218 A CN 202310988218A CN 117056368 A CN117056368 A CN 117056368A
- Authority
- CN
- China
- Prior art keywords
- information
- data
- index
- file
- primary key
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000011218 segmentation Effects 0.000 claims abstract description 42
- 238000001914 filtration Methods 0.000 claims description 26
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000000354 decomposition reaction Methods 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (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
本发明公开了一种数据检索方法、装置、设备及存储介质,属于云计算与大数据技术领域。本发明响应于索引创建指令,获取数据表的主键信息和数据表信息;基于主键信息和数据表信息对数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息;通过预设划分规则将数据表分组信息更新至第一索引文件中,得到第一索引信息;基于第一索引信息将数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息;基于第一索引信息和第二索引信息进行数据检索,通过对数据表进行分段,从而以主键指纹在分段中的位置实现两级索引创建,大大提高索引处理效率,且建立的索引符合业务检索需求,提高数据检索效率和准确率。
Description
技术领域
本发明涉及云计算与大数据技术领域,尤其涉及一种数据检索方法、装置、设备及存储介质。
背景技术
在跨系统实时数据传输的场景下,通常采用Kafka(一种高吞吐量的分布式发布订阅消息系统)作为传输通道,消息内容采用JSON(JavaScript Object Notation,JS对象简谱)格式进行组织,业务上需要将历史消息保存,用来做消息对账和业务历史回溯,对海量数据的索引与检索,通常采用对象数据库MongoDB(基于分布式文件存储的数据库)或文本数据库Elasticsearch(搜索与数据分析引擎)进行存储和管理,因数据量较大一般采用集群或分布式部署,并根据检索条件进行相关索引的创建。
数据库系统通常采用无压缩的方式进行存储,为了提高检索速度而创建的索引也占用大量磁盘空间。MongoDB通过键值索引的机制满足检索需求,但是其在面向千亿级别的数据量支撑困难,Elasticsearch虽然可以支撑千亿级别的数据,但是因其关键字索引原理,检索结果无法排序,导致检索效率较低,在检索结果较多时难以满足项目上的查询需求。上述方案均需要安装数据库系统,对技术人员要求较高,需要专业的DBA(DatabaseAdministrator,数据库管理员)进行日常运维工作的处理,海量数据的高磁盘占用导致索引数据量也较大,磁盘占用较高。
发明内容
本发明的主要目的在于提供一种数据检索方法、装置、设备及存储介质,旨在解决现有技术数据检索效率以及准确率低的技术问题。
为实现上述目的,本发明提供了一种数据检索方法,所述方法包括以下步骤:
响应于索引创建指令,获取数据表的主键信息和数据表信息;
基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息;
通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,其中,所述第一索引信息包括各个主键指纹所在的分段及所在分段的偏移量;
基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息;
基于所述第一索引信息和所述第二索引信息进行数据检索。
可选地,所述基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息,包括:
基于所述数据表信息得到各个数据表的数据信息对应的文件信息;
对所述文件信息进行切分,得到多个子文件信息;
根据多个所述子文件信息中的每个主键进行指纹生成,得到主键指纹,所述主键信息中的各个主键分别与各个所述子文件信息对应;
将属于同一文件的主键指纹以及属于同一表格的主键指纹进行分组存储,得到包括有多组主键指纹数据的数据表分组信息。
可选地,所述通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,包括:
获取数据表的数据量;
通过所述数据量设置第一索引文件的分段规则;
通过所述分段规则对所述数据表中的文件进行分段,得到第一分段信息;
基于所述数据表分组信息获取所述第一分段信息中各文件对应的主键指纹;
将属于同一主键指纹的文件划分为同一分段,得到第二分段信息;
通过所述第二分段信息将所述数据表中各表的分组信息和各个文件的主键指纹存储至第一索引文件,得到第一索引信息。
可选地,所述基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息,包括:
基于所述第一索引信息得到数据表的数据信息对应的文件信息以及主键指纹数据;
根据所述文件信息得到各个文件的文件号;
获取所述主键指纹数据的分段号和偏移量;
获取所述数据表中文件的主键指纹的字节长度,并将所述主键指纹的字节长度作为索引长度;
对主键进行指纹值计算,得到主键范围;
将所述文件号、所述分段号、所述偏移量、所述索引长度以及所述主键范围进行汇总,得到第二索引信息。
可选地,所述获取数据表的主键信息和数据表信息之前,还包括:
扫描原始压缩数据文件,得到数据文件信息;
根据所述数据文件信息得到文件的文件号、文件名、文件存储的起始时间和结束时间;
通过所述文件号、所述文件名、所述起始时间以及所述结束时间建立文件索引清单;
相应地,所述获取数据表的主键信息和数据表信息,包括:
对所述数据文件信息进行解析,得到数据表的主键信息和数据表信息。
可选地,所述基于所述第一索引信息和所述第二索引信息进行数据检索,包括:
获取检索信息以及待检索主键列表;
对所述待检索主键列表进行预处理,得到多个待检索主键指纹;
通过多个所述待检索主键指纹的范围在所述第二索引信息进行检索,得到初始索引分段;
使用文件索引清单及所述检索信息对所述初始索引分段进行过滤,得到过滤索引分段;
通过所述过滤索引分段中的偏移量以及索引长度在所述第一索引信息中进行检索,得到过滤索引段对应的主键指纹;
将所述过滤索引段对应的主键指纹与所述待检索主键指纹进行比较,将比较一致的主键指纹对应的文件作为初始数据信息;
基于所述初始数据信息在原始压缩数据文件中进行检索,得到目标数据信息。
可选地,所述基于所述初始数据信息在原始压缩数据文件中进行检索,得到目标数据信息,包括:
获取所述初始数据信息的数据表;
获取各主键指纹在所述数据表中的顺序,得到主键指纹的相对位置;
建立所述主键指纹与所述相对位置之间的对应关系;
基于预设分组结构和所述对应关系对所述初始数据信息进行分组,得到多组数据信息;
基于所述多组数据信息在原始压缩数据文件中进行检索,得到目标数据信息。
可选地,所述基于所述多组数据信息在原始压缩数据文件中进行检索,得到目标数据信息,包括:
根据多组所述数据信息得到相对位置和文件信息;
根据所述相对位置和所述文件信息在原始压缩数据文件中进行检索,得到参考数据信息;
将所述参考数据信息的主键指纹与所述待检索主键指纹进行比较,将与所述待检索主键指纹不一致的主键指纹对应的参考数据信息剔除,得到目标数据信息。
此外,为实现上述目的,本发明还提出一种数据检索装置,所述数据检索装置包括:
获取模块,用于响应于索引创建指令,获取数据表的主键信息和数据表信息;
分解模块,用于基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息;
更新模块,用于通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,其中,所述第一索引信息包括各个主键指纹所在的分段及所在分段的偏移量;
汇总模块,用于基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息;
检索模块,用于基于所述第一索引信息和所述第二索引信息进行数据检索。
此外,为实现上述目的,本发明还提出一种数据检索设备,所述数据检索设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据检索程序,所述数据检索程序配置为实现如上文所述的数据检索方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据检索程序,所述数据检索程序被处理器执行时实现如上文所述的数据检索方法的步骤。
本发明响应于索引创建指令,获取数据表的主键信息和数据表信息;基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息;通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,其中,所述第一索引信息包括各个主键指纹所在的分段及所在分段的偏移量;基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息;基于所述第一索引信息和所述第二索引信息进行数据检索,通过对数据表进行分段,从而以主键指纹在分段中的位置实现两级索引创建,大大提高索引处理效率,通过主键指纹的索引机制,符合业务检索需求,提高数据检索效率和准确率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据检索设备的结构示意图;
图2为本发明数据检索方法第一实施例的流程示意图;
图3为本发明数据检索方法第二实施例的流程示意图;
图4为本发明数据检索方法第三实施例的流程示意图;
图5为本发明数据检索方法第四实施例的流程示意图;
图6为本发明数据检索方法一实施例的数据索引创建原理示意图;
图7为本发明数据检索方法第五实施例的流程示意图;
图8为本发明数据检索方法一实施例的数据检索原理示意图;
图9为本发明数据检索装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据检索设备结构示意图。
如图1所示,该数据检索设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据检索设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据检索程序。
在图1所示的数据检索设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明数据检索设备中的处理器1001、存储器1005可以设置在数据检索设备中,所述数据检索设备通过处理器1001调用存储器1005中存储的数据检索程序,并执行本发明实施例提供的数据检索方法。
本发明实施例提供了一种数据检索方法,参照图2,图2为本发明数据检索方法第一实施例的流程示意图。
本实施例中,所述数据检索方法包括以下步骤:
步骤S10:响应于索引创建指令,获取数据表的主键信息和数据表信息。
需要说明的是,本实施例的执行主体可为数据检索设备,还可为其他可实现相同或相似功能的设备,本实施例对此不作限制,数据检索设备上设有索引创建的应用程序以及数据检索查询的应用程序,例如进行索引创建和数据检索查询的文件处理工具。从而通过文件处理工具进行索引创建以及创建索引后进行数据检索。
索引创建指令为创建当前存储的数据的索引的指令,通过索引创建指令可对当前存储的数据建立索引,便于后续对数据检索时直接通过索引进行查询,提高查询的效率。
数据表可为将数据存储到数据库后形成的数据表,由于海量的数据存储时,存储占用磁盘较高,因此在进行索引创建前,可相对数据进行压缩处理,从而可降低磁盘占用率。
在全网CRM(Customer relationship management,客户关系管理)表增量变化汇聚时,增量变化的每条数据可采用JSON格式通过Kafka进行传输,一个JSON对象对应数据库表内的一条数据,在接收到增量数据后进行业务处理,然后将每条消息保存到磁盘,每个表对应一类文件,每个文件在达到一定大小后进行切分,得到多个分片文件,在归档过程中进行压缩,以便于后续根据压缩后的文件进行索引创建/更新,从而可降低磁盘占用,实现数据低磁盘占用的快速检索。
数据表中包括有多个表,每个表中存储有若干文件,每个文件均记录有主键,因此可通过获取数据表得到数据表的主键信息,数据表信息为各个数据表的数据信息对应的文件信息。
步骤S20:基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息。
在具体实施中,可通过主键信息以及数据表信息对数据表进行分解,从而将每个数据表中的文件进行切分,并将切分后的每个文件对应的主键生成主键指纹,从而可得到包括有多组主键指纹数据的数据表分组信息,即每个目标表的每个文件有哪些主键指纹,从而可按照其在数据文件中的自然顺序进行保存。
步骤S30:通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,其中,所述第一索引信息包括各个主键指纹所在的分段及所在分段的偏移量。
可以理解的是,预设划分规则可包括设置的分段界限以及主键位置,通过设置的分段界限和主键位置将多组主键指纹数据的数据表分组信息更新至第一索引文件中,第一索引文件用于存储对应的数据表分组信息的数据,从而在存储后生成第一索引信息,第一索引信息中包括各个主键指纹所在的分段以及所在分段的偏移量,偏移量为主键指纹所在分段中的具体位置,第一索引信息为主键指纹级索引。
步骤S40:基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息。
应理解的是,在得到第一索引信息后,可将数据表中每张表的所有文件和其对应的主键指纹信息进行汇总,得到第二索引信息,第二索引信息为文件级索引。
步骤S50:基于所述第一索引信息和所述第二索引信息进行数据检索。
需要说明是,通过采用文件级索引和主键指纹索引的两级索引结构,可大大提高索引处理效率与管理容量,从而可轻松支持海量数据的快速查询,提高数据查询效率,并且符合实力业务的业务查询去修,在压缩的数据的基础上建立索引机制的方式,存储空间占用更少,节约大量存储空间,减少存储资源消耗。
但需要对数据进行检索时,可通过第一索引信息以及第二索引信息进行数据检索,查询目标数据,提高检索的效率。
本实施例响应于索引创建指令,获取数据表的主键信息和数据表信息;基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息;通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,其中,所述第一索引信息包括各个主键指纹所在的分段及所在分段的偏移量;基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息;基于所述第一索引信息和所述第二索引信息进行数据检索,通过对数据表进行分段,从而以主键指纹在分段中的位置实现两级索引创建,大大提高索引处理效率,通过主键指纹的索引机制,符合业务检索需求,提高数据检索效率和准确率。
参考图3,图3为本发明数据检索方法第二实施例的流程示意图。
基于上述第一实施例,本实施例数据检索方法所述步骤S20,具体包括:
步骤S201:基于所述数据表信息得到各个数据表的数据信息对应的文件信息。
需要说明的是,数据表信息中包括有多个数据表,各个数据表中存储有多个文件数据,因此可基于数据表信息得到各个数据表的数据信息对应的文件信息。
步骤S202:对所述文件信息进行切分,得到多个子文件信息。
具体地,可通过对文件信息中的各个文件进行切分,将各个表中的文件切分为多个子文件,得到多个子文件信息,例如表1中包括的文件为文件1,将文件1进行切分,得到n个子文件。
步骤S203:根据多个所述子文件信息中的每个主键进行指纹生成,得到主键指纹,所述主键信息中的各个主键分别与各个所述子文件信息对应。
需要说明的是,可通过将多个子文件信息中的各个子文件的主键生成指纹,得到主键指纹,当文件切分后多个子文件后,主键信息中包括多个主键,各个主键与各个子文件一一对应,可通过使用32位的哈希算法为文件1中的每个子文件对应的主键生成一个指纹,得到主键指纹。
步骤S204:将属于同一文件的主键指纹以及属于同一表格的主键指纹进行分组存储,得到包括有多组主键指纹数据的数据表分组信息。
在具体实施中,可将属于同一文件的主键指纹以及属于同一表格的主键指纹进行分组存储,从而得到包括有多组主键指纹数据的数据表分组信息,例如按照表→文件的两级存储结构存储所有的主键指纹信息,从而得到每个表的每个文件有哪些主键指纹,得到多组主键指纹的数据表分组信息。
例如以CRM业务为例,需要创建索引的数据表中存储有客户相关信息,其中主键信息包括客户姓名、身份证号、手机号、套餐信息、是否是VIP客户等。可通过对数据表进行分析,得到主键信息。
本实施例通过基于所述数据表信息得到各个数据表的数据信息对应的文件信息;对所述文件信息进行切分,得到多个子文件信息;根据多个所述子文件信息中的每个主键进行指纹生成,得到主键指纹,所述主键信息中的各个主键分别与各个所述子文件信息对应;将属于同一文件的主键指纹以及属于同一表格的主键指纹进行分组存储,得到包括有多组主键指纹数据的数据表分组信息,可对数据表中各个表中的文件进行分组整理,并生成每个主键的指纹,得到主键指纹,将主键指纹存储至对应的文件中,从而提高分组的效率。
参考图4,图4为本发明数据检索方法第三实施例的流程示意图。
基于上述第一实施例,本实施例数据检索方法所述步骤S30,具体包括:
步骤S301:获取数据表的数据量。
需要说明的是,在对数据表中的文件进行分段时,需要考虑数据的数据量,可对数据表中的数据进行分析,从而确定数据表的数据量。
步骤S302:通过所述数据量设置第一索引文件的分段规则。
在具体实施中,第一索引文件的分段规则可以某个合理的大小为分段界限,例如数据表的数据量为10GB,可设置第一索引文件的分段规则界限为2GB,则第一索引文件的分段规则为:每2GB的数据量进行分段。
步骤S303:通过所述分段规则对所述数据表中的文件进行分段,得到第一分段信息。
可以理解的是,通过设置分段规则,在数据量不断增长时以分段规则进行分段,从而得到以分段规则后的第一分段规则。
步骤S304:基于所述数据表分组信息获取所述第一分段信息中各文件对应的主键指纹。
在本实施例中,在分段的过程中除了考虑数据量,为了分段更加准确,还可考虑主键因素,则可通过数据表分组信息获取第一分段信息中各个文件对应的主键指纹。
步骤S305:将属于同一主键指纹的文件划分为同一分段,得到第二分段信息。
需要说明的是,可将属于同一主键的数据划分到同一个分段中,此时该分段的数据量可能大于或小于2GB,从而得到第二分段信息,第二分段信息为将同一主键指纹划分到同一个分段后的数据。
步骤S306:通过所述第二分段信息将所述数据表中各表的分组信息和各个文件的主键指纹存储至第一索引文件,得到第一索引信息。
在具体实施中,可通过第二分段信息将数据表中各表的分组信息和各个文件的主键指纹存储至第一索引文件,从而得到第一索引信息。通过将每张表的分组信息保存到对应表的第一索引文件中,将每个文件的主键指纹连续存放,从而得到的第一索引信息包括各个主键指纹所在的分段以及所在分段中的具体位置,即偏移量。
本实施例通过获取数据表的数据量;通过所述数据量设置第一索引文件的分段规则;通过所述分段规则对所述数据表中的文件进行分段,得到第一分段信息;基于所述数据表分组信息获取所述第一分段信息中各文件对应的主键指纹;将属于同一主键指纹的文件划分为同一分段,得到第二分段信息;通过所述第二分段信息将所述数据表中各表的分组信息和各个文件的主键指纹存储至第一索引文件,得到第一索引信息,通过对数据表中的文件进行分段,并将各个文件的主键指纹划分到一起,形成主键指纹的索引,从而在对数据进行检索时,快速通过第一索引信息进行文件索引。
参考图5,图5为本发明数据检索方法第四实施例的流程示意图。
基于上述第一实施例,本实施例数据检索方法所述步骤S40,具体包括:
步骤S401:基于所述第一索引信息得到数据表的数据信息对应的文件信息以及主键指纹数据。
需要说明的是,在完成第一索引信息的建立或更新后,可获取数据包中各个文件的文件信息以及主键指纹数据。
步骤S402:根据所述文件信息得到各个文件的文件号。
需要说明的是,文件信息包括有文件的文件号,文件号为各个文件的文件标识。
步骤S403:获取所述主键指纹数据的分段号和偏移量。
主键指纹数据包括有主键的分段号以及主键所在分段号的位置,即偏移量。因此可获取主键指纹数据的分段号和偏移量。主键指纹数据的分段号为每个文件包括的各个分段的分段标识,偏移量为各个主键指纹对应的数据在第一索引文件分段中的具体位置。
步骤S404:获取所述数据表中文件的主键指纹的字节长度,并将所述主键指纹的字节长度作为索引长度。
需要说明的是,数据表中文件的主键指纹的字节长度可直接获取主键指纹的信息得到,主键指纹的字节长度为索引长度。
步骤S405:对主键进行指纹值计算,得到主键范围。
需要说明的是,主键范围可为主键指纹组成的各自的指纹范围,因此可通过不同原理的哈希算法对主键进行计算,从而得到主键范围,例如通过3种不同原理的32位哈希算法,从而产生三个主键指纹组成各自的指纹范围,即每种哈希算法的最大指纹值和最小指纹值。
步骤S406:将所述文件号、所述分段号、所述偏移量、所述索引长度以及所述主键范围进行汇总,得到第二索引信息。
在具体实施中,可将文件号、分段号、偏移量、索引长度以及主键范围进行汇总,得到第二索引信息。
需要说明的是,在进行索引创建时,建立第一索引信息和第二索引信息可根据待处理的数据表的数量进行合适数量的并发线程,从而加快索引创建的处理速度以及资源扩展后的性能平滑升级。
本实施例基于所述第一索引信息得到数据表的数据信息对应的文件信息以及主键指纹数据;根据所述文件信息得到各个文件的文件号;获取所述主键指纹数据的分段号和偏移量;获取所述数据表中文件的主键指纹的字节长度,并将所述主键指纹的字节长度作为索引长度;对主键进行指纹值计算,得到主键范围;将所述文件号、所述分段号、所述偏移量、所述索引长度以及所述主键范围进行汇总,得到第二索引信息,通过第一索引信息得到数据表中的信息,从而将文件号、分段号、偏移量、索引长度以及主键范围进行汇总,从而构建第二索引信息,通过建立文件级索引的索引结构,从而提高检索的准确性。
在一些实施例中,所述获取数据表的主键信息和数据表信息之前,还包括:扫描原始压缩数据文件,得到数据文件信息;根据所述数据文件信息得到文件的文件号、文件名、文件存储的起始时间和结束时间;通过所述文件号、所述文件名、所述起始时间以及所述结束时间建立文件索引清单。
需要说明的是,可通过索引创建程序扫描上传的原始压缩数据文件,针对压缩后的文件,使用在线读压缩的方法,直接处理每条数据,得到数据文件信息,数据文件信息中包括有文件号、文件名、起始时间以及结束时间,因此可通过文件信息得到文件的文件号、文件名、文件存储的起始时间和结束时间,从而建立文件索引清单。从而便于文件索引清单对数据进行初始的检索,进一步提高检索的效率。
相应地,所述获取数据表的主键信息和数据表信息,包括:对所述数据文件信息进行解析,得到数据表的主键信息和数据表信息。
需要说明的是,当建立文件索引清单后,还可进一步建立更加精确的检索方式,因此可对数据文件信息进行解析,从而得到数据表的主键信息和数据表信息。
如图6所示,图6为数据索引创建原理示意图,通过获取原始压缩数据文件,对此原始压缩数据文件进行扫描,从而得到文件信息,并根据文件信息中的文件号、文件名、起始时间以及结束时间建立文件索引清单,在文件索引清单建立结束后,对数据文件信息进行解析,得到数据表的主键信息以及数据表信息,并通过对数据表信息中的各个表的文件进行切分,得到多个子文件,例如将表1中的文件切分为多个子文件,即文件1、文件2...文件n等,每个子文件均有对应的主键,通过对主键进行指纹生成,得到各个子文件的主键指纹,即键值指纹1、键值指纹2……键值指纹n等。通过将包括有多组主键指纹的数据表信息存储至第一索引文件,并通过分段规则对数据表中的文件进行分段,得到若干个分段的数据,并通过主键指纹再次进行划分,得到主键指纹数据块,即键值指纹数据块,从而得到第一索引信息,第一索引信息为主键指纹特征级的索引结构,通过第一索引信息得到数据表中各个文件的文件号,并根据主键指纹数据得到分段号、偏移量、索引长度以及主键范围等,从而通过上述数据建立第二索引信息,第二索引信息为文件特征级索引结构,以上索引创建流程中,从第一步到第四步均可分布式并行处理,文件索引清单以及主键指纹生成的过程可根据扫描数据文件数量,从而形成并发线程,前两步的汇总结果将按照表进行归类,第一索引信息和第二索引信息的创建过程可根据待处理的表数据的数量进行合适数量的并发线程,通过以上分布式的处理,可大大加快索引创建的处理速度,以及资源扩展后的性能平滑升级。
参考图7,图7为本发明数据检索方法第五实施例的流程示意图。
基于上述第一实施例,本实施例数据检索方法所述步骤S50,具体包括:
S501:获取检索信息以及待检索主键列表。
需要说明的是,当用户需要进行数据查询时,可获取用户的检索信息以及待检索主键列表,通过接收来自不同表的不同主键指纹的合并查询请求,从而以最大化利用数据检索一次性完成读取,提高总体处理效率。
S502:对所述待检索主键列表进行预处理,得到多个待检索主键指纹。
可以理解的是,对待检索主键列表进行预处理包括对待检索主键列表进行校验以及标准化,还包括使用三种不同类型的32位哈希算法对待检索主键进行计算,得到三个有效的待检索主键指纹,方便进行后续的检索。
S503:通过多个所述待检索主键指纹的范围在所述第二索引信息进行检索,得到初始索引分段。
在具体实施中,但需要进行检索时,可先在第二索引信息中进行检索,从而得到初始索引分段。
可选地,可通过计算的三个待检索主键指纹的范围进行计算,辨别待检索主键指纹能够命中的索引分段,通过三个键值指纹范围的方式进行索引分段定位,可较大程度缩小检索范围,进而提高检索效率。初始索引分段包含:文件号、分段号、偏移量、索引长度和所包含的检索主键指纹。
S504:使用文件索引清单及所述检索信息对所述初始索引分段进行过滤,得到过滤索引分段。
在具体实施中,通过使用提前建立的文件索引清单对初始索引分段进行过滤,即可通过用户检索指定的时间、来源、名称等信息,可以对得到的初始索引分段进行过滤,可以进一步缩小检索的范围,得到过滤索引分段。
S505:通过所述过滤索引分段中的偏移量以及索引长度在所述第一索引信息中进行检索,得到过滤索引段对应的主键指纹。
需要说明的是,当得到过滤索引分段后,可利用第一索引信息进行进一步检索,通过获取过滤索引分段中的偏移量、索引长度在第一索引信息中进行检索,快速从第一索引信息中找到过滤索引段对应的主键指纹。
S506:将所述过滤索引段对应的主键指纹与所述待检索主键指纹进行比较,将比较一致的主键指纹对应的文件作为初始数据信息。
应理解的是,通过将过滤索引段对应的主键指纹与待检索主键指纹进行比较,从而得到与待检索主键指纹一致的主键指纹,将此主键指纹对应的文件作为初始数据信息。
S507:基于所述初始数据信息在原始压缩数据文件中进行检索,得到目标数据信息。
需要说明的是,当得到初始数据信息后,可通过初始数据信息在原始压缩数据文件中进行检索,从而得到目标数据信息,例如对初始数据信息进行分组,从而根据分组后的数据信息在原始压缩数据文件中进行检索,得到目标数据信息。
进一步地,基于所述初始数据信息在原始压缩数据文件中进行检索,得到目标数据信息的步骤包括:获取所述初始数据信息的数据表;获取各主键指纹在所述数据表中的顺序,得到主键指纹的相对位置;建立所述主键指纹与所述相对位置之间的对应关系;基于预设分组结构和所述对应关系对所述初始数据信息进行分组,得到多组数据信息;基于所述多组数据信息在原始压缩数据文件中进行检索,得到目标数据信息。
需要说明的是,可获取初始数据信息中的数据表,并获取各个主键指纹在数据表中的顺序,得到主键指纹的相对位置,相对位置为在同一个数据文件中,该主键指纹出现在这张表数据的第几个。由于判定每条记录的数据表信息要大大快于解析完整的数据内容,因此利用该相对位置信息,可以在大数据量的数据文件中快速定位所需的记录,则可建立主键指纹与相对位置之间的对应关系,从而可通过对应关系以及预设分组结构对初始数据信息进行分组,得到多组数据信息。
预设分组结构为文件→表→主键指纹列表的三级存储结构,即每个数据文件的每张表在本次检索中涉及到的主键指纹清单,从而对初始数据信息进行分组,得到多组数据信息。
在具体实施中,当得到多组数据信息后,可通过多组数据信息在原始压缩文件中进行检索,从而可得到目标数据信息。
进一步地,基于所述多组数据信息在原始压缩数据文件中进行检索,得到目标数据信息的步骤包括:根据多组所述数据信息得到相对位置和文件信息;根据所述相对位置和所述文件信息在原始压缩数据文件中进行检索,得到参考数据信息;将所述参考数据信息的主键指纹与所述待检索主键指纹进行比较,将与所述待检索主键指纹不一致的主键指纹对应的参考数据信息剔除,得到目标数据信息。
当得到多组数据信息后,可在原始压缩数据文件中进行检索,从而通过文件信息和相对位置快速定位到相应的数据记录,得到目标数据信息。
本方案中的检索数据可为多种类型的数据,例如JSON格式、CSV格式、TSV格式等,本实施例对此不作限制,本实施例以JSON格式的数据为例进行说明。
如图8所示,图8为数据检索原理示意图,通过获取待检索主键列表,先进行数据表索引一级检索,即文件特征级检索,对所有待检索的主键进行校验和标准化,并将待检索主键按照前述三种预定的32位哈希算法进行计算,形成三个有效的检索主键指纹,以进行后续的检索。通过三个主键指纹的范围进行计算,辨别待检索主键能够命中的索引分段,如图8中的一级命中索引段,通过三个主键指纹范围的方式进行索引分段定位,可较大程度缩小检索范围,进而提高检索效率。索引分段信息包含:文件号、分段号、偏移量、索引长度和所包含的检索主键,并使用文件索引清单进行过滤。通过用户检索指定的时间、来源、名称等信息,可以对得到的索引分段进行过滤,可以进一步缩小检索的范围。使用二级数据表索引进一步检索。即,利用过滤得到的索引分段、偏移量和索引长度,可以快速从二级数据索引中找到当前索引段的所有主键指纹,并与待检索的主键指纹进行比较,进而得到命中的具体数据信息。将二级索引命中的数据信息进行分组。分组结构使用文件→表→键值指纹列表的三级存储结构,即每个数据文件的每张表在本次检索中涉及到的键值指纹清单。其中,非常关键的是,在第三层存储结构中,要形成相对位置和键值指纹的配对关系,这里的相对位置是指,在同一个数据文件中,该键值出现在所有这张表数据的第几个。由于在数据检索中,判定每条记录的数据表信息要大大快于解析完整的数据内容,因此利用该相对位置信息,可以在大数据量的数据文件中快速定位所需的记录。利用形成的分组信息,在对应的原始压缩数据文件中进行检索,通过文件信息和相对位置,快速定位到相应的数据记录。此外,由于哈希算法可能存在碰撞冲突,命中的主键指纹有非常小的可能是假性命中,因此,可以对检索到数据记录的主键进行二次核检,如果与待检索主键指纹的不匹配则剔除,即可避免这种假命中的问题。
通过在JSON数据压缩文件的基础上建立索引机制,存储空间占用降低,从而节约大量存储空间。且对于索引的建立和数据的检索均通过应用程序进行处理,无需专业的DBA人员进行维护管理。
通过多组数据信息得到相对位置和文件信息,并根据相对位置和文件信息在原始压缩数据文件中进行检索,得到参考数据信息,由于哈希算法可能存在碰撞冲突,因此得到的一致的主键指纹可能是假性命中,因此要对参考数据信息进行再次筛选,将参考数据信息的主键指纹进行二次核验,将与待检索主键指纹不一致的主键指纹所对应的参考数据信息进行剔除,从而得到剔除后的数据信息,即目标数据信息,提高检索的准确率。
本实施例通过获取检索信息以及待检索主键列表;对所述待检索主键列表进行预处理,得到多个待检索主键指纹;通过多个所述待检索主键指纹的范围在所述第二索引信息进行检索,得到初始索引分段;使用文件索引清单及所述检索信息对所述初始索引分段进行过滤,得到过滤索引分段;通过所述过滤索引分段中的偏移量以及索引长度在所述第一索引信息中进行检索,得到过滤索引段对应的主键指纹;将所述过滤索引段对应的主键指纹与所述待检索主键指纹进行比较,将比较一致的主键指纹对应的文件作为初始数据信息;基于所述初始数据信息在原始压缩数据文件中进行检索,得到目标数据信息,加快数据检索的处理速度和提高检索的准确率。
参照图9,图9为本发明数据检索装置第一实施例的结构框图。
如图9所示,本发明实施例提出的数据检索装置包括:
获取模块10,用于响应于索引创建指令,获取数据表的主键信息和数据表信息。
分解模块20,用于基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息。
更新模块30,用于通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,其中,所述第一索引信息包括各个主键指纹所在的分段及所在分段的偏移量。
汇总模块40,用于基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息。
检索模块50,用于基于所述第一索引信息和所述第二索引信息进行数据检索。
本实施例响应于索引创建指令,获取数据表的主键信息和数据表信息;基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息;通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,其中,所述第一索引信息包括各个主键指纹所在的分段及所在分段的偏移量;基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息;基于所述第一索引信息和所述第二索引信息进行数据检索,通过对数据表进行分段,从而以主键指纹在分段中的位置实现两级索引创建,大大提高索引处理效率,通过主键指纹的索引机制,符合业务检索需求,提高数据检索效率和准确率。
在一实施例中,所述分解模块20,还用于基于所述数据表信息得到各个数据表的数据信息对应的文件信息;对所述文件信息进行切分,得到多个子文件信息;根据多个所述子文件信息中的每个主键进行指纹生成,得到主键指纹,所述主键信息中的各个主键分别与各个所述子文件信息对应;将属于同一文件的主键指纹以及属于同一表格的主键指纹进行分组存储,得到包括有多组主键指纹数据的数据表分组信息。
在一实施例中,所述更新模块30,还用于获取数据表的数据量;通过所述数据量设置第一索引文件的分段规则;通过所述分段规则对所述数据表中的文件进行分段,得到第一分段信息;基于所述数据表分组信息获取所述第一分段信息中各文件对应的主键指纹;将属于同一主键指纹的文件划分为同一分段,得到第二分段信息;通过所述第二分段信息将所述数据表中各表的分组信息和各个文件的主键指纹存储至第一索引文件,得到第一索引信息。
在一实施例中,所述汇总模块40,还用于基于所述第一索引信息得到数据表的数据信息对应的文件信息以及主键指纹数据;根据所述文件信息得到各个文件的文件号;获取所述主键指纹数据的分段号和偏移量;获取所述数据表中文件的主键指纹的字节长度,并将所述主键指纹的字节长度作为索引长度;对主键进行指纹值计算,得到主键范围;将所述文件号、所述分段号、所述偏移量、所述索引长度以及所述主键范围进行汇总,得到第二索引信息。
在一实施例中,所述获取模块10,还用于扫描原始压缩数据文件,得到数据文件信息;根据所述数据文件信息得到文件的文件号、文件名、文件存储的起始时间和结束时间;通过所述文件号、所述文件名、所述起始时间以及所述结束时间建立文件索引清单;相应地,所述获取数据表的主键信息和数据表信息,包括:对所述数据文件信息进行解析,得到数据表的主键信息和数据表信息。
在一实施例中,所述检索模块50,还用于获取检索信息以及待检索主键列表;对所述待检索主键列表进行预处理,得到多个待检索主键指纹;通过多个所述待检索主键指纹的范围在所述第二索引信息进行检索,得到初始索引分段;使用文件索引清单及所述检索信息对所述初始索引分段进行过滤,得到过滤索引分段;通过所述过滤索引分段中的偏移量以及索引长度在所述第一索引信息中进行检索,得到过滤索引段对应的主键指纹;将所述过滤索引段对应的主键指纹与所述待检索主键指纹进行比较,将比较一致的主键指纹对应的文件作为初始数据信息;基于所述初始数据信息在原始压缩数据文件中进行检索,得到目标数据信息。
在一实施例中,所述检索模块50,还用于获取所述初始数据信息的数据表;获取各主键指纹在所述数据表中的顺序,得到主键指纹的相对位置;建立所述主键指纹与所述相对位置之间的对应关系;基于预设分组结构和所述对应关系对所述初始数据信息进行分组,得到多组数据信息;基于所述多组数据信息在原始压缩数据文件中进行检索,得到目标数据信息。
在一实施例中,所述检索模块50,还用于根据多组所述数据信息得到相对位置和文件信息;根据所述相对位置和所述文件信息在原始压缩数据文件中进行检索,得到参考数据信息;将所述参考数据信息的主键指纹与所述待检索主键指纹进行比较,将与所述待检索主键指纹不一致的主键指纹对应的参考数据信息剔除,得到目标数据信息。
此外,为实现上述目的,本发明还提出一种数据检索设备,所述数据检索设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据检索程序,所述数据检索程序配置为实现如上文所述的数据检索方法的步骤。
由于本数据检索设备采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据检索程序,所述数据检索程序被处理器执行时实现如上文所述的数据检索方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据检索方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (11)
1.一种数据检索方法,其特征在于,所述数据检索方法包括:
响应于索引创建指令,获取数据表的主键信息和数据表信息;
基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息;
通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,其中,所述第一索引信息包括各个主键指纹所在的分段及所在分段的偏移量;
基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息;
基于所述第一索引信息和所述第二索引信息进行数据检索。
2.如权利要求1所述的数据检索方法,其特征在于,所述基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息,包括:
基于所述数据表信息得到各个数据表的数据信息对应的文件信息;
对所述文件信息进行切分,得到多个子文件信息;
根据多个所述子文件信息中的每个主键进行指纹生成,得到主键指纹,所述主键信息中的各个主键分别与各个所述子文件信息对应;
将属于同一文件的主键指纹以及属于同一表格的主键指纹进行分组存储,得到包括有多组主键指纹数据的数据表分组信息。
3.如权利要求1所述的数据检索方法,其特征在于,所述通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,包括:
获取数据表的数据量;
通过所述数据量设置第一索引文件的分段规则;
通过所述分段规则对所述数据表中的文件进行分段,得到第一分段信息;
基于所述数据表分组信息获取所述第一分段信息中各文件对应的主键指纹;
将属于同一主键指纹的文件划分为同一分段,得到第二分段信息;
通过所述第二分段信息将所述数据表中各表的分组信息和各个文件的主键指纹存储至第一索引文件,得到第一索引信息。
4.如权利要求1所述的数据检索方法,其特征在于,所述基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息,包括:
基于所述第一索引信息得到数据表的数据信息对应的文件信息以及主键指纹数据;
根据所述文件信息得到各个文件的文件号;
获取所述主键指纹数据的分段号和偏移量;
获取所述数据表中文件的主键指纹的字节长度,并将所述主键指纹的字节长度作为索引长度;
对主键进行指纹值计算,得到主键范围;
将所述文件号、所述分段号、所述偏移量、所述索引长度以及所述主键范围进行汇总,得到第二索引信息。
5.如权利要求1至4中任一项所述的数据检索方法,其特征在于,所述获取数据表的主键信息和数据表信息之前,还包括:
扫描原始压缩数据文件,得到数据文件信息;
根据所述数据文件信息得到文件的文件号、文件名、文件存储的起始时间和结束时间;
通过所述文件号、所述文件名、所述起始时间以及所述结束时间建立文件索引清单;
相应地,所述获取数据表的主键信息和数据表信息,包括:
对所述数据文件信息进行解析,得到数据表的主键信息和数据表信息。
6.如权利要求1所述的数据检索方法,其特征在于,所述基于所述第一索引信息和所述第二索引信息进行数据检索,包括:
获取检索信息以及待检索主键列表;
对所述待检索主键列表进行预处理,得到多个待检索主键指纹;
通过多个所述待检索主键指纹的范围在所述第二索引信息进行检索,得到初始索引分段;
使用文件索引清单及所述检索信息对所述初始索引分段进行过滤,得到过滤索引分段;
通过所述过滤索引分段中的偏移量以及索引长度在所述第一索引信息中进行检索,得到过滤索引段对应的主键指纹;
将所述过滤索引段对应的主键指纹与所述待检索主键指纹进行比较,将比较一致的主键指纹对应的文件作为初始数据信息;
基于所述初始数据信息在原始压缩数据文件中进行检索,得到目标数据信息。
7.如权利要求6所述的数据检索方法,其特征在于,所述基于所述初始数据信息在原始压缩数据文件中进行检索,得到目标数据信息,包括:
获取所述初始数据信息的数据表;
获取各主键指纹在所述数据表中的顺序,得到主键指纹的相对位置;
建立所述主键指纹与所述相对位置之间的对应关系;
基于预设分组结构和所述对应关系对所述初始数据信息进行分组,得到多组数据信息;
基于所述多组数据信息在原始压缩数据文件中进行检索,得到目标数据信息。
8.如权利要求7所述的数据检索方法,其特征在于,所述基于所述多组数据信息在原始压缩数据文件中进行检索,得到目标数据信息,包括:
根据多组所述数据信息得到相对位置和文件信息;
根据所述相对位置和所述文件信息在原始压缩数据文件中进行检索,得到参考数据信息;
将所述参考数据信息的主键指纹与所述待检索主键指纹进行比较,将与所述待检索主键指纹不一致的主键指纹对应的参考数据信息剔除,得到目标数据信息。
9.一种数据检索装置,其特征在于,所述数据检索装置包括:
获取模块,用于响应于索引创建指令,获取数据表的主键信息和数据表信息;
分解模块,用于基于所述主键信息和所述数据表信息对所述数据表进行分解,得到包括有多组主键指纹数据的数据表分组信息;
更新模块,用于通过预设划分规则将所述数据表分组信息更新至第一索引文件中,得到第一索引信息,其中,所述第一索引信息包括各个主键指纹所在的分段及所在分段的偏移量;
汇总模块,用于基于所述第一索引信息将所述数据表的数据信息对应的文件信息和对应的主键指纹数据进行汇总,得到第二索引信息;
检索模块,用于基于所述第一索引信息和所述第二索引信息进行数据检索。
10.一种数据检索设备,其特征在于,所述数据检索设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据检索程序,所述数据检索程序配置为实现如权利要求1至8中任一项所述的数据检索方法。
11.一种存储介质,其特征在于,所述存储介质上存储有数据检索程序,所述数据检索程序被处理器执行时实现如权利要求1至8中任一项所述的数据检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310988218.1A CN117056368A (zh) | 2023-08-07 | 2023-08-07 | 数据检索方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310988218.1A CN117056368A (zh) | 2023-08-07 | 2023-08-07 | 数据检索方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117056368A true CN117056368A (zh) | 2023-11-14 |
Family
ID=88663773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310988218.1A Pending CN117056368A (zh) | 2023-08-07 | 2023-08-07 | 数据检索方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056368A (zh) |
-
2023
- 2023-08-07 CN CN202310988218.1A patent/CN117056368A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515878B (zh) | 一种数据索引的管理方法及装置 | |
CN110532347B (zh) | 一种日志数据处理方法、装置、设备和存储介质 | |
CN111611225A (zh) | 数据存储管理方法、查询方法、装置、电子设备及介质 | |
CN107357843B (zh) | 基于数据流结构的海量网络数据查找方法 | |
CN110245134B (zh) | 一种应用于搜索服务的增量同步方法 | |
CN114077680A (zh) | 一种图数据的存储方法、系统及装置 | |
CN109033295B (zh) | 超大数据集的合并方法及装置 | |
CN106844553B (zh) | 基于样本数据的数据探测和扩充方法及装置 | |
CN108287901A (zh) | 用于生成信息的方法和装置 | |
CN115576899B (zh) | 构建索引的方法和装置以及文件查找方法和装置 | |
CN110659283A (zh) | 数据标签处理方法、装置、计算机设备及存储介质 | |
CN109739854A (zh) | 一种数据存储方法及装置 | |
CN113849499A (zh) | 数据的查询方法、装置、存储介质及电子装置 | |
CN109657060B (zh) | 安全生产事故案例推送方法及系统 | |
CN112612790B (zh) | 卡号配置方法、装置、设备及计算机存储介质 | |
CN114398520A (zh) | 数据检索方法、系统、装置、电子设备及存储介质 | |
CN114238334A (zh) | 异构数据编码、解码方法和装置、计算机设备和存储介质 | |
CN115543993A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
EP4216076B1 (en) | Method and apparatus of processing an observation information, electronic device and storage medium | |
CN109783440B (zh) | 数据存储方法及数据检索方法、装置、介质、电子设备 | |
CN111782886A (zh) | 元数据管理的方法和装置 | |
CN117056368A (zh) | 数据检索方法、装置、设备及存储介质 | |
CN114564208A (zh) | 安卓应用程序的反编译方法、电子设备和介质 | |
CN114398373A (zh) | 应用于数据库存储的文件数据存储读取方法及装置 | |
CN114416741A (zh) | 基于多级索引的kv数据写入读取方法、装置及存储介质 |
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 |